From 1ce9c1386c2d0fc34e1c22908a6730d9e5bee058 Mon Sep 17 00:00:00 2001 From: Bill Church Date: Sat, 30 Nov 2024 03:01:19 +0000 Subject: [PATCH] feat: Confirmation before closing the tab #1 --- client/public/client.htm | 2 +- client/public/webssh2.bundle.js | 12 ++++++++---- client/public/webssh2.css | 2 +- client/src/js/dom.js | 6 +++++- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/client/public/client.htm b/client/public/client.htm index b4284a2..bfb8800 100644 --- a/client/public/client.htm +++ b/client/public/client.htm @@ -1,4 +1,4 @@ - + diff --git a/client/public/webssh2.bundle.js b/client/public/webssh2.bundle.js index f27ab33..c484db8 100644 --- a/client/public/webssh2.bundle.js +++ b/client/public/webssh2.bundle.js @@ -1,4 +1,4 @@ -/*! Version 0.2.25 - 2024-08-23T00:49:53.068Z - 9e6d282 */ +/*! Version 0.2.25 - 2024-11-30T02:52:43.517Z - adeadfa */ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ @@ -395,6 +395,7 @@ function initializeElements() { /** * Sets up event listeners for various elements in the application. + * @param {Object} config - The configuration object containing application settings */ function setupEventListeners(config) { debug('setupEventListeners') @@ -429,7 +430,10 @@ function setupEventListeners(config) { // Global event listeners window.addEventListener('resize', resize) document.addEventListener('keydown', keydown) - + // Add beforeunload event listener to prevent accidental tab closure + window.addEventListener('beforeunload', (event) => { + event.preventDefault() + }) passwordInput.addEventListener('keyup', detectCapsLock) passwordInput.addEventListener('keydown', detectCapsLock) } @@ -1096,7 +1100,7 @@ let sessionFooter = null */ async function initialize() { try { - console.log(`Initializing WebSSH2 client - ${"Version 0.2.25 - 2024-08-23T00:49:53.068Z - 9e6d282"}`) + console.log(`Initializing WebSSH2 client - ${"Version 0.2.25 - 2024-11-30T02:52:43.517Z - adeadfa"}`) config = (0,_utils_js__WEBPACK_IMPORTED_MODULE_11__.initializeConfig)() const basicAuthCookie = (0,_utils_js__WEBPACK_IMPORTED_MODULE_11__.getBasicAuthCookie)() @@ -25201,4 +25205,4 @@ var icons = { /******/ /******/ })() ; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,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O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7QUNqS0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLGtCQUFrQjtBQUNsQixZQUFZO0FBQ1osWUFBWTtBQUNaLGlCQUFpQjtBQUNqQixlQUFlO0FBQ2YsZUFBZTtBQUNmOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBOztBQUVBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FB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QUNBO0FBQ0E7QUFDQSxXQUFXLFNBQVM7QUFDcEIsWUFBWSxTQUFTO0FBQ3JCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWSxTQUFTO0FBQ3JCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWSxTQUFTO0FBQ3JCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWSxTQUFTO0FBQ3JCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksU0FBUztBQUNyQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsVUFBVTtBQUNyQixZQUFZLFNBQVM7QUFDckI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLDJCQUEyQjtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxJQUFJLE9BQU87QUFDWDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxrQkFBa0IsZ0JBQWdCO0FBQ2xDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQzNqQkE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcscUJBQXFCO0FBQ2hDLFdBQVcsUUFBUTtBQUNuQixXQUFXLFVBQVU7QUFDckI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUN0QkE7QUFDQTtBQUNBOztBQUVBLGFBQWEsbUJBQU8sQ0FBQyxrRUFBa0I7QUFDdkMsY0FBYyxtQkFBTyxDQUFDLGtHQUFtQjtBQUN6QyxjQUFjLG1CQUFPLENBQUMsa0RBQVU7QUFDaEMsU0FBUyxtQkFBTyxDQUFDLHVEQUFNO0FBQ3ZCLFdBQVcsbUJBQU8sQ0FBQyw4REFBZ0I7QUFDbkMsWUFBWSxtQkFBTyxDQUFDLGdGQUFPO0FBQzNCLGNBQWMsbUJBQU8sQ0FBQyw4RUFBUztBQUMvQixhQUFhLG1CQUFPLENBQUMsd0RBQWE7O0FBRWxDO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWSxRQUFRO0FBQ3BCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLG1DQUFtQztBQUN0RCxNQUFNO0FBQ04sbUJBQW1CLHFCQUFxQjtBQUN4QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGNBQWMsK0JBQStCO0FBQzdDO0FBQ0E7QUFDQTs7QUFFQSxjQUFjLDRCQUE0QjtBQUMxQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLHNCQUFzQjtBQUMxQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQjtB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Q0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBOEMsT0FBTztBQUNyRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFdBQVcsVUFBVTtBQUNyQixXQUFXLFFBQVE7QUFDbkIsWUFBWSxRQUFRO0FBQ3BCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixXQUFXLFVBQVU7QUFDckI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsTUFBTTtBQUNOO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx1Q0FBdUMsT0FBTztBQUM5QztBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7QUN6dUJBO0FBQ0E7QUFDQTs7QUFFQSxhQUFhLG1CQUFPLENBQUMsc0dBQWtCO0FBQ3ZDLGNBQWMsbUJBQU8sQ0FBQyxrR0FBbUI7O0FBRXpDO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixZQUFZLFdBQVc7QUFDdkI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7O0FDL0pBO0FBQ0E7QUFDQTs7QUFFQSxxQkFBcUIsbUJBQU8sQ0FBQywrR0FBb0I7QUFDakQsVUFBVSxtQkFBTyxDQUFDLGtIQUFlO0FBQ2pDLFlBQVksbUJBQU8sQ0FBQyxzSEFBaUI7QUFDckMsZ0JBQWdCLG1CQUFPLENBQUMsOEdBQWE7O0FBRXJDO0FBQ0E7QUFDQTs7QUFFQSxlQUFlO0FBQ2YsaUJBQWlCOztBQUVqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7OztBQ3BEQTtBQUNBO0FBQ0E7O0FBRUEsY0FBYyxtQkFBTyxDQUFDLDBHQUFXO0FBQ2pDLGNBQWMsbUJBQU8sQ0FBQyxvRUFBbUI7O0FBRXpDO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUscUJBQU0sbUJBQW1CLHFCQUFNO0FBQzlDOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixXQUFXLFVBQVU7QUFDckI7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7QUM5T0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHFCQUFxQixtQkFBTyxDQUFDLCtHQUFvQjtBQUNqRCxjQUFjLG1CQUFPLENBQUMsMEdBQVc7QUFDakMsY0FBYyxtQkFBTyxDQUFDLGtHQUFtQjtBQUN6QyxjQUFjLG1CQUFPLENBQUMsb0VBQW1CO0FBQ3pDLFlBQVksbUJBQU8sQ0FBQyxnRkFBTzs7QUFFM0I7QUFDQTtBQUNBOztBQUVBO0FBQ0Esc0JBQXNCOztBQUV0QjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFdBQVcsVUFBVTtBQUNyQjtBQUNBOztBQUVBO0FBQ0E7QUFDQSwyQkFBMkIsZ0RBQWdEO0FBQzNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGVBQWU7O0FBRWY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07O0FBRU47QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1YsMkRBQTJEO0FBQzNEO0FBQ0EsUUFBUTtBQUNSOztBQUVBO0FBQ0E7QUFDQSxNQUFNOztBQUVOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7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QUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsT0FBTztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFD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Q0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixrQkFBa0I7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7Ozs7Ozs7Ozs7O0FDM2xCQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLE9BQU87QUFDbkI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7O0FDbEJBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQztBQUNyQztBQUNBLEtBQUs7QUFDTCw0QkFBNEI7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHNDQUFzQztBQUN0QztBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBLDJDQUEyQztBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkM7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNB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Uzs7QUFFbEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsYUFBb0I7QUFDL0IsSUFBSTtBQUNKO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLG9EQUFvRDtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCxxREFBcUQ7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QsMERBQTBEO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELDBEQUEwRDtBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCw0RUFBNEU7O0FBRTVFO0FBQ0E7QUFDQSwyREFBMkQ7QUFDM0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7O0FBRUEsOENBQThDOztBQUU5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQyxHQUFHOztBQUVKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdDQUF3QyxRQUFRO0FBQ2hEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHlDQUF5QyxJQUFJO0FBQzdDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLDRDQUE0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O0FBRUg7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNENBQTRDLGlDQUFpQztBQUM3RSw0RkFBNEY7QUFDNUYsS0FBSztBQUNMLEdBQUc7QUFDSDs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0Esa0NBQWtDO0FBQ2xDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87O0FBRVA7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSyxJQUFJO0FBQ1Q7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHLElBQUk7QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHVEQUF1RDtBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLElBQUksV0FBVztBQUNmOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsbURBQW1ELDJFQUEyRTtBQUM5SDs7QUFFQTtBQUNBLHdCQUF3Qiw2Q0FBNkM7QUFDckU7O0FBRUEsZ0VBQWdFLGFBQWE7QUFDN0U7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0RBQXNEO0FBQ3REO0FBQ0EsOENBQThDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLGlEQUFpRDtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrRUFBa0U7QUFDbEU7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLFNBQVM7QUFDVCxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsV0FBVztBQUNYLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDREQUE0RDtBQUM1RDtBQUNBLG9EQUFvRDtBQUNwRDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDREQUE0RDtBQUM1RDtBQUNBLG9EQUFvRDtBQUNwRDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQSx1REFBdUQ7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLFNBQVM7QUFDVDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnRkFBZ0YsV0FBVztBQUMzRjtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXOztBQUVYOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsUUFBUTtBQUNSO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSwwREFBMEQ7QUFDMUQsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDO0FBQ3JDO0FBQ0E7QUFDQSx1Q0FBdUM7QUFDdkM7QUFDQTtBQUNBO0FBQ0Esd0RBQXdEO0FBQ3hELFdBQVc7QUFDWCxTQUFTO0FBQ1Q7QUFD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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQzFnR3pNO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUU0czJCOzs7Ozs7O1VDMXdTNXMyQjtVQUNBOztVQUVBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBOztVQUVBO1VBQ0E7O1VBRUE7VUFDQTtVQUNBOzs7OztXQ3RCQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0EsaUNBQWlDLFdBQVc7V0FDNUM7V0FDQTs7Ozs7V0NQQTtXQUNBO1dBQ0E7V0FDQTtXQUNBLHlDQUF5Qyx3Q0FBd0M7V0FDakY7V0FDQTtXQUNBOzs7OztXQ1BBO1dBQ0E7V0FDQTtXQUNBO1dBQ0EsR0FBRztXQUNIO1dBQ0E7V0FDQSxDQUFDOzs7OztXQ1BEOzs7OztXQ0FBO1dBQ0E7V0FDQTtXQUNBLHVEQUF1RCxpQkFBaUI7V0FDeEU7V0FDQSxnREFBZ0QsYUFBYTtXQUM3RDs7Ozs7VUVOQTtVQUNBO1VBQ0E7VUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vY2xpZW50L3NyYy9qcy9jbGllbnRsb2cuanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9jbGllbnQvc3JjL2pzL2RvbS5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL2NsaWVudC9zcmMvanMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9jbGllbnQvc3JjL2pzL3NldHRpbmdzLmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vY2xpZW50L3NyYy9qcy9zb2NrZXQuanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9jbGllbnQvc3JjL2pzL3N0YXRlLmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vY2xpZW50L3NyYy9qcy90ZXJtaW5hbC5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL2NsaWVudC9zcmMvanMvdXRpbHMuanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvQHh0ZXJtL2FkZG9uLWZpdC9saWIvYWRkb24tZml0LmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL0B4dGVybS94dGVybS9saWIveHRlcm0uanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvYWZ0ZXIvaW5kZXguanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvYXJyYXlidWZmZXIuc2xpY2UvaW5kZXguanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvYmFja28yL2luZGV4LmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL2Jsb2IvaW5kZXguanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvY29tcG9uZW50LWJpbmQvaW5kZXguanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvY29tcG9uZW50LWVtaXR0ZXIvaW5kZXguanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvY29tcG9uZW50LWluaGVyaXQvaW5kZXguanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvZGVidWcvbm9kZV9tb2R1bGVzL21zL2luZGV4LmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL2RlYnVnL3NyYy9icm93c2VyLmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL2RlYnVnL3NyYy9jb21tb24uanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvaGFzLWJpbmFyeTIvaW5kZXguanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvaGFzLWNvcnMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvaW5kZXhvZi9pbmRleC5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9pc2FycmF5L2luZGV4LmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL2pzbWFza2VyL2Rpc3QvanNtYXNrZXIubWluLmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vY2xpZW50L3NyYy9jc3MvbWVudS5jc3MiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9jbGllbnQvc3JjL2Nzcy9zdHlsZS5jc3MiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9jbGllbnQvc3JjL2Nzcy90ZXJtaW5hbC5jc3MiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvQHh0ZXJtL3h0ZXJtL2Nzcy94dGVybS5jc3MiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvcHVyZWNzcy9idWlsZC9wdXJlLmNzcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9tcy9pbmRleC5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9zb2NrZXQuaW8tY2xpZW50L2xpYi9pbmRleC5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9zb2NrZXQuaW8tY2xpZW50L2xpYi9tYW5hZ2VyLmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL3NvY2tldC5pby1jbGllbnQvbGliL29uLmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL3NvY2tldC5pby1jbGllbnQvbGliL3NvY2tldC5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9zb2NrZXQuaW8tY2xpZW50L2xpYi91cmwuanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvc29ja2V0LmlvLWNsaWVudC9ub2RlX21vZHVsZXMvYmFzZTY0LWFycmF5YnVmZmVyL2xpYi9iYXNlNjQtYXJyYXlidWZmZXIuanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvc29ja2V0LmlvLWNsaWVudC9ub2RlX21vZHVsZXMvY29tcG9uZW50LWVtaXR0ZXIvaW5kZXguanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvc29ja2V0LmlvLWNsaWVudC9ub2RlX21vZHVsZXMvZGVidWcvc3JjL2Jyb3dzZXIuanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvc29ja2V0LmlvLWNsaWVudC9ub2RlX21vZHVsZXMvZGVidWcvc3JjL2RlYnVnLmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL3NvY2tldC5pby1jbGllbnQvbm9kZV9tb2R1bGVzL2VuZ2luZS5pby1jbGllbnQvbGliL2luZGV4LmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL3NvY2tldC5pby1jbGllbnQvbm9kZV9tb2R1bGVzL2VuZ2luZS5pby1jbGllbnQvbGliL3NvY2tldC5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9zb2NrZXQuaW8tY2xpZW50L25vZGVfbW9kdWxlcy9lbmdpbmUuaW8tY2xpZW50L2xpYi90cmFuc3BvcnQuanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvc29ja2V0LmlvLWNsaWVudC9ub2RlX21vZHVsZXMvZW5naW5lLmlvLWNsaWVudC9saWIvdHJhbnNwb3J0cy9pbmRleC5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9zb2NrZXQuaW8tY2xpZW50L25vZGVfbW9kdWxlcy9lbmdpbmUuaW8tY2xpZW50L2xpYi90cmFuc3BvcnRzL3BvbGxpbmctanNvbnAuanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvc29ja2V0LmlvLWNsaWVudC9ub2RlX21vZHVsZXMvZW5naW5lLmlvLWNsaWVudC9saWIvdHJhbnNwb3J0cy9wb2xsaW5nLXhoci5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9zb2NrZXQuaW8tY2xpZW50L25vZGVfbW9kdWxlcy9lbmdpbmUuaW8tY2xpZW50L2xpYi90cmFuc3BvcnRzL3BvbGxpbmcuanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvc29ja2V0LmlvLWNsaWVudC9ub2RlX21vZHVsZXMvZW5naW5lLmlvLWNsaWVudC9saWIvdHJhbnNwb3J0cy93ZWJzb2NrZXQuanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvc29ja2V0LmlvLWNsaWVudC9ub2RlX21vZHVsZXMvZW5naW5lLmlvLWNsaWVudC9saWIveG1saHR0cHJlcXVlc3QuanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvc29ja2V0LmlvLWNsaWVudC9ub2RlX21vZHVsZXMvZW5naW5lLmlvLXBhcnNlci9saWIvYnJvd3Nlci5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9zb2NrZXQuaW8tY2xpZW50L25vZGVfbW9kdWxlcy9lbmdpbmUuaW8tcGFyc2VyL2xpYi9rZXlzLmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL3NvY2tldC5pby1jbGllbnQvbm9kZV9tb2R1bGVzL2VuZ2luZS5pby1wYXJzZXIvbGliL3V0ZjguanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvc29ja2V0LmlvLWNsaWVudC9ub2RlX21vZHVsZXMvcGFyc2Vxcy9pbmRleC5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9zb2NrZXQuaW8tY2xpZW50L25vZGVfbW9kdWxlcy9wYXJzZXVyaS9pbmRleC5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9zb2NrZXQuaW8tcGFyc2VyL2JpbmFyeS5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9zb2NrZXQuaW8tcGFyc2VyL2luZGV4LmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL3NvY2tldC5pby1wYXJzZXIvaXMtYnVmZmVyLmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL3NvY2tldC5pby1wYXJzZXIvbm9kZV9tb2R1bGVzL2RlYnVnL3NyYy9icm93c2VyLmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL3NvY2tldC5pby1wYXJzZXIvbm9kZV9tb2R1bGVzL2RlYnVnL3NyYy9kZWJ1Zy5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy90by1hcnJheS9pbmRleC5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy95ZWFzdC9pbmRleC5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC9pZ25vcmVkfC93b3Jrc3BhY2VzL3dlYnNzaDJfY2xpZW50L25vZGVfbW9kdWxlcy9zb2NrZXQuaW8tY2xpZW50L25vZGVfbW9kdWxlcy9lbmdpbmUuaW8tY2xpZW50L2xpYi90cmFuc3BvcnRzfHdzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1zdmctY29yZS9pbmRleC5tanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zL2luZGV4Lm1qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC93ZWJwYWNrL3J1bnRpbWUvY29tcGF0IGdldCBkZWZhdWx0IGV4cG9ydCIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC93ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvd2VicGFjay9ydW50aW1lL2dsb2JhbCIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50L3dlYnBhY2svcnVudGltZS9tYWtlIG5hbWVzcGFjZSBvYmplY3QiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvd2VicGFjay9iZWZvcmUtc3RhcnR1cCIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC93ZWJwYWNrL3N0YXJ0dXAiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvd2VicGFjay9hZnRlci1zdGFydHVwIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGNsaWVudFxuLy8gY2xpZW50L3NyYy9qcy9jbGllbnRsb2cuanNcblxuaW1wb3J0IGNyZWF0ZURlYnVnIGZyb20gJ2RlYnVnJ1xuaW1wb3J0IHsgc2Vzc2lvbkZvb3RlciwgaGFuZGxlRXJyb3IgfSBmcm9tICcuJ1xuaW1wb3J0IHtcbiAgdXBkYXRlc3RhcnRMb2dCdG5TdGF0ZSxcbiAgdG9nZ2xlRG93bmxvYWRMb2dCdG4sXG4gIHRyaWdnZXJEb3dubG9hZFxufSBmcm9tICcuL2RvbSdcbmltcG9ydCB7IGZvY3VzVGVybWluYWwgfSBmcm9tICcuL3Rlcm1pbmFsJ1xuaW1wb3J0IHsgZm9ybWF0RGF0ZSwgc2FuaXRpemVIdG1sIH0gZnJvbSAnLi91dGlscydcbmltcG9ydCB7IHN0YXRlLCB0b2dnbGVTdGF0ZSB9IGZyb20gJy4vc3RhdGUuanMnXG5cbmNvbnN0IGRlYnVnID0gY3JlYXRlRGVidWcoJ3dlYnNzaDItY2xpZW50OmNsaWVudGxvZycpXG5cbmNvbnN0IExPR19LRVkgPSAnd2Vic3NoMl9zZXNzaW9uX2xvZydcbmNvbnN0IExPR19EQVRFX0tFWSA9ICd3ZWJzc2gyX3Nlc3Npb25fbG9nX2RhdGUnXG5cbi8qKlxuICogQWRkcyBjb250ZW50IHRvIHRoZSBzZXNzaW9uIGxvZyBzdG9yZWQgaW4gTG9jYWxTdG9yYWdlLlxuICogQHBhcmFtIHtzdHJpbmd9IGRhdGEgLSBUaGUgZGF0YSB0byBsb2cuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRUb1Nlc3Npb25Mb2coZGF0YSkge1xuICBsZXQgc2Vzc2lvbkxvZyA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShMT0dfS0VZKSB8fCAnJ1xuXG4gIC8vIElmIHRoZSBsb2cgd2FzIHByZXZpb3VzbHkgZW1wdHkgYW5kIGRhdGEgaXMgYmVpbmcgYWRkZWQsIHNob3cgdGhlIGRvd25sb2FkIGJ1dHRvblxuICBpZiAoc2Vzc2lvbkxvZyA9PT0gJycpIHtcbiAgICB0b2dnbGVEb3dubG9hZExvZ0J0bih0cnVlKVxuICB9XG5cbiAgc2Vzc2lvbkxvZyArPSBkYXRhXG4gIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShMT0dfS0VZLCBzZXNzaW9uTG9nKVxuICAvLyBkZWJ1ZygnQWRkZWQgZGF0YSB0byBzZXNzaW9uIGxvZycpXG59XG5cbi8qKlxuICogQ2xlYXJzIHRoZSBzZXNzaW9uIGxvZyBmcm9tIExvY2FsU3RvcmFnZSBhbmQgb3B0aW9uYWxseSB0cmlnZ2VycyBhIGRvd25sb2FkLlxuICogQHBhcmFtIHtib29sZWFufSBhdXRvRG93bmxvYWQgLSBJZiB0cnVlLCBkb3dubG9hZHMgdGhlIGxvZyBiZWZvcmUgY2xlYXJpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbGVhckxvZyhhdXRvRG93bmxvYWQgPSBmYWxzZSkge1xuICBjb25zdCBzZXNzaW9uTG9nID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKExPR19LRVkpXG4gIGNvbnN0IGxvZ2dlZERhdGEgPSBzdGF0ZS5sb2dnZWREYXRhXG5cbiAgY29uc3QgZGVsZXRlTG9nID0gd2luZG93LmNvbmZpcm0oJ0NsZWFyIHRoZSBzZXNzaW9uIGxvZz8nKVxuXG4gIGlmIChzZXNzaW9uTG9nICYmIGRlbGV0ZUxvZykge1xuICAgIC8vIENsZWFyIHRoZSBzZXNzaW9uIGxvZyBmcm9tIExvY2FsU3RvcmFnZVxuICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShMT0dfS0VZKVxuICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShMT0dfREFURV9LRVkpXG4gICAgdG9nZ2xlRG93bmxvYWRMb2dCdG4oZmFsc2UpXG4gICAgZGVidWcoJ1Nlc3Npb24gbG9nIGNsZWFyZWQgZnJvbSBsb2NhbFN0b3JhZ2UnKVxuICB9IGVsc2Uge1xuICAgIGRlYnVnKCdObyBzZXNzaW9uIGxvZyBmb3VuZCB0byBjbGVhcicpXG4gIH1cbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSBzYXZlZCBzZXNzaW9uIGxvZyBleGlzdHMgYW5kIHByb21wdHMgdGhlIHVzZXIgdG8gZG93bmxvYWQgaXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGVja1NhdmVkU2Vzc2lvbkxvZygpIHtcbiAgY29uc3Qgc2F2ZWRMb2cgPSB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oTE9HX0tFWSlcbiAgY29uc3Qgc2F2ZWREYXRlID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKExPR19EQVRFX0tFWSlcblxuICBpZiAoc2F2ZWRMb2cgJiYgc2F2ZWREYXRlKSB7XG4gICAgY29uc3QgcmVzdG9yZUxvZyA9IHdpbmRvdy5jb25maXJtKFxuICAgICAgYEEgc2F2ZWQgc2Vzc2lvbiBsb2cgZnJvbSAke25ldyBEYXRlKHNhdmVkRGF0ZSkudG9Mb2NhbGVTdHJpbmcoKX0gd2FzIGZvdW5kLiBXb3VsZCB5b3UgbGlrZSB0byBkb3dubG9hZCBpdD9gXG4gICAgKVxuXG4gICAgaWYgKHJlc3RvcmVMb2cpIHtcbiAgICAgIGNvbnN0IGZpbGVuYW1lID0gYFdlYlNTSDItUmVjb3ZlcmVkLSR7Zm9ybWF0RGF0ZShuZXcgRGF0ZShzYXZlZERhdGUpKS5yZXBsYWNlKC9bLzpcXHNAXS9nLCAnJyl9LmxvZ2BcbiAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbc2FuaXRpemVIdG1sKHNhdmVkTG9nKV0sIHsgdHlwZTogJ3RleHQvcGxhaW4nIH0pXG5cbiAgICAgIHRyaWdnZXJEb3dubG9hZChibG9iLCBmaWxlbmFtZSlcblxuICAgICAgY2xlYXJMb2coKVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFRvZ2dsZXMgb3Igc2V0cyB0aGUgc2Vzc2lvbiBsb2cgZW5hYmxlIHN0YXRlIGFuZCB1cGRhdGVzIHRoZSBsb2cgYnV0dG9uIHN0YXRlLlxuICogSWYgYGZvcmNlRW5hYmxlYCBpcyBwcm92aWRlZCwgdGhlIGZ1bmN0aW9uIHdpbGwgZGVmaW5pdGl2ZWx5IGVuYWJsZSBvciBkaXNhYmxlXG4gKiB0aGUgc2Vzc2lvbiBsb2cgYmFzZWQgb24gdGhlIGJvb2xlYW4gdmFsdWUuIElmIGBmb3JjZUVuYWJsZWAgaXMgbm90IHByb3ZpZGVkLFxuICogdGhlIGZ1bmN0aW9uIHdpbGwgdG9nZ2xlIHRoZSBjdXJyZW50IHN0YXRlLlxuICpcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW2ZvcmNlRW5hYmxlXSAtIE9wdGlvbmFsIGJvb2xlYW4gdG8gZm9yY2UgdGhlIGxvZyB0byBiZSBlbmFibGVkIG9yIGRpc2FibGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9nZ2xlTG9nKGZvcmNlRW5hYmxlKSB7XG4gIGxldCBzZXNzaW9uTG9nRW5hYmxlXG5cbiAgaWYgKHR5cGVvZiBmb3JjZUVuYWJsZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgc2Vzc2lvbkxvZ0VuYWJsZSA9IGZvcmNlRW5hYmxlXG4gICAgc3RhdGUuc2Vzc2lvbkxvZ0VuYWJsZSA9IHNlc3Npb25Mb2dFbmFibGVcbiAgfSBlbHNlIHtcbiAgICBzZXNzaW9uTG9nRW5hYmxlID0gdG9nZ2xlU3RhdGUoJ3Nlc3Npb25Mb2dFbmFibGUnKVxuICB9XG5cbiAgY29uc3QgeyBsb2dnZWREYXRhIH0gPSBzdGF0ZVxuXG4gIGlmIChzZXNzaW9uTG9nRW5hYmxlKSB7XG4gICAgZGVidWcoJ1N0YXJ0aW5nIGxvZycpXG4gICAgc3RhdGUubG9nZ2VkRGF0YSA9IHRydWVcbiAgICB1cGRhdGVzdGFydExvZ0J0blN0YXRlKHRydWUpXG4gICAgY29uc3QgbG9nU3RhcnRNZXNzYWdlID0gYExvZyBTdGFydCBmb3IgJHtzZXNzaW9uRm9vdGVyfSAtICR7Zm9ybWF0RGF0ZShuZXcgRGF0ZSgpKX1cXHJcXG5cXHJcXG5gXG4gICAgYWRkVG9TZXNzaW9uTG9nKGxvZ1N0YXJ0TWVzc2FnZSlcbiAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oTE9HX0RBVEVfS0VZLCBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkpXG4gIH0gZWxzZSB7XG4gICAgZGVidWcoJ1N0b3BwaW5nIGxvZycpXG4gICAgdXBkYXRlc3RhcnRMb2dCdG5TdGF0ZShmYWxzZSlcbiAgICBpZiAobG9nZ2VkRGF0YSkge1xuICAgICAgY29uc3QgbG9nRW5kTWVzc2FnZSA9IGBcXHJcXG5cXHJcXG5Mb2cgRW5kIGZvciAke3Nlc3Npb25Gb290ZXJ9IC0gJHtmb3JtYXREYXRlKG5ldyBEYXRlKCkpfVxcclxcbmBcbiAgICAgIGFkZFRvU2Vzc2lvbkxvZyhsb2dFbmRNZXNzYWdlKVxuICAgIH0gZWxzZSB7XG4gICAgICBkZWJ1ZygnTG9nIHdhcyBub3QgcnVubmluZywgcmVzZXR0aW5nIFVJJylcbiAgICB9XG4gIH1cblxuICBmb2N1c1Rlcm1pbmFsKClcbn1cblxuLyoqXG4gKiBEb3dubG9hZHMgdGhlIHNlc3Npb24gbG9nLlxuICogQHBhcmFtIHtib29sZWFufSBbYXV0b0Rvd25sb2FkPWZhbHNlXSAtIFdoZXRoZXIgdG8gYXV0b21hdGljYWxseSBkb3dubG9hZCB0aGUgbG9nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZG93bmxvYWRMb2coYXV0b0Rvd25sb2FkID0gZmFsc2UpIHtcbiAgY29uc3Qgc2Vzc2lvbkxvZyA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShMT0dfS0VZKVxuICBjb25zdCBsb2dnZWREYXRhID0gc3RhdGUubG9nZ2VkRGF0YVxuXG4gIGlmIChzZXNzaW9uTG9nICYmIGxvZ2dlZERhdGEpIHtcbiAgICBjb25zdCBmaWxlbmFtZSA9IGBXZWJTU0gyLSR7Zm9ybWF0RGF0ZShuZXcgRGF0ZSgpKS5yZXBsYWNlKC9bLzpcXHNAXS9nLCAnJyl9LmxvZ2BcbiAgICBjb25zdCBjbGVhbkxvZyA9IHNhbml0aXplSHRtbChzZXNzaW9uTG9nKVxuICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbY2xlYW5Mb2ddLCB7IHR5cGU6ICd0ZXh0L3BsYWluJyB9KVxuXG4gICAgaWYgKGF1dG9Eb3dubG9hZCkge1xuICAgICAgdHJpZ2dlckRvd25sb2FkKGJsb2IsIGZpbGVuYW1lKVxuICAgIH0gZWxzZSB7XG4gICAgICB0cnkge1xuICAgICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oTE9HX0tFWSwgY2xlYW5Mb2cpXG4gICAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShMT0dfREFURV9LRVksIG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSlcbiAgICAgICAgZGVidWcoJ1Nlc3Npb24gbG9nIHNhdmVkIHRvIGxvY2FsU3RvcmFnZScpXG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGhhbmRsZUVycm9yKCdGYWlsZWQgdG8gc2F2ZSBzZXNzaW9uIGxvZyB0byBsb2NhbFN0b3JhZ2U6JywgZSlcbiAgICAgICAgdHJpZ2dlckRvd25sb2FkKGJsb2IsIGZpbGVuYW1lKSAvLyBGYWxsYmFjayB0byBkb3dubG9hZCBpZiBzYXZpbmcgZmFpbHNcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIGNsaWVudFxuLy8gY2xpZW50L3NyYy9qcy9kb20uanNcbi8qKlxuICogQG1vZHVsZSBkb21cbiAqIEBkZXNjcmlwdGlvbiBIYW5kbGVzIERPTSBtYW5pcHVsYXRpb25zIGFuZCBVSSB1cGRhdGVzIGZvciBXZWJTU0gyIGNsaWVudFxuICovXG5cbmltcG9ydCBjcmVhdGVEZWJ1ZyBmcm9tICdkZWJ1ZydcbmltcG9ydCB7XG4gIHNhbml0aXplQ29sb3IsXG4gIHNhbml0aXplSHRtbCxcbiAgdmFsaWRhdGVOdW1iZXIsXG4gIHZhbGlkYXRlQmVsbFN0eWxlXG59IGZyb20gJy4vdXRpbHMnXG5cbmltcG9ydCB7IGNvbm5lY3RUb1NlcnZlciB9IGZyb20gJy4vaW5kZXguanMnXG5cbmltcG9ydCB7IGVtaXREYXRhLCBlbWl0UmVzaXplLCByZWF1dGgsIHJlcGxheUNyZWRlbnRpYWxzIH0gZnJvbSAnLi9zb2NrZXQuanMnXG5cbmltcG9ydCB7IGRvd25sb2FkTG9nLCBjbGVhckxvZywgdG9nZ2xlTG9nIH0gZnJvbSAnLi9jbGllbnRsb2cuanMnXG5cbmltcG9ydCB7XG4gIGdldExvY2FsVGVybWluYWxTZXR0aW5ncyxcbiAgaW5pdGlhbGl6ZVNldHRpbmdzLFxuICBzYXZlVGVybWluYWxTZXR0aW5nc1xufSBmcm9tICcuL3NldHRpbmdzLmpzJ1xuXG5pbXBvcnQgeyBzdGF0ZSB9IGZyb20gJy4vc3RhdGUuanMnXG5cbmltcG9ydCB7XG4gIGdldFRlcm1pbmFsU2V0dGluZ3MsXG4gIGFwcGx5VGVybWluYWxTZXR0aW5ncyxcbiAgcmVzaXplVGVybWluYWxcbn0gZnJvbSAnLi90ZXJtaW5hbC5qcydcblxuY29uc3QgZGVidWcgPSBjcmVhdGVEZWJ1Zygnd2Vic3NoMi1jbGllbnQ6ZG9tJylcbmxldCBlbGVtZW50cyA9IHt9XG5sZXQgdGVybVxuXG4vKipcbiAqIENsb3NlcyB0aGUgZXJyb3IgbW9kYWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoaWRlRXJyb3JEaWFsb2coKSB7XG4gIGNvbnN0IHsgZXJyb3JEaWFsb2cgfSA9IGVsZW1lbnRzXG4gIGlmIChlcnJvckRpYWxvZykge1xuICAgIGVycm9yRGlhbG9nLmNsb3NlKClcbiAgfVxufVxuXG4vKipcbiAqIENsb3NlcyB0aGUgcHJvbXB0IG1vZGFsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGlkZVByb21wdERpYWxvZygpIHtcbiAgY29uc3QgeyBwcm9tcHREaWFsb2cgfSA9IGVsZW1lbnRzXG4gIGlmIChwcm9tcHREaWFsb2cpIHtcbiAgICBwcm9tcHREaWFsb2cuY2xvc2UoKVxuICB9XG59XG5cbi8qKlxuICogRmlsbHMgdGhlIGxvZ2luIGZvcm0gd2l0aCB0aGUgcHJvdmlkZWQgU1NIIGNvbmZpZ3VyYXRpb24uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHNzaENvbmZpZyAtIFRoZSBTU0ggY29uZmlndXJhdGlvbiBvYmplY3QuXG4gKiBAcGFyYW0ge3N0cmluZ30gc3NoQ29uZmlnLmhvc3QgLSBUaGUgU1NIIGhvc3QuXG4gKiBAcGFyYW0ge251bWJlcn0gc3NoQ29uZmlnLnBvcnQgLSBUaGUgU1NIIHBvcnQuXG4gKiBAcGFyYW0ge3N0cmluZ30gc3NoQ29uZmlnLnVzZXJuYW1lIC0gVGhlIFNTSCB1c2VybmFtZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbGxMb2dpbkZvcm0oc3NoQ29uZmlnKSB7XG4gIGNvbnN0IHsgaG9zdElucHV0LCBsb2dpbkZvcm0sIHBvcnRJbnB1dCwgdXNlcm5hbWVJbnB1dCB9ID0gZWxlbWVudHNcbiAgY29uc3QgeyBob3N0LCBwb3J0LCB1c2VybmFtZSB9ID0gc3NoQ29uZmlnXG5cbiAgaWYgKGxvZ2luRm9ybSkge1xuICAgIGRlYnVnKCdmaWxsTG9naW5Gb3JtJywgc3NoQ29uZmlnKVxuICAgIGlmIChob3N0SW5wdXQpIGhvc3RJbnB1dC52YWx1ZSA9IGhvc3QgfHwgJydcbiAgICBpZiAocG9ydElucHV0KSBwb3J0SW5wdXQudmFsdWUgPSBwb3J0IHx8ICcnXG4gICAgaWYgKHVzZXJuYW1lSW5wdXQpIHVzZXJuYW1lSW5wdXQudmFsdWUgPSB1c2VybmFtZSB8fCAnJ1xuICB9IGVsc2Uge1xuICAgIGNvbnNvbGUuZXJyb3IoJ2ZpbGxMb2dpbkZvcm06IGVsZW1lbnQgbm90IGZvdW5kJylcbiAgfVxufVxuXG4vKipcbiAqIEhpZGVzIHRoZSBsb2dpbiBtb2RhbFxuICovXG5leHBvcnQgZnVuY3Rpb24gaGlkZWxvZ2luRGlhbG9nKCkge1xuICBkZWJ1ZygnaGlkZWxvZ2luRGlhbG9nJylcbiAgZWxlbWVudHMubG9naW5EaWFsb2cuY2xvc2UoKVxufVxuXG4vKipcbiAqIEhpZGVzIHRoZSByZWNvbm5lY3QgYnV0dG9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoaWRlUmVjb25uZWN0QnRuKCkge1xuICB0b2dnbGVWaXNpYmlsaXR5KGVsZW1lbnRzLmJhY2tkcm9wLCBmYWxzZSlcbiAgaGlkZUJ1dHRvbihlbGVtZW50cy5yZWNvbm5lY3RCdXR0b24sIHRydWUpXG59XG5cbi8qKlxuICogSW5pdGlhbGl6ZXMgRE9NIGVsZW1lbnRzIGFuZCBzdG9yZXMgcmVmZXJlbmNlcyB0byB0aGVtXG4gKiBAdGhyb3dzIFdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgYSBjcml0aWNhbCBlbGVtZW50IGlzIG5vdCBmb3VuZFxuICogQHJldHVybnMge09iamVjdH0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgcmVmZXJlbmNlcyB0byBET00gZWxlbWVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVFbGVtZW50cygpIHtcbiAgZGVidWcoJ2luaXRpYWxpemVFbGVtZW50cycpXG4gIGNvbnN0IGVsZW1lbnRJZHMgPSBbXG4gICAgJ2JhY2tkcm9wJyxcbiAgICAnY2xlYXJMb2dCdG4nLFxuICAgICdjbG9zZXRlcm1pbmFsU2V0dGluZ3NCdG4nLFxuICAgICdkb3dubG9hZExvZ0J0bicsXG4gICAgJ2Ryb3B1cENvbnRlbnQnLFxuICAgICdlcnJvckRpYWxvZycsXG4gICAgJ2Vycm9yTWVzc2FnZScsXG4gICAgJ2Zvb3RlcicsXG4gICAgJ2hlYWRlcicsXG4gICAgJ2hvc3RJbnB1dCcsXG4gICAgJ2xvZ2luRGlhbG9nJyxcbiAgICAnbG9naW5Gb3JtJyxcbiAgICAncGFzc3dvcmRJbnB1dCcsXG4gICAgJ3BvcnRJbnB1dCcsXG4gICAgJ3Byb21wdERpYWxvZycsXG4gICAgJ3Byb21wdE1lc3NhZ2UnLFxuICAgICdyZWF1dGhCdG4nLFxuICAgICdyZWF1dGhCdG4nLFxuICAgICdyZWNvbm5lY3RCdXR0b24nLFxuICAgICdyZXBsYXlDcmVkZW50aWFsc0J0bicsXG4gICAgJ3N0YXJ0TG9nQnRuJyxcbiAgICAnc3RhdHVzJyxcbiAgICAnc3RvcExvZ0J0bicsXG4gICAgJ3N0b3BMb2dCdG4nLFxuICAgICd0ZXJtaW5hbENvbnRhaW5lcicsXG4gICAgJ3Rlcm1pbmFsU2V0dGluZ3NCdG4nLFxuICAgICd0ZXJtaW5hbFNldHRpbmdzRGlhbG9nJyxcbiAgICAndGVybWluYWxTZXR0aW5nc0Zvcm0nLFxuICAgICd1c2VybmFtZUlucHV0JyxcbiAgICAnbG9naW5TZXR0aW5nc0J0bidcbiAgXVxuXG4gIC8vIERlZmluZSBjcml0aWNhbCBlbGVtZW50cyB0aGF0IG11c3QgYmUgcHJlc2VudFxuICBjb25zdCBjcml0aWNhbEVsZW1lbnRzID0gW1xuICAgICd0ZXJtaW5hbENvbnRhaW5lcicsXG4gICAgJ2xvZ2luRm9ybScsXG4gICAgJ2Vycm9yRGlhbG9nJyxcbiAgICAncHJvbXB0RGlhbG9nJ1xuICBdXG5cbiAgZWxlbWVudHMgPSB7fVxuXG4gIGVsZW1lbnRJZHMuZm9yRWFjaCgoaWQpID0+IHtcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpXG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIGVsZW1lbnRzW2lkXSA9IGVsZW1lbnRcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGNyaXRpY2FsRWxlbWVudHMuaW5jbHVkZXMoaWQpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgaW5pdGlhbGl6ZUVsZW1lbnRzOiBDcml0aWNhbCBlbGVtZW50IHdpdGggaWQgJyR7aWR9JyBub3QgZm91bmRgXG4gICAgICAgIClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgaW5pdGlhbGl6ZUVsZW1lbnRzOiBFbGVtZW50IHdpdGggaWQgJyR7aWR9JyBub3QgZm91bmRgKVxuICAgICAgfVxuICAgIH1cbiAgfSlcblxuICBpZiAoZWxlbWVudHMuZXJyb3JEaWFsb2cpIHtcbiAgICBjb25zdCBjbG9zZUJ0biA9IGVsZW1lbnRzLmVycm9yRGlhbG9nLnF1ZXJ5U2VsZWN0b3IoJy5jbG9zZS1idXR0b24nKVxuICAgIGlmIChjbG9zZUJ0bikge1xuICAgICAgY2xvc2VCdG4ub25jbGljayA9ICgpID0+IHtcbiAgICAgICAgaGlkZUVycm9yRGlhbG9nKClcbiAgICAgIH1cbiAgICAgIGVsZW1lbnRzLmVycm9yRGlhbG9nLmFkZEV2ZW50TGlzdGVuZXIoJ2Nsb3NlJywgKCkgPT4ge1xuICAgICAgICBpZiAoZWxlbWVudHMucmVjb25uZWN0QnV0dG9uKSB7XG4gICAgICAgICAgZWxlbWVudHMucmVjb25uZWN0QnV0dG9uLmZvY3VzKClcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBpZiAoZWxlbWVudHMucHJvbXB0RGlhbG9nKSB7XG4gICAgY29uc3QgY2xvc2VCdG4gPSBlbGVtZW50cy5wcm9tcHREaWFsb2cucXVlcnlTZWxlY3RvcignLmNsb3NlLWJ1dHRvbicpXG4gICAgaWYgKGNsb3NlQnRuKSB7XG4gICAgICBjbG9zZUJ0bi5vbmNsaWNrID0gKCkgPT4ge1xuICAgICAgICBoaWRlUHJvbXB0RGlhbG9nKClcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGVsZW1lbnRzXG59XG5cbi8qKlxuICogU2V0cyB1cCBldmVudCBsaXN0ZW5lcnMgZm9yIHZhcmlvdXMgZWxlbWVudHMgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBFdmVudExpc3RlbmVycyhjb25maWcpIHtcbiAgZGVidWcoJ3NldHVwRXZlbnRMaXN0ZW5lcnMnKVxuXG4gIC8vIEV2ZW50IGhhbmRsZXJzIGZvciBlbGVtZW50c1xuICBjb25zdCBlbGVtZW50SGFuZGxlcnMgPSB7XG4gICAgY2xlYXJMb2dCdG46IGNsZWFyTG9nLFxuICAgIGNsb3NldGVybWluYWxTZXR0aW5nc0J0bjogaGlkZXRlcm1pbmFsU2V0dGluZ3NEaWFsb2csXG4gICAgZG93bmxvYWRMb2dCdG46IGRvd25sb2FkTG9nLFxuICAgIGxvZ2luRm9ybTogZm9ybVN1Ym1pdCxcbiAgICBsb2dpblNldHRpbmdzQnRuOiAoKSA9PiBzaG93dGVybWluYWxTZXR0aW5nc0RpYWxvZyhjb25maWcpLFxuICAgIHJlYXV0aEJ0bjogcmVhdXRoLFxuICAgIHJlcGxheUNyZWRlbnRpYWxzQnRuOiByZXBsYXlDcmVkZW50aWFscyxcbiAgICBzdGFydExvZ0J0bjogdG9nZ2xlTG9nLFxuICAgIHN0b3BMb2dCdG46IHRvZ2dsZUxvZyxcbiAgICB0ZXJtaW5hbFNldHRpbmdzQnRuOiAoKSA9PiBzaG93dGVybWluYWxTZXR0aW5nc0RpYWxvZyhjb25maWcpLFxuICAgIHRlcm1pbmFsU2V0dGluZ3NGb3JtOiAoZXZlbnQpID0+IGhhbmRsZXRlcm1pbmFsU2V0dGluZ3NTdWJtaXQoZXZlbnQsIGNvbmZpZylcbiAgfVxuXG4gIE9iamVjdC5lbnRyaWVzKGVsZW1lbnRIYW5kbGVycykuZm9yRWFjaCgoW2VsZW1lbnROYW1lLCBoYW5kbGVyXSkgPT4ge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBlbGVtZW50c1tlbGVtZW50TmFtZV1cbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgY29uc3QgZXZlbnRUeXBlID0gWydsb2dpbkZvcm0nLCAndGVybWluYWxTZXR0aW5nc0Zvcm0nXS5pbmNsdWRlcyhcbiAgICAgICAgZWxlbWVudE5hbWVcbiAgICAgIClcbiAgICAgICAgPyAnc3VibWl0J1xuICAgICAgICA6ICdjbGljaydcbiAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIpXG4gICAgfVxuICB9KVxuXG4gIC8vIEdsb2JhbCBldmVudCBsaXN0ZW5lcnNcbiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHJlc2l6ZSlcbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGtleWRvd24pXG5cbiAgcGFzc3dvcmRJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIGRldGVjdENhcHNMb2NrKVxuICBwYXNzd29yZElucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBkZXRlY3RDYXBzTG9jaylcbn1cblxuLyoqXG4gKiBTaG93cyBhbiBlcnJvciBtb2RhbFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2UgLSBUaGUgZXJyb3IgbWVzc2FnZSB0byBkaXNwbGF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaG93RXJyb3JEaWFsb2cobWVzc2FnZSkge1xuICAvLyB0b2RvOiBoYW5kbGUgY2xlYXJpbmcgc3RhdHVzIGJhciB3aGVuIG5vbi1jcml0aWNhbCBlcnJvciBvY2N1cnNcbiAgLy8gcG90ZW50aWFsbHkgYWRkIGEgZmxhZyB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gY3JpdGljYWwgYW5kIG5vbi1jcml0aWNhbCBlcnJvcnNcbiAgLy8gb3IgY3JlYXRlIGEgZGlmZmVyZW50IGZ1bmN0aW9uL2V2ZW50IGZvciB3YXJuaW5ncy4uLlxuICBjb25zdCB7IGVycm9yTWVzc2FnZSwgZXJyb3JEaWFsb2cgfSA9IGVsZW1lbnRzXG5cbiAgaWYgKGVycm9yTWVzc2FnZSAmJiBlcnJvckRpYWxvZykge1xuICAgIGRlYnVnKGBFcnJvciBtb2RhbCBzaG93biB3aXRoIG1lc3NhZ2U6ICR7bWVzc2FnZX1gKVxuICAgIGVycm9yTWVzc2FnZS50ZXh0Q29udGVudCA9IG1lc3NhZ2VcbiAgICBlcnJvckRpYWxvZy5zaG93TW9kYWwoKVxuICAgIHVwZGF0ZUVsZW1lbnQoJ3N0YXR1cycsICdFUlJPUicsICdyZWQnKVxuICB9IGVsc2Uge1xuICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIG1vZGFsIG9yIGVycm9yIG1lc3NhZ2UgZWxlbWVudCBub3QgZm91bmQnKVxuICB9XG59XG5cbi8vIFVwZGF0ZSB0aGUgc2hvd1Byb21wdERpYWxvZyBmdW5jdGlvblxuLyoqXG4gKiBTaG93cyB0aGUgcHJvbXB0IGRpYWxvZyBmb3Iga2V5Ym9hcmQtaW50ZXJhY3RpdmUgYXV0aGVudGljYXRpb24uXG4gKiBAcGFyYW0ge09iamVjdH0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBjb250YWluaW5nIHByb21wdCBpbmZvcm1hdGlvbi5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGNhbGxiYWNrIC0gVGhlIGZ1bmN0aW9uIHRvIGNhbGwgd2l0aCB0aGUgdXNlcidzIHJlc3BvbnNlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNob3dQcm9tcHREaWFsb2coZGF0YSwgY2FsbGJhY2spIHtcbiAgY29uc3QgeyBwcm9tcHREaWFsb2csIHByb21wdE1lc3NhZ2UgfSA9IGVsZW1lbnRzXG4gIGNvbnN0IGZvcm0gPSBwcm9tcHREaWFsb2cucXVlcnlTZWxlY3RvcignZm9ybScpXG4gIGNvbnN0IGlucHV0Q29udGFpbmVyID0gZm9ybS5xdWVyeVNlbGVjdG9yKCcjcHJvbXB0SW5wdXRDb250YWluZXInKVxuXG4gIGlmIChwcm9tcHRNZXNzYWdlICYmIHByb21wdERpYWxvZykge1xuICAgIGRlYnVnKCdQcm9tcHQgZGlhbG9nIHNob3duJywgZGF0YSlcbiAgICBwcm9tcHRNZXNzYWdlLnRleHRDb250ZW50ID0gZGF0YS5uYW1lIHx8ICdBdXRoZW50aWNhdGlvbiBSZXF1aXJlZCdcblxuICAgIC8vIENsZWFyIHByZXZpb3VzIGlucHV0c1xuICAgIGlucHV0Q29udGFpbmVyLmlubmVySFRNTCA9ICcnXG5cbiAgICAvLyBDcmVhdGUgaW5wdXQgZmllbGRzIGZvciBlYWNoIHByb21wdFxuICAgIGxldCBmaXJzdElucHV0ID0gbnVsbFxuICAgIGRhdGEucHJvbXB0cy5mb3JFYWNoKChwcm9tcHQsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBsYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xhYmVsJylcbiAgICAgIGxhYmVsLnRleHRDb250ZW50ID0gcHJvbXB0LnByb21wdFxuXG4gICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0JylcbiAgICAgIGlucHV0LnR5cGUgPSBwcm9tcHQuZWNobyA/ICd0ZXh0JyA6ICdwYXNzd29yZCdcbiAgICAgIGlucHV0LnJlcXVpcmVkID0gdHJ1ZVxuICAgICAgaW5wdXQuaWQgPSBgcHJvbXB0SW5wdXQke2luZGV4fWBcblxuICAgICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICAgIGZpcnN0SW5wdXQgPSBpbnB1dFxuICAgICAgfVxuXG4gICAgICBpbnB1dENvbnRhaW5lci5hcHBlbmRDaGlsZChsYWJlbClcbiAgICAgIGlucHV0Q29udGFpbmVyLmFwcGVuZENoaWxkKGlucHV0KVxuICAgIH0pXG5cbiAgICBmb3JtLm9uc3VibWl0ID0gKGUpID0+IHtcbiAgICAgIGRlYnVnKCdzaG93UHJvbXB0RGlhbG9nOiBmb3JtLm9uc3VibWl0JylcbiAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgY29uc3QgcmVzcG9uc2VzID0gZGF0YS5wcm9tcHRzLm1hcChcbiAgICAgICAgKF8sIGluZGV4KSA9PiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgcHJvbXB0SW5wdXQke2luZGV4fWApLnZhbHVlXG4gICAgICApXG4gICAgICBoaWRlUHJvbXB0RGlhbG9nKClcbiAgICAgIGNhbGxiYWNrKHJlc3BvbnNlcylcbiAgICB9XG5cbiAgICBwcm9tcHREaWFsb2cuc2hvd01vZGFsKClcbiAgICAvLyBTZXQgZm9jdXMgdG8gdGhlIGZpcnN0IGlucHV0IGZpZWxkXG4gICAgaWYgKGZpcnN0SW5wdXQpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBmaXJzdElucHV0LmZvY3VzKClcbiAgICAgIH0sIDApXG4gICAgfVxuICAgIHVwZGF0ZUVsZW1lbnQoJ3N0YXR1cycsICdSRVNQT05TRSBSRVFVSVJFRCcsICdvcmFuZ2UnKVxuICB9IGVsc2Uge1xuICAgIGNvbnNvbGUuZXJyb3IoJ1Byb21wdCBtb2RhbCBvciBwcm9tcHQgbWVzc2FnZSBlbGVtZW50IG5vdCBmb3VuZCcpXG4gIH1cbn1cblxuLyoqXG4gKiBTaG93cyB0aGUgbG9naW4gbW9kYWwgYW5kIGhhbmRsZXMgZmllbGQgZGlzYWJsaW5nIGZvciByZWF1dGhlbnRpY2F0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaG93bG9naW5EaWFsb2coKSB7XG4gIGRlYnVnKCdzaG93bG9naW5EaWFsb2cnKVxuICBjb25zdCB7IGxvZ2luRGlhbG9nLCB0ZXJtaW5hbENvbnRhaW5lciwgdXNlcm5hbWVJbnB1dCwgcGFzc3dvcmRJbnB1dCB9ID1cbiAgICBlbGVtZW50c1xuICBjb25zdCBpc1JlYXV0aFJlcXVpcmVkID0gc3RhdGUucmVhdXRoUmVxdWlyZWRcblxuICBsb2dpbkRpYWxvZy5zaG93KClcbiAgdG9nZ2xlVmlzaWJpbGl0eSh0ZXJtaW5hbENvbnRhaW5lciwgdHJ1ZSlcbiAgaWYgKHBhc3N3b3JkSW5wdXQpIHBhc3N3b3JkSW5wdXQudmFsdWUgPSAnJ1xuXG4gIGlmIChpc1JlYXV0aFJlcXVpcmVkKSB7XG4gICAgaWYgKHBhc3N3b3JkSW5wdXQpIHVzZXJuYW1lSW5wdXQudmFsdWUgPSAnJ1xuXG4gICAgdG9nZ2xlTG9naW5GaWVsZHMoaXNSZWF1dGhSZXF1aXJlZClcbiAgfVxuICBmb2N1c0FwcHJvcHJpYXRlSW5wdXQoKVxufVxuXG4vKipcbiAqIFNob3dzIHRoZSByZWNvbm5lY3QgYnV0dG9uIGFuZCBzZXRzIHVwIHRoZSBvbmNsaWNrIGhhbmRsZXJcbiAqIEBwYXJhbSB7RnVuY3Rpb259IHJlY29ubmVjdENhbGxiYWNrIC0gVGhlIGZ1bmN0aW9uIHRvIGNhbGwgd2hlbiB0aGUgcmVjb25uZWN0IGJ1dHRvbiBpcyBjbGlja2VkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaG93UmVjb25uZWN0QnRuKHJlY29ubmVjdENhbGxiYWNrKSB7XG4gIGRlYnVnKCdzaG93UmVjb25uZWN0QnRuJylcbiAgY29uc3QgeyByZWNvbm5lY3RCdXR0b24sIGJhY2tkcm9wIH0gPSBlbGVtZW50c1xuICB0b2dnbGVWaXNpYmlsaXR5KGJhY2tkcm9wLCB0cnVlKVxuICBzaG93QnV0dG9uKHJlY29ubmVjdEJ1dHRvbiwgcmVjb25uZWN0Q2FsbGJhY2spXG4gIHJlY29ubmVjdEJ1dHRvbi5mb2N1cygpXG59XG5cbi8qKlxuICogRGlzcGxheXMgb3IgaGlkZXMgdGhlIHRlcm1pbmFsIGNvbnRhaW5lclxuICogQHBhcmFtIHtib29sZWFufSB2aXNpYmxlIC0gV2hldGhlciB0byBzaG93IG9yIGhpZGUgdGhlIHRlcm1pbmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b2dnbGVUZXJtaW5hbERpc3BsYXkodmlzaWJsZSkge1xuICBkZWJ1ZyhgdG9nZ2xlVGVybWluYWxEaXNwbGF5OiAke3Zpc2libGV9YClcbiAgY29uc3QgeyB0ZXJtaW5hbENvbnRhaW5lciB9ID0gZWxlbWVudHNcbiAgaWYgKHRlcm1pbmFsQ29udGFpbmVyKSB7XG4gICAgaWYgKHZpc2libGUpIHtcbiAgICAgIHRvZ2dsZVZpc2liaWxpdHkodGVybWluYWxDb250YWluZXIsIHRydWUpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRvZ2dsZVZpc2liaWxpdHkodGVybWluYWxDb250YWluZXIsIGZhbHNlKVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYW5kIHRyaWdnZXJzIGEgZG93bmxvYWQgZm9yIGEgYmxvYlxuICogQHBhcmFtIHtCbG9ifSBibG9iIC0gVGhlIGJsb2IgdG8gZG93bmxvYWRcbiAqIEBwYXJhbSB7c3RyaW5nfSBmaWxlbmFtZSAtIFRoZSBmaWxlbmFtZSBmb3IgdGhlIGRvd25sb2FkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmlnZ2VyRG93bmxvYWQoYmxvYiwgZmlsZW5hbWUpIHtcbiAgZGVidWcoYHRyaWdnZXJEb3dubG9hZDogJHtmaWxlbmFtZX1gKVxuICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpXG4gIGxpbmsuaHJlZiA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYilcbiAgbGluay5kb3dubG9hZCA9IGZpbGVuYW1lXG5cbiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKVxuICBsaW5rLmNsaWNrKClcbiAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKVxuXG4gIC8vIFJldm9rZSB0aGUgb2JqZWN0IFVSTCBhZnRlciBkb3dubG9hZCB0byByZWxlYXNlIG1lbW9yeVxuICBVUkwucmV2b2tlT2JqZWN0VVJMKGxpbmsuaHJlZilcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGVsZW1lbnRzLlxuICpcbiAqIEByZXR1cm5zIHtBcnJheX0gVGhlIGVsZW1lbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudHMoKSB7XG4gIHJldHVybiBlbGVtZW50c1xufVxuXG4vKipcbiAqIFVwZGF0ZXMgdGhlIGNvbnRlbnQgYW5kL29yIGJhY2tncm91bmQgY29sb3Igb2YgYSBnaXZlbiBlbGVtZW50LlxuICogQHBhcmFtIHtzdHJpbmd9IGVsZW1lbnROYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGVsZW1lbnQgKGUuZy4sICdzdGF0dXMnLCAnaGVhZGVyJywgJ2Zvb3RlcicpLlxuICogQHBhcmFtIHtzdHJpbmd8b2JqZWN0fSBjb250ZW50IC0gVGhlIG5ldyBjb250ZW50IGZvciB0aGUgZWxlbWVudC4gQ2FuIGJlIGEgc3RyaW5nIG9yIGFuIG9iamVjdCB3aXRoICd0ZXh0JyBhbmQgJ2JhY2tncm91bmQnIHByb3BlcnRpZXMuXG4gKiBAcGFyYW0ge3N0cmluZ30gW2NvbG9yXSAtIFRoZSBvcHRpb25hbCBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgZWxlbWVudCAoaWYgY29udGVudCBpcyBhIHN0cmluZykuIERlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgcGFzc2luZyBhbiBvYmplY3QgYXMgY29udGVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUVsZW1lbnQoZWxlbWVudE5hbWUsIGNvbnRlbnQsIGNvbG9yKSB7XG4gIGNvbnN0IGVsZW1lbnQgPSBlbGVtZW50c1tlbGVtZW50TmFtZV1cbiAgaWYgKCFlbGVtZW50IHx8ICFjb250ZW50KSB7XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgYHVwZGF0ZUVsZW1lbnQ6ICR7ZWxlbWVudE5hbWV9IGVsZW1lbnQgbm90IGZvdW5kIG9yIGNvbnRlbnQgbWlzc2luZy5gXG4gICAgKVxuICAgIHJldHVyblxuICB9XG5cbiAgY29uc3QgeyB0ZXh0ID0gJycsIGJhY2tncm91bmQgfSA9XG4gICAgdHlwZW9mIGNvbnRlbnQgPT09ICdvYmplY3QnID8gY29udGVudCA6IHsgdGV4dDogY29udGVudCwgYmFja2dyb3VuZDogY29sb3IgfVxuICBjb25zdCBzYW5pdGl6ZWRDb250ZW50ID0gc2FuaXRpemVIdG1sKHRleHQpXG4gIGNvbnN0IHNhbml0aXplZENvbG9yID0gYmFja2dyb3VuZCA/IHNhbml0aXplQ29sb3IoYmFja2dyb3VuZCkgOiBudWxsXG5cbiAgZGVidWcoJ3VwZGF0ZUVsZW1lbnQnLCB7IGVsZW1lbnROYW1lLCBzYW5pdGl6ZWRDb250ZW50LCBzYW5pdGl6ZWRDb2xvciB9KVxuXG4gIGVsZW1lbnQuaW5uZXJIVE1MID0gc2FuaXRpemVkQ29udGVudFxuICBpZiAoc2FuaXRpemVkQ29sb3IpIGVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gc2FuaXRpemVkQ29sb3JcblxuICBpZiAoZWxlbWVudE5hbWUgPT09ICdoZWFkZXInKSB7XG4gICAgY29uc3QgeyB0ZXJtaW5hbENvbnRhaW5lciB9ID0gZWxlbWVudHNcbiAgICB0b2dnbGVWaXNpYmlsaXR5KGVsZW1lbnQsIHRydWUpXG4gICAgaWYgKHRlcm1pbmFsQ29udGFpbmVyKSB0ZXJtaW5hbENvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCd3aXRoLWhlYWRlcicpXG4gIH1cbn1cblxuLyoqXG4gKiBVcGRhdGVzIHRoZSBsb2cgYnV0dG9uIHN0YXRlXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGlzTG9nZ2luZyAtIFdoZXRoZXIgbG9nZ2luZyBpcyBjdXJyZW50bHkgYWN0aXZlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVzdGFydExvZ0J0blN0YXRlKGlzTG9nZ2luZykge1xuICBkZWJ1ZyhgdXBkYXRlc3RhcnRMb2dCdG5TdGF0ZTogJHtpc0xvZ2dpbmd9YClcbiAgY29uc3QgeyBzdGFydExvZ0J0biwgc3RvcExvZ0J0biwgZG93bmxvYWRMb2dCdG4sIGNsZWFyTG9nQnRuIH0gPSBlbGVtZW50c1xuXG4gIGlmIChzdGFydExvZ0J0biAmJiBzdG9wTG9nQnRuKSB7XG4gICAgaWYgKGlzTG9nZ2luZykge1xuICAgICAgdG9nZ2xlVmlzaWJpbGl0eShzdGFydExvZ0J0biwgZmFsc2UpXG4gICAgICB0b2dnbGVWaXNpYmlsaXR5KHN0b3BMb2dCdG4sIHRydWUpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRvZ2dsZVZpc2liaWxpdHkoc3RhcnRMb2dCdG4sIHRydWUpXG4gICAgICB0b2dnbGVWaXNpYmlsaXR5KHN0b3BMb2dCdG4sIGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIGlmIChkb3dubG9hZExvZ0J0bikge1xuICAgIGlmIChpc0xvZ2dpbmcpIHtcbiAgICAgIHRvZ2dsZVZpc2liaWxpdHkoZG93bmxvYWRMb2dCdG4sIHRydWUpXG4gICAgICB0b2dnbGVWaXNpYmlsaXR5KGNsZWFyTG9nQnRuLCB0cnVlKVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFVwZGF0ZXMgdGhlIHZpc2liaWxpdHkgb2YgVUkgZWxlbWVudHMgYmFzZWQgb24gc2VydmVyIHBlcm1pc3Npb25zXG4gKiBAcGFyYW0ge09iamVjdH0gcGVybWlzc2lvbnMgLSBPYmplY3QgY29udGFpbmluZyBwZXJtaXNzaW9uIGZsYWdzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVVSVZpc2liaWxpdHkocGVybWlzc2lvbnMpIHtcbiAgZGVidWcoJ3VwZGF0ZVVJVmlzaWJpbGl0eScsIHBlcm1pc3Npb25zKVxuXG4gIGNvbnN0IHBlcm1pc3Npb25IYW5kbGVycyA9IHtcbiAgICBhbGxvd1JlYXV0aDogdXBkYXRlUmVhdXRoQnRuVmlzaWJpbGl0eSxcbiAgICBhbGxvd1JlcGxheTogdXBkYXRlUmVwbGF5Q3JlZGVudGlhbHNCdG5WaXNpYmlsaXR5XG4gIH1cblxuICBPYmplY3Qua2V5cyhwZXJtaXNzaW9ucykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgaWYgKHBlcm1pc3Npb25IYW5kbGVyc1trZXldICYmIHBlcm1pc3Npb25zW2tleV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgcGVybWlzc2lvbkhhbmRsZXJzW2tleV0ocGVybWlzc2lvbnNba2V5XSlcbiAgICB9XG4gIH0pXG5cbiAgaWYgKHBlcm1pc3Npb25zLmVycm9yKSB7XG4gICAgc2hvd0Vycm9yRGlhbG9nKHBlcm1pc3Npb25zLmVycm9yKVxuICB9XG59XG5cbi8qKlxuICogRm9jdXNlcyBvbiB0aGUgYXBwcm9wcmlhdGUgaW5wdXQgZmllbGQgaW4gdGhlIGxvZ2luIGZvcm1cbiAqL1xuZnVuY3Rpb24gZm9jdXNBcHByb3ByaWF0ZUlucHV0KCkge1xuICBkZWJ1ZygnZm9jdXNBcHByb3ByaWF0ZUlucHV0JylcbiAgY29uc3QgeyBob3N0SW5wdXQsIHVzZXJuYW1lSW5wdXQsIHBhc3N3b3JkSW5wdXQsIHBvcnRJbnB1dCB9ID0gZWxlbWVudHNcbiAgY29uc3QgaXNSZWF1dGhSZXF1aXJlZCA9IHN0YXRlLnJlYXV0aFJlcXVpcmVkXG5cbiAgaWYgKGlzUmVhdXRoUmVxdWlyZWQpIHtcbiAgICAvLyBGb3IgcmVhdXRoZW50aWNhdGlvblxuICAgIGlmICghdXNlcm5hbWVJbnB1dC52YWx1ZSkge1xuICAgICAgdXNlcm5hbWVJbnB1dC5mb2N1cygpXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgcGFzc3dvcmRJbnB1dC5mb2N1cygpXG4gICAgcmV0dXJuXG4gIH1cblxuICAvLyBGb3IgbmV3IGNvbm5lY3Rpb25cbiAgaWYgKCFob3N0SW5wdXQudmFsdWUpIHtcbiAgICBob3N0SW5wdXQuZm9jdXMoKVxuICAgIHJldHVyblxuICB9XG5cbiAgaWYgKCF1c2VybmFtZUlucHV0LnZhbHVlKSB7XG4gICAgaWYgKHBvcnRJbnB1dC52YWx1ZSkge1xuICAgICAgdXNlcm5hbWVJbnB1dC5mb2N1cygpXG4gICAgICByZXR1cm5cbiAgICB9XG4gIH1cblxuICBwYXNzd29yZElucHV0LmZvY3VzKClcbn1cblxuLyoqXG4gKiBVcGRhdGVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSByZWF1dGhlbnRpY2F0aW9uIGJ1dHRvblxuICogQHBhcmFtIHtib29sZWFufSB2aXNpYmxlIC0gV2hldGhlciB0aGUgYnV0dG9uIHNob3VsZCBiZSB2aXNpYmxlXG4gKi9cbmZ1bmN0aW9uIHVwZGF0ZVJlYXV0aEJ0blZpc2liaWxpdHkodmlzaWJsZSkge1xuICBjb25zdCB7IHJlYXV0aEJ0biB9ID0gZWxlbWVudHNcbiAgaWYgKHZpc2libGUpIHtcbiAgICB0b2dnbGVWaXNpYmlsaXR5KHJlYXV0aEJ0biwgdHJ1ZSlcbiAgICByZXR1cm5cbiAgfVxuICB0b2dnbGVWaXNpYmlsaXR5KHJlYXV0aEJ0biwgZmFsc2UpXG59XG5cbi8qKlxuICogVXBkYXRlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgcmVwbGF5Q3JlZGVudGlhbHNCdG4gYnV0dG9uXG4gKiBAcGFyYW0ge2Jvb2xlYW59IHZpc2libGUgLSBXaGV0aGVyIHRoZSBidXR0b24gc2hvdWxkIGJlIHZpc2libGVcbiAqL1xuZnVuY3Rpb24gdXBkYXRlUmVwbGF5Q3JlZGVudGlhbHNCdG5WaXNpYmlsaXR5KHZpc2libGUpIHtcbiAgY29uc3QgeyByZXBsYXlDcmVkZW50aWFsc0J0biB9ID0gZWxlbWVudHNcbiAgaWYgKHZpc2libGUpIHtcbiAgICB0b2dnbGVWaXNpYmlsaXR5KHJlcGxheUNyZWRlbnRpYWxzQnRuLCB0cnVlKVxuICAgIHJldHVyblxuICB9XG4gIHRvZ2dsZVZpc2liaWxpdHkocmVwbGF5Q3JlZGVudGlhbHNCdG4sIGZhbHNlKVxufVxuXG4vKipcbiAqIFRvZ2dsZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGRvd25sb2FkIGxvZyBidXR0b24uXG4gKlxuICogQHBhcmFtIHtib29sZWFufSB2aXNpYmxlIC0gSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGJ1dHRvbiBzaG91bGQgYmUgdmlzaWJsZSBvciBub3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b2dnbGVEb3dubG9hZExvZ0J0bih2aXNpYmxlKSB7XG4gIHRvZ2dsZVZpc2liaWxpdHkoZWxlbWVudHMuZG93bmxvYWRMb2dCdG4sIHZpc2libGUpXG59XG5cbi8qKlxuICogVG9nZ2xlcyB0aGUgdmlzaWJpbGl0eSBvZiBhbiBlbGVtZW50LlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgLSBUaGUgRE9NIGVsZW1lbnQgdG8gdG9nZ2xlLlxuICogQHBhcmFtIHtib29sZWFufSBpc1Zpc2libGUgLSBJZiB0cnVlLCBzaG93IHRoZSBlbGVtZW50OyBpZiBmYWxzZSwgaGlkZSBpdC5cbiAqL1xuZnVuY3Rpb24gdG9nZ2xlVmlzaWJpbGl0eShlbGVtZW50LCBpc1Zpc2libGUpIHtcbiAgaWYgKCFlbGVtZW50KSByZXR1cm5cbiAgZGVidWcoYHRvZ2dsZVZpc2liaWxpdHk6ICR7ZWxlbWVudC5pZH06ICR7aXNWaXNpYmxlfWApXG5cbiAgaWYgKGlzVmlzaWJsZSkge1xuICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgndmlzaWJsZScpXG4gIH0gZWxzZSB7XG4gICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd2aXNpYmxlJylcbiAgfVxufVxuXG4vKipcbiAqIEhhbmRsZXMgdGhlIGZvcm0gc3VibWlzc2lvbiBldmVudC5cbiAqXG4gKiBAcGFyYW0ge0V2ZW50fSBlIC0gVGhlIGZvcm0gc3VibWlzc2lvbiBldmVudC5cbiAqL1xuZnVuY3Rpb24gZm9ybVN1Ym1pdChlKSB7XG4gIGUucHJldmVudERlZmF1bHQoKVxuICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YShlLnRhcmdldClcbiAgY29uc3QgZm9ybURhdGFPYmplY3QgPSBPYmplY3QuZnJvbUVudHJpZXMoZm9ybURhdGEuZW50cmllcygpKVxuICBoaWRlbG9naW5EaWFsb2coKVxuICBjb25uZWN0VG9TZXJ2ZXIoZm9ybURhdGFPYmplY3QpXG59XG5cbi8qKlxuICogSGFuZGxlcyB0aGUga2V5ZG93biBldmVudC5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IC0gVGhlIGtleWRvd24gZXZlbnQgb2JqZWN0LlxuICovXG5mdW5jdGlvbiBrZXlkb3duKGV2ZW50KSB7XG4gIC8vIElmIHRoZSBrZXkgY29tYmluYXRpb24gaXMgQ3RybCArIFNoaWZ0ICsgNiwgaXQgcHJldmVudHMgdGhlIGRlZmF1bHQgYmVoYXZpb3JcbiAgLy8gYW5kIGVtaXRzIHRoZSBkYXRhICdcXHgxRScuXG4gIGlmIChldmVudC5jdHJsS2V5ICYmIGV2ZW50LnNoaWZ0S2V5ICYmIGV2ZW50LmNvZGUgPT09ICdEaWdpdDYnKSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIGVtaXREYXRhKCdcXHgxRScpXG4gIH1cbn1cblxuLyoqXG4gKiBEZXRlY3RzIHRoZSBzdGF0ZSBvZiB0aGUgQ2FwcyBMb2NrIGtleSBhbmQgYWRkcyBvciByZW1vdmVzIHRoZSAnY2Fwc2xvY2stYWN0aXZlJyBjbGFzc1xuICogZnJvbSB0aGUgcGFzc3dvcmQgaW5wdXQgZWxlbWVudCBhY2NvcmRpbmdseS5cbiAqXG4gKiBAcGFyYW0ge0V2ZW50fSBldmVudCAtIFRoZSBldmVudCBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBrZXkgcHJlc3MgZXZlbnQuXG4gKi9cbmZ1bmN0aW9uIGRldGVjdENhcHNMb2NrKGV2ZW50KSB7XG4gIGlmIChldmVudC5nZXRNb2RpZmllclN0YXRlKCdDYXBzTG9jaycpKSB7XG4gICAgcGFzc3dvcmRJbnB1dC5jbGFzc0xpc3QuYWRkKCdjYXBzbG9jay1hY3RpdmUnKVxuICB9IGVsc2Uge1xuICAgIHBhc3N3b3JkSW5wdXQuY2xhc3NMaXN0LnJlbW92ZSgnY2Fwc2xvY2stYWN0aXZlJylcbiAgfVxufVxuXG4vKipcbiAqIEhhbmRsZXMgdGhlIHJlc2l6ZSBldmVudCBhbmQgc2VuZHMgdGhlIHJlc2l6ZWQgZGltZW5zaW9ucyB0byB0aGUgc2VydmVyLlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNpemUoKSB7XG4gIGNvbnN0IGRpbWVuc2lvbnMgPSByZXNpemVUZXJtaW5hbCgpXG4gIGlmIChkaW1lbnNpb25zKSB7XG4gICAgZGVidWcoJ3Jlc2l6ZTonLCBkaW1lbnNpb25zKVxuICAgIGVtaXRSZXNpemUoZGltZW5zaW9ucylcbiAgfVxufVxuXG4vKipcbiAqIEhpZGVzIGEgYnV0dG9uIGFuZCBvcHRpb25hbGx5IHJlbW92ZXMgaXRzIGNsaWNrIGhhbmRsZXIuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gYnV0dG9uIC0gVGhlIGJ1dHRvbiBlbGVtZW50IHRvIGhpZGUuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtyZW1vdmVPbkNsaWNrPWZhbHNlXSAtIFdoZXRoZXIgdG8gcmVtb3ZlIHRoZSBvbmNsaWNrIGhhbmRsZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoaWRlQnV0dG9uKGJ1dHRvbiwgcmVtb3ZlT25DbGljayA9IGZhbHNlKSB7XG4gIHRvZ2dsZVZpc2liaWxpdHkoYnV0dG9uLCBmYWxzZSlcblxuICBpZiAocmVtb3ZlT25DbGljayAmJiBidXR0b24pIHtcbiAgICBidXR0b24ub25jbGljayA9IG51bGxcbiAgfVxufVxuXG4vKipcbiAqIFNob3dzIGEgYnV0dG9uIGFuZCBvcHRpb25hbGx5IGFzc2lnbnMgYSBjbGljayBoYW5kbGVyLlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGJ1dHRvbiAtIFRoZSBidXR0b24gZWxlbWVudCB0byBzaG93LlxuICogQHBhcmFtIHtGdW5jdGlvbn0gW29uQ2xpY2s9bnVsbF0gLSBUaGUgb25jbGljayBoYW5kbGVyIHRvIGFzc2lnbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNob3dCdXR0b24oYnV0dG9uLCBvbkNsaWNrID0gbnVsbCkge1xuICB0b2dnbGVWaXNpYmlsaXR5KGJ1dHRvbiwgdHJ1ZSlcblxuICBpZiAob25DbGljayAmJiBidXR0b24pIHtcbiAgICBidXR0b24ub25jbGljayA9IG9uQ2xpY2tcbiAgfVxufVxuXG4vKipcbiAqIFNob3dzIHRoZSB0ZXJtaW5hbCBvcHRpb25zIGRpYWxvZy5cbiAqIEBwYXJhbSB7T2JqZWN0fSBjb25maWcgLSBUaGUgY29uZmlndXJhdGlvbiBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNob3d0ZXJtaW5hbFNldHRpbmdzRGlhbG9nKGNvbmZpZykge1xuICBkZWJ1Zygnc2hvd3Rlcm1pbmFsU2V0dGluZ3NEaWFsb2cnKVxuICBpZiAoZWxlbWVudHMudGVybWluYWxTZXR0aW5nc0RpYWxvZykge1xuICAgIHBvcHVsYXRldGVybWluYWxTZXR0aW5nc0Zvcm0oY29uZmlnKVxuICAgIGVsZW1lbnRzLnRlcm1pbmFsU2V0dGluZ3NEaWFsb2cuc2hvd01vZGFsKClcbiAgfVxufVxuXG4vKipcbiAqIFBvcHVsYXRlcyB0aGUgdGVybWluYWwgb3B0aW9ucyBmb3JtIHdpdGggY3VycmVudCBzZXR0aW5ncy5cbiAqIEBwYXJhbSB7T2JqZWN0fSBjb25maWcgLSBUaGUgY29uZmlndXJhdGlvbiBvYmplY3RcbiAqL1xuZnVuY3Rpb24gcG9wdWxhdGV0ZXJtaW5hbFNldHRpbmdzRm9ybShjb25maWcpIHtcbiAgY29uc3Qgc2V0dGluZ3MgPSBnZXRUZXJtaW5hbFNldHRpbmdzKGNvbmZpZylcbiAgZGVidWcoJ3BvcHVsYXRldGVybWluYWxTZXR0aW5nc0Zvcm0nLCBzZXR0aW5ncylcbiAgaWYgKGVsZW1lbnRzLnRlcm1pbmFsU2V0dGluZ3NGb3JtKSB7XG4gICAgT2JqZWN0LmtleXMoc2V0dGluZ3MpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3QgaW5wdXQgPSBlbGVtZW50cy50ZXJtaW5hbFNldHRpbmdzRm9ybS5lbGVtZW50c1trZXldXG4gICAgICBpZiAoaW5wdXQpIHtcbiAgICAgICAgaWYgKGlucHV0LnR5cGUgPT09ICdjaGVja2JveCcpIHtcbiAgICAgICAgICBpbnB1dC5jaGVja2VkID0gc2V0dGluZ3Nba2V5XVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlucHV0LnZhbHVlID0gc2V0dGluZ3Nba2V5XVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcbiAgfVxufVxuXG4vKipcbiAqIEhpZGVzIHRoZSB0ZXJtaW5hbCBvcHRpb25zIGRpYWxvZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhpZGV0ZXJtaW5hbFNldHRpbmdzRGlhbG9nKCkge1xuICBkZWJ1ZygnaGlkZXRlcm1pbmFsU2V0dGluZ3NEaWFsb2cnKVxuICBlbGVtZW50cz8udGVybWluYWxTZXR0aW5nc0RpYWxvZz8uY2xvc2U/LigpXG59XG5cbi8qKlxuICogSGFuZGxlcyB0aGUgc3VibWlzc2lvbiBvZiB0aGUgdGVybWluYWwgb3B0aW9ucyBmb3JtLlxuICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBUaGUgZm9ybSBzdWJtaXNzaW9uIGV2ZW50LlxuICogQHBhcmFtIHtPYmplY3R9IGNvbmZpZyAtIFRoZSBjb25maWd1cmF0aW9uIG9iamVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxldGVybWluYWxTZXR0aW5nc1N1Ym1pdChldmVudCwgY29uZmlnKSB7XG4gIGRlYnVnKCdoYW5kbGV0ZXJtaW5hbFNldHRpbmdzU3VibWl0JylcbiAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICBjb25zdCBmb3JtID0gZXZlbnQudGFyZ2V0XG4gIGlmICghKGZvcm0gaW5zdGFuY2VvZiBIVE1MRm9ybUVsZW1lbnQpKSB7XG4gICAgY29uc29sZS5lcnJvcignaGFuZGxldGVybWluYWxTZXR0aW5nc1N1Ym1pdDogSW52YWxpZCBmb3JtIGVsZW1lbnQnKVxuICAgIHJldHVyblxuICB9XG5cbiAgY29uc3Qgc2V0dGluZ3MgPSB7fVxuICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YShmb3JtKVxuXG4gIGNvbnN0IGN1cnJlbnRTZXR0aW5ncyA9IGdldFRlcm1pbmFsU2V0dGluZ3MoY29uZmlnKVxuXG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIGZvcm1EYXRhLmVudHJpZXMoKSkge1xuICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICBjYXNlICdmb250U2l6ZSc6XG4gICAgICAgIHNldHRpbmdzW2tleV0gPSB2YWxpZGF0ZU51bWJlcih2YWx1ZSwgOCwgNzIsIGN1cnJlbnRTZXR0aW5ncy5mb250U2l6ZSlcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ3Njcm9sbGJhY2snOlxuICAgICAgICBzZXR0aW5nc1trZXldID0gdmFsaWRhdGVOdW1iZXIoXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgMSxcbiAgICAgICAgICAyMDAwMDAsXG4gICAgICAgICAgY3VycmVudFNldHRpbmdzLnNjcm9sbGJhY2tcbiAgICAgICAgKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAndGFiU3RvcFdpZHRoJzpcbiAgICAgICAgc2V0dGluZ3Nba2V5XSA9IHZhbGlkYXRlTnVtYmVyKFxuICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgIDEsXG4gICAgICAgICAgMTAwLFxuICAgICAgICAgIGN1cnJlbnRTZXR0aW5ncy50YWJTdG9wV2lkdGhcbiAgICAgICAgKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnY3Vyc29yQmxpbmsnOlxuICAgICAgICBzZXR0aW5nc1trZXldID0gdmFsdWUgPT09ICd0cnVlJ1xuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnYmVsbFN0eWxlJzpcbiAgICAgICAgc2V0dGluZ3Nba2V5XSA9IHZhbGlkYXRlQmVsbFN0eWxlKHZhbHVlLCBjdXJyZW50U2V0dGluZ3MuYmVsbFN0eWxlKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnZm9udEZhbWlseSc6XG4gICAgICAgIHNldHRpbmdzW2tleV0gPSB2YWx1ZSB8fCBjdXJyZW50U2V0dGluZ3MuZm9udEZhbWlseVxuICAgICAgICBicmVha1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgc2V0dGluZ3Nba2V5XSA9IHZhbHVlXG4gICAgfVxuICB9XG5cbiAgc2F2ZVRlcm1pbmFsU2V0dGluZ3Moc2V0dGluZ3MpXG4gIGFwcGx5VGVybWluYWxTZXR0aW5ncyhzZXR0aW5ncylcbiAgaGlkZXRlcm1pbmFsU2V0dGluZ3NEaWFsb2coKVxufVxuXG4vKipcbiAqIEluaXRpYWxpemVzIHRoZSBET00gYW5kIHNldHMgdXAgZXZlbnQgbGlzdGVuZXJzXG4gKiBAcGFyYW0ge09iamVjdH0gY29uZmlnIC0gVGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0XG4gKiBAcmV0dXJucyB7UHJvbWlzZX0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgRE9NIGlzIHJlYWR5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplRG9tKGNvbmZpZykge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCBpbml0aWFsaXplRG9tQ29udGVudCA9ICgpID0+IHtcbiAgICAgIGRlYnVnKCdpbml0aWFsaXplRG9tJylcbiAgICAgIGluaXRpYWxpemVFbGVtZW50cygpXG4gICAgICBzZXR1cEV2ZW50TGlzdGVuZXJzKGNvbmZpZylcbiAgICAgIGluaXRpYWxpemVTZXR0aW5ncyhjb25maWcpXG4gICAgICByZXNvbHZlKClcbiAgICB9XG5cbiAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gJ2xvYWRpbmcnKSB7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgaW5pdGlhbGl6ZURvbUNvbnRlbnQpXG4gICAgfSBlbHNlIHtcbiAgICAgIGluaXRpYWxpemVEb21Db250ZW50KClcbiAgICB9XG4gIH0pXG59XG5cbi8qKlxuICogU2V0cyB0aGUgdGVybWluYWwgaW5zdGFuY2UgZm9yIERPTSBvcGVyYXRpb25zXG4gKiBAcGFyYW0ge1Rlcm1pbmFsfSB0ZXJtaW5hbEluc3RhbmNlIC0gVGhlIHRlcm1pbmFsIGluc3RhbmNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRUZXJtaW5hbEluc3RhbmNlKHRlcm1pbmFsSW5zdGFuY2UpIHtcbiAgdGVybSA9IHRlcm1pbmFsSW5zdGFuY2Vcbn1cblxuLyoqXG4gKiBPcGVucyB0aGUgdGVybWluYWwgaW4gdGhlIHNwZWNpZmllZCBjb250YWluZXJcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGNvbnRhaW5lciAtIFRoZSBjb250YWluZXIgZWxlbWVudCBmb3IgdGhlIHRlcm1pbmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvcGVuVGVybWluYWwoY29udGFpbmVyKSB7XG4gIGlmICh0ZXJtICYmIGNvbnRhaW5lcikge1xuICAgIHRlcm0ub3Blbihjb250YWluZXIpXG4gICAgLy8gTm90ZTogV2UncmUgbm90IGNhbGxpbmcgZml0QWRkb24uZml0KCkgaGVyZSBhcyBpdCdzIG5vdCBhIERPTSBvcGVyYXRpb25cbiAgICBkZWJ1Zygnb3BlblRlcm1pbmFsJylcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLmVycm9yKCdvcGVuVGVybWluYWw6IFRlcm1pbmFsIG9yIGNvbnRhaW5lciBub3QgYXZhaWxhYmxlJylcbiAgfVxufVxuXG4vKipcbiAqIEZvY3VzZXMgdGhlIHRlcm1pbmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb2N1c1Rlcm1pbmFsKCkge1xuICBpZiAodGVybSkge1xuICAgIHRlcm0uZm9jdXMoKVxuICAgIGRlYnVnKCdmb2N1c1Rlcm1pbmFsOiBUZXJtaW5hbCBmb2N1c2VkJylcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLmVycm9yKCdvcGVuVGVybWluYWw6IFRlcm1pbmFsIG5vdCBhdmFpbGFibGUnKVxuICB9XG59XG5cbi8qKlxuICogVG9nZ2xlcyB0aGUgZW5hYmxlZCBzdGF0ZSBvZiBob3N0IGFuZCBwb3J0IGlucHV0IGZpZWxkc1xuICogQHBhcmFtIHtib29sZWFufSBzdGF0ZSAtIFdoZXRoZXIgcmVhdXRoZW50aWNhdGlvbiBpcyByZXF1aXJlZFxuICovXG5mdW5jdGlvbiB0b2dnbGVMb2dpbkZpZWxkcyhzdGF0ZSkge1xuICBjb25zdCB7IGhvc3RJbnB1dCwgcG9ydElucHV0IH0gPSBlbGVtZW50c1xuXG4gIGlmIChob3N0SW5wdXQpIGhvc3RJbnB1dC5kaXNhYmxlZCA9IHN0YXRlXG4gIGlmIChwb3J0SW5wdXQpIHBvcnRJbnB1dC5kaXNhYmxlZCA9IHN0YXRlXG5cbiAgZGVidWcoXG4gICAgYHRvZ2dsZUxvZ2luRmllbGRzOiAke3N0YXRlID8gJ2Rpc2FibGVkJyA6ICdlbmFibGVkJ30gZm9yICR7XG4gICAgICBzdGF0ZSA/ICdyZS1hdXRoZW50aWNhdGlvbicgOiAnbmV3IGNvbm5lY3Rpb24nXG4gICAgfWBcbiAgKVxufVxuIiwiLy8gY2xpZW50XG4vLyBjbGllbnQvc3JjL2pzL2luZGV4LmpzXG5cbmltcG9ydCBjcmVhdGVEZWJ1ZyBmcm9tICdkZWJ1ZydcbmltcG9ydCAncHVyZWNzcy9idWlsZC9wdXJlLmNzcydcbmltcG9ydCAnLi4vY3NzL21lbnUuY3NzJ1xuaW1wb3J0ICdAeHRlcm0veHRlcm0vY3NzL3h0ZXJtLmNzcydcbmltcG9ydCAnLi4vY3NzL3Rlcm1pbmFsLmNzcydcbmltcG9ydCAnLi4vY3NzL3N0eWxlLmNzcydcblxuaW1wb3J0IHtcbiAgZmlsbExvZ2luRm9ybSxcbiAgZm9jdXNUZXJtaW5hbCxcbiAgaGlkZUVycm9yRGlhbG9nLFxuICBoaWRlUmVjb25uZWN0QnRuLFxuICBpbml0aWFsaXplRG9tLFxuICBpbml0aWFsaXplRWxlbWVudHMsXG4gIG9wZW5UZXJtaW5hbCxcbiAgc2hvd0Vycm9yRGlhbG9nLFxuICBzaG93bG9naW5EaWFsb2csXG4gIHNob3dSZWNvbm5lY3RCdG4sXG4gIHRvZ2dsZVRlcm1pbmFsRGlzcGxheSxcbiAgdXBkYXRlRWxlbWVudCxcbiAgdXBkYXRlc3RhcnRMb2dCdG5TdGF0ZVxufSBmcm9tICcuL2RvbS5qcydcblxuaW1wb3J0IHsgaW5pdGlhbGl6ZVNvY2tldENvbm5lY3Rpb24sIGluaXRTb2NrZXQgfSBmcm9tICcuL3NvY2tldC5qcydcblxuaW1wb3J0IHtcbiAgaW5pdGlhbGl6ZVRlcm1pbmFsLFxuICByZXNldFRlcm1pbmFsLFxuICB3cml0ZVRvVGVybWluYWxcbn0gZnJvbSAnLi90ZXJtaW5hbC5qcydcblxuaW1wb3J0IHsgYXBwbHlTdG9yZWRTZXR0aW5ncyB9IGZyb20gJy4vc2V0dGluZ3MuanMnXG5cbmltcG9ydCB7IHN0YXRlIH0gZnJvbSAnLi9zdGF0ZS5qcydcblxuaW1wb3J0IHtcbiAgaW5pdGlhbGl6ZUNvbmZpZyxcbiAgZ2V0QmFzaWNBdXRoQ29va2llLFxuICBwb3B1bGF0ZUZvcm1Gcm9tVXJsXG59IGZyb20gJy4vdXRpbHMuanMnXG5pbXBvcnQge1xuICBhZGRUb1Nlc3Npb25Mb2csXG4gIGNoZWNrU2F2ZWRTZXNzaW9uTG9nLFxuICBkb3dubG9hZExvZ1xufSBmcm9tICcuL2NsaWVudGxvZy5qcydcblxuZXhwb3J0IGNvbnN0IGRlYnVnID0gY3JlYXRlRGVidWcoJ3dlYnNzaDItY2xpZW50JylcblxuaW1wb3J0IHsgbGlicmFyeSwgZG9tIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXN2Zy1jb3JlJ1xuaW1wb3J0IHtcbiAgZmFCYXJzLFxuICBmYUNsaXBib2FyZCxcbiAgZmFDb2csXG4gIGZhRG93bmxvYWQsXG4gIGZhS2V5LFxuICBmYVRyYXNoQ2FuLFxuICBmYUNpcmNsZVVwXG59IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucydcblxubGlicmFyeS5hZGQoXG4gIGZhQmFycyxcbiAgZmFDbGlwYm9hcmQsXG4gIGZhRG93bmxvYWQsXG4gIGZhS2V5LFxuICBmYUNvZyxcbiAgZmFUcmFzaENhbixcbiAgZmFDaXJjbGVVcFxuKVxuXG5kb20ud2F0Y2goKVxuXG5sZXQgY29uZmlnXG5sZXQgZWxlbWVudHNcbmV4cG9ydCBsZXQgc2Vzc2lvbkZvb3RlciA9IG51bGxcblxuLyoqXG4gKiBJbml0aWFsaXplcyB0aGUgYXBwbGljYXRpb24uXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlcmUgaXMgYW4gaW5pdGlhbGl6YXRpb24gZXJyb3IuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGluaXRpYWxpemUoKSB7XG4gIHRyeSB7XG4gICAgY29uc29sZS5sb2coYEluaXRpYWxpemluZyBXZWJTU0gyIGNsaWVudCAtICR7QkFOTkVSX1NUUklOR31gKVxuICAgIGNvbmZpZyA9IGluaXRpYWxpemVDb25maWcoKVxuXG4gICAgY29uc3QgYmFzaWNBdXRoQ29va2llID0gZ2V0QmFzaWNBdXRoQ29va2llKClcbiAgICBpZiAoYmFzaWNBdXRoQ29va2llKSB7XG4gICAgICBjb25maWcuc3NoLmhvc3QgPSBiYXNpY0F1dGhDb29raWUuaG9zdCB8fCBjb25maWcuc3NoLmhvc3RcbiAgICAgIGNvbmZpZy5zc2gucG9ydCA9IGJhc2ljQXV0aENvb2tpZS5wb3J0IHx8IGNvbmZpZy5zc2gucG9ydFxuICAgICAgc3RhdGUuaXNCYXNpY0F1dGhDb29raWVQcmVzZW50ID0gdHJ1ZVxuICAgIH0gZWxzZSB7XG4gICAgICBzdGF0ZS5pc0Jhc2ljQXV0aENvb2tpZVByZXNlbnQgPSBmYWxzZVxuICAgIH1cblxuICAgIGNvbmZpZyA9IHBvcHVsYXRlRm9ybUZyb21VcmwoY29uZmlnKVxuICAgIGF3YWl0IGluaXRpYWxpemVEb20oY29uZmlnKSAvLyBQYXNzIGNvbmZpZyBoZXJlXG4gICAgaW5pdGlhbGl6ZVRlcm1pbmFsQW5kVUkoKVxuICAgIGluaXRTb2NrZXQoXG4gICAgICBjb25maWcsXG4gICAgICBvbkNvbm5lY3QsXG4gICAgICBvbkRpc2Nvbm5lY3QsXG4gICAgICBvbkRhdGEsXG4gICAgICB3cml0ZVRvVGVybWluYWwsXG4gICAgICBmb2N1c1Rlcm1pbmFsXG4gICAgKVxuICAgIC8vIFdlIGNhbiByZW1vdmUgdGhpcyBsaW5lIGFzIGl0J3Mgbm93IGhhbmRsZWQgaW4gaW5pdGlhbGl6ZURvbVxuICAgIC8vIGluaXRpYWxpemVEb21BbmRTZXR0aW5ncyhjb25maWcpO1xuICAgIGNoZWNrU2F2ZWRTZXNzaW9uTG9nKClcbiAgICBpbml0aWFsaXplQ29ubmVjdGlvbigpXG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaGFuZGxlRXJyb3IoJ0luaXRpYWxpemF0aW9uIGVycm9yOicsIGVycm9yKVxuICB9XG59XG5cbi8vIEltbWVkaWF0ZWx5IEludm9rZWQgQXN5bmMgRnVuY3Rpb24gRXhwcmVzc2lvbiAoSUlGRSlcbjsoYXN5bmMgKCkgPT4ge1xuICBhd2FpdCBpbml0aWFsaXplKClcbn0pKClcblxuLyoqXG4gKiBJbml0aWFsaXplcyB0aGUgdGVybWluYWwgYW5kIHVzZXIgaW50ZXJmYWNlLlxuICovXG5mdW5jdGlvbiBpbml0aWFsaXplVGVybWluYWxBbmRVSSgpIHtcbiAgZGVidWcoJ2luaXRpYWxpemVUZXJtaW5hbEFuZFVJJylcbiAgaW5pdGlhbGl6ZVRlcm1pbmFsKGNvbmZpZylcbiAgZWxlbWVudHMgPSBpbml0aWFsaXplRWxlbWVudHMoKVxuICBzZXNzaW9uRm9vdGVyID0gY29uZmlnLnNzaC5ob3N0XG4gICAgPyBgc3NoOi8vJHtjb25maWcuc3NoLmhvc3R9OiR7Y29uZmlnLnNzaC5wb3J0fWBcbiAgICA6IG51bGxcblxuICBjb25zdCB7IHRlcm1pbmFsQ29udGFpbmVyIH0gPSBlbGVtZW50c1xuXG4gIGlmICh0ZXJtaW5hbENvbnRhaW5lcikge1xuICAgIG9wZW5UZXJtaW5hbCh0ZXJtaW5hbENvbnRhaW5lcilcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgJ1Rlcm1pbmFsIGNvbnRhaW5lciBub3QgZm91bmQuIFRlcm1pbmFsIGNhbm5vdCBiZSBpbml0aWFsaXplZC4nXG4gICAgKVxuICB9XG59XG5cbi8qKlxuICogQ29ubmVjdHMgdG8gdGhlIHNlcnZlclxuICovXG5leHBvcnQgZnVuY3Rpb24gY29ubmVjdFRvU2VydmVyKGZvcm1EYXRhID0gbnVsbCkge1xuICBkZWJ1ZygnY29ubmVjdFRvU2VydmVyJylcbiAgY29uc3QgeyBpc0Nvbm5lY3RpbmcsIHJlYXV0aFJlcXVpcmVkIH0gPSBzdGF0ZVxuXG4gIGlmIChpc0Nvbm5lY3RpbmcpIHJldHVyblxuXG4gIGlmIChyZWF1dGhSZXF1aXJlZCkge1xuICAgIHN0YXRlLnJlYXV0aFJlcXVpcmVkID0gZmFsc2VcbiAgICByZXNldFRlcm1pbmFsKClcbiAgfVxuXG4gIHN0YXRlLmlzQ29ubmVjdGluZyA9IHRydWVcbiAgaW5pdGlhbGl6ZVNvY2tldENvbm5lY3Rpb24oKVxuXG4gIGNvbnN0IHsgdGVybWluYWxDb250YWluZXIgfSA9IGVsZW1lbnRzXG4gIGlmICh0ZXJtaW5hbENvbnRhaW5lcikge1xuICAgIGRlYnVnKCdUZXJtaW5hbCBjb250YWluZXIgZm91bmQuIEFwcGx5aW5nIGhlYWRlciBhbmQgZm9vdGVyLicpXG4gICAgaWYgKGNvbmZpZz8uaGVhZGVyPy50ZXh0ICE9IG51bGwgJiYgY29uZmlnPy5oZWFkZXI/LmJhY2tncm91bmQgIT0gbnVsbCkge1xuICAgICAgY29uc3QgaGVhZGVyQ29udGVudCA9IHtcbiAgICAgICAgdGV4dDogY29uZmlnLmhlYWRlci50ZXh0ID8/ICcnLFxuICAgICAgICBiYWNrZ3JvdW5kOiBjb25maWcuaGVhZGVyLmJhY2tncm91bmQgPz8gJydcbiAgICAgIH1cbiAgICAgIHVwZGF0ZUVsZW1lbnQoJ2hlYWRlcicsIGhlYWRlckNvbnRlbnQpXG4gICAgfVxuXG4gICAgaWYgKHNlc3Npb25Gb290ZXIgIT0gbnVsbCkge1xuICAgICAgdXBkYXRlRWxlbWVudCgnZm9vdGVyJywgeyB0ZXh0OiBzZXNzaW9uRm9vdGVyIH0pXG4gICAgfVxuICAgIHRvZ2dsZVRlcm1pbmFsRGlzcGxheSh0cnVlKVxuICB9XG59XG5cbi8qKlxuICogSGFuZGxlcyB0aGUgbG9naWMgd2hlbiBhIGNvbm5lY3Rpb24gaXMgc3VjY2Vzc2Z1bGx5IGVzdGFibGlzaGVkLlxuICovXG5mdW5jdGlvbiBvbkNvbm5lY3QoKSB7XG4gIGhpZGVSZWNvbm5lY3RCdG4oKVxuICBoaWRlRXJyb3JEaWFsb2coKVxuXG4gIC8vIFJlc2V0IHNlc3Npb24gbG9nIHNldHRpbmdzXG4gIHN0YXRlLnNlc3Npb25Mb2dFbmFibGUgPSBmYWxzZVxuICBzdGF0ZS5sb2dnZWREYXRhID0gZmFsc2VcbiAgdXBkYXRlc3RhcnRMb2dCdG5TdGF0ZShmYWxzZSlcblxuICBkZWJ1Zygnb25Db25uZWN0OiBTdWNjZXNzZnVsbHkgY29ubmVjdGVkIHRvIHRoZSBzZXJ2ZXInKVxufVxuXG4vKipcbiAqIEhhbmRsZXMgdGhlIGRpc2Nvbm5lY3Rpb24gZXZlbnQuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHJlYXNvbiAtIFRoZSByZWFzb24gZm9yIGRpc2Nvbm5lY3Rpb24uXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZnVuY3Rpb24gb25EaXNjb25uZWN0KHJlYXNvbiwgZGV0YWlscykge1xuICBjb25zdCByZWF1dGhSZXF1aXJlZCA9IHN0YXRlLnJlYXV0aFJlcXVpcmVkXG5cbiAgZGVidWcoJ29uRGlzY29ubmVjdDonLCByZWFzb24pXG5cbiAgc3dpdGNoIChyZWFzb24pIHtcbiAgICBjYXNlICdhdXRoX3JlcXVpcmVkJzpcbiAgICBjYXNlICdhdXRoX2ZhaWxlZCc6XG4gICAgICBzaG93bG9naW5EaWFsb2coKVxuICAgICAgYnJlYWtcblxuICAgICAgY2FzZSAncmVhdXRoX3JlcXVpcmVkJzpcbiAgICAgICAgZGVidWcoJ29uRGlzY29ubmVjdDogcmVhdXRoX3JlcXVpcmVkOiBmb3JtcyBhdXRoIGZsb3cnKVxuICAgICAgICBzdGF0ZS5yZWF1dGhSZXF1aXJlZCA9IHRydWVcbiAgICAgICAgc2hvd2xvZ2luRGlhbG9nKClcbiAgICAgICAgYnJlYWtcbiAgXG4gICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgIHNob3dFcnJvckRpYWxvZyhgU29ja2V0IGVycm9yOiAke2RldGFpbHMgfHwgcmVhc29ufWApXG4gICAgICAgIGNvbW1vblBvc3REaXNjb25uZWN0VGFza3MoKVxuICAgICAgICBicmVha1xuICBcbiAgICAgIGNhc2UgJ3NzaF9lcnJvcic6XG4gICAgICAgIGlmIChyZWF1dGhSZXF1aXJlZCkge1xuICAgICAgICAgIGRlYnVnKCdJZ25vcmluZyBlcnJvciBkdWUgdG8gcHJpb3IgcmVhdXRoX3JlcXVpcmVkJylcbiAgICAgICAgICBzdGF0ZS5yZWF1dGhSZXF1aXJlZCA9IGZhbHNlXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2hvd0Vycm9yRGlhbG9nKGAke2RldGFpbHMgfHwgcmVhc29ufWApXG4gICAgICAgICAgY29tbW9uUG9zdERpc2Nvbm5lY3RUYXNrcygpXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHNob3dFcnJvckRpYWxvZyhgRGlzY29ubmVjdGVkOiAke2RldGFpbHMgfHwgcmVhc29ufWApXG4gICAgICAgIGNvbW1vblBvc3REaXNjb25uZWN0VGFza3MoKVxuICAgICAgICBicmVha1xuICAgIH1cbiAgfVxuXG4vKipcbiAqIFBlcmZvcm1zIGNvbW1vbiB0YXNrcyBhZnRlciBkaXNjb25uZWN0aW5nIGZyb20gdGhlIHNlcnZlci5cbiAqIEBmdW5jdGlvbiBjb21tb25Qb3N0RGlzY29ubmVjdFRhc2tzXG4gKi9cbmZ1bmN0aW9uIGNvbW1vblBvc3REaXNjb25uZWN0VGFza3MoKSB7XG4gIGNvbnN0IHNlc3Npb25Mb2dFbmFibGUgPSBzdGF0ZS5zZXNzaW9uTG9nRW5hYmxlXG5cbiAgc3RhdGUuaXNDb25uZWN0aW5nID0gZmFsc2VcblxuICBpZiAoc2Vzc2lvbkxvZ0VuYWJsZSkge1xuICAgIGNvbnN0IGF1dG9Eb3dubG9hZCA9IHdpbmRvdy5jb25maXJtKFxuICAgICAgJ1dvdWxkIHlvdSBsaWtlIHRvIGRvd25sb2FkIHRoZSBzZXNzaW9uIGxvZz8nXG4gICAgKVxuICAgIGRvd25sb2FkTG9nKGF1dG9Eb3dubG9hZClcbiAgfVxuXG4gIHJlc2V0QXBwbGljYXRpb24oKVxuICBpZiAoXG4gICAgc3RhdGUuYWxsb3dSZWNvbm5lY3QgJiZcbiAgICAhc3RhdGUuaXNCYXNpY0F1dGhDb29raWVQcmVzZW50XG4gICkge1xuICAgIHNob3dSZWNvbm5lY3RCdG4ocmVjb25uZWN0VG9TZXJ2ZXIpXG4gIH1cbn1cblxuLyoqXG4gKiBIYW5kbGVzIHRoZSBkYXRhIHJlY2VpdmVkIGZyb20gdGhlIHNlcnZlci5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gZGF0YSAtIFRoZSBkYXRhIHJlY2VpdmVkIGZyb20gdGhlIHNlcnZlci5cbiAqL1xuZnVuY3Rpb24gb25EYXRhKGRhdGEpIHtcbiAgY29uc3Qgc2Vzc2lvbkxvZ0VuYWJsZSA9IHN0YXRlLnNlc3Npb25Mb2dFbmFibGVcbiAgaWYgKHNlc3Npb25Mb2dFbmFibGUpIHtcbiAgICBhZGRUb1Nlc3Npb25Mb2coZGF0YSlcbiAgfVxufVxuXG4vKipcbiAqIEhhbmRsZXMgZXJyb3JzIGFuZCB1cGRhdGVzIHRoZSBVSSBhY2NvcmRpbmdseS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZSAtIFRoZSBlcnJvciBtZXNzYWdlLlxuICogQHBhcmFtIHtFcnJvcn0gZXJyb3IgLSBUaGUgZXJyb3Igb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlRXJyb3IobWVzc2FnZSwgZXJyb3IpIHtcbiAgY29uc29sZS5lcnJvcignRXJyb3I6JywgbWVzc2FnZSwgZXJyb3IpXG4gIHN0YXRlLmlzQ29ubmVjdGluZyA9IGZhbHNlXG4gIHVwZGF0ZUVsZW1lbnQoJ3N0YXR1cycsIGBFcnJvcjogJHttZXNzYWdlfWAsICdyZWQnKVxuICBzaG93RXJyb3JEaWFsb2cobWVzc2FnZSlcbiAgLy8gc2hvd1JlY29ubmVjdEJ0bigpXG59XG5cbi8qKlxuICogUmVzZXRzIHRoZSBhcHBsaWNhdGlvbiBieSBkaXNhYmxpbmcgc2Vzc2lvbiBsb2csIHVwZGF0aW5nIGxvZyBidXR0b24gc3RhdGUsIGFuZCByZXNldHRpbmcgdGhlIHRlcm1pbmFsLlxuICovXG5mdW5jdGlvbiByZXNldEFwcGxpY2F0aW9uKCkge1xuICBzdGF0ZS5zZXNzaW9uTG9nRW5hYmxlID0gZmFsc2VcbiAgdXBkYXRlc3RhcnRMb2dCdG5TdGF0ZShmYWxzZSlcbn1cblxuLyoqXG4gKiBSZWNvbm5lY3RzIHRvIHRoZSBzZXJ2ZXIuXG4gKi9cbmZ1bmN0aW9uIHJlY29ubmVjdFRvU2VydmVyKCkge1xuICBjb25zdCBpc0Nvbm5lY3RpbmcgPSBzdGF0ZS5pc0Nvbm5lY3RpbmdcbiAgaWYgKGlzQ29ubmVjdGluZykge1xuICAgIGRlYnVnKCdSZWNvbm5lY3Rpb24gYWxyZWFkeSBpbiBwcm9ncmVzcycpXG4gICAgcmV0dXJuXG4gIH1cblxuICBoaWRlUmVjb25uZWN0QnRuKClcbiAgaGlkZUVycm9yRGlhbG9nKClcbiAgcmVzZXRUZXJtaW5hbCgpXG5cbiAgY29ubmVjdFRvU2VydmVyKClcbn1cblxuLyoqXG4gKiBJbml0aWFsaXplcyB0aGUgU1NIIGNvbm5lY3Rpb24uXG4gKlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIGluaXRpYWxpemVDb25uZWN0aW9uKCkge1xuICBjb25zdCB7IGF1dG9Db25uZWN0LCBzc2ggfSA9IGNvbmZpZ1xuICBkZWJ1ZygnaW5pdGlhbGl6ZUNvbm5lY3Rpb24nLCB7IGF1dG9Db25uZWN0IH0pXG4gIHRyeSB7XG4gICAgaWYgKGF1dG9Db25uZWN0KSB7XG4gICAgICBmaWxsTG9naW5Gb3JtKHNzaClcbiAgICAgIGNvbm5lY3RUb1NlcnZlcigpXG4gICAgfSBlbHNlIHtcbiAgICAgIHNob3dsb2dpbkRpYWxvZygpXG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGhhbmRsZUVycm9yKCdpbml0aWFsaXplQ29ubmVjdGlvbjogZmFpbGVkOiAnLCBlcnJvcilcbiAgfVxufVxuIiwiLy8gY2xpZW50XG4vLyBjbGllbnQvc3JjL2pzL3NldHRpbmdzLmpzXG5cbmltcG9ydCBjcmVhdGVEZWJ1ZyBmcm9tICdkZWJ1ZydcblxuY29uc3QgZGVidWcgPSBjcmVhdGVEZWJ1Zygnd2Vic3NoMi1jbGllbnQ6c2V0dGluZ3MnKVxuXG5jb25zdCBTVE9SQUdFX0tFWSA9ICd3ZWJzc2gyLnNldHRpbmdzLmdsb2JhbCdcblxuLyoqXG4gKiBJbml0aWFsaXplcyB0aGUgc2V0dGluZ3MgaW4gbG9jYWxTdG9yYWdlIHdpdGggZGVmYXVsdCB2YWx1ZXMgaWYgdGhleSBkb24ndCBleGlzdC5cbiAqIEBwYXJhbSB7T2JqZWN0fSBbY29uZmlnXSAtIFRoZSBjb25maWd1cmF0aW9uIG9iamVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5pdGlhbGl6ZVNldHRpbmdzKGNvbmZpZyA9IHt9KSB7XG4gIGlmICghbG9jYWxTdG9yYWdlLmdldEl0ZW0oU1RPUkFHRV9LRVkpKSB7XG4gICAgc2F2ZVRlcm1pbmFsU2V0dGluZ3Moe30pXG4gICAgZGVidWcoJ2luaXRpYWxpemVTZXR0aW5nczogSW5pdGlhbGl6ZWQgZW1wdHkgc2V0dGluZ3MgaW4gbG9jYWxTdG9yYWdlJylcbiAgfVxuICBkZWJ1ZygnaW5pdGlhbGl6ZVNldHRpbmdzJylcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIHRlcm1pbmFsIHNldHRpbmdzIGZyb20gbG9jYWxTdG9yYWdlLlxuICogQHBhcmFtIHtPYmplY3R9IFtjb25maWddIC0gVGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0XG4gKiBAcmV0dXJucyB7T2JqZWN0fSBUaGUgdGVybWluYWwgc2V0dGluZ3Mgb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RvcmVkU2V0dGluZ3MoKSB7XG4gIGNvbnN0IHN0b3JlZFNldHRpbmdzID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShTVE9SQUdFX0tFWSkpXG4gIGlmIChzdG9yZWRTZXR0aW5ncykge1xuICAgIHRyeSB7XG4gICAgICBkZWJ1ZygnZ2V0U3RvcmVkU2V0dGluZ3MnLCBzdG9yZWRTZXR0aW5ncylcbiAgICAgIHJldHVybiBzdG9yZWRTZXR0aW5nc1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdnZXRTdG9yZWRTZXR0aW5nczogRXJyb3IgcGFyc2luZyBzdG9yZWQgc2V0dGluZ3M6JywgZXJyb3IpXG4gICAgfVxuICB9XG4gIHJldHVybiB7fVxufVxuXG4vKipcbiAqIFNhdmVzIHRoZSB0ZXJtaW5hbCBzZXR0aW5ncyB0byBsb2NhbFN0b3JhZ2UuXG4gKiBAcGFyYW0ge09iamVjdH0gc2V0dGluZ3MgLSBUaGUgdGVybWluYWwgc2V0dGluZ3Mgb2JqZWN0IHRvIHNhdmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzYXZlVGVybWluYWxTZXR0aW5ncyhzZXR0aW5ncykge1xuICB0cnkge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFNUT1JBR0VfS0VZLCBKU09OLnN0cmluZ2lmeShzZXR0aW5ncykpXG4gICAgZGVidWcoJ3NhdmVUZXJtaW5hbFNldHRpbmdzJywgc2V0dGluZ3MpXG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcignc2F2ZVRlcm1pbmFsU2V0dGluZ3MnLCBlcnJvcilcbiAgfVxufVxuXG4iLCIvLyBjbGllbnRcbi8vIGNsaWVudC9zcmMvanMvc29ja2V0LmpzXG5cbmltcG9ydCBpbyBmcm9tICdzb2NrZXQuaW8tY2xpZW50J1xuaW1wb3J0IGNyZWF0ZURlYnVnIGZyb20gJ2RlYnVnJ1xuaW1wb3J0IHtcbiAgaGlkZVByb21wdERpYWxvZyxcbiAgcmVzaXplLFxuICBzaG93RXJyb3JEaWFsb2csXG4gIHNob3dQcm9tcHREaWFsb2csXG4gIHVwZGF0ZUVsZW1lbnQsXG4gIHVwZGF0ZVVJVmlzaWJpbGl0eVxufSBmcm9tICcuL2RvbS5qcydcbmltcG9ydCB7IGdldENyZWRlbnRpYWxzIH0gZnJvbSAnLi91dGlscy5qcydcbmltcG9ydCB7IGdldFRlcm1pbmFsRGltZW5zaW9ucyB9IGZyb20gJy4vdGVybWluYWwuanMnXG5pbXBvcnQgeyBzdGF0ZSB9IGZyb20gJy4vc3RhdGUuanMnXG5pbXBvcnQgeyB0b2dnbGVMb2cgfSBmcm9tICcuL2NsaWVudGxvZy5qcydcbmltcG9ydCBtYXNrT2JqZWN0IGZyb20gJ2pzbWFza2VyJ1xuXG5jb25zdCBkZWJ1ZyA9IGNyZWF0ZURlYnVnKCd3ZWJzc2gyLWNsaWVudDpzb2NrZXQnKVxuXG5sZXQgc29ja2V0XG5sZXQgY29uZmlnXG5sZXQgd3JpdGVUb1Rlcm1pbmFsXG5sZXQgb25Db25uZWN0Q2FsbGJhY2tcbmxldCBvbkRpc2Nvbm5lY3RDYWxsYmFja1xubGV0IG9uRGF0YUNhbGxiYWNrXG5sZXQgZm9jdXNUZXJtaW5hbENhbGxiYWNrXG5cbi8qKlxuICogQ2xvc2VzIHRoZSBzb2NrZXQgY29ubmVjdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsb3NlQ29ubmVjdGlvbigpIHtcbiAgaWYgKHNvY2tldCkge1xuICAgIGRlYnVnKCdjbG9zZUNvbm5lY3Rpb24nKVxuICAgIHNvY2tldC5jbG9zZSgpXG4gIH1cbn1cblxuLyoqXG4gKiBFbWl0cyBkYXRhIHRvIHRoZSBzZXJ2ZXIuXG4gKiBAcGFyYW0ge3N0cmluZ30gZGF0YSAtIFRoZSBkYXRhIHRvIHNlbmQgdG8gdGhlIHNlcnZlclxuICovXG5leHBvcnQgZnVuY3Rpb24gZW1pdERhdGEoZGF0YSkge1xuICBpZiAoc29ja2V0KSB7XG4gICAgc29ja2V0LmVtaXQoJ2RhdGEnLCBkYXRhKVxuICB9XG59XG5cbi8qKlxuICogRW1pdHMgYSByZXNpemUgZXZlbnQgdG8gdGhlIHNlcnZlciB3aXRoIG5ldyB0ZXJtaW5hbCBkaW1lbnNpb25zLlxuICogQHBhcmFtIHtPYmplY3R9IGRpbWVuc2lvbnMgLSBUaGUgbmV3IGRpbWVuc2lvbnMgb2YgdGhlIHRlcm1pbmFsXG4gKiBAcGFyYW0ge251bWJlcn0gZGltZW5zaW9ucy5jb2xzIC0gVGhlIG51bWJlciBvZiBjb2x1bW5zXG4gKiBAcGFyYW0ge251bWJlcn0gZGltZW5zaW9ucy5yb3dzIC0gVGhlIG51bWJlciBvZiByb3dzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbWl0UmVzaXplKGRpbWVuc2lvbnMpIHtcbiAgaWYgKHNvY2tldCkge1xuICAgIHNvY2tldC5lbWl0KCdyZXNpemUnLCBkaW1lbnNpb25zKVxuICAgIGRlYnVnKCdlbWl0UmVzaXplJywgZGltZW5zaW9ucylcbiAgfVxufVxuXG4vKipcbiAqIEluaXRpYWxpemVzIHRoZSBzb2NrZXQgY29ubmVjdGlvbi5cbiAqIEByZXR1cm5zIHtTb2NrZXRJT0NsaWVudC5Tb2NrZXR9IFRoZSBpbml0aWFsaXplZCBzb2NrZXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVTb2NrZXRDb25uZWN0aW9uKCkge1xuICBkZWJ1ZygnaW5pdGlhbGl6ZVNvY2tldENvbm5lY3Rpb24nKVxuICBjbG9zZUNvbm5lY3Rpb25cblxuICBzb2NrZXQgPSBpbyhnZXRXZWJTb2NrZXRVcmwoKSwge1xuICAgIHBhdGg6IGdldFNvY2tldElPUGF0aCgpLFxuICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICByZWNvbm5lY3Rpb246IGZhbHNlLFxuICAgIHRpbWVvdXQ6IDIwMDAwLFxuICAgIHBpbmdUaW1lb3V0OiA2MDAwMCxcbiAgICBwaW5nSW50ZXJ2YWw6IDI1MDAwXG4gIH0pXG5cbiAgc2V0dXBTb2NrZXRMaXN0ZW5lcnMoKVxuXG4gIHJldHVybiBzb2NrZXRcbn1cblxuLyoqXG4gKiBJbml0aWFsaXplcyB0aGUgc29ja2V0IG1vZHVsZSB3aXRoIG5lY2Vzc2FyeSBkZXBlbmRlbmNpZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0U29ja2V0KFxuICBjb25maWdPYmosXG4gIGNvbm5lY3RDYWxsYmFjayxcbiAgZGlzY29ubmVjdENhbGxiYWNrLFxuICBkYXRhQ2FsbGJhY2ssXG4gIHdyaXRlRnVuY3Rpb24sXG4gIGZvY3VzQ2FsbGJhY2tcbikge1xuICBjb25maWcgPSBjb25maWdPYmpcbiAgb25Db25uZWN0Q2FsbGJhY2sgPSBjb25uZWN0Q2FsbGJhY2tcbiAgb25EaXNjb25uZWN0Q2FsbGJhY2sgPSBkaXNjb25uZWN0Q2FsbGJhY2tcbiAgb25EYXRhQ2FsbGJhY2sgPSBkYXRhQ2FsbGJhY2tcbiAgd3JpdGVUb1Rlcm1pbmFsID0gd3JpdGVGdW5jdGlvblxuICBmb2N1c1Rlcm1pbmFsQ2FsbGJhY2sgPSBmb2N1c0NhbGxiYWNrXG59XG5cbi8qKlxuICogSW5pdGlhdGVzIGEgcmVhdXRoZW50aWNhdGlvbiBzZXNzaW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVhdXRoKCkge1xuICBpZiAoc3RhdGUuYWxsb3dSZWF1dGgpIHtcbiAgICBkZWJ1ZygncmVhdXRoJylcbiAgICBzb2NrZXQuZW1pdCgnY29udHJvbCcsICdyZWF1dGgnKVxuICB9IGVsc2Uge1xuICAgIGNvbnNvbGUud2FybigncmVhdXRoOiBTZXNzaW9uIHJlYXV0aCBub3QgcGVybWl0dGVkJylcbiAgICB1cGRhdGVVSVZpc2liaWxpdHkoeyBlcnJvcjogJ1JlYXV0aGVudGljYXRpb24gbm90IHBlcm1pdHRlZC4nIH0pXG4gIH1cbn1cblxuLyoqXG4gKiBSZXBsYXlzIGNyZWRlbnRpYWxzIHRvIHRoZSBzZXJ2ZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXBsYXlDcmVkZW50aWFscygpIHtcbiAgY29uc3QgYWxsb3dSZXBsYXkgPSBzdGF0ZS5hbGxvd1JlcGxheVxuICBpZiAoYWxsb3dSZXBsYXkpIHtcbiAgICBkZWJ1ZygncmVwbGF5Q3JlZGVudGlhbHMnKVxuICAgIHNvY2tldC5lbWl0KCdjb250cm9sJywgJ3JlcGxheUNyZWRlbnRpYWxzJylcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLndhcm4oJ3JlcGxheUNyZWRlbnRpYWxzOiBDcmVkZW50aWFsIHJlcGxheSBub3QgcGVybWl0dGVkJylcbiAgICBzaG93RXJyb3JEaWFsb2coJ0NyZWRlbnRpYWwgcmVwbGF5IG5vdCBwZXJtaXR0ZWQnKVxuICB9XG59XG5cbi8qKlxuICogSW5pdGlhdGVzIGF1dGhlbnRpY2F0aW9uIHdpdGggdGhlIHNlcnZlclxuICogQHBhcmFtIHtPYmplY3R9IGZvcm1EYXRhIC0gT3B0aW9uYWwgZm9ybSBkYXRhIHRvIHVzZSBmb3IgYXV0aGVudGljYXRpb25cbiAqL1xuZnVuY3Rpb24gYXV0aGVudGljYXRlKGZvcm1EYXRhID0gbnVsbCkge1xuICBjb25zdCB0ZXJtaW5hbERpbWVuc2lvbnMgPSBnZXRUZXJtaW5hbERpbWVuc2lvbnMoKVxuICBjb25zdCBjcmVkZW50aWFscyA9IGdldENyZWRlbnRpYWxzKGZvcm1EYXRhLCB0ZXJtaW5hbERpbWVuc2lvbnMpXG4gIHN0YXRlLnRlcm0gPSBjcmVkZW50aWFscy50ZXJtXG4gIGNvbnN0IG1hc2tlZENvbnRlbnQgPSBtYXNrT2JqZWN0KGNyZWRlbnRpYWxzKVxuICBkZWJ1ZygnYXV0aGVudGljYXRlJywgbWFza2VkQ29udGVudClcbiAgaWYgKGNyZWRlbnRpYWxzLmhvc3QgJiYgY3JlZGVudGlhbHMudXNlcm5hbWUpIHtcbiAgICBzb2NrZXQuZW1pdCgnYXV0aGVudGljYXRlJywgY3JlZGVudGlhbHMpXG4gICAgdXBkYXRlRWxlbWVudCgnc3RhdHVzJywgJ0F1dGhlbnRpY2F0aW5nLi4uJywgJ29yYW5nZScpXG4gIH0gZWxzZSB7XG4gICAgaWYgKG9uRGlzY29ubmVjdENhbGxiYWNrKSB7XG4gICAgICBvbkRpc2Nvbm5lY3RDYWxsYmFjaygnYXV0aF9yZXF1aXJlZCcpXG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSB0ZXJtaW5hbCBjb25maWd1cmF0aW9uIGFuZCBzZW5kcyBpdCB0byB0aGUgc2VydmVyLlxuICovXG5mdW5jdGlvbiBnZXRUZXJtaW5hbCgpIHtcbiAgY29uc3QgeyBjb2xzLCByb3dzIH0gPSBnZXRUZXJtaW5hbERpbWVuc2lvbnMoKVxuICBjb25zdCB0ZXJtID0gc3RhdGUudGVybVxuICBjb25zdCB0ZXJtaW5hbCA9IHsgY29scywgcm93cywgdGVybSB9XG4gIGRlYnVnKCdnZXRUZXJtaW5hbCcsIHRlcm1pbmFsKVxuICBpZiAoc29ja2V0KSB7XG4gICAgc29ja2V0LmVtaXQoJ3Rlcm1pbmFsJywgdGVybWluYWwpXG4gIH1cbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIHBhdGggZm9yIHRoZSBTb2NrZXQuSU8gY29ubmVjdGlvbi5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBTb2NrZXQuSU8gcGF0aC5cbiAqL1xuZnVuY3Rpb24gZ2V0U29ja2V0SU9QYXRoKCkge1xuICBjb25zdCBzb2NrZXRJT1BhdGggPVxuICAgIGNvbmZpZyAmJiBjb25maWcuc29ja2V0ICYmIGNvbmZpZy5zb2NrZXQucGF0aFxuICAgICAgPyBjb25maWcuc29ja2V0LnBhdGhcbiAgICAgIDogJy9zc2gvc29ja2V0LmlvJ1xuICBkZWJ1ZygnZ2V0U29ja2V0SU9QYXRoJywgc29ja2V0SU9QYXRoKVxuICByZXR1cm4gc29ja2V0SU9QYXRoXG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBXZWJTb2NrZXQgVVJMIGZvciBlc3RhYmxpc2hpbmcgYSBjb25uZWN0aW9uLlxuICogQHJldHVybnMge3N0cmluZ30gVGhlIFdlYlNvY2tldCBVUkwuXG4gKi9cbmZ1bmN0aW9uIGdldFdlYlNvY2tldFVybCgpIHtcbiAgaWYgKGNvbmZpZyAmJiBjb25maWcuc29ja2V0ICYmIGNvbmZpZy5zb2NrZXQudXJsKSB7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTChjb25maWcuc29ja2V0LnVybClcbiAgICB1cmwucHJvdG9jb2wgPSB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2wgPT09ICdodHRwczonID8gJ3dzczonIDogJ3dzOidcbiAgICByZXR1cm4gdXJsLnRvU3RyaW5nKClcbiAgfVxuXG4gIGNvbnN0IHByb3RvY29sID0gd2luZG93LmxvY2F0aW9uLnByb3RvY29sID09PSAnaHR0cHM6JyA/ICd3c3M6JyA6ICd3czonXG4gIGNvbnN0IGhvc3QgPSB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWVcbiAgY29uc3QgcG9ydCA9IHdpbmRvdy5sb2NhdGlvbi5wb3J0IHx8IChwcm90b2NvbCA9PT0gJ3dzczonID8gJzQ0MycgOiAnODAnKVxuXG4gIGNvbnN0IHdlYlNvY2tldFVybCA9IGAke3Byb3RvY29sfS8vJHtob3N0fToke3BvcnR9YFxuICBkZWJ1ZygnZ2V0V2ViU29ja2V0VXJsJywgd2ViU29ja2V0VXJsKVxuXG4gIHJldHVybiB3ZWJTb2NrZXRVcmxcbn1cblxuLyoqXG4gKiBIYW5kbGVzIHRoZSByZXN1bHQgb2YgYXV0aGVudGljYXRpb24gYXR0ZW1wdC5cbiAqIEBwYXJhbSB7T2JqZWN0fSByZXN1bHQgLSBUaGUgYXV0aGVudGljYXRpb24gcmVzdWx0LlxuICovXG5mdW5jdGlvbiBhdXRoUmVzdWx0KHJlc3VsdCkge1xuICBkZWJ1ZygnYXV0aFJlc3VsdCcsIHJlc3VsdClcbiAgc3RhdGUuaXNDb25uZWN0aW5nID0gZmFsc2VcbiAgaWYgKHJlc3VsdC5zdWNjZXNzKSB7XG4gICAgdXBkYXRlRWxlbWVudCgnc3RhdHVzJywgJ0Nvbm5lY3RlZCcsICdncmVlbicpXG4gICAgaWYgKGZvY3VzVGVybWluYWxDYWxsYmFjaykge1xuICAgICAgZm9jdXNUZXJtaW5hbENhbGxiYWNrKClcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdXBkYXRlRWxlbWVudCgnc3RhdHVzJywgYEF1dGhlbnRpY2F0aW9uIGZhaWxlZDogJHtyZXN1bHQubWVzc2FnZX1gLCAncmVkJylcbiAgICBpZiAob25EaXNjb25uZWN0Q2FsbGJhY2spIHtcbiAgICAgIG9uRGlzY29ubmVjdENhbGxiYWNrKCdhdXRoX2ZhaWxlZCcsIHJlc3VsdC5tZXNzYWdlKVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEhhbmRsZXMgc3VjY2Vzc2Z1bCBjb25uZWN0aW9uc1xuICovXG5mdW5jdGlvbiBjb25uZWN0KCkge1xuICBkZWJ1ZygnY29ubmVjdDogQ29ubmVjdGVkIHRvIHNlcnZlcicpXG4gIC8vIHRlcm0gY29scy9yb3dzXG4gIHN0YXRlLmlzQ29ubmVjdGluZyA9IGZhbHNlXG4gIHVwZGF0ZUVsZW1lbnQoJ3N0YXR1cycsICdDb25uZWN0ZWQnLCAnZ3JlZW4nKVxuXG4gIHJlc2l6ZSgpXG5cbiAgaWYgKG9uQ29ubmVjdENhbGxiYWNrKSB7XG4gICAgb25Db25uZWN0Q2FsbGJhY2soKVxuICB9XG59XG5cbi8qKlxuICogSGFuZGxlcyBjb25uZWN0aW9uIGVycm9yc1xuICogQHBhcmFtIHtFcnJvcn0gZXJyb3IgLSBUaGUgY29ubmVjdGlvbiBlcnJvclxuICovXG5mdW5jdGlvbiBjb25uZWN0X2Vycm9yKGVycm9yKSB7XG4gIGRlYnVnKCdjb25uZWN0X2Vycm9yJywgZXJyb3IpXG4gIGlmIChvbkRpc2Nvbm5lY3RDYWxsYmFjaykge1xuICAgIG9uRGlzY29ubmVjdENhbGxiYWNrKCdjb25uZWN0X2Vycm9yJywgZXJyb3IpXG4gIH1cbn1cblxuLyoqXG4gKiBIYW5kbGVzIGluY29taW5nIGRhdGEgZnJvbSB0aGUgc2VydmVyLlxuICogQHBhcmFtIHtzdHJpbmd9IGRhdGEgLSBUaGUgZGF0YSByZWNlaXZlZCBmcm9tIHRoZSBzZXJ2ZXIuXG4gKi9cbmZ1bmN0aW9uIGRhdGEoZGF0YSkge1xuICBpZiAod3JpdGVUb1Rlcm1pbmFsKSB7XG4gICAgd3JpdGVUb1Rlcm1pbmFsKGRhdGEpXG4gIH1cbiAgaWYgKG9uRGF0YUNhbGxiYWNrKSB7XG4gICAgb25EYXRhQ2FsbGJhY2soZGF0YSlcbiAgfVxufVxuXG4vKipcbiAqIEhhbmRsZXMgZGlzY29ubmVjdGlvbnNcbiAqIEBwYXJhbSB7c3RyaW5nfSByZWFzb24gLSBUaGUgcmVhc29uIGZvciBkaXNjb25uZWN0aW9uXG4gKi9cbmZ1bmN0aW9uIGRpc2Nvbm5lY3QocmVhc29uKSB7XG4gIGRlYnVnKCdkaXNjb25uZWN0JywgcmVhc29uKVxuICBzdGF0ZS5pc0Nvbm5lY3RpbmcgPSBmYWxzZVxuICB1cGRhdGVFbGVtZW50KCdzdGF0dXMnLCBgV0VCU09DS0VUIFNFUlZFUiBESVNDT05ORUNURUQ6ICR7cmVhc29ufWAsICdyZWQnKVxuXG4gIGlmIChvbkRpc2Nvbm5lY3RDYWxsYmFjaykge1xuICAgIG9uRGlzY29ubmVjdENhbGxiYWNrKHJlYXNvbilcbiAgfVxufVxuXG4vKipcbiAqIEhhbmRsZXMgc29ja2V0IGVycm9yc1xuICogQHBhcmFtIHtFcnJvcn0gZXJyb3IgLSBUaGUgZXJyb3Igb2JqZWN0XG4gKi9cbmZ1bmN0aW9uIGVycm9yKGVycm9yKSB7XG4gIGRlYnVnKCdTb2NrZXQgZXJyb3I6JywgZXJyb3IpXG4gIGlmIChvbkRpc2Nvbm5lY3RDYWxsYmFjaykge1xuICAgIG9uRGlzY29ubmVjdENhbGxiYWNrKCdlcnJvcicsIGVycm9yKVxuICB9XG59XG5cbi8qKlxuICogQXBwbGllcyB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgdG8gdGhlIGNvcnJlc3BvbmRpbmcgaGFuZGxlcnMuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHBlcm1pc3Npb25zIC0gVGhlIHBlcm1pc3Npb25zIG9iamVjdC5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gcGVybWlzc2lvbnMuYXV0b0xvZyAtIFRoZSBwZXJtaXNzaW9uIGZvciBhdXRvIGxvZ2dpbmcuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IHBlcm1pc3Npb25zLmFsbG93UmVhdXRoIC0gVGhlIHBlcm1pc3Npb24gZm9yIGFsbG93aW5nIHJlYXV0aGVudGljYXRpb24uXG4gKiBAcGFyYW0ge2Jvb2xlYW59IHBlcm1pc3Npb25zLmFsbG93UmVjb25uZWN0IC0gVGhlIHBlcm1pc3Npb24gZm9yIGFsbG93aW5nIHJlY29ubmVjdGlvbi5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gcGVybWlzc2lvbnMuYWxsb3dSZXBsYXkgLSBUaGUgcGVybWlzc2lvbiBmb3IgYWxsb3dpbmcgcmVwbGF5LlxuICovXG5mdW5jdGlvbiBwZXJtaXNzaW9ucyhwZXJtaXNzaW9ucykge1xuICBkZWJ1ZygncGVybWlzc2lvbnMnLCBwZXJtaXNzaW9ucylcblxuICBjb25zdCBoYW5kbGVycyA9IHtcbiAgICBhdXRvTG9nOiAodmFsdWUpID0+IHtcbiAgICAgIGlmICh2YWx1ZSkgdG9nZ2xlTG9nKHZhbHVlKVxuICAgIH0sXG5cbiAgICBhbGxvd1JlYXV0aDogKHZhbHVlKSA9PiB7XG4gICAgICBzdGF0ZS5hbGxvd1JlYXV0aCA9IHZhbHVlXG5cbiAgICAgIHVwZGF0ZVVJVmlzaWJpbGl0eSh7IGFsbG93UmVhdXRoOiB2YWx1ZSB9KVxuICAgIH0sXG5cbiAgICBhbGxvd1JlY29ubmVjdDogKHZhbHVlKSA9PiB7XG4gICAgICBzdGF0ZS5hbGxvd1JlY29ubmVjdCA9IHZhbHVlXG4gICAgfSxcblxuICAgIGFsbG93UmVwbGF5OiAodmFsdWUpID0+IHtcbiAgICAgIHN0YXRlLmFsbG93UmVwbGF5ID0gdmFsdWVcblxuICAgICAgdXBkYXRlVUlWaXNpYmlsaXR5KHsgYWxsb3dSZXBsYXk6IHZhbHVlIH0pXG4gICAgfVxuICB9XG5cbiAgT2JqZWN0LmVudHJpZXMocGVybWlzc2lvbnMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIGlmIChrZXkgaW4gaGFuZGxlcnMpIHtcbiAgICAgIGhhbmRsZXJzW2tleV0odmFsdWUpXG4gICAgfVxuICB9KVxufVxuXG4vKipcbiAqIEhhbmRsZXMgdGhlIGtleWJvYXJkLWludGVyYWN0aXZlIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3QgZnJvbSB0aGUgc2VydmVyLlxuICogQHBhcmFtIHtPYmplY3R9IGRhdGEgLSBUaGUgZGF0YSBvYmplY3QgY29udGFpbmluZyBwcm9tcHQgaW5mb3JtYXRpb24uXG4gKi9cbmZ1bmN0aW9uIGhhbmRsZUtleWJvYXJkSW50ZXJhY3RpdmUoZGF0YSkge1xuICBkZWJ1ZygnaGFuZGxlS2V5Ym9hcmRJbnRlcmFjdGl2ZScpXG4gIHNob3dQcm9tcHREaWFsb2coZGF0YSwgKHJlc3BvbnNlcykgPT4ge1xuICAgIGRlYnVnKCdoYW5kbGVLZXlib2FyZEludGVyYWN0aXZlOiByZXNwb25zZScpXG4gICAgc29ja2V0LmVtaXQoJ2F1dGhlbnRpY2F0aW9uJywge1xuICAgICAgYWN0aW9uOiAna2V5Ym9hcmQtaW50ZXJhY3RpdmUnLFxuICAgICAgcmVzcG9uc2VzOiByZXNwb25zZXNcbiAgICB9KTtcbiAgfSk7XG59XG5cbi8qKlxuICogSGFuZGxlcyBTU0ggZXJyb3JzIGZyb20gdGhlIHNlcnZlclxuICogQHBhcmFtIHtzdHJpbmd9IGVycm9yIC0gVGhlIFNTSCBlcnJvciBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNzaGVycm9yKGVycm9yKSB7XG4gIGRlYnVnKCdzc2hlcnJvcicsIGVycm9yKVxuICBpZiAob25EaXNjb25uZWN0Q2FsbGJhY2spIHtcbiAgICBvbkRpc2Nvbm5lY3RDYWxsYmFjaygnc3NoX2Vycm9yJywgZXJyb3IpXG4gIH1cbn1cblxuLyoqXG4gKiBIYW5kbGVzIHRoZSBhdXRoZW50aWNhdGlvbiBwcm9jZXNzLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBkYXRhIC0gVGhlIGRhdGEgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGF1dGhlbnRpY2F0aW9uIGFjdGlvbi5cbiAqL1xuZnVuY3Rpb24gYXV0aGVudGljYXRpb24oZGF0YSkge1xuICBkZWJ1ZygnYXV0aGVudGljYXRpb24nLCBkYXRhKVxuXG4gIHN3aXRjaCAoZGF0YS5hY3Rpb24pIHtcbiAgICBjYXNlICdyZXF1ZXN0X2F1dGgnOlxuICAgICAgYXV0aGVudGljYXRlKClcbiAgICAgIHVwZGF0ZUVsZW1lbnQoJ3N0YXR1cycsICdSZXF1ZXN0aW5nIGF1dGhlbnRpY2F0aW9uLi4uJywgJ29yYW5nZScpXG4gICAgICBicmVha1xuXG4gICAgY2FzZSAnYXV0aF9yZXN1bHQnOlxuICAgICAgYXV0aFJlc3VsdChkYXRhKVxuICAgICAgYnJlYWtcblxuICAgIGNhc2UgJ2tleWJvYXJkLWludGVyYWN0aXZlJzpcbiAgICAgIGhhbmRsZUtleWJvYXJkSW50ZXJhY3RpdmUoZGF0YSlcbiAgICAgIGJyZWFrXG5cbiAgICBjYXNlICdyZWF1dGgnOlxuICAgICAgaWYgKG9uRGlzY29ubmVjdENhbGxiYWNrKSB7XG4gICAgICAgIG9uRGlzY29ubmVjdENhbGxiYWNrKCdyZWF1dGhfcmVxdWlyZWQnLCBzb2NrZXQpXG4gICAgICB9XG4gICAgICBicmVha1xuXG4gICAgY2FzZSAnZGltZW5zaW9ucyc6XG4gICAgICBjb25zdCB0ZXJtaW5hbERpbWVuc2lvbnMgPSBnZXRUZXJtaW5hbERpbWVuc2lvbnMoKVxuICAgICAgZW1pdFJlc2l6ZSh0ZXJtaW5hbERpbWVuc2lvbnMpXG4gICAgICBicmVha1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIGRlYnVnKGBVbmhhbmRsZWQgYXV0aGVudGljYXRpb24gYWN0aW9uOiAke2RhdGEuYWN0aW9ufWApXG4gICAgICBicmVha1xuICB9XG59XG5cbi8qKlxuICogSGFuZGxlcyB0aGUgXCJ1cGRhdGVVSVwiIGV2ZW50IGZyb20gdGhlIHNlcnZlciBhbmQgdXBkYXRlcyB0aGUgc3BlY2lmaWVkIFVJIGVsZW1lbnQuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IGRhdGEgLSBUaGUgZGF0YSByZWNlaXZlZCBmcm9tIHRoZSBzZXJ2ZXIuXG4gKiBAcGFyYW0ge3N0cmluZ30gZGF0YS5lbGVtZW50IC0gVGhlIG5hbWUgb2YgdGhlIGVsZW1lbnQgdG8gYmUgdXBkYXRlZC5cbiAqIEBwYXJhbSB7c3RyaW5nfG9iamVjdH0gZGF0YS52YWx1ZSAtIFRoZSBuZXcgY29udGVudCBmb3IgdGhlIGVsZW1lbnQuXG4gKi9cbmZ1bmN0aW9uIHVwZGF0ZVVJKGRhdGEpIHtcbiAgZGVidWcoJ3VwZGF0ZVVJJywgSlNPTi5zdHJpbmdpZnkoZGF0YSkpXG5cbiAgY29uc3QgeyBlbGVtZW50LCB2YWx1ZSB9ID0gZGF0YVxuXG4gIC8vIENoZWNrIGlmIHRoZSByZWNlaXZlZCBkYXRhIGlzIHZhbGlkXG4gIGlmICghZWxlbWVudCB8fCAhdmFsdWUpIHtcbiAgICBjb25zb2xlLndhcm4oJ3VwZGF0ZVVJOiBSZWNlaXZlZCBpbnZhbGlkIGRhdGEgZnJvbSB1cGRhdGVVSSBldmVudDonLCBkYXRhKVxuICAgIHJldHVyblxuICB9XG5cbiAgLy8gVXBkYXRlIHRoZSBlbGVtZW50IHVzaW5nIHRoZSB1cGRhdGVFbGVtZW50IGZ1bmN0aW9uXG4gIHVwZGF0ZUVsZW1lbnQoZWxlbWVudCwgdmFsdWUpXG59XG5cbi8qKlxuICogU2V0cyB1cCBTb2NrZXQuSU8gZXZlbnQgbGlzdGVuZXJzXG4gKi9cbmZ1bmN0aW9uIHNldHVwU29ja2V0TGlzdGVuZXJzKCkge1xuICBkZWJ1Zygnc2V0dXBTb2NrZXRMaXN0ZW5lcnMnKVxuICBPYmplY3QuZW50cmllcyh7XG4gICAgYXV0aGVudGljYXRpb24sXG4gICAgY29ubmVjdCxcbiAgICBjb25uZWN0X2Vycm9yLFxuICAgIGRhdGEsXG4gICAgZ2V0VGVybWluYWwsXG4gICAgZGlzY29ubmVjdCxcbiAgICBlcnJvcixcbiAgICBwZXJtaXNzaW9ucyxcbiAgICBzc2hlcnJvcixcbiAgICB1cGRhdGVVSVxuICB9KS5mb3JFYWNoKChbZXZlbnQsIGhhbmRsZXJdKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBoYW5kbGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBzb2NrZXQub24oZXZlbnQsIGhhbmRsZXIpXG4gICAgfVxuICB9KVxufVxuIiwiLy8gY2xpZW50XG4vLyBjbGllbnQvc3JjL2pzL3N0YXRlLmpzXG5cbmltcG9ydCBjcmVhdGVEZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5cbmNvbnN0IGRlYnVnID0gY3JlYXRlRGVidWcoJ3dlYnNzaDItY2xpZW50OnN0YXRlJyk7XG5cbmNvbnN0IGluaXRpYWxTdGF0ZSA9IHtcbiAgYWxsb3dSZWF1dGg6IGZhbHNlLFxuICBhbGxvd1JlY29ubmVjdDogZmFsc2UsXG4gIGFsbG93UmVwbGF5OiBmYWxzZSxcbiAgaXNCYXNpY0F1dGhDb29raWVQcmVzZW50OiBmYWxzZSxcbiAgaXNDb25uZWN0aW5nOiBmYWxzZSxcbiAgbG9nZ2VkRGF0YTogZmFsc2UsXG4gIHJlYXV0aFJlcXVpcmVkOiBmYWxzZSxcbiAgc2Vzc2lvbkxvZ0VuYWJsZTogZmFsc2UsXG4gIHRlcm06IG51bGxcbn07XG5cbmV4cG9ydCBjb25zdCBzdGF0ZSA9IHsgLi4uaW5pdGlhbFN0YXRlIH07XG5cbmV4cG9ydCBmdW5jdGlvbiB0b2dnbGVTdGF0ZShrZXkpIHtcbiAgaWYgKHR5cGVvZiBzdGF0ZVtrZXldID09PSAnYm9vbGVhbicpIHtcbiAgICBzdGF0ZVtrZXldID0gIXN0YXRlW2tleV07XG4gICAgZGVidWcoJ3RvZ2dsZVN0YXRlJywgeyBba2V5XTogc3RhdGVba2V5XSB9KTtcbiAgICByZXR1cm4gc3RhdGVba2V5XTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCB0b2dnbGUgbm9uLWJvb2xlYW4gc3RhdGU6ICR7a2V5fWApO1xufVxuIiwiLy8gY2xpZW50XG4vLyBjbGllbnQvc3JjL2pzL3Rlcm1pbmFsLmpzXG5cbmltcG9ydCB7IFRlcm1pbmFsIH0gZnJvbSAnQHh0ZXJtL3h0ZXJtJ1xuaW1wb3J0IHsgRml0QWRkb24gfSBmcm9tICdAeHRlcm0vYWRkb24tZml0J1xuaW1wb3J0IGNyZWF0ZURlYnVnIGZyb20gJ2RlYnVnJ1xuaW1wb3J0IHsgdmFsaWRhdGVOdW1iZXIsIHZhbGlkYXRlQmVsbFN0eWxlIH0gZnJvbSAnLi91dGlscy5qcydcbmltcG9ydCB7IGVtaXREYXRhIH0gZnJvbSAnLi9zb2NrZXQuanMnXG5pbXBvcnQgeyBnZXRTdG9yZWRTZXR0aW5ncyB9IGZyb20gJy4vc2V0dGluZ3MuanMnXG5pbXBvcnQgeyBzZXRUZXJtaW5hbEluc3RhbmNlLCBmb2N1c1Rlcm1pbmFsIGFzIGRvbUZvY3VzVGVybWluYWwgfSBmcm9tICcuL2RvbS5qcydcblxuY29uc3QgZGVidWcgPSBjcmVhdGVEZWJ1Zygnd2Vic3NoMi1jbGllbnQ6dGVybWluYWwnKVxuXG5sZXQgdGVybVxubGV0IGZpdEFkZG9uXG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0U2V0dGluZ3MgPSB7XG4gIGN1cnNvckJsaW5rOiB0cnVlLFxuICBzY3JvbGxiYWNrOiAxMDAwMCxcbiAgdGFiU3RvcFdpZHRoOiA4LFxuICBiZWxsU3R5bGU6ICdzb3VuZCcsXG4gIGZvbnRTaXplOiAxNCxcbiAgZm9udEZhbWlseTogJ2NvdXJpZXItbmV3LCBjb3VyaWVyLCBtb25vc3BhY2UnLFxuICBsZXR0ZXJTcGFjaW5nOiAwLFxuICBsaW5lSGVpZ2h0OiAxLFxuICBsb2dMZXZlbDogJ2luZm8nXG59XG5cbi8qKlxuICogSW5pdGlhbGl6ZXMgdGhlIHRlcm1pbmFsXG4gKiBAcGFyYW0ge09iamVjdH0gY29uZmlnIC0gVGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGZvciB0aGUgdGVybWluYWxcbiAqIEByZXR1cm5zIHtUZXJtaW5hbH0gVGhlIGluaXRpYWxpemVkIHRlcm1pbmFsIGluc3RhbmNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplVGVybWluYWwoY29uZmlnKSB7XG4gIGRlYnVnKCdpbml0aWFsaXplVGVybWluYWwnKVxuICBjb25zdCBvcHRpb25zID0gZ2V0VGVybWluYWxTZXR0aW5ncyhjb25maWcpXG5cbiAgdGVybSA9IG5ldyBUZXJtaW5hbChvcHRpb25zKVxuICBmaXRBZGRvbiA9IG5ldyBGaXRBZGRvbigpXG4gIHRlcm0ubG9hZEFkZG9uKGZpdEFkZG9uKVxuXG4gIHRlcm0ub25EYXRhKChkYXRhKSA9PiBlbWl0RGF0YShkYXRhKSlcbiAgdGVybS5vblRpdGxlQ2hhbmdlKCh0aXRsZSkgPT4ge1xuICAgIGRvY3VtZW50LnRpdGxlID0gdGl0bGVcbiAgfSlcblxuICBzZXRUZXJtaW5hbEluc3RhbmNlKHRlcm0pXG5cbiAgYXBwbHlUZXJtaW5hbFNldHRpbmdzKG9wdGlvbnMpXG5cbiAgcmV0dXJuIHRlcm1cbn1cblxuLyoqXG4gKiBHZXRzIHRoZSB0ZXJtaW5hbCBvcHRpb25zIGJhc2VkIG9uIHRoZSBjb25maWd1cmF0aW9uXG4gKiBAcGFyYW0ge09iamVjdH0gY29uZmlnIC0gVGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0XG4gKiBAcmV0dXJucyB7T2JqZWN0fSBUaGUgdGVybWluYWwgb3B0aW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGVybWluYWxTZXR0aW5ncyhjb25maWcpIHtcbiAgZGVidWcoJ2dldFRlcm1pbmFsU2V0dGluZ3MnKVxuICBjb25zdCBzdG9yZWRTZXR0aW5ncyA9IGdldFN0b3JlZFNldHRpbmdzKClcbiAgY29uc3QgdGVybWluYWxDb25maWcgPSBjb25maWc/LnRlcm1pbmFsIHx8IHt9XG5cbiAgY29uc3QgbWVyZ2VkT3B0aW9ucyA9IHtcbiAgICBjdXJzb3JCbGluazpcbiAgICAgIHN0b3JlZFNldHRpbmdzLmN1cnNvckJsaW5rID8/XG4gICAgICB0ZXJtaW5hbENvbmZpZy5jdXJzb3JCbGluayA/P1xuICAgICAgZGVmYXVsdFNldHRpbmdzLmN1cnNvckJsaW5rLFxuICAgIHNjcm9sbGJhY2s6IHZhbGlkYXRlTnVtYmVyKFxuICAgICAgc3RvcmVkU2V0dGluZ3Muc2Nyb2xsYmFjayA/PyB0ZXJtaW5hbENvbmZpZy5zY3JvbGxiYWNrLFxuICAgICAgMSxcbiAgICAgIDIwMDAwMCxcbiAgICAgIGRlZmF1bHRTZXR0aW5ncy5zY3JvbGxiYWNrXG4gICAgKSxcbiAgICB0YWJTdG9wV2lkdGg6IHZhbGlkYXRlTnVtYmVyKFxuICAgICAgc3RvcmVkU2V0dGluZ3MudGFiU3RvcFdpZHRoID8/IHRlcm1pbmFsQ29uZmlnLnRhYlN0b3BXaWR0aCxcbiAgICAgIDEsXG4gICAgICAxMDAsXG4gICAgICBkZWZhdWx0U2V0dGluZ3MudGFiU3RvcFdpZHRoXG4gICAgKSxcbiAgICBiZWxsU3R5bGU6IHZhbGlkYXRlQmVsbFN0eWxlKFxuICAgICAgc3RvcmVkU2V0dGluZ3MuYmVsbFN0eWxlID8/IHRlcm1pbmFsQ29uZmlnLmJlbGxTdHlsZSxcbiAgICAgIGRlZmF1bHRTZXR0aW5ncy5iZWxsU3R5bGVcbiAgICApLFxuICAgIGZvbnRTaXplOiB2YWxpZGF0ZU51bWJlcihcbiAgICAgIHN0b3JlZFNldHRpbmdzLmZvbnRTaXplID8/IHRlcm1pbmFsQ29uZmlnLmZvbnRTaXplLFxuICAgICAgMSxcbiAgICAgIDcyLFxuICAgICAgZGVmYXVsdFNldHRpbmdzLmZvbnRTaXplXG4gICAgKSxcbiAgICBmb250RmFtaWx5OlxuICAgICAgc3RvcmVkU2V0dGluZ3MuZm9udEZhbWlseSA/P1xuICAgICAgdGVybWluYWxDb25maWcuZm9udEZhbWlseSA/P1xuICAgICAgZGVmYXVsdFNldHRpbmdzLmZvbnRGYW1pbHksXG4gICAgbGV0dGVyU3BhY2luZzpcbiAgICAgIHN0b3JlZFNldHRpbmdzLmxldHRlclNwYWNpbmcgPz9cbiAgICAgIHRlcm1pbmFsQ29uZmlnLmxldHRlclNwYWNpbmcgPz9cbiAgICAgIGRlZmF1bHRTZXR0aW5ncy5sZXR0ZXJTcGFjaW5nLFxuICAgIGxpbmVIZWlnaHQ6XG4gICAgICBzdG9yZWRTZXR0aW5ncy5saW5lSGVpZ2h0ID8/XG4gICAgICB0ZXJtaW5hbENvbmZpZy5saW5lSGVpZ2h0ID8/XG4gICAgICBkZWZhdWx0U2V0dGluZ3MubGluZUhlaWdodCxcbiAgICBsb2dMZXZlbDpcbiAgICAgIHN0b3JlZFNldHRpbmdzLmxvZ0xldmVsID8/XG4gICAgICB0ZXJtaW5hbENvbmZpZy5sb2dMZXZlbCA/P1xuICAgICAgZGVmYXVsdFNldHRpbmdzLmxvZ0xldmVsXG4gIH1cblxuICBkZWJ1ZygnZ2V0VGVybWluYWxTZXR0aW5ncycsIG1lcmdlZE9wdGlvbnMpXG4gIHJldHVybiBtZXJnZWRPcHRpb25zXG59XG5cbi8qKlxuICogT3BlbnMgdGhlIHRlcm1pbmFsIGluIHRoZSBzcGVjaWZpZWQgY29udGFpbmVyXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBjb250YWluZXIgLSBUaGUgY29udGFpbmVyIGVsZW1lbnQgZm9yIHRoZSB0ZXJtaW5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gb3BlblRlcm1pbmFsKGNvbnRhaW5lcikge1xuICBkb21PcGVuVGVybWluYWwoY29udGFpbmVyKVxuICBpZiAoZml0QWRkb24pIHtcbiAgICBmaXRBZGRvbi5maXQoKVxuICB9XG59XG5cbi8qKlxuICogV3JpdGVzIGRhdGEgdG8gdGhlIHRlcm1pbmFsXG4gKiBAcGFyYW0ge3N0cmluZ30gZGF0YSAtIFRoZSBkYXRhIHRvIHdyaXRlIHRvIHRoZSB0ZXJtaW5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVUb1Rlcm1pbmFsKGRhdGEpIHtcbiAgaWYgKHRlcm0pIHtcbiAgICB0ZXJtLndyaXRlKGRhdGEpXG4gIH1cbn1cblxuLyoqXG4gKiBSZXNldCB0aGUgdGVybWluYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc2V0VGVybWluYWwoKSB7XG4gIGRlYnVnKCdyZXNldFRlcm1pbmFsJylcbiAgaWYgKHRlcm0pIHtcbiAgICB0ZXJtLnJlc2V0KClcbiAgfVxufVxuXG4vKipcbiAqIFJlc2l6ZXMgdGhlIHRlcm1pbmFsXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBUaGUgbmV3IGRpbWVuc2lvbnMgb2YgdGhlIHRlcm1pbmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNpemVUZXJtaW5hbCgpIHtcbiAgaWYgKGZpdEFkZG9uICYmIHRlcm0pIHtcbiAgICBmaXRBZGRvbi5maXQoKVxuICAgIGNvbnN0IGRpbWVuc2lvbnMgPSB7IGNvbHM6IHRlcm0uY29scywgcm93czogdGVybS5yb3dzIH1cbiAgICBkZWJ1ZygncmVzaXplVGVybWluYWwnLCBkaW1lbnNpb25zKVxuICAgIHJldHVybiBkaW1lbnNpb25zXG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuLyoqXG4gKiBGb2N1c2VzIHRoZSB0ZXJtaW5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9jdXNUZXJtaW5hbCgpIHtcbiAgZG9tRm9jdXNUZXJtaW5hbCgpXG59XG5cbi8qKlxuICogR2V0cyB0aGUgY3VycmVudCBkaW1lbnNpb25zIG9mIHRoZSB0ZXJtaW5hbFxuICogQHJldHVybnMge09iamVjdH0gVGhlIGN1cnJlbnQgZGltZW5zaW9ucyBvZiB0aGUgdGVybWluYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRlcm1pbmFsRGltZW5zaW9ucygpIHtcbiAgaWYgKHRlcm0pIHtcbiAgICBsZXQgeyBjb2xzLCByb3dzIH0gPSB0ZXJtXG4gICAgZGVidWcoJ2dldFRlcm1pbmFsRGltZW5zaW9ucycsIHsgY29scywgcm93cyB9KVxuICAgIHJldHVybiB7IGNvbHMsIHJvd3MgfVxuICB9XG4gIGNvbnNvbGUuZXJyb3IoJ2dldFRlcm1pbmFsRGltZW5zaW9uczogVGVybWluYWwgbm90IGluaXRpYWxpemVkJylcbiAgcmV0dXJuIHsgY29sczogdW5kZWZpbmVkLCByb3dzOiB1bmRlZmluZWQgfVxufVxuXG4vKipcbiAqIFVwZGF0ZXMgdGhlIHRlcm1pbmFsIG9wdGlvbnNcbiAqIEBwYXJhbSB7T2JqZWN0fSBuZXdPcHRpb25zIC0gVGhlIG5ldyBvcHRpb25zIHRvIGFwcGx5IHRvIHRoZSB0ZXJtaW5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRldGVybWluYWxTZXR0aW5ncyhuZXdPcHRpb25zKSB7XG4gIGlmICh0ZXJtKSB7XG4gICAgT2JqZWN0LmFzc2lnbih0ZXJtLm9wdGlvbnMsIG5ld09wdGlvbnMpXG4gICAgZGVidWcoJ3VwZGF0ZXRlcm1pbmFsU2V0dGluZ3MnLCBuZXdPcHRpb25zKVxuICB9XG59XG5cbi8qKlxuICogQXR0YWNoZXMgY3VzdG9tIGV2ZW50IGxpc3RlbmVycyB0byB0aGUgdGVybWluYWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudCAtIFRoZSBldmVudCB0byBsaXN0ZW4gZm9yXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBoYW5kbGVyIC0gVGhlIGV2ZW50IGhhbmRsZXIgZnVuY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGF0dGFjaFRlcm1pbmFsRXZlbnQoZXZlbnQsIGhhbmRsZXIpIHtcbiAgaWYgKHRlcm0pIHtcbiAgICB0ZXJtLm9uKGV2ZW50LCBoYW5kbGVyKVxuICAgIGRlYnVnKGBhdHRhY2hUZXJtaW5hbEV2ZW50OiAke2V2ZW50fWApXG4gIH1cbn1cblxuLyoqXG4gKiBEZXRhY2hlcyBjdXN0b20gZXZlbnQgbGlzdGVuZXJzIGZyb20gdGhlIHRlcm1pbmFsXG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnQgLSBUaGUgZXZlbnQgdG8gc3RvcCBsaXN0ZW5pbmcgZm9yXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBoYW5kbGVyIC0gVGhlIGV2ZW50IGhhbmRsZXIgZnVuY3Rpb24gdG8gcmVtb3ZlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXRhY2hUZXJtaW5hbEV2ZW50KGV2ZW50LCBoYW5kbGVyKSB7XG4gIGlmICh0ZXJtKSB7XG4gICAgdGVybS5vZmYoZXZlbnQsIGhhbmRsZXIpXG4gICAgZGVidWcoYGRldGFjaFRlcm1pbmFsRXZlbnQ6ICR7ZXZlbnR9YClcbiAgfVxufVxuXG4vKipcbiAqIEFwcGxpZXMgdGVybWluYWwgb3B0aW9ucyB0byB0aGUgdGVybWluYWwgaW5zdGFuY2VcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgdG8gYXBwbHkgdG8gdGhlIHRlcm1pbmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVRlcm1pbmFsU2V0dGluZ3Mob3B0aW9ucykge1xuICBpZiAoIXRlcm0pIHtcbiAgICBjb25zb2xlLmVycm9yKCdhcHBseVRlcm1pbmFsU2V0dGluZ3M6IFRlcm1pbmFsIG5vdCBpbml0aWFsaXplZCcpXG4gICAgcmV0dXJuXG4gIH1cbiAgZGVidWcoJ2FwcGx5VGVybWluYWxTZXR0aW5ncycsIG9wdGlvbnMpXG5cbiAgY29uc3QgdGVybWluYWxTZXR0aW5ncyA9IHtcbiAgICBjdXJzb3JCbGluazogb3B0aW9ucy5jdXJzb3JCbGluayA/PyBkZWZhdWx0U2V0dGluZ3MuY3Vyc29yQmxpbmssXG4gICAgc2Nyb2xsYmFjazogdmFsaWRhdGVOdW1iZXIoXG4gICAgICBvcHRpb25zLnNjcm9sbGJhY2ssXG4gICAgICAxLFxuICAgICAgMjAwMDAwLFxuICAgICAgZGVmYXVsdFNldHRpbmdzLnNjcm9sbGJhY2tcbiAgICApLFxuICAgIHRhYlN0b3BXaWR0aDogdmFsaWRhdGVOdW1iZXIoXG4gICAgICBvcHRpb25zLnRhYlN0b3BXaWR0aCxcbiAgICAgIDEsXG4gICAgICAxMDAsXG4gICAgICBkZWZhdWx0U2V0dGluZ3MudGFiU3RvcFdpZHRoXG4gICAgKSxcbiAgICBiZWxsU3R5bGU6IHZhbGlkYXRlQmVsbFN0eWxlKG9wdGlvbnMuYmVsbFN0eWxlLCBkZWZhdWx0U2V0dGluZ3MuYmVsbFN0eWxlKSxcbiAgICBmb250U2l6ZTogdmFsaWRhdGVOdW1iZXIob3B0aW9ucy5mb250U2l6ZSwgMSwgNzIsIGRlZmF1bHRTZXR0aW5ncy5mb250U2l6ZSksXG4gICAgZm9udEZhbWlseTogb3B0aW9ucy5mb250RmFtaWx5IHx8IGRlZmF1bHRTZXR0aW5ncy5mb250RmFtaWx5LFxuICAgIGxldHRlclNwYWNpbmc6XG4gICAgICBvcHRpb25zLmxldHRlclNwYWNpbmcgIT09IHVuZGVmaW5lZFxuICAgICAgICA/IE51bWJlcihvcHRpb25zLmxldHRlclNwYWNpbmcpXG4gICAgICAgIDogZGVmYXVsdFNldHRpbmdzLmxldHRlclNwYWNpbmcsXG4gICAgbGluZUhlaWdodDpcbiAgICAgIG9wdGlvbnMubGluZUhlaWdodCAhPT0gdW5kZWZpbmVkXG4gICAgICAgID8gTnVtYmVyKG9wdGlvbnMubGluZUhlaWdodClcbiAgICAgICAgOiBkZWZhdWx0U2V0dGluZ3MubGluZUhlaWdodFxuICB9XG5cbiAgT2JqZWN0LmFzc2lnbih0ZXJtLm9wdGlvbnMsIHRlcm1pbmFsU2V0dGluZ3MpXG5cbiAgaWYgKGZpdEFkZG9uKSB7XG4gICAgZml0QWRkb24uZml0KClcbiAgfVxufVxuXG4vLyBFeHBvcnQgdGhlIHRlcm0gaW5zdGFuY2UgaWYgZGlyZWN0IGFjY2VzcyBpcyBuZWVkZWRcbmV4cG9ydCBmdW5jdGlvbiBnZXRUZXJtaW5hbEluc3RhbmNlKCkge1xuICByZXR1cm4gdGVybVxufVxuIiwiLy8gY2xpZW50XG4vLyBjbGllbnQvc3JjL2pzL3V0aWxzLmpzXG5pbXBvcnQgY3JlYXRlRGVidWcgZnJvbSAnZGVidWcnXG5pbXBvcnQgeyBkZWZhdWx0U2V0dGluZ3MgfSBmcm9tICcuL3Rlcm1pbmFsLmpzJ1xuaW1wb3J0IG1hc2tPYmplY3QgZnJvbSAnanNtYXNrZXInO1xuXG5jb25zdCBkZWJ1ZyA9IGNyZWF0ZURlYnVnKCd3ZWJzc2gyLWNsaWVudDp1dGlscycpXG5cbi8qKlxuICogVmFsaWRhdGVzIGEgbnVtZXJpYyB2YWx1ZSB3aXRoaW4gYSBzcGVjaWZpZWQgcmFuZ2VcbiAqIEBwYXJhbSB7bnVtYmVyfHN0cmluZ30gdmFsdWUgLSBUaGUgdmFsdWUgdG8gdmFsaWRhdGVcbiAqIEBwYXJhbSB7bnVtYmVyfSBtaW4gLSBUaGUgbWluaW11bSBhbGxvd2VkIHZhbHVlXG4gKiBAcGFyYW0ge251bWJlcn0gbWF4IC0gVGhlIG1heGltdW0gYWxsb3dlZCB2YWx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IGRlZmF1bHRWYWx1ZSAtIFRoZSBkZWZhdWx0IHZhbHVlIGlmIHZhbGlkYXRpb24gZmFpbHNcbiAqIEByZXR1cm5zIHtudW1iZXJ9IFRoZSB2YWxpZGF0ZWQgbnVtYmVyIG9yIHRoZSBkZWZhdWx0IHZhbHVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZU51bWJlcih2YWx1ZSwgbWluLCBtYXgsIGRlZmF1bHRWYWx1ZSkge1xuICBjb25zdCBudW0gPSBOdW1iZXIodmFsdWUpXG4gIGlmIChpc05hTihudW0pIHx8IG51bSA8IG1pbiB8fCBudW0gPiBtYXgpIHtcbiAgICByZXR1cm4gZGVmYXVsdFZhbHVlXG4gIH1cbiAgcmV0dXJuIG51bVxufVxuXG4vKipcbiAqIFJlY3Vyc2l2ZWx5IG1lcmdlcyB0d28gb2JqZWN0cy5cbiAqIEBwYXJhbSB7T2JqZWN0fSB0YXJnZXQgLSBUaGUgdGFyZ2V0IG9iamVjdC5cbiAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgLSBUaGUgc291cmNlIG9iamVjdC5cbiAqIEByZXR1cm5zIHtPYmplY3R9IFRoZSBtZXJnZWQgb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VEZWVwKHRhcmdldCwgc291cmNlKSB7XG4gIGNvbnN0IG91dHB1dCA9IE9iamVjdC5hc3NpZ24oe30sIHRhcmdldClcbiAgaWYgKGlzT2JqZWN0KHRhcmdldCkgJiYgaXNPYmplY3Qoc291cmNlKSkge1xuICAgIE9iamVjdC5rZXlzKHNvdXJjZSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoaXNPYmplY3Qoc291cmNlW2tleV0pKSB7XG4gICAgICAgIGlmICghKGtleSBpbiB0YXJnZXQpKSB7XG4gICAgICAgICAgT2JqZWN0LmFzc2lnbihvdXRwdXQsIHsgW2tleV06IHNvdXJjZVtrZXldIH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb3V0cHV0W2tleV0gPSBtZXJnZURlZXAodGFyZ2V0W2tleV0sIHNvdXJjZVtrZXldKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBPYmplY3QuYXNzaWduKG91dHB1dCwgeyBba2V5XTogc291cmNlW2tleV0gfSlcbiAgICAgIH1cbiAgICB9KVxuICB9XG4gIHJldHVybiBvdXRwdXRcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIHZhbHVlIGlzIGFuIG9iamVjdC5cbiAqIEBwYXJhbSB7Kn0gaXRlbSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSB2YWx1ZSBpcyBhbiBvYmplY3QsIGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0KGl0ZW0pIHtcbiAgcmV0dXJuIGl0ZW0gJiYgdHlwZW9mIGl0ZW0gPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KGl0ZW0pXG59XG5cbi8qKlxuICogRm9ybWF0cyBhIGRhdGUgb2JqZWN0IGludG8gYSBzdHJpbmcuXG4gKiBAcGFyYW0ge0RhdGV9IGRhdGUgLSBUaGUgZGF0ZSB0byBmb3JtYXQuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgZm9ybWF0dGVkIGRhdGUgc3RyaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RGF0ZShkYXRlKSB7XG4gIHJldHVybiBgJHtkYXRlLmdldEZ1bGxZZWFyKCl9LyR7U3RyaW5nKGRhdGUuZ2V0TW9udGgoKSArIDEpLnBhZFN0YXJ0KDIsICcwJyl9LyR7U3RyaW5nKGRhdGUuZ2V0RGF0ZSgpKS5wYWRTdGFydCgyLCAnMCcpfSBAICR7U3RyaW5nKGRhdGUuZ2V0SG91cnMoKSkucGFkU3RhcnQoMiwgJzAnKX06JHtTdHJpbmcoZGF0ZS5nZXRNaW51dGVzKCkpLnBhZFN0YXJ0KDIsICcwJyl9OiR7U3RyaW5nKGRhdGUuZ2V0U2Vjb25kcygpKS5wYWRTdGFydCgyLCAnMCcpfWBcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgdGhlIGJlbGwgc3R5bGUgb3B0aW9uXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgLSBUaGUgYmVsbCBzdHlsZSB0byB2YWxpZGF0ZVxuICogQHJldHVybnMge3N0cmluZ30gVGhlIHZhbGlkYXRlZCBiZWxsIHN0eWxlIG9yIHRoZSBkZWZhdWx0ICdzb3VuZCdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlQmVsbFN0eWxlKHZhbHVlKSB7XG4gIHJldHVybiBbJ3NvdW5kJywgJ25vbmUnXS5pbmNsdWRlcyh2YWx1ZSkgPyB2YWx1ZSA6ICdzb3VuZCdcbn1cblxuLyoqXG4gKiBJbml0aWFsaXplcyB0aGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb24uXG4gKiBUaGlzIHNob3VsZCBiZSBjYWxsZWQgb25jZSBhdCBhcHBsaWNhdGlvbiBzdGFydHVwLlxuICogQHJldHVybnMge09iamVjdH0gVGhlIGluaXRpYWxpemVkIGNvbmZpZ3VyYXRpb24gb2JqZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplQ29uZmlnKCkge1xuICBjb25zdCBkZWZhdWx0Q29uZmlnID0ge1xuICAgIHNvY2tldDoge1xuICAgICAgdXJsOiBudWxsLFxuICAgICAgcGF0aDogJy9zc2gvc29ja2V0LmlvJ1xuICAgIH0sXG4gICAgc3NoOiB7XG4gICAgICBob3N0OiBudWxsLFxuICAgICAgcG9ydDogMjIsXG4gICAgICB1c2VybmFtZTogbnVsbCxcbiAgICAgIHBhc3N3b3JkOiBudWxsLFxuICAgICAgc3NodGVybTogJ3h0ZXJtLWNvbG9yJ1xuICAgIH0sXG4gICAgdGVybWluYWw6IHsgLi4uZGVmYXVsdFNldHRpbmdzIH0sXG4gICAgaGVhZGVyOiB7XG4gICAgICB0ZXh0OiBudWxsLFxuICAgICAgYmFja2dyb3VuZDogJ2dyZWVuJ1xuICAgIH0sXG4gICAgYXV0b0Nvbm5lY3Q6IGZhbHNlLFxuICAgIGxvZ0xldmVsOiAnaW5mbydcbiAgfVxuICBjb25zdCB1c2VyQ29uZmlnID0gd2luZG93LndlYnNzaDJDb25maWcgfHwge31cbiAgY29uc3QgY29uZmlnID0gbWVyZ2VEZWVwKGRlZmF1bHRDb25maWcsIHVzZXJDb25maWcpXG4gIGRlYnVnKCdpbml0aWFsaXplQ29uZmlnJywgY29uZmlnKVxuICByZXR1cm4gY29uZmlnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwb3B1bGF0ZUZvcm1Gcm9tVXJsKGNvbmZpZykge1xuICBjb25zdCBzZWFyY2hQYXJhbXMgPSBnZXRVcmxQYXJhbXMoKVxuICBjb25zdCBwYXJhbXMgPSB7XG4gICAgc3NoOiB7fSxcbiAgICBoZWFkZXI6IHt9LFxuICAgIHRlcm1pbmFsOiB7fVxuICB9XG5cbiAgLy8gTGlzdCBvZiBwYXJhbWV0ZXJzIHRvIGV4dHJhY3QgZnJvbSB0aGUgVVJMIG9yIGZvcm1cbiAgY29uc3QgcGFyYW1ldGVyTGlzdCA9IFtcbiAgICAnaG9zdCcsXG4gICAgJ3BvcnQnLFxuICAgICdoZWFkZXInLFxuICAgICdoZWFkZXJiYWNrZ3JvdW5kJyxcbiAgICAnc3NodGVybScsXG4gICAgJ3VzZXJuYW1lJyxcbiAgICAncGFzc3dvcmQnLFxuICAgICdsb2dMZXZlbCdcbiAgXVxuXG4gIHBhcmFtZXRlckxpc3QuZm9yRWFjaCgocGFyYW0pID0+IHtcbiAgICBsZXQgdmFsdWUgPSBzZWFyY2hQYXJhbXMuZ2V0KHBhcmFtKVxuXG4gICAgaWYgKHBhcmFtID09PSAncG9ydCcgJiYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSAnJykpIHtcbiAgICAgIHZhbHVlID0gJzIyJyAvLyBTZXQgZGVmYXVsdCBwb3J0IHZhbHVlIGlmIG5vdCBkZWZpbmVkXG4gICAgfVxuXG4gICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAvLyBIYW5kbGUgc3BlY2lhbCBjYXNlcyB3aGVyZSBwYXJhbWV0ZXJzIG1hcCB0byBuZXN0ZWQgZmllbGRzXG4gICAgICBpZiAocGFyYW0gPT09ICdoZWFkZXInKSB7XG4gICAgICAgIHBhcmFtcy5oZWFkZXIudGV4dCA9IHZhbHVlXG4gICAgICB9IGVsc2UgaWYgKHBhcmFtID09PSAnaGVhZGVyYmFja2dyb3VuZCcpIHtcbiAgICAgICAgcGFyYW1zLmhlYWRlci5iYWNrZ3JvdW5kID0gdmFsdWVcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEZvciBhbGwgb3RoZXIgU1NILXJlbGF0ZWQgcGFyYW1ldGVyc1xuICAgICAgfVxuXG4gICAgICAvLyBGaWxsIGZvcm0gZmllbGRzIGlmIHRoZXkgZXhpc3RcbiAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocGFyYW0gKyAnSW5wdXQnKVxuICAgICAgaWYgKGlucHV0KSB7XG4gICAgICAgIGlucHV0LnZhbHVlID0gdmFsdWVcbiAgICAgIH1cbiAgICB9XG4gIH0pXG4gIC8vIE1lcmdlIHRoZSBwYXJhbXMgb2JqZWN0IGludG8gdGhlIGNvbmZpZ1xuICBpZiAoY29uZmlnICYmIHR5cGVvZiBjb25maWcgPT09ICdvYmplY3QnKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gbWVyZ2VEZWVwKGNvbmZpZywgcGFyYW1zKVxuICAgIGRlYnVnKCdwb3B1bGF0ZUZvcm1Gcm9tVXJsJywgcmVzdWx0KVxuICAgIHJldHVybiByZXN1bHRcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY29uZmlndXJhdGlvbiBvYmplY3QgcHJvdmlkZWQuJylcbiAgfVxufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgVVJMIHBhcmFtZXRlcnMgZnJvbSB0aGUgY3VycmVudCB3aW5kb3cgbG9jYXRpb24uXG4gKiBAcmV0dXJucyB7VVJMU2VhcmNoUGFyYW1zfSBUaGUgVVJMIHBhcmFtZXRlcnMuXG4gKi9cbmZ1bmN0aW9uIGdldFVybFBhcmFtcygpIHtcbiAgcmV0dXJuIG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaClcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIFNTSCBjcmVkZW50aWFscyBmcm9tIHZhcmlvdXMgc291cmNlcy5cbiAqIEBwYXJhbSB7T2JqZWN0fSBmb3JtRGF0YSAtIE9wdGlvbmFsIGZvcm0gZGF0YSBmcm9tIG1hbnVhbCBpbnB1dFxuICogQHJldHVybnMge09iamVjdH0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIFNTSCBjcmVkZW50aWFscy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENyZWRlbnRpYWxzKGZvcm1EYXRhID0gbnVsbCwgdGVybWluYWxEaW1lbnNpb25zID0ge30pIHtcbiAgY29uc3QgY29uZmlnID0gd2luZG93LndlYnNzaDJDb25maWcgfHwge31cbiAgY29uc3QgdXJsUGFyYW1zID0gZ2V0VXJsUGFyYW1zKClcblxuICBjb25zdCBtZXJnZWRDb25maWcgPSB7XG4gICAgaG9zdDpcbiAgICAgIGZvcm1EYXRhPy5ob3N0IHx8XG4gICAgICB1cmxQYXJhbXMuZ2V0KCdob3N0JykgfHxcbiAgICAgIGNvbmZpZy5zc2g/Lmhvc3QgfHxcbiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3N0SW5wdXQnKT8udmFsdWUgfHxcbiAgICAgICcnLFxuICAgIHBvcnQ6IHBhcnNlSW50KFxuICAgICAgZm9ybURhdGE/LnBvcnQgfHxcbiAgICAgICAgdXJsUGFyYW1zLmdldCgncG9ydCcpIHx8XG4gICAgICAgIGNvbmZpZy5zc2g/LnBvcnQgfHxcbiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BvcnRJbnB1dCcpPy52YWx1ZSB8fFxuICAgICAgICAnMjInLFxuICAgICAgMTBcbiAgICApLFxuICAgIHVzZXJuYW1lOlxuICAgICAgZm9ybURhdGE/LnVzZXJuYW1lIHx8XG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndXNlcm5hbWVJbnB1dCcpPy52YWx1ZSB8fFxuICAgICAgdXJsUGFyYW1zLmdldCgndXNlcm5hbWUnKSB8fFxuICAgICAgY29uZmlnLnNzaD8udXNlcm5hbWUgfHxcbiAgICAgICcnLFxuICAgIHBhc3N3b3JkOlxuICAgICAgZm9ybURhdGE/LnBhc3N3b3JkIHx8XG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFzc3dvcmRJbnB1dCcpPy52YWx1ZSB8fFxuICAgICAgdXJsUGFyYW1zLmdldCgncGFzc3dvcmQnKSB8fFxuICAgICAgY29uZmlnLnNzaD8ucGFzc3dvcmQgfHxcbiAgICAgICcnLFxuICAgIHRlcm06XG4gICAgICBmb3JtRGF0YT8udGVybSB8fFxuICAgICAgdXJsUGFyYW1zLmdldCgnc3NodGVybScpIHx8XG4gICAgICBjb25maWcuc3NoPy5zc2h0ZXJtIHx8XG4gICAgICAneHRlcm0tY29sb3InXG4gIH1cbiAgY29uc3QgbWFza2VkQ29udGVudCA9IG1hc2tPYmplY3QobWVyZ2VkQ29uZmlnKVxuXG4gIGRlYnVnKCdnZXRDcmVkZW50aWFsczogbWVyZ2VkQ29uZmlnOicsIG1hc2tlZENvbnRlbnQpXG5cbiAgcmV0dXJuIG1lcmdlZENvbmZpZ1xufVxuXG4vKipcbiAqIFZhbGlkYXRlcyBhbmQgc2FuaXRpemVzIGEgY29sb3Igc3RyaW5nLlxuICogQHBhcmFtIHtzdHJpbmd9IGNvbG9yIC0gVGhlIGNvbG9yIHN0cmluZyB0byB2YWxpZGF0ZS5cbiAqIEByZXR1cm5zIHtzdHJpbmd8bnVsbH0gLSBUaGUgc2FuaXRpemVkIGNvbG9yIHN0cmluZyBvciBudWxsIGlmIGludmFsaWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzYW5pdGl6ZUNvbG9yKGNvbG9yKSB7XG4gIGNvbnN0IGNvbG9yUmVnZXggPVxuICAgIC9eKCMoWzAtOWEtZkEtRl17M30pezEsMn18cmdiYT9cXChcXHMqKFxcZHsxLDN9XFxzKixcXHMqKXsyLDN9XFxzKlxcZHsxLDN9XFxzKlxcKXxbYS16QS1aXSspJC9cbiAgcmV0dXJuIGNvbG9yUmVnZXgudGVzdChjb2xvcikgPyBjb2xvciA6IG51bGxcbn1cblxuLyoqXG4gKiBTYW5pdGl6ZXMgYSBzdHJpbmcgZm9yIHVzZSBpbiBIVE1MXG4gKiBAcGFyYW0ge3N0cmluZ30gc3RyIC0gVGhlIHN0cmluZyB0byBzYW5pdGl6ZVxuICogQHJldHVybnMge3N0cmluZ30gVGhlIHNhbml0aXplZCBzdHJpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNhbml0aXplSHRtbChzdHIpIHtcbiAgY29uc3QgdGVtcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpXG4gIHRlbXAudGV4dENvbnRlbnQgPSBzdHJcbiAgcmV0dXJuIHRlbXAuaW5uZXJIVE1MXG59XG5cblxuLyoqXG4gKiBDbGVhcnMgdGhlICdiYXNpY2F1dGgnIGNvb2tpZVxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xlYXJCYXNpY0F1dGhDb29raWUoKSB7XG4gIGRvY3VtZW50LmNvb2tpZSA9ICdiYXNpY2F1dGg9OyBleHBpcmVzPVRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgVVRDOyBwYXRoPS87J1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgJ2Jhc2ljYXV0aCcgY29va2llIGlzIHByZXNlbnQgYW5kIHJldHVybnMgaXRzIHBhcnNlZCB2YWx1ZVxuICogQHJldHVybnMge09iamVjdHxudWxsfSBUaGUgcGFyc2VkIGNvb2tpZSB2YWx1ZSBvciBudWxsIGlmIG5vdCBwcmVzZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRCYXNpY0F1dGhDb29raWUoKSB7XG4gIGNvbnN0IGNvb2tpZXMgPSBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKVxuICBmb3IgKGxldCBpID0gMDsgaSA8IGNvb2tpZXMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBjb29raWUgPSBjb29raWVzW2ldLnRyaW0oKVxuICAgIGlmIChjb29raWUuc3RhcnRzV2l0aCgnYmFzaWNhdXRoPScpKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShcbiAgICAgICAgICBkZWNvZGVVUklDb21wb25lbnQoY29va2llLnN1YnN0cmluZygnYmFzaWNhdXRoPScubGVuZ3RoKSlcbiAgICAgICAgKVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICdnZXRCYXNpY0F1dGhDb29raWU6IEZhaWxlZCB0byBwYXJzZSBiYXNpY2F1dGggY29va2llOicsXG4gICAgICAgICAgZVxuICAgICAgICApXG4gICAgICAgIHJldHVybiBudWxsXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsXG59XG4iLCIhZnVuY3Rpb24oZSx0KXtcIm9iamVjdFwiPT10eXBlb2YgZXhwb3J0cyYmXCJvYmplY3RcIj09dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz10KCk6XCJmdW5jdGlvblwiPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbXSx0KTpcIm9iamVjdFwiPT10eXBlb2YgZXhwb3J0cz9leHBvcnRzLkZpdEFkZG9uPXQoKTplLkZpdEFkZG9uPXQoKX0oc2VsZiwoKCk9PigoKT0+e1widXNlIHN0cmljdFwiO3ZhciBlPXt9O3JldHVybigoKT0+e3ZhciB0PWU7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5GaXRBZGRvbj12b2lkIDAsdC5GaXRBZGRvbj1jbGFzc3thY3RpdmF0ZShlKXt0aGlzLl90ZXJtaW5hbD1lfWRpc3Bvc2UoKXt9Zml0KCl7Y29uc3QgZT10aGlzLnByb3Bvc2VEaW1lbnNpb25zKCk7aWYoIWV8fCF0aGlzLl90ZXJtaW5hbHx8aXNOYU4oZS5jb2xzKXx8aXNOYU4oZS5yb3dzKSlyZXR1cm47Y29uc3QgdD10aGlzLl90ZXJtaW5hbC5fY29yZTt0aGlzLl90ZXJtaW5hbC5yb3dzPT09ZS5yb3dzJiZ0aGlzLl90ZXJtaW5hbC5jb2xzPT09ZS5jb2xzfHwodC5fcmVuZGVyU2VydmljZS5jbGVhcigpLHRoaXMuX3Rlcm1pbmFsLnJlc2l6ZShlLmNvbHMsZS5yb3dzKSl9cHJvcG9zZURpbWVuc2lvbnMoKXtpZighdGhpcy5fdGVybWluYWwpcmV0dXJuO2lmKCF0aGlzLl90ZXJtaW5hbC5lbGVtZW50fHwhdGhpcy5fdGVybWluYWwuZWxlbWVudC5wYXJlbnRFbGVtZW50KXJldHVybjtjb25zdCBlPXRoaXMuX3Rlcm1pbmFsLl9jb3JlLHQ9ZS5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zO2lmKDA9PT10LmNzcy5jZWxsLndpZHRofHwwPT09dC5jc3MuY2VsbC5oZWlnaHQpcmV0dXJuO2NvbnN0IHI9MD09PXRoaXMuX3Rlcm1pbmFsLm9wdGlvbnMuc2Nyb2xsYmFjaz8wOmUudmlld3BvcnQuc2Nyb2xsQmFyV2lkdGgsaT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl90ZXJtaW5hbC5lbGVtZW50LnBhcmVudEVsZW1lbnQpLG89cGFyc2VJbnQoaS5nZXRQcm9wZXJ0eVZhbHVlKFwiaGVpZ2h0XCIpKSxzPU1hdGgubWF4KDAscGFyc2VJbnQoaS5nZXRQcm9wZXJ0eVZhbHVlKFwid2lkdGhcIikpKSxuPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuX3Rlcm1pbmFsLmVsZW1lbnQpLGw9by0ocGFyc2VJbnQobi5nZXRQcm9wZXJ0eVZhbHVlKFwicGFkZGluZy10b3BcIikpK3BhcnNlSW50KG4uZ2V0UHJvcGVydHlWYWx1ZShcInBhZGRpbmctYm90dG9tXCIpKSksYT1zLShwYXJzZUludChuLmdldFByb3BlcnR5VmFsdWUoXCJwYWRkaW5nLXJpZ2h0XCIpKStwYXJzZUludChuLmdldFByb3BlcnR5VmFsdWUoXCJwYWRkaW5nLWxlZnRcIikpKS1yO3JldHVybntjb2xzOk1hdGgubWF4KDIsTWF0aC5mbG9vcihhL3QuY3NzLmNlbGwud2lkdGgpKSxyb3dzOk1hdGgubWF4KDEsTWF0aC5mbG9vcihsL3QuY3NzLmNlbGwuaGVpZ2h0KSl9fX19KSgpLGV9KSgpKSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1hZGRvbi1maXQuanMubWFwIiwiIWZ1bmN0aW9uKGUsdCl7aWYoXCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHMmJlwib2JqZWN0XCI9PXR5cGVvZiBtb2R1bGUpbW9kdWxlLmV4cG9ydHM9dCgpO2Vsc2UgaWYoXCJmdW5jdGlvblwiPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kKWRlZmluZShbXSx0KTtlbHNle3ZhciBpPXQoKTtmb3IodmFyIHMgaW4gaSkoXCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHM/ZXhwb3J0czplKVtzXT1pW3NdfX0oZ2xvYmFsVGhpcywoKCk9PigoKT0+e1widXNlIHN0cmljdFwiO3ZhciBlPXs0NTY3OmZ1bmN0aW9uKGUsdCxpKXt2YXIgcz10aGlzJiZ0aGlzLl9fZGVjb3JhdGV8fGZ1bmN0aW9uKGUsdCxpLHMpe3ZhciByLG49YXJndW1lbnRzLmxlbmd0aCxvPW48Mz90Om51bGw9PT1zP3M9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGkpOnM7aWYoXCJvYmplY3RcIj09dHlwZW9mIFJlZmxlY3QmJlwiZnVuY3Rpb25cIj09dHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUpbz1SZWZsZWN0LmRlY29yYXRlKGUsdCxpLHMpO2Vsc2UgZm9yKHZhciBhPWUubGVuZ3RoLTE7YT49MDthLS0pKHI9ZVthXSkmJihvPShuPDM/cihvKTpuPjM/cih0LGksbyk6cih0LGkpKXx8byk7cmV0dXJuIG4+MyYmbyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsaSxvKSxvfSxyPXRoaXMmJnRoaXMuX19wYXJhbXx8ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oaSxzKXt0KGkscyxlKX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuQWNjZXNzaWJpbGl0eU1hbmFnZXI9dm9pZCAwO2NvbnN0IG49aSg5MDQyKSxvPWkoOTkyNCksYT1pKDg0NCksaD1pKDQ3MjUpLGM9aSgyNTg1KSxsPWkoMzY1Nik7bGV0IGQ9dC5BY2Nlc3NpYmlsaXR5TWFuYWdlcj1jbGFzcyBleHRlbmRzIGEuRGlzcG9zYWJsZXtjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcigpLHRoaXMuX3Rlcm1pbmFsPWUsdGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlPWksdGhpcy5fcmVuZGVyU2VydmljZT1zLHRoaXMuX3Jvd0NvbHVtbnM9bmV3IFdlYWtNYXAsdGhpcy5fbGl2ZVJlZ2lvbkxpbmVDb3VudD0wLHRoaXMuX2NoYXJzVG9Db25zdW1lPVtdLHRoaXMuX2NoYXJzVG9Bbm5vdW5jZT1cIlwiLHRoaXMuX2FjY2Vzc2liaWxpdHlDb250YWluZXI9dGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlLm1haW5Eb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLHRoaXMuX2FjY2Vzc2liaWxpdHlDb250YWluZXIuY2xhc3NMaXN0LmFkZChcInh0ZXJtLWFjY2Vzc2liaWxpdHlcIiksdGhpcy5fcm93Q29udGFpbmVyPXRoaXMuX2NvcmVCcm93c2VyU2VydmljZS5tYWluRG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSx0aGlzLl9yb3dDb250YWluZXIuc2V0QXR0cmlidXRlKFwicm9sZVwiLFwibGlzdFwiKSx0aGlzLl9yb3dDb250YWluZXIuY2xhc3NMaXN0LmFkZChcInh0ZXJtLWFjY2Vzc2liaWxpdHktdHJlZVwiKSx0aGlzLl9yb3dFbGVtZW50cz1bXTtmb3IobGV0IGU9MDtlPHRoaXMuX3Rlcm1pbmFsLnJvd3M7ZSsrKXRoaXMuX3Jvd0VsZW1lbnRzW2VdPXRoaXMuX2NyZWF0ZUFjY2Vzc2liaWxpdHlUcmVlTm9kZSgpLHRoaXMuX3Jvd0NvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLl9yb3dFbGVtZW50c1tlXSk7aWYodGhpcy5fdG9wQm91bmRhcnlGb2N1c0xpc3RlbmVyPWU9PnRoaXMuX2hhbmRsZUJvdW5kYXJ5Rm9jdXMoZSwwKSx0aGlzLl9ib3R0b21Cb3VuZGFyeUZvY3VzTGlzdGVuZXI9ZT0+dGhpcy5faGFuZGxlQm91bmRhcnlGb2N1cyhlLDEpLHRoaXMuX3Jvd0VsZW1lbnRzWzBdLmFkZEV2ZW50TGlzdGVuZXIoXCJmb2N1c1wiLHRoaXMuX3RvcEJvdW5kYXJ5Rm9jdXNMaXN0ZW5lciksdGhpcy5fcm93RWxlbWVudHNbdGhpcy5fcm93RWxlbWVudHMubGVuZ3RoLTFdLmFkZEV2ZW50TGlzdGVuZXIoXCJmb2N1c1wiLHRoaXMuX2JvdHRvbUJvdW5kYXJ5Rm9jdXNMaXN0ZW5lciksdGhpcy5fcmVmcmVzaFJvd3NEaW1lbnNpb25zKCksdGhpcy5fYWNjZXNzaWJpbGl0eUNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLl9yb3dDb250YWluZXIpLHRoaXMuX2xpdmVSZWdpb249dGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlLm1haW5Eb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLHRoaXMuX2xpdmVSZWdpb24uY2xhc3NMaXN0LmFkZChcImxpdmUtcmVnaW9uXCIpLHRoaXMuX2xpdmVSZWdpb24uc2V0QXR0cmlidXRlKFwiYXJpYS1saXZlXCIsXCJhc3NlcnRpdmVcIiksdGhpcy5fYWNjZXNzaWJpbGl0eUNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLl9saXZlUmVnaW9uKSx0aGlzLl9saXZlUmVnaW9uRGVib3VuY2VyPXRoaXMucmVnaXN0ZXIobmV3IG8uVGltZUJhc2VkRGVib3VuY2VyKHRoaXMuX3JlbmRlclJvd3MuYmluZCh0aGlzKSkpLCF0aGlzLl90ZXJtaW5hbC5lbGVtZW50KXRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBlbmFibGUgYWNjZXNzaWJpbGl0eSBiZWZvcmUgVGVybWluYWwub3BlblwiKTt0aGlzLl90ZXJtaW5hbC5lbGVtZW50Lmluc2VydEFkamFjZW50RWxlbWVudChcImFmdGVyYmVnaW5cIix0aGlzLl9hY2Nlc3NpYmlsaXR5Q29udGFpbmVyKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX3Rlcm1pbmFsLm9uUmVzaXplKChlPT50aGlzLl9oYW5kbGVSZXNpemUoZS5yb3dzKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX3Rlcm1pbmFsLm9uUmVuZGVyKChlPT50aGlzLl9yZWZyZXNoUm93cyhlLnN0YXJ0LGUuZW5kKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX3Rlcm1pbmFsLm9uU2Nyb2xsKCgoKT0+dGhpcy5fcmVmcmVzaFJvd3MoKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX3Rlcm1pbmFsLm9uQTExeUNoYXIoKGU9PnRoaXMuX2hhbmRsZUNoYXIoZSkpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl90ZXJtaW5hbC5vbkxpbmVGZWVkKCgoKT0+dGhpcy5faGFuZGxlQ2hhcihcIlxcblwiKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX3Rlcm1pbmFsLm9uQTExeVRhYigoZT0+dGhpcy5faGFuZGxlVGFiKGUpKSkpLHRoaXMucmVnaXN0ZXIodGhpcy5fdGVybWluYWwub25LZXkoKGU9PnRoaXMuX2hhbmRsZUtleShlLmtleSkpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl90ZXJtaW5hbC5vbkJsdXIoKCgpPT50aGlzLl9jbGVhckxpdmVSZWdpb24oKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX3JlbmRlclNlcnZpY2Uub25EaW1lbnNpb25zQ2hhbmdlKCgoKT0+dGhpcy5fcmVmcmVzaFJvd3NEaW1lbnNpb25zKCkpKSksdGhpcy5yZWdpc3RlcigoMCxsLmFkZERpc3Bvc2FibGVEb21MaXN0ZW5lcikoZG9jdW1lbnQsXCJzZWxlY3Rpb25jaGFuZ2VcIiwoKCk9PnRoaXMuX2hhbmRsZVNlbGVjdGlvbkNoYW5nZSgpKSkpLHRoaXMucmVnaXN0ZXIodGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlLm9uRHByQ2hhbmdlKCgoKT0+dGhpcy5fcmVmcmVzaFJvd3NEaW1lbnNpb25zKCkpKSksdGhpcy5fcmVmcmVzaFJvd3MoKSx0aGlzLnJlZ2lzdGVyKCgwLGEudG9EaXNwb3NhYmxlKSgoKCk9Pnt0aGlzLl9hY2Nlc3NpYmlsaXR5Q29udGFpbmVyLnJlbW92ZSgpLHRoaXMuX3Jvd0VsZW1lbnRzLmxlbmd0aD0wfSkpKX1faGFuZGxlVGFiKGUpe2ZvcihsZXQgdD0wO3Q8ZTt0KyspdGhpcy5faGFuZGxlQ2hhcihcIiBcIil9X2hhbmRsZUNoYXIoZSl7dGhpcy5fbGl2ZVJlZ2lvbkxpbmVDb3VudDwyMSYmKHRoaXMuX2NoYXJzVG9Db25zdW1lLmxlbmd0aD4wP3RoaXMuX2NoYXJzVG9Db25zdW1lLnNoaWZ0KCkhPT1lJiYodGhpcy5fY2hhcnNUb0Fubm91bmNlKz1lKTp0aGlzLl9jaGFyc1RvQW5ub3VuY2UrPWUsXCJcXG5cIj09PWUmJih0aGlzLl9saXZlUmVnaW9uTGluZUNvdW50KyssMjE9PT10aGlzLl9saXZlUmVnaW9uTGluZUNvdW50JiYodGhpcy5fbGl2ZVJlZ2lvbi50ZXh0Q29udGVudCs9bi50b29NdWNoT3V0cHV0KSkpfV9jbGVhckxpdmVSZWdpb24oKXt0aGlzLl9saXZlUmVnaW9uLnRleHRDb250ZW50PVwiXCIsdGhpcy5fbGl2ZVJlZ2lvbkxpbmVDb3VudD0wfV9oYW5kbGVLZXkoZSl7dGhpcy5fY2xlYXJMaXZlUmVnaW9uKCksL1xccHtDb250cm9sfS91LnRlc3QoZSl8fHRoaXMuX2NoYXJzVG9Db25zdW1lLnB1c2goZSl9X3JlZnJlc2hSb3dzKGUsdCl7dGhpcy5fbGl2ZVJlZ2lvbkRlYm91bmNlci5yZWZyZXNoKGUsdCx0aGlzLl90ZXJtaW5hbC5yb3dzKX1fcmVuZGVyUm93cyhlLHQpe2NvbnN0IGk9dGhpcy5fdGVybWluYWwuYnVmZmVyLHM9aS5saW5lcy5sZW5ndGgudG9TdHJpbmcoKTtmb3IobGV0IHI9ZTtyPD10O3IrKyl7Y29uc3QgZT1pLmxpbmVzLmdldChpLnlkaXNwK3IpLHQ9W10sbj1lPy50cmFuc2xhdGVUb1N0cmluZyghMCx2b2lkIDAsdm9pZCAwLHQpfHxcIlwiLG89KGkueWRpc3ArcisxKS50b1N0cmluZygpLGE9dGhpcy5fcm93RWxlbWVudHNbcl07YSYmKDA9PT1uLmxlbmd0aD8oYS5pbm5lclRleHQ9XCLCoFwiLHRoaXMuX3Jvd0NvbHVtbnMuc2V0KGEsWzAsMV0pKTooYS50ZXh0Q29udGVudD1uLHRoaXMuX3Jvd0NvbHVtbnMuc2V0KGEsdCkpLGEuc2V0QXR0cmlidXRlKFwiYXJpYS1wb3NpbnNldFwiLG8pLGEuc2V0QXR0cmlidXRlKFwiYXJpYS1zZXRzaXplXCIscykpfXRoaXMuX2Fubm91bmNlQ2hhcmFjdGVycygpfV9hbm5vdW5jZUNoYXJhY3RlcnMoKXswIT09dGhpcy5fY2hhcnNUb0Fubm91bmNlLmxlbmd0aCYmKHRoaXMuX2xpdmVSZWdpb24udGV4dENvbnRlbnQrPXRoaXMuX2NoYXJzVG9Bbm5vdW5jZSx0aGlzLl9jaGFyc1RvQW5ub3VuY2U9XCJcIil9X2hhbmRsZUJvdW5kYXJ5Rm9jdXMoZSx0KXtjb25zdCBpPWUudGFyZ2V0LHM9dGhpcy5fcm93RWxlbWVudHNbMD09PXQ/MTp0aGlzLl9yb3dFbGVtZW50cy5sZW5ndGgtMl07aWYoaS5nZXRBdHRyaWJ1dGUoXCJhcmlhLXBvc2luc2V0XCIpPT09KDA9PT10P1wiMVwiOmAke3RoaXMuX3Rlcm1pbmFsLmJ1ZmZlci5saW5lcy5sZW5ndGh9YCkpcmV0dXJuO2lmKGUucmVsYXRlZFRhcmdldCE9PXMpcmV0dXJuO2xldCByLG47aWYoMD09PXQ/KHI9aSxuPXRoaXMuX3Jvd0VsZW1lbnRzLnBvcCgpLHRoaXMuX3Jvd0NvbnRhaW5lci5yZW1vdmVDaGlsZChuKSk6KHI9dGhpcy5fcm93RWxlbWVudHMuc2hpZnQoKSxuPWksdGhpcy5fcm93Q29udGFpbmVyLnJlbW92ZUNoaWxkKHIpKSxyLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJmb2N1c1wiLHRoaXMuX3RvcEJvdW5kYXJ5Rm9jdXNMaXN0ZW5lciksbi5yZW1vdmVFdmVudExpc3RlbmVyKFwiZm9jdXNcIix0aGlzLl9ib3R0b21Cb3VuZGFyeUZvY3VzTGlzdGVuZXIpLDA9PT10KXtjb25zdCBlPXRoaXMuX2NyZWF0ZUFjY2Vzc2liaWxpdHlUcmVlTm9kZSgpO3RoaXMuX3Jvd0VsZW1lbnRzLnVuc2hpZnQoZSksdGhpcy5fcm93Q29udGFpbmVyLmluc2VydEFkamFjZW50RWxlbWVudChcImFmdGVyYmVnaW5cIixlKX1lbHNle2NvbnN0IGU9dGhpcy5fY3JlYXRlQWNjZXNzaWJpbGl0eVRyZWVOb2RlKCk7dGhpcy5fcm93RWxlbWVudHMucHVzaChlKSx0aGlzLl9yb3dDb250YWluZXIuYXBwZW5kQ2hpbGQoZSl9dGhpcy5fcm93RWxlbWVudHNbMF0uYWRkRXZlbnRMaXN0ZW5lcihcImZvY3VzXCIsdGhpcy5fdG9wQm91bmRhcnlGb2N1c0xpc3RlbmVyKSx0aGlzLl9yb3dFbGVtZW50c1t0aGlzLl9yb3dFbGVtZW50cy5sZW5ndGgtMV0uYWRkRXZlbnRMaXN0ZW5lcihcImZvY3VzXCIsdGhpcy5fYm90dG9tQm91bmRhcnlGb2N1c0xpc3RlbmVyKSx0aGlzLl90ZXJtaW5hbC5zY3JvbGxMaW5lcygwPT09dD8tMToxKSx0aGlzLl9yb3dFbGVtZW50c1swPT09dD8xOnRoaXMuX3Jvd0VsZW1lbnRzLmxlbmd0aC0yXS5mb2N1cygpLGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpfV9oYW5kbGVTZWxlY3Rpb25DaGFuZ2UoKXtpZigwPT09dGhpcy5fcm93RWxlbWVudHMubGVuZ3RoKXJldHVybjtjb25zdCBlPWRvY3VtZW50LmdldFNlbGVjdGlvbigpO2lmKCFlKXJldHVybjtpZihlLmlzQ29sbGFwc2VkKXJldHVybiB2b2lkKHRoaXMuX3Jvd0NvbnRhaW5lci5jb250YWlucyhlLmFuY2hvck5vZGUpJiZ0aGlzLl90ZXJtaW5hbC5jbGVhclNlbGVjdGlvbigpKTtpZighZS5hbmNob3JOb2RlfHwhZS5mb2N1c05vZGUpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcihcImFuY2hvck5vZGUgYW5kL29yIGZvY3VzTm9kZSBhcmUgbnVsbFwiKTtsZXQgdD17bm9kZTplLmFuY2hvck5vZGUsb2Zmc2V0OmUuYW5jaG9yT2Zmc2V0fSxpPXtub2RlOmUuZm9jdXNOb2RlLG9mZnNldDplLmZvY3VzT2Zmc2V0fTtpZigodC5ub2RlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGkubm9kZSkmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkd8fHQubm9kZT09PWkubm9kZSYmdC5vZmZzZXQ+aS5vZmZzZXQpJiYoW3QsaV09W2ksdF0pLHQubm9kZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0aGlzLl9yb3dFbGVtZW50c1swXSkmKE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZfE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HKSYmKHQ9e25vZGU6dGhpcy5fcm93RWxlbWVudHNbMF0uY2hpbGROb2Rlc1swXSxvZmZzZXQ6MH0pLCF0aGlzLl9yb3dDb250YWluZXIuY29udGFpbnModC5ub2RlKSlyZXR1cm47Y29uc3Qgcz10aGlzLl9yb3dFbGVtZW50cy5zbGljZSgtMSlbMF07aWYoaS5ub2RlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHMpJihOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWXxOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORykmJihpPXtub2RlOnMsb2Zmc2V0OnMudGV4dENvbnRlbnQ/Lmxlbmd0aD8/MH0pLCF0aGlzLl9yb3dDb250YWluZXIuY29udGFpbnMoaS5ub2RlKSlyZXR1cm47Y29uc3Qgcj0oe25vZGU6ZSxvZmZzZXQ6dH0pPT57Y29uc3QgaT1lIGluc3RhbmNlb2YgVGV4dD9lLnBhcmVudE5vZGU6ZTtsZXQgcz1wYXJzZUludChpPy5nZXRBdHRyaWJ1dGUoXCJhcmlhLXBvc2luc2V0XCIpLDEwKS0xO2lmKGlzTmFOKHMpKXJldHVybiBjb25zb2xlLndhcm4oXCJyb3cgaXMgaW52YWxpZC4gUmFjZSBjb25kaXRpb24/XCIpLG51bGw7Y29uc3Qgcj10aGlzLl9yb3dDb2x1bW5zLmdldChpKTtpZighcilyZXR1cm4gY29uc29sZS53YXJuKFwiY29sdW1ucyBpcyBudWxsLiBSYWNlIGNvbmRpdGlvbj9cIiksbnVsbDtsZXQgbj10PHIubGVuZ3RoP3JbdF06ci5zbGljZSgtMSlbMF0rMTtyZXR1cm4gbj49dGhpcy5fdGVybWluYWwuY29scyYmKCsrcyxuPTApLHtyb3c6cyxjb2x1bW46bn19LG49cih0KSxvPXIoaSk7aWYobiYmbyl7aWYobi5yb3c+by5yb3d8fG4ucm93PT09by5yb3cmJm4uY29sdW1uPj1vLmNvbHVtbil0aHJvdyBuZXcgRXJyb3IoXCJpbnZhbGlkIHJhbmdlXCIpO3RoaXMuX3Rlcm1pbmFsLnNlbGVjdChuLmNvbHVtbixuLnJvdywoby5yb3ctbi5yb3cpKnRoaXMuX3Rlcm1pbmFsLmNvbHMtbi5jb2x1bW4rby5jb2x1bW4pfX1faGFuZGxlUmVzaXplKGUpe3RoaXMuX3Jvd0VsZW1lbnRzW3RoaXMuX3Jvd0VsZW1lbnRzLmxlbmd0aC0xXS5yZW1vdmVFdmVudExpc3RlbmVyKFwiZm9jdXNcIix0aGlzLl9ib3R0b21Cb3VuZGFyeUZvY3VzTGlzdGVuZXIpO2ZvcihsZXQgZT10aGlzLl9yb3dDb250YWluZXIuY2hpbGRyZW4ubGVuZ3RoO2U8dGhpcy5fdGVybWluYWwucm93cztlKyspdGhpcy5fcm93RWxlbWVudHNbZV09dGhpcy5fY3JlYXRlQWNjZXNzaWJpbGl0eVRyZWVOb2RlKCksdGhpcy5fcm93Q29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuX3Jvd0VsZW1lbnRzW2VdKTtmb3IoO3RoaXMuX3Jvd0VsZW1lbnRzLmxlbmd0aD5lOyl0aGlzLl9yb3dDb250YWluZXIucmVtb3ZlQ2hpbGQodGhpcy5fcm93RWxlbWVudHMucG9wKCkpO3RoaXMuX3Jvd0VsZW1lbnRzW3RoaXMuX3Jvd0VsZW1lbnRzLmxlbmd0aC0xXS5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNcIix0aGlzLl9ib3R0b21Cb3VuZGFyeUZvY3VzTGlzdGVuZXIpLHRoaXMuX3JlZnJlc2hSb3dzRGltZW5zaW9ucygpfV9jcmVhdGVBY2Nlc3NpYmlsaXR5VHJlZU5vZGUoKXtjb25zdCBlPXRoaXMuX2NvcmVCcm93c2VyU2VydmljZS5tYWluRG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtyZXR1cm4gZS5zZXRBdHRyaWJ1dGUoXCJyb2xlXCIsXCJsaXN0aXRlbVwiKSxlLnRhYkluZGV4PS0xLHRoaXMuX3JlZnJlc2hSb3dEaW1lbnNpb25zKGUpLGV9X3JlZnJlc2hSb3dzRGltZW5zaW9ucygpe2lmKHRoaXMuX3JlbmRlclNlcnZpY2UuZGltZW5zaW9ucy5jc3MuY2VsbC5oZWlnaHQpe3RoaXMuX2FjY2Vzc2liaWxpdHlDb250YWluZXIuc3R5bGUud2lkdGg9YCR7dGhpcy5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zLmNzcy5jYW52YXMud2lkdGh9cHhgLHRoaXMuX3Jvd0VsZW1lbnRzLmxlbmd0aCE9PXRoaXMuX3Rlcm1pbmFsLnJvd3MmJnRoaXMuX2hhbmRsZVJlc2l6ZSh0aGlzLl90ZXJtaW5hbC5yb3dzKTtmb3IobGV0IGU9MDtlPHRoaXMuX3Rlcm1pbmFsLnJvd3M7ZSsrKXRoaXMuX3JlZnJlc2hSb3dEaW1lbnNpb25zKHRoaXMuX3Jvd0VsZW1lbnRzW2VdKX19X3JlZnJlc2hSb3dEaW1lbnNpb25zKGUpe2Uuc3R5bGUuaGVpZ2h0PWAke3RoaXMuX3JlbmRlclNlcnZpY2UuZGltZW5zaW9ucy5jc3MuY2VsbC5oZWlnaHR9cHhgfX07dC5BY2Nlc3NpYmlsaXR5TWFuYWdlcj1kPXMoW3IoMSxjLklJbnN0YW50aWF0aW9uU2VydmljZSkscigyLGguSUNvcmVCcm93c2VyU2VydmljZSkscigzLGguSVJlbmRlclNlcnZpY2UpXSxkKX0sMzYxNDooZSx0KT0+e2Z1bmN0aW9uIGkoZSl7cmV0dXJuIGUucmVwbGFjZSgvXFxyP1xcbi9nLFwiXFxyXCIpfWZ1bmN0aW9uIHMoZSx0KXtyZXR1cm4gdD9cIlx1MDAxYlsyMDB+XCIrZStcIlx1MDAxYlsyMDF+XCI6ZX1mdW5jdGlvbiByKGUsdCxyLG4pe2U9cyhlPWkoZSksci5kZWNQcml2YXRlTW9kZXMuYnJhY2tldGVkUGFzdGVNb2RlJiYhMCE9PW4ucmF3T3B0aW9ucy5pZ25vcmVCcmFja2V0ZWRQYXN0ZU1vZGUpLHIudHJpZ2dlckRhdGFFdmVudChlLCEwKSx0LnZhbHVlPVwiXCJ9ZnVuY3Rpb24gbihlLHQsaSl7Y29uc3Qgcz1pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHI9ZS5jbGllbnRYLXMubGVmdC0xMCxuPWUuY2xpZW50WS1zLnRvcC0xMDt0LnN0eWxlLndpZHRoPVwiMjBweFwiLHQuc3R5bGUuaGVpZ2h0PVwiMjBweFwiLHQuc3R5bGUubGVmdD1gJHtyfXB4YCx0LnN0eWxlLnRvcD1gJHtufXB4YCx0LnN0eWxlLnpJbmRleD1cIjEwMDBcIix0LmZvY3VzKCl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5yaWdodENsaWNrSGFuZGxlcj10Lm1vdmVUZXh0QXJlYVVuZGVyTW91c2VDdXJzb3I9dC5wYXN0ZT10LmhhbmRsZVBhc3RlRXZlbnQ9dC5jb3B5SGFuZGxlcj10LmJyYWNrZXRUZXh0Rm9yUGFzdGU9dC5wcmVwYXJlVGV4dEZvclRlcm1pbmFsPXZvaWQgMCx0LnByZXBhcmVUZXh0Rm9yVGVybWluYWw9aSx0LmJyYWNrZXRUZXh0Rm9yUGFzdGU9cyx0LmNvcHlIYW5kbGVyPWZ1bmN0aW9uKGUsdCl7ZS5jbGlwYm9hcmREYXRhJiZlLmNsaXBib2FyZERhdGEuc2V0RGF0YShcInRleHQvcGxhaW5cIix0LnNlbGVjdGlvblRleHQpLGUucHJldmVudERlZmF1bHQoKX0sdC5oYW5kbGVQYXN0ZUV2ZW50PWZ1bmN0aW9uKGUsdCxpLHMpe2Uuc3RvcFByb3BhZ2F0aW9uKCksZS5jbGlwYm9hcmREYXRhJiZyKGUuY2xpcGJvYXJkRGF0YS5nZXREYXRhKFwidGV4dC9wbGFpblwiKSx0LGkscyl9LHQucGFzdGU9cix0Lm1vdmVUZXh0QXJlYVVuZGVyTW91c2VDdXJzb3I9bix0LnJpZ2h0Q2xpY2tIYW5kbGVyPWZ1bmN0aW9uKGUsdCxpLHMscil7bihlLHQsaSksciYmcy5yaWdodENsaWNrU2VsZWN0KGUpLHQudmFsdWU9cy5zZWxlY3Rpb25UZXh0LHQuc2VsZWN0KCl9fSw3MjM5OihlLHQsaSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkNvbG9yQ29udHJhc3RDYWNoZT12b2lkIDA7Y29uc3Qgcz1pKDE1MDUpO3QuQ29sb3JDb250cmFzdENhY2hlPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5fY29sb3I9bmV3IHMuVHdvS2V5TWFwLHRoaXMuX2Nzcz1uZXcgcy5Ud29LZXlNYXB9c2V0Q3NzKGUsdCxpKXt0aGlzLl9jc3Muc2V0KGUsdCxpKX1nZXRDc3MoZSx0KXtyZXR1cm4gdGhpcy5fY3NzLmdldChlLHQpfXNldENvbG9yKGUsdCxpKXt0aGlzLl9jb2xvci5zZXQoZSx0LGkpfWdldENvbG9yKGUsdCl7cmV0dXJuIHRoaXMuX2NvbG9yLmdldChlLHQpfWNsZWFyKCl7dGhpcy5fY29sb3IuY2xlYXIoKSx0aGlzLl9jc3MuY2xlYXIoKX19fSwzNjU2OihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXI9dm9pZCAwLHQuYWRkRGlzcG9zYWJsZURvbUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCxpLHMpe2UuYWRkRXZlbnRMaXN0ZW5lcih0LGkscyk7bGV0IHI9ITE7cmV0dXJue2Rpc3Bvc2U6KCk9PntyfHwocj0hMCxlLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxpLHMpKX19fX0sMzU1MTpmdW5jdGlvbihlLHQsaSl7dmFyIHM9dGhpcyYmdGhpcy5fX2RlY29yYXRlfHxmdW5jdGlvbihlLHQsaSxzKXt2YXIgcixuPWFyZ3VtZW50cy5sZW5ndGgsbz1uPDM/dDpudWxsPT09cz9zPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxpKTpzO2lmKFwib2JqZWN0XCI9PXR5cGVvZiBSZWZsZWN0JiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBSZWZsZWN0LmRlY29yYXRlKW89UmVmbGVjdC5kZWNvcmF0ZShlLHQsaSxzKTtlbHNlIGZvcih2YXIgYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShyPWVbYV0pJiYobz0objwzP3Iobyk6bj4zP3IodCxpLG8pOnIodCxpKSl8fG8pO3JldHVybiBuPjMmJm8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGksbyksb30scj10aGlzJiZ0aGlzLl9fcGFyYW18fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGkscyl7dChpLHMsZSl9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkxpbmtpZmllcj12b2lkIDA7Y29uc3Qgbj1pKDM2NTYpLG89aSg4NDYwKSxhPWkoODQ0KSxoPWkoMjU4NSksYz1pKDQ3MjUpO2xldCBsPXQuTGlua2lmaWVyPWNsYXNzIGV4dGVuZHMgYS5EaXNwb3NhYmxle2dldCBjdXJyZW50TGluaygpe3JldHVybiB0aGlzLl9jdXJyZW50TGlua31jb25zdHJ1Y3RvcihlLHQsaSxzLHIpe3N1cGVyKCksdGhpcy5fZWxlbWVudD1lLHRoaXMuX21vdXNlU2VydmljZT10LHRoaXMuX3JlbmRlclNlcnZpY2U9aSx0aGlzLl9idWZmZXJTZXJ2aWNlPXMsdGhpcy5fbGlua1Byb3ZpZGVyU2VydmljZT1yLHRoaXMuX2xpbmtDYWNoZURpc3Bvc2FibGVzPVtdLHRoaXMuX2lzTW91c2VPdXQ9ITAsdGhpcy5fd2FzUmVzaXplZD0hMSx0aGlzLl9hY3RpdmVMaW5lPS0xLHRoaXMuX29uU2hvd0xpbmtVbmRlcmxpbmU9dGhpcy5yZWdpc3RlcihuZXcgby5FdmVudEVtaXR0ZXIpLHRoaXMub25TaG93TGlua1VuZGVybGluZT10aGlzLl9vblNob3dMaW5rVW5kZXJsaW5lLmV2ZW50LHRoaXMuX29uSGlkZUxpbmtVbmRlcmxpbmU9dGhpcy5yZWdpc3RlcihuZXcgby5FdmVudEVtaXR0ZXIpLHRoaXMub25IaWRlTGlua1VuZGVybGluZT10aGlzLl9vbkhpZGVMaW5rVW5kZXJsaW5lLmV2ZW50LHRoaXMucmVnaXN0ZXIoKDAsYS5nZXREaXNwb3NlQXJyYXlEaXNwb3NhYmxlKSh0aGlzLl9saW5rQ2FjaGVEaXNwb3NhYmxlcykpLHRoaXMucmVnaXN0ZXIoKDAsYS50b0Rpc3Bvc2FibGUpKCgoKT0+e3RoaXMuX2xhc3RNb3VzZUV2ZW50PXZvaWQgMCx0aGlzLl9hY3RpdmVQcm92aWRlclJlcGxpZXM/LmNsZWFyKCl9KSkpLHRoaXMucmVnaXN0ZXIodGhpcy5fYnVmZmVyU2VydmljZS5vblJlc2l6ZSgoKCk9Pnt0aGlzLl9jbGVhckN1cnJlbnRMaW5rKCksdGhpcy5fd2FzUmVzaXplZD0hMH0pKSksdGhpcy5yZWdpc3RlcigoMCxuLmFkZERpc3Bvc2FibGVEb21MaXN0ZW5lcikodGhpcy5fZWxlbWVudCxcIm1vdXNlbGVhdmVcIiwoKCk9Pnt0aGlzLl9pc01vdXNlT3V0PSEwLHRoaXMuX2NsZWFyQ3VycmVudExpbmsoKX0pKSksdGhpcy5yZWdpc3RlcigoMCxuLmFkZERpc3Bvc2FibGVEb21MaXN0ZW5lcikodGhpcy5fZWxlbWVudCxcIm1vdXNlbW92ZVwiLHRoaXMuX2hhbmRsZU1vdXNlTW92ZS5iaW5kKHRoaXMpKSksdGhpcy5yZWdpc3RlcigoMCxuLmFkZERpc3Bvc2FibGVEb21MaXN0ZW5lcikodGhpcy5fZWxlbWVudCxcIm1vdXNlZG93blwiLHRoaXMuX2hhbmRsZU1vdXNlRG93bi5iaW5kKHRoaXMpKSksdGhpcy5yZWdpc3RlcigoMCxuLmFkZERpc3Bvc2FibGVEb21MaXN0ZW5lcikodGhpcy5fZWxlbWVudCxcIm1vdXNldXBcIix0aGlzLl9oYW5kbGVNb3VzZVVwLmJpbmQodGhpcykpKX1faGFuZGxlTW91c2VNb3ZlKGUpe3RoaXMuX2xhc3RNb3VzZUV2ZW50PWU7Y29uc3QgdD10aGlzLl9wb3NpdGlvbkZyb21Nb3VzZUV2ZW50KGUsdGhpcy5fZWxlbWVudCx0aGlzLl9tb3VzZVNlcnZpY2UpO2lmKCF0KXJldHVybjt0aGlzLl9pc01vdXNlT3V0PSExO2NvbnN0IGk9ZS5jb21wb3NlZFBhdGgoKTtmb3IobGV0IGU9MDtlPGkubGVuZ3RoO2UrKyl7Y29uc3QgdD1pW2VdO2lmKHQuY2xhc3NMaXN0LmNvbnRhaW5zKFwieHRlcm1cIikpYnJlYWs7aWYodC5jbGFzc0xpc3QuY29udGFpbnMoXCJ4dGVybS1ob3ZlclwiKSlyZXR1cm59dGhpcy5fbGFzdEJ1ZmZlckNlbGwmJnQueD09PXRoaXMuX2xhc3RCdWZmZXJDZWxsLngmJnQueT09PXRoaXMuX2xhc3RCdWZmZXJDZWxsLnl8fCh0aGlzLl9oYW5kbGVIb3Zlcih0KSx0aGlzLl9sYXN0QnVmZmVyQ2VsbD10KX1faGFuZGxlSG92ZXIoZSl7aWYodGhpcy5fYWN0aXZlTGluZSE9PWUueXx8dGhpcy5fd2FzUmVzaXplZClyZXR1cm4gdGhpcy5fY2xlYXJDdXJyZW50TGluaygpLHRoaXMuX2Fza0ZvckxpbmsoZSwhMSksdm9pZCh0aGlzLl93YXNSZXNpemVkPSExKTt0aGlzLl9jdXJyZW50TGluayYmdGhpcy5fbGlua0F0UG9zaXRpb24odGhpcy5fY3VycmVudExpbmsubGluayxlKXx8KHRoaXMuX2NsZWFyQ3VycmVudExpbmsoKSx0aGlzLl9hc2tGb3JMaW5rKGUsITApKX1fYXNrRm9yTGluayhlLHQpe3RoaXMuX2FjdGl2ZVByb3ZpZGVyUmVwbGllcyYmdHx8KHRoaXMuX2FjdGl2ZVByb3ZpZGVyUmVwbGllcz8uZm9yRWFjaCgoZT0+e2U/LmZvckVhY2goKGU9PntlLmxpbmsuZGlzcG9zZSYmZS5saW5rLmRpc3Bvc2UoKX0pKX0pKSx0aGlzLl9hY3RpdmVQcm92aWRlclJlcGxpZXM9bmV3IE1hcCx0aGlzLl9hY3RpdmVMaW5lPWUueSk7bGV0IGk9ITE7Zm9yKGNvbnN0W3Mscl1vZiB0aGlzLl9saW5rUHJvdmlkZXJTZXJ2aWNlLmxpbmtQcm92aWRlcnMuZW50cmllcygpKWlmKHQpe2NvbnN0IHQ9dGhpcy5fYWN0aXZlUHJvdmlkZXJSZXBsaWVzPy5nZXQocyk7dCYmKGk9dGhpcy5fY2hlY2tMaW5rUHJvdmlkZXJSZXN1bHQocyxlLGkpKX1lbHNlIHIucHJvdmlkZUxpbmtzKGUueSwodD0+e2lmKHRoaXMuX2lzTW91c2VPdXQpcmV0dXJuO2NvbnN0IHI9dD8ubWFwKChlPT4oe2xpbms6ZX0pKSk7dGhpcy5fYWN0aXZlUHJvdmlkZXJSZXBsaWVzPy5zZXQocyxyKSxpPXRoaXMuX2NoZWNrTGlua1Byb3ZpZGVyUmVzdWx0KHMsZSxpKSx0aGlzLl9hY3RpdmVQcm92aWRlclJlcGxpZXM/LnNpemU9PT10aGlzLl9saW5rUHJvdmlkZXJTZXJ2aWNlLmxpbmtQcm92aWRlcnMubGVuZ3RoJiZ0aGlzLl9yZW1vdmVJbnRlcnNlY3RpbmdMaW5rcyhlLnksdGhpcy5fYWN0aXZlUHJvdmlkZXJSZXBsaWVzKX0pKX1fcmVtb3ZlSW50ZXJzZWN0aW5nTGlua3MoZSx0KXtjb25zdCBpPW5ldyBTZXQ7Zm9yKGxldCBzPTA7czx0LnNpemU7cysrKXtjb25zdCByPXQuZ2V0KHMpO2lmKHIpZm9yKGxldCB0PTA7dDxyLmxlbmd0aDt0Kyspe2NvbnN0IHM9clt0XSxuPXMubGluay5yYW5nZS5zdGFydC55PGU/MDpzLmxpbmsucmFuZ2Uuc3RhcnQueCxvPXMubGluay5yYW5nZS5lbmQueT5lP3RoaXMuX2J1ZmZlclNlcnZpY2UuY29sczpzLmxpbmsucmFuZ2UuZW5kLng7Zm9yKGxldCBlPW47ZTw9bztlKyspe2lmKGkuaGFzKGUpKXtyLnNwbGljZSh0LS0sMSk7YnJlYWt9aS5hZGQoZSl9fX19X2NoZWNrTGlua1Byb3ZpZGVyUmVzdWx0KGUsdCxpKXtpZighdGhpcy5fYWN0aXZlUHJvdmlkZXJSZXBsaWVzKXJldHVybiBpO2NvbnN0IHM9dGhpcy5fYWN0aXZlUHJvdmlkZXJSZXBsaWVzLmdldChlKTtsZXQgcj0hMTtmb3IobGV0IHQ9MDt0PGU7dCsrKXRoaXMuX2FjdGl2ZVByb3ZpZGVyUmVwbGllcy5oYXModCkmJiF0aGlzLl9hY3RpdmVQcm92aWRlclJlcGxpZXMuZ2V0KHQpfHwocj0hMCk7aWYoIXImJnMpe2NvbnN0IGU9cy5maW5kKChlPT50aGlzLl9saW5rQXRQb3NpdGlvbihlLmxpbmssdCkpKTtlJiYoaT0hMCx0aGlzLl9oYW5kbGVOZXdMaW5rKGUpKX1pZih0aGlzLl9hY3RpdmVQcm92aWRlclJlcGxpZXMuc2l6ZT09PXRoaXMuX2xpbmtQcm92aWRlclNlcnZpY2UubGlua1Byb3ZpZGVycy5sZW5ndGgmJiFpKWZvcihsZXQgZT0wO2U8dGhpcy5fYWN0aXZlUHJvdmlkZXJSZXBsaWVzLnNpemU7ZSsrKXtjb25zdCBzPXRoaXMuX2FjdGl2ZVByb3ZpZGVyUmVwbGllcy5nZXQoZSk/LmZpbmQoKGU9PnRoaXMuX2xpbmtBdFBvc2l0aW9uKGUubGluayx0KSkpO2lmKHMpe2k9ITAsdGhpcy5faGFuZGxlTmV3TGluayhzKTticmVha319cmV0dXJuIGl9X2hhbmRsZU1vdXNlRG93bigpe3RoaXMuX21vdXNlRG93bkxpbms9dGhpcy5fY3VycmVudExpbmt9X2hhbmRsZU1vdXNlVXAoZSl7aWYoIXRoaXMuX2N1cnJlbnRMaW5rKXJldHVybjtjb25zdCB0PXRoaXMuX3Bvc2l0aW9uRnJvbU1vdXNlRXZlbnQoZSx0aGlzLl9lbGVtZW50LHRoaXMuX21vdXNlU2VydmljZSk7dCYmdGhpcy5fbW91c2VEb3duTGluaz09PXRoaXMuX2N1cnJlbnRMaW5rJiZ0aGlzLl9saW5rQXRQb3NpdGlvbih0aGlzLl9jdXJyZW50TGluay5saW5rLHQpJiZ0aGlzLl9jdXJyZW50TGluay5saW5rLmFjdGl2YXRlKGUsdGhpcy5fY3VycmVudExpbmsubGluay50ZXh0KX1fY2xlYXJDdXJyZW50TGluayhlLHQpe3RoaXMuX2N1cnJlbnRMaW5rJiZ0aGlzLl9sYXN0TW91c2VFdmVudCYmKCFlfHwhdHx8dGhpcy5fY3VycmVudExpbmsubGluay5yYW5nZS5zdGFydC55Pj1lJiZ0aGlzLl9jdXJyZW50TGluay5saW5rLnJhbmdlLmVuZC55PD10KSYmKHRoaXMuX2xpbmtMZWF2ZSh0aGlzLl9lbGVtZW50LHRoaXMuX2N1cnJlbnRMaW5rLmxpbmssdGhpcy5fbGFzdE1vdXNlRXZlbnQpLHRoaXMuX2N1cnJlbnRMaW5rPXZvaWQgMCwoMCxhLmRpc3Bvc2VBcnJheSkodGhpcy5fbGlua0NhY2hlRGlzcG9zYWJsZXMpKX1faGFuZGxlTmV3TGluayhlKXtpZighdGhpcy5fbGFzdE1vdXNlRXZlbnQpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fcG9zaXRpb25Gcm9tTW91c2VFdmVudCh0aGlzLl9sYXN0TW91c2VFdmVudCx0aGlzLl9lbGVtZW50LHRoaXMuX21vdXNlU2VydmljZSk7dCYmdGhpcy5fbGlua0F0UG9zaXRpb24oZS5saW5rLHQpJiYodGhpcy5fY3VycmVudExpbms9ZSx0aGlzLl9jdXJyZW50TGluay5zdGF0ZT17ZGVjb3JhdGlvbnM6e3VuZGVybGluZTp2b2lkIDA9PT1lLmxpbmsuZGVjb3JhdGlvbnN8fGUubGluay5kZWNvcmF0aW9ucy51bmRlcmxpbmUscG9pbnRlckN1cnNvcjp2b2lkIDA9PT1lLmxpbmsuZGVjb3JhdGlvbnN8fGUubGluay5kZWNvcmF0aW9ucy5wb2ludGVyQ3Vyc29yfSxpc0hvdmVyZWQ6ITB9LHRoaXMuX2xpbmtIb3Zlcih0aGlzLl9lbGVtZW50LGUubGluayx0aGlzLl9sYXN0TW91c2VFdmVudCksZS5saW5rLmRlY29yYXRpb25zPXt9LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUubGluay5kZWNvcmF0aW9ucyx7cG9pbnRlckN1cnNvcjp7Z2V0OigpPT50aGlzLl9jdXJyZW50TGluaz8uc3RhdGU/LmRlY29yYXRpb25zLnBvaW50ZXJDdXJzb3Isc2V0OmU9Pnt0aGlzLl9jdXJyZW50TGluaz8uc3RhdGUmJnRoaXMuX2N1cnJlbnRMaW5rLnN0YXRlLmRlY29yYXRpb25zLnBvaW50ZXJDdXJzb3IhPT1lJiYodGhpcy5fY3VycmVudExpbmsuc3RhdGUuZGVjb3JhdGlvbnMucG9pbnRlckN1cnNvcj1lLHRoaXMuX2N1cnJlbnRMaW5rLnN0YXRlLmlzSG92ZXJlZCYmdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKFwieHRlcm0tY3Vyc29yLXBvaW50ZXJcIixlKSl9fSx1bmRlcmxpbmU6e2dldDooKT0+dGhpcy5fY3VycmVudExpbms/LnN0YXRlPy5kZWNvcmF0aW9ucy51bmRlcmxpbmUsc2V0OnQ9Pnt0aGlzLl9jdXJyZW50TGluaz8uc3RhdGUmJnRoaXMuX2N1cnJlbnRMaW5rPy5zdGF0ZT8uZGVjb3JhdGlvbnMudW5kZXJsaW5lIT09dCYmKHRoaXMuX2N1cnJlbnRMaW5rLnN0YXRlLmRlY29yYXRpb25zLnVuZGVybGluZT10LHRoaXMuX2N1cnJlbnRMaW5rLnN0YXRlLmlzSG92ZXJlZCYmdGhpcy5fZmlyZVVuZGVybGluZUV2ZW50KGUubGluayx0KSl9fX0pLHRoaXMuX2xpbmtDYWNoZURpc3Bvc2FibGVzLnB1c2godGhpcy5fcmVuZGVyU2VydmljZS5vblJlbmRlcmVkVmlld3BvcnRDaGFuZ2UoKGU9PntpZighdGhpcy5fY3VycmVudExpbmspcmV0dXJuO2NvbnN0IHQ9MD09PWUuc3RhcnQ/MDplLnN0YXJ0KzErdGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIueWRpc3AsaT10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci55ZGlzcCsxK2UuZW5kO2lmKHRoaXMuX2N1cnJlbnRMaW5rLmxpbmsucmFuZ2Uuc3RhcnQueT49dCYmdGhpcy5fY3VycmVudExpbmsubGluay5yYW5nZS5lbmQueTw9aSYmKHRoaXMuX2NsZWFyQ3VycmVudExpbmsodCxpKSx0aGlzLl9sYXN0TW91c2VFdmVudCkpe2NvbnN0IGU9dGhpcy5fcG9zaXRpb25Gcm9tTW91c2VFdmVudCh0aGlzLl9sYXN0TW91c2VFdmVudCx0aGlzLl9lbGVtZW50LHRoaXMuX21vdXNlU2VydmljZSk7ZSYmdGhpcy5fYXNrRm9yTGluayhlLCExKX19KSkpKX1fbGlua0hvdmVyKGUsdCxpKXt0aGlzLl9jdXJyZW50TGluaz8uc3RhdGUmJih0aGlzLl9jdXJyZW50TGluay5zdGF0ZS5pc0hvdmVyZWQ9ITAsdGhpcy5fY3VycmVudExpbmsuc3RhdGUuZGVjb3JhdGlvbnMudW5kZXJsaW5lJiZ0aGlzLl9maXJlVW5kZXJsaW5lRXZlbnQodCwhMCksdGhpcy5fY3VycmVudExpbmsuc3RhdGUuZGVjb3JhdGlvbnMucG9pbnRlckN1cnNvciYmZS5jbGFzc0xpc3QuYWRkKFwieHRlcm0tY3Vyc29yLXBvaW50ZXJcIikpLHQuaG92ZXImJnQuaG92ZXIoaSx0LnRleHQpfV9maXJlVW5kZXJsaW5lRXZlbnQoZSx0KXtjb25zdCBpPWUucmFuZ2Uscz10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci55ZGlzcCxyPXRoaXMuX2NyZWF0ZUxpbmtVbmRlcmxpbmVFdmVudChpLnN0YXJ0LngtMSxpLnN0YXJ0Lnktcy0xLGkuZW5kLngsaS5lbmQueS1zLTEsdm9pZCAwKTsodD90aGlzLl9vblNob3dMaW5rVW5kZXJsaW5lOnRoaXMuX29uSGlkZUxpbmtVbmRlcmxpbmUpLmZpcmUocil9X2xpbmtMZWF2ZShlLHQsaSl7dGhpcy5fY3VycmVudExpbms/LnN0YXRlJiYodGhpcy5fY3VycmVudExpbmsuc3RhdGUuaXNIb3ZlcmVkPSExLHRoaXMuX2N1cnJlbnRMaW5rLnN0YXRlLmRlY29yYXRpb25zLnVuZGVybGluZSYmdGhpcy5fZmlyZVVuZGVybGluZUV2ZW50KHQsITEpLHRoaXMuX2N1cnJlbnRMaW5rLnN0YXRlLmRlY29yYXRpb25zLnBvaW50ZXJDdXJzb3ImJmUuY2xhc3NMaXN0LnJlbW92ZShcInh0ZXJtLWN1cnNvci1wb2ludGVyXCIpKSx0LmxlYXZlJiZ0LmxlYXZlKGksdC50ZXh0KX1fbGlua0F0UG9zaXRpb24oZSx0KXtjb25zdCBpPWUucmFuZ2Uuc3RhcnQueSp0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMrZS5yYW5nZS5zdGFydC54LHM9ZS5yYW5nZS5lbmQueSp0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMrZS5yYW5nZS5lbmQueCxyPXQueSp0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMrdC54O3JldHVybiBpPD1yJiZyPD1zfV9wb3NpdGlvbkZyb21Nb3VzZUV2ZW50KGUsdCxpKXtjb25zdCBzPWkuZ2V0Q29vcmRzKGUsdCx0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMsdGhpcy5fYnVmZmVyU2VydmljZS5yb3dzKTtpZihzKXJldHVybnt4OnNbMF0seTpzWzFdK3RoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLnlkaXNwfX1fY3JlYXRlTGlua1VuZGVybGluZUV2ZW50KGUsdCxpLHMscil7cmV0dXJue3gxOmUseTE6dCx4MjppLHkyOnMsY29sczp0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMsZmc6cn19fTt0LkxpbmtpZmllcj1sPXMoW3IoMSxjLklNb3VzZVNlcnZpY2UpLHIoMixjLklSZW5kZXJTZXJ2aWNlKSxyKDMsaC5JQnVmZmVyU2VydmljZSkscig0LGMuSUxpbmtQcm92aWRlclNlcnZpY2UpXSxsKX0sOTA0MjooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQudG9vTXVjaE91dHB1dD10LnByb21wdExhYmVsPXZvaWQgMCx0LnByb21wdExhYmVsPVwiVGVybWluYWwgaW5wdXRcIix0LnRvb011Y2hPdXRwdXQ9XCJUb28gbXVjaCBvdXRwdXQgdG8gYW5ub3VuY2UsIG5hdmlnYXRlIHRvIHJvd3MgbWFudWFsbHkgdG8gcmVhZFwifSwzNzMwOmZ1bmN0aW9uKGUsdCxpKXt2YXIgcz10aGlzJiZ0aGlzLl9fZGVjb3JhdGV8fGZ1bmN0aW9uKGUsdCxpLHMpe3ZhciByLG49YXJndW1lbnRzLmxlbmd0aCxvPW48Mz90Om51bGw9PT1zP3M9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGkpOnM7aWYoXCJvYmplY3RcIj09dHlwZW9mIFJlZmxlY3QmJlwiZnVuY3Rpb25cIj09dHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUpbz1SZWZsZWN0LmRlY29yYXRlKGUsdCxpLHMpO2Vsc2UgZm9yKHZhciBhPWUubGVuZ3RoLTE7YT49MDthLS0pKHI9ZVthXSkmJihvPShuPDM/cihvKTpuPjM/cih0LGksbyk6cih0LGkpKXx8byk7cmV0dXJuIG4+MyYmbyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsaSxvKSxvfSxyPXRoaXMmJnRoaXMuX19wYXJhbXx8ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oaSxzKXt0KGkscyxlKX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuT3NjTGlua1Byb3ZpZGVyPXZvaWQgMDtjb25zdCBuPWkoNTExKSxvPWkoMjU4NSk7bGV0IGE9dC5Pc2NMaW5rUHJvdmlkZXI9Y2xhc3N7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuX2J1ZmZlclNlcnZpY2U9ZSx0aGlzLl9vcHRpb25zU2VydmljZT10LHRoaXMuX29zY0xpbmtTZXJ2aWNlPWl9cHJvdmlkZUxpbmtzKGUsdCl7Y29uc3QgaT10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci5saW5lcy5nZXQoZS0xKTtpZighaSlyZXR1cm4gdm9pZCB0KHZvaWQgMCk7Y29uc3Qgcz1bXSxyPXRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMubGlua0hhbmRsZXIsbz1uZXcgbi5DZWxsRGF0YSxhPWkuZ2V0VHJpbW1lZExlbmd0aCgpO2xldCBjPS0xLGw9LTEsZD0hMTtmb3IobGV0IHQ9MDt0PGE7dCsrKWlmKC0xIT09bHx8aS5oYXNDb250ZW50KHQpKXtpZihpLmxvYWRDZWxsKHQsbyksby5oYXNFeHRlbmRlZEF0dHJzKCkmJm8uZXh0ZW5kZWQudXJsSWQpe2lmKC0xPT09bCl7bD10LGM9by5leHRlbmRlZC51cmxJZDtjb250aW51ZX1kPW8uZXh0ZW5kZWQudXJsSWQhPT1jfWVsc2UtMSE9PWwmJihkPSEwKTtpZihkfHwtMSE9PWwmJnQ9PT1hLTEpe2NvbnN0IGk9dGhpcy5fb3NjTGlua1NlcnZpY2UuZ2V0TGlua0RhdGEoYyk/LnVyaTtpZihpKXtjb25zdCBuPXtzdGFydDp7eDpsKzEseTplfSxlbmQ6e3g6dCsoZHx8dCE9PWEtMT8wOjEpLHk6ZX19O2xldCBvPSExO2lmKCFyPy5hbGxvd05vbkh0dHBQcm90b2NvbHMpdHJ5e2NvbnN0IGU9bmV3IFVSTChpKTtbXCJodHRwOlwiLFwiaHR0cHM6XCJdLmluY2x1ZGVzKGUucHJvdG9jb2wpfHwobz0hMCl9Y2F0Y2goZSl7bz0hMH1vfHxzLnB1c2goe3RleHQ6aSxyYW5nZTpuLGFjdGl2YXRlOihlLHQpPT5yP3IuYWN0aXZhdGUoZSx0LG4pOmgoMCx0KSxob3ZlcjooZSx0KT0+cj8uaG92ZXI/LihlLHQsbiksbGVhdmU6KGUsdCk9PnI/LmxlYXZlPy4oZSx0LG4pfSl9ZD0hMSxvLmhhc0V4dGVuZGVkQXR0cnMoKSYmby5leHRlbmRlZC51cmxJZD8obD10LGM9by5leHRlbmRlZC51cmxJZCk6KGw9LTEsYz0tMSl9fXQocyl9fTtmdW5jdGlvbiBoKGUsdCl7aWYoY29uZmlybShgRG8geW91IHdhbnQgdG8gbmF2aWdhdGUgdG8gJHt0fT9cXG5cXG5XQVJOSU5HOiBUaGlzIGxpbmsgY291bGQgcG90ZW50aWFsbHkgYmUgZGFuZ2Vyb3VzYCkpe2NvbnN0IGU9d2luZG93Lm9wZW4oKTtpZihlKXt0cnl7ZS5vcGVuZXI9bnVsbH1jYXRjaHt9ZS5sb2NhdGlvbi5ocmVmPXR9ZWxzZSBjb25zb2xlLndhcm4oXCJPcGVuaW5nIGxpbmsgYmxvY2tlZCBhcyBvcGVuZXIgY291bGQgbm90IGJlIGNsZWFyZWRcIil9fXQuT3NjTGlua1Byb3ZpZGVyPWE9cyhbcigwLG8uSUJ1ZmZlclNlcnZpY2UpLHIoMSxvLklPcHRpb25zU2VydmljZSkscigyLG8uSU9zY0xpbmtTZXJ2aWNlKV0sYSl9LDYxOTM6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LlJlbmRlckRlYm91bmNlcj12b2lkIDAsdC5SZW5kZXJEZWJvdW5jZXI9Y2xhc3N7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9yZW5kZXJDYWxsYmFjaz1lLHRoaXMuX2NvcmVCcm93c2VyU2VydmljZT10LHRoaXMuX3JlZnJlc2hDYWxsYmFja3M9W119ZGlzcG9zZSgpe3RoaXMuX2FuaW1hdGlvbkZyYW1lJiYodGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlLndpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9hbmltYXRpb25GcmFtZSksdGhpcy5fYW5pbWF0aW9uRnJhbWU9dm9pZCAwKX1hZGRSZWZyZXNoQ2FsbGJhY2soZSl7cmV0dXJuIHRoaXMuX3JlZnJlc2hDYWxsYmFja3MucHVzaChlKSx0aGlzLl9hbmltYXRpb25GcmFtZXx8KHRoaXMuX2FuaW1hdGlvbkZyYW1lPXRoaXMuX2NvcmVCcm93c2VyU2VydmljZS53aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+dGhpcy5faW5uZXJSZWZyZXNoKCkpKSksdGhpcy5fYW5pbWF0aW9uRnJhbWV9cmVmcmVzaChlLHQsaSl7dGhpcy5fcm93Q291bnQ9aSxlPXZvaWQgMCE9PWU/ZTowLHQ9dm9pZCAwIT09dD90OnRoaXMuX3Jvd0NvdW50LTEsdGhpcy5fcm93U3RhcnQ9dm9pZCAwIT09dGhpcy5fcm93U3RhcnQ/TWF0aC5taW4odGhpcy5fcm93U3RhcnQsZSk6ZSx0aGlzLl9yb3dFbmQ9dm9pZCAwIT09dGhpcy5fcm93RW5kP01hdGgubWF4KHRoaXMuX3Jvd0VuZCx0KTp0LHRoaXMuX2FuaW1hdGlvbkZyYW1lfHwodGhpcy5fYW5pbWF0aW9uRnJhbWU9dGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlLndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT50aGlzLl9pbm5lclJlZnJlc2goKSkpKX1faW5uZXJSZWZyZXNoKCl7aWYodGhpcy5fYW5pbWF0aW9uRnJhbWU9dm9pZCAwLHZvaWQgMD09PXRoaXMuX3Jvd1N0YXJ0fHx2b2lkIDA9PT10aGlzLl9yb3dFbmR8fHZvaWQgMD09PXRoaXMuX3Jvd0NvdW50KXJldHVybiB2b2lkIHRoaXMuX3J1blJlZnJlc2hDYWxsYmFja3MoKTtjb25zdCBlPU1hdGgubWF4KHRoaXMuX3Jvd1N0YXJ0LDApLHQ9TWF0aC5taW4odGhpcy5fcm93RW5kLHRoaXMuX3Jvd0NvdW50LTEpO3RoaXMuX3Jvd1N0YXJ0PXZvaWQgMCx0aGlzLl9yb3dFbmQ9dm9pZCAwLHRoaXMuX3JlbmRlckNhbGxiYWNrKGUsdCksdGhpcy5fcnVuUmVmcmVzaENhbGxiYWNrcygpfV9ydW5SZWZyZXNoQ2FsbGJhY2tzKCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fcmVmcmVzaENhbGxiYWNrcyllKDApO3RoaXMuX3JlZnJlc2hDYWxsYmFja3M9W119fX0sMzIzNjooZSx0LGkpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5UZXJtaW5hbD12b2lkIDA7Y29uc3Qgcz1pKDM2MTQpLHI9aSgzNjU2KSxuPWkoMzU1MSksbz1pKDkwNDIpLGE9aSgzNzMwKSxoPWkoMTY4MCksYz1pKDMxMDcpLGw9aSg1NzQ0KSxkPWkoMjk1MCksXz1pKDEyOTYpLHU9aSg0MjgpLGY9aSg0MjY5KSx2PWkoNTExNCkscD1pKDg5MzQpLGc9aSgzMjMwKSxtPWkoOTMxMiksUz1pKDQ3MjUpLEM9aSg2NzMxKSxiPWkoODA1NSksdz1pKDg5NjkpLHk9aSg4NDYwKSxFPWkoODQ0KSxrPWkoNjExNCksTD1pKDg0MzcpLEQ9aSgyNTg0KSxSPWkoNzM5OSkseD1pKDU5NDEpLEE9aSg5MDc0KSxCPWkoMjU4NSksVD1pKDU0MzUpLE09aSg0NTY3KSxPPWkoNzc5KTtjbGFzcyBQIGV4dGVuZHMgdy5Db3JlVGVybWluYWx7Z2V0IG9uRm9jdXMoKXtyZXR1cm4gdGhpcy5fb25Gb2N1cy5ldmVudH1nZXQgb25CbHVyKCl7cmV0dXJuIHRoaXMuX29uQmx1ci5ldmVudH1nZXQgb25BMTF5Q2hhcigpe3JldHVybiB0aGlzLl9vbkExMXlDaGFyRW1pdHRlci5ldmVudH1nZXQgb25BMTF5VGFiKCl7cmV0dXJuIHRoaXMuX29uQTExeVRhYkVtaXR0ZXIuZXZlbnR9Z2V0IG9uV2lsbE9wZW4oKXtyZXR1cm4gdGhpcy5fb25XaWxsT3Blbi5ldmVudH1jb25zdHJ1Y3RvcihlPXt9KXtzdXBlcihlKSx0aGlzLmJyb3dzZXI9ayx0aGlzLl9rZXlEb3duSGFuZGxlZD0hMSx0aGlzLl9rZXlEb3duU2Vlbj0hMSx0aGlzLl9rZXlQcmVzc0hhbmRsZWQ9ITEsdGhpcy5fdW5wcm9jZXNzZWREZWFkS2V5PSExLHRoaXMuX2FjY2Vzc2liaWxpdHlNYW5hZ2VyPXRoaXMucmVnaXN0ZXIobmV3IEUuTXV0YWJsZURpc3Bvc2FibGUpLHRoaXMuX29uQ3Vyc29yTW92ZT10aGlzLnJlZ2lzdGVyKG5ldyB5LkV2ZW50RW1pdHRlciksdGhpcy5vbkN1cnNvck1vdmU9dGhpcy5fb25DdXJzb3JNb3ZlLmV2ZW50LHRoaXMuX29uS2V5PXRoaXMucmVnaXN0ZXIobmV3IHkuRXZlbnRFbWl0dGVyKSx0aGlzLm9uS2V5PXRoaXMuX29uS2V5LmV2ZW50LHRoaXMuX29uUmVuZGVyPXRoaXMucmVnaXN0ZXIobmV3IHkuRXZlbnRFbWl0dGVyKSx0aGlzLm9uUmVuZGVyPXRoaXMuX29uUmVuZGVyLmV2ZW50LHRoaXMuX29uU2VsZWN0aW9uQ2hhbmdlPXRoaXMucmVnaXN0ZXIobmV3IHkuRXZlbnRFbWl0dGVyKSx0aGlzLm9uU2VsZWN0aW9uQ2hhbmdlPXRoaXMuX29uU2VsZWN0aW9uQ2hhbmdlLmV2ZW50LHRoaXMuX29uVGl0bGVDaGFuZ2U9dGhpcy5yZWdpc3RlcihuZXcgeS5FdmVudEVtaXR0ZXIpLHRoaXMub25UaXRsZUNoYW5nZT10aGlzLl9vblRpdGxlQ2hhbmdlLmV2ZW50LHRoaXMuX29uQmVsbD10aGlzLnJlZ2lzdGVyKG5ldyB5LkV2ZW50RW1pdHRlciksdGhpcy5vbkJlbGw9dGhpcy5fb25CZWxsLmV2ZW50LHRoaXMuX29uRm9jdXM9dGhpcy5yZWdpc3RlcihuZXcgeS5FdmVudEVtaXR0ZXIpLHRoaXMuX29uQmx1cj10aGlzLnJlZ2lzdGVyKG5ldyB5LkV2ZW50RW1pdHRlciksdGhpcy5fb25BMTF5Q2hhckVtaXR0ZXI9dGhpcy5yZWdpc3RlcihuZXcgeS5FdmVudEVtaXR0ZXIpLHRoaXMuX29uQTExeVRhYkVtaXR0ZXI9dGhpcy5yZWdpc3RlcihuZXcgeS5FdmVudEVtaXR0ZXIpLHRoaXMuX29uV2lsbE9wZW49dGhpcy5yZWdpc3RlcihuZXcgeS5FdmVudEVtaXR0ZXIpLHRoaXMuX3NldHVwKCksdGhpcy5fZGVjb3JhdGlvblNlcnZpY2U9dGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2UuY3JlYXRlSW5zdGFuY2UoQS5EZWNvcmF0aW9uU2VydmljZSksdGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2Uuc2V0U2VydmljZShCLklEZWNvcmF0aW9uU2VydmljZSx0aGlzLl9kZWNvcmF0aW9uU2VydmljZSksdGhpcy5fbGlua1Byb3ZpZGVyU2VydmljZT10aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5jcmVhdGVJbnN0YW5jZShPLkxpbmtQcm92aWRlclNlcnZpY2UpLHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLnNldFNlcnZpY2UoUy5JTGlua1Byb3ZpZGVyU2VydmljZSx0aGlzLl9saW5rUHJvdmlkZXJTZXJ2aWNlKSx0aGlzLl9saW5rUHJvdmlkZXJTZXJ2aWNlLnJlZ2lzdGVyTGlua1Byb3ZpZGVyKHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLmNyZWF0ZUluc3RhbmNlKGEuT3NjTGlua1Byb3ZpZGVyKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9pbnB1dEhhbmRsZXIub25SZXF1ZXN0QmVsbCgoKCk9PnRoaXMuX29uQmVsbC5maXJlKCkpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9pbnB1dEhhbmRsZXIub25SZXF1ZXN0UmVmcmVzaFJvd3MoKChlLHQpPT50aGlzLnJlZnJlc2goZSx0KSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX2lucHV0SGFuZGxlci5vblJlcXVlc3RTZW5kRm9jdXMoKCgpPT50aGlzLl9yZXBvcnRGb2N1cygpKSkpLHRoaXMucmVnaXN0ZXIodGhpcy5faW5wdXRIYW5kbGVyLm9uUmVxdWVzdFJlc2V0KCgoKT0+dGhpcy5yZXNldCgpKSkpLHRoaXMucmVnaXN0ZXIodGhpcy5faW5wdXRIYW5kbGVyLm9uUmVxdWVzdFdpbmRvd3NPcHRpb25zUmVwb3J0KChlPT50aGlzLl9yZXBvcnRXaW5kb3dzT3B0aW9ucyhlKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX2lucHV0SGFuZGxlci5vbkNvbG9yKChlPT50aGlzLl9oYW5kbGVDb2xvckV2ZW50KGUpKSkpLHRoaXMucmVnaXN0ZXIoKDAseS5mb3J3YXJkRXZlbnQpKHRoaXMuX2lucHV0SGFuZGxlci5vbkN1cnNvck1vdmUsdGhpcy5fb25DdXJzb3JNb3ZlKSksdGhpcy5yZWdpc3RlcigoMCx5LmZvcndhcmRFdmVudCkodGhpcy5faW5wdXRIYW5kbGVyLm9uVGl0bGVDaGFuZ2UsdGhpcy5fb25UaXRsZUNoYW5nZSkpLHRoaXMucmVnaXN0ZXIoKDAseS5mb3J3YXJkRXZlbnQpKHRoaXMuX2lucHV0SGFuZGxlci5vbkExMXlDaGFyLHRoaXMuX29uQTExeUNoYXJFbWl0dGVyKSksdGhpcy5yZWdpc3RlcigoMCx5LmZvcndhcmRFdmVudCkodGhpcy5faW5wdXRIYW5kbGVyLm9uQTExeVRhYix0aGlzLl9vbkExMXlUYWJFbWl0dGVyKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9idWZmZXJTZXJ2aWNlLm9uUmVzaXplKChlPT50aGlzLl9hZnRlclJlc2l6ZShlLmNvbHMsZS5yb3dzKSkpKSx0aGlzLnJlZ2lzdGVyKCgwLEUudG9EaXNwb3NhYmxlKSgoKCk9Pnt0aGlzLl9jdXN0b21LZXlFdmVudEhhbmRsZXI9dm9pZCAwLHRoaXMuZWxlbWVudD8ucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQodGhpcy5lbGVtZW50KX0pKSl9X2hhbmRsZUNvbG9yRXZlbnQoZSl7aWYodGhpcy5fdGhlbWVTZXJ2aWNlKWZvcihjb25zdCB0IG9mIGUpe2xldCBlLGk9XCJcIjtzd2l0Y2godC5pbmRleCl7Y2FzZSAyNTY6ZT1cImZvcmVncm91bmRcIixpPVwiMTBcIjticmVhaztjYXNlIDI1NzplPVwiYmFja2dyb3VuZFwiLGk9XCIxMVwiO2JyZWFrO2Nhc2UgMjU4OmU9XCJjdXJzb3JcIixpPVwiMTJcIjticmVhaztkZWZhdWx0OmU9XCJhbnNpXCIsaT1cIjQ7XCIrdC5pbmRleH1zd2l0Y2godC50eXBlKXtjYXNlIDA6Y29uc3Qgcz1iLmNvbG9yLnRvQ29sb3JSR0IoXCJhbnNpXCI9PT1lP3RoaXMuX3RoZW1lU2VydmljZS5jb2xvcnMuYW5zaVt0LmluZGV4XTp0aGlzLl90aGVtZVNlcnZpY2UuY29sb3JzW2VdKTt0aGlzLmNvcmVTZXJ2aWNlLnRyaWdnZXJEYXRhRXZlbnQoYCR7RC5DMC5FU0N9XSR7aX07JHsoMCx4LnRvUmdiU3RyaW5nKShzKX0ke0QuQzFfRVNDQVBFRC5TVH1gKTticmVhaztjYXNlIDE6aWYoXCJhbnNpXCI9PT1lKXRoaXMuX3RoZW1lU2VydmljZS5tb2RpZnlDb2xvcnMoKGU9PmUuYW5zaVt0LmluZGV4XT1iLmNoYW5uZWxzLnRvQ29sb3IoLi4udC5jb2xvcikpKTtlbHNle2NvbnN0IGk9ZTt0aGlzLl90aGVtZVNlcnZpY2UubW9kaWZ5Q29sb3JzKChlPT5lW2ldPWIuY2hhbm5lbHMudG9Db2xvciguLi50LmNvbG9yKSkpfWJyZWFrO2Nhc2UgMjp0aGlzLl90aGVtZVNlcnZpY2UucmVzdG9yZUNvbG9yKHQuaW5kZXgpfX19X3NldHVwKCl7c3VwZXIuX3NldHVwKCksdGhpcy5fY3VzdG9tS2V5RXZlbnRIYW5kbGVyPXZvaWQgMH1nZXQgYnVmZmVyKCl7cmV0dXJuIHRoaXMuYnVmZmVycy5hY3RpdmV9Zm9jdXMoKXt0aGlzLnRleHRhcmVhJiZ0aGlzLnRleHRhcmVhLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSl9X2hhbmRsZVNjcmVlblJlYWRlck1vZGVPcHRpb25DaGFuZ2UoZSl7ZT8hdGhpcy5fYWNjZXNzaWJpbGl0eU1hbmFnZXIudmFsdWUmJnRoaXMuX3JlbmRlclNlcnZpY2UmJih0aGlzLl9hY2Nlc3NpYmlsaXR5TWFuYWdlci52YWx1ZT10aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5jcmVhdGVJbnN0YW5jZShNLkFjY2Vzc2liaWxpdHlNYW5hZ2VyLHRoaXMpKTp0aGlzLl9hY2Nlc3NpYmlsaXR5TWFuYWdlci5jbGVhcigpfV9oYW5kbGVUZXh0QXJlYUZvY3VzKGUpe3RoaXMuY29yZVNlcnZpY2UuZGVjUHJpdmF0ZU1vZGVzLnNlbmRGb2N1cyYmdGhpcy5jb3JlU2VydmljZS50cmlnZ2VyRGF0YUV2ZW50KEQuQzAuRVNDK1wiW0lcIiksdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJmb2N1c1wiKSx0aGlzLl9zaG93Q3Vyc29yKCksdGhpcy5fb25Gb2N1cy5maXJlKCl9Ymx1cigpe3JldHVybiB0aGlzLnRleHRhcmVhPy5ibHVyKCl9X2hhbmRsZVRleHRBcmVhQmx1cigpe3RoaXMudGV4dGFyZWEudmFsdWU9XCJcIix0aGlzLnJlZnJlc2godGhpcy5idWZmZXIueSx0aGlzLmJ1ZmZlci55KSx0aGlzLmNvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcy5zZW5kRm9jdXMmJnRoaXMuY29yZVNlcnZpY2UudHJpZ2dlckRhdGFFdmVudChELkMwLkVTQytcIltPXCIpLHRoaXMuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwiZm9jdXNcIiksdGhpcy5fb25CbHVyLmZpcmUoKX1fc3luY1RleHRBcmVhKCl7aWYoIXRoaXMudGV4dGFyZWF8fCF0aGlzLmJ1ZmZlci5pc0N1cnNvckluVmlld3BvcnR8fHRoaXMuX2NvbXBvc2l0aW9uSGVscGVyLmlzQ29tcG9zaW5nfHwhdGhpcy5fcmVuZGVyU2VydmljZSlyZXR1cm47Y29uc3QgZT10aGlzLmJ1ZmZlci55YmFzZSt0aGlzLmJ1ZmZlci55LHQ9dGhpcy5idWZmZXIubGluZXMuZ2V0KGUpO2lmKCF0KXJldHVybjtjb25zdCBpPU1hdGgubWluKHRoaXMuYnVmZmVyLngsdGhpcy5jb2xzLTEpLHM9dGhpcy5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zLmNzcy5jZWxsLmhlaWdodCxyPXQuZ2V0V2lkdGgoaSksbj10aGlzLl9yZW5kZXJTZXJ2aWNlLmRpbWVuc2lvbnMuY3NzLmNlbGwud2lkdGgqcixvPXRoaXMuYnVmZmVyLnkqdGhpcy5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zLmNzcy5jZWxsLmhlaWdodCxhPWkqdGhpcy5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zLmNzcy5jZWxsLndpZHRoO3RoaXMudGV4dGFyZWEuc3R5bGUubGVmdD1hK1wicHhcIix0aGlzLnRleHRhcmVhLnN0eWxlLnRvcD1vK1wicHhcIix0aGlzLnRleHRhcmVhLnN0eWxlLndpZHRoPW4rXCJweFwiLHRoaXMudGV4dGFyZWEuc3R5bGUuaGVpZ2h0PXMrXCJweFwiLHRoaXMudGV4dGFyZWEuc3R5bGUubGluZUhlaWdodD1zK1wicHhcIix0aGlzLnRleHRhcmVhLnN0eWxlLnpJbmRleD1cIi01XCJ9X2luaXRHbG9iYWwoKXt0aGlzLl9iaW5kS2V5cygpLHRoaXMucmVnaXN0ZXIoKDAsci5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXIpKHRoaXMuZWxlbWVudCxcImNvcHlcIiwoZT0+e3RoaXMuaGFzU2VsZWN0aW9uKCkmJigwLHMuY29weUhhbmRsZXIpKGUsdGhpcy5fc2VsZWN0aW9uU2VydmljZSl9KSkpO2NvbnN0IGU9ZT0+KDAscy5oYW5kbGVQYXN0ZUV2ZW50KShlLHRoaXMudGV4dGFyZWEsdGhpcy5jb3JlU2VydmljZSx0aGlzLm9wdGlvbnNTZXJ2aWNlKTt0aGlzLnJlZ2lzdGVyKCgwLHIuYWRkRGlzcG9zYWJsZURvbUxpc3RlbmVyKSh0aGlzLnRleHRhcmVhLFwicGFzdGVcIixlKSksdGhpcy5yZWdpc3RlcigoMCxyLmFkZERpc3Bvc2FibGVEb21MaXN0ZW5lcikodGhpcy5lbGVtZW50LFwicGFzdGVcIixlKSksay5pc0ZpcmVmb3g/dGhpcy5yZWdpc3RlcigoMCxyLmFkZERpc3Bvc2FibGVEb21MaXN0ZW5lcikodGhpcy5lbGVtZW50LFwibW91c2Vkb3duXCIsKGU9PnsyPT09ZS5idXR0b24mJigwLHMucmlnaHRDbGlja0hhbmRsZXIpKGUsdGhpcy50ZXh0YXJlYSx0aGlzLnNjcmVlbkVsZW1lbnQsdGhpcy5fc2VsZWN0aW9uU2VydmljZSx0aGlzLm9wdGlvbnMucmlnaHRDbGlja1NlbGVjdHNXb3JkKX0pKSk6dGhpcy5yZWdpc3RlcigoMCxyLmFkZERpc3Bvc2FibGVEb21MaXN0ZW5lcikodGhpcy5lbGVtZW50LFwiY29udGV4dG1lbnVcIiwoZT0+eygwLHMucmlnaHRDbGlja0hhbmRsZXIpKGUsdGhpcy50ZXh0YXJlYSx0aGlzLnNjcmVlbkVsZW1lbnQsdGhpcy5fc2VsZWN0aW9uU2VydmljZSx0aGlzLm9wdGlvbnMucmlnaHRDbGlja1NlbGVjdHNXb3JkKX0pKSksay5pc0xpbnV4JiZ0aGlzLnJlZ2lzdGVyKCgwLHIuYWRkRGlzcG9zYWJsZURvbUxpc3RlbmVyKSh0aGlzLmVsZW1lbnQsXCJhdXhjbGlja1wiLChlPT57MT09PWUuYnV0dG9uJiYoMCxzLm1vdmVUZXh0QXJlYVVuZGVyTW91c2VDdXJzb3IpKGUsdGhpcy50ZXh0YXJlYSx0aGlzLnNjcmVlbkVsZW1lbnQpfSkpKX1fYmluZEtleXMoKXt0aGlzLnJlZ2lzdGVyKCgwLHIuYWRkRGlzcG9zYWJsZURvbUxpc3RlbmVyKSh0aGlzLnRleHRhcmVhLFwia2V5dXBcIiwoZT0+dGhpcy5fa2V5VXAoZSkpLCEwKSksdGhpcy5yZWdpc3RlcigoMCxyLmFkZERpc3Bvc2FibGVEb21MaXN0ZW5lcikodGhpcy50ZXh0YXJlYSxcImtleWRvd25cIiwoZT0+dGhpcy5fa2V5RG93bihlKSksITApKSx0aGlzLnJlZ2lzdGVyKCgwLHIuYWRkRGlzcG9zYWJsZURvbUxpc3RlbmVyKSh0aGlzLnRleHRhcmVhLFwia2V5cHJlc3NcIiwoZT0+dGhpcy5fa2V5UHJlc3MoZSkpLCEwKSksdGhpcy5yZWdpc3RlcigoMCxyLmFkZERpc3Bvc2FibGVEb21MaXN0ZW5lcikodGhpcy50ZXh0YXJlYSxcImNvbXBvc2l0aW9uc3RhcnRcIiwoKCk9PnRoaXMuX2NvbXBvc2l0aW9uSGVscGVyLmNvbXBvc2l0aW9uc3RhcnQoKSkpKSx0aGlzLnJlZ2lzdGVyKCgwLHIuYWRkRGlzcG9zYWJsZURvbUxpc3RlbmVyKSh0aGlzLnRleHRhcmVhLFwiY29tcG9zaXRpb251cGRhdGVcIiwoZT0+dGhpcy5fY29tcG9zaXRpb25IZWxwZXIuY29tcG9zaXRpb251cGRhdGUoZSkpKSksdGhpcy5yZWdpc3RlcigoMCxyLmFkZERpc3Bvc2FibGVEb21MaXN0ZW5lcikodGhpcy50ZXh0YXJlYSxcImNvbXBvc2l0aW9uZW5kXCIsKCgpPT50aGlzLl9jb21wb3NpdGlvbkhlbHBlci5jb21wb3NpdGlvbmVuZCgpKSkpLHRoaXMucmVnaXN0ZXIoKDAsci5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXIpKHRoaXMudGV4dGFyZWEsXCJpbnB1dFwiLChlPT50aGlzLl9pbnB1dEV2ZW50KGUpKSwhMCkpLHRoaXMucmVnaXN0ZXIodGhpcy5vblJlbmRlcigoKCk9PnRoaXMuX2NvbXBvc2l0aW9uSGVscGVyLnVwZGF0ZUNvbXBvc2l0aW9uRWxlbWVudHMoKSkpKX1vcGVuKGUpe2lmKCFlKXRocm93IG5ldyBFcnJvcihcIlRlcm1pbmFsIHJlcXVpcmVzIGEgcGFyZW50IGVsZW1lbnQuXCIpO2lmKGUuaXNDb25uZWN0ZWR8fHRoaXMuX2xvZ1NlcnZpY2UuZGVidWcoXCJUZXJtaW5hbC5vcGVuIHdhcyBjYWxsZWQgb24gYW4gZWxlbWVudCB0aGF0IHdhcyBub3QgYXR0YWNoZWQgdG8gdGhlIERPTVwiKSx0aGlzLmVsZW1lbnQ/Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcmJnRoaXMuX2NvcmVCcm93c2VyU2VydmljZSlyZXR1cm4gdm9pZCh0aGlzLmVsZW1lbnQub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldyE9PXRoaXMuX2NvcmVCcm93c2VyU2VydmljZS53aW5kb3cmJih0aGlzLl9jb3JlQnJvd3NlclNlcnZpY2Uud2luZG93PXRoaXMuZWxlbWVudC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KSk7dGhpcy5fZG9jdW1lbnQ9ZS5vd25lckRvY3VtZW50LHRoaXMub3B0aW9ucy5kb2N1bWVudE92ZXJyaWRlJiZ0aGlzLm9wdGlvbnMuZG9jdW1lbnRPdmVycmlkZSBpbnN0YW5jZW9mIERvY3VtZW50JiYodGhpcy5fZG9jdW1lbnQ9dGhpcy5vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmRvY3VtZW50T3ZlcnJpZGUpLHRoaXMuZWxlbWVudD10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLHRoaXMuZWxlbWVudC5kaXI9XCJsdHJcIix0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZChcInRlcm1pbmFsXCIpLHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKFwieHRlcm1cIiksZS5hcHBlbmRDaGlsZCh0aGlzLmVsZW1lbnQpO2NvbnN0IHQ9dGhpcy5fZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO3RoaXMuX3ZpZXdwb3J0RWxlbWVudD10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLHRoaXMuX3ZpZXdwb3J0RWxlbWVudC5jbGFzc0xpc3QuYWRkKFwieHRlcm0tdmlld3BvcnRcIiksdC5hcHBlbmRDaGlsZCh0aGlzLl92aWV3cG9ydEVsZW1lbnQpLHRoaXMuX3ZpZXdwb3J0U2Nyb2xsQXJlYT10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLHRoaXMuX3ZpZXdwb3J0U2Nyb2xsQXJlYS5jbGFzc0xpc3QuYWRkKFwieHRlcm0tc2Nyb2xsLWFyZWFcIiksdGhpcy5fdmlld3BvcnRFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3ZpZXdwb3J0U2Nyb2xsQXJlYSksdGhpcy5zY3JlZW5FbGVtZW50PXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksdGhpcy5zY3JlZW5FbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJ4dGVybS1zY3JlZW5cIiksdGhpcy5yZWdpc3RlcigoMCxyLmFkZERpc3Bvc2FibGVEb21MaXN0ZW5lcikodGhpcy5zY3JlZW5FbGVtZW50LFwibW91c2Vtb3ZlXCIsKGU9PnRoaXMudXBkYXRlQ3Vyc29yU3R5bGUoZSkpKSksdGhpcy5faGVscGVyQ29udGFpbmVyPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksdGhpcy5faGVscGVyQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoXCJ4dGVybS1oZWxwZXJzXCIpLHRoaXMuc2NyZWVuRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9oZWxwZXJDb250YWluZXIpLHQuYXBwZW5kQ2hpbGQodGhpcy5zY3JlZW5FbGVtZW50KSx0aGlzLnRleHRhcmVhPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJ0ZXh0YXJlYVwiKSx0aGlzLnRleHRhcmVhLmNsYXNzTGlzdC5hZGQoXCJ4dGVybS1oZWxwZXItdGV4dGFyZWFcIiksdGhpcy50ZXh0YXJlYS5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIsby5wcm9tcHRMYWJlbCksay5pc0Nocm9tZU9TfHx0aGlzLnRleHRhcmVhLnNldEF0dHJpYnV0ZShcImFyaWEtbXVsdGlsaW5lXCIsXCJmYWxzZVwiKSx0aGlzLnRleHRhcmVhLnNldEF0dHJpYnV0ZShcImF1dG9jb3JyZWN0XCIsXCJvZmZcIiksdGhpcy50ZXh0YXJlYS5zZXRBdHRyaWJ1dGUoXCJhdXRvY2FwaXRhbGl6ZVwiLFwib2ZmXCIpLHRoaXMudGV4dGFyZWEuc2V0QXR0cmlidXRlKFwic3BlbGxjaGVja1wiLFwiZmFsc2VcIiksdGhpcy50ZXh0YXJlYS50YWJJbmRleD0wLHRoaXMuX2NvcmVCcm93c2VyU2VydmljZT10aGlzLnJlZ2lzdGVyKHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLmNyZWF0ZUluc3RhbmNlKHYuQ29yZUJyb3dzZXJTZXJ2aWNlLHRoaXMudGV4dGFyZWEsZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3Pz93aW5kb3csdGhpcy5fZG9jdW1lbnQ/P1widW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3c/d2luZG93LmRvY3VtZW50Om51bGwpKSx0aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5zZXRTZXJ2aWNlKFMuSUNvcmVCcm93c2VyU2VydmljZSx0aGlzLl9jb3JlQnJvd3NlclNlcnZpY2UpLHRoaXMucmVnaXN0ZXIoKDAsci5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXIpKHRoaXMudGV4dGFyZWEsXCJmb2N1c1wiLChlPT50aGlzLl9oYW5kbGVUZXh0QXJlYUZvY3VzKGUpKSkpLHRoaXMucmVnaXN0ZXIoKDAsci5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXIpKHRoaXMudGV4dGFyZWEsXCJibHVyXCIsKCgpPT50aGlzLl9oYW5kbGVUZXh0QXJlYUJsdXIoKSkpKSx0aGlzLl9oZWxwZXJDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy50ZXh0YXJlYSksdGhpcy5fY2hhclNpemVTZXJ2aWNlPXRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLmNyZWF0ZUluc3RhbmNlKHUuQ2hhclNpemVTZXJ2aWNlLHRoaXMuX2RvY3VtZW50LHRoaXMuX2hlbHBlckNvbnRhaW5lciksdGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2Uuc2V0U2VydmljZShTLklDaGFyU2l6ZVNlcnZpY2UsdGhpcy5fY2hhclNpemVTZXJ2aWNlKSx0aGlzLl90aGVtZVNlcnZpY2U9dGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2UuY3JlYXRlSW5zdGFuY2UoQy5UaGVtZVNlcnZpY2UpLHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLnNldFNlcnZpY2UoUy5JVGhlbWVTZXJ2aWNlLHRoaXMuX3RoZW1lU2VydmljZSksdGhpcy5fY2hhcmFjdGVySm9pbmVyU2VydmljZT10aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5jcmVhdGVJbnN0YW5jZShmLkNoYXJhY3RlckpvaW5lclNlcnZpY2UpLHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLnNldFNlcnZpY2UoUy5JQ2hhcmFjdGVySm9pbmVyU2VydmljZSx0aGlzLl9jaGFyYWN0ZXJKb2luZXJTZXJ2aWNlKSx0aGlzLl9yZW5kZXJTZXJ2aWNlPXRoaXMucmVnaXN0ZXIodGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2UuY3JlYXRlSW5zdGFuY2UoZy5SZW5kZXJTZXJ2aWNlLHRoaXMucm93cyx0aGlzLnNjcmVlbkVsZW1lbnQpKSx0aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5zZXRTZXJ2aWNlKFMuSVJlbmRlclNlcnZpY2UsdGhpcy5fcmVuZGVyU2VydmljZSksdGhpcy5yZWdpc3Rlcih0aGlzLl9yZW5kZXJTZXJ2aWNlLm9uUmVuZGVyZWRWaWV3cG9ydENoYW5nZSgoZT0+dGhpcy5fb25SZW5kZXIuZmlyZShlKSkpKSx0aGlzLm9uUmVzaXplKChlPT50aGlzLl9yZW5kZXJTZXJ2aWNlLnJlc2l6ZShlLmNvbHMsZS5yb3dzKSkpLHRoaXMuX2NvbXBvc2l0aW9uVmlldz10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLHRoaXMuX2NvbXBvc2l0aW9uVmlldy5jbGFzc0xpc3QuYWRkKFwiY29tcG9zaXRpb24tdmlld1wiKSx0aGlzLl9jb21wb3NpdGlvbkhlbHBlcj10aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5jcmVhdGVJbnN0YW5jZShkLkNvbXBvc2l0aW9uSGVscGVyLHRoaXMudGV4dGFyZWEsdGhpcy5fY29tcG9zaXRpb25WaWV3KSx0aGlzLl9oZWxwZXJDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5fY29tcG9zaXRpb25WaWV3KSx0aGlzLl9tb3VzZVNlcnZpY2U9dGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2UuY3JlYXRlSW5zdGFuY2UocC5Nb3VzZVNlcnZpY2UpLHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLnNldFNlcnZpY2UoUy5JTW91c2VTZXJ2aWNlLHRoaXMuX21vdXNlU2VydmljZSksdGhpcy5saW5raWZpZXI9dGhpcy5yZWdpc3Rlcih0aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5jcmVhdGVJbnN0YW5jZShuLkxpbmtpZmllcix0aGlzLnNjcmVlbkVsZW1lbnQpKSx0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodCk7dHJ5e3RoaXMuX29uV2lsbE9wZW4uZmlyZSh0aGlzLmVsZW1lbnQpfWNhdGNoe310aGlzLl9yZW5kZXJTZXJ2aWNlLmhhc1JlbmRlcmVyKCl8fHRoaXMuX3JlbmRlclNlcnZpY2Uuc2V0UmVuZGVyZXIodGhpcy5fY3JlYXRlUmVuZGVyZXIoKSksdGhpcy52aWV3cG9ydD10aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5jcmVhdGVJbnN0YW5jZShoLlZpZXdwb3J0LHRoaXMuX3ZpZXdwb3J0RWxlbWVudCx0aGlzLl92aWV3cG9ydFNjcm9sbEFyZWEpLHRoaXMudmlld3BvcnQub25SZXF1ZXN0U2Nyb2xsTGluZXMoKGU9PnRoaXMuc2Nyb2xsTGluZXMoZS5hbW91bnQsZS5zdXBwcmVzc1Njcm9sbEV2ZW50LDEpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9pbnB1dEhhbmRsZXIub25SZXF1ZXN0U3luY1Njcm9sbEJhcigoKCk9PnRoaXMudmlld3BvcnQuc3luY1Njcm9sbEFyZWEoKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMudmlld3BvcnQpLHRoaXMucmVnaXN0ZXIodGhpcy5vbkN1cnNvck1vdmUoKCgpPT57dGhpcy5fcmVuZGVyU2VydmljZS5oYW5kbGVDdXJzb3JNb3ZlKCksdGhpcy5fc3luY1RleHRBcmVhKCl9KSkpLHRoaXMucmVnaXN0ZXIodGhpcy5vblJlc2l6ZSgoKCk9PnRoaXMuX3JlbmRlclNlcnZpY2UuaGFuZGxlUmVzaXplKHRoaXMuY29scyx0aGlzLnJvd3MpKSkpLHRoaXMucmVnaXN0ZXIodGhpcy5vbkJsdXIoKCgpPT50aGlzLl9yZW5kZXJTZXJ2aWNlLmhhbmRsZUJsdXIoKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMub25Gb2N1cygoKCk9PnRoaXMuX3JlbmRlclNlcnZpY2UuaGFuZGxlRm9jdXMoKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX3JlbmRlclNlcnZpY2Uub25EaW1lbnNpb25zQ2hhbmdlKCgoKT0+dGhpcy52aWV3cG9ydC5zeW5jU2Nyb2xsQXJlYSgpKSkpLHRoaXMuX3NlbGVjdGlvblNlcnZpY2U9dGhpcy5yZWdpc3Rlcih0aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5jcmVhdGVJbnN0YW5jZShtLlNlbGVjdGlvblNlcnZpY2UsdGhpcy5lbGVtZW50LHRoaXMuc2NyZWVuRWxlbWVudCx0aGlzLmxpbmtpZmllcikpLHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLnNldFNlcnZpY2UoUy5JU2VsZWN0aW9uU2VydmljZSx0aGlzLl9zZWxlY3Rpb25TZXJ2aWNlKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX3NlbGVjdGlvblNlcnZpY2Uub25SZXF1ZXN0U2Nyb2xsTGluZXMoKGU9PnRoaXMuc2Nyb2xsTGluZXMoZS5hbW91bnQsZS5zdXBwcmVzc1Njcm9sbEV2ZW50KSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX3NlbGVjdGlvblNlcnZpY2Uub25TZWxlY3Rpb25DaGFuZ2UoKCgpPT50aGlzLl9vblNlbGVjdGlvbkNoYW5nZS5maXJlKCkpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9zZWxlY3Rpb25TZXJ2aWNlLm9uUmVxdWVzdFJlZHJhdygoZT0+dGhpcy5fcmVuZGVyU2VydmljZS5oYW5kbGVTZWxlY3Rpb25DaGFuZ2VkKGUuc3RhcnQsZS5lbmQsZS5jb2x1bW5TZWxlY3RNb2RlKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX3NlbGVjdGlvblNlcnZpY2Uub25MaW51eE1vdXNlU2VsZWN0aW9uKChlPT57dGhpcy50ZXh0YXJlYS52YWx1ZT1lLHRoaXMudGV4dGFyZWEuZm9jdXMoKSx0aGlzLnRleHRhcmVhLnNlbGVjdCgpfSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX29uU2Nyb2xsLmV2ZW50KChlPT57dGhpcy52aWV3cG9ydC5zeW5jU2Nyb2xsQXJlYSgpLHRoaXMuX3NlbGVjdGlvblNlcnZpY2UucmVmcmVzaCgpfSkpKSx0aGlzLnJlZ2lzdGVyKCgwLHIuYWRkRGlzcG9zYWJsZURvbUxpc3RlbmVyKSh0aGlzLl92aWV3cG9ydEVsZW1lbnQsXCJzY3JvbGxcIiwoKCk9PnRoaXMuX3NlbGVjdGlvblNlcnZpY2UucmVmcmVzaCgpKSkpLHRoaXMucmVnaXN0ZXIodGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2UuY3JlYXRlSW5zdGFuY2UoYy5CdWZmZXJEZWNvcmF0aW9uUmVuZGVyZXIsdGhpcy5zY3JlZW5FbGVtZW50KSksdGhpcy5yZWdpc3RlcigoMCxyLmFkZERpc3Bvc2FibGVEb21MaXN0ZW5lcikodGhpcy5lbGVtZW50LFwibW91c2Vkb3duXCIsKGU9PnRoaXMuX3NlbGVjdGlvblNlcnZpY2UuaGFuZGxlTW91c2VEb3duKGUpKSkpLHRoaXMuY29yZU1vdXNlU2VydmljZS5hcmVNb3VzZUV2ZW50c0FjdGl2ZT8odGhpcy5fc2VsZWN0aW9uU2VydmljZS5kaXNhYmxlKCksdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJlbmFibGUtbW91c2UtZXZlbnRzXCIpKTp0aGlzLl9zZWxlY3Rpb25TZXJ2aWNlLmVuYWJsZSgpLHRoaXMub3B0aW9ucy5zY3JlZW5SZWFkZXJNb2RlJiYodGhpcy5fYWNjZXNzaWJpbGl0eU1hbmFnZXIudmFsdWU9dGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2UuY3JlYXRlSW5zdGFuY2UoTS5BY2Nlc3NpYmlsaXR5TWFuYWdlcix0aGlzKSksdGhpcy5yZWdpc3Rlcih0aGlzLm9wdGlvbnNTZXJ2aWNlLm9uU3BlY2lmaWNPcHRpb25DaGFuZ2UoXCJzY3JlZW5SZWFkZXJNb2RlXCIsKGU9PnRoaXMuX2hhbmRsZVNjcmVlblJlYWRlck1vZGVPcHRpb25DaGFuZ2UoZSkpKSksdGhpcy5vcHRpb25zLm92ZXJ2aWV3UnVsZXJXaWR0aCYmKHRoaXMuX292ZXJ2aWV3UnVsZXJSZW5kZXJlcj10aGlzLnJlZ2lzdGVyKHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLmNyZWF0ZUluc3RhbmNlKGwuT3ZlcnZpZXdSdWxlclJlbmRlcmVyLHRoaXMuX3ZpZXdwb3J0RWxlbWVudCx0aGlzLnNjcmVlbkVsZW1lbnQpKSksdGhpcy5vcHRpb25zU2VydmljZS5vblNwZWNpZmljT3B0aW9uQ2hhbmdlKFwib3ZlcnZpZXdSdWxlcldpZHRoXCIsKGU9PnshdGhpcy5fb3ZlcnZpZXdSdWxlclJlbmRlcmVyJiZlJiZ0aGlzLl92aWV3cG9ydEVsZW1lbnQmJnRoaXMuc2NyZWVuRWxlbWVudCYmKHRoaXMuX292ZXJ2aWV3UnVsZXJSZW5kZXJlcj10aGlzLnJlZ2lzdGVyKHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLmNyZWF0ZUluc3RhbmNlKGwuT3ZlcnZpZXdSdWxlclJlbmRlcmVyLHRoaXMuX3ZpZXdwb3J0RWxlbWVudCx0aGlzLnNjcmVlbkVsZW1lbnQpKSl9KSksdGhpcy5fY2hhclNpemVTZXJ2aWNlLm1lYXN1cmUoKSx0aGlzLnJlZnJlc2goMCx0aGlzLnJvd3MtMSksdGhpcy5faW5pdEdsb2JhbCgpLHRoaXMuYmluZE1vdXNlKCl9X2NyZWF0ZVJlbmRlcmVyKCl7cmV0dXJuIHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLmNyZWF0ZUluc3RhbmNlKF8uRG9tUmVuZGVyZXIsdGhpcyx0aGlzLl9kb2N1bWVudCx0aGlzLmVsZW1lbnQsdGhpcy5zY3JlZW5FbGVtZW50LHRoaXMuX3ZpZXdwb3J0RWxlbWVudCx0aGlzLl9oZWxwZXJDb250YWluZXIsdGhpcy5saW5raWZpZXIpfWJpbmRNb3VzZSgpe2NvbnN0IGU9dGhpcyx0PXRoaXMuZWxlbWVudDtmdW5jdGlvbiBpKHQpe2NvbnN0IGk9ZS5fbW91c2VTZXJ2aWNlLmdldE1vdXNlUmVwb3J0Q29vcmRzKHQsZS5zY3JlZW5FbGVtZW50KTtpZighaSlyZXR1cm4hMTtsZXQgcyxyO3N3aXRjaCh0Lm92ZXJyaWRlVHlwZXx8dC50eXBlKXtjYXNlXCJtb3VzZW1vdmVcIjpyPTMyLHZvaWQgMD09PXQuYnV0dG9ucz8ocz0zLHZvaWQgMCE9PXQuYnV0dG9uJiYocz10LmJ1dHRvbjwzP3QuYnV0dG9uOjMpKTpzPTEmdC5idXR0b25zPzA6NCZ0LmJ1dHRvbnM/MToyJnQuYnV0dG9ucz8yOjM7YnJlYWs7Y2FzZVwibW91c2V1cFwiOnI9MCxzPXQuYnV0dG9uPDM/dC5idXR0b246MzticmVhaztjYXNlXCJtb3VzZWRvd25cIjpyPTEscz10LmJ1dHRvbjwzP3QuYnV0dG9uOjM7YnJlYWs7Y2FzZVwid2hlZWxcIjppZihlLl9jdXN0b21XaGVlbEV2ZW50SGFuZGxlciYmITE9PT1lLl9jdXN0b21XaGVlbEV2ZW50SGFuZGxlcih0KSlyZXR1cm4hMTtpZigwPT09ZS52aWV3cG9ydC5nZXRMaW5lc1Njcm9sbGVkKHQpKXJldHVybiExO3I9dC5kZWx0YVk8MD8wOjEscz00O2JyZWFrO2RlZmF1bHQ6cmV0dXJuITF9cmV0dXJuISh2b2lkIDA9PT1yfHx2b2lkIDA9PT1zfHxzPjQpJiZlLmNvcmVNb3VzZVNlcnZpY2UudHJpZ2dlck1vdXNlRXZlbnQoe2NvbDppLmNvbCxyb3c6aS5yb3cseDppLngseTppLnksYnV0dG9uOnMsYWN0aW9uOnIsY3RybDp0LmN0cmxLZXksYWx0OnQuYWx0S2V5LHNoaWZ0OnQuc2hpZnRLZXl9KX1jb25zdCBzPXttb3VzZXVwOm51bGwsd2hlZWw6bnVsbCxtb3VzZWRyYWc6bnVsbCxtb3VzZW1vdmU6bnVsbH0sbj17bW91c2V1cDplPT4oaShlKSxlLmJ1dHRvbnN8fCh0aGlzLl9kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2V1cFwiLHMubW91c2V1cCkscy5tb3VzZWRyYWcmJnRoaXMuX2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIixzLm1vdXNlZHJhZykpLHRoaXMuY2FuY2VsKGUpKSx3aGVlbDplPT4oaShlKSx0aGlzLmNhbmNlbChlLCEwKSksbW91c2VkcmFnOmU9PntlLmJ1dHRvbnMmJmkoZSl9LG1vdXNlbW92ZTplPT57ZS5idXR0b25zfHxpKGUpfX07dGhpcy5yZWdpc3Rlcih0aGlzLmNvcmVNb3VzZVNlcnZpY2Uub25Qcm90b2NvbENoYW5nZSgoZT0+e2U/KFwiZGVidWdcIj09PXRoaXMub3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5sb2dMZXZlbCYmdGhpcy5fbG9nU2VydmljZS5kZWJ1ZyhcIkJpbmRpbmcgdG8gbW91c2UgZXZlbnRzOlwiLHRoaXMuY29yZU1vdXNlU2VydmljZS5leHBsYWluRXZlbnRzKGUpKSx0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZChcImVuYWJsZS1tb3VzZS1ldmVudHNcIiksdGhpcy5fc2VsZWN0aW9uU2VydmljZS5kaXNhYmxlKCkpOih0aGlzLl9sb2dTZXJ2aWNlLmRlYnVnKFwiVW5iaW5kaW5nIGZyb20gbW91c2UgZXZlbnRzLlwiKSx0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShcImVuYWJsZS1tb3VzZS1ldmVudHNcIiksdGhpcy5fc2VsZWN0aW9uU2VydmljZS5lbmFibGUoKSksOCZlP3MubW91c2Vtb3ZlfHwodC5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vtb3ZlXCIsbi5tb3VzZW1vdmUpLHMubW91c2Vtb3ZlPW4ubW91c2Vtb3ZlKToodC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2Vtb3ZlXCIscy5tb3VzZW1vdmUpLHMubW91c2Vtb3ZlPW51bGwpLDE2JmU/cy53aGVlbHx8KHQuYWRkRXZlbnRMaXN0ZW5lcihcIndoZWVsXCIsbi53aGVlbCx7cGFzc2l2ZTohMX0pLHMud2hlZWw9bi53aGVlbCk6KHQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIndoZWVsXCIscy53aGVlbCkscy53aGVlbD1udWxsKSwyJmU/cy5tb3VzZXVwfHwocy5tb3VzZXVwPW4ubW91c2V1cCk6KHRoaXMuX2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZXVwXCIscy5tb3VzZXVwKSxzLm1vdXNldXA9bnVsbCksNCZlP3MubW91c2VkcmFnfHwocy5tb3VzZWRyYWc9bi5tb3VzZWRyYWcpOih0aGlzLl9kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2Vtb3ZlXCIscy5tb3VzZWRyYWcpLHMubW91c2VkcmFnPW51bGwpfSkpKSx0aGlzLmNvcmVNb3VzZVNlcnZpY2UuYWN0aXZlUHJvdG9jb2w9dGhpcy5jb3JlTW91c2VTZXJ2aWNlLmFjdGl2ZVByb3RvY29sLHRoaXMucmVnaXN0ZXIoKDAsci5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXIpKHQsXCJtb3VzZWRvd25cIiwoZT0+e2lmKGUucHJldmVudERlZmF1bHQoKSx0aGlzLmZvY3VzKCksdGhpcy5jb3JlTW91c2VTZXJ2aWNlLmFyZU1vdXNlRXZlbnRzQWN0aXZlJiYhdGhpcy5fc2VsZWN0aW9uU2VydmljZS5zaG91bGRGb3JjZVNlbGVjdGlvbihlKSlyZXR1cm4gaShlKSxzLm1vdXNldXAmJnRoaXMuX2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZXVwXCIscy5tb3VzZXVwKSxzLm1vdXNlZHJhZyYmdGhpcy5fZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLHMubW91c2VkcmFnKSx0aGlzLmNhbmNlbChlKX0pKSksdGhpcy5yZWdpc3RlcigoMCxyLmFkZERpc3Bvc2FibGVEb21MaXN0ZW5lcikodCxcIndoZWVsXCIsKGU9PntpZighcy53aGVlbCl7aWYodGhpcy5fY3VzdG9tV2hlZWxFdmVudEhhbmRsZXImJiExPT09dGhpcy5fY3VzdG9tV2hlZWxFdmVudEhhbmRsZXIoZSkpcmV0dXJuITE7aWYoIXRoaXMuYnVmZmVyLmhhc1Njcm9sbGJhY2spe2NvbnN0IHQ9dGhpcy52aWV3cG9ydC5nZXRMaW5lc1Njcm9sbGVkKGUpO2lmKDA9PT10KXJldHVybjtjb25zdCBpPUQuQzAuRVNDKyh0aGlzLmNvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcy5hcHBsaWNhdGlvbkN1cnNvcktleXM/XCJPXCI6XCJbXCIpKyhlLmRlbHRhWTwwP1wiQVwiOlwiQlwiKTtsZXQgcz1cIlwiO2ZvcihsZXQgZT0wO2U8TWF0aC5hYnModCk7ZSsrKXMrPWk7cmV0dXJuIHRoaXMuY29yZVNlcnZpY2UudHJpZ2dlckRhdGFFdmVudChzLCEwKSx0aGlzLmNhbmNlbChlLCEwKX1yZXR1cm4gdGhpcy52aWV3cG9ydC5oYW5kbGVXaGVlbChlKT90aGlzLmNhbmNlbChlKTp2b2lkIDB9fSkse3Bhc3NpdmU6ITF9KSksdGhpcy5yZWdpc3RlcigoMCxyLmFkZERpc3Bvc2FibGVEb21MaXN0ZW5lcikodCxcInRvdWNoc3RhcnRcIiwoZT0+e2lmKCF0aGlzLmNvcmVNb3VzZVNlcnZpY2UuYXJlTW91c2VFdmVudHNBY3RpdmUpcmV0dXJuIHRoaXMudmlld3BvcnQuaGFuZGxlVG91Y2hTdGFydChlKSx0aGlzLmNhbmNlbChlKX0pLHtwYXNzaXZlOiEwfSkpLHRoaXMucmVnaXN0ZXIoKDAsci5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXIpKHQsXCJ0b3VjaG1vdmVcIiwoZT0+e2lmKCF0aGlzLmNvcmVNb3VzZVNlcnZpY2UuYXJlTW91c2VFdmVudHNBY3RpdmUpcmV0dXJuIHRoaXMudmlld3BvcnQuaGFuZGxlVG91Y2hNb3ZlKGUpP3ZvaWQgMDp0aGlzLmNhbmNlbChlKX0pLHtwYXNzaXZlOiExfSkpfXJlZnJlc2goZSx0KXt0aGlzLl9yZW5kZXJTZXJ2aWNlPy5yZWZyZXNoUm93cyhlLHQpfXVwZGF0ZUN1cnNvclN0eWxlKGUpe3RoaXMuX3NlbGVjdGlvblNlcnZpY2U/LnNob3VsZENvbHVtblNlbGVjdChlKT90aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZChcImNvbHVtbi1zZWxlY3RcIik6dGhpcy5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJjb2x1bW4tc2VsZWN0XCIpfV9zaG93Q3Vyc29yKCl7dGhpcy5jb3JlU2VydmljZS5pc0N1cnNvckluaXRpYWxpemVkfHwodGhpcy5jb3JlU2VydmljZS5pc0N1cnNvckluaXRpYWxpemVkPSEwLHRoaXMucmVmcmVzaCh0aGlzLmJ1ZmZlci55LHRoaXMuYnVmZmVyLnkpKX1zY3JvbGxMaW5lcyhlLHQsaT0wKXsxPT09aT8oc3VwZXIuc2Nyb2xsTGluZXMoZSx0LGkpLHRoaXMucmVmcmVzaCgwLHRoaXMucm93cy0xKSk6dGhpcy52aWV3cG9ydD8uc2Nyb2xsTGluZXMoZSl9cGFzdGUoZSl7KDAscy5wYXN0ZSkoZSx0aGlzLnRleHRhcmVhLHRoaXMuY29yZVNlcnZpY2UsdGhpcy5vcHRpb25zU2VydmljZSl9YXR0YWNoQ3VzdG9tS2V5RXZlbnRIYW5kbGVyKGUpe3RoaXMuX2N1c3RvbUtleUV2ZW50SGFuZGxlcj1lfWF0dGFjaEN1c3RvbVdoZWVsRXZlbnRIYW5kbGVyKGUpe3RoaXMuX2N1c3RvbVdoZWVsRXZlbnRIYW5kbGVyPWV9cmVnaXN0ZXJMaW5rUHJvdmlkZXIoZSl7cmV0dXJuIHRoaXMuX2xpbmtQcm92aWRlclNlcnZpY2UucmVnaXN0ZXJMaW5rUHJvdmlkZXIoZSl9cmVnaXN0ZXJDaGFyYWN0ZXJKb2luZXIoZSl7aWYoIXRoaXMuX2NoYXJhY3RlckpvaW5lclNlcnZpY2UpdGhyb3cgbmV3IEVycm9yKFwiVGVybWluYWwgbXVzdCBiZSBvcGVuZWQgZmlyc3RcIik7Y29uc3QgdD10aGlzLl9jaGFyYWN0ZXJKb2luZXJTZXJ2aWNlLnJlZ2lzdGVyKGUpO3JldHVybiB0aGlzLnJlZnJlc2goMCx0aGlzLnJvd3MtMSksdH1kZXJlZ2lzdGVyQ2hhcmFjdGVySm9pbmVyKGUpe2lmKCF0aGlzLl9jaGFyYWN0ZXJKb2luZXJTZXJ2aWNlKXRocm93IG5ldyBFcnJvcihcIlRlcm1pbmFsIG11c3QgYmUgb3BlbmVkIGZpcnN0XCIpO3RoaXMuX2NoYXJhY3RlckpvaW5lclNlcnZpY2UuZGVyZWdpc3RlcihlKSYmdGhpcy5yZWZyZXNoKDAsdGhpcy5yb3dzLTEpfWdldCBtYXJrZXJzKCl7cmV0dXJuIHRoaXMuYnVmZmVyLm1hcmtlcnN9cmVnaXN0ZXJNYXJrZXIoZSl7cmV0dXJuIHRoaXMuYnVmZmVyLmFkZE1hcmtlcih0aGlzLmJ1ZmZlci55YmFzZSt0aGlzLmJ1ZmZlci55K2UpfXJlZ2lzdGVyRGVjb3JhdGlvbihlKXtyZXR1cm4gdGhpcy5fZGVjb3JhdGlvblNlcnZpY2UucmVnaXN0ZXJEZWNvcmF0aW9uKGUpfWhhc1NlbGVjdGlvbigpe3JldHVybiEhdGhpcy5fc2VsZWN0aW9uU2VydmljZSYmdGhpcy5fc2VsZWN0aW9uU2VydmljZS5oYXNTZWxlY3Rpb259c2VsZWN0KGUsdCxpKXt0aGlzLl9zZWxlY3Rpb25TZXJ2aWNlLnNldFNlbGVjdGlvbihlLHQsaSl9Z2V0U2VsZWN0aW9uKCl7cmV0dXJuIHRoaXMuX3NlbGVjdGlvblNlcnZpY2U/dGhpcy5fc2VsZWN0aW9uU2VydmljZS5zZWxlY3Rpb25UZXh0OlwiXCJ9Z2V0U2VsZWN0aW9uUG9zaXRpb24oKXtpZih0aGlzLl9zZWxlY3Rpb25TZXJ2aWNlJiZ0aGlzLl9zZWxlY3Rpb25TZXJ2aWNlLmhhc1NlbGVjdGlvbilyZXR1cm57c3RhcnQ6e3g6dGhpcy5fc2VsZWN0aW9uU2VydmljZS5zZWxlY3Rpb25TdGFydFswXSx5OnRoaXMuX3NlbGVjdGlvblNlcnZpY2Uuc2VsZWN0aW9uU3RhcnRbMV19LGVuZDp7eDp0aGlzLl9zZWxlY3Rpb25TZXJ2aWNlLnNlbGVjdGlvbkVuZFswXSx5OnRoaXMuX3NlbGVjdGlvblNlcnZpY2Uuc2VsZWN0aW9uRW5kWzFdfX19Y2xlYXJTZWxlY3Rpb24oKXt0aGlzLl9zZWxlY3Rpb25TZXJ2aWNlPy5jbGVhclNlbGVjdGlvbigpfXNlbGVjdEFsbCgpe3RoaXMuX3NlbGVjdGlvblNlcnZpY2U/LnNlbGVjdEFsbCgpfXNlbGVjdExpbmVzKGUsdCl7dGhpcy5fc2VsZWN0aW9uU2VydmljZT8uc2VsZWN0TGluZXMoZSx0KX1fa2V5RG93bihlKXtpZih0aGlzLl9rZXlEb3duSGFuZGxlZD0hMSx0aGlzLl9rZXlEb3duU2Vlbj0hMCx0aGlzLl9jdXN0b21LZXlFdmVudEhhbmRsZXImJiExPT09dGhpcy5fY3VzdG9tS2V5RXZlbnRIYW5kbGVyKGUpKXJldHVybiExO2NvbnN0IHQ9dGhpcy5icm93c2VyLmlzTWFjJiZ0aGlzLm9wdGlvbnMubWFjT3B0aW9uSXNNZXRhJiZlLmFsdEtleTtpZighdCYmIXRoaXMuX2NvbXBvc2l0aW9uSGVscGVyLmtleWRvd24oZSkpcmV0dXJuIHRoaXMub3B0aW9ucy5zY3JvbGxPblVzZXJJbnB1dCYmdGhpcy5idWZmZXIueWJhc2UhPT10aGlzLmJ1ZmZlci55ZGlzcCYmdGhpcy5zY3JvbGxUb0JvdHRvbSgpLCExO3R8fFwiRGVhZFwiIT09ZS5rZXkmJlwiQWx0R3JhcGhcIiE9PWUua2V5fHwodGhpcy5fdW5wcm9jZXNzZWREZWFkS2V5PSEwKTtjb25zdCBpPSgwLFIuZXZhbHVhdGVLZXlib2FyZEV2ZW50KShlLHRoaXMuY29yZVNlcnZpY2UuZGVjUHJpdmF0ZU1vZGVzLmFwcGxpY2F0aW9uQ3Vyc29yS2V5cyx0aGlzLmJyb3dzZXIuaXNNYWMsdGhpcy5vcHRpb25zLm1hY09wdGlvbklzTWV0YSk7aWYodGhpcy51cGRhdGVDdXJzb3JTdHlsZShlKSwzPT09aS50eXBlfHwyPT09aS50eXBlKXtjb25zdCB0PXRoaXMucm93cy0xO3JldHVybiB0aGlzLnNjcm9sbExpbmVzKDI9PT1pLnR5cGU/LXQ6dCksdGhpcy5jYW5jZWwoZSwhMCl9cmV0dXJuIDE9PT1pLnR5cGUmJnRoaXMuc2VsZWN0QWxsKCksISF0aGlzLl9pc1RoaXJkTGV2ZWxTaGlmdCh0aGlzLmJyb3dzZXIsZSl8fChpLmNhbmNlbCYmdGhpcy5jYW5jZWwoZSwhMCksIWkua2V5fHwhIShlLmtleSYmIWUuY3RybEtleSYmIWUuYWx0S2V5JiYhZS5tZXRhS2V5JiYxPT09ZS5rZXkubGVuZ3RoJiZlLmtleS5jaGFyQ29kZUF0KDApPj02NSYmZS5rZXkuY2hhckNvZGVBdCgwKTw9OTApfHwodGhpcy5fdW5wcm9jZXNzZWREZWFkS2V5Pyh0aGlzLl91bnByb2Nlc3NlZERlYWRLZXk9ITEsITApOihpLmtleSE9PUQuQzAuRVRYJiZpLmtleSE9PUQuQzAuQ1J8fCh0aGlzLnRleHRhcmVhLnZhbHVlPVwiXCIpLHRoaXMuX29uS2V5LmZpcmUoe2tleTppLmtleSxkb21FdmVudDplfSksdGhpcy5fc2hvd0N1cnNvcigpLHRoaXMuY29yZVNlcnZpY2UudHJpZ2dlckRhdGFFdmVudChpLmtleSwhMCksIXRoaXMub3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5zY3JlZW5SZWFkZXJNb2RlfHxlLmFsdEtleXx8ZS5jdHJsS2V5P3RoaXMuY2FuY2VsKGUsITApOnZvaWQodGhpcy5fa2V5RG93bkhhbmRsZWQ9ITApKSkpfV9pc1RoaXJkTGV2ZWxTaGlmdChlLHQpe2NvbnN0IGk9ZS5pc01hYyYmIXRoaXMub3B0aW9ucy5tYWNPcHRpb25Jc01ldGEmJnQuYWx0S2V5JiYhdC5jdHJsS2V5JiYhdC5tZXRhS2V5fHxlLmlzV2luZG93cyYmdC5hbHRLZXkmJnQuY3RybEtleSYmIXQubWV0YUtleXx8ZS5pc1dpbmRvd3MmJnQuZ2V0TW9kaWZpZXJTdGF0ZShcIkFsdEdyYXBoXCIpO3JldHVyblwia2V5cHJlc3NcIj09PXQudHlwZT9pOmkmJighdC5rZXlDb2RlfHx0LmtleUNvZGU+NDcpfV9rZXlVcChlKXt0aGlzLl9rZXlEb3duU2Vlbj0hMSx0aGlzLl9jdXN0b21LZXlFdmVudEhhbmRsZXImJiExPT09dGhpcy5fY3VzdG9tS2V5RXZlbnRIYW5kbGVyKGUpfHwoZnVuY3Rpb24oZSl7cmV0dXJuIDE2PT09ZS5rZXlDb2RlfHwxNz09PWUua2V5Q29kZXx8MTg9PT1lLmtleUNvZGV9KGUpfHx0aGlzLmZvY3VzKCksdGhpcy51cGRhdGVDdXJzb3JTdHlsZShlKSx0aGlzLl9rZXlQcmVzc0hhbmRsZWQ9ITEpfV9rZXlQcmVzcyhlKXtsZXQgdDtpZih0aGlzLl9rZXlQcmVzc0hhbmRsZWQ9ITEsdGhpcy5fa2V5RG93bkhhbmRsZWQpcmV0dXJuITE7aWYodGhpcy5fY3VzdG9tS2V5RXZlbnRIYW5kbGVyJiYhMT09PXRoaXMuX2N1c3RvbUtleUV2ZW50SGFuZGxlcihlKSlyZXR1cm4hMTtpZih0aGlzLmNhbmNlbChlKSxlLmNoYXJDb2RlKXQ9ZS5jaGFyQ29kZTtlbHNlIGlmKG51bGw9PT1lLndoaWNofHx2b2lkIDA9PT1lLndoaWNoKXQ9ZS5rZXlDb2RlO2Vsc2V7aWYoMD09PWUud2hpY2h8fDA9PT1lLmNoYXJDb2RlKXJldHVybiExO3Q9ZS53aGljaH1yZXR1cm4hKCF0fHwoZS5hbHRLZXl8fGUuY3RybEtleXx8ZS5tZXRhS2V5KSYmIXRoaXMuX2lzVGhpcmRMZXZlbFNoaWZ0KHRoaXMuYnJvd3NlcixlKXx8KHQ9U3RyaW5nLmZyb21DaGFyQ29kZSh0KSx0aGlzLl9vbktleS5maXJlKHtrZXk6dCxkb21FdmVudDplfSksdGhpcy5fc2hvd0N1cnNvcigpLHRoaXMuY29yZVNlcnZpY2UudHJpZ2dlckRhdGFFdmVudCh0LCEwKSx0aGlzLl9rZXlQcmVzc0hhbmRsZWQ9ITAsdGhpcy5fdW5wcm9jZXNzZWREZWFkS2V5PSExLDApKX1faW5wdXRFdmVudChlKXtpZihlLmRhdGEmJlwiaW5zZXJ0VGV4dFwiPT09ZS5pbnB1dFR5cGUmJighZS5jb21wb3NlZHx8IXRoaXMuX2tleURvd25TZWVuKSYmIXRoaXMub3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5zY3JlZW5SZWFkZXJNb2RlKXtpZih0aGlzLl9rZXlQcmVzc0hhbmRsZWQpcmV0dXJuITE7dGhpcy5fdW5wcm9jZXNzZWREZWFkS2V5PSExO2NvbnN0IHQ9ZS5kYXRhO3JldHVybiB0aGlzLmNvcmVTZXJ2aWNlLnRyaWdnZXJEYXRhRXZlbnQodCwhMCksdGhpcy5jYW5jZWwoZSksITB9cmV0dXJuITF9cmVzaXplKGUsdCl7ZSE9PXRoaXMuY29sc3x8dCE9PXRoaXMucm93cz9zdXBlci5yZXNpemUoZSx0KTp0aGlzLl9jaGFyU2l6ZVNlcnZpY2UmJiF0aGlzLl9jaGFyU2l6ZVNlcnZpY2UuaGFzVmFsaWRTaXplJiZ0aGlzLl9jaGFyU2l6ZVNlcnZpY2UubWVhc3VyZSgpfV9hZnRlclJlc2l6ZShlLHQpe3RoaXMuX2NoYXJTaXplU2VydmljZT8ubWVhc3VyZSgpLHRoaXMudmlld3BvcnQ/LnN5bmNTY3JvbGxBcmVhKCEwKX1jbGVhcigpe2lmKDAhPT10aGlzLmJ1ZmZlci55YmFzZXx8MCE9PXRoaXMuYnVmZmVyLnkpe3RoaXMuYnVmZmVyLmNsZWFyQWxsTWFya2VycygpLHRoaXMuYnVmZmVyLmxpbmVzLnNldCgwLHRoaXMuYnVmZmVyLmxpbmVzLmdldCh0aGlzLmJ1ZmZlci55YmFzZSt0aGlzLmJ1ZmZlci55KSksdGhpcy5idWZmZXIubGluZXMubGVuZ3RoPTEsdGhpcy5idWZmZXIueWRpc3A9MCx0aGlzLmJ1ZmZlci55YmFzZT0wLHRoaXMuYnVmZmVyLnk9MDtmb3IobGV0IGU9MTtlPHRoaXMucm93cztlKyspdGhpcy5idWZmZXIubGluZXMucHVzaCh0aGlzLmJ1ZmZlci5nZXRCbGFua0xpbmUoTC5ERUZBVUxUX0FUVFJfREFUQSkpO3RoaXMuX29uU2Nyb2xsLmZpcmUoe3Bvc2l0aW9uOnRoaXMuYnVmZmVyLnlkaXNwLHNvdXJjZTowfSksdGhpcy52aWV3cG9ydD8ucmVzZXQoKSx0aGlzLnJlZnJlc2goMCx0aGlzLnJvd3MtMSl9fXJlc2V0KCl7dGhpcy5vcHRpb25zLnJvd3M9dGhpcy5yb3dzLHRoaXMub3B0aW9ucy5jb2xzPXRoaXMuY29scztjb25zdCBlPXRoaXMuX2N1c3RvbUtleUV2ZW50SGFuZGxlcjt0aGlzLl9zZXR1cCgpLHN1cGVyLnJlc2V0KCksdGhpcy5fc2VsZWN0aW9uU2VydmljZT8ucmVzZXQoKSx0aGlzLl9kZWNvcmF0aW9uU2VydmljZS5yZXNldCgpLHRoaXMudmlld3BvcnQ/LnJlc2V0KCksdGhpcy5fY3VzdG9tS2V5RXZlbnRIYW5kbGVyPWUsdGhpcy5yZWZyZXNoKDAsdGhpcy5yb3dzLTEpfWNsZWFyVGV4dHVyZUF0bGFzKCl7dGhpcy5fcmVuZGVyU2VydmljZT8uY2xlYXJUZXh0dXJlQXRsYXMoKX1fcmVwb3J0Rm9jdXMoKXt0aGlzLmVsZW1lbnQ/LmNsYXNzTGlzdC5jb250YWlucyhcImZvY3VzXCIpP3RoaXMuY29yZVNlcnZpY2UudHJpZ2dlckRhdGFFdmVudChELkMwLkVTQytcIltJXCIpOnRoaXMuY29yZVNlcnZpY2UudHJpZ2dlckRhdGFFdmVudChELkMwLkVTQytcIltPXCIpfV9yZXBvcnRXaW5kb3dzT3B0aW9ucyhlKXtpZih0aGlzLl9yZW5kZXJTZXJ2aWNlKXN3aXRjaChlKXtjYXNlIFQuV2luZG93c09wdGlvbnNSZXBvcnRUeXBlLkdFVF9XSU5fU0laRV9QSVhFTFM6Y29uc3QgZT10aGlzLl9yZW5kZXJTZXJ2aWNlLmRpbWVuc2lvbnMuY3NzLmNhbnZhcy53aWR0aC50b0ZpeGVkKDApLHQ9dGhpcy5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zLmNzcy5jYW52YXMuaGVpZ2h0LnRvRml4ZWQoMCk7dGhpcy5jb3JlU2VydmljZS50cmlnZ2VyRGF0YUV2ZW50KGAke0QuQzAuRVNDfVs0OyR7dH07JHtlfXRgKTticmVhaztjYXNlIFQuV2luZG93c09wdGlvbnNSZXBvcnRUeXBlLkdFVF9DRUxMX1NJWkVfUElYRUxTOmNvbnN0IGk9dGhpcy5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zLmNzcy5jZWxsLndpZHRoLnRvRml4ZWQoMCkscz10aGlzLl9yZW5kZXJTZXJ2aWNlLmRpbWVuc2lvbnMuY3NzLmNlbGwuaGVpZ2h0LnRvRml4ZWQoMCk7dGhpcy5jb3JlU2VydmljZS50cmlnZ2VyRGF0YUV2ZW50KGAke0QuQzAuRVNDfVs2OyR7c307JHtpfXRgKX19Y2FuY2VsKGUsdCl7aWYodGhpcy5vcHRpb25zLmNhbmNlbEV2ZW50c3x8dClyZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksITF9fXQuVGVybWluYWw9UH0sOTkyNDooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuVGltZUJhc2VkRGVib3VuY2VyPXZvaWQgMCx0LlRpbWVCYXNlZERlYm91bmNlcj1jbGFzc3tjb25zdHJ1Y3RvcihlLHQ9MWUzKXt0aGlzLl9yZW5kZXJDYWxsYmFjaz1lLHRoaXMuX2RlYm91bmNlVGhyZXNob2xkTVM9dCx0aGlzLl9sYXN0UmVmcmVzaE1zPTAsdGhpcy5fYWRkaXRpb25hbFJlZnJlc2hSZXF1ZXN0ZWQ9ITF9ZGlzcG9zZSgpe3RoaXMuX3JlZnJlc2hUaW1lb3V0SUQmJmNsZWFyVGltZW91dCh0aGlzLl9yZWZyZXNoVGltZW91dElEKX1yZWZyZXNoKGUsdCxpKXt0aGlzLl9yb3dDb3VudD1pLGU9dm9pZCAwIT09ZT9lOjAsdD12b2lkIDAhPT10P3Q6dGhpcy5fcm93Q291bnQtMSx0aGlzLl9yb3dTdGFydD12b2lkIDAhPT10aGlzLl9yb3dTdGFydD9NYXRoLm1pbih0aGlzLl9yb3dTdGFydCxlKTplLHRoaXMuX3Jvd0VuZD12b2lkIDAhPT10aGlzLl9yb3dFbmQ/TWF0aC5tYXgodGhpcy5fcm93RW5kLHQpOnQ7Y29uc3Qgcz1EYXRlLm5vdygpO2lmKHMtdGhpcy5fbGFzdFJlZnJlc2hNcz49dGhpcy5fZGVib3VuY2VUaHJlc2hvbGRNUyl0aGlzLl9sYXN0UmVmcmVzaE1zPXMsdGhpcy5faW5uZXJSZWZyZXNoKCk7ZWxzZSBpZighdGhpcy5fYWRkaXRpb25hbFJlZnJlc2hSZXF1ZXN0ZWQpe2NvbnN0IGU9cy10aGlzLl9sYXN0UmVmcmVzaE1zLHQ9dGhpcy5fZGVib3VuY2VUaHJlc2hvbGRNUy1lO3RoaXMuX2FkZGl0aW9uYWxSZWZyZXNoUmVxdWVzdGVkPSEwLHRoaXMuX3JlZnJlc2hUaW1lb3V0SUQ9d2luZG93LnNldFRpbWVvdXQoKCgpPT57dGhpcy5fbGFzdFJlZnJlc2hNcz1EYXRlLm5vdygpLHRoaXMuX2lubmVyUmVmcmVzaCgpLHRoaXMuX2FkZGl0aW9uYWxSZWZyZXNoUmVxdWVzdGVkPSExLHRoaXMuX3JlZnJlc2hUaW1lb3V0SUQ9dm9pZCAwfSksdCl9fV9pbm5lclJlZnJlc2goKXtpZih2b2lkIDA9PT10aGlzLl9yb3dTdGFydHx8dm9pZCAwPT09dGhpcy5fcm93RW5kfHx2b2lkIDA9PT10aGlzLl9yb3dDb3VudClyZXR1cm47Y29uc3QgZT1NYXRoLm1heCh0aGlzLl9yb3dTdGFydCwwKSx0PU1hdGgubWluKHRoaXMuX3Jvd0VuZCx0aGlzLl9yb3dDb3VudC0xKTt0aGlzLl9yb3dTdGFydD12b2lkIDAsdGhpcy5fcm93RW5kPXZvaWQgMCx0aGlzLl9yZW5kZXJDYWxsYmFjayhlLHQpfX19LDE2ODA6ZnVuY3Rpb24oZSx0LGkpe3ZhciBzPXRoaXMmJnRoaXMuX19kZWNvcmF0ZXx8ZnVuY3Rpb24oZSx0LGkscyl7dmFyIHIsbj1hcmd1bWVudHMubGVuZ3RoLG89bjwzP3Q6bnVsbD09PXM/cz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsaSk6cztpZihcIm9iamVjdFwiPT10eXBlb2YgUmVmbGVjdCYmXCJmdW5jdGlvblwiPT10eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSlvPVJlZmxlY3QuZGVjb3JhdGUoZSx0LGkscyk7ZWxzZSBmb3IodmFyIGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkocj1lW2FdKSYmKG89KG48Mz9yKG8pOm4+Mz9yKHQsaSxvKTpyKHQsaSkpfHxvKTtyZXR1cm4gbj4zJiZvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxpLG8pLG99LHI9dGhpcyYmdGhpcy5fX3BhcmFtfHxmdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihpLHMpe3QoaSxzLGUpfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5WaWV3cG9ydD12b2lkIDA7Y29uc3Qgbj1pKDM2NTYpLG89aSg0NzI1KSxhPWkoODQ2MCksaD1pKDg0NCksYz1pKDI1ODUpO2xldCBsPXQuVmlld3BvcnQ9Y2xhc3MgZXh0ZW5kcyBoLkRpc3Bvc2FibGV7Y29uc3RydWN0b3IoZSx0LGkscyxyLG8saCxjKXtzdXBlcigpLHRoaXMuX3ZpZXdwb3J0RWxlbWVudD1lLHRoaXMuX3Njcm9sbEFyZWE9dCx0aGlzLl9idWZmZXJTZXJ2aWNlPWksdGhpcy5fb3B0aW9uc1NlcnZpY2U9cyx0aGlzLl9jaGFyU2l6ZVNlcnZpY2U9cix0aGlzLl9yZW5kZXJTZXJ2aWNlPW8sdGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlPWgsdGhpcy5zY3JvbGxCYXJXaWR0aD0wLHRoaXMuX2N1cnJlbnRSb3dIZWlnaHQ9MCx0aGlzLl9jdXJyZW50RGV2aWNlQ2VsbEhlaWdodD0wLHRoaXMuX2xhc3RSZWNvcmRlZEJ1ZmZlckxlbmd0aD0wLHRoaXMuX2xhc3RSZWNvcmRlZFZpZXdwb3J0SGVpZ2h0PTAsdGhpcy5fbGFzdFJlY29yZGVkQnVmZmVySGVpZ2h0PTAsdGhpcy5fbGFzdFRvdWNoWT0wLHRoaXMuX2xhc3RTY3JvbGxUb3A9MCx0aGlzLl93aGVlbFBhcnRpYWxTY3JvbGw9MCx0aGlzLl9yZWZyZXNoQW5pbWF0aW9uRnJhbWU9bnVsbCx0aGlzLl9pZ25vcmVOZXh0U2Nyb2xsRXZlbnQ9ITEsdGhpcy5fc21vb3RoU2Nyb2xsU3RhdGU9e3N0YXJ0VGltZTowLG9yaWdpbjotMSx0YXJnZXQ6LTF9LHRoaXMuX29uUmVxdWVzdFNjcm9sbExpbmVzPXRoaXMucmVnaXN0ZXIobmV3IGEuRXZlbnRFbWl0dGVyKSx0aGlzLm9uUmVxdWVzdFNjcm9sbExpbmVzPXRoaXMuX29uUmVxdWVzdFNjcm9sbExpbmVzLmV2ZW50LHRoaXMuc2Nyb2xsQmFyV2lkdGg9dGhpcy5fdmlld3BvcnRFbGVtZW50Lm9mZnNldFdpZHRoLXRoaXMuX3Njcm9sbEFyZWEub2Zmc2V0V2lkdGh8fDE1LHRoaXMucmVnaXN0ZXIoKDAsbi5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXIpKHRoaXMuX3ZpZXdwb3J0RWxlbWVudCxcInNjcm9sbFwiLHRoaXMuX2hhbmRsZVNjcm9sbC5iaW5kKHRoaXMpKSksdGhpcy5fYWN0aXZlQnVmZmVyPXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLHRoaXMucmVnaXN0ZXIodGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXJzLm9uQnVmZmVyQWN0aXZhdGUoKGU9PnRoaXMuX2FjdGl2ZUJ1ZmZlcj1lLmFjdGl2ZUJ1ZmZlcikpKSx0aGlzLl9yZW5kZXJEaW1lbnNpb25zPXRoaXMuX3JlbmRlclNlcnZpY2UuZGltZW5zaW9ucyx0aGlzLnJlZ2lzdGVyKHRoaXMuX3JlbmRlclNlcnZpY2Uub25EaW1lbnNpb25zQ2hhbmdlKChlPT50aGlzLl9yZW5kZXJEaW1lbnNpb25zPWUpKSksdGhpcy5faGFuZGxlVGhlbWVDaGFuZ2UoYy5jb2xvcnMpLHRoaXMucmVnaXN0ZXIoYy5vbkNoYW5nZUNvbG9ycygoZT0+dGhpcy5faGFuZGxlVGhlbWVDaGFuZ2UoZSkpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9vcHRpb25zU2VydmljZS5vblNwZWNpZmljT3B0aW9uQ2hhbmdlKFwic2Nyb2xsYmFja1wiLCgoKT0+dGhpcy5zeW5jU2Nyb2xsQXJlYSgpKSkpLHNldFRpbWVvdXQoKCgpPT50aGlzLnN5bmNTY3JvbGxBcmVhKCkpKX1faGFuZGxlVGhlbWVDaGFuZ2UoZSl7dGhpcy5fdmlld3BvcnRFbGVtZW50LnN0eWxlLmJhY2tncm91bmRDb2xvcj1lLmJhY2tncm91bmQuY3NzfXJlc2V0KCl7dGhpcy5fY3VycmVudFJvd0hlaWdodD0wLHRoaXMuX2N1cnJlbnREZXZpY2VDZWxsSGVpZ2h0PTAsdGhpcy5fbGFzdFJlY29yZGVkQnVmZmVyTGVuZ3RoPTAsdGhpcy5fbGFzdFJlY29yZGVkVmlld3BvcnRIZWlnaHQ9MCx0aGlzLl9sYXN0UmVjb3JkZWRCdWZmZXJIZWlnaHQ9MCx0aGlzLl9sYXN0VG91Y2hZPTAsdGhpcy5fbGFzdFNjcm9sbFRvcD0wLHRoaXMuX2NvcmVCcm93c2VyU2VydmljZS53aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+dGhpcy5zeW5jU2Nyb2xsQXJlYSgpKSl9X3JlZnJlc2goZSl7aWYoZSlyZXR1cm4gdGhpcy5faW5uZXJSZWZyZXNoKCksdm9pZChudWxsIT09dGhpcy5fcmVmcmVzaEFuaW1hdGlvbkZyYW1lJiZ0aGlzLl9jb3JlQnJvd3NlclNlcnZpY2Uud2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3JlZnJlc2hBbmltYXRpb25GcmFtZSkpO251bGw9PT10aGlzLl9yZWZyZXNoQW5pbWF0aW9uRnJhbWUmJih0aGlzLl9yZWZyZXNoQW5pbWF0aW9uRnJhbWU9dGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlLndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT50aGlzLl9pbm5lclJlZnJlc2goKSkpKX1faW5uZXJSZWZyZXNoKCl7aWYodGhpcy5fY2hhclNpemVTZXJ2aWNlLmhlaWdodD4wKXt0aGlzLl9jdXJyZW50Um93SGVpZ2h0PXRoaXMuX3JlbmRlckRpbWVuc2lvbnMuZGV2aWNlLmNlbGwuaGVpZ2h0L3RoaXMuX2NvcmVCcm93c2VyU2VydmljZS5kcHIsdGhpcy5fY3VycmVudERldmljZUNlbGxIZWlnaHQ9dGhpcy5fcmVuZGVyRGltZW5zaW9ucy5kZXZpY2UuY2VsbC5oZWlnaHQsdGhpcy5fbGFzdFJlY29yZGVkVmlld3BvcnRIZWlnaHQ9dGhpcy5fdmlld3BvcnRFbGVtZW50Lm9mZnNldEhlaWdodDtjb25zdCBlPU1hdGgucm91bmQodGhpcy5fY3VycmVudFJvd0hlaWdodCp0aGlzLl9sYXN0UmVjb3JkZWRCdWZmZXJMZW5ndGgpKyh0aGlzLl9sYXN0UmVjb3JkZWRWaWV3cG9ydEhlaWdodC10aGlzLl9yZW5kZXJEaW1lbnNpb25zLmNzcy5jYW52YXMuaGVpZ2h0KTt0aGlzLl9sYXN0UmVjb3JkZWRCdWZmZXJIZWlnaHQhPT1lJiYodGhpcy5fbGFzdFJlY29yZGVkQnVmZmVySGVpZ2h0PWUsdGhpcy5fc2Nyb2xsQXJlYS5zdHlsZS5oZWlnaHQ9dGhpcy5fbGFzdFJlY29yZGVkQnVmZmVySGVpZ2h0K1wicHhcIil9Y29uc3QgZT10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci55ZGlzcCp0aGlzLl9jdXJyZW50Um93SGVpZ2h0O3RoaXMuX3ZpZXdwb3J0RWxlbWVudC5zY3JvbGxUb3AhPT1lJiYodGhpcy5faWdub3JlTmV4dFNjcm9sbEV2ZW50PSEwLHRoaXMuX3ZpZXdwb3J0RWxlbWVudC5zY3JvbGxUb3A9ZSksdGhpcy5fcmVmcmVzaEFuaW1hdGlvbkZyYW1lPW51bGx9c3luY1Njcm9sbEFyZWEoZT0hMSl7aWYodGhpcy5fbGFzdFJlY29yZGVkQnVmZmVyTGVuZ3RoIT09dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIubGluZXMubGVuZ3RoKXJldHVybiB0aGlzLl9sYXN0UmVjb3JkZWRCdWZmZXJMZW5ndGg9dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIubGluZXMubGVuZ3RoLHZvaWQgdGhpcy5fcmVmcmVzaChlKTt0aGlzLl9sYXN0UmVjb3JkZWRWaWV3cG9ydEhlaWdodD09PXRoaXMuX3JlbmRlclNlcnZpY2UuZGltZW5zaW9ucy5jc3MuY2FudmFzLmhlaWdodCYmdGhpcy5fbGFzdFNjcm9sbFRvcD09PXRoaXMuX2FjdGl2ZUJ1ZmZlci55ZGlzcCp0aGlzLl9jdXJyZW50Um93SGVpZ2h0JiZ0aGlzLl9yZW5kZXJEaW1lbnNpb25zLmRldmljZS5jZWxsLmhlaWdodD09PXRoaXMuX2N1cnJlbnREZXZpY2VDZWxsSGVpZ2h0fHx0aGlzLl9yZWZyZXNoKGUpfV9oYW5kbGVTY3JvbGwoZSl7aWYodGhpcy5fbGFzdFNjcm9sbFRvcD10aGlzLl92aWV3cG9ydEVsZW1lbnQuc2Nyb2xsVG9wLCF0aGlzLl92aWV3cG9ydEVsZW1lbnQub2Zmc2V0UGFyZW50KXJldHVybjtpZih0aGlzLl9pZ25vcmVOZXh0U2Nyb2xsRXZlbnQpcmV0dXJuIHRoaXMuX2lnbm9yZU5leHRTY3JvbGxFdmVudD0hMSx2b2lkIHRoaXMuX29uUmVxdWVzdFNjcm9sbExpbmVzLmZpcmUoe2Ftb3VudDowLHN1cHByZXNzU2Nyb2xsRXZlbnQ6ITB9KTtjb25zdCB0PU1hdGgucm91bmQodGhpcy5fbGFzdFNjcm9sbFRvcC90aGlzLl9jdXJyZW50Um93SGVpZ2h0KS10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci55ZGlzcDt0aGlzLl9vblJlcXVlc3RTY3JvbGxMaW5lcy5maXJlKHthbW91bnQ6dCxzdXBwcmVzc1Njcm9sbEV2ZW50OiEwfSl9X3Ntb290aFNjcm9sbCgpe2lmKHRoaXMuX2lzRGlzcG9zZWR8fC0xPT09dGhpcy5fc21vb3RoU2Nyb2xsU3RhdGUub3JpZ2lufHwtMT09PXRoaXMuX3Ntb290aFNjcm9sbFN0YXRlLnRhcmdldClyZXR1cm47Y29uc3QgZT10aGlzLl9zbW9vdGhTY3JvbGxQZXJjZW50KCk7dGhpcy5fdmlld3BvcnRFbGVtZW50LnNjcm9sbFRvcD10aGlzLl9zbW9vdGhTY3JvbGxTdGF0ZS5vcmlnaW4rTWF0aC5yb3VuZChlKih0aGlzLl9zbW9vdGhTY3JvbGxTdGF0ZS50YXJnZXQtdGhpcy5fc21vb3RoU2Nyb2xsU3RhdGUub3JpZ2luKSksZTwxP3RoaXMuX2NvcmVCcm93c2VyU2VydmljZS53aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+dGhpcy5fc21vb3RoU2Nyb2xsKCkpKTp0aGlzLl9jbGVhclNtb290aFNjcm9sbFN0YXRlKCl9X3Ntb290aFNjcm9sbFBlcmNlbnQoKXtyZXR1cm4gdGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5zbW9vdGhTY3JvbGxEdXJhdGlvbiYmdGhpcy5fc21vb3RoU2Nyb2xsU3RhdGUuc3RhcnRUaW1lP01hdGgubWF4KE1hdGgubWluKChEYXRlLm5vdygpLXRoaXMuX3Ntb290aFNjcm9sbFN0YXRlLnN0YXJ0VGltZSkvdGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5zbW9vdGhTY3JvbGxEdXJhdGlvbiwxKSwwKToxfV9jbGVhclNtb290aFNjcm9sbFN0YXRlKCl7dGhpcy5fc21vb3RoU2Nyb2xsU3RhdGUuc3RhcnRUaW1lPTAsdGhpcy5fc21vb3RoU2Nyb2xsU3RhdGUub3JpZ2luPS0xLHRoaXMuX3Ntb290aFNjcm9sbFN0YXRlLnRhcmdldD0tMX1fYnViYmxlU2Nyb2xsKGUsdCl7Y29uc3QgaT10aGlzLl92aWV3cG9ydEVsZW1lbnQuc2Nyb2xsVG9wK3RoaXMuX2xhc3RSZWNvcmRlZFZpZXdwb3J0SGVpZ2h0O3JldHVybiEodDwwJiYwIT09dGhpcy5fdmlld3BvcnRFbGVtZW50LnNjcm9sbFRvcHx8dD4wJiZpPHRoaXMuX2xhc3RSZWNvcmRlZEJ1ZmZlckhlaWdodCl8fChlLmNhbmNlbGFibGUmJmUucHJldmVudERlZmF1bHQoKSwhMSl9aGFuZGxlV2hlZWwoZSl7Y29uc3QgdD10aGlzLl9nZXRQaXhlbHNTY3JvbGxlZChlKTtyZXR1cm4gMCE9PXQmJih0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLnNtb290aFNjcm9sbER1cmF0aW9uPyh0aGlzLl9zbW9vdGhTY3JvbGxTdGF0ZS5zdGFydFRpbWU9RGF0ZS5ub3coKSx0aGlzLl9zbW9vdGhTY3JvbGxQZXJjZW50KCk8MT8odGhpcy5fc21vb3RoU2Nyb2xsU3RhdGUub3JpZ2luPXRoaXMuX3ZpZXdwb3J0RWxlbWVudC5zY3JvbGxUb3AsLTE9PT10aGlzLl9zbW9vdGhTY3JvbGxTdGF0ZS50YXJnZXQ/dGhpcy5fc21vb3RoU2Nyb2xsU3RhdGUudGFyZ2V0PXRoaXMuX3ZpZXdwb3J0RWxlbWVudC5zY3JvbGxUb3ArdDp0aGlzLl9zbW9vdGhTY3JvbGxTdGF0ZS50YXJnZXQrPXQsdGhpcy5fc21vb3RoU2Nyb2xsU3RhdGUudGFyZ2V0PU1hdGgubWF4KE1hdGgubWluKHRoaXMuX3Ntb290aFNjcm9sbFN0YXRlLnRhcmdldCx0aGlzLl92aWV3cG9ydEVsZW1lbnQuc2Nyb2xsSGVpZ2h0KSwwKSx0aGlzLl9zbW9vdGhTY3JvbGwoKSk6dGhpcy5fY2xlYXJTbW9vdGhTY3JvbGxTdGF0ZSgpKTp0aGlzLl92aWV3cG9ydEVsZW1lbnQuc2Nyb2xsVG9wKz10LHRoaXMuX2J1YmJsZVNjcm9sbChlLHQpKX1zY3JvbGxMaW5lcyhlKXtpZigwIT09ZSlpZih0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLnNtb290aFNjcm9sbER1cmF0aW9uKXtjb25zdCB0PWUqdGhpcy5fY3VycmVudFJvd0hlaWdodDt0aGlzLl9zbW9vdGhTY3JvbGxTdGF0ZS5zdGFydFRpbWU9RGF0ZS5ub3coKSx0aGlzLl9zbW9vdGhTY3JvbGxQZXJjZW50KCk8MT8odGhpcy5fc21vb3RoU2Nyb2xsU3RhdGUub3JpZ2luPXRoaXMuX3ZpZXdwb3J0RWxlbWVudC5zY3JvbGxUb3AsdGhpcy5fc21vb3RoU2Nyb2xsU3RhdGUudGFyZ2V0PXRoaXMuX3Ntb290aFNjcm9sbFN0YXRlLm9yaWdpbit0LHRoaXMuX3Ntb290aFNjcm9sbFN0YXRlLnRhcmdldD1NYXRoLm1heChNYXRoLm1pbih0aGlzLl9zbW9vdGhTY3JvbGxTdGF0ZS50YXJnZXQsdGhpcy5fdmlld3BvcnRFbGVtZW50LnNjcm9sbEhlaWdodCksMCksdGhpcy5fc21vb3RoU2Nyb2xsKCkpOnRoaXMuX2NsZWFyU21vb3RoU2Nyb2xsU3RhdGUoKX1lbHNlIHRoaXMuX29uUmVxdWVzdFNjcm9sbExpbmVzLmZpcmUoe2Ftb3VudDplLHN1cHByZXNzU2Nyb2xsRXZlbnQ6ITF9KX1fZ2V0UGl4ZWxzU2Nyb2xsZWQoZSl7aWYoMD09PWUuZGVsdGFZfHxlLnNoaWZ0S2V5KXJldHVybiAwO2xldCB0PXRoaXMuX2FwcGx5U2Nyb2xsTW9kaWZpZXIoZS5kZWx0YVksZSk7cmV0dXJuIGUuZGVsdGFNb2RlPT09V2hlZWxFdmVudC5ET01fREVMVEFfTElORT90Kj10aGlzLl9jdXJyZW50Um93SGVpZ2h0OmUuZGVsdGFNb2RlPT09V2hlZWxFdmVudC5ET01fREVMVEFfUEFHRSYmKHQqPXRoaXMuX2N1cnJlbnRSb3dIZWlnaHQqdGhpcy5fYnVmZmVyU2VydmljZS5yb3dzKSx0fWdldEJ1ZmZlckVsZW1lbnRzKGUsdCl7bGV0IGkscz1cIlwiO2NvbnN0IHI9W10sbj10Pz90aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci5saW5lcy5sZW5ndGgsbz10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci5saW5lcztmb3IobGV0IHQ9ZTt0PG47dCsrKXtjb25zdCBlPW8uZ2V0KHQpO2lmKCFlKWNvbnRpbnVlO2NvbnN0IG49by5nZXQodCsxKT8uaXNXcmFwcGVkO2lmKHMrPWUudHJhbnNsYXRlVG9TdHJpbmcoIW4pLCFufHx0PT09by5sZW5ndGgtMSl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2UudGV4dENvbnRlbnQ9cyxyLnB1c2goZSkscy5sZW5ndGg+MCYmKGk9ZSkscz1cIlwifX1yZXR1cm57YnVmZmVyRWxlbWVudHM6cixjdXJzb3JFbGVtZW50Oml9fWdldExpbmVzU2Nyb2xsZWQoZSl7aWYoMD09PWUuZGVsdGFZfHxlLnNoaWZ0S2V5KXJldHVybiAwO2xldCB0PXRoaXMuX2FwcGx5U2Nyb2xsTW9kaWZpZXIoZS5kZWx0YVksZSk7cmV0dXJuIGUuZGVsdGFNb2RlPT09V2hlZWxFdmVudC5ET01fREVMVEFfUElYRUw/KHQvPXRoaXMuX2N1cnJlbnRSb3dIZWlnaHQrMCx0aGlzLl93aGVlbFBhcnRpYWxTY3JvbGwrPXQsdD1NYXRoLmZsb29yKE1hdGguYWJzKHRoaXMuX3doZWVsUGFydGlhbFNjcm9sbCkpKih0aGlzLl93aGVlbFBhcnRpYWxTY3JvbGw+MD8xOi0xKSx0aGlzLl93aGVlbFBhcnRpYWxTY3JvbGwlPTEpOmUuZGVsdGFNb2RlPT09V2hlZWxFdmVudC5ET01fREVMVEFfUEFHRSYmKHQqPXRoaXMuX2J1ZmZlclNlcnZpY2Uucm93cyksdH1fYXBwbHlTY3JvbGxNb2RpZmllcihlLHQpe2NvbnN0IGk9dGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5mYXN0U2Nyb2xsTW9kaWZpZXI7cmV0dXJuXCJhbHRcIj09PWkmJnQuYWx0S2V5fHxcImN0cmxcIj09PWkmJnQuY3RybEtleXx8XCJzaGlmdFwiPT09aSYmdC5zaGlmdEtleT9lKnRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuZmFzdFNjcm9sbFNlbnNpdGl2aXR5KnRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuc2Nyb2xsU2Vuc2l0aXZpdHk6ZSp0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLnNjcm9sbFNlbnNpdGl2aXR5fWhhbmRsZVRvdWNoU3RhcnQoZSl7dGhpcy5fbGFzdFRvdWNoWT1lLnRvdWNoZXNbMF0ucGFnZVl9aGFuZGxlVG91Y2hNb3ZlKGUpe2NvbnN0IHQ9dGhpcy5fbGFzdFRvdWNoWS1lLnRvdWNoZXNbMF0ucGFnZVk7cmV0dXJuIHRoaXMuX2xhc3RUb3VjaFk9ZS50b3VjaGVzWzBdLnBhZ2VZLDAhPT10JiYodGhpcy5fdmlld3BvcnRFbGVtZW50LnNjcm9sbFRvcCs9dCx0aGlzLl9idWJibGVTY3JvbGwoZSx0KSl9fTt0LlZpZXdwb3J0PWw9cyhbcigyLGMuSUJ1ZmZlclNlcnZpY2UpLHIoMyxjLklPcHRpb25zU2VydmljZSkscig0LG8uSUNoYXJTaXplU2VydmljZSkscig1LG8uSVJlbmRlclNlcnZpY2UpLHIoNixvLklDb3JlQnJvd3NlclNlcnZpY2UpLHIoNyxvLklUaGVtZVNlcnZpY2UpXSxsKX0sMzEwNzpmdW5jdGlvbihlLHQsaSl7dmFyIHM9dGhpcyYmdGhpcy5fX2RlY29yYXRlfHxmdW5jdGlvbihlLHQsaSxzKXt2YXIgcixuPWFyZ3VtZW50cy5sZW5ndGgsbz1uPDM/dDpudWxsPT09cz9zPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxpKTpzO2lmKFwib2JqZWN0XCI9PXR5cGVvZiBSZWZsZWN0JiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBSZWZsZWN0LmRlY29yYXRlKW89UmVmbGVjdC5kZWNvcmF0ZShlLHQsaSxzKTtlbHNlIGZvcih2YXIgYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShyPWVbYV0pJiYobz0objwzP3Iobyk6bj4zP3IodCxpLG8pOnIodCxpKSl8fG8pO3JldHVybiBuPjMmJm8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGksbyksb30scj10aGlzJiZ0aGlzLl9fcGFyYW18fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGkscyl7dChpLHMsZSl9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkJ1ZmZlckRlY29yYXRpb25SZW5kZXJlcj12b2lkIDA7Y29uc3Qgbj1pKDQ3MjUpLG89aSg4NDQpLGE9aSgyNTg1KTtsZXQgaD10LkJ1ZmZlckRlY29yYXRpb25SZW5kZXJlcj1jbGFzcyBleHRlbmRzIG8uRGlzcG9zYWJsZXtjb25zdHJ1Y3RvcihlLHQsaSxzLHIpe3N1cGVyKCksdGhpcy5fc2NyZWVuRWxlbWVudD1lLHRoaXMuX2J1ZmZlclNlcnZpY2U9dCx0aGlzLl9jb3JlQnJvd3NlclNlcnZpY2U9aSx0aGlzLl9kZWNvcmF0aW9uU2VydmljZT1zLHRoaXMuX3JlbmRlclNlcnZpY2U9cix0aGlzLl9kZWNvcmF0aW9uRWxlbWVudHM9bmV3IE1hcCx0aGlzLl9hbHRCdWZmZXJJc0FjdGl2ZT0hMSx0aGlzLl9kaW1lbnNpb25zQ2hhbmdlZD0hMSx0aGlzLl9jb250YWluZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSx0aGlzLl9jb250YWluZXIuY2xhc3NMaXN0LmFkZChcInh0ZXJtLWRlY29yYXRpb24tY29udGFpbmVyXCIpLHRoaXMuX3NjcmVlbkVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fY29udGFpbmVyKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX3JlbmRlclNlcnZpY2Uub25SZW5kZXJlZFZpZXdwb3J0Q2hhbmdlKCgoKT0+dGhpcy5fZG9SZWZyZXNoRGVjb3JhdGlvbnMoKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX3JlbmRlclNlcnZpY2Uub25EaW1lbnNpb25zQ2hhbmdlKCgoKT0+e3RoaXMuX2RpbWVuc2lvbnNDaGFuZ2VkPSEwLHRoaXMuX3F1ZXVlUmVmcmVzaCgpfSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX2NvcmVCcm93c2VyU2VydmljZS5vbkRwckNoYW5nZSgoKCk9PnRoaXMuX3F1ZXVlUmVmcmVzaCgpKSkpLHRoaXMucmVnaXN0ZXIodGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXJzLm9uQnVmZmVyQWN0aXZhdGUoKCgpPT57dGhpcy5fYWx0QnVmZmVySXNBY3RpdmU9dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXI9PT10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlcnMuYWx0fSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX2RlY29yYXRpb25TZXJ2aWNlLm9uRGVjb3JhdGlvblJlZ2lzdGVyZWQoKCgpPT50aGlzLl9xdWV1ZVJlZnJlc2goKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX2RlY29yYXRpb25TZXJ2aWNlLm9uRGVjb3JhdGlvblJlbW92ZWQoKGU9PnRoaXMuX3JlbW92ZURlY29yYXRpb24oZSkpKSksdGhpcy5yZWdpc3RlcigoMCxvLnRvRGlzcG9zYWJsZSkoKCgpPT57dGhpcy5fY29udGFpbmVyLnJlbW92ZSgpLHRoaXMuX2RlY29yYXRpb25FbGVtZW50cy5jbGVhcigpfSkpKX1fcXVldWVSZWZyZXNoKCl7dm9pZCAwPT09dGhpcy5fYW5pbWF0aW9uRnJhbWUmJih0aGlzLl9hbmltYXRpb25GcmFtZT10aGlzLl9yZW5kZXJTZXJ2aWNlLmFkZFJlZnJlc2hDYWxsYmFjaygoKCk9Pnt0aGlzLl9kb1JlZnJlc2hEZWNvcmF0aW9ucygpLHRoaXMuX2FuaW1hdGlvbkZyYW1lPXZvaWQgMH0pKSl9X2RvUmVmcmVzaERlY29yYXRpb25zKCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fZGVjb3JhdGlvblNlcnZpY2UuZGVjb3JhdGlvbnMpdGhpcy5fcmVuZGVyRGVjb3JhdGlvbihlKTt0aGlzLl9kaW1lbnNpb25zQ2hhbmdlZD0hMX1fcmVuZGVyRGVjb3JhdGlvbihlKXt0aGlzLl9yZWZyZXNoU3R5bGUoZSksdGhpcy5fZGltZW5zaW9uc0NoYW5nZWQmJnRoaXMuX3JlZnJlc2hYUG9zaXRpb24oZSl9X2NyZWF0ZUVsZW1lbnQoZSl7Y29uc3QgdD10aGlzLl9jb3JlQnJvd3NlclNlcnZpY2UubWFpbkRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7dC5jbGFzc0xpc3QuYWRkKFwieHRlcm0tZGVjb3JhdGlvblwiKSx0LmNsYXNzTGlzdC50b2dnbGUoXCJ4dGVybS1kZWNvcmF0aW9uLXRvcC1sYXllclwiLFwidG9wXCI9PT1lPy5vcHRpb25zPy5sYXllciksdC5zdHlsZS53aWR0aD1gJHtNYXRoLnJvdW5kKChlLm9wdGlvbnMud2lkdGh8fDEpKnRoaXMuX3JlbmRlclNlcnZpY2UuZGltZW5zaW9ucy5jc3MuY2VsbC53aWR0aCl9cHhgLHQuc3R5bGUuaGVpZ2h0PShlLm9wdGlvbnMuaGVpZ2h0fHwxKSp0aGlzLl9yZW5kZXJTZXJ2aWNlLmRpbWVuc2lvbnMuY3NzLmNlbGwuaGVpZ2h0K1wicHhcIix0LnN0eWxlLnRvcD0oZS5tYXJrZXIubGluZS10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlcnMuYWN0aXZlLnlkaXNwKSp0aGlzLl9yZW5kZXJTZXJ2aWNlLmRpbWVuc2lvbnMuY3NzLmNlbGwuaGVpZ2h0K1wicHhcIix0LnN0eWxlLmxpbmVIZWlnaHQ9YCR7dGhpcy5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zLmNzcy5jZWxsLmhlaWdodH1weGA7Y29uc3QgaT1lLm9wdGlvbnMueD8/MDtyZXR1cm4gaSYmaT50aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMmJih0LnN0eWxlLmRpc3BsYXk9XCJub25lXCIpLHRoaXMuX3JlZnJlc2hYUG9zaXRpb24oZSx0KSx0fV9yZWZyZXNoU3R5bGUoZSl7Y29uc3QgdD1lLm1hcmtlci5saW5lLXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVycy5hY3RpdmUueWRpc3A7aWYodDwwfHx0Pj10aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MpZS5lbGVtZW50JiYoZS5lbGVtZW50LnN0eWxlLmRpc3BsYXk9XCJub25lXCIsZS5vblJlbmRlckVtaXR0ZXIuZmlyZShlLmVsZW1lbnQpKTtlbHNle2xldCBpPXRoaXMuX2RlY29yYXRpb25FbGVtZW50cy5nZXQoZSk7aXx8KGk9dGhpcy5fY3JlYXRlRWxlbWVudChlKSxlLmVsZW1lbnQ9aSx0aGlzLl9kZWNvcmF0aW9uRWxlbWVudHMuc2V0KGUsaSksdGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKGkpLGUub25EaXNwb3NlKCgoKT0+e3RoaXMuX2RlY29yYXRpb25FbGVtZW50cy5kZWxldGUoZSksaS5yZW1vdmUoKX0pKSksaS5zdHlsZS50b3A9dCp0aGlzLl9yZW5kZXJTZXJ2aWNlLmRpbWVuc2lvbnMuY3NzLmNlbGwuaGVpZ2h0K1wicHhcIixpLnN0eWxlLmRpc3BsYXk9dGhpcy5fYWx0QnVmZmVySXNBY3RpdmU/XCJub25lXCI6XCJibG9ja1wiLGUub25SZW5kZXJFbWl0dGVyLmZpcmUoaSl9fV9yZWZyZXNoWFBvc2l0aW9uKGUsdD1lLmVsZW1lbnQpe2lmKCF0KXJldHVybjtjb25zdCBpPWUub3B0aW9ucy54Pz8wO1wicmlnaHRcIj09PShlLm9wdGlvbnMuYW5jaG9yfHxcImxlZnRcIik/dC5zdHlsZS5yaWdodD1pP2kqdGhpcy5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zLmNzcy5jZWxsLndpZHRoK1wicHhcIjpcIlwiOnQuc3R5bGUubGVmdD1pP2kqdGhpcy5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zLmNzcy5jZWxsLndpZHRoK1wicHhcIjpcIlwifV9yZW1vdmVEZWNvcmF0aW9uKGUpe3RoaXMuX2RlY29yYXRpb25FbGVtZW50cy5nZXQoZSk/LnJlbW92ZSgpLHRoaXMuX2RlY29yYXRpb25FbGVtZW50cy5kZWxldGUoZSksZS5kaXNwb3NlKCl9fTt0LkJ1ZmZlckRlY29yYXRpb25SZW5kZXJlcj1oPXMoW3IoMSxhLklCdWZmZXJTZXJ2aWNlKSxyKDIsbi5JQ29yZUJyb3dzZXJTZXJ2aWNlKSxyKDMsYS5JRGVjb3JhdGlvblNlcnZpY2UpLHIoNCxuLklSZW5kZXJTZXJ2aWNlKV0saCl9LDU4NzE6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkNvbG9yWm9uZVN0b3JlPXZvaWQgMCx0LkNvbG9yWm9uZVN0b3JlPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5fem9uZXM9W10sdGhpcy5fem9uZVBvb2w9W10sdGhpcy5fem9uZVBvb2xJbmRleD0wLHRoaXMuX2xpbmVQYWRkaW5nPXtmdWxsOjAsbGVmdDowLGNlbnRlcjowLHJpZ2h0OjB9fWdldCB6b25lcygpe3JldHVybiB0aGlzLl96b25lUG9vbC5sZW5ndGg9TWF0aC5taW4odGhpcy5fem9uZVBvb2wubGVuZ3RoLHRoaXMuX3pvbmVzLmxlbmd0aCksdGhpcy5fem9uZXN9Y2xlYXIoKXt0aGlzLl96b25lcy5sZW5ndGg9MCx0aGlzLl96b25lUG9vbEluZGV4PTB9YWRkRGVjb3JhdGlvbihlKXtpZihlLm9wdGlvbnMub3ZlcnZpZXdSdWxlck9wdGlvbnMpe2Zvcihjb25zdCB0IG9mIHRoaXMuX3pvbmVzKWlmKHQuY29sb3I9PT1lLm9wdGlvbnMub3ZlcnZpZXdSdWxlck9wdGlvbnMuY29sb3ImJnQucG9zaXRpb249PT1lLm9wdGlvbnMub3ZlcnZpZXdSdWxlck9wdGlvbnMucG9zaXRpb24pe2lmKHRoaXMuX2xpbmVJbnRlcnNlY3RzWm9uZSh0LGUubWFya2VyLmxpbmUpKXJldHVybjtpZih0aGlzLl9saW5lQWRqYWNlbnRUb1pvbmUodCxlLm1hcmtlci5saW5lLGUub3B0aW9ucy5vdmVydmlld1J1bGVyT3B0aW9ucy5wb3NpdGlvbikpcmV0dXJuIHZvaWQgdGhpcy5fYWRkTGluZVRvWm9uZSh0LGUubWFya2VyLmxpbmUpfWlmKHRoaXMuX3pvbmVQb29sSW5kZXg8dGhpcy5fem9uZVBvb2wubGVuZ3RoKXJldHVybiB0aGlzLl96b25lUG9vbFt0aGlzLl96b25lUG9vbEluZGV4XS5jb2xvcj1lLm9wdGlvbnMub3ZlcnZpZXdSdWxlck9wdGlvbnMuY29sb3IsdGhpcy5fem9uZVBvb2xbdGhpcy5fem9uZVBvb2xJbmRleF0ucG9zaXRpb249ZS5vcHRpb25zLm92ZXJ2aWV3UnVsZXJPcHRpb25zLnBvc2l0aW9uLHRoaXMuX3pvbmVQb29sW3RoaXMuX3pvbmVQb29sSW5kZXhdLnN0YXJ0QnVmZmVyTGluZT1lLm1hcmtlci5saW5lLHRoaXMuX3pvbmVQb29sW3RoaXMuX3pvbmVQb29sSW5kZXhdLmVuZEJ1ZmZlckxpbmU9ZS5tYXJrZXIubGluZSx2b2lkIHRoaXMuX3pvbmVzLnB1c2godGhpcy5fem9uZVBvb2xbdGhpcy5fem9uZVBvb2xJbmRleCsrXSk7dGhpcy5fem9uZXMucHVzaCh7Y29sb3I6ZS5vcHRpb25zLm92ZXJ2aWV3UnVsZXJPcHRpb25zLmNvbG9yLHBvc2l0aW9uOmUub3B0aW9ucy5vdmVydmlld1J1bGVyT3B0aW9ucy5wb3NpdGlvbixzdGFydEJ1ZmZlckxpbmU6ZS5tYXJrZXIubGluZSxlbmRCdWZmZXJMaW5lOmUubWFya2VyLmxpbmV9KSx0aGlzLl96b25lUG9vbC5wdXNoKHRoaXMuX3pvbmVzW3RoaXMuX3pvbmVzLmxlbmd0aC0xXSksdGhpcy5fem9uZVBvb2xJbmRleCsrfX1zZXRQYWRkaW5nKGUpe3RoaXMuX2xpbmVQYWRkaW5nPWV9X2xpbmVJbnRlcnNlY3RzWm9uZShlLHQpe3JldHVybiB0Pj1lLnN0YXJ0QnVmZmVyTGluZSYmdDw9ZS5lbmRCdWZmZXJMaW5lfV9saW5lQWRqYWNlbnRUb1pvbmUoZSx0LGkpe3JldHVybiB0Pj1lLnN0YXJ0QnVmZmVyTGluZS10aGlzLl9saW5lUGFkZGluZ1tpfHxcImZ1bGxcIl0mJnQ8PWUuZW5kQnVmZmVyTGluZSt0aGlzLl9saW5lUGFkZGluZ1tpfHxcImZ1bGxcIl19X2FkZExpbmVUb1pvbmUoZSx0KXtlLnN0YXJ0QnVmZmVyTGluZT1NYXRoLm1pbihlLnN0YXJ0QnVmZmVyTGluZSx0KSxlLmVuZEJ1ZmZlckxpbmU9TWF0aC5tYXgoZS5lbmRCdWZmZXJMaW5lLHQpfX19LDU3NDQ6ZnVuY3Rpb24oZSx0LGkpe3ZhciBzPXRoaXMmJnRoaXMuX19kZWNvcmF0ZXx8ZnVuY3Rpb24oZSx0LGkscyl7dmFyIHIsbj1hcmd1bWVudHMubGVuZ3RoLG89bjwzP3Q6bnVsbD09PXM/cz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsaSk6cztpZihcIm9iamVjdFwiPT10eXBlb2YgUmVmbGVjdCYmXCJmdW5jdGlvblwiPT10eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSlvPVJlZmxlY3QuZGVjb3JhdGUoZSx0LGkscyk7ZWxzZSBmb3IodmFyIGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkocj1lW2FdKSYmKG89KG48Mz9yKG8pOm4+Mz9yKHQsaSxvKTpyKHQsaSkpfHxvKTtyZXR1cm4gbj4zJiZvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxpLG8pLG99LHI9dGhpcyYmdGhpcy5fX3BhcmFtfHxmdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihpLHMpe3QoaSxzLGUpfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5PdmVydmlld1J1bGVyUmVuZGVyZXI9dm9pZCAwO2NvbnN0IG49aSg1ODcxKSxvPWkoNDcyNSksYT1pKDg0NCksaD1pKDI1ODUpLGM9e2Z1bGw6MCxsZWZ0OjAsY2VudGVyOjAscmlnaHQ6MH0sbD17ZnVsbDowLGxlZnQ6MCxjZW50ZXI6MCxyaWdodDowfSxkPXtmdWxsOjAsbGVmdDowLGNlbnRlcjowLHJpZ2h0OjB9O2xldCBfPXQuT3ZlcnZpZXdSdWxlclJlbmRlcmVyPWNsYXNzIGV4dGVuZHMgYS5EaXNwb3NhYmxle2dldCBfd2lkdGgoKXtyZXR1cm4gdGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy5vdmVydmlld1J1bGVyV2lkdGh8fDB9Y29uc3RydWN0b3IoZSx0LGkscyxyLG8saCl7c3VwZXIoKSx0aGlzLl92aWV3cG9ydEVsZW1lbnQ9ZSx0aGlzLl9zY3JlZW5FbGVtZW50PXQsdGhpcy5fYnVmZmVyU2VydmljZT1pLHRoaXMuX2RlY29yYXRpb25TZXJ2aWNlPXMsdGhpcy5fcmVuZGVyU2VydmljZT1yLHRoaXMuX29wdGlvbnNTZXJ2aWNlPW8sdGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlPWgsdGhpcy5fY29sb3Jab25lU3RvcmU9bmV3IG4uQ29sb3Jab25lU3RvcmUsdGhpcy5fc2hvdWxkVXBkYXRlRGltZW5zaW9ucz0hMCx0aGlzLl9zaG91bGRVcGRhdGVBbmNob3I9ITAsdGhpcy5fbGFzdEtub3duQnVmZmVyTGVuZ3RoPTAsdGhpcy5fY2FudmFzPXRoaXMuX2NvcmVCcm93c2VyU2VydmljZS5tYWluRG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImNhbnZhc1wiKSx0aGlzLl9jYW52YXMuY2xhc3NMaXN0LmFkZChcInh0ZXJtLWRlY29yYXRpb24tb3ZlcnZpZXctcnVsZXJcIiksdGhpcy5fcmVmcmVzaENhbnZhc0RpbWVuc2lvbnMoKSx0aGlzLl92aWV3cG9ydEVsZW1lbnQucGFyZW50RWxlbWVudD8uaW5zZXJ0QmVmb3JlKHRoaXMuX2NhbnZhcyx0aGlzLl92aWV3cG9ydEVsZW1lbnQpO2NvbnN0IGM9dGhpcy5fY2FudmFzLmdldENvbnRleHQoXCIyZFwiKTtpZighYyl0aHJvdyBuZXcgRXJyb3IoXCJDdHggY2Fubm90IGJlIG51bGxcIik7dGhpcy5fY3R4PWMsdGhpcy5fcmVnaXN0ZXJEZWNvcmF0aW9uTGlzdGVuZXJzKCksdGhpcy5fcmVnaXN0ZXJCdWZmZXJDaGFuZ2VMaXN0ZW5lcnMoKSx0aGlzLl9yZWdpc3RlckRpbWVuc2lvbkNoYW5nZUxpc3RlbmVycygpLHRoaXMucmVnaXN0ZXIoKDAsYS50b0Rpc3Bvc2FibGUpKCgoKT0+e3RoaXMuX2NhbnZhcz8ucmVtb3ZlKCl9KSkpfV9yZWdpc3RlckRlY29yYXRpb25MaXN0ZW5lcnMoKXt0aGlzLnJlZ2lzdGVyKHRoaXMuX2RlY29yYXRpb25TZXJ2aWNlLm9uRGVjb3JhdGlvblJlZ2lzdGVyZWQoKCgpPT50aGlzLl9xdWV1ZVJlZnJlc2godm9pZCAwLCEwKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX2RlY29yYXRpb25TZXJ2aWNlLm9uRGVjb3JhdGlvblJlbW92ZWQoKCgpPT50aGlzLl9xdWV1ZVJlZnJlc2godm9pZCAwLCEwKSkpKX1fcmVnaXN0ZXJCdWZmZXJDaGFuZ2VMaXN0ZW5lcnMoKXt0aGlzLnJlZ2lzdGVyKHRoaXMuX3JlbmRlclNlcnZpY2Uub25SZW5kZXJlZFZpZXdwb3J0Q2hhbmdlKCgoKT0+dGhpcy5fcXVldWVSZWZyZXNoKCkpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlcnMub25CdWZmZXJBY3RpdmF0ZSgoKCk9Pnt0aGlzLl9jYW52YXMuc3R5bGUuZGlzcGxheT10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlcj09PXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVycy5hbHQ/XCJub25lXCI6XCJibG9ja1wifSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX2J1ZmZlclNlcnZpY2Uub25TY3JvbGwoKCgpPT57dGhpcy5fbGFzdEtub3duQnVmZmVyTGVuZ3RoIT09dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXJzLm5vcm1hbC5saW5lcy5sZW5ndGgmJih0aGlzLl9yZWZyZXNoRHJhd0hlaWdodENvbnN0YW50cygpLHRoaXMuX3JlZnJlc2hDb2xvclpvbmVQYWRkaW5nKCkpfSkpKX1fcmVnaXN0ZXJEaW1lbnNpb25DaGFuZ2VMaXN0ZW5lcnMoKXt0aGlzLnJlZ2lzdGVyKHRoaXMuX3JlbmRlclNlcnZpY2Uub25SZW5kZXIoKCgpPT57dGhpcy5fY29udGFpbmVySGVpZ2h0JiZ0aGlzLl9jb250YWluZXJIZWlnaHQ9PT10aGlzLl9zY3JlZW5FbGVtZW50LmNsaWVudEhlaWdodHx8KHRoaXMuX3F1ZXVlUmVmcmVzaCghMCksdGhpcy5fY29udGFpbmVySGVpZ2h0PXRoaXMuX3NjcmVlbkVsZW1lbnQuY2xpZW50SGVpZ2h0KX0pKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9vcHRpb25zU2VydmljZS5vblNwZWNpZmljT3B0aW9uQ2hhbmdlKFwib3ZlcnZpZXdSdWxlcldpZHRoXCIsKCgpPT50aGlzLl9xdWV1ZVJlZnJlc2goITApKSkpLHRoaXMucmVnaXN0ZXIodGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlLm9uRHByQ2hhbmdlKCgoKT0+dGhpcy5fcXVldWVSZWZyZXNoKCEwKSkpKSx0aGlzLl9xdWV1ZVJlZnJlc2goITApfV9yZWZyZXNoRHJhd0NvbnN0YW50cygpe2NvbnN0IGU9TWF0aC5mbG9vcih0aGlzLl9jYW52YXMud2lkdGgvMyksdD1NYXRoLmNlaWwodGhpcy5fY2FudmFzLndpZHRoLzMpO2wuZnVsbD10aGlzLl9jYW52YXMud2lkdGgsbC5sZWZ0PWUsbC5jZW50ZXI9dCxsLnJpZ2h0PWUsdGhpcy5fcmVmcmVzaERyYXdIZWlnaHRDb25zdGFudHMoKSxkLmZ1bGw9MCxkLmxlZnQ9MCxkLmNlbnRlcj1sLmxlZnQsZC5yaWdodD1sLmxlZnQrbC5jZW50ZXJ9X3JlZnJlc2hEcmF3SGVpZ2h0Q29uc3RhbnRzKCl7Yy5mdWxsPU1hdGgucm91bmQoMip0aGlzLl9jb3JlQnJvd3NlclNlcnZpY2UuZHByKTtjb25zdCBlPXRoaXMuX2NhbnZhcy5oZWlnaHQvdGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIubGluZXMubGVuZ3RoLHQ9TWF0aC5yb3VuZChNYXRoLm1heChNYXRoLm1pbihlLDEyKSw2KSp0aGlzLl9jb3JlQnJvd3NlclNlcnZpY2UuZHByKTtjLmxlZnQ9dCxjLmNlbnRlcj10LGMucmlnaHQ9dH1fcmVmcmVzaENvbG9yWm9uZVBhZGRpbmcoKXt0aGlzLl9jb2xvclpvbmVTdG9yZS5zZXRQYWRkaW5nKHtmdWxsOk1hdGguZmxvb3IodGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXJzLmFjdGl2ZS5saW5lcy5sZW5ndGgvKHRoaXMuX2NhbnZhcy5oZWlnaHQtMSkqYy5mdWxsKSxsZWZ0Ok1hdGguZmxvb3IodGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXJzLmFjdGl2ZS5saW5lcy5sZW5ndGgvKHRoaXMuX2NhbnZhcy5oZWlnaHQtMSkqYy5sZWZ0KSxjZW50ZXI6TWF0aC5mbG9vcih0aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlcnMuYWN0aXZlLmxpbmVzLmxlbmd0aC8odGhpcy5fY2FudmFzLmhlaWdodC0xKSpjLmNlbnRlcikscmlnaHQ6TWF0aC5mbG9vcih0aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlcnMuYWN0aXZlLmxpbmVzLmxlbmd0aC8odGhpcy5fY2FudmFzLmhlaWdodC0xKSpjLnJpZ2h0KX0pLHRoaXMuX2xhc3RLbm93bkJ1ZmZlckxlbmd0aD10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlcnMubm9ybWFsLmxpbmVzLmxlbmd0aH1fcmVmcmVzaENhbnZhc0RpbWVuc2lvbnMoKXt0aGlzLl9jYW52YXMuc3R5bGUud2lkdGg9YCR7dGhpcy5fd2lkdGh9cHhgLHRoaXMuX2NhbnZhcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMuX3dpZHRoKnRoaXMuX2NvcmVCcm93c2VyU2VydmljZS5kcHIpLHRoaXMuX2NhbnZhcy5zdHlsZS5oZWlnaHQ9YCR7dGhpcy5fc2NyZWVuRWxlbWVudC5jbGllbnRIZWlnaHR9cHhgLHRoaXMuX2NhbnZhcy5oZWlnaHQ9TWF0aC5yb3VuZCh0aGlzLl9zY3JlZW5FbGVtZW50LmNsaWVudEhlaWdodCp0aGlzLl9jb3JlQnJvd3NlclNlcnZpY2UuZHByKSx0aGlzLl9yZWZyZXNoRHJhd0NvbnN0YW50cygpLHRoaXMuX3JlZnJlc2hDb2xvclpvbmVQYWRkaW5nKCl9X3JlZnJlc2hEZWNvcmF0aW9ucygpe3RoaXMuX3Nob3VsZFVwZGF0ZURpbWVuc2lvbnMmJnRoaXMuX3JlZnJlc2hDYW52YXNEaW1lbnNpb25zKCksdGhpcy5fY3R4LmNsZWFyUmVjdCgwLDAsdGhpcy5fY2FudmFzLndpZHRoLHRoaXMuX2NhbnZhcy5oZWlnaHQpLHRoaXMuX2NvbG9yWm9uZVN0b3JlLmNsZWFyKCk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fZGVjb3JhdGlvblNlcnZpY2UuZGVjb3JhdGlvbnMpdGhpcy5fY29sb3Jab25lU3RvcmUuYWRkRGVjb3JhdGlvbihlKTt0aGlzLl9jdHgubGluZVdpZHRoPTE7Y29uc3QgZT10aGlzLl9jb2xvclpvbmVTdG9yZS56b25lcztmb3IoY29uc3QgdCBvZiBlKVwiZnVsbFwiIT09dC5wb3NpdGlvbiYmdGhpcy5fcmVuZGVyQ29sb3Jab25lKHQpO2Zvcihjb25zdCB0IG9mIGUpXCJmdWxsXCI9PT10LnBvc2l0aW9uJiZ0aGlzLl9yZW5kZXJDb2xvclpvbmUodCk7dGhpcy5fc2hvdWxkVXBkYXRlRGltZW5zaW9ucz0hMSx0aGlzLl9zaG91bGRVcGRhdGVBbmNob3I9ITF9X3JlbmRlckNvbG9yWm9uZShlKXt0aGlzLl9jdHguZmlsbFN0eWxlPWUuY29sb3IsdGhpcy5fY3R4LmZpbGxSZWN0KGRbZS5wb3NpdGlvbnx8XCJmdWxsXCJdLE1hdGgucm91bmQoKHRoaXMuX2NhbnZhcy5oZWlnaHQtMSkqKGUuc3RhcnRCdWZmZXJMaW5lL3RoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVycy5hY3RpdmUubGluZXMubGVuZ3RoKS1jW2UucG9zaXRpb258fFwiZnVsbFwiXS8yKSxsW2UucG9zaXRpb258fFwiZnVsbFwiXSxNYXRoLnJvdW5kKCh0aGlzLl9jYW52YXMuaGVpZ2h0LTEpKigoZS5lbmRCdWZmZXJMaW5lLWUuc3RhcnRCdWZmZXJMaW5lKS90aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlcnMuYWN0aXZlLmxpbmVzLmxlbmd0aCkrY1tlLnBvc2l0aW9ufHxcImZ1bGxcIl0pKX1fcXVldWVSZWZyZXNoKGUsdCl7dGhpcy5fc2hvdWxkVXBkYXRlRGltZW5zaW9ucz1lfHx0aGlzLl9zaG91bGRVcGRhdGVEaW1lbnNpb25zLHRoaXMuX3Nob3VsZFVwZGF0ZUFuY2hvcj10fHx0aGlzLl9zaG91bGRVcGRhdGVBbmNob3Isdm9pZCAwPT09dGhpcy5fYW5pbWF0aW9uRnJhbWUmJih0aGlzLl9hbmltYXRpb25GcmFtZT10aGlzLl9jb3JlQnJvd3NlclNlcnZpY2Uud2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9Pnt0aGlzLl9yZWZyZXNoRGVjb3JhdGlvbnMoKSx0aGlzLl9hbmltYXRpb25GcmFtZT12b2lkIDB9KSkpfX07dC5PdmVydmlld1J1bGVyUmVuZGVyZXI9Xz1zKFtyKDIsaC5JQnVmZmVyU2VydmljZSkscigzLGguSURlY29yYXRpb25TZXJ2aWNlKSxyKDQsby5JUmVuZGVyU2VydmljZSkscig1LGguSU9wdGlvbnNTZXJ2aWNlKSxyKDYsby5JQ29yZUJyb3dzZXJTZXJ2aWNlKV0sXyl9LDI5NTA6ZnVuY3Rpb24oZSx0LGkpe3ZhciBzPXRoaXMmJnRoaXMuX19kZWNvcmF0ZXx8ZnVuY3Rpb24oZSx0LGkscyl7dmFyIHIsbj1hcmd1bWVudHMubGVuZ3RoLG89bjwzP3Q6bnVsbD09PXM/cz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsaSk6cztpZihcIm9iamVjdFwiPT10eXBlb2YgUmVmbGVjdCYmXCJmdW5jdGlvblwiPT10eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSlvPVJlZmxlY3QuZGVjb3JhdGUoZSx0LGkscyk7ZWxzZSBmb3IodmFyIGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkocj1lW2FdKSYmKG89KG48Mz9yKG8pOm4+Mz9yKHQsaSxvKTpyKHQsaSkpfHxvKTtyZXR1cm4gbj4zJiZvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxpLG8pLG99LHI9dGhpcyYmdGhpcy5fX3BhcmFtfHxmdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihpLHMpe3QoaSxzLGUpfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5Db21wb3NpdGlvbkhlbHBlcj12b2lkIDA7Y29uc3Qgbj1pKDQ3MjUpLG89aSgyNTg1KSxhPWkoMjU4NCk7bGV0IGg9dC5Db21wb3NpdGlvbkhlbHBlcj1jbGFzc3tnZXQgaXNDb21wb3NpbmcoKXtyZXR1cm4gdGhpcy5faXNDb21wb3Npbmd9Y29uc3RydWN0b3IoZSx0LGkscyxyLG4pe3RoaXMuX3RleHRhcmVhPWUsdGhpcy5fY29tcG9zaXRpb25WaWV3PXQsdGhpcy5fYnVmZmVyU2VydmljZT1pLHRoaXMuX29wdGlvbnNTZXJ2aWNlPXMsdGhpcy5fY29yZVNlcnZpY2U9cix0aGlzLl9yZW5kZXJTZXJ2aWNlPW4sdGhpcy5faXNDb21wb3Npbmc9ITEsdGhpcy5faXNTZW5kaW5nQ29tcG9zaXRpb249ITEsdGhpcy5fY29tcG9zaXRpb25Qb3NpdGlvbj17c3RhcnQ6MCxlbmQ6MH0sdGhpcy5fZGF0YUFscmVhZHlTZW50PVwiXCJ9Y29tcG9zaXRpb25zdGFydCgpe3RoaXMuX2lzQ29tcG9zaW5nPSEwLHRoaXMuX2NvbXBvc2l0aW9uUG9zaXRpb24uc3RhcnQ9dGhpcy5fdGV4dGFyZWEudmFsdWUubGVuZ3RoLHRoaXMuX2NvbXBvc2l0aW9uVmlldy50ZXh0Q29udGVudD1cIlwiLHRoaXMuX2RhdGFBbHJlYWR5U2VudD1cIlwiLHRoaXMuX2NvbXBvc2l0aW9uVmlldy5jbGFzc0xpc3QuYWRkKFwiYWN0aXZlXCIpfWNvbXBvc2l0aW9udXBkYXRlKGUpe3RoaXMuX2NvbXBvc2l0aW9uVmlldy50ZXh0Q29udGVudD1lLmRhdGEsdGhpcy51cGRhdGVDb21wb3NpdGlvbkVsZW1lbnRzKCksc2V0VGltZW91dCgoKCk9Pnt0aGlzLl9jb21wb3NpdGlvblBvc2l0aW9uLmVuZD10aGlzLl90ZXh0YXJlYS52YWx1ZS5sZW5ndGh9KSwwKX1jb21wb3NpdGlvbmVuZCgpe3RoaXMuX2ZpbmFsaXplQ29tcG9zaXRpb24oITApfWtleWRvd24oZSl7aWYodGhpcy5faXNDb21wb3Npbmd8fHRoaXMuX2lzU2VuZGluZ0NvbXBvc2l0aW9uKXtpZigyMjk9PT1lLmtleUNvZGUpcmV0dXJuITE7aWYoMTY9PT1lLmtleUNvZGV8fDE3PT09ZS5rZXlDb2RlfHwxOD09PWUua2V5Q29kZSlyZXR1cm4hMTt0aGlzLl9maW5hbGl6ZUNvbXBvc2l0aW9uKCExKX1yZXR1cm4gMjI5IT09ZS5rZXlDb2RlfHwodGhpcy5faGFuZGxlQW55VGV4dGFyZWFDaGFuZ2VzKCksITEpfV9maW5hbGl6ZUNvbXBvc2l0aW9uKGUpe2lmKHRoaXMuX2NvbXBvc2l0aW9uVmlldy5jbGFzc0xpc3QucmVtb3ZlKFwiYWN0aXZlXCIpLHRoaXMuX2lzQ29tcG9zaW5nPSExLGUpe2NvbnN0IGU9e3N0YXJ0OnRoaXMuX2NvbXBvc2l0aW9uUG9zaXRpb24uc3RhcnQsZW5kOnRoaXMuX2NvbXBvc2l0aW9uUG9zaXRpb24uZW5kfTt0aGlzLl9pc1NlbmRpbmdDb21wb3NpdGlvbj0hMCxzZXRUaW1lb3V0KCgoKT0+e2lmKHRoaXMuX2lzU2VuZGluZ0NvbXBvc2l0aW9uKXtsZXQgdDt0aGlzLl9pc1NlbmRpbmdDb21wb3NpdGlvbj0hMSxlLnN0YXJ0Kz10aGlzLl9kYXRhQWxyZWFkeVNlbnQubGVuZ3RoLHQ9dGhpcy5faXNDb21wb3Npbmc/dGhpcy5fdGV4dGFyZWEudmFsdWUuc3Vic3RyaW5nKGUuc3RhcnQsZS5lbmQpOnRoaXMuX3RleHRhcmVhLnZhbHVlLnN1YnN0cmluZyhlLnN0YXJ0KSx0Lmxlbmd0aD4wJiZ0aGlzLl9jb3JlU2VydmljZS50cmlnZ2VyRGF0YUV2ZW50KHQsITApfX0pLDApfWVsc2V7dGhpcy5faXNTZW5kaW5nQ29tcG9zaXRpb249ITE7Y29uc3QgZT10aGlzLl90ZXh0YXJlYS52YWx1ZS5zdWJzdHJpbmcodGhpcy5fY29tcG9zaXRpb25Qb3NpdGlvbi5zdGFydCx0aGlzLl9jb21wb3NpdGlvblBvc2l0aW9uLmVuZCk7dGhpcy5fY29yZVNlcnZpY2UudHJpZ2dlckRhdGFFdmVudChlLCEwKX19X2hhbmRsZUFueVRleHRhcmVhQ2hhbmdlcygpe2NvbnN0IGU9dGhpcy5fdGV4dGFyZWEudmFsdWU7c2V0VGltZW91dCgoKCk9PntpZighdGhpcy5faXNDb21wb3Npbmcpe2NvbnN0IHQ9dGhpcy5fdGV4dGFyZWEudmFsdWUsaT10LnJlcGxhY2UoZSxcIlwiKTt0aGlzLl9kYXRhQWxyZWFkeVNlbnQ9aSx0Lmxlbmd0aD5lLmxlbmd0aD90aGlzLl9jb3JlU2VydmljZS50cmlnZ2VyRGF0YUV2ZW50KGksITApOnQubGVuZ3RoPGUubGVuZ3RoP3RoaXMuX2NvcmVTZXJ2aWNlLnRyaWdnZXJEYXRhRXZlbnQoYCR7YS5DMC5ERUx9YCwhMCk6dC5sZW5ndGg9PT1lLmxlbmd0aCYmdCE9PWUmJnRoaXMuX2NvcmVTZXJ2aWNlLnRyaWdnZXJEYXRhRXZlbnQodCwhMCl9fSksMCl9dXBkYXRlQ29tcG9zaXRpb25FbGVtZW50cyhlKXtpZih0aGlzLl9pc0NvbXBvc2luZyl7aWYodGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIuaXNDdXJzb3JJblZpZXdwb3J0KXtjb25zdCBlPU1hdGgubWluKHRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLngsdGhpcy5fYnVmZmVyU2VydmljZS5jb2xzLTEpLHQ9dGhpcy5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zLmNzcy5jZWxsLmhlaWdodCxpPXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLnkqdGhpcy5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zLmNzcy5jZWxsLmhlaWdodCxzPWUqdGhpcy5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zLmNzcy5jZWxsLndpZHRoO3RoaXMuX2NvbXBvc2l0aW9uVmlldy5zdHlsZS5sZWZ0PXMrXCJweFwiLHRoaXMuX2NvbXBvc2l0aW9uVmlldy5zdHlsZS50b3A9aStcInB4XCIsdGhpcy5fY29tcG9zaXRpb25WaWV3LnN0eWxlLmhlaWdodD10K1wicHhcIix0aGlzLl9jb21wb3NpdGlvblZpZXcuc3R5bGUubGluZUhlaWdodD10K1wicHhcIix0aGlzLl9jb21wb3NpdGlvblZpZXcuc3R5bGUuZm9udEZhbWlseT10aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmZvbnRGYW1pbHksdGhpcy5fY29tcG9zaXRpb25WaWV3LnN0eWxlLmZvbnRTaXplPXRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuZm9udFNpemUrXCJweFwiO2NvbnN0IHI9dGhpcy5fY29tcG9zaXRpb25WaWV3LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuX3RleHRhcmVhLnN0eWxlLmxlZnQ9cytcInB4XCIsdGhpcy5fdGV4dGFyZWEuc3R5bGUudG9wPWkrXCJweFwiLHRoaXMuX3RleHRhcmVhLnN0eWxlLndpZHRoPU1hdGgubWF4KHIud2lkdGgsMSkrXCJweFwiLHRoaXMuX3RleHRhcmVhLnN0eWxlLmhlaWdodD1NYXRoLm1heChyLmhlaWdodCwxKStcInB4XCIsdGhpcy5fdGV4dGFyZWEuc3R5bGUubGluZUhlaWdodD1yLmhlaWdodCtcInB4XCJ9ZXx8c2V0VGltZW91dCgoKCk9PnRoaXMudXBkYXRlQ29tcG9zaXRpb25FbGVtZW50cyghMCkpLDApfX19O3QuQ29tcG9zaXRpb25IZWxwZXI9aD1zKFtyKDIsby5JQnVmZmVyU2VydmljZSkscigzLG8uSU9wdGlvbnNTZXJ2aWNlKSxyKDQsby5JQ29yZVNlcnZpY2UpLHIoNSxuLklSZW5kZXJTZXJ2aWNlKV0saCl9LDk4MDY6KGUsdCk9PntmdW5jdGlvbiBpKGUsdCxpKXtjb25zdCBzPWkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscj1lLmdldENvbXB1dGVkU3R5bGUoaSksbj1wYXJzZUludChyLmdldFByb3BlcnR5VmFsdWUoXCJwYWRkaW5nLWxlZnRcIikpLG89cGFyc2VJbnQoci5nZXRQcm9wZXJ0eVZhbHVlKFwicGFkZGluZy10b3BcIikpO3JldHVyblt0LmNsaWVudFgtcy5sZWZ0LW4sdC5jbGllbnRZLXMudG9wLW9dfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuZ2V0Q29vcmRzPXQuZ2V0Q29vcmRzUmVsYXRpdmVUb0VsZW1lbnQ9dm9pZCAwLHQuZ2V0Q29vcmRzUmVsYXRpdmVUb0VsZW1lbnQ9aSx0LmdldENvb3Jkcz1mdW5jdGlvbihlLHQscyxyLG4sbyxhLGgsYyl7aWYoIW8pcmV0dXJuO2NvbnN0IGw9aShlLHQscyk7cmV0dXJuIGw/KGxbMF09TWF0aC5jZWlsKChsWzBdKyhjP2EvMjowKSkvYSksbFsxXT1NYXRoLmNlaWwobFsxXS9oKSxsWzBdPU1hdGgubWluKE1hdGgubWF4KGxbMF0sMSkscisoYz8xOjApKSxsWzFdPU1hdGgubWluKE1hdGgubWF4KGxbMV0sMSksbiksbCk6dm9pZCAwfX0sOTUwNDooZSx0LGkpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5tb3ZlVG9DZWxsU2VxdWVuY2U9dm9pZCAwO2NvbnN0IHM9aSgyNTg0KTtmdW5jdGlvbiByKGUsdCxpLHMpe2NvbnN0IHI9ZS1uKGUsaSksYT10LW4odCxpKSxsPU1hdGguYWJzKHItYSktZnVuY3Rpb24oZSx0LGkpe2xldCBzPTA7Y29uc3Qgcj1lLW4oZSxpKSxhPXQtbih0LGkpO2ZvcihsZXQgbj0wO248TWF0aC5hYnMoci1hKTtuKyspe2NvbnN0IGE9XCJBXCI9PT1vKGUsdCk/LTE6MSxoPWkuYnVmZmVyLmxpbmVzLmdldChyK2Eqbik7aD8uaXNXcmFwcGVkJiZzKyt9cmV0dXJuIHN9KGUsdCxpKTtyZXR1cm4gYyhsLGgobyhlLHQpLHMpKX1mdW5jdGlvbiBuKGUsdCl7bGV0IGk9MCxzPXQuYnVmZmVyLmxpbmVzLmdldChlKSxyPXM/LmlzV3JhcHBlZDtmb3IoO3ImJmU+PTAmJmU8dC5yb3dzOylpKysscz10LmJ1ZmZlci5saW5lcy5nZXQoLS1lKSxyPXM/LmlzV3JhcHBlZDtyZXR1cm4gaX1mdW5jdGlvbiBvKGUsdCl7cmV0dXJuIGU+dD9cIkFcIjpcIkJcIn1mdW5jdGlvbiBhKGUsdCxpLHMscixuKXtsZXQgbz1lLGE9dCxoPVwiXCI7Zm9yKDtvIT09aXx8YSE9PXM7KW8rPXI/MTotMSxyJiZvPm4uY29scy0xPyhoKz1uLmJ1ZmZlci50cmFuc2xhdGVCdWZmZXJMaW5lVG9TdHJpbmcoYSwhMSxlLG8pLG89MCxlPTAsYSsrKTohciYmbzwwJiYoaCs9bi5idWZmZXIudHJhbnNsYXRlQnVmZmVyTGluZVRvU3RyaW5nKGEsITEsMCxlKzEpLG89bi5jb2xzLTEsZT1vLGEtLSk7cmV0dXJuIGgrbi5idWZmZXIudHJhbnNsYXRlQnVmZmVyTGluZVRvU3RyaW5nKGEsITEsZSxvKX1mdW5jdGlvbiBoKGUsdCl7Y29uc3QgaT10P1wiT1wiOlwiW1wiO3JldHVybiBzLkMwLkVTQytpK2V9ZnVuY3Rpb24gYyhlLHQpe2U9TWF0aC5mbG9vcihlKTtsZXQgaT1cIlwiO2ZvcihsZXQgcz0wO3M8ZTtzKyspaSs9dDtyZXR1cm4gaX10Lm1vdmVUb0NlbGxTZXF1ZW5jZT1mdW5jdGlvbihlLHQsaSxzKXtjb25zdCBvPWkuYnVmZmVyLngsbD1pLmJ1ZmZlci55O2lmKCFpLmJ1ZmZlci5oYXNTY3JvbGxiYWNrKXJldHVybiBmdW5jdGlvbihlLHQsaSxzLG8sbCl7cmV0dXJuIDA9PT1yKHQscyxvLGwpLmxlbmd0aD9cIlwiOmMoYShlLHQsZSx0LW4odCxvKSwhMSxvKS5sZW5ndGgsaChcIkRcIixsKSl9KG8sbCwwLHQsaSxzKStyKGwsdCxpLHMpK2Z1bmN0aW9uKGUsdCxpLHMsbyxsKXtsZXQgZDtkPXIodCxzLG8sbCkubGVuZ3RoPjA/cy1uKHMsbyk6dDtjb25zdCBfPXMsdT1mdW5jdGlvbihlLHQsaSxzLG8sYSl7bGV0IGg7cmV0dXJuIGg9cihpLHMsbyxhKS5sZW5ndGg+MD9zLW4ocyxvKTp0LGU8aSYmaDw9c3x8ZT49aSYmaDxzP1wiQ1wiOlwiRFwifShlLHQsaSxzLG8sbCk7cmV0dXJuIGMoYShlLGQsaSxfLFwiQ1wiPT09dSxvKS5sZW5ndGgsaCh1LGwpKX0obyxsLGUsdCxpLHMpO2xldCBkO2lmKGw9PT10KXJldHVybiBkPW8+ZT9cIkRcIjpcIkNcIixjKE1hdGguYWJzKG8tZSksaChkLHMpKTtkPWw+dD9cIkRcIjpcIkNcIjtjb25zdCBfPU1hdGguYWJzKGwtdCk7cmV0dXJuIGMoZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC5jb2xzLWV9KGw+dD9lOm8saSkrKF8tMSkqaS5jb2xzKzErKChsPnQ/bzplKS0xKSxoKGQscykpfX0sMTI5NjpmdW5jdGlvbihlLHQsaSl7dmFyIHM9dGhpcyYmdGhpcy5fX2RlY29yYXRlfHxmdW5jdGlvbihlLHQsaSxzKXt2YXIgcixuPWFyZ3VtZW50cy5sZW5ndGgsbz1uPDM/dDpudWxsPT09cz9zPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxpKTpzO2lmKFwib2JqZWN0XCI9PXR5cGVvZiBSZWZsZWN0JiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBSZWZsZWN0LmRlY29yYXRlKW89UmVmbGVjdC5kZWNvcmF0ZShlLHQsaSxzKTtlbHNlIGZvcih2YXIgYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShyPWVbYV0pJiYobz0objwzP3Iobyk6bj4zP3IodCxpLG8pOnIodCxpKSl8fG8pO3JldHVybiBuPjMmJm8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGksbyksb30scj10aGlzJiZ0aGlzLl9fcGFyYW18fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGkscyl7dChpLHMsZSl9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkRvbVJlbmRlcmVyPXZvaWQgMDtjb25zdCBuPWkoMzc4Nyksbz1pKDI1NTApLGE9aSgyMjIzKSxoPWkoNjE3MSksYz1pKDYwNTIpLGw9aSg0NzI1KSxkPWkoODA1NSksXz1pKDg0NjApLHU9aSg4NDQpLGY9aSgyNTg1KSx2PVwieHRlcm0tZG9tLXJlbmRlcmVyLW93bmVyLVwiLHA9XCJ4dGVybS1yb3dzXCIsZz1cInh0ZXJtLWZnLVwiLG09XCJ4dGVybS1iZy1cIixTPVwieHRlcm0tZm9jdXNcIixDPVwieHRlcm0tc2VsZWN0aW9uXCI7bGV0IGI9MSx3PXQuRG9tUmVuZGVyZXI9Y2xhc3MgZXh0ZW5kcyB1LkRpc3Bvc2FibGV7Y29uc3RydWN0b3IoZSx0LGkscyxyLGEsbCxkLGYsZyxtLFMsdyl7c3VwZXIoKSx0aGlzLl90ZXJtaW5hbD1lLHRoaXMuX2RvY3VtZW50PXQsdGhpcy5fZWxlbWVudD1pLHRoaXMuX3NjcmVlbkVsZW1lbnQ9cyx0aGlzLl92aWV3cG9ydEVsZW1lbnQ9cix0aGlzLl9oZWxwZXJDb250YWluZXI9YSx0aGlzLl9saW5raWZpZXIyPWwsdGhpcy5fY2hhclNpemVTZXJ2aWNlPWYsdGhpcy5fb3B0aW9uc1NlcnZpY2U9Zyx0aGlzLl9idWZmZXJTZXJ2aWNlPW0sdGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlPVMsdGhpcy5fdGhlbWVTZXJ2aWNlPXcsdGhpcy5fdGVybWluYWxDbGFzcz1iKyssdGhpcy5fcm93RWxlbWVudHM9W10sdGhpcy5fc2VsZWN0aW9uUmVuZGVyTW9kZWw9KDAsYy5jcmVhdGVTZWxlY3Rpb25SZW5kZXJNb2RlbCkoKSx0aGlzLm9uUmVxdWVzdFJlZHJhdz10aGlzLnJlZ2lzdGVyKG5ldyBfLkV2ZW50RW1pdHRlcikuZXZlbnQsdGhpcy5fcm93Q29udGFpbmVyPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksdGhpcy5fcm93Q29udGFpbmVyLmNsYXNzTGlzdC5hZGQocCksdGhpcy5fcm93Q29udGFpbmVyLnN0eWxlLmxpbmVIZWlnaHQ9XCJub3JtYWxcIix0aGlzLl9yb3dDb250YWluZXIuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIixcInRydWVcIiksdGhpcy5fcmVmcmVzaFJvd0VsZW1lbnRzKHRoaXMuX2J1ZmZlclNlcnZpY2UuY29scyx0aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MpLHRoaXMuX3NlbGVjdGlvbkNvbnRhaW5lcj10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLHRoaXMuX3NlbGVjdGlvbkNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKEMpLHRoaXMuX3NlbGVjdGlvbkNvbnRhaW5lci5zZXRBdHRyaWJ1dGUoXCJhcmlhLWhpZGRlblwiLFwidHJ1ZVwiKSx0aGlzLmRpbWVuc2lvbnM9KDAsaC5jcmVhdGVSZW5kZXJEaW1lbnNpb25zKSgpLHRoaXMuX3VwZGF0ZURpbWVuc2lvbnMoKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9uT3B0aW9uQ2hhbmdlKCgoKT0+dGhpcy5faGFuZGxlT3B0aW9uc0NoYW5nZWQoKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX3RoZW1lU2VydmljZS5vbkNoYW5nZUNvbG9ycygoZT0+dGhpcy5faW5qZWN0Q3NzKGUpKSkpLHRoaXMuX2luamVjdENzcyh0aGlzLl90aGVtZVNlcnZpY2UuY29sb3JzKSx0aGlzLl9yb3dGYWN0b3J5PWQuY3JlYXRlSW5zdGFuY2Uobi5Eb21SZW5kZXJlclJvd0ZhY3RvcnksZG9jdW1lbnQpLHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZCh2K3RoaXMuX3Rlcm1pbmFsQ2xhc3MpLHRoaXMuX3NjcmVlbkVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcm93Q29udGFpbmVyKSx0aGlzLl9zY3JlZW5FbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3NlbGVjdGlvbkNvbnRhaW5lciksdGhpcy5yZWdpc3Rlcih0aGlzLl9saW5raWZpZXIyLm9uU2hvd0xpbmtVbmRlcmxpbmUoKGU9PnRoaXMuX2hhbmRsZUxpbmtIb3ZlcihlKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX2xpbmtpZmllcjIub25IaWRlTGlua1VuZGVybGluZSgoZT0+dGhpcy5faGFuZGxlTGlua0xlYXZlKGUpKSkpLHRoaXMucmVnaXN0ZXIoKDAsdS50b0Rpc3Bvc2FibGUpKCgoKT0+e3RoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSh2K3RoaXMuX3Rlcm1pbmFsQ2xhc3MpLHRoaXMuX3Jvd0NvbnRhaW5lci5yZW1vdmUoKSx0aGlzLl9zZWxlY3Rpb25Db250YWluZXIucmVtb3ZlKCksdGhpcy5fd2lkdGhDYWNoZS5kaXNwb3NlKCksdGhpcy5fdGhlbWVTdHlsZUVsZW1lbnQucmVtb3ZlKCksdGhpcy5fZGltZW5zaW9uc1N0eWxlRWxlbWVudC5yZW1vdmUoKX0pKSksdGhpcy5fd2lkdGhDYWNoZT1uZXcgby5XaWR0aENhY2hlKHRoaXMuX2RvY3VtZW50LHRoaXMuX2hlbHBlckNvbnRhaW5lciksdGhpcy5fd2lkdGhDYWNoZS5zZXRGb250KHRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuZm9udEZhbWlseSx0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmZvbnRTaXplLHRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuZm9udFdlaWdodCx0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmZvbnRXZWlnaHRCb2xkKSx0aGlzLl9zZXREZWZhdWx0U3BhY2luZygpfV91cGRhdGVEaW1lbnNpb25zKCl7Y29uc3QgZT10aGlzLl9jb3JlQnJvd3NlclNlcnZpY2UuZHByO3RoaXMuZGltZW5zaW9ucy5kZXZpY2UuY2hhci53aWR0aD10aGlzLl9jaGFyU2l6ZVNlcnZpY2Uud2lkdGgqZSx0aGlzLmRpbWVuc2lvbnMuZGV2aWNlLmNoYXIuaGVpZ2h0PU1hdGguY2VpbCh0aGlzLl9jaGFyU2l6ZVNlcnZpY2UuaGVpZ2h0KmUpLHRoaXMuZGltZW5zaW9ucy5kZXZpY2UuY2VsbC53aWR0aD10aGlzLmRpbWVuc2lvbnMuZGV2aWNlLmNoYXIud2lkdGgrTWF0aC5yb3VuZCh0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmxldHRlclNwYWNpbmcpLHRoaXMuZGltZW5zaW9ucy5kZXZpY2UuY2VsbC5oZWlnaHQ9TWF0aC5mbG9vcih0aGlzLmRpbWVuc2lvbnMuZGV2aWNlLmNoYXIuaGVpZ2h0KnRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMubGluZUhlaWdodCksdGhpcy5kaW1lbnNpb25zLmRldmljZS5jaGFyLmxlZnQ9MCx0aGlzLmRpbWVuc2lvbnMuZGV2aWNlLmNoYXIudG9wPTAsdGhpcy5kaW1lbnNpb25zLmRldmljZS5jYW52YXMud2lkdGg9dGhpcy5kaW1lbnNpb25zLmRldmljZS5jZWxsLndpZHRoKnRoaXMuX2J1ZmZlclNlcnZpY2UuY29scyx0aGlzLmRpbWVuc2lvbnMuZGV2aWNlLmNhbnZhcy5oZWlnaHQ9dGhpcy5kaW1lbnNpb25zLmRldmljZS5jZWxsLmhlaWdodCp0aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MsdGhpcy5kaW1lbnNpb25zLmNzcy5jYW52YXMud2lkdGg9TWF0aC5yb3VuZCh0aGlzLmRpbWVuc2lvbnMuZGV2aWNlLmNhbnZhcy53aWR0aC9lKSx0aGlzLmRpbWVuc2lvbnMuY3NzLmNhbnZhcy5oZWlnaHQ9TWF0aC5yb3VuZCh0aGlzLmRpbWVuc2lvbnMuZGV2aWNlLmNhbnZhcy5oZWlnaHQvZSksdGhpcy5kaW1lbnNpb25zLmNzcy5jZWxsLndpZHRoPXRoaXMuZGltZW5zaW9ucy5jc3MuY2FudmFzLndpZHRoL3RoaXMuX2J1ZmZlclNlcnZpY2UuY29scyx0aGlzLmRpbWVuc2lvbnMuY3NzLmNlbGwuaGVpZ2h0PXRoaXMuZGltZW5zaW9ucy5jc3MuY2FudmFzLmhlaWdodC90aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3M7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fcm93RWxlbWVudHMpZS5zdHlsZS53aWR0aD1gJHt0aGlzLmRpbWVuc2lvbnMuY3NzLmNhbnZhcy53aWR0aH1weGAsZS5zdHlsZS5oZWlnaHQ9YCR7dGhpcy5kaW1lbnNpb25zLmNzcy5jZWxsLmhlaWdodH1weGAsZS5zdHlsZS5saW5lSGVpZ2h0PWAke3RoaXMuZGltZW5zaW9ucy5jc3MuY2VsbC5oZWlnaHR9cHhgLGUuc3R5bGUub3ZlcmZsb3c9XCJoaWRkZW5cIjt0aGlzLl9kaW1lbnNpb25zU3R5bGVFbGVtZW50fHwodGhpcy5fZGltZW5zaW9uc1N0eWxlRWxlbWVudD10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIiksdGhpcy5fc2NyZWVuRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9kaW1lbnNpb25zU3R5bGVFbGVtZW50KSk7Y29uc3QgdD1gJHt0aGlzLl90ZXJtaW5hbFNlbGVjdG9yfSAuJHtwfSBzcGFuIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBoZWlnaHQ6IDEwMCU7IHZlcnRpY2FsLWFsaWduOiB0b3A7fWA7dGhpcy5fZGltZW5zaW9uc1N0eWxlRWxlbWVudC50ZXh0Q29udGVudD10LHRoaXMuX3NlbGVjdGlvbkNvbnRhaW5lci5zdHlsZS5oZWlnaHQ9dGhpcy5fdmlld3BvcnRFbGVtZW50LnN0eWxlLmhlaWdodCx0aGlzLl9zY3JlZW5FbGVtZW50LnN0eWxlLndpZHRoPWAke3RoaXMuZGltZW5zaW9ucy5jc3MuY2FudmFzLndpZHRofXB4YCx0aGlzLl9zY3JlZW5FbGVtZW50LnN0eWxlLmhlaWdodD1gJHt0aGlzLmRpbWVuc2lvbnMuY3NzLmNhbnZhcy5oZWlnaHR9cHhgfV9pbmplY3RDc3MoZSl7dGhpcy5fdGhlbWVTdHlsZUVsZW1lbnR8fCh0aGlzLl90aGVtZVN0eWxlRWxlbWVudD10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIiksdGhpcy5fc2NyZWVuRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl90aGVtZVN0eWxlRWxlbWVudCkpO2xldCB0PWAke3RoaXMuX3Rlcm1pbmFsU2VsZWN0b3J9IC4ke3B9IHsgY29sb3I6ICR7ZS5mb3JlZ3JvdW5kLmNzc307IGZvbnQtZmFtaWx5OiAke3RoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuZm9udEZhbWlseX07IGZvbnQtc2l6ZTogJHt0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmZvbnRTaXplfXB4OyBmb250LWtlcm5pbmc6IG5vbmU7IHdoaXRlLXNwYWNlOiBwcmV9YDt0Kz1gJHt0aGlzLl90ZXJtaW5hbFNlbGVjdG9yfSAuJHtwfSAueHRlcm0tZGltIHsgY29sb3I6ICR7ZC5jb2xvci5tdWx0aXBseU9wYWNpdHkoZS5mb3JlZ3JvdW5kLC41KS5jc3N9O31gLHQrPWAke3RoaXMuX3Rlcm1pbmFsU2VsZWN0b3J9IHNwYW46bm90KC54dGVybS1ib2xkKSB7IGZvbnQtd2VpZ2h0OiAke3RoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuZm9udFdlaWdodH07fSR7dGhpcy5fdGVybWluYWxTZWxlY3Rvcn0gc3Bhbi54dGVybS1ib2xkIHsgZm9udC13ZWlnaHQ6ICR7dGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5mb250V2VpZ2h0Qm9sZH07fSR7dGhpcy5fdGVybWluYWxTZWxlY3Rvcn0gc3Bhbi54dGVybS1pdGFsaWMgeyBmb250LXN0eWxlOiBpdGFsaWM7fWA7Y29uc3QgaT1gYmxpbmtfdW5kZXJsaW5lXyR7dGhpcy5fdGVybWluYWxDbGFzc31gLHM9YGJsaW5rX2Jhcl8ke3RoaXMuX3Rlcm1pbmFsQ2xhc3N9YCxyPWBibGlua19ibG9ja18ke3RoaXMuX3Rlcm1pbmFsQ2xhc3N9YDt0Kz1gQGtleWZyYW1lcyAke2l9IHsgNTAlIHsgIGJvcmRlci1ib3R0b20tc3R5bGU6IGhpZGRlbjsgfX1gLHQrPWBAa2V5ZnJhbWVzICR7c30geyA1MCUgeyAgYm94LXNoYWRvdzogbm9uZTsgfX1gLHQrPWBAa2V5ZnJhbWVzICR7cn0geyAwJSB7ICBiYWNrZ3JvdW5kLWNvbG9yOiAke2UuY3Vyc29yLmNzc307ICBjb2xvcjogJHtlLmN1cnNvckFjY2VudC5jc3N9OyB9IDUwJSB7ICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyAgY29sb3I6ICR7ZS5jdXJzb3IuY3NzfTsgfX1gLHQrPWAke3RoaXMuX3Rlcm1pbmFsU2VsZWN0b3J9IC4ke3B9LiR7U30gLnh0ZXJtLWN1cnNvci54dGVybS1jdXJzb3ItYmxpbmsueHRlcm0tY3Vyc29yLXVuZGVybGluZSB7IGFuaW1hdGlvbjogJHtpfSAxcyBzdGVwLWVuZCBpbmZpbml0ZTt9JHt0aGlzLl90ZXJtaW5hbFNlbGVjdG9yfSAuJHtwfS4ke1N9IC54dGVybS1jdXJzb3IueHRlcm0tY3Vyc29yLWJsaW5rLnh0ZXJtLWN1cnNvci1iYXIgeyBhbmltYXRpb246ICR7c30gMXMgc3RlcC1lbmQgaW5maW5pdGU7fSR7dGhpcy5fdGVybWluYWxTZWxlY3Rvcn0gLiR7cH0uJHtTfSAueHRlcm0tY3Vyc29yLnh0ZXJtLWN1cnNvci1ibGluay54dGVybS1jdXJzb3ItYmxvY2sgeyBhbmltYXRpb246ICR7cn0gMXMgc3RlcC1lbmQgaW5maW5pdGU7fSR7dGhpcy5fdGVybWluYWxTZWxlY3Rvcn0gLiR7cH0gLnh0ZXJtLWN1cnNvci54dGVybS1jdXJzb3ItYmxvY2sgeyBiYWNrZ3JvdW5kLWNvbG9yOiAke2UuY3Vyc29yLmNzc307IGNvbG9yOiAke2UuY3Vyc29yQWNjZW50LmNzc307fSR7dGhpcy5fdGVybWluYWxTZWxlY3Rvcn0gLiR7cH0gLnh0ZXJtLWN1cnNvci54dGVybS1jdXJzb3ItYmxvY2s6bm90KC54dGVybS1jdXJzb3ItYmxpbmspIHsgYmFja2dyb3VuZC1jb2xvcjogJHtlLmN1cnNvci5jc3N9ICFpbXBvcnRhbnQ7IGNvbG9yOiAke2UuY3Vyc29yQWNjZW50LmNzc30gIWltcG9ydGFudDt9JHt0aGlzLl90ZXJtaW5hbFNlbGVjdG9yfSAuJHtwfSAueHRlcm0tY3Vyc29yLnh0ZXJtLWN1cnNvci1vdXRsaW5lIHsgb3V0bGluZTogMXB4IHNvbGlkICR7ZS5jdXJzb3IuY3NzfTsgb3V0bGluZS1vZmZzZXQ6IC0xcHg7fSR7dGhpcy5fdGVybWluYWxTZWxlY3Rvcn0gLiR7cH0gLnh0ZXJtLWN1cnNvci54dGVybS1jdXJzb3ItYmFyIHsgYm94LXNoYWRvdzogJHt0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmN1cnNvcldpZHRofXB4IDAgMCAke2UuY3Vyc29yLmNzc30gaW5zZXQ7fSR7dGhpcy5fdGVybWluYWxTZWxlY3Rvcn0gLiR7cH0gLnh0ZXJtLWN1cnNvci54dGVybS1jdXJzb3ItdW5kZXJsaW5lIHsgYm9yZGVyLWJvdHRvbTogMXB4ICR7ZS5jdXJzb3IuY3NzfTsgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7IGhlaWdodDogY2FsYygxMDAlIC0gMXB4KTt9YCx0Kz1gJHt0aGlzLl90ZXJtaW5hbFNlbGVjdG9yfSAuJHtDfSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyB6LWluZGV4OiAxOyBwb2ludGVyLWV2ZW50czogbm9uZTt9JHt0aGlzLl90ZXJtaW5hbFNlbGVjdG9yfS5mb2N1cyAuJHtDfSBkaXYgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGJhY2tncm91bmQtY29sb3I6ICR7ZS5zZWxlY3Rpb25CYWNrZ3JvdW5kT3BhcXVlLmNzc307fSR7dGhpcy5fdGVybWluYWxTZWxlY3Rvcn0gLiR7Q30gZGl2IHsgcG9zaXRpb246IGFic29sdXRlOyBiYWNrZ3JvdW5kLWNvbG9yOiAke2Uuc2VsZWN0aW9uSW5hY3RpdmVCYWNrZ3JvdW5kT3BhcXVlLmNzc307fWA7Zm9yKGNvbnN0W2ksc11vZiBlLmFuc2kuZW50cmllcygpKXQrPWAke3RoaXMuX3Rlcm1pbmFsU2VsZWN0b3J9IC4ke2d9JHtpfSB7IGNvbG9yOiAke3MuY3NzfTsgfSR7dGhpcy5fdGVybWluYWxTZWxlY3Rvcn0gLiR7Z30ke2l9Lnh0ZXJtLWRpbSB7IGNvbG9yOiAke2QuY29sb3IubXVsdGlwbHlPcGFjaXR5KHMsLjUpLmNzc307IH0ke3RoaXMuX3Rlcm1pbmFsU2VsZWN0b3J9IC4ke219JHtpfSB7IGJhY2tncm91bmQtY29sb3I6ICR7cy5jc3N9OyB9YDt0Kz1gJHt0aGlzLl90ZXJtaW5hbFNlbGVjdG9yfSAuJHtnfSR7YS5JTlZFUlRFRF9ERUZBVUxUX0NPTE9SfSB7IGNvbG9yOiAke2QuY29sb3Iub3BhcXVlKGUuYmFja2dyb3VuZCkuY3NzfTsgfSR7dGhpcy5fdGVybWluYWxTZWxlY3Rvcn0gLiR7Z30ke2EuSU5WRVJURURfREVGQVVMVF9DT0xPUn0ueHRlcm0tZGltIHsgY29sb3I6ICR7ZC5jb2xvci5tdWx0aXBseU9wYWNpdHkoZC5jb2xvci5vcGFxdWUoZS5iYWNrZ3JvdW5kKSwuNSkuY3NzfTsgfSR7dGhpcy5fdGVybWluYWxTZWxlY3Rvcn0gLiR7bX0ke2EuSU5WRVJURURfREVGQVVMVF9DT0xPUn0geyBiYWNrZ3JvdW5kLWNvbG9yOiAke2UuZm9yZWdyb3VuZC5jc3N9OyB9YCx0aGlzLl90aGVtZVN0eWxlRWxlbWVudC50ZXh0Q29udGVudD10fV9zZXREZWZhdWx0U3BhY2luZygpe2NvbnN0IGU9dGhpcy5kaW1lbnNpb25zLmNzcy5jZWxsLndpZHRoLXRoaXMuX3dpZHRoQ2FjaGUuZ2V0KFwiV1wiLCExLCExKTt0aGlzLl9yb3dDb250YWluZXIuc3R5bGUubGV0dGVyU3BhY2luZz1gJHtlfXB4YCx0aGlzLl9yb3dGYWN0b3J5LmRlZmF1bHRTcGFjaW5nPWV9aGFuZGxlRGV2aWNlUGl4ZWxSYXRpb0NoYW5nZSgpe3RoaXMuX3VwZGF0ZURpbWVuc2lvbnMoKSx0aGlzLl93aWR0aENhY2hlLmNsZWFyKCksdGhpcy5fc2V0RGVmYXVsdFNwYWNpbmcoKX1fcmVmcmVzaFJvd0VsZW1lbnRzKGUsdCl7Zm9yKGxldCBlPXRoaXMuX3Jvd0VsZW1lbnRzLmxlbmd0aDtlPD10O2UrKyl7Y29uc3QgZT10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO3RoaXMuX3Jvd0NvbnRhaW5lci5hcHBlbmRDaGlsZChlKSx0aGlzLl9yb3dFbGVtZW50cy5wdXNoKGUpfWZvcig7dGhpcy5fcm93RWxlbWVudHMubGVuZ3RoPnQ7KXRoaXMuX3Jvd0NvbnRhaW5lci5yZW1vdmVDaGlsZCh0aGlzLl9yb3dFbGVtZW50cy5wb3AoKSl9aGFuZGxlUmVzaXplKGUsdCl7dGhpcy5fcmVmcmVzaFJvd0VsZW1lbnRzKGUsdCksdGhpcy5fdXBkYXRlRGltZW5zaW9ucygpLHRoaXMuaGFuZGxlU2VsZWN0aW9uQ2hhbmdlZCh0aGlzLl9zZWxlY3Rpb25SZW5kZXJNb2RlbC5zZWxlY3Rpb25TdGFydCx0aGlzLl9zZWxlY3Rpb25SZW5kZXJNb2RlbC5zZWxlY3Rpb25FbmQsdGhpcy5fc2VsZWN0aW9uUmVuZGVyTW9kZWwuY29sdW1uU2VsZWN0TW9kZSl9aGFuZGxlQ2hhclNpemVDaGFuZ2VkKCl7dGhpcy5fdXBkYXRlRGltZW5zaW9ucygpLHRoaXMuX3dpZHRoQ2FjaGUuY2xlYXIoKSx0aGlzLl9zZXREZWZhdWx0U3BhY2luZygpfWhhbmRsZUJsdXIoKXt0aGlzLl9yb3dDb250YWluZXIuY2xhc3NMaXN0LnJlbW92ZShTKSx0aGlzLnJlbmRlclJvd3MoMCx0aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MtMSl9aGFuZGxlRm9jdXMoKXt0aGlzLl9yb3dDb250YWluZXIuY2xhc3NMaXN0LmFkZChTKSx0aGlzLnJlbmRlclJvd3ModGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIueSx0aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci55KX1oYW5kbGVTZWxlY3Rpb25DaGFuZ2VkKGUsdCxpKXtpZih0aGlzLl9zZWxlY3Rpb25Db250YWluZXIucmVwbGFjZUNoaWxkcmVuKCksdGhpcy5fcm93RmFjdG9yeS5oYW5kbGVTZWxlY3Rpb25DaGFuZ2VkKGUsdCxpKSx0aGlzLnJlbmRlclJvd3MoMCx0aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MtMSksIWV8fCF0KXJldHVybjt0aGlzLl9zZWxlY3Rpb25SZW5kZXJNb2RlbC51cGRhdGUodGhpcy5fdGVybWluYWwsZSx0LGkpO2NvbnN0IHM9dGhpcy5fc2VsZWN0aW9uUmVuZGVyTW9kZWwudmlld3BvcnRTdGFydFJvdyxyPXRoaXMuX3NlbGVjdGlvblJlbmRlck1vZGVsLnZpZXdwb3J0RW5kUm93LG49dGhpcy5fc2VsZWN0aW9uUmVuZGVyTW9kZWwudmlld3BvcnRDYXBwZWRTdGFydFJvdyxvPXRoaXMuX3NlbGVjdGlvblJlbmRlck1vZGVsLnZpZXdwb3J0Q2FwcGVkRW5kUm93O2lmKG4+PXRoaXMuX2J1ZmZlclNlcnZpY2Uucm93c3x8bzwwKXJldHVybjtjb25zdCBhPXRoaXMuX2RvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihpKXtjb25zdCBpPWVbMF0+dFswXTthLmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZVNlbGVjdGlvbkVsZW1lbnQobixpP3RbMF06ZVswXSxpP2VbMF06dFswXSxvLW4rMSkpfWVsc2V7Y29uc3QgaT1zPT09bj9lWzBdOjAsaD1uPT09cj90WzBdOnRoaXMuX2J1ZmZlclNlcnZpY2UuY29sczthLmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZVNlbGVjdGlvbkVsZW1lbnQobixpLGgpKTtjb25zdCBjPW8tbi0xO2lmKGEuYXBwZW5kQ2hpbGQodGhpcy5fY3JlYXRlU2VsZWN0aW9uRWxlbWVudChuKzEsMCx0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMsYykpLG4hPT1vKXtjb25zdCBlPXI9PT1vP3RbMF06dGhpcy5fYnVmZmVyU2VydmljZS5jb2xzO2EuYXBwZW5kQ2hpbGQodGhpcy5fY3JlYXRlU2VsZWN0aW9uRWxlbWVudChvLDAsZSkpfX10aGlzLl9zZWxlY3Rpb25Db250YWluZXIuYXBwZW5kQ2hpbGQoYSl9X2NyZWF0ZVNlbGVjdGlvbkVsZW1lbnQoZSx0LGkscz0xKXtjb25zdCByPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksbj10KnRoaXMuZGltZW5zaW9ucy5jc3MuY2VsbC53aWR0aDtsZXQgbz10aGlzLmRpbWVuc2lvbnMuY3NzLmNlbGwud2lkdGgqKGktdCk7cmV0dXJuIG4rbz50aGlzLmRpbWVuc2lvbnMuY3NzLmNhbnZhcy53aWR0aCYmKG89dGhpcy5kaW1lbnNpb25zLmNzcy5jYW52YXMud2lkdGgtbiksci5zdHlsZS5oZWlnaHQ9cyp0aGlzLmRpbWVuc2lvbnMuY3NzLmNlbGwuaGVpZ2h0K1wicHhcIixyLnN0eWxlLnRvcD1lKnRoaXMuZGltZW5zaW9ucy5jc3MuY2VsbC5oZWlnaHQrXCJweFwiLHIuc3R5bGUubGVmdD1gJHtufXB4YCxyLnN0eWxlLndpZHRoPWAke299cHhgLHJ9aGFuZGxlQ3Vyc29yTW92ZSgpe31faGFuZGxlT3B0aW9uc0NoYW5nZWQoKXt0aGlzLl91cGRhdGVEaW1lbnNpb25zKCksdGhpcy5faW5qZWN0Q3NzKHRoaXMuX3RoZW1lU2VydmljZS5jb2xvcnMpLHRoaXMuX3dpZHRoQ2FjaGUuc2V0Rm9udCh0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmZvbnRGYW1pbHksdGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5mb250U2l6ZSx0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmZvbnRXZWlnaHQsdGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5mb250V2VpZ2h0Qm9sZCksdGhpcy5fc2V0RGVmYXVsdFNwYWNpbmcoKX1jbGVhcigpe2Zvcihjb25zdCBlIG9mIHRoaXMuX3Jvd0VsZW1lbnRzKWUucmVwbGFjZUNoaWxkcmVuKCl9cmVuZGVyUm93cyhlLHQpe2NvbnN0IGk9dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIscz1pLnliYXNlK2kueSxyPU1hdGgubWluKGkueCx0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMtMSksbj10aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmN1cnNvckJsaW5rLG89dGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5jdXJzb3JTdHlsZSxhPXRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuY3Vyc29ySW5hY3RpdmVTdHlsZTtmb3IobGV0IGg9ZTtoPD10O2grKyl7Y29uc3QgZT1oK2kueWRpc3AsdD10aGlzLl9yb3dFbGVtZW50c1toXSxjPWkubGluZXMuZ2V0KGUpO2lmKCF0fHwhYylicmVhazt0LnJlcGxhY2VDaGlsZHJlbiguLi50aGlzLl9yb3dGYWN0b3J5LmNyZWF0ZVJvdyhjLGUsZT09PXMsbyxhLHIsbix0aGlzLmRpbWVuc2lvbnMuY3NzLmNlbGwud2lkdGgsdGhpcy5fd2lkdGhDYWNoZSwtMSwtMSkpfX1nZXQgX3Rlcm1pbmFsU2VsZWN0b3IoKXtyZXR1cm5gLiR7dn0ke3RoaXMuX3Rlcm1pbmFsQ2xhc3N9YH1faGFuZGxlTGlua0hvdmVyKGUpe3RoaXMuX3NldENlbGxVbmRlcmxpbmUoZS54MSxlLngyLGUueTEsZS55MixlLmNvbHMsITApfV9oYW5kbGVMaW5rTGVhdmUoZSl7dGhpcy5fc2V0Q2VsbFVuZGVybGluZShlLngxLGUueDIsZS55MSxlLnkyLGUuY29scywhMSl9X3NldENlbGxVbmRlcmxpbmUoZSx0LGkscyxyLG4pe2k8MCYmKGU9MCksczwwJiYodD0wKTtjb25zdCBvPXRoaXMuX2J1ZmZlclNlcnZpY2Uucm93cy0xO2k9TWF0aC5tYXgoTWF0aC5taW4oaSxvKSwwKSxzPU1hdGgubWF4KE1hdGgubWluKHMsbyksMCkscj1NYXRoLm1pbihyLHRoaXMuX2J1ZmZlclNlcnZpY2UuY29scyk7Y29uc3QgYT10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlcixoPWEueWJhc2UrYS55LGM9TWF0aC5taW4oYS54LHItMSksbD10aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmN1cnNvckJsaW5rLGQ9dGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5jdXJzb3JTdHlsZSxfPXRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuY3Vyc29ySW5hY3RpdmVTdHlsZTtmb3IobGV0IG89aTtvPD1zOysrbyl7Y29uc3QgdT1vK2EueWRpc3AsZj10aGlzLl9yb3dFbGVtZW50c1tvXSx2PWEubGluZXMuZ2V0KHUpO2lmKCFmfHwhdilicmVhaztmLnJlcGxhY2VDaGlsZHJlbiguLi50aGlzLl9yb3dGYWN0b3J5LmNyZWF0ZVJvdyh2LHUsdT09PWgsZCxfLGMsbCx0aGlzLmRpbWVuc2lvbnMuY3NzLmNlbGwud2lkdGgsdGhpcy5fd2lkdGhDYWNoZSxuP289PT1pP2U6MDotMSxuPyhvPT09cz90OnIpLTE6LTEpKX19fTt0LkRvbVJlbmRlcmVyPXc9cyhbcig3LGYuSUluc3RhbnRpYXRpb25TZXJ2aWNlKSxyKDgsbC5JQ2hhclNpemVTZXJ2aWNlKSxyKDksZi5JT3B0aW9uc1NlcnZpY2UpLHIoMTAsZi5JQnVmZmVyU2VydmljZSkscigxMSxsLklDb3JlQnJvd3NlclNlcnZpY2UpLHIoMTIsbC5JVGhlbWVTZXJ2aWNlKV0sdyl9LDM3ODc6ZnVuY3Rpb24oZSx0LGkpe3ZhciBzPXRoaXMmJnRoaXMuX19kZWNvcmF0ZXx8ZnVuY3Rpb24oZSx0LGkscyl7dmFyIHIsbj1hcmd1bWVudHMubGVuZ3RoLG89bjwzP3Q6bnVsbD09PXM/cz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsaSk6cztpZihcIm9iamVjdFwiPT10eXBlb2YgUmVmbGVjdCYmXCJmdW5jdGlvblwiPT10eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSlvPVJlZmxlY3QuZGVjb3JhdGUoZSx0LGkscyk7ZWxzZSBmb3IodmFyIGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkocj1lW2FdKSYmKG89KG48Mz9yKG8pOm4+Mz9yKHQsaSxvKTpyKHQsaSkpfHxvKTtyZXR1cm4gbj4zJiZvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxpLG8pLG99LHI9dGhpcyYmdGhpcy5fX3BhcmFtfHxmdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihpLHMpe3QoaSxzLGUpfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5Eb21SZW5kZXJlclJvd0ZhY3Rvcnk9dm9pZCAwO2NvbnN0IG49aSgyMjIzKSxvPWkoNjQzKSxhPWkoNTExKSxoPWkoMjU4NSksYz1pKDgwNTUpLGw9aSg0NzI1KSxkPWkoNDI2OSksXz1pKDYxNzEpLHU9aSgzNzM0KTtsZXQgZj10LkRvbVJlbmRlcmVyUm93RmFjdG9yeT1jbGFzc3tjb25zdHJ1Y3RvcihlLHQsaSxzLHIsbixvKXt0aGlzLl9kb2N1bWVudD1lLHRoaXMuX2NoYXJhY3RlckpvaW5lclNlcnZpY2U9dCx0aGlzLl9vcHRpb25zU2VydmljZT1pLHRoaXMuX2NvcmVCcm93c2VyU2VydmljZT1zLHRoaXMuX2NvcmVTZXJ2aWNlPXIsdGhpcy5fZGVjb3JhdGlvblNlcnZpY2U9bix0aGlzLl90aGVtZVNlcnZpY2U9byx0aGlzLl93b3JrQ2VsbD1uZXcgYS5DZWxsRGF0YSx0aGlzLl9jb2x1bW5TZWxlY3RNb2RlPSExLHRoaXMuZGVmYXVsdFNwYWNpbmc9MH1oYW5kbGVTZWxlY3Rpb25DaGFuZ2VkKGUsdCxpKXt0aGlzLl9zZWxlY3Rpb25TdGFydD1lLHRoaXMuX3NlbGVjdGlvbkVuZD10LHRoaXMuX2NvbHVtblNlbGVjdE1vZGU9aX1jcmVhdGVSb3coZSx0LGkscyxyLGEsaCxsLF8sZixwKXtjb25zdCBnPVtdLG09dGhpcy5fY2hhcmFjdGVySm9pbmVyU2VydmljZS5nZXRKb2luZWRDaGFyYWN0ZXJzKHQpLFM9dGhpcy5fdGhlbWVTZXJ2aWNlLmNvbG9ycztsZXQgQyxiPWUuZ2V0Tm9CZ1RyaW1tZWRMZW5ndGgoKTtpJiZiPGErMSYmKGI9YSsxKTtsZXQgdz0wLHk9XCJcIixFPTAsaz0wLEw9MCxEPSExLFI9MCx4PSExLEE9MDtjb25zdCBCPVtdLFQ9LTEhPT1mJiYtMSE9PXA7Zm9yKGxldCBNPTA7TTxiO00rKyl7ZS5sb2FkQ2VsbChNLHRoaXMuX3dvcmtDZWxsKTtsZXQgYj10aGlzLl93b3JrQ2VsbC5nZXRXaWR0aCgpO2lmKDA9PT1iKWNvbnRpbnVlO2xldCBPPSExLFA9TSxJPXRoaXMuX3dvcmtDZWxsO2lmKG0ubGVuZ3RoPjAmJk09PT1tWzBdWzBdKXtPPSEwO2NvbnN0IHQ9bS5zaGlmdCgpO0k9bmV3IGQuSm9pbmVkQ2VsbERhdGEodGhpcy5fd29ya0NlbGwsZS50cmFuc2xhdGVUb1N0cmluZyghMCx0WzBdLHRbMV0pLHRbMV0tdFswXSksUD10WzFdLTEsYj1JLmdldFdpZHRoKCl9Y29uc3QgSD10aGlzLl9pc0NlbGxJblNlbGVjdGlvbihNLHQpLEY9aSYmTT09PWEsVz1UJiZNPj1mJiZNPD1wO2xldCBVPSExO3RoaXMuX2RlY29yYXRpb25TZXJ2aWNlLmZvckVhY2hEZWNvcmF0aW9uQXRDZWxsKE0sdCx2b2lkIDAsKGU9PntVPSEwfSkpO2xldCBOPUkuZ2V0Q2hhcnMoKXx8by5XSElURVNQQUNFX0NFTExfQ0hBUjtpZihcIiBcIj09PU4mJihJLmlzVW5kZXJsaW5lKCl8fEkuaXNPdmVybGluZSgpKSYmKE49XCLCoFwiKSxBPWIqbC1fLmdldChOLEkuaXNCb2xkKCksSS5pc0l0YWxpYygpKSxDKXtpZih3JiYoSCYmeHx8IUgmJiF4JiZJLmJnPT09RSkmJihIJiZ4JiZTLnNlbGVjdGlvbkZvcmVncm91bmR8fEkuZmc9PT1rKSYmSS5leHRlbmRlZC5leHQ9PT1MJiZXPT09RCYmQT09PVImJiFGJiYhTyYmIVUpe0kuaXNJbnZpc2libGUoKT95Kz1vLldISVRFU1BBQ0VfQ0VMTF9DSEFSOnkrPU4sdysrO2NvbnRpbnVlfXcmJihDLnRleHRDb250ZW50PXkpLEM9dGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNwYW5cIiksdz0wLHk9XCJcIn1lbHNlIEM9dGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNwYW5cIik7aWYoRT1JLmJnLGs9SS5mZyxMPUkuZXh0ZW5kZWQuZXh0LEQ9VyxSPUEseD1ILE8mJmE+PU0mJmE8PVAmJihhPU0pLCF0aGlzLl9jb3JlU2VydmljZS5pc0N1cnNvckhpZGRlbiYmRiYmdGhpcy5fY29yZVNlcnZpY2UuaXNDdXJzb3JJbml0aWFsaXplZClpZihCLnB1c2goXCJ4dGVybS1jdXJzb3JcIiksdGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlLmlzRm9jdXNlZCloJiZCLnB1c2goXCJ4dGVybS1jdXJzb3ItYmxpbmtcIiksQi5wdXNoKFwiYmFyXCI9PT1zP1wieHRlcm0tY3Vyc29yLWJhclwiOlwidW5kZXJsaW5lXCI9PT1zP1wieHRlcm0tY3Vyc29yLXVuZGVybGluZVwiOlwieHRlcm0tY3Vyc29yLWJsb2NrXCIpO2Vsc2UgaWYocilzd2l0Y2gocil7Y2FzZVwib3V0bGluZVwiOkIucHVzaChcInh0ZXJtLWN1cnNvci1vdXRsaW5lXCIpO2JyZWFrO2Nhc2VcImJsb2NrXCI6Qi5wdXNoKFwieHRlcm0tY3Vyc29yLWJsb2NrXCIpO2JyZWFrO2Nhc2VcImJhclwiOkIucHVzaChcInh0ZXJtLWN1cnNvci1iYXJcIik7YnJlYWs7Y2FzZVwidW5kZXJsaW5lXCI6Qi5wdXNoKFwieHRlcm0tY3Vyc29yLXVuZGVybGluZVwiKX1pZihJLmlzQm9sZCgpJiZCLnB1c2goXCJ4dGVybS1ib2xkXCIpLEkuaXNJdGFsaWMoKSYmQi5wdXNoKFwieHRlcm0taXRhbGljXCIpLEkuaXNEaW0oKSYmQi5wdXNoKFwieHRlcm0tZGltXCIpLHk9SS5pc0ludmlzaWJsZSgpP28uV0hJVEVTUEFDRV9DRUxMX0NIQVI6SS5nZXRDaGFycygpfHxvLldISVRFU1BBQ0VfQ0VMTF9DSEFSLEkuaXNVbmRlcmxpbmUoKSYmKEIucHVzaChgeHRlcm0tdW5kZXJsaW5lLSR7SS5leHRlbmRlZC51bmRlcmxpbmVTdHlsZX1gKSxcIiBcIj09PXkmJih5PVwiwqBcIiksIUkuaXNVbmRlcmxpbmVDb2xvckRlZmF1bHQoKSkpaWYoSS5pc1VuZGVybGluZUNvbG9yUkdCKCkpQy5zdHlsZS50ZXh0RGVjb3JhdGlvbkNvbG9yPWByZ2IoJHt1LkF0dHJpYnV0ZURhdGEudG9Db2xvclJHQihJLmdldFVuZGVybGluZUNvbG9yKCkpLmpvaW4oXCIsXCIpfSlgO2Vsc2V7bGV0IGU9SS5nZXRVbmRlcmxpbmVDb2xvcigpO3RoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuZHJhd0JvbGRUZXh0SW5CcmlnaHRDb2xvcnMmJkkuaXNCb2xkKCkmJmU8OCYmKGUrPTgpLEMuc3R5bGUudGV4dERlY29yYXRpb25Db2xvcj1TLmFuc2lbZV0uY3NzfUkuaXNPdmVybGluZSgpJiYoQi5wdXNoKFwieHRlcm0tb3ZlcmxpbmVcIiksXCIgXCI9PT15JiYoeT1cIsKgXCIpKSxJLmlzU3RyaWtldGhyb3VnaCgpJiZCLnB1c2goXCJ4dGVybS1zdHJpa2V0aHJvdWdoXCIpLFcmJihDLnN0eWxlLnRleHREZWNvcmF0aW9uPVwidW5kZXJsaW5lXCIpO2xldCAkPUkuZ2V0RmdDb2xvcigpLGo9SS5nZXRGZ0NvbG9yTW9kZSgpLHo9SS5nZXRCZ0NvbG9yKCksSz1JLmdldEJnQ29sb3JNb2RlKCk7Y29uc3QgcT0hIUkuaXNJbnZlcnNlKCk7aWYocSl7Y29uc3QgZT0kOyQ9eix6PWU7Y29uc3QgdD1qO2o9SyxLPXR9bGV0IFYsRyxYLEo9ITE7c3dpdGNoKHRoaXMuX2RlY29yYXRpb25TZXJ2aWNlLmZvckVhY2hEZWNvcmF0aW9uQXRDZWxsKE0sdCx2b2lkIDAsKGU9PntcInRvcFwiIT09ZS5vcHRpb25zLmxheWVyJiZKfHwoZS5iYWNrZ3JvdW5kQ29sb3JSR0ImJihLPTUwMzMxNjQ4LHo9ZS5iYWNrZ3JvdW5kQ29sb3JSR0IucmdiYT4+OCYxNjc3NzIxNSxWPWUuYmFja2dyb3VuZENvbG9yUkdCKSxlLmZvcmVncm91bmRDb2xvclJHQiYmKGo9NTAzMzE2NDgsJD1lLmZvcmVncm91bmRDb2xvclJHQi5yZ2JhPj44JjE2Nzc3MjE1LEc9ZS5mb3JlZ3JvdW5kQ29sb3JSR0IpLEo9XCJ0b3BcIj09PWUub3B0aW9ucy5sYXllcil9KSksIUomJkgmJihWPXRoaXMuX2NvcmVCcm93c2VyU2VydmljZS5pc0ZvY3VzZWQ/Uy5zZWxlY3Rpb25CYWNrZ3JvdW5kT3BhcXVlOlMuc2VsZWN0aW9uSW5hY3RpdmVCYWNrZ3JvdW5kT3BhcXVlLHo9Vi5yZ2JhPj44JjE2Nzc3MjE1LEs9NTAzMzE2NDgsSj0hMCxTLnNlbGVjdGlvbkZvcmVncm91bmQmJihqPTUwMzMxNjQ4LCQ9Uy5zZWxlY3Rpb25Gb3JlZ3JvdW5kLnJnYmE+PjgmMTY3NzcyMTUsRz1TLnNlbGVjdGlvbkZvcmVncm91bmQpKSxKJiZCLnB1c2goXCJ4dGVybS1kZWNvcmF0aW9uLXRvcFwiKSxLKXtjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6WD1TLmFuc2lbel0sQi5wdXNoKGB4dGVybS1iZy0ke3p9YCk7YnJlYWs7Y2FzZSA1MDMzMTY0ODpYPWMuY2hhbm5lbHMudG9Db2xvcih6Pj4xNix6Pj44JjI1NSwyNTUmeiksdGhpcy5fYWRkU3R5bGUoQyxgYmFja2dyb3VuZC1jb2xvcjojJHt2KCh6Pj4+MCkudG9TdHJpbmcoMTYpLFwiMFwiLDYpfWApO2JyZWFrO2RlZmF1bHQ6cT8oWD1TLmZvcmVncm91bmQsQi5wdXNoKGB4dGVybS1iZy0ke24uSU5WRVJURURfREVGQVVMVF9DT0xPUn1gKSk6WD1TLmJhY2tncm91bmR9c3dpdGNoKFZ8fEkuaXNEaW0oKSYmKFY9Yy5jb2xvci5tdWx0aXBseU9wYWNpdHkoWCwuNSkpLGope2Nhc2UgMTY3NzcyMTY6Y2FzZSAzMzU1NDQzMjpJLmlzQm9sZCgpJiYkPDgmJnRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuZHJhd0JvbGRUZXh0SW5CcmlnaHRDb2xvcnMmJigkKz04KSx0aGlzLl9hcHBseU1pbmltdW1Db250cmFzdChDLFgsUy5hbnNpWyRdLEksVix2b2lkIDApfHxCLnB1c2goYHh0ZXJtLWZnLSR7JH1gKTticmVhaztjYXNlIDUwMzMxNjQ4OmNvbnN0IGU9Yy5jaGFubmVscy50b0NvbG9yKCQ+PjE2JjI1NSwkPj44JjI1NSwyNTUmJCk7dGhpcy5fYXBwbHlNaW5pbXVtQ29udHJhc3QoQyxYLGUsSSxWLEcpfHx0aGlzLl9hZGRTdHlsZShDLGBjb2xvcjojJHt2KCQudG9TdHJpbmcoMTYpLFwiMFwiLDYpfWApO2JyZWFrO2RlZmF1bHQ6dGhpcy5fYXBwbHlNaW5pbXVtQ29udHJhc3QoQyxYLFMuZm9yZWdyb3VuZCxJLFYsRyl8fHEmJkIucHVzaChgeHRlcm0tZmctJHtuLklOVkVSVEVEX0RFRkFVTFRfQ09MT1J9YCl9Qi5sZW5ndGgmJihDLmNsYXNzTmFtZT1CLmpvaW4oXCIgXCIpLEIubGVuZ3RoPTApLEZ8fE98fFU/Qy50ZXh0Q29udGVudD15OncrKyxBIT09dGhpcy5kZWZhdWx0U3BhY2luZyYmKEMuc3R5bGUubGV0dGVyU3BhY2luZz1gJHtBfXB4YCksZy5wdXNoKEMpLE09UH1yZXR1cm4gQyYmdyYmKEMudGV4dENvbnRlbnQ9eSksZ31fYXBwbHlNaW5pbXVtQ29udHJhc3QoZSx0LGkscyxyLG4pe2lmKDE9PT10aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLm1pbmltdW1Db250cmFzdFJhdGlvfHwoMCxfLnRyZWF0R2x5cGhBc0JhY2tncm91bmRDb2xvcikocy5nZXRDb2RlKCkpKXJldHVybiExO2NvbnN0IG89dGhpcy5fZ2V0Q29udHJhc3RDYWNoZShzKTtsZXQgYTtpZihyfHxufHwoYT1vLmdldENvbG9yKHQucmdiYSxpLnJnYmEpKSx2b2lkIDA9PT1hKXtjb25zdCBlPXRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMubWluaW11bUNvbnRyYXN0UmF0aW8vKHMuaXNEaW0oKT8yOjEpO2E9Yy5jb2xvci5lbnN1cmVDb250cmFzdFJhdGlvKHJ8fHQsbnx8aSxlKSxvLnNldENvbG9yKChyfHx0KS5yZ2JhLChufHxpKS5yZ2JhLGE/P251bGwpfXJldHVybiEhYSYmKHRoaXMuX2FkZFN0eWxlKGUsYGNvbG9yOiR7YS5jc3N9YCksITApfV9nZXRDb250cmFzdENhY2hlKGUpe3JldHVybiBlLmlzRGltKCk/dGhpcy5fdGhlbWVTZXJ2aWNlLmNvbG9ycy5oYWxmQ29udHJhc3RDYWNoZTp0aGlzLl90aGVtZVNlcnZpY2UuY29sb3JzLmNvbnRyYXN0Q2FjaGV9X2FkZFN0eWxlKGUsdCl7ZS5zZXRBdHRyaWJ1dGUoXCJzdHlsZVwiLGAke2UuZ2V0QXR0cmlidXRlKFwic3R5bGVcIil8fFwiXCJ9JHt0fTtgKX1faXNDZWxsSW5TZWxlY3Rpb24oZSx0KXtjb25zdCBpPXRoaXMuX3NlbGVjdGlvblN0YXJ0LHM9dGhpcy5fc2VsZWN0aW9uRW5kO3JldHVybiEoIWl8fCFzKSYmKHRoaXMuX2NvbHVtblNlbGVjdE1vZGU/aVswXTw9c1swXT9lPj1pWzBdJiZ0Pj1pWzFdJiZlPHNbMF0mJnQ8PXNbMV06ZTxpWzBdJiZ0Pj1pWzFdJiZlPj1zWzBdJiZ0PD1zWzFdOnQ+aVsxXSYmdDxzWzFdfHxpWzFdPT09c1sxXSYmdD09PWlbMV0mJmU+PWlbMF0mJmU8c1swXXx8aVsxXTxzWzFdJiZ0PT09c1sxXSYmZTxzWzBdfHxpWzFdPHNbMV0mJnQ9PT1pWzFdJiZlPj1pWzBdKX19O2Z1bmN0aW9uIHYoZSx0LGkpe2Zvcig7ZS5sZW5ndGg8aTspZT10K2U7cmV0dXJuIGV9dC5Eb21SZW5kZXJlclJvd0ZhY3Rvcnk9Zj1zKFtyKDEsbC5JQ2hhcmFjdGVySm9pbmVyU2VydmljZSkscigyLGguSU9wdGlvbnNTZXJ2aWNlKSxyKDMsbC5JQ29yZUJyb3dzZXJTZXJ2aWNlKSxyKDQsaC5JQ29yZVNlcnZpY2UpLHIoNSxoLklEZWNvcmF0aW9uU2VydmljZSkscig2LGwuSVRoZW1lU2VydmljZSldLGYpfSwyNTUwOihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5XaWR0aENhY2hlPXZvaWQgMCx0LldpZHRoQ2FjaGU9Y2xhc3N7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9mbGF0PW5ldyBGbG9hdDMyQXJyYXkoMjU2KSx0aGlzLl9mb250PVwiXCIsdGhpcy5fZm9udFNpemU9MCx0aGlzLl93ZWlnaHQ9XCJub3JtYWxcIix0aGlzLl93ZWlnaHRCb2xkPVwiYm9sZFwiLHRoaXMuX21lYXN1cmVFbGVtZW50cz1bXSx0aGlzLl9jb250YWluZXI9ZS5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLHRoaXMuX2NvbnRhaW5lci5jbGFzc0xpc3QuYWRkKFwieHRlcm0td2lkdGgtY2FjaGUtbWVhc3VyZS1jb250YWluZXJcIiksdGhpcy5fY29udGFpbmVyLnNldEF0dHJpYnV0ZShcImFyaWEtaGlkZGVuXCIsXCJ0cnVlXCIpLHRoaXMuX2NvbnRhaW5lci5zdHlsZS53aGl0ZVNwYWNlPVwicHJlXCIsdGhpcy5fY29udGFpbmVyLnN0eWxlLmZvbnRLZXJuaW5nPVwibm9uZVwiO2NvbnN0IGk9ZS5jcmVhdGVFbGVtZW50KFwic3BhblwiKTtpLmNsYXNzTGlzdC5hZGQoXCJ4dGVybS1jaGFyLW1lYXN1cmUtZWxlbWVudFwiKTtjb25zdCBzPWUuY3JlYXRlRWxlbWVudChcInNwYW5cIik7cy5jbGFzc0xpc3QuYWRkKFwieHRlcm0tY2hhci1tZWFzdXJlLWVsZW1lbnRcIikscy5zdHlsZS5mb250V2VpZ2h0PVwiYm9sZFwiO2NvbnN0IHI9ZS5jcmVhdGVFbGVtZW50KFwic3BhblwiKTtyLmNsYXNzTGlzdC5hZGQoXCJ4dGVybS1jaGFyLW1lYXN1cmUtZWxlbWVudFwiKSxyLnN0eWxlLmZvbnRTdHlsZT1cIml0YWxpY1wiO2NvbnN0IG49ZS5jcmVhdGVFbGVtZW50KFwic3BhblwiKTtuLmNsYXNzTGlzdC5hZGQoXCJ4dGVybS1jaGFyLW1lYXN1cmUtZWxlbWVudFwiKSxuLnN0eWxlLmZvbnRXZWlnaHQ9XCJib2xkXCIsbi5zdHlsZS5mb250U3R5bGU9XCJpdGFsaWNcIix0aGlzLl9tZWFzdXJlRWxlbWVudHM9W2kscyxyLG5dLHRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChpKSx0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQocyksdGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKHIpLHRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChuKSx0LmFwcGVuZENoaWxkKHRoaXMuX2NvbnRhaW5lciksdGhpcy5jbGVhcigpfWRpc3Bvc2UoKXt0aGlzLl9jb250YWluZXIucmVtb3ZlKCksdGhpcy5fbWVhc3VyZUVsZW1lbnRzLmxlbmd0aD0wLHRoaXMuX2hvbGV5PXZvaWQgMH1jbGVhcigpe3RoaXMuX2ZsYXQuZmlsbCgtOTk5OSksdGhpcy5faG9sZXk9bmV3IE1hcH1zZXRGb250KGUsdCxpLHMpe2U9PT10aGlzLl9mb250JiZ0PT09dGhpcy5fZm9udFNpemUmJmk9PT10aGlzLl93ZWlnaHQmJnM9PT10aGlzLl93ZWlnaHRCb2xkfHwodGhpcy5fZm9udD1lLHRoaXMuX2ZvbnRTaXplPXQsdGhpcy5fd2VpZ2h0PWksdGhpcy5fd2VpZ2h0Qm9sZD1zLHRoaXMuX2NvbnRhaW5lci5zdHlsZS5mb250RmFtaWx5PXRoaXMuX2ZvbnQsdGhpcy5fY29udGFpbmVyLnN0eWxlLmZvbnRTaXplPWAke3RoaXMuX2ZvbnRTaXplfXB4YCx0aGlzLl9tZWFzdXJlRWxlbWVudHNbMF0uc3R5bGUuZm9udFdlaWdodD1gJHtpfWAsdGhpcy5fbWVhc3VyZUVsZW1lbnRzWzFdLnN0eWxlLmZvbnRXZWlnaHQ9YCR7c31gLHRoaXMuX21lYXN1cmVFbGVtZW50c1syXS5zdHlsZS5mb250V2VpZ2h0PWAke2l9YCx0aGlzLl9tZWFzdXJlRWxlbWVudHNbM10uc3R5bGUuZm9udFdlaWdodD1gJHtzfWAsdGhpcy5jbGVhcigpKX1nZXQoZSx0LGkpe2xldCBzPTA7aWYoIXQmJiFpJiYxPT09ZS5sZW5ndGgmJihzPWUuY2hhckNvZGVBdCgwKSk8MjU2KXtpZigtOTk5OSE9PXRoaXMuX2ZsYXRbc10pcmV0dXJuIHRoaXMuX2ZsYXRbc107Y29uc3QgdD10aGlzLl9tZWFzdXJlKGUsMCk7cmV0dXJuIHQ+MCYmKHRoaXMuX2ZsYXRbc109dCksdH1sZXQgcj1lO3QmJihyKz1cIkJcIiksaSYmKHIrPVwiSVwiKTtsZXQgbj10aGlzLl9ob2xleS5nZXQocik7aWYodm9pZCAwPT09bil7bGV0IHM9MDt0JiYoc3w9MSksaSYmKHN8PTIpLG49dGhpcy5fbWVhc3VyZShlLHMpLG4+MCYmdGhpcy5faG9sZXkuc2V0KHIsbil9cmV0dXJuIG59X21lYXN1cmUoZSx0KXtjb25zdCBpPXRoaXMuX21lYXN1cmVFbGVtZW50c1t0XTtyZXR1cm4gaS50ZXh0Q29udGVudD1lLnJlcGVhdCgzMiksaS5vZmZzZXRXaWR0aC8zMn19fSwyMjIzOihlLHQsaSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LlRFWFRfQkFTRUxJTkU9dC5ESU1fT1BBQ0lUWT10LklOVkVSVEVEX0RFRkFVTFRfQ09MT1I9dm9pZCAwO2NvbnN0IHM9aSg2MTE0KTt0LklOVkVSVEVEX0RFRkFVTFRfQ09MT1I9MjU3LHQuRElNX09QQUNJVFk9LjUsdC5URVhUX0JBU0VMSU5FPXMuaXNGaXJlZm94fHxzLmlzTGVnYWN5RWRnZT9cImJvdHRvbVwiOlwiaWRlb2dyYXBoaWNcIn0sNjE3MTooZSx0KT0+e2Z1bmN0aW9uIGkoZSl7cmV0dXJuIDU3NTA4PD1lJiZlPD01NzU1OH1mdW5jdGlvbiBzKGUpe3JldHVybiBlPj0xMjg1MTImJmU8PTEyODU5MXx8ZT49MTI3NzQ0JiZlPD0xMjg1MTF8fGU+PTEyODY0MCYmZTw9MTI4NzY3fHxlPj05NzI4JiZlPD05OTgzfHxlPj05OTg0JiZlPD0xMDE3NXx8ZT49NjUwMjQmJmU8PTY1MDM5fHxlPj0xMjkyODAmJmU8PTEyOTUzNXx8ZT49MTI3NDYyJiZlPD0xMjc0ODd9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5jb21wdXRlTmV4dFZhcmlhbnRPZmZzZXQ9dC5jcmVhdGVSZW5kZXJEaW1lbnNpb25zPXQudHJlYXRHbHlwaEFzQmFja2dyb3VuZENvbG9yPXQuYWxsb3dSZXNjYWxpbmc9dC5pc0Vtb2ppPXQuaXNSZXN0cmljdGVkUG93ZXJsaW5lR2x5cGg9dC5pc1Bvd2VybGluZUdseXBoPXQudGhyb3dJZkZhbHN5PXZvaWQgMCx0LnRocm93SWZGYWxzeT1mdW5jdGlvbihlKXtpZighZSl0aHJvdyBuZXcgRXJyb3IoXCJ2YWx1ZSBtdXN0IG5vdCBiZSBmYWxzeVwiKTtyZXR1cm4gZX0sdC5pc1Bvd2VybGluZUdseXBoPWksdC5pc1Jlc3RyaWN0ZWRQb3dlcmxpbmVHbHlwaD1mdW5jdGlvbihlKXtyZXR1cm4gNTc1MjA8PWUmJmU8PTU3NTI3fSx0LmlzRW1vamk9cyx0LmFsbG93UmVzY2FsaW5nPWZ1bmN0aW9uKGUsdCxyLG4pe3JldHVybiAxPT09dCYmcj5NYXRoLmNlaWwoMS41Km4pJiZ2b2lkIDAhPT1lJiZlPjI1NSYmIXMoZSkmJiFpKGUpJiYhZnVuY3Rpb24oZSl7cmV0dXJuIDU3MzQ0PD1lJiZlPD02Mzc0M30oZSl9LHQudHJlYXRHbHlwaEFzQmFja2dyb3VuZENvbG9yPWZ1bmN0aW9uKGUpe3JldHVybiBpKGUpfHxmdW5jdGlvbihlKXtyZXR1cm4gOTQ3Mjw9ZSYmZTw9OTYzMX0oZSl9LHQuY3JlYXRlUmVuZGVyRGltZW5zaW9ucz1mdW5jdGlvbigpe3JldHVybntjc3M6e2NhbnZhczp7d2lkdGg6MCxoZWlnaHQ6MH0sY2VsbDp7d2lkdGg6MCxoZWlnaHQ6MH19LGRldmljZTp7Y2FudmFzOnt3aWR0aDowLGhlaWdodDowfSxjZWxsOnt3aWR0aDowLGhlaWdodDowfSxjaGFyOnt3aWR0aDowLGhlaWdodDowLGxlZnQ6MCx0b3A6MH19fX0sdC5jb21wdXRlTmV4dFZhcmlhbnRPZmZzZXQ9ZnVuY3Rpb24oZSx0LGk9MCl7cmV0dXJuKGUtKDIqTWF0aC5yb3VuZCh0KS1pKSklKDIqTWF0aC5yb3VuZCh0KSl9fSw2MDUyOihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5jcmVhdGVTZWxlY3Rpb25SZW5kZXJNb2RlbD12b2lkIDA7Y2xhc3MgaXtjb25zdHJ1Y3Rvcigpe3RoaXMuY2xlYXIoKX1jbGVhcigpe3RoaXMuaGFzU2VsZWN0aW9uPSExLHRoaXMuY29sdW1uU2VsZWN0TW9kZT0hMSx0aGlzLnZpZXdwb3J0U3RhcnRSb3c9MCx0aGlzLnZpZXdwb3J0RW5kUm93PTAsdGhpcy52aWV3cG9ydENhcHBlZFN0YXJ0Um93PTAsdGhpcy52aWV3cG9ydENhcHBlZEVuZFJvdz0wLHRoaXMuc3RhcnRDb2w9MCx0aGlzLmVuZENvbD0wLHRoaXMuc2VsZWN0aW9uU3RhcnQ9dm9pZCAwLHRoaXMuc2VsZWN0aW9uRW5kPXZvaWQgMH11cGRhdGUoZSx0LGkscz0hMSl7aWYodGhpcy5zZWxlY3Rpb25TdGFydD10LHRoaXMuc2VsZWN0aW9uRW5kPWksIXR8fCFpfHx0WzBdPT09aVswXSYmdFsxXT09PWlbMV0pcmV0dXJuIHZvaWQgdGhpcy5jbGVhcigpO2NvbnN0IHI9ZS5idWZmZXJzLmFjdGl2ZS55ZGlzcCxuPXRbMV0tcixvPWlbMV0tcixhPU1hdGgubWF4KG4sMCksaD1NYXRoLm1pbihvLGUucm93cy0xKTthPj1lLnJvd3N8fGg8MD90aGlzLmNsZWFyKCk6KHRoaXMuaGFzU2VsZWN0aW9uPSEwLHRoaXMuY29sdW1uU2VsZWN0TW9kZT1zLHRoaXMudmlld3BvcnRTdGFydFJvdz1uLHRoaXMudmlld3BvcnRFbmRSb3c9byx0aGlzLnZpZXdwb3J0Q2FwcGVkU3RhcnRSb3c9YSx0aGlzLnZpZXdwb3J0Q2FwcGVkRW5kUm93PWgsdGhpcy5zdGFydENvbD10WzBdLHRoaXMuZW5kQ29sPWlbMF0pfWlzQ2VsbFNlbGVjdGVkKGUsdCxpKXtyZXR1cm4hIXRoaXMuaGFzU2VsZWN0aW9uJiYoaS09ZS5idWZmZXIuYWN0aXZlLnZpZXdwb3J0WSx0aGlzLmNvbHVtblNlbGVjdE1vZGU/dGhpcy5zdGFydENvbDw9dGhpcy5lbmRDb2w/dD49dGhpcy5zdGFydENvbCYmaT49dGhpcy52aWV3cG9ydENhcHBlZFN0YXJ0Um93JiZ0PHRoaXMuZW5kQ29sJiZpPD10aGlzLnZpZXdwb3J0Q2FwcGVkRW5kUm93OnQ8dGhpcy5zdGFydENvbCYmaT49dGhpcy52aWV3cG9ydENhcHBlZFN0YXJ0Um93JiZ0Pj10aGlzLmVuZENvbCYmaTw9dGhpcy52aWV3cG9ydENhcHBlZEVuZFJvdzppPnRoaXMudmlld3BvcnRTdGFydFJvdyYmaTx0aGlzLnZpZXdwb3J0RW5kUm93fHx0aGlzLnZpZXdwb3J0U3RhcnRSb3c9PT10aGlzLnZpZXdwb3J0RW5kUm93JiZpPT09dGhpcy52aWV3cG9ydFN0YXJ0Um93JiZ0Pj10aGlzLnN0YXJ0Q29sJiZ0PHRoaXMuZW5kQ29sfHx0aGlzLnZpZXdwb3J0U3RhcnRSb3c8dGhpcy52aWV3cG9ydEVuZFJvdyYmaT09PXRoaXMudmlld3BvcnRFbmRSb3cmJnQ8dGhpcy5lbmRDb2x8fHRoaXMudmlld3BvcnRTdGFydFJvdzx0aGlzLnZpZXdwb3J0RW5kUm93JiZpPT09dGhpcy52aWV3cG9ydFN0YXJ0Um93JiZ0Pj10aGlzLnN0YXJ0Q29sKX19dC5jcmVhdGVTZWxlY3Rpb25SZW5kZXJNb2RlbD1mdW5jdGlvbigpe3JldHVybiBuZXcgaX19LDQ1NjooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuU2VsZWN0aW9uTW9kZWw9dm9pZCAwLHQuU2VsZWN0aW9uTW9kZWw9Y2xhc3N7Y29uc3RydWN0b3IoZSl7dGhpcy5fYnVmZmVyU2VydmljZT1lLHRoaXMuaXNTZWxlY3RBbGxBY3RpdmU9ITEsdGhpcy5zZWxlY3Rpb25TdGFydExlbmd0aD0wfWNsZWFyU2VsZWN0aW9uKCl7dGhpcy5zZWxlY3Rpb25TdGFydD12b2lkIDAsdGhpcy5zZWxlY3Rpb25FbmQ9dm9pZCAwLHRoaXMuaXNTZWxlY3RBbGxBY3RpdmU9ITEsdGhpcy5zZWxlY3Rpb25TdGFydExlbmd0aD0wfWdldCBmaW5hbFNlbGVjdGlvblN0YXJ0KCl7cmV0dXJuIHRoaXMuaXNTZWxlY3RBbGxBY3RpdmU/WzAsMF06dGhpcy5zZWxlY3Rpb25FbmQmJnRoaXMuc2VsZWN0aW9uU3RhcnQmJnRoaXMuYXJlU2VsZWN0aW9uVmFsdWVzUmV2ZXJzZWQoKT90aGlzLnNlbGVjdGlvbkVuZDp0aGlzLnNlbGVjdGlvblN0YXJ0fWdldCBmaW5hbFNlbGVjdGlvbkVuZCgpe2lmKHRoaXMuaXNTZWxlY3RBbGxBY3RpdmUpcmV0dXJuW3RoaXMuX2J1ZmZlclNlcnZpY2UuY29scyx0aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci55YmFzZSt0aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MtMV07aWYodGhpcy5zZWxlY3Rpb25TdGFydCl7aWYoIXRoaXMuc2VsZWN0aW9uRW5kfHx0aGlzLmFyZVNlbGVjdGlvblZhbHVlc1JldmVyc2VkKCkpe2NvbnN0IGU9dGhpcy5zZWxlY3Rpb25TdGFydFswXSt0aGlzLnNlbGVjdGlvblN0YXJ0TGVuZ3RoO3JldHVybiBlPnRoaXMuX2J1ZmZlclNlcnZpY2UuY29scz9lJXRoaXMuX2J1ZmZlclNlcnZpY2UuY29scz09MD9bdGhpcy5fYnVmZmVyU2VydmljZS5jb2xzLHRoaXMuc2VsZWN0aW9uU3RhcnRbMV0rTWF0aC5mbG9vcihlL3RoaXMuX2J1ZmZlclNlcnZpY2UuY29scyktMV06W2UldGhpcy5fYnVmZmVyU2VydmljZS5jb2xzLHRoaXMuc2VsZWN0aW9uU3RhcnRbMV0rTWF0aC5mbG9vcihlL3RoaXMuX2J1ZmZlclNlcnZpY2UuY29scyldOltlLHRoaXMuc2VsZWN0aW9uU3RhcnRbMV1dfWlmKHRoaXMuc2VsZWN0aW9uU3RhcnRMZW5ndGgmJnRoaXMuc2VsZWN0aW9uRW5kWzFdPT09dGhpcy5zZWxlY3Rpb25TdGFydFsxXSl7Y29uc3QgZT10aGlzLnNlbGVjdGlvblN0YXJ0WzBdK3RoaXMuc2VsZWN0aW9uU3RhcnRMZW5ndGg7cmV0dXJuIGU+dGhpcy5fYnVmZmVyU2VydmljZS5jb2xzP1tlJXRoaXMuX2J1ZmZlclNlcnZpY2UuY29scyx0aGlzLnNlbGVjdGlvblN0YXJ0WzFdK01hdGguZmxvb3IoZS90aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMpXTpbTWF0aC5tYXgoZSx0aGlzLnNlbGVjdGlvbkVuZFswXSksdGhpcy5zZWxlY3Rpb25FbmRbMV1dfXJldHVybiB0aGlzLnNlbGVjdGlvbkVuZH19YXJlU2VsZWN0aW9uVmFsdWVzUmV2ZXJzZWQoKXtjb25zdCBlPXRoaXMuc2VsZWN0aW9uU3RhcnQsdD10aGlzLnNlbGVjdGlvbkVuZDtyZXR1cm4hKCFlfHwhdCkmJihlWzFdPnRbMV18fGVbMV09PT10WzFdJiZlWzBdPnRbMF0pfWhhbmRsZVRyaW0oZSl7cmV0dXJuIHRoaXMuc2VsZWN0aW9uU3RhcnQmJih0aGlzLnNlbGVjdGlvblN0YXJ0WzFdLT1lKSx0aGlzLnNlbGVjdGlvbkVuZCYmKHRoaXMuc2VsZWN0aW9uRW5kWzFdLT1lKSx0aGlzLnNlbGVjdGlvbkVuZCYmdGhpcy5zZWxlY3Rpb25FbmRbMV08MD8odGhpcy5jbGVhclNlbGVjdGlvbigpLCEwKToodGhpcy5zZWxlY3Rpb25TdGFydCYmdGhpcy5zZWxlY3Rpb25TdGFydFsxXTwwJiYodGhpcy5zZWxlY3Rpb25TdGFydFsxXT0wKSwhMSl9fX0sNDI4OmZ1bmN0aW9uKGUsdCxpKXt2YXIgcz10aGlzJiZ0aGlzLl9fZGVjb3JhdGV8fGZ1bmN0aW9uKGUsdCxpLHMpe3ZhciByLG49YXJndW1lbnRzLmxlbmd0aCxvPW48Mz90Om51bGw9PT1zP3M9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGkpOnM7aWYoXCJvYmplY3RcIj09dHlwZW9mIFJlZmxlY3QmJlwiZnVuY3Rpb25cIj09dHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUpbz1SZWZsZWN0LmRlY29yYXRlKGUsdCxpLHMpO2Vsc2UgZm9yKHZhciBhPWUubGVuZ3RoLTE7YT49MDthLS0pKHI9ZVthXSkmJihvPShuPDM/cihvKTpuPjM/cih0LGksbyk6cih0LGkpKXx8byk7cmV0dXJuIG4+MyYmbyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsaSxvKSxvfSxyPXRoaXMmJnRoaXMuX19wYXJhbXx8ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oaSxzKXt0KGkscyxlKX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuQ2hhclNpemVTZXJ2aWNlPXZvaWQgMDtjb25zdCBuPWkoMjU4NSksbz1pKDg0NjApLGE9aSg4NDQpO2xldCBoPXQuQ2hhclNpemVTZXJ2aWNlPWNsYXNzIGV4dGVuZHMgYS5EaXNwb3NhYmxle2dldCBoYXNWYWxpZFNpemUoKXtyZXR1cm4gdGhpcy53aWR0aD4wJiZ0aGlzLmhlaWdodD4wfWNvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcigpLHRoaXMuX29wdGlvbnNTZXJ2aWNlPWksdGhpcy53aWR0aD0wLHRoaXMuaGVpZ2h0PTAsdGhpcy5fb25DaGFyU2l6ZUNoYW5nZT10aGlzLnJlZ2lzdGVyKG5ldyBvLkV2ZW50RW1pdHRlciksdGhpcy5vbkNoYXJTaXplQ2hhbmdlPXRoaXMuX29uQ2hhclNpemVDaGFuZ2UuZXZlbnQ7dHJ5e3RoaXMuX21lYXN1cmVTdHJhdGVneT10aGlzLnJlZ2lzdGVyKG5ldyBkKHRoaXMuX29wdGlvbnNTZXJ2aWNlKSl9Y2F0Y2h7dGhpcy5fbWVhc3VyZVN0cmF0ZWd5PXRoaXMucmVnaXN0ZXIobmV3IGwoZSx0LHRoaXMuX29wdGlvbnNTZXJ2aWNlKSl9dGhpcy5yZWdpc3Rlcih0aGlzLl9vcHRpb25zU2VydmljZS5vbk11bHRpcGxlT3B0aW9uQ2hhbmdlKFtcImZvbnRGYW1pbHlcIixcImZvbnRTaXplXCJdLCgoKT0+dGhpcy5tZWFzdXJlKCkpKSl9bWVhc3VyZSgpe2NvbnN0IGU9dGhpcy5fbWVhc3VyZVN0cmF0ZWd5Lm1lYXN1cmUoKTtlLndpZHRoPT09dGhpcy53aWR0aCYmZS5oZWlnaHQ9PT10aGlzLmhlaWdodHx8KHRoaXMud2lkdGg9ZS53aWR0aCx0aGlzLmhlaWdodD1lLmhlaWdodCx0aGlzLl9vbkNoYXJTaXplQ2hhbmdlLmZpcmUoKSl9fTt0LkNoYXJTaXplU2VydmljZT1oPXMoW3IoMixuLklPcHRpb25zU2VydmljZSldLGgpO2NsYXNzIGMgZXh0ZW5kcyBhLkRpc3Bvc2FibGV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX3Jlc3VsdD17d2lkdGg6MCxoZWlnaHQ6MH19X3ZhbGlkYXRlQW5kU2V0KGUsdCl7dm9pZCAwIT09ZSYmZT4wJiZ2b2lkIDAhPT10JiZ0PjAmJih0aGlzLl9yZXN1bHQud2lkdGg9ZSx0aGlzLl9yZXN1bHQuaGVpZ2h0PXQpfX1jbGFzcyBsIGV4dGVuZHMgY3tjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoKSx0aGlzLl9kb2N1bWVudD1lLHRoaXMuX3BhcmVudEVsZW1lbnQ9dCx0aGlzLl9vcHRpb25zU2VydmljZT1pLHRoaXMuX21lYXN1cmVFbGVtZW50PXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIpLHRoaXMuX21lYXN1cmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJ4dGVybS1jaGFyLW1lYXN1cmUtZWxlbWVudFwiKSx0aGlzLl9tZWFzdXJlRWxlbWVudC50ZXh0Q29udGVudD1cIldcIi5yZXBlYXQoMzIpLHRoaXMuX21lYXN1cmVFbGVtZW50LnNldEF0dHJpYnV0ZShcImFyaWEtaGlkZGVuXCIsXCJ0cnVlXCIpLHRoaXMuX21lYXN1cmVFbGVtZW50LnN0eWxlLndoaXRlU3BhY2U9XCJwcmVcIix0aGlzLl9tZWFzdXJlRWxlbWVudC5zdHlsZS5mb250S2VybmluZz1cIm5vbmVcIix0aGlzLl9wYXJlbnRFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX21lYXN1cmVFbGVtZW50KX1tZWFzdXJlKCl7cmV0dXJuIHRoaXMuX21lYXN1cmVFbGVtZW50LnN0eWxlLmZvbnRGYW1pbHk9dGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5mb250RmFtaWx5LHRoaXMuX21lYXN1cmVFbGVtZW50LnN0eWxlLmZvbnRTaXplPWAke3RoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuZm9udFNpemV9cHhgLHRoaXMuX3ZhbGlkYXRlQW5kU2V0KE51bWJlcih0aGlzLl9tZWFzdXJlRWxlbWVudC5vZmZzZXRXaWR0aCkvMzIsTnVtYmVyKHRoaXMuX21lYXN1cmVFbGVtZW50Lm9mZnNldEhlaWdodCkpLHRoaXMuX3Jlc3VsdH19Y2xhc3MgZCBleHRlbmRzIGN7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9vcHRpb25zU2VydmljZT1lLHRoaXMuX2NhbnZhcz1uZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwxMDApLHRoaXMuX2N0eD10aGlzLl9jYW52YXMuZ2V0Q29udGV4dChcIjJkXCIpO2NvbnN0IHQ9dGhpcy5fY3R4Lm1lYXN1cmVUZXh0KFwiV1wiKTtpZighKFwid2lkdGhcImluIHQmJlwiZm9udEJvdW5kaW5nQm94QXNjZW50XCJpbiB0JiZcImZvbnRCb3VuZGluZ0JveERlc2NlbnRcImluIHQpKXRocm93IG5ldyBFcnJvcihcIlJlcXVpcmVkIGZvbnQgbWV0cmljcyBub3Qgc3VwcG9ydGVkXCIpfW1lYXN1cmUoKXt0aGlzLl9jdHguZm9udD1gJHt0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmZvbnRTaXplfXB4ICR7dGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5mb250RmFtaWx5fWA7Y29uc3QgZT10aGlzLl9jdHgubWVhc3VyZVRleHQoXCJXXCIpO3JldHVybiB0aGlzLl92YWxpZGF0ZUFuZFNldChlLndpZHRoLGUuZm9udEJvdW5kaW5nQm94QXNjZW50K2UuZm9udEJvdW5kaW5nQm94RGVzY2VudCksdGhpcy5fcmVzdWx0fX19LDQyNjk6ZnVuY3Rpb24oZSx0LGkpe3ZhciBzPXRoaXMmJnRoaXMuX19kZWNvcmF0ZXx8ZnVuY3Rpb24oZSx0LGkscyl7dmFyIHIsbj1hcmd1bWVudHMubGVuZ3RoLG89bjwzP3Q6bnVsbD09PXM/cz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsaSk6cztpZihcIm9iamVjdFwiPT10eXBlb2YgUmVmbGVjdCYmXCJmdW5jdGlvblwiPT10eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSlvPVJlZmxlY3QuZGVjb3JhdGUoZSx0LGkscyk7ZWxzZSBmb3IodmFyIGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkocj1lW2FdKSYmKG89KG48Mz9yKG8pOm4+Mz9yKHQsaSxvKTpyKHQsaSkpfHxvKTtyZXR1cm4gbj4zJiZvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxpLG8pLG99LHI9dGhpcyYmdGhpcy5fX3BhcmFtfHxmdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihpLHMpe3QoaSxzLGUpfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5DaGFyYWN0ZXJKb2luZXJTZXJ2aWNlPXQuSm9pbmVkQ2VsbERhdGE9dm9pZCAwO2NvbnN0IG49aSgzNzM0KSxvPWkoNjQzKSxhPWkoNTExKSxoPWkoMjU4NSk7Y2xhc3MgYyBleHRlbmRzIG4uQXR0cmlidXRlRGF0YXtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoKSx0aGlzLmNvbnRlbnQ9MCx0aGlzLmNvbWJpbmVkRGF0YT1cIlwiLHRoaXMuZmc9ZS5mZyx0aGlzLmJnPWUuYmcsdGhpcy5jb21iaW5lZERhdGE9dCx0aGlzLl93aWR0aD1pfWlzQ29tYmluZWQoKXtyZXR1cm4gMjA5NzE1Mn1nZXRXaWR0aCgpe3JldHVybiB0aGlzLl93aWR0aH1nZXRDaGFycygpe3JldHVybiB0aGlzLmNvbWJpbmVkRGF0YX1nZXRDb2RlKCl7cmV0dXJuIDIwOTcxNTF9c2V0RnJvbUNoYXJEYXRhKGUpe3Rocm93IG5ldyBFcnJvcihcIm5vdCBpbXBsZW1lbnRlZFwiKX1nZXRBc0NoYXJEYXRhKCl7cmV0dXJuW3RoaXMuZmcsdGhpcy5nZXRDaGFycygpLHRoaXMuZ2V0V2lkdGgoKSx0aGlzLmdldENvZGUoKV19fXQuSm9pbmVkQ2VsbERhdGE9YztsZXQgbD10LkNoYXJhY3RlckpvaW5lclNlcnZpY2U9Y2xhc3MgZXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9idWZmZXJTZXJ2aWNlPWUsdGhpcy5fY2hhcmFjdGVySm9pbmVycz1bXSx0aGlzLl9uZXh0Q2hhcmFjdGVySm9pbmVySWQ9MCx0aGlzLl93b3JrQ2VsbD1uZXcgYS5DZWxsRGF0YX1yZWdpc3RlcihlKXtjb25zdCB0PXtpZDp0aGlzLl9uZXh0Q2hhcmFjdGVySm9pbmVySWQrKyxoYW5kbGVyOmV9O3JldHVybiB0aGlzLl9jaGFyYWN0ZXJKb2luZXJzLnB1c2godCksdC5pZH1kZXJlZ2lzdGVyKGUpe2ZvcihsZXQgdD0wO3Q8dGhpcy5fY2hhcmFjdGVySm9pbmVycy5sZW5ndGg7dCsrKWlmKHRoaXMuX2NoYXJhY3RlckpvaW5lcnNbdF0uaWQ9PT1lKXJldHVybiB0aGlzLl9jaGFyYWN0ZXJKb2luZXJzLnNwbGljZSh0LDEpLCEwO3JldHVybiExfWdldEpvaW5lZENoYXJhY3RlcnMoZSl7aWYoMD09PXRoaXMuX2NoYXJhY3RlckpvaW5lcnMubGVuZ3RoKXJldHVybltdO2NvbnN0IHQ9dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIubGluZXMuZ2V0KGUpO2lmKCF0fHwwPT09dC5sZW5ndGgpcmV0dXJuW107Y29uc3QgaT1bXSxzPXQudHJhbnNsYXRlVG9TdHJpbmcoITApO2xldCByPTAsbj0wLGE9MCxoPXQuZ2V0RmcoMCksYz10LmdldEJnKDApO2ZvcihsZXQgZT0wO2U8dC5nZXRUcmltbWVkTGVuZ3RoKCk7ZSsrKWlmKHQubG9hZENlbGwoZSx0aGlzLl93b3JrQ2VsbCksMCE9PXRoaXMuX3dvcmtDZWxsLmdldFdpZHRoKCkpe2lmKHRoaXMuX3dvcmtDZWxsLmZnIT09aHx8dGhpcy5fd29ya0NlbGwuYmchPT1jKXtpZihlLXI+MSl7Y29uc3QgZT10aGlzLl9nZXRKb2luZWRSYW5nZXMocyxhLG4sdCxyKTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKylpLnB1c2goZVt0XSl9cj1lLGE9bixoPXRoaXMuX3dvcmtDZWxsLmZnLGM9dGhpcy5fd29ya0NlbGwuYmd9bis9dGhpcy5fd29ya0NlbGwuZ2V0Q2hhcnMoKS5sZW5ndGh8fG8uV0hJVEVTUEFDRV9DRUxMX0NIQVIubGVuZ3RofWlmKHRoaXMuX2J1ZmZlclNlcnZpY2UuY29scy1yPjEpe2NvbnN0IGU9dGhpcy5fZ2V0Sm9pbmVkUmFuZ2VzKHMsYSxuLHQscik7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspaS5wdXNoKGVbdF0pfXJldHVybiBpfV9nZXRKb2luZWRSYW5nZXModCxpLHMscixuKXtjb25zdCBvPXQuc3Vic3RyaW5nKGkscyk7bGV0IGE9W107dHJ5e2E9dGhpcy5fY2hhcmFjdGVySm9pbmVyc1swXS5oYW5kbGVyKG8pfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoZSl9Zm9yKGxldCB0PTE7dDx0aGlzLl9jaGFyYWN0ZXJKb2luZXJzLmxlbmd0aDt0KyspdHJ5e2NvbnN0IGk9dGhpcy5fY2hhcmFjdGVySm9pbmVyc1t0XS5oYW5kbGVyKG8pO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKWUuX21lcmdlUmFuZ2VzKGEsaVt0XSl9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcihlKX1yZXR1cm4gdGhpcy5fc3RyaW5nUmFuZ2VzVG9DZWxsUmFuZ2VzKGEscixuKSxhfV9zdHJpbmdSYW5nZXNUb0NlbGxSYW5nZXMoZSx0LGkpe2xldCBzPTAscj0hMSxuPTAsYT1lW3NdO2lmKGEpe2ZvcihsZXQgaD1pO2g8dGhpcy5fYnVmZmVyU2VydmljZS5jb2xzO2grKyl7Y29uc3QgaT10LmdldFdpZHRoKGgpLGM9dC5nZXRTdHJpbmcoaCkubGVuZ3RofHxvLldISVRFU1BBQ0VfQ0VMTF9DSEFSLmxlbmd0aDtpZigwIT09aSl7aWYoIXImJmFbMF08PW4mJihhWzBdPWgscj0hMCksYVsxXTw9bil7aWYoYVsxXT1oLGE9ZVsrK3NdLCFhKWJyZWFrO2FbMF08PW4/KGFbMF09aCxyPSEwKTpyPSExfW4rPWN9fWEmJihhWzFdPXRoaXMuX2J1ZmZlclNlcnZpY2UuY29scyl9fXN0YXRpYyBfbWVyZ2VSYW5nZXMoZSx0KXtsZXQgaT0hMTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKyl7Y29uc3Qgcj1lW3NdO2lmKGkpe2lmKHRbMV08PXJbMF0pcmV0dXJuIGVbcy0xXVsxXT10WzFdLGU7aWYodFsxXTw9clsxXSlyZXR1cm4gZVtzLTFdWzFdPU1hdGgubWF4KHRbMV0sclsxXSksZS5zcGxpY2UocywxKSxlO2Uuc3BsaWNlKHMsMSkscy0tfWVsc2V7aWYodFsxXTw9clswXSlyZXR1cm4gZS5zcGxpY2UocywwLHQpLGU7aWYodFsxXTw9clsxXSlyZXR1cm4gclswXT1NYXRoLm1pbih0WzBdLHJbMF0pLGU7dFswXTxyWzFdJiYoclswXT1NYXRoLm1pbih0WzBdLHJbMF0pLGk9ITApfX1yZXR1cm4gaT9lW2UubGVuZ3RoLTFdWzFdPXRbMV06ZS5wdXNoKHQpLGV9fTt0LkNoYXJhY3RlckpvaW5lclNlcnZpY2U9bD1zKFtyKDAsaC5JQnVmZmVyU2VydmljZSldLGwpfSw1MTE0OihlLHQsaSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkNvcmVCcm93c2VyU2VydmljZT12b2lkIDA7Y29uc3Qgcz1pKDg0NCkscj1pKDg0NjApLG49aSgzNjU2KTtjbGFzcyBvIGV4dGVuZHMgcy5EaXNwb3NhYmxle2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcigpLHRoaXMuX3RleHRhcmVhPWUsdGhpcy5fd2luZG93PXQsdGhpcy5tYWluRG9jdW1lbnQ9aSx0aGlzLl9pc0ZvY3VzZWQ9ITEsdGhpcy5fY2FjaGVkSXNGb2N1c2VkPXZvaWQgMCx0aGlzLl9zY3JlZW5EcHJNb25pdG9yPW5ldyBhKHRoaXMuX3dpbmRvdyksdGhpcy5fb25EcHJDaGFuZ2U9dGhpcy5yZWdpc3RlcihuZXcgci5FdmVudEVtaXR0ZXIpLHRoaXMub25EcHJDaGFuZ2U9dGhpcy5fb25EcHJDaGFuZ2UuZXZlbnQsdGhpcy5fb25XaW5kb3dDaGFuZ2U9dGhpcy5yZWdpc3RlcihuZXcgci5FdmVudEVtaXR0ZXIpLHRoaXMub25XaW5kb3dDaGFuZ2U9dGhpcy5fb25XaW5kb3dDaGFuZ2UuZXZlbnQsdGhpcy5yZWdpc3Rlcih0aGlzLm9uV2luZG93Q2hhbmdlKChlPT50aGlzLl9zY3JlZW5EcHJNb25pdG9yLnNldFdpbmRvdyhlKSkpKSx0aGlzLnJlZ2lzdGVyKCgwLHIuZm9yd2FyZEV2ZW50KSh0aGlzLl9zY3JlZW5EcHJNb25pdG9yLm9uRHByQ2hhbmdlLHRoaXMuX29uRHByQ2hhbmdlKSksdGhpcy5fdGV4dGFyZWEuYWRkRXZlbnRMaXN0ZW5lcihcImZvY3VzXCIsKCgpPT50aGlzLl9pc0ZvY3VzZWQ9ITApKSx0aGlzLl90ZXh0YXJlYS5hZGRFdmVudExpc3RlbmVyKFwiYmx1clwiLCgoKT0+dGhpcy5faXNGb2N1c2VkPSExKSl9Z2V0IHdpbmRvdygpe3JldHVybiB0aGlzLl93aW5kb3d9c2V0IHdpbmRvdyhlKXt0aGlzLl93aW5kb3chPT1lJiYodGhpcy5fd2luZG93PWUsdGhpcy5fb25XaW5kb3dDaGFuZ2UuZmlyZSh0aGlzLl93aW5kb3cpKX1nZXQgZHByKCl7cmV0dXJuIHRoaXMud2luZG93LmRldmljZVBpeGVsUmF0aW99Z2V0IGlzRm9jdXNlZCgpe3JldHVybiB2b2lkIDA9PT10aGlzLl9jYWNoZWRJc0ZvY3VzZWQmJih0aGlzLl9jYWNoZWRJc0ZvY3VzZWQ9dGhpcy5faXNGb2N1c2VkJiZ0aGlzLl90ZXh0YXJlYS5vd25lckRvY3VtZW50Lmhhc0ZvY3VzKCkscXVldWVNaWNyb3Rhc2soKCgpPT50aGlzLl9jYWNoZWRJc0ZvY3VzZWQ9dm9pZCAwKSkpLHRoaXMuX2NhY2hlZElzRm9jdXNlZH19dC5Db3JlQnJvd3NlclNlcnZpY2U9bztjbGFzcyBhIGV4dGVuZHMgcy5EaXNwb3NhYmxle2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fcGFyZW50V2luZG93PWUsdGhpcy5fd2luZG93UmVzaXplTGlzdGVuZXI9dGhpcy5yZWdpc3RlcihuZXcgcy5NdXRhYmxlRGlzcG9zYWJsZSksdGhpcy5fb25EcHJDaGFuZ2U9dGhpcy5yZWdpc3RlcihuZXcgci5FdmVudEVtaXR0ZXIpLHRoaXMub25EcHJDaGFuZ2U9dGhpcy5fb25EcHJDaGFuZ2UuZXZlbnQsdGhpcy5fb3V0ZXJMaXN0ZW5lcj0oKT0+dGhpcy5fc2V0RHByQW5kRmlyZUlmRGlmZmVycygpLHRoaXMuX2N1cnJlbnREZXZpY2VQaXhlbFJhdGlvPXRoaXMuX3BhcmVudFdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvLHRoaXMuX3VwZGF0ZURwcigpLHRoaXMuX3NldFdpbmRvd1Jlc2l6ZUxpc3RlbmVyKCksdGhpcy5yZWdpc3RlcigoMCxzLnRvRGlzcG9zYWJsZSkoKCgpPT50aGlzLmNsZWFyTGlzdGVuZXIoKSkpKX1zZXRXaW5kb3coZSl7dGhpcy5fcGFyZW50V2luZG93PWUsdGhpcy5fc2V0V2luZG93UmVzaXplTGlzdGVuZXIoKSx0aGlzLl9zZXREcHJBbmRGaXJlSWZEaWZmZXJzKCl9X3NldFdpbmRvd1Jlc2l6ZUxpc3RlbmVyKCl7dGhpcy5fd2luZG93UmVzaXplTGlzdGVuZXIudmFsdWU9KDAsbi5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXIpKHRoaXMuX3BhcmVudFdpbmRvdyxcInJlc2l6ZVwiLCgoKT0+dGhpcy5fc2V0RHByQW5kRmlyZUlmRGlmZmVycygpKSl9X3NldERwckFuZEZpcmVJZkRpZmZlcnMoKXt0aGlzLl9wYXJlbnRXaW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyE9PXRoaXMuX2N1cnJlbnREZXZpY2VQaXhlbFJhdGlvJiZ0aGlzLl9vbkRwckNoYW5nZS5maXJlKHRoaXMuX3BhcmVudFdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvKSx0aGlzLl91cGRhdGVEcHIoKX1fdXBkYXRlRHByKCl7dGhpcy5fb3V0ZXJMaXN0ZW5lciYmKHRoaXMuX3Jlc29sdXRpb25NZWRpYU1hdGNoTGlzdD8ucmVtb3ZlTGlzdGVuZXIodGhpcy5fb3V0ZXJMaXN0ZW5lciksdGhpcy5fY3VycmVudERldmljZVBpeGVsUmF0aW89dGhpcy5fcGFyZW50V2luZG93LmRldmljZVBpeGVsUmF0aW8sdGhpcy5fcmVzb2x1dGlvbk1lZGlhTWF0Y2hMaXN0PXRoaXMuX3BhcmVudFdpbmRvdy5tYXRjaE1lZGlhKGBzY3JlZW4gYW5kIChyZXNvbHV0aW9uOiAke3RoaXMuX3BhcmVudFdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfWRwcHgpYCksdGhpcy5fcmVzb2x1dGlvbk1lZGlhTWF0Y2hMaXN0LmFkZExpc3RlbmVyKHRoaXMuX291dGVyTGlzdGVuZXIpKX1jbGVhckxpc3RlbmVyKCl7dGhpcy5fcmVzb2x1dGlvbk1lZGlhTWF0Y2hMaXN0JiZ0aGlzLl9vdXRlckxpc3RlbmVyJiYodGhpcy5fcmVzb2x1dGlvbk1lZGlhTWF0Y2hMaXN0LnJlbW92ZUxpc3RlbmVyKHRoaXMuX291dGVyTGlzdGVuZXIpLHRoaXMuX3Jlc29sdXRpb25NZWRpYU1hdGNoTGlzdD12b2lkIDAsdGhpcy5fb3V0ZXJMaXN0ZW5lcj12b2lkIDApfX19LDc3OTooZSx0LGkpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5MaW5rUHJvdmlkZXJTZXJ2aWNlPXZvaWQgMDtjb25zdCBzPWkoODQ0KTtjbGFzcyByIGV4dGVuZHMgcy5EaXNwb3NhYmxle2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmxpbmtQcm92aWRlcnM9W10sdGhpcy5yZWdpc3RlcigoMCxzLnRvRGlzcG9zYWJsZSkoKCgpPT50aGlzLmxpbmtQcm92aWRlcnMubGVuZ3RoPTApKSl9cmVnaXN0ZXJMaW5rUHJvdmlkZXIoZSl7cmV0dXJuIHRoaXMubGlua1Byb3ZpZGVycy5wdXNoKGUpLHtkaXNwb3NlOigpPT57Y29uc3QgdD10aGlzLmxpbmtQcm92aWRlcnMuaW5kZXhPZihlKTstMSE9PXQmJnRoaXMubGlua1Byb3ZpZGVycy5zcGxpY2UodCwxKX19fX10LkxpbmtQcm92aWRlclNlcnZpY2U9cn0sODkzNDpmdW5jdGlvbihlLHQsaSl7dmFyIHM9dGhpcyYmdGhpcy5fX2RlY29yYXRlfHxmdW5jdGlvbihlLHQsaSxzKXt2YXIgcixuPWFyZ3VtZW50cy5sZW5ndGgsbz1uPDM/dDpudWxsPT09cz9zPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxpKTpzO2lmKFwib2JqZWN0XCI9PXR5cGVvZiBSZWZsZWN0JiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBSZWZsZWN0LmRlY29yYXRlKW89UmVmbGVjdC5kZWNvcmF0ZShlLHQsaSxzKTtlbHNlIGZvcih2YXIgYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShyPWVbYV0pJiYobz0objwzP3Iobyk6bj4zP3IodCxpLG8pOnIodCxpKSl8fG8pO3JldHVybiBuPjMmJm8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGksbyksb30scj10aGlzJiZ0aGlzLl9fcGFyYW18fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGkscyl7dChpLHMsZSl9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0Lk1vdXNlU2VydmljZT12b2lkIDA7Y29uc3Qgbj1pKDQ3MjUpLG89aSg5ODA2KTtsZXQgYT10Lk1vdXNlU2VydmljZT1jbGFzc3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3JlbmRlclNlcnZpY2U9ZSx0aGlzLl9jaGFyU2l6ZVNlcnZpY2U9dH1nZXRDb29yZHMoZSx0LGkscyxyKXtyZXR1cm4oMCxvLmdldENvb3Jkcykod2luZG93LGUsdCxpLHMsdGhpcy5fY2hhclNpemVTZXJ2aWNlLmhhc1ZhbGlkU2l6ZSx0aGlzLl9yZW5kZXJTZXJ2aWNlLmRpbWVuc2lvbnMuY3NzLmNlbGwud2lkdGgsdGhpcy5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zLmNzcy5jZWxsLmhlaWdodCxyKX1nZXRNb3VzZVJlcG9ydENvb3JkcyhlLHQpe2NvbnN0IGk9KDAsby5nZXRDb29yZHNSZWxhdGl2ZVRvRWxlbWVudCkod2luZG93LGUsdCk7aWYodGhpcy5fY2hhclNpemVTZXJ2aWNlLmhhc1ZhbGlkU2l6ZSlyZXR1cm4gaVswXT1NYXRoLm1pbihNYXRoLm1heChpWzBdLDApLHRoaXMuX3JlbmRlclNlcnZpY2UuZGltZW5zaW9ucy5jc3MuY2FudmFzLndpZHRoLTEpLGlbMV09TWF0aC5taW4oTWF0aC5tYXgoaVsxXSwwKSx0aGlzLl9yZW5kZXJTZXJ2aWNlLmRpbWVuc2lvbnMuY3NzLmNhbnZhcy5oZWlnaHQtMSkse2NvbDpNYXRoLmZsb29yKGlbMF0vdGhpcy5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zLmNzcy5jZWxsLndpZHRoKSxyb3c6TWF0aC5mbG9vcihpWzFdL3RoaXMuX3JlbmRlclNlcnZpY2UuZGltZW5zaW9ucy5jc3MuY2VsbC5oZWlnaHQpLHg6TWF0aC5mbG9vcihpWzBdKSx5Ok1hdGguZmxvb3IoaVsxXSl9fX07dC5Nb3VzZVNlcnZpY2U9YT1zKFtyKDAsbi5JUmVuZGVyU2VydmljZSkscigxLG4uSUNoYXJTaXplU2VydmljZSldLGEpfSwzMjMwOmZ1bmN0aW9uKGUsdCxpKXt2YXIgcz10aGlzJiZ0aGlzLl9fZGVjb3JhdGV8fGZ1bmN0aW9uKGUsdCxpLHMpe3ZhciByLG49YXJndW1lbnRzLmxlbmd0aCxvPW48Mz90Om51bGw9PT1zP3M9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGkpOnM7aWYoXCJvYmplY3RcIj09dHlwZW9mIFJlZmxlY3QmJlwiZnVuY3Rpb25cIj09dHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUpbz1SZWZsZWN0LmRlY29yYXRlKGUsdCxpLHMpO2Vsc2UgZm9yKHZhciBhPWUubGVuZ3RoLTE7YT49MDthLS0pKHI9ZVthXSkmJihvPShuPDM/cihvKTpuPjM/cih0LGksbyk6cih0LGkpKXx8byk7cmV0dXJuIG4+MyYmbyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsaSxvKSxvfSxyPXRoaXMmJnRoaXMuX19wYXJhbXx8ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oaSxzKXt0KGkscyxlKX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuUmVuZGVyU2VydmljZT12b2lkIDA7Y29uc3Qgbj1pKDYxOTMpLG89aSg0NzI1KSxhPWkoODQ2MCksaD1pKDg0NCksYz1pKDcyMjYpLGw9aSgyNTg1KTtsZXQgZD10LlJlbmRlclNlcnZpY2U9Y2xhc3MgZXh0ZW5kcyBoLkRpc3Bvc2FibGV7Z2V0IGRpbWVuc2lvbnMoKXtyZXR1cm4gdGhpcy5fcmVuZGVyZXIudmFsdWUuZGltZW5zaW9uc31jb25zdHJ1Y3RvcihlLHQsaSxzLHIsbyxsLGQpe3N1cGVyKCksdGhpcy5fcm93Q291bnQ9ZSx0aGlzLl9jaGFyU2l6ZVNlcnZpY2U9cyx0aGlzLl9yZW5kZXJlcj10aGlzLnJlZ2lzdGVyKG5ldyBoLk11dGFibGVEaXNwb3NhYmxlKSx0aGlzLl9wYXVzZWRSZXNpemVUYXNrPW5ldyBjLkRlYm91bmNlZElkbGVUYXNrLHRoaXMuX29ic2VydmVyRGlzcG9zYWJsZT10aGlzLnJlZ2lzdGVyKG5ldyBoLk11dGFibGVEaXNwb3NhYmxlKSx0aGlzLl9pc1BhdXNlZD0hMSx0aGlzLl9uZWVkc0Z1bGxSZWZyZXNoPSExLHRoaXMuX2lzTmV4dFJlbmRlclJlZHJhd09ubHk9ITAsdGhpcy5fbmVlZHNTZWxlY3Rpb25SZWZyZXNoPSExLHRoaXMuX2NhbnZhc1dpZHRoPTAsdGhpcy5fY2FudmFzSGVpZ2h0PTAsdGhpcy5fc2VsZWN0aW9uU3RhdGU9e3N0YXJ0OnZvaWQgMCxlbmQ6dm9pZCAwLGNvbHVtblNlbGVjdE1vZGU6ITF9LHRoaXMuX29uRGltZW5zaW9uc0NoYW5nZT10aGlzLnJlZ2lzdGVyKG5ldyBhLkV2ZW50RW1pdHRlciksdGhpcy5vbkRpbWVuc2lvbnNDaGFuZ2U9dGhpcy5fb25EaW1lbnNpb25zQ2hhbmdlLmV2ZW50LHRoaXMuX29uUmVuZGVyZWRWaWV3cG9ydENoYW5nZT10aGlzLnJlZ2lzdGVyKG5ldyBhLkV2ZW50RW1pdHRlciksdGhpcy5vblJlbmRlcmVkVmlld3BvcnRDaGFuZ2U9dGhpcy5fb25SZW5kZXJlZFZpZXdwb3J0Q2hhbmdlLmV2ZW50LHRoaXMuX29uUmVuZGVyPXRoaXMucmVnaXN0ZXIobmV3IGEuRXZlbnRFbWl0dGVyKSx0aGlzLm9uUmVuZGVyPXRoaXMuX29uUmVuZGVyLmV2ZW50LHRoaXMuX29uUmVmcmVzaFJlcXVlc3Q9dGhpcy5yZWdpc3RlcihuZXcgYS5FdmVudEVtaXR0ZXIpLHRoaXMub25SZWZyZXNoUmVxdWVzdD10aGlzLl9vblJlZnJlc2hSZXF1ZXN0LmV2ZW50LHRoaXMuX3JlbmRlckRlYm91bmNlcj1uZXcgbi5SZW5kZXJEZWJvdW5jZXIoKChlLHQpPT50aGlzLl9yZW5kZXJSb3dzKGUsdCkpLGwpLHRoaXMucmVnaXN0ZXIodGhpcy5fcmVuZGVyRGVib3VuY2VyKSx0aGlzLnJlZ2lzdGVyKGwub25EcHJDaGFuZ2UoKCgpPT50aGlzLmhhbmRsZURldmljZVBpeGVsUmF0aW9DaGFuZ2UoKSkpKSx0aGlzLnJlZ2lzdGVyKG8ub25SZXNpemUoKCgpPT50aGlzLl9mdWxsUmVmcmVzaCgpKSkpLHRoaXMucmVnaXN0ZXIoby5idWZmZXJzLm9uQnVmZmVyQWN0aXZhdGUoKCgpPT50aGlzLl9yZW5kZXJlci52YWx1ZT8uY2xlYXIoKSkpKSx0aGlzLnJlZ2lzdGVyKGkub25PcHRpb25DaGFuZ2UoKCgpPT50aGlzLl9oYW5kbGVPcHRpb25zQ2hhbmdlZCgpKSkpLHRoaXMucmVnaXN0ZXIodGhpcy5fY2hhclNpemVTZXJ2aWNlLm9uQ2hhclNpemVDaGFuZ2UoKCgpPT50aGlzLmhhbmRsZUNoYXJTaXplQ2hhbmdlZCgpKSkpLHRoaXMucmVnaXN0ZXIoci5vbkRlY29yYXRpb25SZWdpc3RlcmVkKCgoKT0+dGhpcy5fZnVsbFJlZnJlc2goKSkpKSx0aGlzLnJlZ2lzdGVyKHIub25EZWNvcmF0aW9uUmVtb3ZlZCgoKCk9PnRoaXMuX2Z1bGxSZWZyZXNoKCkpKSksdGhpcy5yZWdpc3RlcihpLm9uTXVsdGlwbGVPcHRpb25DaGFuZ2UoW1wiY3VzdG9tR2x5cGhzXCIsXCJkcmF3Qm9sZFRleHRJbkJyaWdodENvbG9yc1wiLFwibGV0dGVyU3BhY2luZ1wiLFwibGluZUhlaWdodFwiLFwiZm9udEZhbWlseVwiLFwiZm9udFNpemVcIixcImZvbnRXZWlnaHRcIixcImZvbnRXZWlnaHRCb2xkXCIsXCJtaW5pbXVtQ29udHJhc3RSYXRpb1wiLFwicmVzY2FsZU92ZXJsYXBwaW5nR2x5cGhzXCJdLCgoKT0+e3RoaXMuY2xlYXIoKSx0aGlzLmhhbmRsZVJlc2l6ZShvLmNvbHMsby5yb3dzKSx0aGlzLl9mdWxsUmVmcmVzaCgpfSkpKSx0aGlzLnJlZ2lzdGVyKGkub25NdWx0aXBsZU9wdGlvbkNoYW5nZShbXCJjdXJzb3JCbGlua1wiLFwiY3Vyc29yU3R5bGVcIl0sKCgpPT50aGlzLnJlZnJlc2hSb3dzKG8uYnVmZmVyLnksby5idWZmZXIueSwhMCkpKSksdGhpcy5yZWdpc3RlcihkLm9uQ2hhbmdlQ29sb3JzKCgoKT0+dGhpcy5fZnVsbFJlZnJlc2goKSkpKSx0aGlzLl9yZWdpc3RlckludGVyc2VjdGlvbk9ic2VydmVyKGwud2luZG93LHQpLHRoaXMucmVnaXN0ZXIobC5vbldpbmRvd0NoYW5nZSgoZT0+dGhpcy5fcmVnaXN0ZXJJbnRlcnNlY3Rpb25PYnNlcnZlcihlLHQpKSkpfV9yZWdpc3RlckludGVyc2VjdGlvbk9ic2VydmVyKGUsdCl7aWYoXCJJbnRlcnNlY3Rpb25PYnNlcnZlclwiaW4gZSl7Y29uc3QgaT1uZXcgZS5JbnRlcnNlY3Rpb25PYnNlcnZlcigoZT0+dGhpcy5faGFuZGxlSW50ZXJzZWN0aW9uQ2hhbmdlKGVbZS5sZW5ndGgtMV0pKSx7dGhyZXNob2xkOjB9KTtpLm9ic2VydmUodCksdGhpcy5fb2JzZXJ2ZXJEaXNwb3NhYmxlLnZhbHVlPSgwLGgudG9EaXNwb3NhYmxlKSgoKCk9PmkuZGlzY29ubmVjdCgpKSl9fV9oYW5kbGVJbnRlcnNlY3Rpb25DaGFuZ2UoZSl7dGhpcy5faXNQYXVzZWQ9dm9pZCAwPT09ZS5pc0ludGVyc2VjdGluZz8wPT09ZS5pbnRlcnNlY3Rpb25SYXRpbzohZS5pc0ludGVyc2VjdGluZyx0aGlzLl9pc1BhdXNlZHx8dGhpcy5fY2hhclNpemVTZXJ2aWNlLmhhc1ZhbGlkU2l6ZXx8dGhpcy5fY2hhclNpemVTZXJ2aWNlLm1lYXN1cmUoKSwhdGhpcy5faXNQYXVzZWQmJnRoaXMuX25lZWRzRnVsbFJlZnJlc2gmJih0aGlzLl9wYXVzZWRSZXNpemVUYXNrLmZsdXNoKCksdGhpcy5yZWZyZXNoUm93cygwLHRoaXMuX3Jvd0NvdW50LTEpLHRoaXMuX25lZWRzRnVsbFJlZnJlc2g9ITEpfXJlZnJlc2hSb3dzKGUsdCxpPSExKXt0aGlzLl9pc1BhdXNlZD90aGlzLl9uZWVkc0Z1bGxSZWZyZXNoPSEwOihpfHwodGhpcy5faXNOZXh0UmVuZGVyUmVkcmF3T25seT0hMSksdGhpcy5fcmVuZGVyRGVib3VuY2VyLnJlZnJlc2goZSx0LHRoaXMuX3Jvd0NvdW50KSl9X3JlbmRlclJvd3MoZSx0KXt0aGlzLl9yZW5kZXJlci52YWx1ZSYmKGU9TWF0aC5taW4oZSx0aGlzLl9yb3dDb3VudC0xKSx0PU1hdGgubWluKHQsdGhpcy5fcm93Q291bnQtMSksdGhpcy5fcmVuZGVyZXIudmFsdWUucmVuZGVyUm93cyhlLHQpLHRoaXMuX25lZWRzU2VsZWN0aW9uUmVmcmVzaCYmKHRoaXMuX3JlbmRlcmVyLnZhbHVlLmhhbmRsZVNlbGVjdGlvbkNoYW5nZWQodGhpcy5fc2VsZWN0aW9uU3RhdGUuc3RhcnQsdGhpcy5fc2VsZWN0aW9uU3RhdGUuZW5kLHRoaXMuX3NlbGVjdGlvblN0YXRlLmNvbHVtblNlbGVjdE1vZGUpLHRoaXMuX25lZWRzU2VsZWN0aW9uUmVmcmVzaD0hMSksdGhpcy5faXNOZXh0UmVuZGVyUmVkcmF3T25seXx8dGhpcy5fb25SZW5kZXJlZFZpZXdwb3J0Q2hhbmdlLmZpcmUoe3N0YXJ0OmUsZW5kOnR9KSx0aGlzLl9vblJlbmRlci5maXJlKHtzdGFydDplLGVuZDp0fSksdGhpcy5faXNOZXh0UmVuZGVyUmVkcmF3T25seT0hMCl9cmVzaXplKGUsdCl7dGhpcy5fcm93Q291bnQ9dCx0aGlzLl9maXJlT25DYW52YXNSZXNpemUoKX1faGFuZGxlT3B0aW9uc0NoYW5nZWQoKXt0aGlzLl9yZW5kZXJlci52YWx1ZSYmKHRoaXMucmVmcmVzaFJvd3MoMCx0aGlzLl9yb3dDb3VudC0xKSx0aGlzLl9maXJlT25DYW52YXNSZXNpemUoKSl9X2ZpcmVPbkNhbnZhc1Jlc2l6ZSgpe3RoaXMuX3JlbmRlcmVyLnZhbHVlJiYodGhpcy5fcmVuZGVyZXIudmFsdWUuZGltZW5zaW9ucy5jc3MuY2FudmFzLndpZHRoPT09dGhpcy5fY2FudmFzV2lkdGgmJnRoaXMuX3JlbmRlcmVyLnZhbHVlLmRpbWVuc2lvbnMuY3NzLmNhbnZhcy5oZWlnaHQ9PT10aGlzLl9jYW52YXNIZWlnaHR8fHRoaXMuX29uRGltZW5zaW9uc0NoYW5nZS5maXJlKHRoaXMuX3JlbmRlcmVyLnZhbHVlLmRpbWVuc2lvbnMpKX1oYXNSZW5kZXJlcigpe3JldHVybiEhdGhpcy5fcmVuZGVyZXIudmFsdWV9c2V0UmVuZGVyZXIoZSl7dGhpcy5fcmVuZGVyZXIudmFsdWU9ZSx0aGlzLl9yZW5kZXJlci52YWx1ZSYmKHRoaXMuX3JlbmRlcmVyLnZhbHVlLm9uUmVxdWVzdFJlZHJhdygoZT0+dGhpcy5yZWZyZXNoUm93cyhlLnN0YXJ0LGUuZW5kLCEwKSkpLHRoaXMuX25lZWRzU2VsZWN0aW9uUmVmcmVzaD0hMCx0aGlzLl9mdWxsUmVmcmVzaCgpKX1hZGRSZWZyZXNoQ2FsbGJhY2soZSl7cmV0dXJuIHRoaXMuX3JlbmRlckRlYm91bmNlci5hZGRSZWZyZXNoQ2FsbGJhY2soZSl9X2Z1bGxSZWZyZXNoKCl7dGhpcy5faXNQYXVzZWQ/dGhpcy5fbmVlZHNGdWxsUmVmcmVzaD0hMDp0aGlzLnJlZnJlc2hSb3dzKDAsdGhpcy5fcm93Q291bnQtMSl9Y2xlYXJUZXh0dXJlQXRsYXMoKXt0aGlzLl9yZW5kZXJlci52YWx1ZSYmKHRoaXMuX3JlbmRlcmVyLnZhbHVlLmNsZWFyVGV4dHVyZUF0bGFzPy4oKSx0aGlzLl9mdWxsUmVmcmVzaCgpKX1oYW5kbGVEZXZpY2VQaXhlbFJhdGlvQ2hhbmdlKCl7dGhpcy5fY2hhclNpemVTZXJ2aWNlLm1lYXN1cmUoKSx0aGlzLl9yZW5kZXJlci52YWx1ZSYmKHRoaXMuX3JlbmRlcmVyLnZhbHVlLmhhbmRsZURldmljZVBpeGVsUmF0aW9DaGFuZ2UoKSx0aGlzLnJlZnJlc2hSb3dzKDAsdGhpcy5fcm93Q291bnQtMSkpfWhhbmRsZVJlc2l6ZShlLHQpe3RoaXMuX3JlbmRlcmVyLnZhbHVlJiYodGhpcy5faXNQYXVzZWQ/dGhpcy5fcGF1c2VkUmVzaXplVGFzay5zZXQoKCgpPT50aGlzLl9yZW5kZXJlci52YWx1ZT8uaGFuZGxlUmVzaXplKGUsdCkpKTp0aGlzLl9yZW5kZXJlci52YWx1ZS5oYW5kbGVSZXNpemUoZSx0KSx0aGlzLl9mdWxsUmVmcmVzaCgpKX1oYW5kbGVDaGFyU2l6ZUNoYW5nZWQoKXt0aGlzLl9yZW5kZXJlci52YWx1ZT8uaGFuZGxlQ2hhclNpemVDaGFuZ2VkKCl9aGFuZGxlQmx1cigpe3RoaXMuX3JlbmRlcmVyLnZhbHVlPy5oYW5kbGVCbHVyKCl9aGFuZGxlRm9jdXMoKXt0aGlzLl9yZW5kZXJlci52YWx1ZT8uaGFuZGxlRm9jdXMoKX1oYW5kbGVTZWxlY3Rpb25DaGFuZ2VkKGUsdCxpKXt0aGlzLl9zZWxlY3Rpb25TdGF0ZS5zdGFydD1lLHRoaXMuX3NlbGVjdGlvblN0YXRlLmVuZD10LHRoaXMuX3NlbGVjdGlvblN0YXRlLmNvbHVtblNlbGVjdE1vZGU9aSx0aGlzLl9yZW5kZXJlci52YWx1ZT8uaGFuZGxlU2VsZWN0aW9uQ2hhbmdlZChlLHQsaSl9aGFuZGxlQ3Vyc29yTW92ZSgpe3RoaXMuX3JlbmRlcmVyLnZhbHVlPy5oYW5kbGVDdXJzb3JNb3ZlKCl9Y2xlYXIoKXt0aGlzLl9yZW5kZXJlci52YWx1ZT8uY2xlYXIoKX19O3QuUmVuZGVyU2VydmljZT1kPXMoW3IoMixsLklPcHRpb25zU2VydmljZSkscigzLG8uSUNoYXJTaXplU2VydmljZSkscig0LGwuSURlY29yYXRpb25TZXJ2aWNlKSxyKDUsbC5JQnVmZmVyU2VydmljZSkscig2LG8uSUNvcmVCcm93c2VyU2VydmljZSkscig3LG8uSVRoZW1lU2VydmljZSldLGQpfSw5MzEyOmZ1bmN0aW9uKGUsdCxpKXt2YXIgcz10aGlzJiZ0aGlzLl9fZGVjb3JhdGV8fGZ1bmN0aW9uKGUsdCxpLHMpe3ZhciByLG49YXJndW1lbnRzLmxlbmd0aCxvPW48Mz90Om51bGw9PT1zP3M9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGkpOnM7aWYoXCJvYmplY3RcIj09dHlwZW9mIFJlZmxlY3QmJlwiZnVuY3Rpb25cIj09dHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUpbz1SZWZsZWN0LmRlY29yYXRlKGUsdCxpLHMpO2Vsc2UgZm9yKHZhciBhPWUubGVuZ3RoLTE7YT49MDthLS0pKHI9ZVthXSkmJihvPShuPDM/cihvKTpuPjM/cih0LGksbyk6cih0LGkpKXx8byk7cmV0dXJuIG4+MyYmbyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsaSxvKSxvfSxyPXRoaXMmJnRoaXMuX19wYXJhbXx8ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oaSxzKXt0KGkscyxlKX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuU2VsZWN0aW9uU2VydmljZT12b2lkIDA7Y29uc3Qgbj1pKDk4MDYpLG89aSg5NTA0KSxhPWkoNDU2KSxoPWkoNDcyNSksYz1pKDg0NjApLGw9aSg4NDQpLGQ9aSg2MTE0KSxfPWkoNDg0MSksdT1pKDUxMSksZj1pKDI1ODUpLHY9U3RyaW5nLmZyb21DaGFyQ29kZSgxNjApLHA9bmV3IFJlZ0V4cCh2LFwiZ1wiKTtsZXQgZz10LlNlbGVjdGlvblNlcnZpY2U9Y2xhc3MgZXh0ZW5kcyBsLkRpc3Bvc2FibGV7Y29uc3RydWN0b3IoZSx0LGkscyxyLG4sbyxoLGQpe3N1cGVyKCksdGhpcy5fZWxlbWVudD1lLHRoaXMuX3NjcmVlbkVsZW1lbnQ9dCx0aGlzLl9saW5raWZpZXI9aSx0aGlzLl9idWZmZXJTZXJ2aWNlPXMsdGhpcy5fY29yZVNlcnZpY2U9cix0aGlzLl9tb3VzZVNlcnZpY2U9bix0aGlzLl9vcHRpb25zU2VydmljZT1vLHRoaXMuX3JlbmRlclNlcnZpY2U9aCx0aGlzLl9jb3JlQnJvd3NlclNlcnZpY2U9ZCx0aGlzLl9kcmFnU2Nyb2xsQW1vdW50PTAsdGhpcy5fZW5hYmxlZD0hMCx0aGlzLl93b3JrQ2VsbD1uZXcgdS5DZWxsRGF0YSx0aGlzLl9tb3VzZURvd25UaW1lU3RhbXA9MCx0aGlzLl9vbGRIYXNTZWxlY3Rpb249ITEsdGhpcy5fb2xkU2VsZWN0aW9uU3RhcnQ9dm9pZCAwLHRoaXMuX29sZFNlbGVjdGlvbkVuZD12b2lkIDAsdGhpcy5fb25MaW51eE1vdXNlU2VsZWN0aW9uPXRoaXMucmVnaXN0ZXIobmV3IGMuRXZlbnRFbWl0dGVyKSx0aGlzLm9uTGludXhNb3VzZVNlbGVjdGlvbj10aGlzLl9vbkxpbnV4TW91c2VTZWxlY3Rpb24uZXZlbnQsdGhpcy5fb25SZWRyYXdSZXF1ZXN0PXRoaXMucmVnaXN0ZXIobmV3IGMuRXZlbnRFbWl0dGVyKSx0aGlzLm9uUmVxdWVzdFJlZHJhdz10aGlzLl9vblJlZHJhd1JlcXVlc3QuZXZlbnQsdGhpcy5fb25TZWxlY3Rpb25DaGFuZ2U9dGhpcy5yZWdpc3RlcihuZXcgYy5FdmVudEVtaXR0ZXIpLHRoaXMub25TZWxlY3Rpb25DaGFuZ2U9dGhpcy5fb25TZWxlY3Rpb25DaGFuZ2UuZXZlbnQsdGhpcy5fb25SZXF1ZXN0U2Nyb2xsTGluZXM9dGhpcy5yZWdpc3RlcihuZXcgYy5FdmVudEVtaXR0ZXIpLHRoaXMub25SZXF1ZXN0U2Nyb2xsTGluZXM9dGhpcy5fb25SZXF1ZXN0U2Nyb2xsTGluZXMuZXZlbnQsdGhpcy5fbW91c2VNb3ZlTGlzdGVuZXI9ZT0+dGhpcy5faGFuZGxlTW91c2VNb3ZlKGUpLHRoaXMuX21vdXNlVXBMaXN0ZW5lcj1lPT50aGlzLl9oYW5kbGVNb3VzZVVwKGUpLHRoaXMuX2NvcmVTZXJ2aWNlLm9uVXNlcklucHV0KCgoKT0+e3RoaXMuaGFzU2VsZWN0aW9uJiZ0aGlzLmNsZWFyU2VsZWN0aW9uKCl9KSksdGhpcy5fdHJpbUxpc3RlbmVyPXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLmxpbmVzLm9uVHJpbSgoZT0+dGhpcy5faGFuZGxlVHJpbShlKSkpLHRoaXMucmVnaXN0ZXIodGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXJzLm9uQnVmZmVyQWN0aXZhdGUoKGU9PnRoaXMuX2hhbmRsZUJ1ZmZlckFjdGl2YXRlKGUpKSkpLHRoaXMuZW5hYmxlKCksdGhpcy5fbW9kZWw9bmV3IGEuU2VsZWN0aW9uTW9kZWwodGhpcy5fYnVmZmVyU2VydmljZSksdGhpcy5fYWN0aXZlU2VsZWN0aW9uTW9kZT0wLHRoaXMucmVnaXN0ZXIoKDAsbC50b0Rpc3Bvc2FibGUpKCgoKT0+e3RoaXMuX3JlbW92ZU1vdXNlRG93bkxpc3RlbmVycygpfSkpKX1yZXNldCgpe3RoaXMuY2xlYXJTZWxlY3Rpb24oKX1kaXNhYmxlKCl7dGhpcy5jbGVhclNlbGVjdGlvbigpLHRoaXMuX2VuYWJsZWQ9ITF9ZW5hYmxlKCl7dGhpcy5fZW5hYmxlZD0hMH1nZXQgc2VsZWN0aW9uU3RhcnQoKXtyZXR1cm4gdGhpcy5fbW9kZWwuZmluYWxTZWxlY3Rpb25TdGFydH1nZXQgc2VsZWN0aW9uRW5kKCl7cmV0dXJuIHRoaXMuX21vZGVsLmZpbmFsU2VsZWN0aW9uRW5kfWdldCBoYXNTZWxlY3Rpb24oKXtjb25zdCBlPXRoaXMuX21vZGVsLmZpbmFsU2VsZWN0aW9uU3RhcnQsdD10aGlzLl9tb2RlbC5maW5hbFNlbGVjdGlvbkVuZDtyZXR1cm4hKCFlfHwhdHx8ZVswXT09PXRbMF0mJmVbMV09PT10WzFdKX1nZXQgc2VsZWN0aW9uVGV4dCgpe2NvbnN0IGU9dGhpcy5fbW9kZWwuZmluYWxTZWxlY3Rpb25TdGFydCx0PXRoaXMuX21vZGVsLmZpbmFsU2VsZWN0aW9uRW5kO2lmKCFlfHwhdClyZXR1cm5cIlwiO2NvbnN0IGk9dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIscz1bXTtpZigzPT09dGhpcy5fYWN0aXZlU2VsZWN0aW9uTW9kZSl7aWYoZVswXT09PXRbMF0pcmV0dXJuXCJcIjtjb25zdCByPWVbMF08dFswXT9lWzBdOnRbMF0sbj1lWzBdPHRbMF0/dFswXTplWzBdO2ZvcihsZXQgbz1lWzFdO288PXRbMV07bysrKXtjb25zdCBlPWkudHJhbnNsYXRlQnVmZmVyTGluZVRvU3RyaW5nKG8sITAscixuKTtzLnB1c2goZSl9fWVsc2V7Y29uc3Qgcj1lWzFdPT09dFsxXT90WzBdOnZvaWQgMDtzLnB1c2goaS50cmFuc2xhdGVCdWZmZXJMaW5lVG9TdHJpbmcoZVsxXSwhMCxlWzBdLHIpKTtmb3IobGV0IHI9ZVsxXSsxO3I8PXRbMV0tMTtyKyspe2NvbnN0IGU9aS5saW5lcy5nZXQociksdD1pLnRyYW5zbGF0ZUJ1ZmZlckxpbmVUb1N0cmluZyhyLCEwKTtlPy5pc1dyYXBwZWQ/c1tzLmxlbmd0aC0xXSs9dDpzLnB1c2godCl9aWYoZVsxXSE9PXRbMV0pe2NvbnN0IGU9aS5saW5lcy5nZXQodFsxXSkscj1pLnRyYW5zbGF0ZUJ1ZmZlckxpbmVUb1N0cmluZyh0WzFdLCEwLDAsdFswXSk7ZSYmZS5pc1dyYXBwZWQ/c1tzLmxlbmd0aC0xXSs9cjpzLnB1c2gocil9fXJldHVybiBzLm1hcCgoZT0+ZS5yZXBsYWNlKHAsXCIgXCIpKSkuam9pbihkLmlzV2luZG93cz9cIlxcclxcblwiOlwiXFxuXCIpfWNsZWFyU2VsZWN0aW9uKCl7dGhpcy5fbW9kZWwuY2xlYXJTZWxlY3Rpb24oKSx0aGlzLl9yZW1vdmVNb3VzZURvd25MaXN0ZW5lcnMoKSx0aGlzLnJlZnJlc2goKSx0aGlzLl9vblNlbGVjdGlvbkNoYW5nZS5maXJlKCl9cmVmcmVzaChlKXt0aGlzLl9yZWZyZXNoQW5pbWF0aW9uRnJhbWV8fCh0aGlzLl9yZWZyZXNoQW5pbWF0aW9uRnJhbWU9dGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlLndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT50aGlzLl9yZWZyZXNoKCkpKSksZC5pc0xpbnV4JiZlJiZ0aGlzLnNlbGVjdGlvblRleHQubGVuZ3RoJiZ0aGlzLl9vbkxpbnV4TW91c2VTZWxlY3Rpb24uZmlyZSh0aGlzLnNlbGVjdGlvblRleHQpfV9yZWZyZXNoKCl7dGhpcy5fcmVmcmVzaEFuaW1hdGlvbkZyYW1lPXZvaWQgMCx0aGlzLl9vblJlZHJhd1JlcXVlc3QuZmlyZSh7c3RhcnQ6dGhpcy5fbW9kZWwuZmluYWxTZWxlY3Rpb25TdGFydCxlbmQ6dGhpcy5fbW9kZWwuZmluYWxTZWxlY3Rpb25FbmQsY29sdW1uU2VsZWN0TW9kZTozPT09dGhpcy5fYWN0aXZlU2VsZWN0aW9uTW9kZX0pfV9pc0NsaWNrSW5TZWxlY3Rpb24oZSl7Y29uc3QgdD10aGlzLl9nZXRNb3VzZUJ1ZmZlckNvb3JkcyhlKSxpPXRoaXMuX21vZGVsLmZpbmFsU2VsZWN0aW9uU3RhcnQscz10aGlzLl9tb2RlbC5maW5hbFNlbGVjdGlvbkVuZDtyZXR1cm4hIShpJiZzJiZ0KSYmdGhpcy5fYXJlQ29vcmRzSW5TZWxlY3Rpb24odCxpLHMpfWlzQ2VsbEluU2VsZWN0aW9uKGUsdCl7Y29uc3QgaT10aGlzLl9tb2RlbC5maW5hbFNlbGVjdGlvblN0YXJ0LHM9dGhpcy5fbW9kZWwuZmluYWxTZWxlY3Rpb25FbmQ7cmV0dXJuISghaXx8IXMpJiZ0aGlzLl9hcmVDb29yZHNJblNlbGVjdGlvbihbZSx0XSxpLHMpfV9hcmVDb29yZHNJblNlbGVjdGlvbihlLHQsaSl7cmV0dXJuIGVbMV0+dFsxXSYmZVsxXTxpWzFdfHx0WzFdPT09aVsxXSYmZVsxXT09PXRbMV0mJmVbMF0+PXRbMF0mJmVbMF08aVswXXx8dFsxXTxpWzFdJiZlWzFdPT09aVsxXSYmZVswXTxpWzBdfHx0WzFdPGlbMV0mJmVbMV09PT10WzFdJiZlWzBdPj10WzBdfV9zZWxlY3RXb3JkQXRDdXJzb3IoZSx0KXtjb25zdCBpPXRoaXMuX2xpbmtpZmllci5jdXJyZW50TGluaz8ubGluaz8ucmFuZ2U7aWYoaSlyZXR1cm4gdGhpcy5fbW9kZWwuc2VsZWN0aW9uU3RhcnQ9W2kuc3RhcnQueC0xLGkuc3RhcnQueS0xXSx0aGlzLl9tb2RlbC5zZWxlY3Rpb25TdGFydExlbmd0aD0oMCxfLmdldFJhbmdlTGVuZ3RoKShpLHRoaXMuX2J1ZmZlclNlcnZpY2UuY29scyksdGhpcy5fbW9kZWwuc2VsZWN0aW9uRW5kPXZvaWQgMCwhMDtjb25zdCBzPXRoaXMuX2dldE1vdXNlQnVmZmVyQ29vcmRzKGUpO3JldHVybiEhcyYmKHRoaXMuX3NlbGVjdFdvcmRBdChzLHQpLHRoaXMuX21vZGVsLnNlbGVjdGlvbkVuZD12b2lkIDAsITApfXNlbGVjdEFsbCgpe3RoaXMuX21vZGVsLmlzU2VsZWN0QWxsQWN0aXZlPSEwLHRoaXMucmVmcmVzaCgpLHRoaXMuX29uU2VsZWN0aW9uQ2hhbmdlLmZpcmUoKX1zZWxlY3RMaW5lcyhlLHQpe3RoaXMuX21vZGVsLmNsZWFyU2VsZWN0aW9uKCksZT1NYXRoLm1heChlLDApLHQ9TWF0aC5taW4odCx0aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci5saW5lcy5sZW5ndGgtMSksdGhpcy5fbW9kZWwuc2VsZWN0aW9uU3RhcnQ9WzAsZV0sdGhpcy5fbW9kZWwuc2VsZWN0aW9uRW5kPVt0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMsdF0sdGhpcy5yZWZyZXNoKCksdGhpcy5fb25TZWxlY3Rpb25DaGFuZ2UuZmlyZSgpfV9oYW5kbGVUcmltKGUpe3RoaXMuX21vZGVsLmhhbmRsZVRyaW0oZSkmJnRoaXMucmVmcmVzaCgpfV9nZXRNb3VzZUJ1ZmZlckNvb3JkcyhlKXtjb25zdCB0PXRoaXMuX21vdXNlU2VydmljZS5nZXRDb29yZHMoZSx0aGlzLl9zY3JlZW5FbGVtZW50LHRoaXMuX2J1ZmZlclNlcnZpY2UuY29scyx0aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MsITApO2lmKHQpcmV0dXJuIHRbMF0tLSx0WzFdLS0sdFsxXSs9dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIueWRpc3AsdH1fZ2V0TW91c2VFdmVudFNjcm9sbEFtb3VudChlKXtsZXQgdD0oMCxuLmdldENvb3Jkc1JlbGF0aXZlVG9FbGVtZW50KSh0aGlzLl9jb3JlQnJvd3NlclNlcnZpY2Uud2luZG93LGUsdGhpcy5fc2NyZWVuRWxlbWVudClbMV07Y29uc3QgaT10aGlzLl9yZW5kZXJTZXJ2aWNlLmRpbWVuc2lvbnMuY3NzLmNhbnZhcy5oZWlnaHQ7cmV0dXJuIHQ+PTAmJnQ8PWk/MDoodD5pJiYodC09aSksdD1NYXRoLm1pbihNYXRoLm1heCh0LC01MCksNTApLHQvPTUwLHQvTWF0aC5hYnModCkrTWF0aC5yb3VuZCgxNCp0KSl9c2hvdWxkRm9yY2VTZWxlY3Rpb24oZSl7cmV0dXJuIGQuaXNNYWM/ZS5hbHRLZXkmJnRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMubWFjT3B0aW9uQ2xpY2tGb3JjZXNTZWxlY3Rpb246ZS5zaGlmdEtleX1oYW5kbGVNb3VzZURvd24oZSl7aWYodGhpcy5fbW91c2VEb3duVGltZVN0YW1wPWUudGltZVN0YW1wLCgyIT09ZS5idXR0b258fCF0aGlzLmhhc1NlbGVjdGlvbikmJjA9PT1lLmJ1dHRvbil7aWYoIXRoaXMuX2VuYWJsZWQpe2lmKCF0aGlzLnNob3VsZEZvcmNlU2VsZWN0aW9uKGUpKXJldHVybjtlLnN0b3BQcm9wYWdhdGlvbigpfWUucHJldmVudERlZmF1bHQoKSx0aGlzLl9kcmFnU2Nyb2xsQW1vdW50PTAsdGhpcy5fZW5hYmxlZCYmZS5zaGlmdEtleT90aGlzLl9oYW5kbGVJbmNyZW1lbnRhbENsaWNrKGUpOjE9PT1lLmRldGFpbD90aGlzLl9oYW5kbGVTaW5nbGVDbGljayhlKToyPT09ZS5kZXRhaWw/dGhpcy5faGFuZGxlRG91YmxlQ2xpY2soZSk6Mz09PWUuZGV0YWlsJiZ0aGlzLl9oYW5kbGVUcmlwbGVDbGljayhlKSx0aGlzLl9hZGRNb3VzZURvd25MaXN0ZW5lcnMoKSx0aGlzLnJlZnJlc2goITApfX1fYWRkTW91c2VEb3duTGlzdGVuZXJzKCl7dGhpcy5fc2NyZWVuRWxlbWVudC5vd25lckRvY3VtZW50JiYodGhpcy5fc2NyZWVuRWxlbWVudC5vd25lckRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIix0aGlzLl9tb3VzZU1vdmVMaXN0ZW5lciksdGhpcy5fc2NyZWVuRWxlbWVudC5vd25lckRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZXVwXCIsdGhpcy5fbW91c2VVcExpc3RlbmVyKSksdGhpcy5fZHJhZ1Njcm9sbEludGVydmFsVGltZXI9dGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlLndpbmRvdy5zZXRJbnRlcnZhbCgoKCk9PnRoaXMuX2RyYWdTY3JvbGwoKSksNTApfV9yZW1vdmVNb3VzZURvd25MaXN0ZW5lcnMoKXt0aGlzLl9zY3JlZW5FbGVtZW50Lm93bmVyRG9jdW1lbnQmJih0aGlzLl9zY3JlZW5FbGVtZW50Lm93bmVyRG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLHRoaXMuX21vdXNlTW92ZUxpc3RlbmVyKSx0aGlzLl9zY3JlZW5FbGVtZW50Lm93bmVyRG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNldXBcIix0aGlzLl9tb3VzZVVwTGlzdGVuZXIpKSx0aGlzLl9jb3JlQnJvd3NlclNlcnZpY2Uud2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5fZHJhZ1Njcm9sbEludGVydmFsVGltZXIpLHRoaXMuX2RyYWdTY3JvbGxJbnRlcnZhbFRpbWVyPXZvaWQgMH1faGFuZGxlSW5jcmVtZW50YWxDbGljayhlKXt0aGlzLl9tb2RlbC5zZWxlY3Rpb25TdGFydCYmKHRoaXMuX21vZGVsLnNlbGVjdGlvbkVuZD10aGlzLl9nZXRNb3VzZUJ1ZmZlckNvb3JkcyhlKSl9X2hhbmRsZVNpbmdsZUNsaWNrKGUpe2lmKHRoaXMuX21vZGVsLnNlbGVjdGlvblN0YXJ0TGVuZ3RoPTAsdGhpcy5fbW9kZWwuaXNTZWxlY3RBbGxBY3RpdmU9ITEsdGhpcy5fYWN0aXZlU2VsZWN0aW9uTW9kZT10aGlzLnNob3VsZENvbHVtblNlbGVjdChlKT8zOjAsdGhpcy5fbW9kZWwuc2VsZWN0aW9uU3RhcnQ9dGhpcy5fZ2V0TW91c2VCdWZmZXJDb29yZHMoZSksIXRoaXMuX21vZGVsLnNlbGVjdGlvblN0YXJ0KXJldHVybjt0aGlzLl9tb2RlbC5zZWxlY3Rpb25FbmQ9dm9pZCAwO2NvbnN0IHQ9dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIubGluZXMuZ2V0KHRoaXMuX21vZGVsLnNlbGVjdGlvblN0YXJ0WzFdKTt0JiZ0Lmxlbmd0aCE9PXRoaXMuX21vZGVsLnNlbGVjdGlvblN0YXJ0WzBdJiYwPT09dC5oYXNXaWR0aCh0aGlzLl9tb2RlbC5zZWxlY3Rpb25TdGFydFswXSkmJnRoaXMuX21vZGVsLnNlbGVjdGlvblN0YXJ0WzBdKyt9X2hhbmRsZURvdWJsZUNsaWNrKGUpe3RoaXMuX3NlbGVjdFdvcmRBdEN1cnNvcihlLCEwKSYmKHRoaXMuX2FjdGl2ZVNlbGVjdGlvbk1vZGU9MSl9X2hhbmRsZVRyaXBsZUNsaWNrKGUpe2NvbnN0IHQ9dGhpcy5fZ2V0TW91c2VCdWZmZXJDb29yZHMoZSk7dCYmKHRoaXMuX2FjdGl2ZVNlbGVjdGlvbk1vZGU9Mix0aGlzLl9zZWxlY3RMaW5lQXQodFsxXSkpfXNob3VsZENvbHVtblNlbGVjdChlKXtyZXR1cm4gZS5hbHRLZXkmJiEoZC5pc01hYyYmdGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5tYWNPcHRpb25DbGlja0ZvcmNlc1NlbGVjdGlvbil9X2hhbmRsZU1vdXNlTW92ZShlKXtpZihlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLCF0aGlzLl9tb2RlbC5zZWxlY3Rpb25TdGFydClyZXR1cm47Y29uc3QgdD10aGlzLl9tb2RlbC5zZWxlY3Rpb25FbmQ/W3RoaXMuX21vZGVsLnNlbGVjdGlvbkVuZFswXSx0aGlzLl9tb2RlbC5zZWxlY3Rpb25FbmRbMV1dOm51bGw7aWYodGhpcy5fbW9kZWwuc2VsZWN0aW9uRW5kPXRoaXMuX2dldE1vdXNlQnVmZmVyQ29vcmRzKGUpLCF0aGlzLl9tb2RlbC5zZWxlY3Rpb25FbmQpcmV0dXJuIHZvaWQgdGhpcy5yZWZyZXNoKCEwKTsyPT09dGhpcy5fYWN0aXZlU2VsZWN0aW9uTW9kZT90aGlzLl9tb2RlbC5zZWxlY3Rpb25FbmRbMV08dGhpcy5fbW9kZWwuc2VsZWN0aW9uU3RhcnRbMV0/dGhpcy5fbW9kZWwuc2VsZWN0aW9uRW5kWzBdPTA6dGhpcy5fbW9kZWwuc2VsZWN0aW9uRW5kWzBdPXRoaXMuX2J1ZmZlclNlcnZpY2UuY29sczoxPT09dGhpcy5fYWN0aXZlU2VsZWN0aW9uTW9kZSYmdGhpcy5fc2VsZWN0VG9Xb3JkQXQodGhpcy5fbW9kZWwuc2VsZWN0aW9uRW5kKSx0aGlzLl9kcmFnU2Nyb2xsQW1vdW50PXRoaXMuX2dldE1vdXNlRXZlbnRTY3JvbGxBbW91bnQoZSksMyE9PXRoaXMuX2FjdGl2ZVNlbGVjdGlvbk1vZGUmJih0aGlzLl9kcmFnU2Nyb2xsQW1vdW50PjA/dGhpcy5fbW9kZWwuc2VsZWN0aW9uRW5kWzBdPXRoaXMuX2J1ZmZlclNlcnZpY2UuY29sczp0aGlzLl9kcmFnU2Nyb2xsQW1vdW50PDAmJih0aGlzLl9tb2RlbC5zZWxlY3Rpb25FbmRbMF09MCkpO2NvbnN0IGk9dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXI7aWYodGhpcy5fbW9kZWwuc2VsZWN0aW9uRW5kWzFdPGkubGluZXMubGVuZ3RoKXtjb25zdCBlPWkubGluZXMuZ2V0KHRoaXMuX21vZGVsLnNlbGVjdGlvbkVuZFsxXSk7ZSYmMD09PWUuaGFzV2lkdGgodGhpcy5fbW9kZWwuc2VsZWN0aW9uRW5kWzBdKSYmdGhpcy5fbW9kZWwuc2VsZWN0aW9uRW5kWzBdPHRoaXMuX2J1ZmZlclNlcnZpY2UuY29scyYmdGhpcy5fbW9kZWwuc2VsZWN0aW9uRW5kWzBdKyt9dCYmdFswXT09PXRoaXMuX21vZGVsLnNlbGVjdGlvbkVuZFswXSYmdFsxXT09PXRoaXMuX21vZGVsLnNlbGVjdGlvbkVuZFsxXXx8dGhpcy5yZWZyZXNoKCEwKX1fZHJhZ1Njcm9sbCgpe2lmKHRoaXMuX21vZGVsLnNlbGVjdGlvbkVuZCYmdGhpcy5fbW9kZWwuc2VsZWN0aW9uU3RhcnQmJnRoaXMuX2RyYWdTY3JvbGxBbW91bnQpe3RoaXMuX29uUmVxdWVzdFNjcm9sbExpbmVzLmZpcmUoe2Ftb3VudDp0aGlzLl9kcmFnU2Nyb2xsQW1vdW50LHN1cHByZXNzU2Nyb2xsRXZlbnQ6ITF9KTtjb25zdCBlPXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyO3RoaXMuX2RyYWdTY3JvbGxBbW91bnQ+MD8oMyE9PXRoaXMuX2FjdGl2ZVNlbGVjdGlvbk1vZGUmJih0aGlzLl9tb2RlbC5zZWxlY3Rpb25FbmRbMF09dGhpcy5fYnVmZmVyU2VydmljZS5jb2xzKSx0aGlzLl9tb2RlbC5zZWxlY3Rpb25FbmRbMV09TWF0aC5taW4oZS55ZGlzcCt0aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MsZS5saW5lcy5sZW5ndGgtMSkpOigzIT09dGhpcy5fYWN0aXZlU2VsZWN0aW9uTW9kZSYmKHRoaXMuX21vZGVsLnNlbGVjdGlvbkVuZFswXT0wKSx0aGlzLl9tb2RlbC5zZWxlY3Rpb25FbmRbMV09ZS55ZGlzcCksdGhpcy5yZWZyZXNoKCl9fV9oYW5kbGVNb3VzZVVwKGUpe2NvbnN0IHQ9ZS50aW1lU3RhbXAtdGhpcy5fbW91c2VEb3duVGltZVN0YW1wO2lmKHRoaXMuX3JlbW92ZU1vdXNlRG93bkxpc3RlbmVycygpLHRoaXMuc2VsZWN0aW9uVGV4dC5sZW5ndGg8PTEmJnQ8NTAwJiZlLmFsdEtleSYmdGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5hbHRDbGlja01vdmVzQ3Vyc29yKXtpZih0aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci55YmFzZT09PXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLnlkaXNwKXtjb25zdCB0PXRoaXMuX21vdXNlU2VydmljZS5nZXRDb29yZHMoZSx0aGlzLl9lbGVtZW50LHRoaXMuX2J1ZmZlclNlcnZpY2UuY29scyx0aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MsITEpO2lmKHQmJnZvaWQgMCE9PXRbMF0mJnZvaWQgMCE9PXRbMV0pe2NvbnN0IGU9KDAsby5tb3ZlVG9DZWxsU2VxdWVuY2UpKHRbMF0tMSx0WzFdLTEsdGhpcy5fYnVmZmVyU2VydmljZSx0aGlzLl9jb3JlU2VydmljZS5kZWNQcml2YXRlTW9kZXMuYXBwbGljYXRpb25DdXJzb3JLZXlzKTt0aGlzLl9jb3JlU2VydmljZS50cmlnZ2VyRGF0YUV2ZW50KGUsITApfX19ZWxzZSB0aGlzLl9maXJlRXZlbnRJZlNlbGVjdGlvbkNoYW5nZWQoKX1fZmlyZUV2ZW50SWZTZWxlY3Rpb25DaGFuZ2VkKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5maW5hbFNlbGVjdGlvblN0YXJ0LHQ9dGhpcy5fbW9kZWwuZmluYWxTZWxlY3Rpb25FbmQsaT0hKCFlfHwhdHx8ZVswXT09PXRbMF0mJmVbMV09PT10WzFdKTtpP2UmJnQmJih0aGlzLl9vbGRTZWxlY3Rpb25TdGFydCYmdGhpcy5fb2xkU2VsZWN0aW9uRW5kJiZlWzBdPT09dGhpcy5fb2xkU2VsZWN0aW9uU3RhcnRbMF0mJmVbMV09PT10aGlzLl9vbGRTZWxlY3Rpb25TdGFydFsxXSYmdFswXT09PXRoaXMuX29sZFNlbGVjdGlvbkVuZFswXSYmdFsxXT09PXRoaXMuX29sZFNlbGVjdGlvbkVuZFsxXXx8dGhpcy5fZmlyZU9uU2VsZWN0aW9uQ2hhbmdlKGUsdCxpKSk6dGhpcy5fb2xkSGFzU2VsZWN0aW9uJiZ0aGlzLl9maXJlT25TZWxlY3Rpb25DaGFuZ2UoZSx0LGkpfV9maXJlT25TZWxlY3Rpb25DaGFuZ2UoZSx0LGkpe3RoaXMuX29sZFNlbGVjdGlvblN0YXJ0PWUsdGhpcy5fb2xkU2VsZWN0aW9uRW5kPXQsdGhpcy5fb2xkSGFzU2VsZWN0aW9uPWksdGhpcy5fb25TZWxlY3Rpb25DaGFuZ2UuZmlyZSgpfV9oYW5kbGVCdWZmZXJBY3RpdmF0ZShlKXt0aGlzLmNsZWFyU2VsZWN0aW9uKCksdGhpcy5fdHJpbUxpc3RlbmVyLmRpc3Bvc2UoKSx0aGlzLl90cmltTGlzdGVuZXI9ZS5hY3RpdmVCdWZmZXIubGluZXMub25UcmltKChlPT50aGlzLl9oYW5kbGVUcmltKGUpKSl9X2NvbnZlcnRWaWV3cG9ydENvbFRvQ2hhcmFjdGVySW5kZXgoZSx0KXtsZXQgaT10O2ZvcihsZXQgcz0wO3Q+PXM7cysrKXtjb25zdCByPWUubG9hZENlbGwocyx0aGlzLl93b3JrQ2VsbCkuZ2V0Q2hhcnMoKS5sZW5ndGg7MD09PXRoaXMuX3dvcmtDZWxsLmdldFdpZHRoKCk/aS0tOnI+MSYmdCE9PXMmJihpKz1yLTEpfXJldHVybiBpfXNldFNlbGVjdGlvbihlLHQsaSl7dGhpcy5fbW9kZWwuY2xlYXJTZWxlY3Rpb24oKSx0aGlzLl9yZW1vdmVNb3VzZURvd25MaXN0ZW5lcnMoKSx0aGlzLl9tb2RlbC5zZWxlY3Rpb25TdGFydD1bZSx0XSx0aGlzLl9tb2RlbC5zZWxlY3Rpb25TdGFydExlbmd0aD1pLHRoaXMucmVmcmVzaCgpLHRoaXMuX2ZpcmVFdmVudElmU2VsZWN0aW9uQ2hhbmdlZCgpfXJpZ2h0Q2xpY2tTZWxlY3QoZSl7dGhpcy5faXNDbGlja0luU2VsZWN0aW9uKGUpfHwodGhpcy5fc2VsZWN0V29yZEF0Q3Vyc29yKGUsITEpJiZ0aGlzLnJlZnJlc2goITApLHRoaXMuX2ZpcmVFdmVudElmU2VsZWN0aW9uQ2hhbmdlZCgpKX1fZ2V0V29yZEF0KGUsdCxpPSEwLHM9ITApe2lmKGVbMF0+PXRoaXMuX2J1ZmZlclNlcnZpY2UuY29scylyZXR1cm47Y29uc3Qgcj10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlcixuPXIubGluZXMuZ2V0KGVbMV0pO2lmKCFuKXJldHVybjtjb25zdCBvPXIudHJhbnNsYXRlQnVmZmVyTGluZVRvU3RyaW5nKGVbMV0sITEpO2xldCBhPXRoaXMuX2NvbnZlcnRWaWV3cG9ydENvbFRvQ2hhcmFjdGVySW5kZXgobixlWzBdKSxoPWE7Y29uc3QgYz1lWzBdLWE7bGV0IGw9MCxkPTAsXz0wLHU9MDtpZihcIiBcIj09PW8uY2hhckF0KGEpKXtmb3IoO2E+MCYmXCIgXCI9PT1vLmNoYXJBdChhLTEpOylhLS07Zm9yKDtoPG8ubGVuZ3RoJiZcIiBcIj09PW8uY2hhckF0KGgrMSk7KWgrK31lbHNle2xldCB0PWVbMF0saT1lWzBdOzA9PT1uLmdldFdpZHRoKHQpJiYobCsrLHQtLSksMj09PW4uZ2V0V2lkdGgoaSkmJihkKyssaSsrKTtjb25zdCBzPW4uZ2V0U3RyaW5nKGkpLmxlbmd0aDtmb3Iocz4xJiYodSs9cy0xLGgrPXMtMSk7dD4wJiZhPjAmJiF0aGlzLl9pc0NoYXJXb3JkU2VwYXJhdG9yKG4ubG9hZENlbGwodC0xLHRoaXMuX3dvcmtDZWxsKSk7KXtuLmxvYWRDZWxsKHQtMSx0aGlzLl93b3JrQ2VsbCk7Y29uc3QgZT10aGlzLl93b3JrQ2VsbC5nZXRDaGFycygpLmxlbmd0aDswPT09dGhpcy5fd29ya0NlbGwuZ2V0V2lkdGgoKT8obCsrLHQtLSk6ZT4xJiYoXys9ZS0xLGEtPWUtMSksYS0tLHQtLX1mb3IoO2k8bi5sZW5ndGgmJmgrMTxvLmxlbmd0aCYmIXRoaXMuX2lzQ2hhcldvcmRTZXBhcmF0b3Iobi5sb2FkQ2VsbChpKzEsdGhpcy5fd29ya0NlbGwpKTspe24ubG9hZENlbGwoaSsxLHRoaXMuX3dvcmtDZWxsKTtjb25zdCBlPXRoaXMuX3dvcmtDZWxsLmdldENoYXJzKCkubGVuZ3RoOzI9PT10aGlzLl93b3JrQ2VsbC5nZXRXaWR0aCgpPyhkKyssaSsrKTplPjEmJih1Kz1lLTEsaCs9ZS0xKSxoKyssaSsrfX1oKys7bGV0IGY9YStjLWwrXyx2PU1hdGgubWluKHRoaXMuX2J1ZmZlclNlcnZpY2UuY29scyxoLWErbCtkLV8tdSk7aWYodHx8XCJcIiE9PW8uc2xpY2UoYSxoKS50cmltKCkpe2lmKGkmJjA9PT1mJiYzMiE9PW4uZ2V0Q29kZVBvaW50KDApKXtjb25zdCB0PXIubGluZXMuZ2V0KGVbMV0tMSk7aWYodCYmbi5pc1dyYXBwZWQmJjMyIT09dC5nZXRDb2RlUG9pbnQodGhpcy5fYnVmZmVyU2VydmljZS5jb2xzLTEpKXtjb25zdCB0PXRoaXMuX2dldFdvcmRBdChbdGhpcy5fYnVmZmVyU2VydmljZS5jb2xzLTEsZVsxXS0xXSwhMSwhMCwhMSk7aWYodCl7Y29uc3QgZT10aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMtdC5zdGFydDtmLT1lLHYrPWV9fX1pZihzJiZmK3Y9PT10aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMmJjMyIT09bi5nZXRDb2RlUG9pbnQodGhpcy5fYnVmZmVyU2VydmljZS5jb2xzLTEpKXtjb25zdCB0PXIubGluZXMuZ2V0KGVbMV0rMSk7aWYodD8uaXNXcmFwcGVkJiYzMiE9PXQuZ2V0Q29kZVBvaW50KDApKXtjb25zdCB0PXRoaXMuX2dldFdvcmRBdChbMCxlWzFdKzFdLCExLCExLCEwKTt0JiYodis9dC5sZW5ndGgpfX1yZXR1cm57c3RhcnQ6ZixsZW5ndGg6dn19fV9zZWxlY3RXb3JkQXQoZSx0KXtjb25zdCBpPXRoaXMuX2dldFdvcmRBdChlLHQpO2lmKGkpe2Zvcig7aS5zdGFydDwwOylpLnN0YXJ0Kz10aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMsZVsxXS0tO3RoaXMuX21vZGVsLnNlbGVjdGlvblN0YXJ0PVtpLnN0YXJ0LGVbMV1dLHRoaXMuX21vZGVsLnNlbGVjdGlvblN0YXJ0TGVuZ3RoPWkubGVuZ3RofX1fc2VsZWN0VG9Xb3JkQXQoZSl7Y29uc3QgdD10aGlzLl9nZXRXb3JkQXQoZSwhMCk7aWYodCl7bGV0IGk9ZVsxXTtmb3IoO3Quc3RhcnQ8MDspdC5zdGFydCs9dGhpcy5fYnVmZmVyU2VydmljZS5jb2xzLGktLTtpZighdGhpcy5fbW9kZWwuYXJlU2VsZWN0aW9uVmFsdWVzUmV2ZXJzZWQoKSlmb3IoO3Quc3RhcnQrdC5sZW5ndGg+dGhpcy5fYnVmZmVyU2VydmljZS5jb2xzOyl0Lmxlbmd0aC09dGhpcy5fYnVmZmVyU2VydmljZS5jb2xzLGkrKzt0aGlzLl9tb2RlbC5zZWxlY3Rpb25FbmQ9W3RoaXMuX21vZGVsLmFyZVNlbGVjdGlvblZhbHVlc1JldmVyc2VkKCk/dC5zdGFydDp0LnN0YXJ0K3QubGVuZ3RoLGldfX1faXNDaGFyV29yZFNlcGFyYXRvcihlKXtyZXR1cm4gMCE9PWUuZ2V0V2lkdGgoKSYmdGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy53b3JkU2VwYXJhdG9yLmluZGV4T2YoZS5nZXRDaGFycygpKT49MH1fc2VsZWN0TGluZUF0KGUpe2NvbnN0IHQ9dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIuZ2V0V3JhcHBlZFJhbmdlRm9yTGluZShlKSxpPXtzdGFydDp7eDowLHk6dC5maXJzdH0sZW5kOnt4OnRoaXMuX2J1ZmZlclNlcnZpY2UuY29scy0xLHk6dC5sYXN0fX07dGhpcy5fbW9kZWwuc2VsZWN0aW9uU3RhcnQ9WzAsdC5maXJzdF0sdGhpcy5fbW9kZWwuc2VsZWN0aW9uRW5kPXZvaWQgMCx0aGlzLl9tb2RlbC5zZWxlY3Rpb25TdGFydExlbmd0aD0oMCxfLmdldFJhbmdlTGVuZ3RoKShpLHRoaXMuX2J1ZmZlclNlcnZpY2UuY29scyl9fTt0LlNlbGVjdGlvblNlcnZpY2U9Zz1zKFtyKDMsZi5JQnVmZmVyU2VydmljZSkscig0LGYuSUNvcmVTZXJ2aWNlKSxyKDUsaC5JTW91c2VTZXJ2aWNlKSxyKDYsZi5JT3B0aW9uc1NlcnZpY2UpLHIoNyxoLklSZW5kZXJTZXJ2aWNlKSxyKDgsaC5JQ29yZUJyb3dzZXJTZXJ2aWNlKV0sZyl9LDQ3MjU6KGUsdCxpKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuSUxpbmtQcm92aWRlclNlcnZpY2U9dC5JVGhlbWVTZXJ2aWNlPXQuSUNoYXJhY3RlckpvaW5lclNlcnZpY2U9dC5JU2VsZWN0aW9uU2VydmljZT10LklSZW5kZXJTZXJ2aWNlPXQuSU1vdXNlU2VydmljZT10LklDb3JlQnJvd3NlclNlcnZpY2U9dC5JQ2hhclNpemVTZXJ2aWNlPXZvaWQgMDtjb25zdCBzPWkoODM0Myk7dC5JQ2hhclNpemVTZXJ2aWNlPSgwLHMuY3JlYXRlRGVjb3JhdG9yKShcIkNoYXJTaXplU2VydmljZVwiKSx0LklDb3JlQnJvd3NlclNlcnZpY2U9KDAscy5jcmVhdGVEZWNvcmF0b3IpKFwiQ29yZUJyb3dzZXJTZXJ2aWNlXCIpLHQuSU1vdXNlU2VydmljZT0oMCxzLmNyZWF0ZURlY29yYXRvcikoXCJNb3VzZVNlcnZpY2VcIiksdC5JUmVuZGVyU2VydmljZT0oMCxzLmNyZWF0ZURlY29yYXRvcikoXCJSZW5kZXJTZXJ2aWNlXCIpLHQuSVNlbGVjdGlvblNlcnZpY2U9KDAscy5jcmVhdGVEZWNvcmF0b3IpKFwiU2VsZWN0aW9uU2VydmljZVwiKSx0LklDaGFyYWN0ZXJKb2luZXJTZXJ2aWNlPSgwLHMuY3JlYXRlRGVjb3JhdG9yKShcIkNoYXJhY3RlckpvaW5lclNlcnZpY2VcIiksdC5JVGhlbWVTZXJ2aWNlPSgwLHMuY3JlYXRlRGVjb3JhdG9yKShcIlRoZW1lU2VydmljZVwiKSx0LklMaW5rUHJvdmlkZXJTZXJ2aWNlPSgwLHMuY3JlYXRlRGVjb3JhdG9yKShcIkxpbmtQcm92aWRlclNlcnZpY2VcIil9LDY3MzE6ZnVuY3Rpb24oZSx0LGkpe3ZhciBzPXRoaXMmJnRoaXMuX19kZWNvcmF0ZXx8ZnVuY3Rpb24oZSx0LGkscyl7dmFyIHIsbj1hcmd1bWVudHMubGVuZ3RoLG89bjwzP3Q6bnVsbD09PXM/cz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsaSk6cztpZihcIm9iamVjdFwiPT10eXBlb2YgUmVmbGVjdCYmXCJmdW5jdGlvblwiPT10eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSlvPVJlZmxlY3QuZGVjb3JhdGUoZSx0LGkscyk7ZWxzZSBmb3IodmFyIGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkocj1lW2FdKSYmKG89KG48Mz9yKG8pOm4+Mz9yKHQsaSxvKTpyKHQsaSkpfHxvKTtyZXR1cm4gbj4zJiZvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxpLG8pLG99LHI9dGhpcyYmdGhpcy5fX3BhcmFtfHxmdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihpLHMpe3QoaSxzLGUpfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5UaGVtZVNlcnZpY2U9dC5ERUZBVUxUX0FOU0lfQ09MT1JTPXZvaWQgMDtjb25zdCBuPWkoNzIzOSksbz1pKDgwNTUpLGE9aSg4NDYwKSxoPWkoODQ0KSxjPWkoMjU4NSksbD1vLmNzcy50b0NvbG9yKFwiI2ZmZmZmZlwiKSxkPW8uY3NzLnRvQ29sb3IoXCIjMDAwMDAwXCIpLF89by5jc3MudG9Db2xvcihcIiNmZmZmZmZcIiksdT1vLmNzcy50b0NvbG9yKFwiIzAwMDAwMFwiKSxmPXtjc3M6XCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMylcIixyZ2JhOjQyOTQ5NjcxMTd9O3QuREVGQVVMVF9BTlNJX0NPTE9SUz1PYmplY3QuZnJlZXplKCgoKT0+e2NvbnN0IGU9W28uY3NzLnRvQ29sb3IoXCIjMmUzNDM2XCIpLG8uY3NzLnRvQ29sb3IoXCIjY2MwMDAwXCIpLG8uY3NzLnRvQ29sb3IoXCIjNGU5YTA2XCIpLG8uY3NzLnRvQ29sb3IoXCIjYzRhMDAwXCIpLG8uY3NzLnRvQ29sb3IoXCIjMzQ2NWE0XCIpLG8uY3NzLnRvQ29sb3IoXCIjNzU1MDdiXCIpLG8uY3NzLnRvQ29sb3IoXCIjMDY5ODlhXCIpLG8uY3NzLnRvQ29sb3IoXCIjZDNkN2NmXCIpLG8uY3NzLnRvQ29sb3IoXCIjNTU1NzUzXCIpLG8uY3NzLnRvQ29sb3IoXCIjZWYyOTI5XCIpLG8uY3NzLnRvQ29sb3IoXCIjOGFlMjM0XCIpLG8uY3NzLnRvQ29sb3IoXCIjZmNlOTRmXCIpLG8uY3NzLnRvQ29sb3IoXCIjNzI5ZmNmXCIpLG8uY3NzLnRvQ29sb3IoXCIjYWQ3ZmE4XCIpLG8uY3NzLnRvQ29sb3IoXCIjMzRlMmUyXCIpLG8uY3NzLnRvQ29sb3IoXCIjZWVlZWVjXCIpXSx0PVswLDk1LDEzNSwxNzUsMjE1LDI1NV07Zm9yKGxldCBpPTA7aTwyMTY7aSsrKXtjb25zdCBzPXRbaS8zNiU2fDBdLHI9dFtpLzYlNnwwXSxuPXRbaSU2XTtlLnB1c2goe2NzczpvLmNoYW5uZWxzLnRvQ3NzKHMscixuKSxyZ2JhOm8uY2hhbm5lbHMudG9SZ2JhKHMscixuKX0pfWZvcihsZXQgdD0wO3Q8MjQ7dCsrKXtjb25zdCBpPTgrMTAqdDtlLnB1c2goe2NzczpvLmNoYW5uZWxzLnRvQ3NzKGksaSxpKSxyZ2JhOm8uY2hhbm5lbHMudG9SZ2JhKGksaSxpKX0pfXJldHVybiBlfSkoKSk7bGV0IHY9dC5UaGVtZVNlcnZpY2U9Y2xhc3MgZXh0ZW5kcyBoLkRpc3Bvc2FibGV7Z2V0IGNvbG9ycygpe3JldHVybiB0aGlzLl9jb2xvcnN9Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9vcHRpb25zU2VydmljZT1lLHRoaXMuX2NvbnRyYXN0Q2FjaGU9bmV3IG4uQ29sb3JDb250cmFzdENhY2hlLHRoaXMuX2hhbGZDb250cmFzdENhY2hlPW5ldyBuLkNvbG9yQ29udHJhc3RDYWNoZSx0aGlzLl9vbkNoYW5nZUNvbG9ycz10aGlzLnJlZ2lzdGVyKG5ldyBhLkV2ZW50RW1pdHRlciksdGhpcy5vbkNoYW5nZUNvbG9ycz10aGlzLl9vbkNoYW5nZUNvbG9ycy5ldmVudCx0aGlzLl9jb2xvcnM9e2ZvcmVncm91bmQ6bCxiYWNrZ3JvdW5kOmQsY3Vyc29yOl8sY3Vyc29yQWNjZW50OnUsc2VsZWN0aW9uRm9yZWdyb3VuZDp2b2lkIDAsc2VsZWN0aW9uQmFja2dyb3VuZFRyYW5zcGFyZW50OmYsc2VsZWN0aW9uQmFja2dyb3VuZE9wYXF1ZTpvLmNvbG9yLmJsZW5kKGQsZiksc2VsZWN0aW9uSW5hY3RpdmVCYWNrZ3JvdW5kVHJhbnNwYXJlbnQ6ZixzZWxlY3Rpb25JbmFjdGl2ZUJhY2tncm91bmRPcGFxdWU6by5jb2xvci5ibGVuZChkLGYpLGFuc2k6dC5ERUZBVUxUX0FOU0lfQ09MT1JTLnNsaWNlKCksY29udHJhc3RDYWNoZTp0aGlzLl9jb250cmFzdENhY2hlLGhhbGZDb250cmFzdENhY2hlOnRoaXMuX2hhbGZDb250cmFzdENhY2hlfSx0aGlzLl91cGRhdGVSZXN0b3JlQ29sb3JzKCksdGhpcy5fc2V0VGhlbWUodGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy50aGVtZSksdGhpcy5yZWdpc3Rlcih0aGlzLl9vcHRpb25zU2VydmljZS5vblNwZWNpZmljT3B0aW9uQ2hhbmdlKFwibWluaW11bUNvbnRyYXN0UmF0aW9cIiwoKCk9PnRoaXMuX2NvbnRyYXN0Q2FjaGUuY2xlYXIoKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9uU3BlY2lmaWNPcHRpb25DaGFuZ2UoXCJ0aGVtZVwiLCgoKT0+dGhpcy5fc2V0VGhlbWUodGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy50aGVtZSkpKSl9X3NldFRoZW1lKGU9e30pe2NvbnN0IGk9dGhpcy5fY29sb3JzO2lmKGkuZm9yZWdyb3VuZD1wKGUuZm9yZWdyb3VuZCxsKSxpLmJhY2tncm91bmQ9cChlLmJhY2tncm91bmQsZCksaS5jdXJzb3I9cChlLmN1cnNvcixfKSxpLmN1cnNvckFjY2VudD1wKGUuY3Vyc29yQWNjZW50LHUpLGkuc2VsZWN0aW9uQmFja2dyb3VuZFRyYW5zcGFyZW50PXAoZS5zZWxlY3Rpb25CYWNrZ3JvdW5kLGYpLGkuc2VsZWN0aW9uQmFja2dyb3VuZE9wYXF1ZT1vLmNvbG9yLmJsZW5kKGkuYmFja2dyb3VuZCxpLnNlbGVjdGlvbkJhY2tncm91bmRUcmFuc3BhcmVudCksaS5zZWxlY3Rpb25JbmFjdGl2ZUJhY2tncm91bmRUcmFuc3BhcmVudD1wKGUuc2VsZWN0aW9uSW5hY3RpdmVCYWNrZ3JvdW5kLGkuc2VsZWN0aW9uQmFja2dyb3VuZFRyYW5zcGFyZW50KSxpLnNlbGVjdGlvbkluYWN0aXZlQmFja2dyb3VuZE9wYXF1ZT1vLmNvbG9yLmJsZW5kKGkuYmFja2dyb3VuZCxpLnNlbGVjdGlvbkluYWN0aXZlQmFja2dyb3VuZFRyYW5zcGFyZW50KSxpLnNlbGVjdGlvbkZvcmVncm91bmQ9ZS5zZWxlY3Rpb25Gb3JlZ3JvdW5kP3AoZS5zZWxlY3Rpb25Gb3JlZ3JvdW5kLG8uTlVMTF9DT0xPUik6dm9pZCAwLGkuc2VsZWN0aW9uRm9yZWdyb3VuZD09PW8uTlVMTF9DT0xPUiYmKGkuc2VsZWN0aW9uRm9yZWdyb3VuZD12b2lkIDApLG8uY29sb3IuaXNPcGFxdWUoaS5zZWxlY3Rpb25CYWNrZ3JvdW5kVHJhbnNwYXJlbnQpKXtjb25zdCBlPS4zO2kuc2VsZWN0aW9uQmFja2dyb3VuZFRyYW5zcGFyZW50PW8uY29sb3Iub3BhY2l0eShpLnNlbGVjdGlvbkJhY2tncm91bmRUcmFuc3BhcmVudCxlKX1pZihvLmNvbG9yLmlzT3BhcXVlKGkuc2VsZWN0aW9uSW5hY3RpdmVCYWNrZ3JvdW5kVHJhbnNwYXJlbnQpKXtjb25zdCBlPS4zO2kuc2VsZWN0aW9uSW5hY3RpdmVCYWNrZ3JvdW5kVHJhbnNwYXJlbnQ9by5jb2xvci5vcGFjaXR5KGkuc2VsZWN0aW9uSW5hY3RpdmVCYWNrZ3JvdW5kVHJhbnNwYXJlbnQsZSl9aWYoaS5hbnNpPXQuREVGQVVMVF9BTlNJX0NPTE9SUy5zbGljZSgpLGkuYW5zaVswXT1wKGUuYmxhY2ssdC5ERUZBVUxUX0FOU0lfQ09MT1JTWzBdKSxpLmFuc2lbMV09cChlLnJlZCx0LkRFRkFVTFRfQU5TSV9DT0xPUlNbMV0pLGkuYW5zaVsyXT1wKGUuZ3JlZW4sdC5ERUZBVUxUX0FOU0lfQ09MT1JTWzJdKSxpLmFuc2lbM109cChlLnllbGxvdyx0LkRFRkFVTFRfQU5TSV9DT0xPUlNbM10pLGkuYW5zaVs0XT1wKGUuYmx1ZSx0LkRFRkFVTFRfQU5TSV9DT0xPUlNbNF0pLGkuYW5zaVs1XT1wKGUubWFnZW50YSx0LkRFRkFVTFRfQU5TSV9DT0xPUlNbNV0pLGkuYW5zaVs2XT1wKGUuY3lhbix0LkRFRkFVTFRfQU5TSV9DT0xPUlNbNl0pLGkuYW5zaVs3XT1wKGUud2hpdGUsdC5ERUZBVUxUX0FOU0lfQ09MT1JTWzddKSxpLmFuc2lbOF09cChlLmJyaWdodEJsYWNrLHQuREVGQVVMVF9BTlNJX0NPTE9SU1s4XSksaS5hbnNpWzldPXAoZS5icmlnaHRSZWQsdC5ERUZBVUxUX0FOU0lfQ09MT1JTWzldKSxpLmFuc2lbMTBdPXAoZS5icmlnaHRHcmVlbix0LkRFRkFVTFRfQU5TSV9DT0xPUlNbMTBdKSxpLmFuc2lbMTFdPXAoZS5icmlnaHRZZWxsb3csdC5ERUZBVUxUX0FOU0lfQ09MT1JTWzExXSksaS5hbnNpWzEyXT1wKGUuYnJpZ2h0Qmx1ZSx0LkRFRkFVTFRfQU5TSV9DT0xPUlNbMTJdKSxpLmFuc2lbMTNdPXAoZS5icmlnaHRNYWdlbnRhLHQuREVGQVVMVF9BTlNJX0NPTE9SU1sxM10pLGkuYW5zaVsxNF09cChlLmJyaWdodEN5YW4sdC5ERUZBVUxUX0FOU0lfQ09MT1JTWzE0XSksaS5hbnNpWzE1XT1wKGUuYnJpZ2h0V2hpdGUsdC5ERUZBVUxUX0FOU0lfQ09MT1JTWzE1XSksZS5leHRlbmRlZEFuc2kpe2NvbnN0IHM9TWF0aC5taW4oaS5hbnNpLmxlbmd0aC0xNixlLmV4dGVuZGVkQW5zaS5sZW5ndGgpO2ZvcihsZXQgcj0wO3I8cztyKyspaS5hbnNpW3IrMTZdPXAoZS5leHRlbmRlZEFuc2lbcl0sdC5ERUZBVUxUX0FOU0lfQ09MT1JTW3IrMTZdKX10aGlzLl9jb250cmFzdENhY2hlLmNsZWFyKCksdGhpcy5faGFsZkNvbnRyYXN0Q2FjaGUuY2xlYXIoKSx0aGlzLl91cGRhdGVSZXN0b3JlQ29sb3JzKCksdGhpcy5fb25DaGFuZ2VDb2xvcnMuZmlyZSh0aGlzLmNvbG9ycyl9cmVzdG9yZUNvbG9yKGUpe3RoaXMuX3Jlc3RvcmVDb2xvcihlKSx0aGlzLl9vbkNoYW5nZUNvbG9ycy5maXJlKHRoaXMuY29sb3JzKX1fcmVzdG9yZUNvbG9yKGUpe2lmKHZvaWQgMCE9PWUpc3dpdGNoKGUpe2Nhc2UgMjU2OnRoaXMuX2NvbG9ycy5mb3JlZ3JvdW5kPXRoaXMuX3Jlc3RvcmVDb2xvcnMuZm9yZWdyb3VuZDticmVhaztjYXNlIDI1Nzp0aGlzLl9jb2xvcnMuYmFja2dyb3VuZD10aGlzLl9yZXN0b3JlQ29sb3JzLmJhY2tncm91bmQ7YnJlYWs7Y2FzZSAyNTg6dGhpcy5fY29sb3JzLmN1cnNvcj10aGlzLl9yZXN0b3JlQ29sb3JzLmN1cnNvcjticmVhaztkZWZhdWx0OnRoaXMuX2NvbG9ycy5hbnNpW2VdPXRoaXMuX3Jlc3RvcmVDb2xvcnMuYW5zaVtlXX1lbHNlIGZvcihsZXQgZT0wO2U8dGhpcy5fcmVzdG9yZUNvbG9ycy5hbnNpLmxlbmd0aDsrK2UpdGhpcy5fY29sb3JzLmFuc2lbZV09dGhpcy5fcmVzdG9yZUNvbG9ycy5hbnNpW2VdfW1vZGlmeUNvbG9ycyhlKXtlKHRoaXMuX2NvbG9ycyksdGhpcy5fb25DaGFuZ2VDb2xvcnMuZmlyZSh0aGlzLmNvbG9ycyl9X3VwZGF0ZVJlc3RvcmVDb2xvcnMoKXt0aGlzLl9yZXN0b3JlQ29sb3JzPXtmb3JlZ3JvdW5kOnRoaXMuX2NvbG9ycy5mb3JlZ3JvdW5kLGJhY2tncm91bmQ6dGhpcy5fY29sb3JzLmJhY2tncm91bmQsY3Vyc29yOnRoaXMuX2NvbG9ycy5jdXJzb3IsYW5zaTp0aGlzLl9jb2xvcnMuYW5zaS5zbGljZSgpfX19O2Z1bmN0aW9uIHAoZSx0KXtpZih2b2lkIDAhPT1lKXRyeXtyZXR1cm4gby5jc3MudG9Db2xvcihlKX1jYXRjaHt9cmV0dXJuIHR9dC5UaGVtZVNlcnZpY2U9dj1zKFtyKDAsYy5JT3B0aW9uc1NlcnZpY2UpXSx2KX0sNjM0OTooZSx0LGkpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5DaXJjdWxhckxpc3Q9dm9pZCAwO2NvbnN0IHM9aSg4NDYwKSxyPWkoODQ0KTtjbGFzcyBuIGV4dGVuZHMgci5EaXNwb3NhYmxle2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fbWF4TGVuZ3RoPWUsdGhpcy5vbkRlbGV0ZUVtaXR0ZXI9dGhpcy5yZWdpc3RlcihuZXcgcy5FdmVudEVtaXR0ZXIpLHRoaXMub25EZWxldGU9dGhpcy5vbkRlbGV0ZUVtaXR0ZXIuZXZlbnQsdGhpcy5vbkluc2VydEVtaXR0ZXI9dGhpcy5yZWdpc3RlcihuZXcgcy5FdmVudEVtaXR0ZXIpLHRoaXMub25JbnNlcnQ9dGhpcy5vbkluc2VydEVtaXR0ZXIuZXZlbnQsdGhpcy5vblRyaW1FbWl0dGVyPXRoaXMucmVnaXN0ZXIobmV3IHMuRXZlbnRFbWl0dGVyKSx0aGlzLm9uVHJpbT10aGlzLm9uVHJpbUVtaXR0ZXIuZXZlbnQsdGhpcy5fYXJyYXk9bmV3IEFycmF5KHRoaXMuX21heExlbmd0aCksdGhpcy5fc3RhcnRJbmRleD0wLHRoaXMuX2xlbmd0aD0wfWdldCBtYXhMZW5ndGgoKXtyZXR1cm4gdGhpcy5fbWF4TGVuZ3RofXNldCBtYXhMZW5ndGgoZSl7aWYodGhpcy5fbWF4TGVuZ3RoPT09ZSlyZXR1cm47Y29uc3QgdD1uZXcgQXJyYXkoZSk7Zm9yKGxldCBpPTA7aTxNYXRoLm1pbihlLHRoaXMubGVuZ3RoKTtpKyspdFtpXT10aGlzLl9hcnJheVt0aGlzLl9nZXRDeWNsaWNJbmRleChpKV07dGhpcy5fYXJyYXk9dCx0aGlzLl9tYXhMZW5ndGg9ZSx0aGlzLl9zdGFydEluZGV4PTB9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLl9sZW5ndGh9c2V0IGxlbmd0aChlKXtpZihlPnRoaXMuX2xlbmd0aClmb3IobGV0IHQ9dGhpcy5fbGVuZ3RoO3Q8ZTt0KyspdGhpcy5fYXJyYXlbdF09dm9pZCAwO3RoaXMuX2xlbmd0aD1lfWdldChlKXtyZXR1cm4gdGhpcy5fYXJyYXlbdGhpcy5fZ2V0Q3ljbGljSW5kZXgoZSldfXNldChlLHQpe3RoaXMuX2FycmF5W3RoaXMuX2dldEN5Y2xpY0luZGV4KGUpXT10fXB1c2goZSl7dGhpcy5fYXJyYXlbdGhpcy5fZ2V0Q3ljbGljSW5kZXgodGhpcy5fbGVuZ3RoKV09ZSx0aGlzLl9sZW5ndGg9PT10aGlzLl9tYXhMZW5ndGg/KHRoaXMuX3N0YXJ0SW5kZXg9Kyt0aGlzLl9zdGFydEluZGV4JXRoaXMuX21heExlbmd0aCx0aGlzLm9uVHJpbUVtaXR0ZXIuZmlyZSgxKSk6dGhpcy5fbGVuZ3RoKyt9cmVjeWNsZSgpe2lmKHRoaXMuX2xlbmd0aCE9PXRoaXMuX21heExlbmd0aCl0aHJvdyBuZXcgRXJyb3IoXCJDYW4gb25seSByZWN5Y2xlIHdoZW4gdGhlIGJ1ZmZlciBpcyBmdWxsXCIpO3JldHVybiB0aGlzLl9zdGFydEluZGV4PSsrdGhpcy5fc3RhcnRJbmRleCV0aGlzLl9tYXhMZW5ndGgsdGhpcy5vblRyaW1FbWl0dGVyLmZpcmUoMSksdGhpcy5fYXJyYXlbdGhpcy5fZ2V0Q3ljbGljSW5kZXgodGhpcy5fbGVuZ3RoLTEpXX1nZXQgaXNGdWxsKCl7cmV0dXJuIHRoaXMuX2xlbmd0aD09PXRoaXMuX21heExlbmd0aH1wb3AoKXtyZXR1cm4gdGhpcy5fYXJyYXlbdGhpcy5fZ2V0Q3ljbGljSW5kZXgodGhpcy5fbGVuZ3RoLS0tMSldfXNwbGljZShlLHQsLi4uaSl7aWYodCl7Zm9yKGxldCBpPWU7aTx0aGlzLl9sZW5ndGgtdDtpKyspdGhpcy5fYXJyYXlbdGhpcy5fZ2V0Q3ljbGljSW5kZXgoaSldPXRoaXMuX2FycmF5W3RoaXMuX2dldEN5Y2xpY0luZGV4KGkrdCldO3RoaXMuX2xlbmd0aC09dCx0aGlzLm9uRGVsZXRlRW1pdHRlci5maXJlKHtpbmRleDplLGFtb3VudDp0fSl9Zm9yKGxldCB0PXRoaXMuX2xlbmd0aC0xO3Q+PWU7dC0tKXRoaXMuX2FycmF5W3RoaXMuX2dldEN5Y2xpY0luZGV4KHQraS5sZW5ndGgpXT10aGlzLl9hcnJheVt0aGlzLl9nZXRDeWNsaWNJbmRleCh0KV07Zm9yKGxldCB0PTA7dDxpLmxlbmd0aDt0KyspdGhpcy5fYXJyYXlbdGhpcy5fZ2V0Q3ljbGljSW5kZXgoZSt0KV09aVt0XTtpZihpLmxlbmd0aCYmdGhpcy5vbkluc2VydEVtaXR0ZXIuZmlyZSh7aW5kZXg6ZSxhbW91bnQ6aS5sZW5ndGh9KSx0aGlzLl9sZW5ndGgraS5sZW5ndGg+dGhpcy5fbWF4TGVuZ3RoKXtjb25zdCBlPXRoaXMuX2xlbmd0aCtpLmxlbmd0aC10aGlzLl9tYXhMZW5ndGg7dGhpcy5fc3RhcnRJbmRleCs9ZSx0aGlzLl9sZW5ndGg9dGhpcy5fbWF4TGVuZ3RoLHRoaXMub25UcmltRW1pdHRlci5maXJlKGUpfWVsc2UgdGhpcy5fbGVuZ3RoKz1pLmxlbmd0aH10cmltU3RhcnQoZSl7ZT50aGlzLl9sZW5ndGgmJihlPXRoaXMuX2xlbmd0aCksdGhpcy5fc3RhcnRJbmRleCs9ZSx0aGlzLl9sZW5ndGgtPWUsdGhpcy5vblRyaW1FbWl0dGVyLmZpcmUoZSl9c2hpZnRFbGVtZW50cyhlLHQsaSl7aWYoISh0PD0wKSl7aWYoZTwwfHxlPj10aGlzLl9sZW5ndGgpdGhyb3cgbmV3IEVycm9yKFwic3RhcnQgYXJndW1lbnQgb3V0IG9mIHJhbmdlXCIpO2lmKGUraTwwKXRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBzaGlmdCBlbGVtZW50cyBpbiBsaXN0IGJleW9uZCBpbmRleCAwXCIpO2lmKGk+MCl7Zm9yKGxldCBzPXQtMTtzPj0wO3MtLSl0aGlzLnNldChlK3MraSx0aGlzLmdldChlK3MpKTtjb25zdCBzPWUrdCtpLXRoaXMuX2xlbmd0aDtpZihzPjApZm9yKHRoaXMuX2xlbmd0aCs9czt0aGlzLl9sZW5ndGg+dGhpcy5fbWF4TGVuZ3RoOyl0aGlzLl9sZW5ndGgtLSx0aGlzLl9zdGFydEluZGV4KyssdGhpcy5vblRyaW1FbWl0dGVyLmZpcmUoMSl9ZWxzZSBmb3IobGV0IHM9MDtzPHQ7cysrKXRoaXMuc2V0KGUrcytpLHRoaXMuZ2V0KGUrcykpfX1fZ2V0Q3ljbGljSW5kZXgoZSl7cmV0dXJuKHRoaXMuX3N0YXJ0SW5kZXgrZSkldGhpcy5fbWF4TGVuZ3RofX10LkNpcmN1bGFyTGlzdD1ufSwxNDM5OihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5jbG9uZT12b2lkIDAsdC5jbG9uZT1mdW5jdGlvbiBlKHQsaT01KXtpZihcIm9iamVjdFwiIT10eXBlb2YgdClyZXR1cm4gdDtjb25zdCBzPUFycmF5LmlzQXJyYXkodCk/W106e307Zm9yKGNvbnN0IHIgaW4gdClzW3JdPWk8PTE/dFtyXTp0W3JdJiZlKHRbcl0saS0xKTtyZXR1cm4gc319LDgwNTU6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LmNvbnRyYXN0UmF0aW89dC50b1BhZGRlZEhleD10LnJnYmE9dC5yZ2I9dC5jc3M9dC5jb2xvcj10LmNoYW5uZWxzPXQuTlVMTF9DT0xPUj12b2lkIDA7bGV0IGk9MCxzPTAscj0wLG49MDt2YXIgbyxhLGgsYyxsO2Z1bmN0aW9uIGQoZSl7Y29uc3QgdD1lLnRvU3RyaW5nKDE2KTtyZXR1cm4gdC5sZW5ndGg8Mj9cIjBcIit0OnR9ZnVuY3Rpb24gXyhlLHQpe3JldHVybiBlPHQ/KHQrLjA1KS8oZSsuMDUpOihlKy4wNSkvKHQrLjA1KX10Lk5VTExfQ09MT1I9e2NzczpcIiMwMDAwMDAwMFwiLHJnYmE6MH0sZnVuY3Rpb24oZSl7ZS50b0Nzcz1mdW5jdGlvbihlLHQsaSxzKXtyZXR1cm4gdm9pZCAwIT09cz9gIyR7ZChlKX0ke2QodCl9JHtkKGkpfSR7ZChzKX1gOmAjJHtkKGUpfSR7ZCh0KX0ke2QoaSl9YH0sZS50b1JnYmE9ZnVuY3Rpb24oZSx0LGkscz0yNTUpe3JldHVybihlPDwyNHx0PDwxNnxpPDw4fHMpPj4+MH0sZS50b0NvbG9yPWZ1bmN0aW9uKHQsaSxzLHIpe3JldHVybntjc3M6ZS50b0Nzcyh0LGkscyxyKSxyZ2JhOmUudG9SZ2JhKHQsaSxzLHIpfX19KG98fCh0LmNoYW5uZWxzPW89e30pKSxmdW5jdGlvbihlKXtmdW5jdGlvbiB0KGUsdCl7cmV0dXJuIG49TWF0aC5yb3VuZCgyNTUqdCksW2kscyxyXT1sLnRvQ2hhbm5lbHMoZS5yZ2JhKSx7Y3NzOm8udG9Dc3MoaSxzLHIsbikscmdiYTpvLnRvUmdiYShpLHMscixuKX19ZS5ibGVuZD1mdW5jdGlvbihlLHQpe2lmKG49KDI1NSZ0LnJnYmEpLzI1NSwxPT09bilyZXR1cm57Y3NzOnQuY3NzLHJnYmE6dC5yZ2JhfTtjb25zdCBhPXQucmdiYT4+MjQmMjU1LGg9dC5yZ2JhPj4xNiYyNTUsYz10LnJnYmE+PjgmMjU1LGw9ZS5yZ2JhPj4yNCYyNTUsZD1lLnJnYmE+PjE2JjI1NSxfPWUucmdiYT4+OCYyNTU7cmV0dXJuIGk9bCtNYXRoLnJvdW5kKChhLWwpKm4pLHM9ZCtNYXRoLnJvdW5kKChoLWQpKm4pLHI9XytNYXRoLnJvdW5kKChjLV8pKm4pLHtjc3M6by50b0NzcyhpLHMscikscmdiYTpvLnRvUmdiYShpLHMscil9fSxlLmlzT3BhcXVlPWZ1bmN0aW9uKGUpe3JldHVybiAyNTU9PSgyNTUmZS5yZ2JhKX0sZS5lbnN1cmVDb250cmFzdFJhdGlvPWZ1bmN0aW9uKGUsdCxpKXtjb25zdCBzPWwuZW5zdXJlQ29udHJhc3RSYXRpbyhlLnJnYmEsdC5yZ2JhLGkpO2lmKHMpcmV0dXJuIG8udG9Db2xvcihzPj4yNCYyNTUscz4+MTYmMjU1LHM+PjgmMjU1KX0sZS5vcGFxdWU9ZnVuY3Rpb24oZSl7Y29uc3QgdD0oMjU1fGUucmdiYSk+Pj4wO3JldHVybltpLHMscl09bC50b0NoYW5uZWxzKHQpLHtjc3M6by50b0NzcyhpLHMscikscmdiYTp0fX0sZS5vcGFjaXR5PXQsZS5tdWx0aXBseU9wYWNpdHk9ZnVuY3Rpb24oZSxpKXtyZXR1cm4gbj0yNTUmZS5yZ2JhLHQoZSxuKmkvMjU1KX0sZS50b0NvbG9yUkdCPWZ1bmN0aW9uKGUpe3JldHVybltlLnJnYmE+PjI0JjI1NSxlLnJnYmE+PjE2JjI1NSxlLnJnYmE+PjgmMjU1XX19KGF8fCh0LmNvbG9yPWE9e30pKSxmdW5jdGlvbihlKXtsZXQgdCxhO3RyeXtjb25zdCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJjYW52YXNcIik7ZS53aWR0aD0xLGUuaGVpZ2h0PTE7Y29uc3QgaT1lLmdldENvbnRleHQoXCIyZFwiLHt3aWxsUmVhZEZyZXF1ZW50bHk6ITB9KTtpJiYodD1pLHQuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uPVwiY29weVwiLGE9dC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLDAsMSwxKSl9Y2F0Y2h7fWUudG9Db2xvcj1mdW5jdGlvbihlKXtpZihlLm1hdGNoKC8jW1xcZGEtZl17Myw4fS9pKSlzd2l0Y2goZS5sZW5ndGgpe2Nhc2UgNDpyZXR1cm4gaT1wYXJzZUludChlLnNsaWNlKDEsMikucmVwZWF0KDIpLDE2KSxzPXBhcnNlSW50KGUuc2xpY2UoMiwzKS5yZXBlYXQoMiksMTYpLHI9cGFyc2VJbnQoZS5zbGljZSgzLDQpLnJlcGVhdCgyKSwxNiksby50b0NvbG9yKGkscyxyKTtjYXNlIDU6cmV0dXJuIGk9cGFyc2VJbnQoZS5zbGljZSgxLDIpLnJlcGVhdCgyKSwxNikscz1wYXJzZUludChlLnNsaWNlKDIsMykucmVwZWF0KDIpLDE2KSxyPXBhcnNlSW50KGUuc2xpY2UoMyw0KS5yZXBlYXQoMiksMTYpLG49cGFyc2VJbnQoZS5zbGljZSg0LDUpLnJlcGVhdCgyKSwxNiksby50b0NvbG9yKGkscyxyLG4pO2Nhc2UgNzpyZXR1cm57Y3NzOmUscmdiYToocGFyc2VJbnQoZS5zbGljZSgxKSwxNik8PDh8MjU1KT4+PjB9O2Nhc2UgOTpyZXR1cm57Y3NzOmUscmdiYTpwYXJzZUludChlLnNsaWNlKDEpLDE2KT4+PjB9fWNvbnN0IGg9ZS5tYXRjaCgvcmdiYT9cXChcXHMqKFxcZHsxLDN9KVxccyosXFxzKihcXGR7MSwzfSlcXHMqLFxccyooXFxkezEsM30pXFxzKigsXFxzKigwfDF8XFxkP1xcLihcXGQrKSlcXHMqKT9cXCkvKTtpZihoKXJldHVybiBpPXBhcnNlSW50KGhbMV0pLHM9cGFyc2VJbnQoaFsyXSkscj1wYXJzZUludChoWzNdKSxuPU1hdGgucm91bmQoMjU1Kih2b2lkIDA9PT1oWzVdPzE6cGFyc2VGbG9hdChoWzVdKSkpLG8udG9Db2xvcihpLHMscixuKTtpZighdHx8IWEpdGhyb3cgbmV3IEVycm9yKFwiY3NzLnRvQ29sb3I6IFVuc3VwcG9ydGVkIGNzcyBmb3JtYXRcIik7aWYodC5maWxsU3R5bGU9YSx0LmZpbGxTdHlsZT1lLFwic3RyaW5nXCIhPXR5cGVvZiB0LmZpbGxTdHlsZSl0aHJvdyBuZXcgRXJyb3IoXCJjc3MudG9Db2xvcjogVW5zdXBwb3J0ZWQgY3NzIGZvcm1hdFwiKTtpZih0LmZpbGxSZWN0KDAsMCwxLDEpLFtpLHMscixuXT10LmdldEltYWdlRGF0YSgwLDAsMSwxKS5kYXRhLDI1NSE9PW4pdGhyb3cgbmV3IEVycm9yKFwiY3NzLnRvQ29sb3I6IFVuc3VwcG9ydGVkIGNzcyBmb3JtYXRcIik7cmV0dXJue3JnYmE6by50b1JnYmEoaSxzLHIsbiksY3NzOmV9fX0oaHx8KHQuY3NzPWg9e30pKSxmdW5jdGlvbihlKXtmdW5jdGlvbiB0KGUsdCxpKXtjb25zdCBzPWUvMjU1LHI9dC8yNTUsbj1pLzI1NTtyZXR1cm4uMjEyNiooczw9LjAzOTI4P3MvMTIuOTI6TWF0aC5wb3coKHMrLjA1NSkvMS4wNTUsMi40KSkrLjcxNTIqKHI8PS4wMzkyOD9yLzEyLjkyOk1hdGgucG93KChyKy4wNTUpLzEuMDU1LDIuNCkpKy4wNzIyKihuPD0uMDM5Mjg/bi8xMi45MjpNYXRoLnBvdygobisuMDU1KS8xLjA1NSwyLjQpKX1lLnJlbGF0aXZlTHVtaW5hbmNlPWZ1bmN0aW9uKGUpe3JldHVybiB0KGU+PjE2JjI1NSxlPj44JjI1NSwyNTUmZSl9LGUucmVsYXRpdmVMdW1pbmFuY2UyPXR9KGN8fCh0LnJnYj1jPXt9KSksZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChlLHQsaSl7Y29uc3Qgcz1lPj4yNCYyNTUscj1lPj4xNiYyNTUsbj1lPj44JjI1NTtsZXQgbz10Pj4yNCYyNTUsYT10Pj4xNiYyNTUsaD10Pj44JjI1NSxsPV8oYy5yZWxhdGl2ZUx1bWluYW5jZTIobyxhLGgpLGMucmVsYXRpdmVMdW1pbmFuY2UyKHMscixuKSk7Zm9yKDtsPGkmJihvPjB8fGE+MHx8aD4wKTspby09TWF0aC5tYXgoMCxNYXRoLmNlaWwoLjEqbykpLGEtPU1hdGgubWF4KDAsTWF0aC5jZWlsKC4xKmEpKSxoLT1NYXRoLm1heCgwLE1hdGguY2VpbCguMSpoKSksbD1fKGMucmVsYXRpdmVMdW1pbmFuY2UyKG8sYSxoKSxjLnJlbGF0aXZlTHVtaW5hbmNlMihzLHIsbikpO3JldHVybihvPDwyNHxhPDwxNnxoPDw4fDI1NSk+Pj4wfWZ1bmN0aW9uIGEoZSx0LGkpe2NvbnN0IHM9ZT4+MjQmMjU1LHI9ZT4+MTYmMjU1LG49ZT4+OCYyNTU7bGV0IG89dD4+MjQmMjU1LGE9dD4+MTYmMjU1LGg9dD4+OCYyNTUsbD1fKGMucmVsYXRpdmVMdW1pbmFuY2UyKG8sYSxoKSxjLnJlbGF0aXZlTHVtaW5hbmNlMihzLHIsbikpO2Zvcig7bDxpJiYobzwyNTV8fGE8MjU1fHxoPDI1NSk7KW89TWF0aC5taW4oMjU1LG8rTWF0aC5jZWlsKC4xKigyNTUtbykpKSxhPU1hdGgubWluKDI1NSxhK01hdGguY2VpbCguMSooMjU1LWEpKSksaD1NYXRoLm1pbigyNTUsaCtNYXRoLmNlaWwoLjEqKDI1NS1oKSkpLGw9XyhjLnJlbGF0aXZlTHVtaW5hbmNlMihvLGEsaCksYy5yZWxhdGl2ZUx1bWluYW5jZTIocyxyLG4pKTtyZXR1cm4obzw8MjR8YTw8MTZ8aDw8OHwyNTUpPj4+MH1lLmJsZW5kPWZ1bmN0aW9uKGUsdCl7aWYobj0oMjU1JnQpLzI1NSwxPT09bilyZXR1cm4gdDtjb25zdCBhPXQ+PjI0JjI1NSxoPXQ+PjE2JjI1NSxjPXQ+PjgmMjU1LGw9ZT4+MjQmMjU1LGQ9ZT4+MTYmMjU1LF89ZT4+OCYyNTU7cmV0dXJuIGk9bCtNYXRoLnJvdW5kKChhLWwpKm4pLHM9ZCtNYXRoLnJvdW5kKChoLWQpKm4pLHI9XytNYXRoLnJvdW5kKChjLV8pKm4pLG8udG9SZ2JhKGkscyxyKX0sZS5lbnN1cmVDb250cmFzdFJhdGlvPWZ1bmN0aW9uKGUsaSxzKXtjb25zdCByPWMucmVsYXRpdmVMdW1pbmFuY2UoZT4+OCksbj1jLnJlbGF0aXZlTHVtaW5hbmNlKGk+PjgpO2lmKF8ocixuKTxzKXtpZihuPHIpe2NvbnN0IG49dChlLGkscyksbz1fKHIsYy5yZWxhdGl2ZUx1bWluYW5jZShuPj44KSk7aWYobzxzKXtjb25zdCB0PWEoZSxpLHMpO3JldHVybiBvPl8ocixjLnJlbGF0aXZlTHVtaW5hbmNlKHQ+PjgpKT9uOnR9cmV0dXJuIG59Y29uc3Qgbz1hKGUsaSxzKSxoPV8ocixjLnJlbGF0aXZlTHVtaW5hbmNlKG8+PjgpKTtpZihoPHMpe2NvbnN0IG49dChlLGkscyk7cmV0dXJuIGg+XyhyLGMucmVsYXRpdmVMdW1pbmFuY2Uobj4+OCkpP286bn1yZXR1cm4gb319LGUucmVkdWNlTHVtaW5hbmNlPXQsZS5pbmNyZWFzZUx1bWluYW5jZT1hLGUudG9DaGFubmVscz1mdW5jdGlvbihlKXtyZXR1cm5bZT4+MjQmMjU1LGU+PjE2JjI1NSxlPj44JjI1NSwyNTUmZV19fShsfHwodC5yZ2JhPWw9e30pKSx0LnRvUGFkZGVkSGV4PWQsdC5jb250cmFzdFJhdGlvPV99LDg5Njk6KGUsdCxpKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuQ29yZVRlcm1pbmFsPXZvaWQgMDtjb25zdCBzPWkoODQ0KSxyPWkoMjU4NSksbj1pKDQzNDgpLG89aSg3ODY2KSxhPWkoNzQ0KSxoPWkoNzMwMiksYz1pKDY5NzUpLGw9aSg4NDYwKSxkPWkoMTc1MyksXz1pKDE0ODApLHU9aSg3OTk0KSxmPWkoOTI4Miksdj1pKDU0MzUpLHA9aSg1OTgxKSxnPWkoMjY2MCk7bGV0IG09ITE7Y2xhc3MgUyBleHRlbmRzIHMuRGlzcG9zYWJsZXtnZXQgb25TY3JvbGwoKXtyZXR1cm4gdGhpcy5fb25TY3JvbGxBcGl8fCh0aGlzLl9vblNjcm9sbEFwaT10aGlzLnJlZ2lzdGVyKG5ldyBsLkV2ZW50RW1pdHRlciksdGhpcy5fb25TY3JvbGwuZXZlbnQoKGU9Pnt0aGlzLl9vblNjcm9sbEFwaT8uZmlyZShlLnBvc2l0aW9uKX0pKSksdGhpcy5fb25TY3JvbGxBcGkuZXZlbnR9Z2V0IGNvbHMoKXtyZXR1cm4gdGhpcy5fYnVmZmVyU2VydmljZS5jb2xzfWdldCByb3dzKCl7cmV0dXJuIHRoaXMuX2J1ZmZlclNlcnZpY2Uucm93c31nZXQgYnVmZmVycygpe3JldHVybiB0aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlcnN9Z2V0IG9wdGlvbnMoKXtyZXR1cm4gdGhpcy5vcHRpb25zU2VydmljZS5vcHRpb25zfXNldCBvcHRpb25zKGUpe2Zvcihjb25zdCB0IGluIGUpdGhpcy5vcHRpb25zU2VydmljZS5vcHRpb25zW3RdPWVbdF19Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl93aW5kb3dzV3JhcHBpbmdIZXVyaXN0aWNzPXRoaXMucmVnaXN0ZXIobmV3IHMuTXV0YWJsZURpc3Bvc2FibGUpLHRoaXMuX29uQmluYXJ5PXRoaXMucmVnaXN0ZXIobmV3IGwuRXZlbnRFbWl0dGVyKSx0aGlzLm9uQmluYXJ5PXRoaXMuX29uQmluYXJ5LmV2ZW50LHRoaXMuX29uRGF0YT10aGlzLnJlZ2lzdGVyKG5ldyBsLkV2ZW50RW1pdHRlciksdGhpcy5vbkRhdGE9dGhpcy5fb25EYXRhLmV2ZW50LHRoaXMuX29uTGluZUZlZWQ9dGhpcy5yZWdpc3RlcihuZXcgbC5FdmVudEVtaXR0ZXIpLHRoaXMub25MaW5lRmVlZD10aGlzLl9vbkxpbmVGZWVkLmV2ZW50LHRoaXMuX29uUmVzaXplPXRoaXMucmVnaXN0ZXIobmV3IGwuRXZlbnRFbWl0dGVyKSx0aGlzLm9uUmVzaXplPXRoaXMuX29uUmVzaXplLmV2ZW50LHRoaXMuX29uV3JpdGVQYXJzZWQ9dGhpcy5yZWdpc3RlcihuZXcgbC5FdmVudEVtaXR0ZXIpLHRoaXMub25Xcml0ZVBhcnNlZD10aGlzLl9vbldyaXRlUGFyc2VkLmV2ZW50LHRoaXMuX29uU2Nyb2xsPXRoaXMucmVnaXN0ZXIobmV3IGwuRXZlbnRFbWl0dGVyKSx0aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZT1uZXcgbi5JbnN0YW50aWF0aW9uU2VydmljZSx0aGlzLm9wdGlvbnNTZXJ2aWNlPXRoaXMucmVnaXN0ZXIobmV3IGguT3B0aW9uc1NlcnZpY2UoZSkpLHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLnNldFNlcnZpY2Uoci5JT3B0aW9uc1NlcnZpY2UsdGhpcy5vcHRpb25zU2VydmljZSksdGhpcy5fYnVmZmVyU2VydmljZT10aGlzLnJlZ2lzdGVyKHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLmNyZWF0ZUluc3RhbmNlKGEuQnVmZmVyU2VydmljZSkpLHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLnNldFNlcnZpY2Uoci5JQnVmZmVyU2VydmljZSx0aGlzLl9idWZmZXJTZXJ2aWNlKSx0aGlzLl9sb2dTZXJ2aWNlPXRoaXMucmVnaXN0ZXIodGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2UuY3JlYXRlSW5zdGFuY2Uoby5Mb2dTZXJ2aWNlKSksdGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2Uuc2V0U2VydmljZShyLklMb2dTZXJ2aWNlLHRoaXMuX2xvZ1NlcnZpY2UpLHRoaXMuY29yZVNlcnZpY2U9dGhpcy5yZWdpc3Rlcih0aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5jcmVhdGVJbnN0YW5jZShjLkNvcmVTZXJ2aWNlKSksdGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2Uuc2V0U2VydmljZShyLklDb3JlU2VydmljZSx0aGlzLmNvcmVTZXJ2aWNlKSx0aGlzLmNvcmVNb3VzZVNlcnZpY2U9dGhpcy5yZWdpc3Rlcih0aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5jcmVhdGVJbnN0YW5jZShkLkNvcmVNb3VzZVNlcnZpY2UpKSx0aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5zZXRTZXJ2aWNlKHIuSUNvcmVNb3VzZVNlcnZpY2UsdGhpcy5jb3JlTW91c2VTZXJ2aWNlKSx0aGlzLnVuaWNvZGVTZXJ2aWNlPXRoaXMucmVnaXN0ZXIodGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2UuY3JlYXRlSW5zdGFuY2UoXy5Vbmljb2RlU2VydmljZSkpLHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLnNldFNlcnZpY2Uoci5JVW5pY29kZVNlcnZpY2UsdGhpcy51bmljb2RlU2VydmljZSksdGhpcy5fY2hhcnNldFNlcnZpY2U9dGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2UuY3JlYXRlSW5zdGFuY2UodS5DaGFyc2V0U2VydmljZSksdGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2Uuc2V0U2VydmljZShyLklDaGFyc2V0U2VydmljZSx0aGlzLl9jaGFyc2V0U2VydmljZSksdGhpcy5fb3NjTGlua1NlcnZpY2U9dGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2UuY3JlYXRlSW5zdGFuY2UoZy5Pc2NMaW5rU2VydmljZSksdGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2Uuc2V0U2VydmljZShyLklPc2NMaW5rU2VydmljZSx0aGlzLl9vc2NMaW5rU2VydmljZSksdGhpcy5faW5wdXRIYW5kbGVyPXRoaXMucmVnaXN0ZXIobmV3IHYuSW5wdXRIYW5kbGVyKHRoaXMuX2J1ZmZlclNlcnZpY2UsdGhpcy5fY2hhcnNldFNlcnZpY2UsdGhpcy5jb3JlU2VydmljZSx0aGlzLl9sb2dTZXJ2aWNlLHRoaXMub3B0aW9uc1NlcnZpY2UsdGhpcy5fb3NjTGlua1NlcnZpY2UsdGhpcy5jb3JlTW91c2VTZXJ2aWNlLHRoaXMudW5pY29kZVNlcnZpY2UpKSx0aGlzLnJlZ2lzdGVyKCgwLGwuZm9yd2FyZEV2ZW50KSh0aGlzLl9pbnB1dEhhbmRsZXIub25MaW5lRmVlZCx0aGlzLl9vbkxpbmVGZWVkKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9pbnB1dEhhbmRsZXIpLHRoaXMucmVnaXN0ZXIoKDAsbC5mb3J3YXJkRXZlbnQpKHRoaXMuX2J1ZmZlclNlcnZpY2Uub25SZXNpemUsdGhpcy5fb25SZXNpemUpKSx0aGlzLnJlZ2lzdGVyKCgwLGwuZm9yd2FyZEV2ZW50KSh0aGlzLmNvcmVTZXJ2aWNlLm9uRGF0YSx0aGlzLl9vbkRhdGEpKSx0aGlzLnJlZ2lzdGVyKCgwLGwuZm9yd2FyZEV2ZW50KSh0aGlzLmNvcmVTZXJ2aWNlLm9uQmluYXJ5LHRoaXMuX29uQmluYXJ5KSksdGhpcy5yZWdpc3Rlcih0aGlzLmNvcmVTZXJ2aWNlLm9uUmVxdWVzdFNjcm9sbFRvQm90dG9tKCgoKT0+dGhpcy5zY3JvbGxUb0JvdHRvbSgpKSkpLHRoaXMucmVnaXN0ZXIodGhpcy5jb3JlU2VydmljZS5vblVzZXJJbnB1dCgoKCk9PnRoaXMuX3dyaXRlQnVmZmVyLmhhbmRsZVVzZXJJbnB1dCgpKSkpLHRoaXMucmVnaXN0ZXIodGhpcy5vcHRpb25zU2VydmljZS5vbk11bHRpcGxlT3B0aW9uQ2hhbmdlKFtcIndpbmRvd3NNb2RlXCIsXCJ3aW5kb3dzUHR5XCJdLCgoKT0+dGhpcy5faGFuZGxlV2luZG93c1B0eU9wdGlvbkNoYW5nZSgpKSkpLHRoaXMucmVnaXN0ZXIodGhpcy5fYnVmZmVyU2VydmljZS5vblNjcm9sbCgoZT0+e3RoaXMuX29uU2Nyb2xsLmZpcmUoe3Bvc2l0aW9uOnRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLnlkaXNwLHNvdXJjZTowfSksdGhpcy5faW5wdXRIYW5kbGVyLm1hcmtSYW5nZURpcnR5KHRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLnNjcm9sbFRvcCx0aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci5zY3JvbGxCb3R0b20pfSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX2lucHV0SGFuZGxlci5vblNjcm9sbCgoZT0+e3RoaXMuX29uU2Nyb2xsLmZpcmUoe3Bvc2l0aW9uOnRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLnlkaXNwLHNvdXJjZTowfSksdGhpcy5faW5wdXRIYW5kbGVyLm1hcmtSYW5nZURpcnR5KHRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLnNjcm9sbFRvcCx0aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci5zY3JvbGxCb3R0b20pfSkpKSx0aGlzLl93cml0ZUJ1ZmZlcj10aGlzLnJlZ2lzdGVyKG5ldyBwLldyaXRlQnVmZmVyKCgoZSx0KT0+dGhpcy5faW5wdXRIYW5kbGVyLnBhcnNlKGUsdCkpKSksdGhpcy5yZWdpc3RlcigoMCxsLmZvcndhcmRFdmVudCkodGhpcy5fd3JpdGVCdWZmZXIub25Xcml0ZVBhcnNlZCx0aGlzLl9vbldyaXRlUGFyc2VkKSl9d3JpdGUoZSx0KXt0aGlzLl93cml0ZUJ1ZmZlci53cml0ZShlLHQpfXdyaXRlU3luYyhlLHQpe3RoaXMuX2xvZ1NlcnZpY2UubG9nTGV2ZWw8PXIuTG9nTGV2ZWxFbnVtLldBUk4mJiFtJiYodGhpcy5fbG9nU2VydmljZS53YXJuKFwid3JpdGVTeW5jIGlzIHVucmVsaWFibGUgYW5kIHdpbGwgYmUgcmVtb3ZlZCBzb29uLlwiKSxtPSEwKSx0aGlzLl93cml0ZUJ1ZmZlci53cml0ZVN5bmMoZSx0KX1pbnB1dChlLHQ9ITApe3RoaXMuY29yZVNlcnZpY2UudHJpZ2dlckRhdGFFdmVudChlLHQpfXJlc2l6ZShlLHQpe2lzTmFOKGUpfHxpc05hTih0KXx8KGU9TWF0aC5tYXgoZSxhLk1JTklNVU1fQ09MUyksdD1NYXRoLm1heCh0LGEuTUlOSU1VTV9ST1dTKSx0aGlzLl9idWZmZXJTZXJ2aWNlLnJlc2l6ZShlLHQpKX1zY3JvbGwoZSx0PSExKXt0aGlzLl9idWZmZXJTZXJ2aWNlLnNjcm9sbChlLHQpfXNjcm9sbExpbmVzKGUsdCxpKXt0aGlzLl9idWZmZXJTZXJ2aWNlLnNjcm9sbExpbmVzKGUsdCxpKX1zY3JvbGxQYWdlcyhlKXt0aGlzLnNjcm9sbExpbmVzKGUqKHRoaXMucm93cy0xKSl9c2Nyb2xsVG9Ub3AoKXt0aGlzLnNjcm9sbExpbmVzKC10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci55ZGlzcCl9c2Nyb2xsVG9Cb3R0b20oKXt0aGlzLnNjcm9sbExpbmVzKHRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLnliYXNlLXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLnlkaXNwKX1zY3JvbGxUb0xpbmUoZSl7Y29uc3QgdD1lLXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLnlkaXNwOzAhPT10JiZ0aGlzLnNjcm9sbExpbmVzKHQpfXJlZ2lzdGVyRXNjSGFuZGxlcihlLHQpe3JldHVybiB0aGlzLl9pbnB1dEhhbmRsZXIucmVnaXN0ZXJFc2NIYW5kbGVyKGUsdCl9cmVnaXN0ZXJEY3NIYW5kbGVyKGUsdCl7cmV0dXJuIHRoaXMuX2lucHV0SGFuZGxlci5yZWdpc3RlckRjc0hhbmRsZXIoZSx0KX1yZWdpc3RlckNzaUhhbmRsZXIoZSx0KXtyZXR1cm4gdGhpcy5faW5wdXRIYW5kbGVyLnJlZ2lzdGVyQ3NpSGFuZGxlcihlLHQpfXJlZ2lzdGVyT3NjSGFuZGxlcihlLHQpe3JldHVybiB0aGlzLl9pbnB1dEhhbmRsZXIucmVnaXN0ZXJPc2NIYW5kbGVyKGUsdCl9X3NldHVwKCl7dGhpcy5faGFuZGxlV2luZG93c1B0eU9wdGlvbkNoYW5nZSgpfXJlc2V0KCl7dGhpcy5faW5wdXRIYW5kbGVyLnJlc2V0KCksdGhpcy5fYnVmZmVyU2VydmljZS5yZXNldCgpLHRoaXMuX2NoYXJzZXRTZXJ2aWNlLnJlc2V0KCksdGhpcy5jb3JlU2VydmljZS5yZXNldCgpLHRoaXMuY29yZU1vdXNlU2VydmljZS5yZXNldCgpfV9oYW5kbGVXaW5kb3dzUHR5T3B0aW9uQ2hhbmdlKCl7bGV0IGU9ITE7Y29uc3QgdD10aGlzLm9wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMud2luZG93c1B0eTt0JiZ2b2lkIDAhPT10LmJ1aWxkTnVtYmVyJiZ2b2lkIDAhPT10LmJ1aWxkTnVtYmVyP2U9ISEoXCJjb25wdHlcIj09PXQuYmFja2VuZCYmdC5idWlsZE51bWJlcjwyMTM3Nik6dGhpcy5vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLndpbmRvd3NNb2RlJiYoZT0hMCksZT90aGlzLl9lbmFibGVXaW5kb3dzV3JhcHBpbmdIZXVyaXN0aWNzKCk6dGhpcy5fd2luZG93c1dyYXBwaW5nSGV1cmlzdGljcy5jbGVhcigpfV9lbmFibGVXaW5kb3dzV3JhcHBpbmdIZXVyaXN0aWNzKCl7aWYoIXRoaXMuX3dpbmRvd3NXcmFwcGluZ0hldXJpc3RpY3MudmFsdWUpe2NvbnN0IGU9W107ZS5wdXNoKHRoaXMub25MaW5lRmVlZChmLnVwZGF0ZVdpbmRvd3NNb2RlV3JhcHBlZFN0YXRlLmJpbmQobnVsbCx0aGlzLl9idWZmZXJTZXJ2aWNlKSkpLGUucHVzaCh0aGlzLnJlZ2lzdGVyQ3NpSGFuZGxlcih7ZmluYWw6XCJIXCJ9LCgoKT0+KCgwLGYudXBkYXRlV2luZG93c01vZGVXcmFwcGVkU3RhdGUpKHRoaXMuX2J1ZmZlclNlcnZpY2UpLCExKSkpKSx0aGlzLl93aW5kb3dzV3JhcHBpbmdIZXVyaXN0aWNzLnZhbHVlPSgwLHMudG9EaXNwb3NhYmxlKSgoKCk9Pntmb3IoY29uc3QgdCBvZiBlKXQuZGlzcG9zZSgpfSkpfX19dC5Db3JlVGVybWluYWw9U30sODQ2MDooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQucnVuQW5kU3Vic2NyaWJlPXQuZm9yd2FyZEV2ZW50PXQuRXZlbnRFbWl0dGVyPXZvaWQgMCx0LkV2ZW50RW1pdHRlcj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2xpc3RlbmVycz1bXSx0aGlzLl9kaXNwb3NlZD0hMX1nZXQgZXZlbnQoKXtyZXR1cm4gdGhpcy5fZXZlbnR8fCh0aGlzLl9ldmVudD1lPT4odGhpcy5fbGlzdGVuZXJzLnB1c2goZSkse2Rpc3Bvc2U6KCk9PntpZighdGhpcy5fZGlzcG9zZWQpZm9yKGxldCB0PTA7dDx0aGlzLl9saXN0ZW5lcnMubGVuZ3RoO3QrKylpZih0aGlzLl9saXN0ZW5lcnNbdF09PT1lKXJldHVybiB2b2lkIHRoaXMuX2xpc3RlbmVycy5zcGxpY2UodCwxKX19KSksdGhpcy5fZXZlbnR9ZmlyZShlLHQpe2NvbnN0IGk9W107Zm9yKGxldCBlPTA7ZTx0aGlzLl9saXN0ZW5lcnMubGVuZ3RoO2UrKylpLnB1c2godGhpcy5fbGlzdGVuZXJzW2VdKTtmb3IobGV0IHM9MDtzPGkubGVuZ3RoO3MrKylpW3NdLmNhbGwodm9pZCAwLGUsdCl9ZGlzcG9zZSgpe3RoaXMuY2xlYXJMaXN0ZW5lcnMoKSx0aGlzLl9kaXNwb3NlZD0hMH1jbGVhckxpc3RlbmVycygpe3RoaXMuX2xpc3RlbmVycyYmKHRoaXMuX2xpc3RlbmVycy5sZW5ndGg9MCl9fSx0LmZvcndhcmRFdmVudD1mdW5jdGlvbihlLHQpe3JldHVybiBlKChlPT50LmZpcmUoZSkpKX0sdC5ydW5BbmRTdWJzY3JpYmU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdCh2b2lkIDApLGUoKGU9PnQoZSkpKX19LDU0MzU6ZnVuY3Rpb24oZSx0LGkpe3ZhciBzPXRoaXMmJnRoaXMuX19kZWNvcmF0ZXx8ZnVuY3Rpb24oZSx0LGkscyl7dmFyIHIsbj1hcmd1bWVudHMubGVuZ3RoLG89bjwzP3Q6bnVsbD09PXM/cz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsaSk6cztpZihcIm9iamVjdFwiPT10eXBlb2YgUmVmbGVjdCYmXCJmdW5jdGlvblwiPT10eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSlvPVJlZmxlY3QuZGVjb3JhdGUoZSx0LGkscyk7ZWxzZSBmb3IodmFyIGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkocj1lW2FdKSYmKG89KG48Mz9yKG8pOm4+Mz9yKHQsaSxvKTpyKHQsaSkpfHxvKTtyZXR1cm4gbj4zJiZvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxpLG8pLG99LHI9dGhpcyYmdGhpcy5fX3BhcmFtfHxmdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihpLHMpe3QoaSxzLGUpfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5JbnB1dEhhbmRsZXI9dC5XaW5kb3dzT3B0aW9uc1JlcG9ydFR5cGU9dm9pZCAwO2NvbnN0IG49aSgyNTg0KSxvPWkoNzExNiksYT1pKDIwMTUpLGg9aSg4NDQpLGM9aSg0ODIpLGw9aSg4NDM3KSxkPWkoODQ2MCksXz1pKDY0MyksdT1pKDUxMSksZj1pKDM3MzQpLHY9aSgyNTg1KSxwPWkoMTQ4MCksZz1pKDYyNDIpLG09aSg2MzUxKSxTPWkoNTk0MSksQz17XCIoXCI6MCxcIilcIjoxLFwiKlwiOjIsXCIrXCI6MyxcIi1cIjoxLFwiLlwiOjJ9LGI9MTMxMDcyO2Z1bmN0aW9uIHcoZSx0KXtpZihlPjI0KXJldHVybiB0LnNldFdpbkxpbmVzfHwhMTtzd2l0Y2goZSl7Y2FzZSAxOnJldHVybiEhdC5yZXN0b3JlV2luO2Nhc2UgMjpyZXR1cm4hIXQubWluaW1pemVXaW47Y2FzZSAzOnJldHVybiEhdC5zZXRXaW5Qb3NpdGlvbjtjYXNlIDQ6cmV0dXJuISF0LnNldFdpblNpemVQaXhlbHM7Y2FzZSA1OnJldHVybiEhdC5yYWlzZVdpbjtjYXNlIDY6cmV0dXJuISF0Lmxvd2VyV2luO2Nhc2UgNzpyZXR1cm4hIXQucmVmcmVzaFdpbjtjYXNlIDg6cmV0dXJuISF0LnNldFdpblNpemVDaGFycztjYXNlIDk6cmV0dXJuISF0Lm1heGltaXplV2luO2Nhc2UgMTA6cmV0dXJuISF0LmZ1bGxzY3JlZW5XaW47Y2FzZSAxMTpyZXR1cm4hIXQuZ2V0V2luU3RhdGU7Y2FzZSAxMzpyZXR1cm4hIXQuZ2V0V2luUG9zaXRpb247Y2FzZSAxNDpyZXR1cm4hIXQuZ2V0V2luU2l6ZVBpeGVscztjYXNlIDE1OnJldHVybiEhdC5nZXRTY3JlZW5TaXplUGl4ZWxzO2Nhc2UgMTY6cmV0dXJuISF0LmdldENlbGxTaXplUGl4ZWxzO2Nhc2UgMTg6cmV0dXJuISF0LmdldFdpblNpemVDaGFycztjYXNlIDE5OnJldHVybiEhdC5nZXRTY3JlZW5TaXplQ2hhcnM7Y2FzZSAyMDpyZXR1cm4hIXQuZ2V0SWNvblRpdGxlO2Nhc2UgMjE6cmV0dXJuISF0LmdldFdpblRpdGxlO2Nhc2UgMjI6cmV0dXJuISF0LnB1c2hUaXRsZTtjYXNlIDIzOnJldHVybiEhdC5wb3BUaXRsZTtjYXNlIDI0OnJldHVybiEhdC5zZXRXaW5MaW5lc31yZXR1cm4hMX12YXIgeTshZnVuY3Rpb24oZSl7ZVtlLkdFVF9XSU5fU0laRV9QSVhFTFM9MF09XCJHRVRfV0lOX1NJWkVfUElYRUxTXCIsZVtlLkdFVF9DRUxMX1NJWkVfUElYRUxTPTFdPVwiR0VUX0NFTExfU0laRV9QSVhFTFNcIn0oeXx8KHQuV2luZG93c09wdGlvbnNSZXBvcnRUeXBlPXk9e30pKTtsZXQgRT0wO2NsYXNzIGsgZXh0ZW5kcyBoLkRpc3Bvc2FibGV7Z2V0QXR0ckRhdGEoKXtyZXR1cm4gdGhpcy5fY3VyQXR0ckRhdGF9Y29uc3RydWN0b3IoZSx0LGkscyxyLGgsXyxmLHY9bmV3IGEuRXNjYXBlU2VxdWVuY2VQYXJzZXIpe3N1cGVyKCksdGhpcy5fYnVmZmVyU2VydmljZT1lLHRoaXMuX2NoYXJzZXRTZXJ2aWNlPXQsdGhpcy5fY29yZVNlcnZpY2U9aSx0aGlzLl9sb2dTZXJ2aWNlPXMsdGhpcy5fb3B0aW9uc1NlcnZpY2U9cix0aGlzLl9vc2NMaW5rU2VydmljZT1oLHRoaXMuX2NvcmVNb3VzZVNlcnZpY2U9Xyx0aGlzLl91bmljb2RlU2VydmljZT1mLHRoaXMuX3BhcnNlcj12LHRoaXMuX3BhcnNlQnVmZmVyPW5ldyBVaW50MzJBcnJheSg0MDk2KSx0aGlzLl9zdHJpbmdEZWNvZGVyPW5ldyBjLlN0cmluZ1RvVXRmMzIsdGhpcy5fdXRmOERlY29kZXI9bmV3IGMuVXRmOFRvVXRmMzIsdGhpcy5fd29ya0NlbGw9bmV3IHUuQ2VsbERhdGEsdGhpcy5fd2luZG93VGl0bGU9XCJcIix0aGlzLl9pY29uTmFtZT1cIlwiLHRoaXMuX3dpbmRvd1RpdGxlU3RhY2s9W10sdGhpcy5faWNvbk5hbWVTdGFjaz1bXSx0aGlzLl9jdXJBdHRyRGF0YT1sLkRFRkFVTFRfQVRUUl9EQVRBLmNsb25lKCksdGhpcy5fZXJhc2VBdHRyRGF0YUludGVybmFsPWwuREVGQVVMVF9BVFRSX0RBVEEuY2xvbmUoKSx0aGlzLl9vblJlcXVlc3RCZWxsPXRoaXMucmVnaXN0ZXIobmV3IGQuRXZlbnRFbWl0dGVyKSx0aGlzLm9uUmVxdWVzdEJlbGw9dGhpcy5fb25SZXF1ZXN0QmVsbC5ldmVudCx0aGlzLl9vblJlcXVlc3RSZWZyZXNoUm93cz10aGlzLnJlZ2lzdGVyKG5ldyBkLkV2ZW50RW1pdHRlciksdGhpcy5vblJlcXVlc3RSZWZyZXNoUm93cz10aGlzLl9vblJlcXVlc3RSZWZyZXNoUm93cy5ldmVudCx0aGlzLl9vblJlcXVlc3RSZXNldD10aGlzLnJlZ2lzdGVyKG5ldyBkLkV2ZW50RW1pdHRlciksdGhpcy5vblJlcXVlc3RSZXNldD10aGlzLl9vblJlcXVlc3RSZXNldC5ldmVudCx0aGlzLl9vblJlcXVlc3RTZW5kRm9jdXM9dGhpcy5yZWdpc3RlcihuZXcgZC5FdmVudEVtaXR0ZXIpLHRoaXMub25SZXF1ZXN0U2VuZEZvY3VzPXRoaXMuX29uUmVxdWVzdFNlbmRGb2N1cy5ldmVudCx0aGlzLl9vblJlcXVlc3RTeW5jU2Nyb2xsQmFyPXRoaXMucmVnaXN0ZXIobmV3IGQuRXZlbnRFbWl0dGVyKSx0aGlzLm9uUmVxdWVzdFN5bmNTY3JvbGxCYXI9dGhpcy5fb25SZXF1ZXN0U3luY1Njcm9sbEJhci5ldmVudCx0aGlzLl9vblJlcXVlc3RXaW5kb3dzT3B0aW9uc1JlcG9ydD10aGlzLnJlZ2lzdGVyKG5ldyBkLkV2ZW50RW1pdHRlciksdGhpcy5vblJlcXVlc3RXaW5kb3dzT3B0aW9uc1JlcG9ydD10aGlzLl9vblJlcXVlc3RXaW5kb3dzT3B0aW9uc1JlcG9ydC5ldmVudCx0aGlzLl9vbkExMXlDaGFyPXRoaXMucmVnaXN0ZXIobmV3IGQuRXZlbnRFbWl0dGVyKSx0aGlzLm9uQTExeUNoYXI9dGhpcy5fb25BMTF5Q2hhci5ldmVudCx0aGlzLl9vbkExMXlUYWI9dGhpcy5yZWdpc3RlcihuZXcgZC5FdmVudEVtaXR0ZXIpLHRoaXMub25BMTF5VGFiPXRoaXMuX29uQTExeVRhYi5ldmVudCx0aGlzLl9vbkN1cnNvck1vdmU9dGhpcy5yZWdpc3RlcihuZXcgZC5FdmVudEVtaXR0ZXIpLHRoaXMub25DdXJzb3JNb3ZlPXRoaXMuX29uQ3Vyc29yTW92ZS5ldmVudCx0aGlzLl9vbkxpbmVGZWVkPXRoaXMucmVnaXN0ZXIobmV3IGQuRXZlbnRFbWl0dGVyKSx0aGlzLm9uTGluZUZlZWQ9dGhpcy5fb25MaW5lRmVlZC5ldmVudCx0aGlzLl9vblNjcm9sbD10aGlzLnJlZ2lzdGVyKG5ldyBkLkV2ZW50RW1pdHRlciksdGhpcy5vblNjcm9sbD10aGlzLl9vblNjcm9sbC5ldmVudCx0aGlzLl9vblRpdGxlQ2hhbmdlPXRoaXMucmVnaXN0ZXIobmV3IGQuRXZlbnRFbWl0dGVyKSx0aGlzLm9uVGl0bGVDaGFuZ2U9dGhpcy5fb25UaXRsZUNoYW5nZS5ldmVudCx0aGlzLl9vbkNvbG9yPXRoaXMucmVnaXN0ZXIobmV3IGQuRXZlbnRFbWl0dGVyKSx0aGlzLm9uQ29sb3I9dGhpcy5fb25Db2xvci5ldmVudCx0aGlzLl9wYXJzZVN0YWNrPXtwYXVzZWQ6ITEsY3Vyc29yU3RhcnRYOjAsY3Vyc29yU3RhcnRZOjAsZGVjb2RlZExlbmd0aDowLHBvc2l0aW9uOjB9LHRoaXMuX3NwZWNpYWxDb2xvcnM9WzI1NiwyNTcsMjU4XSx0aGlzLnJlZ2lzdGVyKHRoaXMuX3BhcnNlciksdGhpcy5fZGlydHlSb3dUcmFja2VyPW5ldyBMKHRoaXMuX2J1ZmZlclNlcnZpY2UpLHRoaXMuX2FjdGl2ZUJ1ZmZlcj10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlcix0aGlzLnJlZ2lzdGVyKHRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVycy5vbkJ1ZmZlckFjdGl2YXRlKChlPT50aGlzLl9hY3RpdmVCdWZmZXI9ZS5hY3RpdmVCdWZmZXIpKSksdGhpcy5fcGFyc2VyLnNldENzaUhhbmRsZXJGYWxsYmFjaygoKGUsdCk9Pnt0aGlzLl9sb2dTZXJ2aWNlLmRlYnVnKFwiVW5rbm93biBDU0kgY29kZTogXCIse2lkZW50aWZpZXI6dGhpcy5fcGFyc2VyLmlkZW50VG9TdHJpbmcoZSkscGFyYW1zOnQudG9BcnJheSgpfSl9KSksdGhpcy5fcGFyc2VyLnNldEVzY0hhbmRsZXJGYWxsYmFjaygoZT0+e3RoaXMuX2xvZ1NlcnZpY2UuZGVidWcoXCJVbmtub3duIEVTQyBjb2RlOiBcIix7aWRlbnRpZmllcjp0aGlzLl9wYXJzZXIuaWRlbnRUb1N0cmluZyhlKX0pfSkpLHRoaXMuX3BhcnNlci5zZXRFeGVjdXRlSGFuZGxlckZhbGxiYWNrKChlPT57dGhpcy5fbG9nU2VydmljZS5kZWJ1ZyhcIlVua25vd24gRVhFQ1VURSBjb2RlOiBcIix7Y29kZTplfSl9KSksdGhpcy5fcGFyc2VyLnNldE9zY0hhbmRsZXJGYWxsYmFjaygoKGUsdCxpKT0+e3RoaXMuX2xvZ1NlcnZpY2UuZGVidWcoXCJVbmtub3duIE9TQyBjb2RlOiBcIix7aWRlbnRpZmllcjplLGFjdGlvbjp0LGRhdGE6aX0pfSkpLHRoaXMuX3BhcnNlci5zZXREY3NIYW5kbGVyRmFsbGJhY2soKChlLHQsaSk9PntcIkhPT0tcIj09PXQmJihpPWkudG9BcnJheSgpKSx0aGlzLl9sb2dTZXJ2aWNlLmRlYnVnKFwiVW5rbm93biBEQ1MgY29kZTogXCIse2lkZW50aWZpZXI6dGhpcy5fcGFyc2VyLmlkZW50VG9TdHJpbmcoZSksYWN0aW9uOnQscGF5bG9hZDppfSl9KSksdGhpcy5fcGFyc2VyLnNldFByaW50SGFuZGxlcigoKGUsdCxpKT0+dGhpcy5wcmludChlLHQsaSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtmaW5hbDpcIkBcIn0sKGU9PnRoaXMuaW5zZXJ0Q2hhcnMoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtpbnRlcm1lZGlhdGVzOlwiIFwiLGZpbmFsOlwiQFwifSwoZT0+dGhpcy5zY3JvbGxMZWZ0KGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7ZmluYWw6XCJBXCJ9LChlPT50aGlzLmN1cnNvclVwKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7aW50ZXJtZWRpYXRlczpcIiBcIixmaW5hbDpcIkFcIn0sKGU9PnRoaXMuc2Nyb2xsUmlnaHQoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtmaW5hbDpcIkJcIn0sKGU9PnRoaXMuY3Vyc29yRG93bihlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiQ1wifSwoZT0+dGhpcy5jdXJzb3JGb3J3YXJkKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7ZmluYWw6XCJEXCJ9LChlPT50aGlzLmN1cnNvckJhY2t3YXJkKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7ZmluYWw6XCJFXCJ9LChlPT50aGlzLmN1cnNvck5leHRMaW5lKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7ZmluYWw6XCJGXCJ9LChlPT50aGlzLmN1cnNvclByZWNlZGluZ0xpbmUoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtmaW5hbDpcIkdcIn0sKGU9PnRoaXMuY3Vyc29yQ2hhckFic29sdXRlKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7ZmluYWw6XCJIXCJ9LChlPT50aGlzLmN1cnNvclBvc2l0aW9uKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7ZmluYWw6XCJJXCJ9LChlPT50aGlzLmN1cnNvckZvcndhcmRUYWIoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtmaW5hbDpcIkpcIn0sKGU9PnRoaXMuZXJhc2VJbkRpc3BsYXkoZSwhMSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtwcmVmaXg6XCI/XCIsZmluYWw6XCJKXCJ9LChlPT50aGlzLmVyYXNlSW5EaXNwbGF5KGUsITApKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7ZmluYWw6XCJLXCJ9LChlPT50aGlzLmVyYXNlSW5MaW5lKGUsITEpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7cHJlZml4OlwiP1wiLGZpbmFsOlwiS1wifSwoZT0+dGhpcy5lcmFzZUluTGluZShlLCEwKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiTFwifSwoZT0+dGhpcy5pbnNlcnRMaW5lcyhlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiTVwifSwoZT0+dGhpcy5kZWxldGVMaW5lcyhlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiUFwifSwoZT0+dGhpcy5kZWxldGVDaGFycyhlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiU1wifSwoZT0+dGhpcy5zY3JvbGxVcChlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiVFwifSwoZT0+dGhpcy5zY3JvbGxEb3duKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7ZmluYWw6XCJYXCJ9LChlPT50aGlzLmVyYXNlQ2hhcnMoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtmaW5hbDpcIlpcIn0sKGU9PnRoaXMuY3Vyc29yQmFja3dhcmRUYWIoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtmaW5hbDpcImBcIn0sKGU9PnRoaXMuY2hhclBvc0Fic29sdXRlKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7ZmluYWw6XCJhXCJ9LChlPT50aGlzLmhQb3NpdGlvblJlbGF0aXZlKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7ZmluYWw6XCJiXCJ9LChlPT50aGlzLnJlcGVhdFByZWNlZGluZ0NoYXJhY3RlcihlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiY1wifSwoZT0+dGhpcy5zZW5kRGV2aWNlQXR0cmlidXRlc1ByaW1hcnkoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtwcmVmaXg6XCI+XCIsZmluYWw6XCJjXCJ9LChlPT50aGlzLnNlbmREZXZpY2VBdHRyaWJ1dGVzU2Vjb25kYXJ5KGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7ZmluYWw6XCJkXCJ9LChlPT50aGlzLmxpbmVQb3NBYnNvbHV0ZShlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiZVwifSwoZT0+dGhpcy52UG9zaXRpb25SZWxhdGl2ZShlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiZlwifSwoZT0+dGhpcy5oVlBvc2l0aW9uKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7ZmluYWw6XCJnXCJ9LChlPT50aGlzLnRhYkNsZWFyKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7ZmluYWw6XCJoXCJ9LChlPT50aGlzLnNldE1vZGUoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtwcmVmaXg6XCI/XCIsZmluYWw6XCJoXCJ9LChlPT50aGlzLnNldE1vZGVQcml2YXRlKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7ZmluYWw6XCJsXCJ9LChlPT50aGlzLnJlc2V0TW9kZShlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe3ByZWZpeDpcIj9cIixmaW5hbDpcImxcIn0sKGU9PnRoaXMucmVzZXRNb2RlUHJpdmF0ZShlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwibVwifSwoZT0+dGhpcy5jaGFyQXR0cmlidXRlcyhlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiblwifSwoZT0+dGhpcy5kZXZpY2VTdGF0dXMoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtwcmVmaXg6XCI/XCIsZmluYWw6XCJuXCJ9LChlPT50aGlzLmRldmljZVN0YXR1c1ByaXZhdGUoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtpbnRlcm1lZGlhdGVzOlwiIVwiLGZpbmFsOlwicFwifSwoZT0+dGhpcy5zb2Z0UmVzZXQoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtpbnRlcm1lZGlhdGVzOlwiIFwiLGZpbmFsOlwicVwifSwoZT0+dGhpcy5zZXRDdXJzb3JTdHlsZShlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiclwifSwoZT0+dGhpcy5zZXRTY3JvbGxSZWdpb24oZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtmaW5hbDpcInNcIn0sKGU9PnRoaXMuc2F2ZUN1cnNvcihlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwidFwifSwoZT0+dGhpcy53aW5kb3dPcHRpb25zKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7ZmluYWw6XCJ1XCJ9LChlPT50aGlzLnJlc3RvcmVDdXJzb3IoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtpbnRlcm1lZGlhdGVzOlwiJ1wiLGZpbmFsOlwifVwifSwoZT0+dGhpcy5pbnNlcnRDb2x1bW5zKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7aW50ZXJtZWRpYXRlczpcIidcIixmaW5hbDpcIn5cIn0sKGU9PnRoaXMuZGVsZXRlQ29sdW1ucyhlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ludGVybWVkaWF0ZXM6J1wiJyxmaW5hbDpcInFcIn0sKGU9PnRoaXMuc2VsZWN0UHJvdGVjdGVkKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7aW50ZXJtZWRpYXRlczpcIiRcIixmaW5hbDpcInBcIn0sKGU9PnRoaXMucmVxdWVzdE1vZGUoZSwhMCkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtwcmVmaXg6XCI/XCIsaW50ZXJtZWRpYXRlczpcIiRcIixmaW5hbDpcInBcIn0sKGU9PnRoaXMucmVxdWVzdE1vZGUoZSwhMSkpKSx0aGlzLl9wYXJzZXIuc2V0RXhlY3V0ZUhhbmRsZXIobi5DMC5CRUwsKCgpPT50aGlzLmJlbGwoKSkpLHRoaXMuX3BhcnNlci5zZXRFeGVjdXRlSGFuZGxlcihuLkMwLkxGLCgoKT0+dGhpcy5saW5lRmVlZCgpKSksdGhpcy5fcGFyc2VyLnNldEV4ZWN1dGVIYW5kbGVyKG4uQzAuVlQsKCgpPT50aGlzLmxpbmVGZWVkKCkpKSx0aGlzLl9wYXJzZXIuc2V0RXhlY3V0ZUhhbmRsZXIobi5DMC5GRiwoKCk9PnRoaXMubGluZUZlZWQoKSkpLHRoaXMuX3BhcnNlci5zZXRFeGVjdXRlSGFuZGxlcihuLkMwLkNSLCgoKT0+dGhpcy5jYXJyaWFnZVJldHVybigpKSksdGhpcy5fcGFyc2VyLnNldEV4ZWN1dGVIYW5kbGVyKG4uQzAuQlMsKCgpPT50aGlzLmJhY2tzcGFjZSgpKSksdGhpcy5fcGFyc2VyLnNldEV4ZWN1dGVIYW5kbGVyKG4uQzAuSFQsKCgpPT50aGlzLnRhYigpKSksdGhpcy5fcGFyc2VyLnNldEV4ZWN1dGVIYW5kbGVyKG4uQzAuU08sKCgpPT50aGlzLnNoaWZ0T3V0KCkpKSx0aGlzLl9wYXJzZXIuc2V0RXhlY3V0ZUhhbmRsZXIobi5DMC5TSSwoKCk9PnRoaXMuc2hpZnRJbigpKSksdGhpcy5fcGFyc2VyLnNldEV4ZWN1dGVIYW5kbGVyKG4uQzEuSU5ELCgoKT0+dGhpcy5pbmRleCgpKSksdGhpcy5fcGFyc2VyLnNldEV4ZWN1dGVIYW5kbGVyKG4uQzEuTkVMLCgoKT0+dGhpcy5uZXh0TGluZSgpKSksdGhpcy5fcGFyc2VyLnNldEV4ZWN1dGVIYW5kbGVyKG4uQzEuSFRTLCgoKT0+dGhpcy50YWJTZXQoKSkpLHRoaXMuX3BhcnNlci5yZWdpc3Rlck9zY0hhbmRsZXIoMCxuZXcgZy5Pc2NIYW5kbGVyKChlPT4odGhpcy5zZXRUaXRsZShlKSx0aGlzLnNldEljb25OYW1lKGUpLCEwKSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJPc2NIYW5kbGVyKDEsbmV3IGcuT3NjSGFuZGxlcigoZT0+dGhpcy5zZXRJY29uTmFtZShlKSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJPc2NIYW5kbGVyKDIsbmV3IGcuT3NjSGFuZGxlcigoZT0+dGhpcy5zZXRUaXRsZShlKSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJPc2NIYW5kbGVyKDQsbmV3IGcuT3NjSGFuZGxlcigoZT0+dGhpcy5zZXRPclJlcG9ydEluZGV4ZWRDb2xvcihlKSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJPc2NIYW5kbGVyKDgsbmV3IGcuT3NjSGFuZGxlcigoZT0+dGhpcy5zZXRIeXBlcmxpbmsoZSkpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyT3NjSGFuZGxlcigxMCxuZXcgZy5Pc2NIYW5kbGVyKChlPT50aGlzLnNldE9yUmVwb3J0RmdDb2xvcihlKSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJPc2NIYW5kbGVyKDExLG5ldyBnLk9zY0hhbmRsZXIoKGU9PnRoaXMuc2V0T3JSZXBvcnRCZ0NvbG9yKGUpKSkpLHRoaXMuX3BhcnNlci5yZWdpc3Rlck9zY0hhbmRsZXIoMTIsbmV3IGcuT3NjSGFuZGxlcigoZT0+dGhpcy5zZXRPclJlcG9ydEN1cnNvckNvbG9yKGUpKSkpLHRoaXMuX3BhcnNlci5yZWdpc3Rlck9zY0hhbmRsZXIoMTA0LG5ldyBnLk9zY0hhbmRsZXIoKGU9PnRoaXMucmVzdG9yZUluZGV4ZWRDb2xvcihlKSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJPc2NIYW5kbGVyKDExMCxuZXcgZy5Pc2NIYW5kbGVyKChlPT50aGlzLnJlc3RvcmVGZ0NvbG9yKGUpKSkpLHRoaXMuX3BhcnNlci5yZWdpc3Rlck9zY0hhbmRsZXIoMTExLG5ldyBnLk9zY0hhbmRsZXIoKGU9PnRoaXMucmVzdG9yZUJnQ29sb3IoZSkpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyT3NjSGFuZGxlcigxMTIsbmV3IGcuT3NjSGFuZGxlcigoZT0+dGhpcy5yZXN0b3JlQ3Vyc29yQ29sb3IoZSkpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyRXNjSGFuZGxlcih7ZmluYWw6XCI3XCJ9LCgoKT0+dGhpcy5zYXZlQ3Vyc29yKCkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJFc2NIYW5kbGVyKHtmaW5hbDpcIjhcIn0sKCgpPT50aGlzLnJlc3RvcmVDdXJzb3IoKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckVzY0hhbmRsZXIoe2ZpbmFsOlwiRFwifSwoKCk9PnRoaXMuaW5kZXgoKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckVzY0hhbmRsZXIoe2ZpbmFsOlwiRVwifSwoKCk9PnRoaXMubmV4dExpbmUoKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckVzY0hhbmRsZXIoe2ZpbmFsOlwiSFwifSwoKCk9PnRoaXMudGFiU2V0KCkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJFc2NIYW5kbGVyKHtmaW5hbDpcIk1cIn0sKCgpPT50aGlzLnJldmVyc2VJbmRleCgpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyRXNjSGFuZGxlcih7ZmluYWw6XCI9XCJ9LCgoKT0+dGhpcy5rZXlwYWRBcHBsaWNhdGlvbk1vZGUoKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckVzY0hhbmRsZXIoe2ZpbmFsOlwiPlwifSwoKCk9PnRoaXMua2V5cGFkTnVtZXJpY01vZGUoKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckVzY0hhbmRsZXIoe2ZpbmFsOlwiY1wifSwoKCk9PnRoaXMuZnVsbFJlc2V0KCkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJFc2NIYW5kbGVyKHtmaW5hbDpcIm5cIn0sKCgpPT50aGlzLnNldGdMZXZlbCgyKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckVzY0hhbmRsZXIoe2ZpbmFsOlwib1wifSwoKCk9PnRoaXMuc2V0Z0xldmVsKDMpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyRXNjSGFuZGxlcih7ZmluYWw6XCJ8XCJ9LCgoKT0+dGhpcy5zZXRnTGV2ZWwoMykpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJFc2NIYW5kbGVyKHtmaW5hbDpcIn1cIn0sKCgpPT50aGlzLnNldGdMZXZlbCgyKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckVzY0hhbmRsZXIoe2ZpbmFsOlwiflwifSwoKCk9PnRoaXMuc2V0Z0xldmVsKDEpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyRXNjSGFuZGxlcih7aW50ZXJtZWRpYXRlczpcIiVcIixmaW5hbDpcIkBcIn0sKCgpPT50aGlzLnNlbGVjdERlZmF1bHRDaGFyc2V0KCkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJFc2NIYW5kbGVyKHtpbnRlcm1lZGlhdGVzOlwiJVwiLGZpbmFsOlwiR1wifSwoKCk9PnRoaXMuc2VsZWN0RGVmYXVsdENoYXJzZXQoKSkpO2Zvcihjb25zdCBlIGluIG8uQ0hBUlNFVFMpdGhpcy5fcGFyc2VyLnJlZ2lzdGVyRXNjSGFuZGxlcih7aW50ZXJtZWRpYXRlczpcIihcIixmaW5hbDplfSwoKCk9PnRoaXMuc2VsZWN0Q2hhcnNldChcIihcIitlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckVzY0hhbmRsZXIoe2ludGVybWVkaWF0ZXM6XCIpXCIsZmluYWw6ZX0sKCgpPT50aGlzLnNlbGVjdENoYXJzZXQoXCIpXCIrZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJFc2NIYW5kbGVyKHtpbnRlcm1lZGlhdGVzOlwiKlwiLGZpbmFsOmV9LCgoKT0+dGhpcy5zZWxlY3RDaGFyc2V0KFwiKlwiK2UpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyRXNjSGFuZGxlcih7aW50ZXJtZWRpYXRlczpcIitcIixmaW5hbDplfSwoKCk9PnRoaXMuc2VsZWN0Q2hhcnNldChcIitcIitlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckVzY0hhbmRsZXIoe2ludGVybWVkaWF0ZXM6XCItXCIsZmluYWw6ZX0sKCgpPT50aGlzLnNlbGVjdENoYXJzZXQoXCItXCIrZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJFc2NIYW5kbGVyKHtpbnRlcm1lZGlhdGVzOlwiLlwiLGZpbmFsOmV9LCgoKT0+dGhpcy5zZWxlY3RDaGFyc2V0KFwiLlwiK2UpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyRXNjSGFuZGxlcih7aW50ZXJtZWRpYXRlczpcIi9cIixmaW5hbDplfSwoKCk9PnRoaXMuc2VsZWN0Q2hhcnNldChcIi9cIitlKSkpO3RoaXMuX3BhcnNlci5yZWdpc3RlckVzY0hhbmRsZXIoe2ludGVybWVkaWF0ZXM6XCIjXCIsZmluYWw6XCI4XCJ9LCgoKT0+dGhpcy5zY3JlZW5BbGlnbm1lbnRQYXR0ZXJuKCkpKSx0aGlzLl9wYXJzZXIuc2V0RXJyb3JIYW5kbGVyKChlPT4odGhpcy5fbG9nU2VydmljZS5lcnJvcihcIlBhcnNpbmcgZXJyb3I6IFwiLGUpLGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyRGNzSGFuZGxlcih7aW50ZXJtZWRpYXRlczpcIiRcIixmaW5hbDpcInFcIn0sbmV3IG0uRGNzSGFuZGxlcigoKGUsdCk9PnRoaXMucmVxdWVzdFN0YXR1c1N0cmluZyhlLHQpKSkpfV9wcmVzZXJ2ZVN0YWNrKGUsdCxpLHMpe3RoaXMuX3BhcnNlU3RhY2sucGF1c2VkPSEwLHRoaXMuX3BhcnNlU3RhY2suY3Vyc29yU3RhcnRYPWUsdGhpcy5fcGFyc2VTdGFjay5jdXJzb3JTdGFydFk9dCx0aGlzLl9wYXJzZVN0YWNrLmRlY29kZWRMZW5ndGg9aSx0aGlzLl9wYXJzZVN0YWNrLnBvc2l0aW9uPXN9X2xvZ1Nsb3dSZXNvbHZpbmdBc3luYyhlKXt0aGlzLl9sb2dTZXJ2aWNlLmxvZ0xldmVsPD12LkxvZ0xldmVsRW51bS5XQVJOJiZQcm9taXNlLnJhY2UoW2UsbmV3IFByb21pc2UoKChlLHQpPT5zZXRUaW1lb3V0KCgoKT0+dChcIiNTTE9XX1RJTUVPVVRcIikpLDVlMykpKV0pLmNhdGNoKChlPT57aWYoXCIjU0xPV19USU1FT1VUXCIhPT1lKXRocm93IGU7Y29uc29sZS53YXJuKFwiYXN5bmMgcGFyc2VyIGhhbmRsZXIgdGFraW5nIGxvbmdlciB0aGFuIDUwMDAgbXNcIil9KSl9X2dldEN1cnJlbnRMaW5rSWQoKXtyZXR1cm4gdGhpcy5fY3VyQXR0ckRhdGEuZXh0ZW5kZWQudXJsSWR9cGFyc2UoZSx0KXtsZXQgaSxzPXRoaXMuX2FjdGl2ZUJ1ZmZlci54LHI9dGhpcy5fYWN0aXZlQnVmZmVyLnksbj0wO2NvbnN0IG89dGhpcy5fcGFyc2VTdGFjay5wYXVzZWQ7aWYobyl7aWYoaT10aGlzLl9wYXJzZXIucGFyc2UodGhpcy5fcGFyc2VCdWZmZXIsdGhpcy5fcGFyc2VTdGFjay5kZWNvZGVkTGVuZ3RoLHQpKXJldHVybiB0aGlzLl9sb2dTbG93UmVzb2x2aW5nQXN5bmMoaSksaTtzPXRoaXMuX3BhcnNlU3RhY2suY3Vyc29yU3RhcnRYLHI9dGhpcy5fcGFyc2VTdGFjay5jdXJzb3JTdGFydFksdGhpcy5fcGFyc2VTdGFjay5wYXVzZWQ9ITEsZS5sZW5ndGg+YiYmKG49dGhpcy5fcGFyc2VTdGFjay5wb3NpdGlvbitiKX1pZih0aGlzLl9sb2dTZXJ2aWNlLmxvZ0xldmVsPD12LkxvZ0xldmVsRW51bS5ERUJVRyYmdGhpcy5fbG9nU2VydmljZS5kZWJ1ZyhcInBhcnNpbmcgZGF0YVwiKyhcInN0cmluZ1wiPT10eXBlb2YgZT9gIFwiJHtlfVwiYDpgIFwiJHtBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoZSwoZT0+U3RyaW5nLmZyb21DaGFyQ29kZShlKSkpLmpvaW4oXCJcIil9XCJgKSxcInN0cmluZ1wiPT10eXBlb2YgZT9lLnNwbGl0KFwiXCIpLm1hcCgoZT0+ZS5jaGFyQ29kZUF0KDApKSk6ZSksdGhpcy5fcGFyc2VCdWZmZXIubGVuZ3RoPGUubGVuZ3RoJiZ0aGlzLl9wYXJzZUJ1ZmZlci5sZW5ndGg8YiYmKHRoaXMuX3BhcnNlQnVmZmVyPW5ldyBVaW50MzJBcnJheShNYXRoLm1pbihlLmxlbmd0aCxiKSkpLG98fHRoaXMuX2RpcnR5Um93VHJhY2tlci5jbGVhclJhbmdlKCksZS5sZW5ndGg+Yilmb3IobGV0IHQ9bjt0PGUubGVuZ3RoO3QrPWIpe2NvbnN0IG49dCtiPGUubGVuZ3RoP3QrYjplLmxlbmd0aCxvPVwic3RyaW5nXCI9PXR5cGVvZiBlP3RoaXMuX3N0cmluZ0RlY29kZXIuZGVjb2RlKGUuc3Vic3RyaW5nKHQsbiksdGhpcy5fcGFyc2VCdWZmZXIpOnRoaXMuX3V0ZjhEZWNvZGVyLmRlY29kZShlLnN1YmFycmF5KHQsbiksdGhpcy5fcGFyc2VCdWZmZXIpO2lmKGk9dGhpcy5fcGFyc2VyLnBhcnNlKHRoaXMuX3BhcnNlQnVmZmVyLG8pKXJldHVybiB0aGlzLl9wcmVzZXJ2ZVN0YWNrKHMscixvLHQpLHRoaXMuX2xvZ1Nsb3dSZXNvbHZpbmdBc3luYyhpKSxpfWVsc2UgaWYoIW8pe2NvbnN0IHQ9XCJzdHJpbmdcIj09dHlwZW9mIGU/dGhpcy5fc3RyaW5nRGVjb2Rlci5kZWNvZGUoZSx0aGlzLl9wYXJzZUJ1ZmZlcik6dGhpcy5fdXRmOERlY29kZXIuZGVjb2RlKGUsdGhpcy5fcGFyc2VCdWZmZXIpO2lmKGk9dGhpcy5fcGFyc2VyLnBhcnNlKHRoaXMuX3BhcnNlQnVmZmVyLHQpKXJldHVybiB0aGlzLl9wcmVzZXJ2ZVN0YWNrKHMscix0LDApLHRoaXMuX2xvZ1Nsb3dSZXNvbHZpbmdBc3luYyhpKSxpfXRoaXMuX2FjdGl2ZUJ1ZmZlci54PT09cyYmdGhpcy5fYWN0aXZlQnVmZmVyLnk9PT1yfHx0aGlzLl9vbkN1cnNvck1vdmUuZmlyZSgpO2NvbnN0IGE9dGhpcy5fZGlydHlSb3dUcmFja2VyLmVuZCsodGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIueWJhc2UtdGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIueWRpc3ApLGg9dGhpcy5fZGlydHlSb3dUcmFja2VyLnN0YXJ0Kyh0aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci55YmFzZS10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci55ZGlzcCk7aDx0aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MmJnRoaXMuX29uUmVxdWVzdFJlZnJlc2hSb3dzLmZpcmUoTWF0aC5taW4oaCx0aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MtMSksTWF0aC5taW4oYSx0aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MtMSkpfXByaW50KGUsdCxpKXtsZXQgcyxyO2NvbnN0IG49dGhpcy5fY2hhcnNldFNlcnZpY2UuY2hhcnNldCxvPXRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuc2NyZWVuUmVhZGVyTW9kZSxhPXRoaXMuX2J1ZmZlclNlcnZpY2UuY29scyxoPXRoaXMuX2NvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcy53cmFwYXJvdW5kLGQ9dGhpcy5fY29yZVNlcnZpY2UubW9kZXMuaW5zZXJ0TW9kZSx1PXRoaXMuX2N1ckF0dHJEYXRhO2xldCBmPXRoaXMuX2FjdGl2ZUJ1ZmZlci5saW5lcy5nZXQodGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlK3RoaXMuX2FjdGl2ZUJ1ZmZlci55KTt0aGlzLl9kaXJ0eVJvd1RyYWNrZXIubWFya0RpcnR5KHRoaXMuX2FjdGl2ZUJ1ZmZlci55KSx0aGlzLl9hY3RpdmVCdWZmZXIueCYmaS10PjAmJjI9PT1mLmdldFdpZHRoKHRoaXMuX2FjdGl2ZUJ1ZmZlci54LTEpJiZmLnNldENlbGxGcm9tQ29kZXBvaW50KHRoaXMuX2FjdGl2ZUJ1ZmZlci54LTEsMCwxLHUpO2xldCB2PXRoaXMuX3BhcnNlci5wcmVjZWRpbmdKb2luU3RhdGU7Zm9yKGxldCBnPXQ7ZzxpOysrZyl7aWYocz1lW2ddLHM8MTI3JiZuKXtjb25zdCBlPW5bU3RyaW5nLmZyb21DaGFyQ29kZShzKV07ZSYmKHM9ZS5jaGFyQ29kZUF0KDApKX1jb25zdCB0PXRoaXMuX3VuaWNvZGVTZXJ2aWNlLmNoYXJQcm9wZXJ0aWVzKHMsdik7cj1wLlVuaWNvZGVTZXJ2aWNlLmV4dHJhY3RXaWR0aCh0KTtjb25zdCBpPXAuVW5pY29kZVNlcnZpY2UuZXh0cmFjdFNob3VsZEpvaW4odCksbT1pP3AuVW5pY29kZVNlcnZpY2UuZXh0cmFjdFdpZHRoKHYpOjA7aWYodj10LG8mJnRoaXMuX29uQTExeUNoYXIuZmlyZSgoMCxjLnN0cmluZ0Zyb21Db2RlUG9pbnQpKHMpKSx0aGlzLl9nZXRDdXJyZW50TGlua0lkKCkmJnRoaXMuX29zY0xpbmtTZXJ2aWNlLmFkZExpbmVUb0xpbmsodGhpcy5fZ2V0Q3VycmVudExpbmtJZCgpLHRoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZSt0aGlzLl9hY3RpdmVCdWZmZXIueSksdGhpcy5fYWN0aXZlQnVmZmVyLngrci1tPmEpaWYoaCl7Y29uc3QgZT1mO2xldCB0PXRoaXMuX2FjdGl2ZUJ1ZmZlci54LW07Zm9yKHRoaXMuX2FjdGl2ZUJ1ZmZlci54PW0sdGhpcy5fYWN0aXZlQnVmZmVyLnkrKyx0aGlzLl9hY3RpdmVCdWZmZXIueT09PXRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxCb3R0b20rMT8odGhpcy5fYWN0aXZlQnVmZmVyLnktLSx0aGlzLl9idWZmZXJTZXJ2aWNlLnNjcm9sbCh0aGlzLl9lcmFzZUF0dHJEYXRhKCksITApKToodGhpcy5fYWN0aXZlQnVmZmVyLnk+PXRoaXMuX2J1ZmZlclNlcnZpY2Uucm93cyYmKHRoaXMuX2FjdGl2ZUJ1ZmZlci55PXRoaXMuX2J1ZmZlclNlcnZpY2Uucm93cy0xKSx0aGlzLl9hY3RpdmVCdWZmZXIubGluZXMuZ2V0KHRoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZSt0aGlzLl9hY3RpdmVCdWZmZXIueSkuaXNXcmFwcGVkPSEwKSxmPXRoaXMuX2FjdGl2ZUJ1ZmZlci5saW5lcy5nZXQodGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlK3RoaXMuX2FjdGl2ZUJ1ZmZlci55KSxtPjAmJmYgaW5zdGFuY2VvZiBsLkJ1ZmZlckxpbmUmJmYuY29weUNlbGxzRnJvbShlLHQsMCxtLCExKTt0PGE7KWUuc2V0Q2VsbEZyb21Db2RlcG9pbnQodCsrLDAsMSx1KX1lbHNlIGlmKHRoaXMuX2FjdGl2ZUJ1ZmZlci54PWEtMSwyPT09ciljb250aW51ZTtpZihpJiZ0aGlzLl9hY3RpdmVCdWZmZXIueCl7Y29uc3QgZT1mLmdldFdpZHRoKHRoaXMuX2FjdGl2ZUJ1ZmZlci54LTEpPzE6MjtmLmFkZENvZGVwb2ludFRvQ2VsbCh0aGlzLl9hY3RpdmVCdWZmZXIueC1lLHMscik7Zm9yKGxldCBlPXItbTstLWU+PTA7KWYuc2V0Q2VsbEZyb21Db2RlcG9pbnQodGhpcy5fYWN0aXZlQnVmZmVyLngrKywwLDAsdSl9ZWxzZSBpZihkJiYoZi5pbnNlcnRDZWxscyh0aGlzLl9hY3RpdmVCdWZmZXIueCxyLW0sdGhpcy5fYWN0aXZlQnVmZmVyLmdldE51bGxDZWxsKHUpKSwyPT09Zi5nZXRXaWR0aChhLTEpJiZmLnNldENlbGxGcm9tQ29kZXBvaW50KGEtMSxfLk5VTExfQ0VMTF9DT0RFLF8uTlVMTF9DRUxMX1dJRFRILHUpKSxmLnNldENlbGxGcm9tQ29kZXBvaW50KHRoaXMuX2FjdGl2ZUJ1ZmZlci54KysscyxyLHUpLHI+MClmb3IoOy0tcjspZi5zZXRDZWxsRnJvbUNvZGVwb2ludCh0aGlzLl9hY3RpdmVCdWZmZXIueCsrLDAsMCx1KX10aGlzLl9wYXJzZXIucHJlY2VkaW5nSm9pblN0YXRlPXYsdGhpcy5fYWN0aXZlQnVmZmVyLng8YSYmaS10PjAmJjA9PT1mLmdldFdpZHRoKHRoaXMuX2FjdGl2ZUJ1ZmZlci54KSYmIWYuaGFzQ29udGVudCh0aGlzLl9hY3RpdmVCdWZmZXIueCkmJmYuc2V0Q2VsbEZyb21Db2RlcG9pbnQodGhpcy5fYWN0aXZlQnVmZmVyLngsMCwxLHUpLHRoaXMuX2RpcnR5Um93VHJhY2tlci5tYXJrRGlydHkodGhpcy5fYWN0aXZlQnVmZmVyLnkpfXJlZ2lzdGVyQ3NpSGFuZGxlcihlLHQpe3JldHVyblwidFwiIT09ZS5maW5hbHx8ZS5wcmVmaXh8fGUuaW50ZXJtZWRpYXRlcz90aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKGUsdCk6dGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcihlLChlPT4hdyhlLnBhcmFtc1swXSx0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLndpbmRvd09wdGlvbnMpfHx0KGUpKSl9cmVnaXN0ZXJEY3NIYW5kbGVyKGUsdCl7cmV0dXJuIHRoaXMuX3BhcnNlci5yZWdpc3RlckRjc0hhbmRsZXIoZSxuZXcgbS5EY3NIYW5kbGVyKHQpKX1yZWdpc3RlckVzY0hhbmRsZXIoZSx0KXtyZXR1cm4gdGhpcy5fcGFyc2VyLnJlZ2lzdGVyRXNjSGFuZGxlcihlLHQpfXJlZ2lzdGVyT3NjSGFuZGxlcihlLHQpe3JldHVybiB0aGlzLl9wYXJzZXIucmVnaXN0ZXJPc2NIYW5kbGVyKGUsbmV3IGcuT3NjSGFuZGxlcih0KSl9YmVsbCgpe3JldHVybiB0aGlzLl9vblJlcXVlc3RCZWxsLmZpcmUoKSwhMH1saW5lRmVlZCgpe3JldHVybiB0aGlzLl9kaXJ0eVJvd1RyYWNrZXIubWFya0RpcnR5KHRoaXMuX2FjdGl2ZUJ1ZmZlci55KSx0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmNvbnZlcnRFb2wmJih0aGlzLl9hY3RpdmVCdWZmZXIueD0wKSx0aGlzLl9hY3RpdmVCdWZmZXIueSsrLHRoaXMuX2FjdGl2ZUJ1ZmZlci55PT09dGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbEJvdHRvbSsxPyh0aGlzLl9hY3RpdmVCdWZmZXIueS0tLHRoaXMuX2J1ZmZlclNlcnZpY2Uuc2Nyb2xsKHRoaXMuX2VyYXNlQXR0ckRhdGEoKSkpOnRoaXMuX2FjdGl2ZUJ1ZmZlci55Pj10aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3M/dGhpcy5fYWN0aXZlQnVmZmVyLnk9dGhpcy5fYnVmZmVyU2VydmljZS5yb3dzLTE6dGhpcy5fYWN0aXZlQnVmZmVyLmxpbmVzLmdldCh0aGlzLl9hY3RpdmVCdWZmZXIueWJhc2UrdGhpcy5fYWN0aXZlQnVmZmVyLnkpLmlzV3JhcHBlZD0hMSx0aGlzLl9hY3RpdmVCdWZmZXIueD49dGhpcy5fYnVmZmVyU2VydmljZS5jb2xzJiZ0aGlzLl9hY3RpdmVCdWZmZXIueC0tLHRoaXMuX2RpcnR5Um93VHJhY2tlci5tYXJrRGlydHkodGhpcy5fYWN0aXZlQnVmZmVyLnkpLHRoaXMuX29uTGluZUZlZWQuZmlyZSgpLCEwfWNhcnJpYWdlUmV0dXJuKCl7cmV0dXJuIHRoaXMuX2FjdGl2ZUJ1ZmZlci54PTAsITB9YmFja3NwYWNlKCl7aWYoIXRoaXMuX2NvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcy5yZXZlcnNlV3JhcGFyb3VuZClyZXR1cm4gdGhpcy5fcmVzdHJpY3RDdXJzb3IoKSx0aGlzLl9hY3RpdmVCdWZmZXIueD4wJiZ0aGlzLl9hY3RpdmVCdWZmZXIueC0tLCEwO2lmKHRoaXMuX3Jlc3RyaWN0Q3Vyc29yKHRoaXMuX2J1ZmZlclNlcnZpY2UuY29scyksdGhpcy5fYWN0aXZlQnVmZmVyLng+MCl0aGlzLl9hY3RpdmVCdWZmZXIueC0tO2Vsc2UgaWYoMD09PXRoaXMuX2FjdGl2ZUJ1ZmZlci54JiZ0aGlzLl9hY3RpdmVCdWZmZXIueT50aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsVG9wJiZ0aGlzLl9hY3RpdmVCdWZmZXIueTw9dGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbEJvdHRvbSYmdGhpcy5fYWN0aXZlQnVmZmVyLmxpbmVzLmdldCh0aGlzLl9hY3RpdmVCdWZmZXIueWJhc2UrdGhpcy5fYWN0aXZlQnVmZmVyLnkpPy5pc1dyYXBwZWQpe3RoaXMuX2FjdGl2ZUJ1ZmZlci5saW5lcy5nZXQodGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlK3RoaXMuX2FjdGl2ZUJ1ZmZlci55KS5pc1dyYXBwZWQ9ITEsdGhpcy5fYWN0aXZlQnVmZmVyLnktLSx0aGlzLl9hY3RpdmVCdWZmZXIueD10aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMtMTtjb25zdCBlPXRoaXMuX2FjdGl2ZUJ1ZmZlci5saW5lcy5nZXQodGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlK3RoaXMuX2FjdGl2ZUJ1ZmZlci55KTtlLmhhc1dpZHRoKHRoaXMuX2FjdGl2ZUJ1ZmZlci54KSYmIWUuaGFzQ29udGVudCh0aGlzLl9hY3RpdmVCdWZmZXIueCkmJnRoaXMuX2FjdGl2ZUJ1ZmZlci54LS19cmV0dXJuIHRoaXMuX3Jlc3RyaWN0Q3Vyc29yKCksITB9dGFiKCl7aWYodGhpcy5fYWN0aXZlQnVmZmVyLng+PXRoaXMuX2J1ZmZlclNlcnZpY2UuY29scylyZXR1cm4hMDtjb25zdCBlPXRoaXMuX2FjdGl2ZUJ1ZmZlci54O3JldHVybiB0aGlzLl9hY3RpdmVCdWZmZXIueD10aGlzLl9hY3RpdmVCdWZmZXIubmV4dFN0b3AoKSx0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLnNjcmVlblJlYWRlck1vZGUmJnRoaXMuX29uQTExeVRhYi5maXJlKHRoaXMuX2FjdGl2ZUJ1ZmZlci54LWUpLCEwfXNoaWZ0T3V0KCl7cmV0dXJuIHRoaXMuX2NoYXJzZXRTZXJ2aWNlLnNldGdMZXZlbCgxKSwhMH1zaGlmdEluKCl7cmV0dXJuIHRoaXMuX2NoYXJzZXRTZXJ2aWNlLnNldGdMZXZlbCgwKSwhMH1fcmVzdHJpY3RDdXJzb3IoZT10aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMtMSl7dGhpcy5fYWN0aXZlQnVmZmVyLng9TWF0aC5taW4oZSxNYXRoLm1heCgwLHRoaXMuX2FjdGl2ZUJ1ZmZlci54KSksdGhpcy5fYWN0aXZlQnVmZmVyLnk9dGhpcy5fY29yZVNlcnZpY2UuZGVjUHJpdmF0ZU1vZGVzLm9yaWdpbj9NYXRoLm1pbih0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tLE1hdGgubWF4KHRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxUb3AsdGhpcy5fYWN0aXZlQnVmZmVyLnkpKTpNYXRoLm1pbih0aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MtMSxNYXRoLm1heCgwLHRoaXMuX2FjdGl2ZUJ1ZmZlci55KSksdGhpcy5fZGlydHlSb3dUcmFja2VyLm1hcmtEaXJ0eSh0aGlzLl9hY3RpdmVCdWZmZXIueSl9X3NldEN1cnNvcihlLHQpe3RoaXMuX2RpcnR5Um93VHJhY2tlci5tYXJrRGlydHkodGhpcy5fYWN0aXZlQnVmZmVyLnkpLHRoaXMuX2NvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcy5vcmlnaW4/KHRoaXMuX2FjdGl2ZUJ1ZmZlci54PWUsdGhpcy5fYWN0aXZlQnVmZmVyLnk9dGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbFRvcCt0KToodGhpcy5fYWN0aXZlQnVmZmVyLng9ZSx0aGlzLl9hY3RpdmVCdWZmZXIueT10KSx0aGlzLl9yZXN0cmljdEN1cnNvcigpLHRoaXMuX2RpcnR5Um93VHJhY2tlci5tYXJrRGlydHkodGhpcy5fYWN0aXZlQnVmZmVyLnkpfV9tb3ZlQ3Vyc29yKGUsdCl7dGhpcy5fcmVzdHJpY3RDdXJzb3IoKSx0aGlzLl9zZXRDdXJzb3IodGhpcy5fYWN0aXZlQnVmZmVyLngrZSx0aGlzLl9hY3RpdmVCdWZmZXIueSt0KX1jdXJzb3JVcChlKXtjb25zdCB0PXRoaXMuX2FjdGl2ZUJ1ZmZlci55LXRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxUb3A7cmV0dXJuIHQ+PTA/dGhpcy5fbW92ZUN1cnNvcigwLC1NYXRoLm1pbih0LGUucGFyYW1zWzBdfHwxKSk6dGhpcy5fbW92ZUN1cnNvcigwLC0oZS5wYXJhbXNbMF18fDEpKSwhMH1jdXJzb3JEb3duKGUpe2NvbnN0IHQ9dGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbEJvdHRvbS10aGlzLl9hY3RpdmVCdWZmZXIueTtyZXR1cm4gdD49MD90aGlzLl9tb3ZlQ3Vyc29yKDAsTWF0aC5taW4odCxlLnBhcmFtc1swXXx8MSkpOnRoaXMuX21vdmVDdXJzb3IoMCxlLnBhcmFtc1swXXx8MSksITB9Y3Vyc29yRm9yd2FyZChlKXtyZXR1cm4gdGhpcy5fbW92ZUN1cnNvcihlLnBhcmFtc1swXXx8MSwwKSwhMH1jdXJzb3JCYWNrd2FyZChlKXtyZXR1cm4gdGhpcy5fbW92ZUN1cnNvcigtKGUucGFyYW1zWzBdfHwxKSwwKSwhMH1jdXJzb3JOZXh0TGluZShlKXtyZXR1cm4gdGhpcy5jdXJzb3JEb3duKGUpLHRoaXMuX2FjdGl2ZUJ1ZmZlci54PTAsITB9Y3Vyc29yUHJlY2VkaW5nTGluZShlKXtyZXR1cm4gdGhpcy5jdXJzb3JVcChlKSx0aGlzLl9hY3RpdmVCdWZmZXIueD0wLCEwfWN1cnNvckNoYXJBYnNvbHV0ZShlKXtyZXR1cm4gdGhpcy5fc2V0Q3Vyc29yKChlLnBhcmFtc1swXXx8MSktMSx0aGlzLl9hY3RpdmVCdWZmZXIueSksITB9Y3Vyc29yUG9zaXRpb24oZSl7cmV0dXJuIHRoaXMuX3NldEN1cnNvcihlLmxlbmd0aD49Mj8oZS5wYXJhbXNbMV18fDEpLTE6MCwoZS5wYXJhbXNbMF18fDEpLTEpLCEwfWNoYXJQb3NBYnNvbHV0ZShlKXtyZXR1cm4gdGhpcy5fc2V0Q3Vyc29yKChlLnBhcmFtc1swXXx8MSktMSx0aGlzLl9hY3RpdmVCdWZmZXIueSksITB9aFBvc2l0aW9uUmVsYXRpdmUoZSl7cmV0dXJuIHRoaXMuX21vdmVDdXJzb3IoZS5wYXJhbXNbMF18fDEsMCksITB9bGluZVBvc0Fic29sdXRlKGUpe3JldHVybiB0aGlzLl9zZXRDdXJzb3IodGhpcy5fYWN0aXZlQnVmZmVyLngsKGUucGFyYW1zWzBdfHwxKS0xKSwhMH12UG9zaXRpb25SZWxhdGl2ZShlKXtyZXR1cm4gdGhpcy5fbW92ZUN1cnNvcigwLGUucGFyYW1zWzBdfHwxKSwhMH1oVlBvc2l0aW9uKGUpe3JldHVybiB0aGlzLmN1cnNvclBvc2l0aW9uKGUpLCEwfXRhYkNsZWFyKGUpe2NvbnN0IHQ9ZS5wYXJhbXNbMF07cmV0dXJuIDA9PT10P2RlbGV0ZSB0aGlzLl9hY3RpdmVCdWZmZXIudGFic1t0aGlzLl9hY3RpdmVCdWZmZXIueF06Mz09PXQmJih0aGlzLl9hY3RpdmVCdWZmZXIudGFicz17fSksITB9Y3Vyc29yRm9yd2FyZFRhYihlKXtpZih0aGlzLl9hY3RpdmVCdWZmZXIueD49dGhpcy5fYnVmZmVyU2VydmljZS5jb2xzKXJldHVybiEwO2xldCB0PWUucGFyYW1zWzBdfHwxO2Zvcig7dC0tOyl0aGlzLl9hY3RpdmVCdWZmZXIueD10aGlzLl9hY3RpdmVCdWZmZXIubmV4dFN0b3AoKTtyZXR1cm4hMH1jdXJzb3JCYWNrd2FyZFRhYihlKXtpZih0aGlzLl9hY3RpdmVCdWZmZXIueD49dGhpcy5fYnVmZmVyU2VydmljZS5jb2xzKXJldHVybiEwO2xldCB0PWUucGFyYW1zWzBdfHwxO2Zvcig7dC0tOyl0aGlzLl9hY3RpdmVCdWZmZXIueD10aGlzLl9hY3RpdmVCdWZmZXIucHJldlN0b3AoKTtyZXR1cm4hMH1zZWxlY3RQcm90ZWN0ZWQoZSl7Y29uc3QgdD1lLnBhcmFtc1swXTtyZXR1cm4gMT09PXQmJih0aGlzLl9jdXJBdHRyRGF0YS5iZ3w9NTM2ODcwOTEyKSwyIT09dCYmMCE9PXR8fCh0aGlzLl9jdXJBdHRyRGF0YS5iZyY9LTUzNjg3MDkxMyksITB9X2VyYXNlSW5CdWZmZXJMaW5lKGUsdCxpLHM9ITEscj0hMSl7Y29uc3Qgbj10aGlzLl9hY3RpdmVCdWZmZXIubGluZXMuZ2V0KHRoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZStlKTtuLnJlcGxhY2VDZWxscyh0LGksdGhpcy5fYWN0aXZlQnVmZmVyLmdldE51bGxDZWxsKHRoaXMuX2VyYXNlQXR0ckRhdGEoKSkscikscyYmKG4uaXNXcmFwcGVkPSExKX1fcmVzZXRCdWZmZXJMaW5lKGUsdD0hMSl7Y29uc3QgaT10aGlzLl9hY3RpdmVCdWZmZXIubGluZXMuZ2V0KHRoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZStlKTtpJiYoaS5maWxsKHRoaXMuX2FjdGl2ZUJ1ZmZlci5nZXROdWxsQ2VsbCh0aGlzLl9lcmFzZUF0dHJEYXRhKCkpLHQpLHRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLmNsZWFyTWFya2Vycyh0aGlzLl9hY3RpdmVCdWZmZXIueWJhc2UrZSksaS5pc1dyYXBwZWQ9ITEpfWVyYXNlSW5EaXNwbGF5KGUsdD0hMSl7bGV0IGk7c3dpdGNoKHRoaXMuX3Jlc3RyaWN0Q3Vyc29yKHRoaXMuX2J1ZmZlclNlcnZpY2UuY29scyksZS5wYXJhbXNbMF0pe2Nhc2UgMDpmb3IoaT10aGlzLl9hY3RpdmVCdWZmZXIueSx0aGlzLl9kaXJ0eVJvd1RyYWNrZXIubWFya0RpcnR5KGkpLHRoaXMuX2VyYXNlSW5CdWZmZXJMaW5lKGkrKyx0aGlzLl9hY3RpdmVCdWZmZXIueCx0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMsMD09PXRoaXMuX2FjdGl2ZUJ1ZmZlci54LHQpO2k8dGhpcy5fYnVmZmVyU2VydmljZS5yb3dzO2krKyl0aGlzLl9yZXNldEJ1ZmZlckxpbmUoaSx0KTt0aGlzLl9kaXJ0eVJvd1RyYWNrZXIubWFya0RpcnR5KGkpO2JyZWFrO2Nhc2UgMTpmb3IoaT10aGlzLl9hY3RpdmVCdWZmZXIueSx0aGlzLl9kaXJ0eVJvd1RyYWNrZXIubWFya0RpcnR5KGkpLHRoaXMuX2VyYXNlSW5CdWZmZXJMaW5lKGksMCx0aGlzLl9hY3RpdmVCdWZmZXIueCsxLCEwLHQpLHRoaXMuX2FjdGl2ZUJ1ZmZlci54KzE+PXRoaXMuX2J1ZmZlclNlcnZpY2UuY29scyYmKHRoaXMuX2FjdGl2ZUJ1ZmZlci5saW5lcy5nZXQoaSsxKS5pc1dyYXBwZWQ9ITEpO2ktLTspdGhpcy5fcmVzZXRCdWZmZXJMaW5lKGksdCk7dGhpcy5fZGlydHlSb3dUcmFja2VyLm1hcmtEaXJ0eSgwKTticmVhaztjYXNlIDI6Zm9yKGk9dGhpcy5fYnVmZmVyU2VydmljZS5yb3dzLHRoaXMuX2RpcnR5Um93VHJhY2tlci5tYXJrRGlydHkoaS0xKTtpLS07KXRoaXMuX3Jlc2V0QnVmZmVyTGluZShpLHQpO3RoaXMuX2RpcnR5Um93VHJhY2tlci5tYXJrRGlydHkoMCk7YnJlYWs7Y2FzZSAzOmNvbnN0IGU9dGhpcy5fYWN0aXZlQnVmZmVyLmxpbmVzLmxlbmd0aC10aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3M7ZT4wJiYodGhpcy5fYWN0aXZlQnVmZmVyLmxpbmVzLnRyaW1TdGFydChlKSx0aGlzLl9hY3RpdmVCdWZmZXIueWJhc2U9TWF0aC5tYXgodGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlLWUsMCksdGhpcy5fYWN0aXZlQnVmZmVyLnlkaXNwPU1hdGgubWF4KHRoaXMuX2FjdGl2ZUJ1ZmZlci55ZGlzcC1lLDApLHRoaXMuX29uU2Nyb2xsLmZpcmUoMCkpfXJldHVybiEwfWVyYXNlSW5MaW5lKGUsdD0hMSl7c3dpdGNoKHRoaXMuX3Jlc3RyaWN0Q3Vyc29yKHRoaXMuX2J1ZmZlclNlcnZpY2UuY29scyksZS5wYXJhbXNbMF0pe2Nhc2UgMDp0aGlzLl9lcmFzZUluQnVmZmVyTGluZSh0aGlzLl9hY3RpdmVCdWZmZXIueSx0aGlzLl9hY3RpdmVCdWZmZXIueCx0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMsMD09PXRoaXMuX2FjdGl2ZUJ1ZmZlci54LHQpO2JyZWFrO2Nhc2UgMTp0aGlzLl9lcmFzZUluQnVmZmVyTGluZSh0aGlzLl9hY3RpdmVCdWZmZXIueSwwLHRoaXMuX2FjdGl2ZUJ1ZmZlci54KzEsITEsdCk7YnJlYWs7Y2FzZSAyOnRoaXMuX2VyYXNlSW5CdWZmZXJMaW5lKHRoaXMuX2FjdGl2ZUJ1ZmZlci55LDAsdGhpcy5fYnVmZmVyU2VydmljZS5jb2xzLCEwLHQpfXJldHVybiB0aGlzLl9kaXJ0eVJvd1RyYWNrZXIubWFya0RpcnR5KHRoaXMuX2FjdGl2ZUJ1ZmZlci55KSwhMH1pbnNlcnRMaW5lcyhlKXt0aGlzLl9yZXN0cmljdEN1cnNvcigpO2xldCB0PWUucGFyYW1zWzBdfHwxO2lmKHRoaXMuX2FjdGl2ZUJ1ZmZlci55PnRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxCb3R0b218fHRoaXMuX2FjdGl2ZUJ1ZmZlci55PHRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxUb3ApcmV0dXJuITA7Y29uc3QgaT10aGlzLl9hY3RpdmVCdWZmZXIueWJhc2UrdGhpcy5fYWN0aXZlQnVmZmVyLnkscz10aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MtMS10aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tLHI9dGhpcy5fYnVmZmVyU2VydmljZS5yb3dzLTErdGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlLXMrMTtmb3IoO3QtLTspdGhpcy5fYWN0aXZlQnVmZmVyLmxpbmVzLnNwbGljZShyLTEsMSksdGhpcy5fYWN0aXZlQnVmZmVyLmxpbmVzLnNwbGljZShpLDAsdGhpcy5fYWN0aXZlQnVmZmVyLmdldEJsYW5rTGluZSh0aGlzLl9lcmFzZUF0dHJEYXRhKCkpKTtyZXR1cm4gdGhpcy5fZGlydHlSb3dUcmFja2VyLm1hcmtSYW5nZURpcnR5KHRoaXMuX2FjdGl2ZUJ1ZmZlci55LHRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxCb3R0b20pLHRoaXMuX2FjdGl2ZUJ1ZmZlci54PTAsITB9ZGVsZXRlTGluZXMoZSl7dGhpcy5fcmVzdHJpY3RDdXJzb3IoKTtsZXQgdD1lLnBhcmFtc1swXXx8MTtpZih0aGlzLl9hY3RpdmVCdWZmZXIueT50aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tfHx0aGlzLl9hY3RpdmVCdWZmZXIueTx0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsVG9wKXJldHVybiEwO2NvbnN0IGk9dGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlK3RoaXMuX2FjdGl2ZUJ1ZmZlci55O2xldCBzO2ZvcihzPXRoaXMuX2J1ZmZlclNlcnZpY2Uucm93cy0xLXRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxCb3R0b20scz10aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MtMSt0aGlzLl9hY3RpdmVCdWZmZXIueWJhc2Utczt0LS07KXRoaXMuX2FjdGl2ZUJ1ZmZlci5saW5lcy5zcGxpY2UoaSwxKSx0aGlzLl9hY3RpdmVCdWZmZXIubGluZXMuc3BsaWNlKHMsMCx0aGlzLl9hY3RpdmVCdWZmZXIuZ2V0QmxhbmtMaW5lKHRoaXMuX2VyYXNlQXR0ckRhdGEoKSkpO3JldHVybiB0aGlzLl9kaXJ0eVJvd1RyYWNrZXIubWFya1JhbmdlRGlydHkodGhpcy5fYWN0aXZlQnVmZmVyLnksdGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbEJvdHRvbSksdGhpcy5fYWN0aXZlQnVmZmVyLng9MCwhMH1pbnNlcnRDaGFycyhlKXt0aGlzLl9yZXN0cmljdEN1cnNvcigpO2NvbnN0IHQ9dGhpcy5fYWN0aXZlQnVmZmVyLmxpbmVzLmdldCh0aGlzLl9hY3RpdmVCdWZmZXIueWJhc2UrdGhpcy5fYWN0aXZlQnVmZmVyLnkpO3JldHVybiB0JiYodC5pbnNlcnRDZWxscyh0aGlzLl9hY3RpdmVCdWZmZXIueCxlLnBhcmFtc1swXXx8MSx0aGlzLl9hY3RpdmVCdWZmZXIuZ2V0TnVsbENlbGwodGhpcy5fZXJhc2VBdHRyRGF0YSgpKSksdGhpcy5fZGlydHlSb3dUcmFja2VyLm1hcmtEaXJ0eSh0aGlzLl9hY3RpdmVCdWZmZXIueSkpLCEwfWRlbGV0ZUNoYXJzKGUpe3RoaXMuX3Jlc3RyaWN0Q3Vyc29yKCk7Y29uc3QgdD10aGlzLl9hY3RpdmVCdWZmZXIubGluZXMuZ2V0KHRoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZSt0aGlzLl9hY3RpdmVCdWZmZXIueSk7cmV0dXJuIHQmJih0LmRlbGV0ZUNlbGxzKHRoaXMuX2FjdGl2ZUJ1ZmZlci54LGUucGFyYW1zWzBdfHwxLHRoaXMuX2FjdGl2ZUJ1ZmZlci5nZXROdWxsQ2VsbCh0aGlzLl9lcmFzZUF0dHJEYXRhKCkpKSx0aGlzLl9kaXJ0eVJvd1RyYWNrZXIubWFya0RpcnR5KHRoaXMuX2FjdGl2ZUJ1ZmZlci55KSksITB9c2Nyb2xsVXAoZSl7bGV0IHQ9ZS5wYXJhbXNbMF18fDE7Zm9yKDt0LS07KXRoaXMuX2FjdGl2ZUJ1ZmZlci5saW5lcy5zcGxpY2UodGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlK3RoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxUb3AsMSksdGhpcy5fYWN0aXZlQnVmZmVyLmxpbmVzLnNwbGljZSh0aGlzLl9hY3RpdmVCdWZmZXIueWJhc2UrdGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbEJvdHRvbSwwLHRoaXMuX2FjdGl2ZUJ1ZmZlci5nZXRCbGFua0xpbmUodGhpcy5fZXJhc2VBdHRyRGF0YSgpKSk7cmV0dXJuIHRoaXMuX2RpcnR5Um93VHJhY2tlci5tYXJrUmFuZ2VEaXJ0eSh0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsVG9wLHRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxCb3R0b20pLCEwfXNjcm9sbERvd24oZSl7bGV0IHQ9ZS5wYXJhbXNbMF18fDE7Zm9yKDt0LS07KXRoaXMuX2FjdGl2ZUJ1ZmZlci5saW5lcy5zcGxpY2UodGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlK3RoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxCb3R0b20sMSksdGhpcy5fYWN0aXZlQnVmZmVyLmxpbmVzLnNwbGljZSh0aGlzLl9hY3RpdmVCdWZmZXIueWJhc2UrdGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbFRvcCwwLHRoaXMuX2FjdGl2ZUJ1ZmZlci5nZXRCbGFua0xpbmUobC5ERUZBVUxUX0FUVFJfREFUQSkpO3JldHVybiB0aGlzLl9kaXJ0eVJvd1RyYWNrZXIubWFya1JhbmdlRGlydHkodGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbFRvcCx0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tKSwhMH1zY3JvbGxMZWZ0KGUpe2lmKHRoaXMuX2FjdGl2ZUJ1ZmZlci55PnRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxCb3R0b218fHRoaXMuX2FjdGl2ZUJ1ZmZlci55PHRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxUb3ApcmV0dXJuITA7Y29uc3QgdD1lLnBhcmFtc1swXXx8MTtmb3IobGV0IGU9dGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbFRvcDtlPD10aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tOysrZSl7Y29uc3QgaT10aGlzLl9hY3RpdmVCdWZmZXIubGluZXMuZ2V0KHRoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZStlKTtpLmRlbGV0ZUNlbGxzKDAsdCx0aGlzLl9hY3RpdmVCdWZmZXIuZ2V0TnVsbENlbGwodGhpcy5fZXJhc2VBdHRyRGF0YSgpKSksaS5pc1dyYXBwZWQ9ITF9cmV0dXJuIHRoaXMuX2RpcnR5Um93VHJhY2tlci5tYXJrUmFuZ2VEaXJ0eSh0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsVG9wLHRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxCb3R0b20pLCEwfXNjcm9sbFJpZ2h0KGUpe2lmKHRoaXMuX2FjdGl2ZUJ1ZmZlci55PnRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxCb3R0b218fHRoaXMuX2FjdGl2ZUJ1ZmZlci55PHRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxUb3ApcmV0dXJuITA7Y29uc3QgdD1lLnBhcmFtc1swXXx8MTtmb3IobGV0IGU9dGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbFRvcDtlPD10aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tOysrZSl7Y29uc3QgaT10aGlzLl9hY3RpdmVCdWZmZXIubGluZXMuZ2V0KHRoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZStlKTtpLmluc2VydENlbGxzKDAsdCx0aGlzLl9hY3RpdmVCdWZmZXIuZ2V0TnVsbENlbGwodGhpcy5fZXJhc2VBdHRyRGF0YSgpKSksaS5pc1dyYXBwZWQ9ITF9cmV0dXJuIHRoaXMuX2RpcnR5Um93VHJhY2tlci5tYXJrUmFuZ2VEaXJ0eSh0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsVG9wLHRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxCb3R0b20pLCEwfWluc2VydENvbHVtbnMoZSl7aWYodGhpcy5fYWN0aXZlQnVmZmVyLnk+dGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbEJvdHRvbXx8dGhpcy5fYWN0aXZlQnVmZmVyLnk8dGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbFRvcClyZXR1cm4hMDtjb25zdCB0PWUucGFyYW1zWzBdfHwxO2ZvcihsZXQgZT10aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsVG9wO2U8PXRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxCb3R0b207KytlKXtjb25zdCBpPXRoaXMuX2FjdGl2ZUJ1ZmZlci5saW5lcy5nZXQodGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlK2UpO2kuaW5zZXJ0Q2VsbHModGhpcy5fYWN0aXZlQnVmZmVyLngsdCx0aGlzLl9hY3RpdmVCdWZmZXIuZ2V0TnVsbENlbGwodGhpcy5fZXJhc2VBdHRyRGF0YSgpKSksaS5pc1dyYXBwZWQ9ITF9cmV0dXJuIHRoaXMuX2RpcnR5Um93VHJhY2tlci5tYXJrUmFuZ2VEaXJ0eSh0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsVG9wLHRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxCb3R0b20pLCEwfWRlbGV0ZUNvbHVtbnMoZSl7aWYodGhpcy5fYWN0aXZlQnVmZmVyLnk+dGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbEJvdHRvbXx8dGhpcy5fYWN0aXZlQnVmZmVyLnk8dGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbFRvcClyZXR1cm4hMDtjb25zdCB0PWUucGFyYW1zWzBdfHwxO2ZvcihsZXQgZT10aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsVG9wO2U8PXRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxCb3R0b207KytlKXtjb25zdCBpPXRoaXMuX2FjdGl2ZUJ1ZmZlci5saW5lcy5nZXQodGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlK2UpO2kuZGVsZXRlQ2VsbHModGhpcy5fYWN0aXZlQnVmZmVyLngsdCx0aGlzLl9hY3RpdmVCdWZmZXIuZ2V0TnVsbENlbGwodGhpcy5fZXJhc2VBdHRyRGF0YSgpKSksaS5pc1dyYXBwZWQ9ITF9cmV0dXJuIHRoaXMuX2RpcnR5Um93VHJhY2tlci5tYXJrUmFuZ2VEaXJ0eSh0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsVG9wLHRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxCb3R0b20pLCEwfWVyYXNlQ2hhcnMoZSl7dGhpcy5fcmVzdHJpY3RDdXJzb3IoKTtjb25zdCB0PXRoaXMuX2FjdGl2ZUJ1ZmZlci5saW5lcy5nZXQodGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlK3RoaXMuX2FjdGl2ZUJ1ZmZlci55KTtyZXR1cm4gdCYmKHQucmVwbGFjZUNlbGxzKHRoaXMuX2FjdGl2ZUJ1ZmZlci54LHRoaXMuX2FjdGl2ZUJ1ZmZlci54KyhlLnBhcmFtc1swXXx8MSksdGhpcy5fYWN0aXZlQnVmZmVyLmdldE51bGxDZWxsKHRoaXMuX2VyYXNlQXR0ckRhdGEoKSkpLHRoaXMuX2RpcnR5Um93VHJhY2tlci5tYXJrRGlydHkodGhpcy5fYWN0aXZlQnVmZmVyLnkpKSwhMH1yZXBlYXRQcmVjZWRpbmdDaGFyYWN0ZXIoZSl7Y29uc3QgdD10aGlzLl9wYXJzZXIucHJlY2VkaW5nSm9pblN0YXRlO2lmKCF0KXJldHVybiEwO2NvbnN0IGk9ZS5wYXJhbXNbMF18fDEscz1wLlVuaWNvZGVTZXJ2aWNlLmV4dHJhY3RXaWR0aCh0KSxyPXRoaXMuX2FjdGl2ZUJ1ZmZlci54LXMsbj10aGlzLl9hY3RpdmVCdWZmZXIubGluZXMuZ2V0KHRoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZSt0aGlzLl9hY3RpdmVCdWZmZXIueSkuZ2V0U3RyaW5nKHIpLG89bmV3IFVpbnQzMkFycmF5KG4ubGVuZ3RoKmkpO2xldCBhPTA7Zm9yKGxldCBlPTA7ZTxuLmxlbmd0aDspe2NvbnN0IHQ9bi5jb2RlUG9pbnRBdChlKXx8MDtvW2ErK109dCxlKz10PjY1NTM1PzI6MX1sZXQgaD1hO2ZvcihsZXQgZT0xO2U8aTsrK2Upby5jb3B5V2l0aGluKGgsMCxhKSxoKz1hO3JldHVybiB0aGlzLnByaW50KG8sMCxoKSwhMH1zZW5kRGV2aWNlQXR0cmlidXRlc1ByaW1hcnkoZSl7cmV0dXJuIGUucGFyYW1zWzBdPjB8fCh0aGlzLl9pcyhcInh0ZXJtXCIpfHx0aGlzLl9pcyhcInJ4dnQtdW5pY29kZVwiKXx8dGhpcy5faXMoXCJzY3JlZW5cIik/dGhpcy5fY29yZVNlcnZpY2UudHJpZ2dlckRhdGFFdmVudChuLkMwLkVTQytcIls/MTsyY1wiKTp0aGlzLl9pcyhcImxpbnV4XCIpJiZ0aGlzLl9jb3JlU2VydmljZS50cmlnZ2VyRGF0YUV2ZW50KG4uQzAuRVNDK1wiWz82Y1wiKSksITB9c2VuZERldmljZUF0dHJpYnV0ZXNTZWNvbmRhcnkoZSl7cmV0dXJuIGUucGFyYW1zWzBdPjB8fCh0aGlzLl9pcyhcInh0ZXJtXCIpP3RoaXMuX2NvcmVTZXJ2aWNlLnRyaWdnZXJEYXRhRXZlbnQobi5DMC5FU0MrXCJbPjA7Mjc2OzBjXCIpOnRoaXMuX2lzKFwicnh2dC11bmljb2RlXCIpP3RoaXMuX2NvcmVTZXJ2aWNlLnRyaWdnZXJEYXRhRXZlbnQobi5DMC5FU0MrXCJbPjg1Ozk1OzBjXCIpOnRoaXMuX2lzKFwibGludXhcIik/dGhpcy5fY29yZVNlcnZpY2UudHJpZ2dlckRhdGFFdmVudChlLnBhcmFtc1swXStcImNcIik6dGhpcy5faXMoXCJzY3JlZW5cIikmJnRoaXMuX2NvcmVTZXJ2aWNlLnRyaWdnZXJEYXRhRXZlbnQobi5DMC5FU0MrXCJbPjgzOzQwMDAzOzBjXCIpKSwhMH1faXMoZSl7cmV0dXJuIDA9PT0odGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy50ZXJtTmFtZStcIlwiKS5pbmRleE9mKGUpfXNldE1vZGUoZSl7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspc3dpdGNoKGUucGFyYW1zW3RdKXtjYXNlIDQ6dGhpcy5fY29yZVNlcnZpY2UubW9kZXMuaW5zZXJ0TW9kZT0hMDticmVhaztjYXNlIDIwOnRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMuY29udmVydEVvbD0hMH1yZXR1cm4hMH1zZXRNb2RlUHJpdmF0ZShlKXtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKylzd2l0Y2goZS5wYXJhbXNbdF0pe2Nhc2UgMTp0aGlzLl9jb3JlU2VydmljZS5kZWNQcml2YXRlTW9kZXMuYXBwbGljYXRpb25DdXJzb3JLZXlzPSEwO2JyZWFrO2Nhc2UgMjp0aGlzLl9jaGFyc2V0U2VydmljZS5zZXRnQ2hhcnNldCgwLG8uREVGQVVMVF9DSEFSU0VUKSx0aGlzLl9jaGFyc2V0U2VydmljZS5zZXRnQ2hhcnNldCgxLG8uREVGQVVMVF9DSEFSU0VUKSx0aGlzLl9jaGFyc2V0U2VydmljZS5zZXRnQ2hhcnNldCgyLG8uREVGQVVMVF9DSEFSU0VUKSx0aGlzLl9jaGFyc2V0U2VydmljZS5zZXRnQ2hhcnNldCgzLG8uREVGQVVMVF9DSEFSU0VUKTticmVhaztjYXNlIDM6dGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy53aW5kb3dPcHRpb25zLnNldFdpbkxpbmVzJiYodGhpcy5fYnVmZmVyU2VydmljZS5yZXNpemUoMTMyLHRoaXMuX2J1ZmZlclNlcnZpY2Uucm93cyksdGhpcy5fb25SZXF1ZXN0UmVzZXQuZmlyZSgpKTticmVhaztjYXNlIDY6dGhpcy5fY29yZVNlcnZpY2UuZGVjUHJpdmF0ZU1vZGVzLm9yaWdpbj0hMCx0aGlzLl9zZXRDdXJzb3IoMCwwKTticmVhaztjYXNlIDc6dGhpcy5fY29yZVNlcnZpY2UuZGVjUHJpdmF0ZU1vZGVzLndyYXBhcm91bmQ9ITA7YnJlYWs7Y2FzZSAxMjp0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLmN1cnNvckJsaW5rPSEwO2JyZWFrO2Nhc2UgNDU6dGhpcy5fY29yZVNlcnZpY2UuZGVjUHJpdmF0ZU1vZGVzLnJldmVyc2VXcmFwYXJvdW5kPSEwO2JyZWFrO2Nhc2UgNjY6dGhpcy5fbG9nU2VydmljZS5kZWJ1ZyhcIlNlcmlhbCBwb3J0IHJlcXVlc3RlZCBhcHBsaWNhdGlvbiBrZXlwYWQuXCIpLHRoaXMuX2NvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcy5hcHBsaWNhdGlvbktleXBhZD0hMCx0aGlzLl9vblJlcXVlc3RTeW5jU2Nyb2xsQmFyLmZpcmUoKTticmVhaztjYXNlIDk6dGhpcy5fY29yZU1vdXNlU2VydmljZS5hY3RpdmVQcm90b2NvbD1cIlgxMFwiO2JyZWFrO2Nhc2UgMWUzOnRoaXMuX2NvcmVNb3VzZVNlcnZpY2UuYWN0aXZlUHJvdG9jb2w9XCJWVDIwMFwiO2JyZWFrO2Nhc2UgMTAwMjp0aGlzLl9jb3JlTW91c2VTZXJ2aWNlLmFjdGl2ZVByb3RvY29sPVwiRFJBR1wiO2JyZWFrO2Nhc2UgMTAwMzp0aGlzLl9jb3JlTW91c2VTZXJ2aWNlLmFjdGl2ZVByb3RvY29sPVwiQU5ZXCI7YnJlYWs7Y2FzZSAxMDA0OnRoaXMuX2NvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcy5zZW5kRm9jdXM9ITAsdGhpcy5fb25SZXF1ZXN0U2VuZEZvY3VzLmZpcmUoKTticmVhaztjYXNlIDEwMDU6dGhpcy5fbG9nU2VydmljZS5kZWJ1ZyhcIkRFQ1NFVCAxMDA1IG5vdCBzdXBwb3J0ZWQgKHNlZSAjMjUwNylcIik7YnJlYWs7Y2FzZSAxMDA2OnRoaXMuX2NvcmVNb3VzZVNlcnZpY2UuYWN0aXZlRW5jb2Rpbmc9XCJTR1JcIjticmVhaztjYXNlIDEwMTU6dGhpcy5fbG9nU2VydmljZS5kZWJ1ZyhcIkRFQ1NFVCAxMDE1IG5vdCBzdXBwb3J0ZWQgKHNlZSAjMjUwNylcIik7YnJlYWs7Y2FzZSAxMDE2OnRoaXMuX2NvcmVNb3VzZVNlcnZpY2UuYWN0aXZlRW5jb2Rpbmc9XCJTR1JfUElYRUxTXCI7YnJlYWs7Y2FzZSAyNTp0aGlzLl9jb3JlU2VydmljZS5pc0N1cnNvckhpZGRlbj0hMTticmVhaztjYXNlIDEwNDg6dGhpcy5zYXZlQ3Vyc29yKCk7YnJlYWs7Y2FzZSAxMDQ5OnRoaXMuc2F2ZUN1cnNvcigpO2Nhc2UgNDc6Y2FzZSAxMDQ3OnRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVycy5hY3RpdmF0ZUFsdEJ1ZmZlcih0aGlzLl9lcmFzZUF0dHJEYXRhKCkpLHRoaXMuX2NvcmVTZXJ2aWNlLmlzQ3Vyc29ySW5pdGlhbGl6ZWQ9ITAsdGhpcy5fb25SZXF1ZXN0UmVmcmVzaFJvd3MuZmlyZSgwLHRoaXMuX2J1ZmZlclNlcnZpY2Uucm93cy0xKSx0aGlzLl9vblJlcXVlc3RTeW5jU2Nyb2xsQmFyLmZpcmUoKTticmVhaztjYXNlIDIwMDQ6dGhpcy5fY29yZVNlcnZpY2UuZGVjUHJpdmF0ZU1vZGVzLmJyYWNrZXRlZFBhc3RlTW9kZT0hMH1yZXR1cm4hMH1yZXNldE1vZGUoZSl7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspc3dpdGNoKGUucGFyYW1zW3RdKXtjYXNlIDQ6dGhpcy5fY29yZVNlcnZpY2UubW9kZXMuaW5zZXJ0TW9kZT0hMTticmVhaztjYXNlIDIwOnRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMuY29udmVydEVvbD0hMX1yZXR1cm4hMH1yZXNldE1vZGVQcml2YXRlKGUpe2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKXN3aXRjaChlLnBhcmFtc1t0XSl7Y2FzZSAxOnRoaXMuX2NvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcy5hcHBsaWNhdGlvbkN1cnNvcktleXM9ITE7YnJlYWs7Y2FzZSAzOnRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMud2luZG93T3B0aW9ucy5zZXRXaW5MaW5lcyYmKHRoaXMuX2J1ZmZlclNlcnZpY2UucmVzaXplKDgwLHRoaXMuX2J1ZmZlclNlcnZpY2Uucm93cyksdGhpcy5fb25SZXF1ZXN0UmVzZXQuZmlyZSgpKTticmVhaztjYXNlIDY6dGhpcy5fY29yZVNlcnZpY2UuZGVjUHJpdmF0ZU1vZGVzLm9yaWdpbj0hMSx0aGlzLl9zZXRDdXJzb3IoMCwwKTticmVhaztjYXNlIDc6dGhpcy5fY29yZVNlcnZpY2UuZGVjUHJpdmF0ZU1vZGVzLndyYXBhcm91bmQ9ITE7YnJlYWs7Y2FzZSAxMjp0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLmN1cnNvckJsaW5rPSExO2JyZWFrO2Nhc2UgNDU6dGhpcy5fY29yZVNlcnZpY2UuZGVjUHJpdmF0ZU1vZGVzLnJldmVyc2VXcmFwYXJvdW5kPSExO2JyZWFrO2Nhc2UgNjY6dGhpcy5fbG9nU2VydmljZS5kZWJ1ZyhcIlN3aXRjaGluZyBiYWNrIHRvIG5vcm1hbCBrZXlwYWQuXCIpLHRoaXMuX2NvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcy5hcHBsaWNhdGlvbktleXBhZD0hMSx0aGlzLl9vblJlcXVlc3RTeW5jU2Nyb2xsQmFyLmZpcmUoKTticmVhaztjYXNlIDk6Y2FzZSAxZTM6Y2FzZSAxMDAyOmNhc2UgMTAwMzp0aGlzLl9jb3JlTW91c2VTZXJ2aWNlLmFjdGl2ZVByb3RvY29sPVwiTk9ORVwiO2JyZWFrO2Nhc2UgMTAwNDp0aGlzLl9jb3JlU2VydmljZS5kZWNQcml2YXRlTW9kZXMuc2VuZEZvY3VzPSExO2JyZWFrO2Nhc2UgMTAwNTp0aGlzLl9sb2dTZXJ2aWNlLmRlYnVnKFwiREVDUlNUIDEwMDUgbm90IHN1cHBvcnRlZCAoc2VlICMyNTA3KVwiKTticmVhaztjYXNlIDEwMDY6Y2FzZSAxMDE2OnRoaXMuX2NvcmVNb3VzZVNlcnZpY2UuYWN0aXZlRW5jb2Rpbmc9XCJERUZBVUxUXCI7YnJlYWs7Y2FzZSAxMDE1OnRoaXMuX2xvZ1NlcnZpY2UuZGVidWcoXCJERUNSU1QgMTAxNSBub3Qgc3VwcG9ydGVkIChzZWUgIzI1MDcpXCIpO2JyZWFrO2Nhc2UgMjU6dGhpcy5fY29yZVNlcnZpY2UuaXNDdXJzb3JIaWRkZW49ITA7YnJlYWs7Y2FzZSAxMDQ4OnRoaXMucmVzdG9yZUN1cnNvcigpO2JyZWFrO2Nhc2UgMTA0OTpjYXNlIDQ3OmNhc2UgMTA0Nzp0aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlcnMuYWN0aXZhdGVOb3JtYWxCdWZmZXIoKSwxMDQ5PT09ZS5wYXJhbXNbdF0mJnRoaXMucmVzdG9yZUN1cnNvcigpLHRoaXMuX2NvcmVTZXJ2aWNlLmlzQ3Vyc29ySW5pdGlhbGl6ZWQ9ITAsdGhpcy5fb25SZXF1ZXN0UmVmcmVzaFJvd3MuZmlyZSgwLHRoaXMuX2J1ZmZlclNlcnZpY2Uucm93cy0xKSx0aGlzLl9vblJlcXVlc3RTeW5jU2Nyb2xsQmFyLmZpcmUoKTticmVhaztjYXNlIDIwMDQ6dGhpcy5fY29yZVNlcnZpY2UuZGVjUHJpdmF0ZU1vZGVzLmJyYWNrZXRlZFBhc3RlTW9kZT0hMX1yZXR1cm4hMH1yZXF1ZXN0TW9kZShlLHQpe2NvbnN0IGk9dGhpcy5fY29yZVNlcnZpY2UuZGVjUHJpdmF0ZU1vZGVzLHthY3RpdmVQcm90b2NvbDpzLGFjdGl2ZUVuY29kaW5nOnJ9PXRoaXMuX2NvcmVNb3VzZVNlcnZpY2Usbz10aGlzLl9jb3JlU2VydmljZSx7YnVmZmVyczphLGNvbHM6aH09dGhpcy5fYnVmZmVyU2VydmljZSx7YWN0aXZlOmMsYWx0Omx9PWEsZD10aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLF89ZT0+ZT8xOjIsdT1lLnBhcmFtc1swXTtyZXR1cm4gZj11LHY9dD8yPT09dT80OjQ9PT11P18oby5tb2Rlcy5pbnNlcnRNb2RlKToxMj09PXU/MzoyMD09PXU/XyhkLmNvbnZlcnRFb2wpOjA6MT09PXU/XyhpLmFwcGxpY2F0aW9uQ3Vyc29yS2V5cyk6Mz09PXU/ZC53aW5kb3dPcHRpb25zLnNldFdpbkxpbmVzPzgwPT09aD8yOjEzMj09PWg/MTowOjA6Nj09PXU/XyhpLm9yaWdpbik6Nz09PXU/XyhpLndyYXBhcm91bmQpOjg9PT11PzM6OT09PXU/XyhcIlgxMFwiPT09cyk6MTI9PT11P18oZC5jdXJzb3JCbGluayk6MjU9PT11P18oIW8uaXNDdXJzb3JIaWRkZW4pOjQ1PT09dT9fKGkucmV2ZXJzZVdyYXBhcm91bmQpOjY2PT09dT9fKGkuYXBwbGljYXRpb25LZXlwYWQpOjY3PT09dT80OjFlMz09PXU/XyhcIlZUMjAwXCI9PT1zKToxMDAyPT09dT9fKFwiRFJBR1wiPT09cyk6MTAwMz09PXU/XyhcIkFOWVwiPT09cyk6MTAwND09PXU/XyhpLnNlbmRGb2N1cyk6MTAwNT09PXU/NDoxMDA2PT09dT9fKFwiU0dSXCI9PT1yKToxMDE1PT09dT80OjEwMTY9PT11P18oXCJTR1JfUElYRUxTXCI9PT1yKToxMDQ4PT09dT8xOjQ3PT09dXx8MTA0Nz09PXV8fDEwNDk9PT11P18oYz09PWwpOjIwMDQ9PT11P18oaS5icmFja2V0ZWRQYXN0ZU1vZGUpOjAsby50cmlnZ2VyRGF0YUV2ZW50KGAke24uQzAuRVNDfVske3Q/XCJcIjpcIj9cIn0ke2Z9OyR7dn0keWApLCEwO3ZhciBmLHZ9X3VwZGF0ZUF0dHJDb2xvcihlLHQsaSxzLHIpe3JldHVybiAyPT09dD8oZXw9NTAzMzE2NDgsZSY9LTE2Nzc3MjE2LGV8PWYuQXR0cmlidXRlRGF0YS5mcm9tQ29sb3JSR0IoW2kscyxyXSkpOjU9PT10JiYoZSY9LTUwMzMxOTA0LGV8PTMzNTU0NDMyfDI1NSZpKSxlfV9leHRyYWN0Q29sb3IoZSx0LGkpe2NvbnN0IHM9WzAsMCwtMSwwLDAsMF07bGV0IHI9MCxuPTA7ZG97aWYoc1tuK3JdPWUucGFyYW1zW3Qrbl0sZS5oYXNTdWJQYXJhbXModCtuKSl7Y29uc3QgaT1lLmdldFN1YlBhcmFtcyh0K24pO2xldCBvPTA7ZG97NT09PXNbMV0mJihyPTEpLHNbbitvKzErcl09aVtvXX13aGlsZSgrK288aS5sZW5ndGgmJm8rbisxK3I8cy5sZW5ndGgpO2JyZWFrfWlmKDU9PT1zWzFdJiZuK3I+PTJ8fDI9PT1zWzFdJiZuK3I+PTUpYnJlYWs7c1sxXSYmKHI9MSl9d2hpbGUoKytuK3Q8ZS5sZW5ndGgmJm4rcjxzLmxlbmd0aCk7Zm9yKGxldCBlPTI7ZTxzLmxlbmd0aDsrK2UpLTE9PT1zW2VdJiYoc1tlXT0wKTtzd2l0Y2goc1swXSl7Y2FzZSAzODppLmZnPXRoaXMuX3VwZGF0ZUF0dHJDb2xvcihpLmZnLHNbMV0sc1szXSxzWzRdLHNbNV0pO2JyZWFrO2Nhc2UgNDg6aS5iZz10aGlzLl91cGRhdGVBdHRyQ29sb3IoaS5iZyxzWzFdLHNbM10sc1s0XSxzWzVdKTticmVhaztjYXNlIDU4OmkuZXh0ZW5kZWQ9aS5leHRlbmRlZC5jbG9uZSgpLGkuZXh0ZW5kZWQudW5kZXJsaW5lQ29sb3I9dGhpcy5fdXBkYXRlQXR0ckNvbG9yKGkuZXh0ZW5kZWQudW5kZXJsaW5lQ29sb3Isc1sxXSxzWzNdLHNbNF0sc1s1XSl9cmV0dXJuIG59X3Byb2Nlc3NVbmRlcmxpbmUoZSx0KXt0LmV4dGVuZGVkPXQuZXh0ZW5kZWQuY2xvbmUoKSwoIX5lfHxlPjUpJiYoZT0xKSx0LmV4dGVuZGVkLnVuZGVybGluZVN0eWxlPWUsdC5mZ3w9MjY4NDM1NDU2LDA9PT1lJiYodC5mZyY9LTI2ODQzNTQ1NyksdC51cGRhdGVFeHRlbmRlZCgpfV9wcm9jZXNzU0dSMChlKXtlLmZnPWwuREVGQVVMVF9BVFRSX0RBVEEuZmcsZS5iZz1sLkRFRkFVTFRfQVRUUl9EQVRBLmJnLGUuZXh0ZW5kZWQ9ZS5leHRlbmRlZC5jbG9uZSgpLGUuZXh0ZW5kZWQudW5kZXJsaW5lU3R5bGU9MCxlLmV4dGVuZGVkLnVuZGVybGluZUNvbG9yJj0tNjcxMDg4NjQsZS51cGRhdGVFeHRlbmRlZCgpfWNoYXJBdHRyaWJ1dGVzKGUpe2lmKDE9PT1lLmxlbmd0aCYmMD09PWUucGFyYW1zWzBdKXJldHVybiB0aGlzLl9wcm9jZXNzU0dSMCh0aGlzLl9jdXJBdHRyRGF0YSksITA7Y29uc3QgdD1lLmxlbmd0aDtsZXQgaTtjb25zdCBzPXRoaXMuX2N1ckF0dHJEYXRhO2ZvcihsZXQgcj0wO3I8dDtyKyspaT1lLnBhcmFtc1tyXSxpPj0zMCYmaTw9Mzc/KHMuZmcmPS01MDMzMTkwNCxzLmZnfD0xNjc3NzIxNnxpLTMwKTppPj00MCYmaTw9NDc/KHMuYmcmPS01MDMzMTkwNCxzLmJnfD0xNjc3NzIxNnxpLTQwKTppPj05MCYmaTw9OTc/KHMuZmcmPS01MDMzMTkwNCxzLmZnfD0xNjc3NzIyNHxpLTkwKTppPj0xMDAmJmk8PTEwNz8ocy5iZyY9LTUwMzMxOTA0LHMuYmd8PTE2Nzc3MjI0fGktMTAwKTowPT09aT90aGlzLl9wcm9jZXNzU0dSMChzKToxPT09aT9zLmZnfD0xMzQyMTc3Mjg6Mz09PWk/cy5iZ3w9NjcxMDg4NjQ6ND09PWk/KHMuZmd8PTI2ODQzNTQ1Nix0aGlzLl9wcm9jZXNzVW5kZXJsaW5lKGUuaGFzU3ViUGFyYW1zKHIpP2UuZ2V0U3ViUGFyYW1zKHIpWzBdOjEscykpOjU9PT1pP3MuZmd8PTUzNjg3MDkxMjo3PT09aT9zLmZnfD02NzEwODg2NDo4PT09aT9zLmZnfD0xMDczNzQxODI0Ojk9PT1pP3MuZmd8PTIxNDc0ODM2NDg6Mj09PWk/cy5iZ3w9MTM0MjE3NzI4OjIxPT09aT90aGlzLl9wcm9jZXNzVW5kZXJsaW5lKDIscyk6MjI9PT1pPyhzLmZnJj0tMTM0MjE3NzI5LHMuYmcmPS0xMzQyMTc3MjkpOjIzPT09aT9zLmJnJj0tNjcxMDg4NjU6MjQ9PT1pPyhzLmZnJj0tMjY4NDM1NDU3LHRoaXMuX3Byb2Nlc3NVbmRlcmxpbmUoMCxzKSk6MjU9PT1pP3MuZmcmPS01MzY4NzA5MTM6Mjc9PT1pP3MuZmcmPS02NzEwODg2NToyOD09PWk/cy5mZyY9LTEwNzM3NDE4MjU6Mjk9PT1pP3MuZmcmPTIxNDc0ODM2NDc6Mzk9PT1pPyhzLmZnJj0tNjcxMDg4NjQscy5mZ3w9MTY3NzcyMTUmbC5ERUZBVUxUX0FUVFJfREFUQS5mZyk6NDk9PT1pPyhzLmJnJj0tNjcxMDg4NjQscy5iZ3w9MTY3NzcyMTUmbC5ERUZBVUxUX0FUVFJfREFUQS5iZyk6Mzg9PT1pfHw0OD09PWl8fDU4PT09aT9yKz10aGlzLl9leHRyYWN0Q29sb3IoZSxyLHMpOjUzPT09aT9zLmJnfD0xMDczNzQxODI0OjU1PT09aT9zLmJnJj0tMTA3Mzc0MTgyNTo1OT09PWk/KHMuZXh0ZW5kZWQ9cy5leHRlbmRlZC5jbG9uZSgpLHMuZXh0ZW5kZWQudW5kZXJsaW5lQ29sb3I9LTEscy51cGRhdGVFeHRlbmRlZCgpKToxMDA9PT1pPyhzLmZnJj0tNjcxMDg4NjQscy5mZ3w9MTY3NzcyMTUmbC5ERUZBVUxUX0FUVFJfREFUQS5mZyxzLmJnJj0tNjcxMDg4NjQscy5iZ3w9MTY3NzcyMTUmbC5ERUZBVUxUX0FUVFJfREFUQS5iZyk6dGhpcy5fbG9nU2VydmljZS5kZWJ1ZyhcIlVua25vd24gU0dSIGF0dHJpYnV0ZTogJWQuXCIsaSk7cmV0dXJuITB9ZGV2aWNlU3RhdHVzKGUpe3N3aXRjaChlLnBhcmFtc1swXSl7Y2FzZSA1OnRoaXMuX2NvcmVTZXJ2aWNlLnRyaWdnZXJEYXRhRXZlbnQoYCR7bi5DMC5FU0N9WzBuYCk7YnJlYWs7Y2FzZSA2OmNvbnN0IGU9dGhpcy5fYWN0aXZlQnVmZmVyLnkrMSx0PXRoaXMuX2FjdGl2ZUJ1ZmZlci54KzE7dGhpcy5fY29yZVNlcnZpY2UudHJpZ2dlckRhdGFFdmVudChgJHtuLkMwLkVTQ31bJHtlfTske3R9UmApfXJldHVybiEwfWRldmljZVN0YXR1c1ByaXZhdGUoZSl7aWYoNj09PWUucGFyYW1zWzBdKXtjb25zdCBlPXRoaXMuX2FjdGl2ZUJ1ZmZlci55KzEsdD10aGlzLl9hY3RpdmVCdWZmZXIueCsxO3RoaXMuX2NvcmVTZXJ2aWNlLnRyaWdnZXJEYXRhRXZlbnQoYCR7bi5DMC5FU0N9Wz8ke2V9OyR7dH1SYCl9cmV0dXJuITB9c29mdFJlc2V0KGUpe3JldHVybiB0aGlzLl9jb3JlU2VydmljZS5pc0N1cnNvckhpZGRlbj0hMSx0aGlzLl9vblJlcXVlc3RTeW5jU2Nyb2xsQmFyLmZpcmUoKSx0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsVG9wPTAsdGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbEJvdHRvbT10aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MtMSx0aGlzLl9jdXJBdHRyRGF0YT1sLkRFRkFVTFRfQVRUUl9EQVRBLmNsb25lKCksdGhpcy5fY29yZVNlcnZpY2UucmVzZXQoKSx0aGlzLl9jaGFyc2V0U2VydmljZS5yZXNldCgpLHRoaXMuX2FjdGl2ZUJ1ZmZlci5zYXZlZFg9MCx0aGlzLl9hY3RpdmVCdWZmZXIuc2F2ZWRZPXRoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZSx0aGlzLl9hY3RpdmVCdWZmZXIuc2F2ZWRDdXJBdHRyRGF0YS5mZz10aGlzLl9jdXJBdHRyRGF0YS5mZyx0aGlzLl9hY3RpdmVCdWZmZXIuc2F2ZWRDdXJBdHRyRGF0YS5iZz10aGlzLl9jdXJBdHRyRGF0YS5iZyx0aGlzLl9hY3RpdmVCdWZmZXIuc2F2ZWRDaGFyc2V0PXRoaXMuX2NoYXJzZXRTZXJ2aWNlLmNoYXJzZXQsdGhpcy5fY29yZVNlcnZpY2UuZGVjUHJpdmF0ZU1vZGVzLm9yaWdpbj0hMSwhMH1zZXRDdXJzb3JTdHlsZShlKXtjb25zdCB0PWUucGFyYW1zWzBdfHwxO3N3aXRjaCh0KXtjYXNlIDE6Y2FzZSAyOnRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMuY3Vyc29yU3R5bGU9XCJibG9ja1wiO2JyZWFrO2Nhc2UgMzpjYXNlIDQ6dGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy5jdXJzb3JTdHlsZT1cInVuZGVybGluZVwiO2JyZWFrO2Nhc2UgNTpjYXNlIDY6dGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy5jdXJzb3JTdHlsZT1cImJhclwifWNvbnN0IGk9dCUyPT0xO3JldHVybiB0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLmN1cnNvckJsaW5rPWksITB9c2V0U2Nyb2xsUmVnaW9uKGUpe2NvbnN0IHQ9ZS5wYXJhbXNbMF18fDE7bGV0IGk7cmV0dXJuKGUubGVuZ3RoPDJ8fChpPWUucGFyYW1zWzFdKT50aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3N8fDA9PT1pKSYmKGk9dGhpcy5fYnVmZmVyU2VydmljZS5yb3dzKSxpPnQmJih0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsVG9wPXQtMSx0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tPWktMSx0aGlzLl9zZXRDdXJzb3IoMCwwKSksITB9d2luZG93T3B0aW9ucyhlKXtpZighdyhlLnBhcmFtc1swXSx0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLndpbmRvd09wdGlvbnMpKXJldHVybiEwO2NvbnN0IHQ9ZS5sZW5ndGg+MT9lLnBhcmFtc1sxXTowO3N3aXRjaChlLnBhcmFtc1swXSl7Y2FzZSAxNDoyIT09dCYmdGhpcy5fb25SZXF1ZXN0V2luZG93c09wdGlvbnNSZXBvcnQuZmlyZSh5LkdFVF9XSU5fU0laRV9QSVhFTFMpO2JyZWFrO2Nhc2UgMTY6dGhpcy5fb25SZXF1ZXN0V2luZG93c09wdGlvbnNSZXBvcnQuZmlyZSh5LkdFVF9DRUxMX1NJWkVfUElYRUxTKTticmVhaztjYXNlIDE4OnRoaXMuX2J1ZmZlclNlcnZpY2UmJnRoaXMuX2NvcmVTZXJ2aWNlLnRyaWdnZXJEYXRhRXZlbnQoYCR7bi5DMC5FU0N9Wzg7JHt0aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3N9OyR7dGhpcy5fYnVmZmVyU2VydmljZS5jb2xzfXRgKTticmVhaztjYXNlIDIyOjAhPT10JiYyIT09dHx8KHRoaXMuX3dpbmRvd1RpdGxlU3RhY2sucHVzaCh0aGlzLl93aW5kb3dUaXRsZSksdGhpcy5fd2luZG93VGl0bGVTdGFjay5sZW5ndGg+MTAmJnRoaXMuX3dpbmRvd1RpdGxlU3RhY2suc2hpZnQoKSksMCE9PXQmJjEhPT10fHwodGhpcy5faWNvbk5hbWVTdGFjay5wdXNoKHRoaXMuX2ljb25OYW1lKSx0aGlzLl9pY29uTmFtZVN0YWNrLmxlbmd0aD4xMCYmdGhpcy5faWNvbk5hbWVTdGFjay5zaGlmdCgpKTticmVhaztjYXNlIDIzOjAhPT10JiYyIT09dHx8dGhpcy5fd2luZG93VGl0bGVTdGFjay5sZW5ndGgmJnRoaXMuc2V0VGl0bGUodGhpcy5fd2luZG93VGl0bGVTdGFjay5wb3AoKSksMCE9PXQmJjEhPT10fHx0aGlzLl9pY29uTmFtZVN0YWNrLmxlbmd0aCYmdGhpcy5zZXRJY29uTmFtZSh0aGlzLl9pY29uTmFtZVN0YWNrLnBvcCgpKX1yZXR1cm4hMH1zYXZlQ3Vyc29yKGUpe3JldHVybiB0aGlzLl9hY3RpdmVCdWZmZXIuc2F2ZWRYPXRoaXMuX2FjdGl2ZUJ1ZmZlci54LHRoaXMuX2FjdGl2ZUJ1ZmZlci5zYXZlZFk9dGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlK3RoaXMuX2FjdGl2ZUJ1ZmZlci55LHRoaXMuX2FjdGl2ZUJ1ZmZlci5zYXZlZEN1ckF0dHJEYXRhLmZnPXRoaXMuX2N1ckF0dHJEYXRhLmZnLHRoaXMuX2FjdGl2ZUJ1ZmZlci5zYXZlZEN1ckF0dHJEYXRhLmJnPXRoaXMuX2N1ckF0dHJEYXRhLmJnLHRoaXMuX2FjdGl2ZUJ1ZmZlci5zYXZlZENoYXJzZXQ9dGhpcy5fY2hhcnNldFNlcnZpY2UuY2hhcnNldCwhMH1yZXN0b3JlQ3Vyc29yKGUpe3JldHVybiB0aGlzLl9hY3RpdmVCdWZmZXIueD10aGlzLl9hY3RpdmVCdWZmZXIuc2F2ZWRYfHwwLHRoaXMuX2FjdGl2ZUJ1ZmZlci55PU1hdGgubWF4KHRoaXMuX2FjdGl2ZUJ1ZmZlci5zYXZlZFktdGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlLDApLHRoaXMuX2N1ckF0dHJEYXRhLmZnPXRoaXMuX2FjdGl2ZUJ1ZmZlci5zYXZlZEN1ckF0dHJEYXRhLmZnLHRoaXMuX2N1ckF0dHJEYXRhLmJnPXRoaXMuX2FjdGl2ZUJ1ZmZlci5zYXZlZEN1ckF0dHJEYXRhLmJnLHRoaXMuX2NoYXJzZXRTZXJ2aWNlLmNoYXJzZXQ9dGhpcy5fc2F2ZWRDaGFyc2V0LHRoaXMuX2FjdGl2ZUJ1ZmZlci5zYXZlZENoYXJzZXQmJih0aGlzLl9jaGFyc2V0U2VydmljZS5jaGFyc2V0PXRoaXMuX2FjdGl2ZUJ1ZmZlci5zYXZlZENoYXJzZXQpLHRoaXMuX3Jlc3RyaWN0Q3Vyc29yKCksITB9c2V0VGl0bGUoZSl7cmV0dXJuIHRoaXMuX3dpbmRvd1RpdGxlPWUsdGhpcy5fb25UaXRsZUNoYW5nZS5maXJlKGUpLCEwfXNldEljb25OYW1lKGUpe3JldHVybiB0aGlzLl9pY29uTmFtZT1lLCEwfXNldE9yUmVwb3J0SW5kZXhlZENvbG9yKGUpe2NvbnN0IHQ9W10saT1lLnNwbGl0KFwiO1wiKTtmb3IoO2kubGVuZ3RoPjE7KXtjb25zdCBlPWkuc2hpZnQoKSxzPWkuc2hpZnQoKTtpZigvXlxcZCskLy5leGVjKGUpKXtjb25zdCBpPXBhcnNlSW50KGUpO2lmKEQoaSkpaWYoXCI/XCI9PT1zKXQucHVzaCh7dHlwZTowLGluZGV4Oml9KTtlbHNle2NvbnN0IGU9KDAsUy5wYXJzZUNvbG9yKShzKTtlJiZ0LnB1c2goe3R5cGU6MSxpbmRleDppLGNvbG9yOmV9KX19fXJldHVybiB0Lmxlbmd0aCYmdGhpcy5fb25Db2xvci5maXJlKHQpLCEwfXNldEh5cGVybGluayhlKXtjb25zdCB0PWUuc3BsaXQoXCI7XCIpO3JldHVybiEodC5sZW5ndGg8MikmJih0WzFdP3RoaXMuX2NyZWF0ZUh5cGVybGluayh0WzBdLHRbMV0pOiF0WzBdJiZ0aGlzLl9maW5pc2hIeXBlcmxpbmsoKSl9X2NyZWF0ZUh5cGVybGluayhlLHQpe3RoaXMuX2dldEN1cnJlbnRMaW5rSWQoKSYmdGhpcy5fZmluaXNoSHlwZXJsaW5rKCk7Y29uc3QgaT1lLnNwbGl0KFwiOlwiKTtsZXQgcztjb25zdCByPWkuZmluZEluZGV4KChlPT5lLnN0YXJ0c1dpdGgoXCJpZD1cIikpKTtyZXR1cm4tMSE9PXImJihzPWlbcl0uc2xpY2UoMyl8fHZvaWQgMCksdGhpcy5fY3VyQXR0ckRhdGEuZXh0ZW5kZWQ9dGhpcy5fY3VyQXR0ckRhdGEuZXh0ZW5kZWQuY2xvbmUoKSx0aGlzLl9jdXJBdHRyRGF0YS5leHRlbmRlZC51cmxJZD10aGlzLl9vc2NMaW5rU2VydmljZS5yZWdpc3Rlckxpbmsoe2lkOnMsdXJpOnR9KSx0aGlzLl9jdXJBdHRyRGF0YS51cGRhdGVFeHRlbmRlZCgpLCEwfV9maW5pc2hIeXBlcmxpbmsoKXtyZXR1cm4gdGhpcy5fY3VyQXR0ckRhdGEuZXh0ZW5kZWQ9dGhpcy5fY3VyQXR0ckRhdGEuZXh0ZW5kZWQuY2xvbmUoKSx0aGlzLl9jdXJBdHRyRGF0YS5leHRlbmRlZC51cmxJZD0wLHRoaXMuX2N1ckF0dHJEYXRhLnVwZGF0ZUV4dGVuZGVkKCksITB9X3NldE9yUmVwb3J0U3BlY2lhbENvbG9yKGUsdCl7Y29uc3QgaT1lLnNwbGl0KFwiO1wiKTtmb3IobGV0IGU9MDtlPGkubGVuZ3RoJiYhKHQ+PXRoaXMuX3NwZWNpYWxDb2xvcnMubGVuZ3RoKTsrK2UsKyt0KWlmKFwiP1wiPT09aVtlXSl0aGlzLl9vbkNvbG9yLmZpcmUoW3t0eXBlOjAsaW5kZXg6dGhpcy5fc3BlY2lhbENvbG9yc1t0XX1dKTtlbHNle2NvbnN0IHM9KDAsUy5wYXJzZUNvbG9yKShpW2VdKTtzJiZ0aGlzLl9vbkNvbG9yLmZpcmUoW3t0eXBlOjEsaW5kZXg6dGhpcy5fc3BlY2lhbENvbG9yc1t0XSxjb2xvcjpzfV0pfXJldHVybiEwfXNldE9yUmVwb3J0RmdDb2xvcihlKXtyZXR1cm4gdGhpcy5fc2V0T3JSZXBvcnRTcGVjaWFsQ29sb3IoZSwwKX1zZXRPclJlcG9ydEJnQ29sb3IoZSl7cmV0dXJuIHRoaXMuX3NldE9yUmVwb3J0U3BlY2lhbENvbG9yKGUsMSl9c2V0T3JSZXBvcnRDdXJzb3JDb2xvcihlKXtyZXR1cm4gdGhpcy5fc2V0T3JSZXBvcnRTcGVjaWFsQ29sb3IoZSwyKX1yZXN0b3JlSW5kZXhlZENvbG9yKGUpe2lmKCFlKXJldHVybiB0aGlzLl9vbkNvbG9yLmZpcmUoW3t0eXBlOjJ9XSksITA7Y29uc3QgdD1bXSxpPWUuc3BsaXQoXCI7XCIpO2ZvcihsZXQgZT0wO2U8aS5sZW5ndGg7KytlKWlmKC9eXFxkKyQvLmV4ZWMoaVtlXSkpe2NvbnN0IHM9cGFyc2VJbnQoaVtlXSk7RChzKSYmdC5wdXNoKHt0eXBlOjIsaW5kZXg6c30pfXJldHVybiB0Lmxlbmd0aCYmdGhpcy5fb25Db2xvci5maXJlKHQpLCEwfXJlc3RvcmVGZ0NvbG9yKGUpe3JldHVybiB0aGlzLl9vbkNvbG9yLmZpcmUoW3t0eXBlOjIsaW5kZXg6MjU2fV0pLCEwfXJlc3RvcmVCZ0NvbG9yKGUpe3JldHVybiB0aGlzLl9vbkNvbG9yLmZpcmUoW3t0eXBlOjIsaW5kZXg6MjU3fV0pLCEwfXJlc3RvcmVDdXJzb3JDb2xvcihlKXtyZXR1cm4gdGhpcy5fb25Db2xvci5maXJlKFt7dHlwZToyLGluZGV4OjI1OH1dKSwhMH1uZXh0TGluZSgpe3JldHVybiB0aGlzLl9hY3RpdmVCdWZmZXIueD0wLHRoaXMuaW5kZXgoKSwhMH1rZXlwYWRBcHBsaWNhdGlvbk1vZGUoKXtyZXR1cm4gdGhpcy5fbG9nU2VydmljZS5kZWJ1ZyhcIlNlcmlhbCBwb3J0IHJlcXVlc3RlZCBhcHBsaWNhdGlvbiBrZXlwYWQuXCIpLHRoaXMuX2NvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcy5hcHBsaWNhdGlvbktleXBhZD0hMCx0aGlzLl9vblJlcXVlc3RTeW5jU2Nyb2xsQmFyLmZpcmUoKSwhMH1rZXlwYWROdW1lcmljTW9kZSgpe3JldHVybiB0aGlzLl9sb2dTZXJ2aWNlLmRlYnVnKFwiU3dpdGNoaW5nIGJhY2sgdG8gbm9ybWFsIGtleXBhZC5cIiksdGhpcy5fY29yZVNlcnZpY2UuZGVjUHJpdmF0ZU1vZGVzLmFwcGxpY2F0aW9uS2V5cGFkPSExLHRoaXMuX29uUmVxdWVzdFN5bmNTY3JvbGxCYXIuZmlyZSgpLCEwfXNlbGVjdERlZmF1bHRDaGFyc2V0KCl7cmV0dXJuIHRoaXMuX2NoYXJzZXRTZXJ2aWNlLnNldGdMZXZlbCgwKSx0aGlzLl9jaGFyc2V0U2VydmljZS5zZXRnQ2hhcnNldCgwLG8uREVGQVVMVF9DSEFSU0VUKSwhMH1zZWxlY3RDaGFyc2V0KGUpe3JldHVybiAyIT09ZS5sZW5ndGg/KHRoaXMuc2VsZWN0RGVmYXVsdENoYXJzZXQoKSwhMCk6KFwiL1wiPT09ZVswXXx8dGhpcy5fY2hhcnNldFNlcnZpY2Uuc2V0Z0NoYXJzZXQoQ1tlWzBdXSxvLkNIQVJTRVRTW2VbMV1dfHxvLkRFRkFVTFRfQ0hBUlNFVCksITApfWluZGV4KCl7cmV0dXJuIHRoaXMuX3Jlc3RyaWN0Q3Vyc29yKCksdGhpcy5fYWN0aXZlQnVmZmVyLnkrKyx0aGlzLl9hY3RpdmVCdWZmZXIueT09PXRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxCb3R0b20rMT8odGhpcy5fYWN0aXZlQnVmZmVyLnktLSx0aGlzLl9idWZmZXJTZXJ2aWNlLnNjcm9sbCh0aGlzLl9lcmFzZUF0dHJEYXRhKCkpKTp0aGlzLl9hY3RpdmVCdWZmZXIueT49dGhpcy5fYnVmZmVyU2VydmljZS5yb3dzJiYodGhpcy5fYWN0aXZlQnVmZmVyLnk9dGhpcy5fYnVmZmVyU2VydmljZS5yb3dzLTEpLHRoaXMuX3Jlc3RyaWN0Q3Vyc29yKCksITB9dGFiU2V0KCl7cmV0dXJuIHRoaXMuX2FjdGl2ZUJ1ZmZlci50YWJzW3RoaXMuX2FjdGl2ZUJ1ZmZlci54XT0hMCwhMH1yZXZlcnNlSW5kZXgoKXtpZih0aGlzLl9yZXN0cmljdEN1cnNvcigpLHRoaXMuX2FjdGl2ZUJ1ZmZlci55PT09dGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbFRvcCl7Y29uc3QgZT10aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tLXRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxUb3A7dGhpcy5fYWN0aXZlQnVmZmVyLmxpbmVzLnNoaWZ0RWxlbWVudHModGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlK3RoaXMuX2FjdGl2ZUJ1ZmZlci55LGUsMSksdGhpcy5fYWN0aXZlQnVmZmVyLmxpbmVzLnNldCh0aGlzLl9hY3RpdmVCdWZmZXIueWJhc2UrdGhpcy5fYWN0aXZlQnVmZmVyLnksdGhpcy5fYWN0aXZlQnVmZmVyLmdldEJsYW5rTGluZSh0aGlzLl9lcmFzZUF0dHJEYXRhKCkpKSx0aGlzLl9kaXJ0eVJvd1RyYWNrZXIubWFya1JhbmdlRGlydHkodGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbFRvcCx0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tKX1lbHNlIHRoaXMuX2FjdGl2ZUJ1ZmZlci55LS0sdGhpcy5fcmVzdHJpY3RDdXJzb3IoKTtyZXR1cm4hMH1mdWxsUmVzZXQoKXtyZXR1cm4gdGhpcy5fcGFyc2VyLnJlc2V0KCksdGhpcy5fb25SZXF1ZXN0UmVzZXQuZmlyZSgpLCEwfXJlc2V0KCl7dGhpcy5fY3VyQXR0ckRhdGE9bC5ERUZBVUxUX0FUVFJfREFUQS5jbG9uZSgpLHRoaXMuX2VyYXNlQXR0ckRhdGFJbnRlcm5hbD1sLkRFRkFVTFRfQVRUUl9EQVRBLmNsb25lKCl9X2VyYXNlQXR0ckRhdGEoKXtyZXR1cm4gdGhpcy5fZXJhc2VBdHRyRGF0YUludGVybmFsLmJnJj0tNjcxMDg4NjQsdGhpcy5fZXJhc2VBdHRyRGF0YUludGVybmFsLmJnfD02NzEwODg2MyZ0aGlzLl9jdXJBdHRyRGF0YS5iZyx0aGlzLl9lcmFzZUF0dHJEYXRhSW50ZXJuYWx9c2V0Z0xldmVsKGUpe3JldHVybiB0aGlzLl9jaGFyc2V0U2VydmljZS5zZXRnTGV2ZWwoZSksITB9c2NyZWVuQWxpZ25tZW50UGF0dGVybigpe2NvbnN0IGU9bmV3IHUuQ2VsbERhdGE7ZS5jb250ZW50PTE8PDIyfFwiRVwiLmNoYXJDb2RlQXQoMCksZS5mZz10aGlzLl9jdXJBdHRyRGF0YS5mZyxlLmJnPXRoaXMuX2N1ckF0dHJEYXRhLmJnLHRoaXMuX3NldEN1cnNvcigwLDApO2ZvcihsZXQgdD0wO3Q8dGhpcy5fYnVmZmVyU2VydmljZS5yb3dzOysrdCl7Y29uc3QgaT10aGlzLl9hY3RpdmVCdWZmZXIueWJhc2UrdGhpcy5fYWN0aXZlQnVmZmVyLnkrdCxzPXRoaXMuX2FjdGl2ZUJ1ZmZlci5saW5lcy5nZXQoaSk7cyYmKHMuZmlsbChlKSxzLmlzV3JhcHBlZD0hMSl9cmV0dXJuIHRoaXMuX2RpcnR5Um93VHJhY2tlci5tYXJrQWxsRGlydHkoKSx0aGlzLl9zZXRDdXJzb3IoMCwwKSwhMH1yZXF1ZXN0U3RhdHVzU3RyaW5nKGUsdCl7Y29uc3QgaT10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlcixzPXRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnM7cmV0dXJuKGU9Pih0aGlzLl9jb3JlU2VydmljZS50cmlnZ2VyRGF0YUV2ZW50KGAke24uQzAuRVNDfSR7ZX0ke24uQzAuRVNDfVxcXFxgKSwhMCkpKCdcInEnPT09ZT9gUDEkciR7dGhpcy5fY3VyQXR0ckRhdGEuaXNQcm90ZWN0ZWQoKT8xOjB9XCJxYDonXCJwJz09PWU/J1AxJHI2MTsxXCJwJzpcInJcIj09PWU/YFAxJHIke2kuc2Nyb2xsVG9wKzF9OyR7aS5zY3JvbGxCb3R0b20rMX1yYDpcIm1cIj09PWU/XCJQMSRyMG1cIjpcIiBxXCI9PT1lP2BQMSRyJHt7YmxvY2s6Mix1bmRlcmxpbmU6NCxiYXI6Nn1bcy5jdXJzb3JTdHlsZV0tKHMuY3Vyc29yQmxpbms/MTowKX0gcWA6XCJQMCRyXCIpfW1hcmtSYW5nZURpcnR5KGUsdCl7dGhpcy5fZGlydHlSb3dUcmFja2VyLm1hcmtSYW5nZURpcnR5KGUsdCl9fXQuSW5wdXRIYW5kbGVyPWs7bGV0IEw9Y2xhc3N7Y29uc3RydWN0b3IoZSl7dGhpcy5fYnVmZmVyU2VydmljZT1lLHRoaXMuY2xlYXJSYW5nZSgpfWNsZWFyUmFuZ2UoKXt0aGlzLnN0YXJ0PXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLnksdGhpcy5lbmQ9dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIueX1tYXJrRGlydHkoZSl7ZTx0aGlzLnN0YXJ0P3RoaXMuc3RhcnQ9ZTplPnRoaXMuZW5kJiYodGhpcy5lbmQ9ZSl9bWFya1JhbmdlRGlydHkoZSx0KXtlPnQmJihFPWUsZT10LHQ9RSksZTx0aGlzLnN0YXJ0JiYodGhpcy5zdGFydD1lKSx0PnRoaXMuZW5kJiYodGhpcy5lbmQ9dCl9bWFya0FsbERpcnR5KCl7dGhpcy5tYXJrUmFuZ2VEaXJ0eSgwLHRoaXMuX2J1ZmZlclNlcnZpY2Uucm93cy0xKX19O2Z1bmN0aW9uIEQoZSl7cmV0dXJuIDA8PWUmJmU8MjU2fUw9cyhbcigwLHYuSUJ1ZmZlclNlcnZpY2UpXSxMKX0sODQ0OihlLHQpPT57ZnVuY3Rpb24gaShlKXtmb3IoY29uc3QgdCBvZiBlKXQuZGlzcG9zZSgpO2UubGVuZ3RoPTB9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5nZXREaXNwb3NlQXJyYXlEaXNwb3NhYmxlPXQuZGlzcG9zZUFycmF5PXQudG9EaXNwb3NhYmxlPXQuTXV0YWJsZURpc3Bvc2FibGU9dC5EaXNwb3NhYmxlPXZvaWQgMCx0LkRpc3Bvc2FibGU9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLl9kaXNwb3NhYmxlcz1bXSx0aGlzLl9pc0Rpc3Bvc2VkPSExfWRpc3Bvc2UoKXt0aGlzLl9pc0Rpc3Bvc2VkPSEwO2Zvcihjb25zdCBlIG9mIHRoaXMuX2Rpc3Bvc2FibGVzKWUuZGlzcG9zZSgpO3RoaXMuX2Rpc3Bvc2FibGVzLmxlbmd0aD0wfXJlZ2lzdGVyKGUpe3JldHVybiB0aGlzLl9kaXNwb3NhYmxlcy5wdXNoKGUpLGV9dW5yZWdpc3RlcihlKXtjb25zdCB0PXRoaXMuX2Rpc3Bvc2FibGVzLmluZGV4T2YoZSk7LTEhPT10JiZ0aGlzLl9kaXNwb3NhYmxlcy5zcGxpY2UodCwxKX19LHQuTXV0YWJsZURpc3Bvc2FibGU9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLl9pc0Rpc3Bvc2VkPSExfWdldCB2YWx1ZSgpe3JldHVybiB0aGlzLl9pc0Rpc3Bvc2VkP3ZvaWQgMDp0aGlzLl92YWx1ZX1zZXQgdmFsdWUoZSl7dGhpcy5faXNEaXNwb3NlZHx8ZT09PXRoaXMuX3ZhbHVlfHwodGhpcy5fdmFsdWU/LmRpc3Bvc2UoKSx0aGlzLl92YWx1ZT1lKX1jbGVhcigpe3RoaXMudmFsdWU9dm9pZCAwfWRpc3Bvc2UoKXt0aGlzLl9pc0Rpc3Bvc2VkPSEwLHRoaXMuX3ZhbHVlPy5kaXNwb3NlKCksdGhpcy5fdmFsdWU9dm9pZCAwfX0sdC50b0Rpc3Bvc2FibGU9ZnVuY3Rpb24oZSl7cmV0dXJue2Rpc3Bvc2U6ZX19LHQuZGlzcG9zZUFycmF5PWksdC5nZXREaXNwb3NlQXJyYXlEaXNwb3NhYmxlPWZ1bmN0aW9uKGUpe3JldHVybntkaXNwb3NlOigpPT5pKGUpfX19LDE1MDU6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkZvdXJLZXlNYXA9dC5Ud29LZXlNYXA9dm9pZCAwO2NsYXNzIGl7Y29uc3RydWN0b3IoKXt0aGlzLl9kYXRhPXt9fXNldChlLHQsaSl7dGhpcy5fZGF0YVtlXXx8KHRoaXMuX2RhdGFbZV09e30pLHRoaXMuX2RhdGFbZV1bdF09aX1nZXQoZSx0KXtyZXR1cm4gdGhpcy5fZGF0YVtlXT90aGlzLl9kYXRhW2VdW3RdOnZvaWQgMH1jbGVhcigpe3RoaXMuX2RhdGE9e319fXQuVHdvS2V5TWFwPWksdC5Gb3VyS2V5TWFwPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5fZGF0YT1uZXcgaX1zZXQoZSx0LHMscixuKXt0aGlzLl9kYXRhLmdldChlLHQpfHx0aGlzLl9kYXRhLnNldChlLHQsbmV3IGkpLHRoaXMuX2RhdGEuZ2V0KGUsdCkuc2V0KHMscixuKX1nZXQoZSx0LGkscyl7cmV0dXJuIHRoaXMuX2RhdGEuZ2V0KGUsdCk/LmdldChpLHMpfWNsZWFyKCl7dGhpcy5fZGF0YS5jbGVhcigpfX19LDYxMTQ6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LmlzQ2hyb21lT1M9dC5pc0xpbnV4PXQuaXNXaW5kb3dzPXQuaXNJcGhvbmU9dC5pc0lwYWQ9dC5pc01hYz10LmdldFNhZmFyaVZlcnNpb249dC5pc1NhZmFyaT10LmlzTGVnYWN5RWRnZT10LmlzRmlyZWZveD10LmlzTm9kZT12b2lkIDAsdC5pc05vZGU9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIHByb2Nlc3MmJlwidGl0bGVcImluIHByb2Nlc3M7Y29uc3QgaT10LmlzTm9kZT9cIm5vZGVcIjpuYXZpZ2F0b3IudXNlckFnZW50LHM9dC5pc05vZGU/XCJub2RlXCI6bmF2aWdhdG9yLnBsYXRmb3JtO3QuaXNGaXJlZm94PWkuaW5jbHVkZXMoXCJGaXJlZm94XCIpLHQuaXNMZWdhY3lFZGdlPWkuaW5jbHVkZXMoXCJFZGdlXCIpLHQuaXNTYWZhcmk9L14oKD8hY2hyb21lfGFuZHJvaWQpLikqc2FmYXJpL2kudGVzdChpKSx0LmdldFNhZmFyaVZlcnNpb249ZnVuY3Rpb24oKXtpZighdC5pc1NhZmFyaSlyZXR1cm4gMDtjb25zdCBlPWkubWF0Y2goL1ZlcnNpb25cXC8oXFxkKykvKTtyZXR1cm4gbnVsbD09PWV8fGUubGVuZ3RoPDI/MDpwYXJzZUludChlWzFdKX0sdC5pc01hYz1bXCJNYWNpbnRvc2hcIixcIk1hY0ludGVsXCIsXCJNYWNQUENcIixcIk1hYzY4S1wiXS5pbmNsdWRlcyhzKSx0LmlzSXBhZD1cImlQYWRcIj09PXMsdC5pc0lwaG9uZT1cImlQaG9uZVwiPT09cyx0LmlzV2luZG93cz1bXCJXaW5kb3dzXCIsXCJXaW4xNlwiLFwiV2luMzJcIixcIldpbkNFXCJdLmluY2x1ZGVzKHMpLHQuaXNMaW51eD1zLmluZGV4T2YoXCJMaW51eFwiKT49MCx0LmlzQ2hyb21lT1M9L1xcYkNyT1NcXGIvLnRlc3QoaSl9LDYxMDY6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LlNvcnRlZExpc3Q9dm9pZCAwO2xldCBpPTA7dC5Tb3J0ZWRMaXN0PWNsYXNze2NvbnN0cnVjdG9yKGUpe3RoaXMuX2dldEtleT1lLHRoaXMuX2FycmF5PVtdfWNsZWFyKCl7dGhpcy5fYXJyYXkubGVuZ3RoPTB9aW5zZXJ0KGUpezAhPT10aGlzLl9hcnJheS5sZW5ndGg/KGk9dGhpcy5fc2VhcmNoKHRoaXMuX2dldEtleShlKSksdGhpcy5fYXJyYXkuc3BsaWNlKGksMCxlKSk6dGhpcy5fYXJyYXkucHVzaChlKX1kZWxldGUoZSl7aWYoMD09PXRoaXMuX2FycmF5Lmxlbmd0aClyZXR1cm4hMTtjb25zdCB0PXRoaXMuX2dldEtleShlKTtpZih2b2lkIDA9PT10KXJldHVybiExO2lmKGk9dGhpcy5fc2VhcmNoKHQpLC0xPT09aSlyZXR1cm4hMTtpZih0aGlzLl9nZXRLZXkodGhpcy5fYXJyYXlbaV0pIT09dClyZXR1cm4hMTtkb3tpZih0aGlzLl9hcnJheVtpXT09PWUpcmV0dXJuIHRoaXMuX2FycmF5LnNwbGljZShpLDEpLCEwfXdoaWxlKCsraTx0aGlzLl9hcnJheS5sZW5ndGgmJnRoaXMuX2dldEtleSh0aGlzLl9hcnJheVtpXSk9PT10KTtyZXR1cm4hMX0qZ2V0S2V5SXRlcmF0b3IoZSl7aWYoMCE9PXRoaXMuX2FycmF5Lmxlbmd0aCYmKGk9dGhpcy5fc2VhcmNoKGUpLCEoaTwwfHxpPj10aGlzLl9hcnJheS5sZW5ndGgpJiZ0aGlzLl9nZXRLZXkodGhpcy5fYXJyYXlbaV0pPT09ZSkpZG97eWllbGQgdGhpcy5fYXJyYXlbaV19d2hpbGUoKytpPHRoaXMuX2FycmF5Lmxlbmd0aCYmdGhpcy5fZ2V0S2V5KHRoaXMuX2FycmF5W2ldKT09PWUpfWZvckVhY2hCeUtleShlLHQpe2lmKDAhPT10aGlzLl9hcnJheS5sZW5ndGgmJihpPXRoaXMuX3NlYXJjaChlKSwhKGk8MHx8aT49dGhpcy5fYXJyYXkubGVuZ3RoKSYmdGhpcy5fZ2V0S2V5KHRoaXMuX2FycmF5W2ldKT09PWUpKWRve3QodGhpcy5fYXJyYXlbaV0pfXdoaWxlKCsraTx0aGlzLl9hcnJheS5sZW5ndGgmJnRoaXMuX2dldEtleSh0aGlzLl9hcnJheVtpXSk9PT1lKX12YWx1ZXMoKXtyZXR1cm5bLi4udGhpcy5fYXJyYXldLnZhbHVlcygpfV9zZWFyY2goZSl7bGV0IHQ9MCxpPXRoaXMuX2FycmF5Lmxlbmd0aC0xO2Zvcig7aT49dDspe2xldCBzPXQraT4+MTtjb25zdCByPXRoaXMuX2dldEtleSh0aGlzLl9hcnJheVtzXSk7aWYocj5lKWk9cy0xO2Vsc2V7aWYoIShyPGUpKXtmb3IoO3M+MCYmdGhpcy5fZ2V0S2V5KHRoaXMuX2FycmF5W3MtMV0pPT09ZTspcy0tO3JldHVybiBzfXQ9cysxfX1yZXR1cm4gdH19fSw3MjI2OihlLHQsaSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkRlYm91bmNlZElkbGVUYXNrPXQuSWRsZVRhc2tRdWV1ZT10LlByaW9yaXR5VGFza1F1ZXVlPXZvaWQgMDtjb25zdCBzPWkoNjExNCk7Y2xhc3Mgcntjb25zdHJ1Y3Rvcigpe3RoaXMuX3Rhc2tzPVtdLHRoaXMuX2k9MH1lbnF1ZXVlKGUpe3RoaXMuX3Rhc2tzLnB1c2goZSksdGhpcy5fc3RhcnQoKX1mbHVzaCgpe2Zvcig7dGhpcy5faTx0aGlzLl90YXNrcy5sZW5ndGg7KXRoaXMuX3Rhc2tzW3RoaXMuX2ldKCl8fHRoaXMuX2krKzt0aGlzLmNsZWFyKCl9Y2xlYXIoKXt0aGlzLl9pZGxlQ2FsbGJhY2smJih0aGlzLl9jYW5jZWxDYWxsYmFjayh0aGlzLl9pZGxlQ2FsbGJhY2spLHRoaXMuX2lkbGVDYWxsYmFjaz12b2lkIDApLHRoaXMuX2k9MCx0aGlzLl90YXNrcy5sZW5ndGg9MH1fc3RhcnQoKXt0aGlzLl9pZGxlQ2FsbGJhY2t8fCh0aGlzLl9pZGxlQ2FsbGJhY2s9dGhpcy5fcmVxdWVzdENhbGxiYWNrKHRoaXMuX3Byb2Nlc3MuYmluZCh0aGlzKSkpfV9wcm9jZXNzKGUpe3RoaXMuX2lkbGVDYWxsYmFjaz12b2lkIDA7bGV0IHQ9MCxpPTAscz1lLnRpbWVSZW1haW5pbmcoKSxyPTA7Zm9yKDt0aGlzLl9pPHRoaXMuX3Rhc2tzLmxlbmd0aDspe2lmKHQ9RGF0ZS5ub3coKSx0aGlzLl90YXNrc1t0aGlzLl9pXSgpfHx0aGlzLl9pKyssdD1NYXRoLm1heCgxLERhdGUubm93KCktdCksaT1NYXRoLm1heCh0LGkpLHI9ZS50aW1lUmVtYWluaW5nKCksMS41Kmk+cilyZXR1cm4gcy10PC0yMCYmY29uc29sZS53YXJuKGB0YXNrIHF1ZXVlIGV4Y2VlZGVkIGFsbG90dGVkIGRlYWRsaW5lIGJ5ICR7TWF0aC5hYnMoTWF0aC5yb3VuZChzLXQpKX1tc2ApLHZvaWQgdGhpcy5fc3RhcnQoKTtzPXJ9dGhpcy5jbGVhcigpfX1jbGFzcyBuIGV4dGVuZHMgcntfcmVxdWVzdENhbGxiYWNrKGUpe3JldHVybiBzZXRUaW1lb3V0KCgoKT0+ZSh0aGlzLl9jcmVhdGVEZWFkbGluZSgxNikpKSl9X2NhbmNlbENhbGxiYWNrKGUpe2NsZWFyVGltZW91dChlKX1fY3JlYXRlRGVhZGxpbmUoZSl7Y29uc3QgdD1EYXRlLm5vdygpK2U7cmV0dXJue3RpbWVSZW1haW5pbmc6KCk9Pk1hdGgubWF4KDAsdC1EYXRlLm5vdygpKX19fXQuUHJpb3JpdHlUYXNrUXVldWU9bix0LklkbGVUYXNrUXVldWU9IXMuaXNOb2RlJiZcInJlcXVlc3RJZGxlQ2FsbGJhY2tcImluIHdpbmRvdz9jbGFzcyBleHRlbmRzIHJ7X3JlcXVlc3RDYWxsYmFjayhlKXtyZXR1cm4gcmVxdWVzdElkbGVDYWxsYmFjayhlKX1fY2FuY2VsQ2FsbGJhY2soZSl7Y2FuY2VsSWRsZUNhbGxiYWNrKGUpfX06bix0LkRlYm91bmNlZElkbGVUYXNrPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5fcXVldWU9bmV3IHQuSWRsZVRhc2tRdWV1ZX1zZXQoZSl7dGhpcy5fcXVldWUuY2xlYXIoKSx0aGlzLl9xdWV1ZS5lbnF1ZXVlKGUpfWZsdXNoKCl7dGhpcy5fcXVldWUuZmx1c2goKX19fSw5MjgyOihlLHQsaSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LnVwZGF0ZVdpbmRvd3NNb2RlV3JhcHBlZFN0YXRlPXZvaWQgMDtjb25zdCBzPWkoNjQzKTt0LnVwZGF0ZVdpbmRvd3NNb2RlV3JhcHBlZFN0YXRlPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5idWZmZXIubGluZXMuZ2V0KGUuYnVmZmVyLnliYXNlK2UuYnVmZmVyLnktMSksaT10Py5nZXQoZS5jb2xzLTEpLHI9ZS5idWZmZXIubGluZXMuZ2V0KGUuYnVmZmVyLnliYXNlK2UuYnVmZmVyLnkpO3ImJmkmJihyLmlzV3JhcHBlZD1pW3MuQ0hBUl9EQVRBX0NPREVfSU5ERVhdIT09cy5OVUxMX0NFTExfQ09ERSYmaVtzLkNIQVJfREFUQV9DT0RFX0lOREVYXSE9PXMuV0hJVEVTUEFDRV9DRUxMX0NPREUpfX0sMzczNDooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuRXh0ZW5kZWRBdHRycz10LkF0dHJpYnV0ZURhdGE9dm9pZCAwO2NsYXNzIGl7Y29uc3RydWN0b3IoKXt0aGlzLmZnPTAsdGhpcy5iZz0wLHRoaXMuZXh0ZW5kZWQ9bmV3IHN9c3RhdGljIHRvQ29sb3JSR0IoZSl7cmV0dXJuW2U+Pj4xNiYyNTUsZT4+PjgmMjU1LDI1NSZlXX1zdGF0aWMgZnJvbUNvbG9yUkdCKGUpe3JldHVybigyNTUmZVswXSk8PDE2fCgyNTUmZVsxXSk8PDh8MjU1JmVbMl19Y2xvbmUoKXtjb25zdCBlPW5ldyBpO3JldHVybiBlLmZnPXRoaXMuZmcsZS5iZz10aGlzLmJnLGUuZXh0ZW5kZWQ9dGhpcy5leHRlbmRlZC5jbG9uZSgpLGV9aXNJbnZlcnNlKCl7cmV0dXJuIDY3MTA4ODY0JnRoaXMuZmd9aXNCb2xkKCl7cmV0dXJuIDEzNDIxNzcyOCZ0aGlzLmZnfWlzVW5kZXJsaW5lKCl7cmV0dXJuIHRoaXMuaGFzRXh0ZW5kZWRBdHRycygpJiYwIT09dGhpcy5leHRlbmRlZC51bmRlcmxpbmVTdHlsZT8xOjI2ODQzNTQ1NiZ0aGlzLmZnfWlzQmxpbmsoKXtyZXR1cm4gNTM2ODcwOTEyJnRoaXMuZmd9aXNJbnZpc2libGUoKXtyZXR1cm4gMTA3Mzc0MTgyNCZ0aGlzLmZnfWlzSXRhbGljKCl7cmV0dXJuIDY3MTA4ODY0JnRoaXMuYmd9aXNEaW0oKXtyZXR1cm4gMTM0MjE3NzI4JnRoaXMuYmd9aXNTdHJpa2V0aHJvdWdoKCl7cmV0dXJuIDIxNDc0ODM2NDgmdGhpcy5mZ31pc1Byb3RlY3RlZCgpe3JldHVybiA1MzY4NzA5MTImdGhpcy5iZ31pc092ZXJsaW5lKCl7cmV0dXJuIDEwNzM3NDE4MjQmdGhpcy5iZ31nZXRGZ0NvbG9yTW9kZSgpe3JldHVybiA1MDMzMTY0OCZ0aGlzLmZnfWdldEJnQ29sb3JNb2RlKCl7cmV0dXJuIDUwMzMxNjQ4JnRoaXMuYmd9aXNGZ1JHQigpe3JldHVybiA1MDMzMTY0OD09KDUwMzMxNjQ4JnRoaXMuZmcpfWlzQmdSR0IoKXtyZXR1cm4gNTAzMzE2NDg9PSg1MDMzMTY0OCZ0aGlzLmJnKX1pc0ZnUGFsZXR0ZSgpe3JldHVybiAxNjc3NzIxNj09KDUwMzMxNjQ4JnRoaXMuZmcpfHwzMzU1NDQzMj09KDUwMzMxNjQ4JnRoaXMuZmcpfWlzQmdQYWxldHRlKCl7cmV0dXJuIDE2Nzc3MjE2PT0oNTAzMzE2NDgmdGhpcy5iZyl8fDMzNTU0NDMyPT0oNTAzMzE2NDgmdGhpcy5iZyl9aXNGZ0RlZmF1bHQoKXtyZXR1cm4gMD09KDUwMzMxNjQ4JnRoaXMuZmcpfWlzQmdEZWZhdWx0KCl7cmV0dXJuIDA9PSg1MDMzMTY0OCZ0aGlzLmJnKX1pc0F0dHJpYnV0ZURlZmF1bHQoKXtyZXR1cm4gMD09PXRoaXMuZmcmJjA9PT10aGlzLmJnfWdldEZnQ29sb3IoKXtzd2l0Y2goNTAzMzE2NDgmdGhpcy5mZyl7Y2FzZSAxNjc3NzIxNjpjYXNlIDMzNTU0NDMyOnJldHVybiAyNTUmdGhpcy5mZztjYXNlIDUwMzMxNjQ4OnJldHVybiAxNjc3NzIxNSZ0aGlzLmZnO2RlZmF1bHQ6cmV0dXJuLTF9fWdldEJnQ29sb3IoKXtzd2l0Y2goNTAzMzE2NDgmdGhpcy5iZyl7Y2FzZSAxNjc3NzIxNjpjYXNlIDMzNTU0NDMyOnJldHVybiAyNTUmdGhpcy5iZztjYXNlIDUwMzMxNjQ4OnJldHVybiAxNjc3NzIxNSZ0aGlzLmJnO2RlZmF1bHQ6cmV0dXJuLTF9fWhhc0V4dGVuZGVkQXR0cnMoKXtyZXR1cm4gMjY4NDM1NDU2JnRoaXMuYmd9dXBkYXRlRXh0ZW5kZWQoKXt0aGlzLmV4dGVuZGVkLmlzRW1wdHkoKT90aGlzLmJnJj0tMjY4NDM1NDU3OnRoaXMuYmd8PTI2ODQzNTQ1Nn1nZXRVbmRlcmxpbmVDb2xvcigpe2lmKDI2ODQzNTQ1NiZ0aGlzLmJnJiZ+dGhpcy5leHRlbmRlZC51bmRlcmxpbmVDb2xvcilzd2l0Y2goNTAzMzE2NDgmdGhpcy5leHRlbmRlZC51bmRlcmxpbmVDb2xvcil7Y2FzZSAxNjc3NzIxNjpjYXNlIDMzNTU0NDMyOnJldHVybiAyNTUmdGhpcy5leHRlbmRlZC51bmRlcmxpbmVDb2xvcjtjYXNlIDUwMzMxNjQ4OnJldHVybiAxNjc3NzIxNSZ0aGlzLmV4dGVuZGVkLnVuZGVybGluZUNvbG9yO2RlZmF1bHQ6cmV0dXJuIHRoaXMuZ2V0RmdDb2xvcigpfXJldHVybiB0aGlzLmdldEZnQ29sb3IoKX1nZXRVbmRlcmxpbmVDb2xvck1vZGUoKXtyZXR1cm4gMjY4NDM1NDU2JnRoaXMuYmcmJn50aGlzLmV4dGVuZGVkLnVuZGVybGluZUNvbG9yPzUwMzMxNjQ4JnRoaXMuZXh0ZW5kZWQudW5kZXJsaW5lQ29sb3I6dGhpcy5nZXRGZ0NvbG9yTW9kZSgpfWlzVW5kZXJsaW5lQ29sb3JSR0IoKXtyZXR1cm4gMjY4NDM1NDU2JnRoaXMuYmcmJn50aGlzLmV4dGVuZGVkLnVuZGVybGluZUNvbG9yPzUwMzMxNjQ4PT0oNTAzMzE2NDgmdGhpcy5leHRlbmRlZC51bmRlcmxpbmVDb2xvcik6dGhpcy5pc0ZnUkdCKCl9aXNVbmRlcmxpbmVDb2xvclBhbGV0dGUoKXtyZXR1cm4gMjY4NDM1NDU2JnRoaXMuYmcmJn50aGlzLmV4dGVuZGVkLnVuZGVybGluZUNvbG9yPzE2Nzc3MjE2PT0oNTAzMzE2NDgmdGhpcy5leHRlbmRlZC51bmRlcmxpbmVDb2xvcil8fDMzNTU0NDMyPT0oNTAzMzE2NDgmdGhpcy5leHRlbmRlZC51bmRlcmxpbmVDb2xvcik6dGhpcy5pc0ZnUGFsZXR0ZSgpfWlzVW5kZXJsaW5lQ29sb3JEZWZhdWx0KCl7cmV0dXJuIDI2ODQzNTQ1NiZ0aGlzLmJnJiZ+dGhpcy5leHRlbmRlZC51bmRlcmxpbmVDb2xvcj8wPT0oNTAzMzE2NDgmdGhpcy5leHRlbmRlZC51bmRlcmxpbmVDb2xvcik6dGhpcy5pc0ZnRGVmYXVsdCgpfWdldFVuZGVybGluZVN0eWxlKCl7cmV0dXJuIDI2ODQzNTQ1NiZ0aGlzLmZnPzI2ODQzNTQ1NiZ0aGlzLmJnP3RoaXMuZXh0ZW5kZWQudW5kZXJsaW5lU3R5bGU6MTowfWdldFVuZGVybGluZVZhcmlhbnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5leHRlbmRlZC51bmRlcmxpbmVWYXJpYW50T2Zmc2V0fX10LkF0dHJpYnV0ZURhdGE9aTtjbGFzcyBze2dldCBleHQoKXtyZXR1cm4gdGhpcy5fdXJsSWQ/LTQ2OTc2MjA0OSZ0aGlzLl9leHR8dGhpcy51bmRlcmxpbmVTdHlsZTw8MjY6dGhpcy5fZXh0fXNldCBleHQoZSl7dGhpcy5fZXh0PWV9Z2V0IHVuZGVybGluZVN0eWxlKCl7cmV0dXJuIHRoaXMuX3VybElkPzU6KDQ2OTc2MjA0OCZ0aGlzLl9leHQpPj4yNn1zZXQgdW5kZXJsaW5lU3R5bGUoZSl7dGhpcy5fZXh0Jj0tNDY5NzYyMDQ5LHRoaXMuX2V4dHw9ZTw8MjYmNDY5NzYyMDQ4fWdldCB1bmRlcmxpbmVDb2xvcigpe3JldHVybiA2NzEwODg2MyZ0aGlzLl9leHR9c2V0IHVuZGVybGluZUNvbG9yKGUpe3RoaXMuX2V4dCY9LTY3MTA4ODY0LHRoaXMuX2V4dHw9NjcxMDg4NjMmZX1nZXQgdXJsSWQoKXtyZXR1cm4gdGhpcy5fdXJsSWR9c2V0IHVybElkKGUpe3RoaXMuX3VybElkPWV9Z2V0IHVuZGVybGluZVZhcmlhbnRPZmZzZXQoKXtjb25zdCBlPSgzNzU4MDk2Mzg0JnRoaXMuX2V4dCk+PjI5O3JldHVybiBlPDA/NDI5NDk2NzI4OF5lOmV9c2V0IHVuZGVybGluZVZhcmlhbnRPZmZzZXQoZSl7dGhpcy5fZXh0Jj01MzY4NzA5MTEsdGhpcy5fZXh0fD1lPDwyOSYzNzU4MDk2Mzg0fWNvbnN0cnVjdG9yKGU9MCx0PTApe3RoaXMuX2V4dD0wLHRoaXMuX3VybElkPTAsdGhpcy5fZXh0PWUsdGhpcy5fdXJsSWQ9dH1jbG9uZSgpe3JldHVybiBuZXcgcyh0aGlzLl9leHQsdGhpcy5fdXJsSWQpfWlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMudW5kZXJsaW5lU3R5bGUmJjA9PT10aGlzLl91cmxJZH19dC5FeHRlbmRlZEF0dHJzPXN9LDkwOTI6KGUsdCxpKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuQnVmZmVyPXQuTUFYX0JVRkZFUl9TSVpFPXZvaWQgMDtjb25zdCBzPWkoNjM0OSkscj1pKDcyMjYpLG49aSgzNzM0KSxvPWkoODQzNyksYT1pKDQ2MzQpLGg9aSg1MTEpLGM9aSg2NDMpLGw9aSg0ODYzKSxkPWkoNzExNik7dC5NQVhfQlVGRkVSX1NJWkU9NDI5NDk2NzI5NSx0LkJ1ZmZlcj1jbGFzc3tjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5faGFzU2Nyb2xsYmFjaz1lLHRoaXMuX29wdGlvbnNTZXJ2aWNlPXQsdGhpcy5fYnVmZmVyU2VydmljZT1pLHRoaXMueWRpc3A9MCx0aGlzLnliYXNlPTAsdGhpcy55PTAsdGhpcy54PTAsdGhpcy50YWJzPXt9LHRoaXMuc2F2ZWRZPTAsdGhpcy5zYXZlZFg9MCx0aGlzLnNhdmVkQ3VyQXR0ckRhdGE9by5ERUZBVUxUX0FUVFJfREFUQS5jbG9uZSgpLHRoaXMuc2F2ZWRDaGFyc2V0PWQuREVGQVVMVF9DSEFSU0VULHRoaXMubWFya2Vycz1bXSx0aGlzLl9udWxsQ2VsbD1oLkNlbGxEYXRhLmZyb21DaGFyRGF0YShbMCxjLk5VTExfQ0VMTF9DSEFSLGMuTlVMTF9DRUxMX1dJRFRILGMuTlVMTF9DRUxMX0NPREVdKSx0aGlzLl93aGl0ZXNwYWNlQ2VsbD1oLkNlbGxEYXRhLmZyb21DaGFyRGF0YShbMCxjLldISVRFU1BBQ0VfQ0VMTF9DSEFSLGMuV0hJVEVTUEFDRV9DRUxMX1dJRFRILGMuV0hJVEVTUEFDRV9DRUxMX0NPREVdKSx0aGlzLl9pc0NsZWFyaW5nPSExLHRoaXMuX21lbW9yeUNsZWFudXBRdWV1ZT1uZXcgci5JZGxlVGFza1F1ZXVlLHRoaXMuX21lbW9yeUNsZWFudXBQb3NpdGlvbj0wLHRoaXMuX2NvbHM9dGhpcy5fYnVmZmVyU2VydmljZS5jb2xzLHRoaXMuX3Jvd3M9dGhpcy5fYnVmZmVyU2VydmljZS5yb3dzLHRoaXMubGluZXM9bmV3IHMuQ2lyY3VsYXJMaXN0KHRoaXMuX2dldENvcnJlY3RCdWZmZXJMZW5ndGgodGhpcy5fcm93cykpLHRoaXMuc2Nyb2xsVG9wPTAsdGhpcy5zY3JvbGxCb3R0b209dGhpcy5fcm93cy0xLHRoaXMuc2V0dXBUYWJTdG9wcygpfWdldE51bGxDZWxsKGUpe3JldHVybiBlPyh0aGlzLl9udWxsQ2VsbC5mZz1lLmZnLHRoaXMuX251bGxDZWxsLmJnPWUuYmcsdGhpcy5fbnVsbENlbGwuZXh0ZW5kZWQ9ZS5leHRlbmRlZCk6KHRoaXMuX251bGxDZWxsLmZnPTAsdGhpcy5fbnVsbENlbGwuYmc9MCx0aGlzLl9udWxsQ2VsbC5leHRlbmRlZD1uZXcgbi5FeHRlbmRlZEF0dHJzKSx0aGlzLl9udWxsQ2VsbH1nZXRXaGl0ZXNwYWNlQ2VsbChlKXtyZXR1cm4gZT8odGhpcy5fd2hpdGVzcGFjZUNlbGwuZmc9ZS5mZyx0aGlzLl93aGl0ZXNwYWNlQ2VsbC5iZz1lLmJnLHRoaXMuX3doaXRlc3BhY2VDZWxsLmV4dGVuZGVkPWUuZXh0ZW5kZWQpOih0aGlzLl93aGl0ZXNwYWNlQ2VsbC5mZz0wLHRoaXMuX3doaXRlc3BhY2VDZWxsLmJnPTAsdGhpcy5fd2hpdGVzcGFjZUNlbGwuZXh0ZW5kZWQ9bmV3IG4uRXh0ZW5kZWRBdHRycyksdGhpcy5fd2hpdGVzcGFjZUNlbGx9Z2V0QmxhbmtMaW5lKGUsdCl7cmV0dXJuIG5ldyBvLkJ1ZmZlckxpbmUodGhpcy5fYnVmZmVyU2VydmljZS5jb2xzLHRoaXMuZ2V0TnVsbENlbGwoZSksdCl9Z2V0IGhhc1Njcm9sbGJhY2soKXtyZXR1cm4gdGhpcy5faGFzU2Nyb2xsYmFjayYmdGhpcy5saW5lcy5tYXhMZW5ndGg+dGhpcy5fcm93c31nZXQgaXNDdXJzb3JJblZpZXdwb3J0KCl7Y29uc3QgZT10aGlzLnliYXNlK3RoaXMueS10aGlzLnlkaXNwO3JldHVybiBlPj0wJiZlPHRoaXMuX3Jvd3N9X2dldENvcnJlY3RCdWZmZXJMZW5ndGgoZSl7aWYoIXRoaXMuX2hhc1Njcm9sbGJhY2spcmV0dXJuIGU7Y29uc3QgaT1lK3RoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuc2Nyb2xsYmFjaztyZXR1cm4gaT50Lk1BWF9CVUZGRVJfU0laRT90Lk1BWF9CVUZGRVJfU0laRTppfWZpbGxWaWV3cG9ydFJvd3MoZSl7aWYoMD09PXRoaXMubGluZXMubGVuZ3RoKXt2b2lkIDA9PT1lJiYoZT1vLkRFRkFVTFRfQVRUUl9EQVRBKTtsZXQgdD10aGlzLl9yb3dzO2Zvcig7dC0tOyl0aGlzLmxpbmVzLnB1c2godGhpcy5nZXRCbGFua0xpbmUoZSkpfX1jbGVhcigpe3RoaXMueWRpc3A9MCx0aGlzLnliYXNlPTAsdGhpcy55PTAsdGhpcy54PTAsdGhpcy5saW5lcz1uZXcgcy5DaXJjdWxhckxpc3QodGhpcy5fZ2V0Q29ycmVjdEJ1ZmZlckxlbmd0aCh0aGlzLl9yb3dzKSksdGhpcy5zY3JvbGxUb3A9MCx0aGlzLnNjcm9sbEJvdHRvbT10aGlzLl9yb3dzLTEsdGhpcy5zZXR1cFRhYlN0b3BzKCl9cmVzaXplKGUsdCl7Y29uc3QgaT10aGlzLmdldE51bGxDZWxsKG8uREVGQVVMVF9BVFRSX0RBVEEpO2xldCBzPTA7Y29uc3Qgcj10aGlzLl9nZXRDb3JyZWN0QnVmZmVyTGVuZ3RoKHQpO2lmKHI+dGhpcy5saW5lcy5tYXhMZW5ndGgmJih0aGlzLmxpbmVzLm1heExlbmd0aD1yKSx0aGlzLmxpbmVzLmxlbmd0aD4wKXtpZih0aGlzLl9jb2xzPGUpZm9yKGxldCB0PTA7dDx0aGlzLmxpbmVzLmxlbmd0aDt0Kyspcys9K3RoaXMubGluZXMuZ2V0KHQpLnJlc2l6ZShlLGkpO2xldCBuPTA7aWYodGhpcy5fcm93czx0KWZvcihsZXQgcz10aGlzLl9yb3dzO3M8dDtzKyspdGhpcy5saW5lcy5sZW5ndGg8dCt0aGlzLnliYXNlJiYodGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy53aW5kb3dzTW9kZXx8dm9pZCAwIT09dGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy53aW5kb3dzUHR5LmJhY2tlbmR8fHZvaWQgMCE9PXRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMud2luZG93c1B0eS5idWlsZE51bWJlcj90aGlzLmxpbmVzLnB1c2gobmV3IG8uQnVmZmVyTGluZShlLGkpKTp0aGlzLnliYXNlPjAmJnRoaXMubGluZXMubGVuZ3RoPD10aGlzLnliYXNlK3RoaXMueStuKzE/KHRoaXMueWJhc2UtLSxuKyssdGhpcy55ZGlzcD4wJiZ0aGlzLnlkaXNwLS0pOnRoaXMubGluZXMucHVzaChuZXcgby5CdWZmZXJMaW5lKGUsaSkpKTtlbHNlIGZvcihsZXQgZT10aGlzLl9yb3dzO2U+dDtlLS0pdGhpcy5saW5lcy5sZW5ndGg+dCt0aGlzLnliYXNlJiYodGhpcy5saW5lcy5sZW5ndGg+dGhpcy55YmFzZSt0aGlzLnkrMT90aGlzLmxpbmVzLnBvcCgpOih0aGlzLnliYXNlKyssdGhpcy55ZGlzcCsrKSk7aWYocjx0aGlzLmxpbmVzLm1heExlbmd0aCl7Y29uc3QgZT10aGlzLmxpbmVzLmxlbmd0aC1yO2U+MCYmKHRoaXMubGluZXMudHJpbVN0YXJ0KGUpLHRoaXMueWJhc2U9TWF0aC5tYXgodGhpcy55YmFzZS1lLDApLHRoaXMueWRpc3A9TWF0aC5tYXgodGhpcy55ZGlzcC1lLDApLHRoaXMuc2F2ZWRZPU1hdGgubWF4KHRoaXMuc2F2ZWRZLWUsMCkpLHRoaXMubGluZXMubWF4TGVuZ3RoPXJ9dGhpcy54PU1hdGgubWluKHRoaXMueCxlLTEpLHRoaXMueT1NYXRoLm1pbih0aGlzLnksdC0xKSxuJiYodGhpcy55Kz1uKSx0aGlzLnNhdmVkWD1NYXRoLm1pbih0aGlzLnNhdmVkWCxlLTEpLHRoaXMuc2Nyb2xsVG9wPTB9aWYodGhpcy5zY3JvbGxCb3R0b209dC0xLHRoaXMuX2lzUmVmbG93RW5hYmxlZCYmKHRoaXMuX3JlZmxvdyhlLHQpLHRoaXMuX2NvbHM+ZSkpZm9yKGxldCB0PTA7dDx0aGlzLmxpbmVzLmxlbmd0aDt0Kyspcys9K3RoaXMubGluZXMuZ2V0KHQpLnJlc2l6ZShlLGkpO3RoaXMuX2NvbHM9ZSx0aGlzLl9yb3dzPXQsdGhpcy5fbWVtb3J5Q2xlYW51cFF1ZXVlLmNsZWFyKCkscz4uMSp0aGlzLmxpbmVzLmxlbmd0aCYmKHRoaXMuX21lbW9yeUNsZWFudXBQb3NpdGlvbj0wLHRoaXMuX21lbW9yeUNsZWFudXBRdWV1ZS5lbnF1ZXVlKCgoKT0+dGhpcy5fYmF0Y2hlZE1lbW9yeUNsZWFudXAoKSkpKX1fYmF0Y2hlZE1lbW9yeUNsZWFudXAoKXtsZXQgZT0hMDt0aGlzLl9tZW1vcnlDbGVhbnVwUG9zaXRpb24+PXRoaXMubGluZXMubGVuZ3RoJiYodGhpcy5fbWVtb3J5Q2xlYW51cFBvc2l0aW9uPTAsZT0hMSk7bGV0IHQ9MDtmb3IoO3RoaXMuX21lbW9yeUNsZWFudXBQb3NpdGlvbjx0aGlzLmxpbmVzLmxlbmd0aDspaWYodCs9dGhpcy5saW5lcy5nZXQodGhpcy5fbWVtb3J5Q2xlYW51cFBvc2l0aW9uKyspLmNsZWFudXBNZW1vcnkoKSx0PjEwMClyZXR1cm4hMDtyZXR1cm4gZX1nZXQgX2lzUmVmbG93RW5hYmxlZCgpe2NvbnN0IGU9dGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy53aW5kb3dzUHR5O3JldHVybiBlJiZlLmJ1aWxkTnVtYmVyP3RoaXMuX2hhc1Njcm9sbGJhY2smJlwiY29ucHR5XCI9PT1lLmJhY2tlbmQmJmUuYnVpbGROdW1iZXI+PTIxMzc2OnRoaXMuX2hhc1Njcm9sbGJhY2smJiF0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLndpbmRvd3NNb2RlfV9yZWZsb3coZSx0KXt0aGlzLl9jb2xzIT09ZSYmKGU+dGhpcy5fY29scz90aGlzLl9yZWZsb3dMYXJnZXIoZSx0KTp0aGlzLl9yZWZsb3dTbWFsbGVyKGUsdCkpfV9yZWZsb3dMYXJnZXIoZSx0KXtjb25zdCBpPSgwLGEucmVmbG93TGFyZ2VyR2V0TGluZXNUb1JlbW92ZSkodGhpcy5saW5lcyx0aGlzLl9jb2xzLGUsdGhpcy55YmFzZSt0aGlzLnksdGhpcy5nZXROdWxsQ2VsbChvLkRFRkFVTFRfQVRUUl9EQVRBKSk7aWYoaS5sZW5ndGg+MCl7Y29uc3Qgcz0oMCxhLnJlZmxvd0xhcmdlckNyZWF0ZU5ld0xheW91dCkodGhpcy5saW5lcyxpKTsoMCxhLnJlZmxvd0xhcmdlckFwcGx5TmV3TGF5b3V0KSh0aGlzLmxpbmVzLHMubGF5b3V0KSx0aGlzLl9yZWZsb3dMYXJnZXJBZGp1c3RWaWV3cG9ydChlLHQscy5jb3VudFJlbW92ZWQpfX1fcmVmbG93TGFyZ2VyQWRqdXN0Vmlld3BvcnQoZSx0LGkpe2NvbnN0IHM9dGhpcy5nZXROdWxsQ2VsbChvLkRFRkFVTFRfQVRUUl9EQVRBKTtsZXQgcj1pO2Zvcig7ci0tID4wOykwPT09dGhpcy55YmFzZT8odGhpcy55PjAmJnRoaXMueS0tLHRoaXMubGluZXMubGVuZ3RoPHQmJnRoaXMubGluZXMucHVzaChuZXcgby5CdWZmZXJMaW5lKGUscykpKToodGhpcy55ZGlzcD09PXRoaXMueWJhc2UmJnRoaXMueWRpc3AtLSx0aGlzLnliYXNlLS0pO3RoaXMuc2F2ZWRZPU1hdGgubWF4KHRoaXMuc2F2ZWRZLWksMCl9X3JlZmxvd1NtYWxsZXIoZSx0KXtjb25zdCBpPXRoaXMuZ2V0TnVsbENlbGwoby5ERUZBVUxUX0FUVFJfREFUQSkscz1bXTtsZXQgcj0wO2ZvcihsZXQgbj10aGlzLmxpbmVzLmxlbmd0aC0xO24+PTA7bi0tKXtsZXQgaD10aGlzLmxpbmVzLmdldChuKTtpZighaHx8IWguaXNXcmFwcGVkJiZoLmdldFRyaW1tZWRMZW5ndGgoKTw9ZSljb250aW51ZTtjb25zdCBjPVtoXTtmb3IoO2guaXNXcmFwcGVkJiZuPjA7KWg9dGhpcy5saW5lcy5nZXQoLS1uKSxjLnVuc2hpZnQoaCk7Y29uc3QgbD10aGlzLnliYXNlK3RoaXMueTtpZihsPj1uJiZsPG4rYy5sZW5ndGgpY29udGludWU7Y29uc3QgZD1jW2MubGVuZ3RoLTFdLmdldFRyaW1tZWRMZW5ndGgoKSxfPSgwLGEucmVmbG93U21hbGxlckdldE5ld0xpbmVMZW5ndGhzKShjLHRoaXMuX2NvbHMsZSksdT1fLmxlbmd0aC1jLmxlbmd0aDtsZXQgZjtmPTA9PT10aGlzLnliYXNlJiZ0aGlzLnkhPT10aGlzLmxpbmVzLmxlbmd0aC0xP01hdGgubWF4KDAsdGhpcy55LXRoaXMubGluZXMubWF4TGVuZ3RoK3UpOk1hdGgubWF4KDAsdGhpcy5saW5lcy5sZW5ndGgtdGhpcy5saW5lcy5tYXhMZW5ndGgrdSk7Y29uc3Qgdj1bXTtmb3IobGV0IGU9MDtlPHU7ZSsrKXtjb25zdCBlPXRoaXMuZ2V0QmxhbmtMaW5lKG8uREVGQVVMVF9BVFRSX0RBVEEsITApO3YucHVzaChlKX12Lmxlbmd0aD4wJiYocy5wdXNoKHtzdGFydDpuK2MubGVuZ3RoK3IsbmV3TGluZXM6dn0pLHIrPXYubGVuZ3RoKSxjLnB1c2goLi4udik7bGV0IHA9Xy5sZW5ndGgtMSxnPV9bcF07MD09PWcmJihwLS0sZz1fW3BdKTtsZXQgbT1jLmxlbmd0aC11LTEsUz1kO2Zvcig7bT49MDspe2NvbnN0IGU9TWF0aC5taW4oUyxnKTtpZih2b2lkIDA9PT1jW3BdKWJyZWFrO2lmKGNbcF0uY29weUNlbGxzRnJvbShjW21dLFMtZSxnLWUsZSwhMCksZy09ZSwwPT09ZyYmKHAtLSxnPV9bcF0pLFMtPWUsMD09PVMpe20tLTtjb25zdCBlPU1hdGgubWF4KG0sMCk7Uz0oMCxhLmdldFdyYXBwZWRMaW5lVHJpbW1lZExlbmd0aCkoYyxlLHRoaXMuX2NvbHMpfX1mb3IobGV0IHQ9MDt0PGMubGVuZ3RoO3QrKylfW3RdPGUmJmNbdF0uc2V0Q2VsbChfW3RdLGkpO2xldCBDPXUtZjtmb3IoO0MtLSA+MDspMD09PXRoaXMueWJhc2U/dGhpcy55PHQtMT8odGhpcy55KyssdGhpcy5saW5lcy5wb3AoKSk6KHRoaXMueWJhc2UrKyx0aGlzLnlkaXNwKyspOnRoaXMueWJhc2U8TWF0aC5taW4odGhpcy5saW5lcy5tYXhMZW5ndGgsdGhpcy5saW5lcy5sZW5ndGgrciktdCYmKHRoaXMueWJhc2U9PT10aGlzLnlkaXNwJiZ0aGlzLnlkaXNwKyssdGhpcy55YmFzZSsrKTt0aGlzLnNhdmVkWT1NYXRoLm1pbih0aGlzLnNhdmVkWSt1LHRoaXMueWJhc2UrdC0xKX1pZihzLmxlbmd0aD4wKXtjb25zdCBlPVtdLHQ9W107Zm9yKGxldCBlPTA7ZTx0aGlzLmxpbmVzLmxlbmd0aDtlKyspdC5wdXNoKHRoaXMubGluZXMuZ2V0KGUpKTtjb25zdCBpPXRoaXMubGluZXMubGVuZ3RoO2xldCBuPWktMSxvPTAsYT1zW29dO3RoaXMubGluZXMubGVuZ3RoPU1hdGgubWluKHRoaXMubGluZXMubWF4TGVuZ3RoLHRoaXMubGluZXMubGVuZ3RoK3IpO2xldCBoPTA7Zm9yKGxldCBjPU1hdGgubWluKHRoaXMubGluZXMubWF4TGVuZ3RoLTEsaStyLTEpO2M+PTA7Yy0tKWlmKGEmJmEuc3RhcnQ+bitoKXtmb3IobGV0IGU9YS5uZXdMaW5lcy5sZW5ndGgtMTtlPj0wO2UtLSl0aGlzLmxpbmVzLnNldChjLS0sYS5uZXdMaW5lc1tlXSk7YysrLGUucHVzaCh7aW5kZXg6bisxLGFtb3VudDphLm5ld0xpbmVzLmxlbmd0aH0pLGgrPWEubmV3TGluZXMubGVuZ3RoLGE9c1srK29dfWVsc2UgdGhpcy5saW5lcy5zZXQoYyx0W24tLV0pO2xldCBjPTA7Zm9yKGxldCB0PWUubGVuZ3RoLTE7dD49MDt0LS0pZVt0XS5pbmRleCs9Yyx0aGlzLmxpbmVzLm9uSW5zZXJ0RW1pdHRlci5maXJlKGVbdF0pLGMrPWVbdF0uYW1vdW50O2NvbnN0IGw9TWF0aC5tYXgoMCxpK3ItdGhpcy5saW5lcy5tYXhMZW5ndGgpO2w+MCYmdGhpcy5saW5lcy5vblRyaW1FbWl0dGVyLmZpcmUobCl9fXRyYW5zbGF0ZUJ1ZmZlckxpbmVUb1N0cmluZyhlLHQsaT0wLHMpe2NvbnN0IHI9dGhpcy5saW5lcy5nZXQoZSk7cmV0dXJuIHI/ci50cmFuc2xhdGVUb1N0cmluZyh0LGkscyk6XCJcIn1nZXRXcmFwcGVkUmFuZ2VGb3JMaW5lKGUpe2xldCB0PWUsaT1lO2Zvcig7dD4wJiZ0aGlzLmxpbmVzLmdldCh0KS5pc1dyYXBwZWQ7KXQtLTtmb3IoO2krMTx0aGlzLmxpbmVzLmxlbmd0aCYmdGhpcy5saW5lcy5nZXQoaSsxKS5pc1dyYXBwZWQ7KWkrKztyZXR1cm57Zmlyc3Q6dCxsYXN0Oml9fXNldHVwVGFiU3RvcHMoZSl7Zm9yKG51bGwhPWU/dGhpcy50YWJzW2VdfHwoZT10aGlzLnByZXZTdG9wKGUpKToodGhpcy50YWJzPXt9LGU9MCk7ZTx0aGlzLl9jb2xzO2UrPXRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMudGFiU3RvcFdpZHRoKXRoaXMudGFic1tlXT0hMH1wcmV2U3RvcChlKXtmb3IobnVsbD09ZSYmKGU9dGhpcy54KTshdGhpcy50YWJzWy0tZV0mJmU+MDspO3JldHVybiBlPj10aGlzLl9jb2xzP3RoaXMuX2NvbHMtMTplPDA/MDplfW5leHRTdG9wKGUpe2ZvcihudWxsPT1lJiYoZT10aGlzLngpOyF0aGlzLnRhYnNbKytlXSYmZTx0aGlzLl9jb2xzOyk7cmV0dXJuIGU+PXRoaXMuX2NvbHM/dGhpcy5fY29scy0xOmU8MD8wOmV9Y2xlYXJNYXJrZXJzKGUpe3RoaXMuX2lzQ2xlYXJpbmc9ITA7Zm9yKGxldCB0PTA7dDx0aGlzLm1hcmtlcnMubGVuZ3RoO3QrKyl0aGlzLm1hcmtlcnNbdF0ubGluZT09PWUmJih0aGlzLm1hcmtlcnNbdF0uZGlzcG9zZSgpLHRoaXMubWFya2Vycy5zcGxpY2UodC0tLDEpKTt0aGlzLl9pc0NsZWFyaW5nPSExfWNsZWFyQWxsTWFya2Vycygpe3RoaXMuX2lzQ2xlYXJpbmc9ITA7Zm9yKGxldCBlPTA7ZTx0aGlzLm1hcmtlcnMubGVuZ3RoO2UrKyl0aGlzLm1hcmtlcnNbZV0uZGlzcG9zZSgpLHRoaXMubWFya2Vycy5zcGxpY2UoZS0tLDEpO3RoaXMuX2lzQ2xlYXJpbmc9ITF9YWRkTWFya2VyKGUpe2NvbnN0IHQ9bmV3IGwuTWFya2VyKGUpO3JldHVybiB0aGlzLm1hcmtlcnMucHVzaCh0KSx0LnJlZ2lzdGVyKHRoaXMubGluZXMub25UcmltKChlPT57dC5saW5lLT1lLHQubGluZTwwJiZ0LmRpc3Bvc2UoKX0pKSksdC5yZWdpc3Rlcih0aGlzLmxpbmVzLm9uSW5zZXJ0KChlPT57dC5saW5lPj1lLmluZGV4JiYodC5saW5lKz1lLmFtb3VudCl9KSkpLHQucmVnaXN0ZXIodGhpcy5saW5lcy5vbkRlbGV0ZSgoZT0+e3QubGluZT49ZS5pbmRleCYmdC5saW5lPGUuaW5kZXgrZS5hbW91bnQmJnQuZGlzcG9zZSgpLHQubGluZT5lLmluZGV4JiYodC5saW5lLT1lLmFtb3VudCl9KSkpLHQucmVnaXN0ZXIodC5vbkRpc3Bvc2UoKCgpPT50aGlzLl9yZW1vdmVNYXJrZXIodCkpKSksdH1fcmVtb3ZlTWFya2VyKGUpe3RoaXMuX2lzQ2xlYXJpbmd8fHRoaXMubWFya2Vycy5zcGxpY2UodGhpcy5tYXJrZXJzLmluZGV4T2YoZSksMSl9fX0sODQzNzooZSx0LGkpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5CdWZmZXJMaW5lPXQuREVGQVVMVF9BVFRSX0RBVEE9dm9pZCAwO2NvbnN0IHM9aSgzNzM0KSxyPWkoNTExKSxuPWkoNjQzKSxvPWkoNDgyKTt0LkRFRkFVTFRfQVRUUl9EQVRBPU9iamVjdC5mcmVlemUobmV3IHMuQXR0cmlidXRlRGF0YSk7bGV0IGE9MDtjbGFzcyBoe2NvbnN0cnVjdG9yKGUsdCxpPSExKXt0aGlzLmlzV3JhcHBlZD1pLHRoaXMuX2NvbWJpbmVkPXt9LHRoaXMuX2V4dGVuZGVkQXR0cnM9e30sdGhpcy5fZGF0YT1uZXcgVWludDMyQXJyYXkoMyplKTtjb25zdCBzPXR8fHIuQ2VsbERhdGEuZnJvbUNoYXJEYXRhKFswLG4uTlVMTF9DRUxMX0NIQVIsbi5OVUxMX0NFTExfV0lEVEgsbi5OVUxMX0NFTExfQ09ERV0pO2ZvcihsZXQgdD0wO3Q8ZTsrK3QpdGhpcy5zZXRDZWxsKHQscyk7dGhpcy5sZW5ndGg9ZX1nZXQoZSl7Y29uc3QgdD10aGlzLl9kYXRhWzMqZSswXSxpPTIwOTcxNTEmdDtyZXR1cm5bdGhpcy5fZGF0YVszKmUrMV0sMjA5NzE1MiZ0P3RoaXMuX2NvbWJpbmVkW2VdOmk/KDAsby5zdHJpbmdGcm9tQ29kZVBvaW50KShpKTpcIlwiLHQ+PjIyLDIwOTcxNTImdD90aGlzLl9jb21iaW5lZFtlXS5jaGFyQ29kZUF0KHRoaXMuX2NvbWJpbmVkW2VdLmxlbmd0aC0xKTppXX1zZXQoZSx0KXt0aGlzLl9kYXRhWzMqZSsxXT10W24uQ0hBUl9EQVRBX0FUVFJfSU5ERVhdLHRbbi5DSEFSX0RBVEFfQ0hBUl9JTkRFWF0ubGVuZ3RoPjE/KHRoaXMuX2NvbWJpbmVkW2VdPXRbMV0sdGhpcy5fZGF0YVszKmUrMF09MjA5NzE1MnxlfHRbbi5DSEFSX0RBVEFfV0lEVEhfSU5ERVhdPDwyMik6dGhpcy5fZGF0YVszKmUrMF09dFtuLkNIQVJfREFUQV9DSEFSX0lOREVYXS5jaGFyQ29kZUF0KDApfHRbbi5DSEFSX0RBVEFfV0lEVEhfSU5ERVhdPDwyMn1nZXRXaWR0aChlKXtyZXR1cm4gdGhpcy5fZGF0YVszKmUrMF0+PjIyfWhhc1dpZHRoKGUpe3JldHVybiAxMjU4MjkxMiZ0aGlzLl9kYXRhWzMqZSswXX1nZXRGZyhlKXtyZXR1cm4gdGhpcy5fZGF0YVszKmUrMV19Z2V0QmcoZSl7cmV0dXJuIHRoaXMuX2RhdGFbMyplKzJdfWhhc0NvbnRlbnQoZSl7cmV0dXJuIDQxOTQzMDMmdGhpcy5fZGF0YVszKmUrMF19Z2V0Q29kZVBvaW50KGUpe2NvbnN0IHQ9dGhpcy5fZGF0YVszKmUrMF07cmV0dXJuIDIwOTcxNTImdD90aGlzLl9jb21iaW5lZFtlXS5jaGFyQ29kZUF0KHRoaXMuX2NvbWJpbmVkW2VdLmxlbmd0aC0xKToyMDk3MTUxJnR9aXNDb21iaW5lZChlKXtyZXR1cm4gMjA5NzE1MiZ0aGlzLl9kYXRhWzMqZSswXX1nZXRTdHJpbmcoZSl7Y29uc3QgdD10aGlzLl9kYXRhWzMqZSswXTtyZXR1cm4gMjA5NzE1MiZ0P3RoaXMuX2NvbWJpbmVkW2VdOjIwOTcxNTEmdD8oMCxvLnN0cmluZ0Zyb21Db2RlUG9pbnQpKDIwOTcxNTEmdCk6XCJcIn1pc1Byb3RlY3RlZChlKXtyZXR1cm4gNTM2ODcwOTEyJnRoaXMuX2RhdGFbMyplKzJdfWxvYWRDZWxsKGUsdCl7cmV0dXJuIGE9MyplLHQuY29udGVudD10aGlzLl9kYXRhW2ErMF0sdC5mZz10aGlzLl9kYXRhW2ErMV0sdC5iZz10aGlzLl9kYXRhW2ErMl0sMjA5NzE1MiZ0LmNvbnRlbnQmJih0LmNvbWJpbmVkRGF0YT10aGlzLl9jb21iaW5lZFtlXSksMjY4NDM1NDU2JnQuYmcmJih0LmV4dGVuZGVkPXRoaXMuX2V4dGVuZGVkQXR0cnNbZV0pLHR9c2V0Q2VsbChlLHQpezIwOTcxNTImdC5jb250ZW50JiYodGhpcy5fY29tYmluZWRbZV09dC5jb21iaW5lZERhdGEpLDI2ODQzNTQ1NiZ0LmJnJiYodGhpcy5fZXh0ZW5kZWRBdHRyc1tlXT10LmV4dGVuZGVkKSx0aGlzLl9kYXRhWzMqZSswXT10LmNvbnRlbnQsdGhpcy5fZGF0YVszKmUrMV09dC5mZyx0aGlzLl9kYXRhWzMqZSsyXT10LmJnfXNldENlbGxGcm9tQ29kZXBvaW50KGUsdCxpLHMpezI2ODQzNTQ1NiZzLmJnJiYodGhpcy5fZXh0ZW5kZWRBdHRyc1tlXT1zLmV4dGVuZGVkKSx0aGlzLl9kYXRhWzMqZSswXT10fGk8PDIyLHRoaXMuX2RhdGFbMyplKzFdPXMuZmcsdGhpcy5fZGF0YVszKmUrMl09cy5iZ31hZGRDb2RlcG9pbnRUb0NlbGwoZSx0LGkpe2xldCBzPXRoaXMuX2RhdGFbMyplKzBdOzIwOTcxNTImcz90aGlzLl9jb21iaW5lZFtlXSs9KDAsby5zdHJpbmdGcm9tQ29kZVBvaW50KSh0KToyMDk3MTUxJnM/KHRoaXMuX2NvbWJpbmVkW2VdPSgwLG8uc3RyaW5nRnJvbUNvZGVQb2ludCkoMjA5NzE1MSZzKSsoMCxvLnN0cmluZ0Zyb21Db2RlUG9pbnQpKHQpLHMmPS0yMDk3MTUyLHN8PTIwOTcxNTIpOnM9dHwxPDwyMixpJiYocyY9LTEyNTgyOTEzLHN8PWk8PDIyKSx0aGlzLl9kYXRhWzMqZSswXT1zfWluc2VydENlbGxzKGUsdCxpKXtpZigoZSU9dGhpcy5sZW5ndGgpJiYyPT09dGhpcy5nZXRXaWR0aChlLTEpJiZ0aGlzLnNldENlbGxGcm9tQ29kZXBvaW50KGUtMSwwLDEsaSksdDx0aGlzLmxlbmd0aC1lKXtjb25zdCBzPW5ldyByLkNlbGxEYXRhO2ZvcihsZXQgaT10aGlzLmxlbmd0aC1lLXQtMTtpPj0wOy0taSl0aGlzLnNldENlbGwoZSt0K2ksdGhpcy5sb2FkQ2VsbChlK2kscykpO2ZvcihsZXQgcz0wO3M8dDsrK3MpdGhpcy5zZXRDZWxsKGUrcyxpKX1lbHNlIGZvcihsZXQgdD1lO3Q8dGhpcy5sZW5ndGg7Kyt0KXRoaXMuc2V0Q2VsbCh0LGkpOzI9PT10aGlzLmdldFdpZHRoKHRoaXMubGVuZ3RoLTEpJiZ0aGlzLnNldENlbGxGcm9tQ29kZXBvaW50KHRoaXMubGVuZ3RoLTEsMCwxLGkpfWRlbGV0ZUNlbGxzKGUsdCxpKXtpZihlJT10aGlzLmxlbmd0aCx0PHRoaXMubGVuZ3RoLWUpe2NvbnN0IHM9bmV3IHIuQ2VsbERhdGE7Zm9yKGxldCBpPTA7aTx0aGlzLmxlbmd0aC1lLXQ7KytpKXRoaXMuc2V0Q2VsbChlK2ksdGhpcy5sb2FkQ2VsbChlK3QraSxzKSk7Zm9yKGxldCBlPXRoaXMubGVuZ3RoLXQ7ZTx0aGlzLmxlbmd0aDsrK2UpdGhpcy5zZXRDZWxsKGUsaSl9ZWxzZSBmb3IobGV0IHQ9ZTt0PHRoaXMubGVuZ3RoOysrdCl0aGlzLnNldENlbGwodCxpKTtlJiYyPT09dGhpcy5nZXRXaWR0aChlLTEpJiZ0aGlzLnNldENlbGxGcm9tQ29kZXBvaW50KGUtMSwwLDEsaSksMCE9PXRoaXMuZ2V0V2lkdGgoZSl8fHRoaXMuaGFzQ29udGVudChlKXx8dGhpcy5zZXRDZWxsRnJvbUNvZGVwb2ludChlLDAsMSxpKX1yZXBsYWNlQ2VsbHMoZSx0LGkscz0hMSl7aWYocylmb3IoZSYmMj09PXRoaXMuZ2V0V2lkdGgoZS0xKSYmIXRoaXMuaXNQcm90ZWN0ZWQoZS0xKSYmdGhpcy5zZXRDZWxsRnJvbUNvZGVwb2ludChlLTEsMCwxLGkpLHQ8dGhpcy5sZW5ndGgmJjI9PT10aGlzLmdldFdpZHRoKHQtMSkmJiF0aGlzLmlzUHJvdGVjdGVkKHQpJiZ0aGlzLnNldENlbGxGcm9tQ29kZXBvaW50KHQsMCwxLGkpO2U8dCYmZTx0aGlzLmxlbmd0aDspdGhpcy5pc1Byb3RlY3RlZChlKXx8dGhpcy5zZXRDZWxsKGUsaSksZSsrO2Vsc2UgZm9yKGUmJjI9PT10aGlzLmdldFdpZHRoKGUtMSkmJnRoaXMuc2V0Q2VsbEZyb21Db2RlcG9pbnQoZS0xLDAsMSxpKSx0PHRoaXMubGVuZ3RoJiYyPT09dGhpcy5nZXRXaWR0aCh0LTEpJiZ0aGlzLnNldENlbGxGcm9tQ29kZXBvaW50KHQsMCwxLGkpO2U8dCYmZTx0aGlzLmxlbmd0aDspdGhpcy5zZXRDZWxsKGUrKyxpKX1yZXNpemUoZSx0KXtpZihlPT09dGhpcy5sZW5ndGgpcmV0dXJuIDQqdGhpcy5fZGF0YS5sZW5ndGgqMjx0aGlzLl9kYXRhLmJ1ZmZlci5ieXRlTGVuZ3RoO2NvbnN0IGk9MyplO2lmKGU+dGhpcy5sZW5ndGgpe2lmKHRoaXMuX2RhdGEuYnVmZmVyLmJ5dGVMZW5ndGg+PTQqaSl0aGlzLl9kYXRhPW5ldyBVaW50MzJBcnJheSh0aGlzLl9kYXRhLmJ1ZmZlciwwLGkpO2Vsc2V7Y29uc3QgZT1uZXcgVWludDMyQXJyYXkoaSk7ZS5zZXQodGhpcy5fZGF0YSksdGhpcy5fZGF0YT1lfWZvcihsZXQgaT10aGlzLmxlbmd0aDtpPGU7KytpKXRoaXMuc2V0Q2VsbChpLHQpfWVsc2V7dGhpcy5fZGF0YT10aGlzLl9kYXRhLnN1YmFycmF5KDAsaSk7Y29uc3QgdD1PYmplY3Qua2V5cyh0aGlzLl9jb21iaW5lZCk7Zm9yKGxldCBpPTA7aTx0Lmxlbmd0aDtpKyspe2NvbnN0IHM9cGFyc2VJbnQodFtpXSwxMCk7cz49ZSYmZGVsZXRlIHRoaXMuX2NvbWJpbmVkW3NdfWNvbnN0IHM9T2JqZWN0LmtleXModGhpcy5fZXh0ZW5kZWRBdHRycyk7Zm9yKGxldCB0PTA7dDxzLmxlbmd0aDt0Kyspe2NvbnN0IGk9cGFyc2VJbnQoc1t0XSwxMCk7aT49ZSYmZGVsZXRlIHRoaXMuX2V4dGVuZGVkQXR0cnNbaV19fXJldHVybiB0aGlzLmxlbmd0aD1lLDQqaSoyPHRoaXMuX2RhdGEuYnVmZmVyLmJ5dGVMZW5ndGh9Y2xlYW51cE1lbW9yeSgpe2lmKDQqdGhpcy5fZGF0YS5sZW5ndGgqMjx0aGlzLl9kYXRhLmJ1ZmZlci5ieXRlTGVuZ3RoKXtjb25zdCBlPW5ldyBVaW50MzJBcnJheSh0aGlzLl9kYXRhLmxlbmd0aCk7cmV0dXJuIGUuc2V0KHRoaXMuX2RhdGEpLHRoaXMuX2RhdGE9ZSwxfXJldHVybiAwfWZpbGwoZSx0PSExKXtpZih0KWZvcihsZXQgdD0wO3Q8dGhpcy5sZW5ndGg7Kyt0KXRoaXMuaXNQcm90ZWN0ZWQodCl8fHRoaXMuc2V0Q2VsbCh0LGUpO2Vsc2V7dGhpcy5fY29tYmluZWQ9e30sdGhpcy5fZXh0ZW5kZWRBdHRycz17fTtmb3IobGV0IHQ9MDt0PHRoaXMubGVuZ3RoOysrdCl0aGlzLnNldENlbGwodCxlKX19Y29weUZyb20oZSl7dGhpcy5sZW5ndGghPT1lLmxlbmd0aD90aGlzLl9kYXRhPW5ldyBVaW50MzJBcnJheShlLl9kYXRhKTp0aGlzLl9kYXRhLnNldChlLl9kYXRhKSx0aGlzLmxlbmd0aD1lLmxlbmd0aCx0aGlzLl9jb21iaW5lZD17fTtmb3IoY29uc3QgdCBpbiBlLl9jb21iaW5lZCl0aGlzLl9jb21iaW5lZFt0XT1lLl9jb21iaW5lZFt0XTt0aGlzLl9leHRlbmRlZEF0dHJzPXt9O2Zvcihjb25zdCB0IGluIGUuX2V4dGVuZGVkQXR0cnMpdGhpcy5fZXh0ZW5kZWRBdHRyc1t0XT1lLl9leHRlbmRlZEF0dHJzW3RdO3RoaXMuaXNXcmFwcGVkPWUuaXNXcmFwcGVkfWNsb25lKCl7Y29uc3QgZT1uZXcgaCgwKTtlLl9kYXRhPW5ldyBVaW50MzJBcnJheSh0aGlzLl9kYXRhKSxlLmxlbmd0aD10aGlzLmxlbmd0aDtmb3IoY29uc3QgdCBpbiB0aGlzLl9jb21iaW5lZCllLl9jb21iaW5lZFt0XT10aGlzLl9jb21iaW5lZFt0XTtmb3IoY29uc3QgdCBpbiB0aGlzLl9leHRlbmRlZEF0dHJzKWUuX2V4dGVuZGVkQXR0cnNbdF09dGhpcy5fZXh0ZW5kZWRBdHRyc1t0XTtyZXR1cm4gZS5pc1dyYXBwZWQ9dGhpcy5pc1dyYXBwZWQsZX1nZXRUcmltbWVkTGVuZ3RoKCl7Zm9yKGxldCBlPXRoaXMubGVuZ3RoLTE7ZT49MDstLWUpaWYoNDE5NDMwMyZ0aGlzLl9kYXRhWzMqZSswXSlyZXR1cm4gZSsodGhpcy5fZGF0YVszKmUrMF0+PjIyKTtyZXR1cm4gMH1nZXROb0JnVHJpbW1lZExlbmd0aCgpe2ZvcihsZXQgZT10aGlzLmxlbmd0aC0xO2U+PTA7LS1lKWlmKDQxOTQzMDMmdGhpcy5fZGF0YVszKmUrMF18fDUwMzMxNjQ4JnRoaXMuX2RhdGFbMyplKzJdKXJldHVybiBlKyh0aGlzLl9kYXRhWzMqZSswXT4+MjIpO3JldHVybiAwfWNvcHlDZWxsc0Zyb20oZSx0LGkscyxyKXtjb25zdCBuPWUuX2RhdGE7aWYocilmb3IobGV0IHI9cy0xO3I+PTA7ci0tKXtmb3IobGV0IGU9MDtlPDM7ZSsrKXRoaXMuX2RhdGFbMyooaStyKStlXT1uWzMqKHQrcikrZV07MjY4NDM1NDU2Jm5bMyoodCtyKSsyXSYmKHRoaXMuX2V4dGVuZGVkQXR0cnNbaStyXT1lLl9leHRlbmRlZEF0dHJzW3Qrcl0pfWVsc2UgZm9yKGxldCByPTA7cjxzO3IrKyl7Zm9yKGxldCBlPTA7ZTwzO2UrKyl0aGlzLl9kYXRhWzMqKGkrcikrZV09blszKih0K3IpK2VdOzI2ODQzNTQ1NiZuWzMqKHQrcikrMl0mJih0aGlzLl9leHRlbmRlZEF0dHJzW2krcl09ZS5fZXh0ZW5kZWRBdHRyc1t0K3JdKX1jb25zdCBvPU9iamVjdC5rZXlzKGUuX2NvbWJpbmVkKTtmb3IobGV0IHM9MDtzPG8ubGVuZ3RoO3MrKyl7Y29uc3Qgcj1wYXJzZUludChvW3NdLDEwKTtyPj10JiYodGhpcy5fY29tYmluZWRbci10K2ldPWUuX2NvbWJpbmVkW3JdKX19dHJhbnNsYXRlVG9TdHJpbmcoZSx0LGkscyl7dD10Pz8wLGk9aT8/dGhpcy5sZW5ndGgsZSYmKGk9TWF0aC5taW4oaSx0aGlzLmdldFRyaW1tZWRMZW5ndGgoKSkpLHMmJihzLmxlbmd0aD0wKTtsZXQgcj1cIlwiO2Zvcig7dDxpOyl7Y29uc3QgZT10aGlzLl9kYXRhWzMqdCswXSxpPTIwOTcxNTEmZSxhPTIwOTcxNTImZT90aGlzLl9jb21iaW5lZFt0XTppPygwLG8uc3RyaW5nRnJvbUNvZGVQb2ludCkoaSk6bi5XSElURVNQQUNFX0NFTExfQ0hBUjtpZihyKz1hLHMpZm9yKGxldCBlPTA7ZTxhLmxlbmd0aDsrK2Upcy5wdXNoKHQpO3QrPWU+PjIyfHwxfXJldHVybiBzJiZzLnB1c2godCkscn19dC5CdWZmZXJMaW5lPWh9LDQ4NDE6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LmdldFJhbmdlTGVuZ3RoPXZvaWQgMCx0LmdldFJhbmdlTGVuZ3RoPWZ1bmN0aW9uKGUsdCl7aWYoZS5zdGFydC55PmUuZW5kLnkpdGhyb3cgbmV3IEVycm9yKGBCdWZmZXIgcmFuZ2UgZW5kICgke2UuZW5kLnh9LCAke2UuZW5kLnl9KSBjYW5ub3QgYmUgYmVmb3JlIHN0YXJ0ICgke2Uuc3RhcnQueH0sICR7ZS5zdGFydC55fSlgKTtyZXR1cm4gdCooZS5lbmQueS1lLnN0YXJ0LnkpKyhlLmVuZC54LWUuc3RhcnQueCsxKX19LDQ2MzQ6KGUsdCk9PntmdW5jdGlvbiBpKGUsdCxpKXtpZih0PT09ZS5sZW5ndGgtMSlyZXR1cm4gZVt0XS5nZXRUcmltbWVkTGVuZ3RoKCk7Y29uc3Qgcz0hZVt0XS5oYXNDb250ZW50KGktMSkmJjE9PT1lW3RdLmdldFdpZHRoKGktMSkscj0yPT09ZVt0KzFdLmdldFdpZHRoKDApO3JldHVybiBzJiZyP2ktMTppfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuZ2V0V3JhcHBlZExpbmVUcmltbWVkTGVuZ3RoPXQucmVmbG93U21hbGxlckdldE5ld0xpbmVMZW5ndGhzPXQucmVmbG93TGFyZ2VyQXBwbHlOZXdMYXlvdXQ9dC5yZWZsb3dMYXJnZXJDcmVhdGVOZXdMYXlvdXQ9dC5yZWZsb3dMYXJnZXJHZXRMaW5lc1RvUmVtb3ZlPXZvaWQgMCx0LnJlZmxvd0xhcmdlckdldExpbmVzVG9SZW1vdmU9ZnVuY3Rpb24oZSx0LHMscixuKXtjb25zdCBvPVtdO2ZvcihsZXQgYT0wO2E8ZS5sZW5ndGgtMTthKyspe2xldCBoPWEsYz1lLmdldCgrK2gpO2lmKCFjLmlzV3JhcHBlZCljb250aW51ZTtjb25zdCBsPVtlLmdldChhKV07Zm9yKDtoPGUubGVuZ3RoJiZjLmlzV3JhcHBlZDspbC5wdXNoKGMpLGM9ZS5nZXQoKytoKTtpZihyPj1hJiZyPGgpe2ErPWwubGVuZ3RoLTE7Y29udGludWV9bGV0IGQ9MCxfPWkobCxkLHQpLHU9MSxmPTA7Zm9yKDt1PGwubGVuZ3RoOyl7Y29uc3QgZT1pKGwsdSx0KSxyPWUtZixvPXMtXyxhPU1hdGgubWluKHIsbyk7bFtkXS5jb3B5Q2VsbHNGcm9tKGxbdV0sZixfLGEsITEpLF8rPWEsXz09PXMmJihkKyssXz0wKSxmKz1hLGY9PT1lJiYodSsrLGY9MCksMD09PV8mJjAhPT1kJiYyPT09bFtkLTFdLmdldFdpZHRoKHMtMSkmJihsW2RdLmNvcHlDZWxsc0Zyb20obFtkLTFdLHMtMSxfKyssMSwhMSksbFtkLTFdLnNldENlbGwocy0xLG4pKX1sW2RdLnJlcGxhY2VDZWxscyhfLHMsbik7bGV0IHY9MDtmb3IobGV0IGU9bC5sZW5ndGgtMTtlPjAmJihlPmR8fDA9PT1sW2VdLmdldFRyaW1tZWRMZW5ndGgoKSk7ZS0tKXYrKzt2PjAmJihvLnB1c2goYStsLmxlbmd0aC12KSxvLnB1c2godikpLGErPWwubGVuZ3RoLTF9cmV0dXJuIG99LHQucmVmbG93TGFyZ2VyQ3JlYXRlTmV3TGF5b3V0PWZ1bmN0aW9uKGUsdCl7Y29uc3QgaT1bXTtsZXQgcz0wLHI9dFtzXSxuPTA7Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDtvKyspaWYocj09PW8pe2NvbnN0IGk9dFsrK3NdO2Uub25EZWxldGVFbWl0dGVyLmZpcmUoe2luZGV4Om8tbixhbW91bnQ6aX0pLG8rPWktMSxuKz1pLHI9dFsrK3NdfWVsc2UgaS5wdXNoKG8pO3JldHVybntsYXlvdXQ6aSxjb3VudFJlbW92ZWQ6bn19LHQucmVmbG93TGFyZ2VyQXBwbHlOZXdMYXlvdXQ9ZnVuY3Rpb24oZSx0KXtjb25zdCBpPVtdO2ZvcihsZXQgcz0wO3M8dC5sZW5ndGg7cysrKWkucHVzaChlLmdldCh0W3NdKSk7Zm9yKGxldCB0PTA7dDxpLmxlbmd0aDt0KyspZS5zZXQodCxpW3RdKTtlLmxlbmd0aD10Lmxlbmd0aH0sdC5yZWZsb3dTbWFsbGVyR2V0TmV3TGluZUxlbmd0aHM9ZnVuY3Rpb24oZSx0LHMpe2NvbnN0IHI9W10sbj1lLm1hcCgoKHMscik9PmkoZSxyLHQpKSkucmVkdWNlKCgoZSx0KT0+ZSt0KSk7bGV0IG89MCxhPTAsaD0wO2Zvcig7aDxuOyl7aWYobi1oPHMpe3IucHVzaChuLWgpO2JyZWFrfW8rPXM7Y29uc3QgYz1pKGUsYSx0KTtvPmMmJihvLT1jLGErKyk7Y29uc3QgbD0yPT09ZVthXS5nZXRXaWR0aChvLTEpO2wmJm8tLTtjb25zdCBkPWw/cy0xOnM7ci5wdXNoKGQpLGgrPWR9cmV0dXJuIHJ9LHQuZ2V0V3JhcHBlZExpbmVUcmltbWVkTGVuZ3RoPWl9LDUyOTU6KGUsdCxpKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuQnVmZmVyU2V0PXZvaWQgMDtjb25zdCBzPWkoODQ2MCkscj1pKDg0NCksbj1pKDkwOTIpO2NsYXNzIG8gZXh0ZW5kcyByLkRpc3Bvc2FibGV7Y29uc3RydWN0b3IoZSx0KXtzdXBlcigpLHRoaXMuX29wdGlvbnNTZXJ2aWNlPWUsdGhpcy5fYnVmZmVyU2VydmljZT10LHRoaXMuX29uQnVmZmVyQWN0aXZhdGU9dGhpcy5yZWdpc3RlcihuZXcgcy5FdmVudEVtaXR0ZXIpLHRoaXMub25CdWZmZXJBY3RpdmF0ZT10aGlzLl9vbkJ1ZmZlckFjdGl2YXRlLmV2ZW50LHRoaXMucmVzZXQoKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9uU3BlY2lmaWNPcHRpb25DaGFuZ2UoXCJzY3JvbGxiYWNrXCIsKCgpPT50aGlzLnJlc2l6ZSh0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMsdGhpcy5fYnVmZmVyU2VydmljZS5yb3dzKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9uU3BlY2lmaWNPcHRpb25DaGFuZ2UoXCJ0YWJTdG9wV2lkdGhcIiwoKCk9PnRoaXMuc2V0dXBUYWJTdG9wcygpKSkpfXJlc2V0KCl7dGhpcy5fbm9ybWFsPW5ldyBuLkJ1ZmZlcighMCx0aGlzLl9vcHRpb25zU2VydmljZSx0aGlzLl9idWZmZXJTZXJ2aWNlKSx0aGlzLl9ub3JtYWwuZmlsbFZpZXdwb3J0Um93cygpLHRoaXMuX2FsdD1uZXcgbi5CdWZmZXIoITEsdGhpcy5fb3B0aW9uc1NlcnZpY2UsdGhpcy5fYnVmZmVyU2VydmljZSksdGhpcy5fYWN0aXZlQnVmZmVyPXRoaXMuX25vcm1hbCx0aGlzLl9vbkJ1ZmZlckFjdGl2YXRlLmZpcmUoe2FjdGl2ZUJ1ZmZlcjp0aGlzLl9ub3JtYWwsaW5hY3RpdmVCdWZmZXI6dGhpcy5fYWx0fSksdGhpcy5zZXR1cFRhYlN0b3BzKCl9Z2V0IGFsdCgpe3JldHVybiB0aGlzLl9hbHR9Z2V0IGFjdGl2ZSgpe3JldHVybiB0aGlzLl9hY3RpdmVCdWZmZXJ9Z2V0IG5vcm1hbCgpe3JldHVybiB0aGlzLl9ub3JtYWx9YWN0aXZhdGVOb3JtYWxCdWZmZXIoKXt0aGlzLl9hY3RpdmVCdWZmZXIhPT10aGlzLl9ub3JtYWwmJih0aGlzLl9ub3JtYWwueD10aGlzLl9hbHQueCx0aGlzLl9ub3JtYWwueT10aGlzLl9hbHQueSx0aGlzLl9hbHQuY2xlYXJBbGxNYXJrZXJzKCksdGhpcy5fYWx0LmNsZWFyKCksdGhpcy5fYWN0aXZlQnVmZmVyPXRoaXMuX25vcm1hbCx0aGlzLl9vbkJ1ZmZlckFjdGl2YXRlLmZpcmUoe2FjdGl2ZUJ1ZmZlcjp0aGlzLl9ub3JtYWwsaW5hY3RpdmVCdWZmZXI6dGhpcy5fYWx0fSkpfWFjdGl2YXRlQWx0QnVmZmVyKGUpe3RoaXMuX2FjdGl2ZUJ1ZmZlciE9PXRoaXMuX2FsdCYmKHRoaXMuX2FsdC5maWxsVmlld3BvcnRSb3dzKGUpLHRoaXMuX2FsdC54PXRoaXMuX25vcm1hbC54LHRoaXMuX2FsdC55PXRoaXMuX25vcm1hbC55LHRoaXMuX2FjdGl2ZUJ1ZmZlcj10aGlzLl9hbHQsdGhpcy5fb25CdWZmZXJBY3RpdmF0ZS5maXJlKHthY3RpdmVCdWZmZXI6dGhpcy5fYWx0LGluYWN0aXZlQnVmZmVyOnRoaXMuX25vcm1hbH0pKX1yZXNpemUoZSx0KXt0aGlzLl9ub3JtYWwucmVzaXplKGUsdCksdGhpcy5fYWx0LnJlc2l6ZShlLHQpLHRoaXMuc2V0dXBUYWJTdG9wcyhlKX1zZXR1cFRhYlN0b3BzKGUpe3RoaXMuX25vcm1hbC5zZXR1cFRhYlN0b3BzKGUpLHRoaXMuX2FsdC5zZXR1cFRhYlN0b3BzKGUpfX10LkJ1ZmZlclNldD1vfSw1MTE6KGUsdCxpKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuQ2VsbERhdGE9dm9pZCAwO2NvbnN0IHM9aSg0ODIpLHI9aSg2NDMpLG49aSgzNzM0KTtjbGFzcyBvIGV4dGVuZHMgbi5BdHRyaWJ1dGVEYXRhe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmNvbnRlbnQ9MCx0aGlzLmZnPTAsdGhpcy5iZz0wLHRoaXMuZXh0ZW5kZWQ9bmV3IG4uRXh0ZW5kZWRBdHRycyx0aGlzLmNvbWJpbmVkRGF0YT1cIlwifXN0YXRpYyBmcm9tQ2hhckRhdGEoZSl7Y29uc3QgdD1uZXcgbztyZXR1cm4gdC5zZXRGcm9tQ2hhckRhdGEoZSksdH1pc0NvbWJpbmVkKCl7cmV0dXJuIDIwOTcxNTImdGhpcy5jb250ZW50fWdldFdpZHRoKCl7cmV0dXJuIHRoaXMuY29udGVudD4+MjJ9Z2V0Q2hhcnMoKXtyZXR1cm4gMjA5NzE1MiZ0aGlzLmNvbnRlbnQ/dGhpcy5jb21iaW5lZERhdGE6MjA5NzE1MSZ0aGlzLmNvbnRlbnQ/KDAscy5zdHJpbmdGcm9tQ29kZVBvaW50KSgyMDk3MTUxJnRoaXMuY29udGVudCk6XCJcIn1nZXRDb2RlKCl7cmV0dXJuIHRoaXMuaXNDb21iaW5lZCgpP3RoaXMuY29tYmluZWREYXRhLmNoYXJDb2RlQXQodGhpcy5jb21iaW5lZERhdGEubGVuZ3RoLTEpOjIwOTcxNTEmdGhpcy5jb250ZW50fXNldEZyb21DaGFyRGF0YShlKXt0aGlzLmZnPWVbci5DSEFSX0RBVEFfQVRUUl9JTkRFWF0sdGhpcy5iZz0wO2xldCB0PSExO2lmKGVbci5DSEFSX0RBVEFfQ0hBUl9JTkRFWF0ubGVuZ3RoPjIpdD0hMDtlbHNlIGlmKDI9PT1lW3IuQ0hBUl9EQVRBX0NIQVJfSU5ERVhdLmxlbmd0aCl7Y29uc3QgaT1lW3IuQ0hBUl9EQVRBX0NIQVJfSU5ERVhdLmNoYXJDb2RlQXQoMCk7aWYoNTUyOTY8PWkmJmk8PTU2MzE5KXtjb25zdCBzPWVbci5DSEFSX0RBVEFfQ0hBUl9JTkRFWF0uY2hhckNvZGVBdCgxKTs1NjMyMDw9cyYmczw9NTczNDM/dGhpcy5jb250ZW50PTEwMjQqKGktNTUyOTYpK3MtNTYzMjArNjU1MzZ8ZVtyLkNIQVJfREFUQV9XSURUSF9JTkRFWF08PDIyOnQ9ITB9ZWxzZSB0PSEwfWVsc2UgdGhpcy5jb250ZW50PWVbci5DSEFSX0RBVEFfQ0hBUl9JTkRFWF0uY2hhckNvZGVBdCgwKXxlW3IuQ0hBUl9EQVRBX1dJRFRIX0lOREVYXTw8MjI7dCYmKHRoaXMuY29tYmluZWREYXRhPWVbci5DSEFSX0RBVEFfQ0hBUl9JTkRFWF0sdGhpcy5jb250ZW50PTIwOTcxNTJ8ZVtyLkNIQVJfREFUQV9XSURUSF9JTkRFWF08PDIyKX1nZXRBc0NoYXJEYXRhKCl7cmV0dXJuW3RoaXMuZmcsdGhpcy5nZXRDaGFycygpLHRoaXMuZ2V0V2lkdGgoKSx0aGlzLmdldENvZGUoKV19fXQuQ2VsbERhdGE9b30sNjQzOihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5XSElURVNQQUNFX0NFTExfQ09ERT10LldISVRFU1BBQ0VfQ0VMTF9XSURUSD10LldISVRFU1BBQ0VfQ0VMTF9DSEFSPXQuTlVMTF9DRUxMX0NPREU9dC5OVUxMX0NFTExfV0lEVEg9dC5OVUxMX0NFTExfQ0hBUj10LkNIQVJfREFUQV9DT0RFX0lOREVYPXQuQ0hBUl9EQVRBX1dJRFRIX0lOREVYPXQuQ0hBUl9EQVRBX0NIQVJfSU5ERVg9dC5DSEFSX0RBVEFfQVRUUl9JTkRFWD10LkRFRkFVTFRfRVhUPXQuREVGQVVMVF9BVFRSPXQuREVGQVVMVF9DT0xPUj12b2lkIDAsdC5ERUZBVUxUX0NPTE9SPTAsdC5ERUZBVUxUX0FUVFI9MjU2fHQuREVGQVVMVF9DT0xPUjw8OSx0LkRFRkFVTFRfRVhUPTAsdC5DSEFSX0RBVEFfQVRUUl9JTkRFWD0wLHQuQ0hBUl9EQVRBX0NIQVJfSU5ERVg9MSx0LkNIQVJfREFUQV9XSURUSF9JTkRFWD0yLHQuQ0hBUl9EQVRBX0NPREVfSU5ERVg9Myx0Lk5VTExfQ0VMTF9DSEFSPVwiXCIsdC5OVUxMX0NFTExfV0lEVEg9MSx0Lk5VTExfQ0VMTF9DT0RFPTAsdC5XSElURVNQQUNFX0NFTExfQ0hBUj1cIiBcIix0LldISVRFU1BBQ0VfQ0VMTF9XSURUSD0xLHQuV0hJVEVTUEFDRV9DRUxMX0NPREU9MzJ9LDQ4NjM6KGUsdCxpKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuTWFya2VyPXZvaWQgMDtjb25zdCBzPWkoODQ2MCkscj1pKDg0NCk7Y2xhc3MgbntnZXQgaWQoKXtyZXR1cm4gdGhpcy5faWR9Y29uc3RydWN0b3IoZSl7dGhpcy5saW5lPWUsdGhpcy5pc0Rpc3Bvc2VkPSExLHRoaXMuX2Rpc3Bvc2FibGVzPVtdLHRoaXMuX2lkPW4uX25leHRJZCsrLHRoaXMuX29uRGlzcG9zZT10aGlzLnJlZ2lzdGVyKG5ldyBzLkV2ZW50RW1pdHRlciksdGhpcy5vbkRpc3Bvc2U9dGhpcy5fb25EaXNwb3NlLmV2ZW50fWRpc3Bvc2UoKXt0aGlzLmlzRGlzcG9zZWR8fCh0aGlzLmlzRGlzcG9zZWQ9ITAsdGhpcy5saW5lPS0xLHRoaXMuX29uRGlzcG9zZS5maXJlKCksKDAsci5kaXNwb3NlQXJyYXkpKHRoaXMuX2Rpc3Bvc2FibGVzKSx0aGlzLl9kaXNwb3NhYmxlcy5sZW5ndGg9MCl9cmVnaXN0ZXIoZSl7cmV0dXJuIHRoaXMuX2Rpc3Bvc2FibGVzLnB1c2goZSksZX19dC5NYXJrZXI9bixuLl9uZXh0SWQ9MX0sNzExNjooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuREVGQVVMVF9DSEFSU0VUPXQuQ0hBUlNFVFM9dm9pZCAwLHQuQ0hBUlNFVFM9e30sdC5ERUZBVUxUX0NIQVJTRVQ9dC5DSEFSU0VUUy5CLHQuQ0hBUlNFVFNbMF09e1wiYFwiOlwi4peGXCIsYTpcIuKWklwiLGI6XCLikIlcIixjOlwi4pCMXCIsZDpcIuKQjVwiLGU6XCLikIpcIixmOlwiwrBcIixnOlwiwrFcIixoOlwi4pCkXCIsaTpcIuKQi1wiLGo6XCLilJhcIixrOlwi4pSQXCIsbDpcIuKUjFwiLG06XCLilJRcIixuOlwi4pS8XCIsbzpcIuKOulwiLHA6XCLijrtcIixxOlwi4pSAXCIscjpcIuKOvFwiLHM6XCLijr1cIix0Olwi4pScXCIsdTpcIuKUpFwiLHY6XCLilLRcIix3Olwi4pSsXCIseDpcIuKUglwiLHk6XCLiiaRcIix6Olwi4omlXCIsXCJ7XCI6XCLPgFwiLFwifFwiOlwi4omgXCIsXCJ9XCI6XCLCo1wiLFwiflwiOlwiwrdcIn0sdC5DSEFSU0VUUy5BPXtcIiNcIjpcIsKjXCJ9LHQuQ0hBUlNFVFMuQj12b2lkIDAsdC5DSEFSU0VUU1s0XT17XCIjXCI6XCLCo1wiLFwiQFwiOlwiwr5cIixcIltcIjpcImlqXCIsXCJcXFxcXCI6XCLCvVwiLFwiXVwiOlwifFwiLFwie1wiOlwiwqhcIixcInxcIjpcImZcIixcIn1cIjpcIsK8XCIsXCJ+XCI6XCLCtFwifSx0LkNIQVJTRVRTLkM9dC5DSEFSU0VUU1s1XT17XCJbXCI6XCLDhFwiLFwiXFxcXFwiOlwiw5ZcIixcIl1cIjpcIsOFXCIsXCJeXCI6XCLDnFwiLFwiYFwiOlwiw6lcIixcIntcIjpcIsOkXCIsXCJ8XCI6XCLDtlwiLFwifVwiOlwiw6VcIixcIn5cIjpcIsO8XCJ9LHQuQ0hBUlNFVFMuUj17XCIjXCI6XCLCo1wiLFwiQFwiOlwiw6BcIixcIltcIjpcIsKwXCIsXCJcXFxcXCI6XCLDp1wiLFwiXVwiOlwiwqdcIixcIntcIjpcIsOpXCIsXCJ8XCI6XCLDuVwiLFwifVwiOlwiw6hcIixcIn5cIjpcIsKoXCJ9LHQuQ0hBUlNFVFMuUT17XCJAXCI6XCLDoFwiLFwiW1wiOlwiw6JcIixcIlxcXFxcIjpcIsOnXCIsXCJdXCI6XCLDqlwiLFwiXlwiOlwiw65cIixcImBcIjpcIsO0XCIsXCJ7XCI6XCLDqVwiLFwifFwiOlwiw7lcIixcIn1cIjpcIsOoXCIsXCJ+XCI6XCLDu1wifSx0LkNIQVJTRVRTLks9e1wiQFwiOlwiwqdcIixcIltcIjpcIsOEXCIsXCJcXFxcXCI6XCLDllwiLFwiXVwiOlwiw5xcIixcIntcIjpcIsOkXCIsXCJ8XCI6XCLDtlwiLFwifVwiOlwiw7xcIixcIn5cIjpcIsOfXCJ9LHQuQ0hBUlNFVFMuWT17XCIjXCI6XCLCo1wiLFwiQFwiOlwiwqdcIixcIltcIjpcIsKwXCIsXCJcXFxcXCI6XCLDp1wiLFwiXVwiOlwiw6lcIixcImBcIjpcIsO5XCIsXCJ7XCI6XCLDoFwiLFwifFwiOlwiw7JcIixcIn1cIjpcIsOoXCIsXCJ+XCI6XCLDrFwifSx0LkNIQVJTRVRTLkU9dC5DSEFSU0VUU1s2XT17XCJAXCI6XCLDhFwiLFwiW1wiOlwiw4ZcIixcIlxcXFxcIjpcIsOYXCIsXCJdXCI6XCLDhVwiLFwiXlwiOlwiw5xcIixcImBcIjpcIsOkXCIsXCJ7XCI6XCLDplwiLFwifFwiOlwiw7hcIixcIn1cIjpcIsOlXCIsXCJ+XCI6XCLDvFwifSx0LkNIQVJTRVRTLlo9e1wiI1wiOlwiwqNcIixcIkBcIjpcIsKnXCIsXCJbXCI6XCLCoVwiLFwiXFxcXFwiOlwiw5FcIixcIl1cIjpcIsK/XCIsXCJ7XCI6XCLCsFwiLFwifFwiOlwiw7FcIixcIn1cIjpcIsOnXCJ9LHQuQ0hBUlNFVFMuSD10LkNIQVJTRVRTWzddPXtcIkBcIjpcIsOJXCIsXCJbXCI6XCLDhFwiLFwiXFxcXFwiOlwiw5ZcIixcIl1cIjpcIsOFXCIsXCJeXCI6XCLDnFwiLFwiYFwiOlwiw6lcIixcIntcIjpcIsOkXCIsXCJ8XCI6XCLDtlwiLFwifVwiOlwiw6VcIixcIn5cIjpcIsO8XCJ9LHQuQ0hBUlNFVFNbXCI9XCJdPXtcIiNcIjpcIsO5XCIsXCJAXCI6XCLDoFwiLFwiW1wiOlwiw6lcIixcIlxcXFxcIjpcIsOnXCIsXCJdXCI6XCLDqlwiLFwiXlwiOlwiw65cIixfOlwiw6hcIixcImBcIjpcIsO0XCIsXCJ7XCI6XCLDpFwiLFwifFwiOlwiw7ZcIixcIn1cIjpcIsO8XCIsXCJ+XCI6XCLDu1wifX0sMjU4NDooZSx0KT0+e3ZhciBpLHMscjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkMxX0VTQ0FQRUQ9dC5DMT10LkMwPXZvaWQgMCxmdW5jdGlvbihlKXtlLk5VTD1cIlxcMFwiLGUuU09IPVwiXHUwMDAxXCIsZS5TVFg9XCJcdTAwMDJcIixlLkVUWD1cIlx1MDAwM1wiLGUuRU9UPVwiXHUwMDA0XCIsZS5FTlE9XCJcdTAwMDVcIixlLkFDSz1cIlx1MDAwNlwiLGUuQkVMPVwiXHUwMDA3XCIsZS5CUz1cIlxcYlwiLGUuSFQ9XCJcXHRcIixlLkxGPVwiXFxuXCIsZS5WVD1cIlxcdlwiLGUuRkY9XCJcXGZcIixlLkNSPVwiXFxyXCIsZS5TTz1cIlx1MDAwZVwiLGUuU0k9XCJcdTAwMGZcIixlLkRMRT1cIlx1MDAxMFwiLGUuREMxPVwiXHUwMDExXCIsZS5EQzI9XCJcdTAwMTJcIixlLkRDMz1cIlx1MDAxM1wiLGUuREM0PVwiXHUwMDE0XCIsZS5OQUs9XCJcdTAwMTVcIixlLlNZTj1cIlx1MDAxNlwiLGUuRVRCPVwiXHUwMDE3XCIsZS5DQU49XCJcdTAwMThcIixlLkVNPVwiXHUwMDE5XCIsZS5TVUI9XCJcdTAwMWFcIixlLkVTQz1cIlx1MDAxYlwiLGUuRlM9XCJcdTAwMWNcIixlLkdTPVwiXHUwMDFkXCIsZS5SUz1cIlx1MDAxZVwiLGUuVVM9XCJcdTAwMWZcIixlLlNQPVwiIFwiLGUuREVMPVwif1wifShpfHwodC5DMD1pPXt9KSksZnVuY3Rpb24oZSl7ZS5QQUQ9XCLCgFwiLGUuSE9QPVwiwoFcIixlLkJQSD1cIsKCXCIsZS5OQkg9XCLCg1wiLGUuSU5EPVwiwoRcIixlLk5FTD1cIsKFXCIsZS5TU0E9XCLChlwiLGUuRVNBPVwiwodcIixlLkhUUz1cIsKIXCIsZS5IVEo9XCLCiVwiLGUuVlRTPVwiwopcIixlLlBMRD1cIsKLXCIsZS5QTFU9XCLCjFwiLGUuUkk9XCLCjVwiLGUuU1MyPVwiwo5cIixlLlNTMz1cIsKPXCIsZS5EQ1M9XCLCkFwiLGUuUFUxPVwiwpFcIixlLlBVMj1cIsKSXCIsZS5TVFM9XCLCk1wiLGUuQ0NIPVwiwpRcIixlLk1XPVwiwpVcIixlLlNQQT1cIsKWXCIsZS5FUEE9XCLCl1wiLGUuU09TPVwiwphcIixlLlNHQ0k9XCLCmVwiLGUuU0NJPVwiwppcIixlLkNTST1cIsKbXCIsZS5TVD1cIsKcXCIsZS5PU0M9XCLCnVwiLGUuUE09XCLCnlwiLGUuQVBDPVwiwp9cIn0oc3x8KHQuQzE9cz17fSkpLGZ1bmN0aW9uKGUpe2UuU1Q9YCR7aS5FU0N9XFxcXGB9KHJ8fCh0LkMxX0VTQ0FQRUQ9cj17fSkpfSw3Mzk5OihlLHQsaSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LmV2YWx1YXRlS2V5Ym9hcmRFdmVudD12b2lkIDA7Y29uc3Qgcz1pKDI1ODQpLHI9ezQ4OltcIjBcIixcIilcIl0sNDk6W1wiMVwiLFwiIVwiXSw1MDpbXCIyXCIsXCJAXCJdLDUxOltcIjNcIixcIiNcIl0sNTI6W1wiNFwiLFwiJFwiXSw1MzpbXCI1XCIsXCIlXCJdLDU0OltcIjZcIixcIl5cIl0sNTU6W1wiN1wiLFwiJlwiXSw1NjpbXCI4XCIsXCIqXCJdLDU3OltcIjlcIixcIihcIl0sMTg2OltcIjtcIixcIjpcIl0sMTg3OltcIj1cIixcIitcIl0sMTg4OltcIixcIixcIjxcIl0sMTg5OltcIi1cIixcIl9cIl0sMTkwOltcIi5cIixcIj5cIl0sMTkxOltcIi9cIixcIj9cIl0sMTkyOltcImBcIixcIn5cIl0sMjE5OltcIltcIixcIntcIl0sMjIwOltcIlxcXFxcIixcInxcIl0sMjIxOltcIl1cIixcIn1cIl0sMjIyOltcIidcIiwnXCInXX07dC5ldmFsdWF0ZUtleWJvYXJkRXZlbnQ9ZnVuY3Rpb24oZSx0LGksbil7Y29uc3Qgbz17dHlwZTowLGNhbmNlbDohMSxrZXk6dm9pZCAwfSxhPShlLnNoaWZ0S2V5PzE6MCl8KGUuYWx0S2V5PzI6MCl8KGUuY3RybEtleT80OjApfChlLm1ldGFLZXk/ODowKTtzd2l0Y2goZS5rZXlDb2RlKXtjYXNlIDA6XCJVSUtleUlucHV0VXBBcnJvd1wiPT09ZS5rZXk/by5rZXk9dD9zLkMwLkVTQytcIk9BXCI6cy5DMC5FU0MrXCJbQVwiOlwiVUlLZXlJbnB1dExlZnRBcnJvd1wiPT09ZS5rZXk/by5rZXk9dD9zLkMwLkVTQytcIk9EXCI6cy5DMC5FU0MrXCJbRFwiOlwiVUlLZXlJbnB1dFJpZ2h0QXJyb3dcIj09PWUua2V5P28ua2V5PXQ/cy5DMC5FU0MrXCJPQ1wiOnMuQzAuRVNDK1wiW0NcIjpcIlVJS2V5SW5wdXREb3duQXJyb3dcIj09PWUua2V5JiYoby5rZXk9dD9zLkMwLkVTQytcIk9CXCI6cy5DMC5FU0MrXCJbQlwiKTticmVhaztjYXNlIDg6by5rZXk9ZS5jdHJsS2V5P1wiXFxiXCI6cy5DMC5ERUwsZS5hbHRLZXkmJihvLmtleT1zLkMwLkVTQytvLmtleSk7YnJlYWs7Y2FzZSA5OmlmKGUuc2hpZnRLZXkpe28ua2V5PXMuQzAuRVNDK1wiW1pcIjticmVha31vLmtleT1zLkMwLkhULG8uY2FuY2VsPSEwO2JyZWFrO2Nhc2UgMTM6by5rZXk9ZS5hbHRLZXk/cy5DMC5FU0Mrcy5DMC5DUjpzLkMwLkNSLG8uY2FuY2VsPSEwO2JyZWFrO2Nhc2UgMjc6by5rZXk9cy5DMC5FU0MsZS5hbHRLZXkmJihvLmtleT1zLkMwLkVTQytzLkMwLkVTQyksby5jYW5jZWw9ITA7YnJlYWs7Y2FzZSAzNzppZihlLm1ldGFLZXkpYnJlYWs7YT8oby5rZXk9cy5DMC5FU0MrXCJbMTtcIisoYSsxKStcIkRcIixvLmtleT09PXMuQzAuRVNDK1wiWzE7M0RcIiYmKG8ua2V5PXMuQzAuRVNDKyhpP1wiYlwiOlwiWzE7NURcIikpKTpvLmtleT10P3MuQzAuRVNDK1wiT0RcIjpzLkMwLkVTQytcIltEXCI7YnJlYWs7Y2FzZSAzOTppZihlLm1ldGFLZXkpYnJlYWs7YT8oby5rZXk9cy5DMC5FU0MrXCJbMTtcIisoYSsxKStcIkNcIixvLmtleT09PXMuQzAuRVNDK1wiWzE7M0NcIiYmKG8ua2V5PXMuQzAuRVNDKyhpP1wiZlwiOlwiWzE7NUNcIikpKTpvLmtleT10P3MuQzAuRVNDK1wiT0NcIjpzLkMwLkVTQytcIltDXCI7YnJlYWs7Y2FzZSAzODppZihlLm1ldGFLZXkpYnJlYWs7YT8oby5rZXk9cy5DMC5FU0MrXCJbMTtcIisoYSsxKStcIkFcIixpfHxvLmtleSE9PXMuQzAuRVNDK1wiWzE7M0FcInx8KG8ua2V5PXMuQzAuRVNDK1wiWzE7NUFcIikpOm8ua2V5PXQ/cy5DMC5FU0MrXCJPQVwiOnMuQzAuRVNDK1wiW0FcIjticmVhaztjYXNlIDQwOmlmKGUubWV0YUtleSlicmVhazthPyhvLmtleT1zLkMwLkVTQytcIlsxO1wiKyhhKzEpK1wiQlwiLGl8fG8ua2V5IT09cy5DMC5FU0MrXCJbMTszQlwifHwoby5rZXk9cy5DMC5FU0MrXCJbMTs1QlwiKSk6by5rZXk9dD9zLkMwLkVTQytcIk9CXCI6cy5DMC5FU0MrXCJbQlwiO2JyZWFrO2Nhc2UgNDU6ZS5zaGlmdEtleXx8ZS5jdHJsS2V5fHwoby5rZXk9cy5DMC5FU0MrXCJbMn5cIik7YnJlYWs7Y2FzZSA0NjpvLmtleT1hP3MuQzAuRVNDK1wiWzM7XCIrKGErMSkrXCJ+XCI6cy5DMC5FU0MrXCJbM35cIjticmVhaztjYXNlIDM2Om8ua2V5PWE/cy5DMC5FU0MrXCJbMTtcIisoYSsxKStcIkhcIjp0P3MuQzAuRVNDK1wiT0hcIjpzLkMwLkVTQytcIltIXCI7YnJlYWs7Y2FzZSAzNTpvLmtleT1hP3MuQzAuRVNDK1wiWzE7XCIrKGErMSkrXCJGXCI6dD9zLkMwLkVTQytcIk9GXCI6cy5DMC5FU0MrXCJbRlwiO2JyZWFrO2Nhc2UgMzM6ZS5zaGlmdEtleT9vLnR5cGU9MjplLmN0cmxLZXk/by5rZXk9cy5DMC5FU0MrXCJbNTtcIisoYSsxKStcIn5cIjpvLmtleT1zLkMwLkVTQytcIls1flwiO2JyZWFrO2Nhc2UgMzQ6ZS5zaGlmdEtleT9vLnR5cGU9MzplLmN0cmxLZXk/by5rZXk9cy5DMC5FU0MrXCJbNjtcIisoYSsxKStcIn5cIjpvLmtleT1zLkMwLkVTQytcIls2flwiO2JyZWFrO2Nhc2UgMTEyOm8ua2V5PWE/cy5DMC5FU0MrXCJbMTtcIisoYSsxKStcIlBcIjpzLkMwLkVTQytcIk9QXCI7YnJlYWs7Y2FzZSAxMTM6by5rZXk9YT9zLkMwLkVTQytcIlsxO1wiKyhhKzEpK1wiUVwiOnMuQzAuRVNDK1wiT1FcIjticmVhaztjYXNlIDExNDpvLmtleT1hP3MuQzAuRVNDK1wiWzE7XCIrKGErMSkrXCJSXCI6cy5DMC5FU0MrXCJPUlwiO2JyZWFrO2Nhc2UgMTE1Om8ua2V5PWE/cy5DMC5FU0MrXCJbMTtcIisoYSsxKStcIlNcIjpzLkMwLkVTQytcIk9TXCI7YnJlYWs7Y2FzZSAxMTY6by5rZXk9YT9zLkMwLkVTQytcIlsxNTtcIisoYSsxKStcIn5cIjpzLkMwLkVTQytcIlsxNX5cIjticmVhaztjYXNlIDExNzpvLmtleT1hP3MuQzAuRVNDK1wiWzE3O1wiKyhhKzEpK1wiflwiOnMuQzAuRVNDK1wiWzE3flwiO2JyZWFrO2Nhc2UgMTE4Om8ua2V5PWE/cy5DMC5FU0MrXCJbMTg7XCIrKGErMSkrXCJ+XCI6cy5DMC5FU0MrXCJbMTh+XCI7YnJlYWs7Y2FzZSAxMTk6by5rZXk9YT9zLkMwLkVTQytcIlsxOTtcIisoYSsxKStcIn5cIjpzLkMwLkVTQytcIlsxOX5cIjticmVhaztjYXNlIDEyMDpvLmtleT1hP3MuQzAuRVNDK1wiWzIwO1wiKyhhKzEpK1wiflwiOnMuQzAuRVNDK1wiWzIwflwiO2JyZWFrO2Nhc2UgMTIxOm8ua2V5PWE/cy5DMC5FU0MrXCJbMjE7XCIrKGErMSkrXCJ+XCI6cy5DMC5FU0MrXCJbMjF+XCI7YnJlYWs7Y2FzZSAxMjI6by5rZXk9YT9zLkMwLkVTQytcIlsyMztcIisoYSsxKStcIn5cIjpzLkMwLkVTQytcIlsyM35cIjticmVhaztjYXNlIDEyMzpvLmtleT1hP3MuQzAuRVNDK1wiWzI0O1wiKyhhKzEpK1wiflwiOnMuQzAuRVNDK1wiWzI0flwiO2JyZWFrO2RlZmF1bHQ6aWYoIWUuY3RybEtleXx8ZS5zaGlmdEtleXx8ZS5hbHRLZXl8fGUubWV0YUtleSlpZihpJiYhbnx8IWUuYWx0S2V5fHxlLm1ldGFLZXkpIWl8fGUuYWx0S2V5fHxlLmN0cmxLZXl8fGUuc2hpZnRLZXl8fCFlLm1ldGFLZXk/ZS5rZXkmJiFlLmN0cmxLZXkmJiFlLmFsdEtleSYmIWUubWV0YUtleSYmZS5rZXlDb2RlPj00OCYmMT09PWUua2V5Lmxlbmd0aD9vLmtleT1lLmtleTplLmtleSYmZS5jdHJsS2V5JiYoXCJfXCI9PT1lLmtleSYmKG8ua2V5PXMuQzAuVVMpLFwiQFwiPT09ZS5rZXkmJihvLmtleT1zLkMwLk5VTCkpOjY1PT09ZS5rZXlDb2RlJiYoby50eXBlPTEpO2Vsc2V7Y29uc3QgdD1yW2Uua2V5Q29kZV0saT10Py5bZS5zaGlmdEtleT8xOjBdO2lmKGkpby5rZXk9cy5DMC5FU0MraTtlbHNlIGlmKGUua2V5Q29kZT49NjUmJmUua2V5Q29kZTw9OTApe2NvbnN0IHQ9ZS5jdHJsS2V5P2Uua2V5Q29kZS02NDplLmtleUNvZGUrMzI7bGV0IGk9U3RyaW5nLmZyb21DaGFyQ29kZSh0KTtlLnNoaWZ0S2V5JiYoaT1pLnRvVXBwZXJDYXNlKCkpLG8ua2V5PXMuQzAuRVNDK2l9ZWxzZSBpZigzMj09PWUua2V5Q29kZSlvLmtleT1zLkMwLkVTQysoZS5jdHJsS2V5P3MuQzAuTlVMOlwiIFwiKTtlbHNlIGlmKFwiRGVhZFwiPT09ZS5rZXkmJmUuY29kZS5zdGFydHNXaXRoKFwiS2V5XCIpKXtsZXQgdD1lLmNvZGUuc2xpY2UoMyw0KTtlLnNoaWZ0S2V5fHwodD10LnRvTG93ZXJDYXNlKCkpLG8ua2V5PXMuQzAuRVNDK3Qsby5jYW5jZWw9ITB9fWVsc2UgZS5rZXlDb2RlPj02NSYmZS5rZXlDb2RlPD05MD9vLmtleT1TdHJpbmcuZnJvbUNoYXJDb2RlKGUua2V5Q29kZS02NCk6MzI9PT1lLmtleUNvZGU/by5rZXk9cy5DMC5OVUw6ZS5rZXlDb2RlPj01MSYmZS5rZXlDb2RlPD01NT9vLmtleT1TdHJpbmcuZnJvbUNoYXJDb2RlKGUua2V5Q29kZS01MSsyNyk6NTY9PT1lLmtleUNvZGU/by5rZXk9cy5DMC5ERUw6MjE5PT09ZS5rZXlDb2RlP28ua2V5PXMuQzAuRVNDOjIyMD09PWUua2V5Q29kZT9vLmtleT1zLkMwLkZTOjIyMT09PWUua2V5Q29kZSYmKG8ua2V5PXMuQzAuR1MpfXJldHVybiBvfX0sNDgyOihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5VdGY4VG9VdGYzMj10LlN0cmluZ1RvVXRmMzI9dC51dGYzMlRvU3RyaW5nPXQuc3RyaW5nRnJvbUNvZGVQb2ludD12b2lkIDAsdC5zdHJpbmdGcm9tQ29kZVBvaW50PWZ1bmN0aW9uKGUpe3JldHVybiBlPjY1NTM1PyhlLT02NTUzNixTdHJpbmcuZnJvbUNoYXJDb2RlKDU1Mjk2KyhlPj4xMCkpK1N0cmluZy5mcm9tQ2hhckNvZGUoZSUxMDI0KzU2MzIwKSk6U3RyaW5nLmZyb21DaGFyQ29kZShlKX0sdC51dGYzMlRvU3RyaW5nPWZ1bmN0aW9uKGUsdD0wLGk9ZS5sZW5ndGgpe2xldCBzPVwiXCI7Zm9yKGxldCByPXQ7cjxpOysrcil7bGV0IHQ9ZVtyXTt0PjY1NTM1Pyh0LT02NTUzNixzKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDU1Mjk2Kyh0Pj4xMCkpK1N0cmluZy5mcm9tQ2hhckNvZGUodCUxMDI0KzU2MzIwKSk6cys9U3RyaW5nLmZyb21DaGFyQ29kZSh0KX1yZXR1cm4gc30sdC5TdHJpbmdUb1V0ZjMyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5faW50ZXJpbT0wfWNsZWFyKCl7dGhpcy5faW50ZXJpbT0wfWRlY29kZShlLHQpe2NvbnN0IGk9ZS5sZW5ndGg7aWYoIWkpcmV0dXJuIDA7bGV0IHM9MCxyPTA7aWYodGhpcy5faW50ZXJpbSl7Y29uc3QgaT1lLmNoYXJDb2RlQXQocisrKTs1NjMyMDw9aSYmaTw9NTczNDM/dFtzKytdPTEwMjQqKHRoaXMuX2ludGVyaW0tNTUyOTYpK2ktNTYzMjArNjU1MzY6KHRbcysrXT10aGlzLl9pbnRlcmltLHRbcysrXT1pKSx0aGlzLl9pbnRlcmltPTB9Zm9yKGxldCBuPXI7bjxpOysrbil7Y29uc3Qgcj1lLmNoYXJDb2RlQXQobik7aWYoNTUyOTY8PXImJnI8PTU2MzE5KXtpZigrK24+PWkpcmV0dXJuIHRoaXMuX2ludGVyaW09cixzO2NvbnN0IG89ZS5jaGFyQ29kZUF0KG4pOzU2MzIwPD1vJiZvPD01NzM0Mz90W3MrK109MTAyNCooci01NTI5Nikrby01NjMyMCs2NTUzNjoodFtzKytdPXIsdFtzKytdPW8pfWVsc2UgNjUyNzkhPT1yJiYodFtzKytdPXIpfXJldHVybiBzfX0sdC5VdGY4VG9VdGYzMj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaW50ZXJpbT1uZXcgVWludDhBcnJheSgzKX1jbGVhcigpe3RoaXMuaW50ZXJpbS5maWxsKDApfWRlY29kZShlLHQpe2NvbnN0IGk9ZS5sZW5ndGg7aWYoIWkpcmV0dXJuIDA7bGV0IHMscixuLG8sYT0wLGg9MCxjPTA7aWYodGhpcy5pbnRlcmltWzBdKXtsZXQgcz0hMSxyPXRoaXMuaW50ZXJpbVswXTtyJj0xOTI9PSgyMjQmcik/MzE6MjI0PT0oMjQwJnIpPzE1Ojc7bGV0IG4sbz0wO2Zvcig7KG49NjMmdGhpcy5pbnRlcmltWysrb10pJiZvPDQ7KXI8PD02LHJ8PW47Y29uc3QgaD0xOTI9PSgyMjQmdGhpcy5pbnRlcmltWzBdKT8yOjIyND09KDI0MCZ0aGlzLmludGVyaW1bMF0pPzM6NCxsPWgtbztmb3IoO2M8bDspe2lmKGM+PWkpcmV0dXJuIDA7aWYobj1lW2MrK10sMTI4IT0oMTkyJm4pKXtjLS0scz0hMDticmVha310aGlzLmludGVyaW1bbysrXT1uLHI8PD02LHJ8PTYzJm59c3x8KDI9PT1oP3I8MTI4P2MtLTp0W2ErK109cjozPT09aD9yPDIwNDh8fHI+PTU1Mjk2JiZyPD01NzM0M3x8NjUyNzk9PT1yfHwodFthKytdPXIpOnI8NjU1MzZ8fHI+MTExNDExMXx8KHRbYSsrXT1yKSksdGhpcy5pbnRlcmltLmZpbGwoMCl9Y29uc3QgbD1pLTQ7bGV0IGQ9Yztmb3IoO2Q8aTspe2Zvcig7ISghKGQ8bCl8fDEyOCYocz1lW2RdKXx8MTI4JihyPWVbZCsxXSl8fDEyOCYobj1lW2QrMl0pfHwxMjgmKG89ZVtkKzNdKSk7KXRbYSsrXT1zLHRbYSsrXT1yLHRbYSsrXT1uLHRbYSsrXT1vLGQrPTQ7aWYocz1lW2QrK10sczwxMjgpdFthKytdPXM7ZWxzZSBpZigxOTI9PSgyMjQmcykpe2lmKGQ+PWkpcmV0dXJuIHRoaXMuaW50ZXJpbVswXT1zLGE7aWYocj1lW2QrK10sMTI4IT0oMTkyJnIpKXtkLS07Y29udGludWV9aWYoaD0oMzEmcyk8PDZ8NjMmcixoPDEyOCl7ZC0tO2NvbnRpbnVlfXRbYSsrXT1ofWVsc2UgaWYoMjI0PT0oMjQwJnMpKXtpZihkPj1pKXJldHVybiB0aGlzLmludGVyaW1bMF09cyxhO2lmKHI9ZVtkKytdLDEyOCE9KDE5MiZyKSl7ZC0tO2NvbnRpbnVlfWlmKGQ+PWkpcmV0dXJuIHRoaXMuaW50ZXJpbVswXT1zLHRoaXMuaW50ZXJpbVsxXT1yLGE7aWYobj1lW2QrK10sMTI4IT0oMTkyJm4pKXtkLS07Y29udGludWV9aWYoaD0oMTUmcyk8PDEyfCg2MyZyKTw8Nnw2MyZuLGg8MjA0OHx8aD49NTUyOTYmJmg8PTU3MzQzfHw2NTI3OT09PWgpY29udGludWU7dFthKytdPWh9ZWxzZSBpZigyNDA9PSgyNDgmcykpe2lmKGQ+PWkpcmV0dXJuIHRoaXMuaW50ZXJpbVswXT1zLGE7aWYocj1lW2QrK10sMTI4IT0oMTkyJnIpKXtkLS07Y29udGludWV9aWYoZD49aSlyZXR1cm4gdGhpcy5pbnRlcmltWzBdPXMsdGhpcy5pbnRlcmltWzFdPXIsYTtpZihuPWVbZCsrXSwxMjghPSgxOTImbikpe2QtLTtjb250aW51ZX1pZihkPj1pKXJldHVybiB0aGlzLmludGVyaW1bMF09cyx0aGlzLmludGVyaW1bMV09cix0aGlzLmludGVyaW1bMl09bixhO2lmKG89ZVtkKytdLDEyOCE9KDE5MiZvKSl7ZC0tO2NvbnRpbnVlfWlmKGg9KDcmcyk8PDE4fCg2MyZyKTw8MTJ8KDYzJm4pPDw2fDYzJm8saDw2NTUzNnx8aD4xMTE0MTExKWNvbnRpbnVlO3RbYSsrXT1ofX1yZXR1cm4gYX19fSwyMjU6KGUsdCxpKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuVW5pY29kZVY2PXZvaWQgMDtjb25zdCBzPWkoMTQ4MCkscj1bWzc2OCw4NzldLFsxMTU1LDExNThdLFsxMTYwLDExNjFdLFsxNDI1LDE0NjldLFsxNDcxLDE0NzFdLFsxNDczLDE0NzRdLFsxNDc2LDE0NzddLFsxNDc5LDE0NzldLFsxNTM2LDE1MzldLFsxNTUyLDE1NTddLFsxNjExLDE2MzBdLFsxNjQ4LDE2NDhdLFsxNzUwLDE3NjRdLFsxNzY3LDE3NjhdLFsxNzcwLDE3NzNdLFsxODA3LDE4MDddLFsxODA5LDE4MDldLFsxODQwLDE4NjZdLFsxOTU4LDE5NjhdLFsyMDI3LDIwMzVdLFsyMzA1LDIzMDZdLFsyMzY0LDIzNjRdLFsyMzY5LDIzNzZdLFsyMzgxLDIzODFdLFsyMzg1LDIzODhdLFsyNDAyLDI0MDNdLFsyNDMzLDI0MzNdLFsyNDkyLDI0OTJdLFsyNDk3LDI1MDBdLFsyNTA5LDI1MDldLFsyNTMwLDI1MzFdLFsyNTYxLDI1NjJdLFsyNjIwLDI2MjBdLFsyNjI1LDI2MjZdLFsyNjMxLDI2MzJdLFsyNjM1LDI2MzddLFsyNjcyLDI2NzNdLFsyNjg5LDI2OTBdLFsyNzQ4LDI3NDhdLFsyNzUzLDI3NTddLFsyNzU5LDI3NjBdLFsyNzY1LDI3NjVdLFsyNzg2LDI3ODddLFsyODE3LDI4MTddLFsyODc2LDI4NzZdLFsyODc5LDI4NzldLFsyODgxLDI4ODNdLFsyODkzLDI4OTNdLFsyOTAyLDI5MDJdLFsyOTQ2LDI5NDZdLFszMDA4LDMwMDhdLFszMDIxLDMwMjFdLFszMTM0LDMxMzZdLFszMTQyLDMxNDRdLFszMTQ2LDMxNDldLFszMTU3LDMxNThdLFszMjYwLDMyNjBdLFszMjYzLDMyNjNdLFszMjcwLDMyNzBdLFszMjc2LDMyNzddLFszMjk4LDMyOTldLFszMzkzLDMzOTVdLFszNDA1LDM0MDVdLFszNTMwLDM1MzBdLFszNTM4LDM1NDBdLFszNTQyLDM1NDJdLFszNjMzLDM2MzNdLFszNjM2LDM2NDJdLFszNjU1LDM2NjJdLFszNzYxLDM3NjFdLFszNzY0LDM3NjldLFszNzcxLDM3NzJdLFszNzg0LDM3ODldLFszODY0LDM4NjVdLFszODkzLDM4OTNdLFszODk1LDM4OTVdLFszODk3LDM4OTddLFszOTUzLDM5NjZdLFszOTY4LDM5NzJdLFszOTc0LDM5NzVdLFszOTg0LDM5OTFdLFszOTkzLDQwMjhdLFs0MDM4LDQwMzhdLFs0MTQxLDQxNDRdLFs0MTQ2LDQxNDZdLFs0MTUwLDQxNTFdLFs0MTUzLDQxNTNdLFs0MTg0LDQxODVdLFs0NDQ4LDQ2MDddLFs0OTU5LDQ5NTldLFs1OTA2LDU5MDhdLFs1OTM4LDU5NDBdLFs1OTcwLDU5NzFdLFs2MDAyLDYwMDNdLFs2MDY4LDYwNjldLFs2MDcxLDYwNzddLFs2MDg2LDYwODZdLFs2MDg5LDYwOTldLFs2MTA5LDYxMDldLFs2MTU1LDYxNTddLFs2MzEzLDYzMTNdLFs2NDMyLDY0MzRdLFs2NDM5LDY0NDBdLFs2NDUwLDY0NTBdLFs2NDU3LDY0NTldLFs2Njc5LDY2ODBdLFs2OTEyLDY5MTVdLFs2OTY0LDY5NjRdLFs2OTY2LDY5NzBdLFs2OTcyLDY5NzJdLFs2OTc4LDY5NzhdLFs3MDE5LDcwMjddLFs3NjE2LDc2MjZdLFs3Njc4LDc2NzldLFs4MjAzLDgyMDddLFs4MjM0LDgyMzhdLFs4Mjg4LDgyOTFdLFs4Mjk4LDgzMDNdLFs4NDAwLDg0MzFdLFsxMjMzMCwxMjMzNV0sWzEyNDQxLDEyNDQyXSxbNDMwMTQsNDMwMTRdLFs0MzAxOSw0MzAxOV0sWzQzMDQ1LDQzMDQ2XSxbNjQyODYsNjQyODZdLFs2NTAyNCw2NTAzOV0sWzY1MDU2LDY1MDU5XSxbNjUyNzksNjUyNzldLFs2NTUyOSw2NTUzMV1dLG49W1s2ODA5Nyw2ODA5OV0sWzY4MTAxLDY4MTAyXSxbNjgxMDgsNjgxMTFdLFs2ODE1Miw2ODE1NF0sWzY4MTU5LDY4MTU5XSxbMTE5MTQzLDExOTE0NV0sWzExOTE1NSwxMTkxNzBdLFsxMTkxNzMsMTE5MTc5XSxbMTE5MjEwLDExOTIxM10sWzExOTM2MiwxMTkzNjRdLFs5MTc1MDUsOTE3NTA1XSxbOTE3NTM2LDkxNzYzMV0sWzkxNzc2MCw5MTc5OTldXTtsZXQgbzt0LlVuaWNvZGVWNj1jbGFzc3tjb25zdHJ1Y3Rvcigpe2lmKHRoaXMudmVyc2lvbj1cIjZcIiwhbyl7bz1uZXcgVWludDhBcnJheSg2NTUzNiksby5maWxsKDEpLG9bMF09MCxvLmZpbGwoMCwxLDMyKSxvLmZpbGwoMCwxMjcsMTYwKSxvLmZpbGwoMiw0MzUyLDQ0NDgpLG9bOTAwMV09MixvWzkwMDJdPTIsby5maWxsKDIsMTE5MDQsNDIxOTIpLG9bMTIzNTFdPTEsby5maWxsKDIsNDQwMzIsNTUyMDQpLG8uZmlsbCgyLDYzNzQ0LDY0MjU2KSxvLmZpbGwoMiw2NTA0MCw2NTA1MCksby5maWxsKDIsNjUwNzIsNjUxMzYpLG8uZmlsbCgyLDY1MjgwLDY1Mzc3KSxvLmZpbGwoMiw2NTUwNCw2NTUxMSk7Zm9yKGxldCBlPTA7ZTxyLmxlbmd0aDsrK2Upby5maWxsKDAscltlXVswXSxyW2VdWzFdKzEpfX13Y3dpZHRoKGUpe3JldHVybiBlPDMyPzA6ZTwxMjc/MTplPDY1NTM2P29bZV06ZnVuY3Rpb24oZSx0KXtsZXQgaSxzPTAscj10Lmxlbmd0aC0xO2lmKGU8dFswXVswXXx8ZT50W3JdWzFdKXJldHVybiExO2Zvcig7cj49czspaWYoaT1zK3I+PjEsZT50W2ldWzFdKXM9aSsxO2Vsc2V7aWYoIShlPHRbaV1bMF0pKXJldHVybiEwO3I9aS0xfXJldHVybiExfShlLG4pPzA6ZT49MTMxMDcyJiZlPD0xOTY2MDV8fGU+PTE5NjYwOCYmZTw9MjYyMTQxPzI6MX1jaGFyUHJvcGVydGllcyhlLHQpe2xldCBpPXRoaXMud2N3aWR0aChlKSxyPTA9PT1pJiYwIT09dDtpZihyKXtjb25zdCBlPXMuVW5pY29kZVNlcnZpY2UuZXh0cmFjdFdpZHRoKHQpOzA9PT1lP3I9ITE6ZT5pJiYoaT1lKX1yZXR1cm4gcy5Vbmljb2RlU2VydmljZS5jcmVhdGVQcm9wZXJ0eVZhbHVlKDAsaSxyKX19fSw1OTgxOihlLHQsaSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LldyaXRlQnVmZmVyPXZvaWQgMDtjb25zdCBzPWkoODQ2MCkscj1pKDg0NCk7Y2xhc3MgbiBleHRlbmRzIHIuRGlzcG9zYWJsZXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2FjdGlvbj1lLHRoaXMuX3dyaXRlQnVmZmVyPVtdLHRoaXMuX2NhbGxiYWNrcz1bXSx0aGlzLl9wZW5kaW5nRGF0YT0wLHRoaXMuX2J1ZmZlck9mZnNldD0wLHRoaXMuX2lzU3luY1dyaXRpbmc9ITEsdGhpcy5fc3luY0NhbGxzPTAsdGhpcy5fZGlkVXNlcklucHV0PSExLHRoaXMuX29uV3JpdGVQYXJzZWQ9dGhpcy5yZWdpc3RlcihuZXcgcy5FdmVudEVtaXR0ZXIpLHRoaXMub25Xcml0ZVBhcnNlZD10aGlzLl9vbldyaXRlUGFyc2VkLmV2ZW50fWhhbmRsZVVzZXJJbnB1dCgpe3RoaXMuX2RpZFVzZXJJbnB1dD0hMH13cml0ZVN5bmMoZSx0KXtpZih2b2lkIDAhPT10JiZ0aGlzLl9zeW5jQ2FsbHM+dClyZXR1cm4gdm9pZCh0aGlzLl9zeW5jQ2FsbHM9MCk7aWYodGhpcy5fcGVuZGluZ0RhdGErPWUubGVuZ3RoLHRoaXMuX3dyaXRlQnVmZmVyLnB1c2goZSksdGhpcy5fY2FsbGJhY2tzLnB1c2godm9pZCAwKSx0aGlzLl9zeW5jQ2FsbHMrKyx0aGlzLl9pc1N5bmNXcml0aW5nKXJldHVybjtsZXQgaTtmb3IodGhpcy5faXNTeW5jV3JpdGluZz0hMDtpPXRoaXMuX3dyaXRlQnVmZmVyLnNoaWZ0KCk7KXt0aGlzLl9hY3Rpb24oaSk7Y29uc3QgZT10aGlzLl9jYWxsYmFja3Muc2hpZnQoKTtlJiZlKCl9dGhpcy5fcGVuZGluZ0RhdGE9MCx0aGlzLl9idWZmZXJPZmZzZXQ9MjE0NzQ4MzY0Nyx0aGlzLl9pc1N5bmNXcml0aW5nPSExLHRoaXMuX3N5bmNDYWxscz0wfXdyaXRlKGUsdCl7aWYodGhpcy5fcGVuZGluZ0RhdGE+NWU3KXRocm93IG5ldyBFcnJvcihcIndyaXRlIGRhdGEgZGlzY2FyZGVkLCB1c2UgZmxvdyBjb250cm9sIHRvIGF2b2lkIGxvc2luZyBkYXRhXCIpO2lmKCF0aGlzLl93cml0ZUJ1ZmZlci5sZW5ndGgpe2lmKHRoaXMuX2J1ZmZlck9mZnNldD0wLHRoaXMuX2RpZFVzZXJJbnB1dClyZXR1cm4gdGhpcy5fZGlkVXNlcklucHV0PSExLHRoaXMuX3BlbmRpbmdEYXRhKz1lLmxlbmd0aCx0aGlzLl93cml0ZUJ1ZmZlci5wdXNoKGUpLHRoaXMuX2NhbGxiYWNrcy5wdXNoKHQpLHZvaWQgdGhpcy5faW5uZXJXcml0ZSgpO3NldFRpbWVvdXQoKCgpPT50aGlzLl9pbm5lcldyaXRlKCkpKX10aGlzLl9wZW5kaW5nRGF0YSs9ZS5sZW5ndGgsdGhpcy5fd3JpdGVCdWZmZXIucHVzaChlKSx0aGlzLl9jYWxsYmFja3MucHVzaCh0KX1faW5uZXJXcml0ZShlPTAsdD0hMCl7Y29uc3QgaT1lfHxEYXRlLm5vdygpO2Zvcig7dGhpcy5fd3JpdGVCdWZmZXIubGVuZ3RoPnRoaXMuX2J1ZmZlck9mZnNldDspe2NvbnN0IGU9dGhpcy5fd3JpdGVCdWZmZXJbdGhpcy5fYnVmZmVyT2Zmc2V0XSxzPXRoaXMuX2FjdGlvbihlLHQpO2lmKHMpe2NvbnN0IGU9ZT0+RGF0ZS5ub3coKS1pPj0xMj9zZXRUaW1lb3V0KCgoKT0+dGhpcy5faW5uZXJXcml0ZSgwLGUpKSk6dGhpcy5faW5uZXJXcml0ZShpLGUpO3JldHVybiB2b2lkIHMuY2F0Y2goKGU9PihxdWV1ZU1pY3JvdGFzaygoKCk9Pnt0aHJvdyBlfSkpLFByb21pc2UucmVzb2x2ZSghMSkpKSkudGhlbihlKX1jb25zdCByPXRoaXMuX2NhbGxiYWNrc1t0aGlzLl9idWZmZXJPZmZzZXRdO2lmKHImJnIoKSx0aGlzLl9idWZmZXJPZmZzZXQrKyx0aGlzLl9wZW5kaW5nRGF0YS09ZS5sZW5ndGgsRGF0ZS5ub3coKS1pPj0xMilicmVha310aGlzLl93cml0ZUJ1ZmZlci5sZW5ndGg+dGhpcy5fYnVmZmVyT2Zmc2V0Pyh0aGlzLl9idWZmZXJPZmZzZXQ+NTAmJih0aGlzLl93cml0ZUJ1ZmZlcj10aGlzLl93cml0ZUJ1ZmZlci5zbGljZSh0aGlzLl9idWZmZXJPZmZzZXQpLHRoaXMuX2NhbGxiYWNrcz10aGlzLl9jYWxsYmFja3Muc2xpY2UodGhpcy5fYnVmZmVyT2Zmc2V0KSx0aGlzLl9idWZmZXJPZmZzZXQ9MCksc2V0VGltZW91dCgoKCk9PnRoaXMuX2lubmVyV3JpdGUoKSkpKToodGhpcy5fd3JpdGVCdWZmZXIubGVuZ3RoPTAsdGhpcy5fY2FsbGJhY2tzLmxlbmd0aD0wLHRoaXMuX3BlbmRpbmdEYXRhPTAsdGhpcy5fYnVmZmVyT2Zmc2V0PTApLHRoaXMuX29uV3JpdGVQYXJzZWQuZmlyZSgpfX10LldyaXRlQnVmZmVyPW59LDU5NDE6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LnRvUmdiU3RyaW5nPXQucGFyc2VDb2xvcj12b2lkIDA7Y29uc3QgaT0vXihbXFxkYS1mXSlcXC8oW1xcZGEtZl0pXFwvKFtcXGRhLWZdKSR8XihbXFxkYS1mXXsyfSlcXC8oW1xcZGEtZl17Mn0pXFwvKFtcXGRhLWZdezJ9KSR8XihbXFxkYS1mXXszfSlcXC8oW1xcZGEtZl17M30pXFwvKFtcXGRhLWZdezN9KSR8XihbXFxkYS1mXXs0fSlcXC8oW1xcZGEtZl17NH0pXFwvKFtcXGRhLWZdezR9KSQvLHM9L15bXFxkYS1mXSskLztmdW5jdGlvbiByKGUsdCl7Y29uc3QgaT1lLnRvU3RyaW5nKDE2KSxzPWkubGVuZ3RoPDI/XCIwXCIraTppO3N3aXRjaCh0KXtjYXNlIDQ6cmV0dXJuIGlbMF07Y2FzZSA4OnJldHVybiBzO2Nhc2UgMTI6cmV0dXJuKHMrcykuc2xpY2UoMCwzKTtkZWZhdWx0OnJldHVybiBzK3N9fXQucGFyc2VDb2xvcj1mdW5jdGlvbihlKXtpZighZSlyZXR1cm47bGV0IHQ9ZS50b0xvd2VyQ2FzZSgpO2lmKDA9PT10LmluZGV4T2YoXCJyZ2I6XCIpKXt0PXQuc2xpY2UoNCk7Y29uc3QgZT1pLmV4ZWModCk7aWYoZSl7Y29uc3QgdD1lWzFdPzE1OmVbNF0/MjU1OmVbN10/NDA5NTo2NTUzNTtyZXR1cm5bTWF0aC5yb3VuZChwYXJzZUludChlWzFdfHxlWzRdfHxlWzddfHxlWzEwXSwxNikvdCoyNTUpLE1hdGgucm91bmQocGFyc2VJbnQoZVsyXXx8ZVs1XXx8ZVs4XXx8ZVsxMV0sMTYpL3QqMjU1KSxNYXRoLnJvdW5kKHBhcnNlSW50KGVbM118fGVbNl18fGVbOV18fGVbMTJdLDE2KS90KjI1NSldfX1lbHNlIGlmKDA9PT10LmluZGV4T2YoXCIjXCIpJiYodD10LnNsaWNlKDEpLHMuZXhlYyh0KSYmWzMsNiw5LDEyXS5pbmNsdWRlcyh0Lmxlbmd0aCkpKXtjb25zdCBlPXQubGVuZ3RoLzMsaT1bMCwwLDBdO2ZvcihsZXQgcz0wO3M8MzsrK3Mpe2NvbnN0IHI9cGFyc2VJbnQodC5zbGljZShlKnMsZSpzK2UpLDE2KTtpW3NdPTE9PT1lP3I8PDQ6Mj09PWU/cjozPT09ZT9yPj40OnI+Pjh9cmV0dXJuIGl9fSx0LnRvUmdiU3RyaW5nPWZ1bmN0aW9uKGUsdD0xNil7Y29uc3RbaSxzLG5dPWU7cmV0dXJuYHJnYjoke3IoaSx0KX0vJHtyKHMsdCl9LyR7cihuLHQpfWB9fSw1NzcwOihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5QQVlMT0FEX0xJTUlUPXZvaWQgMCx0LlBBWUxPQURfTElNSVQ9MWU3fSw2MzUxOihlLHQsaSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkRjc0hhbmRsZXI9dC5EY3NQYXJzZXI9dm9pZCAwO2NvbnN0IHM9aSg0ODIpLHI9aSg4NzQyKSxuPWkoNTc3MCksbz1bXTt0LkRjc1BhcnNlcj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2hhbmRsZXJzPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5fYWN0aXZlPW8sdGhpcy5faWRlbnQ9MCx0aGlzLl9oYW5kbGVyRmI9KCk9Pnt9LHRoaXMuX3N0YWNrPXtwYXVzZWQ6ITEsbG9vcFBvc2l0aW9uOjAsZmFsbFRocm91Z2g6ITF9fWRpc3Bvc2UoKXt0aGlzLl9oYW5kbGVycz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2hhbmRsZXJGYj0oKT0+e30sdGhpcy5fYWN0aXZlPW99cmVnaXN0ZXJIYW5kbGVyKGUsdCl7dm9pZCAwPT09dGhpcy5faGFuZGxlcnNbZV0mJih0aGlzLl9oYW5kbGVyc1tlXT1bXSk7Y29uc3QgaT10aGlzLl9oYW5kbGVyc1tlXTtyZXR1cm4gaS5wdXNoKHQpLHtkaXNwb3NlOigpPT57Y29uc3QgZT1pLmluZGV4T2YodCk7LTEhPT1lJiZpLnNwbGljZShlLDEpfX19Y2xlYXJIYW5kbGVyKGUpe3RoaXMuX2hhbmRsZXJzW2VdJiZkZWxldGUgdGhpcy5faGFuZGxlcnNbZV19c2V0SGFuZGxlckZhbGxiYWNrKGUpe3RoaXMuX2hhbmRsZXJGYj1lfXJlc2V0KCl7aWYodGhpcy5fYWN0aXZlLmxlbmd0aClmb3IobGV0IGU9dGhpcy5fc3RhY2sucGF1c2VkP3RoaXMuX3N0YWNrLmxvb3BQb3NpdGlvbi0xOnRoaXMuX2FjdGl2ZS5sZW5ndGgtMTtlPj0wOy0tZSl0aGlzLl9hY3RpdmVbZV0udW5ob29rKCExKTt0aGlzLl9zdGFjay5wYXVzZWQ9ITEsdGhpcy5fYWN0aXZlPW8sdGhpcy5faWRlbnQ9MH1ob29rKGUsdCl7aWYodGhpcy5yZXNldCgpLHRoaXMuX2lkZW50PWUsdGhpcy5fYWN0aXZlPXRoaXMuX2hhbmRsZXJzW2VdfHxvLHRoaXMuX2FjdGl2ZS5sZW5ndGgpZm9yKGxldCBlPXRoaXMuX2FjdGl2ZS5sZW5ndGgtMTtlPj0wO2UtLSl0aGlzLl9hY3RpdmVbZV0uaG9vayh0KTtlbHNlIHRoaXMuX2hhbmRsZXJGYih0aGlzLl9pZGVudCxcIkhPT0tcIix0KX1wdXQoZSx0LGkpe2lmKHRoaXMuX2FjdGl2ZS5sZW5ndGgpZm9yKGxldCBzPXRoaXMuX2FjdGl2ZS5sZW5ndGgtMTtzPj0wO3MtLSl0aGlzLl9hY3RpdmVbc10ucHV0KGUsdCxpKTtlbHNlIHRoaXMuX2hhbmRsZXJGYih0aGlzLl9pZGVudCxcIlBVVFwiLCgwLHMudXRmMzJUb1N0cmluZykoZSx0LGkpKX11bmhvb2soZSx0PSEwKXtpZih0aGlzLl9hY3RpdmUubGVuZ3RoKXtsZXQgaT0hMSxzPXRoaXMuX2FjdGl2ZS5sZW5ndGgtMSxyPSExO2lmKHRoaXMuX3N0YWNrLnBhdXNlZCYmKHM9dGhpcy5fc3RhY2subG9vcFBvc2l0aW9uLTEsaT10LHI9dGhpcy5fc3RhY2suZmFsbFRocm91Z2gsdGhpcy5fc3RhY2sucGF1c2VkPSExKSwhciYmITE9PT1pKXtmb3IoO3M+PTAmJihpPXRoaXMuX2FjdGl2ZVtzXS51bmhvb2soZSksITAhPT1pKTtzLS0paWYoaSBpbnN0YW5jZW9mIFByb21pc2UpcmV0dXJuIHRoaXMuX3N0YWNrLnBhdXNlZD0hMCx0aGlzLl9zdGFjay5sb29wUG9zaXRpb249cyx0aGlzLl9zdGFjay5mYWxsVGhyb3VnaD0hMSxpO3MtLX1mb3IoO3M+PTA7cy0tKWlmKGk9dGhpcy5fYWN0aXZlW3NdLnVuaG9vayghMSksaSBpbnN0YW5jZW9mIFByb21pc2UpcmV0dXJuIHRoaXMuX3N0YWNrLnBhdXNlZD0hMCx0aGlzLl9zdGFjay5sb29wUG9zaXRpb249cyx0aGlzLl9zdGFjay5mYWxsVGhyb3VnaD0hMCxpfWVsc2UgdGhpcy5faGFuZGxlckZiKHRoaXMuX2lkZW50LFwiVU5IT09LXCIsZSk7dGhpcy5fYWN0aXZlPW8sdGhpcy5faWRlbnQ9MH19O2NvbnN0IGE9bmV3IHIuUGFyYW1zO2EuYWRkUGFyYW0oMCksdC5EY3NIYW5kbGVyPWNsYXNze2NvbnN0cnVjdG9yKGUpe3RoaXMuX2hhbmRsZXI9ZSx0aGlzLl9kYXRhPVwiXCIsdGhpcy5fcGFyYW1zPWEsdGhpcy5faGl0TGltaXQ9ITF9aG9vayhlKXt0aGlzLl9wYXJhbXM9ZS5sZW5ndGg+MXx8ZS5wYXJhbXNbMF0/ZS5jbG9uZSgpOmEsdGhpcy5fZGF0YT1cIlwiLHRoaXMuX2hpdExpbWl0PSExfXB1dChlLHQsaSl7dGhpcy5faGl0TGltaXR8fCh0aGlzLl9kYXRhKz0oMCxzLnV0ZjMyVG9TdHJpbmcpKGUsdCxpKSx0aGlzLl9kYXRhLmxlbmd0aD5uLlBBWUxPQURfTElNSVQmJih0aGlzLl9kYXRhPVwiXCIsdGhpcy5faGl0TGltaXQ9ITApKX11bmhvb2soZSl7bGV0IHQ9ITE7aWYodGhpcy5faGl0TGltaXQpdD0hMTtlbHNlIGlmKGUmJih0PXRoaXMuX2hhbmRsZXIodGhpcy5fZGF0YSx0aGlzLl9wYXJhbXMpLHQgaW5zdGFuY2VvZiBQcm9taXNlKSlyZXR1cm4gdC50aGVuKChlPT4odGhpcy5fcGFyYW1zPWEsdGhpcy5fZGF0YT1cIlwiLHRoaXMuX2hpdExpbWl0PSExLGUpKSk7cmV0dXJuIHRoaXMuX3BhcmFtcz1hLHRoaXMuX2RhdGE9XCJcIix0aGlzLl9oaXRMaW1pdD0hMSx0fX19LDIwMTU6KGUsdCxpKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuRXNjYXBlU2VxdWVuY2VQYXJzZXI9dC5WVDUwMF9UUkFOU0lUSU9OX1RBQkxFPXQuVHJhbnNpdGlvblRhYmxlPXZvaWQgMDtjb25zdCBzPWkoODQ0KSxyPWkoODc0Miksbj1pKDYyNDIpLG89aSg2MzUxKTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUpe3RoaXMudGFibGU9bmV3IFVpbnQ4QXJyYXkoZSl9c2V0RGVmYXVsdChlLHQpe3RoaXMudGFibGUuZmlsbChlPDw0fHQpfWFkZChlLHQsaSxzKXt0aGlzLnRhYmxlW3Q8PDh8ZV09aTw8NHxzfWFkZE1hbnkoZSx0LGkscyl7Zm9yKGxldCByPTA7cjxlLmxlbmd0aDtyKyspdGhpcy50YWJsZVt0PDw4fGVbcl1dPWk8PDR8c319dC5UcmFuc2l0aW9uVGFibGU9YTtjb25zdCBoPTE2MDt0LlZUNTAwX1RSQU5TSVRJT05fVEFCTEU9ZnVuY3Rpb24oKXtjb25zdCBlPW5ldyBhKDQwOTUpLHQ9QXJyYXkuYXBwbHkobnVsbCxBcnJheSgyNTYpKS5tYXAoKChlLHQpPT50KSksaT0oZSxpKT0+dC5zbGljZShlLGkpLHM9aSgzMiwxMjcpLHI9aSgwLDI0KTtyLnB1c2goMjUpLHIucHVzaC5hcHBseShyLGkoMjgsMzIpKTtjb25zdCBuPWkoMCwxNCk7bGV0IG87Zm9yKG8gaW4gZS5zZXREZWZhdWx0KDEsMCksZS5hZGRNYW55KHMsMCwyLDApLG4pZS5hZGRNYW55KFsyNCwyNiwxNTMsMTU0XSxvLDMsMCksZS5hZGRNYW55KGkoMTI4LDE0NCksbywzLDApLGUuYWRkTWFueShpKDE0NCwxNTIpLG8sMywwKSxlLmFkZCgxNTYsbywwLDApLGUuYWRkKDI3LG8sMTEsMSksZS5hZGQoMTU3LG8sNCw4KSxlLmFkZE1hbnkoWzE1MiwxNTgsMTU5XSxvLDAsNyksZS5hZGQoMTU1LG8sMTEsMyksZS5hZGQoMTQ0LG8sMTEsOSk7cmV0dXJuIGUuYWRkTWFueShyLDAsMywwKSxlLmFkZE1hbnkociwxLDMsMSksZS5hZGQoMTI3LDEsMCwxKSxlLmFkZE1hbnkociw4LDAsOCksZS5hZGRNYW55KHIsMywzLDMpLGUuYWRkKDEyNywzLDAsMyksZS5hZGRNYW55KHIsNCwzLDQpLGUuYWRkKDEyNyw0LDAsNCksZS5hZGRNYW55KHIsNiwzLDYpLGUuYWRkTWFueShyLDUsMyw1KSxlLmFkZCgxMjcsNSwwLDUpLGUuYWRkTWFueShyLDIsMywyKSxlLmFkZCgxMjcsMiwwLDIpLGUuYWRkKDkzLDEsNCw4KSxlLmFkZE1hbnkocyw4LDUsOCksZS5hZGQoMTI3LDgsNSw4KSxlLmFkZE1hbnkoWzE1NiwyNywyNCwyNiw3XSw4LDYsMCksZS5hZGRNYW55KGkoMjgsMzIpLDgsMCw4KSxlLmFkZE1hbnkoWzg4LDk0LDk1XSwxLDAsNyksZS5hZGRNYW55KHMsNywwLDcpLGUuYWRkTWFueShyLDcsMCw3KSxlLmFkZCgxNTYsNywwLDApLGUuYWRkKDEyNyw3LDAsNyksZS5hZGQoOTEsMSwxMSwzKSxlLmFkZE1hbnkoaSg2NCwxMjcpLDMsNywwKSxlLmFkZE1hbnkoaSg0OCw2MCksMyw4LDQpLGUuYWRkTWFueShbNjAsNjEsNjIsNjNdLDMsOSw0KSxlLmFkZE1hbnkoaSg0OCw2MCksNCw4LDQpLGUuYWRkTWFueShpKDY0LDEyNyksNCw3LDApLGUuYWRkTWFueShbNjAsNjEsNjIsNjNdLDQsMCw2KSxlLmFkZE1hbnkoaSgzMiw2NCksNiwwLDYpLGUuYWRkKDEyNyw2LDAsNiksZS5hZGRNYW55KGkoNjQsMTI3KSw2LDAsMCksZS5hZGRNYW55KGkoMzIsNDgpLDMsOSw1KSxlLmFkZE1hbnkoaSgzMiw0OCksNSw5LDUpLGUuYWRkTWFueShpKDQ4LDY0KSw1LDAsNiksZS5hZGRNYW55KGkoNjQsMTI3KSw1LDcsMCksZS5hZGRNYW55KGkoMzIsNDgpLDQsOSw1KSxlLmFkZE1hbnkoaSgzMiw0OCksMSw5LDIpLGUuYWRkTWFueShpKDMyLDQ4KSwyLDksMiksZS5hZGRNYW55KGkoNDgsMTI3KSwyLDEwLDApLGUuYWRkTWFueShpKDQ4LDgwKSwxLDEwLDApLGUuYWRkTWFueShpKDgxLDg4KSwxLDEwLDApLGUuYWRkTWFueShbODksOTAsOTJdLDEsMTAsMCksZS5hZGRNYW55KGkoOTYsMTI3KSwxLDEwLDApLGUuYWRkKDgwLDEsMTEsOSksZS5hZGRNYW55KHIsOSwwLDkpLGUuYWRkKDEyNyw5LDAsOSksZS5hZGRNYW55KGkoMjgsMzIpLDksMCw5KSxlLmFkZE1hbnkoaSgzMiw0OCksOSw5LDEyKSxlLmFkZE1hbnkoaSg0OCw2MCksOSw4LDEwKSxlLmFkZE1hbnkoWzYwLDYxLDYyLDYzXSw5LDksMTApLGUuYWRkTWFueShyLDExLDAsMTEpLGUuYWRkTWFueShpKDMyLDEyOCksMTEsMCwxMSksZS5hZGRNYW55KGkoMjgsMzIpLDExLDAsMTEpLGUuYWRkTWFueShyLDEwLDAsMTApLGUuYWRkKDEyNywxMCwwLDEwKSxlLmFkZE1hbnkoaSgyOCwzMiksMTAsMCwxMCksZS5hZGRNYW55KGkoNDgsNjApLDEwLDgsMTApLGUuYWRkTWFueShbNjAsNjEsNjIsNjNdLDEwLDAsMTEpLGUuYWRkTWFueShpKDMyLDQ4KSwxMCw5LDEyKSxlLmFkZE1hbnkociwxMiwwLDEyKSxlLmFkZCgxMjcsMTIsMCwxMiksZS5hZGRNYW55KGkoMjgsMzIpLDEyLDAsMTIpLGUuYWRkTWFueShpKDMyLDQ4KSwxMiw5LDEyKSxlLmFkZE1hbnkoaSg0OCw2NCksMTIsMCwxMSksZS5hZGRNYW55KGkoNjQsMTI3KSwxMiwxMiwxMyksZS5hZGRNYW55KGkoNjQsMTI3KSwxMCwxMiwxMyksZS5hZGRNYW55KGkoNjQsMTI3KSw5LDEyLDEzKSxlLmFkZE1hbnkociwxMywxMywxMyksZS5hZGRNYW55KHMsMTMsMTMsMTMpLGUuYWRkKDEyNywxMywwLDEzKSxlLmFkZE1hbnkoWzI3LDE1NiwyNCwyNl0sMTMsMTQsMCksZS5hZGQoaCwwLDIsMCksZS5hZGQoaCw4LDUsOCksZS5hZGQoaCw2LDAsNiksZS5hZGQoaCwxMSwwLDExKSxlLmFkZChoLDEzLDEzLDEzKSxlfSgpO2NsYXNzIGMgZXh0ZW5kcyBzLkRpc3Bvc2FibGV7Y29uc3RydWN0b3IoZT10LlZUNTAwX1RSQU5TSVRJT05fVEFCTEUpe3N1cGVyKCksdGhpcy5fdHJhbnNpdGlvbnM9ZSx0aGlzLl9wYXJzZVN0YWNrPXtzdGF0ZTowLGhhbmRsZXJzOltdLGhhbmRsZXJQb3M6MCx0cmFuc2l0aW9uOjAsY2h1bmtQb3M6MH0sdGhpcy5pbml0aWFsU3RhdGU9MCx0aGlzLmN1cnJlbnRTdGF0ZT10aGlzLmluaXRpYWxTdGF0ZSx0aGlzLl9wYXJhbXM9bmV3IHIuUGFyYW1zLHRoaXMuX3BhcmFtcy5hZGRQYXJhbSgwKSx0aGlzLl9jb2xsZWN0PTAsdGhpcy5wcmVjZWRpbmdKb2luU3RhdGU9MCx0aGlzLl9wcmludEhhbmRsZXJGYj0oZSx0LGkpPT57fSx0aGlzLl9leGVjdXRlSGFuZGxlckZiPWU9Pnt9LHRoaXMuX2NzaUhhbmRsZXJGYj0oZSx0KT0+e30sdGhpcy5fZXNjSGFuZGxlckZiPWU9Pnt9LHRoaXMuX2Vycm9ySGFuZGxlckZiPWU9PmUsdGhpcy5fcHJpbnRIYW5kbGVyPXRoaXMuX3ByaW50SGFuZGxlckZiLHRoaXMuX2V4ZWN1dGVIYW5kbGVycz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2NzaUhhbmRsZXJzPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5fZXNjSGFuZGxlcnM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLnJlZ2lzdGVyKCgwLHMudG9EaXNwb3NhYmxlKSgoKCk9Pnt0aGlzLl9jc2lIYW5kbGVycz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2V4ZWN1dGVIYW5kbGVycz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2VzY0hhbmRsZXJzPU9iamVjdC5jcmVhdGUobnVsbCl9KSkpLHRoaXMuX29zY1BhcnNlcj10aGlzLnJlZ2lzdGVyKG5ldyBuLk9zY1BhcnNlciksdGhpcy5fZGNzUGFyc2VyPXRoaXMucmVnaXN0ZXIobmV3IG8uRGNzUGFyc2VyKSx0aGlzLl9lcnJvckhhbmRsZXI9dGhpcy5fZXJyb3JIYW5kbGVyRmIsdGhpcy5yZWdpc3RlckVzY0hhbmRsZXIoe2ZpbmFsOlwiXFxcXFwifSwoKCk9PiEwKSl9X2lkZW50aWZpZXIoZSx0PVs2NCwxMjZdKXtsZXQgaT0wO2lmKGUucHJlZml4KXtpZihlLnByZWZpeC5sZW5ndGg+MSl0aHJvdyBuZXcgRXJyb3IoXCJvbmx5IG9uZSBieXRlIGFzIHByZWZpeCBzdXBwb3J0ZWRcIik7aWYoaT1lLnByZWZpeC5jaGFyQ29kZUF0KDApLGkmJjYwPml8fGk+NjMpdGhyb3cgbmV3IEVycm9yKFwicHJlZml4IG11c3QgYmUgaW4gcmFuZ2UgMHgzYyAuLiAweDNmXCIpfWlmKGUuaW50ZXJtZWRpYXRlcyl7aWYoZS5pbnRlcm1lZGlhdGVzLmxlbmd0aD4yKXRocm93IG5ldyBFcnJvcihcIm9ubHkgdHdvIGJ5dGVzIGFzIGludGVybWVkaWF0ZXMgYXJlIHN1cHBvcnRlZFwiKTtmb3IobGV0IHQ9MDt0PGUuaW50ZXJtZWRpYXRlcy5sZW5ndGg7Kyt0KXtjb25zdCBzPWUuaW50ZXJtZWRpYXRlcy5jaGFyQ29kZUF0KHQpO2lmKDMyPnN8fHM+NDcpdGhyb3cgbmV3IEVycm9yKFwiaW50ZXJtZWRpYXRlIG11c3QgYmUgaW4gcmFuZ2UgMHgyMCAuLiAweDJmXCIpO2k8PD04LGl8PXN9fWlmKDEhPT1lLmZpbmFsLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoXCJmaW5hbCBtdXN0IGJlIGEgc2luZ2xlIGJ5dGVcIik7Y29uc3Qgcz1lLmZpbmFsLmNoYXJDb2RlQXQoMCk7aWYodFswXT5zfHxzPnRbMV0pdGhyb3cgbmV3IEVycm9yKGBmaW5hbCBtdXN0IGJlIGluIHJhbmdlICR7dFswXX0gLi4gJHt0WzFdfWApO3JldHVybiBpPDw9OCxpfD1zLGl9aWRlbnRUb1N0cmluZyhlKXtjb25zdCB0PVtdO2Zvcig7ZTspdC5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoMjU1JmUpKSxlPj49ODtyZXR1cm4gdC5yZXZlcnNlKCkuam9pbihcIlwiKX1zZXRQcmludEhhbmRsZXIoZSl7dGhpcy5fcHJpbnRIYW5kbGVyPWV9Y2xlYXJQcmludEhhbmRsZXIoKXt0aGlzLl9wcmludEhhbmRsZXI9dGhpcy5fcHJpbnRIYW5kbGVyRmJ9cmVnaXN0ZXJFc2NIYW5kbGVyKGUsdCl7Y29uc3QgaT10aGlzLl9pZGVudGlmaWVyKGUsWzQ4LDEyNl0pO3ZvaWQgMD09PXRoaXMuX2VzY0hhbmRsZXJzW2ldJiYodGhpcy5fZXNjSGFuZGxlcnNbaV09W10pO2NvbnN0IHM9dGhpcy5fZXNjSGFuZGxlcnNbaV07cmV0dXJuIHMucHVzaCh0KSx7ZGlzcG9zZTooKT0+e2NvbnN0IGU9cy5pbmRleE9mKHQpOy0xIT09ZSYmcy5zcGxpY2UoZSwxKX19fWNsZWFyRXNjSGFuZGxlcihlKXt0aGlzLl9lc2NIYW5kbGVyc1t0aGlzLl9pZGVudGlmaWVyKGUsWzQ4LDEyNl0pXSYmZGVsZXRlIHRoaXMuX2VzY0hhbmRsZXJzW3RoaXMuX2lkZW50aWZpZXIoZSxbNDgsMTI2XSldfXNldEVzY0hhbmRsZXJGYWxsYmFjayhlKXt0aGlzLl9lc2NIYW5kbGVyRmI9ZX1zZXRFeGVjdXRlSGFuZGxlcihlLHQpe3RoaXMuX2V4ZWN1dGVIYW5kbGVyc1tlLmNoYXJDb2RlQXQoMCldPXR9Y2xlYXJFeGVjdXRlSGFuZGxlcihlKXt0aGlzLl9leGVjdXRlSGFuZGxlcnNbZS5jaGFyQ29kZUF0KDApXSYmZGVsZXRlIHRoaXMuX2V4ZWN1dGVIYW5kbGVyc1tlLmNoYXJDb2RlQXQoMCldfXNldEV4ZWN1dGVIYW5kbGVyRmFsbGJhY2soZSl7dGhpcy5fZXhlY3V0ZUhhbmRsZXJGYj1lfXJlZ2lzdGVyQ3NpSGFuZGxlcihlLHQpe2NvbnN0IGk9dGhpcy5faWRlbnRpZmllcihlKTt2b2lkIDA9PT10aGlzLl9jc2lIYW5kbGVyc1tpXSYmKHRoaXMuX2NzaUhhbmRsZXJzW2ldPVtdKTtjb25zdCBzPXRoaXMuX2NzaUhhbmRsZXJzW2ldO3JldHVybiBzLnB1c2godCkse2Rpc3Bvc2U6KCk9Pntjb25zdCBlPXMuaW5kZXhPZih0KTstMSE9PWUmJnMuc3BsaWNlKGUsMSl9fX1jbGVhckNzaUhhbmRsZXIoZSl7dGhpcy5fY3NpSGFuZGxlcnNbdGhpcy5faWRlbnRpZmllcihlKV0mJmRlbGV0ZSB0aGlzLl9jc2lIYW5kbGVyc1t0aGlzLl9pZGVudGlmaWVyKGUpXX1zZXRDc2lIYW5kbGVyRmFsbGJhY2soZSl7dGhpcy5fY3NpSGFuZGxlckZiPWV9cmVnaXN0ZXJEY3NIYW5kbGVyKGUsdCl7cmV0dXJuIHRoaXMuX2Rjc1BhcnNlci5yZWdpc3RlckhhbmRsZXIodGhpcy5faWRlbnRpZmllcihlKSx0KX1jbGVhckRjc0hhbmRsZXIoZSl7dGhpcy5fZGNzUGFyc2VyLmNsZWFySGFuZGxlcih0aGlzLl9pZGVudGlmaWVyKGUpKX1zZXREY3NIYW5kbGVyRmFsbGJhY2soZSl7dGhpcy5fZGNzUGFyc2VyLnNldEhhbmRsZXJGYWxsYmFjayhlKX1yZWdpc3Rlck9zY0hhbmRsZXIoZSx0KXtyZXR1cm4gdGhpcy5fb3NjUGFyc2VyLnJlZ2lzdGVySGFuZGxlcihlLHQpfWNsZWFyT3NjSGFuZGxlcihlKXt0aGlzLl9vc2NQYXJzZXIuY2xlYXJIYW5kbGVyKGUpfXNldE9zY0hhbmRsZXJGYWxsYmFjayhlKXt0aGlzLl9vc2NQYXJzZXIuc2V0SGFuZGxlckZhbGxiYWNrKGUpfXNldEVycm9ySGFuZGxlcihlKXt0aGlzLl9lcnJvckhhbmRsZXI9ZX1jbGVhckVycm9ySGFuZGxlcigpe3RoaXMuX2Vycm9ySGFuZGxlcj10aGlzLl9lcnJvckhhbmRsZXJGYn1yZXNldCgpe3RoaXMuY3VycmVudFN0YXRlPXRoaXMuaW5pdGlhbFN0YXRlLHRoaXMuX29zY1BhcnNlci5yZXNldCgpLHRoaXMuX2Rjc1BhcnNlci5yZXNldCgpLHRoaXMuX3BhcmFtcy5yZXNldCgpLHRoaXMuX3BhcmFtcy5hZGRQYXJhbSgwKSx0aGlzLl9jb2xsZWN0PTAsdGhpcy5wcmVjZWRpbmdKb2luU3RhdGU9MCwwIT09dGhpcy5fcGFyc2VTdGFjay5zdGF0ZSYmKHRoaXMuX3BhcnNlU3RhY2suc3RhdGU9Mix0aGlzLl9wYXJzZVN0YWNrLmhhbmRsZXJzPVtdKX1fcHJlc2VydmVTdGFjayhlLHQsaSxzLHIpe3RoaXMuX3BhcnNlU3RhY2suc3RhdGU9ZSx0aGlzLl9wYXJzZVN0YWNrLmhhbmRsZXJzPXQsdGhpcy5fcGFyc2VTdGFjay5oYW5kbGVyUG9zPWksdGhpcy5fcGFyc2VTdGFjay50cmFuc2l0aW9uPXMsdGhpcy5fcGFyc2VTdGFjay5jaHVua1Bvcz1yfXBhcnNlKGUsdCxpKXtsZXQgcyxyPTAsbj0wLG89MDtpZih0aGlzLl9wYXJzZVN0YWNrLnN0YXRlKWlmKDI9PT10aGlzLl9wYXJzZVN0YWNrLnN0YXRlKXRoaXMuX3BhcnNlU3RhY2suc3RhdGU9MCxvPXRoaXMuX3BhcnNlU3RhY2suY2h1bmtQb3MrMTtlbHNle2lmKHZvaWQgMD09PWl8fDE9PT10aGlzLl9wYXJzZVN0YWNrLnN0YXRlKXRocm93IHRoaXMuX3BhcnNlU3RhY2suc3RhdGU9MSxuZXcgRXJyb3IoXCJpbXByb3BlciBjb250aW51YXRpb24gZHVlIHRvIHByZXZpb3VzIGFzeW5jIGhhbmRsZXIsIGdpdmluZyB1cCBwYXJzaW5nXCIpO2NvbnN0IHQ9dGhpcy5fcGFyc2VTdGFjay5oYW5kbGVycztsZXQgbj10aGlzLl9wYXJzZVN0YWNrLmhhbmRsZXJQb3MtMTtzd2l0Y2godGhpcy5fcGFyc2VTdGFjay5zdGF0ZSl7Y2FzZSAzOmlmKCExPT09aSYmbj4tMSlmb3IoO24+PTAmJihzPXRbbl0odGhpcy5fcGFyYW1zKSwhMCE9PXMpO24tLSlpZihzIGluc3RhbmNlb2YgUHJvbWlzZSlyZXR1cm4gdGhpcy5fcGFyc2VTdGFjay5oYW5kbGVyUG9zPW4sczt0aGlzLl9wYXJzZVN0YWNrLmhhbmRsZXJzPVtdO2JyZWFrO2Nhc2UgNDppZighMT09PWkmJm4+LTEpZm9yKDtuPj0wJiYocz10W25dKCksITAhPT1zKTtuLS0paWYocyBpbnN0YW5jZW9mIFByb21pc2UpcmV0dXJuIHRoaXMuX3BhcnNlU3RhY2suaGFuZGxlclBvcz1uLHM7dGhpcy5fcGFyc2VTdGFjay5oYW5kbGVycz1bXTticmVhaztjYXNlIDY6aWYocj1lW3RoaXMuX3BhcnNlU3RhY2suY2h1bmtQb3NdLHM9dGhpcy5fZGNzUGFyc2VyLnVuaG9vaygyNCE9PXImJjI2IT09cixpKSxzKXJldHVybiBzOzI3PT09ciYmKHRoaXMuX3BhcnNlU3RhY2sudHJhbnNpdGlvbnw9MSksdGhpcy5fcGFyYW1zLnJlc2V0KCksdGhpcy5fcGFyYW1zLmFkZFBhcmFtKDApLHRoaXMuX2NvbGxlY3Q9MDticmVhaztjYXNlIDU6aWYocj1lW3RoaXMuX3BhcnNlU3RhY2suY2h1bmtQb3NdLHM9dGhpcy5fb3NjUGFyc2VyLmVuZCgyNCE9PXImJjI2IT09cixpKSxzKXJldHVybiBzOzI3PT09ciYmKHRoaXMuX3BhcnNlU3RhY2sudHJhbnNpdGlvbnw9MSksdGhpcy5fcGFyYW1zLnJlc2V0KCksdGhpcy5fcGFyYW1zLmFkZFBhcmFtKDApLHRoaXMuX2NvbGxlY3Q9MH10aGlzLl9wYXJzZVN0YWNrLnN0YXRlPTAsbz10aGlzLl9wYXJzZVN0YWNrLmNodW5rUG9zKzEsdGhpcy5wcmVjZWRpbmdKb2luU3RhdGU9MCx0aGlzLmN1cnJlbnRTdGF0ZT0xNSZ0aGlzLl9wYXJzZVN0YWNrLnRyYW5zaXRpb259Zm9yKGxldCBpPW87aTx0OysraSl7c3dpdGNoKHI9ZVtpXSxuPXRoaXMuX3RyYW5zaXRpb25zLnRhYmxlW3RoaXMuY3VycmVudFN0YXRlPDw4fChyPDE2MD9yOmgpXSxuPj40KXtjYXNlIDI6Zm9yKGxldCBzPWkrMTs7KytzKXtpZihzPj10fHwocj1lW3NdKTwzMnx8cj4xMjYmJnI8aCl7dGhpcy5fcHJpbnRIYW5kbGVyKGUsaSxzKSxpPXMtMTticmVha31pZigrK3M+PXR8fChyPWVbc10pPDMyfHxyPjEyNiYmcjxoKXt0aGlzLl9wcmludEhhbmRsZXIoZSxpLHMpLGk9cy0xO2JyZWFrfWlmKCsrcz49dHx8KHI9ZVtzXSk8MzJ8fHI+MTI2JiZyPGgpe3RoaXMuX3ByaW50SGFuZGxlcihlLGkscyksaT1zLTE7YnJlYWt9aWYoKytzPj10fHwocj1lW3NdKTwzMnx8cj4xMjYmJnI8aCl7dGhpcy5fcHJpbnRIYW5kbGVyKGUsaSxzKSxpPXMtMTticmVha319YnJlYWs7Y2FzZSAzOnRoaXMuX2V4ZWN1dGVIYW5kbGVyc1tyXT90aGlzLl9leGVjdXRlSGFuZGxlcnNbcl0oKTp0aGlzLl9leGVjdXRlSGFuZGxlckZiKHIpLHRoaXMucHJlY2VkaW5nSm9pblN0YXRlPTA7YnJlYWs7Y2FzZSAwOmJyZWFrO2Nhc2UgMTppZih0aGlzLl9lcnJvckhhbmRsZXIoe3Bvc2l0aW9uOmksY29kZTpyLGN1cnJlbnRTdGF0ZTp0aGlzLmN1cnJlbnRTdGF0ZSxjb2xsZWN0OnRoaXMuX2NvbGxlY3QscGFyYW1zOnRoaXMuX3BhcmFtcyxhYm9ydDohMX0pLmFib3J0KXJldHVybjticmVhaztjYXNlIDc6Y29uc3Qgbz10aGlzLl9jc2lIYW5kbGVyc1t0aGlzLl9jb2xsZWN0PDw4fHJdO2xldCBhPW8/by5sZW5ndGgtMTotMTtmb3IoO2E+PTAmJihzPW9bYV0odGhpcy5fcGFyYW1zKSwhMCE9PXMpO2EtLSlpZihzIGluc3RhbmNlb2YgUHJvbWlzZSlyZXR1cm4gdGhpcy5fcHJlc2VydmVTdGFjaygzLG8sYSxuLGkpLHM7YTwwJiZ0aGlzLl9jc2lIYW5kbGVyRmIodGhpcy5fY29sbGVjdDw8OHxyLHRoaXMuX3BhcmFtcyksdGhpcy5wcmVjZWRpbmdKb2luU3RhdGU9MDticmVhaztjYXNlIDg6ZG97c3dpdGNoKHIpe2Nhc2UgNTk6dGhpcy5fcGFyYW1zLmFkZFBhcmFtKDApO2JyZWFrO2Nhc2UgNTg6dGhpcy5fcGFyYW1zLmFkZFN1YlBhcmFtKC0xKTticmVhaztkZWZhdWx0OnRoaXMuX3BhcmFtcy5hZGREaWdpdChyLTQ4KX19d2hpbGUoKytpPHQmJihyPWVbaV0pPjQ3JiZyPDYwKTtpLS07YnJlYWs7Y2FzZSA5OnRoaXMuX2NvbGxlY3Q8PD04LHRoaXMuX2NvbGxlY3R8PXI7YnJlYWs7Y2FzZSAxMDpjb25zdCBjPXRoaXMuX2VzY0hhbmRsZXJzW3RoaXMuX2NvbGxlY3Q8PDh8cl07bGV0IGw9Yz9jLmxlbmd0aC0xOi0xO2Zvcig7bD49MCYmKHM9Y1tsXSgpLCEwIT09cyk7bC0tKWlmKHMgaW5zdGFuY2VvZiBQcm9taXNlKXJldHVybiB0aGlzLl9wcmVzZXJ2ZVN0YWNrKDQsYyxsLG4saSkscztsPDAmJnRoaXMuX2VzY0hhbmRsZXJGYih0aGlzLl9jb2xsZWN0PDw4fHIpLHRoaXMucHJlY2VkaW5nSm9pblN0YXRlPTA7YnJlYWs7Y2FzZSAxMTp0aGlzLl9wYXJhbXMucmVzZXQoKSx0aGlzLl9wYXJhbXMuYWRkUGFyYW0oMCksdGhpcy5fY29sbGVjdD0wO2JyZWFrO2Nhc2UgMTI6dGhpcy5fZGNzUGFyc2VyLmhvb2sodGhpcy5fY29sbGVjdDw8OHxyLHRoaXMuX3BhcmFtcyk7YnJlYWs7Y2FzZSAxMzpmb3IobGV0IHM9aSsxOzsrK3MpaWYocz49dHx8MjQ9PT0ocj1lW3NdKXx8MjY9PT1yfHwyNz09PXJ8fHI+MTI3JiZyPGgpe3RoaXMuX2Rjc1BhcnNlci5wdXQoZSxpLHMpLGk9cy0xO2JyZWFrfWJyZWFrO2Nhc2UgMTQ6aWYocz10aGlzLl9kY3NQYXJzZXIudW5ob29rKDI0IT09ciYmMjYhPT1yKSxzKXJldHVybiB0aGlzLl9wcmVzZXJ2ZVN0YWNrKDYsW10sMCxuLGkpLHM7Mjc9PT1yJiYobnw9MSksdGhpcy5fcGFyYW1zLnJlc2V0KCksdGhpcy5fcGFyYW1zLmFkZFBhcmFtKDApLHRoaXMuX2NvbGxlY3Q9MCx0aGlzLnByZWNlZGluZ0pvaW5TdGF0ZT0wO2JyZWFrO2Nhc2UgNDp0aGlzLl9vc2NQYXJzZXIuc3RhcnQoKTticmVhaztjYXNlIDU6Zm9yKGxldCBzPWkrMTs7cysrKWlmKHM+PXR8fChyPWVbc10pPDMyfHxyPjEyNyYmcjxoKXt0aGlzLl9vc2NQYXJzZXIucHV0KGUsaSxzKSxpPXMtMTticmVha31icmVhaztjYXNlIDY6aWYocz10aGlzLl9vc2NQYXJzZXIuZW5kKDI0IT09ciYmMjYhPT1yKSxzKXJldHVybiB0aGlzLl9wcmVzZXJ2ZVN0YWNrKDUsW10sMCxuLGkpLHM7Mjc9PT1yJiYobnw9MSksdGhpcy5fcGFyYW1zLnJlc2V0KCksdGhpcy5fcGFyYW1zLmFkZFBhcmFtKDApLHRoaXMuX2NvbGxlY3Q9MCx0aGlzLnByZWNlZGluZ0pvaW5TdGF0ZT0wfXRoaXMuY3VycmVudFN0YXRlPTE1Jm59fX10LkVzY2FwZVNlcXVlbmNlUGFyc2VyPWN9LDYyNDI6KGUsdCxpKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuT3NjSGFuZGxlcj10Lk9zY1BhcnNlcj12b2lkIDA7Y29uc3Qgcz1pKDU3NzApLHI9aSg0ODIpLG49W107dC5Pc2NQYXJzZXI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLl9zdGF0ZT0wLHRoaXMuX2FjdGl2ZT1uLHRoaXMuX2lkPS0xLHRoaXMuX2hhbmRsZXJzPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5faGFuZGxlckZiPSgpPT57fSx0aGlzLl9zdGFjaz17cGF1c2VkOiExLGxvb3BQb3NpdGlvbjowLGZhbGxUaHJvdWdoOiExfX1yZWdpc3RlckhhbmRsZXIoZSx0KXt2b2lkIDA9PT10aGlzLl9oYW5kbGVyc1tlXSYmKHRoaXMuX2hhbmRsZXJzW2VdPVtdKTtjb25zdCBpPXRoaXMuX2hhbmRsZXJzW2VdO3JldHVybiBpLnB1c2godCkse2Rpc3Bvc2U6KCk9Pntjb25zdCBlPWkuaW5kZXhPZih0KTstMSE9PWUmJmkuc3BsaWNlKGUsMSl9fX1jbGVhckhhbmRsZXIoZSl7dGhpcy5faGFuZGxlcnNbZV0mJmRlbGV0ZSB0aGlzLl9oYW5kbGVyc1tlXX1zZXRIYW5kbGVyRmFsbGJhY2soZSl7dGhpcy5faGFuZGxlckZiPWV9ZGlzcG9zZSgpe3RoaXMuX2hhbmRsZXJzPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5faGFuZGxlckZiPSgpPT57fSx0aGlzLl9hY3RpdmU9bn1yZXNldCgpe2lmKDI9PT10aGlzLl9zdGF0ZSlmb3IobGV0IGU9dGhpcy5fc3RhY2sucGF1c2VkP3RoaXMuX3N0YWNrLmxvb3BQb3NpdGlvbi0xOnRoaXMuX2FjdGl2ZS5sZW5ndGgtMTtlPj0wOy0tZSl0aGlzLl9hY3RpdmVbZV0uZW5kKCExKTt0aGlzLl9zdGFjay5wYXVzZWQ9ITEsdGhpcy5fYWN0aXZlPW4sdGhpcy5faWQ9LTEsdGhpcy5fc3RhdGU9MH1fc3RhcnQoKXtpZih0aGlzLl9hY3RpdmU9dGhpcy5faGFuZGxlcnNbdGhpcy5faWRdfHxuLHRoaXMuX2FjdGl2ZS5sZW5ndGgpZm9yKGxldCBlPXRoaXMuX2FjdGl2ZS5sZW5ndGgtMTtlPj0wO2UtLSl0aGlzLl9hY3RpdmVbZV0uc3RhcnQoKTtlbHNlIHRoaXMuX2hhbmRsZXJGYih0aGlzLl9pZCxcIlNUQVJUXCIpfV9wdXQoZSx0LGkpe2lmKHRoaXMuX2FjdGl2ZS5sZW5ndGgpZm9yKGxldCBzPXRoaXMuX2FjdGl2ZS5sZW5ndGgtMTtzPj0wO3MtLSl0aGlzLl9hY3RpdmVbc10ucHV0KGUsdCxpKTtlbHNlIHRoaXMuX2hhbmRsZXJGYih0aGlzLl9pZCxcIlBVVFwiLCgwLHIudXRmMzJUb1N0cmluZykoZSx0LGkpKX1zdGFydCgpe3RoaXMucmVzZXQoKSx0aGlzLl9zdGF0ZT0xfXB1dChlLHQsaSl7aWYoMyE9PXRoaXMuX3N0YXRlKXtpZigxPT09dGhpcy5fc3RhdGUpZm9yKDt0PGk7KXtjb25zdCBpPWVbdCsrXTtpZig1OT09PWkpe3RoaXMuX3N0YXRlPTIsdGhpcy5fc3RhcnQoKTticmVha31pZihpPDQ4fHw1NzxpKXJldHVybiB2b2lkKHRoaXMuX3N0YXRlPTMpOy0xPT09dGhpcy5faWQmJih0aGlzLl9pZD0wKSx0aGlzLl9pZD0xMCp0aGlzLl9pZCtpLTQ4fTI9PT10aGlzLl9zdGF0ZSYmaS10PjAmJnRoaXMuX3B1dChlLHQsaSl9fWVuZChlLHQ9ITApe2lmKDAhPT10aGlzLl9zdGF0ZSl7aWYoMyE9PXRoaXMuX3N0YXRlKWlmKDE9PT10aGlzLl9zdGF0ZSYmdGhpcy5fc3RhcnQoKSx0aGlzLl9hY3RpdmUubGVuZ3RoKXtsZXQgaT0hMSxzPXRoaXMuX2FjdGl2ZS5sZW5ndGgtMSxyPSExO2lmKHRoaXMuX3N0YWNrLnBhdXNlZCYmKHM9dGhpcy5fc3RhY2subG9vcFBvc2l0aW9uLTEsaT10LHI9dGhpcy5fc3RhY2suZmFsbFRocm91Z2gsdGhpcy5fc3RhY2sucGF1c2VkPSExKSwhciYmITE9PT1pKXtmb3IoO3M+PTAmJihpPXRoaXMuX2FjdGl2ZVtzXS5lbmQoZSksITAhPT1pKTtzLS0paWYoaSBpbnN0YW5jZW9mIFByb21pc2UpcmV0dXJuIHRoaXMuX3N0YWNrLnBhdXNlZD0hMCx0aGlzLl9zdGFjay5sb29wUG9zaXRpb249cyx0aGlzLl9zdGFjay5mYWxsVGhyb3VnaD0hMSxpO3MtLX1mb3IoO3M+PTA7cy0tKWlmKGk9dGhpcy5fYWN0aXZlW3NdLmVuZCghMSksaSBpbnN0YW5jZW9mIFByb21pc2UpcmV0dXJuIHRoaXMuX3N0YWNrLnBhdXNlZD0hMCx0aGlzLl9zdGFjay5sb29wUG9zaXRpb249cyx0aGlzLl9zdGFjay5mYWxsVGhyb3VnaD0hMCxpfWVsc2UgdGhpcy5faGFuZGxlckZiKHRoaXMuX2lkLFwiRU5EXCIsZSk7dGhpcy5fYWN0aXZlPW4sdGhpcy5faWQ9LTEsdGhpcy5fc3RhdGU9MH19fSx0Lk9zY0hhbmRsZXI9Y2xhc3N7Y29uc3RydWN0b3IoZSl7dGhpcy5faGFuZGxlcj1lLHRoaXMuX2RhdGE9XCJcIix0aGlzLl9oaXRMaW1pdD0hMX1zdGFydCgpe3RoaXMuX2RhdGE9XCJcIix0aGlzLl9oaXRMaW1pdD0hMX1wdXQoZSx0LGkpe3RoaXMuX2hpdExpbWl0fHwodGhpcy5fZGF0YSs9KDAsci51dGYzMlRvU3RyaW5nKShlLHQsaSksdGhpcy5fZGF0YS5sZW5ndGg+cy5QQVlMT0FEX0xJTUlUJiYodGhpcy5fZGF0YT1cIlwiLHRoaXMuX2hpdExpbWl0PSEwKSl9ZW5kKGUpe2xldCB0PSExO2lmKHRoaXMuX2hpdExpbWl0KXQ9ITE7ZWxzZSBpZihlJiYodD10aGlzLl9oYW5kbGVyKHRoaXMuX2RhdGEpLHQgaW5zdGFuY2VvZiBQcm9taXNlKSlyZXR1cm4gdC50aGVuKChlPT4odGhpcy5fZGF0YT1cIlwiLHRoaXMuX2hpdExpbWl0PSExLGUpKSk7cmV0dXJuIHRoaXMuX2RhdGE9XCJcIix0aGlzLl9oaXRMaW1pdD0hMSx0fX19LDg3NDI6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LlBhcmFtcz12b2lkIDA7Y29uc3QgaT0yMTQ3NDgzNjQ3O2NsYXNzIHN7c3RhdGljIGZyb21BcnJheShlKXtjb25zdCB0PW5ldyBzO2lmKCFlLmxlbmd0aClyZXR1cm4gdDtmb3IobGV0IGk9QXJyYXkuaXNBcnJheShlWzBdKT8xOjA7aTxlLmxlbmd0aDsrK2kpe2NvbnN0IHM9ZVtpXTtpZihBcnJheS5pc0FycmF5KHMpKWZvcihsZXQgZT0wO2U8cy5sZW5ndGg7KytlKXQuYWRkU3ViUGFyYW0oc1tlXSk7ZWxzZSB0LmFkZFBhcmFtKHMpfXJldHVybiB0fWNvbnN0cnVjdG9yKGU9MzIsdD0zMil7aWYodGhpcy5tYXhMZW5ndGg9ZSx0aGlzLm1heFN1YlBhcmFtc0xlbmd0aD10LHQ+MjU2KXRocm93IG5ldyBFcnJvcihcIm1heFN1YlBhcmFtc0xlbmd0aCBtdXN0IG5vdCBiZSBncmVhdGVyIHRoYW4gMjU2XCIpO3RoaXMucGFyYW1zPW5ldyBJbnQzMkFycmF5KGUpLHRoaXMubGVuZ3RoPTAsdGhpcy5fc3ViUGFyYW1zPW5ldyBJbnQzMkFycmF5KHQpLHRoaXMuX3N1YlBhcmFtc0xlbmd0aD0wLHRoaXMuX3N1YlBhcmFtc0lkeD1uZXcgVWludDE2QXJyYXkoZSksdGhpcy5fcmVqZWN0RGlnaXRzPSExLHRoaXMuX3JlamVjdFN1YkRpZ2l0cz0hMSx0aGlzLl9kaWdpdElzU3ViPSExfWNsb25lKCl7Y29uc3QgZT1uZXcgcyh0aGlzLm1heExlbmd0aCx0aGlzLm1heFN1YlBhcmFtc0xlbmd0aCk7cmV0dXJuIGUucGFyYW1zLnNldCh0aGlzLnBhcmFtcyksZS5sZW5ndGg9dGhpcy5sZW5ndGgsZS5fc3ViUGFyYW1zLnNldCh0aGlzLl9zdWJQYXJhbXMpLGUuX3N1YlBhcmFtc0xlbmd0aD10aGlzLl9zdWJQYXJhbXNMZW5ndGgsZS5fc3ViUGFyYW1zSWR4LnNldCh0aGlzLl9zdWJQYXJhbXNJZHgpLGUuX3JlamVjdERpZ2l0cz10aGlzLl9yZWplY3REaWdpdHMsZS5fcmVqZWN0U3ViRGlnaXRzPXRoaXMuX3JlamVjdFN1YkRpZ2l0cyxlLl9kaWdpdElzU3ViPXRoaXMuX2RpZ2l0SXNTdWIsZX10b0FycmF5KCl7Y29uc3QgZT1bXTtmb3IobGV0IHQ9MDt0PHRoaXMubGVuZ3RoOysrdCl7ZS5wdXNoKHRoaXMucGFyYW1zW3RdKTtjb25zdCBpPXRoaXMuX3N1YlBhcmFtc0lkeFt0XT4+OCxzPTI1NSZ0aGlzLl9zdWJQYXJhbXNJZHhbdF07cy1pPjAmJmUucHVzaChBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0aGlzLl9zdWJQYXJhbXMsaSxzKSl9cmV0dXJuIGV9cmVzZXQoKXt0aGlzLmxlbmd0aD0wLHRoaXMuX3N1YlBhcmFtc0xlbmd0aD0wLHRoaXMuX3JlamVjdERpZ2l0cz0hMSx0aGlzLl9yZWplY3RTdWJEaWdpdHM9ITEsdGhpcy5fZGlnaXRJc1N1Yj0hMX1hZGRQYXJhbShlKXtpZih0aGlzLl9kaWdpdElzU3ViPSExLHRoaXMubGVuZ3RoPj10aGlzLm1heExlbmd0aCl0aGlzLl9yZWplY3REaWdpdHM9ITA7ZWxzZXtpZihlPC0xKXRocm93IG5ldyBFcnJvcihcInZhbHVlcyBsZXNzZXIgdGhhbiAtMSBhcmUgbm90IGFsbG93ZWRcIik7dGhpcy5fc3ViUGFyYW1zSWR4W3RoaXMubGVuZ3RoXT10aGlzLl9zdWJQYXJhbXNMZW5ndGg8PDh8dGhpcy5fc3ViUGFyYW1zTGVuZ3RoLHRoaXMucGFyYW1zW3RoaXMubGVuZ3RoKytdPWU+aT9pOmV9fWFkZFN1YlBhcmFtKGUpe2lmKHRoaXMuX2RpZ2l0SXNTdWI9ITAsdGhpcy5sZW5ndGgpaWYodGhpcy5fcmVqZWN0RGlnaXRzfHx0aGlzLl9zdWJQYXJhbXNMZW5ndGg+PXRoaXMubWF4U3ViUGFyYW1zTGVuZ3RoKXRoaXMuX3JlamVjdFN1YkRpZ2l0cz0hMDtlbHNle2lmKGU8LTEpdGhyb3cgbmV3IEVycm9yKFwidmFsdWVzIGxlc3NlciB0aGFuIC0xIGFyZSBub3QgYWxsb3dlZFwiKTt0aGlzLl9zdWJQYXJhbXNbdGhpcy5fc3ViUGFyYW1zTGVuZ3RoKytdPWU+aT9pOmUsdGhpcy5fc3ViUGFyYW1zSWR4W3RoaXMubGVuZ3RoLTFdKyt9fWhhc1N1YlBhcmFtcyhlKXtyZXR1cm4oMjU1JnRoaXMuX3N1YlBhcmFtc0lkeFtlXSktKHRoaXMuX3N1YlBhcmFtc0lkeFtlXT4+OCk+MH1nZXRTdWJQYXJhbXMoZSl7Y29uc3QgdD10aGlzLl9zdWJQYXJhbXNJZHhbZV0+PjgsaT0yNTUmdGhpcy5fc3ViUGFyYW1zSWR4W2VdO3JldHVybiBpLXQ+MD90aGlzLl9zdWJQYXJhbXMuc3ViYXJyYXkodCxpKTpudWxsfWdldFN1YlBhcmFtc0FsbCgpe2NvbnN0IGU9e307Zm9yKGxldCB0PTA7dDx0aGlzLmxlbmd0aDsrK3Qpe2NvbnN0IGk9dGhpcy5fc3ViUGFyYW1zSWR4W3RdPj44LHM9MjU1JnRoaXMuX3N1YlBhcmFtc0lkeFt0XTtzLWk+MCYmKGVbdF09dGhpcy5fc3ViUGFyYW1zLnNsaWNlKGkscykpfXJldHVybiBlfWFkZERpZ2l0KGUpe2xldCB0O2lmKHRoaXMuX3JlamVjdERpZ2l0c3x8ISh0PXRoaXMuX2RpZ2l0SXNTdWI/dGhpcy5fc3ViUGFyYW1zTGVuZ3RoOnRoaXMubGVuZ3RoKXx8dGhpcy5fZGlnaXRJc1N1YiYmdGhpcy5fcmVqZWN0U3ViRGlnaXRzKXJldHVybjtjb25zdCBzPXRoaXMuX2RpZ2l0SXNTdWI/dGhpcy5fc3ViUGFyYW1zOnRoaXMucGFyYW1zLHI9c1t0LTFdO3NbdC0xXT1+cj9NYXRoLm1pbigxMCpyK2UsaSk6ZX19dC5QYXJhbXM9c30sNTc0MTooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuQWRkb25NYW5hZ2VyPXZvaWQgMCx0LkFkZG9uTWFuYWdlcj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2FkZG9ucz1bXX1kaXNwb3NlKCl7Zm9yKGxldCBlPXRoaXMuX2FkZG9ucy5sZW5ndGgtMTtlPj0wO2UtLSl0aGlzLl9hZGRvbnNbZV0uaW5zdGFuY2UuZGlzcG9zZSgpfWxvYWRBZGRvbihlLHQpe2NvbnN0IGk9e2luc3RhbmNlOnQsZGlzcG9zZTp0LmRpc3Bvc2UsaXNEaXNwb3NlZDohMX07dGhpcy5fYWRkb25zLnB1c2goaSksdC5kaXNwb3NlPSgpPT50aGlzLl93cmFwcGVkQWRkb25EaXNwb3NlKGkpLHQuYWN0aXZhdGUoZSl9X3dyYXBwZWRBZGRvbkRpc3Bvc2UoZSl7aWYoZS5pc0Rpc3Bvc2VkKXJldHVybjtsZXQgdD0tMTtmb3IobGV0IGk9MDtpPHRoaXMuX2FkZG9ucy5sZW5ndGg7aSsrKWlmKHRoaXMuX2FkZG9uc1tpXT09PWUpe3Q9aTticmVha31pZigtMT09PXQpdGhyb3cgbmV3IEVycm9yKFwiQ291bGQgbm90IGRpc3Bvc2UgYW4gYWRkb24gdGhhdCBoYXMgbm90IGJlZW4gbG9hZGVkXCIpO2UuaXNEaXNwb3NlZD0hMCxlLmRpc3Bvc2UuYXBwbHkoZS5pbnN0YW5jZSksdGhpcy5fYWRkb25zLnNwbGljZSh0LDEpfX19LDg3NzE6KGUsdCxpKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuQnVmZmVyQXBpVmlldz12b2lkIDA7Y29uc3Qgcz1pKDM3ODUpLHI9aSg1MTEpO3QuQnVmZmVyQXBpVmlldz1jbGFzc3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2J1ZmZlcj1lLHRoaXMudHlwZT10fWluaXQoZSl7cmV0dXJuIHRoaXMuX2J1ZmZlcj1lLHRoaXN9Z2V0IGN1cnNvclkoKXtyZXR1cm4gdGhpcy5fYnVmZmVyLnl9Z2V0IGN1cnNvclgoKXtyZXR1cm4gdGhpcy5fYnVmZmVyLnh9Z2V0IHZpZXdwb3J0WSgpe3JldHVybiB0aGlzLl9idWZmZXIueWRpc3B9Z2V0IGJhc2VZKCl7cmV0dXJuIHRoaXMuX2J1ZmZlci55YmFzZX1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMuX2J1ZmZlci5saW5lcy5sZW5ndGh9Z2V0TGluZShlKXtjb25zdCB0PXRoaXMuX2J1ZmZlci5saW5lcy5nZXQoZSk7aWYodClyZXR1cm4gbmV3IHMuQnVmZmVyTGluZUFwaVZpZXcodCl9Z2V0TnVsbENlbGwoKXtyZXR1cm4gbmV3IHIuQ2VsbERhdGF9fX0sMzc4NTooZSx0LGkpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5CdWZmZXJMaW5lQXBpVmlldz12b2lkIDA7Y29uc3Qgcz1pKDUxMSk7dC5CdWZmZXJMaW5lQXBpVmlldz1jbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9saW5lPWV9Z2V0IGlzV3JhcHBlZCgpe3JldHVybiB0aGlzLl9saW5lLmlzV3JhcHBlZH1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMuX2xpbmUubGVuZ3RofWdldENlbGwoZSx0KXtpZighKGU8MHx8ZT49dGhpcy5fbGluZS5sZW5ndGgpKXJldHVybiB0Pyh0aGlzLl9saW5lLmxvYWRDZWxsKGUsdCksdCk6dGhpcy5fbGluZS5sb2FkQ2VsbChlLG5ldyBzLkNlbGxEYXRhKX10cmFuc2xhdGVUb1N0cmluZyhlLHQsaSl7cmV0dXJuIHRoaXMuX2xpbmUudHJhbnNsYXRlVG9TdHJpbmcoZSx0LGkpfX19LDgyODU6KGUsdCxpKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuQnVmZmVyTmFtZXNwYWNlQXBpPXZvaWQgMDtjb25zdCBzPWkoODc3MSkscj1pKDg0NjApLG49aSg4NDQpO2NsYXNzIG8gZXh0ZW5kcyBuLkRpc3Bvc2FibGV7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9jb3JlPWUsdGhpcy5fb25CdWZmZXJDaGFuZ2U9dGhpcy5yZWdpc3RlcihuZXcgci5FdmVudEVtaXR0ZXIpLHRoaXMub25CdWZmZXJDaGFuZ2U9dGhpcy5fb25CdWZmZXJDaGFuZ2UuZXZlbnQsdGhpcy5fbm9ybWFsPW5ldyBzLkJ1ZmZlckFwaVZpZXcodGhpcy5fY29yZS5idWZmZXJzLm5vcm1hbCxcIm5vcm1hbFwiKSx0aGlzLl9hbHRlcm5hdGU9bmV3IHMuQnVmZmVyQXBpVmlldyh0aGlzLl9jb3JlLmJ1ZmZlcnMuYWx0LFwiYWx0ZXJuYXRlXCIpLHRoaXMuX2NvcmUuYnVmZmVycy5vbkJ1ZmZlckFjdGl2YXRlKCgoKT0+dGhpcy5fb25CdWZmZXJDaGFuZ2UuZmlyZSh0aGlzLmFjdGl2ZSkpKX1nZXQgYWN0aXZlKCl7aWYodGhpcy5fY29yZS5idWZmZXJzLmFjdGl2ZT09PXRoaXMuX2NvcmUuYnVmZmVycy5ub3JtYWwpcmV0dXJuIHRoaXMubm9ybWFsO2lmKHRoaXMuX2NvcmUuYnVmZmVycy5hY3RpdmU9PT10aGlzLl9jb3JlLmJ1ZmZlcnMuYWx0KXJldHVybiB0aGlzLmFsdGVybmF0ZTt0aHJvdyBuZXcgRXJyb3IoXCJBY3RpdmUgYnVmZmVyIGlzIG5laXRoZXIgbm9ybWFsIG5vciBhbHRlcm5hdGVcIil9Z2V0IG5vcm1hbCgpe3JldHVybiB0aGlzLl9ub3JtYWwuaW5pdCh0aGlzLl9jb3JlLmJ1ZmZlcnMubm9ybWFsKX1nZXQgYWx0ZXJuYXRlKCl7cmV0dXJuIHRoaXMuX2FsdGVybmF0ZS5pbml0KHRoaXMuX2NvcmUuYnVmZmVycy5hbHQpfX10LkJ1ZmZlck5hbWVzcGFjZUFwaT1vfSw3OTc1OihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5QYXJzZXJBcGk9dm9pZCAwLHQuUGFyc2VyQXBpPWNsYXNze2NvbnN0cnVjdG9yKGUpe3RoaXMuX2NvcmU9ZX1yZWdpc3RlckNzaUhhbmRsZXIoZSx0KXtyZXR1cm4gdGhpcy5fY29yZS5yZWdpc3RlckNzaUhhbmRsZXIoZSwoZT0+dChlLnRvQXJyYXkoKSkpKX1hZGRDc2lIYW5kbGVyKGUsdCl7cmV0dXJuIHRoaXMucmVnaXN0ZXJDc2lIYW5kbGVyKGUsdCl9cmVnaXN0ZXJEY3NIYW5kbGVyKGUsdCl7cmV0dXJuIHRoaXMuX2NvcmUucmVnaXN0ZXJEY3NIYW5kbGVyKGUsKChlLGkpPT50KGUsaS50b0FycmF5KCkpKSl9YWRkRGNzSGFuZGxlcihlLHQpe3JldHVybiB0aGlzLnJlZ2lzdGVyRGNzSGFuZGxlcihlLHQpfXJlZ2lzdGVyRXNjSGFuZGxlcihlLHQpe3JldHVybiB0aGlzLl9jb3JlLnJlZ2lzdGVyRXNjSGFuZGxlcihlLHQpfWFkZEVzY0hhbmRsZXIoZSx0KXtyZXR1cm4gdGhpcy5yZWdpc3RlckVzY0hhbmRsZXIoZSx0KX1yZWdpc3Rlck9zY0hhbmRsZXIoZSx0KXtyZXR1cm4gdGhpcy5fY29yZS5yZWdpc3Rlck9zY0hhbmRsZXIoZSx0KX1hZGRPc2NIYW5kbGVyKGUsdCl7cmV0dXJuIHRoaXMucmVnaXN0ZXJPc2NIYW5kbGVyKGUsdCl9fX0sNzA5MDooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuVW5pY29kZUFwaT12b2lkIDAsdC5Vbmljb2RlQXBpPWNsYXNze2NvbnN0cnVjdG9yKGUpe3RoaXMuX2NvcmU9ZX1yZWdpc3RlcihlKXt0aGlzLl9jb3JlLnVuaWNvZGVTZXJ2aWNlLnJlZ2lzdGVyKGUpfWdldCB2ZXJzaW9ucygpe3JldHVybiB0aGlzLl9jb3JlLnVuaWNvZGVTZXJ2aWNlLnZlcnNpb25zfWdldCBhY3RpdmVWZXJzaW9uKCl7cmV0dXJuIHRoaXMuX2NvcmUudW5pY29kZVNlcnZpY2UuYWN0aXZlVmVyc2lvbn1zZXQgYWN0aXZlVmVyc2lvbihlKXt0aGlzLl9jb3JlLnVuaWNvZGVTZXJ2aWNlLmFjdGl2ZVZlcnNpb249ZX19fSw3NDQ6ZnVuY3Rpb24oZSx0LGkpe3ZhciBzPXRoaXMmJnRoaXMuX19kZWNvcmF0ZXx8ZnVuY3Rpb24oZSx0LGkscyl7dmFyIHIsbj1hcmd1bWVudHMubGVuZ3RoLG89bjwzP3Q6bnVsbD09PXM/cz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsaSk6cztpZihcIm9iamVjdFwiPT10eXBlb2YgUmVmbGVjdCYmXCJmdW5jdGlvblwiPT10eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSlvPVJlZmxlY3QuZGVjb3JhdGUoZSx0LGkscyk7ZWxzZSBmb3IodmFyIGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkocj1lW2FdKSYmKG89KG48Mz9yKG8pOm4+Mz9yKHQsaSxvKTpyKHQsaSkpfHxvKTtyZXR1cm4gbj4zJiZvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxpLG8pLG99LHI9dGhpcyYmdGhpcy5fX3BhcmFtfHxmdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihpLHMpe3QoaSxzLGUpfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5CdWZmZXJTZXJ2aWNlPXQuTUlOSU1VTV9ST1dTPXQuTUlOSU1VTV9DT0xTPXZvaWQgMDtjb25zdCBuPWkoODQ2MCksbz1pKDg0NCksYT1pKDUyOTUpLGg9aSgyNTg1KTt0Lk1JTklNVU1fQ09MUz0yLHQuTUlOSU1VTV9ST1dTPTE7bGV0IGM9dC5CdWZmZXJTZXJ2aWNlPWNsYXNzIGV4dGVuZHMgby5EaXNwb3NhYmxle2dldCBidWZmZXIoKXtyZXR1cm4gdGhpcy5idWZmZXJzLmFjdGl2ZX1jb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuaXNVc2VyU2Nyb2xsaW5nPSExLHRoaXMuX29uUmVzaXplPXRoaXMucmVnaXN0ZXIobmV3IG4uRXZlbnRFbWl0dGVyKSx0aGlzLm9uUmVzaXplPXRoaXMuX29uUmVzaXplLmV2ZW50LHRoaXMuX29uU2Nyb2xsPXRoaXMucmVnaXN0ZXIobmV3IG4uRXZlbnRFbWl0dGVyKSx0aGlzLm9uU2Nyb2xsPXRoaXMuX29uU2Nyb2xsLmV2ZW50LHRoaXMuY29scz1NYXRoLm1heChlLnJhd09wdGlvbnMuY29sc3x8MCx0Lk1JTklNVU1fQ09MUyksdGhpcy5yb3dzPU1hdGgubWF4KGUucmF3T3B0aW9ucy5yb3dzfHwwLHQuTUlOSU1VTV9ST1dTKSx0aGlzLmJ1ZmZlcnM9dGhpcy5yZWdpc3RlcihuZXcgYS5CdWZmZXJTZXQoZSx0aGlzKSl9cmVzaXplKGUsdCl7dGhpcy5jb2xzPWUsdGhpcy5yb3dzPXQsdGhpcy5idWZmZXJzLnJlc2l6ZShlLHQpLHRoaXMuX29uUmVzaXplLmZpcmUoe2NvbHM6ZSxyb3dzOnR9KX1yZXNldCgpe3RoaXMuYnVmZmVycy5yZXNldCgpLHRoaXMuaXNVc2VyU2Nyb2xsaW5nPSExfXNjcm9sbChlLHQ9ITEpe2NvbnN0IGk9dGhpcy5idWZmZXI7bGV0IHM7cz10aGlzLl9jYWNoZWRCbGFua0xpbmUscyYmcy5sZW5ndGg9PT10aGlzLmNvbHMmJnMuZ2V0RmcoMCk9PT1lLmZnJiZzLmdldEJnKDApPT09ZS5iZ3x8KHM9aS5nZXRCbGFua0xpbmUoZSx0KSx0aGlzLl9jYWNoZWRCbGFua0xpbmU9cykscy5pc1dyYXBwZWQ9dDtjb25zdCByPWkueWJhc2UraS5zY3JvbGxUb3Asbj1pLnliYXNlK2kuc2Nyb2xsQm90dG9tO2lmKDA9PT1pLnNjcm9sbFRvcCl7Y29uc3QgZT1pLmxpbmVzLmlzRnVsbDtuPT09aS5saW5lcy5sZW5ndGgtMT9lP2kubGluZXMucmVjeWNsZSgpLmNvcHlGcm9tKHMpOmkubGluZXMucHVzaChzLmNsb25lKCkpOmkubGluZXMuc3BsaWNlKG4rMSwwLHMuY2xvbmUoKSksZT90aGlzLmlzVXNlclNjcm9sbGluZyYmKGkueWRpc3A9TWF0aC5tYXgoaS55ZGlzcC0xLDApKTooaS55YmFzZSsrLHRoaXMuaXNVc2VyU2Nyb2xsaW5nfHxpLnlkaXNwKyspfWVsc2V7Y29uc3QgZT1uLXIrMTtpLmxpbmVzLnNoaWZ0RWxlbWVudHMocisxLGUtMSwtMSksaS5saW5lcy5zZXQobixzLmNsb25lKCkpfXRoaXMuaXNVc2VyU2Nyb2xsaW5nfHwoaS55ZGlzcD1pLnliYXNlKSx0aGlzLl9vblNjcm9sbC5maXJlKGkueWRpc3ApfXNjcm9sbExpbmVzKGUsdCxpKXtjb25zdCBzPXRoaXMuYnVmZmVyO2lmKGU8MCl7aWYoMD09PXMueWRpc3ApcmV0dXJuO3RoaXMuaXNVc2VyU2Nyb2xsaW5nPSEwfWVsc2UgZStzLnlkaXNwPj1zLnliYXNlJiYodGhpcy5pc1VzZXJTY3JvbGxpbmc9ITEpO2NvbnN0IHI9cy55ZGlzcDtzLnlkaXNwPU1hdGgubWF4KE1hdGgubWluKHMueWRpc3ArZSxzLnliYXNlKSwwKSxyIT09cy55ZGlzcCYmKHR8fHRoaXMuX29uU2Nyb2xsLmZpcmUocy55ZGlzcCkpfX07dC5CdWZmZXJTZXJ2aWNlPWM9cyhbcigwLGguSU9wdGlvbnNTZXJ2aWNlKV0sYyl9LDc5OTQ6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkNoYXJzZXRTZXJ2aWNlPXZvaWQgMCx0LkNoYXJzZXRTZXJ2aWNlPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5nbGV2ZWw9MCx0aGlzLl9jaGFyc2V0cz1bXX1yZXNldCgpe3RoaXMuY2hhcnNldD12b2lkIDAsdGhpcy5fY2hhcnNldHM9W10sdGhpcy5nbGV2ZWw9MH1zZXRnTGV2ZWwoZSl7dGhpcy5nbGV2ZWw9ZSx0aGlzLmNoYXJzZXQ9dGhpcy5fY2hhcnNldHNbZV19c2V0Z0NoYXJzZXQoZSx0KXt0aGlzLl9jaGFyc2V0c1tlXT10LHRoaXMuZ2xldmVsPT09ZSYmKHRoaXMuY2hhcnNldD10KX19fSwxNzUzOmZ1bmN0aW9uKGUsdCxpKXt2YXIgcz10aGlzJiZ0aGlzLl9fZGVjb3JhdGV8fGZ1bmN0aW9uKGUsdCxpLHMpe3ZhciByLG49YXJndW1lbnRzLmxlbmd0aCxvPW48Mz90Om51bGw9PT1zP3M9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGkpOnM7aWYoXCJvYmplY3RcIj09dHlwZW9mIFJlZmxlY3QmJlwiZnVuY3Rpb25cIj09dHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUpbz1SZWZsZWN0LmRlY29yYXRlKGUsdCxpLHMpO2Vsc2UgZm9yKHZhciBhPWUubGVuZ3RoLTE7YT49MDthLS0pKHI9ZVthXSkmJihvPShuPDM/cihvKTpuPjM/cih0LGksbyk6cih0LGkpKXx8byk7cmV0dXJuIG4+MyYmbyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsaSxvKSxvfSxyPXRoaXMmJnRoaXMuX19wYXJhbXx8ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oaSxzKXt0KGkscyxlKX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuQ29yZU1vdXNlU2VydmljZT12b2lkIDA7Y29uc3Qgbj1pKDI1ODUpLG89aSg4NDYwKSxhPWkoODQ0KSxoPXtOT05FOntldmVudHM6MCxyZXN0cmljdDooKT0+ITF9LFgxMDp7ZXZlbnRzOjEscmVzdHJpY3Q6ZT0+NCE9PWUuYnV0dG9uJiYxPT09ZS5hY3Rpb24mJihlLmN0cmw9ITEsZS5hbHQ9ITEsZS5zaGlmdD0hMSwhMCl9LFZUMjAwOntldmVudHM6MTkscmVzdHJpY3Q6ZT0+MzIhPT1lLmFjdGlvbn0sRFJBRzp7ZXZlbnRzOjIzLHJlc3RyaWN0OmU9PjMyIT09ZS5hY3Rpb258fDMhPT1lLmJ1dHRvbn0sQU5ZOntldmVudHM6MzEscmVzdHJpY3Q6ZT0+ITB9fTtmdW5jdGlvbiBjKGUsdCl7bGV0IGk9KGUuY3RybD8xNjowKXwoZS5zaGlmdD80OjApfChlLmFsdD84OjApO3JldHVybiA0PT09ZS5idXR0b24/KGl8PTY0LGl8PWUuYWN0aW9uKTooaXw9MyZlLmJ1dHRvbiw0JmUuYnV0dG9uJiYoaXw9NjQpLDgmZS5idXR0b24mJihpfD0xMjgpLDMyPT09ZS5hY3Rpb24/aXw9MzI6MCE9PWUuYWN0aW9ufHx0fHwoaXw9MykpLGl9Y29uc3QgbD1TdHJpbmcuZnJvbUNoYXJDb2RlLGQ9e0RFRkFVTFQ6ZT0+e2NvbnN0IHQ9W2MoZSwhMSkrMzIsZS5jb2wrMzIsZS5yb3crMzJdO3JldHVybiB0WzBdPjI1NXx8dFsxXT4yNTV8fHRbMl0+MjU1P1wiXCI6YFx1MDAxYltNJHtsKHRbMF0pfSR7bCh0WzFdKX0ke2wodFsyXSl9YH0sU0dSOmU9Pntjb25zdCB0PTA9PT1lLmFjdGlvbiYmNCE9PWUuYnV0dG9uP1wibVwiOlwiTVwiO3JldHVybmBcdTAwMWJbPCR7YyhlLCEwKX07JHtlLmNvbH07JHtlLnJvd30ke3R9YH0sU0dSX1BJWEVMUzplPT57Y29uc3QgdD0wPT09ZS5hY3Rpb24mJjQhPT1lLmJ1dHRvbj9cIm1cIjpcIk1cIjtyZXR1cm5gXHUwMDFiWzwke2MoZSwhMCl9OyR7ZS54fTske2UueX0ke3R9YH19O2xldCBfPXQuQ29yZU1vdXNlU2VydmljZT1jbGFzcyBleHRlbmRzIGEuRGlzcG9zYWJsZXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCksdGhpcy5fYnVmZmVyU2VydmljZT1lLHRoaXMuX2NvcmVTZXJ2aWNlPXQsdGhpcy5fcHJvdG9jb2xzPXt9LHRoaXMuX2VuY29kaW5ncz17fSx0aGlzLl9hY3RpdmVQcm90b2NvbD1cIlwiLHRoaXMuX2FjdGl2ZUVuY29kaW5nPVwiXCIsdGhpcy5fbGFzdEV2ZW50PW51bGwsdGhpcy5fb25Qcm90b2NvbENoYW5nZT10aGlzLnJlZ2lzdGVyKG5ldyBvLkV2ZW50RW1pdHRlciksdGhpcy5vblByb3RvY29sQ2hhbmdlPXRoaXMuX29uUHJvdG9jb2xDaGFuZ2UuZXZlbnQ7Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LmtleXMoaCkpdGhpcy5hZGRQcm90b2NvbChlLGhbZV0pO2Zvcihjb25zdCBlIG9mIE9iamVjdC5rZXlzKGQpKXRoaXMuYWRkRW5jb2RpbmcoZSxkW2VdKTt0aGlzLnJlc2V0KCl9YWRkUHJvdG9jb2woZSx0KXt0aGlzLl9wcm90b2NvbHNbZV09dH1hZGRFbmNvZGluZyhlLHQpe3RoaXMuX2VuY29kaW5nc1tlXT10fWdldCBhY3RpdmVQcm90b2NvbCgpe3JldHVybiB0aGlzLl9hY3RpdmVQcm90b2NvbH1nZXQgYXJlTW91c2VFdmVudHNBY3RpdmUoKXtyZXR1cm4gMCE9PXRoaXMuX3Byb3RvY29sc1t0aGlzLl9hY3RpdmVQcm90b2NvbF0uZXZlbnRzfXNldCBhY3RpdmVQcm90b2NvbChlKXtpZighdGhpcy5fcHJvdG9jb2xzW2VdKXRocm93IG5ldyBFcnJvcihgdW5rbm93biBwcm90b2NvbCBcIiR7ZX1cImApO3RoaXMuX2FjdGl2ZVByb3RvY29sPWUsdGhpcy5fb25Qcm90b2NvbENoYW5nZS5maXJlKHRoaXMuX3Byb3RvY29sc1tlXS5ldmVudHMpfWdldCBhY3RpdmVFbmNvZGluZygpe3JldHVybiB0aGlzLl9hY3RpdmVFbmNvZGluZ31zZXQgYWN0aXZlRW5jb2RpbmcoZSl7aWYoIXRoaXMuX2VuY29kaW5nc1tlXSl0aHJvdyBuZXcgRXJyb3IoYHVua25vd24gZW5jb2RpbmcgXCIke2V9XCJgKTt0aGlzLl9hY3RpdmVFbmNvZGluZz1lfXJlc2V0KCl7dGhpcy5hY3RpdmVQcm90b2NvbD1cIk5PTkVcIix0aGlzLmFjdGl2ZUVuY29kaW5nPVwiREVGQVVMVFwiLHRoaXMuX2xhc3RFdmVudD1udWxsfXRyaWdnZXJNb3VzZUV2ZW50KGUpe2lmKGUuY29sPDB8fGUuY29sPj10aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHN8fGUucm93PDB8fGUucm93Pj10aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MpcmV0dXJuITE7aWYoND09PWUuYnV0dG9uJiYzMj09PWUuYWN0aW9uKXJldHVybiExO2lmKDM9PT1lLmJ1dHRvbiYmMzIhPT1lLmFjdGlvbilyZXR1cm4hMTtpZig0IT09ZS5idXR0b24mJigyPT09ZS5hY3Rpb258fDM9PT1lLmFjdGlvbikpcmV0dXJuITE7aWYoZS5jb2wrKyxlLnJvdysrLDMyPT09ZS5hY3Rpb24mJnRoaXMuX2xhc3RFdmVudCYmdGhpcy5fZXF1YWxFdmVudHModGhpcy5fbGFzdEV2ZW50LGUsXCJTR1JfUElYRUxTXCI9PT10aGlzLl9hY3RpdmVFbmNvZGluZykpcmV0dXJuITE7aWYoIXRoaXMuX3Byb3RvY29sc1t0aGlzLl9hY3RpdmVQcm90b2NvbF0ucmVzdHJpY3QoZSkpcmV0dXJuITE7Y29uc3QgdD10aGlzLl9lbmNvZGluZ3NbdGhpcy5fYWN0aXZlRW5jb2RpbmddKGUpO3JldHVybiB0JiYoXCJERUZBVUxUXCI9PT10aGlzLl9hY3RpdmVFbmNvZGluZz90aGlzLl9jb3JlU2VydmljZS50cmlnZ2VyQmluYXJ5RXZlbnQodCk6dGhpcy5fY29yZVNlcnZpY2UudHJpZ2dlckRhdGFFdmVudCh0LCEwKSksdGhpcy5fbGFzdEV2ZW50PWUsITB9ZXhwbGFpbkV2ZW50cyhlKXtyZXR1cm57ZG93bjohISgxJmUpLHVwOiEhKDImZSksZHJhZzohISg0JmUpLG1vdmU6ISEoOCZlKSx3aGVlbDohISgxNiZlKX19X2VxdWFsRXZlbnRzKGUsdCxpKXtpZihpKXtpZihlLnghPT10LngpcmV0dXJuITE7aWYoZS55IT09dC55KXJldHVybiExfWVsc2V7aWYoZS5jb2whPT10LmNvbClyZXR1cm4hMTtpZihlLnJvdyE9PXQucm93KXJldHVybiExfXJldHVybiBlLmJ1dHRvbj09PXQuYnV0dG9uJiZlLmFjdGlvbj09PXQuYWN0aW9uJiZlLmN0cmw9PT10LmN0cmwmJmUuYWx0PT09dC5hbHQmJmUuc2hpZnQ9PT10LnNoaWZ0fX07dC5Db3JlTW91c2VTZXJ2aWNlPV89cyhbcigwLG4uSUJ1ZmZlclNlcnZpY2UpLHIoMSxuLklDb3JlU2VydmljZSldLF8pfSw2OTc1OmZ1bmN0aW9uKGUsdCxpKXt2YXIgcz10aGlzJiZ0aGlzLl9fZGVjb3JhdGV8fGZ1bmN0aW9uKGUsdCxpLHMpe3ZhciByLG49YXJndW1lbnRzLmxlbmd0aCxvPW48Mz90Om51bGw9PT1zP3M9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGkpOnM7aWYoXCJvYmplY3RcIj09dHlwZW9mIFJlZmxlY3QmJlwiZnVuY3Rpb25cIj09dHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUpbz1SZWZsZWN0LmRlY29yYXRlKGUsdCxpLHMpO2Vsc2UgZm9yKHZhciBhPWUubGVuZ3RoLTE7YT49MDthLS0pKHI9ZVthXSkmJihvPShuPDM/cihvKTpuPjM/cih0LGksbyk6cih0LGkpKXx8byk7cmV0dXJuIG4+MyYmbyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsaSxvKSxvfSxyPXRoaXMmJnRoaXMuX19wYXJhbXx8ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oaSxzKXt0KGkscyxlKX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuQ29yZVNlcnZpY2U9dm9pZCAwO2NvbnN0IG49aSgxNDM5KSxvPWkoODQ2MCksYT1pKDg0NCksaD1pKDI1ODUpLGM9T2JqZWN0LmZyZWV6ZSh7aW5zZXJ0TW9kZTohMX0pLGw9T2JqZWN0LmZyZWV6ZSh7YXBwbGljYXRpb25DdXJzb3JLZXlzOiExLGFwcGxpY2F0aW9uS2V5cGFkOiExLGJyYWNrZXRlZFBhc3RlTW9kZTohMSxvcmlnaW46ITEscmV2ZXJzZVdyYXBhcm91bmQ6ITEsc2VuZEZvY3VzOiExLHdyYXBhcm91bmQ6ITB9KTtsZXQgZD10LkNvcmVTZXJ2aWNlPWNsYXNzIGV4dGVuZHMgYS5EaXNwb3NhYmxle2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcigpLHRoaXMuX2J1ZmZlclNlcnZpY2U9ZSx0aGlzLl9sb2dTZXJ2aWNlPXQsdGhpcy5fb3B0aW9uc1NlcnZpY2U9aSx0aGlzLmlzQ3Vyc29ySW5pdGlhbGl6ZWQ9ITEsdGhpcy5pc0N1cnNvckhpZGRlbj0hMSx0aGlzLl9vbkRhdGE9dGhpcy5yZWdpc3RlcihuZXcgby5FdmVudEVtaXR0ZXIpLHRoaXMub25EYXRhPXRoaXMuX29uRGF0YS5ldmVudCx0aGlzLl9vblVzZXJJbnB1dD10aGlzLnJlZ2lzdGVyKG5ldyBvLkV2ZW50RW1pdHRlciksdGhpcy5vblVzZXJJbnB1dD10aGlzLl9vblVzZXJJbnB1dC5ldmVudCx0aGlzLl9vbkJpbmFyeT10aGlzLnJlZ2lzdGVyKG5ldyBvLkV2ZW50RW1pdHRlciksdGhpcy5vbkJpbmFyeT10aGlzLl9vbkJpbmFyeS5ldmVudCx0aGlzLl9vblJlcXVlc3RTY3JvbGxUb0JvdHRvbT10aGlzLnJlZ2lzdGVyKG5ldyBvLkV2ZW50RW1pdHRlciksdGhpcy5vblJlcXVlc3RTY3JvbGxUb0JvdHRvbT10aGlzLl9vblJlcXVlc3RTY3JvbGxUb0JvdHRvbS5ldmVudCx0aGlzLm1vZGVzPSgwLG4uY2xvbmUpKGMpLHRoaXMuZGVjUHJpdmF0ZU1vZGVzPSgwLG4uY2xvbmUpKGwpfXJlc2V0KCl7dGhpcy5tb2Rlcz0oMCxuLmNsb25lKShjKSx0aGlzLmRlY1ByaXZhdGVNb2Rlcz0oMCxuLmNsb25lKShsKX10cmlnZ2VyRGF0YUV2ZW50KGUsdD0hMSl7aWYodGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5kaXNhYmxlU3RkaW4pcmV0dXJuO2NvbnN0IGk9dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXI7dCYmdGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5zY3JvbGxPblVzZXJJbnB1dCYmaS55YmFzZSE9PWkueWRpc3AmJnRoaXMuX29uUmVxdWVzdFNjcm9sbFRvQm90dG9tLmZpcmUoKSx0JiZ0aGlzLl9vblVzZXJJbnB1dC5maXJlKCksdGhpcy5fbG9nU2VydmljZS5kZWJ1Zyhgc2VuZGluZyBkYXRhIFwiJHtlfVwiYCwoKCk9PmUuc3BsaXQoXCJcIikubWFwKChlPT5lLmNoYXJDb2RlQXQoMCkpKSkpLHRoaXMuX29uRGF0YS5maXJlKGUpfXRyaWdnZXJCaW5hcnlFdmVudChlKXt0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmRpc2FibGVTdGRpbnx8KHRoaXMuX2xvZ1NlcnZpY2UuZGVidWcoYHNlbmRpbmcgYmluYXJ5IFwiJHtlfVwiYCwoKCk9PmUuc3BsaXQoXCJcIikubWFwKChlPT5lLmNoYXJDb2RlQXQoMCkpKSkpLHRoaXMuX29uQmluYXJ5LmZpcmUoZSkpfX07dC5Db3JlU2VydmljZT1kPXMoW3IoMCxoLklCdWZmZXJTZXJ2aWNlKSxyKDEsaC5JTG9nU2VydmljZSkscigyLGguSU9wdGlvbnNTZXJ2aWNlKV0sZCl9LDkwNzQ6KGUsdCxpKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuRGVjb3JhdGlvblNlcnZpY2U9dm9pZCAwO2NvbnN0IHM9aSg4MDU1KSxyPWkoODQ2MCksbj1pKDg0NCksbz1pKDYxMDYpO2xldCBhPTAsaD0wO2NsYXNzIGMgZXh0ZW5kcyBuLkRpc3Bvc2FibGV7Z2V0IGRlY29yYXRpb25zKCl7cmV0dXJuIHRoaXMuX2RlY29yYXRpb25zLnZhbHVlcygpfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl9kZWNvcmF0aW9ucz1uZXcgby5Tb3J0ZWRMaXN0KChlPT5lPy5tYXJrZXIubGluZSkpLHRoaXMuX29uRGVjb3JhdGlvblJlZ2lzdGVyZWQ9dGhpcy5yZWdpc3RlcihuZXcgci5FdmVudEVtaXR0ZXIpLHRoaXMub25EZWNvcmF0aW9uUmVnaXN0ZXJlZD10aGlzLl9vbkRlY29yYXRpb25SZWdpc3RlcmVkLmV2ZW50LHRoaXMuX29uRGVjb3JhdGlvblJlbW92ZWQ9dGhpcy5yZWdpc3RlcihuZXcgci5FdmVudEVtaXR0ZXIpLHRoaXMub25EZWNvcmF0aW9uUmVtb3ZlZD10aGlzLl9vbkRlY29yYXRpb25SZW1vdmVkLmV2ZW50LHRoaXMucmVnaXN0ZXIoKDAsbi50b0Rpc3Bvc2FibGUpKCgoKT0+dGhpcy5yZXNldCgpKSkpfXJlZ2lzdGVyRGVjb3JhdGlvbihlKXtpZihlLm1hcmtlci5pc0Rpc3Bvc2VkKXJldHVybjtjb25zdCB0PW5ldyBsKGUpO2lmKHQpe2NvbnN0IGU9dC5tYXJrZXIub25EaXNwb3NlKCgoKT0+dC5kaXNwb3NlKCkpKTt0Lm9uRGlzcG9zZSgoKCk9Pnt0JiYodGhpcy5fZGVjb3JhdGlvbnMuZGVsZXRlKHQpJiZ0aGlzLl9vbkRlY29yYXRpb25SZW1vdmVkLmZpcmUodCksZS5kaXNwb3NlKCkpfSkpLHRoaXMuX2RlY29yYXRpb25zLmluc2VydCh0KSx0aGlzLl9vbkRlY29yYXRpb25SZWdpc3RlcmVkLmZpcmUodCl9cmV0dXJuIHR9cmVzZXQoKXtmb3IoY29uc3QgZSBvZiB0aGlzLl9kZWNvcmF0aW9ucy52YWx1ZXMoKSllLmRpc3Bvc2UoKTt0aGlzLl9kZWNvcmF0aW9ucy5jbGVhcigpfSpnZXREZWNvcmF0aW9uc0F0Q2VsbChlLHQsaSl7bGV0IHM9MCxyPTA7Zm9yKGNvbnN0IG4gb2YgdGhpcy5fZGVjb3JhdGlvbnMuZ2V0S2V5SXRlcmF0b3IodCkpcz1uLm9wdGlvbnMueD8/MCxyPXMrKG4ub3B0aW9ucy53aWR0aD8/MSksZT49cyYmZTxyJiYoIWl8fChuLm9wdGlvbnMubGF5ZXI/P1wiYm90dG9tXCIpPT09aSkmJih5aWVsZCBuKX1mb3JFYWNoRGVjb3JhdGlvbkF0Q2VsbChlLHQsaSxzKXt0aGlzLl9kZWNvcmF0aW9ucy5mb3JFYWNoQnlLZXkodCwodD0+e2E9dC5vcHRpb25zLng/PzAsaD1hKyh0Lm9wdGlvbnMud2lkdGg/PzEpLGU+PWEmJmU8aCYmKCFpfHwodC5vcHRpb25zLmxheWVyPz9cImJvdHRvbVwiKT09PWkpJiZzKHQpfSkpfX10LkRlY29yYXRpb25TZXJ2aWNlPWM7Y2xhc3MgbCBleHRlbmRzIG4uRGlzcG9zYWJsZXtnZXQgaXNEaXNwb3NlZCgpe3JldHVybiB0aGlzLl9pc0Rpc3Bvc2VkfWdldCBiYWNrZ3JvdW5kQ29sb3JSR0IoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2NhY2hlZEJnJiYodGhpcy5vcHRpb25zLmJhY2tncm91bmRDb2xvcj90aGlzLl9jYWNoZWRCZz1zLmNzcy50b0NvbG9yKHRoaXMub3B0aW9ucy5iYWNrZ3JvdW5kQ29sb3IpOnRoaXMuX2NhY2hlZEJnPXZvaWQgMCksdGhpcy5fY2FjaGVkQmd9Z2V0IGZvcmVncm91bmRDb2xvclJHQigpe3JldHVybiBudWxsPT09dGhpcy5fY2FjaGVkRmcmJih0aGlzLm9wdGlvbnMuZm9yZWdyb3VuZENvbG9yP3RoaXMuX2NhY2hlZEZnPXMuY3NzLnRvQ29sb3IodGhpcy5vcHRpb25zLmZvcmVncm91bmRDb2xvcik6dGhpcy5fY2FjaGVkRmc9dm9pZCAwKSx0aGlzLl9jYWNoZWRGZ31jb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMub3B0aW9ucz1lLHRoaXMub25SZW5kZXJFbWl0dGVyPXRoaXMucmVnaXN0ZXIobmV3IHIuRXZlbnRFbWl0dGVyKSx0aGlzLm9uUmVuZGVyPXRoaXMub25SZW5kZXJFbWl0dGVyLmV2ZW50LHRoaXMuX29uRGlzcG9zZT10aGlzLnJlZ2lzdGVyKG5ldyByLkV2ZW50RW1pdHRlciksdGhpcy5vbkRpc3Bvc2U9dGhpcy5fb25EaXNwb3NlLmV2ZW50LHRoaXMuX2NhY2hlZEJnPW51bGwsdGhpcy5fY2FjaGVkRmc9bnVsbCx0aGlzLm1hcmtlcj1lLm1hcmtlcix0aGlzLm9wdGlvbnMub3ZlcnZpZXdSdWxlck9wdGlvbnMmJiF0aGlzLm9wdGlvbnMub3ZlcnZpZXdSdWxlck9wdGlvbnMucG9zaXRpb24mJih0aGlzLm9wdGlvbnMub3ZlcnZpZXdSdWxlck9wdGlvbnMucG9zaXRpb249XCJmdWxsXCIpfWRpc3Bvc2UoKXt0aGlzLl9vbkRpc3Bvc2UuZmlyZSgpLHN1cGVyLmRpc3Bvc2UoKX19fSw0MzQ4OihlLHQsaSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0Lkluc3RhbnRpYXRpb25TZXJ2aWNlPXQuU2VydmljZUNvbGxlY3Rpb249dm9pZCAwO2NvbnN0IHM9aSgyNTg1KSxyPWkoODM0Myk7Y2xhc3Mgbntjb25zdHJ1Y3RvciguLi5lKXt0aGlzLl9lbnRyaWVzPW5ldyBNYXA7Zm9yKGNvbnN0W3QsaV1vZiBlKXRoaXMuc2V0KHQsaSl9c2V0KGUsdCl7Y29uc3QgaT10aGlzLl9lbnRyaWVzLmdldChlKTtyZXR1cm4gdGhpcy5fZW50cmllcy5zZXQoZSx0KSxpfWZvckVhY2goZSl7Zm9yKGNvbnN0W3QsaV1vZiB0aGlzLl9lbnRyaWVzLmVudHJpZXMoKSllKHQsaSl9aGFzKGUpe3JldHVybiB0aGlzLl9lbnRyaWVzLmhhcyhlKX1nZXQoZSl7cmV0dXJuIHRoaXMuX2VudHJpZXMuZ2V0KGUpfX10LlNlcnZpY2VDb2xsZWN0aW9uPW4sdC5JbnN0YW50aWF0aW9uU2VydmljZT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX3NlcnZpY2VzPW5ldyBuLHRoaXMuX3NlcnZpY2VzLnNldChzLklJbnN0YW50aWF0aW9uU2VydmljZSx0aGlzKX1zZXRTZXJ2aWNlKGUsdCl7dGhpcy5fc2VydmljZXMuc2V0KGUsdCl9Z2V0U2VydmljZShlKXtyZXR1cm4gdGhpcy5fc2VydmljZXMuZ2V0KGUpfWNyZWF0ZUluc3RhbmNlKGUsLi4udCl7Y29uc3QgaT0oMCxyLmdldFNlcnZpY2VEZXBlbmRlbmNpZXMpKGUpLnNvcnQoKChlLHQpPT5lLmluZGV4LXQuaW5kZXgpKSxzPVtdO2Zvcihjb25zdCB0IG9mIGkpe2NvbnN0IGk9dGhpcy5fc2VydmljZXMuZ2V0KHQuaWQpO2lmKCFpKXRocm93IG5ldyBFcnJvcihgW2NyZWF0ZUluc3RhbmNlXSAke2UubmFtZX0gZGVwZW5kcyBvbiBVTktOT1dOIHNlcnZpY2UgJHt0LmlkfS5gKTtzLnB1c2goaSl9Y29uc3Qgbj1pLmxlbmd0aD4wP2lbMF0uaW5kZXg6dC5sZW5ndGg7aWYodC5sZW5ndGghPT1uKXRocm93IG5ldyBFcnJvcihgW2NyZWF0ZUluc3RhbmNlXSBGaXJzdCBzZXJ2aWNlIGRlcGVuZGVuY3kgb2YgJHtlLm5hbWV9IGF0IHBvc2l0aW9uICR7bisxfSBjb25mbGljdHMgd2l0aCAke3QubGVuZ3RofSBzdGF0aWMgYXJndW1lbnRzYCk7cmV0dXJuIG5ldyBlKC4uLlsuLi50LC4uLnNdKX19fSw3ODY2OmZ1bmN0aW9uKGUsdCxpKXt2YXIgcz10aGlzJiZ0aGlzLl9fZGVjb3JhdGV8fGZ1bmN0aW9uKGUsdCxpLHMpe3ZhciByLG49YXJndW1lbnRzLmxlbmd0aCxvPW48Mz90Om51bGw9PT1zP3M9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGkpOnM7aWYoXCJvYmplY3RcIj09dHlwZW9mIFJlZmxlY3QmJlwiZnVuY3Rpb25cIj09dHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUpbz1SZWZsZWN0LmRlY29yYXRlKGUsdCxpLHMpO2Vsc2UgZm9yKHZhciBhPWUubGVuZ3RoLTE7YT49MDthLS0pKHI9ZVthXSkmJihvPShuPDM/cihvKTpuPjM/cih0LGksbyk6cih0LGkpKXx8byk7cmV0dXJuIG4+MyYmbyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsaSxvKSxvfSxyPXRoaXMmJnRoaXMuX19wYXJhbXx8ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oaSxzKXt0KGkscyxlKX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQudHJhY2VDYWxsPXQuc2V0VHJhY2VMb2dnZXI9dC5Mb2dTZXJ2aWNlPXZvaWQgMDtjb25zdCBuPWkoODQ0KSxvPWkoMjU4NSksYT17dHJhY2U6by5Mb2dMZXZlbEVudW0uVFJBQ0UsZGVidWc6by5Mb2dMZXZlbEVudW0uREVCVUcsaW5mbzpvLkxvZ0xldmVsRW51bS5JTkZPLHdhcm46by5Mb2dMZXZlbEVudW0uV0FSTixlcnJvcjpvLkxvZ0xldmVsRW51bS5FUlJPUixvZmY6by5Mb2dMZXZlbEVudW0uT0ZGfTtsZXQgaCxjPXQuTG9nU2VydmljZT1jbGFzcyBleHRlbmRzIG4uRGlzcG9zYWJsZXtnZXQgbG9nTGV2ZWwoKXtyZXR1cm4gdGhpcy5fbG9nTGV2ZWx9Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9vcHRpb25zU2VydmljZT1lLHRoaXMuX2xvZ0xldmVsPW8uTG9nTGV2ZWxFbnVtLk9GRix0aGlzLl91cGRhdGVMb2dMZXZlbCgpLHRoaXMucmVnaXN0ZXIodGhpcy5fb3B0aW9uc1NlcnZpY2Uub25TcGVjaWZpY09wdGlvbkNoYW5nZShcImxvZ0xldmVsXCIsKCgpPT50aGlzLl91cGRhdGVMb2dMZXZlbCgpKSkpLGg9dGhpc31fdXBkYXRlTG9nTGV2ZWwoKXt0aGlzLl9sb2dMZXZlbD1hW3RoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMubG9nTGV2ZWxdfV9ldmFsTGF6eU9wdGlvbmFsUGFyYW1zKGUpe2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKVwiZnVuY3Rpb25cIj09dHlwZW9mIGVbdF0mJihlW3RdPWVbdF0oKSl9X2xvZyhlLHQsaSl7dGhpcy5fZXZhbExhenlPcHRpb25hbFBhcmFtcyhpKSxlLmNhbGwoY29uc29sZSwodGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy5sb2dnZXI/XCJcIjpcInh0ZXJtLmpzOiBcIikrdCwuLi5pKX10cmFjZShlLC4uLnQpe3RoaXMuX2xvZ0xldmVsPD1vLkxvZ0xldmVsRW51bS5UUkFDRSYmdGhpcy5fbG9nKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMubG9nZ2VyPy50cmFjZS5iaW5kKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMubG9nZ2VyKT8/Y29uc29sZS5sb2csZSx0KX1kZWJ1ZyhlLC4uLnQpe3RoaXMuX2xvZ0xldmVsPD1vLkxvZ0xldmVsRW51bS5ERUJVRyYmdGhpcy5fbG9nKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMubG9nZ2VyPy5kZWJ1Zy5iaW5kKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMubG9nZ2VyKT8/Y29uc29sZS5sb2csZSx0KX1pbmZvKGUsLi4udCl7dGhpcy5fbG9nTGV2ZWw8PW8uTG9nTGV2ZWxFbnVtLklORk8mJnRoaXMuX2xvZyh0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLmxvZ2dlcj8uaW5mby5iaW5kKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMubG9nZ2VyKT8/Y29uc29sZS5pbmZvLGUsdCl9d2FybihlLC4uLnQpe3RoaXMuX2xvZ0xldmVsPD1vLkxvZ0xldmVsRW51bS5XQVJOJiZ0aGlzLl9sb2codGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy5sb2dnZXI/Lndhcm4uYmluZCh0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLmxvZ2dlcik/P2NvbnNvbGUud2FybixlLHQpfWVycm9yKGUsLi4udCl7dGhpcy5fbG9nTGV2ZWw8PW8uTG9nTGV2ZWxFbnVtLkVSUk9SJiZ0aGlzLl9sb2codGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy5sb2dnZXI/LmVycm9yLmJpbmQodGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy5sb2dnZXIpPz9jb25zb2xlLmVycm9yLGUsdCl9fTt0LkxvZ1NlcnZpY2U9Yz1zKFtyKDAsby5JT3B0aW9uc1NlcnZpY2UpXSxjKSx0LnNldFRyYWNlTG9nZ2VyPWZ1bmN0aW9uKGUpe2g9ZX0sdC50cmFjZUNhbGw9ZnVuY3Rpb24oZSx0LGkpe2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIGkudmFsdWUpdGhyb3cgbmV3IEVycm9yKFwibm90IHN1cHBvcnRlZFwiKTtjb25zdCBzPWkudmFsdWU7aS52YWx1ZT1mdW5jdGlvbiguLi5lKXtpZihoLmxvZ0xldmVsIT09by5Mb2dMZXZlbEVudW0uVFJBQ0UpcmV0dXJuIHMuYXBwbHkodGhpcyxlKTtoLnRyYWNlKGBHbHlwaFJlbmRlcmVyIyR7cy5uYW1lfSgke2UubWFwKChlPT5KU09OLnN0cmluZ2lmeShlKSkpLmpvaW4oXCIsIFwiKX0pYCk7Y29uc3QgdD1zLmFwcGx5KHRoaXMsZSk7cmV0dXJuIGgudHJhY2UoYEdseXBoUmVuZGVyZXIjJHtzLm5hbWV9IHJldHVybmAsdCksdH19fSw3MzAyOihlLHQsaSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0Lk9wdGlvbnNTZXJ2aWNlPXQuREVGQVVMVF9PUFRJT05TPXZvaWQgMDtjb25zdCBzPWkoODQ2MCkscj1pKDg0NCksbj1pKDYxMTQpO3QuREVGQVVMVF9PUFRJT05TPXtjb2xzOjgwLHJvd3M6MjQsY3Vyc29yQmxpbms6ITEsY3Vyc29yU3R5bGU6XCJibG9ja1wiLGN1cnNvcldpZHRoOjEsY3Vyc29ySW5hY3RpdmVTdHlsZTpcIm91dGxpbmVcIixjdXN0b21HbHlwaHM6ITAsZHJhd0JvbGRUZXh0SW5CcmlnaHRDb2xvcnM6ITAsZG9jdW1lbnRPdmVycmlkZTpudWxsLGZhc3RTY3JvbGxNb2RpZmllcjpcImFsdFwiLGZhc3RTY3JvbGxTZW5zaXRpdml0eTo1LGZvbnRGYW1pbHk6XCJjb3VyaWVyLW5ldywgY291cmllciwgbW9ub3NwYWNlXCIsZm9udFNpemU6MTUsZm9udFdlaWdodDpcIm5vcm1hbFwiLGZvbnRXZWlnaHRCb2xkOlwiYm9sZFwiLGlnbm9yZUJyYWNrZXRlZFBhc3RlTW9kZTohMSxsaW5lSGVpZ2h0OjEsbGV0dGVyU3BhY2luZzowLGxpbmtIYW5kbGVyOm51bGwsbG9nTGV2ZWw6XCJpbmZvXCIsbG9nZ2VyOm51bGwsc2Nyb2xsYmFjazoxZTMsc2Nyb2xsT25Vc2VySW5wdXQ6ITAsc2Nyb2xsU2Vuc2l0aXZpdHk6MSxzY3JlZW5SZWFkZXJNb2RlOiExLHNtb290aFNjcm9sbER1cmF0aW9uOjAsbWFjT3B0aW9uSXNNZXRhOiExLG1hY09wdGlvbkNsaWNrRm9yY2VzU2VsZWN0aW9uOiExLG1pbmltdW1Db250cmFzdFJhdGlvOjEsZGlzYWJsZVN0ZGluOiExLGFsbG93UHJvcG9zZWRBcGk6ITEsYWxsb3dUcmFuc3BhcmVuY3k6ITEsdGFiU3RvcFdpZHRoOjgsdGhlbWU6e30scmVzY2FsZU92ZXJsYXBwaW5nR2x5cGhzOiExLHJpZ2h0Q2xpY2tTZWxlY3RzV29yZDpuLmlzTWFjLHdpbmRvd09wdGlvbnM6e30sd2luZG93c01vZGU6ITEsd2luZG93c1B0eTp7fSx3b3JkU2VwYXJhdG9yOlwiICgpW117fScsXFxcImBcIixhbHRDbGlja01vdmVzQ3Vyc29yOiEwLGNvbnZlcnRFb2w6ITEsdGVybU5hbWU6XCJ4dGVybVwiLGNhbmNlbEV2ZW50czohMSxvdmVydmlld1J1bGVyV2lkdGg6MH07Y29uc3Qgbz1bXCJub3JtYWxcIixcImJvbGRcIixcIjEwMFwiLFwiMjAwXCIsXCIzMDBcIixcIjQwMFwiLFwiNTAwXCIsXCI2MDBcIixcIjcwMFwiLFwiODAwXCIsXCI5MDBcIl07Y2xhc3MgYSBleHRlbmRzIHIuRGlzcG9zYWJsZXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX29uT3B0aW9uQ2hhbmdlPXRoaXMucmVnaXN0ZXIobmV3IHMuRXZlbnRFbWl0dGVyKSx0aGlzLm9uT3B0aW9uQ2hhbmdlPXRoaXMuX29uT3B0aW9uQ2hhbmdlLmV2ZW50O2NvbnN0IGk9ey4uLnQuREVGQVVMVF9PUFRJT05TfTtmb3IoY29uc3QgdCBpbiBlKWlmKHQgaW4gaSl0cnl7Y29uc3Qgcz1lW3RdO2lbdF09dGhpcy5fc2FuaXRpemVBbmRWYWxpZGF0ZU9wdGlvbih0LHMpfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoZSl9dGhpcy5yYXdPcHRpb25zPWksdGhpcy5vcHRpb25zPXsuLi5pfSx0aGlzLl9zZXR1cE9wdGlvbnMoKSx0aGlzLnJlZ2lzdGVyKCgwLHIudG9EaXNwb3NhYmxlKSgoKCk9Pnt0aGlzLnJhd09wdGlvbnMubGlua0hhbmRsZXI9bnVsbCx0aGlzLnJhd09wdGlvbnMuZG9jdW1lbnRPdmVycmlkZT1udWxsfSkpKX1vblNwZWNpZmljT3B0aW9uQ2hhbmdlKGUsdCl7cmV0dXJuIHRoaXMub25PcHRpb25DaGFuZ2UoKGk9PntpPT09ZSYmdCh0aGlzLnJhd09wdGlvbnNbZV0pfSkpfW9uTXVsdGlwbGVPcHRpb25DaGFuZ2UoZSx0KXtyZXR1cm4gdGhpcy5vbk9wdGlvbkNoYW5nZSgoaT0+ey0xIT09ZS5pbmRleE9mKGkpJiZ0KCl9KSl9X3NldHVwT3B0aW9ucygpe2NvbnN0IGU9ZT0+e2lmKCEoZSBpbiB0LkRFRkFVTFRfT1BUSU9OUykpdGhyb3cgbmV3IEVycm9yKGBObyBvcHRpb24gd2l0aCBrZXkgXCIke2V9XCJgKTtyZXR1cm4gdGhpcy5yYXdPcHRpb25zW2VdfSxpPShlLGkpPT57aWYoIShlIGluIHQuREVGQVVMVF9PUFRJT05TKSl0aHJvdyBuZXcgRXJyb3IoYE5vIG9wdGlvbiB3aXRoIGtleSBcIiR7ZX1cImApO2k9dGhpcy5fc2FuaXRpemVBbmRWYWxpZGF0ZU9wdGlvbihlLGkpLHRoaXMucmF3T3B0aW9uc1tlXSE9PWkmJih0aGlzLnJhd09wdGlvbnNbZV09aSx0aGlzLl9vbk9wdGlvbkNoYW5nZS5maXJlKGUpKX07Zm9yKGNvbnN0IHQgaW4gdGhpcy5yYXdPcHRpb25zKXtjb25zdCBzPXtnZXQ6ZS5iaW5kKHRoaXMsdCksc2V0OmkuYmluZCh0aGlzLHQpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcy5vcHRpb25zLHQscyl9fV9zYW5pdGl6ZUFuZFZhbGlkYXRlT3B0aW9uKGUsaSl7c3dpdGNoKGUpe2Nhc2VcImN1cnNvclN0eWxlXCI6aWYoaXx8KGk9dC5ERUZBVUxUX09QVElPTlNbZV0pLCFmdW5jdGlvbihlKXtyZXR1cm5cImJsb2NrXCI9PT1lfHxcInVuZGVybGluZVwiPT09ZXx8XCJiYXJcIj09PWV9KGkpKXRocm93IG5ldyBFcnJvcihgXCIke2l9XCIgaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yICR7ZX1gKTticmVhaztjYXNlXCJ3b3JkU2VwYXJhdG9yXCI6aXx8KGk9dC5ERUZBVUxUX09QVElPTlNbZV0pO2JyZWFrO2Nhc2VcImZvbnRXZWlnaHRcIjpjYXNlXCJmb250V2VpZ2h0Qm9sZFwiOmlmKFwibnVtYmVyXCI9PXR5cGVvZiBpJiYxPD1pJiZpPD0xZTMpYnJlYWs7aT1vLmluY2x1ZGVzKGkpP2k6dC5ERUZBVUxUX09QVElPTlNbZV07YnJlYWs7Y2FzZVwiY3Vyc29yV2lkdGhcIjppPU1hdGguZmxvb3IoaSk7Y2FzZVwibGluZUhlaWdodFwiOmNhc2VcInRhYlN0b3BXaWR0aFwiOmlmKGk8MSl0aHJvdyBuZXcgRXJyb3IoYCR7ZX0gY2Fubm90IGJlIGxlc3MgdGhhbiAxLCB2YWx1ZTogJHtpfWApO2JyZWFrO2Nhc2VcIm1pbmltdW1Db250cmFzdFJhdGlvXCI6aT1NYXRoLm1heCgxLE1hdGgubWluKDIxLE1hdGgucm91bmQoMTAqaSkvMTApKTticmVhaztjYXNlXCJzY3JvbGxiYWNrXCI6aWYoKGk9TWF0aC5taW4oaSw0Mjk0OTY3Mjk1KSk8MCl0aHJvdyBuZXcgRXJyb3IoYCR7ZX0gY2Fubm90IGJlIGxlc3MgdGhhbiAwLCB2YWx1ZTogJHtpfWApO2JyZWFrO2Nhc2VcImZhc3RTY3JvbGxTZW5zaXRpdml0eVwiOmNhc2VcInNjcm9sbFNlbnNpdGl2aXR5XCI6aWYoaTw9MCl0aHJvdyBuZXcgRXJyb3IoYCR7ZX0gY2Fubm90IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLCB2YWx1ZTogJHtpfWApO2JyZWFrO2Nhc2VcInJvd3NcIjpjYXNlXCJjb2xzXCI6aWYoIWkmJjAhPT1pKXRocm93IG5ldyBFcnJvcihgJHtlfSBtdXN0IGJlIG51bWVyaWMsIHZhbHVlOiAke2l9YCk7YnJlYWs7Y2FzZVwid2luZG93c1B0eVwiOmk9aT8/e319cmV0dXJuIGl9fXQuT3B0aW9uc1NlcnZpY2U9YX0sMjY2MDpmdW5jdGlvbihlLHQsaSl7dmFyIHM9dGhpcyYmdGhpcy5fX2RlY29yYXRlfHxmdW5jdGlvbihlLHQsaSxzKXt2YXIgcixuPWFyZ3VtZW50cy5sZW5ndGgsbz1uPDM/dDpudWxsPT09cz9zPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxpKTpzO2lmKFwib2JqZWN0XCI9PXR5cGVvZiBSZWZsZWN0JiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBSZWZsZWN0LmRlY29yYXRlKW89UmVmbGVjdC5kZWNvcmF0ZShlLHQsaSxzKTtlbHNlIGZvcih2YXIgYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShyPWVbYV0pJiYobz0objwzP3Iobyk6bj4zP3IodCxpLG8pOnIodCxpKSl8fG8pO3JldHVybiBuPjMmJm8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGksbyksb30scj10aGlzJiZ0aGlzLl9fcGFyYW18fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGkscyl7dChpLHMsZSl9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0Lk9zY0xpbmtTZXJ2aWNlPXZvaWQgMDtjb25zdCBuPWkoMjU4NSk7bGV0IG89dC5Pc2NMaW5rU2VydmljZT1jbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9idWZmZXJTZXJ2aWNlPWUsdGhpcy5fbmV4dElkPTEsdGhpcy5fZW50cmllc1dpdGhJZD1uZXcgTWFwLHRoaXMuX2RhdGFCeUxpbmtJZD1uZXcgTWFwfXJlZ2lzdGVyTGluayhlKXtjb25zdCB0PXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyO2lmKHZvaWQgMD09PWUuaWQpe2NvbnN0IGk9dC5hZGRNYXJrZXIodC55YmFzZSt0LnkpLHM9e2RhdGE6ZSxpZDp0aGlzLl9uZXh0SWQrKyxsaW5lczpbaV19O3JldHVybiBpLm9uRGlzcG9zZSgoKCk9PnRoaXMuX3JlbW92ZU1hcmtlckZyb21MaW5rKHMsaSkpKSx0aGlzLl9kYXRhQnlMaW5rSWQuc2V0KHMuaWQscykscy5pZH1jb25zdCBpPWUscz10aGlzLl9nZXRFbnRyeUlkS2V5KGkpLHI9dGhpcy5fZW50cmllc1dpdGhJZC5nZXQocyk7aWYocilyZXR1cm4gdGhpcy5hZGRMaW5lVG9MaW5rKHIuaWQsdC55YmFzZSt0LnkpLHIuaWQ7Y29uc3Qgbj10LmFkZE1hcmtlcih0LnliYXNlK3QueSksbz17aWQ6dGhpcy5fbmV4dElkKyssa2V5OnRoaXMuX2dldEVudHJ5SWRLZXkoaSksZGF0YTppLGxpbmVzOltuXX07cmV0dXJuIG4ub25EaXNwb3NlKCgoKT0+dGhpcy5fcmVtb3ZlTWFya2VyRnJvbUxpbmsobyxuKSkpLHRoaXMuX2VudHJpZXNXaXRoSWQuc2V0KG8ua2V5LG8pLHRoaXMuX2RhdGFCeUxpbmtJZC5zZXQoby5pZCxvKSxvLmlkfWFkZExpbmVUb0xpbmsoZSx0KXtjb25zdCBpPXRoaXMuX2RhdGFCeUxpbmtJZC5nZXQoZSk7aWYoaSYmaS5saW5lcy5ldmVyeSgoZT0+ZS5saW5lIT09dCkpKXtjb25zdCBlPXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLmFkZE1hcmtlcih0KTtpLmxpbmVzLnB1c2goZSksZS5vbkRpc3Bvc2UoKCgpPT50aGlzLl9yZW1vdmVNYXJrZXJGcm9tTGluayhpLGUpKSl9fWdldExpbmtEYXRhKGUpe3JldHVybiB0aGlzLl9kYXRhQnlMaW5rSWQuZ2V0KGUpPy5kYXRhfV9nZXRFbnRyeUlkS2V5KGUpe3JldHVybmAke2UuaWR9Ozske2UudXJpfWB9X3JlbW92ZU1hcmtlckZyb21MaW5rKGUsdCl7Y29uc3QgaT1lLmxpbmVzLmluZGV4T2YodCk7LTEhPT1pJiYoZS5saW5lcy5zcGxpY2UoaSwxKSwwPT09ZS5saW5lcy5sZW5ndGgmJih2b2lkIDAhPT1lLmRhdGEuaWQmJnRoaXMuX2VudHJpZXNXaXRoSWQuZGVsZXRlKGUua2V5KSx0aGlzLl9kYXRhQnlMaW5rSWQuZGVsZXRlKGUuaWQpKSl9fTt0Lk9zY0xpbmtTZXJ2aWNlPW89cyhbcigwLG4uSUJ1ZmZlclNlcnZpY2UpXSxvKX0sODM0MzooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuY3JlYXRlRGVjb3JhdG9yPXQuZ2V0U2VydmljZURlcGVuZGVuY2llcz10LnNlcnZpY2VSZWdpc3RyeT12b2lkIDA7Y29uc3QgaT1cImRpJHRhcmdldFwiLHM9XCJkaSRkZXBlbmRlbmNpZXNcIjt0LnNlcnZpY2VSZWdpc3RyeT1uZXcgTWFwLHQuZ2V0U2VydmljZURlcGVuZGVuY2llcz1mdW5jdGlvbihlKXtyZXR1cm4gZVtzXXx8W119LHQuY3JlYXRlRGVjb3JhdG9yPWZ1bmN0aW9uKGUpe2lmKHQuc2VydmljZVJlZ2lzdHJ5LmhhcyhlKSlyZXR1cm4gdC5zZXJ2aWNlUmVnaXN0cnkuZ2V0KGUpO2NvbnN0IHI9ZnVuY3Rpb24oZSx0LG4pe2lmKDMhPT1hcmd1bWVudHMubGVuZ3RoKXRocm93IG5ldyBFcnJvcihcIkBJU2VydmljZU5hbWUtZGVjb3JhdG9yIGNhbiBvbmx5IGJlIHVzZWQgdG8gZGVjb3JhdGUgYSBwYXJhbWV0ZXJcIik7IWZ1bmN0aW9uKGUsdCxyKXt0W2ldPT09dD90W3NdLnB1c2goe2lkOmUsaW5kZXg6cn0pOih0W3NdPVt7aWQ6ZSxpbmRleDpyfV0sdFtpXT10KX0ocixlLG4pfTtyZXR1cm4gci50b1N0cmluZz0oKT0+ZSx0LnNlcnZpY2VSZWdpc3RyeS5zZXQoZSxyKSxyfX0sMjU4NTooZSx0LGkpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5JRGVjb3JhdGlvblNlcnZpY2U9dC5JVW5pY29kZVNlcnZpY2U9dC5JT3NjTGlua1NlcnZpY2U9dC5JT3B0aW9uc1NlcnZpY2U9dC5JTG9nU2VydmljZT10LkxvZ0xldmVsRW51bT10LklJbnN0YW50aWF0aW9uU2VydmljZT10LklDaGFyc2V0U2VydmljZT10LklDb3JlU2VydmljZT10LklDb3JlTW91c2VTZXJ2aWNlPXQuSUJ1ZmZlclNlcnZpY2U9dm9pZCAwO2NvbnN0IHM9aSg4MzQzKTt2YXIgcjt0LklCdWZmZXJTZXJ2aWNlPSgwLHMuY3JlYXRlRGVjb3JhdG9yKShcIkJ1ZmZlclNlcnZpY2VcIiksdC5JQ29yZU1vdXNlU2VydmljZT0oMCxzLmNyZWF0ZURlY29yYXRvcikoXCJDb3JlTW91c2VTZXJ2aWNlXCIpLHQuSUNvcmVTZXJ2aWNlPSgwLHMuY3JlYXRlRGVjb3JhdG9yKShcIkNvcmVTZXJ2aWNlXCIpLHQuSUNoYXJzZXRTZXJ2aWNlPSgwLHMuY3JlYXRlRGVjb3JhdG9yKShcIkNoYXJzZXRTZXJ2aWNlXCIpLHQuSUluc3RhbnRpYXRpb25TZXJ2aWNlPSgwLHMuY3JlYXRlRGVjb3JhdG9yKShcIkluc3RhbnRpYXRpb25TZXJ2aWNlXCIpLGZ1bmN0aW9uKGUpe2VbZS5UUkFDRT0wXT1cIlRSQUNFXCIsZVtlLkRFQlVHPTFdPVwiREVCVUdcIixlW2UuSU5GTz0yXT1cIklORk9cIixlW2UuV0FSTj0zXT1cIldBUk5cIixlW2UuRVJST1I9NF09XCJFUlJPUlwiLGVbZS5PRkY9NV09XCJPRkZcIn0ocnx8KHQuTG9nTGV2ZWxFbnVtPXI9e30pKSx0LklMb2dTZXJ2aWNlPSgwLHMuY3JlYXRlRGVjb3JhdG9yKShcIkxvZ1NlcnZpY2VcIiksdC5JT3B0aW9uc1NlcnZpY2U9KDAscy5jcmVhdGVEZWNvcmF0b3IpKFwiT3B0aW9uc1NlcnZpY2VcIiksdC5JT3NjTGlua1NlcnZpY2U9KDAscy5jcmVhdGVEZWNvcmF0b3IpKFwiT3NjTGlua1NlcnZpY2VcIiksdC5JVW5pY29kZVNlcnZpY2U9KDAscy5jcmVhdGVEZWNvcmF0b3IpKFwiVW5pY29kZVNlcnZpY2VcIiksdC5JRGVjb3JhdGlvblNlcnZpY2U9KDAscy5jcmVhdGVEZWNvcmF0b3IpKFwiRGVjb3JhdGlvblNlcnZpY2VcIil9LDE0ODA6KGUsdCxpKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuVW5pY29kZVNlcnZpY2U9dm9pZCAwO2NvbnN0IHM9aSg4NDYwKSxyPWkoMjI1KTtjbGFzcyBue3N0YXRpYyBleHRyYWN0U2hvdWxkSm9pbihlKXtyZXR1cm4gMCE9KDEmZSl9c3RhdGljIGV4dHJhY3RXaWR0aChlKXtyZXR1cm4gZT4+MSYzfXN0YXRpYyBleHRyYWN0Q2hhcktpbmQoZSl7cmV0dXJuIGU+PjN9c3RhdGljIGNyZWF0ZVByb3BlcnR5VmFsdWUoZSx0LGk9ITEpe3JldHVybigxNjc3NzIxNSZlKTw8M3woMyZ0KTw8MXwoaT8xOjApfWNvbnN0cnVjdG9yKCl7dGhpcy5fcHJvdmlkZXJzPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5fYWN0aXZlPVwiXCIsdGhpcy5fb25DaGFuZ2U9bmV3IHMuRXZlbnRFbWl0dGVyLHRoaXMub25DaGFuZ2U9dGhpcy5fb25DaGFuZ2UuZXZlbnQ7Y29uc3QgZT1uZXcgci5Vbmljb2RlVjY7dGhpcy5yZWdpc3RlcihlKSx0aGlzLl9hY3RpdmU9ZS52ZXJzaW9uLHRoaXMuX2FjdGl2ZVByb3ZpZGVyPWV9ZGlzcG9zZSgpe3RoaXMuX29uQ2hhbmdlLmRpc3Bvc2UoKX1nZXQgdmVyc2lvbnMoKXtyZXR1cm4gT2JqZWN0LmtleXModGhpcy5fcHJvdmlkZXJzKX1nZXQgYWN0aXZlVmVyc2lvbigpe3JldHVybiB0aGlzLl9hY3RpdmV9c2V0IGFjdGl2ZVZlcnNpb24oZSl7aWYoIXRoaXMuX3Byb3ZpZGVyc1tlXSl0aHJvdyBuZXcgRXJyb3IoYHVua25vd24gVW5pY29kZSB2ZXJzaW9uIFwiJHtlfVwiYCk7dGhpcy5fYWN0aXZlPWUsdGhpcy5fYWN0aXZlUHJvdmlkZXI9dGhpcy5fcHJvdmlkZXJzW2VdLHRoaXMuX29uQ2hhbmdlLmZpcmUoZSl9cmVnaXN0ZXIoZSl7dGhpcy5fcHJvdmlkZXJzW2UudmVyc2lvbl09ZX13Y3dpZHRoKGUpe3JldHVybiB0aGlzLl9hY3RpdmVQcm92aWRlci53Y3dpZHRoKGUpfWdldFN0cmluZ0NlbGxXaWR0aChlKXtsZXQgdD0wLGk9MDtjb25zdCBzPWUubGVuZ3RoO2ZvcihsZXQgcj0wO3I8czsrK3Ipe2xldCBvPWUuY2hhckNvZGVBdChyKTtpZig1NTI5Njw9byYmbzw9NTYzMTkpe2lmKCsrcj49cylyZXR1cm4gdCt0aGlzLndjd2lkdGgobyk7Y29uc3QgaT1lLmNoYXJDb2RlQXQocik7NTYzMjA8PWkmJmk8PTU3MzQzP289MTAyNCooby01NTI5NikraS01NjMyMCs2NTUzNjp0Kz10aGlzLndjd2lkdGgoaSl9Y29uc3QgYT10aGlzLmNoYXJQcm9wZXJ0aWVzKG8saSk7bGV0IGg9bi5leHRyYWN0V2lkdGgoYSk7bi5leHRyYWN0U2hvdWxkSm9pbihhKSYmKGgtPW4uZXh0cmFjdFdpZHRoKGkpKSx0Kz1oLGk9YX1yZXR1cm4gdH1jaGFyUHJvcGVydGllcyhlLHQpe3JldHVybiB0aGlzLl9hY3RpdmVQcm92aWRlci5jaGFyUHJvcGVydGllcyhlLHQpfX10LlVuaWNvZGVTZXJ2aWNlPW59fSx0PXt9O2Z1bmN0aW9uIGkocyl7dmFyIHI9dFtzXTtpZih2b2lkIDAhPT1yKXJldHVybiByLmV4cG9ydHM7dmFyIG49dFtzXT17ZXhwb3J0czp7fX07cmV0dXJuIGVbc10uY2FsbChuLmV4cG9ydHMsbixuLmV4cG9ydHMsaSksbi5leHBvcnRzfXZhciBzPXt9O3JldHVybigoKT0+e3ZhciBlPXM7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksZS5UZXJtaW5hbD12b2lkIDA7Y29uc3QgdD1pKDkwNDIpLHI9aSgzMjM2KSxuPWkoODQ0KSxvPWkoNTc0MSksYT1pKDgyODUpLGg9aSg3OTc1KSxjPWkoNzA5MCksbD1bXCJjb2xzXCIsXCJyb3dzXCJdO2NsYXNzIGQgZXh0ZW5kcyBuLkRpc3Bvc2FibGV7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9jb3JlPXRoaXMucmVnaXN0ZXIobmV3IHIuVGVybWluYWwoZSkpLHRoaXMuX2FkZG9uTWFuYWdlcj10aGlzLnJlZ2lzdGVyKG5ldyBvLkFkZG9uTWFuYWdlciksdGhpcy5fcHVibGljT3B0aW9ucz17Li4udGhpcy5fY29yZS5vcHRpb25zfTtjb25zdCB0PWU9PnRoaXMuX2NvcmUub3B0aW9uc1tlXSxpPShlLHQpPT57dGhpcy5fY2hlY2tSZWFkb25seU9wdGlvbnMoZSksdGhpcy5fY29yZS5vcHRpb25zW2VdPXR9O2Zvcihjb25zdCBlIGluIHRoaXMuX2NvcmUub3B0aW9ucyl7Y29uc3Qgcz17Z2V0OnQuYmluZCh0aGlzLGUpLHNldDppLmJpbmQodGhpcyxlKX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMuX3B1YmxpY09wdGlvbnMsZSxzKX19X2NoZWNrUmVhZG9ubHlPcHRpb25zKGUpe2lmKGwuaW5jbHVkZXMoZSkpdGhyb3cgbmV3IEVycm9yKGBPcHRpb24gXCIke2V9XCIgY2FuIG9ubHkgYmUgc2V0IGluIHRoZSBjb25zdHJ1Y3RvcmApfV9jaGVja1Byb3Bvc2VkQXBpKCl7aWYoIXRoaXMuX2NvcmUub3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5hbGxvd1Byb3Bvc2VkQXBpKXRocm93IG5ldyBFcnJvcihcIllvdSBtdXN0IHNldCB0aGUgYWxsb3dQcm9wb3NlZEFwaSBvcHRpb24gdG8gdHJ1ZSB0byB1c2UgcHJvcG9zZWQgQVBJXCIpfWdldCBvbkJlbGwoKXtyZXR1cm4gdGhpcy5fY29yZS5vbkJlbGx9Z2V0IG9uQmluYXJ5KCl7cmV0dXJuIHRoaXMuX2NvcmUub25CaW5hcnl9Z2V0IG9uQ3Vyc29yTW92ZSgpe3JldHVybiB0aGlzLl9jb3JlLm9uQ3Vyc29yTW92ZX1nZXQgb25EYXRhKCl7cmV0dXJuIHRoaXMuX2NvcmUub25EYXRhfWdldCBvbktleSgpe3JldHVybiB0aGlzLl9jb3JlLm9uS2V5fWdldCBvbkxpbmVGZWVkKCl7cmV0dXJuIHRoaXMuX2NvcmUub25MaW5lRmVlZH1nZXQgb25SZW5kZXIoKXtyZXR1cm4gdGhpcy5fY29yZS5vblJlbmRlcn1nZXQgb25SZXNpemUoKXtyZXR1cm4gdGhpcy5fY29yZS5vblJlc2l6ZX1nZXQgb25TY3JvbGwoKXtyZXR1cm4gdGhpcy5fY29yZS5vblNjcm9sbH1nZXQgb25TZWxlY3Rpb25DaGFuZ2UoKXtyZXR1cm4gdGhpcy5fY29yZS5vblNlbGVjdGlvbkNoYW5nZX1nZXQgb25UaXRsZUNoYW5nZSgpe3JldHVybiB0aGlzLl9jb3JlLm9uVGl0bGVDaGFuZ2V9Z2V0IG9uV3JpdGVQYXJzZWQoKXtyZXR1cm4gdGhpcy5fY29yZS5vbldyaXRlUGFyc2VkfWdldCBlbGVtZW50KCl7cmV0dXJuIHRoaXMuX2NvcmUuZWxlbWVudH1nZXQgcGFyc2VyKCl7cmV0dXJuIHRoaXMuX3BhcnNlcnx8KHRoaXMuX3BhcnNlcj1uZXcgaC5QYXJzZXJBcGkodGhpcy5fY29yZSkpLHRoaXMuX3BhcnNlcn1nZXQgdW5pY29kZSgpe3JldHVybiB0aGlzLl9jaGVja1Byb3Bvc2VkQXBpKCksbmV3IGMuVW5pY29kZUFwaSh0aGlzLl9jb3JlKX1nZXQgdGV4dGFyZWEoKXtyZXR1cm4gdGhpcy5fY29yZS50ZXh0YXJlYX1nZXQgcm93cygpe3JldHVybiB0aGlzLl9jb3JlLnJvd3N9Z2V0IGNvbHMoKXtyZXR1cm4gdGhpcy5fY29yZS5jb2xzfWdldCBidWZmZXIoKXtyZXR1cm4gdGhpcy5fYnVmZmVyfHwodGhpcy5fYnVmZmVyPXRoaXMucmVnaXN0ZXIobmV3IGEuQnVmZmVyTmFtZXNwYWNlQXBpKHRoaXMuX2NvcmUpKSksdGhpcy5fYnVmZmVyfWdldCBtYXJrZXJzKCl7cmV0dXJuIHRoaXMuX2NoZWNrUHJvcG9zZWRBcGkoKSx0aGlzLl9jb3JlLm1hcmtlcnN9Z2V0IG1vZGVzKCl7Y29uc3QgZT10aGlzLl9jb3JlLmNvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2RlcztsZXQgdD1cIm5vbmVcIjtzd2l0Y2godGhpcy5fY29yZS5jb3JlTW91c2VTZXJ2aWNlLmFjdGl2ZVByb3RvY29sKXtjYXNlXCJYMTBcIjp0PVwieDEwXCI7YnJlYWs7Y2FzZVwiVlQyMDBcIjp0PVwidnQyMDBcIjticmVhaztjYXNlXCJEUkFHXCI6dD1cImRyYWdcIjticmVhaztjYXNlXCJBTllcIjp0PVwiYW55XCJ9cmV0dXJue2FwcGxpY2F0aW9uQ3Vyc29yS2V5c01vZGU6ZS5hcHBsaWNhdGlvbkN1cnNvcktleXMsYXBwbGljYXRpb25LZXlwYWRNb2RlOmUuYXBwbGljYXRpb25LZXlwYWQsYnJhY2tldGVkUGFzdGVNb2RlOmUuYnJhY2tldGVkUGFzdGVNb2RlLGluc2VydE1vZGU6dGhpcy5fY29yZS5jb3JlU2VydmljZS5tb2Rlcy5pbnNlcnRNb2RlLG1vdXNlVHJhY2tpbmdNb2RlOnQsb3JpZ2luTW9kZTplLm9yaWdpbixyZXZlcnNlV3JhcGFyb3VuZE1vZGU6ZS5yZXZlcnNlV3JhcGFyb3VuZCxzZW5kRm9jdXNNb2RlOmUuc2VuZEZvY3VzLHdyYXBhcm91bmRNb2RlOmUud3JhcGFyb3VuZH19Z2V0IG9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fcHVibGljT3B0aW9uc31zZXQgb3B0aW9ucyhlKXtmb3IoY29uc3QgdCBpbiBlKXRoaXMuX3B1YmxpY09wdGlvbnNbdF09ZVt0XX1ibHVyKCl7dGhpcy5fY29yZS5ibHVyKCl9Zm9jdXMoKXt0aGlzLl9jb3JlLmZvY3VzKCl9aW5wdXQoZSx0PSEwKXt0aGlzLl9jb3JlLmlucHV0KGUsdCl9cmVzaXplKGUsdCl7dGhpcy5fdmVyaWZ5SW50ZWdlcnMoZSx0KSx0aGlzLl9jb3JlLnJlc2l6ZShlLHQpfW9wZW4oZSl7dGhpcy5fY29yZS5vcGVuKGUpfWF0dGFjaEN1c3RvbUtleUV2ZW50SGFuZGxlcihlKXt0aGlzLl9jb3JlLmF0dGFjaEN1c3RvbUtleUV2ZW50SGFuZGxlcihlKX1hdHRhY2hDdXN0b21XaGVlbEV2ZW50SGFuZGxlcihlKXt0aGlzLl9jb3JlLmF0dGFjaEN1c3RvbVdoZWVsRXZlbnRIYW5kbGVyKGUpfXJlZ2lzdGVyTGlua1Byb3ZpZGVyKGUpe3JldHVybiB0aGlzLl9jb3JlLnJlZ2lzdGVyTGlua1Byb3ZpZGVyKGUpfXJlZ2lzdGVyQ2hhcmFjdGVySm9pbmVyKGUpe3JldHVybiB0aGlzLl9jaGVja1Byb3Bvc2VkQXBpKCksdGhpcy5fY29yZS5yZWdpc3RlckNoYXJhY3RlckpvaW5lcihlKX1kZXJlZ2lzdGVyQ2hhcmFjdGVySm9pbmVyKGUpe3RoaXMuX2NoZWNrUHJvcG9zZWRBcGkoKSx0aGlzLl9jb3JlLmRlcmVnaXN0ZXJDaGFyYWN0ZXJKb2luZXIoZSl9cmVnaXN0ZXJNYXJrZXIoZT0wKXtyZXR1cm4gdGhpcy5fdmVyaWZ5SW50ZWdlcnMoZSksdGhpcy5fY29yZS5yZWdpc3Rlck1hcmtlcihlKX1yZWdpc3RlckRlY29yYXRpb24oZSl7cmV0dXJuIHRoaXMuX2NoZWNrUHJvcG9zZWRBcGkoKSx0aGlzLl92ZXJpZnlQb3NpdGl2ZUludGVnZXJzKGUueD8/MCxlLndpZHRoPz8wLGUuaGVpZ2h0Pz8wKSx0aGlzLl9jb3JlLnJlZ2lzdGVyRGVjb3JhdGlvbihlKX1oYXNTZWxlY3Rpb24oKXtyZXR1cm4gdGhpcy5fY29yZS5oYXNTZWxlY3Rpb24oKX1zZWxlY3QoZSx0LGkpe3RoaXMuX3ZlcmlmeUludGVnZXJzKGUsdCxpKSx0aGlzLl9jb3JlLnNlbGVjdChlLHQsaSl9Z2V0U2VsZWN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvcmUuZ2V0U2VsZWN0aW9uKCl9Z2V0U2VsZWN0aW9uUG9zaXRpb24oKXtyZXR1cm4gdGhpcy5fY29yZS5nZXRTZWxlY3Rpb25Qb3NpdGlvbigpfWNsZWFyU2VsZWN0aW9uKCl7dGhpcy5fY29yZS5jbGVhclNlbGVjdGlvbigpfXNlbGVjdEFsbCgpe3RoaXMuX2NvcmUuc2VsZWN0QWxsKCl9c2VsZWN0TGluZXMoZSx0KXt0aGlzLl92ZXJpZnlJbnRlZ2VycyhlLHQpLHRoaXMuX2NvcmUuc2VsZWN0TGluZXMoZSx0KX1kaXNwb3NlKCl7c3VwZXIuZGlzcG9zZSgpfXNjcm9sbExpbmVzKGUpe3RoaXMuX3ZlcmlmeUludGVnZXJzKGUpLHRoaXMuX2NvcmUuc2Nyb2xsTGluZXMoZSl9c2Nyb2xsUGFnZXMoZSl7dGhpcy5fdmVyaWZ5SW50ZWdlcnMoZSksdGhpcy5fY29yZS5zY3JvbGxQYWdlcyhlKX1zY3JvbGxUb1RvcCgpe3RoaXMuX2NvcmUuc2Nyb2xsVG9Ub3AoKX1zY3JvbGxUb0JvdHRvbSgpe3RoaXMuX2NvcmUuc2Nyb2xsVG9Cb3R0b20oKX1zY3JvbGxUb0xpbmUoZSl7dGhpcy5fdmVyaWZ5SW50ZWdlcnMoZSksdGhpcy5fY29yZS5zY3JvbGxUb0xpbmUoZSl9Y2xlYXIoKXt0aGlzLl9jb3JlLmNsZWFyKCl9d3JpdGUoZSx0KXt0aGlzLl9jb3JlLndyaXRlKGUsdCl9d3JpdGVsbihlLHQpe3RoaXMuX2NvcmUud3JpdGUoZSksdGhpcy5fY29yZS53cml0ZShcIlxcclxcblwiLHQpfXBhc3RlKGUpe3RoaXMuX2NvcmUucGFzdGUoZSl9cmVmcmVzaChlLHQpe3RoaXMuX3ZlcmlmeUludGVnZXJzKGUsdCksdGhpcy5fY29yZS5yZWZyZXNoKGUsdCl9cmVzZXQoKXt0aGlzLl9jb3JlLnJlc2V0KCl9Y2xlYXJUZXh0dXJlQXRsYXMoKXt0aGlzLl9jb3JlLmNsZWFyVGV4dHVyZUF0bGFzKCl9bG9hZEFkZG9uKGUpe3RoaXMuX2FkZG9uTWFuYWdlci5sb2FkQWRkb24odGhpcyxlKX1zdGF0aWMgZ2V0IHN0cmluZ3MoKXtyZXR1cm4gdH1fdmVyaWZ5SW50ZWdlcnMoLi4uZSl7Zm9yKGNvbnN0IHQgb2YgZSlpZih0PT09MS8wfHxpc05hTih0KXx8dCUxIT0wKXRocm93IG5ldyBFcnJvcihcIlRoaXMgQVBJIG9ubHkgYWNjZXB0cyBpbnRlZ2Vyc1wiKX1fdmVyaWZ5UG9zaXRpdmVJbnRlZ2VycyguLi5lKXtmb3IoY29uc3QgdCBvZiBlKWlmKHQmJih0PT09MS8wfHxpc05hTih0KXx8dCUxIT0wfHx0PDApKXRocm93IG5ldyBFcnJvcihcIlRoaXMgQVBJIG9ubHkgYWNjZXB0cyBwb3NpdGl2ZSBpbnRlZ2Vyc1wiKX19ZS5UZXJtaW5hbD1kfSkoKSxzfSkoKSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9eHRlcm0uanMubWFwIiwibW9kdWxlLmV4cG9ydHMgPSBhZnRlclxuXG5mdW5jdGlvbiBhZnRlcihjb3VudCwgY2FsbGJhY2ssIGVycl9jYikge1xuICAgIHZhciBiYWlsID0gZmFsc2VcbiAgICBlcnJfY2IgPSBlcnJfY2IgfHwgbm9vcFxuICAgIHByb3h5LmNvdW50ID0gY291bnRcblxuICAgIHJldHVybiAoY291bnQgPT09IDApID8gY2FsbGJhY2soKSA6IHByb3h5XG5cbiAgICBmdW5jdGlvbiBwcm94eShlcnIsIHJlc3VsdCkge1xuICAgICAgICBpZiAocHJveHkuY291bnQgPD0gMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdhZnRlciBjYWxsZWQgdG9vIG1hbnkgdGltZXMnKVxuICAgICAgICB9XG4gICAgICAgIC0tcHJveHkuY291bnRcblxuICAgICAgICAvLyBhZnRlciBmaXJzdCBlcnJvciwgcmVzdCBhcmUgcGFzc2VkIHRvIGVycl9jYlxuICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICBiYWlsID0gdHJ1ZVxuICAgICAgICAgICAgY2FsbGJhY2soZXJyKVxuICAgICAgICAgICAgLy8gZnV0dXJlIGVycm9yIGNhbGxiYWNrcyB3aWxsIGdvIHRvIGVycm9yIGhhbmRsZXJcbiAgICAgICAgICAgIGNhbGxiYWNrID0gZXJyX2NiXG4gICAgICAgIH0gZWxzZSBpZiAocHJveHkuY291bnQgPT09IDAgJiYgIWJhaWwpIHtcbiAgICAgICAgICAgIGNhbGxiYWNrKG51bGwsIHJlc3VsdClcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZnVuY3Rpb24gbm9vcCgpIHt9XG4iLCIvKipcbiAqIEFuIGFic3RyYWN0aW9uIGZvciBzbGljaW5nIGFuIGFycmF5YnVmZmVyIGV2ZW4gd2hlblxuICogQXJyYXlCdWZmZXIucHJvdG90eXBlLnNsaWNlIGlzIG5vdCBzdXBwb3J0ZWRcbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oYXJyYXlidWZmZXIsIHN0YXJ0LCBlbmQpIHtcbiAgdmFyIGJ5dGVzID0gYXJyYXlidWZmZXIuYnl0ZUxlbmd0aDtcbiAgc3RhcnQgPSBzdGFydCB8fCAwO1xuICBlbmQgPSBlbmQgfHwgYnl0ZXM7XG5cbiAgaWYgKGFycmF5YnVmZmVyLnNsaWNlKSB7IHJldHVybiBhcnJheWJ1ZmZlci5zbGljZShzdGFydCwgZW5kKTsgfVxuXG4gIGlmIChzdGFydCA8IDApIHsgc3RhcnQgKz0gYnl0ZXM7IH1cbiAgaWYgKGVuZCA8IDApIHsgZW5kICs9IGJ5dGVzOyB9XG4gIGlmIChlbmQgPiBieXRlcykgeyBlbmQgPSBieXRlczsgfVxuXG4gIGlmIChzdGFydCA+PSBieXRlcyB8fCBzdGFydCA+PSBlbmQgfHwgYnl0ZXMgPT09IDApIHtcbiAgICByZXR1cm4gbmV3IEFycmF5QnVmZmVyKDApO1xuICB9XG5cbiAgdmFyIGFidiA9IG5ldyBVaW50OEFycmF5KGFycmF5YnVmZmVyKTtcbiAgdmFyIHJlc3VsdCA9IG5ldyBVaW50OEFycmF5KGVuZCAtIHN0YXJ0KTtcbiAgZm9yICh2YXIgaSA9IHN0YXJ0LCBpaSA9IDA7IGkgPCBlbmQ7IGkrKywgaWkrKykge1xuICAgIHJlc3VsdFtpaV0gPSBhYnZbaV07XG4gIH1cbiAgcmV0dXJuIHJlc3VsdC5idWZmZXI7XG59O1xuIiwiXG4vKipcbiAqIEV4cG9zZSBgQmFja29mZmAuXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBCYWNrb2ZmO1xuXG4vKipcbiAqIEluaXRpYWxpemUgYmFja29mZiB0aW1lciB3aXRoIGBvcHRzYC5cbiAqXG4gKiAtIGBtaW5gIGluaXRpYWwgdGltZW91dCBpbiBtaWxsaXNlY29uZHMgWzEwMF1cbiAqIC0gYG1heGAgbWF4IHRpbWVvdXQgWzEwMDAwXVxuICogLSBgaml0dGVyYCBbMF1cbiAqIC0gYGZhY3RvcmAgWzJdXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9wdHNcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZnVuY3Rpb24gQmFja29mZihvcHRzKSB7XG4gIG9wdHMgPSBvcHRzIHx8IHt9O1xuICB0aGlzLm1zID0gb3B0cy5taW4gfHwgMTAwO1xuICB0aGlzLm1heCA9IG9wdHMubWF4IHx8IDEwMDAwO1xuICB0aGlzLmZhY3RvciA9IG9wdHMuZmFjdG9yIHx8IDI7XG4gIHRoaXMuaml0dGVyID0gb3B0cy5qaXR0ZXIgPiAwICYmIG9wdHMuaml0dGVyIDw9IDEgPyBvcHRzLmppdHRlciA6IDA7XG4gIHRoaXMuYXR0ZW1wdHMgPSAwO1xufVxuXG4vKipcbiAqIFJldHVybiB0aGUgYmFja29mZiBkdXJhdGlvbi5cbiAqXG4gKiBAcmV0dXJuIHtOdW1iZXJ9XG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbkJhY2tvZmYucHJvdG90eXBlLmR1cmF0aW9uID0gZnVuY3Rpb24oKXtcbiAgdmFyIG1zID0gdGhpcy5tcyAqIE1hdGgucG93KHRoaXMuZmFjdG9yLCB0aGlzLmF0dGVtcHRzKyspO1xuICBpZiAodGhpcy5qaXR0ZXIpIHtcbiAgICB2YXIgcmFuZCA9ICBNYXRoLnJhbmRvbSgpO1xuICAgIHZhciBkZXZpYXRpb24gPSBNYXRoLmZsb29yKHJhbmQgKiB0aGlzLmppdHRlciAqIG1zKTtcbiAgICBtcyA9IChNYXRoLmZsb29yKHJhbmQgKiAxMCkgJiAxKSA9PSAwICA/IG1zIC0gZGV2aWF0aW9uIDogbXMgKyBkZXZpYXRpb247XG4gIH1cbiAgcmV0dXJuIE1hdGgubWluKG1zLCB0aGlzLm1heCkgfCAwO1xufTtcblxuLyoqXG4gKiBSZXNldCB0aGUgbnVtYmVyIG9mIGF0dGVtcHRzLlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuQmFja29mZi5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbigpe1xuICB0aGlzLmF0dGVtcHRzID0gMDtcbn07XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIGR1cmF0aW9uXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5CYWNrb2ZmLnByb3RvdHlwZS5zZXRNaW4gPSBmdW5jdGlvbihtaW4pe1xuICB0aGlzLm1zID0gbWluO1xufTtcblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gZHVyYXRpb25cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbkJhY2tvZmYucHJvdG90eXBlLnNldE1heCA9IGZ1bmN0aW9uKG1heCl7XG4gIHRoaXMubWF4ID0gbWF4O1xufTtcblxuLyoqXG4gKiBTZXQgdGhlIGppdHRlclxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuQmFja29mZi5wcm90b3R5cGUuc2V0Sml0dGVyID0gZnVuY3Rpb24oaml0dGVyKXtcbiAgdGhpcy5qaXR0ZXIgPSBqaXR0ZXI7XG59O1xuXG4iLCIvKipcclxuICogQ3JlYXRlIGEgYmxvYiBidWlsZGVyIGV2ZW4gd2hlbiB2ZW5kb3IgcHJlZml4ZXMgZXhpc3RcclxuICovXHJcblxyXG52YXIgQmxvYkJ1aWxkZXIgPSB0eXBlb2YgQmxvYkJ1aWxkZXIgIT09ICd1bmRlZmluZWQnID8gQmxvYkJ1aWxkZXIgOlxyXG4gIHR5cGVvZiBXZWJLaXRCbG9iQnVpbGRlciAhPT0gJ3VuZGVmaW5lZCcgPyBXZWJLaXRCbG9iQnVpbGRlciA6XHJcbiAgdHlwZW9mIE1TQmxvYkJ1aWxkZXIgIT09ICd1bmRlZmluZWQnID8gTVNCbG9iQnVpbGRlciA6XHJcbiAgdHlwZW9mIE1vekJsb2JCdWlsZGVyICE9PSAndW5kZWZpbmVkJyA/IE1vekJsb2JCdWlsZGVyIDogXHJcbiAgZmFsc2U7XHJcblxyXG4vKipcclxuICogQ2hlY2sgaWYgQmxvYiBjb25zdHJ1Y3RvciBpcyBzdXBwb3J0ZWRcclxuICovXHJcblxyXG52YXIgYmxvYlN1cHBvcnRlZCA9IChmdW5jdGlvbigpIHtcclxuICB0cnkge1xyXG4gICAgdmFyIGEgPSBuZXcgQmxvYihbJ2hpJ10pO1xyXG4gICAgcmV0dXJuIGEuc2l6ZSA9PT0gMjtcclxuICB9IGNhdGNoKGUpIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn0pKCk7XHJcblxyXG4vKipcclxuICogQ2hlY2sgaWYgQmxvYiBjb25zdHJ1Y3RvciBzdXBwb3J0cyBBcnJheUJ1ZmZlclZpZXdzXHJcbiAqIEZhaWxzIGluIFNhZmFyaSA2LCBzbyB3ZSBuZWVkIHRvIG1hcCB0byBBcnJheUJ1ZmZlcnMgdGhlcmUuXHJcbiAqL1xyXG5cclxudmFyIGJsb2JTdXBwb3J0c0FycmF5QnVmZmVyVmlldyA9IGJsb2JTdXBwb3J0ZWQgJiYgKGZ1bmN0aW9uKCkge1xyXG4gIHRyeSB7XHJcbiAgICB2YXIgYiA9IG5ldyBCbG9iKFtuZXcgVWludDhBcnJheShbMSwyXSldKTtcclxuICAgIHJldHVybiBiLnNpemUgPT09IDI7XHJcbiAgfSBjYXRjaChlKSB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59KSgpO1xyXG5cclxuLyoqXHJcbiAqIENoZWNrIGlmIEJsb2JCdWlsZGVyIGlzIHN1cHBvcnRlZFxyXG4gKi9cclxuXHJcbnZhciBibG9iQnVpbGRlclN1cHBvcnRlZCA9IEJsb2JCdWlsZGVyXHJcbiAgJiYgQmxvYkJ1aWxkZXIucHJvdG90eXBlLmFwcGVuZFxyXG4gICYmIEJsb2JCdWlsZGVyLnByb3RvdHlwZS5nZXRCbG9iO1xyXG5cclxuLyoqXHJcbiAqIEhlbHBlciBmdW5jdGlvbiB0aGF0IG1hcHMgQXJyYXlCdWZmZXJWaWV3cyB0byBBcnJheUJ1ZmZlcnNcclxuICogVXNlZCBieSBCbG9iQnVpbGRlciBjb25zdHJ1Y3RvciBhbmQgb2xkIGJyb3dzZXJzIHRoYXQgZGlkbid0XHJcbiAqIHN1cHBvcnQgaXQgaW4gdGhlIEJsb2IgY29uc3RydWN0b3IuXHJcbiAqL1xyXG5cclxuZnVuY3Rpb24gbWFwQXJyYXlCdWZmZXJWaWV3cyhhcnkpIHtcclxuICByZXR1cm4gYXJ5Lm1hcChmdW5jdGlvbihjaHVuaykge1xyXG4gICAgaWYgKGNodW5rLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSB7XHJcbiAgICAgIHZhciBidWYgPSBjaHVuay5idWZmZXI7XHJcblxyXG4gICAgICAvLyBpZiB0aGlzIGlzIGEgc3ViYXJyYXksIG1ha2UgYSBjb3B5IHNvIHdlIG9ubHlcclxuICAgICAgLy8gaW5jbHVkZSB0aGUgc3ViYXJyYXkgcmVnaW9uIGZyb20gdGhlIHVuZGVybHlpbmcgYnVmZmVyXHJcbiAgICAgIGlmIChjaHVuay5ieXRlTGVuZ3RoICE9PSBidWYuYnl0ZUxlbmd0aCkge1xyXG4gICAgICAgIHZhciBjb3B5ID0gbmV3IFVpbnQ4QXJyYXkoY2h1bmsuYnl0ZUxlbmd0aCk7XHJcbiAgICAgICAgY29weS5zZXQobmV3IFVpbnQ4QXJyYXkoYnVmLCBjaHVuay5ieXRlT2Zmc2V0LCBjaHVuay5ieXRlTGVuZ3RoKSk7XHJcbiAgICAgICAgYnVmID0gY29weS5idWZmZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBidWY7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGNodW5rO1xyXG4gIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBCbG9iQnVpbGRlckNvbnN0cnVjdG9yKGFyeSwgb3B0aW9ucykge1xyXG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xyXG5cclxuICB2YXIgYmIgPSBuZXcgQmxvYkJ1aWxkZXIoKTtcclxuICBtYXBBcnJheUJ1ZmZlclZpZXdzKGFyeSkuZm9yRWFjaChmdW5jdGlvbihwYXJ0KSB7XHJcbiAgICBiYi5hcHBlbmQocGFydCk7XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiAob3B0aW9ucy50eXBlKSA/IGJiLmdldEJsb2Iob3B0aW9ucy50eXBlKSA6IGJiLmdldEJsb2IoKTtcclxufTtcclxuXHJcbmZ1bmN0aW9uIEJsb2JDb25zdHJ1Y3RvcihhcnksIG9wdGlvbnMpIHtcclxuICByZXR1cm4gbmV3IEJsb2IobWFwQXJyYXlCdWZmZXJWaWV3cyhhcnkpLCBvcHRpb25zIHx8IHt9KTtcclxufTtcclxuXHJcbmlmICh0eXBlb2YgQmxvYiAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICBCbG9iQnVpbGRlckNvbnN0cnVjdG9yLnByb3RvdHlwZSA9IEJsb2IucHJvdG90eXBlO1xyXG4gIEJsb2JDb25zdHJ1Y3Rvci5wcm90b3R5cGUgPSBCbG9iLnByb3RvdHlwZTtcclxufVxyXG5cclxubW9kdWxlLmV4cG9ydHMgPSAoZnVuY3Rpb24oKSB7XHJcbiAgaWYgKGJsb2JTdXBwb3J0ZWQpIHtcclxuICAgIHJldHVybiBibG9iU3VwcG9ydHNBcnJheUJ1ZmZlclZpZXcgPyBCbG9iIDogQmxvYkNvbnN0cnVjdG9yO1xyXG4gIH0gZWxzZSBpZiAoYmxvYkJ1aWxkZXJTdXBwb3J0ZWQpIHtcclxuICAgIHJldHVybiBCbG9iQnVpbGRlckNvbnN0cnVjdG9yO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxufSkoKTtcclxuIiwiLyoqXG4gKiBTbGljZSByZWZlcmVuY2UuXG4gKi9cblxudmFyIHNsaWNlID0gW10uc2xpY2U7XG5cbi8qKlxuICogQmluZCBgb2JqYCB0byBgZm5gLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmpcbiAqIEBwYXJhbSB7RnVuY3Rpb258U3RyaW5nfSBmbiBvciBzdHJpbmdcbiAqIEByZXR1cm4ge0Z1bmN0aW9ufVxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKG9iaiwgZm4pe1xuICBpZiAoJ3N0cmluZycgPT0gdHlwZW9mIGZuKSBmbiA9IG9ialtmbl07XG4gIGlmICgnZnVuY3Rpb24nICE9IHR5cGVvZiBmbikgdGhyb3cgbmV3IEVycm9yKCdiaW5kKCkgcmVxdWlyZXMgYSBmdW5jdGlvbicpO1xuICB2YXIgYXJncyA9IHNsaWNlLmNhbGwoYXJndW1lbnRzLCAyKTtcbiAgcmV0dXJuIGZ1bmN0aW9uKCl7XG4gICAgcmV0dXJuIGZuLmFwcGx5KG9iaiwgYXJncy5jb25jYXQoc2xpY2UuY2FsbChhcmd1bWVudHMpKSk7XG4gIH1cbn07XG4iLCJcbi8qKlxuICogRXhwb3NlIGBFbWl0dGVyYC5cbiAqL1xuXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBFbWl0dGVyO1xufVxuXG4vKipcbiAqIEluaXRpYWxpemUgYSBuZXcgYEVtaXR0ZXJgLlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZnVuY3Rpb24gRW1pdHRlcihvYmopIHtcbiAgaWYgKG9iaikgcmV0dXJuIG1peGluKG9iaik7XG59O1xuXG4vKipcbiAqIE1peGluIHRoZSBlbWl0dGVyIHByb3BlcnRpZXMuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9ialxuICogQHJldHVybiB7T2JqZWN0fVxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gbWl4aW4ob2JqKSB7XG4gIGZvciAodmFyIGtleSBpbiBFbWl0dGVyLnByb3RvdHlwZSkge1xuICAgIG9ialtrZXldID0gRW1pdHRlci5wcm90b3R5cGVba2V5XTtcbiAgfVxuICByZXR1cm4gb2JqO1xufVxuXG4vKipcbiAqIExpc3RlbiBvbiB0aGUgZ2l2ZW4gYGV2ZW50YCB3aXRoIGBmbmAuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGV2ZW50XG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmblxuICogQHJldHVybiB7RW1pdHRlcn1cbiAqIEBhcGkgcHVibGljXG4gKi9cblxuRW1pdHRlci5wcm90b3R5cGUub24gPVxuRW1pdHRlci5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lciA9IGZ1bmN0aW9uKGV2ZW50LCBmbil7XG4gIHRoaXMuX2NhbGxiYWNrcyA9IHRoaXMuX2NhbGxiYWNrcyB8fCB7fTtcbiAgKHRoaXMuX2NhbGxiYWNrc1snJCcgKyBldmVudF0gPSB0aGlzLl9jYWxsYmFja3NbJyQnICsgZXZlbnRdIHx8IFtdKVxuICAgIC5wdXNoKGZuKTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIEFkZHMgYW4gYGV2ZW50YCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBhIHNpbmdsZVxuICogdGltZSB0aGVuIGF1dG9tYXRpY2FsbHkgcmVtb3ZlZC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gZXZlbnRcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZuXG4gKiBAcmV0dXJuIHtFbWl0dGVyfVxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5FbWl0dGVyLnByb3RvdHlwZS5vbmNlID0gZnVuY3Rpb24oZXZlbnQsIGZuKXtcbiAgZnVuY3Rpb24gb24oKSB7XG4gICAgdGhpcy5vZmYoZXZlbnQsIG9uKTtcbiAgICBmbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICB9XG5cbiAgb24uZm4gPSBmbjtcbiAgdGhpcy5vbihldmVudCwgb24pO1xuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBnaXZlbiBjYWxsYmFjayBmb3IgYGV2ZW50YCBvciBhbGxcbiAqIHJlZ2lzdGVyZWQgY2FsbGJhY2tzLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBldmVudFxuICogQHBhcmFtIHtGdW5jdGlvbn0gZm5cbiAqIEByZXR1cm4ge0VtaXR0ZXJ9XG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbkVtaXR0ZXIucHJvdG90eXBlLm9mZiA9XG5FbWl0dGVyLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lciA9XG5FbWl0dGVyLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnMgPVxuRW1pdHRlci5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lciA9IGZ1bmN0aW9uKGV2ZW50LCBmbil7XG4gIHRoaXMuX2NhbGxiYWNrcyA9IHRoaXMuX2NhbGxiYWNrcyB8fCB7fTtcblxuICAvLyBhbGxcbiAgaWYgKDAgPT0gYXJndW1lbnRzLmxlbmd0aCkge1xuICAgIHRoaXMuX2NhbGxiYWNrcyA9IHt9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLy8gc3BlY2lmaWMgZXZlbnRcbiAgdmFyIGNhbGxiYWNrcyA9IHRoaXMuX2NhbGxiYWNrc1snJCcgKyBldmVudF07XG4gIGlmICghY2FsbGJhY2tzKSByZXR1cm4gdGhpcztcblxuICAvLyByZW1vdmUgYWxsIGhhbmRsZXJzXG4gIGlmICgxID09IGFyZ3VtZW50cy5sZW5ndGgpIHtcbiAgICBkZWxldGUgdGhpcy5fY2FsbGJhY2tzWyckJyArIGV2ZW50XTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8vIHJlbW92ZSBzcGVjaWZpYyBoYW5kbGVyXG4gIHZhciBjYjtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBjYWxsYmFja3MubGVuZ3RoOyBpKyspIHtcbiAgICBjYiA9IGNhbGxiYWNrc1tpXTtcbiAgICBpZiAoY2IgPT09IGZuIHx8IGNiLmZuID09PSBmbikge1xuICAgICAgY2FsbGJhY2tzLnNwbGljZShpLCAxKTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBldmVudCBzcGVjaWZpYyBhcnJheXMgZm9yIGV2ZW50IHR5cGVzIHRoYXQgbm9cbiAgLy8gb25lIGlzIHN1YnNjcmliZWQgZm9yIHRvIGF2b2lkIG1lbW9yeSBsZWFrLlxuICBpZiAoY2FsbGJhY2tzLmxlbmd0aCA9PT0gMCkge1xuICAgIGRlbGV0ZSB0aGlzLl9jYWxsYmFja3NbJyQnICsgZXZlbnRdO1xuICB9XG5cbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIEVtaXQgYGV2ZW50YCB3aXRoIHRoZSBnaXZlbiBhcmdzLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBldmVudFxuICogQHBhcmFtIHtNaXhlZH0gLi4uXG4gKiBAcmV0dXJuIHtFbWl0dGVyfVxuICovXG5cbkVtaXR0ZXIucHJvdG90eXBlLmVtaXQgPSBmdW5jdGlvbihldmVudCl7XG4gIHRoaXMuX2NhbGxiYWNrcyA9IHRoaXMuX2NhbGxiYWNrcyB8fCB7fTtcblxuICB2YXIgYXJncyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoIC0gMSlcbiAgICAsIGNhbGxiYWNrcyA9IHRoaXMuX2NhbGxiYWNrc1snJCcgKyBldmVudF07XG5cbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICBhcmdzW2kgLSAxXSA9IGFyZ3VtZW50c1tpXTtcbiAgfVxuXG4gIGlmIChjYWxsYmFja3MpIHtcbiAgICBjYWxsYmFja3MgPSBjYWxsYmFja3Muc2xpY2UoMCk7XG4gICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGNhbGxiYWNrcy5sZW5ndGg7IGkgPCBsZW47ICsraSkge1xuICAgICAgY2FsbGJhY2tzW2ldLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBSZXR1cm4gYXJyYXkgb2YgY2FsbGJhY2tzIGZvciBgZXZlbnRgLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBldmVudFxuICogQHJldHVybiB7QXJyYXl9XG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbkVtaXR0ZXIucHJvdG90eXBlLmxpc3RlbmVycyA9IGZ1bmN0aW9uKGV2ZW50KXtcbiAgdGhpcy5fY2FsbGJhY2tzID0gdGhpcy5fY2FsbGJhY2tzIHx8IHt9O1xuICByZXR1cm4gdGhpcy5fY2FsbGJhY2tzWyckJyArIGV2ZW50XSB8fCBbXTtcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhpcyBlbWl0dGVyIGhhcyBgZXZlbnRgIGhhbmRsZXJzLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBldmVudFxuICogQHJldHVybiB7Qm9vbGVhbn1cbiAqIEBhcGkgcHVibGljXG4gKi9cblxuRW1pdHRlci5wcm90b3R5cGUuaGFzTGlzdGVuZXJzID0gZnVuY3Rpb24oZXZlbnQpe1xuICByZXR1cm4gISEgdGhpcy5saXN0ZW5lcnMoZXZlbnQpLmxlbmd0aDtcbn07XG4iLCJcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oYSwgYil7XG4gIHZhciBmbiA9IGZ1bmN0aW9uKCl7fTtcbiAgZm4ucHJvdG90eXBlID0gYi5wcm90b3R5cGU7XG4gIGEucHJvdG90eXBlID0gbmV3IGZuO1xuICBhLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGE7XG59OyIsIi8qKlxuICogSGVscGVycy5cbiAqL1xuXG52YXIgcyA9IDEwMDA7XG52YXIgbSA9IHMgKiA2MDtcbnZhciBoID0gbSAqIDYwO1xudmFyIGQgPSBoICogMjQ7XG52YXIgdyA9IGQgKiA3O1xudmFyIHkgPSBkICogMzY1LjI1O1xuXG4vKipcbiAqIFBhcnNlIG9yIGZvcm1hdCB0aGUgZ2l2ZW4gYHZhbGAuXG4gKlxuICogT3B0aW9uczpcbiAqXG4gKiAgLSBgbG9uZ2AgdmVyYm9zZSBmb3JtYXR0aW5nIFtmYWxzZV1cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ3xOdW1iZXJ9IHZhbFxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXVxuICogQHRocm93cyB7RXJyb3J9IHRocm93IGFuIGVycm9yIGlmIHZhbCBpcyBub3QgYSBub24tZW1wdHkgc3RyaW5nIG9yIGEgbnVtYmVyXG4gKiBAcmV0dXJuIHtTdHJpbmd8TnVtYmVyfVxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKHZhbCwgb3B0aW9ucykge1xuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgdmFyIHR5cGUgPSB0eXBlb2YgdmFsO1xuICBpZiAodHlwZSA9PT0gJ3N0cmluZycgJiYgdmFsLmxlbmd0aCA+IDApIHtcbiAgICByZXR1cm4gcGFyc2UodmFsKTtcbiAgfSBlbHNlIGlmICh0eXBlID09PSAnbnVtYmVyJyAmJiBpc0Zpbml0ZSh2YWwpKSB7XG4gICAgcmV0dXJuIG9wdGlvbnMubG9uZyA/IGZtdExvbmcodmFsKSA6IGZtdFNob3J0KHZhbCk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKFxuICAgICd2YWwgaXMgbm90IGEgbm9uLWVtcHR5IHN0cmluZyBvciBhIHZhbGlkIG51bWJlci4gdmFsPScgK1xuICAgICAgSlNPTi5zdHJpbmdpZnkodmFsKVxuICApO1xufTtcblxuLyoqXG4gKiBQYXJzZSB0aGUgZ2l2ZW4gYHN0cmAgYW5kIHJldHVybiBtaWxsaXNlY29uZHMuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHN0clxuICogQHJldHVybiB7TnVtYmVyfVxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gcGFyc2Uoc3RyKSB7XG4gIHN0ciA9IFN0cmluZyhzdHIpO1xuICBpZiAoc3RyLmxlbmd0aCA+IDEwMCkge1xuICAgIHJldHVybjtcbiAgfVxuICB2YXIgbWF0Y2ggPSAvXigtPyg/OlxcZCspP1xcLj9cXGQrKSAqKG1pbGxpc2Vjb25kcz98bXNlY3M/fG1zfHNlY29uZHM/fHNlY3M/fHN8bWludXRlcz98bWlucz98bXxob3Vycz98aHJzP3xofGRheXM/fGR8d2Vla3M/fHd8eWVhcnM/fHlycz98eSk/JC9pLmV4ZWMoXG4gICAgc3RyXG4gICk7XG4gIGlmICghbWF0Y2gpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgdmFyIG4gPSBwYXJzZUZsb2F0KG1hdGNoWzFdKTtcbiAgdmFyIHR5cGUgPSAobWF0Y2hbMl0gfHwgJ21zJykudG9Mb3dlckNhc2UoKTtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSAneWVhcnMnOlxuICAgIGNhc2UgJ3llYXInOlxuICAgIGNhc2UgJ3lycyc6XG4gICAgY2FzZSAneXInOlxuICAgIGNhc2UgJ3knOlxuICAgICAgcmV0dXJuIG4gKiB5O1xuICAgIGNhc2UgJ3dlZWtzJzpcbiAgICBjYXNlICd3ZWVrJzpcbiAgICBjYXNlICd3JzpcbiAgICAgIHJldHVybiBuICogdztcbiAgICBjYXNlICdkYXlzJzpcbiAgICBjYXNlICdkYXknOlxuICAgIGNhc2UgJ2QnOlxuICAgICAgcmV0dXJuIG4gKiBkO1xuICAgIGNhc2UgJ2hvdXJzJzpcbiAgICBjYXNlICdob3VyJzpcbiAgICBjYXNlICdocnMnOlxuICAgIGNhc2UgJ2hyJzpcbiAgICBjYXNlICdoJzpcbiAgICAgIHJldHVybiBuICogaDtcbiAgICBjYXNlICdtaW51dGVzJzpcbiAgICBjYXNlICdtaW51dGUnOlxuICAgIGNhc2UgJ21pbnMnOlxuICAgIGNhc2UgJ21pbic6XG4gICAgY2FzZSAnbSc6XG4gICAgICByZXR1cm4gbiAqIG07XG4gICAgY2FzZSAnc2Vjb25kcyc6XG4gICAgY2FzZSAnc2Vjb25kJzpcbiAgICBjYXNlICdzZWNzJzpcbiAgICBjYXNlICdzZWMnOlxuICAgIGNhc2UgJ3MnOlxuICAgICAgcmV0dXJuIG4gKiBzO1xuICAgIGNhc2UgJ21pbGxpc2Vjb25kcyc6XG4gICAgY2FzZSAnbWlsbGlzZWNvbmQnOlxuICAgIGNhc2UgJ21zZWNzJzpcbiAgICBjYXNlICdtc2VjJzpcbiAgICBjYXNlICdtcyc6XG4gICAgICByZXR1cm4gbjtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKipcbiAqIFNob3J0IGZvcm1hdCBmb3IgYG1zYC5cbiAqXG4gKiBAcGFyYW0ge051bWJlcn0gbXNcbiAqIEByZXR1cm4ge1N0cmluZ31cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIGZtdFNob3J0KG1zKSB7XG4gIHZhciBtc0FicyA9IE1hdGguYWJzKG1zKTtcbiAgaWYgKG1zQWJzID49IGQpIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChtcyAvIGQpICsgJ2QnO1xuICB9XG4gIGlmIChtc0FicyA+PSBoKSB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQobXMgLyBoKSArICdoJztcbiAgfVxuICBpZiAobXNBYnMgPj0gbSkge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKG1zIC8gbSkgKyAnbSc7XG4gIH1cbiAgaWYgKG1zQWJzID49IHMpIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChtcyAvIHMpICsgJ3MnO1xuICB9XG4gIHJldHVybiBtcyArICdtcyc7XG59XG5cbi8qKlxuICogTG9uZyBmb3JtYXQgZm9yIGBtc2AuXG4gKlxuICogQHBhcmFtIHtOdW1iZXJ9IG1zXG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBmbXRMb25nKG1zKSB7XG4gIHZhciBtc0FicyA9IE1hdGguYWJzKG1zKTtcbiAgaWYgKG1zQWJzID49IGQpIHtcbiAgICByZXR1cm4gcGx1cmFsKG1zLCBtc0FicywgZCwgJ2RheScpO1xuICB9XG4gIGlmIChtc0FicyA+PSBoKSB7XG4gICAgcmV0dXJuIHBsdXJhbChtcywgbXNBYnMsIGgsICdob3VyJyk7XG4gIH1cbiAgaWYgKG1zQWJzID49IG0pIHtcbiAgICByZXR1cm4gcGx1cmFsKG1zLCBtc0FicywgbSwgJ21pbnV0ZScpO1xuICB9XG4gIGlmIChtc0FicyA+PSBzKSB7XG4gICAgcmV0dXJuIHBsdXJhbChtcywgbXNBYnMsIHMsICdzZWNvbmQnKTtcbiAgfVxuICByZXR1cm4gbXMgKyAnIG1zJztcbn1cblxuLyoqXG4gKiBQbHVyYWxpemF0aW9uIGhlbHBlci5cbiAqL1xuXG5mdW5jdGlvbiBwbHVyYWwobXMsIG1zQWJzLCBuLCBuYW1lKSB7XG4gIHZhciBpc1BsdXJhbCA9IG1zQWJzID49IG4gKiAxLjU7XG4gIHJldHVybiBNYXRoLnJvdW5kKG1zIC8gbikgKyAnICcgKyBuYW1lICsgKGlzUGx1cmFsID8gJ3MnIDogJycpO1xufVxuIiwiLyogZXNsaW50LWVudiBicm93c2VyICovXG5cbi8qKlxuICogVGhpcyBpcyB0aGUgd2ViIGJyb3dzZXIgaW1wbGVtZW50YXRpb24gb2YgYGRlYnVnKClgLlxuICovXG5cbmV4cG9ydHMuZm9ybWF0QXJncyA9IGZvcm1hdEFyZ3M7XG5leHBvcnRzLnNhdmUgPSBzYXZlO1xuZXhwb3J0cy5sb2FkID0gbG9hZDtcbmV4cG9ydHMudXNlQ29sb3JzID0gdXNlQ29sb3JzO1xuZXhwb3J0cy5zdG9yYWdlID0gbG9jYWxzdG9yYWdlKCk7XG5leHBvcnRzLmRlc3Ryb3kgPSAoKCkgPT4ge1xuXHRsZXQgd2FybmVkID0gZmFsc2U7XG5cblx0cmV0dXJuICgpID0+IHtcblx0XHRpZiAoIXdhcm5lZCkge1xuXHRcdFx0d2FybmVkID0gdHJ1ZTtcblx0XHRcdGNvbnNvbGUud2FybignSW5zdGFuY2UgbWV0aG9kIGBkZWJ1Zy5kZXN0cm95KClgIGlzIGRlcHJlY2F0ZWQgYW5kIG5vIGxvbmdlciBkb2VzIGFueXRoaW5nLiBJdCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiBvZiBgZGVidWdgLicpO1xuXHRcdH1cblx0fTtcbn0pKCk7XG5cbi8qKlxuICogQ29sb3JzLlxuICovXG5cbmV4cG9ydHMuY29sb3JzID0gW1xuXHQnIzAwMDBDQycsXG5cdCcjMDAwMEZGJyxcblx0JyMwMDMzQ0MnLFxuXHQnIzAwMzNGRicsXG5cdCcjMDA2NkNDJyxcblx0JyMwMDY2RkYnLFxuXHQnIzAwOTlDQycsXG5cdCcjMDA5OUZGJyxcblx0JyMwMENDMDAnLFxuXHQnIzAwQ0MzMycsXG5cdCcjMDBDQzY2Jyxcblx0JyMwMENDOTknLFxuXHQnIzAwQ0NDQycsXG5cdCcjMDBDQ0ZGJyxcblx0JyMzMzAwQ0MnLFxuXHQnIzMzMDBGRicsXG5cdCcjMzMzM0NDJyxcblx0JyMzMzMzRkYnLFxuXHQnIzMzNjZDQycsXG5cdCcjMzM2NkZGJyxcblx0JyMzMzk5Q0MnLFxuXHQnIzMzOTlGRicsXG5cdCcjMzNDQzAwJyxcblx0JyMzM0NDMzMnLFxuXHQnIzMzQ0M2NicsXG5cdCcjMzNDQzk5Jyxcblx0JyMzM0NDQ0MnLFxuXHQnIzMzQ0NGRicsXG5cdCcjNjYwMENDJyxcblx0JyM2NjAwRkYnLFxuXHQnIzY2MzNDQycsXG5cdCcjNjYzM0ZGJyxcblx0JyM2NkNDMDAnLFxuXHQnIzY2Q0MzMycsXG5cdCcjOTkwMENDJyxcblx0JyM5OTAwRkYnLFxuXHQnIzk5MzNDQycsXG5cdCcjOTkzM0ZGJyxcblx0JyM5OUNDMDAnLFxuXHQnIzk5Q0MzMycsXG5cdCcjQ0MwMDAwJyxcblx0JyNDQzAwMzMnLFxuXHQnI0NDMDA2NicsXG5cdCcjQ0MwMDk5Jyxcblx0JyNDQzAwQ0MnLFxuXHQnI0NDMDBGRicsXG5cdCcjQ0MzMzAwJyxcblx0JyNDQzMzMzMnLFxuXHQnI0NDMzM2NicsXG5cdCcjQ0MzMzk5Jyxcblx0JyNDQzMzQ0MnLFxuXHQnI0NDMzNGRicsXG5cdCcjQ0M2NjAwJyxcblx0JyNDQzY2MzMnLFxuXHQnI0NDOTkwMCcsXG5cdCcjQ0M5OTMzJyxcblx0JyNDQ0NDMDAnLFxuXHQnI0NDQ0MzMycsXG5cdCcjRkYwMDAwJyxcblx0JyNGRjAwMzMnLFxuXHQnI0ZGMDA2NicsXG5cdCcjRkYwMDk5Jyxcblx0JyNGRjAwQ0MnLFxuXHQnI0ZGMDBGRicsXG5cdCcjRkYzMzAwJyxcblx0JyNGRjMzMzMnLFxuXHQnI0ZGMzM2NicsXG5cdCcjRkYzMzk5Jyxcblx0JyNGRjMzQ0MnLFxuXHQnI0ZGMzNGRicsXG5cdCcjRkY2NjAwJyxcblx0JyNGRjY2MzMnLFxuXHQnI0ZGOTkwMCcsXG5cdCcjRkY5OTMzJyxcblx0JyNGRkNDMDAnLFxuXHQnI0ZGQ0MzMydcbl07XG5cbi8qKlxuICogQ3VycmVudGx5IG9ubHkgV2ViS2l0LWJhc2VkIFdlYiBJbnNwZWN0b3JzLCBGaXJlZm94ID49IHYzMSxcbiAqIGFuZCB0aGUgRmlyZWJ1ZyBleHRlbnNpb24gKGFueSBGaXJlZm94IHZlcnNpb24pIGFyZSBrbm93blxuICogdG8gc3VwcG9ydCBcIiVjXCIgQ1NTIGN1c3RvbWl6YXRpb25zLlxuICpcbiAqIFRPRE86IGFkZCBhIGBsb2NhbFN0b3JhZ2VgIHZhcmlhYmxlIHRvIGV4cGxpY2l0bHkgZW5hYmxlL2Rpc2FibGUgY29sb3JzXG4gKi9cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNvbXBsZXhpdHlcbmZ1bmN0aW9uIHVzZUNvbG9ycygpIHtcblx0Ly8gTkI6IEluIGFuIEVsZWN0cm9uIHByZWxvYWQgc2NyaXB0LCBkb2N1bWVudCB3aWxsIGJlIGRlZmluZWQgYnV0IG5vdCBmdWxseVxuXHQvLyBpbml0aWFsaXplZC4gU2luY2Ugd2Uga25vdyB3ZSdyZSBpbiBDaHJvbWUsIHdlJ2xsIGp1c3QgZGV0ZWN0IHRoaXMgY2FzZVxuXHQvLyBleHBsaWNpdGx5XG5cdGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cucHJvY2VzcyAmJiAod2luZG93LnByb2Nlc3MudHlwZSA9PT0gJ3JlbmRlcmVyJyB8fCB3aW5kb3cucHJvY2Vzcy5fX253anMpKSB7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cblxuXHQvLyBJbnRlcm5ldCBFeHBsb3JlciBhbmQgRWRnZSBkbyBub3Qgc3VwcG9ydCBjb2xvcnMuXG5cdGlmICh0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiBuYXZpZ2F0b3IudXNlckFnZW50ICYmIG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKGVkZ2V8dHJpZGVudClcXC8oXFxkKykvKSkge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdGxldCBtO1xuXG5cdC8vIElzIHdlYmtpdD8gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTY0NTk2MDYvMzc2NzczXG5cdC8vIGRvY3VtZW50IGlzIHVuZGVmaW5lZCBpbiByZWFjdC1uYXRpdmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC1uYXRpdmUvcHVsbC8xNjMyXG5cdHJldHVybiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5XZWJraXRBcHBlYXJhbmNlKSB8fFxuXHRcdC8vIElzIGZpcmVidWc/IGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzM5ODEyMC8zNzY3NzNcblx0XHQodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LmNvbnNvbGUgJiYgKHdpbmRvdy5jb25zb2xlLmZpcmVidWcgfHwgKHdpbmRvdy5jb25zb2xlLmV4Y2VwdGlvbiAmJiB3aW5kb3cuY29uc29sZS50YWJsZSkpKSB8fFxuXHRcdC8vIElzIGZpcmVmb3ggPj0gdjMxP1xuXHRcdC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvVG9vbHMvV2ViX0NvbnNvbGUjU3R5bGluZ19tZXNzYWdlc1xuXHRcdCh0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiBuYXZpZ2F0b3IudXNlckFnZW50ICYmIChtID0gbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9maXJlZm94XFwvKFxcZCspLykpICYmIHBhcnNlSW50KG1bMV0sIDEwKSA+PSAzMSkgfHxcblx0XHQvLyBEb3VibGUgY2hlY2sgd2Via2l0IGluIHVzZXJBZ2VudCBqdXN0IGluIGNhc2Ugd2UgYXJlIGluIGEgd29ya2VyXG5cdFx0KHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIG5hdmlnYXRvci51c2VyQWdlbnQgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9hcHBsZXdlYmtpdFxcLyhcXGQrKS8pKTtcbn1cblxuLyoqXG4gKiBDb2xvcml6ZSBsb2cgYXJndW1lbnRzIGlmIGVuYWJsZWQuXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBmb3JtYXRBcmdzKGFyZ3MpIHtcblx0YXJnc1swXSA9ICh0aGlzLnVzZUNvbG9ycyA/ICclYycgOiAnJykgK1xuXHRcdHRoaXMubmFtZXNwYWNlICtcblx0XHQodGhpcy51c2VDb2xvcnMgPyAnICVjJyA6ICcgJykgK1xuXHRcdGFyZ3NbMF0gK1xuXHRcdCh0aGlzLnVzZUNvbG9ycyA/ICclYyAnIDogJyAnKSArXG5cdFx0JysnICsgbW9kdWxlLmV4cG9ydHMuaHVtYW5pemUodGhpcy5kaWZmKTtcblxuXHRpZiAoIXRoaXMudXNlQ29sb3JzKSB7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0Y29uc3QgYyA9ICdjb2xvcjogJyArIHRoaXMuY29sb3I7XG5cdGFyZ3Muc3BsaWNlKDEsIDAsIGMsICdjb2xvcjogaW5oZXJpdCcpO1xuXG5cdC8vIFRoZSBmaW5hbCBcIiVjXCIgaXMgc29tZXdoYXQgdHJpY2t5LCBiZWNhdXNlIHRoZXJlIGNvdWxkIGJlIG90aGVyXG5cdC8vIGFyZ3VtZW50cyBwYXNzZWQgZWl0aGVyIGJlZm9yZSBvciBhZnRlciB0aGUgJWMsIHNvIHdlIG5lZWQgdG9cblx0Ly8gZmlndXJlIG91dCB0aGUgY29ycmVjdCBpbmRleCB0byBpbnNlcnQgdGhlIENTUyBpbnRvXG5cdGxldCBpbmRleCA9IDA7XG5cdGxldCBsYXN0QyA9IDA7XG5cdGFyZ3NbMF0ucmVwbGFjZSgvJVthLXpBLVolXS9nLCBtYXRjaCA9PiB7XG5cdFx0aWYgKG1hdGNoID09PSAnJSUnKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGluZGV4Kys7XG5cdFx0aWYgKG1hdGNoID09PSAnJWMnKSB7XG5cdFx0XHQvLyBXZSBvbmx5IGFyZSBpbnRlcmVzdGVkIGluIHRoZSAqbGFzdCogJWNcblx0XHRcdC8vICh0aGUgdXNlciBtYXkgaGF2ZSBwcm92aWRlZCB0aGVpciBvd24pXG5cdFx0XHRsYXN0QyA9IGluZGV4O1xuXHRcdH1cblx0fSk7XG5cblx0YXJncy5zcGxpY2UobGFzdEMsIDAsIGMpO1xufVxuXG4vKipcbiAqIEludm9rZXMgYGNvbnNvbGUuZGVidWcoKWAgd2hlbiBhdmFpbGFibGUuXG4gKiBOby1vcCB3aGVuIGBjb25zb2xlLmRlYnVnYCBpcyBub3QgYSBcImZ1bmN0aW9uXCIuXG4gKiBJZiBgY29uc29sZS5kZWJ1Z2AgaXMgbm90IGF2YWlsYWJsZSwgZmFsbHMgYmFja1xuICogdG8gYGNvbnNvbGUubG9nYC5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5leHBvcnRzLmxvZyA9IGNvbnNvbGUuZGVidWcgfHwgY29uc29sZS5sb2cgfHwgKCgpID0+IHt9KTtcblxuLyoqXG4gKiBTYXZlIGBuYW1lc3BhY2VzYC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gbmFtZXNwYWNlc1xuICogQGFwaSBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIHNhdmUobmFtZXNwYWNlcykge1xuXHR0cnkge1xuXHRcdGlmIChuYW1lc3BhY2VzKSB7XG5cdFx0XHRleHBvcnRzLnN0b3JhZ2Uuc2V0SXRlbSgnZGVidWcnLCBuYW1lc3BhY2VzKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0ZXhwb3J0cy5zdG9yYWdlLnJlbW92ZUl0ZW0oJ2RlYnVnJyk7XG5cdFx0fVxuXHR9IGNhdGNoIChlcnJvcikge1xuXHRcdC8vIFN3YWxsb3dcblx0XHQvLyBYWFggKEBRaXgtKSBzaG91bGQgd2UgYmUgbG9nZ2luZyB0aGVzZT9cblx0fVxufVxuXG4vKipcbiAqIExvYWQgYG5hbWVzcGFjZXNgLlxuICpcbiAqIEByZXR1cm4ge1N0cmluZ30gcmV0dXJucyB0aGUgcHJldmlvdXNseSBwZXJzaXN0ZWQgZGVidWcgbW9kZXNcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBsb2FkKCkge1xuXHRsZXQgcjtcblx0dHJ5IHtcblx0XHRyID0gZXhwb3J0cy5zdG9yYWdlLmdldEl0ZW0oJ2RlYnVnJyk7XG5cdH0gY2F0Y2ggKGVycm9yKSB7XG5cdFx0Ly8gU3dhbGxvd1xuXHRcdC8vIFhYWCAoQFFpeC0pIHNob3VsZCB3ZSBiZSBsb2dnaW5nIHRoZXNlP1xuXHR9XG5cblx0Ly8gSWYgZGVidWcgaXNuJ3Qgc2V0IGluIExTLCBhbmQgd2UncmUgaW4gRWxlY3Ryb24sIHRyeSB0byBsb2FkICRERUJVR1xuXHRpZiAoIXIgJiYgdHlwZW9mIHByb2Nlc3MgIT09ICd1bmRlZmluZWQnICYmICdlbnYnIGluIHByb2Nlc3MpIHtcblx0XHRyID0gcHJvY2Vzcy5lbnYuREVCVUc7XG5cdH1cblxuXHRyZXR1cm4gcjtcbn1cblxuLyoqXG4gKiBMb2NhbHN0b3JhZ2UgYXR0ZW1wdHMgdG8gcmV0dXJuIHRoZSBsb2NhbHN0b3JhZ2UuXG4gKlxuICogVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBzYWZhcmkgdGhyb3dzXG4gKiB3aGVuIGEgdXNlciBkaXNhYmxlcyBjb29raWVzL2xvY2Fsc3RvcmFnZVxuICogYW5kIHlvdSBhdHRlbXB0IHRvIGFjY2VzcyBpdC5cbiAqXG4gKiBAcmV0dXJuIHtMb2NhbFN0b3JhZ2V9XG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBsb2NhbHN0b3JhZ2UoKSB7XG5cdHRyeSB7XG5cdFx0Ly8gVFZNTEtpdCAoQXBwbGUgVFYgSlMgUnVudGltZSkgZG9lcyBub3QgaGF2ZSBhIHdpbmRvdyBvYmplY3QsIGp1c3QgbG9jYWxTdG9yYWdlIGluIHRoZSBnbG9iYWwgY29udGV4dFxuXHRcdC8vIFRoZSBCcm93c2VyIGFsc28gaGFzIGxvY2FsU3RvcmFnZSBpbiB0aGUgZ2xvYmFsIGNvbnRleHQuXG5cdFx0cmV0dXJuIGxvY2FsU3RvcmFnZTtcblx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHQvLyBTd2FsbG93XG5cdFx0Ly8gWFhYIChAUWl4LSkgc2hvdWxkIHdlIGJlIGxvZ2dpbmcgdGhlc2U/XG5cdH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2NvbW1vbicpKGV4cG9ydHMpO1xuXG5jb25zdCB7Zm9ybWF0dGVyc30gPSBtb2R1bGUuZXhwb3J0cztcblxuLyoqXG4gKiBNYXAgJWogdG8gYEpTT04uc3RyaW5naWZ5KClgLCBzaW5jZSBubyBXZWIgSW5zcGVjdG9ycyBkbyB0aGF0IGJ5IGRlZmF1bHQuXG4gKi9cblxuZm9ybWF0dGVycy5qID0gZnVuY3Rpb24gKHYpIHtcblx0dHJ5IHtcblx0XHRyZXR1cm4gSlNPTi5zdHJpbmdpZnkodik7XG5cdH0gY2F0Y2ggKGVycm9yKSB7XG5cdFx0cmV0dXJuICdbVW5leHBlY3RlZEpTT05QYXJzZUVycm9yXTogJyArIGVycm9yLm1lc3NhZ2U7XG5cdH1cbn07XG4iLCJcbi8qKlxuICogVGhpcyBpcyB0aGUgY29tbW9uIGxvZ2ljIGZvciBib3RoIHRoZSBOb2RlLmpzIGFuZCB3ZWIgYnJvd3NlclxuICogaW1wbGVtZW50YXRpb25zIG9mIGBkZWJ1ZygpYC5cbiAqL1xuXG5mdW5jdGlvbiBzZXR1cChlbnYpIHtcblx0Y3JlYXRlRGVidWcuZGVidWcgPSBjcmVhdGVEZWJ1Zztcblx0Y3JlYXRlRGVidWcuZGVmYXVsdCA9IGNyZWF0ZURlYnVnO1xuXHRjcmVhdGVEZWJ1Zy5jb2VyY2UgPSBjb2VyY2U7XG5cdGNyZWF0ZURlYnVnLmRpc2FibGUgPSBkaXNhYmxlO1xuXHRjcmVhdGVEZWJ1Zy5lbmFibGUgPSBlbmFibGU7XG5cdGNyZWF0ZURlYnVnLmVuYWJsZWQgPSBlbmFibGVkO1xuXHRjcmVhdGVEZWJ1Zy5odW1hbml6ZSA9IHJlcXVpcmUoJ21zJyk7XG5cdGNyZWF0ZURlYnVnLmRlc3Ryb3kgPSBkZXN0cm95O1xuXG5cdE9iamVjdC5rZXlzKGVudikuZm9yRWFjaChrZXkgPT4ge1xuXHRcdGNyZWF0ZURlYnVnW2tleV0gPSBlbnZba2V5XTtcblx0fSk7XG5cblx0LyoqXG5cdCogVGhlIGN1cnJlbnRseSBhY3RpdmUgZGVidWcgbW9kZSBuYW1lcywgYW5kIG5hbWVzIHRvIHNraXAuXG5cdCovXG5cblx0Y3JlYXRlRGVidWcubmFtZXMgPSBbXTtcblx0Y3JlYXRlRGVidWcuc2tpcHMgPSBbXTtcblxuXHQvKipcblx0KiBNYXAgb2Ygc3BlY2lhbCBcIiVuXCIgaGFuZGxpbmcgZnVuY3Rpb25zLCBmb3IgdGhlIGRlYnVnIFwiZm9ybWF0XCIgYXJndW1lbnQuXG5cdCpcblx0KiBWYWxpZCBrZXkgbmFtZXMgYXJlIGEgc2luZ2xlLCBsb3dlciBvciB1cHBlci1jYXNlIGxldHRlciwgaS5lLiBcIm5cIiBhbmQgXCJOXCIuXG5cdCovXG5cdGNyZWF0ZURlYnVnLmZvcm1hdHRlcnMgPSB7fTtcblxuXHQvKipcblx0KiBTZWxlY3RzIGEgY29sb3IgZm9yIGEgZGVidWcgbmFtZXNwYWNlXG5cdCogQHBhcmFtIHtTdHJpbmd9IG5hbWVzcGFjZSBUaGUgbmFtZXNwYWNlIHN0cmluZyBmb3IgdGhlIGRlYnVnIGluc3RhbmNlIHRvIGJlIGNvbG9yZWRcblx0KiBAcmV0dXJuIHtOdW1iZXJ8U3RyaW5nfSBBbiBBTlNJIGNvbG9yIGNvZGUgZm9yIHRoZSBnaXZlbiBuYW1lc3BhY2Vcblx0KiBAYXBpIHByaXZhdGVcblx0Ki9cblx0ZnVuY3Rpb24gc2VsZWN0Q29sb3IobmFtZXNwYWNlKSB7XG5cdFx0bGV0IGhhc2ggPSAwO1xuXG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBuYW1lc3BhY2UubGVuZ3RoOyBpKyspIHtcblx0XHRcdGhhc2ggPSAoKGhhc2ggPDwgNSkgLSBoYXNoKSArIG5hbWVzcGFjZS5jaGFyQ29kZUF0KGkpO1xuXHRcdFx0aGFzaCB8PSAwOyAvLyBDb252ZXJ0IHRvIDMyYml0IGludGVnZXJcblx0XHR9XG5cblx0XHRyZXR1cm4gY3JlYXRlRGVidWcuY29sb3JzW01hdGguYWJzKGhhc2gpICUgY3JlYXRlRGVidWcuY29sb3JzLmxlbmd0aF07XG5cdH1cblx0Y3JlYXRlRGVidWcuc2VsZWN0Q29sb3IgPSBzZWxlY3RDb2xvcjtcblxuXHQvKipcblx0KiBDcmVhdGUgYSBkZWJ1Z2dlciB3aXRoIHRoZSBnaXZlbiBgbmFtZXNwYWNlYC5cblx0KlxuXHQqIEBwYXJhbSB7U3RyaW5nfSBuYW1lc3BhY2Vcblx0KiBAcmV0dXJuIHtGdW5jdGlvbn1cblx0KiBAYXBpIHB1YmxpY1xuXHQqL1xuXHRmdW5jdGlvbiBjcmVhdGVEZWJ1ZyhuYW1lc3BhY2UpIHtcblx0XHRsZXQgcHJldlRpbWU7XG5cdFx0bGV0IGVuYWJsZU92ZXJyaWRlID0gbnVsbDtcblx0XHRsZXQgbmFtZXNwYWNlc0NhY2hlO1xuXHRcdGxldCBlbmFibGVkQ2FjaGU7XG5cblx0XHRmdW5jdGlvbiBkZWJ1ZyguLi5hcmdzKSB7XG5cdFx0XHQvLyBEaXNhYmxlZD9cblx0XHRcdGlmICghZGVidWcuZW5hYmxlZCkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IHNlbGYgPSBkZWJ1ZztcblxuXHRcdFx0Ly8gU2V0IGBkaWZmYCB0aW1lc3RhbXBcblx0XHRcdGNvbnN0IGN1cnIgPSBOdW1iZXIobmV3IERhdGUoKSk7XG5cdFx0XHRjb25zdCBtcyA9IGN1cnIgLSAocHJldlRpbWUgfHwgY3Vycik7XG5cdFx0XHRzZWxmLmRpZmYgPSBtcztcblx0XHRcdHNlbGYucHJldiA9IHByZXZUaW1lO1xuXHRcdFx0c2VsZi5jdXJyID0gY3Vycjtcblx0XHRcdHByZXZUaW1lID0gY3VycjtcblxuXHRcdFx0YXJnc1swXSA9IGNyZWF0ZURlYnVnLmNvZXJjZShhcmdzWzBdKTtcblxuXHRcdFx0aWYgKHR5cGVvZiBhcmdzWzBdICE9PSAnc3RyaW5nJykge1xuXHRcdFx0XHQvLyBBbnl0aGluZyBlbHNlIGxldCdzIGluc3BlY3Qgd2l0aCAlT1xuXHRcdFx0XHRhcmdzLnVuc2hpZnQoJyVPJyk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIEFwcGx5IGFueSBgZm9ybWF0dGVyc2AgdHJhbnNmb3JtYXRpb25zXG5cdFx0XHRsZXQgaW5kZXggPSAwO1xuXHRcdFx0YXJnc1swXSA9IGFyZ3NbMF0ucmVwbGFjZSgvJShbYS16QS1aJV0pL2csIChtYXRjaCwgZm9ybWF0KSA9PiB7XG5cdFx0XHRcdC8vIElmIHdlIGVuY291bnRlciBhbiBlc2NhcGVkICUgdGhlbiBkb24ndCBpbmNyZWFzZSB0aGUgYXJyYXkgaW5kZXhcblx0XHRcdFx0aWYgKG1hdGNoID09PSAnJSUnKSB7XG5cdFx0XHRcdFx0cmV0dXJuICclJztcblx0XHRcdFx0fVxuXHRcdFx0XHRpbmRleCsrO1xuXHRcdFx0XHRjb25zdCBmb3JtYXR0ZXIgPSBjcmVhdGVEZWJ1Zy5mb3JtYXR0ZXJzW2Zvcm1hdF07XG5cdFx0XHRcdGlmICh0eXBlb2YgZm9ybWF0dGVyID09PSAnZnVuY3Rpb24nKSB7XG5cdFx0XHRcdFx0Y29uc3QgdmFsID0gYXJnc1tpbmRleF07XG5cdFx0XHRcdFx0bWF0Y2ggPSBmb3JtYXR0ZXIuY2FsbChzZWxmLCB2YWwpO1xuXG5cdFx0XHRcdFx0Ly8gTm93IHdlIG5lZWQgdG8gcmVtb3ZlIGBhcmdzW2luZGV4XWAgc2luY2UgaXQncyBpbmxpbmVkIGluIHRoZSBgZm9ybWF0YFxuXHRcdFx0XHRcdGFyZ3Muc3BsaWNlKGluZGV4LCAxKTtcblx0XHRcdFx0XHRpbmRleC0tO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBtYXRjaDtcblx0XHRcdH0pO1xuXG5cdFx0XHQvLyBBcHBseSBlbnYtc3BlY2lmaWMgZm9ybWF0dGluZyAoY29sb3JzLCBldGMuKVxuXHRcdFx0Y3JlYXRlRGVidWcuZm9ybWF0QXJncy5jYWxsKHNlbGYsIGFyZ3MpO1xuXG5cdFx0XHRjb25zdCBsb2dGbiA9IHNlbGYubG9nIHx8IGNyZWF0ZURlYnVnLmxvZztcblx0XHRcdGxvZ0ZuLmFwcGx5KHNlbGYsIGFyZ3MpO1xuXHRcdH1cblxuXHRcdGRlYnVnLm5hbWVzcGFjZSA9IG5hbWVzcGFjZTtcblx0XHRkZWJ1Zy51c2VDb2xvcnMgPSBjcmVhdGVEZWJ1Zy51c2VDb2xvcnMoKTtcblx0XHRkZWJ1Zy5jb2xvciA9IGNyZWF0ZURlYnVnLnNlbGVjdENvbG9yKG5hbWVzcGFjZSk7XG5cdFx0ZGVidWcuZXh0ZW5kID0gZXh0ZW5kO1xuXHRcdGRlYnVnLmRlc3Ryb3kgPSBjcmVhdGVEZWJ1Zy5kZXN0cm95OyAvLyBYWFggVGVtcG9yYXJ5LiBXaWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS5cblxuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZWJ1ZywgJ2VuYWJsZWQnLCB7XG5cdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuXHRcdFx0Y29uZmlndXJhYmxlOiBmYWxzZSxcblx0XHRcdGdldDogKCkgPT4ge1xuXHRcdFx0XHRpZiAoZW5hYmxlT3ZlcnJpZGUgIT09IG51bGwpIHtcblx0XHRcdFx0XHRyZXR1cm4gZW5hYmxlT3ZlcnJpZGU7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKG5hbWVzcGFjZXNDYWNoZSAhPT0gY3JlYXRlRGVidWcubmFtZXNwYWNlcykge1xuXHRcdFx0XHRcdG5hbWVzcGFjZXNDYWNoZSA9IGNyZWF0ZURlYnVnLm5hbWVzcGFjZXM7XG5cdFx0XHRcdFx0ZW5hYmxlZENhY2hlID0gY3JlYXRlRGVidWcuZW5hYmxlZChuYW1lc3BhY2UpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0cmV0dXJuIGVuYWJsZWRDYWNoZTtcblx0XHRcdH0sXG5cdFx0XHRzZXQ6IHYgPT4ge1xuXHRcdFx0XHRlbmFibGVPdmVycmlkZSA9IHY7XG5cdFx0XHR9XG5cdFx0fSk7XG5cblx0XHQvLyBFbnYtc3BlY2lmaWMgaW5pdGlhbGl6YXRpb24gbG9naWMgZm9yIGRlYnVnIGluc3RhbmNlc1xuXHRcdGlmICh0eXBlb2YgY3JlYXRlRGVidWcuaW5pdCA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0Y3JlYXRlRGVidWcuaW5pdChkZWJ1Zyk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGRlYnVnO1xuXHR9XG5cblx0ZnVuY3Rpb24gZXh0ZW5kKG5hbWVzcGFjZSwgZGVsaW1pdGVyKSB7XG5cdFx0Y29uc3QgbmV3RGVidWcgPSBjcmVhdGVEZWJ1Zyh0aGlzLm5hbWVzcGFjZSArICh0eXBlb2YgZGVsaW1pdGVyID09PSAndW5kZWZpbmVkJyA/ICc6JyA6IGRlbGltaXRlcikgKyBuYW1lc3BhY2UpO1xuXHRcdG5ld0RlYnVnLmxvZyA9IHRoaXMubG9nO1xuXHRcdHJldHVybiBuZXdEZWJ1Zztcblx0fVxuXG5cdC8qKlxuXHQqIEVuYWJsZXMgYSBkZWJ1ZyBtb2RlIGJ5IG5hbWVzcGFjZXMuIFRoaXMgY2FuIGluY2x1ZGUgbW9kZXNcblx0KiBzZXBhcmF0ZWQgYnkgYSBjb2xvbiBhbmQgd2lsZGNhcmRzLlxuXHQqXG5cdCogQHBhcmFtIHtTdHJpbmd9IG5hbWVzcGFjZXNcblx0KiBAYXBpIHB1YmxpY1xuXHQqL1xuXHRmdW5jdGlvbiBlbmFibGUobmFtZXNwYWNlcykge1xuXHRcdGNyZWF0ZURlYnVnLnNhdmUobmFtZXNwYWNlcyk7XG5cdFx0Y3JlYXRlRGVidWcubmFtZXNwYWNlcyA9IG5hbWVzcGFjZXM7XG5cblx0XHRjcmVhdGVEZWJ1Zy5uYW1lcyA9IFtdO1xuXHRcdGNyZWF0ZURlYnVnLnNraXBzID0gW107XG5cblx0XHRsZXQgaTtcblx0XHRjb25zdCBzcGxpdCA9ICh0eXBlb2YgbmFtZXNwYWNlcyA9PT0gJ3N0cmluZycgPyBuYW1lc3BhY2VzIDogJycpLnNwbGl0KC9bXFxzLF0rLyk7XG5cdFx0Y29uc3QgbGVuID0gc3BsaXQubGVuZ3RoO1xuXG5cdFx0Zm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG5cdFx0XHRpZiAoIXNwbGl0W2ldKSB7XG5cdFx0XHRcdC8vIGlnbm9yZSBlbXB0eSBzdHJpbmdzXG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0fVxuXG5cdFx0XHRuYW1lc3BhY2VzID0gc3BsaXRbaV0ucmVwbGFjZSgvXFwqL2csICcuKj8nKTtcblxuXHRcdFx0aWYgKG5hbWVzcGFjZXNbMF0gPT09ICctJykge1xuXHRcdFx0XHRjcmVhdGVEZWJ1Zy5za2lwcy5wdXNoKG5ldyBSZWdFeHAoJ14nICsgbmFtZXNwYWNlcy5zbGljZSgxKSArICckJykpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Y3JlYXRlRGVidWcubmFtZXMucHVzaChuZXcgUmVnRXhwKCdeJyArIG5hbWVzcGFjZXMgKyAnJCcpKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKipcblx0KiBEaXNhYmxlIGRlYnVnIG91dHB1dC5cblx0KlxuXHQqIEByZXR1cm4ge1N0cmluZ30gbmFtZXNwYWNlc1xuXHQqIEBhcGkgcHVibGljXG5cdCovXG5cdGZ1bmN0aW9uIGRpc2FibGUoKSB7XG5cdFx0Y29uc3QgbmFtZXNwYWNlcyA9IFtcblx0XHRcdC4uLmNyZWF0ZURlYnVnLm5hbWVzLm1hcCh0b05hbWVzcGFjZSksXG5cdFx0XHQuLi5jcmVhdGVEZWJ1Zy5za2lwcy5tYXAodG9OYW1lc3BhY2UpLm1hcChuYW1lc3BhY2UgPT4gJy0nICsgbmFtZXNwYWNlKVxuXHRcdF0uam9pbignLCcpO1xuXHRcdGNyZWF0ZURlYnVnLmVuYWJsZSgnJyk7XG5cdFx0cmV0dXJuIG5hbWVzcGFjZXM7XG5cdH1cblxuXHQvKipcblx0KiBSZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIG1vZGUgbmFtZSBpcyBlbmFibGVkLCBmYWxzZSBvdGhlcndpc2UuXG5cdCpcblx0KiBAcGFyYW0ge1N0cmluZ30gbmFtZVxuXHQqIEByZXR1cm4ge0Jvb2xlYW59XG5cdCogQGFwaSBwdWJsaWNcblx0Ki9cblx0ZnVuY3Rpb24gZW5hYmxlZChuYW1lKSB7XG5cdFx0aWYgKG5hbWVbbmFtZS5sZW5ndGggLSAxXSA9PT0gJyonKSB7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9XG5cblx0XHRsZXQgaTtcblx0XHRsZXQgbGVuO1xuXG5cdFx0Zm9yIChpID0gMCwgbGVuID0gY3JlYXRlRGVidWcuc2tpcHMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcblx0XHRcdGlmIChjcmVhdGVEZWJ1Zy5za2lwc1tpXS50ZXN0KG5hbWUpKSB7XG5cdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRmb3IgKGkgPSAwLCBsZW4gPSBjcmVhdGVEZWJ1Zy5uYW1lcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuXHRcdFx0aWYgKGNyZWF0ZURlYnVnLm5hbWVzW2ldLnRlc3QobmFtZSkpIHtcblx0XHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0LyoqXG5cdCogQ29udmVydCByZWdleHAgdG8gbmFtZXNwYWNlXG5cdCpcblx0KiBAcGFyYW0ge1JlZ0V4cH0gcmVneGVwXG5cdCogQHJldHVybiB7U3RyaW5nfSBuYW1lc3BhY2Vcblx0KiBAYXBpIHByaXZhdGVcblx0Ki9cblx0ZnVuY3Rpb24gdG9OYW1lc3BhY2UocmVnZXhwKSB7XG5cdFx0cmV0dXJuIHJlZ2V4cC50b1N0cmluZygpXG5cdFx0XHQuc3Vic3RyaW5nKDIsIHJlZ2V4cC50b1N0cmluZygpLmxlbmd0aCAtIDIpXG5cdFx0XHQucmVwbGFjZSgvXFwuXFwqXFw/JC8sICcqJyk7XG5cdH1cblxuXHQvKipcblx0KiBDb2VyY2UgYHZhbGAuXG5cdCpcblx0KiBAcGFyYW0ge01peGVkfSB2YWxcblx0KiBAcmV0dXJuIHtNaXhlZH1cblx0KiBAYXBpIHByaXZhdGVcblx0Ki9cblx0ZnVuY3Rpb24gY29lcmNlKHZhbCkge1xuXHRcdGlmICh2YWwgaW5zdGFuY2VvZiBFcnJvcikge1xuXHRcdFx0cmV0dXJuIHZhbC5zdGFjayB8fCB2YWwubWVzc2FnZTtcblx0XHR9XG5cdFx0cmV0dXJuIHZhbDtcblx0fVxuXG5cdC8qKlxuXHQqIFhYWCBETyBOT1QgVVNFLiBUaGlzIGlzIGEgdGVtcG9yYXJ5IHN0dWIgZnVuY3Rpb24uXG5cdCogWFhYIEl0IFdJTEwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLlxuXHQqL1xuXHRmdW5jdGlvbiBkZXN0cm95KCkge1xuXHRcdGNvbnNvbGUud2FybignSW5zdGFuY2UgbWV0aG9kIGBkZWJ1Zy5kZXN0cm95KClgIGlzIGRlcHJlY2F0ZWQgYW5kIG5vIGxvbmdlciBkb2VzIGFueXRoaW5nLiBJdCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiBvZiBgZGVidWdgLicpO1xuXHR9XG5cblx0Y3JlYXRlRGVidWcuZW5hYmxlKGNyZWF0ZURlYnVnLmxvYWQoKSk7XG5cblx0cmV0dXJuIGNyZWF0ZURlYnVnO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHNldHVwO1xuIiwiLyogZ2xvYmFsIEJsb2IgRmlsZSAqL1xuXG4vKlxuICogTW9kdWxlIHJlcXVpcmVtZW50cy5cbiAqL1xuXG52YXIgaXNBcnJheSA9IHJlcXVpcmUoJ2lzYXJyYXknKTtcblxudmFyIHRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcbnZhciB3aXRoTmF0aXZlQmxvYiA9IHR5cGVvZiBCbG9iID09PSAnZnVuY3Rpb24nIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgQmxvYiAhPT0gJ3VuZGVmaW5lZCcgJiYgdG9TdHJpbmcuY2FsbChCbG9iKSA9PT0gJ1tvYmplY3QgQmxvYkNvbnN0cnVjdG9yXSc7XG52YXIgd2l0aE5hdGl2ZUZpbGUgPSB0eXBlb2YgRmlsZSA9PT0gJ2Z1bmN0aW9uJyB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIEZpbGUgIT09ICd1bmRlZmluZWQnICYmIHRvU3RyaW5nLmNhbGwoRmlsZSkgPT09ICdbb2JqZWN0IEZpbGVDb25zdHJ1Y3Rvcl0nO1xuXG4vKipcbiAqIE1vZHVsZSBleHBvcnRzLlxuICovXG5cbm1vZHVsZS5leHBvcnRzID0gaGFzQmluYXJ5O1xuXG4vKipcbiAqIENoZWNrcyBmb3IgYmluYXJ5IGRhdGEuXG4gKlxuICogU3VwcG9ydHMgQnVmZmVyLCBBcnJheUJ1ZmZlciwgQmxvYiBhbmQgRmlsZS5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gYW55dGhpbmdcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZnVuY3Rpb24gaGFzQmluYXJ5IChvYmopIHtcbiAgaWYgKCFvYmogfHwgdHlwZW9mIG9iaiAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoaXNBcnJheShvYmopKSB7XG4gICAgZm9yICh2YXIgaSA9IDAsIGwgPSBvYmoubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBpZiAoaGFzQmluYXJ5KG9ialtpXSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICgodHlwZW9mIEJ1ZmZlciA9PT0gJ2Z1bmN0aW9uJyAmJiBCdWZmZXIuaXNCdWZmZXIgJiYgQnVmZmVyLmlzQnVmZmVyKG9iaikpIHx8XG4gICAgKHR5cGVvZiBBcnJheUJ1ZmZlciA9PT0gJ2Z1bmN0aW9uJyAmJiBvYmogaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikgfHxcbiAgICAod2l0aE5hdGl2ZUJsb2IgJiYgb2JqIGluc3RhbmNlb2YgQmxvYikgfHxcbiAgICAod2l0aE5hdGl2ZUZpbGUgJiYgb2JqIGluc3RhbmNlb2YgRmlsZSlcbiAgKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9BdXRvbWF0dGljL2hhcy1iaW5hcnkvcHVsbC80XG4gIGlmIChvYmoudG9KU09OICYmIHR5cGVvZiBvYmoudG9KU09OID09PSAnZnVuY3Rpb24nICYmIGFyZ3VtZW50cy5sZW5ndGggPT09IDEpIHtcbiAgICByZXR1cm4gaGFzQmluYXJ5KG9iai50b0pTT04oKSwgdHJ1ZSk7XG4gIH1cblxuICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7XG4gICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSkgJiYgaGFzQmluYXJ5KG9ialtrZXldKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuIiwiXG4vKipcbiAqIE1vZHVsZSBleHBvcnRzLlxuICpcbiAqIExvZ2ljIGJvcnJvd2VkIGZyb20gTW9kZXJuaXpyOlxuICpcbiAqICAgLSBodHRwczovL2dpdGh1Yi5jb20vTW9kZXJuaXpyL01vZGVybml6ci9ibG9iL21hc3Rlci9mZWF0dXJlLWRldGVjdHMvY29ycy5qc1xuICovXG5cbnRyeSB7XG4gIG1vZHVsZS5leHBvcnRzID0gdHlwZW9mIFhNTEh0dHBSZXF1ZXN0ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICd3aXRoQ3JlZGVudGlhbHMnIGluIG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xufSBjYXRjaCAoZXJyKSB7XG4gIC8vIGlmIFhNTEh0dHAgc3VwcG9ydCBpcyBkaXNhYmxlZCBpbiBJRSB0aGVuIGl0IHdpbGwgdGhyb3dcbiAgLy8gd2hlbiB0cnlpbmcgdG8gY3JlYXRlXG4gIG1vZHVsZS5leHBvcnRzID0gZmFsc2U7XG59XG4iLCJcbnZhciBpbmRleE9mID0gW10uaW5kZXhPZjtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihhcnIsIG9iail7XG4gIGlmIChpbmRleE9mKSByZXR1cm4gYXJyLmluZGV4T2Yob2JqKTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyArK2kpIHtcbiAgICBpZiAoYXJyW2ldID09PSBvYmopIHJldHVybiBpO1xuICB9XG4gIHJldHVybiAtMTtcbn07IiwidmFyIHRvU3RyaW5nID0ge30udG9TdHJpbmc7XG5cbm1vZHVsZS5leHBvcnRzID0gQXJyYXkuaXNBcnJheSB8fCBmdW5jdGlvbiAoYXJyKSB7XG4gIHJldHVybiB0b1N0cmluZy5jYWxsKGFycikgPT0gJ1tvYmplY3QgQXJyYXldJztcbn07XG4iLCIhZnVuY3Rpb24oZSx0KXtcIm9iamVjdFwiPT10eXBlb2YgZXhwb3J0cyYmXCJvYmplY3RcIj09dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz10KCk6XCJmdW5jdGlvblwiPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbXSx0KTpcIm9iamVjdFwiPT10eXBlb2YgZXhwb3J0cz9leHBvcnRzLkpTTWFza2VyPXQoKTplLkpTTWFza2VyPXQoKX0odGhpcywoKCk9PigoKT0+e3ZhciBlPXs0NDooZSx0LHIpPT57dmFyIG4sbyxpO1widW5kZWZpbmVkXCIhPXR5cGVvZiBnbG9iYWxUaGlzP2dsb2JhbFRoaXM6XCJ1bmRlZmluZWRcIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dm9pZCAwIT09ci5nP3IuZzpcInVuZGVmaW5lZFwiIT10eXBlb2Ygc2VsZj9zZWxmOkZ1bmN0aW9uKFwicmV0dXJuIHRoaXNcIikoKSxvPVtyKDMyKV0sdm9pZCAwPT09KGk9XCJmdW5jdGlvblwiPT10eXBlb2Yobj1mdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5hcHBseVBvbHlmaWxscyYmZS5hcHBseVBvbHlmaWxscygpLGZ1bmN0aW9uIGUodCxyPXt9KXtjb25zdHtwcm9wZXJ0aWVzOm49W1wicGFzc3dvcmRcIixcImtleVwiLFwic2VjcmV0XCIsXCJ0b2tlblwiXSxtYXNrTGVuZ3RoOm89OCxtaW5MZW5ndGg6aT01LG1heExlbmd0aDpmPTE1LG1hc2tDaGFyOnM9XCIqXCIsZnVsbE1hc2s6YT0hMX09cjtmdW5jdGlvbiB1KGUpe3JldHVyblwic3RyaW5nXCI9PXR5cGVvZiBhP2E6ITA9PT1hP3MucmVwZWF0KGUubGVuZ3RoKTpmdW5jdGlvbihlLHQscixuPVwiKlwiKXtsZXQgbz1lO3JldHVyblwicmFuZG9tXCI9PT1vJiYobz1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKHItdCsxKSkrdCksbi5yZXBlYXQobyl9KG8saSxmLHMpfWZ1bmN0aW9uIHAodCxvKXtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KT90Lm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIHAoZSxvKX0pKTp0JiZcIm9iamVjdFwiPT10eXBlb2YgdD9lKHQse3Byb3BlcnRpZXM6bz9bXCJcIl06bixtYXNrTGVuZ3RoOnIubWFza0xlbmd0aCxtaW5MZW5ndGg6ci5taW5MZW5ndGgsbWF4TGVuZ3RoOnIubWF4TGVuZ3RoLG1hc2tDaGFyOnIubWFza0NoYXIsZnVsbE1hc2s6ci5mdWxsTWFza30pOm8mJlwic3RyaW5nXCI9PXR5cGVvZiB0P3UodCk6dH1pZihBcnJheS5pc0FycmF5KHQpKXJldHVybiB0Lm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIHAoZSwhMSl9KSk7aWYodCYmXCJvYmplY3RcIj09dHlwZW9mIHQpe2NvbnN0IGU9e307cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goKGZ1bmN0aW9uKHIpe2Vbcl09cCh0W3JdLC0xIT09bi5pbmRleE9mKHIpKX0pKSxlfXJldHVybiB0fX0pP24uYXBwbHkodCxvKTpuKXx8KGUuZXhwb3J0cz1pKX0sMzI6ZT0+e09iamVjdC5lbnRyaWVzfHwoT2JqZWN0LmVudHJpZXM9ZnVuY3Rpb24oZSl7cmV0dXJuIE9iamVjdC5rZXlzKGUpLm1hcCgodD0+W3QsZVt0XV0pKX0pLEFycmF5LnByb3RvdHlwZS5pbmNsdWRlc3x8T2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSxcImluY2x1ZGVzXCIse3ZhbHVlOmZ1bmN0aW9uKGUsdCl7aWYobnVsbD09dGhpcyl0aHJvdyBuZXcgVHlwZUVycm9yKCdcInRoaXNcIiBpcyBudWxsIG9yIG5vdCBkZWZpbmVkJyk7dmFyIHI9T2JqZWN0KHRoaXMpLG49ci5sZW5ndGg+Pj4wO2lmKDA9PT1uKXJldHVybiExO2Zvcih2YXIgbyxpLGY9MHx0LHM9TWF0aC5tYXgoZj49MD9mOm4tTWF0aC5hYnMoZiksMCk7czxuOyl7aWYoKG89cltzXSk9PT0oaT1lKXx8XCJudW1iZXJcIj09dHlwZW9mIG8mJlwibnVtYmVyXCI9PXR5cGVvZiBpJiZpc05hTihvKSYmaXNOYU4oaSkpcmV0dXJuITA7cysrfXJldHVybiExfX0pLGUuZXhwb3J0cyYmKGUuZXhwb3J0cz17YXBwbHlQb2x5ZmlsbHMoKXt9fSl9fSx0PXt9O2Z1bmN0aW9uIHIobil7dmFyIG89dFtuXTtpZih2b2lkIDAhPT1vKXJldHVybiBvLmV4cG9ydHM7dmFyIGk9dFtuXT17ZXhwb3J0czp7fX07cmV0dXJuIGVbbl0oaSxpLmV4cG9ydHMsciksaS5leHBvcnRzfXJldHVybiByLmc9ZnVuY3Rpb24oKXtpZihcIm9iamVjdFwiPT10eXBlb2YgZ2xvYmFsVGhpcylyZXR1cm4gZ2xvYmFsVGhpczt0cnl7cmV0dXJuIHRoaXN8fG5ldyBGdW5jdGlvbihcInJldHVybiB0aGlzXCIpKCl9Y2F0Y2goZSl7aWYoXCJvYmplY3RcIj09dHlwZW9mIHdpbmRvdylyZXR1cm4gd2luZG93fX0oKSxyKDQ0KX0pKCkpKTsiLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbmV4cG9ydCB7fTsiLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbmV4cG9ydCB7fTsiLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbmV4cG9ydCB7fTsiLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbmV4cG9ydCB7fTsiLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbmV4cG9ydCB7fTsiLCIvKipcbiAqIEhlbHBlcnMuXG4gKi9cblxudmFyIHMgPSAxMDAwO1xudmFyIG0gPSBzICogNjA7XG52YXIgaCA9IG0gKiA2MDtcbnZhciBkID0gaCAqIDI0O1xudmFyIHkgPSBkICogMzY1LjI1O1xuXG4vKipcbiAqIFBhcnNlIG9yIGZvcm1hdCB0aGUgZ2l2ZW4gYHZhbGAuXG4gKlxuICogT3B0aW9uczpcbiAqXG4gKiAgLSBgbG9uZ2AgdmVyYm9zZSBmb3JtYXR0aW5nIFtmYWxzZV1cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ3xOdW1iZXJ9IHZhbFxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXVxuICogQHRocm93cyB7RXJyb3J9IHRocm93IGFuIGVycm9yIGlmIHZhbCBpcyBub3QgYSBub24tZW1wdHkgc3RyaW5nIG9yIGEgbnVtYmVyXG4gKiBAcmV0dXJuIHtTdHJpbmd8TnVtYmVyfVxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKHZhbCwgb3B0aW9ucykge1xuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgdmFyIHR5cGUgPSB0eXBlb2YgdmFsO1xuICBpZiAodHlwZSA9PT0gJ3N0cmluZycgJiYgdmFsLmxlbmd0aCA+IDApIHtcbiAgICByZXR1cm4gcGFyc2UodmFsKTtcbiAgfSBlbHNlIGlmICh0eXBlID09PSAnbnVtYmVyJyAmJiBpc05hTih2YWwpID09PSBmYWxzZSkge1xuICAgIHJldHVybiBvcHRpb25zLmxvbmcgPyBmbXRMb25nKHZhbCkgOiBmbXRTaG9ydCh2YWwpO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihcbiAgICAndmFsIGlzIG5vdCBhIG5vbi1lbXB0eSBzdHJpbmcgb3IgYSB2YWxpZCBudW1iZXIuIHZhbD0nICtcbiAgICAgIEpTT04uc3RyaW5naWZ5KHZhbClcbiAgKTtcbn07XG5cbi8qKlxuICogUGFyc2UgdGhlIGdpdmVuIGBzdHJgIGFuZCByZXR1cm4gbWlsbGlzZWNvbmRzLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBzdHJcbiAqIEByZXR1cm4ge051bWJlcn1cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIHBhcnNlKHN0cikge1xuICBzdHIgPSBTdHJpbmcoc3RyKTtcbiAgaWYgKHN0ci5sZW5ndGggPiAxMDApIHtcbiAgICByZXR1cm47XG4gIH1cbiAgdmFyIG1hdGNoID0gL14oKD86XFxkKyk/XFwuP1xcZCspICoobWlsbGlzZWNvbmRzP3xtc2Vjcz98bXN8c2Vjb25kcz98c2Vjcz98c3xtaW51dGVzP3xtaW5zP3xtfGhvdXJzP3xocnM/fGh8ZGF5cz98ZHx5ZWFycz98eXJzP3x5KT8kL2kuZXhlYyhcbiAgICBzdHJcbiAgKTtcbiAgaWYgKCFtYXRjaCkge1xuICAgIHJldHVybjtcbiAgfVxuICB2YXIgbiA9IHBhcnNlRmxvYXQobWF0Y2hbMV0pO1xuICB2YXIgdHlwZSA9IChtYXRjaFsyXSB8fCAnbXMnKS50b0xvd2VyQ2FzZSgpO1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlICd5ZWFycyc6XG4gICAgY2FzZSAneWVhcic6XG4gICAgY2FzZSAneXJzJzpcbiAgICBjYXNlICd5cic6XG4gICAgY2FzZSAneSc6XG4gICAgICByZXR1cm4gbiAqIHk7XG4gICAgY2FzZSAnZGF5cyc6XG4gICAgY2FzZSAnZGF5JzpcbiAgICBjYXNlICdkJzpcbiAgICAgIHJldHVybiBuICogZDtcbiAgICBjYXNlICdob3Vycyc6XG4gICAgY2FzZSAnaG91cic6XG4gICAgY2FzZSAnaHJzJzpcbiAgICBjYXNlICdocic6XG4gICAgY2FzZSAnaCc6XG4gICAgICByZXR1cm4gbiAqIGg7XG4gICAgY2FzZSAnbWludXRlcyc6XG4gICAgY2FzZSAnbWludXRlJzpcbiAgICBjYXNlICdtaW5zJzpcbiAgICBjYXNlICdtaW4nOlxuICAgIGNhc2UgJ20nOlxuICAgICAgcmV0dXJuIG4gKiBtO1xuICAgIGNhc2UgJ3NlY29uZHMnOlxuICAgIGNhc2UgJ3NlY29uZCc6XG4gICAgY2FzZSAnc2Vjcyc6XG4gICAgY2FzZSAnc2VjJzpcbiAgICBjYXNlICdzJzpcbiAgICAgIHJldHVybiBuICogcztcbiAgICBjYXNlICdtaWxsaXNlY29uZHMnOlxuICAgIGNhc2UgJ21pbGxpc2Vjb25kJzpcbiAgICBjYXNlICdtc2Vjcyc6XG4gICAgY2FzZSAnbXNlYyc6XG4gICAgY2FzZSAnbXMnOlxuICAgICAgcmV0dXJuIG47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBTaG9ydCBmb3JtYXQgZm9yIGBtc2AuXG4gKlxuICogQHBhcmFtIHtOdW1iZXJ9IG1zXG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBmbXRTaG9ydChtcykge1xuICBpZiAobXMgPj0gZCkge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKG1zIC8gZCkgKyAnZCc7XG4gIH1cbiAgaWYgKG1zID49IGgpIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChtcyAvIGgpICsgJ2gnO1xuICB9XG4gIGlmIChtcyA+PSBtKSB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQobXMgLyBtKSArICdtJztcbiAgfVxuICBpZiAobXMgPj0gcykge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKG1zIC8gcykgKyAncyc7XG4gIH1cbiAgcmV0dXJuIG1zICsgJ21zJztcbn1cblxuLyoqXG4gKiBMb25nIGZvcm1hdCBmb3IgYG1zYC5cbiAqXG4gKiBAcGFyYW0ge051bWJlcn0gbXNcbiAqIEByZXR1cm4ge1N0cmluZ31cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIGZtdExvbmcobXMpIHtcbiAgcmV0dXJuIHBsdXJhbChtcywgZCwgJ2RheScpIHx8XG4gICAgcGx1cmFsKG1zLCBoLCAnaG91cicpIHx8XG4gICAgcGx1cmFsKG1zLCBtLCAnbWludXRlJykgfHxcbiAgICBwbHVyYWwobXMsIHMsICdzZWNvbmQnKSB8fFxuICAgIG1zICsgJyBtcyc7XG59XG5cbi8qKlxuICogUGx1cmFsaXphdGlvbiBoZWxwZXIuXG4gKi9cblxuZnVuY3Rpb24gcGx1cmFsKG1zLCBuLCBuYW1lKSB7XG4gIGlmIChtcyA8IG4pIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKG1zIDwgbiAqIDEuNSkge1xuICAgIHJldHVybiBNYXRoLmZsb29yKG1zIC8gbikgKyAnICcgKyBuYW1lO1xuICB9XG4gIHJldHVybiBNYXRoLmNlaWwobXMgLyBuKSArICcgJyArIG5hbWUgKyAncyc7XG59XG4iLCJcbi8qKlxuICogTW9kdWxlIGRlcGVuZGVuY2llcy5cbiAqL1xuXG52YXIgdXJsID0gcmVxdWlyZSgnLi91cmwnKTtcbnZhciBwYXJzZXIgPSByZXF1aXJlKCdzb2NrZXQuaW8tcGFyc2VyJyk7XG52YXIgTWFuYWdlciA9IHJlcXVpcmUoJy4vbWFuYWdlcicpO1xudmFyIGRlYnVnID0gcmVxdWlyZSgnZGVidWcnKSgnc29ja2V0LmlvLWNsaWVudCcpO1xuXG4vKipcbiAqIE1vZHVsZSBleHBvcnRzLlxuICovXG5cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0cyA9IGxvb2t1cDtcblxuLyoqXG4gKiBNYW5hZ2VycyBjYWNoZS5cbiAqL1xuXG52YXIgY2FjaGUgPSBleHBvcnRzLm1hbmFnZXJzID0ge307XG5cbi8qKlxuICogTG9va3MgdXAgYW4gZXhpc3RpbmcgYE1hbmFnZXJgIGZvciBtdWx0aXBsZXhpbmcuXG4gKiBJZiB0aGUgdXNlciBzdW1tb25zOlxuICpcbiAqICAgYGlvKCdodHRwOi8vbG9jYWxob3N0L2EnKTtgXG4gKiAgIGBpbygnaHR0cDovL2xvY2FsaG9zdC9iJyk7YFxuICpcbiAqIFdlIHJldXNlIHRoZSBleGlzdGluZyBpbnN0YW5jZSBiYXNlZCBvbiBzYW1lIHNjaGVtZS9wb3J0L2hvc3QsXG4gKiBhbmQgd2UgaW5pdGlhbGl6ZSBzb2NrZXRzIGZvciBlYWNoIG5hbWVzcGFjZS5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIGxvb2t1cCAodXJpLCBvcHRzKSB7XG4gIGlmICh0eXBlb2YgdXJpID09PSAnb2JqZWN0Jykge1xuICAgIG9wdHMgPSB1cmk7XG4gICAgdXJpID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgb3B0cyA9IG9wdHMgfHwge307XG5cbiAgdmFyIHBhcnNlZCA9IHVybCh1cmkpO1xuICB2YXIgc291cmNlID0gcGFyc2VkLnNvdXJjZTtcbiAgdmFyIGlkID0gcGFyc2VkLmlkO1xuICB2YXIgcGF0aCA9IHBhcnNlZC5wYXRoO1xuICB2YXIgc2FtZU5hbWVzcGFjZSA9IGNhY2hlW2lkXSAmJiBwYXRoIGluIGNhY2hlW2lkXS5uc3BzO1xuICB2YXIgbmV3Q29ubmVjdGlvbiA9IG9wdHMuZm9yY2VOZXcgfHwgb3B0c1snZm9yY2UgbmV3IGNvbm5lY3Rpb24nXSB8fFxuICAgICAgICAgICAgICAgICAgICAgIGZhbHNlID09PSBvcHRzLm11bHRpcGxleCB8fCBzYW1lTmFtZXNwYWNlO1xuXG4gIHZhciBpbztcblxuICBpZiAobmV3Q29ubmVjdGlvbikge1xuICAgIGRlYnVnKCdpZ25vcmluZyBzb2NrZXQgY2FjaGUgZm9yICVzJywgc291cmNlKTtcbiAgICBpbyA9IE1hbmFnZXIoc291cmNlLCBvcHRzKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAoIWNhY2hlW2lkXSkge1xuICAgICAgZGVidWcoJ25ldyBpbyBpbnN0YW5jZSBmb3IgJXMnLCBzb3VyY2UpO1xuICAgICAgY2FjaGVbaWRdID0gTWFuYWdlcihzb3VyY2UsIG9wdHMpO1xuICAgIH1cbiAgICBpbyA9IGNhY2hlW2lkXTtcbiAgfVxuICBpZiAocGFyc2VkLnF1ZXJ5ICYmICFvcHRzLnF1ZXJ5KSB7XG4gICAgb3B0cy5xdWVyeSA9IHBhcnNlZC5xdWVyeTtcbiAgfVxuICByZXR1cm4gaW8uc29ja2V0KHBhcnNlZC5wYXRoLCBvcHRzKTtcbn1cblxuLyoqXG4gKiBQcm90b2NvbCB2ZXJzaW9uLlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZXhwb3J0cy5wcm90b2NvbCA9IHBhcnNlci5wcm90b2NvbDtcblxuLyoqXG4gKiBgY29ubmVjdGAuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHVyaVxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5leHBvcnRzLmNvbm5lY3QgPSBsb29rdXA7XG5cbi8qKlxuICogRXhwb3NlIGNvbnN0cnVjdG9ycyBmb3Igc3RhbmRhbG9uZSBidWlsZC5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmV4cG9ydHMuTWFuYWdlciA9IHJlcXVpcmUoJy4vbWFuYWdlcicpO1xuZXhwb3J0cy5Tb2NrZXQgPSByZXF1aXJlKCcuL3NvY2tldCcpO1xuIiwiXG4vKipcbiAqIE1vZHVsZSBkZXBlbmRlbmNpZXMuXG4gKi9cblxudmFyIGVpbyA9IHJlcXVpcmUoJ2VuZ2luZS5pby1jbGllbnQnKTtcbnZhciBTb2NrZXQgPSByZXF1aXJlKCcuL3NvY2tldCcpO1xudmFyIEVtaXR0ZXIgPSByZXF1aXJlKCdjb21wb25lbnQtZW1pdHRlcicpO1xudmFyIHBhcnNlciA9IHJlcXVpcmUoJ3NvY2tldC5pby1wYXJzZXInKTtcbnZhciBvbiA9IHJlcXVpcmUoJy4vb24nKTtcbnZhciBiaW5kID0gcmVxdWlyZSgnY29tcG9uZW50LWJpbmQnKTtcbnZhciBkZWJ1ZyA9IHJlcXVpcmUoJ2RlYnVnJykoJ3NvY2tldC5pby1jbGllbnQ6bWFuYWdlcicpO1xudmFyIGluZGV4T2YgPSByZXF1aXJlKCdpbmRleG9mJyk7XG52YXIgQmFja29mZiA9IHJlcXVpcmUoJ2JhY2tvMicpO1xuXG4vKipcbiAqIElFNisgaGFzT3duUHJvcGVydHlcbiAqL1xuXG52YXIgaGFzID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBNb2R1bGUgZXhwb3J0c1xuICovXG5cbm1vZHVsZS5leHBvcnRzID0gTWFuYWdlcjtcblxuLyoqXG4gKiBgTWFuYWdlcmAgY29uc3RydWN0b3IuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGVuZ2luZSBpbnN0YW5jZSBvciBlbmdpbmUgdXJpL29wdHNcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIE1hbmFnZXIgKHVyaSwgb3B0cykge1xuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgTWFuYWdlcikpIHJldHVybiBuZXcgTWFuYWdlcih1cmksIG9wdHMpO1xuICBpZiAodXJpICYmICgnb2JqZWN0JyA9PT0gdHlwZW9mIHVyaSkpIHtcbiAgICBvcHRzID0gdXJpO1xuICAgIHVyaSA9IHVuZGVmaW5lZDtcbiAgfVxuICBvcHRzID0gb3B0cyB8fCB7fTtcblxuICBvcHRzLnBhdGggPSBvcHRzLnBhdGggfHwgJy9zb2NrZXQuaW8nO1xuICB0aGlzLm5zcHMgPSB7fTtcbiAgdGhpcy5zdWJzID0gW107XG4gIHRoaXMub3B0cyA9IG9wdHM7XG4gIHRoaXMucmVjb25uZWN0aW9uKG9wdHMucmVjb25uZWN0aW9uICE9PSBmYWxzZSk7XG4gIHRoaXMucmVjb25uZWN0aW9uQXR0ZW1wdHMob3B0cy5yZWNvbm5lY3Rpb25BdHRlbXB0cyB8fCBJbmZpbml0eSk7XG4gIHRoaXMucmVjb25uZWN0aW9uRGVsYXkob3B0cy5yZWNvbm5lY3Rpb25EZWxheSB8fCAxMDAwKTtcbiAgdGhpcy5yZWNvbm5lY3Rpb25EZWxheU1heChvcHRzLnJlY29ubmVjdGlvbkRlbGF5TWF4IHx8IDUwMDApO1xuICB0aGlzLnJhbmRvbWl6YXRpb25GYWN0b3Iob3B0cy5yYW5kb21pemF0aW9uRmFjdG9yIHx8IDAuNSk7XG4gIHRoaXMuYmFja29mZiA9IG5ldyBCYWNrb2ZmKHtcbiAgICBtaW46IHRoaXMucmVjb25uZWN0aW9uRGVsYXkoKSxcbiAgICBtYXg6IHRoaXMucmVjb25uZWN0aW9uRGVsYXlNYXgoKSxcbiAgICBqaXR0ZXI6IHRoaXMucmFuZG9taXphdGlvbkZhY3RvcigpXG4gIH0pO1xuICB0aGlzLnRpbWVvdXQobnVsbCA9PSBvcHRzLnRpbWVvdXQgPyAyMDAwMCA6IG9wdHMudGltZW91dCk7XG4gIHRoaXMucmVhZHlTdGF0ZSA9ICdjbG9zZWQnO1xuICB0aGlzLnVyaSA9IHVyaTtcbiAgdGhpcy5jb25uZWN0aW5nID0gW107XG4gIHRoaXMubGFzdFBpbmcgPSBudWxsO1xuICB0aGlzLmVuY29kaW5nID0gZmFsc2U7XG4gIHRoaXMucGFja2V0QnVmZmVyID0gW107XG4gIHZhciBfcGFyc2VyID0gb3B0cy5wYXJzZXIgfHwgcGFyc2VyO1xuICB0aGlzLmVuY29kZXIgPSBuZXcgX3BhcnNlci5FbmNvZGVyKCk7XG4gIHRoaXMuZGVjb2RlciA9IG5ldyBfcGFyc2VyLkRlY29kZXIoKTtcbiAgdGhpcy5hdXRvQ29ubmVjdCA9IG9wdHMuYXV0b0Nvbm5lY3QgIT09IGZhbHNlO1xuICBpZiAodGhpcy5hdXRvQ29ubmVjdCkgdGhpcy5vcGVuKCk7XG59XG5cbi8qKlxuICogUHJvcGFnYXRlIGdpdmVuIGV2ZW50IHRvIHNvY2tldHMgYW5kIGVtaXQgb24gYHRoaXNgXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuTWFuYWdlci5wcm90b3R5cGUuZW1pdEFsbCA9IGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5lbWl0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gIGZvciAodmFyIG5zcCBpbiB0aGlzLm5zcHMpIHtcbiAgICBpZiAoaGFzLmNhbGwodGhpcy5uc3BzLCBuc3ApKSB7XG4gICAgICB0aGlzLm5zcHNbbnNwXS5lbWl0LmFwcGx5KHRoaXMubnNwc1tuc3BdLCBhcmd1bWVudHMpO1xuICAgIH1cbiAgfVxufTtcblxuLyoqXG4gKiBVcGRhdGUgYHNvY2tldC5pZGAgb2YgYWxsIHNvY2tldHNcbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5NYW5hZ2VyLnByb3RvdHlwZS51cGRhdGVTb2NrZXRJZHMgPSBmdW5jdGlvbiAoKSB7XG4gIGZvciAodmFyIG5zcCBpbiB0aGlzLm5zcHMpIHtcbiAgICBpZiAoaGFzLmNhbGwodGhpcy5uc3BzLCBuc3ApKSB7XG4gICAgICB0aGlzLm5zcHNbbnNwXS5pZCA9IHRoaXMuZ2VuZXJhdGVJZChuc3ApO1xuICAgIH1cbiAgfVxufTtcblxuLyoqXG4gKiBnZW5lcmF0ZSBgc29ja2V0LmlkYCBmb3IgdGhlIGdpdmVuIGBuc3BgXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IG5zcFxuICogQHJldHVybiB7U3RyaW5nfVxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuTWFuYWdlci5wcm90b3R5cGUuZ2VuZXJhdGVJZCA9IGZ1bmN0aW9uIChuc3ApIHtcbiAgcmV0dXJuIChuc3AgPT09ICcvJyA/ICcnIDogKG5zcCArICcjJykpICsgdGhpcy5lbmdpbmUuaWQ7XG59O1xuXG4vKipcbiAqIE1peCBpbiBgRW1pdHRlcmAuXG4gKi9cblxuRW1pdHRlcihNYW5hZ2VyLnByb3RvdHlwZSk7XG5cbi8qKlxuICogU2V0cyB0aGUgYHJlY29ubmVjdGlvbmAgY29uZmlnLlxuICpcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gdHJ1ZS9mYWxzZSBpZiBpdCBzaG91bGQgYXV0b21hdGljYWxseSByZWNvbm5lY3RcbiAqIEByZXR1cm4ge01hbmFnZXJ9IHNlbGYgb3IgdmFsdWVcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuTWFuYWdlci5wcm90b3R5cGUucmVjb25uZWN0aW9uID0gZnVuY3Rpb24gKHYpIHtcbiAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gdGhpcy5fcmVjb25uZWN0aW9uO1xuICB0aGlzLl9yZWNvbm5lY3Rpb24gPSAhIXY7XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBTZXRzIHRoZSByZWNvbm5lY3Rpb24gYXR0ZW1wdHMgY29uZmlnLlxuICpcbiAqIEBwYXJhbSB7TnVtYmVyfSBtYXggcmVjb25uZWN0aW9uIGF0dGVtcHRzIGJlZm9yZSBnaXZpbmcgdXBcbiAqIEByZXR1cm4ge01hbmFnZXJ9IHNlbGYgb3IgdmFsdWVcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuTWFuYWdlci5wcm90b3R5cGUucmVjb25uZWN0aW9uQXR0ZW1wdHMgPSBmdW5jdGlvbiAodikge1xuICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiB0aGlzLl9yZWNvbm5lY3Rpb25BdHRlbXB0cztcbiAgdGhpcy5fcmVjb25uZWN0aW9uQXR0ZW1wdHMgPSB2O1xuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogU2V0cyB0aGUgZGVsYXkgYmV0d2VlbiByZWNvbm5lY3Rpb25zLlxuICpcbiAqIEBwYXJhbSB7TnVtYmVyfSBkZWxheVxuICogQHJldHVybiB7TWFuYWdlcn0gc2VsZiBvciB2YWx1ZVxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5NYW5hZ2VyLnByb3RvdHlwZS5yZWNvbm5lY3Rpb25EZWxheSA9IGZ1bmN0aW9uICh2KSB7XG4gIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIHRoaXMuX3JlY29ubmVjdGlvbkRlbGF5O1xuICB0aGlzLl9yZWNvbm5lY3Rpb25EZWxheSA9IHY7XG4gIHRoaXMuYmFja29mZiAmJiB0aGlzLmJhY2tvZmYuc2V0TWluKHYpO1xuICByZXR1cm4gdGhpcztcbn07XG5cbk1hbmFnZXIucHJvdG90eXBlLnJhbmRvbWl6YXRpb25GYWN0b3IgPSBmdW5jdGlvbiAodikge1xuICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiB0aGlzLl9yYW5kb21pemF0aW9uRmFjdG9yO1xuICB0aGlzLl9yYW5kb21pemF0aW9uRmFjdG9yID0gdjtcbiAgdGhpcy5iYWNrb2ZmICYmIHRoaXMuYmFja29mZi5zZXRKaXR0ZXIodik7XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBTZXRzIHRoZSBtYXhpbXVtIGRlbGF5IGJldHdlZW4gcmVjb25uZWN0aW9ucy5cbiAqXG4gKiBAcGFyYW0ge051bWJlcn0gZGVsYXlcbiAqIEByZXR1cm4ge01hbmFnZXJ9IHNlbGYgb3IgdmFsdWVcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuTWFuYWdlci5wcm90b3R5cGUucmVjb25uZWN0aW9uRGVsYXlNYXggPSBmdW5jdGlvbiAodikge1xuICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiB0aGlzLl9yZWNvbm5lY3Rpb25EZWxheU1heDtcbiAgdGhpcy5fcmVjb25uZWN0aW9uRGVsYXlNYXggPSB2O1xuICB0aGlzLmJhY2tvZmYgJiYgdGhpcy5iYWNrb2ZmLnNldE1heCh2KTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIFNldHMgdGhlIGNvbm5lY3Rpb24gdGltZW91dC4gYGZhbHNlYCB0byBkaXNhYmxlXG4gKlxuICogQHJldHVybiB7TWFuYWdlcn0gc2VsZiBvciB2YWx1ZVxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5NYW5hZ2VyLnByb3RvdHlwZS50aW1lb3V0ID0gZnVuY3Rpb24gKHYpIHtcbiAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gdGhpcy5fdGltZW91dDtcbiAgdGhpcy5fdGltZW91dCA9IHY7XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBTdGFydHMgdHJ5aW5nIHRvIHJlY29ubmVjdCBpZiByZWNvbm5lY3Rpb24gaXMgZW5hYmxlZCBhbmQgd2UgaGF2ZSBub3RcbiAqIHN0YXJ0ZWQgcmVjb25uZWN0aW5nIHlldFxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbk1hbmFnZXIucHJvdG90eXBlLm1heWJlUmVjb25uZWN0T25PcGVuID0gZnVuY3Rpb24gKCkge1xuICAvLyBPbmx5IHRyeSB0byByZWNvbm5lY3QgaWYgaXQncyB0aGUgZmlyc3QgdGltZSB3ZSdyZSBjb25uZWN0aW5nXG4gIGlmICghdGhpcy5yZWNvbm5lY3RpbmcgJiYgdGhpcy5fcmVjb25uZWN0aW9uICYmIHRoaXMuYmFja29mZi5hdHRlbXB0cyA9PT0gMCkge1xuICAgIC8vIGtlZXBzIHJlY29ubmVjdGlvbiBmcm9tIGZpcmluZyB0d2ljZSBmb3IgdGhlIHNhbWUgcmVjb25uZWN0aW9uIGxvb3BcbiAgICB0aGlzLnJlY29ubmVjdCgpO1xuICB9XG59O1xuXG4vKipcbiAqIFNldHMgdGhlIGN1cnJlbnQgdHJhbnNwb3J0IGBzb2NrZXRgLlxuICpcbiAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbmFsLCBjYWxsYmFja1xuICogQHJldHVybiB7TWFuYWdlcn0gc2VsZlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5NYW5hZ2VyLnByb3RvdHlwZS5vcGVuID1cbk1hbmFnZXIucHJvdG90eXBlLmNvbm5lY3QgPSBmdW5jdGlvbiAoZm4sIG9wdHMpIHtcbiAgZGVidWcoJ3JlYWR5U3RhdGUgJXMnLCB0aGlzLnJlYWR5U3RhdGUpO1xuICBpZiAofnRoaXMucmVhZHlTdGF0ZS5pbmRleE9mKCdvcGVuJykpIHJldHVybiB0aGlzO1xuXG4gIGRlYnVnKCdvcGVuaW5nICVzJywgdGhpcy51cmkpO1xuICB0aGlzLmVuZ2luZSA9IGVpbyh0aGlzLnVyaSwgdGhpcy5vcHRzKTtcbiAgdmFyIHNvY2tldCA9IHRoaXMuZW5naW5lO1xuICB2YXIgc2VsZiA9IHRoaXM7XG4gIHRoaXMucmVhZHlTdGF0ZSA9ICdvcGVuaW5nJztcbiAgdGhpcy5za2lwUmVjb25uZWN0ID0gZmFsc2U7XG5cbiAgLy8gZW1pdCBgb3BlbmBcbiAgdmFyIG9wZW5TdWIgPSBvbihzb2NrZXQsICdvcGVuJywgZnVuY3Rpb24gKCkge1xuICAgIHNlbGYub25vcGVuKCk7XG4gICAgZm4gJiYgZm4oKTtcbiAgfSk7XG5cbiAgLy8gZW1pdCBgY29ubmVjdF9lcnJvcmBcbiAgdmFyIGVycm9yU3ViID0gb24oc29ja2V0LCAnZXJyb3InLCBmdW5jdGlvbiAoZGF0YSkge1xuICAgIGRlYnVnKCdjb25uZWN0X2Vycm9yJyk7XG4gICAgc2VsZi5jbGVhbnVwKCk7XG4gICAgc2VsZi5yZWFkeVN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgc2VsZi5lbWl0QWxsKCdjb25uZWN0X2Vycm9yJywgZGF0YSk7XG4gICAgaWYgKGZuKSB7XG4gICAgICB2YXIgZXJyID0gbmV3IEVycm9yKCdDb25uZWN0aW9uIGVycm9yJyk7XG4gICAgICBlcnIuZGF0YSA9IGRhdGE7XG4gICAgICBmbihlcnIpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBPbmx5IGRvIHRoaXMgaWYgdGhlcmUgaXMgbm8gZm4gdG8gaGFuZGxlIHRoZSBlcnJvclxuICAgICAgc2VsZi5tYXliZVJlY29ubmVjdE9uT3BlbigpO1xuICAgIH1cbiAgfSk7XG5cbiAgLy8gZW1pdCBgY29ubmVjdF90aW1lb3V0YFxuICBpZiAoZmFsc2UgIT09IHRoaXMuX3RpbWVvdXQpIHtcbiAgICB2YXIgdGltZW91dCA9IHRoaXMuX3RpbWVvdXQ7XG4gICAgZGVidWcoJ2Nvbm5lY3QgYXR0ZW1wdCB3aWxsIHRpbWVvdXQgYWZ0ZXIgJWQnLCB0aW1lb3V0KTtcblxuICAgIC8vIHNldCB0aW1lclxuICAgIHZhciB0aW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgZGVidWcoJ2Nvbm5lY3QgYXR0ZW1wdCB0aW1lZCBvdXQgYWZ0ZXIgJWQnLCB0aW1lb3V0KTtcbiAgICAgIG9wZW5TdWIuZGVzdHJveSgpO1xuICAgICAgc29ja2V0LmNsb3NlKCk7XG4gICAgICBzb2NrZXQuZW1pdCgnZXJyb3InLCAndGltZW91dCcpO1xuICAgICAgc2VsZi5lbWl0QWxsKCdjb25uZWN0X3RpbWVvdXQnLCB0aW1lb3V0KTtcbiAgICB9LCB0aW1lb3V0KTtcblxuICAgIHRoaXMuc3Vicy5wdXNoKHtcbiAgICAgIGRlc3Ryb3k6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHRoaXMuc3Vicy5wdXNoKG9wZW5TdWIpO1xuICB0aGlzLnN1YnMucHVzaChlcnJvclN1Yik7XG5cbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIENhbGxlZCB1cG9uIHRyYW5zcG9ydCBvcGVuLlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbk1hbmFnZXIucHJvdG90eXBlLm9ub3BlbiA9IGZ1bmN0aW9uICgpIHtcbiAgZGVidWcoJ29wZW4nKTtcblxuICAvLyBjbGVhciBvbGQgc3Vic1xuICB0aGlzLmNsZWFudXAoKTtcblxuICAvLyBtYXJrIGFzIG9wZW5cbiAgdGhpcy5yZWFkeVN0YXRlID0gJ29wZW4nO1xuICB0aGlzLmVtaXQoJ29wZW4nKTtcblxuICAvLyBhZGQgbmV3IHN1YnNcbiAgdmFyIHNvY2tldCA9IHRoaXMuZW5naW5lO1xuICB0aGlzLnN1YnMucHVzaChvbihzb2NrZXQsICdkYXRhJywgYmluZCh0aGlzLCAnb25kYXRhJykpKTtcbiAgdGhpcy5zdWJzLnB1c2gob24oc29ja2V0LCAncGluZycsIGJpbmQodGhpcywgJ29ucGluZycpKSk7XG4gIHRoaXMuc3Vicy5wdXNoKG9uKHNvY2tldCwgJ3BvbmcnLCBiaW5kKHRoaXMsICdvbnBvbmcnKSkpO1xuICB0aGlzLnN1YnMucHVzaChvbihzb2NrZXQsICdlcnJvcicsIGJpbmQodGhpcywgJ29uZXJyb3InKSkpO1xuICB0aGlzLnN1YnMucHVzaChvbihzb2NrZXQsICdjbG9zZScsIGJpbmQodGhpcywgJ29uY2xvc2UnKSkpO1xuICB0aGlzLnN1YnMucHVzaChvbih0aGlzLmRlY29kZXIsICdkZWNvZGVkJywgYmluZCh0aGlzLCAnb25kZWNvZGVkJykpKTtcbn07XG5cbi8qKlxuICogQ2FsbGVkIHVwb24gYSBwaW5nLlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbk1hbmFnZXIucHJvdG90eXBlLm9ucGluZyA9IGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5sYXN0UGluZyA9IG5ldyBEYXRlKCk7XG4gIHRoaXMuZW1pdEFsbCgncGluZycpO1xufTtcblxuLyoqXG4gKiBDYWxsZWQgdXBvbiBhIHBhY2tldC5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5NYW5hZ2VyLnByb3RvdHlwZS5vbnBvbmcgPSBmdW5jdGlvbiAoKSB7XG4gIHRoaXMuZW1pdEFsbCgncG9uZycsIG5ldyBEYXRlKCkgLSB0aGlzLmxhc3RQaW5nKTtcbn07XG5cbi8qKlxuICogQ2FsbGVkIHdpdGggZGF0YS5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5NYW5hZ2VyLnByb3RvdHlwZS5vbmRhdGEgPSBmdW5jdGlvbiAoZGF0YSkge1xuICB0aGlzLmRlY29kZXIuYWRkKGRhdGEpO1xufTtcblxuLyoqXG4gKiBDYWxsZWQgd2hlbiBwYXJzZXIgZnVsbHkgZGVjb2RlcyBhIHBhY2tldC5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5NYW5hZ2VyLnByb3RvdHlwZS5vbmRlY29kZWQgPSBmdW5jdGlvbiAocGFja2V0KSB7XG4gIHRoaXMuZW1pdCgncGFja2V0JywgcGFja2V0KTtcbn07XG5cbi8qKlxuICogQ2FsbGVkIHVwb24gc29ja2V0IGVycm9yLlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbk1hbmFnZXIucHJvdG90eXBlLm9uZXJyb3IgPSBmdW5jdGlvbiAoZXJyKSB7XG4gIGRlYnVnKCdlcnJvcicsIGVycik7XG4gIHRoaXMuZW1pdEFsbCgnZXJyb3InLCBlcnIpO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IHNvY2tldCBmb3IgdGhlIGdpdmVuIGBuc3BgLlxuICpcbiAqIEByZXR1cm4ge1NvY2tldH1cbiAqIEBhcGkgcHVibGljXG4gKi9cblxuTWFuYWdlci5wcm90b3R5cGUuc29ja2V0ID0gZnVuY3Rpb24gKG5zcCwgb3B0cykge1xuICB2YXIgc29ja2V0ID0gdGhpcy5uc3BzW25zcF07XG4gIGlmICghc29ja2V0KSB7XG4gICAgc29ja2V0ID0gbmV3IFNvY2tldCh0aGlzLCBuc3AsIG9wdHMpO1xuICAgIHRoaXMubnNwc1tuc3BdID0gc29ja2V0O1xuICAgIHZhciBzZWxmID0gdGhpcztcbiAgICBzb2NrZXQub24oJ2Nvbm5lY3RpbmcnLCBvbkNvbm5lY3RpbmcpO1xuICAgIHNvY2tldC5vbignY29ubmVjdCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHNvY2tldC5pZCA9IHNlbGYuZ2VuZXJhdGVJZChuc3ApO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuYXV0b0Nvbm5lY3QpIHtcbiAgICAgIC8vIG1hbnVhbGx5IGNhbGwgaGVyZSBzaW5jZSBjb25uZWN0aW5nIGV2ZW50IGlzIGZpcmVkIGJlZm9yZSBsaXN0ZW5pbmdcbiAgICAgIG9uQ29ubmVjdGluZygpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIG9uQ29ubmVjdGluZyAoKSB7XG4gICAgaWYgKCF+aW5kZXhPZihzZWxmLmNvbm5lY3RpbmcsIHNvY2tldCkpIHtcbiAgICAgIHNlbGYuY29ubmVjdGluZy5wdXNoKHNvY2tldCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHNvY2tldDtcbn07XG5cbi8qKlxuICogQ2FsbGVkIHVwb24gYSBzb2NrZXQgY2xvc2UuXG4gKlxuICogQHBhcmFtIHtTb2NrZXR9IHNvY2tldFxuICovXG5cbk1hbmFnZXIucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbiAoc29ja2V0KSB7XG4gIHZhciBpbmRleCA9IGluZGV4T2YodGhpcy5jb25uZWN0aW5nLCBzb2NrZXQpO1xuICBpZiAofmluZGV4KSB0aGlzLmNvbm5lY3Rpbmcuc3BsaWNlKGluZGV4LCAxKTtcbiAgaWYgKHRoaXMuY29ubmVjdGluZy5sZW5ndGgpIHJldHVybjtcblxuICB0aGlzLmNsb3NlKCk7XG59O1xuXG4vKipcbiAqIFdyaXRlcyBhIHBhY2tldC5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcGFja2V0XG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5NYW5hZ2VyLnByb3RvdHlwZS5wYWNrZXQgPSBmdW5jdGlvbiAocGFja2V0KSB7XG4gIGRlYnVnKCd3cml0aW5nIHBhY2tldCAlaicsIHBhY2tldCk7XG4gIHZhciBzZWxmID0gdGhpcztcbiAgaWYgKHBhY2tldC5xdWVyeSAmJiBwYWNrZXQudHlwZSA9PT0gMCkgcGFja2V0Lm5zcCArPSAnPycgKyBwYWNrZXQucXVlcnk7XG5cbiAgaWYgKCFzZWxmLmVuY29kaW5nKSB7XG4gICAgLy8gZW5jb2RlLCB0aGVuIHdyaXRlIHRvIGVuZ2luZSB3aXRoIHJlc3VsdFxuICAgIHNlbGYuZW5jb2RpbmcgPSB0cnVlO1xuICAgIHRoaXMuZW5jb2Rlci5lbmNvZGUocGFja2V0LCBmdW5jdGlvbiAoZW5jb2RlZFBhY2tldHMpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZW5jb2RlZFBhY2tldHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgc2VsZi5lbmdpbmUud3JpdGUoZW5jb2RlZFBhY2tldHNbaV0sIHBhY2tldC5vcHRpb25zKTtcbiAgICAgIH1cbiAgICAgIHNlbGYuZW5jb2RpbmcgPSBmYWxzZTtcbiAgICAgIHNlbGYucHJvY2Vzc1BhY2tldFF1ZXVlKCk7XG4gICAgfSk7XG4gIH0gZWxzZSB7IC8vIGFkZCBwYWNrZXQgdG8gdGhlIHF1ZXVlXG4gICAgc2VsZi5wYWNrZXRCdWZmZXIucHVzaChwYWNrZXQpO1xuICB9XG59O1xuXG4vKipcbiAqIElmIHBhY2tldCBidWZmZXIgaXMgbm9uLWVtcHR5LCBiZWdpbnMgZW5jb2RpbmcgdGhlXG4gKiBuZXh0IHBhY2tldCBpbiBsaW5lLlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbk1hbmFnZXIucHJvdG90eXBlLnByb2Nlc3NQYWNrZXRRdWV1ZSA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKHRoaXMucGFja2V0QnVmZmVyLmxlbmd0aCA+IDAgJiYgIXRoaXMuZW5jb2RpbmcpIHtcbiAgICB2YXIgcGFjayA9IHRoaXMucGFja2V0QnVmZmVyLnNoaWZ0KCk7XG4gICAgdGhpcy5wYWNrZXQocGFjayk7XG4gIH1cbn07XG5cbi8qKlxuICogQ2xlYW4gdXAgdHJhbnNwb3J0IHN1YnNjcmlwdGlvbnMgYW5kIHBhY2tldCBidWZmZXIuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuTWFuYWdlci5wcm90b3R5cGUuY2xlYW51cCA9IGZ1bmN0aW9uICgpIHtcbiAgZGVidWcoJ2NsZWFudXAnKTtcblxuICB2YXIgc3Vic0xlbmd0aCA9IHRoaXMuc3Vicy5sZW5ndGg7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgc3Vic0xlbmd0aDsgaSsrKSB7XG4gICAgdmFyIHN1YiA9IHRoaXMuc3Vicy5zaGlmdCgpO1xuICAgIHN1Yi5kZXN0cm95KCk7XG4gIH1cblxuICB0aGlzLnBhY2tldEJ1ZmZlciA9IFtdO1xuICB0aGlzLmVuY29kaW5nID0gZmFsc2U7XG4gIHRoaXMubGFzdFBpbmcgPSBudWxsO1xuXG4gIHRoaXMuZGVjb2Rlci5kZXN0cm95KCk7XG59O1xuXG4vKipcbiAqIENsb3NlIHRoZSBjdXJyZW50IHNvY2tldC5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5NYW5hZ2VyLnByb3RvdHlwZS5jbG9zZSA9XG5NYW5hZ2VyLnByb3RvdHlwZS5kaXNjb25uZWN0ID0gZnVuY3Rpb24gKCkge1xuICBkZWJ1ZygnZGlzY29ubmVjdCcpO1xuICB0aGlzLnNraXBSZWNvbm5lY3QgPSB0cnVlO1xuICB0aGlzLnJlY29ubmVjdGluZyA9IGZhbHNlO1xuICBpZiAoJ29wZW5pbmcnID09PSB0aGlzLnJlYWR5U3RhdGUpIHtcbiAgICAvLyBgb25jbG9zZWAgd2lsbCBub3QgZmlyZSBiZWNhdXNlXG4gICAgLy8gYW4gb3BlbiBldmVudCBuZXZlciBoYXBwZW5lZFxuICAgIHRoaXMuY2xlYW51cCgpO1xuICB9XG4gIHRoaXMuYmFja29mZi5yZXNldCgpO1xuICB0aGlzLnJlYWR5U3RhdGUgPSAnY2xvc2VkJztcbiAgaWYgKHRoaXMuZW5naW5lKSB0aGlzLmVuZ2luZS5jbG9zZSgpO1xufTtcblxuLyoqXG4gKiBDYWxsZWQgdXBvbiBlbmdpbmUgY2xvc2UuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuTWFuYWdlci5wcm90b3R5cGUub25jbG9zZSA9IGZ1bmN0aW9uIChyZWFzb24pIHtcbiAgZGVidWcoJ29uY2xvc2UnKTtcblxuICB0aGlzLmNsZWFudXAoKTtcbiAgdGhpcy5iYWNrb2ZmLnJlc2V0KCk7XG4gIHRoaXMucmVhZHlTdGF0ZSA9ICdjbG9zZWQnO1xuICB0aGlzLmVtaXQoJ2Nsb3NlJywgcmVhc29uKTtcblxuICBpZiAodGhpcy5fcmVjb25uZWN0aW9uICYmICF0aGlzLnNraXBSZWNvbm5lY3QpIHtcbiAgICB0aGlzLnJlY29ubmVjdCgpO1xuICB9XG59O1xuXG4vKipcbiAqIEF0dGVtcHQgYSByZWNvbm5lY3Rpb24uXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuTWFuYWdlci5wcm90b3R5cGUucmVjb25uZWN0ID0gZnVuY3Rpb24gKCkge1xuICBpZiAodGhpcy5yZWNvbm5lY3RpbmcgfHwgdGhpcy5za2lwUmVjb25uZWN0KSByZXR1cm4gdGhpcztcblxuICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgaWYgKHRoaXMuYmFja29mZi5hdHRlbXB0cyA+PSB0aGlzLl9yZWNvbm5lY3Rpb25BdHRlbXB0cykge1xuICAgIGRlYnVnKCdyZWNvbm5lY3QgZmFpbGVkJyk7XG4gICAgdGhpcy5iYWNrb2ZmLnJlc2V0KCk7XG4gICAgdGhpcy5lbWl0QWxsKCdyZWNvbm5lY3RfZmFpbGVkJyk7XG4gICAgdGhpcy5yZWNvbm5lY3RpbmcgPSBmYWxzZTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgZGVsYXkgPSB0aGlzLmJhY2tvZmYuZHVyYXRpb24oKTtcbiAgICBkZWJ1Zygnd2lsbCB3YWl0ICVkbXMgYmVmb3JlIHJlY29ubmVjdCBhdHRlbXB0JywgZGVsYXkpO1xuXG4gICAgdGhpcy5yZWNvbm5lY3RpbmcgPSB0cnVlO1xuICAgIHZhciB0aW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKHNlbGYuc2tpcFJlY29ubmVjdCkgcmV0dXJuO1xuXG4gICAgICBkZWJ1ZygnYXR0ZW1wdGluZyByZWNvbm5lY3QnKTtcbiAgICAgIHNlbGYuZW1pdEFsbCgncmVjb25uZWN0X2F0dGVtcHQnLCBzZWxmLmJhY2tvZmYuYXR0ZW1wdHMpO1xuICAgICAgc2VsZi5lbWl0QWxsKCdyZWNvbm5lY3RpbmcnLCBzZWxmLmJhY2tvZmYuYXR0ZW1wdHMpO1xuXG4gICAgICAvLyBjaGVjayBhZ2FpbiBmb3IgdGhlIGNhc2Ugc29ja2V0IGNsb3NlZCBpbiBhYm92ZSBldmVudHNcbiAgICAgIGlmIChzZWxmLnNraXBSZWNvbm5lY3QpIHJldHVybjtcblxuICAgICAgc2VsZi5vcGVuKGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIGRlYnVnKCdyZWNvbm5lY3QgYXR0ZW1wdCBlcnJvcicpO1xuICAgICAgICAgIHNlbGYucmVjb25uZWN0aW5nID0gZmFsc2U7XG4gICAgICAgICAgc2VsZi5yZWNvbm5lY3QoKTtcbiAgICAgICAgICBzZWxmLmVtaXRBbGwoJ3JlY29ubmVjdF9lcnJvcicsIGVyci5kYXRhKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkZWJ1ZygncmVjb25uZWN0IHN1Y2Nlc3MnKTtcbiAgICAgICAgICBzZWxmLm9ucmVjb25uZWN0KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0sIGRlbGF5KTtcblxuICAgIHRoaXMuc3Vicy5wdXNoKHtcbiAgICAgIGRlc3Ryb3k6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufTtcblxuLyoqXG4gKiBDYWxsZWQgdXBvbiBzdWNjZXNzZnVsIHJlY29ubmVjdC5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5NYW5hZ2VyLnByb3RvdHlwZS5vbnJlY29ubmVjdCA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIGF0dGVtcHQgPSB0aGlzLmJhY2tvZmYuYXR0ZW1wdHM7XG4gIHRoaXMucmVjb25uZWN0aW5nID0gZmFsc2U7XG4gIHRoaXMuYmFja29mZi5yZXNldCgpO1xuICB0aGlzLnVwZGF0ZVNvY2tldElkcygpO1xuICB0aGlzLmVtaXRBbGwoJ3JlY29ubmVjdCcsIGF0dGVtcHQpO1xufTtcbiIsIlxuLyoqXG4gKiBNb2R1bGUgZXhwb3J0cy5cbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IG9uO1xuXG4vKipcbiAqIEhlbHBlciBmb3Igc3Vic2NyaXB0aW9ucy5cbiAqXG4gKiBAcGFyYW0ge09iamVjdHxFdmVudEVtaXR0ZXJ9IG9iaiB3aXRoIGBFbWl0dGVyYCBtaXhpbiBvciBgRXZlbnRFbWl0dGVyYFxuICogQHBhcmFtIHtTdHJpbmd9IGV2ZW50IG5hbWVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIG9uIChvYmosIGV2LCBmbikge1xuICBvYmoub24oZXYsIGZuKTtcbiAgcmV0dXJuIHtcbiAgICBkZXN0cm95OiBmdW5jdGlvbiAoKSB7XG4gICAgICBvYmoucmVtb3ZlTGlzdGVuZXIoZXYsIGZuKTtcbiAgICB9XG4gIH07XG59XG4iLCJcbi8qKlxuICogTW9kdWxlIGRlcGVuZGVuY2llcy5cbiAqL1xuXG52YXIgcGFyc2VyID0gcmVxdWlyZSgnc29ja2V0LmlvLXBhcnNlcicpO1xudmFyIEVtaXR0ZXIgPSByZXF1aXJlKCdjb21wb25lbnQtZW1pdHRlcicpO1xudmFyIHRvQXJyYXkgPSByZXF1aXJlKCd0by1hcnJheScpO1xudmFyIG9uID0gcmVxdWlyZSgnLi9vbicpO1xudmFyIGJpbmQgPSByZXF1aXJlKCdjb21wb25lbnQtYmluZCcpO1xudmFyIGRlYnVnID0gcmVxdWlyZSgnZGVidWcnKSgnc29ja2V0LmlvLWNsaWVudDpzb2NrZXQnKTtcbnZhciBwYXJzZXFzID0gcmVxdWlyZSgncGFyc2VxcycpO1xudmFyIGhhc0JpbiA9IHJlcXVpcmUoJ2hhcy1iaW5hcnkyJyk7XG5cbi8qKlxuICogTW9kdWxlIGV4cG9ydHMuXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzID0gU29ja2V0O1xuXG4vKipcbiAqIEludGVybmFsIGV2ZW50cyAoYmxhY2tsaXN0ZWQpLlxuICogVGhlc2UgZXZlbnRzIGNhbid0IGJlIGVtaXR0ZWQgYnkgdGhlIHVzZXIuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxudmFyIGV2ZW50cyA9IHtcbiAgY29ubmVjdDogMSxcbiAgY29ubmVjdF9lcnJvcjogMSxcbiAgY29ubmVjdF90aW1lb3V0OiAxLFxuICBjb25uZWN0aW5nOiAxLFxuICBkaXNjb25uZWN0OiAxLFxuICBlcnJvcjogMSxcbiAgcmVjb25uZWN0OiAxLFxuICByZWNvbm5lY3RfYXR0ZW1wdDogMSxcbiAgcmVjb25uZWN0X2ZhaWxlZDogMSxcbiAgcmVjb25uZWN0X2Vycm9yOiAxLFxuICByZWNvbm5lY3Rpbmc6IDEsXG4gIHBpbmc6IDEsXG4gIHBvbmc6IDFcbn07XG5cbi8qKlxuICogU2hvcnRjdXQgdG8gYEVtaXR0ZXIjZW1pdGAuXG4gKi9cblxudmFyIGVtaXQgPSBFbWl0dGVyLnByb3RvdHlwZS5lbWl0O1xuXG4vKipcbiAqIGBTb2NrZXRgIGNvbnN0cnVjdG9yLlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZnVuY3Rpb24gU29ja2V0IChpbywgbnNwLCBvcHRzKSB7XG4gIHRoaXMuaW8gPSBpbztcbiAgdGhpcy5uc3AgPSBuc3A7XG4gIHRoaXMuanNvbiA9IHRoaXM7IC8vIGNvbXBhdFxuICB0aGlzLmlkcyA9IDA7XG4gIHRoaXMuYWNrcyA9IHt9O1xuICB0aGlzLnJlY2VpdmVCdWZmZXIgPSBbXTtcbiAgdGhpcy5zZW5kQnVmZmVyID0gW107XG4gIHRoaXMuY29ubmVjdGVkID0gZmFsc2U7XG4gIHRoaXMuZGlzY29ubmVjdGVkID0gdHJ1ZTtcbiAgdGhpcy5mbGFncyA9IHt9O1xuICBpZiAob3B0cyAmJiBvcHRzLnF1ZXJ5KSB7XG4gICAgdGhpcy5xdWVyeSA9IG9wdHMucXVlcnk7XG4gIH1cbiAgaWYgKHRoaXMuaW8uYXV0b0Nvbm5lY3QpIHRoaXMub3BlbigpO1xufVxuXG4vKipcbiAqIE1peCBpbiBgRW1pdHRlcmAuXG4gKi9cblxuRW1pdHRlcihTb2NrZXQucHJvdG90eXBlKTtcblxuLyoqXG4gKiBTdWJzY3JpYmUgdG8gb3BlbiwgY2xvc2UgYW5kIHBhY2tldCBldmVudHNcbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLnN1YkV2ZW50cyA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKHRoaXMuc3VicykgcmV0dXJuO1xuXG4gIHZhciBpbyA9IHRoaXMuaW87XG4gIHRoaXMuc3VicyA9IFtcbiAgICBvbihpbywgJ29wZW4nLCBiaW5kKHRoaXMsICdvbm9wZW4nKSksXG4gICAgb24oaW8sICdwYWNrZXQnLCBiaW5kKHRoaXMsICdvbnBhY2tldCcpKSxcbiAgICBvbihpbywgJ2Nsb3NlJywgYmluZCh0aGlzLCAnb25jbG9zZScpKVxuICBdO1xufTtcblxuLyoqXG4gKiBcIk9wZW5zXCIgdGhlIHNvY2tldC5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblNvY2tldC5wcm90b3R5cGUub3BlbiA9XG5Tb2NrZXQucHJvdG90eXBlLmNvbm5lY3QgPSBmdW5jdGlvbiAoKSB7XG4gIGlmICh0aGlzLmNvbm5lY3RlZCkgcmV0dXJuIHRoaXM7XG5cbiAgdGhpcy5zdWJFdmVudHMoKTtcbiAgdGhpcy5pby5vcGVuKCk7IC8vIGVuc3VyZSBvcGVuXG4gIGlmICgnb3BlbicgPT09IHRoaXMuaW8ucmVhZHlTdGF0ZSkgdGhpcy5vbm9wZW4oKTtcbiAgdGhpcy5lbWl0KCdjb25uZWN0aW5nJyk7XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBTZW5kcyBhIGBtZXNzYWdlYCBldmVudC5cbiAqXG4gKiBAcmV0dXJuIHtTb2NrZXR9IHNlbGZcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5zZW5kID0gZnVuY3Rpb24gKCkge1xuICB2YXIgYXJncyA9IHRvQXJyYXkoYXJndW1lbnRzKTtcbiAgYXJncy51bnNoaWZ0KCdtZXNzYWdlJyk7XG4gIHRoaXMuZW1pdC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIE92ZXJyaWRlIGBlbWl0YC5cbiAqIElmIHRoZSBldmVudCBpcyBpbiBgZXZlbnRzYCwgaXQncyBlbWl0dGVkIG5vcm1hbGx5LlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBldmVudCBuYW1lXG4gKiBAcmV0dXJuIHtTb2NrZXR9IHNlbGZcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5lbWl0ID0gZnVuY3Rpb24gKGV2KSB7XG4gIGlmIChldmVudHMuaGFzT3duUHJvcGVydHkoZXYpKSB7XG4gICAgZW1pdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgdmFyIGFyZ3MgPSB0b0FycmF5KGFyZ3VtZW50cyk7XG4gIHZhciBwYWNrZXQgPSB7XG4gICAgdHlwZTogKHRoaXMuZmxhZ3MuYmluYXJ5ICE9PSB1bmRlZmluZWQgPyB0aGlzLmZsYWdzLmJpbmFyeSA6IGhhc0JpbihhcmdzKSkgPyBwYXJzZXIuQklOQVJZX0VWRU5UIDogcGFyc2VyLkVWRU5ULFxuICAgIGRhdGE6IGFyZ3NcbiAgfTtcblxuICBwYWNrZXQub3B0aW9ucyA9IHt9O1xuICBwYWNrZXQub3B0aW9ucy5jb21wcmVzcyA9ICF0aGlzLmZsYWdzIHx8IGZhbHNlICE9PSB0aGlzLmZsYWdzLmNvbXByZXNzO1xuXG4gIC8vIGV2ZW50IGFjayBjYWxsYmFja1xuICBpZiAoJ2Z1bmN0aW9uJyA9PT0gdHlwZW9mIGFyZ3NbYXJncy5sZW5ndGggLSAxXSkge1xuICAgIGRlYnVnKCdlbWl0dGluZyBwYWNrZXQgd2l0aCBhY2sgaWQgJWQnLCB0aGlzLmlkcyk7XG4gICAgdGhpcy5hY2tzW3RoaXMuaWRzXSA9IGFyZ3MucG9wKCk7XG4gICAgcGFja2V0LmlkID0gdGhpcy5pZHMrKztcbiAgfVxuXG4gIGlmICh0aGlzLmNvbm5lY3RlZCkge1xuICAgIHRoaXMucGFja2V0KHBhY2tldCk7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy5zZW5kQnVmZmVyLnB1c2gocGFja2V0KTtcbiAgfVxuXG4gIHRoaXMuZmxhZ3MgPSB7fTtcblxuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogU2VuZHMgYSBwYWNrZXQuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHBhY2tldFxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5wYWNrZXQgPSBmdW5jdGlvbiAocGFja2V0KSB7XG4gIHBhY2tldC5uc3AgPSB0aGlzLm5zcDtcbiAgdGhpcy5pby5wYWNrZXQocGFja2V0KTtcbn07XG5cbi8qKlxuICogQ2FsbGVkIHVwb24gZW5naW5lIGBvcGVuYC5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLm9ub3BlbiA9IGZ1bmN0aW9uICgpIHtcbiAgZGVidWcoJ3RyYW5zcG9ydCBpcyBvcGVuIC0gY29ubmVjdGluZycpO1xuXG4gIC8vIHdyaXRlIGNvbm5lY3QgcGFja2V0IGlmIG5lY2Vzc2FyeVxuICBpZiAoJy8nICE9PSB0aGlzLm5zcCkge1xuICAgIGlmICh0aGlzLnF1ZXJ5KSB7XG4gICAgICB2YXIgcXVlcnkgPSB0eXBlb2YgdGhpcy5xdWVyeSA9PT0gJ29iamVjdCcgPyBwYXJzZXFzLmVuY29kZSh0aGlzLnF1ZXJ5KSA6IHRoaXMucXVlcnk7XG4gICAgICBkZWJ1Zygnc2VuZGluZyBjb25uZWN0IHBhY2tldCB3aXRoIHF1ZXJ5ICVzJywgcXVlcnkpO1xuICAgICAgdGhpcy5wYWNrZXQoe3R5cGU6IHBhcnNlci5DT05ORUNULCBxdWVyeTogcXVlcnl9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wYWNrZXQoe3R5cGU6IHBhcnNlci5DT05ORUNUfSk7XG4gICAgfVxuICB9XG59O1xuXG4vKipcbiAqIENhbGxlZCB1cG9uIGVuZ2luZSBgY2xvc2VgLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSByZWFzb25cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblNvY2tldC5wcm90b3R5cGUub25jbG9zZSA9IGZ1bmN0aW9uIChyZWFzb24pIHtcbiAgZGVidWcoJ2Nsb3NlICglcyknLCByZWFzb24pO1xuICB0aGlzLmNvbm5lY3RlZCA9IGZhbHNlO1xuICB0aGlzLmRpc2Nvbm5lY3RlZCA9IHRydWU7XG4gIGRlbGV0ZSB0aGlzLmlkO1xuICB0aGlzLmVtaXQoJ2Rpc2Nvbm5lY3QnLCByZWFzb24pO1xufTtcblxuLyoqXG4gKiBDYWxsZWQgd2l0aCBzb2NrZXQgcGFja2V0LlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYWNrZXRcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblNvY2tldC5wcm90b3R5cGUub25wYWNrZXQgPSBmdW5jdGlvbiAocGFja2V0KSB7XG4gIHZhciBzYW1lTmFtZXNwYWNlID0gcGFja2V0Lm5zcCA9PT0gdGhpcy5uc3A7XG4gIHZhciByb290TmFtZXNwYWNlRXJyb3IgPSBwYWNrZXQudHlwZSA9PT0gcGFyc2VyLkVSUk9SICYmIHBhY2tldC5uc3AgPT09ICcvJztcblxuICBpZiAoIXNhbWVOYW1lc3BhY2UgJiYgIXJvb3ROYW1lc3BhY2VFcnJvcikgcmV0dXJuO1xuXG4gIHN3aXRjaCAocGFja2V0LnR5cGUpIHtcbiAgICBjYXNlIHBhcnNlci5DT05ORUNUOlxuICAgICAgdGhpcy5vbmNvbm5lY3QoKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBwYXJzZXIuRVZFTlQ6XG4gICAgICB0aGlzLm9uZXZlbnQocGFja2V0KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBwYXJzZXIuQklOQVJZX0VWRU5UOlxuICAgICAgdGhpcy5vbmV2ZW50KHBhY2tldCk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgcGFyc2VyLkFDSzpcbiAgICAgIHRoaXMub25hY2socGFja2V0KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBwYXJzZXIuQklOQVJZX0FDSzpcbiAgICAgIHRoaXMub25hY2socGFja2V0KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBwYXJzZXIuRElTQ09OTkVDVDpcbiAgICAgIHRoaXMub25kaXNjb25uZWN0KCk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgcGFyc2VyLkVSUk9SOlxuICAgICAgdGhpcy5lbWl0KCdlcnJvcicsIHBhY2tldC5kYXRhKTtcbiAgICAgIGJyZWFrO1xuICB9XG59O1xuXG4vKipcbiAqIENhbGxlZCB1cG9uIGEgc2VydmVyIGV2ZW50LlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYWNrZXRcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblNvY2tldC5wcm90b3R5cGUub25ldmVudCA9IGZ1bmN0aW9uIChwYWNrZXQpIHtcbiAgdmFyIGFyZ3MgPSBwYWNrZXQuZGF0YSB8fCBbXTtcbiAgZGVidWcoJ2VtaXR0aW5nIGV2ZW50ICVqJywgYXJncyk7XG5cbiAgaWYgKG51bGwgIT0gcGFja2V0LmlkKSB7XG4gICAgZGVidWcoJ2F0dGFjaGluZyBhY2sgY2FsbGJhY2sgdG8gZXZlbnQnKTtcbiAgICBhcmdzLnB1c2godGhpcy5hY2socGFja2V0LmlkKSk7XG4gIH1cblxuICBpZiAodGhpcy5jb25uZWN0ZWQpIHtcbiAgICBlbWl0LmFwcGx5KHRoaXMsIGFyZ3MpO1xuICB9IGVsc2Uge1xuICAgIHRoaXMucmVjZWl2ZUJ1ZmZlci5wdXNoKGFyZ3MpO1xuICB9XG59O1xuXG4vKipcbiAqIFByb2R1Y2VzIGFuIGFjayBjYWxsYmFjayB0byBlbWl0IHdpdGggYW4gZXZlbnQuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5hY2sgPSBmdW5jdGlvbiAoaWQpIHtcbiAgdmFyIHNlbGYgPSB0aGlzO1xuICB2YXIgc2VudCA9IGZhbHNlO1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIC8vIHByZXZlbnQgZG91YmxlIGNhbGxiYWNrc1xuICAgIGlmIChzZW50KSByZXR1cm47XG4gICAgc2VudCA9IHRydWU7XG4gICAgdmFyIGFyZ3MgPSB0b0FycmF5KGFyZ3VtZW50cyk7XG4gICAgZGVidWcoJ3NlbmRpbmcgYWNrICVqJywgYXJncyk7XG5cbiAgICBzZWxmLnBhY2tldCh7XG4gICAgICB0eXBlOiBoYXNCaW4oYXJncykgPyBwYXJzZXIuQklOQVJZX0FDSyA6IHBhcnNlci5BQ0ssXG4gICAgICBpZDogaWQsXG4gICAgICBkYXRhOiBhcmdzXG4gICAgfSk7XG4gIH07XG59O1xuXG4vKipcbiAqIENhbGxlZCB1cG9uIGEgc2VydmVyIGFja25vd2xlZ2VtZW50LlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYWNrZXRcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblNvY2tldC5wcm90b3R5cGUub25hY2sgPSBmdW5jdGlvbiAocGFja2V0KSB7XG4gIHZhciBhY2sgPSB0aGlzLmFja3NbcGFja2V0LmlkXTtcbiAgaWYgKCdmdW5jdGlvbicgPT09IHR5cGVvZiBhY2spIHtcbiAgICBkZWJ1ZygnY2FsbGluZyBhY2sgJXMgd2l0aCAlaicsIHBhY2tldC5pZCwgcGFja2V0LmRhdGEpO1xuICAgIGFjay5hcHBseSh0aGlzLCBwYWNrZXQuZGF0YSk7XG4gICAgZGVsZXRlIHRoaXMuYWNrc1twYWNrZXQuaWRdO1xuICB9IGVsc2Uge1xuICAgIGRlYnVnKCdiYWQgYWNrICVzJywgcGFja2V0LmlkKTtcbiAgfVxufTtcblxuLyoqXG4gKiBDYWxsZWQgdXBvbiBzZXJ2ZXIgY29ubmVjdC5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLm9uY29ubmVjdCA9IGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5jb25uZWN0ZWQgPSB0cnVlO1xuICB0aGlzLmRpc2Nvbm5lY3RlZCA9IGZhbHNlO1xuICB0aGlzLmVtaXQoJ2Nvbm5lY3QnKTtcbiAgdGhpcy5lbWl0QnVmZmVyZWQoKTtcbn07XG5cbi8qKlxuICogRW1pdCBidWZmZXJlZCBldmVudHMgKHJlY2VpdmVkIGFuZCBlbWl0dGVkKS5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLmVtaXRCdWZmZXJlZCA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIGk7XG4gIGZvciAoaSA9IDA7IGkgPCB0aGlzLnJlY2VpdmVCdWZmZXIubGVuZ3RoOyBpKyspIHtcbiAgICBlbWl0LmFwcGx5KHRoaXMsIHRoaXMucmVjZWl2ZUJ1ZmZlcltpXSk7XG4gIH1cbiAgdGhpcy5yZWNlaXZlQnVmZmVyID0gW107XG5cbiAgZm9yIChpID0gMDsgaSA8IHRoaXMuc2VuZEJ1ZmZlci5sZW5ndGg7IGkrKykge1xuICAgIHRoaXMucGFja2V0KHRoaXMuc2VuZEJ1ZmZlcltpXSk7XG4gIH1cbiAgdGhpcy5zZW5kQnVmZmVyID0gW107XG59O1xuXG4vKipcbiAqIENhbGxlZCB1cG9uIHNlcnZlciBkaXNjb25uZWN0LlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblNvY2tldC5wcm90b3R5cGUub25kaXNjb25uZWN0ID0gZnVuY3Rpb24gKCkge1xuICBkZWJ1Zygnc2VydmVyIGRpc2Nvbm5lY3QgKCVzKScsIHRoaXMubnNwKTtcbiAgdGhpcy5kZXN0cm95KCk7XG4gIHRoaXMub25jbG9zZSgnaW8gc2VydmVyIGRpc2Nvbm5lY3QnKTtcbn07XG5cbi8qKlxuICogQ2FsbGVkIHVwb24gZm9yY2VkIGNsaWVudC9zZXJ2ZXIgc2lkZSBkaXNjb25uZWN0aW9ucyxcbiAqIHRoaXMgbWV0aG9kIGVuc3VyZXMgdGhlIG1hbmFnZXIgc3RvcHMgdHJhY2tpbmcgdXMgYW5kXG4gKiB0aGF0IHJlY29ubmVjdGlvbnMgZG9uJ3QgZ2V0IHRyaWdnZXJlZCBmb3IgdGhpcy5cbiAqXG4gKiBAYXBpIHByaXZhdGUuXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24gKCkge1xuICBpZiAodGhpcy5zdWJzKSB7XG4gICAgLy8gY2xlYW4gc3Vic2NyaXB0aW9ucyB0byBhdm9pZCByZWNvbm5lY3Rpb25zXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLnN1YnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHRoaXMuc3Vic1tpXS5kZXN0cm95KCk7XG4gICAgfVxuICAgIHRoaXMuc3VicyA9IG51bGw7XG4gIH1cblxuICB0aGlzLmlvLmRlc3Ryb3kodGhpcyk7XG59O1xuXG4vKipcbiAqIERpc2Nvbm5lY3RzIHRoZSBzb2NrZXQgbWFudWFsbHkuXG4gKlxuICogQHJldHVybiB7U29ja2V0fSBzZWxmXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblNvY2tldC5wcm90b3R5cGUuY2xvc2UgPVxuU29ja2V0LnByb3RvdHlwZS5kaXNjb25uZWN0ID0gZnVuY3Rpb24gKCkge1xuICBpZiAodGhpcy5jb25uZWN0ZWQpIHtcbiAgICBkZWJ1ZygncGVyZm9ybWluZyBkaXNjb25uZWN0ICglcyknLCB0aGlzLm5zcCk7XG4gICAgdGhpcy5wYWNrZXQoeyB0eXBlOiBwYXJzZXIuRElTQ09OTkVDVCB9KTtcbiAgfVxuXG4gIC8vIHJlbW92ZSBzb2NrZXQgZnJvbSBwb29sXG4gIHRoaXMuZGVzdHJveSgpO1xuXG4gIGlmICh0aGlzLmNvbm5lY3RlZCkge1xuICAgIC8vIGZpcmUgZXZlbnRzXG4gICAgdGhpcy5vbmNsb3NlKCdpbyBjbGllbnQgZGlzY29ubmVjdCcpO1xuICB9XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBTZXRzIHRoZSBjb21wcmVzcyBmbGFnLlxuICpcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gaWYgYHRydWVgLCBjb21wcmVzc2VzIHRoZSBzZW5kaW5nIGRhdGFcbiAqIEByZXR1cm4ge1NvY2tldH0gc2VsZlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLmNvbXByZXNzID0gZnVuY3Rpb24gKGNvbXByZXNzKSB7XG4gIHRoaXMuZmxhZ3MuY29tcHJlc3MgPSBjb21wcmVzcztcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIFNldHMgdGhlIGJpbmFyeSBmbGFnXG4gKlxuICogQHBhcmFtIHtCb29sZWFufSB3aGV0aGVyIHRoZSBlbWl0dGVkIGRhdGEgY29udGFpbnMgYmluYXJ5XG4gKiBAcmV0dXJuIHtTb2NrZXR9IHNlbGZcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5iaW5hcnkgPSBmdW5jdGlvbiAoYmluYXJ5KSB7XG4gIHRoaXMuZmxhZ3MuYmluYXJ5ID0gYmluYXJ5O1xuICByZXR1cm4gdGhpcztcbn07XG4iLCJcbi8qKlxuICogTW9kdWxlIGRlcGVuZGVuY2llcy5cbiAqL1xuXG52YXIgcGFyc2V1cmkgPSByZXF1aXJlKCdwYXJzZXVyaScpO1xudmFyIGRlYnVnID0gcmVxdWlyZSgnZGVidWcnKSgnc29ja2V0LmlvLWNsaWVudDp1cmwnKTtcblxuLyoqXG4gKiBNb2R1bGUgZXhwb3J0cy5cbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IHVybDtcblxuLyoqXG4gKiBVUkwgcGFyc2VyLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSB1cmxcbiAqIEBwYXJhbSB7T2JqZWN0fSBBbiBvYmplY3QgbWVhbnQgdG8gbWltaWMgd2luZG93LmxvY2F0aW9uLlxuICogICAgICAgICAgICAgICAgIERlZmF1bHRzIHRvIHdpbmRvdy5sb2NhdGlvbi5cbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZnVuY3Rpb24gdXJsICh1cmksIGxvYykge1xuICB2YXIgb2JqID0gdXJpO1xuXG4gIC8vIGRlZmF1bHQgdG8gd2luZG93LmxvY2F0aW9uXG4gIGxvYyA9IGxvYyB8fCAodHlwZW9mIGxvY2F0aW9uICE9PSAndW5kZWZpbmVkJyAmJiBsb2NhdGlvbik7XG4gIGlmIChudWxsID09IHVyaSkgdXJpID0gbG9jLnByb3RvY29sICsgJy8vJyArIGxvYy5ob3N0O1xuXG4gIC8vIHJlbGF0aXZlIHBhdGggc3VwcG9ydFxuICBpZiAoJ3N0cmluZycgPT09IHR5cGVvZiB1cmkpIHtcbiAgICBpZiAoJy8nID09PSB1cmkuY2hhckF0KDApKSB7XG4gICAgICBpZiAoJy8nID09PSB1cmkuY2hhckF0KDEpKSB7XG4gICAgICAgIHVyaSA9IGxvYy5wcm90b2NvbCArIHVyaTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHVyaSA9IGxvYy5ob3N0ICsgdXJpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghL14oaHR0cHM/fHdzcz8pOlxcL1xcLy8udGVzdCh1cmkpKSB7XG4gICAgICBkZWJ1ZygncHJvdG9jb2wtbGVzcyB1cmwgJXMnLCB1cmkpO1xuICAgICAgaWYgKCd1bmRlZmluZWQnICE9PSB0eXBlb2YgbG9jKSB7XG4gICAgICAgIHVyaSA9IGxvYy5wcm90b2NvbCArICcvLycgKyB1cmk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1cmkgPSAnaHR0cHM6Ly8nICsgdXJpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHBhcnNlXG4gICAgZGVidWcoJ3BhcnNlICVzJywgdXJpKTtcbiAgICBvYmogPSBwYXJzZXVyaSh1cmkpO1xuICB9XG5cbiAgLy8gbWFrZSBzdXJlIHdlIHRyZWF0IGBsb2NhbGhvc3Q6ODBgIGFuZCBgbG9jYWxob3N0YCBlcXVhbGx5XG4gIGlmICghb2JqLnBvcnQpIHtcbiAgICBpZiAoL14oaHR0cHx3cykkLy50ZXN0KG9iai5wcm90b2NvbCkpIHtcbiAgICAgIG9iai5wb3J0ID0gJzgwJztcbiAgICB9IGVsc2UgaWYgKC9eKGh0dHB8d3MpcyQvLnRlc3Qob2JqLnByb3RvY29sKSkge1xuICAgICAgb2JqLnBvcnQgPSAnNDQzJztcbiAgICB9XG4gIH1cblxuICBvYmoucGF0aCA9IG9iai5wYXRoIHx8ICcvJztcblxuICB2YXIgaXB2NiA9IG9iai5ob3N0LmluZGV4T2YoJzonKSAhPT0gLTE7XG4gIHZhciBob3N0ID0gaXB2NiA/ICdbJyArIG9iai5ob3N0ICsgJ10nIDogb2JqLmhvc3Q7XG5cbiAgLy8gZGVmaW5lIHVuaXF1ZSBpZFxuICBvYmouaWQgPSBvYmoucHJvdG9jb2wgKyAnOi8vJyArIGhvc3QgKyAnOicgKyBvYmoucG9ydDtcbiAgLy8gZGVmaW5lIGhyZWZcbiAgb2JqLmhyZWYgPSBvYmoucHJvdG9jb2wgKyAnOi8vJyArIGhvc3QgKyAobG9jICYmIGxvYy5wb3J0ID09PSBvYmoucG9ydCA/ICcnIDogKCc6JyArIG9iai5wb3J0KSk7XG5cbiAgcmV0dXJuIG9iajtcbn1cbiIsIi8qXG4gKiBiYXNlNjQtYXJyYXlidWZmZXJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWtsYXN2aC9iYXNlNjQtYXJyYXlidWZmZXJcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTIgTmlrbGFzIHZvbiBIZXJ0emVuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKi9cbihmdW5jdGlvbigpe1xuICBcInVzZSBzdHJpY3RcIjtcblxuICB2YXIgY2hhcnMgPSBcIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky9cIjtcblxuICAvLyBVc2UgYSBsb29rdXAgdGFibGUgdG8gZmluZCB0aGUgaW5kZXguXG4gIHZhciBsb29rdXAgPSBuZXcgVWludDhBcnJheSgyNTYpO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgbG9va3VwW2NoYXJzLmNoYXJDb2RlQXQoaSldID0gaTtcbiAgfVxuXG4gIGV4cG9ydHMuZW5jb2RlID0gZnVuY3Rpb24oYXJyYXlidWZmZXIpIHtcbiAgICB2YXIgYnl0ZXMgPSBuZXcgVWludDhBcnJheShhcnJheWJ1ZmZlciksXG4gICAgaSwgbGVuID0gYnl0ZXMubGVuZ3RoLCBiYXNlNjQgPSBcIlwiO1xuXG4gICAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSs9Mykge1xuICAgICAgYmFzZTY0ICs9IGNoYXJzW2J5dGVzW2ldID4+IDJdO1xuICAgICAgYmFzZTY0ICs9IGNoYXJzWygoYnl0ZXNbaV0gJiAzKSA8PCA0KSB8IChieXRlc1tpICsgMV0gPj4gNCldO1xuICAgICAgYmFzZTY0ICs9IGNoYXJzWygoYnl0ZXNbaSArIDFdICYgMTUpIDw8IDIpIHwgKGJ5dGVzW2kgKyAyXSA+PiA2KV07XG4gICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaSArIDJdICYgNjNdO1xuICAgIH1cblxuICAgIGlmICgobGVuICUgMykgPT09IDIpIHtcbiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgXCI9XCI7XG4gICAgfSBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7XG4gICAgICBiYXNlNjQgPSBiYXNlNjQuc3Vic3RyaW5nKDAsIGJhc2U2NC5sZW5ndGggLSAyKSArIFwiPT1cIjtcbiAgICB9XG5cbiAgICByZXR1cm4gYmFzZTY0O1xuICB9O1xuXG4gIGV4cG9ydHMuZGVjb2RlID0gIGZ1bmN0aW9uKGJhc2U2NCkge1xuICAgIHZhciBidWZmZXJMZW5ndGggPSBiYXNlNjQubGVuZ3RoICogMC43NSxcbiAgICBsZW4gPSBiYXNlNjQubGVuZ3RoLCBpLCBwID0gMCxcbiAgICBlbmNvZGVkMSwgZW5jb2RlZDIsIGVuY29kZWQzLCBlbmNvZGVkNDtcblxuICAgIGlmIChiYXNlNjRbYmFzZTY0Lmxlbmd0aCAtIDFdID09PSBcIj1cIikge1xuICAgICAgYnVmZmVyTGVuZ3RoLS07XG4gICAgICBpZiAoYmFzZTY0W2Jhc2U2NC5sZW5ndGggLSAyXSA9PT0gXCI9XCIpIHtcbiAgICAgICAgYnVmZmVyTGVuZ3RoLS07XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGFycmF5YnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKGJ1ZmZlckxlbmd0aCksXG4gICAgYnl0ZXMgPSBuZXcgVWludDhBcnJheShhcnJheWJ1ZmZlcik7XG5cbiAgICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKz00KSB7XG4gICAgICBlbmNvZGVkMSA9IGxvb2t1cFtiYXNlNjQuY2hhckNvZGVBdChpKV07XG4gICAgICBlbmNvZGVkMiA9IGxvb2t1cFtiYXNlNjQuY2hhckNvZGVBdChpKzEpXTtcbiAgICAgIGVuY29kZWQzID0gbG9va3VwW2Jhc2U2NC5jaGFyQ29kZUF0KGkrMildO1xuICAgICAgZW5jb2RlZDQgPSBsb29rdXBbYmFzZTY0LmNoYXJDb2RlQXQoaSszKV07XG5cbiAgICAgIGJ5dGVzW3ArK10gPSAoZW5jb2RlZDEgPDwgMikgfCAoZW5jb2RlZDIgPj4gNCk7XG4gICAgICBieXRlc1twKytdID0gKChlbmNvZGVkMiAmIDE1KSA8PCA0KSB8IChlbmNvZGVkMyA+PiAyKTtcbiAgICAgIGJ5dGVzW3ArK10gPSAoKGVuY29kZWQzICYgMykgPDwgNikgfCAoZW5jb2RlZDQgJiA2Myk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFycmF5YnVmZmVyO1xuICB9O1xufSkoKTtcbiIsIlxyXG4vKipcclxuICogRXhwb3NlIGBFbWl0dGVyYC5cclxuICovXHJcblxyXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICBtb2R1bGUuZXhwb3J0cyA9IEVtaXR0ZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBJbml0aWFsaXplIGEgbmV3IGBFbWl0dGVyYC5cclxuICpcclxuICogQGFwaSBwdWJsaWNcclxuICovXHJcblxyXG5mdW5jdGlvbiBFbWl0dGVyKG9iaikge1xyXG4gIGlmIChvYmopIHJldHVybiBtaXhpbihvYmopO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIE1peGluIHRoZSBlbWl0dGVyIHByb3BlcnRpZXMuXHJcbiAqXHJcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmpcclxuICogQHJldHVybiB7T2JqZWN0fVxyXG4gKiBAYXBpIHByaXZhdGVcclxuICovXHJcblxyXG5mdW5jdGlvbiBtaXhpbihvYmopIHtcclxuICBmb3IgKHZhciBrZXkgaW4gRW1pdHRlci5wcm90b3R5cGUpIHtcclxuICAgIG9ialtrZXldID0gRW1pdHRlci5wcm90b3R5cGVba2V5XTtcclxuICB9XHJcbiAgcmV0dXJuIG9iajtcclxufVxyXG5cclxuLyoqXHJcbiAqIExpc3RlbiBvbiB0aGUgZ2l2ZW4gYGV2ZW50YCB3aXRoIGBmbmAuXHJcbiAqXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSBldmVudFxyXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmblxyXG4gKiBAcmV0dXJuIHtFbWl0dGVyfVxyXG4gKiBAYXBpIHB1YmxpY1xyXG4gKi9cclxuXHJcbkVtaXR0ZXIucHJvdG90eXBlLm9uID1cclxuRW1pdHRlci5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lciA9IGZ1bmN0aW9uKGV2ZW50LCBmbil7XHJcbiAgdGhpcy5fY2FsbGJhY2tzID0gdGhpcy5fY2FsbGJhY2tzIHx8IHt9O1xyXG4gICh0aGlzLl9jYWxsYmFja3NbJyQnICsgZXZlbnRdID0gdGhpcy5fY2FsbGJhY2tzWyckJyArIGV2ZW50XSB8fCBbXSlcclxuICAgIC5wdXNoKGZuKTtcclxuICByZXR1cm4gdGhpcztcclxufTtcclxuXHJcbi8qKlxyXG4gKiBBZGRzIGFuIGBldmVudGAgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgYSBzaW5nbGVcclxuICogdGltZSB0aGVuIGF1dG9tYXRpY2FsbHkgcmVtb3ZlZC5cclxuICpcclxuICogQHBhcmFtIHtTdHJpbmd9IGV2ZW50XHJcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZuXHJcbiAqIEByZXR1cm4ge0VtaXR0ZXJ9XHJcbiAqIEBhcGkgcHVibGljXHJcbiAqL1xyXG5cclxuRW1pdHRlci5wcm90b3R5cGUub25jZSA9IGZ1bmN0aW9uKGV2ZW50LCBmbil7XHJcbiAgZnVuY3Rpb24gb24oKSB7XHJcbiAgICB0aGlzLm9mZihldmVudCwgb24pO1xyXG4gICAgZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxuICB9XHJcblxyXG4gIG9uLmZuID0gZm47XHJcbiAgdGhpcy5vbihldmVudCwgb24pO1xyXG4gIHJldHVybiB0aGlzO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgZ2l2ZW4gY2FsbGJhY2sgZm9yIGBldmVudGAgb3IgYWxsXHJcbiAqIHJlZ2lzdGVyZWQgY2FsbGJhY2tzLlxyXG4gKlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gZXZlbnRcclxuICogQHBhcmFtIHtGdW5jdGlvbn0gZm5cclxuICogQHJldHVybiB7RW1pdHRlcn1cclxuICogQGFwaSBwdWJsaWNcclxuICovXHJcblxyXG5FbWl0dGVyLnByb3RvdHlwZS5vZmYgPVxyXG5FbWl0dGVyLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lciA9XHJcbkVtaXR0ZXIucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycyA9XHJcbkVtaXR0ZXIucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXIgPSBmdW5jdGlvbihldmVudCwgZm4pe1xyXG4gIHRoaXMuX2NhbGxiYWNrcyA9IHRoaXMuX2NhbGxiYWNrcyB8fCB7fTtcclxuXHJcbiAgLy8gYWxsXHJcbiAgaWYgKDAgPT0gYXJndW1lbnRzLmxlbmd0aCkge1xyXG4gICAgdGhpcy5fY2FsbGJhY2tzID0ge307XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8vIHNwZWNpZmljIGV2ZW50XHJcbiAgdmFyIGNhbGxiYWNrcyA9IHRoaXMuX2NhbGxiYWNrc1snJCcgKyBldmVudF07XHJcbiAgaWYgKCFjYWxsYmFja3MpIHJldHVybiB0aGlzO1xyXG5cclxuICAvLyByZW1vdmUgYWxsIGhhbmRsZXJzXHJcbiAgaWYgKDEgPT0gYXJndW1lbnRzLmxlbmd0aCkge1xyXG4gICAgZGVsZXRlIHRoaXMuX2NhbGxiYWNrc1snJCcgKyBldmVudF07XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8vIHJlbW92ZSBzcGVjaWZpYyBoYW5kbGVyXHJcbiAgdmFyIGNiO1xyXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgY2FsbGJhY2tzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBjYiA9IGNhbGxiYWNrc1tpXTtcclxuICAgIGlmIChjYiA9PT0gZm4gfHwgY2IuZm4gPT09IGZuKSB7XHJcbiAgICAgIGNhbGxiYWNrcy5zcGxpY2UoaSwgMSk7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuICByZXR1cm4gdGhpcztcclxufTtcclxuXHJcbi8qKlxyXG4gKiBFbWl0IGBldmVudGAgd2l0aCB0aGUgZ2l2ZW4gYXJncy5cclxuICpcclxuICogQHBhcmFtIHtTdHJpbmd9IGV2ZW50XHJcbiAqIEBwYXJhbSB7TWl4ZWR9IC4uLlxyXG4gKiBAcmV0dXJuIHtFbWl0dGVyfVxyXG4gKi9cclxuXHJcbkVtaXR0ZXIucHJvdG90eXBlLmVtaXQgPSBmdW5jdGlvbihldmVudCl7XHJcbiAgdGhpcy5fY2FsbGJhY2tzID0gdGhpcy5fY2FsbGJhY2tzIHx8IHt9O1xyXG4gIHZhciBhcmdzID0gW10uc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpXHJcbiAgICAsIGNhbGxiYWNrcyA9IHRoaXMuX2NhbGxiYWNrc1snJCcgKyBldmVudF07XHJcblxyXG4gIGlmIChjYWxsYmFja3MpIHtcclxuICAgIGNhbGxiYWNrcyA9IGNhbGxiYWNrcy5zbGljZSgwKTtcclxuICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBjYWxsYmFja3MubGVuZ3RoOyBpIDwgbGVuOyArK2kpIHtcclxuICAgICAgY2FsbGJhY2tzW2ldLmFwcGx5KHRoaXMsIGFyZ3MpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHRoaXM7XHJcbn07XHJcblxyXG4vKipcclxuICogUmV0dXJuIGFycmF5IG9mIGNhbGxiYWNrcyBmb3IgYGV2ZW50YC5cclxuICpcclxuICogQHBhcmFtIHtTdHJpbmd9IGV2ZW50XHJcbiAqIEByZXR1cm4ge0FycmF5fVxyXG4gKiBAYXBpIHB1YmxpY1xyXG4gKi9cclxuXHJcbkVtaXR0ZXIucHJvdG90eXBlLmxpc3RlbmVycyA9IGZ1bmN0aW9uKGV2ZW50KXtcclxuICB0aGlzLl9jYWxsYmFja3MgPSB0aGlzLl9jYWxsYmFja3MgfHwge307XHJcbiAgcmV0dXJuIHRoaXMuX2NhbGxiYWNrc1snJCcgKyBldmVudF0gfHwgW107XHJcbn07XHJcblxyXG4vKipcclxuICogQ2hlY2sgaWYgdGhpcyBlbWl0dGVyIGhhcyBgZXZlbnRgIGhhbmRsZXJzLlxyXG4gKlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gZXZlbnRcclxuICogQHJldHVybiB7Qm9vbGVhbn1cclxuICogQGFwaSBwdWJsaWNcclxuICovXHJcblxyXG5FbWl0dGVyLnByb3RvdHlwZS5oYXNMaXN0ZW5lcnMgPSBmdW5jdGlvbihldmVudCl7XHJcbiAgcmV0dXJuICEhIHRoaXMubGlzdGVuZXJzKGV2ZW50KS5sZW5ndGg7XHJcbn07XHJcbiIsIi8qKlxuICogVGhpcyBpcyB0aGUgd2ViIGJyb3dzZXIgaW1wbGVtZW50YXRpb24gb2YgYGRlYnVnKClgLlxuICpcbiAqIEV4cG9zZSBgZGVidWcoKWAgYXMgdGhlIG1vZHVsZS5cbiAqL1xuXG5leHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2RlYnVnJyk7XG5leHBvcnRzLmxvZyA9IGxvZztcbmV4cG9ydHMuZm9ybWF0QXJncyA9IGZvcm1hdEFyZ3M7XG5leHBvcnRzLnNhdmUgPSBzYXZlO1xuZXhwb3J0cy5sb2FkID0gbG9hZDtcbmV4cG9ydHMudXNlQ29sb3JzID0gdXNlQ29sb3JzO1xuZXhwb3J0cy5zdG9yYWdlID0gJ3VuZGVmaW5lZCcgIT0gdHlwZW9mIGNocm9tZVxuICAgICAgICAgICAgICAgJiYgJ3VuZGVmaW5lZCcgIT0gdHlwZW9mIGNocm9tZS5zdG9yYWdlXG4gICAgICAgICAgICAgICAgICA/IGNocm9tZS5zdG9yYWdlLmxvY2FsXG4gICAgICAgICAgICAgICAgICA6IGxvY2Fsc3RvcmFnZSgpO1xuXG4vKipcbiAqIENvbG9ycy5cbiAqL1xuXG5leHBvcnRzLmNvbG9ycyA9IFtcbiAgJyMwMDAwQ0MnLCAnIzAwMDBGRicsICcjMDAzM0NDJywgJyMwMDMzRkYnLCAnIzAwNjZDQycsICcjMDA2NkZGJywgJyMwMDk5Q0MnLFxuICAnIzAwOTlGRicsICcjMDBDQzAwJywgJyMwMENDMzMnLCAnIzAwQ0M2NicsICcjMDBDQzk5JywgJyMwMENDQ0MnLCAnIzAwQ0NGRicsXG4gICcjMzMwMENDJywgJyMzMzAwRkYnLCAnIzMzMzNDQycsICcjMzMzM0ZGJywgJyMzMzY2Q0MnLCAnIzMzNjZGRicsICcjMzM5OUNDJyxcbiAgJyMzMzk5RkYnLCAnIzMzQ0MwMCcsICcjMzNDQzMzJywgJyMzM0NDNjYnLCAnIzMzQ0M5OScsICcjMzNDQ0NDJywgJyMzM0NDRkYnLFxuICAnIzY2MDBDQycsICcjNjYwMEZGJywgJyM2NjMzQ0MnLCAnIzY2MzNGRicsICcjNjZDQzAwJywgJyM2NkNDMzMnLCAnIzk5MDBDQycsXG4gICcjOTkwMEZGJywgJyM5OTMzQ0MnLCAnIzk5MzNGRicsICcjOTlDQzAwJywgJyM5OUNDMzMnLCAnI0NDMDAwMCcsICcjQ0MwMDMzJyxcbiAgJyNDQzAwNjYnLCAnI0NDMDA5OScsICcjQ0MwMENDJywgJyNDQzAwRkYnLCAnI0NDMzMwMCcsICcjQ0MzMzMzJywgJyNDQzMzNjYnLFxuICAnI0NDMzM5OScsICcjQ0MzM0NDJywgJyNDQzMzRkYnLCAnI0NDNjYwMCcsICcjQ0M2NjMzJywgJyNDQzk5MDAnLCAnI0NDOTkzMycsXG4gICcjQ0NDQzAwJywgJyNDQ0NDMzMnLCAnI0ZGMDAwMCcsICcjRkYwMDMzJywgJyNGRjAwNjYnLCAnI0ZGMDA5OScsICcjRkYwMENDJyxcbiAgJyNGRjAwRkYnLCAnI0ZGMzMwMCcsICcjRkYzMzMzJywgJyNGRjMzNjYnLCAnI0ZGMzM5OScsICcjRkYzM0NDJywgJyNGRjMzRkYnLFxuICAnI0ZGNjYwMCcsICcjRkY2NjMzJywgJyNGRjk5MDAnLCAnI0ZGOTkzMycsICcjRkZDQzAwJywgJyNGRkNDMzMnXG5dO1xuXG4vKipcbiAqIEN1cnJlbnRseSBvbmx5IFdlYktpdC1iYXNlZCBXZWIgSW5zcGVjdG9ycywgRmlyZWZveCA+PSB2MzEsXG4gKiBhbmQgdGhlIEZpcmVidWcgZXh0ZW5zaW9uIChhbnkgRmlyZWZveCB2ZXJzaW9uKSBhcmUga25vd25cbiAqIHRvIHN1cHBvcnQgXCIlY1wiIENTUyBjdXN0b21pemF0aW9ucy5cbiAqXG4gKiBUT0RPOiBhZGQgYSBgbG9jYWxTdG9yYWdlYCB2YXJpYWJsZSB0byBleHBsaWNpdGx5IGVuYWJsZS9kaXNhYmxlIGNvbG9yc1xuICovXG5cbmZ1bmN0aW9uIHVzZUNvbG9ycygpIHtcbiAgLy8gTkI6IEluIGFuIEVsZWN0cm9uIHByZWxvYWQgc2NyaXB0LCBkb2N1bWVudCB3aWxsIGJlIGRlZmluZWQgYnV0IG5vdCBmdWxseVxuICAvLyBpbml0aWFsaXplZC4gU2luY2Ugd2Uga25vdyB3ZSdyZSBpbiBDaHJvbWUsIHdlJ2xsIGp1c3QgZGV0ZWN0IHRoaXMgY2FzZVxuICAvLyBleHBsaWNpdGx5XG4gIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cucHJvY2VzcyAmJiB3aW5kb3cucHJvY2Vzcy50eXBlID09PSAncmVuZGVyZXInKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBJbnRlcm5ldCBFeHBsb3JlciBhbmQgRWRnZSBkbyBub3Qgc3VwcG9ydCBjb2xvcnMuXG4gIGlmICh0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiBuYXZpZ2F0b3IudXNlckFnZW50ICYmIG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKGVkZ2V8dHJpZGVudClcXC8oXFxkKykvKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8vIGlzIHdlYmtpdD8gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTY0NTk2MDYvMzc2NzczXG4gIC8vIGRvY3VtZW50IGlzIHVuZGVmaW5lZCBpbiByZWFjdC1uYXRpdmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC1uYXRpdmUvcHVsbC8xNjMyXG4gIHJldHVybiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5XZWJraXRBcHBlYXJhbmNlKSB8fFxuICAgIC8vIGlzIGZpcmVidWc/IGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzM5ODEyMC8zNzY3NzNcbiAgICAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LmNvbnNvbGUgJiYgKHdpbmRvdy5jb25zb2xlLmZpcmVidWcgfHwgKHdpbmRvdy5jb25zb2xlLmV4Y2VwdGlvbiAmJiB3aW5kb3cuY29uc29sZS50YWJsZSkpKSB8fFxuICAgIC8vIGlzIGZpcmVmb3ggPj0gdjMxP1xuICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvVG9vbHMvV2ViX0NvbnNvbGUjU3R5bGluZ19tZXNzYWdlc1xuICAgICh0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiBuYXZpZ2F0b3IudXNlckFnZW50ICYmIG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5tYXRjaCgvZmlyZWZveFxcLyhcXGQrKS8pICYmIHBhcnNlSW50KFJlZ0V4cC4kMSwgMTApID49IDMxKSB8fFxuICAgIC8vIGRvdWJsZSBjaGVjayB3ZWJraXQgaW4gdXNlckFnZW50IGp1c3QgaW4gY2FzZSB3ZSBhcmUgaW4gYSB3b3JrZXJcbiAgICAodHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudCAmJiBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goL2FwcGxld2Via2l0XFwvKFxcZCspLykpO1xufVxuXG4vKipcbiAqIE1hcCAlaiB0byBgSlNPTi5zdHJpbmdpZnkoKWAsIHNpbmNlIG5vIFdlYiBJbnNwZWN0b3JzIGRvIHRoYXQgYnkgZGVmYXVsdC5cbiAqL1xuXG5leHBvcnRzLmZvcm1hdHRlcnMuaiA9IGZ1bmN0aW9uKHYpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodik7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIHJldHVybiAnW1VuZXhwZWN0ZWRKU09OUGFyc2VFcnJvcl06ICcgKyBlcnIubWVzc2FnZTtcbiAgfVxufTtcblxuXG4vKipcbiAqIENvbG9yaXplIGxvZyBhcmd1bWVudHMgaWYgZW5hYmxlZC5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIGZvcm1hdEFyZ3MoYXJncykge1xuICB2YXIgdXNlQ29sb3JzID0gdGhpcy51c2VDb2xvcnM7XG5cbiAgYXJnc1swXSA9ICh1c2VDb2xvcnMgPyAnJWMnIDogJycpXG4gICAgKyB0aGlzLm5hbWVzcGFjZVxuICAgICsgKHVzZUNvbG9ycyA/ICcgJWMnIDogJyAnKVxuICAgICsgYXJnc1swXVxuICAgICsgKHVzZUNvbG9ycyA/ICclYyAnIDogJyAnKVxuICAgICsgJysnICsgZXhwb3J0cy5odW1hbml6ZSh0aGlzLmRpZmYpO1xuXG4gIGlmICghdXNlQ29sb3JzKSByZXR1cm47XG5cbiAgdmFyIGMgPSAnY29sb3I6ICcgKyB0aGlzLmNvbG9yO1xuICBhcmdzLnNwbGljZSgxLCAwLCBjLCAnY29sb3I6IGluaGVyaXQnKVxuXG4gIC8vIHRoZSBmaW5hbCBcIiVjXCIgaXMgc29tZXdoYXQgdHJpY2t5LCBiZWNhdXNlIHRoZXJlIGNvdWxkIGJlIG90aGVyXG4gIC8vIGFyZ3VtZW50cyBwYXNzZWQgZWl0aGVyIGJlZm9yZSBvciBhZnRlciB0aGUgJWMsIHNvIHdlIG5lZWQgdG9cbiAgLy8gZmlndXJlIG91dCB0aGUgY29ycmVjdCBpbmRleCB0byBpbnNlcnQgdGhlIENTUyBpbnRvXG4gIHZhciBpbmRleCA9IDA7XG4gIHZhciBsYXN0QyA9IDA7XG4gIGFyZ3NbMF0ucmVwbGFjZSgvJVthLXpBLVolXS9nLCBmdW5jdGlvbihtYXRjaCkge1xuICAgIGlmICgnJSUnID09PSBtYXRjaCkgcmV0dXJuO1xuICAgIGluZGV4Kys7XG4gICAgaWYgKCclYycgPT09IG1hdGNoKSB7XG4gICAgICAvLyB3ZSBvbmx5IGFyZSBpbnRlcmVzdGVkIGluIHRoZSAqbGFzdCogJWNcbiAgICAgIC8vICh0aGUgdXNlciBtYXkgaGF2ZSBwcm92aWRlZCB0aGVpciBvd24pXG4gICAgICBsYXN0QyA9IGluZGV4O1xuICAgIH1cbiAgfSk7XG5cbiAgYXJncy5zcGxpY2UobGFzdEMsIDAsIGMpO1xufVxuXG4vKipcbiAqIEludm9rZXMgYGNvbnNvbGUubG9nKClgIHdoZW4gYXZhaWxhYmxlLlxuICogTm8tb3Agd2hlbiBgY29uc29sZS5sb2dgIGlzIG5vdCBhIFwiZnVuY3Rpb25cIi5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIGxvZygpIHtcbiAgLy8gdGhpcyBoYWNrZXJ5IGlzIHJlcXVpcmVkIGZvciBJRTgvOSwgd2hlcmVcbiAgLy8gdGhlIGBjb25zb2xlLmxvZ2AgZnVuY3Rpb24gZG9lc24ndCBoYXZlICdhcHBseSdcbiAgcmV0dXJuICdvYmplY3QnID09PSB0eXBlb2YgY29uc29sZVxuICAgICYmIGNvbnNvbGUubG9nXG4gICAgJiYgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZS5sb2csIGNvbnNvbGUsIGFyZ3VtZW50cyk7XG59XG5cbi8qKlxuICogU2F2ZSBgbmFtZXNwYWNlc2AuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IG5hbWVzcGFjZXNcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIHNhdmUobmFtZXNwYWNlcykge1xuICB0cnkge1xuICAgIGlmIChudWxsID09IG5hbWVzcGFjZXMpIHtcbiAgICAgIGV4cG9ydHMuc3RvcmFnZS5yZW1vdmVJdGVtKCdkZWJ1ZycpO1xuICAgIH0gZWxzZSB7XG4gICAgICBleHBvcnRzLnN0b3JhZ2UuZGVidWcgPSBuYW1lc3BhY2VzO1xuICAgIH1cbiAgfSBjYXRjaChlKSB7fVxufVxuXG4vKipcbiAqIExvYWQgYG5hbWVzcGFjZXNgLlxuICpcbiAqIEByZXR1cm4ge1N0cmluZ30gcmV0dXJucyB0aGUgcHJldmlvdXNseSBwZXJzaXN0ZWQgZGVidWcgbW9kZXNcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIGxvYWQoKSB7XG4gIHZhciByO1xuICB0cnkge1xuICAgIHIgPSBleHBvcnRzLnN0b3JhZ2UuZGVidWc7XG4gIH0gY2F0Y2goZSkge31cblxuICAvLyBJZiBkZWJ1ZyBpc24ndCBzZXQgaW4gTFMsIGFuZCB3ZSdyZSBpbiBFbGVjdHJvbiwgdHJ5IHRvIGxvYWQgJERFQlVHXG4gIGlmICghciAmJiB0eXBlb2YgcHJvY2VzcyAhPT0gJ3VuZGVmaW5lZCcgJiYgJ2VudicgaW4gcHJvY2Vzcykge1xuICAgIHIgPSBwcm9jZXNzLmVudi5ERUJVRztcbiAgfVxuXG4gIHJldHVybiByO1xufVxuXG4vKipcbiAqIEVuYWJsZSBuYW1lc3BhY2VzIGxpc3RlZCBpbiBgbG9jYWxTdG9yYWdlLmRlYnVnYCBpbml0aWFsbHkuXG4gKi9cblxuZXhwb3J0cy5lbmFibGUobG9hZCgpKTtcblxuLyoqXG4gKiBMb2NhbHN0b3JhZ2UgYXR0ZW1wdHMgdG8gcmV0dXJuIHRoZSBsb2NhbHN0b3JhZ2UuXG4gKlxuICogVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBzYWZhcmkgdGhyb3dzXG4gKiB3aGVuIGEgdXNlciBkaXNhYmxlcyBjb29raWVzL2xvY2Fsc3RvcmFnZVxuICogYW5kIHlvdSBhdHRlbXB0IHRvIGFjY2VzcyBpdC5cbiAqXG4gKiBAcmV0dXJuIHtMb2NhbFN0b3JhZ2V9XG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBsb2NhbHN0b3JhZ2UoKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHdpbmRvdy5sb2NhbFN0b3JhZ2U7XG4gIH0gY2F0Y2ggKGUpIHt9XG59XG4iLCJcbi8qKlxuICogVGhpcyBpcyB0aGUgY29tbW9uIGxvZ2ljIGZvciBib3RoIHRoZSBOb2RlLmpzIGFuZCB3ZWIgYnJvd3NlclxuICogaW1wbGVtZW50YXRpb25zIG9mIGBkZWJ1ZygpYC5cbiAqXG4gKiBFeHBvc2UgYGRlYnVnKClgIGFzIHRoZSBtb2R1bGUuXG4gKi9cblxuZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gY3JlYXRlRGVidWcuZGVidWcgPSBjcmVhdGVEZWJ1Z1snZGVmYXVsdCddID0gY3JlYXRlRGVidWc7XG5leHBvcnRzLmNvZXJjZSA9IGNvZXJjZTtcbmV4cG9ydHMuZGlzYWJsZSA9IGRpc2FibGU7XG5leHBvcnRzLmVuYWJsZSA9IGVuYWJsZTtcbmV4cG9ydHMuZW5hYmxlZCA9IGVuYWJsZWQ7XG5leHBvcnRzLmh1bWFuaXplID0gcmVxdWlyZSgnbXMnKTtcblxuLyoqXG4gKiBBY3RpdmUgYGRlYnVnYCBpbnN0YW5jZXMuXG4gKi9cbmV4cG9ydHMuaW5zdGFuY2VzID0gW107XG5cbi8qKlxuICogVGhlIGN1cnJlbnRseSBhY3RpdmUgZGVidWcgbW9kZSBuYW1lcywgYW5kIG5hbWVzIHRvIHNraXAuXG4gKi9cblxuZXhwb3J0cy5uYW1lcyA9IFtdO1xuZXhwb3J0cy5za2lwcyA9IFtdO1xuXG4vKipcbiAqIE1hcCBvZiBzcGVjaWFsIFwiJW5cIiBoYW5kbGluZyBmdW5jdGlvbnMsIGZvciB0aGUgZGVidWcgXCJmb3JtYXRcIiBhcmd1bWVudC5cbiAqXG4gKiBWYWxpZCBrZXkgbmFtZXMgYXJlIGEgc2luZ2xlLCBsb3dlciBvciB1cHBlci1jYXNlIGxldHRlciwgaS5lLiBcIm5cIiBhbmQgXCJOXCIuXG4gKi9cblxuZXhwb3J0cy5mb3JtYXR0ZXJzID0ge307XG5cbi8qKlxuICogU2VsZWN0IGEgY29sb3IuXG4gKiBAcGFyYW0ge1N0cmluZ30gbmFtZXNwYWNlXG4gKiBAcmV0dXJuIHtOdW1iZXJ9XG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBzZWxlY3RDb2xvcihuYW1lc3BhY2UpIHtcbiAgdmFyIGhhc2ggPSAwLCBpO1xuXG4gIGZvciAoaSBpbiBuYW1lc3BhY2UpIHtcbiAgICBoYXNoICA9ICgoaGFzaCA8PCA1KSAtIGhhc2gpICsgbmFtZXNwYWNlLmNoYXJDb2RlQXQoaSk7XG4gICAgaGFzaCB8PSAwOyAvLyBDb252ZXJ0IHRvIDMyYml0IGludGVnZXJcbiAgfVxuXG4gIHJldHVybiBleHBvcnRzLmNvbG9yc1tNYXRoLmFicyhoYXNoKSAlIGV4cG9ydHMuY29sb3JzLmxlbmd0aF07XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgZGVidWdnZXIgd2l0aCB0aGUgZ2l2ZW4gYG5hbWVzcGFjZWAuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IG5hbWVzcGFjZVxuICogQHJldHVybiB7RnVuY3Rpb259XG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIGNyZWF0ZURlYnVnKG5hbWVzcGFjZSkge1xuXG4gIHZhciBwcmV2VGltZTtcblxuICBmdW5jdGlvbiBkZWJ1ZygpIHtcbiAgICAvLyBkaXNhYmxlZD9cbiAgICBpZiAoIWRlYnVnLmVuYWJsZWQpIHJldHVybjtcblxuICAgIHZhciBzZWxmID0gZGVidWc7XG5cbiAgICAvLyBzZXQgYGRpZmZgIHRpbWVzdGFtcFxuICAgIHZhciBjdXJyID0gK25ldyBEYXRlKCk7XG4gICAgdmFyIG1zID0gY3VyciAtIChwcmV2VGltZSB8fCBjdXJyKTtcbiAgICBzZWxmLmRpZmYgPSBtcztcbiAgICBzZWxmLnByZXYgPSBwcmV2VGltZTtcbiAgICBzZWxmLmN1cnIgPSBjdXJyO1xuICAgIHByZXZUaW1lID0gY3VycjtcblxuICAgIC8vIHR1cm4gdGhlIGBhcmd1bWVudHNgIGludG8gYSBwcm9wZXIgQXJyYXlcbiAgICB2YXIgYXJncyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyZ3MubGVuZ3RoOyBpKyspIHtcbiAgICAgIGFyZ3NbaV0gPSBhcmd1bWVudHNbaV07XG4gICAgfVxuXG4gICAgYXJnc1swXSA9IGV4cG9ydHMuY29lcmNlKGFyZ3NbMF0pO1xuXG4gICAgaWYgKCdzdHJpbmcnICE9PSB0eXBlb2YgYXJnc1swXSkge1xuICAgICAgLy8gYW55dGhpbmcgZWxzZSBsZXQncyBpbnNwZWN0IHdpdGggJU9cbiAgICAgIGFyZ3MudW5zaGlmdCgnJU8nKTtcbiAgICB9XG5cbiAgICAvLyBhcHBseSBhbnkgYGZvcm1hdHRlcnNgIHRyYW5zZm9ybWF0aW9uc1xuICAgIHZhciBpbmRleCA9IDA7XG4gICAgYXJnc1swXSA9IGFyZ3NbMF0ucmVwbGFjZSgvJShbYS16QS1aJV0pL2csIGZ1bmN0aW9uKG1hdGNoLCBmb3JtYXQpIHtcbiAgICAgIC8vIGlmIHdlIGVuY291bnRlciBhbiBlc2NhcGVkICUgdGhlbiBkb24ndCBpbmNyZWFzZSB0aGUgYXJyYXkgaW5kZXhcbiAgICAgIGlmIChtYXRjaCA9PT0gJyUlJykgcmV0dXJuIG1hdGNoO1xuICAgICAgaW5kZXgrKztcbiAgICAgIHZhciBmb3JtYXR0ZXIgPSBleHBvcnRzLmZvcm1hdHRlcnNbZm9ybWF0XTtcbiAgICAgIGlmICgnZnVuY3Rpb24nID09PSB0eXBlb2YgZm9ybWF0dGVyKSB7XG4gICAgICAgIHZhciB2YWwgPSBhcmdzW2luZGV4XTtcbiAgICAgICAgbWF0Y2ggPSBmb3JtYXR0ZXIuY2FsbChzZWxmLCB2YWwpO1xuXG4gICAgICAgIC8vIG5vdyB3ZSBuZWVkIHRvIHJlbW92ZSBgYXJnc1tpbmRleF1gIHNpbmNlIGl0J3MgaW5saW5lZCBpbiB0aGUgYGZvcm1hdGBcbiAgICAgICAgYXJncy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICBpbmRleC0tO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG1hdGNoO1xuICAgIH0pO1xuXG4gICAgLy8gYXBwbHkgZW52LXNwZWNpZmljIGZvcm1hdHRpbmcgKGNvbG9ycywgZXRjLilcbiAgICBleHBvcnRzLmZvcm1hdEFyZ3MuY2FsbChzZWxmLCBhcmdzKTtcblxuICAgIHZhciBsb2dGbiA9IGRlYnVnLmxvZyB8fCBleHBvcnRzLmxvZyB8fCBjb25zb2xlLmxvZy5iaW5kKGNvbnNvbGUpO1xuICAgIGxvZ0ZuLmFwcGx5KHNlbGYsIGFyZ3MpO1xuICB9XG5cbiAgZGVidWcubmFtZXNwYWNlID0gbmFtZXNwYWNlO1xuICBkZWJ1Zy5lbmFibGVkID0gZXhwb3J0cy5lbmFibGVkKG5hbWVzcGFjZSk7XG4gIGRlYnVnLnVzZUNvbG9ycyA9IGV4cG9ydHMudXNlQ29sb3JzKCk7XG4gIGRlYnVnLmNvbG9yID0gc2VsZWN0Q29sb3IobmFtZXNwYWNlKTtcbiAgZGVidWcuZGVzdHJveSA9IGRlc3Ryb3k7XG5cbiAgLy8gZW52LXNwZWNpZmljIGluaXRpYWxpemF0aW9uIGxvZ2ljIGZvciBkZWJ1ZyBpbnN0YW5jZXNcbiAgaWYgKCdmdW5jdGlvbicgPT09IHR5cGVvZiBleHBvcnRzLmluaXQpIHtcbiAgICBleHBvcnRzLmluaXQoZGVidWcpO1xuICB9XG5cbiAgZXhwb3J0cy5pbnN0YW5jZXMucHVzaChkZWJ1Zyk7XG5cbiAgcmV0dXJuIGRlYnVnO1xufVxuXG5mdW5jdGlvbiBkZXN0cm95ICgpIHtcbiAgdmFyIGluZGV4ID0gZXhwb3J0cy5pbnN0YW5jZXMuaW5kZXhPZih0aGlzKTtcbiAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgIGV4cG9ydHMuaW5zdGFuY2VzLnNwbGljZShpbmRleCwgMSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogRW5hYmxlcyBhIGRlYnVnIG1vZGUgYnkgbmFtZXNwYWNlcy4gVGhpcyBjYW4gaW5jbHVkZSBtb2Rlc1xuICogc2VwYXJhdGVkIGJ5IGEgY29sb24gYW5kIHdpbGRjYXJkcy5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gbmFtZXNwYWNlc1xuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBlbmFibGUobmFtZXNwYWNlcykge1xuICBleHBvcnRzLnNhdmUobmFtZXNwYWNlcyk7XG5cbiAgZXhwb3J0cy5uYW1lcyA9IFtdO1xuICBleHBvcnRzLnNraXBzID0gW107XG5cbiAgdmFyIGk7XG4gIHZhciBzcGxpdCA9ICh0eXBlb2YgbmFtZXNwYWNlcyA9PT0gJ3N0cmluZycgPyBuYW1lc3BhY2VzIDogJycpLnNwbGl0KC9bXFxzLF0rLyk7XG4gIHZhciBsZW4gPSBzcGxpdC5sZW5ndGg7XG5cbiAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgaWYgKCFzcGxpdFtpXSkgY29udGludWU7IC8vIGlnbm9yZSBlbXB0eSBzdHJpbmdzXG4gICAgbmFtZXNwYWNlcyA9IHNwbGl0W2ldLnJlcGxhY2UoL1xcKi9nLCAnLio/Jyk7XG4gICAgaWYgKG5hbWVzcGFjZXNbMF0gPT09ICctJykge1xuICAgICAgZXhwb3J0cy5za2lwcy5wdXNoKG5ldyBSZWdFeHAoJ14nICsgbmFtZXNwYWNlcy5zdWJzdHIoMSkgKyAnJCcpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXhwb3J0cy5uYW1lcy5wdXNoKG5ldyBSZWdFeHAoJ14nICsgbmFtZXNwYWNlcyArICckJykpO1xuICAgIH1cbiAgfVxuXG4gIGZvciAoaSA9IDA7IGkgPCBleHBvcnRzLmluc3RhbmNlcy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBpbnN0YW5jZSA9IGV4cG9ydHMuaW5zdGFuY2VzW2ldO1xuICAgIGluc3RhbmNlLmVuYWJsZWQgPSBleHBvcnRzLmVuYWJsZWQoaW5zdGFuY2UubmFtZXNwYWNlKTtcbiAgfVxufVxuXG4vKipcbiAqIERpc2FibGUgZGVidWcgb3V0cHV0LlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZnVuY3Rpb24gZGlzYWJsZSgpIHtcbiAgZXhwb3J0cy5lbmFibGUoJycpO1xufVxuXG4vKipcbiAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgZ2l2ZW4gbW9kZSBuYW1lIGlzIGVuYWJsZWQsIGZhbHNlIG90aGVyd2lzZS5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gbmFtZVxuICogQHJldHVybiB7Qm9vbGVhbn1cbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZnVuY3Rpb24gZW5hYmxlZChuYW1lKSB7XG4gIGlmIChuYW1lW25hbWUubGVuZ3RoIC0gMV0gPT09ICcqJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHZhciBpLCBsZW47XG4gIGZvciAoaSA9IDAsIGxlbiA9IGV4cG9ydHMuc2tpcHMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBpZiAoZXhwb3J0cy5za2lwc1tpXS50ZXN0KG5hbWUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIGZvciAoaSA9IDAsIGxlbiA9IGV4cG9ydHMubmFtZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBpZiAoZXhwb3J0cy5uYW1lc1tpXS50ZXN0KG5hbWUpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vKipcbiAqIENvZXJjZSBgdmFsYC5cbiAqXG4gKiBAcGFyYW0ge01peGVkfSB2YWxcbiAqIEByZXR1cm4ge01peGVkfVxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gY29lcmNlKHZhbCkge1xuICBpZiAodmFsIGluc3RhbmNlb2YgRXJyb3IpIHJldHVybiB2YWwuc3RhY2sgfHwgdmFsLm1lc3NhZ2U7XG4gIHJldHVybiB2YWw7XG59XG4iLCJcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9zb2NrZXQnKTtcblxuLyoqXG4gKiBFeHBvcnRzIHBhcnNlclxuICpcbiAqIEBhcGkgcHVibGljXG4gKlxuICovXG5tb2R1bGUuZXhwb3J0cy5wYXJzZXIgPSByZXF1aXJlKCdlbmdpbmUuaW8tcGFyc2VyJyk7XG4iLCIvKipcbiAqIE1vZHVsZSBkZXBlbmRlbmNpZXMuXG4gKi9cblxudmFyIHRyYW5zcG9ydHMgPSByZXF1aXJlKCcuL3RyYW5zcG9ydHMvaW5kZXgnKTtcbnZhciBFbWl0dGVyID0gcmVxdWlyZSgnY29tcG9uZW50LWVtaXR0ZXInKTtcbnZhciBkZWJ1ZyA9IHJlcXVpcmUoJ2RlYnVnJykoJ2VuZ2luZS5pby1jbGllbnQ6c29ja2V0Jyk7XG52YXIgaW5kZXggPSByZXF1aXJlKCdpbmRleG9mJyk7XG52YXIgcGFyc2VyID0gcmVxdWlyZSgnZW5naW5lLmlvLXBhcnNlcicpO1xudmFyIHBhcnNldXJpID0gcmVxdWlyZSgncGFyc2V1cmknKTtcbnZhciBwYXJzZXFzID0gcmVxdWlyZSgncGFyc2VxcycpO1xuXG4vKipcbiAqIE1vZHVsZSBleHBvcnRzLlxuICovXG5cbm1vZHVsZS5leHBvcnRzID0gU29ja2V0O1xuXG4vKipcbiAqIFNvY2tldCBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ3xPYmplY3R9IHVyaSBvciBvcHRpb25zXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9uc1xuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBTb2NrZXQgKHVyaSwgb3B0cykge1xuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgU29ja2V0KSkgcmV0dXJuIG5ldyBTb2NrZXQodXJpLCBvcHRzKTtcblxuICBvcHRzID0gb3B0cyB8fCB7fTtcblxuICBpZiAodXJpICYmICdvYmplY3QnID09PSB0eXBlb2YgdXJpKSB7XG4gICAgb3B0cyA9IHVyaTtcbiAgICB1cmkgPSBudWxsO1xuICB9XG5cbiAgaWYgKHVyaSkge1xuICAgIHVyaSA9IHBhcnNldXJpKHVyaSk7XG4gICAgb3B0cy5ob3N0bmFtZSA9IHVyaS5ob3N0O1xuICAgIG9wdHMuc2VjdXJlID0gdXJpLnByb3RvY29sID09PSAnaHR0cHMnIHx8IHVyaS5wcm90b2NvbCA9PT0gJ3dzcyc7XG4gICAgb3B0cy5wb3J0ID0gdXJpLnBvcnQ7XG4gICAgaWYgKHVyaS5xdWVyeSkgb3B0cy5xdWVyeSA9IHVyaS5xdWVyeTtcbiAgfSBlbHNlIGlmIChvcHRzLmhvc3QpIHtcbiAgICBvcHRzLmhvc3RuYW1lID0gcGFyc2V1cmkob3B0cy5ob3N0KS5ob3N0O1xuICB9XG5cbiAgdGhpcy5zZWN1cmUgPSBudWxsICE9IG9wdHMuc2VjdXJlID8gb3B0cy5zZWN1cmVcbiAgICA6ICh0eXBlb2YgbG9jYXRpb24gIT09ICd1bmRlZmluZWQnICYmICdodHRwczonID09PSBsb2NhdGlvbi5wcm90b2NvbCk7XG5cbiAgaWYgKG9wdHMuaG9zdG5hbWUgJiYgIW9wdHMucG9ydCkge1xuICAgIC8vIGlmIG5vIHBvcnQgaXMgc3BlY2lmaWVkIG1hbnVhbGx5LCB1c2UgdGhlIHByb3RvY29sIGRlZmF1bHRcbiAgICBvcHRzLnBvcnQgPSB0aGlzLnNlY3VyZSA/ICc0NDMnIDogJzgwJztcbiAgfVxuXG4gIHRoaXMuYWdlbnQgPSBvcHRzLmFnZW50IHx8IGZhbHNlO1xuICB0aGlzLmhvc3RuYW1lID0gb3B0cy5ob3N0bmFtZSB8fFxuICAgICh0eXBlb2YgbG9jYXRpb24gIT09ICd1bmRlZmluZWQnID8gbG9jYXRpb24uaG9zdG5hbWUgOiAnbG9jYWxob3N0Jyk7XG4gIHRoaXMucG9ydCA9IG9wdHMucG9ydCB8fCAodHlwZW9mIGxvY2F0aW9uICE9PSAndW5kZWZpbmVkJyAmJiBsb2NhdGlvbi5wb3J0XG4gICAgICA/IGxvY2F0aW9uLnBvcnRcbiAgICAgIDogKHRoaXMuc2VjdXJlID8gNDQzIDogODApKTtcbiAgdGhpcy5xdWVyeSA9IG9wdHMucXVlcnkgfHwge307XG4gIGlmICgnc3RyaW5nJyA9PT0gdHlwZW9mIHRoaXMucXVlcnkpIHRoaXMucXVlcnkgPSBwYXJzZXFzLmRlY29kZSh0aGlzLnF1ZXJ5KTtcbiAgdGhpcy51cGdyYWRlID0gZmFsc2UgIT09IG9wdHMudXBncmFkZTtcbiAgdGhpcy5wYXRoID0gKG9wdHMucGF0aCB8fCAnL2VuZ2luZS5pbycpLnJlcGxhY2UoL1xcLyQvLCAnJykgKyAnLyc7XG4gIHRoaXMuZm9yY2VKU09OUCA9ICEhb3B0cy5mb3JjZUpTT05QO1xuICB0aGlzLmpzb25wID0gZmFsc2UgIT09IG9wdHMuanNvbnA7XG4gIHRoaXMuZm9yY2VCYXNlNjQgPSAhIW9wdHMuZm9yY2VCYXNlNjQ7XG4gIHRoaXMuZW5hYmxlc1hEUiA9ICEhb3B0cy5lbmFibGVzWERSO1xuICB0aGlzLnRpbWVzdGFtcFBhcmFtID0gb3B0cy50aW1lc3RhbXBQYXJhbSB8fCAndCc7XG4gIHRoaXMudGltZXN0YW1wUmVxdWVzdHMgPSBvcHRzLnRpbWVzdGFtcFJlcXVlc3RzO1xuICB0aGlzLnRyYW5zcG9ydHMgPSBvcHRzLnRyYW5zcG9ydHMgfHwgWydwb2xsaW5nJywgJ3dlYnNvY2tldCddO1xuICB0aGlzLnRyYW5zcG9ydE9wdGlvbnMgPSBvcHRzLnRyYW5zcG9ydE9wdGlvbnMgfHwge307XG4gIHRoaXMucmVhZHlTdGF0ZSA9ICcnO1xuICB0aGlzLndyaXRlQnVmZmVyID0gW107XG4gIHRoaXMucHJldkJ1ZmZlckxlbiA9IDA7XG4gIHRoaXMucG9saWN5UG9ydCA9IG9wdHMucG9saWN5UG9ydCB8fCA4NDM7XG4gIHRoaXMucmVtZW1iZXJVcGdyYWRlID0gb3B0cy5yZW1lbWJlclVwZ3JhZGUgfHwgZmFsc2U7XG4gIHRoaXMuYmluYXJ5VHlwZSA9IG51bGw7XG4gIHRoaXMub25seUJpbmFyeVVwZ3JhZGVzID0gb3B0cy5vbmx5QmluYXJ5VXBncmFkZXM7XG4gIHRoaXMucGVyTWVzc2FnZURlZmxhdGUgPSBmYWxzZSAhPT0gb3B0cy5wZXJNZXNzYWdlRGVmbGF0ZSA/IChvcHRzLnBlck1lc3NhZ2VEZWZsYXRlIHx8IHt9KSA6IGZhbHNlO1xuXG4gIGlmICh0cnVlID09PSB0aGlzLnBlck1lc3NhZ2VEZWZsYXRlKSB0aGlzLnBlck1lc3NhZ2VEZWZsYXRlID0ge307XG4gIGlmICh0aGlzLnBlck1lc3NhZ2VEZWZsYXRlICYmIG51bGwgPT0gdGhpcy5wZXJNZXNzYWdlRGVmbGF0ZS50aHJlc2hvbGQpIHtcbiAgICB0aGlzLnBlck1lc3NhZ2VEZWZsYXRlLnRocmVzaG9sZCA9IDEwMjQ7XG4gIH1cblxuICAvLyBTU0wgb3B0aW9ucyBmb3IgTm9kZS5qcyBjbGllbnRcbiAgdGhpcy5wZnggPSBvcHRzLnBmeCB8fCBudWxsO1xuICB0aGlzLmtleSA9IG9wdHMua2V5IHx8IG51bGw7XG4gIHRoaXMucGFzc3BocmFzZSA9IG9wdHMucGFzc3BocmFzZSB8fCBudWxsO1xuICB0aGlzLmNlcnQgPSBvcHRzLmNlcnQgfHwgbnVsbDtcbiAgdGhpcy5jYSA9IG9wdHMuY2EgfHwgbnVsbDtcbiAgdGhpcy5jaXBoZXJzID0gb3B0cy5jaXBoZXJzIHx8IG51bGw7XG4gIHRoaXMucmVqZWN0VW5hdXRob3JpemVkID0gb3B0cy5yZWplY3RVbmF1dGhvcml6ZWQgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBvcHRzLnJlamVjdFVuYXV0aG9yaXplZDtcbiAgdGhpcy5mb3JjZU5vZGUgPSAhIW9wdHMuZm9yY2VOb2RlO1xuXG4gIC8vIGRldGVjdCBSZWFjdE5hdGl2ZSBlbnZpcm9ubWVudFxuICB0aGlzLmlzUmVhY3ROYXRpdmUgPSAodHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIG5hdmlnYXRvci5wcm9kdWN0ID09PSAnc3RyaW5nJyAmJiBuYXZpZ2F0b3IucHJvZHVjdC50b0xvd2VyQ2FzZSgpID09PSAncmVhY3RuYXRpdmUnKTtcblxuICAvLyBvdGhlciBvcHRpb25zIGZvciBOb2RlLmpzIG9yIFJlYWN0TmF0aXZlIGNsaWVudFxuICBpZiAodHlwZW9mIHNlbGYgPT09ICd1bmRlZmluZWQnIHx8IHRoaXMuaXNSZWFjdE5hdGl2ZSkge1xuICAgIGlmIChvcHRzLmV4dHJhSGVhZGVycyAmJiBPYmplY3Qua2V5cyhvcHRzLmV4dHJhSGVhZGVycykubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5leHRyYUhlYWRlcnMgPSBvcHRzLmV4dHJhSGVhZGVycztcbiAgICB9XG5cbiAgICBpZiAob3B0cy5sb2NhbEFkZHJlc3MpIHtcbiAgICAgIHRoaXMubG9jYWxBZGRyZXNzID0gb3B0cy5sb2NhbEFkZHJlc3M7XG4gICAgfVxuICB9XG5cbiAgLy8gc2V0IG9uIGhhbmRzaGFrZVxuICB0aGlzLmlkID0gbnVsbDtcbiAgdGhpcy51cGdyYWRlcyA9IG51bGw7XG4gIHRoaXMucGluZ0ludGVydmFsID0gbnVsbDtcbiAgdGhpcy5waW5nVGltZW91dCA9IG51bGw7XG5cbiAgLy8gc2V0IG9uIGhlYXJ0YmVhdFxuICB0aGlzLnBpbmdJbnRlcnZhbFRpbWVyID0gbnVsbDtcbiAgdGhpcy5waW5nVGltZW91dFRpbWVyID0gbnVsbDtcblxuICB0aGlzLm9wZW4oKTtcbn1cblxuU29ja2V0LnByaW9yV2Vic29ja2V0U3VjY2VzcyA9IGZhbHNlO1xuXG4vKipcbiAqIE1peCBpbiBgRW1pdHRlcmAuXG4gKi9cblxuRW1pdHRlcihTb2NrZXQucHJvdG90eXBlKTtcblxuLyoqXG4gKiBQcm90b2NvbCB2ZXJzaW9uLlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuU29ja2V0LnByb3RvY29sID0gcGFyc2VyLnByb3RvY29sOyAvLyB0aGlzIGlzIGFuIGludFxuXG4vKipcbiAqIEV4cG9zZSBkZXBzIGZvciBsZWdhY3kgY29tcGF0aWJpbGl0eVxuICogYW5kIHN0YW5kYWxvbmUgYnJvd3NlciBhY2Nlc3MuXG4gKi9cblxuU29ja2V0LlNvY2tldCA9IFNvY2tldDtcblNvY2tldC5UcmFuc3BvcnQgPSByZXF1aXJlKCcuL3RyYW5zcG9ydCcpO1xuU29ja2V0LnRyYW5zcG9ydHMgPSByZXF1aXJlKCcuL3RyYW5zcG9ydHMvaW5kZXgnKTtcblNvY2tldC5wYXJzZXIgPSByZXF1aXJlKCdlbmdpbmUuaW8tcGFyc2VyJyk7XG5cbi8qKlxuICogQ3JlYXRlcyB0cmFuc3BvcnQgb2YgdGhlIGdpdmVuIHR5cGUuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHRyYW5zcG9ydCBuYW1lXG4gKiBAcmV0dXJuIHtUcmFuc3BvcnR9XG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLmNyZWF0ZVRyYW5zcG9ydCA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gIGRlYnVnKCdjcmVhdGluZyB0cmFuc3BvcnQgXCIlc1wiJywgbmFtZSk7XG4gIHZhciBxdWVyeSA9IGNsb25lKHRoaXMucXVlcnkpO1xuXG4gIC8vIGFwcGVuZCBlbmdpbmUuaW8gcHJvdG9jb2wgaWRlbnRpZmllclxuICBxdWVyeS5FSU8gPSBwYXJzZXIucHJvdG9jb2w7XG5cbiAgLy8gdHJhbnNwb3J0IG5hbWVcbiAgcXVlcnkudHJhbnNwb3J0ID0gbmFtZTtcblxuICAvLyBwZXItdHJhbnNwb3J0IG9wdGlvbnNcbiAgdmFyIG9wdGlvbnMgPSB0aGlzLnRyYW5zcG9ydE9wdGlvbnNbbmFtZV0gfHwge307XG5cbiAgLy8gc2Vzc2lvbiBpZCBpZiB3ZSBhbHJlYWR5IGhhdmUgb25lXG4gIGlmICh0aGlzLmlkKSBxdWVyeS5zaWQgPSB0aGlzLmlkO1xuXG4gIHZhciB0cmFuc3BvcnQgPSBuZXcgdHJhbnNwb3J0c1tuYW1lXSh7XG4gICAgcXVlcnk6IHF1ZXJ5LFxuICAgIHNvY2tldDogdGhpcyxcbiAgICBhZ2VudDogb3B0aW9ucy5hZ2VudCB8fCB0aGlzLmFnZW50LFxuICAgIGhvc3RuYW1lOiBvcHRpb25zLmhvc3RuYW1lIHx8IHRoaXMuaG9zdG5hbWUsXG4gICAgcG9ydDogb3B0aW9ucy5wb3J0IHx8IHRoaXMucG9ydCxcbiAgICBzZWN1cmU6IG9wdGlvbnMuc2VjdXJlIHx8IHRoaXMuc2VjdXJlLFxuICAgIHBhdGg6IG9wdGlvbnMucGF0aCB8fCB0aGlzLnBhdGgsXG4gICAgZm9yY2VKU09OUDogb3B0aW9ucy5mb3JjZUpTT05QIHx8IHRoaXMuZm9yY2VKU09OUCxcbiAgICBqc29ucDogb3B0aW9ucy5qc29ucCB8fCB0aGlzLmpzb25wLFxuICAgIGZvcmNlQmFzZTY0OiBvcHRpb25zLmZvcmNlQmFzZTY0IHx8IHRoaXMuZm9yY2VCYXNlNjQsXG4gICAgZW5hYmxlc1hEUjogb3B0aW9ucy5lbmFibGVzWERSIHx8IHRoaXMuZW5hYmxlc1hEUixcbiAgICB0aW1lc3RhbXBSZXF1ZXN0czogb3B0aW9ucy50aW1lc3RhbXBSZXF1ZXN0cyB8fCB0aGlzLnRpbWVzdGFtcFJlcXVlc3RzLFxuICAgIHRpbWVzdGFtcFBhcmFtOiBvcHRpb25zLnRpbWVzdGFtcFBhcmFtIHx8IHRoaXMudGltZXN0YW1wUGFyYW0sXG4gICAgcG9saWN5UG9ydDogb3B0aW9ucy5wb2xpY3lQb3J0IHx8IHRoaXMucG9saWN5UG9ydCxcbiAgICBwZng6IG9wdGlvbnMucGZ4IHx8IHRoaXMucGZ4LFxuICAgIGtleTogb3B0aW9ucy5rZXkgfHwgdGhpcy5rZXksXG4gICAgcGFzc3BocmFzZTogb3B0aW9ucy5wYXNzcGhyYXNlIHx8IHRoaXMucGFzc3BocmFzZSxcbiAgICBjZXJ0OiBvcHRpb25zLmNlcnQgfHwgdGhpcy5jZXJ0LFxuICAgIGNhOiBvcHRpb25zLmNhIHx8IHRoaXMuY2EsXG4gICAgY2lwaGVyczogb3B0aW9ucy5jaXBoZXJzIHx8IHRoaXMuY2lwaGVycyxcbiAgICByZWplY3RVbmF1dGhvcml6ZWQ6IG9wdGlvbnMucmVqZWN0VW5hdXRob3JpemVkIHx8IHRoaXMucmVqZWN0VW5hdXRob3JpemVkLFxuICAgIHBlck1lc3NhZ2VEZWZsYXRlOiBvcHRpb25zLnBlck1lc3NhZ2VEZWZsYXRlIHx8IHRoaXMucGVyTWVzc2FnZURlZmxhdGUsXG4gICAgZXh0cmFIZWFkZXJzOiBvcHRpb25zLmV4dHJhSGVhZGVycyB8fCB0aGlzLmV4dHJhSGVhZGVycyxcbiAgICBmb3JjZU5vZGU6IG9wdGlvbnMuZm9yY2VOb2RlIHx8IHRoaXMuZm9yY2VOb2RlLFxuICAgIGxvY2FsQWRkcmVzczogb3B0aW9ucy5sb2NhbEFkZHJlc3MgfHwgdGhpcy5sb2NhbEFkZHJlc3MsXG4gICAgcmVxdWVzdFRpbWVvdXQ6IG9wdGlvbnMucmVxdWVzdFRpbWVvdXQgfHwgdGhpcy5yZXF1ZXN0VGltZW91dCxcbiAgICBwcm90b2NvbHM6IG9wdGlvbnMucHJvdG9jb2xzIHx8IHZvaWQgKDApLFxuICAgIGlzUmVhY3ROYXRpdmU6IHRoaXMuaXNSZWFjdE5hdGl2ZVxuICB9KTtcblxuICByZXR1cm4gdHJhbnNwb3J0O1xufTtcblxuZnVuY3Rpb24gY2xvbmUgKG9iaikge1xuICB2YXIgbyA9IHt9O1xuICBmb3IgKHZhciBpIGluIG9iaikge1xuICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoaSkpIHtcbiAgICAgIG9baV0gPSBvYmpbaV07XG4gICAgfVxuICB9XG4gIHJldHVybiBvO1xufVxuXG4vKipcbiAqIEluaXRpYWxpemVzIHRyYW5zcG9ydCB0byB1c2UgYW5kIHN0YXJ0cyBwcm9iZS5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuU29ja2V0LnByb3RvdHlwZS5vcGVuID0gZnVuY3Rpb24gKCkge1xuICB2YXIgdHJhbnNwb3J0O1xuICBpZiAodGhpcy5yZW1lbWJlclVwZ3JhZGUgJiYgU29ja2V0LnByaW9yV2Vic29ja2V0U3VjY2VzcyAmJiB0aGlzLnRyYW5zcG9ydHMuaW5kZXhPZignd2Vic29ja2V0JykgIT09IC0xKSB7XG4gICAgdHJhbnNwb3J0ID0gJ3dlYnNvY2tldCc7XG4gIH0gZWxzZSBpZiAoMCA9PT0gdGhpcy50cmFuc3BvcnRzLmxlbmd0aCkge1xuICAgIC8vIEVtaXQgZXJyb3Igb24gbmV4dCB0aWNrIHNvIGl0IGNhbiBiZSBsaXN0ZW5lZCB0b1xuICAgIHZhciBzZWxmID0gdGhpcztcbiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgIHNlbGYuZW1pdCgnZXJyb3InLCAnTm8gdHJhbnNwb3J0cyBhdmFpbGFibGUnKTtcbiAgICB9LCAwKTtcbiAgICByZXR1cm47XG4gIH0gZWxzZSB7XG4gICAgdHJhbnNwb3J0ID0gdGhpcy50cmFuc3BvcnRzWzBdO1xuICB9XG4gIHRoaXMucmVhZHlTdGF0ZSA9ICdvcGVuaW5nJztcblxuICAvLyBSZXRyeSB3aXRoIHRoZSBuZXh0IHRyYW5zcG9ydCBpZiB0aGUgdHJhbnNwb3J0IGlzIGRpc2FibGVkIChqc29ucDogZmFsc2UpXG4gIHRyeSB7XG4gICAgdHJhbnNwb3J0ID0gdGhpcy5jcmVhdGVUcmFuc3BvcnQodHJhbnNwb3J0KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRoaXMudHJhbnNwb3J0cy5zaGlmdCgpO1xuICAgIHRoaXMub3BlbigpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRyYW5zcG9ydC5vcGVuKCk7XG4gIHRoaXMuc2V0VHJhbnNwb3J0KHRyYW5zcG9ydCk7XG59O1xuXG4vKipcbiAqIFNldHMgdGhlIGN1cnJlbnQgdHJhbnNwb3J0LiBEaXNhYmxlcyB0aGUgZXhpc3Rpbmcgb25lIChpZiBhbnkpLlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblNvY2tldC5wcm90b3R5cGUuc2V0VHJhbnNwb3J0ID0gZnVuY3Rpb24gKHRyYW5zcG9ydCkge1xuICBkZWJ1Zygnc2V0dGluZyB0cmFuc3BvcnQgJXMnLCB0cmFuc3BvcnQubmFtZSk7XG4gIHZhciBzZWxmID0gdGhpcztcblxuICBpZiAodGhpcy50cmFuc3BvcnQpIHtcbiAgICBkZWJ1ZygnY2xlYXJpbmcgZXhpc3RpbmcgdHJhbnNwb3J0ICVzJywgdGhpcy50cmFuc3BvcnQubmFtZSk7XG4gICAgdGhpcy50cmFuc3BvcnQucmVtb3ZlQWxsTGlzdGVuZXJzKCk7XG4gIH1cblxuICAvLyBzZXQgdXAgdHJhbnNwb3J0XG4gIHRoaXMudHJhbnNwb3J0ID0gdHJhbnNwb3J0O1xuXG4gIC8vIHNldCB1cCB0cmFuc3BvcnQgbGlzdGVuZXJzXG4gIHRyYW5zcG9ydFxuICAub24oJ2RyYWluJywgZnVuY3Rpb24gKCkge1xuICAgIHNlbGYub25EcmFpbigpO1xuICB9KVxuICAub24oJ3BhY2tldCcsIGZ1bmN0aW9uIChwYWNrZXQpIHtcbiAgICBzZWxmLm9uUGFja2V0KHBhY2tldCk7XG4gIH0pXG4gIC5vbignZXJyb3InLCBmdW5jdGlvbiAoZSkge1xuICAgIHNlbGYub25FcnJvcihlKTtcbiAgfSlcbiAgLm9uKCdjbG9zZScsIGZ1bmN0aW9uICgpIHtcbiAgICBzZWxmLm9uQ2xvc2UoJ3RyYW5zcG9ydCBjbG9zZScpO1xuICB9KTtcbn07XG5cbi8qKlxuICogUHJvYmVzIGEgdHJhbnNwb3J0LlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSB0cmFuc3BvcnQgbmFtZVxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5wcm9iZSA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gIGRlYnVnKCdwcm9iaW5nIHRyYW5zcG9ydCBcIiVzXCInLCBuYW1lKTtcbiAgdmFyIHRyYW5zcG9ydCA9IHRoaXMuY3JlYXRlVHJhbnNwb3J0KG5hbWUsIHsgcHJvYmU6IDEgfSk7XG4gIHZhciBmYWlsZWQgPSBmYWxzZTtcbiAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gIFNvY2tldC5wcmlvcldlYnNvY2tldFN1Y2Nlc3MgPSBmYWxzZTtcblxuICBmdW5jdGlvbiBvblRyYW5zcG9ydE9wZW4gKCkge1xuICAgIGlmIChzZWxmLm9ubHlCaW5hcnlVcGdyYWRlcykge1xuICAgICAgdmFyIHVwZ3JhZGVMb3Nlc0JpbmFyeSA9ICF0aGlzLnN1cHBvcnRzQmluYXJ5ICYmIHNlbGYudHJhbnNwb3J0LnN1cHBvcnRzQmluYXJ5O1xuICAgICAgZmFpbGVkID0gZmFpbGVkIHx8IHVwZ3JhZGVMb3Nlc0JpbmFyeTtcbiAgICB9XG4gICAgaWYgKGZhaWxlZCkgcmV0dXJuO1xuXG4gICAgZGVidWcoJ3Byb2JlIHRyYW5zcG9ydCBcIiVzXCIgb3BlbmVkJywgbmFtZSk7XG4gICAgdHJhbnNwb3J0LnNlbmQoW3sgdHlwZTogJ3BpbmcnLCBkYXRhOiAncHJvYmUnIH1dKTtcbiAgICB0cmFuc3BvcnQub25jZSgncGFja2V0JywgZnVuY3Rpb24gKG1zZykge1xuICAgICAgaWYgKGZhaWxlZCkgcmV0dXJuO1xuICAgICAgaWYgKCdwb25nJyA9PT0gbXNnLnR5cGUgJiYgJ3Byb2JlJyA9PT0gbXNnLmRhdGEpIHtcbiAgICAgICAgZGVidWcoJ3Byb2JlIHRyYW5zcG9ydCBcIiVzXCIgcG9uZycsIG5hbWUpO1xuICAgICAgICBzZWxmLnVwZ3JhZGluZyA9IHRydWU7XG4gICAgICAgIHNlbGYuZW1pdCgndXBncmFkaW5nJywgdHJhbnNwb3J0KTtcbiAgICAgICAgaWYgKCF0cmFuc3BvcnQpIHJldHVybjtcbiAgICAgICAgU29ja2V0LnByaW9yV2Vic29ja2V0U3VjY2VzcyA9ICd3ZWJzb2NrZXQnID09PSB0cmFuc3BvcnQubmFtZTtcblxuICAgICAgICBkZWJ1ZygncGF1c2luZyBjdXJyZW50IHRyYW5zcG9ydCBcIiVzXCInLCBzZWxmLnRyYW5zcG9ydC5uYW1lKTtcbiAgICAgICAgc2VsZi50cmFuc3BvcnQucGF1c2UoZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmIChmYWlsZWQpIHJldHVybjtcbiAgICAgICAgICBpZiAoJ2Nsb3NlZCcgPT09IHNlbGYucmVhZHlTdGF0ZSkgcmV0dXJuO1xuICAgICAgICAgIGRlYnVnKCdjaGFuZ2luZyB0cmFuc3BvcnQgYW5kIHNlbmRpbmcgdXBncmFkZSBwYWNrZXQnKTtcblxuICAgICAgICAgIGNsZWFudXAoKTtcblxuICAgICAgICAgIHNlbGYuc2V0VHJhbnNwb3J0KHRyYW5zcG9ydCk7XG4gICAgICAgICAgdHJhbnNwb3J0LnNlbmQoW3sgdHlwZTogJ3VwZ3JhZGUnIH1dKTtcbiAgICAgICAgICBzZWxmLmVtaXQoJ3VwZ3JhZGUnLCB0cmFuc3BvcnQpO1xuICAgICAgICAgIHRyYW5zcG9ydCA9IG51bGw7XG4gICAgICAgICAgc2VsZi51cGdyYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICBzZWxmLmZsdXNoKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVidWcoJ3Byb2JlIHRyYW5zcG9ydCBcIiVzXCIgZmFpbGVkJywgbmFtZSk7XG4gICAgICAgIHZhciBlcnIgPSBuZXcgRXJyb3IoJ3Byb2JlIGVycm9yJyk7XG4gICAgICAgIGVyci50cmFuc3BvcnQgPSB0cmFuc3BvcnQubmFtZTtcbiAgICAgICAgc2VsZi5lbWl0KCd1cGdyYWRlRXJyb3InLCBlcnIpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gZnJlZXplVHJhbnNwb3J0ICgpIHtcbiAgICBpZiAoZmFpbGVkKSByZXR1cm47XG5cbiAgICAvLyBBbnkgY2FsbGJhY2sgY2FsbGVkIGJ5IHRyYW5zcG9ydCBzaG91bGQgYmUgaWdub3JlZCBzaW5jZSBub3dcbiAgICBmYWlsZWQgPSB0cnVlO1xuXG4gICAgY2xlYW51cCgpO1xuXG4gICAgdHJhbnNwb3J0LmNsb3NlKCk7XG4gICAgdHJhbnNwb3J0ID0gbnVsbDtcbiAgfVxuXG4gIC8vIEhhbmRsZSBhbnkgZXJyb3IgdGhhdCBoYXBwZW5zIHdoaWxlIHByb2JpbmdcbiAgZnVuY3Rpb24gb25lcnJvciAoZXJyKSB7XG4gICAgdmFyIGVycm9yID0gbmV3IEVycm9yKCdwcm9iZSBlcnJvcjogJyArIGVycik7XG4gICAgZXJyb3IudHJhbnNwb3J0ID0gdHJhbnNwb3J0Lm5hbWU7XG5cbiAgICBmcmVlemVUcmFuc3BvcnQoKTtcblxuICAgIGRlYnVnKCdwcm9iZSB0cmFuc3BvcnQgXCIlc1wiIGZhaWxlZCBiZWNhdXNlIG9mIGVycm9yOiAlcycsIG5hbWUsIGVycik7XG5cbiAgICBzZWxmLmVtaXQoJ3VwZ3JhZGVFcnJvcicsIGVycm9yKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIG9uVHJhbnNwb3J0Q2xvc2UgKCkge1xuICAgIG9uZXJyb3IoJ3RyYW5zcG9ydCBjbG9zZWQnKTtcbiAgfVxuXG4gIC8vIFdoZW4gdGhlIHNvY2tldCBpcyBjbG9zZWQgd2hpbGUgd2UncmUgcHJvYmluZ1xuICBmdW5jdGlvbiBvbmNsb3NlICgpIHtcbiAgICBvbmVycm9yKCdzb2NrZXQgY2xvc2VkJyk7XG4gIH1cblxuICAvLyBXaGVuIHRoZSBzb2NrZXQgaXMgdXBncmFkZWQgd2hpbGUgd2UncmUgcHJvYmluZ1xuICBmdW5jdGlvbiBvbnVwZ3JhZGUgKHRvKSB7XG4gICAgaWYgKHRyYW5zcG9ydCAmJiB0by5uYW1lICE9PSB0cmFuc3BvcnQubmFtZSkge1xuICAgICAgZGVidWcoJ1wiJXNcIiB3b3JrcyAtIGFib3J0aW5nIFwiJXNcIicsIHRvLm5hbWUsIHRyYW5zcG9ydC5uYW1lKTtcbiAgICAgIGZyZWV6ZVRyYW5zcG9ydCgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBhbGwgbGlzdGVuZXJzIG9uIHRoZSB0cmFuc3BvcnQgYW5kIG9uIHNlbGZcbiAgZnVuY3Rpb24gY2xlYW51cCAoKSB7XG4gICAgdHJhbnNwb3J0LnJlbW92ZUxpc3RlbmVyKCdvcGVuJywgb25UcmFuc3BvcnRPcGVuKTtcbiAgICB0cmFuc3BvcnQucmVtb3ZlTGlzdGVuZXIoJ2Vycm9yJywgb25lcnJvcik7XG4gICAgdHJhbnNwb3J0LnJlbW92ZUxpc3RlbmVyKCdjbG9zZScsIG9uVHJhbnNwb3J0Q2xvc2UpO1xuICAgIHNlbGYucmVtb3ZlTGlzdGVuZXIoJ2Nsb3NlJywgb25jbG9zZSk7XG4gICAgc2VsZi5yZW1vdmVMaXN0ZW5lcigndXBncmFkaW5nJywgb251cGdyYWRlKTtcbiAgfVxuXG4gIHRyYW5zcG9ydC5vbmNlKCdvcGVuJywgb25UcmFuc3BvcnRPcGVuKTtcbiAgdHJhbnNwb3J0Lm9uY2UoJ2Vycm9yJywgb25lcnJvcik7XG4gIHRyYW5zcG9ydC5vbmNlKCdjbG9zZScsIG9uVHJhbnNwb3J0Q2xvc2UpO1xuXG4gIHRoaXMub25jZSgnY2xvc2UnLCBvbmNsb3NlKTtcbiAgdGhpcy5vbmNlKCd1cGdyYWRpbmcnLCBvbnVwZ3JhZGUpO1xuXG4gIHRyYW5zcG9ydC5vcGVuKCk7XG59O1xuXG4vKipcbiAqIENhbGxlZCB3aGVuIGNvbm5lY3Rpb24gaXMgZGVlbWVkIG9wZW4uXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLm9uT3BlbiA9IGZ1bmN0aW9uICgpIHtcbiAgZGVidWcoJ3NvY2tldCBvcGVuJyk7XG4gIHRoaXMucmVhZHlTdGF0ZSA9ICdvcGVuJztcbiAgU29ja2V0LnByaW9yV2Vic29ja2V0U3VjY2VzcyA9ICd3ZWJzb2NrZXQnID09PSB0aGlzLnRyYW5zcG9ydC5uYW1lO1xuICB0aGlzLmVtaXQoJ29wZW4nKTtcbiAgdGhpcy5mbHVzaCgpO1xuXG4gIC8vIHdlIGNoZWNrIGZvciBgcmVhZHlTdGF0ZWAgaW4gY2FzZSBhbiBgb3BlbmBcbiAgLy8gbGlzdGVuZXIgYWxyZWFkeSBjbG9zZWQgdGhlIHNvY2tldFxuICBpZiAoJ29wZW4nID09PSB0aGlzLnJlYWR5U3RhdGUgJiYgdGhpcy51cGdyYWRlICYmIHRoaXMudHJhbnNwb3J0LnBhdXNlKSB7XG4gICAgZGVidWcoJ3N0YXJ0aW5nIHVwZ3JhZGUgcHJvYmVzJyk7XG4gICAgZm9yICh2YXIgaSA9IDAsIGwgPSB0aGlzLnVwZ3JhZGVzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgdGhpcy5wcm9iZSh0aGlzLnVwZ3JhZGVzW2ldKTtcbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogSGFuZGxlcyBhIHBhY2tldC5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLm9uUGFja2V0ID0gZnVuY3Rpb24gKHBhY2tldCkge1xuICBpZiAoJ29wZW5pbmcnID09PSB0aGlzLnJlYWR5U3RhdGUgfHwgJ29wZW4nID09PSB0aGlzLnJlYWR5U3RhdGUgfHxcbiAgICAgICdjbG9zaW5nJyA9PT0gdGhpcy5yZWFkeVN0YXRlKSB7XG4gICAgZGVidWcoJ3NvY2tldCByZWNlaXZlOiB0eXBlIFwiJXNcIiwgZGF0YSBcIiVzXCInLCBwYWNrZXQudHlwZSwgcGFja2V0LmRhdGEpO1xuXG4gICAgdGhpcy5lbWl0KCdwYWNrZXQnLCBwYWNrZXQpO1xuXG4gICAgLy8gU29ja2V0IGlzIGxpdmUgLSBhbnkgcGFja2V0IGNvdW50c1xuICAgIHRoaXMuZW1pdCgnaGVhcnRiZWF0Jyk7XG5cbiAgICBzd2l0Y2ggKHBhY2tldC50eXBlKSB7XG4gICAgICBjYXNlICdvcGVuJzpcbiAgICAgICAgdGhpcy5vbkhhbmRzaGFrZShKU09OLnBhcnNlKHBhY2tldC5kYXRhKSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdwb25nJzpcbiAgICAgICAgdGhpcy5zZXRQaW5nKCk7XG4gICAgICAgIHRoaXMuZW1pdCgncG9uZycpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICB2YXIgZXJyID0gbmV3IEVycm9yKCdzZXJ2ZXIgZXJyb3InKTtcbiAgICAgICAgZXJyLmNvZGUgPSBwYWNrZXQuZGF0YTtcbiAgICAgICAgdGhpcy5vbkVycm9yKGVycik7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdtZXNzYWdlJzpcbiAgICAgICAgdGhpcy5lbWl0KCdkYXRhJywgcGFja2V0LmRhdGEpO1xuICAgICAgICB0aGlzLmVtaXQoJ21lc3NhZ2UnLCBwYWNrZXQuZGF0YSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBkZWJ1ZygncGFja2V0IHJlY2VpdmVkIHdpdGggc29ja2V0IHJlYWR5U3RhdGUgXCIlc1wiJywgdGhpcy5yZWFkeVN0YXRlKTtcbiAgfVxufTtcblxuLyoqXG4gKiBDYWxsZWQgdXBvbiBoYW5kc2hha2UgY29tcGxldGlvbi5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gaGFuZHNoYWtlIG9ialxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5vbkhhbmRzaGFrZSA9IGZ1bmN0aW9uIChkYXRhKSB7XG4gIHRoaXMuZW1pdCgnaGFuZHNoYWtlJywgZGF0YSk7XG4gIHRoaXMuaWQgPSBkYXRhLnNpZDtcbiAgdGhpcy50cmFuc3BvcnQucXVlcnkuc2lkID0gZGF0YS5zaWQ7XG4gIHRoaXMudXBncmFkZXMgPSB0aGlzLmZpbHRlclVwZ3JhZGVzKGRhdGEudXBncmFkZXMpO1xuICB0aGlzLnBpbmdJbnRlcnZhbCA9IGRhdGEucGluZ0ludGVydmFsO1xuICB0aGlzLnBpbmdUaW1lb3V0ID0gZGF0YS5waW5nVGltZW91dDtcbiAgdGhpcy5vbk9wZW4oKTtcbiAgLy8gSW4gY2FzZSBvcGVuIGhhbmRsZXIgY2xvc2VzIHNvY2tldFxuICBpZiAoJ2Nsb3NlZCcgPT09IHRoaXMucmVhZHlTdGF0ZSkgcmV0dXJuO1xuICB0aGlzLnNldFBpbmcoKTtcblxuICAvLyBQcm9sb25nIGxpdmVuZXNzIG9mIHNvY2tldCBvbiBoZWFydGJlYXRcbiAgdGhpcy5yZW1vdmVMaXN0ZW5lcignaGVhcnRiZWF0JywgdGhpcy5vbkhlYXJ0YmVhdCk7XG4gIHRoaXMub24oJ2hlYXJ0YmVhdCcsIHRoaXMub25IZWFydGJlYXQpO1xufTtcblxuLyoqXG4gKiBSZXNldHMgcGluZyB0aW1lb3V0LlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblNvY2tldC5wcm90b3R5cGUub25IZWFydGJlYXQgPSBmdW5jdGlvbiAodGltZW91dCkge1xuICBjbGVhclRpbWVvdXQodGhpcy5waW5nVGltZW91dFRpbWVyKTtcbiAgdmFyIHNlbGYgPSB0aGlzO1xuICBzZWxmLnBpbmdUaW1lb3V0VGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoJ2Nsb3NlZCcgPT09IHNlbGYucmVhZHlTdGF0ZSkgcmV0dXJuO1xuICAgIHNlbGYub25DbG9zZSgncGluZyB0aW1lb3V0Jyk7XG4gIH0sIHRpbWVvdXQgfHwgKHNlbGYucGluZ0ludGVydmFsICsgc2VsZi5waW5nVGltZW91dCkpO1xufTtcblxuLyoqXG4gKiBQaW5ncyBzZXJ2ZXIgZXZlcnkgYHRoaXMucGluZ0ludGVydmFsYCBhbmQgZXhwZWN0cyByZXNwb25zZVxuICogd2l0aGluIGB0aGlzLnBpbmdUaW1lb3V0YCBvciBjbG9zZXMgY29ubmVjdGlvbi5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLnNldFBpbmcgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBzZWxmID0gdGhpcztcbiAgY2xlYXJUaW1lb3V0KHNlbGYucGluZ0ludGVydmFsVGltZXIpO1xuICBzZWxmLnBpbmdJbnRlcnZhbFRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgZGVidWcoJ3dyaXRpbmcgcGluZyBwYWNrZXQgLSBleHBlY3RpbmcgcG9uZyB3aXRoaW4gJXNtcycsIHNlbGYucGluZ1RpbWVvdXQpO1xuICAgIHNlbGYucGluZygpO1xuICAgIHNlbGYub25IZWFydGJlYXQoc2VsZi5waW5nVGltZW91dCk7XG4gIH0sIHNlbGYucGluZ0ludGVydmFsKTtcbn07XG5cbi8qKlxuKiBTZW5kcyBhIHBpbmcgcGFja2V0LlxuKlxuKiBAYXBpIHByaXZhdGVcbiovXG5cblNvY2tldC5wcm90b3R5cGUucGluZyA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIHNlbGYgPSB0aGlzO1xuICB0aGlzLnNlbmRQYWNrZXQoJ3BpbmcnLCBmdW5jdGlvbiAoKSB7XG4gICAgc2VsZi5lbWl0KCdwaW5nJyk7XG4gIH0pO1xufTtcblxuLyoqXG4gKiBDYWxsZWQgb24gYGRyYWluYCBldmVudFxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblNvY2tldC5wcm90b3R5cGUub25EcmFpbiA9IGZ1bmN0aW9uICgpIHtcbiAgdGhpcy53cml0ZUJ1ZmZlci5zcGxpY2UoMCwgdGhpcy5wcmV2QnVmZmVyTGVuKTtcblxuICAvLyBzZXR0aW5nIHByZXZCdWZmZXJMZW4gPSAwIGlzIHZlcnkgaW1wb3J0YW50XG4gIC8vIGZvciBleGFtcGxlLCB3aGVuIHVwZ3JhZGluZywgdXBncmFkZSBwYWNrZXQgaXMgc2VudCBvdmVyLFxuICAvLyBhbmQgYSBub256ZXJvIHByZXZCdWZmZXJMZW4gY291bGQgY2F1c2UgcHJvYmxlbXMgb24gYGRyYWluYFxuICB0aGlzLnByZXZCdWZmZXJMZW4gPSAwO1xuXG4gIGlmICgwID09PSB0aGlzLndyaXRlQnVmZmVyLmxlbmd0aCkge1xuICAgIHRoaXMuZW1pdCgnZHJhaW4nKTtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLmZsdXNoKCk7XG4gIH1cbn07XG5cbi8qKlxuICogRmx1c2ggd3JpdGUgYnVmZmVycy5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLmZsdXNoID0gZnVuY3Rpb24gKCkge1xuICBpZiAoJ2Nsb3NlZCcgIT09IHRoaXMucmVhZHlTdGF0ZSAmJiB0aGlzLnRyYW5zcG9ydC53cml0YWJsZSAmJlxuICAgICF0aGlzLnVwZ3JhZGluZyAmJiB0aGlzLndyaXRlQnVmZmVyLmxlbmd0aCkge1xuICAgIGRlYnVnKCdmbHVzaGluZyAlZCBwYWNrZXRzIGluIHNvY2tldCcsIHRoaXMud3JpdGVCdWZmZXIubGVuZ3RoKTtcbiAgICB0aGlzLnRyYW5zcG9ydC5zZW5kKHRoaXMud3JpdGVCdWZmZXIpO1xuICAgIC8vIGtlZXAgdHJhY2sgb2YgY3VycmVudCBsZW5ndGggb2Ygd3JpdGVCdWZmZXJcbiAgICAvLyBzcGxpY2Ugd3JpdGVCdWZmZXIgYW5kIGNhbGxiYWNrQnVmZmVyIG9uIGBkcmFpbmBcbiAgICB0aGlzLnByZXZCdWZmZXJMZW4gPSB0aGlzLndyaXRlQnVmZmVyLmxlbmd0aDtcbiAgICB0aGlzLmVtaXQoJ2ZsdXNoJyk7XG4gIH1cbn07XG5cbi8qKlxuICogU2VuZHMgYSBtZXNzYWdlLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBtZXNzYWdlLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gY2FsbGJhY2sgZnVuY3Rpb24uXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucy5cbiAqIEByZXR1cm4ge1NvY2tldH0gZm9yIGNoYWluaW5nLlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLndyaXRlID1cblNvY2tldC5wcm90b3R5cGUuc2VuZCA9IGZ1bmN0aW9uIChtc2csIG9wdGlvbnMsIGZuKSB7XG4gIHRoaXMuc2VuZFBhY2tldCgnbWVzc2FnZScsIG1zZywgb3B0aW9ucywgZm4pO1xuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogU2VuZHMgYSBwYWNrZXQuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHBhY2tldCB0eXBlLlxuICogQHBhcmFtIHtTdHJpbmd9IGRhdGEuXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucy5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGNhbGxiYWNrIGZ1bmN0aW9uLlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5zZW5kUGFja2V0ID0gZnVuY3Rpb24gKHR5cGUsIGRhdGEsIG9wdGlvbnMsIGZuKSB7XG4gIGlmICgnZnVuY3Rpb24nID09PSB0eXBlb2YgZGF0YSkge1xuICAgIGZuID0gZGF0YTtcbiAgICBkYXRhID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgaWYgKCdmdW5jdGlvbicgPT09IHR5cGVvZiBvcHRpb25zKSB7XG4gICAgZm4gPSBvcHRpb25zO1xuICAgIG9wdGlvbnMgPSBudWxsO1xuICB9XG5cbiAgaWYgKCdjbG9zaW5nJyA9PT0gdGhpcy5yZWFkeVN0YXRlIHx8ICdjbG9zZWQnID09PSB0aGlzLnJlYWR5U3RhdGUpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgb3B0aW9ucy5jb21wcmVzcyA9IGZhbHNlICE9PSBvcHRpb25zLmNvbXByZXNzO1xuXG4gIHZhciBwYWNrZXQgPSB7XG4gICAgdHlwZTogdHlwZSxcbiAgICBkYXRhOiBkYXRhLFxuICAgIG9wdGlvbnM6IG9wdGlvbnNcbiAgfTtcbiAgdGhpcy5lbWl0KCdwYWNrZXRDcmVhdGUnLCBwYWNrZXQpO1xuICB0aGlzLndyaXRlQnVmZmVyLnB1c2gocGFja2V0KTtcbiAgaWYgKGZuKSB0aGlzLm9uY2UoJ2ZsdXNoJywgZm4pO1xuICB0aGlzLmZsdXNoKCk7XG59O1xuXG4vKipcbiAqIENsb3NlcyB0aGUgY29ubmVjdGlvbi5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLmNsb3NlID0gZnVuY3Rpb24gKCkge1xuICBpZiAoJ29wZW5pbmcnID09PSB0aGlzLnJlYWR5U3RhdGUgfHwgJ29wZW4nID09PSB0aGlzLnJlYWR5U3RhdGUpIHtcbiAgICB0aGlzLnJlYWR5U3RhdGUgPSAnY2xvc2luZyc7XG5cbiAgICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgICBpZiAodGhpcy53cml0ZUJ1ZmZlci5sZW5ndGgpIHtcbiAgICAgIHRoaXMub25jZSgnZHJhaW4nLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLnVwZ3JhZGluZykge1xuICAgICAgICAgIHdhaXRGb3JVcGdyYWRlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnVwZ3JhZGluZykge1xuICAgICAgd2FpdEZvclVwZ3JhZGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBjbG9zZSAoKSB7XG4gICAgc2VsZi5vbkNsb3NlKCdmb3JjZWQgY2xvc2UnKTtcbiAgICBkZWJ1Zygnc29ja2V0IGNsb3NpbmcgLSB0ZWxsaW5nIHRyYW5zcG9ydCB0byBjbG9zZScpO1xuICAgIHNlbGYudHJhbnNwb3J0LmNsb3NlKCk7XG4gIH1cblxuICBmdW5jdGlvbiBjbGVhbnVwQW5kQ2xvc2UgKCkge1xuICAgIHNlbGYucmVtb3ZlTGlzdGVuZXIoJ3VwZ3JhZGUnLCBjbGVhbnVwQW5kQ2xvc2UpO1xuICAgIHNlbGYucmVtb3ZlTGlzdGVuZXIoJ3VwZ3JhZGVFcnJvcicsIGNsZWFudXBBbmRDbG9zZSk7XG4gICAgY2xvc2UoKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHdhaXRGb3JVcGdyYWRlICgpIHtcbiAgICAvLyB3YWl0IGZvciB1cGdyYWRlIHRvIGZpbmlzaCBzaW5jZSB3ZSBjYW4ndCBzZW5kIHBhY2tldHMgd2hpbGUgcGF1c2luZyBhIHRyYW5zcG9ydFxuICAgIHNlbGYub25jZSgndXBncmFkZScsIGNsZWFudXBBbmRDbG9zZSk7XG4gICAgc2VsZi5vbmNlKCd1cGdyYWRlRXJyb3InLCBjbGVhbnVwQW5kQ2xvc2UpO1xuICB9XG5cbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIENhbGxlZCB1cG9uIHRyYW5zcG9ydCBlcnJvclxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblNvY2tldC5wcm90b3R5cGUub25FcnJvciA9IGZ1bmN0aW9uIChlcnIpIHtcbiAgZGVidWcoJ3NvY2tldCBlcnJvciAlaicsIGVycik7XG4gIFNvY2tldC5wcmlvcldlYnNvY2tldFN1Y2Nlc3MgPSBmYWxzZTtcbiAgdGhpcy5lbWl0KCdlcnJvcicsIGVycik7XG4gIHRoaXMub25DbG9zZSgndHJhbnNwb3J0IGVycm9yJywgZXJyKTtcbn07XG5cbi8qKlxuICogQ2FsbGVkIHVwb24gdHJhbnNwb3J0IGNsb3NlLlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblNvY2tldC5wcm90b3R5cGUub25DbG9zZSA9IGZ1bmN0aW9uIChyZWFzb24sIGRlc2MpIHtcbiAgaWYgKCdvcGVuaW5nJyA9PT0gdGhpcy5yZWFkeVN0YXRlIHx8ICdvcGVuJyA9PT0gdGhpcy5yZWFkeVN0YXRlIHx8ICdjbG9zaW5nJyA9PT0gdGhpcy5yZWFkeVN0YXRlKSB7XG4gICAgZGVidWcoJ3NvY2tldCBjbG9zZSB3aXRoIHJlYXNvbjogXCIlc1wiJywgcmVhc29uKTtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgICAvLyBjbGVhciB0aW1lcnNcbiAgICBjbGVhclRpbWVvdXQodGhpcy5waW5nSW50ZXJ2YWxUaW1lcik7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMucGluZ1RpbWVvdXRUaW1lcik7XG5cbiAgICAvLyBzdG9wIGV2ZW50IGZyb20gZmlyaW5nIGFnYWluIGZvciB0cmFuc3BvcnRcbiAgICB0aGlzLnRyYW5zcG9ydC5yZW1vdmVBbGxMaXN0ZW5lcnMoJ2Nsb3NlJyk7XG5cbiAgICAvLyBlbnN1cmUgdHJhbnNwb3J0IHdvbid0IHN0YXkgb3BlblxuICAgIHRoaXMudHJhbnNwb3J0LmNsb3NlKCk7XG5cbiAgICAvLyBpZ25vcmUgZnVydGhlciB0cmFuc3BvcnQgY29tbXVuaWNhdGlvblxuICAgIHRoaXMudHJhbnNwb3J0LnJlbW92ZUFsbExpc3RlbmVycygpO1xuXG4gICAgLy8gc2V0IHJlYWR5IHN0YXRlXG4gICAgdGhpcy5yZWFkeVN0YXRlID0gJ2Nsb3NlZCc7XG5cbiAgICAvLyBjbGVhciBzZXNzaW9uIGlkXG4gICAgdGhpcy5pZCA9IG51bGw7XG5cbiAgICAvLyBlbWl0IGNsb3NlIGV2ZW50XG4gICAgdGhpcy5lbWl0KCdjbG9zZScsIHJlYXNvbiwgZGVzYyk7XG5cbiAgICAvLyBjbGVhbiBidWZmZXJzIGFmdGVyLCBzbyB1c2VycyBjYW4gc3RpbGxcbiAgICAvLyBncmFiIHRoZSBidWZmZXJzIG9uIGBjbG9zZWAgZXZlbnRcbiAgICBzZWxmLndyaXRlQnVmZmVyID0gW107XG4gICAgc2VsZi5wcmV2QnVmZmVyTGVuID0gMDtcbiAgfVxufTtcblxuLyoqXG4gKiBGaWx0ZXJzIHVwZ3JhZGVzLCByZXR1cm5pbmcgb25seSB0aG9zZSBtYXRjaGluZyBjbGllbnQgdHJhbnNwb3J0cy5cbiAqXG4gKiBAcGFyYW0ge0FycmF5fSBzZXJ2ZXIgdXBncmFkZXNcbiAqIEBhcGkgcHJpdmF0ZVxuICpcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLmZpbHRlclVwZ3JhZGVzID0gZnVuY3Rpb24gKHVwZ3JhZGVzKSB7XG4gIHZhciBmaWx0ZXJlZFVwZ3JhZGVzID0gW107XG4gIGZvciAodmFyIGkgPSAwLCBqID0gdXBncmFkZXMubGVuZ3RoOyBpIDwgajsgaSsrKSB7XG4gICAgaWYgKH5pbmRleCh0aGlzLnRyYW5zcG9ydHMsIHVwZ3JhZGVzW2ldKSkgZmlsdGVyZWRVcGdyYWRlcy5wdXNoKHVwZ3JhZGVzW2ldKTtcbiAgfVxuICByZXR1cm4gZmlsdGVyZWRVcGdyYWRlcztcbn07XG4iLCIvKipcbiAqIE1vZHVsZSBkZXBlbmRlbmNpZXMuXG4gKi9cblxudmFyIHBhcnNlciA9IHJlcXVpcmUoJ2VuZ2luZS5pby1wYXJzZXInKTtcbnZhciBFbWl0dGVyID0gcmVxdWlyZSgnY29tcG9uZW50LWVtaXR0ZXInKTtcblxuLyoqXG4gKiBNb2R1bGUgZXhwb3J0cy5cbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IFRyYW5zcG9ydDtcblxuLyoqXG4gKiBUcmFuc3BvcnQgYWJzdHJhY3QgY29uc3RydWN0b3IuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMuXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBUcmFuc3BvcnQgKG9wdHMpIHtcbiAgdGhpcy5wYXRoID0gb3B0cy5wYXRoO1xuICB0aGlzLmhvc3RuYW1lID0gb3B0cy5ob3N0bmFtZTtcbiAgdGhpcy5wb3J0ID0gb3B0cy5wb3J0O1xuICB0aGlzLnNlY3VyZSA9IG9wdHMuc2VjdXJlO1xuICB0aGlzLnF1ZXJ5ID0gb3B0cy5xdWVyeTtcbiAgdGhpcy50aW1lc3RhbXBQYXJhbSA9IG9wdHMudGltZXN0YW1wUGFyYW07XG4gIHRoaXMudGltZXN0YW1wUmVxdWVzdHMgPSBvcHRzLnRpbWVzdGFtcFJlcXVlc3RzO1xuICB0aGlzLnJlYWR5U3RhdGUgPSAnJztcbiAgdGhpcy5hZ2VudCA9IG9wdHMuYWdlbnQgfHwgZmFsc2U7XG4gIHRoaXMuc29ja2V0ID0gb3B0cy5zb2NrZXQ7XG4gIHRoaXMuZW5hYmxlc1hEUiA9IG9wdHMuZW5hYmxlc1hEUjtcblxuICAvLyBTU0wgb3B0aW9ucyBmb3IgTm9kZS5qcyBjbGllbnRcbiAgdGhpcy5wZnggPSBvcHRzLnBmeDtcbiAgdGhpcy5rZXkgPSBvcHRzLmtleTtcbiAgdGhpcy5wYXNzcGhyYXNlID0gb3B0cy5wYXNzcGhyYXNlO1xuICB0aGlzLmNlcnQgPSBvcHRzLmNlcnQ7XG4gIHRoaXMuY2EgPSBvcHRzLmNhO1xuICB0aGlzLmNpcGhlcnMgPSBvcHRzLmNpcGhlcnM7XG4gIHRoaXMucmVqZWN0VW5hdXRob3JpemVkID0gb3B0cy5yZWplY3RVbmF1dGhvcml6ZWQ7XG4gIHRoaXMuZm9yY2VOb2RlID0gb3B0cy5mb3JjZU5vZGU7XG5cbiAgLy8gcmVzdWx0cyBvZiBSZWFjdE5hdGl2ZSBlbnZpcm9ubWVudCBkZXRlY3Rpb25cbiAgdGhpcy5pc1JlYWN0TmF0aXZlID0gb3B0cy5pc1JlYWN0TmF0aXZlO1xuXG4gIC8vIG90aGVyIG9wdGlvbnMgZm9yIE5vZGUuanMgY2xpZW50XG4gIHRoaXMuZXh0cmFIZWFkZXJzID0gb3B0cy5leHRyYUhlYWRlcnM7XG4gIHRoaXMubG9jYWxBZGRyZXNzID0gb3B0cy5sb2NhbEFkZHJlc3M7XG59XG5cbi8qKlxuICogTWl4IGluIGBFbWl0dGVyYC5cbiAqL1xuXG5FbWl0dGVyKFRyYW5zcG9ydC5wcm90b3R5cGUpO1xuXG4vKipcbiAqIEVtaXRzIGFuIGVycm9yLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBzdHJcbiAqIEByZXR1cm4ge1RyYW5zcG9ydH0gZm9yIGNoYWluaW5nXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblRyYW5zcG9ydC5wcm90b3R5cGUub25FcnJvciA9IGZ1bmN0aW9uIChtc2csIGRlc2MpIHtcbiAgdmFyIGVyciA9IG5ldyBFcnJvcihtc2cpO1xuICBlcnIudHlwZSA9ICdUcmFuc3BvcnRFcnJvcic7XG4gIGVyci5kZXNjcmlwdGlvbiA9IGRlc2M7XG4gIHRoaXMuZW1pdCgnZXJyb3InLCBlcnIpO1xuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogT3BlbnMgdGhlIHRyYW5zcG9ydC5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblRyYW5zcG9ydC5wcm90b3R5cGUub3BlbiA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKCdjbG9zZWQnID09PSB0aGlzLnJlYWR5U3RhdGUgfHwgJycgPT09IHRoaXMucmVhZHlTdGF0ZSkge1xuICAgIHRoaXMucmVhZHlTdGF0ZSA9ICdvcGVuaW5nJztcbiAgICB0aGlzLmRvT3BlbigpO1xuICB9XG5cbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIENsb3NlcyB0aGUgdHJhbnNwb3J0LlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblRyYW5zcG9ydC5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbiAoKSB7XG4gIGlmICgnb3BlbmluZycgPT09IHRoaXMucmVhZHlTdGF0ZSB8fCAnb3BlbicgPT09IHRoaXMucmVhZHlTdGF0ZSkge1xuICAgIHRoaXMuZG9DbG9zZSgpO1xuICAgIHRoaXMub25DbG9zZSgpO1xuICB9XG5cbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIFNlbmRzIG11bHRpcGxlIHBhY2tldHMuXG4gKlxuICogQHBhcmFtIHtBcnJheX0gcGFja2V0c1xuICogQGFwaSBwcml2YXRlXG4gKi9cblxuVHJhbnNwb3J0LnByb3RvdHlwZS5zZW5kID0gZnVuY3Rpb24gKHBhY2tldHMpIHtcbiAgaWYgKCdvcGVuJyA9PT0gdGhpcy5yZWFkeVN0YXRlKSB7XG4gICAgdGhpcy53cml0ZShwYWNrZXRzKTtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RyYW5zcG9ydCBub3Qgb3BlbicpO1xuICB9XG59O1xuXG4vKipcbiAqIENhbGxlZCB1cG9uIG9wZW5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5UcmFuc3BvcnQucHJvdG90eXBlLm9uT3BlbiA9IGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5yZWFkeVN0YXRlID0gJ29wZW4nO1xuICB0aGlzLndyaXRhYmxlID0gdHJ1ZTtcbiAgdGhpcy5lbWl0KCdvcGVuJyk7XG59O1xuXG4vKipcbiAqIENhbGxlZCB3aXRoIGRhdGEuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGRhdGFcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblRyYW5zcG9ydC5wcm90b3R5cGUub25EYXRhID0gZnVuY3Rpb24gKGRhdGEpIHtcbiAgdmFyIHBhY2tldCA9IHBhcnNlci5kZWNvZGVQYWNrZXQoZGF0YSwgdGhpcy5zb2NrZXQuYmluYXJ5VHlwZSk7XG4gIHRoaXMub25QYWNrZXQocGFja2V0KTtcbn07XG5cbi8qKlxuICogQ2FsbGVkIHdpdGggYSBkZWNvZGVkIHBhY2tldC5cbiAqL1xuXG5UcmFuc3BvcnQucHJvdG90eXBlLm9uUGFja2V0ID0gZnVuY3Rpb24gKHBhY2tldCkge1xuICB0aGlzLmVtaXQoJ3BhY2tldCcsIHBhY2tldCk7XG59O1xuXG4vKipcbiAqIENhbGxlZCB1cG9uIGNsb3NlLlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblRyYW5zcG9ydC5wcm90b3R5cGUub25DbG9zZSA9IGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5yZWFkeVN0YXRlID0gJ2Nsb3NlZCc7XG4gIHRoaXMuZW1pdCgnY2xvc2UnKTtcbn07XG4iLCIvKipcbiAqIE1vZHVsZSBkZXBlbmRlbmNpZXNcbiAqL1xuXG52YXIgWE1MSHR0cFJlcXVlc3QgPSByZXF1aXJlKCd4bWxodHRwcmVxdWVzdC1zc2wnKTtcbnZhciBYSFIgPSByZXF1aXJlKCcuL3BvbGxpbmcteGhyJyk7XG52YXIgSlNPTlAgPSByZXF1aXJlKCcuL3BvbGxpbmctanNvbnAnKTtcbnZhciB3ZWJzb2NrZXQgPSByZXF1aXJlKCcuL3dlYnNvY2tldCcpO1xuXG4vKipcbiAqIEV4cG9ydCB0cmFuc3BvcnRzLlxuICovXG5cbmV4cG9ydHMucG9sbGluZyA9IHBvbGxpbmc7XG5leHBvcnRzLndlYnNvY2tldCA9IHdlYnNvY2tldDtcblxuLyoqXG4gKiBQb2xsaW5nIHRyYW5zcG9ydCBwb2x5bW9ycGhpYyBjb25zdHJ1Y3Rvci5cbiAqIERlY2lkZXMgb24geGhyIHZzIGpzb25wIGJhc2VkIG9uIGZlYXR1cmUgZGV0ZWN0aW9uLlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIHBvbGxpbmcgKG9wdHMpIHtcbiAgdmFyIHhocjtcbiAgdmFyIHhkID0gZmFsc2U7XG4gIHZhciB4cyA9IGZhbHNlO1xuICB2YXIganNvbnAgPSBmYWxzZSAhPT0gb3B0cy5qc29ucDtcblxuICBpZiAodHlwZW9mIGxvY2F0aW9uICE9PSAndW5kZWZpbmVkJykge1xuICAgIHZhciBpc1NTTCA9ICdodHRwczonID09PSBsb2NhdGlvbi5wcm90b2NvbDtcbiAgICB2YXIgcG9ydCA9IGxvY2F0aW9uLnBvcnQ7XG5cbiAgICAvLyBzb21lIHVzZXIgYWdlbnRzIGhhdmUgZW1wdHkgYGxvY2F0aW9uLnBvcnRgXG4gICAgaWYgKCFwb3J0KSB7XG4gICAgICBwb3J0ID0gaXNTU0wgPyA0NDMgOiA4MDtcbiAgICB9XG5cbiAgICB4ZCA9IG9wdHMuaG9zdG5hbWUgIT09IGxvY2F0aW9uLmhvc3RuYW1lIHx8IHBvcnQgIT09IG9wdHMucG9ydDtcbiAgICB4cyA9IG9wdHMuc2VjdXJlICE9PSBpc1NTTDtcbiAgfVxuXG4gIG9wdHMueGRvbWFpbiA9IHhkO1xuICBvcHRzLnhzY2hlbWUgPSB4cztcbiAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KG9wdHMpO1xuXG4gIGlmICgnb3BlbicgaW4geGhyICYmICFvcHRzLmZvcmNlSlNPTlApIHtcbiAgICByZXR1cm4gbmV3IFhIUihvcHRzKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAoIWpzb25wKSB0aHJvdyBuZXcgRXJyb3IoJ0pTT05QIGRpc2FibGVkJyk7XG4gICAgcmV0dXJuIG5ldyBKU09OUChvcHRzKTtcbiAgfVxufVxuIiwiLyoqXG4gKiBNb2R1bGUgcmVxdWlyZW1lbnRzLlxuICovXG5cbnZhciBQb2xsaW5nID0gcmVxdWlyZSgnLi9wb2xsaW5nJyk7XG52YXIgaW5oZXJpdCA9IHJlcXVpcmUoJ2NvbXBvbmVudC1pbmhlcml0Jyk7XG5cbi8qKlxuICogTW9kdWxlIGV4cG9ydHMuXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBKU09OUFBvbGxpbmc7XG5cbi8qKlxuICogQ2FjaGVkIHJlZ3VsYXIgZXhwcmVzc2lvbnMuXG4gKi9cblxudmFyIHJOZXdsaW5lID0gL1xcbi9nO1xudmFyIHJFc2NhcGVkTmV3bGluZSA9IC9cXFxcbi9nO1xuXG4vKipcbiAqIEdsb2JhbCBKU09OUCBjYWxsYmFja3MuXG4gKi9cblxudmFyIGNhbGxiYWNrcztcblxuLyoqXG4gKiBOb29wLlxuICovXG5cbmZ1bmN0aW9uIGVtcHR5ICgpIHsgfVxuXG4vKipcbiAqIFVudGlsIGh0dHBzOi8vZ2l0aHViLmNvbS90YzM5L3Byb3Bvc2FsLWdsb2JhbCBpcyBzaGlwcGVkLlxuICovXG5mdW5jdGlvbiBnbG9iICgpIHtcbiAgcmV0dXJuIHR5cGVvZiBzZWxmICE9PSAndW5kZWZpbmVkJyA/IHNlbGZcbiAgICAgIDogdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3dcbiAgICAgIDogdHlwZW9mIGdsb2JhbCAhPT0gJ3VuZGVmaW5lZCcgPyBnbG9iYWwgOiB7fTtcbn1cblxuLyoqXG4gKiBKU09OUCBQb2xsaW5nIGNvbnN0cnVjdG9yLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzLlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBKU09OUFBvbGxpbmcgKG9wdHMpIHtcbiAgUG9sbGluZy5jYWxsKHRoaXMsIG9wdHMpO1xuXG4gIHRoaXMucXVlcnkgPSB0aGlzLnF1ZXJ5IHx8IHt9O1xuXG4gIC8vIGRlZmluZSBnbG9iYWwgY2FsbGJhY2tzIGFycmF5IGlmIG5vdCBwcmVzZW50XG4gIC8vIHdlIGRvIHRoaXMgaGVyZSAobGF6aWx5KSB0byBhdm9pZCB1bm5lZWRlZCBnbG9iYWwgcG9sbHV0aW9uXG4gIGlmICghY2FsbGJhY2tzKSB7XG4gICAgLy8gd2UgbmVlZCB0byBjb25zaWRlciBtdWx0aXBsZSBlbmdpbmVzIGluIHRoZSBzYW1lIHBhZ2VcbiAgICB2YXIgZ2xvYmFsID0gZ2xvYigpO1xuICAgIGNhbGxiYWNrcyA9IGdsb2JhbC5fX19laW8gPSAoZ2xvYmFsLl9fX2VpbyB8fCBbXSk7XG4gIH1cblxuICAvLyBjYWxsYmFjayBpZGVudGlmaWVyXG4gIHRoaXMuaW5kZXggPSBjYWxsYmFja3MubGVuZ3RoO1xuXG4gIC8vIGFkZCBjYWxsYmFjayB0byBqc29ucCBnbG9iYWxcbiAgdmFyIHNlbGYgPSB0aGlzO1xuICBjYWxsYmFja3MucHVzaChmdW5jdGlvbiAobXNnKSB7XG4gICAgc2VsZi5vbkRhdGEobXNnKTtcbiAgfSk7XG5cbiAgLy8gYXBwZW5kIHRvIHF1ZXJ5IHN0cmluZ1xuICB0aGlzLnF1ZXJ5LmogPSB0aGlzLmluZGV4O1xuXG4gIC8vIHByZXZlbnQgc3B1cmlvdXMgZXJyb3JzIGZyb20gYmVpbmcgZW1pdHRlZCB3aGVuIHRoZSB3aW5kb3cgaXMgdW5sb2FkZWRcbiAgaWYgKHR5cGVvZiBhZGRFdmVudExpc3RlbmVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgYWRkRXZlbnRMaXN0ZW5lcignYmVmb3JldW5sb2FkJywgZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKHNlbGYuc2NyaXB0KSBzZWxmLnNjcmlwdC5vbmVycm9yID0gZW1wdHk7XG4gICAgfSwgZmFsc2UpO1xuICB9XG59XG5cbi8qKlxuICogSW5oZXJpdHMgZnJvbSBQb2xsaW5nLlxuICovXG5cbmluaGVyaXQoSlNPTlBQb2xsaW5nLCBQb2xsaW5nKTtcblxuLypcbiAqIEpTT05QIG9ubHkgc3VwcG9ydHMgYmluYXJ5IGFzIGJhc2U2NCBlbmNvZGVkIHN0cmluZ3NcbiAqL1xuXG5KU09OUFBvbGxpbmcucHJvdG90eXBlLnN1cHBvcnRzQmluYXJ5ID0gZmFsc2U7XG5cbi8qKlxuICogQ2xvc2VzIHRoZSBzb2NrZXQuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuSlNPTlBQb2xsaW5nLnByb3RvdHlwZS5kb0Nsb3NlID0gZnVuY3Rpb24gKCkge1xuICBpZiAodGhpcy5zY3JpcHQpIHtcbiAgICB0aGlzLnNjcmlwdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuc2NyaXB0KTtcbiAgICB0aGlzLnNjcmlwdCA9IG51bGw7XG4gIH1cblxuICBpZiAodGhpcy5mb3JtKSB7XG4gICAgdGhpcy5mb3JtLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5mb3JtKTtcbiAgICB0aGlzLmZvcm0gPSBudWxsO1xuICAgIHRoaXMuaWZyYW1lID0gbnVsbDtcbiAgfVxuXG4gIFBvbGxpbmcucHJvdG90eXBlLmRvQ2xvc2UuY2FsbCh0aGlzKTtcbn07XG5cbi8qKlxuICogU3RhcnRzIGEgcG9sbCBjeWNsZS5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5KU09OUFBvbGxpbmcucHJvdG90eXBlLmRvUG9sbCA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIHNlbGYgPSB0aGlzO1xuICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG5cbiAgaWYgKHRoaXMuc2NyaXB0KSB7XG4gICAgdGhpcy5zY3JpcHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnNjcmlwdCk7XG4gICAgdGhpcy5zY3JpcHQgPSBudWxsO1xuICB9XG5cbiAgc2NyaXB0LmFzeW5jID0gdHJ1ZTtcbiAgc2NyaXB0LnNyYyA9IHRoaXMudXJpKCk7XG4gIHNjcmlwdC5vbmVycm9yID0gZnVuY3Rpb24gKGUpIHtcbiAgICBzZWxmLm9uRXJyb3IoJ2pzb25wIHBvbGwgZXJyb3InLCBlKTtcbiAgfTtcblxuICB2YXIgaW5zZXJ0QXQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF07XG4gIGlmIChpbnNlcnRBdCkge1xuICAgIGluc2VydEF0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHNjcmlwdCwgaW5zZXJ0QXQpO1xuICB9IGVsc2Uge1xuICAgIChkb2N1bWVudC5oZWFkIHx8IGRvY3VtZW50LmJvZHkpLmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gIH1cbiAgdGhpcy5zY3JpcHQgPSBzY3JpcHQ7XG5cbiAgdmFyIGlzVUFnZWNrbyA9ICd1bmRlZmluZWQnICE9PSB0eXBlb2YgbmF2aWdhdG9yICYmIC9nZWNrby9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG5cbiAgaWYgKGlzVUFnZWNrbykge1xuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpO1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpO1xuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChpZnJhbWUpO1xuICAgIH0sIDEwMCk7XG4gIH1cbn07XG5cbi8qKlxuICogV3JpdGVzIHdpdGggYSBoaWRkZW4gaWZyYW1lLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBkYXRhIHRvIHNlbmRcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGNhbGxlZCB1cG9uIGZsdXNoLlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuSlNPTlBQb2xsaW5nLnByb3RvdHlwZS5kb1dyaXRlID0gZnVuY3Rpb24gKGRhdGEsIGZuKSB7XG4gIHZhciBzZWxmID0gdGhpcztcblxuICBpZiAoIXRoaXMuZm9ybSkge1xuICAgIHZhciBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZm9ybScpO1xuICAgIHZhciBhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4dGFyZWEnKTtcbiAgICB2YXIgaWQgPSB0aGlzLmlmcmFtZUlkID0gJ2Vpb19pZnJhbWVfJyArIHRoaXMuaW5kZXg7XG4gICAgdmFyIGlmcmFtZTtcblxuICAgIGZvcm0uY2xhc3NOYW1lID0gJ3NvY2tldGlvJztcbiAgICBmb3JtLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICBmb3JtLnN0eWxlLnRvcCA9ICctMTAwMHB4JztcbiAgICBmb3JtLnN0eWxlLmxlZnQgPSAnLTEwMDBweCc7XG4gICAgZm9ybS50YXJnZXQgPSBpZDtcbiAgICBmb3JtLm1ldGhvZCA9ICdQT1NUJztcbiAgICBmb3JtLnNldEF0dHJpYnV0ZSgnYWNjZXB0LWNoYXJzZXQnLCAndXRmLTgnKTtcbiAgICBhcmVhLm5hbWUgPSAnZCc7XG4gICAgZm9ybS5hcHBlbmRDaGlsZChhcmVhKTtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZvcm0pO1xuXG4gICAgdGhpcy5mb3JtID0gZm9ybTtcbiAgICB0aGlzLmFyZWEgPSBhcmVhO1xuICB9XG5cbiAgdGhpcy5mb3JtLmFjdGlvbiA9IHRoaXMudXJpKCk7XG5cbiAgZnVuY3Rpb24gY29tcGxldGUgKCkge1xuICAgIGluaXRJZnJhbWUoKTtcbiAgICBmbigpO1xuICB9XG5cbiAgZnVuY3Rpb24gaW5pdElmcmFtZSAoKSB7XG4gICAgaWYgKHNlbGYuaWZyYW1lKSB7XG4gICAgICB0cnkge1xuICAgICAgICBzZWxmLmZvcm0ucmVtb3ZlQ2hpbGQoc2VsZi5pZnJhbWUpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBzZWxmLm9uRXJyb3IoJ2pzb25wIHBvbGxpbmcgaWZyYW1lIHJlbW92YWwgZXJyb3InLCBlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgLy8gaWU2IGR5bmFtaWMgaWZyYW1lcyB3aXRoIHRhcmdldD1cIlwiIHN1cHBvcnQgKHRoYW5rcyBDaHJpcyBMYW1iYWNoZXIpXG4gICAgICB2YXIgaHRtbCA9ICc8aWZyYW1lIHNyYz1cImphdmFzY3JpcHQ6MFwiIG5hbWU9XCInICsgc2VsZi5pZnJhbWVJZCArICdcIj4nO1xuICAgICAgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChodG1sKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTtcbiAgICAgIGlmcmFtZS5uYW1lID0gc2VsZi5pZnJhbWVJZDtcbiAgICAgIGlmcmFtZS5zcmMgPSAnamF2YXNjcmlwdDowJztcbiAgICB9XG5cbiAgICBpZnJhbWUuaWQgPSBzZWxmLmlmcmFtZUlkO1xuXG4gICAgc2VsZi5mb3JtLmFwcGVuZENoaWxkKGlmcmFtZSk7XG4gICAgc2VsZi5pZnJhbWUgPSBpZnJhbWU7XG4gIH1cblxuICBpbml0SWZyYW1lKCk7XG5cbiAgLy8gZXNjYXBlIFxcbiB0byBwcmV2ZW50IGl0IGZyb20gYmVpbmcgY29udmVydGVkIGludG8gXFxyXFxuIGJ5IHNvbWUgVUFzXG4gIC8vIGRvdWJsZSBlc2NhcGluZyBpcyByZXF1aXJlZCBmb3IgZXNjYXBlZCBuZXcgbGluZXMgYmVjYXVzZSB1bmVzY2FwaW5nIG9mIG5ldyBsaW5lcyBjYW4gYmUgZG9uZSBzYWZlbHkgb24gc2VydmVyLXNpZGVcbiAgZGF0YSA9IGRhdGEucmVwbGFjZShyRXNjYXBlZE5ld2xpbmUsICdcXFxcXFxuJyk7XG4gIHRoaXMuYXJlYS52YWx1ZSA9IGRhdGEucmVwbGFjZShyTmV3bGluZSwgJ1xcXFxuJyk7XG5cbiAgdHJ5IHtcbiAgICB0aGlzLmZvcm0uc3VibWl0KCk7XG4gIH0gY2F0Y2ggKGUpIHt9XG5cbiAgaWYgKHRoaXMuaWZyYW1lLmF0dGFjaEV2ZW50KSB7XG4gICAgdGhpcy5pZnJhbWUub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKHNlbGYuaWZyYW1lLnJlYWR5U3RhdGUgPT09ICdjb21wbGV0ZScpIHtcbiAgICAgICAgY29tcGxldGUoKTtcbiAgICAgIH1cbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHRoaXMuaWZyYW1lLm9ubG9hZCA9IGNvbXBsZXRlO1xuICB9XG59O1xuIiwiLyogZ2xvYmFsIGF0dGFjaEV2ZW50ICovXG5cbi8qKlxuICogTW9kdWxlIHJlcXVpcmVtZW50cy5cbiAqL1xuXG52YXIgWE1MSHR0cFJlcXVlc3QgPSByZXF1aXJlKCd4bWxodHRwcmVxdWVzdC1zc2wnKTtcbnZhciBQb2xsaW5nID0gcmVxdWlyZSgnLi9wb2xsaW5nJyk7XG52YXIgRW1pdHRlciA9IHJlcXVpcmUoJ2NvbXBvbmVudC1lbWl0dGVyJyk7XG52YXIgaW5oZXJpdCA9IHJlcXVpcmUoJ2NvbXBvbmVudC1pbmhlcml0Jyk7XG52YXIgZGVidWcgPSByZXF1aXJlKCdkZWJ1ZycpKCdlbmdpbmUuaW8tY2xpZW50OnBvbGxpbmcteGhyJyk7XG5cbi8qKlxuICogTW9kdWxlIGV4cG9ydHMuXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBYSFI7XG5tb2R1bGUuZXhwb3J0cy5SZXF1ZXN0ID0gUmVxdWVzdDtcblxuLyoqXG4gKiBFbXB0eSBmdW5jdGlvblxuICovXG5cbmZ1bmN0aW9uIGVtcHR5ICgpIHt9XG5cbi8qKlxuICogWEhSIFBvbGxpbmcgY29uc3RydWN0b3IuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9wdHNcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZnVuY3Rpb24gWEhSIChvcHRzKSB7XG4gIFBvbGxpbmcuY2FsbCh0aGlzLCBvcHRzKTtcbiAgdGhpcy5yZXF1ZXN0VGltZW91dCA9IG9wdHMucmVxdWVzdFRpbWVvdXQ7XG4gIHRoaXMuZXh0cmFIZWFkZXJzID0gb3B0cy5leHRyYUhlYWRlcnM7XG5cbiAgaWYgKHR5cGVvZiBsb2NhdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICB2YXIgaXNTU0wgPSAnaHR0cHM6JyA9PT0gbG9jYXRpb24ucHJvdG9jb2w7XG4gICAgdmFyIHBvcnQgPSBsb2NhdGlvbi5wb3J0O1xuXG4gICAgLy8gc29tZSB1c2VyIGFnZW50cyBoYXZlIGVtcHR5IGBsb2NhdGlvbi5wb3J0YFxuICAgIGlmICghcG9ydCkge1xuICAgICAgcG9ydCA9IGlzU1NMID8gNDQzIDogODA7XG4gICAgfVxuXG4gICAgdGhpcy54ZCA9ICh0eXBlb2YgbG9jYXRpb24gIT09ICd1bmRlZmluZWQnICYmIG9wdHMuaG9zdG5hbWUgIT09IGxvY2F0aW9uLmhvc3RuYW1lKSB8fFxuICAgICAgcG9ydCAhPT0gb3B0cy5wb3J0O1xuICAgIHRoaXMueHMgPSBvcHRzLnNlY3VyZSAhPT0gaXNTU0w7XG4gIH1cbn1cblxuLyoqXG4gKiBJbmhlcml0cyBmcm9tIFBvbGxpbmcuXG4gKi9cblxuaW5oZXJpdChYSFIsIFBvbGxpbmcpO1xuXG4vKipcbiAqIFhIUiBzdXBwb3J0cyBiaW5hcnlcbiAqL1xuXG5YSFIucHJvdG90eXBlLnN1cHBvcnRzQmluYXJ5ID0gdHJ1ZTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgcmVxdWVzdC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gbWV0aG9kXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5YSFIucHJvdG90eXBlLnJlcXVlc3QgPSBmdW5jdGlvbiAob3B0cykge1xuICBvcHRzID0gb3B0cyB8fCB7fTtcbiAgb3B0cy51cmkgPSB0aGlzLnVyaSgpO1xuICBvcHRzLnhkID0gdGhpcy54ZDtcbiAgb3B0cy54cyA9IHRoaXMueHM7XG4gIG9wdHMuYWdlbnQgPSB0aGlzLmFnZW50IHx8IGZhbHNlO1xuICBvcHRzLnN1cHBvcnRzQmluYXJ5ID0gdGhpcy5zdXBwb3J0c0JpbmFyeTtcbiAgb3B0cy5lbmFibGVzWERSID0gdGhpcy5lbmFibGVzWERSO1xuXG4gIC8vIFNTTCBvcHRpb25zIGZvciBOb2RlLmpzIGNsaWVudFxuICBvcHRzLnBmeCA9IHRoaXMucGZ4O1xuICBvcHRzLmtleSA9IHRoaXMua2V5O1xuICBvcHRzLnBhc3NwaHJhc2UgPSB0aGlzLnBhc3NwaHJhc2U7XG4gIG9wdHMuY2VydCA9IHRoaXMuY2VydDtcbiAgb3B0cy5jYSA9IHRoaXMuY2E7XG4gIG9wdHMuY2lwaGVycyA9IHRoaXMuY2lwaGVycztcbiAgb3B0cy5yZWplY3RVbmF1dGhvcml6ZWQgPSB0aGlzLnJlamVjdFVuYXV0aG9yaXplZDtcbiAgb3B0cy5yZXF1ZXN0VGltZW91dCA9IHRoaXMucmVxdWVzdFRpbWVvdXQ7XG5cbiAgLy8gb3RoZXIgb3B0aW9ucyBmb3IgTm9kZS5qcyBjbGllbnRcbiAgb3B0cy5leHRyYUhlYWRlcnMgPSB0aGlzLmV4dHJhSGVhZGVycztcblxuICByZXR1cm4gbmV3IFJlcXVlc3Qob3B0cyk7XG59O1xuXG4vKipcbiAqIFNlbmRzIGRhdGEuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGRhdGEgdG8gc2VuZC5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGNhbGxlZCB1cG9uIGZsdXNoLlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuWEhSLnByb3RvdHlwZS5kb1dyaXRlID0gZnVuY3Rpb24gKGRhdGEsIGZuKSB7XG4gIHZhciBpc0JpbmFyeSA9IHR5cGVvZiBkYXRhICE9PSAnc3RyaW5nJyAmJiBkYXRhICE9PSB1bmRlZmluZWQ7XG4gIHZhciByZXEgPSB0aGlzLnJlcXVlc3QoeyBtZXRob2Q6ICdQT1NUJywgZGF0YTogZGF0YSwgaXNCaW5hcnk6IGlzQmluYXJ5IH0pO1xuICB2YXIgc2VsZiA9IHRoaXM7XG4gIHJlcS5vbignc3VjY2VzcycsIGZuKTtcbiAgcmVxLm9uKCdlcnJvcicsIGZ1bmN0aW9uIChlcnIpIHtcbiAgICBzZWxmLm9uRXJyb3IoJ3hociBwb3N0IGVycm9yJywgZXJyKTtcbiAgfSk7XG4gIHRoaXMuc2VuZFhociA9IHJlcTtcbn07XG5cbi8qKlxuICogU3RhcnRzIGEgcG9sbCBjeWNsZS5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5YSFIucHJvdG90eXBlLmRvUG9sbCA9IGZ1bmN0aW9uICgpIHtcbiAgZGVidWcoJ3hociBwb2xsJyk7XG4gIHZhciByZXEgPSB0aGlzLnJlcXVlc3QoKTtcbiAgdmFyIHNlbGYgPSB0aGlzO1xuICByZXEub24oJ2RhdGEnLCBmdW5jdGlvbiAoZGF0YSkge1xuICAgIHNlbGYub25EYXRhKGRhdGEpO1xuICB9KTtcbiAgcmVxLm9uKCdlcnJvcicsIGZ1bmN0aW9uIChlcnIpIHtcbiAgICBzZWxmLm9uRXJyb3IoJ3hociBwb2xsIGVycm9yJywgZXJyKTtcbiAgfSk7XG4gIHRoaXMucG9sbFhociA9IHJlcTtcbn07XG5cbi8qKlxuICogUmVxdWVzdCBjb25zdHJ1Y3RvclxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIFJlcXVlc3QgKG9wdHMpIHtcbiAgdGhpcy5tZXRob2QgPSBvcHRzLm1ldGhvZCB8fCAnR0VUJztcbiAgdGhpcy51cmkgPSBvcHRzLnVyaTtcbiAgdGhpcy54ZCA9ICEhb3B0cy54ZDtcbiAgdGhpcy54cyA9ICEhb3B0cy54cztcbiAgdGhpcy5hc3luYyA9IGZhbHNlICE9PSBvcHRzLmFzeW5jO1xuICB0aGlzLmRhdGEgPSB1bmRlZmluZWQgIT09IG9wdHMuZGF0YSA/IG9wdHMuZGF0YSA6IG51bGw7XG4gIHRoaXMuYWdlbnQgPSBvcHRzLmFnZW50O1xuICB0aGlzLmlzQmluYXJ5ID0gb3B0cy5pc0JpbmFyeTtcbiAgdGhpcy5zdXBwb3J0c0JpbmFyeSA9IG9wdHMuc3VwcG9ydHNCaW5hcnk7XG4gIHRoaXMuZW5hYmxlc1hEUiA9IG9wdHMuZW5hYmxlc1hEUjtcbiAgdGhpcy5yZXF1ZXN0VGltZW91dCA9IG9wdHMucmVxdWVzdFRpbWVvdXQ7XG5cbiAgLy8gU1NMIG9wdGlvbnMgZm9yIE5vZGUuanMgY2xpZW50XG4gIHRoaXMucGZ4ID0gb3B0cy5wZng7XG4gIHRoaXMua2V5ID0gb3B0cy5rZXk7XG4gIHRoaXMucGFzc3BocmFzZSA9IG9wdHMucGFzc3BocmFzZTtcbiAgdGhpcy5jZXJ0ID0gb3B0cy5jZXJ0O1xuICB0aGlzLmNhID0gb3B0cy5jYTtcbiAgdGhpcy5jaXBoZXJzID0gb3B0cy5jaXBoZXJzO1xuICB0aGlzLnJlamVjdFVuYXV0aG9yaXplZCA9IG9wdHMucmVqZWN0VW5hdXRob3JpemVkO1xuXG4gIC8vIG90aGVyIG9wdGlvbnMgZm9yIE5vZGUuanMgY2xpZW50XG4gIHRoaXMuZXh0cmFIZWFkZXJzID0gb3B0cy5leHRyYUhlYWRlcnM7XG5cbiAgdGhpcy5jcmVhdGUoKTtcbn1cblxuLyoqXG4gKiBNaXggaW4gYEVtaXR0ZXJgLlxuICovXG5cbkVtaXR0ZXIoUmVxdWVzdC5wcm90b3R5cGUpO1xuXG4vKipcbiAqIENyZWF0ZXMgdGhlIFhIUiBvYmplY3QgYW5kIHNlbmRzIHRoZSByZXF1ZXN0LlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblJlcXVlc3QucHJvdG90eXBlLmNyZWF0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIG9wdHMgPSB7IGFnZW50OiB0aGlzLmFnZW50LCB4ZG9tYWluOiB0aGlzLnhkLCB4c2NoZW1lOiB0aGlzLnhzLCBlbmFibGVzWERSOiB0aGlzLmVuYWJsZXNYRFIgfTtcblxuICAvLyBTU0wgb3B0aW9ucyBmb3IgTm9kZS5qcyBjbGllbnRcbiAgb3B0cy5wZnggPSB0aGlzLnBmeDtcbiAgb3B0cy5rZXkgPSB0aGlzLmtleTtcbiAgb3B0cy5wYXNzcGhyYXNlID0gdGhpcy5wYXNzcGhyYXNlO1xuICBvcHRzLmNlcnQgPSB0aGlzLmNlcnQ7XG4gIG9wdHMuY2EgPSB0aGlzLmNhO1xuICBvcHRzLmNpcGhlcnMgPSB0aGlzLmNpcGhlcnM7XG4gIG9wdHMucmVqZWN0VW5hdXRob3JpemVkID0gdGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ7XG5cbiAgdmFyIHhociA9IHRoaXMueGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KG9wdHMpO1xuICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgdHJ5IHtcbiAgICBkZWJ1ZygneGhyIG9wZW4gJXM6ICVzJywgdGhpcy5tZXRob2QsIHRoaXMudXJpKTtcbiAgICB4aHIub3Blbih0aGlzLm1ldGhvZCwgdGhpcy51cmksIHRoaXMuYXN5bmMpO1xuICAgIHRyeSB7XG4gICAgICBpZiAodGhpcy5leHRyYUhlYWRlcnMpIHtcbiAgICAgICAgeGhyLnNldERpc2FibGVIZWFkZXJDaGVjayAmJiB4aHIuc2V0RGlzYWJsZUhlYWRlckNoZWNrKHRydWUpO1xuICAgICAgICBmb3IgKHZhciBpIGluIHRoaXMuZXh0cmFIZWFkZXJzKSB7XG4gICAgICAgICAgaWYgKHRoaXMuZXh0cmFIZWFkZXJzLmhhc093blByb3BlcnR5KGkpKSB7XG4gICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcihpLCB0aGlzLmV4dHJhSGVhZGVyc1tpXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge31cblxuICAgIGlmICgnUE9TVCcgPT09IHRoaXMubWV0aG9kKSB7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAodGhpcy5pc0JpbmFyeSkge1xuICAgICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoJ0NvbnRlbnQtdHlwZScsICd0ZXh0L3BsYWluO2NoYXJzZXQ9VVRGLTgnKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZSkge31cbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoJ0FjY2VwdCcsICcqLyonKTtcbiAgICB9IGNhdGNoIChlKSB7fVxuXG4gICAgLy8gaWU2IGNoZWNrXG4gICAgaWYgKCd3aXRoQ3JlZGVudGlhbHMnIGluIHhocikge1xuICAgICAgeGhyLndpdGhDcmVkZW50aWFscyA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucmVxdWVzdFRpbWVvdXQpIHtcbiAgICAgIHhoci50aW1lb3V0ID0gdGhpcy5yZXF1ZXN0VGltZW91dDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5oYXNYRFIoKSkge1xuICAgICAgeGhyLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgc2VsZi5vbkxvYWQoKTtcbiAgICAgIH07XG4gICAgICB4aHIub25lcnJvciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgc2VsZi5vbkVycm9yKHhoci5yZXNwb25zZVRleHQpO1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKHhoci5yZWFkeVN0YXRlID09PSAyKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhciBjb250ZW50VHlwZSA9IHhoci5nZXRSZXNwb25zZUhlYWRlcignQ29udGVudC1UeXBlJyk7XG4gICAgICAgICAgICBpZiAoc2VsZi5zdXBwb3J0c0JpbmFyeSAmJiBjb250ZW50VHlwZSA9PT0gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScpIHtcbiAgICAgICAgICAgICAgeGhyLnJlc3BvbnNlVHlwZSA9ICdhcnJheWJ1ZmZlcic7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBjYXRjaCAoZSkge31cbiAgICAgICAgfVxuICAgICAgICBpZiAoNCAhPT0geGhyLnJlYWR5U3RhdGUpIHJldHVybjtcbiAgICAgICAgaWYgKDIwMCA9PT0geGhyLnN0YXR1cyB8fCAxMjIzID09PSB4aHIuc3RhdHVzKSB7XG4gICAgICAgICAgc2VsZi5vbkxvYWQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBtYWtlIHN1cmUgdGhlIGBlcnJvcmAgZXZlbnQgaGFuZGxlciB0aGF0J3MgdXNlci1zZXRcbiAgICAgICAgICAvLyBkb2VzIG5vdCB0aHJvdyBpbiB0aGUgc2FtZSB0aWNrIGFuZCBnZXRzIGNhdWdodCBoZXJlXG4gICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBzZWxmLm9uRXJyb3IoeGhyLnN0YXR1cyk7XG4gICAgICAgICAgfSwgMCk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgZGVidWcoJ3hociBkYXRhICVzJywgdGhpcy5kYXRhKTtcbiAgICB4aHIuc2VuZCh0aGlzLmRhdGEpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gTmVlZCB0byBkZWZlciBzaW5jZSAuY3JlYXRlKCkgaXMgY2FsbGVkIGRpcmVjdGx5IGZocm9tIHRoZSBjb25zdHJ1Y3RvclxuICAgIC8vIGFuZCB0aHVzIHRoZSAnZXJyb3InIGV2ZW50IGNhbiBvbmx5IGJlIG9ubHkgYm91bmQgKmFmdGVyKiB0aGlzIGV4Y2VwdGlvblxuICAgIC8vIG9jY3Vycy4gIFRoZXJlZm9yZSwgYWxzbywgd2UgY2Fubm90IHRocm93IGhlcmUgYXQgYWxsLlxuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgc2VsZi5vbkVycm9yKGUpO1xuICAgIH0sIDApO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgdGhpcy5pbmRleCA9IFJlcXVlc3QucmVxdWVzdHNDb3VudCsrO1xuICAgIFJlcXVlc3QucmVxdWVzdHNbdGhpcy5pbmRleF0gPSB0aGlzO1xuICB9XG59O1xuXG4vKipcbiAqIENhbGxlZCB1cG9uIHN1Y2Nlc3NmdWwgcmVzcG9uc2UuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuUmVxdWVzdC5wcm90b3R5cGUub25TdWNjZXNzID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLmVtaXQoJ3N1Y2Nlc3MnKTtcbiAgdGhpcy5jbGVhbnVwKCk7XG59O1xuXG4vKipcbiAqIENhbGxlZCBpZiB3ZSBoYXZlIGRhdGEuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuUmVxdWVzdC5wcm90b3R5cGUub25EYXRhID0gZnVuY3Rpb24gKGRhdGEpIHtcbiAgdGhpcy5lbWl0KCdkYXRhJywgZGF0YSk7XG4gIHRoaXMub25TdWNjZXNzKCk7XG59O1xuXG4vKipcbiAqIENhbGxlZCB1cG9uIGVycm9yLlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblJlcXVlc3QucHJvdG90eXBlLm9uRXJyb3IgPSBmdW5jdGlvbiAoZXJyKSB7XG4gIHRoaXMuZW1pdCgnZXJyb3InLCBlcnIpO1xuICB0aGlzLmNsZWFudXAodHJ1ZSk7XG59O1xuXG4vKipcbiAqIENsZWFucyB1cCBob3VzZS5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5SZXF1ZXN0LnByb3RvdHlwZS5jbGVhbnVwID0gZnVuY3Rpb24gKGZyb21FcnJvcikge1xuICBpZiAoJ3VuZGVmaW5lZCcgPT09IHR5cGVvZiB0aGlzLnhociB8fCBudWxsID09PSB0aGlzLnhocikge1xuICAgIHJldHVybjtcbiAgfVxuICAvLyB4bWxodHRwcmVxdWVzdFxuICBpZiAodGhpcy5oYXNYRFIoKSkge1xuICAgIHRoaXMueGhyLm9ubG9hZCA9IHRoaXMueGhyLm9uZXJyb3IgPSBlbXB0eTtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLnhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBlbXB0eTtcbiAgfVxuXG4gIGlmIChmcm9tRXJyb3IpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy54aHIuYWJvcnQoKTtcbiAgICB9IGNhdGNoIChlKSB7fVxuICB9XG5cbiAgaWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBkZWxldGUgUmVxdWVzdC5yZXF1ZXN0c1t0aGlzLmluZGV4XTtcbiAgfVxuXG4gIHRoaXMueGhyID0gbnVsbDtcbn07XG5cbi8qKlxuICogQ2FsbGVkIHVwb24gbG9hZC5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5SZXF1ZXN0LnByb3RvdHlwZS5vbkxvYWQgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBkYXRhO1xuICB0cnkge1xuICAgIHZhciBjb250ZW50VHlwZTtcbiAgICB0cnkge1xuICAgICAgY29udGVudFR5cGUgPSB0aGlzLnhoci5nZXRSZXNwb25zZUhlYWRlcignQ29udGVudC1UeXBlJyk7XG4gICAgfSBjYXRjaCAoZSkge31cbiAgICBpZiAoY29udGVudFR5cGUgPT09ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nKSB7XG4gICAgICBkYXRhID0gdGhpcy54aHIucmVzcG9uc2UgfHwgdGhpcy54aHIucmVzcG9uc2VUZXh0O1xuICAgIH0gZWxzZSB7XG4gICAgICBkYXRhID0gdGhpcy54aHIucmVzcG9uc2VUZXh0O1xuICAgIH1cbiAgfSBjYXRjaCAoZSkge1xuICAgIHRoaXMub25FcnJvcihlKTtcbiAgfVxuICBpZiAobnVsbCAhPSBkYXRhKSB7XG4gICAgdGhpcy5vbkRhdGEoZGF0YSk7XG4gIH1cbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgaXQgaGFzIFhEb21haW5SZXF1ZXN0LlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblJlcXVlc3QucHJvdG90eXBlLmhhc1hEUiA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHR5cGVvZiBYRG9tYWluUmVxdWVzdCAhPT0gJ3VuZGVmaW5lZCcgJiYgIXRoaXMueHMgJiYgdGhpcy5lbmFibGVzWERSO1xufTtcblxuLyoqXG4gKiBBYm9ydHMgdGhlIHJlcXVlc3QuXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5SZXF1ZXN0LnByb3RvdHlwZS5hYm9ydCA9IGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5jbGVhbnVwKCk7XG59O1xuXG4vKipcbiAqIEFib3J0cyBwZW5kaW5nIHJlcXVlc3RzIHdoZW4gdW5sb2FkaW5nIHRoZSB3aW5kb3cuIFRoaXMgaXMgbmVlZGVkIHRvIHByZXZlbnRcbiAqIG1lbW9yeSBsZWFrcyAoZS5nLiB3aGVuIHVzaW5nIElFKSBhbmQgdG8gZW5zdXJlIHRoYXQgbm8gc3B1cmlvdXMgZXJyb3IgaXNcbiAqIGVtaXR0ZWQuXG4gKi9cblxuUmVxdWVzdC5yZXF1ZXN0c0NvdW50ID0gMDtcblJlcXVlc3QucmVxdWVzdHMgPSB7fTtcblxuaWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgaWYgKHR5cGVvZiBhdHRhY2hFdmVudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGF0dGFjaEV2ZW50KCdvbnVubG9hZCcsIHVubG9hZEhhbmRsZXIpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBhZGRFdmVudExpc3RlbmVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdmFyIHRlcm1pbmF0aW9uRXZlbnQgPSAnb25wYWdlaGlkZScgaW4gc2VsZiA/ICdwYWdlaGlkZScgOiAndW5sb2FkJztcbiAgICBhZGRFdmVudExpc3RlbmVyKHRlcm1pbmF0aW9uRXZlbnQsIHVubG9hZEhhbmRsZXIsIGZhbHNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bmxvYWRIYW5kbGVyICgpIHtcbiAgZm9yICh2YXIgaSBpbiBSZXF1ZXN0LnJlcXVlc3RzKSB7XG4gICAgaWYgKFJlcXVlc3QucmVxdWVzdHMuaGFzT3duUHJvcGVydHkoaSkpIHtcbiAgICAgIFJlcXVlc3QucmVxdWVzdHNbaV0uYWJvcnQoKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogTW9kdWxlIGRlcGVuZGVuY2llcy5cbiAqL1xuXG52YXIgVHJhbnNwb3J0ID0gcmVxdWlyZSgnLi4vdHJhbnNwb3J0Jyk7XG52YXIgcGFyc2VxcyA9IHJlcXVpcmUoJ3BhcnNlcXMnKTtcbnZhciBwYXJzZXIgPSByZXF1aXJlKCdlbmdpbmUuaW8tcGFyc2VyJyk7XG52YXIgaW5oZXJpdCA9IHJlcXVpcmUoJ2NvbXBvbmVudC1pbmhlcml0Jyk7XG52YXIgeWVhc3QgPSByZXF1aXJlKCd5ZWFzdCcpO1xudmFyIGRlYnVnID0gcmVxdWlyZSgnZGVidWcnKSgnZW5naW5lLmlvLWNsaWVudDpwb2xsaW5nJyk7XG5cbi8qKlxuICogTW9kdWxlIGV4cG9ydHMuXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBQb2xsaW5nO1xuXG4vKipcbiAqIElzIFhIUjIgc3VwcG9ydGVkP1xuICovXG5cbnZhciBoYXNYSFIyID0gKGZ1bmN0aW9uICgpIHtcbiAgdmFyIFhNTEh0dHBSZXF1ZXN0ID0gcmVxdWlyZSgneG1saHR0cHJlcXVlc3Qtc3NsJyk7XG4gIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoeyB4ZG9tYWluOiBmYWxzZSB9KTtcbiAgcmV0dXJuIG51bGwgIT0geGhyLnJlc3BvbnNlVHlwZTtcbn0pKCk7XG5cbi8qKlxuICogUG9sbGluZyBpbnRlcmZhY2UuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9wdHNcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIFBvbGxpbmcgKG9wdHMpIHtcbiAgdmFyIGZvcmNlQmFzZTY0ID0gKG9wdHMgJiYgb3B0cy5mb3JjZUJhc2U2NCk7XG4gIGlmICghaGFzWEhSMiB8fCBmb3JjZUJhc2U2NCkge1xuICAgIHRoaXMuc3VwcG9ydHNCaW5hcnkgPSBmYWxzZTtcbiAgfVxuICBUcmFuc3BvcnQuY2FsbCh0aGlzLCBvcHRzKTtcbn1cblxuLyoqXG4gKiBJbmhlcml0cyBmcm9tIFRyYW5zcG9ydC5cbiAqL1xuXG5pbmhlcml0KFBvbGxpbmcsIFRyYW5zcG9ydCk7XG5cbi8qKlxuICogVHJhbnNwb3J0IG5hbWUuXG4gKi9cblxuUG9sbGluZy5wcm90b3R5cGUubmFtZSA9ICdwb2xsaW5nJztcblxuLyoqXG4gKiBPcGVucyB0aGUgc29ja2V0ICh0cmlnZ2VycyBwb2xsaW5nKS4gV2Ugd3JpdGUgYSBQSU5HIG1lc3NhZ2UgdG8gZGV0ZXJtaW5lXG4gKiB3aGVuIHRoZSB0cmFuc3BvcnQgaXMgb3Blbi5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Qb2xsaW5nLnByb3RvdHlwZS5kb09wZW4gPSBmdW5jdGlvbiAoKSB7XG4gIHRoaXMucG9sbCgpO1xufTtcblxuLyoqXG4gKiBQYXVzZXMgcG9sbGluZy5cbiAqXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBjYWxsYmFjayB1cG9uIGJ1ZmZlcnMgYXJlIGZsdXNoZWQgYW5kIHRyYW5zcG9ydCBpcyBwYXVzZWRcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblBvbGxpbmcucHJvdG90eXBlLnBhdXNlID0gZnVuY3Rpb24gKG9uUGF1c2UpIHtcbiAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gIHRoaXMucmVhZHlTdGF0ZSA9ICdwYXVzaW5nJztcblxuICBmdW5jdGlvbiBwYXVzZSAoKSB7XG4gICAgZGVidWcoJ3BhdXNlZCcpO1xuICAgIHNlbGYucmVhZHlTdGF0ZSA9ICdwYXVzZWQnO1xuICAgIG9uUGF1c2UoKTtcbiAgfVxuXG4gIGlmICh0aGlzLnBvbGxpbmcgfHwgIXRoaXMud3JpdGFibGUpIHtcbiAgICB2YXIgdG90YWwgPSAwO1xuXG4gICAgaWYgKHRoaXMucG9sbGluZykge1xuICAgICAgZGVidWcoJ3dlIGFyZSBjdXJyZW50bHkgcG9sbGluZyAtIHdhaXRpbmcgdG8gcGF1c2UnKTtcbiAgICAgIHRvdGFsKys7XG4gICAgICB0aGlzLm9uY2UoJ3BvbGxDb21wbGV0ZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZGVidWcoJ3ByZS1wYXVzZSBwb2xsaW5nIGNvbXBsZXRlJyk7XG4gICAgICAgIC0tdG90YWwgfHwgcGF1c2UoKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICghdGhpcy53cml0YWJsZSkge1xuICAgICAgZGVidWcoJ3dlIGFyZSBjdXJyZW50bHkgd3JpdGluZyAtIHdhaXRpbmcgdG8gcGF1c2UnKTtcbiAgICAgIHRvdGFsKys7XG4gICAgICB0aGlzLm9uY2UoJ2RyYWluJywgZnVuY3Rpb24gKCkge1xuICAgICAgICBkZWJ1ZygncHJlLXBhdXNlIHdyaXRpbmcgY29tcGxldGUnKTtcbiAgICAgICAgLS10b3RhbCB8fCBwYXVzZSgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHBhdXNlKCk7XG4gIH1cbn07XG5cbi8qKlxuICogU3RhcnRzIHBvbGxpbmcgY3ljbGUuXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5Qb2xsaW5nLnByb3RvdHlwZS5wb2xsID0gZnVuY3Rpb24gKCkge1xuICBkZWJ1ZygncG9sbGluZycpO1xuICB0aGlzLnBvbGxpbmcgPSB0cnVlO1xuICB0aGlzLmRvUG9sbCgpO1xuICB0aGlzLmVtaXQoJ3BvbGwnKTtcbn07XG5cbi8qKlxuICogT3ZlcmxvYWRzIG9uRGF0YSB0byBkZXRlY3QgcGF5bG9hZHMuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuUG9sbGluZy5wcm90b3R5cGUub25EYXRhID0gZnVuY3Rpb24gKGRhdGEpIHtcbiAgdmFyIHNlbGYgPSB0aGlzO1xuICBkZWJ1ZygncG9sbGluZyBnb3QgZGF0YSAlcycsIGRhdGEpO1xuICB2YXIgY2FsbGJhY2sgPSBmdW5jdGlvbiAocGFja2V0LCBpbmRleCwgdG90YWwpIHtcbiAgICAvLyBpZiBpdHMgdGhlIGZpcnN0IG1lc3NhZ2Ugd2UgY29uc2lkZXIgdGhlIHRyYW5zcG9ydCBvcGVuXG4gICAgaWYgKCdvcGVuaW5nJyA9PT0gc2VsZi5yZWFkeVN0YXRlKSB7XG4gICAgICBzZWxmLm9uT3BlbigpO1xuICAgIH1cblxuICAgIC8vIGlmIGl0cyBhIGNsb3NlIHBhY2tldCwgd2UgY2xvc2UgdGhlIG9uZ29pbmcgcmVxdWVzdHNcbiAgICBpZiAoJ2Nsb3NlJyA9PT0gcGFja2V0LnR5cGUpIHtcbiAgICAgIHNlbGYub25DbG9zZSgpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIG90aGVyd2lzZSBieXBhc3Mgb25EYXRhIGFuZCBoYW5kbGUgdGhlIG1lc3NhZ2VcbiAgICBzZWxmLm9uUGFja2V0KHBhY2tldCk7XG4gIH07XG5cbiAgLy8gZGVjb2RlIHBheWxvYWRcbiAgcGFyc2VyLmRlY29kZVBheWxvYWQoZGF0YSwgdGhpcy5zb2NrZXQuYmluYXJ5VHlwZSwgY2FsbGJhY2spO1xuXG4gIC8vIGlmIGFuIGV2ZW50IGRpZCBub3QgdHJpZ2dlciBjbG9zaW5nXG4gIGlmICgnY2xvc2VkJyAhPT0gdGhpcy5yZWFkeVN0YXRlKSB7XG4gICAgLy8gaWYgd2UgZ290IGRhdGEgd2UncmUgbm90IHBvbGxpbmdcbiAgICB0aGlzLnBvbGxpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmVtaXQoJ3BvbGxDb21wbGV0ZScpO1xuXG4gICAgaWYgKCdvcGVuJyA9PT0gdGhpcy5yZWFkeVN0YXRlKSB7XG4gICAgICB0aGlzLnBvbGwoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVidWcoJ2lnbm9yaW5nIHBvbGwgLSB0cmFuc3BvcnQgc3RhdGUgXCIlc1wiJywgdGhpcy5yZWFkeVN0YXRlKTtcbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogRm9yIHBvbGxpbmcsIHNlbmQgYSBjbG9zZSBwYWNrZXQuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuUG9sbGluZy5wcm90b3R5cGUuZG9DbG9zZSA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gIGZ1bmN0aW9uIGNsb3NlICgpIHtcbiAgICBkZWJ1Zygnd3JpdGluZyBjbG9zZSBwYWNrZXQnKTtcbiAgICBzZWxmLndyaXRlKFt7IHR5cGU6ICdjbG9zZScgfV0pO1xuICB9XG5cbiAgaWYgKCdvcGVuJyA9PT0gdGhpcy5yZWFkeVN0YXRlKSB7XG4gICAgZGVidWcoJ3RyYW5zcG9ydCBvcGVuIC0gY2xvc2luZycpO1xuICAgIGNsb3NlKCk7XG4gIH0gZWxzZSB7XG4gICAgLy8gaW4gY2FzZSB3ZSdyZSB0cnlpbmcgdG8gY2xvc2Ugd2hpbGVcbiAgICAvLyBoYW5kc2hha2luZyBpcyBpbiBwcm9ncmVzcyAoR0gtMTY0KVxuICAgIGRlYnVnKCd0cmFuc3BvcnQgbm90IG9wZW4gLSBkZWZlcnJpbmcgY2xvc2UnKTtcbiAgICB0aGlzLm9uY2UoJ29wZW4nLCBjbG9zZSk7XG4gIH1cbn07XG5cbi8qKlxuICogV3JpdGVzIGEgcGFja2V0cyBwYXlsb2FkLlxuICpcbiAqIEBwYXJhbSB7QXJyYXl9IGRhdGEgcGFja2V0c1xuICogQHBhcmFtIHtGdW5jdGlvbn0gZHJhaW4gY2FsbGJhY2tcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblBvbGxpbmcucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gKHBhY2tldHMpIHtcbiAgdmFyIHNlbGYgPSB0aGlzO1xuICB0aGlzLndyaXRhYmxlID0gZmFsc2U7XG4gIHZhciBjYWxsYmFja2ZuID0gZnVuY3Rpb24gKCkge1xuICAgIHNlbGYud3JpdGFibGUgPSB0cnVlO1xuICAgIHNlbGYuZW1pdCgnZHJhaW4nKTtcbiAgfTtcblxuICBwYXJzZXIuZW5jb2RlUGF5bG9hZChwYWNrZXRzLCB0aGlzLnN1cHBvcnRzQmluYXJ5LCBmdW5jdGlvbiAoZGF0YSkge1xuICAgIHNlbGYuZG9Xcml0ZShkYXRhLCBjYWxsYmFja2ZuKTtcbiAgfSk7XG59O1xuXG4vKipcbiAqIEdlbmVyYXRlcyB1cmkgZm9yIGNvbm5lY3Rpb24uXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuUG9sbGluZy5wcm90b3R5cGUudXJpID0gZnVuY3Rpb24gKCkge1xuICB2YXIgcXVlcnkgPSB0aGlzLnF1ZXJ5IHx8IHt9O1xuICB2YXIgc2NoZW1hID0gdGhpcy5zZWN1cmUgPyAnaHR0cHMnIDogJ2h0dHAnO1xuICB2YXIgcG9ydCA9ICcnO1xuXG4gIC8vIGNhY2hlIGJ1c3RpbmcgaXMgZm9yY2VkXG4gIGlmIChmYWxzZSAhPT0gdGhpcy50aW1lc3RhbXBSZXF1ZXN0cykge1xuICAgIHF1ZXJ5W3RoaXMudGltZXN0YW1wUGFyYW1dID0geWVhc3QoKTtcbiAgfVxuXG4gIGlmICghdGhpcy5zdXBwb3J0c0JpbmFyeSAmJiAhcXVlcnkuc2lkKSB7XG4gICAgcXVlcnkuYjY0ID0gMTtcbiAgfVxuXG4gIHF1ZXJ5ID0gcGFyc2Vxcy5lbmNvZGUocXVlcnkpO1xuXG4gIC8vIGF2b2lkIHBvcnQgaWYgZGVmYXVsdCBmb3Igc2NoZW1hXG4gIGlmICh0aGlzLnBvcnQgJiYgKCgnaHR0cHMnID09PSBzY2hlbWEgJiYgTnVtYmVyKHRoaXMucG9ydCkgIT09IDQ0MykgfHxcbiAgICAgKCdodHRwJyA9PT0gc2NoZW1hICYmIE51bWJlcih0aGlzLnBvcnQpICE9PSA4MCkpKSB7XG4gICAgcG9ydCA9ICc6JyArIHRoaXMucG9ydDtcbiAgfVxuXG4gIC8vIHByZXBlbmQgPyB0byBxdWVyeVxuICBpZiAocXVlcnkubGVuZ3RoKSB7XG4gICAgcXVlcnkgPSAnPycgKyBxdWVyeTtcbiAgfVxuXG4gIHZhciBpcHY2ID0gdGhpcy5ob3N0bmFtZS5pbmRleE9mKCc6JykgIT09IC0xO1xuICByZXR1cm4gc2NoZW1hICsgJzovLycgKyAoaXB2NiA/ICdbJyArIHRoaXMuaG9zdG5hbWUgKyAnXScgOiB0aGlzLmhvc3RuYW1lKSArIHBvcnQgKyB0aGlzLnBhdGggKyBxdWVyeTtcbn07XG4iLCIvKipcbiAqIE1vZHVsZSBkZXBlbmRlbmNpZXMuXG4gKi9cblxudmFyIFRyYW5zcG9ydCA9IHJlcXVpcmUoJy4uL3RyYW5zcG9ydCcpO1xudmFyIHBhcnNlciA9IHJlcXVpcmUoJ2VuZ2luZS5pby1wYXJzZXInKTtcbnZhciBwYXJzZXFzID0gcmVxdWlyZSgncGFyc2VxcycpO1xudmFyIGluaGVyaXQgPSByZXF1aXJlKCdjb21wb25lbnQtaW5oZXJpdCcpO1xudmFyIHllYXN0ID0gcmVxdWlyZSgneWVhc3QnKTtcbnZhciBkZWJ1ZyA9IHJlcXVpcmUoJ2RlYnVnJykoJ2VuZ2luZS5pby1jbGllbnQ6d2Vic29ja2V0Jyk7XG5cbnZhciBCcm93c2VyV2ViU29ja2V0LCBOb2RlV2ViU29ja2V0O1xuXG5pZiAodHlwZW9mIFdlYlNvY2tldCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgQnJvd3NlcldlYlNvY2tldCA9IFdlYlNvY2tldDtcbn0gZWxzZSBpZiAodHlwZW9mIHNlbGYgIT09ICd1bmRlZmluZWQnKSB7XG4gIEJyb3dzZXJXZWJTb2NrZXQgPSBzZWxmLldlYlNvY2tldCB8fCBzZWxmLk1veldlYlNvY2tldDtcbn0gZWxzZSB7XG4gIHRyeSB7XG4gICAgTm9kZVdlYlNvY2tldCA9IHJlcXVpcmUoJ3dzJyk7XG4gIH0gY2F0Y2ggKGUpIHsgfVxufVxuXG4vKipcbiAqIEdldCBlaXRoZXIgdGhlIGBXZWJTb2NrZXRgIG9yIGBNb3pXZWJTb2NrZXRgIGdsb2JhbHNcbiAqIGluIHRoZSBicm93c2VyIG9yIHRyeSB0byByZXNvbHZlIFdlYlNvY2tldC1jb21wYXRpYmxlXG4gKiBpbnRlcmZhY2UgZXhwb3NlZCBieSBgd3NgIGZvciBOb2RlLWxpa2UgZW52aXJvbm1lbnQuXG4gKi9cblxudmFyIFdlYlNvY2tldEltcGwgPSBCcm93c2VyV2ViU29ja2V0IHx8IE5vZGVXZWJTb2NrZXQ7XG5cbi8qKlxuICogTW9kdWxlIGV4cG9ydHMuXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBXUztcblxuLyoqXG4gKiBXZWJTb2NrZXQgdHJhbnNwb3J0IGNvbnN0cnVjdG9yLlxuICpcbiAqIEBhcGkge09iamVjdH0gY29ubmVjdGlvbiBvcHRpb25zXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIFdTIChvcHRzKSB7XG4gIHZhciBmb3JjZUJhc2U2NCA9IChvcHRzICYmIG9wdHMuZm9yY2VCYXNlNjQpO1xuICBpZiAoZm9yY2VCYXNlNjQpIHtcbiAgICB0aGlzLnN1cHBvcnRzQmluYXJ5ID0gZmFsc2U7XG4gIH1cbiAgdGhpcy5wZXJNZXNzYWdlRGVmbGF0ZSA9IG9wdHMucGVyTWVzc2FnZURlZmxhdGU7XG4gIHRoaXMudXNpbmdCcm93c2VyV2ViU29ja2V0ID0gQnJvd3NlcldlYlNvY2tldCAmJiAhb3B0cy5mb3JjZU5vZGU7XG4gIHRoaXMucHJvdG9jb2xzID0gb3B0cy5wcm90b2NvbHM7XG4gIGlmICghdGhpcy51c2luZ0Jyb3dzZXJXZWJTb2NrZXQpIHtcbiAgICBXZWJTb2NrZXRJbXBsID0gTm9kZVdlYlNvY2tldDtcbiAgfVxuICBUcmFuc3BvcnQuY2FsbCh0aGlzLCBvcHRzKTtcbn1cblxuLyoqXG4gKiBJbmhlcml0cyBmcm9tIFRyYW5zcG9ydC5cbiAqL1xuXG5pbmhlcml0KFdTLCBUcmFuc3BvcnQpO1xuXG4vKipcbiAqIFRyYW5zcG9ydCBuYW1lLlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuV1MucHJvdG90eXBlLm5hbWUgPSAnd2Vic29ja2V0JztcblxuLypcbiAqIFdlYlNvY2tldHMgc3VwcG9ydCBiaW5hcnlcbiAqL1xuXG5XUy5wcm90b3R5cGUuc3VwcG9ydHNCaW5hcnkgPSB0cnVlO1xuXG4vKipcbiAqIE9wZW5zIHNvY2tldC5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5XUy5wcm90b3R5cGUuZG9PcGVuID0gZnVuY3Rpb24gKCkge1xuICBpZiAoIXRoaXMuY2hlY2soKSkge1xuICAgIC8vIGxldCBwcm9iZSB0aW1lb3V0XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHVyaSA9IHRoaXMudXJpKCk7XG4gIHZhciBwcm90b2NvbHMgPSB0aGlzLnByb3RvY29scztcbiAgdmFyIG9wdHMgPSB7XG4gICAgYWdlbnQ6IHRoaXMuYWdlbnQsXG4gICAgcGVyTWVzc2FnZURlZmxhdGU6IHRoaXMucGVyTWVzc2FnZURlZmxhdGVcbiAgfTtcblxuICAvLyBTU0wgb3B0aW9ucyBmb3IgTm9kZS5qcyBjbGllbnRcbiAgb3B0cy5wZnggPSB0aGlzLnBmeDtcbiAgb3B0cy5rZXkgPSB0aGlzLmtleTtcbiAgb3B0cy5wYXNzcGhyYXNlID0gdGhpcy5wYXNzcGhyYXNlO1xuICBvcHRzLmNlcnQgPSB0aGlzLmNlcnQ7XG4gIG9wdHMuY2EgPSB0aGlzLmNhO1xuICBvcHRzLmNpcGhlcnMgPSB0aGlzLmNpcGhlcnM7XG4gIG9wdHMucmVqZWN0VW5hdXRob3JpemVkID0gdGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ7XG4gIGlmICh0aGlzLmV4dHJhSGVhZGVycykge1xuICAgIG9wdHMuaGVhZGVycyA9IHRoaXMuZXh0cmFIZWFkZXJzO1xuICB9XG4gIGlmICh0aGlzLmxvY2FsQWRkcmVzcykge1xuICAgIG9wdHMubG9jYWxBZGRyZXNzID0gdGhpcy5sb2NhbEFkZHJlc3M7XG4gIH1cblxuICB0cnkge1xuICAgIHRoaXMud3MgPVxuICAgICAgdGhpcy51c2luZ0Jyb3dzZXJXZWJTb2NrZXQgJiYgIXRoaXMuaXNSZWFjdE5hdGl2ZVxuICAgICAgICA/IHByb3RvY29sc1xuICAgICAgICAgID8gbmV3IFdlYlNvY2tldEltcGwodXJpLCBwcm90b2NvbHMpXG4gICAgICAgICAgOiBuZXcgV2ViU29ja2V0SW1wbCh1cmkpXG4gICAgICAgIDogbmV3IFdlYlNvY2tldEltcGwodXJpLCBwcm90b2NvbHMsIG9wdHMpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICByZXR1cm4gdGhpcy5lbWl0KCdlcnJvcicsIGVycik7XG4gIH1cblxuICBpZiAodGhpcy53cy5iaW5hcnlUeXBlID09PSB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnN1cHBvcnRzQmluYXJ5ID0gZmFsc2U7XG4gIH1cblxuICBpZiAodGhpcy53cy5zdXBwb3J0cyAmJiB0aGlzLndzLnN1cHBvcnRzLmJpbmFyeSkge1xuICAgIHRoaXMuc3VwcG9ydHNCaW5hcnkgPSB0cnVlO1xuICAgIHRoaXMud3MuYmluYXJ5VHlwZSA9ICdub2RlYnVmZmVyJztcbiAgfSBlbHNlIHtcbiAgICB0aGlzLndzLmJpbmFyeVR5cGUgPSAnYXJyYXlidWZmZXInO1xuICB9XG5cbiAgdGhpcy5hZGRFdmVudExpc3RlbmVycygpO1xufTtcblxuLyoqXG4gKiBBZGRzIGV2ZW50IGxpc3RlbmVycyB0byB0aGUgc29ja2V0XG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuV1MucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXJzID0gZnVuY3Rpb24gKCkge1xuICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgdGhpcy53cy5vbm9wZW4gPSBmdW5jdGlvbiAoKSB7XG4gICAgc2VsZi5vbk9wZW4oKTtcbiAgfTtcbiAgdGhpcy53cy5vbmNsb3NlID0gZnVuY3Rpb24gKCkge1xuICAgIHNlbGYub25DbG9zZSgpO1xuICB9O1xuICB0aGlzLndzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChldikge1xuICAgIHNlbGYub25EYXRhKGV2LmRhdGEpO1xuICB9O1xuICB0aGlzLndzLm9uZXJyb3IgPSBmdW5jdGlvbiAoZSkge1xuICAgIHNlbGYub25FcnJvcignd2Vic29ja2V0IGVycm9yJywgZSk7XG4gIH07XG59O1xuXG4vKipcbiAqIFdyaXRlcyBkYXRhIHRvIHNvY2tldC5cbiAqXG4gKiBAcGFyYW0ge0FycmF5fSBhcnJheSBvZiBwYWNrZXRzLlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuV1MucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gKHBhY2tldHMpIHtcbiAgdmFyIHNlbGYgPSB0aGlzO1xuICB0aGlzLndyaXRhYmxlID0gZmFsc2U7XG5cbiAgLy8gZW5jb2RlUGFja2V0IGVmZmljaWVudCBhcyBpdCB1c2VzIFdTIGZyYW1pbmdcbiAgLy8gbm8gbmVlZCBmb3IgZW5jb2RlUGF5bG9hZFxuICB2YXIgdG90YWwgPSBwYWNrZXRzLmxlbmd0aDtcbiAgZm9yICh2YXIgaSA9IDAsIGwgPSB0b3RhbDsgaSA8IGw7IGkrKykge1xuICAgIChmdW5jdGlvbiAocGFja2V0KSB7XG4gICAgICBwYXJzZXIuZW5jb2RlUGFja2V0KHBhY2tldCwgc2VsZi5zdXBwb3J0c0JpbmFyeSwgZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgaWYgKCFzZWxmLnVzaW5nQnJvd3NlcldlYlNvY2tldCkge1xuICAgICAgICAgIC8vIGFsd2F5cyBjcmVhdGUgYSBuZXcgb2JqZWN0IChHSC00MzcpXG4gICAgICAgICAgdmFyIG9wdHMgPSB7fTtcbiAgICAgICAgICBpZiAocGFja2V0Lm9wdGlvbnMpIHtcbiAgICAgICAgICAgIG9wdHMuY29tcHJlc3MgPSBwYWNrZXQub3B0aW9ucy5jb21wcmVzcztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoc2VsZi5wZXJNZXNzYWdlRGVmbGF0ZSkge1xuICAgICAgICAgICAgdmFyIGxlbiA9ICdzdHJpbmcnID09PSB0eXBlb2YgZGF0YSA/IEJ1ZmZlci5ieXRlTGVuZ3RoKGRhdGEpIDogZGF0YS5sZW5ndGg7XG4gICAgICAgICAgICBpZiAobGVuIDwgc2VsZi5wZXJNZXNzYWdlRGVmbGF0ZS50aHJlc2hvbGQpIHtcbiAgICAgICAgICAgICAgb3B0cy5jb21wcmVzcyA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNvbWV0aW1lcyB0aGUgd2Vic29ja2V0IGhhcyBhbHJlYWR5IGJlZW4gY2xvc2VkIGJ1dCB0aGUgYnJvd3NlciBkaWRuJ3RcbiAgICAgICAgLy8gaGF2ZSBhIGNoYW5jZSBvZiBpbmZvcm1pbmcgdXMgYWJvdXQgaXQgeWV0LCBpbiB0aGF0IGNhc2Ugc2VuZCB3aWxsXG4gICAgICAgIC8vIHRocm93IGFuIGVycm9yXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWYgKHNlbGYudXNpbmdCcm93c2VyV2ViU29ja2V0KSB7XG4gICAgICAgICAgICAvLyBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gcGFzc2luZyB0aGUgc2Vjb25kIGFyZ3VtZW50IG9uIFNhZmFyaVxuICAgICAgICAgICAgc2VsZi53cy5zZW5kKGRhdGEpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZWxmLndzLnNlbmQoZGF0YSwgb3B0cyk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgZGVidWcoJ3dlYnNvY2tldCBjbG9zZWQgYmVmb3JlIG9uY2xvc2UgZXZlbnQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC0tdG90YWwgfHwgZG9uZSgpO1xuICAgICAgfSk7XG4gICAgfSkocGFja2V0c1tpXSk7XG4gIH1cblxuICBmdW5jdGlvbiBkb25lICgpIHtcbiAgICBzZWxmLmVtaXQoJ2ZsdXNoJyk7XG5cbiAgICAvLyBmYWtlIGRyYWluXG4gICAgLy8gZGVmZXIgdG8gbmV4dCB0aWNrIHRvIGFsbG93IFNvY2tldCB0byBjbGVhciB3cml0ZUJ1ZmZlclxuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgc2VsZi53cml0YWJsZSA9IHRydWU7XG4gICAgICBzZWxmLmVtaXQoJ2RyYWluJyk7XG4gICAgfSwgMCk7XG4gIH1cbn07XG5cbi8qKlxuICogQ2FsbGVkIHVwb24gY2xvc2VcbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5XUy5wcm90b3R5cGUub25DbG9zZSA9IGZ1bmN0aW9uICgpIHtcbiAgVHJhbnNwb3J0LnByb3RvdHlwZS5vbkNsb3NlLmNhbGwodGhpcyk7XG59O1xuXG4vKipcbiAqIENsb3NlcyBzb2NrZXQuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuV1MucHJvdG90eXBlLmRvQ2xvc2UgPSBmdW5jdGlvbiAoKSB7XG4gIGlmICh0eXBlb2YgdGhpcy53cyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICB0aGlzLndzLmNsb3NlKCk7XG4gIH1cbn07XG5cbi8qKlxuICogR2VuZXJhdGVzIHVyaSBmb3IgY29ubmVjdGlvbi5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5XUy5wcm90b3R5cGUudXJpID0gZnVuY3Rpb24gKCkge1xuICB2YXIgcXVlcnkgPSB0aGlzLnF1ZXJ5IHx8IHt9O1xuICB2YXIgc2NoZW1hID0gdGhpcy5zZWN1cmUgPyAnd3NzJyA6ICd3cyc7XG4gIHZhciBwb3J0ID0gJyc7XG5cbiAgLy8gYXZvaWQgcG9ydCBpZiBkZWZhdWx0IGZvciBzY2hlbWFcbiAgaWYgKHRoaXMucG9ydCAmJiAoKCd3c3MnID09PSBzY2hlbWEgJiYgTnVtYmVyKHRoaXMucG9ydCkgIT09IDQ0MykgfHxcbiAgICAoJ3dzJyA9PT0gc2NoZW1hICYmIE51bWJlcih0aGlzLnBvcnQpICE9PSA4MCkpKSB7XG4gICAgcG9ydCA9ICc6JyArIHRoaXMucG9ydDtcbiAgfVxuXG4gIC8vIGFwcGVuZCB0aW1lc3RhbXAgdG8gVVJJXG4gIGlmICh0aGlzLnRpbWVzdGFtcFJlcXVlc3RzKSB7XG4gICAgcXVlcnlbdGhpcy50aW1lc3RhbXBQYXJhbV0gPSB5ZWFzdCgpO1xuICB9XG5cbiAgLy8gY29tbXVuaWNhdGUgYmluYXJ5IHN1cHBvcnQgY2FwYWJpbGl0aWVzXG4gIGlmICghdGhpcy5zdXBwb3J0c0JpbmFyeSkge1xuICAgIHF1ZXJ5LmI2NCA9IDE7XG4gIH1cblxuICBxdWVyeSA9IHBhcnNlcXMuZW5jb2RlKHF1ZXJ5KTtcblxuICAvLyBwcmVwZW5kID8gdG8gcXVlcnlcbiAgaWYgKHF1ZXJ5Lmxlbmd0aCkge1xuICAgIHF1ZXJ5ID0gJz8nICsgcXVlcnk7XG4gIH1cblxuICB2YXIgaXB2NiA9IHRoaXMuaG9zdG5hbWUuaW5kZXhPZignOicpICE9PSAtMTtcbiAgcmV0dXJuIHNjaGVtYSArICc6Ly8nICsgKGlwdjYgPyAnWycgKyB0aGlzLmhvc3RuYW1lICsgJ10nIDogdGhpcy5ob3N0bmFtZSkgKyBwb3J0ICsgdGhpcy5wYXRoICsgcXVlcnk7XG59O1xuXG4vKipcbiAqIEZlYXR1cmUgZGV0ZWN0aW9uIGZvciBXZWJTb2NrZXQuXG4gKlxuICogQHJldHVybiB7Qm9vbGVhbn0gd2hldGhlciB0aGlzIHRyYW5zcG9ydCBpcyBhdmFpbGFibGUuXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbldTLnByb3RvdHlwZS5jaGVjayA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuICEhV2ViU29ja2V0SW1wbCAmJiAhKCdfX2luaXRpYWxpemUnIGluIFdlYlNvY2tldEltcGwgJiYgdGhpcy5uYW1lID09PSBXUy5wcm90b3R5cGUubmFtZSk7XG59O1xuIiwiLy8gYnJvd3NlciBzaGltIGZvciB4bWxodHRwcmVxdWVzdCBtb2R1bGVcblxudmFyIGhhc0NPUlMgPSByZXF1aXJlKCdoYXMtY29ycycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChvcHRzKSB7XG4gIHZhciB4ZG9tYWluID0gb3B0cy54ZG9tYWluO1xuXG4gIC8vIHNjaGVtZSBtdXN0IGJlIHNhbWUgd2hlbiB1c2lnbiBYRG9tYWluUmVxdWVzdFxuICAvLyBodHRwOi8vYmxvZ3MubXNkbi5jb20vYi9pZWludGVybmFscy9hcmNoaXZlLzIwMTAvMDUvMTMveGRvbWFpbnJlcXVlc3QtcmVzdHJpY3Rpb25zLWxpbWl0YXRpb25zLWFuZC13b3JrYXJvdW5kcy5hc3B4XG4gIHZhciB4c2NoZW1lID0gb3B0cy54c2NoZW1lO1xuXG4gIC8vIFhEb21haW5SZXF1ZXN0IGhhcyBhIGZsb3cgb2Ygbm90IHNlbmRpbmcgY29va2llLCB0aGVyZWZvcmUgaXQgc2hvdWxkIGJlIGRpc2FibGVkIGFzIGEgZGVmYXVsdC5cbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL0F1dG9tYXR0aWMvZW5naW5lLmlvLWNsaWVudC9wdWxsLzIxN1xuICB2YXIgZW5hYmxlc1hEUiA9IG9wdHMuZW5hYmxlc1hEUjtcblxuICAvLyBYTUxIdHRwUmVxdWVzdCBjYW4gYmUgZGlzYWJsZWQgb24gSUVcbiAgdHJ5IHtcbiAgICBpZiAoJ3VuZGVmaW5lZCcgIT09IHR5cGVvZiBYTUxIdHRwUmVxdWVzdCAmJiAoIXhkb21haW4gfHwgaGFzQ09SUykpIHtcbiAgICAgIHJldHVybiBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHsgfVxuXG4gIC8vIFVzZSBYRG9tYWluUmVxdWVzdCBmb3IgSUU4IGlmIGVuYWJsZXNYRFIgaXMgdHJ1ZVxuICAvLyBiZWNhdXNlIGxvYWRpbmcgYmFyIGtlZXBzIGZsYXNoaW5nIHdoZW4gdXNpbmcganNvbnAtcG9sbGluZ1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20veXVqaW9zYWthL3NvY2tlLmlvLWllOC1sb2FkaW5nLWV4YW1wbGVcbiAgdHJ5IHtcbiAgICBpZiAoJ3VuZGVmaW5lZCcgIT09IHR5cGVvZiBYRG9tYWluUmVxdWVzdCAmJiAheHNjaGVtZSAmJiBlbmFibGVzWERSKSB7XG4gICAgICByZXR1cm4gbmV3IFhEb21haW5SZXF1ZXN0KCk7XG4gICAgfVxuICB9IGNhdGNoIChlKSB7IH1cblxuICBpZiAoIXhkb21haW4pIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIG5ldyBzZWxmW1snQWN0aXZlJ10uY29uY2F0KCdPYmplY3QnKS5qb2luKCdYJyldKCdNaWNyb3NvZnQuWE1MSFRUUCcpO1xuICAgIH0gY2F0Y2ggKGUpIHsgfVxuICB9XG59O1xuIiwiLyoqXG4gKiBNb2R1bGUgZGVwZW5kZW5jaWVzLlxuICovXG5cbnZhciBrZXlzID0gcmVxdWlyZSgnLi9rZXlzJyk7XG52YXIgaGFzQmluYXJ5ID0gcmVxdWlyZSgnaGFzLWJpbmFyeTInKTtcbnZhciBzbGljZUJ1ZmZlciA9IHJlcXVpcmUoJ2FycmF5YnVmZmVyLnNsaWNlJyk7XG52YXIgYWZ0ZXIgPSByZXF1aXJlKCdhZnRlcicpO1xudmFyIHV0ZjggPSByZXF1aXJlKCcuL3V0ZjgnKTtcblxudmFyIGJhc2U2NGVuY29kZXI7XG5pZiAodHlwZW9mIEFycmF5QnVmZmVyICE9PSAndW5kZWZpbmVkJykge1xuICBiYXNlNjRlbmNvZGVyID0gcmVxdWlyZSgnYmFzZTY0LWFycmF5YnVmZmVyJyk7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgd2UgYXJlIHJ1bm5pbmcgYW4gYW5kcm9pZCBicm93c2VyLiBUaGF0IHJlcXVpcmVzIHVzIHRvIHVzZVxuICogQXJyYXlCdWZmZXIgd2l0aCBwb2xsaW5nIHRyYW5zcG9ydHMuLi5cbiAqXG4gKiBodHRwOi8vZ2hpbmRhLm5ldC9qcGVnLWJsb2ItYWpheC1hbmRyb2lkL1xuICovXG5cbnZhciBpc0FuZHJvaWQgPSB0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiAvQW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG5cbi8qKlxuICogQ2hlY2sgaWYgd2UgYXJlIHJ1bm5pbmcgaW4gUGhhbnRvbUpTLlxuICogVXBsb2FkaW5nIGEgQmxvYiB3aXRoIFBoYW50b21KUyBkb2VzIG5vdCB3b3JrIGNvcnJlY3RseSwgYXMgcmVwb3J0ZWQgaGVyZTpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hcml5YS9waGFudG9tanMvaXNzdWVzLzExMzk1XG4gKiBAdHlwZSBib29sZWFuXG4gKi9cbnZhciBpc1BoYW50b21KUyA9IHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIC9QaGFudG9tSlMvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuXG4vKipcbiAqIFdoZW4gdHJ1ZSwgYXZvaWRzIHVzaW5nIEJsb2JzIHRvIGVuY29kZSBwYXlsb2Fkcy5cbiAqIEB0eXBlIGJvb2xlYW5cbiAqL1xudmFyIGRvbnRTZW5kQmxvYnMgPSBpc0FuZHJvaWQgfHwgaXNQaGFudG9tSlM7XG5cbi8qKlxuICogQ3VycmVudCBwcm90b2NvbCB2ZXJzaW9uLlxuICovXG5cbmV4cG9ydHMucHJvdG9jb2wgPSAzO1xuXG4vKipcbiAqIFBhY2tldCB0eXBlcy5cbiAqL1xuXG52YXIgcGFja2V0cyA9IGV4cG9ydHMucGFja2V0cyA9IHtcbiAgICBvcGVuOiAgICAgMCAgICAvLyBub24td3NcbiAgLCBjbG9zZTogICAgMSAgICAvLyBub24td3NcbiAgLCBwaW5nOiAgICAgMlxuICAsIHBvbmc6ICAgICAzXG4gICwgbWVzc2FnZTogIDRcbiAgLCB1cGdyYWRlOiAgNVxuICAsIG5vb3A6ICAgICA2XG59O1xuXG52YXIgcGFja2V0c2xpc3QgPSBrZXlzKHBhY2tldHMpO1xuXG4vKipcbiAqIFByZW1hZGUgZXJyb3IgcGFja2V0LlxuICovXG5cbnZhciBlcnIgPSB7IHR5cGU6ICdlcnJvcicsIGRhdGE6ICdwYXJzZXIgZXJyb3InIH07XG5cbi8qKlxuICogQ3JlYXRlIGEgYmxvYiBhcGkgZXZlbiBmb3IgYmxvYiBidWlsZGVyIHdoZW4gdmVuZG9yIHByZWZpeGVzIGV4aXN0XG4gKi9cblxudmFyIEJsb2IgPSByZXF1aXJlKCdibG9iJyk7XG5cbi8qKlxuICogRW5jb2RlcyBhIHBhY2tldC5cbiAqXG4gKiAgICAgPHBhY2tldCB0eXBlIGlkPiBbIDxkYXRhPiBdXG4gKlxuICogRXhhbXBsZTpcbiAqXG4gKiAgICAgNWhlbGxvIHdvcmxkXG4gKiAgICAgM1xuICogICAgIDRcbiAqXG4gKiBCaW5hcnkgaXMgZW5jb2RlZCBpbiBhbiBpZGVudGljYWwgcHJpbmNpcGxlXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZXhwb3J0cy5lbmNvZGVQYWNrZXQgPSBmdW5jdGlvbiAocGFja2V0LCBzdXBwb3J0c0JpbmFyeSwgdXRmOGVuY29kZSwgY2FsbGJhY2spIHtcbiAgaWYgKHR5cGVvZiBzdXBwb3J0c0JpbmFyeSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGNhbGxiYWNrID0gc3VwcG9ydHNCaW5hcnk7XG4gICAgc3VwcG9ydHNCaW5hcnkgPSBmYWxzZTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdXRmOGVuY29kZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGNhbGxiYWNrID0gdXRmOGVuY29kZTtcbiAgICB1dGY4ZW5jb2RlID0gbnVsbDtcbiAgfVxuXG4gIHZhciBkYXRhID0gKHBhY2tldC5kYXRhID09PSB1bmRlZmluZWQpXG4gICAgPyB1bmRlZmluZWRcbiAgICA6IHBhY2tldC5kYXRhLmJ1ZmZlciB8fCBwYWNrZXQuZGF0YTtcblxuICBpZiAodHlwZW9mIEFycmF5QnVmZmVyICE9PSAndW5kZWZpbmVkJyAmJiBkYXRhIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpIHtcbiAgICByZXR1cm4gZW5jb2RlQXJyYXlCdWZmZXIocGFja2V0LCBzdXBwb3J0c0JpbmFyeSwgY2FsbGJhY2spO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBCbG9iICE9PSAndW5kZWZpbmVkJyAmJiBkYXRhIGluc3RhbmNlb2YgQmxvYikge1xuICAgIHJldHVybiBlbmNvZGVCbG9iKHBhY2tldCwgc3VwcG9ydHNCaW5hcnksIGNhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIG1pZ2h0IGJlIGFuIG9iamVjdCB3aXRoIHsgYmFzZTY0OiB0cnVlLCBkYXRhOiBkYXRhQXNCYXNlNjRTdHJpbmcgfVxuICBpZiAoZGF0YSAmJiBkYXRhLmJhc2U2NCkge1xuICAgIHJldHVybiBlbmNvZGVCYXNlNjRPYmplY3QocGFja2V0LCBjYWxsYmFjayk7XG4gIH1cblxuICAvLyBTZW5kaW5nIGRhdGEgYXMgYSB1dGYtOCBzdHJpbmdcbiAgdmFyIGVuY29kZWQgPSBwYWNrZXRzW3BhY2tldC50eXBlXTtcblxuICAvLyBkYXRhIGZyYWdtZW50IGlzIG9wdGlvbmFsXG4gIGlmICh1bmRlZmluZWQgIT09IHBhY2tldC5kYXRhKSB7XG4gICAgZW5jb2RlZCArPSB1dGY4ZW5jb2RlID8gdXRmOC5lbmNvZGUoU3RyaW5nKHBhY2tldC5kYXRhKSwgeyBzdHJpY3Q6IGZhbHNlIH0pIDogU3RyaW5nKHBhY2tldC5kYXRhKTtcbiAgfVxuXG4gIHJldHVybiBjYWxsYmFjaygnJyArIGVuY29kZWQpO1xuXG59O1xuXG5mdW5jdGlvbiBlbmNvZGVCYXNlNjRPYmplY3QocGFja2V0LCBjYWxsYmFjaykge1xuICAvLyBwYWNrZXQgZGF0YSBpcyBhbiBvYmplY3QgeyBiYXNlNjQ6IHRydWUsIGRhdGE6IGRhdGFBc0Jhc2U2NFN0cmluZyB9XG4gIHZhciBtZXNzYWdlID0gJ2InICsgZXhwb3J0cy5wYWNrZXRzW3BhY2tldC50eXBlXSArIHBhY2tldC5kYXRhLmRhdGE7XG4gIHJldHVybiBjYWxsYmFjayhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbmNvZGUgcGFja2V0IGhlbHBlcnMgZm9yIGJpbmFyeSB0eXBlc1xuICovXG5cbmZ1bmN0aW9uIGVuY29kZUFycmF5QnVmZmVyKHBhY2tldCwgc3VwcG9ydHNCaW5hcnksIGNhbGxiYWNrKSB7XG4gIGlmICghc3VwcG9ydHNCaW5hcnkpIHtcbiAgICByZXR1cm4gZXhwb3J0cy5lbmNvZGVCYXNlNjRQYWNrZXQocGFja2V0LCBjYWxsYmFjayk7XG4gIH1cblxuICB2YXIgZGF0YSA9IHBhY2tldC5kYXRhO1xuICB2YXIgY29udGVudEFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoZGF0YSk7XG4gIHZhciByZXN1bHRCdWZmZXIgPSBuZXcgVWludDhBcnJheSgxICsgZGF0YS5ieXRlTGVuZ3RoKTtcblxuICByZXN1bHRCdWZmZXJbMF0gPSBwYWNrZXRzW3BhY2tldC50eXBlXTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb250ZW50QXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICByZXN1bHRCdWZmZXJbaSsxXSA9IGNvbnRlbnRBcnJheVtpXTtcbiAgfVxuXG4gIHJldHVybiBjYWxsYmFjayhyZXN1bHRCdWZmZXIuYnVmZmVyKTtcbn1cblxuZnVuY3Rpb24gZW5jb2RlQmxvYkFzQXJyYXlCdWZmZXIocGFja2V0LCBzdXBwb3J0c0JpbmFyeSwgY2FsbGJhY2spIHtcbiAgaWYgKCFzdXBwb3J0c0JpbmFyeSkge1xuICAgIHJldHVybiBleHBvcnRzLmVuY29kZUJhc2U2NFBhY2tldChwYWNrZXQsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIHZhciBmciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gIGZyLm9ubG9hZCA9IGZ1bmN0aW9uKCkge1xuICAgIGV4cG9ydHMuZW5jb2RlUGFja2V0KHsgdHlwZTogcGFja2V0LnR5cGUsIGRhdGE6IGZyLnJlc3VsdCB9LCBzdXBwb3J0c0JpbmFyeSwgdHJ1ZSwgY2FsbGJhY2spO1xuICB9O1xuICByZXR1cm4gZnIucmVhZEFzQXJyYXlCdWZmZXIocGFja2V0LmRhdGEpO1xufVxuXG5mdW5jdGlvbiBlbmNvZGVCbG9iKHBhY2tldCwgc3VwcG9ydHNCaW5hcnksIGNhbGxiYWNrKSB7XG4gIGlmICghc3VwcG9ydHNCaW5hcnkpIHtcbiAgICByZXR1cm4gZXhwb3J0cy5lbmNvZGVCYXNlNjRQYWNrZXQocGFja2V0LCBjYWxsYmFjayk7XG4gIH1cblxuICBpZiAoZG9udFNlbmRCbG9icykge1xuICAgIHJldHVybiBlbmNvZGVCbG9iQXNBcnJheUJ1ZmZlcihwYWNrZXQsIHN1cHBvcnRzQmluYXJ5LCBjYWxsYmFjayk7XG4gIH1cblxuICB2YXIgbGVuZ3RoID0gbmV3IFVpbnQ4QXJyYXkoMSk7XG4gIGxlbmd0aFswXSA9IHBhY2tldHNbcGFja2V0LnR5cGVdO1xuICB2YXIgYmxvYiA9IG5ldyBCbG9iKFtsZW5ndGguYnVmZmVyLCBwYWNrZXQuZGF0YV0pO1xuXG4gIHJldHVybiBjYWxsYmFjayhibG9iKTtcbn1cblxuLyoqXG4gKiBFbmNvZGVzIGEgcGFja2V0IHdpdGggYmluYXJ5IGRhdGEgaW4gYSBiYXNlNjQgc3RyaW5nXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHBhY2tldCwgaGFzIGB0eXBlYCBhbmQgYGRhdGFgXG4gKiBAcmV0dXJuIHtTdHJpbmd9IGJhc2U2NCBlbmNvZGVkIG1lc3NhZ2VcbiAqL1xuXG5leHBvcnRzLmVuY29kZUJhc2U2NFBhY2tldCA9IGZ1bmN0aW9uKHBhY2tldCwgY2FsbGJhY2spIHtcbiAgdmFyIG1lc3NhZ2UgPSAnYicgKyBleHBvcnRzLnBhY2tldHNbcGFja2V0LnR5cGVdO1xuICBpZiAodHlwZW9mIEJsb2IgIT09ICd1bmRlZmluZWQnICYmIHBhY2tldC5kYXRhIGluc3RhbmNlb2YgQmxvYikge1xuICAgIHZhciBmciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgZnIub25sb2FkID0gZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgYjY0ID0gZnIucmVzdWx0LnNwbGl0KCcsJylbMV07XG4gICAgICBjYWxsYmFjayhtZXNzYWdlICsgYjY0KTtcbiAgICB9O1xuICAgIHJldHVybiBmci5yZWFkQXNEYXRhVVJMKHBhY2tldC5kYXRhKTtcbiAgfVxuXG4gIHZhciBiNjRkYXRhO1xuICB0cnkge1xuICAgIGI2NGRhdGEgPSBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIG5ldyBVaW50OEFycmF5KHBhY2tldC5kYXRhKSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyBpUGhvbmUgU2FmYXJpIGRvZXNuJ3QgbGV0IHlvdSBhcHBseSB3aXRoIHR5cGVkIGFycmF5c1xuICAgIHZhciB0eXBlZCA9IG5ldyBVaW50OEFycmF5KHBhY2tldC5kYXRhKTtcbiAgICB2YXIgYmFzaWMgPSBuZXcgQXJyYXkodHlwZWQubGVuZ3RoKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHR5cGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgICBiYXNpY1tpXSA9IHR5cGVkW2ldO1xuICAgIH1cbiAgICBiNjRkYXRhID0gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLCBiYXNpYyk7XG4gIH1cbiAgbWVzc2FnZSArPSBidG9hKGI2NGRhdGEpO1xuICByZXR1cm4gY2FsbGJhY2sobWVzc2FnZSk7XG59O1xuXG4vKipcbiAqIERlY29kZXMgYSBwYWNrZXQuIENoYW5nZXMgZm9ybWF0IHRvIEJsb2IgaWYgcmVxdWVzdGVkLlxuICpcbiAqIEByZXR1cm4ge09iamVjdH0gd2l0aCBgdHlwZWAgYW5kIGBkYXRhYCAoaWYgYW55KVxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZXhwb3J0cy5kZWNvZGVQYWNrZXQgPSBmdW5jdGlvbiAoZGF0YSwgYmluYXJ5VHlwZSwgdXRmOGRlY29kZSkge1xuICBpZiAoZGF0YSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGVycjtcbiAgfVxuICAvLyBTdHJpbmcgZGF0YVxuICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgaWYgKGRhdGEuY2hhckF0KDApID09PSAnYicpIHtcbiAgICAgIHJldHVybiBleHBvcnRzLmRlY29kZUJhc2U2NFBhY2tldChkYXRhLnN1YnN0cigxKSwgYmluYXJ5VHlwZSk7XG4gICAgfVxuXG4gICAgaWYgKHV0ZjhkZWNvZGUpIHtcbiAgICAgIGRhdGEgPSB0cnlEZWNvZGUoZGF0YSk7XG4gICAgICBpZiAoZGF0YSA9PT0gZmFsc2UpIHtcbiAgICAgICAgcmV0dXJuIGVycjtcbiAgICAgIH1cbiAgICB9XG4gICAgdmFyIHR5cGUgPSBkYXRhLmNoYXJBdCgwKTtcblxuICAgIGlmIChOdW1iZXIodHlwZSkgIT0gdHlwZSB8fCAhcGFja2V0c2xpc3RbdHlwZV0pIHtcbiAgICAgIHJldHVybiBlcnI7XG4gICAgfVxuXG4gICAgaWYgKGRhdGEubGVuZ3RoID4gMSkge1xuICAgICAgcmV0dXJuIHsgdHlwZTogcGFja2V0c2xpc3RbdHlwZV0sIGRhdGE6IGRhdGEuc3Vic3RyaW5nKDEpIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7IHR5cGU6IHBhY2tldHNsaXN0W3R5cGVdIH07XG4gICAgfVxuICB9XG5cbiAgdmFyIGFzQXJyYXkgPSBuZXcgVWludDhBcnJheShkYXRhKTtcbiAgdmFyIHR5cGUgPSBhc0FycmF5WzBdO1xuICB2YXIgcmVzdCA9IHNsaWNlQnVmZmVyKGRhdGEsIDEpO1xuICBpZiAoQmxvYiAmJiBiaW5hcnlUeXBlID09PSAnYmxvYicpIHtcbiAgICByZXN0ID0gbmV3IEJsb2IoW3Jlc3RdKTtcbiAgfVxuICByZXR1cm4geyB0eXBlOiBwYWNrZXRzbGlzdFt0eXBlXSwgZGF0YTogcmVzdCB9O1xufTtcblxuZnVuY3Rpb24gdHJ5RGVjb2RlKGRhdGEpIHtcbiAgdHJ5IHtcbiAgICBkYXRhID0gdXRmOC5kZWNvZGUoZGF0YSwgeyBzdHJpY3Q6IGZhbHNlIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiBkYXRhO1xufVxuXG4vKipcbiAqIERlY29kZXMgYSBwYWNrZXQgZW5jb2RlZCBpbiBhIGJhc2U2NCBzdHJpbmdcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gYmFzZTY0IGVuY29kZWQgbWVzc2FnZVxuICogQHJldHVybiB7T2JqZWN0fSB3aXRoIGB0eXBlYCBhbmQgYGRhdGFgIChpZiBhbnkpXG4gKi9cblxuZXhwb3J0cy5kZWNvZGVCYXNlNjRQYWNrZXQgPSBmdW5jdGlvbihtc2csIGJpbmFyeVR5cGUpIHtcbiAgdmFyIHR5cGUgPSBwYWNrZXRzbGlzdFttc2cuY2hhckF0KDApXTtcbiAgaWYgKCFiYXNlNjRlbmNvZGVyKSB7XG4gICAgcmV0dXJuIHsgdHlwZTogdHlwZSwgZGF0YTogeyBiYXNlNjQ6IHRydWUsIGRhdGE6IG1zZy5zdWJzdHIoMSkgfSB9O1xuICB9XG5cbiAgdmFyIGRhdGEgPSBiYXNlNjRlbmNvZGVyLmRlY29kZShtc2cuc3Vic3RyKDEpKTtcblxuICBpZiAoYmluYXJ5VHlwZSA9PT0gJ2Jsb2InICYmIEJsb2IpIHtcbiAgICBkYXRhID0gbmV3IEJsb2IoW2RhdGFdKTtcbiAgfVxuXG4gIHJldHVybiB7IHR5cGU6IHR5cGUsIGRhdGE6IGRhdGEgfTtcbn07XG5cbi8qKlxuICogRW5jb2RlcyBtdWx0aXBsZSBtZXNzYWdlcyAocGF5bG9hZCkuXG4gKlxuICogICAgIDxsZW5ndGg+OmRhdGFcbiAqXG4gKiBFeGFtcGxlOlxuICpcbiAqICAgICAxMTpoZWxsbyB3b3JsZDI6aGlcbiAqXG4gKiBJZiBhbnkgY29udGVudHMgYXJlIGJpbmFyeSwgdGhleSB3aWxsIGJlIGVuY29kZWQgYXMgYmFzZTY0IHN0cmluZ3MuIEJhc2U2NFxuICogZW5jb2RlZCBzdHJpbmdzIGFyZSBtYXJrZWQgd2l0aCBhIGIgYmVmb3JlIHRoZSBsZW5ndGggc3BlY2lmaWVyXG4gKlxuICogQHBhcmFtIHtBcnJheX0gcGFja2V0c1xuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZXhwb3J0cy5lbmNvZGVQYXlsb2FkID0gZnVuY3Rpb24gKHBhY2tldHMsIHN1cHBvcnRzQmluYXJ5LCBjYWxsYmFjaykge1xuICBpZiAodHlwZW9mIHN1cHBvcnRzQmluYXJ5ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgY2FsbGJhY2sgPSBzdXBwb3J0c0JpbmFyeTtcbiAgICBzdXBwb3J0c0JpbmFyeSA9IG51bGw7XG4gIH1cblxuICB2YXIgaXNCaW5hcnkgPSBoYXNCaW5hcnkocGFja2V0cyk7XG5cbiAgaWYgKHN1cHBvcnRzQmluYXJ5ICYmIGlzQmluYXJ5KSB7XG4gICAgaWYgKEJsb2IgJiYgIWRvbnRTZW5kQmxvYnMpIHtcbiAgICAgIHJldHVybiBleHBvcnRzLmVuY29kZVBheWxvYWRBc0Jsb2IocGFja2V0cywgY2FsbGJhY2spO1xuICAgIH1cblxuICAgIHJldHVybiBleHBvcnRzLmVuY29kZVBheWxvYWRBc0FycmF5QnVmZmVyKHBhY2tldHMsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIGlmICghcGFja2V0cy5sZW5ndGgpIHtcbiAgICByZXR1cm4gY2FsbGJhY2soJzA6Jyk7XG4gIH1cblxuICBmdW5jdGlvbiBzZXRMZW5ndGhIZWFkZXIobWVzc2FnZSkge1xuICAgIHJldHVybiBtZXNzYWdlLmxlbmd0aCArICc6JyArIG1lc3NhZ2U7XG4gIH1cblxuICBmdW5jdGlvbiBlbmNvZGVPbmUocGFja2V0LCBkb25lQ2FsbGJhY2spIHtcbiAgICBleHBvcnRzLmVuY29kZVBhY2tldChwYWNrZXQsICFpc0JpbmFyeSA/IGZhbHNlIDogc3VwcG9ydHNCaW5hcnksIGZhbHNlLCBmdW5jdGlvbihtZXNzYWdlKSB7XG4gICAgICBkb25lQ2FsbGJhY2sobnVsbCwgc2V0TGVuZ3RoSGVhZGVyKG1lc3NhZ2UpKTtcbiAgICB9KTtcbiAgfVxuXG4gIG1hcChwYWNrZXRzLCBlbmNvZGVPbmUsIGZ1bmN0aW9uKGVyciwgcmVzdWx0cykge1xuICAgIHJldHVybiBjYWxsYmFjayhyZXN1bHRzLmpvaW4oJycpKTtcbiAgfSk7XG59O1xuXG4vKipcbiAqIEFzeW5jIGFycmF5IG1hcCB1c2luZyBhZnRlclxuICovXG5cbmZ1bmN0aW9uIG1hcChhcnksIGVhY2gsIGRvbmUpIHtcbiAgdmFyIHJlc3VsdCA9IG5ldyBBcnJheShhcnkubGVuZ3RoKTtcbiAgdmFyIG5leHQgPSBhZnRlcihhcnkubGVuZ3RoLCBkb25lKTtcblxuICB2YXIgZWFjaFdpdGhJbmRleCA9IGZ1bmN0aW9uKGksIGVsLCBjYikge1xuICAgIGVhY2goZWwsIGZ1bmN0aW9uKGVycm9yLCBtc2cpIHtcbiAgICAgIHJlc3VsdFtpXSA9IG1zZztcbiAgICAgIGNiKGVycm9yLCByZXN1bHQpO1xuICAgIH0pO1xuICB9O1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgYXJ5Lmxlbmd0aDsgaSsrKSB7XG4gICAgZWFjaFdpdGhJbmRleChpLCBhcnlbaV0sIG5leHQpO1xuICB9XG59XG5cbi8qXG4gKiBEZWNvZGVzIGRhdGEgd2hlbiBhIHBheWxvYWQgaXMgbWF5YmUgZXhwZWN0ZWQuIFBvc3NpYmxlIGJpbmFyeSBjb250ZW50cyBhcmVcbiAqIGRlY29kZWQgZnJvbSB0aGVpciBiYXNlNjQgcmVwcmVzZW50YXRpb25cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gZGF0YSwgY2FsbGJhY2sgbWV0aG9kXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmV4cG9ydHMuZGVjb2RlUGF5bG9hZCA9IGZ1bmN0aW9uIChkYXRhLCBiaW5hcnlUeXBlLCBjYWxsYmFjaykge1xuICBpZiAodHlwZW9mIGRhdGEgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGV4cG9ydHMuZGVjb2RlUGF5bG9hZEFzQmluYXJ5KGRhdGEsIGJpbmFyeVR5cGUsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgYmluYXJ5VHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGNhbGxiYWNrID0gYmluYXJ5VHlwZTtcbiAgICBiaW5hcnlUeXBlID0gbnVsbDtcbiAgfVxuXG4gIHZhciBwYWNrZXQ7XG4gIGlmIChkYXRhID09PSAnJykge1xuICAgIC8vIHBhcnNlciBlcnJvciAtIGlnbm9yaW5nIHBheWxvYWRcbiAgICByZXR1cm4gY2FsbGJhY2soZXJyLCAwLCAxKTtcbiAgfVxuXG4gIHZhciBsZW5ndGggPSAnJywgbiwgbXNnO1xuXG4gIGZvciAodmFyIGkgPSAwLCBsID0gZGF0YS5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICB2YXIgY2hyID0gZGF0YS5jaGFyQXQoaSk7XG5cbiAgICBpZiAoY2hyICE9PSAnOicpIHtcbiAgICAgIGxlbmd0aCArPSBjaHI7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAobGVuZ3RoID09PSAnJyB8fCAobGVuZ3RoICE9IChuID0gTnVtYmVyKGxlbmd0aCkpKSkge1xuICAgICAgLy8gcGFyc2VyIGVycm9yIC0gaWdub3JpbmcgcGF5bG9hZFxuICAgICAgcmV0dXJuIGNhbGxiYWNrKGVyciwgMCwgMSk7XG4gICAgfVxuXG4gICAgbXNnID0gZGF0YS5zdWJzdHIoaSArIDEsIG4pO1xuXG4gICAgaWYgKGxlbmd0aCAhPSBtc2cubGVuZ3RoKSB7XG4gICAgICAvLyBwYXJzZXIgZXJyb3IgLSBpZ25vcmluZyBwYXlsb2FkXG4gICAgICByZXR1cm4gY2FsbGJhY2soZXJyLCAwLCAxKTtcbiAgICB9XG5cbiAgICBpZiAobXNnLmxlbmd0aCkge1xuICAgICAgcGFja2V0ID0gZXhwb3J0cy5kZWNvZGVQYWNrZXQobXNnLCBiaW5hcnlUeXBlLCBmYWxzZSk7XG5cbiAgICAgIGlmIChlcnIudHlwZSA9PT0gcGFja2V0LnR5cGUgJiYgZXJyLmRhdGEgPT09IHBhY2tldC5kYXRhKSB7XG4gICAgICAgIC8vIHBhcnNlciBlcnJvciBpbiBpbmRpdmlkdWFsIHBhY2tldCAtIGlnbm9yaW5nIHBheWxvYWRcbiAgICAgICAgcmV0dXJuIGNhbGxiYWNrKGVyciwgMCwgMSk7XG4gICAgICB9XG5cbiAgICAgIHZhciByZXQgPSBjYWxsYmFjayhwYWNrZXQsIGkgKyBuLCBsKTtcbiAgICAgIGlmIChmYWxzZSA9PT0gcmV0KSByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gYWR2YW5jZSBjdXJzb3JcbiAgICBpICs9IG47XG4gICAgbGVuZ3RoID0gJyc7XG4gIH1cblxuICBpZiAobGVuZ3RoICE9PSAnJykge1xuICAgIC8vIHBhcnNlciBlcnJvciAtIGlnbm9yaW5nIHBheWxvYWRcbiAgICByZXR1cm4gY2FsbGJhY2soZXJyLCAwLCAxKTtcbiAgfVxuXG59O1xuXG4vKipcbiAqIEVuY29kZXMgbXVsdGlwbGUgbWVzc2FnZXMgKHBheWxvYWQpIGFzIGJpbmFyeS5cbiAqXG4gKiA8MSA9IGJpbmFyeSwgMCA9IHN0cmluZz48bnVtYmVyIGZyb20gMC05PjxudW1iZXIgZnJvbSAwLTk+Wy4uLl08bnVtYmVyXG4gKiAyNTU+PGRhdGE+XG4gKlxuICogRXhhbXBsZTpcbiAqIDEgMyAyNTUgMSAyIDMsIGlmIHRoZSBiaW5hcnkgY29udGVudHMgYXJlIGludGVycHJldGVkIGFzIDggYml0IGludGVnZXJzXG4gKlxuICogQHBhcmFtIHtBcnJheX0gcGFja2V0c1xuICogQHJldHVybiB7QXJyYXlCdWZmZXJ9IGVuY29kZWQgcGF5bG9hZFxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZXhwb3J0cy5lbmNvZGVQYXlsb2FkQXNBcnJheUJ1ZmZlciA9IGZ1bmN0aW9uKHBhY2tldHMsIGNhbGxiYWNrKSB7XG4gIGlmICghcGFja2V0cy5sZW5ndGgpIHtcbiAgICByZXR1cm4gY2FsbGJhY2sobmV3IEFycmF5QnVmZmVyKDApKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGVuY29kZU9uZShwYWNrZXQsIGRvbmVDYWxsYmFjaykge1xuICAgIGV4cG9ydHMuZW5jb2RlUGFja2V0KHBhY2tldCwgdHJ1ZSwgdHJ1ZSwgZnVuY3Rpb24oZGF0YSkge1xuICAgICAgcmV0dXJuIGRvbmVDYWxsYmFjayhudWxsLCBkYXRhKTtcbiAgICB9KTtcbiAgfVxuXG4gIG1hcChwYWNrZXRzLCBlbmNvZGVPbmUsIGZ1bmN0aW9uKGVyciwgZW5jb2RlZFBhY2tldHMpIHtcbiAgICB2YXIgdG90YWxMZW5ndGggPSBlbmNvZGVkUGFja2V0cy5yZWR1Y2UoZnVuY3Rpb24oYWNjLCBwKSB7XG4gICAgICB2YXIgbGVuO1xuICAgICAgaWYgKHR5cGVvZiBwID09PSAnc3RyaW5nJyl7XG4gICAgICAgIGxlbiA9IHAubGVuZ3RoO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGVuID0gcC5ieXRlTGVuZ3RoO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYyArIGxlbi50b1N0cmluZygpLmxlbmd0aCArIGxlbiArIDI7IC8vIHN0cmluZy9iaW5hcnkgaWRlbnRpZmllciArIHNlcGFyYXRvciA9IDJcbiAgICB9LCAwKTtcblxuICAgIHZhciByZXN1bHRBcnJheSA9IG5ldyBVaW50OEFycmF5KHRvdGFsTGVuZ3RoKTtcblxuICAgIHZhciBidWZmZXJJbmRleCA9IDA7XG4gICAgZW5jb2RlZFBhY2tldHMuZm9yRWFjaChmdW5jdGlvbihwKSB7XG4gICAgICB2YXIgaXNTdHJpbmcgPSB0eXBlb2YgcCA9PT0gJ3N0cmluZyc7XG4gICAgICB2YXIgYWIgPSBwO1xuICAgICAgaWYgKGlzU3RyaW5nKSB7XG4gICAgICAgIHZhciB2aWV3ID0gbmV3IFVpbnQ4QXJyYXkocC5sZW5ndGgpO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICB2aWV3W2ldID0gcC5jaGFyQ29kZUF0KGkpO1xuICAgICAgICB9XG4gICAgICAgIGFiID0gdmlldy5idWZmZXI7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc1N0cmluZykgeyAvLyBub3QgdHJ1ZSBiaW5hcnlcbiAgICAgICAgcmVzdWx0QXJyYXlbYnVmZmVySW5kZXgrK10gPSAwO1xuICAgICAgfSBlbHNlIHsgLy8gdHJ1ZSBiaW5hcnlcbiAgICAgICAgcmVzdWx0QXJyYXlbYnVmZmVySW5kZXgrK10gPSAxO1xuICAgICAgfVxuXG4gICAgICB2YXIgbGVuU3RyID0gYWIuYnl0ZUxlbmd0aC50b1N0cmluZygpO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5TdHIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgcmVzdWx0QXJyYXlbYnVmZmVySW5kZXgrK10gPSBwYXJzZUludChsZW5TdHJbaV0pO1xuICAgICAgfVxuICAgICAgcmVzdWx0QXJyYXlbYnVmZmVySW5kZXgrK10gPSAyNTU7XG5cbiAgICAgIHZhciB2aWV3ID0gbmV3IFVpbnQ4QXJyYXkoYWIpO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2aWV3Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHJlc3VsdEFycmF5W2J1ZmZlckluZGV4KytdID0gdmlld1tpXTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBjYWxsYmFjayhyZXN1bHRBcnJheS5idWZmZXIpO1xuICB9KTtcbn07XG5cbi8qKlxuICogRW5jb2RlIGFzIEJsb2JcbiAqL1xuXG5leHBvcnRzLmVuY29kZVBheWxvYWRBc0Jsb2IgPSBmdW5jdGlvbihwYWNrZXRzLCBjYWxsYmFjaykge1xuICBmdW5jdGlvbiBlbmNvZGVPbmUocGFja2V0LCBkb25lQ2FsbGJhY2spIHtcbiAgICBleHBvcnRzLmVuY29kZVBhY2tldChwYWNrZXQsIHRydWUsIHRydWUsIGZ1bmN0aW9uKGVuY29kZWQpIHtcbiAgICAgIHZhciBiaW5hcnlJZGVudGlmaWVyID0gbmV3IFVpbnQ4QXJyYXkoMSk7XG4gICAgICBiaW5hcnlJZGVudGlmaWVyWzBdID0gMTtcbiAgICAgIGlmICh0eXBlb2YgZW5jb2RlZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdmFyIHZpZXcgPSBuZXcgVWludDhBcnJheShlbmNvZGVkLmxlbmd0aCk7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZW5jb2RlZC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIHZpZXdbaV0gPSBlbmNvZGVkLmNoYXJDb2RlQXQoaSk7XG4gICAgICAgIH1cbiAgICAgICAgZW5jb2RlZCA9IHZpZXcuYnVmZmVyO1xuICAgICAgICBiaW5hcnlJZGVudGlmaWVyWzBdID0gMDtcbiAgICAgIH1cblxuICAgICAgdmFyIGxlbiA9IChlbmNvZGVkIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpXG4gICAgICAgID8gZW5jb2RlZC5ieXRlTGVuZ3RoXG4gICAgICAgIDogZW5jb2RlZC5zaXplO1xuXG4gICAgICB2YXIgbGVuU3RyID0gbGVuLnRvU3RyaW5nKCk7XG4gICAgICB2YXIgbGVuZ3RoQXJ5ID0gbmV3IFVpbnQ4QXJyYXkobGVuU3RyLmxlbmd0aCArIDEpO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5TdHIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbGVuZ3RoQXJ5W2ldID0gcGFyc2VJbnQobGVuU3RyW2ldKTtcbiAgICAgIH1cbiAgICAgIGxlbmd0aEFyeVtsZW5TdHIubGVuZ3RoXSA9IDI1NTtcblxuICAgICAgaWYgKEJsb2IpIHtcbiAgICAgICAgdmFyIGJsb2IgPSBuZXcgQmxvYihbYmluYXJ5SWRlbnRpZmllci5idWZmZXIsIGxlbmd0aEFyeS5idWZmZXIsIGVuY29kZWRdKTtcbiAgICAgICAgZG9uZUNhbGxiYWNrKG51bGwsIGJsb2IpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbWFwKHBhY2tldHMsIGVuY29kZU9uZSwgZnVuY3Rpb24oZXJyLCByZXN1bHRzKSB7XG4gICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBCbG9iKHJlc3VsdHMpKTtcbiAgfSk7XG59O1xuXG4vKlxuICogRGVjb2RlcyBkYXRhIHdoZW4gYSBwYXlsb2FkIGlzIG1heWJlIGV4cGVjdGVkLiBTdHJpbmdzIGFyZSBkZWNvZGVkIGJ5XG4gKiBpbnRlcnByZXRpbmcgZWFjaCBieXRlIGFzIGEga2V5IGNvZGUgZm9yIGVudHJpZXMgbWFya2VkIHRvIHN0YXJ0IHdpdGggMC4gU2VlXG4gKiBkZXNjcmlwdGlvbiBvZiBlbmNvZGVQYXlsb2FkQXNCaW5hcnlcbiAqXG4gKiBAcGFyYW0ge0FycmF5QnVmZmVyfSBkYXRhLCBjYWxsYmFjayBtZXRob2RcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZXhwb3J0cy5kZWNvZGVQYXlsb2FkQXNCaW5hcnkgPSBmdW5jdGlvbiAoZGF0YSwgYmluYXJ5VHlwZSwgY2FsbGJhY2spIHtcbiAgaWYgKHR5cGVvZiBiaW5hcnlUeXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgY2FsbGJhY2sgPSBiaW5hcnlUeXBlO1xuICAgIGJpbmFyeVR5cGUgPSBudWxsO1xuICB9XG5cbiAgdmFyIGJ1ZmZlclRhaWwgPSBkYXRhO1xuICB2YXIgYnVmZmVycyA9IFtdO1xuXG4gIHdoaWxlIChidWZmZXJUYWlsLmJ5dGVMZW5ndGggPiAwKSB7XG4gICAgdmFyIHRhaWxBcnJheSA9IG5ldyBVaW50OEFycmF5KGJ1ZmZlclRhaWwpO1xuICAgIHZhciBpc1N0cmluZyA9IHRhaWxBcnJheVswXSA9PT0gMDtcbiAgICB2YXIgbXNnTGVuZ3RoID0gJyc7XG5cbiAgICBmb3IgKHZhciBpID0gMTsgOyBpKyspIHtcbiAgICAgIGlmICh0YWlsQXJyYXlbaV0gPT09IDI1NSkgYnJlYWs7XG5cbiAgICAgIC8vIDMxMCA9IGNoYXIgbGVuZ3RoIG9mIE51bWJlci5NQVhfVkFMVUVcbiAgICAgIGlmIChtc2dMZW5ndGgubGVuZ3RoID4gMzEwKSB7XG4gICAgICAgIHJldHVybiBjYWxsYmFjayhlcnIsIDAsIDEpO1xuICAgICAgfVxuXG4gICAgICBtc2dMZW5ndGggKz0gdGFpbEFycmF5W2ldO1xuICAgIH1cblxuICAgIGJ1ZmZlclRhaWwgPSBzbGljZUJ1ZmZlcihidWZmZXJUYWlsLCAyICsgbXNnTGVuZ3RoLmxlbmd0aCk7XG4gICAgbXNnTGVuZ3RoID0gcGFyc2VJbnQobXNnTGVuZ3RoKTtcblxuICAgIHZhciBtc2cgPSBzbGljZUJ1ZmZlcihidWZmZXJUYWlsLCAwLCBtc2dMZW5ndGgpO1xuICAgIGlmIChpc1N0cmluZykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgbXNnID0gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLCBuZXcgVWludDhBcnJheShtc2cpKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gaVBob25lIFNhZmFyaSBkb2Vzbid0IGxldCB5b3UgYXBwbHkgdG8gdHlwZWQgYXJyYXlzXG4gICAgICAgIHZhciB0eXBlZCA9IG5ldyBVaW50OEFycmF5KG1zZyk7XG4gICAgICAgIG1zZyA9ICcnO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHR5cGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgbXNnICs9IFN0cmluZy5mcm9tQ2hhckNvZGUodHlwZWRbaV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgYnVmZmVycy5wdXNoKG1zZyk7XG4gICAgYnVmZmVyVGFpbCA9IHNsaWNlQnVmZmVyKGJ1ZmZlclRhaWwsIG1zZ0xlbmd0aCk7XG4gIH1cblxuICB2YXIgdG90YWwgPSBidWZmZXJzLmxlbmd0aDtcbiAgYnVmZmVycy5mb3JFYWNoKGZ1bmN0aW9uKGJ1ZmZlciwgaSkge1xuICAgIGNhbGxiYWNrKGV4cG9ydHMuZGVjb2RlUGFja2V0KGJ1ZmZlciwgYmluYXJ5VHlwZSwgdHJ1ZSksIGksIHRvdGFsKTtcbiAgfSk7XG59O1xuIiwiXG4vKipcbiAqIEdldHMgdGhlIGtleXMgZm9yIGFuIG9iamVjdC5cbiAqXG4gKiBAcmV0dXJuIHtBcnJheX0ga2V5c1xuICogQGFwaSBwcml2YXRlXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBPYmplY3Qua2V5cyB8fCBmdW5jdGlvbiBrZXlzIChvYmope1xuICB2YXIgYXJyID0gW107XG4gIHZhciBoYXMgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuXG4gIGZvciAodmFyIGkgaW4gb2JqKSB7XG4gICAgaWYgKGhhcy5jYWxsKG9iaiwgaSkpIHtcbiAgICAgIGFyci5wdXNoKGkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gYXJyO1xufTtcbiIsIi8qISBodHRwczovL210aHMuYmUvdXRmOGpzIHYyLjEuMiBieSBAbWF0aGlhcyAqL1xuXG52YXIgc3RyaW5nRnJvbUNoYXJDb2RlID0gU3RyaW5nLmZyb21DaGFyQ29kZTtcblxuLy8gVGFrZW4gZnJvbSBodHRwczovL210aHMuYmUvcHVueWNvZGVcbmZ1bmN0aW9uIHVjczJkZWNvZGUoc3RyaW5nKSB7XG5cdHZhciBvdXRwdXQgPSBbXTtcblx0dmFyIGNvdW50ZXIgPSAwO1xuXHR2YXIgbGVuZ3RoID0gc3RyaW5nLmxlbmd0aDtcblx0dmFyIHZhbHVlO1xuXHR2YXIgZXh0cmE7XG5cdHdoaWxlIChjb3VudGVyIDwgbGVuZ3RoKSB7XG5cdFx0dmFsdWUgPSBzdHJpbmcuY2hhckNvZGVBdChjb3VudGVyKyspO1xuXHRcdGlmICh2YWx1ZSA+PSAweEQ4MDAgJiYgdmFsdWUgPD0gMHhEQkZGICYmIGNvdW50ZXIgPCBsZW5ndGgpIHtcblx0XHRcdC8vIGhpZ2ggc3Vycm9nYXRlLCBhbmQgdGhlcmUgaXMgYSBuZXh0IGNoYXJhY3RlclxuXHRcdFx0ZXh0cmEgPSBzdHJpbmcuY2hhckNvZGVBdChjb3VudGVyKyspO1xuXHRcdFx0aWYgKChleHRyYSAmIDB4RkMwMCkgPT0gMHhEQzAwKSB7IC8vIGxvdyBzdXJyb2dhdGVcblx0XHRcdFx0b3V0cHV0LnB1c2goKCh2YWx1ZSAmIDB4M0ZGKSA8PCAxMCkgKyAoZXh0cmEgJiAweDNGRikgKyAweDEwMDAwKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdC8vIHVubWF0Y2hlZCBzdXJyb2dhdGU7IG9ubHkgYXBwZW5kIHRoaXMgY29kZSB1bml0LCBpbiBjYXNlIHRoZSBuZXh0XG5cdFx0XHRcdC8vIGNvZGUgdW5pdCBpcyB0aGUgaGlnaCBzdXJyb2dhdGUgb2YgYSBzdXJyb2dhdGUgcGFpclxuXHRcdFx0XHRvdXRwdXQucHVzaCh2YWx1ZSk7XG5cdFx0XHRcdGNvdW50ZXItLTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0b3V0cHV0LnB1c2godmFsdWUpO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gb3V0cHV0O1xufVxuXG4vLyBUYWtlbiBmcm9tIGh0dHBzOi8vbXRocy5iZS9wdW55Y29kZVxuZnVuY3Rpb24gdWNzMmVuY29kZShhcnJheSkge1xuXHR2YXIgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXHR2YXIgaW5kZXggPSAtMTtcblx0dmFyIHZhbHVlO1xuXHR2YXIgb3V0cHV0ID0gJyc7XG5cdHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG5cdFx0dmFsdWUgPSBhcnJheVtpbmRleF07XG5cdFx0aWYgKHZhbHVlID4gMHhGRkZGKSB7XG5cdFx0XHR2YWx1ZSAtPSAweDEwMDAwO1xuXHRcdFx0b3V0cHV0ICs9IHN0cmluZ0Zyb21DaGFyQ29kZSh2YWx1ZSA+Pj4gMTAgJiAweDNGRiB8IDB4RDgwMCk7XG5cdFx0XHR2YWx1ZSA9IDB4REMwMCB8IHZhbHVlICYgMHgzRkY7XG5cdFx0fVxuXHRcdG91dHB1dCArPSBzdHJpbmdGcm9tQ2hhckNvZGUodmFsdWUpO1xuXHR9XG5cdHJldHVybiBvdXRwdXQ7XG59XG5cbmZ1bmN0aW9uIGNoZWNrU2NhbGFyVmFsdWUoY29kZVBvaW50LCBzdHJpY3QpIHtcblx0aWYgKGNvZGVQb2ludCA+PSAweEQ4MDAgJiYgY29kZVBvaW50IDw9IDB4REZGRikge1xuXHRcdGlmIChzdHJpY3QpIHtcblx0XHRcdHRocm93IEVycm9yKFxuXHRcdFx0XHQnTG9uZSBzdXJyb2dhdGUgVSsnICsgY29kZVBvaW50LnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpICtcblx0XHRcdFx0JyBpcyBub3QgYSBzY2FsYXIgdmFsdWUnXG5cdFx0XHQpO1xuXHRcdH1cblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblx0cmV0dXJuIHRydWU7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuZnVuY3Rpb24gY3JlYXRlQnl0ZShjb2RlUG9pbnQsIHNoaWZ0KSB7XG5cdHJldHVybiBzdHJpbmdGcm9tQ2hhckNvZGUoKChjb2RlUG9pbnQgPj4gc2hpZnQpICYgMHgzRikgfCAweDgwKTtcbn1cblxuZnVuY3Rpb24gZW5jb2RlQ29kZVBvaW50KGNvZGVQb2ludCwgc3RyaWN0KSB7XG5cdGlmICgoY29kZVBvaW50ICYgMHhGRkZGRkY4MCkgPT0gMCkgeyAvLyAxLWJ5dGUgc2VxdWVuY2Vcblx0XHRyZXR1cm4gc3RyaW5nRnJvbUNoYXJDb2RlKGNvZGVQb2ludCk7XG5cdH1cblx0dmFyIHN5bWJvbCA9ICcnO1xuXHRpZiAoKGNvZGVQb2ludCAmIDB4RkZGRkY4MDApID09IDApIHsgLy8gMi1ieXRlIHNlcXVlbmNlXG5cdFx0c3ltYm9sID0gc3RyaW5nRnJvbUNoYXJDb2RlKCgoY29kZVBvaW50ID4+IDYpICYgMHgxRikgfCAweEMwKTtcblx0fVxuXHRlbHNlIGlmICgoY29kZVBvaW50ICYgMHhGRkZGMDAwMCkgPT0gMCkgeyAvLyAzLWJ5dGUgc2VxdWVuY2Vcblx0XHRpZiAoIWNoZWNrU2NhbGFyVmFsdWUoY29kZVBvaW50LCBzdHJpY3QpKSB7XG5cdFx0XHRjb2RlUG9pbnQgPSAweEZGRkQ7XG5cdFx0fVxuXHRcdHN5bWJvbCA9IHN0cmluZ0Zyb21DaGFyQ29kZSgoKGNvZGVQb2ludCA+PiAxMikgJiAweDBGKSB8IDB4RTApO1xuXHRcdHN5bWJvbCArPSBjcmVhdGVCeXRlKGNvZGVQb2ludCwgNik7XG5cdH1cblx0ZWxzZSBpZiAoKGNvZGVQb2ludCAmIDB4RkZFMDAwMDApID09IDApIHsgLy8gNC1ieXRlIHNlcXVlbmNlXG5cdFx0c3ltYm9sID0gc3RyaW5nRnJvbUNoYXJDb2RlKCgoY29kZVBvaW50ID4+IDE4KSAmIDB4MDcpIHwgMHhGMCk7XG5cdFx0c3ltYm9sICs9IGNyZWF0ZUJ5dGUoY29kZVBvaW50LCAxMik7XG5cdFx0c3ltYm9sICs9IGNyZWF0ZUJ5dGUoY29kZVBvaW50LCA2KTtcblx0fVxuXHRzeW1ib2wgKz0gc3RyaW5nRnJvbUNoYXJDb2RlKChjb2RlUG9pbnQgJiAweDNGKSB8IDB4ODApO1xuXHRyZXR1cm4gc3ltYm9sO1xufVxuXG5mdW5jdGlvbiB1dGY4ZW5jb2RlKHN0cmluZywgb3B0cykge1xuXHRvcHRzID0gb3B0cyB8fCB7fTtcblx0dmFyIHN0cmljdCA9IGZhbHNlICE9PSBvcHRzLnN0cmljdDtcblxuXHR2YXIgY29kZVBvaW50cyA9IHVjczJkZWNvZGUoc3RyaW5nKTtcblx0dmFyIGxlbmd0aCA9IGNvZGVQb2ludHMubGVuZ3RoO1xuXHR2YXIgaW5kZXggPSAtMTtcblx0dmFyIGNvZGVQb2ludDtcblx0dmFyIGJ5dGVTdHJpbmcgPSAnJztcblx0d2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcblx0XHRjb2RlUG9pbnQgPSBjb2RlUG9pbnRzW2luZGV4XTtcblx0XHRieXRlU3RyaW5nICs9IGVuY29kZUNvZGVQb2ludChjb2RlUG9pbnQsIHN0cmljdCk7XG5cdH1cblx0cmV0dXJuIGJ5dGVTdHJpbmc7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5mdW5jdGlvbiByZWFkQ29udGludWF0aW9uQnl0ZSgpIHtcblx0aWYgKGJ5dGVJbmRleCA+PSBieXRlQ291bnQpIHtcblx0XHR0aHJvdyBFcnJvcignSW52YWxpZCBieXRlIGluZGV4Jyk7XG5cdH1cblxuXHR2YXIgY29udGludWF0aW9uQnl0ZSA9IGJ5dGVBcnJheVtieXRlSW5kZXhdICYgMHhGRjtcblx0Ynl0ZUluZGV4Kys7XG5cblx0aWYgKChjb250aW51YXRpb25CeXRlICYgMHhDMCkgPT0gMHg4MCkge1xuXHRcdHJldHVybiBjb250aW51YXRpb25CeXRlICYgMHgzRjtcblx0fVxuXG5cdC8vIElmIHdlIGVuZCB1cCBoZXJlLCBpdOKAmXMgbm90IGEgY29udGludWF0aW9uIGJ5dGVcblx0dGhyb3cgRXJyb3IoJ0ludmFsaWQgY29udGludWF0aW9uIGJ5dGUnKTtcbn1cblxuZnVuY3Rpb24gZGVjb2RlU3ltYm9sKHN0cmljdCkge1xuXHR2YXIgYnl0ZTE7XG5cdHZhciBieXRlMjtcblx0dmFyIGJ5dGUzO1xuXHR2YXIgYnl0ZTQ7XG5cdHZhciBjb2RlUG9pbnQ7XG5cblx0aWYgKGJ5dGVJbmRleCA+IGJ5dGVDb3VudCkge1xuXHRcdHRocm93IEVycm9yKCdJbnZhbGlkIGJ5dGUgaW5kZXgnKTtcblx0fVxuXG5cdGlmIChieXRlSW5kZXggPT0gYnl0ZUNvdW50KSB7XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0Ly8gUmVhZCBmaXJzdCBieXRlXG5cdGJ5dGUxID0gYnl0ZUFycmF5W2J5dGVJbmRleF0gJiAweEZGO1xuXHRieXRlSW5kZXgrKztcblxuXHQvLyAxLWJ5dGUgc2VxdWVuY2UgKG5vIGNvbnRpbnVhdGlvbiBieXRlcylcblx0aWYgKChieXRlMSAmIDB4ODApID09IDApIHtcblx0XHRyZXR1cm4gYnl0ZTE7XG5cdH1cblxuXHQvLyAyLWJ5dGUgc2VxdWVuY2Vcblx0aWYgKChieXRlMSAmIDB4RTApID09IDB4QzApIHtcblx0XHRieXRlMiA9IHJlYWRDb250aW51YXRpb25CeXRlKCk7XG5cdFx0Y29kZVBvaW50ID0gKChieXRlMSAmIDB4MUYpIDw8IDYpIHwgYnl0ZTI7XG5cdFx0aWYgKGNvZGVQb2ludCA+PSAweDgwKSB7XG5cdFx0XHRyZXR1cm4gY29kZVBvaW50O1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aHJvdyBFcnJvcignSW52YWxpZCBjb250aW51YXRpb24gYnl0ZScpO1xuXHRcdH1cblx0fVxuXG5cdC8vIDMtYnl0ZSBzZXF1ZW5jZSAobWF5IGluY2x1ZGUgdW5wYWlyZWQgc3Vycm9nYXRlcylcblx0aWYgKChieXRlMSAmIDB4RjApID09IDB4RTApIHtcblx0XHRieXRlMiA9IHJlYWRDb250aW51YXRpb25CeXRlKCk7XG5cdFx0Ynl0ZTMgPSByZWFkQ29udGludWF0aW9uQnl0ZSgpO1xuXHRcdGNvZGVQb2ludCA9ICgoYnl0ZTEgJiAweDBGKSA8PCAxMikgfCAoYnl0ZTIgPDwgNikgfCBieXRlMztcblx0XHRpZiAoY29kZVBvaW50ID49IDB4MDgwMCkge1xuXHRcdFx0cmV0dXJuIGNoZWNrU2NhbGFyVmFsdWUoY29kZVBvaW50LCBzdHJpY3QpID8gY29kZVBvaW50IDogMHhGRkZEO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aHJvdyBFcnJvcignSW52YWxpZCBjb250aW51YXRpb24gYnl0ZScpO1xuXHRcdH1cblx0fVxuXG5cdC8vIDQtYnl0ZSBzZXF1ZW5jZVxuXHRpZiAoKGJ5dGUxICYgMHhGOCkgPT0gMHhGMCkge1xuXHRcdGJ5dGUyID0gcmVhZENvbnRpbnVhdGlvbkJ5dGUoKTtcblx0XHRieXRlMyA9IHJlYWRDb250aW51YXRpb25CeXRlKCk7XG5cdFx0Ynl0ZTQgPSByZWFkQ29udGludWF0aW9uQnl0ZSgpO1xuXHRcdGNvZGVQb2ludCA9ICgoYnl0ZTEgJiAweDA3KSA8PCAweDEyKSB8IChieXRlMiA8PCAweDBDKSB8XG5cdFx0XHQoYnl0ZTMgPDwgMHgwNikgfCBieXRlNDtcblx0XHRpZiAoY29kZVBvaW50ID49IDB4MDEwMDAwICYmIGNvZGVQb2ludCA8PSAweDEwRkZGRikge1xuXHRcdFx0cmV0dXJuIGNvZGVQb2ludDtcblx0XHR9XG5cdH1cblxuXHR0aHJvdyBFcnJvcignSW52YWxpZCBVVEYtOCBkZXRlY3RlZCcpO1xufVxuXG52YXIgYnl0ZUFycmF5O1xudmFyIGJ5dGVDb3VudDtcbnZhciBieXRlSW5kZXg7XG5mdW5jdGlvbiB1dGY4ZGVjb2RlKGJ5dGVTdHJpbmcsIG9wdHMpIHtcblx0b3B0cyA9IG9wdHMgfHwge307XG5cdHZhciBzdHJpY3QgPSBmYWxzZSAhPT0gb3B0cy5zdHJpY3Q7XG5cblx0Ynl0ZUFycmF5ID0gdWNzMmRlY29kZShieXRlU3RyaW5nKTtcblx0Ynl0ZUNvdW50ID0gYnl0ZUFycmF5Lmxlbmd0aDtcblx0Ynl0ZUluZGV4ID0gMDtcblx0dmFyIGNvZGVQb2ludHMgPSBbXTtcblx0dmFyIHRtcDtcblx0d2hpbGUgKCh0bXAgPSBkZWNvZGVTeW1ib2woc3RyaWN0KSkgIT09IGZhbHNlKSB7XG5cdFx0Y29kZVBvaW50cy5wdXNoKHRtcCk7XG5cdH1cblx0cmV0dXJuIHVjczJlbmNvZGUoY29kZVBvaW50cyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuXHR2ZXJzaW9uOiAnMi4xLjInLFxuXHRlbmNvZGU6IHV0ZjhlbmNvZGUsXG5cdGRlY29kZTogdXRmOGRlY29kZVxufTtcbiIsIi8qKlxyXG4gKiBDb21waWxlcyBhIHF1ZXJ5c3RyaW5nXHJcbiAqIFJldHVybnMgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBvYmplY3RcclxuICpcclxuICogQHBhcmFtIHtPYmplY3R9XHJcbiAqIEBhcGkgcHJpdmF0ZVxyXG4gKi9cclxuXHJcbmV4cG9ydHMuZW5jb2RlID0gZnVuY3Rpb24gKG9iaikge1xyXG4gIHZhciBzdHIgPSAnJztcclxuXHJcbiAgZm9yICh2YXIgaSBpbiBvYmopIHtcclxuICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoaSkpIHtcclxuICAgICAgaWYgKHN0ci5sZW5ndGgpIHN0ciArPSAnJic7XHJcbiAgICAgIHN0ciArPSBlbmNvZGVVUklDb21wb25lbnQoaSkgKyAnPScgKyBlbmNvZGVVUklDb21wb25lbnQob2JqW2ldKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldHVybiBzdHI7XHJcbn07XHJcblxyXG4vKipcclxuICogUGFyc2VzIGEgc2ltcGxlIHF1ZXJ5c3RyaW5nIGludG8gYW4gb2JqZWN0XHJcbiAqXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSBxc1xyXG4gKiBAYXBpIHByaXZhdGVcclxuICovXHJcblxyXG5leHBvcnRzLmRlY29kZSA9IGZ1bmN0aW9uKHFzKXtcclxuICB2YXIgcXJ5ID0ge307XHJcbiAgdmFyIHBhaXJzID0gcXMuc3BsaXQoJyYnKTtcclxuICBmb3IgKHZhciBpID0gMCwgbCA9IHBhaXJzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgdmFyIHBhaXIgPSBwYWlyc1tpXS5zcGxpdCgnPScpO1xyXG4gICAgcXJ5W2RlY29kZVVSSUNvbXBvbmVudChwYWlyWzBdKV0gPSBkZWNvZGVVUklDb21wb25lbnQocGFpclsxXSk7XHJcbiAgfVxyXG4gIHJldHVybiBxcnk7XHJcbn07XHJcbiIsIi8qKlxyXG4gKiBQYXJzZXMgYW4gVVJJXHJcbiAqXHJcbiAqIEBhdXRob3IgU3RldmVuIExldml0aGFuIDxzdGV2ZW5sZXZpdGhhbi5jb20+IChNSVQgbGljZW5zZSlcclxuICogQGFwaSBwcml2YXRlXHJcbiAqL1xyXG5cclxudmFyIHJlID0gL14oPzooPyFbXjpAXSs6W146QFxcL10qQCkoaHR0cHxodHRwc3x3c3x3c3MpOlxcL1xcLyk/KCg/OigoW146QF0qKSg/OjooW146QF0qKSk/KT9AKT8oKD86W2EtZjAtOV17MCw0fTopezIsN31bYS1mMC05XXswLDR9fFteOlxcLz8jXSopKD86OihcXGQqKSk/KSgoKFxcLyg/OltePyNdKD8hW14/I1xcL10qXFwuW14/I1xcLy5dKyg/Ols/I118JCkpKSpcXC8/KT8oW14/I1xcL10qKSkoPzpcXD8oW14jXSopKT8oPzojKC4qKSk/KS87XHJcblxyXG52YXIgcGFydHMgPSBbXHJcbiAgICAnc291cmNlJywgJ3Byb3RvY29sJywgJ2F1dGhvcml0eScsICd1c2VySW5mbycsICd1c2VyJywgJ3Bhc3N3b3JkJywgJ2hvc3QnLCAncG9ydCcsICdyZWxhdGl2ZScsICdwYXRoJywgJ2RpcmVjdG9yeScsICdmaWxlJywgJ3F1ZXJ5JywgJ2FuY2hvcidcclxuXTtcclxuXHJcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gcGFyc2V1cmkoc3RyKSB7XHJcbiAgICB2YXIgc3JjID0gc3RyLFxyXG4gICAgICAgIGIgPSBzdHIuaW5kZXhPZignWycpLFxyXG4gICAgICAgIGUgPSBzdHIuaW5kZXhPZignXScpO1xyXG5cclxuICAgIGlmIChiICE9IC0xICYmIGUgIT0gLTEpIHtcclxuICAgICAgICBzdHIgPSBzdHIuc3Vic3RyaW5nKDAsIGIpICsgc3RyLnN1YnN0cmluZyhiLCBlKS5yZXBsYWNlKC86L2csICc7JykgKyBzdHIuc3Vic3RyaW5nKGUsIHN0ci5sZW5ndGgpO1xyXG4gICAgfVxyXG5cclxuICAgIHZhciBtID0gcmUuZXhlYyhzdHIgfHwgJycpLFxyXG4gICAgICAgIHVyaSA9IHt9LFxyXG4gICAgICAgIGkgPSAxNDtcclxuXHJcbiAgICB3aGlsZSAoaS0tKSB7XHJcbiAgICAgICAgdXJpW3BhcnRzW2ldXSA9IG1baV0gfHwgJyc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGIgIT0gLTEgJiYgZSAhPSAtMSkge1xyXG4gICAgICAgIHVyaS5zb3VyY2UgPSBzcmM7XHJcbiAgICAgICAgdXJpLmhvc3QgPSB1cmkuaG9zdC5zdWJzdHJpbmcoMSwgdXJpLmhvc3QubGVuZ3RoIC0gMSkucmVwbGFjZSgvOy9nLCAnOicpO1xyXG4gICAgICAgIHVyaS5hdXRob3JpdHkgPSB1cmkuYXV0aG9yaXR5LnJlcGxhY2UoJ1snLCAnJykucmVwbGFjZSgnXScsICcnKS5yZXBsYWNlKC87L2csICc6Jyk7XHJcbiAgICAgICAgdXJpLmlwdjZ1cmkgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB1cmk7XHJcbn07XHJcbiIsIi8qZ2xvYmFsIEJsb2IsRmlsZSovXG5cbi8qKlxuICogTW9kdWxlIHJlcXVpcmVtZW50c1xuICovXG5cbnZhciBpc0FycmF5ID0gcmVxdWlyZSgnaXNhcnJheScpO1xudmFyIGlzQnVmID0gcmVxdWlyZSgnLi9pcy1idWZmZXInKTtcbnZhciB0b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG52YXIgd2l0aE5hdGl2ZUJsb2IgPSB0eXBlb2YgQmxvYiA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIEJsb2IgIT09ICd1bmRlZmluZWQnICYmIHRvU3RyaW5nLmNhbGwoQmxvYikgPT09ICdbb2JqZWN0IEJsb2JDb25zdHJ1Y3Rvcl0nKTtcbnZhciB3aXRoTmF0aXZlRmlsZSA9IHR5cGVvZiBGaWxlID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgRmlsZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdG9TdHJpbmcuY2FsbChGaWxlKSA9PT0gJ1tvYmplY3QgRmlsZUNvbnN0cnVjdG9yXScpO1xuXG4vKipcbiAqIFJlcGxhY2VzIGV2ZXJ5IEJ1ZmZlciB8IEFycmF5QnVmZmVyIGluIHBhY2tldCB3aXRoIGEgbnVtYmVyZWQgcGxhY2Vob2xkZXIuXG4gKiBBbnl0aGluZyB3aXRoIGJsb2JzIG9yIGZpbGVzIHNob3VsZCBiZSBmZWQgdGhyb3VnaCByZW1vdmVCbG9icyBiZWZvcmUgY29taW5nXG4gKiBoZXJlLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYWNrZXQgLSBzb2NrZXQuaW8gZXZlbnQgcGFja2V0XG4gKiBAcmV0dXJuIHtPYmplY3R9IHdpdGggZGVjb25zdHJ1Y3RlZCBwYWNrZXQgYW5kIGxpc3Qgb2YgYnVmZmVyc1xuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5leHBvcnRzLmRlY29uc3RydWN0UGFja2V0ID0gZnVuY3Rpb24ocGFja2V0KSB7XG4gIHZhciBidWZmZXJzID0gW107XG4gIHZhciBwYWNrZXREYXRhID0gcGFja2V0LmRhdGE7XG4gIHZhciBwYWNrID0gcGFja2V0O1xuICBwYWNrLmRhdGEgPSBfZGVjb25zdHJ1Y3RQYWNrZXQocGFja2V0RGF0YSwgYnVmZmVycyk7XG4gIHBhY2suYXR0YWNobWVudHMgPSBidWZmZXJzLmxlbmd0aDsgLy8gbnVtYmVyIG9mIGJpbmFyeSAnYXR0YWNobWVudHMnXG4gIHJldHVybiB7cGFja2V0OiBwYWNrLCBidWZmZXJzOiBidWZmZXJzfTtcbn07XG5cbmZ1bmN0aW9uIF9kZWNvbnN0cnVjdFBhY2tldChkYXRhLCBidWZmZXJzKSB7XG4gIGlmICghZGF0YSkgcmV0dXJuIGRhdGE7XG5cbiAgaWYgKGlzQnVmKGRhdGEpKSB7XG4gICAgdmFyIHBsYWNlaG9sZGVyID0geyBfcGxhY2Vob2xkZXI6IHRydWUsIG51bTogYnVmZmVycy5sZW5ndGggfTtcbiAgICBidWZmZXJzLnB1c2goZGF0YSk7XG4gICAgcmV0dXJuIHBsYWNlaG9sZGVyO1xuICB9IGVsc2UgaWYgKGlzQXJyYXkoZGF0YSkpIHtcbiAgICB2YXIgbmV3RGF0YSA9IG5ldyBBcnJheShkYXRhLmxlbmd0aCk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKSB7XG4gICAgICBuZXdEYXRhW2ldID0gX2RlY29uc3RydWN0UGFja2V0KGRhdGFbaV0sIGJ1ZmZlcnMpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3RGF0YTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiYgIShkYXRhIGluc3RhbmNlb2YgRGF0ZSkpIHtcbiAgICB2YXIgbmV3RGF0YSA9IHt9O1xuICAgIGZvciAodmFyIGtleSBpbiBkYXRhKSB7XG4gICAgICBuZXdEYXRhW2tleV0gPSBfZGVjb25zdHJ1Y3RQYWNrZXQoZGF0YVtrZXldLCBidWZmZXJzKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ld0RhdGE7XG4gIH1cbiAgcmV0dXJuIGRhdGE7XG59XG5cbi8qKlxuICogUmVjb25zdHJ1Y3RzIGEgYmluYXJ5IHBhY2tldCBmcm9tIGl0cyBwbGFjZWhvbGRlciBwYWNrZXQgYW5kIGJ1ZmZlcnNcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcGFja2V0IC0gZXZlbnQgcGFja2V0IHdpdGggcGxhY2Vob2xkZXJzXG4gKiBAcGFyYW0ge0FycmF5fSBidWZmZXJzIC0gYmluYXJ5IGJ1ZmZlcnMgdG8gcHV0IGluIHBsYWNlaG9sZGVyIHBvc2l0aW9uc1xuICogQHJldHVybiB7T2JqZWN0fSByZWNvbnN0cnVjdGVkIHBhY2tldFxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5leHBvcnRzLnJlY29uc3RydWN0UGFja2V0ID0gZnVuY3Rpb24ocGFja2V0LCBidWZmZXJzKSB7XG4gIHBhY2tldC5kYXRhID0gX3JlY29uc3RydWN0UGFja2V0KHBhY2tldC5kYXRhLCBidWZmZXJzKTtcbiAgcGFja2V0LmF0dGFjaG1lbnRzID0gdW5kZWZpbmVkOyAvLyBubyBsb25nZXIgdXNlZnVsXG4gIHJldHVybiBwYWNrZXQ7XG59O1xuXG5mdW5jdGlvbiBfcmVjb25zdHJ1Y3RQYWNrZXQoZGF0YSwgYnVmZmVycykge1xuICBpZiAoIWRhdGEpIHJldHVybiBkYXRhO1xuXG4gIGlmIChkYXRhICYmIGRhdGEuX3BsYWNlaG9sZGVyID09PSB0cnVlKSB7XG4gICAgdmFyIGlzSW5kZXhWYWxpZCA9XG4gICAgICB0eXBlb2YgZGF0YS5udW0gPT09IFwibnVtYmVyXCIgJiZcbiAgICAgIGRhdGEubnVtID49IDAgJiZcbiAgICAgIGRhdGEubnVtIDwgYnVmZmVycy5sZW5ndGg7XG4gICAgaWYgKGlzSW5kZXhWYWxpZCkge1xuICAgICAgcmV0dXJuIGJ1ZmZlcnNbZGF0YS5udW1dOyAvLyBhcHByb3ByaWF0ZSBidWZmZXIgKHNob3VsZCBiZSBuYXR1cmFsIG9yZGVyIGFueXdheSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaWxsZWdhbCBhdHRhY2htZW50c1wiKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoaXNBcnJheShkYXRhKSkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykge1xuICAgICAgZGF0YVtpXSA9IF9yZWNvbnN0cnVjdFBhY2tldChkYXRhW2ldLCBidWZmZXJzKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAodHlwZW9mIGRhdGEgPT09ICdvYmplY3QnKSB7XG4gICAgZm9yICh2YXIga2V5IGluIGRhdGEpIHtcbiAgICAgIGRhdGFba2V5XSA9IF9yZWNvbnN0cnVjdFBhY2tldChkYXRhW2tleV0sIGJ1ZmZlcnMpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkYXRhO1xufVxuXG4vKipcbiAqIEFzeW5jaHJvbm91c2x5IHJlbW92ZXMgQmxvYnMgb3IgRmlsZXMgZnJvbSBkYXRhIHZpYVxuICogRmlsZVJlYWRlcidzIHJlYWRBc0FycmF5QnVmZmVyIG1ldGhvZC4gVXNlZCBiZWZvcmUgZW5jb2RpbmdcbiAqIGRhdGEgYXMgbXNncGFjay4gQ2FsbHMgY2FsbGJhY2sgd2l0aCB0aGUgYmxvYmxlc3MgZGF0YS5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gZGF0YVxuICogQHBhcmFtIHtGdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmV4cG9ydHMucmVtb3ZlQmxvYnMgPSBmdW5jdGlvbihkYXRhLCBjYWxsYmFjaykge1xuICBmdW5jdGlvbiBfcmVtb3ZlQmxvYnMob2JqLCBjdXJLZXksIGNvbnRhaW5pbmdPYmplY3QpIHtcbiAgICBpZiAoIW9iaikgcmV0dXJuIG9iajtcblxuICAgIC8vIGNvbnZlcnQgYW55IGJsb2JcbiAgICBpZiAoKHdpdGhOYXRpdmVCbG9iICYmIG9iaiBpbnN0YW5jZW9mIEJsb2IpIHx8XG4gICAgICAgICh3aXRoTmF0aXZlRmlsZSAmJiBvYmogaW5zdGFuY2VvZiBGaWxlKSkge1xuICAgICAgcGVuZGluZ0Jsb2JzKys7XG5cbiAgICAgIC8vIGFzeW5jIGZpbGVyZWFkZXJcbiAgICAgIHZhciBmaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgIGZpbGVSZWFkZXIub25sb2FkID0gZnVuY3Rpb24oKSB7IC8vIHRoaXMucmVzdWx0ID09IGFycmF5YnVmZmVyXG4gICAgICAgIGlmIChjb250YWluaW5nT2JqZWN0KSB7XG4gICAgICAgICAgY29udGFpbmluZ09iamVjdFtjdXJLZXldID0gdGhpcy5yZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgYmxvYmxlc3NEYXRhID0gdGhpcy5yZXN1bHQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpZiBub3RoaW5nIHBlbmRpbmcgaXRzIGNhbGxiYWNrIHRpbWVcbiAgICAgICAgaWYoISAtLXBlbmRpbmdCbG9icykge1xuICAgICAgICAgIGNhbGxiYWNrKGJsb2JsZXNzRGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIGZpbGVSZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIob2JqKTsgLy8gYmxvYiAtPiBhcnJheWJ1ZmZlclxuICAgIH0gZWxzZSBpZiAoaXNBcnJheShvYmopKSB7IC8vIGhhbmRsZSBhcnJheVxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvYmoubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgX3JlbW92ZUJsb2JzKG9ialtpXSwgaSwgb2JqKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBvYmogPT09ICdvYmplY3QnICYmICFpc0J1ZihvYmopKSB7IC8vIGFuZCBvYmplY3RcbiAgICAgIGZvciAodmFyIGtleSBpbiBvYmopIHtcbiAgICAgICAgX3JlbW92ZUJsb2JzKG9ialtrZXldLCBrZXksIG9iaik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIHBlbmRpbmdCbG9icyA9IDA7XG4gIHZhciBibG9ibGVzc0RhdGEgPSBkYXRhO1xuICBfcmVtb3ZlQmxvYnMoYmxvYmxlc3NEYXRhKTtcbiAgaWYgKCFwZW5kaW5nQmxvYnMpIHtcbiAgICBjYWxsYmFjayhibG9ibGVzc0RhdGEpO1xuICB9XG59O1xuIiwiXG4vKipcbiAqIE1vZHVsZSBkZXBlbmRlbmNpZXMuXG4gKi9cblxudmFyIGRlYnVnID0gcmVxdWlyZSgnZGVidWcnKSgnc29ja2V0LmlvLXBhcnNlcicpO1xudmFyIEVtaXR0ZXIgPSByZXF1aXJlKCdjb21wb25lbnQtZW1pdHRlcicpO1xudmFyIGJpbmFyeSA9IHJlcXVpcmUoJy4vYmluYXJ5Jyk7XG52YXIgaXNBcnJheSA9IHJlcXVpcmUoJ2lzYXJyYXknKTtcbnZhciBpc0J1ZiA9IHJlcXVpcmUoJy4vaXMtYnVmZmVyJyk7XG5cbi8qKlxuICogUHJvdG9jb2wgdmVyc2lvbi5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmV4cG9ydHMucHJvdG9jb2wgPSA0O1xuXG4vKipcbiAqIFBhY2tldCB0eXBlcy5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmV4cG9ydHMudHlwZXMgPSBbXG4gICdDT05ORUNUJyxcbiAgJ0RJU0NPTk5FQ1QnLFxuICAnRVZFTlQnLFxuICAnQUNLJyxcbiAgJ0VSUk9SJyxcbiAgJ0JJTkFSWV9FVkVOVCcsXG4gICdCSU5BUllfQUNLJ1xuXTtcblxuLyoqXG4gKiBQYWNrZXQgdHlwZSBgY29ubmVjdGAuXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5leHBvcnRzLkNPTk5FQ1QgPSAwO1xuXG4vKipcbiAqIFBhY2tldCB0eXBlIGBkaXNjb25uZWN0YC5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmV4cG9ydHMuRElTQ09OTkVDVCA9IDE7XG5cbi8qKlxuICogUGFja2V0IHR5cGUgYGV2ZW50YC5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmV4cG9ydHMuRVZFTlQgPSAyO1xuXG4vKipcbiAqIFBhY2tldCB0eXBlIGBhY2tgLlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZXhwb3J0cy5BQ0sgPSAzO1xuXG4vKipcbiAqIFBhY2tldCB0eXBlIGBlcnJvcmAuXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5leHBvcnRzLkVSUk9SID0gNDtcblxuLyoqXG4gKiBQYWNrZXQgdHlwZSAnYmluYXJ5IGV2ZW50J1xuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZXhwb3J0cy5CSU5BUllfRVZFTlQgPSA1O1xuXG4vKipcbiAqIFBhY2tldCB0eXBlIGBiaW5hcnkgYWNrYC4gRm9yIGFja3Mgd2l0aCBiaW5hcnkgYXJndW1lbnRzLlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZXhwb3J0cy5CSU5BUllfQUNLID0gNjtcblxuLyoqXG4gKiBFbmNvZGVyIGNvbnN0cnVjdG9yLlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZXhwb3J0cy5FbmNvZGVyID0gRW5jb2RlcjtcblxuLyoqXG4gKiBEZWNvZGVyIGNvbnN0cnVjdG9yLlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZXhwb3J0cy5EZWNvZGVyID0gRGVjb2RlcjtcblxuLyoqXG4gKiBBIHNvY2tldC5pbyBFbmNvZGVyIGluc3RhbmNlXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBFbmNvZGVyKCkge31cblxudmFyIEVSUk9SX1BBQ0tFVCA9IGV4cG9ydHMuRVJST1IgKyAnXCJlbmNvZGUgZXJyb3JcIic7XG5cbi8qKlxuICogRW5jb2RlIGEgcGFja2V0IGFzIGEgc2luZ2xlIHN0cmluZyBpZiBub24tYmluYXJ5LCBvciBhcyBhXG4gKiBidWZmZXIgc2VxdWVuY2UsIGRlcGVuZGluZyBvbiBwYWNrZXQgdHlwZS5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqIC0gcGFja2V0IG9iamVjdFxuICogQHBhcmFtIHtGdW5jdGlvbn0gY2FsbGJhY2sgLSBmdW5jdGlvbiB0byBoYW5kbGUgZW5jb2RpbmdzIChsaWtlbHkgZW5naW5lLndyaXRlKVxuICogQHJldHVybiBDYWxscyBjYWxsYmFjayB3aXRoIEFycmF5IG9mIGVuY29kaW5nc1xuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5FbmNvZGVyLnByb3RvdHlwZS5lbmNvZGUgPSBmdW5jdGlvbihvYmosIGNhbGxiYWNrKXtcbiAgZGVidWcoJ2VuY29kaW5nIHBhY2tldCAlaicsIG9iaik7XG5cbiAgaWYgKGV4cG9ydHMuQklOQVJZX0VWRU5UID09PSBvYmoudHlwZSB8fCBleHBvcnRzLkJJTkFSWV9BQ0sgPT09IG9iai50eXBlKSB7XG4gICAgZW5jb2RlQXNCaW5hcnkob2JqLCBjYWxsYmFjayk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGVuY29kaW5nID0gZW5jb2RlQXNTdHJpbmcob2JqKTtcbiAgICBjYWxsYmFjayhbZW5jb2RpbmddKTtcbiAgfVxufTtcblxuLyoqXG4gKiBFbmNvZGUgcGFja2V0IGFzIHN0cmluZy5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcGFja2V0XG4gKiBAcmV0dXJuIHtTdHJpbmd9IGVuY29kZWRcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIGVuY29kZUFzU3RyaW5nKG9iaikge1xuXG4gIC8vIGZpcnN0IGlzIHR5cGVcbiAgdmFyIHN0ciA9ICcnICsgb2JqLnR5cGU7XG5cbiAgLy8gYXR0YWNobWVudHMgaWYgd2UgaGF2ZSB0aGVtXG4gIGlmIChleHBvcnRzLkJJTkFSWV9FVkVOVCA9PT0gb2JqLnR5cGUgfHwgZXhwb3J0cy5CSU5BUllfQUNLID09PSBvYmoudHlwZSkge1xuICAgIHN0ciArPSBvYmouYXR0YWNobWVudHMgKyAnLSc7XG4gIH1cblxuICAvLyBpZiB3ZSBoYXZlIGEgbmFtZXNwYWNlIG90aGVyIHRoYW4gYC9gXG4gIC8vIHdlIGFwcGVuZCBpdCBmb2xsb3dlZCBieSBhIGNvbW1hIGAsYFxuICBpZiAob2JqLm5zcCAmJiAnLycgIT09IG9iai5uc3ApIHtcbiAgICBzdHIgKz0gb2JqLm5zcCArICcsJztcbiAgfVxuXG4gIC8vIGltbWVkaWF0ZWx5IGZvbGxvd2VkIGJ5IHRoZSBpZFxuICBpZiAobnVsbCAhPSBvYmouaWQpIHtcbiAgICBzdHIgKz0gb2JqLmlkO1xuICB9XG5cbiAgLy8ganNvbiBkYXRhXG4gIGlmIChudWxsICE9IG9iai5kYXRhKSB7XG4gICAgdmFyIHBheWxvYWQgPSB0cnlTdHJpbmdpZnkob2JqLmRhdGEpO1xuICAgIGlmIChwYXlsb2FkICE9PSBmYWxzZSkge1xuICAgICAgc3RyICs9IHBheWxvYWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBFUlJPUl9QQUNLRVQ7XG4gICAgfVxuICB9XG5cbiAgZGVidWcoJ2VuY29kZWQgJWogYXMgJXMnLCBvYmosIHN0cik7XG4gIHJldHVybiBzdHI7XG59XG5cbmZ1bmN0aW9uIHRyeVN0cmluZ2lmeShzdHIpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoc3RyKTtcbiAgfSBjYXRjaChlKXtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBFbmNvZGUgcGFja2V0IGFzICdidWZmZXIgc2VxdWVuY2UnIGJ5IHJlbW92aW5nIGJsb2JzLCBhbmRcbiAqIGRlY29uc3RydWN0aW5nIHBhY2tldCBpbnRvIG9iamVjdCB3aXRoIHBsYWNlaG9sZGVycyBhbmRcbiAqIGEgbGlzdCBvZiBidWZmZXJzLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYWNrZXRcbiAqIEByZXR1cm4ge0J1ZmZlcn0gZW5jb2RlZFxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gZW5jb2RlQXNCaW5hcnkob2JqLCBjYWxsYmFjaykge1xuXG4gIGZ1bmN0aW9uIHdyaXRlRW5jb2RpbmcoYmxvYmxlc3NEYXRhKSB7XG4gICAgdmFyIGRlY29uc3RydWN0aW9uID0gYmluYXJ5LmRlY29uc3RydWN0UGFja2V0KGJsb2JsZXNzRGF0YSk7XG4gICAgdmFyIHBhY2sgPSBlbmNvZGVBc1N0cmluZyhkZWNvbnN0cnVjdGlvbi5wYWNrZXQpO1xuICAgIHZhciBidWZmZXJzID0gZGVjb25zdHJ1Y3Rpb24uYnVmZmVycztcblxuICAgIGJ1ZmZlcnMudW5zaGlmdChwYWNrKTsgLy8gYWRkIHBhY2tldCBpbmZvIHRvIGJlZ2lubmluZyBvZiBkYXRhIGxpc3RcbiAgICBjYWxsYmFjayhidWZmZXJzKTsgLy8gd3JpdGUgYWxsIHRoZSBidWZmZXJzXG4gIH1cblxuICBiaW5hcnkucmVtb3ZlQmxvYnMob2JqLCB3cml0ZUVuY29kaW5nKTtcbn1cblxuLyoqXG4gKiBBIHNvY2tldC5pbyBEZWNvZGVyIGluc3RhbmNlXG4gKlxuICogQHJldHVybiB7T2JqZWN0fSBkZWNvZGVyXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIERlY29kZXIoKSB7XG4gIHRoaXMucmVjb25zdHJ1Y3RvciA9IG51bGw7XG59XG5cbi8qKlxuICogTWl4IGluIGBFbWl0dGVyYCB3aXRoIERlY29kZXIuXG4gKi9cblxuRW1pdHRlcihEZWNvZGVyLnByb3RvdHlwZSk7XG5cbi8qKlxuICogRGVjb2RlcyBhbiBlbmNvZGVkIHBhY2tldCBzdHJpbmcgaW50byBwYWNrZXQgSlNPTi5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gb2JqIC0gZW5jb2RlZCBwYWNrZXRcbiAqIEByZXR1cm4ge09iamVjdH0gcGFja2V0XG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbkRlY29kZXIucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uKG9iaikge1xuICB2YXIgcGFja2V0O1xuICBpZiAodHlwZW9mIG9iaiA9PT0gJ3N0cmluZycpIHtcbiAgICBpZiAodGhpcy5yZWNvbnN0cnVjdG9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJnb3QgcGxhaW50ZXh0IGRhdGEgd2hlbiByZWNvbnN0cnVjdGluZyBhIHBhY2tldFwiKTtcbiAgICB9XG4gICAgcGFja2V0ID0gZGVjb2RlU3RyaW5nKG9iaik7XG4gICAgaWYgKGV4cG9ydHMuQklOQVJZX0VWRU5UID09PSBwYWNrZXQudHlwZSB8fCBleHBvcnRzLkJJTkFSWV9BQ0sgPT09IHBhY2tldC50eXBlKSB7IC8vIGJpbmFyeSBwYWNrZXQncyBqc29uXG4gICAgICB0aGlzLnJlY29uc3RydWN0b3IgPSBuZXcgQmluYXJ5UmVjb25zdHJ1Y3RvcihwYWNrZXQpO1xuXG4gICAgICAvLyBubyBhdHRhY2htZW50cywgbGFiZWxlZCBiaW5hcnkgYnV0IG5vIGJpbmFyeSBkYXRhIHRvIGZvbGxvd1xuICAgICAgaWYgKHRoaXMucmVjb25zdHJ1Y3Rvci5yZWNvblBhY2suYXR0YWNobWVudHMgPT09IDApIHtcbiAgICAgICAgdGhpcy5lbWl0KCdkZWNvZGVkJywgcGFja2V0KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgeyAvLyBub24tYmluYXJ5IGZ1bGwgcGFja2V0XG4gICAgICB0aGlzLmVtaXQoJ2RlY29kZWQnLCBwYWNrZXQpO1xuICAgIH1cbiAgfSBlbHNlIGlmIChpc0J1ZihvYmopIHx8IG9iai5iYXNlNjQpIHsgLy8gcmF3IGJpbmFyeSBkYXRhXG4gICAgaWYgKCF0aGlzLnJlY29uc3RydWN0b3IpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZ290IGJpbmFyeSBkYXRhIHdoZW4gbm90IHJlY29uc3RydWN0aW5nIGEgcGFja2V0Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhY2tldCA9IHRoaXMucmVjb25zdHJ1Y3Rvci50YWtlQmluYXJ5RGF0YShvYmopO1xuICAgICAgaWYgKHBhY2tldCkgeyAvLyByZWNlaXZlZCBmaW5hbCBidWZmZXJcbiAgICAgICAgdGhpcy5yZWNvbnN0cnVjdG9yID0gbnVsbDtcbiAgICAgICAgdGhpcy5lbWl0KCdkZWNvZGVkJywgcGFja2V0KTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIHR5cGU6ICcgKyBvYmopO1xuICB9XG59O1xuXG5mdW5jdGlvbiBpc1BheWxvYWRWYWxpZCh0eXBlLCBwYXlsb2FkKSB7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgMDogLy8gQ09OTkVDVFxuICAgICAgcmV0dXJuIHR5cGVvZiBwYXlsb2FkID09PSBcIm9iamVjdFwiO1xuICAgIGNhc2UgMTogLy8gRElTQ09OTkVDVFxuICAgICAgcmV0dXJuIHBheWxvYWQgPT09IHVuZGVmaW5lZDtcbiAgICBjYXNlIDQ6IC8vIEVSUk9SXG4gICAgICByZXR1cm4gdHlwZW9mIHBheWxvYWQgPT09IFwic3RyaW5nXCIgfHwgdHlwZW9mIHBheWxvYWQgPT09IFwib2JqZWN0XCI7XG4gICAgY2FzZSAyOiAvLyBFVkVOVFxuICAgIGNhc2UgNTogLy8gQklOQVJZX0VWRU5UXG4gICAgICByZXR1cm4gKFxuICAgICAgICBpc0FycmF5KHBheWxvYWQpICYmXG4gICAgICAgICh0eXBlb2YgcGF5bG9hZFswXSA9PT0gXCJzdHJpbmdcIiB8fCB0eXBlb2YgcGF5bG9hZFswXSA9PT0gXCJudW1iZXJcIilcbiAgICAgICk7XG4gICAgY2FzZSAzOiAvLyBBQ0tcbiAgICBjYXNlIDY6IC8vIEJJTkFSWV9BQ0tcbiAgICAgIHJldHVybiBpc0FycmF5KHBheWxvYWQpO1xuICB9XG59XG5cbi8qKlxuICogRGVjb2RlIGEgcGFja2V0IFN0cmluZyAoSlNPTiBkYXRhKVxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBzdHJcbiAqIEByZXR1cm4ge09iamVjdH0gcGFja2V0XG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBkZWNvZGVTdHJpbmcoc3RyKSB7XG4gIHZhciBpID0gMDtcbiAgLy8gbG9vayB1cCB0eXBlXG4gIHZhciBwID0ge1xuICAgIHR5cGU6IE51bWJlcihzdHIuY2hhckF0KDApKVxuICB9O1xuXG4gIGlmIChudWxsID09IGV4cG9ydHMudHlwZXNbcC50eXBlXSkge1xuICAgIHJldHVybiBlcnJvcigndW5rbm93biBwYWNrZXQgdHlwZSAnICsgcC50eXBlKTtcbiAgfVxuXG4gIC8vIGxvb2sgdXAgYXR0YWNobWVudHMgaWYgdHlwZSBiaW5hcnlcbiAgaWYgKGV4cG9ydHMuQklOQVJZX0VWRU5UID09PSBwLnR5cGUgfHwgZXhwb3J0cy5CSU5BUllfQUNLID09PSBwLnR5cGUpIHtcbiAgICB2YXIgc3RhcnQgPSBpICsgMTtcbiAgICB3aGlsZSAoc3RyLmNoYXJBdCgrK2kpICE9PSAnLScgJiYgaSAhPSBzdHIubGVuZ3RoKSB7fVxuICAgIHZhciBidWYgPSBzdHIuc3Vic3RyaW5nKHN0YXJ0LCBpKTtcbiAgICBpZiAoYnVmICE9IE51bWJlcihidWYpIHx8IHN0ci5jaGFyQXQoaSkgIT09ICctJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbGxlZ2FsIGF0dGFjaG1lbnRzJyk7XG4gICAgfVxuICAgIHAuYXR0YWNobWVudHMgPSBOdW1iZXIoYnVmKTtcbiAgfVxuXG4gIC8vIGxvb2sgdXAgbmFtZXNwYWNlIChpZiBhbnkpXG4gIGlmICgnLycgPT09IHN0ci5jaGFyQXQoaSArIDEpKSB7XG4gICAgdmFyIHN0YXJ0ID0gaSArIDE7XG4gICAgd2hpbGUgKCsraSkge1xuICAgICAgdmFyIGMgPSBzdHIuY2hhckF0KGkpO1xuICAgICAgaWYgKCcsJyA9PT0gYykgYnJlYWs7XG4gICAgICBpZiAoaSA9PT0gc3RyLmxlbmd0aCkgYnJlYWs7XG4gICAgfVxuICAgIHAubnNwID0gc3RyLnN1YnN0cmluZyhzdGFydCwgaSk7XG4gIH0gZWxzZSB7XG4gICAgcC5uc3AgPSAnLyc7XG4gIH1cblxuICAvLyBsb29rIHVwIGlkXG4gIHZhciBuZXh0ID0gc3RyLmNoYXJBdChpICsgMSk7XG4gIGlmICgnJyAhPT0gbmV4dCAmJiBOdW1iZXIobmV4dCkgPT0gbmV4dCkge1xuICAgIHZhciBzdGFydCA9IGkgKyAxO1xuICAgIHdoaWxlICgrK2kpIHtcbiAgICAgIHZhciBjID0gc3RyLmNoYXJBdChpKTtcbiAgICAgIGlmIChudWxsID09IGMgfHwgTnVtYmVyKGMpICE9IGMpIHtcbiAgICAgICAgLS1pO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGlmIChpID09PSBzdHIubGVuZ3RoKSBicmVhaztcbiAgICB9XG4gICAgcC5pZCA9IE51bWJlcihzdHIuc3Vic3RyaW5nKHN0YXJ0LCBpICsgMSkpO1xuICB9XG5cbiAgLy8gbG9vayB1cCBqc29uIGRhdGFcbiAgaWYgKHN0ci5jaGFyQXQoKytpKSkge1xuICAgIHZhciBwYXlsb2FkID0gdHJ5UGFyc2Uoc3RyLnN1YnN0cihpKSk7XG4gICAgaWYgKGlzUGF5bG9hZFZhbGlkKHAudHlwZSwgcGF5bG9hZCkpIHtcbiAgICAgIHAuZGF0YSA9IHBheWxvYWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImludmFsaWQgcGF5bG9hZFwiKTtcbiAgICB9XG4gIH1cblxuICBkZWJ1ZygnZGVjb2RlZCAlcyBhcyAlaicsIHN0ciwgcCk7XG4gIHJldHVybiBwO1xufVxuXG5mdW5jdGlvbiB0cnlQYXJzZShzdHIpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShzdHIpO1xuICB9IGNhdGNoKGUpe1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIERlYWxsb2NhdGVzIGEgcGFyc2VyJ3MgcmVzb3VyY2VzXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5EZWNvZGVyLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7XG4gIGlmICh0aGlzLnJlY29uc3RydWN0b3IpIHtcbiAgICB0aGlzLnJlY29uc3RydWN0b3IuZmluaXNoZWRSZWNvbnN0cnVjdGlvbigpO1xuICB9XG59O1xuXG4vKipcbiAqIEEgbWFuYWdlciBvZiBhIGJpbmFyeSBldmVudCdzICdidWZmZXIgc2VxdWVuY2UnLiBTaG91bGRcbiAqIGJlIGNvbnN0cnVjdGVkIHdoZW5ldmVyIGEgcGFja2V0IG9mIHR5cGUgQklOQVJZX0VWRU5UIGlzXG4gKiBkZWNvZGVkLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYWNrZXRcbiAqIEByZXR1cm4ge0JpbmFyeVJlY29uc3RydWN0b3J9IGluaXRpYWxpemVkIHJlY29uc3RydWN0b3JcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIEJpbmFyeVJlY29uc3RydWN0b3IocGFja2V0KSB7XG4gIHRoaXMucmVjb25QYWNrID0gcGFja2V0O1xuICB0aGlzLmJ1ZmZlcnMgPSBbXTtcbn1cblxuLyoqXG4gKiBNZXRob2QgdG8gYmUgY2FsbGVkIHdoZW4gYmluYXJ5IGRhdGEgcmVjZWl2ZWQgZnJvbSBjb25uZWN0aW9uXG4gKiBhZnRlciBhIEJJTkFSWV9FVkVOVCBwYWNrZXQuXG4gKlxuICogQHBhcmFtIHtCdWZmZXIgfCBBcnJheUJ1ZmZlcn0gYmluRGF0YSAtIHRoZSByYXcgYmluYXJ5IGRhdGEgcmVjZWl2ZWRcbiAqIEByZXR1cm4ge251bGwgfCBPYmplY3R9IHJldHVybnMgbnVsbCBpZiBtb3JlIGJpbmFyeSBkYXRhIGlzIGV4cGVjdGVkIG9yXG4gKiAgIGEgcmVjb25zdHJ1Y3RlZCBwYWNrZXQgb2JqZWN0IGlmIGFsbCBidWZmZXJzIGhhdmUgYmVlbiByZWNlaXZlZC5cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbkJpbmFyeVJlY29uc3RydWN0b3IucHJvdG90eXBlLnRha2VCaW5hcnlEYXRhID0gZnVuY3Rpb24oYmluRGF0YSkge1xuICB0aGlzLmJ1ZmZlcnMucHVzaChiaW5EYXRhKTtcbiAgaWYgKHRoaXMuYnVmZmVycy5sZW5ndGggPT09IHRoaXMucmVjb25QYWNrLmF0dGFjaG1lbnRzKSB7IC8vIGRvbmUgd2l0aCBidWZmZXIgbGlzdFxuICAgIHZhciBwYWNrZXQgPSBiaW5hcnkucmVjb25zdHJ1Y3RQYWNrZXQodGhpcy5yZWNvblBhY2ssIHRoaXMuYnVmZmVycyk7XG4gICAgdGhpcy5maW5pc2hlZFJlY29uc3RydWN0aW9uKCk7XG4gICAgcmV0dXJuIHBhY2tldDtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn07XG5cbi8qKlxuICogQ2xlYW5zIHVwIGJpbmFyeSBwYWNrZXQgcmVjb25zdHJ1Y3Rpb24gdmFyaWFibGVzLlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbkJpbmFyeVJlY29uc3RydWN0b3IucHJvdG90eXBlLmZpbmlzaGVkUmVjb25zdHJ1Y3Rpb24gPSBmdW5jdGlvbigpIHtcbiAgdGhpcy5yZWNvblBhY2sgPSBudWxsO1xuICB0aGlzLmJ1ZmZlcnMgPSBbXTtcbn07XG5cbmZ1bmN0aW9uIGVycm9yKG1zZykge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IGV4cG9ydHMuRVJST1IsXG4gICAgZGF0YTogJ3BhcnNlciBlcnJvcjogJyArIG1zZ1xuICB9O1xufVxuIiwiXG5tb2R1bGUuZXhwb3J0cyA9IGlzQnVmO1xuXG52YXIgd2l0aE5hdGl2ZUJ1ZmZlciA9IHR5cGVvZiBCdWZmZXIgPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIEJ1ZmZlci5pc0J1ZmZlciA9PT0gJ2Z1bmN0aW9uJztcbnZhciB3aXRoTmF0aXZlQXJyYXlCdWZmZXIgPSB0eXBlb2YgQXJyYXlCdWZmZXIgPT09ICdmdW5jdGlvbic7XG5cbnZhciBpc1ZpZXcgPSBmdW5jdGlvbiAob2JqKSB7XG4gIHJldHVybiB0eXBlb2YgQXJyYXlCdWZmZXIuaXNWaWV3ID09PSAnZnVuY3Rpb24nID8gQXJyYXlCdWZmZXIuaXNWaWV3KG9iaikgOiAob2JqLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKTtcbn07XG5cbi8qKlxuICogUmV0dXJucyB0cnVlIGlmIG9iaiBpcyBhIGJ1ZmZlciBvciBhbiBhcnJheWJ1ZmZlci5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBpc0J1ZihvYmopIHtcbiAgcmV0dXJuICh3aXRoTmF0aXZlQnVmZmVyICYmIEJ1ZmZlci5pc0J1ZmZlcihvYmopKSB8fFxuICAgICAgICAgICh3aXRoTmF0aXZlQXJyYXlCdWZmZXIgJiYgKG9iaiBpbnN0YW5jZW9mIEFycmF5QnVmZmVyIHx8IGlzVmlldyhvYmopKSk7XG59XG4iLCIvKipcbiAqIFRoaXMgaXMgdGhlIHdlYiBicm93c2VyIGltcGxlbWVudGF0aW9uIG9mIGBkZWJ1ZygpYC5cbiAqXG4gKiBFeHBvc2UgYGRlYnVnKClgIGFzIHRoZSBtb2R1bGUuXG4gKi9cblxuZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9kZWJ1ZycpO1xuZXhwb3J0cy5sb2cgPSBsb2c7XG5leHBvcnRzLmZvcm1hdEFyZ3MgPSBmb3JtYXRBcmdzO1xuZXhwb3J0cy5zYXZlID0gc2F2ZTtcbmV4cG9ydHMubG9hZCA9IGxvYWQ7XG5leHBvcnRzLnVzZUNvbG9ycyA9IHVzZUNvbG9ycztcbmV4cG9ydHMuc3RvcmFnZSA9ICd1bmRlZmluZWQnICE9IHR5cGVvZiBjaHJvbWVcbiAgICAgICAgICAgICAgICYmICd1bmRlZmluZWQnICE9IHR5cGVvZiBjaHJvbWUuc3RvcmFnZVxuICAgICAgICAgICAgICAgICAgPyBjaHJvbWUuc3RvcmFnZS5sb2NhbFxuICAgICAgICAgICAgICAgICAgOiBsb2NhbHN0b3JhZ2UoKTtcblxuLyoqXG4gKiBDb2xvcnMuXG4gKi9cblxuZXhwb3J0cy5jb2xvcnMgPSBbXG4gICcjMDAwMENDJywgJyMwMDAwRkYnLCAnIzAwMzNDQycsICcjMDAzM0ZGJywgJyMwMDY2Q0MnLCAnIzAwNjZGRicsICcjMDA5OUNDJyxcbiAgJyMwMDk5RkYnLCAnIzAwQ0MwMCcsICcjMDBDQzMzJywgJyMwMENDNjYnLCAnIzAwQ0M5OScsICcjMDBDQ0NDJywgJyMwMENDRkYnLFxuICAnIzMzMDBDQycsICcjMzMwMEZGJywgJyMzMzMzQ0MnLCAnIzMzMzNGRicsICcjMzM2NkNDJywgJyMzMzY2RkYnLCAnIzMzOTlDQycsXG4gICcjMzM5OUZGJywgJyMzM0NDMDAnLCAnIzMzQ0MzMycsICcjMzNDQzY2JywgJyMzM0NDOTknLCAnIzMzQ0NDQycsICcjMzNDQ0ZGJyxcbiAgJyM2NjAwQ0MnLCAnIzY2MDBGRicsICcjNjYzM0NDJywgJyM2NjMzRkYnLCAnIzY2Q0MwMCcsICcjNjZDQzMzJywgJyM5OTAwQ0MnLFxuICAnIzk5MDBGRicsICcjOTkzM0NDJywgJyM5OTMzRkYnLCAnIzk5Q0MwMCcsICcjOTlDQzMzJywgJyNDQzAwMDAnLCAnI0NDMDAzMycsXG4gICcjQ0MwMDY2JywgJyNDQzAwOTknLCAnI0NDMDBDQycsICcjQ0MwMEZGJywgJyNDQzMzMDAnLCAnI0NDMzMzMycsICcjQ0MzMzY2JyxcbiAgJyNDQzMzOTknLCAnI0NDMzNDQycsICcjQ0MzM0ZGJywgJyNDQzY2MDAnLCAnI0NDNjYzMycsICcjQ0M5OTAwJywgJyNDQzk5MzMnLFxuICAnI0NDQ0MwMCcsICcjQ0NDQzMzJywgJyNGRjAwMDAnLCAnI0ZGMDAzMycsICcjRkYwMDY2JywgJyNGRjAwOTknLCAnI0ZGMDBDQycsXG4gICcjRkYwMEZGJywgJyNGRjMzMDAnLCAnI0ZGMzMzMycsICcjRkYzMzY2JywgJyNGRjMzOTknLCAnI0ZGMzNDQycsICcjRkYzM0ZGJyxcbiAgJyNGRjY2MDAnLCAnI0ZGNjYzMycsICcjRkY5OTAwJywgJyNGRjk5MzMnLCAnI0ZGQ0MwMCcsICcjRkZDQzMzJ1xuXTtcblxuLyoqXG4gKiBDdXJyZW50bHkgb25seSBXZWJLaXQtYmFzZWQgV2ViIEluc3BlY3RvcnMsIEZpcmVmb3ggPj0gdjMxLFxuICogYW5kIHRoZSBGaXJlYnVnIGV4dGVuc2lvbiAoYW55IEZpcmVmb3ggdmVyc2lvbikgYXJlIGtub3duXG4gKiB0byBzdXBwb3J0IFwiJWNcIiBDU1MgY3VzdG9taXphdGlvbnMuXG4gKlxuICogVE9ETzogYWRkIGEgYGxvY2FsU3RvcmFnZWAgdmFyaWFibGUgdG8gZXhwbGljaXRseSBlbmFibGUvZGlzYWJsZSBjb2xvcnNcbiAqL1xuXG5mdW5jdGlvbiB1c2VDb2xvcnMoKSB7XG4gIC8vIE5COiBJbiBhbiBFbGVjdHJvbiBwcmVsb2FkIHNjcmlwdCwgZG9jdW1lbnQgd2lsbCBiZSBkZWZpbmVkIGJ1dCBub3QgZnVsbHlcbiAgLy8gaW5pdGlhbGl6ZWQuIFNpbmNlIHdlIGtub3cgd2UncmUgaW4gQ2hyb21lLCB3ZSdsbCBqdXN0IGRldGVjdCB0aGlzIGNhc2VcbiAgLy8gZXhwbGljaXRseVxuICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LnByb2Nlc3MgJiYgd2luZG93LnByb2Nlc3MudHlwZSA9PT0gJ3JlbmRlcmVyJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gSW50ZXJuZXQgRXhwbG9yZXIgYW5kIEVkZ2UgZG8gbm90IHN1cHBvcnQgY29sb3JzLlxuICBpZiAodHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudCAmJiBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhlZGdlfHRyaWRlbnQpXFwvKFxcZCspLykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBpcyB3ZWJraXQ/IGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzE2NDU5NjA2LzM3Njc3M1xuICAvLyBkb2N1bWVudCBpcyB1bmRlZmluZWQgaW4gcmVhY3QtbmF0aXZlOiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QtbmF0aXZlL3B1bGwvMTYzMlxuICByZXR1cm4gKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50ICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuV2Via2l0QXBwZWFyYW5jZSkgfHxcbiAgICAvLyBpcyBmaXJlYnVnPyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8zOTgxMjAvMzc2NzczXG4gICAgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5jb25zb2xlICYmICh3aW5kb3cuY29uc29sZS5maXJlYnVnIHx8ICh3aW5kb3cuY29uc29sZS5leGNlcHRpb24gJiYgd2luZG93LmNvbnNvbGUudGFibGUpKSkgfHxcbiAgICAvLyBpcyBmaXJlZm94ID49IHYzMT9cbiAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1Rvb2xzL1dlYl9Db25zb2xlI1N0eWxpbmdfbWVzc2FnZXNcbiAgICAodHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudCAmJiBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goL2ZpcmVmb3hcXC8oXFxkKykvKSAmJiBwYXJzZUludChSZWdFeHAuJDEsIDEwKSA+PSAzMSkgfHxcbiAgICAvLyBkb3VibGUgY2hlY2sgd2Via2l0IGluIHVzZXJBZ2VudCBqdXN0IGluIGNhc2Ugd2UgYXJlIGluIGEgd29ya2VyXG4gICAgKHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIG5hdmlnYXRvci51c2VyQWdlbnQgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9hcHBsZXdlYmtpdFxcLyhcXGQrKS8pKTtcbn1cblxuLyoqXG4gKiBNYXAgJWogdG8gYEpTT04uc3RyaW5naWZ5KClgLCBzaW5jZSBubyBXZWIgSW5zcGVjdG9ycyBkbyB0aGF0IGJ5IGRlZmF1bHQuXG4gKi9cblxuZXhwb3J0cy5mb3JtYXR0ZXJzLmogPSBmdW5jdGlvbih2KSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHYpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICByZXR1cm4gJ1tVbmV4cGVjdGVkSlNPTlBhcnNlRXJyb3JdOiAnICsgZXJyLm1lc3NhZ2U7XG4gIH1cbn07XG5cblxuLyoqXG4gKiBDb2xvcml6ZSBsb2cgYXJndW1lbnRzIGlmIGVuYWJsZWQuXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBmb3JtYXRBcmdzKGFyZ3MpIHtcbiAgdmFyIHVzZUNvbG9ycyA9IHRoaXMudXNlQ29sb3JzO1xuXG4gIGFyZ3NbMF0gPSAodXNlQ29sb3JzID8gJyVjJyA6ICcnKVxuICAgICsgdGhpcy5uYW1lc3BhY2VcbiAgICArICh1c2VDb2xvcnMgPyAnICVjJyA6ICcgJylcbiAgICArIGFyZ3NbMF1cbiAgICArICh1c2VDb2xvcnMgPyAnJWMgJyA6ICcgJylcbiAgICArICcrJyArIGV4cG9ydHMuaHVtYW5pemUodGhpcy5kaWZmKTtcblxuICBpZiAoIXVzZUNvbG9ycykgcmV0dXJuO1xuXG4gIHZhciBjID0gJ2NvbG9yOiAnICsgdGhpcy5jb2xvcjtcbiAgYXJncy5zcGxpY2UoMSwgMCwgYywgJ2NvbG9yOiBpbmhlcml0JylcblxuICAvLyB0aGUgZmluYWwgXCIlY1wiIGlzIHNvbWV3aGF0IHRyaWNreSwgYmVjYXVzZSB0aGVyZSBjb3VsZCBiZSBvdGhlclxuICAvLyBhcmd1bWVudHMgcGFzc2VkIGVpdGhlciBiZWZvcmUgb3IgYWZ0ZXIgdGhlICVjLCBzbyB3ZSBuZWVkIHRvXG4gIC8vIGZpZ3VyZSBvdXQgdGhlIGNvcnJlY3QgaW5kZXggdG8gaW5zZXJ0IHRoZSBDU1MgaW50b1xuICB2YXIgaW5kZXggPSAwO1xuICB2YXIgbGFzdEMgPSAwO1xuICBhcmdzWzBdLnJlcGxhY2UoLyVbYS16QS1aJV0vZywgZnVuY3Rpb24obWF0Y2gpIHtcbiAgICBpZiAoJyUlJyA9PT0gbWF0Y2gpIHJldHVybjtcbiAgICBpbmRleCsrO1xuICAgIGlmICgnJWMnID09PSBtYXRjaCkge1xuICAgICAgLy8gd2Ugb25seSBhcmUgaW50ZXJlc3RlZCBpbiB0aGUgKmxhc3QqICVjXG4gICAgICAvLyAodGhlIHVzZXIgbWF5IGhhdmUgcHJvdmlkZWQgdGhlaXIgb3duKVxuICAgICAgbGFzdEMgPSBpbmRleDtcbiAgICB9XG4gIH0pO1xuXG4gIGFyZ3Muc3BsaWNlKGxhc3RDLCAwLCBjKTtcbn1cblxuLyoqXG4gKiBJbnZva2VzIGBjb25zb2xlLmxvZygpYCB3aGVuIGF2YWlsYWJsZS5cbiAqIE5vLW9wIHdoZW4gYGNvbnNvbGUubG9nYCBpcyBub3QgYSBcImZ1bmN0aW9uXCIuXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBsb2coKSB7XG4gIC8vIHRoaXMgaGFja2VyeSBpcyByZXF1aXJlZCBmb3IgSUU4LzksIHdoZXJlXG4gIC8vIHRoZSBgY29uc29sZS5sb2dgIGZ1bmN0aW9uIGRvZXNuJ3QgaGF2ZSAnYXBwbHknXG4gIHJldHVybiAnb2JqZWN0JyA9PT0gdHlwZW9mIGNvbnNvbGVcbiAgICAmJiBjb25zb2xlLmxvZ1xuICAgICYmIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKGNvbnNvbGUubG9nLCBjb25zb2xlLCBhcmd1bWVudHMpO1xufVxuXG4vKipcbiAqIFNhdmUgYG5hbWVzcGFjZXNgLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lc3BhY2VzXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBzYXZlKG5hbWVzcGFjZXMpIHtcbiAgdHJ5IHtcbiAgICBpZiAobnVsbCA9PSBuYW1lc3BhY2VzKSB7XG4gICAgICBleHBvcnRzLnN0b3JhZ2UucmVtb3ZlSXRlbSgnZGVidWcnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXhwb3J0cy5zdG9yYWdlLmRlYnVnID0gbmFtZXNwYWNlcztcbiAgICB9XG4gIH0gY2F0Y2goZSkge31cbn1cblxuLyoqXG4gKiBMb2FkIGBuYW1lc3BhY2VzYC5cbiAqXG4gKiBAcmV0dXJuIHtTdHJpbmd9IHJldHVybnMgdGhlIHByZXZpb3VzbHkgcGVyc2lzdGVkIGRlYnVnIG1vZGVzXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBsb2FkKCkge1xuICB2YXIgcjtcbiAgdHJ5IHtcbiAgICByID0gZXhwb3J0cy5zdG9yYWdlLmRlYnVnO1xuICB9IGNhdGNoKGUpIHt9XG5cbiAgLy8gSWYgZGVidWcgaXNuJ3Qgc2V0IGluIExTLCBhbmQgd2UncmUgaW4gRWxlY3Ryb24sIHRyeSB0byBsb2FkICRERUJVR1xuICBpZiAoIXIgJiYgdHlwZW9mIHByb2Nlc3MgIT09ICd1bmRlZmluZWQnICYmICdlbnYnIGluIHByb2Nlc3MpIHtcbiAgICByID0gcHJvY2Vzcy5lbnYuREVCVUc7XG4gIH1cblxuICByZXR1cm4gcjtcbn1cblxuLyoqXG4gKiBFbmFibGUgbmFtZXNwYWNlcyBsaXN0ZWQgaW4gYGxvY2FsU3RvcmFnZS5kZWJ1Z2AgaW5pdGlhbGx5LlxuICovXG5cbmV4cG9ydHMuZW5hYmxlKGxvYWQoKSk7XG5cbi8qKlxuICogTG9jYWxzdG9yYWdlIGF0dGVtcHRzIHRvIHJldHVybiB0aGUgbG9jYWxzdG9yYWdlLlxuICpcbiAqIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugc2FmYXJpIHRocm93c1xuICogd2hlbiBhIHVzZXIgZGlzYWJsZXMgY29va2llcy9sb2NhbHN0b3JhZ2VcbiAqIGFuZCB5b3UgYXR0ZW1wdCB0byBhY2Nlc3MgaXQuXG4gKlxuICogQHJldHVybiB7TG9jYWxTdG9yYWdlfVxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gbG9jYWxzdG9yYWdlKCkge1xuICB0cnkge1xuICAgIHJldHVybiB3aW5kb3cubG9jYWxTdG9yYWdlO1xuICB9IGNhdGNoIChlKSB7fVxufVxuIiwiXG4vKipcbiAqIFRoaXMgaXMgdGhlIGNvbW1vbiBsb2dpYyBmb3IgYm90aCB0aGUgTm9kZS5qcyBhbmQgd2ViIGJyb3dzZXJcbiAqIGltcGxlbWVudGF0aW9ucyBvZiBgZGVidWcoKWAuXG4gKlxuICogRXhwb3NlIGBkZWJ1ZygpYCBhcyB0aGUgbW9kdWxlLlxuICovXG5cbmV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IGNyZWF0ZURlYnVnLmRlYnVnID0gY3JlYXRlRGVidWdbJ2RlZmF1bHQnXSA9IGNyZWF0ZURlYnVnO1xuZXhwb3J0cy5jb2VyY2UgPSBjb2VyY2U7XG5leHBvcnRzLmRpc2FibGUgPSBkaXNhYmxlO1xuZXhwb3J0cy5lbmFibGUgPSBlbmFibGU7XG5leHBvcnRzLmVuYWJsZWQgPSBlbmFibGVkO1xuZXhwb3J0cy5odW1hbml6ZSA9IHJlcXVpcmUoJ21zJyk7XG5cbi8qKlxuICogQWN0aXZlIGBkZWJ1Z2AgaW5zdGFuY2VzLlxuICovXG5leHBvcnRzLmluc3RhbmNlcyA9IFtdO1xuXG4vKipcbiAqIFRoZSBjdXJyZW50bHkgYWN0aXZlIGRlYnVnIG1vZGUgbmFtZXMsIGFuZCBuYW1lcyB0byBza2lwLlxuICovXG5cbmV4cG9ydHMubmFtZXMgPSBbXTtcbmV4cG9ydHMuc2tpcHMgPSBbXTtcblxuLyoqXG4gKiBNYXAgb2Ygc3BlY2lhbCBcIiVuXCIgaGFuZGxpbmcgZnVuY3Rpb25zLCBmb3IgdGhlIGRlYnVnIFwiZm9ybWF0XCIgYXJndW1lbnQuXG4gKlxuICogVmFsaWQga2V5IG5hbWVzIGFyZSBhIHNpbmdsZSwgbG93ZXIgb3IgdXBwZXItY2FzZSBsZXR0ZXIsIGkuZS4gXCJuXCIgYW5kIFwiTlwiLlxuICovXG5cbmV4cG9ydHMuZm9ybWF0dGVycyA9IHt9O1xuXG4vKipcbiAqIFNlbGVjdCBhIGNvbG9yLlxuICogQHBhcmFtIHtTdHJpbmd9IG5hbWVzcGFjZVxuICogQHJldHVybiB7TnVtYmVyfVxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gc2VsZWN0Q29sb3IobmFtZXNwYWNlKSB7XG4gIHZhciBoYXNoID0gMCwgaTtcblxuICBmb3IgKGkgaW4gbmFtZXNwYWNlKSB7XG4gICAgaGFzaCAgPSAoKGhhc2ggPDwgNSkgLSBoYXNoKSArIG5hbWVzcGFjZS5jaGFyQ29kZUF0KGkpO1xuICAgIGhhc2ggfD0gMDsgLy8gQ29udmVydCB0byAzMmJpdCBpbnRlZ2VyXG4gIH1cblxuICByZXR1cm4gZXhwb3J0cy5jb2xvcnNbTWF0aC5hYnMoaGFzaCkgJSBleHBvcnRzLmNvbG9ycy5sZW5ndGhdO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGRlYnVnZ2VyIHdpdGggdGhlIGdpdmVuIGBuYW1lc3BhY2VgLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lc3BhY2VcbiAqIEByZXR1cm4ge0Z1bmN0aW9ufVxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBjcmVhdGVEZWJ1ZyhuYW1lc3BhY2UpIHtcblxuICB2YXIgcHJldlRpbWU7XG5cbiAgZnVuY3Rpb24gZGVidWcoKSB7XG4gICAgLy8gZGlzYWJsZWQ/XG4gICAgaWYgKCFkZWJ1Zy5lbmFibGVkKSByZXR1cm47XG5cbiAgICB2YXIgc2VsZiA9IGRlYnVnO1xuXG4gICAgLy8gc2V0IGBkaWZmYCB0aW1lc3RhbXBcbiAgICB2YXIgY3VyciA9ICtuZXcgRGF0ZSgpO1xuICAgIHZhciBtcyA9IGN1cnIgLSAocHJldlRpbWUgfHwgY3Vycik7XG4gICAgc2VsZi5kaWZmID0gbXM7XG4gICAgc2VsZi5wcmV2ID0gcHJldlRpbWU7XG4gICAgc2VsZi5jdXJyID0gY3VycjtcbiAgICBwcmV2VGltZSA9IGN1cnI7XG5cbiAgICAvLyB0dXJuIHRoZSBgYXJndW1lbnRzYCBpbnRvIGEgcHJvcGVyIEFycmF5XG4gICAgdmFyIGFyZ3MgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBhcmdzW2ldID0gYXJndW1lbnRzW2ldO1xuICAgIH1cblxuICAgIGFyZ3NbMF0gPSBleHBvcnRzLmNvZXJjZShhcmdzWzBdKTtcblxuICAgIGlmICgnc3RyaW5nJyAhPT0gdHlwZW9mIGFyZ3NbMF0pIHtcbiAgICAgIC8vIGFueXRoaW5nIGVsc2UgbGV0J3MgaW5zcGVjdCB3aXRoICVPXG4gICAgICBhcmdzLnVuc2hpZnQoJyVPJyk7XG4gICAgfVxuXG4gICAgLy8gYXBwbHkgYW55IGBmb3JtYXR0ZXJzYCB0cmFuc2Zvcm1hdGlvbnNcbiAgICB2YXIgaW5kZXggPSAwO1xuICAgIGFyZ3NbMF0gPSBhcmdzWzBdLnJlcGxhY2UoLyUoW2EtekEtWiVdKS9nLCBmdW5jdGlvbihtYXRjaCwgZm9ybWF0KSB7XG4gICAgICAvLyBpZiB3ZSBlbmNvdW50ZXIgYW4gZXNjYXBlZCAlIHRoZW4gZG9uJ3QgaW5jcmVhc2UgdGhlIGFycmF5IGluZGV4XG4gICAgICBpZiAobWF0Y2ggPT09ICclJScpIHJldHVybiBtYXRjaDtcbiAgICAgIGluZGV4Kys7XG4gICAgICB2YXIgZm9ybWF0dGVyID0gZXhwb3J0cy5mb3JtYXR0ZXJzW2Zvcm1hdF07XG4gICAgICBpZiAoJ2Z1bmN0aW9uJyA9PT0gdHlwZW9mIGZvcm1hdHRlcikge1xuICAgICAgICB2YXIgdmFsID0gYXJnc1tpbmRleF07XG4gICAgICAgIG1hdGNoID0gZm9ybWF0dGVyLmNhbGwoc2VsZiwgdmFsKTtcblxuICAgICAgICAvLyBub3cgd2UgbmVlZCB0byByZW1vdmUgYGFyZ3NbaW5kZXhdYCBzaW5jZSBpdCdzIGlubGluZWQgaW4gdGhlIGBmb3JtYXRgXG4gICAgICAgIGFyZ3Muc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgaW5kZXgtLTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBtYXRjaDtcbiAgICB9KTtcblxuICAgIC8vIGFwcGx5IGVudi1zcGVjaWZpYyBmb3JtYXR0aW5nIChjb2xvcnMsIGV0Yy4pXG4gICAgZXhwb3J0cy5mb3JtYXRBcmdzLmNhbGwoc2VsZiwgYXJncyk7XG5cbiAgICB2YXIgbG9nRm4gPSBkZWJ1Zy5sb2cgfHwgZXhwb3J0cy5sb2cgfHwgY29uc29sZS5sb2cuYmluZChjb25zb2xlKTtcbiAgICBsb2dGbi5hcHBseShzZWxmLCBhcmdzKTtcbiAgfVxuXG4gIGRlYnVnLm5hbWVzcGFjZSA9IG5hbWVzcGFjZTtcbiAgZGVidWcuZW5hYmxlZCA9IGV4cG9ydHMuZW5hYmxlZChuYW1lc3BhY2UpO1xuICBkZWJ1Zy51c2VDb2xvcnMgPSBleHBvcnRzLnVzZUNvbG9ycygpO1xuICBkZWJ1Zy5jb2xvciA9IHNlbGVjdENvbG9yKG5hbWVzcGFjZSk7XG4gIGRlYnVnLmRlc3Ryb3kgPSBkZXN0cm95O1xuXG4gIC8vIGVudi1zcGVjaWZpYyBpbml0aWFsaXphdGlvbiBsb2dpYyBmb3IgZGVidWcgaW5zdGFuY2VzXG4gIGlmICgnZnVuY3Rpb24nID09PSB0eXBlb2YgZXhwb3J0cy5pbml0KSB7XG4gICAgZXhwb3J0cy5pbml0KGRlYnVnKTtcbiAgfVxuXG4gIGV4cG9ydHMuaW5zdGFuY2VzLnB1c2goZGVidWcpO1xuXG4gIHJldHVybiBkZWJ1Zztcbn1cblxuZnVuY3Rpb24gZGVzdHJveSAoKSB7XG4gIHZhciBpbmRleCA9IGV4cG9ydHMuaW5zdGFuY2VzLmluZGV4T2YodGhpcyk7XG4gIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICBleHBvcnRzLmluc3RhbmNlcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIEVuYWJsZXMgYSBkZWJ1ZyBtb2RlIGJ5IG5hbWVzcGFjZXMuIFRoaXMgY2FuIGluY2x1ZGUgbW9kZXNcbiAqIHNlcGFyYXRlZCBieSBhIGNvbG9uIGFuZCB3aWxkY2FyZHMuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IG5hbWVzcGFjZXNcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZnVuY3Rpb24gZW5hYmxlKG5hbWVzcGFjZXMpIHtcbiAgZXhwb3J0cy5zYXZlKG5hbWVzcGFjZXMpO1xuXG4gIGV4cG9ydHMubmFtZXMgPSBbXTtcbiAgZXhwb3J0cy5za2lwcyA9IFtdO1xuXG4gIHZhciBpO1xuICB2YXIgc3BsaXQgPSAodHlwZW9mIG5hbWVzcGFjZXMgPT09ICdzdHJpbmcnID8gbmFtZXNwYWNlcyA6ICcnKS5zcGxpdCgvW1xccyxdKy8pO1xuICB2YXIgbGVuID0gc3BsaXQubGVuZ3RoO1xuXG4gIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgIGlmICghc3BsaXRbaV0pIGNvbnRpbnVlOyAvLyBpZ25vcmUgZW1wdHkgc3RyaW5nc1xuICAgIG5hbWVzcGFjZXMgPSBzcGxpdFtpXS5yZXBsYWNlKC9cXCovZywgJy4qPycpO1xuICAgIGlmIChuYW1lc3BhY2VzWzBdID09PSAnLScpIHtcbiAgICAgIGV4cG9ydHMuc2tpcHMucHVzaChuZXcgUmVnRXhwKCdeJyArIG5hbWVzcGFjZXMuc3Vic3RyKDEpICsgJyQnKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGV4cG9ydHMubmFtZXMucHVzaChuZXcgUmVnRXhwKCdeJyArIG5hbWVzcGFjZXMgKyAnJCcpKTtcbiAgICB9XG4gIH1cblxuICBmb3IgKGkgPSAwOyBpIDwgZXhwb3J0cy5pbnN0YW5jZXMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgaW5zdGFuY2UgPSBleHBvcnRzLmluc3RhbmNlc1tpXTtcbiAgICBpbnN0YW5jZS5lbmFibGVkID0gZXhwb3J0cy5lbmFibGVkKGluc3RhbmNlLm5hbWVzcGFjZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBEaXNhYmxlIGRlYnVnIG91dHB1dC5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIGRpc2FibGUoKSB7XG4gIGV4cG9ydHMuZW5hYmxlKCcnKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIG1vZGUgbmFtZSBpcyBlbmFibGVkLCBmYWxzZSBvdGhlcndpc2UuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IG5hbWVcbiAqIEByZXR1cm4ge0Jvb2xlYW59XG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIGVuYWJsZWQobmFtZSkge1xuICBpZiAobmFtZVtuYW1lLmxlbmd0aCAtIDFdID09PSAnKicpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICB2YXIgaSwgbGVuO1xuICBmb3IgKGkgPSAwLCBsZW4gPSBleHBvcnRzLnNraXBzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgaWYgKGV4cG9ydHMuc2tpcHNbaV0udGVzdChuYW1lKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICBmb3IgKGkgPSAwLCBsZW4gPSBleHBvcnRzLm5hbWVzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgaWYgKGV4cG9ydHMubmFtZXNbaV0udGVzdChuYW1lKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBDb2VyY2UgYHZhbGAuXG4gKlxuICogQHBhcmFtIHtNaXhlZH0gdmFsXG4gKiBAcmV0dXJuIHtNaXhlZH1cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIGNvZXJjZSh2YWwpIHtcbiAgaWYgKHZhbCBpbnN0YW5jZW9mIEVycm9yKSByZXR1cm4gdmFsLnN0YWNrIHx8IHZhbC5tZXNzYWdlO1xuICByZXR1cm4gdmFsO1xufVxuIiwibW9kdWxlLmV4cG9ydHMgPSB0b0FycmF5XG5cbmZ1bmN0aW9uIHRvQXJyYXkobGlzdCwgaW5kZXgpIHtcbiAgICB2YXIgYXJyYXkgPSBbXVxuXG4gICAgaW5kZXggPSBpbmRleCB8fCAwXG5cbiAgICBmb3IgKHZhciBpID0gaW5kZXggfHwgMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgYXJyYXlbaSAtIGluZGV4XSA9IGxpc3RbaV1cbiAgICB9XG5cbiAgICByZXR1cm4gYXJyYXlcbn1cbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGFscGhhYmV0ID0gJzAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6LV8nLnNwbGl0KCcnKVxuICAsIGxlbmd0aCA9IDY0XG4gICwgbWFwID0ge31cbiAgLCBzZWVkID0gMFxuICAsIGkgPSAwXG4gICwgcHJldjtcblxuLyoqXG4gKiBSZXR1cm4gYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBzcGVjaWZpZWQgbnVtYmVyLlxuICpcbiAqIEBwYXJhbSB7TnVtYmVyfSBudW0gVGhlIG51bWJlciB0byBjb252ZXJ0LlxuICogQHJldHVybnMge1N0cmluZ30gVGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgbnVtYmVyLlxuICogQGFwaSBwdWJsaWNcbiAqL1xuZnVuY3Rpb24gZW5jb2RlKG51bSkge1xuICB2YXIgZW5jb2RlZCA9ICcnO1xuXG4gIGRvIHtcbiAgICBlbmNvZGVkID0gYWxwaGFiZXRbbnVtICUgbGVuZ3RoXSArIGVuY29kZWQ7XG4gICAgbnVtID0gTWF0aC5mbG9vcihudW0gLyBsZW5ndGgpO1xuICB9IHdoaWxlIChudW0gPiAwKTtcblxuICByZXR1cm4gZW5jb2RlZDtcbn1cblxuLyoqXG4gKiBSZXR1cm4gdGhlIGludGVnZXIgdmFsdWUgc3BlY2lmaWVkIGJ5IHRoZSBnaXZlbiBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHN0ciBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyB7TnVtYmVyfSBUaGUgaW50ZWdlciB2YWx1ZSByZXByZXNlbnRlZCBieSB0aGUgc3RyaW5nLlxuICogQGFwaSBwdWJsaWNcbiAqL1xuZnVuY3Rpb24gZGVjb2RlKHN0cikge1xuICB2YXIgZGVjb2RlZCA9IDA7XG5cbiAgZm9yIChpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgIGRlY29kZWQgPSBkZWNvZGVkICogbGVuZ3RoICsgbWFwW3N0ci5jaGFyQXQoaSldO1xuICB9XG5cbiAgcmV0dXJuIGRlY29kZWQ7XG59XG5cbi8qKlxuICogWWVhc3Q6IEEgdGlueSBncm93aW5nIGlkIGdlbmVyYXRvci5cbiAqXG4gKiBAcmV0dXJucyB7U3RyaW5nfSBBIHVuaXF1ZSBpZC5cbiAqIEBhcGkgcHVibGljXG4gKi9cbmZ1bmN0aW9uIHllYXN0KCkge1xuICB2YXIgbm93ID0gZW5jb2RlKCtuZXcgRGF0ZSgpKTtcblxuICBpZiAobm93ICE9PSBwcmV2KSByZXR1cm4gc2VlZCA9IDAsIHByZXYgPSBub3c7XG4gIHJldHVybiBub3cgKycuJysgZW5jb2RlKHNlZWQrKyk7XG59XG5cbi8vXG4vLyBNYXAgZWFjaCBjaGFyYWN0ZXIgdG8gaXRzIGluZGV4LlxuLy9cbmZvciAoOyBpIDwgbGVuZ3RoOyBpKyspIG1hcFthbHBoYWJldFtpXV0gPSBpO1xuXG4vL1xuLy8gRXhwb3NlIHRoZSBgeWVhc3RgLCBgZW5jb2RlYCBhbmQgYGRlY29kZWAgZnVuY3Rpb25zLlxuLy9cbnllYXN0LmVuY29kZSA9IGVuY29kZTtcbnllYXN0LmRlY29kZSA9IGRlY29kZTtcbm1vZHVsZS5leHBvcnRzID0geWVhc3Q7XG4iLCIvKiAoaWdub3JlZCkgKi8iLCJmdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHtcbiAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpO1xuXG4gIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7XG4gICAgZW51bWVyYWJsZU9ubHkgJiYgKHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTtcbiAgICB9KSksIGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTtcbiAgfVxuXG4gIHJldHVybiBrZXlzO1xufVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkMih0YXJnZXQpIHtcbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgc291cmNlID0gbnVsbCAhPSBhcmd1bWVudHNbaV0gPyBhcmd1bWVudHNbaV0gOiB7fTtcbiAgICBpICUgMiA/IG93bktleXMoT2JqZWN0KHNvdXJjZSksICEwKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgIF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pO1xuICAgIH0pIDogT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMgPyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpIDogb3duS2V5cyhPYmplY3Qoc291cmNlKSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBrZXkpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59XG5cbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7XG4gIFwiQGJhYmVsL2hlbHBlcnMgLSB0eXBlb2ZcIjtcblxuICByZXR1cm4gX3R5cGVvZiA9IFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgU3ltYm9sICYmIFwic3ltYm9sXCIgPT0gdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA/IGZ1bmN0aW9uIChvYmopIHtcbiAgICByZXR1cm4gdHlwZW9mIG9iajtcbiAgfSA6IGZ1bmN0aW9uIChvYmopIHtcbiAgICByZXR1cm4gb2JqICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgU3ltYm9sICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqO1xuICB9LCBfdHlwZW9mKG9iaik7XG59XG5cbmZ1bmN0aW9uIF93cmFwUmVnRXhwKCkge1xuICBfd3JhcFJlZ0V4cCA9IGZ1bmN0aW9uIChyZSwgZ3JvdXBzKSB7XG4gICAgcmV0dXJuIG5ldyBCYWJlbFJlZ0V4cChyZSwgdm9pZCAwLCBncm91cHMpO1xuICB9O1xuXG4gIHZhciBfc3VwZXIgPSBSZWdFeHAucHJvdG90eXBlLFxuICAgICAgX2dyb3VwcyA9IG5ldyBXZWFrTWFwKCk7XG5cbiAgZnVuY3Rpb24gQmFiZWxSZWdFeHAocmUsIGZsYWdzLCBncm91cHMpIHtcbiAgICB2YXIgX3RoaXMgPSBuZXcgUmVnRXhwKHJlLCBmbGFncyk7XG5cbiAgICByZXR1cm4gX2dyb3Vwcy5zZXQoX3RoaXMsIGdyb3VwcyB8fCBfZ3JvdXBzLmdldChyZSkpLCBfc2V0UHJvdG90eXBlT2YoX3RoaXMsIEJhYmVsUmVnRXhwLnByb3RvdHlwZSk7XG4gIH1cblxuICBmdW5jdGlvbiBidWlsZEdyb3VwcyhyZXN1bHQsIHJlKSB7XG4gICAgdmFyIGcgPSBfZ3JvdXBzLmdldChyZSk7XG5cbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZykucmVkdWNlKGZ1bmN0aW9uIChncm91cHMsIG5hbWUpIHtcbiAgICAgIHJldHVybiBncm91cHNbbmFtZV0gPSByZXN1bHRbZ1tuYW1lXV0sIGdyb3VwcztcbiAgICB9LCBPYmplY3QuY3JlYXRlKG51bGwpKTtcbiAgfVxuXG4gIHJldHVybiBfaW5oZXJpdHMoQmFiZWxSZWdFeHAsIFJlZ0V4cCksIEJhYmVsUmVnRXhwLnByb3RvdHlwZS5leGVjID0gZnVuY3Rpb24gKHN0cikge1xuICAgIHZhciByZXN1bHQgPSBfc3VwZXIuZXhlYy5jYWxsKHRoaXMsIHN0cik7XG5cbiAgICByZXR1cm4gcmVzdWx0ICYmIChyZXN1bHQuZ3JvdXBzID0gYnVpbGRHcm91cHMocmVzdWx0LCB0aGlzKSksIHJlc3VsdDtcbiAgfSwgQmFiZWxSZWdFeHAucHJvdG90eXBlW1N5bWJvbC5yZXBsYWNlXSA9IGZ1bmN0aW9uIChzdHIsIHN1YnN0aXR1dGlvbikge1xuICAgIGlmIChcInN0cmluZ1wiID09IHR5cGVvZiBzdWJzdGl0dXRpb24pIHtcbiAgICAgIHZhciBncm91cHMgPSBfZ3JvdXBzLmdldCh0aGlzKTtcblxuICAgICAgcmV0dXJuIF9zdXBlcltTeW1ib2wucmVwbGFjZV0uY2FsbCh0aGlzLCBzdHIsIHN1YnN0aXR1dGlvbi5yZXBsYWNlKC9cXCQ8KFtePl0rKT4vZywgZnVuY3Rpb24gKF8sIG5hbWUpIHtcbiAgICAgICAgcmV0dXJuIFwiJFwiICsgZ3JvdXBzW25hbWVdO1xuICAgICAgfSkpO1xuICAgIH1cblxuICAgIGlmIChcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIHN1YnN0aXR1dGlvbikge1xuICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgcmV0dXJuIF9zdXBlcltTeW1ib2wucmVwbGFjZV0uY2FsbCh0aGlzLCBzdHIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGFyZ3MgPSBhcmd1bWVudHM7XG4gICAgICAgIHJldHVybiBcIm9iamVjdFwiICE9IHR5cGVvZiBhcmdzW2FyZ3MubGVuZ3RoIC0gMV0gJiYgKGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3MpKS5wdXNoKGJ1aWxkR3JvdXBzKGFyZ3MsIF90aGlzKSksIHN1YnN0aXR1dGlvbi5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBfc3VwZXJbU3ltYm9sLnJlcGxhY2VdLmNhbGwodGhpcywgc3RyLCBzdWJzdGl0dXRpb24pO1xuICB9LCBfd3JhcFJlZ0V4cC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xufVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7XG4gIGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldO1xuICAgIGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTtcbiAgICBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7XG4gICAgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykge1xuICBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTtcbiAgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQ29uc3RydWN0b3IsIFwicHJvdG90eXBlXCIsIHtcbiAgICB3cml0YWJsZTogZmFsc2VcbiAgfSk7XG4gIHJldHVybiBDb25zdHJ1Y3Rvcjtcbn1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkge1xuICBpZiAoa2V5IGluIG9iaikge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwge1xuICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgb2JqW2tleV0gPSB2YWx1ZTtcbiAgfVxuXG4gIHJldHVybiBvYmo7XG59XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykge1xuICBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpO1xuICB9XG5cbiAgc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7XG4gICAgY29uc3RydWN0b3I6IHtcbiAgICAgIHZhbHVlOiBzdWJDbGFzcyxcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfVxuICB9KTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHN1YkNsYXNzLCBcInByb3RvdHlwZVwiLCB7XG4gICAgd3JpdGFibGU6IGZhbHNlXG4gIH0pO1xuICBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTtcbn1cblxuZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHtcbiAgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7XG4gICAgby5fX3Byb3RvX18gPSBwO1xuICAgIHJldHVybiBvO1xuICB9O1xuXG4gIHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7XG59XG5cbmZ1bmN0aW9uIF9zbGljZWRUb0FycmF5KGFyciwgaSkge1xuICByZXR1cm4gX2FycmF5V2l0aEhvbGVzKGFycikgfHwgX2l0ZXJhYmxlVG9BcnJheUxpbWl0KGFyciwgaSkgfHwgX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KGFyciwgaSkgfHwgX25vbkl0ZXJhYmxlUmVzdCgpO1xufVxuXG5mdW5jdGlvbiBfdG9Db25zdW1hYmxlQXJyYXkoYXJyKSB7XG4gIHJldHVybiBfYXJyYXlXaXRob3V0SG9sZXMoYXJyKSB8fCBfaXRlcmFibGVUb0FycmF5KGFycikgfHwgX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KGFycikgfHwgX25vbkl0ZXJhYmxlU3ByZWFkKCk7XG59XG5cbmZ1bmN0aW9uIF9hcnJheVdpdGhvdXRIb2xlcyhhcnIpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoYXJyKSkgcmV0dXJuIF9hcnJheUxpa2VUb0FycmF5KGFycik7XG59XG5cbmZ1bmN0aW9uIF9hcnJheVdpdGhIb2xlcyhhcnIpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoYXJyKSkgcmV0dXJuIGFycjtcbn1cblxuZnVuY3Rpb24gX2l0ZXJhYmxlVG9BcnJheShpdGVyKSB7XG4gIGlmICh0eXBlb2YgU3ltYm9sICE9PSBcInVuZGVmaW5lZFwiICYmIGl0ZXJbU3ltYm9sLml0ZXJhdG9yXSAhPSBudWxsIHx8IGl0ZXJbXCJAQGl0ZXJhdG9yXCJdICE9IG51bGwpIHJldHVybiBBcnJheS5mcm9tKGl0ZXIpO1xufVxuXG5mdW5jdGlvbiBfaXRlcmFibGVUb0FycmF5TGltaXQoYXJyLCBpKSB7XG4gIHZhciBfaSA9IGFyciA9PSBudWxsID8gbnVsbCA6IHR5cGVvZiBTeW1ib2wgIT09IFwidW5kZWZpbmVkXCIgJiYgYXJyW1N5bWJvbC5pdGVyYXRvcl0gfHwgYXJyW1wiQEBpdGVyYXRvclwiXTtcblxuICBpZiAoX2kgPT0gbnVsbCkgcmV0dXJuO1xuICB2YXIgX2FyciA9IFtdO1xuICB2YXIgX24gPSB0cnVlO1xuICB2YXIgX2QgPSBmYWxzZTtcblxuICB2YXIgX3MsIF9lO1xuXG4gIHRyeSB7XG4gICAgZm9yIChfaSA9IF9pLmNhbGwoYXJyKTsgIShfbiA9IChfcyA9IF9pLm5leHQoKSkuZG9uZSk7IF9uID0gdHJ1ZSkge1xuICAgICAgX2Fyci5wdXNoKF9zLnZhbHVlKTtcblxuICAgICAgaWYgKGkgJiYgX2Fyci5sZW5ndGggPT09IGkpIGJyZWFrO1xuICAgIH1cbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgX2QgPSB0cnVlO1xuICAgIF9lID0gZXJyO1xuICB9IGZpbmFsbHkge1xuICAgIHRyeSB7XG4gICAgICBpZiAoIV9uICYmIF9pW1wicmV0dXJuXCJdICE9IG51bGwpIF9pW1wicmV0dXJuXCJdKCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmIChfZCkgdGhyb3cgX2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIF9hcnI7XG59XG5cbmZ1bmN0aW9uIF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShvLCBtaW5MZW4pIHtcbiAgaWYgKCFvKSByZXR1cm47XG4gIGlmICh0eXBlb2YgbyA9PT0gXCJzdHJpbmdcIikgcmV0dXJuIF9hcnJheUxpa2VUb0FycmF5KG8sIG1pbkxlbik7XG4gIHZhciBuID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pLnNsaWNlKDgsIC0xKTtcbiAgaWYgKG4gPT09IFwiT2JqZWN0XCIgJiYgby5jb25zdHJ1Y3RvcikgbiA9IG8uY29uc3RydWN0b3IubmFtZTtcbiAgaWYgKG4gPT09IFwiTWFwXCIgfHwgbiA9PT0gXCJTZXRcIikgcmV0dXJuIEFycmF5LmZyb20obyk7XG4gIGlmIChuID09PSBcIkFyZ3VtZW50c1wiIHx8IC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTtcbn1cblxuZnVuY3Rpb24gX2FycmF5TGlrZVRvQXJyYXkoYXJyLCBsZW4pIHtcbiAgaWYgKGxlbiA9PSBudWxsIHx8IGxlbiA+IGFyci5sZW5ndGgpIGxlbiA9IGFyci5sZW5ndGg7XG5cbiAgZm9yICh2YXIgaSA9IDAsIGFycjIgPSBuZXcgQXJyYXkobGVuKTsgaSA8IGxlbjsgaSsrKSBhcnIyW2ldID0gYXJyW2ldO1xuXG4gIHJldHVybiBhcnIyO1xufVxuXG5mdW5jdGlvbiBfbm9uSXRlcmFibGVTcHJlYWQoKSB7XG4gIHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gc3ByZWFkIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuXCIpO1xufVxuXG5mdW5jdGlvbiBfbm9uSXRlcmFibGVSZXN0KCkge1xuICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuXCIpO1xufVxuXG52YXIgbm9vcCA9IGZ1bmN0aW9uIG5vb3AoKSB7fTtcblxudmFyIF9XSU5ET1cgPSB7fTtcbnZhciBfRE9DVU1FTlQgPSB7fTtcbnZhciBfTVVUQVRJT05fT0JTRVJWRVIgPSBudWxsO1xudmFyIF9QRVJGT1JNQU5DRSA9IHtcbiAgbWFyazogbm9vcCxcbiAgbWVhc3VyZTogbm9vcFxufTtcblxudHJ5IHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSBfV0lORE9XID0gd2luZG93O1xuICBpZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykgX0RPQ1VNRU5UID0gZG9jdW1lbnQ7XG4gIGlmICh0eXBlb2YgTXV0YXRpb25PYnNlcnZlciAhPT0gJ3VuZGVmaW5lZCcpIF9NVVRBVElPTl9PQlNFUlZFUiA9IE11dGF0aW9uT2JzZXJ2ZXI7XG4gIGlmICh0eXBlb2YgcGVyZm9ybWFuY2UgIT09ICd1bmRlZmluZWQnKSBfUEVSRk9STUFOQ0UgPSBwZXJmb3JtYW5jZTtcbn0gY2F0Y2ggKGUpIHt9XG5cbnZhciBfcmVmID0gX1dJTkRPVy5uYXZpZ2F0b3IgfHwge30sXG4gICAgX3JlZiR1c2VyQWdlbnQgPSBfcmVmLnVzZXJBZ2VudCxcbiAgICB1c2VyQWdlbnQgPSBfcmVmJHVzZXJBZ2VudCA9PT0gdm9pZCAwID8gJycgOiBfcmVmJHVzZXJBZ2VudDtcbnZhciBXSU5ET1cgPSBfV0lORE9XO1xudmFyIERPQ1VNRU5UID0gX0RPQ1VNRU5UO1xudmFyIE1VVEFUSU9OX09CU0VSVkVSID0gX01VVEFUSU9OX09CU0VSVkVSO1xudmFyIFBFUkZPUk1BTkNFID0gX1BFUkZPUk1BTkNFO1xudmFyIElTX0JST1dTRVIgPSAhIVdJTkRPVy5kb2N1bWVudDtcbnZhciBJU19ET00gPSAhIURPQ1VNRU5ULmRvY3VtZW50RWxlbWVudCAmJiAhIURPQ1VNRU5ULmhlYWQgJiYgdHlwZW9mIERPQ1VNRU5ULmFkZEV2ZW50TGlzdGVuZXIgPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIERPQ1VNRU5ULmNyZWF0ZUVsZW1lbnQgPT09ICdmdW5jdGlvbic7XG52YXIgSVNfSUUgPSB+dXNlckFnZW50LmluZGV4T2YoJ01TSUUnKSB8fCB+dXNlckFnZW50LmluZGV4T2YoJ1RyaWRlbnQvJyk7XG5cbnZhciBfZmFtaWx5UHJveHksIF9mYW1pbHlQcm94eTIsIF9mYW1pbHlQcm94eTMsIF9mYW1pbHlQcm94eTQsIF9mYW1pbHlQcm94eTU7XG5cbnZhciBOQU1FU1BBQ0VfSURFTlRJRklFUiA9ICdfX19GT05UX0FXRVNPTUVfX18nO1xudmFyIFVOSVRTX0lOX0dSSUQgPSAxNjtcbnZhciBERUZBVUxUX0NTU19QUkVGSVggPSAnZmEnO1xudmFyIERFRkFVTFRfUkVQTEFDRU1FTlRfQ0xBU1MgPSAnc3ZnLWlubGluZS0tZmEnO1xudmFyIERBVEFfRkFfSTJTVkcgPSAnZGF0YS1mYS1pMnN2Zyc7XG52YXIgREFUQV9GQV9QU0VVRE9fRUxFTUVOVCA9ICdkYXRhLWZhLXBzZXVkby1lbGVtZW50JztcbnZhciBEQVRBX0ZBX1BTRVVET19FTEVNRU5UX1BFTkRJTkcgPSAnZGF0YS1mYS1wc2V1ZG8tZWxlbWVudC1wZW5kaW5nJztcbnZhciBEQVRBX1BSRUZJWCA9ICdkYXRhLXByZWZpeCc7XG52YXIgREFUQV9JQ09OID0gJ2RhdGEtaWNvbic7XG52YXIgSFRNTF9DTEFTU19JMlNWR19CQVNFX0NMQVNTID0gJ2ZvbnRhd2Vzb21lLWkyc3ZnJztcbnZhciBNVVRBVElPTl9BUFBST0FDSF9BU1lOQyA9ICdhc3luYyc7XG52YXIgVEFHTkFNRVNfVE9fU0tJUF9GT1JfUFNFVURPRUxFTUVOVFMgPSBbJ0hUTUwnLCAnSEVBRCcsICdTVFlMRScsICdTQ1JJUFQnXTtcbnZhciBQUk9EVUNUSU9OID0gZnVuY3Rpb24gKCkge1xuICB0cnkge1xuICAgIHJldHVybiBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59KCk7XG52YXIgRkFNSUxZX0NMQVNTSUMgPSAnY2xhc3NpYyc7XG52YXIgRkFNSUxZX1NIQVJQID0gJ3NoYXJwJztcbnZhciBGQU1JTElFUyA9IFtGQU1JTFlfQ0xBU1NJQywgRkFNSUxZX1NIQVJQXTtcblxuZnVuY3Rpb24gZmFtaWx5UHJveHkob2JqKSB7XG4gIC8vIERlZmF1bHRzIHRvIHRoZSBjbGFzc2ljIGZhbWlseSBpZiBmYW1pbHkgaXMgbm90IGF2YWlsYWJsZVxuICByZXR1cm4gbmV3IFByb3h5KG9iaiwge1xuICAgIGdldDogZnVuY3Rpb24gZ2V0KHRhcmdldCwgcHJvcCkge1xuICAgICAgcmV0dXJuIHByb3AgaW4gdGFyZ2V0ID8gdGFyZ2V0W3Byb3BdIDogdGFyZ2V0W0ZBTUlMWV9DTEFTU0lDXTtcbiAgICB9XG4gIH0pO1xufVxudmFyIFBSRUZJWF9UT19TVFlMRSA9IGZhbWlseVByb3h5KChfZmFtaWx5UHJveHkgPSB7fSwgX2RlZmluZVByb3BlcnR5KF9mYW1pbHlQcm94eSwgRkFNSUxZX0NMQVNTSUMsIHtcbiAgJ2ZhJzogJ3NvbGlkJyxcbiAgJ2Zhcyc6ICdzb2xpZCcsXG4gICdmYS1zb2xpZCc6ICdzb2xpZCcsXG4gICdmYXInOiAncmVndWxhcicsXG4gICdmYS1yZWd1bGFyJzogJ3JlZ3VsYXInLFxuICAnZmFsJzogJ2xpZ2h0JyxcbiAgJ2ZhLWxpZ2h0JzogJ2xpZ2h0JyxcbiAgJ2ZhdCc6ICd0aGluJyxcbiAgJ2ZhLXRoaW4nOiAndGhpbicsXG4gICdmYWQnOiAnZHVvdG9uZScsXG4gICdmYS1kdW90b25lJzogJ2R1b3RvbmUnLFxuICAnZmFiJzogJ2JyYW5kcycsXG4gICdmYS1icmFuZHMnOiAnYnJhbmRzJyxcbiAgJ2Zhayc6ICdraXQnLFxuICAnZmFrZCc6ICdraXQnLFxuICAnZmEta2l0JzogJ2tpdCcsXG4gICdmYS1raXQtZHVvdG9uZSc6ICdraXQnXG59KSwgX2RlZmluZVByb3BlcnR5KF9mYW1pbHlQcm94eSwgRkFNSUxZX1NIQVJQLCB7XG4gICdmYSc6ICdzb2xpZCcsXG4gICdmYXNzJzogJ3NvbGlkJyxcbiAgJ2ZhLXNvbGlkJzogJ3NvbGlkJyxcbiAgJ2Zhc3InOiAncmVndWxhcicsXG4gICdmYS1yZWd1bGFyJzogJ3JlZ3VsYXInLFxuICAnZmFzbCc6ICdsaWdodCcsXG4gICdmYS1saWdodCc6ICdsaWdodCcsXG4gICdmYXN0JzogJ3RoaW4nLFxuICAnZmEtdGhpbic6ICd0aGluJ1xufSksIF9mYW1pbHlQcm94eSkpO1xudmFyIFNUWUxFX1RPX1BSRUZJWCA9IGZhbWlseVByb3h5KChfZmFtaWx5UHJveHkyID0ge30sIF9kZWZpbmVQcm9wZXJ0eShfZmFtaWx5UHJveHkyLCBGQU1JTFlfQ0xBU1NJQywge1xuICBzb2xpZDogJ2ZhcycsXG4gIHJlZ3VsYXI6ICdmYXInLFxuICBsaWdodDogJ2ZhbCcsXG4gIHRoaW46ICdmYXQnLFxuICBkdW90b25lOiAnZmFkJyxcbiAgYnJhbmRzOiAnZmFiJyxcbiAga2l0OiAnZmFrJ1xufSksIF9kZWZpbmVQcm9wZXJ0eShfZmFtaWx5UHJveHkyLCBGQU1JTFlfU0hBUlAsIHtcbiAgc29saWQ6ICdmYXNzJyxcbiAgcmVndWxhcjogJ2Zhc3InLFxuICBsaWdodDogJ2Zhc2wnLFxuICB0aGluOiAnZmFzdCdcbn0pLCBfZmFtaWx5UHJveHkyKSk7XG52YXIgUFJFRklYX1RPX0xPTkdfU1RZTEUgPSBmYW1pbHlQcm94eSgoX2ZhbWlseVByb3h5MyA9IHt9LCBfZGVmaW5lUHJvcGVydHkoX2ZhbWlseVByb3h5MywgRkFNSUxZX0NMQVNTSUMsIHtcbiAgZmFiOiAnZmEtYnJhbmRzJyxcbiAgZmFkOiAnZmEtZHVvdG9uZScsXG4gIGZhazogJ2ZhLWtpdCcsXG4gIGZhbDogJ2ZhLWxpZ2h0JyxcbiAgZmFyOiAnZmEtcmVndWxhcicsXG4gIGZhczogJ2ZhLXNvbGlkJyxcbiAgZmF0OiAnZmEtdGhpbidcbn0pLCBfZGVmaW5lUHJvcGVydHkoX2ZhbWlseVByb3h5MywgRkFNSUxZX1NIQVJQLCB7XG4gIGZhc3M6ICdmYS1zb2xpZCcsXG4gIGZhc3I6ICdmYS1yZWd1bGFyJyxcbiAgZmFzbDogJ2ZhLWxpZ2h0JyxcbiAgZmFzdDogJ2ZhLXRoaW4nXG59KSwgX2ZhbWlseVByb3h5MykpO1xudmFyIExPTkdfU1RZTEVfVE9fUFJFRklYID0gZmFtaWx5UHJveHkoKF9mYW1pbHlQcm94eTQgPSB7fSwgX2RlZmluZVByb3BlcnR5KF9mYW1pbHlQcm94eTQsIEZBTUlMWV9DTEFTU0lDLCB7XG4gICdmYS1icmFuZHMnOiAnZmFiJyxcbiAgJ2ZhLWR1b3RvbmUnOiAnZmFkJyxcbiAgJ2ZhLWtpdCc6ICdmYWsnLFxuICAnZmEtbGlnaHQnOiAnZmFsJyxcbiAgJ2ZhLXJlZ3VsYXInOiAnZmFyJyxcbiAgJ2ZhLXNvbGlkJzogJ2ZhcycsXG4gICdmYS10aGluJzogJ2ZhdCdcbn0pLCBfZGVmaW5lUHJvcGVydHkoX2ZhbWlseVByb3h5NCwgRkFNSUxZX1NIQVJQLCB7XG4gICdmYS1zb2xpZCc6ICdmYXNzJyxcbiAgJ2ZhLXJlZ3VsYXInOiAnZmFzcicsXG4gICdmYS1saWdodCc6ICdmYXNsJyxcbiAgJ2ZhLXRoaW4nOiAnZmFzdCdcbn0pLCBfZmFtaWx5UHJveHk0KSk7XG52YXIgSUNPTl9TRUxFQ1RJT05fU1lOVEFYX1BBVFRFUk4gPSAvZmEoc3xyfGx8dHxkfGJ8a3xzc3xzcnxzbHxzdCk/W1xcLVxcIF0vOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVzZWxlc3MtZXNjYXBlXG5cbnZhciBMQVlFUlNfVEVYVF9DTEFTU05BTUUgPSAnZmEtbGF5ZXJzLXRleHQnO1xudmFyIEZPTlRfRkFNSUxZX1BBVFRFUk4gPSAvRm9udCA/QXdlc29tZSA/KFs1NiBdKikoU29saWR8UmVndWxhcnxMaWdodHxUaGlufER1b3RvbmV8QnJhbmRzfEZyZWV8UHJvfFNoYXJwfEtpdCk/LiovaTtcbnZhciBGT05UX1dFSUdIVF9UT19QUkVGSVggPSBmYW1pbHlQcm94eSgoX2ZhbWlseVByb3h5NSA9IHt9LCBfZGVmaW5lUHJvcGVydHkoX2ZhbWlseVByb3h5NSwgRkFNSUxZX0NMQVNTSUMsIHtcbiAgOTAwOiAnZmFzJyxcbiAgNDAwOiAnZmFyJyxcbiAgbm9ybWFsOiAnZmFyJyxcbiAgMzAwOiAnZmFsJyxcbiAgMTAwOiAnZmF0J1xufSksIF9kZWZpbmVQcm9wZXJ0eShfZmFtaWx5UHJveHk1LCBGQU1JTFlfU0hBUlAsIHtcbiAgOTAwOiAnZmFzcycsXG4gIDQwMDogJ2Zhc3InLFxuICAzMDA6ICdmYXNsJyxcbiAgMTAwOiAnZmFzdCdcbn0pLCBfZmFtaWx5UHJveHk1KSk7XG52YXIgb25lVG9UZW4gPSBbMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTBdO1xudmFyIG9uZVRvVHdlbnR5ID0gb25lVG9UZW4uY29uY2F0KFsxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAxNywgMTgsIDE5LCAyMF0pO1xudmFyIEFUVFJJQlVURVNfV0FUQ0hFRF9GT1JfTVVUQVRJT04gPSBbJ2NsYXNzJywgJ2RhdGEtcHJlZml4JywgJ2RhdGEtaWNvbicsICdkYXRhLWZhLXRyYW5zZm9ybScsICdkYXRhLWZhLW1hc2snXTtcbnZhciBEVU9UT05FX0NMQVNTRVMgPSB7XG4gIEdST1VQOiAnZHVvdG9uZS1ncm91cCcsXG4gIFNXQVBfT1BBQ0lUWTogJ3N3YXAtb3BhY2l0eScsXG4gIFBSSU1BUlk6ICdwcmltYXJ5JyxcbiAgU0VDT05EQVJZOiAnc2Vjb25kYXJ5J1xufTtcbnZhciBwcmVmaXhlcyA9IG5ldyBTZXQoKTtcbk9iamVjdC5rZXlzKFNUWUxFX1RPX1BSRUZJWFtGQU1JTFlfQ0xBU1NJQ10pLm1hcChwcmVmaXhlcy5hZGQuYmluZChwcmVmaXhlcykpO1xuT2JqZWN0LmtleXMoU1RZTEVfVE9fUFJFRklYW0ZBTUlMWV9TSEFSUF0pLm1hcChwcmVmaXhlcy5hZGQuYmluZChwcmVmaXhlcykpO1xudmFyIFJFU0VSVkVEX0NMQVNTRVMgPSBbXS5jb25jYXQoRkFNSUxJRVMsIF90b0NvbnN1bWFibGVBcnJheShwcmVmaXhlcyksIFsnMnhzJywgJ3hzJywgJ3NtJywgJ2xnJywgJ3hsJywgJzJ4bCcsICdiZWF0JywgJ2JvcmRlcicsICdmYWRlJywgJ2JlYXQtZmFkZScsICdib3VuY2UnLCAnZmxpcC1ib3RoJywgJ2ZsaXAtaG9yaXpvbnRhbCcsICdmbGlwLXZlcnRpY2FsJywgJ2ZsaXAnLCAnZncnLCAnaW52ZXJzZScsICdsYXllcnMtY291bnRlcicsICdsYXllcnMtdGV4dCcsICdsYXllcnMnLCAnbGknLCAncHVsbC1sZWZ0JywgJ3B1bGwtcmlnaHQnLCAncHVsc2UnLCAncm90YXRlLTE4MCcsICdyb3RhdGUtMjcwJywgJ3JvdGF0ZS05MCcsICdyb3RhdGUtYnknLCAnc2hha2UnLCAnc3Bpbi1wdWxzZScsICdzcGluLXJldmVyc2UnLCAnc3BpbicsICdzdGFjay0xeCcsICdzdGFjay0yeCcsICdzdGFjaycsICd1bCcsIERVT1RPTkVfQ0xBU1NFUy5HUk9VUCwgRFVPVE9ORV9DTEFTU0VTLlNXQVBfT1BBQ0lUWSwgRFVPVE9ORV9DTEFTU0VTLlBSSU1BUlksIERVT1RPTkVfQ0xBU1NFUy5TRUNPTkRBUlldKS5jb25jYXQob25lVG9UZW4ubWFwKGZ1bmN0aW9uIChuKSB7XG4gIHJldHVybiBcIlwiLmNvbmNhdChuLCBcInhcIik7XG59KSkuY29uY2F0KG9uZVRvVHdlbnR5Lm1hcChmdW5jdGlvbiAobikge1xuICByZXR1cm4gXCJ3LVwiLmNvbmNhdChuKTtcbn0pKTtcblxudmFyIGluaXRpYWwgPSBXSU5ET1cuRm9udEF3ZXNvbWVDb25maWcgfHwge307XG5cbmZ1bmN0aW9uIGdldEF0dHJDb25maWcoYXR0cikge1xuICB2YXIgZWxlbWVudCA9IERPQ1VNRU5ULnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdFsnICsgYXR0ciArICddJyk7XG5cbiAgaWYgKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gZWxlbWVudC5nZXRBdHRyaWJ1dGUoYXR0cik7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29lcmNlKHZhbCkge1xuICAvLyBHZXR0aW5nIGFuIGVtcHR5IHN0cmluZyB3aWxsIG9jY3VyIGlmIHRoZSBhdHRyaWJ1dGUgaXMgc2V0IG9uIHRoZSBIVE1MIHRhZyBidXQgd2l0aG91dCBhIHZhbHVlXG4gIC8vIFdlJ2xsIGFzc3VtZSB0aGF0IHRoaXMgaXMgYW4gaW5kaWNhdGlvbiB0aGF0IGl0IHNob3VsZCBiZSB0b2dnbGVkIHRvIHRydWVcbiAgaWYgKHZhbCA9PT0gJycpIHJldHVybiB0cnVlO1xuICBpZiAodmFsID09PSAnZmFsc2UnKSByZXR1cm4gZmFsc2U7XG4gIGlmICh2YWwgPT09ICd0cnVlJykgcmV0dXJuIHRydWU7XG4gIHJldHVybiB2YWw7XG59XG5cbmlmIChET0NVTUVOVCAmJiB0eXBlb2YgRE9DVU1FTlQucXVlcnlTZWxlY3RvciA9PT0gJ2Z1bmN0aW9uJykge1xuICB2YXIgYXR0cnMgPSBbWydkYXRhLWZhbWlseS1wcmVmaXgnLCAnZmFtaWx5UHJlZml4J10sIFsnZGF0YS1jc3MtcHJlZml4JywgJ2Nzc1ByZWZpeCddLCBbJ2RhdGEtZmFtaWx5LWRlZmF1bHQnLCAnZmFtaWx5RGVmYXVsdCddLCBbJ2RhdGEtc3R5bGUtZGVmYXVsdCcsICdzdHlsZURlZmF1bHQnXSwgWydkYXRhLXJlcGxhY2VtZW50LWNsYXNzJywgJ3JlcGxhY2VtZW50Q2xhc3MnXSwgWydkYXRhLWF1dG8tcmVwbGFjZS1zdmcnLCAnYXV0b1JlcGxhY2VTdmcnXSwgWydkYXRhLWF1dG8tYWRkLWNzcycsICdhdXRvQWRkQ3NzJ10sIFsnZGF0YS1hdXRvLWExMXknLCAnYXV0b0ExMXknXSwgWydkYXRhLXNlYXJjaC1wc2V1ZG8tZWxlbWVudHMnLCAnc2VhcmNoUHNldWRvRWxlbWVudHMnXSwgWydkYXRhLW9ic2VydmUtbXV0YXRpb25zJywgJ29ic2VydmVNdXRhdGlvbnMnXSwgWydkYXRhLW11dGF0ZS1hcHByb2FjaCcsICdtdXRhdGVBcHByb2FjaCddLCBbJ2RhdGEta2VlcC1vcmlnaW5hbC1zb3VyY2UnLCAna2VlcE9yaWdpbmFsU291cmNlJ10sIFsnZGF0YS1tZWFzdXJlLXBlcmZvcm1hbmNlJywgJ21lYXN1cmVQZXJmb3JtYW5jZSddLCBbJ2RhdGEtc2hvdy1taXNzaW5nLWljb25zJywgJ3Nob3dNaXNzaW5nSWNvbnMnXV07XG4gIGF0dHJzLmZvckVhY2goZnVuY3Rpb24gKF9yZWYpIHtcbiAgICB2YXIgX3JlZjIgPSBfc2xpY2VkVG9BcnJheShfcmVmLCAyKSxcbiAgICAgICAgYXR0ciA9IF9yZWYyWzBdLFxuICAgICAgICBrZXkgPSBfcmVmMlsxXTtcblxuICAgIHZhciB2YWwgPSBjb2VyY2UoZ2V0QXR0ckNvbmZpZyhhdHRyKSk7XG5cbiAgICBpZiAodmFsICE9PSB1bmRlZmluZWQgJiYgdmFsICE9PSBudWxsKSB7XG4gICAgICBpbml0aWFsW2tleV0gPSB2YWw7XG4gICAgfVxuICB9KTtcbn1cblxudmFyIF9kZWZhdWx0ID0ge1xuICBzdHlsZURlZmF1bHQ6ICdzb2xpZCcsXG4gIGZhbWlseURlZmF1bHQ6ICdjbGFzc2ljJyxcbiAgY3NzUHJlZml4OiBERUZBVUxUX0NTU19QUkVGSVgsXG4gIHJlcGxhY2VtZW50Q2xhc3M6IERFRkFVTFRfUkVQTEFDRU1FTlRfQ0xBU1MsXG4gIGF1dG9SZXBsYWNlU3ZnOiB0cnVlLFxuICBhdXRvQWRkQ3NzOiB0cnVlLFxuICBhdXRvQTExeTogdHJ1ZSxcbiAgc2VhcmNoUHNldWRvRWxlbWVudHM6IGZhbHNlLFxuICBvYnNlcnZlTXV0YXRpb25zOiB0cnVlLFxuICBtdXRhdGVBcHByb2FjaDogJ2FzeW5jJyxcbiAga2VlcE9yaWdpbmFsU291cmNlOiB0cnVlLFxuICBtZWFzdXJlUGVyZm9ybWFuY2U6IGZhbHNlLFxuICBzaG93TWlzc2luZ0ljb25zOiB0cnVlXG59OyAvLyBmYW1pbHlQcmVmaXggaXMgZGVwcmVjYXRlZCBidXQgd2UgbXVzdCBzdGlsbCBzdXBwb3J0IGl0IGlmIHByZXNlbnRcblxuaWYgKGluaXRpYWwuZmFtaWx5UHJlZml4KSB7XG4gIGluaXRpYWwuY3NzUHJlZml4ID0gaW5pdGlhbC5mYW1pbHlQcmVmaXg7XG59XG5cbnZhciBfY29uZmlnID0gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIF9kZWZhdWx0KSwgaW5pdGlhbCk7XG5cbmlmICghX2NvbmZpZy5hdXRvUmVwbGFjZVN2ZykgX2NvbmZpZy5vYnNlcnZlTXV0YXRpb25zID0gZmFsc2U7XG52YXIgY29uZmlnID0ge307XG5PYmplY3Qua2V5cyhfZGVmYXVsdCkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb25maWcsIGtleSwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgc2V0OiBmdW5jdGlvbiBzZXQodmFsKSB7XG4gICAgICBfY29uZmlnW2tleV0gPSB2YWw7XG5cbiAgICAgIF9vbkNoYW5nZUNiLmZvckVhY2goZnVuY3Rpb24gKGNiKSB7XG4gICAgICAgIHJldHVybiBjYihjb25maWcpO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBfY29uZmlnW2tleV07XG4gICAgfVxuICB9KTtcbn0pOyAvLyBmYW1pbHlQcmVmaXggaXMgZGVwcmVjYXRlZCBhcyBvZiA2LjIuMCBhbmQgc2hvdWxkIGJlIHJlbW92ZWQgaW4gNy4wLjBcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvbmZpZywgJ2ZhbWlseVByZWZpeCcsIHtcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgc2V0OiBmdW5jdGlvbiBzZXQodmFsKSB7XG4gICAgX2NvbmZpZy5jc3NQcmVmaXggPSB2YWw7XG5cbiAgICBfb25DaGFuZ2VDYi5mb3JFYWNoKGZ1bmN0aW9uIChjYikge1xuICAgICAgcmV0dXJuIGNiKGNvbmZpZyk7XG4gICAgfSk7XG4gIH0sXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgIHJldHVybiBfY29uZmlnLmNzc1ByZWZpeDtcbiAgfVxufSk7XG5XSU5ET1cuRm9udEF3ZXNvbWVDb25maWcgPSBjb25maWc7XG52YXIgX29uQ2hhbmdlQ2IgPSBbXTtcbmZ1bmN0aW9uIG9uQ2hhbmdlKGNiKSB7XG4gIF9vbkNoYW5nZUNiLnB1c2goY2IpO1xuXG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgX29uQ2hhbmdlQ2Iuc3BsaWNlKF9vbkNoYW5nZUNiLmluZGV4T2YoY2IpLCAxKTtcbiAgfTtcbn1cblxudmFyIGQgPSBVTklUU19JTl9HUklEO1xudmFyIG1lYW5pbmdsZXNzVHJhbnNmb3JtID0ge1xuICBzaXplOiAxNixcbiAgeDogMCxcbiAgeTogMCxcbiAgcm90YXRlOiAwLFxuICBmbGlwWDogZmFsc2UsXG4gIGZsaXBZOiBmYWxzZVxufTtcbmZ1bmN0aW9uIGluc2VydENzcyhjc3MpIHtcbiAgaWYgKCFjc3MgfHwgIUlTX0RPTSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBzdHlsZSA9IERPQ1VNRU5ULmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gIHN0eWxlLnNldEF0dHJpYnV0ZSgndHlwZScsICd0ZXh0L2NzcycpO1xuICBzdHlsZS5pbm5lckhUTUwgPSBjc3M7XG4gIHZhciBoZWFkQ2hpbGRyZW4gPSBET0NVTUVOVC5oZWFkLmNoaWxkTm9kZXM7XG4gIHZhciBiZWZvcmVDaGlsZCA9IG51bGw7XG5cbiAgZm9yICh2YXIgaSA9IGhlYWRDaGlsZHJlbi5sZW5ndGggLSAxOyBpID4gLTE7IGktLSkge1xuICAgIHZhciBjaGlsZCA9IGhlYWRDaGlsZHJlbltpXTtcbiAgICB2YXIgdGFnTmFtZSA9IChjaGlsZC50YWdOYW1lIHx8ICcnKS50b1VwcGVyQ2FzZSgpO1xuXG4gICAgaWYgKFsnU1RZTEUnLCAnTElOSyddLmluZGV4T2YodGFnTmFtZSkgPiAtMSkge1xuICAgICAgYmVmb3JlQ2hpbGQgPSBjaGlsZDtcbiAgICB9XG4gIH1cblxuICBET0NVTUVOVC5oZWFkLmluc2VydEJlZm9yZShzdHlsZSwgYmVmb3JlQ2hpbGQpO1xuICByZXR1cm4gY3NzO1xufVxudmFyIGlkUG9vbCA9ICcwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWic7XG5mdW5jdGlvbiBuZXh0VW5pcXVlSWQoKSB7XG4gIHZhciBzaXplID0gMTI7XG4gIHZhciBpZCA9ICcnO1xuXG4gIHdoaWxlIChzaXplLS0gPiAwKSB7XG4gICAgaWQgKz0gaWRQb29sW01hdGgucmFuZG9tKCkgKiA2MiB8IDBdO1xuICB9XG5cbiAgcmV0dXJuIGlkO1xufVxuZnVuY3Rpb24gdG9BcnJheShvYmopIHtcbiAgdmFyIGFycmF5ID0gW107XG5cbiAgZm9yICh2YXIgaSA9IChvYmogfHwgW10pLmxlbmd0aCA+Pj4gMDsgaS0tOykge1xuICAgIGFycmF5W2ldID0gb2JqW2ldO1xuICB9XG5cbiAgcmV0dXJuIGFycmF5O1xufVxuZnVuY3Rpb24gY2xhc3NBcnJheShub2RlKSB7XG4gIGlmIChub2RlLmNsYXNzTGlzdCkge1xuICAgIHJldHVybiB0b0FycmF5KG5vZGUuY2xhc3NMaXN0KTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gKG5vZGUuZ2V0QXR0cmlidXRlKCdjbGFzcycpIHx8ICcnKS5zcGxpdCgnICcpLmZpbHRlcihmdW5jdGlvbiAoaSkge1xuICAgICAgcmV0dXJuIGk7XG4gICAgfSk7XG4gIH1cbn1cbmZ1bmN0aW9uIGh0bWxFc2NhcGUoc3RyKSB7XG4gIHJldHVybiBcIlwiLmNvbmNhdChzdHIpLnJlcGxhY2UoLyYvZywgJyZhbXA7JykucmVwbGFjZSgvXCIvZywgJyZxdW90OycpLnJlcGxhY2UoLycvZywgJyYjMzk7JykucmVwbGFjZSgvPC9nLCAnJmx0OycpLnJlcGxhY2UoLz4vZywgJyZndDsnKTtcbn1cbmZ1bmN0aW9uIGpvaW5BdHRyaWJ1dGVzKGF0dHJpYnV0ZXMpIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKGF0dHJpYnV0ZXMgfHwge30pLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBhdHRyaWJ1dGVOYW1lKSB7XG4gICAgcmV0dXJuIGFjYyArIFwiXCIuY29uY2F0KGF0dHJpYnV0ZU5hbWUsIFwiPVxcXCJcIikuY29uY2F0KGh0bWxFc2NhcGUoYXR0cmlidXRlc1thdHRyaWJ1dGVOYW1lXSksIFwiXFxcIiBcIik7XG4gIH0sICcnKS50cmltKCk7XG59XG5mdW5jdGlvbiBqb2luU3R5bGVzKHN0eWxlcykge1xuICByZXR1cm4gT2JqZWN0LmtleXMoc3R5bGVzIHx8IHt9KS5yZWR1Y2UoZnVuY3Rpb24gKGFjYywgc3R5bGVOYW1lKSB7XG4gICAgcmV0dXJuIGFjYyArIFwiXCIuY29uY2F0KHN0eWxlTmFtZSwgXCI6IFwiKS5jb25jYXQoc3R5bGVzW3N0eWxlTmFtZV0udHJpbSgpLCBcIjtcIik7XG4gIH0sICcnKTtcbn1cbmZ1bmN0aW9uIHRyYW5zZm9ybUlzTWVhbmluZ2Z1bCh0cmFuc2Zvcm0pIHtcbiAgcmV0dXJuIHRyYW5zZm9ybS5zaXplICE9PSBtZWFuaW5nbGVzc1RyYW5zZm9ybS5zaXplIHx8IHRyYW5zZm9ybS54ICE9PSBtZWFuaW5nbGVzc1RyYW5zZm9ybS54IHx8IHRyYW5zZm9ybS55ICE9PSBtZWFuaW5nbGVzc1RyYW5zZm9ybS55IHx8IHRyYW5zZm9ybS5yb3RhdGUgIT09IG1lYW5pbmdsZXNzVHJhbnNmb3JtLnJvdGF0ZSB8fCB0cmFuc2Zvcm0uZmxpcFggfHwgdHJhbnNmb3JtLmZsaXBZO1xufVxuZnVuY3Rpb24gdHJhbnNmb3JtRm9yU3ZnKF9yZWYpIHtcbiAgdmFyIHRyYW5zZm9ybSA9IF9yZWYudHJhbnNmb3JtLFxuICAgICAgY29udGFpbmVyV2lkdGggPSBfcmVmLmNvbnRhaW5lcldpZHRoLFxuICAgICAgaWNvbldpZHRoID0gX3JlZi5pY29uV2lkdGg7XG4gIHZhciBvdXRlciA9IHtcbiAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKFwiLmNvbmNhdChjb250YWluZXJXaWR0aCAvIDIsIFwiIDI1NilcIilcbiAgfTtcbiAgdmFyIGlubmVyVHJhbnNsYXRlID0gXCJ0cmFuc2xhdGUoXCIuY29uY2F0KHRyYW5zZm9ybS54ICogMzIsIFwiLCBcIikuY29uY2F0KHRyYW5zZm9ybS55ICogMzIsIFwiKSBcIik7XG4gIHZhciBpbm5lclNjYWxlID0gXCJzY2FsZShcIi5jb25jYXQodHJhbnNmb3JtLnNpemUgLyAxNiAqICh0cmFuc2Zvcm0uZmxpcFggPyAtMSA6IDEpLCBcIiwgXCIpLmNvbmNhdCh0cmFuc2Zvcm0uc2l6ZSAvIDE2ICogKHRyYW5zZm9ybS5mbGlwWSA/IC0xIDogMSksIFwiKSBcIik7XG4gIHZhciBpbm5lclJvdGF0ZSA9IFwicm90YXRlKFwiLmNvbmNhdCh0cmFuc2Zvcm0ucm90YXRlLCBcIiAwIDApXCIpO1xuICB2YXIgaW5uZXIgPSB7XG4gICAgdHJhbnNmb3JtOiBcIlwiLmNvbmNhdChpbm5lclRyYW5zbGF0ZSwgXCIgXCIpLmNvbmNhdChpbm5lclNjYWxlLCBcIiBcIikuY29uY2F0KGlubmVyUm90YXRlKVxuICB9O1xuICB2YXIgcGF0aCA9IHtcbiAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKFwiLmNvbmNhdChpY29uV2lkdGggLyAyICogLTEsIFwiIC0yNTYpXCIpXG4gIH07XG4gIHJldHVybiB7XG4gICAgb3V0ZXI6IG91dGVyLFxuICAgIGlubmVyOiBpbm5lcixcbiAgICBwYXRoOiBwYXRoXG4gIH07XG59XG5mdW5jdGlvbiB0cmFuc2Zvcm1Gb3JDc3MoX3JlZjIpIHtcbiAgdmFyIHRyYW5zZm9ybSA9IF9yZWYyLnRyYW5zZm9ybSxcbiAgICAgIF9yZWYyJHdpZHRoID0gX3JlZjIud2lkdGgsXG4gICAgICB3aWR0aCA9IF9yZWYyJHdpZHRoID09PSB2b2lkIDAgPyBVTklUU19JTl9HUklEIDogX3JlZjIkd2lkdGgsXG4gICAgICBfcmVmMiRoZWlnaHQgPSBfcmVmMi5oZWlnaHQsXG4gICAgICBoZWlnaHQgPSBfcmVmMiRoZWlnaHQgPT09IHZvaWQgMCA/IFVOSVRTX0lOX0dSSUQgOiBfcmVmMiRoZWlnaHQsXG4gICAgICBfcmVmMiRzdGFydENlbnRlcmVkID0gX3JlZjIuc3RhcnRDZW50ZXJlZCxcbiAgICAgIHN0YXJ0Q2VudGVyZWQgPSBfcmVmMiRzdGFydENlbnRlcmVkID09PSB2b2lkIDAgPyBmYWxzZSA6IF9yZWYyJHN0YXJ0Q2VudGVyZWQ7XG4gIHZhciB2YWwgPSAnJztcblxuICBpZiAoc3RhcnRDZW50ZXJlZCAmJiBJU19JRSkge1xuICAgIHZhbCArPSBcInRyYW5zbGF0ZShcIi5jb25jYXQodHJhbnNmb3JtLnggLyBkIC0gd2lkdGggLyAyLCBcImVtLCBcIikuY29uY2F0KHRyYW5zZm9ybS55IC8gZCAtIGhlaWdodCAvIDIsIFwiZW0pIFwiKTtcbiAgfSBlbHNlIGlmIChzdGFydENlbnRlcmVkKSB7XG4gICAgdmFsICs9IFwidHJhbnNsYXRlKGNhbGMoLTUwJSArIFwiLmNvbmNhdCh0cmFuc2Zvcm0ueCAvIGQsIFwiZW0pLCBjYWxjKC01MCUgKyBcIikuY29uY2F0KHRyYW5zZm9ybS55IC8gZCwgXCJlbSkpIFwiKTtcbiAgfSBlbHNlIHtcbiAgICB2YWwgKz0gXCJ0cmFuc2xhdGUoXCIuY29uY2F0KHRyYW5zZm9ybS54IC8gZCwgXCJlbSwgXCIpLmNvbmNhdCh0cmFuc2Zvcm0ueSAvIGQsIFwiZW0pIFwiKTtcbiAgfVxuXG4gIHZhbCArPSBcInNjYWxlKFwiLmNvbmNhdCh0cmFuc2Zvcm0uc2l6ZSAvIGQgKiAodHJhbnNmb3JtLmZsaXBYID8gLTEgOiAxKSwgXCIsIFwiKS5jb25jYXQodHJhbnNmb3JtLnNpemUgLyBkICogKHRyYW5zZm9ybS5mbGlwWSA/IC0xIDogMSksIFwiKSBcIik7XG4gIHZhbCArPSBcInJvdGF0ZShcIi5jb25jYXQodHJhbnNmb3JtLnJvdGF0ZSwgXCJkZWcpIFwiKTtcbiAgcmV0dXJuIHZhbDtcbn1cblxudmFyIGJhc2VTdHlsZXMgPSBcIjpyb290LCA6aG9zdCB7XFxuICAtLWZhLWZvbnQtc29saWQ6IG5vcm1hbCA5MDAgMWVtLzEgXFxcIkZvbnQgQXdlc29tZSA2IFNvbGlkXFxcIjtcXG4gIC0tZmEtZm9udC1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xIFxcXCJGb250IEF3ZXNvbWUgNiBSZWd1bGFyXFxcIjtcXG4gIC0tZmEtZm9udC1saWdodDogbm9ybWFsIDMwMCAxZW0vMSBcXFwiRm9udCBBd2Vzb21lIDYgTGlnaHRcXFwiO1xcbiAgLS1mYS1mb250LXRoaW46IG5vcm1hbCAxMDAgMWVtLzEgXFxcIkZvbnQgQXdlc29tZSA2IFRoaW5cXFwiO1xcbiAgLS1mYS1mb250LWR1b3RvbmU6IG5vcm1hbCA5MDAgMWVtLzEgXFxcIkZvbnQgQXdlc29tZSA2IER1b3RvbmVcXFwiO1xcbiAgLS1mYS1mb250LXNoYXJwLXNvbGlkOiBub3JtYWwgOTAwIDFlbS8xIFxcXCJGb250IEF3ZXNvbWUgNiBTaGFycFxcXCI7XFxuICAtLWZhLWZvbnQtc2hhcnAtcmVndWxhcjogbm9ybWFsIDQwMCAxZW0vMSBcXFwiRm9udCBBd2Vzb21lIDYgU2hhcnBcXFwiO1xcbiAgLS1mYS1mb250LXNoYXJwLWxpZ2h0OiBub3JtYWwgMzAwIDFlbS8xIFxcXCJGb250IEF3ZXNvbWUgNiBTaGFycFxcXCI7XFxuICAtLWZhLWZvbnQtc2hhcnAtdGhpbjogbm9ybWFsIDEwMCAxZW0vMSBcXFwiRm9udCBBd2Vzb21lIDYgU2hhcnBcXFwiO1xcbiAgLS1mYS1mb250LWJyYW5kczogbm9ybWFsIDQwMCAxZW0vMSBcXFwiRm9udCBBd2Vzb21lIDYgQnJhbmRzXFxcIjtcXG59XFxuXFxuc3ZnOm5vdCg6cm9vdCkuc3ZnLWlubGluZS0tZmEsIHN2Zzpub3QoOmhvc3QpLnN2Zy1pbmxpbmUtLWZhIHtcXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XFxufVxcblxcbi5zdmctaW5saW5lLS1mYSB7XFxuICBkaXNwbGF5OiB2YXIoLS1mYS1kaXNwbGF5LCBpbmxpbmUtYmxvY2spO1xcbiAgaGVpZ2h0OiAxZW07XFxuICBvdmVyZmxvdzogdmlzaWJsZTtcXG4gIHZlcnRpY2FsLWFsaWduOiAtMC4xMjVlbTtcXG59XFxuLnN2Zy1pbmxpbmUtLWZhLmZhLTJ4cyB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogMC4xZW07XFxufVxcbi5zdmctaW5saW5lLS1mYS5mYS14cyB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogMGVtO1xcbn1cXG4uc3ZnLWlubGluZS0tZmEuZmEtc20ge1xcbiAgdmVydGljYWwtYWxpZ246IC0wLjA3MTQyODU3MDVlbTtcXG59XFxuLnN2Zy1pbmxpbmUtLWZhLmZhLWxnIHtcXG4gIHZlcnRpY2FsLWFsaWduOiAtMC4yZW07XFxufVxcbi5zdmctaW5saW5lLS1mYS5mYS14bCB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogLTAuMjVlbTtcXG59XFxuLnN2Zy1pbmxpbmUtLWZhLmZhLTJ4bCB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogLTAuMzEyNWVtO1xcbn1cXG4uc3ZnLWlubGluZS0tZmEuZmEtcHVsbC1sZWZ0IHtcXG4gIG1hcmdpbi1yaWdodDogdmFyKC0tZmEtcHVsbC1tYXJnaW4sIDAuM2VtKTtcXG4gIHdpZHRoOiBhdXRvO1xcbn1cXG4uc3ZnLWlubGluZS0tZmEuZmEtcHVsbC1yaWdodCB7XFxuICBtYXJnaW4tbGVmdDogdmFyKC0tZmEtcHVsbC1tYXJnaW4sIDAuM2VtKTtcXG4gIHdpZHRoOiBhdXRvO1xcbn1cXG4uc3ZnLWlubGluZS0tZmEuZmEtbGkge1xcbiAgd2lkdGg6IHZhcigtLWZhLWxpLXdpZHRoLCAyZW0pO1xcbiAgdG9wOiAwLjI1ZW07XFxufVxcbi5zdmctaW5saW5lLS1mYS5mYS1mdyB7XFxuICB3aWR0aDogdmFyKC0tZmEtZnctd2lkdGgsIDEuMjVlbSk7XFxufVxcblxcbi5mYS1sYXllcnMgc3ZnLnN2Zy1pbmxpbmUtLWZhIHtcXG4gIGJvdHRvbTogMDtcXG4gIGxlZnQ6IDA7XFxuICBtYXJnaW46IGF1dG87XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICByaWdodDogMDtcXG4gIHRvcDogMDtcXG59XFxuXFxuLmZhLWxheWVycy1jb3VudGVyLCAuZmEtbGF5ZXJzLXRleHQge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbn1cXG5cXG4uZmEtbGF5ZXJzIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIGhlaWdodDogMWVtO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgdmVydGljYWwtYWxpZ246IC0wLjEyNWVtO1xcbiAgd2lkdGg6IDFlbTtcXG59XFxuLmZhLWxheWVycyBzdmcuc3ZnLWlubGluZS0tZmEge1xcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xcbn1cXG5cXG4uZmEtbGF5ZXJzLXRleHQge1xcbiAgbGVmdDogNTAlO1xcbiAgdG9wOiA1MCU7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcXG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcXG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcXG59XFxuXFxuLmZhLWxheWVycy1jb3VudGVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWZhLWNvdW50ZXItYmFja2dyb3VuZC1jb2xvciwgI2ZmMjUzYSk7XFxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1mYS1jb3VudGVyLWJvcmRlci1yYWRpdXMsIDFlbSk7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgY29sb3I6IHZhcigtLWZhLWludmVyc2UsICNmZmYpO1xcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWZhLWNvdW50ZXItbGluZS1oZWlnaHQsIDEpO1xcbiAgbWF4LXdpZHRoOiB2YXIoLS1mYS1jb3VudGVyLW1heC13aWR0aCwgNWVtKTtcXG4gIG1pbi13aWR0aDogdmFyKC0tZmEtY291bnRlci1taW4td2lkdGgsIDEuNWVtKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBwYWRkaW5nOiB2YXIoLS1mYS1jb3VudGVyLXBhZGRpbmcsIDAuMjVlbSAwLjVlbSk7XFxuICByaWdodDogdmFyKC0tZmEtcmlnaHQsIDApO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICB0b3A6IHZhcigtLWZhLXRvcCwgMCk7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtY291bnRlci1zY2FsZSwgMC4yNSkpO1xcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWNvdW50ZXItc2NhbGUsIDAuMjUpKTtcXG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgcmlnaHQ7XFxufVxcblxcbi5mYS1sYXllcnMtYm90dG9tLXJpZ2h0IHtcXG4gIGJvdHRvbTogdmFyKC0tZmEtYm90dG9tLCAwKTtcXG4gIHJpZ2h0OiB2YXIoLS1mYS1yaWdodCwgMCk7XFxuICB0b3A6IGF1dG87XFxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtbGF5ZXJzLXNjYWxlLCAwLjI1KSk7XFxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtbGF5ZXJzLXNjYWxlLCAwLjI1KSk7XFxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcXG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xcbn1cXG5cXG4uZmEtbGF5ZXJzLWJvdHRvbS1sZWZ0IHtcXG4gIGJvdHRvbTogdmFyKC0tZmEtYm90dG9tLCAwKTtcXG4gIGxlZnQ6IHZhcigtLWZhLWxlZnQsIDApO1xcbiAgcmlnaHQ6IGF1dG87XFxuICB0b3A6IGF1dG87XFxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtbGF5ZXJzLXNjYWxlLCAwLjI1KSk7XFxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtbGF5ZXJzLXNjYWxlLCAwLjI1KSk7XFxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcXG59XFxuXFxuLmZhLWxheWVycy10b3AtcmlnaHQge1xcbiAgdG9wOiB2YXIoLS1mYS10b3AsIDApO1xcbiAgcmlnaHQ6IHZhcigtLWZhLXJpZ2h0LCAwKTtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1sYXllcnMtc2NhbGUsIDAuMjUpKTtcXG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1sYXllcnMtc2NhbGUsIDAuMjUpKTtcXG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgcmlnaHQ7XFxufVxcblxcbi5mYS1sYXllcnMtdG9wLWxlZnQge1xcbiAgbGVmdDogdmFyKC0tZmEtbGVmdCwgMCk7XFxuICByaWdodDogYXV0bztcXG4gIHRvcDogdmFyKC0tZmEtdG9wLCAwKTtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1sYXllcnMtc2NhbGUsIDAuMjUpKTtcXG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1sYXllcnMtc2NhbGUsIDAuMjUpKTtcXG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XFxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xcbn1cXG5cXG4uZmEtMXgge1xcbiAgZm9udC1zaXplOiAxZW07XFxufVxcblxcbi5mYS0yeCB7XFxuICBmb250LXNpemU6IDJlbTtcXG59XFxuXFxuLmZhLTN4IHtcXG4gIGZvbnQtc2l6ZTogM2VtO1xcbn1cXG5cXG4uZmEtNHgge1xcbiAgZm9udC1zaXplOiA0ZW07XFxufVxcblxcbi5mYS01eCB7XFxuICBmb250LXNpemU6IDVlbTtcXG59XFxuXFxuLmZhLTZ4IHtcXG4gIGZvbnQtc2l6ZTogNmVtO1xcbn1cXG5cXG4uZmEtN3gge1xcbiAgZm9udC1zaXplOiA3ZW07XFxufVxcblxcbi5mYS04eCB7XFxuICBmb250LXNpemU6IDhlbTtcXG59XFxuXFxuLmZhLTl4IHtcXG4gIGZvbnQtc2l6ZTogOWVtO1xcbn1cXG5cXG4uZmEtMTB4IHtcXG4gIGZvbnQtc2l6ZTogMTBlbTtcXG59XFxuXFxuLmZhLTJ4cyB7XFxuICBmb250LXNpemU6IDAuNjI1ZW07XFxuICBsaW5lLWhlaWdodDogMC4xZW07XFxuICB2ZXJ0aWNhbC1hbGlnbjogMC4yMjVlbTtcXG59XFxuXFxuLmZhLXhzIHtcXG4gIGZvbnQtc2l6ZTogMC43NWVtO1xcbiAgbGluZS1oZWlnaHQ6IDAuMDgzMzMzMzMzN2VtO1xcbiAgdmVydGljYWwtYWxpZ246IDAuMTI1ZW07XFxufVxcblxcbi5mYS1zbSB7XFxuICBmb250LXNpemU6IDAuODc1ZW07XFxuICBsaW5lLWhlaWdodDogMC4wNzE0Mjg1NzE4ZW07XFxuICB2ZXJ0aWNhbC1hbGlnbjogMC4wNTM1NzE0Mjk1ZW07XFxufVxcblxcbi5mYS1sZyB7XFxuICBmb250LXNpemU6IDEuMjVlbTtcXG4gIGxpbmUtaGVpZ2h0OiAwLjA1ZW07XFxuICB2ZXJ0aWNhbC1hbGlnbjogLTAuMDc1ZW07XFxufVxcblxcbi5mYS14bCB7XFxuICBmb250LXNpemU6IDEuNWVtO1xcbiAgbGluZS1oZWlnaHQ6IDAuMDQxNjY2NjY4MmVtO1xcbiAgdmVydGljYWwtYWxpZ246IC0wLjEyNWVtO1xcbn1cXG5cXG4uZmEtMnhsIHtcXG4gIGZvbnQtc2l6ZTogMmVtO1xcbiAgbGluZS1oZWlnaHQ6IDAuMDMxMjVlbTtcXG4gIHZlcnRpY2FsLWFsaWduOiAtMC4xODc1ZW07XFxufVxcblxcbi5mYS1mdyB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICB3aWR0aDogMS4yNWVtO1xcbn1cXG5cXG4uZmEtdWwge1xcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWZhLWxpLW1hcmdpbiwgMi41ZW0pO1xcbiAgcGFkZGluZy1sZWZ0OiAwO1xcbn1cXG4uZmEtdWwgPiBsaSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcblxcbi5mYS1saSB7XFxuICBsZWZ0OiBjYWxjKHZhcigtLWZhLWxpLXdpZHRoLCAyZW0pICogLTEpO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgd2lkdGg6IHZhcigtLWZhLWxpLXdpZHRoLCAyZW0pO1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XFxufVxcblxcbi5mYS1ib3JkZXIge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1mYS1ib3JkZXItY29sb3IsICNlZWUpO1xcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tZmEtYm9yZGVyLXJhZGl1cywgMC4xZW0pO1xcbiAgYm9yZGVyLXN0eWxlOiB2YXIoLS1mYS1ib3JkZXItc3R5bGUsIHNvbGlkKTtcXG4gIGJvcmRlci13aWR0aDogdmFyKC0tZmEtYm9yZGVyLXdpZHRoLCAwLjA4ZW0pO1xcbiAgcGFkZGluZzogdmFyKC0tZmEtYm9yZGVyLXBhZGRpbmcsIDAuMmVtIDAuMjVlbSAwLjE1ZW0pO1xcbn1cXG5cXG4uZmEtcHVsbC1sZWZ0IHtcXG4gIGZsb2F0OiBsZWZ0O1xcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1mYS1wdWxsLW1hcmdpbiwgMC4zZW0pO1xcbn1cXG5cXG4uZmEtcHVsbC1yaWdodCB7XFxuICBmbG9hdDogcmlnaHQ7XFxuICBtYXJnaW4tbGVmdDogdmFyKC0tZmEtcHVsbC1tYXJnaW4sIDAuM2VtKTtcXG59XFxuXFxuLmZhLWJlYXQge1xcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmEtYmVhdDtcXG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhLWJlYXQ7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7XFxuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7XFxuICAgICAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAxcyk7XFxuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAxcyk7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTtcXG4gICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBlYXNlLWluLW91dCk7XFxuICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsIGVhc2UtaW4tb3V0KTtcXG59XFxuXFxuLmZhLWJvdW5jZSB7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYS1ib3VuY2U7XFxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYS1ib3VuY2U7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7XFxuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7XFxuICAgICAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAxcyk7XFxuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAxcyk7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTtcXG4gICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBjdWJpYy1iZXppZXIoMC4yOCwgMC44NCwgMC40MiwgMSkpO1xcbiAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBjdWJpYy1iZXppZXIoMC4yOCwgMC44NCwgMC40MiwgMSkpO1xcbn1cXG5cXG4uZmEtZmFkZSB7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYS1mYWRlO1xcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmEtZmFkZTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTtcXG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTtcXG4gICAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDFzKTtcXG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDFzKTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpO1xcbiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7XFxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkpO1xcbiAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpKTtcXG59XFxuXFxuLmZhLWJlYXQtZmFkZSB7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYS1iZWF0LWZhZGU7XFxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYS1iZWF0LWZhZGU7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7XFxuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7XFxuICAgICAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAxcyk7XFxuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAxcyk7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTtcXG4gICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpKTtcXG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSk7XFxufVxcblxcbi5mYS1mbGlwIHtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhLWZsaXA7XFxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYS1mbGlwO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpO1xcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpO1xcbiAgICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpO1xcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7XFxuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgZWFzZS1pbi1vdXQpO1xcbiAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBlYXNlLWluLW91dCk7XFxufVxcblxcbi5mYS1zaGFrZSB7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYS1zaGFrZTtcXG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhLXNoYWtlO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpO1xcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpO1xcbiAgICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpO1xcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7XFxuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgbGluZWFyKTtcXG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgbGluZWFyKTtcXG59XFxuXFxuLmZhLXNwaW4ge1xcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmEtc3BpbjtcXG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhLXNwaW47XFxuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7XFxuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7XFxuICAgICAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAycyk7XFxuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAycyk7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTtcXG4gICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBsaW5lYXIpO1xcbiAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBsaW5lYXIpO1xcbn1cXG5cXG4uZmEtc3Bpbi1yZXZlcnNlIHtcXG4gIC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcXG59XFxuXFxuLmZhLXB1bHNlLFxcbi5mYS1zcGluLXB1bHNlIHtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhLXNwaW47XFxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYS1zcGluO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpO1xcbiAgICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpO1xcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7XFxuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgc3RlcHMoOCkpO1xcbiAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBzdGVwcyg4KSk7XFxufVxcblxcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XFxuICAuZmEtYmVhdCxcXG4uZmEtYm91bmNlLFxcbi5mYS1mYWRlLFxcbi5mYS1iZWF0LWZhZGUsXFxuLmZhLWZsaXAsXFxuLmZhLXB1bHNlLFxcbi5mYS1zaGFrZSxcXG4uZmEtc3BpbixcXG4uZmEtc3Bpbi1wdWxzZSB7XFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMW1zO1xcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLTFtcztcXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFtcztcXG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDFtcztcXG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xcbiAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMHM7XFxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMHM7XFxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHM7XFxuICB9XFxufVxcbkAtd2Via2l0LWtleWZyYW1lcyBmYS1iZWF0IHtcXG4gIDAlLCA5MCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcXG4gIH1cXG4gIDQ1JSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1iZWF0LXNjYWxlLCAxLjI1KSk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1iZWF0LXNjYWxlLCAxLjI1KSk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgZmEtYmVhdCB7XFxuICAwJSwgOTAlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XFxuICB9XFxuICA0NSUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYmVhdC1zY2FsZSwgMS4yNSkpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYmVhdC1zY2FsZSwgMS4yNSkpO1xcbiAgfVxcbn1cXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmEtYm91bmNlIHtcXG4gIDAlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkoMCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApO1xcbiAgfVxcbiAgMTAlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJvdW5jZS1zdGFydC1zY2FsZS14LCAxLjEpLCB2YXIoLS1mYS1ib3VuY2Utc3RhcnQtc2NhbGUteSwgMC45KSkgdHJhbnNsYXRlWSgwKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJvdW5jZS1zdGFydC1zY2FsZS14LCAxLjEpLCB2YXIoLS1mYS1ib3VuY2Utc3RhcnQtc2NhbGUteSwgMC45KSkgdHJhbnNsYXRlWSgwKTtcXG4gIH1cXG4gIDMwJSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1ib3VuY2UtanVtcC1zY2FsZS14LCAwLjkpLCB2YXIoLS1mYS1ib3VuY2UtanVtcC1zY2FsZS15LCAxLjEpKSB0cmFuc2xhdGVZKHZhcigtLWZhLWJvdW5jZS1oZWlnaHQsIC0wLjVlbSkpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYm91bmNlLWp1bXAtc2NhbGUteCwgMC45KSwgdmFyKC0tZmEtYm91bmNlLWp1bXAtc2NhbGUteSwgMS4xKSkgdHJhbnNsYXRlWSh2YXIoLS1mYS1ib3VuY2UtaGVpZ2h0LCAtMC41ZW0pKTtcXG4gIH1cXG4gIDUwJSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1ib3VuY2UtbGFuZC1zY2FsZS14LCAxLjA1KSwgdmFyKC0tZmEtYm91bmNlLWxhbmQtc2NhbGUteSwgMC45NSkpIHRyYW5zbGF0ZVkoMCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1ib3VuY2UtbGFuZC1zY2FsZS14LCAxLjA1KSwgdmFyKC0tZmEtYm91bmNlLWxhbmQtc2NhbGUteSwgMC45NSkpIHRyYW5zbGF0ZVkoMCk7XFxuICB9XFxuICA1NyUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSh2YXIoLS1mYS1ib3VuY2UtcmVib3VuZCwgLTAuMTI1ZW0pKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkodmFyKC0tZmEtYm91bmNlLXJlYm91bmQsIC0wLjEyNWVtKSk7XFxuICB9XFxuICA2NCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSgwKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkoMCk7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkoMCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGZhLWJvdW5jZSB7XFxuICAwJSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSgwKTtcXG4gIH1cXG4gIDEwJSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1ib3VuY2Utc3RhcnQtc2NhbGUteCwgMS4xKSwgdmFyKC0tZmEtYm91bmNlLXN0YXJ0LXNjYWxlLXksIDAuOSkpIHRyYW5zbGF0ZVkoMCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1ib3VuY2Utc3RhcnQtc2NhbGUteCwgMS4xKSwgdmFyKC0tZmEtYm91bmNlLXN0YXJ0LXNjYWxlLXksIDAuOSkpIHRyYW5zbGF0ZVkoMCk7XFxuICB9XFxuICAzMCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYm91bmNlLWp1bXAtc2NhbGUteCwgMC45KSwgdmFyKC0tZmEtYm91bmNlLWp1bXAtc2NhbGUteSwgMS4xKSkgdHJhbnNsYXRlWSh2YXIoLS1mYS1ib3VuY2UtaGVpZ2h0LCAtMC41ZW0pKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJvdW5jZS1qdW1wLXNjYWxlLXgsIDAuOSksIHZhcigtLWZhLWJvdW5jZS1qdW1wLXNjYWxlLXksIDEuMSkpIHRyYW5zbGF0ZVkodmFyKC0tZmEtYm91bmNlLWhlaWdodCwgLTAuNWVtKSk7XFxuICB9XFxuICA1MCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYm91bmNlLWxhbmQtc2NhbGUteCwgMS4wNSksIHZhcigtLWZhLWJvdW5jZS1sYW5kLXNjYWxlLXksIDAuOTUpKSB0cmFuc2xhdGVZKDApO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYm91bmNlLWxhbmQtc2NhbGUteCwgMS4wNSksIHZhcigtLWZhLWJvdW5jZS1sYW5kLXNjYWxlLXksIDAuOTUpKSB0cmFuc2xhdGVZKDApO1xcbiAgfVxcbiAgNTclIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkodmFyKC0tZmEtYm91bmNlLXJlYm91bmQsIC0wLjEyNWVtKSk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKHZhcigtLWZhLWJvdW5jZS1yZWJvdW5kLCAtMC4xMjVlbSkpO1xcbiAgfVxcbiAgNjQlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkoMCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApO1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSgwKTtcXG4gIH1cXG59XFxuQC13ZWJraXQta2V5ZnJhbWVzIGZhLWZhZGUge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogdmFyKC0tZmEtZmFkZS1vcGFjaXR5LCAwLjQpO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGZhLWZhZGUge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogdmFyKC0tZmEtZmFkZS1vcGFjaXR5LCAwLjQpO1xcbiAgfVxcbn1cXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmEtYmVhdC1mYWRlIHtcXG4gIDAlLCAxMDAlIHtcXG4gICAgb3BhY2l0eTogdmFyKC0tZmEtYmVhdC1mYWRlLW9wYWNpdHksIDAuNCk7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xcbiAgfVxcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMTtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJlYXQtZmFkZS1zY2FsZSwgMS4xMjUpKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJlYXQtZmFkZS1zY2FsZSwgMS4xMjUpKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBmYS1iZWF0LWZhZGUge1xcbiAgMCUsIDEwMCUge1xcbiAgICBvcGFjaXR5OiB2YXIoLS1mYS1iZWF0LWZhZGUtb3BhY2l0eSwgMC40KTtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XFxuICB9XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYmVhdC1mYWRlLXNjYWxlLCAxLjEyNSkpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYmVhdC1mYWRlLXNjYWxlLCAxLjEyNSkpO1xcbiAgfVxcbn1cXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmEtZmxpcCB7XFxuICA1MCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QodmFyKC0tZmEtZmxpcC14LCAwKSwgdmFyKC0tZmEtZmxpcC15LCAxKSwgdmFyKC0tZmEtZmxpcC16LCAwKSwgdmFyKC0tZmEtZmxpcC1hbmdsZSwgLTE4MGRlZykpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QodmFyKC0tZmEtZmxpcC14LCAwKSwgdmFyKC0tZmEtZmxpcC15LCAxKSwgdmFyKC0tZmEtZmxpcC16LCAwKSwgdmFyKC0tZmEtZmxpcC1hbmdsZSwgLTE4MGRlZykpO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGZhLWZsaXAge1xcbiAgNTAlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKHZhcigtLWZhLWZsaXAteCwgMCksIHZhcigtLWZhLWZsaXAteSwgMSksIHZhcigtLWZhLWZsaXAteiwgMCksIHZhcigtLWZhLWZsaXAtYW5nbGUsIC0xODBkZWcpKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKHZhcigtLWZhLWZsaXAteCwgMCksIHZhcigtLWZhLWZsaXAteSwgMSksIHZhcigtLWZhLWZsaXAteiwgMCksIHZhcigtLWZhLWZsaXAtYW5nbGUsIC0xODBkZWcpKTtcXG4gIH1cXG59XFxuQC13ZWJraXQta2V5ZnJhbWVzIGZhLXNoYWtlIHtcXG4gIDAlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTVkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xNWRlZyk7XFxuICB9XFxuICA0JSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTtcXG4gIH1cXG4gIDglLCAyNCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xOGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4ZGVnKTtcXG4gIH1cXG4gIDEyJSwgMjglIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxOGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMThkZWcpO1xcbiAgfVxcbiAgMTYlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMjJkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMmRlZyk7XFxuICB9XFxuICAyMCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDIyZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMmRlZyk7XFxuICB9XFxuICAzMiUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMmRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEyZGVnKTtcXG4gIH1cXG4gIDM2JSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTJkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEyZGVnKTtcXG4gIH1cXG4gIDQwJSwgMTAwJSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgZmEtc2hha2Uge1xcbiAgMCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xNWRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE1ZGVnKTtcXG4gIH1cXG4gIDQlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpO1xcbiAgfVxcbiAgOCUsIDI0JSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTE4ZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMThkZWcpO1xcbiAgfVxcbiAgMTIlLCAyOCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4ZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxOGRlZyk7XFxuICB9XFxuICAxNiUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0yMmRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTIyZGVnKTtcXG4gIH1cXG4gIDIwJSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjJkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDIyZGVnKTtcXG4gIH1cXG4gIDMyJSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEyZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTJkZWcpO1xcbiAgfVxcbiAgMzYlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMmRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTJkZWcpO1xcbiAgfVxcbiAgNDAlLCAxMDAlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gIH1cXG59XFxuQC13ZWJraXQta2V5ZnJhbWVzIGZhLXNwaW4ge1xcbiAgMCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGZhLXNwaW4ge1xcbiAgMCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgfVxcbn1cXG4uZmEtcm90YXRlLTkwIHtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XFxufVxcblxcbi5mYS1yb3RhdGUtMTgwIHtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcXG59XFxuXFxuLmZhLXJvdGF0ZS0yNzAge1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xcbn1cXG5cXG4uZmEtZmxpcC1ob3Jpem9udGFsIHtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XFxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xcbn1cXG5cXG4uZmEtZmxpcC12ZXJ0aWNhbCB7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcXG59XFxuXFxuLmZhLWZsaXAtYm90aCxcXG4uZmEtZmxpcC1ob3Jpem9udGFsLmZhLWZsaXAtdmVydGljYWwge1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC0xLCAtMSk7XFxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIC0xKTtcXG59XFxuXFxuLmZhLXJvdGF0ZS1ieSB7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKHZhcigtLWZhLXJvdGF0ZS1hbmdsZSwgMCkpO1xcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSh2YXIoLS1mYS1yb3RhdGUtYW5nbGUsIDApKTtcXG59XFxuXFxuLmZhLXN0YWNrIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxuICBoZWlnaHQ6IDJlbTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHdpZHRoOiAyLjVlbTtcXG59XFxuXFxuLmZhLXN0YWNrLTF4LFxcbi5mYS1zdGFjay0yeCB7XFxuICBib3R0b206IDA7XFxuICBsZWZ0OiAwO1xcbiAgbWFyZ2luOiBhdXRvO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgcmlnaHQ6IDA7XFxuICB0b3A6IDA7XFxuICB6LWluZGV4OiB2YXIoLS1mYS1zdGFjay16LWluZGV4LCBhdXRvKTtcXG59XFxuXFxuLnN2Zy1pbmxpbmUtLWZhLmZhLXN0YWNrLTF4IHtcXG4gIGhlaWdodDogMWVtO1xcbiAgd2lkdGg6IDEuMjVlbTtcXG59XFxuLnN2Zy1pbmxpbmUtLWZhLmZhLXN0YWNrLTJ4IHtcXG4gIGhlaWdodDogMmVtO1xcbiAgd2lkdGg6IDIuNWVtO1xcbn1cXG5cXG4uZmEtaW52ZXJzZSB7XFxuICBjb2xvcjogdmFyKC0tZmEtaW52ZXJzZSwgI2ZmZik7XFxufVxcblxcbi5zci1vbmx5LFxcbi5mYS1zci1vbmx5IHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHdpZHRoOiAxcHg7XFxuICBoZWlnaHQ6IDFweDtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IC0xcHg7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBib3JkZXItd2lkdGg6IDA7XFxufVxcblxcbi5zci1vbmx5LWZvY3VzYWJsZTpub3QoOmZvY3VzKSxcXG4uZmEtc3Itb25seS1mb2N1c2FibGU6bm90KDpmb2N1cykge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgd2lkdGg6IDFweDtcXG4gIGhlaWdodDogMXB4O1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogLTFweDtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIGJvcmRlci13aWR0aDogMDtcXG59XFxuXFxuLnN2Zy1pbmxpbmUtLWZhIC5mYS1wcmltYXJ5IHtcXG4gIGZpbGw6IHZhcigtLWZhLXByaW1hcnktY29sb3IsIGN1cnJlbnRDb2xvcik7XFxuICBvcGFjaXR5OiB2YXIoLS1mYS1wcmltYXJ5LW9wYWNpdHksIDEpO1xcbn1cXG5cXG4uc3ZnLWlubGluZS0tZmEgLmZhLXNlY29uZGFyeSB7XFxuICBmaWxsOiB2YXIoLS1mYS1zZWNvbmRhcnktY29sb3IsIGN1cnJlbnRDb2xvcik7XFxuICBvcGFjaXR5OiB2YXIoLS1mYS1zZWNvbmRhcnktb3BhY2l0eSwgMC40KTtcXG59XFxuXFxuLnN2Zy1pbmxpbmUtLWZhLmZhLXN3YXAtb3BhY2l0eSAuZmEtcHJpbWFyeSB7XFxuICBvcGFjaXR5OiB2YXIoLS1mYS1zZWNvbmRhcnktb3BhY2l0eSwgMC40KTtcXG59XFxuXFxuLnN2Zy1pbmxpbmUtLWZhLmZhLXN3YXAtb3BhY2l0eSAuZmEtc2Vjb25kYXJ5IHtcXG4gIG9wYWNpdHk6IHZhcigtLWZhLXByaW1hcnktb3BhY2l0eSwgMSk7XFxufVxcblxcbi5zdmctaW5saW5lLS1mYSBtYXNrIC5mYS1wcmltYXJ5LFxcbi5zdmctaW5saW5lLS1mYSBtYXNrIC5mYS1zZWNvbmRhcnkge1xcbiAgZmlsbDogYmxhY2s7XFxufVxcblxcbi5mYWQuZmEtaW52ZXJzZSxcXG4uZmEtZHVvdG9uZS5mYS1pbnZlcnNlIHtcXG4gIGNvbG9yOiB2YXIoLS1mYS1pbnZlcnNlLCAjZmZmKTtcXG59XCI7XG5cbmZ1bmN0aW9uIGNzcygpIHtcbiAgdmFyIGRjcCA9IERFRkFVTFRfQ1NTX1BSRUZJWDtcbiAgdmFyIGRyYyA9IERFRkFVTFRfUkVQTEFDRU1FTlRfQ0xBU1M7XG4gIHZhciBmcCA9IGNvbmZpZy5jc3NQcmVmaXg7XG4gIHZhciByYyA9IGNvbmZpZy5yZXBsYWNlbWVudENsYXNzO1xuICB2YXIgcyA9IGJhc2VTdHlsZXM7XG5cbiAgaWYgKGZwICE9PSBkY3AgfHwgcmMgIT09IGRyYykge1xuICAgIHZhciBkUGF0dCA9IG5ldyBSZWdFeHAoXCJcXFxcLlwiLmNvbmNhdChkY3AsIFwiXFxcXC1cIiksICdnJyk7XG4gICAgdmFyIGN1c3RvbVByb3BQYXR0ID0gbmV3IFJlZ0V4cChcIlxcXFwtLVwiLmNvbmNhdChkY3AsIFwiXFxcXC1cIiksICdnJyk7XG4gICAgdmFyIHJQYXR0ID0gbmV3IFJlZ0V4cChcIlxcXFwuXCIuY29uY2F0KGRyYyksICdnJyk7XG4gICAgcyA9IHMucmVwbGFjZShkUGF0dCwgXCIuXCIuY29uY2F0KGZwLCBcIi1cIikpLnJlcGxhY2UoY3VzdG9tUHJvcFBhdHQsIFwiLS1cIi5jb25jYXQoZnAsIFwiLVwiKSkucmVwbGFjZShyUGF0dCwgXCIuXCIuY29uY2F0KHJjKSk7XG4gIH1cblxuICByZXR1cm4gcztcbn1cblxudmFyIF9jc3NJbnNlcnRlZCA9IGZhbHNlO1xuXG5mdW5jdGlvbiBlbnN1cmVDc3MoKSB7XG4gIGlmIChjb25maWcuYXV0b0FkZENzcyAmJiAhX2Nzc0luc2VydGVkKSB7XG4gICAgaW5zZXJ0Q3NzKGNzcygpKTtcbiAgICBfY3NzSW5zZXJ0ZWQgPSB0cnVlO1xuICB9XG59XG5cbnZhciBJbmplY3RDU1MgPSB7XG4gIG1peG91dDogZnVuY3Rpb24gbWl4b3V0KCkge1xuICAgIHJldHVybiB7XG4gICAgICBkb206IHtcbiAgICAgICAgY3NzOiBjc3MsXG4gICAgICAgIGluc2VydENzczogZW5zdXJlQ3NzXG4gICAgICB9XG4gICAgfTtcbiAgfSxcbiAgaG9va3M6IGZ1bmN0aW9uIGhvb2tzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBiZWZvcmVET01FbGVtZW50Q3JlYXRpb246IGZ1bmN0aW9uIGJlZm9yZURPTUVsZW1lbnRDcmVhdGlvbigpIHtcbiAgICAgICAgZW5zdXJlQ3NzKCk7XG4gICAgICB9LFxuICAgICAgYmVmb3JlSTJzdmc6IGZ1bmN0aW9uIGJlZm9yZUkyc3ZnKCkge1xuICAgICAgICBlbnN1cmVDc3MoKTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG59O1xuXG52YXIgdyA9IFdJTkRPVyB8fCB7fTtcbmlmICghd1tOQU1FU1BBQ0VfSURFTlRJRklFUl0pIHdbTkFNRVNQQUNFX0lERU5USUZJRVJdID0ge307XG5pZiAoIXdbTkFNRVNQQUNFX0lERU5USUZJRVJdLnN0eWxlcykgd1tOQU1FU1BBQ0VfSURFTlRJRklFUl0uc3R5bGVzID0ge307XG5pZiAoIXdbTkFNRVNQQUNFX0lERU5USUZJRVJdLmhvb2tzKSB3W05BTUVTUEFDRV9JREVOVElGSUVSXS5ob29rcyA9IHt9O1xuaWYgKCF3W05BTUVTUEFDRV9JREVOVElGSUVSXS5zaGltcykgd1tOQU1FU1BBQ0VfSURFTlRJRklFUl0uc2hpbXMgPSBbXTtcbnZhciBuYW1lc3BhY2UgPSB3W05BTUVTUEFDRV9JREVOVElGSUVSXTtcblxudmFyIGZ1bmN0aW9ucyA9IFtdO1xuXG52YXIgbGlzdGVuZXIgPSBmdW5jdGlvbiBsaXN0ZW5lcigpIHtcbiAgRE9DVU1FTlQucmVtb3ZlRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGxpc3RlbmVyKTtcbiAgbG9hZGVkID0gMTtcbiAgZnVuY3Rpb25zLm1hcChmdW5jdGlvbiAoZm4pIHtcbiAgICByZXR1cm4gZm4oKTtcbiAgfSk7XG59O1xuXG52YXIgbG9hZGVkID0gZmFsc2U7XG5cbmlmIChJU19ET00pIHtcbiAgbG9hZGVkID0gKERPQ1VNRU5ULmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCA/IC9ebG9hZGVkfF5jLyA6IC9ebG9hZGVkfF5pfF5jLykudGVzdChET0NVTUVOVC5yZWFkeVN0YXRlKTtcbiAgaWYgKCFsb2FkZWQpIERPQ1VNRU5ULmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBsaXN0ZW5lcik7XG59XG5cbmZ1bmN0aW9uIGRvbXJlYWR5IChmbikge1xuICBpZiAoIUlTX0RPTSkgcmV0dXJuO1xuICBsb2FkZWQgPyBzZXRUaW1lb3V0KGZuLCAwKSA6IGZ1bmN0aW9ucy5wdXNoKGZuKTtcbn1cblxuZnVuY3Rpb24gdG9IdG1sKGFic3RyYWN0Tm9kZXMpIHtcbiAgdmFyIHRhZyA9IGFic3RyYWN0Tm9kZXMudGFnLFxuICAgICAgX2Fic3RyYWN0Tm9kZXMkYXR0cmliID0gYWJzdHJhY3ROb2Rlcy5hdHRyaWJ1dGVzLFxuICAgICAgYXR0cmlidXRlcyA9IF9hYnN0cmFjdE5vZGVzJGF0dHJpYiA9PT0gdm9pZCAwID8ge30gOiBfYWJzdHJhY3ROb2RlcyRhdHRyaWIsXG4gICAgICBfYWJzdHJhY3ROb2RlcyRjaGlsZHIgPSBhYnN0cmFjdE5vZGVzLmNoaWxkcmVuLFxuICAgICAgY2hpbGRyZW4gPSBfYWJzdHJhY3ROb2RlcyRjaGlsZHIgPT09IHZvaWQgMCA/IFtdIDogX2Fic3RyYWN0Tm9kZXMkY2hpbGRyO1xuXG4gIGlmICh0eXBlb2YgYWJzdHJhY3ROb2RlcyA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gaHRtbEVzY2FwZShhYnN0cmFjdE5vZGVzKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gXCI8XCIuY29uY2F0KHRhZywgXCIgXCIpLmNvbmNhdChqb2luQXR0cmlidXRlcyhhdHRyaWJ1dGVzKSwgXCI+XCIpLmNvbmNhdChjaGlsZHJlbi5tYXAodG9IdG1sKS5qb2luKCcnKSwgXCI8L1wiKS5jb25jYXQodGFnLCBcIj5cIik7XG4gIH1cbn1cblxuZnVuY3Rpb24gaWNvbkZyb21NYXBwaW5nKG1hcHBpbmcsIHByZWZpeCwgaWNvbk5hbWUpIHtcbiAgaWYgKG1hcHBpbmcgJiYgbWFwcGluZ1twcmVmaXhdICYmIG1hcHBpbmdbcHJlZml4XVtpY29uTmFtZV0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgcHJlZml4OiBwcmVmaXgsXG4gICAgICBpY29uTmFtZTogaWNvbk5hbWUsXG4gICAgICBpY29uOiBtYXBwaW5nW3ByZWZpeF1baWNvbk5hbWVdXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIEludGVybmFsIGhlbHBlciB0byBiaW5kIGEgZnVuY3Rpb24ga25vd24gdG8gaGF2ZSA0IGFyZ3VtZW50c1xuICogdG8gYSBnaXZlbiBjb250ZXh0LlxuICovXG5cbnZhciBiaW5kSW50ZXJuYWw0ID0gZnVuY3Rpb24gYmluZEludGVybmFsNChmdW5jLCB0aGlzQ29udGV4dCkge1xuICByZXR1cm4gZnVuY3Rpb24gKGEsIGIsIGMsIGQpIHtcbiAgICByZXR1cm4gZnVuYy5jYWxsKHRoaXNDb250ZXh0LCBhLCBiLCBjLCBkKTtcbiAgfTtcbn07XG5cbi8qKlxuICogIyBSZWR1Y2VcbiAqXG4gKiBBIGZhc3Qgb2JqZWN0IGAucmVkdWNlKClgIGltcGxlbWVudGF0aW9uLlxuICpcbiAqIEBwYXJhbSAge09iamVjdH0gICBzdWJqZWN0ICAgICAgVGhlIG9iamVjdCB0byByZWR1Y2Ugb3Zlci5cbiAqIEBwYXJhbSAge0Z1bmN0aW9ufSBmbiAgICAgICAgICAgVGhlIHJlZHVjZXIgZnVuY3Rpb24uXG4gKiBAcGFyYW0gIHttaXhlZH0gICAgaW5pdGlhbFZhbHVlIFRoZSBpbml0aWFsIHZhbHVlIGZvciB0aGUgcmVkdWNlciwgZGVmYXVsdHMgdG8gc3ViamVjdFswXS5cbiAqIEBwYXJhbSAge09iamVjdH0gICB0aGlzQ29udGV4dCAgVGhlIGNvbnRleHQgZm9yIHRoZSByZWR1Y2VyLlxuICogQHJldHVybiB7bWl4ZWR9ICAgICAgICAgICAgICAgICBUaGUgZmluYWwgcmVzdWx0LlxuICovXG5cblxudmFyIHJlZHVjZSA9IGZ1bmN0aW9uIGZhc3RSZWR1Y2VPYmplY3Qoc3ViamVjdCwgZm4sIGluaXRpYWxWYWx1ZSwgdGhpc0NvbnRleHQpIHtcbiAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhzdWJqZWN0KSxcbiAgICAgIGxlbmd0aCA9IGtleXMubGVuZ3RoLFxuICAgICAgaXRlcmF0b3IgPSB0aGlzQ29udGV4dCAhPT0gdW5kZWZpbmVkID8gYmluZEludGVybmFsNChmbiwgdGhpc0NvbnRleHQpIDogZm4sXG4gICAgICBpLFxuICAgICAga2V5LFxuICAgICAgcmVzdWx0O1xuXG4gIGlmIChpbml0aWFsVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIGkgPSAxO1xuICAgIHJlc3VsdCA9IHN1YmplY3Rba2V5c1swXV07XG4gIH0gZWxzZSB7XG4gICAgaSA9IDA7XG4gICAgcmVzdWx0ID0gaW5pdGlhbFZhbHVlO1xuICB9XG5cbiAgZm9yICg7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgIGtleSA9IGtleXNbaV07XG4gICAgcmVzdWx0ID0gaXRlcmF0b3IocmVzdWx0LCBzdWJqZWN0W2tleV0sIGtleSwgc3ViamVjdCk7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuLyoqXG4gKiB1Y3MyZGVjb2RlKCkgYW5kIGNvZGVQb2ludEF0KCkgYXJlIGJvdGggd29ya3Mgb2YgTWF0aGlhcyBCeW5lbnMgYW5kIGxpY2Vuc2VkIHVuZGVyIE1JVFxuICpcbiAqIENvcHlyaWdodCBNYXRoaWFzIEJ5bmVucyA8aHR0cHM6Ly9tYXRoaWFzYnluZW5zLmJlLz5cblxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nXG4gKiBhIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcbiAqIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xuICogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxuICogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvXG4gKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG9cbiAqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcblxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmVcbiAqIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELFxuICogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXG4gKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORFxuICogTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRVxuICogTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTlxuICogT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OXG4gKiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cbiAqL1xuZnVuY3Rpb24gdWNzMmRlY29kZShzdHJpbmcpIHtcbiAgdmFyIG91dHB1dCA9IFtdO1xuICB2YXIgY291bnRlciA9IDA7XG4gIHZhciBsZW5ndGggPSBzdHJpbmcubGVuZ3RoO1xuXG4gIHdoaWxlIChjb3VudGVyIDwgbGVuZ3RoKSB7XG4gICAgdmFyIHZhbHVlID0gc3RyaW5nLmNoYXJDb2RlQXQoY291bnRlcisrKTtcblxuICAgIGlmICh2YWx1ZSA+PSAweEQ4MDAgJiYgdmFsdWUgPD0gMHhEQkZGICYmIGNvdW50ZXIgPCBsZW5ndGgpIHtcbiAgICAgIHZhciBleHRyYSA9IHN0cmluZy5jaGFyQ29kZUF0KGNvdW50ZXIrKyk7XG5cbiAgICAgIGlmICgoZXh0cmEgJiAweEZDMDApID09IDB4REMwMCkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGVxZXFlcVxuICAgICAgICBvdXRwdXQucHVzaCgoKHZhbHVlICYgMHgzRkYpIDw8IDEwKSArIChleHRyYSAmIDB4M0ZGKSArIDB4MTAwMDApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3V0cHV0LnB1c2godmFsdWUpO1xuICAgICAgICBjb3VudGVyLS07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG91dHB1dC5wdXNoKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gb3V0cHV0O1xufVxuXG5mdW5jdGlvbiB0b0hleCh1bmljb2RlKSB7XG4gIHZhciBkZWNvZGVkID0gdWNzMmRlY29kZSh1bmljb2RlKTtcbiAgcmV0dXJuIGRlY29kZWQubGVuZ3RoID09PSAxID8gZGVjb2RlZFswXS50b1N0cmluZygxNikgOiBudWxsO1xufVxuZnVuY3Rpb24gY29kZVBvaW50QXQoc3RyaW5nLCBpbmRleCkge1xuICB2YXIgc2l6ZSA9IHN0cmluZy5sZW5ndGg7XG4gIHZhciBmaXJzdCA9IHN0cmluZy5jaGFyQ29kZUF0KGluZGV4KTtcbiAgdmFyIHNlY29uZDtcblxuICBpZiAoZmlyc3QgPj0gMHhEODAwICYmIGZpcnN0IDw9IDB4REJGRiAmJiBzaXplID4gaW5kZXggKyAxKSB7XG4gICAgc2Vjb25kID0gc3RyaW5nLmNoYXJDb2RlQXQoaW5kZXggKyAxKTtcblxuICAgIGlmIChzZWNvbmQgPj0gMHhEQzAwICYmIHNlY29uZCA8PSAweERGRkYpIHtcbiAgICAgIHJldHVybiAoZmlyc3QgLSAweEQ4MDApICogMHg0MDAgKyBzZWNvbmQgLSAweERDMDAgKyAweDEwMDAwO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmaXJzdDtcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplSWNvbnMoaWNvbnMpIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKGljb25zKS5yZWR1Y2UoZnVuY3Rpb24gKGFjYywgaWNvbk5hbWUpIHtcbiAgICB2YXIgaWNvbiA9IGljb25zW2ljb25OYW1lXTtcbiAgICB2YXIgZXhwYW5kZWQgPSAhIWljb24uaWNvbjtcblxuICAgIGlmIChleHBhbmRlZCkge1xuICAgICAgYWNjW2ljb24uaWNvbk5hbWVdID0gaWNvbi5pY29uO1xuICAgIH0gZWxzZSB7XG4gICAgICBhY2NbaWNvbk5hbWVdID0gaWNvbjtcbiAgICB9XG5cbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSk7XG59XG5cbmZ1bmN0aW9uIGRlZmluZUljb25zKHByZWZpeCwgaWNvbnMpIHtcbiAgdmFyIHBhcmFtcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDoge307XG4gIHZhciBfcGFyYW1zJHNraXBIb29rcyA9IHBhcmFtcy5za2lwSG9va3MsXG4gICAgICBza2lwSG9va3MgPSBfcGFyYW1zJHNraXBIb29rcyA9PT0gdm9pZCAwID8gZmFsc2UgOiBfcGFyYW1zJHNraXBIb29rcztcbiAgdmFyIG5vcm1hbGl6ZWQgPSBub3JtYWxpemVJY29ucyhpY29ucyk7XG5cbiAgaWYgKHR5cGVvZiBuYW1lc3BhY2UuaG9va3MuYWRkUGFjayA9PT0gJ2Z1bmN0aW9uJyAmJiAhc2tpcEhvb2tzKSB7XG4gICAgbmFtZXNwYWNlLmhvb2tzLmFkZFBhY2socHJlZml4LCBub3JtYWxpemVJY29ucyhpY29ucykpO1xuICB9IGVsc2Uge1xuICAgIG5hbWVzcGFjZS5zdHlsZXNbcHJlZml4XSA9IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBuYW1lc3BhY2Uuc3R5bGVzW3ByZWZpeF0gfHwge30pLCBub3JtYWxpemVkKTtcbiAgfVxuICAvKipcbiAgICogRm9udCBBd2Vzb21lIDQgdXNlZCB0aGUgcHJlZml4IG9mIGBmYWAgZm9yIGFsbCBpY29ucy4gV2l0aCB0aGUgaW50cm9kdWN0aW9uXG4gICAqIG9mIG5ldyBzdHlsZXMgd2UgbmVlZGVkIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiB0aGVtLiBQcmVmaXggYGZhYCBpcyBub3cgYW4gYWxpYXNcbiAgICogZm9yIGBmYXNgIHNvIHdlJ2xsIGVhc2UgdGhlIHVwZ3JhZGUgcHJvY2VzcyBmb3Igb3VyIHVzZXJzIGJ5IGF1dG9tYXRpY2FsbHkgZGVmaW5pbmdcbiAgICogdGhpcyBhcyB3ZWxsLlxuICAgKi9cblxuXG4gIGlmIChwcmVmaXggPT09ICdmYXMnKSB7XG4gICAgZGVmaW5lSWNvbnMoJ2ZhJywgaWNvbnMpO1xuICB9XG59XG5cbnZhciBkdW90b25lUGF0aFJlID0gWy8qI19fUFVSRV9fKi9fd3JhcFJlZ0V4cCgvcGF0aCBkPVwiKCg/Oig/IVwiKVtcXHNcXFNdKSspXCIuKnBhdGggZD1cIigoPzooPyFcIilbXFxzXFxTXSkrKVwiLywge1xuICBkMTogMSxcbiAgZDI6IDJcbn0pLCAvKiNfX1BVUkVfXyovX3dyYXBSZWdFeHAoL3BhdGggY2xhc3M9XCIoKD86KD8hXCIpW1xcc1xcU10pKylcIi4qZD1cIigoPzooPyFcIilbXFxzXFxTXSkrKVwiLipwYXRoIGNsYXNzPVwiKCg/Oig/IVwiKVtcXHNcXFNdKSspXCIuKmQ9XCIoKD86KD8hXCIpW1xcc1xcU10pKylcIi8sIHtcbiAgY2xzMTogMSxcbiAgZDE6IDIsXG4gIGNsczI6IDMsXG4gIGQyOiA0XG59KSwgLyojX19QVVJFX18qL193cmFwUmVnRXhwKC9wYXRoIGNsYXNzPVwiKCg/Oig/IVwiKVtcXHNcXFNdKSspXCIuKmQ9XCIoKD86KD8hXCIpW1xcc1xcU10pKylcIi8sIHtcbiAgY2xzMTogMSxcbiAgZDE6IDJcbn0pXTtcblxudmFyIF9MT05HX1NUWUxFLCBfUFJFRklYRVMsIF9QUkVGSVhFU19GT1JfRkFNSUxZO1xudmFyIHN0eWxlcyA9IG5hbWVzcGFjZS5zdHlsZXMsXG4gICAgc2hpbXMgPSBuYW1lc3BhY2Uuc2hpbXM7XG52YXIgTE9OR19TVFlMRSA9IChfTE9OR19TVFlMRSA9IHt9LCBfZGVmaW5lUHJvcGVydHkoX0xPTkdfU1RZTEUsIEZBTUlMWV9DTEFTU0lDLCBPYmplY3QudmFsdWVzKFBSRUZJWF9UT19MT05HX1NUWUxFW0ZBTUlMWV9DTEFTU0lDXSkpLCBfZGVmaW5lUHJvcGVydHkoX0xPTkdfU1RZTEUsIEZBTUlMWV9TSEFSUCwgT2JqZWN0LnZhbHVlcyhQUkVGSVhfVE9fTE9OR19TVFlMRVtGQU1JTFlfU0hBUlBdKSksIF9MT05HX1NUWUxFKTtcbnZhciBfZGVmYXVsdFVzYWJsZVByZWZpeCA9IG51bGw7XG52YXIgX2J5VW5pY29kZSA9IHt9O1xudmFyIF9ieUxpZ2F0dXJlID0ge307XG52YXIgX2J5T2xkTmFtZSA9IHt9O1xudmFyIF9ieU9sZFVuaWNvZGUgPSB7fTtcbnZhciBfYnlBbGlhcyA9IHt9O1xudmFyIFBSRUZJWEVTID0gKF9QUkVGSVhFUyA9IHt9LCBfZGVmaW5lUHJvcGVydHkoX1BSRUZJWEVTLCBGQU1JTFlfQ0xBU1NJQywgT2JqZWN0LmtleXMoUFJFRklYX1RPX1NUWUxFW0ZBTUlMWV9DTEFTU0lDXSkpLCBfZGVmaW5lUHJvcGVydHkoX1BSRUZJWEVTLCBGQU1JTFlfU0hBUlAsIE9iamVjdC5rZXlzKFBSRUZJWF9UT19TVFlMRVtGQU1JTFlfU0hBUlBdKSksIF9QUkVGSVhFUyk7XG5cbmZ1bmN0aW9uIGlzUmVzZXJ2ZWQobmFtZSkge1xuICByZXR1cm4gflJFU0VSVkVEX0NMQVNTRVMuaW5kZXhPZihuYW1lKTtcbn1cblxuZnVuY3Rpb24gZ2V0SWNvbk5hbWUoY3NzUHJlZml4LCBjbHMpIHtcbiAgdmFyIHBhcnRzID0gY2xzLnNwbGl0KCctJyk7XG4gIHZhciBwcmVmaXggPSBwYXJ0c1swXTtcbiAgdmFyIGljb25OYW1lID0gcGFydHMuc2xpY2UoMSkuam9pbignLScpO1xuXG4gIGlmIChwcmVmaXggPT09IGNzc1ByZWZpeCAmJiBpY29uTmFtZSAhPT0gJycgJiYgIWlzUmVzZXJ2ZWQoaWNvbk5hbWUpKSB7XG4gICAgcmV0dXJuIGljb25OYW1lO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG52YXIgYnVpbGQgPSBmdW5jdGlvbiBidWlsZCgpIHtcbiAgdmFyIGxvb2t1cCA9IGZ1bmN0aW9uIGxvb2t1cChyZWR1Y2VyKSB7XG4gICAgcmV0dXJuIHJlZHVjZShzdHlsZXMsIGZ1bmN0aW9uIChvLCBzdHlsZSwgcHJlZml4KSB7XG4gICAgICBvW3ByZWZpeF0gPSByZWR1Y2Uoc3R5bGUsIHJlZHVjZXIsIHt9KTtcbiAgICAgIHJldHVybiBvO1xuICAgIH0sIHt9KTtcbiAgfTtcblxuICBfYnlVbmljb2RlID0gbG9va3VwKGZ1bmN0aW9uIChhY2MsIGljb24sIGljb25OYW1lKSB7XG4gICAgaWYgKGljb25bM10pIHtcbiAgICAgIGFjY1tpY29uWzNdXSA9IGljb25OYW1lO1xuICAgIH1cblxuICAgIGlmIChpY29uWzJdKSB7XG4gICAgICB2YXIgYWxpYXNlcyA9IGljb25bMl0uZmlsdGVyKGZ1bmN0aW9uIChhKSB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgYSA9PT0gJ251bWJlcic7XG4gICAgICB9KTtcbiAgICAgIGFsaWFzZXMuZm9yRWFjaChmdW5jdGlvbiAoYWxpYXMpIHtcbiAgICAgICAgYWNjW2FsaWFzLnRvU3RyaW5nKDE2KV0gPSBpY29uTmFtZTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBhY2M7XG4gIH0pO1xuICBfYnlMaWdhdHVyZSA9IGxvb2t1cChmdW5jdGlvbiAoYWNjLCBpY29uLCBpY29uTmFtZSkge1xuICAgIGFjY1tpY29uTmFtZV0gPSBpY29uTmFtZTtcblxuICAgIGlmIChpY29uWzJdKSB7XG4gICAgICB2YXIgYWxpYXNlcyA9IGljb25bMl0uZmlsdGVyKGZ1bmN0aW9uIChhKSB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgYSA9PT0gJ3N0cmluZyc7XG4gICAgICB9KTtcbiAgICAgIGFsaWFzZXMuZm9yRWFjaChmdW5jdGlvbiAoYWxpYXMpIHtcbiAgICAgICAgYWNjW2FsaWFzXSA9IGljb25OYW1lO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSk7XG4gIF9ieUFsaWFzID0gbG9va3VwKGZ1bmN0aW9uIChhY2MsIGljb24sIGljb25OYW1lKSB7XG4gICAgdmFyIGFsaWFzZXMgPSBpY29uWzJdO1xuICAgIGFjY1tpY29uTmFtZV0gPSBpY29uTmFtZTtcbiAgICBhbGlhc2VzLmZvckVhY2goZnVuY3Rpb24gKGFsaWFzKSB7XG4gICAgICBhY2NbYWxpYXNdID0gaWNvbk5hbWU7XG4gICAgfSk7XG4gICAgcmV0dXJuIGFjYztcbiAgfSk7IC8vIElmIHdlIGhhdmUgYSBLaXQsIHdlIGNhbid0IGRldGVybWluZSBpZiByZWd1bGFyIGlzIGF2YWlsYWJsZSBzaW5jZSB3ZVxuICAvLyBjb3VsZCBiZSBhdXRvLWZldGNoaW5nIGl0LiBXZSdsbCBoYXZlIHRvIGFzc3VtZSB0aGF0IGl0IGlzIGF2YWlsYWJsZS5cblxuICB2YXIgaGFzUmVndWxhciA9ICdmYXInIGluIHN0eWxlcyB8fCBjb25maWcuYXV0b0ZldGNoU3ZnO1xuICB2YXIgc2hpbUxvb2t1cHMgPSByZWR1Y2Uoc2hpbXMsIGZ1bmN0aW9uIChhY2MsIHNoaW0pIHtcbiAgICB2YXIgbWF5YmVOYW1lTWF5YmVVbmljb2RlID0gc2hpbVswXTtcbiAgICB2YXIgcHJlZml4ID0gc2hpbVsxXTtcbiAgICB2YXIgaWNvbk5hbWUgPSBzaGltWzJdO1xuXG4gICAgaWYgKHByZWZpeCA9PT0gJ2ZhcicgJiYgIWhhc1JlZ3VsYXIpIHtcbiAgICAgIHByZWZpeCA9ICdmYXMnO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgbWF5YmVOYW1lTWF5YmVVbmljb2RlID09PSAnc3RyaW5nJykge1xuICAgICAgYWNjLm5hbWVzW21heWJlTmFtZU1heWJlVW5pY29kZV0gPSB7XG4gICAgICAgIHByZWZpeDogcHJlZml4LFxuICAgICAgICBpY29uTmFtZTogaWNvbk5hbWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBtYXliZU5hbWVNYXliZVVuaWNvZGUgPT09ICdudW1iZXInKSB7XG4gICAgICBhY2MudW5pY29kZXNbbWF5YmVOYW1lTWF5YmVVbmljb2RlLnRvU3RyaW5nKDE2KV0gPSB7XG4gICAgICAgIHByZWZpeDogcHJlZml4LFxuICAgICAgICBpY29uTmFtZTogaWNvbk5hbWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSwge1xuICAgIG5hbWVzOiB7fSxcbiAgICB1bmljb2Rlczoge31cbiAgfSk7XG4gIF9ieU9sZE5hbWUgPSBzaGltTG9va3Vwcy5uYW1lcztcbiAgX2J5T2xkVW5pY29kZSA9IHNoaW1Mb29rdXBzLnVuaWNvZGVzO1xuICBfZGVmYXVsdFVzYWJsZVByZWZpeCA9IGdldENhbm9uaWNhbFByZWZpeChjb25maWcuc3R5bGVEZWZhdWx0LCB7XG4gICAgZmFtaWx5OiBjb25maWcuZmFtaWx5RGVmYXVsdFxuICB9KTtcbn07XG5vbkNoYW5nZShmdW5jdGlvbiAoYykge1xuICBfZGVmYXVsdFVzYWJsZVByZWZpeCA9IGdldENhbm9uaWNhbFByZWZpeChjLnN0eWxlRGVmYXVsdCwge1xuICAgIGZhbWlseTogY29uZmlnLmZhbWlseURlZmF1bHRcbiAgfSk7XG59KTtcbmJ1aWxkKCk7XG5mdW5jdGlvbiBieVVuaWNvZGUocHJlZml4LCB1bmljb2RlKSB7XG4gIHJldHVybiAoX2J5VW5pY29kZVtwcmVmaXhdIHx8IHt9KVt1bmljb2RlXTtcbn1cbmZ1bmN0aW9uIGJ5TGlnYXR1cmUocHJlZml4LCBsaWdhdHVyZSkge1xuICByZXR1cm4gKF9ieUxpZ2F0dXJlW3ByZWZpeF0gfHwge30pW2xpZ2F0dXJlXTtcbn1cbmZ1bmN0aW9uIGJ5QWxpYXMocHJlZml4LCBhbGlhcykge1xuICByZXR1cm4gKF9ieUFsaWFzW3ByZWZpeF0gfHwge30pW2FsaWFzXTtcbn1cbmZ1bmN0aW9uIGJ5T2xkTmFtZShuYW1lKSB7XG4gIHJldHVybiBfYnlPbGROYW1lW25hbWVdIHx8IHtcbiAgICBwcmVmaXg6IG51bGwsXG4gICAgaWNvbk5hbWU6IG51bGxcbiAgfTtcbn1cbmZ1bmN0aW9uIGJ5T2xkVW5pY29kZSh1bmljb2RlKSB7XG4gIHZhciBvbGRVbmljb2RlID0gX2J5T2xkVW5pY29kZVt1bmljb2RlXTtcbiAgdmFyIG5ld1VuaWNvZGUgPSBieVVuaWNvZGUoJ2ZhcycsIHVuaWNvZGUpO1xuICByZXR1cm4gb2xkVW5pY29kZSB8fCAobmV3VW5pY29kZSA/IHtcbiAgICBwcmVmaXg6ICdmYXMnLFxuICAgIGljb25OYW1lOiBuZXdVbmljb2RlXG4gIH0gOiBudWxsKSB8fCB7XG4gICAgcHJlZml4OiBudWxsLFxuICAgIGljb25OYW1lOiBudWxsXG4gIH07XG59XG5mdW5jdGlvbiBnZXREZWZhdWx0VXNhYmxlUHJlZml4KCkge1xuICByZXR1cm4gX2RlZmF1bHRVc2FibGVQcmVmaXg7XG59XG52YXIgZW1wdHlDYW5vbmljYWxJY29uID0gZnVuY3Rpb24gZW1wdHlDYW5vbmljYWxJY29uKCkge1xuICByZXR1cm4ge1xuICAgIHByZWZpeDogbnVsbCxcbiAgICBpY29uTmFtZTogbnVsbCxcbiAgICByZXN0OiBbXVxuICB9O1xufTtcbmZ1bmN0aW9uIGdldENhbm9uaWNhbFByZWZpeChzdHlsZU9yUHJlZml4KSB7XG4gIHZhciBwYXJhbXMgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuICB2YXIgX3BhcmFtcyRmYW1pbHkgPSBwYXJhbXMuZmFtaWx5LFxuICAgICAgZmFtaWx5ID0gX3BhcmFtcyRmYW1pbHkgPT09IHZvaWQgMCA/IEZBTUlMWV9DTEFTU0lDIDogX3BhcmFtcyRmYW1pbHk7XG4gIHZhciBzdHlsZSA9IFBSRUZJWF9UT19TVFlMRVtmYW1pbHldW3N0eWxlT3JQcmVmaXhdO1xuICB2YXIgcHJlZml4ID0gU1RZTEVfVE9fUFJFRklYW2ZhbWlseV1bc3R5bGVPclByZWZpeF0gfHwgU1RZTEVfVE9fUFJFRklYW2ZhbWlseV1bc3R5bGVdO1xuICB2YXIgZGVmaW5lZCA9IHN0eWxlT3JQcmVmaXggaW4gbmFtZXNwYWNlLnN0eWxlcyA/IHN0eWxlT3JQcmVmaXggOiBudWxsO1xuICByZXR1cm4gcHJlZml4IHx8IGRlZmluZWQgfHwgbnVsbDtcbn1cbnZhciBQUkVGSVhFU19GT1JfRkFNSUxZID0gKF9QUkVGSVhFU19GT1JfRkFNSUxZID0ge30sIF9kZWZpbmVQcm9wZXJ0eShfUFJFRklYRVNfRk9SX0ZBTUlMWSwgRkFNSUxZX0NMQVNTSUMsIE9iamVjdC5rZXlzKFBSRUZJWF9UT19MT05HX1NUWUxFW0ZBTUlMWV9DTEFTU0lDXSkpLCBfZGVmaW5lUHJvcGVydHkoX1BSRUZJWEVTX0ZPUl9GQU1JTFksIEZBTUlMWV9TSEFSUCwgT2JqZWN0LmtleXMoUFJFRklYX1RPX0xPTkdfU1RZTEVbRkFNSUxZX1NIQVJQXSkpLCBfUFJFRklYRVNfRk9SX0ZBTUlMWSk7XG5mdW5jdGlvbiBnZXRDYW5vbmljYWxJY29uKHZhbHVlcykge1xuICB2YXIgX2ZhbVByb3BzO1xuXG4gIHZhciBwYXJhbXMgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuICB2YXIgX3BhcmFtcyRza2lwTG9va3VwcyA9IHBhcmFtcy5za2lwTG9va3VwcyxcbiAgICAgIHNraXBMb29rdXBzID0gX3BhcmFtcyRza2lwTG9va3VwcyA9PT0gdm9pZCAwID8gZmFsc2UgOiBfcGFyYW1zJHNraXBMb29rdXBzO1xuICB2YXIgZmFtUHJvcHMgPSAoX2ZhbVByb3BzID0ge30sIF9kZWZpbmVQcm9wZXJ0eShfZmFtUHJvcHMsIEZBTUlMWV9DTEFTU0lDLCBcIlwiLmNvbmNhdChjb25maWcuY3NzUHJlZml4LCBcIi1cIikuY29uY2F0KEZBTUlMWV9DTEFTU0lDKSksIF9kZWZpbmVQcm9wZXJ0eShfZmFtUHJvcHMsIEZBTUlMWV9TSEFSUCwgXCJcIi5jb25jYXQoY29uZmlnLmNzc1ByZWZpeCwgXCItXCIpLmNvbmNhdChGQU1JTFlfU0hBUlApKSwgX2ZhbVByb3BzKTtcbiAgdmFyIGdpdmVuUHJlZml4ID0gbnVsbDtcbiAgdmFyIGZhbWlseSA9IEZBTUlMWV9DTEFTU0lDO1xuXG4gIGlmICh2YWx1ZXMuaW5jbHVkZXMoZmFtUHJvcHNbRkFNSUxZX0NMQVNTSUNdKSB8fCB2YWx1ZXMuc29tZShmdW5jdGlvbiAodikge1xuICAgIHJldHVybiBQUkVGSVhFU19GT1JfRkFNSUxZW0ZBTUlMWV9DTEFTU0lDXS5pbmNsdWRlcyh2KTtcbiAgfSkpIHtcbiAgICBmYW1pbHkgPSBGQU1JTFlfQ0xBU1NJQztcbiAgfVxuXG4gIGlmICh2YWx1ZXMuaW5jbHVkZXMoZmFtUHJvcHNbRkFNSUxZX1NIQVJQXSkgfHwgdmFsdWVzLnNvbWUoZnVuY3Rpb24gKHYpIHtcbiAgICByZXR1cm4gUFJFRklYRVNfRk9SX0ZBTUlMWVtGQU1JTFlfU0hBUlBdLmluY2x1ZGVzKHYpO1xuICB9KSkge1xuICAgIGZhbWlseSA9IEZBTUlMWV9TSEFSUDtcbiAgfVxuXG4gIHZhciBjYW5vbmljYWwgPSB2YWx1ZXMucmVkdWNlKGZ1bmN0aW9uIChhY2MsIGNscykge1xuICAgIHZhciBpY29uTmFtZSA9IGdldEljb25OYW1lKGNvbmZpZy5jc3NQcmVmaXgsIGNscyk7XG5cbiAgICBpZiAoc3R5bGVzW2Nsc10pIHtcbiAgICAgIGNscyA9IExPTkdfU1RZTEVbZmFtaWx5XS5pbmNsdWRlcyhjbHMpID8gTE9OR19TVFlMRV9UT19QUkVGSVhbZmFtaWx5XVtjbHNdIDogY2xzO1xuICAgICAgZ2l2ZW5QcmVmaXggPSBjbHM7XG4gICAgICBhY2MucHJlZml4ID0gY2xzO1xuICAgIH0gZWxzZSBpZiAoUFJFRklYRVNbZmFtaWx5XS5pbmRleE9mKGNscykgPiAtMSkge1xuICAgICAgZ2l2ZW5QcmVmaXggPSBjbHM7XG4gICAgICBhY2MucHJlZml4ID0gZ2V0Q2Fub25pY2FsUHJlZml4KGNscywge1xuICAgICAgICBmYW1pbHk6IGZhbWlseVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChpY29uTmFtZSkge1xuICAgICAgYWNjLmljb25OYW1lID0gaWNvbk5hbWU7XG4gICAgfSBlbHNlIGlmIChjbHMgIT09IGNvbmZpZy5yZXBsYWNlbWVudENsYXNzICYmIGNscyAhPT0gZmFtUHJvcHNbRkFNSUxZX0NMQVNTSUNdICYmIGNscyAhPT0gZmFtUHJvcHNbRkFNSUxZX1NIQVJQXSkge1xuICAgICAgYWNjLnJlc3QucHVzaChjbHMpO1xuICAgIH1cblxuICAgIGlmICghc2tpcExvb2t1cHMgJiYgYWNjLnByZWZpeCAmJiBhY2MuaWNvbk5hbWUpIHtcbiAgICAgIHZhciBzaGltID0gZ2l2ZW5QcmVmaXggPT09ICdmYScgPyBieU9sZE5hbWUoYWNjLmljb25OYW1lKSA6IHt9O1xuICAgICAgdmFyIGFsaWFzSWNvbk5hbWUgPSBieUFsaWFzKGFjYy5wcmVmaXgsIGFjYy5pY29uTmFtZSk7XG5cbiAgICAgIGlmIChzaGltLnByZWZpeCkge1xuICAgICAgICBnaXZlblByZWZpeCA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIGFjYy5pY29uTmFtZSA9IHNoaW0uaWNvbk5hbWUgfHwgYWxpYXNJY29uTmFtZSB8fCBhY2MuaWNvbk5hbWU7XG4gICAgICBhY2MucHJlZml4ID0gc2hpbS5wcmVmaXggfHwgYWNjLnByZWZpeDtcblxuICAgICAgaWYgKGFjYy5wcmVmaXggPT09ICdmYXInICYmICFzdHlsZXNbJ2ZhciddICYmIHN0eWxlc1snZmFzJ10gJiYgIWNvbmZpZy5hdXRvRmV0Y2hTdmcpIHtcbiAgICAgICAgLy8gQWxsb3cgYSBmYWxsYmFjayBmcm9tIHRoZSByZWd1bGFyIHN0eWxlIHRvIHNvbGlkIGlmIHJlZ3VsYXIgaXMgbm90IGF2YWlsYWJsZVxuICAgICAgICAvLyBidXQgb25seSBpZiB3ZSBhcmVuJ3QgYXV0by1mZXRjaGluZyBTVkdzXG4gICAgICAgIGFjYy5wcmVmaXggPSAnZmFzJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYWNjO1xuICB9LCBlbXB0eUNhbm9uaWNhbEljb24oKSk7XG5cbiAgaWYgKHZhbHVlcy5pbmNsdWRlcygnZmEtYnJhbmRzJykgfHwgdmFsdWVzLmluY2x1ZGVzKCdmYWInKSkge1xuICAgIGNhbm9uaWNhbC5wcmVmaXggPSAnZmFiJztcbiAgfVxuXG4gIGlmICh2YWx1ZXMuaW5jbHVkZXMoJ2ZhLWR1b3RvbmUnKSB8fCB2YWx1ZXMuaW5jbHVkZXMoJ2ZhZCcpKSB7XG4gICAgY2Fub25pY2FsLnByZWZpeCA9ICdmYWQnO1xuICB9XG5cbiAgaWYgKCFjYW5vbmljYWwucHJlZml4ICYmIGZhbWlseSA9PT0gRkFNSUxZX1NIQVJQICYmIChzdHlsZXNbJ2Zhc3MnXSB8fCBjb25maWcuYXV0b0ZldGNoU3ZnKSkge1xuICAgIGNhbm9uaWNhbC5wcmVmaXggPSAnZmFzcyc7XG4gICAgY2Fub25pY2FsLmljb25OYW1lID0gYnlBbGlhcyhjYW5vbmljYWwucHJlZml4LCBjYW5vbmljYWwuaWNvbk5hbWUpIHx8IGNhbm9uaWNhbC5pY29uTmFtZTtcbiAgfVxuXG4gIGlmIChjYW5vbmljYWwucHJlZml4ID09PSAnZmEnIHx8IGdpdmVuUHJlZml4ID09PSAnZmEnKSB7XG4gICAgLy8gVGhlIGZhIHByZWZpeCBpcyBub3QgY2Fub25pY2FsLiBTbyBpZiBpdCBoYXMgbWFkZSBpdCB0aHJvdWdoIHVudGlsIHRoaXMgcG9pbnRcbiAgICAvLyB3ZSB3aWxsIHNoaWZ0IGl0IHRvIHRoZSBjb3JyZWN0IHByZWZpeC5cbiAgICBjYW5vbmljYWwucHJlZml4ID0gZ2V0RGVmYXVsdFVzYWJsZVByZWZpeCgpIHx8ICdmYXMnO1xuICB9XG5cbiAgcmV0dXJuIGNhbm9uaWNhbDtcbn1cblxudmFyIExpYnJhcnkgPSAvKiNfX1BVUkVfXyovZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBMaWJyYXJ5KCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBMaWJyYXJ5KTtcblxuICAgIHRoaXMuZGVmaW5pdGlvbnMgPSB7fTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhMaWJyYXJ5LCBbe1xuICAgIGtleTogXCJhZGRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gYWRkKCkge1xuICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGRlZmluaXRpb25zID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgICBkZWZpbml0aW9uc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICAgIH1cblxuICAgICAgdmFyIGFkZGl0aW9ucyA9IGRlZmluaXRpb25zLnJlZHVjZSh0aGlzLl9wdWxsRGVmaW5pdGlvbnMsIHt9KTtcbiAgICAgIE9iamVjdC5rZXlzKGFkZGl0aW9ucykuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIF90aGlzLmRlZmluaXRpb25zW2tleV0gPSBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgX3RoaXMuZGVmaW5pdGlvbnNba2V5XSB8fCB7fSksIGFkZGl0aW9uc1trZXldKTtcbiAgICAgICAgZGVmaW5lSWNvbnMoa2V5LCBhZGRpdGlvbnNba2V5XSk7IC8vIFRPRE8gY2FuIHdlIHN0b3AgZG9pbmcgdGhpcz8gV2UgY2FuJ3QgZ2V0IHRoZSBpY29ucyBieSAnZmEtc29saWQnIGFueSBsb25nZXIgc28gdGhpcyBwcm9iYWJseSBuZWVkcyB0byBjaGFuZ2VcblxuICAgICAgICB2YXIgbG9uZ1ByZWZpeCA9IFBSRUZJWF9UT19MT05HX1NUWUxFW0ZBTUlMWV9DTEFTU0lDXVtrZXldO1xuICAgICAgICBpZiAobG9uZ1ByZWZpeCkgZGVmaW5lSWNvbnMobG9uZ1ByZWZpeCwgYWRkaXRpb25zW2tleV0pO1xuICAgICAgICBidWlsZCgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInJlc2V0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlc2V0KCkge1xuICAgICAgdGhpcy5kZWZpbml0aW9ucyA9IHt9O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJfcHVsbERlZmluaXRpb25zXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9wdWxsRGVmaW5pdGlvbnMoYWRkaXRpb25zLCBkZWZpbml0aW9uKSB7XG4gICAgICB2YXIgbm9ybWFsaXplZCA9IGRlZmluaXRpb24ucHJlZml4ICYmIGRlZmluaXRpb24uaWNvbk5hbWUgJiYgZGVmaW5pdGlvbi5pY29uID8ge1xuICAgICAgICAwOiBkZWZpbml0aW9uXG4gICAgICB9IDogZGVmaW5pdGlvbjtcbiAgICAgIE9iamVjdC5rZXlzKG5vcm1hbGl6ZWQpLm1hcChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIHZhciBfbm9ybWFsaXplZCRrZXkgPSBub3JtYWxpemVkW2tleV0sXG4gICAgICAgICAgICBwcmVmaXggPSBfbm9ybWFsaXplZCRrZXkucHJlZml4LFxuICAgICAgICAgICAgaWNvbk5hbWUgPSBfbm9ybWFsaXplZCRrZXkuaWNvbk5hbWUsXG4gICAgICAgICAgICBpY29uID0gX25vcm1hbGl6ZWQka2V5Lmljb247XG4gICAgICAgIHZhciBhbGlhc2VzID0gaWNvblsyXTtcbiAgICAgICAgaWYgKCFhZGRpdGlvbnNbcHJlZml4XSkgYWRkaXRpb25zW3ByZWZpeF0gPSB7fTtcblxuICAgICAgICBpZiAoYWxpYXNlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgYWxpYXNlcy5mb3JFYWNoKGZ1bmN0aW9uIChhbGlhcykge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBhbGlhcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgYWRkaXRpb25zW3ByZWZpeF1bYWxpYXNdID0gaWNvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGFkZGl0aW9uc1twcmVmaXhdW2ljb25OYW1lXSA9IGljb247XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBhZGRpdGlvbnM7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIExpYnJhcnk7XG59KCk7XG5cbnZhciBfcGx1Z2lucyA9IFtdO1xudmFyIF9ob29rcyA9IHt9O1xudmFyIHByb3ZpZGVycyA9IHt9O1xudmFyIGRlZmF1bHRQcm92aWRlcktleXMgPSBPYmplY3Qua2V5cyhwcm92aWRlcnMpO1xuZnVuY3Rpb24gcmVnaXN0ZXJQbHVnaW5zKG5leHRQbHVnaW5zLCBfcmVmKSB7XG4gIHZhciBvYmogPSBfcmVmLm1peG91dHNUbztcbiAgX3BsdWdpbnMgPSBuZXh0UGx1Z2lucztcbiAgX2hvb2tzID0ge307XG4gIE9iamVjdC5rZXlzKHByb3ZpZGVycykuZm9yRWFjaChmdW5jdGlvbiAoaykge1xuICAgIGlmIChkZWZhdWx0UHJvdmlkZXJLZXlzLmluZGV4T2YoaykgPT09IC0xKSB7XG4gICAgICBkZWxldGUgcHJvdmlkZXJzW2tdO1xuICAgIH1cbiAgfSk7XG5cbiAgX3BsdWdpbnMuZm9yRWFjaChmdW5jdGlvbiAocGx1Z2luKSB7XG4gICAgdmFyIG1peG91dCA9IHBsdWdpbi5taXhvdXQgPyBwbHVnaW4ubWl4b3V0KCkgOiB7fTtcbiAgICBPYmplY3Qua2V5cyhtaXhvdXQpLmZvckVhY2goZnVuY3Rpb24gKHRrKSB7XG4gICAgICBpZiAodHlwZW9mIG1peG91dFt0a10gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgb2JqW3RrXSA9IG1peG91dFt0a107XG4gICAgICB9XG5cbiAgICAgIGlmIChfdHlwZW9mKG1peG91dFt0a10pID09PSAnb2JqZWN0Jykge1xuICAgICAgICBPYmplY3Qua2V5cyhtaXhvdXRbdGtdKS5mb3JFYWNoKGZ1bmN0aW9uIChzaykge1xuICAgICAgICAgIGlmICghb2JqW3RrXSkge1xuICAgICAgICAgICAgb2JqW3RrXSA9IHt9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG9ialt0a11bc2tdID0gbWl4b3V0W3RrXVtza107XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHBsdWdpbi5ob29rcykge1xuICAgICAgdmFyIGhvb2tzID0gcGx1Z2luLmhvb2tzKCk7XG4gICAgICBPYmplY3Qua2V5cyhob29rcykuZm9yRWFjaChmdW5jdGlvbiAoaG9vaykge1xuICAgICAgICBpZiAoIV9ob29rc1tob29rXSkge1xuICAgICAgICAgIF9ob29rc1tob29rXSA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgX2hvb2tzW2hvb2tdLnB1c2goaG9va3NbaG9va10pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHBsdWdpbi5wcm92aWRlcykge1xuICAgICAgcGx1Z2luLnByb3ZpZGVzKHByb3ZpZGVycyk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gb2JqO1xufVxuZnVuY3Rpb24gY2hhaW5Ib29rcyhob29rLCBhY2N1bXVsYXRvcikge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuID4gMiA/IF9sZW4gLSAyIDogMCksIF9rZXkgPSAyOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgYXJnc1tfa2V5IC0gMl0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICB2YXIgaG9va0ZucyA9IF9ob29rc1tob29rXSB8fCBbXTtcbiAgaG9va0Zucy5mb3JFYWNoKGZ1bmN0aW9uIChob29rRm4pIHtcbiAgICBhY2N1bXVsYXRvciA9IGhvb2tGbi5hcHBseShudWxsLCBbYWNjdW11bGF0b3JdLmNvbmNhdChhcmdzKSk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdXNlbGVzcy1jYWxsXG4gIH0pO1xuICByZXR1cm4gYWNjdW11bGF0b3I7XG59XG5mdW5jdGlvbiBjYWxsSG9va3MoaG9vaykge1xuICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgIGFyZ3NbX2tleTIgLSAxXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gIH1cblxuICB2YXIgaG9va0ZucyA9IF9ob29rc1tob29rXSB8fCBbXTtcbiAgaG9va0Zucy5mb3JFYWNoKGZ1bmN0aW9uIChob29rRm4pIHtcbiAgICBob29rRm4uYXBwbHkobnVsbCwgYXJncyk7XG4gIH0pO1xuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuZnVuY3Rpb24gY2FsbFByb3ZpZGVkKCkge1xuICB2YXIgaG9vayA9IGFyZ3VtZW50c1swXTtcbiAgdmFyIGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpO1xuICByZXR1cm4gcHJvdmlkZXJzW2hvb2tdID8gcHJvdmlkZXJzW2hvb2tdLmFwcGx5KG51bGwsIGFyZ3MpIDogdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBmaW5kSWNvbkRlZmluaXRpb24oaWNvbkxvb2t1cCkge1xuICBpZiAoaWNvbkxvb2t1cC5wcmVmaXggPT09ICdmYScpIHtcbiAgICBpY29uTG9va3VwLnByZWZpeCA9ICdmYXMnO1xuICB9XG5cbiAgdmFyIGljb25OYW1lID0gaWNvbkxvb2t1cC5pY29uTmFtZTtcbiAgdmFyIHByZWZpeCA9IGljb25Mb29rdXAucHJlZml4IHx8IGdldERlZmF1bHRVc2FibGVQcmVmaXgoKTtcbiAgaWYgKCFpY29uTmFtZSkgcmV0dXJuO1xuICBpY29uTmFtZSA9IGJ5QWxpYXMocHJlZml4LCBpY29uTmFtZSkgfHwgaWNvbk5hbWU7XG4gIHJldHVybiBpY29uRnJvbU1hcHBpbmcobGlicmFyeS5kZWZpbml0aW9ucywgcHJlZml4LCBpY29uTmFtZSkgfHwgaWNvbkZyb21NYXBwaW5nKG5hbWVzcGFjZS5zdHlsZXMsIHByZWZpeCwgaWNvbk5hbWUpO1xufVxudmFyIGxpYnJhcnkgPSBuZXcgTGlicmFyeSgpO1xudmFyIG5vQXV0byA9IGZ1bmN0aW9uIG5vQXV0bygpIHtcbiAgY29uZmlnLmF1dG9SZXBsYWNlU3ZnID0gZmFsc2U7XG4gIGNvbmZpZy5vYnNlcnZlTXV0YXRpb25zID0gZmFsc2U7XG4gIGNhbGxIb29rcygnbm9BdXRvJyk7XG59O1xudmFyIGRvbSA9IHtcbiAgaTJzdmc6IGZ1bmN0aW9uIGkyc3ZnKCkge1xuICAgIHZhciBwYXJhbXMgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9O1xuXG4gICAgaWYgKElTX0RPTSkge1xuICAgICAgY2FsbEhvb2tzKCdiZWZvcmVJMnN2ZycsIHBhcmFtcyk7XG4gICAgICBjYWxsUHJvdmlkZWQoJ3BzZXVkb0VsZW1lbnRzMnN2ZycsIHBhcmFtcyk7XG4gICAgICByZXR1cm4gY2FsbFByb3ZpZGVkKCdpMnN2ZycsIHBhcmFtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgnT3BlcmF0aW9uIHJlcXVpcmVzIGEgRE9NIG9mIHNvbWUga2luZC4nKTtcbiAgICB9XG4gIH0sXG4gIHdhdGNoOiBmdW5jdGlvbiB3YXRjaCgpIHtcbiAgICB2YXIgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcbiAgICB2YXIgYXV0b1JlcGxhY2VTdmdSb290ID0gcGFyYW1zLmF1dG9SZXBsYWNlU3ZnUm9vdDtcblxuICAgIGlmIChjb25maWcuYXV0b1JlcGxhY2VTdmcgPT09IGZhbHNlKSB7XG4gICAgICBjb25maWcuYXV0b1JlcGxhY2VTdmcgPSB0cnVlO1xuICAgIH1cblxuICAgIGNvbmZpZy5vYnNlcnZlTXV0YXRpb25zID0gdHJ1ZTtcbiAgICBkb21yZWFkeShmdW5jdGlvbiAoKSB7XG4gICAgICBhdXRvUmVwbGFjZSh7XG4gICAgICAgIGF1dG9SZXBsYWNlU3ZnUm9vdDogYXV0b1JlcGxhY2VTdmdSb290XG4gICAgICB9KTtcbiAgICAgIGNhbGxIb29rcygnd2F0Y2gnLCBwYXJhbXMpO1xuICAgIH0pO1xuICB9XG59O1xudmFyIHBhcnNlID0ge1xuICBpY29uOiBmdW5jdGlvbiBpY29uKF9pY29uKSB7XG4gICAgaWYgKF9pY29uID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoX3R5cGVvZihfaWNvbikgPT09ICdvYmplY3QnICYmIF9pY29uLnByZWZpeCAmJiBfaWNvbi5pY29uTmFtZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcHJlZml4OiBfaWNvbi5wcmVmaXgsXG4gICAgICAgIGljb25OYW1lOiBieUFsaWFzKF9pY29uLnByZWZpeCwgX2ljb24uaWNvbk5hbWUpIHx8IF9pY29uLmljb25OYW1lXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KF9pY29uKSAmJiBfaWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgIHZhciBpY29uTmFtZSA9IF9pY29uWzFdLmluZGV4T2YoJ2ZhLScpID09PSAwID8gX2ljb25bMV0uc2xpY2UoMykgOiBfaWNvblsxXTtcbiAgICAgIHZhciBwcmVmaXggPSBnZXRDYW5vbmljYWxQcmVmaXgoX2ljb25bMF0pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcHJlZml4OiBwcmVmaXgsXG4gICAgICAgIGljb25OYW1lOiBieUFsaWFzKHByZWZpeCwgaWNvbk5hbWUpIHx8IGljb25OYW1lXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgX2ljb24gPT09ICdzdHJpbmcnICYmIChfaWNvbi5pbmRleE9mKFwiXCIuY29uY2F0KGNvbmZpZy5jc3NQcmVmaXgsIFwiLVwiKSkgPiAtMSB8fCBfaWNvbi5tYXRjaChJQ09OX1NFTEVDVElPTl9TWU5UQVhfUEFUVEVSTikpKSB7XG4gICAgICB2YXIgY2Fub25pY2FsSWNvbiA9IGdldENhbm9uaWNhbEljb24oX2ljb24uc3BsaXQoJyAnKSwge1xuICAgICAgICBza2lwTG9va3VwczogdHJ1ZVxuICAgICAgfSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwcmVmaXg6IGNhbm9uaWNhbEljb24ucHJlZml4IHx8IGdldERlZmF1bHRVc2FibGVQcmVmaXgoKSxcbiAgICAgICAgaWNvbk5hbWU6IGJ5QWxpYXMoY2Fub25pY2FsSWNvbi5wcmVmaXgsIGNhbm9uaWNhbEljb24uaWNvbk5hbWUpIHx8IGNhbm9uaWNhbEljb24uaWNvbk5hbWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBfaWNvbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHZhciBfcHJlZml4ID0gZ2V0RGVmYXVsdFVzYWJsZVByZWZpeCgpO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBwcmVmaXg6IF9wcmVmaXgsXG4gICAgICAgIGljb25OYW1lOiBieUFsaWFzKF9wcmVmaXgsIF9pY29uKSB8fCBfaWNvblxuICAgICAgfTtcbiAgICB9XG4gIH1cbn07XG52YXIgYXBpID0ge1xuICBub0F1dG86IG5vQXV0byxcbiAgY29uZmlnOiBjb25maWcsXG4gIGRvbTogZG9tLFxuICBwYXJzZTogcGFyc2UsXG4gIGxpYnJhcnk6IGxpYnJhcnksXG4gIGZpbmRJY29uRGVmaW5pdGlvbjogZmluZEljb25EZWZpbml0aW9uLFxuICB0b0h0bWw6IHRvSHRtbFxufTtcblxudmFyIGF1dG9SZXBsYWNlID0gZnVuY3Rpb24gYXV0b1JlcGxhY2UoKSB7XG4gIHZhciBwYXJhbXMgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9O1xuICB2YXIgX3BhcmFtcyRhdXRvUmVwbGFjZVN2ID0gcGFyYW1zLmF1dG9SZXBsYWNlU3ZnUm9vdCxcbiAgICAgIGF1dG9SZXBsYWNlU3ZnUm9vdCA9IF9wYXJhbXMkYXV0b1JlcGxhY2VTdiA9PT0gdm9pZCAwID8gRE9DVU1FTlQgOiBfcGFyYW1zJGF1dG9SZXBsYWNlU3Y7XG4gIGlmICgoT2JqZWN0LmtleXMobmFtZXNwYWNlLnN0eWxlcykubGVuZ3RoID4gMCB8fCBjb25maWcuYXV0b0ZldGNoU3ZnKSAmJiBJU19ET00gJiYgY29uZmlnLmF1dG9SZXBsYWNlU3ZnKSBhcGkuZG9tLmkyc3ZnKHtcbiAgICBub2RlOiBhdXRvUmVwbGFjZVN2Z1Jvb3RcbiAgfSk7XG59O1xuXG5mdW5jdGlvbiBkb21WYXJpYW50cyh2YWwsIGFic3RyYWN0Q3JlYXRvcikge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodmFsLCAnYWJzdHJhY3QnLCB7XG4gICAgZ2V0OiBhYnN0cmFjdENyZWF0b3JcbiAgfSk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh2YWwsICdodG1sJywge1xuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIHZhbC5hYnN0cmFjdC5tYXAoZnVuY3Rpb24gKGEpIHtcbiAgICAgICAgcmV0dXJuIHRvSHRtbChhKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh2YWwsICdub2RlJywge1xuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgaWYgKCFJU19ET00pIHJldHVybjtcbiAgICAgIHZhciBjb250YWluZXIgPSBET0NVTUVOVC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSB2YWwuaHRtbDtcbiAgICAgIHJldHVybiBjb250YWluZXIuY2hpbGRyZW47XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHZhbDtcbn1cblxuZnVuY3Rpb24gYXNJY29uIChfcmVmKSB7XG4gIHZhciBjaGlsZHJlbiA9IF9yZWYuY2hpbGRyZW4sXG4gICAgICBtYWluID0gX3JlZi5tYWluLFxuICAgICAgbWFzayA9IF9yZWYubWFzayxcbiAgICAgIGF0dHJpYnV0ZXMgPSBfcmVmLmF0dHJpYnV0ZXMsXG4gICAgICBzdHlsZXMgPSBfcmVmLnN0eWxlcyxcbiAgICAgIHRyYW5zZm9ybSA9IF9yZWYudHJhbnNmb3JtO1xuXG4gIGlmICh0cmFuc2Zvcm1Jc01lYW5pbmdmdWwodHJhbnNmb3JtKSAmJiBtYWluLmZvdW5kICYmICFtYXNrLmZvdW5kKSB7XG4gICAgdmFyIHdpZHRoID0gbWFpbi53aWR0aCxcbiAgICAgICAgaGVpZ2h0ID0gbWFpbi5oZWlnaHQ7XG4gICAgdmFyIG9mZnNldCA9IHtcbiAgICAgIHg6IHdpZHRoIC8gaGVpZ2h0IC8gMixcbiAgICAgIHk6IDAuNVxuICAgIH07XG4gICAgYXR0cmlidXRlc1snc3R5bGUnXSA9IGpvaW5TdHlsZXMoX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIHN0eWxlcyksIHt9LCB7XG4gICAgICAndHJhbnNmb3JtLW9yaWdpbic6IFwiXCIuY29uY2F0KG9mZnNldC54ICsgdHJhbnNmb3JtLnggLyAxNiwgXCJlbSBcIikuY29uY2F0KG9mZnNldC55ICsgdHJhbnNmb3JtLnkgLyAxNiwgXCJlbVwiKVxuICAgIH0pKTtcbiAgfVxuXG4gIHJldHVybiBbe1xuICAgIHRhZzogJ3N2ZycsXG4gICAgYXR0cmlidXRlczogYXR0cmlidXRlcyxcbiAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgfV07XG59XG5cbmZ1bmN0aW9uIGFzU3ltYm9sIChfcmVmKSB7XG4gIHZhciBwcmVmaXggPSBfcmVmLnByZWZpeCxcbiAgICAgIGljb25OYW1lID0gX3JlZi5pY29uTmFtZSxcbiAgICAgIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbixcbiAgICAgIGF0dHJpYnV0ZXMgPSBfcmVmLmF0dHJpYnV0ZXMsXG4gICAgICBzeW1ib2wgPSBfcmVmLnN5bWJvbDtcbiAgdmFyIGlkID0gc3ltYm9sID09PSB0cnVlID8gXCJcIi5jb25jYXQocHJlZml4LCBcIi1cIikuY29uY2F0KGNvbmZpZy5jc3NQcmVmaXgsIFwiLVwiKS5jb25jYXQoaWNvbk5hbWUpIDogc3ltYm9sO1xuICByZXR1cm4gW3tcbiAgICB0YWc6ICdzdmcnLFxuICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgIHN0eWxlOiAnZGlzcGxheTogbm9uZTsnXG4gICAgfSxcbiAgICBjaGlsZHJlbjogW3tcbiAgICAgIHRhZzogJ3N5bWJvbCcsXG4gICAgICBhdHRyaWJ1dGVzOiBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgYXR0cmlidXRlcyksIHt9LCB7XG4gICAgICAgIGlkOiBpZFxuICAgICAgfSksXG4gICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICB9XVxuICB9XTtcbn1cblxuZnVuY3Rpb24gbWFrZUlubGluZVN2Z0Fic3RyYWN0KHBhcmFtcykge1xuICB2YXIgX3BhcmFtcyRpY29ucyA9IHBhcmFtcy5pY29ucyxcbiAgICAgIG1haW4gPSBfcGFyYW1zJGljb25zLm1haW4sXG4gICAgICBtYXNrID0gX3BhcmFtcyRpY29ucy5tYXNrLFxuICAgICAgcHJlZml4ID0gcGFyYW1zLnByZWZpeCxcbiAgICAgIGljb25OYW1lID0gcGFyYW1zLmljb25OYW1lLFxuICAgICAgdHJhbnNmb3JtID0gcGFyYW1zLnRyYW5zZm9ybSxcbiAgICAgIHN5bWJvbCA9IHBhcmFtcy5zeW1ib2wsXG4gICAgICB0aXRsZSA9IHBhcmFtcy50aXRsZSxcbiAgICAgIG1hc2tJZCA9IHBhcmFtcy5tYXNrSWQsXG4gICAgICB0aXRsZUlkID0gcGFyYW1zLnRpdGxlSWQsXG4gICAgICBleHRyYSA9IHBhcmFtcy5leHRyYSxcbiAgICAgIF9wYXJhbXMkd2F0Y2hhYmxlID0gcGFyYW1zLndhdGNoYWJsZSxcbiAgICAgIHdhdGNoYWJsZSA9IF9wYXJhbXMkd2F0Y2hhYmxlID09PSB2b2lkIDAgPyBmYWxzZSA6IF9wYXJhbXMkd2F0Y2hhYmxlO1xuXG4gIHZhciBfcmVmID0gbWFzay5mb3VuZCA/IG1hc2sgOiBtYWluLFxuICAgICAgd2lkdGggPSBfcmVmLndpZHRoLFxuICAgICAgaGVpZ2h0ID0gX3JlZi5oZWlnaHQ7XG5cbiAgdmFyIGlzVXBsb2FkZWRJY29uID0gcHJlZml4ID09PSAnZmFrJztcbiAgdmFyIGF0dHJDbGFzcyA9IFtjb25maWcucmVwbGFjZW1lbnRDbGFzcywgaWNvbk5hbWUgPyBcIlwiLmNvbmNhdChjb25maWcuY3NzUHJlZml4LCBcIi1cIikuY29uY2F0KGljb25OYW1lKSA6ICcnXS5maWx0ZXIoZnVuY3Rpb24gKGMpIHtcbiAgICByZXR1cm4gZXh0cmEuY2xhc3Nlcy5pbmRleE9mKGMpID09PSAtMTtcbiAgfSkuZmlsdGVyKGZ1bmN0aW9uIChjKSB7XG4gICAgcmV0dXJuIGMgIT09ICcnIHx8ICEhYztcbiAgfSkuY29uY2F0KGV4dHJhLmNsYXNzZXMpLmpvaW4oJyAnKTtcbiAgdmFyIGNvbnRlbnQgPSB7XG4gICAgY2hpbGRyZW46IFtdLFxuICAgIGF0dHJpYnV0ZXM6IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBleHRyYS5hdHRyaWJ1dGVzKSwge30sIHtcbiAgICAgICdkYXRhLXByZWZpeCc6IHByZWZpeCxcbiAgICAgICdkYXRhLWljb24nOiBpY29uTmFtZSxcbiAgICAgICdjbGFzcyc6IGF0dHJDbGFzcyxcbiAgICAgICdyb2xlJzogZXh0cmEuYXR0cmlidXRlcy5yb2xlIHx8ICdpbWcnLFxuICAgICAgJ3htbG5zJzogJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyxcbiAgICAgICd2aWV3Qm94JzogXCIwIDAgXCIuY29uY2F0KHdpZHRoLCBcIiBcIikuY29uY2F0KGhlaWdodClcbiAgICB9KVxuICB9O1xuICB2YXIgdXBsb2FkZWRJY29uV2lkdGhTdHlsZSA9IGlzVXBsb2FkZWRJY29uICYmICF+ZXh0cmEuY2xhc3Nlcy5pbmRleE9mKCdmYS1mdycpID8ge1xuICAgIHdpZHRoOiBcIlwiLmNvbmNhdCh3aWR0aCAvIGhlaWdodCAqIDE2ICogMC4wNjI1LCBcImVtXCIpXG4gIH0gOiB7fTtcblxuICBpZiAod2F0Y2hhYmxlKSB7XG4gICAgY29udGVudC5hdHRyaWJ1dGVzW0RBVEFfRkFfSTJTVkddID0gJyc7XG4gIH1cblxuICBpZiAodGl0bGUpIHtcbiAgICBjb250ZW50LmNoaWxkcmVuLnB1c2goe1xuICAgICAgdGFnOiAndGl0bGUnLFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICBpZDogY29udGVudC5hdHRyaWJ1dGVzWydhcmlhLWxhYmVsbGVkYnknXSB8fCBcInRpdGxlLVwiLmNvbmNhdCh0aXRsZUlkIHx8IG5leHRVbmlxdWVJZCgpKVxuICAgICAgfSxcbiAgICAgIGNoaWxkcmVuOiBbdGl0bGVdXG4gICAgfSk7XG4gICAgZGVsZXRlIGNvbnRlbnQuYXR0cmlidXRlcy50aXRsZTtcbiAgfVxuXG4gIHZhciBhcmdzID0gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIGNvbnRlbnQpLCB7fSwge1xuICAgIHByZWZpeDogcHJlZml4LFxuICAgIGljb25OYW1lOiBpY29uTmFtZSxcbiAgICBtYWluOiBtYWluLFxuICAgIG1hc2s6IG1hc2ssXG4gICAgbWFza0lkOiBtYXNrSWQsXG4gICAgdHJhbnNmb3JtOiB0cmFuc2Zvcm0sXG4gICAgc3ltYm9sOiBzeW1ib2wsXG4gICAgc3R5bGVzOiBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgdXBsb2FkZWRJY29uV2lkdGhTdHlsZSksIGV4dHJhLnN0eWxlcylcbiAgfSk7XG5cbiAgdmFyIF9yZWYyID0gbWFzay5mb3VuZCAmJiBtYWluLmZvdW5kID8gY2FsbFByb3ZpZGVkKCdnZW5lcmF0ZUFic3RyYWN0TWFzaycsIGFyZ3MpIHx8IHtcbiAgICBjaGlsZHJlbjogW10sXG4gICAgYXR0cmlidXRlczoge31cbiAgfSA6IGNhbGxQcm92aWRlZCgnZ2VuZXJhdGVBYnN0cmFjdEljb24nLCBhcmdzKSB8fCB7XG4gICAgY2hpbGRyZW46IFtdLFxuICAgIGF0dHJpYnV0ZXM6IHt9XG4gIH0sXG4gICAgICBjaGlsZHJlbiA9IF9yZWYyLmNoaWxkcmVuLFxuICAgICAgYXR0cmlidXRlcyA9IF9yZWYyLmF0dHJpYnV0ZXM7XG5cbiAgYXJncy5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuICBhcmdzLmF0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVzO1xuXG4gIGlmIChzeW1ib2wpIHtcbiAgICByZXR1cm4gYXNTeW1ib2woYXJncyk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGFzSWNvbihhcmdzKTtcbiAgfVxufVxuZnVuY3Rpb24gbWFrZUxheWVyc1RleHRBYnN0cmFjdChwYXJhbXMpIHtcbiAgdmFyIGNvbnRlbnQgPSBwYXJhbXMuY29udGVudCxcbiAgICAgIHdpZHRoID0gcGFyYW1zLndpZHRoLFxuICAgICAgaGVpZ2h0ID0gcGFyYW1zLmhlaWdodCxcbiAgICAgIHRyYW5zZm9ybSA9IHBhcmFtcy50cmFuc2Zvcm0sXG4gICAgICB0aXRsZSA9IHBhcmFtcy50aXRsZSxcbiAgICAgIGV4dHJhID0gcGFyYW1zLmV4dHJhLFxuICAgICAgX3BhcmFtcyR3YXRjaGFibGUyID0gcGFyYW1zLndhdGNoYWJsZSxcbiAgICAgIHdhdGNoYWJsZSA9IF9wYXJhbXMkd2F0Y2hhYmxlMiA9PT0gdm9pZCAwID8gZmFsc2UgOiBfcGFyYW1zJHdhdGNoYWJsZTI7XG5cbiAgdmFyIGF0dHJpYnV0ZXMgPSBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgZXh0cmEuYXR0cmlidXRlcyksIHRpdGxlID8ge1xuICAgICd0aXRsZSc6IHRpdGxlXG4gIH0gOiB7fSksIHt9LCB7XG4gICAgJ2NsYXNzJzogZXh0cmEuY2xhc3Nlcy5qb2luKCcgJylcbiAgfSk7XG5cbiAgaWYgKHdhdGNoYWJsZSkge1xuICAgIGF0dHJpYnV0ZXNbREFUQV9GQV9JMlNWR10gPSAnJztcbiAgfVxuXG4gIHZhciBzdHlsZXMgPSBfb2JqZWN0U3ByZWFkMih7fSwgZXh0cmEuc3R5bGVzKTtcblxuICBpZiAodHJhbnNmb3JtSXNNZWFuaW5nZnVsKHRyYW5zZm9ybSkpIHtcbiAgICBzdHlsZXNbJ3RyYW5zZm9ybSddID0gdHJhbnNmb3JtRm9yQ3NzKHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNmb3JtLFxuICAgICAgc3RhcnRDZW50ZXJlZDogdHJ1ZSxcbiAgICAgIHdpZHRoOiB3aWR0aCxcbiAgICAgIGhlaWdodDogaGVpZ2h0XG4gICAgfSk7XG4gICAgc3R5bGVzWyctd2Via2l0LXRyYW5zZm9ybSddID0gc3R5bGVzWyd0cmFuc2Zvcm0nXTtcbiAgfVxuXG4gIHZhciBzdHlsZVN0cmluZyA9IGpvaW5TdHlsZXMoc3R5bGVzKTtcblxuICBpZiAoc3R5bGVTdHJpbmcubGVuZ3RoID4gMCkge1xuICAgIGF0dHJpYnV0ZXNbJ3N0eWxlJ10gPSBzdHlsZVN0cmluZztcbiAgfVxuXG4gIHZhciB2YWwgPSBbXTtcbiAgdmFsLnB1c2goe1xuICAgIHRhZzogJ3NwYW4nLFxuICAgIGF0dHJpYnV0ZXM6IGF0dHJpYnV0ZXMsXG4gICAgY2hpbGRyZW46IFtjb250ZW50XVxuICB9KTtcblxuICBpZiAodGl0bGUpIHtcbiAgICB2YWwucHVzaCh7XG4gICAgICB0YWc6ICdzcGFuJyxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgY2xhc3M6ICdzci1vbmx5J1xuICAgICAgfSxcbiAgICAgIGNoaWxkcmVuOiBbdGl0bGVdXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gdmFsO1xufVxuZnVuY3Rpb24gbWFrZUxheWVyc0NvdW50ZXJBYnN0cmFjdChwYXJhbXMpIHtcbiAgdmFyIGNvbnRlbnQgPSBwYXJhbXMuY29udGVudCxcbiAgICAgIHRpdGxlID0gcGFyYW1zLnRpdGxlLFxuICAgICAgZXh0cmEgPSBwYXJhbXMuZXh0cmE7XG5cbiAgdmFyIGF0dHJpYnV0ZXMgPSBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgZXh0cmEuYXR0cmlidXRlcyksIHRpdGxlID8ge1xuICAgICd0aXRsZSc6IHRpdGxlXG4gIH0gOiB7fSksIHt9LCB7XG4gICAgJ2NsYXNzJzogZXh0cmEuY2xhc3Nlcy5qb2luKCcgJylcbiAgfSk7XG5cbiAgdmFyIHN0eWxlU3RyaW5nID0gam9pblN0eWxlcyhleHRyYS5zdHlsZXMpO1xuXG4gIGlmIChzdHlsZVN0cmluZy5sZW5ndGggPiAwKSB7XG4gICAgYXR0cmlidXRlc1snc3R5bGUnXSA9IHN0eWxlU3RyaW5nO1xuICB9XG5cbiAgdmFyIHZhbCA9IFtdO1xuICB2YWwucHVzaCh7XG4gICAgdGFnOiAnc3BhbicsXG4gICAgYXR0cmlidXRlczogYXR0cmlidXRlcyxcbiAgICBjaGlsZHJlbjogW2NvbnRlbnRdXG4gIH0pO1xuXG4gIGlmICh0aXRsZSkge1xuICAgIHZhbC5wdXNoKHtcbiAgICAgIHRhZzogJ3NwYW4nLFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICBjbGFzczogJ3NyLW9ubHknXG4gICAgICB9LFxuICAgICAgY2hpbGRyZW46IFt0aXRsZV1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiB2YWw7XG59XG5cbnZhciBzdHlsZXMkMSA9IG5hbWVzcGFjZS5zdHlsZXM7XG5mdW5jdGlvbiBhc0ZvdW5kSWNvbihpY29uKSB7XG4gIHZhciB3aWR0aCA9IGljb25bMF07XG4gIHZhciBoZWlnaHQgPSBpY29uWzFdO1xuXG4gIHZhciBfaWNvbiRzbGljZSA9IGljb24uc2xpY2UoNCksXG4gICAgICBfaWNvbiRzbGljZTIgPSBfc2xpY2VkVG9BcnJheShfaWNvbiRzbGljZSwgMSksXG4gICAgICB2ZWN0b3JEYXRhID0gX2ljb24kc2xpY2UyWzBdO1xuXG4gIHZhciBlbGVtZW50ID0gbnVsbDtcblxuICBpZiAoQXJyYXkuaXNBcnJheSh2ZWN0b3JEYXRhKSkge1xuICAgIGVsZW1lbnQgPSB7XG4gICAgICB0YWc6ICdnJyxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgY2xhc3M6IFwiXCIuY29uY2F0KGNvbmZpZy5jc3NQcmVmaXgsIFwiLVwiKS5jb25jYXQoRFVPVE9ORV9DTEFTU0VTLkdST1VQKVxuICAgICAgfSxcbiAgICAgIGNoaWxkcmVuOiBbe1xuICAgICAgICB0YWc6ICdwYXRoJyxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIGNsYXNzOiBcIlwiLmNvbmNhdChjb25maWcuY3NzUHJlZml4LCBcIi1cIikuY29uY2F0KERVT1RPTkVfQ0xBU1NFUy5TRUNPTkRBUlkpLFxuICAgICAgICAgIGZpbGw6ICdjdXJyZW50Q29sb3InLFxuICAgICAgICAgIGQ6IHZlY3RvckRhdGFbMF1cbiAgICAgICAgfVxuICAgICAgfSwge1xuICAgICAgICB0YWc6ICdwYXRoJyxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIGNsYXNzOiBcIlwiLmNvbmNhdChjb25maWcuY3NzUHJlZml4LCBcIi1cIikuY29uY2F0KERVT1RPTkVfQ0xBU1NFUy5QUklNQVJZKSxcbiAgICAgICAgICBmaWxsOiAnY3VycmVudENvbG9yJyxcbiAgICAgICAgICBkOiB2ZWN0b3JEYXRhWzFdXG4gICAgICAgIH1cbiAgICAgIH1dXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICBlbGVtZW50ID0ge1xuICAgICAgdGFnOiAncGF0aCcsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGZpbGw6ICdjdXJyZW50Q29sb3InLFxuICAgICAgICBkOiB2ZWN0b3JEYXRhXG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZm91bmQ6IHRydWUsXG4gICAgd2lkdGg6IHdpZHRoLFxuICAgIGhlaWdodDogaGVpZ2h0LFxuICAgIGljb246IGVsZW1lbnRcbiAgfTtcbn1cbnZhciBtaXNzaW5nSWNvblJlc29sdXRpb25NaXhpbiA9IHtcbiAgZm91bmQ6IGZhbHNlLFxuICB3aWR0aDogNTEyLFxuICBoZWlnaHQ6IDUxMlxufTtcblxuZnVuY3Rpb24gbWF5YmVOb3RpZnlNaXNzaW5nKGljb25OYW1lLCBwcmVmaXgpIHtcbiAgaWYgKCFQUk9EVUNUSU9OICYmICFjb25maWcuc2hvd01pc3NpbmdJY29ucyAmJiBpY29uTmFtZSkge1xuICAgIGNvbnNvbGUuZXJyb3IoXCJJY29uIHdpdGggbmFtZSBcXFwiXCIuY29uY2F0KGljb25OYW1lLCBcIlxcXCIgYW5kIHByZWZpeCBcXFwiXCIpLmNvbmNhdChwcmVmaXgsIFwiXFxcIiBpcyBtaXNzaW5nLlwiKSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZEljb24oaWNvbk5hbWUsIHByZWZpeCkge1xuICB2YXIgZ2l2ZW5QcmVmaXggPSBwcmVmaXg7XG5cbiAgaWYgKHByZWZpeCA9PT0gJ2ZhJyAmJiBjb25maWcuc3R5bGVEZWZhdWx0ICE9PSBudWxsKSB7XG4gICAgcHJlZml4ID0gZ2V0RGVmYXVsdFVzYWJsZVByZWZpeCgpO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICB2YXIgdmFsID0ge1xuICAgICAgZm91bmQ6IGZhbHNlLFxuICAgICAgd2lkdGg6IDUxMixcbiAgICAgIGhlaWdodDogNTEyLFxuICAgICAgaWNvbjogY2FsbFByb3ZpZGVkKCdtaXNzaW5nSWNvbkFic3RyYWN0JykgfHwge31cbiAgICB9O1xuXG4gICAgaWYgKGdpdmVuUHJlZml4ID09PSAnZmEnKSB7XG4gICAgICB2YXIgc2hpbSA9IGJ5T2xkTmFtZShpY29uTmFtZSkgfHwge307XG4gICAgICBpY29uTmFtZSA9IHNoaW0uaWNvbk5hbWUgfHwgaWNvbk5hbWU7XG4gICAgICBwcmVmaXggPSBzaGltLnByZWZpeCB8fCBwcmVmaXg7XG4gICAgfVxuXG4gICAgaWYgKGljb25OYW1lICYmIHByZWZpeCAmJiBzdHlsZXMkMVtwcmVmaXhdICYmIHN0eWxlcyQxW3ByZWZpeF1baWNvbk5hbWVdKSB7XG4gICAgICB2YXIgaWNvbiA9IHN0eWxlcyQxW3ByZWZpeF1baWNvbk5hbWVdO1xuICAgICAgcmV0dXJuIHJlc29sdmUoYXNGb3VuZEljb24oaWNvbikpO1xuICAgIH1cblxuICAgIG1heWJlTm90aWZ5TWlzc2luZyhpY29uTmFtZSwgcHJlZml4KTtcbiAgICByZXNvbHZlKF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBtaXNzaW5nSWNvblJlc29sdXRpb25NaXhpbiksIHt9LCB7XG4gICAgICBpY29uOiBjb25maWcuc2hvd01pc3NpbmdJY29ucyAmJiBpY29uTmFtZSA/IGNhbGxQcm92aWRlZCgnbWlzc2luZ0ljb25BYnN0cmFjdCcpIHx8IHt9IDoge31cbiAgICB9KSk7XG4gIH0pO1xufVxuXG52YXIgbm9vcCQxID0gZnVuY3Rpb24gbm9vcCgpIHt9O1xuXG52YXIgcCA9IGNvbmZpZy5tZWFzdXJlUGVyZm9ybWFuY2UgJiYgUEVSRk9STUFOQ0UgJiYgUEVSRk9STUFOQ0UubWFyayAmJiBQRVJGT1JNQU5DRS5tZWFzdXJlID8gUEVSRk9STUFOQ0UgOiB7XG4gIG1hcms6IG5vb3AkMSxcbiAgbWVhc3VyZTogbm9vcCQxXG59O1xudmFyIHByZWFtYmxlID0gXCJGQSBcXFwiNi41LjJcXFwiXCI7XG5cbnZhciBiZWdpbiA9IGZ1bmN0aW9uIGJlZ2luKG5hbWUpIHtcbiAgcC5tYXJrKFwiXCIuY29uY2F0KHByZWFtYmxlLCBcIiBcIikuY29uY2F0KG5hbWUsIFwiIGJlZ2luc1wiKSk7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIGVuZChuYW1lKTtcbiAgfTtcbn07XG5cbnZhciBlbmQgPSBmdW5jdGlvbiBlbmQobmFtZSkge1xuICBwLm1hcmsoXCJcIi5jb25jYXQocHJlYW1ibGUsIFwiIFwiKS5jb25jYXQobmFtZSwgXCIgZW5kc1wiKSk7XG4gIHAubWVhc3VyZShcIlwiLmNvbmNhdChwcmVhbWJsZSwgXCIgXCIpLmNvbmNhdChuYW1lKSwgXCJcIi5jb25jYXQocHJlYW1ibGUsIFwiIFwiKS5jb25jYXQobmFtZSwgXCIgYmVnaW5zXCIpLCBcIlwiLmNvbmNhdChwcmVhbWJsZSwgXCIgXCIpLmNvbmNhdChuYW1lLCBcIiBlbmRzXCIpKTtcbn07XG5cbnZhciBwZXJmID0ge1xuICBiZWdpbjogYmVnaW4sXG4gIGVuZDogZW5kXG59O1xuXG52YXIgbm9vcCQyID0gZnVuY3Rpb24gbm9vcCgpIHt9O1xuXG5mdW5jdGlvbiBpc1dhdGNoZWQobm9kZSkge1xuICB2YXIgaTJzdmcgPSBub2RlLmdldEF0dHJpYnV0ZSA/IG5vZGUuZ2V0QXR0cmlidXRlKERBVEFfRkFfSTJTVkcpIDogbnVsbDtcbiAgcmV0dXJuIHR5cGVvZiBpMnN2ZyA9PT0gJ3N0cmluZyc7XG59XG5cbmZ1bmN0aW9uIGhhc1ByZWZpeEFuZEljb24obm9kZSkge1xuICB2YXIgcHJlZml4ID0gbm9kZS5nZXRBdHRyaWJ1dGUgPyBub2RlLmdldEF0dHJpYnV0ZShEQVRBX1BSRUZJWCkgOiBudWxsO1xuICB2YXIgaWNvbiA9IG5vZGUuZ2V0QXR0cmlidXRlID8gbm9kZS5nZXRBdHRyaWJ1dGUoREFUQV9JQ09OKSA6IG51bGw7XG4gIHJldHVybiBwcmVmaXggJiYgaWNvbjtcbn1cblxuZnVuY3Rpb24gaGFzQmVlblJlcGxhY2VkKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUgJiYgbm9kZS5jbGFzc0xpc3QgJiYgbm9kZS5jbGFzc0xpc3QuY29udGFpbnMgJiYgbm9kZS5jbGFzc0xpc3QuY29udGFpbnMoY29uZmlnLnJlcGxhY2VtZW50Q2xhc3MpO1xufVxuXG5mdW5jdGlvbiBnZXRNdXRhdG9yKCkge1xuICBpZiAoY29uZmlnLmF1dG9SZXBsYWNlU3ZnID09PSB0cnVlKSB7XG4gICAgcmV0dXJuIG11dGF0b3JzLnJlcGxhY2U7XG4gIH1cblxuICB2YXIgbXV0YXRvciA9IG11dGF0b3JzW2NvbmZpZy5hdXRvUmVwbGFjZVN2Z107XG4gIHJldHVybiBtdXRhdG9yIHx8IG11dGF0b3JzLnJlcGxhY2U7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnROUyh0YWcpIHtcbiAgcmV0dXJuIERPQ1VNRU5ULmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCB0YWcpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50KHRhZykge1xuICByZXR1cm4gRE9DVU1FTlQuY3JlYXRlRWxlbWVudCh0YWcpO1xufVxuXG5mdW5jdGlvbiBjb252ZXJ0U1ZHKGFic3RyYWN0T2JqKSB7XG4gIHZhciBwYXJhbXMgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuICB2YXIgX3BhcmFtcyRjZUZuID0gcGFyYW1zLmNlRm4sXG4gICAgICBjZUZuID0gX3BhcmFtcyRjZUZuID09PSB2b2lkIDAgPyBhYnN0cmFjdE9iai50YWcgPT09ICdzdmcnID8gY3JlYXRlRWxlbWVudE5TIDogY3JlYXRlRWxlbWVudCA6IF9wYXJhbXMkY2VGbjtcblxuICBpZiAodHlwZW9mIGFic3RyYWN0T2JqID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBET0NVTUVOVC5jcmVhdGVUZXh0Tm9kZShhYnN0cmFjdE9iaik7XG4gIH1cblxuICB2YXIgdGFnID0gY2VGbihhYnN0cmFjdE9iai50YWcpO1xuICBPYmplY3Qua2V5cyhhYnN0cmFjdE9iai5hdHRyaWJ1dGVzIHx8IFtdKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICB0YWcuc2V0QXR0cmlidXRlKGtleSwgYWJzdHJhY3RPYmouYXR0cmlidXRlc1trZXldKTtcbiAgfSk7XG4gIHZhciBjaGlsZHJlbiA9IGFic3RyYWN0T2JqLmNoaWxkcmVuIHx8IFtdO1xuICBjaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uIChjaGlsZCkge1xuICAgIHRhZy5hcHBlbmRDaGlsZChjb252ZXJ0U1ZHKGNoaWxkLCB7XG4gICAgICBjZUZuOiBjZUZuXG4gICAgfSkpO1xuICB9KTtcbiAgcmV0dXJuIHRhZztcbn1cblxuZnVuY3Rpb24gbm9kZUFzQ29tbWVudChub2RlKSB7XG4gIHZhciBjb21tZW50ID0gXCIgXCIuY29uY2F0KG5vZGUub3V0ZXJIVE1MLCBcIiBcIik7XG4gIC8qIEJFR0lOLkFUVFJJQlVUSU9OICovXG5cbiAgY29tbWVudCA9IFwiXCIuY29uY2F0KGNvbW1lbnQsIFwiRm9udCBBd2Vzb21lIGZvbnRhd2Vzb21lLmNvbSBcIik7XG4gIC8qIEVORC5BVFRSSUJVVElPTiAqL1xuXG4gIHJldHVybiBjb21tZW50O1xufVxuXG52YXIgbXV0YXRvcnMgPSB7XG4gIHJlcGxhY2U6IGZ1bmN0aW9uIHJlcGxhY2UobXV0YXRpb24pIHtcbiAgICB2YXIgbm9kZSA9IG11dGF0aW9uWzBdO1xuXG4gICAgaWYgKG5vZGUucGFyZW50Tm9kZSkge1xuICAgICAgbXV0YXRpb25bMV0uZm9yRWFjaChmdW5jdGlvbiAoX2Fic3RyYWN0KSB7XG4gICAgICAgIG5vZGUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoY29udmVydFNWRyhfYWJzdHJhY3QpLCBub2RlKTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAobm9kZS5nZXRBdHRyaWJ1dGUoREFUQV9GQV9JMlNWRykgPT09IG51bGwgJiYgY29uZmlnLmtlZXBPcmlnaW5hbFNvdXJjZSkge1xuICAgICAgICB2YXIgY29tbWVudCA9IERPQ1VNRU5ULmNyZWF0ZUNvbW1lbnQobm9kZUFzQ29tbWVudChub2RlKSk7XG4gICAgICAgIG5vZGUucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQoY29tbWVudCwgbm9kZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub2RlLnJlbW92ZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgbmVzdDogZnVuY3Rpb24gbmVzdChtdXRhdGlvbikge1xuICAgIHZhciBub2RlID0gbXV0YXRpb25bMF07XG4gICAgdmFyIF9hYnN0cmFjdDIgPSBtdXRhdGlvblsxXTsgLy8gSWYgd2UgYWxyZWFkeSBoYXZlIGEgcmVwbGFjZWQgbm9kZSB3ZSBkbyBub3Qgd2FudCB0byBjb250aW51ZSBuZXN0aW5nIHdpdGhpbiBpdC5cbiAgICAvLyBTaG9ydC1jaXJjdWl0IHRvIHRoZSBzdGFuZGFyZCByZXBsYWNlbWVudFxuXG4gICAgaWYgKH5jbGFzc0FycmF5KG5vZGUpLmluZGV4T2YoY29uZmlnLnJlcGxhY2VtZW50Q2xhc3MpKSB7XG4gICAgICByZXR1cm4gbXV0YXRvcnMucmVwbGFjZShtdXRhdGlvbik7XG4gICAgfVxuXG4gICAgdmFyIGZvclN2ZyA9IG5ldyBSZWdFeHAoXCJcIi5jb25jYXQoY29uZmlnLmNzc1ByZWZpeCwgXCItLipcIikpO1xuICAgIGRlbGV0ZSBfYWJzdHJhY3QyWzBdLmF0dHJpYnV0ZXMuaWQ7XG5cbiAgICBpZiAoX2Fic3RyYWN0MlswXS5hdHRyaWJ1dGVzLmNsYXNzKSB7XG4gICAgICB2YXIgc3BsaXRDbGFzc2VzID0gX2Fic3RyYWN0MlswXS5hdHRyaWJ1dGVzLmNsYXNzLnNwbGl0KCcgJykucmVkdWNlKGZ1bmN0aW9uIChhY2MsIGNscykge1xuICAgICAgICBpZiAoY2xzID09PSBjb25maWcucmVwbGFjZW1lbnRDbGFzcyB8fCBjbHMubWF0Y2goZm9yU3ZnKSkge1xuICAgICAgICAgIGFjYy50b1N2Zy5wdXNoKGNscyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWNjLnRvTm9kZS5wdXNoKGNscyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge1xuICAgICAgICB0b05vZGU6IFtdLFxuICAgICAgICB0b1N2ZzogW11cbiAgICAgIH0pO1xuXG4gICAgICBfYWJzdHJhY3QyWzBdLmF0dHJpYnV0ZXMuY2xhc3MgPSBzcGxpdENsYXNzZXMudG9Tdmcuam9pbignICcpO1xuXG4gICAgICBpZiAoc3BsaXRDbGFzc2VzLnRvTm9kZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUoJ2NsYXNzJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub2RlLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCBzcGxpdENsYXNzZXMudG9Ob2RlLmpvaW4oJyAnKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIG5ld0lubmVySFRNTCA9IF9hYnN0cmFjdDIubWFwKGZ1bmN0aW9uIChhKSB7XG4gICAgICByZXR1cm4gdG9IdG1sKGEpO1xuICAgIH0pLmpvaW4oJ1xcbicpO1xuXG4gICAgbm9kZS5zZXRBdHRyaWJ1dGUoREFUQV9GQV9JMlNWRywgJycpO1xuICAgIG5vZGUuaW5uZXJIVE1MID0gbmV3SW5uZXJIVE1MO1xuICB9XG59O1xuXG5mdW5jdGlvbiBwZXJmb3JtT3BlcmF0aW9uU3luYyhvcCkge1xuICBvcCgpO1xufVxuXG5mdW5jdGlvbiBwZXJmb3JtKG11dGF0aW9ucywgY2FsbGJhY2spIHtcbiAgdmFyIGNhbGxiYWNrRnVuY3Rpb24gPSB0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicgPyBjYWxsYmFjayA6IG5vb3AkMjtcblxuICBpZiAobXV0YXRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgIGNhbGxiYWNrRnVuY3Rpb24oKTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgZnJhbWUgPSBwZXJmb3JtT3BlcmF0aW9uU3luYztcblxuICAgIGlmIChjb25maWcubXV0YXRlQXBwcm9hY2ggPT09IE1VVEFUSU9OX0FQUFJPQUNIX0FTWU5DKSB7XG4gICAgICBmcmFtZSA9IFdJTkRPVy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwgcGVyZm9ybU9wZXJhdGlvblN5bmM7XG4gICAgfVxuXG4gICAgZnJhbWUoZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIG11dGF0b3IgPSBnZXRNdXRhdG9yKCk7XG4gICAgICB2YXIgbWFyayA9IHBlcmYuYmVnaW4oJ211dGF0ZScpO1xuICAgICAgbXV0YXRpb25zLm1hcChtdXRhdG9yKTtcbiAgICAgIG1hcmsoKTtcbiAgICAgIGNhbGxiYWNrRnVuY3Rpb24oKTtcbiAgICB9KTtcbiAgfVxufVxudmFyIGRpc2FibGVkID0gZmFsc2U7XG5mdW5jdGlvbiBkaXNhYmxlT2JzZXJ2YXRpb24oKSB7XG4gIGRpc2FibGVkID0gdHJ1ZTtcbn1cbmZ1bmN0aW9uIGVuYWJsZU9ic2VydmF0aW9uKCkge1xuICBkaXNhYmxlZCA9IGZhbHNlO1xufVxudmFyIG1vID0gbnVsbDtcbmZ1bmN0aW9uIG9ic2VydmUob3B0aW9ucykge1xuICBpZiAoIU1VVEFUSU9OX09CU0VSVkVSKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKCFjb25maWcub2JzZXJ2ZU11dGF0aW9ucykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBfb3B0aW9ucyR0cmVlQ2FsbGJhY2sgPSBvcHRpb25zLnRyZWVDYWxsYmFjayxcbiAgICAgIHRyZWVDYWxsYmFjayA9IF9vcHRpb25zJHRyZWVDYWxsYmFjayA9PT0gdm9pZCAwID8gbm9vcCQyIDogX29wdGlvbnMkdHJlZUNhbGxiYWNrLFxuICAgICAgX29wdGlvbnMkbm9kZUNhbGxiYWNrID0gb3B0aW9ucy5ub2RlQ2FsbGJhY2ssXG4gICAgICBub2RlQ2FsbGJhY2sgPSBfb3B0aW9ucyRub2RlQ2FsbGJhY2sgPT09IHZvaWQgMCA/IG5vb3AkMiA6IF9vcHRpb25zJG5vZGVDYWxsYmFjayxcbiAgICAgIF9vcHRpb25zJHBzZXVkb0VsZW1lbiA9IG9wdGlvbnMucHNldWRvRWxlbWVudHNDYWxsYmFjayxcbiAgICAgIHBzZXVkb0VsZW1lbnRzQ2FsbGJhY2sgPSBfb3B0aW9ucyRwc2V1ZG9FbGVtZW4gPT09IHZvaWQgMCA/IG5vb3AkMiA6IF9vcHRpb25zJHBzZXVkb0VsZW1lbixcbiAgICAgIF9vcHRpb25zJG9ic2VydmVNdXRhdCA9IG9wdGlvbnMub2JzZXJ2ZU11dGF0aW9uc1Jvb3QsXG4gICAgICBvYnNlcnZlTXV0YXRpb25zUm9vdCA9IF9vcHRpb25zJG9ic2VydmVNdXRhdCA9PT0gdm9pZCAwID8gRE9DVU1FTlQgOiBfb3B0aW9ucyRvYnNlcnZlTXV0YXQ7XG4gIG1vID0gbmV3IE1VVEFUSU9OX09CU0VSVkVSKGZ1bmN0aW9uIChvYmplY3RzKSB7XG4gICAgaWYgKGRpc2FibGVkKSByZXR1cm47XG4gICAgdmFyIGRlZmF1bHRQcmVmaXggPSBnZXREZWZhdWx0VXNhYmxlUHJlZml4KCk7XG4gICAgdG9BcnJheShvYmplY3RzKS5mb3JFYWNoKGZ1bmN0aW9uIChtdXRhdGlvblJlY29yZCkge1xuICAgICAgaWYgKG11dGF0aW9uUmVjb3JkLnR5cGUgPT09ICdjaGlsZExpc3QnICYmIG11dGF0aW9uUmVjb3JkLmFkZGVkTm9kZXMubGVuZ3RoID4gMCAmJiAhaXNXYXRjaGVkKG11dGF0aW9uUmVjb3JkLmFkZGVkTm9kZXNbMF0pKSB7XG4gICAgICAgIGlmIChjb25maWcuc2VhcmNoUHNldWRvRWxlbWVudHMpIHtcbiAgICAgICAgICBwc2V1ZG9FbGVtZW50c0NhbGxiYWNrKG11dGF0aW9uUmVjb3JkLnRhcmdldCk7XG4gICAgICAgIH1cblxuICAgICAgICB0cmVlQ2FsbGJhY2sobXV0YXRpb25SZWNvcmQudGFyZ2V0KTtcbiAgICAgIH1cblxuICAgICAgaWYgKG11dGF0aW9uUmVjb3JkLnR5cGUgPT09ICdhdHRyaWJ1dGVzJyAmJiBtdXRhdGlvblJlY29yZC50YXJnZXQucGFyZW50Tm9kZSAmJiBjb25maWcuc2VhcmNoUHNldWRvRWxlbWVudHMpIHtcbiAgICAgICAgcHNldWRvRWxlbWVudHNDYWxsYmFjayhtdXRhdGlvblJlY29yZC50YXJnZXQucGFyZW50Tm9kZSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChtdXRhdGlvblJlY29yZC50eXBlID09PSAnYXR0cmlidXRlcycgJiYgaXNXYXRjaGVkKG11dGF0aW9uUmVjb3JkLnRhcmdldCkgJiYgfkFUVFJJQlVURVNfV0FUQ0hFRF9GT1JfTVVUQVRJT04uaW5kZXhPZihtdXRhdGlvblJlY29yZC5hdHRyaWJ1dGVOYW1lKSkge1xuICAgICAgICBpZiAobXV0YXRpb25SZWNvcmQuYXR0cmlidXRlTmFtZSA9PT0gJ2NsYXNzJyAmJiBoYXNQcmVmaXhBbmRJY29uKG11dGF0aW9uUmVjb3JkLnRhcmdldCkpIHtcbiAgICAgICAgICB2YXIgX2dldENhbm9uaWNhbEljb24gPSBnZXRDYW5vbmljYWxJY29uKGNsYXNzQXJyYXkobXV0YXRpb25SZWNvcmQudGFyZ2V0KSksXG4gICAgICAgICAgICAgIHByZWZpeCA9IF9nZXRDYW5vbmljYWxJY29uLnByZWZpeCxcbiAgICAgICAgICAgICAgaWNvbk5hbWUgPSBfZ2V0Q2Fub25pY2FsSWNvbi5pY29uTmFtZTtcblxuICAgICAgICAgIG11dGF0aW9uUmVjb3JkLnRhcmdldC5zZXRBdHRyaWJ1dGUoREFUQV9QUkVGSVgsIHByZWZpeCB8fCBkZWZhdWx0UHJlZml4KTtcbiAgICAgICAgICBpZiAoaWNvbk5hbWUpIG11dGF0aW9uUmVjb3JkLnRhcmdldC5zZXRBdHRyaWJ1dGUoREFUQV9JQ09OLCBpY29uTmFtZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoaGFzQmVlblJlcGxhY2VkKG11dGF0aW9uUmVjb3JkLnRhcmdldCkpIHtcbiAgICAgICAgICBub2RlQ2FsbGJhY2sobXV0YXRpb25SZWNvcmQudGFyZ2V0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbiAgaWYgKCFJU19ET00pIHJldHVybjtcbiAgbW8ub2JzZXJ2ZShvYnNlcnZlTXV0YXRpb25zUm9vdCwge1xuICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgIGNoYXJhY3RlckRhdGE6IHRydWUsXG4gICAgc3VidHJlZTogdHJ1ZVxuICB9KTtcbn1cbmZ1bmN0aW9uIGRpc2Nvbm5lY3QoKSB7XG4gIGlmICghbW8pIHJldHVybjtcbiAgbW8uZGlzY29ubmVjdCgpO1xufVxuXG5mdW5jdGlvbiBzdHlsZVBhcnNlciAobm9kZSkge1xuICB2YXIgc3R5bGUgPSBub2RlLmdldEF0dHJpYnV0ZSgnc3R5bGUnKTtcbiAgdmFyIHZhbCA9IFtdO1xuXG4gIGlmIChzdHlsZSkge1xuICAgIHZhbCA9IHN0eWxlLnNwbGl0KCc7JykucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHN0eWxlKSB7XG4gICAgICB2YXIgc3R5bGVzID0gc3R5bGUuc3BsaXQoJzonKTtcbiAgICAgIHZhciBwcm9wID0gc3R5bGVzWzBdO1xuICAgICAgdmFyIHZhbHVlID0gc3R5bGVzLnNsaWNlKDEpO1xuXG4gICAgICBpZiAocHJvcCAmJiB2YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgIGFjY1twcm9wXSA9IHZhbHVlLmpvaW4oJzonKS50cmltKCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30pO1xuICB9XG5cbiAgcmV0dXJuIHZhbDtcbn1cblxuZnVuY3Rpb24gY2xhc3NQYXJzZXIgKG5vZGUpIHtcbiAgdmFyIGV4aXN0aW5nUHJlZml4ID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtcHJlZml4Jyk7XG4gIHZhciBleGlzdGluZ0ljb25OYW1lID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtaWNvbicpO1xuICB2YXIgaW5uZXJUZXh0ID0gbm9kZS5pbm5lclRleHQgIT09IHVuZGVmaW5lZCA/IG5vZGUuaW5uZXJUZXh0LnRyaW0oKSA6ICcnO1xuICB2YXIgdmFsID0gZ2V0Q2Fub25pY2FsSWNvbihjbGFzc0FycmF5KG5vZGUpKTtcblxuICBpZiAoIXZhbC5wcmVmaXgpIHtcbiAgICB2YWwucHJlZml4ID0gZ2V0RGVmYXVsdFVzYWJsZVByZWZpeCgpO1xuICB9XG5cbiAgaWYgKGV4aXN0aW5nUHJlZml4ICYmIGV4aXN0aW5nSWNvbk5hbWUpIHtcbiAgICB2YWwucHJlZml4ID0gZXhpc3RpbmdQcmVmaXg7XG4gICAgdmFsLmljb25OYW1lID0gZXhpc3RpbmdJY29uTmFtZTtcbiAgfVxuXG4gIGlmICh2YWwuaWNvbk5hbWUgJiYgdmFsLnByZWZpeCkge1xuICAgIHJldHVybiB2YWw7XG4gIH1cblxuICBpZiAodmFsLnByZWZpeCAmJiBpbm5lclRleHQubGVuZ3RoID4gMCkge1xuICAgIHZhbC5pY29uTmFtZSA9IGJ5TGlnYXR1cmUodmFsLnByZWZpeCwgbm9kZS5pbm5lclRleHQpIHx8IGJ5VW5pY29kZSh2YWwucHJlZml4LCB0b0hleChub2RlLmlubmVyVGV4dCkpO1xuICB9XG5cbiAgaWYgKCF2YWwuaWNvbk5hbWUgJiYgY29uZmlnLmF1dG9GZXRjaFN2ZyAmJiBub2RlLmZpcnN0Q2hpbGQgJiYgbm9kZS5maXJzdENoaWxkLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSkge1xuICAgIHZhbC5pY29uTmFtZSA9IG5vZGUuZmlyc3RDaGlsZC5kYXRhO1xuICB9XG5cbiAgcmV0dXJuIHZhbDtcbn1cblxuZnVuY3Rpb24gYXR0cmlidXRlc1BhcnNlciAobm9kZSkge1xuICB2YXIgZXh0cmFBdHRyaWJ1dGVzID0gdG9BcnJheShub2RlLmF0dHJpYnV0ZXMpLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBhdHRyKSB7XG4gICAgaWYgKGFjYy5uYW1lICE9PSAnY2xhc3MnICYmIGFjYy5uYW1lICE9PSAnc3R5bGUnKSB7XG4gICAgICBhY2NbYXR0ci5uYW1lXSA9IGF0dHIudmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuICB2YXIgdGl0bGUgPSBub2RlLmdldEF0dHJpYnV0ZSgndGl0bGUnKTtcbiAgdmFyIHRpdGxlSWQgPSBub2RlLmdldEF0dHJpYnV0ZSgnZGF0YS1mYS10aXRsZS1pZCcpO1xuXG4gIGlmIChjb25maWcuYXV0b0ExMXkpIHtcbiAgICBpZiAodGl0bGUpIHtcbiAgICAgIGV4dHJhQXR0cmlidXRlc1snYXJpYS1sYWJlbGxlZGJ5J10gPSBcIlwiLmNvbmNhdChjb25maWcucmVwbGFjZW1lbnRDbGFzcywgXCItdGl0bGUtXCIpLmNvbmNhdCh0aXRsZUlkIHx8IG5leHRVbmlxdWVJZCgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXh0cmFBdHRyaWJ1dGVzWydhcmlhLWhpZGRlbiddID0gJ3RydWUnO1xuICAgICAgZXh0cmFBdHRyaWJ1dGVzWydmb2N1c2FibGUnXSA9ICdmYWxzZSc7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGV4dHJhQXR0cmlidXRlcztcbn1cblxuZnVuY3Rpb24gYmxhbmtNZXRhKCkge1xuICByZXR1cm4ge1xuICAgIGljb25OYW1lOiBudWxsLFxuICAgIHRpdGxlOiBudWxsLFxuICAgIHRpdGxlSWQ6IG51bGwsXG4gICAgcHJlZml4OiBudWxsLFxuICAgIHRyYW5zZm9ybTogbWVhbmluZ2xlc3NUcmFuc2Zvcm0sXG4gICAgc3ltYm9sOiBmYWxzZSxcbiAgICBtYXNrOiB7XG4gICAgICBpY29uTmFtZTogbnVsbCxcbiAgICAgIHByZWZpeDogbnVsbCxcbiAgICAgIHJlc3Q6IFtdXG4gICAgfSxcbiAgICBtYXNrSWQ6IG51bGwsXG4gICAgZXh0cmE6IHtcbiAgICAgIGNsYXNzZXM6IFtdLFxuICAgICAgc3R5bGVzOiB7fSxcbiAgICAgIGF0dHJpYnV0ZXM6IHt9XG4gICAgfVxuICB9O1xufVxuZnVuY3Rpb24gcGFyc2VNZXRhKG5vZGUpIHtcbiAgdmFyIHBhcnNlciA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge1xuICAgIHN0eWxlUGFyc2VyOiB0cnVlXG4gIH07XG5cbiAgdmFyIF9jbGFzc1BhcnNlciA9IGNsYXNzUGFyc2VyKG5vZGUpLFxuICAgICAgaWNvbk5hbWUgPSBfY2xhc3NQYXJzZXIuaWNvbk5hbWUsXG4gICAgICBwcmVmaXggPSBfY2xhc3NQYXJzZXIucHJlZml4LFxuICAgICAgZXh0cmFDbGFzc2VzID0gX2NsYXNzUGFyc2VyLnJlc3Q7XG5cbiAgdmFyIGV4dHJhQXR0cmlidXRlcyA9IGF0dHJpYnV0ZXNQYXJzZXIobm9kZSk7XG4gIHZhciBwbHVnaW5NZXRhID0gY2hhaW5Ib29rcygncGFyc2VOb2RlQXR0cmlidXRlcycsIHt9LCBub2RlKTtcbiAgdmFyIGV4dHJhU3R5bGVzID0gcGFyc2VyLnN0eWxlUGFyc2VyID8gc3R5bGVQYXJzZXIobm9kZSkgOiBbXTtcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQyKHtcbiAgICBpY29uTmFtZTogaWNvbk5hbWUsXG4gICAgdGl0bGU6IG5vZGUuZ2V0QXR0cmlidXRlKCd0aXRsZScpLFxuICAgIHRpdGxlSWQ6IG5vZGUuZ2V0QXR0cmlidXRlKCdkYXRhLWZhLXRpdGxlLWlkJyksXG4gICAgcHJlZml4OiBwcmVmaXgsXG4gICAgdHJhbnNmb3JtOiBtZWFuaW5nbGVzc1RyYW5zZm9ybSxcbiAgICBtYXNrOiB7XG4gICAgICBpY29uTmFtZTogbnVsbCxcbiAgICAgIHByZWZpeDogbnVsbCxcbiAgICAgIHJlc3Q6IFtdXG4gICAgfSxcbiAgICBtYXNrSWQ6IG51bGwsXG4gICAgc3ltYm9sOiBmYWxzZSxcbiAgICBleHRyYToge1xuICAgICAgY2xhc3NlczogZXh0cmFDbGFzc2VzLFxuICAgICAgc3R5bGVzOiBleHRyYVN0eWxlcyxcbiAgICAgIGF0dHJpYnV0ZXM6IGV4dHJhQXR0cmlidXRlc1xuICAgIH1cbiAgfSwgcGx1Z2luTWV0YSk7XG59XG5cbnZhciBzdHlsZXMkMiA9IG5hbWVzcGFjZS5zdHlsZXM7XG5cbmZ1bmN0aW9uIGdlbmVyYXRlTXV0YXRpb24obm9kZSkge1xuICB2YXIgbm9kZU1ldGEgPSBjb25maWcuYXV0b1JlcGxhY2VTdmcgPT09ICduZXN0JyA/IHBhcnNlTWV0YShub2RlLCB7XG4gICAgc3R5bGVQYXJzZXI6IGZhbHNlXG4gIH0pIDogcGFyc2VNZXRhKG5vZGUpO1xuXG4gIGlmICh+bm9kZU1ldGEuZXh0cmEuY2xhc3Nlcy5pbmRleE9mKExBWUVSU19URVhUX0NMQVNTTkFNRSkpIHtcbiAgICByZXR1cm4gY2FsbFByb3ZpZGVkKCdnZW5lcmF0ZUxheWVyc1RleHQnLCBub2RlLCBub2RlTWV0YSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGNhbGxQcm92aWRlZCgnZ2VuZXJhdGVTdmdSZXBsYWNlbWVudE11dGF0aW9uJywgbm9kZSwgbm9kZU1ldGEpO1xuICB9XG59XG5cbnZhciBrbm93blByZWZpeGVzID0gbmV3IFNldCgpO1xuRkFNSUxJRVMubWFwKGZ1bmN0aW9uIChmYW1pbHkpIHtcbiAga25vd25QcmVmaXhlcy5hZGQoXCJmYS1cIi5jb25jYXQoZmFtaWx5KSk7XG59KTtcbk9iamVjdC5rZXlzKFBSRUZJWF9UT19TVFlMRVtGQU1JTFlfQ0xBU1NJQ10pLm1hcChrbm93blByZWZpeGVzLmFkZC5iaW5kKGtub3duUHJlZml4ZXMpKTtcbk9iamVjdC5rZXlzKFBSRUZJWF9UT19TVFlMRVtGQU1JTFlfU0hBUlBdKS5tYXAoa25vd25QcmVmaXhlcy5hZGQuYmluZChrbm93blByZWZpeGVzKSk7XG5rbm93blByZWZpeGVzID0gX3RvQ29uc3VtYWJsZUFycmF5KGtub3duUHJlZml4ZXMpO1xuXG5mdW5jdGlvbiBvblRyZWUocm9vdCkge1xuICB2YXIgY2FsbGJhY2sgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IG51bGw7XG4gIGlmICghSVNfRE9NKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gIHZhciBodG1sQ2xhc3NMaXN0ID0gRE9DVU1FTlQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdDtcblxuICB2YXIgaGNsQWRkID0gZnVuY3Rpb24gaGNsQWRkKHN1ZmZpeCkge1xuICAgIHJldHVybiBodG1sQ2xhc3NMaXN0LmFkZChcIlwiLmNvbmNhdChIVE1MX0NMQVNTX0kyU1ZHX0JBU0VfQ0xBU1MsIFwiLVwiKS5jb25jYXQoc3VmZml4KSk7XG4gIH07XG5cbiAgdmFyIGhjbFJlbW92ZSA9IGZ1bmN0aW9uIGhjbFJlbW92ZShzdWZmaXgpIHtcbiAgICByZXR1cm4gaHRtbENsYXNzTGlzdC5yZW1vdmUoXCJcIi5jb25jYXQoSFRNTF9DTEFTU19JMlNWR19CQVNFX0NMQVNTLCBcIi1cIikuY29uY2F0KHN1ZmZpeCkpO1xuICB9O1xuXG4gIHZhciBwcmVmaXhlcyA9IGNvbmZpZy5hdXRvRmV0Y2hTdmcgPyBrbm93blByZWZpeGVzIDogRkFNSUxJRVMubWFwKGZ1bmN0aW9uIChmKSB7XG4gICAgcmV0dXJuIFwiZmEtXCIuY29uY2F0KGYpO1xuICB9KS5jb25jYXQoT2JqZWN0LmtleXMoc3R5bGVzJDIpKTtcblxuICBpZiAoIXByZWZpeGVzLmluY2x1ZGVzKCdmYScpKSB7XG4gICAgcHJlZml4ZXMucHVzaCgnZmEnKTtcbiAgfVxuXG4gIHZhciBwcmVmaXhlc0RvbVF1ZXJ5ID0gW1wiLlwiLmNvbmNhdChMQVlFUlNfVEVYVF9DTEFTU05BTUUsIFwiOm5vdChbXCIpLmNvbmNhdChEQVRBX0ZBX0kyU1ZHLCBcIl0pXCIpXS5jb25jYXQocHJlZml4ZXMubWFwKGZ1bmN0aW9uIChwKSB7XG4gICAgcmV0dXJuIFwiLlwiLmNvbmNhdChwLCBcIjpub3QoW1wiKS5jb25jYXQoREFUQV9GQV9JMlNWRywgXCJdKVwiKTtcbiAgfSkpLmpvaW4oJywgJyk7XG5cbiAgaWYgKHByZWZpeGVzRG9tUXVlcnkubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICB9XG5cbiAgdmFyIGNhbmRpZGF0ZXMgPSBbXTtcblxuICB0cnkge1xuICAgIGNhbmRpZGF0ZXMgPSB0b0FycmF5KHJvb3QucXVlcnlTZWxlY3RvckFsbChwcmVmaXhlc0RvbVF1ZXJ5KSk7XG4gIH0gY2F0Y2ggKGUpIHsvLyBub29wXG4gIH1cblxuICBpZiAoY2FuZGlkYXRlcy5sZW5ndGggPiAwKSB7XG4gICAgaGNsQWRkKCdwZW5kaW5nJyk7XG4gICAgaGNsUmVtb3ZlKCdjb21wbGV0ZScpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxuXG4gIHZhciBtYXJrID0gcGVyZi5iZWdpbignb25UcmVlJyk7XG4gIHZhciBtdXRhdGlvbnMgPSBjYW5kaWRhdGVzLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBub2RlKSB7XG4gICAgdHJ5IHtcbiAgICAgIHZhciBtdXRhdGlvbiA9IGdlbmVyYXRlTXV0YXRpb24obm9kZSk7XG5cbiAgICAgIGlmIChtdXRhdGlvbikge1xuICAgICAgICBhY2MucHVzaChtdXRhdGlvbik7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKCFQUk9EVUNUSU9OKSB7XG4gICAgICAgIGlmIChlLm5hbWUgPT09ICdNaXNzaW5nSWNvbicpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSwgW10pO1xuICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgIFByb21pc2UuYWxsKG11dGF0aW9ucykudGhlbihmdW5jdGlvbiAocmVzb2x2ZWRNdXRhdGlvbnMpIHtcbiAgICAgIHBlcmZvcm0ocmVzb2x2ZWRNdXRhdGlvbnMsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaGNsQWRkKCdhY3RpdmUnKTtcbiAgICAgICAgaGNsQWRkKCdjb21wbGV0ZScpO1xuICAgICAgICBoY2xSZW1vdmUoJ3BlbmRpbmcnKTtcbiAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgY2FsbGJhY2soKTtcbiAgICAgICAgbWFyaygpO1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICB9KTtcbiAgICB9KS5jYXRjaChmdW5jdGlvbiAoZSkge1xuICAgICAgbWFyaygpO1xuICAgICAgcmVqZWN0KGUpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gb25Ob2RlKG5vZGUpIHtcbiAgdmFyIGNhbGxiYWNrID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiBudWxsO1xuICBnZW5lcmF0ZU11dGF0aW9uKG5vZGUpLnRoZW4oZnVuY3Rpb24gKG11dGF0aW9uKSB7XG4gICAgaWYgKG11dGF0aW9uKSB7XG4gICAgICBwZXJmb3JtKFttdXRhdGlvbl0sIGNhbGxiYWNrKTtcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlSWNvbnMobmV4dCkge1xuICByZXR1cm4gZnVuY3Rpb24gKG1heWJlSWNvbkRlZmluaXRpb24pIHtcbiAgICB2YXIgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcbiAgICB2YXIgaWNvbkRlZmluaXRpb24gPSAobWF5YmVJY29uRGVmaW5pdGlvbiB8fCB7fSkuaWNvbiA/IG1heWJlSWNvbkRlZmluaXRpb24gOiBmaW5kSWNvbkRlZmluaXRpb24obWF5YmVJY29uRGVmaW5pdGlvbiB8fCB7fSk7XG4gICAgdmFyIG1hc2sgPSBwYXJhbXMubWFzaztcblxuICAgIGlmIChtYXNrKSB7XG4gICAgICBtYXNrID0gKG1hc2sgfHwge30pLmljb24gPyBtYXNrIDogZmluZEljb25EZWZpbml0aW9uKG1hc2sgfHwge30pO1xuICAgIH1cblxuICAgIHJldHVybiBuZXh0KGljb25EZWZpbml0aW9uLCBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgcGFyYW1zKSwge30sIHtcbiAgICAgIG1hc2s6IG1hc2tcbiAgICB9KSk7XG4gIH07XG59XG5cbnZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoaWNvbkRlZmluaXRpb24pIHtcbiAgdmFyIHBhcmFtcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307XG4gIHZhciBfcGFyYW1zJHRyYW5zZm9ybSA9IHBhcmFtcy50cmFuc2Zvcm0sXG4gICAgICB0cmFuc2Zvcm0gPSBfcGFyYW1zJHRyYW5zZm9ybSA9PT0gdm9pZCAwID8gbWVhbmluZ2xlc3NUcmFuc2Zvcm0gOiBfcGFyYW1zJHRyYW5zZm9ybSxcbiAgICAgIF9wYXJhbXMkc3ltYm9sID0gcGFyYW1zLnN5bWJvbCxcbiAgICAgIHN5bWJvbCA9IF9wYXJhbXMkc3ltYm9sID09PSB2b2lkIDAgPyBmYWxzZSA6IF9wYXJhbXMkc3ltYm9sLFxuICAgICAgX3BhcmFtcyRtYXNrID0gcGFyYW1zLm1hc2ssXG4gICAgICBtYXNrID0gX3BhcmFtcyRtYXNrID09PSB2b2lkIDAgPyBudWxsIDogX3BhcmFtcyRtYXNrLFxuICAgICAgX3BhcmFtcyRtYXNrSWQgPSBwYXJhbXMubWFza0lkLFxuICAgICAgbWFza0lkID0gX3BhcmFtcyRtYXNrSWQgPT09IHZvaWQgMCA/IG51bGwgOiBfcGFyYW1zJG1hc2tJZCxcbiAgICAgIF9wYXJhbXMkdGl0bGUgPSBwYXJhbXMudGl0bGUsXG4gICAgICB0aXRsZSA9IF9wYXJhbXMkdGl0bGUgPT09IHZvaWQgMCA/IG51bGwgOiBfcGFyYW1zJHRpdGxlLFxuICAgICAgX3BhcmFtcyR0aXRsZUlkID0gcGFyYW1zLnRpdGxlSWQsXG4gICAgICB0aXRsZUlkID0gX3BhcmFtcyR0aXRsZUlkID09PSB2b2lkIDAgPyBudWxsIDogX3BhcmFtcyR0aXRsZUlkLFxuICAgICAgX3BhcmFtcyRjbGFzc2VzID0gcGFyYW1zLmNsYXNzZXMsXG4gICAgICBjbGFzc2VzID0gX3BhcmFtcyRjbGFzc2VzID09PSB2b2lkIDAgPyBbXSA6IF9wYXJhbXMkY2xhc3NlcyxcbiAgICAgIF9wYXJhbXMkYXR0cmlidXRlcyA9IHBhcmFtcy5hdHRyaWJ1dGVzLFxuICAgICAgYXR0cmlidXRlcyA9IF9wYXJhbXMkYXR0cmlidXRlcyA9PT0gdm9pZCAwID8ge30gOiBfcGFyYW1zJGF0dHJpYnV0ZXMsXG4gICAgICBfcGFyYW1zJHN0eWxlcyA9IHBhcmFtcy5zdHlsZXMsXG4gICAgICBzdHlsZXMgPSBfcGFyYW1zJHN0eWxlcyA9PT0gdm9pZCAwID8ge30gOiBfcGFyYW1zJHN0eWxlcztcbiAgaWYgKCFpY29uRGVmaW5pdGlvbikgcmV0dXJuO1xuICB2YXIgcHJlZml4ID0gaWNvbkRlZmluaXRpb24ucHJlZml4LFxuICAgICAgaWNvbk5hbWUgPSBpY29uRGVmaW5pdGlvbi5pY29uTmFtZSxcbiAgICAgIGljb24gPSBpY29uRGVmaW5pdGlvbi5pY29uO1xuICByZXR1cm4gZG9tVmFyaWFudHMoX29iamVjdFNwcmVhZDIoe1xuICAgIHR5cGU6ICdpY29uJ1xuICB9LCBpY29uRGVmaW5pdGlvbiksIGZ1bmN0aW9uICgpIHtcbiAgICBjYWxsSG9va3MoJ2JlZm9yZURPTUVsZW1lbnRDcmVhdGlvbicsIHtcbiAgICAgIGljb25EZWZpbml0aW9uOiBpY29uRGVmaW5pdGlvbixcbiAgICAgIHBhcmFtczogcGFyYW1zXG4gICAgfSk7XG5cbiAgICBpZiAoY29uZmlnLmF1dG9BMTF5KSB7XG4gICAgICBpZiAodGl0bGUpIHtcbiAgICAgICAgYXR0cmlidXRlc1snYXJpYS1sYWJlbGxlZGJ5J10gPSBcIlwiLmNvbmNhdChjb25maWcucmVwbGFjZW1lbnRDbGFzcywgXCItdGl0bGUtXCIpLmNvbmNhdCh0aXRsZUlkIHx8IG5leHRVbmlxdWVJZCgpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF0dHJpYnV0ZXNbJ2FyaWEtaGlkZGVuJ10gPSAndHJ1ZSc7XG4gICAgICAgIGF0dHJpYnV0ZXNbJ2ZvY3VzYWJsZSddID0gJ2ZhbHNlJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbWFrZUlubGluZVN2Z0Fic3RyYWN0KHtcbiAgICAgIGljb25zOiB7XG4gICAgICAgIG1haW46IGFzRm91bmRJY29uKGljb24pLFxuICAgICAgICBtYXNrOiBtYXNrID8gYXNGb3VuZEljb24obWFzay5pY29uKSA6IHtcbiAgICAgICAgICBmb3VuZDogZmFsc2UsXG4gICAgICAgICAgd2lkdGg6IG51bGwsXG4gICAgICAgICAgaGVpZ2h0OiBudWxsLFxuICAgICAgICAgIGljb246IHt9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBwcmVmaXg6IHByZWZpeCxcbiAgICAgIGljb25OYW1lOiBpY29uTmFtZSxcbiAgICAgIHRyYW5zZm9ybTogX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIG1lYW5pbmdsZXNzVHJhbnNmb3JtKSwgdHJhbnNmb3JtKSxcbiAgICAgIHN5bWJvbDogc3ltYm9sLFxuICAgICAgdGl0bGU6IHRpdGxlLFxuICAgICAgbWFza0lkOiBtYXNrSWQsXG4gICAgICB0aXRsZUlkOiB0aXRsZUlkLFxuICAgICAgZXh0cmE6IHtcbiAgICAgICAgYXR0cmlidXRlczogYXR0cmlidXRlcyxcbiAgICAgICAgc3R5bGVzOiBzdHlsZXMsXG4gICAgICAgIGNsYXNzZXM6IGNsYXNzZXNcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59O1xudmFyIFJlcGxhY2VFbGVtZW50cyA9IHtcbiAgbWl4b3V0OiBmdW5jdGlvbiBtaXhvdXQoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb246IHJlc29sdmVJY29ucyhyZW5kZXIpXG4gICAgfTtcbiAgfSxcbiAgaG9va3M6IGZ1bmN0aW9uIGhvb2tzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBtdXRhdGlvbk9ic2VydmVyQ2FsbGJhY2tzOiBmdW5jdGlvbiBtdXRhdGlvbk9ic2VydmVyQ2FsbGJhY2tzKGFjY3VtdWxhdG9yKSB7XG4gICAgICAgIGFjY3VtdWxhdG9yLnRyZWVDYWxsYmFjayA9IG9uVHJlZTtcbiAgICAgICAgYWNjdW11bGF0b3Iubm9kZUNhbGxiYWNrID0gb25Ob2RlO1xuICAgICAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gICAgICB9XG4gICAgfTtcbiAgfSxcbiAgcHJvdmlkZXM6IGZ1bmN0aW9uIHByb3ZpZGVzKHByb3ZpZGVycyQkMSkge1xuICAgIHByb3ZpZGVycyQkMS5pMnN2ZyA9IGZ1bmN0aW9uIChwYXJhbXMpIHtcbiAgICAgIHZhciBfcGFyYW1zJG5vZGUgPSBwYXJhbXMubm9kZSxcbiAgICAgICAgICBub2RlID0gX3BhcmFtcyRub2RlID09PSB2b2lkIDAgPyBET0NVTUVOVCA6IF9wYXJhbXMkbm9kZSxcbiAgICAgICAgICBfcGFyYW1zJGNhbGxiYWNrID0gcGFyYW1zLmNhbGxiYWNrLFxuICAgICAgICAgIGNhbGxiYWNrID0gX3BhcmFtcyRjYWxsYmFjayA9PT0gdm9pZCAwID8gZnVuY3Rpb24gKCkge30gOiBfcGFyYW1zJGNhbGxiYWNrO1xuICAgICAgcmV0dXJuIG9uVHJlZShub2RlLCBjYWxsYmFjayk7XG4gICAgfTtcblxuICAgIHByb3ZpZGVycyQkMS5nZW5lcmF0ZVN2Z1JlcGxhY2VtZW50TXV0YXRpb24gPSBmdW5jdGlvbiAobm9kZSwgbm9kZU1ldGEpIHtcbiAgICAgIHZhciBpY29uTmFtZSA9IG5vZGVNZXRhLmljb25OYW1lLFxuICAgICAgICAgIHRpdGxlID0gbm9kZU1ldGEudGl0bGUsXG4gICAgICAgICAgdGl0bGVJZCA9IG5vZGVNZXRhLnRpdGxlSWQsXG4gICAgICAgICAgcHJlZml4ID0gbm9kZU1ldGEucHJlZml4LFxuICAgICAgICAgIHRyYW5zZm9ybSA9IG5vZGVNZXRhLnRyYW5zZm9ybSxcbiAgICAgICAgICBzeW1ib2wgPSBub2RlTWV0YS5zeW1ib2wsXG4gICAgICAgICAgbWFzayA9IG5vZGVNZXRhLm1hc2ssXG4gICAgICAgICAgbWFza0lkID0gbm9kZU1ldGEubWFza0lkLFxuICAgICAgICAgIGV4dHJhID0gbm9kZU1ldGEuZXh0cmE7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBQcm9taXNlLmFsbChbZmluZEljb24oaWNvbk5hbWUsIHByZWZpeCksIG1hc2suaWNvbk5hbWUgPyBmaW5kSWNvbihtYXNrLmljb25OYW1lLCBtYXNrLnByZWZpeCkgOiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgIGZvdW5kOiBmYWxzZSxcbiAgICAgICAgICB3aWR0aDogNTEyLFxuICAgICAgICAgIGhlaWdodDogNTEyLFxuICAgICAgICAgIGljb246IHt9XG4gICAgICAgIH0pXSkudGhlbihmdW5jdGlvbiAoX3JlZikge1xuICAgICAgICAgIHZhciBfcmVmMiA9IF9zbGljZWRUb0FycmF5KF9yZWYsIDIpLFxuICAgICAgICAgICAgICBtYWluID0gX3JlZjJbMF0sXG4gICAgICAgICAgICAgIG1hc2sgPSBfcmVmMlsxXTtcblxuICAgICAgICAgIHJlc29sdmUoW25vZGUsIG1ha2VJbmxpbmVTdmdBYnN0cmFjdCh7XG4gICAgICAgICAgICBpY29uczoge1xuICAgICAgICAgICAgICBtYWluOiBtYWluLFxuICAgICAgICAgICAgICBtYXNrOiBtYXNrXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcHJlZml4OiBwcmVmaXgsXG4gICAgICAgICAgICBpY29uTmFtZTogaWNvbk5hbWUsXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zZm9ybSxcbiAgICAgICAgICAgIHN5bWJvbDogc3ltYm9sLFxuICAgICAgICAgICAgbWFza0lkOiBtYXNrSWQsXG4gICAgICAgICAgICB0aXRsZTogdGl0bGUsXG4gICAgICAgICAgICB0aXRsZUlkOiB0aXRsZUlkLFxuICAgICAgICAgICAgZXh0cmE6IGV4dHJhLFxuICAgICAgICAgICAgd2F0Y2hhYmxlOiB0cnVlXG4gICAgICAgICAgfSldKTtcbiAgICAgICAgfSkuY2F0Y2gocmVqZWN0KTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBwcm92aWRlcnMkJDEuZ2VuZXJhdGVBYnN0cmFjdEljb24gPSBmdW5jdGlvbiAoX3JlZjMpIHtcbiAgICAgIHZhciBjaGlsZHJlbiA9IF9yZWYzLmNoaWxkcmVuLFxuICAgICAgICAgIGF0dHJpYnV0ZXMgPSBfcmVmMy5hdHRyaWJ1dGVzLFxuICAgICAgICAgIG1haW4gPSBfcmVmMy5tYWluLFxuICAgICAgICAgIHRyYW5zZm9ybSA9IF9yZWYzLnRyYW5zZm9ybSxcbiAgICAgICAgICBzdHlsZXMgPSBfcmVmMy5zdHlsZXM7XG4gICAgICB2YXIgc3R5bGVTdHJpbmcgPSBqb2luU3R5bGVzKHN0eWxlcyk7XG5cbiAgICAgIGlmIChzdHlsZVN0cmluZy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGF0dHJpYnV0ZXNbJ3N0eWxlJ10gPSBzdHlsZVN0cmluZztcbiAgICAgIH1cblxuICAgICAgdmFyIG5leHRDaGlsZDtcblxuICAgICAgaWYgKHRyYW5zZm9ybUlzTWVhbmluZ2Z1bCh0cmFuc2Zvcm0pKSB7XG4gICAgICAgIG5leHRDaGlsZCA9IGNhbGxQcm92aWRlZCgnZ2VuZXJhdGVBYnN0cmFjdFRyYW5zZm9ybUdyb3VwaW5nJywge1xuICAgICAgICAgIG1haW46IG1haW4sXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2Zvcm0sXG4gICAgICAgICAgY29udGFpbmVyV2lkdGg6IG1haW4ud2lkdGgsXG4gICAgICAgICAgaWNvbldpZHRoOiBtYWluLndpZHRoXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBjaGlsZHJlbi5wdXNoKG5leHRDaGlsZCB8fCBtYWluLmljb24pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLFxuICAgICAgICBhdHRyaWJ1dGVzOiBhdHRyaWJ1dGVzXG4gICAgICB9O1xuICAgIH07XG4gIH1cbn07XG5cbnZhciBMYXllcnMgPSB7XG4gIG1peG91dDogZnVuY3Rpb24gbWl4b3V0KCkge1xuICAgIHJldHVybiB7XG4gICAgICBsYXllcjogZnVuY3Rpb24gbGF5ZXIoYXNzZW1ibGVyKSB7XG4gICAgICAgIHZhciBwYXJhbXMgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuICAgICAgICB2YXIgX3BhcmFtcyRjbGFzc2VzID0gcGFyYW1zLmNsYXNzZXMsXG4gICAgICAgICAgICBjbGFzc2VzID0gX3BhcmFtcyRjbGFzc2VzID09PSB2b2lkIDAgPyBbXSA6IF9wYXJhbXMkY2xhc3NlcztcbiAgICAgICAgcmV0dXJuIGRvbVZhcmlhbnRzKHtcbiAgICAgICAgICB0eXBlOiAnbGF5ZXInXG4gICAgICAgIH0sIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBjYWxsSG9va3MoJ2JlZm9yZURPTUVsZW1lbnRDcmVhdGlvbicsIHtcbiAgICAgICAgICAgIGFzc2VtYmxlcjogYXNzZW1ibGVyLFxuICAgICAgICAgICAgcGFyYW1zOiBwYXJhbXNcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB2YXIgY2hpbGRyZW4gPSBbXTtcbiAgICAgICAgICBhc3NlbWJsZXIoZnVuY3Rpb24gKGFyZ3MpIHtcbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkoYXJncykgPyBhcmdzLm1hcChmdW5jdGlvbiAoYSkge1xuICAgICAgICAgICAgICBjaGlsZHJlbiA9IGNoaWxkcmVuLmNvbmNhdChhLmFic3RyYWN0KTtcbiAgICAgICAgICAgIH0pIDogY2hpbGRyZW4gPSBjaGlsZHJlbi5jb25jYXQoYXJncy5hYnN0cmFjdCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIFt7XG4gICAgICAgICAgICB0YWc6ICdzcGFuJyxcbiAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgICAgY2xhc3M6IFtcIlwiLmNvbmNhdChjb25maWcuY3NzUHJlZml4LCBcIi1sYXllcnNcIildLmNvbmNhdChfdG9Db25zdW1hYmxlQXJyYXkoY2xhc3NlcykpLmpvaW4oJyAnKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlblxuICAgICAgICAgIH1dO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG59O1xuXG52YXIgTGF5ZXJzQ291bnRlciA9IHtcbiAgbWl4b3V0OiBmdW5jdGlvbiBtaXhvdXQoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvdW50ZXI6IGZ1bmN0aW9uIGNvdW50ZXIoY29udGVudCkge1xuICAgICAgICB2YXIgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcbiAgICAgICAgdmFyIF9wYXJhbXMkdGl0bGUgPSBwYXJhbXMudGl0bGUsXG4gICAgICAgICAgICB0aXRsZSA9IF9wYXJhbXMkdGl0bGUgPT09IHZvaWQgMCA/IG51bGwgOiBfcGFyYW1zJHRpdGxlLFxuICAgICAgICAgICAgX3BhcmFtcyRjbGFzc2VzID0gcGFyYW1zLmNsYXNzZXMsXG4gICAgICAgICAgICBjbGFzc2VzID0gX3BhcmFtcyRjbGFzc2VzID09PSB2b2lkIDAgPyBbXSA6IF9wYXJhbXMkY2xhc3NlcyxcbiAgICAgICAgICAgIF9wYXJhbXMkYXR0cmlidXRlcyA9IHBhcmFtcy5hdHRyaWJ1dGVzLFxuICAgICAgICAgICAgYXR0cmlidXRlcyA9IF9wYXJhbXMkYXR0cmlidXRlcyA9PT0gdm9pZCAwID8ge30gOiBfcGFyYW1zJGF0dHJpYnV0ZXMsXG4gICAgICAgICAgICBfcGFyYW1zJHN0eWxlcyA9IHBhcmFtcy5zdHlsZXMsXG4gICAgICAgICAgICBzdHlsZXMgPSBfcGFyYW1zJHN0eWxlcyA9PT0gdm9pZCAwID8ge30gOiBfcGFyYW1zJHN0eWxlcztcbiAgICAgICAgcmV0dXJuIGRvbVZhcmlhbnRzKHtcbiAgICAgICAgICB0eXBlOiAnY291bnRlcicsXG4gICAgICAgICAgY29udGVudDogY29udGVudFxuICAgICAgICB9LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgY2FsbEhvb2tzKCdiZWZvcmVET01FbGVtZW50Q3JlYXRpb24nLCB7XG4gICAgICAgICAgICBjb250ZW50OiBjb250ZW50LFxuICAgICAgICAgICAgcGFyYW1zOiBwYXJhbXNcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gbWFrZUxheWVyc0NvdW50ZXJBYnN0cmFjdCh7XG4gICAgICAgICAgICBjb250ZW50OiBjb250ZW50LnRvU3RyaW5nKCksXG4gICAgICAgICAgICB0aXRsZTogdGl0bGUsXG4gICAgICAgICAgICBleHRyYToge1xuICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBhdHRyaWJ1dGVzLFxuICAgICAgICAgICAgICBzdHlsZXM6IHN0eWxlcyxcbiAgICAgICAgICAgICAgY2xhc3NlczogW1wiXCIuY29uY2F0KGNvbmZpZy5jc3NQcmVmaXgsIFwiLWxheWVycy1jb3VudGVyXCIpXS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KGNsYXNzZXMpKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG59O1xuXG52YXIgTGF5ZXJzVGV4dCA9IHtcbiAgbWl4b3V0OiBmdW5jdGlvbiBtaXhvdXQoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRleHQ6IGZ1bmN0aW9uIHRleHQoY29udGVudCkge1xuICAgICAgICB2YXIgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcbiAgICAgICAgdmFyIF9wYXJhbXMkdHJhbnNmb3JtID0gcGFyYW1zLnRyYW5zZm9ybSxcbiAgICAgICAgICAgIHRyYW5zZm9ybSA9IF9wYXJhbXMkdHJhbnNmb3JtID09PSB2b2lkIDAgPyBtZWFuaW5nbGVzc1RyYW5zZm9ybSA6IF9wYXJhbXMkdHJhbnNmb3JtLFxuICAgICAgICAgICAgX3BhcmFtcyR0aXRsZSA9IHBhcmFtcy50aXRsZSxcbiAgICAgICAgICAgIHRpdGxlID0gX3BhcmFtcyR0aXRsZSA9PT0gdm9pZCAwID8gbnVsbCA6IF9wYXJhbXMkdGl0bGUsXG4gICAgICAgICAgICBfcGFyYW1zJGNsYXNzZXMgPSBwYXJhbXMuY2xhc3NlcyxcbiAgICAgICAgICAgIGNsYXNzZXMgPSBfcGFyYW1zJGNsYXNzZXMgPT09IHZvaWQgMCA/IFtdIDogX3BhcmFtcyRjbGFzc2VzLFxuICAgICAgICAgICAgX3BhcmFtcyRhdHRyaWJ1dGVzID0gcGFyYW1zLmF0dHJpYnV0ZXMsXG4gICAgICAgICAgICBhdHRyaWJ1dGVzID0gX3BhcmFtcyRhdHRyaWJ1dGVzID09PSB2b2lkIDAgPyB7fSA6IF9wYXJhbXMkYXR0cmlidXRlcyxcbiAgICAgICAgICAgIF9wYXJhbXMkc3R5bGVzID0gcGFyYW1zLnN0eWxlcyxcbiAgICAgICAgICAgIHN0eWxlcyA9IF9wYXJhbXMkc3R5bGVzID09PSB2b2lkIDAgPyB7fSA6IF9wYXJhbXMkc3R5bGVzO1xuICAgICAgICByZXR1cm4gZG9tVmFyaWFudHMoe1xuICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICBjb250ZW50OiBjb250ZW50XG4gICAgICAgIH0sIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBjYWxsSG9va3MoJ2JlZm9yZURPTUVsZW1lbnRDcmVhdGlvbicsIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNvbnRlbnQsXG4gICAgICAgICAgICBwYXJhbXM6IHBhcmFtc1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiBtYWtlTGF5ZXJzVGV4dEFic3RyYWN0KHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNvbnRlbnQsXG4gICAgICAgICAgICB0cmFuc2Zvcm06IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBtZWFuaW5nbGVzc1RyYW5zZm9ybSksIHRyYW5zZm9ybSksXG4gICAgICAgICAgICB0aXRsZTogdGl0bGUsXG4gICAgICAgICAgICBleHRyYToge1xuICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBhdHRyaWJ1dGVzLFxuICAgICAgICAgICAgICBzdHlsZXM6IHN0eWxlcyxcbiAgICAgICAgICAgICAgY2xhc3NlczogW1wiXCIuY29uY2F0KGNvbmZpZy5jc3NQcmVmaXgsIFwiLWxheWVycy10ZXh0XCIpXS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KGNsYXNzZXMpKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBwcm92aWRlczogZnVuY3Rpb24gcHJvdmlkZXMocHJvdmlkZXJzJCQxKSB7XG4gICAgcHJvdmlkZXJzJCQxLmdlbmVyYXRlTGF5ZXJzVGV4dCA9IGZ1bmN0aW9uIChub2RlLCBub2RlTWV0YSkge1xuICAgICAgdmFyIHRpdGxlID0gbm9kZU1ldGEudGl0bGUsXG4gICAgICAgICAgdHJhbnNmb3JtID0gbm9kZU1ldGEudHJhbnNmb3JtLFxuICAgICAgICAgIGV4dHJhID0gbm9kZU1ldGEuZXh0cmE7XG4gICAgICB2YXIgd2lkdGggPSBudWxsO1xuICAgICAgdmFyIGhlaWdodCA9IG51bGw7XG5cbiAgICAgIGlmIChJU19JRSkge1xuICAgICAgICB2YXIgY29tcHV0ZWRGb250U2l6ZSA9IHBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUobm9kZSkuZm9udFNpemUsIDEwKTtcbiAgICAgICAgdmFyIGJvdW5kaW5nQ2xpZW50UmVjdCA9IG5vZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIHdpZHRoID0gYm91bmRpbmdDbGllbnRSZWN0LndpZHRoIC8gY29tcHV0ZWRGb250U2l6ZTtcbiAgICAgICAgaGVpZ2h0ID0gYm91bmRpbmdDbGllbnRSZWN0LmhlaWdodCAvIGNvbXB1dGVkRm9udFNpemU7XG4gICAgICB9XG5cbiAgICAgIGlmIChjb25maWcuYXV0b0ExMXkgJiYgIXRpdGxlKSB7XG4gICAgICAgIGV4dHJhLmF0dHJpYnV0ZXNbJ2FyaWEtaGlkZGVuJ10gPSAndHJ1ZSc7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoW25vZGUsIG1ha2VMYXllcnNUZXh0QWJzdHJhY3Qoe1xuICAgICAgICBjb250ZW50OiBub2RlLmlubmVySFRNTCxcbiAgICAgICAgd2lkdGg6IHdpZHRoLFxuICAgICAgICBoZWlnaHQ6IGhlaWdodCxcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2Zvcm0sXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcbiAgICAgICAgZXh0cmE6IGV4dHJhLFxuICAgICAgICB3YXRjaGFibGU6IHRydWVcbiAgICAgIH0pXSk7XG4gICAgfTtcbiAgfVxufTtcblxudmFyIENMRUFOX0NPTlRFTlRfUEFUVEVSTiA9IG5ldyBSZWdFeHAoXCJcXFwiXCIsICd1ZycpO1xudmFyIFNFQ09OREFSWV9VTklDT0RFX1JBTkdFID0gWzExMDU5MjAsIDExMTIzMTldO1xuZnVuY3Rpb24gaGV4VmFsdWVGcm9tQ29udGVudChjb250ZW50KSB7XG4gIHZhciBjbGVhbmVkID0gY29udGVudC5yZXBsYWNlKENMRUFOX0NPTlRFTlRfUEFUVEVSTiwgJycpO1xuICB2YXIgY29kZVBvaW50ID0gY29kZVBvaW50QXQoY2xlYW5lZCwgMCk7XG4gIHZhciBpc1ByZXBlbmRUZW4gPSBjb2RlUG9pbnQgPj0gU0VDT05EQVJZX1VOSUNPREVfUkFOR0VbMF0gJiYgY29kZVBvaW50IDw9IFNFQ09OREFSWV9VTklDT0RFX1JBTkdFWzFdO1xuICB2YXIgaXNEb3VibGVkID0gY2xlYW5lZC5sZW5ndGggPT09IDIgPyBjbGVhbmVkWzBdID09PSBjbGVhbmVkWzFdIDogZmFsc2U7XG4gIHJldHVybiB7XG4gICAgdmFsdWU6IGlzRG91YmxlZCA/IHRvSGV4KGNsZWFuZWRbMF0pIDogdG9IZXgoY2xlYW5lZCksXG4gICAgaXNTZWNvbmRhcnk6IGlzUHJlcGVuZFRlbiB8fCBpc0RvdWJsZWRcbiAgfTtcbn1cblxuZnVuY3Rpb24gcmVwbGFjZUZvclBvc2l0aW9uKG5vZGUsIHBvc2l0aW9uKSB7XG4gIHZhciBwZW5kaW5nQXR0cmlidXRlID0gXCJcIi5jb25jYXQoREFUQV9GQV9QU0VVRE9fRUxFTUVOVF9QRU5ESU5HKS5jb25jYXQocG9zaXRpb24ucmVwbGFjZSgnOicsICctJykpO1xuICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgIGlmIChub2RlLmdldEF0dHJpYnV0ZShwZW5kaW5nQXR0cmlidXRlKSAhPT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBub2RlIGlzIGFscmVhZHkgYmVpbmcgcHJvY2Vzc2VkXG4gICAgICByZXR1cm4gcmVzb2x2ZSgpO1xuICAgIH1cblxuICAgIHZhciBjaGlsZHJlbiA9IHRvQXJyYXkobm9kZS5jaGlsZHJlbik7XG4gICAgdmFyIGFscmVhZHlQcm9jZXNzZWRQc2V1ZG9FbGVtZW50ID0gY2hpbGRyZW4uZmlsdGVyKGZ1bmN0aW9uIChjKSB7XG4gICAgICByZXR1cm4gYy5nZXRBdHRyaWJ1dGUoREFUQV9GQV9QU0VVRE9fRUxFTUVOVCkgPT09IHBvc2l0aW9uO1xuICAgIH0pWzBdO1xuICAgIHZhciBzdHlsZXMgPSBXSU5ET1cuZ2V0Q29tcHV0ZWRTdHlsZShub2RlLCBwb3NpdGlvbik7XG4gICAgdmFyIGZvbnRGYW1pbHkgPSBzdHlsZXMuZ2V0UHJvcGVydHlWYWx1ZSgnZm9udC1mYW1pbHknKS5tYXRjaChGT05UX0ZBTUlMWV9QQVRURVJOKTtcbiAgICB2YXIgZm9udFdlaWdodCA9IHN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdmb250LXdlaWdodCcpO1xuICAgIHZhciBjb250ZW50ID0gc3R5bGVzLmdldFByb3BlcnR5VmFsdWUoJ2NvbnRlbnQnKTtcblxuICAgIGlmIChhbHJlYWR5UHJvY2Vzc2VkUHNldWRvRWxlbWVudCAmJiAhZm9udEZhbWlseSkge1xuICAgICAgLy8gSWYgd2UndmUgYWxyZWFkeSBwcm9jZXNzZWQgaXQgYnV0IHRoZSBjdXJyZW50IGNvbXB1dGVkIHN0eWxlIGRvZXMgbm90IHJlc3VsdCBpbiBhIGZvbnQtZmFtaWx5LFxuICAgICAgLy8gdGhhdCBwcm9iYWJseSBtZWFucyB0aGF0IGEgY2xhc3MgbmFtZSB0aGF0IHdhcyBwcmV2aW91c2x5IHByZXNlbnQgdG8gbWFrZSB0aGUgaWNvbiBoYXMgYmVlblxuICAgICAgLy8gcmVtb3ZlZC4gU28gd2Ugbm93IHNob3VsZCBkZWxldGUgdGhlIGljb24uXG4gICAgICBub2RlLnJlbW92ZUNoaWxkKGFscmVhZHlQcm9jZXNzZWRQc2V1ZG9FbGVtZW50KTtcbiAgICAgIHJldHVybiByZXNvbHZlKCk7XG4gICAgfSBlbHNlIGlmIChmb250RmFtaWx5ICYmIGNvbnRlbnQgIT09ICdub25lJyAmJiBjb250ZW50ICE9PSAnJykge1xuICAgICAgdmFyIF9jb250ZW50ID0gc3R5bGVzLmdldFByb3BlcnR5VmFsdWUoJ2NvbnRlbnQnKTtcblxuICAgICAgdmFyIGZhbWlseSA9IH5bJ1NoYXJwJ10uaW5kZXhPZihmb250RmFtaWx5WzJdKSA/IEZBTUlMWV9TSEFSUCA6IEZBTUlMWV9DTEFTU0lDO1xuICAgICAgdmFyIHByZWZpeCA9IH5bJ1NvbGlkJywgJ1JlZ3VsYXInLCAnTGlnaHQnLCAnVGhpbicsICdEdW90b25lJywgJ0JyYW5kcycsICdLaXQnXS5pbmRleE9mKGZvbnRGYW1pbHlbMl0pID8gU1RZTEVfVE9fUFJFRklYW2ZhbWlseV1bZm9udEZhbWlseVsyXS50b0xvd2VyQ2FzZSgpXSA6IEZPTlRfV0VJR0hUX1RPX1BSRUZJWFtmYW1pbHldW2ZvbnRXZWlnaHRdO1xuXG4gICAgICB2YXIgX2hleFZhbHVlRnJvbUNvbnRlbnQgPSBoZXhWYWx1ZUZyb21Db250ZW50KF9jb250ZW50KSxcbiAgICAgICAgICBoZXhWYWx1ZSA9IF9oZXhWYWx1ZUZyb21Db250ZW50LnZhbHVlLFxuICAgICAgICAgIGlzU2Vjb25kYXJ5ID0gX2hleFZhbHVlRnJvbUNvbnRlbnQuaXNTZWNvbmRhcnk7XG5cbiAgICAgIHZhciBpc1Y0ID0gZm9udEZhbWlseVswXS5zdGFydHNXaXRoKCdGb250QXdlc29tZScpO1xuICAgICAgdmFyIGljb25OYW1lID0gYnlVbmljb2RlKHByZWZpeCwgaGV4VmFsdWUpO1xuICAgICAgdmFyIGljb25JZGVudGlmaWVyID0gaWNvbk5hbWU7XG5cbiAgICAgIGlmIChpc1Y0KSB7XG4gICAgICAgIHZhciBpY29uTmFtZTQgPSBieU9sZFVuaWNvZGUoaGV4VmFsdWUpO1xuXG4gICAgICAgIGlmIChpY29uTmFtZTQuaWNvbk5hbWUgJiYgaWNvbk5hbWU0LnByZWZpeCkge1xuICAgICAgICAgIGljb25OYW1lID0gaWNvbk5hbWU0Lmljb25OYW1lO1xuICAgICAgICAgIHByZWZpeCA9IGljb25OYW1lNC5wcmVmaXg7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gT25seSBjb252ZXJ0IHRoZSBwc2V1ZG8gZWxlbWVudCBpbiB0aGlzIDo6YmVmb3JlLzo6YWZ0ZXIgcG9zaXRpb24gaW50byBhbiBpY29uIGlmIHdlIGhhdmVuJ3RcbiAgICAgIC8vIGFscmVhZHkgZG9uZSBzbyB3aXRoIHRoZSBzYW1lIHByZWZpeCBhbmQgaWNvbk5hbWVcblxuXG4gICAgICBpZiAoaWNvbk5hbWUgJiYgIWlzU2Vjb25kYXJ5ICYmICghYWxyZWFkeVByb2Nlc3NlZFBzZXVkb0VsZW1lbnQgfHwgYWxyZWFkeVByb2Nlc3NlZFBzZXVkb0VsZW1lbnQuZ2V0QXR0cmlidXRlKERBVEFfUFJFRklYKSAhPT0gcHJlZml4IHx8IGFscmVhZHlQcm9jZXNzZWRQc2V1ZG9FbGVtZW50LmdldEF0dHJpYnV0ZShEQVRBX0lDT04pICE9PSBpY29uSWRlbnRpZmllcikpIHtcbiAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUocGVuZGluZ0F0dHJpYnV0ZSwgaWNvbklkZW50aWZpZXIpO1xuXG4gICAgICAgIGlmIChhbHJlYWR5UHJvY2Vzc2VkUHNldWRvRWxlbWVudCkge1xuICAgICAgICAgIC8vIERlbGV0ZSB0aGUgb2xkIG9uZSwgc2luY2Ugd2UncmUgcmVwbGFjaW5nIGl0IHdpdGggYSBuZXcgb25lXG4gICAgICAgICAgbm9kZS5yZW1vdmVDaGlsZChhbHJlYWR5UHJvY2Vzc2VkUHNldWRvRWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgbWV0YSA9IGJsYW5rTWV0YSgpO1xuICAgICAgICB2YXIgZXh0cmEgPSBtZXRhLmV4dHJhO1xuICAgICAgICBleHRyYS5hdHRyaWJ1dGVzW0RBVEFfRkFfUFNFVURPX0VMRU1FTlRdID0gcG9zaXRpb247XG4gICAgICAgIGZpbmRJY29uKGljb25OYW1lLCBwcmVmaXgpLnRoZW4oZnVuY3Rpb24gKG1haW4pIHtcbiAgICAgICAgICB2YXIgX2Fic3RyYWN0ID0gbWFrZUlubGluZVN2Z0Fic3RyYWN0KF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBtZXRhKSwge30sIHtcbiAgICAgICAgICAgIGljb25zOiB7XG4gICAgICAgICAgICAgIG1haW46IG1haW4sXG4gICAgICAgICAgICAgIG1hc2s6IGVtcHR5Q2Fub25pY2FsSWNvbigpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcHJlZml4OiBwcmVmaXgsXG4gICAgICAgICAgICBpY29uTmFtZTogaWNvbklkZW50aWZpZXIsXG4gICAgICAgICAgICBleHRyYTogZXh0cmEsXG4gICAgICAgICAgICB3YXRjaGFibGU6IHRydWVcbiAgICAgICAgICB9KSk7XG5cbiAgICAgICAgICB2YXIgZWxlbWVudCA9IERPQ1VNRU5ULmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnc3ZnJyk7XG5cbiAgICAgICAgICBpZiAocG9zaXRpb24gPT09ICc6OmJlZm9yZScpIHtcbiAgICAgICAgICAgIG5vZGUuaW5zZXJ0QmVmb3JlKGVsZW1lbnQsIG5vZGUuZmlyc3RDaGlsZCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5vZGUuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZWxlbWVudC5vdXRlckhUTUwgPSBfYWJzdHJhY3QubWFwKGZ1bmN0aW9uIChhKSB7XG4gICAgICAgICAgICByZXR1cm4gdG9IdG1sKGEpO1xuICAgICAgICAgIH0pLmpvaW4oJ1xcbicpO1xuICAgICAgICAgIG5vZGUucmVtb3ZlQXR0cmlidXRlKHBlbmRpbmdBdHRyaWJ1dGUpO1xuICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgfSkuY2F0Y2gocmVqZWN0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmVzb2x2ZSgpO1xuICAgIH1cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHJlcGxhY2Uobm9kZSkge1xuICByZXR1cm4gUHJvbWlzZS5hbGwoW3JlcGxhY2VGb3JQb3NpdGlvbihub2RlLCAnOjpiZWZvcmUnKSwgcmVwbGFjZUZvclBvc2l0aW9uKG5vZGUsICc6OmFmdGVyJyldKTtcbn1cblxuZnVuY3Rpb24gcHJvY2Vzc2FibGUobm9kZSkge1xuICByZXR1cm4gbm9kZS5wYXJlbnROb2RlICE9PSBkb2N1bWVudC5oZWFkICYmICF+VEFHTkFNRVNfVE9fU0tJUF9GT1JfUFNFVURPRUxFTUVOVFMuaW5kZXhPZihub2RlLnRhZ05hbWUudG9VcHBlckNhc2UoKSkgJiYgIW5vZGUuZ2V0QXR0cmlidXRlKERBVEFfRkFfUFNFVURPX0VMRU1FTlQpICYmICghbm9kZS5wYXJlbnROb2RlIHx8IG5vZGUucGFyZW50Tm9kZS50YWdOYW1lICE9PSAnc3ZnJyk7XG59XG5cbmZ1bmN0aW9uIHNlYXJjaFBzZXVkb0VsZW1lbnRzKHJvb3QpIHtcbiAgaWYgKCFJU19ET00pIHJldHVybjtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICB2YXIgb3BlcmF0aW9ucyA9IHRvQXJyYXkocm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcqJykpLmZpbHRlcihwcm9jZXNzYWJsZSkubWFwKHJlcGxhY2UpO1xuICAgIHZhciBlbmQgPSBwZXJmLmJlZ2luKCdzZWFyY2hQc2V1ZG9FbGVtZW50cycpO1xuICAgIGRpc2FibGVPYnNlcnZhdGlvbigpO1xuICAgIFByb21pc2UuYWxsKG9wZXJhdGlvbnMpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgZW5kKCk7XG4gICAgICBlbmFibGVPYnNlcnZhdGlvbigpO1xuICAgICAgcmVzb2x2ZSgpO1xuICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIGVuZCgpO1xuICAgICAgZW5hYmxlT2JzZXJ2YXRpb24oKTtcbiAgICAgIHJlamVjdCgpO1xuICAgIH0pO1xuICB9KTtcbn1cblxudmFyIFBzZXVkb0VsZW1lbnRzID0ge1xuICBob29rczogZnVuY3Rpb24gaG9va3MoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG11dGF0aW9uT2JzZXJ2ZXJDYWxsYmFja3M6IGZ1bmN0aW9uIG11dGF0aW9uT2JzZXJ2ZXJDYWxsYmFja3MoYWNjdW11bGF0b3IpIHtcbiAgICAgICAgYWNjdW11bGF0b3IucHNldWRvRWxlbWVudHNDYWxsYmFjayA9IHNlYXJjaFBzZXVkb0VsZW1lbnRzO1xuICAgICAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gICAgICB9XG4gICAgfTtcbiAgfSxcbiAgcHJvdmlkZXM6IGZ1bmN0aW9uIHByb3ZpZGVzKHByb3ZpZGVycyQkMSkge1xuICAgIHByb3ZpZGVycyQkMS5wc2V1ZG9FbGVtZW50czJzdmcgPSBmdW5jdGlvbiAocGFyYW1zKSB7XG4gICAgICB2YXIgX3BhcmFtcyRub2RlID0gcGFyYW1zLm5vZGUsXG4gICAgICAgICAgbm9kZSA9IF9wYXJhbXMkbm9kZSA9PT0gdm9pZCAwID8gRE9DVU1FTlQgOiBfcGFyYW1zJG5vZGU7XG5cbiAgICAgIGlmIChjb25maWcuc2VhcmNoUHNldWRvRWxlbWVudHMpIHtcbiAgICAgICAgc2VhcmNoUHNldWRvRWxlbWVudHMobm9kZSk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxufTtcblxudmFyIF91bndhdGNoZWQgPSBmYWxzZTtcbnZhciBNdXRhdGlvbk9ic2VydmVyJDEgPSB7XG4gIG1peG91dDogZnVuY3Rpb24gbWl4b3V0KCkge1xuICAgIHJldHVybiB7XG4gICAgICBkb206IHtcbiAgICAgICAgdW53YXRjaDogZnVuY3Rpb24gdW53YXRjaCgpIHtcbiAgICAgICAgICBkaXNhYmxlT2JzZXJ2YXRpb24oKTtcbiAgICAgICAgICBfdW53YXRjaGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIGhvb2tzOiBmdW5jdGlvbiBob29rcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYm9vdHN0cmFwOiBmdW5jdGlvbiBib290c3RyYXAoKSB7XG4gICAgICAgIG9ic2VydmUoY2hhaW5Ib29rcygnbXV0YXRpb25PYnNlcnZlckNhbGxiYWNrcycsIHt9KSk7XG4gICAgICB9LFxuICAgICAgbm9BdXRvOiBmdW5jdGlvbiBub0F1dG8oKSB7XG4gICAgICAgIGRpc2Nvbm5lY3QoKTtcbiAgICAgIH0sXG4gICAgICB3YXRjaDogZnVuY3Rpb24gd2F0Y2gocGFyYW1zKSB7XG4gICAgICAgIHZhciBvYnNlcnZlTXV0YXRpb25zUm9vdCA9IHBhcmFtcy5vYnNlcnZlTXV0YXRpb25zUm9vdDtcblxuICAgICAgICBpZiAoX3Vud2F0Y2hlZCkge1xuICAgICAgICAgIGVuYWJsZU9ic2VydmF0aW9uKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb2JzZXJ2ZShjaGFpbkhvb2tzKCdtdXRhdGlvbk9ic2VydmVyQ2FsbGJhY2tzJywge1xuICAgICAgICAgICAgb2JzZXJ2ZU11dGF0aW9uc1Jvb3Q6IG9ic2VydmVNdXRhdGlvbnNSb290XG4gICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfVxufTtcblxudmFyIHBhcnNlVHJhbnNmb3JtU3RyaW5nID0gZnVuY3Rpb24gcGFyc2VUcmFuc2Zvcm1TdHJpbmcodHJhbnNmb3JtU3RyaW5nKSB7XG4gIHZhciB0cmFuc2Zvcm0gPSB7XG4gICAgc2l6ZTogMTYsXG4gICAgeDogMCxcbiAgICB5OiAwLFxuICAgIGZsaXBYOiBmYWxzZSxcbiAgICBmbGlwWTogZmFsc2UsXG4gICAgcm90YXRlOiAwXG4gIH07XG4gIHJldHVybiB0cmFuc2Zvcm1TdHJpbmcudG9Mb3dlckNhc2UoKS5zcGxpdCgnICcpLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBuKSB7XG4gICAgdmFyIHBhcnRzID0gbi50b0xvd2VyQ2FzZSgpLnNwbGl0KCctJyk7XG4gICAgdmFyIGZpcnN0ID0gcGFydHNbMF07XG4gICAgdmFyIHJlc3QgPSBwYXJ0cy5zbGljZSgxKS5qb2luKCctJyk7XG5cbiAgICBpZiAoZmlyc3QgJiYgcmVzdCA9PT0gJ2gnKSB7XG4gICAgICBhY2MuZmxpcFggPSB0cnVlO1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9XG5cbiAgICBpZiAoZmlyc3QgJiYgcmVzdCA9PT0gJ3YnKSB7XG4gICAgICBhY2MuZmxpcFkgPSB0cnVlO1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9XG5cbiAgICByZXN0ID0gcGFyc2VGbG9hdChyZXN0KTtcblxuICAgIGlmIChpc05hTihyZXN0KSkge1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGZpcnN0KSB7XG4gICAgICBjYXNlICdncm93JzpcbiAgICAgICAgYWNjLnNpemUgPSBhY2Muc2l6ZSArIHJlc3Q7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdzaHJpbmsnOlxuICAgICAgICBhY2Muc2l6ZSA9IGFjYy5zaXplIC0gcmVzdDtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICBhY2MueCA9IGFjYy54IC0gcmVzdDtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgYWNjLnggPSBhY2MueCArIHJlc3Q7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICd1cCc6XG4gICAgICAgIGFjYy55ID0gYWNjLnkgLSByZXN0O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnZG93bic6XG4gICAgICAgIGFjYy55ID0gYWNjLnkgKyByZXN0O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAncm90YXRlJzpcbiAgICAgICAgYWNjLnJvdGF0ZSA9IGFjYy5yb3RhdGUgKyByZXN0O1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gYWNjO1xuICB9LCB0cmFuc2Zvcm0pO1xufTtcbnZhciBQb3dlclRyYW5zZm9ybXMgPSB7XG4gIG1peG91dDogZnVuY3Rpb24gbWl4b3V0KCkge1xuICAgIHJldHVybiB7XG4gICAgICBwYXJzZToge1xuICAgICAgICB0cmFuc2Zvcm06IGZ1bmN0aW9uIHRyYW5zZm9ybSh0cmFuc2Zvcm1TdHJpbmcpIHtcbiAgICAgICAgICByZXR1cm4gcGFyc2VUcmFuc2Zvcm1TdHJpbmcodHJhbnNmb3JtU3RyaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIGhvb2tzOiBmdW5jdGlvbiBob29rcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcGFyc2VOb2RlQXR0cmlidXRlczogZnVuY3Rpb24gcGFyc2VOb2RlQXR0cmlidXRlcyhhY2N1bXVsYXRvciwgbm9kZSkge1xuICAgICAgICB2YXIgdHJhbnNmb3JtU3RyaW5nID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtZmEtdHJhbnNmb3JtJyk7XG5cbiAgICAgICAgaWYgKHRyYW5zZm9ybVN0cmluZykge1xuICAgICAgICAgIGFjY3VtdWxhdG9yLnRyYW5zZm9ybSA9IHBhcnNlVHJhbnNmb3JtU3RyaW5nKHRyYW5zZm9ybVN0cmluZyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gICAgICB9XG4gICAgfTtcbiAgfSxcbiAgcHJvdmlkZXM6IGZ1bmN0aW9uIHByb3ZpZGVzKHByb3ZpZGVycykge1xuICAgIHByb3ZpZGVycy5nZW5lcmF0ZUFic3RyYWN0VHJhbnNmb3JtR3JvdXBpbmcgPSBmdW5jdGlvbiAoX3JlZikge1xuICAgICAgdmFyIG1haW4gPSBfcmVmLm1haW4sXG4gICAgICAgICAgdHJhbnNmb3JtID0gX3JlZi50cmFuc2Zvcm0sXG4gICAgICAgICAgY29udGFpbmVyV2lkdGggPSBfcmVmLmNvbnRhaW5lcldpZHRoLFxuICAgICAgICAgIGljb25XaWR0aCA9IF9yZWYuaWNvbldpZHRoO1xuICAgICAgdmFyIG91dGVyID0ge1xuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKFwiLmNvbmNhdChjb250YWluZXJXaWR0aCAvIDIsIFwiIDI1NilcIilcbiAgICAgIH07XG4gICAgICB2YXIgaW5uZXJUcmFuc2xhdGUgPSBcInRyYW5zbGF0ZShcIi5jb25jYXQodHJhbnNmb3JtLnggKiAzMiwgXCIsIFwiKS5jb25jYXQodHJhbnNmb3JtLnkgKiAzMiwgXCIpIFwiKTtcbiAgICAgIHZhciBpbm5lclNjYWxlID0gXCJzY2FsZShcIi5jb25jYXQodHJhbnNmb3JtLnNpemUgLyAxNiAqICh0cmFuc2Zvcm0uZmxpcFggPyAtMSA6IDEpLCBcIiwgXCIpLmNvbmNhdCh0cmFuc2Zvcm0uc2l6ZSAvIDE2ICogKHRyYW5zZm9ybS5mbGlwWSA/IC0xIDogMSksIFwiKSBcIik7XG4gICAgICB2YXIgaW5uZXJSb3RhdGUgPSBcInJvdGF0ZShcIi5jb25jYXQodHJhbnNmb3JtLnJvdGF0ZSwgXCIgMCAwKVwiKTtcbiAgICAgIHZhciBpbm5lciA9IHtcbiAgICAgICAgdHJhbnNmb3JtOiBcIlwiLmNvbmNhdChpbm5lclRyYW5zbGF0ZSwgXCIgXCIpLmNvbmNhdChpbm5lclNjYWxlLCBcIiBcIikuY29uY2F0KGlubmVyUm90YXRlKVxuICAgICAgfTtcbiAgICAgIHZhciBwYXRoID0ge1xuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKFwiLmNvbmNhdChpY29uV2lkdGggLyAyICogLTEsIFwiIC0yNTYpXCIpXG4gICAgICB9O1xuICAgICAgdmFyIG9wZXJhdGlvbnMgPSB7XG4gICAgICAgIG91dGVyOiBvdXRlcixcbiAgICAgICAgaW5uZXI6IGlubmVyLFxuICAgICAgICBwYXRoOiBwYXRoXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdGFnOiAnZycsXG4gICAgICAgIGF0dHJpYnV0ZXM6IF9vYmplY3RTcHJlYWQyKHt9LCBvcGVyYXRpb25zLm91dGVyKSxcbiAgICAgICAgY2hpbGRyZW46IFt7XG4gICAgICAgICAgdGFnOiAnZycsXG4gICAgICAgICAgYXR0cmlidXRlczogX29iamVjdFNwcmVhZDIoe30sIG9wZXJhdGlvbnMuaW5uZXIpLFxuICAgICAgICAgIGNoaWxkcmVuOiBbe1xuICAgICAgICAgICAgdGFnOiBtYWluLmljb24udGFnLFxuICAgICAgICAgICAgY2hpbGRyZW46IG1haW4uaWNvbi5jaGlsZHJlbixcbiAgICAgICAgICAgIGF0dHJpYnV0ZXM6IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBtYWluLmljb24uYXR0cmlidXRlcyksIG9wZXJhdGlvbnMucGF0aClcbiAgICAgICAgICB9XVxuICAgICAgICB9XVxuICAgICAgfTtcbiAgICB9O1xuICB9XG59O1xuXG52YXIgQUxMX1NQQUNFID0ge1xuICB4OiAwLFxuICB5OiAwLFxuICB3aWR0aDogJzEwMCUnLFxuICBoZWlnaHQ6ICcxMDAlJ1xufTtcblxuZnVuY3Rpb24gZmlsbEJsYWNrKF9hYnN0cmFjdCkge1xuICB2YXIgZm9yY2UgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHRydWU7XG5cbiAgaWYgKF9hYnN0cmFjdC5hdHRyaWJ1dGVzICYmIChfYWJzdHJhY3QuYXR0cmlidXRlcy5maWxsIHx8IGZvcmNlKSkge1xuICAgIF9hYnN0cmFjdC5hdHRyaWJ1dGVzLmZpbGwgPSAnYmxhY2snO1xuICB9XG5cbiAgcmV0dXJuIF9hYnN0cmFjdDtcbn1cblxuZnVuY3Rpb24gZGVHcm91cChfYWJzdHJhY3QyKSB7XG4gIGlmIChfYWJzdHJhY3QyLnRhZyA9PT0gJ2cnKSB7XG4gICAgcmV0dXJuIF9hYnN0cmFjdDIuY2hpbGRyZW47XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIFtfYWJzdHJhY3QyXTtcbiAgfVxufVxuXG52YXIgTWFza3MgPSB7XG4gIGhvb2tzOiBmdW5jdGlvbiBob29rcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcGFyc2VOb2RlQXR0cmlidXRlczogZnVuY3Rpb24gcGFyc2VOb2RlQXR0cmlidXRlcyhhY2N1bXVsYXRvciwgbm9kZSkge1xuICAgICAgICB2YXIgbWFza0RhdGEgPSBub2RlLmdldEF0dHJpYnV0ZSgnZGF0YS1mYS1tYXNrJyk7XG4gICAgICAgIHZhciBtYXNrID0gIW1hc2tEYXRhID8gZW1wdHlDYW5vbmljYWxJY29uKCkgOiBnZXRDYW5vbmljYWxJY29uKG1hc2tEYXRhLnNwbGl0KCcgJykubWFwKGZ1bmN0aW9uIChpKSB7XG4gICAgICAgICAgcmV0dXJuIGkudHJpbSgpO1xuICAgICAgICB9KSk7XG5cbiAgICAgICAgaWYgKCFtYXNrLnByZWZpeCkge1xuICAgICAgICAgIG1hc2sucHJlZml4ID0gZ2V0RGVmYXVsdFVzYWJsZVByZWZpeCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgYWNjdW11bGF0b3IubWFzayA9IG1hc2s7XG4gICAgICAgIGFjY3VtdWxhdG9yLm1hc2tJZCA9IG5vZGUuZ2V0QXR0cmlidXRlKCdkYXRhLWZhLW1hc2staWQnKTtcbiAgICAgICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIHByb3ZpZGVzOiBmdW5jdGlvbiBwcm92aWRlcyhwcm92aWRlcnMpIHtcbiAgICBwcm92aWRlcnMuZ2VuZXJhdGVBYnN0cmFjdE1hc2sgPSBmdW5jdGlvbiAoX3JlZikge1xuICAgICAgdmFyIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbixcbiAgICAgICAgICBhdHRyaWJ1dGVzID0gX3JlZi5hdHRyaWJ1dGVzLFxuICAgICAgICAgIG1haW4gPSBfcmVmLm1haW4sXG4gICAgICAgICAgbWFzayA9IF9yZWYubWFzayxcbiAgICAgICAgICBleHBsaWNpdE1hc2tJZCA9IF9yZWYubWFza0lkLFxuICAgICAgICAgIHRyYW5zZm9ybSA9IF9yZWYudHJhbnNmb3JtO1xuICAgICAgdmFyIG1haW5XaWR0aCA9IG1haW4ud2lkdGgsXG4gICAgICAgICAgbWFpblBhdGggPSBtYWluLmljb247XG4gICAgICB2YXIgbWFza1dpZHRoID0gbWFzay53aWR0aCxcbiAgICAgICAgICBtYXNrUGF0aCA9IG1hc2suaWNvbjtcbiAgICAgIHZhciB0cmFucyA9IHRyYW5zZm9ybUZvclN2Zyh7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNmb3JtLFxuICAgICAgICBjb250YWluZXJXaWR0aDogbWFza1dpZHRoLFxuICAgICAgICBpY29uV2lkdGg6IG1haW5XaWR0aFxuICAgICAgfSk7XG4gICAgICB2YXIgbWFza1JlY3QgPSB7XG4gICAgICAgIHRhZzogJ3JlY3QnLFxuICAgICAgICBhdHRyaWJ1dGVzOiBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgQUxMX1NQQUNFKSwge30sIHtcbiAgICAgICAgICBmaWxsOiAnd2hpdGUnXG4gICAgICAgIH0pXG4gICAgICB9O1xuICAgICAgdmFyIG1hc2tJbm5lckdyb3VwQ2hpbGRyZW5NaXhpbiA9IG1haW5QYXRoLmNoaWxkcmVuID8ge1xuICAgICAgICBjaGlsZHJlbjogbWFpblBhdGguY2hpbGRyZW4ubWFwKGZpbGxCbGFjaylcbiAgICAgIH0gOiB7fTtcbiAgICAgIHZhciBtYXNrSW5uZXJHcm91cCA9IHtcbiAgICAgICAgdGFnOiAnZycsXG4gICAgICAgIGF0dHJpYnV0ZXM6IF9vYmplY3RTcHJlYWQyKHt9LCB0cmFucy5pbm5lciksXG4gICAgICAgIGNoaWxkcmVuOiBbZmlsbEJsYWNrKF9vYmplY3RTcHJlYWQyKHtcbiAgICAgICAgICB0YWc6IG1haW5QYXRoLnRhZyxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgbWFpblBhdGguYXR0cmlidXRlcyksIHRyYW5zLnBhdGgpXG4gICAgICAgIH0sIG1hc2tJbm5lckdyb3VwQ2hpbGRyZW5NaXhpbikpXVxuICAgICAgfTtcbiAgICAgIHZhciBtYXNrT3V0ZXJHcm91cCA9IHtcbiAgICAgICAgdGFnOiAnZycsXG4gICAgICAgIGF0dHJpYnV0ZXM6IF9vYmplY3RTcHJlYWQyKHt9LCB0cmFucy5vdXRlciksXG4gICAgICAgIGNoaWxkcmVuOiBbbWFza0lubmVyR3JvdXBdXG4gICAgICB9O1xuICAgICAgdmFyIG1hc2tJZCA9IFwibWFzay1cIi5jb25jYXQoZXhwbGljaXRNYXNrSWQgfHwgbmV4dFVuaXF1ZUlkKCkpO1xuICAgICAgdmFyIGNsaXBJZCA9IFwiY2xpcC1cIi5jb25jYXQoZXhwbGljaXRNYXNrSWQgfHwgbmV4dFVuaXF1ZUlkKCkpO1xuICAgICAgdmFyIG1hc2tUYWcgPSB7XG4gICAgICAgIHRhZzogJ21hc2snLFxuICAgICAgICBhdHRyaWJ1dGVzOiBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgQUxMX1NQQUNFKSwge30sIHtcbiAgICAgICAgICBpZDogbWFza0lkLFxuICAgICAgICAgIG1hc2tVbml0czogJ3VzZXJTcGFjZU9uVXNlJyxcbiAgICAgICAgICBtYXNrQ29udGVudFVuaXRzOiAndXNlclNwYWNlT25Vc2UnXG4gICAgICAgIH0pLFxuICAgICAgICBjaGlsZHJlbjogW21hc2tSZWN0LCBtYXNrT3V0ZXJHcm91cF1cbiAgICAgIH07XG4gICAgICB2YXIgZGVmcyA9IHtcbiAgICAgICAgdGFnOiAnZGVmcycsXG4gICAgICAgIGNoaWxkcmVuOiBbe1xuICAgICAgICAgIHRhZzogJ2NsaXBQYXRoJyxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICBpZDogY2xpcElkXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjaGlsZHJlbjogZGVHcm91cChtYXNrUGF0aClcbiAgICAgICAgfSwgbWFza1RhZ11cbiAgICAgIH07XG4gICAgICBjaGlsZHJlbi5wdXNoKGRlZnMsIHtcbiAgICAgICAgdGFnOiAncmVjdCcsXG4gICAgICAgIGF0dHJpYnV0ZXM6IF9vYmplY3RTcHJlYWQyKHtcbiAgICAgICAgICBmaWxsOiAnY3VycmVudENvbG9yJyxcbiAgICAgICAgICAnY2xpcC1wYXRoJzogXCJ1cmwoI1wiLmNvbmNhdChjbGlwSWQsIFwiKVwiKSxcbiAgICAgICAgICBtYXNrOiBcInVybCgjXCIuY29uY2F0KG1hc2tJZCwgXCIpXCIpXG4gICAgICAgIH0sIEFMTF9TUEFDRSlcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLFxuICAgICAgICBhdHRyaWJ1dGVzOiBhdHRyaWJ1dGVzXG4gICAgICB9O1xuICAgIH07XG4gIH1cbn07XG5cbnZhciBNaXNzaW5nSWNvbkluZGljYXRvciA9IHtcbiAgcHJvdmlkZXM6IGZ1bmN0aW9uIHByb3ZpZGVzKHByb3ZpZGVycykge1xuICAgIHZhciByZWR1Y2VNb3Rpb24gPSBmYWxzZTtcblxuICAgIGlmIChXSU5ET1cubWF0Y2hNZWRpYSkge1xuICAgICAgcmVkdWNlTW90aW9uID0gV0lORE9XLm1hdGNoTWVkaWEoJyhwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpJykubWF0Y2hlcztcbiAgICB9XG5cbiAgICBwcm92aWRlcnMubWlzc2luZ0ljb25BYnN0cmFjdCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBnQ2hpbGRyZW4gPSBbXTtcbiAgICAgIHZhciBGSUxMID0ge1xuICAgICAgICBmaWxsOiAnY3VycmVudENvbG9yJ1xuICAgICAgfTtcbiAgICAgIHZhciBBTklNQVRJT05fQkFTRSA9IHtcbiAgICAgICAgYXR0cmlidXRlVHlwZTogJ1hNTCcsXG4gICAgICAgIHJlcGVhdENvdW50OiAnaW5kZWZpbml0ZScsXG4gICAgICAgIGR1cjogJzJzJ1xuICAgICAgfTsgLy8gUmluZ1xuXG4gICAgICBnQ2hpbGRyZW4ucHVzaCh7XG4gICAgICAgIHRhZzogJ3BhdGgnLFxuICAgICAgICBhdHRyaWJ1dGVzOiBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgRklMTCksIHt9LCB7XG4gICAgICAgICAgZDogJ00xNTYuNSw0NDcuN2wtMTIuNiwyOS41Yy0xOC43LTkuNS0zNS45LTIxLjItNTEuNS0zNC45bDIyLjctMjIuN0MxMjcuNiw0MzAuNSwxNDEuNSw0NDAsMTU2LjUsNDQ3Ljd6IE00MC42LDI3Mkg4LjUgYzEuNCwyMS4yLDUuNCw0MS43LDExLjcsNjEuMUw1MCwzMjEuMkM0NS4xLDMwNS41LDQxLjgsMjg5LDQwLjYsMjcyeiBNNDAuNiwyNDBjMS40LTE4LjgsNS4yLTM3LDExLjEtNTQuMWwtMjkuNS0xMi42IEMxNC43LDE5NC4zLDEwLDIxNi43LDguNSwyNDBINDAuNnogTTY0LjMsMTU2LjVjNy44LTE0LjksMTcuMi0yOC44LDI4LjEtNDEuNUw2OS43LDkyLjNjLTEzLjcsMTUuNi0yNS41LDMyLjgtMzQuOSw1MS41IEw2NC4zLDE1Ni41eiBNMzk3LDQxOS42Yy0xMy45LDEyLTI5LjQsMjIuMy00Ni4xLDMwLjRsMTEuOSwyOS44YzIwLjctOS45LDM5LjgtMjIuNiw1Ni45LTM3LjZMMzk3LDQxOS42eiBNMTE1LDkyLjQgYzEzLjktMTIsMjkuNC0yMi4zLDQ2LjEtMzAuNGwtMTEuOS0yOS44Yy0yMC43LDkuOS0zOS44LDIyLjYtNTYuOCwzNy42TDExNSw5Mi40eiBNNDQ3LjcsMzU1LjVjLTcuOCwxNC45LTE3LjIsMjguOC0yOC4xLDQxLjUgbDIyLjcsMjIuN2MxMy43LTE1LjYsMjUuNS0zMi45LDM0LjktNTEuNUw0NDcuNywzNTUuNXogTTQ3MS40LDI3MmMtMS40LDE4LjgtNS4yLDM3LTExLjEsNTQuMWwyOS41LDEyLjYgYzcuNS0yMS4xLDEyLjItNDMuNSwxMy42LTY2LjhINDcxLjR6IE0zMjEuMiw0NjJjLTE1LjcsNS0zMi4yLDguMi00OS4yLDkuNHYzMi4xYzIxLjItMS40LDQxLjctNS40LDYxLjEtMTEuN0wzMjEuMiw0NjJ6IE0yNDAsNDcxLjRjLTE4LjgtMS40LTM3LTUuMi01NC4xLTExLjFsLTEyLjYsMjkuNWMyMS4xLDcuNSw0My41LDEyLjIsNjYuOCwxMy42VjQ3MS40eiBNNDYyLDE5MC44YzUsMTUuNyw4LjIsMzIuMiw5LjQsNDkuMmgzMi4xIGMtMS40LTIxLjItNS40LTQxLjctMTEuNy02MS4xTDQ2MiwxOTAuOHogTTkyLjQsMzk3Yy0xMi0xMy45LTIyLjMtMjkuNC0zMC40LTQ2LjFsLTI5LjgsMTEuOWM5LjksMjAuNywyMi42LDM5LjgsMzcuNiw1Ni45IEw5Mi40LDM5N3ogTTI3Miw0MC42YzE4LjgsMS40LDM2LjksNS4yLDU0LjEsMTEuMWwxMi42LTI5LjVDMzE3LjcsMTQuNywyOTUuMywxMCwyNzIsOC41VjQwLjZ6IE0xOTAuOCw1MCBjMTUuNy01LDMyLjItOC4yLDQ5LjItOS40VjguNWMtMjEuMiwxLjQtNDEuNyw1LjQtNjEuMSwxMS43TDE5MC44LDUweiBNNDQyLjMsOTIuM0w0MTkuNiwxMTVjMTIsMTMuOSwyMi4zLDI5LjQsMzAuNSw0Ni4xIGwyOS44LTExLjlDNDcwLDEyOC41LDQ1Ny4zLDEwOS40LDQ0Mi4zLDkyLjN6IE0zOTcsOTIuNGwyMi43LTIyLjdjLTE1LjYtMTMuNy0zMi44LTI1LjUtNTEuNS0zNC45bC0xMi42LDI5LjUgQzM3MC40LDcyLjEsMzg0LjQsODEuNSwzOTcsOTIuNHonXG4gICAgICAgIH0pXG4gICAgICB9KTtcblxuICAgICAgdmFyIE9QQUNJVFlfQU5JTUFURSA9IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBBTklNQVRJT05fQkFTRSksIHt9LCB7XG4gICAgICAgIGF0dHJpYnV0ZU5hbWU6ICdvcGFjaXR5J1xuICAgICAgfSk7XG5cbiAgICAgIHZhciBkb3QgPSB7XG4gICAgICAgIHRhZzogJ2NpcmNsZScsXG4gICAgICAgIGF0dHJpYnV0ZXM6IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBGSUxMKSwge30sIHtcbiAgICAgICAgICBjeDogJzI1NicsXG4gICAgICAgICAgY3k6ICczNjQnLFxuICAgICAgICAgIHI6ICcyOCdcbiAgICAgICAgfSksXG4gICAgICAgIGNoaWxkcmVuOiBbXVxuICAgICAgfTtcblxuICAgICAgaWYgKCFyZWR1Y2VNb3Rpb24pIHtcbiAgICAgICAgZG90LmNoaWxkcmVuLnB1c2goe1xuICAgICAgICAgIHRhZzogJ2FuaW1hdGUnLFxuICAgICAgICAgIGF0dHJpYnV0ZXM6IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBBTklNQVRJT05fQkFTRSksIHt9LCB7XG4gICAgICAgICAgICBhdHRyaWJ1dGVOYW1lOiAncicsXG4gICAgICAgICAgICB2YWx1ZXM6ICcyODsxNDsyODsyODsxNDsyODsnXG4gICAgICAgICAgfSlcbiAgICAgICAgfSwge1xuICAgICAgICAgIHRhZzogJ2FuaW1hdGUnLFxuICAgICAgICAgIGF0dHJpYnV0ZXM6IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBPUEFDSVRZX0FOSU1BVEUpLCB7fSwge1xuICAgICAgICAgICAgdmFsdWVzOiAnMTswOzE7MTswOzE7J1xuICAgICAgICAgIH0pXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBnQ2hpbGRyZW4ucHVzaChkb3QpO1xuICAgICAgZ0NoaWxkcmVuLnB1c2goe1xuICAgICAgICB0YWc6ICdwYXRoJyxcbiAgICAgICAgYXR0cmlidXRlczogX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIEZJTEwpLCB7fSwge1xuICAgICAgICAgIG9wYWNpdHk6ICcxJyxcbiAgICAgICAgICBkOiAnTTI2My43LDMxMmgtMTZjLTYuNiwwLTEyLTUuNC0xMi0xMmMwLTcxLDc3LjQtNjMuOSw3Ny40LTEwNy44YzAtMjAtMTcuOC00MC4yLTU3LjQtNDAuMmMtMjkuMSwwLTQ0LjMsOS42LTU5LjIsMjguNyBjLTMuOSw1LTExLjEsNi0xNi4yLDIuNGwtMTMuMS05LjJjLTUuNi0zLjktNi45LTExLjgtMi42LTE3LjJjMjEuMi0yNy4yLDQ2LjQtNDQuNyw5MS4yLTQ0LjdjNTIuMywwLDk3LjQsMjkuOCw5Ny40LDgwLjIgYzAsNjcuNi03Ny40LDYzLjUtNzcuNCwxMDcuOEMyNzUuNywzMDYuNiwyNzAuMywzMTIsMjYzLjcsMzEyeidcbiAgICAgICAgfSksXG4gICAgICAgIGNoaWxkcmVuOiByZWR1Y2VNb3Rpb24gPyBbXSA6IFt7XG4gICAgICAgICAgdGFnOiAnYW5pbWF0ZScsXG4gICAgICAgICAgYXR0cmlidXRlczogX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIE9QQUNJVFlfQU5JTUFURSksIHt9LCB7XG4gICAgICAgICAgICB2YWx1ZXM6ICcxOzA7MDswOzA7MTsnXG4gICAgICAgICAgfSlcbiAgICAgICAgfV1cbiAgICAgIH0pO1xuXG4gICAgICBpZiAoIXJlZHVjZU1vdGlvbikge1xuICAgICAgICAvLyBFeGNsYW1hdGlvblxuICAgICAgICBnQ2hpbGRyZW4ucHVzaCh7XG4gICAgICAgICAgdGFnOiAncGF0aCcsXG4gICAgICAgICAgYXR0cmlidXRlczogX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIEZJTEwpLCB7fSwge1xuICAgICAgICAgICAgb3BhY2l0eTogJzAnLFxuICAgICAgICAgICAgZDogJ00yMzIuNSwxMzQuNWw3LDE2OGMwLjMsNi40LDUuNiwxMS41LDEyLDExLjVoOWM2LjQsMCwxMS43LTUuMSwxMi0xMS41bDctMTY4YzAuMy02LjgtNS4yLTEyLjUtMTItMTIuNWgtMjMgQzIzNy43LDEyMiwyMzIuMiwxMjcuNywyMzIuNSwxMzQuNXonXG4gICAgICAgICAgfSksXG4gICAgICAgICAgY2hpbGRyZW46IFt7XG4gICAgICAgICAgICB0YWc6ICdhbmltYXRlJyxcbiAgICAgICAgICAgIGF0dHJpYnV0ZXM6IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBPUEFDSVRZX0FOSU1BVEUpLCB7fSwge1xuICAgICAgICAgICAgICB2YWx1ZXM6ICcwOzA7MTsxOzA7MDsnXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1dXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICB0YWc6ICdnJyxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICdjbGFzcyc6ICdtaXNzaW5nJ1xuICAgICAgICB9LFxuICAgICAgICBjaGlsZHJlbjogZ0NoaWxkcmVuXG4gICAgICB9O1xuICAgIH07XG4gIH1cbn07XG5cbnZhciBTdmdTeW1ib2xzID0ge1xuICBob29rczogZnVuY3Rpb24gaG9va3MoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhcnNlTm9kZUF0dHJpYnV0ZXM6IGZ1bmN0aW9uIHBhcnNlTm9kZUF0dHJpYnV0ZXMoYWNjdW11bGF0b3IsIG5vZGUpIHtcbiAgICAgICAgdmFyIHN5bWJvbERhdGEgPSBub2RlLmdldEF0dHJpYnV0ZSgnZGF0YS1mYS1zeW1ib2wnKTtcbiAgICAgICAgdmFyIHN5bWJvbCA9IHN5bWJvbERhdGEgPT09IG51bGwgPyBmYWxzZSA6IHN5bWJvbERhdGEgPT09ICcnID8gdHJ1ZSA6IHN5bWJvbERhdGE7XG4gICAgICAgIGFjY3VtdWxhdG9yWydzeW1ib2wnXSA9IHN5bWJvbDtcbiAgICAgICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICAgICAgfVxuICAgIH07XG4gIH1cbn07XG5cbnZhciBwbHVnaW5zID0gW0luamVjdENTUywgUmVwbGFjZUVsZW1lbnRzLCBMYXllcnMsIExheWVyc0NvdW50ZXIsIExheWVyc1RleHQsIFBzZXVkb0VsZW1lbnRzLCBNdXRhdGlvbk9ic2VydmVyJDEsIFBvd2VyVHJhbnNmb3JtcywgTWFza3MsIE1pc3NpbmdJY29uSW5kaWNhdG9yLCBTdmdTeW1ib2xzXTtcblxucmVnaXN0ZXJQbHVnaW5zKHBsdWdpbnMsIHtcbiAgbWl4b3V0c1RvOiBhcGlcbn0pO1xudmFyIG5vQXV0byQxID0gYXBpLm5vQXV0bztcbnZhciBjb25maWckMSA9IGFwaS5jb25maWc7XG52YXIgbGlicmFyeSQxID0gYXBpLmxpYnJhcnk7XG52YXIgZG9tJDEgPSBhcGkuZG9tO1xudmFyIHBhcnNlJDEgPSBhcGkucGFyc2U7XG52YXIgZmluZEljb25EZWZpbml0aW9uJDEgPSBhcGkuZmluZEljb25EZWZpbml0aW9uO1xudmFyIHRvSHRtbCQxID0gYXBpLnRvSHRtbDtcbnZhciBpY29uID0gYXBpLmljb247XG52YXIgbGF5ZXIgPSBhcGkubGF5ZXI7XG52YXIgdGV4dCA9IGFwaS50ZXh0O1xudmFyIGNvdW50ZXIgPSBhcGkuY291bnRlcjtcblxuZXhwb3J0IHsgbm9BdXRvJDEgYXMgbm9BdXRvLCBjb25maWckMSBhcyBjb25maWcsIGxpYnJhcnkkMSBhcyBsaWJyYXJ5LCBkb20kMSBhcyBkb20sIHBhcnNlJDEgYXMgcGFyc2UsIGZpbmRJY29uRGVmaW5pdGlvbiQxIGFzIGZpbmRJY29uRGVmaW5pdGlvbiwgdG9IdG1sJDEgYXMgdG9IdG1sLCBpY29uLCBsYXllciwgdGV4dCwgY291bnRlciwgYXBpIH07XG4iLCJ2YXIgcHJlZml4ID0gXCJmYXNcIjtcbnZhciBmYTAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnMCcsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiMzBcIiwgXCJNMCAxOTJDMCAxMDMuNiA3MS42IDMyIDE2MCAzMnMxNjAgNzEuNiAxNjAgMTYwVjMyMGMwIDg4LjQtNzEuNiAxNjAtMTYwIDE2MFMwIDQwOC40IDAgMzIwVjE5MnpNMTYwIDk2Yy01MyAwLTk2IDQzLTk2IDk2VjMyMGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2VjE5MmMwLTUzLTQzLTk2LTk2LTk2elwiXVxufTtcbnZhciBmYTEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnMScsXG4gIGljb246IFsyNTYsIDUxMiwgW10sIFwiMzFcIiwgXCJNMTYwIDY0YzAtMTEuOC02LjUtMjIuNi0xNi45LTI4LjJzLTIzLTUtMzIuOCAxLjZsLTk2IDY0Qy0uNSAxMTEuMi00LjQgMTMxIDUuNCAxNDUuOHMyOS43IDE4LjcgNDQuNCA4LjlMOTYgMTIzLjhWNDE2SDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDk2IDk2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDE2MFY2NHpcIl1cbn07XG52YXIgZmEyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJzInLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcIjMyXCIsIFwiTTE0Mi45IDk2Yy0yMS41IDAtNDIuMiA4LjUtNTcuNCAyMy44TDU0LjYgMTUwLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDQwLjIgNzQuNUM2Ny41IDQ3LjMgMTA0LjQgMzIgMTQyLjkgMzJDMjIzIDMyIDI4OCA5NyAyODggMTc3LjFjMCAzOC41LTE1LjMgNzUuNC00Mi41IDEwMi42TDEwOS4zIDQxNkgyODhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzJjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhzLTIuMi0yNS43IDYuOS0zNC45TDIwMC4yIDIzNC41YzE1LjItMTUuMiAyMy44LTM1LjkgMjMuOC01Ny40YzAtNDQuOC0zNi4zLTgxLjEtODEuMS04MS4xelwiXVxufTtcbnZhciBmYTMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnMycsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiMzNcIiwgXCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMkgyNzJjMTMuMiAwIDI1IDguMSAyOS44IDIwLjRzMS41IDI2LjMtOC4yIDM1LjJMMTYyLjMgMjA4SDE4NGM3NS4xIDAgMTM2IDYwLjkgMTM2IDEzNnMtNjAuOSAxMzYtMTM2IDEzNkgxMDUuNEM2MyA0ODAgMjQuMiA0NTYgNS4zIDQxOC4xbC0xLjktMy44Yy03LjktMTUuOC0xLjUtMzUgMTQuMy00Mi45czM1LTEuNSA0Mi45IDE0LjNsMS45IDMuOGM4LjEgMTYuMyAyNC44IDI2LjUgNDIuOSAyNi41SDE4NGMzOS44IDAgNzItMzIuMiA3Mi03MnMtMzIuMi03Mi03Mi03Mkg4MGMtMTMuMiAwLTI1LTguMS0yOS44LTIwLjRzLTEuNS0yNi4zIDguMi0zNS4yTDE4OS43IDk2SDMyQzE0LjMgOTYgMCA4MS43IDAgNjR6XCJdXG59O1xudmFyIGZhNCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICc0JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCIzNFwiLCBcIk0xODkgNzcuNmM3LjUtMTYgLjctMzUuMS0xNS4zLTQyLjZzLTM1LjEtLjctNDIuNiAxNS4zTDMgMzIyLjRjLTQuNyA5LjktMy45IDIxLjUgMS45IDMwLjhTMjEgMzY4IDMyIDM2OEgyNTZ2ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzNjhoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzIwVjE2MGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlYzMDRIODIuNEwxODkgNzcuNnpcIl1cbn07XG52YXIgZmE1ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJzUnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcIjM1XCIsIFwiTTMyLjUgNTguM0MzNS4zIDQzLjEgNDguNSAzMiA2NCAzMkgyNTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIOTAuN0w3MC4zIDIwOEgxODRjNzUuMSAwIDEzNiA2MC45IDEzNiAxMzZzLTYwLjkgMTM2LTEzNiAxMzZIMTAwLjVjLTM5LjQgMC03NS40LTIyLjMtOTMtNTcuNWwtNC4xLTguMmMtNy45LTE1LjgtMS41LTM1IDE0LjMtNDIuOXMzNS0xLjUgNDIuOSAxNC4zbDQuMSA4LjJjNi44IDEzLjYgMjAuNiAyMi4xIDM1LjggMjIuMUgxODRjMzkuOCAwIDcyLTMyLjIgNzItNzJzLTMyLjItNzItNzItNzJIMzJjLTkuNSAwLTE4LjUtNC4yLTI0LjYtMTEuNXMtOC42LTE2LjktNi45LTI2LjJsMzItMTc2elwiXVxufTtcbnZhciBmYTYgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnNicsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiMzZcIiwgXCJNMjMyLjQgODQuN2MxMS40LTEzLjUgOS43LTMzLjctMy44LTQ1LjFzLTMzLjctOS43LTQ1LjEgMy44TDM4LjYgMjE0LjdDMTQuNyAyNDIuOSAxLjEgMjc4LjQgLjEgMzE1LjJjMCAxLjQtLjEgMi45LS4xIDQuM2MwIC4yIDAgLjMgMCAuNWMwIDg4LjQgNzEuNiAxNjAgMTYwIDE2MHMxNjAtNzEuNiAxNjAtMTYwYzAtODUuNS02Ny4xLTE1NS40LTE1MS41LTE1OS44bDYzLjktNzUuNnpNMjU2IDMyMEE5NiA5NiAwIDEgMSA2NCAzMjBhOTYgOTYgMCAxIDEgMTkyIDB6XCJdXG59O1xudmFyIGZhNyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICc3JyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCIzN1wiLCBcIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMySDI4OGMxMS41IDAgMjIgNi4xIDI3LjcgMTYuMXM1LjcgMjIuMi0uMSAzMi4xbC0yMjQgMzg0Yy04LjkgMTUuMy0yOC41IDIwLjQtNDMuOCAxMS41cy0yMC40LTI4LjUtMTEuNS00My44TDIzMi4zIDk2SDMyQzE0LjMgOTYgMCA4MS43IDAgNjR6XCJdXG59O1xudmFyIGZhOCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICc4JyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCIzOFwiLCBcIk0zMDQgMTYwYzAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4SDE0NEM3My4zIDMyIDE2IDg5LjMgMTYgMTYwYzAgMzQuNiAxMy43IDY2IDM2IDg5QzIwLjUgMjcyLjMgMCAzMDkuOCAwIDM1MmMwIDcwLjcgNTcuMyAxMjggMTI4IDEyOGg2NGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOGMwLTQyLjItMjAuNS03OS43LTUyLTEwM2MyMi4zLTIzIDM2LTU0LjQgMzYtODl6TTE3Ni4xIDI4OEgxOTJjMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjRIMTI4Yy0zNS4zIDAtNjQtMjguNy02NC02NHMyOC43LTY0IDY0LTY0aDE1LjljMCAwIC4xIDAgLjEgMGgzMmMwIDAgLjEgMCAuMSAwem0wLTY0YzAgMCAwIDAgMCAwSDE0NGMwIDAgMCAwIDAgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRoMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRjMCAzNS4zLTI4LjYgNjQtNjQgNjR6XCJdXG59O1xudmFyIGZhOSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICc5JyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCIzOVwiLCBcIk02NCAxOTJhOTYgOTYgMCAxIDAgMTkyIDBBOTYgOTYgMCAxIDAgNjQgMTkyem04Ny41IDE1OS44QzY3LjEgMzQ3LjQgMCAyNzcuNSAwIDE5MkMwIDEwMy42IDcxLjYgMzIgMTYwIDMyczE2MCA3MS42IDE2MCAxNjBjMCAyLjYtLjEgNS4zLS4yIDcuOWMtMS43IDM1LjctMTUuMiA3MC0zOC40IDk3LjRsLTE0NSAxNzEuNGMtMTEuNCAxMy41LTMxLjYgMTUuMi00NS4xIDMuOHMtMTUuMi0zMS42LTMuOC00NS4xbDYzLjktNzUuNnpcIl1cbn07XG52YXIgZmFGaWxsRHJpcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxsLWRyaXAnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY1NzZcIiwgXCJNNDEuNCA5LjRDNTMuOS0zLjEgNzQuMS0zLjEgODYuNiA5LjRMMTY4IDkwLjdsNTMuMS01My4xYzI4LjEtMjguMSA3My43LTI4LjEgMTAxLjggMEw0NzQuMyAxODkuMWMyOC4xIDI4LjEgMjguMSA3My43IDAgMTAxLjhMMjgzLjkgNDgxLjRjLTM3LjUgMzcuNS05OC4zIDM3LjUtMTM1LjggMEwzMC42IDM2My45Yy0zNy41LTM3LjUtMzcuNS05OC4zIDAtMTM1LjhMMTIyLjcgMTM2IDQxLjQgNTQuNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjN6bTE3NiAyMjEuM0wxNjggMTgxLjMgNzUuOSAyNzMuNGMtNC4yIDQuMi03IDkuMy04LjQgMTQuNkgzODYuN2w0Mi4zLTQyLjNjMy4xLTMuMSAzLjEtOC4yIDAtMTEuM0wyNzcuNyA4Mi45Yy0zLjEtMy4xLTguMi0zLjEtMTEuMyAwTDIxMy4zIDEzNmw0OS40IDQ5LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDB6TTUxMiA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0YzAtMjUuMiAzMi42LTc5LjYgNTEuMi0xMDguN2M2LTkuNCAxOS41LTkuNCAyNS41IDBDNTQzLjQgMzY4LjQgNTc2IDQyMi44IDU3NiA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjR6XCJdXG59O1xudmFyIGZhQXJyb3dzVG9DaXJjbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3dzLXRvLWNpcmNsZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRiZFwiLCBcIk05LjQgOS40QzIxLjktMy4xIDQyLjEtMy4xIDU0LjYgOS40TDE2MCAxMTQuN1Y5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMydjk2YzAgNC4zLS45IDguNS0yLjQgMTIuMmMtMS42IDMuNy0zLjggNy4zLTYuOSAxMC4zbC0uMSAuMWMtMy4xIDMtNi42IDUuMy0xMC4zIDYuOWMtMy44IDEuNi03LjkgMi40LTEyLjIgMi40SDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyaDE4LjdMOS40IDU0LjZDLTMuMSA0Mi4xLTMuMSAyMS45IDkuNCA5LjR6TTI1NiAyNTZhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwek0xMTQuNyAzNTJIOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJoOTYgMGwuMSAwYzguOCAwIDE2LjcgMy42IDIyLjUgOS4zbC4xIC4xYzMgMy4xIDUuMyA2LjYgNi45IDEwLjNjMS42IDMuOCAyLjQgNy45IDIuNCAxMi4ydjk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjM5Ny4zTDU0LjYgNTAyLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDExNC43IDM1MnpNNDE2IDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ2MTguN0w1ODUuNCA5LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM0w1MjUuMyAxNjBINTQ0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDQ0OGMtOC44IDAtMTYuOC0zLjYtMjIuNi05LjNsLS4xLS4xYy0zLTMuMS01LjMtNi42LTYuOS0xMC4zcy0yLjQtNy44LTIuNC0xMi4ybDAtLjF2MFY5NnpNNTI1LjMgMzUyTDYzMC42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDQ4MCAzOTcuM1Y0MTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzIwdjBjMCAwIDAtLjEgMC0uMWMwLTQuMyAuOS04LjQgMi40LTEyLjJjMS42LTMuOCAzLjktNy4zIDYuOS0xMC40YzUuOC01LjggMTMuNy05LjMgMjIuNS05LjRjMCAwIC4xIDAgLjEgMGgwIDk2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDUyNS4zelwiXVxufTtcbnZhciBmYUNpcmNsZUNoZXZyb25SaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtY2hldnJvbi1yaWdodCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiY2hldnJvbi1jaXJjbGUtcmlnaHRcIl0sIFwiZjEzOFwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAwIDUxMiAwQTI1NiAyNTYgMCAxIDAgMCAyNTZ6TTI0MSAzNzdjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsODctODctODctODdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMEwzNDUgMjM5YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45TDI0MSAzNzd6XCJdXG59O1xudmFyIGZhQ2hldnJvbkNpcmNsZVJpZ2h0ID0gZmFDaXJjbGVDaGV2cm9uUmlnaHQ7XG52YXIgZmFBdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzYxOTQ2XSwgXCI0MFwiLCBcIk0yNTYgNjRDMTUwIDY0IDY0IDE1MCA2NCAyNTZzODYgMTkyIDE5MiAxOTJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJDMTE0LjYgNTEyIDAgMzk3LjQgMCAyNTZTMTE0LjYgMCAyNTYgMFM1MTIgMTE0LjYgNTEyIDI1NnYzMmMwIDUzLTQzIDk2LTk2IDk2Yy0yOS4zIDAtNTUuNi0xMy4yLTczLjItMzMuOUMzMjAgMzcxLjEgMjg5LjUgMzg0IDI1NiAzODRjLTcwLjcgMC0xMjgtNTcuMy0xMjgtMTI4czU3LjMtMTI4IDEyOC0xMjhjMjcuOSAwIDUzLjcgOC45IDc0LjcgMjQuMWM1LjctNSAxMy4xLTguMSAyMS4zLTguMWMxNy43IDAgMzIgMTQuMyAzMiAzMnY4MCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjI1NmMwLTEwNi04Ni0xOTItMTkyLTE5MnptNjQgMTkyYTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHpcIl1cbn07XG52YXIgZmFUcmFzaENhbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cmFzaC1jYW4nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs2MTQ2MCwgXCJ0cmFzaC1hbHRcIl0sIFwiZjJlZFwiLCBcIk0xMzUuMiAxNy43QzE0MC42IDYuOCAxNTEuNyAwIDE2My44IDBIMjg0LjJjMTIuMSAwIDIzLjIgNi44IDI4LjYgMTcuN0wzMjAgMzJoOTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzJDMTQuMyA5NiAwIDgxLjcgMCA2NFMxNC4zIDMyIDMyIDMyaDk2bDcuMi0xNC4zek0zMiAxMjhINDE2VjQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEg5NmMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMTI4em05NiA2NGMtOC44IDAtMTYgNy4yLTE2IDE2VjQzMmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjIwOGMwLTguOC03LjItMTYtMTYtMTZ6bTk2IDBjLTguOCAwLTE2IDcuMi0xNiAxNlY0MzJjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlYyMDhjMC04LjgtNy4yLTE2LTE2LTE2em05NiAwYy04LjggMC0xNiA3LjItMTYgMTZWNDMyYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMjA4YzAtOC44LTcuMi0xNi0xNi0xNnpcIl1cbn07XG52YXIgZmFUcmFzaEFsdCA9IGZhVHJhc2hDYW47XG52YXIgZmFUZXh0SGVpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RleHQtaGVpZ2h0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMDM0XCIsIFwiTTY0IDEyOFY5Nmg2NGwwIDMyMEg5NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkgyMjRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTkybDAtMzIwaDY0djMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWODBjMC0yNi41LTIxLjUtNDgtNDgtNDhIMTYwIDQ4QzIxLjUgMzIgMCA1My41IDAgODB2NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnpNNTAyLjYgNDEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTY0IDY0Yy05LjIgOS4yLTExLjkgMjIuOS02LjkgMzQuOXMxNi42IDE5LjggMjkuNiAxOS44aDMyVjM1Mkg0MTZjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45bDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45cy0xNi42LTE5LjgtMjkuNi0xOS44SDUxMlYxNjBoMzJjMTIuOSAwIDI0LjYtNy44IDI5LjYtMTkuOHMyLjItMjUuNy02LjktMzQuOWwtNjQtNjR6XCJdXG59O1xudmFyIGZhVXNlclhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXIteG1hcmsnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInVzZXItdGltZXNcIl0sIFwiZjIzNVwiLCBcIk05NiAxMjhhMTI4IDEyOCAwIDEgMSAyNTYgMEExMjggMTI4IDAgMSAxIDk2IDEyOHpNMCA0ODIuM0MwIDM4My44IDc5LjggMzA0IDE3OC4zIDMwNGg5MS40QzM2OC4yIDMwNCA0NDggMzgzLjggNDQ4IDQ4Mi4zYzAgMTYuNC0xMy4zIDI5LjctMjkuNyAyOS43SDI5LjdDMTMuMyA1MTIgMCA0OTguNyAwIDQ4Mi4zek00NzEgMTQzYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDQ3IDQ3IDQ3LTQ3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNDcgNDcgNDcgNDdjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDctNDctNDcgNDdjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNDctNDctNDctNDdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45elwiXVxufTtcbnZhciBmYVVzZXJUaW1lcyA9IGZhVXNlclhtYXJrO1xudmFyIGZhU3RldGhvc2NvcGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3RldGhvc2NvcGUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjk2NThdLCBcImYwZjFcIiwgXCJNMTQyLjQgMjEuOWM1LjYgMTYuOC0zLjUgMzQuOS0yMC4yIDQwLjVMOTYgNzEuMVYxOTJjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NlY3MS4xbC0yNi4xLTguN2MtMTYuOC01LjYtMjUuOC0yMy43LTIwLjItNDAuNXMyMy43LTI1LjggNDAuNS0yMC4ybDI2LjEgOC43QzMzNC40IDE5LjEgMzUyIDQzLjUgMzUyIDcxLjFWMTkyYzAgNzcuMi01NC42IDE0MS42LTEyNy4zIDE1Ni43QzIzMSA0MDQuNiAyNzguNCA0NDggMzM2IDQ0OGM2MS45IDAgMTEyLTUwLjEgMTEyLTExMlYyNjUuM2MtMjguMy0xMi4zLTQ4LTQwLjUtNDgtNzMuM2MwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgMzIuOC0xOS43IDYxLTQ4IDczLjNWMzM2YzAgOTcuMi03OC44IDE3Ni0xNzYgMTc2Yy05Mi45IDAtMTY4LjktNzEuOS0xNzUuNS0xNjMuMUM4Ny4yIDMzNC4yIDMyIDI2OS42IDMyIDE5MlY3MS4xYzAtMjcuNSAxNy42LTUyIDQzLjgtNjAuN2wyNi4xLTguN2MxNi44LTUuNiAzNC45IDMuNSA0MC41IDIwLjJ6TTQ4MCAyMjRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbnZhciBmYU1lc3NhZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWVzc2FnZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiY29tbWVudC1hbHRcIl0sIFwiZjI3YVwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NFYzNTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRoOTZ2ODBjMCA2LjEgMy40IDExLjYgOC44IDE0LjNzMTEuOSAyLjEgMTYuOC0xLjVMMzA5LjMgNDE2SDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NFY2NGMwLTM1LjMtMjguNy02NC02NC02NEg2NHpcIl1cbn07XG52YXIgZmFDb21tZW50QWx0ID0gZmFNZXNzYWdlO1xudmFyIGZhSW5mbyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdpbmZvJyxcbiAgaWNvbjogWzE5MiwgNTEyLCBbXSwgXCJmMTI5XCIsIFwiTTQ4IDgwYTQ4IDQ4IDAgMSAxIDk2IDBBNDggNDggMCAxIDEgNDggODB6TTAgMjI0YzAtMTcuNyAxNC4zLTMyIDMyLTMySDk2YzE3LjcgMCAzMiAxNC4zIDMyIDMyVjQ0OGgzMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkg2NFYyNTZIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyelwiXVxufTtcbnZhciBmYURvd25MZWZ0QW5kVXBSaWdodFRvQ2VudGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Rvd24tbGVmdC1hbmQtdXAtcmlnaHQtdG8tY2VudGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJjb21wcmVzcy1hbHRcIl0sIFwiZjQyMlwiLCBcIk00MzkgN2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMGwzMiAzMmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtODcgODcgMzkgMzljNi45IDYuOSA4LjkgMTcuMiA1LjIgMjYuMnMtMTIuNSAxNC44LTIyLjIgMTQuOEgyOTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0VjcyYzAtOS43IDUuOC0xOC41IDE0LjgtMjIuMnMxOS4zLTEuNyAyNi4yIDUuMmwzOSAzOUw0MzkgN3pNNzIgMjcySDIxNmMxMy4zIDAgMjQgMTAuNyAyNCAyNFY0NDBjMCA5LjctNS44IDE4LjUtMTQuOCAyMi4ycy0xOS4zIDEuNy0yNi4yLTUuMmwtMzktMzlMNzMgNTA1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMEw3IDQ3M2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsODctODdMNTUgMzEzYy02LjktNi45LTguOS0xNy4yLTUuMi0yNi4yczEyLjUtMTQuOCAyMi4yLTE0Ljh6XCJdXG59O1xudmFyIGZhQ29tcHJlc3NBbHQgPSBmYURvd25MZWZ0QW5kVXBSaWdodFRvQ2VudGVyO1xudmFyIGZhRXhwbG9zaW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2V4cGxvc2lvbicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRlOVwiLCBcIk00OTkuNiAxMS4zYzYuNy0xMC43IDIwLjUtMTQuNSAzMS43LTguNXMxNS44IDE5LjUgMTAuNiAzMUw0MDQuOCAzMzguNmMyLjIgMi4zIDQuMyA0LjcgNi4zIDcuMWw5Ny4yLTU0LjdjMTAuNS01LjkgMjMuNi0zLjEgMzAuOSA2LjRzNi4zIDIzLTIuMiAzMS41bC04NyA4N0gzNzguNWMtMTMuMi0zNy4zLTQ4LjctNjQtOTAuNS02NHMtNzcuNCAyNi43LTkwLjUgNjRIMTE3LjhMNDIuMyAzNjMuN2MtOS43LTYuNy0xMy4xLTE5LjYtNy45LTMwLjNzMTcuNC0xNS45IDI4LjctMTIuNGw5Ny4yIDMwLjRjMy0zLjkgNi4xLTcuNyA5LjQtMTEuM0wxMDcuNCAyMzYuM2MtNi4xLTEwLjEtMy45LTIzLjEgNS4xLTMwLjdzMjIuMi03LjUgMzEuMSAuMUwyNDYgMjkzLjZjMS41LS40IDMtLjggNC41LTEuMWwxMy42LTE0Mi43YzEuMi0xMi4zIDExLjUtMjEuNyAyMy45LTIxLjdzMjIuNyA5LjQgMjMuOSAyMS43bDEzLjUgMTQxLjlMNDk5LjYgMTEuM3pNNjQgNDQ4djBINTEydjBoMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJINjR6TTI4OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0VjcyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0VjI0YzAtMTMuMyAxMC43LTI0IDI0LTI0elwiXVxufTtcbnZhciBmYUZpbGVMaW5lcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLWxpbmVzJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI4NDQxLCAxMjg0NjIsIDYxNjg2LCBcImZpbGUtYWx0XCIsIFwiZmlsZS10ZXh0XCJdLCBcImYxNWNcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDMyMGMzNS4zIDAgNjQtMjguNyA2NC02NFYxNjBIMjU2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYwSDY0ek0yNTYgMFYxMjhIMzg0TDI1NiAwek0xMTIgMjU2SDI3MmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgxMTJjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTAgNjRIMjcyYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDExMmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnptMCA2NEgyNzJjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMTEyYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2elwiXVxufTtcbnZhciBmYUZpbGVBbHQgPSBmYUZpbGVMaW5lcztcbnZhciBmYUZpbGVUZXh0ID0gZmFGaWxlTGluZXM7XG52YXIgZmFXYXZlU3F1YXJlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dhdmUtc3F1YXJlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmODNlXCIsIFwiTTEyOCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMkgzMjBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNDE2aDk2VjI1NmMwLTE3LjcgMTQuMy0zMiAzMi0zMkg2MDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJINTEyVjQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMkgzMjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjk2SDE5MlYyNTZjMCAxNy43LTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJoOTZWNjR6XCJdXG59O1xudmFyIGZhUmluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyaW5nJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNzBiXCIsIFwiTTY0IDIwOGMwIDcuOCA0LjQgMTguNyAxNy4xIDMwLjNDMTI2LjUgMjE0LjEgMTg4LjkgMjAwIDI1NiAyMDBzMTI5LjUgMTQuMSAxNzQuOSAzOC4zQzQ0My42IDIyNi43IDQ0OCAyMTUuOCA0NDggMjA4YzAtMTIuMy0xMC44LTMyLTQ3LjktNTAuNkMzNjQuOSAxMzkuOCAzMTQgMTI4IDI1NiAxMjhzLTEwOC45IDExLjgtMTQ0LjEgMjkuNEM3NC44IDE3NiA2NCAxOTUuNyA2NCAyMDh6bTE5MiA0MGMtNDcgMC04OS4zIDcuNi0xMjIuOSAxOS43QzE2Ni4zIDI4MC4yIDIwOC44IDI4OCAyNTYgMjg4czg5LjctNy44IDEyMi45LTIwLjNDMzQ1LjMgMjU1LjYgMzAzIDI0OCAyNTYgMjQ4ek0wIDIwOGMwLTQ5LjYgMzkuNC04NS44IDgzLjMtMTA3LjhDMTI5LjEgNzcuMyAxOTAuMyA2NCAyNTYgNjRzMTI2LjkgMTMuMyAxNzIuNyAzNi4yYzQzLjkgMjIgODMuMyA1OC4yIDgzLjMgMTA3Ljh2OTZjMCA0OS42LTM5LjQgODUuOC04My4zIDEwNy44QzM4Mi45IDQzNC43IDMyMS43IDQ0OCAyNTYgNDQ4cy0xMjYuOS0xMy4zLTE3Mi43LTM2LjJDMzkuNCAzODkuOCAwIDM1My42IDAgMzA0VjIwOHpcIl1cbn07XG52YXIgZmFCdWlsZGluZ1VuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1aWxkaW5nLXVuJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlNGQ5XCIsIFwiTTQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4VjQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGg5NlY0MzJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OHY4MGg5NmMyNi41IDAgNDgtMjEuNSA0OC00OFY0OGMwLTI2LjUtMjEuNS00OC00OC00OEg0OHpNNjQgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZWMjQwem0xMTItMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYyNDBjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgyNzJjLTguOCAwLTE2LTcuMi0xNi0xNlYyNDB6TTIzNy4zIDcxLjFsMzQuNyA1MlY4MGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2djk2YzAgNy4xLTQuNiAxMy4zLTExLjQgMTUuM3MtMTQtLjYtMTcuOS02LjRsLTM0LjctNTJWMTc2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjgwYzAtNy4xIDQuNi0xMy4zIDExLjQtMTUuM3MxNCAuNiAxNy45IDYuNHpNMTEyIDgwdjY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWODBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnY2NGMwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OFY4MGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2elwiXVxufTtcbnZhciBmYURpY2VUaHJlZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkaWNlLXRocmVlJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbOTg1OF0sIFwiZjUyN1wiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEgzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6bTY0IDk2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptNjQgMTI4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTEyOCA2NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhQ2FsZW5kYXJEYXlzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhbGVuZGFyLWRheXMnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImNhbGVuZGFyLWFsdFwiXSwgXCJmMDczXCIsIFwiTTEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjY0SDI4OFYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyVjY0aDQ4YzI2LjUgMCA0OCAyMS41IDQ4IDQ4djQ4SDBWMTEyQzAgODUuNSAyMS41IDY0IDQ4IDY0SDk2VjMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek0wIDE5Mkg0NDhWNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFYxOTJ6bTY0IDgwdjMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMjcyYzAtOC44LTcuMi0xNi0xNi0xNkg4MGMtOC44IDAtMTYgNy4yLTE2IDE2em0xMjggMHYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjI3MmMwLTguOC03LjItMTYtMTYtMTZIMjA4Yy04LjggMC0xNiA3LjItMTYgMTZ6bTE0NC0xNmMtOC44IDAtMTYgNy4yLTE2IDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMjcyYzAtOC44LTcuMi0xNi0xNi0xNkgzMzZ6TTY0IDQwMHYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjQwMGMwLTguOC03LjItMTYtMTYtMTZIODBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTQ0LTE2Yy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlY0MDBjMC04LjgtNy4yLTE2LTE2LTE2SDIwOHptMTEyIDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWNDAwYzAtOC44LTcuMi0xNi0xNi0xNkgzMzZjLTguOCAwLTE2IDcuMi0xNiAxNnpcIl1cbn07XG52YXIgZmFDYWxlbmRhckFsdCA9IGZhQ2FsZW5kYXJEYXlzO1xudmFyIGZhQW5jaG9yQ2lyY2xlQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5jaG9yLWNpcmNsZS1jaGVjaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRhYVwiLCBcIk0zMjAgOTZhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHptMjEuMSA4MEMzNjcgMTU4LjggMzg0IDEyOS40IDM4NCA5NmMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmMwIDMzLjQgMTcgNjIuOCA0Mi45IDgwSDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmgzMlY0NDhIMjA4Yy01MyAwLTk2LTQzLTk2LTk2di02LjFsNyA3YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw5NyAyNjNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwTDcgMzE5Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNy03VjM1MmMwIDg4LjQgNzEuNiAxNjAgMTYwIDE2MGg4MCA4MGM4LjIgMCAxNi4zLS42IDI0LjItMS44Yy0yMi4yLTE2LjItNDAuNC0zNy41LTUzLTYyLjJIMzIwVjM2OCAyNDBoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzQxLjF6TTY0MCAzNjhhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTc2LjctNDMuM2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNmwtNzIgNzJjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwbC00MC00MGMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQ4MCAzODUuNGw2MC43LTYwLjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDB6XCJdXG59O1xudmFyIGZhQnVpbGRpbmdDaXJjbGVBcnJvd1JpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1aWxkaW5nLWNpcmNsZS1hcnJvdy1yaWdodCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRkMVwiLCBcIk0wIDQ4QzAgMjEuNSAyMS41IDAgNDggMEgzMzZjMjYuNSAwIDQ4IDIxLjUgNDggNDhWMjMyLjJjLTM5LjEgMzIuMy02NCA4MS4xLTY0IDEzNS44YzAgNDkuNSAyMC40IDk0LjIgNTMuMyAxMjYuMkMzNjQuNSA1MDUuMSAzNTEuMSA1MTIgMzM2IDUxMkgyNDBWNDMyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4djgwSDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFY0OHpNODAgMjI0Yy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYyNDBjMC04LjgtNy4yLTE2LTE2LTE2SDgwem04MCAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjI0MGMwLTguOC03LjItMTYtMTYtMTZIMTc2Yy04LjggMC0xNiA3LjItMTYgMTZ6bTExMi0xNmMtOC44IDAtMTYgNy4yLTE2IDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMjQwYzAtOC44LTcuMi0xNi0xNi0xNkgyNzJ6TTY0IDExMnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjExMmMwLTguOC03LjItMTYtMTYtMTZIODBjLTguOCAwLTE2IDcuMi0xNiAxNnpNMTc2IDk2Yy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYxMTJjMC04LjgtNy4yLTE2LTE2LTE2SDE3NnptODAgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYxMTJjMC04LjgtNy4yLTE2LTE2LTE2SDI3MmMtOC44IDAtMTYgNy4yLTE2IDE2em05NiAyNTZhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMTQwLjctNjcuM2MtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZMNTIxLjQgMzUySDQzMmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmg4OS40bC0yOC43IDI4LjdjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGw1Ni01NmM2LjItNi4yIDYuMi0xNi40IDAtMjIuNmwtNTYtNTZjLTYuMi02LjItMTYuNC02LjItMjIuNiAwelwiXVxufTtcbnZhciBmYVZvbGxleWJhbGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndm9sbGV5YmFsbCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzk1MiwgXCJ2b2xsZXliYWxsLWJhbGxcIl0sIFwiZjQ1ZlwiLCBcIk01MTEuOCAyNjcuNGMtMjYuMSA4LjctNTMuNCAxMy44LTgxIDE1LjFjOS4yLTEwNS4zLTMxLjUtMjA0LjItMTAzLjItMjcyLjRDNDM0LjEgNDEuMSA1MTIgMTM5LjUgNTEyIDI1NmMwIDMuOC0uMSA3LjYtLjIgMTEuNHptLTMuOSAzNC43Yy01LjggMzItMTcuNiA2Mi0zNC4yIDg4LjdjLTk3LjUgNDguNS0yMTcuNyA0Mi42LTMxMS45LTI0LjVjMjMuNy0zNi4yIDU1LjQtNjcuNyA5NC41LTkxLjhjNzkuOSA0My4yIDE3MC4xIDUwLjggMjUxLjYgMjcuNnptLTIzNi01NS41Yy0yLjUtOTAuOS00MS4xLTE3Mi43LTEwMS45LTIzMS43QzE5Ni44IDUuMiAyMjUuOCAwIDI1NiAwYzIuNyAwIDUuMyAwIDcuOSAuMWM5MC44IDYwLjIgMTQ1LjcgMTY3LjIgMTM0LjcgMjgyLjNjLTQzLjEtMi40LTg2LjQtMTQuMS0xMjYuOC0zNS45ek0xMzggMjguOGMyMC42IDE4LjMgMzguNyAzOS40IDUzLjcgNjIuNkM5NS45IDEzNi4xIDMwLjYgMjIwLjggNy4zIDMxNi45QzIuNSAyOTcuNCAwIDI3NyAwIDI1NkMwIDE1Ny4yIDU2IDcxLjUgMTM4IDI4Ljh6bTY5LjYgOTAuNWMxOS41IDM4LjYgMzEgODEuOSAzMi4zIDEyNy43QzE2Mi41IDI5NC42IDExMC45IDM2OC45IDkwLjIgNDUxQzY2IDQzMC40IDQ1LjYgNDA1LjQgMzAuNCAzNzcuMmM2LjctMTA4LjcgNzEuOS0yMDkuOSAxNzcuMS0yNTcuOXpNMjU2IDUxMmMtNTAuNyAwLTk4LTE0LjctMTM3LjgtNDAuMmM1LjYtMjcgMTQuOC01My4xIDI3LjQtNzcuN0MyMzIuMiA0NTQuNiAzMzguMSA0NjguOCA0MzMgNDQxYy00NiA0NC0xMDguMyA3MS0xNzcgNzF6XCJdXG59O1xudmFyIGZhVm9sbGV5YmFsbEJhbGwgPSBmYVZvbGxleWJhbGw7XG52YXIgZmFBcnJvd3NVcFRvTGluZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3MtdXAtdG8tbGluZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRjMlwiLCBcIk0zMiA5Nmw1MTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZ6TTkuNCAyMzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEw5NiAyMzcuMyA5NiA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTIxMC43IDQxLjQgNDEuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC05Ni05NmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2em0zMjAgNDUuM2MxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMEw0MTYgMjM3LjMgNDE2IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjEwLjcgNDEuNCA0MS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTk2LTk2Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zelwiXVxufTtcbnZhciBmYVNvcnREb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NvcnQtZG93bicsXG4gIGljb246IFszMjAsIDUxMiwgW1wic29ydC1kZXNjXCJdLCBcImYwZGRcIiwgXCJNMTgyLjYgNDcwLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC0xMjgtMTI4Yy05LjItOS4yLTExLjktMjIuOS02LjktMzQuOXMxNi42LTE5LjggMjkuNi0xOS44SDI4OGMxMi45IDAgMjQuNiA3LjggMjkuNiAxOS44czIuMiAyNS43LTYuOSAzNC45bC0xMjggMTI4elwiXVxufTtcbnZhciBmYVNvcnREZXNjID0gZmFTb3J0RG93bjtcbnZhciBmYUNpcmNsZU1pbnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1taW51cycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibWludXMtY2lyY2xlXCJdLCBcImYwNTZcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE4NCAyMzJIMzI4YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDE4NGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpcIl1cbn07XG52YXIgZmFNaW51c0NpcmNsZSA9IGZhQ2lyY2xlTWludXM7XG52YXIgZmFEb29yT3BlbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkb29yLW9wZW4nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY1MmJcIiwgXCJNMzIwIDMyYzAtOS45LTQuNS0xOS4yLTEyLjMtMjUuMlMyODkuOC0xLjQgMjgwLjIgMWwtMTc5LjkgNDVDNzkgNTEuMyA2NCA3MC41IDY0IDkyLjVWNDQ4SDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDk2IDI4OGgzMlY0ODAgMzJ6TTI1NiAyNTZjMCAxNy43LTEwLjcgMzItMjQgMzJzLTI0LTE0LjMtMjQtMzJzMTAuNy0zMiAyNC0zMnMyNCAxNC4zIDI0IDMyem05Ni0xMjhoOTZWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyaDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDUxMlYxMjhjMC0zNS4zLTI4LjctNjQtNjQtNjRIMzUydjY0elwiXVxufTtcbnZhciBmYVJpZ2h0RnJvbUJyYWNrZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmlnaHQtZnJvbS1icmFja2V0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJzaWduLW91dC1hbHRcIl0sIFwiZjJmNVwiLCBcIk0zNzcuOSAxMDUuOUw1MDAuNyAyMjguN2M3LjIgNy4yIDExLjMgMTcuMSAxMS4zIDI3LjNzLTQuMSAyMC4xLTExLjMgMjcuM0wzNzcuOSA0MDYuMWMtNi40IDYuNC0xNSA5LjktMjQgOS45Yy0xOC43IDAtMzMuOS0xNS4yLTMzLjktMzMuOWwwLTYyLjEtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMTI4IDAgMC02Mi4xYzAtMTguNyAxNS4yLTMzLjkgMzMuOS0zMy45YzkgMCAxNy42IDMuNiAyNCA5Ljl6TTE2MCA5Nkw5NiA5NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAyNTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNjQgMGMtNTMgMC05Ni00My05Ni05NkwwIDEyOEMwIDc1IDQzIDMyIDk2IDMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJ6XCJdXG59O1xudmFyIGZhU2lnbk91dEFsdCA9IGZhUmlnaHRGcm9tQnJhY2tldDtcbnZhciBmYUF0b20gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXRvbScsXG4gIGljb246IFs1MTIsIDUxMiwgWzk4ODNdLCBcImY1ZDJcIiwgXCJNMjU2IDM5OC44Yy0xMS44IDUuMS0yMy40IDkuNy0zNC45IDEzLjVjMTYuNyAzMy44IDMxIDM1LjcgMzQuOSAzNS43czE4LjEtMS45IDM0LjktMzUuN2MtMTEuNC0zLjktMjMuMS04LjQtMzQuOS0xMy41ek00NDYgMjU2YzMzIDQ1LjIgNDQuMyA5MC45IDIzLjYgMTI4Yy0yMC4yIDM2LjMtNjIuNSA0OS4zLTExNS4yIDQzLjJjLTIyIDUyLjEtNTUuNiA4NC44LTk4LjQgODQuOHMtNzYuNC0zMi43LTk4LjQtODQuOGMtNTIuNyA2LjEtOTUtNi44LTExNS4yLTQzLjJDMjEuNyAzNDYuOSAzMyAzMDEuMiA2NiAyNTZjLTMzLTQ1LjItNDQuMy05MC45LTIzLjYtMTI4YzIwLjItMzYuMyA2Mi41LTQ5LjMgMTE1LjItNDMuMkMxNzkuNiAzMi43IDIxMy4yIDAgMjU2IDBzNzYuNCAzMi43IDk4LjQgODQuOGM1Mi43LTYuMSA5NSA2LjggMTE1LjIgNDMuMmMyMC43IDM3LjEgOS40IDgyLjgtMjMuNiAxMjh6bS02NS44IDY3LjRjLTEuNyAxNC4yLTMuOSAyOC02LjcgNDEuMmMzMS44IDEuNCAzOC42LTguNyA0MC4yLTExLjdjMi4zLTQuMiA3LTE3LjktMTEuOS00OC4xYy02LjggNi4zLTE0IDEyLjUtMjEuNiAxOC42em0tNi43LTE3NS45YzIuOCAxMy4xIDUgMjYuOSA2LjcgNDEuMmM3LjYgNi4xIDE0LjggMTIuMyAyMS42IDE4LjZjMTguOS0zMC4yIDE0LjItNDQgMTEuOS00OC4xYy0xLjYtMi45LTguNC0xMy00MC4yLTExLjd6TTI5MC45IDk5LjdDMjc0LjEgNjUuOSAyNTkuOSA2NCAyNTYgNjRzLTE4LjEgMS45LTM0LjkgMzUuN2MxMS40IDMuOSAyMy4xIDguNCAzNC45IDEzLjVjMTEuOC01LjEgMjMuNC05LjcgMzQuOS0xMy41em0tMTU5IDg4LjljMS43LTE0LjMgMy45LTI4IDYuNy00MS4yYy0zMS44LTEuNC0zOC42IDguNy00MC4yIDExLjdjLTIuMyA0LjItNyAxNy45IDExLjkgNDguMWM2LjgtNi4zIDE0LTEyLjUgMjEuNi0xOC42ek0xMTAuMiAzMDQuOEM5MS40IDMzNSA5NiAzNDguNyA5OC4zIDM1Mi45YzEuNiAyLjkgOC40IDEzIDQwLjIgMTEuN2MtMi44LTEzLjEtNS0yNi45LTYuNy00MS4yYy03LjYtNi4xLTE0LjgtMTIuMy0yMS42LTE4LjZ6TTMzNiAyNTZhODAgODAgMCAxIDAgLTE2MCAwIDgwIDgwIDAgMSAwIDE2MCAwem0tODAtMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbnZhciBmYVNvYXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc29hcCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyOTUzMl0sIFwiZTA2ZVwiLCBcIk0yMDggOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek0zMjAgMjU2YTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4ek00MTYgMzJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMCAxNjBjMCAyNy42LTExLjcgNTIuNS0zMC40IDcwLjFDNDIyLjEgMjc1LjcgNDQ4IDMxMC44IDQ0OCAzNTJjMCA1My00MyA5Ni05NiA5NkgxNjBjLTUzIDAtOTYtNDMtOTYtOTZzNDMtOTYgOTYtOTZoODguNGMtMTUuMi0xNy0yNC40LTM5LjQtMjQuNC02NEg5NmMtNTMgMC05NiA0My05NiA5NlY0MTZjMCA1MyA0MyA5NiA5NiA5Nkg0MTZjNTMgMCA5Ni00MyA5Ni05NlYyODhjMC01My00My05Ni05Ni05NnpNMTYwIDI4OGMtMzUuMyAwLTY0IDI4LjctNjQgNjRzMjguNyA2NCA2NCA2NEgzNTJjMzUuMyAwIDY0LTI4LjcgNjQtNjRzLTI4LjctNjQtNjQtNjRIMzIwIDE2MHpcIl1cbn07XG52YXIgZmFJY29ucyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdpY29ucycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiaGVhcnQtbXVzaWMtY2FtZXJhLWJvbHRcIl0sIFwiZjg2ZFwiLCBcIk01MDAuMyA3LjNDNTA3LjcgMTMuMyA1MTIgMjIuNCA1MTIgMzJWMTc2YzAgMjYuNS0yOC43IDQ4LTY0IDQ4cy02NC0yMS41LTY0LTQ4czI4LjctNDggNjQtNDhWNzFMMzUyIDkwLjJWMjA4YzAgMjYuNS0yOC43IDQ4LTY0IDQ4cy02NC0yMS41LTY0LTQ4czI4LjctNDggNjQtNDhWNjRjMC0xNS4zIDEwLjgtMjguNCAyNS43LTMxLjRsMTYwLTMyYzkuNC0xLjkgMTkuMSAuNiAyNi42IDYuNnpNNzQuNyAzMDRsMTEuOC0xNy44YzUuOS04LjkgMTUuOS0xNC4yIDI2LjYtMTQuMmg2MS43YzEwLjcgMCAyMC43IDUuMyAyNi42IDE0LjJMMjEzLjMgMzA0SDI0MGMyNi41IDAgNDggMjEuNSA0OCA0OFY0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjM1MmMwLTI2LjUgMjEuNS00OCA0OC00OEg3NC43ek0xOTIgNDA4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTQ3OC43IDI3OC4zTDQ0MC4zIDM2OEg0OTZjNi43IDAgMTIuNiA0LjEgMTUgMTAuNHMuNiAxMy4zLTQuNCAxNy43bC0xMjggMTEyYy01LjYgNC45LTEzLjkgNS4zLTE5LjkgLjlzLTguMi0xMi40LTUuMy0xOS4yTDM5MS43IDQwMEgzMzZjLTYuNyAwLTEyLjYtNC4xLTE1LTEwLjRzLS42LTEzLjMgNC40LTE3LjdsMTI4LTExMmM1LjYtNC45IDEzLjktNS4zIDE5LjktLjlzOC4yIDEyLjQgNS4zIDE5LjJ6bS0zMzktNTkuMmMtNi41IDYuNS0xNyA2LjUtMjMgMEwxOS45IDExOS4yYy0yOC0yOS0yNi41LTc2LjkgNS0xMDMuOWMyNy0yMy41IDY4LjQtMTkgOTMuNCA2LjVsMTAgMTAuNSA5LjUtMTAuNWMyNS0yNS41IDY1LjktMzAgOTMuOS02LjVjMzEgMjcgMzIuNSA3NC45IDQuNSAxMDMuOWwtOTYuNCA5OS45elwiXVxufTtcbnZhciBmYUhlYXJ0TXVzaWNDYW1lcmFCb2x0ID0gZmFJY29ucztcbnZhciBmYU1pY3JvcGhvbmVMaW5lc1NsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21pY3JvcGhvbmUtbGluZXMtc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcIm1pY3JvcGhvbmUtYWx0LXNsYXNoXCJdLCBcImY1MzlcIiwgXCJNMzguOCA1LjFDMjguNC0zLjEgMTMuMy0xLjIgNS4xIDkuMlMtMS4yIDM0LjcgOS4yIDQyLjlsNTkyIDQ2NGMxMC40IDguMiAyNS41IDYuMyAzMy43LTQuMXM2LjMtMjUuNS00LjEtMzMuN0w0NzIuMSAzNDQuN2MxNS4yLTI2IDIzLjktNTYuMyAyMy45LTg4LjdWMjE2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0djI0IDE2YzAgMjEuMi01LjEgNDEuMS0xNC4yIDU4LjdMNDE2IDMwMC44VjI1NkgzNTguOWwtMzQuNS0yN2MyLjktMy4xIDctNSAxMS42LTVoODBWMTkySDMzNmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmg4MFYxMjhIMzM2Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2aDgwYzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2djU0LjNMMzguOCA1LjF6TTM1OC4yIDM3OC4yQzM0Ni4xIDM4MiAzMzMuMyAzODQgMzIwIDM4NGMtNzAuNyAwLTEyOC01Ny4zLTEyOC0xMjh2LTguN0wxNDQuNyAyMTBjLS41IDEuOS0uNyAzLjktLjcgNnY0MGMwIDg5LjEgNjYuMiAxNjIuNyAxNTIgMTc0LjRWNDY0SDI0OGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGg3MiA3MmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEgzNDRWNDMwLjRjMjAuNC0yLjggMzkuNy05LjEgNTcuMy0xOC4ybC00My4xLTMzLjl6XCJdXG59O1xudmFyIGZhTWljcm9waG9uZUFsdFNsYXNoID0gZmFNaWNyb3Bob25lTGluZXNTbGFzaDtcbnZhciBmYUJyaWRnZUNpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JyaWRnZS1jaXJjbGUtY2hlY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0YzlcIiwgXCJNNjQgMzJDNDYuMyAzMiAzMiA0Ni4zIDMyIDY0czE0LjMgMzIgMzIgMzJoNDB2NjRIMzJWMjg4YzUzIDAgOTYgNDMgOTYgOTZ2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzg0YzAtNTMgNDMtOTYgOTYtOTZjNi4zIDAgMTIuNCAuNiAxOC4zIDEuN0MzNjcuMSAyMzEuOCA0MjYuOSAxOTIgNDk2IDE5MmM0Mi41IDAgODEuNiAxNS4xIDExMiA0MC4yVjE2MEg1MzZWOTZoNDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINjR6TTQ4OCA5NnY2NEg0MDhWOTZoODB6TTM2MCA5NnY2NEgyODBWOTZoODB6TTIzMiA5NnY2NEgxNTJWOTZoODB6TTY0MCAzNjhhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTc2LjctNDMuM2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNmwtNzIgNzJjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwbC00MC00MGMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQ4MCAzODUuNGw2MC43LTYwLjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDB6XCJdXG59O1xudmFyIGZhUHVtcE1lZGljYWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncHVtcC1tZWRpY2FsJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJlMDZhXCIsIFwiTTEyOCAzMnY5NkgyNTZWOTZoNjAuMWM0LjIgMCA4LjMgMS43IDExLjMgNC43bDMzLjkgMzMuOWMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDM3Mi43IDU1LjRjLTE1LTE1LTM1LjQtMjMuNC01Ni42LTIzLjRIMjU2YzAtMTcuNy0xNC4zLTMyLTMyLTMySDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTExNy40IDE2MGMtMzMuMyAwLTYxIDI1LjUtNjMuOCA1OC43TDM1IDQ0Mi43QzMxLjkgNDgwIDYxLjMgNTEyIDk4LjggNTEySDI4NS4yYzM3LjQgMCA2Ni45LTMyIDYzLjgtNjkuM2wtMTguNy0yMjRjLTIuOC0zMy4yLTMwLjUtNTguNy02My44LTU4LjdIMTE3LjR6TTIxNiAyODB2MzJoMzJjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIMjE2djMyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0VjM2MEgxMzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRoMzJWMjgwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6XCJdXG59O1xudmFyIGZhRmluZ2VycHJpbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmluZ2VycHJpbnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1NzdcIiwgXCJNNDggMjU2QzQ4IDE0MS4xIDE0MS4xIDQ4IDI1NiA0OGM2My4xIDAgMTE5LjYgMjguMSAxNTcuOCA3Mi41YzguNiAxMC4xIDIzLjggMTEuMiAzMy44IDIuNnMxMS4yLTIzLjggMi42LTMzLjhDNDAzLjMgMzQuNiAzMzMuNyAwIDI1NiAwQzExNC42IDAgMCAxMTQuNiAwIDI1NnY0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjI1NnptNDU4LjUtNTIuOWMtMi43LTEzLTE1LjUtMjEuMy0yOC40LTE4LjVzLTIxLjMgMTUuNS0xOC41IDI4LjRjMi45IDEzLjkgNC41IDI4LjMgNC41IDQzLjF2NDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFYyNTZjMC0xOC4xLTEuOS0zNS44LTUuNS01Mi45ek0yNTYgODBjLTE5IDAtMzcuNCAzLTU0LjUgOC42Yy0xNS4yIDUtMTguNyAyMy43LTguMyAzNS45YzcuMSA4LjMgMTguOCAxMC44IDI5LjQgNy45YzEwLjYtMi45IDIxLjgtNC40IDMzLjQtNC40YzcwLjcgMCAxMjggNTcuMyAxMjggMTI4djI0LjljMCAyNS4yLTEuNSA1MC4zLTQuNCA3NS4zYy0xLjcgMTQuNiA5LjQgMjcuOCAyNC4yIDI3LjhjMTEuOCAwIDIxLjktOC42IDIzLjMtMjAuM2MzLjMtMjcuNCA1LTU1IDUtODIuN1YyNTZjMC05Ny4yLTc4LjgtMTc2LTE3Ni0xNzZ6TTE1MC43IDE0OC43Yy05LjEtMTAuNi0yNS4zLTExLjQtMzMuOS0uNEM5My43IDE3OCA4MCAyMTUuNCA4MCAyNTZ2MjQuOWMwIDI0LjItMi42IDQ4LjQtNy44IDcxLjlDNjguOCAzNjguNCA4MC4xIDM4NCA5Ni4xIDM4NGMxMC41IDAgMTkuOS03IDIyLjItMTcuM2M2LjQtMjguMSA5LjctNTYuOCA5LjctODUuOFYyNTZjMC0yNy4yIDguNS01Mi40IDIyLjktNzMuMWM3LjItMTAuNCA4LTI0LjYtLjItMzQuMnpNMjU2IDE2MGMtNTMgMC05NiA0My05NiA5NnYyNC45YzAgMzUuOS00LjYgNzEuNS0xMy44IDEwNi4xYy0zLjggMTQuMyA2LjcgMjkgMjEuNSAyOWM5LjUgMCAxNy45LTYuMiAyMC40LTE1LjRjMTAuNS0zOSAxNS45LTc5LjIgMTUuOS0xMTkuN1YyNTZjMC0yOC43IDIzLjMtNTIgNTItNTJzNTIgMjMuMyA1MiA1MnYyNC45YzAgMzYuMy0zLjUgNzIuNC0xMC40IDEwNy45Yy0yLjcgMTMuOSA3LjcgMjcuMiAyMS44IDI3LjJjMTAuMiAwIDE5LTcgMjEtMTdjNy43LTM4LjggMTEuNi03OC4zIDExLjYtMTE4LjFWMjU2YzAtNTMtNDMtOTYtOTYtOTZ6bTI0IDk2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0djI0LjljMCA1OS45LTExIDExOS4zLTMyLjUgMTc1LjJsLTUuOSAxNS4zYy00LjggMTIuNCAxLjQgMjYuMyAxMy44IDMxczI2LjMtMS40IDMxLTEzLjhsNS45LTE1LjNDMjY3LjkgNDExLjkgMjgwIDM0Ni43IDI4MCAyODAuOVYyNTZ6XCJdXG59O1xudmFyIGZhSGFuZFBvaW50UmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZC1wb2ludC1yaWdodCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjBhNFwiLCBcIk00ODAgOTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTIwOCAwIDAtNjQgMjA4IDB6TTMyMCAyODhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjQgMHptNjQtNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTQ4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnpNMjg4IDM4NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2NCAwem0tODgtOTZsLjYgMGMtNS40IDkuNC04LjYgMjAuMy04LjYgMzJjMCAxMy4yIDQgMjUuNCAxMC44IDM1LjZDMTc3LjkgMzY0LjMgMTYwIDM4OC4xIDE2MCA0MTZjMCAxMS43IDMuMSAyMi42IDguNiAzMmwtOC42IDBDNzEuNiA0NDggMCAzNzYuNCAwIDI4OGwwLTYxLjdjMC00Mi40IDE2LjktODMuMSA0Ni45LTExMy4xbDExLjYtMTEuNkM4Mi41IDc3LjUgMTE1LjEgNjQgMTQ5IDY0bDI3IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA4OGMwIDIyLjEtMTcuOSA0MC00MCA0MHMtNDAtMTcuOS00MC00MGwwLTU2YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNTZjMCAzOS44IDMyLjIgNzIgNzIgNzJ6XCJdXG59O1xudmFyIGZhTWFnbmlmeWluZ0dsYXNzTG9jYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFnbmlmeWluZy1nbGFzcy1sb2NhdGlvbicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wic2VhcmNoLWxvY2F0aW9uXCJdLCBcImY2ODlcIiwgXCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NmMtMzQuNCAyNS4yLTc2LjggNDAtMTIyLjcgNDBDOTMuMSA0MTYgMCAzMjIuOSAwIDIwOFM5My4xIDAgMjA4IDBTNDE2IDkzLjEgNDE2IDIwOHpNMjg4IDE3NmMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MGMwIDQ4LjggNDYuNSAxMTEuNiA2OC42IDEzOC42YzYgNy4zIDE2LjggNy4zIDIyLjcgMGMyMi4xLTI3IDY4LjYtODkuOCA2OC42LTEzOC42em0tMTEyIDBhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpcIl1cbn07XG52YXIgZmFTZWFyY2hMb2NhdGlvbiA9IGZhTWFnbmlmeWluZ0dsYXNzTG9jYXRpb247XG52YXIgZmFGb3J3YXJkU3RlcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmb3J3YXJkLXN0ZXAnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtcInN0ZXAtZm9yd2FyZFwiXSwgXCJmMDUxXCIsIFwiTTUyLjUgNDQwLjZjLTkuNSA3LjktMjIuOCA5LjctMzQuMSA0LjRTMCA0MjguNCAwIDQxNlY5NkMwIDgzLjYgNy4yIDcyLjMgMTguNCA2N3MyNC41LTMuNiAzNC4xIDQuNGwxOTIgMTYwTDI1NiAyNDFWOTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMlY0MTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMjcxbC0xMS41IDkuNi0xOTIgMTYwelwiXVxufTtcbnZhciBmYVN0ZXBGb3J3YXJkID0gZmFGb3J3YXJkU3RlcDtcbnZhciBmYUZhY2VTbWlsZUJlYW0gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1zbWlsZS1iZWFtJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTIyLCBcInNtaWxlLWJlYW1cIl0sIFwiZjViOFwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTY0LjEgMzI1LjVDMTgyIDM0Ni4yIDIxMi42IDM2OCAyNTYgMzY4czc0LTIxLjggOTEuOS00Mi41YzUuOC02LjcgMTUuOS03LjQgMjIuNi0xLjZzNy40IDE1LjkgMS42IDIyLjZDMzQ5LjggMzcyLjEgMzExLjEgNDAwIDI1NiA0MDBzLTkzLjgtMjcuOS0xMTYuMS01My41Yy01LjgtNi43LTUuMS0xNi44IDEuNi0yMi42czE2LjgtNS4xIDIyLjYgMS42em01My41LTk2LjdsMCAwIDAgMC0uMi0uMmMtLjItLjItLjQtLjUtLjctLjljLS42LS44LTEuNi0yLTIuOC0zLjRjLTIuNS0yLjgtNi02LjYtMTAuMi0xMC4zYy04LjgtNy44LTE4LjgtMTQtMjcuNy0xNHMtMTguOSA2LjItMjcuNyAxNGMtNC4yIDMuNy03LjcgNy41LTEwLjIgMTAuM2MtMS4yIDEuNC0yLjIgMi42LTIuOCAzLjRjLS4zIC40LS42IC43LS43IC45bC0uMiAuMiAwIDAgMCAwIDAgMGMtMi4xIDIuOC01LjcgMy45LTguOSAyLjhzLTUuNS00LjEtNS41LTcuNmMwLTE3LjkgNi43LTM1LjYgMTYuNi00OC44YzkuOC0xMyAyMy45LTIzLjIgMzkuNC0yMy4yczI5LjYgMTAuMiAzOS40IDIzLjJjOS45IDEzLjIgMTYuNiAzMC45IDE2LjYgNDguOGMwIDMuNC0yLjIgNi41LTUuNSA3LjZzLTYuOSAwLTguOS0yLjhsMCAwIDAgMHptMTYwIDBsMCAwLS4yLS4yYy0uMi0uMi0uNC0uNS0uNy0uOWMtLjYtLjgtMS42LTItMi44LTMuNGMtMi41LTIuOC02LTYuNi0xMC4yLTEwLjNjLTguOC03LjgtMTguOC0xNC0yNy43LTE0cy0xOC45IDYuMi0yNy43IDE0Yy00LjIgMy43LTcuNyA3LjUtMTAuMiAxMC4zYy0xLjIgMS40LTIuMiAyLjYtMi44IDMuNGMtLjMgLjQtLjYgLjctLjcgLjlsLS4yIC4yIDAgMCAwIDAgMCAwYy0yLjEgMi44LTUuNyAzLjktOC45IDIuOHMtNS41LTQuMS01LjUtNy42YzAtMTcuOSA2LjctMzUuNiAxNi42LTQ4LjhjOS44LTEzIDIzLjktMjMuMiAzOS40LTIzLjJzMjkuNiAxMC4yIDM5LjQgMjMuMmM5LjkgMTMuMiAxNi42IDMwLjkgMTYuNiA0OC44YzAgMy40LTIuMiA2LjUtNS41IDcuNnMtNi45IDAtOC45LTIuOGwwIDAgMCAwIDAgMHpcIl1cbn07XG52YXIgZmFTbWlsZUJlYW0gPSBmYUZhY2VTbWlsZUJlYW07XG52YXIgZmFGbGFnQ2hlY2tlcmVkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZsYWctY2hlY2tlcmVkJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI3OTM3XSwgXCJmMTFlXCIsIFwiTTMyIDBDNDkuNyAwIDY0IDE0LjMgNjQgMzJWNDhsNjktMTcuMmMzOC4xLTkuNSA3OC4zLTUuMSAxMTMuNSAxMi41YzQ2LjMgMjMuMiAxMDAuOCAyMy4yIDE0Ny4xIDBsOS42LTQuOEM0MjMuOCAyOC4xIDQ0OCA0My4xIDQ0OCA2Ni4xVjM0NS44YzAgMTMuMy04LjMgMjUuMy0yMC44IDMwbC0zNC43IDEzYy00Ni4yIDE3LjMtOTcuNiAxNC42LTE0MS43LTcuNGMtMzcuOS0xOS04MS4zLTIzLjctMTIyLjUtMTMuNEw2NCAzODR2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWNDAwIDMzNCA2NCAzMkMwIDE0LjMgMTQuMyAwIDMyIDB6TTY0IDE4Ny4xbDY0LTEzLjl2NjUuNUw2NCAyNTIuNlYzMThsNDguOC0xMi4yYzUuMS0xLjMgMTAuMS0yLjQgMTUuMi0zLjNWMjM4LjdsMzguOS04LjRjOC4zLTEuOCAxNi43LTIuNSAyNS4xLTIuMWwwLTY0YzEzLjYgLjQgMjcuMiAyLjYgNDAuNCA2LjRsMjMuNiA2Ljl2NjYuN2wtNDEuNy0xMi4zYy03LjMtMi4xLTE0LjgtMy40LTIyLjMtMy44djcxLjRjMjEuOCAxLjkgNDMuMyA2LjcgNjQgMTQuNFYyNDQuMmwyMi43IDYuN2MxMy41IDQgMjcuMyA2LjQgNDEuMyA3LjRWMTk0Yy03LjgtLjgtMTUuNi0yLjMtMjMuMi00LjVsLTQwLjgtMTJ2LTYyYy0xMy0zLjgtMjUuOC04LjgtMzguMi0xNWMtOC4yLTQuMS0xNi45LTctMjUuOC04Ljh2NzIuNGMtMTMtLjQtMjYgLjgtMzguNyAzLjZMMTI4IDE3My4yVjk4TDY0IDExNHY3My4xek0zMjAgMzM1LjdjMTYuOCAxLjUgMzMuOS0uNyA1MC02LjhsMTQtNS4yVjI1MS45bC03LjkgMS44Yy0xOC40IDQuMy0zNy4zIDUuNy01Ni4xIDQuNXY3Ny40em02NC0xNDkuNFYxMTUuNGMtMjAuOSA2LjEtNDIuNCA5LjEtNjQgOS4xVjE5NGMxMy45IDEuNCAyOCAuNSA0MS43LTIuNmwyMi4zLTUuMnpcIl1cbn07XG52YXIgZmFGb290YmFsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmb290YmFsbCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzk0NCwgXCJmb290YmFsbC1iYWxsXCJdLCBcImY0NGVcIiwgXCJNMjQ3LjUgMjUuNGMtMTMuNSAzLjMtMjYuNCA3LjItMzguNiAxMS43QzE0Mi45IDYxLjYgOTYuNyAxMDMuNiA2NiAxNTMuNmMtMTguMyAyOS44LTMwLjkgNjIuMy0zOS4yIDk1LjRMMjY0LjUgNDg2LjZjMTMuNS0zLjMgMjYuNC03LjIgMzguNi0xMS43YzY2LTI0LjUgMTEyLjItNjYuNSAxNDIuOS0xMTYuNWMxOC4zLTI5LjggMzAuOS02Mi4zIDM5LjEtOTUuM0wyNDcuNSAyNS40ek00OTUuMiAyMDUuM2M2LjEtNTYuOCAxLjQtMTEyLjItNy43LTE1Ni40Yy0yLjctMTIuOS0xMy0yMi45LTI2LjEtMjUuMWMtNTguMi05LjctMTA5LjktMTItMTU1LjYtNy45TDQ5NS4yIDIwNS4zek0yMDYuMSA0OTZMMTYuOCAzMDYuN2MtNi4xIDU2LjgtMS40IDExMi4yIDcuNyAxNTYuNGMyLjcgMTIuOSAxMyAyMi45IDI2LjEgMjUuMWM1OC4yIDkuNyAxMDkuOSAxMiAxNTUuNiA3Ljl6bTU0LjYtMzMxLjNjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBsNjQgNjRjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtNjQtNjRjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42em0tNDggNDhjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBsNjQgNjRjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtNjQtNjRjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42em0tNDggNDhjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBsNjQgNjRjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtNjQtNjRjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42elwiXVxufTtcbnZhciBmYUZvb3RiYWxsQmFsbCA9IGZhRm9vdGJhbGw7XG52YXIgZmFTY2hvb2xDaXJjbGVFeGNsYW1hdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzY2hvb2wtY2lyY2xlLWV4Y2xhbWF0aW9uJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTZjXCIsIFwiTTMzNy44IDUuNEMzMjctMS44IDMxMy0xLjggMzAyLjIgNS40TDE2Ni4zIDk2SDQ4QzIxLjUgOTYgMCAxMTcuNSAwIDE0NFY0NjRjMCAyNi41IDIxLjUgNDggNDggNDhIMzIwdjBIMjU2VjQxNmMwLTM1LjMgMjguNy02NCA2NC02NGwuMyAwaC41YzMuNC0zNy43IDE4LjctNzIuMSA0Mi4yLTk5LjFDMzUwLjIgMjYwIDMzNS42IDI2NCAzMjAgMjY0Yy00OC42IDAtODgtMzkuNC04OC04OHMzOS40LTg4IDg4LTg4czg4IDM5LjQgODggODhjMCAxOC4zLTUuNiAzNS4zLTE1LjEgNDkuNGMyOS0yMSA2NC42LTMzLjQgMTAzLjEtMzMuNGM1OS41IDAgMTEyLjEgMjkuNiAxNDQgNzQuOFYxNDRjMC0yNi41LTIxLjUtNDgtNDgtNDhINDczLjdMMzM3LjggNS40ek05NiAxOTJoMzJjOC44IDAgMTYgNy4yIDE2IDE2djY0YzAgOC44LTcuMiAxNi0xNiAxNkg5NmMtOC44IDAtMTYtNy4yLTE2LTE2VjIwOGMwLTguOCA3LjItMTYgMTYtMTZ6bTAgMTI4aDMyYzguOCAwIDE2IDcuMiAxNiAxNnY2NGMwIDguOC03LjIgMTYtMTYgMTZIOTZjLTguOCAwLTE2LTcuMi0xNi0xNlYzMzZjMC04LjggNy4yLTE2IDE2LTE2ek0zMjAgMTI4Yy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDMzNlYxNDRjMC04LjgtNy4yLTE2LTE2LTE2ek00OTYgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC05NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTAtMTQ0YzguOCAwIDE2IDcuMiAxNiAxNnY4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlYyODhjMC04LjggNy4yLTE2IDE2LTE2elwiXVxufTtcbnZhciBmYUNyb3AgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3JvcCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjEyNVwiLCBcIk00NDggMTA5LjNsNTQuNi01NC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDQwMi43IDY0IDE2MCA2NHY2NGwxNzguNyAwTDEyOCAzMzguN1YzMmMwLTE3LjctMTQuMy0zMi0zMi0zMlM2NCAxNC4zIDY0IDMyVjY0SDMyQzE0LjMgNjQgMCA3OC4zIDAgOTZzMTQuMyAzMiAzMiAzMkg2NFYzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzUyVjM4NEgxNzMuM0wzODQgMTczLjMgMzg0IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjQ0OGgzMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg0NDhsMC0yNzQuN3pcIl1cbn07XG52YXIgZmFBbmdsZXNEb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2FuZ2xlcy1kb3duJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJhbmdsZS1kb3VibGUtZG93blwiXSwgXCJmMTAzXCIsIFwiTTI0Ni42IDQ3MC42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtMTYwLTE2MGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEwyMjQgNDAyLjcgMzYxLjQgMjY1LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2wtMTYwIDE2MHptMTYwLTM1MmwtMTYwIDE2MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTE2MC0xNjBjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMMjI0IDIxMC43IDM2MS40IDczLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3pcIl1cbn07XG52YXIgZmFBbmdsZURvdWJsZURvd24gPSBmYUFuZ2xlc0Rvd247XG52YXIgZmFVc2Vyc1JlY3RhbmdsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2Vycy1yZWN0YW5nbGUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1OTRcIiwgXCJNOTYgMEM0MyAwIDAgNDMgMCA5NlY0MTZjMCA1MyA0MyA5NiA5NiA5Nkg1NDRjNTMgMCA5Ni00MyA5Ni05NlY5NmMwLTUzLTQzLTk2LTk2LTk2SDk2ek02NCA5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMkg1NDRjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlY5NnptMTU5LjggODBhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNOTYgMzA5LjNjMCAxNC43IDExLjkgMjYuNyAyNi43IDI2LjdoNTYuMWM4LTM0LjEgMzIuOC02MS43IDY1LjItNzMuNmMtNy41LTQuMS0xNi4yLTYuNC0yNS4zLTYuNEgxNDkuM0MxMTkuOSAyNTYgOTYgMjc5LjkgOTYgMzA5LjN6TTQ2MS4yIDMzNmg1Ni4xYzE0LjcgMCAyNi43LTExLjkgMjYuNy0yNi43YzAtMjkuNS0yMy45LTUzLjMtNTMuMy01My4zSDQyMS4zYy05LjIgMC0xNy44IDIuMy0yNS4zIDYuNGMzMi40IDExLjkgNTcuMiAzOS41IDY1LjIgNzMuNnpNMzcyIDI4OWMtMy45LS43LTcuOS0xLTEyLTFIMjgwYy00LjEgMC04LjEgLjMtMTIgMWMtMjYgNC40LTQ3LjMgMjIuNy01NS45IDQ3Yy0yLjcgNy41LTQuMSAxNS42LTQuMSAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNEg0MDhjMTMuMyAwIDI0LTEwLjcgMjQtMjRjMC04LjQtMS40LTE2LjUtNC4xLTI0Yy04LjYtMjQuMy0yOS45LTQyLjYtNTUuOS00N3pNNTEyIDE3NmE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek0zMjAgMjU2YTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4elwiXVxufTtcbnZhciBmYVBlb3BsZVJvb2YgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVvcGxlLXJvb2YnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MzdcIiwgXCJNMzM1LjUgNGwyODggMTYwYzE1LjQgOC42IDIxIDI4LjEgMTIuNCA0My41cy0yOC4xIDIxLTQzLjUgMTIuNEwzMjAgNjguNiA0Ny41IDIyMGMtMTUuNCA4LjYtMzQuOSAzLTQzLjUtMTIuNHMtMy0zNC45IDEyLjQtNDMuNUwzMDQuNSA0YzkuNy01LjQgMjEuNC01LjQgMzEuMSAwek0zMjAgMTYwYTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHpNMTQ0IDI1NmE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6bTMxMiA0MGE0MCA0MCAwIDEgMSA4MCAwIDQwIDQwIDAgMSAxIC04MCAwek0yMjYuOSA0OTEuNEwyMDAgNDQxLjVWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMySDEyMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDQxLjVMNjEuMSA0OTEuNGMtNi4zIDExLjctMjAuOCAxNi0zMi41IDkuOHMtMTYtMjAuOC05LjgtMzIuNWwzNy45LTcwLjNjMTUuMy0yOC41IDQ1LjEtNDYuMyA3Ny41LTQ2LjNoMTkuNWMxNi4zIDAgMzEuOSA0LjUgNDUuNCAxMi42bDMzLjYtNjIuM2MxNS4zLTI4LjUgNDUuMS00Ni4zIDc3LjUtNDYuM2gxOS41YzMyLjQgMCA2Mi4xIDE3LjggNzcuNSA0Ni4zbDMzLjYgNjIuM2MxMy41LTguMSAyOS4xLTEyLjYgNDUuNC0xMi42aDE5LjVjMzIuNCAwIDYyLjEgMTcuOCA3Ny41IDQ2LjNsMzcuOSA3MC4zYzYuMyAxMS43IDEuOSAyNi4yLTkuOCAzMi41cy0yNi4yIDEuOS0zMi41LTkuOEw1NTIgNDQxLjVWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMySDQ3MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDQxLjVsLTI2LjkgNDkuOWMtNi4zIDExLjctMjAuOCAxNi0zMi41IDkuOHMtMTYtMjAuOC05LjgtMzIuNWwzNi4zLTY3LjVjLTEuNy0xLjctMy4yLTMuNi00LjMtNS44TDM3NiAzNDUuNVY0MDBjMCAxNy43LTE0LjMgMzItMzIgMzJIMjk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYzNDUuNWwtMjYuOSA0OS45Yy0xLjIgMi4yLTIuNiA0LjEtNC4zIDUuOGwzNi4zIDY3LjVjNi4zIDExLjcgMS45IDI2LjItOS44IDMyLjVzLTI2LjIgMS45LTMyLjUtOS44elwiXVxufTtcbnZhciBmYVBlb3BsZUxpbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVvcGxlLWxpbmUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MzRcIiwgXCJNMzYwIDcyYTQwIDQwIDAgMSAwIC04MCAwIDQwIDQwIDAgMSAwIDgwIDB6TTE0NCAyMDhhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwek0zMiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINjA4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDMyek00OTYgMjA4YTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHpNMjAwIDMxMy41bDI2LjkgNDkuOWM2LjMgMTEuNyAyMC44IDE2IDMyLjUgOS44czE2LTIwLjggOS44LTMyLjVsLTM2LjMtNjcuNWMxLjctMS43IDMuMi0zLjYgNC4zLTUuOEwyNjQgMjE3LjVWMjcyYzAgMTcuNyAxNC4zIDMyIDMyIDMyaDQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjIxNy41bDI2LjkgNDkuOWMxLjIgMi4yIDIuNiA0LjEgNC4zIDUuOGwtMzYuMyA2Ny41Yy02LjMgMTEuNy0xLjkgMjYuMiA5LjggMzIuNXMyNi4yIDEuOSAzMi41LTkuOEw0NDAgMzEzLjVWMzUyYzAgMTcuNyAxNC4zIDMyIDMyIDMyaDQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjMxMy41bDI2LjkgNDkuOWM2LjMgMTEuNyAyMC44IDE2IDMyLjUgOS44czE2LTIwLjggOS44LTMyLjVsLTM3LjktNzAuM2MtMTUuMy0yOC41LTQ1LjEtNDYuMy03Ny41LTQ2LjNINDg2LjJjLTE2LjMgMC0zMS45IDQuNS00NS40IDEyLjZsLTMzLjYtNjIuM2MtMTUuMy0yOC41LTQ1LjEtNDYuMy03Ny41LTQ2LjNIMzEwLjJjLTMyLjQgMC02Mi4xIDE3LjgtNzcuNSA0Ni4zbC0zMy42IDYyLjNjLTEzLjUtOC4xLTI5LjEtMTIuNi00NS40LTEyLjZIMTM0LjJjLTMyLjQgMC02Mi4xIDE3LjgtNzcuNSA0Ni4zTDE4LjkgMzQwLjZjLTYuMyAxMS43LTEuOSAyNi4yIDkuOCAzMi41czI2LjIgMS45IDMyLjUtOS44TDg4IDMxMy41VjM1MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmg0OGMxNy43IDAgMzItMTQuMyAzMi0zMlYzMTMuNXpcIl1cbn07XG52YXIgZmFCZWVyTXVnRW1wdHkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmVlci1tdWctZW1wdHknLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImJlZXJcIl0sIFwiZjBmY1wiLCBcIk0zMiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMkgzNTJjMTcuNyAwIDMyIDE0LjMgMzIgMzJWOTZoNTEuMmM0Mi40IDAgNzYuOCAzNC40IDc2LjggNzYuOFYyNzQuOWMwIDMwLjQtMTcuOSA1Ny45LTQ1LjYgNzAuMkwzODQgMzgxLjdWNDE2YzAgMzUuMy0yOC43IDY0LTY0IDY0SDk2Yy0zNS4zIDAtNjQtMjguNy02NC02NFY2NHpNMzg0IDMxMS42bDU2LjQtMjUuMWM0LjYtMi4xIDcuNi02LjYgNy42LTExLjdWMTcyLjhjMC03LjEtNS43LTEyLjgtMTIuOC0xMi44SDM4NFYzMTEuNnpNMTYwIDE0NGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNlYzNjhjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlYxNDR6bTY0IDBjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZWMzY4YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMTQ0em02NCAwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2VjM2OGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjE0NHpcIl1cbn07XG52YXIgZmFCZWVyID0gZmFCZWVyTXVnRW1wdHk7XG52YXIgZmFEaWFncmFtUHJlZGVjZXNzb3IgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGlhZ3JhbS1wcmVkZWNlc3NvcicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTQ3N1wiLCBcIk00NDggNDE2bDAtNjRMNjQgMzUybDAgNjQgMzg0IDB6bTAgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTY0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjR6TTI4OCAxNjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgMjI0Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDE0NCAwIDE2IDAgMTQ0IDBjNDQuMiAwIDgwIDM1LjggODAgODBsMCAxNiAzOC4xIDBjMjEuNCAwIDMyLjEgMjUuOSAxNyA0MUw0MzMgMjM5Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMEwzMjkgMTY5Yy0xNS4xLTE1LjEtNC40LTQxIDE3LTQxbDM4LjEgMCAwLTE2YzAtOC44LTcuMi0xNi0xNi0xNmwtODAgMCAwIDY0elwiXVxufTtcbnZhciBmYUFycm93VXBMb25nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXVwLWxvbmcnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImxvbmctYXJyb3ctdXBcIl0sIFwiZjE3NlwiLCBcIk0yMTQuNiA5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMjggMTI4Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDE2MCAxMDkuM1Y0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYxMDkuM2w3My40IDczLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtMTI4LTEyOHpcIl1cbn07XG52YXIgZmFMb25nQXJyb3dVcCA9IGZhQXJyb3dVcExvbmc7XG52YXIgZmFGaXJlRmxhbWVTaW1wbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlyZS1mbGFtZS1zaW1wbGUnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImJ1cm5cIl0sIFwiZjQ2YVwiLCBcIk0zNzIuNSAyNTYuNWwtLjctMS45QzMzNy44IDE2MC44IDI4MiA3Ni41IDIwOS4xIDguNWwtMy4zLTNDMjAyLjEgMiAxOTcuMSAwIDE5MiAwcy0xMC4xIDItMTMuOCA1LjVsLTMuMyAzQzEwMiA3Ni41IDQ2LjIgMTYwLjggMTIuMiAyNTQuNmwtLjcgMS45QzMuOSAyNzcuMyAwIDI5OS40IDAgMzIxLjZDMCA0MjYuNyA4Ni44IDUxMiAxOTIgNTEyczE5Mi04NS4zIDE5Mi0xOTAuNGMwLTIyLjItMy45LTQ0LjItMTEuNS02NS4xem0tOTAuOCA0OS41YzQuMSA5LjMgNi4yIDE5LjQgNi4yIDI5LjVjMCA1My00MyA5Ni41LTk2IDk2LjVzLTk2LTQzLjUtOTYtOTYuNWMwLTEwLjEgMi4xLTIwLjMgNi4yLTI5LjVsMS45LTQuM2MxNS44LTM1LjQgMzcuOS02Ny43IDY1LjMtOTUuMWw4LjktOC45YzMuNi0zLjYgOC41LTUuNiAxMy42LTUuNnMxMCAyIDEzLjYgNS42bDguOSA4LjljMjcuNCAyNy40IDQ5LjYgNTkuNyA2NS4zIDk1LjFsMS45IDQuM3pcIl1cbn07XG52YXIgZmFCdXJuID0gZmFGaXJlRmxhbWVTaW1wbGU7XG52YXIgZmFQZXJzb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTI5NDg1LCBcIm1hbGVcIl0sIFwiZjE4M1wiLCBcIk0xMTIgNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptNDAgMzA0VjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYyNTYuOUw1OS40IDMwNC41Yy05LjEgMTUuMS0yOC44IDIwLTQzLjkgMTAuOXMtMjAtMjguOC0xMC45LTQzLjlsNTguMy05N2MxNy40LTI4LjkgNDguNi00Ni42IDgyLjMtNDYuNmgyOS43YzMzLjcgMCA2NC45IDE3LjcgODIuMyA0Ni42bDU4LjMgOTdjOS4xIDE1LjEgNC4yIDM0LjgtMTAuOSA0My45cy0zNC44IDQuMi00My45LTEwLjlMMjMyIDI1Ni45VjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzNTJIMTUyelwiXVxufTtcbnZhciBmYU1hbGUgPSBmYVBlcnNvbjtcbnZhciBmYUxhcHRvcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsYXB0b3AnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjgxODddLCBcImYxMDlcIiwgXCJNMTI4IDMyQzkyLjcgMzIgNjQgNjAuNyA2NCA5NlYzNTJoNjRWOTZINTEyVjM1Mmg2NFY5NmMwLTM1LjMtMjguNy02NC02NC02NEgxMjh6TTE5LjIgMzg0QzguNiAzODQgMCAzOTIuNiAwIDQwMy4yQzAgNDQ1LjYgMzQuNCA0ODAgNzYuOCA0ODBINTYzLjJjNDIuNCAwIDc2LjgtMzQuNCA3Ni44LTc2LjhjMC0xMC42LTguNi0xOS4yLTE5LjItMTkuMkgxOS4yelwiXVxufTtcbnZhciBmYUZpbGVDc3YgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1jc3YnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY2ZGRcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBIMjI0VjEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMkgzODRWMzA0SDE3NmMtMzUuMyAwLTY0IDI4LjctNjQgNjRWNTEySDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY2NHptMzg0IDY0SDI1NlYwTDM4NCAxMjh6TTIwMCAzNTJoMTZjMjIuMSAwIDQwIDE3LjkgNDAgNDB2OGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNnYtOGMwLTQuNC0zLjYtOC04LThIMjAwYy00LjQgMC04IDMuNi04IDh2ODBjMCA0LjQgMy42IDggOCA4aDE2YzQuNCAwIDgtMy42IDgtOHYtOGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2djhjMCAyMi4xLTE3LjkgNDAtNDAgNDBIMjAwYy0yMi4xIDAtNDAtMTcuOS00MC00MFYzOTJjMC0yMi4xIDE3LjktNDAgNDAtNDB6bTEzMy4xIDBIMzY4YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDMzMy4xYy03LjIgMC0xMy4xIDUuOS0xMy4xIDEzLjFjMCA1LjIgMyA5LjkgNy44IDEybDM3LjQgMTYuNmMxNi4zIDcuMiAyNi44IDIzLjQgMjYuOCA0MS4yYzAgMjQuOS0yMC4yIDQ1LjEtNDUuMSA0NS4xSDMwNGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmg0Mi45YzcuMiAwIDEzLjEtNS45IDEzLjEtMTMuMWMwLTUuMi0zLTkuOS03LjgtMTJsLTM3LjQtMTYuNmMtMTYuMy03LjItMjYuOC0yMy40LTI2LjgtNDEuMmMwLTI0LjkgMjAuMi00NS4xIDQ1LjEtNDUuMXptOTguOSAwYzguOCAwIDE2IDcuMiAxNiAxNnYzMS42YzAgMjMgNS41IDQ1LjYgMTYgNjZjMTAuNS0yMC4zIDE2LTQyLjkgMTYtNjZWMzY4YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ2MzEuNmMwIDM0LjctMTAuMyA2OC43LTI5LjYgOTcuNmwtNS4xIDcuN2MtMyA0LjUtOCA3LjEtMTMuMyA3LjFzLTEwLjMtMi43LTEzLjMtNy4xbC01LjEtNy43Yy0xOS4zLTI4LjktMjkuNi02Mi45LTI5LjYtOTcuNlYzNjhjMC04LjggNy4yLTE2IDE2LTE2elwiXVxufTtcbnZhciBmYU1lbm9yYWggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWVub3JhaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjY3NlwiLCBcIk0yMC44IDcuNEMyMi44IDIuOSAyNy4xIDAgMzIgMHM5LjIgMi45IDExLjIgNy40TDYxLjMgNDkuN2MxLjggNC4xIDIuNyA4LjYgMi43IDEzLjFWNjRjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA4MS43IDAgNjRWNjIuOGMwLTQuNSAuOS04LjkgMi43LTEzLjFMMjAuOCA3LjR6bTk2IDBDMTE4LjggMi45IDEyMy4xIDAgMTI4IDBzOS4yIDIuOSAxMS4yIDcuNGwxOC4yIDQyLjRjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xVjY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjYyLjhjMC00LjUgLjktOC45IDIuNy0xMy4xTDExNi44IDcuNHptNzcuOCA0Mi40TDIxMi44IDcuNEMyMTQuOCAyLjkgMjE5LjEgMCAyMjQgMHM5LjIgMi45IDExLjIgNy40bDE4LjIgNDIuNGMxLjggNC4xIDIuNyA4LjYgMi43IDEzLjFWNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWNjIuOGMwLTQuNSAuOS04LjkgMi43LTEzLjF6TTMwOC44IDcuNEMzMTAuOCAyLjkgMzE1LjEgMCAzMjAgMHM5LjIgMi45IDExLjIgNy40bDE4LjIgNDIuNGMxLjggNC4xIDIuNyA4LjYgMi43IDEzLjFWNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWNjIuOGMwLTQuNSAuOS04LjkgMi43LTEzLjFMMzA4LjggNy40em03Ny44IDQyLjRMNDA0LjggNy40QzQwNi44IDIuOSA0MTEuMSAwIDQxNiAwczkuMiAyLjkgMTEuMiA3LjRsMTguMiA0Mi40YzEuOCA0LjEgMi43IDguNiAyLjcgMTMuMVY2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY2Mi44YzAtNC41IC45LTguOSAyLjctMTMuMXpNNTAwLjggNy40QzUwMi44IDIuOSA1MDcuMSAwIDUxMiAwczkuMiAyLjkgMTEuMiA3LjRsMTguMiA0Mi40YzEuOCA0LjEgMi43IDguNiAyLjcgMTMuMVY2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY2Mi44YzAtNC41IC45LTguOSAyLjctMTMuMUw1MDAuOCA3LjR6bTc3LjggNDIuNEw1OTYuOCA3LjRDNTk4LjggMi45IDYwMy4xIDAgNjA4IDBzOS4yIDIuOSAxMS4yIDcuNGwxOC4yIDQyLjRjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xVjY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjYyLjhjMC00LjUgLjktOC45IDIuNy0xMy4xek0zMiAxMjhjMTcuNyAwIDMyIDE0LjMgMzIgMzJWMjg4YzAgMTcuNyAxNC4zIDMyIDMyIDMySDI4OFYxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMlYzMjBINTQ0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyVjI4OGMwIDUzLTQzIDk2LTk2IDk2SDM1MnY2NEg0ODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzIwIDE2MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkgyODhWMzg0SDk2Yy01MyAwLTk2LTQzLTk2LTk2VjE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnY5NiAzMkg5NlYyNTYgMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyem05NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMydjk2IDMySDE5MlYyNTYgMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyem0xOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnY5NiAzMkgzODRWMjU2IDE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnY5NiAzMkg0ODBWMjU2IDE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpcIl1cbn07XG52YXIgZmFUcnVja1BsYW5lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RydWNrLXBsYW5lJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNThmXCIsIFwiTTIwMCAwYy0zMC42IDAtNTYgNTQuNy01NiA4Ni4xVjE5Mi41TDcuOCAyNzQuM0MyLjkgMjc3LjIgMCAyODIuNCAwIDI4OHY2NGMwIDUuMSAyLjQgOS44IDYuNCAxMi44czkuMyAzLjkgMTQuMSAyLjVsMTIzLjQtMzd2ODEuMmwtNTAgNDBjLTMuOCAzLTYgNy42LTYgMTIuNXYzMmMwIDUuMSAyLjUgMTAgNi42IDEzczkuNSAzLjggMTQuNCAyLjJMMjAwIDQ4MC45IDI5MC40IDUxMWMtMS42LTQuNy0yLjQtOS44LTIuNC0xNVY0NjMuNGMtMTguMi0xMC41LTMwLjctMjkuNy0zMS45LTUxLjhsLS4xLS4xVjQwOCAzMjUuNSAxODRsMC0xLjEgMCAwVjg2LjFDMjU2IDU0LjcgMjMxLjUgMCAyMDAgMHptODggMTc2VjQwMGMwIDIwLjkgMTMuNCAzOC43IDMyIDQ1LjNWNDg4YzAgMTMuMyAxMC43IDI0IDI0IDI0aDE2YzEzLjMgMCAyNC0xMC43IDI0LTI0VjQ0OEg1NDR2NDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRoMTZjMTMuMyAwIDI0LTEwLjcgMjQtMjRWNDQ1LjNjMTguNi02LjYgMzItMjQuNCAzMi00NS4zVjE3NmMwLTI2LjUtMjEuNS00OC00OC00OEgzMzZjLTI2LjUgMC00OCAyMS41LTQ4IDQ4em03OS44IDc4LjdjMy4zLTguNyAxMS4yLTE0LjcgMjAuNS0xNC43SDUzOS43YzkuMiAwIDE3LjIgNiAyMC41IDE0LjdMNTc2IDMwNEgzNTJsMTUuOC00OS4zek01NjggMzUyYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNMzM2IDM3NmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwelwiXVxufTtcbnZhciBmYVJlY29yZFZpbnlsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JlY29yZC12aW55bCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjhkOVwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6bTI1Ni05NmE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnptMCAyMjRhMTI4IDEyOCAwIDEgMCAwLTI1NiAxMjggMTI4IDAgMSAwIDAgMjU2em0wLTk2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG52YXIgZmFGYWNlR3JpblN0YXJzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtZ3Jpbi1zdGFycycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyOTMyMSwgXCJncmluLXN0YXJzXCJdLCBcImY1ODdcIiwgXCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2em00MDcuNCA3NS41YzUtMTEuOC03LTIyLjUtMTkuMy0xOC43Yy0zOS43IDEyLjItODQuNSAxOS0xMzEuOCAxOXMtOTIuMS02LjgtMTMxLjgtMTljLTEyLjMtMy44LTI0LjMgNi45LTE5LjMgMTguN2MyNSA1OS4xIDgzLjIgMTAwLjUgMTUxLjEgMTAwLjVzMTI2LjItNDEuNCAxNTEuMS0xMDAuNXpNMTYwIDEyMGMtMy4xIDAtNS45IDEuOC03LjIgNC42bC0xNi42IDM0LjctMzguMSA1Yy0zLjEgLjQtNS42IDIuNS02LjYgNS41cy0uMSA2LjIgMi4xIDguM2wyNy45IDI2LjUtNyAzNy44Yy0uNiAzIC43IDYuMSAzLjIgNy45czUuOCAyIDguNSAuNkwxNjAgMjMyLjVsMzMuOCAxOC4zYzIuNyAxLjUgNiAxLjMgOC41LS42czMuNy00LjkgMy4yLTcuOWwtNy0zNy44TDIyNi40IDE3OGMyLjItMi4xIDMuMS01LjMgMi4xLTguM3MtMy41LTUuMS02LjYtNS41bC0zOC4xLTUtMTYuNi0zNC43Yy0xLjMtMi44LTQuMS00LjYtNy4yLTQuNnptMTkyIDBjLTMuMSAwLTUuOSAxLjgtNy4yIDQuNmwtMTYuNiAzNC43LTM4LjEgNWMtMy4xIC40LTUuNiAyLjUtNi42IDUuNXMtLjEgNi4yIDIuMSA4LjNsMjcuOSAyNi41LTcgMzcuOGMtLjYgMyAuNyA2LjEgMy4yIDcuOXM1LjggMiA4LjUgLjZMMzUyIDIzMi41bDMzLjggMTguM2MyLjcgMS41IDYgMS4zIDguNS0uNnMzLjctNC45IDMuMi03LjlsLTctMzcuOEw0MTguNCAxNzhjMi4yLTIuMSAzLjEtNS4zIDIuMS04LjNzLTMuNS01LjEtNi42LTUuNWwtMzguMS01LTE2LjYtMzQuN2MtMS4zLTIuOC00LjEtNC42LTcuMi00LjZ6XCJdXG59O1xudmFyIGZhR3JpblN0YXJzID0gZmFGYWNlR3JpblN0YXJzO1xudmFyIGZhQm9uZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib25nJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmNTVjXCIsIFwiTTE2MCAyMDguNWMwIDI5LjEtMTUuNiA1My45LTM3LjIgNjcuOGMtMTcuMiAxMS4xLTMxLjUgMjYuMS00MS43IDQzLjdIMzAyLjljLTEwLjItMTcuNi0yNC41LTMyLjYtNDEuNy00My43Yy0yMS42LTEzLjktMzcuMi0zOC43LTM3LjItNjcuOFY2NEgxNjBWMjA4LjV6TTI4OCA2NFYyMDguNWMwIDUuNyAzLjEgMTAuOSA3LjkgMTRjMTEuMiA3LjIgMjEuNSAxNS41IDMwLjkgMjQuOEwzNjYuMSAyMDhsLTctN2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDI0IDI0IDI0IDI0YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTctNy00My4zIDQzLjNDMzc0IDMxNC4xIDM4NCAzNDcuOSAzODQgMzg0YzAgMzkuNC0xMS45IDc2LjEtMzIuMiAxMDYuNWMtOS42IDE0LjQtMjYuNSAyMS41LTQzLjggMjEuNUg3Ni4xYy0xNy4zIDAtMzQuMi03LjEtNDMuOC0yMS41QzExLjkgNDYwLjEgMCA0MjMuNCAwIDM4NGMwLTY3LjggMzUuMS0xMjcuMyA4OC4xLTE2MS41YzQuOC0zLjEgNy45LTguMyA3LjktMTRWNjRDNzguMyA2NCA2NCA0OS43IDY0IDMyUzc4LjMgMCA5NiAwaDE2SDI3MmgxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMnpcIl1cbn07XG52YXIgZmFTcGFnaGV0dGlNb25zdGVyRmx5aW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NwYWdoZXR0aS1tb25zdGVyLWZseWluZycsXG4gIGljb246IFs2NDAsIDUxMiwgW1wicGFzdGFmYXJpYW5pc21cIl0sIFwiZjY3YlwiLCBcIk0yMDggNjRhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptNDggMGMwIDE2LjItNiAzMS4xLTE2IDQyLjNsMTUuNiAzMS4yYzE4LjctNiAzOS45LTkuNSA2NC40LTkuNXM0NS44IDMuNSA2NC40IDkuNUw0MDAgMTA2LjNDMzkwIDk1LjEgMzg0IDgwLjIgMzg0IDY0YzAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjRjLTEuNyAwLTMuNC0uMS01LjEtLjJMNDI3LjggMTU4YzIxLjEgMTMuNiAzNy43IDMwLjIgNTEuNCA0Ni40YzcuMSA4LjMgMTMuNSAxNi42IDE5LjMgMjRsMS40IDEuOGM2LjMgOC4xIDExLjYgMTQuOCAxNi43IDIwLjRDNTI3LjMgMjYyLjMgNTMyLjcgMjY0IDUzNiAyNjRjMi41IDAgNC4zLS42IDcuMS0zLjNjMy43LTMuNSA3LjEtOC44IDEyLjUtMTcuNGwuNi0uOWM0LjYtNy40IDExLTE3LjYgMTkuNC0yNS43YzkuNy05LjMgMjIuOS0xNi43IDQwLjQtMTYuN2MxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtMi41IDAtNC4zIC42LTcuMSAzLjNjLTMuNyAzLjUtNy4xIDguOC0xMi41IDE3LjRsLS42IC45Yy00LjYgNy40LTExIDE3LjYtMTkuNCAyNS43Yy05LjcgOS4zLTIyLjkgMTYuNy00MC40IDE2LjdjLTE4LjUgMC0zMi45LTguNS00NC4zLTE4LjZjLTMuMSA0LTYuNiA4LjMtMTAuNSAxMi43YzEuNCA0LjMgMi44IDguNSA0IDEyLjVjLjkgMyAxLjggNS44IDIuNiA4LjZjMyA5LjggNS41IDE4LjIgOC42IDI1LjljMy45IDkuOCA3LjQgMTUuNCAxMC44IDE4LjVjMi42IDIuNCA1LjkgNC4zIDEyLjggNC4zYzguNyAwIDE2LjktNC4yIDMzLjctMTMuMmMxNS04IDM1LjctMTguOCA2Mi4zLTE4LjhjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTEzLjQgMC0yNC43IDUuMi0zOS43IDEzLjJjLTEgLjYtMi4xIDEuMS0zLjIgMS43QzU1OS45IDQxNCA1NDEuNCA0MjQgNTIwIDQyNGMtMTguNCAwLTMzLjYtNi4xLTQ1LjUtMTcuMmMtMTEuMS0xMC4zLTE3LjktMjMuNy0yMi43LTM2Yy0zLjYtOS02LjctMTkuMS05LjUtMjguNWMtMTYuNCAxMi4zLTM2LjEgMjMuNi01OC45IDMxLjNjMy42IDEwLjggOC40IDIzLjUgMTQuNCAzNi4yYzcuNSAxNS45IDE2LjIgMzAuNCAyNS44IDQwLjVDNDMzIDQ2MC41IDQ0MS4yIDQ2NCA0NDggNDY0YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0Yy0yNS4yIDAtNDUtMTMuNS01OS41LTI4LjhjLTE0LjUtMTUuNC0yNS43LTM0LjktMzQuMi01M2MtOC0xNy0xNC4xLTMzLjgtMTguMy00Ni45Yy01LjIgLjQtMTAuNiAuNi0xNiAuNnMtMTAuOC0uMi0xNi0uNmMtNC4yIDEzLTEwLjMgMjkuOS0xOC4zIDQ2LjljLTguNSAxOC4xLTE5LjggMzcuNi0zNC4yIDUzQzIzNyA0OTguNSAyMTcuMiA1MTIgMTkyIDUxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGM2LjggMCAxNS0zLjUgMjQuNS0xMy43YzkuNS0xMC4xIDE4LjMtMjQuNiAyNS44LTQwLjVjNS45LTEyLjYgMTAuNy0yNS40IDE0LjQtMzYuMmMtMjIuOC03LjctNDIuNS0xOS01OC45LTMxLjNjLTIuOSA5LjQtNiAxOS41LTkuNSAyOC41Yy00LjggMTIuMi0xMS42IDI1LjYtMjIuNyAzNkMxNTMuNiA0MTcuOSAxMzguNCA0MjQgMTIwIDQyNGMtMjEuNCAwLTM5LjktMTAtNTMuMS0xNy4xbDAgMGMtMS4xLS42LTIuMi0xLjItMy4yLTEuN2MtMTUtOC0yNi4zLTEzLjItMzkuNy0xMy4yYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0YzI2LjYgMCA0Ny4zIDEwLjggNjIuMyAxOC44YzE2LjggOSAyNSAxMy4yIDMzLjcgMTMuMmM2LjggMCAxMC4yLTEuOSAxMi44LTQuM2MzLjQtMy4yIDctOC44IDEwLjgtMTguNWMzLTcuNyA1LjYtMTYuMSA4LjYtMjUuOWMuOC0yLjcgMS43LTUuNiAyLjYtOC42YzEuMi00IDIuNi04LjIgNC0xMi41Yy0zLjktNC41LTcuNC04LjgtMTAuNS0xMi43QzEzNi45IDMwMy41IDEyMi41IDMxMiAxMDQgMzEyYy0xNy41IDAtMzAuNy03LjQtNDAuNC0xNi43Yy04LjQtOC4xLTE0LjgtMTguMy0xOS40LTI1LjdsLS42LS45Yy01LjQtOC42LTguOC0xMy45LTEyLjUtMTcuNGMtMi44LTIuNy00LjYtMy4zLTcuMS0zLjNjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjMTcuNSAwIDMwLjcgNy40IDQwLjQgMTYuN2M4LjQgOC4xIDE0LjggMTguMyAxOS40IDI1LjdsLjYgLjljNS40IDguNiA4LjggMTMuOSAxMi41IDE3LjRjMi44IDIuNyA0LjYgMy4zIDcuMSAzLjNjMy4zIDAgOC43LTEuNyAxOS40LTEzLjRjNS4xLTUuNiAxMC40LTEyLjMgMTYuNy0yMC40bDEuNC0xLjhjNS44LTcuNCAxMi4yLTE1LjcgMTkuMy0yNGMxMy44LTE2LjIgMzAuMy0zMi44IDUxLjQtNDYuNGwtMTUuMS0zMC4yYy0xLjcgLjEtMy40IC4yLTUuMSAuMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NHM2NCAyOC43IDY0IDY0em0yMDggMGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwelwiXVxufTtcbnZhciBmYVBhc3RhZmFyaWFuaXNtID0gZmFTcGFnaGV0dGlNb25zdGVyRmx5aW5nO1xudmFyIGZhQXJyb3dEb3duVXBBY3Jvc3NMaW5lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LWRvd24tdXAtYWNyb3NzLWxpbmUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0YWZcIiwgXCJNMTM3LjQgNTAyLjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsOTYtOTZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMTkyIDQwMi43VjI4OEg1NDRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINDQ4VjEwOS4zbDQxLjQgNDEuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC05Ni05NmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDM4NCAxMDkuM1YyMjRIMTkyIDEyOCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmg5NlY0MDIuN0w4Ni42IDM2MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w5NiA5NnpNMTI4IDE5Mmg2NFY2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlYxOTJ6TTQ0OCAzMjBIMzg0VjQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjMyMHpcIl1cbn07XG52YXIgZmFTcG9vbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcG9vbicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyOTM0OCwgNjE4NzMsIFwidXRlbnNpbC1zcG9vblwiXSwgXCJmMmU1XCIsIFwiTTI0NS44IDIyMC45Yy0xNC41LTE3LjYtMjEuOC0zOS4yLTIxLjgtNjAuOEMyMjQgODAgMzIwIDAgNDE2IDBjNTMgMCA5NiA0MyA5NiA5NmMwIDk2LTgwIDE5Mi0xNjAuMiAxOTJjLTIxLjYgMC00My4yLTcuMy02MC44LTIxLjhMNTQuNiA1MDIuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMjQ1LjggMjIwLjl6XCJdXG59O1xudmFyIGZhVXRlbnNpbFNwb29uID0gZmFTcG9vbjtcbnZhciBmYUphcldoZWF0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2phci13aGVhdCcsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiZTUxN1wiLCBcIk0zMiAzMkMzMiAxNC4zIDQ2LjMgMCA2NCAwSDI1NmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg2NEM0Ni4zIDY0IDMyIDQ5LjcgMzIgMzJ6TTAgMTYwYzAtMzUuMyAyOC43LTY0IDY0LTY0SDI1NmMzNS4zIDAgNjQgMjguNyA2NCA2NFY0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjE2MHptMTEyIDBINjkuOGMtMy4yIDAtNS44IDIuNi01LjggNS44QzY0IDE5OCA5MCAyMjQgMTIyLjIgMjI0SDE0NGgzMiAyMS44YzMyLjEgMCA1OC4yLTI2IDU4LjItNTguMmMwLTMuMi0yLjYtNS44LTUuOC01LjhIMjA4Yy0xOS4xIDAtMzYuMyA4LjQtNDggMjEuN2MtMTEuNy0xMy4zLTI4LjktMjEuNy00OC0yMS43em00OCAxMTcuN2MtMTEuNy0xMy4zLTI4LjktMjEuNy00OC0yMS43SDY5LjhjLTMuMiAwLTUuOCAyLjYtNS44IDUuOEM2NCAyOTQgOTAgMzIwIDEyMi4yIDMyMEgxNDRoMzIgMjEuOGMzMi4xIDAgNTguMi0yNiA1OC4yLTU4LjJjMC0zLjItMi42LTUuOC01LjgtNS44SDIwOGMtMTkuMSAwLTM2LjMgOC40LTQ4IDIxLjd6TTExMiAzNTJINjkuOGMtMy4yIDAtNS44IDIuNi01LjggNS44QzY0IDM5MCA5MCA0MTYgMTIyLjIgNDE2SDE0NHYzMmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjQxNmgyMS44YzMyLjEgMCA1OC4yLTI2IDU4LjItNTguMmMwLTMuMi0yLjYtNS44LTUuOC01LjhIMjA4Yy0xOS4xIDAtMzYuMyA4LjQtNDggMjEuN2MtMTEuNy0xMy4zLTI4LjktMjEuNy00OC0yMS43elwiXVxufTtcbnZhciBmYUVudmVsb3Blc0J1bGsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZW52ZWxvcGVzLWJ1bGsnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcIm1haWwtYnVsa1wiXSwgXCJmNjc0XCIsIFwiTTEyOCAwQzExMC4zIDAgOTYgMTQuMyA5NiAzMlYyMjRoOTZWMTkyYzAtMzUuMyAyOC43LTY0IDY0LTY0SDQ4MFYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMkgxMjh6TTI1NiAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjMyaDk2YzM1LjMgMCA2NCAyOC43IDY0IDY0VjQxNkg1NzZjMTcuNyAwIDMyLTE0LjMgMzItMzJWMTkyYzAtMTcuNy0xNC4zLTMyLTMyLTMySDI1NnptMjQwIDY0aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZINDk2Yy04LjggMC0xNi03LjItMTYtMTZWMjQwYzAtOC44IDcuMi0xNiAxNi0xNnpNNjQgMjU2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnYxM0wxODcuMSA0MTUuOWMxLjQgMSAzLjEgMS42IDQuOSAxLjZzMy41LS42IDQuOS0xLjZMMzUyIDMwMVYyODhjMC0xNy43LTE0LjMtMzItMzItMzJINjR6bTI4OCA4NC44TDIxNiA0NDEuNmMtNi45IDUuMS0xNS4zIDcuOS0yNCA3LjlzLTE3LTIuOC0yNC03LjlMMzIgMzQwLjhWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMySDMyMGMxNy43IDAgMzItMTQuMyAzMi0zMlYzNDAuOHpcIl1cbn07XG52YXIgZmFNYWlsQnVsayA9IGZhRW52ZWxvcGVzQnVsaztcbnZhciBmYUZpbGVDaXJjbGVFeGNsYW1hdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLWNpcmNsZS1leGNsYW1hdGlvbicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRlYlwiLCBcIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEgyMjRWMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMySDM4NHYzOC42QzMxMC4xIDIxOS41IDI1NiAyODcuNCAyNTYgMzY4YzAgNTkuMSAyOS4xIDExMS4zIDczLjcgMTQzLjNjLTMuMiAuNS02LjQgLjctOS43IC43SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY2NHptMzg0IDY0SDI1NlYwTDM4NCAxMjh6bTQ4IDk2YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMCAyNDBhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0wLTE5MmMtOC44IDAtMTYgNy4yLTE2IDE2djgwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMjg4YzAtOC44LTcuMi0xNi0xNi0xNnpcIl1cbn07XG52YXIgZmFDaXJjbGVIID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1oJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTQwNSwgXCJob3NwaXRhbC1zeW1ib2xcIl0sIFwiZjQ3ZVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzY4IDE1MlYyNTYgMzYwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0VjI4MEgxOTJsMCA4MGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTIwOGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0djgwSDMyMFYxNTJjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHpcIl1cbn07XG52YXIgZmFIb3NwaXRhbFN5bWJvbCA9IGZhQ2lyY2xlSDtcbnZhciBmYVBhZ2VyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BhZ2VyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MjIzXSwgXCJmODE1XCIsIFwiTTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0SDQ0OGMzNS4zIDAgNjQgMjguNyA2NCA2NFYzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjEyOHptNjQgMzJ2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJINDE2YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjE2MGMwLTE3LjctMTQuMy0zMi0zMi0zMkg5NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTgwIDMyMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGg1NmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEg4MHptMTM2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRoNDhjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRIMjE2elwiXVxufTtcbnZhciBmYUFkZHJlc3NCb29rID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2FkZHJlc3MtYm9vaycsXG4gIGljb246IFs1MTIsIDUxMiwgWzYyMTM4LCBcImNvbnRhY3QtYm9va1wiXSwgXCJmMmI5XCIsIFwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDM4NGMzNS4zIDAgNjQtMjguNyA2NC02NFY2NGMwLTM1LjMtMjguNy02NC02NC02NEg5NnpNMjA4IDI4OGg2NGM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDguOC03LjIgMTYtMTYgMTZIMTQ0Yy04LjggMC0xNi03LjItMTYtMTZjMC00NC4yIDM1LjgtODAgODAtODB6bS0zMi05NmE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6TTUxMiA4MGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNnY2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2Vjgwek00OTYgMTkyYy04LjggMC0xNiA3LjItMTYgMTZ2NjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlYyMDhjMC04LjgtNy4yLTE2LTE2LTE2em0xNiAxNDRjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZ2NjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlYzMzZ6XCJdXG59O1xudmFyIGZhQ29udGFjdEJvb2sgPSBmYUFkZHJlc3NCb29rO1xudmFyIGZhU3RyaWtldGhyb3VnaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdHJpa2V0aHJvdWdoJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMGNjXCIsIFwiTTE2MS4zIDE0NGMzLjItMTcuMiAxNC0zMC4xIDMzLjctMzguNmMyMS4xLTkgNTEuOC0xMi4zIDg4LjYtNi41YzExLjkgMS45IDQ4LjggOS4xIDYwLjEgMTJjMTcuMSA0LjUgMzQuNi01LjYgMzkuMi0yMi43cy01LjYtMzQuNi0yMi43LTM5LjJjLTE0LjMtMy44LTUzLjYtMTEuNC02Ni42LTEzLjRjLTQ0LjctNy04OC4zLTQuMi0xMjMuNyAxMC45Yy0zNi41IDE1LjYtNjQuNCA0NC44LTcxLjggODcuM2MtLjEgLjYtLjIgMS4xLS4yIDEuN2MtMi44IDIzLjkgLjUgNDUuNiAxMC4xIDY0LjZjNC41IDkgMTAuMiAxNi45IDE2LjcgMjMuOUgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg0ODBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMjcwLjFjLS4xIDAtLjMtLjEtLjQtLjFsLTEuMS0uM2MtMzYtMTAuOC02NS4yLTE5LjYtODUuMi0zMy4xYy05LjMtNi4zLTE1LTEyLjYtMTguMi0xOS4xYy0zLjEtNi4xLTUuMi0xNC42LTMuOC0yNy40ek0zNDguOSAzMzcuMmMyLjcgNi41IDQuNCAxNS44IDEuOSAzMC4xYy0zIDE3LjYtMTMuOCAzMC44LTMzLjkgMzkuNGMtMjEuMSA5LTUxLjcgMTIuMy04OC41IDYuNWMtMTgtMi45LTQ5LjEtMTMuNS03NC40LTIyLjFjLTUuNi0xLjktMTEtMy43LTE1LjktNS40Yy0xNi44LTUuNi0zNC45IDMuNS00MC41IDIwLjNzMy41IDM0LjkgMjAuMyA0MC41YzMuNiAxLjIgNy45IDIuNyAxMi43IDQuM2wwIDAgMCAwYzI0LjkgOC41IDYzLjYgMjEuNyA4Ny42IDI1LjZsMCAwIC4yIDBjNDQuNyA3IDg4LjMgNC4yIDEyMy43LTEwLjljMzYuNS0xNS42IDY0LjQtNDQuOCA3MS44LTg3LjNjMy42LTIxIDIuNy00MC40LTMuMS01OC4xSDMzNS4xYzcgNS42IDExLjQgMTEuMiAxMy45IDE3LjJ6XCJdXG59O1xudmFyIGZhSyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdrJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTA3XSwgXCI0YlwiLCBcIk0zMTEgODYuM2MxMi4zLTEyLjcgMTItMzIuOS0uNy00NS4ycy0zMi45LTEyLTQ1LjIgLjdsLTE1NS4yIDE2MEw2NCAyNDlWNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCA0Ni4zIDAgNjRWMzI4IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjM0MWw2NC43LTY2LjcgMTMzIDE5MmMxMC4xIDE0LjUgMzAgMTguMSA0NC41IDguMXMxOC4xLTMwIDguMS00NC41TDE3NC4xIDIyNy40IDMxMSA4Ni4zelwiXVxufTtcbnZhciBmYUxhbmRtYXJrRmxhZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsYW5kbWFyay1mbGFnJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTFjXCIsIFwiTTI3MiAwaDgwYzguOCAwIDE2IDcuMiAxNiAxNlY4MGMwIDguOC03LjIgMTYtMTYgMTZIMjcydjMySDQ2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkgyNDBWMTZjMC04LjggNy4yLTE2IDE2LTE2aDE2ek02NCAyMjRoNjRWNDE2aDQwVjIyNGg2NFY0MTZoNDhWMjI0aDY0VjQxNmg0MFYyMjRoNjRWNDIwLjNjLjYgLjMgMS4yIC43IDEuOCAxLjFsNDggMzJjMTEuNyA3LjggMTcgMjIuNCAxMi45IDM1LjlTNDk0LjEgNTEyIDQ4MCA1MTJIMzJjLTE0LjEgMC0yNi41LTkuMi0zMC42LTIyLjdzMS4xLTI4LjEgMTIuOS0zNS45bDQ4LTMyYy42LS40IDEuMi0uNyAxLjgtMS4xVjIyNHpcIl1cbn07XG52YXIgZmFQZW5jaWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVuY2lsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTk5OSwgNjE1MDQsIFwicGVuY2lsLWFsdFwiXSwgXCJmMzAzXCIsIFwiTTQxMC4zIDIzMWwxMS4zLTExLjMtMzMuOS0zMy45LTYyLjEtNjIuMUwyOTEuNyA4OS44bC0xMS4zIDExLjMtMjIuNiAyMi42TDU4LjYgMzIyLjljLTEwLjQgMTAuNC0xOCAyMy4zLTIyLjIgMzcuNEwxIDQ4MC43Yy0yLjUgOC40LS4yIDE3LjUgNi4xIDIzLjdzMTUuMyA4LjUgMjMuNyA2LjFsMTIwLjMtMzUuNGMxNC4xLTQuMiAyNy0xMS44IDM3LjQtMjIuMkwzODcuNyAyNTMuNyA0MTAuMyAyMzF6TTE2MCAzOTkuNGwtOS4xIDIyLjdjLTQgMy4xLTguNSA1LjQtMTMuMyA2LjlMNTkuNCA0NTJsMjMtNzguMWMxLjQtNC45IDMuOC05LjQgNi45LTEzLjNsMjIuNy05LjF2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyek0zNjIuNyAxOC43TDM0OC4zIDMzLjIgMzI1LjcgNTUuOCAzMTQuMyA2Ny4xbDMzLjkgMzMuOSA2Mi4xIDYyLjEgMzMuOSAzMy45IDExLjMtMTEuMyAyMi42LTIyLjYgMTQuNS0xNC41YzI1LTI1IDI1LTY1LjUgMC05MC41TDQ1My4zIDE4LjdjLTI1LTI1LTY1LjUtMjUtOTAuNSAwem0tNDcuNCAxNjhsLTE0NCAxNDRjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZsMTQ0LTE0NGM2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6XCJdXG59O1xudmFyIGZhUGVuY2lsQWx0ID0gZmFQZW5jaWw7XG52YXIgZmFCYWNrd2FyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYWNrd2FyZCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzkxOTRdLCBcImYwNGFcIiwgXCJNNDU5LjUgNDQwLjZjOS41IDcuOSAyMi44IDkuNyAzNC4xIDQuNHMxOC40LTE2LjYgMTguNC0yOVY5NmMwLTEyLjQtNy4yLTIzLjctMTguNC0yOXMtMjQuNS0zLjYtMzQuMSA0LjRMMjg4IDIxNC4zVjI1NnY0MS43TDQ1OS41IDQ0MC42ek0yNTYgMzUyVjI1NiAxMjggOTZjMC0xMi40LTcuMi0yMy43LTE4LjQtMjlzLTI0LjUtMy42LTM0LjEgNC40bC0xOTIgMTYwQzQuMiAyMzcuNSAwIDI0Ni41IDAgMjU2czQuMiAxOC41IDExLjUgMjQuNmwxOTIgMTYwYzkuNSA3LjkgMjIuOCA5LjcgMzQuMSA0LjRzMTguNC0xNi42IDE4LjQtMjlWMzUyelwiXVxufTtcbnZhciBmYUNhcmV0UmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FyZXQtcmlnaHQnLFxuICBpY29uOiBbMjU2LCA1MTIsIFtdLCBcImYwZGFcIiwgXCJNMjQ2LjYgMjc4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTEyOC0xMjhjLTkuMi05LjItMjIuOS0xMS45LTM0LjktNi45cy0xOS44IDE2LjYtMTkuOCAyOS42bDAgMjU2YzAgMTIuOSA3LjggMjQuNiAxOS44IDI5LjZzMjUuNyAyLjIgMzQuOS02LjlsMTI4LTEyOHpcIl1cbn07XG52YXIgZmFDb21tZW50cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb21tZW50cycsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODQ5MCwgNjE2NzBdLCBcImYwODZcIiwgXCJNMjA4IDM1MmMxMTQuOSAwIDIwOC03OC44IDIwOC0xNzZTMzIyLjkgMCAyMDggMFMwIDc4LjggMCAxNzZjMCAzOC42IDE0LjcgNzQuMyAzOS42IDEwMy40Yy0zLjUgOS40LTguNyAxNy43LTE0LjIgMjQuN2MtNC44IDYuMi05LjcgMTEtMTMuMyAxNC4zYy0xLjggMS42LTMuMyAyLjktNC4zIDMuN2MtLjUgLjQtLjkgLjctMS4xIC44bC0uMiAuMiAwIDAgMCAwQzEgMzI3LjItMS40IDMzNC40IC44IDM0MC45UzkuMSAzNTIgMTYgMzUyYzIxLjggMCA0My44LTUuNiA2Mi4xLTEyLjVjOS4yLTMuNSAxNy44LTcuNCAyNS4zLTExLjRDMTM0LjEgMzQzLjMgMTY5LjggMzUyIDIwOCAzNTJ6TTQ0OCAxNzZjMCAxMTIuMy05OS4xIDE5Ni45LTIxNi41IDIwN0MyNTUuOCA0NTcuNCAzMzYuNCA1MTIgNDMyIDUxMmMzOC4yIDAgNzMuOS04LjcgMTA0LjctMjMuOWM3LjUgNCAxNiA3LjkgMjUuMiAxMS40YzE4LjMgNi45IDQwLjMgMTIuNSA2Mi4xIDEyLjVjNi45IDAgMTMuMS00LjUgMTUuMi0xMS4xYzIuMS02LjYtLjItMTMuOC01LjgtMTcuOWwwIDAgMCAwLS4yLS4yYy0uMi0uMi0uNi0uNC0xLjEtLjhjLTEtLjgtMi41LTItNC4zLTMuN2MtMy42LTMuMy04LjUtOC4xLTEzLjMtMTQuM2MtNS41LTctMTAuNy0xNS40LTE0LjItMjQuN2MyNC45LTI5IDM5LjYtNjQuNyAzOS42LTEwMy40YzAtOTIuOC04NC45LTE2OC45LTE5Mi42LTE3NS41Yy40IDUuMSAuNiAxMC4zIC42IDE1LjV6XCJdXG59O1xudmFyIGZhUGFzdGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGFzdGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImZpbGUtY2xpcGJvYXJkXCJdLCBcImYwZWFcIiwgXCJNMTYwIDBjLTIzLjcgMC00NC40IDEyLjktNTUuNCAzMkg0OEMyMS41IDMyIDAgNTMuNSAwIDgwVjQwMGMwIDI2LjUgMjEuNSA0OCA0OCA0OEgxOTJWMTc2YzAtNDQuMiAzNS44LTgwIDgwLTgwaDQ4VjgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDIxNS40QzIwNC40IDEyLjkgMTgzLjcgMCAxNjAgMHpNMjcyIDEyOGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhWNDQ4djE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDQ2NGMyNi41IDAgNDgtMjEuNSA0OC00OFYyNDMuOWMwLTEyLjctNS4xLTI0LjktMTQuMS0zMy45bC02Ny45LTY3LjljLTktOS0yMS4yLTE0LjEtMzMuOS0xNC4xSDMyMCAyNzJ6TTE2MCA0MGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6XCJdXG59O1xudmFyIGZhRmlsZUNsaXBib2FyZCA9IGZhUGFzdGU7XG52YXIgZmFDb2RlUHVsbFJlcXVlc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29kZS1wdWxsLXJlcXVlc3QnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImUxM2NcIiwgXCJNMzA1LjggMi4xQzMxNC40IDUuOSAzMjAgMTQuNSAzMjAgMjRWNjRoMTZjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhWMzU4LjdjMjguMyAxMi4zIDQ4IDQwLjUgNDggNzMuM2MwIDQ0LjItMzUuOCA4MC04MCA4MHMtODAtMzUuOC04MC04MGMwLTMyLjggMTkuNy02MSA0OC03My4zVjE5MmMwLTM1LjMtMjguNy02NC02NC02NEgzMjB2NDBjMCA5LjUtNS42IDE4LjEtMTQuMiAyMS45cy0xOC44IDIuMy0yNS44LTQuMWwtODAtNzJjLTUuMS00LjYtNy45LTExLTcuOS0xNy44czIuOS0xMy4zIDcuOS0xNy44bDgwLTcyYzctNi4zIDE3LjItNy45IDI1LjgtNC4xek0xMDQgODBBMjQgMjQgMCAxIDAgNTYgODBhMjQgMjQgMCAxIDAgNDggMHptOCA3My4zVjM1OC43YzI4LjMgMTIuMyA0OCA0MC41IDQ4IDczLjNjMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBjMC0zMi44IDE5LjctNjEgNDgtNzMuM1YxNTMuM0MxOS43IDE0MSAwIDExMi44IDAgODBDMCAzNS44IDM1LjggMCA4MCAwczgwIDM1LjggODAgODBjMCAzMi44LTE5LjcgNjEtNDggNzMuM3pNMTA0IDQzMmEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwem0zMjggMjRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4elwiXVxufTtcbnZhciBmYUNsaXBib2FyZExpc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xpcGJvYXJkLWxpc3QnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImY0NmRcIiwgXCJNMTkyIDBjLTQxLjggMC03Ny40IDI2LjctOTAuNSA2NEg2NEMyOC43IDY0IDAgOTIuNyAwIDEyOFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzIwYzM1LjMgMCA2NC0yOC43IDY0LTY0VjEyOGMwLTM1LjMtMjguNy02NC02NC02NEgyODIuNUMyNjkuNCAyNi43IDIzMy44IDAgMTkyIDB6bTAgNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek03MiAyNzJhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMTA0LTE2SDMwNGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6TTcyIDM2OGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem04OCAwYzAtOC44IDcuMi0xNiAxNi0xNkgzMDRjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMTc2Yy04LjggMC0xNi03LjItMTYtMTZ6XCJdXG59O1xudmFyIGZhVHJ1Y2tSYW1wQm94ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RydWNrLXJhbXAtYm94JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJ0cnVjay1sb2FkaW5nXCJdLCBcImY0ZGVcIiwgXCJNNjQwIDBWNDAwYzAgNjEuOS01MC4xIDExMi0xMTIgMTEyYy02MSAwLTExMC41LTQ4LjctMTEyLTEwOS4zTDQ4LjQgNTAyLjljLTE3LjEgNC42LTM0LjYtNS40LTM5LjMtMjIuNXM1LjQtMzQuNiAyMi41LTM5LjNMMzUyIDM1My44VjY0YzAtMzUuMyAyOC43LTY0IDY0LTY0SDY0MHpNNTc2IDQwMGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek0yMy4xIDIwNy43Yy00LjYtMTcuMSA1LjYtMzQuNiAyMi42LTM5LjJsNDYuNC0xMi40IDIwLjcgNzcuM2MyLjMgOC41IDExLjEgMTMuNiAxOS42IDExLjNsMzAuOS04LjNjOC41LTIuMyAxMy42LTExLjEgMTEuMy0xOS42bC0yMC43LTc3LjMgNDYuNC0xMi40YzE3LjEtNC42IDM0LjYgNS42IDM5LjIgMjIuNmw0MS40IDE1NC41YzQuNiAxNy4xLTUuNiAzNC42LTIyLjYgMzkuMkwxMDMuNyAzODQuOWMtMTcuMSA0LjYtMzQuNi01LjYtMzkuMi0yMi42TDIzLjEgMjA3Ljd6XCJdXG59O1xudmFyIGZhVHJ1Y2tMb2FkaW5nID0gZmFUcnVja1JhbXBCb3g7XG52YXIgZmFVc2VyQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1jaGVjaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjRmY1wiLCBcIk05NiAxMjhhMTI4IDEyOCAwIDEgMSAyNTYgMEExMjggMTI4IDAgMSAxIDk2IDEyOHpNMCA0ODIuM0MwIDM4My44IDc5LjggMzA0IDE3OC4zIDMwNGg5MS40QzM2OC4yIDMwNCA0NDggMzgzLjggNDQ4IDQ4Mi4zYzAgMTYuNC0xMy4zIDI5LjctMjkuNyAyOS43SDI5LjdDMTMuMyA1MTIgMCA0OTguNyAwIDQ4Mi4zek02MjUgMTc3TDQ5NyAzMDVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwbC02NC02NGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDQ3IDQ3TDU5MSAxNDNjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45elwiXVxufTtcbnZhciBmYVZpYWxWaXJ1cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2aWFsLXZpcnVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTk3XCIsIFwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5NlYzODRjMCA1MyA0MyA5NiA5NiA5NmMyOC42IDAgNTQuMi0xMi41IDcxLjgtMzIuM2MuMS0xNC4yIDUuNi0yOC4zIDE2LjQtMzkuMWMuMi0uMiAuMS0uNi0uMi0uNmMtMzAuOSAwLTU2LTI1LjEtNTYtNTZzMjUuMS01NiA1Ni01NmMuMyAwIC40LS40IC4yLS42Yy0yMS45LTIxLjktMjEuOS01Ny4zIDAtNzkuMmMyLjQtMi40IDUtNC42IDcuOC02LjVWOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTYwIDk2IDMyek05NiAxOTJWOTZoNjR2OTZIOTZ6TTIxNiAzNzZjMjguOCAwIDQzLjIgMzQuOCAyMi45IDU1LjJjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGMyMC40LTIwLjQgNTUuMi01LjkgNTUuMiAyMi45YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0yOC44IDM0LjgtNDMuMiA1NS4yLTIyLjljOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45QzQ0NC44IDQxMC44IDQ1OS4yIDM3NiA0ODggMzc2YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0Yy0yOC44IDAtNDMuMi0zNC44LTIyLjktNTUuMmM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwQzQxMC44IDI1OS4yIDM3NiAyNDQuOCAzNzYgMjE2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0YzAgMjguOC0zNC44IDQzLjItNTUuMiAyMi45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45YzIwLjQgMjAuNCA1LjkgNTUuMi0yMi45IDU1LjJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjR6bTEwNC04OGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTQwIDk2YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6XCJdXG59O1xudmFyIGZhU2hlZXRQbGFzdGljID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoZWV0LXBsYXN0aWMnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImU1NzFcIiwgXCJNMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMjI0VjM4NGMwLTE3LjcgMTQuMy0zMiAzMi0zMkgzODRWNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRINjRDMjguNyAwIDAgMjguNyAwIDY0VjQ0OHpNMTcxLjMgNzUuM2wtOTYgOTZjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZsOTYtOTZjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42em05NiAzMmwtMTYwIDE2MGMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwxNjAtMTYwYzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnpNMzg0IDM4NEgyNTZWNTEyTDM4NCAzODR6XCJdXG59O1xudmFyIGZhQmxvZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdibG9nJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNzgxXCIsIFwiTTE5MiAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmMxMjMuNyAwIDIyNCAxMDAuMyAyMjQgMjI0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJDNTEyIDEyOC45IDM4My4xIDAgMjI0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem0wIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyYzcwLjcgMCAxMjggNTcuMyAxMjggMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJjMC0xMDYtODYtMTkyLTE5Mi0xOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek05NiAxNDRjMC0yNi41LTIxLjUtNDgtNDgtNDhTMCAxMTcuNSAwIDE0NFYzNjhjMCA3OS41IDY0LjUgMTQ0IDE0NCAxNDRzMTQ0LTY0LjUgMTQ0LTE0NHMtNjQuNS0xNDQtMTQ0LTE0NEgxMjh2OTZoMTZjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhWMTQ0elwiXVxufTtcbnZhciBmYVVzZXJOaW5qYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLW5pbmphJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI5Mzk5XSwgXCJmNTA0XCIsIFwiTTIyNCAyNTZjLTU3LjIgMC0xMDUuNi0zNy41LTEyMi04OS4zYy0xLjEgMS4zLTIuMiAyLjYtMy41IDMuOGMtMTUuOCAxNS44LTM4LjggMjAuNy01My42IDIyLjFjLTguMSAuOC0xNC42LTUuNy0xMy44LTEzLjhjMS40LTE0LjcgNi4zLTM3LjggMjIuMS01My42YzUuOC01LjggMTIuNi0xMC4xIDE5LjYtMTMuNGMtNy0zLjItMTMuOC03LjYtMTkuNi0xMy40QzM3LjQgODIuNyAzMi42IDU5LjcgMzEuMSA0NC45Yy0uOC04LjEgNS43LTE0LjYgMTMuOC0xMy44YzE0LjcgMS40IDM3LjggNi4zIDUzLjYgMjIuMWM0LjggNC44IDguNyAxMC40IDExLjcgMTYuMUMxMzEuNCAyOC4yIDE3NC40IDAgMjI0IDBjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhzLTU3LjMgMTI4LTEyOCAxMjh6TTAgNDgyLjNDMCAzOTkuNSA1Ni40IDMzMCAxMzIuOCAzMDkuOWM2LTEuNiAxMi4yIC45IDE1LjkgNS44bDYyLjUgODMuM2M2LjQgOC41IDE5LjIgOC41IDI1LjYgMGw2Mi41LTgzLjNjMy43LTQuOSA5LjktNy40IDE1LjktNS44QzM5MS42IDMzMCA0NDggMzk5LjUgNDQ4IDQ4Mi4zYzAgMTYuNC0xMy4zIDI5LjctMjkuNyAyOS43SDI5LjdDMTMuMyA1MTIgMCA0OTguNyAwIDQ4Mi4zek0xNjAgOTZjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZIMjg4YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDE2MHpcIl1cbn07XG52YXIgZmFQZXJzb25BcnJvd1VwRnJvbUxpbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWFycm93LXVwLWZyb20tbGluZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUzOVwiLCBcIk0xOTIgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0tOCAzNTJWMzUyaDE2djk2SDE4NHptLTY0IDBIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJIMTUyaDgwSDYwOGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgyNjRWMjU2LjlsMjguNiA0Ny41YzkuMSAxNS4xIDI4LjggMjAgNDMuOSAxMC45czIwLTI4LjggMTAuOS00My45bC01OC4zLTk3Yy0xNy40LTI4LjktNDguNi00Ni42LTgyLjMtNDYuNkgxNzcuMWMtMzMuNyAwLTY0LjkgMTcuNy04Mi4zIDQ2LjZsLTU4LjMgOTdjLTkuMSAxNS4xLTQuMiAzNC44IDEwLjkgNDMuOXMzNC44IDQuMiA0My45LTEwLjlMMTIwIDI1Ni45VjQ0OHpNNTk4LjYgMTIxLjRsLTgwLTgwYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtODAgODBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMNDY0IDE0MS4zIDQ2NCAzODRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYxNDEuM2wyNS40IDI1LjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM3pcIl1cbn07XG52YXIgZmFTY3JvbGxUb3JhaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzY3JvbGwtdG9yYWgnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInRvcmFoXCJdLCBcImY2YTBcIiwgXCJNOTYgNDgwVjMyQzk2IDE0LjMgNzQuNSAwIDQ4IDBTMCAxNC4zIDAgMzJWNDgwYzAgMTcuNyAyMS41IDMyIDQ4IDMyczQ4LTE0LjMgNDgtMzJ6TTUxMiAzMkgxMjhWNDgwSDUxMlYzMnpNNTkyIDBjLTI2LjUgMC00OCAxNC4zLTQ4IDMyVjQ4MGMwIDE3LjcgMjEuNSAzMiA0OCAzMnM0OC0xNC4zIDQ4LTMyVjMyYzAtMTcuNy0yMS41LTMyLTQ4LTMyek0xOTYgMzEzLjdjMC0zLjIgLjktNi40IDIuNS05LjJMMjI2LjcgMjU2bC0yOC4zLTQ4LjVjLTEuNi0yLjgtMi41LTYtMi41LTkuMmMwLTEwLjEgOC4yLTE4LjMgMTguMy0xOC4zSDI3MWwzMS40LTUzLjljMy42LTYuMyAxMC4zLTEwLjEgMTcuNi0xMC4xczEzLjkgMy44IDE3LjYgMTAuMUwzNjkgMTgwaDU2LjdjMTAuMSAwIDE4LjMgOC4yIDE4LjMgMTguM2MwIDMuMi0uOSA2LjQtMi41IDkuMkw0MTMuMyAyNTZsMjguMyA0OC41YzEuNiAyLjggMi41IDYgMi41IDkuMmMwIDEwLjEtOC4yIDE4LjMtMTguMyAxOC4zSDM2OWwtMzEuNCA1My45Yy0zLjYgNi4zLTEwLjMgMTAuMS0xNy42IDEwLjFzLTEzLjktMy44LTE3LjYtMTAuMUwyNzEgMzMySDIxNC4zYy0xMC4xIDAtMTguMy04LjItMTguMy0xOC4zem0xMjQgNTQuN0wzNDEuMiAzMzJIMjk4LjhMMzIwIDM2OC40ek0yNTQuNSAyNTZsMzAuMyA1Mmg3MC40bDMwLjMtNTItMzAuMy01MkgyODQuOGwtMzAuMyA1MnptMTQ0LjkgMjMuOEwzODMgMzA4aDMyLjhsLTE2LjQtMjguMnpNNDE1LjggMjA0SDM4M2wxNi40IDI4LjJMNDE1LjggMjA0ek0zMjAgMTQzLjZMMjk4LjggMTgwaDQyLjRMMzIwIDE0My42ek0yMjQuMiAyMDRsMTYuNCAyOC4yTDI1NyAyMDRIMjI0LjJ6TTI1NyAzMDhsLTE2LjQtMjguMkwyMjQuMiAzMDhIMjU3elwiXVxufTtcbnZhciBmYVRvcmFoID0gZmFTY3JvbGxUb3JhaDtcbnZhciBmYUJyb29tQmFsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdicm9vbS1iYWxsJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJxdWlkZGl0Y2hcIiwgXCJxdWlkZGl0Y2gtYnJvb20tYmFsbFwiXSwgXCJmNDU4XCIsIFwiTTU2Ni42IDkuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtMTkyIDE5MiAzNC43IDM0LjdjNC4yIDQuMiA2LjYgMTAgNi42IDE2YzAgMTIuNS0xMC4xIDIyLjYtMjIuNiAyMi42SDM2NC4zTDI1NiAyMTEuN1YxODIuNmMwLTEyLjUgMTAuMS0yMi42IDIyLjYtMjIuNmM2IDAgMTEuOCAyLjQgMTYgNi42bDM0LjcgMzQuNyAxOTItMTkyYzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwem0tMzQ0IDIyNS41TDM0MS4xIDM1My40YzMuNyA0Mi43LTExLjcgODUuMi00Mi4zIDExNS44QzI3MS40IDQ5Ni42IDIzNC4yIDUxMiAxOTUuNSA1MTJMMjIuMSA1MTJDOS45IDUxMiAwIDUwMi4xIDAgNDg5LjljMC02LjMgMi43LTEyLjMgNy4zLTE2LjVMMTMzLjcgMzU5LjdjNC4yLTMuNy0uNC0xMC40LTUuNC03LjlMNzcuMiAzNzcuNGMtNi4xIDMtMTMuMi0xLjQtMTMuMi04LjJjMC0zMS41IDEyLjUtNjEuNyAzNC44LTg0bDgtOGMzMC42LTMwLjYgNzMuMS00NS45IDExNS44LTQyLjN6TTQ2NCAzNTJhODAgODAgMCAxIDEgMCAxNjAgODAgODAgMCAxIDEgMC0xNjB6XCJdXG59O1xudmFyIGZhUXVpZGRpdGNoID0gZmFCcm9vbUJhbGw7XG52YXIgZmFRdWlkZGl0Y2hCcm9vbUJhbGwgPSBmYUJyb29tQmFsbDtcbnZhciBmYVRvZ2dsZU9mZiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0b2dnbGUtb2ZmJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMjA0XCIsIFwiTTM4NCAxMjhjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhzLTU3LjMgMTI4LTEyOCAxMjhIMTkyYy03MC43IDAtMTI4LTU3LjMtMTI4LTEyOHM1Ny4zLTEyOCAxMjgtMTI4SDM4NHpNNTc2IDI1NmMwLTEwNi04Ni0xOTItMTkyLTE5MkgxOTJDODYgNjQgMCAxNTAgMCAyNTZTODYgNDQ4IDE5MiA0NDhIMzg0YzEwNiAwIDE5Mi04NiAxOTItMTkyek0xOTIgMzUyYTk2IDk2IDAgMSAwIDAtMTkyIDk2IDk2IDAgMSAwIDAgMTkyelwiXVxufTtcbnZhciBmYUJveEFyY2hpdmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm94LWFyY2hpdmUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImFyY2hpdmVcIl0sIFwiZjE4N1wiLCBcIk0zMiAzMkg0ODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWOTZjMCAxNy43LTE0LjMgMzItMzIgMzJIMzJDMTQuMyAxMjggMCAxMTMuNyAwIDk2VjY0QzAgNDYuMyAxNC4zIDMyIDMyIDMyem0wIDEyOEg0ODBWNDE2YzAgMzUuMy0yOC43IDY0LTY0IDY0SDk2Yy0zNS4zIDAtNjQtMjguNy02NC02NFYxNjB6bTEyOCA4MGMwIDguOCA3LjIgMTYgMTYgMTZIMzM2YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDE3NmMtOC44IDAtMTYgNy4yLTE2IDE2elwiXVxufTtcbnZhciBmYUFyY2hpdmUgPSBmYUJveEFyY2hpdmU7XG52YXIgZmFQZXJzb25Ecm93bmluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tZHJvd25pbmcnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1NDVcIiwgXCJNMTkyIDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjk2LjJjMCA1NC4xIDIzLjUgMTA0IDYyLjIgMTM4LjNsLTIxIDE0Ni43YzcuOCAyLjEgMTUuNSAzLjMgMjIuOCAzLjNjMjEuMSAwIDQyLTguNSA1OS4yLTIwLjNjMjIuMS0xNS41IDUxLjYtMTUuNSA3My43IDBjMTIuNCA4LjUgMjYuMSAxNC44IDM5LjcgMThsMTcuNy05Ny42YzEwLjctMS4yIDIxLjMtMy4xIDMxLjktNS41bDEwNS0yMy45YzE3LjItMy45IDI4LTIxLjEgMjQuMS0zOC4zcy0yMS4xLTI4LTM4LjMtMjQuMUw0MDAgMjE2LjZjLTQxIDkuMy04My43IDcuNS0xMjMuNy01LjJjLTUwLjItMTYtODQuMy02Mi42LTg0LjMtMTE1LjNWNjR6TTMyMCAxOTJhNjQgNjQgMCAxIDAgMC0xMjggNjQgNjQgMCAxIDAgMCAxMjh6TTMwNi41IDM4OS45Yy0xMS4xLTcuOS0yNS45LTcuOS0zNyAwQzI0NyA0MDUuNCAyMTkuNSA0MTYgMTkyIDQxNmMtMjYuOSAwLTU1LjMtMTAuOC03Ny40LTI2LjFsMCAwYy0xMS45LTguNS0yOC4xLTcuOC0zOS4yIDEuN2MtMTQuNCAxMS45LTMyLjUgMjEtNTAuNiAyNS4yYy0xNy4yIDQtMjcuOSAyMS4yLTIzLjkgMzguNHMyMS4yIDI3LjkgMzguNCAyMy45YzI0LjUtNS43IDQ0LjktMTYuNSA1OC4yLTI1QzEyNi41IDQ2OS43IDE1OSA0ODAgMTkyIDQ4MGMzMS45IDAgNjAuNi05LjkgODAuNC0xOC45YzUuOC0yLjcgMTEuMS01LjMgMTUuNi03LjdjNC41IDIuNCA5LjcgNS4xIDE1LjYgNy43YzE5LjggOSA0OC41IDE4LjkgODAuNCAxOC45YzMzIDAgNjUuNS0xMC4zIDk0LjUtMjUuOGMxMy40IDguNCAzMy43IDE5LjMgNTguMiAyNWMxNy4yIDQgMzQuNC02LjcgMzguNC0yMy45cy02LjctMzQuNC0yMy45LTM4LjRjLTE4LjEtNC4yLTM2LjItMTMuMy01MC42LTI1LjJjLTExLjEtOS40LTI3LjMtMTAuMS0zOS4yLTEuN2wwIDBDNDM5LjQgNDA1LjIgNDEwLjkgNDE2IDM4NCA0MTZjLTI3LjUgMC01NS0xMC42LTc3LjUtMjYuMXpcIl1cbn07XG52YXIgZmFBcnJvd0Rvd245MSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1kb3duLTktMScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wic29ydC1udW1lcmljLWRlc2NcIiwgXCJzb3J0LW51bWVyaWMtZG93bi1hbHRcIl0sIFwiZjg4NlwiLCBcIk0xNjAgNDgwYzkgMCAxNy41LTMuOCAyMy42LTEwLjRsODgtOTZjMTEuOS0xMyAxMS4xLTMzLjMtMi00NS4ycy0zMy4zLTExLjEtNDUuMiAyTDE5MiAzNjUuN1Y2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlYzNjUuN0w5NS42IDMzMC40Yy0xMS45LTEzLTMyLjItMTMuOS00NS4yLTJzLTEzLjkgMzIuMi0yIDQ1LjJsODggOTZDMTQyLjUgNDc2LjIgMTUxIDQ4MCAxNjAgNDgwek00NTAuNyAyOTRjLTguMy02LTE5LjEtNy43LTI4LjgtNC40bC00OCAxNmMtMTYuOCA1LjYtMjUuOCAyMy43LTIwLjIgNDAuNXMyMy43IDI1LjggNDAuNSAyMC4ybDUuOS0yVjQxNkgzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoNDggNDhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINDY0VjMyMGMwLTEwLjMtNC45LTE5LjktMTMuMy0yNnpNNDE4LjMgOTFhMzIgMzIgMCAxIDEgMjcuNCA1Ny45QTMyIDMyIDAgMSAxIDQxOC4zIDkxek00MDUuMSAyMDMuOGwtNi44IDkuMmMtMTAuNSAxNC4yLTcuNSAzNC4yIDYuNyA0NC44czM0LjIgNy41IDQ0LjgtNi43bDQ4LjgtNjUuOGMxNC0xOC45IDIxLjUtNDEuNyAyMS41LTY1LjJjMC00OC42LTM5LjQtODgtODgtODhzLTg4IDM5LjQtODggODhjMCAzOS4yIDI1LjYgNzIuNCA2MS4xIDgzLjh6XCJdXG59O1xudmFyIGZhU29ydE51bWVyaWNEZXNjID0gZmFBcnJvd0Rvd245MTtcbnZhciBmYVNvcnROdW1lcmljRG93bkFsdCA9IGZhQXJyb3dEb3duOTE7XG52YXIgZmFGYWNlR3JpblRvbmd1ZVNxdWludCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWdyaW4tdG9uZ3VlLXNxdWludCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU0MSwgXCJncmluLXRvbmd1ZS1zcXVpbnRcIl0sIFwiZjU4YVwiLCBcIk0wIDI1NkMwIDM2OC45IDczLjEgNDY0LjcgMTc0LjUgNDk4LjhDMTY1LjMgNDg0IDE2MCA0NjYuNiAxNjAgNDQ4VjQwMC43Yy0yNC0xNy41LTQzLjEtNDEuNC01NC44LTY5LjJjLTUtMTEuOCA3LTIyLjUgMTkuMy0xOC43YzM5LjcgMTIuMiA4NC41IDE5IDEzMS44IDE5czkyLjEtNi44IDEzMS44LTE5YzEyLjMtMy44IDI0LjMgNi45IDE5LjMgMTguN2MtMTEuOCAyOC0zMS4xIDUyLTU1LjQgNjkuNlY0NDhjMCAxOC42LTUuMyAzNi0xNC41IDUwLjhDNDM4LjkgNDY0LjcgNTEyIDM2OC45IDUxMiAyNTZDNTEyIDExNC42IDM5Ny40IDAgMjU2IDBTMCAxMTQuNiAwIDI1NnpNMTE2IDE0MS4xYzAtOSA5LjYtMTQuNyAxNy41LTEwLjVsODkuOSA0Ny45YzEwLjcgNS43IDEwLjcgMjEuMSAwIDI2LjhsLTg5LjkgNDcuOWMtNy45IDQuMi0xNy41LTEuNS0xNy41LTEwLjVjMC0yLjggMS01LjUgMi44LTcuNmwzNi00My4yLTM2LTQzLjJjLTEuOC0yLjEtMi44LTQuOC0yLjgtNy42em0yNjIuNS0xMC41YzcuOS00LjIgMTcuNSAxLjUgMTcuNSAxMC41YzAgMi44LTEgNS41LTIuOCA3LjZsLTM2IDQzLjIgMzYgNDMuMmMxLjggMi4xIDIuOCA0LjggMi44IDcuNmMwIDktOS42IDE0LjctMTcuNSAxMC41bC04OS45LTQ3LjljLTEwLjctNS43LTEwLjctMjEuMSAwLTI2LjhsODkuOS00Ny45ek0zMjAgNDQ4VjQwMi42YzAtMTQuNy0xMS45LTI2LjYtMjYuNi0yNi42aC0yYy0xMS4zIDAtMjEuMSA3LjktMjMuNiAxOC45Yy0yLjggMTIuNi0yMC44IDEyLjYtMjMuNiAwYy0yLjUtMTEuMS0xMi4zLTE4LjktMjMuNi0xOC45aC0yYy0xNC43IDAtMjYuNiAxMS45LTI2LjYgMjYuNlY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHpcIl1cbn07XG52YXIgZmFHcmluVG9uZ3VlU3F1aW50ID0gZmFGYWNlR3JpblRvbmd1ZVNxdWludDtcbnZhciBmYVNwcmF5Q2FuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NwcmF5LWNhbicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjViZFwiLCBcIk0xMjggMGg2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnY5Nkg5NlYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMCAyNTZjMC01MyA0My05NiA5Ni05NkgyMjRjNTMgMCA5NiA0MyA5NiA5NlY0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjI1NnptMjQwIDgwQTgwIDgwIDAgMSAwIDgwIDMzNmE4MCA4MCAwIDEgMCAxNjAgMHpNMjU2IDY0YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTM4NCAzMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTY0IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTMyIDY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNNDQ4IDI1NmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0zODQgMTI4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFUcnVja01vbnN0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJ1Y2stbW9uc3RlcicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjYzYlwiLCBcIk0yODggNjR2NjRINDE2TDM2OCA2NEgyODh6TTQxOS4yIDI1LjZMNDk2IDEyOGg4MGMxNy43IDAgMzIgMTQuMyAzMiAzMnY2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmMtMjkuMi0zOC45LTc1LjctNjQtMTI4LTY0cy05OC44IDI1LjEtMTI4IDY0SDI4OGMtMjkuMi0zOC45LTc1LjctNjQtMTI4LTY0cy05OC44IDI1LjEtMTI4IDY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyVjE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMkgyMjRWNDhjMC0yNi41IDIxLjUtNDggNDgtNDhoOTZjMjAuMSAwIDM5LjEgOS41IDUxLjIgMjUuNnpNMTUyIDI1NmgxNmMxMi4xIDAgMjIuMSA4LjkgMjMuOCAyMC42YzcuNiAyLjIgMTQuOSA1LjMgMjEuNyA5YzkuNC03IDIyLjgtNi4zIDMxLjMgMi4zbDExLjMgMTEuM2M4LjYgOC42IDkuMyAyMS45IDIuMyAzMS4zYzMuNyA2LjggNi44IDE0LjEgOSAyMS43YzExLjYgMS43IDIwLjYgMTEuNyAyMC42IDIzLjh2MTZjMCAxMi4xLTguOSAyMi4xLTIwLjYgMjMuOGMtMi4yIDcuNi01LjMgMTQuOS05IDIxLjdjNyA5LjQgNi4zIDIyLjgtMi4zIDMxLjNsLTExLjMgMTEuM2MtOC42IDguNi0yMS45IDkuMy0zMS4zIDIuMmMtNi44IDMuNy0xNC4xIDYuOC0yMS43IDlDMTkwLjEgNTAzLjEgMTgwLjEgNTEyIDE2OCA1MTJIMTUyYy0xMi4xIDAtMjIuMS04LjktMjMuOC0yMC42Yy03LjYtMi4yLTE0LjktNS4zLTIxLjctOWMtOS40IDcuMS0yMi44IDYuMy0zMS4zLTIuMkw2My44IDQ2OC45Yy04LjYtOC42LTkuMy0yMS45LTIuMy0zMS4zYy0zLjctNi45LTYuOC0xNC4xLTktMjEuOEM0MC45IDQxNC4xIDMyIDQwNC4xIDMyIDM5MlYzNzZjMC0xMi4xIDguOS0yMi4xIDIwLjYtMjMuOGMyLjItNy42IDUuMy0xNC45IDktMjEuOGMtNy05LjQtNi4zLTIyLjggMi4zLTMxLjNsMTEuMy0xMS4zYzguNi04LjYgMjEuOS05LjMgMzEuMy0yLjNjNi44LTMuNyAxNC4xLTYuOCAyMS43LTljMS43LTExLjYgMTEuNy0yMC42IDIzLjgtMjAuNnptOCAxNzZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek00NDguMiAyNzYuNmMxLjctMTEuNiAxMS43LTIwLjYgMjMuOC0yMC42aDE2YzEyLjEgMCAyMi4xIDguOSAyMy44IDIwLjZjNy42IDIuMiAxNC45IDUuMyAyMS44IDljOS40LTcgMjIuOC02LjMgMzEuMyAyLjNsMTEuMyAxMS4zYzguNiA4LjYgOS4zIDIxLjkgMi4yIDMxLjNjMy43IDYuOCA2LjggMTQuMSA5IDIxLjdjMTEuNiAxLjcgMjAuNiAxMS43IDIwLjYgMjMuOHYxNmMwIDEyLjEtOC45IDIyLjEtMjAuNiAyMy44Yy0yLjIgNy42LTUuMyAxNC45LTkgMjEuN2M3IDkuNCA2LjMgMjIuOC0yLjIgMzEuM2wtMTEuMyAxMS4zYy04LjYgOC42LTIxLjkgOS4zLTMxLjMgMi4yYy02LjkgMy43LTE0LjEgNi44LTIxLjggOUM1MTAuMSA1MDMuMSA1MDAuMSA1MTIgNDg4IDUxMkg0NzJjLTEyLjEgMC0yMi4xLTguOS0yMy44LTIwLjZjLTcuNi0yLjItMTQuOS01LjMtMjEuNy05Yy05LjQgNy4xLTIyLjggNi4zLTMxLjMtMi4ybC0xMS4zLTExLjNjLTguNi04LjYtOS4zLTIxLjktMi4yLTMxLjNjLTMuNy02LjktNi44LTE0LjEtOS0yMS44QzM2MC45IDQxNC4xIDM1MiA0MDQuMSAzNTIgMzkyVjM3NmMwLTEyLjEgOC45LTIyLjEgMjAuNi0yMy44YzIuMi03LjYgNS4zLTE0LjkgOS0yMS44Yy03LTkuNC02LjMtMjIuOCAyLjItMzEuM2wxMS4zLTExLjNjOC42LTguNiAyMS45LTkuMyAzMS4zLTIuM2M2LjgtMy43IDE0LjEtNi44IDIxLjctOXpNNTI4IDM4NGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwelwiXVxufTtcbnZhciBmYVcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndycsXG4gIGljb246IFs1NzYsIDUxMiwgWzExOV0sIFwiNTdcIiwgXCJNMjAuOCAzNGMxNi41LTYuMiAzNSAyLjIgNDEuMiAxOC43bDExMC4yIDI5NEwyNTcuMyA1NWM0LTEzLjcgMTYuNS0yMyAzMC43LTIzczI2LjcgOS40IDMwLjcgMjNsODUuMSAyOTEuN0w1MTQgNTIuOGM2LjItMTYuNSAyNC42LTI0LjkgNDEuMi0xOC43czI0LjkgMjQuNyAxOC43IDQxLjJsLTE0NCAzODRjLTQuOCAxMi45LTE3LjQgMjEuMy0zMS4yIDIwLjdzLTI1LjctOS44LTI5LjUtMjNMMjg4IDE3OC4zIDIwNi43IDQ1N2MtMy45IDEzLjItMTUuOCAyMi41LTI5LjUgMjNzLTI2LjMtNy44LTMxLjItMjAuN0wyIDc1LjJDLTQuMiA1OC43IDQuMiA0MC4yIDIwLjggMzR6XCJdXG59O1xudmFyIGZhRWFydGhBZnJpY2EgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZWFydGgtYWZyaWNhJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3NzU3LCBcImdsb2JlLWFmcmljYVwiXSwgXCJmNTdjXCIsIFwiTTE3Ny44IDYzLjJsMTAgMTcuNGMyLjggNC44IDQuMiAxMC4zIDQuMiAxNS45djQxLjRjMCAzLjkgMS42IDcuNyA0LjMgMTAuNGM2LjIgNi4yIDE2LjUgNS43IDIyLTEuMmwxMy42LTE3YzQuNy01LjkgMTIuOS03LjcgMTkuNi00LjNsMTUuMiA3LjZjMy40IDEuNyA3LjIgMi42IDExIDIuNmM2LjUgMCAxMi44LTIuNiAxNy40LTcuMmwzLjktMy45YzIuOS0yLjkgNy4zLTMuNiAxMS0xLjhsMjkuMiAxNC42YzcuOCAzLjkgMTIuNiAxMS44IDEyLjYgMjAuNWMwIDEwLjUtNy4xIDE5LjYtMTcuMyAyMi4ybC0zNS40IDguOGMtNy40IDEuOC0xNS4xIDEuNS0yMi40LS45bC0zMi0xMC43Yy0zLjMtMS4xLTYuNy0xLjctMTAuMi0xLjdjLTcgMC0xMy44IDIuMy0xOS40IDYuNUwxNzYgMjEyYy0xMC4xIDcuNi0xNiAxOS40LTE2IDMydjI4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDMyYzguOCAwIDE2IDcuMiAxNiAxNnY0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmMxMC4xIDAgMTkuNi00LjcgMjUuNi0xMi44bDI1LjYtMzQuMWM4LjMtMTEuMSAxMi44LTI0LjYgMTIuOC0zOC40VjMxOC42YzAtMy45IDIuNi03LjMgNi40LTguMmw1LjMtMS4zYzExLjktMyAyMC4zLTEzLjcgMjAuMy0yNmMwLTcuMS0yLjgtMTMuOS03LjgtMTguOWwtMzMuNS0zMy41Yy0zLjctMy43LTMuNy05LjcgMC0xMy40YzUuNy01LjcgMTQuMS03LjcgMjEuOC01LjFsMTQuMSA0LjdjMTIuMyA0LjEgMjUuNy0xLjUgMzEuNS0xM2MzLjUtNyAxMS4yLTEwLjggMTguOS05LjJsMjcuNCA1LjVDNDMyIDExMi40IDM1MS41IDQ4IDI1NiA0OGMtMjcuNyAwLTU0IDUuNC03OC4yIDE1LjJ6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnpcIl1cbn07XG52YXIgZmFHbG9iZUFmcmljYSA9IGZhRWFydGhBZnJpY2E7XG52YXIgZmFSYWluYm93ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JhaW5ib3cnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjc3NTJdLCBcImY3NWJcIiwgXCJNMzIwIDk2QzE3OC42IDk2IDY0IDIxMC42IDY0IDM1MnY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzNTJDMCAxNzUuMyAxNDMuMyAzMiAzMjAgMzJzMzIwIDE0My4zIDMyMCAzMjB2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzUyQzU3NiAyMTAuNiA0NjEuNCA5NiAzMjAgOTZ6bTAgMTkyYy0zNS4zIDAtNjQgMjguNy02NCA2NHY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzNTJjMC03MC43IDU3LjMtMTI4IDEyOC0xMjhzMTI4IDU3LjMgMTI4IDEyOHY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzNTJjMC0zNS4zLTI4LjctNjQtNjQtNjR6TTE2MCAzNTJ2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzUyYzAtMTIzLjcgMTAwLjMtMjI0IDIyNC0yMjRzMjI0IDEwMC4zIDIyNCAyMjR2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzUyYzAtODguNC03MS42LTE2MC0xNjAtMTYwcy0xNjAgNzEuNi0xNjAgMTYwelwiXVxufTtcbnZhciBmYUNpcmNsZU5vdGNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1ub3RjaCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjFjZVwiLCBcIk0yMjIuNyAzMi4xYzUgMTYuOS00LjYgMzQuOC0yMS41IDM5LjhDMTIxLjggOTUuNiA2NCAxNjkuMSA2NCAyNTZjMCAxMDYgODYgMTkyIDE5MiAxOTJzMTkyLTg2IDE5Mi0xOTJjMC04Ni45LTU3LjgtMTYwLjQtMTM3LjEtMTg0LjFjLTE2LjktNS0yNi42LTIyLjktMjEuNS0zOS44czIyLjktMjYuNiAzOS44LTIxLjVDNDM0LjkgNDIuMSA1MTIgMTQwIDUxMiAyNTZjMCAxNDEuNC0xMTQuNiAyNTYtMjU2IDI1NlMwIDM5Ny40IDAgMjU2QzAgMTQwIDc3LjEgNDIuMSAxODIuOSAxMC42YzE2LjktNSAzNC44IDQuNiAzOS44IDIxLjV6XCJdXG59O1xudmFyIGZhVGFibGV0U2NyZWVuQnV0dG9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhYmxldC1zY3JlZW4tYnV0dG9uJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJ0YWJsZXQtYWx0XCJdLCBcImYzZmFcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBIMzg0YzM1LjMgMCA2NCAyOC43IDY0IDY0VjQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWNjR6TTI1NiA0NDhhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzg0IDY0SDY0VjM4NEgzODRWNjR6XCJdXG59O1xudmFyIGZhVGFibGV0QWx0ID0gZmFUYWJsZXRTY3JlZW5CdXR0b247XG52YXIgZmFQYXcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGF3JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMWIwXCIsIFwiTTIyNi41IDkyLjljMTQuMyA0Mi45LS4zIDg2LjItMzIuNiA5Ni44cy03MC4xLTE1LjYtODQuNC01OC41cy4zLTg2LjIgMzIuNi05Ni44czcwLjEgMTUuNiA4NC40IDU4LjV6TTEwMC40IDE5OC42YzE4LjkgMzIuNCAxNC4zIDcwLjEtMTAuMiA4NC4xcy01OS43LS45LTc4LjUtMzMuM1MtMi43IDE3OS4zIDIxLjggMTY1LjNzNTkuNyAuOSA3OC41IDMzLjN6TTY5LjIgNDAxLjJDMTIxLjYgMjU5LjkgMjE0LjcgMjI0IDI1NiAyMjRzMTM0LjQgMzUuOSAxODYuOCAxNzcuMmMzLjYgOS43IDUuMiAyMC4xIDUuMiAzMC41djEuNmMwIDI1LjgtMjAuOSA0Ni43LTQ2LjcgNDYuN2MtMTEuNSAwLTIyLjktMS40LTM0LTQuMmwtODgtMjJjLTE1LjMtMy44LTMxLjMtMy44LTQ2LjYgMGwtODggMjJjLTExLjEgMi44LTIyLjUgNC4yLTM0IDQuMkM4NC45IDQ4MCA2NCA0NTkuMSA2NCA0MzMuM3YtMS42YzAtMTAuNCAxLjYtMjAuOCA1LjItMzAuNXpNNDIxLjggMjgyLjdjLTI0LjUtMTQtMjkuMS01MS43LTEwLjItODQuMXM1NC00Ny4zIDc4LjUtMzMuM3MyOS4xIDUxLjcgMTAuMiA4NC4xcy01NCA0Ny4zLTc4LjUgMzMuM3pNMzEwLjEgMTg5LjdjLTMyLjMtMTAuNi00Ni45LTUzLjktMzIuNi05Ni44czUyLjEtNjkuMSA4NC40LTU4LjVzNDYuOSA1My45IDMyLjYgOTYuOHMtNTIuMSA2OS4xLTg0LjQgNTguNXpcIl1cbn07XG52YXIgZmFDbG91ZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbG91ZCcsXG4gIGljb246IFs2NDAsIDUxMiwgWzk3MjldLCBcImYwYzJcIiwgXCJNMCAzMzZjMCA3OS41IDY0LjUgMTQ0IDE0NCAxNDRINTEyYzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4YzAtNjEuOS00NC0xMTMuNi0xMDIuNC0xMjUuNGM0LjEtMTAuNyA2LjQtMjIuNCA2LjQtMzQuNmMwLTUzLTQzLTk2LTk2LTk2Yy0xOS43IDAtMzguMSA2LTUzLjMgMTYuMkMzNjcgNjQuMiAzMTUuMyAzMiAyNTYgMzJDMTY3LjYgMzIgOTYgMTAzLjYgOTYgMTkyYzAgMi43IC4xIDUuNCAuMiA4LjFDNDAuMiAyMTkuOCAwIDI3My4yIDAgMzM2elwiXVxufTtcbnZhciBmYVRyb3dlbEJyaWNrcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cm93ZWwtYnJpY2tzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNThhXCIsIFwiTTI0MC44IDQuOEMyNTAuMyAxMC42IDI1NiAyMC45IDI1NiAzMnY3Mmg4OWMzLjYtMTMuOCAxNi4xLTI0IDMxLTI0aDg4YzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4SDM3NmMtMTQuOSAwLTI3LjQtMTAuMi0zMS0yNEgyNTZ2NzJjMCAxMS4xLTUuNyAyMS40LTE1LjIgMjcuMnMtMjEuMiA2LjQtMzEuMSAxLjRsLTE5Mi05NkM2LjggMTUxLjIgMCAxNDAuMSAwIDEyOHM2LjgtMjMuMiAxNy43LTI4LjZsMTkyLTk2YzkuOS01IDIxLjctNC40IDMxLjEgMS40ek0yODggMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMySDQ4MGMxNy43IDAgMzIgMTQuMyAzMiAzMnY2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkgzMjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjI1NnpNMzIgMzg0aDk2YzE3LjcgMCAzMiAxNC4zIDMyIDMydjY0YzAgMTcuNy0xNC4zIDMyLTMyIDMySDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMlY0MTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTE5MiAwSDQ4MGMxNy43IDAgMzIgMTQuMyAzMiAzMnY2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkgyMjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpcIl1cbn07XG52YXIgZmFGYWNlRmx1c2hlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWZsdXNoZWQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1NjMsIFwiZmx1c2hlZFwiXSwgXCJmNTc5XCIsIFwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnpNMTc2IDM4NGMwIDguOCA3LjIgMTYgMTYgMTZIMzIwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDE5MmMtOC44IDAtMTYgNy4yLTE2IDE2em0tMTYtODhhNzIgNzIgMCAxIDAgMC0xNDQgNzIgNzIgMCAxIDAgMCAxNDR6bTI2NC03MmE3MiA3MiAwIDEgMCAtMTQ0IDAgNzIgNzIgMCAxIDAgMTQ0IDB6bS0yODggMGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem0xOTIgMGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwelwiXVxufTtcbnZhciBmYUZsdXNoZWQgPSBmYUZhY2VGbHVzaGVkO1xudmFyIGZhSG9zcGl0YWxVc2VyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvc3BpdGFsLXVzZXInLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY4MGRcIiwgXCJNNDggMEMyMS41IDAgMCAyMS41IDAgNDhWMjU2SDE0NGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgwdjY0SDE0NGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgwdjgwYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDI2NS45Yy02LjMtMTAuMi05LjktMjIuMi05LjktMzUuMWMwLTQ2LjkgMjUuOC04Ny44IDY0LTEwOS4yVjI3MS44IDQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDQ4ek0xNTIgNjRoMTZjOC44IDAgMTYgNy4yIDE2IDE2djI0aDI0YzguOCAwIDE2IDcuMiAxNiAxNnYxNmMwIDguOC03LjIgMTYtMTYgMTZIMTg0djI0YzAgOC44LTcuMiAxNi0xNiAxNkgxNTJjLTguOCAwLTE2LTcuMi0xNi0xNlYxNTJIMTEyYy04LjggMC0xNi03LjItMTYtMTZWMTIwYzAtOC44IDcuMi0xNiAxNi0xNmgyNFY4MGMwLTguOCA3LjItMTYgMTYtMTZ6TTUxMiAyNzJhODAgODAgMCAxIDAgLTE2MCAwIDgwIDgwIDAgMSAwIDE2MCAwek0yODggNDc3LjFjMCAxOS4zIDE1LjYgMzQuOSAzNC45IDM0LjlINTQxLjFjMTkuMyAwIDM0LjktMTUuNiAzNC45LTM0LjljMC01MS40LTQxLjctOTMuMS05My4xLTkzLjFIMzgxLjFjLTUxLjQgMC05My4xIDQxLjctOTMuMSA5My4xelwiXVxufTtcbnZhciBmYVRlbnRBcnJvd0xlZnRSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW50LWFycm93LWxlZnQtcmlnaHQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1N2ZcIiwgXCJNNDg4LjEgNi4yYy05LjktOC45LTI1LTguMS0zMy45IDEuOHMtOC4xIDI1IDEuOCAzMy45TDQ4OS41IDcyIDg2LjUgNzJsMzMuNS0zMC4yYzkuOS04LjkgMTAuNy0yNCAxLjgtMzMuOVM5Ny44LTIuNyA4Ny45IDYuMmwtODAgNzJDMi45IDgyLjcgMCA4OS4yIDAgOTZzMi45IDEzLjMgNy45IDE3LjhsODAgNzJjOS45IDguOSAyNSA4LjEgMzMuOS0xLjhzOC4xLTI1LTEuOC0zMy45TDg2LjUgMTIwbDQwMi45IDAtMzMuNSAzMC4yYy05LjkgOC45LTEwLjcgMjQtMS44IDMzLjlzMjQgMTAuNyAzMy45IDEuOGw4MC03MmM1LjEtNC42IDcuOS0xMSA3LjktMTcuOHMtMi45LTEzLjMtNy45LTE3LjhsLTgwLTcyek0zMDcuNCAxNjYuNWMtMTEuNS04LjctMjcuMy04LjctMzguOCAwbC0xNjggMTI4Yy02LjYgNS0xMSAxMi41LTEyLjMgMjAuN2wtMjQgMTYwYy0xLjQgOS4yIDEuMyAxOC42IDcuNCAyNS42Uzg2LjcgNTEyIDk2IDUxMkgyNDBoMTZjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzYxLjljMC01LjUgNC40LTkuOSA5LjktOS45YzMuNyAwIDcuMiAyLjEgOC44IDUuNWw2OC40IDEzNi44YzUuNCAxMC44IDE2LjUgMTcuNyAyOC42IDE3LjdINDY0aDE2YzkuMyAwIDE4LjItNC4xIDI0LjItMTEuMXM4LjgtMTYuNCA3LjQtMjUuNmwtMjQtMTYwYy0xLjItOC4yLTUuNi0xNS43LTEyLjMtMjAuN2wtMTY4LTEyOHpcIl1cbn07XG52YXIgZmFHYXZlbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnYXZlbCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibGVnYWxcIl0sIFwiZjBlM1wiLCBcIk0zMTguNiA5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMjAgMTIwYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxNiAxNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGw0LTRMMzI1LjQgMjkzLjRsLTQgNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsMTYgMTZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTIwLTEyMGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTYtMTZjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC00IDRMMzMwLjYgNzQuNmw0LTRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTE2LTE2em0tMTUyIDI4OGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTExMiAxMTJjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDQ4IDQ4YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDExMi0xMTJjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTEuNC0xLjRMMjcyIDI4NS4zIDIyNi43IDI0MCAxNjggMjk4LjdsLTEuNC0xLjR6XCJdXG59O1xudmFyIGZhTGVnYWwgPSBmYUdhdmVsO1xudmFyIGZhQmlub2N1bGFycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiaW5vY3VsYXJzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMWU1XCIsIFwiTTEyOCAzMmgzMmMxNy43IDAgMzIgMTQuMyAzMiAzMlY5Nkg5NlY2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptNjQgOTZWNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMySDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMlYzODguOWMwLTM0LjYgOS40LTY4LjYgMjcuMi05OC4zQzQwLjkgMjY3LjggNDkuNyAyNDIuNCA1MyAyMTZMNjAuNSAxNTZjMi0xNiAxNS42LTI4IDMxLjgtMjhIMTkyem0yMjcuOCAwYzE2LjEgMCAyOS44IDEyIDMxLjggMjhMNDU5IDIxNmMzLjMgMjYuNCAxMi4xIDUxLjggMjUuOCA3NC42YzE3LjggMjkuNyAyNy4yIDYzLjcgMjcuMiA5OC4zVjQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMkgzNTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjEyOGg5OS44ek0zMjAgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJoMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJWOTZIMzIwVjY0em0tMzIgNjRWMjg4SDIyNFYxMjhoNjR6XCJdXG59O1xudmFyIGZhTWljcm9waG9uZVNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21pY3JvcGhvbmUtc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImYxMzFcIiwgXCJNMzguOCA1LjFDMjguNC0zLjEgMTMuMy0xLjIgNS4xIDkuMlMtMS4yIDM0LjcgOS4yIDQyLjlsNTkyIDQ2NGMxMC40IDguMiAyNS41IDYuMyAzMy43LTQuMXM2LjMtMjUuNS00LjEtMzMuN0w0NzIuMSAzNDQuN2MxNS4yLTI2IDIzLjktNTYuMyAyMy45LTg4LjdWMjE2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0djQwYzAgMjEuMi01LjEgNDEuMS0xNC4yIDU4LjdMNDE2IDMwMC44Vjk2YzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2djU0LjNMMzguOCA1LjF6bTM2Mi41IDQwN2wtNDMuMS0zMy45QzM0Ni4xIDM4MiAzMzMuMyAzODQgMzIwIDM4NGMtNzAuNyAwLTEyOC01Ny4zLTEyOC0xMjh2LTguN0wxNDQuNyAyMTBjLS41IDEuOS0uNyAzLjktLjcgNnY0MGMwIDg5LjEgNjYuMiAxNjIuNyAxNTIgMTc0LjRWNDY0SDI0OGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGg3MiA3MmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEgzNDRWNDMwLjRjMjAuNC0yLjggMzkuNy05LjEgNTcuMy0xOC4yelwiXVxufTtcbnZhciBmYUJveFRpc3N1ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3gtdGlzc3VlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMDViXCIsIFwiTTkyLjUgMEgyMDhjNDAgMCA1MiAyNCA2NCA0OHMyNCA0OCA2NCA0OGg4NS4yQzQzNiA5NiA0NDggMTA4IDQ0OCAxMjIuOGMwIDMuNC0uNyA2LjgtMS45IDEwTDQwOS42IDIyNCAzODQgMjg4SDEyOGwtMTYtNjRMNjQuOSAzNS40Yy0uNi0yLjMtLjktNC42LS45LTYuOUM2NCAxMi44IDc2LjggMCA5Mi41IDB6TTc5IDIyNGwxNiA2NEg4MGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmg0OEgzODRoNDhjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZINDE4LjVsMjUuNi02NEg0NjRjMjYuNSAwIDQ4IDIxLjUgNDggNDhWMzg0SDBWMjcyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4SDc5ek0wIDQxNkg1MTJ2NDhjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjQxNnpcIl1cbn07XG52YXIgZmFNb3RvcmN5Y2xlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vdG9yY3ljbGUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjc5NDldLCBcImYyMWNcIiwgXCJNMjgwIDMyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0aDU3LjdsMTYuNCAzMC4zTDI1NiAxOTJsLTQ1LjMtNDUuM2MtMTItMTItMjguMy0xOC43LTQ1LjMtMTguN0g2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2MzJoOTZjODguNCAwIDE2MCA3MS42IDE2MCAxNjBjMCAxMS0xLjEgMjEuNy0zLjIgMzJoNzAuNGMtMi4xLTEwLjMtMy4yLTIxLTMuMi0zMmMwLTUyLjIgMjUtOTguNiA2My43LTEyNy44bDE1LjQgMjguNkM0MDIuNCAyNzYuMyAzODQgMzEyIDM4NCAzNTJjMCA3MC43IDU3LjMgMTI4IDEyOCAxMjhzMTI4LTU3LjMgMTI4LTEyOHMtNTcuMy0xMjgtMTI4LTEyOGMtMTMuNSAwLTI2LjUgMi4xLTM4LjcgNkw0MTguMiAxMjhINDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMyVjY0YzAtMTcuNy0xNC4zLTMyLTMyLTMySDQ1OS42Yy03LjUgMC0xNC43IDIuNi0yMC41IDcuNEwzOTEuNyA3OC45bC0xNC0yNmMtNy0xMi45LTIwLjUtMjEtMzUuMi0yMUgyODB6TTQ2Mi43IDMxMS4ybDI4LjIgNTIuMmM2LjMgMTEuNyAyMC45IDE2IDMyLjUgOS43czE2LTIwLjkgOS43LTMyLjVsLTI4LjItNTIuMmMyLjMtLjMgNC43LS40IDcuMS0uNGMzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NHMtNjQtMjguNy02NC02NGMwLTE1LjUgNS41LTI5LjcgMTQuNy00MC44ek0xODcuMyAzNzZjLTkuNSAyMy41LTMyLjUgNDAtNTkuMyA0MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NGMyNi45IDAgNDkuOSAxNi41IDU5LjMgNDBoNjYuNEMyNDIuNSAyNjguOCAxOTAuNSAyMjQgMTI4IDIyNEM1Ny4zIDIyNCAwIDI4MS4zIDAgMzUyczU3LjMgMTI4IDEyOCAxMjhjNjIuNSAwIDExNC41LTQ0LjggMTI1LjgtMTA0SDE4Ny4zek0xMjggMzg0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG52YXIgZmFCZWxsQ29uY2llcmdlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JlbGwtY29uY2llcmdlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NzE4LCBcImNvbmNpZXJnZS1iZWxsXCJdLCBcImY1NjJcIiwgXCJNMjE2IDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0aDE2djMzLjNDMTE5LjYgMTU3LjIgMzIgMjUyLjQgMzIgMzY4SDQ4MGMwLTExNS42LTg3LjYtMjEwLjgtMjAwLTIyMi43VjExMmgxNmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEgyNTYgMjE2ek0yNCA0MDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRINDg4YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDI0elwiXVxufTtcbnZhciBmYUNvbmNpZXJnZUJlbGwgPSBmYUJlbGxDb25jaWVyZ2U7XG52YXIgZmFQZW5SdWxlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZW4tcnVsZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInBlbmNpbC1ydWxlclwiXSwgXCJmNWFlXCIsIFwiTTQ2OS4zIDE5LjNsMjMuNCAyMy40YzI1IDI1IDI1IDY1LjUgMCA5MC41bC01Ni40IDU2LjRMMzIyLjMgNzUuN2w1Ni40LTU2LjRjMjUtMjUgNjUuNS0yNSA5MC41IDB6TTQ0LjkgMzUzLjJMMjk5LjcgOTguMyA0MTMuNyAyMTIuMyAxNTguOCA0NjcuMWMtNi43IDYuNy0xNS4xIDExLjYtMjQuMiAxNC4ybC0xMDQgMjkuN2MtOC40IDIuNC0xNy40IC4xLTIzLjYtNi4xcy04LjUtMTUuMi02LjEtMjMuNmwyOS43LTEwNGMyLjYtOS4yIDcuNS0xNy41IDE0LjItMjQuMnpNMjQ5LjQgMTAzLjRMMTAzLjQgMjQ5LjQgMTYgMTYxLjljLTE4LjctMTguNy0xOC43LTQ5LjEgMC02Ny45TDk0LjEgMTZjMTguNy0xOC43IDQ5LjEtMTguNyA2Ny45IDBsMTkuOCAxOS44Yy0uMyAuMy0uNyAuNi0xIC45bC02NCA2NGMtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwbDY0LTY0Yy4zLS4zIC42LS43IC45LTFsNDUuMSA0NS4xek00MDguNiAyNjIuNmw0NS4xIDQ1LjFjLS4zIC4zLS43IC42LTEgLjlsLTY0IDY0Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsNjQtNjRjLjMtLjMgLjYtLjcgLjktMUw0OTYgMzUwLjFjMTguNyAxOC43IDE4LjcgNDkuMSAwIDY3LjlMNDE3LjkgNDk2Yy0xOC43IDE4LjctNDkuMSAxOC43LTY3LjkgMGwtODcuNC04Ny40TDQwOC42IDI2Mi42elwiXVxufTtcbnZhciBmYVBlbmNpbFJ1bGVyID0gZmFQZW5SdWxlcjtcbnZhciBmYVBlb3BsZUFycm93cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZW9wbGUtYXJyb3dzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJwZW9wbGUtYXJyb3dzLWxlZnQtcmlnaHRcIl0sIFwiZTA2OFwiLCBcIk02NCA2NGE2NCA2NCAwIDEgMSAxMjggMEE2NCA2NCAwIDEgMSA2NCA2NHpNMjUuOSAyMzMuNEMyOS4zIDE5MS45IDY0IDE2MCAxMDUuNiAxNjBoNDQuOGMyNyAwIDUxIDEzLjQgNjUuNSAzNC4xYy0yLjcgMS45LTUuMiA0LTcuNSA2LjNsLTY0IDY0Yy0yMS45IDIxLjktMjEuOSA1Ny4zIDAgNzkuMkwxOTIgMzkxLjJWNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDExMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMzQ4LjNjLTI2LjUtOS41LTQ0LjctMzUuOC00Mi4yLTY1LjZsNC4xLTQ5LjN6TTQ0OCA2NGE2NCA2NCAwIDEgMSAxMjggMEE2NCA2NCAwIDEgMSA0NDggNjR6TTQzMS42IDIwMC40Yy0yLjMtMi4zLTQuOS00LjQtNy41LTYuM2MxNC41LTIwLjcgMzguNi0zNC4xIDY1LjUtMzQuMWg0NC44YzQxLjYgMCA3Ni4zIDMxLjkgNzkuNyA3My40bDQuMSA0OS4zYzIuNSAyOS44LTE1LjcgNTYuMS00Mi4yIDY1LjZWNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ5NmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMzkxLjJsNDcuNi00Ny42YzIxLjktMjEuOSAyMS45LTU3LjMgMC03OS4ybC02NC02NHpNMjcyIDI0MHYzMmg5NlYyNDBjMC05LjcgNS44LTE4LjUgMTQuOC0yMi4yczE5LjMtMS43IDI2LjIgNS4ybDY0IDY0YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC02NCA2NGMtNi45IDYuOS0xNy4yIDguOS0yNi4yIDUuMnMtMTQuOC0xMi41LTE0LjgtMjIuMlYzMzZIMjcydjMyYzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTY0LTY0Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw2NC02NGM2LjktNi45IDE3LjItOC45IDI2LjItNS4yczE0LjggMTIuNSAxNC44IDIyLjJ6XCJdXG59O1xudmFyIGZhUGVvcGxlQXJyb3dzTGVmdFJpZ2h0ID0gZmFQZW9wbGVBcnJvd3M7XG52YXIgZmFNYXJzQW5kVmVudXNCdXJzdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXJzLWFuZC12ZW51cy1idXJzdCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUyM1wiLCBcIk01MDQgMGMtOS43IDAtMTguNSA1LjgtMjIuMiAxNC44cy0xLjcgMTkuMyA1LjIgMjYuMmwzOSAzOS0yMi4yIDIyLjJDNDc1LjkgNzguNCA0MzkuNiA2NCA0MDAgNjRjLTg4LjQgMC0xNjAgNzEuNi0xNjAgMTYwYzAgODAuMiA1OSAxNDYuNiAxMzYgMTU4LjJWNDA4SDM1MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGgyNHYzMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjQ1NmgyNGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEg0MjRWMzgyLjJjNzctMTEuNiAxMzYtNzggMTM2LTE1OC4yYzAtMzEuNC05LTYwLjctMjQuNy04NS40TDU2MCAxMTMuOWwzOSAzOWM2LjkgNi45IDE3LjIgOC45IDI2LjIgNS4yczE0LjgtMTIuNSAxNC44LTIyLjJWMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRINTA0ek00MDAgMTI4YTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyek0xOTAuOSAxOC4xQzE4OC40IDEyIDE4Mi42IDggMTc2IDhzLTEyLjQgNC0xNC45IDEwLjFsLTI5LjQgNzRMNTUuNiA2OC45Yy02LjMtMS45LTEzLjEgLjItMTcuMiA1LjNzLTQuNiAxMi4yLTEuNCAxNy45bDM5LjUgNjkuMUwxMC45IDIwNi40Yy01LjQgMy43LTggMTAuMy02LjUgMTYuN3M2LjcgMTEuMiAxMy4xIDEyLjJsNzguNyAxMi4yTDkwLjYgMzI3Yy0uNSA2LjUgMy4xIDEyLjcgOSAxNS41czEyLjkgMS44IDE3LjgtMi42TDE3NiAyODYuMWw1OC42IDUzLjljNC4xIDMuOCA5LjkgNS4xIDE1LjIgMy42QzIyMy42IDMxMC44IDIwOCAyNjkuMiAyMDggMjI0YzAtNjAuOCAyOC4zLTExNSA3Mi40LTE1MC4yTDIyMC4zIDkyLjFsLTI5LjQtNzR6XCJdXG59O1xudmFyIGZhU3F1YXJlQ2FyZXRSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUtY2FyZXQtcmlnaHQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImNhcmV0LXNxdWFyZS1yaWdodFwiXSwgXCJmMTUyXCIsIFwiTTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwek0zMjAgMjU2YzAgNi43LTIuOCAxMy03LjcgMTcuNmwtMTEyIDEwNGMtNyA2LjUtMTcuMiA4LjItMjUuOSA0LjRzLTE0LjQtMTIuNS0xNC40LTIybDAtMjA4YzAtOS41IDUuNy0xOC4yIDE0LjQtMjJzMTguOS0yLjEgMjUuOSA0LjRsMTEyIDEwNGM0LjkgNC41IDcuNyAxMC45IDcuNyAxNy42elwiXVxufTtcbnZhciBmYUNhcmV0U3F1YXJlUmlnaHQgPSBmYVNxdWFyZUNhcmV0UmlnaHQ7XG52YXIgZmFTY2lzc29ycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzY2lzc29ycycsXG4gIGljb246IFs1MTIsIDUxMiwgWzk5ODQsIDk5ODYsIDk5ODgsIFwiY3V0XCJdLCBcImYwYzRcIiwgXCJNMjU2IDE5MmwtMzkuNS0zOS41YzQuOS0xMi42IDcuNS0yNi4yIDcuNS00MC41QzIyNCA1MC4xIDE3My45IDAgMTEyIDBTMCA1MC4xIDAgMTEyczUwLjEgMTEyIDExMiAxMTJjMTQuMyAwIDI3LjktMi43IDQwLjUtNy41TDE5MiAyNTZsLTM5LjUgMzkuNWMtMTIuNi00LjktMjYuMi03LjUtNDAuNS03LjVDNTAuMSAyODggMCAzMzguMSAwIDQwMHM1MC4xIDExMiAxMTIgMTEyczExMi01MC4xIDExMi0xMTJjMC0xNC4zLTIuNy0yNy45LTcuNS00MC41TDQ5OS4yIDc2LjhjNy4xLTcuMSA3LjEtMTguNSAwLTI1LjZjLTI4LjMtMjguMy03NC4xLTI4LjMtMTAyLjQgMEwyNTYgMTkyem0yMi42IDE1MC42TDM5Ni44IDQ2MC44YzI4LjMgMjguMyA3NC4xIDI4LjMgMTAyLjQgMGM3LjEtNy4xIDcuMS0xOC41IDAtMjUuNkwzNDIuNiAyNzguNmwtNjQgNjR6TTY0IDExMmE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem00OCAyNDBhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2elwiXVxufTtcbnZhciBmYUN1dCA9IGZhU2Npc3NvcnM7XG52YXIgZmFTdW5QbGFudFdpbHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3VuLXBsYW50LXdpbHQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1N2FcIiwgXCJNMTYwIDBjLTYuMyAwLTEyIDMuNy0xNC42IDkuNUwxMjAuNiA2NC45IDYzLjkgNDMuMmMtNS45LTIuMy0xMi42LS44LTE3IDMuNnMtNS45IDExLjEtMy42IDE3bDIxLjcgNTYuN0w5LjUgMTQ1LjRDMy43IDE0OCAwIDE1My43IDAgMTYwczMuNyAxMiA5LjUgMTQuNmw1NS40IDI0LjhMNDMuMiAyNTYuMWMtMi4zIDUuOS0uOCAxMi42IDMuNiAxN3MxMS4xIDUuOSAxNyAzLjZsNTYuNy0yMS43IDI0LjggNTUuNGMyLjYgNS44IDguMyA5LjUgMTQuNiA5LjVzMTItMy43IDE0LjYtOS41bDI0LjgtNTUuNCA1Ni43IDIxLjdjNS45IDIuMyAxMi42IC44IDE3LTMuNnM1LjktMTEuMSAzLjYtMTdsLTIxLjctNTYuNyA1NS40LTI0LjhjNS44LTIuNiA5LjUtOC4zIDkuNS0xNC42cy0zLjctMTItOS41LTE0LjZsLTU1LjQtMjQuOCAyMS43LTU2LjdjMi4zLTUuOSAuOC0xMi42LTMuNi0xN3MtMTEuMS01LjktMTctMy42TDE5OS40IDY0LjkgMTc0LjYgOS41QzE3MiAzLjcgMTY2LjMgMCAxNjAgMHptMCA5NmE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHptMzIgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMzEyIDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ2NTMuNGMtMTQuOCA3LjctMjQgMjMuMS0yNCA0NC42YzAgMTYuOCAxNiA0NCAzNy40IDY3LjJjNS44IDYuMiAxNS41IDYuMiAyMS4yIDBDNjI0IDMxOCA2NDAgMjkwLjcgNjQwIDI3NGMwLTIxLjUtOS4yLTM3LTI0LTQ0LjZWMTc2YzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwdjIyLjdjLTkuOC00LjMtMjAuNi02LjctMzItNi43Yy00NC4yIDAtODAgMzUuOC04MCA4MHYyMS40Yy0xNC44IDcuNy0yNCAyMy4xLTI0IDQ0LjZjMCAxNi44IDE2IDQ0IDM3LjQgNjcuMmM1LjggNi4yIDE1LjUgNi4yIDIxLjIgMEM0MDAgMzgyIDQxNiAzNTQuNyA0MTYgMzM4YzAtMjEuNS05LjItMzctMjQtNDQuNlYyNzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnY4VjQ0OEgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg2MDhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINTA0VjI4MHYtOFYxNzZ6XCJdXG59O1xudmFyIGZhVG9pbGV0c1BvcnRhYmxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RvaWxldHMtcG9ydGFibGUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1ODRcIiwgXCJNMzIgMEgyMjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNjRIMFYzMkMwIDE0LjMgMTQuMyAwIDMyIDB6TTAgOTZIMjQgMjMyaDI0djI0VjQ4OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNHYtOEg0OHY4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0VjEyMCA5NnpNMTkyIDIyNGMtOC44IDAtMTYgNy4yLTE2IDE2djY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMjQwYzAtOC44LTcuMi0xNi0xNi0xNnpNMzUyIDBINTQ0YzE3LjcgMCAzMiAxNC4zIDMyIDMyVjY0SDMyMFYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzIwIDk2aDI0SDU1MmgyNHYyNFY0ODhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjR2LThIMzY4djhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWMTIwIDk2ek01MTIgMjI0Yy04LjggMC0xNiA3LjItMTYgMTZ2NjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlYyNDBjMC04LjgtNy4yLTE2LTE2LTE2elwiXVxufTtcbnZhciBmYUhvY2tleVB1Y2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG9ja2V5LXB1Y2snLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY0NTNcIiwgXCJNMjU2IDI1NkMxMTQuNiAyNTYgMCAyMTMgMCAxNjBzMTE0LjYtOTYgMjU2LTk2czI1NiA0MyAyNTYgOTZzLTExNC42IDk2LTI1NiA5NnptMTkyLjMgMS44YzI0LjctOS4zIDQ2LjktMjEgNjMuNy0zNS42VjM1MmMwIDUzLTExNC42IDk2LTI1NiA5NlMwIDQwNSAwIDM1MlYyMjIuM2MxNi44IDE0LjYgMzkgMjYuMyA2My43IDM1LjZDMTE0LjUgMjc2LjkgMTgyLjUgMjg4IDI1NiAyODhzMTQxLjUtMTEuMSAxOTIuMy0zMC4yelwiXVxufTtcbnZhciBmYVRhYmxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhYmxlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMGNlXCIsIFwiTTY0IDI1NlYxNjBIMjI0djk2SDY0em0wIDY0SDIyNHY5Nkg2NFYzMjB6bTIyNCA5NlYzMjBINDQ4djk2SDI4OHpNNDQ4IDI1NkgyODhWMTYwSDQ0OHY5NnpNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRINDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0elwiXVxufTtcbnZhciBmYU1hZ25pZnlpbmdHbGFzc0Fycm93UmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFnbmlmeWluZy1nbGFzcy1hcnJvdy1yaWdodCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTUyMVwiLCBcIk00MTYgMjA4YzAgNDUuOS0xNC45IDg4LjMtNDAgMTIyLjdMNTAyLjYgNDU3LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMzMwLjcgMzc2Yy0zNC40IDI1LjItNzYuOCA0MC0xMjIuNyA0MEM5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMFM0MTYgOTMuMSA0MTYgMjA4ek0yNDEgMTE5Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDMxIDMxSDEyMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNEgyMzguMWwtMzEgMzFjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw3Mi03MmM5LjQtOS40IDkuNC0yNC42IDAtMzMuOWwtNzItNzJ6XCJdXG59O1xudmFyIGZhVGFjaG9ncmFwaERpZ2l0YWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGFjaG9ncmFwaC1kaWdpdGFsJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJkaWdpdGFsLXRhY2hvZ3JhcGhcIl0sIFwiZjU2NlwiLCBcIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOFYzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRINTc2YzM1LjMgMCA2NC0yOC43IDY0LTY0VjEyOGMwLTM1LjMtMjguNy02NC02NC02NEg2NHptMzIgNjRIMzIwYzE3LjcgMCAzMiAxNC4zIDMyIDMydjY0YzAgMTcuNy0xNC4zIDMyLTMyIDMySDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTY0IDM2OGMwLTguOCA3LjItMTYgMTYtMTZIMzM2YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZ6bTMyMCAwYzAtOC44IDcuMi0xNiAxNi0xNkg1NjBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZINDAwYy04LjggMC0xNi03LjItMTYtMTZ6TTgwIDI4OGExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6bTQ4IDE2YTE2IDE2IDAgMSAxIDMyIDAgMTYgMTYgMCAxIDEgLTMyIDB6bTgwLTE2YTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnptNDggMTZhMTYgMTYgMCAxIDEgMzIgMCAxNiAxNiAwIDEgMSAtMzIgMHptODAtMTZhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyelwiXVxufTtcbnZhciBmYURpZ2l0YWxUYWNob2dyYXBoID0gZmFUYWNob2dyYXBoRGlnaXRhbDtcbnZhciBmYVVzZXJzU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlcnMtc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImUwNzNcIiwgXCJNMzguOCA1LjFDMjguNC0zLjEgMTMuMy0xLjIgNS4xIDkuMlMtMS4yIDM0LjcgOS4yIDQyLjlsNTkyIDQ2NGMxMC40IDguMiAyNS41IDYuMyAzMy43LTQuMXM2LjMtMjUuNS00LjEtMzMuN0w0NDAuNiAzMjBINjE4LjdjMTEuOCAwIDIxLjMtOS42IDIxLjMtMjEuM0M2NDAgMjM5LjggNTkyLjIgMTkyIDUzMy4zIDE5Mkg0OTAuN2MtMTUuOSAwLTMxIDMuNS00NC42IDkuN2MxLjMgNy4yIDEuOSAxNC43IDEuOSAyMi4zYzAgMzAuMi0xMC41IDU4LTI4IDc5LjlsLTI1LjItMTkuN0M0MDguMSAyNjcuNyA0MTYgMjQ2LjggNDE2IDIyNGMwLTUzLTQzLTk2LTk2LTk2Yy0zMS4xIDAtNTguNyAxNC44LTc2LjMgMzcuN2wtNDAuNi0zMS44YzEzLTE0LjIgMjAuOS0zMy4xIDIwLjktNTMuOWMwLTQ0LjItMzUuOC04MC04MC04MEMxMTYuMyAwIDkxLjkgMTQuMSA3Ny41IDM1LjVMMzguOCA1LjF6TTEwNi43IDE5MkM0Ny44IDE5MiAwIDIzOS44IDAgMjk4LjdDMCAzMTAuNCA5LjYgMzIwIDIxLjMgMzIwSDIzNC43Yy4yIDAgLjQgMCAuNyAwYy0yMC42LTE4LjItMzUuMi00Mi44LTQwLjgtNzAuOEwxMjEuOCAxOTJIMTA2Ljd6TTI2MS4zIDM1MkMxODcuNyAzNTIgMTI4IDQxMS43IDEyOCA0ODUuM2MwIDE0LjcgMTEuOSAyNi43IDI2LjcgMjYuN0g0ODUuM2MxMC41IDAgMTkuNS02IDIzLjktMTQuOEwzMjQuOSAzNTJIMjYxLjN6TTUxMiAxNjBBODAgODAgMCAxIDAgNTEyIDBhODAgODAgMCAxIDAgMCAxNjB6XCJdXG59O1xudmFyIGZhQ2xvdmVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nsb3ZlcicsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTEzOVwiLCBcIk0yMTYuNiA0OS45QzIwNS4xIDM4LjUgMTg5LjUgMzIgMTczLjMgMzJDMTM5LjQgMzIgMTEyIDU5LjQgMTEyIDkzLjN2NC45YzAgMTIgMy4zIDIzLjcgOS40IDM0bDE4LjggMzEuM2MxLjEgMS44IDEuMiAzLjEgMSA0LjJjLS4yIDEuMi0uOCAyLjUtMiAzLjZzLTIuNCAxLjgtMy42IDJjLTEgLjItMi40IC4xLTQuMi0xbC0zMS4zLTE4LjhjLTEwLjMtNi4yLTIyLTkuNC0zNC05LjRINjEuM0MyNy40IDE0NCAwIDE3MS40IDAgMjA1LjNjMCAxNi4yIDYuNSAzMS44IDE3LjkgNDMuM2wxLjIgMS4yYzMuNCAzLjQgMy40IDkgMCAxMi40bC0xLjIgMS4yQzYuNSAyNzQuOSAwIDI5MC41IDAgMzA2LjdDMCAzNDAuNiAyNy40IDM2OCA2MS4zIDM2OGg0LjljMTIgMCAyMy43LTMuMyAzNC05LjRsMzEuMy0xOC44YzEuOC0xLjEgMy4xLTEuMiA0LjItMWMxLjIgLjIgMi41IC44IDMuNiAyczEuOCAyLjQgMiAzLjZjLjIgMSAuMSAyLjQtMSA0LjJsLTE4LjggMzEuM2MtNi4yIDEwLjMtOS40IDIyLTkuNCAzNHY0LjljMCAzMy44IDI3LjQgNjEuMyA2MS4zIDYxLjNjMTYuMiAwIDMxLjgtNi41IDQzLjMtMTcuOWwxLjItMS4yYzMuNC0zLjQgOS0zLjQgMTIuNCAwbDEuMiAxLjJjMTEuNSAxMS41IDI3LjEgMTcuOSA0My4zIDE3LjljMzMuOCAwIDYxLjMtMjcuNCA2MS4zLTYxLjN2LTQuOWMwLTEyLTMuMy0yMy43LTkuNC0zNGwtMTguOC0zMS4zYy0xLjEtMS44LTEuMi0zLjEtMS00LjJjLjItMS4yIC44LTIuNSAyLTMuNnMyLjQtMS44IDMuNi0yYzEtLjIgMi40LS4xIDQuMiAxbDMxLjMgMTguOGMxMC4zIDYuMiAyMiA5LjQgMzQgOS40aDQuOWMzMy44IDAgNjEuMy0yNy40IDYxLjMtNjEuM2MwLTE2LjItNi41LTMxLjgtMTcuOS00My4zbC0xLjItMS4yYy0zLjQtMy40LTMuNC05IDAtMTIuNGwxLjItMS4yYzExLjUtMTEuNSAxNy45LTI3LjEgMTcuOS00My4zYzAtMzMuOC0yNy40LTYxLjMtNjEuMy02MS4zaC00LjljLTEyIDAtMjMuNyAzLjMtMzQgOS40bC0zMS4zIDE4LjhjLTEuOCAxLjEtMy4xIDEuMi00LjIgMWMtMS4yLS4yLTIuNS0uOC0zLjYtMnMtMS44LTIuNC0yLTMuNmMtLjItMS0uMS0yLjQgMS00LjJsMTguOC0zMS4zYzYuMi0xMC4zIDkuNC0yMiA5LjQtMzRWOTMuM0MzMzYgNTkuNCAzMDguNiAzMiAyNzQuNyAzMmMtMTYuMiAwLTMxLjggNi41LTQzLjMgMTcuOWwtMS4yIDEuMmMtMy40IDMuNC05IDMuNC0xMi40IDBsLTEuMi0xLjJ6XCJdXG59O1xudmFyIGZhUmVwbHkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmVwbHknLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MTcxNCwgXCJtYWlsLXJlcGx5XCJdLCBcImYzZTVcIiwgXCJNMjA1IDM0LjhjMTEuNSA1LjEgMTkgMTYuNiAxOSAyOS4ydjY0SDMzNmM5Ny4yIDAgMTc2IDc4LjggMTc2IDE3NmMwIDExMy4zLTgxLjUgMTYzLjktMTAwLjIgMTc0LjFjLTIuNSAxLjQtNS4zIDEuOS04LjEgMS45Yy0xMC45IDAtMTkuNy04LjktMTkuNy0xOS43YzAtNy41IDQuMy0xNC40IDkuOC0xOS41YzkuNC04LjggMjIuMi0yNi40IDIyLjItNTYuN2MwLTUzLTQzLTk2LTk2LTk2SDIyNHY2NGMwIDEyLjYtNy40IDI0LjEtMTkgMjkuMnMtMjUgMy0zNC40LTUuNGwtMTYwLTE0NEMzLjkgMjI1LjcgMCAyMTcuMSAwIDIwOHMzLjktMTcuNyAxMC42LTIzLjhsMTYwLTE0NGM5LjQtOC41IDIyLjktMTAuNiAzNC40LTUuNHpcIl1cbn07XG52YXIgZmFNYWlsUmVwbHkgPSBmYVJlcGx5O1xudmFyIGZhU3RhckFuZENyZXNjZW50ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0YXItYW5kLWNyZXNjZW50JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTc3MF0sIFwiZjY5OVwiLCBcIk0wIDI1NkMwIDExNC42IDExNC42IDAgMjU2IDBjMzMgMCA2NC42IDYuMyA5My42IDE3LjdjNy40IDIuOSAxMS41IDEwLjcgOS44IDE4LjRzLTguOCAxMy0xNi43IDEyLjRjLTQuOC0uMy05LjctLjUtMTQuNi0uNWMtMTE0LjkgMC0yMDggOTMuMS0yMDggMjA4czkzLjEgMjA4IDIwOCAyMDhjNC45IDAgOS44LS4yIDE0LjYtLjVjNy45LS41IDE1IDQuNyAxNi43IDEyLjRzLTIuNCAxNS41LTkuOCAxOC40QzMyMC42IDUwNS43IDI4OSA1MTIgMjU2IDUxMkMxMTQuNiA1MTIgMCAzOTcuNCAwIDI1NnpNMzc1LjQgMTM3LjRjMy41LTcuMSAxMy43LTcuMSAxNy4yIDBsMzEuNSA2My44YzEuNCAyLjggNC4xIDQuOCA3LjIgNS4zbDcwLjQgMTAuMmM3LjkgMS4xIDExIDEwLjggNS4zIDE2LjRsLTUwLjkgNDkuNmMtMi4zIDIuMi0zLjMgNS40LTIuOCA4LjVsMTIgNzAuMWMxLjMgNy44LTYuOSAxMy44LTEzLjkgMTAuMWwtNjMtMzMuMWMtMi44LTEuNS02LjEtMS41LTguOSAwbC02MyAzMy4xYy03IDMuNy0xNS4zLTIuMy0xMy45LTEwLjFsMTItNzAuMWMuNS0zLjEtLjUtNi4zLTIuOC04LjVMMjYxIDIzMy4xYy01LjctNS42LTIuNi0xNS4yIDUuMy0xNi40bDcwLjQtMTAuMmMzLjEtLjUgNS44LTIuNCA3LjItNS4zbDMxLjUtNjMuOHpcIl1cbn07XG52YXIgZmFIb3VzZUZpcmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtZmlyZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUwY1wiLCBcIk0yODggMzUwLjFsMCAxLjlIMjU2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnY2NCAyNGMwIDIyLjEtMTcuOSA0MC00MCA0MEgxNjAgMTI4LjFjLTEuNSAwLTMtLjEtNC41LS4yYy0xLjIgLjEtMi40IC4yLTMuNiAuMkgxMDRjLTIyLjEgMC00MC0xNy45LTQwLTQwVjM2MGMwLS45IDAtMS45IC4xLTIuOFYyODcuNkgzMmMtMTggMC0zMi0xNC0zMi0zMi4xYzAtOSAzLTE3IDEwLTI0TDI2Ni40IDhjNy03IDE1LTggMjItOHMxNSAyIDIxIDdMNDQ3LjMgMTI4LjFjLTEyLjMtMS0yNSAzLTM0LjggMTEuN2MtMzUuNCAzMS42LTY1LjYgNjcuNy04Ny4zIDEwMi44QzMwNC4zIDI3Ni41IDI4OCAzMTQuOSAyODggMzUwLjF6TTQ4MCA1MTJjLTg4LjQgMC0xNjAtNzEuNi0xNjAtMTYwYzAtNzYuNyA2Mi41LTE0NC43IDEwNy4yLTE3OS40YzUtMy45IDEwLjktNS44IDE2LjgtNS44YzcuOS0uMSAxNiAzLjEgMjIgOS4ybDQ2IDQ2IDExLjMtMTEuM2MxMS43LTExLjcgMzAuNi0xMi43IDQyLjMtMUM2MjQuNSAyNjggNjQwIDMyMC4yIDY0MCAzNTJjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjB6bTY0LTExMS44YzAtMzYuNS0zNy03My01NC44LTg4LjRjLTUuNC00LjctMTMuMS00LjctMTguNSAwQzQ1MyAzMjcuMSA0MTYgMzYzLjYgNDE2IDQwMC4yYzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR6XCJdXG59O1xudmFyIGZhU3F1YXJlTWludXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLW1pbnVzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbNjE3NjcsIFwibWludXMtc3F1YXJlXCJdLCBcImYxNDZcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzg0YzM1LjMgMCA2NC0yOC43IDY0LTY0Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0em04OCAyMDBIMjk2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDE1MmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpcIl1cbn07XG52YXIgZmFNaW51c1NxdWFyZSA9IGZhU3F1YXJlTWludXM7XG52YXIgZmFIZWxpY29wdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlbGljb3B0ZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjg2NDFdLCBcImY1MzNcIiwgXCJNMTI4IDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMySDU0NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzODR2NjRoMzJjODguNCAwIDE2MCA3MS42IDE2MCAxNjB2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJIMzg0IDMyMGMtMjAuMSAwLTM5LjEtOS41LTUxLjItMjUuNmwtNzEuNC05NS4yYy0zLjUtNC43LTguMy04LjMtMTMuNy0xMC41TDQ3LjIgMTk4LjFjLTkuNS0zLjgtMTYuNy0xMi0xOS4yLTIyTDUgODMuOUMyLjQgNzMuOCAxMC4xIDY0IDIwLjUgNjRINDhjMTAuMSAwIDE5LjYgNC43IDI1LjYgMTIuOEwxMTIgMTI4SDMyMFY2NEgxNjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek0zODQgMzIwSDUxMlYyODhjMC01My00My05Ni05Ni05NkgzODRWMzIwek02MzAuNiA0MjUuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtMy45IDMuOWMtMjQgMjQtNTYuNiAzNy41LTkwLjUgMzcuNUgyNTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJINTM2LjJjMTcgMCAzMy4zLTYuNyA0NS4zLTE4LjdsMy45LTMuOWMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHpcIl1cbn07XG52YXIgZmFDb21wYXNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvbXBhc3MnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjk1MTddLCBcImYxNGVcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6bTUwLjctMTg2LjlMMTYyLjQgMzgwLjZjLTE5LjQgNy41LTM4LjUtMTEuNi0zMS0zMWw1NS41LTE0NC4zYzMuMy04LjUgOS45LTE1LjEgMTguNC0xOC40bDE0NC4zLTU1LjVjMTkuNC03LjUgMzguNSAxMS42IDMxIDMxTDMyNS4xIDMwNi43Yy0zLjIgOC41LTkuOSAxNS4xLTE4LjQgMTguNHpNMjg4IDI1NmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwelwiXVxufTtcbnZhciBmYVNxdWFyZUNhcmV0RG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUtY2FyZXQtZG93bicsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiY2FyZXQtc3F1YXJlLWRvd25cIl0sIFwiZjE1MFwiLCBcIk0zODQgNDgwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDB6TTIyNCAzNTJjLTYuNyAwLTEzLTIuOC0xNy42LTcuN2wtMTA0LTExMmMtNi41LTctOC4yLTE3LjItNC40LTI1LjlzMTIuNS0xNC40IDIyLTE0LjRsMjA4IDBjOS41IDAgMTguMiA1LjcgMjIgMTQuNHMyLjEgMTguOS00LjQgMjUuOWwtMTA0IDExMmMtNC41IDQuOS0xMC45IDcuNy0xNy42IDcuN3pcIl1cbn07XG52YXIgZmFDYXJldFNxdWFyZURvd24gPSBmYVNxdWFyZUNhcmV0RG93bjtcbnZhciBmYUZpbGVDaXJjbGVRdWVzdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLWNpcmNsZS1xdWVzdGlvbicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRlZlwiLCBcIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEgyMjRWMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMySDM4NHYzOC42QzMxMC4xIDIxOS41IDI1NiAyODcuNCAyNTYgMzY4YzAgNTkuMSAyOS4xIDExMS4zIDczLjcgMTQzLjNjLTMuMiAuNS02LjQgLjctOS43IC43SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY2NHptMzg0IDY0SDI1NlYwTDM4NCAxMjh6bTQ4IDk2YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMCAyNDBhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4ek0zNjggMzIxLjZWMzI4YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZ2LTYuNGMwLTUuMyA0LjMtOS42IDkuNi05LjZoNDAuNWM3LjcgMCAxMy45IDYuMiAxMy45IDEzLjljMCA1LjItMi45IDkuOS03LjQgMTIuM2wtMzIgMTYuOGMtNS4zIDIuOC04LjYgOC4yLTguNiAxNC4yVjM4NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2di01LjFsMjMuNS0xMi4zYzE1LjEtNy45IDI0LjUtMjMuNiAyNC41LTQwLjZjMC0yNS40LTIwLjYtNDUuOS00NS45LTQ1LjlINDA5LjZjLTIzIDAtNDEuNiAxOC42LTQxLjYgNDEuNnpcIl1cbn07XG52YXIgZmFMYXB0b3BDb2RlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xhcHRvcC1jb2RlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNWZjXCIsIFwiTTY0IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0SDUxMmMzNS4zIDAgNjQgMjguNyA2NCA2NFYzNTJINTEyVjk2SDEyOFYzNTJINjRWOTZ6TTAgNDAzLjJDMCAzOTIuNiA4LjYgMzg0IDE5LjIgMzg0SDYyMC44YzEwLjYgMCAxOS4yIDguNiAxOS4yIDE5LjJjMCA0Mi40LTM0LjQgNzYuOC03Ni44IDc2LjhINzYuOEMzNC40IDQ4MCAwIDQ0NS42IDAgNDAzLjJ6TTI4MSAyMDlsLTMxIDMxIDMxIDMxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQ4LTQ4Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw0OC00OGM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjl6TTM5MyAxNzVsNDggNDhjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTQ4IDQ4Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDMxLTMxLTMxLTMxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDB6XCJdXG59O1xudmFyIGZhU3dhdGNoYm9vayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzd2F0Y2hib29rJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNWMzXCIsIFwiTTAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwSDE2MGMxNy43IDAgMzIgMTQuMyAzMiAzMlY0MTZjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZWMzJ6TTIyMy42IDQyNS45Yy4zLTMuMyAuNC02LjYgLjQtOS45VjE1NGw3NS40LTc1LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsOTAuNSA5MC41YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zTDIyMy42IDQyNS45ek0xODIuOCA1MTJsMTkyLTE5Mkg0ODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMySDE4Mi44ek0xMjggNjRINjR2NjRoNjRWNjR6TTY0IDE5MnY2NGg2NFYxOTJINjR6TTk2IDQ0MGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6XCJdXG59O1xudmFyIGZhUHJlc2NyaXB0aW9uQm90dGxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ByZXNjcmlwdGlvbi1ib3R0bGUnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImY0ODVcIiwgXCJNMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBIMzUyYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjY0YzAgMTcuNy0xNC4zIDMyLTMyIDMySDMyQzE0LjMgOTYgMCA4MS43IDAgNjRWMzJ6bTMyIDk2SDM1MlY0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRIOTZjLTM1LjMgMC02NC0yOC43LTY0LTY0VjQxNkgxNDRjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIMzJWMzIwSDE0NGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgzMlYyMjRIMTQ0YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDMyVjEyOHpcIl1cbn07XG52YXIgZmFCYXJzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhcnMnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcIm5hdmljb25cIl0sIFwiZjBjOVwiLCBcIk0wIDk2QzAgNzguMyAxNC4zIDY0IDMyIDY0SDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMkMxNC4zIDEyOCAwIDExMy43IDAgOTZ6TTAgMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMySDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTQ0OCA0MTZjMCAxNy43LTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJINDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMyelwiXVxufTtcbnZhciBmYU5hdmljb24gPSBmYUJhcnM7XG52YXIgZmFQZW9wbGVHcm91cCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZW9wbGUtZ3JvdXAnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MzNcIiwgXCJNNzIgODhhNTYgNTYgMCAxIDEgMTEyIDBBNTYgNTYgMCAxIDEgNzIgODh6TTY0IDI0NS43QzU0IDI1Ni45IDQ4IDI3MS44IDQ4IDI4OHM2IDMxLjEgMTYgNDIuM1YyNDUuN3ptMTQ0LjQtNDkuM0MxNzguNyAyMjIuNyAxNjAgMjYxLjIgMTYwIDMwNGMwIDM0LjMgMTIgNjUuOCAzMiA5MC41VjQxNmMwIDE3LjctMTQuMyAzMi0zMiAzMkg5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMzg5LjJDMjYuMiAzNzEuMiAwIDMzMi43IDAgMjg4YzAtNjEuOSA1MC4xLTExMiAxMTItMTEyaDMyYzI0IDAgNDYuMiA3LjUgNjQuNCAyMC4zek00NDggNDE2VjM5NC41YzIwLTI0LjcgMzItNTYuMiAzMi05MC41YzAtNDIuOC0xOC43LTgxLjMtNDguNC0xMDcuN0M0NDkuOCAxODMuNSA0NzIgMTc2IDQ5NiAxNzZoMzJjNjEuOSAwIDExMiA1MC4xIDExMiAxMTJjMCA0NC43LTI2LjIgODMuMi02NCAxMDEuMlY0MTZjMCAxNy43LTE0LjMgMzItMzIgMzJINDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnptOC0zMjhhNTYgNTYgMCAxIDEgMTEyIDBBNTYgNTYgMCAxIDEgNDU2IDg4ek01NzYgMjQ1Ljd2ODQuN2MxMC0xMS4zIDE2LTI2LjEgMTYtNDIuM3MtNi0zMS4xLTE2LTQyLjN6TTMyMCAzMmE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpNMjQwIDMwNGMwIDE2LjIgNiAzMSAxNiA0Mi4zVjI2MS43Yy0xMCAxMS4zLTE2IDI2LjEtMTYgNDIuM3ptMTQ0LTQyLjN2ODQuN2MxMC0xMS4zIDE2LTI2LjEgMTYtNDIuM3MtNi0zMS4xLTE2LTQyLjN6TTQ0OCAzMDRjMCA0NC43LTI2LjIgODMuMi02NCAxMDEuMlY0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJIMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMlY0MDUuMmMtMzcuOC0xOC02NC01Ni41LTY0LTEwMS4yYzAtNjEuOSA1MC4xLTExMiAxMTItMTEyaDMyYzYxLjkgMCAxMTIgNTAuMSAxMTIgMTEyelwiXVxufTtcbnZhciBmYUhvdXJnbGFzc0VuZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VyZ2xhc3MtZW5kJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbODk4NywgXCJob3VyZ2xhc3MtM1wiXSwgXCJmMjUzXCIsIFwiTTMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyUzE0LjMgNjQgMzIgNjRWNzVjMCA0Mi40IDE2LjkgODMuMSA0Ni45IDExMy4xTDE0Ni43IDI1NiA3OC45IDMyMy45QzQ4LjkgMzUzLjkgMzIgMzk0LjYgMzIgNDM3djExYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDY0IDMyMGgzMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMlY0MzdjMC00Mi40LTE2LjktODMuMS00Ni45LTExMy4xTDIzNy4zIDI1Nmw2Ny45LTY3LjljMzAtMzAgNDYuOS03MC43IDQ2LjktMTEzLjFWNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzIwIDY0IDMyek05NiA3NVY2NEgyODhWNzVjMCAyNS41LTEwLjEgNDkuOS0yOC4xIDY3LjlMMTkyIDIxMC43bC02Ny45LTY3LjlDMTA2LjEgMTI0LjkgOTYgMTAwLjQgOTYgNzV6XCJdXG59O1xudmFyIGZhSG91cmdsYXNzMyA9IGZhSG91cmdsYXNzRW5kO1xudmFyIGZhSGVhcnRDcmFjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFydC1jcmFjaycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODE0OCwgXCJoZWFydC1icm9rZW5cIl0sIFwiZjdhOVwiLCBcIk0xMTkuNCA0NC4xYzIzLjMtMy45IDQ2LjgtMS45IDY4LjYgNS4zbDQ5LjggNzcuNS03NS40IDc1LjRjLTEuNSAxLjUtMi40IDMuNi0yLjMgNS44czEgNC4yIDIuNiA1LjdsMTEyIDEwNGMyLjkgMi43IDcuNCAyLjkgMTAuNSAuM3MzLjgtNyAxLjctMTAuNGwtNjAuNC05OC4xIDkwLjctNzUuNmMyLjYtMi4xIDMuNS01LjcgMi40LTguOEwyOTYuOCA2MS44YzI4LjUtMTYuNyA2Mi40LTIzLjIgOTUuNy0xNy42QzQ2MS41IDU1LjYgNTEyIDExNS4yIDUxMiAxODUuMXY1LjhjMCA0MS41LTE3LjIgODEuMi00Ny42IDEwOS41TDI4My43IDQ2OS4xYy03LjUgNy0xNy40IDEwLjktMjcuNyAxMC45cy0yMC4yLTMuOS0yNy43LTEwLjlMNDcuNiAzMDAuNEMxNy4yIDI3Mi4xIDAgMjMyLjQgMCAxOTAuOXYtNS44YzAtNjkuOSA1MC41LTEyOS41IDExOS40LTE0MXpcIl1cbn07XG52YXIgZmFIZWFydEJyb2tlbiA9IGZhSGVhcnRDcmFjaztcbnZhciBmYVNxdWFyZVVwUmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLXVwLXJpZ2h0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbODU5OSwgXCJleHRlcm5hbC1saW5rLXNxdWFyZS1hbHRcIl0sIFwiZjM2MFwiLCBcIk0zODQgMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRWNDE2YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY5NkMwIDYwLjcgMjguNyAzMiA2NCAzMkgzODR6TTMyMCAzMTMuNFYxNzZjMC04LjgtNy4yLTE2LTE2LTE2SDE2Ni42Yy0xMi41IDAtMjIuNiAxMC4xLTIyLjYgMjIuNmMwIDYgMi40IDExLjggNi42IDE2TDE4NCAyMzJsLTY2LjMgNjYuM0MxMTQgMzAyIDExMiAzMDYuOSAxMTIgMzEyczIgMTAgNS43IDEzLjdsMzYuNyAzNi43YzMuNiAzLjYgOC41IDUuNyAxMy43IDUuN3MxMC0yIDEzLjctNS43TDI0OCAyOTZsMzMuNCAzMy40YzQuMiA0LjIgMTAgNi42IDE2IDYuNmMxMi41IDAgMjIuNi0xMC4xIDIyLjYtMjIuNnpcIl1cbn07XG52YXIgZmFFeHRlcm5hbExpbmtTcXVhcmVBbHQgPSBmYVNxdWFyZVVwUmlnaHQ7XG52YXIgZmFGYWNlS2lzc0JlYW0gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1raXNzLWJlYW0nLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1MzcsIFwia2lzcy1iZWFtXCJdLCBcImY1OTdcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6bTQ4LjctMTk4LjNjNC4zIDUuMSA3LjMgMTEuNCA3LjMgMTguM3MtMy4xIDEzLjItNy4zIDE4LjNjLTQuMyA1LjItMTAuMSA5LjctMTYuNyAxMy40Yy0yLjcgMS41LTUuNyAzLTguNyA0LjNjMy4xIDEuMyA2IDIuNyA4LjcgNC4zYzYuNiAzLjcgMTIuNSA4LjIgMTYuNyAxMy40YzQuMyA1LjEgNy4zIDExLjQgNy4zIDE4LjNzLTMuMSAxMy4yLTcuMyAxOC4zYy00LjMgNS4yLTEwLjEgOS43LTE2LjcgMTMuNEMyNzQuNyA0NDMuMSAyNTcuNCA0NDggMjQwIDQ0OGMtMy42IDAtNi44LTIuNS03LjctNnMuNi03LjIgMy44LTlsMCAwIDAgMCAwIDAgMCAwIC4yLS4xYy4yLS4xIC41LS4zIC45LS41Yy44LS41IDItMS4yIDMuNC0yLjFjMi44LTEuOSA2LjUtNC41IDEwLjItNy42YzMuNy0zLjEgNy4yLTYuNiA5LjYtMTAuMWMyLjUtMy41IDMuNS02LjQgMy41LTguNnMtMS01LTMuNS04LjZjLTIuNS0zLjUtNS45LTYuOS05LjYtMTAuMWMtMy43LTMuMS03LjQtNS43LTEwLjItNy42Yy0xLjQtLjktMi42LTEuNi0zLjQtMi4xYy0uNC0uMi0uNy0uNC0uOS0uNWwtLjItLjEgMCAwIDAgMCAwIDBjLTIuNS0xLjQtNC4xLTQuMS00LjEtN3MxLjYtNS42IDQuMS03bDAgMCAwIDAgMCAwIDAgMCAwIDAgLjItLjEgLjMtLjIgLjYtLjRjLjgtLjUgMi0xLjIgMy40LTIuMWMyLjgtMS45IDYuNS00LjUgMTAuMi03LjZjMy43LTMuMSA3LjItNi42IDkuNi0xMC4xYzIuNS0zLjUgMy41LTYuNCAzLjUtOC42cy0xLTUtMy41LTguNmMtMi41LTMuNS01LjktNi45LTkuNi0xMC4xYy0zLjctMy4xLTcuNC01LjctMTAuMi03LjZjLTEuNC0uOS0yLjYtMS42LTMuNC0yLjFsLS40LS4zLS41LS4zLS4yLS4xIDAgMCAwIDAgMCAwYy0zLjItMS44LTQuNy01LjUtMy44LTlzNC4xLTYgNy43LTZjMTcuNCAwIDM0LjcgNC45IDQ3LjkgMTIuM2M2LjYgMy43IDEyLjUgOC4yIDE2LjcgMTMuNHptLTg3LjEtODQuOWwwIDAgMCAwLS4yLS4yYy0uMi0uMi0uNC0uNS0uNy0uOWMtLjYtLjgtMS42LTItMi44LTMuNGMtMi41LTIuOC02LTYuNi0xMC4yLTEwLjNjLTguOC03LjgtMTguOC0xNC0yNy43LTE0cy0xOC45IDYuMi0yNy43IDE0Yy00LjIgMy43LTcuNyA3LjUtMTAuMiAxMC4zYy0xLjIgMS40LTIuMiAyLjYtMi44IDMuNGMtLjMgLjQtLjYgLjctLjcgLjlsLS4yIC4yIDAgMCAwIDAgMCAwYy0yLjEgMi44LTUuNyAzLjktOC45IDIuOHMtNS41LTQuMS01LjUtNy42YzAtMTcuOSA2LjctMzUuNiAxNi42LTQ4LjhjOS44LTEzIDIzLjktMjMuMiAzOS40LTIzLjJzMjkuNiAxMC4yIDM5LjQgMjMuMmM5LjkgMTMuMiAxNi42IDMwLjkgMTYuNiA0OC44YzAgMy40LTIuMiA2LjUtNS41IDcuNnMtNi45IDAtOC45LTIuOGwwIDAgMCAwem0xNjAgMGwwIDAtLjItLjJjLS4yLS4yLS40LS41LS43LS45Yy0uNi0uOC0xLjYtMi0yLjgtMy40Yy0yLjUtMi44LTYtNi42LTEwLjItMTAuM2MtOC44LTcuOC0xOC44LTE0LTI3LjctMTRzLTE4LjkgNi4yLTI3LjcgMTRjLTQuMiAzLjctNy43IDcuNS0xMC4yIDEwLjNjLTEuMiAxLjQtMi4yIDIuNi0yLjggMy40Yy0uMyAuNC0uNiAuNy0uNyAuOWwtLjIgLjIgMCAwIDAgMCAwIDBjLTIuMSAyLjgtNS43IDMuOS04LjkgMi44cy01LjUtNC4xLTUuNS03LjZjMC0xNy45IDYuNy0zNS42IDE2LjYtNDguOGM5LjgtMTMgMjMuOS0yMy4yIDM5LjQtMjMuMnMyOS42IDEwLjIgMzkuNCAyMy4yYzkuOSAxMy4yIDE2LjYgMzAuOSAxNi42IDQ4LjhjMCAzLjQtMi4yIDYuNS01LjUgNy42cy02LjkgMC04LjktMi44bDAgMCAwIDAgMCAwelwiXVxufTtcbnZhciBmYUtpc3NCZWFtID0gZmFGYWNlS2lzc0JlYW07XG52YXIgZmFGaWxtID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbG0nLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc5MDJdLCBcImYwMDhcIiwgXCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMkg0NDhjMzUuMyAwIDY0IDI4LjcgNjQgNjRWNDE2YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY5NnpNNDggMzY4djMyYzAgOC44IDcuMiAxNiAxNiAxNkg5NmM4LjggMCAxNi03LjIgMTYtMTZWMzY4YzAtOC44LTcuMi0xNi0xNi0xNkg2NGMtOC44IDAtMTYgNy4yLTE2IDE2em0zNjgtMTZjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjM2OGMwLTguOC03LjItMTYtMTYtMTZINDE2ek00OCAyNDB2MzJjMCA4LjggNy4yIDE2IDE2IDE2SDk2YzguOCAwIDE2LTcuMiAxNi0xNlYyNDBjMC04LjgtNy4yLTE2LTE2LTE2SDY0Yy04LjggMC0xNiA3LjItMTYgMTZ6bTM2OC0xNmMtOC44IDAtMTYgNy4yLTE2IDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMjQwYzAtOC44LTcuMi0xNi0xNi0xNkg0MTZ6TTQ4IDExMnYzMmMwIDguOCA3LjIgMTYgMTYgMTZIOTZjOC44IDAgMTYtNy4yIDE2LTE2VjExMmMwLTguOC03LjItMTYtMTYtMTZINjRjLTguOCAwLTE2IDcuMi0xNiAxNnpNNDE2IDk2Yy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYxMTJjMC04LjgtNy4yLTE2LTE2LTE2SDQxNnpNMTYwIDEyOHY2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMkgzMjBjMTcuNyAwIDMyLTE0LjMgMzItMzJWMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMySDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6bTMyIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJIMzIwYzE3LjcgMCAzMi0xNC4zIDMyLTMyVjMyMGMwLTE3LjctMTQuMy0zMi0zMi0zMkgxOTJ6XCJdXG59O1xudmFyIGZhUnVsZXJIb3Jpem9udGFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3J1bGVyLWhvcml6b250YWwnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY1NDdcIiwgXCJNMCAzMzZjMCAyNi41IDIxLjUgNDggNDggNDhsNTQ0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xNjBjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTY0IDAgMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwLTY0IDAgMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwLTY0IDAgMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwLTY0IDAgMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwLTY0IDAgMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwLTY0IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4TDAgMzM2elwiXVxufTtcbnZhciBmYVBlb3BsZVJvYmJlcnkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVvcGxlLXJvYmJlcnknLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1MzZcIiwgXCJNNDg4LjIgNTkuMUM0NzguMSA5OS42IDQ0MS43IDEyOCA0MDAgMTI4cy03OC4xLTI4LjQtODguMi02OC45TDMwMyAyNC4yQzI5OC44IDcuMSAyODEuNC0zLjMgMjY0LjIgMVMyMzYuNyAyMi42IDI0MSAzOS44bDguNyAzNC45YzExIDQ0IDQwLjIgNzkuNiA3OC4zIDk5LjZWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMzUyaDE2VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjE3NC4zYzM4LjEtMjAgNjcuMy01NS42IDc4LjMtOTkuNkw1NTkgMzkuOGM0LjMtMTcuMS02LjEtMzQuNS0yMy4zLTM4LjhTNTAxLjIgNy4xIDQ5NyAyNC4ybC04LjcgMzQuOXpNNDAwIDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNODAgOTZBNDggNDggMCAxIDAgODAgMGE0OCA0OCAwIDEgMCAwIDk2em0tOCAzMmMtMzUuMyAwLTY0IDI4LjctNjQgNjR2OTZsMCAuNlY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzNTJIODhWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMjUyLjdsMTMgMjAuNWM1LjkgOS4yIDE2LjEgMTQuOSAyNyAxNC45aDQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDIwOS42bC0zNy40LTU4LjlDMTU3LjYgMTQyIDEzMi4xIDEyOCAxMDQuNyAxMjhINzJ6XCJdXG59O1xudmFyIGZhTGlnaHRidWxiID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xpZ2h0YnVsYicsXG4gIGljb246IFszODQsIDUxMiwgWzEyODE2MV0sIFwiZjBlYlwiLCBcIk0yNzIgMzg0YzkuNi0zMS45IDI5LjUtNTkuMSA0OS4yLTg2LjJsMCAwYzUuMi03LjEgMTAuNC0xNC4yIDE1LjQtMjEuNGMxOS44LTI4LjUgMzEuNC02MyAzMS40LTEwMC4zQzM2OCA3OC44IDI4OS4yIDAgMTkyIDBTMTYgNzguOCAxNiAxNzZjMCAzNy4zIDExLjYgNzEuOSAzMS40IDEwMC4zYzUgNy4yIDEwLjIgMTQuMyAxNS40IDIxLjRsMCAwYzE5LjggMjcuMSAzOS43IDU0LjQgNDkuMiA4Ni4ySDI3MnpNMTkyIDUxMmM0NC4yIDAgODAtMzUuOCA4MC04MFY0MTZIMTEydjE2YzAgNDQuMiAzNS44IDgwIDgwIDgwek0xMTIgMTc2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2YzAtNjEuOSA1MC4xLTExMiAxMTItMTEyYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2Yy00NC4yIDAtODAgMzUuOC04MCA4MHpcIl1cbn07XG52YXIgZmFDYXJldExlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FyZXQtbGVmdCcsXG4gIGljb246IFsyNTYsIDUxMiwgW10sIFwiZjBkOVwiLCBcIk05LjQgMjc4LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zbDEyOC0xMjhjOS4yLTkuMiAyMi45LTExLjkgMzQuOS02LjlzMTkuOCAxNi42IDE5LjggMjkuNmwwIDI1NmMwIDEyLjktNy44IDI0LjYtMTkuOCAyOS42cy0yNS43IDIuMi0zNC45LTYuOWwtMTI4LTEyOHpcIl1cbn07XG52YXIgZmFDaXJjbGVFeGNsYW1hdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImV4Y2xhbWF0aW9uLWNpcmNsZVwiXSwgXCJmMDZhXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyem0wLTM4NGMxMy4zIDAgMjQgMTAuNyAyNCAyNFYyNjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWMTUyYzAtMTMuMyAxMC43LTI0IDI0LTI0ek0yMjQgMzUyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6XCJdXG59O1xudmFyIGZhRXhjbGFtYXRpb25DaXJjbGUgPSBmYUNpcmNsZUV4Y2xhbWF0aW9uO1xudmFyIGZhU2Nob29sQ2lyY2xlWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2Nob29sLWNpcmNsZS14bWFyaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU2ZFwiLCBcIk0zMzcuOCA1LjRDMzI3LTEuOCAzMTMtMS44IDMwMi4yIDUuNEwxNjYuMyA5Nkg0OEMyMS41IDk2IDAgMTE3LjUgMCAxNDRWNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDMyMHYwSDI1NlY0MTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsLjMgMGguNWMzLjQtMzcuNyAxOC43LTcyLjEgNDIuMi05OS4xQzM1MC4yIDI2MCAzMzUuNiAyNjQgMzIwIDI2NGMtNDguNiAwLTg4LTM5LjQtODgtODhzMzkuNC04OCA4OC04OHM4OCAzOS40IDg4IDg4YzAgMTguMy01LjYgMzUuMy0xNS4xIDQ5LjRjMjktMjEgNjQuNi0zMy40IDEwMy4xLTMzLjRjNTkuNSAwIDExMi4xIDI5LjYgMTQ0IDc0LjhWMTQ0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDQ3My43TDMzNy44IDUuNHpNOTYgMTkyaDMyYzguOCAwIDE2IDcuMiAxNiAxNnY2NGMwIDguOC03LjIgMTYtMTYgMTZIOTZjLTguOCAwLTE2LTcuMi0xNi0xNlYyMDhjMC04LjggNy4yLTE2IDE2LTE2em0wIDEyOGgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2NjRjMCA4LjgtNy4yIDE2LTE2IDE2SDk2Yy04LjggMC0xNi03LjItMTYtMTZWMzM2YzAtOC44IDcuMi0xNiAxNi0xNnpNMzIwIDEyOGMtOC44IDAtMTYgNy4yLTE2IDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgzMzZWMTQ0YzAtOC44LTcuMi0xNi0xNi0xNnpNNDk2IDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTIyLjYtMTQ0bDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwTDQ5NiAzOTAuNmwtMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42TDQ3My40IDM2OGwtMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDk2IDM0NS40bDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZMNTE4LjYgMzY4elwiXVxufTtcbnZhciBmYUFycm93UmlnaHRGcm9tQnJhY2tldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1yaWdodC1mcm9tLWJyYWNrZXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInNpZ24tb3V0XCJdLCBcImYwOGJcIiwgXCJNNTAyLjYgMjc4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTEyOC0xMjhjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDQwMi43IDIyNCAxOTIgMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDIxMC43IDAtNzMuNCA3My40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDEyOC0xMjh6TTE2MCA5NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw5NiAzMkM0MyAzMiAwIDc1IDAgMTI4TDAgMzg0YzAgNTMgNDMgOTYgOTYgOTZsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yNTZjMC0xNy43IDE0LjMtMzIgMzItMzJsNjQgMHpcIl1cbn07XG52YXIgZmFTaWduT3V0ID0gZmFBcnJvd1JpZ2h0RnJvbUJyYWNrZXQ7XG52YXIgZmFDaXJjbGVDaGV2cm9uRG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtY2hldnJvbi1kb3duJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJjaGV2cm9uLWNpcmNsZS1kb3duXCJdLCBcImYxM2FcIiwgXCJNMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwek0xMzUgMjQxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsODcgODcgODctODdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45TDI3MyAzNDVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwTDEzNSAyNDF6XCJdXG59O1xudmFyIGZhQ2hldnJvbkNpcmNsZURvd24gPSBmYUNpcmNsZUNoZXZyb25Eb3duO1xudmFyIGZhVW5sb2NrS2V5aG9sZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1bmxvY2sta2V5aG9sZScsXG4gIGljb246IFs0NDgsIDUxMiwgW1widW5sb2NrLWFsdFwiXSwgXCJmMTNlXCIsIFwiTTIyNCA2NGMtNDQuMiAwLTgwIDM1LjgtODAgODB2NDhIMzg0YzM1LjMgMCA2NCAyOC43IDY0IDY0VjQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMjU2YzAtMzUuMyAyOC43LTY0IDY0LTY0SDgwVjE0NEM4MCA2NC41IDE0NC41IDAgMjI0IDBjNTcuNSAwIDEwNyAzMy43IDEzMC4xIDgyLjNjNy42IDE2IC44IDM1LjEtMTUuMiA0Mi42cy0zNS4xIC44LTQyLjYtMTUuMkMyODMuNCA4Mi42IDI1NS45IDY0IDIyNCA2NHptMzIgMzIwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmg2NHpcIl1cbn07XG52YXIgZmFVbmxvY2tBbHQgPSBmYVVubG9ja0tleWhvbGU7XG52YXIgZmFDbG91ZFNob3dlcnNIZWF2eSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbG91ZC1zaG93ZXJzLWhlYXZ5JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNzQwXCIsIFwiTTk2IDMyMGMtNTMgMC05Ni00My05Ni05NmMwLTQyLjUgMjcuNi03OC42IDY1LjktOTEuMkM2NC43IDEyNi4xIDY0IDExOS4xIDY0IDExMkM2NCA1MC4xIDExNC4xIDAgMTc2IDBjNDMuMSAwIDgwLjUgMjQuMyA5OS4yIDYwYzE0LjctMTcuMSAzNi41LTI4IDYwLjgtMjhjNDQuMiAwIDgwIDM1LjggODAgODBjMCA1LjUtLjYgMTAuOC0xLjYgMTZjLjUgMCAxLjEgMCAxLjYgMGM1MyAwIDk2IDQzIDk2IDk2cy00MyA5Ni05NiA5Nkg5NnpNODEuNSAzNTMuOWMxMi4yIDUuMiAxNy44IDE5LjMgMTIuNiAzMS41bC00OCAxMTJjLTUuMiAxMi4yLTE5LjMgMTcuOC0zMS41IDEyLjZTLTMuMyA0OTAuNyAxLjkgNDc4LjVsNDgtMTEyYzUuMi0xMi4yIDE5LjMtMTcuOCAzMS41LTEyLjZ6bTEyMCAwYzEyLjIgNS4yIDE3LjggMTkuMyAxMi42IDMxLjVsLTQ4IDExMmMtNS4yIDEyLjItMTkuMyAxNy44LTMxLjUgMTIuNnMtMTcuOC0xOS4zLTEyLjYtMzEuNWw0OC0xMTJjNS4yLTEyLjIgMTkuMy0xNy44IDMxLjUtMTIuNnptMjQ0LjYgMzEuNWwtNDggMTEyYy01LjIgMTIuMi0xOS4zIDE3LjgtMzEuNSAxMi42cy0xNy44LTE5LjMtMTIuNi0zMS41bDQ4LTExMmM1LjItMTIuMiAxOS4zLTE3LjggMzEuNS0xMi42czE3LjggMTkuMyAxMi42IDMxLjV6TTMxMy41IDM1My45YzEyLjIgNS4yIDE3LjggMTkuMyAxMi42IDMxLjVsLTQ4IDExMmMtNS4yIDEyLjItMTkuMyAxNy44LTMxLjUgMTIuNnMtMTcuOC0xOS4zLTEyLjYtMzEuNWw0OC0xMTJjNS4yLTEyLjIgMTkuMy0xNy44IDMxLjUtMTIuNnpcIl1cbn07XG52YXIgZmFIZWFkcGhvbmVzU2ltcGxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlYWRwaG9uZXMtc2ltcGxlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJoZWFkcGhvbmVzLWFsdFwiXSwgXCJmNThmXCIsIFwiTTI1NiA4MEMxNDEuMSA4MCA0OCAxNzMuMSA0OCAyODhWMzkyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0VjI4OEMwIDE0Ni42IDExNC42IDMyIDI1NiAzMnMyNTYgMTE0LjYgMjU2IDI1NlYzOTJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWMjg4YzAtMTE0LjktOTMuMS0yMDgtMjA4LTIwOHpNODAgMzUyYzAtMzUuMyAyOC43LTY0IDY0LTY0aDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMyVjQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMkgxNDRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjM1MnptMjg4LTY0YzM1LjMgMCA2NCAyOC43IDY0IDY0djY0YzAgMzUuMy0yOC43IDY0LTY0IDY0SDM1MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMzIwYzAtMTcuNyAxNC4zLTMyIDMyLTMyaDE2elwiXVxufTtcbnZhciBmYUhlYWRwaG9uZXNBbHQgPSBmYUhlYWRwaG9uZXNTaW1wbGU7XG52YXIgZmFTaXRlbWFwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NpdGVtYXAnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImYwZThcIiwgXCJNMjA4IDgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4aDY0YzI2LjUgMCA0OCAyMS41IDQ4IDQ4djY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4aC04djQwSDQ2NGMzMC45IDAgNTYgMjUuMSA1NiA1NnYzMmg4YzI2LjUgMCA0OCAyMS41IDQ4IDQ4djY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ2NGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMzY4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4aDhWMjg4YzAtNC40LTMuNi04LTgtOEgzMTJ2NDBoOGMyNi41IDAgNDggMjEuNSA0OCA0OHY2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEgyNTZjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjM2OGMwLTI2LjUgMjEuNS00OCA0OC00OGg4VjI4MEgxMTJjLTQuNCAwLTggMy42LTggOHYzMmg4YzI2LjUgMCA0OCAyMS41IDQ4IDQ4djY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFYzNjhjMC0yNi41IDIxLjUtNDggNDgtNDhoOFYyODhjMC0zMC45IDI1LjEtNTYgNTYtNTZIMjY0VjE5MmgtOGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWODB6XCJdXG59O1xudmFyIGZhQ2lyY2xlRG9sbGFyVG9TbG90ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1kb2xsYXItdG8tc2xvdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZG9uYXRlXCJdLCBcImY0YjlcIiwgXCJNMzI2LjcgNDAzLjdjLTIyLjEgOC00NS45IDEyLjMtNzAuNyAxMi4zcy00OC43LTQuNC03MC43LTEyLjNjLS4zLS4xLS41LS4yLS44LS4zYy0zMC0xMS01Ni44LTI4LjctNzguNi01MS40QzcwIDMxNC42IDQ4IDI2My45IDQ4IDIwOEM0OCA5My4xIDE0MS4xIDAgMjU2IDBTNDY0IDkzLjEgNDY0IDIwOGMwIDU1LjktMjIgMTA2LjYtNTcuOSAxNDRjLTEgMS0yIDIuMS0zIDMuMWMtMjEuNCAyMS40LTQ3LjQgMzguMS03Ni4zIDQ4LjZ6TTI1NiA4NGMtMTEgMC0yMCA5LTIwIDIwdjE0Yy03LjYgMS43LTE1LjIgNC40LTIyLjIgOC41Yy0xMy45IDguMy0yNS45IDIyLjgtMjUuOCA0My45Yy4xIDIwLjMgMTIgMzMuMSAyNC43IDQwLjdjMTEgNi42IDI0LjcgMTAuOCAzNS42IDE0bDEuNyAuNWMxMi42IDMuOCAyMS44IDYuOCAyOCAxMC43YzUuMSAzLjIgNS44IDUuNCA1LjkgOC4yYy4xIDUtMS44IDgtNS45IDEwLjVjLTUgMy4xLTEyLjkgNS0yMS40IDQuN2MtMTEuMS0uNC0yMS41LTMuOS0zNS4xLTguNWMtMi4zLS44LTQuNy0xLjYtNy4yLTIuNGMtMTAuNS0zLjUtMjEuOCAyLjItMjUuMyAxMi42czIuMiAyMS44IDEyLjYgMjUuM2MxLjkgLjYgNCAxLjMgNi4xIDIuMWwwIDAgMCAwYzguMyAyLjkgMTcuOSA2LjIgMjguMiA4LjRWMzEyYzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwVjI5OC4yYzgtMS43IDE2LTQuNSAyMy4yLTljMTQuMy04LjkgMjUuMS0yNC4xIDI0LjgtNDVjLS4zLTIwLjMtMTEuNy0zMy40LTI0LjYtNDEuNmMtMTEuNS03LjItMjUuOS0xMS42LTM3LjEtMTVsLS43LS4yYy0xMi44LTMuOS0yMS45LTYuNy0yOC4zLTEwLjVjLTUuMi0zLjEtNS4zLTQuOS01LjMtNi43YzAtMy43IDEuNC02LjUgNi4yLTkuM2M1LjQtMy4yIDEzLjYtNS4xIDIxLjUtNWM5LjYgLjEgMjAuMiAyLjIgMzEuMiA1LjJjMTAuNyAyLjggMjEuNi0zLjUgMjQuNS0xNC4ycy0zLjUtMjEuNi0xNC4yLTI0LjVjLTYuNS0xLjctMTMuNy0zLjQtMjEuMS00LjdWMTA0YzAtMTEtOS0yMC0yMC0yMHpNNDggMzUySDY0YzE5LjUgMjUuOSA0NCA0Ny43IDcyLjIgNjRINjR2MzJIMjU2IDQ0OFY0MTZIMzc1LjhjMjguMi0xNi4zIDUyLjgtMzguMSA3Mi4yLTY0aDE2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4djY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFY0MDBjMC0yNi41IDIxLjUtNDggNDgtNDh6XCJdXG59O1xudmFyIGZhRG9uYXRlID0gZmFDaXJjbGVEb2xsYXJUb1Nsb3Q7XG52YXIgZmFNZW1vcnkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWVtb3J5JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNTM4XCIsIFwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4djcuNGMwIDYuOCA0LjQgMTIuNiAxMC4xIDE2LjNDMjMuMyAxNjAuMyAzMiAxNzUuMSAzMiAxOTJzLTguNyAzMS43LTIxLjkgNDAuM0M0LjQgMjM2IDAgMjQxLjggMCAyNDguNlYzMjBINTc2VjI0OC42YzAtNi44LTQuNC0xMi42LTEwLjEtMTYuM0M1NTIuNyAyMjMuNyA1NDQgMjA4LjkgNTQ0IDE5MnM4LjctMzEuNyAyMS45LTQwLjNjNS43LTMuNyAxMC4xLTkuNSAxMC4xLTE2LjNWMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0ek01NzYgMzUySDB2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJIODBWNDE2YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ2MzJoOTZWNDE2YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ2MzJoOTZWNDE2YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ2MzJoOTZWNDE2YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ2MzJoNDhjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzUyek0xOTIgMTYwdjY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyem0xMjggMHY2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnptMTI4IDB2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6XCJdXG59O1xudmFyIGZhUm9hZFNwaWtlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyb2FkLXNwaWtlcycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU2OFwiLCBcIk02NCAxMTYuOGMwLTE1LjggMjAuNS0yMiAyOS4zLTguOUwxOTIgMjU2VjExNi44YzAtMTUuOCAyMC41LTIyIDI5LjMtOC45TDMyMCAyNTZWMTE2LjhjMC0xNS44IDIwLjUtMjIgMjkuMy04LjlMNDQ4IDI1NlYxMTYuOGMwLTE1LjggMjAuNS0yMiAyOS4zLTguOUw2MDYuOCAzMDIuMmMxNC4yIDIxLjMtMS4xIDQ5LjctMjYuNiA0OS43SDUxMiA0NDggMzg0IDMyMCAyNTYgMTkyIDY0VjExNi44ek0zMiAzODRINjA4YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyelwiXVxufTtcbnZhciBmYUZpcmVCdXJuZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlyZS1idXJuZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZjFcIiwgXCJNMzQ1LjcgNDguM0wzNTggMzQuNWM1LjQtNi4xIDEzLjMtOC44IDIwLjktOC45YzcuMiAwIDE0LjMgMi42IDE5LjkgNy44YzE5LjcgMTguMyAzOS44IDQzLjIgNTUgNzAuNkM0NjkgMTMxLjIgNDgwIDE2Mi4yIDQ4MCAxOTIuMkM0ODAgMjgwLjggNDA4LjcgMzUyIDMyMCAzNTJjLTg5LjYgMC0xNjAtNzEuMy0xNjAtMTU5LjhjMC0zNy4zIDE2LTczLjQgMzYuOC0xMDQuNWMyMC45LTMxLjMgNDcuNS01OSA3MC45LTgwLjJDMjczLjQgMi4zIDI4MC43LS4yIDI4OCAwYzE0LjEgLjMgMjMuOCAxMS40IDMyLjcgMjEuNmMwIDAgMCAwIDAgMGMyIDIuMyA0IDQuNiA2IDYuN2wxOSAxOS45ek0zODQgMjQwLjJjMC0zNi41LTM3LTczLTU0LjgtODguNGMtNS40LTQuNy0xMy4xLTQuNy0xOC41IDBDMjkzIDE2Ny4xIDI1NiAyMDMuNiAyNTYgMjQwLjJjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHpNMzIgMjg4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCA2NCA0NDggMCAwLTY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwwLTk2ek0zMjAgNDgwYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMTYwLTMyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTE5MiA0ODBhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbnZhciBmYUZsYWcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmxhZycsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyNzk4OCwgNjE3MjVdLCBcImYwMjRcIiwgXCJNNjQgMzJDNjQgMTQuMyA0OS43IDAgMzIgMFMwIDE0LjMgMCAzMlY2NCAzNjggNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMzUybDY0LjMtMTYuMWM0MS4xLTEwLjMgODQuNi01LjUgMTIyLjUgMTMuNGM0NC4yIDIyLjEgOTUuNSAyNC44IDE0MS43IDcuNGwzNC43LTEzYzEyLjUtNC43IDIwLjgtMTYuNiAyMC44LTMwVjY2LjFjMC0yMy0yNC4yLTM4LTQ0LjgtMjcuN2wtOS42IDQuOGMtNDYuMyAyMy4yLTEwMC44IDIzLjItMTQ3LjEgMGMtMzUuMS0xNy42LTc1LjQtMjItMTEzLjUtMTIuNUw2NCA0OFYzMnpcIl1cbn07XG52YXIgZmFIYW51a2lhaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW51a2lhaCcsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODMzNF0sIFwiZjZlNlwiLCBcIk0zMTQuMiAzLjNDMzA5LjEgMTIuMSAyOTYgMzYuNiAyOTYgNTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuN0MzMjQuNiAxLjIgMzIyLjQgMCAzMjAgMHMtNC42IDEuMi01LjggMy4zem0tMjg4IDQ4QzIxLjEgNjAuMSA4IDg0LjYgOCAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuN0MzNi42IDQ5LjIgMzQuNCA0OCAzMiA0OHMtNC42IDEuMi01LjggMy4zek04OCAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuN2MtMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM0MxMDEuMSA2MC4xIDg4IDg0LjYgODggMTA0em04Mi4yLTUyLjdDMTY1LjEgNjAuMSAxNTIgODQuNiAxNTIgMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjdjLTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjN6TTIxNiAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuN2MtMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM0MyMjkuMSA2MC4xIDIxNiA4NC42IDIxNiAxMDR6TTM5NC4yIDUxLjNDMzg5LjEgNjAuMSAzNzYgODQuNiAzNzYgMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjdjLTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjN6TTQ0MCAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuN2MtMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM0M0NTMuMSA2MC4xIDQ0MCA4NC42IDQ0MCAxMDR6bTgyLjItNTIuN0M1MTcuMSA2MC4xIDUwNCA4NC42IDUwNCAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuN2MtMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM3pNNTg0IDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43Yy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zQzU5Ny4xIDYwLjEgNTg0IDg0LjYgNTg0IDEwNHpNMTEyIDE2MGMtOC44IDAtMTYgNy4yLTE2IDE2djk2IDE2aDMyVjI3MiAxNzZjMC04LjgtNy4yLTE2LTE2LTE2em02NCAwYy04LjggMC0xNiA3LjItMTYgMTZ2OTYgMTZoMzJWMjcyIDE3NmMwLTguOC03LjItMTYtMTYtMTZ6bTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNnY5NiAxNmgzMlYyNzIgMTc2YzAtOC44LTcuMi0xNi0xNi0xNnptMTYwIDBjLTguOCAwLTE2IDcuMi0xNiAxNnY5NiAxNmgzMlYyNzIgMTc2YzAtOC44LTcuMi0xNi0xNi0xNnptNjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2djk2IDE2aDMyVjI3MiAxNzZjMC04LjgtNy4yLTE2LTE2LTE2em02NCAwYy04LjggMC0xNiA3LjItMTYgMTZ2OTYgMTZoMzJWMjcyIDE3NmMwLTguOC03LjItMTYtMTYtMTZ6TTM1MiAxNDRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWMzIwSDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYxOTJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ2OTZjMCA1MyA0MyA5NiA5NiA5NkgyODh2NjRIMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDMyMCA0ODBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzUyVjM4NEg1NDRjNTMgMCA5Ni00MyA5Ni05NlYxOTJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJIMzUyVjE0NHpcIl1cbn07XG52YXIgZmFGZWF0aGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZlYXRoZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjk3MThdLCBcImY1MmRcIiwgXCJNMjc4LjUgMjE1LjZMMjMgNDcxYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNTctNTdoNjhjNDkuNyAwIDk3LjktMTQuNCAxMzktNDFjMTEuMS03LjIgNS41LTIzLTcuOC0yM2MtNS4xIDAtOS4yLTQuMS05LjItOS4yYzAtNC4xIDIuNy03LjYgNi41LTguOGw4MS0yNC4zYzIuNS0uOCA0LjgtMi4xIDYuNy00bDIyLjQtMjIuNGMxMC4xLTEwLjEgMi45LTI3LjMtMTEuMy0yNy4zbC0zMi4yIDBjLTUuMSAwLTkuMi00LjEtOS4yLTkuMmMwLTQuMSAyLjctNy42IDYuNS04LjhsMTEyLTMzLjZjNC0xLjIgNy40LTMuOSA5LjMtNy43QzUwNi40IDIwNy42IDUxMiAxODQuMSA1MTIgMTYwYzAtNDEtMTYuMy04MC4zLTQ1LjMtMTA5LjNsLTUuNS01LjVDNDMyLjMgMTYuMyAzOTMgMCAzNTIgMHMtODAuMyAxNi4zLTEwOS4zIDQ1LjNMMTM5IDE0OUM5MSAxOTcgNjQgMjYyLjEgNjQgMzMwdjU1LjNMMjUzLjYgMTk1LjhjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBjNS40IDUuNCA2LjEgMTMuNiAyLjIgMTkuOHpcIl1cbn07XG52YXIgZmFWb2x1bWVMb3cgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndm9sdW1lLWxvdycsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODI2NCwgXCJ2b2x1bWUtZG93blwiXSwgXCJmMDI3XCIsIFwiTTMwMS4xIDM0LjhDMzEyLjYgNDAgMzIwIDUxLjQgMzIwIDY0VjQ0OGMwIDEyLjYtNy40IDI0LTE4LjkgMjkuMnMtMjUgMy4xLTM0LjQtNS4zTDEzMS44IDM1Mkg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMjI0YzAtMzUuMyAyOC43LTY0IDY0LTY0aDY3LjhMMjY2LjcgNDAuMWM5LjQtOC40IDIyLjktMTAuNCAzNC40LTUuM3pNNDEyLjYgMTgxLjVDNDM0LjEgMTk5LjEgNDQ4IDIyNS45IDQ0OCAyNTZzLTEzLjkgNTYuOS0zNS40IDc0LjVjLTEwLjMgOC40LTI1LjQgNi44LTMzLjgtMy41cy02LjgtMjUuNCAzLjUtMzMuOEMzOTMuMSAyODQuNCA0MDAgMjcxIDQwMCAyNTZzLTYuOS0yOC40LTE3LjctMzcuM2MtMTAuMy04LjQtMTEuOC0yMy41LTMuNS0zMy44czIzLjUtMTEuOCAzMy44LTMuNXpcIl1cbn07XG52YXIgZmFWb2x1bWVEb3duID0gZmFWb2x1bWVMb3c7XG52YXIgZmFDb21tZW50U2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tbWVudC1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjRiM1wiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDUxMi45IDM3Ni43QzU1Mi4yIDM0MC4yIDU3NiAyOTIuMyA1NzYgMjQwQzU3NiAxMjUuMSA0NjEuNCAzMiAzMjAgMzJjLTY3LjcgMC0xMjkuMyAyMS40LTE3NS4xIDU2LjNMMzguOCA1LjF6bTM4NS4yIDQyNUw4Mi45IDE2MS4zQzcwLjcgMTg1LjYgNjQgMjEyLjIgNjQgMjQwYzAgNDUuMSAxNy43IDg2LjggNDcuNyAxMjAuOWMtMS45IDI0LjUtMTEuNCA0Ni4zLTIxLjQgNjIuOWMtNS41IDkuMi0xMS4xIDE2LjYtMTUuMiAyMS42Yy0yLjEgMi41LTMuNyA0LjQtNC45IDUuN2MtLjYgLjYtMSAxLjEtMS4zIDEuNGwtLjMgLjMgMCAwIDAgMCAwIDAgMCAwYy00LjYgNC42LTUuOSAxMS40LTMuNCAxNy40YzIuNSA2IDguMyA5LjkgMTQuOCA5LjljMjguNyAwIDU3LjYtOC45IDgxLjYtMTkuM2MyMi45LTEwIDQyLjQtMjEuOSA1NC4zLTMwLjZjMzEuOCAxMS41IDY3IDE3LjkgMTA0LjEgMTcuOWMzNyAwIDcyLjMtNi40IDEwNC4xLTE3Ljl6XCJdXG59O1xudmFyIGZhQ2xvdWRTdW5SYWluID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nsb3VkLXN1bi1yYWluJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI3NzgyXSwgXCJmNzQzXCIsIFwiTTI5NC4yIDEuMmM1LjEgMi4xIDguNyA2LjcgOS42IDEyLjFsMTAuNCA2Mi40Yy0yMy4zIDEwLjgtNDIuOSAyOC40LTU2IDUwLjNjLTE0LjYtOS0zMS44LTE0LjEtNTAuMi0xNC4xYy01MyAwLTk2IDQzLTk2IDk2YzAgMzUuNSAxOS4zIDY2LjYgNDggODMuMmMuOCAzMS44IDEzLjIgNjAuNyAzMy4xIDgyLjdsLTU2IDM5LjJjLTQuNSAzLjItMTAuMyAzLjgtMTUuNCAxLjZzLTguNy02LjctOS42LTEyLjFMOTguMSAzMTcuOSAxMy40IDMwMy44Yy01LjQtLjktMTAtNC41LTEyLjEtOS42cy0xLjUtMTAuOSAxLjYtMTUuNEw1Mi41IDIwOCAyLjkgMTM3LjJjLTMuMi00LjUtMy44LTEwLjMtMS42LTE1LjRzNi43LTguNyAxMi4xLTkuNkw5OC4xIDk4LjFsMTQuMS04NC43Yy45LTUuNCA0LjUtMTAgOS42LTEyLjFzMTAuOS0xLjUgMTUuNCAxLjZMMjA4IDUyLjUgMjc4LjggMi45YzQuNS0zLjIgMTAuMy0zLjggMTUuNC0xLjZ6TTIwOCAxNDRjMTMuOCAwIDI2LjcgNC40IDM3LjEgMTEuOWMtMS4yIDQuMS0yLjIgOC4zLTMgMTIuNmMtMzcuOSAxNC42LTY3LjIgNDYuNi03Ny44IDg2LjRDMTUxLjggMjQzLjEgMTQ0IDIyNi41IDE0NCAyMDhjMC0zNS4zIDI4LjctNjQgNjQtNjR6bTY5LjQgMjc2YzExIDcuNCAxNCAyMi4zIDYuNyAzMy4zbC0zMiA0OGMtNy40IDExLTIyLjMgMTQtMzMuMyA2LjdzLTE0LTIyLjMtNi43LTMzLjNsMzItNDhjNy40LTExIDIyLjMtMTQgMzMuMy02Ljd6bTk2IDBjMTEgNy40IDE0IDIyLjMgNi43IDMzLjNsLTMyIDQ4Yy03LjQgMTEtMjIuMyAxNC0zMy4zIDYuN3MtMTQtMjIuMy02LjctMzMuM2wzMi00OGM3LjQtMTEgMjIuMy0xNCAzMy4zLTYuN3ptOTYgMGMxMSA3LjQgMTQgMjIuMyA2LjcgMzMuM2wtMzIgNDhjLTcuNCAxMS0yMi4zIDE0LTMzLjMgNi43cy0xNC0yMi4zLTYuNy0zMy4zbDMyLTQ4YzcuNC0xMSAyMi4zLTE0IDMzLjMtNi43em05NiAwYzExIDcuNCAxNCAyMi4zIDYuNyAzMy4zbC0zMiA0OGMtNy40IDExLTIyLjMgMTQtMzMuMyA2LjdzLTE0LTIyLjMtNi43LTMzLjNsMzItNDhjNy40LTExIDIyLjMtMTQgMzMuMy02Ljd6bTc0LjUtMTE2LjFjMCA0NC4yLTM1LjggODAtODAgODBIMjg4Yy01MyAwLTk2LTQzLTk2LTk2YzAtNDcuNiAzNC42LTg3IDgwLTk0LjZsMC0xLjNjMC01MyA0My05NiA5Ni05NmMzNC45IDAgNjUuNCAxOC42IDgyLjIgNDYuNGMxMy05LjEgMjguOC0xNC40IDQ1LjgtMTQuNGM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDUuOS0uNiAxMS43LTEuOSAxNy4yYzM3LjQgNi43IDY1LjggMzkuNCA2NS44IDc4Ljd6XCJdXG59O1xudmFyIGZhQ29tcHJlc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tcHJlc3MnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYwNjZcIiwgXCJNMTYwIDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMydjY0SDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDk2YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjY0ek0zMiAzMjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJIOTZ2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzNTJjMC0xNy43LTE0LjMtMzItMzItMzJIMzJ6TTM1MiA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnY5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmg5NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzNTJWNjR6TTMyMCAzMjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMzg0aDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDMyMHpcIl1cbn07XG52YXIgZmFXaGVhdEF3biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3aGVhdC1hd24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcIndoZWF0LWFsdFwiXSwgXCJlMmNkXCIsIFwiTTUwNSA0MWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwTDM4MyA5NWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDg4LTg4ek0zMDUuNSAyNy4zYy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMEwyNzEuNSAzOC42Yy0zNy41IDM3LjUtMzcuNSA5OC4zIDAgMTM1LjhsMTAuNCAxMC40LTMwLjUgMzAuNWMtMy40LTI3LjMtMTUuNS01My44LTM2LjUtNzQuOGwtMTEuMy0xMS4zYy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMGwtMTEuMyAxMS4zYy0zNy41IDM3LjUtMzcuNSA5OC4zIDAgMTM1LjhsMTAuNCAxMC40LTMwLjUgMzAuNWMtMy40LTI3LjMtMTUuNS01My44LTM2LjUtNzQuOEwxMDEuOCAyMzFjLTYuMi02LjItMTYuNC02LjItMjIuNiAwTDY3LjkgMjQyLjNjLTM3LjUgMzcuNS0zNy41IDk4LjMgMCAxMzUuOGwxMC40IDEwLjRMOS40IDQ1Ny40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDY4LjktNjguOSAxMi4yIDEyLjJjMzcuNSAzNy41IDk4LjMgMzcuNSAxMzUuOCAwbDExLjMtMTEuM2M2LjItNi4yIDYuMi0xNi40IDAtMjIuNmwtMTEuMy0xMS4zYy0yMS44LTIxLjgtNDkuNi0zNC4xLTc4LjEtMzYuOWwzMS45LTMxLjkgMTIuMiAxMi4yYzM3LjUgMzcuNSA5OC4zIDM3LjUgMTM1LjggMGwxMS4zLTExLjNjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZsLTExLjMtMTEuM2MtMjEuOC0yMS44LTQ5LjYtMzQuMS03OC4xLTM2LjlsMzEuOS0zMS45IDEyLjIgMTIuMmMzNy41IDM3LjUgOTguMyAzNy41IDEzNS44IDBMNDg2LjUgMjMxYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42TDQ3NS4yIDE5N2MtNS4yLTUuMi0xMC42LTkuOC0xNi40LTEzLjlMNTA1IDEzN2M5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC01OS40IDU5LjRjLTIwLjYtNC40LTQyLTMuNy02Mi4zIDIuMWM2LjEtMjEuMyA2LjYtNDMuOCAxLjQtNjUuM0w0MDkgNDFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMEwzMjkuMSA1Mi45Yy0zLjctNS03LjgtOS44LTEyLjQtMTQuM0wzMDUuNSAyNy4zelwiXVxufTtcbnZhciBmYVdoZWF0QWx0ID0gZmFXaGVhdEF3bjtcbnZhciBmYUFua2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5raCcsXG4gIGljb246IFszMjAsIDUxMiwgWzk3NjVdLCBcImY2NDRcIiwgXCJNOTYgMTI4YzAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjRjMCA0MS42LTIwLjcgNzYuNi00Ni42IDEwNC4xYy01LjkgNi4yLTExLjggMTEuOC0xNy40IDE2LjdjLTUuNi00LjktMTEuNS0xMC41LTE3LjQtMTYuN0MxMTYuNyAyMDQuNiA5NiAxNjkuNiA5NiAxMjh6TTE2MCAwQzg5LjMgMCAzMiA1Ny4zIDMyIDEyOGMwIDUyLjQgMjEuNSA5NS41IDQ2LjggMTI4SDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDk2VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjMyMGg5NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgyNDEuMmMyNS40LTMyLjUgNDYuOC03NS42IDQ2LjgtMTI4QzI4OCA1Ny4zIDIzMC43IDAgMTYwIDB6XCJdXG59O1xudmFyIGZhSGFuZHNIb2xkaW5nQ2hpbGQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZHMtaG9sZGluZy1jaGlsZCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRmYVwiLCBcIk0zMjAgMGE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6bTQ0LjcgMTY0LjNMMzc1LjggMjUzYzEuNiAxMy4yLTcuNyAyNS4xLTIwLjggMjYuOHMtMjUuMS03LjctMjYuOC0yMC44bC00LjQtMzVoLTcuNmwtNC40IDM1Yy0xLjYgMTMuMi0xMy42IDIyLjUtMjYuOCAyMC44cy0yMi41LTEzLjYtMjAuOC0yNi44bDExLjEtODguOEwyNTUuNSAxODFjLTEwLjEgOC42LTI1LjMgNy4zLTMzLjgtMi44cy03LjMtMjUuMyAyLjgtMzMuOGwyNy45LTIzLjZDMjcxLjMgMTA0LjggMjk1LjMgOTYgMzIwIDk2czQ4LjcgOC44IDY3LjYgMjQuN2wyNy45IDIzLjZjMTAuMSA4LjYgMTEuNCAyMy43IDIuOCAzMy44cy0yMy43IDExLjQtMzMuOCAyLjhsLTE5LjgtMTYuN3pNNDAgNjRjMjIuMSAwIDQwIDE3LjkgNDAgNDB2NDAgODAgNDAuMmMwIDE3IDYuNyAzMy4zIDE4LjcgNDUuM2w1MS4xIDUxLjFjOC4zIDguMyAyMS4zIDkuNiAzMSAzLjFjMTIuOS04LjYgMTQuNy0yNi45IDMuNy0zNy44bC0xNS4yLTE1LjItMzItMzJjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBsMzIgMzIgMTUuMiAxNS4yIDAgMCAyNS4zIDI1LjNjMjEgMjEgMzIuOCA0OS41IDMyLjggNzkuMlY0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhIMTczLjNjLTE3IDAtMzMuMy02LjctNDUuMy0xOC43TDI4LjEgMzkzLjRDMTAuMSAzNzUuNCAwIDM1MSAwIDMyNS41VjIyNCAxNjAgMTA0QzAgODEuOSAxNy45IDY0IDQwIDY0em01NjAgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MHY1NiA2NFYzMjUuNWMwIDI1LjUtMTAuMSA0OS45LTI4LjEgNjcuOUw1MTIgNDkzLjNjLTEyIDEyLTI4LjMgMTguNy00NS4zIDE4LjdINDAwYy0yNi41IDAtNDgtMjEuNS00OC00OFYzODUuMWMwLTI5LjcgMTEuOC01OC4yIDMyLjgtNzkuMmwyNS4zLTI1LjMgMCAwIDE1LjItMTUuMiAzMi0zMmMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zbC0zMiAzMi0xNS4yIDE1LjJjLTExIDExLTkuMiAyOS4yIDMuNyAzNy44YzkuNyA2LjUgMjIuNyA1LjIgMzEtMy4xbDUxLjEtNTEuMWMxMi0xMiAxOC43LTI4LjMgMTguNy00NS4zVjIyNCAxNDQgMTA0YzAtMjIuMSAxNy45LTQwIDQwLTQwelwiXVxufTtcbnZhciBmYUFzdGVyaXNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2FzdGVyaXNrJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTAwMzMsIDYxNTQ1XSwgXCIyYVwiLCBcIk0xOTIgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJWMTk5LjVsMTExLjUtNjYuOWMxNS4yLTkuMSAzNC44LTQuMiA0My45IDExczQuMiAzNC44LTExIDQzLjlMMjU0LjIgMjU2bDExNC4zIDY4LjZjMTUuMiA5LjEgMjAuMSAyOC43IDExIDQzLjlzLTI4LjcgMjAuMS00My45IDExTDIyNCAzMTIuNVY0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzEyLjVMNDguNSAzNzkuNGMtMTUuMiA5LjEtMzQuOCA0LjItNDMuOS0xMXMtNC4yLTM0LjggMTEtNDMuOUwxMjkuOCAyNTYgMTUuNSAxODcuNGMtMTUuMi05LjEtMjAuMS0yOC43LTExLTQzLjlzMjguNy0yMC4xIDQzLjktMTFMMTYwIDE5OS41VjY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyelwiXVxufTtcbnZhciBmYVNxdWFyZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1jaGVjaycsXG4gIGljb246IFs0NDgsIDUxMiwgWzk3NDUsIDk5ODksIDYxNTEwLCBcImNoZWNrLXNxdWFyZVwiXSwgXCJmMTRhXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDM4NGMzNS4zIDAgNjQtMjguNyA2NC02NFY5NmMwLTM1LjMtMjguNy02NC02NC02NEg2NHpNMzM3IDIwOUwyMDkgMzM3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtNjQtNjRjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw0NyA0N0wzMDMgMTc1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOXpcIl1cbn07XG52YXIgZmFDaGVja1NxdWFyZSA9IGZhU3F1YXJlQ2hlY2s7XG52YXIgZmFQZXNldGFTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Blc2V0YS1zaWduJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlMjIxXCIsIFwiTTY0IDMyQzQ2LjMgMzIgMzIgNDYuMyAzMiA2NHY5NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwwIDk2VjQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjM1Mmg5NmM3Ny40IDAgMTQyLTU1IDE1Ni44LTEyOEgzNTJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJoLTMuMkMzMzQgODcgMjY5LjQgMzIgMTkyIDMySDY0ek0yODIuNSAxNjBIOTZWOTZoOTZjNDEuOCAwIDc3LjQgMjYuNyA5MC41IDY0ek05NiAyMjRIMjgyLjVjLTEzLjIgMzcuMy00OC43IDY0LTkwLjUgNjRIOTZWMjI0elwiXVxufTtcbnZhciBmYUhlYWRpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVhZGluZycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiaGVhZGVyXCJdLCBcImYxZGNcIiwgXCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMkg4MGg0OGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgxMTJWMjA4SDMzNlY5NkgzMjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJoNDggNDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJINDAwVjI0MCA0MTZoMTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzY4IDMyMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmgxNlYyNzJIMTEyVjQxNmgxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg4MCAzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkg0OFYyNDAgOTZIMzJDMTQuMyA5NiAwIDgxLjcgMCA2NHpcIl1cbn07XG52YXIgZmFIZWFkZXIgPSBmYUhlYWRpbmc7XG52YXIgZmFHaG9zdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnaG9zdCcsXG4gIGljb246IFszODQsIDUxMiwgWzEyODEyM10sIFwiZjZlMlwiLCBcIk00MC4xIDQ2Ny4xbC0xMS4yIDljLTMuMiAyLjUtNy4xIDMuOS0xMS4xIDMuOUM4IDQ4MCAwIDQ3MiAwIDQ2Mi4yVjE5MkMwIDg2IDg2IDAgMTkyIDBTMzg0IDg2IDM4NCAxOTJWNDYyLjJjMCA5LjgtOCAxNy44LTE3LjggMTcuOGMtNCAwLTcuOS0xLjQtMTEuMS0zLjlsLTExLjItOWMtMTMuNC0xMC43LTMyLjgtOS00NC4xIDMuOUwyNjkuMyA1MDZjLTMuMyAzLjgtOC4yIDYtMTMuMyA2cy05LjktMi4yLTEzLjMtNmwtMjYuNi0zMC41Yy0xMi43LTE0LjYtMzUuNC0xNC42LTQ4LjIgMEwxNDEuMyA1MDZjLTMuMyAzLjgtOC4yIDYtMTMuMyA2cy05LjktMi4yLTEzLjMtNkw4NC4yIDQ3MWMtMTEuMy0xMi45LTMwLjctMTQuNi00NC4xLTMuOXpNMTYwIDE5MmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem05NiAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xudmFyIGZhTGlzdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsaXN0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJsaXN0LXNxdWFyZXNcIl0sIFwiZjAzYVwiLCBcIk00MCA0OEMyNi43IDQ4IDE2IDU4LjcgMTYgNzJ2NDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRIODhjMTMuMyAwIDI0LTEwLjcgMjQtMjRWNzJjMC0xMy4zLTEwLjctMjQtMjQtMjRINDB6TTE5MiA2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg0ODBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTkyem0wIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg0ODBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTkyem0wIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg0ODBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTkyek0xNiAyMzJ2NDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRIODhjMTMuMyAwIDI0LTEwLjcgMjQtMjRWMjMyYzAtMTMuMy0xMC43LTI0LTI0LTI0SDQwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHpNNDAgMzY4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHY0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNEg4OGMxMy4zIDAgMjQtMTAuNyAyNC0yNFYzOTJjMC0xMy4zLTEwLjctMjQtMjQtMjRINDB6XCJdXG59O1xudmFyIGZhTGlzdFNxdWFyZXMgPSBmYUxpc3Q7XG52YXIgZmFTcXVhcmVQaG9uZUZsaXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLXBob25lLWZsaXAnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcInBob25lLXNxdWFyZS1hbHRcIl0sIFwiZjg3YlwiLCBcIk0zODQgMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRWNDE2YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY5NkMwIDYwLjcgMjguNyAzMiA2NCAzMkgzODR6bS05MC43IDk2LjdjLTkuNy0yLjYtMTkuOSAyLjMtMjMuNyAxMS42bC0yMCA0OGMtMy40IDguMi0xIDE3LjYgNS44IDIzLjJMMjgwIDIzMS43Yy0xNi42IDM1LjItNDUuMSA2My43LTgwLjMgODAuM2wtMjAuMi0yNC43Yy01LjYtNi44LTE1LTkuMi0yMy4yLTUuOGwtNDggMjBjLTkuMyAzLjktMTQuMiAxNC0xMS42IDIzLjdsMTIgNDRDMTExLjEgMzc4IDExOSAzODQgMTI4IDM4NGMxMjMuNyAwIDIyNC0xMDAuMyAyMjQtMjI0YzAtOS02LTE2LjktMTQuNy0xOS4zbC00NC0xMnpcIl1cbn07XG52YXIgZmFQaG9uZVNxdWFyZUFsdCA9IGZhU3F1YXJlUGhvbmVGbGlwO1xudmFyIGZhQ2FydFBsdXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FydC1wbHVzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMjE3XCIsIFwiTTAgMjRDMCAxMC43IDEwLjcgMCAyNCAwSDY5LjVjMjIgMCA0MS41IDEyLjggNTAuNiAzMmg0MTFjMjYuMyAwIDQ1LjUgMjUgMzguNiA1MC40bC00MSAxNTIuM2MtOC41IDMxLjQtMzcgNTMuMy02OS41IDUzLjNIMTcwLjdsNS40IDI4LjVjMi4yIDExLjMgMTIuMSAxOS41IDIzLjYgMTkuNUg0ODhjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIMTk5LjdjLTM0LjYgMC02NC4zLTI0LjYtNzAuNy01OC41TDc3LjQgNTQuNWMtLjctMy44LTQtNi41LTcuOS02LjVIMjRDMTAuNyA0OCAwIDM3LjMgMCAyNHpNMTI4IDQ2NGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem0zMzYtNDhhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2ek0yNTIgMTYwYzAgMTEgOSAyMCAyMCAyMGg0NHY0NGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMFYxODBoNDRjMTEgMCAyMC05IDIwLTIwcy05LTIwLTIwLTIwSDM1NlY5NmMwLTExLTktMjAtMjAtMjBzLTIwIDktMjAgMjB2NDRIMjcyYy0xMSAwLTIwIDktMjAgMjB6XCJdXG59O1xudmFyIGZhR2FtZXBhZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnYW1lcGFkJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmMTFiXCIsIFwiTTE5MiA2NEM4NiA2NCAwIDE1MCAwIDI1NlM4NiA0NDggMTkyIDQ0OEg0NDhjMTA2IDAgMTkyLTg2IDE5Mi0xOTJzLTg2LTE5Mi0xOTItMTkySDE5MnpNNDk2IDE2OGE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6TTM5MiAzMDRhNDAgNDAgMCAxIDEgODAgMCA0MCA0MCAwIDEgMSAtODAgMHpNMTY4IDIwMGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0djMyaDMyYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDIxNnYzMmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYyODBIMTM2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0aDMyVjIwMHpcIl1cbn07XG52YXIgZmFDaXJjbGVEb3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLWRvdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODI4MCwgXCJkb3QtY2lyY2xlXCJdLCBcImYxOTJcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6bTAtMzUyYTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyelwiXVxufTtcbnZhciBmYURvdENpcmNsZSA9IGZhQ2lyY2xlRG90O1xudmFyIGZhRmFjZURpenp5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtZGl6enknLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImRpenp5XCJdLCBcImY1NjdcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6bTAtMjI0YTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4ek0xMDAuNyAxMzIuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMEwxNjAgMTY5LjRsMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNkwxODIuNiAxOTJsMzYuNyAzNi43YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBMMTYwIDIxNC42bC0zNi43IDM2LjdjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZMMTM3LjQgMTkybC0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42em0xOTIgMGM2LjItNi4yIDE2LjQtNi4yIDIyLjYgMEwzNTIgMTY5LjRsMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNkwzNzQuNiAxOTJsMzYuNyAzNi43YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBMMzUyIDIxNC42bC0zNi43IDM2LjdjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZMMzI5LjQgMTkybC0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42elwiXVxufTtcbnZhciBmYURpenp5ID0gZmFGYWNlRGl6enk7XG52YXIgZmFFZ2cgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZWdnJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI5MzcwXSwgXCJmN2ZiXCIsIFwiTTE5MiA0OTZDODYgNDk2IDAgMzk0IDAgMjg4QzAgMTc2IDY0IDE2IDE5MiAxNnMxOTIgMTYwIDE5MiAyNzJjMCAxMDYtODYgMjA4LTE5MiAyMDh6TTE1NC44IDEzNGM2LjUtNiA3LTE2LjEgMS0yMi42cy0xNi4xLTctMjIuNi0xYy0yMy45IDIxLjgtNDEuMSA1Mi43LTUyLjMgODQuMkM2OS43IDIyNi4xIDY0IDI1OS43IDY0IDI4OGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2YzAtMjQuNSA1LTU0LjQgMTUuMS04Mi44YzEwLjEtMjguNSAyNS01NC4xIDQzLjctNzEuMnpcIl1cbn07XG52YXIgZmFIb3VzZU1lZGljYWxDaXJjbGVYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1tZWRpY2FsLWNpcmNsZS14bWFyaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUxM1wiLCBcIk0zMjAgMzY4YzAgNTkuNSAyOS41IDExMi4xIDc0LjggMTQ0SDEyOC4xYy0zNS4zIDAtNjQtMjguNy02NC02NFYyODcuNkgzMmMtMTggMC0zMi0xNC0zMi0zMi4xYzAtOSAzLTE3IDEwLTI0TDI2Ni40IDhjNy03IDE1LTggMjItOHMxNSAyIDIxIDdMNTIyLjEgMTkzLjljLTguNS0xLjMtMTcuMy0xLjktMjYuMS0xLjljLTU0LjcgMC0xMDMuNSAyNC45LTEzNS44IDY0SDMyMFYyMDhjMC04LjgtNy4yLTE2LTE2LTE2SDI3MmMtOC44IDAtMTYgNy4yLTE2IDE2djQ4SDIwOGMtOC44IDAtMTYgNy4yLTE2IDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNmg0OHY0OGMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2ek00OTYgMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMjIuNiAxNDRsMzYuNy0zNi43YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBMNDk2IDM0NS40bC0zNi43LTM2LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZMNDczLjQgMzY4bC0zNi43IDM2LjdjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMEw0OTYgMzkwLjZsMzYuNyAzNi43YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNkw1MTguNiAzNjh6XCJdXG59O1xudmFyIGZhQ2FtcGdyb3VuZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYW1wZ3JvdW5kJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbOTk3OF0sIFwiZjZiYlwiLCBcIk0zNzcgNTJjMTEtMTMuOCA4LjgtMzMuOS01LTQ1cy0zMy45LTguOC00NSA1TDI4OCA2MC44IDI0OSAxMmMtMTEtMTMuOC0zMS4yLTE2LTQ1LTVzLTE2IDMxLjItNSA0NWw0OCA2MEwxMi4zIDQwNS40QzQuMyA0MTUuNCAwIDQyNy43IDAgNDQwLjRWNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDI4OCA1MjhjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWNDQwLjRjMC0xMi43LTQuMy0yNS4xLTEyLjMtMzVMMzI5IDExMmw0OC02MHpNMjg4IDQ0OEgxNjguNUwyODggMjkxLjcgNDA3LjUgNDQ4SDI4OHpcIl1cbn07XG52YXIgZmFGb2xkZXJQbHVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZvbGRlci1wbHVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNjVlXCIsIFwiTTUxMiA0MTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0Vjk2QzAgNjAuNyAyOC43IDMyIDY0IDMySDE5MmMyMC4xIDAgMzkuMSA5LjUgNTEuMiAyNS42bDE5LjIgMjUuNmM2IDguMSAxNS41IDEyLjggMjUuNiAxMi44SDQ0OGMzNS4zIDAgNjQgMjguNyA2NCA2NFY0MTZ6TTIzMiAzNzZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFYzMTJoNjRjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRIMjgwVjIwMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHY2NEgxNjhjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRoNjR2NjR6XCJdXG59O1xudmFyIGZhRnV0Ym9sID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Z1dGJvbCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzk5MTcsIFwiZnV0Ym9sLWJhbGxcIiwgXCJzb2NjZXItYmFsbFwiXSwgXCJmMWUzXCIsIFwiTTQxNy4zIDM2MC4xbC03MS42LTQuOGMtNS4yLS4zLTEwLjMgMS4xLTE0LjUgNC4ycy03LjIgNy40LTguNCAxMi41bC0xNy42IDY5LjZDMjg5LjUgNDQ1LjggMjczIDQ0OCAyNTYgNDQ4cy0zMy41LTIuMi00OS4yLTYuNEwxODkuMiAzNzJjLTEuMy01LTQuMy05LjQtOC40LTEyLjVzLTkuMy00LjUtMTQuNS00LjJsLTcxLjYgNC44Yy0xNy42LTI3LjItMjguNS01OS4yLTMwLjQtOTMuNkwxMjUgMjI4LjNjNC40LTIuOCA3LjYtNyA5LjItMTEuOXMxLjQtMTAuMi0uNS0xNWwtMjYuNy02Ni42QzEyOCAxMDkuMiAxNTUuMyA4OSAxODYuNyA3Ni45bDU1LjIgNDZjNCAzLjMgOSA1LjEgMTQuMSA1LjFzMTAuMi0xLjggMTQuMS01LjFsNTUuMi00NmMzMS4zIDEyLjEgNTguNyAzMi4zIDc5LjYgNTcuOWwtMjYuNyA2Ni42Yy0xLjkgNC44LTIuMSAxMC4xLS41IDE1czQuOSA5LjEgOS4yIDExLjlsNjAuNyAzOC4yYy0xLjkgMzQuNC0xMi44IDY2LjQtMzAuNCA5My42ek0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnptMTQuMS0zMjUuN2MtOC40LTYuMS0xOS44LTYuMS0yOC4yIDBMMTk0IDIyMWMtOC40IDYuMS0xMS45IDE2LjktOC43IDI2LjhsMTguMyA1Ni4zYzMuMiA5LjkgMTIuNCAxNi42IDIyLjggMTYuNmg1OS4yYzEwLjQgMCAxOS42LTYuNyAyMi44LTE2LjZsMTguMy01Ni4zYzMuMi05LjktLjMtMjAuNy04LjctMjYuOGwtNDcuOS0zNC44elwiXVxufTtcbnZhciBmYUZ1dGJvbEJhbGwgPSBmYUZ1dGJvbDtcbnZhciBmYVNvY2NlckJhbGwgPSBmYUZ1dGJvbDtcbnZhciBmYVBhaW50YnJ1c2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGFpbnRicnVzaCcsXG4gIGljb246IFs1NzYsIDUxMiwgWzEyODM5NiwgXCJwYWludC1icnVzaFwiXSwgXCJmMWZjXCIsIFwiTTMzOS4zIDM2Ny4xYzI3LjMtMy45IDUxLjktMTkuNCA2Ny4yLTQyLjlMNTY4LjIgNzQuMWMxMi42LTE5LjUgOS40LTQ1LjMtNy42LTYxLjJTNTE3LjctNC40IDQ5OS4xIDkuNkwyNjIuNCAxODcuMmMtMjQgMTgtMzguMiA0Ni4xLTM4LjQgNzYuMUwzMzkuMyAzNjcuMXptLTE5LjYgMjUuNGwtMTE2LTEwNC40QzE0My45IDI5MC4zIDk2IDMzOS42IDk2IDQwMGMwIDMuOSAuMiA3LjggLjYgMTEuNkM5OC40IDQyOS4xIDg2LjQgNDQ4IDY4LjggNDQ4SDY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDIwOGM2MS45IDAgMTEyLTUwLjEgMTEyLTExMmMwLTIuNS0uMS01LS4yLTcuNXpcIl1cbn07XG52YXIgZmFQYWludEJydXNoID0gZmFQYWludGJydXNoO1xudmFyIGZhTG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsb2NrJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI4Mjc0XSwgXCJmMDIzXCIsIFwiTTE0NCAxNDR2NDhIMzA0VjE0NGMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MHpNODAgMTkyVjE0NEM4MCA2NC41IDE0NC41IDAgMjI0IDBzMTQ0IDY0LjUgMTQ0IDE0NHY0OGgxNmMzNS4zIDAgNjQgMjguNyA2NCA2NFY0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjI1NmMwLTM1LjMgMjguNy02NCA2NC02NEg4MHpcIl1cbn07XG52YXIgZmFHYXNQdW1wID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dhcy1wdW1wJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTk4MV0sIFwiZjUyZlwiLCBcIk0zMiA2NEMzMiAyOC43IDYwLjcgMCA5NiAwSDI1NmMzNS4zIDAgNjQgMjguNyA2NCA2NFYyNTZoOGM0OC42IDAgODggMzkuNCA4OCA4OHYzMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjIyMmMtMjcuNi03LjEtNDgtMzIuMi00OC02MlY5NkwzODQgNjRjLTguOC04LjgtOC44LTIzLjIgMC0zMnMyMy4yLTguOCAzMiAwbDc3LjMgNzcuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zVjE2OHYyNCAzMlYzNzZjMCAzOS44LTMyLjIgNzItNzIgNzJzLTcyLTMyLjItNzItNzJWMzQ0YzAtMjIuMS0xNy45LTQwLTQwLTQwaC04VjQ0OGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMlY2NHpNOTYgODB2OTZjMCA4LjggNy4yIDE2IDE2IDE2SDI0MGM4LjggMCAxNi03LjIgMTYtMTZWODBjMC04LjgtNy4yLTE2LTE2LTE2SDExMmMtOC44IDAtMTYgNy4yLTE2IDE2elwiXVxufTtcbnZhciBmYUhvdFR1YlBlcnNvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3QtdHViLXBlcnNvbicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiaG90LXR1YlwiXSwgXCJmNTkzXCIsIFwiTTI3MiAyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHY1LjJjMCAzNCAxNC40IDY2LjQgMzkuNyA4OS4ybDE2LjQgMTQuOGMxNS4yIDEzLjcgMjMuOCAzMy4xIDIzLjggNTMuNVYyMDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFYxODYuOGMwLTM0LTE0LjQtNjYuNC0zOS43LTg5LjJMMjk1LjggODIuOEMyODAuNyA2OS4xIDI3MiA0OS43IDI3MiAyOS4yVjI0ek0wIDMyMHYxNlY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRINDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0VjMyMGMwLTM1LjMtMjguNy02NC02NC02NEgyNzcuM2MtMTMuOCAwLTI3LjMtNC41LTM4LjQtMTIuOGwtODUuMy02NEMxMzcgMTY2LjcgMTE2LjggMTYwIDk2IDE2MGMtNTMgMC05NiA0My05NiA5NnY2NHptMTI4IDE2djk2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjMzNmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2em04MC0xNmM4LjggMCAxNiA3LjIgMTYgMTZ2OTZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWMzM2YzAtOC44IDcuMi0xNiAxNi0xNnptMTEyIDE2djk2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjMzNmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2em04MC0xNmM4LjggMCAxNiA3LjIgMTYgMTZ2OTZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWMzM2YzAtOC44IDcuMi0xNiAxNi0xNnpNMzYwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0djUuMmMwIDM0IDE0LjQgNjYuNCAzOS43IDg5LjJsMTYuNCAxNC44YzE1LjIgMTMuNyAyMy44IDMzLjEgMjMuOCA1My41VjIwMGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjE4Ni44YzAtMzQtMTQuNC02Ni40LTM5LjctODkuMkw0MDcuOCA4Mi44QzM5Mi43IDY5LjEgMzg0IDQ5LjcgMzg0IDI5LjJWMjRjMC0xMy4zLTEwLjctMjQtMjQtMjR6TTY0IDEyOEE2NCA2NCAwIDEgMCA2NCAwYTY0IDY0IDAgMSAwIDAgMTI4elwiXVxufTtcbnZhciBmYUhvdFR1YiA9IGZhSG90VHViUGVyc29uO1xudmFyIGZhTWFwTG9jYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFwLWxvY2F0aW9uJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJtYXAtbWFya2VkXCJdLCBcImY1OWZcIiwgXCJNMzAyLjggMzEyQzMzNC45IDI3MS45IDQwOCAxNzQuNiA0MDggMTIwQzQwOCA1My43IDM1NC4zIDAgMjg4IDBTMTY4IDUzLjcgMTY4IDEyMGMwIDU0LjYgNzMuMSAxNTEuOSAxMDUuMiAxOTJjNy43IDkuNiAyMiA5LjYgMjkuNiAwek00MTYgNTAzbDE0NC45LTU4YzkuMS0zLjYgMTUuMS0xMi41IDE1LjEtMjIuM1YxNTJjMC0xNy0xNy4xLTI4LjYtMzIuOS0yMi4zbC0xMTYgNDYuNGMtLjUgMS4yLTEgMi41LTEuNSAzLjdjLTIuOSA2LjgtNi4xIDEzLjctOS42IDIwLjZWNTAzek0xNS4xIDE4Ny4zQzYgMTkxIDAgMTk5LjggMCAyMDkuNlY0ODAuNGMwIDE3IDE3LjEgMjguNiAzMi45IDIyLjNMMTYwIDQ1MS44VjIwMC40Yy0zLjUtNi45LTYuNy0xMy44LTkuNi0yMC42Yy01LjYtMTMuMi0xMC40LTI3LjQtMTIuOC00MS41bC0xMjIuNiA0OXpNMzg0IDI1NWMtMjAuNSAzMS4zLTQyLjMgNTkuNi01Ni4yIDc3Yy0yMC41IDI1LjYtNTkuMSAyNS42LTc5LjYgMGMtMTMuOS0xNy40LTM1LjctNDUuNy01Ni4yLTc3VjQ0OS40bDE5MiA1NC45VjI1NXpcIl1cbn07XG52YXIgZmFNYXBNYXJrZWQgPSBmYU1hcExvY2F0aW9uO1xudmFyIGZhSG91c2VGbG9vZFdhdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLWZsb29kLXdhdGVyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTBlXCIsIFwiTTMwNi44IDYuMUMyOTUuNi0yIDI4MC40LTIgMjY5LjIgNi4xbC0xNzYgMTI4Yy0xMS4yIDguMi0xNS45IDIyLjYtMTEuNiAzNS44Uzk4LjEgMTkyIDExMiAxOTJoMTZ2NzNjMS43IDEgMy4zIDIgNC45IDMuMWMxOCAxMi40IDQwLjEgMjAuMyA1OS4yIDIwLjNjMjEuMSAwIDQyLTguNSA1OS4yLTIwLjNjMjIuMS0xNS41IDUxLjYtMTUuNSA3My43IDBjMTguNCAxMi43IDM5LjYgMjAuMyA1OS4yIDIwLjNjMTkgMCA0MS4yLTcuOSA1OS4yLTIwLjNjMS41LTEgMy0yIDQuNS0yLjlsLS4zLTczLjJINDY0YzEzLjkgMCAyNi4xLTguOSAzMC40LTIyLjFzLS40LTI3LjYtMTEuNi0zNS44bC0xNzYtMTI4ek0yNjkuNSAzMDkuOUMyNDcgMzI1LjQgMjE5LjUgMzM2IDE5MiAzMzZjLTI2LjkgMC01NS4zLTEwLjgtNzcuNC0yNi4xbDAgMGMtMTEuOS04LjUtMjguMS03LjgtMzkuMiAxLjdjLTE0LjQgMTEuOS0zMi41IDIxLTUwLjYgMjUuMmMtMTcuMiA0LTI3LjkgMjEuMi0yMy45IDM4LjRzMjEuMiAyNy45IDM4LjQgMjMuOWMyNC41LTUuNyA0NC45LTE2LjUgNTguMi0yNUMxMjYuNSAzODkuNyAxNTkgNDAwIDE5MiA0MDBjMzEuOSAwIDYwLjYtOS45IDgwLjQtMTguOWM1LjgtMi43IDExLjEtNS4zIDE1LjYtNy43YzQuNSAyLjQgOS43IDUuMSAxNS42IDcuN2MxOS44IDkgNDguNSAxOC45IDgwLjQgMTguOWMzMyAwIDY1LjUtMTAuMyA5NC41LTI1LjhjMTMuNCA4LjQgMzMuNyAxOS4zIDU4LjIgMjVjMTcuMiA0IDM0LjQtNi43IDM4LjQtMjMuOXMtNi43LTM0LjQtMjMuOS0zOC40Yy0xOC4xLTQuMi0zNi4yLTEzLjMtNTAuNi0yNS4yYy0xMS4xLTkuNS0yNy4zLTEwLjEtMzkuMi0xLjdsMCAwQzQzOS40IDMyNS4yIDQxMC45IDMzNiAzODQgMzM2Yy0yNy41IDAtNTUtMTAuNi03Ny41LTI2LjFjLTExLjEtNy45LTI1LjktNy45LTM3IDB6TTM4NCA0NDhjLTI3LjUgMC01NS0xMC42LTc3LjUtMjYuMWMtMTEuMS03LjktMjUuOS03LjktMzcgMEMyNDcgNDM3LjQgMjE5LjUgNDQ4IDE5MiA0NDhjLTI2LjkgMC01NS4zLTEwLjgtNzcuNC0yNi4xbDAgMGMtMTEuOS04LjUtMjguMS03LjgtMzkuMiAxLjdjLTE0LjQgMTEuOS0zMi41IDIxLTUwLjYgMjUuMmMtMTcuMiA0LTI3LjkgMjEuMi0yMy45IDM4LjRzMjEuMiAyNy45IDM4LjQgMjMuOWMyNC41LTUuNyA0NC45LTE2LjUgNTguMi0yNUMxMjYuNSA1MDEuNyAxNTkgNTEyIDE5MiA1MTJjMzEuOSAwIDYwLjYtOS45IDgwLjQtMTguOWM1LjgtMi43IDExLjEtNS4zIDE1LjYtNy43YzQuNSAyLjQgOS43IDUuMSAxNS42IDcuN2MxOS44IDkgNDguNSAxOC45IDgwLjQgMTguOWMzMyAwIDY1LjUtMTAuMyA5NC41LTI1LjhjMTMuNCA4LjQgMzMuNyAxOS4zIDU4LjIgMjVjMTcuMiA0IDM0LjQtNi43IDM4LjQtMjMuOXMtNi43LTM0LjQtMjMuOS0zOC40Yy0xOC4xLTQuMi0zNi4yLTEzLjMtNTAuNi0yNS4yYy0xMS4xLTkuNC0yNy4zLTEwLjEtMzkuMi0xLjdsMCAwQzQzOS40IDQzNy4yIDQxMC45IDQ0OCAzODQgNDQ4elwiXVxufTtcbnZhciBmYVRyZWUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJlZScsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyNzc5NF0sIFwiZjFiYlwiLCBcIk0yMTAuNiA1LjlMNjIgMTY5LjRjLTMuOSA0LjItNiA5LjgtNiAxNS41QzU2IDE5Ny43IDY2LjMgMjA4IDc5LjEgMjA4SDEwNEwzMC42IDI4MS40Yy00LjIgNC4yLTYuNiAxMC02LjYgMTZDMjQgMzA5LjkgMzQuMSAzMjAgNDYuNiAzMjBIODBMNS40IDQwOS41QzEuOSA0MTMuNyAwIDQxOSAwIDQyNC41YzAgMTMgMTAuNSAyMy41IDIzLjUgMjMuNUgxOTJ2MzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlY0NDhINDI0LjVjMTMgMCAyMy41LTEwLjUgMjMuNS0yMy41YzAtNS41LTEuOS0xMC44LTUuNC0xNUwzNjggMzIwaDMzLjRjMTIuNSAwIDIyLjYtMTAuMSAyMi42LTIyLjZjMC02LTIuNC0xMS44LTYuNi0xNkwzNDQgMjA4aDI0LjljMTIuNyAwIDIzLjEtMTAuMyAyMy4xLTIzLjFjMC01LjctMi4xLTExLjMtNi0xNS41TDIzNy40IDUuOUMyMzQgMi4xIDIyOS4xIDAgMjI0IDBzLTEwIDIuMS0xMy40IDUuOXpcIl1cbn07XG52YXIgZmFCcmlkZ2VMb2NrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JyaWRnZS1sb2NrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGNjXCIsIFwiTTMyIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMySDU3NmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg1MzZ2NjRoLThjLTYxLjkgMC0xMTIgNTAuMS0xMTIgMTEydjI0LjZjLTkuOSA1LjgtMTguMiAxNC4xLTIzLjggMjQuMWMtMTcuNi0yMC00My40LTMyLjctNzIuMi0zMi43Yy01MyAwLTk2IDQzLTk2IDk2djY0YzAgMTcuNy0xNC4zIDMyLTMyIDMySDE2MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMzg0YzAtNTMtNDMtOTYtOTYtOTZWMTYwaDcyVjk2SDY0QzQ2LjMgOTYgMzIgODEuNyAzMiA2NHpNNDA4IDk2djY0aDgwVjk2SDQwOHptLTQ4IDY0Vjk2SDI4MHY2NGg4MHpNMTUyIDk2djY0aDgwVjk2SDE1MnpNNTI4IDI0MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2NDhoNjRWMjcyYzAtMTcuNy0xNC4zLTMyLTMyLTMyem0tODAgMzJjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MHY0OGMxNy43IDAgMzIgMTQuMyAzMiAzMlY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJINDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYzNTJjMC0xNy43IDE0LjMtMzIgMzItMzJWMjcyelwiXVxufTtcbnZhciBmYVNhY2tEb2xsYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2Fjay1kb2xsYXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgxNzZdLCBcImY4MWRcIiwgXCJNMzIwIDk2SDE5MkwxNDQuNiAyNC45QzEzNy41IDE0LjIgMTQ1LjEgMCAxNTcuOSAwSDM1NC4xYzEyLjggMCAyMC40IDE0LjIgMTMuMyAyNC45TDMyMCA5NnpNMTkyIDEyOEgzMjBjMy44IDIuNSA4LjEgNS4zIDEzIDguNEMzODkuNyAxNzIuNyA1MTIgMjUwLjkgNTEyIDQxNmMwIDUzLTQzIDk2LTk2IDk2SDk2Yy01MyAwLTk2LTQzLTk2LTk2QzAgMjUwLjkgMTIyLjMgMTcyLjcgMTc5IDEzNi40bDAgMCAwIDBjNC44LTMuMSA5LjItNS45IDEzLTguNHptODQgODhjMC0xMS05LTIwLTIwLTIwcy0yMCA5LTIwIDIwdjE0Yy03LjYgMS43LTE1LjIgNC40LTIyLjIgOC41Yy0xMy45IDguMy0yNS45IDIyLjgtMjUuOCA0My45Yy4xIDIwLjMgMTIgMzMuMSAyNC43IDQwLjdjMTEgNi42IDI0LjcgMTAuOCAzNS42IDE0bDEuNyAuNWMxMi42IDMuOCAyMS44IDYuOCAyOCAxMC43YzUuMSAzLjIgNS44IDUuNCA1LjkgOC4yYy4xIDUtMS44IDgtNS45IDEwLjVjLTUgMy4xLTEyLjkgNS0yMS40IDQuN2MtMTEuMS0uNC0yMS41LTMuOS0zNS4xLTguNWMtMi4zLS44LTQuNy0xLjYtNy4yLTIuNGMtMTAuNS0zLjUtMjEuOCAyLjItMjUuMyAxMi42czIuMiAyMS44IDEyLjYgMjUuM2MxLjkgLjYgNCAxLjMgNi4xIDIuMWwwIDAgMCAwYzguMyAyLjkgMTcuOSA2LjIgMjguMiA4LjRWNDI0YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwVjQxMC4yYzgtMS43IDE2LTQuNSAyMy4yLTljMTQuMy04LjkgMjUuMS0yNC4xIDI0LjgtNDVjLS4zLTIwLjMtMTEuNy0zMy40LTI0LjYtNDEuNmMtMTEuNS03LjItMjUuOS0xMS42LTM3LjEtMTVsMCAwLS43LS4yYy0xMi44LTMuOS0yMS45LTYuNy0yOC4zLTEwLjVjLTUuMi0zLjEtNS4zLTQuOS01LjMtNi43YzAtMy43IDEuNC02LjUgNi4yLTkuM2M1LjQtMy4yIDEzLjYtNS4xIDIxLjUtNWM5LjYgLjEgMjAuMiAyLjIgMzEuMiA1LjJjMTAuNyAyLjggMjEuNi0zLjUgMjQuNS0xNC4ycy0zLjUtMjEuNi0xNC4yLTI0LjVjLTYuNS0xLjctMTMuNy0zLjQtMjEuMS00LjdWMjE2elwiXVxufTtcbnZhciBmYVBlblRvU3F1YXJlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Blbi10by1zcXVhcmUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImVkaXRcIl0sIFwiZjA0NFwiLCBcIk00NzEuNiAyMS43Yy0yMS45LTIxLjktNTcuMy0yMS45LTc5LjIgMEwzNjIuMyA1MS43bDk3LjkgOTcuOSAzMC4xLTMwLjFjMjEuOS0yMS45IDIxLjktNTcuMyAwLTc5LjJMNDcxLjYgMjEuN3ptLTI5OS4yIDIyMGMtNi4xIDYuMS0xMC44IDEzLjYtMTMuNSAyMS45bC0yOS42IDg4LjhjLTIuOSA4LjYtLjYgMTguMSA1LjggMjQuNnMxNS45IDguNyAyNC42IDUuOGw4OC44LTI5LjZjOC4yLTIuNyAxNS43LTcuNCAyMS45LTEzLjVMNDM3LjcgMTcyLjMgMzM5LjcgNzQuMyAxNzIuNCAyNDEuN3pNOTYgNjRDNDMgNjQgMCAxMDcgMCAxNjBWNDE2YzAgNTMgNDMgOTYgOTYgOTZIMzUyYzUzIDAgOTYtNDMgOTYtOTZWMzIwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMydjk2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJoOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIOTZ6XCJdXG59O1xudmFyIGZhRWRpdCA9IGZhUGVuVG9TcXVhcmU7XG52YXIgZmFDYXJTaWRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nhci1zaWRlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NjYzXSwgXCJmNWU0XCIsIFwiTTE3MS4zIDk2SDIyNHY5NkgxMTEuM2wzMC40LTc1LjlDMTQ2LjUgMTA0IDE1OC4yIDk2IDE3MS4zIDk2ek0yNzIgMTkyVjk2aDgxLjJjOS43IDAgMTguOSA0LjQgMjUgMTJsNjcuMiA4NEgyNzJ6bTI1Ni4yIDFMNDI4LjIgNjhjLTE4LjItMjIuOC00NS44LTM2LTc1LTM2SDE3MS4zYy0zOS4zIDAtNzQuNiAyMy45LTg5LjEgNjAuM0w0MC42IDE5Ni40QzE2LjggMjA1LjggMCAyMjguOSAwIDI1NlYzNjhjMCAxNy43IDE0LjMgMzIgMzIgMzJINjUuM2M3LjYgNDUuNCA0Ny4xIDgwIDk0LjcgODBzODcuMS0zNC42IDk0LjctODBIMzg1LjNjNy42IDQ1LjQgNDcuMSA4MCA5NC43IDgwczg3LjEtMzQuNiA5NC43LTgwSDYwOGMxNy43IDAgMzItMTQuMyAzMi0zMlYzMjBjMC02NS4yLTQ4LjgtMTE5LTExMS44LTEyN3pNNDM0LjcgMzY4YTQ4IDQ4IDAgMSAxIDkwLjUgMzIgNDggNDggMCAxIDEgLTkwLjUtMzJ6TTE2MCAzMzZhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2elwiXVxufTtcbnZhciBmYVNoYXJlTm9kZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2hhcmUtbm9kZXMnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcInNoYXJlLWFsdFwiXSwgXCJmMWUwXCIsIFwiTTM1MiAyMjRjNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2YzAgNCAuMiA4IC43IDExLjlsLTk0LjEgNDdDMTQ1LjQgMTcwLjIgMTIxLjkgMTYwIDk2IDE2MGMtNTMgMC05NiA0My05NiA5NnM0MyA5NiA5NiA5NmMyNS45IDAgNDkuNC0xMC4yIDY2LjYtMjYuOWw5NC4xIDQ3Yy0uNSAzLjktLjcgNy44LS43IDExLjljMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZjLTI1LjkgMC00OS40IDEwLjItNjYuNiAyNi45bC05NC4xLTQ3Yy41LTMuOSAuNy03LjggLjctMTEuOXMtLjItOC0uNy0xMS45bDk0LjEtNDdDMzAyLjYgMjEzLjggMzI2LjEgMjI0IDM1MiAyMjR6XCJdXG59O1xudmFyIGZhU2hhcmVBbHQgPSBmYVNoYXJlTm9kZXM7XG52YXIgZmFIZWFydENpcmNsZU1pbnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlYXJ0LWNpcmNsZS1taW51cycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRmZlwiLCBcIk00Ny42IDMwMC40TDIyOC4zIDQ2OS4xYzcuNSA3IDE3LjQgMTAuOSAyNy43IDEwLjlzMjAuMi0zLjkgMjcuNy0xMC45bDIuNi0yLjRDMjY3LjIgNDM4LjYgMjU2IDQwNC42IDI1NiAzNjhjMC05Ny4yIDc4LjgtMTc2IDE3Ni0xNzZjMjguMyAwIDU1IDYuNyA3OC43IDE4LjVjLjktNi41IDEuMy0xMyAxLjMtMTkuNnYtNS44YzAtNjkuOS01MC41LTEyOS41LTExOS40LTE0MUMzNDcgMzYuNSAzMDAuNiA1MS40IDI2OCA4NEwyNTYgOTYgMjQ0IDg0Yy0zMi42LTMyLjYtNzktNDcuNS0xMjQuNi0zOS45QzUwLjUgNTUuNiAwIDExNS4yIDAgMTg1LjF2NS44YzAgNDEuNSAxNy4yIDgxLjIgNDcuNiAxMDkuNXpNNTc2IDM2OGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tNjQgMGMwIDguOC03LjIgMTYtMTYgMTZIMzY4Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2SDQ5NmM4LjggMCAxNiA3LjIgMTYgMTZ6XCJdXG59O1xudmFyIGZhSG91cmdsYXNzSGFsZiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VyZ2xhc3MtaGFsZicsXG4gIGljb246IFszODQsIDUxMiwgW1wiaG91cmdsYXNzLTJcIl0sIFwiZjI1MlwiLCBcIk0zMiAwQzE0LjMgMCAwIDE0LjMgMCAzMlMxNC4zIDY0IDMyIDY0Vjc1YzAgNDIuNCAxNi45IDgzLjEgNDYuOSAxMTMuMUwxNDYuNyAyNTYgNzguOSAzMjMuOUM0OC45IDM1My45IDMyIDM5NC42IDMyIDQzN3YxMWMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg2NCAzMjBoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJWNDM3YzAtNDIuNC0xNi45LTgzLjEtNDYuOS0xMTMuMUwyMzcuMyAyNTZsNjcuOS02Ny45YzMwLTMwIDQ2LjktNzAuNyA0Ni45LTExMy4xVjY0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDMyMCA2NCAzMnpNOTYgNzVWNjRIMjg4Vjc1YzAgMTktNS42IDM3LjQtMTYgNTNIMTEyYy0xMC4zLTE1LjYtMTYtMzQtMTYtNTN6bTE2IDMwOWMzLjUtNS4zIDcuNi0xMC4zIDEyLjEtMTQuOUwxOTIgMzAxLjNsNjcuOSA2Ny45YzQuNiA0LjYgOC42IDkuNiAxMi4xIDE0LjlIMTEyelwiXVxufTtcbnZhciBmYUhvdXJnbGFzczIgPSBmYUhvdXJnbGFzc0hhbGY7XG52YXIgZmFNaWNyb3Njb3BlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21pY3Jvc2NvcGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgzMDBdLCBcImY2MTBcIiwgXCJNMTYwIDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyaDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjI4OGMwIDE3LjctMTQuMyAzMi0zMiAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkgxOTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyYy0xNy43IDAtMzItMTQuMy0zMi0zMlY2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzIgNDQ4SDMyMGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOHMtNTcuMy0xMjgtMTI4LTEyOFYxMjhjMTA2IDAgMTkyIDg2IDE5MiAxOTJjMCA0OS4yLTE4LjUgOTQtNDguOSAxMjhINDgwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyMCAzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptODAtNjRIMzA0YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDExMmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFTaW5rID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NpbmsnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImUwNmRcIiwgXCJNMjg4IDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJzMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyYzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2VjI4OEgxNjBWMjY0YzAtMzAuOS0yNS4xLTU2LTU2LTU2SDU2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0aDQ4YzQuNCAwIDggMy42IDggOHYyNEgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkgyNTYgNDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDQwMFYyNjRjMC00LjQgMy42LTggOC04aDU2YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDQwOGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZ2MjRIMjg4Vjk2ek00ODAgNDE2VjM4NEgzMnYzMmMwIDUzIDQzIDk2IDk2IDk2SDM4NGM1MyAwIDk2LTQzIDk2LTk2elwiXVxufTtcbnZhciBmYUJhZ1Nob3BwaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhZy1zaG9wcGluZycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wic2hvcHBpbmctYmFnXCJdLCBcImYyOTBcIiwgXCJNMTYwIDExMmMwLTM1LjMgMjguNy02NCA2NC02NHM2NCAyOC43IDY0IDY0djQ4SDE2MFYxMTJ6bS00OCA0OEg0OGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhWNDE2YzAgNTMgNDMgOTYgOTYgOTZIMzUyYzUzIDAgOTYtNDMgOTYtOTZWMjA4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDMzNlYxMTJDMzM2IDUwLjEgMjg1LjkgMCAyMjQgMFMxMTIgNTAuMSAxMTIgMTEydjQ4em0yNCA0OGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTE1MiAyNGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwelwiXVxufTtcbnZhciBmYVNob3BwaW5nQmFnID0gZmFCYWdTaG9wcGluZztcbnZhciBmYUFycm93RG93blpBID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LWRvd24tei1hJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzb3J0LWFscGhhLWRlc2NcIiwgXCJzb3J0LWFscGhhLWRvd24tYWx0XCJdLCBcImY4ODFcIiwgXCJNMTgzLjYgNDY5LjZDMTc3LjUgNDc2LjIgMTY5IDQ4MCAxNjAgNDgwcy0xNy41LTMuOC0yMy42LTEwLjRsLTg4LTk2Yy0xMS45LTEzLTExLjEtMzMuMyAyLTQ1LjJzMzMuMy0xMS4xIDQ1LjIgMkwxMjggMzY1LjdWNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMlYzNjUuN2wzMi40LTM1LjRjMTEuOS0xMyAzMi4yLTEzLjkgNDUuMi0yczEzLjkgMzIuMiAyIDQ1LjJsLTg4IDk2ek0zMjAgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJINDgwYzEyLjkgMCAyNC42IDcuOCAyOS42IDE5LjhzMi4yIDI1LjctNi45IDM0LjlMNDI5LjMgMTYwSDQ4MGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzNTJjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhzLTIuMi0yNS43IDYuOS0zNC45TDQwMi43IDk2SDM1MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6bTk2IDE5MmMxMi4xIDAgMjMuMiA2LjggMjguNiAxNy43bDY0IDEyOCAxNiAzMmM3LjkgMTUuOCAxLjUgMzUtMTQuMyA0Mi45cy0zNSAxLjUtNDIuOS0xNC4zTDQ2MC4yIDQ0OEgzNzEuOGwtNy4yIDE0LjNjLTcuOSAxNS44LTI3LjEgMjIuMi00Mi45IDE0LjNzLTIyLjItMjcuMS0xNC4zLTQyLjlsMTYtMzIgNjQtMTI4YzUuNC0xMC44IDE2LjUtMTcuNyAyOC42LTE3Ljd6TTM5NS44IDQwMGg0MC40TDQxNiAzNTkuNiAzOTUuOCA0MDB6XCJdXG59O1xudmFyIGZhU29ydEFscGhhRGVzYyA9IGZhQXJyb3dEb3duWkE7XG52YXIgZmFTb3J0QWxwaGFEb3duQWx0ID0gZmFBcnJvd0Rvd25aQTtcbnZhciBmYU1pdHRlbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtaXR0ZW4nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImY3YjVcIiwgXCJNMzUyIDM4NEg2NEw1LjQgMTc4LjlDMS44IDE2Ni40IDAgMTUzLjQgMCAxNDAuM0MwIDYyLjggNjIuOCAwIDE0MC4zIDBoMy40YzY2IDAgMTIzLjUgNDQuOSAxMzkuNSAxMDguOWwzMS40IDEyNS44IDE3LjYtMjAuMUMzNDQuOCAyMDAuMiAzNjIuOSAxOTIgMzgyIDE5MmgyLjhjMzQuOSAwIDYzLjMgMjguMyA2My4zIDYzLjNjMCAxNS45LTYgMzEuMi0xNi44IDQyLjlMMzUyIDM4NHpNMzIgNDQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMySDM1MmMxNy43IDAgMzIgMTQuMyAzMiAzMnYzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkg2NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDQ4elwiXVxufTtcbnZhciBmYVBlcnNvblJheXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLXJheXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1NGRcIiwgXCJNMjA4IDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTQwIDMwNFY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMjU2LjlsLTI4LjYgNDcuNWMtOS4xIDE1LjEtMjguOCAyMC00My45IDEwLjlzLTIwLTI4LjgtMTAuOS00My45bDU4LjMtOTdjMTcuNC0yOC45IDQ4LjYtNDYuNiA4Mi4zLTQ2LjZoMjkuN2MzMy43IDAgNjQuOSAxNy43IDgyLjMgNDYuNmw1OC4zIDk3YzkuMSAxNS4xIDQuMiAzNC44LTEwLjkgNDMuOXMtMzQuOCA0LjItNDMuOS0xMC45TDMyOCAyNTYuOVY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzUySDI0OHpNNyA3QzE2LjQtMi4zIDMxLjYtMi4zIDQxIDdsODAgODBjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEw3IDQxQy0yLjMgMzEuNi0yLjMgMTYuNCA3IDd6TTQ3MSA3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtODAgODBjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlMNDcxIDd6TTcgNTA1Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw4MC04MGM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlMNDEgNTA1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHptNDY0IDBsLTgwLTgwYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsODAgODBjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMHpcIl1cbn07XG52YXIgZmFVc2VycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VycycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjBjMFwiLCBcIk0xNDQgMGE4MCA4MCAwIDEgMSAwIDE2MEE4MCA4MCAwIDEgMSAxNDQgMHpNNTEyIDBhODAgODAgMCAxIDEgMCAxNjBBODAgODAgMCAxIDEgNTEyIDB6TTAgMjk4LjdDMCAyMzkuOCA0Ny44IDE5MiAxMDYuNyAxOTJoNDIuN2MxNS45IDAgMzEgMy41IDQ0LjYgOS43Yy0xLjMgNy4yLTEuOSAxNC43LTEuOSAyMi4zYzAgMzguMiAxNi44IDcyLjUgNDMuMyA5NmMtLjIgMC0uNCAwLS43IDBIMjEuM0M5LjYgMzIwIDAgMzEwLjQgMCAyOTguN3pNNDA1LjMgMzIwYy0uMiAwLS40IDAtLjcgMGMyNi42LTIzLjUgNDMuMy01Ny44IDQzLjMtOTZjMC03LjYtLjctMTUtMS45LTIyLjNjMTMuNi02LjMgMjguNy05LjcgNDQuNi05LjdoNDIuN0M1OTIuMiAxOTIgNjQwIDIzOS44IDY0MCAyOTguN2MwIDExLjgtOS42IDIxLjMtMjEuMyAyMS4zSDQwNS4zek0yMjQgMjI0YTk2IDk2IDAgMSAxIDE5MiAwIDk2IDk2IDAgMSAxIC0xOTIgMHpNMTI4IDQ4NS4zQzEyOCA0MTEuNyAxODcuNyAzNTIgMjYxLjMgMzUySDM3OC43QzQ1Mi4zIDM1MiA1MTIgNDExLjcgNTEyIDQ4NS4zYzAgMTQuNy0xMS45IDI2LjctMjYuNyAyNi43SDE1NC43Yy0xNC43IDAtMjYuNy0xMS45LTI2LjctMjYuN3pcIl1cbn07XG52YXIgZmFFeWVTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdleWUtc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImYwNzBcIiwgXCJNMzguOCA1LjFDMjguNC0zLjEgMTMuMy0xLjIgNS4xIDkuMlMtMS4yIDM0LjcgOS4yIDQyLjlsNTkyIDQ2NGMxMC40IDguMiAyNS41IDYuMyAzMy43LTQuMXM2LjMtMjUuNS00LjEtMzMuN0w1MjUuNiAzODYuN2MzOS42LTQwLjYgNjYuNC04Ni4xIDc5LjktMTE4LjRjMy4zLTcuOSAzLjMtMTYuNyAwLTI0LjZjLTE0LjktMzUuNy00Ni4yLTg3LjctOTMtMTMxLjFDNDY1LjUgNjguOCA0MDAuOCAzMiAzMjAgMzJjLTY4LjIgMC0xMjUgMjYuMy0xNjkuMyA2MC44TDM4LjggNS4xek0yMjMuMSAxNDkuNUMyNDguNiAxMjYuMiAyODIuNyAxMTIgMzIwIDExMmM3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NGMwIDI0LjktNi4zIDQ4LjMtMTcuNCA2OC43TDQwOCAyOTQuNWM4LjQtMTkuMyAxMC42LTQxLjQgNC44LTYzLjNjLTExLjEtNDEuNS00Ny44LTY5LjQtODguNi03MS4xYy01LjgtLjItOS4yIDYuMS03LjQgMTEuN2MyLjEgNi40IDMuMyAxMy4yIDMuMyAyMC4zYzAgMTAuMi0yLjQgMTkuOC02LjYgMjguM2wtOTAuMy03MC44ek0zNzMgMzg5LjljLTE2LjQgNi41LTM0LjMgMTAuMS01MyAxMC4xYy03OS41IDAtMTQ0LTY0LjUtMTQ0LTE0NGMwLTYuOSAuNS0xMy42IDEuNC0yMC4yTDgzLjEgMTYxLjVDNjAuMyAxOTEuMiA0NCAyMjAuOCAzNC41IDI0My43Yy0zLjMgNy45LTMuMyAxNi43IDAgMjQuNmMxNC45IDM1LjcgNDYuMiA4Ny43IDkzIDEzMS4xQzE3NC41IDQ0My4yIDIzOS4yIDQ4MCAzMjAgNDgwYzQ3LjggMCA4OS45LTEyLjkgMTI2LjItMzIuNUwzNzMgMzg5Ljl6XCJdXG59O1xudmFyIGZhRmxhc2tWaWFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZsYXNrLXZpYWwnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZjNcIiwgXCJNMTc1IDM4OS40Yy05LjggMTYtMTUgMzQuMy0xNSA1My4xYy0xMCAzLjUtMjAuOCA1LjUtMzIgNS41Yy01MyAwLTk2LTQzLTk2LTk2VjY0QzE0LjMgNjQgMCA0OS43IDAgMzJTMTQuMyAwIDMyIDBIOTZoNjQgNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJWMzA5LjlsLTQ5IDc5LjZ6TTk2IDY0djk2aDY0VjY0SDk2ek0zNTIgMEg0ODBoMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJWMjE0LjlMNjI5LjcgNDA2LjJjNi43IDEwLjkgMTAuMyAyMy41IDEwLjMgMzYuNGMwIDM4LjMtMzEuMSA2OS40LTY5LjQgNjkuNEgyNjEuNGMtMzguMyAwLTY5LjQtMzEuMS02OS40LTY5LjRjMC0xMi44IDMuNi0yNS40IDEwLjMtMzYuNEwzMjAgMjE0LjlWNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJoMzJ6bTMyIDY0VjIyNGMwIDUuOS0xLjYgMTEuNy00LjcgMTYuOEwzMzAuNSAzMjBoMTcxbC00OC44LTc5LjJjLTMuMS01LTQuNy0xMC44LTQuNy0xNi44VjY0SDM4NHpcIl1cbn07XG52YXIgZmFIYW5kID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjkzMDYsIDk5OTUsIFwiaGFuZC1wYXBlclwiXSwgXCJmMjU2XCIsIFwiTTI4OCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlYyNDBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWMzM2YzAgMS41IDAgMy4xIC4xIDQuNkw2Ny42IDI4M2MtMTYtMTUuMi00MS4zLTE0LjYtNTYuNiAxLjRzLTE0LjYgNDEuMyAxLjQgNTYuNkwxMjQuOCA0NDhjNDMuMSA0MS4xIDEwMC40IDY0IDE2MCA2NEgzMDRjOTcuMiAwIDE3Ni03OC44IDE3Ni0xNzZWMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjI0MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlY2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlYyNDBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWMzJ6XCJdXG59O1xudmFyIGZhSGFuZFBhcGVyID0gZmFIYW5kO1xudmFyIGZhT20gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnb20nLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgzMjldLCBcImY2NzlcIiwgXCJNMzc5LjMgNC43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMGwtMTYgMTZjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42bDE2IDE2YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwbDE2LTE2YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42bC0xNi0xNnpNMjgxIDY2LjdjLTIuMi0xLjUtNC45LTIuNS03LjctMi43Yy0uNiAwLTEuMy0uMS0xLjkgMGMtMy45IC4yLTcuNCAxLjctMTAuMSA0LjJjLS45IC44LTEuNiAxLjctMi4zIDIuNmMtMS43IDIuNC0yLjcgNS4zLTIuOSA4LjVjMCAuNyAwIDEuNCAwIDIuMWMuMiAyLjIgLjkgNC4zIDEuOSA2LjJsLjMgLjZjLjMgLjYgLjggMS40IDEuNCAyLjRjMS4yIDIgMi45IDQuOCA1LjEgOC4yYzQuNCA2LjcgMTEuMSAxNS41IDIwIDI0LjRDMzAyLjQgMTQxLjEgMzMwLjMgMTYwIDM2OCAxNjBjMzEuMiAwIDU2LjYtMTAuNCA3My45LTIwLjJjOC43LTUgMTUuNi05LjkgMjAuNC0xMy44YzIuNC0xLjkgNC4zLTMuNiA1LjctNC45Yy43LS42IDEuMy0xLjIgMS43LTEuNmwuNi0uNSAuMS0uMSAuMS0uMSAwIDAgMCAwYzUuOS01LjggOS41LTEzLjkgOS41LTIyLjhjMC0xNy43LTE0LjMtMzItMzItMzJjLTguNyAwLTE2LjcgMy41LTIyLjQgOS4yYy0uMSAuMS0uMiAuMi0uNSAuNGMtLjUgLjUtMS41IDEuMy0yLjggMi40Yy0yLjcgMi4yLTYuOCA1LjItMTIuMSA4LjJDMzk5LjQgOTAuNCAzODQuOCA5NiAzNjggOTZjLTIwLjggMC00Mi40LTctNTkuNS0xNC42Yy04LjQtMy43LTE1LjQtNy41LTIwLjMtMTAuM2MtMi40LTEuNC00LjMtMi41LTUuNi0zLjNjLS42LS40LTEuMS0uNy0xLjQtLjlsLS4zLS4yek0xMTUuMiAxNjkuNmM4LTYgMTcuOS05LjYgMjguOC05LjZjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhIMTA5LjhjLTcuNiAwLTEzLjggNi4yLTEzLjggMTMuOGMwIDEuNSAuMiAyLjkgLjcgNC40bDggMjRjNC40IDEzLjEgMTYuNiAyMS45IDMwLjQgMjEuOUgxNDRoMTZjMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjRjLTUwLjggMC04Mi43LTIxLjUtMTAyLjItNDIuOGMtOS45LTEwLjgtMTYuNi0yMS42LTIwLjktMjkuN2MtMi4xLTQtMy42LTcuMy00LjUtOS42Yy0uNS0xLjEtLjgtMi0xLTIuNWwtLjItLjVjLS4zLS45LS43LTEuOC0xLjEtMi42Yy0xLjItMi4yLTIuOC00LTQuNy01LjRjLTEuOS0xLjQtNC4xLTIuMy02LjUtMi44Yy0xLjQtLjMtMi45LS4zLTQuNC0uMmMtMi41IC4yLTQuOCAxLTYuOCAyLjNjLTEuMSAuNy0yLjIgMS41LTMuMSAyLjVjLTIuNCAyLjUtNC4xIDUuOC00LjUgOS41Yy0uMSAuNi0uMSAxLjEtLjEgMS43YzAgMCAwIDAgMCAwYzAgLjggLjEgMS43IC4yIDIuNWwwIC4xYzAgLjMgLjEgLjggLjIgMS4zYy4yIDEuMSAuNCAyLjcgLjggNC42Yy44IDMuOSAyIDkuNCAzLjkgMTUuOWMzLjggMTMgMTAuMyAzMC40IDIxLjMgNDhDNDguNyA0NzYuMiA4OS40IDUxMiAxNjAgNTEyYzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4YzAtMjMuMy02LjItNDUuMi0xNy4xLTY0aDIyLjZjMjUuNSAwIDQ5LjktMTAuMSA2Ny45LTI4LjFsMjYuNS0yNi41YzYtNiAxNC4xLTkuNCAyMi42LTkuNEg0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJjLTI1LjcgMC00MS40LTEyLjUtNTEuMi0yNS42Yy01LTYuNy04LjQtMTMuNC0xMC41LTE4LjZjLTEuMS0yLjUtMS44LTQuNi0yLjItNmMtLjItLjctLjQtMS4yLS41LTEuNWwtLjEtLjJjLS4zLTEuMy0uOC0yLjYtMS41LTMuOGMtMS4xLTItMi42LTMuOC00LjQtNS4xYy0yLjctMi02LTMuMi05LjYtMy4ybC0uMiAwYy04IC4xLTE0LjYgNi4xLTE1LjYgMTMuOWwwIDBjMCAuMy0uMSAuNi0uMiAxLjFjLS4xIC45LS4zIDIuMS0uNCAzLjZjLS4zIDMtLjYgNy4zLS42IDEyLjRjMCAxMC4xIDEuMSAyMy45IDUuOCAzOC4xYzQuOCAxNC4zIDEzLjQgMjkuMyAyOC42IDQwLjdDMzY4LjcgNDczLjMgMzg5LjMgNDgwIDQxNiA0ODBjNTMgMCA5Ni00MyA5Ni05NlYyODhjMC01My00My05Ni05Ni05NmgtNS41Yy0yNS41IDAtNDkuOSAxMC4xLTY3LjkgMjguMWwtMjYuNSAyNi41Yy02IDYtMTQuMSA5LjQtMjIuNiA5LjRIMjQ1LjJjNi45LTE0LjUgMTAuOC0zMC44IDEwLjgtNDhjMC02MS45LTUwLjEtMTEyLTExMi0xMTJjLTI1LjIgMC00OC41IDguMy02Ny4yIDIyLjRjLTE0LjEgMTAuNi0xNyAzMC43LTYuNCA0NC44czMwLjcgMTcgNDQuOCA2LjR6XCJdXG59O1xudmFyIGZhV29ybSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3b3JtJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTk5XCIsIFwiTTI1NiA5NmMwLTUzIDQzLTk2IDk2LTk2aDM4LjRDNDM5LjkgMCA0ODAgNDAuMSA0ODAgODkuNlYxNzZ2MTZWMzc2YzAgNzUuMS02MC45IDEzNi0xMzYgMTM2cy0xMzYtNjAuOS0xMzYtMTM2VjI5NmMwLTIyLjEtMTcuOS00MC00MC00MHMtNDAgMTcuOS00MCA0MFY0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhWMjk2YzAtNzUuMSA2MC45LTEzNiAxMzYtMTM2czEzNiA2MC45IDEzNiAxMzZ2ODBjMCAyMi4xIDE3LjkgNDAgNDAgNDBzNDAtMTcuOSA0MC00MFYxOTJIMzUyYy01MyAwLTk2LTQzLTk2LTk2em0xNDQtOGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwelwiXVxufTtcbnZhciBmYUhvdXNlQ2lyY2xlWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtY2lyY2xlLXhtYXJrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTBiXCIsIFwiTTMyMC43IDM1MmM4LjEtODkuNyA4My41LTE2MCAxNzUuMy0xNjBjOC45IDAgMTcuNiAuNyAyNi4xIDEuOUwzMDkuNSA3Yy02LTUtMTQtNy0yMS03cy0xNSAxLTIyIDhMMTAgMjMxLjVjLTcgNy0xMCAxNS0xMCAyNGMwIDE4IDE0IDMyLjEgMzIgMzIuMWgzMnY2OS43Yy0uMSAuOS0uMSAxLjgtLjEgMi44VjQ3MmMwIDIyLjEgMTcuOSA0MCA0MCA0MGgxNmMxLjIgMCAyLjQtLjEgMy42LS4yYzEuNSAuMSAzIC4yIDQuNSAuMkgxNjBoMjRjMjIuMSAwIDQwLTE3LjkgNDAtNDBWNDQ4IDM4NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmg2NGwuNyAwek00OTYgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptNTkuMy0xODAuN0w1MTguNiAzNjhsMzYuNyAzNi43YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBMNDk2IDM5MC42bC0zNi43IDM2LjdjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZMNDczLjQgMzY4bC0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMEw0OTYgMzQ1LjRsMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnpcIl1cbn07XG52YXIgZmFQbHVnID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsdWcnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjgyNjhdLCBcImYxZTZcIiwgXCJNOTYgMEM3OC4zIDAgNjQgMTQuMyA2NCAzMnY5Nmg2NFYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMjg4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjk2aDY0VjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek0zMiAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ2MzJjMCA3Ny40IDU1IDE0MiAxMjggMTU2LjhWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWNDEyLjhDMjk3IDM5OCAzNTIgMzMzLjQgMzUyIDI1NlYyMjRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzJ6XCJdXG59O1xudmFyIGZhQ2hldnJvblVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZXZyb24tdXAnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYwNzdcIiwgXCJNMjMzLjQgMTA1LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsMTkyIDE5MmMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwyNTYgMTczLjMgODYuNiAzNDIuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsMTkyLTE5MnpcIl1cbn07XG52YXIgZmFIYW5kU3BvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZC1zcG9jaycsXG4gIGljb246IFs1NzYsIDUxMiwgWzEyODQwNl0sIFwiZjI1OVwiLCBcIk0yNDYuOSAyMy43QzI0Mi4zIDYuNiAyMjQuOC0zLjUgMjA3LjcgMS4xcy0yNy4yIDIyLjEtMjIuNiAzOS4yTDIzOCAyMzcuOGMyLjUgOS4yLTQuNSAxOC4yLTE0IDE4LjJjLTYuNCAwLTEyLTQuMi0xMy45LTEwLjNMMTY2LjYgMTAyLjdjLTUuMS0xNi45LTIzLTI2LjQtMzkuOS0yMS4zcy0yNi40IDIzLTIxLjMgMzkuOWw2Mi44IDIwNi40YzIuNCA3LjktNy4yIDEzLjgtMTMuMiA4LjFMOTkuNiAyODNjLTE2LTE1LjItNDEuMy0xNC42LTU2LjYgMS40cy0xNC42IDQxLjMgMS40IDU2LjZMMTU2LjggNDQ4YzQzLjEgNDEuMSAxMDAuNCA2NCAxNjAgNjRoMTAuOSA4LjJjLjEgMCAuMS0uMSAuMS0uMXMuMS0uMSAuMS0uMWM1OC4zLTMuNSAxMDguNi00My4yIDEyNS4zLTk5LjdsODEuMi0yNzVjNS0xNi45LTQuNy0zNC43LTIxLjYtMzkuOHMtMzQuNyA0LjctMzkuOCAyMS42TDQ0My41IDI0Ny4xYy0xLjYgNS4zLTYuNCA4LjktMTIgOC45Yy03LjkgMC0xMy44LTcuMy0xMi4yLTE1LjFsMzYtMTcwLjNjMy43LTE3LjMtNy40LTM0LjMtMjQuNy0zNy45cy0zNC4zIDcuNC0zNy45IDI0LjdMMzU1LjEgMjM1LjFjLTIuNiAxMi4yLTEzLjMgMjAuOS0yNS44IDIwLjljLTExLjkgMC0yMi40LTgtMjUuNC0xOS41bC01Ny0yMTIuOHpcIl1cbn07XG52YXIgZmFTdG9wd2F0Y2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3RvcHdhdGNoJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbOTIwMV0sIFwiZjJmMlwiLCBcIk0xNzYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmgxNlY5OC40QzkyLjMgMTEzLjggMTYgMjAwIDE2IDMwNGMwIDExNC45IDkzLjEgMjA4IDIwOCAyMDhzMjA4LTkzLjEgMjA4LTIwOGMwLTQxLjgtMTIuMy04MC43LTMzLjUtMTEzLjJsMjQuMS0yNC4xYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDM1NS43IDE0M2MtMjguMS0yMy02Mi4yLTM4LjgtOTkuNy00NC42VjY0aDE2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDIyNCAxNzZ6bTcyIDE5MlYzMjBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWMTkyYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6XCJdXG59O1xudmFyIGZhRmFjZUtpc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1raXNzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTM1LCBcImtpc3NcIl0sIFwiZjU5NlwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnptNDguNy0xOTguM2M0LjMgNS4xIDcuMyAxMS40IDcuMyAxOC4zcy0zLjEgMTMuMi03LjMgMTguM2MtNC4zIDUuMi0xMC4xIDkuNy0xNi43IDEzLjRjLTIuNyAxLjUtNS43IDMtOC43IDQuM2MzLjEgMS4zIDYgMi43IDguNyA0LjNjNi42IDMuNyAxMi41IDguMiAxNi43IDEzLjRjNC4zIDUuMSA3LjMgMTEuNCA3LjMgMTguM3MtMy4xIDEzLjItNy4zIDE4LjNjLTQuMyA1LjItMTAuMSA5LjctMTYuNyAxMy40QzI3NC43IDQ0My4xIDI1Ny40IDQ0OCAyNDAgNDQ4Yy0zLjYgMC02LjgtMi41LTcuNy02cy42LTcuMiAzLjgtOWwwIDAgMCAwIDAgMCAwIDAgLjItLjFjLjItLjEgLjUtLjMgLjktLjVjLjgtLjUgMi0xLjIgMy40LTIuMWMyLjgtMS45IDYuNS00LjUgMTAuMi03LjZjMy43LTMuMSA3LjItNi42IDkuNi0xMC4xYzIuNS0zLjUgMy41LTYuNCAzLjUtOC42cy0xLTUtMy41LTguNmMtMi41LTMuNS01LjktNi45LTkuNi0xMC4xYy0zLjctMy4xLTcuNC01LjctMTAuMi03LjZjLTEuNC0uOS0yLjYtMS42LTMuNC0yLjFjLS40LS4yLS43LS40LS45LS41bC0uMi0uMSAwIDAgMCAwIDAgMGMtMi41LTEuNC00LjEtNC4xLTQuMS03czEuNi01LjYgNC4xLTdsMCAwIDAgMCAwIDAgMCAwIDAgMCAuMi0uMSAuMy0uMiAuNi0uNGMuOC0uNSAyLTEuMiAzLjQtMi4xYzIuOC0xLjkgNi41LTQuNSAxMC4yLTcuNmMzLjctMy4xIDcuMi02LjYgOS42LTEwLjFjMi41LTMuNSAzLjUtNi40IDMuNS04LjZzLTEtNS0zLjUtOC42Yy0yLjUtMy41LTUuOS02LjktOS42LTEwLjFjLTMuNy0zLjEtNy40LTUuNy0xMC4yLTcuNmMtMS40LS45LTIuNi0xLjYtMy40LTIuMWwtLjQtLjMtLjUtLjMtLjItLjEgMCAwIDAgMCAwIDBjLTMuMi0xLjgtNC43LTUuNS0zLjgtOXM0LjEtNiA3LjctNmMxNy40IDAgMzQuNyA0LjkgNDcuOSAxMi4zYzYuNiAzLjcgMTIuNSA4LjIgMTYuNyAxMy40ek0xNDQuNCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFLaXNzID0gZmFGYWNlS2lzcztcbnZhciBmYUJyaWRnZUNpcmNsZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JyaWRnZS1jaXJjbGUteG1hcmsnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0Y2JcIiwgXCJNNjQgMzJDNDYuMyAzMiAzMiA0Ni4zIDMyIDY0czE0LjMgMzIgMzIgMzJoNDB2NjRIMzJWMjg4YzUzIDAgOTYgNDMgOTYgOTZ2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzg0YzAtNTMgNDMtOTYgOTYtOTZjNi4zIDAgMTIuNCAuNiAxOC4zIDEuN0MzNjcuMSAyMzEuOCA0MjYuOSAxOTIgNDk2IDE5MmM0Mi41IDAgODEuNiAxNS4xIDExMiA0MC4yVjE2MEg1MzZWOTZoNDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINjR6TTQ4OCA5NnY2NEg0MDhWOTZoODB6TTM2MCA5NnY2NEgyODBWOTZoODB6TTIzMiA5NnY2NEgxNTJWOTZoODB6TTQ5NiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em01OS4zLTE4MC43TDUxOC42IDM2OGwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMEw0OTYgMzkwLjZsLTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkw0NzMuNCAzNjhsLTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQ5NiAzNDUuNGwzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42elwiXVxufTtcbnZhciBmYUZhY2VHcmluVG9uZ3VlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtZ3Jpbi10b25ndWUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1MzksIFwiZ3Jpbi10b25ndWVcIl0sIFwiZjU4OVwiLCBcIk0wIDI1NkMwIDM2OC45IDczLjEgNDY0LjcgMTc0LjUgNDk4LjhDMTY1LjMgNDg0IDE2MCA0NjYuNiAxNjAgNDQ4VjQwMC43Yy0yNC0xNy41LTQzLjEtNDEuNC01NC44LTY5LjJjLTUtMTEuOCA3LTIyLjUgMTkuMy0xOC43YzM5LjcgMTIuMiA4NC41IDE5IDEzMS44IDE5czkyLjEtNi44IDEzMS44LTE5YzEyLjMtMy44IDI0LjMgNi45IDE5LjMgMTguN2MtMTEuOCAyOC0zMS4xIDUyLTU1LjQgNjkuNlY0NDhjMCAxOC42LTUuMyAzNi0xNC41IDUwLjhDNDM4LjkgNDY0LjcgNTEyIDM2OC45IDUxMiAyNTZDNTEyIDExNC42IDM5Ny40IDAgMjU2IDBTMCAxMTQuNiAwIDI1NnptMTc2LjQtODBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMzIwIDQ0OFY0MDIuNmMwLTE0LjctMTEuOS0yNi42LTI2LjYtMjYuNmgtMmMtMTEuMyAwLTIxLjEgNy45LTIzLjYgMTguOWMtMi44IDEyLjYtMjAuOCAxMi42LTIzLjYgMGMtMi41LTExLjEtMTIuMy0xOC45LTIzLjYtMTguOWgtMmMtMTQuNyAwLTI2LjYgMTEuOS0yNi42IDI2LjZWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR6XCJdXG59O1xudmFyIGZhR3JpblRvbmd1ZSA9IGZhRmFjZUdyaW5Ub25ndWU7XG52YXIgZmFDaGVzc0Jpc2hvcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGVzcy1iaXNob3AnLFxuICBpY29uOiBbMzIwLCA1MTIsIFs5ODIxXSwgXCJmNDNhXCIsIFwiTTEyOCAwQzExMC4zIDAgOTYgMTQuMyA5NiAzMmMwIDE2LjEgMTEuOSAyOS40IDI3LjQgMzEuN0M3OC40IDEwNi44IDggMTkwIDggMjg4YzAgNDcuNCAzMC44IDcyLjMgNTYgODQuN1Y0MDBIMjU2VjM3Mi43YzI1LjItMTIuNSA1Ni0zNy40IDU2LTg0LjdjMC0zNy4zLTEwLjItNzIuNC0yNS4zLTEwNC4xbC05OS40IDk5LjRjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZMMjcwLjggMTU0LjZjLTIzLjItMzguMS01MS44LTY5LjUtNzQuMi05MC45QzIxMi4xIDYxLjQgMjI0IDQ4LjEgMjI0IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMySDEyOHpNNDggNDMyTDYuNiA0NzMuNGMtNC4yIDQuMi02LjYgMTAtNi42IDE2QzAgNTAxLjkgMTAuMSA1MTIgMjIuNiA1MTJIMjk3LjRjMTIuNSAwIDIyLjYtMTAuMSAyMi42LTIyLjZjMC02LTIuNC0xMS44LTYuNi0xNkwyNzIgNDMySDQ4elwiXVxufTtcbnZhciBmYUZhY2VHcmluV2luayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWdyaW4td2luaycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZ3Jpbi13aW5rXCJdLCBcImY1OGNcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTM4OC4xIDMxMi44YzEyLjMtMy44IDI0LjMgNi45IDE5LjMgMTguN0MzODIuNCAzOTAuNiAzMjQuMiA0MzIgMjU2LjMgNDMycy0xMjYuMi00MS40LTE1MS4xLTEwMC41Yy01LTExLjggNy0yMi41IDE5LjMtMTguN2MzOS43IDEyLjIgODQuNSAxOSAxMzEuOCAxOXM5Mi4xLTYuOCAxMzEuOC0xOXptLTE2LjktNzkuMmMtMTcuNi0yMy41LTUyLjgtMjMuNS03MC40IDBjLTUuMyA3LjEtMTUuMyA4LjUtMjIuNCAzLjJzLTguNS0xNS4zLTMuMi0yMi40YzMwLjQtNDAuNSA5MS4yLTQwLjUgMTIxLjYgMGM1LjMgNy4xIDMuOSAxNy4xLTMuMiAyMi40cy0xNy4xIDMuOS0yMi40LTMuMnpNMTc2LjQgMTc2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFHcmluV2luayA9IGZhRmFjZUdyaW5XaW5rO1xudmFyIGZhRWFyRGVhZiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdlYXItZGVhZicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZGVhZlwiLCBcImRlYWZuZXNzXCIsIFwiaGFyZC1vZi1oZWFyaW5nXCJdLCBcImYyYTRcIiwgXCJNNTAyLjYgNTQuNmwtNDAgNDBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDQwLTQwYzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6bS0zMjAgMzIwbC0xMjggMTI4Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2wxMjgtMTI4YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6TTI0MCAxMjhjLTU3LjYgMC0xMDUuMSA0My42LTExMS4zIDk5LjVjLTEuOSAxNy42LTE3LjggMzAuMi0zNS4zIDI4LjNzLTMwLjItMTcuOC0yOC4zLTM1LjNDNzQuOCAxMzIuNSAxNDkuNCA2NCAyNDAgNjRjOTcuMiAwIDE3NiA3OC44IDE3NiAxNzZjMCA0Ni0xNy43IDg3LjktNDYuNiAxMTkuM2MtMTIgMTMtMTcuNCAyNC44LTE3LjQgMzQuN1Y0MDBjMCA2MS45LTUwLjEgMTEyLTExMiAxMTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJjMjYuNSAwIDQ4LTIxLjUgNDgtNDh2LTYuMWMwLTMyLjkgMTcuNC01OS42IDM0LjQtNzhjMTguNC0yMCAyOS42LTQ2LjYgMjkuNi03NS45YzAtNjEuOS01MC4xLTExMi0xMTItMTEyem0wIDgwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMTcuNy0xNC4zLTMyLTMyLTMyelwiXVxufTtcbnZhciBmYURlYWYgPSBmYUVhckRlYWY7XG52YXIgZmFEZWFmbmVzcyA9IGZhRWFyRGVhZjtcbnZhciBmYUhhcmRPZkhlYXJpbmcgPSBmYUVhckRlYWY7XG52YXIgZmFSb2FkQ2lyY2xlQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncm9hZC1jaXJjbGUtY2hlY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NjRcIiwgXCJNMjEzLjIgMzJIMjg4Vjk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMzJoNzQuOGMyNy4xIDAgNTEuMyAxNy4xIDYwLjMgNDIuNmw0Mi43IDEyMC42Yy0xMC45LTIuMS0yMi4yLTMuMi0zMy44LTMuMmMtNTkuNSAwLTExMi4xIDI5LjYtMTQ0IDc0LjhWMjI0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMydjY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyYzIuMyAwIDQuNi0uMyA2LjgtLjdjLTQuNSAxNS41LTYuOCAzMS44LTYuOCA0OC43YzAgNS40IC4yIDEwLjcgLjcgMTZsLS43IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjY0SDg2LjZDNTYuNSA0ODAgMzIgNDU1LjUgMzIgNDI1LjRjMC02LjIgMS4xLTEyLjQgMy4xLTE4LjJMMTUyLjkgNzQuNkMxNjIgNDkuMSAxODYuMSAzMiAyMTMuMiAzMnpNMzUyIDM2OGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMTEuMy00My4zYy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMEw0ODAgMzg1LjRsLTI4LjctMjguN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmw0MCA0MGM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGw3Mi03MmM2LjItNi4yIDYuMi0xNi40IDAtMjIuNnpcIl1cbn07XG52YXIgZmFEaWNlRml2ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkaWNlLWZpdmUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5ODYwXSwgXCJmNTIzXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDM4NGMzNS4zIDAgNjQtMjguNyA2NC02NFY5NmMwLTM1LjMtMjguNy02NC02NC02NEg2NHptNjQgOTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek05NiAzNTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMjI0IDIyNGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTY0LTY0YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTMyIDE2MGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhU3F1YXJlUnNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1yc3MnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcInJzcy1zcXVhcmVcIl0sIFwiZjE0M1wiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEgzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6TTk2IDEzNmMwLTEzLjMgMTAuNy0yNCAyNC0yNGMxMzcgMCAyNDggMTExIDI0OCAyNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xMTAuNS04OS41LTIwMC0yMDAtMjAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHptMCA5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGM4My45IDAgMTUyIDY4LjEgMTUyIDE1MmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTU3LjQtNDYuNi0xMDQtMTA0LTEwNGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTAgMTIwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6XCJdXG59O1xudmFyIGZhUnNzU3F1YXJlID0gZmFTcXVhcmVSc3M7XG52YXIgZmFMYW5kTWluZU9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xhbmQtbWluZS1vbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUxYlwiLCBcIk0zNDQgMjRWMTY4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0VjI0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6TTE5MiAzMjBjMC0xNy43IDE0LjMtMzIgMzItMzJINDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMydjMySDE5MlYzMjB6bS03Ny4zIDkwLjVjOC4xLTE2LjMgMjQuOC0yNi41IDQyLjktMjYuNUg0ODIuM2MxOC4yIDAgMzQuOCAxMC4zIDQyLjkgMjYuNWwyNy42IDU1LjJDNTYzLjUgNDg3IDU0OCA1MTIgNTI0LjIgNTEySDExNS44Yy0yMy44IDAtMzkuMy0yNS0yOC42LTQ2LjNsMjcuNi01NS4yek0zNi4zIDEzOC4zYzcuNS0xMC45IDIyLjUtMTMuNiAzMy40LTYuMWwxMDQgNzJjMTAuOSA3LjUgMTMuNiAyMi41IDYuMSAzMy40cy0yMi41IDEzLjYtMzMuNCA2LjFsLTEwNC03MmMtMTAuOS03LjUtMTMuNi0yMi41LTYuMS0zMy40em01MzQuMS02LjFjMTAuOS03LjUgMjUuOC00LjggMzMuNCA2LjFzNC44IDI1LjgtNi4xIDMzLjRsLTEwNCA3MmMtMTAuOSA3LjUtMjUuOCA0LjgtMzMuNC02LjFzLTQuOC0yNS44IDYuMS0zMy40bDEwNC03MnpcIl1cbn07XG52YXIgZmFJQ3Vyc29yID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ktY3Vyc29yJyxcbiAgaWNvbjogWzI1NiwgNTEyLCBbXSwgXCJmMjQ2XCIsIFwiTS4xIDI5LjNDLTEuNCA0NyAxMS43IDYyLjQgMjkuMyA2My45bDggLjdDNzAuNSA2Ny4zIDk2IDk1IDk2IDEyOC4zVjIyNEg2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg5NnY5NS43YzAgMzMuMy0yNS41IDYxLTU4LjcgNjMuOGwtOCAuN0MxMS43IDQ0OS42LTEuNCA0NjUgLjEgNDgyLjdzMTYuOSAzMC43IDM0LjUgMjkuMmw4LS43YzM0LjEtMi44IDY0LjItMTguOSA4NS40LTQyLjljMjEuMiAyNCA1MS4yIDQwLjEgODUuNCA0Mi45bDggLjdjMTcuNiAxLjUgMzMuMS0xMS42IDM0LjUtMjkuMnMtMTEuNi0zMy4xLTI5LjItMzQuNWwtOC0uN0MxODUuNSA0NDQuNyAxNjAgNDE3IDE2MCAzODMuN1YyODhoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTYwVjEyOC4zYzAtMzMuMyAyNS41LTYxIDU4LjctNjMuOGw4LS43YzE3LjYtMS41IDMwLjctMTYuOSAyOS4yLTM0LjVTMjM5LTEuNCAyMjEuMyAuMWwtOCAuN0MxNzkuMiAzLjYgMTQ5LjIgMTkuNyAxMjggNDMuN2MtMjEuMi0yNC01MS4yLTQwLTg1LjQtNDIuOWwtOC0uN0MxNy0xLjQgMS42IDExLjcgLjEgMjkuM3pcIl1cbn07XG52YXIgZmFTdGFtcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdGFtcCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjViZlwiLCBcIk0zMTIgMjAxLjhjMC0xNy40IDkuMi0zMy4yIDE5LjktNDdDMzQ0LjUgMTM4LjUgMzUyIDExOC4xIDM1MiA5NmMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmMwIDIyLjEgNy41IDQyLjUgMjAuMSA1OC44YzEwLjcgMTMuOCAxOS45IDI5LjYgMTkuOSA0N2MwIDI5LjktMjQuMyA1NC4yLTU0LjIgNTQuMkgxMTJDNTAuMSAyNTYgMCAzMDYuMSAwIDM2OGMwIDIwLjkgMTMuNCAzOC43IDMyIDQ1LjNWNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDQzMmMyNi41IDAgNDgtMjEuNSA0OC00OFY0MTMuM2MxOC42LTYuNiAzMi0yNC40IDMyLTQ1LjNjMC02MS45LTUwLjEtMTEyLTExMi0xMTJIMzY2LjJjLTI5LjkgMC01NC4yLTI0LjMtNTQuMi01NC4yek00MTYgNDE2djMySDk2VjQxNkg0MTZ6XCJdXG59O1xudmFyIGZhU3RhaXJzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0YWlycycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTI4OVwiLCBcIk0zODQgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJINTQ0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDQ0OHY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMkgzMjB2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJIMTkydjk2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyaDk2VjMyMGMwLTE3LjcgMTQuMy0zMiAzMi0zMmg5NlYxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJoOTZWNjR6XCJdXG59O1xudmFyIGZhSSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdpJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTA1XSwgXCI0OVwiLCBcIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZoOTZWNDE2SDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDI4OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgxOTJWOTZoOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTYwIDMyelwiXVxufTtcbnZhciBmYUhyeXZuaWFTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hyeXZuaWEtc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgWzgzNzIsIFwiaHJ5dm5pYVwiXSwgXCJmNmYyXCIsIFwiTTEyMS45IDExNi4yQzEzOC4zIDEwMy4xIDE1OC43IDk2IDE3OS42IDk2SDIyM2MyNy4xIDAgNDkgMjEuOSA0OSA0OWMwIDExLjUtNCAyMi40LTExLjEgMzFIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJIMTU1LjVsLTUwLjYgMjguOWMtMS43IDEtMy40IDItNS4xIDMuMUgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg1Mi4zYy0yLjggOS45LTQuMyAyMC40LTQuMyAzMWMwIDYyLjQgNTAuNiAxMTMgMTEzIDExM2g0My40YzM1LjUgMCA3MC0xMi4xIDk3LjctMzQuM0wzMDggNDQxYzEzLjgtMTEgMTYtMzEuMiA1LTQ1cy0zMS4yLTE2LTQ1LTVsLTUuOSA0LjdjLTE2LjQgMTMuMS0zNi43IDIwLjItNTcuNyAyMC4ySDE2MWMtMjcuMSAwLTQ5LTIxLjktNDktNDljMC0xMS41IDQtMjIuNCAxMS4xLTMxSDM1MmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgyMjguNWw1MC42LTI4LjljMS43LTEgMy40LTIgNS4xLTMuMUgzNTJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzMxLjdjMi44LTEwIDQuMy0yMC40IDQuMy0zMWMwLTYyLjQtNTAuNi0xMTMtMTEzLTExM0gxNzkuNmMtMzUuNSAwLTcwIDEyLjEtOTcuNyAzNC4zTDc2IDcxYy0xMy44IDExLTE2IDMxLjItNSA0NXMzMS4yIDE2IDQ1IDVsNS45LTQuN3pcIl1cbn07XG52YXIgZmFIcnl2bmlhID0gZmFIcnl2bmlhU2lnbjtcbnZhciBmYVBpbGxzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BpbGxzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNDg0XCIsIFwiTTExMiA5NmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhWMjU2aDk2VjE0NGMwLTI2LjUtMjEuNS00OC00OC00OHpNMCAxNDRDMCA4Mi4xIDUwLjEgMzIgMTEyIDMyczExMiA1MC4xIDExMiAxMTJWMzY4YzAgNjEuOS01MC4xIDExMi0xMTIgMTEyUzAgNDI5LjkgMCAzNjhWMTQ0ek01NTQuOSAzOTkuNGMtNy4xIDEyLjMtMjMuNyAxMy4xLTMzLjggMy4xTDMzMy41IDIxNC45Yy0xMC0xMC05LjMtMjYuNyAzLjEtMzMuOEMzNjAgMTY3LjcgMzg3LjEgMTYwIDQxNiAxNjBjODguNCAwIDE2MCA3MS42IDE2MCAxNjBjMCAyOC45LTcuNyA1Ni0yMS4xIDc5LjR6bS01OS41IDU5LjVDNDcyIDQ3Mi4zIDQ0NC45IDQ4MCA0MTYgNDgwYy04OC40IDAtMTYwLTcxLjYtMTYwLTE2MGMwLTI4LjkgNy43LTU2IDIxLjEtNzkuNGM3LjEtMTIuMyAyMy43LTEzLjEgMzMuOC0zLjFMNDk4LjUgNDI1LjFjMTAgMTAgOS4zIDI2LjctMy4xIDMzLjh6XCJdXG59O1xudmFyIGZhRmFjZUdyaW5XaWRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtZ3Jpbi13aWRlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTE1LCBcImdyaW4tYWx0XCJdLCBcImY1ODFcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTM4OC4xIDMxMi44YzEyLjMtMy44IDI0LjMgNi45IDE5LjMgMTguN0MzODIuNCAzOTAuNiAzMjQuMiA0MzIgMjU2LjMgNDMycy0xMjYuMi00MS40LTE1MS4xLTEwMC41Yy01LTExLjggNy0yMi41IDE5LjMtMTguN2MzOS43IDEyLjIgODQuNSAxOSAxMzEuOCAxOXM5Mi4xLTYuOCAxMzEuOC0xOXpNMjA4IDE5MmMwIDM1LjMtMTQuMyA2NC0zMiA2NHMtMzItMjguNy0zMi02NHMxNC4zLTY0IDMyLTY0czMyIDI4LjcgMzIgNjR6bTEyOCA2NGMtMTcuNyAwLTMyLTI4LjctMzItNjRzMTQuMy02NCAzMi02NHMzMiAyOC43IDMyIDY0cy0xNC4zIDY0LTMyIDY0elwiXVxufTtcbnZhciBmYUdyaW5BbHQgPSBmYUZhY2VHcmluV2lkZTtcbnZhciBmYVRvb3RoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Rvb3RoJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI5NDYzXSwgXCJmNWM5XCIsIFwiTTE4Ni4xIDUyLjFDMTY5LjMgMzkuMSAxNDguNyAzMiAxMjcuNSAzMkM3NC43IDMyIDMyIDc0LjcgMzIgMTI3LjV2Ni4yYzAgMTUuOCAzLjcgMzEuMyAxMC43IDQ1LjVsMjMuNSA0Ny4xYzQuNSA4LjkgNy42IDE4LjQgOS40IDI4LjJsMzYuNyAyMDUuOGMyIDExLjIgMTEuNiAxOS40IDIyLjkgMTkuOHMyMS40LTcuNCAyNC0xOC40bDI4LjktMTIxLjNDMTkyLjIgMzIzLjcgMjA3IDMxMiAyMjQgMzEyczMxLjggMTEuNyAzNS44IDI4LjNsMjguOSAxMjEuM2MyLjYgMTEuMSAxMi43IDE4LjggMjQgMTguNHMyMC45LTguNiAyMi45LTE5LjhsMzYuNy0yMDUuOGMxLjgtOS44IDQuOS0xOS4zIDkuNC0yOC4ybDIzLjUtNDcuMWM3LjEtMTQuMSAxMC43LTI5LjcgMTAuNy00NS41di0yLjFjMC01NS00NC42LTk5LjYtOTkuNi05OS42Yy0yNC4xIDAtNDcuNCA4LjgtNjUuNiAyNC42bC0zLjIgMi44IDE5LjUgMTUuMmM3IDUuNCA4LjIgMTUuNSAyLjggMjIuNXMtMTUuNSA4LjItMjIuNSAyLjhsLTI0LjQtMTktMzctMjguOHpcIl1cbn07XG52YXIgZmFWID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3YnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMThdLCBcIjU2XCIsIFwiTTE5LjcgMzQuNWMxNi4zLTYuOCAzNSAuOSA0MS44IDE3LjJMMTkyIDM2NC44IDMyMi41IDUxLjdjNi44LTE2LjMgMjUuNS0yNCA0MS44LTE3LjJzMjQgMjUuNSAxNy4yIDQxLjhsLTE2MCAzODRjLTUgMTEuOS0xNi42IDE5LjctMjkuNSAxOS43cy0yNC42LTcuOC0yOS41LTE5LjdMMi41IDc2LjNjLTYuOC0xNi4zIC45LTM1IDE3LjItNDEuOHpcIl1cbn07XG52YXIgZmFCYW5nbGFkZXNoaVRha2FTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhbmdsYWRlc2hpLXRha2Etc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTJlNlwiLCBcIk0zNiAzMi4yQzE4LjQgMzAuMSAyLjQgNDIuNSAuMiA2MFMxMC41IDkzLjYgMjggOTUuOGw3LjkgMWMxNiAyIDI4IDE1LjYgMjggMzEuOFYxNjBIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINjRWMzg0YzAgNTMgNDMgOTYgOTYgOTZoMzJjMTA2IDAgMTkyLTg2IDE5Mi0xOTJWMjU2YzAtNTMtNDMtOTYtOTYtOTZIMjcyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMydjMyYzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4SDE2MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMjI0aDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDEyOFYxMjguNWMwLTQ4LjQtMzYuMS04OS4zLTg0LjEtOTUuM2wtNy45LTF6XCJdXG59O1xudmFyIGZhQmljeWNsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiaWN5Y2xlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NjkwXSwgXCJmMjA2XCIsIFwiTTMxMiAzMmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGgyNS43bDM0LjYgNjRIMjIyLjlsLTI3LjQtMzhDMTkxIDk5LjcgMTgzLjcgOTYgMTc2IDk2SDEyMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGg0My43bDIyLjEgMzAuNy0yNi42IDUzLjFjLTEwLTIuNS0yMC41LTMuOC0zMS4yLTMuOEM1Ny4zIDIyNCAwIDI4MS4zIDAgMzUyczU3LjMgMTI4IDEyOCAxMjhjNjUuMyAwIDExOS4xLTQ4LjkgMTI3LTExMmg0OWM4LjUgMCAxNi4zLTQuNSAyMC43LTExLjhsODQuOC0xNDMuNSAyMS43IDQwLjFDNDAyLjQgMjc2LjMgMzg0IDMxMiAzODQgMzUyYzAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4czEyOC01Ny4zIDEyOC0xMjhzLTU3LjMtMTI4LTEyOC0xMjhjLTEzLjUgMC0yNi41IDIuMS0zOC43IDZMMzc1LjQgNDguOEMzNjkuOCAzOC40IDM1OSAzMiAzNDcuMiAzMkgzMTJ6TTQ1OC42IDMwMy43bDMyLjMgNTkuN2M2LjMgMTEuNyAyMC45IDE2IDMyLjUgOS43czE2LTIwLjkgOS43LTMyLjVsLTMyLjMtNTkuN2MzLjYtLjYgNy40LS45IDExLjItLjljMzkuOCAwIDcyIDMyLjIgNzIgNzJzLTMyLjIgNzItNzIgNzJzLTcyLTMyLjItNzItNzJjMC0xOC42IDctMzUuNSAxOC42LTQ4LjN6TTEzMy4yIDM2OGg2NWMtNy4zIDMyLjEtMzYgNTYtNzAuMiA1NmMtMzkuOCAwLTcyLTMyLjItNzItNzJzMzIuMi03MiA3Mi03MmMxLjcgMCAzLjQgLjEgNS4xIC4ybC0yNC4yIDQ4LjVjLTkgMTguMSA0LjEgMzkuNCAyNC4zIDM5LjR6bTMzLjctNDhsNTAuNy0xMDEuMyA3Mi45IDEwMS4yLS4xIC4xSDE2Ni44em05MC42LTEyOEgzNjUuOUwzMTcgMjc0LjggMjU3LjQgMTkyelwiXVxufTtcbnZhciBmYVN0YWZmU25ha2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3RhZmYtc25ha2UnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcInJvZC1hc2NsZXBpdXNcIiwgXCJyb2Qtc25ha2VcIiwgXCJzdGFmZi1hZXNjdWxhcGl1c1wiXSwgXCJlNTc5XCIsIFwiTTIyMi42IDQzLjJsLS4xIDQuOEgyODhjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZIMjQ4VjE2MGg0MGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgyNDggMjIwbC00LjUgMTQ0SDI1NmM1MyAwIDk2IDQzIDk2IDk2cy00MyA5Ni05NiA5NkgyNDBWMzg0aDE2YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDIxM2wtMy4xIDk5LjVMMjA4LjUgNDk1bDAgMWMtLjMgOC45LTcuNiAxNi0xNi41IDE2cy0xNi4yLTcuMS0xNi41LTE2bDAtMS0xLTMxSDEzNmMtMjIuMSAwLTQwLTE3LjktNDAtNDBzMTcuOS00MCA0MC00MGgzNmwtMS0zMkgxNTJjLTUzIDAtOTYtNDMtOTYtOTZjMC00Ny42IDM0LjYtODcuMSA4MC05NC43VjI1NmMwIDguOCA3LjIgMTYgMTYgMTZoMTYuNUwxNjQgMTI4SDEzNiAxMjIuNmMtOSAxOC45LTI4LjMgMzItNTAuNiAzMkg1NmMtMzAuOSAwLTU2LTI1LjEtNTYtNTZTMjUuMSA0OCA1NiA0OGg4IDggODkuNWwtLjEtNC44TDE2MSAzMmMwLS43IDAtMS4zIDAtMS45Yy41LTE2LjYgMTQuMS0zMCAzMS0zMHMzMC41IDEzLjQgMzEgMzBjMCAuNiAwIDEuMyAwIDEuOWwtLjQgMTEuMnpNNjQgMTEyYTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnpcIl1cbn07XG52YXIgZmFSb2RBc2NsZXBpdXMgPSBmYVN0YWZmU25ha2U7XG52YXIgZmFSb2RTbmFrZSA9IGZhU3RhZmZTbmFrZTtcbnZhciBmYVN0YWZmQWVzY3VsYXBpdXMgPSBmYVN0YWZmU25ha2U7XG52YXIgZmFIZWFkU2lkZUNvdWdoU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVhZC1zaWRlLWNvdWdoLXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlMDYyXCIsIFwiTTQ0OCAzMjUuOGw0NCAzNC41YzguMSAxLjQgMTQuOCA2LjggMTggMTQuMUw1NTIuOSA0MDhjMTAuNiAuNCAxOS41IDcuNiAyMi4yIDE3LjRsMzkuMSAzMC42Yy42IDAgMS4yLS4xIDEuOC0uMWMxMS4xIDAgMjAuNCA3LjUgMjMuMiAxNy44aC0zLjljNi4yIDguNSA2LjQgMjAuNC0uNCAyOWMtOC4yIDEwLjQtMjMuMyAxMi4zLTMzLjcgNC4xTDkuMiA0Mi45Qy0xLjIgMzQuNy0zLjEgMTkuNiA1LjEgOS4yUzI4LjQtMy4xIDM4LjggNS4xTDg5LjYgNDQuOUMxMjcgMTYuNyAxNzMuNSAwIDIyNCAwaDI0Yzk1LjIgMCAxODEuMiA2OS4zIDE5Ny4zIDE2MC4yYzIuMyAxMyA2LjggMjUuNyAxNS4xIDM2bDQyIDUyLjZjNi4yIDcuOCA5LjYgMTcuNCA5LjYgMjcuNGMwIDI0LjItMTkuNiA0My44LTQzLjggNDMuOEg0NDh2MCA1Ljh6TTAgMjI0LjJjMC0zOC43IDkuOC03NS4xIDI3LjEtMTA2LjlMMzQxLjggMzY1LjNsLTIuNSAuM2MtMTEgMS40LTE5LjIgMTAuNy0xOS4yIDIxLjhjMCAxMS42IDkgMjEuMiAyMC42IDIxLjlsNjIgMy45IDQzIDMzLjlDNDM5LjMgNDY2LjIgNDIxLjIgNDgwIDQwMCA0ODBIMzIwdjhjMCAxMy4zLTEwLjcgMjQtMjQgMjRIMjU2djBIOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjQwNy4zYzAtMTYuNy02LjktMzIuNS0xNy4xLTQ1LjhDMTYuNiAzMjIuNCAwIDI3NC4xIDAgMjI0LjJ6TTYxNiAzNjBhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0tNjQtNDhhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em00MC0yNGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwelwiXVxufTtcbnZhciBmYVRydWNrTWVkaWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cnVjay1tZWRpY2FsJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NjU3LCBcImFtYnVsYW5jZVwiXSwgXCJmMGY5XCIsIFwiTTAgNDhDMCAyMS41IDIxLjUgMCA0OCAwSDM2OGMyNi41IDAgNDggMjEuNSA0OCA0OFY5Nmg1MC43YzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDU4OS4zIDE5MmMxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zVjI1NnYzMiA2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg1NzZjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZIMjU2YzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFY0OHpNNDE2IDI1Nkg1NDRWMjM3LjNMNDY2LjcgMTYwSDQxNnY5NnpNMTYwIDQ2NGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bTM2OC00OGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek0xNzYgODB2NDhsLTQ4IDBjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoNDh2NDhjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYxOTJoNDhjOC44IDAgMTYtNy4yIDE2LTE2VjE0NGMwLTguOC03LjItMTYtMTYtMTZIMjQwVjgwYzAtOC44LTcuMi0xNi0xNi0xNkgxOTJjLTguOCAwLTE2IDcuMi0xNiAxNnpcIl1cbn07XG52YXIgZmFBbWJ1bGFuY2UgPSBmYVRydWNrTWVkaWNhbDtcbnZhciBmYVdoZWF0QXduQ2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2hlYXQtYXduLWNpcmNsZS1leGNsYW1hdGlvbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU5OFwiLCBcIk01MDUgNDFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMEwzODMgOTVjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw4OC04OHpNMzA1LjUgMjcuM2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBMMjcxLjUgMzguNmMtMzcuNSAzNy41LTM3LjUgOTguMyAwIDEzNS44bDEwLjQgMTAuNC0zMC41IDMwLjVjLTMuNC0yNy4zLTE1LjUtNTMuOC0zNi41LTc0LjhsLTExLjMtMTEuM2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBsLTExLjMgMTEuM2MtMzcuNSAzNy41LTM3LjUgOTguMyAwIDEzNS44bDEwLjQgMTAuNC0zMC41IDMwLjVjLTMuNC0yNy4zLTE1LjUtNTMuOC0zNi41LTc0LjhMMTAxLjggMjMxYy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMEw2Ny45IDI0Mi4zYy0zNy41IDM3LjUtMzcuNSA5OC4zIDAgMTM1LjhsMTAuNCAxMC40TDkuNCA0NTcuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw2OC45LTY4LjkgMTIuMiAxMi4yYzM3LjUgMzcuNSA5OC4zIDM3LjUgMTM1LjggMGwxMS4zLTExLjNjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZsLTExLjMtMTEuM2MtMjEuOC0yMS44LTQ5LjYtMzQuMS03OC4xLTM2LjlsMzEuOS0zMS45IDEyLjIgMTIuMmMyMi41IDIyLjUgNTMuMyAzMS41IDgyLjQgMjdjMC0xIDAtMi4xIDAtMy4xYzAtMzMuMSA5LjEtNjQuMSAyNS05MC42Yy0xNS41LTguNy0zMi41LTEzLjgtNDkuOC0xNS41bDMxLjktMzEuOSAxMi4yIDEyLjJjNiA2IDEyLjYgMTEuMSAxOS43IDE1LjJjMjcuNS0zNCA2Ny4zLTU3LjUgMTEyLjYtNjMuOGMtNC4xLTMuOC04LjQtNy4zLTEyLjktMTAuNUw1MDUgMTM3YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTU5LjQgNTkuNGMtMjAuNi00LjQtNDItMy43LTYyLjMgMi4xYzYuMS0yMS4zIDYuNi00My44IDEuNC02NS4zTDQwOSA0MWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwTDMyOS4xIDUyLjljLTMuNy01LTcuOC05LjgtMTIuNC0xNC4zTDMwNS41IDI3LjN6TTQ5NiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTk2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMC0xNDRjOC44IDAgMTYgNy4yIDE2IDE2djgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjI4OGMwLTguOCA3LjItMTYgMTYtMTZ6XCJdXG59O1xudmFyIGZhU25vd21hbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzbm93bWFuJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTczMSwgOTkyNF0sIFwiZjdkMFwiLCBcIk0zNDEuMSAxNDAuNmMtMiAzLjktMS42IDguNiAxLjIgMTJjNyA4LjUgMTIuOSAxOC4xIDE3LjIgMjguNEw0MDggMTYwLjJWMTIwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR2MTkuNmwyMi41LTkuN2MxMi4yLTUuMiAyNi4zIC40IDMxLjUgMTIuNnMtLjQgMjYuMy0xMi42IDMxLjVsLTU2IDI0LTczLjYgMzEuNWMtLjUgOS41LTIuMSAxOC42LTQuOCAyNy4zYy0xLjIgMy44LS4xIDggMi44IDEwLjhDMzk2LjcgMjk2LjkgNDE2IDMzOC4yIDQxNiAzODRjMCA0NC43LTE4LjMgODUtNDcuOCAxMTQuMWMtOS45IDkuNy0yMy43IDEzLjktMzcuNSAxMy45SDE4MS4zYy0xMy45IDAtMjcuNy00LjItMzcuNS0xMy45QzExNC4zIDQ2OSA5NiA0MjguNyA5NiAzODRjMC00NS44IDE5LjMtODcuMSA1MC4xLTExNi4zYzIuOS0yLjggNC02LjkgMi44LTEwLjhjLTIuNy04LjctNC4zLTE3LjktNC44LTI3LjNMNzAuNSAxOTguMWwtNTYtMjRDMi40IDE2OC44LTMuMyAxNTQuNyAxLjkgMTQyLjVzMTkuMy0xNy44IDMxLjUtMTIuNkw1NiAxMzkuNlYxMjBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHY0MC4yTDE1Mi42IDE4MWM0LjMtMTAuMyAxMC4xLTE5LjkgMTcuMi0yOC40YzIuOC0zLjQgMy4zLTguMSAxLjItMTJDMTY0IDEyNy4yIDE2MCAxMTIuMSAxNjAgOTZjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmMwIDE2LjEtNCAzMS4yLTEwLjkgNDQuNnpNMjI0IDk2YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnptNDggMTI4YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6bS0xNiA4MGExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6bTE2IDQ4YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6TTI4OCA5NmExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6bS00OCAyNHYzLjJjMCAzLjIgLjggNi4zIDIuMyA5bDkgMTYuOWMuOSAxLjcgMi43IDIuOCA0LjcgMi44czMuOC0xLjEgNC43LTIuOGw5LTE2LjljMS41LTIuOCAyLjMtNS45IDIuMy05VjEyMGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNnpcIl1cbn07XG52YXIgZmFNb3J0YXJQZXN0bGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9ydGFyLXBlc3RsZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjVhN1wiLCBcIk01MDQuMyAxMS4xQzQ5My4zLTEuNiA0NzQuNS0zLjcgNDYxIDYuMkwyNTIuMyAxNjBIMzk3LjNMNTAyLjYgNTQuNmMxMS44LTExLjggMTIuNi0zMC44IDEuNi00My41ek0zMiAxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJjMCA4Mi41IDQzLjQgMTQ3LjcgMTIzLjkgMTc2LjJjLTExLjEgMTMuOS0xOS40IDMwLjMtMjMuOSA0OC4xQzEyNy42IDQ5Ny40IDE0Mi4zIDUxMiAxNjAgNTEySDM1MmMxNy43IDAgMzIuNC0xNC42IDI4LjEtMzEuN2MtNC41LTE3LjgtMTIuOC0zNC4xLTIzLjktNDguMUM0MzYuNiA0MDMuNyA0ODAgMzM4LjUgNDgwIDI1NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMnpcIl1cbn07XG52YXIgZmFSb2FkQmFycmllciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyb2FkLWJhcnJpZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NjJcIiwgXCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFY0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyNjYuM0wxNDkuMiA5Nkg2NFY2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnpNNDA1LjIgOTZIMzMwLjhsLTUuNCAxMC43TDIzNC44IDI4OGg3NC4zbDUuNC0xMC43TDQwNS4yIDk2ek0zNjIuOCAyODhoNzQuM2w1LjQtMTAuN0w1MzMuMiA5Nkg0NTguOGwtNS40IDEwLjdMMzYyLjggMjg4ek0yMDIuOCA5NmwtNS40IDEwLjdMMTA2LjggMjg4aDc0LjNsNS40LTEwLjdMMjc3LjIgOTZIMjAyLjh6bTI4OCAxOTJINTc2VjQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMydjUzLjdMNDkwLjggMjg4elwiXVxufTtcbnZhciBmYVNjaG9vbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzY2hvb2wnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjc5NzldLCBcImY1NDlcIiwgXCJNMzM3LjggNS40QzMyNy0xLjggMzEzLTEuOCAzMDIuMiA1LjRMMTY2LjMgOTZINDhDMjEuNSA5NiAwIDExNy41IDAgMTQ0VjQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OEgyNTZWNDE2YzAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjR2OTZINTkyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjE0NGMwLTI2LjUtMjEuNS00OC00OC00OEg0NzMuN0wzMzcuOCA1LjR6TTk2IDE5MmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2NjRjMCA4LjgtNy4yIDE2LTE2IDE2SDk2Yy04LjggMC0xNi03LjItMTYtMTZWMjA4YzAtOC44IDcuMi0xNiAxNi0xNnptNDAwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2NjRjMCA4LjgtNy4yIDE2LTE2IDE2SDUxMmMtOC44IDAtMTYtNy4yLTE2LTE2VjIwOHpNOTYgMzIwaDMyYzguOCAwIDE2IDcuMiAxNiAxNnY2NGMwIDguOC03LjIgMTYtMTYgMTZIOTZjLTguOCAwLTE2LTcuMi0xNi0xNlYzMzZjMC04LjggNy4yLTE2IDE2LTE2em00MDAgMTZjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnY2NGMwIDguOC03LjIgMTYtMTYgMTZINTEyYy04LjggMC0xNi03LjItMTYtMTZWMzM2ek0yMzIgMTc2YTg4IDg4IDAgMSAxIDE3NiAwIDg4IDg4IDAgMSAxIC0xNzYgMHptODgtNDhjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIMzM2VjE0NGMwLTguOC03LjItMTYtMTYtMTZ6XCJdXG59O1xudmFyIGZhSWdsb28gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaWdsb28nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY3YWVcIiwgXCJNMzIwIDMzLjhWMTYwSDQ4LjVDMTAwLjIgODIuOCAxODguMSAzMiAyODggMzJjMTAuOCAwIDIxLjUgLjYgMzIgMS44ek0zNTIgMTYwVjM5LjFDNDI0LjkgNTUuNyA0ODcuMiA5OS44IDUyNy41IDE2MEgzNTJ6TTI5LjkgMTkySDk2VjMyMEgwYzAtNDYgMTAuOC04OS40IDI5LjktMTI4ek0xOTIgMzIwSDEyOFYxOTJINDQ4VjMyMEgzODR2MzJINTc2djgwYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDM1MlYzNTJjMC0zNS4zLTI4LjctNjQtNjQtNjRzLTY0IDI4LjctNjQgNjRWNDgwSDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFYzNTJIMTkyVjMyMHptMjg4IDBWMTkyaDY2LjFjMTkuMiAzOC42IDI5LjkgODIgMjkuOSAxMjhINDgwelwiXVxufTtcbnZhciBmYUpvaW50ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2pvaW50JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNTk1XCIsIFwiTTQ0OCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlY0M2MwIDU1LjIgMjEuOSAxMDguMSA2MC45IDE0Ny4xbDIxIDIxYzkgOSAxNC4xIDIxLjIgMTQuMSAzMy45djExYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMjQ1YzAtMjkuNy0xMS44LTU4LjItMzIuOC03OS4ybC0yMS0yMUM0NjMuMiAxMTcuOCA0NDggODEuMiA0NDggNDNWMzJ6TTU3NiAyNTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyNDVjMC01NS4yLTIxLjktMTA4LjEtNjAuOS0xNDcuMWwtMjEtMjFjLTktOS0xNC4xLTIxLjItMTQuMS0zMy45VjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjQzYzAgMjkuNyAxMS44IDU4LjIgMzIuOCA3OS4ybDIxIDIxYzI3IDI3IDQyLjIgNjMuNiA0Mi4yIDEwMS44djExek0yMjkuOCAzNjBjLTQuNy0yLjMtMTAtMi43LTE1LjItMmMtMzcuOCA1LjYtNzUuMiAxNC4zLTEwNi45IDIyLjhDODEuMyAzODggNTguMyAzOTUuMSA0MiA0MDAuNGMtOC4yIDIuNy0xNC43IDQuOS0xOS4yIDYuNWMtMi4zIC44LTQgMS40LTUuMiAxLjhsLTEuMyAuNUM2LjggNDEyLjUgMCA0MjEuNCAwIDQzMnM2LjggMTkuNSAxNi4zIDIyLjdsMS4zIC41YzEuMiAuNCAzIDEuMSA1LjIgMS44YzQuNSAxLjYgMTEgMy44IDE5LjIgNi41YzE2LjMgNS40IDM5LjIgMTIuNSA2NS43IDE5LjZDMTYwLjMgNDk3LjMgMjI4LjggNTEyIDI4OCA1MTJoNjcuM2M0LjEgMCA2LjMtNS4xIDMuNi04LjNMMjU2LjUgMzgwLjhjLTcuNC04LjktMTYuNS0xNS45LTI2LjctMjAuOHpNNDQ1IDUxMmgxOSA1MS4zYzQuMSAwIDYuMy01LjEgMy42LTguM0w0MTYuNSAzODAuOEM0MDEuMyAzNjIuNSAzNzguOCAzNTIgMzU1IDM1MkgzMzYgMjg4Yy0xLjEgMC0yLjMgMC0zLjQgMGMtNC4xIDAtNi4yIDUuMS0zLjUgOC4zTDM4My41IDQ4My4yQzM5OC43IDUwMS41IDQyMS4yIDUxMiA0NDUgNTEyem0tMy45LTE1MS43TDU0My41IDQ4My4yYzE0LjYgMTcuNSAzNS45IDI3LjkgNTguNiAyOC43YzIxLjEtMS4xIDM3LjktMTguNiAzNy45LTM5LjlWMzkyYzAtMjIuMS0xNy45LTQwLTQwLTQwSDQ0NC43Yy00LjEgMC02LjMgNS4xLTMuNiA4LjN6XCJdXG59O1xudmFyIGZhQW5nbGVSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbmdsZS1yaWdodCcsXG4gIGljb246IFszMjAsIDUxMiwgWzgyNTBdLCBcImYxMDVcIiwgXCJNMjc4LjYgMjMzLjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTE2MCAxNjBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDIxMC43IDI1NiA3My40IDExOC42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwbDE2MCAxNjB6XCJdXG59O1xudmFyIGZhSG9yc2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG9yc2UnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjgwMTRdLCBcImY2ZjBcIiwgXCJNNDQ4IDIzOC4xVjE2MGgxNmw5LjggMTkuNmMxMi41IDI1LjEgNDIuMiAzNi40IDY4LjMgMjZjMjAuNS04LjIgMzMuOS0yOCAzMy45LTUwLjFWODBjMC0xOS4xLTguNC0zNi4zLTIxLjctNDhINTYwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDQ4MCA0NDhDMzc3LjMgMCAzMjAgNTcuMyAzMjAgMTI4SDIyNCAyMDMuMiAxNDguOGMtMzAuNyAwLTU3LjYgMTYuMy03Mi41IDQwLjhDMzMuMiAxNzQuNSAwIDIxMS40IDAgMjU2djU2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWMjU2YzAtMTMuNCA2LjYtMjUuMiAxNi43LTMyLjVjMS42IDEzIDYuMyAyNS40IDEzLjYgMzYuNGwyOC4yIDQyLjRjOC4zIDEyLjQgNi40IDI4LjctMS4yIDQxLjZjLTE2LjUgMjgtMjAuNiA2Mi4yLTEwIDkzLjlsMTcuNSA1Mi40YzQuNCAxMy4xIDE2LjYgMjEuOSAzMC40IDIxLjloMzMuN2MyMS44IDAgMzcuMy0yMS40IDMwLjQtNDIuMWwtMjAuOC02Mi41Yy0yLjEtNi40LS41LTEzLjQgNC4zLTE4LjJsMTIuNy0xMi43YzEzLjItMTMuMiAyMC42LTMxLjEgMjAuNi00OS43YzAtMi4zLS4xLTQuNi0uMy02LjlsODQgMjRjNC4xIDEuMiA4LjIgMi4xIDEyLjMgMi44VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMmgzMmMxNy43IDAgMzItMTQuMyAzMi0zMlYzMTUuN2MxOS4yLTE5LjIgMzEuNS00NS43IDMyLTc1LjdoMHYtMS45ek00OTYgNjRhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyelwiXVxufTtcbnZhciBmYVEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncScsXG4gIGljb246IFs0NDgsIDUxMiwgWzExM10sIFwiNTFcIiwgXCJNNjQgMjU2YzAgODguNCA3MS42IDE2MCAxNjAgMTYwYzI4LjkgMCA1Ni03LjcgNzkuNC0yMS4xbC03Mi04Ni40Yy0xMS4zLTEzLjYtOS41LTMzLjggNC4xLTQ1LjFzMzMuOC05LjUgNDUuMSA0LjFsNzAuOSA4NS4xQzM3MS45IDMyNS44IDM4NCAyOTIuMyAzODQgMjU2YzAtODguNC03MS42LTE2MC0xNjAtMTYwUzY0IDE2Ny42IDY0IDI1NnpNMzQ0LjkgNDQ0LjZDMzEwIDQ2NyAyNjguNSA0ODAgMjI0IDQ4MEMxMDAuMyA0ODAgMCAzNzkuNyAwIDI1NlMxMDAuMyAzMiAyMjQgMzJzMjI0IDEwMC4zIDIyNCAyMjRjMCA1Ni4xLTIwLjYgMTA3LjQtNTQuNyAxNDYuN2w0Ny4zIDU2LjhjMTEuMyAxMy42IDkuNSAzMy44LTQuMSA0NS4xcy0zMy44IDkuNS00NS4xLTQuMWwtNDYuNi01NS45elwiXVxufTtcbnZhciBmYUcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZycsXG4gIGljb246IFs0NDgsIDUxMiwgWzEwM10sIFwiNDdcIiwgXCJNMjI0IDk2QzEzNS42IDk2IDY0IDE2Ny42IDY0IDI1NnM3MS42IDE2MCAxNjAgMTYwYzc3LjQgMCAxNDItNTUgMTU2LjgtMTI4SDI1NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkg0MDBjMjUuOCAwIDQ5LjYgMjEuNCA0Ny4yIDUwLjZDNDM3LjggMzg5LjYgMzQxLjQgNDgwIDIyNCA0ODBDMTAwLjMgNDgwIDAgMzc5LjcgMCAyNTZTMTAwLjMgMzIgMjI0IDMyYzU3LjQgMCAxMDkuNyAyMS42IDE0OS4zIDU3YzEzLjIgMTEuOCAxNC4zIDMyIDIuNSA0NS4ycy0zMiAxNC4zLTQ1LjIgMi41QzMwMi4zIDExMS40IDI2NSA5NiAyMjQgOTZ6XCJdXG59O1xudmFyIGZhTm90ZXNNZWRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ25vdGVzLW1lZGljYWwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY0ODFcIiwgXCJNOTYgMzUyVjk2YzAtMzUuMyAyOC43LTY0IDY0LTY0SDQxNmMzNS4zIDAgNjQgMjguNyA2NCA2NFYyOTMuNWMwIDE3LTYuNyAzMy4zLTE4LjcgNDUuM2wtNTguNSA1OC41Yy0xMiAxMi0yOC4zIDE4LjctNDUuMyAxOC43SDE2MGMtMzUuMyAwLTY0LTI4LjctNjQtNjR6TTI3MiAxMjhjLTguOCAwLTE2IDcuMi0xNiAxNnY0OEgyMDhjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoNDh2NDhjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYyNTZoNDhjOC44IDAgMTYtNy4yIDE2LTE2VjIwOGMwLTguOC03LjItMTYtMTYtMTZIMzIwVjE0NGMwLTguOC03LjItMTYtMTYtMTZIMjcyem0yNCAzMzZjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIMTM2QzYwLjkgNTEyIDAgNDUxLjEgMCAzNzZWMTUyYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAyMjRjMCA0OC42IDM5LjQgODggODggODhIMjk2elwiXVxufTtcbnZhciBmYVRlbXBlcmF0dXJlSGFsZiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW1wZXJhdHVyZS1oYWxmJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTI3Nzc3LCBcInRlbXBlcmF0dXJlLTJcIiwgXCJ0aGVybW9tZXRlci0yXCIsIFwidGhlcm1vbWV0ZXItaGFsZlwiXSwgXCJmMmM5XCIsIFwiTTE2MCA2NGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhWMjc2LjVjMCAxNy4zLTcuMSAzMS45LTE1LjMgNDIuNUM4Ni4yIDMzMi42IDgwIDM0OS41IDgwIDM2OGMwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtMTguNS02LjItMzUuNC0xNi43LTQ4LjljLTguMi0xMC42LTE1LjMtMjUuMi0xNS4zLTQyLjVWMTEyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek00OCAxMTJDNDggNTAuMiA5OC4xIDAgMTYwIDBzMTEyIDUwLjEgMTEyIDExMlYyNzYuNWMwIC4xIC4xIC4zIC4yIC42Yy4yIC42IC44IDEuNiAxLjcgMi44YzE4LjkgMjQuNCAzMC4xIDU1IDMwLjEgODguMWMwIDc5LjUtNjQuNSAxNDQtMTQ0IDE0NFMxNiA0NDcuNSAxNiAzNjhjMC0zMy4yIDExLjItNjMuOCAzMC4xLTg4LjFjLjktMS4yIDEuNS0yLjIgMS43LTIuOGMuMS0uMyAuMi0uNSAuMi0uNlYxMTJ6TTIwOCAzNjhjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhjMC0yMC45IDEzLjQtMzguNyAzMi00NS4zVjIwOGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2VjMyMi43YzE4LjYgNi42IDMyIDI0LjQgMzIgNDUuM3pcIl1cbn07XG52YXIgZmFUZW1wZXJhdHVyZTIgPSBmYVRlbXBlcmF0dXJlSGFsZjtcbnZhciBmYVRoZXJtb21ldGVyMiA9IGZhVGVtcGVyYXR1cmVIYWxmO1xudmFyIGZhVGhlcm1vbWV0ZXJIYWxmID0gZmFUZW1wZXJhdHVyZUhhbGY7XG52YXIgZmFEb25nU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkb25nLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUxNjlcIiwgXCJNMjg4IDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmgzMnY0OS4xYy0xOC44LTEwLjktNDAuNy0xNy4xLTY0LTE3LjFjLTcwLjcgMC0xMjggNTcuMy0xMjggMTI4czU3LjMgMTI4IDEyOCAxMjhjMjQuNSAwIDQ3LjQtNi45IDY2LjgtMTguOGM1IDExLjEgMTYuMiAxOC44IDI5LjIgMTguOGMxNy43IDAgMzItMTQuMyAzMi0zMlYyODggMTI4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek0xMjggMjg4YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNMzIgNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDM1MmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMnpcIl1cbn07XG52YXIgZmFDYXBzdWxlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXBzdWxlcycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjQ2YlwiLCBcIk02NCAxNDRjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OFYyNTZINjRWMTQ0ek0wIDE0NFYzNjhjMCA2MS45IDUwLjEgMTEyIDExMiAxMTJzMTEyLTUwLjEgMTEyLTExMlYxODkuNmMxLjggMTkuMSA4LjIgMzggMTkuOCA1NC44TDM3Mi4zIDQzMS43YzM1LjUgNTEuNyAxMDUuMyA2NC4zIDE1NiAyOC4xczYzLTEwNy41IDI3LjUtMTU5LjJMNDI3LjMgMTEzLjNDMzkxLjggNjEuNSAzMjEuOSA0OSAyNzEuMyA4NS4yYy0yOCAyMC00NC4zIDUwLjgtNDcuMyA4M1YxNDRjMC02MS45LTUwLjEtMTEyLTExMi0xMTJTMCA4Mi4xIDAgMTQ0em0yOTYuNiA2NC4yYy0xNi0yMy4zLTEwLTU1LjMgMTEuOS03MWMyMS4yLTE1LjEgNTAuNS0xMC4zIDY2IDEyLjJsNjcgOTcuNkwzNjEuNiAzMDNsLTY1LTk0Ljh6TTQ5MSA0MDcuN2MtLjggLjYtMS42IDEuMS0yLjQgMS42bDQtMi44Yy0uNSAuNC0xIC44LTEuNiAxLjJ6XCJdXG59O1xudmFyIGZhUG9vU3Rvcm0gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncG9vLXN0b3JtJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJwb28tYm9sdFwiXSwgXCJmNzVhXCIsIFwiTTIzNi45IC4yYy01LjUtLjctMTEgMS40LTE0LjUgNS43cy00LjYgMTAuMS0yLjggMTUuM2MyLjggOC4yIDQuMyAxNi45IDQuMyAyNi4xYzAgMjEuNy04LjUgMzcuMi0yMS45IDQ3LjZjLTEzLjggMTAuOC0zNCAxNy01Ny44IDE3SDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRjMCAxMi4yIDMuNCAyMy41IDkuMyAzMy4yQzMxLjcgMjE2LjIgMCAyNTIuNCAwIDI5NmMwIDQwLjkgMjggNzUuNCA2NS44IDg1LjJjLTUuMy0xOC41IDEtMzguNSAxNi4yLTUwLjdsMTYwLTEyOGMxNy42LTE0LjEgNDIuNi0xNCA2MC4yIC4yczIyLjggMzguNiAxMi44IDU4LjhMMjg1LjcgMzIwSDMwNGMyMC40IDAgMzguNSAxMi45IDQ1LjMgMzIuMWMzLjcgMTAuNiAzLjUgMjEuOCAwIDMxLjlIMzYwYzQ4LjYgMCA4OC0zOS40IDg4LTg4YzAtNDMuNi0zMS43LTc5LjgtNzMuMy04Ni44YzUuOS05LjcgOS4zLTIxLjEgOS4zLTMzLjJjMC0zNS4zLTI4LjctNjQtNjQtNjRoLTEuNGMuOS01LjQgMS40LTEwLjkgMS40LTE2LjZjMC00OC43LTM2LjEtODguOS04My4xLTk1LjJ6bTQ1LjEgMjI3LjRjLTUuOC00LjctMTQuMi00LjctMjAuMS0uMWwtMTYwIDEyOGMtNS4zIDQuMi03LjQgMTEuNC01LjEgMTcuOHM4LjMgMTAuNyAxNS4xIDEwLjdoNzAuMUwxMjkuNyA0ODguOGMtMy40IDYuNy0xLjYgMTQuOSA0LjMgMTkuNnMxNC4yIDQuNyAyMC4xIC4xbDE2MC0xMjhjNS4zLTQuMiA3LjQtMTEuNCA1LjEtMTcuOHMtOC4zLTEwLjctMTUuMS0xMC43SDIzMy45bDUyLjQtMTA0LjhjMy40LTYuNyAxLjYtMTQuOS00LjMtMTkuNnpcIl1cbn07XG52YXIgZmFQb29Cb2x0ID0gZmFQb29TdG9ybTtcbnZhciBmYUZhY2VGcm93bk9wZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1mcm93bi1vcGVuJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTUwLCBcImZyb3duLW9wZW5cIl0sIFwiZjU3YVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTc2LjQgMTc2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bS0xMjIgMTc0LjVjLTEyLjQgNS4yLTI2LjUtNC4xLTIxLjEtMTYuNGMxNi0zNi42IDUyLjQtNjIuMSA5NC44LTYyLjFzNzguOCAyNS42IDk0LjggNjIuMWM1LjQgMTIuMy04LjcgMjEuNi0yMS4xIDE2LjRjLTIyLjQtOS41LTQ3LjQtMTQuOC03My43LTE0LjhzLTUxLjMgNS4zLTczLjcgMTQuOHpcIl1cbn07XG52YXIgZmFGcm93bk9wZW4gPSBmYUZhY2VGcm93bk9wZW47XG52YXIgZmFIYW5kUG9pbnRVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLXBvaW50LXVwJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbOTc1N10sIFwiZjBhNlwiLCBcIk0zMiAzMkMzMiAxNC4zIDQ2LjMgMCA2NCAwUzk2IDE0LjMgOTYgMzJWMjQwSDMyVjMyek0yMjQgMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMTkyem0tNjQtNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2NDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyem0xNjAgOTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnY2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYyMjR6bS05NiA4OGwwLS42YzkuNCA1LjQgMjAuMyA4LjYgMzIgOC42YzEzLjIgMCAyNS40LTQgMzUuNi0xMC44YzguNyAyNC45IDMyLjUgNDIuOCA2MC40IDQyLjhjMTEuNyAwIDIyLjYtMy4xIDMyLTguNlYzNTJjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBIMTYyLjNjLTQyLjQgMC04My4xLTE2LjktMTEzLjEtNDYuOUwzNy41IDQ1My41QzEzLjUgNDI5LjUgMCAzOTYuOSAwIDM2M1YzMzZjMC0zNS4zIDI4LjctNjQgNjQtNjRoODhjMjIuMSAwIDQwIDE3LjkgNDAgNDBzLTE3LjkgNDAtNDAgNDBIOTZjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZoNTZjMzkuOCAwIDcyLTMyLjIgNzItNzJ6XCJdXG59O1xudmFyIGZhTW9uZXlCaWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vbmV5LWJpbGwnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImYwZDZcIiwgXCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhWMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0SDUxMmMzNS4zIDAgNjQtMjguNyA2NC02NFYxMjhjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6bTY0IDMyMEg2NFYzMjBjMzUuMyAwIDY0IDI4LjcgNjQgNjR6TTY0IDE5MlYxMjhoNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjR6TTQ0OCAzODRjMC0zNS4zIDI4LjctNjQgNjQtNjR2NjRINDQ4em02NC0xOTJjLTM1LjMgMC02NC0yOC43LTY0LTY0aDY0djY0ek0yODggMTYwYTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyelwiXVxufTtcbnZhciBmYUJvb2ttYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jvb2ttYXJrJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI4Mjc4LCA2MTU5MV0sIFwiZjAyZVwiLCBcIk0wIDQ4VjQ4Ny43QzAgNTAxLjEgMTAuOSA1MTIgMjQuMyA1MTJjNSAwIDkuOS0xLjUgMTQtNC40TDE5MiA0MDAgMzQ1LjcgNTA3LjZjNC4xIDIuOSA5IDQuNCAxNCA0LjRjMTMuNCAwIDI0LjMtMTAuOSAyNC4zLTI0LjNWNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhINDhDMjEuNSAwIDAgMjEuNSAwIDQ4elwiXVxufTtcbnZhciBmYUFsaWduSnVzdGlmeSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbGlnbi1qdXN0aWZ5JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMDM5XCIsIFwiTTQ0OCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMkgzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZINDE2YzE3LjcgMCAzMi0xNC4zIDMyLTMyem0wIDI1NmMwLTE3LjctMTQuMy0zMi0zMi0zMkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg0MTZjMTcuNyAwIDMyLTE0LjMgMzItMzJ6TTAgMTkyYzAgMTcuNyAxNC4zIDMyIDMyIDMySDQxNmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTQ0OCA0NDhjMC0xNy43LTE0LjMtMzItMzItMzJIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDE2YzE3LjcgMCAzMi0xNC4zIDMyLTMyelwiXVxufTtcbnZhciBmYVVtYnJlbGxhQmVhY2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndW1icmVsbGEtYmVhY2gnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjc5NThdLCBcImY1Y2FcIiwgXCJNMzQ2LjMgMjcxLjhsLTYwLjEtMjEuOUwyMTQgNDQ4SDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDU0NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgyODIuMWw2NC4xLTE3Ni4yem0xMjEuMS0uMmwtMy4zIDkuMSA2Ny43IDI0LjZjMTguMSA2LjYgMzgtNC4yIDM5LjYtMjMuNGM2LjUtNzguNS0yMy45LTE1NS41LTgwLjgtMjA4LjVjMiA4IDMuMiAxNi4zIDMuNCAyNC44bC4yIDZjMS44IDU3LTcuMyAxMTMuOC0yNi44IDE2Ny40ek00NjIgOTkuMWMtMS4xLTM0LjQtMjIuNS02NC44LTU0LjQtNzcuNGMtLjktLjQtMS45LS43LTIuOC0xLjFjLTMzLTExLjctNjkuOC0yLjQtOTMuMSAyMy44bC00IDQuNUMyNzIuNCA4OC4zIDI0NSAxMzQuMiAyMjYuOCAxODRsLTMuMyA5LjFMNDM0IDI2OS43bDMuMy05LjFjMTguMS00OS44IDI2LjYtMTAyLjUgMjQuOS0xNTUuNWwtLjItNnpNMTA3LjIgMTEyLjljLTExLjEgMTUuNy0yLjggMzYuOCAxNS4zIDQzLjRsNzEgMjUuOCAzLjMtOS4xYzE5LjUtNTMuNiA0OS4xLTEwMyA4Ny4xLTE0NS41bDQtNC41YzYuMi02LjkgMTMuMS0xMyAyMC41LTE4LjJjLTc5LjYgMi41LTE1NC43IDQyLjItMjAxLjIgMTA4elwiXVxufTtcbnZhciBmYUhlbG1ldFVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlbG1ldC11bicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTUwM1wiLCBcIk00NzkuNSAyMjRDNDcxLjIgOTguOSAzNjcuMiAwIDI0MCAwQzEwNy41IDAgMCAxMDcuNSAwIDI0MHY1Ni4zQzAgMzQ0LjggMzkuMiAzODQgODcuNyAzODRIMjAwaDE0LjlMMzQzLjUgNTA1LjRjNC41IDQuMiAxMC40IDYuNiAxNi41IDYuNmg5NmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEgzNjkuNWwtMS41LTEuNVYyODhoODAgMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJoLS41ek0zMjAgNDE3LjJsLTc4LTczLjdMMjc0LjQgMjg4SDMyMFY0MTcuMnpNMjg1LjMgMTAzLjFsMzQuNyA1MlYxMTJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnY5NmMwIDcuMS00LjYgMTMuMy0xMS40IDE1LjNzLTE0LS42LTE3LjktNi40bC0zNC43LTUyVjIwOGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlYxMTJjMC03LjEgNC42LTEzLjMgMTEuNC0xNS4zczE0IC42IDE3LjkgNi40ek0xNjAgMTEydjY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMTEyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ2NjRjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhWMTEyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ6XCJdXG59O1xudmFyIGZhQnVsbHNleWUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVsbHNleWUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYxNDBcIiwgXCJNNDQ4IDI1NkExOTIgMTkyIDAgMSAwIDY0IDI1NmExOTIgMTkyIDAgMSAwIDM4NCAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6bTI1NiA4MGE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHptMC0yMjRhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4ek0yMjQgMjU2YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6XCJdXG59O1xudmFyIGZhQmFjb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFjb24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjkzNjNdLCBcImY3ZTVcIiwgXCJNNDM5LjIgMS4yYzExLjItMy4yIDIzLjItLjEgMzEuNCA4LjFMNTE4IDU2LjdsLTI2LjUgNy45Yy01OCAxNi42LTk4LjEgMzkuNi0xMjkuNiA2Ny40Yy0zMS4yIDI3LjUtNTMuMiA1OS4xLTc1LjEgOTAuOWwtMi4zIDMuM0MyNDEuNiAyODguNyAxOTUgMzU2LjYgNzIuOCA0MTcuN0wzNy45IDQzNS4yIDkuNCA0MDYuNmMtNy4zLTcuMy0xMC42LTE3LjYtOS0yNy44czguMS0xOC45IDE3LjMtMjMuNUMxMzYuMSAyOTYuMiAxODAuOSAyMzEgMjIzLjMgMTY5LjNsMi4zLTMuNGMyMS44LTMxLjggNDQuOS02NC45IDc3LjctOTMuOWMzMy40LTI5LjUgNzUuOC01My42IDEzNS45LTcwLjh6TTYxLjggNDU5bDI1LjQtMTIuN2MxMjkuNS02NC43IDE3OS45LTEzOC4xIDIyMy44LTIwMmwyLjItMy4zYzIyLjEtMzIuMSA0Mi4xLTYwLjUgNjkuOS04NS4xYzI3LjUtMjQuMyA2My40LTQ1LjIgMTE3LjMtNjAuNmwwIDAgLjItLjEgNDMuMS0xMi45IDIzIDIzYzggOCAxMS4yIDE5LjcgOC4zIDMwLjdzLTExLjMgMTkuNi0yMi4yIDIyLjdjLTUxLjkgMTQuOC04NS42IDM0LjctMTExLjEgNTcuMmMtMjYuMSAyMy00NS4xIDQ5LjktNjcuMyA4Mi4xbC0yLjIgMy4yQzMyNy44IDM2NS45IDI3NS41IDQ0MiAxNDIuMyA1MDguNmMtMTIuMyA2LjItMjcuMiAzLjctMzYuOS02TDYxLjggNDU5elwiXVxufTtcbnZhciBmYUhhbmRQb2ludERvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZC1wb2ludC1kb3duJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmMGE3XCIsIFwiTTMyIDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjI3MkgzMlY0ODB6TTIyNCAzMjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyNTZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ2NjR6bS02NCA2NGMxNy43IDAgMzItMTQuMyAzMi0zMlYzMDRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ2NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJ6bTE2MC05NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnY2NHptLTk2LTg4bDAgLjZjOS40LTUuNCAyMC4zLTguNiAzMi04LjZjMTMuMiAwIDI1LjQgNCAzNS42IDEwLjhjOC43LTI0LjkgMzIuNS00Mi44IDYwLjQtNDIuOGMxMS43IDAgMjIuNiAzLjEgMzIgOC42VjE2MEMzODQgNzEuNiAzMTIuNCAwIDIyNCAwSDE2Mi4zQzExOS44IDAgNzkuMSAxNi45IDQ5LjEgNDYuOUwzNy41IDU4LjVDMTMuNSA4Mi41IDAgMTE1LjEgMCAxNDl2MjdjMCAzNS4zIDI4LjcgNjQgNjQgNjRoODhjMjIuMSAwIDQwLTE3LjkgNDAtNDBzLTE3LjktNDAtNDAtNDBIOTZjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZoNTZjMzkuOCAwIDcyIDMyLjIgNzIgNzJ6XCJdXG59O1xudmFyIGZhQXJyb3dVcEZyb21CcmFja2V0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXVwLWZyb20tYnJhY2tldCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTA5YVwiLCBcIk0yNDYuNiA5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMjggMTI4Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDE5MiAxMDkuMyAxOTIgMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yMTAuNyA3My40IDczLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtMTI4LTEyOHpNNjQgMzUyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjRjMCA1MyA0MyA5NiA5NiA5NmwyNTYgMGM1MyAwIDk2LTQzIDk2LTk2bDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkw5NiA0NDhjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjR6XCJdXG59O1xudmFyIGZhRm9sZGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZvbGRlcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODE5MywgMTI4NDQ3LCA2MTcxNiwgXCJmb2xkZXItYmxhbmtcIl0sIFwiZjA3YlwiLCBcIk02NCA0ODBINDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0VjE2MGMwLTM1LjMtMjguNy02NC02NC02NEgyODhjLTEwLjEgMC0xOS42LTQuNy0yNS42LTEyLjhMMjQzLjIgNTcuNkMyMzEuMSA0MS41IDIxMi4xIDMyIDE5MiAzMkg2NEMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NHpcIl1cbn07XG52YXIgZmFGb2xkZXJCbGFuayA9IGZhRm9sZGVyO1xudmFyIGZhRmlsZVdhdmVmb3JtID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtd2F2ZWZvcm0nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImZpbGUtbWVkaWNhbC1hbHRcIl0sIFwiZjQ3OFwiLCBcIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0VjI4OEgxNDRjNi4xIDAgMTEuNiAzLjQgMTQuMyA4LjhMMTc2IDMzMi4ybDQ5LjctOTkuNGMyLjctNS40IDguMy04LjggMTQuMy04LjhzMTEuNiAzLjQgMTQuMyA4LjhMMjgxLjkgMjg4SDM1MmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgyNzJjLTYuMSAwLTExLjYtMy40LTE0LjMtOC44TDI0MCAyNzUuOGwtNDkuNyA5OS40Yy0yLjcgNS40LTguMyA4LjgtMTQuMyA4LjhzLTExLjYtMy40LTE0LjMtOC44TDEzNC4xIDMyMEgzMlY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzUyYzM1LjMgMCA2NC0yOC43IDY0LTY0VjE2MEgyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjBIOTZ6TTI4OCAwVjEyOEg0MTZMMjg4IDB6XCJdXG59O1xudmFyIGZhRmlsZU1lZGljYWxBbHQgPSBmYUZpbGVXYXZlZm9ybTtcbnZhciBmYVJhZGlhdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyYWRpYXRpb24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3YjlcIiwgXCJNMjE2IDE4Ni43Yy0yMy45IDEzLjgtNDAgMzkuNy00MCA2OS4zTDMyIDI1NkMxNC4zIDI1Ni0uMiAyNDEuNiAyIDIyNC4xQzEwLjcgMTU0IDQ3LjggOTIuNyAxMDEuMyA1MmMxNC4xLTEwLjcgMzMuOC01LjMgNDIuNyAxMGw3MiAxMjQuN3pNMjU2IDMzNmMxNC42IDAgMjguMi0zLjkgNDAtMTAuN2w3MiAxMjQuOGM4LjggMTUuMyAzLjcgMzUuMS0xMi42IDQxLjljLTMwLjYgMTIuOS02NC4yIDIwLTk5LjQgMjBzLTY4LjktNy4xLTk5LjQtMjBjLTE2LjMtNi45LTIxLjQtMjYuNi0xMi42LTQxLjlsNzItMTI0LjhjMTEuOCA2LjggMjUuNCAxMC43IDQwIDEwLjd6bTIyNC04MGwtMTQ0IDBjMC0yOS42LTE2LjEtNTUuNS00MC02OS4zTDM2OCA2MmM4LjgtMTUuMyAyOC42LTIwLjcgNDIuNy0xMGM1My42IDQwLjcgOTAuNiAxMDIgOTkuNCAxNzIuMWMyLjIgMTcuNS0xMi40IDMxLjktMzAgMzEuOXpNMjU2IDIwOGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6XCJdXG59O1xudmFyIGZhQ2hhcnRTaW1wbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hhcnQtc2ltcGxlJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJlNDczXCIsIFwiTTE2MCA4MGMwLTI2LjUgMjEuNS00OCA0OC00OGgzMmMyNi41IDAgNDggMjEuNSA0OCA0OFY0MzJjMCAyNi41LTIxLjUgNDgtNDggNDhIMjA4Yy0yNi41IDAtNDgtMjEuNS00OC00OFY4MHpNMCAyNzJjMC0yNi41IDIxLjUtNDggNDgtNDhIODBjMjYuNSAwIDQ4IDIxLjUgNDggNDhWNDMyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFYyNzJ6TTM2OCA5NmgzMmMyNi41IDAgNDggMjEuNSA0OCA0OFY0MzJjMCAyNi41LTIxLjUgNDgtNDggNDhIMzY4Yy0yNi41IDAtNDgtMjEuNS00OC00OFYxNDRjMC0yNi41IDIxLjUtNDggNDgtNDh6XCJdXG59O1xudmFyIGZhTWFyc1N0cm9rZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXJzLXN0cm9rZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzk4OTRdLCBcImYyMjlcIiwgXCJNMzc2IDBjLTkuNyAwLTE4LjUgNS44LTIyLjIgMTQuOHMtMS43IDE5LjMgNS4yIDI2LjJsMzMuNCAzMy40TDM3MC4zIDk2LjQgMzQ1IDcxYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDI1LjQgMjUuNEwzMDcuOCAxNTljLTI4LjQtMTkuNS02Mi43LTMxLTk5LjgtMzFjLTk3LjIgMC0xNzYgNzguOC0xNzYgMTc2czc4LjggMTc2IDE3NiAxNzZzMTc2LTc4LjggMTc2LTE3NmMwLTM3LTExLjQtNzEuNC0zMS05OS44bDI4LjYtMjguNkw0MDcgMjAxYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMjUuNC0yNS40IDIyLjEtMjIuMUw0NzEgMTUzYzYuOSA2LjkgMTcuMiA4LjkgMjYuMiA1LjJzMTQuOC0xMi41IDE0LjgtMjIuMlYyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNEgzNzZ6bTg4IDQ4aDB2MGwwIDB6TTk2IDMwNGExMTIgMTEyIDAgMSAxIDIyNCAwQTExMiAxMTIgMCAxIDEgOTYgMzA0elwiXVxufTtcbnZhciBmYVZpYWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmlhbCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyOTUxNF0sIFwiZjQ5MlwiLCBcIk0zNDIuNiA5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDkuNCA5LjRMMjguMSAzNDIuNkMxMC4xIDM2MC42IDAgMzg1IDAgNDEwLjVWNDE2YzAgNTMgNDMgOTYgOTYgOTZoNS41YzI1LjUgMCA0OS45LTEwLjEgNjcuOS0yOC4xTDQ0OCAyMDUuM2w5LjQgOS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTMyLTMyLTk2LTk2LTMyLTMyek0yMDUuMyAyNTZMMzUyIDEwOS4zIDQwMi43IDE2MGwtOTYgOTZIMjA1LjN6XCJdXG59O1xudmFyIGZhR2F1Z2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ2F1Z2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImRhc2hib2FyZFwiLCBcImdhdWdlLW1lZFwiLCBcInRhY2hvbWV0ZXItYWx0LWF2ZXJhZ2VcIl0sIFwiZjYyNFwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6bTMyMCA5NmMwLTI2LjktMTYuNS00OS45LTQwLTU5LjNWODhjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRWMjkyLjdjLTIzLjUgOS41LTQwIDMyLjUtNDAgNTkuM2MwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0ek0xNDQgMTc2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptLTE2IDgwYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTI4OCAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTQwMCAxNDRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpcIl1cbn07XG52YXIgZmFEYXNoYm9hcmQgPSBmYUdhdWdlO1xudmFyIGZhR2F1Z2VNZWQgPSBmYUdhdWdlO1xudmFyIGZhVGFjaG9tZXRlckFsdEF2ZXJhZ2UgPSBmYUdhdWdlO1xudmFyIGZhV2FuZE1hZ2ljU3BhcmtsZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2FuZC1tYWdpYy1zcGFya2xlcycsXG4gIGljb246IFs1NzYsIDUxMiwgW1wibWFnaWMtd2FuZC1zcGFya2xlc1wiXSwgXCJlMmNhXCIsIFwiTTIzNC43IDQyLjdMMTk3IDU2LjhjLTMgMS4xLTUgNC01IDcuMnMyIDYuMSA1IDcuMmwzNy43IDE0LjFMMjQ4LjggMTIzYzEuMSAzIDQgNSA3LjIgNXM2LjEtMiA3LjItNWwxNC4xLTM3LjdMMzE1IDcxLjJjMy0xLjEgNS00IDUtNy4ycy0yLTYuMS01LTcuMkwyNzcuMyA0Mi43IDI2My4yIDVjLTEuMS0zLTQtNS03LjItNXMtNi4xIDItNy4yIDVMMjM0LjcgNDIuN3pNNDYuMSAzOTUuNGMtMTguNyAxOC43LTE4LjcgNDkuMSAwIDY3LjlsMzQuNiAzNC42YzE4LjcgMTguNyA0OS4xIDE4LjcgNjcuOSAwTDUyOS45IDExNi41YzE4LjctMTguNyAxOC43LTQ5LjEgMC02Ny45TDQ5NS4zIDE0LjFjLTE4LjctMTguNy00OS4xLTE4LjctNjcuOSAwTDQ2LjEgMzk1LjR6TTQ4NC42IDgyLjZsLTEwNSAxMDUtMjMuMy0yMy4zIDEwNS0xMDUgMjMuMyAyMy4zek03LjUgMTE3LjJDMyAxMTguOSAwIDEyMy4yIDAgMTI4czMgOS4xIDcuNSAxMC44TDY0IDE2MGwyMS4yIDU2LjVjMS43IDQuNSA2IDcuNSAxMC44IDcuNXM5LjEtMyAxMC44LTcuNUwxMjggMTYwbDU2LjUtMjEuMmM0LjUtMS43IDcuNS02IDcuNS0xMC44cy0zLTkuMS03LjUtMTAuOEwxMjggOTYgMTA2LjggMzkuNUMxMDUuMSAzNSAxMDAuOCAzMiA5NiAzMnMtOS4xIDMtMTAuOCA3LjVMNjQgOTYgNy41IDExNy4yem0zNTIgMjU2Yy00LjUgMS43LTcuNSA2LTcuNSAxMC44czMgOS4xIDcuNSAxMC44TDQxNiA0MTZsMjEuMiA1Ni41YzEuNyA0LjUgNiA3LjUgMTAuOCA3LjVzOS4xLTMgMTAuOC03LjVMNDgwIDQxNmw1Ni41LTIxLjJjNC41LTEuNyA3LjUtNiA3LjUtMTAuOHMtMy05LjEtNy41LTEwLjhMNDgwIDM1MmwtMjEuMi01Ni41Yy0xLjctNC41LTYtNy41LTEwLjgtNy41cy05LjEgMy0xMC44IDcuNUw0MTYgMzUybC01Ni41IDIxLjJ6XCJdXG59O1xudmFyIGZhTWFnaWNXYW5kU3BhcmtsZXMgPSBmYVdhbmRNYWdpY1NwYXJrbGVzO1xudmFyIGZhRSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdlJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTAxXSwgXCI0NVwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjI1NiA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMjg4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDY0VjI4OEgyMjRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINjRWOTZIMjg4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDY0elwiXVxufTtcbnZhciBmYVBlbkNsaXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVuLWNsaXAnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInBlbi1hbHRcIl0sIFwiZjMwNVwiLCBcIk00NTMuMyAxOS4zbDM5LjQgMzkuNGMyNSAyNSAyNSA2NS41IDAgOTAuNWwtNTIuMSA1Mi4xIDAgMC0xLTEgMCAwLTE2LTE2LTk2LTk2LTE3LTE3IDUyLjEtNTIuMWMyNS0yNSA2NS41LTI1IDkwLjUgMHpNMjQxIDExNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMEwxMDUgMjE3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45TDE3My4xIDgxYzI4LjEtMjguMSA3My43LTI4LjEgMTAxLjggMEwyODggOTQuMWwxNyAxNyA5NiA5NiAxNiAxNiAxIDEtMTcgMTdMMjI5LjUgNDEyLjVjLTQ4IDQ4LTEwOS4yIDgwLjgtMTc1LjggOTQuMWwtMjUgNWMtNy45IDEuNi0xNi0uOS0yMS43LTYuNnMtOC4xLTEzLjgtNi42LTIxLjdsNS0yNWMxMy4zLTY2LjYgNDYuMS0xMjcuOCA5NC4xLTE3NS44TDI1NC4xIDEyOCAyNDEgMTE0Ljl6XCJdXG59O1xudmFyIGZhUGVuQWx0ID0gZmFQZW5DbGlwO1xudmFyIGZhQnJpZGdlQ2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnJpZGdlLWNpcmNsZS1leGNsYW1hdGlvbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRjYVwiLCBcIk02NCAzMkM0Ni4zIDMyIDMyIDQ2LjMgMzIgNjRzMTQuMyAzMiAzMiAzMmg0MHY2NEgzMlYyODhjNTMgMCA5NiA0MyA5NiA5NnY2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmgzMmMxNy43IDAgMzItMTQuMyAzMi0zMlYzODRjMC01MyA0My05NiA5Ni05NmM2LjMgMCAxMi40IC42IDE4LjMgMS43QzM2Ny4xIDIzMS44IDQyNi45IDE5MiA0OTYgMTkyYzQyLjUgMCA4MS42IDE1LjEgMTEyIDQwLjJWMTYwSDUzNlY5Nmg0MGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg2NHpNNDg4IDk2djY0SDQwOFY5Nmg4MHpNMzYwIDk2djY0SDI4MFY5Nmg4MHpNMjMyIDk2djY0SDE1MlY5Nmg4MHpNNDk2IDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtOTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0wLTE0NGM4LjggMCAxNiA3LjIgMTYgMTZ2ODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWMjg4YzAtOC44IDcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFVc2VyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXInLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjgxMDAsIDYyMTQ0XSwgXCJmMDA3XCIsIFwiTTIyNCAyNTZBMTI4IDEyOCAwIDEgMCAyMjQgMGExMjggMTI4IDAgMSAwIDAgMjU2em0tNDUuNyA0OEM3OS44IDMwNCAwIDM4My44IDAgNDgyLjNDMCA0OTguNyAxMy4zIDUxMiAyOS43IDUxMkg0MTguM2MxNi40IDAgMjkuNy0xMy4zIDI5LjctMjkuN0M0NDggMzgzLjggMzY4LjIgMzA0IDI2OS43IDMwNEgxNzguM3pcIl1cbn07XG52YXIgZmFTY2hvb2xDaXJjbGVDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzY2hvb2wtY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTZiXCIsIFwiTTMzNy44IDUuNEMzMjctMS44IDMxMy0xLjggMzAyLjIgNS40TDE2Ni4zIDk2SDQ4QzIxLjUgOTYgMCAxMTcuNSAwIDE0NFY0NjRjMCAyNi41IDIxLjUgNDggNDggNDhIMzIwdjBIMjU2VjQxNmMwLTM1LjMgMjguNy02NCA2NC02NGwuMyAwaC41YzMuNC0zNy43IDE4LjctNzIuMSA0Mi4yLTk5LjFDMzUwLjIgMjYwIDMzNS42IDI2NCAzMjAgMjY0Yy00OC42IDAtODgtMzkuNC04OC04OHMzOS40LTg4IDg4LTg4czg4IDM5LjQgODggODhjMCAxOC4zLTUuNiAzNS4zLTE1LjEgNDkuNGMyOS0yMSA2NC42LTMzLjQgMTAzLjEtMzMuNGM1OS41IDAgMTEyLjEgMjkuNiAxNDQgNzQuOFYxNDRjMC0yNi41LTIxLjUtNDgtNDgtNDhINDczLjdMMzM3LjggNS40ek05NiAxOTJoMzJjOC44IDAgMTYgNy4yIDE2IDE2djY0YzAgOC44LTcuMiAxNi0xNiAxNkg5NmMtOC44IDAtMTYtNy4yLTE2LTE2VjIwOGMwLTguOCA3LjItMTYgMTYtMTZ6bTAgMTI4aDMyYzguOCAwIDE2IDcuMiAxNiAxNnY2NGMwIDguOC03LjIgMTYtMTYgMTZIOTZjLTguOCAwLTE2LTcuMi0xNi0xNlYzMzZjMC04LjggNy4yLTE2IDE2LTE2ek0zMjAgMTI4Yy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDMzNlYxNDRjMC04LjgtNy4yLTE2LTE2LTE2ek02NDAgMzY4YTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS05OS4zLTQzLjNjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42bC03MiA3MmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDgwIDM4NS40bDYwLjctNjAuN3pcIl1cbn07XG52YXIgZmFEdW1wc3RlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkdW1wc3RlcicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjc5M1wiLCBcIk00OS43IDMyYy0xMC41IDAtMTkuOCA2LjktMjIuOSAxNi45TC45IDEzM2MtLjYgMi0uOSA0LjEtLjkgNi4xQzAgMTUwLjcgOS4zIDE2MCAyMC45IDE2MGg5NEwxNDAuNSAzMkg0OS43ek0yNzIgMTYwVjMySDE3My4xTDE0Ny41IDE2MEgyNzJ6bTMyIDBINDI4LjVMNDAyLjkgMzJIMzA0VjE2MHptMTU3LjEgMGg5NGMxMS41IDAgMjAuOS05LjMgMjAuOS0yMC45YzAtMi4xLS4zLTQuMS0uOS02LjFMNTQ5LjIgNDguOUM1NDYuMSAzOC45IDUzNi44IDMyIDUyNi4zIDMySDQzNS41bDI1LjYgMTI4ek0zMiAxOTJsNCAzMkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg0NEw2NCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMkg0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwyMC0xNjBoMTJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJoLTRsNC0zMkgzMnpcIl1cbn07XG52YXIgZmFWYW5TaHV0dGxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Zhbi1zaHV0dGxlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NjU2LCBcInNodXR0bGUtdmFuXCJdLCBcImY1YjZcIiwgXCJNNjQgMTA0djg4aDk2Vjk2SDcyYy00LjQgMC04IDMuNi04IDh6bTQ4MiA4OEw0NjUuMSA5NkgzODR2OTZINTQ2em0tMjI2IDBWOTZIMjI0djk2aDk2ek01OTIgMzg0SDU3NmMwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05NkgyNTZjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjEwNEMwIDY0LjIgMzIuMiAzMiA3MiAzMkgxOTIgMzUyIDQ2NS4xYzE4LjkgMCAzNi44IDguMyA0OSAyMi44TDYyNSAxODYuNWM5LjcgMTEuNSAxNSAyNi4xIDE1IDQxLjJWMzM2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4em0tNjQgMGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek0xNjAgNDMyYTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpcIl1cbn07XG52YXIgZmFTaHV0dGxlVmFuID0gZmFWYW5TaHV0dGxlO1xudmFyIGZhQnVpbGRpbmdVc2VyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1aWxkaW5nLXVzZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZGFcIiwgXCJNNDggMEMyMS41IDAgMCAyMS41IDAgNDhWNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDk2VjQzMmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4djgwaDg5LjljLTYuMy0xMC4yLTkuOS0yMi4yLTkuOS0zNS4xYzAtNDYuOSAyNS44LTg3LjggNjQtMTA5LjJWMjcxLjggNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhINDh6TTY0IDI0MGMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjI0MHptMTEyLTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMTc2Yy04LjggMC0xNi03LjItMTYtMTZWMjQwYzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTZjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMjcyYy04LjggMC0xNi03LjItMTYtMTZWMjQwek04MCA5NmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZWMTEyYzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTZjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMTc2Yy04LjggMC0xNi03LjItMTYtMTZWMTEyek0yNzIgOTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgyNzJjLTguOCAwLTE2LTcuMi0xNi0xNlYxMTJjMC04LjggNy4yLTE2IDE2LTE2ek01NzYgMjcyYTgwIDgwIDAgMSAwIC0xNjAgMCA4MCA4MCAwIDEgMCAxNjAgMHpNMzUyIDQ3Ny4xYzAgMTkuMyAxNS42IDM0LjkgMzQuOSAzNC45SDYwNS4xYzE5LjMgMCAzNC45LTE1LjYgMzQuOS0zNC45YzAtNTEuNC00MS43LTkzLjEtOTMuMS05My4xSDQ0NS4xYy01MS40IDAtOTMuMSA0MS43LTkzLjEgOTMuMXpcIl1cbn07XG52YXIgZmFTcXVhcmVDYXJldExlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLWNhcmV0LWxlZnQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImNhcmV0LXNxdWFyZS1sZWZ0XCJdLCBcImYxOTFcIiwgXCJNMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNnpNMTI4IDI1NmMwLTYuNyAyLjgtMTMgNy43LTE3LjZsMTEyLTEwNGM3LTYuNSAxNy4yLTguMiAyNS45LTQuNHMxNC40IDEyLjUgMTQuNCAyMmwwIDIwOGMwIDkuNS01LjcgMTguMi0xNC40IDIycy0xOC45IDIuMS0yNS45LTQuNGwtMTEyLTEwNGMtNC45LTQuNS03LjctMTAuOS03LjctMTcuNnpcIl1cbn07XG52YXIgZmFDYXJldFNxdWFyZUxlZnQgPSBmYVNxdWFyZUNhcmV0TGVmdDtcbnZhciBmYUhpZ2hsaWdodGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hpZ2hsaWdodGVyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNTkxXCIsIFwiTTMxNSAzMTVsMTU4LjQtMjE1TDQ0NC4xIDcwLjYgMjI5IDIyOSAzMTUgMzE1em0tMTg3IDVsMCAwVjI0OC4zYzAtMTUuMyA3LjItMjkuNiAxOS41LTM4LjZMNDIwLjYgOC40QzQyOCAyLjkgNDM3IDAgNDQ2LjIgMGMxMS40IDAgMjIuNCA0LjUgMzAuNSAxMi42bDU0LjggNTQuOGM4LjEgOC4xIDEyLjYgMTkgMTIuNiAzMC41YzAgOS4yLTIuOSAxOC4yLTguNCAyNS42TDMzNC40IDM5Ni41Yy05IDEyLjMtMjMuNCAxOS41LTM4LjYgMTkuNUgyMjRsLTI1LjQgMjUuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTUwLjctNTAuN2MtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNMMTI4IDMyMHpNNyA0NjYuM2w2My02MyA3MC42IDcwLjYtMzEgMzFjLTQuNSA0LjUtMTAuNiA3LTE3IDdIMjRjLTEzLjMgMC0yNC0xMC43LTI0LTI0di00LjdjMC02LjQgMi41LTEyLjUgNy0xN3pcIl1cbn07XG52YXIgZmFLZXkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAna2V5JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MjczXSwgXCJmMDg0XCIsIFwiTTMzNiAzNTJjOTcuMiAwIDE3Ni03OC44IDE3Ni0xNzZTNDMzLjIgMCAzMzYgMFMxNjAgNzguOCAxNjAgMTc2YzAgMTguNyAyLjkgMzYuOCA4LjMgNTMuN0w3IDM5MWMtNC41IDQuNS03IDEwLjYtNyAxN3Y4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNGg4MGMxMy4zIDAgMjQtMTAuNyAyNC0yNFY0NDhoNDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRWMzg0aDQwYzYuNCAwIDEyLjUtMi41IDE3LTdsMzMuMy0zMy4zYzE2LjkgNS40IDM1IDguMyA1My43IDguM3pNMzc2IDk2YTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHpcIl1cbn07XG52YXIgZmFCdWxsaG9ybiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidWxsaG9ybicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODIyNiwgMTI4MzYzXSwgXCJmMGExXCIsIFwiTTQ4MCAzMmMwLTEyLjktNy44LTI0LjYtMTkuOC0yOS42cy0yNS43LTIuMi0zNC45IDYuOUwzODEuNyA1M2MtNDggNDgtMTEzLjEgNzUtMTgxIDc1SDE5MiAxNjAgNjRjLTM1LjMgMC02NCAyOC43LTY0IDY0djk2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMyaDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM1Mmw4LjcgMGM2Ny45IDAgMTMzIDI3IDE4MSA3NWw0My42IDQzLjZjOS4yIDkuMiAyMi45IDExLjkgMzQuOSA2LjlzMTkuOC0xNi42IDE5LjgtMjkuNlYzMDAuNGMxOC42LTguOCAzMi0zMi41IDMyLTYwLjRzLTEzLjQtNTEuNi0zMi02MC40VjMyem0tNjQgNzYuN1YyNDAgMzcxLjNDMzU3LjIgMzE3LjggMjgwLjUgMjg4IDIwMC43IDI4OEgxOTJWMTkyaDguN2M3OS44IDAgMTU2LjUtMjkuOCAyMTUuMy04My4zelwiXVxufTtcbnZhciBmYUdsb2JlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dsb2JlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3NzYwXSwgXCJmMGFjXCIsIFwiTTM1MiAyNTZjMCAyMi4yLTEuMiA0My42LTMuMyA2NEgxNjMuM2MtMi4yLTIwLjQtMy4zLTQxLjgtMy4zLTY0czEuMi00My42IDMuMy02NEgzNDguN2MyLjIgMjAuNCAzLjMgNDEuOCAzLjMgNjR6bTI4LjgtNjRINTAzLjljNS4zIDIwLjUgOC4xIDQxLjkgOC4xIDY0cy0yLjggNDMuNS04LjEgNjRIMzgwLjhjMi4xLTIwLjYgMy4yLTQyIDMuMi02NHMtMS4xLTQzLjQtMy4yLTY0em0xMTIuNi0zMkgzNzYuN2MtMTAtNjMuOS0yOS44LTExNy40LTU1LjMtMTUxLjZjNzguMyAyMC43IDE0MiA3Ny41IDE3MS45IDE1MS42em0tMTQ5LjEgMEgxNjcuN2M2LjEtMzYuNCAxNS41LTY4LjYgMjctOTQuN2MxMC41LTIzLjYgMjIuMi00MC43IDMzLjUtNTEuNUMyMzkuNCAzLjIgMjQ4LjcgMCAyNTYgMHMxNi42IDMuMiAyNy44IDEzLjhjMTEuMyAxMC44IDIzIDI3LjkgMzMuNSA1MS41YzExLjYgMjYgMjAuOSA1OC4yIDI3IDk0Ljd6bS0yMDkgMEgxOC42QzQ4LjYgODUuOSAxMTIuMiAyOS4xIDE5MC42IDguNEMxNjUuMSA0Mi42IDE0NS4zIDk2LjEgMTM1LjMgMTYwek04LjEgMTkySDEzMS4yYy0yLjEgMjAuNi0zLjIgNDItMy4yIDY0czEuMSA0My40IDMuMiA2NEg4LjFDMi44IDI5OS41IDAgMjc4LjEgMCAyNTZzMi44LTQzLjUgOC4xLTY0ek0xOTQuNyA0NDYuNmMtMTEuNi0yNi0yMC45LTU4LjItMjctOTQuNkgzNDQuM2MtNi4xIDM2LjQtMTUuNSA2OC42LTI3IDk0LjZjLTEwLjUgMjMuNi0yMi4yIDQwLjctMzMuNSA1MS41QzI3Mi42IDUwOC44IDI2My4zIDUxMiAyNTYgNTEycy0xNi42LTMuMi0yNy44LTEzLjhjLTExLjMtMTAuOC0yMy0yNy45LTMzLjUtNTEuNXpNMTM1LjMgMzUyYzEwIDYzLjkgMjkuOCAxMTcuNCA1NS4zIDE1MS42QzExMi4yIDQ4Mi45IDQ4LjYgNDI2LjEgMTguNiAzNTJIMTM1LjN6bTM1OC4xIDBjLTMwIDc0LjEtOTMuNiAxMzAuOS0xNzEuOSAxNTEuNmMyNS41LTM0LjIgNDUuMi04Ny43IDU1LjMtMTUxLjZINDkzLjR6XCJdXG59O1xudmFyIGZhU3luYWdvZ3VlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N5bmFnb2d1ZScsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODMzM10sIFwiZjY5YlwiLCBcIk0zMDkuOCAzLjdjNS45LTQuOSAxNC42LTQuOSAyMC41IDBsMTIxIDEwMC44QzQ2OS41IDExOS43IDQ4MCAxNDIuMiA0ODAgMTY2VjI4MC4xIDUxMkg0NjQgMzUyVjQxNmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnY5NkgxNzYgMTYwVjI4MC4xIDE2NmMwLTIzLjcgMTAuNS00Ni4zIDI4LjgtNjEuNUwzMDkuOCAzLjd6TTUxMiA1MTJWMjQ0LjVsMjguMS0zMS4yYzMtMy40IDcuNC01LjMgMTEuOS01LjNzOC45IDEuOSAxMS45IDUuM2w2My44IDcwLjljNy45IDguOCAxMi4zIDIwLjMgMTIuMyAzMi4xVjQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEg1MTJ6TTEyOCAyNDQuNVY1MTJINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjMxNi4zYzAtMTEuOSA0LjQtMjMuMyAxMi4zLTMyLjFsNjMuOC03MC45YzMtMy40IDcuNC01LjMgMTEuOS01LjNzOC45IDEuOSAxMS45IDUuM0wxMjggMjQ0LjV6TTMyNyAxMjQuM2MtMy4xLTUuNC0xMC45LTUuNC0xMy45IDBsLTE1LjkgMjguMS0zMi4zLS4zYy02LjItLjEtMTAuMSA2LjctNyAxMi4xTDI3NC4zIDE5MmwtMTYuNCAyNy44Yy0zLjIgNS40IC43IDEyLjEgNyAxMi4xbDMyLjMtLjNMMzEzIDI1OS43YzMuMSA1LjQgMTAuOSA1LjQgMTMuOSAwbDE1LjktMjguMSAzMi4zIC4zYzYuMiAuMSAxMC4xLTYuNyA3LTEyLjFMMzY1LjcgMTkybDE2LjQtMjcuOGMzLjItNS40LS43LTEyLjEtNy0xMi4xbC0zMi4zIC4zTDMyNyAxMjQuM3pcIl1cbn07XG52YXIgZmFQZXJzb25IYWxmRHJlc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWhhbGYtZHJlc3MnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcImU1NDhcIiwgXCJNMTYwIDBhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2em04IDM1MlYxMjhoNi45YzMzLjcgMCA2NC45IDE3LjcgODIuMyA0Ni42bDU4LjMgOTdjOS4xIDE1LjEgNC4yIDM0LjgtMTAuOSA0My45cy0zNC44IDQuMi00My45LTEwLjlMMjMyIDI1Ni45VjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzNTJoMHpNNTguMiAxODIuM2MxOS45LTMzLjEgNTUuMy01My41IDkzLjgtNTQuM1YzODRoMHY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzODRINzAuMmMtMTAuOSAwLTE4LjYtMTAuNy0xNS4yLTIxLjFMOTMuMyAyNDguMSA1OS40IDMwNC41Yy05LjEgMTUuMS0yOC44IDIwLTQzLjkgMTAuOXMtMjAtMjguOC0xMC45LTQzLjlsNTMuNi04OS4yelwiXVxufTtcbnZhciBmYVJvYWRCcmlkZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncm9hZC1icmlkZ2UnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NjNcIiwgXCJNMzUyIDBINjA4YzE3LjcgMCAzMiAxNC4zIDMyIDMyVjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMkgzNTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek00ODAgMjAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHY2NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjIyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHptMjQgMTg0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0djY0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWMzg0ek00ODAgNDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0djY0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWNjRjMC0xMy4zLTEwLjctMjQtMjQtMjR6TTMyIDk2SDI4OHY2NEgyNDh2NjRoNDB2OTZjLTUzIDAtOTYgNDMtOTYgOTZ2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJIMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMlY0MTZjMC01My00My05Ni05Ni05NlYyMjRINzJWMTYwSDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem0xNjggNjRIMTIwdjY0aDgwVjE2MHpcIl1cbn07XG52YXIgZmFMb2NhdGlvbkFycm93ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xvY2F0aW9uLWFycm93JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMTI0XCIsIFwiTTQyOS42IDkyLjFjNC45LTExLjkgMi4xLTI1LjYtNy0zNC43cy0yMi44LTExLjktMzQuNy03bC0zNTIgMTQ0Yy0xNC4yIDUuOC0yMi4yIDIwLjgtMTkuMyAzNS44czE2LjEgMjUuOCAzMS40IDI1LjhIMjI0VjQzMmMwIDE1LjMgMTAuOCAyOC40IDI1LjggMzEuNHMzMC01LjEgMzUuOC0xOS4zbDE0NC0zNTJ6XCJdXG59O1xudmFyIGZhQyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbOTldLCBcIjQzXCIsIFwiTTMyOS4xIDE0Mi45Yy02Mi41LTYyLjUtMTU1LjgtNjIuNS0yMTguMyAwcy02Mi41IDE2My44IDAgMjI2LjNzMTU1LjggNjIuNSAyMTguMyAwYzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNjLTg3LjUgODcuNS0yMjEuMyA4Ny41LTMwOC44IDBzLTg3LjUtMjI5LjMgMC0zMTYuOHMyMjEuMy04Ny41IDMwOC44IDBjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDB6XCJdXG59O1xudmFyIGZhVGFibGV0QnV0dG9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhYmxldC1idXR0b24nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYxMGFcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDM4NGMzNS4zIDAgNjQtMjguNyA2NC02NFY2NGMwLTM1LjMtMjguNy02NC02NC02NEg2NHpNMjI0IDQwMGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhQnVpbGRpbmdMb2NrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1aWxkaW5nLWxvY2snLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0ZDZcIiwgXCJNNDggMEMyMS41IDAgMCAyMS41IDAgNDhWNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDk2VjQzMmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4djgwaDg4LjZjLTUuNC05LjQtOC42LTIwLjMtOC42LTMyVjM1MmMwLTIzLjcgMTIuOS00NC40IDMyLTU1LjRWMjcyYzAtMzAuNSAxMi4yLTU4LjIgMzItNzguNFY0OGMwLTI2LjUtMjEuNS00OC00OC00OEg0OHpNNjQgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZWMjQwem0xMTItMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYyNDBjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgyNzJjLTguOCAwLTE2LTcuMi0xNi0xNlYyNDB6TTgwIDk2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIODBjLTguOCAwLTE2LTcuMi0xNi0xNlYxMTJjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYxMTJ6TTI3MiA5NmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDI3MmMtOC44IDAtMTYtNy4yLTE2LTE2VjExMmMwLTguOCA3LjItMTYgMTYtMTZ6TTQ2NCAyNDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2NDhINDMyVjI3MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptLTgwIDMydjQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMlY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJINTQ0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM1MmMwLTE3LjctMTQuMy0zMi0zMi0zMlYyNzJjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODB6XCJdXG59O1xudmFyIGZhUGl6emFTbGljZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwaXp6YS1zbGljZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjgxOFwiLCBcIk0xNjkuNyAuOWMtMjIuOC0xLjYtNDEuOSAxNC00Ny41IDM0LjdMMTEwLjQgODBjLjUgMCAxLjEgMCAxLjYgMGMxNzYuNyAwIDMyMCAxNDMuMyAzMjAgMzIwYzAgLjUgMCAxLjEgMCAxLjZsNDQuNC0xMS44YzIwLjgtNS41IDM2LjMtMjQuNyAzNC43LTQ3LjVDNDk4LjUgMTU5LjUgMzUyLjUgMTMuNSAxNjkuNyAuOXpNMzk5LjggNDEwLjJjLjEtMy40IC4yLTYuOCAuMi0xMC4yYzAtMTU5LjEtMTI4LjktMjg4LTI4OC0yODhjLTMuNCAwLTYuOCAuMS0xMC4yIC4yTC41IDQ5MS45Yy0xLjUgNS41IC4xIDExLjQgNC4xIDE1LjRzOS45IDUuNiAxNS40IDQuMUwzOTkuOCA0MTAuMnpNMTc2IDIwOGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTY0IDEyOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek05NiAzODRhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpcIl1cbn07XG52YXIgZmFNb25leUJpbGxXYXZlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vbmV5LWJpbGwtd2F2ZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjUzYVwiLCBcIk0wIDExMi41VjQyMi4zYzAgMTggMTAuMSAzNSAyNyA0MS4zYzg3IDMyLjUgMTc0IDEwLjMgMjYxLTExLjljNzkuOC0yMC4zIDE1OS42LTQwLjcgMjM5LjMtMTguOWMyMyA2LjMgNDguNy05LjUgNDguNy0zMy40Vjg5LjdjMC0xOC0xMC4xLTM1LTI3LTQxLjNDNDYyIDE1LjkgMzc1IDM4LjEgMjg4IDYwLjNDMjA4LjIgODAuNiAxMjguNCAxMDAuOSA0OC43IDc5LjFDMjUuNiA3Mi44IDAgODguNiAwIDExMi41ek0yODggMzUyYy00NC4yIDAtODAtNDMtODAtOTZzMzUuOC05NiA4MC05NnM4MCA0MyA4MCA5NnMtMzUuOCA5Ni04MCA5NnpNNjQgMzUyYzM1LjMgMCA2NCAyOC43IDY0IDY0SDY0VjM1MnptNjQtMjA4YzAgMzUuMy0yOC43IDY0LTY0IDY0VjE0NGg2NHpNNTEyIDMwNHY2NEg0NDhjMC0zNS4zIDI4LjctNjQgNjQtNjR6TTQ0OCA5Nmg2NHY2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjR6XCJdXG59O1xudmFyIGZhQ2hhcnRBcmVhID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoYXJ0LWFyZWEnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImFyZWEtY2hhcnRcIl0sIFwiZjFmZVwiLCBcIk02NCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMlMwIDQ2LjMgMCA2NFY0MDBjMCA0NC4yIDM1LjggODAgODAgODBINDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDgwYy04LjggMC0xNi03LjItMTYtMTZWNjR6bTk2IDI4OEg0NDhjMTcuNyAwIDMyLTE0LjMgMzItMzJWMjUxLjhjMC03LjYtMi43LTE1LTcuNy0yMC44bC02NS44LTc2LjhjLTEyLjEtMTQuMi0zMy43LTE1LTQ2LjktMS44bC0yMSAyMWMtMTAgMTAtMjYuNCA5LjItMzUuNC0xLjZsLTM5LjItNDdjLTEyLjYtMTUuMS0zNS43LTE1LjQtNDguNy0uNkwxMzUuOSAyMTVjLTUuMSA1LjgtNy45IDEzLjMtNy45IDIxLjF2ODRjMCAxNy43IDE0LjMgMzIgMzIgMzJ6XCJdXG59O1xudmFyIGZhQXJlYUNoYXJ0ID0gZmFDaGFydEFyZWE7XG52YXIgZmFIb3VzZUZsYWcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtZmxhZycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUwZFwiLCBcIk00ODAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJWMTkyIDUxMmg2NFYxOTJINjI0YzguOCAwIDE2LTcuMiAxNi0xNlY0OGMwLTguOC03LjItMTYtMTYtMTZINTEyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek00MTYgMTU5TDI3Ni44IDM5LjdjLTEyLTEwLjMtMjkuNy0xMC4zLTQxLjcgMGwtMjI0IDE5MkMxIDI0MC40LTIuNyAyNTQuNSAyIDI2Ny4xUzE4LjYgMjg4IDMyIDI4OEg2NFY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJoNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzg0YzAtMTcuNyAxNC4zLTMyIDMyLTMyaDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMydjk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyaDY0LjdsLjIgMGgtMVYxNTl6XCJdXG59O1xudmFyIGZhUGVyc29uQ2lyY2xlTWludXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWNpcmNsZS1taW51cycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU0MFwiLCBcIk0xMTIgNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptNDAgMzA0VjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYyNTYuOUw1OS40IDMwNC41Yy05LjEgMTUuMS0yOC44IDIwLTQzLjkgMTAuOXMtMjAtMjguOC0xMC45LTQzLjlsNTguMy05N2MxNy40LTI4LjkgNDguNi00Ni42IDgyLjMtNDYuNmgyOS43YzMzLjcgMCA2NC45IDE3LjcgODIuMyA0Ni42bDQ0LjkgNzQuN2MtMTYuMSAxNy42LTI4LjYgMzguNS0zNi42IDYxLjVjLTEuOS0xLjgtMy41LTMuOS00LjktNi4zTDIzMiAyNTYuOVY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzUySDE1MnptMTM2IDE2YTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTIyNCAwYzAtOC44LTcuMi0xNi0xNi0xNkgzNjhjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZINDk2YzguOCAwIDE2LTcuMiAxNi0xNnpcIl1cbn07XG52YXIgZmFCYW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFuJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NjgzLCBcImNhbmNlbFwiXSwgXCJmMDVlXCIsIFwiTTM2Ny4yIDQxMi41TDk5LjUgMTQ0LjhDNzcuMSAxNzYuMSA2NCAyMTQuNSA2NCAyNTZjMCAxMDYgODYgMTkyIDE5MiAxOTJjNDEuNSAwIDc5LjktMTMuMSAxMTEuMi0zNS41em00NS4zLTQ1LjNDNDM0LjkgMzM1LjkgNDQ4IDI5Ny41IDQ0OCAyNTZjMC0xMDYtODYtMTkyLTE5Mi0xOTJjLTQxLjUgMC03OS45IDEzLjEtMTExLjIgMzUuNUw0MTIuNSAzNjcuMnpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2elwiXVxufTtcbnZhciBmYUNhbmNlbCA9IGZhQmFuO1xudmFyIGZhQ2FtZXJhUm90YXRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhbWVyYS1yb3RhdGUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImUwZDhcIiwgXCJNMjEzLjEgNjQuOEwyMDIuNyA5NkgxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEg1MTJjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTYwYzAtMzUuMy0yOC43LTY0LTY0LTY0SDQzNy4zTDQyNi45IDY0LjhDNDIwLjQgNDUuMiA0MDIuMSAzMiAzODEuNCAzMkgyNTguNmMtMjAuNyAwLTM5IDEzLjItNDUuNSAzMi44ek00NDggMjU2YzAgOC44LTcuMiAxNi0xNiAxNkgzNTUuM2MtNi4yIDAtMTEuMy01LjEtMTEuMy0xMS4zYzAtMyAxLjItNS45IDMuMy04TDM3MSAyMjljLTEzLjYtMTMuNC0zMS45LTIxLTUxLTIxYy0xOS4yIDAtMzcuNyA3LjYtNTEuMyAyMS4zTDI0OSAyNDljLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMTkuNy0xOS43QzI1Ny40IDE3Mi43IDI4OCAxNjAgMzIwIDE2MGMzMS44IDAgNjIuNCAxMi42IDg1IDM1bDIzLjctMjMuN2MyLjEtMi4xIDUtMy4zIDgtMy4zYzYuMiAwIDExLjMgNS4xIDExLjMgMTEuM1YyNTZ6TTE5MiAzMjBjMC04LjggNy4yLTE2IDE2LTE2aDc2LjdjNi4yIDAgMTEuMyA1LjEgMTEuMyAxMS4zYzAgMy0xLjIgNS45LTMuMyA4TDI2OSAzNDdjMTMuNiAxMy40IDMxLjkgMjEgNTEgMjFjMTkuMiAwIDM3LjctNy42IDUxLjMtMjEuM0wzOTEgMzI3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtMTkuNyAxOS43QzM4Mi42IDQwMy4zIDM1MiA0MTYgMzIwIDQxNmMtMzEuOCAwLTYyLjQtMTIuNi04NS0zNWwtMjMuNyAyMy43Yy0yLjEgMi4xLTUgMy4zLTggMy4zYy02LjIgMC0xMS4zLTUuMS0xMS4zLTExLjNWMzIwelwiXVxufTtcbnZhciBmYVNwcmF5Q2FuU3BhcmtsZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3ByYXktY2FuLXNwYXJrbGVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJhaXItZnJlc2hlbmVyXCJdLCBcImY1ZDBcIiwgXCJNOTYgMzJ2OTZIMjI0VjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMySDEyOEMxMTAuMyAwIDk2IDE0LjMgOTYgMzJ6bTAgMTI4Yy01MyAwLTk2IDQzLTk2IDk2VjQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OEgyNzJjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMjU2YzAtNTMtNDMtOTYtOTYtOTZIOTZ6bTY0IDk2YTgwIDgwIDAgMSAxIDAgMTYwIDgwIDgwIDAgMSAxIDAtMTYwek0zODQgNDhjMC0xLjQtMS0zLTIuMi0zLjZMMzUyIDMyIDMzOS42IDIuMkMzMzkgMSAzMzcuNCAwIDMzNiAwcy0zIDEtMy42IDIuMkwzMjAgMzIgMjkwLjIgNDQuNEMyODkgNDUgMjg4IDQ2LjYgMjg4IDQ4YzAgMS40IDEgMyAyLjIgMy42TDMyMCA2NGwxMi40IDI5LjhDMzMzIDk1IDMzNC42IDk2IDMzNiA5NnMzLTEgMy42LTIuMkwzNTIgNjRsMjkuOC0xMi40QzM4MyA1MSAzODQgNDkuNCAzODQgNDh6bTc2LjQgNDUuOEM0NjEgOTUgNDYyLjYgOTYgNDY0IDk2czMtMSAzLjYtMi4yTDQ4MCA2NGwyOS44LTEyLjRDNTExIDUxIDUxMiA0OS40IDUxMiA0OGMwLTEuNC0xLTMtMi4yLTMuNkw0ODAgMzIgNDY3LjYgMi4yQzQ2NyAxIDQ2NS40IDAgNDY0IDBzLTMgMS0zLjYgMi4yTDQ0OCAzMiA0MTguMiA0NC40QzQxNyA0NSA0MTYgNDYuNiA0MTYgNDhjMCAxLjQgMSAzIDIuMiAzLjZMNDQ4IDY0bDEyLjQgMjkuOHptNy4yIDEwMC40Yy0uNi0xLjItMi4yLTIuMi0zLjYtMi4ycy0zIDEtMy42IDIuMkw0NDggMjI0bC0yOS44IDEyLjRjLTEuMiAuNi0yLjIgMi4yLTIuMiAzLjZjMCAxLjQgMSAzIDIuMiAzLjZMNDQ4IDI1NmwxMi40IDI5LjhjLjYgMS4yIDIuMiAyLjIgMy42IDIuMnMzLTEgMy42LTIuMkw0ODAgMjU2bDI5LjgtMTIuNGMxLjItLjYgMi4yLTIuMiAyLjItMy42YzAtMS40LTEtMy0yLjItMy42TDQ4MCAyMjRsLTEyLjQtMjkuOHpNNDQ4IDE0NGMwLTEuNC0xLTMtMi4yLTMuNkw0MTYgMTI4IDQwMy42IDk4LjJDNDAzIDk3IDQwMS40IDk2IDQwMCA5NnMtMyAxLTMuNiAyLjJMMzg0IDEyOGwtMjkuOCAxMi40Yy0xLjIgLjYtMi4yIDIuMi0yLjIgMy42YzAgMS40IDEgMyAyLjIgMy42TDM4NCAxNjBsMTIuNCAyOS44Yy42IDEuMiAyLjIgMi4yIDMuNiAyLjJzMy0xIDMuNi0yLjJMNDE2IDE2MGwyOS44LTEyLjRjMS4yLS42IDIuMi0yLjIgMi4yLTMuNnpcIl1cbn07XG52YXIgZmFBaXJGcmVzaGVuZXIgPSBmYVNwcmF5Q2FuU3BhcmtsZXM7XG52YXIgZmFTdGFyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0YXInLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMTA4OCwgNjE0NDZdLCBcImYwMDVcIiwgXCJNMzE2LjkgMThDMzExLjYgNyAzMDAuNCAwIDI4OC4xIDBzLTIzLjQgNy0yOC44IDE4TDE5NSAxNTAuMyA1MS40IDE3MS41Yy0xMiAxLjgtMjIgMTAuMi0yNS43IDIxLjdzLS43IDI0LjIgNy45IDMyLjdMMTM3LjggMzI5IDExMy4yIDQ3NC43Yy0yIDEyIDMgMjQuMiAxMi45IDMxLjNzMjMgOCAzMy44IDIuM2wxMjguMy02OC41IDEyOC4zIDY4LjVjMTAuOCA1LjcgMjMuOSA0LjkgMzMuOC0yLjNzMTQuOS0xOS4zIDEyLjktMzEuM0w0MzguNSAzMjkgNTQyLjcgMjI1LjljOC42LTguNSAxMS43LTIxLjIgNy45LTMyLjdzLTEzLjctMTkuOS0yNS43LTIxLjdMMzgxLjIgMTUwLjMgMzE2LjkgMTh6XCJdXG59O1xudmFyIGZhUmVwZWF0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JlcGVhdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODI1N10sIFwiZjM2M1wiLCBcIk0wIDIyNGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyYzAtNTMgNDMtOTYgOTYtOTZIMzIwdjMyYzAgMTIuOSA3LjggMjQuNiAxOS44IDI5LjZzMjUuNyAyLjIgMzQuOS02LjlsNjQtNjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0Yy05LjItOS4yLTIyLjktMTEuOS0zNC45LTYuOVMzMjAgMTkuMSAzMjAgMzJWNjRIMTYwQzcxLjYgNjQgMCAxMzUuNiAwIDIyNHptNTEyIDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyYzAgNTMtNDMgOTYtOTYgOTZIMTkyVjM1MmMwLTEyLjktNy44LTI0LjYtMTkuOC0yOS42cy0yNS43LTIuMi0zNC45IDYuOWwtNjQgNjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzkuMiA5LjIgMjIuOSAxMS45IDM0LjkgNi45czE5LjgtMTYuNiAxOS44LTI5LjZWNDQ4SDM1MmM4OC40IDAgMTYwLTcxLjYgMTYwLTE2MHpcIl1cbn07XG52YXIgZmFDcm9zcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjcm9zcycsXG4gIGljb246IFszODQsIDUxMiwgWzEyODMyNywgMTAwMTNdLCBcImY2NTRcIiwgXCJNMTc2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4djgwSDQ4Yy0yNi41IDAtNDggMjEuNS00OCA0OHYzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGg4MFY0NjRjMCAyNi41IDIxLjUgNDggNDggNDhoMzJjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMjU2aDgwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjE3NmMwLTI2LjUtMjEuNS00OC00OC00OEgyNTZWNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhIMTc2elwiXVxufTtcbnZhciBmYUJveCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3gnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjgyMzBdLCBcImY0NjZcIiwgXCJNNTAuNyA1OC41TDAgMTYwSDIwOFYzMkg5My43Qzc1LjUgMzIgNTguOSA0Mi4zIDUwLjcgNTguNXpNMjQwIDE2MEg0NDhMMzk3LjMgNTguNUMzODkuMSA0Mi4zIDM3Mi41IDMyIDM1NC4zIDMySDI0MFYxNjB6bTIwOCAzMkgwVjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEgzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTkyelwiXVxufTtcbnZhciBmYVZlbnVzTWFycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2ZW51cy1tYXJzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbOTg5Ml0sIFwiZjIyOFwiLCBcIk0xNzYgMjg4YTExMiAxMTIgMCAxIDAgMC0yMjQgMTEyIDExMiAwIDEgMCAwIDIyNHpNMzUyIDE3NmMwIDg2LjMtNjIuMSAxNTguMS0xNDQgMTczLjFWMzg0aDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDIwOHYzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY0NDhIMTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyaDMyVjM0OS4xQzYyLjEgMzM0LjEgMCAyNjIuMyAwIDE3NkMwIDc4LjggNzguOCAwIDE3NiAwczE3NiA3OC44IDE3NiAxNzZ6TTI3MS45IDM2MC42YzE5LjMtMTAuMSAzNi45LTIzLjEgNTIuMS0zOC40YzIwIDE4LjUgNDYuNyAyOS44IDc2LjEgMjkuOGM2MS45IDAgMTEyLTUwLjEgMTEyLTExMnMtNTAuMS0xMTItMTEyLTExMmMtNy4yIDAtMTQuMyAuNy0yMS4xIDJjLTQuOS0yMS41LTEzLTQxLjctMjQtNjAuMkMzNjkuMyA2NiAzODQuNCA2NCA0MDAgNjRjMzcgMCA3MS40IDExLjQgOTkuOCAzMWwyMC42LTIwLjZMNDg3IDQxYy02LjktNi45LTguOS0xNy4yLTUuMi0yNi4yUzQ5NC4zIDAgNTA0IDBINjE2YzEzLjMgMCAyNCAxMC43IDI0IDI0VjEzNmMwIDkuNy01LjggMTguNS0xNC44IDIyLjJzLTE5LjMgMS43LTI2LjItNS4ybC0zMy40LTMzLjRMNTQ1IDE0MC4yYzE5LjUgMjguNCAzMSA2Mi43IDMxIDk5LjhjMCA5Ny4yLTc4LjggMTc2LTE3NiAxNzZjLTUwLjUgMC05Ni0yMS4zLTEyOC4xLTU1LjR6XCJdXG59O1xudmFyIGZhQXJyb3dQb2ludGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXBvaW50ZXInLFxuICBpY29uOiBbMzIwLCA1MTIsIFtcIm1vdXNlLXBvaW50ZXJcIl0sIFwiZjI0NVwiLCBcIk0wIDU1LjJWNDI2YzAgMTIuMiA5LjkgMjIgMjIgMjJjNi4zIDAgMTIuNC0yLjcgMTYuNi03LjVMMTIxLjIgMzQ2bDU4LjEgMTE2LjNjNy45IDE1LjggMjcuMSAyMi4yIDQyLjkgMTQuM3MyMi4yLTI3LjEgMTQuMy00Mi45TDE3OS44IDMyMEgyOTcuOWMxMi4yIDAgMjIuMS05LjkgMjIuMS0yMi4xYzAtNi4zLTIuNy0xMi4zLTcuNC0xNi41TDM4LjYgMzcuOUMzNC4zIDM0LjEgMjguOSAzMiAyMy4yIDMyQzEwLjQgMzIgMCA0Mi40IDAgNTUuMnpcIl1cbn07XG52YXIgZmFNb3VzZVBvaW50ZXIgPSBmYUFycm93UG9pbnRlcjtcbnZhciBmYU1heGltaXplID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21heGltaXplJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJleHBhbmQtYXJyb3dzLWFsdFwiXSwgXCJmMzFlXCIsIFwiTTIwMCAzMkg1NkM0Mi43IDMyIDMyIDQyLjcgMzIgNTZWMjAwYzAgOS43IDUuOCAxOC41IDE0LjggMjIuMnMxOS4zIDEuNyAyNi4yLTUuMmw0MC00MCA3OSA3OS03OSA3OUw3MyAyOTVjLTYuOS02LjktMTcuMi04LjktMjYuMi01LjJTMzIgMzAyLjMgMzIgMzEyVjQ1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNEgyMDBjOS43IDAgMTguNS01LjggMjIuMi0xNC44czEuNy0xOS4zLTUuMi0yNi4ybC00MC00MCA3OS03OSA3OSA3OS00MCA0MGMtNi45IDYuOS04LjkgMTcuMi01LjIgMjYuMnMxMi41IDE0LjggMjIuMiAxNC44SDQ1NmMxMy4zIDAgMjQtMTAuNyAyNC0yNFYzMTJjMC05LjctNS44LTE4LjUtMTQuOC0yMi4ycy0xOS4zLTEuNy0yNi4yIDUuMmwtNDAgNDAtNzktNzkgNzktNzkgNDAgNDBjNi45IDYuOSAxNy4yIDguOSAyNi4yIDUuMnMxNC44LTEyLjUgMTQuOC0yMi4yVjU2YzAtMTMuMy0xMC43LTI0LTI0LTI0SDMxMmMtOS43IDAtMTguNSA1LjgtMjIuMiAxNC44cy0xLjcgMTkuMyA1LjIgMjYuMmw0MCA0MC03OSA3OS03OS03OSA0MC00MGM2LjktNi45IDguOS0xNy4yIDUuMi0yNi4yUzIwOS43IDMyIDIwMCAzMnpcIl1cbn07XG52YXIgZmFFeHBhbmRBcnJvd3NBbHQgPSBmYU1heGltaXplO1xudmFyIGZhQ2hhcmdpbmdTdGF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoYXJnaW5nLXN0YXRpb24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY1ZTdcIiwgXCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NFY0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJIMzIwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyVjMwNGgxNmMyMi4xIDAgNDAgMTcuOSA0MCA0MHYzMmMwIDM5LjggMzIuMiA3MiA3MiA3MnM3Mi0zMi4yIDcyLTcyVjI1Mi4zYzMyLjUtMTAuMiA1Ni00MC41IDU2LTc2LjNWMTQ0YzAtOC44LTcuMi0xNi0xNi0xNkg1NDRWODBjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZ2NDhINDgwVjgwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2djQ4SDQzMmMtOC44IDAtMTYgNy4yLTE2IDE2djMyYzAgMzUuOCAyMy41IDY2LjEgNTYgNzYuM1YzNzZjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWMzQ0YzAtNDguNi0zOS40LTg4LTg4LTg4SDMyMFY2NGMwLTM1LjMtMjguNy02NC02NC02NEg5NnpNMjE2LjkgODIuN2M2IDQgOC41IDExLjUgNi4zIDE4LjNsLTI1IDc0LjlIMjU2YzYuNyAwIDEyLjcgNC4yIDE1IDEwLjRzLjUgMTMuMy00LjYgMTcuN2wtMTEyIDk2Yy01LjUgNC43LTEzLjQgNS4xLTE5LjMgMS4xcy04LjUtMTEuNS02LjMtMTguM2wyNS03NC45SDk2Yy02LjcgMC0xMi43LTQuMi0xNS0xMC40cy0uNS0xMy4zIDQuNi0xNy43bDExMi05NmM1LjUtNC43IDEzLjQtNS4xIDE5LjMtMS4xelwiXVxufTtcbnZhciBmYVNoYXBlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaGFwZXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInRyaWFuZ2xlLWNpcmNsZS1zcXVhcmVcIl0sIFwiZjYxZlwiLCBcIk0zMTUuNCAxNS41QzMwOS43IDUuOSAyOTkuMiAwIDI4OCAwcy0yMS43IDUuOS0yNy40IDE1LjVsLTk2IDE2MGMtNS45IDkuOS02LjEgMjIuMi0uNCAzMi4yczE2LjMgMTYuMiAyNy44IDE2LjJIMzg0YzExLjUgMCAyMi4yLTYuMiAyNy44LTE2LjJzNS41LTIyLjMtLjQtMzIuMmwtOTYtMTYwek0yODggMzEyVjQ1NmMwIDIyLjEgMTcuOSA0MCA0MCA0MEg0NzJjMjIuMSAwIDQwLTE3LjkgNDAtNDBWMzEyYzAtMjIuMS0xNy45LTQwLTQwLTQwSDMyOGMtMjIuMSAwLTQwIDE3LjktNDAgNDB6TTEyOCA1MTJhMTI4IDEyOCAwIDEgMCAwLTI1NiAxMjggMTI4IDAgMSAwIDAgMjU2elwiXVxufTtcbnZhciBmYVRyaWFuZ2xlQ2lyY2xlU3F1YXJlID0gZmFTaGFwZXM7XG52YXIgZmFTaHVmZmxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NodWZmbGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyNTYsIFwicmFuZG9tXCJdLCBcImYwNzRcIiwgXCJNNDAzLjggMzQuNGMxMi01IDI1LjctMi4yIDM0LjkgNi45bDY0IDY0YzYgNiA5LjQgMTQuMSA5LjQgMjIuNnMtMy40IDE2LjYtOS40IDIyLjZsLTY0IDY0Yy05LjIgOS4yLTIyLjkgMTEuOS0zNC45IDYuOXMtMTkuOC0xNi42LTE5LjgtMjkuNlYxNjBIMzUyYy0xMC4xIDAtMTkuNiA0LjctMjUuNiAxMi44TDI4NCAyMjkuMyAyNDQgMTc2bDMxLjItNDEuNkMyOTMuMyAxMTAuMiAzMjEuOCA5NiAzNTIgOTZoMzJWNjRjMC0xMi45IDcuOC0yNC42IDE5LjgtMjkuNnpNMTY0IDI4Mi43TDIwNCAzMzZsLTMxLjIgNDEuNkMxNTQuNyA0MDEuOCAxMjYuMiA0MTYgOTYgNDE2SDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDk2YzEwLjEgMCAxOS42LTQuNyAyNS42LTEyLjhMMTY0IDI4Mi43em0yNzQuNiAxODhjLTkuMiA5LjItMjIuOSAxMS45LTM0LjkgNi45cy0xOS44LTE2LjYtMTkuOC0yOS42VjQxNkgzNTJjLTMwLjIgMC01OC43LTE0LjItNzYuOC0zOC40TDEyMS42IDE3Mi44Yy02LTguMS0xNS41LTEyLjgtMjUuNi0xMi44SDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDk2YzMwLjIgMCA1OC43IDE0LjIgNzYuOCAzOC40TDMyNi40IDMzOS4yYzYgOC4xIDE1LjUgMTIuOCAyNS42IDEyLjhoMzJWMzIwYzAtMTIuOSA3LjgtMjQuNiAxOS44LTI5LjZzMjUuNy0yLjIgMzQuOSA2LjlsNjQgNjRjNiA2IDkuNCAxNC4xIDkuNCAyMi42cy0zLjQgMTYuNi05LjQgMjIuNmwtNjQgNjR6XCJdXG59O1xudmFyIGZhUmFuZG9tID0gZmFTaHVmZmxlO1xudmFyIGZhUGVyc29uUnVubmluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tcnVubmluZycsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyNzkzOSwgXCJydW5uaW5nXCJdLCBcImY3MGNcIiwgXCJNMzIwIDQ4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTEyNS43IDE3NS41YzkuOS05LjkgMjMuNC0xNS41IDM3LjUtMTUuNWMxLjkgMCAzLjggLjEgNS42IC4zTDEzNy42IDI1NGMtOS4zIDI4IDEuNyA1OC44IDI2LjggNzQuNWw4Ni4yIDUzLjktMjUuNCA4OC44Yy00LjkgMTcgNSAzNC43IDIyIDM5LjZzMzQuNy01IDM5LjYtMjJsMjguNy0xMDAuNGM1LjktMjAuNi0yLjYtNDIuNi0yMC43LTUzLjlMMjM4IDI5OWwzMC45LTgyLjQgNS4xIDEyLjNDMjg5IDI2NC43IDMyMy45IDI4OCAzNjIuNyAyODhIMzg0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDM2Mi43Yy0xMi45IDAtMjQuNi03LjgtMjkuNS0xOS43bC02LjMtMTVjLTE0LjYtMzUuMS00NC4xLTYxLjktODAuNS03My4xbC00OC43LTE1Yy0xMS4xLTMuNC0yMi43LTUuMi0zNC40LTUuMmMtMzEgMC02MC44IDEyLjMtODIuNyAzNC4zTDU3LjQgMTUzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsMjMuMS0yMy4xek05MS4yIDM1MkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmg2OS42YzE5IDAgMzYuMi0xMS4yIDQzLjktMjguNUwxNTcgMzYxLjZsLTkuNS02Yy0xNy41LTEwLjktMzAuNS0yNi44LTM3LjktNDQuOUw5MS4yIDM1MnpcIl1cbn07XG52YXIgZmFSdW5uaW5nID0gZmFQZXJzb25SdW5uaW5nO1xudmFyIGZhTW9iaWxlUmV0cm8gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9iaWxlLXJldHJvJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJlNTI3XCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwSDI1NmMzNS4zIDAgNjQgMjguNyA2NCA2NFY0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjY0em02NCA5NnY2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMkgyMjRjMTcuNyAwIDMyLTE0LjMgMzItMzJWMTYwYzAtMTcuNy0xNC4zLTMyLTMyLTMySDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNODAgMzUyYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMjQgNTZhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHptNTYtNTZhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0yNCA1NmEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwem01Ni01NmEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTI0IDU2YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6TTEyOCA0OGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmg2NGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgxMjh6XCJdXG59O1xudmFyIGZhR3JpcExpbmVzVmVydGljYWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ3JpcC1saW5lcy12ZXJ0aWNhbCcsXG4gIGljb246IFsxOTIsIDUxMiwgW10sIFwiZjdhNVwiLCBcIk02NCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMlMwIDQ2LjMgMCA2NFY0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlY2NHptMTI4IDBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWNjR6XCJdXG59O1xudmFyIGZhU3BpZGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NwaWRlcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODM3NV0sIFwiZjcxN1wiLCBcIk0xNTguNCAzMi42YzQuOC0xMi40LTEuNC0yNi4zLTEzLjgtMzFzLTI2LjMgMS40LTMxIDEzLjhMODEuMSAxMDBjLTcuOSAyMC43LTMgNDQuMSAxMi43IDU5LjdsNTcuNCA1Ny40TDcwLjggMTkwLjNjLTIuNC0uOC00LjMtMi43LTUuMS01LjFMNDYuOCAxMjguNEM0Mi42IDExNS44IDI5IDEwOSAxNi40IDExMy4yUy0zIDEzMSAxLjIgMTQzLjZsMTguOSA1Ni44YzUuNiAxNi43IDE4LjcgMjkuOCAzNS40IDM1LjRMMTE2LjEgMjU2IDU1LjYgMjc2LjJjLTE2LjcgNS42LTI5LjggMTguNy0zNS40IDM1LjRMMS4yIDM2OC40Qy0zIDM4MSAzLjggMzk0LjYgMTYuNCAzOTguOHMyNi4yLTIuNiAzMC40LTE1LjJsMTguOS01Ni44Yy44LTIuNCAyLjctNC4zIDUuMS01LjFsODAuNC0yNi44TDkzLjcgMzUyLjNDNzguMSAzNjggNzMuMSAzOTEuNCA4MS4xIDQxMmwzMi41IDg0LjZjNC44IDEyLjQgMTguNiAxOC41IDMxIDEzLjhzMTguNS0xOC42IDEzLjgtMzFsLTMyLjUtODQuNmMtMS4xLTMtLjQtNi4zIDEuOC04LjVMMTYwIDM1My45YzEgNTIuMSA0My42IDk0LjEgOTYgOTQuMXM5NS00MS45IDk2LTk0LjFsMzIuMyAzMi4zYzIuMiAyLjIgMi45IDUuNiAxLjggOC41bC0zMi41IDg0LjZjLTQuOCAxMi40IDEuNCAyNi4zIDEzLjggMzFzMjYuMy0xLjQgMzEtMTMuOEw0MzAuOSA0MTJjNy45LTIwLjcgMy00NC4xLTEyLjctNTkuN2wtNTcuNC01Ny40IDgwLjQgMjYuOGMyLjQgLjggNC4zIDIuNyA1LjEgNS4xbDE4LjkgNTYuOGM0LjIgMTIuNiAxNy44IDE5LjQgMzAuNCAxNS4yczE5LjQtMTcuOCAxNS4yLTMwLjRsLTE4LjktNTYuOGMtNS42LTE2LjctMTguNy0yOS44LTM1LjQtMzUuNEwzOTUuOSAyNTZsNjAuNS0yMC4yYzE2LjctNS42IDI5LjgtMTguNyAzNS40LTM1LjRsMTguOS01Ni44YzQuMi0xMi42LTIuNi0yNi4yLTE1LjItMzAuNHMtMjYuMiAyLjYtMzAuNCAxNS4ybC0xOC45IDU2LjhjLS44IDIuNC0yLjcgNC4zLTUuMSA1LjFsLTgwLjQgMjYuOCA1Ny40LTU3LjRjMTUuNi0xNS42IDIwLjYtMzkgMTIuNy01OS43TDM5OC40IDE1LjRDMzkzLjYgMyAzNzkuOC0zLjIgMzY3LjQgMS42cy0xOC41IDE4LjYtMTMuOCAzMWwzMi41IDg0LjZjMS4xIDMgLjQgNi4zLTEuOCA4LjVMMzM2IDE3NC4xVjE2MGMwLTMxLjgtMTguNi01OS4zLTQ1LjUtNzIuMmMtOS4xLTQuNC0xOC41IDMuMy0xOC41IDEzLjRWMTEyYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjEwMS4yYzAtMTAuMS05LjQtMTcuNy0xOC41LTEzLjRDMTk0LjYgMTAwLjcgMTc2IDEyOC4yIDE3NiAxNjB2MTQuMWwtNDguMy00OC4zYy0yLjItMi4yLTIuOS01LjYtMS44LTguNWwzMi41LTg0LjZ6XCJdXG59O1xudmFyIGZhSGFuZHNCb3VuZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kcy1ib3VuZCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRmOVwiLCBcIk05NiAzMkM5NiAxNC4zIDgxLjcgMCA2NCAwUzMyIDE0LjMgMzIgMzJWOTZ2NTkuMSAuN1YxOTJ2MjEuOWMwIDE0LjIgNS4xIDI3LjkgMTQuMyAzOC43TDEzMS42IDM1MkgxMjhjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRoMzJIMjg4aDY0SDQ4MGgzMmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGgtMy42bDg1LjMtOTkuNWM5LjItMTAuOCAxNC4zLTI0LjUgMTQuMy0zOC43VjE5MiAxNTUuOHYtLjdWOTYgMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWOTZ2NDguOGwtNjkuMyA5Mi40Yy01LjcgNy42LTE2LjEgOS42LTI0LjIgNC44Yy05LjctNS43LTEyLjEtMTguNy01LjEtMjcuNUw0NzMgMTgwYzEwLjgtMTMuNSA4LjktMzMuMy00LjQtNDQuNXMtMzMtOS44LTQ0LjUgMy4ybC00Ni43IDUyLjVDMzYxIDIwOS43IDM1MiAyMzMuNCAzNTIgMjU4LjFWMzIwdjMySDI4OFYzMjAgMjU4LjFjMC0yNC42LTktNDguNC0yNS40LTY2LjhsLTQ2LjctNTIuNWMtMTEuNS0xMy0zMS4zLTE0LjQtNDQuNS0zLjJzLTE1LjIgMzAuOS00LjQgNDQuNWwyNy42IDM0LjVjNyA4LjggNC43IDIxLjgtNS4xIDI3LjVjLTguMSA0LjgtMTguNiAyLjctMjQuMi00LjhMOTYgMTQ0LjhWOTYgMzJ6bTY0IDQ0OHYzMkgyODhWNDgwaDY0djMySDQ4MFY0ODBoMzJjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRINDgwIDM1MiAyODggMTYwIDEyOGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGgzMnpcIl1cbn07XG52YXIgZmFGaWxlSW52b2ljZURvbGxhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLWludm9pY2UtZG9sbGFyJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNTcxXCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzMjBjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTYwSDI1NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMEg2NHpNMjU2IDBWMTI4SDM4NEwyNTYgMHpNNjQgODBjMC04LjggNy4yLTE2IDE2LTE2aDY0YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZ6bTAgNjRjMC04LjggNy4yLTE2IDE2LTE2aDY0YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZ6bTEyOCA3MmM4LjggMCAxNiA3LjIgMTYgMTZ2MTcuM2M4LjUgMS4yIDE2LjcgMy4xIDI0LjEgNS4xYzguNSAyLjMgMTMuNiAxMSAxMS4zIDE5LjZzLTExIDEzLjYtMTkuNiAxMS4zYy0xMS4xLTMtMjItNS4yLTMyLjEtNS4zYy04LjQtLjEtMTcuNCAxLjgtMjMuNiA1LjVjLTUuNyAzLjQtOC4xIDcuMy04LjEgMTIuOGMwIDMuNyAxLjMgNi41IDcuMyAxMC4xYzYuOSA0LjEgMTYuNiA3LjEgMjkuMiAxMC45bC41IC4xIDAgMCAwIDBjMTEuMyAzLjQgMjUuMyA3LjYgMzYuMyAxNC42YzEyLjEgNy42IDIyLjQgMTkuNyAyMi43IDM4LjJjLjMgMTkuMy05LjYgMzMuMy0yMi45IDQxLjZjLTcuNyA0LjgtMTYuNCA3LjYtMjUuMSA5LjFWNDQwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjQyMi4yYy0xMS4yLTIuMS0yMS43LTUuNy0zMC45LTguOWwwIDAgMCAwYy0yLjEtLjctNC4yLTEuNC02LjItMi4xYy04LjQtMi44LTEyLjktMTEuOS0xMC4xLTIwLjJzMTEuOS0xMi45IDIwLjItMTAuMWMyLjUgLjggNC44IDEuNiA3LjEgMi40bDAgMCAwIDAgMCAwYzEzLjYgNC42IDI0LjYgOC40IDM2LjMgOC43YzkuMSAuMyAxNy45LTEuNyAyMy43LTUuM2M1LjEtMy4yIDcuOS03LjMgNy44LTE0Yy0uMS00LjYtMS44LTcuOC03LjctMTEuNmMtNi44LTQuMy0xNi41LTcuNC0yOS0xMS4ybC0xLjYtLjUgMCAwYy0xMS0zLjMtMjQuMy03LjMtMzQuOC0xMy43Yy0xMi03LjItMjIuNi0xOC45LTIyLjctMzcuM2MtLjEtMTkuNCAxMC44LTMyLjggMjMuOC00MC41YzcuNS00LjQgMTUuOC03LjIgMjQuMS04LjdWMjMyYzAtOC44IDcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFQbGFuZUNpcmNsZUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsYW5lLWNpcmNsZS1leGNsYW1hdGlvbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU1NlwiLCBcIk0yNTYgMGMtMzUgMC02NCA1OS41LTY0IDkzLjd2ODQuNkw4LjEgMjgzLjRjLTUgMi44LTguMSA4LjItOC4xIDEzLjl2NjUuNWMwIDEwLjYgMTAuMiAxOC4zIDIwLjQgMTUuNGwxNzEuNi00OSAwIDcwLjktNTcuNiA0My4yYy00IDMtNi40IDcuOC02LjQgMTIuOHY0MmMwIDcuOCA2LjMgMTQgMTQgMTRjMS4zIDAgMi42LS4yIDMuOS0uNUwyNTYgNDgwbDExMC4xIDMxLjVjMS4zIC40IDIuNiAuNSAzLjkgLjVjNiAwIDExLjEtMy43IDEzLjEtOUMzNDQuNSA0NzAuNyAzMjAgNDIyLjIgMzIwIDM2OGMwLTYwLjYgMzAuNi0xMTQgNzcuMS0xNDUuNkwzMjAgMTc4LjNWOTMuN0MzMjAgNTkuNSAyOTIgMCAyNTYgMHpNNDk2IDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtOTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0wLTE0NGM4LjggMCAxNiA3LjIgMTYgMTZ2ODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWMjg4YzAtOC44IDcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFYUmF5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3gtcmF5JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNDk3XCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJINDgwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyVjQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMlY5NkMxNC4zIDk2IDAgODEuNyAwIDY0ek0yNTYgOTZjLTguOCAwLTE2IDcuMi0xNiAxNnYzMkgxNjBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZoODB2NDhIMTI4Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2SDI0MHY3MC42TDE4OS4xIDMwN2MtNS4yLTItMTAuNi0zLTE2LjItM2gtMi4xYy0yMy42IDAtNDIuOCAxOS4yLTQyLjggNDIuOGMwIDkuNiAzLjIgMTguOSA5LjEgMjYuNGwxOC4yIDIzLjJjOS43IDEyLjQgMjQuNiAxOS42IDQwLjMgMTkuNkgzMTYuNGMxNS43IDAgMzAuNi03LjIgNDAuMy0xOS42bDE4LjItMjMuMmM1LjktNy41IDkuMS0xNi44IDkuMS0yNi40YzAtMjMuNi0xOS4yLTQyLjgtNDIuOC00Mi44SDMzOWMtNS41IDAtMTEgMS0xNi4yIDNMMjcyIDMyNi42VjI1NkgzODRjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIMjcyVjE3Nmg4MGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgyNzJWMTEyYzAtOC44LTcuMi0xNi0xNi0xNnpNMjA4IDM1MmExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6bTgwIDE2YTE2IDE2IDAgMSAxIDMyIDAgMTYgMTYgMCAxIDEgLTMyIDB6XCJdXG59O1xudmFyIGZhU3BlbGxDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcGVsbC1jaGVjaycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjg5MVwiLCBcIk0xMTIgMEM5OS4xIDAgODcuNCA3LjggODIuNSAxOS43bC02Ni43IDE2MC0xMy4zIDMyYy02LjggMTYuMyAuOSAzNSAxNy4yIDQxLjhzMzUtLjkgNDEuOC0xNy4yTDY2LjcgMjI0aDkwLjdsNS4xIDEyLjNjNi44IDE2LjMgMjUuNSAyNCA0MS44IDE3LjJzMjQtMjUuNSAxNy4yLTQxLjhsLTEzLjMtMzItNjYuNy0xNjBDMTM2LjYgNy44IDEyNC45IDAgMTEyIDB6bTE4LjcgMTYwSDkzLjNMMTEyIDExNS4yIDEzMC43IDE2MHpNMjU2IDMydjk2IDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyaDgwYzQ0LjIgMCA4MC0zNS44IDgwLTgwYzAtMjMuMS05LjgtNDMuOC0yNS40LTU4LjRjNi0xMS4yIDkuNC0yNCA5LjQtMzcuNmMwLTQ0LjItMzUuOC04MC04MC04MEgyODhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem05NiA2NEgzMjBWNjRoMzJjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZ6bS0zMiA2NGgzMiAxNmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgzMjBWMTYwek01NjYuNiAzMTAuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwzNTIgNDM0LjdsLTczLjQtNzMuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsOTYgOTZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTkyLTE5MnpcIl1cbn07XG52YXIgZmFTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjcxNVwiLCBcIk01LjEgOS4yQzEzLjMtMS4yIDI4LjQtMy4xIDM4LjggNS4xbDU5MiA0NjRjMTAuNCA4LjIgMTIuMyAyMy4zIDQuMSAzMy43cy0yMy4zIDEyLjMtMzMuNyA0LjFMOS4yIDQyLjlDLTEuMiAzNC43LTMuMSAxOS42IDUuMSA5LjJ6XCJdXG59O1xudmFyIGZhQ29tcHV0ZXJNb3VzZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb21wdXRlci1tb3VzZScsXG4gIGljb246IFszODQsIDUxMiwgWzEyODQzMywgXCJtb3VzZVwiXSwgXCJmOGNjXCIsIFwiTTAgMTkySDE3NlYwSDE2MEM3MS42IDAgMCA3MS42IDAgMTYwdjMyem0wIDMyVjM1MmMwIDg4LjQgNzEuNiAxNjAgMTYwIDE2MGg2NGM4OC40IDAgMTYwLTcxLjYgMTYwLTE2MFYyMjRIMTkyIDB6bTM4NC0zMlYxNjBDMzg0IDcxLjYgMzEyLjQgMCAyMjQgMEgyMDhWMTkySDM4NHpcIl1cbn07XG52YXIgZmFNb3VzZSA9IGZhQ29tcHV0ZXJNb3VzZTtcbnZhciBmYUFycm93UmlnaHRUb0JyYWNrZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctcmlnaHQtdG8tYnJhY2tldCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wic2lnbi1pblwiXSwgXCJmMDkwXCIsIFwiTTM1MiA5Nmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjU2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDY0IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTI1NmMwLTUzLTQzLTk2LTk2LTk2bC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyem0tOS40IDE4Mi42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMjgtMTI4Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0wyNDIuNyAyMjQgMzIgMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDIxMC43IDAtNzMuNCA3My40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDEyOC0xMjh6XCJdXG59O1xudmFyIGZhU2lnbkluID0gZmFBcnJvd1JpZ2h0VG9CcmFja2V0O1xudmFyIGZhU2hvcFNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Nob3Atc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInN0b3JlLWFsdC1zbGFzaFwiXSwgXCJlMDcwXCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdsLTU0LjgtNDNWMjI0SDUxMlYzNzZMMzg0IDI3NS43VjIyNEgzMjB2MS41TDI3Ny4yIDE5Mkg2MDMuMmMyMC4zIDAgMzYuOC0xNi41IDM2LjgtMzYuOGMwLTcuMy0yLjItMTQuNC02LjItMjAuNEw1NTguMiAyMS40QzU0OS4zIDggNTM0LjQgMCA1MTguMyAwSDEyMS43Yy0xNiAwLTMxIDgtMzkuOSAyMS40TDc0LjEgMzIuOCAzOC44IDUuMXpNMzYuOCAxOTJoODVMMjEgMTEyLjUgNi4yIDEzNC43Yy00IDYuMS02LjIgMTMuMi02LjIgMjAuNEMwIDE3NS41IDE2LjUgMTkyIDM2LjggMTkyek0zMjAgMzg0SDEyOFYyMjRINjRWMzg0djgwYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDMzNmMyNi41IDAgNDgtMjEuNSA0OC00OFYzOTguNWwtNjQtNTAuNFYzODR6TTU0NCA1MTJsLS4zIDBoLjZsLS4zIDB6XCJdXG59O1xudmFyIGZhU3RvcmVBbHRTbGFzaCA9IGZhU2hvcFNsYXNoO1xudmFyIGZhU2VydmVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NlcnZlcicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjIzM1wiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2djY0YzAgMzUuMyAyOC43IDY0IDY0IDY0SDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NFY5NmMwLTM1LjMtMjguNy02NC02NC02NEg2NHptMjgwIDcyYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptNDggMjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpNNjQgMjg4Yy0zNS4zIDAtNjQgMjguNy02NCA2NHY2NGMwIDM1LjMgMjguNyA2NCA2NCA2NEg0NDhjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMzUyYzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0em0yODAgNzJhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em01NiAyNGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwelwiXVxufTtcbnZhciBmYVZpcnVzQ292aWRTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2aXJ1cy1jb3ZpZC1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRhOVwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDQ3Mi4xIDM0NC43YzExLjQtMTkuNSAxOS4xLTQxLjQgMjIuMy02NC43SDUyOHYxNmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjIxNmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHYxNkg0OTQuNGMtNC4yLTMwLjctMTYuMy01OC44LTM0LjEtODIuM0w0ODQgMTI1LjlsMTEuMyAxMS4zYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw0NzIuNyA0Ni43Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45TDQ1MC4xIDkybC0yMy44IDIzLjhDNDAyLjggOTcuOSAzNzQuNyA4NS44IDM0NCA4MS42VjQ4aDE2YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDI4MGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGgxNlY4MS42Yy0zMC43IDQuMi01OC44IDE2LjMtODIuMyAzNC4xTDE4OS45IDkybDExLjMtMTEuM2M5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwTDEzNC4xIDc5LjggMzguOCA1LjF6bTM2Mi41IDQwN0wxNDkuMiAyMTMuNWMtMS41IDYtMi43IDEyLjItMy41IDE4LjVIMTEyVjIxNmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHY4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjI4MGgzMy42YzQuMiAzMC43IDE2LjMgNTguOCAzNC4xIDgyLjNMMTU2IDM4Ni4xbC0xMS4zLTExLjNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNTYuNiA1Ni42YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUwxODkuOSA0MjBsMjMuOC0yMy44YzIzLjUgMTcuOSA1MS43IDI5LjkgODIuMyAzNC4xVjQ2NEgyODBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRoODBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRIMzQ0VjQzMC40YzIwLjQtMi44IDM5LjctOS4xIDU3LjMtMTguMnpcIl1cbn07XG52YXIgZmFTaG9wTG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaG9wLWxvY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0YTVcIiwgXCJNMzYuOCAxOTJINDQ5LjZjMjAuMi0xOS44IDQ3LjktMzIgNzguNC0zMmMzMC41IDAgNTguMSAxMi4yIDc4LjMgMzEuOWMxOC45LTEuNiAzMy43LTE3LjQgMzMuNy0zNi43YzAtNy4zLTIuMi0xNC40LTYuMi0yMC40TDU1OC4yIDIxLjRDNTQ5LjMgOCA1MzQuNCAwIDUxOC4zIDBIMTIxLjdjLTE2IDAtMzEgOC0zOS45IDIxLjRMNi4yIDEzNC43Yy00IDYuMS02LjIgMTMuMi02LjIgMjAuNEMwIDE3NS41IDE2LjUgMTkyIDM2LjggMTkyek0zODQgMjI0SDMyMFYzODRIMTI4VjIyNEg2NFYzODR2ODBjMCAyNi41IDIxLjUgNDggNDggNDhIMzM2YzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjM4NCAzNTIgMjI0em0xNDQgMTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2NDhINDk2VjI3MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptLTgwIDMydjQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMlY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJINjA4YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM1MmMwLTE3LjctMTQuMy0zMi0zMi0zMlYyNzJjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODB6XCJdXG59O1xudmFyIGZhSG91cmdsYXNzU3RhcnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91cmdsYXNzLXN0YXJ0JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXCJob3VyZ2xhc3MtMVwiXSwgXCJmMjUxXCIsIFwiTTMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyUzE0LjMgNjQgMzIgNjRWNzVjMCA0Mi40IDE2LjkgODMuMSA0Ni45IDExMy4xTDE0Ni43IDI1NiA3OC45IDMyMy45QzQ4LjkgMzUzLjkgMzIgMzk0LjYgMzIgNDM3djExYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDY0IDMyMGgzMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMlY0MzdjMC00Mi40LTE2LjktODMuMS00Ni45LTExMy4xTDIzNy4zIDI1Nmw2Ny45LTY3LjljMzAtMzAgNDYuOS03MC43IDQ2LjktMTEzLjFWNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzIwIDY0IDMyek0yODggNDM3djExSDk2VjQzN2MwLTI1LjUgMTAuMS00OS45IDI4LjEtNjcuOUwxOTIgMzAxLjNsNjcuOSA2Ny45YzE4IDE4IDI4LjEgNDIuNCAyOC4xIDY3Ljl6XCJdXG59O1xudmFyIGZhSG91cmdsYXNzMSA9IGZhSG91cmdsYXNzU3RhcnQ7XG52YXIgZmFCbGVuZGVyUGhvbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmxlbmRlci1waG9uZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjZiNlwiLCBcIk0yMjQgMzUyTDE5Ni44IDUyLjNDMTk0LjIgMjQuMiAyMTYuMyAwIDI0NC42IDBINTM0LjFjMjEuMSAwIDM2LjQgMjAuMSAzMC45IDQwLjRMNTU4LjUgNjRINDAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2SDU0OS44bC0xNy41IDY0SDQwMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNkg1MjMuNmwtMTcuNSA2NEg0MDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZoOTcuNUw0ODAgMzUySDIyNHptLTE2IDMySDQ5NmMyNi41IDAgNDggMjEuNSA0OCA0OHYzMmMwIDI2LjUtMjEuNSA0OC00OCA0OEgyMDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjQzMmMwLTI2LjUgMjEuNS00OCA0OC00OHptMTQ0IDk2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMTQ3LjUgMzAuN2MxMC44IDYuNyAxNS4zIDIxIDEwLjYgMzMuNGwtMjIgNTcuOGMtNC4yIDEwLjktMTQuNSAxNy42LTI1LjMgMTYuNGwtMzMuMy0zLjZjLTEzLjYgNDIuMi0xMy42IDg4LjQgMCAxMzAuN2wzMy4zLTMuNmMxMC45LTEuMiAyMS4yIDUuNSAyNS4zIDE2LjRsMjIgNTcuOGM0LjcgMTIuNCAuMiAyNi43LTEwLjYgMzMuNGwtNDQgMjcuMmMtOS43IDYtMjEuOSA0LjItMjkuOC00LjNDLTI0LjYgMjg2LTI0LjYgMTE0IDczLjcgNy44QzgxLjYtLjcgOTMuOC0yLjUgMTAzLjUgMy41bDQ0IDI3LjJ6XCJdXG59O1xudmFyIGZhQnVpbGRpbmdXaGVhdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidWlsZGluZy13aGVhdCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRkYlwiLCBcIk0wIDQ4QzAgMjEuNSAyMS41IDAgNDggMEgzMzZjMjYuNSAwIDQ4IDIxLjUgNDggNDhWNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDI0MFY0MzJjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDh2ODBINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjQ4ek04MCAyMjRjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjI0MGMwLTguOC03LjItMTYtMTYtMTZIODB6bTgwIDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMjQwYzAtOC44LTcuMi0xNi0xNi0xNkgxNzZjLTguOCAwLTE2IDcuMi0xNiAxNnptMTEyLTE2Yy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYyNDBjMC04LjgtNy4yLTE2LTE2LTE2SDI3MnpNNjQgMTEydjMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMTEyYzAtOC44LTcuMi0xNi0xNi0xNkg4MGMtOC44IDAtMTYgNy4yLTE2IDE2ek0xNzYgOTZjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjExMmMwLTguOC03LjItMTYtMTYtMTZIMTc2em04MCAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjExMmMwLTguOC03LjItMTYtMTYtMTZIMjcyYy04LjggMC0xNiA3LjItMTYgMTZ6bTM4NCA4MHYxNmMwIDQ0LjItMzUuOCA4MC04MCA4MEg1NDRWMjcyYzAtNDQuMiAzNS44LTgwIDgwLTgwaDE2em0wIDEyOGMwIDQ0LjItMzUuOCA4MC04MCA4MEg1NDRWMzg0YzAtNDQuMiAzNS44LTgwIDgwLTgwaDE2djE2em0wIDExMmMwIDQ0LjItMzUuOCA4MC04MCA4MEg1NDRWNDk2YzAtNDQuMiAzNS44LTgwIDgwLTgwaDE2djE2ek01MTIgNDk2djE2SDQ5NmMtNDQuMiAwLTgwLTM1LjgtODAtODBWNDE2aDE2YzQ0LjIgMCA4MCAzNS44IDgwIDgwem0wLTk2SDQ5NmMtNDQuMiAwLTgwLTM1LjgtODAtODBWMzA0aDE2YzQ0LjIgMCA4MCAzNS44IDgwIDgwdjE2em0wLTEyOHYxNkg0OTZjLTQ0LjIgMC04MC0zNS44LTgwLTgwVjE5MmgxNmM0NC4yIDAgODAgMzUuOCA4MCA4MHpNNTI4IDMyYzEzLjMgMCAyNCAxMC43IDI0IDI0VjE2MGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFY1NmMwLTEzLjMgMTAuNy0yNCAyNC0yNHptOTYgNjR2MzJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWOTZjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHpNNDU2IDcyYzEzLjMgMCAyNCAxMC43IDI0IDI0djMyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0Vjk2YzAtMTMuMyAxMC43LTI0IDI0LTI0elwiXVxufTtcbnZhciBmYVBlcnNvbkJyZWFzdGZlZWRpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWJyZWFzdGZlZWRpbmcnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImU1M2FcIiwgXCJNMjI0IDBhODAgODAgMCAxIDEgMCAxNjBBODAgODAgMCAxIDEgMjI0IDB6TTQzNi44IDM4Mi44TDM3My41IDQ2MmMtMTYuNiAyMC43LTQ2LjggMjQuMS02Ny41IDcuNWMtMTcuNi0xNC4xLTIyLjctMzguMS0xMy41LTU3LjdsLS44LS4xYy0zOC45LTUuNi03NC4zLTI1LjEtOTkuNy01NC44VjMyMGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnY0OGMwIC44IDAgMS42IC4xIDIuNGwxMDEuNCA1MC43YzIzLjcgMTEuOSAzMy4zIDQwLjcgMjEuNSA2NC40cy00MC43IDMzLjMtNjQuNCAyMS41TDI3LjIgNDI3LjNjLTEuMS0uNS0yLjItMS4xLTMuMy0xLjdjLTQuOS0yLjgtOS4yLTYuNC0xMi42LTEwLjZjLTQuNi01LjQtNy44LTExLjctOS42LTE4LjRjLTMuMy0xMi0xLjktMjUuMiA0LjgtMzYuNmMuNi0xLjEgMS4zLTIuMiAyLTMuMkw3NS42IDI1Ni4xYzI2LjctNDAuMSA3MS43LTY0LjEgMTE5LjgtNjQuMWg3NS4yYzQ2LjUgMCA5MC4xIDIyLjUgMTE3LjIgNjAuM2w1MC43IDcwLjljMi4yIDMgNCA2LjEgNS41IDkuNGMyLjkgNi43IDQuMyAxMy44IDQgMjAuOGMtLjMgMTAuNi00LjIgMjEtMTEuMiAyOS40ek0zMjAgMzMyYTQ0IDQ0IDAgMSAwIC04OCAwIDQ0IDQ0IDAgMSAwIDg4IDB6XCJdXG59O1xudmFyIGZhUmlnaHRUb0JyYWNrZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmlnaHQtdG8tYnJhY2tldCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wic2lnbi1pbi1hbHRcIl0sIFwiZjJmNlwiLCBcIk0yMTcuOSAxMDUuOUwzNDAuNyAyMjguN2M3LjIgNy4yIDExLjMgMTcuMSAxMS4zIDI3LjNzLTQuMSAyMC4xLTExLjMgMjcuM0wyMTcuOSA0MDYuMWMtNi40IDYuNC0xNSA5LjktMjQgOS45Yy0xOC43IDAtMzMuOS0xNS4yLTMzLjktMzMuOWwwLTYyLjFMMzIgMzIwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDEyOCAwIDAtNjIuMWMwLTE4LjcgMTUuMi0zMy45IDMzLjktMzMuOWM5IDAgMTcuNiAzLjYgMjQgOS45ek0zNTIgNDE2bDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0yNTZjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjQgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMjU2YzAgNTMtNDMgOTYtOTYgOTZsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6XCJdXG59O1xudmFyIGZhU2lnbkluQWx0ID0gZmFSaWdodFRvQnJhY2tldDtcbnZhciBmYVZlbnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZlbnVzJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbOTc5Ml0sIFwiZjIyMVwiLCBcIk04MCAxNzZhMTEyIDExMiAwIDEgMSAyMjQgMEExMTIgMTEyIDAgMSAxIDgwIDE3NnpNMjI0IDM0OS4xYzgxLjktMTUgMTQ0LTg2LjggMTQ0LTE3My4xQzM2OCA3OC44IDI4OS4yIDAgMTkyIDBTMTYgNzguOCAxNiAxNzZjMCA4Ni4zIDYyLjEgMTU4LjEgMTQ0IDE3My4xVjM4NEgxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoMzJ2MzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlY0NDhoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMjI0VjM0OS4xelwiXVxufTtcbnZhciBmYVBhc3Nwb3J0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Bhc3Nwb3J0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmNWFiXCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwSDM4NGMzNS4zIDAgNjQgMjguNyA2NCA2NFY0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjY0ek0xODMgMjc4LjhjLTI3LjktMTMuMi00OC40LTM5LjQtNTMuNy03MC44aDM5LjFjMS42IDMwLjQgNy43IDUzLjggMTQuNiA3MC44em00MS4zIDkuMmwtLjMgMC0uMyAwYy0yLjQtMy41LTUuNy04LjktOS4xLTE2LjVjLTYtMTMuNi0xMi40LTM0LjMtMTQuMi02My41aDQ3LjFjLTEuOCAyOS4yLTguMSA0OS45LTE0LjIgNjMuNWMtMy40IDcuNi02LjcgMTMtOS4xIDE2LjV6bTQwLjctOS4yYzYuOC0xNy4xIDEyLjktNDAuNCAxNC42LTcwLjhoMzkuMWMtNS4zIDMxLjQtMjUuOCA1Ny42LTUzLjcgNzAuOHpNMjc5LjYgMTc2Yy0xLjYtMzAuNC03LjctNTMuOC0xNC42LTcwLjhjMjcuOSAxMy4yIDQ4LjQgMzkuNCA1My43IDcwLjhIMjc5LjZ6TTIyMy43IDk2bC4zIDAgLjMgMGMyLjQgMy41IDUuNyA4LjkgOS4xIDE2LjVjNiAxMy42IDEyLjQgMzQuMyAxNC4yIDYzLjVIMjAwLjVjMS44LTI5LjIgOC4xLTQ5LjkgMTQuMi02My41YzMuNC03LjYgNi43LTEzIDkuMS0xNi41ek0xODMgMTA1LjJjLTYuOCAxNy4xLTEyLjkgNDAuNC0xNC42IDcwLjhIMTI5LjNjNS4zLTMxLjQgMjUuOC01Ny42IDUzLjctNzAuOHpNMzUyIDE5MkExMjggMTI4IDAgMSAwIDk2IDE5MmExMjggMTI4IDAgMSAwIDI1NiAwek0xMTIgMzg0Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2SDMzNmM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgxMTJ6XCJdXG59O1xudmFyIGZhSGVhcnRQdWxzZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFydC1wdWxzZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiaGVhcnRiZWF0XCJdLCBcImYyMWVcIiwgXCJNMjI4LjMgNDY5LjFMNDcuNiAzMDAuNGMtNC4yLTMuOS04LjItOC4xLTExLjktMTIuNGg4N2MyMi42IDAgNDMtMTMuNiA1MS43LTM0LjVsMTAuNS0yNS4yIDQ5LjMgMTA5LjVjMy44IDguNSAxMi4xIDE0IDIxLjQgMTQuMXMxNy44LTUgMjItMTMuM0wzMjAgMjUzLjdsMS43IDMuNGM5LjUgMTkgMjguOSAzMSA1MC4xIDMxSDQ3Ni4zYy0zLjcgNC4zLTcuNyA4LjUtMTEuOSAxMi40TDI4My43IDQ2OS4xYy03LjUgNy0xNy40IDEwLjktMjcuNyAxMC45cy0yMC4yLTMuOS0yNy43LTEwLjl6TTUwMy43IDI0MGgtMTMyYy0zIDAtNS44LTEuNy03LjItNC40bC0yMy4yLTQ2LjNjLTQuMS04LjEtMTIuNC0xMy4zLTIxLjUtMTMuM3MtMTcuNCA1LjEtMjEuNSAxMy4zbC00MS40IDgyLjhMMjA1LjkgMTU4LjJjLTMuOS04LjctMTIuNy0xNC4zLTIyLjItMTQuMXMtMTguMSA1LjktMjEuOCAxNC44bC0zMS44IDc2LjNjLTEuMiAzLTQuMiA0LjktNy40IDQuOUgxNmMtMi42IDAtNSAuNC03LjMgMS4xQzMgMjI1LjIgMCAyMDguMiAwIDE5MC45di01LjhjMC02OS45IDUwLjUtMTI5LjUgMTE5LjQtMTQxQzE2NSAzNi41IDIxMS40IDUxLjQgMjQ0IDg0bDEyIDEyIDEyLTEyYzMyLjYtMzIuNiA3OS00Ny41IDEyNC42LTM5LjlDNDYxLjUgNTUuNiA1MTIgMTE1LjIgNTEyIDE4NS4xdjUuOGMwIDE2LjktMi44IDMzLjUtOC4zIDQ5LjF6XCJdXG59O1xudmFyIGZhSGVhcnRiZWF0ID0gZmFIZWFydFB1bHNlO1xudmFyIGZhUGVvcGxlQ2FycnlCb3ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVvcGxlLWNhcnJ5LWJveCcsXG4gIGljb246IFs2NDAsIDUxMiwgW1wicGVvcGxlLWNhcnJ5XCJdLCBcImY0Y2VcIiwgXCJNODAgNDhhNDggNDggMCAxIDEgOTYgMEE0OCA0OCAwIDEgMSA4MCA0OHptNjQgMTkzLjd2NjUuMWw1MSA1MWM3LjEgNy4xIDExLjggMTYuMiAxMy40IDI2LjFsMTUuMiA5MC45YzIuOSAxNy40LTguOSAzMy45LTI2LjMgMzYuOHMtMzMuOS04LjktMzYuOC0yNi4zbC0xNC4zLTg1LjlMNjYuOCAzMjBDNTQuOCAzMDggNDggMjkxLjcgNDggMjc0LjdWMTg2LjZjMC0zMi40IDI2LjItNTguNiA1OC42LTU4LjZjMjQuMSAwIDQ2LjUgMTIgNTkuOSAzMmw0Ny40IDcxLjEgMTAuMSA1VjE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMkgzODRjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2NzYuMmwxMC4xLTVMNDczLjUgMTYwYzEzLjMtMjAgMzUuOC0zMiA1OS45LTMyYzMyLjQgMCA1OC42IDI2LjIgNTguNiA1OC42djg4LjFjMCAxNy02LjcgMzMuMy0xOC43IDQ1LjNsLTc5LjQgNzkuNC0xNC4zIDg1LjljLTIuOSAxNy40LTE5LjQgMjkuMi0zNi44IDI2LjNzLTI5LjItMTkuNC0yNi4zLTM2LjhsMTUuMi05MC45YzEuNi05LjkgNi4zLTE5IDEzLjQtMjYuMWw1MS01MVYyNDEuN2wtMTkgMjguNWMtNC42IDctMTEgMTIuNi0xOC41IDE2LjNsLTU5LjYgMjkuOGMtMi40IDEuMy00LjkgMi4yLTcuNiAyLjhjLTIuNiAuNi01LjMgLjktNy45IC44SDI1Ni43Yy0yLjUgLjEtNS0uMi03LjUtLjdjLTIuOS0uNi01LjYtMS42LTguMS0zbC01OS41LTI5LjhjLTcuNS0zLjctMTMuOC05LjQtMTguNS0xNi4zbC0xOS0yOC41ek0yLjMgNDY4LjFMNTAuMSAzNDguNmw0OS4yIDQ5LjItMzcuNiA5NGMtNi42IDE2LjQtMjUuMiAyNC40LTQxLjYgMTcuOFMtNC4zIDQ4NC41IDIuMyA0NjguMXpNNTEyIDBhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2em03Ny45IDM0OC42bDQ3LjggMTE5LjVjNi42IDE2LjQtMS40IDM1LTE3LjggNDEuNnMtMzUtMS40LTQxLjYtMTcuOGwtMzcuNi05NCA0OS4yLTQ5LjJ6XCJdXG59O1xudmFyIGZhUGVvcGxlQ2FycnkgPSBmYVBlb3BsZUNhcnJ5Qm94O1xudmFyIGZhVGVtcGVyYXR1cmVIaWdoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RlbXBlcmF0dXJlLWhpZ2gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3NjlcIiwgXCJNNDE2IDY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMCAxMjhBOTYgOTYgMCAxIDAgNDE2IDBhOTYgOTYgMCAxIDAgMCAxOTJ6TTk2IDExMmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4VjI3Ni41YzAgMTcuMyA3LjEgMzEuOSAxNS4zIDQyLjVDMjE3LjggMzMyLjYgMjI0IDM0OS41IDIyNCAzNjhjMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBjMC0xOC41IDYuMi0zNS40IDE2LjctNDguOUM4OC45IDMwOC40IDk2IDI5My44IDk2IDI3Ni41VjExMnpNMTQ0IDBDODIuMSAwIDMyIDUwLjIgMzIgMTEyVjI3Ni41YzAgLjEtLjEgLjMtLjIgLjZjLS4yIC42LS44IDEuNi0xLjcgMi44QzExLjIgMzA0LjIgMCAzMzQuOCAwIDM2OGMwIDc5LjUgNjQuNSAxNDQgMTQ0IDE0NHMxNDQtNjQuNSAxNDQtMTQ0YzAtMzMuMi0xMS4yLTYzLjgtMzAuMS04OC4xYy0uOS0xLjItMS41LTIuMi0xLjctMi44Yy0uMS0uMy0uMi0uNS0uMi0uNlYxMTJDMjU2IDUwLjIgMjA1LjkgMCAxNDQgMHptMCA0MTZjMjYuNSAwIDQ4LTIxLjUgNDgtNDhjMC0yMC45LTEzLjQtMzguNy0zMi00NS4zVjExMmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNlYzMjIuN2MtMTguNiA2LjYtMzIgMjQuNC0zMiA0NS4zYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4elwiXVxufTtcbnZhciBmYU1pY3JvY2hpcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtaWNyb2NoaXAnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYyZGJcIiwgXCJNMTc2IDI0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0VjY0Yy0zNS4zIDAtNjQgMjguNy02NCA2NEgyNGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNEg2NHY1NkgyNGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNEg2NHY1NkgyNGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNEg2NGMwIDM1LjMgMjguNyA2NCA2NCA2NHY0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjQ0OGg1NnY0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjQ0OGg1NnY0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NGg0MGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEg0NDhWMjgwaDQwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDQ0OFYxNzZoNDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRINDQ4YzAtMzUuMy0yOC43LTY0LTY0LTY0VjI0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0VjY0SDI4MFYyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNFY2NEgxNzZWMjR6TTE2MCAxMjhIMzUyYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjM1MmMwIDE3LjctMTQuMyAzMi0zMiAzMkgxNjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMTkyIDMySDE2MFYzNTJIMzUyVjE2MHpcIl1cbn07XG52YXIgZmFDcm93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjcm93bicsXG4gIGljb246IFs1NzYsIDUxMiwgWzEyODA4MV0sIFwiZjUyMVwiLCBcIk0zMDkgMTA2YzExLjQtNyAxOS0xOS43IDE5LTM0YzAtMjIuMS0xNy45LTQwLTQwLTQwcy00MCAxNy45LTQwIDQwYzAgMTQuNCA3LjYgMjcgMTkgMzRMMjA5LjcgMjIwLjZjLTkuMSAxOC4yLTMyLjcgMjMuNC00OC42IDEwLjdMNzIgMTYwYzUtNi43IDgtMTUgOC0yNGMwLTIyLjEtMTcuOS00MC00MC00MFMwIDExMy45IDAgMTM2czE3LjkgNDAgNDAgNDBjLjIgMCAuNSAwIC43IDBMODYuNCA0MjcuNGM1LjUgMzAuNCAzMiA1Mi42IDYzIDUyLjZINDI2LjZjMzAuOSAwIDU3LjQtMjIuMSA2My01Mi42TDUzNS4zIDE3NmMuMiAwIC41IDAgLjcgMGMyMi4xIDAgNDAtMTcuOSA0MC00MHMtMTcuOS00MC00MC00MHMtNDAgMTcuOS00MCA0MGMwIDkgMyAxNy4zIDggMjRsLTg5LjEgNzEuM2MtMTUuOSAxMi43LTM5LjUgNy41LTQ4LjYtMTAuN0wzMDkgMTA2elwiXVxufTtcbnZhciBmYVdlaWdodEhhbmdpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2VpZ2h0LWhhbmdpbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1Y2RcIiwgXCJNMjI0IDk2YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTEyMi41IDMyYzMuNS0xMCA1LjUtMjAuOCA1LjUtMzJjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZjMCAxMS4yIDEuOSAyMiA1LjUgMzJIMTIwYy0yMiAwLTQxLjIgMTUtNDYuNiAzNi40bC03MiAyODhjLTMuNiAxNC4zLS40IDI5LjUgOC43IDQxLjJTMzMuMiA1MTIgNDggNTEySDQ2NGMxNC44IDAgMjguNy02LjggMzcuOC0xOC41czEyLjMtMjYuOCA4LjctNDEuMmwtNzItMjg4QzQzMy4yIDE0MyA0MTQgMTI4IDM5MiAxMjhIMzQ2LjV6XCJdXG59O1xudmFyIGZhWG1hcmtzTGluZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAneG1hcmtzLWxpbmVzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTlhXCIsIFwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5Nkg2MDhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzJ6bTAgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDYwOGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMnpNNyAxNjdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDU1IDU1TDcgMzExYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNTUtNTUgNTUgNTVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC01NS01NSA1NS01NWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC01NSA1NUw0MSAxNjdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwek0yNjUgMTY3Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDU1IDU1LTU1IDU1Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNTUtNTUgNTUgNTVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC01NS01NSA1NS01NWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC01NSA1NS01NS01NXpNNDU1IDE2N2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlsNTUgNTUtNTUgNTVjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw1NS01NSA1NSA1NWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTU1LTU1IDU1LTU1YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTU1IDU1LTU1LTU1Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHpcIl1cbn07XG52YXIgZmFGaWxlUHJlc2NyaXB0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtcHJlc2NyaXB0aW9uJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNTcyXCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzMjBjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTYwSDI1NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMEg2NHpNMjU2IDBWMTI4SDM4NEwyNTYgMHpNMTA0IDE5Nmg3MmMzMy4xIDAgNjAgMjYuOSA2MCA2MGMwIDI1LjUtMTUuOSA0Ny4yLTM4LjMgNTUuOWw0MyA0MC4zIDMzLjgtMzFjOC4xLTcuNSAyMC44LTYuOSAyOC4zIDEuMnM2LjkgMjAuOC0xLjIgMjguM0wyNzAgMzc5LjdsMzEuNyAyOS43YzguMSA3LjYgOC41IDIwLjIgLjkgMjguM3MtMjAuMiA4LjUtMjguMyAuOWwtMzMuOS0zMS44LTM0LjkgMzJjLTguMSA3LjUtMjAuOCA2LjktMjguMy0xLjJzLTYuOS0yMC44IDEuMi0yOC4zbDMyLjYtMjkuOS02NC44LTYwLjhjLS45LS44LTEuNi0xLjctMi4zLTIuNkgxMjR2NDRjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwVjI5NiAyMTZjMC0xMSA5LTIwIDIwLTIwem03MiA4MGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBIMTI0djQwaDUyelwiXVxufTtcbnZhciBmYVdlaWdodFNjYWxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dlaWdodC1zY2FsZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wid2VpZ2h0XCJdLCBcImY0OTZcIiwgXCJNMTI4IDE3NmExMjggMTI4IDAgMSAxIDI1NiAwIDEyOCAxMjggMCAxIDEgLTI1NiAwek0zOTEuOCA2NEMzNTkuNSAyNC45IDMxMC43IDAgMjU2IDBTMTUyLjUgMjQuOSAxMjAuMiA2NEg2NEMyOC43IDY0IDAgOTIuNyAwIDEyOFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRINDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0VjEyOGMwLTM1LjMtMjguNy02NC02NC02NEgzOTEuOHpNMjk2IDIyNGMwLTEwLjYtNC4xLTIwLjItMTAuOS0yNy40bDMzLjYtNzguM2MzLjUtOC4xLS4zLTE3LjUtOC40LTIxcy0xNy41IC4zLTIxIDguNEwyNTUuNyAxODRjLTIyIC4xLTM5LjcgMTgtMzkuNyA0MGMwIDIyLjEgMTcuOSA0MCA0MCA0MHM0MC0xNy45IDQwLTQwelwiXVxufTtcbnZhciBmYVdlaWdodCA9IGZhV2VpZ2h0U2NhbGU7XG52YXIgZmFVc2VyR3JvdXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1ncm91cCcsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODEwMSwgXCJ1c2VyLWZyaWVuZHNcIl0sIFwiZjUwMFwiLCBcIk05NiAxMjhhMTI4IDEyOCAwIDEgMSAyNTYgMEExMjggMTI4IDAgMSAxIDk2IDEyOHpNMCA0ODIuM0MwIDM4My44IDc5LjggMzA0IDE3OC4zIDMwNGg5MS40QzM2OC4yIDMwNCA0NDggMzgzLjggNDQ4IDQ4Mi4zYzAgMTYuNC0xMy4zIDI5LjctMjkuNyAyOS43SDI5LjdDMTMuMyA1MTIgMCA0OTguNyAwIDQ4Mi4zek02MDkuMyA1MTJINDcxLjRjNS40LTkuNCA4LjYtMjAuMyA4LjYtMzJ2LThjMC02MC43LTI3LjEtMTE1LjItNjkuOC0xNTEuOGMyLjQtLjEgNC43LS4yIDcuMS0uMmg2MS40QzU2Ny44IDMyMCA2NDAgMzkyLjIgNjQwIDQ4MS4zYzAgMTctMTMuOCAzMC43LTMwLjcgMzAuN3pNNDMyIDI1NmMtMzEgMC01OS0xMi42LTc5LjMtMzIuOUMzNzIuNCAxOTYuNSAzODQgMTYzLjYgMzg0IDEyOGMwLTI2LjgtNi42LTUyLjEtMTguMy03NC4zQzM4NC4zIDQwLjEgNDA3LjIgMzIgNDMyIDMyYzYxLjkgMCAxMTIgNTAuMSAxMTIgMTEycy01MC4xIDExMi0xMTIgMTEyelwiXVxufTtcbnZhciBmYVVzZXJGcmllbmRzID0gZmFVc2VyR3JvdXA7XG52YXIgZmFBcnJvd1VwQVogPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdXAtYS16JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzb3J0LWFscGhhLXVwXCJdLCBcImYxNWVcIiwgXCJNMTgzLjYgNDIuNEMxNzcuNSAzNS44IDE2OSAzMiAxNjAgMzJzLTE3LjUgMy44LTIzLjYgMTAuNGwtODggOTZjLTExLjkgMTMtMTEuMSAzMy4zIDIgNDUuMnMzMy4zIDExLjEgNDUuMi0yTDEyOCAxNDYuM1Y0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYxNDYuM2wzMi40IDM1LjRjMTEuOSAxMyAzMi4yIDEzLjkgNDUuMiAyczEzLjktMzIuMiAyLTQ1LjJsLTg4LTk2ek0zMjAgMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMyaDUwLjdsLTczLjQgNzMuNGMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0LjlzMTYuNiAxOS44IDI5LjYgMTkuOEg0ODBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINDI5LjNsNzMuNC03My40YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45cy0xNi42LTE5LjgtMjkuNi0xOS44SDM1MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTQxNiAzMmMtMTIuMSAwLTIzLjIgNi44LTI4LjYgMTcuN2wtNjQgMTI4LTE2IDMyYy03LjkgMTUuOC0xLjUgMzUgMTQuMyA0Mi45czM1IDEuNSA0Mi45LTE0LjNsNy4yLTE0LjNoODguNGw3LjIgMTQuM2M3LjkgMTUuOCAyNy4xIDIyLjIgNDIuOSAxNC4zczIyLjItMjcuMSAxNC4zLTQyLjlsLTE2LTMyLTY0LTEyOEM0MzkuMiAzOC44IDQyOC4xIDMyIDQxNiAzMnpNMzk1LjggMTc2TDQxNiAxMzUuNiA0MzYuMiAxNzZIMzk1Ljh6XCJdXG59O1xudmFyIGZhU29ydEFscGhhVXAgPSBmYUFycm93VXBBWjtcbnZhciBmYUNoZXNzS25pZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZXNzLWtuaWdodCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzk4MjJdLCBcImY0NDFcIiwgXCJNOTYgNDhMODIuNyA2MS4zQzcwLjcgNzMuMyA2NCA4OS41IDY0IDEwNi41VjIzOC45YzAgMTAuNyA1LjMgMjAuNyAxNC4yIDI2LjZsMTAuNiA3YzE0LjMgOS42IDMyLjcgMTAuNyA0OC4xIDNsMy4yLTEuNmMyLjYtMS4zIDUtMi44IDcuMy00LjVsNDkuNC0zN2M2LjYtNSAxNS43LTUgMjIuMyAwYzEwLjIgNy43IDkuOSAyMy4xLS43IDMwLjNMOTAuNCAzNTBDNzMuOSAzNjEuMyA2NCAzODAgNjQgNDAwSDM4NGwyOC45LTE1OWMyLjEtMTEuMyAzLjEtMjIuOCAzLjEtMzQuM1YxOTJDNDE2IDg2IDMzMCAwIDIyNCAwSDgzLjhDNzIuOSAwIDY0IDguOSA2NCAxOS44YzAgNy41IDQuMiAxNC4zIDEwLjkgMTcuN0w5NiA0OHptMjQgNjhhMjAgMjAgMCAxIDEgNDAgMCAyMCAyMCAwIDEgMSAtNDAgMHpNMjIuNiA0NzMuNGMtNC4yIDQuMi02LjYgMTAtNi42IDE2QzE2IDUwMS45IDI2LjEgNTEyIDM4LjYgNTEySDQwOS40YzEyLjUgMCAyMi42LTEwLjEgMjIuNi0yMi42YzAtNi0yLjQtMTEuOC02LjYtMTZMMzg0IDQzMkg2NEwyMi42IDQ3My40elwiXVxufTtcbnZhciBmYUZhY2VMYXVnaFNxdWludCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWxhdWdoLXNxdWludCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibGF1Z2gtc3F1aW50XCJdLCBcImY1OWJcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTk2LjggMzE0LjFjLTMuOC0xMy43IDcuNC0yNi4xIDIxLjYtMjYuMUgzOTMuNmMxNC4yIDAgMjUuNSAxMi40IDIxLjYgMjYuMUMzOTYuMiAzODIgMzMyLjEgNDMyIDI1NiA0MzJzLTE0MC4yLTUwLTE1OS4yLTExNy45em0zNi43LTE5OS40bDg5LjkgNDcuOWMxMC43IDUuNyAxMC43IDIxLjEgMCAyNi44bC04OS45IDQ3LjljLTcuOSA0LjItMTcuNS0xLjUtMTcuNS0xMC41YzAtMi44IDEtNS41IDIuOC03LjZsMzYtNDMuMi0zNi00My4yYy0xLjgtMi4xLTIuOC00LjgtMi44LTcuNmMwLTkgOS42LTE0LjcgMTcuNS0xMC41ek0zOTYgMTI1LjFjMCAyLjgtMSA1LjUtMi44IDcuNmwtMzYgNDMuMiAzNiA0My4yYzEuOCAyLjEgMi44IDQuOCAyLjggNy42YzAgOS05LjYgMTQuNy0xNy41IDEwLjVsLTg5LjktNDcuOWMtMTAuNy01LjctMTAuNy0yMS4xIDAtMjYuOGw4OS45LTQ3LjljNy45LTQuMiAxNy41IDEuNSAxNy41IDEwLjV6XCJdXG59O1xudmFyIGZhTGF1Z2hTcXVpbnQgPSBmYUZhY2VMYXVnaFNxdWludDtcbnZhciBmYVdoZWVsY2hhaXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2hlZWxjaGFpcicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjE5M1wiLCBcIk0xOTIgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek0xMjAuNSAyNDcuMmMxMi40LTQuNyAxOC43LTE4LjUgMTQtMzAuOXMtMTguNS0xOC43LTMwLjktMTRDNDMuMSAyMjUuMSAwIDI4My41IDAgMzUyYzAgODguNCA3MS42IDE2MCAxNjAgMTYwYzYxLjIgMCAxMTQuMy0zNC4zIDE0MS4yLTg0LjdjNi4yLTExLjcgMS44LTI2LjItOS45LTMyLjVzLTI2LjItMS44LTMyLjUgOS45QzI0MCA0NDAgMjAyLjggNDY0IDE2MCA0NjRDOTguMSA0NjQgNDggNDEzLjkgNDggMzUyYzAtNDcuOSAzMC4xLTg4LjggNzIuNS0xMDQuOHpNMjU5LjggMTc2bC0xLjktOS43Yy00LjUtMjIuMy0yNC0zOC4zLTQ2LjgtMzguM2MtMzAuMSAwLTUyLjcgMjcuNS00Ni44IDU3bDIzLjEgMTE1LjVjNiAyOS45IDMyLjIgNTEuNCA2Mi44IDUxLjRoNS4xYy40IDAgLjggMCAxLjMgMGg5NC4xYzYuNyAwIDEyLjYgNC4xIDE1IDEwLjRMNDAyIDQ1OS4yYzYgMTYuMSAyMy44IDI0LjYgNDAuMSAxOS4xbDQ4LTE2YzE2LjgtNS42IDI1LjgtMjMuNyAyMC4yLTQwLjVzLTIzLjctMjUuOC00MC41LTIwLjJsLTE4LjcgNi4yLTI1LjUtNjhjLTExLjctMzEuMi00MS42LTUxLjktNzQuOS01MS45SDI4Mi4ybC05LjYtNDhIMzM2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDI1OS44elwiXVxufTtcbnZhciBmYUNpcmNsZUFycm93VXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLWFycm93LXVwJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJhcnJvdy1jaXJjbGUtdXBcIl0sIFwiZjBhYVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzg1IDIzMWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC03MS03MVYzNzZjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWMTkzLjlsLTcxIDcxYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45TDIzOSAxMTljOS40LTkuNCAyNC42LTkuNCAzMy45IDBMMzg1IDIzMXpcIl1cbn07XG52YXIgZmFBcnJvd0NpcmNsZVVwID0gZmFDaXJjbGVBcnJvd1VwO1xudmFyIGZhVG9nZ2xlT24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndG9nZ2xlLW9uJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMjA1XCIsIFwiTTE5MiA2NEM4NiA2NCAwIDE1MCAwIDI1NlM4NiA0NDggMTkyIDQ0OEgzODRjMTA2IDAgMTkyLTg2IDE5Mi0xOTJzLTg2LTE5Mi0xOTItMTkySDE5MnptMTkyIDk2YTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyelwiXVxufTtcbnZhciBmYVBlcnNvbldhbGtpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLXdhbGtpbmcnLFxuICBpY29uOiBbMzIwLCA1MTIsIFsxMjg2OTQsIFwid2Fsa2luZ1wiXSwgXCJmNTU0XCIsIFwiTTE2MCA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek0xMjYuNSAxOTkuM2MtMSAuNC0xLjkgLjgtMi45IDEuMmwtOCAzLjVjLTE2LjQgNy4zLTI5IDIxLjItMzQuNyAzOC4ybC0yLjYgNy44Yy01LjYgMTYuOC0yMy43IDI1LjgtNDAuNSAyMC4ycy0yNS44LTIzLjctMjAuMi00MC41bDIuNi03LjhjMTEuNC0zNC4xIDM2LjYtNjEuOSA2OS40LTc2LjVsOC0zLjVjMjAuOC05LjIgNDMuMy0xNCA2Ni4xLTE0YzQ0LjYgMCA4NC44IDI2LjggMTAxLjkgNjcuOUwyODEgMjMyLjdsMjEuNCAxMC43YzE1LjggNy45IDIyLjIgMjcuMSAxNC4zIDQyLjlzLTI3LjEgMjIuMi00Mi45IDE0LjNMMjQ3IDI4Ny4zYy0xMC4zLTUuMi0xOC40LTEzLjgtMjIuOC0yNC41bC05LjYtMjMtMTkuMyA2NS41IDQ5LjUgNTRjNS40IDUuOSA5LjIgMTMgMTEuMiAyMC44bDIzIDkyLjFjNC4zIDE3LjEtNi4xIDM0LjUtMjMuMyAzOC44cy0zNC41LTYuMS0zOC44LTIzLjNsLTIyLTg4LjEtNzAuNy03Ny4xYy0xNC44LTE2LjEtMjAuMy0zOC42LTE0LjctNTkuN2wxNi45LTYzLjV6TTY4LjcgMzk4bDI1LTYyLjRjMi4xIDMgNC41IDUuOCA3IDguNmw0MC43IDQ0LjQtMTQuNSAzNi4yYy0yLjQgNi02IDExLjUtMTAuNiAxNi4xTDU0LjYgNTAyLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDY4LjcgMzk4elwiXVxufTtcbnZhciBmYVdhbGtpbmcgPSBmYVBlcnNvbldhbGtpbmc7XG52YXIgZmFMID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2wnLFxuICBpY29uOiBbMzIwLCA1MTIsIFsxMDhdLCBcIjRjXCIsIFwiTTY0IDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjQxNkgyODhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJINjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyelwiXVxufTtcbnZhciBmYUZpcmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlyZScsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODI5M10sIFwiZjA2ZFwiLCBcIk0xNTkuMyA1LjRjNy44LTcuMyAxOS45LTcuMiAyNy43IC4xYzI3LjYgMjUuOSA1My41IDUzLjggNzcuNyA4NGMxMS0xNC40IDIzLjUtMzAuMSAzNy00Mi45YzcuOS03LjQgMjAuMS03LjQgMjggLjFjMzQuNiAzMyA2My45IDc2LjYgODQuNSAxMThjMjAuMyA0MC44IDMzLjggODIuNSAzMy44IDExMS45QzQ0OCA0MDQuMiAzNDguMiA1MTIgMjI0IDUxMkM5OC40IDUxMiAwIDQwNC4xIDAgMjc2LjVjMC0zOC40IDE3LjgtODUuMyA0NS40LTEzMS43QzczLjMgOTcuNyAxMTIuNyA0OC42IDE1OS4zIDUuNHpNMjI1LjcgNDE2YzI1LjMgMCA0Ny43LTcgNjguOC0yMWM0Mi4xLTI5LjQgNTMuNC04OC4yIDI4LjEtMTM0LjRjLTQuNS05LTE2LTkuNi0yMi41LTJsLTI1LjIgMjkuM2MtNi42IDcuNi0xOC41IDcuNC0yNC43LS41Yy0xNi41LTIxLTQ2LTU4LjUtNjIuOC03OS44Yy02LjMtOC0xOC4zLTguMS0yNC43LS4xYy0zMy44IDQyLjUtNTAuOCA2OS4zLTUwLjggOTkuNEMxMTIgMzc1LjQgMTYyLjYgNDE2IDIyNS43IDQxNnpcIl1cbn07XG52YXIgZmFCZWRQdWxzZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiZWQtcHVsc2UnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInByb2NlZHVyZXNcIl0sIFwiZjQ4N1wiLCBcIk00ODMuMiA5LjZMNTI0IDY0aDkyYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDUxMmMtNy42IDAtMTQuNy0zLjYtMTkuMi05LjZMNDY4LjcgNzAuM2wtNDcgOTkuOWMtMy43IDcuOC0xMS4zIDEzLjEtMTkuOSAxMy43cy0xNi45LTMuNC0yMS43LTEwLjZMMzM5LjIgMTEySDIxNmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNEgzNTJjOCAwIDE1LjUgNCAyMCAxMC43bDI0LjQgMzYuNiA0NS45LTk3LjVDNDQ1LjkgNi4yIDQ1My4yIDEgNDYxLjYgLjFzMTYuNiAyLjcgMjEuNiA5LjV6TTMyMCAxNjBoMTIuN2wyMC43IDMxLjFjMTEuMiAxNi44IDMwLjYgMjYuMyA1MC43IDI0LjhzMzcuOS0xMy43IDQ2LjUtMzJMNDYxLjkgMTYwSDU0NGM1MyAwIDk2IDQzIDk2IDk2VjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY0NDhIMzUyIDMyMCA2NHYzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY5NkMwIDc4LjMgMTQuMyA2NCAzMiA2NHMzMiAxNC4zIDMyIDMyVjM1MkgyODhWMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem0tMTQ0IDBhODAgODAgMCAxIDEgMCAxNjAgODAgODAgMCAxIDEgMC0xNjB6XCJdXG59O1xudmFyIGZhUHJvY2VkdXJlcyA9IGZhQmVkUHVsc2U7XG52YXIgZmFTaHV0dGxlU3BhY2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2h1dHRsZS1zcGFjZScsXG4gIGljb246IFs2NDAsIDUxMiwgW1wic3BhY2Utc2h1dHRsZVwiXSwgXCJmMTk3XCIsIFwiTTEzMCA0ODBjNDAuNiAwIDgwLjQtMTEgMTE1LjItMzEuOUwzNTIgMzg0bC0yMjQgMCAwIDk2aDJ6TTM1MiAxMjhMMjQ1LjIgNjMuOUMyMTAuNCA0MyAxNzAuNiAzMiAxMzAgMzJoLTJ2OTZsMjI0IDB6TTk2IDEyOGwwLTk2SDgwQzUzLjUgMzIgMzIgNTMuNSAzMiA4MHY0OGg4Yy0yMi4xIDAtNDAgMTcuOS00MCA0MHYxNlYzMjh2MTZjMCAyMi4xIDE3LjkgNDAgNDAgNDBIMzJ2NDhjMCAyNi41IDIxLjUgNDggNDggNDhIOTZsMC05Nmg4YzI2LjIgMCA0OS40LTEyLjYgNjQtMzJINDU2YzY5LjMgMCAxMzUtMjIuNyAxNzkuMi04MS42YzYuNC04LjUgNi40LTIwLjMgMC0yOC44QzU5MSAxODIuNyA1MjUuMyAxNjAgNDU2IDE2MEgxNjhjLTE0LjYtMTkuNC0zNy44LTMyLTY0LTMybC04IDB6TTUxMiAyNDMuNnYyNC45YzAgMTkuNi0xNS45IDM1LjYtMzUuNiAzNS42Yy0yLjUgMC00LjQtMi00LjQtNC40VjIxMi40YzAtMi41IDItNC40IDQuNC00LjRjMTkuNiAwIDM1LjYgMTUuOSAzNS42IDM1LjZ6XCJdXG59O1xudmFyIGZhU3BhY2VTaHV0dGxlID0gZmFTaHV0dGxlU3BhY2U7XG52YXIgZmFGYWNlTGF1Z2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1sYXVnaCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibGF1Z2hcIl0sIFwiZjU5OVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNOTYuOCAzMTQuMWMtMy44LTEzLjcgNy40LTI2LjEgMjEuNi0yNi4xSDM5My42YzE0LjIgMCAyNS41IDEyLjQgMjEuNiAyNi4xQzM5Ni4yIDM4MiAzMzIuMSA0MzIgMjU2IDQzMnMtMTQwLjItNTAtMTU5LjItMTE3Ljl6TTE0NC40IDE5MmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbnZhciBmYUxhdWdoID0gZmFGYWNlTGF1Z2g7XG52YXIgZmFGb2xkZXJPcGVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZvbGRlci1vcGVuJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4MTk0LCAxMjg0NDksIDYxNzE3XSwgXCJmMDdjXCIsIFwiTTg4LjcgMjIzLjhMMCAzNzUuOFY5NkMwIDYwLjcgMjguNyAzMiA2NCAzMkgxODEuNWMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN2wyNi41IDI2LjVjMTIgMTIgMjguMyAxOC43IDQ1LjMgMTguN0g0MTZjMzUuMyAwIDY0IDI4LjcgNjQgNjR2MzJIMTQ0Yy0yMi44IDAtNDMuOCAxMi4xLTU1LjMgMzEuOHptMjcuNiAxNi4xQzEyMi4xIDIzMCAxMzIuNiAyMjQgMTQ0IDIyNEg1NDRjMTEuNSAwIDIyIDYuMSAyNy43IDE2LjFzNS43IDIyLjItLjEgMzIuMWwtMTEyIDE5MkM0NTMuOSA0NzQgNDQzLjQgNDgwIDQzMiA0ODBIMzJjLTExLjUgMC0yMi02LjEtMjcuNy0xNi4xcy01LjctMjIuMiAuMS0zMi4xbDExMi0xOTJ6XCJdXG59O1xudmFyIGZhSGVhcnRDaXJjbGVQbHVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlYXJ0LWNpcmNsZS1wbHVzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTAwXCIsIFwiTTQ3LjYgMzAwLjRMMjI4LjMgNDY5LjFjNy41IDcgMTcuNCAxMC45IDI3LjcgMTAuOXMyMC4yLTMuOSAyNy43LTEwLjlsMi42LTIuNEMyNjcuMiA0MzguNiAyNTYgNDA0LjYgMjU2IDM2OGMwLTk3LjIgNzguOC0xNzYgMTc2LTE3NmMyOC4zIDAgNTUgNi43IDc4LjcgMTguNWMuOS02LjUgMS4zLTEzIDEuMy0xOS42di01LjhjMC02OS45LTUwLjUtMTI5LjUtMTE5LjQtMTQxQzM0NyAzNi41IDMwMC42IDUxLjQgMjY4IDg0TDI1NiA5NiAyNDQgODRjLTMyLjYtMzIuNi03OS00Ny41LTEyNC42LTM5LjlDNTAuNSA1NS42IDAgMTE1LjIgMCAxODUuMXY1LjhjMCA0MS41IDE3LjIgODEuMiA0Ny42IDEwOS41ek00MzIgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMTYtMjA4djQ4aDQ4YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDQ0OHY0OGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlYzODRIMzY4Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2aDQ4VjMwNGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2elwiXVxufTtcbnZhciBmYUNvZGVGb3JrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvZGUtZm9yaycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTEzYlwiLCBcIk04MCAxMDRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em04MC0yNGMwIDMyLjgtMTkuNyA2MS00OCA3My4zVjE5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMkgzMDRjMTcuNyAwIDMyLTE0LjMgMzItMzJWMTUzLjNDMzA3LjcgMTQxIDI4OCAxMTIuOCAyODggODBjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGMwIDMyLjgtMTkuNyA2MS00OCA3My4zVjE5MmMwIDUzLTQzIDk2LTk2IDk2SDI1NnY3MC43YzI4LjMgMTIuMyA0OCA0MC41IDQ4IDczLjNjMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBjMC0zMi44IDE5LjctNjEgNDgtNzMuM1YyODhIMTQ0Yy01MyAwLTk2LTQzLTk2LTk2VjE1My4zQzE5LjcgMTQxIDAgMTEyLjggMCA4MEMwIDM1LjggMzUuOCAwIDgwIDBzODAgMzUuOCA4MCA4MHptMjA4IDI0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHpNMjQ4IDQzMmEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwelwiXVxufTtcbnZhciBmYUNpdHkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2l0eScsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyNzk2MV0sIFwiZjY0ZlwiLCBcIk00ODAgNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhIMzM2Yy0yNi41IDAtNDggMjEuNS00OCA0OFY5NkgyMjRWMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRWOTZIMTEyVjI0YzAtMTMuMy0xMC43LTI0LTI0LTI0UzY0IDEwLjcgNjQgMjRWOTZINDhDMjEuNSA5NiAwIDExNy41IDAgMTQ0djk2VjQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OEgzMDRoMzIgOTZINTkyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjI0MGMwLTI2LjUtMjEuNS00OC00OC00OEg0ODBWNDh6bTk2IDMyMHYzMmMwIDguOC03LjIgMTYtMTYgMTZINTI4Yy04LjggMC0xNi03LjItMTYtMTZWMzY4YzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ6TTI0MCA0MTZIMjA4Yy04LjggMC0xNi03LjItMTYtMTZWMzY4YzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2ek0xMjggNDAwYzAgOC44LTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjM2OGMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyek01NjAgMjU2YzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZINTI4Yy04LjggMC0xNi03LjItMTYtMTZWMjcyYzAtOC44IDcuMi0xNiAxNi0xNmgzMnpNMjU2IDE3NnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMjA4Yy04LjggMC0xNi03LjItMTYtMTZWMTc2YzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ6TTExMiAxNjBjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjE3NmMwLTguOCA3LjItMTYgMTYtMTZoMzJ6TTI1NiAzMDRjMCA4LjgtNy4yIDE2LTE2IDE2SDIwOGMtOC44IDAtMTYtNy4yLTE2LTE2VjI3MmMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyek0xMTIgMzIwSDgwYy04LjggMC0xNi03LjItMTYtMTZWMjcyYzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2em0zMDQtNDh2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDM2OGMtOC44IDAtMTYtNy4yLTE2LTE2VjI3MmMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2ek00MDAgNjRjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgzNjhjLTguOCAwLTE2LTcuMi0xNi0xNlY4MGMwLTguOCA3LjItMTYgMTYtMTZoMzJ6bTE2IDExMnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMzY4Yy04LjggMC0xNi03LjItMTYtMTZWMTc2YzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ6XCJdXG59O1xudmFyIGZhTWljcm9waG9uZUxpbmVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21pY3JvcGhvbmUtbGluZXMnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjc4OTcsIFwibWljcm9waG9uZS1hbHRcIl0sIFwiZjNjOVwiLCBcIk05NiA5NlYyNTZjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NkgyMDhjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZoODBWMTkySDIwOGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmg4MFYxMjhIMjA4Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2aDgwYzAtNTMtNDMtOTYtOTYtOTZTOTYgNDMgOTYgOTZ6TTMyMCAyNDB2MTZjMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhzLTEyOC01Ny4zLTEyOC0xMjhWMjE2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0djQwYzAgODkuMSA2Ni4yIDE2Mi43IDE1MiAxNzQuNFY0NjRIMTIwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0aDcyIDcyYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDIxNlY0MzAuNGM4NS44LTExLjcgMTUyLTg1LjMgMTUyLTE3NC40VjIxNmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHYyNHpcIl1cbn07XG52YXIgZmFNaWNyb3Bob25lQWx0ID0gZmFNaWNyb3Bob25lTGluZXM7XG52YXIgZmFQZXBwZXJIb3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVwcGVyLWhvdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzc5OF0sIFwiZjgxNlwiLCBcIk00MjguMyAzYzExLjYtNi40IDI2LjItMi4zIDMyLjYgOS4zbDQuOCA4LjdjMTkuMyAzNC43IDE5LjggNzUuNyAzLjQgMTEwQzQ5NS44IDE1OS42IDUxMiAxOTcuOSA1MTIgMjQwYzAgMTguNS0zLjEgMzYuMy04LjkgNTIuOGMtNi4xIDE3LjMtMjguNSAxNi4zLTM2LjgtLjFsLTExLjctMjMuNGMtNC4xLTguMS0xMi40LTEzLjMtMjEuNS0xMy4zSDM2MGMtMTMuMyAwLTI0LTEwLjctMjQtMjRWMTUyYzAtMTMuMy0xMC43LTI0LTI0LTI0bC0xNy4xIDBjLTIxLjMgMC0zMC0yMy45LTEwLjgtMzIuOUMzMDQuNyA4NS40IDMyNy43IDgwIDM1MiA4MGMyOC4zIDAgNTQuOCA3LjMgNzcuOCAyMC4yYzUuNS0xOC4yIDMuNy0zOC40LTYtNTUuOEw0MTkgMzUuN2MtNi40LTExLjYtMi4zLTI2LjIgOS4zLTMyLjZ6TTE3MS4yIDM0NS41TDI2NCAxNjBsNDAgMHY4MGMwIDI2LjUgMjEuNSA0OCA0OCA0OGg3Ni4ybDIzLjkgNDcuOEMzNzIuMyA0NDMuOSAyNDQuMyA1MTIgMTAzLjIgNTEySDQ0LjRDMTkuOSA1MTIgMCA0OTIuMSAwIDQ2Ny42YzAtMjAuOCAxNC41LTM4LjggMzQuOC00My4zbDQ5LjgtMTEuMWMzNy42LTguNCA2OS41LTMzLjIgODYuNy02Ny43elwiXVxufTtcbnZhciBmYVVubG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1bmxvY2snLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjgyNzVdLCBcImYwOWNcIiwgXCJNMTQ0IDE0NGMwLTQ0LjIgMzUuOC04MCA4MC04MGMzMS45IDAgNTkuNCAxOC42IDcyLjMgNDUuN2M3LjYgMTYgMjYuNyAyMi44IDQyLjYgMTUuMnMyMi44LTI2LjcgMTUuMi00Mi42QzMzMSAzMy43IDI4MS41IDAgMjI0IDBDMTQ0LjUgMCA4MCA2NC41IDgwIDE0NHY0OEg2NGMtMzUuMyAwLTY0IDI4LjctNjQgNjRWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDM4NGMzNS4zIDAgNjQtMjguNyA2NC02NFYyNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRIMTQ0VjE0NHpcIl1cbn07XG52YXIgZmFDb2xvblNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29sb24tc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTE0MFwiLCBcIk0yNTUgMzkuOGM0LjMtMTcuMS02LjEtMzQuNS0yMy4zLTM4LjhTMTk3LjIgNy4xIDE5MyAyNC4yTDE4MS45IDY4LjZDOTYuMSA4Ny44IDMyIDE2NC40IDMyIDI1NmMwIDU4LjEgMjUuOCAxMTAuMiA2Ni43IDE0NS40TDgxIDQ3Mi4yYy00LjMgMTcuMSA2LjEgMzQuNSAyMy4zIDM4LjhzMzQuNS02LjEgMzguOC0yMy4zbDEzLTUyLjFjOSAzLjQgMTguNCA2LjIgMjggOC4yTDE3NyA0NzIuMmMtNC4zIDE3LjEgNi4xIDM0LjUgMjMuMyAzOC44czM0LjUtNi4xIDM4LjgtMjMuM2wxMC40LTQxLjRjMzMuNC00LjQgNjQuMS0xNy40IDg5LjgtMzYuN2MxNC4xLTEwLjYgMTctMzAuNyA2LjQtNDQuOHMtMzAuNy0xNy00NC44LTYuNGMtMTAuMiA3LjctMjEuNyAxMy45LTM0IDE4LjNMMzIxIDE2MGM5LjQtLjMgMTguNS00LjcgMjQuNi0xMi44YzEwLjYtMTQuMSA3LjgtMzQuMi02LjQtNDQuOGMtMS4xLS44LTIuMi0xLjYtMy4zLTIuNEwzNTEgMzkuOGM0LjMtMTcuMS02LjEtMzQuNS0yMy4zLTM4LjhTMjkzLjIgNy4xIDI4OSAyNC4yTDI3Ny4yIDcxLjVjLTkuMy0yLjctMTguOC00LjYtMjguNi01LjlMMjU1IDM5Ljh6TTE2My4yIDE0My4zTDExNy4zIDMyNi44QzEwMy45IDMwNi41IDk2IDI4Mi4yIDk2IDI1NmMwLTQ4LjcgMjcuMi05MSA2Ny4yLTExMi43em04LjYgMjI5LjVsNjEuMS0yNDQuNmM5LjkgLjcgMTkuNSAyLjUgMjguNyA1LjNsLTYyIDI0OC4xYy05LjctMS45LTE5LTQuOC0yNy44LTguOHpcIl1cbn07XG52YXIgZmFIZWFkc2V0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlYWRzZXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1OTBcIiwgXCJNMjU2IDQ4QzE0MS4xIDQ4IDQ4IDE0MS4xIDQ4IDI1NnY0MGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYyNTZDMCAxMTQuNiAxMTQuNiAwIDI1NiAwUzUxMiAxMTQuNiA1MTIgMjU2VjQwMC4xYzAgNDguNi0zOS40IDg4LTg4LjEgODhMMzEzLjYgNDg4Yy04LjMgMTQuMy0yMy44IDI0LTQxLjYgMjRIMjQwYy0yNi41IDAtNDgtMjEuNS00OC00OHMyMS41LTQ4IDQ4LTQ4aDMyYzE3LjggMCAzMy4zIDkuNyA0MS42IDI0bDExMC40IC4xYzIyLjEgMCA0MC0xNy45IDQwLTQwVjI1NmMwLTExNC45LTkzLjEtMjA4LTIwOC0yMDh6TTE0NCAyMDhoMTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJWMzUyYzAgMTcuNy0xNC4zIDMyLTMyIDMySDE0NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMjcyYzAtMzUuMyAyOC43LTY0IDY0LTY0em0yMjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NHY0OGMwIDM1LjMtMjguNyA2NC02NCA2NEgzNTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjI0MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmgxNnpcIl1cbn07XG52YXIgZmFTdG9yZVNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0b3JlLXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlMDcxXCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdsLTg2LjgtNjhWMzg0IDI1Mi42Yy00IDEtOCAxLjgtMTIuMyAyLjNsLS4xIDBjLTUuMyAuNy0xMC43IDEuMS0xNi4yIDEuMWMtMTIuNCAwLTI0LjMtMS45LTM1LjQtNS4zVjM1MC45TDMwMS4yIDIxMC43YzctNC40IDEzLjMtOS43IDE4LjgtMTUuN2MxNS45IDE3LjYgMzkuMSAyOSA2NS4yIDI5YzI2LjIgMCA0OS4zLTExLjQgNjUuMi0yOWMxNiAxNy42IDM5LjEgMjkgNjUuMiAyOWM0LjEgMCA4LjEtLjMgMTIuMS0uOGM1NS41LTcuNCA4MS44LTcyLjUgNTIuMS0xMTkuNEw1MjIuMyAxMy4xQzUxNy4yIDUgNTA4LjEgMCA0OTguNCAwSDE0MS42Yy05LjcgMC0xOC44IDUtMjMuOSAxMy4xbC0yMi43IDM2TDM4LjggNS4xek01MTQuOSA1MDEuN0wzNjUuNSAzODRIMTYwVjI1MC42Yy0xMS4yIDMuNS0yMy4yIDUuNC0zNS42IDUuNGMtNS41IDAtMTEtLjQtMTYuMy0xLjFsLS4xIDBjLTQuMS0uNi04LjEtMS4zLTEyLTIuM1YzODR2NjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRINDgwYzEyLjkgMCAyNC44LTMuOCAzNC45LTEwLjN6TTE1NS4zIDIxOC40TDQ4LjkgMTM0LjVjLTYuMSA0MC42IDE5LjUgODIuOCA2My4zIDg4LjdjNCAuNSA4LjEgLjggMTIuMSAuOGMxMSAwIDIxLjQtMiAzMS01LjZ6XCJdXG59O1xudmFyIGZhUm9hZENpcmNsZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JvYWQtY2lyY2xlLXhtYXJrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTY2XCIsIFwiTTIxMy4yIDMySDI4OFY5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjMyaDc0LjhjMjcuMSAwIDUxLjMgMTcuMSA2MC4zIDQyLjZsNDIuNyAxMjAuNmMtMTAuOS0yLjEtMjIuMi0zLjItMzMuOC0zLjJjLTU5LjUgMC0xMTIuMSAyOS42LTE0NCA3NC44VjIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnY2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmMyLjMgMCA0LjYtLjMgNi44LS43Yy00LjUgMTUuNS02LjggMzEuOC02LjggNDguN2MwIDUuNCAuMiAxMC43IC43IDE2bC0uNyAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnY2NEg4Ni42QzU2LjUgNDgwIDMyIDQ1NS41IDMyIDQyNS40YzAtNi4yIDEuMS0xMi40IDMuMS0xOC4yTDE1Mi45IDc0LjZDMTYyIDQ5LjEgMTg2LjEgMzIgMjEzLjIgMzJ6TTQ5NiAyMjRhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4em0yMi42IDE0NGwzNi43LTM2LjdjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZzLTE2LjQtNi4yLTIyLjYgMEw0OTYgMzQ1LjRsLTM2LjctMzYuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNkw0NzMuNCAzNjhsLTM2LjcgMzYuN2MtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwTDQ5NiAzOTAuNmwzNi43IDM2LjdjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42TDUxOC42IDM2OHpcIl1cbn07XG52YXIgZmFVc2VyTWludXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1taW51cycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjUwM1wiLCBcIk05NiAxMjhhMTI4IDEyOCAwIDEgMSAyNTYgMEExMjggMTI4IDAgMSAxIDk2IDEyOHpNMCA0ODIuM0MwIDM4My44IDc5LjggMzA0IDE3OC4zIDMwNGg5MS40QzM2OC4yIDMwNCA0NDggMzgzLjggNDQ4IDQ4Mi4zYzAgMTYuNC0xMy4zIDI5LjctMjkuNyAyOS43SDI5LjdDMTMuMyA1MTIgMCA0OTguNyAwIDQ4Mi4zek00NzIgMjAwSDYxNmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEg0NzJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6XCJdXG59O1xudmFyIGZhTWFyc1N0cm9rZVVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hcnMtc3Ryb2tlLXVwJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbOTg5NiwgXCJtYXJzLXN0cm9rZS12XCJdLCBcImYyMmFcIiwgXCJNMTQ4LjcgNC43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwbDY0IDY0YzQuNiA0LjYgNS45IDExLjUgMy41IDE3LjRzLTguMyA5LjktMTQuOCA5LjlIMTg0djI0aDMyYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDE4NHYyNGMwIC42IDAgMS4yLS4xIDEuOGM3NyAxMS42IDEzNi4xIDc4IDEzNi4xIDE1OC4yYzAgODguNC03MS42IDE2MC0xNjAgMTYwUzAgNDQwLjQgMCAzNTJjMC04MC4yIDU5LjEtMTQ2LjcgMTM2LjEtMTU4LjJjMC0uNi0uMS0xLjItLjEtMS44VjE2OEgxMDRjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRoMzJWOTZIOTZjLTYuNSAwLTEyLjMtMy45LTE0LjgtOS45cy0xLjEtMTIuOSAzLjUtMTcuNGw2NC02NHpNMjU2IDM1MkE5NiA5NiAwIDEgMCA2NCAzNTJhOTYgOTYgMCAxIDAgMTkyIDB6XCJdXG59O1xudmFyIGZhTWFyc1N0cm9rZVYgPSBmYU1hcnNTdHJva2VVcDtcbnZhciBmYUNoYW1wYWduZUdsYXNzZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hhbXBhZ25lLWdsYXNzZXMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjkzNDYsIFwiZ2xhc3MtY2hlZXJzXCJdLCBcImY3OWZcIiwgXCJNMTU1LjYgMTcuM0MxNjMgMyAxNzkuOS0zLjYgMTk1IDEuOUwzMjAgNDcuNWwxMjUtNDUuNmMxNS4xLTUuNSAzMiAxLjEgMzkuNCAxNS40bDc4LjggMTUyLjljMjguOCA1NS44IDEwLjMgMTIyLjMtMzguNSAxNTYuNkw1NTYuMSA0MTNsNDEtMTVjMTYuNi02IDM1IDIuNSA0MSAxOS4xcy0yLjUgMzUtMTkuMSA0MWwtNzEuMSAyNS45TDQ3Ni44IDUxMGMtMTYuNiA2LjEtMzUtMi41LTQxLTE5LjFzMi41LTM1IDE5LjEtNDFsNDEtMTUtMzEuMy04Ni4yYy01OS40IDUuMi0xMTYuMi0zNC0xMzAtOTUuMkwzMjAgMTg4LjhsLTE0LjYgNjQuN2MtMTMuOCA2MS4zLTcwLjYgMTAwLjQtMTMwIDk1LjJsLTMxLjMgODYuMiA0MSAxNWMxNi42IDYgMjUuMiAyNC40IDE5LjEgNDFzLTI0LjQgMjUuMi00MSAxOS4xTDkyLjIgNDg0LjEgMjEuMSA0NTguMmMtMTYuNi02LjEtMjUuMi0yNC40LTE5LjEtNDFzMjQuNC0yNS4yIDQxLTE5LjFsNDEgMTUgMzEuMy04Ni4yQzY2LjUgMjkyLjUgNDguMSAyMjYgNzYuOSAxNzAuMkwxNTUuNiAxNy4zem00NCA1NC40bC0yNy4yIDUyLjhMMjYxLjYgMTU3bDEzLjEtNTcuOUwxOTkuNiA3MS43em0yNDAuOSAwTDM2NS40IDk5LjEgMzc4LjUgMTU3bDg5LjItMzIuNUw0NDAuNSA3MS43elwiXVxufTtcbnZhciBmYUdsYXNzQ2hlZXJzID0gZmFDaGFtcGFnbmVHbGFzc2VzO1xudmFyIGZhQ2xpcGJvYXJkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NsaXBib2FyZCcsXG4gIGljb246IFszODQsIDUxMiwgWzEyODIwM10sIFwiZjMyOFwiLCBcIk0xOTIgMGMtNDEuOCAwLTc3LjQgMjYuNy05MC41IDY0SDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzMjBjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0SDI4Mi41QzI2OS40IDI2LjcgMjMzLjggMCAxOTIgMHptMCA2NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTExMiAxOTJIMjcyYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDExMmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFIb3VzZUNpcmNsZUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLWNpcmNsZS1leGNsYW1hdGlvbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUwYVwiLCBcIk0zMjAuNyAzNTJjOC4xLTg5LjcgODMuNS0xNjAgMTc1LjMtMTYwYzguOSAwIDE3LjYgLjcgMjYuMSAxLjlMMzA5LjUgN2MtNi01LTE0LTctMjEtN3MtMTUgMS0yMiA4TDEwIDIzMS41Yy03IDctMTAgMTUtMTAgMjRjMCAxOCAxNCAzMi4xIDMyIDMyLjFoMzJ2NjkuN2MtLjEgLjktLjEgMS44LS4xIDIuOFY0NzJjMCAyMi4xIDE3LjkgNDAgNDAgNDBoMTZjMS4yIDAgMi40LS4xIDMuNi0uMmMxLjUgLjEgMyAuMiA0LjUgLjJIMTYwaDI0YzIyLjEgMCA0MC0xNy45IDQwLTQwVjQ0OCAzODRjMC0xNy43IDE0LjMtMzIgMzItMzJoNjRsLjcgMHpNNDk2IDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtOTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0wLTE0NGM4LjggMCAxNiA3LjIgMTYgMTZ2ODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWMjg4YzAtOC44IDcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFGaWxlQXJyb3dVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLWFycm93LXVwJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXCJmaWxlLXVwbG9hZFwiXSwgXCJmNTc0XCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzMjBjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTYwSDI1NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMEg2NHpNMjU2IDBWMTI4SDM4NEwyNTYgMHpNMjE2IDQwOGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYzMDUuOWwtMzEgMzFjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNzItNzJjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsNzIgNzJjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtMzEtMzFWNDA4elwiXVxufTtcbnZhciBmYUZpbGVVcGxvYWQgPSBmYUZpbGVBcnJvd1VwO1xudmFyIGZhV2lmaSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3aWZpJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJ3aWZpLTNcIiwgXCJ3aWZpLXN0cm9uZ1wiXSwgXCJmMWViXCIsIFwiTTU0LjIgMjAyLjlDMTIzLjIgMTM2LjcgMjE2LjggOTYgMzIwIDk2czE5Ni44IDQwLjcgMjY1LjggMTA2LjljMTIuOCAxMi4yIDMzIDExLjggNDUuMi0uOXMxMS44LTMzLS45LTQ1LjJDNTQ5LjcgNzkuNSA0NDAuNCAzMiAzMjAgMzJTOTAuMyA3OS41IDkuOCAxNTYuN0MtMi45IDE2OS0zLjMgMTg5LjIgOC45IDIwMnMzMi41IDEzLjIgNDUuMiAuOXpNMzIwIDI1NmM1Ni44IDAgMTA4LjYgMjEuMSAxNDguMiA1NmMxMy4zIDExLjcgMzMuNSAxMC40IDQ1LjItMi44czEwLjQtMzMuNS0yLjgtNDUuMkM0NTkuOCAyMTkuMiAzOTMgMTkyIDMyMCAxOTJzLTEzOS44IDI3LjItMTkwLjUgNzJjLTEzLjMgMTEuNy0xNC41IDMxLjktMi44IDQ1LjJzMzEuOSAxNC41IDQ1LjIgMi44YzM5LjUtMzQuOSA5MS4zLTU2IDE0OC4yLTU2em02NCAxNjBhNjQgNjQgMCAxIDAgLTEyOCAwIDY0IDY0IDAgMSAwIDEyOCAwelwiXVxufTtcbnZhciBmYVdpZmkzID0gZmFXaWZpO1xudmFyIGZhV2lmaVN0cm9uZyA9IGZhV2lmaTtcbnZhciBmYUJhdGggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmF0aCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODcwNSwgXCJiYXRodHViXCJdLCBcImYyY2RcIiwgXCJNOTYgNzcuM2MwLTcuMyA1LjktMTMuMyAxMy4zLTEzLjNjMy41IDAgNi45IDEuNCA5LjQgMy45bDE0LjkgMTQuOUMxMzAgOTEuOCAxMjggMTAxLjcgMTI4IDExMmMwIDE5LjkgNy4yIDM4IDE5LjIgNTJjLTUuMyA5LjItNCAyMS4xIDMuOCAyOWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMEwyODkgODljOS40LTkuNCA5LjQtMjQuNiAwLTMzLjljLTcuOS03LjktMTkuOC05LjEtMjktMy44QzI0NiAzOS4yIDIyNy45IDMyIDIwOCAzMmMtMTAuMyAwLTIwLjIgMi0yOS4yIDUuNUwxNjMuOSAyMi42QzE0OS40IDguMSAxMjkuNyAwIDEwOS4zIDBDNjYuNiAwIDMyIDM0LjYgMzIgNzcuM1YyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDk2Vjc3LjN6TTMyIDM1MnYxNmMwIDI4LjQgMTIuNCA1NCAzMiA3MS42VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjQ2NEgzODR2MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlY0MzkuNmMxOS42LTE3LjYgMzItNDMuMSAzMi03MS42VjM1MkgzMnpcIl1cbn07XG52YXIgZmFCYXRodHViID0gZmFCYXRoO1xudmFyIGZhVW5kZXJsaW5lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VuZGVybGluZScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjBjZFwiLCBcIk0xNiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmg5NmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgxMjhWMjI0YzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZWOTZIMzA0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyaDk2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDM4NFYyMjRjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBzLTE2MC03MS42LTE2MC0xNjBWOTZINDhDMzAuMyA5NiAxNiA4MS43IDE2IDY0ek0wIDQ0OGMwLTE3LjcgMTQuMy0zMiAzMi0zMkg0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyelwiXVxufTtcbnZhciBmYVVzZXJQZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1wZW4nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInVzZXItZWRpdFwiXSwgXCJmNGZmXCIsIFwiTTIyNCAyNTZBMTI4IDEyOCAwIDEgMCAyMjQgMGExMjggMTI4IDAgMSAwIDAgMjU2em0tNDUuNyA0OEM3OS44IDMwNCAwIDM4My44IDAgNDgyLjNDMCA0OTguNyAxMy4zIDUxMiAyOS43IDUxMkgzMjIuOGMtMy4xLTguOC0zLjctMTguNC0xLjQtMjcuOGwxNS02MC4xYzIuOC0xMS4zIDguNi0yMS41IDE2LjgtMjkuN2w0MC4zLTQwLjNjLTMyLjEtMzEtNzUuNy01MC4xLTEyMy45LTUwLjFIMTc4LjN6bTQzNS41LTY4LjNjLTE1LjYtMTUuNi00MC45LTE1LjYtNTYuNiAwbC0yOS40IDI5LjQgNzEgNzEgMjkuNC0yOS40YzE1LjYtMTUuNiAxNS42LTQwLjkgMC01Ni42bC0xNC40LTE0LjR6TTM3NS45IDQxN2MtNC4xIDQuMS03IDkuMi04LjQgMTQuOWwtMTUgNjAuMWMtMS40IDUuNSAuMiAxMS4yIDQuMiAxNS4yczkuNyA1LjYgMTUuMiA0LjJsNjAuMS0xNWM1LjYtMS40IDEwLjgtNC4zIDE0LjktOC40TDU3Ni4xIDM1OC43bC03MS03MUwzNzUuOSA0MTd6XCJdXG59O1xudmFyIGZhVXNlckVkaXQgPSBmYVVzZXJQZW47XG52YXIgZmFTaWduYXR1cmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2lnbmF0dXJlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNWI3XCIsIFwiTTE5MiAxMjhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnY3LjhjMCAyNy43LTIuNCA1NS4zLTcuMSA4Mi41bC04NC40IDI1LjNjLTQwLjYgMTIuMi02OC40IDQ5LjYtNjguNCA5MnY3MS45YzAgNDAgMzIuNSA3Mi41IDcyLjUgNzIuNWMyNiAwIDUwLTEzLjkgNjIuOS0zNi41bDEzLjktMjQuM2MyNi44LTQ3IDQ2LjUtOTcuNyA1OC40LTE1MC41bDk0LjQtMjguMy0xMi41IDM3LjVjLTMuMyA5LjgtMS42IDIwLjUgNC40IDI4LjhzMTUuNyAxMy4zIDI2IDEzLjNINTQ0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDQ2MC40bDE4LTUzLjljMy44LTExLjMgLjktMjMuOC03LjQtMzIuNHMtMjAuNy0xMS44LTMyLjItOC40TDMxNi40IDE5OC4xYzIuNC0yMC43IDMuNi00MS40IDMuNi02Mi4zVjEyOGMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NnYzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjEyOHptLTkuMiAxNzdsNDktMTQuN2MtMTAuNCAzMy44LTI0LjUgNjYuNC00Mi4xIDk3LjJsLTEzLjkgMjQuM2MtMS41IDIuNi00LjMgNC4zLTcuNCA0LjNjLTQuNyAwLTguNS0zLjgtOC41LTguNVYzMzUuNmMwLTE0LjEgOS4zLTI2LjYgMjIuOC0zMC43ek0yNCAzNjhjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRINjQuM2MtLjItMi44LS4zLTUuNi0uMy04LjVWMzY4SDI0em01OTIgNDhjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRIMzA1LjljLTYuNyAxNi4zLTE0LjIgMzIuMy0yMi4zIDQ4SDYxNnpcIl1cbn07XG52YXIgZmFTdHJvb3B3YWZlbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdHJvb3B3YWZlbCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjU1MVwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6TTMxMi42IDYzLjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwTDI1NiA5Ny42IDIyMi4xIDYzLjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsMzMuOSAzMy45LTQ1LjMgNDUuMy01Ni42LTU2LjZjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsNTYuNiA1Ni42LTQ1LjMgNDUuM0w4Ni4zIDE5OS40Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42TDk3LjYgMjU2IDYzLjcgMjg5LjljLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGwzMy45LTMzLjkgNDUuMyA0NS4zLTU2LjYgNTYuNmMtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwbDU2LjYtNTYuNiA0NS4zIDQ1LjMtMzMuOSAzMy45Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBMMjU2IDQxNC40bDMzLjkgMzMuOWM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTMzLjktMzMuOSA0NS4zLTQ1LjMgNTYuNiA1Ni42YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNTYuNi01Ni42IDQ1LjMtNDUuMyAzMy45IDMzLjljNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42TDQxNC40IDI1NmwzMy45LTMzLjljNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZzLTE2LjQtNi4yLTIyLjYgMGwtMzMuOSAzMy45LTQ1LjMtNDUuMyA1Ni42LTU2LjZjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZzLTE2LjQtNi4yLTIyLjYgMGwtNTYuNiA1Ni42LTQ1LjMtNDUuMyAzMy45LTMzLjljNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZ6TTE0Mi45IDI1Nmw0NS4zLTQ1LjNMMjMzLjQgMjU2bC00NS4zIDQ1LjNMMTQyLjkgMjU2em02Ny45IDY3LjlMMjU2IDI3OC42bDQ1LjMgNDUuM0wyNTYgMzY5LjFsLTQ1LjMtNDUuM3pNMjc4LjYgMjU2bDQ1LjMtNDUuM0wzNjkuMSAyNTZsLTQ1LjMgNDUuM0wyNzguNiAyNTZ6bTIyLjYtNjcuOUwyNTYgMjMzLjRsLTQ1LjMtNDUuM0wyNTYgMTQyLjlsNDUuMyA0NS4zelwiXVxufTtcbnZhciBmYUJvbGQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9sZCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjAzMlwiLCBcIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMySDgwIDk2IDIyNGM3MC43IDAgMTI4IDU3LjMgMTI4IDEyOGMwIDMxLjMtMTEuMyA2MC4xLTMwIDgyLjNjMzcuMSAyMi40IDYyIDYzLjEgNjIgMTA5LjdjMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhIOTYgODAgMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJINDhWMjU2IDk2SDMyQzE0LjMgOTYgMCA4MS43IDAgNjR6TTIyNCAyMjRjMzUuMyAwIDY0LTI4LjcgNjQtNjRzLTI4LjctNjQtNjQtNjRIMTEyVjIyNEgyMjR6TTExMiAyODhWNDE2SDI1NmMzNS4zIDAgNjQtMjguNyA2NC02NHMtMjguNy02NC02NC02NEgyMjQgMTEyelwiXVxufTtcbnZhciBmYUFuY2hvckxvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5jaG9yLWxvY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0YWRcIiwgXCJNMzIwIDk2YTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6bTIxLjEgODBDMzY3IDE1OC44IDM4NCAxMjkuNCAzODQgOTZjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZjMCAzMy40IDE3IDYyLjggNDIuOSA4MEgyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoMzJWNDQ4SDIwOGMtNTMgMC05Ni00My05Ni05NnYtNi4xbDcgN2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMOTcgMjYzYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMEw3IDMxOWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDctN1YzNTJjMCA4OC40IDcxLjYgMTYwIDE2MCAxNjBoODAgODBjOCAwIDE1LjktLjYgMjMuNi0xLjdjLTQuOC05LTcuNi0xOS4zLTcuNi0zMC4zVjQ0Ni43Yy01LjIgLjktMTAuNSAxLjMtMTYgMS4zSDMyMFYyNDBoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzQxLjF6TTUyOCAyNDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2NDhINDk2VjI3MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptLTgwIDMydjQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMlY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJINjA4YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM1MmMwLTE3LjctMTQuMy0zMi0zMi0zMlYyNzJjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODB6XCJdXG59O1xudmFyIGZhQnVpbGRpbmdOZ28gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVpbGRpbmctbmdvJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlNGQ3XCIsIFwiTTQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4VjQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGg5NlY0MzJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OHY4MGg5NmMyNi41IDAgNDgtMjEuNSA0OC00OFY0OGMwLTI2LjUtMjEuNS00OC00OC00OEg0OHpNNjQgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZWMjQwem0xMTItMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYyNDBjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgyNzJjLTguOCAwLTE2LTcuMi0xNi0xNlYyNDB6TTE2OCA2NGg0OGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgxODR2NjRoMTZWMTQ0YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ2MjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRIMTc2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNFY4MGMwLTguOCA3LjItMTYgMTYtMTZ6TTMwNCA5NmMtOC44IDAtMTYgNy4yLTE2IDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMTEyYzAtOC44LTcuMi0xNi0xNi0xNnptLTQ4IDE2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDh2MzJjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhWMTEyek02MS4zIDcxLjFsMzQuNyA1MlY4MGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2djk2YzAgNy4xLTQuNiAxMy4zLTExLjQgMTUuM3MtMTQtLjYtMTcuOS02LjRMNjQgMTMyLjhWMTc2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjgwYzAtNy4xIDQuNi0xMy4zIDExLjQtMTUuM3MxNCAuNiAxNy45IDYuNHpcIl1cbn07XG52YXIgZmFNYW5hdFNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFuYXQtc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTFkNVwiLCBcIk0xOTIgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyVjk4LjdDNjkuMiAxMTMuOSAwIDE5Mi45IDAgMjg4VjQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjI4OGMwLTU5LjYgNDAuOC0xMDkuOCA5Ni0xMjRWNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMTY0YzU1LjIgMTQuMiA5NiA2NC4zIDk2IDEyNFY0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyODhjMC05NS4xLTY5LjItMTc0LjEtMTYwLTE4OS4zVjY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyelwiXVxufTtcbnZhciBmYU5vdEVxdWFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ25vdC1lcXVhbCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjUzZVwiLCBcIk0zNjkuOCAzNy40YzE0LjcgOS44IDE4LjcgMjkuNyA4LjkgNDQuNEwzMzcuMSAxNDRINDAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDI5NC41bC02NCA5Nkg0MDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMTg3LjhsLTY1LjIgOTcuN2MtOS44IDE0LjctMjkuNyAxOC43LTQ0LjQgOC45cy0xOC43LTI5LjctOC45LTQ0LjRMMTEwLjkgMzY4SDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDE1My41bDY0LTk2SDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDI2MC4ybDY1LjItOTcuN2M5LjgtMTQuNyAyOS43LTE4LjcgNDQuNC04Ljl6XCJdXG59O1xudmFyIGZhQm9yZGVyVG9wTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3JkZXItdG9wLWxlZnQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImJvcmRlci1zdHlsZVwiXSwgXCJmODUzXCIsIFwiTTAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMzZjMC04LjggNy4yLTE2IDE2LTE2bDMzNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDgwIDMyQzM1LjggMzIgMCA2Ny44IDAgMTEyTDAgNDQ4em0xNjAgMGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0xOTIgMGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0tOTYgMGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0xOTIgMGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek00MTYgMjg4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMCAzMmEzMiAzMiAwIDEgMCAwIDY0IDMyIDMyIDAgMSAwIDAtNjR6bTAtMTI4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG52YXIgZmFCb3JkZXJTdHlsZSA9IGZhQm9yZGVyVG9wTGVmdDtcbnZhciBmYU1hcExvY2F0aW9uRG90ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hcC1sb2NhdGlvbi1kb3QnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcIm1hcC1tYXJrZWQtYWx0XCJdLCBcImY1YTBcIiwgXCJNNDA4IDEyMGMwIDU0LjYtNzMuMSAxNTEuOS0xMDUuMiAxOTJjLTcuNyA5LjYtMjIgOS42LTI5LjYgMEMyNDEuMSAyNzEuOSAxNjggMTc0LjYgMTY4IDEyMEMxNjggNTMuNyAyMjEuNyAwIDI4OCAwczEyMCA1My43IDEyMCAxMjB6bTggODAuNGMzLjUtNi45IDYuNy0xMy44IDkuNi0yMC42Yy41LTEuMiAxLTIuNSAxLjUtMy43bDExNi00Ni40QzU1OC45IDEyMy40IDU3NiAxMzUgNTc2IDE1MlY0MjIuOGMwIDkuOC02IDE4LjYtMTUuMSAyMi4zTDQxNiA1MDNWMjAwLjR6TTEzNy42IDEzOC4zYzIuNCAxNC4xIDcuMiAyOC4zIDEyLjggNDEuNWMyLjkgNi44IDYuMSAxMy43IDkuNiAyMC42VjQ1MS44TDMyLjkgNTAyLjdDMTcuMSA1MDkgMCA0OTcuNCAwIDQ4MC40VjIwOS42YzAtOS44IDYtMTguNiAxNS4xLTIyLjNsMTIyLjYtNDl6TTMyNy44IDMzMmMxMy45LTE3LjQgMzUuNy00NS43IDU2LjItNzdWNTA0LjNMMTkyIDQ0OS40VjI1NWMyMC41IDMxLjMgNDIuMyA1OS42IDU2LjIgNzdjMjAuNSAyNS42IDU5LjEgMjUuNiA3OS42IDB6TTI4OCAxNTJhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwelwiXVxufTtcbnZhciBmYU1hcE1hcmtlZEFsdCA9IGZhTWFwTG9jYXRpb25Eb3Q7XG52YXIgZmFKZWRpID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2plZGknLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY2NjlcIiwgXCJNMjQ2IDMxNS43bC0yMS4yLTMxLjljLTIuMS0zLjItMS43LTcuNCAxLTEwLjFzNi45LTMuMSAxMC4xLTFsMjkuNSAxOS43YzIuMSAxLjQgNC45IDAgNS0yLjZMMjc5LjcgOGMuMS00LjUgMy44LTggOC4zLThzOC4xIDMuNSA4LjMgOGw5LjQgMjgxLjljLjEgMi41IDIuOSAzLjkgNSAyLjZsMjkuNS0xOS43YzMuMi0yLjEgNy40LTEuNyAxMC4xIDFzMy4xIDYuOSAxIDEwLjFMMzMwIDMxNS43Yy0xLjMgMS45LS4yIDQuNSAyIDQuOWwzNy42IDcuNWMzLjcgLjcgNi40IDQgNi40IDcuOHMtMi43IDcuMS02LjQgNy44TDMzMiAzNTEuNGMtMi4yIC40LTMuMyAzLTIgNC45bDIxLjIgMzEuOWMyLjEgMy4yIDEuNyA3LjQtMSAxMC4xcy02LjkgMy4xLTEwLjEgMWwtMjYuMy0xNy42Yy0yLjItMS40LTUuMSAuMi01IDIuOGwyLjEgNjEuNUMzNzAuNiA0MzUuMiA0MTYgMzgyLjkgNDE2IDMyMGMwLTM3LTE1LjctNzAuNC00MC44LTkzLjdjLTctNi41LTYuNS0xOC42IDEtMjQuNEM0MTAuMSAxNzUuNSA0MzIgMTM0LjMgNDMyIDg4YzAtMTYuOC0yLjktMzMtOC4yLTQ4Yy00LjYtMTMgMTAuMi0zMCAyMS40LTIyYzUzLjUgMzggOTIuNyA5NC44IDEwNy44IDE2MC43Yy41IDIuMS0uMiA0LjMtMS43IDUuOWwtMjguNCAyOC40Yy00IDQtMS4yIDEwLjkgNC41IDEwLjloMjZjMy40IDAgNi4yIDIuNiA2LjMgNmMuMSAzLjMgLjIgNi42IC4yIDEwYzAgMTcuNS0xLjcgMzQuNy00LjggNTEuM2MtLjIgMS4yLS45IDIuNC0xLjcgMy4zbC00Ni41IDQ2LjVjLTQgNC0xLjIgMTAuOSA0LjUgMTAuOUg1MjZjNC42IDAgNy43IDQuOCA1LjcgOUM0ODcuMiA0NTAuNSAzOTQuOCA1MTIgMjg4IDUxMlM4OC44IDQ1MC41IDQ0LjMgMzYxYy0yLjEtNC4yIDEtOSA1LjctOUg2NC41YzUuNyAwIDguNi02LjkgNC41LTEwLjlMMjIuNiAyOTQuNmMtLjktLjktMS41LTItMS43LTMuM0MxNy43IDI3NC43IDE2IDI1Ny41IDE2IDI0MGMwLTMuMyAuMS02LjcgLjItMTBjLjEtMy40IDIuOS02IDYuMy02aDI2YzUuNyAwIDguNi02LjkgNC41LTEwLjlMMjQuNiAxODQuNmMtMS41LTEuNS0yLjItMy44LTEuNy01LjlDMzguMSAxMTIuOCA3Ny4zIDU2IDEzMC44IDE4YzExLjMtOCAyNiA4LjkgMjEuNCAyMmMtNS4zIDE1LTguMiAzMS4yLTguMiA0OGMwIDQ2LjMgMjEuOSA4Ny41IDU1LjggMTEzLjljNy41IDUuOCA4IDE3LjkgMSAyNC40QzE3NS43IDI0OS42IDE2MCAyODMgMTYwIDMyMGMwIDYyLjkgNDUuNCAxMTUuMiAxMDUuMSAxMjZsMi4xLTYxLjVjLjEtMi42LTIuOC00LjItNS0yLjhsLTI2LjMgMTcuNmMtMy4yIDIuMS03LjQgMS43LTEwLjEtMXMtMy4xLTYuOS0xLTEwLjFMMjQ2IDM1Ni4zYzEuMy0xLjkgLjItNC41LTItNC45bC0zNy42LTcuNWMtMy43LS43LTYuNC00LTYuNC03LjhzMi43LTcuMSA2LjQtNy44bDM3LjYtNy41YzIuMi0uNCAzLjMtMyAyLTQuOXpcIl1cbn07XG52YXIgZmFTcXVhcmVQb2xsVmVydGljYWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLXBvbGwtdmVydGljYWwnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcInBvbGxcIl0sIFwiZjY4MVwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEgzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6bTY0IDE5MmMxNy43IDAgMzIgMTQuMyAzMiAzMnY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYyNTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTY0LTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJWMzUyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjE2MHpNMzIwIDI4OGMxNy43IDAgMzIgMTQuMyAzMiAzMnYzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzMjBjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xudmFyIGZhUG9sbCA9IGZhU3F1YXJlUG9sbFZlcnRpY2FsO1xudmFyIGZhTXVnSG90ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ211Zy1ob3QnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5NzQ5XSwgXCJmN2I2XCIsIFwiTTg4IDBDNzQuNyAwIDY0IDEwLjcgNjQgMjRjMCAzOC45IDIzLjQgNTkuNCAzOS4xIDczLjFsMS4xIDFDMTIwLjUgMTEyLjMgMTI4IDExOS45IDEyOCAxMzZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTM4LjktMjMuNC01OS40LTM5LjEtNzMuMWwtMS4xLTFDMTE5LjUgNDcuNyAxMTIgNDAuMSAxMTIgMjRjMC0xMy4zLTEwLjctMjQtMjQtMjR6TTMyIDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJWNDE2YzAgNTMgNDMgOTYgOTYgOTZIMjg4YzUzIDAgOTYtNDMgOTYtOTZoMTZjNjEuOSAwIDExMi01MC4xIDExMi0xMTJzLTUwLjEtMTEyLTExMi0xMTJIMzUyIDMyem0zNTIgNjRoMTZjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhIMzg0VjI1NnpNMjI0IDI0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0YzAgMzguOSAyMy40IDU5LjQgMzkuMSA3My4xbDEuMSAxQzIzMi41IDExMi4zIDI0MCAxMTkuOSAyNDAgMTM2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zOC45LTIzLjQtNTkuNC0zOS4xLTczLjFsLTEuMS0xQzIzMS41IDQ3LjcgMjI0IDQwLjEgMjI0IDI0elwiXVxufTtcbnZhciBmYUNhckJhdHRlcnkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FyLWJhdHRlcnknLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImJhdHRlcnktY2FyXCJdLCBcImY1ZGZcIiwgXCJNODAgOTZjMC0xNy43IDE0LjMtMzIgMzItMzJoNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJsOTYgMGMwLTE3LjcgMTQuMy0zMiAzMi0zMmg2NGMxNy43IDAgMzIgMTQuMyAzMiAzMmgxNmMzNS4zIDAgNjQgMjguNyA2NCA2NFYzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjE2MGMwLTM1LjMgMjguNy02NCA2NC02NGwxNiAwem0zMDQgOTZjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZ2MzJIMzIwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2aDMydjMyYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMjU2aDMyYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDM4NFYxOTJ6TTgwIDI0MGMwIDguOCA3LjIgMTYgMTYgMTZoOTZjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIOTZjLTguOCAwLTE2IDcuMi0xNiAxNnpcIl1cbn07XG52YXIgZmFCYXR0ZXJ5Q2FyID0gZmFDYXJCYXR0ZXJ5O1xudmFyIGZhR2lmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnaWZ0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3ODczXSwgXCJmMDZiXCIsIFwiTTE5MC41IDY4LjhMMjI1LjMgMTI4SDIyNCAxNTJjLTIyLjEgMC00MC0xNy45LTQwLTQwczE3LjktNDAgNDAtNDBoMi4yYzE0LjkgMCAyOC44IDcuOSAzNi4zIDIwLjh6TTY0IDg4YzAgMTQuNCAzLjUgMjggOS42IDQwSDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnY2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMkg0ODBjMTcuNyAwIDMyLTE0LjMgMzItMzJWMTYwYzAtMTcuNy0xNC4zLTMyLTMyLTMySDQzOC40YzYuMS0xMiA5LjYtMjUuNiA5LjYtNDBjMC00OC42LTM5LjQtODgtODgtODhoLTIuMmMtMzEuOSAwLTYxLjUgMTYuOS03Ny43IDQ0LjRMMjU2IDg1LjVsLTI0LjEtNDFDMjE1LjcgMTYuOSAxODYuMSAwIDE1NC4yIDBIMTUyQzEwMy40IDAgNjQgMzkuNCA2NCA4OHptMzM2IDBjMCAyMi4xLTE3LjkgNDAtNDAgNDBIMjg4aC0xLjNsMzQuOC01OS4yQzMyOS4xIDU1LjkgMzQyLjkgNDggMzU3LjggNDhIMzYwYzIyLjEgMCA0MCAxNy45IDQwIDQwek0zMiAyODhWNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDIyNFYyODhIMzJ6TTI4OCA1MTJINDMyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjI4OEgyODhWNTEyelwiXVxufTtcbnZhciBmYURpY2VUd28gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGljZS10d28nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5ODU3XSwgXCJmNTI4XCIsIFwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJIMzg0YzM1LjMgMCA2NCAyOC43IDY0IDY0VjQxNmMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWOTZ6TTM1MiAzNTJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMTI4IDE5MmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xudmFyIGZhQ2hlc3NRdWVlbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGVzcy1xdWVlbicsXG4gIGljb246IFs1MTIsIDUxMiwgWzk4MTldLCBcImY0NDVcIiwgXCJNMjU2IDBhNTYgNTYgMCAxIDEgMCAxMTJBNTYgNTYgMCAxIDEgMjU2IDB6TTEzNC4xIDE0My44YzMuMy0xMyAxNS0yMy44IDMwLjItMjMuOGMxMi4zIDAgMjIuNiA3LjIgMjcuNyAxN2MxMiAyMy4yIDM2LjIgMzkgNjQgMzlzNTItMTUuOCA2NC0zOWM1LjEtOS44IDE1LjQtMTcgMjcuNy0xN2MxNS4zIDAgMjcgMTAuOCAzMC4yIDIzLjhjNyAyNy44IDMyLjIgNDguMyA2Mi4xIDQ4LjNjMTAuOCAwIDIxLTIuNyAyOS44LTcuNGM4LjQtNC40IDE4LjktNC41IDI3LjYgLjljMTMgOCAxNy4xIDI1IDkuMiAzOEwzOTkuNyA0MDBIMzg0IDM0My42IDE2OC40IDEyOCAxMTIuM0w1LjQgMjIzLjZjLTcuOS0xMy0zLjgtMzAgOS4yLTM4YzguNy01LjMgMTkuMi01LjMgMjcuNi0uOWM4LjkgNC43IDE5IDcuNCAyOS44IDcuNGMyOS45IDAgNTUuMS0yMC41IDYyLjEtNDguM3pNMjU2IDIyNGwwIDAgMCAwaDB6TTExMiA0MzJINDAwbDQxLjQgNDEuNGM0LjIgNC4yIDYuNiAxMCA2LjYgMTZjMCAxMi41LTEwLjEgMjIuNi0yMi42IDIyLjZIODYuNkM3NC4xIDUxMiA2NCA1MDEuOSA2NCA0ODkuNGMwLTYgMi40LTExLjggNi42LTE2TDExMiA0MzJ6XCJdXG59O1xudmFyIGZhR2xhc3NlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnbGFzc2VzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNTMwXCIsIFwiTTExOC42IDgwYy0xMS41IDAtMjEuNCA3LjktMjQgMTkuMUw1NyAyNjAuM2MyMC41LTYuMiA0OC4zLTEyLjMgNzguNy0xMi4zYzMyLjMgMCA2MS44IDYuOSA4Mi44IDEzLjVjMTAuNiAzLjMgMTkuMyA2LjcgMjUuNCA5LjJjMy4xIDEuMyA1LjUgMi40IDcuMyAzLjJjLjkgLjQgMS42IC43IDIuMSAxbC42IC4zIC4yIC4xIC4xIDAgMCAwIDAgMHMwIDAtNi4zIDEyLjdoMGw2LjMtMTIuN2M1LjggMi45IDEwLjQgNy4zIDEzLjUgMTIuN2g0MC42YzMuMS01LjMgNy43LTkuOCAxMy41LTEyLjdsNi4zIDEyLjdoMGMtNi4zLTEyLjctNi4zLTEyLjctNi4zLTEyLjdsMCAwIDAgMCAuMSAwIC4yLS4xIC42LS4zYy41LS4yIDEuMi0uNiAyLjEtMWMxLjgtLjggNC4yLTEuOSA3LjMtMy4yYzYuMS0yLjYgMTQuOC01LjkgMjUuNC05LjJjMjEtNi42IDUwLjQtMTMuNSA4Mi44LTEzLjVjMzAuNCAwIDU4LjIgNi4xIDc4LjcgMTIuM0w0ODEuNCA5OS4xYy0yLjYtMTEuMi0xMi42LTE5LjEtMjQtMTkuMWMtMy4xIDAtNi4yIC42LTkuMiAxLjhMNDE2LjkgOTQuM2MtMTIuMyA0LjktMjYuMy0xLjEtMzEuMi0xMy40czEuMS0yNi4zIDEzLjQtMzEuMmwzMS4zLTEyLjVjOC42LTMuNCAxNy43LTUuMiAyNy01LjJjMzMuOCAwIDYzLjEgMjMuMyA3MC44IDU2LjJsNDMuOSAxODhjMS43IDcuMyAyLjkgMTQuNyAzLjUgMjIuMWMuMyAxLjkgLjUgMy44IC41IDUuN3Y2LjdWMzUydjE2YzAgNjEuOS01MC4xIDExMi0xMTIgMTEySDQxOS43Yy01OS40IDAtMTA4LjUtNDYuNC0xMTEuOC0xMDUuOEwzMDYuNiAzNTJIMjY5LjRsLTEuMiAyMi4yQzI2NC45IDQzMy42IDIxNS44IDQ4MCAxNTYuMyA0ODBIMTEyQzUwLjEgNDgwIDAgNDI5LjkgMCAzNjhWMzUyIDMxMC43IDMwNGMwLTEuOSAuMi0zLjggLjUtNS43Yy42LTcuNCAxLjgtMTQuOCAzLjUtMjIuMWw0My45LTE4OEM1NS41IDU1LjMgODQuOCAzMiAxMTguNiAzMmM5LjIgMCAxOC40IDEuOCAyNyA1LjJsMzEuMyAxMi41YzEyLjMgNC45IDE4LjMgMTguOSAxMy40IDMxLjJzLTE4LjkgMTguMy0zMS4yIDEzLjRMMTI3LjggODEuOGMtMi45LTEuMi02LTEuOC05LjItMS44ek02NCAzMjUuNFYzNjhjMCAyNi41IDIxLjUgNDggNDggNDhoNDQuM2MyNS41IDAgNDYuNS0xOS45IDQ3LjktNDUuM2wyLjUtNDUuNmMtMi4zLS44LTQuOS0xLjctNy41LTIuNWMtMTcuMi01LjQtMzkuOS0xMC41LTYzLjYtMTAuNWMtMjMuNyAwLTQ2LjIgNS4xLTYzLjIgMTAuNWMtMy4xIDEtNS45IDEuOS04LjUgMi45ek01MTIgMzY4VjMyNS40Yy0yLjYtLjktNS41LTEuOS04LjUtMi45Yy0xNy01LjQtMzkuNS0xMC41LTYzLjItMTAuNWMtMjMuNyAwLTQ2LjQgNS4xLTYzLjYgMTAuNWMtMi43IC44LTUuMiAxLjctNy41IDIuNWwyLjUgNDUuNmMxLjQgMjUuNCAyMi41IDQ1LjMgNDcuOSA0NS4zSDQ2NGMyNi41IDAgNDgtMjEuNSA0OC00OHpcIl1cbn07XG52YXIgZmFDaGVzc0JvYXJkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZXNzLWJvYXJkJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmNDNjXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDM4NGMzNS4zIDAgNjQtMjguNyA2NC02NFY5NmMwLTM1LjMtMjguNy02NC02NC02NEg2NHptNjQgNjR2NjRoNjRWOTZoNjR2NjRoNjRWOTZoNjR2NjRIMzIwdjY0aDY0djY0SDMyMHY2NGg2NHY2NEgzMjBWMzUySDI1NnY2NEgxOTJWMzUySDEyOHY2NEg2NFYzNTJoNjRWMjg4SDY0VjIyNGg2NFYxNjBINjRWOTZoNjR6bTY0IDEyOGg2NFYxNjBIMTkydjY0em0wIDY0VjIyNEgxMjh2NjRoNjR6bTY0IDBIMTkydjY0aDY0VjI4OHptMCAwaDY0VjIyNEgyNTZ2NjR6XCJdXG59O1xudmFyIGZhQnVpbGRpbmdDaXJjbGVDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidWlsZGluZy1jaXJjbGUtY2hlY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZDJcIiwgXCJNNDggMEMyMS41IDAgMCAyMS41IDAgNDhWNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDk2VjQzMmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4djgwaDk2YzE1LjEgMCAyOC41LTYuOSAzNy4zLTE3LjhDMzQwLjQgNDYyLjIgMzIwIDQxNy41IDMyMCAzNjhjMC01NC43IDI0LjktMTAzLjUgNjQtMTM1LjhWNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhINDh6TTY0IDI0MGMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjI0MHptMTEyLTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMTc2Yy04LjggMC0xNi03LjItMTYtMTZWMjQwYzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTZjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMjcyYy04LjggMC0xNi03LjItMTYtMTZWMjQwek04MCA5NmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZWMTEyYzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTZjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMTc2Yy04LjggMC0xNi03LjItMTYtMTZWMTEyek0yNzIgOTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgyNzJjLTguOCAwLTE2LTcuMi0xNi0xNlYxMTJjMC04LjggNy4yLTE2IDE2LTE2ek02NDAgMzY4YTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS03Ni43LTQzLjNjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZsLTcyIDcyYy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMGwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMEw0ODAgMzg1LjRsNjAuNy02MC43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwelwiXVxufTtcbnZhciBmYVBlcnNvbkNoYWxrYm9hcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWNoYWxrYm9hcmQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1M2RcIiwgXCJNMTkyIDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptLTggMzg0VjM1MmgxNlY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYxOTJoNTYgNjQgMTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzg0VjY0SDU3NlYyNTZIMzg0VjIyNEgzMjB2NDhjMCAyNi41IDIxLjUgNDggNDggNDhINTkyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDM2OGMtMjYuNSAwLTQ4IDIxLjUtNDggNDh2ODBIMjQzLjEgMTc3LjFjLTMzLjcgMC02NC45IDE3LjctODIuMyA0Ni42bC01OC4zIDk3Yy05LjEgMTUuMS00LjIgMzQuOCAxMC45IDQzLjlzMzQuOCA0LjIgNDMuOS0xMC45TDEyMCAyNTYuOVY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnpcIl1cbn07XG52YXIgZmFNYXJzU3Ryb2tlUmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFycy1zdHJva2UtcmlnaHQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFs5ODk3LCBcIm1hcnMtc3Ryb2tlLWhcIl0sIFwiZjIyYlwiLCBcIk0yMDggMzY4YTExMiAxMTIgMCAxIDAgMC0yMjQgMTEyIDExMiAwIDEgMCAwIDIyNHptMTc0LjQtODhDMzcwLjcgMzY1LjggMjk3LjEgNDMyIDIwOCA0MzJjLTk3LjIgMC0xNzYtNzguOC0xNzYtMTc2czc4LjgtMTc2IDE3Ni0xNzZjODkuMSAwIDE2Mi43IDY2LjIgMTc0LjQgMTUySDQxNlYxNzZjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHY1NmgzMlYxNzZjMC05LjcgNS44LTE4LjUgMTQuOC0yMi4yczE5LjMtMS43IDI2LjIgNS4ybDgwIDgwYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC04MCA4MGMtNi45IDYuOS0xNy4yIDguOS0yNi4yIDUuMnMtMTQuOC0xMi41LTE0LjgtMjIuMlYyODBINDY0djU2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0VjI4MEgzODIuNHpcIl1cbn07XG52YXIgZmFNYXJzU3Ryb2tlSCA9IGZhTWFyc1N0cm9rZVJpZ2h0O1xudmFyIGZhSGFuZEJhY2tGaXN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtYmFjay1maXN0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJoYW5kLXJvY2tcIl0sIFwiZjI1NVwiLCBcIk0xNDQgMEMxMTcuNSAwIDk2IDIxLjUgOTYgNDhWOTZ2MjguNVYxNzZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWMTQ5LjNsLTkgNy41QzQwLjQgMTY5IDMyIDE4NyAzMiAyMDZWMjQ0YzAgMzggMTYuOSA3NCA0Ni4xIDk4LjNMMTI4IDM4NHY5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMkgzMjBjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzc0LjdjNDYuOS0xOSA4MC02NSA4MC0xMTguN1YxNzYgMTYwIDE0NGMwLTI2LjUtMjEuNS00OC00OC00OGMtMTIuNCAwLTIzLjYgNC43LTMyLjEgMTIuM0MzNTAgODMuNSAzMjkuMyA2NCAzMDQgNjRjLTEyLjQgMC0yMy42IDQuNy0zMi4xIDEyLjNDMjcwIDUxLjUgMjQ5LjMgMzIgMjI0IDMyYy0xMi40IDAtMjMuNiA0LjctMzIuMSAxMi4zQzE5MCAxOS41IDE2OS4zIDAgMTQ0IDB6XCJdXG59O1xudmFyIGZhSGFuZFJvY2sgPSBmYUhhbmRCYWNrRmlzdDtcbnZhciBmYVNxdWFyZUNhcmV0VXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLWNhcmV0LXVwJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJjYXJldC1zcXVhcmUtdXBcIl0sIFwiZjE1MVwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEgzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6TTIyNCAxNjBjNi43IDAgMTMgMi44IDE3LjYgNy43bDEwNCAxMTJjNi41IDcgOC4yIDE3LjIgNC40IDI1LjlzLTEyLjUgMTQuNC0yMiAxNC40SDEyMGMtOS41IDAtMTguMi01LjctMjItMTQuNHMtMi4xLTE4LjkgNC40LTI1LjlsMTA0LTExMmM0LjUtNC45IDEwLjktNy43IDE3LjYtNy43elwiXVxufTtcbnZhciBmYUNhcmV0U3F1YXJlVXAgPSBmYVNxdWFyZUNhcmV0VXA7XG52YXIgZmFDbG91ZFNob3dlcnNXYXRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbG91ZC1zaG93ZXJzLXdhdGVyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGU0XCIsIFwiTTIyNCAwYzM4LjYgMCA3MS45IDIyLjggODcuMiA1NS43QzMyNS43IDQxLjEgMzQ1LjggMzIgMzY4IDMyYzM4LjcgMCA3MSAyNy41IDc4LjQgNjRINDQ4YzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0SDEyOGMtMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NGMwLTUzIDQzLTk2IDk2LTk2ek0xNDAuNiAyOTIuM2wtNDggODBjLTYuOCAxMS40LTIxLjYgMTUtMzIuOSA4LjJzLTE1LjEtMjEuNi04LjItMzIuOWw0OC04MGM2LjgtMTEuNCAyMS42LTE1LjEgMzIuOS04LjJzMTUuMSAyMS42IDguMiAzMi45em0zMjcuOC0zMi45YzExLjQgNi44IDE1IDIxLjYgOC4yIDMyLjlsLTQ4IDgwYy02LjggMTEuNC0yMS42IDE1LTMyLjkgOC4ycy0xNS0yMS42LTguMi0zMi45bDQ4LTgwYzYuOC0xMS40IDIxLjYtMTUuMSAzMi45LTguMnpNMjUyLjYgMjkyLjNsLTQ4IDgwYy02LjggMTEuNC0yMS42IDE1LTMyLjkgOC4ycy0xNS4xLTIxLjYtOC4yLTMyLjlsNDgtODBjNi44LTExLjQgMjEuNi0xNS4xIDMyLjktOC4yczE1LjEgMjEuNiA4LjIgMzIuOXptMTAzLjgtMzIuOWMxMS40IDYuOCAxNSAyMS42IDguMiAzMi45bC00OCA4MGMtNi44IDExLjQtMjEuNiAxNS0zMi45IDguMnMtMTUuMS0yMS42LTguMi0zMi45bDQ4LTgwYzYuOC0xMS40IDIxLjYtMTUuMSAzMi45LTguMnpNMzA2LjUgNDIxLjlDMzI5IDQzNy40IDM1Ni41IDQ0OCAzODQgNDQ4YzI2LjkgMCA1NS40LTEwLjggNzcuNC0yNi4xbDAgMGMxMS45LTguNSAyOC4xLTcuOCAzOS4yIDEuN2MxNC40IDExLjkgMzIuNSAyMSA1MC42IDI1LjJjMTcuMiA0IDI3LjkgMjEuMiAyMy45IDM4LjRzLTIxLjIgMjcuOS0zOC40IDIzLjljLTI0LjUtNS43LTQ0LjktMTYuNS01OC4yLTI1QzQ0OS41IDUwMS43IDQxNyA1MTIgMzg0IDUxMmMtMzEuOSAwLTYwLjYtOS45LTgwLjQtMTguOWMtNS44LTIuNy0xMS4xLTUuMy0xNS42LTcuN2MtNC41IDIuNC05LjcgNS4xLTE1LjYgNy43Yy0xOS44IDktNDguNSAxOC45LTgwLjQgMTguOWMtMzMgMC02NS41LTEwLjMtOTQuNS0yNS44Yy0xMy40IDguNC0zMy43IDE5LjMtNTguMiAyNWMtMTcuMiA0LTM0LjQtNi43LTM4LjQtMjMuOXM2LjctMzQuNCAyMy45LTM4LjRjMTguMS00LjIgMzYuMi0xMy4zIDUwLjYtMjUuMmMxMS4xLTkuNCAyNy4zLTEwLjEgMzkuMi0xLjdsMCAwQzEzNi43IDQzNy4yIDE2NS4xIDQ0OCAxOTIgNDQ4YzI3LjUgMCA1NS0xMC42IDc3LjUtMjYuMWMxMS4xLTcuOSAyNS45LTcuOSAzNyAwelwiXVxufTtcbnZhciBmYUNoYXJ0QmFyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoYXJ0LWJhcicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYmFyLWNoYXJ0XCJdLCBcImYwODBcIiwgXCJNMzIgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNDAwYzAgOC44IDcuMiAxNiAxNiAxNkg0ODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIODBjLTQ0LjIgMC04MC0zNS44LTgwLTgwVjY0QzAgNDYuMyAxNC4zIDMyIDMyIDMyem05NiA5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyem0zMiA2NEgyODhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem0wIDk2SDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgxNjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6XCJdXG59O1xudmFyIGZhQmFyQ2hhcnQgPSBmYUNoYXJ0QmFyO1xudmFyIGZhSGFuZHNCdWJibGVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzLWJ1YmJsZXMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImhhbmRzLXdhc2hcIl0sIFwiZTA1ZVwiLCBcIk00MTYgNjRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em05NiAxMjhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek0xNjAgNDY0YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTMyIDE2MGwuMSA3Mi42Yy4xIDUyLjIgMjQgMTAxIDY0IDEzMy4xYy0uMS0xLjktLjEtMy44LS4xLTUuN3YtOGMwLTcxLjggMzctMTM4LjYgOTcuOS0xNzYuN2w2MC4yLTM3LjZjOC42LTUuNCAxNy45LTguNCAyNy4zLTkuNGw0NS45LTc5LjVjNi42LTExLjUgMi43LTI2LjItOC44LTMyLjhzLTI2LjItMi43LTMyLjggOC44bC03OCAxMzUuMWMtMy4zIDUuNy0xMC43IDcuNy0xNi40IDQuNHMtNy43LTEwLjctNC40LTE2LjRsNjItMTA3LjRjNi42LTExLjUgMi43LTI2LjItOC44LTMyLjhTMjE0IDUgMjA3LjQgMTYuNWwtNjggMTE3LjggMCAwIDAgMC00My4zIDc1TDk2IDE2MGMwLTE3LjctMTQuNC0zMi0zMi0zMnMtMzIgMTQuNC0zMiAzMnpNMzMyLjEgODguNUwzMDcuNSAxMzFjMTMuOSA0LjUgMjYuNCAxMy43IDM0LjcgMjdjLjkgMS41IDEuOCAyLjkgMi41IDQuNGwyOC45LTUwYzYuNi0xMS41IDIuNy0yNi4yLTguOC0zMi44cy0yNi4yLTIuNy0zMi44IDguOHptNDYuNCA2My43bC0yNi44IDQ2LjRjLS42IDYtMi4xIDExLjgtNC4zIDE3LjRIMzUyaDEzLjNsMCAwSDM5N2wyMy0zOS44YzYuNi0xMS41IDIuNy0yNi4yLTguOC0zMi44cy0yNi4yLTIuNy0zMi44IDguOHpNMzE1LjEgMTc1Yy05LjQtMTUtMjkuMS0xOS41LTQ0LjEtMTAuMmwtNjAuMiAzNy42QzE1OS4zIDIzNC43IDEyOCAyOTEuMiAxMjggMzUydjhjMCA4LjkgLjggMTcuNiAyLjIgMjYuMWMzNS40IDguMiA2MS44IDQwIDYxLjggNzcuOWMwIDYuMy0uNyAxMi41LTIuMSAxOC40QzIxNS4xIDUwMSAyNDYuMyA1MTIgMjgwIDUxMkg0NTZjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRIMzY0Yy02LjYgMC0xMi01LjQtMTItMTJzNS40LTEyIDEyLTEySDQ4OGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEgzNjRjLTYuNiAwLTEyLTUuNC0xMi0xMnM1LjQtMTIgMTItMTJINTIwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDM2NGMtNi42IDAtMTItNS40LTEyLTEyczUuNC0xMiAxMi0xMkg0ODhjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRIMzUybDAgMCAwIDBIMjU4LjhMMzA1IDIxOS4xYzE1LTkuNCAxOS41LTI5LjEgMTAuMi00NC4xelwiXVxufTtcbnZhciBmYUhhbmRzV2FzaCA9IGZhSGFuZHNCdWJibGVzO1xudmFyIGZhTGVzc1RoYW5FcXVhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsZXNzLXRoYW4tZXF1YWwnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImY1MzdcIiwgXCJNMzk1LjkgOTMuN2MxNi40LTYuNiAyNC40LTI1LjIgMTcuOC00MS42cy0yNS4yLTI0LjQtNDEuNi0xNy44bC0zMjAgMTI4QzQwIDE2Ny4xIDMyIDE3OC45IDMyIDE5MnM4IDI0LjkgMjAuMSAyOS43bDMyMCAxMjhjMTYuNCA2LjYgMzUtMS40IDQxLjYtMTcuOHMtMS40LTM1LTE3LjgtNDEuNkwxNTAuMiAxOTIgMzk1LjkgOTMuN3pNMzIgNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDQxNmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMnpcIl1cbn07XG52YXIgZmFUcmFpbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cmFpbicsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODY0Nl0sIFwiZjIzOFwiLCBcIk05NiAwQzQzIDAgMCA0MyAwIDk2VjM1MmMwIDQ4IDM1LjIgODcuNyA4MS4xIDk0LjlsLTQ2IDQ2QzI4LjEgNDk5LjkgMzMuMSA1MTIgNDMgNTEySDgyLjdjOC41IDAgMTYuNi0zLjQgMjIuNi05LjRMMTYwIDQ0OEgyODhsNTQuNiA1NC42YzYgNiAxNC4xIDkuNCAyMi42IDkuNEg0MDVjMTAgMCAxNS0xMi4xIDcuOS0xOS4xbC00Ni00NmM0Ni03LjEgODEuMS00Ni45IDgxLjEtOTQuOVY5NmMwLTUzLTQzLTk2LTk2LTk2SDk2ek02NCA5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMkgzNTJjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJIOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjk2ek0yMjQgMjg4YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpcIl1cbn07XG52YXIgZmFFeWVMb3dWaXNpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZXllLWxvdy12aXNpb24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImxvdy12aXNpb25cIl0sIFwiZjJhOFwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDUyNS42IDM4Ni43YzM5LjYtNDAuNiA2Ni40LTg2LjEgNzkuOS0xMTguNGMzLjMtNy45IDMuMy0xNi43IDAtMjQuNmMtMTQuOS0zNS43LTQ2LjItODcuNy05My0xMzEuMUM0NjUuNSA2OC44IDQwMC44IDMyIDMyMCAzMmMtNjguMiAwLTEyNSAyNi4zLTE2OS4zIDYwLjhMMzguOCA1LjF6TTIyMyAxNDkuNWM0OC42LTQ0LjMgMTIzLTUwLjggMTc5LjMtMTEuN2M2MC44IDQyLjQgNzguOSAxMjMuMiA0NC4yIDE4Ni45TDQwOCAyOTQuNWM4LjQtMTkuMyAxMC42LTQxLjQgNC44LTYzLjNjLTExLjEtNDEuNS00Ny44LTY5LjQtODguNi03MS4xYy01LjgtLjItOS4yIDYuMS03LjQgMTEuN2MyLjEgNi40IDMuMyAxMy4yIDMuMyAyMC4zYzAgMTAuMi0yLjQgMTkuOC02LjYgMjguM0wyMjMgMTQ5LjV6bS0xMzkuOSAxMmMtMTEgMTQuNC0yMC41IDI4LjctMjguNCA0Mi4ybDMzOSAyNjUuN2MxOC43LTUuNSAzNi4yLTEzIDUyLjYtMjEuOEw4My4xIDE2MS41em0tNTAgODYuM2MtMS44IDYuOC0xLjMgMTQgMS40IDIwLjVjMTQuOSAzNS43IDQ2LjIgODcuNyA5MyAxMzEuMUMxNzQuNSA0NDMuMiAyMzkuMiA0ODAgMzIwIDQ4MGMzLjEgMCA2LjEtLjEgOS4yLS4yTDMzLjEgMjQ3Ljh6XCJdXG59O1xudmFyIGZhTG93VmlzaW9uID0gZmFFeWVMb3dWaXNpb247XG52YXIgZmFDcm93ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nyb3cnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY1MjBcIiwgXCJNNDU2IDBjLTQ4LjYgMC04OCAzOS40LTg4IDg4djI5LjJMMTIuNSAzOTAuNmMtMTQgMTAuOC0xNi42IDMwLjktNS45IDQ0LjlzMzAuOSAxNi42IDQ0LjkgNS45TDEyNi4xIDM4NEgyNTkuMmw0Ni42IDExMy4xYzUgMTIuMyAxOS4xIDE4LjEgMzEuMyAxMy4xczE4LjEtMTkuMSAxMy4xLTMxLjNMMzExLjEgMzg0SDM1MmMxLjEgMCAyLjEgMCAzLjIgMGw0Ni42IDExMy4yYzUgMTIuMyAxOS4xIDE4LjEgMzEuMyAxMy4xczE4LjEtMTkuMSAxMy4xLTMxLjNsLTQyLTEwMkM0ODQuOSAzNTQuMSA1NDQgMjgwIDU0NCAxOTJWMTI4di04bDgwLjUtMjAuMWM4LjYtMi4xIDEzLjgtMTAuOCAxMS42LTE5LjRDNjI5IDUyIDYwMy40IDMyIDU3NCAzMkg1MjMuOUM1MDcuNyAxMi41IDQ4My4zIDAgNDU2IDB6bTAgNjRhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4elwiXVxufTtcbnZhciBmYVNhaWxib2F0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NhaWxib2F0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNDQ1XCIsIFwiTTI1NiAxNmMwLTcgNC41LTEzLjIgMTEuMi0xNS4zczEzLjkgLjQgMTcuOSA2LjFsMjI0IDMyMGMzLjQgNC45IDMuOCAxMS4zIDEuMSAxNi42cy04LjIgOC42LTE0LjIgOC42SDI3MmMtOC44IDAtMTYtNy4yLTE2LTE2VjE2ek0yMTIuMSA5Ni41YzcgMS45IDExLjkgOC4yIDExLjkgMTUuNVYzMzZjMCA4LjgtNy4yIDE2LTE2IDE2SDgwYy01LjcgMC0xMS0zLTEzLjgtOHMtMi45LTExLS4xLTE2bDEyOC0yMjRjMy42LTYuMyAxMS05LjQgMTgtNy41ek01LjcgNDA0LjNDMi44IDM5NC4xIDEwLjUgMzg0IDIxLjEgMzg0SDU1NC45YzEwLjYgMCAxOC4zIDEwLjEgMTUuNCAyMC4zbC00IDE0LjNDNTUwLjcgNDczLjkgNTAwLjQgNTEyIDQ0MyA1MTJIMTMzQzc1LjYgNTEyIDI1LjMgNDczLjkgOS43IDQxOC43bC00LTE0LjN6XCJdXG59O1xudmFyIGZhV2luZG93UmVzdG9yZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3aW5kb3ctcmVzdG9yZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjJkMlwiLCBcIk00MzIgNjRIMjA4Yy04LjggMC0xNiA3LjItMTYgMTZWOTZIMTI4VjgwYzAtNDQuMiAzNS44LTgwIDgwLTgwSDQzMmM0NC4yIDAgODAgMzUuOCA4MCA4MFYzMDRjMCA0NC4yLTM1LjggODAtODAgODBINDE2VjMyMGgxNmM4LjggMCAxNi03LjIgMTYtMTZWODBjMC04LjgtNy4yLTE2LTE2LTE2ek0wIDE5MmMwLTM1LjMgMjguNy02NCA2NC02NEgzMjBjMzUuMyAwIDY0IDI4LjcgNjQgNjRWNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFYxOTJ6bTY0IDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMySDI4OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg5NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6XCJdXG59O1xudmFyIGZhU3F1YXJlUGx1cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUtcGx1cycsXG4gIGljb246IFs0NDgsIDUxMiwgWzYxODQ2LCBcInBsdXMtc3F1YXJlXCJdLCBcImYwZmVcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzg0YzM1LjMgMCA2NC0yOC43IDY0LTY0Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0ek0yMDAgMzQ0VjI4MEgxMzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRoNjRWMTY4YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR2NjRoNjRjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIMjQ4djY0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0elwiXVxufTtcbnZhciBmYVBsdXNTcXVhcmUgPSBmYVNxdWFyZVBsdXM7XG52YXIgZmFUb3JpaUdhdGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndG9yaWktZ2F0ZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzk5NjFdLCBcImY2YTFcIiwgXCJNMCA4MGMwIDI2LjUgMjEuNSA0OCA0OCA0OEg2NHY2NGg2NFYxMjhoOTZ2NjRoNjRWMTI4aDk2djY0aDY0VjEyOGgxNmMyNi41IDAgNDgtMjEuNSA0OC00OFYxMy40QzUxMiA2IDUwNiAwIDQ5OC42IDBjLTEuNyAwLTMuNCAuMy01IDFsLTQ5IDE5LjZDNDI1LjcgMjguMSA0MDUuNSAzMiAzODUuMiAzMkgxMjYuOGMtMjAuNCAwLTQwLjUtMy45LTU5LjQtMTEuNEwxOC40IDFjLTEuNi0uNi0zLjMtMS01LTFDNiAwIDAgNiAwIDEzLjRWODB6TTY0IDI4OFY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyODhIMzg0VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjI4OGgzMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg2NHpcIl1cbn07XG52YXIgZmFGcm9nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Zyb2cnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY1MmVcIiwgXCJNMzY4IDMyYzQxLjcgMCA3NS45IDMxLjggNzkuNyA3Mi41bDg1LjYgMjYuM2MyNS40IDcuOCA0Mi44IDMxLjMgNDIuOCA1Ny45YzAgMjEuOC0xMS43IDQxLjktMzAuNyA1Mi43TDQwMC44IDMyMy41IDQ5My4zIDQxNkg1NDRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJINDgwYy04LjUgMC0xNi42LTMuNC0yMi42LTkuNEwzNDYuOSAzNjAuMmMxMS43LTM2IDMuMi03Ny4xLTI1LjQtMTA1LjdjLTQwLjYtNDAuNi0xMDYuMy00MC42LTE0Ni45LS4xTDEwMSAzMjQuNGMtNi40IDYuMS02LjcgMTYuMi0uNiAyMi42czE2LjIgNi42IDIyLjYgLjZsNzMuOC03MC4yIC4xLS4xIC4xLS4xYzMuNS0zLjUgNy4zLTYuNiAxMS4zLTkuMmMyNy45LTE4LjUgNjUuOS0xNS40IDkwLjUgOS4yYzI0LjcgMjQuNyAyNy43IDYyLjkgOSA5MC45Yy0yLjYgMy44LTUuNiA3LjUtOSAxMC45TDI2MS44IDQxNkgzNTJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0QzAgMjQ5LjYgMTI3IDExMi45IDI4OS4zIDk3LjVDMjk2LjIgNjAuMiAzMjguOCAzMiAzNjggMzJ6bTAgMTA0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHpcIl1cbn07XG52YXIgZmFCdWNrZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVja2V0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJlNGNmXCIsIFwiTTk2IDE1MnY4SDQ4di04QzQ4IDY4LjEgMTE2LjEgMCAyMDAgMGg0OGM4My45IDAgMTUyIDY4LjEgMTUyIDE1MnY4SDM1MnYtOGMwLTU3LjQtNDYuNi0xMDQtMTA0LTEwNEgyMDBDMTQyLjYgNDggOTYgOTQuNiA5NiAxNTJ6TTAgMjI0YzAtMTcuNyAxNC4zLTMyIDMyLTMySDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmgtNS4xTDM4OC41IDQ2OWMtMi42IDI0LjQtMjMuMiA0My00Ny43IDQzSDEwNy4yYy0yNC42IDAtNDUuMi0xOC41LTQ3LjctNDNMMzcuMSAyNTZIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyelwiXVxufTtcbnZhciBmYUltYWdlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ltYWdlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMDNlXCIsIFwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJINDQ4YzM1LjMgMCA2NCAyOC43IDY0IDY0VjQxNmMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWOTZ6TTMyMy44IDIwMi41Yy00LjUtNi42LTExLjktMTAuNS0xOS44LTEwLjVzLTE1LjQgMy45LTE5LjggMTAuNWwtODcgMTI3LjZMMTcwLjcgMjk3Yy00LjYtNS43LTExLjUtOS0xOC43LTlzLTE0LjIgMy4zLTE4LjcgOWwtNjQgODBjLTUuOCA3LjItNi45IDE3LjEtMi45IDI1LjRzMTIuNCAxMy42IDIxLjYgMTMuNmg5NiAzMkg0MjRjOC45IDAgMTcuMS00LjkgMjEuMi0xMi44czMuNi0xNy40LTEuNC0yNC43bC0xMjAtMTc2ek0xMTIgMTkyYTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpcIl1cbn07XG52YXIgZmFNaWNyb3Bob25lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21pY3JvcGhvbmUnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImYxMzBcIiwgXCJNMTkyIDBDMTM5IDAgOTYgNDMgOTYgOTZWMjU2YzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZWOTZjMC01My00My05Ni05Ni05NnpNNjQgMjE2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0djQwYzAgODkuMSA2Ni4yIDE2Mi43IDE1MiAxNzQuNFY0NjRIMTIwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0aDcyIDcyYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDIxNlY0MzAuNGM4NS44LTExLjcgMTUyLTg1LjMgMTUyLTE3NC40VjIxNmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHY0MGMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOHMtMTI4LTU3LjMtMTI4LTEyOFYyMTZ6XCJdXG59O1xudmFyIGZhQ293ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvdycsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODAwNF0sIFwiZjZjOFwiLCBcIk05NiAyMjR2MzJWNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMyaDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMyVjMyNy44YzkuOSA2LjYgMjAuNiAxMiAzMiAxNi4xVjM2OGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjM1MS4xYzUuMyAuNiAxMC42IC45IDE2IC45czEwLjctLjMgMTYtLjlWMzY4YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMzQzLjhjMTEuNC00IDIyLjEtOS40IDMyLTE2LjFWNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMyaDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMyVjI1NmwzMiAzMnY0OS41YzAgOS41IDIuOCAxOC43IDguMSAyNi42TDUzMCA0MjdjOC44IDEzLjEgMjMuNSAyMSAzOS4zIDIxYzIyLjUgMCA0MS45LTE1LjkgNDYuMy0zOGwyMC4zLTEwMS42YzIuNi0xMy0uMy0yNi41LTgtMzcuM2wtMy45LTUuNVYxODRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR2MTQuNGwtNTIuOS03NC4xQzQ5NiA4Ni41IDQ1Mi40IDY0IDQwNS45IDY0SDI3MiAyNTYgMTkyIDE0NEM3Ny43IDY0IDI0IDExNy43IDI0IDE4NHY1NEM5LjQgMjQ5LjggMCAyNjcuOCAwIDI4OHYxNy42YzAgOCA2LjQgMTQuNCAxNC40IDE0LjRDNDYuMiAzMjAgNzIgMjk0LjIgNzIgMjYyLjRWMjU2IDIyNCAxODRjMC0yNC4zIDEyLjEtNDUuOCAzMC41LTU4LjlDOTguMyAxMzUuOSA5NiAxNDcuNyA5NiAxNjB2NjR6TTU2MCAzMzZhMTYgMTYgMCAxIDEgMzIgMCAxNiAxNiAwIDEgMSAtMzIgMHpNMTY2LjYgMTY2LjZjLTQuMi00LjItNi42LTEwLTYuNi0xNmMwLTEyLjUgMTAuMS0yMi42IDIyLjYtMjIuNkgzNjEuNGMxMi41IDAgMjIuNiAxMC4xIDIyLjYgMjIuNmMwIDYtMi40IDExLjgtNi42IDE2bC0yMy40IDIzLjRDMzMyLjIgMjExLjggMzAyLjcgMjI0IDI3MiAyMjRzLTYwLjItMTIuMi04MS45LTMzLjlsLTIzLjQtMjMuNHpcIl1cbn07XG52YXIgZmFDYXJldFVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhcmV0LXVwJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJmMGQ4XCIsIFwiTTE4Mi42IDEzNy40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTI4IDEyOGMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0LjlzMTYuNiAxOS44IDI5LjYgMTkuOEgyODhjMTIuOSAwIDI0LjYtNy44IDI5LjYtMTkuOHMyLjItMjUuNy02LjktMzQuOWwtMTI4LTEyOHpcIl1cbn07XG52YXIgZmFTY3Jld2RyaXZlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzY3Jld2RyaXZlcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyOTY5MV0sIFwiZjU0YVwiLCBcIk00NjUgN2MtOC41LTguNS0yMi05LjQtMzEuNi0yLjFsLTEwNCA4MGMtNS45IDQuNS05LjQgMTEuNi05LjQgMTl2NTQuMWwtODUuNiA4NS42YzYuNyA0LjIgMTMgOS4zIDE4LjggMTUuMXMxMC45IDEyLjIgMTUuMSAxOC44TDM1My45IDE5Mkg0MDhjNy41IDAgMTQuNS0zLjUgMTktOS40bDgwLTEwNGM3LjQtOS42IDYuNS0yMy4xLTIuMS0zMS42TDQ2NSA3ek0xMjEuNCAyODEuNGwtMTEyIDExMmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTEyLTExMmMzMC4yLTMwLjIgMzAuMi03OS4xIDAtMTA5LjNzLTc5LjEtMzAuMi0xMDkuMyAwelwiXVxufTtcbnZhciBmYUZvbGRlckNsb3NlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmb2xkZXItY2xvc2VkJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMTg1XCIsIFwiTTQ0OCA0ODBINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjE5Mkg1MTJWNDE2YzAgMzUuMy0yOC43IDY0LTY0IDY0em02NC0zMjBIMFY5NkMwIDYwLjcgMjguNyAzMiA2NCAzMkgxOTJjMjAuMSAwIDM5LjEgOS41IDUxLjIgMjUuNmwxOS4yIDI1LjZjNiA4LjEgMTUuNSAxMi44IDI1LjYgMTIuOEg0NDhjMzUuMyAwIDY0IDI4LjcgNjQgNjR6XCJdXG59O1xudmFyIGZhSG91c2VUc3VuYW1pID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLXRzdW5hbWknLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1MTVcIiwgXCJNODAuOCAxMzYuNUMxMDQuOSA5My44IDE1Mi42IDY0IDIwOSA2NGMxNi45IDAgMzMuMSAyLjcgNDguMiA3LjdjMTYuOCA1LjUgMzQuOS0zLjYgNDAuNC0yMC40cy0zLjYtMzQuOS0yMC40LTQwLjRDMjU1LjggMy44IDIzMi44IDAgMjA5IDBDOTUuMiAwIDAgODggMCAyMDBjMCA5MS42IDUzLjUgMTcyLjEgMTQyLjIgMTk0LjFjMTMuNCAzLjggMjcuNSA1LjkgNDIuMiA1LjljLjcgMCAxLjQgMCAyLjEtLjFjMS44IDAgMy43IC4xIDUuNSAuMWwwIDBjMzEuOSAwIDYwLjYtOS45IDgwLjQtMTguOWM1LjgtMi43IDExLjEtNS4zIDE1LjYtNy43YzQuNSAyLjQgOS43IDUuMSAxNS42IDcuN2MxOS44IDkgNDguNSAxOC45IDgwLjQgMTguOWMzMyAwIDY1LjUtMTAuMyA5NC41LTI1LjhjMTMuNCA4LjQgMzMuNyAxOS4zIDU4LjIgMjVjMTcuMiA0IDM0LjQtNi43IDM4LjQtMjMuOXMtNi43LTM0LjQtMjMuOS0zOC40Yy0xOC4xLTQuMi0zNi4yLTEzLjMtNTAuNi0yNS4yYy0xMS4xLTkuNS0yNy4zLTEwLjEtMzkuMi0xLjdsMCAwQzQzOS40IDMyNS4yIDQxMC45IDMzNiAzODQgMzM2Yy0yNy41IDAtNTUtMTAuNi03Ny41LTI2LjFjLTExLjEtNy45LTI1LjktNy45LTM3IDBjLTIyLjQgMTUuNS00OS45IDI2LjEtNzcuNCAyNi4xYzAgMC0uMSAwLS4xIDBjLTEyLjQgMC0yNC0xLjUtMzQuOS00LjNDMTIxLjYgMzIwLjIgOTYgMjg3IDk2IDI0OGMwLTQ4LjUgMzkuNS04OCA4OC40LTg4YzEzLjUgMCAyNi4xIDMgMzcuNSA4LjNjMTYgNy41IDM1LjEgLjYgNDIuNS0xNS41cy42LTM1LjEtMTUuNS00Mi41QzIyOS4zIDEwMS4xIDIwNy40IDk2IDE4NC40IDk2Yy00MCAwLTc2LjQgMTUuNC0xMDMuNiA0MC41em0yNTItMTguMWMtOC4xIDYtMTIuOCAxNS41LTEyLjggMjUuNlYyNjVjMS42IDEgMy4zIDIgNC44IDMuMWMxOC40IDEyLjcgMzkuNiAyMC4zIDU5LjIgMjAuM2MxOSAwIDQxLjItNy45IDU5LjItMjAuM2MyMy44LTE2LjcgNTUuOC0xNS4zIDc4LjEgMy40YzEwLjYgOC44IDI0LjIgMTUuNiAzNy4zIDE4LjZjNS44IDEuNCAxMS4yIDMuNCAxNi4yIDYuMmMuNy0yLjcgMS4xLTUuNSAxLjEtOC40bC0uNC0xNDRjMC0xMC00LjctMTkuNC0xMi43LTI1LjVsLTk1LjUtNzJjLTExLjQtOC42LTI3LjEtOC42LTM4LjUgMGwtOTYgNzJ6TTM4NCA0NDhjLTI3LjUgMC01NS0xMC42LTc3LjUtMjYuMWMtMTEuMS03LjktMjUuOS03LjktMzcgMEMyNDcgNDM3LjQgMjE5LjUgNDQ4IDE5MiA0NDhjLTI2LjkgMC01NS4zLTEwLjgtNzcuNC0yNi4xbDAgMGMtMTEuOS04LjUtMjguMS03LjgtMzkuMiAxLjdjLTE0LjQgMTEuOS0zMi41IDIxLTUwLjYgMjUuMmMtMTcuMiA0LTI3LjkgMjEuMi0yMy45IDM4LjRzMjEuMiAyNy45IDM4LjQgMjMuOWMyNC41LTUuNyA0NC45LTE2LjUgNTguMi0yNUMxMjYuNSA1MDEuNyAxNTkgNTEyIDE5MiA1MTJjMzEuOSAwIDYwLjYtOS45IDgwLjQtMTguOWM1LjgtMi43IDExLjEtNS4zIDE1LjYtNy43YzQuNSAyLjQgOS43IDUuMSAxNS42IDcuN2MxOS44IDkgNDguNSAxOC45IDgwLjQgMTguOWMzMyAwIDY1LjUtMTAuMyA5NC41LTI1LjhjMTMuNCA4LjQgMzMuNyAxOS4zIDU4LjIgMjVjMTcuMiA0IDM0LjQtNi43IDM4LjQtMjMuOXMtNi43LTM0LjQtMjMuOS0zOC40Yy0xOC4xLTQuMi0zNi4yLTEzLjMtNTAuNi0yNS4yYy0xMS4xLTkuNC0yNy4zLTEwLjEtMzkuMi0xLjdsMCAwQzQzOS40IDQzNy4yIDQxMC45IDQ0OCAzODQgNDQ4elwiXVxufTtcbnZhciBmYVNxdWFyZU5maSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUtbmZpJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJlNTc2XCIsIFwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJIMzg0YzM1LjMgMCA2NCAyOC43IDY0IDY0VjQxNmMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWOTZ6bTc1LjcgNjQuNkM2OC44IDE2Mi41IDY0IDE2OC44IDY0IDE3NlYzMzZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlYyMzMuOGw2Ni4zIDExMC41YzMuNyA2LjIgMTEuMSA5LjEgMTggNy4yczExLjctOC4yIDExLjctMTUuNFYxNzZjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZWMjc4LjJMOTMuNyAxNjcuOGMtMy43LTYuMi0xMS4xLTkuMS0xOC03LjJ6TTIyNCAxNzZ2NjQgOTZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlYyNTZoNDhjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIMjU2VjE5Mmg0OGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgyNDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTYwIDBjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZWMzM2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMTc2elwiXVxufTtcbnZhciBmYUFycm93VXBGcm9tR3JvdW5kV2F0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdXAtZnJvbS1ncm91bmQtd2F0ZXInLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0YjVcIiwgXCJNMjg4IDM1MmMxNy43IDAgMzItMTQuMyAzMi0zMlYxMDkuM2wyNS40IDI1LjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtODAtODBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC04MCA4MGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwyNTYgMTA5LjNWMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMyem0tMTguNSA2OS45QzI0NyA0MzcuNCAyMTkuNSA0NDggMTkyIDQ0OGMtMjYuOSAwLTU1LjMtMTAuOC03Ny40LTI2LjFsMCAwYy0xMS45LTguNS0yOC4xLTcuOC0zOS4yIDEuN2MtMTQuNCAxMS45LTMyLjUgMjEtNTAuNiAyNS4yYy0xNy4yIDQtMjcuOSAyMS4yLTIzLjkgMzguNHMyMS4yIDI3LjkgMzguNCAyMy45YzI0LjUtNS43IDQ0LjktMTYuNSA1OC4yLTI1QzEyNi41IDUwMS43IDE1OSA1MTIgMTkyIDUxMmMzMS45IDAgNjAuNi05LjkgODAuNC0xOC45YzUuOC0yLjcgMTEuMS01LjMgMTUuNi03LjdjNC41IDIuNCA5LjcgNS4xIDE1LjYgNy43YzE5LjggOSA0OC41IDE4LjkgODAuNCAxOC45YzMzIDAgNjUuNS0xMC4zIDk0LjUtMjUuOGMxMy40IDguNCAzMy43IDE5LjMgNTguMiAyNWMxNy4yIDQgMzQuNC02LjcgMzguNC0yMy45cy02LjctMzQuNC0yMy45LTM4LjRjLTE4LjEtNC4yLTM2LjItMTMuMy01MC42LTI1LjJjLTExLjEtOS40LTI3LjMtMTAuMS0zOS4yLTEuN2wwIDBDNDM5LjQgNDM3LjIgNDEwLjkgNDQ4IDM4NCA0NDhjLTI3LjUgMC01NS0xMC42LTc3LjUtMjYuMWMtMTEuMS03LjktMjUuOS03LjktMzcgMHpNMTkyIDE5Mkg0OGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhWNDI1YzUuMy0zLjEgMTEuMi01LjQgMTcuNS02LjljMTMuMS0zLjEgMjYuNy05LjggMzcuMy0xOC42YzIyLjItMTguNyA1NC4zLTIwLjEgNzguMS0zLjRjMTggMTIuNCA0MC4xIDIwLjMgNTkuMSAyMC4zVjE5MnptMzg0IDQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDM4NFY0MTYuNWgwYzE5IDAgNDEuMi03LjkgNTkuMi0yMC4zYzIzLjgtMTYuNyA1NS44LTE1LjMgNzguMSAzLjRjMTAuNiA4LjggMjQuMiAxNS42IDM3LjMgMTguNmM2LjMgMS41IDEyLjEgMy44IDE3LjUgNi45VjI0MHpcIl1cbn07XG52YXIgZmFNYXJ0aW5pR2xhc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFydGluaS1nbGFzcycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzg2NCwgXCJnbGFzcy1tYXJ0aW5pLWFsdFwiXSwgXCJmNTdiXCIsIFwiTTMyIDBDMTkuMSAwIDcuNCA3LjggMi40IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45TDIyNCAyNjkuM1Y0NDhIMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDk2IDk2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDI4OFYyNjkuM0w1MDIuNiA1NC42YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzQ5Mi45IDAgNDgwIDBIMzJ6TTE3My4zIDEyOGwtNjQtNjRINDAyLjdsLTY0IDY0SDE3My4zelwiXVxufTtcbnZhciBmYUdsYXNzTWFydGluaUFsdCA9IGZhTWFydGluaUdsYXNzO1xudmFyIGZhUm90YXRlTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyb3RhdGUtbGVmdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wicm90YXRlLWJhY2tcIiwgXCJyb3RhdGUtYmFja3dhcmRcIiwgXCJ1bmRvLWFsdFwiXSwgXCJmMmVhXCIsIFwiTTQ4LjUgMjI0SDQwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNFY3MmMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJzMTkuMy0xLjcgMjYuMiA1LjJMOTguNiA5Ni42Yzg3LjYtODYuNSAyMjguNy04Ni4yIDMxNS44IDFjODcuNSA4Ny41IDg3LjUgMjI5LjMgMCAzMTYuOHMtMjI5LjMgODcuNS0zMTYuOCAwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwYzYyLjUgNjIuNSAxNjMuOCA2Mi41IDIyNi4zIDBzNjIuNS0xNjMuOCAwLTIyNi4zYy02Mi4yLTYyLjItMTYyLjctNjIuNS0yMjUuMy0xTDE4NSAxODNjNi45IDYuOSA4LjkgMTcuMiA1LjIgMjYuMnMtMTIuNSAxNC44LTIyLjIgMTQuOEg0OC41elwiXVxufTtcbnZhciBmYVJvdGF0ZUJhY2sgPSBmYVJvdGF0ZUxlZnQ7XG52YXIgZmFSb3RhdGVCYWNrd2FyZCA9IGZhUm90YXRlTGVmdDtcbnZhciBmYVVuZG9BbHQgPSBmYVJvdGF0ZUxlZnQ7XG52YXIgZmFUYWJsZUNvbHVtbnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGFibGUtY29sdW1ucycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiY29sdW1uc1wiXSwgXCJmMGRiXCIsIFwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJINDQ4YzM1LjMgMCA2NCAyOC43IDY0IDY0VjQxNmMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWOTZ6bTY0IDY0VjQxNkgyMjRWMTYwSDY0em0zODQgMEgyODhWNDE2SDQ0OFYxNjB6XCJdXG59O1xudmFyIGZhQ29sdW1ucyA9IGZhVGFibGVDb2x1bW5zO1xudmFyIGZhTGVtb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGVtb24nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjc4MTldLCBcImYwOTRcIiwgXCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0Yy02LjYgMC0xMyAxLTE5IDIuOWMtMjIuNSA3LTQ4LjEgMTQuOS03MSA5Yy03NS4yLTE5LjEtMTU2LjQgMTEtMjEzLjcgNjguM1MtNy4yIDI1MC44IDExLjkgMzI2YzUuOCAyMi45LTIgNDguNC05IDcxQzEgNDAzIDAgNDA5LjQgMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRjNi42IDAgMTMtMSAxOS4xLTIuOWMyMi41LTcgNDguMS0xNC45IDcxLTljNzUuMiAxOS4xIDE1Ni40LTExIDIxMy43LTY4LjNzODcuNS0xMzguNSA2OC4zLTIxMy43Yy01LjgtMjIuOSAyLTQ4LjQgOS03MWMxLjktNiAyLjktMTIuNCAyLjktMTkuMXpNMjEyLjUgMTI3LjRjLTU0LjYgMTYtMTAxLjEgNjIuNS0xMTcuMSAxMTcuMUM5Mi45IDI1MyA4NCAyNTcuOCA3NS41IDI1NS40UzYyLjIgMjQ0IDY0LjYgMjM1LjVjMTkuMS02NS4xIDczLjctMTE5LjggMTM4LjktMTM4LjljOC41LTIuNSAxNy40IDIuNCAxOS45IDEwLjlzLTIuNCAxNy40LTEwLjkgMTkuOXpcIl1cbn07XG52YXIgZmFIZWFkU2lkZU1hc2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVhZC1zaWRlLW1hc2snLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImUwNjNcIiwgXCJNMzIgMjI0LjJjMC0yMi4yIDMuMi00My42IDkuMi02My45TDI2Mi4yIDMyMWMtNCA5LjUtNi4yIDIwLTYuMiAzMVY1MTJIMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMlY0MDcuM2MwLTE2LjctNi45LTMyLjUtMTcuMS00NS44QzQ4LjYgMzIyLjQgMzIgMjc0LjEgMzIgMjI0LjJ6bTI0OC4zIDcwLjRMNTMgMTI5LjNDODguNyA1MyAxNjYuMiAwIDI1NiAwaDI0Yzk1LjIgMCAxODEuMiA2OS4zIDE5Ny4zIDE2MC4yYzIuMyAxMyA2LjggMjUuNyAxNS4xIDM2bDQyIDUyLjZjNS40IDYuNyA4LjYgMTQuOCA5LjQgMjMuMkgzMzZjLTIxLjcgMC00MS4zIDguNi01NS43IDIyLjZ6TTMzNiAzMDRINTM0bDAgMGgxMGwtMTkuNyA2NEgzNjhjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZINTE0LjVsLTkuOCAzMkgzNjhjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZINDk0LjhsLS45IDIuOGMtOC4zIDI2LjktMzMuMSA0NS4yLTYxLjIgNDUuMkgyODhWMzUyYzAtMTQgNi0yNi43IDE1LjYtMzUuNGMwIDAgMCAwIDAgMGM4LjUtNy44IDE5LjktMTIuNiAzMi40LTEyLjZ6bTQ4LTgwYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG52YXIgZmFIYW5kc2hha2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZHNoYWtlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmMmI1XCIsIFwiTTMyMy40IDg1LjJsLTk2LjggNzguNGMtMTYuMSAxMy0xOS4yIDM2LjQtNyA1My4xYzEyLjkgMTcuOCAzOCAyMS4zIDU1LjMgNy44bDk5LjMtNzcuMmM3LTUuNCAxNy00LjIgMjIuNSAyLjhzNC4yIDE3LTIuOCAyMi41bC0yMC45IDE2LjJMNTEyIDMxNi44VjEyOGgtLjdsLTMuOS0yLjVMNDM0LjggNzljLTE1LjMtOS44LTMzLjItMTUtNTEuNC0xNWMtMjEuOCAwLTQzIDcuNS02MCAyMS4yem0yMi44IDEyNC40bC01MS43IDQwLjJDMjYzIDI3NC40IDIxNy4zIDI2OCAxOTMuNyAyMzUuNmMtMjIuMi0zMC41LTE2LjYtNzMuMSAxMi43LTk2LjhsODMuMi02Ny4zYy0xMS42LTQuOS0yNC4xLTcuNC0zNi44LTcuNEMyMzQgNjQgMjE1LjcgNjkuNiAyMDAgODBsLTcyIDQ4VjM1MmgyOC4ybDkxLjQgODMuNGMxOS42IDE3LjkgNDkuOSAxNi41IDY3LjgtMy4xYzUuNS02LjEgOS4yLTEzLjIgMTEuMS0yMC42bDE3IDE1LjZjMTkuNSAxNy45IDQ5LjkgMTYuNiA2Ny44LTIuOWM0LjUtNC45IDcuOC0xMC42IDkuOS0xNi41YzE5LjQgMTMgNDUuOCAxMC4zIDYyLjEtNy41YzE3LjktMTkuNSAxNi42LTQ5LjktMi45LTY3LjhsLTEzNC4yLTEyM3pNMTYgMTI4Yy04LjggMC0xNiA3LjItMTYgMTZWMzUyYzAgMTcuNyAxNC4zIDMyIDMyIDMySDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjEyOEgxNnpNNDggMzIwYTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnpNNTQ0IDEyOFYzNTJjMCAxNy43IDE0LjMgMzIgMzIgMzJoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJWMTQ0YzAtOC44LTcuMi0xNi0xNi0xNkg1NDR6bTMyIDIwOGExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwelwiXVxufTtcbnZhciBmYUdlbSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnZW0nLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgxNDJdLCBcImYzYTVcIiwgXCJNMTE2LjcgMzMuOGM0LjUtNi4xIDExLjctOS44IDE5LjMtOS44SDM3NmM3LjYgMCAxNC44IDMuNiAxOS4zIDkuOGwxMTIgMTUyYzYuOCA5LjIgNi4xIDIxLjktMS41IDMwLjRsLTIzMiAyNTZjLTQuNSA1LTExIDcuOS0xNy44IDcuOXMtMTMuMi0yLjktMTcuOC03LjlsLTIzMi0yNTZjLTcuNy04LjUtOC4zLTIxLjItMS41LTMwLjRsMTEyLTE1MnptMzguNSAzOS44Yy0zLjMgMi41LTQuMiA3LTIuMSAxMC41bDU3LjQgOTUuNkw2My4zIDE5MmMtNC4xIC4zLTcuMyAzLjgtNy4zIDhzMy4yIDcuNiA3LjMgOGwxOTIgMTZjLjQgMCAuOSAwIDEuMyAwbDE5Mi0xNmM0LjEtLjMgNy4zLTMuOCA3LjMtOHMtMy4yLTcuNi03LjMtOEwzMDEuNSAxNzkuOGw1Ny40LTk1LjZjMi4xLTMuNSAxLjItOC4xLTIuMS0xMC41cy03LjktMi0xMC43IDFMMjU2IDE3Mi4yIDE2NS45IDc0LjZjLTIuOC0zLTcuNC0zLjQtMTAuNy0xelwiXVxufTtcbnZhciBmYURvbGx5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RvbGx5JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJkb2xseS1ib3hcIl0sIFwiZjQ3MlwiLCBcIk0wIDMyQzAgMTQuMyAxNC4zIDAgMzIgMGg3Mi45YzI3LjUgMCA1MiAxNy42IDYwLjcgNDMuOEwyNTcuNyAzMjBjMzAuMSAuNSA1Ni44IDE0LjkgNzQgMzdsMjAyLjEtNjcuNGMxNi44LTUuNiAzNC45IDMuNSA0MC41IDIwLjJzLTMuNSAzNC45LTIwLjIgNDAuNUwzNTIgNDE3LjdjLS45IDUyLjItNDMuNSA5NC4zLTk2IDk0LjNjLTUzIDAtOTYtNDMtOTYtOTZjMC0zMC44IDE0LjUtNTguMiAzNy03NS44TDEwNC45IDY0SDMyQzE0LjMgNjQgMCA0OS43IDAgMzJ6TTI0NC44IDEzNC41Yy01LjUtMTYuOCAzLjctMzQuOSAyMC41LTQwLjNMMzExIDc5LjRsMTkuOCA2MC45IDYwLjktMTkuOEwzNzEuOCA1OS42bDQ1LjctMTQuOGMxNi44LTUuNSAzNC45IDMuNyA0MC4zIDIwLjVsNDkuNCAxNTIuMmM1LjUgMTYuOC0zLjcgMzQuOS0yMC41IDQwLjNMMzM0LjUgMzA3LjJjLTE2LjggNS41LTM0LjktMy43LTQwLjMtMjAuNUwyNDQuOCAxMzQuNXpcIl1cbn07XG52YXIgZmFEb2xseUJveCA9IGZhRG9sbHk7XG52YXIgZmFTbW9raW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Ntb2tpbmcnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjg2ODRdLCBcImY0OGRcIiwgXCJNNDQ4IDMyVjQzYzAgMzguMiAxNS4yIDc0LjggNDIuMiAxMDEuOGwyMSAyMWMyMSAyMSAzMi44IDQ5LjUgMzIuOCA3OS4ydjExYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjI0NWMwLTEyLjctNS4xLTI0LjktMTQuMS0zMy45bC0yMS0yMUM0MDUuOSAxNTEuMSAzODQgOTguMSAzODQgNDNWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnpNNTc2IDI1NlYyNDVjMC0zOC4yLTE1LjItNzQuOC00Mi4yLTEwMS44bC0yMS0yMWMtMjEtMjEtMzIuOC00OS41LTMyLjgtNzkuMlYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyVjQzYzAgMTIuNyA1LjEgMjQuOSAxNC4xIDMzLjlsMjEgMjFjMzkgMzkgNjAuOSA5MS45IDYwLjkgMTQ3LjF2MTFjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJ6TTAgNDE2YzAtMzUuMyAyOC43LTY0IDY0LTY0SDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMkg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWNDE2em0yMjQgMHYzMkgzODRWNDE2SDIyNHptMjg4LTY0YzE3LjcgMCAzMiAxNC4zIDMyIDMydjk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjM4NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzODRjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xudmFyIGZhTWluaW1pemUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWluaW1pemUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImNvbXByZXNzLWFycm93cy1hbHRcIl0sIFwiZjc4Y1wiLCBcIk00NTYgMjI0SDMxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRWNTZjMC05LjcgNS44LTE4LjUgMTQuOC0yMi4yczE5LjMtMS43IDI2LjIgNS4ybDQwIDQwTDQ0Mi4zIDUuN0M0NDYgMiA0NTAuOSAwIDQ1NiAwczEwIDIgMTMuNyA1LjdsMzYuNyAzNi43QzUxMCA0NiA1MTIgNTAuOSA1MTIgNTZzLTIgMTAtNS43IDEzLjdMNDMzIDE0M2w0MCA0MGM2LjkgNi45IDguOSAxNy4yIDUuMiAyNi4ycy0xMi41IDE0LjgtMjIuMiAxNC44em0wIDY0YzkuNyAwIDE4LjUgNS44IDIyLjIgMTQuOHMxLjcgMTkuMy01LjIgMjYuMmwtNDAgNDAgNzMuNCA3My40YzMuNiAzLjYgNS43IDguNSA1LjcgMTMuN3MtMiAxMC01LjcgMTMuN2wtMzYuNyAzNi43QzQ2NiA1MTAgNDYxLjEgNTEyIDQ1NiA1MTJzLTEwLTItMTMuNy01LjdMMzY5IDQzM2wtNDAgNDBjLTYuOSA2LjktMTcuMiA4LjktMjYuMiA1LjJzLTE0LjgtMTIuNS0xNC44LTIyLjJWMzEyYzAtMTMuMyAxMC43LTI0IDI0LTI0SDQ1NnptLTI1NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0VjQ1NmMwIDkuNy01LjggMTguNS0xNC44IDIyLjJzLTE5LjMgMS43LTI2LjItNS4ybC00MC00MEw2OS43IDUwNi4zQzY2IDUxMCA2MS4xIDUxMiA1NiA1MTJzLTEwLTItMTMuNy01LjdMNS43IDQ2OS43QzIgNDY2IDAgNDYxLjEgMCA0NTZzMi0xMCA1LjctMTMuN0w3OSAzNjkgMzkgMzI5Yy02LjktNi45LTguOS0xNy4yLTUuMi0yNi4yczEyLjUtMTQuOCAyMi4yLTE0LjhIMjAwek01NiAyMjRjLTkuNyAwLTE4LjUtNS44LTIyLjItMTQuOHMtMS43LTE5LjMgNS4yLTI2LjJsNDAtNDBMNS43IDY5LjdDMiA2NiAwIDYxLjEgMCA1NnMyLTEwIDUuNy0xMy43TDQyLjMgNS43QzQ2IDIgNTAuOSAwIDU2IDBzMTAgMiAxMy43IDUuN0wxNDMgNzlsNDAtNDBjNi45LTYuOSAxNy4yLTguOSAyNi4yLTUuMnMxNC44IDEyLjUgMTQuOCAyMi4yVjIwMGMwIDEzLjMtMTAuNyAyNC0yNCAyNEg1NnpcIl1cbn07XG52YXIgZmFDb21wcmVzc0Fycm93c0FsdCA9IGZhTWluaW1pemU7XG52YXIgZmFNb251bWVudCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb251bWVudCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjVhNlwiLCBcIk0xODAuNyA0LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBsODAgODBjMi41IDIuNSA0LjEgNS44IDQuNiA5LjNsNDAuMiAzMjJINTUuOUw5Ni4xIDk0Yy40LTMuNSAyLTYuOCA0LjYtOS4zbDgwLTgwek0xNTIgMjcyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0aDgwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDE1MnpNMzIgNDQ4SDM1MmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpcIl1cbn07XG52YXIgZmFTbm93cGxvdyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzbm93cGxvdycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjdkMlwiLCBcIk0yOTguOSA2NGw2OC42IDE2MEgyNTZsLTY0LTY0VjY0SDI5OC45ek00NDUuMSAyNDIuN2wtODcuNC0yMDRDMzQ3LjYgMTUuMyAzMjQuNSAwIDI5OC45IDBIMTc2Yy0yNi41IDAtNDggMjEuNS00OCA0OFYxNjBIOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyVjI5OC44QzI2LjIgMzE2LjggMCAzNTUuMyAwIDQwMGMwIDYxLjkgNTAuMSAxMTIgMTEyIDExMkgzNjhjNjEuOSAwIDExMi01MC4xIDExMi0xMTJjMC0xNy4yLTMuOS0zMy41LTEwLjgtNDhINTEydjUwLjdjMCAxNyA2LjcgMzMuMyAxOC43IDQ1LjNsNTQuNiA1NC42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNTc2IDQwMi43VjMyMCAyMzUuMkw2MzMgMTY0YzExLTEzLjggOC44LTMzLjktNS00NXMtMzMuOS04LjgtNDUgNWwtNTcgNzEuMmMtOS4xIDExLjMtMTQgMjUuNC0xNCA0MFYyODhINDQ4VjI1Ni43Yy4xLTIuNC0uMi00LjgtLjYtNy4xcy0xLjItNC43LTIuMi02Ljh6TTM2OCAzNTJjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhIMTEyYy0yNi41IDAtNDgtMjEuNS00OC00OHMyMS41LTQ4IDQ4LTQ4SDM2OHpNMTQ0IDQwMGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwem0yMTYgMjRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0tNTYtMjRhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpNMjAwIDQyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6XCJdXG59O1xudmFyIGZhQW5nbGVzUmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5nbGVzLXJpZ2h0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTg3LCBcImFuZ2xlLWRvdWJsZS1yaWdodFwiXSwgXCJmMTAxXCIsIFwiTTQ3MC42IDI3OC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xNjAtMTYwYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0w0MDIuNyAyNTYgMjY1LjQgMzkzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsMTYwLTE2MHptLTM1MiAxNjBsMTYwLTE2MGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTYwLTE2MGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMMjEwLjcgMjU2IDczLjQgMzkzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDB6XCJdXG59O1xudmFyIGZhQW5nbGVEb3VibGVSaWdodCA9IGZhQW5nbGVzUmlnaHQ7XG52YXIgZmFDYW5uYWJpcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYW5uYWJpcycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjU1ZlwiLCBcIk0yNTYgMGM1LjMgMCAxMC4zIDIuNyAxMy4zIDcuMWMxNS44IDIzLjUgMzYuNyA2My43IDQ5LjIgMTA5YzcuMiAyNi40IDExLjggNTUuMiAxMC40IDg0YzExLjUtOC44IDIzLjctMTYuNyAzNS44LTIzLjZjNDEtMjMuMyA4NC40LTM2LjkgMTEyLjItNDIuNWM1LjItMSAxMC43IC42IDE0LjQgNC40czUuNCA5LjIgNC40IDE0LjVjLTUuNiAyNy43LTE5LjMgNzAuOS00Mi43IDExMS43Yy05LjEgMTUuOS0xOS45IDMxLjctMzIuNCA0Ni4zYzI3LjggNi42IDUyLjQgMTcuMyA2Ny4yIDI1LjVjNS4xIDIuOCA4LjIgOC4yIDguMiAxNHMtMy4yIDExLjItOC4yIDE0Yy0xNS4yIDguNC00MC45IDE5LjUtNjkuOCAyNi4xYy0yMC4yIDQuNi00Mi45IDcuMi02NS4yIDQuNmw4LjMgMzMuMWMxLjUgNi4xLS42IDEyLjQtNS41IDE2LjRzLTExLjYgNC42LTE3LjIgMS45TDI4MCA0MTcuMlY0ODhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWNDE3LjJsLTU4LjUgMjkuMWMtNS42IDIuOC0xMi4zIDIuMS0xNy4yLTEuOXMtNy0xMC4zLTUuNS0xNi40bDguMy0zMy4xYy0yMi4yIDIuNi00NSAwLTY1LjItNC42Yy0yOC45LTYuNi01NC42LTE3LjYtNjkuOC0yNi4xYy01LjEtMi44LTguMi04LjItOC4yLTE0czMuMi0xMS4yIDguMi0xNGMxNC44LTguMiAzOS40LTE4LjggNjcuMi0yNS41Qzc4LjkgMjk2LjMgNjguMSAyODAuNSA1OSAyNjQuNmMtMjMuNC00MC44LTM3LjEtODQtNDIuNy0xMTEuN2MtMS4xLTUuMiAuNi0xMC43IDQuNC0xNC41czkuMi01LjQgMTQuNC00LjRjMjcuOSA1LjUgNzEuMiAxOS4yIDExMi4yIDQyLjVjMTIuMSA2LjkgMjQuMyAxNC43IDM1LjggMjMuNmMtMS40LTI4LjcgMy4xLTU3LjYgMTAuNC04NGMxMi41LTQ1LjMgMzMuNC04NS41IDQ5LjItMTA5YzMtNC40IDgtNy4xIDEzLjMtNy4xelwiXVxufTtcbnZhciBmYUNpcmNsZVBsYXkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLXBsYXknLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MTQ2OSwgXCJwbGF5LWNpcmNsZVwiXSwgXCJmMTQ0XCIsIFwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnpNMTg4LjMgMTQ3LjFjLTcuNiA0LjItMTIuMyAxMi4zLTEyLjMgMjAuOVYzNDRjMCA4LjcgNC43IDE2LjcgMTIuMyAyMC45czE2LjggNC4xIDI0LjMtLjVsMTQ0LTg4YzcuMS00LjQgMTEuNS0xMi4xIDExLjUtMjAuNXMtNC40LTE2LjEtMTEuNS0yMC41bC0xNDQtODhjLTcuNC00LjUtMTYuNy00LjctMjQuMy0uNXpcIl1cbn07XG52YXIgZmFQbGF5Q2lyY2xlID0gZmFDaXJjbGVQbGF5O1xudmFyIGZhVGFibGV0cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YWJsZXRzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNDkwXCIsIFwiTTYxNC4zIDI0N2MxNi4zLTI1IDI1LjctNTQuOSAyNS43LTg3QzY0MCA3MS42IDU2OC40IDAgNDgwIDBjLTMyLjEgMC02MS45IDkuNC04NyAyNS43Yy03LjkgNS4yLTguNSAxNi4yLTEuOCAyMi45TDU5MS40IDI0OC44YzYuNyA2LjcgMTcuOCA2LjIgMjIuOS0xLjh6TTU2NyAyOTQuM2M3LjktNS4yIDguNS0xNi4yIDEuOC0yMi45TDM2OC42IDcxLjJjLTYuNy02LjctMTcuOC02LjItMjIuOSAxLjhjLTE2LjMgMjUtMjUuNyA1NC45LTI1LjcgODdjMCA4OC40IDcxLjYgMTYwIDE2MCAxNjBjMzIuMSAwIDYxLjktOS40IDg3LTI1Ljd6TTMwMS41IDM2OEgxOC41Yy05LjUgMC0xNi45IDguMi0xNSAxNy41QzE4LjkgNDU3LjggODMuMSA1MTIgMTYwIDUxMnMxNDEuMS01NC4yIDE1Ni41LTEyNi41YzItOS4zLTUuNS0xNy41LTE1LTE3LjV6bTAtMzJjOS41IDAgMTYuOS04LjIgMTUtMTcuNUMzMDEuMSAyNDYuMiAyMzYuOSAxOTIgMTYwIDE5MlMxOC45IDI0Ni4yIDMuNSAzMTguNWMtMiA5LjMgNS41IDE3LjUgMTUgMTcuNUgzMDEuNXpcIl1cbn07XG52YXIgZmFFdGhlcm5ldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdldGhlcm5ldCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjc5NlwiLCBcIk0wIDIyNFY0MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJIOTZWMzM2YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZWNDQ4aDY0VjMzNmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2VjQ0OGg2NFYzMzZjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNlY0NDhoNjRWMzM2YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZWNDQ4aDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMkg0NDhWMTYwYzAtMTcuNy0xNC4zLTMyLTMyLTMySDM4NFY5NmMwLTE3LjctMTQuMy0zMi0zMi0zMkgxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjMySDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnYzMkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6XCJdXG59O1xudmFyIGZhRXVyb1NpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZXVyby1zaWduJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbODM2NCwgXCJldXJcIiwgXCJldXJvXCJdLCBcImYxNTNcIiwgXCJNNDguMSAyNDBjLS4xIDIuNy0uMSA1LjMtLjEgOHYxNmMwIDIuNyAwIDUuMyAuMSA4SDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDYwLjNDODkuOSA0MTkuOSAxNzAgNDgwIDI2NCA0ODBoMjRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMjY0Yy01Ny45IDAtMTA4LjItMzIuNC0xMzMuOS04MEgyNTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTEyLjJjLS4xLTIuNi0uMi01LjMtLjItOFYyNDhjMC0yLjcgLjEtNS40IC4yLThIMjU2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDEzMC4xYzI1LjctNDcuNiA3Ni04MCAxMzMuOS04MGgyNGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgyNjRDMTcwIDMyIDg5LjkgOTIuMSA2MC4zIDE3NkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg0OC4xelwiXVxufTtcbnZhciBmYUV1ciA9IGZhRXVyb1NpZ247XG52YXIgZmFFdXJvID0gZmFFdXJvU2lnbjtcbnZhciBmYUNoYWlyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoYWlyJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI5NjgxXSwgXCJmNmMwXCIsIFwiTTI0OCA0OFYyNTZoNDhWNTguN2MyMy45IDEzLjggNDAgMzkuNyA0MCA2OS4zVjI1Nmg0OFYxMjhDMzg0IDU3LjMgMzI2LjcgMCAyNTYgMEgxOTJDMTIxLjMgMCA2NCA1Ny4zIDY0IDEyOFYyNTZoNDhWMTI4YzAtMjkuNiAxNi4xLTU1LjUgNDAtNjkuM1YyNTZoNDhWNDhoNDh6TTQ4IDI4OGMtMTIuMSAwLTIzLjIgNi44LTI4LjYgMTcuN2wtMTYgMzJjLTUgOS45LTQuNCAyMS43IDEuNCAzMS4xUzIwLjkgMzg0IDMyIDM4NGwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMzg0SDM1MnY5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjM4NGMxMS4xIDAgMjEuNC01LjcgMjcuMi0xNS4yczYuNC0yMS4yIDEuNC0zMS4xbC0xNi0zMkM0MjMuMiAyOTQuOCA0MTIuMSAyODggNDAwIDI4OEg0OHpcIl1cbn07XG52YXIgZmFDaXJjbGVDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtY2hlY2snLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MTUzMywgXCJjaGVjay1jaXJjbGVcIl0sIFwiZjA1OFwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzY5IDIwOUwyNDEgMzM3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtNjQtNjRjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw0NyA0N0wzMzUgMTc1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOXpcIl1cbn07XG52YXIgZmFDaGVja0NpcmNsZSA9IGZhQ2lyY2xlQ2hlY2s7XG52YXIgZmFDaXJjbGVTdG9wID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1zdG9wJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjIwOTQsIFwic3RvcC1jaXJjbGVcIl0sIFwiZjI4ZFwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTkyIDE2MEgzMjBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWMzIwYzAgMTcuNy0xNC4zIDMyLTMyIDMySDE5MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMyelwiXVxufTtcbnZhciBmYVN0b3BDaXJjbGUgPSBmYUNpcmNsZVN0b3A7XG52YXIgZmFDb21wYXNzRHJhZnRpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tcGFzcy1kcmFmdGluZycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZHJhZnRpbmctY29tcGFzc1wiXSwgXCJmNTY4XCIsIFwiTTM1MiA5NmMwIDE0LjMtMy4xIDI3LjktOC44IDQwLjJMMzk2IDIyNy40Yy0yMy43IDI1LjMtNTQuMiA0NC4xLTg4LjUgNTMuNkwyNTYgMTkyaDAgMGwtNjggMTE3LjVjMjEuNSA2LjggNDQuMyAxMC41IDY4LjEgMTAuNWM3MC43IDAgMTMzLjgtMzIuNyAxNzQuOS04NGMxMS4xLTEzLjggMzEuMi0xNiA0NS01czE2IDMxLjIgNSA0NUM0MjguMSAzNDEuOCAzNDcgMzg0IDI1NiAzODRjLTM1LjQgMC02OS40LTYuNC0xMDAuNy0xOC4xTDk4LjcgNDYzLjdDOTQgNDcxLjggODcgNDc4LjQgNzguNiA0ODIuNkwyMy4yIDUxMC4zYy01IDIuNS0xMC45IDIuMi0xNS42LS43UzAgNTAxLjUgMCA0OTZWNDQwLjZjMC04LjQgMi4yLTE2LjcgNi41LTI0LjFsNjAtMTAzLjdDNTMuNyAzMDEuNiA0MS44IDI4OS4zIDMxLjIgMjc2Yy0xMS4xLTEzLjgtOC44LTMzLjkgNS00NXMzMy45LTguOCA0NSA1YzUuNyA3LjEgMTEuOCAxMy44IDE4LjIgMjAuMWw2OS40LTExOS45Yy01LjYtMTIuMi04LjgtMjUuOC04LjgtNDAuMmMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2em0yMSAyOTcuOWMzMi42LTEyLjggNjIuNS0zMC44IDg4LjktNTIuOWw0My43IDc1LjVjNC4yIDcuMyA2LjUgMTUuNiA2LjUgMjQuMVY0OTZjMCA1LjUtMi45IDEwLjctNy42IDEzLjZzLTEwLjYgMy4yLTE1LjYgLjdsLTU1LjQtMjcuN2MtOC40LTQuMi0xNS40LTEwLjgtMjAuMS0xOC45TDM3MyAzOTMuOXpNMjU2IDEyOGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xudmFyIGZhRHJhZnRpbmdDb21wYXNzID0gZmFDb21wYXNzRHJhZnRpbmc7XG52YXIgZmFQbGF0ZVdoZWF0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsYXRlLXdoZWF0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTVhXCIsIFwiTTE3NiAzMmM0NC4yIDAgODAgMzUuOCA4MCA4MHYxNmMwIDguOC03LjIgMTYtMTYgMTZjLTQ0LjIgMC04MC0zNS44LTgwLTgwVjQ4YzAtOC44IDcuMi0xNiAxNi0xNnpNNTYgNjRoNDhjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRINTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6TTI0IDEzNkgxMzZjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIMjRjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTggOTZjMC0xMy4zIDEwLjctMjQgMjQtMjRoNDhjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRINTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0ek0yNzIgNDhjMC04LjggNy4yLTE2IDE2LTE2YzQ0LjIgMCA4MCAzNS44IDgwIDgwdjE2YzAgOC44LTcuMiAxNi0xNiAxNmMtNDQuMiAwLTgwLTM1LjgtODAtODBWNDh6TTQwMCAzMmM0NC4yIDAgODAgMzUuOCA4MCA4MHYxNmMwIDguOC03LjIgMTYtMTYgMTZjLTQ0LjIgMC04MC0zNS44LTgwLTgwVjQ4YzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTYwdjE2YzAgNDQuMi0zNS44IDgwLTgwIDgwYy04LjggMC0xNi03LjItMTYtMTZWMjU2YzAtNDQuMiAzNS44LTgwIDgwLTgwYzguOCAwIDE2IDcuMiAxNiAxNnpNMzUyIDE3NmM4LjggMCAxNiA3LjIgMTYgMTZ2MTZjMCA0NC4yLTM1LjggODAtODAgODBjLTguOCAwLTE2LTcuMi0xNi0xNlYyNTZjMC00NC4yIDM1LjgtODAgODAtODB6bS05NiAxNnYxNmMwIDQ0LjItMzUuOCA4MC04MCA4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjI1NmMwLTQ0LjIgMzUuOC04MCA4MC04MGM4LjggMCAxNiA3LjIgMTYgMTZ6TTMuNSAzNDcuNkMxLjYgMzMyLjkgMTMgMzIwIDI3LjggMzIwSDQ4NC4yYzE0LjggMCAyNi4yIDEyLjkgMjQuNCAyNy42QzUwMi4zIDM5Ny44IDQ2NC4yIDQzNyA0MTYgNDQ2djJjMCAxNy43LTE0LjMgMzItMzIgMzJIMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnYtMmMtNDguMi05LTg2LjMtNDguMi05Mi41LTk4LjR6XCJdXG59O1xudmFyIGZhSWNpY2xlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdpY2ljbGVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmN2FkXCIsIFwiTTc1LjggMzA0LjhMMSAzNS43Yy0uNy0yLjUtMS01LTEtNy41QzAgMTIuNiAxMi42IDAgMjguMiAwSDQ4Mi40QzQ5OC44IDAgNTEyIDEzLjIgNTEyIDI5LjZjMCAxLjYtLjEgMy4zLS40IDQuOUw0MzQuNiA0OTYuMWMtMS41IDkuMi05LjUgMTUuOS0xOC44IDE1LjljLTkuMiAwLTE3LjEtNi42LTE4LjctMTUuNkwzMzYgMTYwIDMwNy4yIDMwMy45Yy0xLjkgOS4zLTEwLjEgMTYuMS0xOS42IDE2LjFjLTkuMiAwLTE3LjItNi4yLTE5LjQtMTUuMUwyNDAgMTkyIDIxMC42IDM2OC4yYy0xLjUgOS4xLTkuNCAxNS44LTE4LjYgMTUuOHMtMTcuMS02LjctMTguNi0xNS44TDE0NCAxOTIgMTE1LjkgMzA0LjNjLTIuMyA5LjItMTAuNiAxNS43LTIwLjEgMTUuN2MtOS4zIDAtMTcuNS02LjItMjAtMTUuMnpcIl1cbn07XG52YXIgZmFQZXJzb25TaGVsdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1zaGVsdGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTRmXCIsIFwiTTI3MS45IDQuMmMtOS44LTUuNi0yMS45LTUuNi0zMS44IDBsLTIyNCAxMjhDNi4yIDEzNy45IDAgMTQ4LjUgMCAxNjBWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMTc4LjZMMjU2IDY4LjkgNDQ4IDE3OC42VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjE2MGMwLTExLjUtNi4yLTIyLjEtMTYuMS0yNy44bC0yMjQtMTI4ek0yNTYgMjA4YTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHptLTggMjgwVjQwMGgxNnY4OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjMxMy41bDI2LjkgNDkuOWM2LjMgMTEuNyAyMC44IDE2IDMyLjUgOS44czE2LTIwLjggOS44LTMyLjVsLTM3LjktNzAuM2MtMTUuMy0yOC41LTQ1LjEtNDYuMy03Ny41LTQ2LjNIMjQ2LjJjLTMyLjQgMC02Mi4xIDE3LjgtNzcuNSA0Ni4zbC0zNy45IDcwLjNjLTYuMyAxMS43LTEuOSAyNi4yIDkuOCAzMi41czI2LjIgMS45IDMyLjUtOS44TDIwMCAzMTMuNVY0ODhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNHpcIl1cbn07XG52YXIgZmFOZXV0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbmV1dGVyJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbOTkwNl0sIFwiZjIyY1wiLCBcIk04MCAxNzZhMTEyIDExMiAwIDEgMSAyMjQgMEExMTIgMTEyIDAgMSAxIDgwIDE3NnpNMjI0IDM0OS4xYzgxLjktMTUgMTQ0LTg2LjggMTQ0LTE3My4xQzM2OCA3OC44IDI4OS4yIDAgMTkyIDBTMTYgNzguOCAxNiAxNzZjMCA4Ni4zIDYyLjEgMTU4LjEgMTQ0IDE3My4xVjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjM0OS4xelwiXVxufTtcbnZhciBmYUlkQmFkZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaWQtYmFkZ2UnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImYyYzFcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDMyMGMzNS4zIDAgNjQtMjguNyA2NC02NFY2NGMwLTM1LjMtMjguNy02NC02NC02NEg2NHptOTYgMzIwaDY0YzQ0LjIgMCA4MCAzNS44IDgwIDgwYzAgOC44LTcuMiAxNi0xNiAxNkg5NmMtOC44IDAtMTYtNy4yLTE2LTE2YzAtNDQuMiAzNS44LTgwIDgwLTgwem0tMzItOTZhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwek0xNDQgNjRoOTZjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMTQ0Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2elwiXVxufTtcbnZhciBmYU1hcmtlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXJrZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1YTFcIiwgXCJNNDgxIDMxQzQ0NS4xLTQuOCAzODYuOS00LjggMzUxIDMxbC0xNSAxNUwzMjIuOSAzM0MyOTQuOCA0LjkgMjQ5LjIgNC45IDIyMS4xIDMzTDEzNSAxMTljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMEwyNTUgNjYuOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMEwzMDIuMSA4MCAxODYuMyAxOTUuNyAzMTYuMyAzMjUuNyA0ODEgMTYxYzM1LjktMzUuOSAzNS45LTk0LjEgMC0xMjkuOXpNMjkzLjcgMzQ4LjNMMTYzLjcgMjE4LjMgOTkuNSAyODIuNWMtNDggNDgtODAuOCAxMDkuMi05NC4xIDE3NS44bC01IDI1Yy0xLjYgNy45IC45IDE2IDYuNiAyMS43czEzLjggOC4xIDIxLjcgNi42bDI1LTVjNjYuNi0xMy4zIDEyNy44LTQ2LjEgMTc1LjgtOTQuMWw2NC4yLTY0LjJ6XCJdXG59O1xudmFyIGZhRmFjZUxhdWdoQmVhbSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWxhdWdoLWJlYW0nLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1MTMsIFwibGF1Z2gtYmVhbVwiXSwgXCJmNTlhXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek05Ni44IDMxNC4xYy0zLjgtMTMuNyA3LjQtMjYuMSAyMS42LTI2LjFIMzkzLjZjMTQuMiAwIDI1LjUgMTIuNCAyMS42IDI2LjFDMzk2LjIgMzgyIDMzMi4xIDQzMiAyNTYgNDMycy0xNDAuMi01MC0xNTkuMi0xMTcuOXpNMjE3LjYgMjEyLjhsMCAwIDAgMC0uMi0uMmMtLjItLjItLjQtLjUtLjctLjljLS42LS44LTEuNi0yLTIuOC0zLjRjLTIuNS0yLjgtNi02LjYtMTAuMi0xMC4zYy04LjgtNy44LTE4LjgtMTQtMjcuNy0xNHMtMTguOSA2LjItMjcuNyAxNGMtNC4yIDMuNy03LjcgNy41LTEwLjIgMTAuM2MtMS4yIDEuNC0yLjIgMi42LTIuOCAzLjRjLS4zIC40LS42IC43LS43IC45bC0uMiAuMiAwIDAgMCAwIDAgMGMtMi4xIDIuOC01LjcgMy45LTguOSAyLjhzLTUuNS00LjEtNS41LTcuNmMwLTE3LjkgNi43LTM1LjYgMTYuNi00OC44YzkuOC0xMyAyMy45LTIzLjIgMzkuNC0yMy4yczI5LjYgMTAuMiAzOS40IDIzLjJjOS45IDEzLjIgMTYuNiAzMC45IDE2LjYgNDguOGMwIDMuNC0yLjIgNi41LTUuNSA3LjZzLTYuOSAwLTguOS0yLjhsMCAwIDAgMHptMTYwIDBsMCAwLS4yLS4yYy0uMi0uMi0uNC0uNS0uNy0uOWMtLjYtLjgtMS42LTItMi44LTMuNGMtMi41LTIuOC02LTYuNi0xMC4yLTEwLjNjLTguOC03LjgtMTguOC0xNC0yNy43LTE0cy0xOC45IDYuMi0yNy43IDE0Yy00LjIgMy43LTcuNyA3LjUtMTAuMiAxMC4zYy0xLjIgMS40LTIuMiAyLjYtMi44IDMuNGMtLjMgLjQtLjYgLjctLjcgLjlsLS4yIC4yIDAgMCAwIDAgMCAwYy0yLjEgMi44LTUuNyAzLjktOC45IDIuOHMtNS41LTQuMS01LjUtNy42YzAtMTcuOSA2LjctMzUuNiAxNi42LTQ4LjhjOS44LTEzIDIzLjktMjMuMiAzOS40LTIzLjJzMjkuNiAxMC4yIDM5LjQgMjMuMmM5LjkgMTMuMiAxNi42IDMwLjkgMTYuNiA0OC44YzAgMy40LTIuMiA2LjUtNS41IDcuNnMtNi45IDAtOC45LTIuOGwwIDAgMCAwIDAgMHpcIl1cbn07XG52YXIgZmFMYXVnaEJlYW0gPSBmYUZhY2VMYXVnaEJlYW07XG52YXIgZmFIZWxpY29wdGVyU3ltYm9sID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlbGljb3B0ZXItc3ltYm9sJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTAyXCIsIFwiTTQ0NS4zIDIyNEg1MTBDNDk1LjYgMTA4LjIgNDAzLjggMTYuNCAyODggMlY2Ni43QzM2OC40IDgwLjEgNDMxLjkgMTQzLjYgNDQ1LjMgMjI0ek01MTAgMjg4SDQ0NS4zQzQzMS45IDM2OC40IDM2OC40IDQzMS45IDI4OCA0NDUuNFY1MTBjMTE1LjgtMTQuNCAyMDcuNi0xMDYuMiAyMjItMjIyek0yIDI4OEMxNi40IDQwMy44IDEwOC4yIDQ5NS42IDIyNCA1MTBWNDQ1LjRDMTQzLjYgNDMxLjkgODAuMSAzNjguNCA2Ni43IDI4OEgyem0wLTY0SDY2LjdDODAuMSAxNDMuNiAxNDMuNiA4MC4xIDIyNCA2Ni43VjJDMTA4LjIgMTYuNCAxNi40IDEwOC4yIDIgMjI0em0yMDYtNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWMzUyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMjg4aDk2djY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMTYwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMydjY0SDIwOFYxNjB6XCJdXG59O1xudmFyIGZhVW5pdmVyc2FsQWNjZXNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VuaXZlcnNhbC1hY2Nlc3MnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYyOWFcIiwgXCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2em0xNjEuNS04Ni4xYy0xMi4yLTUuMi0yNi4zIC40LTMxLjUgMTIuNnMuNCAyNi4zIDEyLjYgMzEuNWwxMS45IDUuMWMxNy4zIDcuNCAzNS4yIDEyLjkgNTMuNiAxNi4zdjUwLjFjMCA0LjMtLjcgOC42LTIuMSAxMi42bC0yOC43IDg2LjFjLTQuMiAxMi42IDIuNiAyNi4yIDE1LjIgMzAuNHMyNi4yLTIuNiAzMC40LTE1LjJsMjQuNC03My4yYzEuMy0zLjggNC44LTYuNCA4LjgtNi40czcuNiAyLjYgOC44IDYuNGwyNC40IDczLjJjNC4yIDEyLjYgMTcuOCAxOS40IDMwLjQgMTUuMnMxOS40LTE3LjggMTUuMi0zMC40bC0yOC43LTg2LjFjLTEuNC00LjEtMi4xLTguMy0yLjEtMTIuNlYyMzUuNWMxOC40LTMuNSAzNi4zLTguOSA1My42LTE2LjNsMTEuOS01LjFjMTIuMi01LjIgMTcuOC0xOS4zIDEyLjYtMzEuNXMtMTkuMy0xNy44LTMxLjUtMTIuNkwzMzguNyAxNzVjLTI2LjEgMTEuMi01NC4yIDE3LTgyLjcgMTdzLTU2LjUtNS44LTgyLjctMTdsLTExLjktNS4xek0yNTYgMTYwYTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHpcIl1cbn07XG52YXIgZmFDaXJjbGVDaGV2cm9uVXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLWNoZXZyb24tdXAnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImNoZXZyb24tY2lyY2xlLXVwXCJdLCBcImYxMzlcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTM3NyAyNzFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtODctODctODcgODdjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlMMjM5IDE2N2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMEwzNzcgMjcxelwiXVxufTtcbnZhciBmYUNoZXZyb25DaXJjbGVVcCA9IGZhQ2lyY2xlQ2hldnJvblVwO1xudmFyIGZhTGFyaVNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGFyaS1zaWduJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlMWM4XCIsIFwiTTE0NCAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMlY5Ni43YzUuMy0uNCAxMC42LS43IDE2LS43czEwLjcgLjIgMTYgLjdWNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnY0OS40YzU0LjkgMjUuMiA5NS44IDc1LjUgMTA4LjIgMTM2LjJjMy41IDE3LjMtNy43IDM0LjItMjUgMzcuN3MtMzQuMi03LjctMzcuNy0yNWMtNi4xLTI5LjktMjIuNS01NS45LTQ1LjQtNzQuM1YyNTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMTYxYy01LjItLjctMTAuNi0xLTE2LTFzLTEwLjggLjMtMTYgMXY5NWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYxODguMUM4Mi43IDIxMS41IDY0IDI0Ny42IDY0IDI4OGMwIDcwLjcgNTcuMyAxMjggMTI4IDEyOEgzNTJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMTkyIDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDQ4LjlDMTguNSAzODIgMCAzMzcuMiAwIDI4OGMwLTc3LjUgNDUuOS0xNDQuMyAxMTItMTc0LjZWNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xudmFyIGZhVm9sY2FubyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2b2xjYW5vJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3NzU1XSwgXCJmNzcwXCIsIFwiTTE2MCAxNDRjLTM1LjMgMC02NC0yOC43LTY0LTY0czI4LjctNjQgNjQtNjRjMTUuNyAwIDMwIDUuNiA0MS4yIDE1QzIxMi40IDEyLjQgMjMyLjcgMCAyNTYgMHM0My42IDEyLjQgNTQuOCAzMUMzMjIgMjEuNiAzMzYuMyAxNiAzNTIgMTZjMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjRjLTE0LjcgMC0yOC4zLTUtMzkuMS0xMy4zbC0zMiA0OEMyNzUuMyAxODcgMjY2IDE5MiAyNTYgMTkycy0xOS4zLTUtMjQuOS0xMy4zbC0zMi00OEMxODguMyAxMzkgMTc0LjcgMTQ0IDE2MCAxNDR6TTE0NCAzNTJsNDguNC0yNC4yYzEwLjItNS4xIDIxLjYtNy44IDMzLTcuOGMxOS42IDAgMzguNCA3LjggNTIuMiAyMS42bDMyLjUgMzIuNWM2LjMgNi4zIDE0LjkgOS45IDIzLjggOS45YzExLjMgMCAyMS44LTUuNiAyOC0xNWw5LjctMTQuNi01OC45LTY2LjNjLTkuMS0xMC4yLTIyLjItMTYuMS0zNS45LTE2LjFIMjM1LjFjLTEzLjcgMC0yNi44IDUuOS0zNS45IDE2LjFsLTU5LjkgNjcuNEwxNDQgMzUyem0xOS40LTk1LjhjMTguMi0yMC41IDQ0LjMtMzIuMiA3MS44LTMyLjJoNDEuOGMyNy40IDAgNTMuNSAxMS43IDcxLjggMzIuMmwxNTAuMiAxNjljOC41IDkuNSAxMy4yIDIxLjkgMTMuMiAzNC43YzAgMjguOC0yMy40IDUyLjItNTIuMiA1Mi4ySDUyLjJDMjMuNCA1MTIgMCA0ODguNiAwIDQ1OS44YzAtMTIuOCA0LjctMjUuMSAxMy4yLTM0LjdsMTUwLjItMTY5elwiXVxufTtcbnZhciBmYVBlcnNvbldhbGtpbmdEYXNoZWRMaW5lQXJyb3dSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24td2Fsa2luZy1kYXNoZWQtbGluZS1hcnJvdy1yaWdodCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU1M1wiLCBcIk0yMDggOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek0xMjMuNyAyMDAuNWMxLS40IDEuOS0uOCAyLjktMS4ybC0xNi45IDYzLjVjLTUuNiAyMS4xLS4xIDQzLjYgMTQuNyA1OS43bDcwLjcgNzcuMSAyMiA4OC4xYzQuMyAxNy4xIDIxLjcgMjcuNiAzOC44IDIzLjNzMjcuNi0yMS43IDIzLjMtMzguOGwtMjMtOTIuMWMtMS45LTcuOC01LjgtMTQuOS0xMS4yLTIwLjhsLTQ5LjUtNTQgMTkuMy02NS41IDkuNiAyM2M0LjQgMTAuNiAxMi41IDE5LjMgMjIuOCAyNC41bDI2LjcgMTMuM2MxNS44IDcuOSAzNSAxLjUgNDIuOS0xNC4zczEuNS0zNS0xNC4zLTQyLjlMMjgxIDIzMi43bC0xNS4zLTM2LjhDMjQ4LjUgMTU0LjggMjA4LjMgMTI4IDE2My43IDEyOGMtMjIuOCAwLTQ1LjMgNC44LTY2LjEgMTRsLTggMy41Yy0zMi45IDE0LjYtNTguMSA0Mi40LTY5LjQgNzYuNWwtMi42IDcuOGMtNS42IDE2LjggMy41IDM0LjkgMjAuMiA0MC41czM0LjktMy41IDQwLjUtMjAuMmwyLjYtNy44YzUuNy0xNy4xIDE4LjMtMzAuOSAzNC43LTM4LjJsOC0zLjV6bS0zMCAxMzUuMUw2OC43IDM5OCA5LjQgNDU3LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTE2LjMgNDQxYzQuNi00LjYgOC4yLTEwLjEgMTAuNi0xNi4xbDE0LjUtMzYuMi00MC43LTQ0LjRjLTIuNS0yLjctNC44LTUuNi03LTguNnpNNTUwLjYgMTUzLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDUzMC43IDIyNEgzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINTMwLjdsLTI1LjQgMjUuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw4MC04MGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtODAtODB6TTM5MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNFY3MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjI0YzAtMTMuMy0xMC43LTI0LTI0LTI0em0yNCAxNTJjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR2MTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFYxNTJ6TTM5MiAzMjBjLTEzLjMgMC0yNCAxMC43LTI0IDI0djE2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWMzQ0YzAtMTMuMy0xMC43LTI0LTI0LTI0em0yNCAxMjBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR2NDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFY0NDB6XCJdXG59O1xudmFyIGZhU3RlcmxpbmdTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0ZXJsaW5nLXNpZ24nLFxuICBpY29uOiBbMzIwLCA1MTIsIFsxNjMsIFwiZ2JwXCIsIFwicG91bmQtc2lnblwiXSwgXCJmMTU0XCIsIFwiTTExMiAxNjAuNGMwLTM1LjUgMjguOC02NC40IDY0LjQtNjQuNGM2LjkgMCAxMy44IDEuMSAyMC40IDMuM2w4MS4yIDI3LjFjMTYuOCA1LjYgMzQuOS0zLjUgNDAuNS0yMC4ycy0zLjUtMzQuOS0yMC4yLTQwLjVMMjE3IDM4LjZjLTEzLjEtNC40LTI2LjgtNi42LTQwLjYtNi42QzEwNS41IDMyIDQ4IDg5LjUgNDggMTYwLjRWMjI0SDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDQ4djQ0LjVjMCAxNy40LTQuNyAzNC41LTEzLjcgNDkuNEw0LjYgNDMxLjVjLTUuOSA5LjktNi4xIDIyLjItLjQgMzIuMlMyMC41IDQ4MCAzMiA0ODBIMjg4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDg4LjVsLjctMS4xQzEwNC4xIDM5MCAxMTIgMzYxLjUgMTEyIDMzMi41VjI4OEgyMjRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTEyVjE2MC40elwiXVxufTtcbnZhciBmYUdicCA9IGZhU3RlcmxpbmdTaWduO1xudmFyIGZhUG91bmRTaWduID0gZmFTdGVybGluZ1NpZ247XG52YXIgZmFWaXJ1c2VzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZpcnVzZXMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImUwNzZcIiwgXCJNMTkyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRWMzcuNWMwIDM1LjYgNDMuMSA1My41IDY4LjMgMjguM2w5LjUtOS41YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtOS41IDkuNUMyOTMgMTI0LjkgMzEwLjkgMTY4IDM0Ni41IDE2OEgzNjBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIMzQ2LjVjLTM1LjYgMC01My41IDQzLjEtMjguMyA2OC4zbDkuNSA5LjVjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtOS41LTkuNUMyNTkuMSAyOTMgMjE2IDMxMC45IDIxNiAzNDYuNVYzNjBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWMzQ2LjVjMC0zNS42LTQzLjEtNTMuNS02OC4zLTI4LjNsLTkuNSA5LjVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsOS41LTkuNUM5MSAyNTkuMSA3My4xIDIxNiAzNy41IDIxNkgyNGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNEgzNy41YzM1LjYgMCA1My41LTQzLjEgMjguMy02OC4zbC05LjUtOS41Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsOS41IDkuNUMxMjQuOSA5MSAxNjggNzMuMSAxNjggMzcuNVYyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHptNDggMjI0YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnptLTQ4LTY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTMyMCA4MGMwIDMzIDM5LjkgNDkuNSA2My4yIDI2LjJjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42QzU3NC41IDMxMi4xIDU5MSAzNTIgNjI0IDM1MmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmMtMzMgMC00OS41IDM5LjktMjYuMiA2My4yYzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBDNTUxLjkgNDQ2LjUgNTEyIDQ2MyA1MTIgNDk2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2YzAtMzMtMzkuOS00OS41LTYzLjItMjYuMmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkM0MTcuNSA0MjMuOSA0MDEgMzg0IDM2OCAzODRjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZjMzMgMCA0OS41LTM5LjkgMjYuMi02My4yYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBDNDQwLjEgMjg5LjUgNDgwIDI3MyA0ODAgMjQwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ6bTAgMTEyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6XCJdXG59O1xudmFyIGZhU3F1YXJlUGVyc29uQ29uZmluZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLXBlcnNvbi1jb25maW5lZCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTU3N1wiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEgzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6bTk2IDExMmE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem04MCAxMDRjMC0zMC45IDI1LjEtNTYgNTYtNTZzNTYgMjUuMSA1NiA1NlYzNTAuMWMwIDM2LjQtMjkuNSA2NS45LTY1LjkgNjUuOWMtMTcuNSAwLTM0LjMtNi45LTQ2LjYtMTkuM0wxODQuOCAzNDJsLTI4LjEgNTYuM2MtNy45IDE1LjgtMjcuMSAyMi4yLTQyLjkgMTQuM3MtMjIuMi0yNy4xLTE0LjMtNDIuOWw0OC05NmM0LjYtOS4yIDEzLjMtMTUuNiAyMy41LTE3LjNzMjAuNSAxLjcgMjcuOCA5TDI0MCAzMDYuN1YyNDh6XCJdXG59O1xudmFyIGZhVXNlclRpZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLXRpZScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjUwOFwiLCBcIk05NiAxMjhhMTI4IDEyOCAwIDEgMCAyNTYgMEExMjggMTI4IDAgMSAwIDk2IDEyOHptOTQuNSAyMDAuMmwxOC42IDMxTDE3NS44IDQ4My4xbC0zNi0xNDYuOWMtMi04LjEtOS44LTEzLjQtMTcuOS0xMS4zQzUxLjkgMzQyLjQgMCA0MDUuOCAwIDQ4MS4zYzAgMTcgMTMuOCAzMC43IDMwLjcgMzAuN0gxNjIuNWMwIDAgMCAwIC4xIDBIMTY4IDI4MGg1LjVjMCAwIDAgMCAuMSAwSDQxNy4zYzE3IDAgMzAuNy0xMy44IDMwLjctMzAuN2MwLTc1LjUtNTEuOS0xMzguOS0xMjEuOS0xNTYuNGMtOC4xLTItMTUuOSAzLjMtMTcuOSAxMS4zbC0zNiAxNDYuOUwyMzguOSAzNTkuMmwxOC42LTMxYzYuNC0xMC43LTEuMy0yNC4yLTEzLjctMjQuMkgyMjQgMjA0LjNjLTEyLjQgMC0yMC4xIDEzLjYtMTMuNyAyNC4yelwiXVxufTtcbnZhciBmYUFycm93RG93bkxvbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctZG93bi1sb25nJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXCJsb25nLWFycm93LWRvd25cIl0sIFwiZjE3NVwiLCBcIk0xNjkuNCA1MDIuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDIyNCA0MDIuNyAyMjQgMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAzNzAuN0w4Ni42IDMyOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxMjggMTI4elwiXVxufTtcbnZhciBmYUxvbmdBcnJvd0Rvd24gPSBmYUFycm93RG93bkxvbmc7XG52YXIgZmFUZW50QXJyb3dEb3duVG9MaW5lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RlbnQtYXJyb3ctZG93bi10by1saW5lJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTdlXCIsIFwiTTI0MS44IDExMS45YzguOSA5LjkgOC4xIDI1LTEuOCAzMy45bC04MCA3MmMtOS4xIDguMi0yMyA4LjItMzIuMSAwbC04MC03MmMtOS45LTguOS0xMC43LTI0LTEuOC0zMy45czI0LTEwLjcgMzMuOS0xLjhsMzkuOSAzNkwxMjAgMjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDEyMi4xIDM5LjktMzZjOS45LTguOSAyNS04LjEgMzMuOSAxLjh6bTEyMi44IDIyLjZjMTEuNS04LjcgMjcuMy04LjcgMzguOCAwbDE2OCAxMjhjNi42IDUgMTEgMTIuNSAxMi4zIDIwLjdsMjQgMTYwIC43IDQuN2MxNy41IC4yIDMxLjYgMTQuNCAzMS42IDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMySDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDE1OS42bC43LTQuNyAyNC0xNjBjMS4yLTguMiA1LjYtMTUuNyAxMi4zLTIwLjdsMTY4LTEyOHpNMzg0IDQ0OGg4MEw0MDIuNyAzMjUuNWMtMS43LTMuNC01LjEtNS41LTguOC01LjVjLTUuNSAwLTkuOSA0LjQtOS45IDkuOVY0NDh6XCJdXG59O1xudmFyIGZhQ2VydGlmaWNhdGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2VydGlmaWNhdGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYwYTNcIiwgXCJNMjExIDcuM0MyMDUgMSAxOTYtMS40IDE4Ny42IC44cy0xNC45IDguOS0xNy4xIDE3LjNMMTU0LjcgODAuNmwtNjItMTcuNWMtOC40LTIuNC0xNy40IDAtMjMuNSA2LjFzLTguNSAxNS4xLTYuMSAyMy41bDE3LjUgNjJMMTguMSAxNzAuNmMtOC40IDIuMS0xNSA4LjctMTcuMyAxNy4xUzEgMjA1IDcuMyAyMTFsNDYuMiA0NUw3LjMgMzAxQzEgMzA3LTEuNCAzMTYgLjggMzI0LjRzOC45IDE0LjkgMTcuMyAxNy4xbDYyLjUgMTUuOC0xNy41IDYyYy0yLjQgOC40IDAgMTcuNCA2LjEgMjMuNXMxNS4xIDguNSAyMy41IDYuMWw2Mi0xNy41IDE1LjggNjIuNWMyLjEgOC40IDguNyAxNSAxNy4xIDE3LjNzMTcuMy0uMiAyMy40LTYuNGw0NS00Ni4yIDQ1IDQ2LjJjNi4xIDYuMiAxNSA4LjcgMjMuNCA2LjRzMTQuOS04LjkgMTcuMS0xNy4zbDE1LjgtNjIuNSA2MiAxNy41YzguNCAyLjQgMTcuNCAwIDIzLjUtNi4xczguNS0xNS4xIDYuMS0yMy41bC0xNy41LTYyIDYyLjUtMTUuOGM4LjQtMi4xIDE1LTguNyAxNy4zLTE3LjFzLS4yLTE3LjQtNi40LTIzLjRsLTQ2LjItNDUgNDYuMi00NWM2LjItNi4xIDguNy0xNSA2LjQtMjMuNHMtOC45LTE0LjktMTcuMy0xNy4xbC02Mi41LTE1LjggMTcuNS02MmMyLjQtOC40IDAtMTcuNC02LjEtMjMuNXMtMTUuMS04LjUtMjMuNS02LjFsLTYyIDE3LjVMMzQxLjQgMTguMWMtMi4xLTguNC04LjctMTUtMTcuMS0xNy4zUzMwNyAxIDMwMSA3LjNMMjU2IDUzLjUgMjExIDcuM3pcIl1cbn07XG52YXIgZmFSZXBseUFsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyZXBseS1hbGwnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcIm1haWwtcmVwbHktYWxsXCJdLCBcImYxMjJcIiwgXCJNMjA5LjQgMzkuNWMtOS4xLTkuNi0yNC4zLTEwLTMzLjktLjlMMzMuOCAxNzMuMmMtMTkuOSAxOC45LTE5LjkgNTAuNyAwIDY5LjZMMTc1LjUgMzc3LjRjOS42IDkuMSAyNC44IDguNyAzMy45LS45czguNy0yNC44LS45LTMzLjlMNjYuOCAyMDggMjA4LjUgNzMuNGM5LjYtOS4xIDEwLTI0LjMgLjktMzMuOXpNMzUyIDY0YzAtMTIuNi03LjQtMjQuMS0xOS0yOS4ycy0yNS0zLTM0LjQgNS40bC0xNjAgMTQ0Yy02LjcgNi4xLTEwLjYgMTQuNy0xMC42IDIzLjhzMy45IDE3LjcgMTAuNiAyMy44bDE2MCAxNDRjOS40IDguNSAyMi45IDEwLjYgMzQuNCA1LjRzMTktMTYuNiAxOS0yOS4yVjI4OGgzMmM1MyAwIDk2IDQzIDk2IDk2YzAgMzAuNC0xMi44IDQ3LjktMjIuMiA1Ni43Yy01LjUgNS4xLTkuOCAxMi05LjggMTkuNWMwIDEwLjkgOC44IDE5LjcgMTkuNyAxOS43YzIuOCAwIDUuNi0uNiA4LjEtMS45QzQ5NC41IDQ2Ny45IDU3NiA0MTcuMyA1NzYgMzA0YzAtOTcuMi03OC44LTE3Ni0xNzYtMTc2SDM1MlY2NHpcIl1cbn07XG52YXIgZmFNYWlsUmVwbHlBbGwgPSBmYVJlcGx5QWxsO1xudmFyIGZhU3VpdGNhc2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3VpdGNhc2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjk1MjNdLCBcImYwZjJcIiwgXCJNMTc2IDU2Vjk2SDMzNlY1NmMwLTQuNC0zLjYtOC04LThIMTg0Yy00LjQgMC04IDMuNi04IDh6TTEyOCA5NlY1NmMwLTMwLjkgMjUuMS01NiA1Ni01NkgzMjhjMzAuOSAwIDU2IDI1LjEgNTYgNTZWOTZ2MzJWNDgwSDEyOFYxMjggOTZ6TTY0IDk2SDk2VjQ4MEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMTYwYzAtMzUuMyAyOC43LTY0IDY0LTY0ek00NDggNDgwSDQxNlY5NmgzMmMzNS4zIDAgNjQgMjguNyA2NCA2NFY0MTZjMCAzNS4zLTI4LjcgNjQtNjQgNjR6XCJdXG59O1xudmFyIGZhUGVyc29uU2thdGluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tc2thdGluZycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wic2thdGluZ1wiXSwgXCJmN2M1XCIsIFwiTTM1MiA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek0xMjggMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMySDMxOS40YzQzLjYgMCA2NC42IDUzLjQgMzIuOCA4My4xbC03NC40IDY5LjQgNjAuMiA2MC4yYzkgOSAxNC4xIDIxLjIgMTQuMSAzMy45VjQxNmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzNDkuM2wtNzcuOS03Ny44Yy0yNi42LTI2LjYtMjQuNi03MC4zIDQuMy05NC40bDIwLjQtMTdIMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNODEuNCAzNTMuNGw4Ni45LTg2LjljNC42IDEwIDExIDE5LjMgMTkuMyAyNy41bDIxLjggMjEuOC04Mi43IDgyLjdjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zem0zMjIuNSA5NS4xYzguNiAyLjEgMTMuOCAxMC44IDExLjYgMTkuNGwtLjQgMS43Yy02LjIgMjQuOS0yOC42IDQyLjQtNTQuMyA0Mi40SDI3MmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmg4OC44YzExIDAgMjAuNi03LjUgMjMuMy0xOC4ybC40LTEuN2MyLjEtOC42IDEwLjgtMTMuOCAxOS40LTExLjZ6TTEzNS4yIDQ3OC4zbC02LjIgMy4xYy0yMS42IDEwLjgtNDcuNiA2LjYtNjQuNi0xMC41TDQuNyA0MTEuM2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDU5LjYgNTkuNmM3LjMgNy4zIDE4LjUgOS4xIDI3LjcgNC41bDYuMi0zLjFjNy45LTQgMTcuNS0uNyAyMS41IDcuMnMuNyAxNy41LTcuMiAyMS41elwiXVxufTtcbnZhciBmYVNrYXRpbmcgPSBmYVBlcnNvblNrYXRpbmc7XG52YXIgZmFGaWx0ZXJDaXJjbGVEb2xsYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsdGVyLWNpcmNsZS1kb2xsYXInLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImZ1bm5lbC1kb2xsYXJcIl0sIFwiZjY2MlwiLCBcIk0zLjkgMjIuOUMxMC41IDguOSAyNC41IDAgNDAgMEg0NzJjMTUuNSAwIDI5LjUgOC45IDM2LjEgMjIuOXM0LjYgMzAuNS01LjIgNDIuNUwzOTYuNCAxOTUuNkMzMTYuMiAyMTIuMSAyNTYgMjgzIDI1NiAzNjhjMCAyNy40IDYuMyA1My40IDE3LjUgNzYuNWMtMS42LS44LTMuMi0xLjgtNC43LTIuOWwtNjQtNDhjLTguMS02LTEyLjgtMTUuNS0xMi44LTI1LjZWMjg4LjlMOSA2NS4zQy0uNyA1My40LTIuOCAzNi44IDMuOSAyMi45ek0yODggMzY4YTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTEyMC44LTMyLjZjLjYtLjkgMS44LTIuMSA0LjItMy40YzUuMS0yLjcgMTIuNS00LjEgMTguNy00YzguMiAuMSAxNy4xIDEuOCAyNi40IDQuMWM4LjYgMi4xIDE3LjMtMy4xIDE5LjQtMTEuN3MtMy4xLTE3LjMtMTEuNy0xOS40Yy01LjYtMS40LTExLjYtMi43LTE3LjktMy43VjI4OGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNnY5LjVjLTYuMSAxLjItMTIuMyAzLjItMTggNi4zYy0xMS44IDYuMy0yMyAxOC40LTIxLjggMzcuMmMxIDE2IDExLjcgMjUuMyAyMS42IDMwLjdjOC44IDQuNyAxOS43IDcuOCAyOC42IDEwLjNsMS44IC41YzEwLjMgMi45IDE3LjkgNS4yIDIzLjIgOC4zYzQuNSAyLjcgNC43IDQuMiA0LjcgNS42Yy4xIDIuNC0uNSAzLjctMSA0LjVjLS42IDEtMS44IDIuMi00IDMuM2MtNC43IDIuNS0xMS44IDMuOC0xOC41IDMuNmMtOS41LS4zLTE4LjUtMy4xLTI5LjktNi44Yy0xLjktLjYtMy44LTEuMi01LjgtMS44Yy04LjQtMi42LTE3LjQgMi4xLTIwIDEwLjVzMi4xIDE3LjQgMTAuNSAyMGMxLjYgLjUgMy4zIDEgNSAxLjZsMCAwIDAgMGM3IDIuMyAxNS4xIDQuOCAyMy43IDYuNnYxMS40YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWNDM4LjdjNi4yLTEuMSAxMi41LTMuMSAxOC4zLTYuMmMxMi4xLTYuNSAyMi4zLTE4LjcgMjEuNy0zNi45Yy0uNS0xNi4yLTEwLjMtMjYuMy0yMC41LTMyLjNjLTkuNC01LjYtMjEuMi04LjktMzAuNS0xMS41bC0uMiAwYy0xMC40LTIuOS0xOC4zLTUuMi0yMy45LTguMmMtNC44LTIuNi00LjgtNC00LjgtNC41bDAtLjFjLS4xLTEuOSAuMy0yLjkgLjgtMy42elwiXVxufTtcbnZhciBmYUZ1bm5lbERvbGxhciA9IGZhRmlsdGVyQ2lyY2xlRG9sbGFyO1xudmFyIGZhQ2FtZXJhUmV0cm8gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FtZXJhLXJldHJvJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MjQ3XSwgXCJmMDgzXCIsIFwiTTIyMC42IDEyMS4yTDI3MS4xIDk2IDQ0OCA5NnY5NkgzMzMuMmMtMjEuOS0xNS4xLTQ4LjUtMjQtNzcuMi0yNHMtNTUuMiA4LjktNzcuMiAyNEg2NFYxMjhIMTkyYzkuOSAwIDE5LjctMi4zIDI4LjYtNi44ek0wIDEyOFY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRINDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDI3MS4xYy05LjkgMC0xOS43IDIuMy0yOC42IDYuOEwxOTIgNjRIMTYwVjQ4YzAtOC44LTcuMi0xNi0xNi0xNkg4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTZDMjguNyA2NCAwIDkyLjcgMCAxMjh6TTE2OCAzMDRhODggODggMCAxIDEgMTc2IDAgODggODggMCAxIDEgLTE3NiAwelwiXVxufTtcbnZhciBmYUNpcmNsZUFycm93RG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtYXJyb3ctZG93bicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYXJyb3ctY2lyY2xlLWRvd25cIl0sIFwiZjBhYlwiLCBcIk0yNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDB6TTEyNyAyODFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw3MSA3MUwyMzIgMTM2YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxODIuMSA3MS03MWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlMMjczIDM5M2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBMMTI3IDI4MXpcIl1cbn07XG52YXIgZmFBcnJvd0NpcmNsZURvd24gPSBmYUNpcmNsZUFycm93RG93bjtcbnZhciBmYUZpbGVJbXBvcnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1pbXBvcnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImFycm93LXJpZ2h0LXRvLWZpbGVcIl0sIFwiZjU2ZlwiLCBcIk0xMjggNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRIMzUyVjEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMkg1MTJWNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0SDE5MmMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMzM2SDMwMi4xbC0zOSAzOWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDgwLTgwYzkuNC05LjQgOS40LTI0LjYgMC0zMy45bC04MC04MGMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwzOSAzOUgxMjhWNjR6bTAgMjI0djQ4SDI0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0SDEyOHpNNTEyIDEyOEgzODRWMEw1MTIgMTI4elwiXVxufTtcbnZhciBmYUFycm93UmlnaHRUb0ZpbGUgPSBmYUZpbGVJbXBvcnQ7XG52YXIgZmFTcXVhcmVBcnJvd1VwUmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLWFycm93LXVwLXJpZ2h0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJleHRlcm5hbC1saW5rLXNxdWFyZVwiXSwgXCJmMTRjXCIsIFwiTTM4NCAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NFY0MTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0Vjk2QzAgNjAuNyAyOC43IDMyIDY0IDMySDM4NHpNMTYwIDE0NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGg5NC4xTDExOSAzMjdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGwxMzUtMTM1VjMyOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjE2OGMwLTEzLjMtMTAuNy0yNC0yNC0yNEgxNjB6XCJdXG59O1xudmFyIGZhRXh0ZXJuYWxMaW5rU3F1YXJlID0gZmFTcXVhcmVBcnJvd1VwUmlnaHQ7XG52YXIgZmFCb3hPcGVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JveC1vcGVuJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNDllXCIsIFwiTTU4LjkgNDIuMWMzLTYuMSA5LjYtOS42IDE2LjMtOC43TDMyMCA2NCA1NjQuOCAzMy40YzYuNy0uOCAxMy4zIDIuNyAxNi4zIDguN2w0MS43IDgzLjRjOSAxNy45LS42IDM5LjYtMTkuOCA0NS4xTDQzOS42IDIxNy4zYy0xMy45IDQtMjguOC0xLjktMzYuMi0xNC4zTDMyMCA2NCAyMzYuNiAyMDNjLTcuNCAxMi40LTIyLjMgMTguMy0zNi4yIDE0LjNMMzcuMSAxNzAuNmMtMTkuMy01LjUtMjguOC0yNy4yLTE5LjgtNDUuMUw1OC45IDQyLjF6TTMyMS4xIDEyOGw1NC45IDkxLjRjMTQuOSAyNC44IDQ0LjYgMzYuNiA3Mi41IDI4LjZMNTc2IDIxMS42djE2N2MwIDIyLTE1IDQxLjItMzYuNCA0Ni42bC0yMDQuMSA1MWMtMTAuMiAyLjYtMjAuOSAyLjYtMzEgMGwtMjA0LjEtNTFDNzkgNDE5LjcgNjQgNDAwLjUgNjQgMzc4LjV2LTE2N0wxOTEuNiAyNDhjMjcuOCA4IDU3LjYtMy44IDcyLjUtMjguNkwzMTguOSAxMjhoMi4yelwiXVxufTtcbnZhciBmYVNjcm9sbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzY3JvbGwnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjgyMjBdLCBcImY3MGVcIiwgXCJNMCA4MHY0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMkg0OCA5NlY4MGMwLTI2LjUtMjEuNS00OC00OC00OFMwIDUzLjUgMCA4MHpNMTEyIDMyYzEwIDEzLjQgMTYgMzAgMTYgNDhWMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR2LTUuM2MwLTMyLjQgMjYuMy01OC43IDU4LjctNTguN0g0ODBWMTI4YzAtNTMtNDMtOTYtOTYtOTZIMTEyek00NjQgNDgwYzYxLjkgMCAxMTItNTAuMSAxMTItMTEyYzAtOC44LTcuMi0xNi0xNi0xNkgzMTQuN2MtMTQuNyAwLTI2LjcgMTEuOS0yNi43IDI2LjdWMzg0YzAgNTMtNDMgOTYtOTYgOTZIMzY4aDk2elwiXVxufTtcbnZhciBmYVNwYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcGEnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY1YmJcIiwgXCJNMTgzLjEgMjM1LjNjMzMuNyAyMC43IDYyLjkgNDguMSA4NS44IDgwLjVjNyA5LjkgMTMuNCAyMC4zIDE5LjEgMzFjNS43LTEwLjggMTIuMS0yMS4xIDE5LjEtMzFjMjIuOS0zMi40IDUyLjEtNTkuOCA4NS44LTgwLjVDNDM3LjYgMjA3LjggNDkwLjEgMTkyIDU0NiAxOTJoOS45YzExLjEgMCAyMC4xIDkgMjAuMSAyMC4xQzU3NiAzNjAuMSA0NTYuMSA0ODAgMzA4LjEgNDgwSDI4OCAyNjcuOUMxMTkuOSA0ODAgMCAzNjAuMSAwIDIxMi4xQzAgMjAxIDkgMTkyIDIwLjEgMTkySDMwYzU1LjkgMCAxMDguNCAxNS44IDE1My4xIDQzLjN6TTMwMS41IDM3LjZjMTUuNyAxNi45IDYxLjEgNzEuOCA4NC40IDE2NC42Yy0zOCAyMS42LTcxLjQgNTAuOC05Ny45IDg1LjZjLTI2LjUtMzQuOC01OS45LTYzLjktOTcuOS04NS42YzIzLjItOTIuOCA2OC42LTE0Ny43IDg0LjQtMTY0LjZDMjc4IDMzLjkgMjgyLjkgMzIgMjg4IDMyczEwIDEuOSAxMy41IDUuNnpcIl1cbn07XG52YXIgZmFMb2NhdGlvblBpbkxvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbG9jYXRpb24tcGluLWxvY2snLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1MWZcIiwgXCJNMjE1LjcgNDk5LjJjMTEtMTMuOCAyNS4xLTMxLjcgNDAuMy01Mi4zVjM1MmMwLTIzLjcgMTIuOS00NC40IDMyLTU1LjRWMjcyYzAtNTUuNiA0MC41LTEwMS43IDkzLjYtMTEwLjVDMzY3IDcwIDI4Ny43IDAgMTkyIDBDODYgMCAwIDg2IDAgMTkyYzAgODcuNCAxMTcgMjQzIDE2OC4zIDMwNy4yYzEyLjMgMTUuMyAzNS4xIDE1LjMgNDcuNCAwek0xOTIgMTI4YTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4ek00MDAgMjQwYzE3LjcgMCAzMiAxNC4zIDMyIDMydjQ4SDM2OFYyNzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bS04MCAzMnY0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMySDQ4MGMxNy43IDAgMzItMTQuMyAzMi0zMlYzNTJjMC0xNy43LTE0LjMtMzItMzItMzJWMjcyYzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwelwiXVxufTtcbnZhciBmYVBhdXNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BhdXNlJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbOTIwOF0sIFwiZjA0Y1wiLCBcIk00OCA2NEMyMS41IDY0IDAgODUuNSAwIDExMlY0MDBjMCAyNi41IDIxLjUgNDggNDggNDhIODBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMTEyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDQ4em0xOTIgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhWNDAwYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDMyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjExMmMwLTI2LjUtMjEuNS00OC00OC00OEgyNDB6XCJdXG59O1xudmFyIGZhSGlsbEF2YWxhbmNoZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoaWxsLWF2YWxhbmNoZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTUwN1wiLCBcIk00MzkuNyA0MDEuOWMzNC4yIDIzLjEgODEuMSAxOS41IDExMS40LTEwLjhjMzQuNC0zNC40IDM0LjQtOTAuMSAwLTEyNC40Yy0yNy44LTI3LjgtNjkuNS0zMy4xLTEwMi42LTE2Yy0xMS44IDYuMS0xNi40IDIwLjYtMTAuMyAzMi4zczIwLjYgMTYuNCAzMi4zIDEwLjNjMTUuMS03LjggMzQtNS4zIDQ2LjYgNy4zYzE1LjYgMTUuNiAxNS42IDQwLjkgMCA1Ni42cy00MC45IDE1LjYtNTYuNiAwbC04MS43LTgxLjdDNDAxLjIgMjYxLjMgNDE2IDIzNi40IDQxNiAyMDhjMC0zMy45LTIxLjEtNjIuOS01MC45LTc0LjVjMS45LTYuOCAyLjktMTQgMi45LTIxLjVjMC00NC4yLTM1LjgtODAtODAtODBjLTI3LjMgMC01MS41IDEzLjctNjUuOSAzNC42QzIxNi4zIDQ2LjYgMTk3LjkgMzIgMTc2IDMyYy0yNi41IDAtNDggMjEuNS00OCA0OGMwIDQgLjUgNy45IDEuNCAxMS42TDQzOS43IDQwMS45ek00ODAgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMCAxMjhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek02OC4zIDg3QzQzLjEgNjEuOCAwIDc5LjcgMCAxMTUuM1Y0MzJjMCA0NC4yIDM1LjggODAgODAgODBIMzk2LjdjMzUuNiAwIDUzLjUtNDMuMSAyOC4zLTY4LjNMNjguMyA4N3pcIl1cbn07XG52YXIgZmFUZW1wZXJhdHVyZUVtcHR5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RlbXBlcmF0dXJlLWVtcHR5JyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJ0ZW1wZXJhdHVyZS0wXCIsIFwidGhlcm1vbWV0ZXItMFwiLCBcInRoZXJtb21ldGVyLWVtcHR5XCJdLCBcImYyY2JcIiwgXCJNMTEyIDExMmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4VjI3Ni41YzAgMTcuMyA3LjEgMzEuOSAxNS4zIDQyLjVDMjMzLjggMzMyLjYgMjQwIDM0OS41IDI0MCAzNjhjMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBjMC0xOC41IDYuMi0zNS40IDE2LjctNDguOWM4LjItMTAuNiAxNS4zLTI1LjIgMTUuMy00Mi41VjExMnpNMTYwIDBDOTguMSAwIDQ4IDUwLjIgNDggMTEyVjI3Ni41YzAgLjEtLjEgLjMtLjIgLjZjLS4yIC42LS44IDEuNi0xLjcgMi44QzI3LjIgMzA0LjIgMTYgMzM0LjggMTYgMzY4YzAgNzkuNSA2NC41IDE0NCAxNDQgMTQ0czE0NC02NC41IDE0NC0xNDRjMC0zMy4yLTExLjItNjMuOC0zMC4xLTg4LjFjLS45LTEuMi0xLjUtMi4yLTEuNy0yLjhjLS4xLS4zLS4yLS41LS4yLS42VjExMkMyNzIgNTAuMiAyMjEuOSAwIDE2MCAwem0wIDQxNmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6XCJdXG59O1xudmFyIGZhVGVtcGVyYXR1cmUwID0gZmFUZW1wZXJhdHVyZUVtcHR5O1xudmFyIGZhVGhlcm1vbWV0ZXIwID0gZmFUZW1wZXJhdHVyZUVtcHR5O1xudmFyIGZhVGhlcm1vbWV0ZXJFbXB0eSA9IGZhVGVtcGVyYXR1cmVFbXB0eTtcbnZhciBmYUJvbWIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9tYicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODE2M10sIFwiZjFlMlwiLCBcIk00NTkuMSA1Mi40TDQ0Mi42IDYuNUM0NDAuNyAyLjYgNDM2LjUgMCA0MzIuMSAwcy04LjUgMi42LTEwLjQgNi41TDQwNS4yIDUyLjRsLTQ2IDE2LjhjLTQuMyAxLjYtNy4zIDUuOS03LjIgMTAuNGMwIDQuNSAzIDguNyA3LjIgMTAuMmw0NS43IDE2LjggMTYuOCA0NS44YzEuNSA0LjQgNS44IDcuNSAxMC40IDcuNXM4LjktMy4xIDEwLjQtNy41bDE2LjUtNDUuOCA0NS43LTE2LjhjNC4yLTEuNSA3LjItNS43IDcuMi0xMC4yYzAtNC42LTMtOC45LTcuMi0xMC40TDQ1OS4xIDUyLjR6bS0xMzIuNCA1M2MtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTIuOSAyLjlDMjU2LjUgMTAwLjMgMjMyLjcgOTYgMjA4IDk2QzkzLjEgOTYgMCAxODkuMSAwIDMwNFM5My4xIDUxMiAyMDggNTEyczIwOC05My4xIDIwOC0yMDhjMC0yNC43LTQuMy00OC41LTEyLjItNzAuNWwyLjktMi45YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC04MC04MHpNMjAwIDE5MmMtNTcuNCAwLTEwNCA0Ni42LTEwNCAxMDR2OGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNnYtOGMwLTc1LjEgNjAuOS0xMzYgMTM2LTEzNmg4YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2aC04elwiXVxufTtcbnZhciBmYVJlZ2lzdGVyZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmVnaXN0ZXJlZCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzE3NF0sIFwiZjI1ZFwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTYwIDE1MmMwLTEzLjMgMTAuNy0yNCAyNC0yNGg4OGM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDI4LTE0LjQgNTIuNy0zNi4zIDY3bDM0LjEgNzUuMWM1LjUgMTIuMSAuMSAyNi4zLTExLjkgMzEuOHMtMjYuMyAuMS0zMS44LTExLjlMMjY4LjkgMjg4SDIwOHY3MmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYyNjQgMTUyem00OCA4OGg2NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgyMDh2NjR6XCJdXG59O1xudmFyIGZhQWRkcmVzc0NhcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYWRkcmVzcy1jYXJkJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbNjIxNDAsIFwiY29udGFjdC1jYXJkXCIsIFwidmNhcmRcIl0sIFwiZjJiYlwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEg1MTJjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6bTgwIDI1Nmg2NGM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDguOC03LjIgMTYtMTYgMTZIODBjLTguOCAwLTE2LTcuMi0xNi0xNmMwLTQ0LjIgMzUuOC04MCA4MC04MHptLTMyLTk2YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHptMjU2LTMySDQ5NmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgzNjhjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTAgNjRINDk2YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDM2OGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnptMCA2NEg0OTZjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMzY4Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2elwiXVxufTtcbnZhciBmYUNvbnRhY3RDYXJkID0gZmFBZGRyZXNzQ2FyZDtcbnZhciBmYVZjYXJkID0gZmFBZGRyZXNzQ2FyZDtcbnZhciBmYVNjYWxlVW5iYWxhbmNlZEZsaXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2NhbGUtdW5iYWxhbmNlZC1mbGlwJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJiYWxhbmNlLXNjYWxlLXJpZ2h0XCJdLCBcImY1MTZcIiwgXCJNMTE3LjkgNjIuNGMtMTYuOC01LjYtMjUuOC0yMy43LTIwLjItNDAuNXMyMy43LTI1LjggNDAuNS0yMC4ybDExMyAzNy43QzI2NSAxNS44IDI5MC43IDAgMzIwIDBjNDQuMiAwIDgwIDM1LjggODAgODBjMCAzLS4yIDUuOS0uNSA4LjhsMTIyLjYgNDAuOWMxNi44IDUuNiAyNS44IDIzLjcgMjAuMiA0MC41cy0yMy43IDI1LjgtNDAuNSAyMC4yTDM2Ni40IDE0NS4yYy00LjUgMy4yLTkuMyA1LjktMTQuNCA4LjJWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMySDEyOGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkgyODhWMTUzLjNjLTIxLTkuMi0zNy4yLTI3LTQ0LjItNDlsLTEyNS45LTQyek0yMDAuNCAyODhMMTI4IDE2My44IDU1LjYgMjg4SDIwMC40ek0xMjggMzg0QzY1LjEgMzg0IDEyLjggMzUwIDIgMzA1LjFjLTIuNi0xMSAxLTIyLjMgNi43LTMyLjFsOTUuMi0xNjMuMmM1LTguNiAxNC4yLTEzLjggMjQuMS0xMy44czE5LjEgNS4zIDI0LjEgMTMuOGw5NS4yIDE2My4yYzUuNyA5LjggOS4zIDIxLjEgNi43IDMyLjFDMjQzLjIgMzUwIDE5MC45IDM4NCAxMjggMzg0em0zODIuOC05Mi4yTDQzOC40IDQxNkg1ODMuM0w1MTAuOCAyOTEuOHptMTI2IDE0MS4zQzYyNiA0NzggNTczLjcgNTEyIDUxMC44IDUxMnMtMTE1LjItMzQtMTI2LTc4LjljLTIuNi0xMSAxLTIyLjMgNi43LTMyLjFsOTUuMi0xNjMuMmM1LTguNiAxNC4yLTEzLjggMjQuMS0xMy44czE5LjEgNS4zIDI0LjEgMTMuOGw5NS4yIDE2My4yYzUuNyA5LjggOS4zIDIxLjEgNi43IDMyLjF6XCJdXG59O1xudmFyIGZhQmFsYW5jZVNjYWxlUmlnaHQgPSBmYVNjYWxlVW5iYWxhbmNlZEZsaXA7XG52YXIgZmFTdWJzY3JpcHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3Vic2NyaXB0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMTJjXCIsIFwiTTMyIDY0QzE0LjMgNjQgMCA3OC4zIDAgOTZzMTQuMyAzMiAzMiAzMkg0Ny4zbDg5LjYgMTI4TDQ3LjMgMzg0SDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDY0YzEwLjQgMCAyMC4yLTUuMSAyNi4yLTEzLjZMMTc2IDMxMS44bDg1LjggMTIyLjZjNiA4LjYgMTUuOCAxMy42IDI2LjIgMTMuNmgzMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMDQuN0wyMTUuMSAyNTZsODkuNi0xMjhIMzIwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDI4OGMtMTAuNCAwLTIwLjIgNS4xLTI2LjIgMTMuNkwxNzYgMjAwLjIgOTAuMiA3Ny42Qzg0LjIgNjkuMSA3NC40IDY0IDY0IDY0SDMyek00ODAgMzIwYzAtMTEuMS01LjctMjEuNC0xNS4yLTI3LjJzLTIxLjItNi40LTMxLjEtMS40bC0zMiAxNmMtMTUuOCA3LjktMjIuMiAyNy4xLTE0LjMgNDIuOUMzOTMgMzYxLjUgNDA0LjMgMzY4IDQxNiAzNjh2ODBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoMzIgMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJWMzIwelwiXVxufTtcbnZhciBmYURpYW1vbmRUdXJuUmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGlhbW9uZC10dXJuLXJpZ2h0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJkaXJlY3Rpb25zXCJdLCBcImY1ZWJcIiwgXCJNMjI3LjcgMTEuN2MxNS42LTE1LjYgNDAuOS0xNS42IDU2LjYgMGwyMTYgMjE2YzE1LjYgMTUuNiAxNS42IDQwLjkgMCA1Ni42bC0yMTYgMjE2Yy0xNS42IDE1LjYtNDAuOSAxNS42LTU2LjYgMGwtMjE2LTIxNmMtMTUuNi0xNS42LTE1LjYtNDAuOSAwLTU2LjZsMjE2LTIxNnptODcuNiAxMzdjLTQuNi00LjYtMTEuNS01LjktMTcuNC0zLjVzLTkuOSA4LjMtOS45IDE0Ljh2NTZIMjI0Yy0zNS4zIDAtNjQgMjguNy02NCA2NHY0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjI4MGMwLTguOCA3LjItMTYgMTYtMTZoNjR2NTZjMCA2LjUgMy45IDEyLjMgOS45IDE0LjhzMTIuOSAxLjEgMTcuNC0zLjVsODAtODBjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZsLTgwLTgwelwiXVxufTtcbnZhciBmYURpcmVjdGlvbnMgPSBmYURpYW1vbmRUdXJuUmlnaHQ7XG52YXIgZmFCdXJzdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidXJzdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTRkY1wiLCBcIk0zNy42IDQuMkMyOC0yLjMgMTUuMi0xLjEgNyA3cy05LjQgMjEtMi44IDMwLjVsMTEyIDE2My4zTDE2LjYgMjMzLjJDNi43IDIzNi40IDAgMjQ1LjYgMCAyNTZzNi43IDE5LjYgMTYuNiAyMi44bDEwMy4xIDMzLjRMNjYuOCA0MTIuOGMtNC45IDkuMy0zLjIgMjAuNyA0LjMgMjguMXMxOC44IDkuMiAyOC4xIDQuM2wxMDAuNi01Mi45IDMzLjQgMTAzLjFjMy4yIDkuOSAxMi40IDE2LjYgMjIuOCAxNi42czE5LjYtNi43IDIyLjgtMTYuNmwzMy40LTEwMy4xIDEwMC42IDUyLjljOS4zIDQuOSAyMC43IDMuMiAyOC4xLTQuM3M5LjItMTguOCA0LjMtMjguMUwzOTIuMyAzMTIuMmwxMDMuMS0zMy40YzkuOS0zLjIgMTYuNi0xMi40IDE2LjYtMjIuOHMtNi43LTE5LjYtMTYuNi0yMi44TDM4OC45IDE5OC43bDI1LjctNzAuNGMzLjItOC44IDEtMTguNi01LjYtMjUuMnMtMTYuNC04LjgtMjUuMi01LjZsLTcwLjQgMjUuN0wyNzguOCAxNi42QzI3NS42IDYuNyAyNjYuNCAwIDI1NiAwcy0xOS42IDYuNy0yMi44IDE2LjZsLTMyLjMgOTkuNkwzNy42IDQuMnpcIl1cbn07XG52YXIgZmFIb3VzZUxhcHRvcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1sYXB0b3AnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImxhcHRvcC1ob3VzZVwiXSwgXCJlMDY2XCIsIFwiTTIxOC4zIDguNWMxMi4zLTExLjMgMzEuMi0xMS4zIDQzLjQgMGwyMDggMTkyYzYuNyA2LjIgMTAuMyAxNC44IDEwLjMgMjMuNUgzMzZjLTE5LjEgMC0zNi4zIDguNC00OCAyMS43VjIwOGMwLTguOC03LjItMTYtMTYtMTZIMjA4Yy04LjggMC0xNiA3LjItMTYgMTZ2NjRjMCA4LjggNy4yIDE2IDE2IDE2aDY0VjQxNkgxMTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjI1NkgzMmMtMTMuMiAwLTI1LTguMS0yOS44LTIwLjNzLTEuNi0yNi4yIDguMS0zNS4ybDIwOC0xOTJ6TTM1MiAzMDRWNDQ4SDU0NFYzMDRIMzUyem0tNDgtMTZjMC0xNy43IDE0LjMtMzIgMzItMzJINTYwYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjQ0OGgzMmM4LjggMCAxNiA3LjIgMTYgMTZjMCAyNi41LTIxLjUgNDgtNDggNDhINTQ0IDM1MiAzMDRjLTI2LjUgMC00OC0yMS41LTQ4LTQ4YzAtOC44IDcuMi0xNiAxNi0xNmgzMlYyODh6XCJdXG59O1xudmFyIGZhTGFwdG9wSG91c2UgPSBmYUhvdXNlTGFwdG9wO1xudmFyIGZhRmFjZVRpcmVkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtdGlyZWQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1NTUsIFwidGlyZWRcIl0sIFwiZjVjOFwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTY0LjcgMzI4LjdjMjItMjIgNTMuOS00MC43IDkxLjMtNDAuN3M2OS4zIDE4LjcgOTEuMyA0MC43YzExLjEgMTEuMSAyMC4xIDIzLjQgMjYuNCAzNS40YzYuMiAxMS43IDEwLjMgMjQuNCAxMC4zIDM1LjljMCA1LjItMi42IDEwLjItNi45IDEzLjJzLTkuOCAzLjctMTQuNyAxLjhsLTIwLjUtNy43Yy0yNi45LTEwLjEtNTUuNS0xNS4zLTg0LjMtMTUuM2gtMy4yYy0yOC44IDAtNTcuMyA1LjItODQuMyAxNS4zTDE0OS42IDQxNWMtNC45IDEuOC0xMC40IDEuMi0xNC43LTEuOHMtNi45LTcuOS02LjktMTMuMmMwLTExLjYgNC4yLTI0LjIgMTAuMy0zNS45YzYuMy0xMiAxNS4zLTI0LjMgMjYuNC0zNS40em0tMzEuMi0xODJsODkuOSA0Ny45YzEwLjcgNS43IDEwLjcgMjEuMSAwIDI2LjhsLTg5LjkgNDcuOWMtNy45IDQuMi0xNy41LTEuNS0xNy41LTEwLjVjMC0yLjggMS01LjUgMi44LTcuNmwzNi00My4yLTM2LTQzLjJjLTEuOC0yLjEtMi44LTQuOC0yLjgtNy42YzAtOSA5LjYtMTQuNyAxNy41LTEwLjV6TTM5NiAxNTcuMWMwIDIuOC0xIDUuNS0yLjggNy42bC0zNiA0My4yIDM2IDQzLjJjMS44IDIuMSAyLjggNC44IDIuOCA3LjZjMCA5LTkuNiAxNC43LTE3LjUgMTAuNWwtODkuOS00Ny45Yy0xMC43LTUuNy0xMC43LTIxLjEgMC0yNi44bDg5LjktNDcuOWM3LjktNC4yIDE3LjUgMS41IDE3LjUgMTAuNXpcIl1cbn07XG52YXIgZmFUaXJlZCA9IGZhRmFjZVRpcmVkO1xudmFyIGZhTW9uZXlCaWxscyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb25leS1iaWxscycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTFmM1wiLCBcIk05NiA5NlYzMjBjMCAzNS4zIDI4LjcgNjQgNjQgNjRINTc2YzM1LjMgMCA2NC0yOC43IDY0LTY0Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDE2MGMtMzUuMyAwLTY0IDI4LjctNjQgNjR6bTY0IDE2MGMzNS4zIDAgNjQgMjguNyA2NCA2NEgxNjBWMjU2ek0yMjQgOTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRWOTZoNjR6TTU3NiAyNTZ2NjRINTEyYzAtMzUuMyAyOC43LTY0IDY0LTY0ek01MTIgOTZoNjR2NjRjLTM1LjMgMC02NC0yOC43LTY0LTY0ek0yODggMjA4YTgwIDgwIDAgMSAxIDE2MCAwIDgwIDgwIDAgMSAxIC0xNjAgMHpNNDggMTIwYzAtMTMuMy0xMC43LTI0LTI0LTI0UzAgMTA2LjcgMCAxMjBWMzYwYzAgNjYuMyA1My43IDEyMCAxMjAgMTIwSDUyMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEgxMjBjLTM5LjggMC03Mi0zMi4yLTcyLTcyVjEyMHpcIl1cbn07XG52YXIgZmFTbW9nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Ntb2cnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY3NWZcIiwgXCJNMzIgMTQ0YzAgNzkuNSA2NC41IDE0NCAxNDQgMTQ0SDI5OS4zYzIyLjYgMTkuOSA1Mi4yIDMyIDg0LjcgMzJzNjIuMS0xMi4xIDg0LjctMzJINDk2YzYxLjkgMCAxMTItNTAuMSAxMTItMTEycy01MC4xLTExMi0xMTItMTEyYy0xMC43IDAtMjEgMS41LTMwLjggNC4zQzQ0My44IDI3LjcgNDAxLjEgMCAzNTIgMGMtMzIuNiAwLTYyLjQgMTIuMi04NS4xIDMyLjNDMjQyLjEgMTIuMSAyMTAuNSAwIDE3NiAwQzk2LjUgMCAzMiA2NC41IDMyIDE0NHpNNjE2IDM2OEgyODBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRINjE2YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0em0tNjQgOTZINDQwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0SDU1MmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNHptLTE5MiAwSDI0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0SDM2MGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNHpNMjI0IDM5MmMwLTEzLjMtMTAuNy0yNC0yNC0yNEg5NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNEgyMDBjMTMuMyAwIDI0LTEwLjcgMjQtMjR6XCJdXG59O1xudmFyIGZhQ3J1dGNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NydXRjaCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjdmN1wiLCBcIk0yOTcuNCA5LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtMTYwLTE2MGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDB6bS05NiAxNDRsLTM0LjggMzQuOGMtMTIuOSAxMi45LTIxLjkgMjkuMi0yNS44IDQ3LjFMMTE2LjggMzQyLjljLTEuMyA1LjktNC4zIDExLjQtOC42IDE1LjdMOS40IDQ1Ny40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDk4LjgtOTguOGM0LjMtNC4zIDkuNy03LjMgMTUuNy04LjZsMTA3LjYtMjMuOWMxNy44LTQgMzQuMS0xMi45IDQ3LjEtMjUuOGwzNC43LTM0LjdjMCAwIC4xLS4xIC4xLS4xcy4xLS4xIC4xLS4xbDc0LjYtNzQuNi00NS4zLTQ1LjNMMzM2IDI0Mi43IDI2OS4zIDE3Nmw1Mi4xLTUyLjFMMjc2LjEgNzguNmwtNzQuNyA3NC43ek0yMjQgMjIxLjNMMjkwLjcgMjg4bC0xMi4yIDEyLjJjLTQuMyA0LjMtOS43IDcuMy0xNS43IDguNmwtNzYuNyAxNyAxNy03Ni43YzEuMy01LjkgNC4zLTExLjQgOC42LTE1LjdMMjI0IDIyMS4zelwiXVxufTtcbnZhciBmYUZvbnRBd2Vzb21lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZvbnQtYXdlc29tZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzYyNTAxLCA2MjY5NCwgXCJmb250LWF3ZXNvbWUtZmxhZ1wiLCBcImZvbnQtYXdlc29tZS1sb2dvLWZ1bGxcIl0sIFwiZjJiNFwiLCBcIk05MS43IDk2QzEwNi4zIDg2LjggMTE2IDcwLjUgMTE2IDUyQzExNiAyMy4zIDkyLjcgMCA2NCAwUzEyIDIzLjMgMTIgNTJjMCAxNi43IDcuOCAzMS41IDIwIDQxbDAgMyAwIDM1MiAwIDY0IDY0IDAgMC02NCAzNzMuNiAwYzE0LjYgMCAyNi40LTExLjggMjYuNC0yNi40YzAtMy43LS44LTcuMy0yLjMtMTAuN0w0MzIgMjcybDYxLjctMTM4LjljMS41LTMuNCAyLjMtNyAyLjMtMTAuN2MwLTE0LjYtMTEuOC0yNi40LTI2LjQtMjYuNEw5MS43IDk2elwiXVxufTtcbnZhciBmYUZvbnRBd2Vzb21lRmxhZyA9IGZhRm9udEF3ZXNvbWU7XG52YXIgZmFGb250QXdlc29tZUxvZ29GdWxsID0gZmFGb250QXdlc29tZTtcbnZhciBmYUNsb3VkQXJyb3dVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbG91ZC1hcnJvdy11cCcsXG4gIGljb246IFs2NDAsIDUxMiwgWzYyMzM4LCBcImNsb3VkLXVwbG9hZFwiLCBcImNsb3VkLXVwbG9hZC1hbHRcIl0sIFwiZjBlZVwiLCBcIk0xNDQgNDgwQzY0LjUgNDgwIDAgNDE1LjUgMCAzMzZjMC02Mi44IDQwLjItMTE2LjIgOTYuMi0xMzUuOWMtLjEtMi43LS4yLTUuNC0uMi04LjFjMC04OC40IDcxLjYtMTYwIDE2MC0xNjBjNTkuMyAwIDExMSAzMi4yIDEzOC43IDgwLjJDNDA5LjkgMTAyIDQyOC4zIDk2IDQ0OCA5NmM1MyAwIDk2IDQzIDk2IDk2YzAgMTIuMi0yLjMgMjMuOC02LjQgMzQuNkM1OTYgMjM4LjQgNjQwIDI5MC4xIDY0MCAzNTJjMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhIMTQ0em03OS0yMTdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGwzOS0zOVYzOTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFYyNTcuOWwzOSAzOWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTgwLTgwYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtODAgODB6XCJdXG59O1xudmFyIGZhQ2xvdWRVcGxvYWQgPSBmYUNsb3VkQXJyb3dVcDtcbnZhciBmYUNsb3VkVXBsb2FkQWx0ID0gZmFDbG91ZEFycm93VXA7XG52YXIgZmFQYWxldHRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BhbGV0dGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc5MTJdLCBcImY1M2ZcIiwgXCJNNTEyIDI1NmMwIC45IDAgMS44IDAgMi43Yy0uNCAzNi41LTMzLjYgNjEuMy03MC4xIDYxLjNIMzQ0Yy0yNi41IDAtNDggMjEuNS00OCA0OGMwIDMuNCAuNCA2LjcgMSA5LjljMi4xIDEwLjIgNi41IDIwIDEwLjggMjkuOWM2LjEgMTMuOCAxMi4xIDI3LjUgMTIuMSA0MmMwIDMxLjgtMjEuNiA2MC43LTUzLjQgNjJjLTMuNSAuMS03IC4yLTEwLjYgLjJDMTE0LjYgNTEyIDAgMzk3LjQgMCAyNTZTMTE0LjYgMCAyNTYgMFM1MTIgMTE0LjYgNTEyIDI1NnpNMTI4IDI4OGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0wLTk2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMjg4IDk2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTk2IDk2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG52YXIgZmFBcnJvd3NUdXJuUmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3dzLXR1cm4tcmlnaHQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImU0YzBcIiwgXCJNMjk3LjQgOS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDk2IDk2YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC05NiA5NmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMzM4LjcgMTYwSDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjR2MzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMjI0QzAgMTUzLjMgNTcuMyA5NiAxMjggOTZIMzM4LjdMMjk3LjQgNTQuNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjN6bS05NiAyNTZjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsOTYgOTZjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTk2IDk2Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wyNDIuNyA0MTZIOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjQ0OGMwLTUzIDQzLTk2IDk2LTk2SDI0Mi43bC00MS40LTQxLjRjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zelwiXVxufTtcbnZhciBmYVZlc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmVzdCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTA4NVwiLCBcIk0yMDcuMSAyMzcuNEwxNTEuMiA2OS43QzE2OC42IDc5LjcgMTkyLjYgODggMjI0IDg4czU1LjQtOC4zIDcyLjgtMTguM0wyMjYuNSAyODAuNmMtMS42IDQuOS0yLjUgMTAtMi41IDE1LjJWNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDQwMGMyNi41IDAgNDgtMjEuNSA0OC00OFYyNzAuNWMwLTkuNS0yLjgtMTguNy04LjEtMjYuNmwtNDcuOS03MS44Yy01LjMtNy45LTguMS0xNy4xLTguMS0yNi42VjEyOCA1NC4zIDQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4aC00LjVjLS4yIDAtLjQgMC0uNiAwYy0uNCAwLS44IDAtMS4yIDBDMzExIDAgMjk1LjcgOS43IDI4NS43IDE4LjhDMjc2LjQgMjcuMiAyNTcuMiA0MCAyMjQgNDBzLTUyLjQtMTIuOC02MS43LTIxLjJDMTUyLjMgOS43IDEzNyAwIDExOC4zIDBjLS40IDAtLjggMC0xLjIgMGMtLjIgMC0uNCAwLS42IDBIMTEyQzg1LjUgMCA2NCAyMS41IDY0IDQ4djYuM1YxMjh2MTcuNWMwIDkuNS0yLjggMTguNy04LjEgMjYuNkw4LjEgMjQzLjlDMi44IDI1MS44IDAgMjYxLjEgMCAyNzAuNVY0NjRjMCAyNi41IDIxLjUgNDggNDggNDhIMTc2YzkuOSAwIDE5LTMgMjYuNy04LjFDMTk1LjkgNDkyLjIgMTkyIDQ3OC41IDE5MiA0NjRWMjk1LjhjMC04LjYgMS40LTE3LjEgNC4xLTI1LjNsMTEtMzMuMXpNMzQ3LjMgMzU2LjdsNDggNDhjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtNDgtNDhjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMHptLTI5NC42IDQ4bDQ4LTQ4YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNmwtNDggNDhjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZ6XCJdXG59O1xudmFyIGZhRmVycnkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmVycnknLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0ZWFcIiwgXCJNMjI0IDBIMzUyYzE3LjcgMCAzMiAxNC4zIDMyIDMyaDc1LjFjMjAuNiAwIDMxLjYgMjQuMyAxOC4xIDM5LjhMNDU2IDk2SDEyMEw5OC44IDcxLjhDODUuMyA1Ni4zIDk2LjMgMzIgMTE2LjkgMzJIMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek05NiAxMjhINDgwYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjI4My41YzAgMTMuMy00LjIgMjYuMy0xMS45IDM3LjJsLTUxLjQgNzEuOWMtMS45IDEuMS0zLjcgMi4yLTUuNSAzLjVjLTE1LjUgMTAuNy0zNCAxOC01MSAxOS45SDM3NS42Yy0xNy4xLTEuOC0zNS05LTUwLjgtMTkuOWMtMjIuMS0xNS41LTUxLjYtMTUuNS03My43IDBjLTE0LjggMTAuMi0zMi41IDE4LTUwLjYgMTkuOUgxODMuOWMtMTctMS44LTM1LjYtOS4yLTUxLTE5LjljLTEuOC0xLjMtMy43LTIuNC01LjYtMy41TDc1LjkgMzIwLjdDNjguMiAzMDkuOCA2NCAyOTYuOCA2NCAyODMuNVYxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTMyIDY0djk2SDQ0OFYxOTJIMTI4ek0zMDYuNSA0MjEuOUMzMjkgNDM3LjQgMzU2LjUgNDQ4IDM4NCA0NDhjMjYuOSAwIDU1LjMtMTAuOCA3Ny40LTI2LjFsMCAwYzExLjktOC41IDI4LjEtNy44IDM5LjIgMS43YzE0LjQgMTEuOSAzMi41IDIxIDUwLjYgMjUuMmMxNy4yIDQgMjcuOSAyMS4yIDIzLjkgMzguNHMtMjEuMiAyNy45LTM4LjQgMjMuOWMtMjQuNS01LjctNDQuOS0xNi41LTU4LjItMjVDNDQ5LjUgNTAxLjcgNDE3IDUxMiAzODQgNTEyYy0zMS45IDAtNjAuNi05LjktODAuNC0xOC45Yy01LjgtMi43LTExLjEtNS4zLTE1LjYtNy43Yy00LjUgMi40LTkuNyA1LjEtMTUuNiA3LjdjLTE5LjggOS00OC41IDE4LjktODAuNCAxOC45Yy0zMyAwLTY1LjUtMTAuMy05NC41LTI1LjhjLTEzLjQgOC40LTMzLjcgMTkuMy01OC4yIDI1Yy0xNy4yIDQtMzQuNC02LjctMzguNC0yMy45czYuNy0zNC40IDIzLjktMzguNGMxOC4xLTQuMiAzNi4yLTEzLjMgNTAuNi0yNS4yYzExLjEtOS40IDI3LjMtMTAuMSAzOS4yLTEuN2wwIDBDMTM2LjcgNDM3LjIgMTY1LjEgNDQ4IDE5MiA0NDhjMjcuNSAwIDU1LTEwLjYgNzcuNS0yNi4xYzExLjEtNy45IDI1LjktNy45IDM3IDB6XCJdXG59O1xudmFyIGZhQXJyb3dzRG93blRvUGVvcGxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93cy1kb3duLXRvLXBlb3BsZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRiOVwiLCBcIk0xNDQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRWMTQyLjFMOTcgMTE5Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDY0IDY0YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwbDY0LTY0YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTIzIDIzVjI0YzAtMTMuMy0xMC43LTI0LTI0LTI0ek0zNjAgMjAwYTQwIDQwIDAgMSAwIC04MCAwIDQwIDQwIDAgMSAwIDgwIDB6TTE4NCAyOTZhNDAgNDAgMCAxIDAgLTgwIDAgNDAgNDAgMCAxIDAgODAgMHptMzEyIDQwYTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHpNMjAwIDQ0MS41bDI2LjkgNDkuOWM2LjMgMTEuNyAyMC44IDE2IDMyLjUgOS44czE2LTIwLjggOS44LTMyLjVsLTM2LjMtNjcuNWMxLjctMS43IDMuMi0zLjYgNC4zLTUuOEwyNjQgMzQ1LjVWNDAwYzAgMTcuNyAxNC4zIDMyIDMyIDMyaDQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM0NS41bDI2LjkgNDkuOWMxLjIgMi4yIDIuNiA0LjEgNC4zIDUuOGwtMzYuMyA2Ny41Yy02LjMgMTEuNy0xLjkgMjYuMiA5LjggMzIuNXMyNi4yIDEuOSAzMi41LTkuOEw0NDAgNDQxLjVWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyaDQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjQ0MS41bDI2LjkgNDkuOWM2LjMgMTEuNyAyMC44IDE2IDMyLjUgOS44czE2LTIwLjggOS44LTMyLjVsLTM3LjktNzAuM2MtMTUuMy0yOC41LTQ1LjEtNDYuMy03Ny41LTQ2LjNINDg2LjJjLTE2LjMgMC0zMS45IDQuNS00NS40IDEyLjZsLTMzLjYtNjIuM2MtMTUuMy0yOC41LTQ1LjEtNDYuMy03Ny41LTQ2LjNIMzEwLjJjLTMyLjQgMC02Mi4xIDE3LjgtNzcuNSA0Ni4zbC0zMy42IDYyLjNjLTEzLjUtOC4xLTI5LjEtMTIuNi00NS40LTEyLjZIMTM0LjJjLTMyLjQgMC02Mi4xIDE3LjgtNzcuNSA0Ni4zTDE4LjkgNDY4LjZjLTYuMyAxMS43LTEuOSAyNi4yIDkuOCAzMi41czI2LjIgMS45IDMyLjUtOS44TDg4IDQ0MS41VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMmg0OGMxNy43IDAgMzItMTQuMyAzMi0zMlY0NDEuNXpNNDE1IDE1M2w2NCA2NGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMGw2NC02NGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC0yMyAyM1YyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNFYxNDIuMWwtMjMtMjNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjl6XCJdXG59O1xudmFyIGZhU2VlZGxpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2VlZGxpbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc3OTMsIFwic3Byb3V0XCJdLCBcImY0ZDhcIiwgXCJNNTEyIDMyYzAgMTEzLjYtODQuNiAyMDcuNS0xOTQuMiAyMjJjLTcuMS01My40LTMwLjYtMTAxLjYtNjUuMy0xMzkuM0MyOTAuOCA0Ni4zIDM2NCAwIDQ0OCAwaDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMyek0wIDk2QzAgNzguMyAxNC4zIDY0IDMyIDY0SDY0YzEyMy43IDAgMjI0IDEwMC4zIDIyNCAyMjR2MzJWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjMyMEMxMDAuMyAzMjAgMCAyMTkuNyAwIDk2elwiXVxufTtcbnZhciBmYVNwcm91dCA9IGZhU2VlZGxpbmc7XG52YXIgZmFMZWZ0UmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGVmdC1yaWdodCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzg1OTYsIFwiYXJyb3dzLWFsdC1oXCJdLCBcImYzMzdcIiwgXCJNNTA0LjMgMjczLjZjNC45LTQuNSA3LjctMTAuOSA3LjctMTcuNnMtMi44LTEzLTcuNy0xNy42bC0xMTItMTA0Yy03LTYuNS0xNy4yLTguMi0yNS45LTQuNHMtMTQuNCAxMi41LTE0LjQgMjJsMCA1Ni0xOTIgMCAwLTU2YzAtOS41LTUuNy0xOC4yLTE0LjQtMjJzLTE4LjktMi4xLTI1LjkgNC40bC0xMTIgMTA0QzIuOCAyNDMgMCAyNDkuMyAwIDI1NnMyLjggMTMgNy43IDE3LjZsMTEyIDEwNGM3IDYuNSAxNy4yIDguMiAyNS45IDQuNHMxNC40LTEyLjUgMTQuNC0yMmwwLTU2IDE5MiAwIDAgNTZjMCA5LjUgNS43IDE4LjIgMTQuNCAyMnMxOC45IDIuMSAyNS45LTQuNGwxMTItMTA0elwiXVxufTtcbnZhciBmYUFycm93c0FsdEggPSBmYUxlZnRSaWdodDtcbnZhciBmYUJveGVzUGFja2luZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3hlcy1wYWNraW5nJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGM3XCIsIFwiTTI1NiA0OGMwLTI2LjUgMjEuNS00OCA0OC00OEg1OTJjMjYuNSAwIDQ4IDIxLjUgNDggNDhWNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDM4MS4zYzEuOC01IDIuNy0xMC40IDIuNy0xNlYyNTMuM2MxOC42LTYuNiAzMi0yNC40IDMyLTQ1LjNWMTc2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDI1NlY0OHpNNTcxLjMgMzQ3LjNjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZsLTY0LTY0Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMGwtNjQgNjRjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMEw0ODAgMzEwLjZWNDMyYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMzEwLjZsMzYuNyAzNi43YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwek0wIDE3NmMwLTguOCA3LjItMTYgMTYtMTZIMzY4YzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMTZjLTguOCAwLTE2LTcuMi0xNi0xNlYxNzZ6bTM1MiA4MFY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJINjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjI1NkgzNTJ6TTE0NCAzMjBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZoOTZjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIMTQ0elwiXVxufTtcbnZhciBmYUNpcmNsZUFycm93TGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtYXJyb3ctbGVmdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYXJyb3ctY2lyY2xlLWxlZnRcIl0sIFwiZjBhOFwiLCBcIk01MTIgMjU2QTI1NiAyNTYgMCAxIDAgMCAyNTZhMjU2IDI1NiAwIDEgMCA1MTIgMHpNMjMxIDEyN2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTcxIDcxTDM3NiAyMzJjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE4Mi4xIDAgNzEgNzFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEwxMTkgMjczYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOUwyMzEgMTI3elwiXVxufTtcbnZhciBmYUFycm93Q2lyY2xlTGVmdCA9IGZhQ2lyY2xlQXJyb3dMZWZ0O1xudmFyIGZhR3JvdXBBcnJvd3NSb3RhdGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ3JvdXAtYXJyb3dzLXJvdGF0ZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTRmNlwiLCBcIk0yMDEuMSA3MS45YzE2LjktNSAyNi42LTIyLjkgMjEuNS0zOS44cy0yMi45LTI2LjYtMzkuOC0yMS41Yy0yMS41IDYuNC00MS44IDE1LjUtNjAuNiAyN0MxMTQuMyAzNCAxMDUuNCAzMiA5NiAzMkM2MC43IDMyIDMyIDYwLjcgMzIgOTZjMCA5LjQgMiAxOC4zIDUuNiAyNi4zYy0xMS41IDE4LjctMjAuNiAzOS0yNyA2MC42Yy01IDE2LjkgNC42IDM0LjggMjEuNSAzOS44czM0LjgtNC42IDM5LjgtMjEuNWM0LjMtMTQuNiAxMC40LTI4LjUgMTcuOS00MS40YzIgLjIgNC4xIC4zIDYuMSAuM2MzNS4zIDAgNjQtMjguNyA2NC02NGMwLTIuMS0uMS00LjEtLjMtNi4xYzEyLjktNy41IDI2LjgtMTMuNiA0MS40LTE3Ljl6bTEyOC02MS4zYy0xNi45LTUtMzQuOCA0LjYtMzkuOCAyMS41czQuNiAzNC44IDIxLjUgMzkuOGMxNC42IDQuMyAyOC41IDEwLjQgNDEuNCAxNy45Yy0uMiAyLS4zIDQuMS0uMyA2LjFjMCAzNS4zIDI4LjcgNjQgNjQgNjRjMi4xIDAgNC4xLS4xIDYuMi0uM2M3LjUgMTIuOSAxMy42IDI2LjggMTcuOSA0MS40YzUgMTYuOSAyMi45IDI2LjYgMzkuOCAyMS41czI2LjYtMjIuOSAyMS41LTM5LjhjLTYuNC0yMS41LTE1LjUtNDEuOC0yNy02MC42YzMuNi04IDUuNi0xNi45IDUuNi0yNi4zYzAtMzUuMy0yOC43LTY0LTY0LTY0Yy05LjQgMC0xOC4zIDItMjYuMyA1LjZjLTE4LjctMTEuNS0zOS0yMC42LTYwLjYtMjd6TTcxLjkgMzEwLjljLTUtMTYuOS0yMi45LTI2LjYtMzkuOC0yMS41cy0yNi42IDIyLjktMjEuNSAzOS44YzYuNCAyMS41IDE1LjUgNDEuOCAyNyA2MC42QzM0IDM5Ny43IDMyIDQwNi42IDMyIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGM5LjQgMCAxOC4zLTIgMjYuMy01LjZjMTguNyAxMS41IDM5IDIwLjYgNjAuNiAyN2MxNi45IDUgMzQuOC00LjYgMzkuOC0yMS41cy00LjYtMzQuOC0yMS41LTM5LjhjLTE0LjYtNC4zLTI4LjUtMTAuNC00MS40LTE3LjljLjItMiAuMy00LjEgLjMtNi4yYzAtMzUuMy0yOC43LTY0LTY0LTY0Yy0yLjEgMC00LjEgLjEtNi4yIC4zYy03LjUtMTIuOS0xMy42LTI2LjgtMTcuOS00MS40em00MjkuNCAxOC4zYzUtMTYuOS00LjYtMzQuOC0yMS41LTM5LjhzLTM0LjggNC42LTM5LjggMjEuNWMtNC4zIDE0LjYtMTAuNCAyOC41LTE3LjkgNDEuNGMtMi0uMi00LjEtLjMtNi4yLS4zYy0zNS4zIDAtNjQgMjguNy02NCA2NGMwIDIuMSAuMSA0LjEgLjMgNi4yYy0xMi45IDcuNS0yNi44IDEzLjYtNDEuNCAxNy45Yy0xNi45IDUtMjYuNiAyMi45LTIxLjUgMzkuOHMyMi45IDI2LjYgMzkuOCAyMS41YzIxLjUtNi40IDQxLjgtMTUuNSA2MC42LTI3YzggMy42IDE2LjkgNS42IDI2LjMgNS42YzM1LjMgMCA2NC0yOC43IDY0LTY0YzAtOS40LTItMTguMy01LjYtMjYuM2MxMS41LTE4LjcgMjAuNi0zOSAyNy02MC42ek0xOTIuOCAyNTYuOGMwLTE1LjYgNS42LTI5LjkgMTQuOS00MS4xTDIyMyAyMzFjNi42IDYuNiAxNy44IDEuOSAxNy44LTcuNFYxNjMuMmMwLTUuNy00LjctMTAuNC0xMC40LTEwLjRIMTY5LjljLTkuMyAwLTEzLjkgMTEuMi03LjQgMTcuOGwxMS4yIDExLjJjLTE3LjkgMTkuOC0yOC45IDQ2LjItMjguOSA3NS4xYzAgNDMuNiAyNC45IDgxLjMgNjEuMSA5OS44YzExLjggNiAyNi4zIDEuNCAzMi4zLTEwLjRzMS40LTI2LjMtMTAuNC0zMi4zYy0yMC44LTEwLjYtMzQuOS0zMi4yLTM0LjktNTd6bTkzLjEtNTguNmMyMC44IDEwLjYgMzQuOSAzMi4yIDM0LjkgNTdjMCAxNS42LTUuNiAyOS45LTE0LjkgNDEuMUwyOTAuNiAyODFjLTYuNi02LjYtMTcuOC0xLjktMTcuOCA3LjR2NjAuNWMwIDUuNyA0LjcgMTAuNCAxMC40IDEwLjRoNjAuNWM5LjMgMCAxMy45LTExLjIgNy40LTE3LjhsLTExLjItMTEuMmMxNy45LTE5LjggMjguOS00Ni4yIDI4LjktNzUuMWMwLTQzLjYtMjQuOS04MS4zLTYxLjEtOTkuOGMtMTEuOC02LTI2LjMtMS40LTMyLjMgMTAuNHMtMS40IDI2LjMgMTAuNCAzMi4zelwiXVxufTtcbnZhciBmYUJvd2xGb29kID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jvd2wtZm9vZCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTRjNlwiLCBcIk0wIDE5MmMwLTM1LjMgMjguNy02NCA2NC02NGMuNSAwIDEuMSAwIDEuNiAwQzczIDkxLjUgMTA1LjMgNjQgMTQ0IDY0YzE1IDAgMjkgNC4xIDQwLjkgMTEuMkMxOTguMiA0OS42IDIyNS4xIDMyIDI1NiAzMnM1Ny44IDE3LjYgNzEuMSA0My4yQzMzOSA2OC4xIDM1MyA2NCAzNjggNjRjMzguNyAwIDcxIDI3LjUgNzguNCA2NGMuNSAwIDEuMSAwIDEuNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0YzAgMTEuNy0zLjEgMjIuNi04LjYgMzJIOC42QzMuMSAyMTQuNiAwIDIwMy43IDAgMTkyem0wIDkxLjRDMCAyNjguMyAxMi4zIDI1NiAyNy40IDI1Nkg0ODQuNmMxNS4xIDAgMjcuNCAxMi4zIDI3LjQgMjcuNGMwIDcwLjUtNDQuNCAxMzAuNy0xMDYuNyAxNTQuMUw0MDMuNSA0NTJjLTIgMTYtMTUuNiAyOC0zMS44IDI4SDE0MC4yYy0xNi4xIDAtMjkuOC0xMi0zMS44LTI4bC0xLjgtMTQuNEM0NC40IDQxNC4xIDAgMzUzLjkgMCAyODMuNHpcIl1cbn07XG52YXIgZmFDYW5keUNhbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FuZHktY2FuZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjc4NlwiLCBcIk0zNDguOCAxMzEuNWMzLjctMi4zIDcuOS0zLjUgMTIuMi0zLjVjMTIuNyAwIDIzIDEwLjMgMjMgMjN2NS42YzAgOS45LTUuMSAxOS4xLTEzLjUgMjQuM0wzMC4xIDM5My43Qy4xIDQxMi41LTkgNDUxLjkgOS43IDQ4MS45czU4LjIgMzkuMSA4OC4yIDIwLjRMNDM4LjQgMjg5LjVjNDUuOC0yOC42IDczLjYtNzguOCA3My42LTEzMi44VjE1MUM1MTIgNjcuNiA0NDQuNCAwIDM2MSAwYy0yOC4zIDAtNTYgOC04MC4xIDIzTDI1NC4xIDM5LjdjLTMwIDE4LjctMzkuMSA1OC4yLTIwLjQgODguMnM1OC4yIDM5LjEgODguMiAyMC40bDI2LjgtMTYuOHpNMjk4LjQgNDkuOGM5LjItNS43IDE5LjEtMTAuMSAyOS40LTEzLjFMMzQ4IDk3LjVjLTUuNyAxLjQtMTEuMiAzLjctMTYuMyA2LjhsLTEyLjYgNy45TDI5OC40IDQ5Ljh6bTg4LjUgNTIuN2w0Ni4yLTQ2LjJjOC41IDYuNSAxNi4xIDE0LjEgMjIuNiAyMi42bC00Ni4yIDQ2LjJjLTUuMS05LjYtMTMtMTcuNS0yMi42LTIyLjZ6bTI4LjkgNTkuM2w2MS42IDIwLjVjLTIuMiAxMC41LTUuOCAyMC43LTEwLjUgMzAuMmwtNjItMjAuN2M2LjItOC44IDEwLjEtMTkuMSAxMS0zMC4xem0tODYuMSA4Mi41bDYwLjQgMzcuNy0zMC4yIDE4LjktNjAuNC0zNy43IDMwLjItMTguOXptLTEwNy4yIDY3bDYwLjQgMzcuNy0zMC4yIDE4LjktNjAuNC0zNy43IDMwLjItMTguOXpNMTE5LjMgMzc1LjdsNjAuNCAzNy43LTMwLjIgMTguOUw4OS4xIDM5NC42bDMwLjItMTguOXpcIl1cbn07XG52YXIgZmFBcnJvd0Rvd25XaWRlU2hvcnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctZG93bi13aWRlLXNob3J0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzb3J0LWFtb3VudC1hc2NcIiwgXCJzb3J0LWFtb3VudC1kb3duXCJdLCBcImYxNjBcIiwgXCJNMTUxLjYgNDY5LjZDMTQ1LjUgNDc2LjIgMTM3IDQ4MCAxMjggNDgwcy0xNy41LTMuOC0yMy42LTEwLjRsLTg4LTk2Yy0xMS45LTEzLTExLjEtMzMuMyAyLTQ1LjJzMzMuMy0xMS4xIDQ1LjIgMkw5NiAzNjUuN1Y2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyVjM2NS43bDMyLjQtMzUuNGMxMS45LTEzIDMyLjItMTMuOSA0NS4yLTJzMTMuOSAzMi4yIDIgNDUuMmwtODggOTZ6TTMyMCA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJoMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzIwem0wLTEyOGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmg5NmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMjB6bTAtMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDQ4MGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMjB6bTAtMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDU0NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMjB6XCJdXG59O1xudmFyIGZhU29ydEFtb3VudEFzYyA9IGZhQXJyb3dEb3duV2lkZVNob3J0O1xudmFyIGZhU29ydEFtb3VudERvd24gPSBmYUFycm93RG93bldpZGVTaG9ydDtcbnZhciBmYUNsb3VkQm9sdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbG91ZC1ib2x0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3Nzg1LCBcInRodW5kZXJzdG9ybVwiXSwgXCJmNzZjXCIsIFwiTTAgMjI0YzAgNTMgNDMgOTYgOTYgOTZoNDcuMkwyOTAgMjAyLjVjMTcuNi0xNC4xIDQyLjYtMTQgNjAuMiAuMnMyMi44IDM4LjYgMTIuOCA1OC44TDMzMy43IDMyMEgzNTJoNjRjNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZjLS41IDAtMS4xIDAtMS42IDBjMS4xLTUuMiAxLjYtMTAuNSAxLjYtMTZjMC00NC4yLTM1LjgtODAtODAtODBjLTI0LjMgMC00Ni4xIDEwLjktNjAuOCAyOEMyNTYuNSAyNC4zIDIxOS4xIDAgMTc2IDBDMTE0LjEgMCA2NCA1MC4xIDY0IDExMmMwIDcuMSAuNyAxNC4xIDEuOSAyMC44QzI3LjYgMTQ1LjQgMCAxODEuNSAwIDIyNHptMzMwLjEgMy42Yy01LjgtNC43LTE0LjItNC43LTIwLjEtLjFsLTE2MCAxMjhjLTUuMyA0LjItNy40IDExLjQtNS4xIDE3LjhzOC4zIDEwLjcgMTUuMSAxMC43aDcwLjFMMTc3LjcgNDg4LjhjLTMuNCA2LjctMS42IDE0LjkgNC4zIDE5LjZzMTQuMiA0LjcgMjAuMSAuMWwxNjAtMTI4YzUuMy00LjIgNy40LTExLjQgNS4xLTE3LjhzLTguMy0xMC43LTE1LjEtMTAuN0gyODEuOWw1Mi40LTEwNC44YzMuNC02LjcgMS42LTE0LjktNC4yLTE5LjZ6XCJdXG59O1xudmFyIGZhVGh1bmRlcnN0b3JtID0gZmFDbG91ZEJvbHQ7XG52YXIgZmFUZXh0U2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGV4dC1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW1wicmVtb3ZlLWZvcm1hdFwiXSwgXCJmODdkXCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdMMzU1LjcgMjUzLjUgNDAwLjIgOTZINTAzTDQ5NyAxMjAuMmMtNC4zIDE3LjEgNi4xIDM0LjUgMjMuMyAzOC44czM0LjUtNi4xIDM4LjgtMjMuM2wxMS00NC4xQzU3Ny42IDYxLjMgNTU0LjcgMzIgNTIzLjUgMzJIMzc2LjFoLS4zSDIwNC41Yy0yMiAwLTQxLjIgMTUtNDYuNiAzNi40bC02LjMgMjUuMkwzOC44IDUuMXptMTY4IDEzMS43Yy4xLS4zIC4yLS43IC4zLTFMMjE3IDk2SDMzMy43TDMwMS4zIDIxMC44bC05NC41LTc0LjF6TTMyNy4zIDM1My45TDI3Mi45IDMxMSAyNDMuMyA0MTZIMTkyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDM1MmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMDkuOGwxNy42LTYyLjF6XCJdXG59O1xudmFyIGZhUmVtb3ZlRm9ybWF0ID0gZmFUZXh0U2xhc2g7XG52YXIgZmFGYWNlU21pbGVXaW5rID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2Utc21pbGUtd2luaycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODUyMSwgXCJzbWlsZS13aW5rXCJdLCBcImY0ZGFcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2NC4xIDMyNS41QzE4MiAzNDYuMiAyMTIuNiAzNjggMjU2IDM2OHM3NC0yMS44IDkxLjktNDIuNWM1LjgtNi43IDE1LjktNy40IDIyLjYtMS42czcuNCAxNS45IDEuNiAyMi42QzM0OS44IDM3Mi4xIDMxMS4xIDQwMCAyNTYgNDAwcy05My44LTI3LjktMTE2LjEtNTMuNWMtNS44LTYuNy01LjEtMTYuOCAxLjYtMjIuNnMxNi44LTUuMSAyMi42IDEuNnpNMTQ0LjQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE1Ni40IDI1LjZjLTUuMyA3LjEtMTUuMyA4LjUtMjIuNCAzLjJzLTguNS0xNS4zLTMuMi0yMi40YzMwLjQtNDAuNSA5MS4yLTQwLjUgMTIxLjYgMGM1LjMgNy4xIDMuOSAxNy4xLTMuMiAyMi40cy0xNy4xIDMuOS0yMi40LTMuMmMtMTcuNi0yMy41LTUyLjgtMjMuNS03MC40IDB6XCJdXG59O1xudmFyIGZhU21pbGVXaW5rID0gZmFGYWNlU21pbGVXaW5rO1xudmFyIGZhRmlsZVdvcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS13b3JkJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmMWMyXCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzMjBjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTYwSDI1NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMEg2NHpNMjU2IDBWMTI4SDM4NEwyNTYgMHpNMTExIDI1Ny4xbDI2LjggODkuMiAzMS42LTkwLjNjMy40LTkuNiAxMi41LTE2LjEgMjIuNy0xNi4xczE5LjMgNi40IDIyLjcgMTYuMWwzMS42IDkwLjNMMjczIDI1Ny4xYzMuOC0xMi43IDE3LjItMTkuOSAyOS45LTE2LjFzMTkuOSAxNy4yIDE2LjEgMjkuOWwtNDggMTYwYy0zIDEwLTEyIDE2LjktMjIuNCAxNy4xcy0xOS44LTYuMi0yMy4yLTE2LjFMMTkyIDMzNi42bC0zMy4zIDk1LjNjLTMuNCA5LjgtMTIuOCAxNi4zLTIzLjIgMTYuMXMtMTkuNS03LjEtMjIuNC0xNy4xbC00OC0xNjBjLTMuOC0xMi43IDMuNC0yNi4xIDE2LjEtMjkuOXMyNi4xIDMuNCAyOS45IDE2LjF6XCJdXG59O1xudmFyIGZhRmlsZVBvd2VycG9pbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1wb3dlcnBvaW50JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmMWM0XCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzMjBjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTYwSDI1NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMEg2NHpNMjU2IDBWMTI4SDM4NEwyNTYgMHpNMTM2IDI0MGg2OGM0MiAwIDc2IDM0IDc2IDc2cy0zNCA3Ni03NiA3NkgxNjB2MzJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWMzY4IDI2NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHptNjggMTA0YzE1LjUgMCAyOC0xMi41IDI4LTI4cy0xMi41LTI4LTI4LTI4SDE2MHY1Nmg0NHpcIl1cbn07XG52YXIgZmFBcnJvd3NMZWZ0UmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3dzLWxlZnQtcmlnaHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImFycm93cy1oXCJdLCBcImYwN2VcIiwgXCJNNDA2LjYgMzc0LjZsOTYtOTZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTk2LTk2Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0w0MDIuNyAyMjRsLTI5My41IDAgNDEuNC00MS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC05NiA5NmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsOTYgOTZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wxMDkuMyAyODhsMjkzLjUgMC00MS40IDQxLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDB6XCJdXG59O1xudmFyIGZhQXJyb3dzSCA9IGZhQXJyb3dzTGVmdFJpZ2h0O1xudmFyIGZhSG91c2VMb2NrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLWxvY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MTBcIiwgXCJNMzg0IDQ4MGMwIDExLjcgMy4xIDIyLjYgOC42IDMySDM5MmMtMjIuMSAwLTQwLTE3LjktNDAtNDBWNDQ4IDM4NGMwLTE3LjctMTQuMy0zMi0zMi0zMkgyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjY0IDI0YzAgMjIuMS0xNy45IDQwLTQwIDQwSDE2MCAxMjguMWMtMS41IDAtMy0uMS00LjUtLjJjLTEuMiAuMS0yLjQgLjItMy42IC4ySDEwNGMtMjIuMSAwLTQwLTE3LjktNDAtNDBWMzYwYzAtLjkgMC0xLjkgLjEtMi44VjI4Ny42SDMyYy0xOCAwLTMyLTE0LTMyLTMyLjFjMC05IDMtMTcgMTAtMjRMMjY2LjQgOGM3LTcgMTUtOCAyMi04czE1IDIgMjEgN0w0OTAuNyAxNjYuM0M0NDcuMiAxODEuNyA0MTYgMjIzLjIgNDE2IDI3MnYyNC42Yy0xOS4xIDExLjEtMzIgMzEuNy0zMiA1NS40VjQ4MHpNNTI4IDI0MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2NDhoNjRWMjcyYzAtMTcuNy0xNC4zLTMyLTMyLTMyem0tODAgMzJjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MHY0OGMxNy43IDAgMzIgMTQuMyAzMiAzMlY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJINDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYzNTJjMC0xNy43IDE0LjMtMzIgMzItMzJWMjcyelwiXVxufTtcbnZhciBmYUNsb3VkQXJyb3dEb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nsb3VkLWFycm93LWRvd24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFs2MjMzNywgXCJjbG91ZC1kb3dubG9hZFwiLCBcImNsb3VkLWRvd25sb2FkLWFsdFwiXSwgXCJmMGVkXCIsIFwiTTE0NCA0ODBDNjQuNSA0ODAgMCA0MTUuNSAwIDMzNmMwLTYyLjggNDAuMi0xMTYuMiA5Ni4yLTEzNS45Yy0uMS0yLjctLjItNS40LS4yLTguMWMwLTg4LjQgNzEuNi0xNjAgMTYwLTE2MGM1OS4zIDAgMTExIDMyLjIgMTM4LjcgODAuMkM0MDkuOSAxMDIgNDI4LjMgOTYgNDQ4IDk2YzUzIDAgOTYgNDMgOTYgOTZjMCAxMi4yLTIuMyAyMy44LTYuNCAzNC42QzU5NiAyMzguNCA2NDAgMjkwLjEgNjQwIDM1MmMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOEgxNDR6bTc5LTE2N2w4MCA4MGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMGw4MC04MGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC0zOSAzOVYxODRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRWMzE4LjFsLTM5LTM5Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45elwiXVxufTtcbnZhciBmYUNsb3VkRG93bmxvYWQgPSBmYUNsb3VkQXJyb3dEb3duO1xudmFyIGZhQ2xvdWREb3dubG9hZEFsdCA9IGZhQ2xvdWRBcnJvd0Rvd247XG52YXIgZmFDaGlsZHJlbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGlsZHJlbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRlMVwiLCBcIk0xNjAgMGE2NCA2NCAwIDEgMSAwIDEyOEE2NCA2NCAwIDEgMSAxNjAgMHpNODggNDgwVjQwMEg3MC4yYy0xMC45IDAtMTguNi0xMC43LTE1LjItMjEuMWwzMS4xLTkzLjRMNTcuNSAzMjMuM2MtMTAuNyAxNC4xLTMwLjggMTYuOC00NC44IDYuMnMtMTYuOC0zMC43LTYuMi00NC44TDY1LjQgMjA3YzIyLjQtMjkuNiA1Ny41LTQ3IDk0LjYtNDdzNzIuMiAxNy40IDk0LjYgNDdsNTguOSA3Ny43YzEwLjcgMTQuMSA3LjkgMzQuMi02LjIgNDQuOHMtMzQuMiA3LjktNDQuOC02LjJsLTI4LjYtMzcuOEwyNjUgMzc4LjljMy41IDEwLjQtNC4zIDIxLjEtMTUuMiAyMS4xSDIzMnY4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY0MDBIMTUydjgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyek00ODAgMGE2NCA2NCAwIDEgMSAwIDEyOEE2NCA2NCAwIDEgMSA0ODAgMHptLTggMzg0djk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjMwMC41TDM5NS4xIDMyMWMtOS40IDE1LTI5LjIgMTkuNC00NC4xIDEwcy0xOS40LTI5LjItMTAtNDQuMWw1MS43LTgyLjFjMTcuNi0yNy45IDQ4LjMtNDQuOSA4MS4yLTQ0LjloMTIuM2MzMyAwIDYzLjcgMTYuOSA4MS4yIDQ0LjlMNjE5LjEgMjg3YzkuNCAxNSA0LjkgMzQuNy0xMCA0NC4xcy0zNC43IDQuOS00NC4xLTEwTDU1MiAzMDAuNVY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzg0SDQ3MnpcIl1cbn07XG52YXIgZmFDaGFsa2JvYXJkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoYWxrYm9hcmQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImJsYWNrYm9hcmRcIl0sIFwiZjUxYlwiLCBcIk05NiAzMkM2MC43IDMyIDMyIDYwLjcgMzIgOTZWMzg0SDk2Vjk2bDM4NCAwVjM4NGg2NFY5NmMwLTM1LjMtMjguNy02NC02NC02NEg5NnpNMjI0IDM4NHYzMkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg1NDRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINDE2VjM4NGMwLTE3LjctMTQuMy0zMi0zMi0zMkgyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyelwiXVxufTtcbnZhciBmYUJsYWNrYm9hcmQgPSBmYUNoYWxrYm9hcmQ7XG52YXIgZmFVc2VyTGFyZ2VTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLWxhcmdlLXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJ1c2VyLWFsdC1zbGFzaFwiXSwgXCJmNGZhXCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdMMzgxLjkgMjc0YzQ4LjUtMjMuMiA4Mi4xLTcyLjcgODIuMS0xMzBDNDY0IDY0LjUgMzk5LjUgMCAzMjAgMEMyNTAuNCAwIDE5Mi40IDQ5LjMgMTc4LjkgMTE0LjlMMzguOCA1LjF6TTU0NS41IDUxMkg1MjhMMjg0LjMgMzIwaC01OUMxMzYuMiAzMjAgNjQgMzkyLjIgNjQgNDgxLjNjMCAxNyAxMy44IDMwLjcgMzAuNyAzMC43SDU0NS4zbC4zIDB6XCJdXG59O1xudmFyIGZhVXNlckFsdFNsYXNoID0gZmFVc2VyTGFyZ2VTbGFzaDtcbnZhciBmYUVudmVsb3BlT3BlbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdlbnZlbG9wZS1vcGVuJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjIxMzVdLCBcImYyYjZcIiwgXCJNNjQgMjA4LjFMMjU2IDY1LjkgNDQ4IDIwOC4xdjQ3LjRMMjg5LjUgMzczYy05LjcgNy4yLTIxLjQgMTEtMzMuNSAxMXMtMjMuOC0zLjktMzMuNS0xMUw2NCAyNTUuNVYyMDguMXpNMjU2IDBjLTEyLjEgMC0yMy44IDMuOS0zMy41IDExTDI1LjkgMTU2LjdDOS42IDE2OC44IDAgMTg3LjggMCAyMDguMVY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRINDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0VjIwOC4xYzAtMjAuMy05LjYtMzkuNC0yNS45LTUxLjRMMjg5LjUgMTFDMjc5LjggMy45IDI2OC4xIDAgMjU2IDB6XCJdXG59O1xudmFyIGZhSGFuZHNoYWtlU2ltcGxlU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZHNoYWtlLXNpbXBsZS1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW1wiaGFuZHNoYWtlLWFsdC1zbGFzaFwiXSwgXCJlMDVmXCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdsLTEzNS0xMDUuOGMtMS4xLTExLjMtNi4zLTIyLjMtMTUuMy0zMC43bC0xMzQuMi0xMjMtMjMuNCAxOC4yLTI2LTIwLjMgNzcuMi02MC4xYzctNS40IDE3LTQuMiAyMi41IDIuOHM0LjIgMTctMi44IDIyLjVsLTIwLjkgMTYuMkw1NTAuMiAzNTJINTkyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjE3NmMwLTI2LjUtMjEuNS00OC00OC00OEg1MTZoLTQtLjdsLTMuOS0yLjVMNDM0LjggNzljLTE1LjMtOS44LTMzLjItMTUtNTEuNC0xNWMtMjEuOCAwLTQzIDcuNS02MCAyMS4ybC04OS43IDcyLjYtMjUuOC0yMC4zIDgxLjgtNjYuMmMtMTEuNi00LjktMjQuMS03LjQtMzYuOC03LjRDMjM0IDY0IDIxNS43IDY5LjYgMjAwIDgwbC0zNS41IDIzLjdMMzguOCA1LjF6TTQxMy42IDQyMS45TDQxLjIgMTI4LjVDMTcuOSAxMzEuOCAwIDE1MS44IDAgMTc2VjMwNGMwIDI2LjUgMjEuNSA0OCA0OCA0OEgxNTYuMmw5MS40IDgzLjRjMTkuNiAxNy45IDQ5LjkgMTYuNSA2Ny44LTMuMWM1LjUtNi4xIDkuMi0xMy4yIDExLjEtMjAuNmwxNyAxNS42YzE5LjUgMTcuOSA0OS45IDE2LjYgNjcuOC0yLjljLjgtLjggMS41LTEuNyAyLjItMi42elwiXVxufTtcbnZhciBmYUhhbmRzaGFrZUFsdFNsYXNoID0gZmFIYW5kc2hha2VTaW1wbGVTbGFzaDtcbnZhciBmYU1hdHRyZXNzUGlsbG93ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hdHRyZXNzLXBpbGxvdycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUyNVwiLCBcIk0yNTYgNjRINjRDMjguNyA2NCAwIDkyLjcgMCAxMjhWMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0SDI1NlY2NHptMzIgMzg0SDU3NmMzNS4zIDAgNjQtMjguNyA2NC02NFYxMjhjMC0zNS4zLTI4LjctNjQtNjQtNjRIMjg4VjQ0OHpNNjQgMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyaDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMyVjM1MmMwIDE3LjctMTQuMyAzMi0zMiAzMkg5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMTYwelwiXVxufTtcbnZhciBmYUd1YXJhbmlTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2d1YXJhbmktc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTE5YVwiLCBcIk0xOTIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJWNjYuN0M2OS4yIDgxLjkgMCAxNjAuOSAwIDI1NnM2OS4yIDE3NC4xIDE2MCAxODkuM1Y0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlY0NDUuM2M5MC44LTE1LjIgMTYwLTk0LjIgMTYwLTE4OS4zYzAtMTcuNy0xNC4zLTMyLTMyLTMySDIyNFYxMzJjMjIuMSA1LjcgNDEuOCAxNy4xIDU3LjYgMzIuNmMxMi42IDEyLjQgMzIuOSAxMi4yIDQ1LjMtLjRzMTIuMi0zMi45LS41LTQ1LjNDMjk5IDkyIDI2My41IDczLjMgMjI0IDY2LjdWMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6TTE2MCAxMzJWMzgwYy01NS4yLTE0LjItOTYtNjQuMy05Ni0xMjRzNDAuOC0xMDkuOCA5Ni0xMjR6TTIyNCAzODBWMjg4aDkyYy0xMS42IDQ1LTQ3IDgwLjQtOTIgOTJ6XCJdXG59O1xudmFyIGZhQXJyb3dzUm90YXRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93cy1yb3RhdGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg0NzIsIFwicmVmcmVzaFwiLCBcInN5bmNcIl0sIFwiZjAyMVwiLCBcIk0xMDUuMSAyMDIuNmM3LjctMjEuOCAyMC4yLTQyLjMgMzcuOC01OS44YzYyLjUtNjIuNSAxNjMuOC02Mi41IDIyNi4zIDBMMzg2LjMgMTYwSDM1MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg0NjMuNWMwIDAgMCAwIDAgMGguNGMxNy43IDAgMzItMTQuMyAzMi0zMlY4MGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnYzNS4yTDQxNC40IDk3LjZjLTg3LjUtODcuNS0yMjkuMy04Ny41LTMxNi44IDBDNzMuMiAxMjIgNTUuNiAxNTAuNyA0NC44IDE4MS40Yy01LjkgMTYuNyAyLjkgMzQuOSAxOS41IDQwLjhzMzQuOS0yLjkgNDAuOC0xOS41ek0zOSAyODkuM2MtNSAxLjUtOS44IDQuMi0xMy43IDguMmMtNCA0LTYuNyA4LjgtOC4xIDE0Yy0uMyAxLjItLjYgMi41LS44IDMuOGMtLjMgMS43LS40IDMuNC0uNCA1LjFWNDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMzk2LjlsMTcuNiAxNy41IDAgMGM4Ny41IDg3LjQgMjI5LjMgODcuNCAzMTYuNyAwYzI0LjQtMjQuNCA0Mi4xLTUzLjEgNTIuOS04My43YzUuOS0xNi43LTIuOS0zNC45LTE5LjUtNDAuOHMtMzQuOSAyLjktNDAuOCAxOS41Yy03LjcgMjEuOC0yMC4yIDQyLjMtMzcuOCA1OS44Yy02Mi41IDYyLjUtMTYzLjggNjIuNS0yMjYuMyAwbC0uMS0uMUwxMjUuNiAzNTJIMTYwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDQ4LjRjLTEuNiAwLTMuMiAuMS00LjggLjNzLTMuMSAuNS00LjYgMXpcIl1cbn07XG52YXIgZmFSZWZyZXNoID0gZmFBcnJvd3NSb3RhdGU7XG52YXIgZmFTeW5jID0gZmFBcnJvd3NSb3RhdGU7XG52YXIgZmFGaXJlRXh0aW5ndWlzaGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpcmUtZXh0aW5ndWlzaGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5NTE5XSwgXCJmMTM0XCIsIFwiTTUwMC4zIDcuM0M1MDcuNyAxMy4zIDUxMiAyMi40IDUxMiAzMnY5NmMwIDkuNi00LjMgMTguNy0xMS43IDI0LjdzLTE3LjIgOC41LTI2LjYgNi42bC0xNjAtMzJDMzAxLjUgMTI0LjkgMjkyIDExNS43IDI4OSAxMDRIMjI0djM0LjhjMzcuOCAxOCA2NCA1Ni41IDY0IDEwMS4yVjM4NEg2NFYyNDBjMC00NC43IDI2LjItODMuMiA2NC0xMDEuMlYxMTBjLTM2LjIgMTEuMS02NiAzNi45LTgyLjMgNzAuNWMtNS44IDExLjktMjAuMiAxNi45LTMyLjEgMTEuMVMtMy4zIDE3MS40IDIuNSAxNTkuNUMyNi43IDEwOS44IDcyLjcgNzIuNiAxMjggNjAuNFYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMmgzMmMxNy43IDAgMzIgMTQuMyAzMiAzMlY1Nmg2NWMzLTExLjcgMTIuNS0yMC45IDI0LjctMjMuNGwxNjAtMzJjOS40LTEuOSAxOS4xIC42IDI2LjYgNi42ek0yODggNDE2djMyYzAgMzUuMy0yOC43IDY0LTY0IDY0SDEyOGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWNDE2SDI4OHpNMTc2IDk2YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnpcIl1cbn07XG52YXIgZmFDcnV6ZWlyb1NpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3J1emVpcm8tc2lnbicsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTE1MlwiLCBcIk05NiAyNTZjMC04OC40IDcxLjYtMTYwIDE2MC0xNjBjNDEgMCA3OC4zIDE1LjQgMTA2LjcgNDAuN2MxMy4yIDExLjggMzMuNCAxMC43IDQ1LjItMi41czEwLjctMzMuNC0yLjUtNDUuMmMtMzkuNi0zNS41LTkyLTU3LTE0OS4zLTU3QzEzMi4zIDMyIDMyIDEzMi4zIDMyIDI1NnMxMDAuMyAyMjQgMjI0IDIyNGM1Ny40IDAgMTA5LjctMjEuNiAxNDkuMy01N2MxMy4yLTExLjggMTQuMy0zMiAyLjUtNDUuMnMtMzItMTQuMy00NS4yLTIuNUMzMzQuMyA0MDAuNiAyOTcgNDE2IDI1NiA0MTZWMzIwdi04LjdjMC0xMi44IDEwLjQtMjMuMyAyMy4zLTIzLjNjNC42IDAgOS4xIDEuNCAxMi45IDMuOWwxMC4xIDYuN2MxNC43IDkuOCAzNC42IDUuOCA0NC40LTguOXM1LjgtMzQuNi04LjktNDQuNGwtMTAuMS02LjdjLTE0LjMtOS42LTMxLjItMTQuNy00OC40LTE0LjdjLTEyLjQgMC0yNC4yIDIuNi0zNC45IDcuM2MtNS41LTQuNS0xMi42LTcuMy0yMC4zLTcuM2MtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2NTUuM1YzMjB2ODIuN0MxMzUuNSAzNzggOTYgMzIxLjYgOTYgMjU2elwiXVxufTtcbnZhciBmYUdyZWF0ZXJUaGFuRXF1YWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ3JlYXRlci10aGFuLWVxdWFsJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmNTMyXCIsIFwiTTUyLjEgOTMuN0MzNS43IDg3LjEgMjcuNyA2OC41IDM0LjMgNTIuMXMyNS4yLTI0LjQgNDEuNi0xNy44bDMyMCAxMjhDNDA4IDE2Ny4xIDQxNiAxNzguOSA0MTYgMTkycy04IDI0LjktMjAuMSAyOS43bC0zMjAgMTI4Yy0xNi40IDYuNi0zNS0xLjQtNDEuNi0xNy44czEuNC0zNSAxNy44LTQxLjZMMjk3LjggMTkyIDUyLjEgOTMuN3pNNDE2IDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkg0MTZ6XCJdXG59O1xudmFyIGZhU2hpZWxkSGFsdmVkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoaWVsZC1oYWx2ZWQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInNoaWVsZC1hbHRcIl0sIFwiZjNlZFwiLCBcIk0yNTYgMGM0LjYgMCA5LjIgMSAxMy40IDIuOUw0NTcuNyA4Mi44YzIyIDkuMyAzOC40IDMxIDM4LjMgNTcuMmMtLjUgOTkuMi00MS4zIDI4MC43LTIxMy42IDM2My4yYy0xNi43IDgtMzYuMSA4LTUyLjggMEM1Ny4zIDQyMC43IDE2LjUgMjM5LjIgMTYgMTQwYy0uMS0yNi4yIDE2LjMtNDcuOSAzOC4zLTU3LjJMMjQyLjcgMi45QzI0Ni44IDEgMjUxLjQgMCAyNTYgMHptMCA2Ni44VjQ0NC44QzM5NCAzNzggNDMxLjEgMjMwLjEgNDMyIDE0MS40TDI1NiA2Ni44bDAgMHpcIl1cbn07XG52YXIgZmFTaGllbGRBbHQgPSBmYVNoaWVsZEhhbHZlZDtcbnZhciBmYUJvb2tBdGxhcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib29rLWF0bGFzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJhdGxhc1wiXSwgXCJmNTU4XCIsIFwiTTAgOTZDMCA0MyA0MyAwIDk2IDBIMzg0aDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjM1MmMwIDE3LjctMTQuMyAzMi0zMiAzMnY2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzODQgOTZjLTUzIDAtOTYtNDMtOTYtOTZWOTZ6TTY0IDQxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMkgzNTJWMzg0SDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMjQ3LjQgMjgzLjhjLTMuNyAzLjctNi4yIDQuMi03LjQgNC4ycy0zLjctLjUtNy40LTQuMmMtMy44LTMuNy04LTEwLTExLjgtMTguOWMtNi4yLTE0LjUtMTAuOC0zNC4zLTEyLjItNTYuOWg2M2MtMS41IDIyLjYtNiA0Mi40LTEyLjIgNTYuOWMtMy44IDguOS04IDE1LjItMTEuOCAxOC45em00Mi43LTkuOWM3LjMtMTguMyAxMi00MS4xIDEzLjQtNjUuOWgzMS4xYy00LjcgMjcuOS0yMS40IDUxLjctNDQuNSA2NS45em0wLTE2My44YzIzLjIgMTQuMiAzOS45IDM4IDQ0LjUgNjUuOUgzMDMuNWMtMS40LTI0LjctNi4xLTQ3LjUtMTMuNC02NS45ek0zNjggMTkyYTEyOCAxMjggMCAxIDAgLTI1NiAwIDEyOCAxMjggMCAxIDAgMjU2IDB6TTE0NS4zIDIwOGgzMS4xYzEuNCAyNC43IDYuMSA0Ny41IDEzLjQgNjUuOWMtMjMuMi0xNC4yLTM5LjktMzgtNDQuNS02NS45em0zMS4xLTMySDE0NS4zYzQuNy0yNy45IDIxLjQtNTEuNyA0NC41LTY1LjljLTcuMyAxOC4zLTEyIDQxLjEtMTMuNCA2NS45em01Ni4xLTc1LjhjMy43LTMuNyA2LjItNC4yIDcuNC00LjJzMy43IC41IDcuNCA0LjJjMy44IDMuNyA4IDEwIDExLjggMTguOWM2LjIgMTQuNSAxMC44IDM0LjMgMTIuMiA1Ni45aC02M2MxLjUtMjIuNiA2LTQyLjQgMTIuMi01Ni45YzMuOC04LjkgOC0xNS4yIDExLjgtMTguOXpcIl1cbn07XG52YXIgZmFBdGxhcyA9IGZhQm9va0F0bGFzO1xudmFyIGZhVmlydXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmlydXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImUwNzRcIiwgXCJNMjg4IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjQzLjVjMCA0OS45LTYwLjMgNzQuOS05NS42IDM5LjZMMTIwLjIgNzVDMTA3LjcgNjIuNSA4Ny41IDYyLjUgNzUgNzVzLTEyLjUgMzIuOCAwIDQ1LjNsOC4yIDguMkMxMTguNCAxNjMuNyA5My40IDIyNCA0My41IDIyNEgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg0My41YzQ5LjkgMCA3NC45IDYwLjMgMzkuNiA5NS42TDc1IDM5MS44Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDguMi04LjJjMzUuMy0zNS4zIDk1LjYtMTAuMyA5NS42IDM5LjZWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWNDY4LjVjMC00OS45IDYwLjMtNzQuOSA5NS42LTM5LjZsOC4yIDguMmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC04LjItOC4yYy0zNS4zLTM1LjMtMTAuMy05NS42IDM5LjYtOTUuNkg0ODBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINDY4LjVjLTQ5LjkgMC03NC45LTYwLjMtMzkuNi05NS42bDguMi04LjJjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTguMiA4LjJDMzQ4LjMgMTE4LjQgMjg4IDkzLjQgMjg4IDQzLjVWMzJ6TTE3NiAyMjRhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptMTI4IDU2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpcIl1cbn07XG52YXIgZmFFbnZlbG9wZUNpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2VudmVsb3BlLWNpcmNsZS1jaGVjaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRlOFwiLCBcIk00OCA2NEMyMS41IDY0IDAgODUuNSAwIDExMmMwIDE1LjEgNy4xIDI5LjMgMTkuMiAzOC40TDIzNi44IDMxMy42YzExLjQgOC41IDI3IDguNSAzOC40IDBsNTcuNC00M2MyMy45LTU5LjggNzkuNy0xMDMuMyAxNDYuMy0xMDkuOGwxMy45LTEwLjRjMTIuMS05LjEgMTkuMi0yMy4zIDE5LjItMzguNGMwLTI2LjUtMjEuNS00OC00OC00OEg0OHpNMjk0LjQgMzM5LjJjLTIyLjggMTcuMS01NCAxNy4xLTc2LjggMEwwIDE3NlYzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzYwLjJDMzM1LjEgNDE3LjYgMzIwIDM3OC41IDMyMCAzMzZjMC01LjYgLjMtMTEuMSAuOC0xNi42bC0yNi40IDE5Ljh6TTY0MCAzMzZhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTc2LjctNDMuM2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNmwtNzIgNzJjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwbC00MC00MGMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQ4MCAzNTMuNGw2MC43LTYwLjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDB6XCJdXG59O1xudmFyIGZhTGF5ZXJHcm91cCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsYXllci1ncm91cCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjVmZFwiLCBcIk0yNjQuNSA1LjJjMTQuOS02LjkgMzIuMS02LjkgNDcgMGwyMTguNiAxMDFjOC41IDMuOSAxMy45IDEyLjQgMTMuOSAyMS44cy01LjQgMTcuOS0xMy45IDIxLjhsLTIxOC42IDEwMWMtMTQuOSA2LjktMzIuMSA2LjktNDcgMEw0NS45IDE0OS44QzM3LjQgMTQ1LjggMzIgMTM3LjMgMzIgMTI4czUuNC0xNy45IDEzLjktMjEuOEwyNjQuNSA1LjJ6TTQ3Ni45IDIwOS42bDUzLjIgMjQuNmM4LjUgMy45IDEzLjkgMTIuNCAxMy45IDIxLjhzLTUuNCAxNy45LTEzLjkgMjEuOGwtMjE4LjYgMTAxYy0xNC45IDYuOS0zMi4xIDYuOS00NyAwTDQ1LjkgMjc3LjhDMzcuNCAyNzMuOCAzMiAyNjUuMyAzMiAyNTZzNS40LTE3LjkgMTMuOS0yMS44bDUzLjItMjQuNiAxNTIgNzAuMmMyMy40IDEwLjggNTAuNCAxMC44IDczLjggMGwxNTItNzAuMnptLTE1MiAxOTguMmwxNTItNzAuMiA1My4yIDI0LjZjOC41IDMuOSAxMy45IDEyLjQgMTMuOSAyMS44cy01LjQgMTcuOS0xMy45IDIxLjhsLTIxOC42IDEwMWMtMTQuOSA2LjktMzIuMSA2LjktNDcgMEw0NS45IDQwNS44QzM3LjQgNDAxLjggMzIgMzkzLjMgMzIgMzg0czUuNC0xNy45IDEzLjktMjEuOGw1My4yLTI0LjYgMTUyIDcwLjJjMjMuNCAxMC44IDUwLjQgMTAuOCA3My44IDB6XCJdXG59O1xudmFyIGZhQXJyb3dzVG9Eb3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3dzLXRvLWRvdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTRiZVwiLCBcIk0yNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMlY2NGgzMmMxMi45IDAgMjQuNiA3LjggMjkuNiAxOS44czIuMiAyNS43LTYuOSAzNC45bC02NCA2NGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTY0LTY0Yy05LjItOS4yLTExLjktMjIuOS02LjktMzQuOXMxNi42LTE5LjggMjkuNi0xOS44aDMyVjMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek0xNjkuNCAzOTMuNGw2NC02NGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGw2NCA2NGM5LjIgOS4yIDExLjkgMjIuOSA2LjkgMzQuOXMtMTYuNiAxOS44LTI5LjYgMTkuOEgyODh2MzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWNDQ4SDE5MmMtMTIuOSAwLTI0LjYtNy44LTI5LjYtMTkuOHMtMi4yLTI1LjcgNi45LTM0Ljl6TTMyIDIyNEg2NFYxOTJjMC0xMi45IDcuOC0yNC42IDE5LjgtMjkuNnMyNS43LTIuMiAzNC45IDYuOWw2NCA2NGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtNjQgNjRjLTkuMiA5LjItMjIuOSAxMS45LTM0LjkgNi45cy0xOS44LTE2LjYtMTkuOC0yOS42VjI4OEgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMjk3LjQgNTQuNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNsNjQtNjRjOS4yLTkuMiAyMi45LTExLjkgMzQuOS02LjlzMTkuOCAxNi42IDE5LjggMjkuNnYzMmgzMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg0NDh2MzJjMCAxMi45LTcuOCAyNC42LTE5LjggMjkuNnMtMjUuNyAyLjItMzQuOS02LjlsLTY0LTY0ek0yNTYgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFBcmNod2F5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2FyY2h3YXknLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1NTdcIiwgXCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2SDQ4MGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMnptMCAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJIOTZoNjRWMzUyYzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZWNDgwaDY0IDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyVjEyOEgzMlY0MTZ6XCJdXG59O1xudmFyIGZhSGVhcnRDaXJjbGVDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFydC1jaXJjbGUtY2hlY2snLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0ZmRcIiwgXCJNNDcuNiAzMDAuNEwyMjguMyA0NjkuMWM3LjUgNyAxNy40IDEwLjkgMjcuNyAxMC45czIwLjItMy45IDI3LjctMTAuOWwyLjYtMi40QzI2Ny4yIDQzOC42IDI1NiA0MDQuNiAyNTYgMzY4YzAtOTcuMiA3OC44LTE3NiAxNzYtMTc2YzI4LjMgMCA1NSA2LjcgNzguNyAxOC41Yy45LTYuNSAxLjMtMTMgMS4zLTE5LjZ2LTUuOGMwLTY5LjktNTAuNS0xMjkuNS0xMTkuNC0xNDFDMzQ3IDM2LjUgMzAwLjYgNTEuNCAyNjggODRMMjU2IDk2IDI0NCA4NGMtMzIuNi0zMi42LTc5LTQ3LjUtMTI0LjYtMzkuOUM1MC41IDU1LjYgMCAxMTUuMiAwIDE4NS4xdjUuOGMwIDQxLjUgMTcuMiA4MS4yIDQ3LjYgMTA5LjV6TTU3NiAzNjhhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTc2LjctNDMuM2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNmwtNzIgNzJjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwbC00MC00MGMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQxNiAzODUuNGw2MC43LTYwLjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDB6XCJdXG59O1xudmFyIGZhSG91c2VDaGltbmV5Q3JhY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtY2hpbW5leS1jcmFjaycsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiaG91c2UtZGFtYWdlXCJdLCBcImY2ZjFcIiwgXCJNNTc1LjggMjU1LjVjMCAxOC0xNSAzMi4xLTMyIDMyLjFoLTMybC43IDE2MC4yYy4yIDM1LjUtMjguNSA2NC4zLTY0IDY0LjNIMzI2LjRMMjg4IDQ0OGw4MC44LTY3LjNjNy44LTYuNSA3LjYtMTguNi0uNC0yNC45TDI1MC42IDI2My4yYy0xNC42LTExLjUtMzMuOCA3LTIyLjggMjJMMjg4IDM2OGwtODUuNSA3MS4yYy02LjEgNS03LjUgMTMuOC0zLjUgMjAuNUwyMzAuNCA1MTJIMTI4LjFjLTM1LjMgMC02NC0yOC43LTY0LTY0VjI4Ny42SDMyYy0xOCAwLTMyLTE0LTMyLTMyLjFjMC05IDMtMTcgMTAtMjRMMjY2LjQgOGM3LTcgMTUtOCAyMi04czE1IDIgMjEgN0w0MTYgMTAwLjdWNjRjMC0xNy43IDE0LjMtMzIgMzItMzJoMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJWMTg1bDUyLjggNDYuNGM4IDcgMTIgMTUgMTEgMjR6XCJdXG59O1xudmFyIGZhSG91c2VEYW1hZ2UgPSBmYUhvdXNlQ2hpbW5leUNyYWNrO1xudmFyIGZhRmlsZVppcHBlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLXppcHBlcicsXG4gIGljb246IFszODQsIDUxMiwgW1wiZmlsZS1hcmNoaXZlXCJdLCBcImYxYzZcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDMyMGMzNS4zIDAgNjQtMjguNyA2NC02NFYxNjBIMjU2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYwSDY0ek0yNTYgMFYxMjhIMzg0TDI1NiAwek05NiA0OGMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMTEyYy04LjggMC0xNi03LjItMTYtMTZ6bTAgNjRjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDExMmMtOC44IDAtMTYtNy4yLTE2LTE2em0wIDY0YzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgxMTJjLTguOCAwLTE2LTcuMi0xNi0xNnptLTYuMyA3MS44YzMuNy0xNCAxNi40LTIzLjggMzAuOS0yMy44aDE0LjhjMTQuNSAwIDI3LjIgOS43IDMwLjkgMjMuOGwyMy41IDg4LjJjMS40IDUuNCAyLjEgMTAuOSAyLjEgMTYuNGMwIDM1LjItMjguOCA2My43LTY0IDYzLjdzLTY0LTI4LjUtNjQtNjMuN2MwLTUuNSAuNy0xMS4xIDIuMS0xNi40bDIzLjUtODguMnpNMTEyIDMzNmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgxMTJ6XCJdXG59O1xudmFyIGZhRmlsZUFyY2hpdmUgPSBmYUZpbGVaaXBwZXI7XG52YXIgZmFTcXVhcmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbOTYzMiwgOTcyMywgOTcyNCwgNjE1OTBdLCBcImYwYzhcIiwgXCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMkgzODRjMzUuMyAwIDY0IDI4LjcgNjQgNjRWNDE2YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY5NnpcIl1cbn07XG52YXIgZmFNYXJ0aW5pR2xhc3NFbXB0eSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXJ0aW5pLWdsYXNzLWVtcHR5JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJnbGFzcy1tYXJ0aW5pXCJdLCBcImYwMDBcIiwgXCJNMzIgMEMxOS4xIDAgNy40IDcuOCAyLjQgMTkuOHMtMi4yIDI1LjcgNi45IDM0LjlMMjI0IDI2OS4zVjQ0OEgxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoOTYgOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMjg4VjI2OS4zTDUwMi42IDU0LjZjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTNDkyLjkgMCA0ODAgMEgzMnpNMjU2IDIxMC43TDEwOS4zIDY0SDQwMi43TDI1NiAyMTAuN3pcIl1cbn07XG52YXIgZmFHbGFzc01hcnRpbmkgPSBmYU1hcnRpbmlHbGFzc0VtcHR5O1xudmFyIGZhQ291Y2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY291Y2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY0YjhcIiwgXCJNNjQgMTYwQzY0IDg5LjMgMTIxLjMgMzIgMTkyIDMySDQ0OGM3MC43IDAgMTI4IDU3LjMgMTI4IDEyOHYzMy42Yy0zNi41IDcuNC02NCAzOS43LTY0IDc4LjR2NDhIMTI4VjI3MmMwLTM4LjctMjcuNS03MS02NC03OC40VjE2MHpNNTQ0IDI3MmMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNjNS0xLjggMTAuNC0yLjcgMTYtMi43YzI2LjUgMCA0OCAyMS41IDQ4IDQ4VjQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMkg1NzZjLTE3LjcgMC0zMi0xNC4zLTMyLTMySDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMlYyNzJjMC0yNi41IDIxLjUtNDggNDgtNDhjNS42IDAgMTEgMSAxNiAyLjdjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zdjQ4IDMyaDMySDUxMmgzMlYzMjAgMjcyelwiXVxufTtcbnZhciBmYUNlZGlTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NlZGktc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTBkZlwiLCBcIk0yNTYgMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWNjYuN0MxMDEuMiA4MS45IDMyIDE2MC45IDMyIDI1NnM2OS4yIDE3NC4xIDE2MCAxODkuM1Y0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlY0NDUuM2MzMC45LTUuMiA1OS4yLTE3LjcgODMuMi0zNS44YzE0LjEtMTAuNiAxNy0zMC43IDYuNC00NC44cy0zMC43LTE3LTQ0LjgtNi40Yy0xMy4yIDkuOS0yOC4zIDE3LjMtNDQuOCAyMS42VjEzMmMxNi40IDQuMiAzMS42IDExLjYgNDQuOCAyMS42YzE0LjEgMTAuNiAzNC4yIDcuOCA0NC44LTYuNHM3LjgtMzQuMi02LjQtNDQuOGMtMjQtMTgtNTIuNC0zMC42LTgzLjItMzUuOFYzMnpNMTkyIDEzMlYzODBjLTU1LjItMTQuMi05Ni02NC4zLTk2LTEyNHM0MC44LTEwOS44IDk2LTEyNHpcIl1cbn07XG52YXIgZmFJdGFsaWMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaXRhbGljJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmMDMzXCIsIFwiTTEyOCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMkgzNTJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMjkzLjNMMTYwIDQxNmg2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkg5MC43TDIyNCA5NkgxNjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyelwiXVxufTtcbnZhciBmYVRhYmxlQ2VsbHNDb2x1bW5Mb2NrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhYmxlLWNlbGxzLWNvbHVtbi1sb2NrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNjc4XCIsIFwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA2NS4xYy0zNy44IDUuNC02OS40IDI5LjYtODUuMiA2Mi45TDM2MCAyMjRsMCA2NCA1NiAwIDAgOC42Yy0xOS4xIDExLjEtMzIgMzEuNy0zMiA1NS40bC0yNCAwIDAgNjQgMjQgMCAwIDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnptMjA4IDBsMCA2NCA4OCAwIDAtNjQtODggMHptMjQwIDBsLTg4IDAgMCA2NCA4OCAwIDAtNjR6TTIwOCAyMjRsMCA2NCA4OCAwIDAtNjQtODggMHptMCAxMjhsMCA2NCA4OCAwIDAtNjQtODggMHpNNTI4IDI0MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA0OCA2NCAwIDAtNDhjMC0xNy43LTE0LjMtMzItMzItMzJ6bS04MCAzMmMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwbDAgNDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE2MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwwLTQ4elwiXVxufTtcbnZhciBmYUNodXJjaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaHVyY2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFs5OTYyXSwgXCJmNTFkXCIsIFwiTTM0NCAyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNFY0OEgyNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRoMzJ2NDYuNEwxODMuMyAyMTBjLTE0LjUgOC43LTIzLjMgMjQuMy0yMy4zIDQxLjJWNTEyaDk2VjQxNmMwLTM1LjMgMjguNy02NCA2NC02NHM2NCAyOC43IDY0IDY0djk2aDk2VjI1MS4yYzAtMTYuOS04LjgtMzIuNS0yMy4zLTQxLjJMMzQ0IDE0Mi40Vjk2aDMyYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDM0NFYyNHpNMjQuOSAzMzAuM0M5LjUgMzM4LjggMCAzNTQuOSAwIDM3Mi40VjQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGg4MFYyNzMuNkwyNC45IDMzMC4zek01OTIgNTEyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjM3Mi40YzAtMTcuNS05LjUtMzMuNi0yNC45LTQyLjFMNTEyIDI3My42VjUxMmg4MHpcIl1cbn07XG52YXIgZmFDb21tZW50c0RvbGxhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb21tZW50cy1kb2xsYXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY2NTNcIiwgXCJNNDE2IDE3NmMwIDk3LjItOTMuMSAxNzYtMjA4IDE3NmMtMzguMiAwLTczLjktOC43LTEwNC43LTIzLjljLTcuNSA0LTE2IDcuOS0yNS4yIDExLjRDNTkuOCAzNDYuNCAzNy44IDM1MiAxNiAzNTJjLTYuOSAwLTEzLjEtNC41LTE1LjItMTEuMXMuMi0xMy44IDUuOC0xNy45bDAgMCAwIDAgLjItLjJjLjItLjIgLjYtLjQgMS4xLS44YzEtLjggMi41LTIgNC4zLTMuN2MzLjYtMy4zIDguNS04LjEgMTMuMy0xNC4zYzUuNS03IDEwLjctMTUuNCAxNC4yLTI0LjdDMTQuNyAyNTAuMyAwIDIxNC42IDAgMTc2QzAgNzguOCA5My4xIDAgMjA4IDBTNDE2IDc4LjggNDE2IDE3NnpNMjMxLjUgMzgzQzM0OC45IDM3Mi45IDQ0OCAyODguMyA0NDggMTc2YzAtNS4yLS4yLTEwLjQtLjYtMTUuNUM1NTUuMSAxNjcuMSA2NDAgMjQzLjIgNjQwIDMzNmMwIDM4LjYtMTQuNyA3NC4zLTM5LjYgMTAzLjRjMy41IDkuNCA4LjcgMTcuNyAxNC4yIDI0LjdjNC44IDYuMiA5LjcgMTEgMTMuMyAxNC4zYzEuOCAxLjYgMy4zIDIuOSA0LjMgMy43Yy41IC40IC45IC43IDEuMSAuOGwuMiAuMiAwIDAgMCAwYzUuNiA0LjEgNy45IDExLjMgNS44IDE3LjljLTIuMSA2LjYtOC4zIDExLjEtMTUuMiAxMS4xYy0yMS44IDAtNDMuOC01LjYtNjIuMS0xMi41Yy05LjItMy41LTE3LjgtNy40LTI1LjItMTEuNEM1MDUuOSA1MDMuMyA0NzAuMiA1MTIgNDMyIDUxMmMtOTUuNiAwLTE3Ni4yLTU0LjYtMjAwLjUtMTI5ek0yMjggNzJjMC0xMS05LTIwLTIwLTIwcy0yMCA5LTIwIDIwVjg2Yy03LjYgMS43LTE1LjIgNC40LTIyLjIgOC41Yy0xMy45IDguMy0yNS45IDIyLjgtMjUuOCA0My45Yy4xIDIwLjMgMTIgMzMuMSAyNC43IDQwLjdjMTEgNi42IDI0LjcgMTAuOCAzNS42IDE0bDEuNyAuNWMxMi42IDMuOCAyMS44IDYuOCAyOCAxMC43YzUuMSAzLjIgNS44IDUuNCA1LjkgOC4yYy4xIDUtMS44IDgtNS45IDEwLjVjLTUgMy4xLTEyLjkgNS0yMS40IDQuN2MtMTEuMS0uNC0yMS41LTMuOS0zNS4xLTguNWMtMi4zLS44LTQuNy0xLjYtNy4yLTIuNGMtMTAuNS0zLjUtMjEuOCAyLjItMjUuMyAxMi42czIuMiAyMS44IDEyLjYgMjUuM2MxLjkgLjYgNCAxLjMgNi4xIDIuMWwwIDAgMCAwYzguMyAyLjkgMTcuOSA2LjIgMjguMiA4LjRWMjgwYzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwVjI2Ni4yYzgtMS43IDE2LTQuNSAyMy4yLTljMTQuMy04LjkgMjUuMS0yNC4xIDI0LjgtNDVjLS4zLTIwLjMtMTEuNy0zMy40LTI0LjYtNDEuNmMtMTEuNS03LjItMjUuOS0xMS42LTM3LjEtMTVsLS43LS4yYy0xMi44LTMuOS0yMS45LTYuNy0yOC4zLTEwLjVjLTUuMi0zLjEtNS4zLTQuOS01LjMtNi43YzAtMy43IDEuNC02LjUgNi4yLTkuM2M1LjQtMy4yIDEzLjYtNS4xIDIxLjUtNWM5LjYgLjEgMjAuMiAyLjIgMzEuMiA1LjJjMTAuNyAyLjggMjEuNi0zLjUgMjQuNS0xNC4ycy0zLjUtMjEuNi0xNC4yLTI0LjVjLTYuNS0xLjctMTMuNy0zLjQtMjEuMS00LjdWNzJ6XCJdXG59O1xudmFyIGZhRGVtb2NyYXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGVtb2NyYXQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY3NDdcIiwgXCJNNjQgMzJjMC04LjkgMy44LTIwLjkgNi4yLTI3LjNDNzEuMiAxLjggNzQgMCA3NyAwYzEuOSAwIDMuOCAuNyA1LjIgMi4xTDEyOCA0NS43IDE3My44IDIuMUMxNzUuMiAuNyAxNzcuMSAwIDE3OSAwYzMgMCA1LjggMS44IDYuOCA0LjdjMi40IDYuNSA2LjIgMTguNCA2LjIgMjcuM2MwIDI2LjUtMjEuOSA0Mi0yOS41IDQ2LjZsNzYuMiA3Mi42YzYgNS43IDEzLjkgOC44IDIyLjEgOC44SDQ4MGwzMiAwYzQwLjMgMCA3OC4yIDE5IDEwMi40IDUxLjJsMTkuMiAyNS42YzEwLjYgMTQuMSA3LjcgMzQuMi02LjQgNDQuOHMtMzQuMiA3LjctNDQuOC02LjRsLTE5LjItMjUuNmMtNS4zLTctMTEuOC0xMi44LTE5LjItMTdWMzIwSDE5MmwtNDAuNC05NC4zYy0zLjktOS4yLTE1LjMtMTIuNi0yMy42LTdsLTQyLjEgMjhjLTkuMSA2LjEtMTkuNyA5LjMtMzAuNyA5LjNoLTJDMjMuOSAyNTYgMCAyMzIuMSAwIDIwMi43YzAtMTIuMSA0LjEtMjMuOCAxMS43LTMzLjNMODcuNiA3NC42Qzc4LjEgNjcuNCA2NCA1My4yIDY0IDMyek00NDggMzUyaDk2djY0IDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMySDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDE2SDI4OHY2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkgyMjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjQxNiAzNTJoOTZINDQ4ek0yNjAuOSAyMTAuOWMtLjktMS44LTIuOC0yLjktNC44LTIuOXMtMy45IDEuMS00LjggMi45bC0xMC41IDIwLjUtMjMuNSAzLjNjLTIgLjMtMy43IDEuNi00LjMgMy41cy0uMSAzLjkgMS4zIDUuM2wxNyAxNi00IDIyLjZjLS4zIDEuOSAuNSAzLjkgMi4xIDVzMy44IDEuMyA1LjYgLjRsMjEtMTAuNyAyMSAxMC43YzEuOCAuOSA0IC44IDUuNi0uNHMyLjUtMy4xIDIuMS01bC00LTIyLjYgMTctMTZjMS41LTEuNCAyLTMuNCAxLjMtNS4zcy0yLjMtMy4yLTQuMy0zLjVsLTIzLjUtMy4zLTEwLjUtMjAuNXpNMzY4LjEgMjA4Yy0yIDAtMy45IDEuMS00LjggMi45bC0xMC41IDIwLjUtMjMuNSAzLjNjLTIgLjMtMy43IDEuNi00LjMgMy41cy0uMSAzLjkgMS4zIDUuM2wxNyAxNi00IDIyLjZjLS4zIDEuOSAuNSAzLjkgMi4xIDVzMy44IDEuMyA1LjYgLjRsMjEtMTAuNyAyMSAxMC43YzEuOCAuOSA0IC44IDUuNi0uNHMyLjUtMy4xIDIuMS01bC00LTIyLjYgMTctMTZjMS41LTEuNCAyLTMuNCAxLjQtNS4zcy0yLjMtMy4yLTQuMy0zLjVsLTIzLjUtMy4zLTEwLjUtMjAuNWMtLjktMS44LTIuOC0yLjktNC44LTIuOXptMTE2LjggMi45Yy0uOS0xLjgtMi44LTIuOS00LjgtMi45cy0zLjkgMS4xLTQuOCAyLjlsLTEwLjUgMjAuNS0yMy41IDMuM2MtMiAuMy0zLjcgMS42LTQuMyAzLjVzLS4xIDMuOSAxLjMgNS4zbDE3IDE2LTQgMjIuNmMtLjMgMS45IC41IDMuOSAyLjEgNXMzLjggMS4zIDUuNiAuNGwyMS0xMC43IDIxIDEwLjdjMS44IC45IDQgLjggNS42LS40czIuNS0zLjEgMi4xLTVsLTQtMjIuNiAxNy0xNmMxLjUtMS40IDItMy40IDEuNC01LjNzLTIuMy0zLjItNC4zLTMuNWwtMjMuNS0zLjMtMTAuNS0yMC41elwiXVxufTtcbnZhciBmYVogPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAneicsXG4gIGljb246IFszODQsIDUxMiwgWzEyMl0sIFwiNWFcIiwgXCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMkgzNTJjMTIuNCAwIDIzLjcgNy4yIDI5IDE4LjRzMy42IDI0LjUtNC40IDM0LjFMMTAwLjMgNDE2SDM1MmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMmMtMTIuNCAwLTIzLjctNy4yLTI5LTE4LjRzLTMuNi0yNC41IDQuNC0zNC4xTDI4My43IDk2SDMyQzE0LjMgOTYgMCA4MS43IDAgNjR6XCJdXG59O1xudmFyIGZhUGVyc29uU2tpaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1za2lpbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5OTc1LCBcInNraWluZ1wiXSwgXCJmN2M5XCIsIFwiTTM4MC43IDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTIuNyAyNjguOWM2LjEtMTEuOCAyMC42LTE2LjMgMzIuNC0xMC4yTDIzMi43IDM2MS4zbDQ2LjItNjkuMi03NS4xLTc1LjFjLTE0LjYtMTQuNi0yMC40LTMzLjktMTguNC01Mi4xbDEwOC44IDUyIDM5LjMgMzkuM2MxNi4yIDE2LjIgMTguNyA0MS41IDYgNjAuNkwyODkuOCAzOTFsMTI4LjcgNjYuOGMxMy42IDcuMSAyOS44IDcuMiA0My42IC4zbDE1LjItNy42YzExLjktNS45IDI2LjMtMS4xIDMyLjIgMTAuN3MxLjEgMjYuMy0xMC43IDMyLjJsLTE1LjIgNy42Yy0yNy41IDEzLjctNTkuOSAxMy41LTg3LjItLjdMMTIuOSAzMDEuM0MxLjIgMjk1LjItMy40IDI4MC43IDIuNyAyNjguOXpNMTE4LjkgNjUuNkwxMzcgNzQuMmw4LjctMTcuNGM0LTcuOSAxMy42LTExLjEgMjEuNS03LjJzMTEuMSAxMy42IDcuMiAyMS41bC04LjUgMTYuOSA1NC43IDI2LjJjMS41LS43IDMuMS0xLjQgNC43LTIuMWw4My40LTMzLjRjMzQuMi0xMy43IDcyLjggNC4yIDg0LjUgMzkuMmwxNy4xIDUxLjIgNTIuMSAyNi4xYzE1LjggNy45IDIyLjIgMjcuMSAxNC4zIDQyLjlzLTI3LjEgMjIuMi00Mi45IDE0LjNsLTU4LjEtMjljLTExLjQtNS43LTIwLTE1LjctMjQuMS0yNy44bC01LjgtMTcuMy0yNy4zIDEyLjEtNi44IDMtNi43LTMuMkwxNTEuNSAxMTYuN2wtOS4yIDE4LjRjLTQgNy45LTEzLjYgMTEuMS0yMS41IDcuMnMtMTEuMS0xMy42LTcuMi0yMS41bDktMTgtMTcuNi04LjRjLTgtMy44LTExLjMtMTMuNC03LjUtMjEuM3MxMy40LTExLjMgMjEuMy03LjV6XCJdXG59O1xudmFyIGZhU2tpaW5nID0gZmFQZXJzb25Ta2lpbmc7XG52YXIgZmFSb2FkTG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyb2FkLWxvY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NjdcIiwgXCJNMjg4IDMySDIxMy4yYy0yNy4xIDAtNTEuMyAxNy4xLTYwLjMgNDIuNkwzNS4xIDQwNy4yYy0yLjEgNS45LTMuMSAxMi0zLjEgMTguMkMzMiA0NTUuNSA1Ni41IDQ4MCA4Ni42IDQ4MEgyODhWNDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ2NjRoMzJWMzUyYzAtMjMuNyAxMi45LTQ0LjQgMzItNTUuNFYyNzJjMC01OC4zIDQ0LjYtMTA2LjIgMTAxLjUtMTExLjVMNDg3LjEgNzQuNkM0NzggNDkuMSA0NTMuOSAzMiA0MjYuOCAzMkgzNTJWOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzJ6bTY0IDE5MnY2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYyMjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnptMTc2IDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMydjQ4SDQ5NlYyNzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bS04MCAzMnY0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMySDYwOGMxNy43IDAgMzItMTQuMyAzMi0zMlYzNTJjMC0xNy43LTE0LjMtMzItMzItMzJWMjcyYzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwelwiXVxufTtcbnZhciBmYUEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYScsXG4gIGljb246IFszODQsIDUxMiwgWzk3XSwgXCI0MVwiLCBcIk0yMjEuNSA1MS43QzIxNi42IDM5LjggMjA0LjkgMzIgMTkyIDMycy0yNC42IDcuOC0yOS41IDE5LjdsLTEyMCAyODgtNDAgOTZjLTYuOCAxNi4zIC45IDM1IDE3LjIgNDEuOHMzNS0uOSA0MS44LTE3LjJMOTMuMyAzODRIMjkwLjdsMzEuOCA3Ni4zYzYuOCAxNi4zIDI1LjUgMjQgNDEuOCAxNy4yczI0LTI1LjUgMTcuMi00MS44bC00MC05Ni0xMjAtMjg4ek0yNjQgMzIwSDEyMGw3Mi0xNzIuOEwyNjQgMzIwelwiXVxufTtcbnZhciBmYVRlbXBlcmF0dXJlQXJyb3dEb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RlbXBlcmF0dXJlLWFycm93LWRvd24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInRlbXBlcmF0dXJlLWRvd25cIl0sIFwiZTAzZlwiLCBcIk0xMjggMTEyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhWMjc2LjVjMCAxNy4zIDcuMSAzMS45IDE1LjMgNDIuNUMyNDkuOCAzMzIuNiAyNTYgMzQ5LjUgMjU2IDM2OGMwIDQ0LjItMzUuOCA4MC04MCA4MHMtODAtMzUuOC04MC04MGMwLTE4LjUgNi4yLTM1LjQgMTYuNy00OC45YzguMi0xMC42IDE1LjMtMjUuMiAxNS4zLTQyLjVWMTEyek0xNzYgMEMxMTQuMSAwIDY0IDUwLjEgNjQgMTEyVjI3Ni40YzAgLjEtLjEgLjMtLjIgLjZjLS4yIC42LS44IDEuNi0xLjcgMi44QzQzLjIgMzA0LjIgMzIgMzM0LjggMzIgMzY4YzAgNzkuNSA2NC41IDE0NCAxNDQgMTQ0czE0NC02NC41IDE0NC0xNDRjMC0zMy4yLTExLjItNjMuOC0zMC4xLTg4LjFjLS45LTEuMi0xLjUtMi4yLTEuNy0yLjhjLS4xLS4zLS4yLS41LS4yLS42VjExMkMyODggNTAuMSAyMzcuOSAwIDE3NiAwem0wIDQxNmMyNi41IDAgNDgtMjEuNSA0OC00OGMwLTIwLjktMTMuNC0zOC43LTMyLTQ1LjNWMjcyYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2djUwLjdjLTE4LjYgNi42LTMyIDI0LjQtMzIgNDUuM2MwIDI2LjUgMjEuNSA0OCA0OCA0OHptMzM2LTY0SDQ4MFY2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlYzNTJIMzg0Yy0xMi45IDAtMjQuNiA3LjgtMjkuNiAxOS44cy0yLjIgMjUuNyA2LjkgMzQuOWw2NCA2NGM2IDYgMTQuMSA5LjQgMjIuNiA5LjRzMTYuNi0zLjQgMjIuNi05LjRsNjQtNjRjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlzLTE2LjYtMTkuOC0yOS42LTE5Ljh6XCJdXG59O1xudmFyIGZhVGVtcGVyYXR1cmVEb3duID0gZmFUZW1wZXJhdHVyZUFycm93RG93bjtcbnZhciBmYUZlYXRoZXJQb2ludGVkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZlYXRoZXItcG9pbnRlZCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZmVhdGhlci1hbHRcIl0sIFwiZjU2YlwiLCBcIk0yNzguNSAyMTUuNkwyMyA0NzFjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw3NC44LTc0LjhjNy40IDQuNiAxNS4zIDguMiAyMy44IDEwLjVDMjAwLjMgNDUyLjggMjcwIDQ1NC41IDMzOCA0MDkuNGMxMi4yLTguMSA1LjgtMjUuNC04LjgtMjUuNGwtMTYuMSAwYy01LjEgMC05LjItNC4xLTkuMi05LjJjMC00LjEgMi43LTcuNiA2LjUtOC44bDk3LjctMjkuM2MzLjQtMSA2LjQtMy4xIDguNC02LjFjNC40LTYuNCA4LjYtMTIuOSAxMi42LTE5LjZjNi4yLTEwLjMtMS41LTIzLTEzLjUtMjNsLTM4LjYgMGMtNS4xIDAtOS4yLTQuMS05LjItOS4yYzAtNC4xIDIuNy03LjYgNi41LTguOGw4MC45LTI0LjNjNC42LTEuNCA4LjQtNC44IDEwLjItOS4zQzQ5NC41IDE2MyA1MDcuOCA4Ni4xIDUxMS45IDM2LjhjLjgtOS45LTMtMTkuNi0xMC0yNi42cy0xNi43LTEwLjgtMjYuNi0xMEMzOTEuNSA3IDIyOC41IDQwLjUgMTM3LjQgMTMxLjZDNTcuMyAyMTEuNyA1Ni43IDMwMi4zIDcxLjMgMzU2LjRjMi4xIDcuOSAxMiA5LjYgMTcuOCAzLjhMMjUzLjYgMTk1LjhjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBjNS40IDUuNCA2LjEgMTMuNiAyLjIgMTkuOHpcIl1cbn07XG52YXIgZmFGZWF0aGVyQWx0ID0gZmFGZWF0aGVyUG9pbnRlZDtcbnZhciBmYVAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncCcsXG4gIGljb246IFszMjAsIDUxMiwgWzExMl0sIFwiNTBcIiwgXCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmg5NmM4OC40IDAgMTYwIDcxLjYgMTYwIDE2MHMtNzEuNiAxNjAtMTYwIDE2MEg2NHY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzMjAgOTZ6TTY0IDI4OGg5NmM1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05Nkg2NFYyODh6XCJdXG59O1xudmFyIGZhU25vd2ZsYWtlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Nub3dmbGFrZScsXG4gIGljb246IFs0NDgsIDUxMiwgWzEwMDUyLCAxMDA1NF0sIFwiZjJkY1wiLCBcIk0yMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMlY2Mi4xbDE1LTE1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNDkgNDl2NzAuM2w2MS40LTM1LjggMTcuNy02Ni4xYzMuNC0xMi44IDE2LjYtMjAuNCAyOS40LTE3czIwLjQgMTYuNiAxNyAyOS40bC01LjIgMTkuMyAyMy42LTEzLjhjMTUuMy04LjkgMzQuOS0zLjcgNDMuOCAxMS41czMuOCAzNC45LTExLjUgNDMuOGwtMjUuMyAxNC44IDIxLjcgNS44YzEyLjggMy40IDIwLjQgMTYuNiAxNyAyOS40cy0xNi42IDIwLjQtMjkuNCAxN2wtNjcuNy0xOC4xTDI4Ny41IDI1Nmw2MC45IDM1LjUgNjcuNy0xOC4xYzEyLjgtMy40IDI2IDQuMiAyOS40IDE3cy00LjIgMjYtMTcgMjkuNGwtMjEuNyA1LjggMjUuMyAxNC44YzE1LjMgOC45IDIwLjQgMjguNSAxMS41IDQzLjhzLTI4LjUgMjAuNC00My44IDExLjVsLTIzLjYtMTMuOCA1LjIgMTkuM2MzLjQgMTIuOC00LjIgMjYtMTcgMjkuNHMtMjYtNC4yLTI5LjQtMTdsLTE3LjctNjYuMUwyNTYgMzExLjd2NzAuM2w0OSA0OWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC0xNS0xNVY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWNDQ5LjlsLTE1IDE1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDQ5LTQ5VjMxMS43bC02MS40IDM1LjgtMTcuNyA2Ni4xYy0zLjQgMTIuOC0xNi42IDIwLjQtMjkuNCAxN3MtMjAuNC0xNi42LTE3LTI5LjRsNS4yLTE5LjNMNDguMSAzOTUuNmMtMTUuMyA4LjktMzQuOSAzLjctNDMuOC0xMS41cy0zLjctMzQuOSAxMS41LTQzLjhsMjUuMy0xNC44LTIxLjctNS44Yy0xMi44LTMuNC0yMC40LTE2LjYtMTctMjkuNHMxNi42LTIwLjQgMjkuNC0xN2w2Ny43IDE4LjFMMTYwLjUgMjU2IDk5LjYgMjIwLjUgMzEuOSAyMzguNmMtMTIuOCAzLjQtMjYtNC4yLTI5LjQtMTdzNC4yLTI2IDE3LTI5LjRsMjEuNy01LjhMMTUuOSAxNzEuNkMuNiAxNjIuNy00LjUgMTQzLjEgNC40IDEyNy45czI4LjUtMjAuNCA0My44LTExLjVsMjMuNiAxMy44LTUuMi0xOS4zYy0zLjQtMTIuOCA0LjItMjYgMTctMjkuNHMyNiA0LjIgMjkuNCAxN2wxNy43IDY2LjFMMTkyIDIwMC4zVjEyOS45TDE0MyA4MWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDE1IDE1VjMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyelwiXVxufTtcbnZhciBmYU5ld3NwYXBlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICduZXdzcGFwZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyNDBdLCBcImYxZWFcIiwgXCJNOTYgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRINDQ4YzM1LjMgMCA2NCAyOC43IDY0IDY0VjQxNmMwIDM1LjMtMjguNyA2NC02NCA2NEg4MGMtNDQuMiAwLTgwLTM1LjgtODAtODBWMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJWNDAwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWOTZ6bTY0IDI0djgwYzAgMTMuMyAxMC43IDI0IDI0IDI0SDI5NmMxMy4zIDAgMjQtMTAuNyAyNC0yNFYxMjBjMC0xMy4zLTEwLjctMjQtMjQtMjRIMTg0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptMjA4LThjMCA4LjggNy4yIDE2IDE2IDE2aDQ4YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDM4NGMtOC44IDAtMTYgNy4yLTE2IDE2em0wIDk2YzAgOC44IDcuMiAxNiAxNiAxNmg0OGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgzODRjLTguOCAwLTE2IDcuMi0xNiAxNnpNMTYwIDMwNGMwIDguOCA3LjIgMTYgMTYgMTZINDMyYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDE3NmMtOC44IDAtMTYgNy4yLTE2IDE2em0wIDk2YzAgOC44IDcuMiAxNiAxNiAxNkg0MzJjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIMTc2Yy04LjggMC0xNiA3LjItMTYgMTZ6XCJdXG59O1xudmFyIGZhUmVjdGFuZ2xlQWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmVjdGFuZ2xlLWFkJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJhZFwiXSwgXCJmNjQxXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDUxMmMzNS4zIDAgNjQtMjguNyA2NC02NFY5NmMwLTM1LjMtMjguNy02NC02NC02NEg2NHpNMjI5LjUgMTczLjNsNzIgMTQ0YzUuOSAxMS45IDEuMSAyNi4zLTEwLjcgMzIuMnMtMjYuMyAxLjEtMzIuMi0xMC43TDI1My4yIDMyOEgxNjIuOGwtNS40IDEwLjdjLTUuOSAxMS45LTIwLjMgMTYuNy0zMi4yIDEwLjdzLTE2LjctMjAuMy0xMC43LTMyLjJsNzItMTQ0YzQuMS04LjEgMTIuNC0xMy4zIDIxLjUtMTMuM3MxNy40IDUuMSAyMS41IDEzLjN6TTIwOCAyMzcuN0wxODYuOCAyODBoNDIuM0wyMDggMjM3Ljd6TTM5MiAyNTZhMjQgMjQgMCAxIDAgMCA0OCAyNCAyNCAwIDEgMCAwLTQ4em0yNC00My45VjE4NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0djk2IDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0Yy02LjYgMC0xMi42LTIuNy0xNy03Yy05LjQgNC41LTE5LjkgNy0zMSA3Yy0zOS44IDAtNzItMzIuMi03Mi03MnMzMi4yLTcyIDcyLTcyYzguNCAwIDE2LjUgMS40IDI0IDQuMXpcIl1cbn07XG52YXIgZmFBZCA9IGZhUmVjdGFuZ2xlQWQ7XG52YXIgZmFDaXJjbGVBcnJvd1JpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1hcnJvdy1yaWdodCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYXJyb3ctY2lyY2xlLXJpZ2h0XCJdLCBcImYwYTlcIiwgXCJNMCAyNTZhMjU2IDI1NiAwIDEgMCA1MTIgMEEyNTYgMjU2IDAgMSAwIDAgMjU2ek0yODEgMzg1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDcxLTcxTDEzNiAyODBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTgyLjEgMC03MS03MWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwTDM5MyAyMzljOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlMMjgxIDM4NXpcIl1cbn07XG52YXIgZmFBcnJvd0NpcmNsZVJpZ2h0ID0gZmFDaXJjbGVBcnJvd1JpZ2h0O1xudmFyIGZhRmlsdGVyQ2lyY2xlWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsdGVyLWNpcmNsZS14bWFyaycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTE3YlwiLCBcIk0zLjkgMjIuOUMxMC41IDguOSAyNC41IDAgNDAgMEg0NzJjMTUuNSAwIDI5LjUgOC45IDM2LjEgMjIuOXM0LjYgMzAuNS01LjIgNDIuNUwzOTYuNCAxOTUuNkMzMTYuMiAyMTIuMSAyNTYgMjgzIDI1NiAzNjhjMCAyNy40IDYuMyA1My40IDE3LjUgNzYuNWMtMS42LS44LTMuMi0xLjgtNC43LTIuOWwtNjQtNDhjLTguMS02LTEyLjgtMTUuNS0xMi44LTI1LjZWMjg4LjlMOSA2NS4zQy0uNyA1My40LTIuOCAzNi44IDMuOSAyMi45ek00MzIgMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptNTkuMyAxMDcuM2M2LjItNi4yIDYuMi0xNi40IDAtMjIuNnMtMTYuNC02LjItMjIuNiAwTDQzMiAzNDUuNGwtMzYuNy0zNi43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42TDQwOS40IDM2OGwtMzYuNyAzNi43Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBMNDMyIDM5MC42bDM2LjcgMzYuN2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZMNDU0LjYgMzY4bDM2LjctMzYuN3pcIl1cbn07XG52YXIgZmFMb2N1c3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbG9jdXN0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTIwXCIsIFwiTTMxMiAzMmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGgxNmM5OC43IDAgMTgwLjYgNzEuNCAxOTcgMTY1LjRjLTktMy41LTE4LjgtNS40LTI5LTUuNEg0MzEuOGwtNDEuOC05Ny41Yy0zLjQtNy45LTEwLjgtMTMuNC0xOS4zLTE0LjRzLTE3IDIuNy0yMi4xIDkuNmwtNDAuOSA1NS41LTIxLjctNTAuN2MtMy4zLTcuOC0xMC41LTEzLjItMTguOS0xNC4zcy0xNi43IDIuMy0yMiA4LjlsLTI0MCAzMDRjLTguMiAxMC40LTYuNCAyNS41IDQgMzMuN3MyNS41IDYuNCAzMy43LTRsNzkuNC0xMDAuNSA0MyAxNi40LTQwLjUgNTVjLTcuOSAxMC43LTUuNiAyNS43IDUuMSAzMy42czI1LjcgNS42IDMzLjYtNS4xTDIxNS4xIDQwMGg3NC41bC0yOS4zIDQyLjNjLTcuNSAxMC45LTQuOCAyNS44IDYuMSAzMy40czI1LjggNC44IDMzLjQtNi4xTDM0OCA0MDBoODAuNGwzOC44IDY3LjljNi42IDExLjUgMjEuMiAxNS41IDMyLjcgOC45czE1LjUtMjEuMiA4LjktMzIuN0w0ODMuNiA0MDBINDk2YzQ0LjEgMCA3OS44LTM1LjcgODAtNzkuN2MwLS4xIDAtLjIgMC0uM1YyODBDNTc2IDE0MyA0NjUgMzIgMzI4IDMySDMxMnptNTAuNSAxNjhsMTcuMSA0MEgzMzNsMjkuNS00MHptLTg3LjcgMzguMWwtMS40IDEuOUgyMjUuMWwzMi43LTQxLjUgMTYuOSAzOS41ek04OC44IDI0MEM1Ny40IDI0MCAzMiAyNjUuNCAzMiAyOTYuOGMwIDE1LjUgNi4zIDMwIDE2LjkgNDAuNEwxMjYuNyAyNDBIODguOHpNNDk2IDI4OGExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6XCJdXG59O1xudmFyIGZhU29ydCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzb3J0JyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJ1bnNvcnRlZFwiXSwgXCJmMGRjXCIsIFwiTTEzNy40IDQxLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsMTI4IDEyOGM5LjIgOS4yIDExLjkgMjIuOSA2LjkgMzQuOXMtMTYuNiAxOS44LTI5LjYgMTkuOEgzMmMtMTIuOSAwLTI0LjYtNy44LTI5LjYtMTkuOHMtMi4yLTI1LjcgNi45LTM0LjlsMTI4LTEyOHptMCA0MjkuM2wtMTI4LTEyOGMtOS4yLTkuMi0xMS45LTIyLjktNi45LTM0LjlzMTYuNi0xOS44IDI5LjYtMTkuOEgyODhjMTIuOSAwIDI0LjYgNy44IDI5LjYgMTkuOHMyLjIgMjUuNy02LjkgMzQuOWwtMTI4IDEyOGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDB6XCJdXG59O1xudmFyIGZhVW5zb3J0ZWQgPSBmYVNvcnQ7XG52YXIgZmFMaXN0T2wgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGlzdC1vbCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibGlzdC0xLTJcIiwgXCJsaXN0LW51bWVyaWNcIl0sIFwiZjBjYlwiLCBcIk0yNCA1NmMwLTEzLjMgMTAuNy0yNCAyNC0yNEg4MGMxMy4zIDAgMjQgMTAuNyAyNCAyNFYxNzZoMTZjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRINDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRINTZWODBINDhDMzQuNyA4MCAyNCA2OS4zIDI0IDU2ek04Ni43IDM0MS4yYy02LjUtNy40LTE4LjMtNi45LTI0IDEuMkw1MS41IDM1Ny45Yy03LjcgMTAuOC0yMi43IDEzLjMtMzMuNSA1LjZzLTEzLjMtMjIuNy01LjYtMzMuNWwxMS4xLTE1LjZjMjMuNy0zMy4yIDcyLjMtMzUuNiA5OS4yLTQuOWMyMS4zIDI0LjQgMjAuOCA2MC45LTEuMSA4NC43TDg2LjggNDMySDEyMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEgzMmMtOS41IDAtMTguMi01LjYtMjItMTQuNHMtMi4xLTE4LjkgNC4zLTI1LjlsNzItNzhjNS4zLTUuOCA1LjQtMTQuNiAuMy0yMC41ek0yMjQgNjRINDgwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDIyNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMCAxNjBINDgwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDIyNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMCAxNjBINDgwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDIyNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpcIl1cbn07XG52YXIgZmFMaXN0MTIgPSBmYUxpc3RPbDtcbnZhciBmYUxpc3ROdW1lcmljID0gZmFMaXN0T2w7XG52YXIgZmFQZXJzb25EcmVzc0J1cnN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1kcmVzcy1idXJzdCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU0NFwiLCBcIk01MjggNDhhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNMzkwLjIgMzg0SDQwOHY5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjM4NGgxNnY5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjM4NGgxNy44YzEwLjkgMCAxOC42LTEwLjcgMTUuMi0yMS4xTDU0Ni43IDI0OC4xbDMzLjkgNTYuM2M5LjEgMTUuMSAyOC44IDIwIDQzLjkgMTAuOXMyMC0yOC44IDEwLjktNDMuOWwtNTMuNi04OS4yYy0yMC4yLTMzLjctNTYuNy01NC4zLTk2LTU0LjNINDc0LjJjLTM5LjMgMC03NS43IDIwLjYtOTYgNTQuM2wtNTMuNiA4OS4yYy05LjEgMTUuMS00LjIgMzQuOCAxMC45IDQzLjlzMzQuOCA0LjIgNDMuOS0xMC45bDMzLjktNTYuM0wzNzUgMzYyLjljLTMuNSAxMC40IDQuMyAyMS4xIDE1LjIgMjEuMXpNMTkwLjkgMTguMUMxODguNCAxMiAxODIuNiA4IDE3NiA4cy0xMi40IDQtMTQuOSAxMC4xbC0yOS40IDc0TDU1LjYgNjguOWMtNi4zLTEuOS0xMy4xIC4yLTE3LjIgNS4zcy00LjYgMTIuMi0xLjQgMTcuOWwzOS41IDY5LjFMMTAuOSAyMDYuNGMtNS40IDMuNy04IDEwLjMtNi41IDE2LjdzNi43IDExLjIgMTMuMSAxMi4ybDc4LjcgMTIuMkw5MC42IDMyN2MtLjUgNi41IDMuMSAxMi43IDkgMTUuNXMxMi45IDEuOCAxNy44LTIuNkwxNzYgMjg2LjFsNTguNiA1My45YzQuOCA0LjQgMTEuOSA1LjUgMTcuOCAyLjZzOS41LTkgOS0xNS41bC01LjYtNzkuNCA1MC41LTcuOCAyNC40LTQwLjUtNTUuMi0zOEwzMTUgOTIuMmMzLjMtNS43IDIuNy0xMi44LTEuNC0xNy45cy0xMC45LTcuMi0xNy4yLTUuM0wyMjAuMyA5Mi4xbC0yOS40LTc0elwiXVxufTtcbnZhciBmYU1vbmV5Q2hlY2tEb2xsYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9uZXktY2hlY2stZG9sbGFyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJtb25leS1jaGVjay1hbHRcIl0sIFwiZjUzZFwiLCBcIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOFYzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRINTEyYzM1LjMgMCA2NC0yOC43IDY0LTY0VjEyOGMwLTM1LjMtMjguNy02NC02NC02NEg2NHpNMjcyIDE5Mkg0OTZjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMjcyYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2ek0yNTYgMzA0YzAtOC44IDcuMi0xNiAxNi0xNkg0OTZjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMjcyYy04LjggMC0xNi03LjItMTYtMTZ6TTE2NCAxNTJ2MTMuOWM3LjUgMS4yIDE0LjYgMi45IDIxLjEgNC43YzEwLjcgMi44IDE3IDEzLjggMTQuMiAyNC41cy0xMy44IDE3LTI0LjUgMTQuMmMtMTEtMi45LTIxLjYtNS0zMS4yLTUuMmMtNy45LS4xLTE2IDEuOC0yMS41IDVjLTQuOCAyLjgtNi4yIDUuNi02LjIgOS4zYzAgMS44IC4xIDMuNSA1LjMgNi43YzYuMyAzLjggMTUuNSA2LjcgMjguMyAxMC41bC43IC4yYzExLjIgMy40IDI1LjYgNy43IDM3LjEgMTVjMTIuOSA4LjEgMjQuMyAyMS4zIDI0LjYgNDEuNmMuMyAyMC45LTEwLjUgMzYuMS0yNC44IDQ1Yy03LjIgNC41LTE1LjIgNy4zLTIzLjIgOVYzNjBjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwVjM0NS40Yy0xMC4zLTIuMi0yMC01LjUtMjguMi04LjRsMCAwIDAgMGMtMi4xLS43LTQuMS0xLjQtNi4xLTIuMWMtMTAuNS0zLjUtMTYuMS0xNC44LTEyLjYtMjUuM3MxNC44LTE2LjEgMjUuMy0xMi42YzIuNSAuOCA0LjkgMS43IDcuMiAyLjRjMTMuNiA0LjYgMjQgOC4xIDM1LjEgOC41YzguNiAuMyAxNi41LTEuNiAyMS40LTQuN2M0LjEtMi41IDYtNS41IDUuOS0xMC41YzAtMi45LS44LTUtNS45LTguMmMtNi4zLTQtMTUuNC02LjktMjgtMTAuN2wtMS43LS41Yy0xMC45LTMuMy0yNC42LTcuNC0zNS42LTE0Yy0xMi43LTcuNy0yNC42LTIwLjUtMjQuNy00MC43Yy0uMS0yMS4xIDExLjgtMzUuNyAyNS44LTQzLjljNi45LTQuMSAxNC41LTYuOCAyMi4yLTguNVYxNTJjMC0xMSA5LTIwIDIwLTIwczIwIDkgMjAgMjB6XCJdXG59O1xudmFyIGZhTW9uZXlDaGVja0FsdCA9IGZhTW9uZXlDaGVja0RvbGxhcjtcbnZhciBmYVZlY3RvclNxdWFyZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2ZWN0b3Itc3F1YXJlJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmNWNiXCIsIFwiTTM2OCA4MGgzMnYzMkgzNjhWODB6TTM1MiAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJIMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMySDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjR2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJWMzUyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnY2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMkg5NmMxNy43IDAgMzItMTQuMyAzMi0zMkgzMjBjMCAxNy43IDE0LjMgMzIgMzIgMzJoNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzg0YzAtMTcuNy0xNC4zLTMyLTMyLTMyVjE2MGMxNy43IDAgMzItMTQuMyAzMi0zMlY2NGMwLTE3LjctMTQuMy0zMi0zMi0zMkgzNTJ6TTk2IDE2MGMxNy43IDAgMzItMTQuMyAzMi0zMkgzMjBjMCAxNy43IDE0LjMgMzIgMzIgMzJWMzUyYy0xNy43IDAtMzIgMTQuMy0zMiAzMkgxMjhjMC0xNy43LTE0LjMtMzItMzItMzJWMTYwek00OCA0MDBIODB2MzJINDhWNDAwem0zMjAgMzJWNDAwaDMydjMySDM2OHpNNDggMTEyVjgwSDgwdjMySDQ4elwiXVxufTtcbnZhciBmYUJyZWFkU2xpY2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnJlYWQtc2xpY2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3ZWNcIiwgXCJNMjU2IDMyQzE5MiAzMiAwIDY0IDAgMTkyYzAgMzUuMyAyOC43IDY0IDY0IDY0VjQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OEg0MDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMjU2YzM1LjMgMCA2NC0yOC43IDY0LTY0QzUxMiA2NCAzMjAgMzIgMjU2IDMyelwiXVxufTtcbnZhciBmYUxhbmd1YWdlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xhbmd1YWdlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmMWFiXCIsIFwiTTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0SDI1Nmg0OCAxNkg1NzZjMzUuMyAwIDY0IDI4LjcgNjQgNjRWMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0SDMyMCAzMDQgMjU2IDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFYxMjh6bTMyMCAwVjM4NEg1NzZWMTI4SDMyMHpNMTc4LjMgMTc1LjljLTMuMi03LjItMTAuNC0xMS45LTE4LjMtMTEuOXMtMTUuMSA0LjctMTguMyAxMS45bC02NCAxNDRjLTQuNSAxMC4xIC4xIDIxLjkgMTAuMiAyNi40czIxLjktLjEgMjYuNC0xMC4ybDguOS0yMC4xaDczLjZsOC45IDIwLjFjNC41IDEwLjEgMTYuMyAxNC42IDI2LjQgMTAuMnMxNC42LTE2LjMgMTAuMi0yNi40bC02NC0xNDR6TTE2MCAyMzMuMkwxNzkgMjc2SDE0MWwxOS00Mi44ek00NDggMTY0YzExIDAgMjAgOSAyMCAyMHY0aDQ0IDE2YzExIDAgMjAgOSAyMCAyMHMtOSAyMC0yMCAyMGgtMmwtMS42IDQuNWMtOC45IDI0LjQtMjIuNCA0Ni42LTM5LjYgNjUuNGMuOSAuNiAxLjggMS4xIDIuNyAxLjZsMTguOSAxMS4zYzkuNSA1LjcgMTIuNSAxOCA2LjkgMjcuNHMtMTggMTIuNS0yNy40IDYuOWwtMTguOS0xMS4zYy00LjUtMi43LTguOC01LjUtMTMuMS04LjVjLTEwLjYgNy41LTIxLjkgMTQtMzQgMTkuNGwtMy42IDEuNmMtMTAuMSA0LjUtMjEuOS0uMS0yNi40LTEwLjJzLjEtMjEuOSAxMC4yLTI2LjRsMy42LTEuNmM2LjQtMi45IDEyLjYtNi4xIDE4LjUtOS44bC0xMi4yLTEyLjJjLTcuOC03LjgtNy44LTIwLjUgMC0yOC4zczIwLjUtNy44IDI4LjMgMGwxNC42IDE0LjYgLjUgLjVjMTIuNC0xMy4xIDIyLjUtMjguMyAyOS44LTQ1SDQ0OCAzNzZjLTExIDAtMjAtOS0yMC0yMHM5LTIwIDIwLTIwaDUydi00YzAtMTEgOS0yMCAyMC0yMHpcIl1cbn07XG52YXIgZmFGYWNlS2lzc1dpbmtIZWFydCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWtpc3Mtd2luay1oZWFydCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODUzNiwgXCJraXNzLXdpbmstaGVhcnRcIl0sIFwiZjU5OFwiLCBcIk00OTggMzM5LjdjOS4xLTI2LjIgMTQtNTQuNCAxNC04My43QzUxMiAxMTQuNiAzOTcuNCAwIDI1NiAwUzAgMTE0LjYgMCAyNTZTMTE0LjYgNTEyIDI1NiA1MTJjMzUuNCAwIDY5LjEtNy4yIDk5LjctMjAuMmMtNC44LTUuNS04LjUtMTIuMi0xMC40LTE5LjdsLTIyLjktODkuM2MtMTAtMzkgMTEuOC04MC45IDUxLjgtOTIuMWMzNy4yLTEwLjQgNzMuOCAxMC4xIDg3LjUgNDRjMTIuNy0xLjYgMjUuMSAuNCAzNi4yIDV6TTI5NiAzMzJjMCA2LjktMy4xIDEzLjItNy4zIDE4LjNjLTQuMyA1LjItMTAuMSA5LjctMTYuNyAxMy40Yy0yLjcgMS41LTUuNyAzLTguNyA0LjNjMy4xIDEuMyA2IDIuNyA4LjcgNC4zYzYuNiAzLjcgMTIuNSA4LjIgMTYuNyAxMy40YzQuMyA1LjEgNy4zIDExLjQgNy4zIDE4LjNzLTMuMSAxMy4yLTcuMyAxOC4zYy00LjMgNS4yLTEwLjEgOS43LTE2LjcgMTMuNEMyNTguNyA0NDMuMSAyNDEuNCA0NDggMjI0IDQ0OGMtMy42IDAtNi44LTIuNS03LjctNnMuNi03LjIgMy44LTlsMCAwIDAgMCAwIDAgMCAwIC4yLS4xYy4yLS4xIC41LS4zIC45LS41Yy44LS41IDItMS4yIDMuNC0yLjFjMi44LTEuOSA2LjUtNC41IDEwLjItNy42YzMuNy0zLjEgNy4yLTYuNiA5LjYtMTAuMWMyLjUtMy41IDMuNS02LjQgMy41LTguNnMtMS01LTMuNS04LjZjLTIuNS0zLjUtNS45LTYuOS05LjYtMTAuMWMtMy43LTMuMS03LjQtNS43LTEwLjItNy42Yy0xLjQtLjktMi42LTEuNi0zLjQtMi4xbC0uNi0uNC0uMy0uMi0uMi0uMSAwIDAgMCAwIDAgMGMtMi41LTEuNC00LjEtNC4xLTQuMS03czEuNi01LjYgNC4xLTdsMCAwIDAgMCAwIDAgMCAwIDAgMCAuMi0uMWMuMi0uMSAuNS0uMyAuOS0uNWMuOC0uNSAyLTEuMiAzLjQtMi4xYzIuOC0xLjkgNi41LTQuNSAxMC4yLTcuNmMzLjctMy4xIDcuMi02LjYgOS42LTEwLjFjMi41LTMuNSAzLjUtNi40IDMuNS04LjZzLTEtNS0zLjUtOC42Yy0yLjUtMy41LTUuOS02LjktOS42LTEwLjFjLTMuNy0zLjEtNy40LTUuNy0xMC4yLTcuNmMtMS40LS45LTIuNi0xLjYtMy40LTIuMWMtLjQtLjItLjctLjQtLjktLjVsLS4yLS4xIDAgMCAwIDAgMCAwYy0zLjItMS44LTQuNy01LjUtMy44LTlzNC4xLTYgNy43LTZjMTcuNCAwIDM0LjcgNC45IDQ3LjkgMTIuM2M2LjYgMy43IDEyLjUgOC4yIDE2LjcgMTMuNGM0LjMgNS4xIDcuMyAxMS40IDcuMyAxOC4zek0xNzYuNCAxNzZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xOTQuOCA1Ny42Yy0xNy42LTIzLjUtNTIuOC0yMy41LTcwLjQgMGMtNS4zIDcuMS0xNS4zIDguNS0yMi40IDMuMnMtOC41LTE1LjMtMy4yLTIyLjRjMzAuNC00MC41IDkxLjItNDAuNSAxMjEuNiAwYzUuMyA3LjEgMy45IDE3LjEtMy4yIDIyLjRzLTE3LjEgMy45LTIyLjQtMy4yek00MzQgMzUyLjNjLTYtMjMuMi0yOC44LTM3LTUxLjEtMzAuOHMtMzUuNCAzMC4xLTI5LjUgNTMuNGwyMi45IDg5LjNjMi4yIDguNyAxMS4yIDEzLjkgMTkuOCAxMS40bDg0LjktMjMuOGMyMi4yLTYuMiAzNS40LTMwLjEgMjkuNS01My40cy0yOC44LTM3LTUxLjEtMzAuOGwtMjAuMiA1LjYtNS40LTIxelwiXVxufTtcbnZhciBmYUtpc3NXaW5rSGVhcnQgPSBmYUZhY2VLaXNzV2lua0hlYXJ0O1xudmFyIGZhRmlsdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbHRlcicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjBiMFwiLCBcIk0zLjkgNTQuOUMxMC41IDQwLjkgMjQuNSAzMiA0MCAzMkg0NzJjMTUuNSAwIDI5LjUgOC45IDM2LjEgMjIuOXM0LjYgMzAuNS01LjIgNDIuNUwzMjAgMzIwLjlWNDQ4YzAgMTIuMS02LjggMjMuMi0xNy43IDI4LjZzLTIzLjggNC4zLTMzLjUtM2wtNjQtNDhjLTguMS02LTEyLjgtMTUuNS0xMi44LTI1LjZWMzIwLjlMOSA5Ny4zQy0uNyA4NS40LTIuOCA2OC44IDMuOSA1NC45elwiXVxufTtcbnZhciBmYVF1ZXN0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3F1ZXN0aW9uJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTAwNjcsIDEwMDY4LCA2MTczNl0sIFwiM2ZcIiwgXCJNODAgMTYwYzAtMzUuMyAyOC43LTY0IDY0LTY0aDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0djMuNmMwIDIxLjgtMTEuMSA0Mi4xLTI5LjQgNTMuOGwtNDIuMiAyNy4xYy0yNS4yIDE2LjItNDAuNCA0NC4xLTQwLjQgNzRWMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJ2LTEuNGMwLTguMiA0LjItMTUuOCAxMS0yMC4ybDQyLjItMjcuMWMzNi42LTIzLjYgNTguOC02NC4xIDU4LjgtMTA3LjdWMTYwYzAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4SDE0NEM3My4zIDMyIDE2IDg5LjMgMTYgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJ6bTgwIDMyMGE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6XCJdXG59O1xudmFyIGZhRmlsZVNpZ25hdHVyZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLXNpZ25hdHVyZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjU3M1wiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzIwYzM1LjMgMCA2NC0yOC43IDY0LTY0VjQyOC43Yy0yLjcgMS4xLTUuNCAyLTguMiAyLjdsLTYwLjEgMTVjLTMgLjctNiAxLjItOSAxLjRjLS45IC4xLTEuOCAuMi0yLjcgLjJIMjQwYy02LjEgMC0xMS42LTMuNC0xNC4zLTguOGwtOC44LTE3LjdjLTEuNy0zLjQtNS4xLTUuNS04LjgtNS41cy03LjIgMi4xLTguOCA1LjVsLTguOCAxNy43Yy0yLjkgNS45LTkuMiA5LjQtMTUuNyA4LjhzLTEyLjEtNS4xLTEzLjktMTEuM0wxNDQgMzgxbC05LjggMzIuOGMtNi4xIDIwLjMtMjQuOCAzNC4yLTQ2IDM0LjJIODBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZoOC4yYzcuMSAwIDEzLjMtNC42IDE1LjMtMTEuNGwxNC45LTQ5LjVjMy40LTExLjMgMTMuOC0xOS4xIDI1LjYtMTkuMXMyMi4yIDcuOCAyNS42IDE5LjFsMTEuNiAzOC42YzcuNC02LjIgMTYuOC05LjcgMjYuOC05LjdjMTUuOSAwIDMwLjQgOSAzNy41IDIzLjJsNC40IDguOGg4LjljLTMuMS04LjgtMy43LTE4LjQtMS40LTI3LjhsMTUtNjAuMWMyLjgtMTEuMyA4LjYtMjEuNSAxNi44LTI5LjdMMzg0IDIwMy42VjE2MEgyNTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjBINjR6TTI1NiAwVjEyOEgzODRMMjU2IDB6TTU0OS44IDEzOS43Yy0xNS42LTE1LjYtNDAuOS0xNS42LTU2LjYgMGwtMjkuNCAyOS40IDcxIDcxIDI5LjQtMjkuNGMxNS42LTE1LjYgMTUuNi00MC45IDAtNTYuNmwtMTQuNC0xNC40ek0zMTEuOSAzMjFjLTQuMSA0LjEtNyA5LjItOC40IDE0LjlsLTE1IDYwLjFjLTEuNCA1LjUgLjIgMTEuMiA0LjIgMTUuMnM5LjcgNS42IDE1LjIgNC4ybDYwLjEtMTVjNS42LTEuNCAxMC44LTQuMyAxNC45LTguNEw1MTIuMSAyNjIuN2wtNzEtNzFMMzExLjkgMzIxelwiXVxufTtcbnZhciBmYVVwRG93bkxlZnRSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1cC1kb3duLWxlZnQtcmlnaHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImFycm93cy1hbHRcIl0sIFwiZjBiMlwiLCBcIk0yNzguNiA5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC02NCA2NGMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0LjlzMTYuNiAxOS44IDI5LjYgMTkuOGgzMnY5NkgxMjhWMTkyYzAtMTIuOS03LjgtMjQuNi0xOS44LTI5LjZzLTI1LjctMi4yLTM0LjkgNi45bC02NCA2NGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjOS4yIDkuMiAyMi45IDExLjkgMzQuOSA2LjlzMTkuOC0xNi42IDE5LjgtMjkuNlYyODhoOTZ2OTZIMTkyYy0xMi45IDAtMjQuNiA3LjgtMjkuNiAxOS44cy0yLjIgMjUuNyA2LjkgMzQuOWw2NCA2NGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGw2NC02NGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOXMtMTYuNi0xOS44LTI5LjYtMTkuOEgyODhWMjg4aDk2djMyYzAgMTIuOSA3LjggMjQuNiAxOS44IDI5LjZzMjUuNyAyLjIgMzQuOS02LjlsNjQtNjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0Yy05LjItOS4yLTIyLjktMTEuOS0zNC45LTYuOXMtMTkuOCAxNi42LTE5LjggMjkuNnYzMkgyODhWMTI4aDMyYzEyLjkgMCAyNC42LTcuOCAyOS42LTE5LjhzMi4yLTI1LjctNi45LTM0LjlsLTY0LTY0elwiXVxufTtcbnZhciBmYUFycm93c0FsdCA9IGZhVXBEb3duTGVmdFJpZ2h0O1xudmFyIGZhSG91c2VDaGltbmV5VXNlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1jaGltbmV5LXVzZXInLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImUwNjVcIiwgXCJNNTQzLjggMjg3LjZjMTcgMCAzMi0xNCAzMi0zMi4xYzEtOS0zLTE3LTExLTI0TDUxMiAxODVWNjRjMC0xNy43LTE0LjMtMzItMzItMzJINDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnYzNi43TDMwOS41IDdjLTYtNS0xNC03LTIxLTdzLTE1IDEtMjIgOEwxMCAyMzEuNWMtNyA3LTEwIDE1LTEwIDI0YzAgMTggMTQgMzIuMSAzMiAzMi4xaDMyVjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEg0NDguNWMzNS41IDAgNjQuMi0yOC44IDY0LTY0LjNsLS43LTE2MC4yaDMyek0yODggMTYwYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4ek0xNzYgNDAwYzAtNDQuMiAzNS44LTgwIDgwLTgwaDY0YzQ0LjIgMCA4MCAzNS44IDgwIDgwYzAgOC44LTcuMiAxNi0xNiAxNkgxOTJjLTguOCAwLTE2LTcuMi0xNi0xNnpcIl1cbn07XG52YXIgZmFIYW5kSG9sZGluZ0hlYXJ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtaG9sZGluZy1oZWFydCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjRiZVwiLCBcIk0xNjMuOSAxMzYuOWMtMjkuNC0yOS44LTI5LjQtNzguMiAwLTEwOHM3Ny0yOS44IDEwNi40IDBsMTcuNyAxOCAxNy43LTE4YzI5LjQtMjkuOCA3Ny0yOS44IDEwNi40IDBzMjkuNCA3OC4yIDAgMTA4TDMxMC41IDI0MC4xYy02LjIgNi4zLTE0LjMgOS40LTIyLjUgOS40cy0xNi4zLTMuMS0yMi41LTkuNEwxNjMuOSAxMzYuOXpNNTY4LjIgMzM2LjNjMTMuMSAxNy44IDkuMyA0Mi44LTguNSA1NS45TDQzMy4xIDQ4NS41Yy0yMy40IDE3LjItNTEuNiAyNi41LTgwLjcgMjYuNUgxOTIgMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMkg2OC44bDQ0LjktMzZjMjIuNy0xOC4yIDUwLjktMjggODAtMjhIMjcyaDE2IDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDI4OCAyNzJjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZIMzkyLjZsMTE5LjctODguMmMxNy44LTEzLjEgNDIuOC05LjMgNTUuOSA4LjV6TTE5My42IDM4NGwwIDAtLjkgMGMuMyAwIC42IDAgLjkgMHpcIl1cbn07XG52YXIgZmFQdXp6bGVQaWVjZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwdXp6bGUtcGllY2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjk1MTNdLCBcImYxMmVcIiwgXCJNMTkyIDEwNC44YzAtOS4yLTUuOC0xNy4zLTEzLjItMjIuOEMxNjcuMiA3My4zIDE2MCA2MS4zIDE2MCA0OGMwLTI2LjUgMjguNy00OCA2NC00OHM2NCAyMS41IDY0IDQ4YzAgMTMuMy03LjIgMjUuMy0xOC44IDM0Yy03LjQgNS41LTEzLjIgMTMuNi0xMy4yIDIyLjhjMCAxMi44IDEwLjQgMjMuMiAyMy4yIDIzLjJIMzM2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4djU2LjhjMCAxMi44IDEwLjQgMjMuMiAyMy4yIDIzLjJjOS4yIDAgMTcuMy01LjggMjIuOC0xMy4yYzguNy0xMS42IDIwLjctMTguOCAzNC0xOC44YzI2LjUgMCA0OCAyOC43IDQ4IDY0cy0yMS41IDY0LTQ4IDY0Yy0xMy4zIDAtMjUuMy03LjItMzQtMTguOGMtNS41LTcuNC0xMy42LTEzLjItMjIuOC0xMy4yYy0xMi44IDAtMjMuMiAxMC40LTIzLjIgMjMuMlY0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhIMjc5LjJjLTEyLjggMC0yMy4yLTEwLjQtMjMuMi0yMy4yYzAtOS4yIDUuOC0xNy4zIDEzLjItMjIuOGMxMS42LTguNyAxOC44LTIwLjcgMTguOC0zNGMwLTI2LjUtMjguNy00OC02NC00OHMtNjQgMjEuNS02NCA0OGMwIDEzLjMgNy4yIDI1LjMgMTguOCAzNGM3LjQgNS41IDEzLjIgMTMuNiAxMy4yIDIyLjhjMCAxMi44LTEwLjQgMjMuMi0yMy4yIDIzLjJINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjM0My4yQzAgMzMwLjQgMTAuNCAzMjAgMjMuMiAzMjBjOS4yIDAgMTcuMyA1LjggMjIuOCAxMy4yQzU0LjcgMzQ0LjggNjYuNyAzNTIgODAgMzUyYzI2LjUgMCA0OC0yOC43IDQ4LTY0cy0yMS41LTY0LTQ4LTY0Yy0xMy4zIDAtMjUuMyA3LjItMzQgMTguOEM0MC41IDI1MC4yIDMyLjQgMjU2IDIzLjIgMjU2QzEwLjQgMjU2IDAgMjQ1LjYgMCAyMzIuOFYxNzZjMC0yNi41IDIxLjUtNDggNDgtNDhIMTY4LjhjMTIuOCAwIDIzLjItMTAuNCAyMy4yLTIzLjJ6XCJdXG59O1xudmFyIGZhTW9uZXlDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb25leS1jaGVjaycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjUzY1wiLCBcIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOFYzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRINTEyYzM1LjMgMCA2NC0yOC43IDY0LTY0VjEyOGMwLTM1LjMtMjguNy02NC02NC02NEg2NHptNDggMTYwSDI3MmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgxMTJjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6TTk2IDMzNmMwLTguOCA3LjItMTYgMTYtMTZINDY0YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDExMmMtOC44IDAtMTYtNy4yLTE2LTE2ek0zNzYgMTYwaDgwYzEzLjMgMCAyNCAxMC43IDI0IDI0djQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0SDM3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRWMTg0YzAtMTMuMyAxMC43LTI0IDI0LTI0elwiXVxufTtcbnZhciBmYVN0YXJIYWxmU3Ryb2tlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0YXItaGFsZi1zdHJva2UnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInN0YXItaGFsZi1hbHRcIl0sIFwiZjVjMFwiLCBcIk0yODggMzc2LjRsLjEtLjEgMjYuNCAxNC4xIDg1LjIgNDUuNS0xNi41LTk3LjYtNC44LTI4LjcgMjAuNy0yMC41IDcwLjEtNjkuMy05Ni4xLTE0LjItMjkuMy00LjMtMTIuOS0yNi42TDI4OC4xIDg2LjlsLS4xIC4zVjM3Ni40em0xNzUuMSA5OC4zYzIgMTItMyAyNC4yLTEyLjkgMzEuM3MtMjMgOC0zMy44IDIuM0wyODguMSA0MzkuOCAxNTkuOCA1MDguM0MxNDkgNTE0IDEzNS45IDUxMy4xIDEyNiA1MDZzLTE0LjktMTkuMy0xMi45LTMxLjNMMTM3LjggMzI5IDMzLjYgMjI1LjljLTguNi04LjUtMTEuNy0yMS4yLTcuOS0zMi43czEzLjctMTkuOSAyNS43LTIxLjdMMTk1IDE1MC4zIDI1OS40IDE4YzUuNC0xMSAxNi41LTE4IDI4LjgtMThzMjMuNCA3IDI4LjggMThsNjQuMyAxMzIuMyAxNDMuNiAyMS4yYzEyIDEuOCAyMiAxMC4yIDI1LjcgMjEuN3MuNyAyNC4yLTcuOSAzMi43TDQzOC41IDMyOWwyNC42IDE0NS43elwiXVxufTtcbnZhciBmYVN0YXJIYWxmQWx0ID0gZmFTdGFySGFsZlN0cm9rZTtcbnZhciBmYUNvZGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29kZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjEyMVwiLCBcIk0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zelwiXVxufTtcbnZhciBmYVdoaXNrZXlHbGFzcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3aGlza2V5LWdsYXNzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5MzQ3LCBcImdsYXNzLXdoaXNrZXlcIl0sIFwiZjdhMFwiLCBcIk0zMiAzMmMtOS4zIDAtMTguMSA0LTI0LjIgMTEuMVMtMSA1OS40IC4zIDY4LjZsNTAgMzQyLjljNS43IDM5LjMgMzkuNCA2OC41IDc5LjIgNjguNWgyNTNjMzkuNyAwIDczLjQtMjkuMSA3OS4yLTY4LjVsNTAtMzQyLjljMS4zLTkuMi0xLjQtMTguNS03LjUtMjUuNVM0ODkuMyAzMiA0ODAgMzJIMzJ6TTg3LjcgMjI0TDY5IDk2SDQ0M0w0MjQuMyAyMjRIODcuN3pcIl1cbn07XG52YXIgZmFHbGFzc1doaXNrZXkgPSBmYVdoaXNrZXlHbGFzcztcbnZhciBmYUJ1aWxkaW5nQ2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVpbGRpbmctY2lyY2xlLWV4Y2xhbWF0aW9uJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGQzXCIsIFwiTTQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4VjQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGg5NlY0MzJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OHY4MGg5NmMxNS4xIDAgMjguNS02LjkgMzcuMy0xNy44QzM0MC40IDQ2Mi4yIDMyMCA0MTcuNSAzMjAgMzY4YzAtNTQuNyAyNC45LTEwMy41IDY0LTEzNS44VjQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDQ4ek02NCAyNDBjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIODBjLTguOCAwLTE2LTcuMi0xNi0xNlYyNDB6bTExMi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDE3NmMtOC44IDAtMTYtNy4yLTE2LTE2VjI0MGMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDI3MmMtOC44IDAtMTYtNy4yLTE2LTE2VjI0MHpNODAgOTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjExMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDE3NmMtOC44IDAtMTYtNy4yLTE2LTE2VjExMnpNMjcyIDk2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMjcyYy04LjggMC0xNi03LjItMTYtMTZWMTEyYzAtOC44IDcuMi0xNiAxNi0xNnpNNDk2IDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtOTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0wLTE0NGM4LjggMCAxNiA3LjIgMTYgMTZ2ODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWMjg4YzAtOC44IDcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFNYWduaWZ5aW5nR2xhc3NDaGFydCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYWduaWZ5aW5nLWdsYXNzLWNoYXJ0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTIyXCIsIFwiTTQxNiAyMDhjMCA0NS45LTE0LjkgODguMy00MCAxMjIuN0w1MDIuNiA0NTcuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwzMzAuNyAzNzZjLTM0LjQgMjUuMi03Ni44IDQwLTEyMi43IDQwQzkzLjEgNDE2IDAgMzIyLjkgMCAyMDhTOTMuMSAwIDIwOCAwUzQxNiA5My4xIDQxNiAyMDh6bS0zMTIgOHY2NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6bTgwLTk2VjI4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjEyMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHptODAgNjR2OTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFYxODRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6XCJdXG59O1xudmFyIGZhQXJyb3dVcFJpZ2h0RnJvbVNxdWFyZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy11cC1yaWdodC1mcm9tLXNxdWFyZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZXh0ZXJuYWwtbGlua1wiXSwgXCJmMDhlXCIsIFwiTTMyMCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDgyLjdMMjAxLjQgMjY1LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMNDQ4IDEwOS4zVjE5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMySDMyMHpNODAgMzJDMzUuOCAzMiAwIDY3LjggMCAxMTJWNDMyYzAgNDQuMiAzNS44IDgwIDgwIDgwSDQwMGM0NC4yIDAgODAtMzUuOCA4MC04MFYzMjBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWNDMyYzAgOC44LTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjExMmMwLTguOCA3LjItMTYgMTYtMTZIMTkyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDgwelwiXVxufTtcbnZhciBmYUV4dGVybmFsTGluayA9IGZhQXJyb3dVcFJpZ2h0RnJvbVNxdWFyZTtcbnZhciBmYUN1YmVzU3RhY2tlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjdWJlcy1zdGFja2VkJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJlNGU2XCIsIFwiTTE5MiA2NHY2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmg2NGMxNy43IDAgMzItMTQuMyAzMi0zMlY2NGMwLTE3LjctMTQuMy0zMi0zMi0zMkgyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek04Mi43IDIwN2MtMTUuMyA4LjgtMjAuNSAyOC40LTExLjcgNDMuN2wzMiA1NS40YzguOCAxNS4zIDI4LjQgMjAuNSA0My43IDExLjdsNTUuNC0zMmMxNS4zLTguOCAyMC41LTI4LjQgMTEuNy00My43bC0zMi01NS40Yy04LjgtMTUuMy0yOC40LTIwLjUtNDMuNy0xMS43TDgyLjcgMjA3ek0yODggMTkyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnY2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmg2NGMxNy43IDAgMzItMTQuMyAzMi0zMlYyMjRjMC0xNy43LTE0LjMtMzItMzItMzJIMjg4em02NCAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyaDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM4NGMwLTE3LjctMTQuMy0zMi0zMi0zMkgzNTJ6TTE2MCAzODR2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJoNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzg0YzAtMTcuNy0xNC4zLTMyLTMyLTMySDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTMyIDM1MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJIOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzg0YzAtMTcuNy0xNC4zLTMyLTMyLTMySDMyelwiXVxufTtcbnZhciBmYVdvblNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd29uLXNpZ24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFs4MzYxLCBcImtyd1wiLCBcIndvblwiXSwgXCJmMTU5XCIsIFwiTTYyLjQgNTMuOUM1Ni44IDM3LjEgMzguNiAyOC4xIDIxLjkgMzMuNlMtMy45IDU3LjQgMS42IDc0LjFMNTEuNiAyMjRIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINzIuOWw1Ni43IDE3MC4xYzQuNSAxMy41IDE3LjQgMjIuNCAzMS42IDIxLjlzMjYuNC0xMC40IDI5LjgtMjQuMkwyMzMgMjg4aDQ2TDMyMSA0NTUuOGMzLjQgMTMuOCAxNS42IDIzLjcgMjkuOCAyNC4yczI3LjEtOC40IDMxLjYtMjEuOUw0MzkuMSAyODhINDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDQ2MC40bDUwLTE0OS45YzUuNi0xNi44LTMuNS0zNC45LTIwLjItNDAuNXMtMzQuOSAzLjUtNDAuNSAyMC4yTDM5Mi45IDIyNEgzMjlMMjg3IDU2LjJDMjgzLjUgNDIgMjcwLjcgMzIgMjU2IDMycy0yNy41IDEwLTMxIDI0LjJMMTgzIDIyNGgtNjRMNjIuNCA1My45em03OCAyMzQuMUgxNjdsLTExLjQgNDUuNkwxNDAuNCAyODh6TTI0OSAyMjRsNy0yOC4xIDcgMjguMUgyNDl6bTk2IDY0aDI2LjZsLTE1LjIgNDUuNkwzNDUgMjg4elwiXVxufTtcbnZhciBmYUtydyA9IGZhV29uU2lnbjtcbnZhciBmYVdvbiA9IGZhV29uU2lnbjtcbnZhciBmYVZpcnVzQ292aWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmlydXMtY292aWQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0YThcIiwgXCJNMTkyIDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0aDgwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDI4MFY4MS42YzMwLjcgNC4yIDU4LjggMTYuMyA4Mi4zIDM0LjFMMzg2LjEgOTIgMzc0LjggODAuNmMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDU2LjYgNTYuNmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDQyMCAxMjUuOWwtMjMuOCAyMy44YzE3LjkgMjMuNSAyOS45IDUxLjcgMzQuMSA4Mi4zSDQ2NFYyMTZjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHY4MGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYyODBINDMwLjRjLTQuMiAzMC43LTE2LjMgNTguOC0zNC4xIDgyLjNMNDIwIDM4Ni4xbDExLjMtMTEuM2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTU2LjYgNTYuNmMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOUwzODYuMSA0MjBsLTIzLjgtMjMuOGMtMjMuNSAxNy45LTUxLjcgMjkuOS04Mi4zIDM0LjFWNDY0aDE2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDIxNmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGgxNlY0MzAuNGMtMzAuNy00LjItNTguOC0xNi4zLTgyLjMtMzQuMUwxMjUuOSA0MjBsMTEuMyAxMS4zYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBMNDYuNyA0MDguN2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwTDkyIDM4Ni4xbDIzLjgtMjMuOEM5Ny45IDMzOC44IDg1LjggMzEwLjcgODEuNiAyODBINDh2MTZjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWMjE2YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR2MTZIODEuNmM0LjItMzAuNyAxNi4zLTU4LjggMzQuMS04Mi4zTDkyIDEyNS45IDgwLjYgMTM3LjJjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNTYuNi01Ni42YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOUwxMjUuOSA5MmwyMy44IDIzLjhjMjMuNS0xNy45IDUxLjctMjkuOSA4Mi4zLTM0LjFWNDhIMjE2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHptNDggMjAwYTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6bTY0IDEwNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6XCJdXG59O1xudmFyIGZhQXVzdHJhbFNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXVzdHJhbC1zaWduJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJlMGE5XCIsIFwiTTI1My41IDUxLjdDMjQ4LjYgMzkuOCAyMzYuOSAzMiAyMjQgMzJzLTI0LjYgNy44LTI5LjUgMTkuN0wxMjIuNyAyMjRIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJIOTZMODIuNyAzMjBIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINTZMMzQuNSA0MzUuN2MtNi44IDE2LjMgLjkgMzUgMTcuMiA0MS44czM1LS45IDQxLjgtMTcuMkwxMjUuMyAzODRIMzIyLjdsMzEuOCA3Ni4zYzYuOCAxNi4zIDI1LjUgMjQgNDEuOCAxNy4yczI0LTI1LjUgMTcuMi00MS44TDM5MiAzODRoMjRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzY1LjNMMzUyIDI4OGg2NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMjUuM0wyNTMuNSA1MS43ek0yNTYgMjI0SDE5MmwzMi03Ni44TDI1NiAyMjR6bS05MC43IDY0SDI4Mi43TDI5NiAzMjBIMTUybDEzLjMtMzJ6XCJdXG59O1xudmFyIGZhRiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTAyXSwgXCI0NlwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjI1NiA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyODhIMjI0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDY0Vjk2SDI4OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg2NHpcIl1cbn07XG52YXIgZmFMZWFmID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xlYWYnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYwNmNcIiwgXCJNMjcyIDk2Yy03OC42IDAtMTQ1LjEgNTEuNS0xNjcuNyAxMjIuNWMzMy42LTE3IDcxLjUtMjYuNSAxMTEuNy0yNi41aDg4YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDI4OCAyMTZzMCAwIDAgMGMtMTYuNiAwLTMyLjcgMS45LTQ4LjMgNS40Yy0yNS45IDUuOS00OS45IDE2LjQtNzEuNCAzMC43YzAgMCAwIDAgMCAwQzM4LjMgMjk4LjggMCAzNjQuOSAwIDQ0MHYxNmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjQ0MGMwLTQ4LjcgMjAuNy05Mi41IDUzLjgtMTIzLjJDMTIxLjYgMzkyLjMgMTkwLjMgNDQ4IDI3MiA0NDhsMSAwYzEzMi4xLS43IDIzOS0xMzAuOSAyMzktMjkxLjRjMC00Mi42LTcuNS04My4xLTIxLjEtMTE5LjZjLTIuNi02LjktMTIuNy02LjYtMTYuMi0uMUM0NTUuOSA3Mi4xIDQxOC43IDk2IDM3NiA5NkwyNzIgOTZ6XCJdXG59O1xudmFyIGZhUm9hZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyb2FkJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4NzM5XSwgXCJmMDE4XCIsIFwiTTI1NiAzMkgxODEuMmMtMjcuMSAwLTUxLjMgMTcuMS02MC4zIDQyLjZMMy4xIDQwNy4yQzEuMSA0MTMgMCA0MTkuMiAwIDQyNS40QzAgNDU1LjUgMjQuNSA0ODAgNTQuNiA0ODBIMjU2VjQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMydjY0SDUyMS40YzMwLjIgMCA1NC42LTI0LjUgNTQuNi01NC42YzAtNi4yLTEuMS0xMi40LTMuMS0xOC4yTDQ1NS4xIDc0LjZDNDQ2IDQ5LjEgNDIxLjkgMzIgMzk0LjggMzJIMzIwVjk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjMyem02NCAxOTJ2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMjI0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6XCJdXG59O1xudmFyIGZhVGF4aSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YXhpJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NjYyLCBcImNhYlwiXSwgXCJmMWJhXCIsIFwiTTE5MiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMlY2NGMwIC4xIDAgLjEgMCAuMmMtMzguNiAyLjItNzIuMyAyNy4zLTg1LjIgNjQuMUwzOS42IDIyOC44QzE2LjQgMjM4LjQgMCAyNjEuMyAwIDI4OFY0MzJ2NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJINjRjMTcuNyAwIDMyLTE0LjMgMzItMzJWNDMySDQxNnY0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmgzMmMxNy43IDAgMzItMTQuMyAzMi0zMlY0MzIgMjg4YzAtMjYuNy0xNi40LTQ5LjYtMzkuNi01OS4yTDQzNy4yIDEyOC4zYy0xMi45LTM2LjgtNDYuNi02Mi04NS4yLTY0LjFjMC0uMSAwLS4xIDAtLjJWMzJjMC0xNy43LTE0LjMtMzItMzItMzJIMTkyek0xNjUuNCAxMjhIMzQ2LjZjMTMuNiAwIDI1LjcgOC42IDMwLjIgMjEuNEw0MDIuOSAyMjRIMTA5LjFsMjYuMS03NC42YzQuNS0xMi44IDE2LjYtMjEuNCAzMC4yLTIxLjR6TTk2IDI4OGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTI4OCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwelwiXVxufTtcbnZhciBmYUNhYiA9IGZhVGF4aTtcbnZhciBmYVBlcnNvbkNpcmNsZVBsdXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWNpcmNsZS1wbHVzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTQxXCIsIFwiTTExMiA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem00MCAzMDRWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjI1Ni45TDU5LjQgMzA0LjVjLTkuMSAxNS4xLTI4LjggMjAtNDMuOSAxMC45cy0yMC0yOC44LTEwLjktNDMuOWw1OC4zLTk3YzE3LjQtMjguOSA0OC42LTQ2LjYgODIuMy00Ni42aDI5LjdjMzMuNyAwIDY0LjkgMTcuNyA4Mi4zIDQ2LjZsNDQuOSA3NC43Yy0xNi4xIDE3LjYtMjguNiAzOC41LTM2LjYgNjEuNWMtMS45LTEuOC0zLjUtMy45LTQuOS02LjNMMjMyIDI1Ni45VjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzNTJIMTUyek00MzIgMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMTYgODBjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZ2NDhIMzY4Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2aDQ4djQ4YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMzg0aDQ4YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDQ0OFYzMDR6XCJdXG59O1xudmFyIGZhQ2hhcnRQaWUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hhcnQtcGllJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJwaWUtY2hhcnRcIl0sIFwiZjIwMFwiLCBcIk0zMDQgMjQwVjE2LjZjMC05IDctMTYuNiAxNi0xNi42QzQ0My43IDAgNTQ0IDEwMC4zIDU0NCAyMjRjMCA5LTcuNiAxNi0xNi42IDE2SDMwNHpNMzIgMjcyQzMyIDE1MC43IDEyMi4xIDUwLjMgMjM5IDM0LjNjOS4yLTEuMyAxNyA2LjEgMTcgMTUuNFYyODhMNDEyLjUgNDQ0LjVjNi43IDYuNyA2LjIgMTcuNy0xLjUgMjMuMUMzNzEuOCA0OTUuNiAzMjMuOCA1MTIgMjcyIDUxMkMxMzkuNSA1MTIgMzIgNDA0LjYgMzIgMjcyem01MjYuNCAxNmM5LjMgMCAxNi42IDcuOCAxNS40IDE3Yy03LjcgNTUuOS0zNC42IDEwNS42LTczLjkgMTQyLjNjLTYgNS42LTE1LjQgNS4yLTIxLjItLjdMMzIwIDI4OEg1NTguNHpcIl1cbn07XG52YXIgZmFQaWVDaGFydCA9IGZhQ2hhcnRQaWU7XG52YXIgZmFCb2x0TGlnaHRuaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JvbHQtbGlnaHRuaW5nJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlMGI3XCIsIFwiTTAgMjU2TDI4LjUgMjhjMi0xNiAxNS42LTI4IDMxLjgtMjhIMjI4LjljMTUgMCAyNy4xIDEyLjEgMjcuMSAyNy4xYzAgMy4yLS42IDYuNS0xLjcgOS41TDIwOCAxNjBIMzQ3LjNjMjAuMiAwIDM2LjcgMTYuNCAzNi43IDM2LjdjMCA3LjQtMi4yIDE0LjYtNi40IDIwLjdsLTE5Mi4yIDI4MWMtNS45IDguNi0xNS42IDEzLjctMjUuOSAxMy43aC0yLjljLTE1LjcgMC0yOC41LTEyLjgtMjguNS0yOC41YzAtMi4zIC4zLTQuNiAuOS02LjlMMTc2IDI4OEgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6XCJdXG59O1xudmFyIGZhU2Fja1htYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NhY2steG1hcmsnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1NmFcIiwgXCJNMTkyIDk2SDMyMGw0Ny40LTcxLjFDMzc0LjUgMTQuMiAzNjYuOSAwIDM1NC4xIDBIMTU3LjljLTEyLjggMC0yMC40IDE0LjItMTMuMyAyNC45TDE5MiA5NnptMTI4IDMySDE5MmMtMy44IDIuNS04LjEgNS4zLTEzIDguNGwwIDAgMCAwQzEyMi4zIDE3Mi43IDAgMjUwLjkgMCA0MTZjMCA1MyA0MyA5NiA5NiA5Nkg0MTZjNTMgMCA5Ni00MyA5Ni05NmMwLTE2NS4xLTEyMi4zLTI0My4zLTE3OS0yNzkuNmMtNC44LTMuMS05LjItNS45LTEzLTguNHpNMjg5LjkgMzM2bDQ3IDQ3YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQ3LTQ3LTQ3IDQ3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDQ3LTQ3LTQ3LTQ3Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNDcgNDcgNDctNDdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC00NyA0N3pcIl1cbn07XG52YXIgZmFGaWxlRXhjZWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1leGNlbCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjFjM1wiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzIwYzM1LjMgMCA2NC0yOC43IDY0LTY0VjE2MEgyNTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjBINjR6TTI1NiAwVjEyOEgzODRMMjU2IDB6TTE1NS43IDI1MC4yTDE5MiAzMDIuMWwzNi4zLTUxLjljNy42LTEwLjkgMjIuNi0xMy41IDMzLjQtNS45czEzLjUgMjIuNiA1LjkgMzMuNEwyMjEuMyAzNDRsNDYuNCA2Ni4yYzcuNiAxMC45IDUgMjUuOC01LjkgMzMuNHMtMjUuOCA1LTMzLjQtNS45TDE5MiAzODUuOGwtMzYuMyA1MS45Yy03LjYgMTAuOS0yMi42IDEzLjUtMzMuNCA1LjlzLTEzLjUtMjIuNi01LjktMzMuNEwxNjIuNyAzNDRsLTQ2LjQtNjYuMmMtNy42LTEwLjktNS0yNS44IDUuOS0zMy40czI1LjgtNSAzMy40IDUuOXpcIl1cbn07XG52YXIgZmFGaWxlQ29udHJhY3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1jb250cmFjdCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjU2Y1wiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzIwYzM1LjMgMCA2NC0yOC43IDY0LTY0VjE2MEgyNTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjBINjR6TTI1NiAwVjEyOEgzODRMMjU2IDB6TTgwIDY0aDY0YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0wIDY0aDY0YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em01NC4yIDI1My44Yy02LjEgMjAuMy0yNC44IDM0LjItNDYgMzQuMkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmg4LjJjNy4xIDAgMTMuMy00LjYgMTUuMy0xMS40bDE0LjktNDkuNWMzLjQtMTEuMyAxMy44LTE5LjEgMjUuNi0xOS4xczIyLjIgNy43IDI1LjYgMTkuMWwxMS42IDM4LjZjNy40LTYuMiAxNi44LTkuNyAyNi44LTkuN2MxNS45IDAgMzAuNCA5IDM3LjUgMjMuMmw0LjQgOC44SDMwNGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgyNDBjLTYuMSAwLTExLjYtMy40LTE0LjMtOC44bC04LjgtMTcuN2MtMS43LTMuNC01LjEtNS41LTguOC01LjVzLTcuMiAyLjEtOC44IDUuNWwtOC44IDE3LjdjLTIuOSA1LjktOS4yIDkuNC0xNS43IDguOHMtMTIuMS01LjEtMTMuOS0xMS4zTDE0NCAzNDlsLTkuOCAzMi44elwiXVxufTtcbnZhciBmYUZpc2hGaW5zID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Zpc2gtZmlucycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRmMlwiLCBcIk0yNzUuMiAzOC40Yy0xMC42LTgtMjUtOC41LTM2LjMtMS41UzIyMiA1Ny4zIDIyNC42IDcwLjNsOS43IDQ4LjZjLTE5LjQgOS0zNi45IDE5LjktNTIuNCAzMS41Yy0xNS4zIDExLjUtMjkgMjMuOS00MC43IDM2LjNMNDguMSAxMzIuNGMtMTIuNS03LjMtMjguNC01LjMtMzguNiA0LjlTLTMgMTYzLjMgNC4yIDE3NS45TDUwIDI1NiA0LjIgMzM2LjFjLTcuMiAxMi42LTUgMjguNCA1LjMgMzguNnMyNi4xIDEyLjIgMzguNiA0LjlsOTMuMS01NC4zYzExLjggMTIuMyAyNS40IDI0LjggNDAuNyAzNi4zYzE1LjUgMTEuNiAzMyAyMi41IDUyLjQgMzEuNWwtOS43IDQ4LjZjLTIuNiAxMyAzLjEgMjYuMyAxNC4zIDMzLjNzMjUuNiA2LjUgMzYuMy0xLjVsNzcuNi01OC4yYzU0LjktNCAxMDEuNS0yNyAxMzcuMi01My44YzM5LjItMjkuNCA2Ny4yLTY0LjcgODEuNi04OS41YzUuOC05LjkgNS44LTIyLjIgMC0zMi4xYy0xNC40LTI0LjgtNDIuNS02MC4xLTgxLjYtODkuNWMtMzUuOC0yNi44LTgyLjMtNDkuOC0xMzcuMi01My44TDI3NS4yIDM4LjR6TTM4NCAyNTZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpcIl1cbn07XG52YXIgZmFCdWlsZGluZ0ZsYWcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVpbGRpbmctZmxhZycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRkNVwiLCBcIk00OCAwQzIxLjUgMCAwIDIxLjUgMCA0OFY0NjRjMCAyNi41IDIxLjUgNDggNDggNDhoOTZWNDMyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDh2ODBoOTZjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhINDh6TTY0IDI0MGMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjI0MHptMTEyLTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMTc2Yy04LjggMC0xNi03LjItMTYtMTZWMjQwYzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTZjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMjcyYy04LjggMC0xNi03LjItMTYtMTZWMjQwek04MCA5NmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZWMTEyYzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTZjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMTc2Yy04LjggMC0xNi03LjItMTYtMTZWMTEyek0yNzIgOTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgyNzJjLTguOCAwLTE2LTcuMi0xNi0xNlYxMTJjMC04LjggNy4yLTE2IDE2LTE2ek00NDggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJWNTEyaDY0VjE5Mkg2MjRjOC44IDAgMTYtNy4yIDE2LTE2VjQ4YzAtOC44LTcuMi0xNi0xNi0xNkg0ODBjMC0xNy43LTE0LjMtMzItMzItMzJ6XCJdXG59O1xudmFyIGZhRmFjZUdyaW5CZWFtID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtZ3Jpbi1iZWFtJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTE2LCBcImdyaW4tYmVhbVwiXSwgXCJmNTgyXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0zODguMSAzMTIuOGMxMi4zLTMuOCAyNC4zIDYuOSAxOS4zIDE4LjdDMzgyLjQgMzkwLjYgMzI0LjIgNDMyIDI1Ni4zIDQzMnMtMTI2LjItNDEuNC0xNTEuMS0xMDAuNWMtNS0xMS44IDctMjIuNSAxOS4zLTE4LjdjMzkuNyAxMi4yIDg0LjUgMTkgMTMxLjggMTlzOTIuMS02LjggMTMxLjgtMTl6bS0xNzAuNS04NGwwIDAgMCAwLS4yLS4yYy0uMi0uMi0uNC0uNS0uNy0uOWMtLjYtLjgtMS42LTItMi44LTMuNGMtMi41LTIuOC02LTYuNi0xMC4yLTEwLjNjLTguOC03LjgtMTguOC0xNC0yNy43LTE0cy0xOC45IDYuMi0yNy43IDE0Yy00LjIgMy43LTcuNyA3LjUtMTAuMiAxMC4zYy0xLjIgMS40LTIuMiAyLjYtMi44IDMuNGMtLjMgLjQtLjYgLjctLjcgLjlsLS4yIC4yIDAgMCAwIDAgMCAwYy0yLjEgMi44LTUuNyAzLjktOC45IDIuOHMtNS41LTQuMS01LjUtNy42YzAtMTcuOSA2LjctMzUuNiAxNi42LTQ4LjhjOS44LTEzIDIzLjktMjMuMiAzOS40LTIzLjJzMjkuNiAxMC4yIDM5LjQgMjMuMmM5LjkgMTMuMiAxNi42IDMwLjkgMTYuNiA0OC44YzAgMy40LTIuMiA2LjUtNS41IDcuNnMtNi45IDAtOC45LTIuOGwwIDAgMCAwem0xNjAgMGwwIDAtLjItLjJjLS4yLS4yLS40LS41LS43LS45Yy0uNi0uOC0xLjYtMi0yLjgtMy40Yy0yLjUtMi44LTYtNi42LTEwLjItMTAuM2MtOC44LTcuOC0xOC44LTE0LTI3LjctMTRzLTE4LjkgNi4yLTI3LjcgMTRjLTQuMiAzLjctNy43IDcuNS0xMC4yIDEwLjNjLTEuMiAxLjQtMi4yIDIuNi0yLjggMy40Yy0uMyAuNC0uNiAuNy0uNyAuOWwtLjIgLjIgMCAwIDAgMCAwIDBjLTIuMSAyLjgtNS43IDMuOS04LjkgMi44cy01LjUtNC4xLTUuNS03LjZjMC0xNy45IDYuNy0zNS42IDE2LjYtNDguOGM5LjgtMTMgMjMuOS0yMy4yIDM5LjQtMjMuMnMyOS42IDEwLjIgMzkuNCAyMy4yYzkuOSAxMy4yIDE2LjYgMzAuOSAxNi42IDQ4LjhjMCAzLjQtMi4yIDYuNS01LjUgNy42cy02LjkgMC04LjktMi44bDAgMCAwIDAgMCAwelwiXVxufTtcbnZhciBmYUdyaW5CZWFtID0gZmFGYWNlR3JpbkJlYW07XG52YXIgZmFPYmplY3RVbmdyb3VwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ29iamVjdC11bmdyb3VwJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmMjQ4XCIsIFwiTTMyIDExOS40QzEyLjkgMTA4LjQgMCA4Ny43IDAgNjRDMCAyOC43IDI4LjcgMCA2NCAwYzIzLjcgMCA0NC40IDEyLjkgNTUuNCAzMkgzMjguNkMzMzkuNiAxMi45IDM2MC4zIDAgMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRjMCAyMy43LTEyLjkgNDQuNC0zMiA1NS40VjIzMi42YzE5LjEgMTEuMSAzMiAzMS43IDMyIDU1LjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRjLTIzLjcgMC00NC40LTEyLjktNTUuNC0zMkgxMTkuNGMtMTEuMSAxOS4xLTMxLjcgMzItNTUuNCAzMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRjMC0yMy43IDEyLjktNDQuNCAzMi01NS40VjExOS40ek0xMTkuNCA5NmMtNS42IDkuNy0xMy43IDE3LjgtMjMuNCAyMy40VjIzMi42YzkuNyA1LjYgMTcuOCAxMy43IDIzLjQgMjMuNEgzMjguNmM1LjYtOS43IDEzLjctMTcuOCAyMy40LTIzLjRWMTE5LjRjLTkuNy01LjYtMTcuOC0xMy43LTIzLjQtMjMuNEgxMTkuNHptMTkyIDM4NGMtMTEuMSAxOS4xLTMxLjcgMzItNTUuNCAzMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRjMC0yMy43IDEyLjktNDQuNCAzMi01NS40VjM1Mmg2NHY0MC42YzkuNyA1LjYgMTcuOCAxMy43IDIzLjQgMjMuNEg1MjAuNmM1LjYtOS43IDEzLjctMTcuOCAyMy40LTIzLjRWMjc5LjRjLTkuNy01LjYtMTcuOC0xMy43LTIzLjQtMjMuNGgtNDZjLTUuNC0xNS40LTE0LjYtMjguOS0yNi41LTM5LjZWMTkyaDcyLjZjMTEuMS0xOS4xIDMxLjctMzIgNTUuNC0zMmMzNS4zIDAgNjQgMjguNyA2NCA2NGMwIDIzLjctMTIuOSA0NC40LTMyIDU1LjRWMzkyLjZjMTkuMSAxMS4xIDMyIDMxLjcgMzIgNTUuNGMwIDM1LjMtMjguNyA2NC02NCA2NGMtMjMuNyAwLTQ0LjQtMTIuOS01NS40LTMySDMxMS40elwiXVxufTtcbnZhciBmYVBvb3AgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncG9vcCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjYxOVwiLCBcIk0yNTQuNCA2LjZjMy41LTQuMyA5LTYuNSAxNC41LTUuN0MzMTUuOCA3LjIgMzUyIDQ3LjQgMzUyIDk2YzAgMTEuMi0xLjkgMjItNS41IDMySDM1MmMzNS4zIDAgNjQgMjguNyA2NCA2NGMwIDE5LjEtOC40IDM2LjMtMjEuNyA0OEg0MDhjMzkuOCAwIDcyIDMyLjIgNzIgNzJjMCAyMy4yLTExIDQzLjgtMjggNTdjMzQuMSA1LjcgNjAgMzUuMyA2MCA3MWMwIDM5LjgtMzIuMiA3Mi03MiA3Mkg3MmMtMzkuOCAwLTcyLTMyLjItNzItNzJjMC0zNS43IDI1LjktNjUuMyA2MC03MWMtMTctMTMuMi0yOC0zMy44LTI4LTU3YzAtMzkuOCAzMi4yLTcyIDcyLTcyaDEzLjdDMTA0LjQgMjI4LjMgOTYgMjExLjEgOTYgMTkyYzAtMzUuMyAyOC43LTY0IDY0LTY0aDE2LjJjNDQuMS0uMSA3OS44LTM1LjkgNzkuOC04MGMwLTkuMi0xLjUtMTcuOS00LjMtMjYuMWMtMS44LTUuMi0uOC0xMS4xIDIuOC0xNS40elwiXVxufTtcbnZhciBmYUxvY2F0aW9uUGluID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xvY2F0aW9uLXBpbicsXG4gIGljb246IFszODQsIDUxMiwgW1wibWFwLW1hcmtlclwiXSwgXCJmMDQxXCIsIFwiTTM4NCAxOTJjMCA4Ny40LTExNyAyNDMtMTY4LjMgMzA3LjJjLTEyLjMgMTUuMy0zNS4xIDE1LjMtNDcuNCAwQzExNyA0MzUgMCAyNzkuNCAwIDE5MkMwIDg2IDg2IDAgMTkyIDBTMzg0IDg2IDM4NCAxOTJ6XCJdXG59O1xudmFyIGZhTWFwTWFya2VyID0gZmFMb2NhdGlvblBpbjtcbnZhciBmYUthYWJhID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2thYWJhJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4MzMxXSwgXCJmNjZiXCIsIFwiTTYwIDEyMGwyMjggNzEuMkw1MTYgMTIwIDI4OCA0OC44IDYwIDEyMHpNMjc4LjUgMS41YzYuMi0xLjkgMTIuOS0xLjkgMTkuMSAwbDI1NiA4MEM1NjYuOSA4NS42IDU3NiA5OCA1NzYgMTEydjE2IDAgMjEuMkwyOTIuOCAyMzcuN2MtMy4xIDEtNi40IDEtOS41IDBMMCAxNDkuMlYxMjggMTEyQzAgOTggOS4xIDg1LjYgMjIuNSA4MS41bDI1Ni04MHptMjMuOSAyNjYuOEw1NzYgMTgyLjh2NDYuNWwtNTIuOCAxNi41Yy04LjQgMi42LTEzLjEgMTEuNi0xMC41IDIwczExLjYgMTMuMSAyMCAxMC41TDU3NiAyNjIuOFY0MDBjMCAxNC05LjEgMjYuNC0yMi41IDMwLjVsLTI1NiA4MGMtNi4yIDEuOS0xMi45IDEuOS0xOS4xIDBsLTI1Ni04MEM5LjEgNDI2LjQgMCA0MTQgMCA0MDBWMjYyLjhsNDMuMiAxMy41YzguNCAyLjYgMTcuNC0yLjEgMjAtMTAuNXMtMi4xLTE3LjQtMTAuNS0yMEwwIDIyOS4yVjE4Mi44bDI3My43IDg1LjVjOS4zIDIuOSAxOS4zIDIuOSAyOC42IDB6bS0xODUuNS0yLjZjLTguNC0yLjYtMTcuNCAyLjEtMjAgMTAuNXMyLjEgMTcuNCAxMC41IDIwbDY0IDIwYzguNCAyLjYgMTcuNC0yLjEgMjAtMTAuNXMtMi4xLTE3LjQtMTAuNS0yMGwtNjQtMjB6bTM1MiAzMC41YzguNC0yLjYgMTMuMS0xMS42IDEwLjUtMjBzLTExLjYtMTMuMS0yMC0xMC41bC02NCAyMGMtOC40IDIuNi0xMy4xIDExLjYtMTAuNSAyMHMxMS42IDEzLjEgMjAgMTAuNWw2NC0yMHptLTIyNCA5LjVjLTguNC0yLjYtMTcuNCAyLjEtMjAgMTAuNXMyLjEgMTcuNCAxMC41IDIwbDM4LjUgMTJjOS4zIDIuOSAxOS4zIDIuOSAyOC42IDBsMzguNS0xMmM4LjQtMi42IDEzLjEtMTEuNiAxMC41LTIwcy0xMS42LTEzLjEtMjAtMTAuNWwtMzguNSAxMmMtMy4xIDEtNi40IDEtOS41IDBsLTM4LjUtMTJ6XCJdXG59O1xudmFyIGZhVG9pbGV0UGFwZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndG9pbGV0LXBhcGVyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI5NTMxXSwgXCJmNzFlXCIsIFwiTTQ0NC4yIDBDMzk3LjIgNDkuNiAzODQgMTI2LjUgMzg0IDE5MmMwIDE1OC44LTI3LjMgMjQ3LTQyLjcgMjgzLjljLTEwIDI0LTMzLjIgMzYuMS01NS40IDM2LjFINDhjLTExLjUgMC0yMi4yLTYuMi0yNy44LTE2LjJzLTUuNi0yMi4zIC40LTMyLjJjOS44LTE3LjcgMTUuNC0zOC4yIDIwLjUtNTcuN0M1Mi4zIDM2Mi44IDY0IDI5My41IDY0IDE5MkM2NCA4NiAxMDcgMCAxNjAgMEg0NDQuMnpNNTEyIDM4NGMtNTMgMC05Ni04Ni05Ni0xOTJTNDU5IDAgNTEyIDBzOTYgODYgOTYgMTkycy00MyAxOTItOTYgMTkyem0wLTEyOGMxNy43IDAgMzItMjguNyAzMi02NHMtMTQuMy02NC0zMi02NHMtMzIgMjguNy0zMiA2NHMxNC4zIDY0IDMyIDY0ek0xNDQgMjA4YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6bTY0IDBhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptNDggMTZhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyem04MC0xNmExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwelwiXVxufTtcbnZhciBmYUhlbG1ldFNhZmV0eSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWxtZXQtc2FmZXR5JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJoYXJkLWhhdFwiLCBcImhhdC1oYXJkXCJdLCBcImY4MDdcIiwgXCJNMjU2IDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnYyLjMgOTkuNmMwIDUuNi00LjUgMTAuMS0xMC4xIDEwLjFjLTMuNiAwLTctMS45LTguOC01LjFMMTU3LjEgODdDODMgMTIzLjUgMzIgMTk5LjggMzIgMjg4djY0SDU0NGwwLTY2LjRjLS45LTg3LjItNTEuNy0xNjIuNC0xMjUuMS0xOTguNmwtNDggODMuOWMtMS44IDMuMi01LjIgNS4xLTguOCA1LjFjLTUuNiAwLTEwLjEtNC41LTEwLjEtMTAuMVY2Ni4zIDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMySDI1NnpNMTYuNiAzODRDNy40IDM4NCAwIDM5MS40IDAgNDAwLjZjMCA0LjcgMiA5LjIgNS44IDExLjlDMjcuNSA0MjguNCAxMTEuOCA0ODAgMjg4IDQ4MHMyNjAuNS01MS42IDI4Mi4yLTY3LjVjMy44LTIuOCA1LjgtNy4yIDUuOC0xMS45YzAtOS4yLTcuNC0xNi42LTE2LjYtMTYuNkgxNi42elwiXVxufTtcbnZhciBmYUhhcmRIYXQgPSBmYUhlbG1ldFNhZmV0eTtcbnZhciBmYUhhdEhhcmQgPSBmYUhlbG1ldFNhZmV0eTtcbnZhciBmYUVqZWN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2VqZWN0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbOTE2N10sIFwiZjA1MlwiLCBcIk0yMjQgMzJjMTMuNSAwIDI2LjMgNS42IDM1LjQgMTUuNmwxNzYgMTkyYzEyLjkgMTQgMTYuMiAzNC4zIDguNiA1MS44UzQxOSAzMjAgNDAwIDMyMEg0OGMtMTkgMC0zNi4zLTExLjItNDMuOS0yOC43cy00LjMtMzcuNyA4LjYtNTEuOGwxNzYtMTkyQzE5Ny43IDM3LjYgMjEwLjUgMzIgMjI0IDMyek0wIDQzMmMwLTI2LjUgMjEuNS00OCA0OC00OEg0MDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4elwiXVxufTtcbnZhciBmYUNpcmNsZVJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1yaWdodCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzYxODM4LCBcImFycm93LWFsdC1jaXJjbGUtcmlnaHRcIl0sIFwiZjM1YVwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAwIDUxMiAwQTI1NiAyNTYgMCAxIDAgMCAyNTZ6TTI5NC42IDEzNS4xbDk5LjkgMTA3LjFjMy41IDMuOCA1LjUgOC43IDUuNSAxMy44cy0yIDEwLjEtNS41IDEzLjhMMjk0LjYgMzc2LjljLTQuMiA0LjUtMTAuMSA3LjEtMTYuMyA3LjFDMjY2IDM4NCAyNTYgMzc0IDI1NiAzNjEuN2wwLTU3LjctOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5NiAwIDAtNTcuN2MwLTEyLjMgMTAtMjIuMyAyMi4zLTIyLjNjNi4yIDAgMTIuMSAyLjYgMTYuMyA3LjF6XCJdXG59O1xudmFyIGZhQXJyb3dBbHRDaXJjbGVSaWdodCA9IGZhQ2lyY2xlUmlnaHQ7XG52YXIgZmFQbGFuZUNpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsYW5lLWNpcmNsZS1jaGVjaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU1NVwiLCBcIk0yNTYgMGMtMzUgMC02NCA1OS41LTY0IDkzLjd2ODQuNkw4LjEgMjgzLjRjLTUgMi44LTguMSA4LjItOC4xIDEzLjl2NjUuNWMwIDEwLjYgMTAuMiAxOC4zIDIwLjQgMTUuNGwxNzEuNi00OSAwIDcwLjktNTcuNiA0My4yYy00IDMtNi40IDcuOC02LjQgMTIuOHY0MmMwIDcuOCA2LjMgMTQgMTQgMTRjMS4zIDAgMi42LS4yIDMuOS0uNUwyNTYgNDgwbDExMC4xIDMxLjVjMS4zIC40IDIuNiAuNSAzLjkgLjVjNiAwIDExLjEtMy43IDEzLjEtOUMzNDQuNSA0NzAuNyAzMjAgNDIyLjIgMzIwIDM2OGMwLTYwLjYgMzAuNi0xMTQgNzcuMS0xNDUuNkwzMjAgMTc4LjNWOTMuN0MzMjAgNTkuNSAyOTIgMCAyNTYgMHpNNjQwIDM2OGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tNzYuNy00My4zYzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42bC03MiA3MmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDgwIDM4NS40bDYwLjctNjAuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHpcIl1cbn07XG52YXIgZmFGYWNlUm9sbGluZ0V5ZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1yb2xsaW5nLWV5ZXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1ODAsIFwibWVoLXJvbGxpbmctZXllc1wiXSwgXCJmNWE1XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xOTIgMzY4SDMyMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgxOTJjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTMyLTE0NGMwIDM1LjMtMjguNyA2NC02NCA2NHMtNjQtMjguNy02NC02NGMwLTI2IDE1LjUtNDguNCAzNy44LTU4LjRjLTMuNyA1LjItNS44IDExLjYtNS44IDE4LjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmMwLTYuOS0yLjItMTMuMi01LjgtMTguNEMyMDguNSAxNzUuNiAyMjQgMTk4IDIyNCAyMjR6bTEyOCA2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRjMC0yNiAxNS41LTQ4LjQgMzcuOC01OC40Yy0zLjcgNS4yLTUuOCAxMS42LTUuOCAxOC40YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJjMC02LjktMi4yLTEzLjItNS44LTE4LjRDNDAwLjUgMTc1LjYgNDE2IDE5OCA0MTYgMjI0YzAgMzUuMy0yOC43IDY0LTY0IDY0elwiXVxufTtcbnZhciBmYU1laFJvbGxpbmdFeWVzID0gZmFGYWNlUm9sbGluZ0V5ZXM7XG52YXIgZmFPYmplY3RHcm91cCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdvYmplY3QtZ3JvdXAnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImYyNDdcIiwgXCJNMzIgMTE5LjRDMTIuOSAxMDguNCAwIDg3LjcgMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBjMjMuNyAwIDQ0LjQgMTIuOSA1NS40IDMySDQ1Ni42QzQ2Ny42IDEyLjkgNDg4LjMgMCA1MTIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGMwIDIzLjctMTIuOSA0NC40LTMyIDU1LjRWMzkyLjZjMTkuMSAxMS4xIDMyIDMxLjcgMzIgNTUuNGMwIDM1LjMtMjguNyA2NC02NCA2NGMtMjMuNyAwLTQ0LjQtMTIuOS01NS40LTMySDExOS40Yy0xMS4xIDE5LjEtMzEuNyAzMi01NS40IDMyYy0zNS4zIDAtNjQtMjguNy02NC02NGMwLTIzLjcgMTIuOS00NC40IDMyLTU1LjRWMTE5LjR6TTQ1Ni42IDk2SDExOS40Yy01LjYgOS43LTEzLjcgMTcuOC0yMy40IDIzLjRWMzkyLjZjOS43IDUuNiAxNy44IDEzLjcgMjMuNCAyMy40SDQ1Ni42YzUuNi05LjcgMTMuNy0xNy44IDIzLjQtMjMuNFYxMTkuNGMtOS43LTUuNi0xNy44LTEzLjctMjMuNC0yMy40ek0xMjggMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMySDI4OGMxNy43IDAgMzIgMTQuMyAzMiAzMnY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMkgxNjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjE2MHpNMjU2IDMyMGgzMmMzNS4zIDAgNjQtMjguNyA2NC02NFYyMjRoNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJIMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYzMjB6XCJdXG59O1xudmFyIGZhQ2hhcnRMaW5lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoYXJ0LWxpbmUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImxpbmUtY2hhcnRcIl0sIFwiZjIwMVwiLCBcIk02NCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMlMwIDQ2LjMgMCA2NFY0MDBjMCA0NC4yIDM1LjggODAgODAgODBINDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDgwYy04LjggMC0xNi03LjItMTYtMTZWNjR6bTQwNi42IDg2LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMzIwIDIxMC43bC01Ny40LTU3LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDI0MCAyMjEuM2w1Ny40IDU3LjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTI4LTEyOHpcIl1cbn07XG52YXIgZmFMaW5lQ2hhcnQgPSBmYUNoYXJ0TGluZTtcbnZhciBmYU1hc2tWZW50aWxhdG9yID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hc2stdmVudGlsYXRvcicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUyNFwiLCBcIk0xNTkuMSAxNzZDMTM5LjQgMjE5LjIgMTI4IDI2NC43IDEyOCAzMDAuOGMwIDE1LjkgMi4yIDMxLjQgNi4zIDQ2bC0zMS44LTcuOUM3MC41IDMzMC45IDQ4IDMwMi4xIDQ4IDI2OVYxODRjMC00LjQgMy42LTggOC04SDE1OS4xem0yNi00OEg1NmMtMzAuOSAwLTU2IDI1LjEtNTYgNTZ2ODVjMCA1NS4xIDM3LjUgMTAzLjEgOTAuOSAxMTYuNGw3MS4zIDE3LjhjMjIuNyAzMC41IDU1LjQgNTQuMSA5My44IDY2LjZWMzkzLjNjLTE5LjctMTYuNC0zMi00MC4zLTMyLTY2LjljMC00OS41IDQzLTEzNC40IDk2LTEzNC40YzUyLjUgMCA5NiA4NC45IDk2IDEzNC40YzAgMjYuNy0xMi40IDUwLjQtMzIgNjYuOHY3Ni42YzM4LTEyLjYgNzAuNi0zNiA5My41LTY2LjRsNzEuNi0xNy45QzYwMi41IDM3Mi4xIDY0MCAzMjQuMSA2NDAgMjY5VjE4NGMwLTMwLjktMjUuMS01Ni01Ni01Nkg0NTQuNUM0MTkuNyA3My44IDM3Mi4xIDMyIDMyMCAzMmMtNTIuNiAwLTEwMC4yIDQxLjgtMTM0LjkgOTZ6bTI5NS42IDQ4SDU4NGM0LjQgMCA4IDMuNiA4IDh2ODVjMCAzMy0yMi41IDYxLjgtNTQuNSA2OS45bC0zMS44IDhjNC4yLTE0LjcgNi40LTMwLjEgNi40LTQ2LjFjMC0zNi4xLTExLjYtODEuNi0zMS4zLTEyNC44ek0yODggMzIwVjUxMmg2NFYzMjBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ6XCJdXG59O1xudmFyIGZhQXJyb3dSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1yaWdodCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzg1OTRdLCBcImYwNjFcIiwgXCJNNDM4LjYgMjc4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTE2MC0xNjBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDMzOC44IDIyNCAzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzA2LjcgMEwyMzMuNCAzOTMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxNjAtMTYwelwiXVxufTtcbnZhciBmYVNpZ25zUG9zdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaWducy1wb3N0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJtYXAtc2lnbnNcIl0sIFwiZjI3N1wiLCBcIk0yMjQgMzJINjRDNDYuMyAzMiAzMiA0Ni4zIDMyIDY0djY0YzAgMTcuNyAxNC4zIDMyIDMyIDMySDQ0MS40YzQuMiAwIDguMy0xLjcgMTEuMy00LjdsNDgtNDhjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZsLTQ4LTQ4Yy0zLTMtNy4xLTQuNy0xMS4zLTQuN0gyODhjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ6TTQ4MCAyNTZjMC0xNy43LTE0LjMtMzItMzItMzJIMjg4VjE5MkgyMjR2MzJINzAuNmMtNC4yIDAtOC4zIDEuNy0xMS4zIDQuN2wtNDggNDhjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42bDQ4IDQ4YzMgMyA3LjEgNC43IDExLjMgNC43SDQ0OGMxNy43IDAgMzItMTQuMyAzMi0zMlYyNTZ6TTI4OCA0ODBWMzg0SDIyNHY5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyelwiXVxufTtcbnZhciBmYU1hcFNpZ25zID0gZmFTaWduc1Bvc3Q7XG52YXIgZmFDYXNoUmVnaXN0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FzaC1yZWdpc3RlcicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjc4OFwiLCBcIk02NCAwQzQ2LjMgMCAzMiAxNC4zIDMyIDMyVjk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyaDgwdjMySDg3Yy0zMS42IDAtNTguNSAyMy4xLTYzLjMgNTQuNEwxLjEgMzY0LjFDLjQgMzY4LjggMCAzNzMuNiAwIDM3OC40VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEg0NDhjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMzc4LjRjMC00LjgtLjQtOS42LTEuMS0xNC40TDQ4OC4yIDIxNC40QzQ4My41IDE4My4xIDQ1Ni42IDE2MCA0MjUgMTYwSDIwOFYxMjhoODBjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzJjMC0xNy43LTE0LjMtMzItMzItMzJINjR6TTk2IDQ4SDI1NmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkg5NmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpNNjQgNDMyYzAtOC44IDcuMi0xNiAxNi0xNkg0MzJjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIODBjLTguOCAwLTE2LTcuMi0xNi0xNnptNDgtMTY4YTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHptMTIwLTI0YTI0IDI0IDAgMSAxIC00OCAwIDI0IDI0IDAgMSAxIDQ4IDB6TTE2MCAzNDRhMjQgMjQgMCAxIDEgMC00OCAyNCAyNCAwIDEgMSAwIDQ4ek0zMjggMjQwYTI0IDI0IDAgMSAxIC00OCAwIDI0IDI0IDAgMSAxIDQ4IDB6TTI1NiAzNDRhMjQgMjQgMCAxIDEgMC00OCAyNCAyNCAwIDEgMSAwIDQ4ek00MjQgMjQwYTI0IDI0IDAgMSAxIC00OCAwIDI0IDI0IDAgMSAxIDQ4IDB6TTM1MiAzNDRhMjQgMjQgMCAxIDEgMC00OCAyNCAyNCAwIDEgMSAwIDQ4elwiXVxufTtcbnZhciBmYVBlcnNvbkNpcmNsZVF1ZXN0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1jaXJjbGUtcXVlc3Rpb24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1NDJcIiwgXCJNMTEyIDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTQwIDMwNFY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMjU2LjlMNTkuNCAzMDQuNWMtOS4xIDE1LjEtMjguOCAyMC00My45IDEwLjlzLTIwLTI4LjgtMTAuOS00My45bDU4LjMtOTdjMTcuNC0yOC45IDQ4LjYtNDYuNiA4Mi4zLTQ2LjZoMjkuN2MzMy43IDAgNjQuOSAxNy43IDgyLjMgNDYuNmw0NC45IDc0LjdjLTE2LjEgMTcuNi0yOC42IDM4LjUtMzYuNiA2MS41Yy0xLjktMS44LTMuNS0zLjktNC45LTYuM0wyMzIgMjU2LjlWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjM1MkgxNTJ6TTQzMiAyMjRhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4em0wIDI0MGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6TTM2OCAzMjEuNlYzMjhjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNnYtNi40YzAtNS4zIDQuMy05LjYgOS42LTkuNmg0MC41YzcuNyAwIDEzLjkgNi4yIDEzLjkgMTMuOWMwIDUuMi0yLjkgOS45LTcuNCAxMi4zbC0zMiAxNi44Yy01LjMgMi44LTguNiA4LjItOC42IDE0LjJWMzg0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZ2LTUuMWwyMy41LTEyLjNjMTUuMS03LjkgMjQuNS0yMy42IDI0LjUtNDAuNmMwLTI1LjQtMjAuNi00NS45LTQ1LjktNDUuOUg0MDkuNmMtMjMgMC00MS42IDE4LjYtNDEuNiA0MS42elwiXVxufTtcbnZhciBmYUggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaCcsXG4gIGljb246IFszODQsIDUxMiwgWzEwNF0sIFwiNDhcIiwgXCJNMzIwIDI1NmwwIDE5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjI0VjY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjE5Mkw2NCAxOTIgNjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCA0Ni4zIDAgNjRWNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xOTIgMjU2IDB6XCJdXG59O1xudmFyIGZhVGFycCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YXJwJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTdiXCIsIFwiTTU3NiAxMjhjMC0zNS4zLTI4LjctNjQtNjQtNjRINjRDMjguNyA2NCAwIDkyLjcgMCAxMjhWMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM1MiAwIDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMySDU3NlYxMjh6TTQ0OCA0NDhMNTc2IDMyMEg0NDhsMCAxMjh6TTk2IDEyOGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhU2NyZXdkcml2ZXJXcmVuY2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2NyZXdkcml2ZXItd3JlbmNoJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJ0b29sc1wiXSwgXCJmN2Q5XCIsIFwiTTc4LjYgNUM2OS4xLTIuNCA1NS42LTEuNSA0NyA3TDcgNDdjLTguNSA4LjUtOS40IDIyLTIuMSAzMS42bDgwIDEwNGM0LjUgNS45IDExLjYgOS40IDE5IDkuNGg1NC4xbDEwOSAxMDljLTE0LjcgMjktMTAgNjUuNCAxNC4zIDg5LjZsMTEyIDExMmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGw2NC02NGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTEyLTExMmMtMjQuMi0yNC4yLTYwLjYtMjktODkuNi0xNC4zbC0xMDktMTA5VjEwNGMwLTcuNS0zLjUtMTQuNS05LjQtMTlMNzguNiA1ek0xOS45IDM5Ni4xQzcuMiA0MDguOCAwIDQyNi4xIDAgNDQ0LjFDMCA0ODEuNiAzMC40IDUxMiA2Ny45IDUxMmMxOCAwIDM1LjMtNy4yIDQ4LTE5LjlMMjMzLjcgMzc0LjNjLTcuOC0yMC45LTktNDMuNi0zLjYtNjUuMWwtNjEuNy02MS43TDE5LjkgMzk2LjF6TTUxMiAxNDRjMC0xMC41LTEuMS0yMC43LTMuMi0zMC41Yy0yLjQtMTEuMi0xNi4xLTE0LjEtMjQuMi02bC02My45IDYzLjljLTMgMy03LjEgNC43LTExLjMgNC43SDM1MmMtOC44IDAtMTYtNy4yLTE2LTE2VjEwMi42YzAtNC4yIDEuNy04LjMgNC43LTExLjNsNjMuOS02My45YzguMS04LjEgNS4yLTIxLjgtNi0yNC4yQzM4OC43IDEuMSAzNzguNSAwIDM2OCAwQzI4OC41IDAgMjI0IDY0LjUgMjI0IDE0NGwwIC44IDg1LjMgODUuM2MzNi05LjEgNzUuOCAuNSAxMDQgMjguN0w0MjkgMjc0LjVjNDktMjMgODMtNzIuOCA4My0xMzAuNXpNNTYgNDMyYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6XCJdXG59O1xudmFyIGZhVG9vbHMgPSBmYVNjcmV3ZHJpdmVyV3JlbmNoO1xudmFyIGZhQXJyb3dzVG9FeWUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3dzLXRvLWV5ZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRiZlwiLCBcIk0xNSAxNUMyNC40IDUuNyAzOS42IDUuNyA0OSAxNWw2MyA2M1Y0MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0djk2YzAgMTMuMy0xMC43IDI0LTI0IDI0SDQwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0SDc4LjFMMTUgNDlDNS43IDM5LjYgNS43IDI0LjQgMTUgMTV6TTEzMy41IDI0My45QzE1OC42IDE5My42IDIyMi43IDExMiAzMjAgMTEyczE2MS40IDgxLjYgMTg2LjUgMTMxLjljMy44IDcuNiAzLjggMTYuNSAwIDI0LjJDNDgxLjQgMzE4LjQgNDE3LjMgNDAwIDMyMCA0MDBzLTE2MS40LTgxLjYtMTg2LjUtMTMxLjljLTMuOC03LjYtMy44LTE2LjUgMC0yNC4yek0zMjAgMzIwYTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4ek01OTEgMTVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC02MyA2M0g2MDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRINTA0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNFY0MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0Vjc4LjFsNjMtNjN6TTE1IDQ5N2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsNjMtNjNINDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRoOTZjMTMuMyAwIDI0IDEwLjcgMjQgMjR2OTZjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWNDMzLjlMNDkgNDk3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHptNTc2IDBsLTYzLTYzVjQ3MmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYzNzZjMC0xMy4zIDEwLjctMjQgMjQtMjRoOTZjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRINTYxLjlsNjMgNjNjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMHpcIl1cbn07XG52YXIgZmFQbHVnQ2lyY2xlQm9sdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwbHVnLWNpcmNsZS1ib2x0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTViXCIsIFwiTTk2IDBDNzguMyAwIDY0IDE0LjMgNjQgMzJ2OTZoNjRWMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6TTI4OCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnY5Nmg2NFYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMzIgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMydjMyYzAgNzcuNCA1NSAxNDIgMTI4IDE1Ni44VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjQxMi44YzEyLjMtMi41IDI0LjEtNi40IDM1LjEtMTEuNWMtMi4xLTEwLjgtMy4xLTIxLjktMy4xLTMzLjNjMC04MC4zIDUzLjgtMTQ4IDEyNy4zLTE2OS4yYy41LTIuMiAuNy00LjUgLjctNi44YzAtMTcuNy0xNC4zLTMyLTMyLTMySDMyek00MzIgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptNDcuOS0yMjVjNC4zIDMuNyA1LjQgOS45IDIuNiAxNC45TDQ1Mi40IDM1Nkg0ODhjNS4yIDAgOS44IDMuMyAxMS40IDguMnMtLjEgMTAuMy00LjIgMTMuNGwtOTYgNzJjLTQuNSAzLjQtMTAuOCAzLjItMTUuMS0uNnMtNS40LTkuOS0yLjYtMTQuOUw0MTEuNiAzODBIMzc2Yy01LjIgMC05LjgtMy4zLTExLjQtOC4ycy4xLTEwLjMgNC4yLTEzLjRsOTYtNzJjNC41LTMuNCAxMC44LTMuMiAxNS4xIC42elwiXVxufTtcbnZhciBmYUhlYXJ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlYXJ0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MTUzLCAxMjgxNTQsIDEyODE1NSwgMTI4MTU2LCAxMjg0MjAsIDEyOTI5MywgMTI5Mjk0LCAxMjk1MDUsIDk4MjksIDEwMDg0LCA2MTU3OF0sIFwiZjAwNFwiLCBcIk00Ny42IDMwMC40TDIyOC4zIDQ2OS4xYzcuNSA3IDE3LjQgMTAuOSAyNy43IDEwLjlzMjAuMi0zLjkgMjcuNy0xMC45TDQ2NC40IDMwMC40YzMwLjQtMjguMyA0Ny42LTY4IDQ3LjYtMTA5LjV2LTUuOGMwLTY5LjktNTAuNS0xMjkuNS0xMTkuNC0xNDFDMzQ3IDM2LjUgMzAwLjYgNTEuNCAyNjggODRMMjU2IDk2IDI0NCA4NGMtMzIuNi0zMi42LTc5LTQ3LjUtMTI0LjYtMzkuOUM1MC41IDU1LjYgMCAxMTUuMiAwIDE4NS4xdjUuOGMwIDQxLjUgMTcuMiA4MS4yIDQ3LjYgMTA5LjV6XCJdXG59O1xudmFyIGZhTWFyc0FuZFZlbnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hcnMtYW5kLXZlbnVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTg5M10sIFwiZjIyNFwiLCBcIk0zMzcuOCAxNC44QzM0MS41IDUuOCAzNTAuMyAwIDM2MCAwSDQ3MmMxMy4zIDAgMjQgMTAuNyAyNCAyNFYxMzZjMCA5LjctNS44IDE4LjUtMTQuOCAyMi4ycy0xOS4zIDEuNy0yNi4yLTUuMmwtMzktMzktMjQuNyAyNC43QzQwNyAxNjMuMyA0MTYgMTkyLjYgNDE2IDIyNGMwIDgwLjItNTkgMTQ2LjYtMTM2IDE1OC4yVjQwOGgyNGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEgyODB2MzJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWNDU2SDIwOGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGgyNFYzODIuMkMxNTUgMzcwLjYgOTYgMzA0LjIgOTYgMjI0YzAtODguNCA3MS42LTE2MCAxNjAtMTYwYzM5LjYgMCA3NS45IDE0LjQgMTAzLjggMzguMkwzODIuMSA4MCAzNDMgNDFjLTYuOS02LjktOC45LTE3LjItNS4yLTI2LjJ6TTQ0OCA0OGwwIDBoMHYwek0zNTIgMjI0YTk2IDk2IDAgMSAwIC0xOTIgMCA5NiA5NiAwIDEgMCAxOTIgMHpcIl1cbn07XG52YXIgZmFIb3VzZVVzZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtdXNlcicsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiaG9tZS11c2VyXCJdLCBcImUxYjBcIiwgXCJNNTc1LjggMjU1LjVjMCAxOC0xNSAzMi4xLTMyIDMyLjFoLTMybC43IDE2MC4yYy4yIDM1LjUtMjguNSA2NC4zLTY0IDY0LjNIMTI4LjFjLTM1LjMgMC02NC0yOC43LTY0LTY0VjI4Ny42SDMyYy0xOCAwLTMyLTE0LTMyLTMyLjFjMC05IDMtMTcgMTAtMjRMMjY2LjQgOGM3LTcgMTUtOCAyMi04czE1IDIgMjEgN0w1NjQuOCAyMzEuNWM4IDcgMTIgMTUgMTEgMjR6TTM1MiAyMjRhNjQgNjQgMCAxIDAgLTEyOCAwIDY0IDY0IDAgMSAwIDEyOCAwem0tOTYgOTZjLTQ0LjIgMC04MCAzNS44LTgwIDgwYzAgOC44IDcuMiAxNiAxNiAxNkgzODRjOC44IDAgMTYtNy4yIDE2LTE2YzAtNDQuMi0zNS44LTgwLTgwLTgwSDI1NnpcIl1cbn07XG52YXIgZmFIb21lVXNlciA9IGZhSG91c2VVc2VyO1xudmFyIGZhRHVtcHN0ZXJGaXJlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2R1bXBzdGVyLWZpcmUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY3OTRcIiwgXCJNNDkuNyAzMmw5MC44IDBMMTE0LjkgMTYwbC05NCAwQzkuMyAxNjAgMCAxNTAuNyAwIDEzOS4xYzAtMi4xIC4zLTQuMSAuOS02LjFMMjYuOCA0OC45QzI5LjkgMzguOSAzOS4yIDMyIDQ5LjcgMzJ6TTI3MiAxNjBsLTEyNC41IDBMMTczLjEgMzIgMjcyIDMybDAgMTI4em0zMiAwbDAtMTI4IDk4LjkgMCAxNC40IDcyLjFjLTEuNyAxLjEtMy4zIDIuNC00LjggMy44Yy0xOC40IDE2LjQtMzUuNCAzNC01MC41IDUyLjFsLTU4IDB6bTIwOS45LTIzLjdjLTEuNyAxLjYtMy40IDMuMi01IDQuOEM0OTggMTI5LjYgNDg2LjcgMTE4LjYgNDc1IDEwOGMtNy42LTYuOS0xNy0xMC44LTI2LjYtMTEuOEw0MzUuNSAzMmw5MC44IDBjMTAuNSAwIDE5LjggNi45IDIyLjkgMTYuOUw1NzUuMSAxMzNjLjIgLjcgLjQgMS40IC41IDIuMWMtMTcuOC0xNS00NC4zLTE0LjYtNjEuNyAxLjJ6TTMyNS4yIDIxMC43QzMwNC4zIDI0NC41IDI4OCAyODIuOSAyODggMzE4LjFjMCA0OS4zIDE4LjYgOTUuMiA0OS42IDEyOS45TDEyOCA0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJMNDQgMjg4bC0xMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDQgMC00LTMyIDMwNS41IDBjLTQuNCA2LjItOC41IDEyLjUtMTIuMyAxOC43em0xODAuNi0zNC41TDUxOCAxNjIuNWM1LjQtNi4xIDEzLjMtOC44IDIwLjktOC45YzcuMiAwIDE0LjMgMi42IDE5LjkgNy44YzE5LjcgMTguMyAzOS44IDQzLjIgNTUgNzAuNkM2MjkgMjU5LjIgNjQwIDI5MC4yIDY0MCAzMjAuMkM2NDAgNDA4LjggNTY4LjcgNDgwIDQ4MCA0ODBjLTg5LjYgMC0xNjAtNzEuMy0xNjAtMTU5LjhjMC0zNy4zIDE2LTczLjQgMzYuOC0xMDQuNWMyMC45LTMxLjMgNDcuNS01OSA3MC45LTgwLjJjNS43LTUuMiAxMy4xLTcuNyAyMC4zLTcuNWMxNC4xIC4zIDIzLjggMTEuNCAzMi43IDIxLjZjMCAwIDAgMCAwIDBjMiAyLjMgNCA0LjYgNiA2LjdsMTkgMTkuOXpNNTQ0IDM2OC4yYzAtMzYuNS0zNy03My01NC44LTg4LjRjLTUuNC00LjctMTMuMS00LjctMTguNSAwQzQ1MyAyOTUuMSA0MTYgMzMxLjYgNDE2IDM2OC4yYzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR6XCJdXG59O1xudmFyIGZhSG91c2VDcmFjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1jcmFjaycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTNiMVwiLCBcIk01NDMuOCAyODcuNmMxNyAwIDMyLTE0IDMyLTMyLjFjMS05LTMtMTctMTEtMjRMMzA5LjUgN2MtNi01LTE0LTctMjEtN3MtMTUgMS0yMiA4TDEwIDIzMS41Yy03IDctMTAgMTUtMTAgMjRjMCAxOCAxNCAzMi4xIDMyIDMyLjFoMzJWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDIzMC40bC0zMS4zLTUyLjJjLTQuMS02LjgtMi42LTE1LjUgMy41LTIwLjVMMjg4IDM2OGwtNjAuMi04Mi44Yy0xMC45LTE1IDguMi0zMy41IDIyLjgtMjJsMTE3LjkgOTIuNmM4IDYuMyA4LjIgMTguNCAuNCAyNC45TDI4OCA0NDhsMzguNCA2NEg0NDguNWMzNS41IDAgNjQuMi0yOC44IDY0LTY0LjNsLS43LTE2MC4yaDMyelwiXVxufTtcbnZhciBmYU1hcnRpbmlHbGFzc0NpdHJ1cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXJ0aW5pLWdsYXNzLWNpdHJ1cycsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiY29ja3RhaWxcIl0sIFwiZjU2MVwiLCBcIk00MzIgMjQwYzUzIDAgOTYtNDMgOTYtOTZzLTQzLTk2LTk2LTk2Yy0zNS41IDAtNjYuNiAxOS4zLTgzLjIgNDhIMjk2LjJDMzE2IDQwLjEgMzY5LjMgMCA0MzIgMGM3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NHMtNjQuNSAxNDQtMTQ0IDE0NGMtMjcuNyAwLTUzLjUtNy44LTc1LjUtMjEuM2wzNS40LTM1LjRjMTIuMiA1LjYgMjUuOCA4LjcgNDAuMSA4Ljd6TTEuOCAxNDIuOEM1LjUgMTMzLjggMTQuMyAxMjggMjQgMTI4SDM5MmM5LjcgMCAxOC41IDUuOCAyMi4yIDE0LjhzMS43IDE5LjMtNS4yIDI2LjJsLTE3NyAxNzdWNDY0aDY0YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDIwOCAxMjBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRoNjRWMzQ1LjlMNyAxNjljLTYuOS02LjktOC45LTE3LjItNS4yLTI2LjJ6XCJdXG59O1xudmFyIGZhQ29ja3RhaWwgPSBmYU1hcnRpbmlHbGFzc0NpdHJ1cztcbnZhciBmYUZhY2VTdXJwcmlzZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLXN1cnByaXNlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTU4LCBcInN1cnByaXNlXCJdLCBcImY1YzJcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE3Ni40IDE3NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTEyOCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0yNTYgMjg4YTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4elwiXVxufTtcbnZhciBmYVN1cnByaXNlID0gZmFGYWNlU3VycHJpc2U7XG52YXIgZmFCb3R0bGVXYXRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3R0bGUtd2F0ZXInLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcImU0YzVcIiwgXCJNMTIwIDBsODAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQwTDk2IDY0bDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTMyIDE2Ny41YzAtMTkuNSAxMC0zNy42IDI2LjYtNDcuOWwxNS44LTkuOUM4OC43IDEwMC43IDEwNS4yIDk2IDEyMi4xIDk2bDc1LjggMGMxNi45IDAgMzMuNCA0LjcgNDcuNyAxMy43bDE1LjggOS45QzI3OCAxMjkuOSAyODggMTQ4IDI4OCAxNjcuNWMwIDE3LTcuNSAzMi4zLTE5LjQgNDIuNkMyODAuNiAyMjEuNyAyODggMjM4IDI4OCAyNTZjMCAxOS4xLTguNCAzNi4zLTIxLjcgNDhjMTMuMyAxMS43IDIxLjcgMjguOSAyMS43IDQ4cy04LjQgMzYuMy0yMS43IDQ4YzEzLjMgMTEuNyAyMS43IDI4LjkgMjEuNyA0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw5NiA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0YzAtMTkuMSA4LjQtMzYuMyAyMS43LTQ4QzQwLjQgMzg4LjMgMzIgMzcxLjEgMzIgMzUyczguNC0zNi4zIDIxLjctNDhDNDAuNCAyOTIuMyAzMiAyNzUuMSAzMiAyNTZjMC0xOCA3LjQtMzQuMyAxOS40LTQ1LjlDMzkuNSAxOTkuNyAzMiAxODQuNSAzMiAxNjcuNXpNOTYgMjQwYzAgOC44IDcuMiAxNiAxNiAxNmw5NiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC05NiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE2IDExMmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw5NiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC05NiAwelwiXVxufTtcbnZhciBmYUNpcmNsZVBhdXNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1wYXVzZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzYyMDkyLCBcInBhdXNlLWNpcmNsZVwiXSwgXCJmMjhiXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0yMjQgMTkyVjMyMGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnptMTI4IDBWMzIwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyelwiXVxufTtcbnZhciBmYVBhdXNlQ2lyY2xlID0gZmFDaXJjbGVQYXVzZTtcbnZhciBmYVRvaWxldFBhcGVyU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndG9pbGV0LXBhcGVyLXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlMDcyXCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdsLTEwOS43LTg2QzU2OS45IDM3NCA2MDggMjkxLjkgNjA4IDE5MkM2MDggODYgNTY1IDAgNTEyIDBzLTk2IDg2LTk2IDE5MmMwIDQ5LjEgOS4yIDkzLjkgMjQuNCAxMjcuOWwtNTktNDYuMmMxLjYtMjQuOCAyLjYtNTIgMi42LTgxLjZjMC02NS41IDEzLjItMTQyLjQgNjAuMi0xOTJIMTYwYy0yNC44IDAtNDcuNCAxOC44LTY0LjQgNDkuNkwzOC44IDUuMXpNMzY3LjMgMzg1LjRMNjYuNSAxNDguNEM2NC45IDE2Mi40IDY0IDE3NyA2NCAxOTJjMCAxMDEuNS0xMS43IDE3MC44LTIzIDIxMy45Yy01LjEgMTkuNC0xMC43IDM5LjktMjAuNSA1Ny43Yy01LjkgOS45LTYuMSAyMi4xLS40IDMyLjJTMzYuNSA1MTIgNDggNTEySDI4NS45YzIyLjMgMCA0NS40LTEyLjEgNTUuNC0zNi4xYzcuNC0xNy43IDE3LjUtNDcuMiAyNi05MC42ek01NDQgMTkyYzAgMzUuMy0xNC4zIDY0LTMyIDY0cy0zMi0yOC43LTMyLTY0czE0LjMtNjQgMzItNjRzMzIgMjguNyAzMiA2NHpcIl1cbn07XG52YXIgZmFBcHBsZVdob2xlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2FwcGxlLXdob2xlJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI3ODIyLCAxMjc4MjMsIFwiYXBwbGUtYWx0XCJdLCBcImY1ZDFcIiwgXCJNMjI0IDExMmMtOC44IDAtMTYtNy4yLTE2LTE2VjgwYzAtNDQuMiAzNS44LTgwIDgwLTgwaDE2YzguOCAwIDE2IDcuMiAxNiAxNlYzMmMwIDQ0LjItMzUuOCA4MC04MCA4MEgyMjR6TTAgMjg4YzAtNzYuMyAzNS43LTE2MCAxMTItMTYwYzI3LjMgMCA1OS43IDEwLjMgODIuNyAxOS4zYzE4LjggNy4zIDM5LjkgNy4zIDU4LjcgMGMyMi45LTguOSA1NS40LTE5LjMgODIuNy0xOS4zYzc2LjMgMCAxMTIgODMuNyAxMTIgMTYwYzAgMTI4LTgwIDIyNC0xNjAgMjI0Yy0xNi41IDAtMzguMS02LjYtNTEuNS0xMS4zYy04LjEtMi44LTE2LjktMi44LTI1IDBjLTEzLjQgNC43LTM1IDExLjMtNTEuNSAxMS4zQzgwIDUxMiAwIDQxNiAwIDI4OHpcIl1cbn07XG52YXIgZmFBcHBsZUFsdCA9IGZhQXBwbGVXaG9sZTtcbnZhciBmYUtpdGNoZW5TZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAna2l0Y2hlbi1zZXQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1MWFcIiwgXCJNMjQwIDE0NEE5NiA5NiAwIDEgMCA0OCAxNDRhOTYgOTYgMCAxIDAgMTkyIDB6bTQ0LjQgMzJDMjY5LjkgMjQwLjEgMjEyLjUgMjg4IDE0NCAyODhDNjQuNSAyODggMCAyMjMuNSAwIDE0NFM2NC41IDAgMTQ0IDBjNjguNSAwIDEyNS45IDQ3LjkgMTQwLjQgMTEyaDcxLjhjOC44LTkuOCAyMS42LTE2IDM1LjgtMTZINDk2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4SDM5MmMtMTQuMiAwLTI3LTYuMi0zNS44LTE2SDI4NC40ek0xNDQgODBhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTQwMCAyNDBjMTMuMyAwIDI0IDEwLjcgMjQgMjR2OGg5NmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEgyODBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRoOTZ2LThjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTI4OCA0NjRWMzUySDUxMlY0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhIMzM2Yy0yNi41IDAtNDgtMjEuNS00OC00OHpNNDggMzIwaDgwIDE2IDMyYzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4SDE2MGMwIDE3LjctMTQuMyAzMi0zMiAzMkg2NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMzM2YzAtOC44IDcuMi0xNiAxNi0xNnptMTI4IDY0YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDE2MHYzMmgxNnpNMjQgNDY0SDIwMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEgyNGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpcIl1cbn07XG52YXIgZmFSID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3InLFxuICBpY29uOiBbMzIwLCA1MTIsIFsxMTRdLCBcIjUyXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZWMjg4IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjMyMGg5NS4zTDI2MS44IDQ2Ni40YzEwLjEgMTQuNSAzMC4xIDE4IDQ0LjYgNy45czE4LTMwLjEgNy45LTQ0LjZMMjMwLjEgMzA5LjVDMjgyLjggMjg4LjEgMzIwIDIzNi40IDMyMCAxNzZjMC03OS41LTY0LjUtMTQ0LTE0NC0xNDRINjR6TTE3NiAyNTZINjRWOTZIMTc2YzQ0LjIgMCA4MCAzNS44IDgwIDgwcy0zNS44IDgwLTgwIDgwelwiXVxufTtcbnZhciBmYVRlbXBlcmF0dXJlUXVhcnRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW1wZXJhdHVyZS1xdWFydGVyJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJ0ZW1wZXJhdHVyZS0xXCIsIFwidGhlcm1vbWV0ZXItMVwiLCBcInRoZXJtb21ldGVyLXF1YXJ0ZXJcIl0sIFwiZjJjYVwiLCBcIk0xNjAgNjRjLTI2LjUgMC00OCAyMS41LTQ4IDQ4VjI3Ni41YzAgMTcuMy03LjEgMzEuOS0xNS4zIDQyLjVDODYuMiAzMzIuNiA4MCAzNDkuNSA4MCAzNjhjMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MGMwLTE4LjUtNi4yLTM1LjQtMTYuNy00OC45Yy04LjItMTAuNi0xNS4zLTI1LjItMTUuMy00Mi41VjExMmMwLTI2LjUtMjEuNS00OC00OC00OHpNNDggMTEyQzQ4IDUwLjIgOTguMSAwIDE2MCAwczExMiA1MC4xIDExMiAxMTJWMjc2LjVjMCAuMSAuMSAuMyAuMiAuNmMuMiAuNiAuOCAxLjYgMS43IDIuOGMxOC45IDI0LjQgMzAuMSA1NSAzMC4xIDg4LjFjMCA3OS41LTY0LjUgMTQ0LTE0NCAxNDRTMTYgNDQ3LjUgMTYgMzY4YzAtMzMuMiAxMS4yLTYzLjggMzAuMS04OC4xYy45LTEuMiAxLjUtMi4yIDEuNy0yLjhjLjEtLjMgLjItLjUgLjItLjZWMTEyek0yMDggMzY4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4YzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM1YyNzJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnY1MC43YzE4LjYgNi42IDMyIDI0LjQgMzIgNDUuM3pcIl1cbn07XG52YXIgZmFUZW1wZXJhdHVyZTEgPSBmYVRlbXBlcmF0dXJlUXVhcnRlcjtcbnZhciBmYVRoZXJtb21ldGVyMSA9IGZhVGVtcGVyYXR1cmVRdWFydGVyO1xudmFyIGZhVGhlcm1vbWV0ZXJRdWFydGVyID0gZmFUZW1wZXJhdHVyZVF1YXJ0ZXI7XG52YXIgZmFDdWJlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2N1YmUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYxYjJcIiwgXCJNMjM0LjUgNS43YzEzLjktNSAyOS4xLTUgNDMuMSAwbDE5MiA2OC42QzQ5NSA4My40IDUxMiAxMDcuNSA1MTIgMTM0LjZWMzc3LjRjMCAyNy0xNyA1MS4yLTQyLjUgNjAuM2wtMTkyIDY4LjZjLTEzLjkgNS0yOS4xIDUtNDMuMSAwbC0xOTItNjguNkMxNyA0MjguNiAwIDQwNC41IDAgMzc3LjRWMTM0LjZjMC0yNyAxNy01MS4yIDQyLjUtNjAuM2wxOTItNjguNnpNMjU2IDY2TDgyLjMgMTI4IDI1NiAxOTBsMTczLjctNjJMMjU2IDY2em0zMiAzNjguNmwxNjAtNTcuMXYtMTg4TDI4OCAyNDYuNnYxODh6XCJdXG59O1xudmFyIGZhQml0Y29pblNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYml0Y29pbi1zaWduJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJlMGI0XCIsIFwiTTQ4IDMyQzQ4IDE0LjMgNjIuMyAwIDgwIDBzMzIgMTQuMyAzMiAzMlY2NGgzMlYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyVjY0YzAgMS41LS4xIDMuMS0uMyA0LjVDMjU0LjEgODIuMiAyODggMTI1LjEgMjg4IDE3NmMwIDI0LjItNy43IDQ2LjYtMjAuNyA2NC45YzMxLjcgMTkuOCA1Mi43IDU1IDUyLjcgOTUuMWMwIDYxLjktNTAuMSAxMTItMTEyIDExMnYzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY0NDhIMTEydjMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjQ0OEg0MS43QzE4LjcgNDQ4IDAgNDI5LjMgMCA0MDYuM1YyODggMjY1LjcgMjI0IDEwMS42QzAgODAuOCAxNi44IDY0IDM3LjYgNjRINDhWMzJ6TTY0IDIyNEgxNzZjMjYuNSAwIDQ4LTIxLjUgNDgtNDhzLTIxLjUtNDgtNDgtNDhINjR2OTZ6bTExMiA2NEg2NHY5NkgyMDhjMjYuNSAwIDQ4LTIxLjUgNDgtNDhzLTIxLjUtNDgtNDgtNDhIMTc2elwiXVxufTtcbnZhciBmYVNoaWVsZERvZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaGllbGQtZG9nJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTczXCIsIFwiTTI2OS40IDIuOUMyNjUuMiAxIDI2MC43IDAgMjU2IDBzLTkuMiAxLTEzLjQgMi45TDU0LjMgODIuOGMtMjIgOS4zLTM4LjQgMzEtMzguMyA1Ny4yYy41IDk5LjIgNDEuMyAyODAuNyAyMTMuNiAzNjMuMmMxNi43IDggMzYuMSA4IDUyLjggMEM0NTQuNyA0MjAuNyA0OTUuNSAyMzkuMiA0OTYgMTQwYy4xLTI2LjItMTYuMy00Ny45LTM4LjMtNTcuMkwyNjkuNCAyLjl6TTE2MC45IDI4Ni4yYzQuOCAxLjIgOS45IDEuOCAxNS4xIDEuOGMzNS4zIDAgNjQtMjguNyA2NC02NFYxNjBoNDQuMmMxMi4xIDAgMjMuMiA2LjggMjguNiAxNy43TDMyMCAxOTJoNjRjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgNDQuMi0zNS44IDgwLTgwIDgwSDI3MnY1MC43YzAgNy4zLTUuOSAxMy4zLTEzLjMgMTMuM2MtMS44IDAtMy42LS40LTUuMi0xLjFsLTk4LjctNDIuM2MtNi42LTIuOC0xMC44LTkuMy0xMC44LTE2LjRjMC0yLjggLjYtNS41IDEuOS04bDE1LTMwek0xNjAgMTYwaDQwIDh2MzIgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMTc2YzAtOC44IDcuMi0xNiAxNi0xNnptMTI4IDQ4YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6XCJdXG59O1xudmFyIGZhU29sYXJQYW5lbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzb2xhci1wYW5lbCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjViYVwiLCBcIk0xMjIuMiAwQzkxLjcgMCA2NS41IDIxLjUgNTkuNSA1MS40TDguMyAzMDcuNEMuNCAzNDcgMzAuNiAzODQgNzEgMzg0SDI4OHY2NEgyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDE2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDM1MlYzODRINTY5YzQwLjQgMCA3MC43LTM2LjkgNjIuOC03Ni42bC01MS4yLTI1NkM1NzQuNSAyMS41IDU0OC4zIDAgNTE3LjggMEgxMjIuMnpNMjYwLjkgNjRIMzc5LjFsMTAuNCAxMDRoLTEzOUwyNjAuOSA2NHpNMjAyLjMgMTY4SDEwMS40TDEyMi4yIDY0aDkwLjRMMjAyLjMgMTY4ek05MS44IDIxNkgxOTcuNUwxODcuMSAzMjBINzFMOTEuOCAyMTZ6bTE1My45IDBIMzk0LjNsMTAuNCAxMDQtMTY5LjQgMCAxMC40LTEwNHptMTk2LjggMEg1NDguMkw1NjkgMzIwaC0xMTZMNDQyLjUgMjE2em05Ni00OEg0MzcuN0w0MjcuMyA2NGg5MC40bDMxLjQtNi4zTDUxNy44IDY0bDIwLjggMTA0elwiXVxufTtcbnZhciBmYUxvY2tPcGVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xvY2stb3BlbicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjNjMVwiLCBcIk0zNTIgMTQ0YzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODB2NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYxNDRDNTc2IDY0LjUgNTExLjUgMCA0MzIgMFMyODggNjQuNSAyODggMTQ0djQ4SDY0Yy0zNS4zIDAtNjQgMjguNy02NCA2NFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzg0YzM1LjMgMCA2NC0yOC43IDY0LTY0VjI1NmMwLTM1LjMtMjguNy02NC02NC02NEgzNTJWMTQ0elwiXVxufTtcbnZhciBmYUVsZXZhdG9yID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2VsZXZhdG9yJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMTZkXCIsIFwiTTEzMi43IDQuN2wtNjQgNjRjLTQuNiA0LjYtNS45IDExLjUtMy41IDE3LjRzOC4zIDkuOSAxNC44IDkuOUgyMDhjNi41IDAgMTIuMy0zLjkgMTQuOC05LjlzMS4xLTEyLjktMy41LTE3LjRsLTY0LTY0Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHpNNjQgMTI4Yy0zNS4zIDAtNjQgMjguNy02NCA2NFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRINDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0VjE5MmMwLTM1LjMtMjguNy02NC02NC02NEg2NHptOTYgOTZhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2ek04MCA0MDBjMC0yNi41IDIxLjUtNDggNDgtNDhoNjRjMjYuNSAwIDQ4IDIxLjUgNDggNDh2MTZjMCAxNy43LTE0LjMgMzItMzIgMzJIMTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMlY0MDB6bTE5MiAwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4aDY0YzI2LjUgMCA0OCAyMS41IDQ4IDQ4djE2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDMwNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDAwem0zMi0xMjhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNMzU2LjcgOTEuM2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGw2NC02NGM0LjYtNC42IDUuOS0xMS41IDMuNS0xNy40UzQzOC41IDAgNDMyIDBIMzA0Yy02LjUgMC0xMi4zIDMuOS0xNC44IDkuOXMtMS4xIDEyLjkgMy41IDE3LjRsNjQgNjR6XCJdXG59O1xudmFyIGZhTW9uZXlCaWxsVHJhbnNmZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9uZXktYmlsbC10cmFuc2ZlcicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUyOFwiLCBcIk01MzUgNDFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw2NCA2NGM0LjUgNC41IDcgMTAuNiA3IDE3cy0yLjUgMTIuNS03IDE3bC02NCA2NGMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwyMy0yM0wzODQgMTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDE3NC4xIDBMNTM1IDQxek0xMDUgMzc3bC0yMyAyM0wyNTYgNDAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDgxLjkgNDQ4bDIzIDIzYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBMNyA0NDFjLTQuNS00LjUtNy0xMC42LTctMTdzMi41LTEyLjUgNy0xN2w2NC02NGM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjl6TTk2IDY0SDMzNy45Yy0zLjcgNy4yLTUuOSAxNS4zLTUuOSAyNGMwIDI4LjcgMjMuMyA1MiA1MiA1MmwxMTcuNCAwYy00IDE3IC42IDM1LjUgMTMuOCA0OC44YzIwLjMgMjAuMyA1My4yIDIwLjMgNzMuNSAwTDYwOCAxNjkuNVYzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRIMzAyLjFjMy43LTcuMiA1LjktMTUuMyA1LjktMjRjMC0yOC43LTIzLjMtNTItNTItNTJsLTExNy40IDBjNC0xNy0uNi0zNS41LTEzLjgtNDguOGMtMjAuMy0yMC4zLTUzLjItMjAuMy03My41IDBMMzIgMzQyLjVWMTI4YzAtMzUuMyAyOC43LTY0IDY0LTY0em02NCA2NEg5NnY2NGMzNS4zIDAgNjQtMjguNyA2NC02NHpNNTQ0IDMyMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRoNjRWMzIwek0zMjAgMzUyYTk2IDk2IDAgMSAwIDAtMTkyIDk2IDk2IDAgMSAwIDAgMTkyelwiXVxufTtcbnZhciBmYU1vbmV5QmlsbFRyZW5kVXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9uZXktYmlsbC10cmVuZC11cCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTUyOVwiLCBcIk00NzAuNyA5LjRjMyAzLjEgNS4zIDYuNiA2LjkgMTAuM3MyLjQgNy44IDIuNCAxMi4ybDAgLjF2MCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYxMDkuM0wzMTAuNiAyMTQuNmMtMTEuOCAxMS44LTMwLjggMTIuNi00My41IDEuN0wxNzYgMTM4LjEgODQuOCAyMTYuM2MtMTMuNCAxMS41LTMzLjYgOS45LTQ1LjEtMy41cy05LjktMzMuNiAzLjUtNDUuMWwxMTItOTZjMTItMTAuMyAyOS43LTEwLjMgNDEuNyAwbDg5LjUgNzYuN0wzNzAuNyA2NEgzNTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJoOTYgMGM4LjggMCAxNi44IDMuNiAyMi42IDkuM2wuMSAuMXpNMCAzMDRjMC0yNi41IDIxLjUtNDggNDgtNDhINDY0YzI2LjUgMCA0OCAyMS41IDQ4IDQ4VjQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMzA0ek00OCA0MTZ2NDhIOTZjMC0yNi41LTIxLjUtNDgtNDgtNDh6TTk2IDMwNEg0OHY0OGMyNi41IDAgNDgtMjEuNSA0OC00OHpNNDY0IDQxNmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhoNDhWNDE2ek00MTYgMzA0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4VjMwNEg0MTZ6bS05NiA4MGE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6XCJdXG59O1xudmFyIGZhSG91c2VGbG9vZFdhdGVyQ2lyY2xlQXJyb3dSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1mbG9vZC13YXRlci1jaXJjbGUtYXJyb3ctcmlnaHQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MGZcIiwgXCJNMjg4IDE0NEExNDQgMTQ0IDAgMSAwIDAgMTQ0YTE0NCAxNDQgMCAxIDAgMjg4IDB6TTE0MC43IDc2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBsNTYgNTZjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZsLTU2IDU2Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42TDE2OS40IDE2MEg4MGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmg4OS40TDE0MC43IDk5LjNjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42ek0zMjAgMTQ0YzAgNTcuMy0yNy40IDEwOC4yLTY5LjggMTQwLjNjMTEuOC0zLjYgMjMtOS40IDMzLTE2LjJjMjIuMS0xNS41IDUxLjYtMTUuNSA3My43IDBjMTguNCAxMi43IDM5LjYgMjAuMyA1OS4yIDIwLjNjMTkgMCA0MS4yLTcuOSA1OS4yLTIwLjNjMjMuOC0xNi43IDU1LjgtMTUuNCA3OC4xIDMuNGMyLjEgMS43IDQuMiAzLjMgNi41IDQuOWwtLjMtODQuNEg1NzZjMTMuOSAwIDI2LjEtOC45IDMwLjQtMjIuMXMtLjQtMjcuNi0xMS42LTM1LjhsLTE3Ni0xMjhDNDA3LjYtMiAzOTIuNC0yIDM4MS4yIDYuMUwzMDEgNjQuNGMxMi4xIDIzLjkgMTkgNTAuOSAxOSA3OS42em0xOC41IDE2NS45Yy0xMS4xLTcuOS0yNS45LTcuOS0zNyAwQzI3OSAzMjUuNCAyNTEuNSAzMzYgMjI0IDMzNmMtMjYuOSAwLTU1LjMtMTAuOC03Ny40LTI2LjFsMCAwYy0xMS45LTguNS0yOC4xLTcuOC0zOS4yIDEuN2MtMTQuNCAxMS45LTMyLjUgMjEtNTAuNiAyNS4yYy0xNy4yIDQtMjcuOSAyMS4yLTIzLjkgMzguNHMyMS4yIDI3LjkgMzguNCAyMy45YzI0LjUtNS43IDQ0LjktMTYuNSA1OC4yLTI1QzE1OC41IDM4OS43IDE5MSA0MDAgMjI0IDQwMGMzMS45IDAgNjAuNi05LjkgODAuNC0xOC45YzUuOC0yLjcgMTEuMS01LjMgMTUuNi03LjdjNC41IDIuNCA5LjcgNS4xIDE1LjYgNy43YzE5LjggOSA0OC42IDE4LjkgODAuNCAxOC45YzMzIDAgNjUuNS0xMC4zIDk0LjUtMjUuOGMxMy40IDguNCAzMy43IDE5LjMgNTguMiAyNWMxNy4yIDQgMzQuNC02LjcgMzguNC0yMy45cy02LjctMzQuNC0yMy45LTM4LjRjLTE4LjEtNC4yLTM2LjItMTMuMy01MC42LTI1LjJjLTExLjEtOS41LTI3LjMtMTAuMS0zOS4yLTEuN2wwIDBDNDcxLjQgMzI1LjIgNDQyLjkgMzM2IDQxNiAzMzZjLTI3LjUgMC01NS0xMC42LTc3LjUtMjYuMXptMCAxMTJjLTExLjEtNy45LTI1LjktNy45LTM3IDBDMjc5IDQzNy40IDI1MS41IDQ0OCAyMjQgNDQ4Yy0yNi45IDAtNTUuMy0xMC44LTc3LjQtMjYuMWwwIDBjLTExLjktOC41LTI4LjEtNy44LTM5LjIgMS43Yy0xNC40IDExLjktMzIuNSAyMS01MC42IDI1LjJjLTE3LjIgNC0yNy45IDIxLjItMjMuOSAzOC40czIxLjIgMjcuOSAzOC40IDIzLjljMjQuNS01LjcgNDQuOS0xNi41IDU4LjItMjVDMTU4LjUgNTAxLjcgMTkxIDUxMiAyMjQgNTEyYzMxLjkgMCA2MC42LTkuOSA4MC40LTE4LjljNS44LTIuNyAxMS4xLTUuMyAxNS42LTcuN2M0LjUgMi40IDkuNyA1LjEgMTUuNiA3LjdjMTkuOCA5IDQ4LjYgMTguOSA4MC40IDE4LjljMzMgMCA2NS41LTEwLjMgOTQuNS0yNS44YzEzLjQgOC40IDMzLjcgMTkuMyA1OC4yIDI1YzE3LjIgNCAzNC40LTYuNyAzOC40LTIzLjlzLTYuNy0zNC40LTIzLjktMzguNGMtMTguMS00LjItMzYuMi0xMy4zLTUwLjYtMjUuMmMtMTEuMS05LjQtMjcuMy0xMC4xLTM5LjItMS43bDAgMEM0NzEuNCA0MzcuMiA0NDIuOSA0NDggNDE2IDQ0OGMtMjcuNSAwLTU1LTEwLjYtNzcuNS0yNi4xelwiXVxufTtcbnZhciBmYVNxdWFyZVBvbGxIb3Jpem9udGFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1wb2xsLWhvcml6b250YWwnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcInBvbGwtaFwiXSwgXCJmNjgyXCIsIFwiTTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwek0yNTYgMTYwYzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6bTY0IDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xOTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxOTIgMHpNMTkyIDM1MmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyelwiXVxufTtcbnZhciBmYVBvbGxIID0gZmFTcXVhcmVQb2xsSG9yaXpvbnRhbDtcbnZhciBmYUNpcmNsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgzMDgsIDEyODMwOSwgMTI4OTkyLCAxMjg5OTMsIDEyODk5NCwgMTI4OTk1LCAxMjg5OTYsIDk2NzksIDk4OTgsIDk4OTksIDExMDQ0LCA2MTcwOCwgNjE5MTVdLCBcImYxMTFcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6XCJdXG59O1xudmFyIGZhQmFja3dhcmRGYXN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhY2t3YXJkLWZhc3QnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5MTk4LCBcImZhc3QtYmFja3dhcmRcIl0sIFwiZjA0OVwiLCBcIk00OTMuNiA0NDVjLTExLjIgNS4zLTI0LjUgMy42LTM0LjEtNC40TDI4OCAyOTcuN1Y0MTZjMCAxMi40LTcuMiAyMy43LTE4LjQgMjlzLTI0LjUgMy42LTM0LjEtNC40TDY0IDI5Ny43VjQxNmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY5NkMwIDc4LjMgMTQuMyA2NCAzMiA2NHMzMiAxNC4zIDMyIDMyVjIxNC4zTDIzNS41IDcxLjRjOS41LTcuOSAyMi44LTkuNyAzNC4xLTQuNFMyODggODMuNiAyODggOTZWMjE0LjNMNDU5LjUgNzEuNGM5LjUtNy45IDIyLjgtOS43IDM0LjEtNC40UzUxMiA4My42IDUxMiA5NlY0MTZjMCAxMi40LTcuMiAyMy43LTE4LjQgMjl6XCJdXG59O1xudmFyIGZhRmFzdEJhY2t3YXJkID0gZmFCYWNrd2FyZEZhc3Q7XG52YXIgZmFSZWN5Y2xlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JlY3ljbGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5ODQyLCA5ODUwLCA5ODUxXSwgXCJmMWI4XCIsIFwiTTE3NC43IDQ1LjFDMTkyLjIgMTcgMjIzIDAgMjU2IDBzNjMuOCAxNyA4MS4zIDQ1LjFsMzguNiA2MS43IDI3LTE1LjZjOC40LTQuOSAxOC45LTQuMiAyNi42IDEuN3MxMS4xIDE1LjkgOC42IDI1LjNsLTIzLjQgODcuNGMtMy40IDEyLjgtMTYuNiAyMC40LTI5LjQgMTdsLTg3LjQtMjMuNGMtOS40LTIuNS0xNi4zLTEwLjQtMTcuNi0yMHMzLjQtMTkuMSAxMS44LTIzLjlsMjguNC0xNi40TDI4MyA3OWMtNS44LTkuMy0xNi0xNS0yNy0xNXMtMjEuMiA1LjctMjcgMTVsLTE3LjUgMjhjLTkuMiAxNC44LTI4LjYgMTkuNS00My42IDEwLjVjLTE1LjMtOS4yLTIwLjItMjkuMi0xMC43LTQ0LjRsMTcuNS0yOHpNNDI5LjUgMjUxLjljMTUtOSAzNC40LTQuMyA0My42IDEwLjVsMjQuNCAzOS4xYzkuNCAxNS4xIDE0LjQgMzIuNCAxNC42IDUwLjJjLjMgNTMuMS00Mi43IDk2LjQtOTUuOCA5Ni40TDMyMCA0NDh2MzJjMCA5LjctNS44IDE4LjUtMTQuOCAyMi4ycy0xOS4zIDEuNy0yNi4yLTUuMmwtNjQtNjRjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDY0LTY0YzYuOS02LjkgMTcuMi04LjkgMjYuMi01LjJzMTQuOCAxMi41IDE0LjggMjIuMnYzMmw5Ni4yIDBjMTcuNiAwIDMxLjktMTQuNCAzMS44LTMyYzAtNS45LTEuNy0xMS43LTQuOC0xNi43bC0yNC40LTM5LjFjLTkuNS0xNS4yLTQuNy0zNS4yIDEwLjctNDQuNHptLTM2NC42LTMxTDM2IDIwNC4yYy04LjQtNC45LTEzLjEtMTQuMy0xMS44LTIzLjlzOC4yLTE3LjUgMTcuNi0yMGw4Ny40LTIzLjRjMTIuOC0zLjQgMjYgNC4yIDI5LjQgMTdMMTgyIDI0MS4yYzIuNSA5LjQtLjkgMTkuMy04LjYgMjUuM3MtMTguMiA2LjYtMjYuNiAxLjdsLTI2LjUtMTUuM0w2OC44IDMzNS4zYy0zLjEgNS00LjggMTAuOC00LjggMTYuN2MtLjEgMTcuNiAxNC4yIDMyIDMxLjggMzJsMzIuMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMi4yIDBDNDIuNyA0NDgtLjMgNDA0LjggMCAzNTEuNmMuMS0xNy44IDUuMS0zNS4xIDE0LjYtNTAuMmw1MC4zLTgwLjV6XCJdXG59O1xudmFyIGZhVXNlckFzdHJvbmF1dCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLWFzdHJvbmF1dCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjRmYlwiLCBcIk0zNzAuNyA5Ni4xQzM0Ni4xIDM5LjUgMjg5LjcgMCAyMjQgMFMxMDEuOSAzOS41IDc3LjMgOTYuMUM2MC45IDk3LjUgNDggMTExLjIgNDggMTI4djY0YzAgMTYuOCAxMi45IDMwLjUgMjkuMyAzMS45QzEwMS45IDI4MC41IDE1OC4zIDMyMCAyMjQgMzIwczEyMi4xLTM5LjUgMTQ2LjctOTYuMWMxNi40LTEuNCAyOS4zLTE1LjEgMjkuMy0zMS45VjEyOGMwLTE2LjgtMTIuOS0zMC41LTI5LjMtMzEuOXpNMzM2IDE0NHYxNmMwIDUzLTQzIDk2LTk2IDk2SDIwOGMtNTMgMC05Ni00My05Ni05NlYxNDRjMC0yNi41IDIxLjUtNDggNDgtNDhIMjg4YzI2LjUgMCA0OCAyMS41IDQ4IDQ4ek0xODkuMyAxNjIuN2wtNi0yMS4yYy0uOS0zLjMtMy45LTUuNS03LjMtNS41cy02LjQgMi4yLTcuMyA1LjVsLTYgMjEuMi0yMS4yIDZjLTMuMyAuOS01LjUgMy45LTUuNSA3LjNzMi4yIDYuNCA1LjUgNy4zbDIxLjIgNiA2IDIxLjJjLjkgMy4zIDMuOSA1LjUgNy4zIDUuNXM2LjQtMi4yIDcuMy01LjVsNi0yMS4yIDIxLjItNmMzLjMtLjkgNS41LTMuOSA1LjUtNy4zcy0yLjItNi40LTUuNS03LjNsLTIxLjItNnpNMTEyLjcgMzE2LjVDNDYuNyAzNDIuNiAwIDQwNyAwIDQ4Mi4zQzAgNDk4LjcgMTMuMyA1MTIgMjkuNyA1MTJIMTI4VjQ0OGMwLTE3LjcgMTQuMy0zMiAzMi0zMkgyODhjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2NjRsOTguMyAwYzE2LjQgMCAyOS43LTEzLjMgMjkuNy0yOS43YzAtNzUuMy00Ni43LTEzOS43LTExMi43LTE2NS44QzMwMy45IDMzOC44IDI2NS41IDM1MiAyMjQgMzUycy03OS45LTEzLjItMTExLjMtMzUuNXpNMTc2IDQ0OGMtOC44IDAtMTYgNy4yLTE2IDE2djQ4aDMyVjQ2NGMwLTguOC03LjItMTYtMTYtMTZ6bTk2IDMyYTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnpcIl1cbn07XG52YXIgZmFQbGFuZVNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsYW5lLXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlMDY5XCIsIFwiTTQ0MC42IDMyMGg3My44YzM0LjIgMCA5My43LTI4IDkzLjctNjRjMC0zNS01OS41LTY0LTkzLjctNjRsLTExNi42IDBMMjk3LjIgMTYuMUMyOTEuNSA2LjIgMjgwLjkgMCAyNjkuNCAwSDIxMy4yYy0xMC42IDAtMTguMyAxMC4yLTE1LjQgMjAuNGw0MC4zIDE0MC45TDM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdMNDQwLjYgMzIwem0tNzguMSA2MS42TDQxLjUgMTI4LjdDMzYgMTMwLjYgMzIgMTM1LjkgMzIgMTQyYzAgMS4zIC4yIDIuNiAuNSAzLjlMNjQgMjU2IDMyLjUgMzY2LjFjLS40IDEuMy0uNSAyLjYtLjUgMy45YzAgNy44IDYuMyAxNCAxNCAxNEg4OGM1IDAgOS44LTIuNCAxMi44LTYuNEwxNDQgMzIwSDI0Ni45bC00OSAxNzEuNmMtMi45IDEwLjIgNC44IDIwLjQgMTUuNCAyMC40bDU2LjIgMGMxMS41IDAgMjIuMS02LjIgMjcuOC0xNi4xbDY1LjMtMTE0LjN6XCJdXG59O1xudmFyIGZhVHJhZGVtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyYWRlbWFyaycsXG4gIGljb246IFs2NDAsIDUxMiwgWzg0ODJdLCBcImYyNWNcIiwgXCJNMzQ1LjYgMTA4LjhjLTguMy0xMS0yMi43LTE1LjUtMzUuNy0xMS4yUzI4OCAxMTQuMiAyODggMTI4VjM4NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjIyNGw4Ni40IDExNS4yYzYgOC4xIDE1LjUgMTIuOCAyNS42IDEyLjhzMTkuNi00LjcgMjUuNi0xMi44TDU3NiAyMjRWMzg0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMTI4YzAtMTMuOC04LjgtMjYtMjEuOS0zMC40cy0yNy41IC4xLTM1LjcgMTEuMkw0NjQgMjY2LjcgMzQ1LjYgMTA4Ljh6TTAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMySDk2VjM4NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjE2MGg2NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMkMxNC4zIDk2IDAgMTEwLjMgMCAxMjh6XCJdXG59O1xudmFyIGZhQmFza2V0YmFsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYXNrZXRiYWxsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3OTM2LCBcImJhc2tldGJhbGwtYmFsbFwiXSwgXCJmNDM0XCIsIFwiTTg2LjYgNjRsODUuMiA4NS4yQzE5NC41IDEyMS43IDIwOCA4Ni40IDIwOCA0OGMwLTE0LjctMi0yOC45LTUuNy00Mi40QzE1OC42IDE1IDExOSAzNS41IDg2LjYgNjR6TTY0IDg2LjZDMzUuNSAxMTkgMTUgMTU4LjYgNS42IDIwMi4zQzE5LjEgMjA2IDMzLjMgMjA4IDQ4IDIwOGMzOC40IDAgNzMuNy0xMy41IDEwMS4zLTM2LjFMNjQgODYuNnpNMjU2IDBjLTcuMyAwLTE0LjYgLjMtMjEuOCAuOUMyMzggMTYgMjQwIDMxLjggMjQwIDQ4YzAgNDcuMy0xNy4xIDkwLjUtNDUuNCAxMjRMMjU2IDIzMy40IDQyNS40IDY0QzM4MC4yIDI0LjIgMzIwLjkgMCAyNTYgMHpNNDggMjQwYy0xNi4yIDAtMzItMi00Ny4xLTUuOEMuMyAyNDEuNCAwIDI0OC43IDAgMjU2YzAgNjQuOSAyNC4yIDEyNC4yIDY0IDE2OS40TDIzMy40IDI1NiAxNzIgMTk0LjZDMTM4LjUgMjIyLjkgOTUuMyAyNDAgNDggMjQwem00NjMuMSAzNy44Yy42LTcuMiAuOS0xNC41IC45LTIxLjhjMC02NC45LTI0LjItMTI0LjItNjQtMTY5LjRMMjc4LjYgMjU2IDM0MCAzMTcuNGMzMy40LTI4LjMgNzYuNy00NS40IDEyNC00NS40YzE2LjIgMCAzMiAyIDQ3LjEgNS44em0tNC43IDMxLjlDNDkyLjkgMzA2IDQ3OC43IDMwNCA0NjQgMzA0Yy0zOC40IDAtNzMuNyAxMy41LTEwMS4zIDM2LjFMNDQ4IDQyNS40YzI4LjUtMzIuMyA0OS4xLTcxLjkgNTguNC0xMTUuN3pNMzQwLjEgMzYyLjdDMzE3LjUgMzkwLjMgMzA0IDQyNS42IDMwNCA0NjRjMCAxNC43IDIgMjguOSA1LjcgNDIuNEMzNTMuNCA0OTcgMzkzIDQ3Ni41IDQyNS40IDQ0OGwtODUuMi04NS4yek0zMTcuNCAzNDBMMjU2IDI3OC42IDg2LjYgNDQ4YzQ1LjEgMzkuOCAxMDQuNCA2NCAxNjkuNCA2NGM3LjMgMCAxNC42LS4zIDIxLjgtLjlDMjc0IDQ5NiAyNzIgNDgwLjIgMjcyIDQ2NGMwLTQ3LjMgMTcuMS05MC41IDQ1LjQtMTI0elwiXVxufTtcbnZhciBmYUJhc2tldGJhbGxCYWxsID0gZmFCYXNrZXRiYWxsO1xudmFyIGZhU2F0ZWxsaXRlRGlzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzYXRlbGxpdGUtZGlzaCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODIyNV0sIFwiZjdjMFwiLCBcIk0xOTIgMzJjMC0xNy43IDE0LjMtMzIgMzItMzJDMzgzLjEgMCA1MTIgMTI4LjkgNTEyIDI4OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMkM0NDggMTY0LjMgMzQ3LjcgNjQgMjI0IDY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNjAuNiAyMjAuNkwxNjQuNyAzMjQuN2wyOC40LTI4LjRjLS43LTIuNi0xLjEtNS40LTEuMS04LjNjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmMtMi45IDAtNS42LS40LTguMy0xLjFsLTI4LjQgMjguNEwyOTEuNCA0NTEuNGMxNC41IDE0LjUgMTEuOCAzOC44LTcuMyA0Ni4zQzI2MC41IDUwNi45IDIzNC45IDUxMiAyMDggNTEyQzkzLjEgNTEyIDAgNDE4LjkgMCAzMDRjMC0yNi45IDUuMS01Mi41IDE0LjQtNzYuMWM3LjUtMTkgMzEuOC0yMS44IDQ2LjMtNy4zek0yMjQgOTZjMTA2IDAgMTkyIDg2IDE5MiAxOTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJjMC03MC43LTU3LjMtMTI4LTEyOC0xMjhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6XCJdXG59O1xudmFyIGZhQ2lyY2xlVXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLXVwJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjE0NjcsIFwiYXJyb3ctYWx0LWNpcmNsZS11cFwiXSwgXCJmMzViXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xMzUuMSAyMTcuNGwxMDcuMS05OS45YzMuOC0zLjUgOC43LTUuNSAxMy44LTUuNXMxMC4xIDIgMTMuOCA1LjVsMTA3LjEgOTkuOWM0LjUgNC4yIDcuMSAxMC4xIDcuMSAxNi4zYzAgMTIuMy0xMCAyMi4zLTIyLjMgMjIuM0gzMDR2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJIMjQwYy0xNy43IDAtMzItMTQuMy0zMi0zMlYyNTZIMTUwLjNDMTM4IDI1NiAxMjggMjQ2IDEyOCAyMzMuN2MwLTYuMiAyLjYtMTIuMSA3LjEtMTYuM3pcIl1cbn07XG52YXIgZmFBcnJvd0FsdENpcmNsZVVwID0gZmFDaXJjbGVVcDtcbnZhciBmYU1vYmlsZVNjcmVlbkJ1dHRvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb2JpbGUtc2NyZWVuLWJ1dHRvbicsXG4gIGljb246IFszODQsIDUxMiwgW1wibW9iaWxlLWFsdFwiXSwgXCJmM2NkXCIsIFwiTTE2IDY0QzE2IDI4LjcgNDQuNyAwIDgwIDBIMzA0YzM1LjMgMCA2NCAyOC43IDY0IDY0VjQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEg4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWNjR6TTIyNCA0NDhhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzA0IDY0SDgwVjM4NEgzMDRWNjR6XCJdXG59O1xudmFyIGZhTW9iaWxlQWx0ID0gZmFNb2JpbGVTY3JlZW5CdXR0b247XG52YXIgZmFWb2x1bWVIaWdoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZvbHVtZS1oaWdoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4MjY2LCBcInZvbHVtZS11cFwiXSwgXCJmMDI4XCIsIFwiTTUzMy42IDMyLjVDNTk4LjUgODUuMiA2NDAgMTY1LjggNjQwIDI1NnMtNDEuNSAxNzAuNy0xMDYuNCAyMjMuNWMtMTAuMyA4LjQtMjUuNCA2LjgtMzMuOC0zLjVzLTYuOC0yNS40IDMuNS0zMy44QzU1Ny41IDM5OC4yIDU5MiAzMzEuMiA1OTIgMjU2cy0zNC41LTE0Mi4yLTg4LjctMTg2LjNjLTEwLjMtOC40LTExLjgtMjMuNS0zLjUtMzMuOHMyMy41LTExLjggMzMuOC0zLjV6TTQ3My4xIDEwN2M0My4yIDM1LjIgNzAuOSA4OC45IDcwLjkgMTQ5cy0yNy43IDExMy44LTcwLjkgMTQ5Yy0xMC4zIDguNC0yNS40IDYuOC0zMy44LTMuNXMtNi44LTI1LjQgMy41LTMzLjhDNDc1LjMgMzQxLjMgNDk2IDMwMS4xIDQ5NiAyNTZzLTIwLjctODUuMy01My4yLTExMS44Yy0xMC4zLTguNC0xMS44LTIzLjUtMy41LTMzLjhzMjMuNS0xMS44IDMzLjgtMy41em0tNjAuNSA3NC41QzQzNC4xIDE5OS4xIDQ0OCAyMjUuOSA0NDggMjU2cy0xMy45IDU2LjktMzUuNCA3NC41Yy0xMC4zIDguNC0yNS40IDYuOC0zMy44LTMuNXMtNi44LTI1LjQgMy41LTMzLjhDMzkzLjEgMjg0LjQgNDAwIDI3MSA0MDAgMjU2cy02LjktMjguNC0xNy43LTM3LjNjLTEwLjMtOC40LTExLjgtMjMuNS0zLjUtMzMuOHMyMy41LTExLjggMzMuOC0zLjV6TTMwMS4xIDM0LjhDMzEyLjYgNDAgMzIwIDUxLjQgMzIwIDY0VjQ0OGMwIDEyLjYtNy40IDI0LTE4LjkgMjkuMnMtMjUgMy4xLTM0LjQtNS4zTDEzMS44IDM1Mkg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMjI0YzAtMzUuMyAyOC43LTY0IDY0LTY0aDY3LjhMMjY2LjcgNDAuMWM5LjQtOC40IDIyLjktMTAuNCAzNC40LTUuM3pcIl1cbn07XG52YXIgZmFWb2x1bWVVcCA9IGZhVm9sdW1lSGlnaDtcbnZhciBmYVVzZXJzUmF5cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2Vycy1yYXlzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTkzXCIsIFwiTTQxIDdDMzEuNi0yLjMgMTYuNC0yLjMgNyA3Uy0yLjMgMzEuNiA3IDQxbDcyIDcyYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw0MSA3ek01OTkgN0w1MjcgNzljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw3Mi03MmM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwek03IDUwNWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMGw3Mi03MmM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwTDcgNDcxYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXptNTkyIDBjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC03Mi03MmMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw3MiA3MnpNMzIwIDI1NmE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHpNMjEyLjEgMzM2Yy0yLjcgNy41LTQuMSAxNS42LTQuMSAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNEg0MDhjMTMuMyAwIDI0LTEwLjcgMjQtMjRjMC04LjQtMS40LTE2LjUtNC4xLTI0Yy0uNS0xLjQtMS0yLjctMS42LTRjLTkuNC0yMi4zLTI5LjgtMzguOS01NC4zLTQzYy0zLjktLjctNy45LTEtMTItMUgyODBjLTQuMSAwLTguMSAuMy0xMiAxYy0uOCAuMS0xLjcgLjMtMi41IC41Yy0yNC45IDUuMS00NS4xIDIzLTUzLjQgNDYuNXpNMTc1LjggMjI0YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptLTI2LjUgMzJDMTE5LjkgMjU2IDk2IDI3OS45IDk2IDMwOS4zYzAgMTQuNyAxMS45IDI2LjcgMjYuNyAyNi43aDU2LjFjOC0zNC4xIDMyLjgtNjEuNyA2NS4yLTczLjZjLTcuNS00LjEtMTYuMi02LjQtMjUuMy02LjRIMTQ5LjN6bTM2OCA4MGMxNC43IDAgMjYuNy0xMS45IDI2LjctMjYuN2MwLTI5LjUtMjMuOS01My4zLTUzLjMtNTMuM0g0MjEuM2MtOS4yIDAtMTcuOCAyLjMtMjUuMyA2LjRjMzIuNCAxMS45IDU3LjIgMzkuNSA2NS4yIDczLjZoNTYuMXpNNDY0IDIyNGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6XCJdXG59O1xudmFyIGZhV2FsbGV0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dhbGxldCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjU1NVwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEg0NDhjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTkyYzAtMzUuMy0yOC43LTY0LTY0LTY0SDgwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2SDQ0OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg2NHpNNDE2IDI3MmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhQ2xpcGJvYXJkQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xpcGJvYXJkLWNoZWNrJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNDZjXCIsIFwiTTE5MiAwYy00MS44IDAtNzcuNCAyNi43LTkwLjUgNjRINjRDMjguNyA2NCAwIDkyLjcgMCAxMjhWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDMyMGMzNS4zIDAgNjQtMjguNyA2NC02NFYxMjhjMC0zNS4zLTI4LjctNjQtNjQtNjRIMjgyLjVDMjY5LjQgMjYuNyAyMzMuOCAwIDE5MiAwem0wIDY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMzA1IDI3M0wxNzcgNDAxYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMEw3OSAzMzdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw0NyA0N0wyNzEgMjM5YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOXpcIl1cbn07XG52YXIgZmFGaWxlQXVkaW8gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1hdWRpbycsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjFjN1wiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzIwYzM1LjMgMCA2NC0yOC43IDY0LTY0VjE2MEgyNTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjBINjR6TTI1NiAwVjEyOEgzODRMMjU2IDB6bTIgMjI2LjNjMzcuMSAyMi40IDYyIDYzLjEgNjIgMTA5LjdzLTI0LjkgODcuMy02MiAxMDkuN2MtNy42IDQuNi0xNy40IDIuMS0yMi01LjRzLTIuMS0xNy40IDUuNC0yMkMyNjkuNCA0MDEuNSAyODggMzcwLjkgMjg4IDMzNnMtMTguNi02NS41LTQ2LjUtODIuM2MtNy42LTQuNi0xMC0xNC40LTUuNC0yMnMxNC40LTEwIDIyLTUuNHptLTkxLjkgMzAuOWM2IDIuNSA5LjkgOC4zIDkuOSAxNC44VjQwMGMwIDYuNS0zLjkgMTIuMy05LjkgMTQuOHMtMTIuOSAxLjEtMTcuNC0zLjVMMTEzLjQgMzc2SDgwYy04LjggMC0xNi03LjItMTYtMTZWMzEyYzAtOC44IDcuMi0xNiAxNi0xNmgzMy40bDM1LjMtMzUuM2M0LjYtNC42IDExLjUtNS45IDE3LjQtMy41em01MSAzNC45YzYuNi01LjkgMTYuNy01LjMgMjIuNiAxLjNDMjQ5LjggMzA0LjYgMjU2IDMxOS42IDI1NiAzMzZzLTYuMiAzMS40LTE2LjMgNDIuN2MtNS45IDYuNi0xNiA3LjEtMjIuNiAxLjNzLTcuMS0xNi0xLjMtMjIuNmM1LjEtNS43IDguMS0xMy4xIDguMS0yMS4zcy0zLjEtMTUuNy04LjEtMjEuM2MtNS45LTYuNi01LjMtMTYuNyAxLjMtMjIuNnpcIl1cbn07XG52YXIgZmFCdXJnZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVyZ2VyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJoYW1idXJnZXJcIl0sIFwiZjgwNVwiLCBcIk02MS4xIDIyNEM0NSAyMjQgMzIgMjExIDMyIDE5NC45YzAtMS45IC4yLTMuNyAuNi01LjZDMzcuOSAxNjguMyA3OC44IDMyIDI1NiAzMnMyMTguMSAxMzYuMyAyMjMuNCAxNTcuM2MuNSAxLjkgLjYgMy43IC42IDUuNmMwIDE2LjEtMTMgMjkuMS0yOS4xIDI5LjFINjEuMXpNMTQ0IDEyOGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem0yNDAgMTZhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyek0yNzIgOTZhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHpNMTYgMzA0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4SDQ0OGMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OEg2NGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDh6bTE2IDk2YzAtOC44IDcuMi0xNiAxNi0xNkg0NjRjOC44IDAgMTYgNy4yIDE2IDE2djE2YzAgMzUuMy0yOC43IDY0LTY0IDY0SDk2Yy0zNS4zIDAtNjQtMjguNy02NC02NFY0MDB6XCJdXG59O1xudmFyIGZhSGFtYnVyZ2VyID0gZmFCdXJnZXI7XG52YXIgZmFXcmVuY2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd3JlbmNoJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4Mjk1XSwgXCJmMGFkXCIsIFwiTTM1MiAzMjBjODguNCAwIDE2MC03MS42IDE2MC0xNjBjMC0xNS4zLTIuMi0zMC4xLTYuMi00NC4yYy0zLjEtMTAuOC0xNi40LTEzLjItMjQuMy01LjNsLTc2LjggNzYuOGMtMyAzLTcuMSA0LjctMTEuMyA0LjdIMzM2Yy04LjggMC0xNi03LjItMTYtMTZWMTE4LjZjMC00LjIgMS43LTguMyA0LjctMTEuM2w3Ni44LTc2LjhjNy45LTcuOSA1LjQtMjEuMi01LjMtMjQuM0MzODIuMSAyLjIgMzY3LjMgMCAzNTIgMEMyNjMuNiAwIDE5MiA3MS42IDE5MiAxNjBjMCAxOS4xIDMuNCAzNy41IDkuNSA1NC41TDE5LjkgMzk2LjFDNy4yIDQwOC44IDAgNDI2LjEgMCA0NDQuMUMwIDQ4MS42IDMwLjQgNTEyIDY3LjkgNTEyYzE4IDAgMzUuMy03LjIgNDgtMTkuOUwyOTcuNSAzMTAuNWMxNyA2LjIgMzUuNCA5LjUgNTQuNSA5LjV6TTgwIDQwOGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6XCJdXG59O1xudmFyIGZhQnVncyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidWdzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGQwXCIsIFwiTTE2NC41IDEwNy40bDMzLjQtNzMuNWM1LjUtMTIuMSAuMS0yNi4zLTExLjktMzEuOHMtMjYuMy0uMS0zMS44IDExLjlMMTI4IDcxLjcgMTAxLjkgMTQuMUM5Ni40IDIgODIuMS0zLjMgNzAuMSAyLjFTNTIuNyAyMS45IDU4LjEgMzMuOWwzMy40IDczLjVjLTEwLjIgNy4xLTE4LjIgMTctMjIuOSAyOC42aC0xN2wtNC4xLTIwLjdjLTIuNi0xMy0xNS4yLTIxLjQtMjguMi0xOC44Uy0yLjEgMTExLjcgLjUgMTI0LjdsOCA0MEMxMC43IDE3NS45IDIwLjYgMTg0IDMyIDE4NEg2NHYyMy4zbC0zNy44IDkuNWMtOS41IDIuNC0xNi42IDEwLjItMTcuOSAxOS45bC04IDU2Yy0xLjkgMTMuMSA3LjIgMjUuMyAyMC40IDI3LjJzMjUuMy03LjIgMjcuMi0yMC40bDUuNy00MCAxOC40LTQuNkM4Mi43IDI3NC42IDEwMy44IDI4OCAxMjggMjg4czQ1LjMtMTMuNCA1Ni4xLTMzLjJsMTguNCA0LjYgNS43IDQwYzEuOSAxMy4xIDE0IDIyLjIgMjcuMiAyMC40czIyLjItMTQgMjAuNC0yNy4ybC04LTU2Yy0xLjQtOS43LTguNS0xNy41LTE3LjktMTkuOUwxOTIgMjA3LjNWMTg0aDMyYzExLjQgMCAyMS4zLTguMSAyMy41LTE5LjNsOC00MGMyLjYtMTMtNS44LTI1LjYtMTguOC0yOC4ycy0yNS42IDUuOC0yOC4yIDE4LjhMMjA0LjMgMTM2aC0xN2MtNC43LTExLjYtMTIuNy0yMS41LTIyLjktMjguNnpNNDk2IDI4Ni41bDY1LjYtNDdjMTAuOC03LjcgMTMuMy0yMi43IDUuNi0zMy41cy0yMi43LTEzLjMtMzMuNS01LjZsLTUxLjQgMzYuOCA2LjEtNjIuOWMxLjMtMTMuMi04LjQtMjQuOS0yMS42LTI2LjJzLTI0LjkgOC40LTI2LjIgMjEuNkw0MzIuOCAyNTBjLTEyLjMgMS0yNC4yIDUuNi0zNC4xIDEzLjNMMzg0IDI1NC44bDYuOC0yMGM0LjItMTIuNi0yLjUtMjYuMi0xNS0zMC40cy0yNi4yIDIuNS0zMC40IDE1bC0xMy4xIDM4LjZjLTMuNyAxMC44IC44IDIyLjggMTAuNyAyOC41bDI3LjcgMTZMMzU5IDMyMi43IDMyMS41IDMxMmMtOS40LTIuNy0xOS41IC42LTI1LjUgOC4zbC0zNC45IDQ0LjVjLTguMiAxMC40LTYuNCAyNS41IDQuMSAzMy43czI1LjUgNi40IDMzLjctNC4xbDI1LTMxLjggMTguMiA1LjJjLS41IDIyLjYgMTEgNDQuNyAzMiA1Ni44czQ1LjkgMTEgNjUuMi0uN2wxMy42IDEzLjItMTUuMSAzNy41Yy00LjkgMTIuMyAxIDI2LjMgMTMuMyAzMS4yczI2LjMtMSAzMS4yLTEzLjNMNTAzLjUgNDQwYzMuNi05LjEgMS40LTE5LjQtNS42LTI2LjJsLTI4LTI3LjEgMTEuNi0yMC4xIDI3LjcgMTZjOS45IDUuNyAyMi41IDMuNyAzMC00LjlMNTY2LjIgMzQ3YzguNy0xMCA3LjgtMjUuMS0yLjItMzMuOXMtMjUuMS03LjgtMzMuOSAyLjJsLTEzLjkgMTUuOS0xNC43LTguNWMxLjctMTIuNC0uMi0yNS01LjUtMzYuMnpcIl1cbn07XG52YXIgZmFSdXBlZVNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncnVwZWUtc2lnbicsXG4gIGljb246IFs0NDgsIDUxMiwgWzgzNjAsIFwicnVwZWVcIl0sIFwiZjE1NlwiLCBcIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMyaDgwYzc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0YzAgNTguOC0zNS4yIDEwOS4zLTg1LjcgMTMxLjdsNTEuNCAxMjguNGM2LjYgMTYuNC0xLjQgMzUtMTcuOCA0MS42cy0zNS0xLjQtNDEuNi0xNy44TDEwNi4zIDMyMEg2NFY0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMjg4IDY0ek02NCAyNTZoNDhjNDQuMiAwIDgwLTM1LjggODAtODBzLTM1LjgtODAtODAtODBINjRWMjU2em0yNTYuNSAxNi40Yy0uOSA2IDAgOC43IC40IDkuOGMuNCAxLjEgMS40IDIuNiA0LjIgNC45YzcuMiA1LjcgMTguNyAxMCAzNy45IDE2LjhsMS4zIC41YzE2IDUuNiAzOC43IDEzLjYgNTUuNyAyOC4xYzkuNSA4LjEgMTcuOSAxOC42IDIzLjEgMzIuM2M1LjEgMTMuNyA2LjEgMjguNSAzLjggNDRjLTQuMiAyOC4xLTIwLjUgNDkuMy00My44IDYwLjljLTIyLjEgMTEtNDguMSAxMi41LTczLjIgOGwtLjIgMCAwIDBjLTkuMy0xLjgtMjAuNS01LjctMjkuMy05Yy02LTIuMy0xMi42LTQuOS0xNy43LTYuOWwwIDBjLTIuNS0xLTQuNi0xLjgtNi4zLTIuNWMtMTYuNS02LjQtMjQuNi0yNS0xOC4yLTQxLjRzMjQuOS0yNC42IDQxLjQtMTguMmMyLjYgMSA1LjIgMiA3LjkgMy4xbDAgMGM0LjggMS45IDkuOCAzLjkgMTUuNCA2YzguOCAzLjMgMTUuMyA1LjQgMTguNyA2YzE1LjcgMi44IDI2LjcgLjggMzIuOS0yLjNjNS0yLjUgOC02IDkuMS0xM2MxLTYuOSAuMi0xMC41LS41LTEyLjNjLS42LTEuNy0xLjgtMy42LTQuNS01LjljLTYuOS01LjgtMTguMi0xMC40LTM2LjktMTdsLTMtMS4xYy0xNS41LTUuNC0zNy0xMy01My4zLTI1LjljLTkuNS03LjUtMTguMy0xNy42LTIzLjctMzFjLTUuNS0xMy40LTYuNi0yOC00LjQtNDMuMmM4LjQtNTcuMSA2Ny03OCAxMTYuOS02OC45YzYuOSAxLjMgMjcuMyA1LjggMzUuNCA4LjRjMTYuOSA1LjIgMjYuMyAyMy4yIDIxLjEgNDAuMXMtMjMuMiAyNi4zLTQwLjEgMjEuMWMtNC43LTEuNC0yMi4zLTUuNS0yNy45LTYuNWMtMTQuNi0yLjctMjUuOC0uNC0zMi42IDMuMmMtNi4zIDMuMy04LjkgNy42LTkuNSAxMnpcIl1cbn07XG52YXIgZmFSdXBlZSA9IGZhUnVwZWVTaWduO1xudmFyIGZhRmlsZUltYWdlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtaW1hZ2UnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjg0NDNdLCBcImYxYzVcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDMyMGMzNS4zIDAgNjQtMjguNyA2NC02NFYxNjBIMjU2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYwSDY0ek0yNTYgMFYxMjhIMzg0TDI1NiAwek02NCAyNTZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTUyIDMyYzUuMyAwIDEwLjIgMi42IDEzLjIgNi45bDg4IDEyOGMzLjQgNC45IDMuNyAxMS4zIDEgMTYuNXMtOC4yIDguNi0xNC4yIDguNkgyMTYgMTc2IDEyOCA4MGMtNS44IDAtMTEuMS0zLjEtMTMuOS04LjFzLTIuOC0xMS4yIC4yLTE2LjFsNDgtODBjMi45LTQuOCA4LjEtNy44IDEzLjctNy44czEwLjggMi45IDEzLjcgNy44bDEyLjggMjEuNCA0OC4zLTcwLjJjMy00LjMgNy45LTYuOSAxMy4yLTYuOXpcIl1cbn07XG52YXIgZmFDaXJjbGVRdWVzdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtcXVlc3Rpb24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MjEwOCwgXCJxdWVzdGlvbi1jaXJjbGVcIl0sIFwiZjA1OVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTY5LjggMTY1LjNjNy45LTIyLjMgMjkuMS0zNy4zIDUyLjgtMzcuM2g1OC4zYzM0LjkgMCA2My4xIDI4LjMgNjMuMSA2My4xYzAgMjIuNi0xMi4xIDQzLjUtMzEuNyA1NC44TDI4MCAyNjQuNGMtLjIgMTMtMTAuOSAyMy42LTI0IDIzLjZjLTEzLjMgMC0yNC0xMC43LTI0LTI0VjI1MC41YzAtOC42IDQuNi0xNi41IDEyLjEtMjAuOGw0NC4zLTI1LjRjNC43LTIuNyA3LjYtNy43IDcuNi0xMy4xYzAtOC40LTYuOC0xNS4xLTE1LjEtMTUuMUgyMjIuNmMtMy40IDAtNi40IDIuMS03LjUgNS4zbC0uNCAxLjJjLTQuNCAxMi41LTE4LjIgMTktMzAuNiAxNC42cy0xOS0xOC4yLTE0LjYtMzAuNmwuNC0xLjJ6TTIyNCAzNTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpcIl1cbn07XG52YXIgZmFRdWVzdGlvbkNpcmNsZSA9IGZhQ2lyY2xlUXVlc3Rpb247XG52YXIgZmFQbGFuZURlcGFydHVyZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwbGFuZS1kZXBhcnR1cmUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjg3NDddLCBcImY1YjBcIiwgXCJNMzgxIDExNC45TDE4Ni4xIDQxLjhjLTE2LjctNi4yLTM1LjItNS4zLTUxLjEgMi43TDg5LjEgNjcuNEM3OCA3MyA3Ny4yIDg4LjUgODcuNiA5NS4ybDE0Ni45IDk0LjVMMTM2IDI0MCA3Ny44IDIxNC4xYy04LjctMy45LTE4LjgtMy43LTI3LjMgLjZMMTguMyAyMzAuOGMtOS4zIDQuNy0xMS44IDE2LjgtNSAyNC43bDczLjEgODUuM2M2LjEgNy4xIDE1IDExLjIgMjQuMyAxMS4ySDI0OC40YzUgMCA5LjktMS4yIDE0LjMtMy40TDUzNS42IDIxMi4yYzQ2LjUtMjMuMyA4Mi41LTYzLjMgMTAwLjgtMTEyQzY0NS45IDc1IDYyNy4yIDQ4IDYwMC4yIDQ4SDU0Mi44Yy0yMC4yIDAtNDAuMiA0LjgtNTguMiAxNEwzODEgMTE0Ljl6TTAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMySDYwOGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6XCJdXG59O1xudmFyIGZhSGFuZHNoYWtlU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZHNoYWtlLXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlMDYwXCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdsLTEzNS0xMDUuOGMtMS4xLTExLjMtNi4zLTIyLjMtMTUuMy0zMC43bC0xMzQuMi0xMjMtMjMuNCAxOC4yLTI2LTIwLjMgNzcuMi02MC4xYzctNS40IDE3LTQuMiAyMi41IDIuOHM0LjIgMTctMi44IDIyLjVsLTIwLjkgMTYuMkw1MTIgMzE2LjhWMTI4aC0uN2wtMy45LTIuNUw0MzQuOCA3OWMtMTUuMy05LjgtMzMuMi0xNS01MS40LTE1Yy0yMS44IDAtNDMgNy41LTYwIDIxLjJsLTg5LjcgNzIuNi0yNS44LTIwLjMgODEuOC02Ni4yYy0xMS42LTQuOS0yNC4xLTcuNC0zNi44LTcuNEMyMzQgNjQgMjE1LjcgNjkuNiAyMDAgODBsLTM1LjUgMjMuN0wzOC44IDUuMXpNNDEzLjYgNDIxLjlMMTI4IDE5Ni44VjM1MmgyOC4ybDkxLjQgODMuNGMxOS42IDE3LjkgNDkuOSAxNi41IDY3LjgtMy4xYzUuNS02LjEgOS4yLTEzLjIgMTEuMS0yMC42bDE3IDE1LjZjMTkuNSAxNy45IDQ5LjkgMTYuNiA2Ny44LTIuOWMuOC0uOCAxLjUtMS43IDIuMi0yLjZ6TTk2IDE3MS42TDQwLjYgMTI4SDE2Yy04LjggMC0xNiA3LjItMTYgMTZWMzUyYzAgMTcuNyAxNC4zIDMyIDMyIDMySDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjE3MS42ek00OCAzMjBhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyek01NDQgMTI4VjM1MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmgzMmMxNy43IDAgMzItMTQuMyAzMi0zMlYxNDRjMC04LjgtNy4yLTE2LTE2LTE2SDU0NHptMzIgMjA4YTE2IDE2IDAgMSAxIDMyIDAgMTYgMTYgMCAxIDEgLTMyIDB6XCJdXG59O1xudmFyIGZhQm9va0Jvb2ttYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jvb2stYm9va21hcmsnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImUwYmJcIiwgXCJNMCA5NkMwIDQzIDQzIDAgOTYgMGg5NlYxOTAuN2MwIDEzLjQgMTUuNSAyMC45IDI2IDEyLjVMMjcyIDE2MGw1NCA0My4yYzEwLjUgOC40IDI2IC45IDI2LTEyLjVWMGgzMiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMlYzNTJjMCAxNy43LTE0LjMgMzItMzIgMzJ2NjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzg0IDk2Yy01MyAwLTk2LTQzLTk2LTk2Vjk2ek02NCA0MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJIMzUyVjM4NEg5NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6XCJdXG59O1xudmFyIGZhQ29kZUJyYW5jaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb2RlLWJyYW5jaCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjEyNlwiLCBcIk04MCAxMDRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em04MC0yNGMwIDMyLjgtMTkuNyA2MS00OCA3My4zdjg3LjhjMTguOC0xMC45IDQwLjctMTcuMSA2NC0xNy4xaDk2YzM1LjMgMCA2NC0yOC43IDY0LTY0di02LjdDMzA3LjcgMTQxIDI4OCAxMTIuOCAyODggODBjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGMwIDMyLjgtMTkuNyA2MS00OCA3My4zVjE2MGMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOEgxNzZjLTM1LjMgMC02NCAyOC43LTY0IDY0djYuN2MyOC4zIDEyLjMgNDggNDAuNSA0OCA3My4zYzAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwYzAtMzIuOCAxOS43LTYxIDQ4LTczLjNWMzUyIDE1My4zQzE5LjcgMTQxIDAgMTEyLjggMCA4MEMwIDM1LjggMzUuOCAwIDgwIDBzODAgMzUuOCA4MCA4MHptMjMyIDBhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpNODAgNDU2YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHpcIl1cbn07XG52YXIgZmFIYXRDb3dib3kgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGF0LWNvd2JveScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjhjMFwiLCBcIk0zMjAgNjRjMTQuNCAwIDIyLjMtNyAzMC44LTE0LjRDMzYwLjQgNDEuMSAzNzAuNyAzMiAzOTIgMzJjNDkuMyAwIDg0LjQgMTUyLjIgOTcuOSAyMjEuOUM0NDcuOCAyNzIuMSAzOTAuOSAyODggMzIwIDI4OHMtMTI3LjgtMTUuOS0xNjkuOS0zNC4xQzE2My42IDE4NC4yIDE5OC43IDMyIDI0OCAzMmMyMS4zIDAgMzEuNiA5LjEgNDEuMiAxNy42QzI5Ny43IDU3IDMwNS42IDY0IDMyMCA2NHpNMTExLjEgMjcwLjdjNDcuMiAyNC41IDExNy41IDQ5LjMgMjA5IDQ5LjNzMTYxLjgtMjQuOCAyMDguOS00OS4zYzI0LjgtMTIuOSA0OS44LTI4LjMgNzAuMS00Ny43YzcuOS03LjkgMjAuMi05LjIgMjkuNi0zLjNjOS41IDUuOSAxMy41IDE3LjkgOS45IDI4LjVjLTEzLjUgMzcuNy0zOC40IDcyLjMtNjYuMSAxMDAuNkM1MjMuNyAzOTguOSA0NDMuNiA0NDggMzIwIDQ0OHMtMjAzLjYtNDkuMS0yNTIuNS05OS4yQzM5LjggMzIwLjQgMTQuOSAyODUuOCAxLjQgMjQ4LjFjLTMuNi0xMC42IC40LTIyLjYgOS45LTI4LjVjOS41LTUuOSAyMS43LTQuNSAyOS42IDMuM2MyMC40IDE5LjQgNDUuMyAzNC44IDcwLjEgNDcuN3pcIl1cbn07XG52YXIgZmFCcmlkZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnJpZGdlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGM4XCIsIFwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5Nkg3MnY2NEgwVjI4OGM1MyAwIDk2IDQzIDk2IDk2djY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyaDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM4NGMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2djY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyaDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM4NGMwLTUzIDQzLTk2IDk2LTk2VjE2MEg1MDRWOTZoNDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzJ6TTQ1NiA5NnY2NEgzNzZWOTZoODB6TTMyOCA5NnY2NEgyNDhWOTZoODB6TTIwMCA5NnY2NEgxMjBWOTZoODB6XCJdXG59O1xudmFyIGZhUGhvbmVGbGlwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Bob25lLWZsaXAnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgzODEsIFwicGhvbmUtYWx0XCJdLCBcImY4NzlcIiwgXCJNMzQ3LjEgMjQuNmM3LjctMTguNiAyOC0yOC41IDQ3LjQtMjMuMmw4OCAyNEM0OTkuOSAzMC4yIDUxMiA0NiA1MTIgNjRjMCAyNDcuNC0yMDAuNiA0NDgtNDQ4IDQ0OGMtMTggMC0zMy44LTEyLjEtMzguNi0yOS41bC0yNC04OGMtNS4zLTE5LjQgNC42LTM5LjcgMjMuMi00Ny40bDk2LTQwYzE2LjMtNi44IDM1LjItMi4xIDQ2LjMgMTEuNkwyMDcuMyAzNjhjNzAuNC0zMy4zIDEyNy40LTkwLjMgMTYwLjctMTYwLjdMMzE4LjcgMTY3Yy0xMy43LTExLjItMTguNC0zMC0xMS42LTQ2LjNsNDAtOTZ6XCJdXG59O1xudmFyIGZhUGhvbmVBbHQgPSBmYVBob25lRmxpcDtcbnZhciBmYVRydWNrRnJvbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJ1Y2stZnJvbnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImUyYjdcIiwgXCJNMCA4MEMwIDM1LjggMzUuOCAwIDgwIDBINDMyYzQ0LjIgMCA4MCAzNS44IDgwIDgwVjM2OGMwIDI2LjItMTIuNiA0OS40LTMyIDY0djQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMySDQxNmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDQ4SDEyOHYzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkg2NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDMyQzEyLjYgNDE3LjQgMCAzOTQuMiAwIDM2OFY4MHptMTI5LjkgNzIuMkwxMTIgMjI0SDQwMGwtMTcuOS03MS44QzM3OC41IDEzOCAzNjUuNyAxMjggMzUxIDEyOEgxNjFjLTE0LjcgMC0yNy41IDEwLTMxIDI0LjJ6TTEyOCAzMjBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMjg4IDMyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG52YXIgZmFDYXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2F0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4MDA4XSwgXCJmNmJlXCIsIFwiTTMyMCAxOTJoMTcuMWMyMi4xIDM4LjMgNjMuNSA2NCAxMTAuOSA2NGMxMSAwIDIxLjgtMS40IDMyLTR2NCAzMlY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzM5LjJMMjgwIDQ0OGg1NmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgxOTJjLTUzIDAtOTYtNDMtOTYtOTZWMTkyLjVjMC0xNi4xLTEyLTI5LjgtMjgtMzEuOGwtNy45LTFjLTE3LjUtMi4yLTMwLTE4LjItMjcuOC0zNS43czE4LjItMzAgMzUuNy0yNy44bDcuOSAxYzQ4IDYgODQuMSA0Ni44IDg0LjEgOTUuM3Y4NS4zYzM0LjQtNTEuNyA5My4yLTg1LjggMTYwLTg1Ljh6bTE2MCAyNi41djBjLTEwIDMuNS0yMC44IDUuNS0zMiA1LjVjLTI4LjQgMC01NC0xMi40LTcxLjYtMzJoMGMtMy43LTQuMS03LTguNS05LjktMTMuMkMzNTcuMyAxNjQgMzUyIDE0Ni42IDM1MiAxMjh2MFYzMiAxMiAxMC43QzM1MiA0LjggMzU2LjcgLjEgMzYyLjYgMGguMmMzLjMgMCA2LjQgMS42IDguNCA0LjJsMCAuMUwzODQgMjEuM2wyNy4yIDM2LjNMNDE2IDY0aDY0bDQuOC02LjRMNTEyIDIxLjMgNTI0LjggNC4zbDAtLjFjMi0yLjYgNS4xLTQuMiA4LjQtNC4yaC4yQzUzOS4zIC4xIDU0NCA0LjggNTQ0IDEwLjdWMTIgMzJ2OTZjMCAxNy4zLTQuNiAzMy42LTEyLjYgNDcuNmMtMTEuMyAxOS44LTI5LjYgMzUuMi01MS40IDQyLjl6TTQzMiAxMjhhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptNDggMTZhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyelwiXVxufTtcbnZhciBmYUFuY2hvckNpcmNsZUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2FuY2hvci1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0YWJcIiwgXCJNMzIwIDk2YTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6bTIxLjEgODBDMzY3IDE1OC44IDM4NCAxMjkuNCAzODQgOTZjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZjMCAzMy40IDE3IDYyLjggNDIuOSA4MEgyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoMzJWNDQ4SDIwOGMtNTMgMC05Ni00My05Ni05NnYtNi4xbDcgN2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMOTcgMjYzYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMEw3IDMxOWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDctN1YzNTJjMCA4OC40IDcxLjYgMTYwIDE2MCAxNjBoODAgODBjOC4yIDAgMTYuMy0uNiAyNC4yLTEuOGMtMjIuMi0xNi4yLTQwLjQtMzcuNS01My02Mi4ySDMyMFYzNjggMjQwaDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDM0MS4xek00OTYgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC05NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTAtMTQ0YzguOCAwIDE2IDcuMiAxNiAxNnY4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlYyODhjMC04LjggNy4yLTE2IDE2LTE2elwiXVxufTtcbnZhciBmYVRydWNrRmllbGQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJ1Y2stZmllbGQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1OGRcIiwgXCJNMzIgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRIMzIwYzIzLjcgMCA0NC40IDEyLjkgNTUuNCAzMmg1MS44YzI1LjMgMCA0OC4yIDE0LjkgNTguNSAzOGw1Mi44IDExOC44Yy41IDEuMSAuOSAyLjEgMS4zIDMuMkg1NDRjMzUuMyAwIDY0IDI4LjcgNjQgNjR2MzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJINTc2YzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2SDI1NmMwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05NkgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMlYyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMlY5NnpNMzg0IDIyNGg4NS45bC00Mi43LTk2SDM4NHY5NnpNMTYwIDQzMmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bTM2OC00OGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwelwiXVxufTtcbnZhciBmYVJvdXRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JvdXRlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNGQ3XCIsIFwiTTUxMiA5NmMwIDUwLjItNTkuMSAxMjUuMS04NC42IDE1NWMtMy44IDQuNC05LjQgNi4xLTE0LjUgNUgzMjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoOTZjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZIMTM5LjZjOC43LTkuOSAxOS4zLTIyLjYgMzAtMzYuOGM2LjMtOC40IDEyLjgtMTcuNiAxOS0yNy4ySDQxNmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMjBjLTUzIDAtOTYtNDMtOTYtOTZzNDMtOTYgOTYtOTZoMzkuOGMtMjEtMzEuNS0zOS44LTY3LjctMzkuOC05NmMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2ek0xMTcuMSA0ODkuMWMtMy44IDQuMy03LjIgOC4xLTEwLjEgMTEuM2wtMS44IDItLjItLjJjLTYgNC42LTE0LjYgNC0yMC0xLjhDNTkuOCA0NzMgMCA0MDIuNSAwIDM1MmMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2YzAgMzAtMjEuMSA2Ny00My41IDk3LjljLTEwLjcgMTQuNy0yMS43IDI4LTMwLjggMzguNWwtLjYgLjd6TTEyOCAzNTJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNNDE2IDEyOGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xudmFyIGZhQ2xpcGJvYXJkUXVlc3Rpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xpcGJvYXJkLXF1ZXN0aW9uJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlNGUzXCIsIFwiTTE5MiAwYy00MS44IDAtNzcuNCAyNi43LTkwLjUgNjRINjRDMjguNyA2NCAwIDkyLjcgMCAxMjhWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDMyMGMzNS4zIDAgNjQtMjguNyA2NC02NFYxMjhjMC0zNS4zLTI4LjctNjQtNjQtNjRIMjgyLjVDMjY5LjQgMjYuNyAyMzMuOCAwIDE5MiAwem0wIDY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMTA1LjggMjI5LjNjNy45LTIyLjMgMjkuMS0zNy4zIDUyLjgtMzcuM2g1OC4zYzM0LjkgMCA2My4xIDI4LjMgNjMuMSA2My4xYzAgMjIuNi0xMi4xIDQzLjUtMzEuNyA1NC44TDIxNiAzMjguNGMtLjIgMTMtMTAuOSAyMy42LTI0IDIzLjZjLTEzLjMgMC0yNC0xMC43LTI0LTI0VjMxNC41YzAtOC42IDQuNi0xNi41IDEyLjEtMjAuOGw0NC4zLTI1LjRjNC43LTIuNyA3LjYtNy43IDcuNi0xMy4xYzAtOC40LTYuOC0xNS4xLTE1LjEtMTUuMUgxNTguNmMtMy40IDAtNi40IDIuMS03LjUgNS4zbC0uNCAxLjJjLTQuNCAxMi41LTE4LjIgMTktMzAuNiAxNC42cy0xOS0xOC4yLTE0LjYtMzAuNmwuNC0xLjJ6TTE2MCA0MTZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpcIl1cbn07XG52YXIgZmFQYW5vcmFtYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwYW5vcmFtYScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTIwOVwiLCBcIk00NS42IDMyQzIwLjQgMzIgMCA1Mi40IDAgNzcuNlY0MzQuNEMwIDQ1OS42IDIwLjQgNDgwIDQ1LjYgNDgwYzUuMSAwIDEwLS44IDE0LjctMi40Qzc0LjYgNDcyLjggMTc3LjYgNDQwIDMyMCA0NDBzMjQ1LjQgMzIuOCAyNTkuNiAzNy42YzQuNyAxLjYgOS43IDIuNCAxNC43IDIuNGMyNS4yIDAgNDUuNi0yMC40IDQ1LjYtNDUuNlY3Ny42QzY0MCA1Mi40IDYxOS42IDMyIDU5NC40IDMyYy01IDAtMTAgLjgtMTQuNyAyLjRDNTY1LjQgMzkuMiA0NjIuNCA3MiAzMjAgNzJTNzQuNiAzOS4yIDYwLjQgMzQuNEM1NS42IDMyLjggNTAuNyAzMiA0NS42IDMyek05NiAxNjBhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMjcyIDBjNy45IDAgMTUuNCAzLjkgMTkuOCAxMC41TDUxMi4zIDM1M2M1LjQgOCA1LjYgMTguNCAuNCAyNi41cy0xNC43IDEyLjMtMjQuMiAxMC43QzQ0Mi43IDM4Mi40IDM4NS4yIDM3NiAzMjAgMzc2Yy02NS42IDAtMTIzLjQgNi41LTE2OS4zIDE0LjRjLTkuOCAxLjctMTkuNy0yLjktMjQuNy0xMS41cy00LjMtMTkuNCAxLjktMjcuMkwxOTcuMyAyNjVjNC42LTUuNyAxMS40LTkgMTguNy05czE0LjIgMy4zIDE4LjcgOWwyNi40IDMzLjEgODctMTI3LjZjNC41LTYuNiAxMS45LTEwLjUgMTkuOC0xMC41elwiXVxufTtcbnZhciBmYUNvbW1lbnRNZWRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvbW1lbnQtbWVkaWNhbCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjdmNVwiLCBcIk0yNTYgNDQ4YzE0MS40IDAgMjU2LTkzLjEgMjU2LTIwOFMzOTcuNCAzMiAyNTYgMzJTMCAxMjUuMSAwIDI0MGMwIDQ1LjEgMTcuNyA4Ni44IDQ3LjcgMTIwLjljLTEuOSAyNC41LTExLjQgNDYuMy0yMS40IDYyLjljLTUuNSA5LjItMTEuMSAxNi42LTE1LjIgMjEuNmMtMi4xIDIuNS0zLjcgNC40LTQuOSA1LjdjLS42IC42LTEgMS4xLTEuMyAxLjRsLS4zIC4zIDAgMCAwIDAgMCAwIDAgMGMtNC42IDQuNi01LjkgMTEuNC0zLjQgMTcuNGMyLjUgNiA4LjMgOS45IDE0LjggOS45YzI4LjcgMCA1Ny42LTguOSA4MS42LTE5LjNjMjIuOS0xMCA0Mi40LTIxLjkgNTQuMy0zMC42YzMxLjggMTEuNSA2NyAxNy45IDEwNC4xIDE3Ljl6TTIyNCAxNjBjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnY0OGg0OGM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDI4OHY0OGMwIDguOC03LjIgMTYtMTYgMTZIMjQwYy04LjggMC0xNi03LjItMTYtMTZWMjcySDE3NmMtOC44IDAtMTYtNy4yLTE2LTE2VjIyNGMwLTguOCA3LjItMTYgMTYtMTZoNDhWMTYwelwiXVxufTtcbnZhciBmYVRlZXRoT3BlbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZWV0aC1vcGVuJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNjJmXCIsIFwiTTk2IDMyQzQzIDMyIDAgNzUgMCAxMjh2NjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRINTEyYzM1LjMgMCA2NC0yOC43IDY0LTY0VjEyOGMwLTUzLTQzLTk2LTk2LTk2SDk2ek0yMjQgOTZjMjYuNSAwIDQ4IDIxLjUgNDggNDh2NTZjMCAxMy4zLTEwLjcgMjQtMjQgMjRIMjAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNFYxNDRjMC0yNi41IDIxLjUtNDggNDgtNDh6bTgwIDQ4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDh2NTZjMCAxMy4zLTEwLjcgMjQtMjQgMjRIMzI4Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNFYxNDR6TTk2IDEyOGMyNi41IDAgNDggMjEuNSA0OCA0OHYyNGMwIDEzLjMtMTAuNyAyNC0yNCAyNEg3MmMtMTMuMyAwLTI0LTEwLjctMjQtMjRWMTc2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4em0zMzYgNDhjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OHYyNGMwIDEzLjMtMTAuNyAyNC0yNCAyNEg0NTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0VjE3NnpNOTYgNDgwSDQ4MGM1MyAwIDk2LTQzIDk2LTk2VjM1MmMwLTM1LjMtMjguNy02NC02NC02NEg2NGMtMzUuMyAwLTY0IDI4LjctNjQgNjR2MzJjMCA1MyA0MyA5NiA5NiA5NnptMC02NGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMzQ0YzAtMTMuMyAxMC43LTI0IDI0LTI0aDQ4YzEzLjMgMCAyNCAxMC43IDI0IDI0djI0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4em04MC00OFYzNDRjMC0xMy4zIDEwLjctMjQgMjQtMjRoNDhjMTMuMyAwIDI0IDEwLjcgMjQgMjR2MjRjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDh6bTE3NiA0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMzQ0YzAtMTMuMyAxMC43LTI0IDI0LTI0aDQ4YzEzLjMgMCAyNCAxMC43IDI0IDI0djI0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4em04MC00OFYzNDRjMC0xMy4zIDEwLjctMjQgMjQtMjRoNDhjMTMuMyAwIDI0IDEwLjcgMjQgMjR2MjRjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDh6XCJdXG59O1xudmFyIGZhRmlsZUNpcmNsZU1pbnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtY2lyY2xlLW1pbnVzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGVkXCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwSDIyNFYxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJIMzg0djM4LjZDMzEwLjEgMjE5LjUgMjU2IDI4Ny40IDI1NiAzNjhjMCA1OS4xIDI5LjEgMTExLjMgNzMuNyAxNDMuM2MtMy4yIC41LTYuNCAuNy05LjcgLjdINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjY0em0zODQgNjRIMjU2VjBMMzg0IDEyOHpNMjg4IDM2OGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMjQgMGMwLTguOC03LjItMTYtMTYtMTZIMzY4Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2SDQ5NmM4LjggMCAxNi03LjIgMTYtMTZ6XCJdXG59O1xudmFyIGZhVGFncyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YWdzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMDJjXCIsIFwiTTM0NSAzOS4xTDQ3Mi44IDE2OC40YzUyLjQgNTMgNTIuNCAxMzguMiAwIDE5MS4yTDM2MC44IDQ3Mi45Yy05LjMgOS40LTI0LjUgOS41LTMzLjkgLjJzLTkuNS0yNC41LS4yLTMzLjlMNDM4LjYgMzI1LjljMzMuOS0zNC4zIDMzLjktODkuNCAwLTEyMy43TDMxMC45IDcyLjljLTkuMy05LjQtOS4yLTI0LjYgLjItMzMuOXMyNC42LTkuMiAzMy45IC4yek0wIDIyOS41VjgwQzAgNTMuNSAyMS41IDMyIDQ4IDMySDE5Ny41YzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43bDE2OCAxNjhjMjUgMjUgMjUgNjUuNSAwIDkwLjVMMjc3LjMgNDQyLjdjLTI1IDI1LTY1LjUgMjUtOTAuNSAwbC0xNjgtMTY4QzYuNyAyNjIuNyAwIDI0Ni41IDAgMjI5LjV6TTE0NCAxNDRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpcIl1cbn07XG52YXIgZmFXaW5lR2xhc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2luZS1nbGFzcycsXG4gIGljb246IFszMjAsIDUxMiwgWzEyNzg2M10sIFwiZjRlM1wiLCBcIk0zMi4xIDI5LjNDMzMuNSAxMi44IDQ3LjQgMCA2NCAwSDI1NmMxNi42IDAgMzAuNSAxMi44IDMxLjkgMjkuM2wxNCAxNjguNGM2IDcyLTQyLjUgMTM1LjItMTA5LjkgMTUwLjZWNDQ4aDQ4YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDE2MCA4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmg0OFYzNDguNEM2MC42IDMzMyAxMi4xIDI2OS44IDE4LjEgMTk3LjhsMTQtMTY4LjR6bTU2IDk4LjdIMjMxLjlsLTUuMy02NEg5My40bC01LjMgNjR6XCJdXG59O1xudmFyIGZhRm9yd2FyZEZhc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZm9yd2FyZC1mYXN0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTE5NywgXCJmYXN0LWZvcndhcmRcIl0sIFwiZjA1MFwiLCBcIk0xOC40IDQ0NWMxMS4yIDUuMyAyNC41IDMuNiAzNC4xLTQuNEwyMjQgMjk3LjdWNDE2YzAgMTIuNCA3LjIgMjMuNyAxOC40IDI5czI0LjUgMy42IDM0LjEtNC40TDQ0OCAyOTcuN1Y0MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlY5NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlYyMTQuM0wyNzYuNSA3MS40Yy05LjUtNy45LTIyLjgtOS43LTM0LjEtNC40UzIyNCA4My42IDIyNCA5NlYyMTQuM0w1Mi41IDcxLjRjLTkuNS03LjktMjIuOC05LjctMzQuMS00LjRTMCA4My42IDAgOTZWNDE2YzAgMTIuNCA3LjIgMjMuNyAxOC40IDI5elwiXVxufTtcbnZhciBmYUZhc3RGb3J3YXJkID0gZmFGb3J3YXJkRmFzdDtcbnZhciBmYUZhY2VNZWhCbGFuayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLW1laC1ibGFuaycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU2NiwgXCJtZWgtYmxhbmtcIl0sIFwiZjVhNFwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6bTIwOC40LTQ4YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTEyOCAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xudmFyIGZhTWVoQmxhbmsgPSBmYUZhY2VNZWhCbGFuaztcbnZhciBmYVNxdWFyZVBhcmtpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLXBhcmtpbmcnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjczNTksIFwicGFya2luZ1wiXSwgXCJmNTQwXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDM4NGMzNS4zIDAgNjQtMjguNyA2NC02NFY5NmMwLTM1LjMtMjguNy02NC02NC02NEg2NHpNMTkyIDI1Nmg0OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgxOTJ2NjR6bTQ4IDY0SDE5MnYzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYyODggMTY4YzAtMjIuMSAxNy45LTQwIDQwLTQwaDcyYzUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2elwiXVxufTtcbnZhciBmYVBhcmtpbmcgPSBmYVNxdWFyZVBhcmtpbmc7XG52YXIgZmFIb3VzZVNpZ25hbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1zaWduYWwnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImUwMTJcIiwgXCJNMzU3LjcgOC41Yy0xMi4zLTExLjMtMzEuMi0xMS4zLTQzLjQgMGwtMjA4IDE5MmMtOS40IDguNi0xMi43IDIyLTguNSAzNGM4Ny4xIDI1LjMgMTU1LjYgOTQuMiAxODAuMyAxODEuNkg0NjRjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMjU2aDMyYzEzLjIgMCAyNS04LjEgMjkuOC0yMC4zczEuNi0yNi4yLTguMS0zNS4ybC0yMDgtMTkyek0yODggMjA4YzAtOC44IDcuMi0xNiAxNi0xNmg2NGM4LjggMCAxNiA3LjIgMTYgMTZ2NjRjMCA4LjgtNy4yIDE2LTE2IDE2SDMwNGMtOC44IDAtMTYtNy4yLTE2LTE2VjIwOHpNMjQgMjU2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0YzEwMS42IDAgMTg0IDgyLjQgMTg0IDE4NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTI4LjEtMTAzLjktMjMyLTIzMi0yMzJ6bTggMjU2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMCAzNzZjMCAxMy4zIDEwLjcgMjQgMjQgMjRjNDguNiAwIDg4IDM5LjQgODggODhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTc1LjEtNjAuOS0xMzYtMTM2LTEzNmMtMTMuMyAwLTI0IDEwLjctMjQgMjR6XCJdXG59O1xudmFyIGZhQmFyc1Byb2dyZXNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhcnMtcHJvZ3Jlc3MnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInRhc2tzLWFsdFwiXSwgXCJmODI4XCIsIFwiTTQ0OCAxNjBIMzIwVjEyOEg0NDh2MzJ6TTQ4IDY0QzIxLjUgNjQgMCA4NS41IDAgMTEydjY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDQ2NGMyNi41IDAgNDgtMjEuNSA0OC00OFYxMTJjMC0yNi41LTIxLjUtNDgtNDgtNDhINDh6TTQ0OCAzNTJ2MzJIMTkyVjM1Mkg0NDh6TTQ4IDI4OGMtMjYuNSAwLTQ4IDIxLjUtNDggNDh2NjRjMCAyNi41IDIxLjUgNDggNDggNDhINDY0YzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjMzNmMwLTI2LjUtMjEuNS00OC00OC00OEg0OHpcIl1cbn07XG52YXIgZmFUYXNrc0FsdCA9IGZhQmFyc1Byb2dyZXNzO1xudmFyIGZhRmF1Y2V0RHJpcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYXVjZXQtZHJpcCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODY4OF0sIFwiZTAwNlwiLCBcIk0yMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMlY0NGw5Ni0xMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwyNTYgODRsLTMxLTMuOS0xLS4xLTEgLjFMMTkyIDg0IDk2IDk2Qzc4LjMgOTYgNjQgODEuNyA2NCA2NHMxNC4zLTMyIDMyLTMybDk2IDEyVjMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek0wIDIyNGMwLTE3LjcgMTQuMy0zMiAzMi0zMmg5NmwyMi42LTIyLjZjNi02IDE0LjEtOS40IDIyLjYtOS40SDE5MlYxMTYuMmwzMi00IDMyIDRWMTYwaDE4LjdjOC41IDAgMTYuNiAzLjQgMjIuNiA5LjRMMzIwIDE5MmgzMmM4OC40IDAgMTYwIDcxLjYgMTYwIDE2MGMwIDE3LjctMTQuMyAzMi0zMiAzMkg0MTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMycy0xNC4zLTMyLTMyLTMySDMxNS45Yy0yMC4yIDI5LTUzLjkgNDgtOTEuOSA0OHMtNzEuNy0xOS05MS45LTQ4SDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMlYyMjR6TTQzNi44IDQyMy40YzEuOS00LjUgNi4zLTcuNCAxMS4yLTcuNHM5LjIgMi45IDExLjIgNy40bDE4LjIgNDIuNGMxLjggNC4xIDIuNyA4LjYgMi43IDEzLjFWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMydi0xLjJjMC00LjUgLjktOC45IDIuNy0xMy4xbDE4LjItNDIuNHpcIl1cbn07XG52YXIgZmFDYXJ0RmxhdGJlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXJ0LWZsYXRiZWQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImRvbGx5LWZsYXRiZWRcIl0sIFwiZjQ3NFwiLCBcIk0zMiAwQzE0LjMgMCAwIDE0LjMgMCAzMlMxNC4zIDY0IDMyIDY0SDQ4YzguOCAwIDE2IDcuMiAxNiAxNlYzNjhjMCA0NC4yIDM1LjggODAgODAgODBoMTguN2MtMS44IDUtMi43IDEwLjQtMi43IDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4czQ4LTIxLjUgNDgtNDhjMC01LjYtMS0xMS0yLjctMTZINDUwLjdjLTEuOCA1LTIuNyAxMC40LTIuNyAxNmMwIDI2LjUgMjEuNSA0OCA0OCA0OHM0OC0yMS41IDQ4LTQ4YzAtNS42LTEtMTEtMi43LTE2SDYwOGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgxNDRjLTguOCAwLTE2LTcuMi0xNi0xNlY4MEMxMjggMzUuOCA5Mi4yIDAgNDggMEgzMnpNMTkyIDgwVjI3MmMwIDI2LjUgMjEuNSA0OCA0OCA0OEg1NjBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWODBjMC0yNi41LTIxLjUtNDgtNDgtNDhINDY0VjE3NmMwIDUuOS0zLjIgMTEuMy04LjUgMTQuMXMtMTEuNSAyLjUtMTYuNC0uOEw0MDAgMTYzLjJsLTM5LjEgMjYuMWMtNC45IDMuMy0xMS4yIDMuNi0xNi40IC44cy04LjUtOC4yLTguNS0xNC4xVjMySDI0MGMtMjYuNSAwLTQ4IDIxLjUtNDggNDh6XCJdXG59O1xudmFyIGZhRG9sbHlGbGF0YmVkID0gZmFDYXJ0RmxhdGJlZDtcbnZhciBmYUJhblNtb2tpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFuLXNtb2tpbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg2ODUsIFwic21va2luZy1iYW5cIl0sIFwiZjU0ZFwiLCBcIk05OS41IDE0NC44TDE3OC43IDIyNGw5NiA5NiA5Mi41IDkyLjVDMzM1LjkgNDM0LjkgMjk3LjUgNDQ4IDI1NiA0NDhDMTUwIDQ0OCA2NCAzNjIgNjQgMjU2YzAtNDEuNSAxMy4xLTc5LjkgMzUuNS0xMTEuMnpNMzMzLjMgMjg4bC0zMi0zMkgzODR2MzJIMzMzLjN6bTMyIDMySDQwMGM4LjggMCAxNi03LjIgMTYtMTZWMjQwYzAtOC44LTcuMi0xNi0xNi0xNkgyNjkuM0wxNDQuOCA5OS41QzE3Ni4xIDc3LjEgMjE0LjUgNjQgMjU2IDY0YzEwNiAwIDE5MiA4NiAxOTIgMTkyYzAgNDEuNS0xMy4xIDc5LjktMzUuNSAxMTEuMkwzNjUuMyAzMjB6TTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0yNzIgOTZjLTguOCAwLTE2IDcuMi0xNiAxNmMwIDI2LjUgMjEuNSA0OCA0OCA0OGgzMmM4LjggMCAxNiA3LjIgMTYgMTZzNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmMwLTI2LjUtMjEuNS00OC00OC00OEgzMDRjLTguOCAwLTE2LTcuMi0xNi0xNnMtNy4yLTE2LTE2LTE2ek0yMjkuNSAzMjBsLTk2LTk2SDExMmMtOC44IDAtMTYgNy4yLTE2IDE2djY0YzAgOC44IDcuMiAxNiAxNiAxNkgyMjkuNXpcIl1cbn07XG52YXIgZmFTbW9raW5nQmFuID0gZmFCYW5TbW9raW5nO1xudmFyIGZhVGVybWluYWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGVybWluYWwnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImYxMjBcIiwgXCJNOS40IDg2LjZDLTMuMSA3NC4xLTMuMSA1My45IDkuNCA0MS40czMyLjgtMTIuNSA0NS4zIDBsMTkyIDE5MmMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtMTkyIDE5MmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMTc4LjcgMjU2IDkuNCA4Ni42ek0yNTYgNDE2SDU0NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgyNTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6XCJdXG59O1xudmFyIGZhTW9iaWxlQnV0dG9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vYmlsZS1idXR0b24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImYxMGJcIiwgXCJNODAgMEM0NC43IDAgMTYgMjguNyAxNiA2NFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzA0YzM1LjMgMCA2NC0yOC43IDY0LTY0VjY0YzAtMzUuMy0yOC43LTY0LTY0LTY0SDgwek0xOTIgNDAwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFIb3VzZU1lZGljYWxGbGFnID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLW1lZGljYWwtZmxhZycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUxNFwiLCBcIk00ODAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMkg2MjRjOC44IDAgMTYgNy4yIDE2IDE2VjE3NmMwIDguOC03LjIgMTYtMTYgMTZINTEyVjUxMkg0NDhWMTkyIDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek0yNzYuOCAzOS43TDQxNiAxNTlWNTEyaDFsLS4yIDBIOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjI4OEgzMmMtMTMuNCAwLTI1LjQtOC4zLTMwLTIwLjlzLTEtMjYuNyA5LjItMzUuNGwyMjQtMTkyYzEyLTEwLjMgMjkuNy0xMC4zIDQxLjcgMHpNMjI0IDIwOHY0OEgxNzZjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoNDh2NDhjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYzMjBoNDhjOC44IDAgMTYtNy4yIDE2LTE2VjI3MmMwLTguOC03LjItMTYtMTYtMTZIMjg4VjIwOGMwLTguOC03LjItMTYtMTYtMTZIMjQwYy04LjggMC0xNiA3LjItMTYgMTZ6XCJdXG59O1xudmFyIGZhQmFza2V0U2hvcHBpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFza2V0LXNob3BwaW5nJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzaG9wcGluZy1iYXNrZXRcIl0sIFwiZjI5MVwiLCBcIk0yNTMuMyAzNS4xYzYuMS0xMS44IDEuNS0yNi4zLTEwLjItMzIuNHMtMjYuMy0xLjUtMzIuNCAxMC4yTDExNy42IDE5MkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkw4My45IDQ2My41QzkxIDQ5MiAxMTYuNiA1MTIgMTQ2IDUxMkg0MzBjMjkuNCAwIDU1LTIwIDYyLjEtNDguNUw1NDQgMjU2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDQ1OC40TDM2NS4zIDEyLjlDMzU5LjIgMS4yIDM0NC43LTMuNCAzMzIuOSAyLjdzLTE2LjMgMjAuNi0xMC4yIDMyLjRMNDA0LjMgMTkySDE3MS43TDI1My4zIDM1LjF6TTE5MiAzMDR2OTZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWMzA0YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ6bTk2LTE2YzguOCAwIDE2IDcuMiAxNiAxNnY5NmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlYzMDRjMC04LjggNy4yLTE2IDE2LTE2em0xMjggMTZ2OTZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWMzA0YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ6XCJdXG59O1xudmFyIGZhU2hvcHBpbmdCYXNrZXQgPSBmYUJhc2tldFNob3BwaW5nO1xudmFyIGZhVGFwZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YXBlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNGRiXCIsIFwiTTM4MC44IDQxNmM0MS41LTQwLjcgNjcuMi05Ny4zIDY3LjItMTYwQzQ0OCAxMzIuMyAzNDcuNyAzMiAyMjQgMzJTMCAxMzIuMyAwIDI1NlMxMDAuMyA0ODAgMjI0IDQ4MEg1NDRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzgwLjh6TTIyNCAxNjBhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6bTY0IDk2YTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHpcIl1cbn07XG52YXIgZmFCdXNTaW1wbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVzLXNpbXBsZScsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiYnVzLWFsdFwiXSwgXCJmNTVlXCIsIFwiTTIyNCAwQzM0OC44IDAgNDQ4IDM1LjIgNDQ4IDgwVjk2IDQxNmMwIDE3LjctMTQuMyAzMi0zMiAzMnYzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkgzNTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjQ0OEgxMjh2MzJjMCAxNy43LTE0LjMgMzItMzIgMzJINjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjk2IDgwQzAgMzUuMiA5OS4yIDAgMjI0IDB6TTY0IDEyOFYyNTZjMCAxNy43IDE0LjMgMzIgMzIgMzJIMzUyYzE3LjcgMCAzMi0xNC4zIDMyLTMyVjEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMkg5NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTgwIDQwMGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTI4OCAwYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG52YXIgZmFCdXNBbHQgPSBmYUJ1c1NpbXBsZTtcbnZhciBmYUV5ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdleWUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjgwNjVdLCBcImYwNmVcIiwgXCJNMjg4IDMyYy04MC44IDAtMTQ1LjUgMzYuOC0xOTIuNiA4MC42QzQ4LjYgMTU2IDE3LjMgMjA4IDIuNSAyNDMuN2MtMy4zIDcuOS0zLjMgMTYuNyAwIDI0LjZDMTcuMyAzMDQgNDguNiAzNTYgOTUuNCAzOTkuNEMxNDIuNSA0NDMuMiAyMDcuMiA0ODAgMjg4IDQ4MHMxNDUuNS0zNi44IDE5Mi42LTgwLjZjNDYuOC00My41IDc4LjEtOTUuNCA5My0xMzEuMWMzLjMtNy45IDMuMy0xNi43IDAtMjQuNmMtMTQuOS0zNS43LTQ2LjItODcuNy05My0xMzEuMUM0MzMuNSA2OC44IDM2OC44IDMyIDI4OCAzMnpNMTQ0IDI1NmExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0xNDQtNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRjLTcuMSAwLTEzLjktMS4yLTIwLjMtMy4zYy01LjUtMS44LTExLjkgMS42LTExLjcgNy40Yy4zIDYuOSAxLjMgMTMuOCAzLjIgMjAuN2MxMy43IDUxLjIgNjYuNCA4MS42IDExNy42IDY3LjlzODEuNi02Ni40IDY3LjktMTE3LjZjLTExLjEtNDEuNS00Ny44LTY5LjQtODguNi03MS4xYy01LjgtLjItOS4yIDYuMS03LjQgMTEuN2MyLjEgNi40IDMuMyAxMy4yIDMuMyAyMC4zelwiXVxufTtcbnZhciBmYUZhY2VTYWRDcnkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1zYWQtY3J5JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTU3LCBcInNhZC1jcnlcIl0sIFwiZjViM1wiLCBcIk0zNTIgNDkzLjRjLTI5LjYgMTItNjIuMSAxOC42LTk2IDE4LjZzLTY2LjQtNi42LTk2LTE4LjZWMjg4YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2VjQ3Ny44QzUxLjUgNDMzLjUgMCAzNTAuOCAwIDI1NkMwIDExNC42IDExNC42IDAgMjU2IDBTNTEyIDExNC42IDUxMiAyNTZjMCA5NC44LTUxLjUgMTc3LjUtMTI4IDIyMS44VjI4OGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNlY0OTMuNHpNMTk1LjIgMjMzLjZjNS4zIDcuMSAxNS4zIDguNSAyMi40IDMuMnM4LjUtMTUuMyAzLjItMjIuNGMtMzAuNC00MC41LTkxLjItNDAuNS0xMjEuNiAwYy01LjMgNy4xLTMuOSAxNy4xIDMuMiAyMi40czE3LjEgMy45IDIyLjQtMy4yYzE3LjYtMjMuNSA1Mi44LTIzLjUgNzAuNCAwem0xMjEuNiAwYzE3LjYtMjMuNSA1Mi44LTIzLjUgNzAuNCAwYzUuMyA3LjEgMTUuMyA4LjUgMjIuNCAzLjJzOC41LTE1LjMgMy4yLTIyLjRjLTMwLjQtNDAuNS05MS4yLTQwLjUtMTIxLjYgMGMtNS4zIDcuMS0zLjkgMTcuMSAzLjIgMjIuNHMxNy4xIDMuOSAyMi40LTMuMnpNMjA4IDMzNnYzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OHM0OC0yMS41IDQ4LTQ4VjMzNmMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OHpcIl1cbn07XG52YXIgZmFTYWRDcnkgPSBmYUZhY2VTYWRDcnk7XG52YXIgZmFBdWRpb0Rlc2NyaXB0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2F1ZGlvLWRlc2NyaXB0aW9uJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMjllXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDUxMmMzNS4zIDAgNjQtMjguNyA2NC02NFY5NmMwLTM1LjMtMjguNy02NC02NC02NEg2NHpNMjEzLjUgMTczLjNsNzIgMTQ0YzUuOSAxMS45IDEuMSAyNi4zLTEwLjcgMzIuMnMtMjYuMyAxLjEtMzIuMi0xMC43bC05LjQtMTguOUgxNTAuOWwtOS40IDE4LjljLTUuOSAxMS45LTIwLjMgMTYuNy0zMi4yIDEwLjdzLTE2LjctMjAuMy0xMC43LTMyLjJsNzItMTQ0YzQuMS04LjEgMTIuNC0xMy4zIDIxLjUtMTMuM3MxNy40IDUuMSAyMS41IDEzLjN6bS0uNCAxMDYuNkwxOTIgMjM3LjdsLTIxLjEgNDIuMmg0Mi4yek0zMDQgMTg0YzAtMTMuMyAxMC43LTI0IDI0LTI0aDU2YzUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2SDMyOGMtMTMuMyAwLTI0LTEwLjctMjQtMjRWMTg0em00OCAyNHY5NmgzMmMyNi41IDAgNDgtMjEuNSA0OC00OHMtMjEuNS00OC00OC00OEgzNTJ6XCJdXG59O1xudmFyIGZhUGVyc29uTWlsaXRhcnlUb1BlcnNvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tbWlsaXRhcnktdG8tcGVyc29uJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTRjXCIsIFwiTTcxIDEyLjVjLTguNiAxLTE1IDguMi0xNSAxNi44YzAgOS4zIDcuNSAxNi44IDE2LjcgMTYuOUgxODQuMWM4LjgtLjEgMTUuOS03LjIgMTUuOS0xNlYxNmMwLTkuNS04LjMtMTctMTcuOC0xNS45TDcxIDEyLjV6TTE4OS41IDc4LjFINjYuNUM2NC45IDgzLjggNjQgODkuOCA2NCA5NmMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0YzAtNi4yLS45LTEyLjItMi41LTE3Ljl6TTMyIDI1NnYzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMkgxOTJjMS44IDAgMy41LS4xIDUuMi0uNEw1MyAyMDguNkM0MC4xIDIyMC4zIDMyIDIzNy4yIDMyIDI1NnptMTkwLjIgNDIuNWMxLjEtMy4zIDEuOC02LjggMS44LTEwLjVWMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDk2Yy0zLjcgMC03LjQgLjMtMTAuOSAuOUwyMjIuMiAyOTguNXpNMzg0IDE2MGE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHptLTMyIDMyYy0zNS4zIDAtNjQgMjguNy02NCA2NHYzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMkg0NDhjMTcuNyAwIDMyLTE0LjMgMzItMzJWMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDM1MnpNMjE1LjggNDUwLjFjNS4yLTQuNiA4LjItMTEuMSA4LjItMTguMXMtMy0xMy41LTguMi0xOC4xbC02NC01NmMtNy4xLTYuMi0xNy4xLTcuNy0yNS43LTMuOFMxMTIgMzY2LjYgMTEyIDM3NnYzMmwtODggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw4OCAwdjMyYzAgOS40IDUuNSAxOCAxNC4xIDIxLjlzMTguNiAyLjQgMjUuNy0zLjhsNjQtNTZ6TTI4OCA0MzEuOWMwIDYuOSAyLjkgMTMuNSA4LjEgMTguMWw2NCA1Ni40YzcuMSA2LjIgMTcuMSA3LjggMjUuNyAzLjlzMTQuMS0xMi40IDE0LjEtMjEuOWwwLTMyLjQgODggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODggMCAwLTMyYzAtOS40LTUuNS0xOC0xNC4xLTIxLjlzLTE4LjYtMi40LTI1LjcgMy44bC02NCA1NmMtNS4yIDQuNS04LjIgMTEuMS04LjIgMTh6XCJdXG59O1xudmFyIGZhRmlsZVNoaWVsZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLXNoaWVsZCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRmMFwiLCBcIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEgyMjRWMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMySDM4NHY0N2wtOTIuOCAzNy4xYy0yMS4zIDguNS0zNS4yIDI5LjEtMzUuMiA1MmMwIDU2LjYgMTguOSAxNDggOTQuMiAyMDguM2MtOSA0LjgtMTkuMyA3LjYtMzAuMiA3LjZINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjY0em0zODQgNjRIMjU2VjBMMzg0IDEyOHptMzkuMSA5Ny43YzUuNy0yLjMgMTIuMS0yLjMgMTcuOCAwbDEyMCA0OEM1NzAgMjc3LjQgNTc2IDI4Ni4yIDU3NiAyOTZjMCA2My4zLTI1LjkgMTY4LjgtMTM0LjggMjE0LjJjLTUuOSAyLjUtMTIuNiAyLjUtMTguNSAwQzMxMy45IDQ2NC44IDI4OCAzNTkuMyAyODggMjk2YzAtOS44IDYtMTguNiAxNS4xLTIyLjNsMTIwLTQ4ek01MjcuNCAzMTJMNDMyIDI3My44VjQ2MS43YzY4LjItMzMgOTEuNS05OSA5NS40LTE0OS43elwiXVxufTtcbnZhciBmYVVzZXJTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNTA2XCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdMMzUzLjMgMjUxLjZDNDA3LjkgMjM3IDQ0OCAxODcuMiA0NDggMTI4QzQ0OCA1Ny4zIDM5MC43IDAgMzIwIDBDMjUwLjIgMCAxOTMuNSA1NS44IDE5MiAxMjUuMkwzOC44IDUuMXpNMjY0LjMgMzA0LjNDMTcwLjUgMzA5LjQgOTYgMzg3LjIgOTYgNDgyLjNjMCAxNi40IDEzLjMgMjkuNyAyOS43IDI5LjdINTE0LjNjMy45IDAgNy42LS43IDExLTIuMWwtMjYxLTIwNS42elwiXVxufTtcbnZhciBmYVBlbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZW4nLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgzOTRdLCBcImYzMDRcIiwgXCJNMzYyLjcgMTkuM0wzMTQuMyA2Ny43IDQ0NC4zIDE5Ny43bDQ4LjQtNDguNGMyNS0yNSAyNS02NS41IDAtOTAuNUw0NTMuMyAxOS4zYy0yNS0yNS02NS41LTI1LTkwLjUgMHptLTcxIDcxTDU4LjYgMzIzLjVjLTEwLjQgMTAuNC0xOCAyMy4zLTIyLjIgMzcuNEwxIDQ4MS4yQy0xLjUgNDg5LjcgLjggNDk4LjggNyA1MDVzMTUuMyA4LjUgMjMuNyA2LjFsMTIwLjMtMzUuNGMxNC4xLTQuMiAyNy0xMS44IDM3LjQtMjIuMkw0MjEuNyAyMjAuMyAyOTEuNyA5MC4zelwiXVxufTtcbnZhciBmYVRvd2VyT2JzZXJ2YXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndG93ZXItb2JzZXJ2YXRpb24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1ODZcIiwgXCJNMjQxLjcgMy40YzktNC41IDE5LjYtNC41IDI4LjYgMGwxNjAgODBjMTUuOCA3LjkgMjIuMiAyNy4xIDE0LjMgNDIuOUM0MzkgMTM3LjUgNDI3LjcgMTQ0IDQxNiAxNDR2ODBjMCAxNy43LTE0LjMgMzItMzIgMzJoLTQuOWwzMiAxOTJINDgwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDM4NC41Yy0uNCAwLS44IDAtMS4xIDBIMTI4LjZjLS40IDAtLjggMC0xLjEgMEgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmg2OC45bDMyLTE5MkgxMjhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjE0NGMtMTEuNyAwLTIzLTYuNS0yOC42LTE3LjdjLTcuOS0xNS44LTEuNS0zNSAxNC4zLTQyLjlsMTYwLTgwek0zMTQuNSA0NDhMMjU2IDM5OS4yIDE5Ny41IDQ0OGgxMTd6TTE5Ny44IDI1NmwtNC43IDI4LjNMMjU2IDMzNi44bDYyLjktNTIuNUwzMTQuMiAyNTZIMTk3Ljh6bS0xMy45IDgzLjJsLTExLjIgNjdMMjE4LjUgMzY4bC0zNC42LTI4Ljh6TTI5My41IDM2OGw0NS44IDM4LjEtMTEuMi02N0wyOTMuNSAzNjh6TTE3NiAxMjhjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZIMzM2YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDE3NnpcIl1cbn07XG52YXIgZmFGaWxlQ29kZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLWNvZGUnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImYxYzlcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDMyMGMzNS4zIDAgNjQtMjguNyA2NC02NFYxNjBIMjU2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYwSDY0ek0yNTYgMFYxMjhIMzg0TDI1NiAwek0xNTMgMjg5bC0zMSAzMSAzMSAzMWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDcxIDMzN2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsNDgtNDhjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45ek0yNjUgMjU1bDQ4IDQ4YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC00OCA0OGMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMS0zMS0zMS0zMWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwelwiXVxufTtcbnZhciBmYVNpZ25hbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaWduYWwnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjgyNDYsIFwic2lnbmFsLTVcIiwgXCJzaWduYWwtcGVyZmVjdFwiXSwgXCJmMDEyXCIsIFwiTTU3NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNDQ4IDk2YzE3LjcgMCAzMiAxNC4zIDMyIDMyVjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYxMjhjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTM1MiAyMjRWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjIyNGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyek0xOTIgMjg4YzE3LjcgMCAzMiAxNC4zIDMyIDMyVjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzMjBjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTk2IDQxNnY2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY0MTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnpcIl1cbn07XG52YXIgZmFTaWduYWw1ID0gZmFTaWduYWw7XG52YXIgZmFTaWduYWxQZXJmZWN0ID0gZmFTaWduYWw7XG52YXIgZmFCdXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4NjUzXSwgXCJmMjA3XCIsIFwiTTI4OCAwQzQyMi40IDAgNTEyIDM1LjIgNTEyIDgwVjk2bDAgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJsMCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJ2MzJjMCAxNy43LTE0LjMgMzItMzIgMzJINDE2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlY0NDhIMTkydjMyYzAgMTcuNy0xNC4zIDMyLTMyIDMySDEyOGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0zMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmgwVjk2aDBWODBDNjQgMzUuMiAxNTMuNiAwIDI4OCAwek0xMjggMTYwdjk2YzAgMTcuNyAxNC4zIDMyIDMyIDMySDI3MlYxMjhIMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMzA0IDI4OEg0MTZjMTcuNyAwIDMyLTE0LjMgMzItMzJWMTYwYzAtMTcuNy0xNC4zLTMyLTMyLTMySDMwNFYyODh6TTE0NCA0MDBhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0yODggMGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTM4NCA4MGMwLTguOC03LjItMTYtMTYtMTZIMjA4Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2SDM2OGM4LjggMCAxNi03LjIgMTYtMTZ6XCJdXG59O1xudmFyIGZhSGVhcnRDaXJjbGVYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFydC1jaXJjbGUteG1hcmsnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1MDFcIiwgXCJNNDcuNiAzMDAuNEwyMjguMyA0NjkuMWM3LjUgNyAxNy40IDEwLjkgMjcuNyAxMC45czIwLjItMy45IDI3LjctMTAuOWwyLjYtMi40QzI2Ny4yIDQzOC42IDI1NiA0MDQuNiAyNTYgMzY4YzAtOTcuMiA3OC44LTE3NiAxNzYtMTc2YzI4LjMgMCA1NSA2LjcgNzguNyAxOC41Yy45LTYuNSAxLjMtMTMgMS4zLTE5LjZ2LTUuOGMwLTY5LjktNTAuNS0xMjkuNS0xMTkuNC0xNDFDMzQ3IDM2LjUgMzAwLjYgNTEuNCAyNjggODRMMjU2IDk2IDI0NCA4NGMtMzIuNi0zMi42LTc5LTQ3LjUtMTI0LjYtMzkuOUM1MC41IDU1LjYgMCAxMTUuMiAwIDE4NS4xdjUuOGMwIDQxLjUgMTcuMiA4MS4yIDQ3LjYgMTA5LjV6TTQzMiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em01OS4zLTE4MC43TDQ1NC42IDM2OGwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMEw0MzIgMzkwLjZsLTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkw0MDkuNCAzNjhsLTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQzMiAzNDUuNGwzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42elwiXVxufTtcbnZhciBmYUhvdXNlQ2hpbW5leSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1jaGltbmV5JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbNjM0OTksIFwiaG9tZS1sZ1wiXSwgXCJlM2FmXCIsIFwiTTU0My44IDI4Ny42YzE3IDAgMzItMTQgMzItMzIuMWMxLTktMy0xNy0xMS0yNEw1MTIgMTg1VjY0YzAtMTcuNy0xNC4zLTMyLTMyLTMySDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2MzYuN0wzMDkuNSA3Yy02LTUtMTQtNy0yMS03cy0xNSAxLTIyIDhMMTAgMjMxLjVjLTcgNy0xMCAxNS0xMCAyNGMwIDE4IDE0IDMyLjEgMzIgMzIuMWgzMnY2OS43Yy0uMSAuOS0uMSAxLjgtLjEgMi44VjQ3MmMwIDIyLjEgMTcuOSA0MCA0MCA0MGgxNmMxLjIgMCAyLjQtLjEgMy42LS4yYzEuNSAuMSAzIC4yIDQuNSAuMkgxNjBoMjRjMjIuMSAwIDQwLTE3LjkgNDAtNDBWNDQ4IDM4NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmg2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnY2NCAyNGMwIDIyLjEgMTcuOSA0MCA0MCA0MGgyNCAzMi41YzEuNCAwIDIuOCAwIDQuMi0uMWMxLjEgLjEgMi4yIC4xIDMuMyAuMWgxNmMyMi4xIDAgNDAtMTcuOSA0MC00MFY0NTUuOGMuMy0yLjYgLjUtNS4zIC41LTguMWwtLjctMTYwLjJoMzJ6XCJdXG59O1xudmFyIGZhSG9tZUxnID0gZmFIb3VzZUNoaW1uZXk7XG52YXIgZmFXaW5kb3dNYXhpbWl6ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3aW5kb3ctbWF4aW1pemUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg0NzBdLCBcImYyZDBcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRINDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0ek05NiA5Nkg0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6XCJdXG59O1xudmFyIGZhRmFjZUZyb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtZnJvd24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5Nzg1LCBcImZyb3duXCJdLCBcImYxMTlcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE1OS4zIDM4OC43Yy0yLjYgOC40LTExLjYgMTMuMi0yMCAxMC41cy0xMy4yLTExLjYtMTAuNS0yMEMxNDUuMiAzMjYuMSAxOTYuMyAyODggMjU2IDI4OHMxMTAuOCAzOC4xIDEyNy4zIDkxLjNjMi42IDguNC0yLjEgMTcuNC0xMC41IDIwcy0xNy40LTIuMS0yMC0xMC41QzM0MC41IDM0OS40IDMwMi4xIDMyMCAyNTYgMzIwcy04NC41IDI5LjQtOTYuNyA2OC43ek0xNDQuNCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFGcm93biA9IGZhRmFjZUZyb3duO1xudmFyIGZhUHJlc2NyaXB0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ByZXNjcmlwdGlvbicsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjViMVwiLCBcIk0zMiAwQzE0LjMgMCAwIDE0LjMgMCAzMlYxOTJ2OTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyMjRoNTAuN2wxMjggMTI4TDEzNy40IDQ1Ny40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDI4OCAzOTcuMyAzOTMuNCA1MDIuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDMzMy4zIDM1MiA0MzguNiAyNDYuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwyODggMzA2LjdsLTg1LjgtODUuOEMyNTEuNCAyMDkuMSAyODggMTY0LjggMjg4IDExMkMyODggNTAuMSAyMzcuOSAwIDE3NiAwSDMyek0xNzYgMTYwSDY0VjY0SDE3NmMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OHpcIl1cbn07XG52YXIgZmFTaG9wID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Nob3AnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInN0b3JlLWFsdFwiXSwgXCJmNTRmXCIsIFwiTTM2LjggMTkySDYwMy4yYzIwLjMgMCAzNi44LTE2LjUgMzYuOC0zNi44YzAtNy4zLTIuMi0xNC40LTYuMi0yMC40TDU1OC4yIDIxLjRDNTQ5LjMgOCA1MzQuNCAwIDUxOC4zIDBIMTIxLjdjLTE2IDAtMzEgOC0zOS45IDIxLjRMNi4yIDEzNC43Yy00IDYuMS02LjIgMTMuMi02LjIgMjAuNEMwIDE3NS41IDE2LjUgMTkyIDM2LjggMTkyek02NCAyMjRWMzg0djgwYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDMzNmMyNi41IDAgNDgtMjEuNSA0OC00OFYzODQgMjI0SDMyMFYzODRIMTI4VjIyNEg2NHptNDQ4IDBWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMjI0SDUxMnpcIl1cbn07XG52YXIgZmFTdG9yZUFsdCA9IGZhU2hvcDtcbnZhciBmYUZsb3BweURpc2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmxvcHB5LWRpc2snLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjgxOTAsIDEyODQyNiwgXCJzYXZlXCJdLCBcImYwYzdcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzg0YzM1LjMgMCA2NC0yOC43IDY0LTY0VjE3My4zYzAtMTctNi43LTMzLjMtMTguNy00NS4zTDM1MiA1MC43QzM0MCAzOC43IDMyMy43IDMyIDMwNi43IDMySDY0em0wIDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMySDI4OGMxNy43IDAgMzIgMTQuMyAzMiAzMnY2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkg5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMTI4ek0yMjQgMjg4YTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4elwiXVxufTtcbnZhciBmYVNhdmUgPSBmYUZsb3BweURpc2s7XG52YXIgZmFWaWhhcmEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmloYXJhJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNmE3XCIsIFwiTTI4MSAyMkwzMDUuOCA0LjdjMS4zLS45IDIuNy0xLjggNC4xLTIuNEMzMTMuMSAuNyAzMTYuNiAwIDMyMCAwczYuOSAuNyAxMC4xIDIuMmMxLjQgLjcgMi44IDEuNSA0LjEgMi40TDM1OSAyMkMzOTMgNDUuOCA0MzAuOCA2My41IDQ3MC44IDc0LjRsMjMgNi4zYzEuOCAuNSAzLjYgMS4xIDUuMiAyYzMuMiAxLjcgNS45IDQgOC4xIDYuOGMzLjggNC45IDUuNiAxMS4zIDQuNyAxNy44Yy0uNCAyLjgtMS4yIDUuNC0yLjUgNy44Yy0xLjcgMy4yLTQgNS45LTYuOCA4LjFjLTQuMyAzLjItOS42IDUuMS0xNS4xIDQuOUg0ODB2NTYuMWw2LjQgNS4xIDUuMiA0LjFjMjEuMSAxNi43IDQ1IDI5LjYgNzAuNSAzOC4xbDI4LjkgOS42YzEuNiAuNSAzLjIgMS4yIDQuNiAyYzMuMSAxLjcgNS44IDQuMSA3LjggNi45czMuNSA2LjEgNC4xIDkuNmMuNSAyLjcgLjYgNS41IC4xIDguM3MtMS40IDUuNC0yLjcgNy44Yy0xLjcgMy4xLTQuMSA1LjgtNi45IDcuOHMtNi4xIDMuNS05LjYgNC4xYy0xLjYgLjMtMy4zIC40LTUgLjRINTQ0djY1LjljMjAuNSAyMi44IDQ3LjQgMzkuMiA3Ny40IDQ2LjdDNjMyIDQwMyA2NDAgNDEyLjYgNjQwIDQyNGMwIDEzLjMtMTAuNyAyNC0yNCAyNEg1NzZ2MzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWNDQ4SDM1MnYzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY0NDhIMTI4djMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjQ0OEgyNGMtMTMuMyAwLTI0LTEwLjctMjQtMjRjMC0xMS40IDgtMjEgMTguNi0yMy40YzMwLTcuNiA1Ni45LTIzLjkgNzcuNC00Ni43VjI4OEg1Ni42Yy0xLjcgMC0zLjQtLjEtNS0uNGMtMy41LS43LTYuOC0yLjEtOS42LTQuMXMtNS4yLTQuNy03LTcuOGMtMS4zLTIuNC0yLjMtNS0yLjctNy44cy0uNC01LjYgLjEtOC4zYy43LTMuNSAyLjEtNi44IDQuMS05LjZzNC43LTUuMiA3LjgtNi45YzEuNC0uOCAzLTEuNSA0LjYtMmwyOC45LTkuNmMyNS41LTguNSA0OS40LTIxLjQgNzAuNS0zOC4xbDUuMi00LjEgNi40LTUuMVYxNzYgMTI4aC03LjVjLTUuNSAuMS0xMC44LTEuNy0xNS4xLTQuOWMtMi44LTIuMS01LjEtNC44LTYuOC04LjFjLTEuMi0yLjQtMi4xLTUtMi41LTcuOGMtLjktNi41IC45LTEyLjggNC43LTE3LjhjMi4xLTIuOCA0LjgtNS4xIDguMS02LjhjMS42LS44IDMuNC0xLjUgNS4yLTJsMjMtNi4zQzIwOS4yIDYzLjUgMjQ3IDQ1LjggMjgxIDIyek00MTYgMTI4SDMyMCAyMjR2NjRoNzIgNDggNzJWMTI4ek0xNjAgMjg4djY0SDI5NmgyNCAyNEg0ODBWMjg4SDM0NCAzMjBoMEgyOTYgMTYwelwiXVxufTtcbnZhciBmYVNjYWxlVW5iYWxhbmNlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzY2FsZS11bmJhbGFuY2VkJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJiYWxhbmNlLXNjYWxlLWxlZnRcIl0sIFwiZjUxNVwiLCBcIk01MjIuMSA2Mi40YzE2LjgtNS42IDI1LjgtMjMuNyAyMC4yLTQwLjVTNTE4LjYtMy45IDUwMS45IDEuNmwtMTEzIDM3LjdDMzc1IDE1LjggMzQ5LjMgMCAzMjAgMGMtNDQuMiAwLTgwIDM1LjgtODAgODBjMCAzIC4yIDUuOSAuNSA4LjhMMTE3LjkgMTI5LjZjLTE2LjggNS42LTI1LjggMjMuNy0yMC4yIDQwLjVzMjMuNyAyNS44IDQwLjUgMjAuMmwxMzUuNS00NS4yYzQuNSAzLjIgOS4zIDUuOSAxNC40IDguMlY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJINTEyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDM1MlYxNTMuM2MyMS05LjIgMzcuMi0yNyA0NC4yLTQ5bDEyNS45LTQyek00MzkuNiAyODhMNTEyIDE2My44IDU4NC40IDI4OEg0MzkuNnpNNTEyIDM4NGM2Mi45IDAgMTE1LjItMzQgMTI2LTc4LjljMi42LTExLTEtMjIuMy02LjctMzIuMUw1MzYuMSAxMDkuOGMtNS04LjYtMTQuMi0xMy44LTI0LjEtMTMuOHMtMTkuMSA1LjMtMjQuMSAxMy44TDM5Mi43IDI3My4xYy01LjcgOS44LTkuMyAyMS4xLTYuNyAzMi4xQzM5Ni44IDM1MCA0NDkuMSAzODQgNTEyIDM4NHpNMTI5LjIgMjkxLjhMMjAxLjYgNDE2SDU2LjdsNzIuNC0xMjQuMnpNMy4yIDQzMy4xQzE0IDQ3OCA2Ni4zIDUxMiAxMjkuMiA1MTJzMTE1LjItMzQgMTI2LTc4LjljMi42LTExLTEtMjIuMy02LjctMzIuMUwxNTMuMiAyMzcuOGMtNS04LjYtMTQuMi0xMy44LTI0LjEtMTMuOHMtMTkuMSA1LjMtMjQuMSAxMy44TDkuOSA0MDEuMWMtNS43IDkuOC05LjMgMjEuMS02LjcgMzIuMXpcIl1cbn07XG52YXIgZmFCYWxhbmNlU2NhbGVMZWZ0ID0gZmFTY2FsZVVuYmFsYW5jZWQ7XG52YXIgZmFTb3J0VXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc29ydC11cCcsXG4gIGljb246IFszMjAsIDUxMiwgW1wic29ydC1hc2NcIl0sIFwiZjBkZVwiLCBcIk0xODIuNiA0MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTI4IDEyOGMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0LjlzMTYuNiAxOS44IDI5LjYgMTkuOEgyODhjMTIuOSAwIDI0LjYtNy44IDI5LjYtMTkuOHMyLjItMjUuNy02LjktMzQuOWwtMTI4LTEyOHpcIl1cbn07XG52YXIgZmFTb3J0QXNjID0gZmFTb3J0VXA7XG52YXIgZmFDb21tZW50RG90cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb21tZW50LWRvdHMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgxNzIsIDYyMDc1LCBcImNvbW1lbnRpbmdcIl0sIFwiZjRhZFwiLCBcIk0yNTYgNDQ4YzE0MS40IDAgMjU2LTkzLjEgMjU2LTIwOFMzOTcuNCAzMiAyNTYgMzJTMCAxMjUuMSAwIDI0MGMwIDQ1LjEgMTcuNyA4Ni44IDQ3LjcgMTIwLjljLTEuOSAyNC41LTExLjQgNDYuMy0yMS40IDYyLjljLTUuNSA5LjItMTEuMSAxNi42LTE1LjIgMjEuNmMtMi4xIDIuNS0zLjcgNC40LTQuOSA1LjdjLS42IC42LTEgMS4xLTEuMyAxLjRsLS4zIC4zIDAgMCAwIDAgMCAwIDAgMGMtNC42IDQuNi01LjkgMTEuNC0zLjQgMTcuNGMyLjUgNiA4LjMgOS45IDE0LjggOS45YzI4LjcgMCA1Ny42LTguOSA4MS42LTE5LjNjMjIuOS0xMCA0Mi40LTIxLjkgNTQuMy0zMC42YzMxLjggMTEuNSA2NyAxNy45IDEwNC4xIDE3Ljl6TTEyOCAyMDhhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTk2IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6XCJdXG59O1xudmFyIGZhQ29tbWVudGluZyA9IGZhQ29tbWVudERvdHM7XG52YXIgZmFQbGFudFdpbHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGxhbnQtd2lsdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTVhYVwiLCBcIk0yODggMTIwYzAtMzAuOSAyNS4xLTU2IDU2LTU2czU2IDI1LjEgNTYgNTZ2MTNjLTI5LjMgMTAtNDggMzQuNS00OCA3MC4xYzAgMjcuOSAyNS4zIDc0LjggNjYgMTExLjZjMy44IDMuNSA4LjkgNS4zIDE0IDUuM3MxMC4yLTEuOCAxNC01LjNjNDAuNy0zNi44IDY2LTgzLjcgNjYtMTExLjZjMC0zNS42LTE4LjctNjAuMi00OC03MC4xVjEyMEM0NjQgNTMuNyA0MTAuMyAwIDM0NCAwUzIyNCA1My43IDIyNCAxMjB2MjEuOEMyMDcuMyAxMzMgMTg4LjIgMTI4IDE2OCAxMjhjLTY2LjMgMC0xMjAgNTMuNy0xMjAgMTIwdjEzYy0yOS4zIDEwLTQ4IDM0LjUtNDggNzAuMUMwIDM1OSAyNS4zIDQwNS45IDY2IDQ0Mi43YzMuOCAzLjUgOC45IDUuMyAxNCA1LjNzMTAuMi0xLjggMTQtNS4zYzQwLjctMzYuOCA2Ni04My43IDY2LTExMS42YzAtMzUuNi0xOC43LTYwLjItNDgtNzAuMVYyNDhjMC0zMC45IDI1LjEtNTYgNTYtNTZzNTYgMjUuMSA1NiA1NnYzMlY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyODAgMjQ4IDEyMHpcIl1cbn07XG52YXIgZmFEaWFtb25kID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpYW1vbmQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5ODMwXSwgXCJmMjE5XCIsIFwiTTI4NC4zIDExLjdjLTE1LjYtMTUuNi00MC45LTE1LjYtNTYuNiAwbC0yMTYgMjE2Yy0xNS42IDE1LjYtMTUuNiA0MC45IDAgNTYuNmwyMTYgMjE2YzE1LjYgMTUuNiA0MC45IDE1LjYgNTYuNiAwbDIxNi0yMTZjMTUuNi0xNS42IDE1LjYtNDAuOSAwLTU2LjZsLTIxNi0yMTZ6XCJdXG59O1xudmFyIGZhRmFjZUdyaW5TcXVpbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1ncmluLXNxdWludCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODUxOCwgXCJncmluLXNxdWludFwiXSwgXCJmNTg1XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0zODguMSAzMTIuOGMxMi4zLTMuOCAyNC4zIDYuOSAxOS4zIDE4LjdDMzgyLjQgMzkwLjYgMzI0LjIgNDMyIDI1Ni4zIDQzMnMtMTI2LjItNDEuNC0xNTEuMS0xMDAuNWMtNS0xMS44IDctMjIuNSAxOS4zLTE4LjdjMzkuNyAxMi4yIDg0LjUgMTkgMTMxLjggMTlzOTIuMS02LjggMTMxLjgtMTl6TTEzMy41IDE0Ni43bDg5LjkgNDcuOWMxMC43IDUuNyAxMC43IDIxLjEgMCAyNi44bC04OS45IDQ3LjljLTcuOSA0LjItMTcuNS0xLjUtMTcuNS0xMC41YzAtMi44IDEtNS41IDIuOC03LjZsMzYtNDMuMi0zNi00My4yYy0xLjgtMi4xLTIuOC00LjgtMi44LTcuNmMwLTkgOS42LTE0LjcgMTcuNS0xMC41ek0zOTYgMTU3LjFjMCAyLjgtMSA1LjUtMi44IDcuNmwtMzYgNDMuMiAzNiA0My4yYzEuOCAyLjEgMi44IDQuOCAyLjggNy42YzAgOS05LjYgMTQuNy0xNy41IDEwLjVsLTg5LjktNDcuOWMtMTAuNy01LjctMTAuNy0yMS4xIDAtMjYuOGw4OS45LTQ3LjljNy45LTQuMiAxNy41IDEuNSAxNy41IDEwLjV6XCJdXG59O1xudmFyIGZhR3JpblNxdWludCA9IGZhRmFjZUdyaW5TcXVpbnQ7XG52YXIgZmFIYW5kSG9sZGluZ0RvbGxhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLWhvbGRpbmctZG9sbGFyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJoYW5kLWhvbGRpbmctdXNkXCJdLCBcImY0YzBcIiwgXCJNMzEyIDI0VjM0LjVjNi40IDEuMiAxMi42IDIuNyAxOC4yIDQuMmMxMi44IDMuNCAyMC40IDE2LjYgMTcgMjkuNHMtMTYuNiAyMC40LTI5LjQgMTdjLTEwLjktMi45LTIxLjEtNC45LTMwLjItNWMtNy4zLS4xLTE0LjcgMS43LTE5LjQgNC40Yy0yLjEgMS4zLTMuMSAyLjQtMy41IDNjLS4zIC41LS43IDEuMi0uNyAyLjhjMCAuMyAwIC41IDAgLjZjLjIgLjIgLjkgMS4yIDMuMyAyLjZjNS44IDMuNSAxNC40IDYuMiAyNy40IDEwLjFsLjkgLjNjMTEuMSAzLjMgMjUuOSA3LjggMzcuOSAxNS4zYzEzLjcgOC42IDI2LjEgMjIuOSAyNi40IDQ0LjljLjMgMjIuNS0xMS40IDM4LjktMjYuNyA0OC41Yy02LjcgNC4xLTEzLjkgNy0yMS4zIDguOFYyMzJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWMjIwLjZjLTkuNS0yLjMtMTguMi01LjMtMjUuNi03LjhjLTIuMS0uNy00LjEtMS40LTYtMmMtMTIuNi00LjItMTkuNC0xNy44LTE1LjItMzAuNHMxNy44LTE5LjQgMzAuNC0xNS4yYzIuNiAuOSA1IDEuNyA3LjMgMi41YzEzLjYgNC42IDIzLjQgNy45IDMzLjkgOC4zYzggLjMgMTUuMS0xLjYgMTkuMi00LjFjMS45LTEuMiAyLjgtMi4yIDMuMi0yLjljLjQtLjYgLjktMS44IC44LTQuMWwwLS4yYzAtMSAwLTIuMS00LTQuNmMtNS43LTMuNi0xNC4zLTYuNC0yNy4xLTEwLjNsLTEuOS0uNmMtMTAuOC0zLjItMjUtNy41LTM2LjQtMTQuNGMtMTMuNS04LjEtMjYuNS0yMi0yNi42LTQ0LjFjLS4xLTIyLjkgMTIuOS0zOC42IDI3LjctNDcuNGM2LjQtMy44IDEzLjMtNi40IDIwLjItOC4yVjI0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6TTU2OC4yIDMzNi4zYzEzLjEgMTcuOCA5LjMgNDIuOC04LjUgNTUuOUw0MzMuMSA0ODUuNWMtMjMuNCAxNy4yLTUxLjYgMjYuNS04MC43IDI2LjVIMTkyIDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMlY0MTZjMC0xNy43IDE0LjMtMzIgMzItMzJINjguOGw0NC45LTM2YzIyLjctMTguMiA1MC45LTI4IDgwLTI4SDI3MmgxNiA2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgyODggMjcyYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2SDM5Mi42bDExOS43LTg4LjJjMTcuOC0xMy4xIDQyLjgtOS4zIDU1LjkgOC41ek0xOTMuNiAzODRsMCAwLS45IDBjLjMgMCAuNiAwIC45IDB6XCJdXG59O1xudmFyIGZhSGFuZEhvbGRpbmdVc2QgPSBmYUhhbmRIb2xkaW5nRG9sbGFyO1xudmFyIGZhQmFjdGVyaXVtID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhY3Rlcml1bScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTA1YVwiLCBcIk00MjMuMSAzMC42YzMuNi0xMi43LTMuNy0yNi0xNi41LTI5LjdzLTI2IDMuNy0yOS43IDE2LjVsLTQuMiAxNC43Yy05LjgtLjQtMTkuOSAuNS0yOS45IDIuOGMtMTIuMSAyLjgtMjMuNyA1LjktMzQuOSA5LjRsLTUuOS0xMy43Yy01LjItMTIuMi0xOS4zLTE3LjgtMzEuNS0xMi42cy0xNy44IDE5LjMtMTIuNiAzMS41bDQuOSAxMS4zYy0yMiA5LjQtNDIgMjAuMS02MC4yIDMxLjhMMTk2IDgyLjdjLTcuNC0xMS0yMi4zLTE0LTMzLjMtNi43cy0xNCAyMi4zLTYuNyAzMy4zbDcuOCAxMS42Yy0xOCAxNS0zMy43IDMwLjgtNDcuMyA0Ny4xTDEwMyAxNTcuM2MtMTAuNC04LjMtMjUuNS02LjYtMzMuNyAzLjdzLTYuNiAyNS41IDMuNyAzMy43bDE1IDEyYy0yLjEgMy4yLTQuMSA2LjUtNiA5LjdjLTkuNCAxNS43LTE3IDMxLTIzLjIgNDUuM2wtOS45LTMuOWMtMTIuMy00LjktMjYuMyAxLjEtMzEuMiAxMy40czEuMSAyNi4zIDEzLjQgMzEuMmwxMS42IDQuNmMtLjMgMS4xLS42IDIuMS0uOSAzLjFjLTMuNSAxMi41LTUuNyAyMy4yLTcuMSAzMS4zYy0uNyA0LjEtMS4yIDcuNS0xLjYgMTAuM2MtLjIgMS40LS4zIDIuNi0uNCAzLjZsLS4xIDEuNC0uMSAuNiAwIC4zIDAgLjFjMCAwIDAgLjEgMzkuMiAzLjdsMCAwLTM5LjItMy42Yy0uNSA1LS42IDEwLS40IDE0LjlsLTE0LjcgNC4yQzQuNyAzODAuNi0yLjcgMzkzLjggLjkgNDA2LjZzMTYuOSAyMC4xIDI5LjcgMTYuNWwxMy44LTMuOWMxMC42IDIwLjcgMjcuNiAzNy44IDQ4LjUgNDguNWwtMy45IDEzLjdjLTMuNiAxMi43IDMuNyAyNiAxNi41IDI5LjdzMjYtMy43IDI5LjctMTYuNWw0LjItMTQuN2MyMy44IDEgNDYuMy01LjUgNjUuMS0xNy42TDIxNSA0NzNjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC0xMC42LTEwLjZjOS4xLTE0LjEgMTUuMS0zMC41IDE3LTQ4LjNsLjEtLjhjLjMtMS43IDEtNS4xIDIuMy05LjhsLjItLjggMTIuNiA1LjRjMTIuMiA1LjIgMjYuMy0uNCAzMS41LTEyLjZzLS40LTI2LjMtMTIuNi0zMS41bC0xMS4zLTQuOGM5LjktMTQuOSAyNC45LTMxLjYgNDguNi00NmwyLjEgNy41YzMuNiAxMi43IDE2LjkgMjAuMSAyOS43IDE2LjVzMjAuMS0xNi45IDE2LjUtMjkuN0wzNzEgMjU5LjJjNi45LTIuMiAxNC4zLTQuMyAyMi4yLTYuMWMxMi45LTMgMjQuNy04IDM1LjItMTQuOEw0MzkgMjQ5YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMTAuNi0xMC42YzEyLjItMTkgMTguNi00MS42IDE3LjYtNjUuMWwxNC43LTQuMmMxMi43LTMuNiAyMC4xLTE2LjkgMTYuNS0yOS43cy0xNi45LTIwLjEtMjkuNy0xNi41bC0xMy43IDMuOWMtMTAuOC0yMS4yLTI4LTM4LTQ4LjUtNDguNWwzLjktMTMuOHpNOTIuMSAzNjMuM2wwIDBMMTQ0IDM2OGwtNTEuOS00Ljd6TTExMiAzMjBhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNMjQwIDE4NGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6XCJdXG59O1xudmFyIGZhSGFuZFBvaW50ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZC1wb2ludGVyJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMjVhXCIsIFwiTTEyOCA0MGMwLTIyLjEgMTcuOS00MCA0MC00MHM0MCAxNy45IDQwIDQwVjE4OC4yYzguNS03LjYgMTkuNy0xMi4yIDMyLTEyLjJjMjAuNiAwIDM4LjIgMTMgNDUgMzEuMmM4LjgtOS4zIDIxLjItMTUuMiAzNS0xNS4yYzI1LjMgMCA0NiAxOS41IDQ3LjkgNDQuM2M4LjUtNy43IDE5LjgtMTIuMyAzMi4xLTEyLjNjMjYuNSAwIDQ4IDIxLjUgNDggNDh2NDggMTYgNDhjMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhsLTE2IDBIMjQwbC0uMSAwaC01LjJjLTUgMC05LjktLjMtMTQuNy0xYy01NS4zLTUuNi0xMDYuMi0zNC0xNDAtNzlMOCAzMzZjLTEzLjMtMTcuNy05LjctNDIuNyA4LTU2czQyLjctOS43IDU2IDhsNTYgNzQuN1Y0MHpNMjQwIDMwNGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNnY5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjMwNHptNDgtMTZjLTguOCAwLTE2IDcuMi0xNiAxNnY5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjMwNGMwLTguOC03LjItMTYtMTYtMTZ6bTgwIDE2YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2djk2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMzA0elwiXVxufTtcbnZhciBmYURydW1TdGVlbHBhbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkcnVtLXN0ZWVscGFuJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNTZhXCIsIFwiTTI4OCAzMmMxNTkuMSAwIDI4OCA0OCAyODggMTI4VjM1MmMwIDgwLTEyOC45IDEyOC0yODggMTI4UzAgNDMyIDAgMzUyVjE2MEMwIDgwIDEyOC45IDMyIDI4OCAzMnpNNTI4IDE2MGMwLTkuOS04LTI5LjktNTUtNDkuOGMtMTguNi03LjktNDAuOS0xNC40LTY2LTE5LjRsLTI3LjggNDMuNmMtNy4zIDExLjUtMTEuMiAyNC44LTExLjIgMzguNGMwIDE3LjUgNi40IDM0LjQgMTguMSA0Ny41bDkuOCAxMWMyOS44LTUuMiA1NS45LTEyLjUgNzcuMi0yMS41YzQ3LjEtMTkuOSA1NS0zOS45IDU1LTQ5Ljh6TTM0OS4yIDIzNy4zYy04LTI2LjItMzIuNC00NS4zLTYxLjItNDUuM3MtNTMuMyAxOS4xLTYxLjIgNDUuM2MxOS40IDEuNyAzOS45IDIuNyA2MS4yIDIuN3M0MS44LS45IDYxLjItMi43ek0xNjkgOTAuOGMtMjUuMiA1LTQ3LjQgMTEuNi02NiAxOS40QzU2IDEzMC4xIDQ4IDE1MC4xIDQ4IDE2MHM4IDI5LjkgNTUgNDkuOGMyMS4zIDkgNDcuNCAxNi4zIDc3LjIgMjEuNWw5LjgtMTFjMTEuNi0xMy4xIDE4LjEtMzAgMTguMS00Ny41YzAtMTMuNi0zLjktMjYuOS0xMS4yLTM4LjRMMTY5IDkwLjh6bTU2LjMtOEMyMjQuNSA4NyAyMjQgOTEuNSAyMjQgOTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NGMwLTQuNS0uNS05LTEuNC0xMy4yQzMzMC44IDgxIDMwOS44IDgwIDI4OCA4MHMtNDIuOCAxLTYyLjYgMi44elwiXVxufTtcbnZhciBmYUhhbmRTY2lzc29ycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLXNjaXNzb3JzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMjU3XCIsIFwiTTQwIDIwOGMtMjIuMSAwLTQwIDE3LjktNDAgNDBzMTcuOSA0MCA0MCA0MGwxODAuMiAwYy03LjYgOC41LTEyLjIgMTkuNy0xMi4yIDMyYzAgMjUuMyAxOS41IDQ2IDQ0LjMgNDcuOWMtNy43IDguNS0xMi4zIDE5LjgtMTIuMyAzMi4xYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDMyIDAgNjQgMGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOGwwLTExMy4xYzAtNDAuMi0xNi03OC44LTQ0LjQtMTA3LjNDNDQ0LjggNzYuOCA0MTMuOSA2NCAzODEuNyA2NEwzMzYgNjRjLTIxLjMgMC0zOS4zIDEzLjktNDUuNiAzMy4xbDc0LjUgMjMuN2M4LjQgMi43IDEzLjEgMTEuNyAxMC40IDIwLjFzLTExLjcgMTMuMS0yMC4xIDEwLjRMMjg4IDEyOS45bDAgLjFMODQgNjUuOEM2Mi45IDU5LjIgNDAuNSA3MC45IDMzLjggOTJzNS4xIDQzLjUgMjYuMiA1MC4yTDI2OS41IDIwOCA0MCAyMDh6XCJdXG59O1xudmFyIGZhSGFuZHNQcmF5aW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzLXByYXlpbmcnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInByYXlpbmctaGFuZHNcIl0sIFwiZjY4NFwiLCBcIk0zNTEuMiA0LjhjMy4yLTIgNi42LTMuMyAxMC00LjFjNC43LTEgOS42LS45IDE0LjEgLjFjNy43IDEuOCAxNC44IDYuNSAxOS40IDEzLjZMNTE0LjYgMTk0LjJjOC44IDEzLjEgMTMuNCAyOC42IDEzLjQgNDQuNHY3My41YzAgNi45IDQuNCAxMyAxMC45IDE1LjJsNzkuMiAyNi40QzYzMS4yIDM1OCA2NDAgMzcwLjIgNjQwIDM4NHY5NmMwIDkuOS00LjYgMTkuMy0xMi41IDI1LjRzLTE4LjEgOC4xLTI3LjcgNS41TDQzMSA0NjUuOWMtNTYtMTQuOS05NS02NS43LTk1LTEyMy43VjIyNGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMydjgwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMjE5LjFjMC03LTEuOC0xMy44LTUuMy0xOS44TDM0MC4zIDQ4LjFjLTEuNy0zLTIuOS02LjEtMy42LTkuM2MtMS00LjctMS05LjYgLjEtMTQuMWMxLjktOCA2LjgtMTUuMiAxNC4zLTE5Ljl6bS02Mi40IDBjNy41IDQuNiAxMi40IDExLjkgMTQuMyAxOS45YzEuMSA0LjYgMS4yIDkuNCAuMSAxNC4xYy0uNyAzLjItMS45IDYuMy0zLjYgOS4zTDIxMy4zIDE5OS4zYy0zLjUgNi01LjMgMTIuOS01LjMgMTkuOFYzMDRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlYyMjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMlYzNDIuM2MwIDU4LTM5IDEwOC43LTk1IDEyMy43bC0xNjguNyA0NWMtOS42IDIuNi0xOS45IC41LTI3LjctNS41UzAgNDkwIDAgNDgwVjM4NGMwLTEzLjggOC44LTI2IDIxLjktMzAuNGw3OS4yLTI2LjRjNi41LTIuMiAxMC45LTguMyAxMC45LTE1LjJWMjM4LjVjMC0xNS44IDQuNy0zMS4yIDEzLjQtNDQuNEwyNDUuMiAxNC41YzQuNi03LjEgMTEuNy0xMS44IDE5LjQtMTMuNmM0LjYtMS4xIDkuNC0xLjIgMTQuMS0uMWMzLjUgLjggNi45IDIuMSAxMCA0LjF6XCJdXG59O1xudmFyIGZhUHJheWluZ0hhbmRzID0gZmFIYW5kc1ByYXlpbmc7XG52YXIgZmFBcnJvd1JvdGF0ZVJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXJvdGF0ZS1yaWdodCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzg2MzUsIFwiYXJyb3ctcmlnaHQtcm90YXRlXCIsIFwiYXJyb3ctcm90YXRlLWZvcndhcmRcIiwgXCJyZWRvXCJdLCBcImYwMWVcIiwgXCJNMzg2LjMgMTYwSDMzNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg0NjRjMTcuNyAwIDMyLTE0LjMgMzItMzJWNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ2NTEuMkw0MTQuNCA5Ny42Yy04Ny41LTg3LjUtMjI5LjMtODcuNS0zMTYuOCAwcy04Ny41IDIyOS4zIDAgMzE2LjhzMjI5LjMgODcuNSAzMTYuOCAwYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwYy02Mi41IDYyLjUtMTYzLjggNjIuNS0yMjYuMyAwcy02Mi41LTE2My44IDAtMjI2LjNzMTYzLjgtNjIuNSAyMjYuMyAwTDM4Ni4zIDE2MHpcIl1cbn07XG52YXIgZmFBcnJvd1JpZ2h0Um90YXRlID0gZmFBcnJvd1JvdGF0ZVJpZ2h0O1xudmFyIGZhQXJyb3dSb3RhdGVGb3J3YXJkID0gZmFBcnJvd1JvdGF0ZVJpZ2h0O1xudmFyIGZhUmVkbyA9IGZhQXJyb3dSb3RhdGVSaWdodDtcbnZhciBmYUJpb2hhemFyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiaW9oYXphcmQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFs5NzYzXSwgXCJmNzgwXCIsIFwiTTE3My4yIDBjLTEuOCAwLTMuNSAuNy00LjggMkMxMzguNSAzMi4zIDEyMCA3NCAxMjAgMTIwYzAgMjYuMiA2IDUwLjkgMTYuNiA3M2MtMjIgMi40LTQzLjggOS4xLTY0LjIgMjAuNUMzNy45IDIzMi44IDEzLjMgMjYyLjQgLjQgMjk2Yy0uNyAxLjctLjUgMy43IC41IDUuMmMyLjIgMy43IDcuNCA0LjMgMTAuNiAxLjNDNjQuMiAyNTQuMyAxNTggMjQ1LjEgMjA1IDMyNHMtOC4xIDE1My4xLTc3LjYgMTczLjJjLTQuMiAxLjItNi4zIDUuOS00LjEgOS42YzEgMS42IDIuNiAyLjcgNC41IDNjMzYuNSA1LjkgNzUuMiAuMSAxMDkuNy0xOS4yYzIwLjQtMTEuNCAzNy40LTI2LjUgNTAuNS00My44YzEzLjEgMTcuMyAzMC4xIDMyLjQgNTAuNSA0My44YzM0LjUgMTkuMyA3My4zIDI1LjIgMTA5LjcgMTkuMmMxLjktLjMgMy41LTEuNCA0LjUtM2MyLjItMy43IC4xLTguNC00LjEtOS42QzM3OS4xIDQ3Ny4xIDMyNCA0MDMgMzcxIDMyNHMxNDAuNy02OS44IDE5My41LTIxLjRjMy4yIDIuOSA4LjQgMi4zIDEwLjYtMS4zYzEtMS42IDEuMS0zLjUgLjUtNS4yYy0xMi45LTMzLjYtMzcuNS02My4yLTcyLjEtODIuNWMtMjAuNC0xMS40LTQyLjItMTguMS02NC4yLTIwLjVDNDUwIDE3MC45IDQ1NiAxNDYuMiA0NTYgMTIwYzAtNDYtMTguNS04Ny43LTQ4LjQtMTE4Yy0xLjMtMS4zLTMtMi00LjgtMmMtNSAwLTguNCA1LjItNi43IDkuOUM0MjEuNyA4MC41IDM4NS42IDE3NiAyODggMTc2UzE1NC4zIDgwLjUgMTc5LjkgOS45YzEuNy00LjctMS42LTkuOS02LjctOS45ek0yNDAgMjcyYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTE4MS43IDQxNy42YzYuMy0xMS44IDkuOC0yNS4xIDguNi0zOS44Yy0xOS41LTE4LTM0LTQxLjQtNDEuMi02Ny44Yy0xMi41LTguMS0yNi4yLTExLjgtNDAtMTIuNGMtOS0uNC0xOC4xIC42LTI3LjEgMi43YzcuOCA1Ny4xIDM4LjcgMTA2LjggODIuOSAxMzkuNGM2LjgtNi43IDEyLjYtMTQuMSAxNi44LTIyLjF6TTI4OCA2NGMtMjguOCAwLTU2LjMgNS45LTgxLjIgMTYuNWMyIDguMyA1IDE2LjIgOSAyMy41YzYuOCAxMi40IDE2LjcgMjMuMSAzMC4xIDMwLjNjMTMuMy00LjEgMjcuNS02LjMgNDIuMi02LjNzMjguOCAyLjIgNDIuMiA2LjNjMTMuNC03LjIgMjMuMy0xNy45IDMwLjEtMzAuM2M0LTcuMyA3LTE1LjIgOS0yMy41QzM0NC4zIDY5LjkgMzE2LjggNjQgMjg4IDY0ek00MjYuOSAzMTBjLTcuMiAyNi40LTIxLjcgNDkuNy00MS4yIDY3LjhjLTEuMiAxNC43IDIuMiAyOC4xIDguNiAzOS44YzQuMyA4IDEwIDE1LjQgMTYuOCAyMi4xYzQ0LjMtMzIuNiA3NS4yLTgyLjMgODIuOS0xMzkuNGMtOS0yLjItMTguMS0zLjEtMjcuMS0yLjdjLTEzLjggLjYtMjcuNSA0LjQtNDAgMTIuNHpcIl1cbn07XG52YXIgZmFMb2NhdGlvbkNyb3NzaGFpcnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbG9jYXRpb24tY3Jvc3NoYWlycycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibG9jYXRpb25cIl0sIFwiZjYwMVwiLCBcIk0yNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMlY2Ni43QzM2OC40IDgwLjEgNDMxLjkgMTQzLjYgNDQ1LjMgMjI0SDQ4MGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg0NDUuM0M0MzEuOSAzNjguNCAzNjguNCA0MzEuOSAyODggNDQ1LjNWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjQ0NS4zQzE0My42IDQzMS45IDgwLjEgMzY4LjQgNjYuNyAyODhIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJINjYuN0M4MC4xIDE0My42IDE0My42IDgwLjEgMjI0IDY2LjdWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTEyOCAyNTZhMTI4IDEyOCAwIDEgMCAyNTYgMCAxMjggMTI4IDAgMSAwIC0yNTYgMHptMTI4LTgwYTgwIDgwIDAgMSAxIDAgMTYwIDgwIDgwIDAgMSAxIDAtMTYwelwiXVxufTtcbnZhciBmYUxvY2F0aW9uID0gZmFMb2NhdGlvbkNyb3NzaGFpcnM7XG52YXIgZmFNYXJzRG91YmxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hcnMtZG91YmxlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbOTg5MV0sIFwiZjIyN1wiLCBcIk0zMTIgMzJjLTkuNyAwLTE4LjUgNS44LTIyLjIgMTQuOHMtMS43IDE5LjMgNS4yIDI2LjJsMzMuNCAzMy40TDI3NS44IDE1OWMtMjguNC0xOS41LTYyLjctMzEtOTkuOC0zMUM3OC44IDEyOCAwIDIwNi44IDAgMzA0czc4LjggMTc2IDE3NiAxNzZzMTc2LTc4LjggMTc2LTE3NmMwLTM3LTExLjQtNzEuNC0zMS05OS44bDUyLjYtNTIuNkw0MDcgMTg1YzYuOSA2LjkgMTcuMiA4LjkgMjYuMiA1LjJzMTQuOC0xMi41IDE0LjgtMjIuMlY1NmMwLTEzLjMtMTAuNy0yNC0yNC0yNEgzMTJ6bTg4IDQ4aDB2MGwwIDB6TTY0IDMwNGExMTIgMTEyIDAgMSAxIDIyNCAwQTExMiAxMTIgMCAxIDEgNjQgMzA0ek0zNjggNDgwYzk3LjIgMCAxNzYtNzguOCAxNzYtMTc2YzAtMzctMTEuNC03MS40LTMxLTk5LjhsNTIuNi01Mi42TDU5OSAxODVjNi45IDYuOSAxNy4yIDguOSAyNi4yIDUuMnMxNC44LTEyLjUgMTQuOC0yMi4yVjU2YzAtMTMuMy0xMC43LTI0LTI0LTI0SDUwNGMtOS43IDAtMTguNSA1LjgtMjIuMiAxNC44Yy0xLjIgMi45LTEuOCA2LTEuOCA5bDAgLjJ2LjJjMCA2LjIgMi41IDEyLjIgNyAxNi44bDMzLjQgMzMuNEw0ODAgMTQ2LjdWMTY4YzAgMjIuNi0xMy42IDQzLjEtMzQuNiA1MS43Yy0uOCAuMy0xLjcgLjctMi41IDFDNDY1LjcgMjQxLjIgNDgwIDI3MC45IDQ4MCAzMDRjMCA2MS45LTUwLjEgMTEyLTExMiAxMTJjLTUuNCAwLTEwLjgtLjQtMTYtMS4xYy0xMi45IDIwLjQtMjkuMSAzOC4zLTQ4LjEgNTMuMWMxOS44IDcuOCA0MS40IDEyIDY0IDEyelwiXVxufTtcbnZhciBmYUNoaWxkRHJlc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hpbGQtZHJlc3MnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcImU1OWNcIiwgXCJNMjI0IDY0QTY0IDY0IDAgMSAwIDk2IDY0YTY0IDY0IDAgMSAwIDEyOCAwek04OCA0MDB2ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlY0MDBoMTZ2ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlY0MDBoMTcuOGMxMC45IDAgMTguNi0xMC43IDE1LjItMjEuMWwtMzEuMS05My40IDI4LjYgMzcuOGMxMC43IDE0LjEgMzAuOCAxNi44IDQ0LjggNi4yczE2LjgtMzAuNyA2LjItNDQuOEwyNTQuNiAyMDdjLTIyLjQtMjkuNi01Ny41LTQ3LTk0LjYtNDdzLTcyLjIgMTcuNC05NC42IDQ3TDYuNSAyODQuN2MtMTAuNyAxNC4xLTcuOSAzNC4yIDYuMiA0NC44czM0LjIgNy45IDQ0LjgtNi4ybDI4LjctMzcuOEw1NSAzNzguOUM1MS42IDM4OS4zIDU5LjMgNDAwIDcwLjIgNDAwSDg4elwiXVxufTtcbnZhciBmYVVzZXJzQmV0d2VlbkxpbmVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXJzLWJldHdlZW4tbGluZXMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1OTFcIiwgXCJNMCAyNEMwIDEwLjcgMTAuNyAwIDI0IDBINjE2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDI0QzEwLjcgNDggMCAzNy4zIDAgMjR6TTAgNDg4YzAtMTMuMyAxMC43LTI0IDI0LTI0SDYxNmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEgyNGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6TTgzLjIgMTYwYTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNMzIgMzIwYzAtMzUuMyAyOC43LTY0IDY0LTY0aDk2YzEyLjIgMCAyMy43IDMuNCAzMy40IDkuNGMtMzcuMiAxNS4xLTY1LjYgNDcuMi03NS44IDg2LjZINjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyem00NjEuNiAzMmMtMTAuMy00MC4xLTM5LjYtNzIuNi03Ny43LTg3LjRjOS40LTUuNSAyMC40LTguNiAzMi4xLTguNmg5NmMzNS4zIDAgNjQgMjguNyA2NCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkg0OTMuNnpNMzkxLjIgMjkwLjRjMzIuMSA3LjQgNTguMSAzMC45IDY4LjkgNjEuNmMzLjUgMTAgNS41IDIwLjggNS41IDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMyaC0yMjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyYzAtMTEuMiAxLjktMjIgNS41LTMyYzEwLjUtMjkuNyAzNS4zLTUyLjggNjYuMS02MC45YzcuOC0yLjEgMTYtMy4xIDI0LjUtMy4xaDk2YzcuNCAwIDE0LjcgLjggMjEuNiAyLjR6bTQ0LTEzMC40YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNMzIxLjYgOTZhODAgODAgMCAxIDEgMCAxNjAgODAgODAgMCAxIDEgMC0xNjB6XCJdXG59O1xudmFyIGZhTHVuZ3NWaXJ1cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsdW5ncy12aXJ1cycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA2N1wiLCBcIk0zMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMlYxNTYuMmMtOC41LTcuNi0xOS43LTEyLjItMzItMTIuMnMtMjMuNSA0LjYtMzIgMTIuMlYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNDQ0LjUgMTk1LjVjLTE2LjQtMTYuNC00MS44LTE4LjUtNjAuNS02LjFWMTY1LjNDMzg0IDEyNyA0MTUgOTYgNDUzLjMgOTZjMjEuNyAwIDQyLjggMTAuMiA1NS44IDI4LjhjMTUuNCAyMi4xIDQ0LjMgNjUuNCA3MSAxMTYuOWMyNi41IDUwLjkgNTIuNCAxMTIuNSA1OS42IDE3MC4zYy4yIDEuMyAuMiAyLjYgLjIgNHY3YzAgNDkuMS0zOS44IDg5LTg5IDg5Yy03LjMgMC0xNC41LS45LTIxLjYtMi43bC03Mi43LTE4LjJjLTIwLjktNS4yLTM4LjctMTcuMS01MS41LTMyLjljMTQgMS41IDI4LjUtMyAzOS4yLTEzLjhsLTIyLjYtMjIuNiAyMi42IDIyLjZjMTguNy0xOC43IDE4LjctNDkuMSAwLTY3LjljLTEuMS0xLjEtMS40LTItMS41LTIuNWMtLjEtLjgtLjEtMS44IC40LTIuOXMxLjItMS45IDEuOC0yLjNjLjUtLjMgMS4zLS44IDIuOS0uOGMyNi41IDAgNDgtMjEuNSA0OC00OHMtMjEuNS00OC00OC00OGMtMS42IDAtMi40LS40LTIuOS0uOGMtLjYtLjQtMS4zLTEuMi0xLjgtMi4zcy0uNS0yLjItLjQtMi45Yy4xLS42IC40LTEuNCAxLjUtMi41YzE4LjctMTguNyAxOC43LTQ5LjEgMC02Ny45ek00MjEuOCA0MjEuOGMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBDMzc1LjkgMzk4LjUgMzM2IDQxNSAzMzYgNDQ4YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2YzAtMzMtMzkuOS00OS41LTYzLjItMjYuMmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkMyNDEuNSAzNzUuOSAyMjUgMzM2IDE5MiAzMzZjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZjMzMgMCA0OS41LTM5LjkgMjYuMi02My4yYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBDMjY0LjEgMjQxLjUgMzA0IDIyNSAzMDQgMTkyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZjMCAzMyAzOS45IDQ5LjUgNjMuMiAyNi4yYzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNkMzOTguNSAyNjQuMSA0MTUgMzA0IDQ0OCAzMDRjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZjLTMzIDAtNDkuNSAzOS45LTI2LjIgNjMuMmM2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnpNMTgzLjMgNDkxLjJsLTcyLjcgMTguMmMtNy4xIDEuOC0xNC4zIDIuNy0yMS42IDIuN2MtNDkuMSAwLTg5LTM5LjgtODktODl2LTdjMC0xLjMgLjEtMi43IC4yLTRjNy4yLTU3LjkgMzMuMS0xMTkuNCA1OS42LTE3MC4zYzI2LjgtNTEuNSA1NS42LTk0LjggNzEtMTE2LjljMTMtMTguNiAzNC0yOC44IDU1LjgtMjguOEMyMjUgOTYgMjU2IDEyNyAyNTYgMTY1LjN2MjQuMWMtMTguNi0xMi40LTQ0LTEwLjMtNjAuNSA2LjFjLTE4LjcgMTguNy0xOC43IDQ5LjEgMCA2Ny45YzEuMSAxLjEgMS40IDIgMS41IDIuNWMuMSAuOCAuMSAxLjgtLjQgMi45cy0xLjIgMS45LTEuOCAyLjNjLS41IC4zLTEuMyAuOC0yLjkgLjhjLTI2LjUgMC00OCAyMS41LTQ4IDQ4czIxLjUgNDggNDggNDhjMS42IDAgMi40IC40IDIuOSAuOGMuNiAuNCAxLjMgMS4yIDEuOCAyLjNzLjUgMi4yIC40IDIuOWMtLjEgLjYtLjQgMS40LTEuNSAyLjVjLTE4LjcgMTguNy0xOC43IDQ5LjEgMCA2Ny45YzEwLjcgMTAuNyAyNS4zIDE1LjMgMzkuMiAxMy44Yy0xMi44IDE1LjktMzAuNiAyNy43LTUxLjUgMzIuOXpNMjk2IDMyMGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTcyIDMyYTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6XCJdXG59O1xudmFyIGZhRmFjZUdyaW5UZWFycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWdyaW4tdGVhcnMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjg1MTQsIFwiZ3Jpbi10ZWFyc1wiXSwgXCJmNTg4XCIsIFwiTTU0OC42IDM3MS40QzUwNi40IDQ1NC44IDQxOS45IDUxMiAzMjAgNTEycy0xODYuNC01Ny4yLTIyOC42LTE0MC42YzQuNS0yLjkgOC43LTYuMyAxMi43LTEwLjNjOC4xLTguMSAxMy4yLTE4LjYgMTYuNS0yNi42YzMuNi04LjggNi41LTE4LjQgOC44LTI3LjVjNC42LTE4LjIgNy43LTM3IDkuMy00OC4yYzMuOS0yNi41LTE4LjgtNDkuMi00NS4yLTQ1LjRjLTYuOCAuOS0xNi4yIDIuNC0yNi42IDQuNEM4NS4zIDk0LjUgMTkxLjYgMCAzMjAgMFM1NTQuNyA5NC41IDU3My4yIDIxNy43Yy0xMC4zLTItMTkuOC0zLjUtMjYuNi00LjRjLTI2LjUtMy45LTQ5LjIgMTguOC00NS4yIDQ1LjRjMS42IDExLjMgNC42IDMwIDkuMyA0OC4yYzIuMyA5LjEgNS4yIDE4LjggOC44IDI3LjVjMy4zIDguMSA4LjQgMTguNSAxNi41IDI2LjZjMy45IDMuOSA4LjIgNy40IDEyLjcgMTAuM3pNMTA3IDI1NC4xYy0zLjEgMjEuNS0xMS40IDcwLjItMjUuNSA4NC40Yy0uOSAxLTEuOSAxLjgtMi45IDIuN0M2MCAzNTYuNyAzMiAzNTUuNSAxNC4zIDMzNy43Yy0xOC43LTE4LjctMTkuMS00OC44LS43LTY3LjJjOC42LTguNiAzMC4xLTE1LjEgNTAuNS0xOS42YzEzLTIuOCAyNS41LTQuOCAzMy45LTZjNS40LS44IDkuOSAzLjcgOSA5em00NTQuNSA4Ny4xYy0uOC0uNi0xLjUtMS4zLTIuMy0yYy0uMi0uMi0uNS0uNC0uNy0uN2MtMTQuMS0xNC4xLTIyLjUtNjIuOS0yNS41LTg0LjRjLS44LTUuNCAzLjctOS45IDktOWMxIC4xIDIuMiAuMyAzLjMgLjVjOC4yIDEuMiAxOS4yIDMgMzAuNiA1LjVjMjAuNCA0LjQgNDEuOSAxMC45IDUwLjUgMTkuNmMxOC40IDE4LjQgMTggNDguNS0uNyA2Ny4yYy0xNy43IDE3LjctNDUuNyAxOS02NC4yIDMuNHptLTkwLjEtOS43YzUtMTEuOC03LTIyLjUtMTkuMy0xOC43Yy0zOS43IDEyLjItODQuNSAxOS0xMzEuOCAxOXMtOTIuMS02LjgtMTMxLjgtMTljLTEyLjMtMy44LTI0LjMgNi45LTE5LjMgMTguN2MyNSA1OS4xIDgzLjIgMTAwLjUgMTUxLjEgMTAwLjVzMTI2LjItNDEuNCAxNTEuMS0xMDAuNXpNMjgxLjYgMjI4LjhsMCAwIDAgMCAwIDBjMi4xIDIuOCA1LjcgMy45IDguOSAyLjhzNS41LTQuMSA1LjUtNy42YzAtMTcuOS02LjctMzUuNi0xNi42LTQ4LjhjLTkuOC0xMy0yMy45LTIzLjItMzkuNC0yMy4ycy0yOS42IDEwLjItMzkuNCAyMy4yQzE5MC43IDE4OC40IDE4NCAyMDYuMSAxODQgMjI0YzAgMy40IDIuMiA2LjUgNS41IDcuNnM2LjkgMCA4LjktMi44bDAgMCAwIDAgMCAwIC4yLS4yYy4yLS4yIC40LS41IC43LS45Yy42LS44IDEuNi0yIDIuOC0zLjRjMi41LTIuOCA2LTYuNiAxMC4yLTEwLjNjOC44LTcuOCAxOC44LTE0IDI3LjctMTRzMTguOSA2LjIgMjcuNyAxNGM0LjIgMy43IDcuNyA3LjUgMTAuMiAxMC4zYzEuMiAxLjQgMi4yIDIuNiAyLjggMy40Yy4zIC40IC42IC43IC43IC45bC4yIC4yIDAgMHptMTYwIDBsMCAwIDAgMGMyLjEgMi44IDUuNyAzLjkgOC45IDIuOHM1LjUtNC4xIDUuNS03LjZjMC0xNy45LTYuNy0zNS42LTE2LjYtNDguOGMtOS44LTEzLTIzLjktMjMuMi0zOS40LTIzLjJzLTI5LjYgMTAuMi0zOS40IDIzLjJDMzUwLjcgMTg4LjQgMzQ0IDIwNi4xIDM0NCAyMjRjMCAzLjQgMi4yIDYuNSA1LjUgNy42czYuOSAwIDguOS0yLjhsMCAwIDAgMCAwIDAgLjItLjJjLjItLjIgLjQtLjUgLjctLjljLjYtLjggMS42LTIgMi44LTMuNGMyLjUtMi44IDYtNi42IDEwLjItMTAuM2M4LjgtNy44IDE4LjgtMTQgMjcuNy0xNHMxOC45IDYuMiAyNy43IDE0YzQuMiAzLjcgNy43IDcuNSAxMC4yIDEwLjNjMS4yIDEuNCAyLjIgMi42IDIuOCAzLjRjLjMgLjQgLjYgLjcgLjcgLjlsLjIgLjIgMCAwIDAgMHpcIl1cbn07XG52YXIgZmFHcmluVGVhcnMgPSBmYUZhY2VHcmluVGVhcnM7XG52YXIgZmFQaG9uZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwaG9uZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODIyMiwgMTI4Mzc5XSwgXCJmMDk1XCIsIFwiTTE2NC45IDI0LjZjLTcuNy0xOC42LTI4LTI4LjUtNDcuNC0yMy4ybC04OCAyNEMxMi4xIDMwLjIgMCA0NiAwIDY0QzAgMzExLjQgMjAwLjYgNTEyIDQ0OCA1MTJjMTggMCAzMy44LTEyLjEgMzguNi0yOS41bDI0LTg4YzUuMy0xOS40LTQuNi0zOS43LTIzLjItNDcuNGwtOTYtNDBjLTE2LjMtNi44LTM1LjItMi4xLTQ2LjMgMTEuNkwzMDQuNyAzNjhDMjM0LjMgMzM0LjcgMTc3LjMgMjc3LjcgMTQ0IDIwNy4zTDE5My4zIDE2N2MxMy43LTExLjIgMTguNC0zMCAxMS42LTQ2LjNsLTQwLTk2elwiXVxufTtcbnZhciBmYUNhbGVuZGFyWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FsZW5kYXIteG1hcmsnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImNhbGVuZGFyLXRpbWVzXCJdLCBcImYyNzNcIiwgXCJNMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNjRIMjg4VjMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJWNjRoNDhjMjYuNSAwIDQ4IDIxLjUgNDggNDh2NDhIMFYxMTJDMCA4NS41IDIxLjUgNjQgNDggNjRIOTZWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTAgMTkySDQ0OFY0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjE5MnpNMzA1IDMwNWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC00NyA0Ny00Ny00N2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw0NyA0Ny00NyA0N2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDQ3LTQ3IDQ3IDQ3YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNDctNDcgNDctNDd6XCJdXG59O1xudmFyIGZhQ2FsZW5kYXJUaW1lcyA9IGZhQ2FsZW5kYXJYbWFyaztcbnZhciBmYUNoaWxkUmVhY2hpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hpbGQtcmVhY2hpbmcnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImU1OWRcIiwgXCJNMjU2IDY0QTY0IDY0IDAgMSAwIDEyOCA2NGE2NCA2NCAwIDEgMCAxMjggMHpNMTUyLjkgMTY5LjNjLTIzLjctOC40LTQ0LjUtMjQuMy01OC44LTQ1LjhMNzQuNiA5NC4yQzY0LjggNzkuNSA0NSA3NS42IDMwLjIgODUuNHMtMTguNyAyOS43LTguOSA0NC40TDQwLjkgMTU5YzE4LjEgMjcuMSA0Mi44IDQ4LjQgNzEuMSA2Mi40VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjM4NGgzMnY5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjIyMS42YzI5LjEtMTQuMiA1NC40LTM2LjIgNzIuNy02NC4ybDE4LjItMjcuOWM5LjYtMTQuOCA1LjQtMzQuNi05LjQtNDQuM3MtMzQuNi01LjUtNDQuMyA5LjRMMjkxIDEyMi40Yy0yMS44IDMzLjQtNTguOSA1My42LTk4LjggNTMuNmMtMTIuNiAwLTI0LjktMi0zNi42LTUuOGMtLjktLjMtMS44LS43LTIuNy0uOXpcIl1cbn07XG52YXIgZmFIZWFkU2lkZVZpcnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlYWQtc2lkZS12aXJ1cycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTA2NFwiLCBcIk0wIDIyNC4yQzAgMTAwLjYgMTAwLjIgMCAyMjQgMGgyNGM5NS4yIDAgMTgxLjIgNjkuMyAxOTcuMyAxNjAuMmMyLjMgMTMgNi44IDI1LjcgMTUuMSAzNmw0MiA1Mi42YzYuMiA3LjggOS42IDE3LjQgOS42IDI3LjRjMCAyNC4yLTE5LjYgNDMuOC00My44IDQzLjhINDQ4djY0YzAgMzUuMy0yOC43IDY0LTY0IDY0SDMyMHYzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkg5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDA3LjNjMC0xNi43LTYuOS0zMi41LTE3LjEtNDUuOEMxNi42IDMyMi40IDAgMjc0LjEgMCAyMjQuMnpNMjI0IDY0Yy04LjggMC0xNiA3LjItMTYgMTZjMCAzMy0zOS45IDQ5LjUtNjMuMiAyNi4yYy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42QzE0NS41IDE1Mi4xIDEyOSAxOTIgOTYgMTkyYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2YzMzIDAgNDkuNSAzOS45IDI2LjIgNjMuMmMtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwQzE2OC4xIDI4Ni41IDIwOCAzMDMgMjA4IDMzNmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2YzAtMzMgMzkuOS00OS41IDYzLjItMjYuMmM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZDMzAyLjUgMjYzLjkgMzE5IDIyNCAzNTIgMjI0YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2Yy0zMyAwLTQ5LjUtMzkuOS0yNi4yLTYzLjJjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZzLTE2LjQtNi4yLTIyLjYgMEMyNzkuOSAxMjkuNSAyNDAgMTEzIDI0MCA4MGMwLTguOC03LjItMTYtMTYtMTZ6bS0yNCA5NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTQwIDgwYTE2IDE2IDAgMSAxIDMyIDAgMTYgMTYgMCAxIDEgLTMyIDB6XCJdXG59O1xudmFyIGZhVXNlckdlYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1nZWFyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJ1c2VyLWNvZ1wiXSwgXCJmNGZlXCIsIFwiTTIyNCAwYTEyOCAxMjggMCAxIDEgMCAyNTZBMTI4IDEyOCAwIDEgMSAyMjQgMHpNMTc4LjMgMzA0aDkxLjRjMTEuOCAwIDIzLjQgMS4yIDM0LjUgMy4zYy0yLjEgMTguNSA3LjQgMzUuNiAyMS44IDQ0LjhjLTE2LjYgMTAuNi0yNi43IDMxLjYtMjAgNTMuM2M0IDEyLjkgOS40IDI1LjUgMTYuNCAzNy42czE1LjIgMjMuMSAyNC40IDMzYzE1LjcgMTYuOSAzOS42IDE4LjQgNTcuMiA4Ljd2LjljMCA5LjIgMi43IDE4LjUgNy45IDI2LjNIMjkuN0MxMy4zIDUxMiAwIDQ5OC43IDAgNDgyLjNDMCAzODMuOCA3OS44IDMwNCAxNzguMyAzMDR6TTQzNiAyMTguMmMwLTcgNC41LTEzLjMgMTEuMy0xNC44YzEwLjUtMi40IDIxLjUtMy43IDMyLjctMy43czIyLjIgMS4zIDMyLjcgMy43YzYuOCAxLjUgMTEuMyA3LjggMTEuMyAxNC44djE3LjdjMCA3LjggNC44IDE0LjggMTEuNiAxOC43YzYuOCAzLjkgMTUuMSA0LjUgMjEuOCAuNmwxMy44LTcuOWM2LjEtMy41IDEzLjctMi43IDE4LjUgMi40YzcuNiA4LjEgMTQuMyAxNy4yIDIwLjEgMjcuMnMxMC4zIDIwLjQgMTMuNSAzMWMyLjEgNi43LTEuMSAxMy43LTcuMiAxNy4ybC0xNC40IDguM2MtNi41IDMuNy0xMCAxMC45LTEwIDE4LjRzMy41IDE0LjcgMTAgMTguNGwxNC40IDguM2M2LjEgMy41IDkuMiAxMC41IDcuMiAxNy4yYy0zLjMgMTAuNi03LjggMjEtMTMuNSAzMXMtMTIuNSAxOS4xLTIwLjEgMjcuMmMtNC44IDUuMS0xMi41IDUuOS0xOC41IDIuNGwtMTMuOC03LjljLTYuNy0zLjktMTUuMS0zLjMtMjEuOCAuNmMtNi44IDMuOS0xMS42IDEwLjktMTEuNiAxOC43djE3LjdjMCA3LTQuNSAxMy4zLTExLjMgMTQuOGMtMTAuNSAyLjQtMjEuNSAzLjctMzIuNyAzLjdzLTIyLjItMS4zLTMyLjctMy43Yy02LjgtMS41LTExLjMtNy44LTExLjMtMTQuOFY0NjcuOGMwLTcuOS00LjktMTQuOS0xMS43LTE4LjljLTYuOC0zLjktMTUuMi00LjUtMjItLjZsLTEzLjUgNy44Yy02LjEgMy41LTEzLjcgMi43LTE4LjUtMi40Yy03LjYtOC4xLTE0LjMtMTcuMi0yMC4xLTI3LjJzLTEwLjMtMjAuNC0xMy41LTMxYy0yLjEtNi43IDEuMS0xMy43IDcuMi0xNy4ybDE0LTguMWM2LjUtMy44IDEwLjEtMTEuMSAxMC4xLTE4LjZzLTMuNS0xNC44LTEwLjEtMTguNmwtMTQtOC4xYy02LjEtMy41LTkuMi0xMC41LTcuMi0xNy4yYzMuMy0xMC42IDcuNy0yMSAxMy41LTMxczEyLjUtMTkuMSAyMC4xLTI3LjJjNC44LTUuMSAxMi40LTUuOSAxOC41LTIuNGwxMy42IDcuOGM2LjggMy45IDE1LjIgMy4zIDIyLS42YzYuOS0zLjkgMTEuNy0xMSAxMS43LTE4LjlWMjE4LjJ6bTkyLjEgMTMzLjVhNDguMSA0OC4xIDAgMSAwIC05Ni4xIDAgNDguMSA0OC4xIDAgMSAwIDk2LjEgMHpcIl1cbn07XG52YXIgZmFVc2VyQ29nID0gZmFVc2VyR2VhcjtcbnZhciBmYUFycm93VXAxOSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy11cC0xLTknLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInNvcnQtbnVtZXJpYy11cFwiXSwgXCJmMTYzXCIsIFwiTTQ1MC43IDM4YzguMyA2IDEzLjMgMTUuNyAxMy4zIDI2djk2aDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDQzMiAzODRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJoMTZWMTA4LjRsLTUuOSAyYy0xNi44IDUuNi0zNC45LTMuNS00MC41LTIwLjJzMy41LTM0LjkgMjAuMi00MC41bDQ4LTE2YzkuOC0zLjMgMjAuNS0xLjYgMjguOCA0LjR6TTE2MCAzMmM5IDAgMTcuNSAzLjggMjMuNiAxMC40bDg4IDk2YzExLjkgMTMgMTEuMSAzMy4zLTIgNDUuMnMtMzMuMyAxMS4xLTQ1LjItMkwxOTIgMTQ2LjNWNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjE0Ni4zTDk1LjYgMTgxLjZjLTExLjkgMTMtMzIuMiAxMy45LTQ1LjIgMnMtMTMuOS0zMi4yLTItNDUuMmw4OC05NkMxNDIuNSAzNS44IDE1MSAzMiAxNjAgMzJ6TTQ0NS43IDM2NC45QTMyIDMyIDAgMSAwIDQxOC4zIDMwN2EzMiAzMiAwIDEgMCAyNy40IDU3Ljl6bS00MC43IDU0LjlDMzY5LjYgNDA4LjQgMzQ0IDM3NS4yIDM0NCAzMzZjMC00OC42IDM5LjQtODggODgtODhzODggMzkuNCA4OCA4OGMwIDIzLjUtNy41IDQ2LjMtMjEuNSA2NS4yTDQ0OS43IDQ2N2MtMTAuNSAxNC4yLTMwLjYgMTcuMi00NC44IDYuN3MtMTcuMi0zMC42LTYuNy00NC44bDYuOC05LjJ6XCJdXG59O1xudmFyIGZhU29ydE51bWVyaWNVcCA9IGZhQXJyb3dVcDE5O1xudmFyIGZhRG9vckNsb3NlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkb29yLWNsb3NlZCcsXG4gIGljb246IFs1NzYsIDUxMiwgWzEyODY4Ml0sIFwiZjUyYVwiLCBcIk05NiA2NGMwLTM1LjMgMjguNy02NCA2NC02NEg0MTZjMzUuMyAwIDY0IDI4LjcgNjQgNjRWNDQ4aDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDQzMiAxNDQgMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJIOTZWNjR6TTM4NCAyODhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbnZhciBmYVNoaWVsZFZpcnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoaWVsZC12aXJ1cycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTA2Y1wiLCBcIk0yNjkuNCAyLjlDMjY1LjIgMSAyNjAuNyAwIDI1NiAwcy05LjIgMS0xMy40IDIuOUw1NC4zIDgyLjhjLTIyIDkuMy0zOC40IDMxLTM4LjMgNTcuMmMuNSA5OS4yIDQxLjMgMjgwLjcgMjEzLjYgMzYzLjJjMTYuNyA4IDM2LjEgOCA1Mi44IDBDNDU0LjcgNDIwLjcgNDk1LjUgMjM5LjIgNDk2IDE0MGMuMS0yNi4yLTE2LjMtNDcuOS0zOC4zLTU3LjJMMjY5LjQgMi45ek0yNTYgMTEyYzguOCAwIDE2IDcuMiAxNiAxNmMwIDMzIDM5LjkgNDkuNSA2My4yIDI2LjJjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42QzMzNC41IDIwMC4xIDM1MSAyNDAgMzg0IDI0MGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmMtMzMgMC00OS41IDM5LjktMjYuMiA2My4yYzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBDMzExLjkgMzM0LjUgMjcyIDM1MSAyNzIgMzg0YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2YzAtMzMtMzkuOS00OS41LTYzLjItMjYuMmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkMxNzcuNSAzMTEuOSAxNjEgMjcyIDEyOCAyNzJjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZjMzMgMCA0OS41LTM5LjkgMjYuMi02My4yYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBDMjAwLjEgMTc3LjUgMjQwIDE2MSAyNDAgMTI4YzAtOC44IDcuMi0xNiAxNi0xNnpNMjMyIDI1NmEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTcyIDMyYTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6XCJdXG59O1xudmFyIGZhRGljZVNpeCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkaWNlLXNpeCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzk4NjFdLCBcImY1MjZcIiwgXCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMkgzODRjMzUuMyAwIDY0IDI4LjcgNjQgNjRWNDE2YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY5NnptMTYwIDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTEyOCAyODhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0zMiA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0zMjAgMTkyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMzIgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzIwIDM4NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xudmFyIGZhTW9zcXVpdG9OZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9zcXVpdG8tbmV0JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTJjXCIsIFwiTTE2OC44IDQ2Mi4zYy03LjktNC0xMS4xLTEzLjYtNy4yLTIxLjVMMTkyIDM4MC4ybDAtNDQuMmMwLTQuMiAxLjctOC4zIDQuNy0xMS4zTDI1NiAyNjUuNFYyNDIuMkwxMzkuMiAzNDRDODcuOCAzOTUuMyAwIDM1OC45IDAgMjg2LjNjMC00MS4xIDMwLjYtNzUuOCA3MS40LTgwLjlsMTU5LjktMjMuOS00OS42LTQxLjNjLTUuMS00LjItNy0xMS4xLTQuOS0xNy40bDEzLjktNDEuNy0yOS01OC4xYy00LTcuOS0uNy0xNy41IDcuMi0yMS41czE3LjUtLjcgMjEuNSA3LjJsMzIgNjRjMS45IDMuOCAyLjIgOC4yIC45IDEyLjJsLTEyLjUgMzcuNkwyNTYgMTYwLjVWMTM3LjljMC0xNC45IDEwLjEtMjcuMyAyMy44LTMxVjYzLjdjMC00LjUgMy43LTguMiA4LjItOC4yczguMiAzLjcgOC4yIDguMlYxMDdjMTMuNyAzLjYgMjMuOCAxNi4xIDIzLjggMzF2MjIuNmw0NS40LTM3LjhMMzUyLjggODUuMWMtMS4zLTQtMS04LjQgLjktMTIuMmwzMi02NGM0LTcuOSAxMy42LTExLjEgMjEuNS03LjJzMTEuMSAxMy42IDcuMiAyMS41bC0yOSA1OC4xIDEzLjkgNDEuN2MyLjEgNi4yIC4xIDEzLjEtNC45IDE3LjRsLTQ5LjYgNDEuMyAxNTkuOSAyMy45YzIyLjUgMi44IDQxLjggMTQuNiA1NC43IDMxLjRjLTIuNyAyLjYtNS4yIDUuNC03LjMgOC42Yy04LjYtMTIuOS0yMy4zLTIxLjUtNDAtMjEuNXMtMzEuNCA4LjUtNDAgMjEuNWMtOC42LTEyLjktMjMuMy0yMS41LTQwLTIxLjVjLTIxLjcgMC00MCAxNC4zLTQ1LjkgMzQuMWMtMTAuNyAzLjItMTkuOCAxMC4xLTI1LjkgMTkuMmwtNDAuMi0zNXYyMy4xbDMyLjQgMzIuNGMtLjMgMi0uNCA0LjEtLjQgNi4yYzAgMTYuNyA4LjUgMzEuNCAyMS41IDQwYy00IDIuNi03LjUgNS45LTEwLjYgOS41TDMyMCAzMTAuNnY1MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMnYtNTBsLTMyIDMyIDAgNDEuNGMwIDIuNS0uNiA0LjktMS43IDcuMmwtMzIgNjRjLTQgNy45LTEzLjYgMTEuMS0yMS41IDcuMnpNNTEyIDI1NmM4LjggMCAxNiA3LjIgMTYgMTZ2MTZoNDhWMjcyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ2MTZoMTZjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZINjA4djQ4aDE2YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDYwOHY0OGgxNmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkg2MDh2MTZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWNDgwSDUyOHYxNmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlY0ODBINDQ4djE2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjQ4MEg0MDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZoMTZWNDAwSDQwMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmgxNlYzMjBINDAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2aDE2VjI3MmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2djE2aDQ4VjI3MmMwLTguOCA3LjItMTYgMTYtMTZ6bTE2IDExMmg0OFYzMjBINTI4djQ4em0wIDgwaDQ4VjQwMEg1Mjh2NDh6TTQ0OCAzMjB2NDhoNDhWMzIwSDQ0OHptMCA4MHY0OGg0OFY0MDBINDQ4elwiXVxufTtcbnZhciBmYUJyaWRnZVdhdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JyaWRnZS13YXRlcicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRjZVwiLCBcIk0wIDk2QzAgNzguMyAxNC4zIDY0IDMyIDY0SDU0NGMxNy43IDAgMzIgMTQuMyAzMiAzMnYzNS42YzAgMTUuNy0xMi43IDI4LjQtMjguNCAyOC40Yy0zNy4zIDAtNjcuNiAzMC4yLTY3LjYgNjcuNlYzNTIuNWMtMTIuOSAwLTI1LjggMy45LTM2LjggMTEuN2MtMTggMTIuNC00MC4xIDIwLjMtNTkuMiAyMC4zaDBsMC0uNVYyNTZjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZWMzg0bDAgLjVjLTE5IDAtNDEuMi03LjktNTkuMS0yMC4zYy0xMS4xLTcuOC0yNC0xMS43LTM2LjktMTEuN1YyMjcuNkM5NiAxOTAuMiA2NS44IDE2MCAyOC40IDE2MEMxMi43IDE2MCAwIDE0Ny4zIDAgMTMxLjZWOTZ6TTMwNi41IDM4OS45QzMyOSA0MDUuNCAzNTYuNSA0MTYgMzg0IDQxNmMyNi45IDAgNTUuNC0xMC44IDc3LjQtMjYuMWwwIDBjMTEuOS04LjUgMjguMS03LjggMzkuMiAxLjdjMTQuNCAxMS45IDMyLjUgMjEgNTAuNiAyNS4yYzE3LjIgNCAyNy45IDIxLjIgMjMuOSAzOC40cy0yMS4yIDI3LjktMzguNCAyMy45Yy0yNC41LTUuNy00NC45LTE2LjUtNTguMi0yNUM0NDkuNSA0NjkuNyA0MTcgNDgwIDM4NCA0ODBjLTMxLjkgMC02MC42LTkuOS04MC40LTE4LjljLTUuOC0yLjctMTEuMS01LjMtMTUuNi03LjdjLTQuNSAyLjQtOS43IDUuMS0xNS42IDcuN2MtMTkuOCA5LTQ4LjUgMTguOS04MC40IDE4LjljLTMzIDAtNjUuNS0xMC4zLTk0LjUtMjUuOGMtMTMuNCA4LjQtMzMuNyAxOS4zLTU4LjIgMjVjLTE3LjIgNC0zNC40LTYuNy0zOC40LTIzLjlzNi43LTM0LjQgMjMuOS0zOC40YzE4LjEtNC4yIDM2LjItMTMuMyA1MC42LTI1LjJjMTEuMS05LjQgMjcuMy0xMC4xIDM5LjItMS43bDAgMEMxMzYuNyA0MDUuMiAxNjUuMSA0MTYgMTkyIDQxNmMyNy41IDAgNTUtMTAuNiA3Ny41LTI2LjFjMTEuMS03LjkgMjUuOS03LjkgMzcgMHpcIl1cbn07XG52YXIgZmFQZXJzb25Cb290aCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tYm9vdGgnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY3NTZcIiwgXCJNMjU2IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjE5Mmg2NFYzMnptMzIwIDBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMzJ6TTIyNCA1MTJjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzIwSDE5MlY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJ6TTMyMCAwYy05LjMgMC0xOC4xIDQtMjQuMiAxMXMtOC44IDE2LjMtNy41IDI1LjVsMzEuMiAyMTguNkwyODguNiA0MDkuN2MtMy41IDE3LjMgNy44IDM0LjIgMjUuMSAzNy43czM0LjItNy44IDM3LjctMjUuMWwuNy0zLjZjMS4zIDE2LjQgMTUuMSAyOS40IDMxLjkgMjkuNGMxNy43IDAgMzItMTQuMyAzMi0zMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMySDMyMHpNMTEyIDgwQTQ4IDQ4IDAgMSAwIDE2IDgwYTQ4IDQ4IDAgMSAwIDk2IDB6bTAgMjYxLjNWMjY5LjNsNC43IDQuN2M5IDkgMjEuMiAxNC4xIDMzLjkgMTQuMUgyMjRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTU3LjNsLTQxLjYtNDEuNmMtMTQuMy0xNC4zLTMzLjgtMjIuNC01NC0yMi40QzI3LjYgMTYwIDAgMTg3LjYgMCAyMjEuNnY1NS43bDAgLjlWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMzg0bDMyIDQyLjdWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWNDIxLjNjMC0xMC40LTMuNC0yMC41LTkuNi0yOC44TDExMiAzNDEuM3pcIl1cbn07XG52YXIgZmFUZXh0V2lkdGggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGV4dC13aWR0aCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjAzNVwiLCBcIk02NCAxMjhWOTZIMTkybDAgMTI4SDE3NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmg5NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgyNTZsMC0xMjhIMzg0djMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWODBjMC0yNi41LTIxLjUtNDgtNDgtNDhIMjI0IDQ4QzIxLjUgMzIgMCA1My41IDAgODB2NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnpNOS40IDM2MS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w2NCA2NGM5LjIgOS4yIDIyLjkgMTEuOSAzNC45IDYuOXMxOS44LTE2LjYgMTkuOC0yOS42VjQxNkgzMjB2MzJjMCAxMi45IDcuOCAyNC42IDE5LjggMjkuNnMyNS43IDIuMiAzNC45LTYuOWw2NC02NGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtNjQtNjRjLTkuMi05LjItMjIuOS0xMS45LTM0LjktNi45cy0xOS44IDE2LjYtMTkuOCAyOS42djMySDEyOFYzMjBjMC0xMi45LTcuOC0yNC42LTE5LjgtMjkuNnMtMjUuNy0yLjItMzQuOSA2LjlsLTY0IDY0elwiXVxufTtcbnZhciBmYUhhdFdpemFyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYXQtd2l6YXJkJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNmU4XCIsIFwiTTY0IDQxNkwxNjguNiAxODAuN2MxNS4zLTM0LjQgNDAuMy02My41IDcyLTgzLjdsMTQ2LjktOTRjMy0xLjkgNi41LTIuOSAxMC0yLjlDNDA3LjcgMCA0MTYgOC4zIDQxNiAxOC42djEuNmMwIDIuNi0uNSA1LjEtMS40IDcuNUwzNTQuOCAxNzYuOWMtMS45IDQuNy0yLjggOS43LTIuOCAxNC43YzAgNS41IDEuMiAxMSAzLjQgMTYuMUw0NDggNDE2SDI0MC45bDExLjgtMzUuNCA0MC40LTEzLjVjNi41LTIuMiAxMC45LTguMyAxMC45LTE1LjJzLTQuNC0xMy0xMC45LTE1LjJsLTQwLjQtMTMuNS0xMy41LTQwLjRDMjM3IDI3Ni40IDIzMC45IDI3MiAyMjQgMjcycy0xMyA0LjQtMTUuMiAxMC45bC0xMy41IDQwLjQtNDAuNCAxMy41QzE0OC40IDMzOSAxNDQgMzQ1LjEgMTQ0IDM1MnM0LjQgMTMgMTAuOSAxNS4ybDQwLjQgMTMuNUwyMDcuMSA0MTZINjR6TTI3OS42IDE0MS41Yy0xLjEtMy4zLTQuMS01LjUtNy42LTUuNXMtNi41IDIuMi03LjYgNS41bC02LjcgMjAuMi0yMC4yIDYuN2MtMy4zIDEuMS01LjUgNC4xLTUuNSA3LjZzMi4yIDYuNSA1LjUgNy42bDIwLjIgNi43IDYuNyAyMC4yYzEuMSAzLjMgNC4xIDUuNSA3LjYgNS41czYuNS0yLjIgNy42LTUuNWw2LjctMjAuMiAyMC4yLTYuN2MzLjMtMS4xIDUuNS00LjEgNS41LTcuNnMtMi4yLTYuNS01LjUtNy42bC0yMC4yLTYuNy02LjctMjAuMnpNMzIgNDQ4SDQ4MGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpcIl1cbn07XG52YXIgZmFQZW5GYW5jeSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZW4tZmFuY3knLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgzOTUsIDEwMDAyXSwgXCJmNWFjXCIsIFwiTTM3My41IDI3LjFDMzg4LjUgOS45IDQxMC4yIDAgNDMzIDBjNDMuNiAwIDc5IDM1LjQgNzkgNzljMCAyMi44LTkuOSA0NC42LTI3LjEgNTkuNkwyNzcuNyAzMTlsLTEwLjMtMTAuMy02NC02NEwxOTMgMjM0LjMgMzczLjUgMjcuMXpNMTcwLjMgMjU2LjlsMTAuNCAxMC40IDY0IDY0IDEwLjQgMTAuNC0xOS4yIDgzLjRjLTMuOSAxNy4xLTE2LjkgMzAuNy0zMy44IDM1LjRMMjQuNCA1MTAuM2w5NS40LTk1LjRjMi42IC43IDUuNCAxLjEgOC4zIDEuMWMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmMwIDIuOSAuNCA1LjYgMS4xIDguM0wxLjcgNDg3LjYgNTEuNSAzMTBjNC43LTE2LjkgMTguMy0yOS45IDM1LjQtMzMuOGw4My40LTE5LjJ6XCJdXG59O1xudmFyIGZhUGVyc29uRGlnZ2luZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tZGlnZ2luZycsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiZGlnZ2luZ1wiXSwgXCJmODVlXCIsIFwiTTIwOCA2NGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek05LjggMjE0LjhjNS4xLTEyLjIgMTkuMS0xOCAzMS40LTEyLjlMNjAuNyAyMTBsMjIuOS0zOC4xQzk5LjkgMTQ0LjYgMTI5LjMgMTI4IDE2MSAxMjhjNTEuNCAwIDk3IDMyLjkgMTEzLjMgODEuN2wzNC42IDEwMy43IDc5LjMgMzMuMSAzNC4yLTQ1LjZjNi40LTguNSAxNi42LTEzLjMgMjcuMi0xMi44czIwLjMgNi40IDI1LjggMTUuNWw5NiAxNjBjNS45IDkuOSA2LjEgMjIuMiAuNCAzMi4ycy0xNi4zIDE2LjItMjcuOCAxNi4ySDI4OGMtMTEuMSAwLTIxLjQtNS43LTI3LjItMTUuMnMtNi40LTIxLjItMS40LTMxLjFsMTYtMzJjNS40LTEwLjggMTYuNS0xNy43IDI4LjYtMTcuN2gzMmwyMi41LTMwTDIyLjggMjQ2LjJjLTEyLjItNS4xLTE4LTE5LjEtMTIuOS0zMS40em04Mi44IDkxLjhsMTEyIDQ4YzExLjggNSAxOS40IDE2LjYgMTkuNCAyOS40djk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjQwNS4xbC02MC42LTI2LTM3IDExMWMtNS42IDE2LjgtMjMuNyAyNS44LTQwLjUgMjAuMlMtMy45IDQ4Ni42IDEuNiA0NjkuOWw0OC0xNDQgMTEtMzMgMzIgMTMuN3pcIl1cbn07XG52YXIgZmFEaWdnaW5nID0gZmFQZXJzb25EaWdnaW5nO1xudmFyIGZhVHJhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJhc2gnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYxZjhcIiwgXCJNMTM1LjIgMTcuN0wxMjggMzJIMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2SDQxNmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMjBsLTcuMi0xNC4zQzMwNy40IDYuOCAyOTYuMyAwIDI4NC4yIDBIMTYzLjhjLTEyLjEgMC0yMy4yIDYuOC0yOC42IDE3Ljd6TTQxNiAxMjhIMzJMNTMuMiA0NjdjMS42IDI1LjMgMjIuNiA0NSA0Ny45IDQ1SDM0Ni45YzI1LjMgMCA0Ni4zLTE5LjcgNDcuOS00NUw0MTYgMTI4elwiXVxufTtcbnZhciBmYUdhdWdlU2ltcGxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dhdWdlLXNpbXBsZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZ2F1Z2Utc2ltcGxlLW1lZFwiLCBcInRhY2hvbWV0ZXItYXZlcmFnZVwiXSwgXCJmNjI5XCIsIFwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnptMzIwIDk2YzAtMjYuOS0xNi41LTQ5LjktNDAtNTkuM1Y4OGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNFYyOTIuN2MtMjMuNSA5LjUtNDAgMzIuNS00MCA1OS4zYzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR6XCJdXG59O1xudmFyIGZhR2F1Z2VTaW1wbGVNZWQgPSBmYUdhdWdlU2ltcGxlO1xudmFyIGZhVGFjaG9tZXRlckF2ZXJhZ2UgPSBmYUdhdWdlU2ltcGxlO1xudmFyIGZhQm9va01lZGljYWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9vay1tZWRpY2FsJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmN2U2XCIsIFwiTTAgOTZDMCA0MyA0MyAwIDk2IDBIMzg0aDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjM1MmMwIDE3LjctMTQuMyAzMi0zMiAzMnY2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzODQgOTZjLTUzIDAtOTYtNDMtOTYtOTZWOTZ6TTY0IDQxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMkgzNTJWMzg0SDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMjA4IDExMnY0OEgxNjBjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoNDh2NDhjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYyMjRoNDhjOC44IDAgMTYtNy4yIDE2LTE2VjE3NmMwLTguOC03LjItMTYtMTYtMTZIMjcyVjExMmMwLTguOC03LjItMTYtMTYtMTZIMjI0Yy04LjggMC0xNiA3LjItMTYgMTZ6XCJdXG59O1xudmFyIGZhUG9vID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BvbycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODE2OV0sIFwiZjJmZVwiLCBcIk0yNjguOSAuOWMtNS41LS43LTExIDEuNC0xNC41IDUuN3MtNC42IDEwLjEtMi44IDE1LjRjMi44IDguMiA0LjMgMTYuOSA0LjMgMjYuMWMwIDQ0LjEtMzUuNyA3OS45LTc5LjggODBIMTYwYy0zNS4zIDAtNjQgMjguNy02NCA2NGMwIDE5LjEgOC40IDM2LjMgMjEuNyA0OEgxMDRjLTM5LjggMC03MiAzMi4yLTcyIDcyYzAgMjMuMiAxMSA0My44IDI4IDU3Yy0zNC4xIDUuNy02MCAzNS4zLTYwIDcxYzAgMzkuOCAzMi4yIDcyIDcyIDcySDQ0MGMzOS44IDAgNzItMzIuMiA3Mi03MmMwLTM1LjctMjUuOS02NS4zLTYwLTcxYzE3LTEzLjIgMjgtMzMuOCAyOC01N2MwLTM5LjgtMzIuMi03Mi03Mi03MkgzOTQuM2MxMy4zLTExLjcgMjEuNy0yOC45IDIxLjctNDhjMC0zNS4zLTI4LjctNjQtNjQtNjRoLTUuNWMzLjUtMTAgNS41LTIwLjggNS41LTMyYzAtNDguNi0zNi4yLTg4LjgtODMuMS05NS4xek0xOTIgMjU2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptOTYgMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptNjQgMTA4LjNjMCAyLjQtLjcgNC44LTIuMiA2LjdjLTguMiAxMC41LTM5LjUgNDUtOTMuOCA0NXMtODUuNi0zNC42LTkzLjgtNDVjLTEuNS0xLjktMi4yLTQuMy0yLjItNi43YzAtNi44IDUuNS0xMi4zIDEyLjMtMTIuM0gzMzkuN2M2LjggMCAxMi4zIDUuNSAxMi4zIDEyLjN6XCJdXG59O1xudmFyIGZhUXVvdGVSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdxdW90ZS1yaWdodCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzgyMjEsIFwicXVvdGUtcmlnaHQtYWx0XCJdLCBcImYxMGVcIiwgXCJNNDQ4IDI5NmMwIDY2LjMtNTMuNyAxMjAtMTIwIDEyMGgtOGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmg4YzMwLjkgMCA1Ni0yNS4xIDU2LTU2di04SDMyMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMTYwYzAtMzUuMyAyOC43LTY0IDY0LTY0aDY0YzM1LjMgMCA2NCAyOC43IDY0IDY0djMyIDMyIDcyem0tMjU2IDBjMCA2Ni4zLTUzLjcgMTIwLTEyMCAxMjBINjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJoOGMzMC45IDAgNTYtMjUuMSA1Ni01NnYtOEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMTYwYzAtMzUuMyAyOC43LTY0IDY0LTY0aDY0YzM1LjMgMCA2NCAyOC43IDY0IDY0djMyIDMyIDcyelwiXVxufTtcbnZhciBmYVF1b3RlUmlnaHRBbHQgPSBmYVF1b3RlUmlnaHQ7XG52YXIgZmFTaGlydCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaGlydCcsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODA4NSwgXCJ0LXNoaXJ0XCIsIFwidHNoaXJ0XCJdLCBcImY1NTNcIiwgXCJNMjExLjggMGM3LjggMCAxNC4zIDUuNyAxNi43IDEzLjJDMjQwLjggNTEuOSAyNzcuMSA4MCAzMjAgODBzNzkuMi0yOC4xIDkxLjUtNjYuOEM0MTMuOSA1LjcgNDIwLjQgMCA0MjguMiAwaDEyLjZjMjIuNSAwIDQ0LjIgNy45IDYxLjUgMjIuM0w2MjguNSAxMjcuNGM2LjYgNS41IDEwLjcgMTMuNSAxMS40IDIyLjFzLTIuMSAxNy4xLTcuOCAyMy42bC01NiA2NGMtMTEuNCAxMy4xLTMxLjIgMTQuNi00NC42IDMuNUw0ODAgMTk3LjdWNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0SDIyNGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMTk3LjdsLTUxLjUgNDIuOWMtMTMuMyAxMS4xLTMzLjEgOS42LTQ0LjYtMy41bC01Ni02NGMtNS43LTYuNS04LjUtMTUtNy44LTIzLjZzNC44LTE2LjYgMTEuNC0yMi4xTDEzNy43IDIyLjNDMTU1IDcuOSAxNzYuNyAwIDE5OS4yIDBoMTIuNnpcIl1cbn07XG52YXIgZmFUU2hpcnQgPSBmYVNoaXJ0O1xudmFyIGZhVHNoaXJ0ID0gZmFTaGlydDtcbnZhciBmYUN1YmVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2N1YmVzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMWIzXCIsIFwiTTI5MC44IDQ4LjZsNzguNCAyOS43TDI4OCAxMDkuNSAyMDYuOCA3OC4zbDc4LjQtMjkuN2MxLjgtLjcgMy44LS43IDUuNyAwek0xMzYgOTIuNVYyMDQuN2MtMS4zIC40LTIuNiAuOC0zLjkgMS4zbC05NiAzNi40QzE0LjQgMjUwLjYgMCAyNzEuNSAwIDI5NC43VjQxMy45YzAgMjIuMiAxMy4xIDQyLjMgMzMuNSA1MS4zbDk2IDQyLjJjMTQuNCA2LjMgMzAuNyA2LjMgNDUuMSAwTDI4OCA0NTcuNWwxMTMuNSA0OS45YzE0LjQgNi4zIDMwLjcgNi4zIDQ1LjEgMGw5Ni00Mi4yYzIwLjMtOC45IDMzLjUtMjkuMSAzMy41LTUxLjNWMjk0LjdjMC0yMy4zLTE0LjQtNDQuMS0zNi4xLTUyLjRsLTk2LTM2LjRjLTEuMy0uNS0yLjYtLjktMy45LTEuM1Y5Mi41YzAtMjMuMy0xNC40LTQ0LjEtMzYuMS01Mi40bC05Ni0zNi40Yy0xMi44LTQuOC0yNi45LTQuOC0zOS43IDBsLTk2IDM2LjRDMTUwLjQgNDguNCAxMzYgNjkuMyAxMzYgOTIuNXpNMzkyIDIxMC42bC04Mi40IDMxLjJWMTUyLjZMMzkyIDEyMXY4OS42ek0xNTQuOCAyNTAuOWw3OC40IDI5LjdMMTUyIDMxMS43IDcwLjggMjgwLjZsNzguNC0yOS43YzEuOC0uNyAzLjgtLjcgNS43IDB6bTE4LjggMjA0LjRWMzU0LjhMMjU2IDMyMy4ydjk1LjlsLTgyLjQgMzYuMnpNNDIxLjIgMjUwLjljMS44LS43IDMuOC0uNyA1LjcgMGw3OC40IDI5LjdMNDI0IDMxMS43bC04MS4yLTMxLjEgNzguNC0yOS43ek01MjMuMiA0MjEuMmwtNzcuNiAzNC4xVjM1NC44TDUyOCAzMjMuMnY5MC43YzAgMy4yLTEuOSA2LTQuOCA3LjN6XCJdXG59O1xudmFyIGZhRGl2aWRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpdmlkZScsXG4gIGljb246IFs0NDgsIDUxMiwgWzEwMTM1LCAyNDddLCBcImY1MjlcIiwgXCJNMjcyIDk2YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6bTAgMzIwYTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTQwMCAyODhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDAwelwiXVxufTtcbnZhciBmYVRlbmdlU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW5nZS1zaWduJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbODM3NiwgXCJ0ZW5nZVwiXSwgXCJmN2Q3XCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJIMzUyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyQzE0LjMgOTYgMCA4MS43IDAgNjR6TTAgMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMySDE5MiAzNTJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMjI0VjQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYyMjRIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyelwiXVxufTtcbnZhciBmYVRlbmdlID0gZmFUZW5nZVNpZ247XG52YXIgZmFIZWFkcGhvbmVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlYWRwaG9uZXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc5MTFdLCBcImYwMjVcIiwgXCJNMjU2IDgwQzE0OS45IDgwIDYyLjQgMTU5LjQgNDkuNiAyNjJjOS40LTMuOCAxOS42LTYgMzAuNC02YzI2LjUgMCA0OCAyMS41IDQ4IDQ4VjQzMmMwIDI2LjUtMjEuNSA0OC00OCA0OGMtNDQuMiAwLTgwLTM1LjgtODAtODBWMzg0IDMzNiAyODhDMCAxNDYuNiAxMTQuNiAzMiAyNTYgMzJzMjU2IDExNC42IDI1NiAyNTZ2NDggNDggMTZjMCA0NC4yLTM1LjggODAtODAgODBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjMwNGMwLTI2LjUgMjEuNS00OCA0OC00OGMxMC44IDAgMjEgMi4xIDMwLjQgNkM0NDkuNiAxNTkuNCAzNjIuMSA4MCAyNTYgODB6XCJdXG59O1xudmFyIGZhSGFuZHNIb2xkaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzLWhvbGRpbmcnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY0YzJcIiwgXCJNODAgMTA0YzAtMjIuMS0xNy45LTQwLTQwLTQwUzAgODEuOSAwIDEwNHY1NiA2NFYzMjUuNWMwIDI1LjUgMTAuMSA0OS45IDI4LjEgNjcuOUwxMjggNDkzLjNjMTIgMTIgMjguMyAxOC43IDQ1LjMgMTguN0gyNDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMzg1LjFjMC0yOS43LTExLjgtNTguMi0zMi44LTc5LjJsLTI1LjMtMjUuMyAwIDAtMTUuMi0xNS4yLTMyLTMyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wzMiAzMiAxNS4yIDE1LjJjMTEgMTEgOS4yIDI5LjItMy43IDM3LjhjLTkuNyA2LjUtMjIuNyA1LjItMzEtMy4xTDk4LjcgMzA5LjVjLTEyLTEyLTE4LjctMjguMy0xOC43LTQ1LjNWMjI0IDE0NCAxMDR6bTQ4MCAwdjQwIDgwIDQwLjJjMCAxNy02LjcgMzMuMy0xOC43IDQ1LjNsLTUxLjEgNTEuMWMtOC4zIDguMy0yMS4zIDkuNi0zMSAzLjFjLTEyLjktOC42LTE0LjctMjYuOS0zLjctMzcuOGwxNS4yLTE1LjIgMzItMzJjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTMyIDMyLTE1LjIgMTUuMiAwIDAtMjUuMyAyNS4zYy0yMSAyMS0zMi44IDQ5LjUtMzIuOCA3OS4yVjQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGg2Ni43YzE3IDAgMzMuMy02LjcgNDUuMy0xOC43bDk5LjktOTkuOWMxOC0xOCAyOC4xLTQyLjQgMjguMS02Ny45VjIyNCAxNjAgMTA0YzAtMjIuMS0xNy45LTQwLTQwLTQwcy00MCAxNy45LTQwIDQwelwiXVxufTtcbnZhciBmYUhhbmRzQ2xhcHBpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZHMtY2xhcHBpbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImUxYThcIiwgXCJNMzM2IDE2VjgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjE2YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ6bS05OC43IDcuMWwzMiA0OGM0LjkgNy40IDIuOSAxNy4zLTQuNCAyMi4ycy0xNy4zIDIuOS0yMi4yLTQuNGwtMzItNDhjLTQuOS03LjQtMi45LTE3LjMgNC40LTIyLjJzMTcuMy0yLjkgMjIuMiA0LjR6TTEzNSAxMTljOS40LTkuNCAyNC42LTkuNCAzMy45IDBMMjkyLjcgMjQyLjdjMTAuMSAxMC4xIDI3LjMgMi45IDI3LjMtMTEuM1YxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMlYzNDUuNmMwIDU3LjEtMzAgMTEwLTc4LjkgMTM5LjRjLTY0IDM4LjQtMTQ1LjggMjguMy0xOTguNS0yNC40TDcgMzYxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNTMgNTNjNi4xIDYuMSAxNiA2LjEgMjIuMSAwczYuMS0xNiAwLTIyLjFMMjMgMjY1Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsOTMgOTNjNi4xIDYuMSAxNiA2LjEgMjIuMSAwczYuMS0xNiAwLTIyLjFMNTUgMTg1Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMTE3IDExN2M2LjEgNi4xIDE2IDYuMSAyMi4xIDBzNi4xLTE2IDAtMjIuMWwtOTMtOTNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45ek00MzMuMSA0ODQuOWMtMjQuMiAxNC41LTUwLjkgMjIuMS03Ny43IDIzLjFjNDguMS0zOS42IDc2LjYtOTkgNzYuNi0xNjIuNGwwLTk4LjFjOC4yLS4xIDE2LTYuNCAxNi0xNlYxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMlYzNDUuNmMwIDU3LjEtMzAgMTEwLTc4LjkgMTM5LjR6TTQyNC45IDE4LjdjNy40IDQuOSA5LjMgMTQuOCA0LjQgMjIuMmwtMzIgNDhjLTQuOSA3LjQtMTQuOCA5LjMtMjIuMiA0LjRzLTkuMy0xNC44LTQuNC0yMi4ybDMyLTQ4YzQuOS03LjQgMTQuOC05LjMgMjIuMi00LjR6XCJdXG59O1xudmFyIGZhUmVwdWJsaWNhbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyZXB1YmxpY2FuJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNzVlXCIsIFwiTTAgMTkyQzAgMTAzLjYgNzEuNiAzMiAxNjAgMzJIMzg0Yzg4LjQgMCAxNjAgNzEuNiAxNjAgMTYwdjY0SDBWMTkyem00MTUuOS02NGMtMi40IDAtNC43IDEuMy01LjcgMy40bC0xMi42IDI0LjYtMjguMiA0Yy0yLjQgLjMtNC40IDItNS4yIDQuMnMtLjEgNC43IDEuNiA2LjNsMjAuNCAxOS4yLTQuOCAyNy4xYy0uNCAyLjMgLjYgNC43IDIuNSA2czQuNiAxLjYgNi43IC41bDI1LjItMTIuOCAyNS4yIDEyLjhjMi4yIDEuMSA0LjggLjkgNi43LS41czMtMy43IDIuNS02bC00LjgtMjcuMUw0NjYgMTcwLjVjMS43LTEuNiAyLjQtNC4xIDEuNi02LjNzLTIuOC0zLjktNS4yLTQuMmwtMjguMi00LTEyLjYtMjQuNmMtMS4xLTIuMS0zLjMtMy40LTUuNy0zLjR6bS0xMzguMyAzLjRjLTEuMS0yLjEtMy4zLTMuNC01LjctMy40cy00LjcgMS4zLTUuNyAzLjRsLTEyLjYgMjQuNi0yOC4yIDRjLTIuNCAuMy00LjQgMi01LjIgNC4ycy0uMSA0LjcgMS42IDYuM2wyMC40IDE5LjItNC44IDI3LjFjLS40IDIuMyAuNiA0LjcgMi41IDZzNC42IDEuNiA2LjcgLjVsMjUuMi0xMi44IDI1LjIgMTIuOGMyLjIgMS4xIDQuOCAuOSA2LjctLjVzMy0zLjcgMi41LTZsLTQuOC0yNy4xTDMyMiAxNzAuNWMxLjctMS42IDIuNC00LjEgMS42LTYuM3MtMi44LTMuOS01LjItNC4ybC0yOC4yLTQtMTIuNi0yNC42ek0xMjcuOSAxMjhjLTIuNCAwLTQuNyAxLjMtNS43IDMuNGwtMTIuNiAyNC42LTI4LjIgNGMtMi40IC4zLTQuNCAyLTUuMiA0LjJzLS4xIDQuNyAxLjYgNi4zbDIwLjQgMTkuMi00LjggMjcuMWMtLjQgMi4zIC42IDQuNyAyLjUgNnM0LjYgMS42IDYuNyAuNWwyNS4yLTEyLjggMjUuMiAxMi44YzIuMiAxLjEgNC44IC45IDYuNy0uNXMzLTMuNyAyLjUtNmwtNC44LTI3LjFMMTc4IDE3MC41YzEuNy0xLjYgMi40LTQuMSAxLjYtNi4zcy0yLjgtMy45LTUuMi00LjJsLTI4LjItNC0xMi42LTI0LjZjLTEuMS0yLjEtMy4zLTMuNC01LjctMy40em0uMSAxNjBIMzIwaDk2IDMyIDY0IDMydjMyIDgwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMzUyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ2NDhjMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBWMzUySDQ0OHYzMiA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkgzNTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjM4NEgxMjh2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjM4NCAyODhIMTI4elwiXVxufTtcbnZhciBmYUFycm93TGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1sZWZ0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbODU5Ml0sIFwiZjA2MFwiLCBcIk05LjQgMjMzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wxMDkuMiAyODggNDE2IDI4OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzA2LjcgMEwyMTQuNiAxMTguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMTYwIDE2MHpcIl1cbn07XG52YXIgZmFQZXJzb25DaXJjbGVYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tY2lyY2xlLXhtYXJrJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTQzXCIsIFwiTTExMiA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem00MCAzMDRWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjI1Ni45TDU5LjQgMzA0LjVjLTkuMSAxNS4xLTI4LjggMjAtNDMuOSAxMC45cy0yMC0yOC44LTEwLjktNDMuOWw1OC4zLTk3YzE3LjQtMjguOSA0OC42LTQ2LjYgODIuMy00Ni42aDI5LjdjMzMuNyAwIDY0LjkgMTcuNyA4Mi4zIDQ2LjZsNDQuOSA3NC43Yy0xNi4xIDE3LjYtMjguNiAzOC41LTM2LjYgNjEuNWMtMS45LTEuOC0zLjUtMy45LTQuOS02LjNMMjMyIDI1Ni45VjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzNTJIMTUyek00MzIgMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptNTkuMyAxMDcuM2M2LjItNi4yIDYuMi0xNi40IDAtMjIuNnMtMTYuNC02LjItMjIuNiAwTDQzMiAzNDUuNGwtMzYuNy0zNi43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42TDQwOS40IDM2OGwtMzYuNyAzNi43Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBMNDMyIDM5MC42bDM2LjcgMzYuN2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZMNDU0LjYgMzY4bDM2LjctMzYuN3pcIl1cbn07XG52YXIgZmFSdWxlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdydWxlcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODIwN10sIFwiZjU0NVwiLCBcIk0xNzcuOSA0OTQuMWMtMTguNyAxOC43LTQ5LjEgMTguNy02Ny45IDBMMTcuOSA0MDEuOWMtMTguNy0xOC43LTE4LjctNDkuMSAwLTY3LjlsNTAuNy01MC43IDQ4IDQ4YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNDgtNDggNDEuNC00MS40IDQ4IDQ4YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNDgtNDggNDEuNC00MS40IDQ4IDQ4YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNDgtNDggNDEuNC00MS40IDQ4IDQ4YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNDgtNDggNTAuNy01MC43YzE4LjctMTguNyA0OS4xLTE4LjcgNjcuOSAwbDkyLjEgOTIuMWMxOC43IDE4LjcgMTguNyA0OS4xIDAgNjcuOUwxNzcuOSA0OTQuMXpcIl1cbn07XG52YXIgZmFBbGlnbkxlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYWxpZ24tbGVmdCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjAzNlwiLCBcIk0yODggNjRjMCAxNy43LTE0LjMgMzItMzIgMzJIMzJDMTQuMyA5NiAwIDgxLjcgMCA2NFMxNC4zIDMyIDMyIDMySDI1NmMxNy43IDAgMzIgMTQuMyAzMiAzMnptMCAyNTZjMCAxNy43LTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJIMjU2YzE3LjcgMCAzMiAxNC4zIDMyIDMyek0wIDE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMkg0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek00NDggNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMySDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnpcIl1cbn07XG52YXIgZmFEaWNlRDYgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGljZS1kNicsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjZkMVwiLCBcIk0yMDEgMTAuM2MxNC4zLTcuOCAzMS42LTcuOCA0NiAwTDQyMi4zIDEwNmM1LjEgMi44IDguMyA4LjIgOC4zIDE0cy0zLjIgMTEuMi04LjMgMTRMMjMxLjcgMjM4Yy00LjggMi42LTEwLjUgMi42LTE1LjMgMEwyNS43IDEzNGMtNS4xLTIuOC04LjMtOC4yLTguMy0xNHMzLjItMTEuMiA4LjMtMTRMMjAxIDEwLjN6TTIzLjcgMTcwbDE3NiA5NmM1LjEgMi44IDguMyA4LjIgOC4zIDE0VjQ5NmMwIDUuNi0zIDEwLjktNy44IDEzLjhzLTEwLjkgMy0xNS44IC4zTDI1IDQyMy4xQzkuNiA0MTQuNyAwIDM5OC42IDAgMzgxVjE4NGMwLTUuNiAzLTEwLjkgNy44LTEzLjhzMTAuOS0zIDE1LjgtLjN6bTQwMC43IDBjNS0yLjcgMTEtMi42IDE1LjggLjNzNy44IDguMSA3LjggMTMuOFYzODFjMCAxNy42LTkuNiAzMy43LTI1IDQyLjFMMjYzLjcgNTEwYy01IDIuNy0xMSAyLjYtMTUuOC0uM3MtNy44LTguMS03LjgtMTMuOFYyODBjMC01LjkgMy4yLTExLjIgOC4zLTE0bDE3Ni05NnpcIl1cbn07XG52YXIgZmFSZXN0cm9vbSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyZXN0cm9vbScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjdiZFwiLCBcIk04MCA0OGE0OCA0OCAwIDEgMSA5NiAwQTQ4IDQ4IDAgMSAxIDgwIDQ4em00MCAzMDRWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjMyNS4yYy04LjEgOS4yLTIxLjEgMTMuMi0zMy41IDkuNGMtMTYuOS01LjMtMjYuMy0yMy4yLTIxLTQwLjFsMzAuOS05OS4xQzQ0LjkgMTU1LjMgODIgMTI4IDEyNCAxMjhoOGM0MiAwIDc5LjEgMjcuMyA5MS42IDY3LjRsMzAuOSA5OS4xYzUuMyAxNi45LTQuMSAzNC44LTIxIDQwLjFjLTEyLjQgMy45LTI1LjQtLjItMzMuNS05LjRWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjM1MkgxMjB6TTMyMCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0VjQ4OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNNDY0IDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTQ0MCA0ODBWMzg0SDQyMi4yYy0xMC45IDAtMTguNi0xMC43LTE1LjItMjEuMWw5LTI2LjljLTMuMiAwLTYuNC0uNS05LjUtMS41Yy0xNi45LTUuMy0yNi4zLTIzLjItMjEtNDAuMWwyOS43LTk1LjJDNDI4LjQgMTU2LjkgNDY3LjYgMTI4IDUxMiAxMjhzODMuNiAyOC45IDk2LjggNzEuMmwyOS43IDk1LjJjNS4zIDE2LjktNC4xIDM0LjgtMjEgNDAuMWMtMy4yIDEtNi40IDEuNS05LjUgMS41bDkgMjYuOWMzLjUgMTAuNC00LjMgMjEuMS0xNS4yIDIxLjFINTg0djk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjM4NEg1MDR2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJ6XCJdXG59O1xudmFyIGZhSiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdqJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTA2XSwgXCI0YVwiLCBcIk0yODggMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJWMzIwYzAgODguNC03MS42IDE2MC0xNjAgMTYwUzAgNDA4LjQgMCAzMjBWMjg4YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ2MzJjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NlY2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpcIl1cbn07XG52YXIgZmFVc2Vyc1ZpZXdmaW5kZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlcnMtdmlld2ZpbmRlcicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU5NVwiLCBcIk00OCA0OGg4OGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEgzMkMxNC4zIDAgMCAxNC4zIDAgMzJWMTM2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWNDh6TTE3NS44IDIyNGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bS0yNi41IDMyQzExOS45IDI1NiA5NiAyNzkuOSA5NiAzMDkuM2MwIDE0LjcgMTEuOSAyNi43IDI2LjcgMjYuN2g1Ni4xYzgtMzQuMSAzMi44LTYxLjcgNjUuMi03My42Yy03LjUtNC4xLTE2LjItNi40LTI1LjMtNi40SDE0OS4zem0zNjggODBjMTQuNyAwIDI2LjctMTEuOSAyNi43LTI2LjdjMC0yOS41LTIzLjktNTMuMy01My4zLTUzLjNINDIxLjNjLTkuMiAwLTE3LjggMi4zLTI1LjMgNi40YzMyLjQgMTEuOSA1Ny4yIDM5LjUgNjUuMiA3My42aDU2LjF6bS04OS40IDBjLTguNi0yNC4zLTI5LjktNDIuNi01NS45LTQ3Yy0zLjktLjctNy45LTEtMTItMUgyODBjLTQuMSAwLTguMSAuMy0xMiAxYy0yNiA0LjQtNDcuMyAyMi43LTU1LjkgNDdjLTIuNyA3LjUtNC4xIDE1LjYtNC4xIDI0YzAgMTMuMyAxMC43IDI0IDI0IDI0SDQwOGMxMy4zIDAgMjQtMTAuNyAyNC0yNGMwLTguNC0xLjQtMTYuNS00LjEtMjR6TTQ2NCAyMjRhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0tODAtMzJhNjQgNjQgMCAxIDAgLTEyOCAwIDY0IDY0IDAgMSAwIDEyOCAwek01MDQgNDhoODh2ODhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMkg1MDRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjR6TTQ4IDQ2NFYzNzZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMySDEzNmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEg0OHptNDU2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRINjA4YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM3NmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHY4OEg1MDR6XCJdXG59O1xudmFyIGZhRmlsZVZpZGVvID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtdmlkZW8nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImYxYzhcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDMyMGMzNS4zIDAgNjQtMjguNyA2NC02NFYxNjBIMjU2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYwSDY0ek0yNTYgMFYxMjhIMzg0TDI1NiAwek02NCAyODhjMC0xNy43IDE0LjMtMzIgMzItMzJoOTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJIOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjI4OHpNMzAwLjkgMzk3LjlMMjU2IDM2OFYzMDRsNDQuOS0yOS45YzItMS4zIDQuNC0yLjEgNi44LTIuMWM2LjggMCAxMi4zIDUuNSAxMi4zIDEyLjNWMzg3LjdjMCA2LjgtNS41IDEyLjMtMTIuMyAxMi4zYy0yLjQgMC00LjgtLjctNi44LTIuMXpcIl1cbn07XG52YXIgZmFVcFJpZ2h0RnJvbVNxdWFyZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1cC1yaWdodC1mcm9tLXNxdWFyZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZXh0ZXJuYWwtbGluay1hbHRcIl0sIFwiZjM1ZFwiLCBcIk0zNTIgMGMtMTIuOSAwLTI0LjYgNy44LTI5LjYgMTkuOHMtMi4yIDI1LjcgNi45IDM0LjlMMzcwLjcgOTYgMjAxLjQgMjY1LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMNDE2IDE0MS4zbDQxLjQgNDEuNGM5LjIgOS4yIDIyLjkgMTEuOSAzNC45IDYuOXMxOS44LTE2LjYgMTkuOC0yOS42VjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMySDM1MnpNODAgMzJDMzUuOCAzMiAwIDY3LjggMCAxMTJWNDMyYzAgNDQuMiAzNS44IDgwIDgwIDgwSDQwMGM0NC4yIDAgODAtMzUuOCA4MC04MFYzMjBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWNDMyYzAgOC44LTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjExMmMwLTguOCA3LjItMTYgMTYtMTZIMTkyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDgwelwiXVxufTtcbnZhciBmYUV4dGVybmFsTGlua0FsdCA9IGZhVXBSaWdodEZyb21TcXVhcmU7XG52YXIgZmFUYWJsZUNlbGxzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhYmxlLWNlbGxzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJ0aFwiXSwgXCJmMDBhXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NFY5NmMwLTM1LjMtMjguNy02NC02NC02NEg2NHptODggNjR2NjRINjRWOTZoODh6bTU2IDBoODh2NjRIMjA4Vjk2em0yNDAgMHY2NEgzNjBWOTZoODh6TTY0IDIyNGg4OHY2NEg2NFYyMjR6bTIzMiAwdjY0SDIwOFYyMjRoODh6bTY0IDBoODh2NjRIMzYwVjIyNHpNMTUyIDM1MnY2NEg2NFYzNTJoODh6bTU2IDBoODh2NjRIMjA4VjM1MnptMjQwIDB2NjRIMzYwVjM1Mmg4OHpcIl1cbn07XG52YXIgZmFUaCA9IGZhVGFibGVDZWxscztcbnZhciBmYUZpbGVQZGYgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1wZGYnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYxYzFcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjI0IDBsMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDAgMCAxNDQtMjA4IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMTQ0LTQ4IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTM4NCA2NGwtMTI4IDBMMjU2IDAgMzg0IDEyOHpNMTc2IDM1MmwzMiAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2cy0yNS4xIDU2LTU2IDU2bC0xNiAwIDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC00OCAwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnptMzIgODBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE2IDAgMCA0OCAxNiAwem05Ni04MGwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNjRjMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTEyOGMwLTguOCA3LjItMTYgMTYtMTZ6bTMyIDEyOGM4LjggMCAxNi03LjIgMTYtMTZsMC02NGMwLTguOC03LjItMTYtMTYtMTZsLTE2IDAgMCA5NiAxNiAwem04MC0xMTJjMC04LjggNy4yLTE2IDE2LTE2bDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTMyIDAgMCAzMiAzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0zMiAwIDAgNDhjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC02NCAwLTY0elwiXVxufTtcbnZhciBmYUJvb2tCaWJsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib29rLWJpYmxlJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJiaWJsZVwiXSwgXCJmNjQ3XCIsIFwiTTk2IDBDNDMgMCAwIDQzIDAgOTZWNDE2YzAgNTMgNDMgOTYgOTYgOTZIMzg0aDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyVjM4NGMxNy43IDAgMzItMTQuMyAzMi0zMlYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMkgzODQgOTZ6bTAgMzg0SDM1MnY2NEg5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpNMjA4IDgwYzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2NDhoNDhjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgyNzJWMzA0YzAgOC44LTcuMiAxNi0xNiAxNkgyMjRjLTguOCAwLTE2LTcuMi0xNi0xNlYxOTJIMTYwYy04LjggMC0xNi03LjItMTYtMTZWMTQ0YzAtOC44IDcuMi0xNiAxNi0xNmg0OFY4MHpcIl1cbn07XG52YXIgZmFCaWJsZSA9IGZhQm9va0JpYmxlO1xudmFyIGZhTyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdvJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTExXSwgXCI0ZlwiLCBcIk0yMjQgOTZhMTYwIDE2MCAwIDEgMCAwIDMyMCAxNjAgMTYwIDAgMSAwIDAtMzIwek00NDggMjU2QTIyNCAyMjQgMCAxIDEgMCAyNTZhMjI0IDIyNCAwIDEgMSA0NDggMHpcIl1cbn07XG52YXIgZmFTdWl0Y2FzZU1lZGljYWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3VpdGNhc2UtbWVkaWNhbCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibWVka2l0XCJdLCBcImYwZmFcIiwgXCJNMTg0IDQ4SDMyOGM0LjQgMCA4IDMuNiA4IDhWOTZIMTc2VjU2YzAtNC40IDMuNi04IDgtOHptLTU2IDhWOTZ2MzJWNDgwSDM4NFYxMjggOTYgNTZjMC0zMC45LTI1LjEtNTYtNTYtNTZIMTg0Yy0zMC45IDAtNTYgMjUuMS01NiA1NnpNOTYgOTZINjRDMjguNyA5NiAwIDEyNC43IDAgMTYwVjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEg5NlY5NnpNNDE2IDQ4MGgzMmMzNS4zIDAgNjQtMjguNyA2NC02NFYxNjBjMC0zNS4zLTI4LjctNjQtNjQtNjRINDE2VjQ4MHpNMjI0IDIwOGMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djQ4aDQ4YzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMjg4djQ4YzAgOC44LTcuMiAxNi0xNiAxNkgyNDBjLTguOCAwLTE2LTcuMi0xNi0xNlYzMjBIMTc2Yy04LjggMC0xNi03LjItMTYtMTZWMjcyYzAtOC44IDcuMi0xNiAxNi0xNmg0OFYyMDh6XCJdXG59O1xudmFyIGZhTWVka2l0ID0gZmFTdWl0Y2FzZU1lZGljYWw7XG52YXIgZmFVc2VyU2VjcmV0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItc2VjcmV0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI4MzczXSwgXCJmMjFiXCIsIFwiTTIyNCAxNmMtNi43IDAtMTAuOC0yLjgtMTUuNS02LjFDMjAxLjkgNS40IDE5NCAwIDE3NiAwYy0zMC41IDAtNTIgNDMuNy02NiA4OS40QzYyLjcgOTguMSAzMiAxMTIuMiAzMiAxMjhjMCAxNC4zIDI1IDI3LjEgNjQuNiAzNS45Yy0uNCA0LS42IDgtLjYgMTIuMWMwIDE3IDMuMyAzMy4yIDkuMyA0OEg0NS40QzM4IDIyNCAzMiAyMzAgMzIgMjM3LjRjMCAxLjcgLjMgMy40IDEgNWwzOC44IDk2LjlDMjguMiAzNzEuOCAwIDQyMy44IDAgNDgyLjNDMCA0OTguNyAxMy4zIDUxMiAyOS43IDUxMkg0MTguM2MxNi40IDAgMjkuNy0xMy4zIDI5LjctMjkuN2MwLTU4LjUtMjguMi0xMTAuNC03MS43LTE0M0w0MTUgMjQyLjRjLjYtMS42IDEtMy4zIDEtNWMwLTcuNC02LTEzLjQtMTMuNC0xMy40SDM0Mi43YzYtMTQuOCA5LjMtMzEgOS4zLTQ4YzAtNC4xLS4yLTguMS0uNi0xMi4xQzM5MSAxNTUuMSA0MTYgMTQyLjMgNDE2IDEyOGMwLTE1LjgtMzAuNy0yOS45LTc4LTM4LjZDMzI0IDQzLjcgMzAyLjUgMCAyNzIgMGMtMTggMC0yNS45IDUuNC0zMi41IDkuOWMtNC44IDMuMy04LjggNi4xLTE1LjUgNi4xem01NiAyMDhIMjY3LjZjLTE2LjUgMC0zMS4xLTEwLjYtMzYuMy0yNi4yYy0yLjMtNy0xMi4yLTctMTQuNSAwYy01LjIgMTUuNi0xOS45IDI2LjItMzYuMyAyNi4ySDE2OGMtMjIuMSAwLTQwLTE3LjktNDAtNDBWMTY5LjZjMjguMiA0LjEgNjEgNi40IDk2IDYuNHM2Ny44LTIuMyA5Ni02LjRWMTg0YzAgMjIuMS0xNy45IDQwLTQwIDQwem0tODggOTZsMTYgMzJMMTc2IDQ4MCAxMjggMjg4bDY0IDMyem0xMjgtMzJMMjcyIDQ4MCAyNDAgMzUybDE2LTMyIDY0LTMyelwiXVxufTtcbnZhciBmYU90dGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ290dGVyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI5NDQ2XSwgXCJmNzAwXCIsIFwiTTE4MS41IDE5Ny4xbDEyLjkgNi40YzUuOSAzIDEyLjQgNC41IDE5LjEgNC41YzIzLjUgMCA0Mi42LTE5LjEgNDIuNi00Mi42VjE0NGMwLTM1LjMtMjguNy02NC02NC02NEgxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0djIxLjRjMCAyMy41IDE5LjEgNDIuNiA0Mi42IDQyLjZjNi42IDAgMTMuMS0xLjUgMTkuMS00LjVsMTIuOS02LjQgOC40LTQuMkwxMzUuMSAxODVjLTQuNS0zLTcuMS04LTcuMS0xMy4zVjE2OGMwLTEzLjMgMTAuNy0yNCAyNC0yNGgxNmMxMy4zIDAgMjQgMTAuNyAyNCAyNHYzLjdjMCA1LjMtMi43IDEwLjMtNy4xIDEzLjNsLTExLjggNy45IDguNCA0LjJ6bS04LjYgNDkuNEwxNjAgMjQwbC0xMi45IDYuNGMtMTIuNiA2LjMtMjYuNSA5LjYtNDAuNSA5LjZjLTMuNiAwLTcuMS0uMi0xMC42LS42di42YzAgMzUuMyAyOC43IDY0IDY0IDY0aDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDM4NFYzMzYgMzIwYzAtMjMuNyAxMi45LTQ0LjQgMzItNTUuNGM5LjQtNS40IDIwLjMtOC42IDMyLTguNlYyNDBjMC0yNi41IDIxLjUtNDggNDgtNDhjOC44IDAgMTYgNy4yIDE2IDE2djMyIDE2IDQ4YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMjA0LjNjMC00OC4yLTMwLjgtOTEtNzYuNi0xMDYuM2wtOC41LTIuOGMtOC0yLjctMTIuNi0xMS4xLTEwLjQtMTkuM3MxMC4zLTEzLjIgMTguNi0xMS42bDE5LjkgNEM1NzYgODYuMSA2NDAgMTY0LjIgNjQwIDI1NC45bDAgMS4xaDBjMCAxMjMuNy0xMDAuMyAyMjQtMjI0IDIyNGgtMS4xSDI1NmgtLjZDMTMyIDQ4MCAzMiAzODAgMzIgMjU2LjZWMjU2IDIxNi44Yy0xMC4xLTE0LjYtMTYtMzIuMy0xNi01MS40VjE0NGwwLTEuNEM2LjcgMTM5LjMgMCAxMzAuNSAwIDEyMGMwLTEzLjMgMTAuNy0yNCAyNC0yNGgyLjhDNDQuOCA1OC4yIDgzLjMgMzIgMTI4IDMyaDY0YzQ0LjcgMCA4My4yIDI2LjIgMTAxLjIgNjRIMjk2YzEzLjMgMCAyNCAxMC43IDI0IDI0YzAgMTAuNS02LjcgMTkuMy0xNiAyMi42bDAgMS40djIxLjRjMCAxLjQgMCAyLjgtLjEgNC4zYzEyLTYuMiAyNS43LTkuNiA0MC4xLTkuNmg4YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyaC04Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHY4aDU2LjRjLTE1LjIgMTctMjQuNCAzOS40LTI0LjQgNjRIMzIwYy00Mi4zIDAtNzguMi0yNy40LTkxLTY1LjNjLTUuMSAuOS0xMC4zIDEuMy0xNS42IDEuM2MtMTQuMSAwLTI3LjktMy4zLTQwLjUtOS42ek05NiAxMjhhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyem0xMTIgMTZhMTYgMTYgMCAxIDEgMzIgMCAxNiAxNiAwIDEgMSAtMzIgMHpcIl1cbn07XG52YXIgZmFQZXJzb25EcmVzcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tZHJlc3MnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtcImZlbWFsZVwiXSwgXCJmMTgyXCIsIFwiTTE2MCAwYTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpNODggMzg0SDcwLjJjLTEwLjkgMC0xOC42LTEwLjctMTUuMi0yMS4xTDkzLjMgMjQ4LjEgNTkuNCAzMDQuNWMtOS4xIDE1LjEtMjguOCAyMC00My45IDEwLjlzLTIwLTI4LjgtMTAuOS00My45bDUzLjYtODkuMmMyMC4zLTMzLjcgNTYuNy01NC4zIDk2LTU0LjNoMTEuNmMzOS4zIDAgNzUuNyAyMC42IDk2IDU0LjNsNTMuNiA4OS4yYzkuMSAxNS4xIDQuMiAzNC44LTEwLjkgNDMuOXMtMzQuOCA0LjItNDMuOS0xMC45bC0zMy45LTU2LjNMMjY1IDM2Mi45YzMuNSAxMC40LTQuMyAyMS4xLTE1LjIgMjEuMUgyMzJ2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzg0SDE1MnY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzODR6XCJdXG59O1xudmFyIGZhRmVtYWxlID0gZmFQZXJzb25EcmVzcztcbnZhciBmYUNvbW1lbnREb2xsYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tbWVudC1kb2xsYXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY2NTFcIiwgXCJNMjU2IDQ0OGMxNDEuNCAwIDI1Ni05My4xIDI1Ni0yMDhTMzk3LjQgMzIgMjU2IDMyUzAgMTI1LjEgMCAyNDBjMCA0NS4xIDE3LjcgODYuOCA0Ny43IDEyMC45Yy0xLjkgMjQuNS0xMS40IDQ2LjMtMjEuNCA2Mi45Yy01LjUgOS4yLTExLjEgMTYuNi0xNS4yIDIxLjZjLTIuMSAyLjUtMy43IDQuNC00LjkgNS43Yy0uNiAuNi0xIDEuMS0xLjMgMS40bC0uMyAuMyAwIDAgMCAwIDAgMCAwIDBjLTQuNiA0LjYtNS45IDExLjQtMy40IDE3LjRjMi41IDYgOC4zIDkuOSAxNC44IDkuOWMyOC43IDAgNTcuNi04LjkgODEuNi0xOS4zYzIyLjktMTAgNDIuNC0yMS45IDU0LjMtMzAuNmMzMS44IDExLjUgNjcgMTcuOSAxMDQuMSAxNy45em0yMC0zMTJ2MTMuOWM3LjUgMS4yIDE0LjYgMi45IDIxLjEgNC43YzEwLjcgMi44IDE3IDEzLjggMTQuMiAyNC41cy0xMy44IDE3LTI0LjUgMTQuMmMtMTEtMi45LTIxLjYtNS0zMS4yLTUuMmMtNy45LS4xLTE2IDEuOC0yMS41IDVjLTQuOCAyLjgtNi4yIDUuNi02LjIgOS4zYzAgMS44IC4xIDMuNSA1LjMgNi43YzYuMyAzLjggMTUuNSA2LjcgMjguMyAxMC41bC43IC4yYzExLjIgMy40IDI1LjYgNy43IDM3LjEgMTVjMTIuOSA4LjEgMjQuMyAyMS4zIDI0LjYgNDEuNmMuMyAyMC45LTEwLjUgMzYuMS0yNC44IDQ1Yy03LjIgNC41LTE1LjIgNy4zLTIzLjIgOVYzNDRjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwVjMyOS40Yy0xMC4zLTIuMi0yMC01LjUtMjguMi04LjRsMCAwIDAgMGMtMi4xLS43LTQuMS0xLjQtNi4xLTIuMWMtMTAuNS0zLjUtMTYuMS0xNC44LTEyLjYtMjUuM3MxNC44LTE2LjEgMjUuMy0xMi42YzIuNSAuOCA0LjkgMS43IDcuMiAyLjRjMTMuNiA0LjYgMjQgOC4xIDM1LjEgOC41YzguNiAuMyAxNi41LTEuNiAyMS40LTQuN2M0LjEtMi41IDYtNS41IDUuOS0xMC41YzAtMi45LS44LTUtNS45LTguMmMtNi4zLTQtMTUuNC02LjktMjgtMTAuN2wtMS43LS41Yy0xMC45LTMuMy0yNC42LTcuNC0zNS42LTE0Yy0xMi43LTcuNy0yNC42LTIwLjUtMjQuNy00MC43Yy0uMS0yMS4xIDExLjgtMzUuNyAyNS44LTQzLjljNi45LTQuMSAxNC41LTYuOCAyMi4yLTguNVYxMzZjMC0xMSA5LTIwIDIwLTIwczIwIDkgMjAgMjB6XCJdXG59O1xudmFyIGZhQnVzaW5lc3NUaW1lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1c2luZXNzLXRpbWUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImJyaWVmY2FzZS1jbG9ja1wiXSwgXCJmNjRhXCIsIFwiTTE4NCA0OEgzMjhjNC40IDAgOCAzLjYgOCA4Vjk2SDE3NlY1NmMwLTQuNCAzLjYtOCA4LTh6bS01NiA4Vjk2SDY0QzI4LjcgOTYgMCAxMjQuNyAwIDE2MHY5NkgxOTIgMzUyaDguMmMzMi4zLTM5LjEgODEuMS02NCAxMzUuOC02NGM1LjQgMCAxMC43IC4yIDE2IC43VjE2MGMwLTM1LjMtMjguNy02NC02NC02NEgzODRWNTZjMC0zMC45LTI1LjEtNTYtNTYtNTZIMTg0Yy0zMC45IDAtNTYgMjUuMS01NiA1NnpNMzIwIDM1MkgyMjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjI4OEgwVjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEgzNjAuMkMzMzUuMSA0NDkuNiAzMjAgNDEwLjUgMzIwIDM2OGMwLTUuNCAuMi0xMC43IC43LTE2bC0uNyAwem0zMjAgMTZhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHpNNDk2IDI4OGM4LjggMCAxNiA3LjIgMTYgMTZ2NDhoMzJjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZINDk2Yy04LjggMC0xNi03LjItMTYtMTZWMzA0YzAtOC44IDcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFCcmllZmNhc2VDbG9jayA9IGZhQnVzaW5lc3NUaW1lO1xudmFyIGZhVGFibGVDZWxsc0xhcmdlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhYmxlLWNlbGxzLWxhcmdlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJ0aC1sYXJnZVwiXSwgXCJmMDA5XCIsIFwiTTQ0OCA5NlYyMjRIMjg4Vjk2SDQ0OHptMCAxOTJWNDE2SDI4OFYyODhINDQ4ek0yMjQgMjI0SDY0Vjk2SDIyNFYyMjR6TTY0IDI4OEgyMjRWNDE2SDY0VjI4OHpNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRINDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0elwiXVxufTtcbnZhciBmYVRoTGFyZ2UgPSBmYVRhYmxlQ2VsbHNMYXJnZTtcbnZhciBmYUJvb2tUYW5ha2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9vay10YW5ha2gnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcInRhbmFraFwiXSwgXCJmODI3XCIsIFwiTTM1MiAwYzUzIDAgOTYgNDMgOTYgOTZWNDE2YzAgNTMtNDMgOTYtOTYgOTZINjQgMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJWMzg0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYzMkMwIDE0LjMgMTQuMyAwIDMyIDBINjQgMzUyem0wIDM4NEg5NnY2NEgzNTJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJ6TTEzOC43IDIwOGwxMy45IDI0SDEyNC45bDEzLjktMjR6bS0xMy45LTI0TDk3LjEgMjMyYy02LjIgMTAuNyAxLjUgMjQgMTMuOSAyNGg1NS40bDI3LjcgNDhjNi4yIDEwLjcgMjEuNiAxMC43IDI3LjcgMGwyNy43LTQ4SDMwNWMxMi4zIDAgMjAtMTMuMyAxMy45LTI0bC0yNy43LTQ4IDI3LjctNDhjNi4yLTEwLjctMS41LTI0LTEzLjktMjRIMjQ5LjZMMjIxLjkgNjRjLTYuMi0xMC43LTIxLjYtMTAuNy0yNy43IDBsLTI3LjcgNDhIMTExYy0xMi4zIDAtMjAgMTMuMy0xMy45IDI0bDI3LjcgNDh6bTI3LjcgMGwyNy43LTQ4aDU1LjRsMjcuNyA0OC0yNy43IDQ4SDE4MC4zbC0yNy43LTQ4em0wLTQ4bC0xMy45IDI0LTEzLjktMjRoMjcuN3ptNDEuNi0yNEwyMDggODhsMTMuOSAyNEgxOTQuMXptNjkuMyAyNGgyNy43bC0xMy45IDI0LTEzLjktMjR6bTEzLjkgNzJsMTMuOSAyNEgyNjMuNGwxMy45LTI0em0tNTUuNCA0OEwyMDggMjgwbC0xMy45LTI0aDI3Ljd6XCJdXG59O1xudmFyIGZhVGFuYWtoID0gZmFCb29rVGFuYWtoO1xudmFyIGZhUGhvbmVWb2x1bWUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGhvbmUtdm9sdW1lJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJ2b2x1bWUtY29udHJvbC1waG9uZVwiXSwgXCJmMmEwXCIsIFwiTTI4MCAwQzQwOC4xIDAgNTEyIDEwMy45IDUxMiAyMzJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xMDEuNi04Mi40LTE4NC0xODQtMTg0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em04IDE5MmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bS0zMi03MmMwLTEzLjMgMTAuNy0yNCAyNC0yNGM3NS4xIDAgMTM2IDYwLjkgMTM2IDEzNmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTQ4LjYtMzkuNC04OC04OC04OGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6TTExNy41IDEuNGMxOS40LTUuMyAzOS43IDQuNiA0Ny40IDIzLjJsNDAgOTZjNi44IDE2LjMgMi4xIDM1LjItMTEuNiA0Ni4zTDE0NCAyMDcuM2MzMy4zIDcwLjQgOTAuMyAxMjcuNCAxNjAuNyAxNjAuN0wzNDUgMzE4LjdjMTEuMi0xMy43IDMwLTE4LjQgNDYuMy0xMS42bDk2IDQwYzE4LjYgNy43IDI4LjUgMjggMjMuMiA0Ny40bC0yNCA4OEM0ODEuOCA0OTkuOSA0NjYgNTEyIDQ0OCA1MTJDMjAwLjYgNTEyIDAgMzExLjQgMCA2NEMwIDQ2IDEyLjEgMzAuMiAyOS41IDI1LjRsODgtMjR6XCJdXG59O1xudmFyIGZhVm9sdW1lQ29udHJvbFBob25lID0gZmFQaG9uZVZvbHVtZTtcbnZhciBmYUhhdENvd2JveVNpZGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGF0LWNvd2JveS1zaWRlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmOGMxXCIsIFwiTTE1Mi43IDEzNS45bC0xMC40IDU3LjJjNi44LS43IDEzLjYtMS4xIDIwLjUtMS4xaDEwLjdjMzkuNCAwIDc3LjggMTIuMSAxMTAuMSAzNC43TDU2Mi40IDQyMS44bDM1LjEgMjQuNmMyNC40LTYgNDIuNS0yOC4xIDQyLjUtNTQuNGMwLTc1LjgtOTQuNy0xMjYuNi0xMzQuNi0xNDQuN0w0NzQgODMuOUM0NjguMiA1My44IDQ0MS44IDMyIDQxMS4xIDMyaC0yLjdjLTUuNiAwLTExLjEgLjctMTYuNSAyLjJMMTk5LjIgODUuNWMtMjMuOSA2LjQtNDIgMjYtNDYuNSA1MC40ek0wIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NEg1NDRMMjY1LjMgMjUyLjljLTI2LjktMTguOC01OC45LTI4LjktOTEuOC0yOC45SDE2Mi45Yy02MC42IDAtMTE2IDM0LjItMTQzLjEgODguNEwxMy41IDMyNUM0LjYgMzQyLjcgMCAzNjIuMyAwIDM4Mi4yVjM4NHpcIl1cbn07XG52YXIgZmFDbGlwYm9hcmRVc2VyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NsaXBib2FyZC11c2VyJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmN2YzXCIsIFwiTTE5MiAwYy00MS44IDAtNzcuNCAyNi43LTkwLjUgNjRINjRDMjguNyA2NCAwIDkyLjcgMCAxMjhWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDMyMGMzNS4zIDAgNjQtMjguNyA2NC02NFYxMjhjMC0zNS4zLTI4LjctNjQtNjQtNjRIMjgyLjVDMjY5LjQgMjYuNyAyMzMuOCAwIDE5MiAwem0wIDY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMTI4IDI1NmE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6TTgwIDQzMmMwLTQ0LjIgMzUuOC04MCA4MC04MGg2NGM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDguOC03LjIgMTYtMTYgMTZIOTZjLTguOCAwLTE2LTcuMi0xNi0xNnpcIl1cbn07XG52YXIgZmFDaGlsZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGlsZCcsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiZjFhZVwiLCBcIk05NiA2NGE2NCA2NCAwIDEgMSAxMjggMEE2NCA2NCAwIDEgMSA5NiA2NHptNDggMzIwdjk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjI4Ny44TDU5LjEgMzIxYy05LjQgMTUtMjkuMiAxOS40LTQ0LjEgMTBTLTQuNSAzMDEuOSA0LjkgMjg3bDM5LjktNjMuM0M2OS43IDE4NCAxMTMuMiAxNjAgMTYwIDE2MHM5MC4zIDI0IDExNS4yIDYzLjZMMzE1LjEgMjg3YzkuNCAxNSA0LjkgMzQuNy0xMCA0NC4xcy0zNC43IDQuOS00NC4xLTEwTDI0MCAyODcuOFY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzg0SDE0NHpcIl1cbn07XG52YXIgZmFMaXJhU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsaXJhLXNpZ24nLFxuICBpY29uOiBbMzIwLCA1MTIsIFs4MzU2XSwgXCJmMTk1XCIsIFwiTTExMiAxNjAuNGMwLTM1LjUgMjguOC02NC40IDY0LjQtNjQuNGM2LjkgMCAxMy44IDEuMSAyMC40IDMuM2w4MS4yIDI3LjFjMTYuOCA1LjYgMzQuOS0zLjUgNDAuNS0yMC4ycy0zLjUtMzQuOS0yMC4yLTQwLjVMMjE3IDM4LjZjLTEzLjEtNC40LTI2LjgtNi42LTQwLjYtNi42QzEwNS41IDMyIDQ4IDg5LjUgNDggMTYwLjRWMTkySDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDQ4djMySDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDQ2Yy0yLjIgMTAuNS02LjEgMjAuNi0xMS43IDI5LjlMNC42IDQzMS41Yy01LjkgOS45LTYuMSAyMi4yLS40IDMyLjJTMjAuNSA0ODAgMzIgNDgwSDI4OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg4OC41bC43LTEuMWMxMS42LTE5LjMgMTguOS00MC43IDIxLjYtNjIuOUgyMjRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTEyVjI1NkgyMjRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTEyVjE2MC40elwiXVxufTtcbnZhciBmYVNhdGVsbGl0ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzYXRlbGxpdGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg3NTJdLCBcImY3YmZcIiwgXCJNMjMzIDdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC05NiA5NmMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlsODkuNCA4OS40LTE1LjUgMTUuNUMxNTIuMyAyMzAuNCAxMjQuOSAyMjQgOTYgMjI0Yy0zMS43IDAtNjEuNSA3LjctODcuOCAyMS4yYy05IDQuNy0xMC4zIDE2LjctMy4xIDIzLjhMMTEyLjcgMzc2LjcgOTYuMyAzOTMuMWMtMi42LS43LTUuNC0xLjEtOC4zLTEuMWMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyYzAtMi45LS40LTUuNi0xLjEtOC4zbDE2LjQtMTYuNEwyNDIuOSA1MDYuOWM3LjIgNy4yIDE5LjIgNS45IDIzLjgtMy4xQzI4MC4zIDQ3Ny41IDI4OCA0NDcuNyAyODggNDE2YzAtMjguOS02LjQtNTYuMy0xNy44LTgwLjlsMTUuNS0xNS41TDM3NSA0MDljOS40IDkuNCAyNC42IDkuNCAzMy45IDBsOTYtOTZjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlsLTg5LjQtODkuNCA1NS01NWMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtNDgtNDhjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC01NSA1NUwyMzMgN3ptMTU5IDM1MWwtNzIuNC03Mi40IDYyLjEtNjIuMUw0NTQuMSAyOTYgMzkyIDM1OC4xek0yMjYuMyAxOTIuNEwxNTMuOSAxMjAgMjE2IDU3LjlsNzIuNCA3Mi40LTYyLjEgNjIuMXpcIl1cbn07XG52YXIgZmFQbGFuZUxvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGxhbmUtbG9jaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU1OFwiLCBcIk0xOTIgOTMuN0MxOTIgNTkuNSAyMjEgMCAyNTYgMGMzNiAwIDY0IDU5LjUgNjQgOTMuN3Y4NC42bDEwMS44IDU4LjJDNDE4IDI0Ny42IDQxNiAyNTkuNiA0MTYgMjcydjI0LjZjLTE3LjkgMTAuNC0zMC4zIDI5LjEtMzEuOCA1MC45TDMyMCAzMjkuMVY0MDBsNTcuNiA0My4yYzQgMyA2LjQgNy44IDYuNCAxMi44djI0IDE4YzAgNy44LTYuMyAxNC0xNCAxNGMtMS4zIDAtMi42LS4yLTMuOS0uNUwyNTYgNDgwIDE0NS45IDUxMS41Yy0xLjMgLjQtMi42IC41LTMuOSAuNWMtNy44IDAtMTQtNi4zLTE0LTE0VjQ1NmMwLTUgMi40LTkuOCA2LjQtMTIuOEwxOTIgNDAwbDAtNzAuOS0xNzEuNiA0OUMxMC4yIDM4MS4xIDAgMzczLjQgMCAzNjIuOFYyOTcuM2MwLTUuNyAzLjEtMTEgOC4xLTEzLjlMMTkyIDE3OC4zVjkzLjd6TTUyOCAyNDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjQ4aDY0VjI3MmMwLTE3LjctMTQuMy0zMi0zMi0zMnptLTgwIDMyYzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODB2NDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMySDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMzUyYzAtMTcuNyAxNC4zLTMyIDMyLTMyVjI3MnpcIl1cbn07XG52YXIgZmFUYWcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGFnJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI3OTkxXSwgXCJmMDJiXCIsIFwiTTAgODBWMjI5LjVjMCAxNyA2LjcgMzMuMyAxOC43IDQ1LjNsMTc2IDE3NmMyNSAyNSA2NS41IDI1IDkwLjUgMEw0MTguNyAzMTcuM2MyNS0yNSAyNS02NS41IDAtOTAuNWwtMTc2LTE3NmMtMTItMTItMjguMy0xOC43LTQ1LjMtMTguN0g0OEMyMS41IDMyIDAgNTMuNSAwIDgwem0xMTIgMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbnZhciBmYUNvbW1lbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tbWVudCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODQ4OSwgNjE2NjldLCBcImYwNzVcIiwgXCJNNTEyIDI0MGMwIDExNC45LTExNC42IDIwOC0yNTYgMjA4Yy0zNy4xIDAtNzIuMy02LjQtMTA0LjEtMTcuOWMtMTEuOSA4LjctMzEuMyAyMC42LTU0LjMgMzAuNkM3My42IDQ3MS4xIDQ0LjcgNDgwIDE2IDQ4MGMtNi41IDAtMTIuMy0zLjktMTQuOC05LjljLTIuNS02LTEuMS0xMi44IDMuNC0xNy40bDAgMCAwIDAgMCAwIDAgMCAuMy0uM2MuMy0uMyAuNy0uNyAxLjMtMS40YzEuMS0xLjIgMi44LTMuMSA0LjktNS43YzQuMS01IDkuNi0xMi40IDE1LjItMjEuNmMxMC0xNi42IDE5LjUtMzguNCAyMS40LTYyLjlDMTcuNyAzMjYuOCAwIDI4NS4xIDAgMjQwQzAgMTI1LjEgMTE0LjYgMzIgMjU2IDMyczI1NiA5My4xIDI1NiAyMDh6XCJdXG59O1xudmFyIGZhQ2FrZUNhbmRsZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FrZS1jYW5kbGVzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI3ODc0LCBcImJpcnRoZGF5LWNha2VcIiwgXCJjYWtlXCJdLCBcImYxZmRcIiwgXCJNODYuNCA1LjVMNjEuOCA0Ny42QzU4IDU0LjEgNTYgNjEuNiA1NiA2OS4yVjcyYzAgMjIuMSAxNy45IDQwIDQwIDQwczQwLTE3LjkgNDAtNDBWNjkuMmMwLTcuNi0yLTE1LTUuOC0yMS42TDEwNS42IDUuNUMxMDMuNiAyLjEgMTAwIDAgOTYgMHMtNy42IDIuMS05LjYgNS41em0xMjggMEwxODkuOCA0Ny42Yy0zLjggNi41LTUuOCAxNC01LjggMjEuNlY3MmMwIDIyLjEgMTcuOSA0MCA0MCA0MHM0MC0xNy45IDQwLTQwVjY5LjJjMC03LjYtMi0xNS01LjgtMjEuNkwyMzMuNiA1LjVDMjMxLjYgMi4xIDIyOCAwIDIyNCAwcy03LjYgMi4xLTkuNiA1LjV6TTMxNy44IDQ3LjZjLTMuOCA2LjUtNS44IDE0LTUuOCAyMS42VjcyYzAgMjIuMSAxNy45IDQwIDQwIDQwczQwLTE3LjkgNDAtNDBWNjkuMmMwLTcuNi0yLTE1LTUuOC0yMS42TDM2MS42IDUuNUMzNTkuNiAyLjEgMzU2IDAgMzUyIDBzLTcuNiAyLjEtOS42IDUuNUwzMTcuOCA0Ny42ek0xMjggMTc2YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMydjQ4Yy0zNS4zIDAtNjQgMjguNy02NCA2NHY3MWM4LjMgNS4yIDE4LjEgOSAyOC44IDljMTMuNSAwIDI3LjItNi4xIDM4LjQtMTMuNGM1LjQtMy41IDkuOS03LjEgMTMtOS43YzEuNS0xLjMgMi43LTIuNCAzLjUtMy4xYy40LS40IC43LS42IC44LS44bC4xLS4xIDAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwYzMuMS0zLjIgNy40LTQuOSAxMS45LTQuOHM4LjYgMi4xIDExLjYgNS40bDAgMCAwIDAgLjEgLjFjLjEgLjEgLjQgLjQgLjcgLjdjLjcgLjcgMS43IDEuNyAzLjEgM2MyLjggMi42IDYuOCA2LjEgMTEuOCA5LjVjMTAuMiA3LjEgMjMgMTMuMSAzNi4zIDEzLjFzMjYuMS02IDM2LjMtMTMuMWM1LTMuNSA5LTYuOSAxMS44LTkuNWMxLjQtMS4zIDIuNC0yLjMgMy4xLTNjLjMtLjMgLjYtLjYgLjctLjdsLjEtLjFjMy0zLjUgNy40LTUuNCAxMi01LjRzOSAyIDEyIDUuNGwuMSAuMWMuMSAuMSAuNCAuNCAuNyAuN2MuNyAuNyAxLjcgMS43IDMuMSAzYzIuOCAyLjYgNi44IDYuMSAxMS44IDkuNWMxMC4yIDcuMSAyMyAxMy4xIDM2LjMgMTMuMXMyNi4xLTYgMzYuMy0xMy4xYzUtMy41IDktNi45IDExLjgtOS41YzEuNC0xLjMgMi40LTIuMyAzLjEtM2MuMy0uMyAuNi0uNiAuNy0uN2wuMS0uMWMyLjktMy40IDcuMS01LjMgMTEuNi01LjRzOC43IDEuNiAxMS45IDQuOGwwIDAgMCAwIDAgMCAuMSAuMWMuMiAuMiAuNCAuNCAuOCAuOGMuOCAuNyAxLjkgMS44IDMuNSAzLjFjMy4xIDIuNiA3LjUgNi4yIDEzIDkuN2MxMS4yIDcuMyAyNC45IDEzLjQgMzguNCAxMy40YzEwLjcgMCAyMC41LTMuOSAyOC44LTlWMjg4YzAtMzUuMy0yOC43LTY0LTY0LTY0VjE3NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnY0OEgyNTZWMTc2YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMydjQ4SDEyOFYxNzZ6TTQ0OCAzOTQuNmMtOC41IDMuMy0xOC4yIDUuNC0yOC44IDUuNGMtMjIuNSAwLTQyLjQtOS45LTU1LjgtMTguNmMtNC4xLTIuNy03LjgtNS40LTEwLjktNy44Yy0yLjggMi40LTYuMSA1LTkuOCA3LjVDMzI5LjggMzkwIDMxMC42IDQwMCAyODggNDAwcy00MS44LTEwLTU0LjYtMTguOWMtMy41LTIuNC02LjctNC45LTkuNC03LjJjLTIuNyAyLjMtNS45IDQuNy05LjQgNy4yQzIwMS44IDM5MCAxODIuNiA0MDAgMTYwIDQwMHMtNDEuOC0xMC01NC42LTE4LjljLTMuNy0yLjYtNy01LjItOS44LTcuNWMtMy4xIDIuNC02LjggNS4xLTEwLjkgNy44QzcxLjIgMzkwLjEgNTEuMyA0MDAgMjguOCA0MDBjLTEwLjYgMC0yMC4zLTIuMi0yOC44LTUuNFY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJINDE2YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM5NC42elwiXVxufTtcbnZhciBmYUJpcnRoZGF5Q2FrZSA9IGZhQ2FrZUNhbmRsZXM7XG52YXIgZmFDYWtlID0gZmFDYWtlQ2FuZGxlcztcbnZhciBmYUVudmVsb3BlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2VudmVsb3BlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4Mzg2LCA5OTkzLCA2MTQ0M10sIFwiZjBlMFwiLCBcIk00OCA2NEMyMS41IDY0IDAgODUuNSAwIDExMmMwIDE1LjEgNy4xIDI5LjMgMTkuMiAzOC40TDIzNi44IDMxMy42YzExLjQgOC41IDI3IDguNSAzOC40IDBMNDkyLjggMTUwLjRjMTIuMS05LjEgMTkuMi0yMy4zIDE5LjItMzguNGMwLTI2LjUtMjEuNS00OC00OC00OEg0OHpNMCAxNzZWMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0SDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NFYxNzZMMjk0LjQgMzM5LjJjLTIyLjggMTcuMS01NCAxNy4xLTc2LjggMEwwIDE3NnpcIl1cbn07XG52YXIgZmFBbmdsZXNVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbmdsZXMtdXAnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImFuZ2xlLWRvdWJsZS11cFwiXSwgXCJmMTAyXCIsIFwiTTI0Ni42IDQxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xNjAgMTYwYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDIyNCAxMDkuMyAzNjEuNCAyNDYuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC0xNjAtMTYwem0xNjAgMzUybC0xNjAtMTYwYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTYwIDE2MGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwyMjQgMzAxLjMgMzYxLjQgNDM4LjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM3pcIl1cbn07XG52YXIgZmFBbmdsZURvdWJsZVVwID0gZmFBbmdsZXNVcDtcbnZhciBmYVBhcGVyY2xpcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwYXBlcmNsaXAnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjgyMDZdLCBcImYwYzZcIiwgXCJNMzY0LjIgODMuOGMtMjQuNC0yNC40LTY0LTI0LjQtODguNCAwbC0xODQgMTg0Yy00Mi4xIDQyLjEtNDIuMSAxMTAuMyAwIDE1Mi40czExMC4zIDQyLjEgMTUyLjQgMGwxNTItMTUyYzEwLjktMTAuOSAyOC43LTEwLjkgMzkuNiAwczEwLjkgMjguNyAwIDM5LjZsLTE1MiAxNTJjLTY0IDY0LTE2Ny42IDY0LTIzMS42IDBzLTY0LTE2Ny42IDAtMjMxLjZsMTg0LTE4NGM0Ni4zLTQ2LjMgMTIxLjMtNDYuMyAxNjcuNiAwczQ2LjMgMTIxLjMgMCAxNjcuNmwtMTc2IDE3NmMtMjguNiAyOC42LTc1IDI4LjYtMTAzLjYgMHMtMjguNi03NSAwLTEwMy42bDE0NC0xNDRjMTAuOS0xMC45IDI4LjctMTAuOSAzOS42IDBzMTAuOSAyOC43IDAgMzkuNmwtMTQ0IDE0NGMtNi43IDYuNy02LjcgMTcuNyAwIDI0LjRzMTcuNyA2LjcgMjQuNCAwbDE3Ni0xNzZjMjQuNC0yNC40IDI0LjQtNjQgMC04OC40elwiXVxufTtcbnZhciBmYUFycm93UmlnaHRUb0NpdHkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctcmlnaHQtdG8tY2l0eScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRiM1wiLCBcIk0yODggNDhjMC0yNi41IDIxLjUtNDggNDgtNDhoOTZjMjYuNSAwIDQ4IDIxLjUgNDggNDhWMTkyaDQwVjEyMGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0djcyaDI0YzI2LjUgMCA0OCAyMS41IDQ4IDQ4VjQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0MzIgMzM2Yy0yNi41IDAtNDgtMjEuNS00OC00OFY0OHptNjQgMzJ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlY4MGMwLTguOC03LjItMTYtMTYtMTZIMzY4Yy04LjggMC0xNiA3LjItMTYgMTZ6bTE2IDgwYy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYxNzZjMC04LjgtNy4yLTE2LTE2LTE2SDM2OHpNMzUyIDI3MnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjI3MmMwLTguOC03LjItMTYtMTYtMTZIMzY4Yy04LjggMC0xNiA3LjItMTYgMTZ6bTE3Ni0xNmMtOC44IDAtMTYgNy4yLTE2IDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMjcyYzAtOC44LTcuMi0xNi0xNi0xNkg1Mjh6TTUxMiAzNjh2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYzNjhjMC04LjgtNy4yLTE2LTE2LTE2SDUyOGMtOC44IDAtMTYgNy4yLTE2IDE2ek0xNjYuNiAxNTMuNGw4MCA4MGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtODAgODBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDE0Ni43IDI4OEgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkgxNDYuN2wtMjUuNC0yNS40Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwelwiXVxufTtcbnZhciBmYVJpYmJvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyaWJib24nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjc4OTVdLCBcImY0ZDZcIiwgXCJNMzMzLjIgMzIyLjhsMCAwLTEzMy45LTE0NiAwIDBMMTQ2IDExOC42YzcuOC01LjEgMzctMjIuNiA3OC0yMi42czcwLjIgMTcuNCA3OCAyMi42TDI0NS43IDE4MGw4NS42IDkzLjQgMjcuNC0yOS44YzE2LjMtMTcuNyAyNS4zLTQwLjkgMjUuMy02NVYxNDkuMWMwLTE5LTUuNi0zNy41LTE2LjEtNTMuM0wzMjcuOCAzNS42QzMxMi45IDEzLjQgMjg3LjkgMCAyNjEuMiAwaC03NmMtMjUuOCAwLTUwLjEgMTIuNS02NS4xIDMzLjVMODEuOSA4N0M3MC4zIDEwMy4yIDY0IDEyMi44IDY0IDE0Mi44VjE2NGMwIDIzLjIgOC40IDQ1LjYgMjMuNiA2My4xbDU2IDY0LjIgMCAwIDgzLjMgOTUuNiAwIDAgOTEuOCAxMDUuM2MxMCAxMS41IDI2LjggMTQuMyA0MCA2LjhsNTQuNS0zMS4xYzE3LjgtMTAuMiAyMS42LTM0LjMgNy43LTQ5LjRsLTg3LjctOTUuN3pNMjA1LjIgNDEwLjZsLTgzLjMtOTUuNkwyNy4xIDQxOC41Yy0xMy45IDE1LjEtMTAuMSAzOS4yIDcuNyA0OS40bDU1LjEgMzEuNWMxMyA3LjQgMjkuMyA0LjkgMzkuNC02LjFsNzUuOS04Mi42elwiXVxufTtcbnZhciBmYUx1bmdzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2x1bmdzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI5NzI5XSwgXCJmNjA0XCIsIFwiTTMyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjE2NC4xYzAgMTYuNCA4LjQgMzEuNyAyMi4yIDQwLjVsOS44IDYuMlYxNjUuM0MzODQgMTI3IDQxNSA5NiA0NTMuMyA5NmMyMS43IDAgNDIuOCAxMC4yIDU1LjggMjguOGMxNS40IDIyLjEgNDQuMyA2NS40IDcxIDExNi45YzI2LjUgNTAuOSA1Mi40IDExMi41IDU5LjYgMTcwLjNjLjIgMS4zIC4yIDIuNiAuMiA0djdjMCA0OS4xLTM5LjggODktODkgODljLTcuMyAwLTE0LjUtLjktMjEuNi0yLjdsLTcyLjctMTguMkM0MTQgNDgwLjUgMzg0IDQ0Mi4xIDM4NCAzOThWMzI1bDkwLjUgNTcuNmM3LjUgNC43IDE3LjMgMi41IDIyLjEtNC45czIuNS0xNy4zLTQuOS0yMi4xTDM4NCAyODcuMXYtLjRsLTQ0LjEtMjguMWMtNy4zLTQuNi0xMy45LTEwLjEtMTkuOS0xNi4xYy01LjkgNi0xMi42IDExLjUtMTkuOSAxNi4xTDI1NiAyODYuNyAxNjEuMiAzNDdsLTEzLjUgOC42YzAgMCAwIDAtLjEgMGMtNy40IDQuOC05LjYgMTQuNi00LjggMjIuMWM0LjcgNy41IDE0LjYgOS43IDIyLjEgNC45bDkxLjEtNThWMzk4YzAgNDQuMS0zMCA4Mi41LTcyLjcgOTMuMWwtNzIuNyAxOC4yYy03LjEgMS44LTE0LjMgMi43LTIxLjYgMi43Yy00OS4xIDAtODktMzkuOC04OS04OXYtN2MwLTEuMyAuMS0yLjcgLjItNGM3LjItNTcuOSAzMy4xLTExOS40IDU5LjYtMTcwLjNjMjYuOC01MS41IDU1LjYtOTQuOCA3MS0xMTYuOWMxMy0xOC42IDM0LTI4LjggNTUuOC0yOC44QzIyNSA5NiAyNTYgMTI3IDI1NiAxNjUuM3Y0NS41bDkuOC02LjJjMTMuOC04LjggMjIuMi0yNC4xIDIyLjItNDAuNVYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpcIl1cbn07XG52YXIgZmFBcnJvd1VwOTEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdXAtOS0xJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzb3J0LW51bWVyaWMtdXAtYWx0XCJdLCBcImY4ODdcIiwgXCJNMTYwIDMyYzkgMCAxNy41IDMuOCAyMy42IDEwLjRsODggOTZjMTEuOSAxMyAxMS4xIDMzLjMtMiA0NS4ycy0zMy4zIDExLjEtNDUuMi0yTDE5MiAxNDYuM1Y0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMTQ2LjNMOTUuNiAxODEuNmMtMTEuOSAxMy0zMi4yIDEzLjktNDUuMiAycy0xMy45LTMyLjItMi00NS4ybDg4LTk2QzE0Mi41IDM1LjggMTUxIDMyIDE2MCAzMnpNNDUwLjcgMjk0YzguMyA2IDEzLjMgMTUuNyAxMy4zIDI2djk2aDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDQzMiAzODRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJoMTZWMzY0LjRsLTUuOSAyYy0xNi44IDUuNi0zNC45LTMuNS00MC41LTIwLjJzMy41LTM0LjkgMjAuMi00MC41bDQ4LTE2YzkuOC0zLjMgMjAuNS0xLjYgMjguOCA0LjR6bS01LTE0NS4xQTMyIDMyIDAgMSAwIDQxOC4zIDkxYTMyIDMyIDAgMSAwIDI3LjQgNTcuOXptLTQwLjcgNTQuOUMzNjkuNiAxOTIuNCAzNDQgMTU5LjIgMzQ0IDEyMGMwLTQ4LjYgMzkuNC04OCA4OC04OHM4OCAzOS40IDg4IDg4YzAgMjMuNS03LjUgNDYuMy0yMS41IDY1LjJMNDQ5LjcgMjUxYy0xMC41IDE0LjItMzAuNiAxNy4yLTQ0LjggNi43cy0xNy4yLTMwLjYtNi43LTQ0LjhsNi44LTkuMnpcIl1cbn07XG52YXIgZmFTb3J0TnVtZXJpY1VwQWx0ID0gZmFBcnJvd1VwOTE7XG52YXIgZmFMaXRlY29pblNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGl0ZWNvaW4tc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTFkM1wiLCBcIk0xMjggNjRjMC0xNy43LTE0LjMtMzItMzItMzJTNjQgNDYuMyA2NCA2NFYyMTMuNkwyMy4yIDIyNS4yYy0xNyA0LjktMjYuOCAyMi42LTIyIDM5LjZzMjIuNiAyNi44IDM5LjYgMjJMNjQgMjgwLjFWNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMySDM1MmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgxMjhWMjYxLjlsMTM2LjgtMzkuMWMxNy00LjkgMjYuOC0yMi42IDIyLTM5LjZzLTIyLjYtMjYuOC0zOS42LTIyTDEyOCAxOTUuM1Y2NHpcIl1cbn07XG52YXIgZmFCb3JkZXJOb25lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JvcmRlci1ub25lJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmODUwXCIsIFwiTTMyIDQ4MGEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6bTk2LTY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMC0zODRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0wIDI1NmEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6TTMyMCA0MTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0wLTMyMGEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6bTAgMTI4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMjI0IDQ4MGEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6bTAtNDQ4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMCAyNTZhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0ek00MTYgNDE2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMC0zODRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek0zMiA5NmEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6TTQxNiAyMjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek0zMiAyODhhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0em0xOTIgMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xOTIgNjRhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0ek0zMiAzMjBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek00MTYgMTkyYTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHpNMzIgMTI4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTkyIDY0YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHpcIl1cbn07XG52YXIgZmFDaXJjbGVOb2RlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtbm9kZXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0ZTJcIiwgXCJNNDE4LjQgMTU3LjljMzUuMy04LjMgNjEuNi00MCA2MS42LTc3LjljMC00NC4yLTM1LjgtODAtODAtODBjLTQzLjQgMC03OC43IDM0LjUtODAgNzcuNUwxMzYuMiAxNTEuMUMxMjEuNyAxMzYuOCAxMDEuOSAxMjggODAgMTI4Yy00NC4yIDAtODAgMzUuOC04MCA4MHMzNS44IDgwIDgwIDgwYzEyLjIgMCAyMy44LTIuNyAzNC4xLTcuNkwyNTkuNyA0MDcuOGMtMi40IDcuNi0zLjcgMTUuOC0zLjcgMjQuMmMwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtMjcuNy0xNC01Mi4xLTM1LjQtNjYuNGwzNy44LTIwNy43ek0xNTYuMyAyMzIuMmMyLjItNi45IDMuNS0xNC4yIDMuNy0yMS43bDE4My44LTczLjVjMy42IDMuNSA3LjQgNi43IDExLjYgOS41TDMxNy42IDM1NC4xYy01LjUgMS4zLTEwLjggMy4xLTE1LjggNS41TDE1Ni4zIDIzMi4yelwiXVxufTtcbnZhciBmYVBhcmFjaHV0ZUJveCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwYXJhY2h1dGUtYm94JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNGNkXCIsIFwiTTM4My41IDE5MmMuMy01LjMgLjUtMTAuNiAuNS0xNmMwLTUxLTE1LjktOTYtNDAuMi0xMjcuNkMzMTkuNSAxNi45IDI4OC4yIDAgMjU2IDBzLTYzLjUgMTYuOS04Ny44IDQ4LjRDMTQzLjkgODAgMTI4IDEyNSAxMjggMTc2YzAgNS40IC4yIDEwLjcgLjUgMTZIMjQwVjMyMEgyMDhjLTcgMC0xMy43IDEuNS0xOS43IDQuMkw2OC4yIDE5Mkg5Ni41Yy0uMy01LjMtLjUtMTAuNi0uNS0xNmMwLTY0IDIyLjItMTIxLjIgNTcuMS0xNTkuM0M2MiA0OS4zIDE4LjYgMTIyLjYgNC4yIDE3My42QzEuNSAxODMuMSA5IDE5MiAxOC45IDE5Mmg2TDE2NS4yIDM0Ni4zYy0zLjMgNi41LTUuMiAxMy45LTUuMiAyMS43djk2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDk2YzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjM2OGMwLTcuOC0xLjktMTUuMi01LjItMjEuN0w0ODcuMSAxOTJoNmM5LjkgMCAxNy40LTguOSAxNC43LTE4LjRDNDkzLjQgMTIyLjYgNDUwIDQ5LjMgMzU4LjkgMTYuN0MzOTMuOCA1NC44IDQxNiAxMTIuMSA0MTYgMTc2YzAgNS40LS4yIDEwLjctLjUgMTZoMjguM0wzMjMuNyAzMjQuMmMtNi0yLjctMTIuNy00LjItMTkuNy00LjJIMjcyVjE5MkgzODMuNXpcIl1cbn07XG52YXIgZmFJbmRlbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaW5kZW50JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMDNjXCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJINDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyQzE0LjMgOTYgMCA4MS43IDAgNjR6TTE5MiAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJINDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDIyNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6bTMyIDk2SDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgyMjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6TTAgNDQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMySDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTEyNy44IDI2OC42TDI1LjggMzQ3LjlDMTUuMyAzNTYuMSAwIDM0OC42IDAgMzM1LjNWMTc2LjdjMC0xMy4zIDE1LjMtMjAuOCAyNS44LTEyLjZsMTAxLjkgNzkuM2M4LjIgNi40IDguMiAxOC45IDAgMjUuM3pcIl1cbn07XG52YXIgZmFUcnVja0ZpZWxkVW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJ1Y2stZmllbGQtdW4nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1OGVcIiwgXCJNOTYgMzJDNjAuNyAzMiAzMiA2MC43IDMyIDk2djMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnY5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnYzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg2NGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2SDM4NGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2aDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyVjI4OGMwLTM1LjMtMjguNy02NC02NC02NGgtNC4yYy0uNC0xLjEtLjktMi4xLTEuMy0zLjJMNDg1LjcgMTAyYy0xMC4zLTIzLjEtMzMuMi0zOC01OC41LTM4SDM3NS40QzM2NC40IDQ0LjkgMzQzLjcgMzIgMzIwIDMySDk2em0yODggOTZoNDMuMmw0Mi43IDk2SDM4NFYxMjh6TTExMiAzODRhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptMzY4LTQ4YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpNMjUzLjMgMTM1LjFsMzQuNyA1MlYxNDRjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnY5NmMwIDcuMS00LjYgMTMuMy0xMS40IDE1LjNzLTE0LS42LTE3LjktNi40bC0zNC43LTUyVjI0MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlYxNDRjMC03LjEgNC42LTEzLjMgMTEuNC0xNS4zczE0IC42IDE3LjkgNi40ek0xMjggMTQ0djY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMTQ0YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ2NjRjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhWMTQ0YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ6XCJdXG59O1xudmFyIGZhSG91cmdsYXNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXJnbGFzcycsXG4gIGljb246IFszODQsIDUxMiwgWzkyMDMsIDYyMDMyLCBcImhvdXJnbGFzcy1lbXB0eVwiXSwgXCJmMjU0XCIsIFwiTTAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwSDY0IDMyMGgzMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMlY3NWMwIDQyLjQtMTYuOSA4My4xLTQ2LjkgMTEzLjFMMjM3LjMgMjU2bDY3LjkgNjcuOWMzMCAzMCA0Ni45IDcwLjcgNDYuOSAxMTMuMXYxMWMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMjAgNjQgMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJWNDM3YzAtNDIuNCAxNi45LTgzLjEgNDYuOS0xMTMuMUwxNDYuNyAyNTYgNzguOSAxODguMUM0OC45IDE1OC4xIDMyIDExNy40IDMyIDc1VjY0QzE0LjMgNjQgMCA0OS43IDAgMzJ6TTk2IDY0Vjc1YzAgMjUuNSAxMC4xIDQ5LjkgMjguMSA2Ny45TDE5MiAyMTAuN2w2Ny45LTY3LjljMTgtMTggMjguMS00Mi40IDI4LjEtNjcuOVY2NEg5NnptMCAzODRIMjg4VjQzN2MwLTI1LjUtMTAuMS00OS45LTI4LjEtNjcuOUwxOTIgMzAxLjNsLTY3LjkgNjcuOWMtMTggMTgtMjguMSA0Mi40LTI4LjEgNjcuOXYxMXpcIl1cbn07XG52YXIgZmFIb3VyZ2xhc3NFbXB0eSA9IGZhSG91cmdsYXNzO1xudmFyIGZhTW91bnRhaW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW91bnRhaW4nLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc5NTZdLCBcImY2ZmNcIiwgXCJNMjU2IDMyYzEyLjUgMCAyNC4xIDYuNCAzMC44IDE3TDUwMy40IDM5NC40YzUuNiA4LjkgOC42IDE5LjIgOC42IDI5LjdjMCAzMC45LTI1IDU1LjktNTUuOSA1NS45SDU1LjlDMjUgNDgwIDAgNDU1IDAgNDI0LjFjMC0xMC41IDMtMjAuOCA4LjYtMjkuN0wyMjUuMiA0OWM2LjYtMTAuNiAxOC4zLTE3IDMwLjgtMTd6bTY1IDE5MkwyNTYgMTIwLjQgMTc2LjkgMjQ2LjVsMTguMyAyNC40YzYuNCA4LjUgMTkuMiA4LjUgMjUuNiAwbDI1LjYtMzQuMWM2LTguMSAxNS41LTEyLjggMjUuNi0xMi44aDQ5elwiXVxufTtcbnZhciBmYVVzZXJEb2N0b3IgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1kb2N0b3InLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcInVzZXItbWRcIl0sIFwiZjBmMFwiLCBcIk0yMjQgMjU2QTEyOCAxMjggMCAxIDAgMjI0IDBhMTI4IDEyOCAwIDEgMCAwIDI1NnptLTk2IDU1LjJDNTQgMzMyLjkgMCA0MDEuMyAwIDQ4Mi4zQzAgNDk4LjcgMTMuMyA1MTIgMjkuNyA1MTJINDE4LjNjMTYuNCAwIDI5LjctMTMuMyAyOS43LTI5LjdjMC04MS01NC0xNDkuNC0xMjgtMTcxLjFWMzYyYzI3LjYgNy4xIDQ4IDMyLjIgNDggNjJ2NDBjMCA4LjgtNy4yIDE2LTE2IDE2SDMzNmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNlY0MjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ2MjRjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMjU2Yy04LjggMC0xNi03LjItMTYtMTZWNDI0YzAtMjkuOCAyMC40LTU0LjkgNDgtNjJWMzA0LjljLTYtLjYtMTIuMS0uOS0xOC4zLS45SDE3OC4zYy02LjIgMC0xMi4zIC4zLTE4LjMgLjl2NjUuNGMyMy4xIDYuOSA0MCAyOC4zIDQwIDUzLjdjMCAzMC45LTI1LjEgNTYtNTYgNTZzLTU2LTI1LjEtNTYtNTZjMC0yNS40IDE2LjktNDYuOCA0MC01My43VjMxMS4yek0xNDQgNDQ4YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHpcIl1cbn07XG52YXIgZmFVc2VyTWQgPSBmYVVzZXJEb2N0b3I7XG52YXIgZmFDaXJjbGVJbmZvID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1pbmZvJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJpbmZvLWNpcmNsZVwiXSwgXCJmMDVhXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0yMTYgMzM2aDI0VjI3MkgyMTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRoNDhjMTMuMyAwIDI0IDEwLjcgMjQgMjR2ODhoOGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEgyMTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTQwLTIwOGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhSW5mb0NpcmNsZSA9IGZhQ2lyY2xlSW5mbztcbnZhciBmYUNsb3VkTWVhdGJhbGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvdWQtbWVhdGJhbGwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3M2JcIiwgXCJNMCAyMjRjMCA1MyA0MyA5NiA5NiA5Nmg0NC43YzkuNS0yMy41IDMyLjUtNDAgNTkuMy00MGMyIDAgMy45IC4xIDUuOCAuM0MyMTcuNiAyNjUuNSAyMzUuNyAyNTYgMjU2IDI1NnMzOC40IDkuNSA1MC4yIDI0LjNjMS45LS4yIDMuOS0uMyA1LjgtLjNjMjYuOSAwIDQ5LjkgMTYuNSA1OS4zIDQwSDQxNmM1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05NmMtLjUgMC0xLjEgMC0xLjYgMGMxLjEtNS4yIDEuNi0xMC41IDEuNi0xNmMwLTQ0LjItMzUuOC04MC04MC04MGMtMjQuMyAwLTQ2LjEgMTAuOS02MC44IDI4QzI1Ni41IDI0LjMgMjE5LjEgMCAxNzYgMEMxMTQuMSAwIDY0IDUwLjEgNjQgMTEyYzAgNy4xIC43IDE0LjEgMS45IDIwLjhDMjcuNiAxNDUuNCAwIDE4MS41IDAgMjI0em0yODggOTZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJjMCAxIC4xIDIuMSAuMSAzLjFjLS43LS44LTEuNC0xLjYtMi4xLTIuM2MtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNjLjcgLjcgMS41IDEuNCAyLjMgMi4xYy0xLS4xLTIuMS0uMS0zLjEtLjFjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJjMSAwIDIuMS0uMSAzLjEtLjFjLS44IC43LTEuNiAxLjMtMi4zIDIuMWMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGMuNy0uNyAxLjQtMS41IDIuMS0yLjNjLS4xIDEtLjEgMi4xLS4xIDMuMWMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyYzAtMS0uMS0yLjEtLjEtMy4xYy43IC44IDEuMyAxLjYgMi4xIDIuM2MxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zYy0uNy0uNy0xLjUtMS40LTIuMy0yLjFjMSAuMSAyLjEgLjEgMy4xIC4xYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyYy0xIDAtMi4xIC4xLTMuMSAuMWMuOC0uNyAxLjYtMS4zIDIuMy0yLjFjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBjLS43IC43LTEuNCAxLjUtMi4xIDIuM2MuMS0xIC4xLTIuMSAuMS0zLjF6TTQ4IDQ0OGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bTQxNiAwYTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpcIl1cbn07XG52YXIgZmFDYW1lcmEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FtZXJhJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjIyNTgsIFwiY2FtZXJhLWFsdFwiXSwgXCJmMDMwXCIsIFwiTTE0OS4xIDY0LjhMMTM4LjcgOTZINjRDMjguNyA5NiAwIDEyNC43IDAgMTYwVjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEg0NDhjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTYwYzAtMzUuMy0yOC43LTY0LTY0LTY0SDM3My4zTDM2Mi45IDY0LjhDMzU2LjQgNDUuMiAzMzguMSAzMiAzMTcuNCAzMkgxOTQuNmMtMjAuNyAwLTM5IDEzLjItNDUuNSAzMi44ek0yNTYgMTkyYTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyelwiXVxufTtcbnZhciBmYUNhbWVyYUFsdCA9IGZhQ2FtZXJhO1xudmFyIGZhU3F1YXJlVmlydXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLXZpcnVzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJlNTc4XCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDM4NGMzNS4zIDAgNjQtMjguNyA2NC02NFY5NmMwLTM1LjMtMjguNy02NC02NC02NEg2NHpNMjIzLjggOTMuN2MxMy4zIDAgMjQgMTAuNyAyNCAyNGMwIDI5LjMgMzUuNCA0My45IDU2LjEgMjMuMmM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjljLTIwLjcgMjAuNy02IDU2LjEgMjMuMiA1Ni4xYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0Yy0yOS4zIDAtNDMuOSAzNS40LTIzLjIgNTYuMWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwYy0yMC43LTIwLjctNTYuMS02LTU2LjEgMjMuMmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTI5LjMtMzUuNC00My45LTU2LjEtMjMuMmMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWMyMC43LTIwLjcgNi01Ni4xLTIzLjItNTYuMWMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGMyOS4zIDAgNDMuOS0zNS40IDIzLjItNTYuMWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwYzIwLjcgMjAuNyA1Ni4xIDYgNTYuMS0yMy4yYzAtMTMuMyAxMC43LTI0IDI0LTI0ek0xOTIgMjU2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptODggMzJhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpcIl1cbn07XG52YXIgZmFNZXRlb3IgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWV0ZW9yJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTczMl0sIFwiZjc1M1wiLCBcIk00OTMuNyAuOUwyOTkuNCA3NS42bDIuMy0yOS4zYzEtMTIuOC0xMi44LTIxLjUtMjQtMTUuMUwxMDEuMyAxMzMuNEMzOC42IDE2OS43IDAgMjM2LjYgMCAzMDlDMCA0MjEuMSA5MC45IDUxMiAyMDMgNTEyYzcyLjQgMCAxMzkuNC0zOC42IDE3NS43LTEwMS4zTDQ4MC44IDIzNC4zYzYuNS0xMS4xLTIuMi0yNS0xNS4xLTI0bC0yOS4zIDIuM0w1MTEuMSAxOC4zYy42LTEuNSAuOS0zLjIgLjktNC44QzUxMiA2IDUwNiAwIDQ5OC41IDBjLTEuNyAwLTMuMyAuMy00LjggLjl6TTE5MiAxOTJhMTI4IDEyOCAwIDEgMSAwIDI1NiAxMjggMTI4IDAgMSAxIDAtMjU2em0wIDk2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTE2IDk2YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnpcIl1cbn07XG52YXIgZmFDYXJPbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXItb24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0ZGRcIiwgXCJNMjgwIDI0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0djgwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWMjR6TTE4NS44IDIyNEgzMjYuMmM2LjggMCAxMi44IDQuMyAxNS4xIDEwLjZMMzYwLjMgMjg4SDE1MS43bDE5LjEtNTMuNGMyLjMtNi40IDguMy0xMC42IDE1LjEtMTAuNnptLTc1LjMtMTAuOUw4Mi4yIDI5Mi40QzYyLjEgMzAwLjkgNDggMzIwLjggNDggMzQ0djQwIDY0IDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMySDk2YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjQ0OEgzODR2MzJjMCAxNy43IDE0LjMgMzIgMzIgMzJoMTZjMTcuNyAwIDMyLTE0LjMgMzItMzJWNDQ4IDM4NCAzNDRjMC0yMy4yLTE0LjEtNDMuMS0zNC4yLTUxLjZsLTI4LjMtNzkuM0MzOTAuMSAxODEuMyAzNjAgMTYwIDMyNi4yIDE2MEgxODUuOGMtMzMuOCAwLTY0IDIxLjMtNzUuMyA1My4xek0xMjggMzQ0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMjMyIDI0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6TTM5IDM5Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWw0OCA0OGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMNzMgMzljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwem00MDAgMEwzOTEgODdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw0OC00OGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwelwiXVxufTtcbnZhciBmYVNsZWlnaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzbGVpZ2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY3Y2NcIiwgXCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2VjI1NmMwIDUzIDQzIDk2IDk2IDk2djMyaDY0VjM1MkgzODR2MzJoNjRWMzUyYzUzIDAgOTYtNDMgOTYtOTZWMTYwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDUxMiA0ODBjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjQxLjNjMCAzMC4yLTI0LjUgNTQuNy01NC43IDU0LjdjLTc1LjUgMC0xNDUuNi0zOC45LTE4NS42LTEwMi45bC00LjMtNi45QzE3NC4yIDY3LjYgMTI1IDM3LjYgNzAuNyAzMi43Yy0yLjItLjUtNC40LS43LTYuNy0uN0g1NSAzMnpNNjQwIDM4NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnY4YzAgMTMuMy0xMC43IDI0LTI0IDI0SDY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDU1MmM0OC42IDAgODgtMzkuNCA4OC04OHYtOHpcIl1cbn07XG52YXIgZmFBcnJvd0Rvd24xOSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1kb3duLTEtOScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wic29ydC1udW1lcmljLWFzY1wiLCBcInNvcnQtbnVtZXJpYy1kb3duXCJdLCBcImYxNjJcIiwgXCJNNDUwLjcgMzhjLTguMy02LTE5LjEtNy43LTI4LjgtNC40bC00OCAxNmMtMTYuOCA1LjYtMjUuOCAyMy43LTIwLjIgNDAuNXMyMy43IDI1LjggNDAuNSAyMC4ybDUuOS0yVjE2MEgzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoNDggNDhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINDY0VjY0YzAtMTAuMy00LjktMTkuOS0xMy4zLTI2ek0xNjAgNDgwYzkgMCAxNy41LTMuOCAyMy42LTEwLjRsODgtOTZjMTEuOS0xMyAxMS4xLTMzLjMtMi00NS4ycy0zMy4zLTExLjEtNDUuMiAyTDE5MiAzNjUuN1Y2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlYzNjUuN0w5NS42IDMzMC40Yy0xMS45LTEzLTMyLjItMTMuOS00NS4yLTJzLTEzLjkgMzIuMi0yIDQ1LjJsODggOTZDMTQyLjUgNDc2LjIgMTUxIDQ4MCAxNjAgNDgwek00MTguMyAzMDdhMzIgMzIgMCAxIDEgMjcuNCA1Ny45QTMyIDMyIDAgMSAxIDQxOC4zIDMwN3pNNDA1LjEgNDE5LjhsLTYuOCA5LjJjLTEwLjUgMTQuMi03LjUgMzQuMiA2LjcgNDQuOHMzNC4yIDcuNSA0NC44LTYuN2w0OC44LTY1LjhjMTQtMTguOSAyMS41LTQxLjcgMjEuNS02NS4yYzAtNDguNi0zOS40LTg4LTg4LTg4cy04OCAzOS40LTg4IDg4YzAgMzkuMiAyNS42IDcyLjQgNjEuMSA4My44elwiXVxufTtcbnZhciBmYVNvcnROdW1lcmljQXNjID0gZmFBcnJvd0Rvd24xOTtcbnZhciBmYVNvcnROdW1lcmljRG93biA9IGZhQXJyb3dEb3duMTk7XG52YXIgZmFIYW5kSG9sZGluZ0Ryb3BsZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZC1ob2xkaW5nLWRyb3BsZXQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImhhbmQtaG9sZGluZy13YXRlclwiXSwgXCJmNGMxXCIsIFwiTTI3NS41IDYuNkMyNzguMyAyLjUgMjgzIDAgMjg4IDBzOS43IDIuNSAxMi41IDYuNkwzNjYuOCAxMDNDMzc4IDExOS4zIDM4NCAxMzguNiAzODQgMTU4LjNWMTYwYzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2di0xLjdjMC0xOS44IDYtMzkgMTcuMi01NS4zTDI3NS41IDYuNnpNNTY4LjIgMzM2LjNjMTMuMSAxNy44IDkuMyA0Mi44LTguNSA1NS45TDQzMy4xIDQ4NS41Yy0yMy40IDE3LjItNTEuNiAyNi41LTgwLjcgMjYuNUgxOTIgMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMkg2OC44bDQ0LjktMzZjMjIuNy0xOC4yIDUwLjktMjggODAtMjhIMjcyaDE2IDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDI4OCAyNzJjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZIMzkyLjZsMTE5LjctODguMmMxNy44LTEzLjEgNDIuOC05LjMgNTUuOSA4LjV6TTE5My42IDM4NGwwIDAtLjkgMGMuMyAwIC42IDAgLjkgMHpcIl1cbn07XG52YXIgZmFIYW5kSG9sZGluZ1dhdGVyID0gZmFIYW5kSG9sZGluZ0Ryb3BsZXQ7XG52YXIgZmFXYXRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3YXRlcicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjc3M1wiLCBcIk0yNjkuNSA2OS45YzExLjEtNy45IDI1LjktNy45IDM3IDBDMzI5IDg1LjQgMzU2LjUgOTYgMzg0IDk2YzI2LjkgMCA1NS40LTEwLjggNzcuNC0yNi4xbDAgMGMxMS45LTguNSAyOC4xLTcuOCAzOS4yIDEuN2MxNC40IDExLjkgMzIuNSAyMSA1MC42IDI1LjJjMTcuMiA0IDI3LjkgMjEuMiAyMy45IDM4LjRzLTIxLjIgMjcuOS0zOC40IDIzLjljLTI0LjUtNS43LTQ0LjktMTYuNS01OC4yLTI1QzQ0OS41IDE0OS43IDQxNyAxNjAgMzg0IDE2MGMtMzEuOSAwLTYwLjYtOS45LTgwLjQtMTguOWMtNS44LTIuNy0xMS4xLTUuMy0xNS42LTcuN2MtNC41IDIuNC05LjcgNS4xLTE1LjYgNy43Yy0xOS44IDktNDguNSAxOC45LTgwLjQgMTguOWMtMzMgMC02NS41LTEwLjMtOTQuNS0yNS44Yy0xMy40IDguNC0zMy43IDE5LjMtNTguMiAyNWMtMTcuMiA0LTM0LjQtNi43LTM4LjQtMjMuOXM2LjctMzQuNCAyMy45LTM4LjRDNDIuOCA5Mi42IDYxIDgzLjUgNzUuMyA3MS42YzExLjEtOS41IDI3LjMtMTAuMSAzOS4yLTEuN2wwIDBDMTM2LjcgODUuMiAxNjUuMSA5NiAxOTIgOTZjMjcuNSAwIDU1LTEwLjYgNzcuNS0yNi4xem0zNyAyODhDMzI5IDM3My40IDM1Ni41IDM4NCAzODQgMzg0YzI2LjkgMCA1NS40LTEwLjggNzcuNC0yNi4xbDAgMGMxMS45LTguNSAyOC4xLTcuOCAzOS4yIDEuN2MxNC40IDExLjkgMzIuNSAyMSA1MC42IDI1LjJjMTcuMiA0IDI3LjkgMjEuMiAyMy45IDM4LjRzLTIxLjIgMjcuOS0zOC40IDIzLjljLTI0LjUtNS43LTQ0LjktMTYuNS01OC4yLTI1QzQ0OS41IDQzNy43IDQxNyA0NDggMzg0IDQ0OGMtMzEuOSAwLTYwLjYtOS45LTgwLjQtMTguOWMtNS44LTIuNy0xMS4xLTUuMy0xNS42LTcuN2MtNC41IDIuNC05LjcgNS4xLTE1LjYgNy43Yy0xOS44IDktNDguNSAxOC45LTgwLjQgMTguOWMtMzMgMC02NS41LTEwLjMtOTQuNS0yNS44Yy0xMy40IDguNC0zMy43IDE5LjMtNTguMiAyNWMtMTcuMiA0LTM0LjQtNi43LTM4LjQtMjMuOXM2LjctMzQuNCAyMy45LTM4LjRjMTguMS00LjIgMzYuMi0xMy4zIDUwLjYtMjUuMmMxMS4xLTkuNCAyNy4zLTEwLjEgMzkuMi0xLjdsMCAwQzEzNi43IDM3My4yIDE2NS4xIDM4NCAxOTIgMzg0YzI3LjUgMCA1NS0xMC42IDc3LjUtMjYuMWMxMS4xLTcuOSAyNS45LTcuOSAzNyAwem0wLTE0NEMzMjkgMjI5LjQgMzU2LjUgMjQwIDM4NCAyNDBjMjYuOSAwIDU1LjQtMTAuOCA3Ny40LTI2LjFsMCAwYzExLjktOC41IDI4LjEtNy44IDM5LjIgMS43YzE0LjQgMTEuOSAzMi41IDIxIDUwLjYgMjUuMmMxNy4yIDQgMjcuOSAyMS4yIDIzLjkgMzguNHMtMjEuMiAyNy45LTM4LjQgMjMuOWMtMjQuNS01LjctNDQuOS0xNi41LTU4LjItMjVDNDQ5LjUgMjkzLjcgNDE3IDMwNCAzODQgMzA0Yy0zMS45IDAtNjAuNi05LjktODAuNC0xOC45Yy01LjgtMi43LTExLjEtNS4zLTE1LjYtNy43Yy00LjUgMi40LTkuNyA1LjEtMTUuNiA3LjdjLTE5LjggOS00OC41IDE4LjktODAuNCAxOC45Yy0zMyAwLTY1LjUtMTAuMy05NC41LTI1LjhjLTEzLjQgOC40LTMzLjcgMTkuMy01OC4yIDI1Yy0xNy4yIDQtMzQuNC02LjctMzguNC0yMy45czYuNy0zNC40IDIzLjktMzguNGMxOC4xLTQuMiAzNi4yLTEzLjMgNTAuNi0yNS4yYzExLjEtOS41IDI3LjMtMTAuMSAzOS4yLTEuN2wwIDBDMTM2LjcgMjI5LjIgMTY1LjEgMjQwIDE5MiAyNDBjMjcuNSAwIDU1LTEwLjYgNzcuNS0yNi4xYzExLjEtNy45IDI1LjktNy45IDM3IDB6XCJdXG59O1xudmFyIGZhQ2FsZW5kYXJDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYWxlbmRhci1jaGVjaycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjI3NFwiLCBcIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMlY2NEgyODhWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMlY2NGg0OGMyNi41IDAgNDggMjEuNSA0OCA0OHY0OEgwVjExMkMwIDg1LjUgMjEuNSA2NCA0OCA2NEg5NlYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMCAxOTJINDQ4VjQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMTkyek0zMjkgMzA1YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTk1IDk1LTQ3LTQ3Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDY0IDY0YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwTDMyOSAzMDV6XCJdXG59O1xudmFyIGZhQnJhaWxsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdicmFpbGxlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmMmExXCIsIFwiTTAgOTZhNjQgNjQgMCAxIDEgMTI4IDBBNjQgNjQgMCAxIDEgMCA5NnpNMjI0IDI3MmExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6bTAtODBhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTgwIDQxNmExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwek0wIDQxNmE2NCA2NCAwIDEgMSAxMjggMEE2NCA2NCAwIDEgMSAwIDQxNnptMjQwIDBhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptLTgwIDBhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwek02NCAxOTJhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTIyNCAzMmE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpNMzUyIDk2YTY0IDY0IDAgMSAxIDEyOCAwQTY0IDY0IDAgMSAxIDM1MiA5NnptMjQwIDBhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptLTgwIDBhNjQgNjQgMCAxIDEgMTI4IDBBNjQgNjQgMCAxIDEgNTEyIDk2em02NCAxNzZhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyem0wLTgwYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4em0xNiAyMjRhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptLTgwIDBhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwek00MTYgMjcyYTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnptMC04MGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHptMTYgMjI0YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6bS04MCAwYTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpcIl1cbn07XG52YXIgZmFQcmVzY3JpcHRpb25Cb3R0bGVNZWRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ByZXNjcmlwdGlvbi1ib3R0bGUtbWVkaWNhbCcsXG4gIGljb246IFszODQsIDUxMiwgW1wicHJlc2NyaXB0aW9uLWJvdHRsZS1hbHRcIl0sIFwiZjQ4NlwiLCBcIk0wIDMyQzAgMTQuMyAxNC4zIDAgMzIgMEgzNTJjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNjRjMCAxNy43LTE0LjMgMzItMzIgMzJIMzJDMTQuMyA5NiAwIDgxLjcgMCA2NFYzMnptMzIgOTZIMzUyVjQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEg5NmMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMTI4ek0xNjAgMjQwdjQ4SDExMmMtOC44IDAtMTYgNy4yLTE2IDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNmg0OHY0OGMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjM1Mmg0OGM4LjggMCAxNi03LjIgMTYtMTZWMzA0YzAtOC44LTcuMi0xNi0xNi0xNkgyMjRWMjQwYzAtOC44LTcuMi0xNi0xNi0xNkgxNzZjLTguOCAwLTE2IDcuMi0xNiAxNnpcIl1cbn07XG52YXIgZmFQcmVzY3JpcHRpb25Cb3R0bGVBbHQgPSBmYVByZXNjcmlwdGlvbkJvdHRsZU1lZGljYWw7XG52YXIgZmFMYW5kbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsYW5kbWFyaycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzk2M10sIFwiZjY2ZlwiLCBcIk0yNDAuMSA0LjJjOS44LTUuNiAyMS45LTUuNiAzMS44IDBsMTcxLjggOTguMUw0NDggMTA0bDAgLjkgNDcuOSAyNy40YzEyLjYgNy4yIDE4LjggMjIgMTUuMSAzNnMtMTYuNCAyMy44LTMwLjkgMjMuOEgzMmMtMTQuNSAwLTI3LjItOS44LTMwLjktMjMuOHMyLjUtMjguOCAxNS4xLTM2TDY0IDEwNC45VjEwNGw0LjQtMS42TDI0MC4xIDQuMnpNNjQgMjI0aDY0VjQxNmg0MFYyMjRoNjRWNDE2aDQ4VjIyNGg2NFY0MTZoNDBWMjI0aDY0VjQyMC4zYy42IC4zIDEuMiAuNyAxLjggMS4xbDQ4IDMyYzExLjcgNy44IDE3IDIyLjQgMTIuOSAzNS45UzQ5NC4xIDUxMiA0ODAgNTEySDMyYy0xNC4xIDAtMjYuNS05LjItMzAuNi0yMi43czEuMS0yOC4xIDEyLjktMzUuOWw0OC0zMmMuNi0uNCAxLjItLjcgMS44LTEuMVYyMjR6XCJdXG59O1xudmFyIGZhVHJ1Y2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJ1Y2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjg2NjYsIDk5NTFdLCBcImYwZDFcIiwgXCJNNDggMEMyMS41IDAgMCAyMS41IDAgNDhWMzY4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDY0YzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZIMzg0YzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJWMjg4IDI1NiAyMzcuM2MwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0w1MTIgMTE0LjdjLTEyLTEyLTI4LjMtMTguNy00NS4zLTE4LjdINDE2VjQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDQ4ek00MTYgMTYwaDUwLjdMNTQ0IDIzNy4zVjI1Nkg0MTZWMTYwek0xMTIgNDE2YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTM2OC00OGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6XCJdXG59O1xudmFyIGZhQ3Jvc3NoYWlycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjcm9zc2hhaXJzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMDViXCIsIFwiTTI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjQyLjRjOTMuNyAxMy45IDE2Ny43IDg4IDE4MS42IDE4MS42SDQ4MGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg0NjkuNmMtMTMuOSA5My43LTg4IDE2Ny43LTE4MS42IDE4MS42VjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY0NjkuNkMxMzAuMyA0NTUuNyA1Ni4zIDM4MS43IDQyLjQgMjg4SDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDQyLjRDNTYuMyAxMzAuMyAxMzAuMyA1Ni4zIDIyNCA0Mi40VjMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek0xMDcuNCAyODhjMTIuNSA1OC4zIDU4LjQgMTA0LjEgMTE2LjYgMTE2LjZWMzg0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ2MjAuNmM1OC4zLTEyLjUgMTA0LjEtNTguNCAxMTYuNi0xMTYuNkgzODRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJoMjAuNkMzOTIuMSAxNjUuNyAzNDYuMyAxMTkuOSAyODggMTA3LjRWMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjEwNy40QzE2NS43IDExOS45IDExOS45IDE2NS43IDEwNy40IDIyNEgxMjhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMTA3LjR6TTI1NiAyMjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbnZhciBmYVBlcnNvbkNhbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWNhbmUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImU1M2NcIiwgXCJNMjcyIDQ4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6bS04IDE4Ny4zbDQ3LjQgNTcuMWMxMS4zIDEzLjYgMzEuNSAxNS41IDQ1LjEgNC4yczE1LjUtMzEuNSA0LjItNDUuMWwtNzMuNy04OC45Yy0xOC4yLTIyLTQ1LjMtMzQuNy03My45LTM0LjdIMTc3LjFjLTMzLjcgMC02NC45IDE3LjctODIuMyA0Ni42bC01OC4zIDk3Yy05LjEgMTUuMS00LjIgMzQuOCAxMC45IDQzLjlzMzQuOCA0LjIgNDMuOS0xMC45TDEyMCAyNTYuOVY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzNTJoMTZWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMjM1LjN6TTM1MiAzNzZjMC00LjQgMy42LTggOC04czggMy42IDggOFY0ODhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFYzNzZjMC0zMC45LTI1LjEtNTYtNTYtNTZzLTU2IDI1LjEtNTYgNTZ2OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0di04elwiXVxufTtcbnZhciBmYVRlbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGVudCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU3ZFwiLCBcIk0yNjkuNCA2QzI4MC41LTIgMjk1LjUtMiAzMDYuNiA2bDIyNCAxNjBjNy40IDUuMyAxMi4yIDEzLjUgMTMuMiAyMi41bDMyIDI4OGMxIDktMS45IDE4LjEtOCAyNC45cy0xNC43IDEwLjctMjMuOCAxMC43SDQ2NCA0MzUuOGMtMTIuMSAwLTIzLjItNi44LTI4LjYtMTcuN0wzMDYuNyAyOTMuNWMtMS43LTMuNC01LjEtNS41LTguOC01LjVjLTUuNSAwLTkuOSA0LjQtOS45IDkuOVY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJIMjQwIDMyYy05LjEgMC0xNy44LTMuOS0yMy44LTEwLjdzLTktMTUuOC04LTI0LjlsMzItMjg4YzEtOSA1LjgtMTcuMiAxMy4yLTIyLjVMMjY5LjQgNnpcIl1cbn07XG52YXIgZmFWZXN0UGF0Y2hlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2ZXN0LXBhdGNoZXMnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImUwODZcIiwgXCJNMTUxLjIgNjkuN2w1NS45IDE2Ny43LTExIDMzLjFjLTIuNyA4LjItNC4xIDE2LjctNC4xIDI1LjNWNDY0YzAgMTQuNSAzLjkgMjguMiAxMC43IDM5LjlDMTk1IDUwOSAxODUuOSA1MTIgMTc2IDUxMkg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMjcwLjVjMC05LjUgMi44LTE4LjcgOC4xLTI2LjZsNDcuOS03MS44YzUuMy03LjkgOC4xLTE3LjEgOC4xLTI2LjZWMTI4IDU0LjMgNDhDNjQgMjEuNSA4NS41IDAgMTEyIDBoNC41Yy4yIDAgLjQgMCAuNiAwYy40IDAgLjggMCAxLjIgMGMxOC44IDAgMzQuMSA5LjcgNDQuMSAxOC44QzE3MS42IDI3LjIgMTkwLjggNDAgMjI0IDQwczUyLjQtMTIuOCA2MS43LTIxLjJDMjk1LjcgOS43IDMxMSAwIDMyOS43IDBjLjQgMCAuOCAwIDEuMiAwYy4yIDAgLjQgMCAuNiAwSDMzNmMyNi41IDAgNDggMjEuNSA0OCA0OHY2LjNWMTI4djE3LjVjMCA5LjUgMi44IDE4LjcgOC4xIDI2LjZsNDcuOSA3MS44YzUuMyA3LjkgOC4xIDE3LjEgOC4xIDI2LjZWNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDI3MmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMjk1LjhjMC01LjIgLjgtMTAuMyAyLjUtMTUuMkwyOTYuOCA2OS43QzI3OS40IDc5LjcgMjU1LjQgODggMjI0IDg4cy01NS40LTguMy03Mi44LTE4LjN6TTk2IDQ1NmE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6TTYzLjUgMjU1LjVjLTQuNyA0LjctNC43IDEyLjMgMCAxN0w3OSAyODggNjMuNSAzMDMuNWMtNC43IDQuNy00LjcgMTIuMyAwIDE3czEyLjMgNC43IDE3IDBMOTYgMzA1bDE1LjUgMTUuNWM0LjcgNC43IDEyLjMgNC43IDE3IDBzNC43LTEyLjMgMC0xN0wxMTMgMjg4bDE1LjUtMTUuNWM0LjctNC43IDQuNy0xMi4zIDAtMTdzLTEyLjMtNC43LTE3IDBMOTYgMjcxIDgwLjUgMjU1LjVjLTQuNy00LjctMTIuMy00LjctMTcgMHpNMzA0IDI4MHY4IDMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMiA4YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0aC04di04YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0elwiXVxufTtcbnZhciBmYUNoZWNrRG91YmxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZWNrLWRvdWJsZScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjU2MFwiLCBcIk0zNDIuNiA4Ni42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDE2MCAxNzguN2wtNTcuNC01Ny40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w4MCA4MGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxNjAtMTYwem05NiAxMjhjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMTYwIDQwMi43IDU0LjYgMjk3LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDEyOCAxMjhjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMjU2LTI1NnpcIl1cbn07XG52YXIgZmFBcnJvd0Rvd25BWiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1kb3duLWEteicsXG4gIGljb246IFs1NzYsIDUxMiwgW1wic29ydC1hbHBoYS1hc2NcIiwgXCJzb3J0LWFscGhhLWRvd25cIl0sIFwiZjE1ZFwiLCBcIk0xODMuNiA0NjkuNkMxNzcuNSA0NzYuMiAxNjkgNDgwIDE2MCA0ODBzLTE3LjUtMy44LTIzLjYtMTAuNGwtODgtOTZjLTExLjktMTMtMTEuMS0zMy4zIDItNDUuMnMzMy4zLTExLjEgNDUuMiAyTDEyOCAzNjUuN1Y2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyVjM2NS43bDMyLjQtMzUuNGMxMS45LTEzIDMyLjItMTMuOSA0NS4yLTJzMTMuOSAzMi4yIDIgNDUuMmwtODggOTZ6TTMyMCAzMjBjMC0xNy43IDE0LjMtMzIgMzItMzJINDgwYzEyLjkgMCAyNC42IDcuOCAyOS42IDE5LjhzMi4yIDI1LjctNi45IDM0LjlMNDI5LjMgNDE2SDQ4MGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzNTJjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhzLTIuMi0yNS43IDYuOS0zNC45TDQwMi43IDM1MkgzNTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek00MTYgMzJjMTIuMSAwIDIzLjIgNi44IDI4LjYgMTcuN2w2NCAxMjggMTYgMzJjNy45IDE1LjggMS41IDM1LTE0LjMgNDIuOXMtMzUgMS41LTQyLjktMTQuM0w0NjAuMiAyMjRIMzcxLjhsLTcuMiAxNC4zYy03LjkgMTUuOC0yNy4xIDIyLjItNDIuOSAxNC4zcy0yMi4yLTI3LjEtMTQuMy00Mi45bDE2LTMyIDY0LTEyOEMzOTIuOCAzOC44IDQwMy45IDMyIDQxNiAzMnpNMzk1LjggMTc2aDQwLjRMNDE2IDEzNS42IDM5NS44IDE3NnpcIl1cbn07XG52YXIgZmFTb3J0QWxwaGFBc2MgPSBmYUFycm93RG93bkFaO1xudmFyIGZhU29ydEFscGhhRG93biA9IGZhQXJyb3dEb3duQVo7XG52YXIgZmFNb25leUJpbGxXaGVhdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb25leS1iaWxsLXdoZWF0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTJhXCIsIFwiTTE3NiAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwYzAgOC44LTcuMiAxNi0xNiAxNmMtNDQuMiAwLTgwLTM1LjgtODAtODBjMC04LjggNy4yLTE2IDE2LTE2ek01NiAxNmg0OGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEg1NkM0Mi43IDY0IDMyIDUzLjMgMzIgNDBzMTAuNy0yNCAyNC0yNHpNMjQgODhIMTM2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDI0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNFMxMC43IDg4IDI0IDg4em04IDk2YzAtMTMuMyAxMC43LTI0IDI0LTI0aDQ4YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDU2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMjcyIDE2YzAtOC44IDcuMi0xNiAxNi0xNmM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDguOC03LjIgMTYtMTYgMTZjLTQ0LjIgMC04MC0zNS44LTgwLTgwek00MDAgMGM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDguOC03LjIgMTYtMTYgMTZjLTQ0LjIgMC04MC0zNS44LTgwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTQ0YzAgNDQuMi0zNS44IDgwLTgwIDgwYy04LjggMC0xNi03LjItMTYtMTZjMC00NC4yIDM1LjgtODAgODAtODBjOC44IDAgMTYgNy4yIDE2IDE2ek0zNTIgMTI4YzguOCAwIDE2IDcuMiAxNiAxNmMwIDQ0LjItMzUuOCA4MC04MCA4MGMtOC44IDAtMTYtNy4yLTE2LTE2YzAtNDQuMiAzNS44LTgwIDgwLTgwem0tOTYgMTZjMCA0NC4yLTM1LjggODAtODAgODBjLTguOCAwLTE2LTcuMi0xNi0xNmMwLTQ0LjIgMzUuOC04MCA4MC04MGM4LjggMCAxNiA3LjIgMTYgMTZ6TTAgMzA0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4SDQ2NGMyNi41IDAgNDggMjEuNSA0OCA0OFY0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjMwNHpNNDggNDE2djQ4SDk2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek05NiAzMDRINDh2NDhjMjYuNSAwIDQ4LTIxLjUgNDgtNDh6TTQ2NCA0MTZjLTI2LjUgMC00OCAyMS41LTQ4IDQ4aDQ4VjQxNnpNNDE2IDMwNGMwIDI2LjUgMjEuNSA0OCA0OCA0OFYzMDRINDE2em0tOTYgODBhNjQgNjQgMCAxIDAgLTEyOCAwIDY0IDY0IDAgMSAwIDEyOCAwelwiXVxufTtcbnZhciBmYUNvb2tpZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb29raWUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc4NTBdLCBcImY1NjNcIiwgXCJNMjQ3LjIgMTdjLTIyLjEtMy4xLTQ0LjYgLjktNjQuNCAxMS40bC03NCAzOS41Qzg5LjEgNzguNCA3My4yIDk0LjkgNjMuNCAxMTVMMjYuNyAxOTAuNmMtOS44IDIwLjEtMTMgNDIuOS05LjEgNjQuOWwxNC41IDgyLjhjMy45IDIyLjEgMTQuNiA0Mi4zIDMwLjcgNTcuOWw2MC4zIDU4LjRjMTYuMSAxNS42IDM2LjYgMjUuNiA1OC43IDI4LjdsODMgMTEuN2MyMi4xIDMuMSA0NC42LS45IDY0LjQtMTEuNGw3NC0zOS41YzE5LjctMTAuNSAzNS42LTI3IDQ1LjQtNDcuMmwzNi43LTc1LjVjOS44LTIwLjEgMTMtNDIuOSA5LjEtNjQuOWwtMTQuNi04Mi44Yy0zLjktMjIuMS0xNC42LTQyLjMtMzAuNy01Ny45TDM4OC45IDU3LjVjLTE2LjEtMTUuNi0zNi42LTI1LjYtNTguNy0yOC43TDI0Ny4yIDE3ek0yMDggMTQ0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMTQ0IDMzNmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0yMjQtNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbnZhciBmYUFycm93Um90YXRlTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1yb3RhdGUtbGVmdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzg2MzQsIFwiYXJyb3ctbGVmdC1yb3RhdGVcIiwgXCJhcnJvdy1yb3RhdGUtYmFja1wiLCBcImFycm93LXJvdGF0ZS1iYWNrd2FyZFwiLCBcInVuZG9cIl0sIFwiZjBlMlwiLCBcIk0xMjUuNyAxNjBIMTc2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMlY2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMydjUxLjJMOTcuNiA5Ny42Yzg3LjUtODcuNSAyMjkuMy04Ny41IDMxNi44IDBzODcuNSAyMjkuMyAwIDMxNi44cy0yMjkuMyA4Ny41LTMxNi44IDBjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBjNjIuNSA2Mi41IDE2My44IDYyLjUgMjI2LjMgMHM2Mi41LTE2My44IDAtMjI2LjNzLTE2My44LTYyLjUtMjI2LjMgMEwxMjUuNyAxNjB6XCJdXG59O1xudmFyIGZhQXJyb3dMZWZ0Um90YXRlID0gZmFBcnJvd1JvdGF0ZUxlZnQ7XG52YXIgZmFBcnJvd1JvdGF0ZUJhY2sgPSBmYUFycm93Um90YXRlTGVmdDtcbnZhciBmYUFycm93Um90YXRlQmFja3dhcmQgPSBmYUFycm93Um90YXRlTGVmdDtcbnZhciBmYVVuZG8gPSBmYUFycm93Um90YXRlTGVmdDtcbnZhciBmYUhhcmREcml2ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYXJkLWRyaXZlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NDM2LCBcImhkZFwiXSwgXCJmMGEwXCIsIFwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJINDQ4YzM1LjMgMCA2NCAyOC43IDY0IDY0VjI4MC40Yy0xNy0xNS4yLTM5LjQtMjQuNC02NC0yNC40SDY0Yy0yNC42IDAtNDcgOS4yLTY0IDI0LjRWOTZ6TTY0IDI4OEg0NDhjMzUuMyAwIDY0IDI4LjcgNjQgNjR2NjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjM1MmMwLTM1LjMgMjguNy02NCA2NC02NHpNMzIwIDQxNmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTEyOC0zMmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwelwiXVxufTtcbnZhciBmYUhkZCA9IGZhSGFyZERyaXZlO1xudmFyIGZhRmFjZUdyaW5TcXVpbnRUZWFycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWdyaW4tc3F1aW50LXRlYXJzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5MzE1LCBcImdyaW4tc3F1aW50LXRlYXJzXCJdLCBcImY1ODZcIiwgXCJNNDI2LjggMTQuMkM0NDYtNSA0NzcuNS00LjYgNDk3LjEgMTQuOXMyMCA1MSAuNyA3MC4zYy02LjggNi44LTIxLjQgMTIuNC0zNy40IDE2LjdjLTE2LjMgNC40LTM0LjEgNy41LTQ2LjMgOS4zYy0xLjYgLjItMy4xIC41LTQuNiAuNmMtNS42IC45LTEwLjMtMy45LTkuNS05LjVjMS42LTExLjIgNC42LTI5LjYgOS00N2MuMy0xLjMgLjctMi42IDEtMy45YzQuMy0xNS45IDkuOC0zMC41IDE2LjctMzcuNHptLTQ0LjcgMTljLTEuNSA0LjgtMi45IDkuNi00LjEgMTQuM2MtNC44IDE4LjktOCAzOC41LTkuNyA1MC4zYy00IDI2LjggMTguOSA0OS43IDQ1LjcgNDUuOGMxMS45LTEuNiAzMS41LTQuOCA1MC40LTkuN2M0LjctMS4yIDkuNS0yLjUgMTQuMy00LjFDNTM0LjIgMjI3LjUgNTIwLjIgMzUzLjggNDM3IDQzN2MtODMuMiA4My4yLTIwOS41IDk3LjItMzA3LjIgNDEuOGMxLjUtNC44IDIuOC05LjYgNC0xNC4zYzQuOC0xOC45IDgtMzguNSA5LjctNTAuM2M0LTI2LjgtMTguOS00OS43LTQ1LjctNDUuOGMtMTEuOSAxLjYtMzEuNSA0LjgtNTAuNCA5LjdjLTQuNyAxLjItOS41IDIuNS0xNC4zIDQuMUMtMjIuMiAyODQuNS04LjIgMTU4LjIgNzUgNzVDMTU4LjItOC4zIDI4NC41LTIyLjIgMzgyLjIgMzMuMnpNNTEuNSA0MTAuMWMxOC41LTUgMzguOC04LjMgNTAuOS0xMGM1LjYtLjkgMTAuMyAzLjkgOS41IDkuNWMtMS43IDEyLjEtNSAzMi40LTEwIDUwLjlDOTcuNiA0NzYuNCA5MiA0OTEgODUuMiA0OTcuOEM2NiA1MTcgMzQuNSA1MTYuNiAxNC45IDQ5Ny4xcy0yMC01MS0uNy03MC4zYzYuOC02LjggMjEuNC0xMi40IDM3LjQtMTYuN3pNNDE2LjQgMjAyLjNjLTQuOC0xMS45LTIwLjktMTAuOS0yNi45IC40Yy0xOS40IDM2LjctNDYuMyA3My4yLTc5LjggMTA2LjdzLTcwIDYwLjMtMTA2LjcgNzkuOGMtMTEuMyA2LTEyLjMgMjIuMS0uNCAyNi45YzU5LjQgMjQuMSAxMjkuOSAxMi4yIDE3Ny45LTM1LjhzNTkuOS0xMTguNSAzNS44LTE3Ny45ek04Ny4xIDI4NS4xYzIgMiA0LjYgMy4yIDcuMyAzLjRsNTYuMSA1LjEgNS4xIDU2LjFjLjMgMi44IDEuNSA1LjQgMy40IDcuM2M2LjMgNi4zIDE3LjIgMy42IDE5LjgtNC45bDI5LjctOTcuNGMzLjUtMTEuNi03LjMtMjIuNS0xOS0xOUw5MiAyNjUuM2MtOC42IDIuNi0xMS4zIDEzLjQtNC45IDE5Ljh6TTI2NS4zIDkybC0yOS43IDk3LjRjLTMuNSAxMS42IDcuMyAyMi41IDE5IDE5bDk3LjQtMjkuN2M4LjYtMi42IDExLjMtMTMuNCA0LjktMTkuOGMtMi0yLTQuNi0zLjItNy4zLTMuNGwtNTYuMS01LjEtNS4xLTU2LjFjLS4zLTIuOC0xLjUtNS40LTMuNC03LjNjLTYuMy02LjMtMTcuMi0zLjYtMTkuOCA0Ljl6XCJdXG59O1xudmFyIGZhR3JpblNxdWludFRlYXJzID0gZmFGYWNlR3JpblNxdWludFRlYXJzO1xudmFyIGZhRHVtYmJlbGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZHVtYmJlbGwnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY0NGJcIiwgXCJNOTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJoMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJWMjI0djY0VjQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMkgxMjhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjM4NEg2NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyVjE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMkg5NlY2NHptNDQ4IDB2NjRoMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2NjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJ2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJINTQ0djY0YzAgMTcuNy0xNC4zIDMyLTMyIDMySDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMjg4IDIyNCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmgzMmMxNy43IDAgMzIgMTQuMyAzMiAzMnpNNDE2IDIyNHY2NEgyMjRWMjI0SDQxNnpcIl1cbn07XG52YXIgZmFSZWN0YW5nbGVMaXN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JlY3RhbmdsZS1saXN0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJsaXN0LWFsdFwiXSwgXCJmMDIyXCIsIFwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJINTEyYzM1LjMgMCA2NCAyOC43IDY0IDY0VjQxNmMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWOTZ6TTEyOCAyODhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0zMi0xMjhhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMTI4IDM4NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTk2LTI0OGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNEg0NDhjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRIMjI0em0wIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0SDQ0OGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEgyMjR6bTAgOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRINDQ4YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDIyNHpcIl1cbn07XG52YXIgZmFMaXN0QWx0ID0gZmFSZWN0YW5nbGVMaXN0O1xudmFyIGZhVGFycERyb3BsZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGFycC1kcm9wbGV0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTdjXCIsIFwiTTI4OCAxNjBjLTM1LjMgMC02NC0yNi45LTY0LTYwYzAtMjQgMzMuNy03MC4xIDUyLjItOTMuNWM2LjEtNy43IDE3LjUtNy43IDIzLjYgMEMzMTguMyAyOS45IDM1MiA3NiAzNTIgMTAwYzAgMzMuMS0yOC43IDYwLTY0IDYwek02NCAxMjhIMTk3LjVjMTMuMiAzNy4zIDQ4LjcgNjQgOTAuNSA2NHM3Ny40LTI2LjcgOTAuNS02NEg1MTJjMzUuMyAwIDY0IDI4LjcgNjQgNjRWMzUySDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxMjhMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NFYxOTJjMC0zNS4zIDI4LjctNjQgNjQtNjR6TTQ0OCA1MTJsMC0xMjhINTc2TDQ0OCA1MTJ6TTk2IDI1NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xudmFyIGZhSG91c2VNZWRpY2FsQ2lyY2xlQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtbWVkaWNhbC1jaXJjbGUtY2hlY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MTFcIiwgXCJNMzIwIDM2OGMwIDU5LjUgMjkuNSAxMTIuMSA3NC44IDE0NEgxMjguMWMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMjg3LjZIMzJjLTE4IDAtMzItMTQtMzItMzIuMWMwLTkgMy0xNyAxMC0yNEwyNjYuNCA4YzctNyAxNS04IDIyLThzMTUgMiAyMSA3TDUyMi4xIDE5My45Yy04LjUtMS4zLTE3LjMtMS45LTI2LjEtMS45Yy01NC43IDAtMTAzLjUgMjQuOS0xMzUuOCA2NEgzMjBWMjA4YzAtOC44LTcuMi0xNi0xNi0xNkgyNzJjLTguOCAwLTE2IDcuMi0xNiAxNnY0OEgyMDhjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoNDh2NDhjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNnptMzIgMGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMTEuMy00My4zYy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMEw0ODAgMzg1LjRsLTI4LjctMjguN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmw0MCA0MGM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGw3Mi03MmM2LjItNi4yIDYuMi0xNi40IDAtMjIuNnpcIl1cbn07XG52YXIgZmFQZXJzb25Ta2lpbmdOb3JkaWMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLXNraWluZy1ub3JkaWMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInNraWluZy1ub3JkaWNcIl0sIFwiZjdjYVwiLCBcIk0zMzYgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek0yMjcuMiAxNjBjMS45IDAgMy44IC4xIDUuNiAuM0wyMDEuNiAyNTRjLTkuMyAyOCAxLjcgNTguOCAyNi44IDc0LjVsODYuMiA1My45TDI5MS4zIDQ2NEgyMDIuOGw0MS4xLTg4LjEtMzIuNC0yMC4zYy03LjgtNC45LTE0LjctMTAuNy0yMC42LTE3LjNMMTMyLjIgNDY0SDk5LjdsNTQuMi0yNTcuNmM0LjYtMS41IDktNC4xIDEyLjctNy44bDIzLjEtMjMuMWM5LjktOS45IDIzLjQtMTUuNSAzNy41LTE1LjV6TTEyMS40IDE5OC42Yy40IC40IC44IC44IDEuMyAxLjJMNjcgNDY0SDI0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0SDE1OS4zYy40IDAgLjkgMCAxLjMgMEgzMTkuM2MuNSAwIDEgMCAxLjQgMEg1MDRjMzkuOCAwIDcyLTMyLjIgNzItNzJ2LThjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR2OGMwIDEzLjMtMTAuNyAyNC0yNCAyNEg0MzQuNmwyNy42LTE3OS4zYzEwLjUtNS4yIDE3LjgtMTYuMSAxNy44LTI4LjdjMC0xNy43LTE0LjMtMzItMzItMzJINDI2LjdjLTEyLjkgMC0yNC42LTcuOC0yOS41LTE5LjdsLTYuMy0xNWMtMTQuNi0zNS4xLTQ0LjEtNjEuOS04MC41LTczLjFsLTQ4LjctMTVjLTExLjEtMy40LTIyLjctNS4yLTM0LjQtNS4yYy0zMSAwLTYwLjggMTIuMy04Mi43IDM0LjNsLTIzLjEgMjMuMWMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjN6bTMwOCA4OS40TDQwMi4zIDQ2NEgzNTcuOGwyMS42LTc1LjZjNS45LTIwLjYtMi42LTQyLjYtMjAuNy01My45TDMwMiAyOTlsMzAuOS04Mi40IDUuMSAxMi4zQzM1MyAyNjQuNyAzODcuOSAyODggNDI2LjcgMjg4aDIuN3pcIl1cbn07XG52YXIgZmFTa2lpbmdOb3JkaWMgPSBmYVBlcnNvblNraWluZ05vcmRpYztcbnZhciBmYUNhbGVuZGFyUGx1cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYWxlbmRhci1wbHVzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMjcxXCIsIFwiTTk2IDMyVjY0SDQ4QzIxLjUgNjQgMCA4NS41IDAgMTEydjQ4SDQ0OFYxMTJjMC0yNi41LTIxLjUtNDgtNDgtNDhIMzUyVjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjY0SDE2MFYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMlM5NiAxNC4zIDk2IDMyek00NDggMTkySDBWNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDQwMGMyNi41IDAgNDgtMjEuNSA0OC00OFYxOTJ6TTIyNCAyNDhjMTMuMyAwIDI0IDEwLjcgMjQgMjR2NTZoNTZjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIMjQ4djU2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0VjM3NkgxNDRjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRoNTZWMjcyYzAtMTMuMyAxMC43LTI0IDI0LTI0elwiXVxufTtcbnZhciBmYVBsYW5lQXJyaXZhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwbGFuZS1hcnJpdmFsJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NzQ4XSwgXCJmNWFmXCIsIFwiTS4zIDE2Ni45TDAgNjhDMCA1Ny43IDkuNSA1MC4xIDE5LjUgNTIuM2wzNS42IDcuOWMxMC42IDIuMyAxOS4yIDkuOSAyMyAyMEw5NiAxMjhsMTI3LjMgMzcuNkwxODEuOCAyMC40QzE3OC45IDEwLjIgMTg2LjYgMCAxOTcuMiAwaDQwLjFjMTEuNiAwIDIyLjIgNi4yIDI3LjkgMTYuM2wxMDkgMTkzLjggMTA3LjIgMzEuN2MxNS45IDQuNyAzMC44IDEyLjUgNDMuNyAyMi44bDM0LjQgMjcuNmMyNCAxOS4yIDE4LjEgNTcuMy0xMC43IDY4LjJjLTQxLjIgMTUuNi04Ni4yIDE4LjEtMTI4LjggN0wxMjEuNyAyODkuOGMtMTEuMS0yLjktMjEuMi04LjctMjkuMy0xNi45TDkuNSAxODkuNGMtNS45LTYtOS4zLTE0LjEtOS4zLTIyLjV6TTMyIDQ0OEg2MDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTk2LTgwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTEyOC0xNmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhQ2lyY2xlTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtbGVmdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzYxODQwLCBcImFycm93LWFsdC1jaXJjbGUtbGVmdFwiXSwgXCJmMzU5XCIsIFwiTTUxMiAyNTZBMjU2IDI1NiAwIDEgMCAwIDI1NmEyNTYgMjU2IDAgMSAwIDUxMiAwek0yMTcuNCAzNzYuOUwxMTcuNSAyNjkuOGMtMy41LTMuOC01LjUtOC43LTUuNS0xMy44czItMTAuMSA1LjUtMTMuOGw5OS45LTEwNy4xYzQuMi00LjUgMTAuMS03LjEgMTYuMy03LjFjMTIuMyAwIDIyLjMgMTAgMjIuMyAyMi4zbDAgNTcuNyA5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTk2IDAgMCA1Ny43YzAgMTIuMy0xMCAyMi4zLTIyLjMgMjIuM2MtNi4yIDAtMTIuMS0yLjYtMTYuMy03LjF6XCJdXG59O1xudmFyIGZhQXJyb3dBbHRDaXJjbGVMZWZ0ID0gZmFDaXJjbGVMZWZ0O1xudmFyIGZhVHJhaW5TdWJ3YXkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJhaW4tc3Vid2F5JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJzdWJ3YXlcIl0sIFwiZjIzOVwiLCBcIk05NiAwQzQzIDAgMCA0MyAwIDk2VjM1MmMwIDQ4IDM1LjIgODcuNyA4MS4xIDk0LjlsLTQ2IDQ2QzI4LjEgNDk5LjkgMzMuMSA1MTIgNDMgNTEySDgyLjdjOC41IDAgMTYuNi0zLjQgMjIuNi05LjRMMTYwIDQ0OEgyODhsNTQuNiA1NC42YzYgNiAxNC4xIDkuNCAyMi42IDkuNEg0MDVjMTAgMCAxNS0xMi4xIDcuOS0xOS4xbC00Ni00NmM0Ni03LjEgODEuMS00Ni45IDgxLjEtOTQuOVY5NmMwLTUzLTQzLTk2LTk2LTk2SDk2ek02NCAxMjhjMC0xNy43IDE0LjMtMzIgMzItMzJoODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJIOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjEyOHpNMjcyIDk2aDgwYzE3LjcgMCAzMiAxNC4zIDMyIDMydjk2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDI3MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyek02NCAzNTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMjg4LTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFTdWJ3YXkgPSBmYVRyYWluU3Vid2F5O1xudmFyIGZhQ2hhcnRHYW50dCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGFydC1nYW50dCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTBlNFwiLCBcIk0zMiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMlY0MDBjMCA4LjggNy4yIDE2IDE2IDE2SDQ4MGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg4MGMtNDQuMiAwLTgwLTM1LjgtODAtODBWNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJ6bTk2IDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMnptOTYgNjRIMzUyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDIyNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMTYwIDk2aDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDM4NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpcIl1cbn07XG52YXIgZmFJbmRpYW5SdXBlZVNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaW5kaWFuLXJ1cGVlLXNpZ24nLFxuICBpY29uOiBbMzIwLCA1MTIsIFtcImluZGlhbi1ydXBlZVwiLCBcImluclwiXSwgXCJlMWJjXCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJIOTZoMTZIMjg4YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDIzMS44YzkuNiAxNC40IDE2LjcgMzAuNiAyMC43IDQ4SDI4OGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgyNTIuNGMtMTMuMiA1OC4zLTYxLjkgMTAzLjItMTIyLjIgMTEwLjlMMjc0LjYgNDIyYzE0LjQgMTAuMyAxNy43IDMwLjMgNy40IDQ0LjZzLTMwLjMgMTcuNy00NC42IDcuNEwxMy40IDMxNEMyLjEgMzA2LTIuNyAyOTEuNSAxLjUgMjc4LjJTMTguMSAyNTYgMzIgMjU2aDgwYzMyLjggMCA2MS0xOS43IDczLjMtNDhIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJIMTg1LjNDMTczIDExNS43IDE0NC44IDk2IDExMiA5Nkg5NiAzMkMxNC4zIDk2IDAgODEuNyAwIDY0elwiXVxufTtcbnZhciBmYUluZGlhblJ1cGVlID0gZmFJbmRpYW5SdXBlZVNpZ247XG52YXIgZmFJbnIgPSBmYUluZGlhblJ1cGVlU2lnbjtcbnZhciBmYUNyb3BTaW1wbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3JvcC1zaW1wbGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImNyb3AtYWx0XCJdLCBcImY1NjVcIiwgXCJNMTI4IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyUzY0IDE0LjMgNjQgMzJWNjRIMzJDMTQuMyA2NCAwIDc4LjMgMCA5NnMxNC4zIDMyIDMyIDMySDY0VjM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzNTJWMzg0SDEyOFYzMnpNMzg0IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjQ0OGgzMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg0NDhsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMMTYwIDY0djY0bDIyNCAwIDAgMzUyelwiXVxufTtcbnZhciBmYUNyb3BBbHQgPSBmYUNyb3BTaW1wbGU7XG52YXIgZmFNb25leUJpbGwxID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vbmV5LWJpbGwtMScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wibW9uZXktYmlsbC1hbHRcIl0sIFwiZjNkMVwiLCBcIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOFYzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRINTEyYzM1LjMgMCA2NC0yOC43IDY0LTY0VjEyOGMwLTM1LjMtMjguNy02NC02NC02NEg2NHptNjQgMzIwSDY0VjMyMGMzNS4zIDAgNjQgMjguNyA2NCA2NHpNNjQgMTkyVjEyOGg2NGMwIDM1LjMtMjguNyA2NC02NCA2NHpNNDQ4IDM4NGMwLTM1LjMgMjguNy02NCA2NC02NHY2NEg0NDh6bTY0LTE5MmMtMzUuMyAwLTY0LTI4LjctNjQtNjRoNjR2NjR6TTE3NiAyNTZhMTEyIDExMiAwIDEgMSAyMjQgMCAxMTIgMTEyIDAgMSAxIC0yMjQgMHptNzYtNDhjMCA5LjcgNi45IDE3LjcgMTYgMTkuNlYyNzZoLTRjLTExIDAtMjAgOS0yMCAyMHM5IDIwIDIwIDIwaDI0IDI0YzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMGgtNFYyMDhjMC0xMS05LTIwLTIwLTIwSDI3MmMtMTEgMC0yMCA5LTIwIDIwelwiXVxufTtcbnZhciBmYU1vbmV5QmlsbEFsdCA9IGZhTW9uZXlCaWxsMTtcbnZhciBmYUxlZnRMb25nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xlZnQtbG9uZycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibG9uZy1hcnJvdy1hbHQtbGVmdFwiXSwgXCJmMzBhXCIsIFwiTTE3Ny41IDQxNGMtOC44IDMuOC0xOSAyLTI2LTQuNmwtMTQ0LTEzNkMyLjcgMjY4LjkgMCAyNjIuNiAwIDI1NnMyLjctMTIuOSA3LjUtMTcuNGwxNDQtMTM2YzctNi42IDE3LjItOC40IDI2LTQuNnMxNC41IDEyLjUgMTQuNSAyMmwwIDcyIDI4OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTI4OCAwIDAgNzJjMCA5LjYtNS43IDE4LjItMTQuNSAyMnpcIl1cbn07XG52YXIgZmFMb25nQXJyb3dBbHRMZWZ0ID0gZmFMZWZ0TG9uZztcbnZhciBmYURuYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkbmEnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjk1MTZdLCBcImY0NzFcIiwgXCJNNDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJjMCA1OS44LTMwLjMgMTA3LjUtNjkuNCAxNDYuNmMtMjggMjgtNjIuNSA1My41LTk3LjMgNzcuNGwtMi41IDEuN2MtMTEuOSA4LjEtMjMuOCAxNi4xLTM1LjUgMjMuOWwwIDAgMCAwIDAgMC0xLjYgMWMtNiA0LTExLjkgNy45LTE3LjggMTEuOWMtMjAuOSAxNC00MC44IDI3LjctNTkuMyA0MS41SDI4My4zYy05LjgtNy40LTIwLjEtMTQuNy0zMC43LTIyLjFsNy00LjcgMy0yYzE1LjEtMTAuMSAzMC45LTIwLjYgNDYuNy0zMS42YzI1IDE4LjEgNDguOSAzNy4zIDY5LjQgNTcuN0M0MTcuNyAzNzIuNSA0NDggNDIwLjIgNDQ4IDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMkg2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmMwLTU5LjggMzAuMy0xMDcuNSA2OS40LTE0Ni42YzI4LTI4IDYyLjUtNTMuNSA5Ny4zLTc3LjRjLTM0LjgtMjMuOS02OS4zLTQ5LjMtOTcuMy03Ny40QzMwLjMgMTM5LjUgMCA5MS44IDAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwUzY0IDE0LjMgNjQgMzJIMzg0YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0zMzguNiAzODRIMTA5LjRjLTEwLjEgMTAuNi0xOC42IDIxLjMtMjUuNSAzMkgzNjQuMWMtNi44LTEwLjctMTUuMy0yMS40LTI1LjUtMzJ6TTEwOS40IDEyOEgzMzguNmMxMC4xLTEwLjcgMTguNi0yMS4zIDI1LjUtMzJIODMuOWM2LjggMTAuNyAxNS4zIDIxLjMgMjUuNSAzMnptNTUuNCA0OGMxOC40IDEzLjggMzguNCAyNy41IDU5LjMgNDEuNWMyMC45LTE0IDQwLjgtMjcuNyA1OS4zLTQxLjVIMTY0Ljd6XCJdXG59O1xudmFyIGZhVmlydXNTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2aXJ1cy1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA3NVwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43bC0xNTQuMy0xMjFjLTItMzAuMSAyMC44LTYwLjEgNTYtNjAuMUg1NDRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINTMyLjVjLTQ5LjkgMC03NC45LTYwLjMtMzkuNi05NS42bDguMi04LjJjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTguMiA4LjJDNDEyLjMgMTE4LjQgMzUyIDkzLjQgMzUyIDQzLjVWMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWNDMuNWMwIDQ5LjktNjAuMyA3NC45LTk1LjYgMzkuNkwxODQuMiA3NWMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBjLTEuNiAxLjYtMy4xIDMuNC00LjMgNS4zTDM4LjggNS4xem0yMjUuOCAxNzdjNi45LTMuOSAxNC45LTYuMSAyMy40LTYuMWMyNi41IDAgNDggMjEuNSA0OCA0OGMwIDQuNC0uNiA4LjctMS43IDEyLjdsLTY5LjctNTQuNnpNNDAyIDQxMi43TDE0NC43IDIxMGMtOS41IDguNS0yMi4yIDE0LTM3LjIgMTRIOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoMTEuNWM0OS45IDAgNzQuOSA2MC4zIDM5LjYgOTUuNmwtOC4yIDguMmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw4LjItOC4yYzM1LjMtMzUuMyA5NS42LTEwLjMgOTUuNiAzOS42VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjQ2OC41YzAtMzEuMiAyMy42LTUyLjcgNTAtNTUuN3pcIl1cbn07XG52YXIgZmFNaW51cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtaW51cycsXG4gIGljb246IFs0NDgsIDUxMiwgWzgyMTEsIDg3MjIsIDEwMTM0LCBcInN1YnRyYWN0XCJdLCBcImYwNjhcIiwgXCJNNDMyIDI1NmMwIDE3LjctMTQuMyAzMi0zMiAzMkw0OCAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzUyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6XCJdXG59O1xudmFyIGZhU3VidHJhY3QgPSBmYU1pbnVzO1xudmFyIGZhQ2hlc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hlc3MnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY0MzlcIiwgXCJNMTQ0IDE2YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2VjMySDk2Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2aDE2Vjk2SDYwLjJDNDkuMSA5NiA0MCAxMDUuMSA0MCAxMTYuMmMwIDIuNSAuNSA0LjkgMS4zIDcuM0w3My44IDIwOEg3MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGg0TDYwIDM4NEgxOTZMMTgwIDI1Nmg0YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0aC0xLjhsMzIuNS04NC41Yy45LTIuMyAxLjMtNC44IDEuMy03LjNjMC0xMS4yLTkuMS0yMC4yLTIwLjItMjAuMkgxNDRWNjRoMTZjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIMTQ0VjE2ek00OCA0MTZMNC44IDQ3My42QzEuNyA0NzcuOCAwIDQ4Mi44IDAgNDg4YzAgMTMuMyAxMC43IDI0IDI0IDI0SDIzMmMxMy4zIDAgMjQtMTAuNyAyNC0yNGMwLTUuMi0xLjctMTAuMi00LjgtMTQuNEwyMDggNDE2SDQ4em0yODggMGwtNDMuMiA1Ny42Yy0zLjEgNC4yLTQuOCA5LjItNC44IDE0LjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRINDg4YzEzLjMgMCAyNC0xMC43IDI0LTI0YzAtNS4yLTEuNy0xMC4yLTQuOC0xNC40TDQ2NCA0MTZIMzM2ek0zMDQgMjA4djUxLjljMCA3LjggMi44IDE1LjMgOCAyMS4xTDMzOS4yIDMxMiAzMzcgMzg0SDQ2Mi41bC0zLjMtNzIgMjguMy0zMC44YzUuNC01LjkgOC41LTEzLjYgOC41LTIxLjdWMjA4YzAtOC44LTcuMi0xNi0xNi0xNkg0NjRjLTguOCAwLTE2IDcuMi0xNiAxNnYxNkg0MjRWMjA4YzAtOC44LTcuMi0xNi0xNi0xNkgzOTJjLTguOCAwLTE2IDcuMi0xNiAxNnYxNkgzNTJWMjA4YzAtOC44LTcuMi0xNi0xNi0xNkgzMjBjLTguOCAwLTE2IDcuMi0xNiAxNnptODAgOTZjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnYzMkgzODRWMzA0elwiXVxufTtcbnZhciBmYUFycm93TGVmdExvbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctbGVmdC1sb25nJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJsb25nLWFycm93LWxlZnRcIl0sIFwiZjE3N1wiLCBcIk05LjQgMjMzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDEyOCAxMjhjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wxMDkuMyAyODggNDgwIDI4OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzcwLjcgMCA3My40LTczLjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTEyOCAxMjh6XCJdXG59O1xudmFyIGZhTG9uZ0Fycm93TGVmdCA9IGZhQXJyb3dMZWZ0TG9uZztcbnZhciBmYVBsdWdDaXJjbGVDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwbHVnLWNpcmNsZS1jaGVjaycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU1Y1wiLCBcIk05NiAwQzc4LjMgMCA2NCAxNC4zIDY0IDMydjk2aDY0VjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek0yODggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2OTZoNjRWMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6TTMyIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMnYzMmMwIDc3LjQgNTUgMTQyIDEyOCAxNTYuOFY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlY0MTIuOGMxMi4zLTIuNSAyNC4xLTYuNCAzNS4xLTExLjVjLTIuMS0xMC44LTMuMS0yMS45LTMuMS0zMy4zYzAtODAuMyA1My44LTE0OCAxMjcuMy0xNjkuMmMuNS0yLjIgLjctNC41IC43LTYuOGMwLTE3LjctMTQuMy0zMi0zMi0zMkgzMnpNNTc2IDM2OGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tNzYuNy00My4zYzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42bC03MiA3MmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDE2IDM4NS40bDYwLjctNjAuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHpcIl1cbn07XG52YXIgZmFTdHJlZXRWaWV3ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0cmVldC12aWV3JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMjFkXCIsIFwiTTMyMCA2NEE2NCA2NCAwIDEgMCAxOTIgNjRhNjQgNjQgMCAxIDAgMTI4IDB6bS05NiA5NmMtMzUuMyAwLTY0IDI4LjctNjQgNjR2NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJoMS44bDExLjEgOTkuNWMxLjggMTYuMiAxNS41IDI4LjUgMzEuOCAyOC41aDM4LjdjMTYuMyAwIDMwLTEyLjMgMzEuOC0yOC41TDMxOC4yIDMwNEgzMjBjMTcuNyAwIDMyLTE0LjMgMzItMzJWMjI0YzAtMzUuMy0yOC43LTY0LTY0LTY0SDIyNHpNMTMyLjMgMzk0LjJjMTMtMi40IDIxLjctMTQuOSAxOS4zLTI3LjlzLTE0LjktMjEuNy0yNy45LTE5LjNjLTMyLjQgNS45LTYwLjkgMTQuMi04MiAyNC44Yy0xMC41IDUuMy0yMC4zIDExLjctMjcuOCAxOS42QzYuNCAzOTkuNSAwIDQxMC41IDAgNDI0YzAgMjEuNCAxNS41IDM2LjEgMjkuMSA0NWMxNC43IDkuNiAzNC4zIDE3LjMgNTYuNCAyMy40QzEzMC4yIDUwNC43IDE5MC40IDUxMiAyNTYgNTEyczEyNS44LTcuMyAxNzAuNC0xOS42YzIyLjEtNi4xIDQxLjgtMTMuOCA1Ni40LTIzLjRjMTMuNy04LjkgMjkuMS0yMy42IDI5LjEtNDVjMC0xMy41LTYuNC0yNC41LTE0LTMyLjZjLTcuNS03LjktMTcuMy0xNC4zLTI3LjgtMTkuNmMtMjEtMTAuNi00OS41LTE4LjktODItMjQuOGMtMTMtMi40LTI1LjUgNi4zLTI3LjkgMTkuM3M2LjMgMjUuNSAxOS4zIDI3LjljMzAuMiA1LjUgNTMuNyAxMi44IDY5IDIwLjVjMy4yIDEuNiA1LjggMy4xIDcuOSA0LjVjMy42IDIuNCAzLjYgNy4yIDAgOS42Yy04LjggNS43LTIzLjEgMTEuOC00MyAxNy4zQzM3NC4zIDQ1NyAzMTguNSA0NjQgMjU2IDQ2NHMtMTE4LjMtNy0xNTcuNy0xNy45Yy0xOS45LTUuNS0zNC4yLTExLjYtNDMtMTcuM2MtMy42LTIuNC0zLjYtNy4yIDAtOS42YzIuMS0xLjQgNC44LTIuOSA3LjktNC41YzE1LjMtNy43IDM4LjgtMTQuOSA2OS0yMC41elwiXVxufTtcbnZhciBmYUZyYW5jU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmcmFuYy1zaWduJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJlMThmXCIsIFwiTTgwIDMyQzYyLjMgMzIgNDggNDYuMyA0OCA2NFYyMjR2OTZIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDh2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzODRoODBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTEyVjI1NkgyNTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTEyVjk2SDI4OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg4MHpcIl1cbn07XG52YXIgZmFWb2x1bWVPZmYgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndm9sdW1lLW9mZicsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiZjAyNlwiLCBcIk0zMjAgNjRjMC0xMi42LTcuNC0yNC0xOC45LTI5LjJzLTI1LTMuMS0zNC40IDUuM0wxMzEuOCAxNjBINjRjLTM1LjMgMC02NCAyOC43LTY0IDY0djY0YzAgMzUuMyAyOC43IDY0IDY0IDY0aDY3LjhMMjY2LjcgNDcxLjljOS40IDguNCAyMi45IDEwLjQgMzQuNCA1LjNTMzIwIDQ2MC42IDMyMCA0NDhWNjR6XCJdXG59O1xudmFyIGZhSGFuZHNBc2xJbnRlcnByZXRpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZHMtYXNsLWludGVycHJldGluZycsXG4gIGljb246IFs2NDAsIDUxMiwgW1wiYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmdcIiwgXCJhc2wtaW50ZXJwcmV0aW5nXCIsIFwiaGFuZHMtYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmdcIl0sIFwiZjJhM1wiLCBcIk0xNTYuNiA0Ni4zYzcuOS0xNS44IDEuNS0zNS0xNC4zLTQyLjlzLTM1LTEuNS00Mi45IDE0LjNMMTMuNSAxODkuNEM0LjYgMjA3LjIgMCAyMjYuOCAwIDI0Ni43VjI1NmMwIDcwLjcgNTcuMyAxMjggMTI4IDEyOGg3MiA4di0uM2MzNS4yLTIuNyA2NS40LTIyLjggODIuMS01MS43YzguOC0xNS4zIDMuNi0zNC45LTExLjctNDMuN3MtMzQuOS0zLjYtNDMuNyAxMS43Yy03IDEyLTE5LjkgMjAtMzQuNyAyMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBzMTcuOS00MCA0MC00MGMxNC44IDAgMjcuNyA4IDM0LjcgMjBjOC44IDE1LjMgMjguNCAyMC41IDQzLjcgMTEuN3MyMC41LTI4LjQgMTEuNy00My43Yy0xMi44LTIyLjEtMzMuNi0zOS4xLTU4LjQtNDcuMWw4MC44LTIyYzE3LTQuNiAyNy4xLTIyLjIgMjIuNS0zOS4zcy0yMi4yLTI3LjEtMzkuMy0yMi41TDE5NC45IDEyNC42bDgxLjYtNjhjMTMuNi0xMS4zIDE1LjQtMzEuNSA0LjEtNDUuMVMyNDkuMS0zLjkgMjM1LjUgNy40TDEzMy42IDkyLjNsMjMtNDZ6TTQ4My40IDQ2NS43Yy03LjkgMTUuOC0xLjUgMzUgMTQuMyA0Mi45czM1IDEuNSA0Mi45LTE0LjNsODUuOS0xNzEuN2M4LjktMTcuOCAxMy41LTM3LjQgMTMuNS01Ny4yVjI1NmMwLTcwLjctNTcuMy0xMjgtMTI4LTEyOEg0NDBoLTh2LjNjLTM1LjIgMi43LTY1LjQgMjIuOC04Mi4xIDUxLjdjLTguOSAxNS4zLTMuNiAzNC45IDExLjcgNDMuN3MzNC45IDMuNiA0My43LTExLjdjNy0xMiAxOS45LTIwIDM0LjctMjBjMjIuMSAwIDQwIDE3LjkgNDAgNDBzLTE3LjkgNDAtNDAgNDBjLTE0LjggMC0yNy43LTgtMzQuNy0yMGMtOC45LTE1LjMtMjguNC0yMC41LTQzLjctMTEuN3MtMjAuNSAyOC40LTExLjcgNDMuN2MxMi44IDIyLjEgMzMuNiAzOS4xIDU4LjQgNDcuMWwtODAuOCAyMmMtMTcuMSA0LjctMjcuMSAyMi4yLTIyLjUgMzkuM3MyMi4yIDI3LjEgMzkuMyAyMi41bDEwMC43LTI3LjUtODEuNiA2OGMtMTMuNiAxMS4zLTE1LjQgMzEuNS00LjEgNDUuMXMzMS41IDE1LjQgNDUuMSA0LjFsMTAxLjktODQuOS0yMyA0NnpcIl1cbn07XG52YXIgZmFBbWVyaWNhblNpZ25MYW5ndWFnZUludGVycHJldGluZyA9IGZhSGFuZHNBc2xJbnRlcnByZXRpbmc7XG52YXIgZmFBc2xJbnRlcnByZXRpbmcgPSBmYUhhbmRzQXNsSW50ZXJwcmV0aW5nO1xudmFyIGZhSGFuZHNBbWVyaWNhblNpZ25MYW5ndWFnZUludGVycHJldGluZyA9IGZhSGFuZHNBc2xJbnRlcnByZXRpbmc7XG52YXIgZmFHZWFyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dlYXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5ODgxLCBcImNvZ1wiXSwgXCJmMDEzXCIsIFwiTTQ5NS45IDE2Ni42YzMuMiA4LjcgLjUgMTguNC02LjQgMjQuNmwtNDMuMyAzOS40YzEuMSA4LjMgMS43IDE2LjggMS43IDI1LjRzLS42IDE3LjEtMS43IDI1LjRsNDMuMyAzOS40YzYuOSA2LjIgOS42IDE1LjkgNi40IDI0LjZjLTQuNCAxMS45LTkuNyAyMy4zLTE1LjggMzQuM2wtNC43IDguMWMtNi42IDExLTE0IDIxLjQtMjIuMSAzMS4yYy01LjkgNy4yLTE1LjcgOS42LTI0LjUgNi44bC01NS43LTE3LjdjLTEzLjQgMTAuMy0yOC4yIDE4LjktNDQgMjUuNGwtMTIuNSA1Ny4xYy0yIDkuMS05IDE2LjMtMTguMiAxNy44Yy0xMy44IDIuMy0yOCAzLjUtNDIuNSAzLjVzLTI4LjctMS4yLTQyLjUtMy41Yy05LjItMS41LTE2LjItOC43LTE4LjItMTcuOGwtMTIuNS01Ny4xYy0xNS44LTYuNS0zMC42LTE1LjEtNDQtMjUuNEw4My4xIDQyNS45Yy04LjggMi44LTE4LjYgLjMtMjQuNS02LjhjLTguMS05LjgtMTUuNS0yMC4yLTIyLjEtMzEuMmwtNC43LTguMWMtNi4xLTExLTExLjQtMjIuNC0xNS44LTM0LjNjLTMuMi04LjctLjUtMTguNCA2LjQtMjQuNmw0My4zLTM5LjRDNjQuNiAyNzMuMSA2NCAyNjQuNiA2NCAyNTZzLjYtMTcuMSAxLjctMjUuNEwyMi40IDE5MS4yYy02LjktNi4yLTkuNi0xNS45LTYuNC0yNC42YzQuNC0xMS45IDkuNy0yMy4zIDE1LjgtMzQuM2w0LjctOC4xYzYuNi0xMSAxNC0yMS40IDIyLjEtMzEuMmM1LjktNy4yIDE1LjctOS42IDI0LjUtNi44bDU1LjcgMTcuN2MxMy40LTEwLjMgMjguMi0xOC45IDQ0LTI1LjRsMTIuNS01Ny4xYzItOS4xIDktMTYuMyAxOC4yLTE3LjhDMjI3LjMgMS4yIDI0MS41IDAgMjU2IDBzMjguNyAxLjIgNDIuNSAzLjVjOS4yIDEuNSAxNi4yIDguNyAxOC4yIDE3LjhsMTIuNSA1Ny4xYzE1LjggNi41IDMwLjYgMTUuMSA0NCAyNS40bDU1LjctMTcuN2M4LjgtMi44IDE4LjYtLjMgMjQuNSA2LjhjOC4xIDkuOCAxNS41IDIwLjIgMjIuMSAzMS4ybDQuNyA4LjFjNi4xIDExIDExLjQgMjIuNCAxNS44IDM0LjN6TTI1NiAzMzZhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6XCJdXG59O1xudmFyIGZhQ29nID0gZmFHZWFyO1xudmFyIGZhRHJvcGxldFNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Ryb3BsZXQtc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInRpbnQtc2xhc2hcIl0sIFwiZjVjN1wiLCBcIk0zMjAgNTEyYzUzLjIgMCAxMDEuNC0yMS42IDEzNi4xLTU2LjZsLTI5OC4zLTIzNUMxNDAgMjU3LjEgMTI4IDI5Mi4zIDEyOCAzMjBjMCAxMDYgODYgMTkyIDE5MiAxOTJ6TTUwNS4yIDM3MC43YzQuNC0xNi4xIDYuOC0zMy4xIDYuOC01MC43YzAtOTEuMi0xMzAuMi0yNjIuMy0xNjYuNi0zMDguM0MzMzkuNCA0LjIgMzMwLjUgMCAzMjAuOSAwaC0xLjhjLTkuNiAwLTE4LjUgNC4yLTI0LjUgMTEuN0MyNzcuOCAzMyAyNDAuNyA4MS4zIDIwNS44IDEzNkwzOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDUwNS4yIDM3MC43ek0yMjQgMzM2YzAgNDQuMiAzNS44IDgwIDgwIDgwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2Yy02MS45IDAtMTEyLTUwLjEtMTEyLTExMmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2elwiXVxufTtcbnZhciBmYVRpbnRTbGFzaCA9IGZhRHJvcGxldFNsYXNoO1xudmFyIGZhTW9zcXVlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vc3F1ZScsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODMzMl0sIFwiZjY3OFwiLCBcIk00MDAgMGM1IDAgOS44IDIuNCAxMi44IDYuNGMzNC43IDQ2LjMgNzguMSA3NC45IDEzMy41IDExMS41bDAgMCAwIDBjNS4yIDMuNCAxMC41IDcgMTYgMTAuNmMyOC45IDE5LjIgNDUuNyA1MS43IDQ1LjcgODYuMWMwIDI4LjYtMTEuMyA1NC41LTI5LjggNzMuNEgyMjEuOGMtMTguNC0xOS0yOS44LTQ0LjktMjkuOC03My40YzAtMzQuNCAxNi43LTY2LjkgNDUuNy04Ni4xYzUuNC0zLjYgMTAuOC03LjEgMTYtMTAuNmwwIDAgMCAwQzMwOS4xIDgxLjMgMzUyLjUgNTIuNyAzODcuMiA2LjRjMy00IDcuOC02LjQgMTIuOC02LjR6TTI4OCA1MTJWNDQwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0djcySDE5MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMzUyYzAtMTcuNyAxNC4zLTMyIDMyLTMySDYwOGMxNy43IDAgMzIgMTQuMyAzMiAzMlY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJINTYwVjQ0MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHY3Mkg0NDhWNDU0YzAtMTktOC40LTM3LTIzLTQ5LjJMNDAwIDM4NGwtMjUgMjAuOEMzNjAuNCA0MTcgMzUyIDQzNSAzNTIgNDU0djU4SDI4OHpNNzAuNCA1LjJjNS43LTQuMyAxMy41LTQuMyAxOS4yIDBsMTYgMTJDMTM5LjggNDIuOSAxNjAgODMuMiAxNjAgMTI2djJIMHYtMkMwIDgzLjIgMjAuMiA0Mi45IDU0LjQgMTcuMmwxNi0xMnpNMCAxNjBIMTYwVjI5Ni42Yy0xOS4xIDExLjEtMzIgMzEuNy0zMiA1NS40VjQ4MGMwIDkuNiAyLjEgMTguNiA1LjggMjYuOGMtNi42IDMuNC0xNCA1LjItMjEuOCA1LjJINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjE3NiAxNjB6XCJdXG59O1xudmFyIGZhTW9zcXVpdG8gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9zcXVpdG8nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MmJcIiwgXCJNNDYzLjcgNTA1LjljOS44LTguOSAxMC43LTI0LjMgMi4xLTM0LjNsLTQyLjEtNDkgMC01NC43YzAtNS41LTEuOC0xMC44LTUuMS0xNS4xTDM1MiAyNjYuM2wwLS4zTDQ4NS40IDM4Ny44QzU0Mi40IDQ0Ny42IDY0MCA0MDUuMiA2NDAgMzIwLjZjMC00Ny45LTM0LTg4LjMtNzkuNC05NC4ybC0xNTMtMjMuOSA0MC44LTQwLjljNy44LTcuOCA5LjQtMjAuMSAzLjktMjkuOEw0MjguNSA5MC4xbDM4LjItNTAuOWM4LTEwLjYgNi4xLTI1LjktNC4zLTM0LjFzLTI1LjItNi4zLTMzLjIgNC40bC00OCA2My45Yy01LjkgNy45LTYuNiAxOC42LTEuNyAyNy4yTDQwMi4yIDE0MCAzNTIgMTkwLjNsMC0zOC4yYzAtMTQuOS0xMC4yLTI3LjQtMjQtMzFsMC01Ny4yYzAtNC40LTMuNi04LTgtOHMtOCAzLjYtOCA4bDAgNTcuMmMtMTMuOCAzLjYtMjQgMTYuMS0yNCAzMWwwIDM4LjFMMjM3LjggMTQwbDIyLjYtMzkuNWM0LjktOC42IDQuMi0xOS4zLTEuNy0yNy4ybC00OC02My45Yy04LTEwLjYtMjIuOC0xMi42LTMzLjItNC40cy0xMi4yIDIzLjUtNC4zIDM0LjFsMzguMiA1MC45LTIzLjkgNDEuN2MtNS41IDkuNy0zLjkgMjIgMy45IDI5LjhsNDAuOCA0MC45LTE1MyAyMy45QzM0IDIzMi4zIDAgMjcyLjcgMCAzMjAuNmMwIDg0LjYgOTcuNiAxMjcgMTU0LjYgNjcuMUwyODggMjY2bDAgLjMtNjYuNSA4Ni40Yy0zLjMgNC4zLTUuMSA5LjYtNS4xIDE1LjFsMCA1NC43LTQyLjEgNDljLTguNiAxMC4xLTcuNyAyNS41IDIuMSAzNC4zczI0LjcgNy45IDMzLjQtMi4xbDQ4LTU1LjljMy44LTQuNCA1LjktMTAuMiA1LjktMTYuMWwwLTU1LjRMMjg4IDM0NC43bDAgNjMuMWMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNjMuMSAyNC4zIDMxLjYgMCA1NS40YzAgNS45IDIuMSAxMS43IDUuOSAxNi4xbDQ4IDU1LjljOC42IDEwLjEgMjMuNiAxMSAzMy40IDIuMXpcIl1cbn07XG52YXIgZmFTdGFyT2ZEYXZpZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdGFyLW9mLWRhdmlkJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTAwMTddLCBcImY2OWFcIiwgXCJNNDA0LjIgMzA5LjVMMzgzLjEgMzQ0aDQyLjNsLTIxLjEtMzQuNXpNMzcxLjQgMjU2bC01NC04OEgxOTQuNmwtNTQgODggNTQgODhIMzE3LjRsNTQtODh6bTY1LjcgMGw1My40IDg3YzMuNiA1LjkgNS41IDEyLjcgNS41IDE5LjZjMCAyMC43LTE2LjggMzcuNC0zNy40IDM3LjRIMzQ4LjdsLTU2LjIgOTEuNUMyODQuOCA1MDQuMyAyNzAuOSA1MTIgMjU2IDUxMnMtMjguOC03LjctMzYuNi0yMC41TDE2My4zIDQwMEg1My40QzMyLjggNDAwIDE2IDM4My4yIDE2IDM2Mi42YzAtNi45IDEuOS0xMy43IDUuNS0xOS42bDUzLjQtODdMMjEuNSAxNjljLTMuNi01LjktNS41LTEyLjctNS41LTE5LjZDMTYgMTI4LjggMzIuOCAxMTIgNTMuNCAxMTJIMTYzLjNsNTYuMi05MS41QzIyNy4yIDcuNyAyNDEuMSAwIDI1NiAwczI4LjggNy43IDM2LjYgMjAuNUwzNDguNyAxMTJINDU4LjZjMjAuNyAwIDM3LjQgMTYuOCAzNy40IDM3LjRjMCA2LjktMS45IDEzLjctNS41IDE5LjZsLTUzLjQgODd6bS01NC04OGwyMS4xIDM0LjVMNDI1LjQgMTY4SDM4My4xek0yODMgMTEyTDI1NiA2OGwtMjcgNDRoNTR6TTEyOC45IDE2OEg4Ni42bDIxLjEgMzQuNUwxMjguOSAxNjh6TTEwNy44IDMwOS41TDg2LjYgMzQ0aDQyLjNsLTIxLjEtMzQuNXpNMjI5IDQwMGwyNyA0NCAyNy00NEgyMjl6XCJdXG59O1xudmFyIGZhUGVyc29uTWlsaXRhcnlSaWZsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tbWlsaXRhcnktcmlmbGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1NGJcIiwgXCJNMTYwIDM5YzAtMTMgMTAtMjMuOCAyMi45LTI0LjlMMzM0LjcgMS40QzM0NCAuNyAzNTIgOCAzNTIgMTcuNFY0OGMwIDguOC03LjIgMTYtMTYgMTZIMTg1Yy0xMy44IDAtMjUtMTEuMi0yNS0yNXptMTcuNiA1N0gzMzQuNGMxIDUuMiAxLjYgMTAuNSAxLjYgMTZjMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBjMC01LjUgLjYtMTAuOCAxLjYtMTZ6bTIyOCAzNjQuM0wzNTIgMzY5LjdWNDgwYzAgMS4zLS4xIDIuNS0uMiAzLjhMMTc3LjUgMjM0LjljMTYuNi03LjEgMzQuNi0xMC45IDUzLjMtMTAuOWg1MC40YzE1LjkgMCAzMS4zIDIuOCA0NS44IDcuOUw0MjEuOSA2Ny43Yy03LjctNC40LTEwLjMtMTQuMi01LjktMjEuOXMxNC4yLTEwLjMgMjEuOS01LjlsMTMuOSA4IDEzLjkgOGM3LjcgNC40IDEwLjMgMTQuMiA1LjkgMjEuOUw0MTYgMTczLjlsMS42IC45YzE1LjMgOC44IDIwLjYgMjguNCAxMS43IDQzLjdMMzkyLjYgMjgyYzIgMi44IDMuOSA1LjggNS43IDguOGw3Ni4xIDEyOC44YzExLjIgMTkgNC45IDQzLjUtMTQuMSA1NC44cy00My41IDQuOS01NC44LTE0LjF6TTMyMCA1MTJIMTkyYy0xNy43IDAtMzItMTQuMy0zMi0zMlYzNjkuN2wtNTMuNiA5MC42Yy0xMS4yIDE5LTM1LjggMjUuMy01NC44IDE0LjFzLTI1LjMtMzUuOC0xNC4xLTU0LjhsNzYuMS0xMjguOGM5LjQtMTUuOCAyMS43LTI5LjMgMzYtNDBMMzMxLjEgNTEwYy0zLjUgMS4zLTcuMiAyLTExLjEgMnpNMjk2IDMyMGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6XCJdXG59O1xudmFyIGZhQ2FydFNob3BwaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhcnQtc2hvcHBpbmcnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjg3MjIsIFwic2hvcHBpbmctY2FydFwiXSwgXCJmMDdhXCIsIFwiTTAgMjRDMCAxMC43IDEwLjcgMCAyNCAwSDY5LjVjMjIgMCA0MS41IDEyLjggNTAuNiAzMmg0MTFjMjYuMyAwIDQ1LjUgMjUgMzguNiA1MC40bC00MSAxNTIuM2MtOC41IDMxLjQtMzcgNTMuMy02OS41IDUzLjNIMTcwLjdsNS40IDI4LjVjMi4yIDExLjMgMTIuMSAxOS41IDIzLjYgMTkuNUg0ODhjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIMTk5LjdjLTM0LjYgMC02NC4zLTI0LjYtNzAuNy01OC41TDc3LjQgNTQuNWMtLjctMy44LTQtNi41LTcuOS02LjVIMjRDMTAuNyA0OCAwIDM3LjMgMCAyNHpNMTI4IDQ2NGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem0zMzYtNDhhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2elwiXVxufTtcbnZhciBmYVNob3BwaW5nQ2FydCA9IGZhQ2FydFNob3BwaW5nO1xudmFyIGZhVmlhbHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmlhbHMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY0OTNcIiwgXCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMkg4OGg0OCA1NmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMlY0MDBjMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBWOTZDMTQuMyA5NiAwIDgxLjcgMCA2NHpNMTM2IDk2SDg4VjI1Nmg0OFY5NnpNMjg4IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyaDU2IDQ4IDU2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyVjQwMGMwIDQ0LjItMzUuOCA4MC04MCA4MHMtODAtMzUuOC04MC04MFY5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTQyNCA5NkgzNzZWMjU2aDQ4Vjk2elwiXVxufTtcbnZhciBmYVBsdWdDaXJjbGVQbHVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsdWctY2lyY2xlLXBsdXMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1NWZcIiwgXCJNOTYgMEM3OC4zIDAgNjQgMTQuMyA2NCAzMnY5Nmg2NFYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMjg4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjk2aDY0VjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek0zMiAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ2MzJjMCA3Ny40IDU1IDE0MiAxMjggMTU2LjhWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWNDEyLjhjMTIuMy0yLjUgMjQuMS02LjQgMzUuMS0xMS41Yy0yLjEtMTAuOC0zLjEtMjEuOS0zLjEtMzMuM2MwLTgwLjMgNTMuOC0xNDggMTI3LjMtMTY5LjJjLjUtMi4yIC43LTQuNSAuNy02LjhjMC0xNy43LTE0LjMtMzItMzItMzJIMzJ6TTQzMiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0xNi0yMDh2NDhoNDhjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZINDQ4djQ4YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjM4NEgzNjhjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZoNDhWMzA0YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ6XCJdXG59O1xudmFyIGZhUGxhY2VPZldvcnNoaXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGxhY2Utb2Ytd29yc2hpcCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjY3ZlwiLCBcIk0yMjQgMTA5LjNWMjE3LjZMMTgzLjMgMjQyYy0xNC41IDguNy0yMy4zIDI0LjMtMjMuMyA0MS4yVjUxMmg5NlY0MTZjMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NHY5Nmg5NlYyODMuMmMwLTE2LjktOC44LTMyLjUtMjMuMy00MS4yTDQxNiAyMTcuNlYxMDkuM2MwLTguNS0zLjQtMTYuNi05LjQtMjIuNkwzMzEuMyAxMS4zYy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMEwyMzMuNCA4Ni42Yy02IDYtOS40IDE0LjEtOS40IDIyLjZ6TTI0LjkgMzMwLjNDOS41IDMzOC44IDAgMzU0LjkgMCAzNzIuNFY0NjRjMCAyNi41IDIxLjUgNDggNDggNDhoODBWMjczLjZMMjQuOSAzMzAuM3pNNTkyIDUxMmMyNi41IDAgNDgtMjEuNSA0OC00OFYzNzIuNGMwLTE3LjUtOS41LTMzLjYtMjQuOS00Mi4xTDUxMiAyNzMuNlY1MTJoODB6XCJdXG59O1xudmFyIGZhR3JpcFZlcnRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dyaXAtdmVydGljYWwnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcImY1OGVcIiwgXCJNNDAgMzUybDQ4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtNDggMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MHptMTkyIDBsNDggMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDQ4YzAgMjIuMS0xNy45IDQwLTQwIDQwbC00OCAwYy0yMi4xIDAtNDAtMTcuOS00MC00MGwwLTQ4YzAtMjIuMSAxNy45LTQwIDQwLTQwek00MCAzMjBjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtNDhjMC0yMi4xIDE3LjktNDAgNDAtNDBsNDggMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDQ4YzAgMjIuMS0xNy45IDQwLTQwIDQwbC00OCAwek0yMzIgMTkybDQ4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtNDggMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MHpNNDAgMTYwYy0yMi4xIDAtNDAtMTcuOS00MC00MEwwIDcyQzAgNDkuOSAxNy45IDMyIDQwIDMybDQ4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtNDggMHpNMjMyIDMybDQ4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtNDggMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MHpcIl1cbn07XG52YXIgZmFBcnJvd1R1cm5VcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy10dXJuLXVwJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXCJsZXZlbC11cFwiXSwgXCJmMTQ4XCIsIFwiTTMyIDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzUzIDAgOTYtNDMgOTYtOTZsMC0zMDYuNyA3My40IDczLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtMTI4LTEyOGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTEyOCAxMjhjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTYwIDEwOS4zIDE2MCA0MTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTk2IDB6XCJdXG59O1xudmFyIGZhTGV2ZWxVcCA9IGZhQXJyb3dUdXJuVXA7XG52YXIgZmFVID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3UnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMTddLCBcIjU1XCIsIFwiTTMyIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjI4OGMwIDcwLjcgNTcuMyAxMjggMTI4IDEyOHMxMjgtNTcuMyAxMjgtMTI4VjY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJWMjg4YzAgMTA2LTg2IDE5Mi0xOTIgMTkyUzAgMzk0IDAgMjg4VjY0QzAgNDYuMyAxNC4zIDMyIDMyIDMyelwiXVxufTtcbnZhciBmYVNxdWFyZVJvb3RWYXJpYWJsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUtcm9vdC12YXJpYWJsZScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wic3F1YXJlLXJvb3QtYWx0XCJdLCBcImY2OThcIiwgXCJNMjgyLjYgNzguMWM4LTI3LjMgMzMtNDYuMSA2MS40LTQ2LjFINTQ0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDM0NEwyMzguNyA0NTdjLTMuNiAxMi4zLTE0LjEgMjEuMi0yNi44IDIyLjhzLTI1LjEtNC42LTMxLjUtMTUuNkw3Ny42IDI4OEgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkg3Ny42YzIyLjggMCA0My44IDEyLjEgNTUuMyAzMS44bDY1LjIgMTExLjhMMjgyLjYgNzguMXpNMzkzLjQgMjMzLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBMNDgwIDI3NC43bDQxLjQtNDEuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zTDUyNS4zIDMyMGw0MS40IDQxLjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMNDgwIDM2NS4zbC00MS40IDQxLjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDQzNC43IDMyMGwtNDEuNC00MS40Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3pcIl1cbn07XG52YXIgZmFTcXVhcmVSb290QWx0ID0gZmFTcXVhcmVSb290VmFyaWFibGU7XG52YXIgZmFDbG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbG9jaycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODMzOSwgXCJjbG9jay1mb3VyXCJdLCBcImYwMTdcIiwgXCJNMjU2IDBhMjU2IDI1NiAwIDEgMSAwIDUxMkEyNTYgMjU2IDAgMSAxIDI1NiAwek0yMzIgMTIwVjI1NmMwIDggNCAxNS41IDEwLjcgMjBsOTYgNjRjMTEgNy40IDI1LjkgNC40IDMzLjMtNi43czQuNC0yNS45LTYuNy0zMy4zTDI4MCAyNDMuMlYxMjBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6XCJdXG59O1xudmFyIGZhQ2xvY2tGb3VyID0gZmFDbG9jaztcbnZhciBmYUJhY2t3YXJkU3RlcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYWNrd2FyZC1zdGVwJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJzdGVwLWJhY2t3YXJkXCJdLCBcImYwNDhcIiwgXCJNMjY3LjUgNDQwLjZjOS41IDcuOSAyMi44IDkuNyAzNC4xIDQuNHMxOC40LTE2LjYgMTguNC0yOVY5NmMwLTEyLjQtNy4yLTIzLjctMTguNC0yOXMtMjQuNS0zLjYtMzQuMSA0LjRsLTE5MiAxNjBMNjQgMjQxVjk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNzguMyAwIDk2VjQxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjI3MWwxMS41IDkuNiAxOTIgMTYwelwiXVxufTtcbnZhciBmYVN0ZXBCYWNrd2FyZCA9IGZhQmFja3dhcmRTdGVwO1xudmFyIGZhUGFsbGV0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BhbGxldCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjQ4MlwiLCBcIk0zMiAzMjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINjR2NjRIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJIOTYgMzIwIDU0NGg2NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg1NzZWMzg0aDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDU0NCAzMjAgOTYgMzJ6bTk2IDY0SDI4OHY2NEgxMjhWMzg0em0yMjQgMEg1MTJ2NjRIMzUyVjM4NHpcIl1cbn07XG52YXIgZmFGYXVjZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmF1Y2V0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMDA1XCIsIFwiTTE5MiA5NnYxMkw5NiA5NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5Ni0xMiAzMS0zLjkgMS0uMSAxIC4xIDMxIDMuOSA5NiAxMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMTJWOTZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ6TTMyIDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJIMTMyLjFjMjAuMiAyOSA1My45IDQ4IDkxLjkgNDhzNzEuNy0xOSA5MS45LTQ4SDM1MmMxNy43IDAgMzIgMTQuMyAzMiAzMnMxNC4zIDMyIDMyIDMyaDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMyYzAtODguNC03MS42LTE2MC0xNjAtMTYwSDMyMGwtMjIuNi0yMi42Yy02LTYtMTQuMS05LjQtMjIuNi05LjRIMjU2VjE4MC4ybC0zMi00LTMyIDRWMjI0SDE3My4zYy04LjUgMC0xNi42IDMuNC0yMi42IDkuNEwxMjggMjU2SDMyelwiXVxufTtcbnZhciBmYUJhc2ViYWxsQmF0QmFsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYXNlYmFsbC1iYXQtYmFsbCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjQzMlwiLCBcIk00MjQgMGMtMTIuNCAwLTI0LjIgNC45LTMzIDEzLjdMMjMzLjUgMTcxLjJjLTEwLjUgMTAuNS0xOS44IDIyLjEtMjcuNyAzNC42TDEzMi43IDMyMS42Yy03LjMgMTEuNS0xNS44IDIyLjItMjUuNSAzMS45TDY5LjkgMzkwLjdsNTEuMyA1MS4zIDM3LjMtMzcuM2M5LjYtOS42IDIwLjMtMTguMiAzMS45LTI1LjVsMTE1LjgtNzMuMWMxMi41LTcuOSAyNC4xLTE3LjIgMzQuNi0yNy43TDQ5OC4zIDEyMWM4LjctOC43IDEzLjctMjAuNiAxMy43LTMzcy00LjktMjQuMi0xMy43LTMzTDQ1NyAxMy43QzQ0OC4yIDQuOSA0MzYuNCAwIDQyNCAwem04OCA0MzJhODAgODAgMCAxIDAgLTE2MCAwIDgwIDgwIDAgMSAwIDE2MCAwek0xNSAzOTljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDY0IDY0YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw0OSAzOTljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwelwiXVxufTtcbnZhciBmYVMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncycsXG4gIGljb246IFszMjAsIDUxMiwgWzExNV0sIFwiNTNcIiwgXCJNOTkuMSAxMDUuNEM3OSAxMTQgNjguMiAxMjcuMiA2NS4yIDE0NC44Yy0yLjQgMTQuMS0uNyAyMy4yIDIgMjkuNGMyLjggNi4zIDcuOSAxMi40IDE2LjcgMTguNmMxOS4yIDEzLjQgNDguMyAyMi4xIDg0LjkgMzIuNWMxIC4zIDEuOSAuNiAyLjkgLjhjMzIuNyA5LjMgNzIgMjAuNiAxMDAuOSA0MC43YzE1LjcgMTAuOSAyOS45IDI1LjUgMzguNiA0NS4xYzguOCAxOS44IDEwLjggNDIgNi42IDY2LjNjLTcuMyA0Mi41LTM1LjMgNzEuNy03MS44IDg3LjNjLTM1LjQgMTUuMi03OS4xIDE3LjktMTIzLjcgMTAuOWwtLjIgMCAwIDBjLTI0LTMuOS02Mi43LTE3LjEtODcuNi0yNS42Yy00LjgtMS43LTkuMi0zLjEtMTIuOC00LjNDNS4xIDQ0MC44LTMuOSA0MjIuNyAxLjYgNDA1LjlzMjMuNy0yNS44IDQwLjUtMjAuM2M0LjkgMS42IDEwLjIgMy40IDE1LjkgNS40YzI1LjQgOC42IDU2LjQgMTkuMiA3NC40IDIyLjFjMzYuOCA1LjcgNjcuNSAyLjUgODguNS02LjVjMjAuMS04LjYgMzAuOC0yMS44IDMzLjktMzkuNGMyLjQtMTQuMSAuNy0yMy4yLTItMjkuNGMtMi44LTYuMy03LjktMTIuNC0xNi43LTE4LjZjLTE5LjItMTMuNC00OC4zLTIyLjEtODQuOS0zMi41Yy0xLS4zLTEuOS0uNi0yLjktLjhjLTMyLjctOS4zLTcyLTIwLjYtMTAwLjktNDAuN2MtMTUuNy0xMC45LTI5LjktMjUuNS0zOC42LTQ1LjFjLTguOC0xOS44LTEwLjgtNDItNi42LTY2LjNsMzEuNSA1LjVMMi4xIDEzMy45QzkuNCA5MS40IDM3LjQgNjIuMiA3My45IDQ2LjZjMzUuNC0xNS4yIDc5LjEtMTcuOSAxMjMuNy0xMC45YzEzIDIgNTIuNCA5LjYgNjYuNiAxMy40YzE3LjEgNC41IDI3LjIgMjIuMSAyMi43IDM5LjJzLTIyLjEgMjcuMi0zOS4yIDIyLjdjLTExLjItMy00OC4xLTEwLjItNjAuMS0xMmw0LjktMzEuNS00LjkgMzEuNWMtMzYuOS01LjgtNjcuNS0yLjUtODguNiA2LjV6XCJdXG59O1xudmFyIGZhVGltZWxpbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGltZWxpbmUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImUyOWNcIiwgXCJNMTI4IDcyYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMzIgOTcuM2MyOC4zLTEyLjMgNDgtNDAuNSA0OC03My4zYzAtNDQuMi0zNS44LTgwLTgwLTgwUzQ4IDUxLjggNDggOTZjMCAzMi44IDE5LjcgNjEgNDggNzMuM1YyMjRIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJIMjg4djU0LjdjLTI4LjMgMTIuMy00OCA0MC41LTQ4IDczLjNjMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MGMwLTMyLjgtMTkuNy02MS00OC03My4zVjI4OEg2MDhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINTQ0VjE2OS4zYzI4LjMtMTIuMyA0OC00MC41IDQ4LTczLjNjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBjMCAzMi44IDE5LjcgNjEgNDggNzMuM1YyMjRIMTYwVjE2OS4zek00ODggOTZhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpNMzIwIDM5MmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6XCJdXG59O1xudmFyIGZhS2V5Ym9hcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAna2V5Ym9hcmQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFs5MDAwXSwgXCJmMTFjXCIsIFwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4VjM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NEg1MTJjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0em0xNiA2NGgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZWMTQ0YzAtOC44IDcuMi0xNiAxNi0xNnpNNjQgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZWMjQwem0xNiA4MGgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZWMzM2YzAtOC44IDcuMi0xNiAxNi0xNnptODAtMTc2YzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDE3NmMtOC44IDAtMTYtNy4yLTE2LTE2VjE0NHptMTYgODBoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYyNDBjMC04LjggNy4yLTE2IDE2LTE2ek0xNjAgMzM2YzAtOC44IDcuMi0xNiAxNi0xNkg0MDBjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYzMzZ6TTI3MiAxMjhoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgyNzJjLTguOCAwLTE2LTcuMi0xNi0xNlYxNDRjMC04LjggNy4yLTE2IDE2LTE2ek0yNTYgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDI3MmMtOC44IDAtMTYtNy4yLTE2LTE2VjI0MHpNMzY4IDEyOGgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDM2OGMtOC44IDAtMTYtNy4yLTE2LTE2VjE0NGMwLTguOCA3LjItMTYgMTYtMTZ6TTM1MiAyNDBjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMzY4Yy04LjggMC0xNi03LjItMTYtMTZWMjQwek00NjQgMTI4aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZINDY0Yy04LjggMC0xNi03LjItMTYtMTZWMTQ0YzAtOC44IDcuMi0xNiAxNi0xNnpNNDQ4IDI0MGMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkg0NjRjLTguOCAwLTE2LTcuMi0xNi0xNlYyNDB6bTE2IDgwaDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZINDY0Yy04LjggMC0xNi03LjItMTYtMTZWMzM2YzAtOC44IDcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFDYXJldERvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FyZXQtZG93bicsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiZjBkN1wiLCBcIk0xMzcuNCAzNzQuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45cy0xNi42LTE5LjgtMjkuNi0xOS44TDMyIDE5MmMtMTIuOSAwLTI0LjYgNy44LTI5LjYgMTkuOHMtMi4yIDI1LjcgNi45IDM0LjlsMTI4IDEyOHpcIl1cbn07XG52YXIgZmFIb3VzZUNoaW1uZXlNZWRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLWNoaW1uZXktbWVkaWNhbCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiY2xpbmljLW1lZGljYWxcIl0sIFwiZjdmMlwiLCBcIk01NzUuOCAyNTUuNWMwIDE4LTE1IDMyLjEtMzIgMzIuMWgtMzJsLjcgMTYwLjJjLjIgMzUuNS0yOC41IDY0LjMtNjQgNjQuM0gxMjguMWMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMjg3LjZIMzJjLTE4IDAtMzItMTQtMzItMzIuMWMwLTkgMy0xNyAxMC0yNEwyNjYuNCA4YzctNyAxNS04IDIyLThzMTUgMiAyMSA3TDQxNiAxMDAuN1Y2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmgzMmMxNy43IDAgMzIgMTQuMyAzMiAzMlYxODVsNTIuOCA0Ni40YzggNyAxMiAxNSAxMSAyNHpNMjcyIDE5MmMtOC44IDAtMTYgNy4yLTE2IDE2djQ4SDIwOGMtOC44IDAtMTYgNy4yLTE2IDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNmg0OHY0OGMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjMyMGg0OGM4LjggMCAxNi03LjIgMTYtMTZWMjcyYzAtOC44LTcuMi0xNi0xNi0xNkgzMjBWMjA4YzAtOC44LTcuMi0xNi0xNi0xNkgyNzJ6XCJdXG59O1xudmFyIGZhQ2xpbmljTWVkaWNhbCA9IGZhSG91c2VDaGltbmV5TWVkaWNhbDtcbnZhciBmYVRlbXBlcmF0dXJlVGhyZWVRdWFydGVycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW1wZXJhdHVyZS10aHJlZS1xdWFydGVycycsXG4gIGljb246IFszMjAsIDUxMiwgW1widGVtcGVyYXR1cmUtM1wiLCBcInRoZXJtb21ldGVyLTNcIiwgXCJ0aGVybW9tZXRlci10aHJlZS1xdWFydGVyc1wiXSwgXCJmMmM4XCIsIFwiTTE2MCA2NGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhWMjc2LjVjMCAxNy4zLTcuMSAzMS45LTE1LjMgNDIuNUM4Ni4yIDMzMi42IDgwIDM0OS41IDgwIDM2OGMwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtMTguNS02LjItMzUuNC0xNi43LTQ4LjljLTguMi0xMC42LTE1LjMtMjUuMi0xNS4zLTQyLjVWMTEyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek00OCAxMTJDNDggNTAuMiA5OC4xIDAgMTYwIDBzMTEyIDUwLjEgMTEyIDExMlYyNzYuNWMwIC4xIC4xIC4zIC4yIC42Yy4yIC42IC44IDEuNiAxLjcgMi44YzE4LjkgMjQuNCAzMC4xIDU1IDMwLjEgODguMWMwIDc5LjUtNjQuNSAxNDQtMTQ0IDE0NFMxNiA0NDcuNSAxNiAzNjhjMC0zMy4yIDExLjItNjMuOCAzMC4xLTg4LjFjLjktMS4yIDEuNS0yLjIgMS43LTIuOGMuMS0uMyAuMi0uNSAuMi0uNlYxMTJ6TTIwOCAzNjhjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhjMC0yMC45IDEzLjQtMzguNyAzMi00NS4zVjE0NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2VjMyMi43YzE4LjYgNi42IDMyIDI0LjQgMzIgNDUuM3pcIl1cbn07XG52YXIgZmFUZW1wZXJhdHVyZTMgPSBmYVRlbXBlcmF0dXJlVGhyZWVRdWFydGVycztcbnZhciBmYVRoZXJtb21ldGVyMyA9IGZhVGVtcGVyYXR1cmVUaHJlZVF1YXJ0ZXJzO1xudmFyIGZhVGhlcm1vbWV0ZXJUaHJlZVF1YXJ0ZXJzID0gZmFUZW1wZXJhdHVyZVRocmVlUXVhcnRlcnM7XG52YXIgZmFNb2JpbGVTY3JlZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9iaWxlLXNjcmVlbicsXG4gIGljb246IFszODQsIDUxMiwgW1wibW9iaWxlLWFuZHJvaWQtYWx0XCJdLCBcImYzY2ZcIiwgXCJNMTYgNjRDMTYgMjguNyA0NC43IDAgODAgMEgzMDRjMzUuMyAwIDY0IDI4LjcgNjQgNjRWNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0SDgwYy0zNS4zIDAtNjQtMjguNy02NC02NFY2NHpNMTQ0IDQ0OGMwIDguOCA3LjIgMTYgMTYgMTZoNjRjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIMTYwYy04LjggMC0xNiA3LjItMTYgMTZ6TTMwNCA2NEg4MFYzODRIMzA0VjY0elwiXVxufTtcbnZhciBmYU1vYmlsZUFuZHJvaWRBbHQgPSBmYU1vYmlsZVNjcmVlbjtcbnZhciBmYVBsYW5lVXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGxhbmUtdXAnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImUyMmRcIiwgXCJNMTkyIDkzLjdDMTkyIDU5LjUgMjIxIDAgMjU2IDBjMzYgMCA2NCA1OS41IDY0IDkzLjdsMCA2Ni4zTDQ5Ny44IDI3OC41YzguOSA1LjkgMTQuMiAxNS45IDE0LjIgMjYuNnY1Ni43YzAgMTAuOS0xMC43IDE4LjYtMjEuMSAxNS4yTDMyMCAzMjB2ODBsNTcuNiA0My4yYzQgMyA2LjQgNy44IDYuNCAxMi44djQyYzAgNy44LTYuMyAxNC0xNCAxNGMtMS4zIDAtMi42LS4yLTMuOS0uNUwyNTYgNDgwIDE0NS45IDUxMS41Yy0xLjMgLjQtMi42IC41LTMuOSAuNWMtNy44IDAtMTQtNi4zLTE0LTE0VjQ1NmMwLTUgMi40LTkuOCA2LjQtMTIuOEwxOTIgNDAwVjMyMEwyMS4xIDM3N0MxMC43IDM4MC40IDAgMzcyLjcgMCAzNjEuOFYzMDUuMWMwLTEwLjcgNS4zLTIwLjcgMTQuMi0yNi42TDE5MiAxNjBWOTMuN3pcIl1cbn07XG52YXIgZmFQaWdneUJhbmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGlnZ3ktYmFuaycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjRkM1wiLCBcIk00MDAgOTZsMCAuN2MtNS4zLS40LTEwLjYtLjctMTYtLjdIMjU2Yy0xNi41IDAtMzIuNSAyLjEtNDcuOCA2Yy0uMS0yLS4yLTQtLjItNmMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2em0tMTYgMzJjMy41IDAgNyAuMSAxMC40IC4zYzQuMiAuMyA4LjQgLjcgMTIuNiAxLjNDNDI0LjYgMTA5LjEgNDUwLjggOTYgNDgwIDk2aDExLjVjMTAuNCAwIDE4IDkuOCAxNS41IDE5LjlsLTEzLjggNTUuMmMxNS44IDE0LjggMjguNyAzMi44IDM3LjUgNTIuOUg1NDRjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJINTEyYy05LjEgMTIuMS0xOS45IDIyLjktMzIgMzJ2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJINDE2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlY0NDhIMjU2djMyYzAgMTcuNy0xNC4zIDMyLTMyIDMySDE5MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDE2Yy0zNC45LTI2LjItNTguNy02Ni4zLTYzLjItMTEySDY4Yy0zNy42IDAtNjgtMzAuNC02OC02OHMzMC40LTY4IDY4LTY4aDRjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRINjhjLTExIDAtMjAgOS0yMCAyMHM5IDIwIDIwIDIwSDk5LjJjMTIuMS01OS44IDU3LjctMTA3LjUgMTE2LjMtMTIyLjhjMTIuOS0zLjQgMjYuNS01LjIgNDAuNS01LjJIMzg0em02NCAxMzZhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpcIl1cbn07XG52YXIgZmFCYXR0ZXJ5SGFsZiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYXR0ZXJ5LWhhbGYnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImJhdHRlcnktM1wiXSwgXCJmMjQyXCIsIFwiTTQ2NCAxNjBjOC44IDAgMTYgNy4yIDE2IDE2VjMzNmMwIDguOC03LjIgMTYtMTYgMTZIODBjLTguOCAwLTE2LTcuMi0xNi0xNlYxNzZjMC04LjggNy4yLTE2IDE2LTE2SDQ2NHpNODAgOTZDMzUuOCA5NiAwIDEzMS44IDAgMTc2VjMzNmMwIDQ0LjIgMzUuOCA4MCA4MCA4MEg0NjRjNDQuMiAwIDgwLTM1LjggODAtODBWMzIwYzE3LjcgMCAzMi0xNC4zIDMyLTMyVjIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMlYxNzZjMC00NC4yLTM1LjgtODAtODAtODBIODB6bTIwOCA5Nkg5NlYzMjBIMjg4VjE5MnpcIl1cbn07XG52YXIgZmFCYXR0ZXJ5MyA9IGZhQmF0dGVyeUhhbGY7XG52YXIgZmFNb3VudGFpbkNpdHkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW91bnRhaW4tY2l0eScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUyZVwiLCBcIk0zMzYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDh2OTIuMWw3MS40IDExOC40YzIuNS0xLjYgNS40LTIuNSA4LjYtMi41aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZoLTMuNWw3My44IDEyMi40YzEyLjQgMjAuNiAxMi45IDQ2LjMgMS4yIDY3LjNjLS40IC44LS45IDEuNi0xLjQgMi4zSDU5MmMyNi41IDAgNDgtMjEuNSA0OC00OFYyNDBjMC0yNi41LTIxLjUtNDgtNDgtNDhINTY4VjEyMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHY3Mkg0ODBWNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhIMzM2em0zMiA2NGgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDM2OGMtOC44IDAtMTYtNy4yLTE2LTE2VjgwYzAtOC44IDcuMi0xNiAxNi0xNnpNMzUyIDE3NmMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgzNjhjLTguOCAwLTE2LTcuMi0xNi0xNlYxNzZ6bTE2MCA5NmMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkg1MjhjLTguOCAwLTE2LTcuMi0xNi0xNlYyNzJ6bTE2IDgwaDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZINTI4Yy04LjggMC0xNi03LjItMTYtMTZWMzY4YzAtOC44IDcuMi0xNiAxNi0xNnpNMjI0IDE4OC45TDI4My44IDI4OEgyMjNsLTQ4IDY0LTI0LjYtNDEuMkwyMjQgMTg4Ljl6bTI5LjQtNDQuMkMyNDcuMSAxMzQuMyAyMzYgMTI4IDIyNCAxMjhzLTIzLjEgNi4zLTI5LjQgMTYuN0w1LjEgNDU4LjljLTYuNSAxMC44LTYuNyAyNC4zLS43IDM1LjNTMjIgNTEyIDM0LjUgNTEySDQxMy41YzEyLjUgMCAyNC02LjggMzAuMS0xNy44czUuOC0yNC41LS43LTM1LjNMMjUzLjQgMTQ0Ljd6XCJdXG59O1xudmFyIGZhQ29pbnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29pbnMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1MWVcIiwgXCJNNTEyIDgwYzAgMTgtMTQuMyAzNC42LTM4LjQgNDhjLTI5LjEgMTYuMS03Mi41IDI3LjUtMTIyLjMgMzAuOWMtMy43LTEuOC03LjQtMy41LTExLjMtNUMzMDAuNiAxMzcuNCAyNDguMiAxMjggMTkyIDEyOGMtOC4zIDAtMTYuNCAuMi0yNC41IC42bC0xLjEtLjZDMTQyLjMgMTE0LjYgMTI4IDk4IDEyOCA4MGMwLTQ0LjIgODYtODAgMTkyLTgwUzUxMiAzNS44IDUxMiA4MHpNMTYwLjcgMTYxLjFjMTAuMi0uNyAyMC43LTEuMSAzMS4zLTEuMWM2Mi4yIDAgMTE3LjQgMTIuMyAxNTIuNSAzMS40QzM2OS4zIDIwNC45IDM4NCAyMjEuNyAzODQgMjQwYzAgNC0uNyA3LjktMi4xIDExLjdjLTQuNiAxMy4yLTE3IDI1LjMtMzUgMzUuNWMwIDAgMCAwIDAgMGMtLjEgLjEtLjMgLjEtLjQgLjJsMCAwIDAgMGMtLjMgLjItLjYgLjMtLjkgLjVjLTM1IDE5LjQtOTAuOCAzMi0xNTMuNiAzMmMtNTkuNiAwLTExMi45LTExLjMtMTQ4LjItMjkuMWMtMS45LS45LTMuNy0xLjktNS41LTIuOUMxNC4zIDI3NC42IDAgMjU4IDAgMjQwYzAtMzQuOCA1My40LTY0LjUgMTI4LTc1LjRjMTAuNS0xLjUgMjEuNC0yLjcgMzIuNy0zLjV6TTQxNiAyNDBjMC0yMS45LTEwLjYtMzkuOS0yNC4xLTUzLjRjMjguMy00LjQgNTQuMi0xMS40IDc2LjItMjAuNWMxNi4zLTYuOCAzMS41LTE1LjIgNDMuOS0yNS41VjE3NmMwIDE5LjMtMTYuNSAzNy4xLTQzLjggNTAuOWMtMTQuNiA3LjQtMzIuNCAxMy43LTUyLjQgMTguNWMuMS0xLjggLjItMy41IC4yLTUuM3ptLTMyIDk2YzAgMTgtMTQuMyAzNC42LTM4LjQgNDhjLTEuOCAxLTMuNiAxLjktNS41IDIuOUMzMDQuOSA0MDQuNyAyNTEuNiA0MTYgMTkyIDQxNmMtNjIuOCAwLTExOC42LTEyLjYtMTUzLjYtMzJDMTQuMyAzNzAuNiAwIDM1NCAwIDMzNlYzMDAuNmMxMi41IDEwLjMgMjcuNiAxOC43IDQzLjkgMjUuNUM4My40IDM0Mi42IDEzNS44IDM1MiAxOTIgMzUyczEwOC42LTkuNCAxNDguMS0yNS45YzcuOC0zLjIgMTUuMy02LjkgMjIuNC0xMC45YzYuMS0zLjQgMTEuOC03LjIgMTcuMi0xMS4yYzEuNS0xLjEgMi45LTIuMyA0LjMtMy40VjMwNHY1LjdWMzM2em0zMiAwVjMwNCAyNzguMWMxOS00LjIgMzYuNS05LjUgNTIuMS0xNmMxNi4zLTYuOCAzMS41LTE1LjIgNDMuOS0yNS41VjI3MmMwIDEwLjUtNSAyMS0xNC45IDMwLjljLTE2LjMgMTYuMy00NSAyOS43LTgxLjMgMzguNGMuMS0xLjcgLjItMy41IC4yLTUuM3pNMTkyIDQ0OGM1Ni4yIDAgMTA4LjYtOS40IDE0OC4xLTI1LjljMTYuMy02LjggMzEuNS0xNS4yIDQzLjktMjUuNVY0MzJjMCA0NC4yLTg2IDgwLTE5MiA4MFMwIDQ3Ni4yIDAgNDMyVjM5Ni42YzEyLjUgMTAuMyAyNy42IDE4LjcgNDMuOSAyNS41QzgzLjQgNDM4LjYgMTM1LjggNDQ4IDE5MiA0NDh6XCJdXG59O1xudmFyIGZhS2hhbmRhID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2toYW5kYScsXG4gIGljb246IFs1MTIsIDUxMiwgWzk3NzJdLCBcImY2NmRcIiwgXCJNMjQ1LjggMy43YzUuOS00LjkgMTQuNi00LjkgMjAuNSAwbDQ4IDQwYzUuOSA0LjkgNy41IDEzLjIgMy44IDE5LjlsMCAwIDAgMCAwIDAgMCAwLS4xIC4xLS4zIC42Yy0uMyAuNS0uNyAxLjMtMS4yIDIuM2MtMSAyLTIuNiA1LTQuNCA4LjZjLS41IC45LS45IDEuOS0xLjQgMi45QzM0NC45IDk3LjQgMzY4IDEzNCAzNjggMTc2cy0yMy4xIDc4LjYtNTcuMyA5Ny44Yy41IDEgMSAyIDEuNCAyLjljMS44IDMuNyAzLjMgNi42IDQuNCA4LjZjLjUgMSAuOSAxLjggMS4yIDIuM2wuMyAuNiAuMSAuMSAwIDAgMCAwYzMuNiA2LjcgMiAxNS0zLjggMTkuOUwyNzIgMzQzLjV2MTkuOGwzNS42LTI0LjUgNDEuMS0yOC4yYzQyLjgtMjkuNCA2OC40LTc4IDY4LjQtMTMwYzAtMzEuMS05LjItNjEuNi0yNi41LTg3LjVsLTIuOC00LjJjLTQtNi0zLjUtMTQgMS4zLTE5LjVzMTIuNy03IDE5LjItMy43TDQwMS4xIDgwYzcuMi0xNC4zIDcuMi0xNC4zIDcuMi0xNC4zbDAgMCAwIDAgLjEgMCAuMyAuMiAxIC41Yy44IC40IDIgMS4xIDMuNSAxLjljMi45IDEuNyA3IDQuMSAxMS44IDcuM2M5LjYgNi40IDIyLjUgMTYuMSAzNS40IDI5YzI1LjcgMjUuNyA1Mi43IDY1LjYgNTIuNyAxMTkuM2MwIDUzLjEtMjYuNCAxMDAuNS01MS4yIDEzMy42Yy0xMi42IDE2LjctMjUuMSAzMC4zLTM0LjUgMzkuN2MtNC43IDQuNy04LjcgOC40LTExLjUgMTAuOWMtMS40IDEuMy0yLjUgMi4yLTMuMyAyLjlsLS45IC44LS4zIC4yLS4xIC4xIDAgMCAwIDBzMCAwLTEwLjItMTIuM2wxMC4yIDEyLjNjLTUuMSA0LjMtMTIuNCA0LjktMTguMiAxLjZsLTc1LjYtNDMtMzIuNyAyMi41IDQ1LjUgMzEuM2MxLjgtLjQgMy43LS43IDUuNy0uN2MxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtMTIuMiAwLTIyLjMtOS4xLTIzLjgtMjFMMjcyIDQyMy40djI4LjljOS42IDUuNSAxNiAxNS45IDE2IDI3LjdjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJjMC0xMS44IDYuNC0yMi4yIDE2LTI3LjdWNDI0LjFsLTQwLjMgMjcuN0MxOTcuOCA0NjMuMyAxODcuOSA0NzIgMTc2IDQ3MmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGMyLjIgMCA0LjQgLjMgNi41IC45bDQ1LjgtMzEuNS0zMi43LTIyLjUtNzUuNiA0M2MtNS44IDMuMy0xMyAyLjctMTguMi0xLjZMMTEyIDQwMGMtMTAuMiAxMi4zLTEwLjIgMTIuMy0xMC4zIDEyLjNsMCAwIDAgMC0uMS0uMS0uMy0uMi0uOS0uOGMtLjgtLjctMS45LTEuNy0zLjMtMi45Yy0yLjgtMi41LTYuNy02LjItMTEuNS0xMC45Yy05LjQtOS40LTIxLjktMjMtMzQuNS0zOS43QzI2LjQgMzI0LjUgMCAyNzcuMSAwIDIyNGMwLTUzLjcgMjYuOS05My42IDUyLjctMTE5LjNjMTIuOS0xMi45IDI1LjgtMjIuNiAzNS40LTI5QzkzIDcyLjUgOTcgNzAgOTkuOSA2OC40YzEuNS0uOCAyLjYtMS41IDMuNS0xLjlsMS0uNSAuMy0uMiAuMSAwIDAgMCAwIDBzMCAwIDcuMiAxNC4zbC03LjItMTQuM2M2LjUtMy4yIDE0LjMtMS43IDE5LjIgMy43czUuMyAxMy40IDEuMyAxOS41bC0yLjggNC4yQzEwNS4yIDExOSA5NiAxNDkuNSA5NiAxODAuNmMwIDUxLjkgMjUuNiAxMDAuNiA2OC40IDEzMGw0MS4xIDI4LjJMMjQwIDM2Mi42VjM0My41bC00Mi4yLTM1LjJjLTUuOS00LjktNy41LTEzLjItMy44LTE5LjlsMCAwIDAgMCAwIDAgLjEtLjEgLjMtLjZjLjMtLjUgLjctMS4zIDEuMi0yLjNjMS0yIDIuNi01IDQuNC04LjZjLjUtLjkgLjktMS45IDEuNC0yLjlDMTY3LjEgMjU0LjYgMTQ0IDIxOCAxNDQgMTc2czIzLjEtNzguNiA1Ny4zLTk3LjhjLS41LTEtMS0yLTEuNC0yLjljLTEuOC0zLjctMy4zLTYuNi00LjQtOC42Yy0uNS0xLS45LTEuOC0xLjItMi4zbC0uMy0uNi0uMS0uMSAwIDAgMCAwIDAgMGMtMy42LTYuNy0yLTE1IDMuOC0xOS45bDQ4LTQwek0yMjAuMiAxMjIuOWMtMTcgMTEuNS0yOC4yIDMxLTI4LjIgNTMuMXMxMS4yIDQxLjYgMjguMiA1My4xQzIyNyAyMTAuMiAyMzIgMTkwLjkgMjMyIDE3NnMtNS0zNC4yLTExLjgtNTMuMXptNzEuNSAxMDYuMmMxNy0xMS41IDI4LjItMzEgMjguMi01My4xcy0xMS4yLTQxLjYtMjguMi01My4xQzI4NSAxNDEuOCAyODAgMTYxLjEgMjgwIDE3NnM1IDM0LjIgMTEuOCA1My4xelwiXVxufTtcbnZhciBmYVNsaWRlcnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2xpZGVycycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wic2xpZGVycy1oXCJdLCBcImYxZGVcIiwgXCJNMCA0MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsNTQuNyAwYzEyLjMgMjguMyA0MC41IDQ4IDczLjMgNDhzNjEtMTkuNyA3My4zLTQ4TDQ4MCA0NDhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI0Ni43IDBjLTEyLjMtMjguMy00MC41LTQ4LTczLjMtNDhzLTYxIDE5LjctNzMuMyA0OEwzMiAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem0xMjggMGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0zMjAgMjU2YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTMyLTgwYy0zMi44IDAtNjEgMTkuNy03My4zIDQ4TDMyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyNDYuNyAwYzEyLjMgMjguMyA0MC41IDQ4IDczLjMgNDhzNjEtMTkuNyA3My4zLTQ4bDU0LjcgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNTQuNyAwYy0xMi4zLTI4LjMtNDAuNS00OC03My4zLTQ4ek0xOTIgMTI4YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHptNzMuMy02NEMyNTMgMzUuNyAyMjQuOCAxNiAxOTIgMTZzLTYxIDE5LjctNzMuMyA0OEwzMiA2NEMxNC4zIDY0IDAgNzguMyAwIDk2czE0LjMgMzIgMzIgMzJsODYuNyAwYzEyLjMgMjguMyA0MC41IDQ4IDczLjMgNDhzNjEtMTkuNyA3My4zLTQ4TDQ4MCAxMjhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMjY1LjMgNjR6XCJdXG59O1xudmFyIGZhU2xpZGVyc0ggPSBmYVNsaWRlcnM7XG52YXIgZmFGb2xkZXJUcmVlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZvbGRlci10cmVlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmODAyXCIsIFwiTTY0IDMyQzY0IDE0LjMgNDkuNyAwIDMyIDBTMCAxNC4zIDAgMzJ2OTZWMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0SDI1NlYzODRINjRWMTYwSDI1NlY5Nkg2NFYzMnpNMjg4IDE5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMkg1NDRjMTcuNyAwIDMyLTE0LjMgMzItMzJWNjRjMC0xNy43LTE0LjMtMzItMzItMzJINDQ1LjNjLTguNSAwLTE2LjYtMy40LTIyLjYtOS40TDQwOS40IDkuNGMtNi02LTE0LjEtOS40LTIyLjYtOS40SDMyMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJWMTkyem0wIDI4OGMwIDE3LjcgMTQuMyAzMiAzMiAzMkg1NDRjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzUyYzAtMTcuNy0xNC4zLTMyLTMyLTMySDQ0NS4zYy04LjUgMC0xNi42LTMuNC0yMi42LTkuNGwtMTMuMy0xMy4zYy02LTYtMTQuMS05LjQtMjIuNi05LjRIMzIwYy0xNy43IDAtMzIgMTQuMy0zMiAzMlY0ODB6XCJdXG59O1xudmFyIGZhTmV0d29ya1dpcmVkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ25ldHdvcmstd2lyZWQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY2ZmZcIiwgXCJNMjU2IDY0SDM4NHY2NEgyNTZWNjR6TTI0MCAwYy0yNi41IDAtNDggMjEuNS00OCA0OHY5NmMwIDI2LjUgMjEuNSA0OCA0OCA0OGg0OHYzMkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmg5NnYzMkg4MGMtMjYuNSAwLTQ4IDIxLjUtNDggNDh2OTZjMCAyNi41IDIxLjUgNDggNDggNDhIMjQwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjM2OGMwLTI2LjUtMjEuNS00OC00OC00OEgxOTJWMjg4SDQ0OHYzMkg0MDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4djk2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDU2MGMyNi41IDAgNDgtMjEuNSA0OC00OFYzNjhjMC0yNi41LTIxLjUtNDgtNDgtNDhINTEyVjI4OGg5NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzNTJWMTkyaDQ4YzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDI0MHpNOTYgNDQ4VjM4NEgyMjR2NjRIOTZ6bTMyMC02NEg1NDR2NjRINDE2VjM4NHpcIl1cbn07XG52YXIgZmFNYXBQaW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFwLXBpbicsXG4gIGljb246IFszMjAsIDUxMiwgWzEyODIwNV0sIFwiZjI3NlwiLCBcIk0xNiAxNDRhMTQ0IDE0NCAwIDEgMSAyODggMEExNDQgMTQ0IDAgMSAxIDE2IDE0NHpNMTYwIDgwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2Yy01MyAwLTk2IDQzLTk2IDk2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZjMC0zNS4zIDI4LjctNjQgNjQtNjR6TTEyOCA0ODBWMzE3LjFjMTAuNCAxLjkgMjEuMSAyLjkgMzIgMi45czIxLjYtMSAzMi0yLjlWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyelwiXVxufTtcbnZhciBmYUhhbXNhID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbXNhJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNjY1XCIsIFwiTTM0LjYgMjg4SDgwYzguOCAwIDE2LTcuMiAxNi0xNlY3MmMwLTIyLjEgMTcuOS00MCA0MC00MHM0MCAxNy45IDQwIDQwVjIwNGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMFY0MGMwLTIyLjEgMTcuOS00MCA0MC00MHM0MCAxNy45IDQwIDQwVjIwNGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMFY3MmMwLTIyLjEgMTcuOS00MCA0MC00MHM0MCAxNy45IDQwIDQwVjI3MmMwIDguOCA3LjIgMTYgMTYgMTZoNDUuNGMxOS4xIDAgMzQuNiAxNS41IDM0LjYgMzQuNmMwIDguNi0zLjIgMTYuOS05IDIzLjNMNDE2LjYgNDQxYy00MS4xIDQ1LjItOTkuNCA3MS0xNjAuNiA3MXMtMTE5LjQtMjUuOC0xNjAuNi03MUw5IDM0NS45Yy01LjgtNi40LTktMTQuNy05LTIzLjNDMCAzMDMuNSAxNS41IDI4OCAzNC42IDI4OHpNMjU2IDI4OGMtMzguNCAwLTc2LjggMzUuOC05MC42IDUwLjJjLTMuNiAzLjctNS40IDguNy01LjQgMTMuOHMxLjggMTAuMSA1LjQgMTMuOEMxNzkuMiAzODAuMiAyMTcuNiA0MTYgMjU2IDQxNnM3Ni44LTM1LjggOTAuNi01MC4yYzMuNi0zLjcgNS40LTguNyA1LjQtMTMuOHMtMS44LTEwLjEtNS40LTEzLjhDMzMyLjggMzIzLjggMjk0LjQgMjg4IDI1NiAyODh6bTAgMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbnZhciBmYUNlbnRTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NlbnQtc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTNmNVwiLCBcIk0yMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMlY2Ni43YzMwLjkgNS4yIDU5LjIgMTcuNyA4My4yIDM1LjhjMTQuMSAxMC42IDE3IDMwLjcgNi40IDQ0LjhzLTMwLjcgMTctNDQuOCA2LjRDMjc5LjQgMTM3LjUgMjUyLjkgMTI4IDIyNCAxMjhjLTcwLjcgMC0xMjggNTcuMy0xMjggMTI4czU3LjMgMTI4IDEyOCAxMjhjMjguOSAwIDU1LjQtOS41IDc2LjgtMjUuNmMxNC4xLTEwLjYgMzQuMi03LjggNDQuOCA2LjRzNy44IDM0LjItNi40IDQ0LjhjLTI0IDE4LTUyLjQgMzAuNi04My4yIDM1LjhWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjQ0NS4zQzEwMS4yIDQzMC4xIDMyIDM1MS4xIDMyIDI1NnM2OS4yLTE3NC4xIDE2MC0xODkuM1YzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpcIl1cbn07XG52YXIgZmFGbGFzayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmbGFzaycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjBjM1wiLCBcIk0yODggMEgxNjAgMTI4QzExMC4zIDAgOTYgMTQuMyA5NiAzMnMxNC4zIDMyIDMyIDMyVjE5Ni44YzAgMTEuOC0zLjMgMjMuNS05LjUgMzMuNUwxMC4zIDQwNi4yQzMuNiA0MTcuMiAwIDQyOS43IDAgNDQyLjZDMCA0ODAuOSAzMS4xIDUxMiA2OS40IDUxMkgzNzguNmMzOC4zIDAgNjkuNC0zMS4xIDY5LjQtNjkuNGMwLTEyLjgtMy42LTI1LjQtMTAuMy0zNi40TDMyOS41IDIzMC40Yy02LjItMTAuMS05LjUtMjEuNy05LjUtMzMuNVY2NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgyODh6TTE5MiAxOTYuOFY2NGg2NFYxOTYuOGMwIDIzLjcgNi42IDQ2LjkgMTkgNjcuMUwzMDkuNSAzMjBoLTE3MUwxNzMgMjYzLjljMTIuNC0yMC4yIDE5LTQzLjQgMTktNjcuMXpcIl1cbn07XG52YXIgZmFQZXJzb25QcmVnbmFudCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tcHJlZ25hbnQnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUzMWVcIiwgXCJNMTkyIDBhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2ek0xMjAgMzgzYy0xMy44LTMuNi0yNC0xNi4xLTI0LTMxVjI5Ni45bC00LjYgNy42Yy05LjEgMTUuMS0yOC44IDIwLTQzLjkgMTAuOXMtMjAtMjguOC0xMC45LTQzLjlsNTguMy05N2MxNS0yNC45IDQwLjMtNDEuNSA2OC43LTQ1LjZjNC4xLS42IDguMi0xIDEyLjUtMWgxLjEgMTIuNUgxOTJjMS40IDAgMi44IC4xIDQuMSAuM2MzNS43IDIuOSA2NS40IDI5LjMgNzIuMSA2NWw2LjEgMzIuNWM0NC4zIDguNiA3Ny43IDQ3LjUgNzcuNyA5NC4zdjMyYzAgMTcuNy0xNC4zIDMyLTMyIDMySDMwNCAyNjR2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzg0aC04LTh2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzgzelwiXVxufTtcbnZhciBmYVdhbmRTcGFya2xlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3YW5kLXNwYXJrbGVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNzJiXCIsIFwiTTQ2NCA2LjFjOS41LTguNSAyNC04LjEgMzMgLjlsOCA4YzkgOSA5LjQgMjMuNSAuOSAzM2wtODUuOCA5NS45Yy0yLjYgMi45LTQuMSA2LjctNC4xIDEwLjdWMTc2YzAgOC44LTcuMiAxNi0xNiAxNkgzODQuMmMtNC42IDAtOC45IDEuOS0xMS45IDUuM0wxMDAuNyA1MDAuOUM5NC4zIDUwOCA4NS4zIDUxMiA3NS44IDUxMmMtOC44IDAtMTcuMy0zLjUtMjMuNS05LjhMOS43IDQ1OS43QzMuNSA0NTMuNCAwIDQ0NSAwIDQzNi4yYzAtOS41IDQtMTguNSAxMS4xLTI0LjhsMTExLjYtOTkuOGMzLjQtMyA1LjMtNy40IDUuMy0xMS45VjI3MmMwLTguOCA3LjItMTYgMTYtMTZoMzQuNmMzLjkgMCA3LjctMS41IDEwLjctNC4xTDQ2NCA2LjF6TTQzMiAyODhjMy42IDAgNi43IDIuNCA3LjcgNS44bDE0LjggNTEuNyA1MS43IDE0LjhjMy40IDEgNS44IDQuMSA1LjggNy43cy0yLjQgNi43LTUuOCA3LjdsLTUxLjcgMTQuOC0xNC44IDUxLjdjLTEgMy40LTQuMSA1LjgtNy43IDUuOHMtNi43LTIuNC03LjctNS44bC0xNC44LTUxLjctNTEuNy0xNC44Yy0zLjQtMS01LjgtNC4xLTUuOC03LjdzMi40LTYuNyA1LjgtNy43bDUxLjctMTQuOCAxNC44LTUxLjdjMS0zLjQgNC4xLTUuOCA3LjctNS44ek04Ny43IDY5LjhsMTQuOCA1MS43IDUxLjcgMTQuOGMzLjQgMSA1LjggNC4xIDUuOCA3LjdzLTIuNCA2LjctNS44IDcuN2wtNTEuNyAxNC44TDg3LjcgMjE4LjJjLTEgMy40LTQuMSA1LjgtNy43IDUuOHMtNi43LTIuNC03LjctNS44TDU3LjUgMTY2LjUgNS44IDE1MS43Yy0zLjQtMS01LjgtNC4xLTUuOC03LjdzMi40LTYuNyA1LjgtNy43bDUxLjctMTQuOEw3Mi4zIDY5LjhjMS0zLjQgNC4xLTUuOCA3LjctNS44czYuNyAyLjQgNy43IDUuOHpNMjA4IDBjMy43IDAgNi45IDIuNSA3LjggNi4xbDYuOCAyNy4zIDI3LjMgNi44YzMuNiAuOSA2LjEgNC4xIDYuMSA3LjhzLTIuNSA2LjktNi4xIDcuOGwtMjcuMyA2LjgtNi44IDI3LjNjLS45IDMuNi00LjEgNi4xLTcuOCA2LjFzLTYuOS0yLjUtNy44LTYuMWwtNi44LTI3LjMtMjcuMy02LjhjLTMuNi0uOS02LjEtNC4xLTYuMS03LjhzMi41LTYuOSA2LjEtNy44bDI3LjMtNi44IDYuOC0yNy4zYy45LTMuNiA0LjEtNi4xIDcuOC02LjF6XCJdXG59O1xudmFyIGZhRWxsaXBzaXNWZXJ0aWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdlbGxpcHNpcy12ZXJ0aWNhbCcsXG4gIGljb246IFsxMjgsIDUxMiwgW1wiZWxsaXBzaXMtdlwiXSwgXCJmMTQyXCIsIFwiTTY0IDM2MGE1NiA1NiAwIDEgMCAwIDExMiA1NiA1NiAwIDEgMCAwLTExMnptMC0xNjBhNTYgNTYgMCAxIDAgMCAxMTIgNTYgNTYgMCAxIDAgMC0xMTJ6TTEyMCA5NkE1NiA1NiAwIDEgMCA4IDk2YTU2IDU2IDAgMSAwIDExMiAwelwiXVxufTtcbnZhciBmYUVsbGlwc2lzViA9IGZhRWxsaXBzaXNWZXJ0aWNhbDtcbnZhciBmYVRpY2tldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0aWNrZXQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjc5MDNdLCBcImYxNDVcIiwgXCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjh2NjRjMCA4LjggNy40IDE1LjcgMTUuNyAxOC42QzM0LjUgMjE3LjEgNDggMjM1IDQ4IDI1NnMtMTMuNSAzOC45LTMyLjMgNDUuNEM3LjQgMzA0LjMgMCAzMTEuMiAwIDMyMHY2NGMwIDM1LjMgMjguNyA2NCA2NCA2NEg1MTJjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMzIwYzAtOC44LTcuNC0xNS43LTE1LjctMTguNkM1NDEuNSAyOTQuOSA1MjggMjc3IDUyOCAyNTZzMTMuNS0zOC45IDMyLjMtNDUuNGM4LjMtMi45IDE1LjctOS44IDE1LjctMTguNlYxMjhjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6bTY0IDExMmwwIDE2MGMwIDguOCA3LjIgMTYgMTYgMTZINDMyYzguOCAwIDE2LTcuMiAxNi0xNlYxNzZjMC04LjgtNy4yLTE2LTE2LTE2SDE0NGMtOC44IDAtMTYgNy4yLTE2IDE2ek05NiAxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJINDQ4YzE3LjcgMCAzMiAxNC4zIDMyIDMyVjM1MmMwIDE3LjctMTQuMyAzMi0zMiAzMkgxMjhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjE2MHpcIl1cbn07XG52YXIgZmFQb3dlck9mZiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwb3dlci1vZmYnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5MjExXSwgXCJmMDExXCIsIFwiTTI4OCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlYyNTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzMnpNMTQzLjUgMTIwLjZjMTMuNi0xMS4zIDE1LjQtMzEuNSA0LjEtNDUuMXMtMzEuNS0xNS40LTQ1LjEtNC4xQzQ5LjcgMTE1LjQgMTYgMTgxLjggMTYgMjU2YzAgMTMyLjUgMTA3LjUgMjQwIDI0MCAyNDBzMjQwLTEwNy41IDI0MC0yNDBjMC03NC4yLTMzLjgtMTQwLjYtODYuNi0xODQuNmMtMTMuNi0xMS4zLTMzLjgtOS40LTQ1LjEgNC4xcy05LjQgMzMuOCA0LjEgNDUuMWMzOC45IDMyLjMgNjMuNSA4MSA2My41IDEzNS40YzAgOTcuMi03OC44IDE3Ni0xNzYgMTc2cy0xNzYtNzguOC0xNzYtMTc2YzAtNTQuNCAyNC43LTEwMy4xIDYzLjUtMTM1LjR6XCJdXG59O1xudmFyIGZhUmlnaHRMb25nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JpZ2h0LWxvbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImxvbmctYXJyb3ctYWx0LXJpZ2h0XCJdLCBcImYzMGJcIiwgXCJNMzM0LjUgNDE0YzguOCAzLjggMTkgMiAyNi00LjZsMTQ0LTEzNmM0LjgtNC41IDcuNS0xMC44IDcuNS0xNy40cy0yLjctMTIuOS03LjUtMTcuNGwtMTQ0LTEzNmMtNy02LjYtMTcuMi04LjQtMjYtNC42cy0xNC41IDEyLjUtMTQuNSAyMmwwIDcyTDMyIDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwyODggMCAwIDcyYzAgOS42IDUuNyAxOC4yIDE0LjUgMjJ6XCJdXG59O1xudmFyIGZhTG9uZ0Fycm93QWx0UmlnaHQgPSBmYVJpZ2h0TG9uZztcbnZhciBmYUZsYWdVc2EgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmxhZy11c2EnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImY3NGRcIiwgXCJNMzIgMEM0OS43IDAgNjQgMTQuMyA2NCAzMlY0OGw2OS0xNy4yYzM4LjEtOS41IDc4LjMtNS4xIDExMy41IDEyLjVjNDYuMyAyMy4yIDEwMC44IDIzLjIgMTQ3LjEgMGw5LjYtNC44QzQyMy44IDI4LjEgNDQ4IDQzLjEgNDQ4IDY2LjF2MzYuMWwtNDQuNyAxNi4yYy00Mi44IDE1LjYtOTAgMTMuOS0xMzEuNi00LjZsLTE2LjEtNy4yYy0yMC4zLTktNDEuOC0xNC43LTYzLjYtMTYuOXYzMi4yYzE3LjQgMi4xIDM0LjQgNi43IDUwLjYgMTMuOWwxNi4xIDcuMmM0OS4yIDIxLjkgMTA1IDIzLjggMTU1LjYgNS40TDQ0OCAxMzYuM3Y2MmwtNDQuNyAxNi4yYy00Mi44IDE1LjYtOTAgMTMuOS0xMzEuNi00LjZsLTE2LjEtNy4yYy00MC4yLTE3LjktODUtMjIuNS0xMjguMS0xMy4zTDY0IDIwMy4xdjMyLjdsNzAuMi0xNS4xYzM2LjQtNy44IDc0LjMtMy45IDEwOC40IDExLjNsMTYuMSA3LjJjNDkuMiAyMS45IDEwNSAyMy44IDE1NS42IDUuNEw0NDggMjMyLjN2NjJsLTQ0LjcgMTYuMmMtNDIuOCAxNS42LTkwIDEzLjktMTMxLjYtNC42bC0xNi4xLTcuMmMtNDAuMi0xNy45LTg1LTIyLjUtMTI4LjEtMTMuM0w2NCAyOTkuMXYzMi43bDcwLjItMTUuMWMzNi40LTcuOCA3NC4zLTMuOSAxMDguNCAxMS4zbDE2LjEgNy4yYzQ5LjIgMjEuOSAxMDUgMjMuOCAxNTUuNiA1LjRMNDQ4IDMyOC4zdjMzLjVjMCAxMy4zLTguMyAyNS4zLTIwLjggMzBsLTM0LjcgMTNjLTQ2LjIgMTcuMy05Ny42IDE0LjYtMTQxLjctNy40Yy0zNy45LTE5LTgxLjMtMjMuNy0xMjIuNS0xMy40TDY0IDQwMHY4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY0MTYgMzQ1LjUgMzEyLjggMjQ5LjUgMjE2LjggMTUzLjUgMTIwLjggNjQgMzJDMCAxNC4zIDE0LjMgMCAzMiAwem04MCA5NkExNiAxNiAwIDEgMCA4MCA5NmExNiAxNiAwIDEgMCAzMiAwem0zMiAwYTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnptLTMyIDQ4YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6bTMyIDBhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyelwiXVxufTtcbnZhciBmYUxhcHRvcEZpbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGFwdG9wLWZpbGUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MWRcIiwgXCJNMTI4IDBDOTIuNyAwIDY0IDI4LjcgNjQgNjRWMjg4SDE5LjJDOC42IDI4OCAwIDI5Ni42IDAgMzA3LjJDMCAzNDkuNiAzNC40IDM4NCA3Ni44IDM4NEgzMjBWMjg4SDEyOFY2NEg0NDhWOTZoNjRWNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRIMTI4ek01MTIgMTI4SDQwMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhWNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDU5MmMyNi41IDAgNDgtMjEuNSA0OC00OFYyNTZINTQ0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYxMjh6bTMyIDB2OTZoOTZsLTk2LTk2elwiXVxufTtcbnZhciBmYVR0eSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0dHknLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInRlbGV0eXBlXCJdLCBcImYxZTRcIiwgXCJNMzguMyAyNDEuM0wxNS4xIDIwMC42Yy05LjItMTYuMi04LjQtMzYuNSA0LjUtNTBDNjEuNCAxMDYuOCAxNDQuNyA0OCAyNTYgNDhzMTk0LjYgNTguOCAyMzYuNCAxMDIuNmMxMi45IDEzLjUgMTMuNyAzMy44IDQuNSA1MGwtMjMuMSA0MC43Yy03LjUgMTMuMi0yMy4zIDE5LjMtMzcuOCAxNC42bC04MS4xLTI2LjZjLTEzLjEtNC4zLTIyLTE2LjYtMjItMzAuNFYxNDRjLTQ5LjYtMTguMS0xMDQtMTguMS0xNTMuNiAwdjU0LjhjMCAxMy44LTguOSAyNi4xLTIyIDMwLjRMNzYuMSAyNTUuOGMtMTQuNSA0LjctMzAuMy0xLjQtMzcuOC0xNC42ek0zMiAzMzZjMC04LjggNy4yLTE2IDE2LTE2SDgwYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZINDhjLTguOCAwLTE2LTcuMi0xNi0xNlYzMzZ6bTAgOTZjMC04LjggNy4yLTE2IDE2LTE2SDgwYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZINDhjLTguOCAwLTE2LTcuMi0xNi0xNlY0MzJ6TTE0NCAzMjBoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgxNDRjLTguOCAwLTE2LTcuMi0xNi0xNlYzMzZjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgyNDBjLTguOCAwLTE2LTcuMi0xNi0xNlYzMzZ6bTExMi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDMzNmMtOC44IDAtMTYtNy4yLTE2LTE2VjMzNmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDQzMmMtOC44IDAtMTYtNy4yLTE2LTE2VjMzNnptMTYgODBoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkg0MzJjLTguOCAwLTE2LTcuMi0xNi0xNlY0MzJjMC04LjggNy4yLTE2IDE2LTE2ek0xMjggNDMyYzAtOC44IDcuMi0xNiAxNi0xNkgzNjhjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgxNDRjLTguOCAwLTE2LTcuMi0xNi0xNlY0MzJ6XCJdXG59O1xudmFyIGZhVGVsZXR5cGUgPSBmYVR0eTtcbnZhciBmYURpYWdyYW1OZXh0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpYWdyYW0tbmV4dCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTQ3NlwiLCBcIk01MTIgMTYwYzAgMzUuMy0yOC43IDY0LTY0IDY0SDI4MHY2NGg0Ni4xYzIxLjQgMCAzMi4xIDI1LjkgMTcgNDFMMjczIDM5OWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBMMTY5IDMyOWMtMTUuMS0xNS4xLTQuNC00MSAxNy00MUgyMzJWMjI0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY5NkMwIDYwLjcgMjguNyAzMiA2NCAzMkg0NDhjMzUuMyAwIDY0IDI4LjcgNjQgNjR2NjR6TTQ0OCA0MTZWMzUySDM2NS4zbC40LS40YzE4LjQtMTguNCAyMC40LTQzLjcgMTEtNjMuNmw3MS4zIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjR2NjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NFYzNTJjMC0zNS4zIDI4LjctNjQgNjQtNjRsNzEuMyAwYy05LjQgMTkuOS03LjQgNDUuMiAxMSA2My42bC40IC40SDY0djY0SDIxMC43bDUuNyA1LjdjMjEuOSAyMS45IDU3LjMgMjEuOSA3OS4yIDBsNS43LTUuN0g0NDh6XCJdXG59O1xudmFyIGZhUGVyc29uUmlmbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLXJpZmxlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTRlXCIsIFwiTTI2NS4yIDE5MmMyNS40IDAgNDkuOCA3LjEgNzAuOCAxOS45VjUxMkgxNDRWMzM3LjdMOTAuNCA0MjguM2MtMTEuMiAxOS0zNS44IDI1LjMtNTQuOCAxNC4xcy0yNS4zLTM1LjgtMTQuMS01NC44TDk3LjcgMjU4LjhjMjQuNS00MS40IDY5LTY2LjggMTE3LjEtNjYuOGg1MC40ek0xNjAgODBhODAgODAgMCAxIDEgMTYwIDBBODAgODAgMCAxIDEgMTYwIDgwek00NDggMGM4LjggMCAxNiA3LjIgMTYgMTZWMTMyLjNjOS42IDUuNSAxNiAxNS45IDE2IDI3LjdWMjY5LjNsMTYtNS4zVjIwOGMwLTguOCA3LjItMTYgMTYtMTZoMTZjOC44IDAgMTYgNy4yIDE2IDE2djg0LjVjMCA2LjktNC40IDEzLTEwLjkgMTUuMkw0ODAgMzI1LjNWMzUyaDQ4YzguOCAwIDE2IDcuMiAxNiAxNnYxNmMwIDguOC03LjIgMTYtMTYgMTZINDg0bDIzIDkyLjFjMi41IDEwLjEtNS4xIDE5LjktMTUuNSAxOS45SDQzMmMtOC44IDAtMTYtNy4yLTE2LTE2VjQwMEg0MDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjIyNGMwLTE3LjcgMTQuMy0zMiAzMi0zMlYxNjBjMC0xMS44IDYuNC0yMi4yIDE2LTI3LjdWMzJjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZoMTYgMTZ6XCJdXG59O1xudmFyIGZhSG91c2VNZWRpY2FsQ2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtbWVkaWNhbC1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MTJcIiwgXCJNMzIwIDM2OGMwIDU5LjUgMjkuNSAxMTIuMSA3NC44IDE0NEgxMjguMWMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMjg3LjZIMzJjLTE4IDAtMzItMTQtMzItMzIuMWMwLTkgMy0xNyAxMC0yNEwyNjYuNCA4YzctNyAxNS04IDIyLThzMTUgMiAyMSA3TDUyMi4xIDE5My45Yy04LjUtMS4zLTE3LjMtMS45LTI2LjEtMS45Yy01NC43IDAtMTAzLjUgMjQuOS0xMzUuOCA2NEgzMjBWMjA4YzAtOC44LTcuMi0xNi0xNi0xNkgyNzJjLTguOCAwLTE2IDcuMi0xNiAxNnY0OEgyMDhjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoNDh2NDhjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNnpNNDk2IDIyNGExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTAgMjQwYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMC0xOTJjLTguOCAwLTE2IDcuMi0xNiAxNnY4MGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjI4OGMwLTguOC03LjItMTYtMTYtMTZ6XCJdXG59O1xudmFyIGZhQ2xvc2VkQ2FwdGlvbmluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbG9zZWQtY2FwdGlvbmluZycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjIwYVwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMySDUxMmMzNS4zIDAgNjQgMjguNyA2NCA2NFY0MTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0Vjk2ek0yMDAgMjA4YzE0LjIgMCAyNyA2LjEgMzUuOCAxNmM4LjggOS45IDI0IDEwLjcgMzMuOSAxLjlzMTAuNy0yNCAxLjktMzMuOWMtMTcuNS0xOS42LTQzLjEtMzItNzEuNS0zMmMtNTMgMC05NiA0My05NiA5NnM0MyA5NiA5NiA5NmMyOC40IDAgNTQtMTIuNCA3MS41LTMyYzguOC05LjkgOC0yNS0xLjktMzMuOXMtMjUtOC0zMy45IDEuOWMtOC44IDkuOS0yMS42IDE2LTM1LjggMTZjLTI2LjUgMC00OC0yMS41LTQ4LTQ4czIxLjUtNDggNDgtNDh6bTE0NCA0OGMwLTI2LjUgMjEuNS00OCA0OC00OGMxNC4yIDAgMjcgNi4xIDM1LjggMTZjOC44IDkuOSAyNCAxMC43IDMzLjkgMS45czEwLjctMjQgMS45LTMzLjljLTE3LjUtMTkuNi00My4xLTMyLTcxLjUtMzJjLTUzIDAtOTYgNDMtOTYgOTZzNDMgOTYgOTYgOTZjMjguNCAwIDU0LTEyLjQgNzEuNS0zMmM4LjgtOS45IDgtMjUtMS45LTMzLjlzLTI1LTgtMzMuOSAxLjljLTguOCA5LjktMjEuNiAxNi0zNS44IDE2Yy0yNi41IDAtNDgtMjEuNS00OC00OHpcIl1cbn07XG52YXIgZmFQZXJzb25IaWtpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWhpa2luZycsXG4gIGljb246IFszODQsIDUxMiwgW1wiaGlraW5nXCJdLCBcImY2ZWNcIiwgXCJNMTkyIDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTUxLjMgMTgyLjdMMjI0LjIgMzA3bDQ5LjcgNDkuN2M5IDkgMTQuMSAyMS4yIDE0LjEgMzMuOVY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzk3LjNsLTczLjktNzMuOWMtMTUuOC0xNS44LTIyLjItMzguNi0xNi45LTYwLjNsMjAuNC04NGM4LjMtMzQuMSA0Mi43LTU0LjkgNzYuNy00Ni40YzE5IDQuOCAzNS42IDE2LjQgNDYuNCAzMi43TDMwNS4xIDIwOEgzMzZWMTg0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR2NTUuOGMwIC4xIDAgLjIgMCAuMnMwIC4yIDAgLjJWNDg4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0VjI3MkgyOTYuNmMtMTYgMC0zMS04LTM5LjktMjEuNGwtMTMuMy0yMHpNODEuMSA0NzEuOUwxMTcuMyAzMzRjMyA0LjIgNi40IDguMiAxMC4xIDExLjlsNDEuOSA0MS45TDE0Mi45IDQ4OC4xYy00LjUgMTcuMS0yMiAyNy4zLTM5LjEgMjIuOHMtMjcuMy0yMi0yMi44LTM5LjF6bTU1LjUtMzQ2TDEwMS40IDI2Ni41Yy0zIDEyLjEtMTQuOSAxOS45LTI3LjIgMTcuOWwtNDcuOS04Yy0xNC0yLjMtMjIuOS0xNi4zLTE5LjItMzBMMzEuOSAxNTVjOS41LTM0LjggNDEuMS01OSA3Ny4yLTU5aDQuMmMxNS42IDAgMjcuMSAxNC43IDIzLjMgMjkuOHpcIl1cbn07XG52YXIgZmFIaWtpbmcgPSBmYVBlcnNvbkhpa2luZztcbnZhciBmYVZlbnVzRG91YmxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZlbnVzLWRvdWJsZScsXG4gIGljb246IFs2NDAsIDUxMiwgWzk4OTBdLCBcImYyMjZcIiwgXCJNMTkyIDI4OGExMTIgMTEyIDAgMSAwIDAtMjI0IDExMiAxMTIgMCAxIDAgMCAyMjR6TTM2OCAxNzZjMCA4Ni4zLTYyLjEgMTU4LjEtMTQ0IDE3My4xVjM4NGgzMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgyMjR2MzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWNDQ4SDEyOGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmgzMlYzNDkuMUM3OC4xIDMzNC4xIDE2IDI2Mi4zIDE2IDE3NkMxNiA3OC44IDk0LjggMCAxOTIgMHMxNzYgNzguOCAxNzYgMTc2ek0zNDQgMzE4YzE0LjYtMTUuNiAyNi44LTMzLjQgMzYtNTNjMTguOCAxNC40IDQyLjQgMjMgNjggMjNjNjEuOSAwIDExMi01MC4xIDExMi0xMTJzLTUwLjEtMTEyLTExMi0xMTJjLTI1LjYgMC00OS4xIDguNi02OCAyM2MtOS4zLTE5LjUtMjEuNS0zNy40LTM2LTUzQzM3My4xIDEyLjYgNDA5LjEgMCA0NDggMGM5Ny4yIDAgMTc2IDc4LjggMTc2IDE3NmMwIDg2LjMtNjIuMSAxNTguMS0xNDQgMTczLjFWMzg0aDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDQ4MHYzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY0NDhIMzg0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyaDMyVjM0OS4xYy0yNi42LTQuOS01MS4xLTE1LjctNzItMzEuMXpcIl1cbn07XG52YXIgZmFJbWFnZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaW1hZ2VzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMzAyXCIsIFwiTTE2MCAzMmMtMzUuMyAwLTY0IDI4LjctNjQgNjRWMzIwYzAgMzUuMyAyOC43IDY0IDY0IDY0SDUxMmMzNS4zIDAgNjQtMjguNyA2NC02NFY5NmMwLTM1LjMtMjguNy02NC02NC02NEgxNjB6TTM5NiAxMzguN2w5NiAxNDRjNC45IDcuNCA1LjQgMTYuOCAxLjIgMjQuNlM0ODAuOSAzMjAgNDcyIDMyMEgzMjggMjgwIDIwMGMtOS4yIDAtMTcuNi01LjMtMjEuNi0xMy42cy0yLjktMTguMiAyLjktMjUuNGw2NC04MGM0LjYtNS43IDExLjQtOSAxOC43LTlzMTQuMiAzLjMgMTguNyA5bDE3LjMgMjEuNiA1Ni04NEMzNjAuNSAxMzIgMzY4IDEyOCAzNzYgMTI4czE1LjUgNCAyMCAxMC43ek0xOTIgMTI4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTQ4IDEyMGMwLTEzLjMtMTAuNy0yNC0yNC0yNFMwIDEwNi43IDAgMTIwVjM0NGMwIDc1LjEgNjAuOSAxMzYgMTM2IDEzNkg0NTZjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRIMTM2Yy00OC42IDAtODgtMzkuNC04OC04OFYxMjB6XCJdXG59O1xudmFyIGZhQ2FsY3VsYXRvciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYWxjdWxhdG9yJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI4NDI1XSwgXCJmMWVjXCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzMjBjMzUuMyAwIDY0LTI4LjcgNjQtNjRWNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6TTk2IDY0SDI4OGMxNy43IDAgMzIgMTQuMyAzMiAzMnYzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkg5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWOTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTMyIDE2MGEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwek05NiAzNTJhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0ek02NCA0MTZjMC0xNy43IDE0LjMtMzIgMzItMzJoOTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek0xOTIgMjU2YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHptMzIgNjRhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHptNjQtNjRhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0em0zMiA2NGEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwek0yODggNDQ4YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHpcIl1cbn07XG52YXIgZmFQZW9wbGVQdWxsaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Blb3BsZS1wdWxsaW5nJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTM1XCIsIFwiTTgwIDk2QTQ4IDQ4IDAgMSAwIDgwIDBhNDggNDggMCAxIDAgMCA5NnpNNjQgMTI4Yy0zNS4zIDAtNjQgMjguNy02NCA2NFYzMjBjMCAxNy43IDE0LjMgMzIgMzIgMzJjOS44IDAgMTguNS00LjQgMjQuNC0xMS4yTDgwLjQgNDg1LjNjMi45IDE3LjQgMTkuNCAyOS4yIDM2LjggMjYuM3MyOS4yLTE5LjQgMjYuMy0zNi44TDEyMy4xIDM1MmgxNS43bDMwIDEzNC45YzMuOCAxNy4zIDIwLjkgMjguMSAzOC4yIDI0LjNzMjguMS0yMC45IDI0LjMtMzguMmwtNTcuMy0yNTggMTE2LjMgNTMuOGMuNSAuMyAxLjEgLjUgMS42IC43YzguNiAzLjYgMTggMy4xIDI1LjktLjdjMy40LTEuNiA2LjYtMy45IDkuMy02LjdjMy4xLTMuMiA1LjUtNyA3LjEtMTEuNGMuMS0uMyAuMi0uNyAuMy0xbDIuNS03LjVjNS43LTE3LjEgMTguMy0zMC45IDM0LjctMzguMmw4LTMuNWMxLS40IDEuOS0uOCAyLjktMS4ybC0xNi45IDYzLjVjLTUuNiAyMS4xLS4xIDQzLjYgMTQuNyA1OS43bDcwLjcgNzcuMSAyMiA4OC4xYzQuMyAxNy4xIDIxLjcgMjcuNiAzOC44IDIzLjNzMjcuNi0yMS43IDIzLjMtMzguOGwtMjMtOTIuMWMtMS45LTcuOC01LjgtMTQuOS0xMS4yLTIwLjhsLTQ5LjUtNTQgMTkuMy02NS41IDkuNiAyM2M0LjQgMTAuNiAxMi41IDE5LjMgMjIuOCAyNC41bDI2LjcgMTMuM2MxNS44IDcuOSAzNSAxLjUgNDIuOS0xNC4zczEuNS0zNS0xNC4zLTQyLjlMNTM3IDIzMi43bC0xNS4zLTM2LjhDNTA0LjUgMTU0LjggNDY0LjMgMTI4IDQxOS43IDEyOGMtMjIuOCAwLTQ1LjMgNC44LTY2LjEgMTRsLTggMy41Yy0yNC40IDEwLjktNDQuNiAyOS01OC4xIDUxLjZMMTU3LjMgMTM2LjlDMTQ0LjcgMTMxIDEzMC45IDEyOCAxMTcgMTI4SDY0ek00NjQgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek0zNDkuNyAzMzUuNmwtMjUgNjIuNC01OS40IDU5LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMzcyLjMgNDQxYzQuNi00LjYgOC4yLTEwLjEgMTAuNi0xNi4xbDE0LjUtMzYuMi00MC43LTQ0LjRjLTIuNS0yLjctNC44LTUuNi03LTguNnpcIl1cbn07XG52YXIgZmFOID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMTBdLCBcIjRlXCIsIFwiTTIxLjEgMzMuOWMxMi43LTQuNiAyNi45LS43IDM1LjUgOS42TDMyMCAzNTkuNlY2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyVjQ0OGMwIDEzLjUtOC40IDI1LjUtMjEuMSAzMC4xcy0yNi45IC43LTM1LjUtOS42TDY0IDE1Mi40VjQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY2NEMwIDUwLjUgOC40IDM4LjUgMjEuMSAzMy45elwiXVxufTtcbnZhciBmYUNhYmxlQ2FyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhYmxlLWNhcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODY3MywgNTc1NTEsIFwidHJhbVwiXSwgXCJmN2RhXCIsIFwiTTI4OCAwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMTYwIDU2YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTMyIDI4OGMwLTM1LjMgMjguNy02NCA2NC02NEgyMzJWMTU3LjVsLTIwMy4xIDQyYy0xMyAyLjctMjUuNy01LjctMjguNC0xOC42czUuNy0yNS43IDE4LjYtMjguNGwyMzItNDggMjMyLTQ4YzEzLTIuNyAyNS43IDUuNyAyOC40IDE4LjZzLTUuNyAyNS43LTE4LjYgMjguNEwyODAgMTQ3LjVWMjI0SDQxNmMzNS4zIDAgNjQgMjguNyA2NCA2NFY0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRIOTZjLTM1LjMgMC02NC0yOC43LTY0LTY0VjI4OHptNjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2djY0YzAgOC44IDcuMiAxNiAxNiAxNmg2NGM4LjggMCAxNi03LjIgMTYtMTZWMzA0YzAtOC44LTcuMi0xNi0xNi0xNkg5NnptMTEyIDE2djY0YzAgOC44IDcuMiAxNiAxNiAxNmg2NGM4LjggMCAxNi03LjIgMTYtMTZWMzA0YzAtOC44LTcuMi0xNi0xNi0xNkgyMjRjLTguOCAwLTE2IDcuMi0xNiAxNnptMTQ0LTE2Yy04LjggMC0xNiA3LjItMTYgMTZ2NjRjMCA4LjggNy4yIDE2IDE2IDE2aDY0YzguOCAwIDE2LTcuMiAxNi0xNlYzMDRjMC04LjgtNy4yLTE2LTE2LTE2SDM1MnpcIl1cbn07XG52YXIgZmFUcmFtID0gZmFDYWJsZUNhcjtcbnZhciBmYUNsb3VkUmFpbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbG91ZC1yYWluJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3NzgzLCA5OTI2XSwgXCJmNzNkXCIsIFwiTTk2IDMyMGMtNTMgMC05Ni00My05Ni05NmMwLTQyLjUgMjcuNi03OC42IDY1LjktOTEuMkM2NC43IDEyNi4xIDY0IDExOS4xIDY0IDExMkM2NCA1MC4xIDExNC4xIDAgMTc2IDBjNDMuMSAwIDgwLjUgMjQuMyA5OS4yIDYwYzE0LjctMTcuMSAzNi41LTI4IDYwLjgtMjhjNDQuMiAwIDgwIDM1LjggODAgODBjMCA1LjUtLjYgMTAuOC0xLjYgMTZjLjUgMCAxLjEgMCAxLjYgMGM1MyAwIDk2IDQzIDk2IDk2cy00MyA5Ni05NiA5Nkg5NnptLTYuOCA1MmMxLjMtMi41IDMuOS00IDYuOC00czUuNCAxLjUgNi44IDRsMzUuMSA2NC42YzQuMSA3LjUgNi4yIDE1LjggNi4yIDI0LjN2M2MwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OHYtM2MwLTguNSAyLjEtMTYuOSA2LjItMjQuM0w4OS4yIDM3MnptMTYwIDBjMS4zLTIuNSAzLjktNCA2LjgtNHM1LjQgMS41IDYuOCA0bDM1LjEgNjQuNmM0LjEgNy41IDYuMiAxNS44IDYuMiAyNC4zdjNjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDh2LTNjMC04LjUgMi4xLTE2LjkgNi4yLTI0LjNMMjQ5LjIgMzcyem0xMjQuOSA2NC42TDQwOS4yIDM3MmMxLjMtMi41IDMuOS00IDYuOC00czUuNCAxLjUgNi44IDRsMzUuMSA2NC42YzQuMSA3LjUgNi4yIDE1LjggNi4yIDI0LjN2M2MwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OHYtM2MwLTguNSAyLjEtMTYuOSA2LjItMjQuM3pcIl1cbn07XG52YXIgZmFCdWlsZGluZ0NpcmNsZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1aWxkaW5nLWNpcmNsZS14bWFyaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRkNFwiLCBcIk00OCAwQzIxLjUgMCAwIDIxLjUgMCA0OFY0NjRjMCAyNi41IDIxLjUgNDggNDggNDhoOTZWNDMyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDh2ODBoOTZjMTUuMSAwIDI4LjUtNi45IDM3LjMtMTcuOEMzNDAuNCA0NjIuMiAzMjAgNDE3LjUgMzIwIDM2OGMwLTU0LjcgMjQuOS0xMDMuNSA2NC0xMzUuOFY0OGMwLTI2LjUtMjEuNS00OC00OC00OEg0OHpNNjQgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZWMjQwem0xMTItMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYyNDBjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgyNzJjLTguOCAwLTE2LTcuMi0xNi0xNlYyNDB6TTgwIDk2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIODBjLTguOCAwLTE2LTcuMi0xNi0xNlYxMTJjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYxMTJ6TTI3MiA5NmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDI3MmMtOC44IDAtMTYtNy4yLTE2LTE2VjExMmMwLTguOCA3LjItMTYgMTYtMTZ6TTQ5NiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em01OS4zLTE4MC43TDUxOC42IDM2OGwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMEw0OTYgMzkwLjZsLTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkw0NzMuNCAzNjhsLTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQ5NiAzNDUuNGwzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42elwiXVxufTtcbnZhciBmYVNoaXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2hpcCcsXG4gIGljb246IFs1NzYsIDUxMiwgWzEyODY3NF0sIFwiZjIxYVwiLCBcIk0xOTIgMzJjMC0xNy43IDE0LjMtMzIgMzItMzJIMzUyYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjY0aDQ4YzI2LjUgMCA0OCAyMS41IDQ4IDQ4VjI0MGw0NC40IDE0LjhjMjMuMSA3LjcgMjkuNSAzNy41IDExLjUgNTMuOWwtMTAxIDkyLjZjLTE2LjIgOS40LTM0LjcgMTUuMS01MC45IDE1LjFjLTE5LjYgMC00MC44LTcuNy01OS4yLTIwLjNjLTIyLjEtMTUuNS01MS42LTE1LjUtNzMuNyAwYy0xNy4xIDExLjgtMzggMjAuMy01OS4yIDIwLjNjLTE2LjIgMC0zNC43LTUuNy01MC45LTE1LjFsLTEwMS05Mi42Yy0xOC0xNi41LTExLjYtNDYuMiAxMS41LTUzLjlMOTYgMjQwVjExMmMwLTI2LjUgMjEuNS00OCA0OC00OGg0OFYzMnpNMTYwIDIxOC43bDEwNy44LTM1LjljMTMuMS00LjQgMjcuMy00LjQgNDAuNSAwTDQxNiAyMTguN1YxMjhIMTYwdjkwLjd6TTMwNi41IDQyMS45QzMyOSA0MzcuNCAzNTYuNSA0NDggMzg0IDQ0OGMyNi45IDAgNTUuNC0xMC44IDc3LjQtMjYuMWwwIDBjMTEuOS04LjUgMjguMS03LjggMzkuMiAxLjdjMTQuNCAxMS45IDMyLjUgMjEgNTAuNiAyNS4yYzE3LjIgNCAyNy45IDIxLjIgMjMuOSAzOC40cy0yMS4yIDI3LjktMzguNCAyMy45Yy0yNC41LTUuNy00NC45LTE2LjUtNTguMi0yNUM0NDkuNSA1MDEuNyA0MTcgNTEyIDM4NCA1MTJjLTMxLjkgMC02MC42LTkuOS04MC40LTE4LjljLTUuOC0yLjctMTEuMS01LjMtMTUuNi03LjdjLTQuNSAyLjQtOS43IDUuMS0xNS42IDcuN2MtMTkuOCA5LTQ4LjUgMTguOS04MC40IDE4LjljLTMzIDAtNjUuNS0xMC4zLTk0LjUtMjUuOGMtMTMuNCA4LjQtMzMuNyAxOS4zLTU4LjIgMjVjLTE3LjIgNC0zNC40LTYuNy0zOC40LTIzLjlzNi43LTM0LjQgMjMuOS0zOC40YzE4LjEtNC4yIDM2LjItMTMuMyA1MC42LTI1LjJjMTEuMS05LjQgMjcuMy0xMC4xIDM5LjItMS43bDAgMEMxMzYuNyA0MzcuMiAxNjUuMSA0NDggMTkyIDQ0OGMyNy41IDAgNTUtMTAuNiA3Ny41LTI2LjFjMTEuMS03LjkgMjUuOS03LjkgMzcgMHpcIl1cbn07XG52YXIgZmFBcnJvd3NEb3duVG9MaW5lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93cy1kb3duLXRvLWxpbmUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0YjhcIiwgXCJNNTQ0IDQxNkwzMiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJ6bTIyLjYtMTM3LjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMNDgwIDI3NC43IDQ4MCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDIxMC43LTQxLjQtNDEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsOTYgOTZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsOTYtOTZ6bS0zMjAtNDUuM2MtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBMMTYwIDI3NC43IDE2MCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDIxMC43TDU0LjYgMjMzLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDk2IDk2YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDk2LTk2YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zelwiXVxufTtcbnZhciBmYURvd25sb2FkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Rvd25sb2FkJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMDE5XCIsIFwiTTI4OCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlYyNzQuN2wtNzMuNC03My40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxMjggMTI4YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDEyOC0xMjhjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMjg4IDI3NC43VjMyek02NCAzNTJjLTM1LjMgMC02NCAyOC43LTY0IDY0djMyYzAgMzUuMyAyOC43IDY0IDY0IDY0SDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NFY0MTZjMC0zNS4zLTI4LjctNjQtNjQtNjRIMzQ2LjVsLTQ1LjMgNDUuM2MtMjUgMjUtNjUuNSAyNS05MC41IDBMMTY1LjUgMzUySDY0em0zNjggNTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4elwiXVxufTtcbnZhciBmYUZhY2VHcmluID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtZ3JpbicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODUxMiwgXCJncmluXCJdLCBcImY1ODBcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTM4OC4xIDMxMi44YzEyLjMtMy44IDI0LjMgNi45IDE5LjMgMTguN0MzODIuNCAzOTAuNiAzMjQuMiA0MzIgMjU2LjMgNDMycy0xMjYuMi00MS40LTE1MS4xLTEwMC41Yy01LTExLjggNy0yMi41IDE5LjMtMTguN2MzOS43IDEyLjIgODQuNSAxOSAxMzEuOCAxOXM5Mi4xLTYuOCAxMzEuOC0xOXpNMTQ0LjQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhR3JpbiA9IGZhRmFjZUdyaW47XG52YXIgZmFEZWxldGVMZWZ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RlbGV0ZS1sZWZ0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbOTAwMywgXCJiYWNrc3BhY2VcIl0sIFwiZjU1YVwiLCBcIk01NzYgMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0SDIwNS4zYy0xNyAwLTMzLjMgNi43LTQ1LjMgMTguN0w5LjQgMjMzLjRjLTYgNi05LjQgMTQuMS05LjQgMjIuNnMzLjQgMTYuNiA5LjQgMjIuNkwxNjAgNDI5LjNjMTIgMTIgMjguMyAxOC43IDQ1LjMgMTguN0g1MTJjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTI4ek0yNzEgMTc1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDQ3IDQ3IDQ3LTQ3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNDcgNDcgNDcgNDdjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDctNDctNDcgNDdjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNDctNDctNDctNDdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45elwiXVxufTtcbnZhciBmYUJhY2tzcGFjZSA9IGZhRGVsZXRlTGVmdDtcbnZhciBmYUV5ZURyb3BwZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZXllLWRyb3BwZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImV5ZS1kcm9wcGVyLWVtcHR5XCIsIFwiZXllZHJvcHBlclwiXSwgXCJmMWZiXCIsIFwiTTM0MS42IDI5LjJMMjQwLjEgMTMwLjhsLTkuNC05LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOS40LTkuNEw0ODIuOCAxNzAuNGMzOS0zOSAzOS0xMDIuMiAwLTE0MS4xcy0xMDIuMi0zOS0xNDEuMSAwek01NS40IDMyMy4zYy0xNSAxNS0yMy40IDM1LjQtMjMuNCA1Ni42djQyLjRMNS40IDQ2Mi4yYy04LjUgMTIuNy02LjggMjkuNiA0IDQwLjRzMjcuNyAxMi41IDQwLjQgNEw4OS43IDQ4MGg0Mi40YzIxLjIgMCA0MS42LTguNCA1Ni42LTIzLjRMMzA5LjQgMzM1LjlsLTQ1LjMtNDUuM0wxNDMuNCA0MTEuM2MtMyAzLTcuMSA0LjctMTEuMyA0LjdIOTZWMzc5LjljMC00LjIgMS43LTguMyA0LjctMTEuM0wyMjEuNCAyNDcuOWwtNDUuMy00NS4zTDU1LjQgMzIzLjN6XCJdXG59O1xudmFyIGZhRXllRHJvcHBlckVtcHR5ID0gZmFFeWVEcm9wcGVyO1xudmFyIGZhRXllZHJvcHBlciA9IGZhRXllRHJvcHBlcjtcbnZhciBmYUZpbGVDaXJjbGVDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLWNpcmNsZS1jaGVjaycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTVhMFwiLCBcIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEgyMjRWMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMySDM4NHYzOC42QzMxMC4xIDIxOS41IDI1NiAyODcuNCAyNTYgMzY4YzAgNTkuMSAyOS4xIDExMS4zIDczLjcgMTQzLjNjLTMuMiAuNS02LjQgLjctOS43IC43SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY2NHptMzg0IDY0SDI1NlYwTDM4NCAxMjh6TTI4OCAzNjhhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMjExLjMtNDMuM2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBMNDE2IDM4NS40bC0yOC43LTI4LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsNDAgNDBjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBsNzItNzJjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZ6XCJdXG59O1xudmFyIGZhRm9yd2FyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmb3J3YXJkJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTE5M10sIFwiZjA0ZVwiLCBcIk01Mi41IDQ0MC42Yy05LjUgNy45LTIyLjggOS43LTM0LjEgNC40UzAgNDI4LjQgMCA0MTZWOTZDMCA4My42IDcuMiA3Mi4zIDE4LjQgNjdzMjQuNS0zLjYgMzQuMSA0LjRMMjI0IDIxNC4zVjI1NnY0MS43TDUyLjUgNDQwLjZ6TTI1NiAzNTJWMjU2IDEyOCA5NmMwLTEyLjQgNy4yLTIzLjcgMTguNC0yOXMyNC41LTMuNiAzNC4xIDQuNGwxOTIgMTYwYzcuMyA2LjEgMTEuNSAxNS4xIDExLjUgMjQuNnMtNC4yIDE4LjUtMTEuNSAyNC42bC0xOTIgMTYwYy05LjUgNy45LTIyLjggOS43LTM0LjEgNC40cy0xOC40LTE2LjYtMTguNC0yOVYzNTJ6XCJdXG59O1xudmFyIGZhTW9iaWxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vYmlsZScsXG4gIGljb246IFszODQsIDUxMiwgWzEyODI0MSwgXCJtb2JpbGUtYW5kcm9pZFwiLCBcIm1vYmlsZS1waG9uZVwiXSwgXCJmM2NlXCIsIFwiTTgwIDBDNDQuNyAwIDE2IDI4LjcgMTYgNjRWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDMwNGMzNS4zIDAgNjQtMjguNyA2NC02NFY2NGMwLTM1LjMtMjguNy02NC02NC02NEg4MHptODAgNDMyaDY0YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDE2MGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFNb2JpbGVBbmRyb2lkID0gZmFNb2JpbGU7XG52YXIgZmFNb2JpbGVQaG9uZSA9IGZhTW9iaWxlO1xudmFyIGZhRmFjZU1laCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLW1laCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODUyOCwgXCJtZWhcIl0sIFwiZjExYVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTc2LjQgMTc2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTE2MCAzMzZIMzUyYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDE2MGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFNZWggPSBmYUZhY2VNZWg7XG52YXIgZmFBbGlnbkNlbnRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbGlnbi1jZW50ZXInLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYwMzdcIiwgXCJNMzUyIDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMySDEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkgzMjBjMTcuNyAwIDMyLTE0LjMgMzItMzJ6bTk2IDEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg0MTZjMTcuNyAwIDMyLTE0LjMgMzItMzJ6TTAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMySDQxNmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTM1MiAzMjBjMC0xNy43LTE0LjMtMzItMzItMzJIMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDMyMGMxNy43IDAgMzItMTQuMyAzMi0zMnpcIl1cbn07XG52YXIgZmFCb29rU2t1bGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9vay1za3VsbCcsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiYm9vay1kZWFkXCJdLCBcImY2YjdcIiwgXCJNMCA5NkMwIDQzIDQzIDAgOTYgMEgzODRoMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJWMzUyYzAgMTcuNy0xNC4zIDMyLTMyIDMydjY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDM4NCA5NmMtNTMgMC05Ni00My05Ni05NlY5NnpNNjQgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMySDM1MlYzODRIOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek0zMjAgMTEyYzAtMzUuMy0zNS44LTY0LTgwLTY0cy04MCAyOC43LTgwIDY0YzAgMjAuOSAxMi42IDM5LjUgMzIgNTEuMlYxNzZjMCA4LjggNy4yIDE2IDE2IDE2aDY0YzguOCAwIDE2LTcuMiAxNi0xNlYxNjMuMmMxOS40LTExLjcgMzItMzAuMyAzMi01MS4yek0yMDggOTZhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyem00OCAxNmExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwek0xMzQuMyAyMDkuM2MtOC4xLTMuNS0xNy41IC4zLTIxIDguNHMuMyAxNy41IDguNCAyMUwxOTkuNCAyNzJsLTc3LjcgMzMuM2MtOC4xIDMuNS0xMS45IDEyLjktOC40IDIxczEyLjkgMTEuOSAyMSA4LjRMMjQwIDI4OS40bDEwNS43IDQ1LjNjOC4xIDMuNSAxNy41LS4zIDIxLTguNHMtLjMtMTcuNS04LjQtMjFMMjgwLjYgMjcybDc3LjctMzMuM2M4LjEtMy41IDExLjktMTIuOSA4LjQtMjFzLTEyLjktMTEuOS0yMS04LjRMMjQwIDI1NC42IDEzNC4zIDIwOS4zelwiXVxufTtcbnZhciBmYUJvb2tEZWFkID0gZmFCb29rU2t1bGw7XG52YXIgZmFJZENhcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaWQtY2FyZCcsXG4gIGljb246IFs1NzYsIDUxMiwgWzYyMTQ3LCBcImRyaXZlcnMtbGljZW5zZVwiXSwgXCJmMmMyXCIsIFwiTTAgOTZsNTc2IDBjMC0zNS4zLTI4LjctNjQtNjQtNjRINjRDMjguNyAzMiAwIDYwLjcgMCA5NnptMCAzMlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRINTEyYzM1LjMgMCA2NC0yOC43IDY0LTY0VjEyOEgwek02NCA0MDUuM2MwLTI5LjUgMjMuOS01My4zIDUzLjMtNTMuM0gyMzQuN2MyOS41IDAgNTMuMyAyMy45IDUzLjMgNTMuM2MwIDUuOS00LjggMTAuNy0xMC43IDEwLjdINzQuN2MtNS45IDAtMTAuNy00LjgtMTAuNy0xMC43ek0xNzYgMTkyYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4em0xNzYgMTZjMC04LjggNy4yLTE2IDE2LTE2SDQ5NmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgzNjhjLTguOCAwLTE2LTcuMi0xNi0xNnptMCA2NGMwLTguOCA3LjItMTYgMTYtMTZINDk2YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDM2OGMtOC44IDAtMTYtNy4yLTE2LTE2em0wIDY0YzAtOC44IDcuMi0xNiAxNi0xNkg0OTZjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMzY4Yy04LjggMC0xNi03LjItMTYtMTZ6XCJdXG59O1xudmFyIGZhRHJpdmVyc0xpY2Vuc2UgPSBmYUlkQ2FyZDtcbnZhciBmYU91dGRlbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnb3V0ZGVudCcsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiZGVkZW50XCJdLCBcImYwM2JcIiwgXCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMkg0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzJDMTQuMyA5NiAwIDgxLjcgMCA2NHpNMTkyIDE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMkg0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMjI0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnptMzIgOTZINDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDIyNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpNMCA0NDhjMC0xNy43IDE0LjMtMzIgMzItMzJINDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNLjIgMjY4LjZjLTguMi02LjQtOC4yLTE4LjkgMC0yNS4zbDEwMS45LTc5LjNjMTAuNS04LjIgMjUuOC0uNyAyNS44IDEyLjZWMzM1LjNjMCAxMy4zLTE1LjMgMjAuOC0yNS44IDEyLjZMLjIgMjY4LjZ6XCJdXG59O1xudmFyIGZhRGVkZW50ID0gZmFPdXRkZW50O1xudmFyIGZhSGVhcnRDaXJjbGVFeGNsYW1hdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFydC1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0ZmVcIiwgXCJNNDcuNiAzMDAuNEwyMjguMyA0NjkuMWM3LjUgNyAxNy40IDEwLjkgMjcuNyAxMC45czIwLjItMy45IDI3LjctMTAuOWwyLjYtMi40QzI2Ny4yIDQzOC42IDI1NiA0MDQuNiAyNTYgMzY4YzAtOTcuMiA3OC44LTE3NiAxNzYtMTc2YzI4LjMgMCA1NSA2LjcgNzguNyAxOC41Yy45LTYuNSAxLjMtMTMgMS4zLTE5LjZ2LTUuOGMwLTY5LjktNTAuNS0xMjkuNS0xMTkuNC0xNDFDMzQ3IDM2LjUgMzAwLjYgNTEuNCAyNjggODRMMjU2IDk2IDI0NCA4NGMtMzIuNi0zMi42LTc5LTQ3LjUtMTI0LjYtMzkuOUM1MC41IDU1LjYgMCAxMTUuMiAwIDE4NS4xdjUuOGMwIDQxLjUgMTcuMiA4MS4yIDQ3LjYgMTA5LjV6TTQzMiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTk2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMC0xNDRjOC44IDAgMTYgNy4yIDE2IDE2djgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjI4OGMwLTguOCA3LjItMTYgMTYtMTZ6XCJdXG59O1xudmFyIGZhSG91c2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjc5NjgsIDYzNDk4LCA2MzUwMCwgXCJob21lXCIsIFwiaG9tZS1hbHRcIiwgXCJob21lLWxnLWFsdFwiXSwgXCJmMDE1XCIsIFwiTTU3NS44IDI1NS41YzAgMTgtMTUgMzIuMS0zMiAzMi4xaC0zMmwuNyAxNjAuMmMwIDIuNy0uMiA1LjQtLjUgOC4xVjQ3MmMwIDIyLjEtMTcuOSA0MC00MCA0MEg0NTZjLTEuMSAwLTIuMiAwLTMuMy0uMWMtMS40IC4xLTIuOCAuMS00LjIgLjFINDE2IDM5MmMtMjIuMSAwLTQwLTE3LjktNDAtNDBWNDQ4IDM4NGMwLTE3LjctMTQuMy0zMi0zMi0zMkgyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjY0IDI0YzAgMjIuMS0xNy45IDQwLTQwIDQwSDE2MCAxMjguMWMtMS41IDAtMy0uMS00LjUtLjJjLTEuMiAuMS0yLjQgLjItMy42IC4ySDEwNGMtMjIuMSAwLTQwLTE3LjktNDAtNDBWMzYwYzAtLjkgMC0xLjkgLjEtMi44VjI4Ny42SDMyYy0xOCAwLTMyLTE0LTMyLTMyLjFjMC05IDMtMTcgMTAtMjRMMjY2LjQgOGM3LTcgMTUtOCAyMi04czE1IDIgMjEgN0w1NjQuOCAyMzEuNWM4IDcgMTIgMTUgMTEgMjR6XCJdXG59O1xudmFyIGZhSG9tZSA9IGZhSG91c2U7XG52YXIgZmFIb21lQWx0ID0gZmFIb3VzZTtcbnZhciBmYUhvbWVMZ0FsdCA9IGZhSG91c2U7XG52YXIgZmFDYWxlbmRhcldlZWsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FsZW5kYXItd2VlaycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjc4NFwiLCBcIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMlY2NEgyODhWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMlY2NGg0OGMyNi41IDAgNDggMjEuNSA0OCA0OHY0OEgwVjExMkMwIDg1LjUgMjEuNSA2NCA0OCA2NEg5NlYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMCAxOTJINDQ4VjQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMTkyem04MCA2NGMtOC44IDAtMTYgNy4yLTE2IDE2djY0YzAgOC44IDcuMiAxNiAxNiAxNkgzNjhjOC44IDAgMTYtNy4yIDE2LTE2VjI3MmMwLTguOC03LjItMTYtMTYtMTZIODB6XCJdXG59O1xudmFyIGZhTGFwdG9wTWVkaWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsYXB0b3AtbWVkaWNhbCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjgxMlwiLCBcIk02NCA5NmMwLTM1LjMgMjguNy02NCA2NC02NEg1MTJjMzUuMyAwIDY0IDI4LjcgNjQgNjRWMzUySDUxMlY5NkgxMjhWMzUySDY0Vjk2ek0wIDQwMy4yQzAgMzkyLjYgOC42IDM4NCAxOS4yIDM4NEg2MjAuOGMxMC42IDAgMTkuMiA4LjYgMTkuMiAxOS4yYzAgNDIuNC0zNC40IDc2LjgtNzYuOCA3Ni44SDc2LjhDMzQuNCA0ODAgMCA0NDUuNiAwIDQwMy4yek0yODggMTYwYzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2NDhoNDhjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgzNTJ2NDhjMCA4LjgtNy4yIDE2LTE2IDE2SDMwNGMtOC44IDAtMTYtNy4yLTE2LTE2VjI3MkgyNDBjLTguOCAwLTE2LTcuMi0xNi0xNlYyMjRjMC04LjggNy4yLTE2IDE2LTE2aDQ4VjE2MHpcIl1cbn07XG52YXIgZmFCID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2InLFxuICBpY29uOiBbMzIwLCA1MTIsIFs5OF0sIFwiNDJcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlYyNTYgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDE5MmM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOGMwLTQ2LjUtMjQuOC04Ny4zLTYyLTEwOS43YzE4LjctMjIuMyAzMC01MSAzMC04Mi4zYzAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4SDY0em05NiAxOTJINjRWOTZoOTZjMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjR6TTY0IDI4OGg5NiAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NEg2NFYyODh6XCJdXG59O1xudmFyIGZhRmlsZU1lZGljYWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1tZWRpY2FsJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNDc3XCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzMjBjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTYwSDI1NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMEg2NHpNMjU2IDBWMTI4SDM4NEwyNTYgMHpNMTYwIDI0MGMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djQ4aDQ4YzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMjI0djQ4YzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYzNTJIMTEyYy04LjggMC0xNi03LjItMTYtMTZWMzA0YzAtOC44IDcuMi0xNiAxNi0xNmg0OFYyNDB6XCJdXG59O1xudmFyIGZhRGljZU9uZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkaWNlLW9uZScsXG4gIGljb246IFs0NDgsIDUxMiwgWzk4NTZdLCBcImY1MjVcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzg0YzM1LjMgMCA2NC0yOC43IDY0LTY0Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0ek0yMjQgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFLaXdpQmlyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdraXdpLWJpcmQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY1MzVcIiwgXCJNMjkxLjIgMzg4LjRjMzEuMi0xOC44IDY0LjctMzYuNCAxMDEuMS0zNi40SDQ0OGM0LjYgMCA5LjEtLjIgMTMuNi0uN2w4NS4zIDEyMS45YzQgNS43IDExLjMgOC4yIDE3LjkgNi4xczExLjItOC4zIDExLjItMTUuM1YyMjRjMC03MC43LTU3LjMtMTI4LTEyOC0xMjhIMzkyLjNjLTM2LjQgMC02OS45LTE3LjYtMTAxLjEtMzYuNEMyNjIuMyA0Mi4xIDIyOC4zIDMyIDE5MiAzMkM4NiAzMiAwIDExOCAwIDIyNGMwIDcxLjEgMzguNiAxMzMuMSA5NiAxNjYuM1Y0NTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFY0MTBjMTUuMyAzLjkgMzEuNCA2IDQ4IDZjNS40IDAgMTAuNy0uMiAxNi0uN1Y0NTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFY0MDUuMWMxMi40LTQuNCAyNC4yLTEwIDM1LjItMTYuN3pNNDQ4IDIwMGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6XCJdXG59O1xudmFyIGZhQXJyb3dSaWdodEFycm93TGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1yaWdodC1hcnJvdy1sZWZ0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbODY0NCwgXCJleGNoYW5nZVwiXSwgXCJmMGVjXCIsIFwiTTQzOC42IDE1MC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC05Ni05NmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMMzM4LjcgOTYgMzIgOTZDMTQuMyA5NiAwIDExMC4zIDAgMTI4czE0LjMgMzIgMzIgMzJsMzA2LjcgMC00MS40IDQxLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsOTYtOTZ6bS0zMzMuMyAzNTJjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wxMDkuMyA0MTYgNDE2IDQxNmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzA2LjcgMCA0MS40LTQxLjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w5NiA5NnpcIl1cbn07XG52YXIgZmFFeGNoYW5nZSA9IGZhQXJyb3dSaWdodEFycm93TGVmdDtcbnZhciBmYVJvdGF0ZVJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JvdGF0ZS1yaWdodCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wicmVkby1hbHRcIiwgXCJyb3RhdGUtZm9yd2FyZFwiXSwgXCJmMmY5XCIsIFwiTTQ2My41IDIyNEg0NzJjMTMuMyAwIDI0LTEwLjcgMjQtMjRWNzJjMC05LjctNS44LTE4LjUtMTQuOC0yMi4ycy0xOS4zLTEuNy0yNi4yIDUuMkw0MTMuNCA5Ni42Yy04Ny42LTg2LjUtMjI4LjctODYuMi0zMTUuOCAxYy04Ny41IDg3LjUtODcuNSAyMjkuMyAwIDMxNi44czIyOS4zIDg3LjUgMzE2LjggMGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGMtNjIuNSA2Mi41LTE2My44IDYyLjUtMjI2LjMgMHMtNjIuNS0xNjMuOCAwLTIyNi4zYzYyLjItNjIuMiAxNjIuNy02Mi41IDIyNS4zLTFMMzI3IDE4M2MtNi45IDYuOS04LjkgMTcuMi01LjIgMjYuMnMxMi41IDE0LjggMjIuMiAxNC44SDQ2My41elwiXVxufTtcbnZhciBmYVJlZG9BbHQgPSBmYVJvdGF0ZVJpZ2h0O1xudmFyIGZhUm90YXRlRm9yd2FyZCA9IGZhUm90YXRlUmlnaHQ7XG52YXIgZmFVdGVuc2lscyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1dGVuc2lscycsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyNzg2MCwgNjE2ODUsIFwiY3V0bGVyeVwiXSwgXCJmMmU3XCIsIFwiTTQxNiAwQzQwMCAwIDI4OCAzMiAyODggMTc2VjI4OGMwIDM1LjMgMjguNyA2NCA2NCA2NGgzMlY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzNTIgMjQwIDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek02NCAxNkM2NCA3LjggNTcuOSAxIDQ5LjcgLjFTMzQuMiA0LjYgMzIuNCAxMi41TDIuMSAxNDguOEMuNyAxNTUuMSAwIDE2MS41IDAgMTY3LjljMCA0NS45IDM1LjEgODMuNiA4MCA4Ny43VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjI1NS42YzQ0LjktNC4xIDgwLTQxLjggODAtODcuN2MwLTYuNC0uNy0xMi44LTIuMS0xOS4xTDE5MS42IDEyLjVjLTEuOC04LTkuMy0xMy4zLTE3LjQtMTIuNFMxNjAgNy44IDE2MCAxNlYxNTAuMmMwIDUuNC00LjQgOS44LTkuOCA5LjhjLTUuMSAwLTkuMy0zLjktOS44LTlMMTI3LjkgMTQuNkMxMjcuMiA2LjMgMTIwLjMgMCAxMTIgMHMtMTUuMiA2LjMtMTUuOSAxNC42TDgzLjcgMTUxYy0uNSA1LjEtNC43IDktOS44IDljLTUuNCAwLTkuOC00LjQtOS44LTkuOFYxNnptNDguMyAxNTJsLS4zIDAtLjMgMCAuMy0uNyAuMyAuN3pcIl1cbn07XG52YXIgZmFDdXRsZXJ5ID0gZmFVdGVuc2lscztcbnZhciBmYUFycm93VXBXaWRlU2hvcnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdXAtd2lkZS1zaG9ydCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1wic29ydC1hbW91bnQtdXBcIl0sIFwiZjE2MVwiLCBcIk0xNTEuNiA0Mi40QzE0NS41IDM1LjggMTM3IDMyIDEyOCAzMnMtMTcuNSAzLjgtMjMuNiAxMC40bC04OCA5NmMtMTEuOSAxMy0xMS4xIDMzLjMgMiA0NS4yczMzLjMgMTEuMSA0NS4yLTJMOTYgMTQ2LjNWNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMTQ2LjNsMzIuNCAzNS40YzExLjkgMTMgMzIuMiAxMy45IDQ1LjIgMnMxMy45LTMyLjIgMi00NS4ybC04OC05NnpNMzIwIDQ4MGgzMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ6bTAtMTI4aDk2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDMyMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMnptMC0xMjhINDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDMyMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMnptMC0xMjhINTQ0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDMyMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMnpcIl1cbn07XG52YXIgZmFTb3J0QW1vdW50VXAgPSBmYUFycm93VXBXaWRlU2hvcnQ7XG52YXIgZmFNaWxsU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtaWxsLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUxZWRcIiwgXCJNMzAyLjEgNDIuOGM1LjktMTYuNi0yLjctMzUtMTkuNC00MC45cy0zNSAyLjctNDAuOSAxOS40TDIwOCAxMTYuMWMtNS43IDQtMTEuMSA4LjUtMTYgMTMuNUMxNzEuNyAxMDguOSAxNDMuMyA5NiAxMTIgOTZjLTE5LjUgMC0zNy44IDUtNTMuNyAxMy43QzUyLjUgMTAxLjQgNDIuOSA5NiAzMiA5NkMxNC4zIDk2IDAgMTEwLjMgMCAxMjh2ODBWNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMjA4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDh2NDIuNUw4MS45IDQ2OS4yYy01LjkgMTYuNiAyLjcgMzUgMTkuNCA0MC45czM1LTIuNyA0MC45LTE5LjRsMjEuNC02MEMxNjguOSA0NDEgMTc5LjYgNDQ4IDE5MiA0NDhjMTcuNyAwIDMyLTE0LjMgMzItMzJWMjYxLjVsMzUuNy0xMDBjMy45LTEgOC4xLTEuNiAxMi4zLTEuNmMyNi41IDAgNDggMjEuNSA0OCA0OFY0MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyMDhjMC01OC4yLTQ0LjMtMTA2LTEwMS4xLTExMS41bDE5LjItNTMuOHpcIl1cbn07XG52YXIgZmFCb3dsUmljZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3dsLXJpY2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImUyZWJcIiwgXCJNMTc2IDU2YzAtMTMuMyAxMC43LTI0IDI0LTI0aDE2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDIwMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTI0IDQ4aDE2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDIwMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNNTYgMTc2SDcyYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDU2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0ek0wIDI4My40QzAgMjY4LjMgMTIuMyAyNTYgMjcuNCAyNTZINDg0LjZjMTUuMSAwIDI3LjQgMTIuMyAyNy40IDI3LjRjMCA3MC41LTQ0LjQgMTMwLjctMTA2LjcgMTU0LjFMNDAzLjUgNDUyYy0yIDE2LTE1LjYgMjgtMzEuOCAyOEgxNDAuMmMtMTYuMSAwLTI5LjgtMTItMzEuOC0yOGwtMS44LTE0LjRDNDQuNCA0MTQuMSAwIDM1My45IDAgMjgzLjR6TTIyNCAyMDBjMC0xMy4zIDEwLjctMjQgMjQtMjRoMTZjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIMjQ4Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHptLTk2IDBjMC0xMy4zIDEwLjctMjQgMjQtMjRoMTZjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIMTUyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHptLTI0LTk2aDE2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDEwNGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptMjE2IDk2YzAtMTMuMyAxMC43LTI0IDI0LTI0aDE2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDM0NGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bS0yNC05NmgxNmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEgyOTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTEyMCA5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGgxNmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEg0NDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0tMjQtOTZoMTZjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIMzkyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0ek0yOTYgMzJoMTZjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIMjk2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0elwiXVxufTtcbnZhciBmYVNrdWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NrdWxsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MTI4XSwgXCJmNTRjXCIsIFwiTTQxNiAzOTguOWM1OC41LTQxLjEgOTYtMTA0LjEgOTYtMTc0LjlDNTEyIDEwMC4zIDM5Ny40IDAgMjU2IDBTMCAxMDAuMyAwIDIyNGMwIDcwLjcgMzcuNSAxMzMuOCA5NiAxNzQuOWMwIC40IDAgLjcgMCAxLjF2NjRjMCAyNi41IDIxLjUgNDggNDggNDhoNDhWNDY0YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ2NDhoNjRWNDY0YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ2NDhoNDhjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWNDAwYzAtLjQgMC0uNyAwLTEuMXpNOTYgMjU2YTY0IDY0IDAgMSAxIDEyOCAwQTY0IDY0IDAgMSAxIDk2IDI1NnptMjU2LTY0YTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4elwiXVxufTtcbnZhciBmYVRvd2VyQnJvYWRjYXN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Rvd2VyLWJyb2FkY2FzdCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiYnJvYWRjYXN0LXRvd2VyXCJdLCBcImY1MTlcIiwgXCJNODAuMyA0NEM2OS44IDY5LjkgNjQgOTguMiA2NCAxMjhzNS44IDU4LjEgMTYuMyA4NGM2LjYgMTYuNC0xLjMgMzUtMTcuNyA0MS43cy0zNS0xLjMtNDEuNy0xNy43QzcuNCAyMDIuNiAwIDE2Ni4xIDAgMTI4UzcuNCA1My40IDIwLjkgMjBDMjcuNiAzLjYgNDYuMi00LjMgNjIuNiAyLjNTODYuOSAyNy42IDgwLjMgNDR6TTU1NS4xIDIwQzU2OC42IDUzLjQgNTc2IDg5LjkgNTc2IDEyOHMtNy40IDc0LjYtMjAuOSAxMDhjLTYuNiAxNi40LTI1LjMgMjQuMy00MS43IDE3LjdTNDg5LjEgMjI4LjQgNDk1LjcgMjEyYzEwLjUtMjUuOSAxNi4zLTU0LjIgMTYuMy04NHMtNS44LTU4LjEtMTYuMy04NEM0ODkuMSAyNy42IDQ5NyA5IDUxMy40IDIuM3MzNSAxLjMgNDEuNyAxNy43ek0zNTIgMTI4YzAgMjMuNy0xMi45IDQ0LjQtMzIgNTUuNFY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMTgzLjRjLTE5LjEtMTEuMS0zMi0zMS43LTMyLTU1LjRjMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NHpNMTcwLjYgNzYuOEMxNjMuOCA5Mi40IDE2MCAxMDkuNyAxNjAgMTI4czMuOCAzNS42IDEwLjYgNTEuMmM3LjEgMTYuMi0uMyAzNS4xLTE2LjUgNDIuMXMtMzUuMS0uMy00Mi4xLTE2LjVjLTEwLjMtMjMuNi0xNi00OS42LTE2LTc2LjhzNS43LTUzLjIgMTYtNzYuOGM3LjEtMTYuMiAyNS45LTIzLjYgNDIuMS0xNi41czIzLjYgMjUuOSAxNi41IDQyLjF6TTQ2NCA1MS4yYzEwLjMgMjMuNiAxNiA0OS42IDE2IDc2LjhzLTUuNyA1My4yLTE2IDc2LjhjLTcuMSAxNi4yLTI1LjkgMjMuNi00Mi4xIDE2LjVzLTIzLjYtMjUuOS0xNi41LTQyLjFjNi44LTE1LjYgMTAuNi0zMi45IDEwLjYtNTEuMnMtMy44LTM1LjYtMTAuNi01MS4yYy03LjEtMTYuMiAuMy0zNS4xIDE2LjUtNDIuMXMzNS4xIC4zIDQyLjEgMTYuNXpcIl1cbn07XG52YXIgZmFCcm9hZGNhc3RUb3dlciA9IGZhVG93ZXJCcm9hZGNhc3Q7XG52YXIgZmFUcnVja1BpY2t1cCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cnVjay1waWNrdXAnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjg3NjNdLCBcImY2M2NcIiwgXCJNMzY4LjYgOTZsNzYuOCA5NkgyODhWOTZoODAuNnpNMjI0IDgwVjE5Mkg2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2NjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINjUuMWMtLjcgNS4yLTEuMSAxMC42LTEuMSAxNmMwIDYxLjkgNTAuMSAxMTIgMTEyIDExMnMxMTItNTAuMSAxMTItMTEyYzAtNS40LS40LTEwLjgtMS4xLTE2aDY2LjNjLS43IDUuMi0xLjEgMTAuNi0xLjEgMTZjMCA2MS45IDUwLjEgMTEyIDExMiAxMTJzMTEyLTUwLjEgMTEyLTExMmMwLTUuNC0uNC0xMC44LTEuMS0xNkg2MDhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJWMjI0YzAtMTcuNy0xNC4zLTMyLTMyLTMySDUyNy40TDQxOC42IDU2Yy0xMi4xLTE1LjItMzAuNS0yNC01MC0yNEgyNzJjLTI2LjUgMC00OCAyMS41LTQ4IDQ4em0wIDI4OGE0OCA0OCAwIDEgMSAtOTYgMCA0OCA0OCAwIDEgMSA5NiAwem0yODggMGE0OCA0OCAwIDEgMSAtOTYgMCA0OCA0OCAwIDEgMSA5NiAwelwiXVxufTtcbnZhciBmYVVwTG9uZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1cC1sb25nJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJsb25nLWFycm93LWFsdC11cFwiXSwgXCJmMzBjXCIsIFwiTTMxOCAxNzcuNWMzLjgtOC44IDItMTktNC42LTI2bC0xMzYtMTQ0QzE3Mi45IDIuNyAxNjYuNiAwIDE2MCAwcy0xMi45IDIuNy0xNy40IDcuNWwtMTM2IDE0NGMtNi42IDctOC40IDE3LjItNC42IDI2UzE0LjQgMTkyIDI0IDE5Mkg5NmwwIDI4OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmg2NGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTI4OGg3MmM5LjYgMCAxOC4yLTUuNyAyMi0xNC41elwiXVxufTtcbnZhciBmYUxvbmdBcnJvd0FsdFVwID0gZmFVcExvbmc7XG52YXIgZmFTdG9wID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0b3AnLFxuICBpY29uOiBbMzg0LCA1MTIsIFs5MjA5XSwgXCJmMDRkXCIsIFwiTTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0SDMyMGMzNS4zIDAgNjQgMjguNyA2NCA2NFYzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjEyOHpcIl1cbn07XG52YXIgZmFDb2RlTWVyZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29kZS1tZXJnZScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjM4N1wiLCBcIk04MCA1NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTMyLjQgOTcuMmMyOC0xMi40IDQ3LjYtNDAuNSA0Ny42LTczLjJjMC00NC4yLTM1LjgtODAtODAtODBTMCAzNS44IDAgODBjMCAzMi44IDE5LjcgNjEgNDggNzMuM1YzNTguN0MxOS43IDM3MSAwIDM5OS4yIDAgNDMyYzAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC0zMi44LTE5LjctNjEtNDgtNzMuM1YyNzJjMjYuNyAyMC4xIDYwIDMyIDk2IDMyaDg2LjdjMTIuMyAyOC4zIDQwLjUgNDggNzMuMyA0OGM0NC4yIDAgODAtMzUuOCA4MC04MHMtMzUuOC04MC04MC04MGMtMzIuOCAwLTYxIDE5LjctNzMuMyA0OEgyMDhjLTQ5LjkgMC05MS0zOC4xLTk1LjYtODYuOHpNODAgNDA4YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNMzQ0IDI3MmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwelwiXVxufTtcbnZhciBmYVVwbG9hZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1cGxvYWQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYwOTNcIiwgXCJNMjg4IDEwOS4zVjM1MmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYxMDkuM2wtNzMuNCA3My40Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2wxMjgtMTI4YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDEyOCAxMjhjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMjg4IDEwOS4zek02NCAzNTJIMTkyYzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjRINDQ4YzM1LjMgMCA2NCAyOC43IDY0IDY0djMyYzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY0MTZjMC0zNS4zIDI4LjctNjQgNjQtNjR6TTQzMiA0NTZhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4elwiXVxufTtcbnZhciBmYUh1cnJpY2FuZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdodXJyaWNhbmUnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImY3NTFcIiwgXCJNMCAyMDhDMCAxMDQuNCA3NS43IDE4LjUgMTc0LjkgMi42QzE4NCAxLjIgMTkyIDguNiAxOTIgMTcuOVY4MS4yYzAgOC40IDYuNSAxNS4zIDE0LjcgMTYuNUMzMDcgMTEyLjUgMzg0IDE5OSAzODQgMzAzLjRjMCAxMDMuNi03NS43IDE4OS41LTE3NC45IDIwNS40Yy05LjIgMS41LTE3LjEtNS45LTE3LjEtMTUuMlY0MzAuMmMwLTguNC02LjUtMTUuMy0xNC43LTE2LjVDNzcgMzk4LjkgMCAzMTIuNCAwIDIwOHptMjg4IDQ4QTk2IDk2IDAgMSAwIDk2IDI1NmE5NiA5NiAwIDEgMCAxOTIgMHptLTk2LTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFNb3VuZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb3VuZCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTUyZFwiLCBcIk0xNDQuMSAxNzkuMkMxNzMuOCAxMjcuNyAyMjguNiA5NiAyODggOTZzMTE0LjIgMzEuNyAxNDMuOSA4My4yTDU0MC40IDM2OGMxMi4zIDIxLjMtMy4xIDQ4LTI3LjcgNDhINjMuM2MtMjQuNiAwLTQwLTI2LjYtMjcuNy00OEwxNDQuMSAxNzkuMnpcIl1cbn07XG52YXIgZmFUb2lsZXRQb3J0YWJsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0b2lsZXQtcG9ydGFibGUnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcImU1ODNcIiwgXCJNMCAzMlY2NEgzMjBWMzJjMC0xNy43LTE0LjMtMzItMzItMzJIMzJDMTQuMyAwIDAgMTQuMyAwIDMyek0yNCA5NkgwdjI0VjQ4OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0di04SDI3MnY4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWMTIwIDk2SDI5NiAyNHpNMjU2IDI0MHY2NGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlYyNDBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnpcIl1cbn07XG52YXIgZmFDb21wYWN0RGlzYyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb21wYWN0LWRpc2MnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgxOTEsIDEyODE5MiwgMTI4NDQwXSwgXCJmNTFmXCIsIFwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnptMjU2IDMyYTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHptLTk2LTMyYTk2IDk2IDAgMSAwIDE5MiAwIDk2IDk2IDAgMSAwIC0xOTIgMHpNOTYgMjQwYzAtMzUgMTcuNS03MS4xIDQ1LjItOTguOFMyMDUgOTYgMjQwIDk2YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2Yy00NS40IDAtODkuMiAyMi4zLTEyMS41IDU0LjVTNjQgMTk0LjYgNjQgMjQwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZ6XCJdXG59O1xudmFyIGZhRmlsZUFycm93RG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLWFycm93LWRvd24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImZpbGUtZG93bmxvYWRcIl0sIFwiZjU2ZFwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzIwYzM1LjMgMCA2NC0yOC43IDY0LTY0VjE2MEgyNTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjBINjR6TTI1NiAwVjEyOEgzODRMMjU2IDB6TTIxNiAyMzJWMzM0LjFsMzEtMzFjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC03MiA3MmMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBsLTcyLTcyYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMzEgMzFWMjMyYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6XCJdXG59O1xudmFyIGZhRmlsZURvd25sb2FkID0gZmFGaWxlQXJyb3dEb3duO1xudmFyIGZhQ2FyYXZhbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXJhdmFuJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmOGZmXCIsIFwiTTAgMTEyQzAgNjcuOCAzNS44IDMyIDgwIDMySDQxNmM4OC40IDAgMTYwIDcxLjYgMTYwIDE2MFYzNTJoMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDBIMjg4YzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2SDgwYy00NC4yIDAtODAtMzUuOC04MC04MFYxMTJ6TTMyMCAzNTJINDQ4VjI1Nkg0MTZjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZoMzJWMTYwYzAtMTcuNy0xNC4zLTMyLTMyLTMySDM1MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJWMzUyek05NiAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjY0YzAgMTcuNyAxNC4zIDMyIDMyIDMySDIyNGMxNy43IDAgMzItMTQuMyAzMi0zMlYxNjBjMC0xNy43LTE0LjMtMzItMzItMzJIOTZ6bTk2IDMzNmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6XCJdXG59O1xudmFyIGZhU2hpZWxkQ2F0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoaWVsZC1jYXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1NzJcIiwgXCJNMjY5LjQgMi45QzI2NS4yIDEgMjYwLjcgMCAyNTYgMHMtOS4yIDEtMTMuNCAyLjlMNTQuMyA4Mi44Yy0yMiA5LjMtMzguNCAzMS0zOC4zIDU3LjJjLjUgOTkuMiA0MS4zIDI4MC43IDIxMy42IDM2My4yYzE2LjcgOCAzNi4xIDggNTIuOCAwQzQ1NC43IDQyMC43IDQ5NS41IDIzOS4yIDQ5NiAxNDBjLjEtMjYuMi0xNi4zLTQ3LjktMzguMy01Ny4yTDI2OS40IDIuOXpNMTYwIDE1NC40YzAtNS44IDQuNy0xMC40IDEwLjQtMTAuNGguMmMzLjQgMCA2LjUgMS42IDguNSA0LjNsNDAgNTMuM2MzIDQgNy44IDYuNCAxMi44IDYuNGg0OGM1IDAgOS44LTIuNCAxMi44LTYuNGw0MC01My4zYzItMi43IDUuMi00LjMgOC41LTQuM2guMmM1LjggMCAxMC40IDQuNyAxMC40IDEwLjRWMjcyYzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2VjE1NC40ek0yMTYgMjg4YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnptOTYtMTZhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHpcIl1cbn07XG52YXIgZmFCb2x0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JvbHQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5ODg5LCBcInphcFwiXSwgXCJmMGU3XCIsIFwiTTM0OS40IDQ0LjZjNS45LTEzLjcgMS41LTI5LjctMTAuNi0zOC41cy0yOC42LTgtMzkuOSAxLjhsLTI1NiAyMjRjLTEwIDguOC0xMy42IDIyLjktOC45IDM1LjNTNTAuNyAyODggNjQgMjg4SDE3NS41TDk4LjYgNDY3LjRjLTUuOSAxMy43LTEuNSAyOS43IDEwLjYgMzguNXMyOC42IDggMzkuOS0xLjhsMjU2LTIyNGMxMC04LjggMTMuNi0yMi45IDguOS0zNS4zcy0xNi42LTIwLjctMzAtMjAuN0gyNzIuNUwzNDkuNCA0NC42elwiXVxufTtcbnZhciBmYVphcCA9IGZhQm9sdDtcbnZhciBmYUdsYXNzV2F0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ2xhc3Mtd2F0ZXInLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImU0ZjRcIiwgXCJNMzIgMEMyMy4xIDAgMTQuNiAzLjcgOC42IDEwLjJTLS42IDI1LjQgLjEgMzQuM0wyOC45IDQzNy43YzMgNDEuOSAzNy44IDc0LjMgNzkuOCA3NC4zSDI3NS4zYzQyIDAgNzYuOC0zMi40IDc5LjgtNzQuM0wzODMuOSAzNC4zYy42LTguOS0yLjQtMTcuNi04LjUtMjQuMVMzNjAuOSAwIDM1MiAwSDMyek03MyAxNTYuNUw2Ni40IDY0SDMxNy42TDMxMSAxNTYuNWwtMjQuMiAxMi4xYy0xOS40IDkuNy00Mi4yIDkuNy02MS42IDBjLTIwLjktMTAuNC00NS41LTEwLjQtNjYuNCAwYy0xOS40IDkuNy00Mi4yIDkuNy02MS42IDBMNzMgMTU2LjV6XCJdXG59O1xudmFyIGZhT2lsV2VsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdvaWwtd2VsbCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTUzMlwiLCBcIk01MjguMyA2MS4zYy0xMS40LTQyLjctNTUuMy02OC05OC01Ni42TDQxNC45IDguOEMzOTcuOCAxMy40IDM4Ny43IDMxIDM5Mi4zIDQ4bDI0LjUgOTEuNEwzMDguNSAxNjcuNWwtNi4zLTE4LjFDMjk3LjcgMTM2LjYgMjg1LjYgMTI4IDI3MiAxMjhzLTI1LjcgOC42LTMwLjIgMjEuNGwtMTMuNiAzOUw5NiAyMjIuNlYxODRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRWNDQ4SDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDU0NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg0MDYuN0wzNDAgMjU3LjVsLTYyLjIgMTYuMUwzMDUuMyAzNTJIMjM4LjdMMjY1IDI3N2wtNzQuNiAxOS4zTDEzNy4zIDQ0OEg5NlYyODguOGwzMzcuNC04Ny41IDI1LjIgOTRjNC42IDE3LjEgMjIuMSAyNy4yIDM5LjIgMjIuNmwxNS41LTQuMWM0Mi43LTExLjQgNjgtNTUuMyA1Ni42LTk4TDUyOC4zIDYxLjN6TTIwNS4xIDQ0OGwxMS4yLTMySDMyNy43bDExLjIgMzJIMjA1LjF6XCJdXG59O1xudmFyIGZhVmF1bHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmF1bHQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImUyYzVcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDgwbDE2IDMyaDY0bDE2LTMySDQwMGwxNiAzMmg2NGwxNi0zMmgxNmMzNS4zIDAgNjQtMjguNyA2NC02NFY2NGMwLTM1LjMtMjguNy02NC02NC02NEg2NHpNMjI0IDMyMGE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHptMC0yNDBhMTYwIDE2MCAwIDEgMSAwIDMyMCAxNjAgMTYwIDAgMSAxIDAtMzIwek00ODAgMjIxLjNWMzM2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjIyMS4zYy0xOC42LTYuNi0zMi0yNC40LTMyLTQ1LjNjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGMwIDIwLjktMTMuNCAzOC43LTMyIDQ1LjN6XCJdXG59O1xudmFyIGZhTWFycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXJzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbOTc5NF0sIFwiZjIyMlwiLCBcIk0yODkuOCA0Ni44YzMuNy05IDEyLjUtMTQuOCAyMi4yLTE0LjhINDI0YzEzLjMgMCAyNCAxMC43IDI0IDI0VjE2OGMwIDkuNy01LjggMTguNS0xNC44IDIyLjJzLTE5LjMgMS43LTI2LjItNS4ybC0zMy40LTMzLjRMMzIxIDIwNC4yYzE5LjUgMjguNCAzMSA2Mi43IDMxIDk5LjhjMCA5Ny4yLTc4LjggMTc2LTE3NiAxNzZTMCA0MDEuMiAwIDMwNHM3OC44LTE3NiAxNzYtMTc2YzM3IDAgNzEuNCAxMS40IDk5LjggMzFsNTIuNi01Mi42TDI5NSA3M2MtNi45LTYuOS04LjktMTcuMi01LjItMjYuMnpNNDAwIDgwbDAgMGgwdjB6TTE3NiA0MTZhMTEyIDExMiAwIDEgMCAwLTIyNCAxMTIgMTEyIDAgMSAwIDAgMjI0elwiXVxufTtcbnZhciBmYVRvaWxldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0b2lsZXQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjg3MDFdLCBcImY3ZDhcIiwgXCJNMjQgMEMxMC43IDAgMCAxMC43IDAgMjRTMTAuNyA0OCAyNCA0OGg4VjE5Ni45Yy0xLjkgMS40LTMuOCAyLjktNS42IDQuNEMxMC45IDIxNC41IDAgMjMyLjkgMCAyNTZjMCA0Ni45IDE0LjMgODQuMSAzNyAxMTIuNWMxNC4yIDE3LjcgMzEuMSAzMS4zIDQ4LjUgNDEuOEw2NS42IDQ2OS45Yy0zLjMgOS44LTEuNiAyMC41IDQuNCAyOC44czE1LjcgMTMuMyAyNiAxMy4zSDM1MmMxMC4zIDAgMTkuOS00LjkgMjYtMTMuM3M3LjctMTkuMSA0LjQtMjguOGwtMTkuOC01OS41YzE3LjQtMTAuNSAzNC4zLTI0LjEgNDguNS00MS44YzIyLjctMjguNCAzNy02NS41IDM3LTExMi41YzAtMjMuMS0xMC45LTQxLjUtMjYuNC01NC42Yy0xLjgtMS41LTMuNy0zLTUuNi00LjRWNDhoOGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEgyNHpNMzg0IDI1Ni4zYzAgMS0uMyAyLjYtMy44IDUuNmMtNC44IDQuMS0xNCA5LTI5LjMgMTMuNEMzMjAuNSAyODQgMjc2LjEgMjg4IDIyNCAyODhzLTk2LjUtNC0xMjYuOS0xMi44Yy0xNS4zLTQuNC0yNC41LTkuMy0yOS4zLTEzLjRjLTMuNS0zLTMuOC00LjYtMy44LTUuNmwwLS4zIDAtLjFjMC0xIDAtMi41IDMuOC01LjhjNC44LTQuMSAxNC05IDI5LjMtMTMuNEMxMjcuNSAyMjggMTcxLjkgMjI0IDIyNCAyMjRzOTYuNSA0IDEyNi45IDEyLjhjMTUuMyA0LjQgMjQuNSA5LjMgMjkuMyAxMy40YzMuOCAzLjIgMy44IDQuOCAzLjggNS44bDAgLjEgMCAuM3pNMzI4LjIgMzg0bC0uMiAuNSAwLS41aC4yek0xMTIgNjRoMzJjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMTEyYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2elwiXVxufTtcbnZhciBmYVBsYW5lQ2lyY2xlWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGxhbmUtY2lyY2xlLXhtYXJrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTU3XCIsIFwiTTI1NiAwYy0zNSAwLTY0IDU5LjUtNjQgOTMuN3Y4NC42TDguMSAyODMuNGMtNSAyLjgtOC4xIDguMi04LjEgMTMuOXY2NS41YzAgMTAuNiAxMC4yIDE4LjMgMjAuNCAxNS40bDE3MS42LTQ5IDAgNzAuOS01Ny42IDQzLjJjLTQgMy02LjQgNy44LTYuNCAxMi44djQyYzAgNy44IDYuMyAxNCAxNCAxNGMxLjMgMCAyLjYtLjIgMy45LS41TDI1NiA0ODBsMTEwLjEgMzEuNWMxLjMgLjQgMi42IC41IDMuOSAuNWM2IDAgMTEuMS0zLjcgMTMuMS05QzM0NC41IDQ3MC43IDMyMCA0MjIuMiAzMjAgMzY4YzAtNjAuNiAzMC42LTExNCA3Ny4xLTE0NS42TDMyMCAxNzguM1Y5My43QzMyMCA1OS41IDI5MiAwIDI1NiAwek00OTYgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptNTkuMy0xODAuN0w1MTguNiAzNjhsMzYuNyAzNi43YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBMNDk2IDM5MC42bC0zNi43IDM2LjdjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZMNDczLjQgMzY4bC0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMEw0OTYgMzQ1LjRsMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnpcIl1cbn07XG52YXIgZmFZZW5TaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3llbi1zaWduJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTY1LCBcImNueVwiLCBcImpweVwiLCBcInJtYlwiLCBcInllblwiXSwgXCJmMTU3XCIsIFwiTTU4LjYgNDYuMkM0OC44IDMxLjUgMjkgMjcuNiAxNC4zIDM3LjRTLTQuNCA2NyA1LjQgODEuN0wxMDAuMiAyMjRINDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoODB2MzJINDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoODB2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzODRoODBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTkyVjI4OGg4MGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgyMTkuOEwzMTQuNiA4MS43YzkuOC0xNC43IDUuOC0zNC42LTguOS00NC40cy0zNC42LTUuOC00NC40IDguOUwxNjAgMTk4LjMgNTguNiA0Ni4yelwiXVxufTtcbnZhciBmYUNueSA9IGZhWWVuU2lnbjtcbnZhciBmYUpweSA9IGZhWWVuU2lnbjtcbnZhciBmYVJtYiA9IGZhWWVuU2lnbjtcbnZhciBmYVllbiA9IGZhWWVuU2lnbjtcbnZhciBmYVJ1YmxlU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdydWJsZS1zaWduJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbODM4MSwgXCJyb3VibGVcIiwgXCJydWJcIiwgXCJydWJsZVwiXSwgXCJmMTU4XCIsIFwiTTk2IDMyQzc4LjMgMzIgNjQgNDYuMyA2NCA2NFYyNTZIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINjR2MzJIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINjR2MzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlY0MTZIMjg4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDEyOFYzMjBIMjQwYzc5LjUgMCAxNDQtNjQuNSAxNDQtMTQ0cy02NC41LTE0NC0xNDQtMTQ0SDk2ek0yNDAgMjU2SDEyOFY5NkgyNDBjNDQuMiAwIDgwIDM1LjggODAgODBzLTM1LjggODAtODAgODB6XCJdXG59O1xudmFyIGZhUm91YmxlID0gZmFSdWJsZVNpZ247XG52YXIgZmFSdWIgPSBmYVJ1YmxlU2lnbjtcbnZhciBmYVJ1YmxlID0gZmFSdWJsZVNpZ247XG52YXIgZmFTdW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3VuJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTcyOF0sIFwiZjE4NVwiLCBcIk0zNjEuNSAxLjJjNSAyLjEgOC42IDYuNiA5LjYgMTEuOUwzOTEgMTIxbDEwNy45IDE5LjhjNS4zIDEgOS44IDQuNiAxMS45IDkuNnMxLjUgMTAuNy0xLjYgMTUuMkw0NDYuOSAyNTZsNjIuMyA5MC4zYzMuMSA0LjUgMy43IDEwLjIgMS42IDE1LjJzLTYuNiA4LjYtMTEuOSA5LjZMMzkxIDM5MSAzNzEuMSA0OTguOWMtMSA1LjMtNC42IDkuOC05LjYgMTEuOXMtMTAuNyAxLjUtMTUuMi0xLjZMMjU2IDQ0Ni45bC05MC4zIDYyLjNjLTQuNSAzLjEtMTAuMiAzLjctMTUuMiAxLjZzLTguNi02LjYtOS42LTExLjlMMTIxIDM5MSAxMy4xIDM3MS4xYy01LjMtMS05LjgtNC42LTExLjktOS42cy0xLjUtMTAuNyAxLjYtMTUuMkw2NS4xIDI1NiAyLjggMTY1LjdjLTMuMS00LjUtMy43LTEwLjItMS42LTE1LjJzNi42LTguNiAxMS45LTkuNkwxMjEgMTIxIDE0MC45IDEzLjFjMS01LjMgNC42LTkuOCA5LjYtMTEuOXMxMC43LTEuNSAxNS4yIDEuNkwyNTYgNjUuMSAzNDYuMyAyLjhjNC41LTMuMSAxMC4yLTMuNyAxNS4yLTEuNnpNMTYwIDI1NmE5NiA5NiAwIDEgMSAxOTIgMCA5NiA5NiAwIDEgMSAtMTkyIDB6bTIyNCAwYTEyOCAxMjggMCAxIDAgLTI1NiAwIDEyOCAxMjggMCAxIDAgMjU2IDB6XCJdXG59O1xudmFyIGZhR3VpdGFyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2d1aXRhcicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjdhNlwiLCBcIk00NjUgN2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBMMzgzIDU1Yy0yLjQgMi40LTQuMyA1LjMtNS41IDguNWwtMTUuNCA0MS03Ny41IDc3LjZjLTQ1LjEtMjkuNC05OS4zLTMwLjItMTMxIDEuNmMtMTEgMTEtMTggMjQuNi0yMS40IDM5LjZjLTMuNyAxNi42LTE5LjEgMzAuNy0zNi4xIDMxLjZjLTI1LjYgMS4zLTQ5LjMgMTAuNy02Ny4zIDI4LjZDLTE2IDMyOC40LTcuNiA0MDkuNCA0Ny41IDQ2NC41czEzNi4xIDYzLjUgMTgwLjkgMTguN2MxNy45LTE3LjkgMjcuNC00MS43IDI4LjYtNjcuM2MuOS0xNyAxNS0zMi4zIDMxLjYtMzYuMWMxNS0zLjQgMjguNi0xMC41IDM5LjYtMjEuNGMzMS44LTMxLjggMzEtODUuOSAxLjYtMTMxbDc3LjYtNzcuNiA0MS0xNS40YzMuMi0xLjIgNi4xLTMuMSA4LjUtNS41bDQ4LTQ4YzkuNC05LjQgOS40LTI0LjYgMC0zMy45TDQ2NSA3ek0yMDggMjU2YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpcIl1cbn07XG52YXIgZmFGYWNlTGF1Z2hXaW5rID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtbGF1Z2gtd2luaycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibGF1Z2gtd2lua1wiXSwgXCJmNTljXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek05Ni44IDMxNC4xYy0zLjgtMTMuNyA3LjQtMjYuMSAyMS42LTI2LjFIMzkzLjZjMTQuMiAwIDI1LjUgMTIuNCAyMS42IDI2LjFDMzk2LjIgMzgyIDMzMi4xIDQzMiAyNTYgNDMycy0xNDAuMi01MC0xNTkuMi0xMTcuOXpNMTQ0LjQgMTkyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE1Ni40IDI1LjZjLTUuMyA3LjEtMTUuMyA4LjUtMjIuNCAzLjJzLTguNS0xNS4zLTMuMi0yMi40YzMwLjQtNDAuNSA5MS4yLTQwLjUgMTIxLjYgMGM1LjMgNy4xIDMuOSAxNy4xLTMuMiAyMi40cy0xNy4xIDMuOS0yMi40LTMuMmMtMTcuNi0yMy41LTUyLjgtMjMuNS03MC40IDB6XCJdXG59O1xudmFyIGZhTGF1Z2hXaW5rID0gZmFGYWNlTGF1Z2hXaW5rO1xudmFyIGZhSG9yc2VIZWFkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvcnNlLWhlYWQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY3YWJcIiwgXCJNNjQgNDY0VjMxNi45YzAtMTA4LjQgNjguMy0yMDUuMSAxNzAuNS0yNDEuM0w0MDQuMiAxNS41QzQyNS42IDcuOSA0NDggMjMuOCA0NDggNDYuNGMwIDExLTUuNSAyMS4yLTE0LjYgMjcuM0w0MDAgOTZjNDguMSAwIDkxLjIgMjkuOCAxMDguMSA3NC45bDQ4LjYgMTI5LjVjMTEuOCAzMS40IDQuMSA2Ni44LTE5LjYgOTAuNWMtMTYgMTYtMzcuOCAyNS4xLTYwLjUgMjUuMWgtMy40Yy0yNi4xIDAtNTAuOS0xMS42LTY3LjYtMzEuN2wtMzIuMy0zOC43Yy0xMS43IDQuMS0yNC4yIDYuNC0zNy4zIDYuNGwtLjEgMCAwIDBjLTYuMyAwLTEyLjUtLjUtMTguNi0xLjVjLTMuNi0uNi03LjItMS40LTEwLjctMi4zbDAgMGMtMjguOS03LjgtNTMuMS0yNi44LTY3LjgtNTIuMmMtNC40LTcuNi0xNC4yLTEwLjMtMjEuOS01LjhzLTEwLjMgMTQuMi01LjggMjEuOWMyNCA0MS41IDY4LjMgNzAgMTE5LjMgNzEuOWw0Ny4yIDcwLjhjNCA2LjEgNi4yIDEzLjIgNi4yIDIwLjRjMCAyMC4zLTE2LjUgMzYuOC0zNi44IDM2LjhIMTEyYy0yNi41IDAtNDgtMjEuNS00OC00OHpNMzkyIDIyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6XCJdXG59O1xudmFyIGZhQm9yZUhvbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9yZS1ob2xlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNGMzXCIsIFwiTTI1NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMlYyOTYuNmMtMTkuMSAxMS4xLTMyIDMxLjctMzIgNTUuNGMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0YzAtMjMuNy0xMi45LTQ0LjQtMzItNTUuNFYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNNDggMTI4Yy0yNi41IDAtNDggMjEuNS00OCA0OFY0NjRjMCAyNi41IDIxLjUgNDggNDggNDhINDY0YzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjE3NmMwLTI2LjUtMjEuNS00OC00OC00OEgzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyVjM1MmMwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05NlYxNjBjMC0xNy43LTE0LjMtMzItMzItMzJINDh6XCJdXG59O1xudmFyIGZhSW5kdXN0cnkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaW5kdXN0cnknLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImYyNzVcIiwgXCJNNjQgMzJDNDYuMyAzMiAzMiA0Ni4zIDMyIDY0VjMwNHY0OCA4MGMwIDI2LjUgMjEuNSA0OCA0OCA0OEg0OTZjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMzA0IDE1Mi4yYzAtMTguMi0xOS40LTI5LjctMzUuNC0yMS4xTDM1MiAyMTUuNFYxNTIuMmMwLTE4LjItMTkuNC0yOS43LTM1LjQtMjEuMUwxNjAgMjE1LjRWNjRjMC0xNy43LTE0LjMtMzItMzItMzJINjR6XCJdXG59O1xudmFyIGZhQ2lyY2xlRG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtZG93bicsXG4gIGljb246IFs1MTIsIDUxMiwgWzYxNDY2LCBcImFycm93LWFsdC1jaXJjbGUtZG93blwiXSwgXCJmMzU4XCIsIFwiTTI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMHpNMzc2LjkgMjk0LjZMMjY5LjggMzk0LjVjLTMuOCAzLjUtOC43IDUuNS0xMy44IDUuNXMtMTAuMS0yLTEzLjgtNS41TDEzNS4xIDI5NC42Yy00LjUtNC4yLTcuMS0xMC4xLTcuMS0xNi4zYzAtMTIuMyAxMC0yMi4zIDIyLjMtMjIuM2w1Ny43IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTYgNTcuNyAwYzEyLjMgMCAyMi4zIDEwIDIyLjMgMjIuM2MwIDYuMi0yLjYgMTIuMS03LjEgMTYuM3pcIl1cbn07XG52YXIgZmFBcnJvd0FsdENpcmNsZURvd24gPSBmYUNpcmNsZURvd247XG52YXIgZmFBcnJvd3NUdXJuVG9Eb3RzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93cy10dXJuLXRvLWRvdHMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0YzFcIiwgXCJNMjQ5LjQgMjUuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zTDI2OS4zIDk2IDQxNiA5NmM1MyAwIDk2IDQzIDk2IDk2djMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjE5MmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTQ2LjcgMCAyNS40IDI1LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBsLTgwLTgwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2w4MC04MHptMTMuMyAyNTZsODAgODBjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTgwIDgwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wyNDIuNyA0MTYgOTYgNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnYzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY0NDhjMC01MyA0My05NiA5Ni05NmwxNDYuNyAwLTI1LjQtMjUuNGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMHpNMzg0IDM4NGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6TTY0IDE5MkE2NCA2NCAwIDEgMSA2NCA2NGE2NCA2NCAwIDEgMSAwIDEyOHpcIl1cbn07XG52YXIgZmFGbG9yaW5TaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Zsb3Jpbi1zaWduJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlMTg0XCIsIFwiTTMxNC43IDMyYy0zOC44IDAtNzMuNyAyMy4zLTg4LjYgNTkuMUwxNzAuNyAyMjRINjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoODBMOTguOSAzOTYuM2MtNSAxMS45LTE2LjYgMTkuNy0yOS41IDE5LjdIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINjkuM2MzOC44IDAgNzMuNy0yMy4zIDg4LjYtNTkuMUwyMTMuMyAyODhIMzIwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDI0MGw0NS4xLTEwOC4zYzUtMTEuOSAxNi42LTE5LjcgMjkuNS0xOS43SDM1MmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMTQuN3pcIl1cbn07XG52YXIgZmFBcnJvd0Rvd25TaG9ydFdpZGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctZG93bi1zaG9ydC13aWRlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzb3J0LWFtb3VudC1kZXNjXCIsIFwic29ydC1hbW91bnQtZG93bi1hbHRcIl0sIFwiZjg4NFwiLCBcIk0xNTEuNiA0NjkuNkMxNDUuNSA0NzYuMiAxMzcgNDgwIDEyOCA0ODBzLTE3LjUtMy44LTIzLjYtMTAuNGwtODgtOTZjLTExLjktMTMtMTEuMS0zMy4zIDItNDUuMnMzMy4zLTExLjEgNDUuMiAyTDk2IDM2NS43VjY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJWMzY1LjdsMzIuNC0zNS40YzExLjktMTMgMzIuMi0xMy45IDQ1LjItMnMxMy45IDMyLjIgMiA0NS4ybC04OCA5NnpNMzIwIDMyaDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMCAxMjhoOTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzIwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem0wIDEyOEg0ODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzIwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem0wIDEyOEg1NDRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzIwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyelwiXVxufTtcbnZhciBmYVNvcnRBbW91bnREZXNjID0gZmFBcnJvd0Rvd25TaG9ydFdpZGU7XG52YXIgZmFTb3J0QW1vdW50RG93bkFsdCA9IGZhQXJyb3dEb3duU2hvcnRXaWRlO1xudmFyIGZhTGVzc1RoYW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGVzcy10aGFuJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbNjI3NzRdLCBcIjNjXCIsIFwiTTM4MC42IDgxLjdjNy45IDE1LjggMS41IDM1LTE0LjMgNDIuOUwxMDMuNiAyNTYgMzY2LjMgMzg3LjRjMTUuOCA3LjkgMjIuMiAyNy4xIDE0LjMgNDIuOXMtMjcuMSAyMi4yLTQyLjkgMTQuM2wtMzIwLTE2MEM2LjggMjc5LjIgMCAyNjguMSAwIDI1NnM2LjgtMjMuMiAxNy43LTI4LjZsMzIwLTE2MGMxNS44LTcuOSAzNS0xLjUgNDIuOSAxNC4zelwiXVxufTtcbnZhciBmYUFuZ2xlRG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbmdsZS1kb3duJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbODk2NF0sIFwiZjEwN1wiLCBcIk0yMDEuNCAzNzQuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxNjAtMTYwYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDIyNCAzMDYuNyA4Ni42IDE2OS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYwelwiXVxufTtcbnZhciBmYUNhclR1bm5lbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXItdHVubmVsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNGRlXCIsIFwiTTI1NiAwQzExNC42IDAgMCAxMTQuNiAwIDI1NlY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRoNDIuOGMtNi42LTUuOS0xMC44LTE0LjQtMTAuOC0yNFYzNzZjMC0yMC44IDExLjMtMzguOSAyOC4xLTQ4LjZsMjEtNjQuN2M3LjUtMjMuMSAyOS0zOC43IDUzLjMtMzguN0gzMTMuNmMyNC4zIDAgNDUuOCAxNS42IDUzLjMgMzguN2wyMSA2NC43YzE2LjggOS43IDI4LjIgMjcuOCAyOC4yIDQ4LjZWNDg4YzAgOS42LTQuMiAxOC4xLTEwLjggMjRINDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0VjI1NkM1MTIgMTE0LjYgMzk3LjQgMCAyNTYgMHpNMzYyLjggNTEyYy02LjYtNS45LTEwLjgtMTQuNC0xMC44LTI0VjQ0OEgxNjB2NDBjMCA5LjYtNC4yIDE4LjEtMTAuOCAyNEgzNjIuOHpNMTkwLjggMjc3LjVMMTc3IDMyMEgzMzVsLTEzLjgtNDIuNWMtMS4xLTMuMy00LjEtNS41LTcuNi01LjVIMTk4LjRjLTMuNSAwLTYuNSAyLjItNy42IDUuNXpNMTY4IDQwOGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTIwMC0yNGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwelwiXVxufTtcbnZhciBmYUhlYWRTaWRlQ291Z2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVhZC1zaWRlLWNvdWdoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlMDYxXCIsIFwiTTAgMjI0LjJDMCAxMDAuNiAxMDAuMiAwIDIyNCAwaDI0Yzk1LjIgMCAxODEuMiA2OS4zIDE5Ny4zIDE2MC4yYzIuMyAxMyA2LjggMjUuNyAxNS4xIDM2bDQyIDUyLjZjNi4yIDcuOCA5LjYgMTcuNCA5LjYgMjcuNGMwIDI0LjItMTkuNiA0My44LTQzLjggNDMuOEg0NDh2MCAzMkwzMzkuMiAzNjUuNmMtMTEgMS40LTE5LjIgMTAuNy0xOS4yIDIxLjhjMCAxMS42IDkgMjEuMiAyMC42IDIxLjlMNDQ4IDQxNnYxNmMwIDI2LjUtMjEuNSA0OC00OCA0OEgzMjB2OGMwIDEzLjMtMTAuNyAyNC0yNCAyNEgyNTZ2MEg5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDA3LjNjMC0xNi43LTYuOS0zMi41LTE3LjEtNDUuOEMxNi42IDMyMi40IDAgMjc0LjEgMCAyMjQuMnptMzUyLS4yYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNNDY0IDM4NGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem0xNTItMjRhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4ek01OTIgNDgwYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6TTU1MiAzMTJhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em00MC0yNGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwek01NTIgNDA4YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpcIl1cbn07XG52YXIgZmFHcmlwTGluZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ3JpcC1saW5lcycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjdhNFwiLCBcIk0zMiAyODhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMjg4em0wLTEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAxNjB6XCJdXG59O1xudmFyIGZhVGh1bWJzRG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0aHVtYnMtZG93bicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODA3OCwgNjE1NzZdLCBcImYxNjVcIiwgXCJNMzEzLjQgNDc5LjFjMjYtNS4yIDQyLjktMzAuNSAzNy43LTU2LjVsLTIuMy0xMS40Yy01LjMtMjYuNy0xNS4xLTUyLjEtMjguOC03NS4ySDQ2NGMyNi41IDAgNDgtMjEuNSA0OC00OGMwLTE4LjUtMTAuNS0zNC42LTI1LjktNDIuNkM0OTcgMjM2LjYgNTA0IDIyMy4xIDUwNCAyMDhjMC0yMy40LTE2LjgtNDIuOS0zOC45LTQ3LjFjNC40LTcuMyA2LjktMTUuOCA2LjktMjQuOWMwLTIxLjMtMTMuOS0zOS40LTMzLjEtNDUuNmMuNy0zLjMgMS4xLTYuOCAxLjEtMTAuNGMwLTI2LjUtMjEuNS00OC00OC00OEgyOTQuNWMtMTkgMC0zNy41IDUuNi01My4zIDE2LjFMMjAyLjcgNzMuOEMxNzYgOTEuNiAxNjAgMTIxLjYgMTYwIDE1My43VjE5MnY0OCAyNC45YzAgMjkuMiAxMy4zIDU2LjcgMzYgNzVsNy40IDUuOWMyNi41IDIxLjIgNDQuNiA1MSA1MS4yIDg0LjJsMi4zIDExLjRjNS4yIDI2IDMwLjUgNDIuOSA1Ni41IDM3Ljd6TTMyIDM4NEg5NmMxNy43IDAgMzItMTQuMyAzMi0zMlYxMjhjMC0xNy43LTE0LjMtMzItMzItMzJIMzJDMTQuMyA5NiAwIDExMC4zIDAgMTI4VjM1MmMwIDE3LjcgMTQuMyAzMiAzMiAzMnpcIl1cbn07XG52YXIgZmFVc2VyTG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLWxvY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY1MDJcIiwgXCJNMjI0IDI1NkExMjggMTI4IDAgMSAwIDIyNCAwYTEyOCAxMjggMCAxIDAgMCAyNTZ6bS00NS43IDQ4Qzc5LjggMzA0IDAgMzgzLjggMCA0ODIuM0MwIDQ5OC43IDEzLjMgNTEyIDI5LjcgNTEySDM5Mi42Yy01LjQtOS40LTguNi0yMC4zLTguNi0zMlYzNTJjMC0yLjEgLjEtNC4yIC4zLTYuM2MtMzEtMjYtNzEtNDEuNy0xMTQuNi00MS43SDE3OC4zek01MjggMjQwYzE3LjcgMCAzMiAxNC4zIDMyIDMydjQ4SDQ5NlYyNzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bS04MCAzMnY0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMySDYwOGMxNy43IDAgMzItMTQuMyAzMi0zMlYzNTJjMC0xNy43LTE0LjMtMzItMzItMzJWMjcyYzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwelwiXVxufTtcbnZhciBmYUFycm93UmlnaHRMb25nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXJpZ2h0LWxvbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImxvbmctYXJyb3ctcmlnaHRcIl0sIFwiZjE3OFwiLCBcIk01MDIuNiAyNzguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTI4LTEyOGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMNDAyLjcgMjI0IDMyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzNzAuNyAwLTczLjQgNzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4elwiXVxufTtcbnZhciBmYUxvbmdBcnJvd1JpZ2h0ID0gZmFBcnJvd1JpZ2h0TG9uZztcbnZhciBmYUFuY2hvckNpcmNsZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2FuY2hvci1jaXJjbGUteG1hcmsnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0YWNcIiwgXCJNMzIwIDk2YTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6bTIxLjEgODBDMzY3IDE1OC44IDM4NCAxMjkuNCAzODQgOTZjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZjMCAzMy40IDE3IDYyLjggNDIuOSA4MEgyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoMzJWNDQ4SDIwOGMtNTMgMC05Ni00My05Ni05NnYtNi4xbDcgN2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMOTcgMjYzYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMEw3IDMxOWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDctN1YzNTJjMCA4OC40IDcxLjYgMTYwIDE2MCAxNjBoODAgODBjOC4yIDAgMTYuMy0uNiAyNC4yLTEuOGMtMjIuMi0xNi4yLTQwLjQtMzcuNS01My02Mi4ySDMyMFYzNjggMjQwaDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDM0MS4xek00OTYgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptNTkuMy0xODAuN0w1MTguNiAzNjhsMzYuNyAzNi43YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBMNDk2IDM5MC42bC0zNi43IDM2LjdjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZMNDczLjQgMzY4bC0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMEw0OTYgMzQ1LjRsMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnpcIl1cbn07XG52YXIgZmFFbGxpcHNpcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdlbGxpcHNpcycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiZWxsaXBzaXMtaFwiXSwgXCJmMTQxXCIsIFwiTTggMjU2YTU2IDU2IDAgMSAxIDExMiAwQTU2IDU2IDAgMSAxIDggMjU2em0xNjAgMGE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6bTIxNi01NmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnpcIl1cbn07XG52YXIgZmFFbGxpcHNpc0ggPSBmYUVsbGlwc2lzO1xudmFyIGZhQ2hlc3NQYXduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZXNzLXBhd24nLFxuICBpY29uOiBbMzIwLCA1MTIsIFs5ODIzXSwgXCJmNDQzXCIsIFwiTTIxNS41IDIyNGMyOS4yLTE4LjQgNDguNS01MC45IDQ4LjUtODhjMC01Ny40LTQ2LjYtMTA0LTEwNC0xMDRTNTYgNzguNiA1NiAxMzZjMCAzNy4xIDE5LjQgNjkuNiA0OC41IDg4SDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmMwIDE2LjUgMTIuNSAzMCAyOC41IDMxLjhMODAgNDAwSDI0MEwyMjcuNSAyODcuOGMxNi0xLjggMjguNS0xNS4zIDI4LjUtMzEuOGMwLTE3LjctMTQuMy0zMi0zMi0zMmgtOC41ek0yMi42IDQ3My40Yy00LjIgNC4yLTYuNiAxMC02LjYgMTZDMTYgNTAxLjkgMjYuMSA1MTIgMzguNiA1MTJIMjgxLjRjMTIuNSAwIDIyLjYtMTAuMSAyMi42LTIyLjZjMC02LTIuNC0xMS44LTYuNi0xNkwyNTYgNDMySDY0TDIyLjYgNDczLjR6XCJdXG59O1xudmFyIGZhS2l0TWVkaWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdraXQtbWVkaWNhbCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiZmlyc3QtYWlkXCJdLCBcImY0NzlcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRIOTZWMzJINjR6bTY0IDBWNDgwSDQ0OFYzMkgxMjh6TTUxMiA0ODBjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINDgwVjQ4MGgzMnpNMjU2IDE3NmMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djQ4aDQ4YzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMzIwdjQ4YzAgOC44LTcuMiAxNi0xNiAxNkgyNzJjLTguOCAwLTE2LTcuMi0xNi0xNlYyODhIMjA4Yy04LjggMC0xNi03LjItMTYtMTZWMjQwYzAtOC44IDcuMi0xNiAxNi0xNmg0OFYxNzZ6XCJdXG59O1xudmFyIGZhRmlyc3RBaWQgPSBmYUtpdE1lZGljYWw7XG52YXIgZmFQZXJzb25UaHJvdWdoV2luZG93ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi10aHJvdWdoLXdpbmRvdycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTVhOVwiLCBcIk02NCA2NGwyMjQgMCAwIDkuOGMwIDM5LTIzLjcgNzQtNTkuOSA4OC40QzE2Ny42IDE4Ni41IDEyOCAyNDUgMTI4IDMxMC4ybDAgNzMuOHMwIDAgMCAwSDY0VjY0em0yODggMGwyMjQgMFYzODRINTA4LjNsLTMuNy00LjUtNzUuMi05MC4yYy05LjEtMTAuOS0yMi42LTE3LjMtMzYuOS0xNy4zbC03MS4xIDAtNDEtNjMuMWMtLjMtLjUtLjYtMS0xLTEuNGM0NC43LTI5IDcyLjUtNzkgNzIuNS0xMzMuNmwwLTkuOHptNzMgMzIwSDM3OS4ybDQyLjcgNjRINTkyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDQ4QzIxLjUgMCAwIDIxLjUgMCA0OFY0MDBjMCAyNi41IDIxLjUgNDggNDggNDhIMzA4LjJsMzMuMiA0OS44YzkuOCAxNC43IDI5LjcgMTguNyA0NC40IDguOXMxOC43LTI5LjcgOC45LTQ0LjRMMzEwLjUgMzM2bDc0LjYgMCA0MCA0OHptLTE1OS41IDBIMTkyczAgMCAwIDBsMC03My44YzAtMTAuMiAxLjYtMjAuMSA0LjctMjkuNUwyNjUuNSAzODR6TTE5MiAxMjhhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpcIl1cbn07XG52YXIgZmFUb29sYm94ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Rvb2xib3gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjk1MjBdLCBcImY1NTJcIiwgXCJNMTc2IDg4bDAgNDAgMTYwIDAgMC00MGMwLTQuNC0zLjYtOC04LThMMTg0IDgwYy00LjQgMC04IDMuNi04IDh6bS00OCA0MGwwLTQwYzAtMzAuOSAyNS4xLTU2IDU2LTU2bDE0NCAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2bDAgNDAgMjguMSAwYzEyLjcgMCAyNC45IDUuMSAzMy45IDE0LjFsNTEuOSA1MS45YzkgOSAxNC4xIDIxLjIgMTQuMSAzMy45bDAgOTIuMS0xMjggMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMzItMTI4IDAgMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDMyTDAgMzIwbDAtOTIuMWMwLTEyLjcgNS4xLTI0LjkgMTQuMS0zMy45bDUxLjktNTEuOWM5LTkgMjEuMi0xNC4xIDMzLjktMTQuMWwyOC4xIDB6TTAgNDE2bDAtNjQgMTI4IDBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwxMjggMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDEyOCAwIDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NHpcIl1cbn07XG52YXIgZmFIYW5kc0hvbGRpbmdDaXJjbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZHMtaG9sZGluZy1jaXJjbGUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZmJcIiwgXCJNMzIwIDBhMTI4IDEyOCAwIDEgMSAwIDI1NkExMjggMTI4IDAgMSAxIDMyMCAwek00MCA2NGMyMi4xIDAgNDAgMTcuOSA0MCA0MHY0MCA4MCA0MC4yYzAgMTcgNi43IDMzLjMgMTguNyA0NS4zbDUxLjEgNTEuMWM4LjMgOC4zIDIxLjMgOS42IDMxIDMuMWMxMi45LTguNiAxNC43LTI2LjkgMy43LTM3LjhsLTE1LjItMTUuMi0zMi0zMmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGwzMiAzMiAxNS4yIDE1LjIgMCAwIDI1LjMgMjUuM2MyMSAyMSAzMi44IDQ5LjUgMzIuOCA3OS4yVjQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEgxNzMuM2MtMTcgMC0zMy4zLTYuNy00NS4zLTE4LjdMMjguMSAzOTMuNEMxMC4xIDM3NS40IDAgMzUxIDAgMzI1LjVWMjI0IDE2MCAxMDRDMCA4MS45IDE3LjkgNjQgNDAgNjR6bTU2MCAwYzIyLjEgMCA0MCAxNy45IDQwIDQwdjU2IDY0VjMyNS41YzAgMjUuNS0xMC4xIDQ5LjktMjguMSA2Ny45TDUxMiA0OTMuM2MtMTIgMTItMjguMyAxOC43LTQ1LjMgMTguN0g0MDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjM4NS4xYzAtMjkuNyAxMS44LTU4LjIgMzIuOC03OS4ybDI1LjMtMjUuMyAwIDAgMTUuMi0xNS4yIDMyLTMyYzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNsLTMyIDMyLTE1LjIgMTUuMmMtMTEgMTEtOS4yIDI5LjIgMy43IDM3LjhjOS43IDYuNSAyMi43IDUuMiAzMS0zLjFsNTEuMS01MS4xYzEyLTEyIDE4LjctMjguMyAxOC43LTQ1LjNWMjI0IDE0NCAxMDRjMC0yMi4xIDE3LjktNDAgNDAtNDB6XCJdXG59O1xudmFyIGZhQnVnID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1ZycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjE4OFwiLCBcIk0yNTYgMGM1MyAwIDk2IDQzIDk2IDk2djMuNmMwIDE1LjctMTIuNyAyOC40LTI4LjQgMjguNEgxODguNGMtMTUuNyAwLTI4LjQtMTIuNy0yOC40LTI4LjRWOTZjMC01MyA0My05NiA5Ni05NnpNNDEuNCAxMDUuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGw2NCA2NGMuNyAuNyAxLjMgMS40IDEuOSAyLjFjMTQuMi03LjMgMzAuNC0xMS40IDQ3LjUtMTEuNEgzMTJjMTcuMSAwIDMzLjIgNC4xIDQ3LjUgMTEuNGMuNi0uNyAxLjItMS40IDEuOS0yLjFsNjQtNjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2wtNjQgNjRjLS43IC43LTEuNCAxLjMtMi4xIDEuOWM2LjIgMTIgMTAuMSAyNS4zIDExLjEgMzkuNUg0ODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJINDE2YzAgMjQuNi01LjUgNDcuOC0xNS40IDY4LjZjMi4yIDEuMyA0LjIgMi45IDYgNC44bDY0IDY0YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwbC02My4xLTYzLjFjLTI0LjUgMjEuOC01NS44IDM2LjItOTAuMyAzOS42VjI0MGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNlY0NzkuMmMtMzQuNS0zLjQtNjUuOC0xNy44LTkwLjMtMzkuNkw4Ni42IDUwMi42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2w2NC02NGMxLjktMS45IDMuOS0zLjQgNi00LjhDMTAxLjUgMzY3LjggOTYgMzQ0LjYgOTYgMzIwSDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDk2LjNjMS4xLTE0LjEgNS0yNy41IDExLjEtMzkuNWMtLjctLjYtMS40LTEuMi0yLjEtMS45bC02NC02NGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjN6XCJdXG59O1xudmFyIGZhQ3JlZGl0Q2FyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjcmVkaXQtY2FyZCcsXG4gIGljb246IFs1NzYsIDUxMiwgWzEyODE3OSwgNjIwODMsIFwiY3JlZGl0LWNhcmQtYWx0XCJdLCBcImYwOWRcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NnYzMkg1NzZWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6TTU3NiAyMjRIMFY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRINTEyYzM1LjMgMCA2NC0yOC43IDY0LTY0VjIyNHpNMTEyIDM1Mmg2NGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgxMTJjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTExMiAxNmMwLTguOCA3LjItMTYgMTYtMTZIMzY4YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDI0MGMtOC44IDAtMTYtNy4yLTE2LTE2elwiXVxufTtcbnZhciBmYUNyZWRpdENhcmRBbHQgPSBmYUNyZWRpdENhcmQ7XG52YXIgZmFDYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NjY0LCBcImF1dG9tb2JpbGVcIl0sIFwiZjFiOVwiLCBcIk0xMzUuMiAxMTcuNEwxMDkuMSAxOTJINDAyLjlsLTI2LjEtNzQuNkMzNzIuMyAxMDQuNiAzNjAuMiA5NiAzNDYuNiA5NkgxNjUuNGMtMTMuNiAwLTI1LjcgOC42LTMwLjIgMjEuNHpNMzkuNiAxOTYuOEw3NC44IDk2LjNDODguMyA1Ny44IDEyNC42IDMyIDE2NS40IDMySDM0Ni42YzQwLjggMCA3Ny4xIDI1LjggOTAuNiA2NC4zbDM1LjIgMTAwLjVjMjMuMiA5LjYgMzkuNiAzMi41IDM5LjYgNTkuMlY0MDB2NDhjMCAxNy43LTE0LjMgMzItMzIgMzJINDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMlY0MDBIOTZ2NDhjMCAxNy43LTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjQwMCAyNTZjMC0yNi43IDE2LjQtNDkuNiAzOS42LTU5LjJ6TTEyOCAyODhhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMjg4IDMyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG52YXIgZmFBdXRvbW9iaWxlID0gZmFDYXI7XG52YXIgZmFIYW5kSG9sZGluZ0hhbmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZC1ob2xkaW5nLWhhbmQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0ZjdcIiwgXCJNNy44IDIwNy43Yy0xMy4xLTE3LjgtOS4zLTQyLjggOC41LTU1LjlMMTQyLjkgNTguNUMxNjYuMiA0MS4zIDE5NC41IDMyIDIyMy41IDMySDM4NCA1NDRjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJINTA3LjJsLTQ0LjkgMzZjLTIyLjcgMTguMi01MC45IDI4LTgwIDI4SDMwNCAyODggMjI0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyaDY0IDE2YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDE4My40TDYzLjcgMjE2LjJjLTE3LjggMTMuMS00Mi44IDkuMy01NS45LTguNXpNMzgyLjQgMTYwbDAgMCAuOSAwYy0uMyAwLS42IDAtLjkgMHpNNTY4LjIgMzA0LjNjMTMuMSAxNy44IDkuMyA0Mi44LTguNSA1NS45TDQzMy4xIDQ1My41Yy0yMy40IDE3LjItNTEuNiAyNi41LTgwLjcgMjYuNUgxOTIgMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjM4NGMwLTE3LjcgMTQuMy0zMiAzMi0zMkg2OC44bDQ0LjktMzZjMjIuNy0xOC4yIDUwLjktMjggODAtMjhIMjcyaDE2IDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDI4OCAyNzJjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZIMzkyLjZsMTE5LjctODguMmMxNy44LTEzLjEgNDIuOC05LjMgNTUuOSA4LjV6TTE5My42IDM1MmwwIDAtLjkgMGMuMyAwIC42IDAgLjkgMHpcIl1cbn07XG52YXIgZmFCb29rT3BlblJlYWRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib29rLW9wZW4tcmVhZGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJib29rLXJlYWRlclwiXSwgXCJmNWRhXCIsIFwiTTE2MCA5NmE5NiA5NiAwIDEgMSAxOTIgMEE5NiA5NiAwIDEgMSAxNjAgOTZ6bTgwIDE1MlY1MTJsLTQ4LjQtMjQuMmMtMjAuOS0xMC40LTQzLjUtMTctNjYuOC0xOS4zbC05Ni05LjZDMTIuNSA0NTcuMiAwIDQ0My41IDAgNDI3VjIyNGMwLTE3LjcgMTQuMy0zMiAzMi0zMkg2Mi4zYzYzLjYgMCAxMjUuNiAxOS42IDE3Ny43IDU2em0zMiAyNjRWMjQ4YzUyLjEtMzYuNCAxMTQuMS01NiAxNzcuNy01Nkg0ODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNDI3YzAgMTYuNC0xMi41IDMwLjItMjguOCAzMS44bC05NiA5LjZjLTIzLjIgMi4zLTQ1LjkgOC45LTY2LjggMTkuM0wyNzIgNTEyelwiXVxufTtcbnZhciBmYUJvb2tSZWFkZXIgPSBmYUJvb2tPcGVuUmVhZGVyO1xudmFyIGZhTW91bnRhaW5TdW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW91bnRhaW4tc3VuJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTJmXCIsIFwiTTU2MCAxNjBBODAgODAgMCAxIDAgNTYwIDBhODAgODAgMCAxIDAgMCAxNjB6TTU1LjkgNTEySDM4MS4xaDc1SDU3OC45YzMzLjggMCA2MS4xLTI3LjQgNjEuMS02MS4xYzAtMTEuMi0zLjEtMjIuMi04LjktMzEuOGwtMTMyLTIxNi4zQzQ5NSAxOTYuMSA0ODcuOCAxOTIgNDgwIDE5MnMtMTUgNC4xLTE5LjEgMTAuN2wtNDguMiA3OUwyODYuOCA4MWMtNi42LTEwLjYtMTguMy0xNy0zMC44LTE3cy0yNC4xIDYuNC0zMC44IDE3TDguNiA0MjYuNEMzIDQzNS4zIDAgNDQ1LjYgMCA0NTYuMUMwIDQ4NyAyNSA1MTIgNTUuOSA1MTJ6XCJdXG59O1xudmFyIGZhQXJyb3dzTGVmdFJpZ2h0VG9MaW5lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93cy1sZWZ0LXJpZ2h0LXRvLWxpbmUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0YmFcIiwgXCJNMzIgNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWOTZDMCA3OC4zIDE0LjMgNjQgMzIgNjR6bTIxNC42IDczLjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNMMjA1LjMgMjI0bDIyOS41IDAtNDEuNC00MS40Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwbDk2IDk2YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC05NiA5NmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMNDM0LjcgMjg4bC0yMjkuNSAwIDQxLjQgNDEuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMGwtOTYtOTZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zbDk2LTk2YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwek02NDAgOTZWNDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6XCJdXG59O1xudmFyIGZhRGljZUQyMCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkaWNlLWQyMCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjZjZlwiLCBcIk00OC43IDEyNS44bDUzLjIgMzEuOWM3LjggNC43IDE3LjggMiAyMi4yLTUuOUwyMDEuNiAxMi4xYzMtNS40LS45LTEyLjEtNy4xLTEyLjFjLTEuNiAwLTMuMiAuNS00LjYgMS40TDQ3LjkgOTguOGMtOS42IDYuNi05LjIgMjAuOSAuOCAyNi45ek0xNiAxNzEuN1YyOTUuM2MwIDggMTAuNCAxMSAxNC43IDQuNGw2MC05MmM1LTcuNiAyLjYtMTcuOC01LjItMjIuNUw0MC4yIDE1OEMyOS42IDE1MS42IDE2IDE1OS4zIDE2IDE3MS43ek0zMTAuNCAxMi4xbDc3LjYgMTM5LjZjNC40IDcuOSAxNC41IDEwLjYgMjIuMiA1LjlsNTMuMi0zMS45YzEwLTYgMTAuNC0yMC4zIC44LTI2LjlMMzIyLjEgMS40Yy0xLjQtLjktMy0xLjQtNC42LTEuNGMtNi4yIDAtMTAuMSA2LjctNy4xIDEyLjF6TTQ5NiAxNzEuN2MwLTEyLjQtMTMuNi0yMC4xLTI0LjItMTMuN2wtNDUuMyAyNy4yYy03LjggNC43LTEwLjEgMTQuOS01LjIgMjIuNWw2MCA5MmM0LjMgNi43IDE0LjcgMy42IDE0LjctNC40VjE3MS43em0tNDkuMyAyNDZMMjg2LjEgNDM2LjZjLTguMSAuOS0xNC4xIDcuOC0xNC4xIDE1Ljl2NTIuOGMwIDMuNyAzIDYuOCA2LjggNi44Yy44IDAgMS42LS4xIDIuNC0uNGwxNzIuNy02NGM2LjEtMi4yIDEwLjEtOCAxMC4xLTE0LjVjMC05LjMtOC4xLTE2LjUtMTcuMy0xNS40ek0yMzMuMiA1MTJjMy43IDAgNi44LTMgNi44LTYuOFY0NTIuNmMwLTguMS02LjEtMTQuOS0xNC4xLTE1LjlsLTE2MC42LTE5Yy05LjItMS4xLTE3LjMgNi4xLTE3LjMgMTUuNGMwIDYuNSA0IDEyLjMgMTAuMSAxNC41bDE3Mi43IDY0Yy44IC4zIDEuNiAuNCAyLjQgLjR6TTQxLjcgMzgyLjlsMTcwLjkgMjAuMmM3LjggLjkgMTMuNC03LjUgOS41LTE0LjNsLTg1LjctMTUwYy01LjktMTAuNC0yMC43LTEwLjgtMjcuMy0uOEwzMC4yIDM1OC4yYy02LjUgOS45LS4zIDIzLjMgMTEuNSAyNC43em00MzkuNi0yNC44TDQwMi45IDIzOC4xYy02LjUtMTAtMjEuNC05LjYtMjcuMyAuOEwyOTAuMiAzODguNWMtMy45IDYuOCAxLjYgMTUuMiA5LjUgMTQuM2wxNzAuMS0yMGMxMS44LTEuNCAxOC0xNC43IDExLjUtMjQuNnptLTIxNi45IDExbDc4LjQtMTM3LjJjNi4xLTEwLjctMS42LTIzLjktMTMuOS0yMy45SDE4My4xYy0xMi4zIDAtMjAgMTMuMy0xMy45IDIzLjlsNzguNCAxMzcuMmMzLjcgNi40IDEzIDYuNCAxNi43IDB6TTE3NC40IDE3NkgzMzcuNmMxMi4yIDAgMTkuOS0xMy4xIDE0LTIzLjhsLTgwLTE0NGMtMi44LTUuMS04LjItOC4yLTE0LTguMmgtMy4yYy01LjggMC0xMS4yIDMuMi0xNCA4LjJsLTgwIDE0NGMtNS45IDEwLjcgMS44IDIzLjggMTQgMjMuOHpcIl1cbn07XG52YXIgZmFUcnVja0Ryb3BsZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJ1Y2stZHJvcGxldCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU4Y1wiLCBcIk0wIDQ4QzAgMjEuNSAyMS41IDAgNDggMEgzNjhjMjYuNSAwIDQ4IDIxLjUgNDggNDhWOTZoNTAuN2MxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0w1ODkuMyAxOTJjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM1YyNTZ2MzIgNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJINTc2YzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2SDI1NmMwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05Nkg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWNDh6TTQxNiAyNTZINTQ0VjIzNy4zTDQ2Ni43IDE2MEg0MTZ2OTZ6TTE2MCA0NjRhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0zNjgtNDhhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNMjA4IDI3MmMzOS44IDAgNzItMjkuNiA3Mi02NmMwLTI3LTM5LjQtODIuOS01OS45LTExMC4zYy02LjEtOC4yLTE4LjEtOC4yLTI0LjIgMEMxNzUuNCAxMjMgMTM2IDE3OSAxMzYgMjA2YzAgMzYuNSAzMi4yIDY2IDcyIDY2elwiXVxufTtcbnZhciBmYUZpbGVDaXJjbGVYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLWNpcmNsZS14bWFyaycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTVhMVwiLCBcIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEgyMjRWMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMySDM4NHYzOC42QzMxMC4xIDIxOS41IDI1NiAyODcuNCAyNTYgMzY4YzAgNTkuMSAyOS4xIDExMS4zIDczLjcgMTQzLjNjLTMuMiAuNS02LjQgLjctOS43IC43SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY2NHptMzg0IDY0SDI1NlYwTDM4NCAxMjh6bTQ4IDk2YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptNTkuMyAxMDcuM2M2LjItNi4yIDYuMi0xNi40IDAtMjIuNnMtMTYuNC02LjItMjIuNiAwTDQzMiAzNDUuNGwtMzYuNy0zNi43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42TDQwOS40IDM2OGwtMzYuNyAzNi43Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBMNDMyIDM5MC42bDM2LjcgMzYuN2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZMNDU0LjYgMzY4bDM2LjctMzYuN3pcIl1cbn07XG52YXIgZmFUZW1wZXJhdHVyZUFycm93VXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGVtcGVyYXR1cmUtYXJyb3ctdXAnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInRlbXBlcmF0dXJlLXVwXCJdLCBcImUwNDBcIiwgXCJNMTI4IDExMmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4VjI3Ni41YzAgMTcuMyA3LjEgMzEuOSAxNS4zIDQyLjVDMjQ5LjggMzMyLjYgMjU2IDM0OS41IDI1NiAzNjhjMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBjMC0xOC41IDYuMi0zNS40IDE2LjctNDguOWM4LjItMTAuNiAxNS4zLTI1LjIgMTUuMy00Mi41VjExMnpNMTc2IDBDMTE0LjEgMCA2NCA1MC4xIDY0IDExMlYyNzYuNGMwIC4xLS4xIC4zLS4yIC42Yy0uMiAuNi0uOCAxLjYtMS43IDIuOEM0My4yIDMwNC4yIDMyIDMzNC44IDMyIDM2OGMwIDc5LjUgNjQuNSAxNDQgMTQ0IDE0NHMxNDQtNjQuNSAxNDQtMTQ0YzAtMzMuMi0xMS4yLTYzLjgtMzAuMS04OC4xYy0uOS0xLjItMS41LTIuMi0xLjctMi44Yy0uMS0uMy0uMi0uNS0uMi0uNlYxMTJDMjg4IDUwLjEgMjM3LjkgMCAxNzYgMHptMCA0MTZjMjYuNSAwIDQ4LTIxLjUgNDgtNDhjMC0yMC45LTEzLjQtMzguNy0zMi00NS4zVjExMmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNlYzMjIuN2MtMTguNiA2LjYtMzIgMjQuNC0zMiA0NS4zYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4ek00ODAgMTYwaDMyYzEyLjkgMCAyNC42LTcuOCAyOS42LTE5LjhzMi4yLTI1LjctNi45LTM0LjlsLTY0LTY0Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTkuMiA5LjItMTEuOSAyMi45LTYuOSAzNC45czE2LjYgMTkuOCAyOS42IDE5LjhoMzJWNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMTYwelwiXVxufTtcbnZhciBmYVRlbXBlcmF0dXJlVXAgPSBmYVRlbXBlcmF0dXJlQXJyb3dVcDtcbnZhciBmYU1lZGFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21lZGFsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3OTQxXSwgXCJmNWEyXCIsIFwiTTQuMSAzOC4yQzEuNCAzNC4yIDAgMjkuNCAwIDI0LjZDMCAxMSAxMSAwIDI0LjYgMEgxMzMuOWMxMS4yIDAgMjEuNyA1LjkgMjcuNCAxNS41bDY4LjUgMTE0LjFjLTQ4LjIgNi4xLTkxLjMgMjguNi0xMjMuNCA2MS45TDQuMSAzOC4yem01MDMuNyAwTDQwNS42IDE5MS41Yy0zMi4xLTMzLjMtNzUuMi01NS44LTEyMy40LTYxLjlMMzUwLjcgMTUuNUMzNTYuNSA1LjkgMzY2LjkgMCAzNzguMSAwSDQ4Ny40QzUwMSAwIDUxMiAxMSA1MTIgMjQuNmMwIDQuOC0xLjQgOS42LTQuMSAxMy42ek04MCAzMzZhMTc2IDE3NiAwIDEgMSAzNTIgMEExNzYgMTc2IDAgMSAxIDgwIDMzNnptMTg0LjQtOTQuOWMtMy40LTctMTMuMy03LTE2LjggMGwtMjIuNCA0NS40Yy0xLjQgMi44LTQgNC43LTcgNS4xTDE2OCAyOTguOWMtNy43IDEuMS0xMC43IDEwLjUtNS4yIDE2bDM2LjMgMzUuNGMyLjIgMi4yIDMuMiA1LjIgMi43IDguM2wtOC42IDQ5LjljLTEuMyA3LjYgNi43IDEzLjUgMTMuNiA5LjlsNDQuOC0yMy42YzIuNy0xLjQgNi0xLjQgOC43IDBsNDQuOCAyMy42YzYuOSAzLjYgMTQuOS0yLjIgMTMuNi05LjlsLTguNi00OS45Yy0uNS0zIC41LTYuMSAyLjctOC4zbDM2LjMtMzUuNGM1LjYtNS40IDIuNS0xNC44LTUuMi0xNmwtNTAuMS03LjNjLTMtLjQtNS43LTIuNC03LTUuMWwtMjIuNC00NS40elwiXVxufTtcbnZhciBmYUJlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiZWQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjg3MTZdLCBcImYyMzZcIiwgXCJNMzIgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJWMzIwSDI4OFYxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJINTQ0YzUzIDAgOTYgNDMgOTYgOTZWNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjQxNkgzNTIgMzIwIDY0djMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjY0QzAgNDYuMyAxNC4zIDMyIDMyIDMyem0xNDQgOTZhODAgODAgMCAxIDEgMCAxNjAgODAgODAgMCAxIDEgMC0xNjB6XCJdXG59O1xudmFyIGZhU3F1YXJlSCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUtaCcsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiaC1zcXVhcmVcIl0sIFwiZjBmZFwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEgzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6TTMzNiAxNTJWMjU2IDM2MGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYyODBIMTYwbDAgODBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0yMDhjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHY4MEgyODhWMTUyYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6XCJdXG59O1xudmFyIGZhSFNxdWFyZSA9IGZhU3F1YXJlSDtcbnZhciBmYVBvZGNhc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncG9kY2FzdCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjJjZVwiLCBcIk0zMTkuNCAzNzJjNDguNS0zMS4zIDgwLjYtODUuOSA4MC42LTE0OGMwLTk3LjItNzguOC0xNzYtMTc2LTE3NlM0OCAxMjYuOCA0OCAyMjRjMCA2Mi4xIDMyLjEgMTE2LjYgODAuNiAxNDhjMS4yIDE3LjMgNCAzOCA3LjIgNTcuMWwuMiAxQzU2IDM5NS44IDAgMzE2LjUgMCAyMjRDMCAxMDAuMyAxMDAuMyAwIDIyNCAwUzQ0OCAxMDAuMyA0NDggMjI0YzAgOTIuNS01NiAxNzEuOS0xMzYgMjA2LjFsLjItMS4xYzMuMS0xOS4yIDYtMzkuOCA3LjItNTd6bS0yLjMtMzguMWMtMS42LTUuNy0zLjktMTEuMS03LTE2LjJjLTUuOC05LjctMTMuNS0xNy0yMS45LTIyLjRjMTkuNS0xNy42IDMxLjgtNDMgMzEuOC03MS4zYzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2YzAgMjguMyAxMi4zIDUzLjggMzEuOCA3MS4zYy04LjQgNS40LTE2LjEgMTIuNy0yMS45IDIyLjRjLTMuMSA1LjEtNS40IDEwLjUtNyAxNi4yQzk5LjggMzA3LjUgODAgMjY4IDgwIDIyNGMwLTc5LjUgNjQuNS0xNDQgMTQ0LTE0NHMxNDQgNjQuNSAxNDQgMTQ0YzAgNDQtMTkuOCA4My41LTUwLjkgMTA5Ljl6TTIyNCAzMTJjMzIuOSAwIDY0IDguNiA2NCA0My44YzAgMzMtMTIuOSAxMDQuMS0yMC42IDEzMi45Yy01LjEgMTktMjQuNSAyMy40LTQzLjQgMjMuNHMtMzguMi00LjQtNDMuNC0yMy40Yy03LjgtMjguNS0yMC42LTk5LjctMjAuNi0xMzIuOGMwLTM1LjEgMzEuMS00My44IDY0LTQzLjh6bTAtMTQ0YTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyelwiXVxufTtcbnZhciBmYVRlbXBlcmF0dXJlRnVsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW1wZXJhdHVyZS1mdWxsJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJ0ZW1wZXJhdHVyZS00XCIsIFwidGhlcm1vbWV0ZXItNFwiLCBcInRoZXJtb21ldGVyLWZ1bGxcIl0sIFwiZjJjN1wiLCBcIk0xNjAgNjRjLTI2LjUgMC00OCAyMS41LTQ4IDQ4VjI3Ni41YzAgMTcuMy03LjEgMzEuOS0xNS4zIDQyLjVDODYuMiAzMzIuNiA4MCAzNDkuNSA4MCAzNjhjMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MGMwLTE4LjUtNi4yLTM1LjQtMTYuNy00OC45Yy04LjItMTAuNi0xNS4zLTI1LjItMTUuMy00Mi41VjExMmMwLTI2LjUtMjEuNS00OC00OC00OHpNNDggMTEyQzQ4IDUwLjIgOTguMSAwIDE2MCAwczExMiA1MC4xIDExMiAxMTJWMjc2LjVjMCAuMSAuMSAuMyAuMiAuNmMuMiAuNiAuOCAxLjYgMS43IDIuOGMxOC45IDI0LjQgMzAuMSA1NSAzMC4xIDg4LjFjMCA3OS41LTY0LjUgMTQ0LTE0NCAxNDRTMTYgNDQ3LjUgMTYgMzY4YzAtMzMuMiAxMS4yLTYzLjggMzAuMS04OC4xYy45LTEuMiAxLjUtMi4yIDEuNy0yLjhjLjEtLjMgLjItLjUgLjItLjZWMTEyek0yMDggMzY4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4YzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM1YxMTJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNlYzMjIuN2MxOC42IDYuNiAzMiAyNC40IDMyIDQ1LjN6XCJdXG59O1xudmFyIGZhVGVtcGVyYXR1cmU0ID0gZmFUZW1wZXJhdHVyZUZ1bGw7XG52YXIgZmFUaGVybW9tZXRlcjQgPSBmYVRlbXBlcmF0dXJlRnVsbDtcbnZhciBmYVRoZXJtb21ldGVyRnVsbCA9IGZhVGVtcGVyYXR1cmVGdWxsO1xudmFyIGZhQmVsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiZWxsJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI4Mjc2LCA2MTYwMl0sIFwiZjBmM1wiLCBcIk0yMjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJWNTEuMkMxMTkgNjYgNjQgMTMwLjYgNjQgMjA4djE4LjhjMCA0Ny0xNy4zIDkyLjQtNDguNSAxMjcuNmwtNy40IDguM2MtOC40IDkuNC0xMC40IDIyLjktNS4zIDM0LjRTMTkuNCA0MTYgMzIgNDE2SDQxNmMxMi42IDAgMjQtNy40IDI5LjItMTguOXMzLjEtMjUtNS4zLTM0LjRsLTcuNC04LjNDNDAxLjMgMzE5LjIgMzg0IDI3My45IDM4NCAyMjYuOFYyMDhjMC03Ny40LTU1LTE0Mi0xMjgtMTU2LjhWMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6bTQ1LjMgNDkzLjNjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM0gyMjQgMTYwYzAgMTcgNi43IDMzLjMgMTguNyA0NS4zczI4LjMgMTguNyA0NS4zIDE4LjdzMzMuMy02LjcgNDUuMy0xOC43elwiXVxufTtcbnZhciBmYVN1cGVyc2NyaXB0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N1cGVyc2NyaXB0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMTJiXCIsIFwiTTQ4MCAzMmMwLTExLjEtNS43LTIxLjQtMTUuMi0yNy4ycy0yMS4yLTYuNC0zMS4xLTEuNGwtMzIgMTZjLTE1LjggNy45LTIyLjIgMjcuMS0xNC4zIDQyLjlDMzkzIDczLjUgNDA0LjMgODAgNDE2IDgwdjgwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDMyIDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyVjMyek0zMiA2NEMxNC4zIDY0IDAgNzguMyAwIDk2czE0LjMgMzIgMzIgMzJINDcuM2w4OS42IDEyOEw0Ny4zIDM4NEgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg2NGMxMC40IDAgMjAuMi01LjEgMjYuMi0xMy42TDE3NiAzMTEuOGw4NS44IDEyMi42YzYgOC42IDE1LjggMTMuNiAyNi4yIDEzLjZoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzA0LjdMMjE1LjEgMjU2bDg5LjYtMTI4SDMyMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgyODhjLTEwLjQgMC0yMC4yIDUuMS0yNi4yIDEzLjZMMTc2IDIwMC4yIDkwLjIgNzcuNkM4NC4yIDY5LjEgNzQuNCA2NCA2NCA2NEgzMnpcIl1cbn07XG52YXIgZmFQbHVnQ2lyY2xlWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGx1Zy1jaXJjbGUteG1hcmsnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1NjBcIiwgXCJNOTYgMEM3OC4zIDAgNjQgMTQuMyA2NCAzMnY5Nmg2NFYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMjg4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjk2aDY0VjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek0zMiAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ2MzJjMCA3Ny40IDU1IDE0MiAxMjggMTU2LjhWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWNDEyLjhjMTIuMy0yLjUgMjQuMS02LjQgMzUuMS0xMS41Yy0yLjEtMTAuOC0zLjEtMjEuOS0zLjEtMzMuM2MwLTgwLjMgNTMuOC0xNDggMTI3LjMtMTY5LjJjLjUtMi4yIC43LTQuNSAuNy02LjhjMC0xNy43LTE0LjMtMzItMzItMzJIMzJ6TTQzMiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em01OS4zLTE4MC43TDQ1NC42IDM2OGwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMEw0MzIgMzkwLjZsLTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkw0MDkuNCAzNjhsLTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQzMiAzNDUuNGwzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42elwiXVxufTtcbnZhciBmYVN0YXJPZkxpZmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3Rhci1vZi1saWZlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNjIxXCIsIFwiTTIwOCAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMmgzMmMxNy43IDAgMzIgMTQuMyAzMiAzMlYxNzIuOWwxMjItNzAuNGMxNS4zLTguOCAzNC45LTMuNiA0My43IDExLjdsMTYgMjcuN2M4LjggMTUuMyAzLjYgMzQuOS0xMS43IDQzLjdMMzUyIDI1NmwxMjIgNzAuNGMxNS4zIDguOCAyMC41IDI4LjQgMTEuNyA0My43bC0xNiAyNy43Yy04LjggMTUuMy0yOC40IDIwLjYtNDMuNyAxMS43TDMwNCAzMzkuMVY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJIMjQwYy0xNy43IDAtMzItMTQuMy0zMi0zMlYzMzkuMUw4NiA0MDkuNmMtMTUuMyA4LjgtMzQuOSAzLjYtNDMuNy0xMS43bC0xNi0yNy43Yy04LjgtMTUuMy0zLjYtMzQuOSAxMS43LTQzLjdMMTYwIDI1NiAzOCAxODUuNmMtMTUuMy04LjgtMjAuNS0yOC40LTExLjctNDMuN2wxNi0yNy43QzUxLjEgOTguOCA3MC43IDkzLjYgODYgMTAyLjRsMTIyIDcwLjRWMzJ6XCJdXG59O1xudmFyIGZhUGhvbmVTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwaG9uZS1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjNkZFwiLCBcIk02MDEuMiA1LjFjMTAuNC04LjIgMjUuNS02LjMgMzMuNyA0LjFzNi4zIDI1LjUtNC4xIDMzLjdsLTU5MiA0NjRjLTEwLjQgOC4yLTI1LjUgNi4zLTMzLjctNC4xcy02LjMtMjUuNSA0LjEtMzMuN2wxNTUuNi0xMjJDMTAxLjggMjcwIDY0IDE3MS40IDY0IDY0YzAtMTggMTIuMS0zMy44IDI5LjUtMzguNmw4OC0yNGMxOS40LTUuMyAzOS43IDQuNiA0Ny40IDIzLjJsNDAgOTZjNi44IDE2LjMgMi4xIDM1LjItMTEuNiA0Ni4zTDIwOCAyMDcuM2MxMiAyNS41IDI3LjIgNDkuMiA0NSA3MC43TDYwMS4yIDUuMXpNMjM0LjMgNDE1LjZsOTEuMy03MmMxMy43IDkuMSAyOCAxNy4zIDQzIDI0LjNMNDA5IDMxOC43YzExLjItMTMuNyAzMC0xOC40IDQ2LjMtMTEuNmw5NiA0MGMxOC42IDcuNyAyOC41IDI4IDIzLjIgNDcuNGwtMjQgODhDNTQ1LjggNDk5LjkgNTMwIDUxMiA1MTIgNTEyYy0xMDQuOSAwLTIwMS4zLTM2LTI3Ny43LTk2LjR6XCJdXG59O1xudmFyIGZhUGFpbnRSb2xsZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGFpbnQtcm9sbGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNWFhXCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwSDM1MmMzNS4zIDAgNjQgMjguNyA2NCA2NHY2NGMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWNjR6TTE2MCAzNTJjMC0xNy43IDE0LjMtMzIgMzItMzJWMzA0YzAtNDQuMiAzNS44LTgwIDgwLTgwSDQxNmMxNy43IDAgMzItMTQuMyAzMi0zMlYxNjAgNjkuNWMzNy4zIDEzLjIgNjQgNDguNyA2NCA5MC41djMyYzAgNTMtNDMgOTYtOTYgOTZIMjcyYy04LjggMC0xNiA3LjItMTYgMTZ2MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMySDE5MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMzUyelwiXVxufTtcbnZhciBmYUhhbmRzaGFrZUFuZ2xlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzaGFrZS1hbmdsZScsXG4gIGljb246IFs2NDAsIDUxMiwgW1wiaGFuZHMtaGVscGluZ1wiXSwgXCJmNGM0XCIsIFwiTTU0NCAyNDh2My4zbDY5LjctNjkuN2MyMS45LTIxLjkgMjEuOS01Ny4zIDAtNzkuMkw1MzUuNiAyNC40Yy0yMS45LTIxLjktNTcuMy0yMS45LTc5LjIgMEw0MTYuMyA2NC41Yy0yLjctLjMtNS41LS41LTguMy0uNUgyOTZjLTM3LjEgMC02Ny42IDI4LTcxLjYgNjRIMjI0VjI0OGMwIDIyLjEgMTcuOSA0MCA0MCA0MHM0MC0xNy45IDQwLTQwVjE3NmMwIDAgMC0uMSAwLS4xVjE2MGwxNiAwIDEzNiAwYzAgMCAwIDAgLjEgMEg0NjRjNDQuMiAwIDgwIDM1LjggODAgODB2OHpNMzM2IDE5MnY1NmMwIDM5LjgtMzIuMiA3Mi03MiA3MnMtNzItMzIuMi03Mi03MlYxMjkuNGMtMzUuOSA2LjItNjUuOCAzMi4zLTc2IDY4LjJMOTkuNSAyNTUuMiAyNi4zIDMyOC40Yy0yMS45IDIxLjktMjEuOSA1Ny4zIDAgNzkuMmw3OC4xIDc4LjFjMjEuOSAyMS45IDU3LjMgMjEuOSA3OS4yIDBsMzcuNy0zNy43Yy45IDAgMS44IC4xIDIuNyAuMUgzODRjMjYuNSAwIDQ4LTIxLjUgNDgtNDhjMC01LjYtMS0xMS0yLjctMTZINDMyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4YzAtMTIuOC01LTI0LjQtMTMuMi0zM2MyNS43LTUgNDUuMS0yNy42IDQ1LjItNTQuOHYtLjRjLS4xLTMwLjgtMjUuMS01NS44LTU2LTU1LjhjMCAwIDAgMCAwIDBsLTEyMCAwelwiXVxufTtcbnZhciBmYUhhbmRzSGVscGluZyA9IGZhSGFuZHNoYWtlQW5nbGU7XG52YXIgZmFMb2NhdGlvbkRvdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsb2NhdGlvbi1kb3QnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcIm1hcC1tYXJrZXItYWx0XCJdLCBcImYzYzVcIiwgXCJNMjE1LjcgNDk5LjJDMjY3IDQzNSAzODQgMjc5LjQgMzg0IDE5MkMzODQgODYgMjk4IDAgMTkyIDBTMCA4NiAwIDE5MmMwIDg3LjQgMTE3IDI0MyAxNjguMyAzMDcuMmMxMi4zIDE1LjMgMzUuMSAxNS4zIDQ3LjQgMHpNMTkyIDEyOGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpcIl1cbn07XG52YXIgZmFNYXBNYXJrZXJBbHQgPSBmYUxvY2F0aW9uRG90O1xudmFyIGZhRmlsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI4MTk2LCAxMjg0NTksIDYxNDYyXSwgXCJmMTViXCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwSDIyNFYxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJIMzg0VjQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWNjR6bTM4NCA2NEgyNTZWMEwzODQgMTI4elwiXVxufTtcbnZhciBmYUdyZWF0ZXJUaGFuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dyZWF0ZXItdGhhbicsXG4gIGljb246IFszODQsIDUxMiwgWzYyNzY5XSwgXCIzZVwiLCBcIk0zLjQgODEuN2MtNy45IDE1LjgtMS41IDM1IDE0LjMgNDIuOUwyODAuNSAyNTYgMTcuNyAzODcuNEMxLjkgMzk1LjMtNC41IDQxNC41IDMuNCA0MzAuM3MyNy4xIDIyLjIgNDIuOSAxNC4zbDMyMC0xNjBjMTAuOC01LjQgMTcuNy0xNi41IDE3LjctMjguNnMtNi44LTIzLjItMTcuNy0yOC42bC0zMjAtMTYwYy0xNS44LTcuOS0zNS0xLjUtNDIuOSAxNC4zelwiXVxufTtcbnZhciBmYVBlcnNvblN3aW1taW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1zd2ltbWluZycsXG4gIGljb246IFs1NzYsIDUxMiwgWzEyNzk0NiwgXCJzd2ltbWVyXCJdLCBcImY1YzRcIiwgXCJNMzA5LjUgMTc4LjRMNDQ3LjkgMjk3LjFjLTEuNiAuOS0zLjIgMi00LjggM2MtMTggMTIuNC00MC4xIDIwLjMtNTkuMiAyMC4zYy0xOS42IDAtNDAuOC03LjctNTkuMi0yMC4zYy0yMi4xLTE1LjUtNTEuNi0xNS41LTczLjcgMGMtMTcuMSAxMS44LTM4IDIwLjMtNTkuMiAyMC4zYy0xMC4xIDAtMjEuMS0yLjItMzEuOS02LjJDMTYzLjEgMTkzLjIgMjYyLjIgOTYgMzg0IDk2aDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDM4NGMtMjYuOSAwLTUyLjMgNi42LTc0LjUgMTguNHpNMTYwIDE2MEE2NCA2NCAwIDEgMSAzMiAxNjBhNjQgNjQgMCAxIDEgMTI4IDB6TTMwNi41IDMyNS45QzMyOSAzNDEuNCAzNTYuNSAzNTIgMzg0IDM1MmMyNi45IDAgNTUuNC0xMC44IDc3LjQtMjYuMWwwIDBjMTEuOS04LjUgMjguMS03LjggMzkuMiAxLjdjMTQuNCAxMS45IDMyLjUgMjEgNTAuNiAyNS4yYzE3LjIgNCAyNy45IDIxLjIgMjMuOSAzOC40cy0yMS4yIDI3LjktMzguNCAyMy45Yy0yNC41LTUuNy00NC45LTE2LjUtNTguMi0yNUM0NDkuNSA0MDUuNyA0MTcgNDE2IDM4NCA0MTZjLTMxLjkgMC02MC42LTkuOS04MC40LTE4LjljLTUuOC0yLjctMTEuMS01LjMtMTUuNi03LjdjLTQuNSAyLjQtOS43IDUuMS0xNS42IDcuN2MtMTkuOCA5LTQ4LjUgMTguOS04MC40IDE4LjljLTMzIDAtNjUuNS0xMC4zLTk0LjUtMjUuOGMtMTMuNCA4LjQtMzMuNyAxOS4zLTU4LjIgMjVjLTE3LjIgNC0zNC40LTYuNy0zOC40LTIzLjlzNi43LTM0LjQgMjMuOS0zOC40YzE4LjEtNC4yIDM2LjItMTMuMyA1MC42LTI1LjJjMTEuMS05LjQgMjcuMy0xMC4xIDM5LjItMS43bDAgMEMxMzYuNyAzNDEuMiAxNjUuMSAzNTIgMTkyIDM1MmMyNy41IDAgNTUtMTAuNiA3Ny41LTI2LjFjMTEuMS03LjkgMjUuOS03LjkgMzcgMHpcIl1cbn07XG52YXIgZmFTd2ltbWVyID0gZmFQZXJzb25Td2ltbWluZztcbnZhciBmYUFycm93RG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1kb3duJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbODU5NV0sIFwiZjA2M1wiLCBcIk0xNjkuNCA0NzAuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxNjAtMTYwYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDIyNCAzNzAuOCAyMjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAzMDYuN0w1NC42IDI2NS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYwelwiXVxufTtcbnZhciBmYURyb3BsZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZHJvcGxldCcsXG4gIGljb246IFszODQsIDUxMiwgWzEyODE2NywgXCJ0aW50XCJdLCBcImYwNDNcIiwgXCJNMTkyIDUxMkM4NiA1MTIgMCA0MjYgMCAzMjBDMCAyMjguOCAxMzAuMiA1Ny43IDE2Ni42IDExLjdDMTcyLjYgNC4yIDE4MS41IDAgMTkxLjEgMGgxLjhjOS42IDAgMTguNSA0LjIgMjQuNSAxMS43QzI1My44IDU3LjcgMzg0IDIyOC44IDM4NCAzMjBjMCAxMDYtODYgMTkyLTE5MiAxOTJ6TTk2IDMzNmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmMwIDYxLjkgNTAuMSAxMTIgMTEyIDExMmM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmMtNDQuMiAwLTgwLTM1LjgtODAtODB6XCJdXG59O1xudmFyIGZhVGludCA9IGZhRHJvcGxldDtcbnZhciBmYUVyYXNlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdlcmFzZXInLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImYxMmRcIiwgXCJNMjkwLjcgNTcuNEw1Ny40IDI5MC43Yy0yNSAyNS0yNSA2NS41IDAgOTAuNWw4MCA4MGMxMiAxMiAyOC4zIDE4LjcgNDUuMyAxOC43SDI4OGg5LjRINTEyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDM4Ny45TDUxOC42IDI4NS4zYzI1LTI1IDI1LTY1LjUgMC05MC41TDM4MS4zIDU3LjRjLTI1LTI1LTY1LjUtMjUtOTAuNSAwek0yOTcuNCA0MTZIMjg4bC0xMDUuNCAwLTgwLTgwTDIyNy4zIDIxMS4zIDM2NC43IDM0OC43IDI5Ny40IDQxNnpcIl1cbn07XG52YXIgZmFFYXJ0aEFtZXJpY2FzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2VhcnRoLWFtZXJpY2FzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3NzU4LCBcImVhcnRoXCIsIFwiZWFydGgtYW1lcmljYVwiLCBcImdsb2JlLWFtZXJpY2FzXCJdLCBcImY1N2RcIiwgXCJNNTcuNyAxOTNsOS40IDE2LjRjOC4zIDE0LjUgMjEuOSAyNS4yIDM4IDI5LjhMMTYzIDI1NS43YzE3LjIgNC45IDI5IDIwLjYgMjkgMzguNXYzOS45YzAgMTEgNi4yIDIxIDE2IDI1LjlzMTYgMTQuOSAxNiAyNS45djM5YzAgMTUuNiAxNC45IDI2LjkgMjkuOSAyMi42YzE2LjEtNC42IDI4LjYtMTcuNSAzMi43LTMzLjhsMi44LTExLjJjNC4yLTE2LjkgMTUuMi0zMS40IDMwLjMtNDBsOC4xLTQuNmMxNS04LjUgMjQuMi0yNC41IDI0LjItNDEuN3YtOC4zYzAtMTIuNy01LjEtMjQuOS0xNC4xLTMzLjlsLTMuOS0zLjljLTktOS0yMS4yLTE0LjEtMzMuOS0xNC4xSDI1N2MtMTEuMSAwLTIyLjEtMi45LTMxLjgtOC40bC0zNC41LTE5LjdjLTQuMy0yLjUtNy42LTYuNS05LjItMTEuMmMtMy4yLTkuNiAxLjEtMjAgMTAuMi0yNC41bDUuOS0zYzYuNi0zLjMgMTQuMy0zLjkgMjEuMy0xLjVsMjMuMiA3LjdjOC4yIDIuNyAxNy4yLS40IDIxLjktNy41YzQuNy03IDQuMi0xNi4zLTEuMi0yMi44bC0xMy42LTE2LjNjLTEwLTEyLTkuOS0yOS41IC4zLTQxLjNsMTUuNy0xOC4zYzguOC0xMC4zIDEwLjItMjUgMy41LTM2LjdsLTIuNC00LjJjLTMuNS0uMi02LjktLjMtMTAuNC0uM0MxNjMuMSA0OCA4NC40IDEwOC45IDU3LjcgMTkzek00NjQgMjU2YzAtMzYuOC05LjYtNzEuNC0yNi40LTEwMS41TDQxMiAxNjQuOGMtMTUuNyA2LjMtMjMuOCAyMy44LTE4LjUgMzkuOGwxNi45IDUwLjdjMy41IDEwLjQgMTIgMTguMyAyMi42IDIwLjlsMjkuMSA3LjNjMS4yLTkgMS44LTE4LjIgMS44LTI3LjV6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnpcIl1cbn07XG52YXIgZmFFYXJ0aCA9IGZhRWFydGhBbWVyaWNhcztcbnZhciBmYUVhcnRoQW1lcmljYSA9IGZhRWFydGhBbWVyaWNhcztcbnZhciBmYUdsb2JlQW1lcmljYXMgPSBmYUVhcnRoQW1lcmljYXM7XG52YXIgZmFQZXJzb25CdXJzdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tYnVyc3QnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1M2JcIiwgXCJNNDgwIDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptLTggMzg0VjM1MmgxNlY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyNTYuOWwyOC42IDQ3LjVjOS4xIDE1LjEgMjguOCAyMCA0My45IDEwLjlzMjAtMjguOCAxMC45LTQzLjlsLTU4LjMtOTdjLTE3LjQtMjguOS00OC42LTQ2LjYtODIuMy00Ni42SDQ2NS4xYy0zMy43IDAtNjQuOSAxNy43LTgyLjMgNDYuNmwtNTguMyA5N2MtOS4xIDE1LjEtNC4yIDM0LjggMTAuOSA0My45czM0LjggNC4yIDQzLjktMTAuOUw0MDggMjU2LjlWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJ6TTE5MC45IDE4LjFDMTg4LjQgMTIgMTgyLjYgOCAxNzYgOHMtMTIuNCA0LTE0LjkgMTAuMWwtMjkuNCA3NEw1NS42IDY4LjljLTYuMy0xLjktMTMuMSAuMi0xNy4yIDUuM3MtNC42IDEyLjItMS40IDE3LjlsMzkuNSA2OS4xTDEwLjkgMjA2LjRjLTUuNCAzLjctOCAxMC4zLTYuNSAxNi43czYuNyAxMS4yIDEzLjEgMTIuMmw3OC43IDEyLjJMOTAuNiAzMjdjLS41IDYuNSAzLjEgMTIuNyA5IDE1LjVzMTIuOSAxLjggMTcuOC0yLjZMMTc2IDI4Ni4xbDU4LjYgNTMuOWM0LjggNC40IDExLjkgNS41IDE3LjggMi42czkuNS05IDktMTUuNWwtNS42LTc5LjQgNTAuNS03LjggMjQuMy00MC41LTU1LjItMzhMMzE1IDkyLjJjMy4zLTUuNyAyLjctMTIuOC0xLjQtMTcuOXMtMTAuOS03LjItMTcuMi01LjNMMjIwLjMgOTIuMWwtMjkuNC03NHpcIl1cbn07XG52YXIgZmFEb3ZlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RvdmUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgzMzBdLCBcImY0YmFcIiwgXCJNMTYwLjggOTYuNWMxNCAxNyAzMSAzMC45IDQ5LjUgNDIuMmMyNS45IDE1LjggNTMuNyAyNS45IDc3LjcgMzEuNlYxMzguOEMyNjUuOCAxMDguNSAyNTAgNzEuNSAyNDguNiAyOGMtLjQtMTEuMy03LjUtMjEuNS0xOC40LTI0LjRjLTcuNi0yLTE1LjgtLjItMjEgNS44Yy0xMy4zIDE1LjQtMzIuNyA0NC42LTQ4LjQgODcuMnpNMzIwIDE0NHYzMC42bDAgMHYxLjNsMCAwIDAgMzIuMWMtNjAuOC01LjEtMTg1LTQzLjgtMjE5LjMtMTU3LjJDOTcuNCA0MCA4Ny45IDMyIDc2LjYgMzJjLTcuOSAwLTE1LjMgMy45LTE4LjggMTFDNDYuOCA2NS45IDMyIDExMi4xIDMyIDE3NmMwIDExNi45IDgwLjEgMTgwLjUgMTE4LjQgMjAyLjhMMTEuOCA0MTYuNkM2LjcgNDE4IDIuNiA0MjEuOCAuOSA0MjYuOHMtLjggMTAuNiAyLjMgMTQuOEMyMS43IDQ2Ni4yIDc3LjMgNTEyIDE2MCA1MTJjMy42IDAgNy4yLTEuMiAxMC0zLjVMMjQ1LjYgNDQ4SDMyMGM4OC40IDAgMTYwLTcxLjYgMTYwLTE2MFYxMjhsMjkuOS00NC45YzEuMy0yIDIuMS00LjQgMi4xLTYuOGMwLTYuOC01LjUtMTIuMy0xMi4zLTEyLjNINDAwYy00NC4yIDAtODAgMzUuOC04MCA4MHptODAtMTZhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyelwiXVxufTtcbnZhciBmYUJhdHRlcnlFbXB0eSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYXR0ZXJ5LWVtcHR5JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJiYXR0ZXJ5LTBcIl0sIFwiZjI0NFwiLCBcIk04MCAxNjBjLTguOCAwLTE2IDcuMi0xNiAxNlYzMzZjMCA4LjggNy4yIDE2IDE2IDE2SDQ2NGM4LjggMCAxNi03LjIgMTYtMTZWMTc2YzAtOC44LTcuMi0xNi0xNi0xNkg4MHpNMCAxNzZjMC00NC4yIDM1LjgtODAgODAtODBINDY0YzQ0LjIgMCA4MCAzNS44IDgwIDgwdjE2YzE3LjcgMCAzMiAxNC4zIDMyIDMydjY0YzAgMTcuNy0xNC4zIDMyLTMyIDMydjE2YzAgNDQuMi0zNS44IDgwLTgwIDgwSDgwYy00NC4yIDAtODAtMzUuOC04MC04MFYxNzZ6XCJdXG59O1xudmFyIGZhQmF0dGVyeTAgPSBmYUJhdHRlcnlFbXB0eTtcbnZhciBmYVNvY2tzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NvY2tzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5NTEwXSwgXCJmNjk2XCIsIFwiTTE3NS4yIDQ3Ni42Yy05LjctMTgtMTUuMi0zOC43LTE1LjItNjAuNmMwLTQwLjMgMTktNzguMiA1MS4yLTEwMi40bDY0LTQ4YzguMS02IDEyLjgtMTUuNSAxMi44LTI1LjZWOTZIMTI4VjI0MGMwIDIwLjEtOS41IDM5LjEtMjUuNiA1MS4ybC02NCA0OEMxNC4yIDM1Ny4zIDAgMzg1LjggMCA0MTZjMCA1MyA0MyA5NiA5NiA5NmMyMC44IDAgNDEtNi43IDU3LjYtMTkuMmwyMS42LTE2LjJ6TTEyOCA2NEgyODhWNDhjMC0xNC41IDMuOS0yOC4yIDEwLjctMzkuOUMyOTEgMyAyODEuOSAwIDI3MiAwSDE3NmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhWNjR6TTMyMCA5NlYyNDBjMCAyMC4xLTkuNSAzOS4xLTI1LjYgNTEuMmwtNjQgNDhDMjA2LjIgMzU3LjMgMTkyIDM4NS44IDE5MiA0MTZjMCA1MyA0MyA5NiA5NiA5NmMyMC44IDAgNDEtNi43IDU3LjYtMTkuMmwxMTUuMi04Ni40QzQ5MyAzODIuMiA1MTIgMzQ0LjMgNTEyIDMwNFY5NkgzMjB6TTUxMiA2NFY0OGMwLTI2LjUtMjEuNS00OC00OC00OEgzNjhjLTI2LjUgMC00OCAyMS41LTQ4IDQ4VjY0SDUxMnpcIl1cbn07XG52YXIgZmFJbmJveCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdpbmJveCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjAxY1wiLCBcIk0xMjEgMzJDOTEuNiAzMiA2NiA1MiA1OC45IDgwLjVMMS45IDMwOC40Qy42IDMxMy41IDAgMzE4LjcgMCAzMjMuOVY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRINDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0VjMyMy45YzAtNS4yLS42LTEwLjQtMS45LTE1LjVsLTU3LTIyNy45QzQ0NiA1MiA0MjAuNCAzMiAzOTEgMzJIMTIxem0wIDY0SDM5MWw0OCAxOTJIMzg3LjhjLTEyLjEgMC0yMy4yIDYuOC0yOC42IDE3LjdsLTE0LjMgMjguNmMtNS40IDEwLjgtMTYuNSAxNy43LTI4LjYgMTcuN0gxOTUuOGMtMTIuMSAwLTIzLjItNi44LTI4LjYtMTcuN2wtMTQuMy0yOC42Yy01LjQtMTAuOC0xNi41LTE3LjctMjguNi0xNy43SDczTDEyMSA5NnpcIl1cbn07XG52YXIgZmFTZWN0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NlY3Rpb24nLFxuICBpY29uOiBbMjU2LCA1MTIsIFtdLCBcImU0NDdcIiwgXCJNNjQuOSA5NkM2Ny4xIDg0LjQgNzMuNyA3Ni4yIDg2IDcwLjZjMTMuOC02LjIgMzQuOC04LjkgNjEuMi00LjVjOC44IDEuNCAzNi4xIDcuMSA0NC4xIDkuM2MxNyA0LjggMzQuNy01LjEgMzkuNS0yMi4ycy01LjEtMzQuNy0yMi4yLTM5LjVjLTExLjEtMy4xLTQxLTkuMi01MC45LTEwLjhDMTIzLTIuNyA4OC4zLS42IDU5LjcgMTIuM0MyOS45IDI1LjggNy41IDUwLjkgMS42IDg2LjVjLS4xIC41LS4yIDEuMS0uMiAxLjZjLTIuMiAxOS43IC4zIDM3LjkgOC4xIDU0LjFjNy43IDE2LjEgMTkuNCAyOCAzMiAzNi45Yy42IC41IDEuMyAuOSAyIDEuNEMyMi4zIDE5NC4yIDYuNSAyMTUuMSAxLjcgMjQzYy0uMSAuNi0uMiAxLjEtLjIgMS43Yy0yLjMgMTkuMyAuNCAzNy4xIDguNCA1M2M3LjkgMTUuNiAxOS44IDI3IDMyLjMgMzUuNWMyMi40IDE1LjIgNTEuOSAyNCA3NS40IDMxbDAgMCAzLjcgMS4xYzI3LjIgOC4yIDQ2LjkgMTQuNiA1OS40IDIzLjhjNS41IDQgOC4yIDcuNiA5LjUgMTAuOWMxLjMgMy4yIDIuNiA4LjYgLjkgMTguMWMtMS43IDEwLjEtNy43IDE4LTIwLjcgMjMuNWMtMTQgNi0zNS40IDguNS02MiA0LjRjLTEyLjgtMi4xLTM1LjEtOS43LTU0LjEtMTYuMmwwIDBjLTQuMy0xLjUtOC41LTIuOS0xMi4zLTQuMkMyNS4zIDQyMCA3LjIgNDI5LjEgMS42IDQ0NS44czMuNSAzNC45IDIwLjMgNDAuNWMyLjYgLjggNS43IDEuOSA5LjIgMy4xYzE4LjYgNi4zIDQ4LjUgMTYuNiA2Ny4zIDE5LjZsMCAwIC4yIDBjMzQuNSA1LjQgNjguOCAzLjQgOTcuMi04LjdjMjkuNC0xMi42IDUyLjUtMzYuNSA1OC41LTcxLjVjMy4zLTE5LjMgMS45LTM3LjQtNS01My45Yy02LjMtMTUtMTYuNC0yNi40LTI3LjYtMzUuMmMxNi41LTEzLjkgMjguNS0zMy4yIDMyLjYtNTguMmMzLjItMTkuOCAxLjktMzguMy00LjgtNTUuMWMtNi43LTE2LjgtMTcuOC0yOS40LTMwLjItMzljLTIyLjgtMTcuNi01My42LTI3LjQtNzcuNy0zNWwtMS40LS41Yy0yNy40LTguNy00Ny44LTE1LjMtNjEuNS0yNWMtNi4xLTQuNC05LjUtOC41LTExLjQtMTIuNGMtMS44LTMuNy0zLjItOS4zLTIuMy0xOC41em03Ni43IDIwOC41Yy0uMi0uMS0uNC0uMS0uNi0uMmwtMS40LS40Yy0yNy40LTguMi00Ny45LTE0LjUtNjEuNy0yMy44Yy02LjItNC4yLTkuMy03LjktMTEtMTEuM2MtMS41LTMtMi45LTcuNy0yLjEtMTUuN2MxLjktOS43IDcuOS0xNy4zIDIwLjUtMjIuN2MxNC02IDM1LjQtOC41IDYyLjEtNC4zbDE2LjQgMi42YzYuMyAyLjkgMTEuNyA2IDE2LjIgOS41YzUuNSA0LjIgOC40IDguMiAxMCAxMi4yYzEuNiA0IDIuOCAxMC40IDEuMSAyMC45Yy0yLjQgMTQuNy0xMi44IDI2LjQtMzcuMSAzMWwtMTIuNCAyLjN6XCJdXG59O1xudmFyIGZhR2F1Z2VIaWdoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dhdWdlLWhpZ2gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MjQ2MSwgXCJ0YWNob21ldGVyLWFsdFwiLCBcInRhY2hvbWV0ZXItYWx0LWZhc3RcIl0sIFwiZjYyNVwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6TTI4OCA5NmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0yNTYgNDE2YzM1LjMgMCA2NC0yOC43IDY0LTY0YzAtMTcuNC02LjktMzMuMS0xOC4xLTQ0LjZMMzY2IDE2MS43YzUuMy0xMi4xLS4yLTI2LjMtMTIuMy0zMS42cy0yNi4zIC4yLTMxLjYgMTIuM0wyNTcuOSAyODhjLS42IDAtMS4zIDAtMS45IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0czI4LjcgNjQgNjQgNjR6TTE3NiAxNDRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNOTYgMjg4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMzUyLTMyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6XCJdXG59O1xudmFyIGZhVGFjaG9tZXRlckFsdCA9IGZhR2F1Z2VIaWdoO1xudmFyIGZhVGFjaG9tZXRlckFsdEZhc3QgPSBmYUdhdWdlSGlnaDtcbnZhciBmYUVudmVsb3BlT3BlblRleHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZW52ZWxvcGUtb3Blbi10ZXh0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNjU4XCIsIFwiTTIxNS40IDk2SDE0NCAxMDcuOCA5NnY4LjhWMTQ0djQwLjQgODlMLjIgMjAyLjVjMS42LTE4LjEgMTAuOS0zNC45IDI1LjctNDUuOEw0OCAxNDAuM1Y5NmMwLTI2LjUgMjEuNS00OCA0OC00OGg3Ni42bDQ5LjktMzYuOUMyMzIuMiAzLjkgMjQzLjkgMCAyNTYgMHMyMy44IDMuOSAzMy41IDExTDMzOS40IDQ4SDQxNmMyNi41IDAgNDggMjEuNSA0OCA0OHY0NC4zbDIyLjEgMTYuNGMxNC44IDEwLjkgMjQuMSAyNy43IDI1LjcgNDUuOEw0MTYgMjczLjR2LTg5VjE0NCAxMDQuOCA5Nkg0MDQuMiAzNjggMjk2LjYgMjE1LjR6TTAgNDQ4VjI0Mi4xTDIxNy42IDQwMy4zYzExLjEgOC4yIDI0LjYgMTIuNyAzOC40IDEyLjdzMjcuMy00LjQgMzguNC0xMi43TDUxMiAyNDIuMVY0NDh2MGMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjR2MHpNMTc2IDE2MEgzMzZjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMTc2Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0wIDY0SDMzNmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6XCJdXG59O1xudmFyIGZhSG9zcGl0YWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG9zcGl0YWwnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjc5NzMsIDYyNTg5LCBcImhvc3BpdGFsLWFsdFwiLCBcImhvc3BpdGFsLXdpZGVcIl0sIFwiZjBmOFwiLCBcIk0xOTIgNDhjMC0yNi41IDIxLjUtNDggNDgtNDhINDAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4VjUxMkgzNjhWNDMyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4djgwSDE5MlY0OHpNNDggOTZIMTYwVjUxMkg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMzIwSDgwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDBWMjI0SDgwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDBWMTQ0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4em01NDQgMGMyNi41IDAgNDggMjEuNSA0OCA0OHY0OEg1NjBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZoODB2NjRINTYwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2aDgwVjQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0ODBWOTZINTkyek0zMTIgNjRjLTguOCAwLTE2IDcuMi0xNiAxNnYyNEgyNzJjLTguOCAwLTE2IDcuMi0xNiAxNnYxNmMwIDguOCA3LjIgMTYgMTYgMTZoMjR2MjRjMCA4LjggNy4yIDE2IDE2IDE2aDE2YzguOCAwIDE2LTcuMiAxNi0xNlYxNTJoMjRjOC44IDAgMTYtNy4yIDE2LTE2VjEyMGMwLTguOC03LjItMTYtMTYtMTZIMzQ0VjgwYzAtOC44LTcuMi0xNi0xNi0xNkgzMTJ6XCJdXG59O1xudmFyIGZhSG9zcGl0YWxBbHQgPSBmYUhvc3BpdGFsO1xudmFyIGZhSG9zcGl0YWxXaWRlID0gZmFIb3NwaXRhbDtcbnZhciBmYVdpbmVCb3R0bGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2luZS1ib3R0bGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3MmZcIiwgXCJNMzkzLjQgOS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDY0IDY0YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zYy0xMS44IDExLjgtMzAuNyAxMi41LTQzLjIgMS45bC05LjUgOS41LTQ4LjggNDguOGMtOS4yIDkuMi0xMS41IDIyLjktOC42IDM1LjZjOS40IDQwLjktMS45IDg1LjYtMzMuOCAxMTcuNUwxOTcuMyA0OTMuM2MtMjUgMjUtNjUuNSAyNS05MC41IDBsLTg4LTg4Yy0yNS0yNS0yNS02NS41IDAtOTAuNUwxODAuMiAxNTMuM2MzMS45LTMxLjkgNzYuNi00My4xIDExNy41LTMzLjhjMTIuNiAyLjkgMjYuNCAuNSAzNS41LTguNmw0OC44LTQ4LjggOS41LTkuNWMtMTAuNi0xMi42LTEwLTMxLjQgMS45LTQzLjJ6TTk5LjMgMzQ3LjNsNjUuNCA2NS40YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwbDk3LjQtOTcuNGM2LjItNi4yIDYuMi0xNi40IDAtMjIuNmwtNjUuNC02NS40Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMEw5OS4zIDMyNC43Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnpcIl1cbn07XG52YXIgZmFDaGVzc1Jvb2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hlc3Mtcm9vaycsXG4gIGljb246IFs0NDgsIDUxMiwgWzk4MjBdLCBcImY0NDdcIiwgXCJNMzIgMTkyVjQ4YzAtOC44IDcuMi0xNiAxNi0xNmg2NGM4LjggMCAxNiA3LjIgMTYgMTZWODhjMCA0LjQgMy42IDggOCA4aDMyYzQuNCAwIDgtMy42IDgtOFY0OGMwLTguOCA3LjItMTYgMTYtMTZoNjRjOC44IDAgMTYgNy4yIDE2IDE2Vjg4YzAgNC40IDMuNiA4IDggOGgzMmM0LjQgMCA4LTMuNiA4LThWNDhjMC04LjggNy4yLTE2IDE2LTE2aDY0YzguOCAwIDE2IDcuMiAxNiAxNlYxOTJjMCAxMC4xLTQuNyAxOS42LTEyLjggMjUuNkwzNTIgMjU2bDE2IDE0NEg4MEw5NiAyNTYgNDQuOCAyMTcuNkMzNi43IDIxMS42IDMyIDIwMi4xIDMyIDE5MnptMTc2IDk2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYyMjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ2NDhjMCA4LjggNy4yIDE2IDE2IDE2ek0yMi42IDQ3My40TDY0IDQzMkgzODRsNDEuNCA0MS40YzQuMiA0LjIgNi42IDEwIDYuNiAxNmMwIDEyLjUtMTAuMSAyMi42LTIyLjYgMjIuNkgzOC42QzI2LjEgNTEyIDE2IDUwMS45IDE2IDQ4OS40YzAtNiAyLjQtMTEuOCA2LjYtMTZ6XCJdXG59O1xudmFyIGZhQmFyc1N0YWdnZXJlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYXJzLXN0YWdnZXJlZCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wicmVvcmRlclwiLCBcInN0cmVhbVwiXSwgXCJmNTUwXCIsIFwiTTAgOTZDMCA3OC4zIDE0LjMgNjQgMzIgNjRINDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyQzE0LjMgMTI4IDAgMTEzLjcgMCA5NnpNNjQgMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMySDQ4MGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTQ0OCA0MTZjMCAxNy43LTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJINDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMyelwiXVxufTtcbnZhciBmYVJlb3JkZXIgPSBmYUJhcnNTdGFnZ2VyZWQ7XG52YXIgZmFTdHJlYW0gPSBmYUJhcnNTdGFnZ2VyZWQ7XG52YXIgZmFEaGFybWFjaGFrcmEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGhhcm1hY2hha3JhJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTc4NF0sIFwiZjY1NVwiLCBcIk0zMzcuOCAyMDUuN2w0OC42LTQyLjVjMTMuOCAxOS4zIDIzLjQgNDEuOSAyNy40IDY2LjJsLTY0LjQgNC4zYy0yLjQtMTAuMS02LjQtMTkuNS0xMS42LTI4em0xNDAuMSAxOS41Yy01LjMtMzguOC0yMC42LTc0LjUtNDMuMi0xMDQuM2wuOC0uN0M0NDkgMTA4LjQgNDQ5LjcgODcuNiA0MzcgNzVzLTMzLjQtMTItNDUuMiAxLjVsLS43IC44Yy0yOS44LTIyLjYtNjUuNS0zNy45LTEwNC4zLTQzLjJsLjEtMS4xYzEuMi0xNy45LTEzLTMzLTMwLjktMzNzLTMyLjEgMTUuMi0zMC45IDMzbC4xIDEuMWMtMzguOCA1LjMtNzQuNSAyMC42LTEwNC4zIDQzLjJsLS43LS44QzEwOC40IDYzIDg3LjYgNjIuMyA3NSA3NXMtMTIgMzMuNCAxLjUgNDUuMmwuOCAuN2MtMjIuNiAyOS44LTM3LjkgNjUuNS00My4yIDEwNC4zbC0xLjEtLjFjLTE3LjktMS4yLTMzIDEzLTMzIDMwLjlzMTUuMiAzMi4xIDMzIDMwLjlsMS4xLS4xYzUuMyAzOC44IDIwLjYgNzQuNSA0My4yIDEwNC4zbC0uOCAuN0M2MyA0MDMuNiA2Mi4zIDQyNC40IDc1IDQzN3MzMy40IDEyIDQ1LjItMS41bC43LS44YzI5LjggMjIuNiA2NS41IDM3LjkgMTA0LjMgNDMuMmwtLjEgMS4xYy0xLjIgMTcuOSAxMyAzMyAzMC45IDMzczMyLjEtMTUuMiAzMC45LTMzbC0uMS0xLjFjMzguOC01LjMgNzQuNS0yMC42IDEwNC4zLTQzLjJsLjcgLjhjMTEuOCAxMy41IDMyLjUgMTQuMiA0NS4yIDEuNXMxMi0zMy40LTEuNS00NS4ybC0uOC0uN2MyMi42LTI5LjggMzcuOS02NS41IDQzLjItMTA0LjNsMS4xIC4xYzE3LjkgMS4yIDMzLTEzIDMzLTMwLjlzLTE1LjItMzIuMS0zMy0zMC45bC0xLjEgLjF6TTE2My4yIDEyNS42YzE5LjMtMTMuOCA0MS45LTIzLjQgNjYuMi0yNy41bDQuMyA2NC40Yy0xMCAyLjQtMTkuNSA2LjQtMjggMTEuNmwtNDIuNS00OC42em0tNjUgMTAzLjhjNC4xLTI0LjQgMTMuNy00Ni45IDI3LjUtNjYuMmw0OC42IDQyLjVjLTUuMyA4LjUtOS4yIDE4LTExLjYgMjhsLTY0LjQtNC4zem0yNy41IDExOS40Yy0xMy44LTE5LjMtMjMuNC00MS45LTI3LjUtNjYuMmw2NC40LTQuM2MyLjQgMTAgNi40IDE5LjUgMTEuNiAyOGwtNDguNiA0Mi41em0xMDMuOCA2NWMtMjQuNC00LjEtNDYuOS0xMy43LTY2LjItMjcuNGw0Mi41LTQ4LjZjOC41IDUuMyAxOCA5LjIgMjggMTEuNmwtNC4zIDY0LjR6bTExOS40LTI3LjRjLTE5LjMgMTMuOC00MS45IDIzLjQtNjYuMiAyNy40bC00LjMtNjQuNGMxMC0yLjQgMTkuNS02LjQgMjgtMTEuNmw0Mi41IDQ4LjZ6bTY1LTEwMy44Yy00LjEgMjQuNC0xMy43IDQ2LjktMjcuNCA2Ni4ybC00OC42LTQyLjVjNS4zLTguNSA5LjItMTggMTEuNi0yOGw2NC40IDQuM3ptLTY1LTE1Ni45bC00Mi41IDQ4LjZjLTguNS01LjMtMTgtOS4yLTI4LTExLjZsNC4zLTY0LjRjMjQuNCA0LjEgNDYuOSAxMy43IDY2LjIgMjcuNXpNMjU2IDIyNGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhSG90ZG9nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdGRvZycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzc4OV0sIFwiZjgwZlwiLCBcIk00ODguNiAyMy40YzMxLjIgMzEuMiAzMS4yIDgxLjkgMCAxMTMuMWwtMzUyIDM1MmMtMzEuMiAzMS4yLTgxLjkgMzEuMi0xMTMuMSAwcy0zMS4yLTgxLjkgMC0xMTMuMWwzNTItMzUyYzMxLjItMzEuMiA4MS45LTMxLjIgMTEzLjEgMHpNNDQzLjMgOTIuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBjLTEyLjUgMTIuNS0yMy44IDE1LjEtMzcuNSAxNy42bC0yLjUgLjRjLTEzLjggMi41LTMxLjYgNS42LTQ4IDIyYy0xNi43IDE2LjctMjAuOSAzNi0yNC4xIDUwLjlsMCAwdjBsLS4yIDFjLTMuNCAxNS42LTYgMjYuNC0xNS43IDM2LjFzLTIwLjUgMTIuMy0zNi4xIDE1LjdsLTEgLjJjLTE0LjkgMy4yLTM0LjIgNy40LTUwLjkgMjQuMXMtMjAuOSAzNi0yNC4xIDUwLjlsLS4yIDFjLTMuNCAxNS42LTYgMjYuNC0xNS43IDM2LjFjLTkuMiA5LjItMTggMTAuOC0zMi43IDEzLjRsMCAwLS45IC4yYy0xNS42IDIuOC0zNC45IDYuOS01NC40IDI2LjRjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGMxMi41LTEyLjUgMjMuOC0xNS4xIDM3LjUtMTcuNmwyLjUtLjRjMTMuOC0yLjUgMzEuNi01LjYgNDgtMjJjMTYuNy0xNi43IDIwLjktMzYgMjQuMS01MC45bC4yLTFjMy40LTE1LjYgNi0yNi40IDE1LjctMzYuMXMyMC41LTEyLjMgMzYuMS0xNS43bDEtLjJjMTQuOS0zLjIgMzQuMi03LjQgNTAuOS0yNC4xczIwLjktMzYgMjQuMS01MC45bC4yLTFjMy40LTE1LjYgNi0yNi40IDE1LjctMzYuMWM5LjItOS4yIDE4LTEwLjggMzIuNy0xMy40bC45LS4yYzE1LjYtMi44IDM0LjktNi45IDU0LjQtMjYuNGM2LjItNi4yIDYuMi0xNi40IDAtMjIuNnpNMTkxLjIgNDc5LjJsMjg4LTI4OEw0OTUgMjA3YzEwLjkgMTAuOSAxNyAyNS42IDE3IDQxcy02LjEgMzAuMS0xNyA0MUwyODkgNDk1Yy0xMC45IDEwLjktMjUuNiAxNy00MSAxN3MtMzAuMS02LjEtNDEtMTdsLTE1LjgtMTUuOHpNMTcgMzA1QzYuMSAyOTQuMSAwIDI3OS40IDAgMjY0czYuMS0zMC4xIDE3LTQxTDIyMyAxN0MyMzMuOSA2LjEgMjQ4LjYgMCAyNjQgMHMzMC4xIDYuMSA0MSAxN2wxNS44IDE1LjgtMjg4IDI4OEwxNyAzMDV6XCJdXG59O1xudmFyIGZhUGVyc29uV2Fsa2luZ1dpdGhDYW5lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi13YWxraW5nLXdpdGgtY2FuZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYmxpbmRcIl0sIFwiZjI5ZFwiLCBcIk0xNzYgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0tOC40IDMyYy0zNi40IDAtNjkuNiAyMC41LTg1LjkgNTMuMUwzNS40IDI3My43Yy03LjkgMTUuOC0xLjUgMzUgMTQuMyA0Mi45czM1IDEuNSA0Mi45LTE0LjNMMTI4IDIzMS42djQzLjJjMCAxNyA2LjcgMzMuMyAxOC43IDQ1LjNMMjI0IDM5Ny4zVjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjM5MC42YzAtMTIuNy01LjEtMjQuOS0xNC4xLTMzLjlMMjI0IDMwNi43VjIxMy4zbDcwLjQgOTMuOWMxMC42IDE0LjEgMzAuNyAxNyA0NC44IDYuNHMxNy0zMC43IDYuNC00NC44TDI2OC44IDE2Ni40QzI1MC43IDE0Mi4yIDIyMi4yIDEyOCAxOTIgMTI4SDE2Ny42ek0xMjguMyAzNDYuOEw5NyA0NzIuMmMtNC4zIDE3LjEgNi4xIDM0LjUgMjMuMyAzOC44czM0LjUtNi4xIDM4LjgtMjMuM2wyMi04OC4yLTUyLjgtNTIuOHpNNDUwLjggNTA1LjFjNSA3LjMgMTUgOS4xIDIyLjMgNHM5LjEtMTUgNC0yMi4zTDM1OC45IDMxNi4xYy0yLjggMy44LTYuMSA3LjMtMTAuMSAxMC4zYy01IDMuOC0xMC41IDYuNC0xNi4yIDcuOUw0NTAuOCA1MDUuMXpcIl1cbn07XG52YXIgZmFCbGluZCA9IGZhUGVyc29uV2Fsa2luZ1dpdGhDYW5lO1xudmFyIGZhRHJ1bSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkcnVtJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5MzQ1XSwgXCJmNTY5XCIsIFwiTTUwMS4yIDc2LjFjMTEuMS03LjMgMTQuMi0yMi4xIDYuOS0zMy4ycy0yMi4xLTE0LjItMzMuMi02LjlMMzcwLjIgMTA0LjVDMzM1LjggOTguNyAyOTcgOTYgMjU2IDk2QzExNC42IDk2IDAgMTI4IDAgMjA4VjM2OGMwIDMxLjMgMjcuNCA1OC44IDcyIDc4LjdWMzQ0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRWNDYzLjRjMzMgOC45IDcxLjEgMTQuNSAxMTIgMTYuMVYzNzZjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNFY0NzkuNWM0MC45LTEuNiA3OS03LjIgMTEyLTE2LjFWMzQ0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRWNDQ2LjdjNDQuNi0xOS45IDcyLTQ3LjQgNzItNzguN1YyMDhjMC00MS4xLTMwLjItNjkuNS03OC44LTg3LjRsNjcuOS00NC41ek0zMDcuNCAxNDUuNmwtNjQuNiA0Mi4zYy0xMS4xIDcuMy0xNC4yIDIyLjEtNi45IDMzLjJzMjIuMSAxNC4yIDMzLjIgNi45bDExMS4xLTcyLjhjMTQuNyAzLjIgMjcuOSA3IDM5LjQgMTEuNUM0NTguNCAxODEuOCA0NjQgMTk3LjQgNDY0IDIwOGMwIC44LTIuNyAxNy4yLTQ2IDM1LjlDMzc5LjEgMjYwLjcgMzIyIDI3MiAyNTYgMjcycy0xMjMuMS0xMS4zLTE2Mi0yOC4xQzUwLjcgMjI1LjIgNDggMjA4LjggNDggMjA4YzAtMTAuNiA1LjYtMjYuMiA0NC40LTQxLjNDMTMwLjYgMTUxLjkgMTg3LjggMTQ0IDI1NiAxNDRjMTggMCAzNS4xIC41IDUxLjQgMS42elwiXVxufTtcbnZhciBmYUljZUNyZWFtID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ljZS1jcmVhbScsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyNzg0OF0sIFwiZjgxMFwiLCBcIk0zNjcuMSAxNjBjLjYtNS4zIC45LTEwLjYgLjktMTZDMzY4IDY0LjUgMzAzLjUgMCAyMjQgMFM4MCA2NC41IDgwIDE0NGMwIDUuNCAuMyAxMC43IC45IDE2SDgwYy0yNi41IDAtNDggMjEuNS00OCA0OHMyMS41IDQ4IDQ4IDQ4aDUzLjUgMTgxSDM2OGMyNi41IDAgNDgtMjEuNSA0OC00OHMtMjEuNS00OC00OC00OGgtLjl6TTk2IDI4OEwyMDAuOCA0OTcuN2M0LjQgOC44IDEzLjMgMTQuMyAyMy4yIDE0LjNzMTguOC01LjUgMjMuMi0xNC4zTDM1MiAyODhIOTZ6XCJdXG59O1xudmFyIGZhSGVhcnRDaXJjbGVCb2x0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlYXJ0LWNpcmNsZS1ib2x0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGZjXCIsIFwiTTQ3LjYgMzAwLjRMMjI4LjMgNDY5LjFjNy41IDcgMTcuNCAxMC45IDI3LjcgMTAuOXMyMC4yLTMuOSAyNy43LTEwLjlsMi42LTIuNEMyNjcuMiA0MzguNiAyNTYgNDA0LjYgMjU2IDM2OGMwLTk3LjIgNzguOC0xNzYgMTc2LTE3NmMyOC4zIDAgNTUgNi43IDc4LjcgMTguNWMuOS02LjUgMS4zLTEzIDEuMy0xOS42di01LjhjMC02OS45LTUwLjUtMTI5LjUtMTE5LjQtMTQxQzM0NyAzNi41IDMwMC42IDUxLjQgMjY4IDg0TDI1NiA5NiAyNDQgODRjLTMyLjYtMzIuNi03OS00Ny41LTEyNC42LTM5LjlDNTAuNSA1NS42IDAgMTE1LjIgMCAxODUuMXY1LjhjMCA0MS41IDE3LjIgODEuMiA0Ny42IDEwOS41ek00MzIgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptNDcuOS0yMjVjNC4zIDMuNyA1LjQgOS45IDIuNiAxNC45TDQ1Mi40IDM1Nkg0ODhjNS4yIDAgOS44IDMuMyAxMS40IDguMnMtLjEgMTAuMy00LjIgMTMuNGwtOTYgNzJjLTQuNSAzLjQtMTAuOCAzLjItMTUuMS0uNnMtNS40LTkuOS0yLjYtMTQuOUw0MTEuNiAzODBIMzc2Yy01LjIgMC05LjgtMy4zLTExLjQtOC4ycy4xLTEwLjMgNC4yLTEzLjRsOTYtNzJjNC41LTMuNCAxMC44LTMuMiAxNS4xIC42elwiXVxufTtcbnZhciBmYUZheCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYXgnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyMjQsIDEyODQzOV0sIFwiZjFhY1wiLCBcIk0xMjggNjR2OTZoNjRWNjRIMzg2LjdMNDE2IDkzLjNWMTYwaDY0VjkzLjNjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMNDMyIDE4LjdDNDIwIDYuNyA0MDMuNyAwIDM4Ni43IDBIMTkyYy0zNS4zIDAtNjQgMjguNy02NCA2NHpNMCAxNjBWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMySDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjE2MGMwLTE3LjctMTQuMy0zMi0zMi0zMkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6bTQ4MCAzMkgxMjhWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMySDQ4MGMxNy43IDAgMzItMTQuMyAzMi0zMlYyMjRjMC0xNy43LTE0LjMtMzItMzItMzJ6TTI1NiAyNTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em05NiAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0zMiA5NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTIyNCA0MTZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpcIl1cbn07XG52YXIgZmFQYXJhZ3JhcGggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGFyYWdyYXBoJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTgyXSwgXCJmMWRkXCIsIFwiTTE5MiAzMmg2NEg0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzg0bDAgMzUyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzUySDI4OFY0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzUySDE5MmMtODguNCAwLTE2MC03MS42LTE2MC0xNjBzNzEuNi0xNjAgMTYwLTE2MHpcIl1cbn07XG52YXIgZmFDaGVja1RvU2xvdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGVjay10by1zbG90JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJ2b3RlLXllYVwiXSwgXCJmNzcyXCIsIFwiTTk2IDgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4SDQzMmMyNi41IDAgNDggMjEuNSA0OCA0OFYzODRIOTZWODB6bTMxMyA0N2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBsLTExMSAxMTEtNDctNDdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNjQgNjRjOS40IDkuNCAyNC42IDkuNCAzMy45IDBMNDA5IDE2MWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXpNMCAzMzZjMC0yNi41IDIxLjUtNDggNDgtNDhINjRWNDE2SDUxMlYyODhoMTZjMjYuNSAwIDQ4IDIxLjUgNDggNDh2OTZjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjMzNnpcIl1cbn07XG52YXIgZmFWb3RlWWVhID0gZmFDaGVja1RvU2xvdDtcbnZhciBmYVN0YXJIYWxmID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0YXItaGFsZicsXG4gIGljb246IFs1NzYsIDUxMiwgWzYxNzMxXSwgXCJmMDg5XCIsIFwiTTI4OCAwYy0xMi4yIC4xLTIzLjMgNy0yOC42IDE4TDE5NSAxNTAuMyA1MS40IDE3MS41Yy0xMiAxLjgtMjIgMTAuMi0yNS43IDIxLjdzLS43IDI0LjIgNy45IDMyLjdMMTM3LjggMzI5IDExMy4yIDQ3NC43Yy0yIDEyIDMgMjQuMiAxMi45IDMxLjNzMjMgOCAzMy44IDIuM0wyODggNDM5LjhWMHpNNDI5LjkgNTEyYzEuMSAuMSAyLjEgLjEgMy4yIDBoLTMuMnpcIl1cbn07XG52YXIgZmFCb3hlc1N0YWNrZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm94ZXMtc3RhY2tlZCcsXG4gIGljb246IFs1NzYsIDUxMiwgWzYyNjI1LCBcImJveGVzXCIsIFwiYm94ZXMtYWx0XCJdLCBcImY0NjhcIiwgXCJNMjQ4IDBIMjA4Yy0yNi41IDAtNDggMjEuNS00OCA0OFYxNjBjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzUyYzM1LjMgMCA2NC0yOC43IDY0LTY0VjQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDMyOFY4MGMwIDguOC03LjIgMTYtMTYgMTZIMjY0Yy04LjggMC0xNi03LjItMTYtMTZWMHpNNjQgMjU2Yy0zNS4zIDAtNjQgMjguNy02NCA2NFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMjI0YzM1LjMgMCA2NC0yOC43IDY0LTY0VjMyMGMwLTM1LjMtMjguNy02NC02NC02NEgxODR2ODBjMCA4LjgtNy4yIDE2LTE2IDE2SDEyMGMtOC44IDAtMTYtNy4yLTE2LTE2VjI1Nkg2NHpNMzUyIDUxMkg1MTJjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0SDQ3MnY4MGMwIDguOC03LjIgMTYtMTYgMTZINDA4Yy04LjggMC0xNi03LjItMTYtMTZWMjU2SDM1MmMtMTUgMC0yOC44IDUuMS0zOS43IDEzLjhjNC45IDEwLjQgNy43IDIyIDcuNyAzNC4yVjQ2NGMwIDEyLjItMi44IDIzLjgtNy43IDM0LjJDMzIzLjIgNTA2LjkgMzM3IDUxMiAzNTIgNTEyelwiXVxufTtcbnZhciBmYUJveGVzID0gZmFCb3hlc1N0YWNrZWQ7XG52YXIgZmFCb3hlc0FsdCA9IGZhQm94ZXNTdGFja2VkO1xudmFyIGZhTGluayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsaW5rJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4Mjc5LCBcImNoYWluXCJdLCBcImYwYzFcIiwgXCJNNTc5LjggMjY3LjdjNTYuNS01Ni41IDU2LjUtMTQ4IDAtMjA0LjVjLTUwLTUwLTEyOC44LTU2LjUtMTg2LjMtMTUuNGwtMS42IDEuMWMtMTQuNCAxMC4zLTE3LjcgMzAuMy03LjQgNDQuNnMzMC4zIDE3LjcgNDQuNiA3LjRsMS42LTEuMWMzMi4xLTIyLjkgNzYtMTkuMyAxMDMuOCA4LjZjMzEuNSAzMS41IDMxLjUgODIuNSAwIDExNEw0MjIuMyAzMzQuOGMtMzEuNSAzMS41LTgyLjUgMzEuNS0xMTQgMGMtMjcuOS0yNy45LTMxLjUtNzEuOC04LjYtMTAzLjhsMS4xLTEuNmMxMC4zLTE0LjQgNi45LTM0LjQtNy40LTQ0LjZzLTM0LjQtNi45LTQ0LjYgNy40bC0xLjEgMS42QzIwNi41IDI1MS4yIDIxMyAzMzAgMjYzIDM4MGM1Ni41IDU2LjUgMTQ4IDU2LjUgMjA0LjUgMEw1NzkuOCAyNjcuN3pNNjAuMiAyNDQuM2MtNTYuNSA1Ni41LTU2LjUgMTQ4IDAgMjA0LjVjNTAgNTAgMTI4LjggNTYuNSAxODYuMyAxNS40bDEuNi0xLjFjMTQuNC0xMC4zIDE3LjctMzAuMyA3LjQtNDQuNnMtMzAuMy0xNy43LTQ0LjYtNy40bC0xLjYgMS4xYy0zMi4xIDIyLjktNzYgMTkuMy0xMDMuOC04LjZDNzQgMzcyIDc0IDMyMSAxMDUuNSAyODkuNUwyMTcuNyAxNzcuMmMzMS41LTMxLjUgODIuNS0zMS41IDExNCAwYzI3LjkgMjcuOSAzMS41IDcxLjggOC42IDEwMy45bC0xLjEgMS42Yy0xMC4zIDE0LjQtNi45IDM0LjQgNy40IDQ0LjZzMzQuNCA2LjkgNDQuNi03LjRsMS4xLTEuNkM0MzMuNSAyNjAuOCA0MjcgMTgyIDM3NyAxMzJjLTU2LjUtNTYuNS0xNDgtNTYuNS0yMDQuNSAwTDYwLjIgMjQ0LjN6XCJdXG59O1xudmFyIGZhQ2hhaW4gPSBmYUxpbms7XG52YXIgZmFFYXJMaXN0ZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZWFyLWxpc3RlbicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zXCJdLCBcImYyYTJcIiwgXCJNMzk4LjMgMy40Yy0xNS44LTcuOS0zNS0xLjUtNDIuOSAxNC4zYy03LjkgMTUuOC0xLjUgMzQuOSAxNC4yIDQyLjlsLjQgLjJjLjQgLjIgMS4xIC42IDIuMSAxLjJjMiAxLjIgNSAzIDguNyA1LjZjNy41IDUuMiAxNy42IDEzLjIgMjcuNyAyNC4yQzQyOC41IDExMy40IDQ0OCAxNDYgNDQ4IDE5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyYzAtNjYtMjguNS0xMTMuNC01Ni41LTE0My43QzQ0MS42IDMzLjIgNDI3LjcgMjIuMiA0MTcuMyAxNWMtNS4zLTMuNy05LjctNi40LTEzLTguM2MtMS42LTEtMy0xLjctNC0yLjJjLS41LS4zLS45LS41LTEuMi0uN2wtLjQtLjItLjItLjEtLjEgMCAwIDBjMCAwIDAgMC0xNC4zIDI4LjZMMzk4LjMgMy40ek0xMjguNyAyMjcuNWM2LjItNTYgNTMuNy05OS41IDExMS4zLTk5LjVjNjEuOSAwIDExMiA1MC4xIDExMiAxMTJjMCAyOS4zLTExLjIgNTUuOS0yOS42IDc1LjljLTE3IDE4LjQtMzQuNCA0NS4xLTM0LjQgNzhWNDAwYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyYzYxLjkgMCAxMTItNTAuMSAxMTItMTEydi02LjFjMC05LjggNS40LTIxLjcgMTcuNC0zNC43QzM5OC4zIDMyNy45IDQxNiAyODYgNDE2IDI0MGMwLTk3LjItNzguOC0xNzYtMTc2LTE3NkMxNDkuNCA2NCA3NC44IDEzMi41IDY1LjEgMjIwLjVjLTEuOSAxNy42IDEwLjcgMzMuNCAyOC4zIDM1LjNzMzMuNC0xMC43IDM1LjMtMjguM3pNMzIgNTEyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMTkyIDM1MmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek00MS40IDM2MS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w2NCA2NGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC02NC02NGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDB6TTIwOCAyNDBjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjR6XCJdXG59O1xudmFyIGZhQXNzaXN0aXZlTGlzdGVuaW5nU3lzdGVtcyA9IGZhRWFyTGlzdGVuO1xudmFyIGZhVHJlZUNpdHkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJlZS1jaXR5JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTg3XCIsIFwiTTI4OCA0OGMwLTI2LjUgMjEuNS00OCA0OC00OGg5NmMyNi41IDAgNDggMjEuNSA0OCA0OFYxOTJoNDBWMTIwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR2NzJoMjRjMjYuNSAwIDQ4IDIxLjUgNDggNDhWNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQzMiAzMzZjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjQ4em02NCAzMnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjgwYzAtOC44LTcuMi0xNi0xNi0xNkgzNjhjLTguOCAwLTE2IDcuMi0xNiAxNnptMTYgODBjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjE3NmMwLTguOC03LjItMTYtMTYtMTZIMzY4ek0zNTIgMjcydjMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMjcyYzAtOC44LTcuMi0xNi0xNi0xNkgzNjhjLTguOCAwLTE2IDcuMi0xNiAxNnptMTc2LTE2Yy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYyNzJjMC04LjgtNy4yLTE2LTE2LTE2SDUyOHpNNTEyIDM2OHYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjM2OGMwLTguOC03LjItMTYtMTYtMTZINTI4Yy04LjggMC0xNiA3LjItMTYgMTZ6TTIyNCAxNjBjMCA2LTEgMTEtMiAxNmMyMCAxNCAzNCAzOCAzNCA2NGMwIDQ1LTM2IDgwLTgwIDgwSDE2MFY0ODBjMCAxOC0xNSAzMi0zMiAzMmMtMTggMC0zMi0xNC0zMi0zMlYzMjBIODBjLTQ1IDAtODAtMzUtODAtODBjMC0yNiAxMy01MCAzMy02NGMtMS01LTEtMTAtMS0xNmMwLTUzIDQyLTk2IDk2LTk2YzUzIDAgOTYgNDMgOTYgOTZ6XCJdXG59O1xudmFyIGZhUGxheSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwbGF5JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbOTY1NF0sIFwiZjA0YlwiLCBcIk03MyAzOWMtMTQuOC05LjEtMzMuNC05LjQtNDguNS0uOVMwIDYyLjYgMCA4MFY0MzJjMCAxNy40IDkuNCAzMy40IDI0LjUgNDEuOXMzMy43IDguMSA0OC41LS45TDM2MSAyOTdjMTQuMy04LjcgMjMtMjQuMiAyMy00MXMtOC43LTMyLjItMjMtNDFMNzMgMzl6XCJdXG59O1xudmFyIGZhRm9udCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmb250JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMDMxXCIsIFwiTTI1NCA1Mi44QzI0OS4zIDQwLjMgMjM3LjMgMzIgMjI0IDMycy0yNS4zIDguMy0zMCAyMC44TDU3LjggNDE2SDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDk2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyaC0xLjhsMTgtNDhIMzAzLjhsMTggNDhIMzIwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDk2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDM5MC4yTDI1NCA1Mi44ek0yNzkuOCAzMDRIMTY4LjJMMjI0IDE1NS4xIDI3OS44IDMwNHpcIl1cbn07XG52YXIgZmFUYWJsZUNlbGxzUm93TG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YWJsZS1jZWxscy1yb3ctbG9jaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTY3YVwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjUuMWMtMzcuOCA1LjQtNjkuNCAyOS42LTg1LjIgNjIuOUwzNjAgMjI0bDAgNjQgNTYgMCAwIDguNmMtMTkuMSAxMS4xLTMyIDMxLjctMzIgNTUuNGwtMjQgMCAwIDY0IDI0IDAgMCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6TTY0IDIyNGwwIDY0IDg4IDAgMC02NC04OCAwem0yMzIgMGwtODggMCAwIDY0IDg4IDAgMC02NHpNMTUyIDM1MmwtODggMCAwIDY0IDg4IDAgMC02NHptNTYgMGwwIDY0IDg4IDAgMC02NC04OCAwek01MjggMjQwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDQ4IDY0IDAgMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMnptLTgwIDMyYzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBsMCA0OGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTYwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDAtNDh6XCJdXG59O1xudmFyIGZhUnVwaWFoU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdydXBpYWgtc2lnbicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTIzZFwiLCBcIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMyaDgwYzc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0YzAgNTguOC0zNS4yIDEwOS4zLTg1LjcgMTMxLjdsNTEuNCAxMjguNGM2LjYgMTYuNC0xLjQgMzUtMTcuOCA0MS42cy0zNS0xLjQtNDEuNi0xNy44TDEwNi4zIDMyMEg2NFY0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMjg4IDY0ek02NCAyNTZoNDhjNDQuMiAwIDgwLTM1LjggODAtODBzLTM1LjgtODAtODAtODBINjRWMjU2em0yNTYtOTZoODBjNjEuOSAwIDExMiA1MC4xIDExMiAxMTJzLTUwLjEgMTEyLTExMiAxMTJIMzUydjk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjM1MiAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTgwIDE2MGMyNi41IDAgNDgtMjEuNSA0OC00OHMtMjEuNS00OC00OC00OEgzNTJ2OTZoNDh6XCJdXG59O1xudmFyIGZhTWFnbmlmeWluZ0dsYXNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hZ25pZnlpbmctZ2xhc3MnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyNjksIFwic2VhcmNoXCJdLCBcImYwMDJcIiwgXCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NmMtMzQuNCAyNS4yLTc2LjggNDAtMTIyLjcgNDBDOTMuMSA0MTYgMCAzMjIuOSAwIDIwOFM5My4xIDAgMjA4IDBTNDE2IDkzLjEgNDE2IDIwOHpNMjA4IDM1MmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6XCJdXG59O1xudmFyIGZhU2VhcmNoID0gZmFNYWduaWZ5aW5nR2xhc3M7XG52YXIgZmFUYWJsZVRlbm5pc1BhZGRsZUJhbGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGFibGUtdGVubmlzLXBhZGRsZS1iYWxsJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI3OTU1LCBcInBpbmctcG9uZy1wYWRkbGUtYmFsbFwiLCBcInRhYmxlLXRlbm5pc1wiXSwgXCJmNDVkXCIsIFwiTTQ4MCAyODhjLTUwLjEgMC05My42IDI4LjgtMTE0LjYgNzAuOEwxMzIuOSAxMjYuM2wuNi0uNiA2MC4xLTYwLjFjODcuNS04Ny41IDIyOS4zLTg3LjUgMzE2LjggMGM2Ny4xIDY3LjEgODIuNyAxNjYuMyA0Ni44IDI0OC4zQzUzNS44IDI5Ny42IDUwOSAyODggNDgwIDI4OHpNMTEzLjMgMTUxLjlMMzU0LjEgMzkyLjdjLTEuNCA3LjUtMi4xIDE1LjMtMi4xIDIzLjNjMCAyMy4yIDYuMiA0NC45IDE2LjkgNjMuN2MtMyAuMi02LjEgLjMtOS4yIC4zSDM1N2MtMzMuOSAwLTY2LjUtMTMuNS05MC41LTM3LjVsLTkuOC05LjhjLTEzLjEtMTMuMS0zNC42LTEyLjQtNDYuOCAxLjdMMTUyLjIgNTAxYy01LjggNi43LTE0LjIgMTAuNy0yMyAxMXMtMTcuNS0zLjEtMjMuOC05LjRsLTMyLTMyYy02LjMtNi4zLTkuNy0xNC45LTkuNC0yMy44czQuMy0xNy4yIDExLTIzbDY2LjYtNTcuN2MxNC0xMi4yIDE0LjgtMzMuNyAxLjctNDYuOGwtOS44LTkuOGMtMjQtMjQtMzcuNS01Ni42LTM3LjUtOTAuNXYtMi43YzAtMjIuOCA2LjEtNDQuOSAxNy4zLTY0LjN6TTQ4MCAzMjBhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6XCJdXG59O1xudmFyIGZhUGluZ1BvbmdQYWRkbGVCYWxsID0gZmFUYWJsZVRlbm5pc1BhZGRsZUJhbGw7XG52YXIgZmFUYWJsZVRlbm5pcyA9IGZhVGFibGVUZW5uaXNQYWRkbGVCYWxsO1xudmFyIGZhUGVyc29uRG90c0Zyb21MaW5lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1kb3RzLWZyb20tbGluZScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiZGlhZ25vc2VzXCJdLCBcImY0NzBcIiwgXCJNMjg4IDE3NkE4OCA4OCAwIDEgMCAyODggMGE4OCA4OCAwIDEgMCAwIDE3NnpNNzguNyAzNzIuOWMxNS0xMi41IDUwLTM0LjQgOTcuMy01MC4xVjQzMkg0MDBWMzIyLjdjNDcuMyAxNS44IDgyLjMgMzcuNyA5Ny4zIDUwLjFjMjAuNCAxNyA1MC42IDE0LjIgNjcuNi02LjFzMTQuMi01MC42LTYuMS02Ny42Yy0xMi0xMC0zMC4xLTIyLjUtNTMuMi0zNUM0OTcuMiAyNzguNCA0ODEuNyAyODggNDY0IDI4OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhjMC00LjMgLjYtOC40IDEuNi0xMi40QzM3OS4xIDIxNS45IDMzNS4zIDIwOCAyODggMjA4Yy02MC4yIDAtMTE0LjkgMTIuOS0xNjAgMjkuOWMwIC43IDAgMS40IDAgMi4xYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4Yy0xMS44IDAtMjIuNy00LjMtMzEtMTEuNGMtMTMuMSA4LjEtMjMuNyAxNS45LTMxLjcgMjIuNWMtMjAuNCAxNy0yMy4xIDQ3LjItNi4xIDY3LjZzNDcuMiAyMy4xIDY3LjYgNi4xek0yNCA0NjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRINTUyYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDI0ek0yMjQgMjgwYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTEwNCA1NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6TTk2IDI0MGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem0zNjggMTZhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyelwiXVxufTtcbnZhciBmYURpYWdub3NlcyA9IGZhUGVyc29uRG90c0Zyb21MaW5lO1xudmFyIGZhVHJhc2hDYW5BcnJvd1VwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyYXNoLWNhbi1hcnJvdy11cCcsXG4gIGljb246IFs0NDgsIDUxMiwgW1widHJhc2gtcmVzdG9yZS1hbHRcIl0sIFwiZjgyYVwiLCBcIk0xNjMuOCAwSDI4NC4yYzEyLjEgMCAyMy4yIDYuOCAyOC42IDE3LjdMMzIwIDMyaDk2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyQzE0LjMgOTYgMCA4MS43IDAgNjRTMTQuMyAzMiAzMiAzMmg5Nmw3LjItMTQuM0MxNDAuNiA2LjggMTUxLjcgMCAxNjMuOCAwek0zMiAxMjhINDE2VjQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEg5NmMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMTI4em0xOTIgNjRjLTYuNCAwLTEyLjUgMi41LTE3IDdsLTgwIDgwYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMzktMzlWNDA4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWMjczLjlsMzkgMzljOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC04MC04MGMtNC41LTQuNS0xMC42LTctMTctN3pcIl1cbn07XG52YXIgZmFUcmFzaFJlc3RvcmVBbHQgPSBmYVRyYXNoQ2FuQXJyb3dVcDtcbnZhciBmYU5haXJhU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICduYWlyYS1zaWduJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJlMWY2XCIsIFwiTTEyMi42IDQ2LjNjLTcuOC0xMS43LTIyLjQtMTctMzUuOS0xMi45UzY0IDQ5LjkgNjQgNjRWMjU2SDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDY0VjQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjMyMEgyMjguMmw5Ny4yIDE0NS44YzcuOCAxMS43IDIyLjQgMTcgMzUuOSAxMi45czIyLjctMTYuNSAyMi43LTMwLjZWMzIwaDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDM4NFY2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlYyNTZIMjYyLjVMMTIyLjYgNDYuM3pNMzA1LjEgMzIwSDMyMHYyMi4zTDMwNS4xIDMyMHpNMTg1LjUgMjU2SDEyOFYxNjkuN0wxODUuNSAyNTZ6XCJdXG59O1xudmFyIGZhQ2FydEFycm93RG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXJ0LWFycm93LWRvd24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImYyMThcIiwgXCJNMjQgMEMxMC43IDAgMCAxMC43IDAgMjRTMTAuNyA0OCAyNCA0OEg2OS41YzMuOCAwIDcuMSAyLjcgNy45IDYuNWw1MS42IDI3MWM2LjUgMzQgMzYuMiA1OC41IDcwLjcgNTguNUg0ODhjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRIMTk5LjdjLTExLjUgMC0yMS40LTguMi0yMy42LTE5LjVMMTcwLjcgMjg4SDQ1OS4yYzMyLjYgMCA2MS4xLTIxLjggNjkuNS01My4zbDQxLTE1Mi4zQzU3Ni42IDU3IDU1Ny40IDMyIDUzMS4xIDMySDM2MFYxMzQuMWwyMy0yM2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTY0IDY0Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtNjQtNjRjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwyMyAyM1YzMkgxMjAuMUMxMTEgMTIuOCA5MS42IDAgNjkuNSAwSDI0ek0xNzYgNTEyYTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptMzM2LTQ4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6XCJdXG59O1xudmFyIGZhV2Fsa2llVGFsa2llID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dhbGtpZS10YWxraWUnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImY4ZWZcIiwgXCJNMTEyIDI0YzAtMTMuMy0xMC43LTI0LTI0LTI0UzY0IDEwLjcgNjQgMjRWOTZINDhDMjEuNSA5NiAwIDExNy41IDAgMTQ0VjMwMC4xYzAgMTIuNyA1LjEgMjQuOSAxNC4xIDMzLjlsMy45IDMuOWM5IDkgMTQuMSAyMS4yIDE0LjEgMzMuOVY0NjRjMCAyNi41IDIxLjUgNDggNDggNDhIMzA0YzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjM3MS45YzAtMTIuNyA1LjEtMjQuOSAxNC4xLTMzLjlsMy45LTMuOWM5LTkgMTQuMS0yMS4yIDE0LjEtMzMuOVYxNDRjMC0yNi41LTIxLjUtNDgtNDgtNDhIMzIwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMySDIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMkgxMTJWMjR6bTAgMTM2SDI3MmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgxMTJjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTAgNjRIMjcyYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDExMmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnptMCA2NEgyNzJjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMTEyYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2elwiXVxufTtcbnZhciBmYUZpbGVQZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1wZW4nLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjgyMjEsIFwiZmlsZS1lZGl0XCJdLCBcImYzMWNcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBIMjI0VjEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMkgzODRWMjk5LjZsLTk0LjcgOTQuN2MtOC4yIDguMi0xNCAxOC41LTE2LjggMjkuN2wtMTUgNjAuMWMtMi4zIDkuNC0xLjggMTkgMS40IDI3LjhINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjY0em0zODQgNjRIMjU2VjBMMzg0IDEyOHpNNTQ5LjggMjM1LjdsMTQuNCAxNC40YzE1LjYgMTUuNiAxNS42IDQwLjkgMCA1Ni42bC0yOS40IDI5LjQtNzEtNzEgMjkuNC0yOS40YzE1LjYtMTUuNiA0MC45LTE1LjYgNTYuNiAwek0zMTEuOSA0MTdMNDQxLjEgMjg3LjhsNzEgNzFMMzgyLjkgNDg3LjljLTQuMSA0LjEtOS4yIDctMTQuOSA4LjRsLTYwLjEgMTVjLTUuNSAxLjQtMTEuMi0uMi0xNS4yLTQuMnMtNS42LTkuNy00LjItMTUuMmwxNS02MC4xYzEuNC01LjYgNC4zLTEwLjggOC40LTE0Ljl6XCJdXG59O1xudmFyIGZhRmlsZUVkaXQgPSBmYUZpbGVQZW47XG52YXIgZmFSZWNlaXB0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JlY2VpcHQnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjk1MzRdLCBcImY1NDNcIiwgXCJNMTQgMi4yQzIyLjUtMS43IDMyLjUtLjMgMzkuNiA1LjhMODAgNDAuNCAxMjAuNCA1LjhjOS03LjcgMjIuMy03LjcgMzEuMiAwTDE5MiA0MC40IDIzMi40IDUuOGM5LTcuNyAyMi4zLTcuNyAzMS4yIDBMMzA0IDQwLjQgMzQ0LjQgNS44YzcuMS02LjEgMTcuMS03LjUgMjUuNi0zLjZzMTQgMTIuNCAxNCAyMS44VjQ4OGMwIDkuNC01LjUgMTcuOS0xNCAyMS44cy0xOC41IDIuNS0yNS42LTMuNkwzMDQgNDcxLjZsLTQwLjQgMzQuNmMtOSA3LjctMjIuMyA3LjctMzEuMiAwTDE5MiA0NzEuNmwtNDAuNCAzNC42Yy05IDcuNy0yMi4zIDcuNy0zMS4yIDBMODAgNDcxLjYgMzkuNiA1MDYuMmMtNy4xIDYuMS0xNy4xIDcuNS0yNS42IDMuNlMwIDQ5Ny40IDAgNDg4VjI0QzAgMTQuNiA1LjUgNi4xIDE0IDIuMnpNOTYgMTQ0Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2SDI4OGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkg5NnpNODAgMzUyYzAgOC44IDcuMiAxNiAxNiAxNkgyODhjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIOTZjLTguOCAwLTE2IDcuMi0xNiAxNnpNOTYgMjQwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2SDI4OGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkg5NnpcIl1cbn07XG52YXIgZmFTcXVhcmVQZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLXBlbicsXG4gIGljb246IFs0NDgsIDUxMiwgW1wicGVuLXNxdWFyZVwiLCBcInBlbmNpbC1zcXVhcmVcIl0sIFwiZjE0YlwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEgzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6TTMyNS44IDEzOS43bDE0LjQgMTQuNGMxNS42IDE1LjYgMTUuNiA0MC45IDAgNTYuNmwtMjEuNCAyMS40LTcxLTcxIDIxLjQtMjEuNGMxNS42LTE1LjYgNDAuOS0xNS42IDU2LjYgMHpNMTE5LjkgMjg5TDIyNS4xIDE4My44bDcxIDcxTDE5MC45IDM1OS45Yy00LjEgNC4xLTkuMiA3LTE0LjkgOC40bC02MC4xIDE1Yy01LjUgMS40LTExLjItLjItMTUuMi00LjJzLTUuNi05LjctNC4yLTE1LjJsMTUtNjAuMWMxLjQtNS42IDQuMy0xMC44IDguNC0xNC45elwiXVxufTtcbnZhciBmYVBlblNxdWFyZSA9IGZhU3F1YXJlUGVuO1xudmFyIGZhUGVuY2lsU3F1YXJlID0gZmFTcXVhcmVQZW47XG52YXIgZmFTdWl0Y2FzZVJvbGxpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3VpdGNhc2Utcm9sbGluZycsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjVjMVwiLCBcIk0xNDQgNTZjMC00LjQgMy42LTggOC04aDgwYzQuNCAwIDggMy42IDggOHY3MkgxNDRWNTZ6bTE3NiA3MkgyODhWNTZjMC0zMC45LTI1LjEtNTYtNTYtNTZIMTUyQzEyMS4xIDAgOTYgMjUuMSA5NiA1NnY3Mkg2NGMtMzUuMyAwLTY0IDI4LjctNjQgNjRWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJIMjU2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTkyYzAtMzUuMy0yOC43LTY0LTY0LTY0ek0xMTIgMjI0SDI3MmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgxMTJjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTAgMTI4SDI3MmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgxMTJjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6XCJdXG59O1xudmFyIGZhUGVyc29uQ2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWNpcmNsZS1leGNsYW1hdGlvbicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTUzZlwiLCBcIk0xMTIgNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptNDAgMzA0VjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYyNTYuOUw1OS40IDMwNC41Yy05LjEgMTUuMS0yOC44IDIwLTQzLjkgMTAuOXMtMjAtMjguOC0xMC45LTQzLjlsNTguMy05N2MxNy40LTI4LjkgNDguNi00Ni42IDgyLjMtNDYuNmgyOS43YzMzLjcgMCA2NC45IDE3LjcgODIuMyA0Ni42bDQ0LjkgNzQuN2MtMTYuMSAxNy42LTI4LjYgMzguNS0zNi42IDYxLjVjLTEuOS0xLjgtMy41LTMuOS00LjktNi4zTDIzMiAyNTYuOVY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzUySDE1MnpNNDMyIDIyNGExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTAgMjQwYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMC0xOTJjLTguOCAwLTE2IDcuMi0xNiAxNnY4MGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjI4OGMwLTguOC03LjItMTYtMTYtMTZ6XCJdXG59O1xudmFyIGZhQ2hldnJvbkRvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hldnJvbi1kb3duJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMDc4XCIsIFwiTTIzMy40IDQwNi42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDE5Mi0xOTJjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMjU2IDMzOC43IDg2LjYgMTY5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDE5MiAxOTJ6XCJdXG59O1xudmFyIGZhQmF0dGVyeUZ1bGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmF0dGVyeS1mdWxsJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4MjY3LCBcImJhdHRlcnlcIiwgXCJiYXR0ZXJ5LTVcIl0sIFwiZjI0MFwiLCBcIk00NjQgMTYwYzguOCAwIDE2IDcuMiAxNiAxNlYzMzZjMCA4LjgtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZWMTc2YzAtOC44IDcuMi0xNiAxNi0xNkg0NjR6TTgwIDk2QzM1LjggOTYgMCAxMzEuOCAwIDE3NlYzMzZjMCA0NC4yIDM1LjggODAgODAgODBINDY0YzQ0LjIgMCA4MC0zNS44IDgwLTgwVjMyMGMxNy43IDAgMzItMTQuMyAzMi0zMlYyMjRjMC0xNy43LTE0LjMtMzItMzItMzJWMTc2YzAtNDQuMi0zNS44LTgwLTgwLTgwSDgwem0zNjggOTZIOTZWMzIwSDQ0OFYxOTJ6XCJdXG59O1xudmFyIGZhQmF0dGVyeSA9IGZhQmF0dGVyeUZ1bGw7XG52YXIgZmFCYXR0ZXJ5NSA9IGZhQmF0dGVyeUZ1bGw7XG52YXIgZmFTa3VsbENyb3NzYm9uZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2t1bGwtY3Jvc3Nib25lcycsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODM2OSwgOTc2MF0sIFwiZjcxNFwiLCBcIk0zNjggMTI4YzAgNDQuNC0yNS40IDgzLjUtNjQgMTA2LjRWMjU2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDE3NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMjM0LjRjLTM4LjYtMjMtNjQtNjIuMS02NC0xMDYuNEM4MCA1Ny4zIDE0NC41IDAgMjI0IDBzMTQ0IDU3LjMgMTQ0IDEyOHpNMTY4IDE3NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTE0NC0zMmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0zLjQgMjczLjdjNy45LTE1LjggMjcuMS0yMi4yIDQyLjktMTQuM0wyMjQgMzQ4LjJsMTc3LjctODguOGMxNS44LTcuOSAzNS0xLjUgNDIuOSAxNC4zczEuNSAzNS0xNC4zIDQyLjlMMjk1LjYgMzg0bDEzNC44IDY3LjRjMTUuOCA3LjkgMjIuMiAyNy4xIDE0LjMgNDIuOXMtMjcuMSAyMi4yLTQyLjkgMTQuM0wyMjQgNDE5LjggNDYuMyA1MDguNmMtMTUuOCA3LjktMzUgMS41LTQyLjktMTQuM3MtMS41LTM1IDE0LjMtNDIuOUwxNTIuNCAzODQgMTcuNyAzMTYuNkMxLjkgMzA4LjctNC41IDI4OS41IDMuNCAyNzMuN3pcIl1cbn07XG52YXIgZmFDb2RlQ29tcGFyZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb2RlLWNvbXBhcmUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImUxM2FcIiwgXCJNMzIwIDQ4OGMwIDkuNS01LjYgMTguMS0xNC4yIDIxLjlzLTE4LjggMi4zLTI1LjgtNC4xbC04MC03MmMtNS4xLTQuNi03LjktMTEtNy45LTE3LjhzMi45LTEzLjMgNy45LTE3LjhsODAtNzJjNy02LjMgMTcuMi03LjkgMjUuOC00LjFzMTQuMiAxMi40IDE0LjIgMjEuOXY0MGgxNmMzNS4zIDAgNjQtMjguNyA2NC02NFYxNTMuM0MzNzEuNyAxNDEgMzUyIDExMi44IDM1MiA4MGMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgMzIuOC0xOS43IDYxLTQ4IDczLjNWMzIwYzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4SDMyMHY0MHpNNDU2IDgwYTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6TTE5MiAyNGMwLTkuNSA1LjYtMTguMSAxNC4yLTIxLjlzMTguOC0yLjMgMjUuOCA0LjFsODAgNzJjNS4xIDQuNiA3LjkgMTEgNy45IDE3LjhzLTIuOSAxMy4zLTcuOSAxNy44bC04MCA3MmMtNyA2LjMtMTcuMiA3LjktMjUuOCA0LjFzLTE0LjItMTIuNC0xNC4yLTIxLjlWMTI4SDE3NmMtMzUuMyAwLTY0IDI4LjctNjQgNjRWMzU4LjdjMjguMyAxMi4zIDQ4IDQwLjUgNDggNzMuM2MwIDQ0LjItMzUuOCA4MC04MCA4MHMtODAtMzUuOC04MC04MGMwLTMyLjggMTkuNy02MSA0OC03My4zVjE5MmMwLTcwLjcgNTcuMy0xMjggMTI4LTEyOGgxNlYyNHpNNTYgNDMyYTI0IDI0IDAgMSAwIDQ4IDAgMjQgMjQgMCAxIDAgLTQ4IDB6XCJdXG59O1xudmFyIGZhTGlzdFVsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xpc3QtdWwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImxpc3QtZG90c1wiXSwgXCJmMGNhXCIsIFwiTTY0IDE0NGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTE5MiA2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg0ODBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTkyem0wIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg0ODBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTkyem0wIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg0ODBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTkyek02NCA0NjRhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em00OC0yMDhhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpcIl1cbn07XG52YXIgZmFMaXN0RG90cyA9IGZhTGlzdFVsO1xudmFyIGZhU2Nob29sTG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzY2hvb2wtbG9jaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU2ZlwiLCBcIk0zMDIuMiA1LjRjMTAuNy03LjIgMjQuOC03LjIgMzUuNSAwTDQ3My43IDk2SDU5MmMyNi41IDAgNDggMjEuNSA0OCA0OFYyNzJjMC02MS45LTUwLjEtMTEyLTExMi0xMTJzLTExMiA1MC4xLTExMiAxMTJ2MjQuNmMtMTkuMSAxMS4xLTMyIDMxLjctMzIgNTUuNEgzMjAuM2wtLjMgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjR2OTZoNjR2MEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMTQ0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4SDE2Ni4zTDMwMi4yIDUuNHpNODAgMjA4djY0YzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMjA4YzAtOC44LTcuMi0xNi0xNi0xNkg5NmMtOC44IDAtMTYgNy4yLTE2IDE2em0wIDEyOHY2NGMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjMzNmMwLTguOC03LjItMTYtMTYtMTZIOTZjLTguOCAwLTE2IDcuMi0xNiAxNnptMjQwLTcyYTg4IDg4IDAgMSAwIDAtMTc2IDg4IDg4IDAgMSAwIDAgMTc2em0xNi0xMjB2MTZoMTZjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMzIwYy04LjggMC0xNi03LjItMTYtMTZWMTQ0YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ6bTE5MiA5NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2NDhoNjRWMjcyYzAtMTcuNy0xNC4zLTMyLTMyLTMyem0tODAgMzJjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MHY0OGMxNy43IDAgMzIgMTQuMyAzMiAzMlY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJINDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYzNTJjMC0xNy43IDE0LjMtMzIgMzItMzJWMjcyelwiXVxufTtcbnZhciBmYVRvd2VyQ2VsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0b3dlci1jZWxsJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTg1XCIsIFwiTTYyLjYgMi4zQzQ2LjItNC4zIDI3LjYgMy42IDIwLjkgMjBDNy40IDUzLjQgMCA4OS45IDAgMTI4czcuNCA3NC42IDIwLjkgMTA4YzYuNiAxNi40IDI1LjMgMjQuMyA0MS43IDE3LjdTODYuOSAyMjguNCA4MC4zIDIxMkM2OS44IDE4Ni4xIDY0IDE1Ny44IDY0IDEyOHM1LjgtNTguMSAxNi4zLTg0Qzg2LjkgMjcuNiA3OSA5IDYyLjYgMi4zem00NTAuOCAwQzQ5NyA5IDQ4OS4xIDI3LjYgNDk1LjcgNDRDNTA2LjIgNjkuOSA1MTIgOTguMiA1MTIgMTI4cy01LjggNTguMS0xNi4zIDg0Yy02LjYgMTYuNCAxLjMgMzUgMTcuNyA0MS43czM1LTEuMyA0MS43LTE3LjdjMTMuNS0zMy40IDIwLjktNjkuOSAyMC45LTEwOHMtNy40LTc0LjYtMjAuOS0xMDhDNTQ4LjQgMy42IDUyOS44LTQuMyA1MTMuNCAyLjN6TTM0MC4xIDE2NS4yYzcuNS0xMC41IDExLjktMjMuMyAxMS45LTM3LjJjMC0zNS4zLTI4LjctNjQtNjQtNjRzLTY0IDI4LjctNjQgNjRjMCAxMy45IDQuNCAyNi43IDExLjkgMzcuMkw5OC45IDQ2Ni44Yy03LjMgMTYuMS0uMiAzNS4xIDE1LjkgNDIuNHMzNS4xIC4yIDQyLjQtMTUuOUwxNzcuNyA0NDhIMzk4LjNsMjAuNiA0NS4yYzcuMyAxNi4xIDI2LjMgMjMuMiA0Mi40IDE1LjlzMjMuMi0yNi4zIDE1LjktNDIuNEwzNDAuMSAxNjUuMnpNMzY5LjIgMzg0SDIwNi44bDE0LjUtMzJIMzU0LjdsMTQuNSAzMnpNMjg4IDIwNS4zTDMyNS42IDI4OEgyNTAuNEwyODggMjA1LjN6TTE2My4zIDczLjZjNS4zLTEyLjEtLjItMjYuMy0xMi40LTMxLjZzLTI2LjMgLjItMzEuNiAxMi40QzEwOS41IDc3IDEwNCAxMDEuOSAxMDQgMTI4czUuNSA1MSAxNS4zIDczLjZjNS4zIDEyLjEgMTkuNSAxNy43IDMxLjYgMTIuNHMxNy43LTE5LjUgMTIuNC0zMS42QzE1NiAxNjUuOCAxNTIgMTQ3LjQgMTUyIDEyOHM0LTM3LjggMTEuMy01NC40ek00NTYuNyA1NC40Yy01LjMtMTIuMS0xOS41LTE3LjctMzEuNi0xMi40cy0xNy43IDE5LjUtMTIuNCAzMS42QzQyMCA5MC4yIDQyNCAxMDguNiA0MjQgMTI4cy00IDM3LjgtMTEuMyA1NC40Yy01LjMgMTIuMSAuMiAyNi4zIDEyLjQgMzEuNnMyNi4zLS4yIDMxLjYtMTIuNEM0NjYuNSAxNzkgNDcyIDE1NC4xIDQ3MiAxMjhzLTUuNS01MS0xNS4zLTczLjZ6XCJdXG59O1xudmFyIGZhRG93bkxvbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZG93bi1sb25nJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJsb25nLWFycm93LWFsdC1kb3duXCJdLCBcImYzMDlcIiwgXCJNMiAzMzQuNWMtMy44IDguOC0yIDE5IDQuNiAyNmwxMzYgMTQ0YzQuNSA0LjggMTAuOCA3LjUgMTcuNCA3LjVzMTIuOS0yLjcgMTcuNC03LjVsMTM2LTE0NGM2LjYtNyA4LjQtMTcuMiA0LjYtMjZzLTEyLjUtMTQuNS0yMi0xNC41bC03MiAwIDAtMjg4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDEyOCAwQzExMC4zIDAgOTYgMTQuMyA5NiAzMmwwIDI4OC03MiAwYy05LjYgMC0xOC4yIDUuNy0yMiAxNC41elwiXVxufTtcbnZhciBmYUxvbmdBcnJvd0FsdERvd24gPSBmYURvd25Mb25nO1xudmFyIGZhUmFua2luZ1N0YXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmFua2luZy1zdGFyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTYxXCIsIFwiTTM1My44IDU0LjFMMzMwLjIgNi4zYy0zLjktOC4zLTE2LjEtOC42LTIwLjQgMEwyODYuMiA1NC4xbC01Mi4zIDcuNWMtOS4zIDEuNC0xMy4zIDEyLjktNi40IDE5LjhsMzggMzctOSA1Mi4xYy0xLjQgOS4zIDguMiAxNi41IDE2LjggMTIuMmw0Ni45LTI0LjggNDYuNiAyNC40YzguNiA0LjMgMTguMy0yLjkgMTYuOC0xMi4ybC05LTUyLjEgMzgtMzYuNmM2LjgtNi44IDIuOS0xOC4zLTYuNC0xOS44bC01Mi4zLTcuNXpNMjU2IDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMySDM4NGMxNy43IDAgMzItMTQuMyAzMi0zMlYyODhjMC0xNy43LTE0LjMtMzItMzItMzJIMjU2ek0zMiAzMjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyVjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMkgxNjBjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzUyYzAtMTcuNy0xNC4zLTMyLTMyLTMySDMyem00MTYgOTZ2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJINjA4YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjQxNmMwLTE3LjctMTQuMy0zMi0zMi0zMkg0ODBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyelwiXVxufTtcbnZhciBmYUNoZXNzS2luZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGVzcy1raW5nJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbOTgxOF0sIFwiZjQzZlwiLCBcIk0yMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMlY0OGgxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgyNTZ2NDhINDA4YzIyLjEgMCA0MCAxNy45IDQwIDQwYzAgNS4zLTEgMTAuNS0zLjEgMTUuNEwzNjggNDAwSDgwTDMuMSAyMTUuNEMxIDIxMC41IDAgMjA1LjMgMCAyMDBjMC0yMi4xIDE3LjktNDAgNDAtNDBIMTkyVjExMkgxNzZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJoMTZWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTM4LjYgNDczLjRMODAgNDMySDM2OGw0MS40IDQxLjRjNC4yIDQuMiA2LjYgMTAgNi42IDE2YzAgMTIuNS0xMC4xIDIyLjYtMjIuNiAyMi42SDU0LjZDNDIuMSA1MTIgMzIgNTAxLjkgMzIgNDg5LjRjMC02IDIuNC0xMS44IDYuNi0xNnpcIl1cbn07XG52YXIgZmFQZXJzb25IYXJhc3NpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWhhcmFzc2luZycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU0OVwiLCBcIk0xOTIgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek01OS40IDMwNC41TDg4IDI1Ni45VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjM1MmgxNlY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyMzUuM2w0Ny40IDU3LjFjMTEuMyAxMy42IDMxLjUgMTUuNSA0NS4xIDQuMnMxNS41LTMxLjUgNC4yLTQ1LjFsLTczLjctODguOWMtMTguMi0yMi00NS4zLTM0LjctNzMuOS0zNC43SDE0NS4xYy0zMy43IDAtNjQuOSAxNy43LTgyLjMgNDYuNmwtNTguMyA5N2MtOS4xIDE1LjEtNC4yIDM0LjggMTAuOSA0My45czM0LjggNC4yIDQzLjktMTAuOXpNNDgwIDI0MGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek00NjQgMzQ0djU4LjdsLTQxLjQtNDEuNGMtNy4zLTcuMy0xNy42LTEwLjYtMjcuOC05cy0xOC45IDguMS0yMy41IDE3LjNsLTQ4IDk2Yy03LjkgMTUuOC0xLjUgMzUgMTQuMyA0Mi45czM1IDEuNSA0Mi45LTE0LjNMNDA4LjggNDM4bDU0LjcgNTQuN2MxMi40IDEyLjQgMjkuMSAxOS4zIDQ2LjYgMTkuM2MzNi40IDAgNjUuOS0yOS41IDY1LjktNjUuOVYzNDRjMC0zMC45LTI1LjEtNTYtNTYtNTZzLTU2IDI1LjEtNTYgNTZ6TTI4OCA0OGMwIDguOCA3LjIgMTYgMTYgMTZoNTZjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIMzA0Yy04LjggMC0xNiA3LjItMTYgMTZ6bS0uOCA0OS43Yy03LjktNC0xNy41LS43LTIxLjUgNy4ycy0uNyAxNy41IDcuMiAyMS41bDQ4IDI0YzcuOSA0IDE3LjUgLjcgMjEuNS03LjJzLjctMTcuNS03LjItMjEuNWwtNDgtMjR6XCJdXG59O1xudmFyIGZhQnJhemlsaWFuUmVhbFNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnJhemlsaWFuLXJlYWwtc2lnbicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTQ2Y1wiLCBcIk00MDAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMlY1MC4yYzEyLjUgMi4zIDI0LjcgNi40IDM2LjIgMTIuMWwxMC4xIDUuMWMxNS44IDcuOSAyMi4yIDI3LjEgMTQuMyA0Mi45cy0yNy4xIDIyLjItNDIuOSAxNC4zbC0xMC4yLTUuMWMtOS45LTUtMjAuOS03LjUtMzItNy41aC0xLjdjLTI5LjggMC01My45IDI0LjEtNTMuOSA1My45YzAgMjIgMTMuNCA0MS44IDMzLjkgNTBsNTIgMjAuOGM0NC43IDE3LjkgNzQuMSA2MS4yIDc0LjEgMTA5LjR2My40YzAgNTEuMi0zMy42IDk0LjYtODAgMTA5LjJWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjQ2MC42Yy0xNS0zLjUtMjkuNC05LjctNDIuMy0xOC4zbC0yMy40LTE1LjZjLTE0LjctOS44LTE4LjctMjkuNy04LjktNDQuNHMyOS43LTE4LjcgNDQuNC04LjlMMzYxLjIgMzg5YzEwLjggNy4yIDIzLjQgMTEgMzYuMyAxMWMyNy45IDAgNTAuNS0yMi42IDUwLjUtNTAuNXYtMy40YzAtMjItMTMuNC00MS44LTMzLjktNTBsLTUyLTIwLjhDMzE3LjMgMjU3LjQgMjg4IDIxNC4xIDI4OCAxNjUuOUMyODggMTE0IDMyMS41IDcwIDM2OCA1NC4yVjMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMyaDgwYzc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0YzAgNTguOC0zNS4yIDEwOS4zLTg1LjcgMTMxLjdsNTEuNCAxMjguNGM2LjYgMTYuNC0xLjQgMzUtMTcuOCA0MS42cy0zNS0xLjQtNDEuNi0xNy44TDEwNi4zIDMyMEg2NFY0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMjg4IDY0ek02NCAyNTZoNDhjNDQuMiAwIDgwLTM1LjggODAtODBzLTM1LjgtODAtODAtODBINjRWMjU2elwiXVxufTtcbnZhciBmYUxhbmRtYXJrRG9tZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsYW5kbWFyay1kb21lJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJsYW5kbWFyay1hbHRcIl0sIFwiZjc1MlwiLCBcIk0yNDggMGgxNmMxMy4zIDAgMjQgMTAuNyAyNCAyNFYzNC43QzM2OC40IDQ4LjEgNDMxLjkgMTExLjYgNDQ1LjMgMTkySDQ0OGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg2NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmgyLjdDODAuMSAxMTEuNiAxNDMuNiA0OC4xIDIyNCAzNC43VjI0YzAtMTMuMyAxMC43LTI0IDI0LTI0ek02NCAyODhoNjRWNDE2aDQwVjI4OGg2NFY0MTZoNDhWMjg4aDY0VjQxNmg0MFYyODhoNjRWNDIwLjNjLjYgLjMgMS4yIC43IDEuNyAxLjFsNDggMzJjMTEuNyA3LjggMTcgMjIuNCAxMi45IDM1LjlTNDk0LjEgNTEyIDQ4MCA1MTJIMzJjLTE0LjEgMC0yNi41LTkuMi0zMC42LTIyLjdzMS4xLTI4LjEgMTIuOS0zNS45bDQ4LTMyYy42LS40IDEuMi0uNyAxLjgtMS4xVjI4OHpcIl1cbn07XG52YXIgZmFMYW5kbWFya0FsdCA9IGZhTGFuZG1hcmtEb21lO1xudmFyIGZhQXJyb3dVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy11cCcsXG4gIGljb246IFszODQsIDUxMiwgWzg1OTNdLCBcImYwNjJcIiwgXCJNMjE0LjYgNDEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTYwIDE0MS4yVjQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjE0MS4yTDMyOS40IDI0Ni42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTE2MC0xNjB6XCJdXG59O1xudmFyIGZhVHYgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHYnLFxuICBpY29uOiBbNjQwLCA1MTIsIFs2MzcxNywgXCJ0ZWxldmlzaW9uXCIsIFwidHYtYWx0XCJdLCBcImYyNmNcIiwgXCJNNjQgNjRWMzUySDU3NlY2NEg2NHpNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBINTc2YzM1LjMgMCA2NCAyOC43IDY0IDY0VjM1MmMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWNjR6TTEyOCA0NDhINTEyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDEyOGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpcIl1cbn07XG52YXIgZmFUZWxldmlzaW9uID0gZmFUdjtcbnZhciBmYVR2QWx0ID0gZmFUdjtcbnZhciBmYVNocmltcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaHJpbXAnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjk0MjRdLCBcImU0NDhcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NnMyOC43IDY0IDY0IDY0aDFjMy43IDg4LjkgNzcgMTYwIDE2NyAxNjBoNTZWMTI4SDI2NCA4OC44IDY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDQ2NGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkg2NHpNMjI0IDQ1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNGg3MlY0MDcuOGwtNjQuMS0yMi40Yy0xMi41LTQuNC0yNi4yIDIuMi0zMC42IDE0LjdzMi4yIDI2LjIgMTQuNyAzMC42bDQuNSAxLjZDMjMzIDQzMy45IDIyNCA0NDMuOSAyMjQgNDU2em0xMjggMjMuM2MzNi40LTMuMyA2OS41LTE3LjYgOTYuMS0zOS42bC04Ni41LTM0LjZjLTMgMS44LTYuMiAzLjItOS42IDQuM3Y2OS45ek00NzIuNiA0MTVjMjQuNi0zMC4zIDM5LjQtNjguOSAzOS40LTExMWMwLTEyLjMtMS4zLTI0LjMtMy43LTM1LjlMMzgyLjggMzU1LjFjLjggMy40IDEuMiA3IDEuMiAxMC42YzAgNC42LS43IDktMS45IDEzLjFMNDcyLjYgNDE1ek0zMzYgMTI4SDMyMFYzMjBoMTguM2M5LjkgMCAxOS4xIDMuMiAyNi42IDguNWwxMzMuNS05Mi40QzQ3MS44IDE3Mi42IDQwOS4xIDEyOCAzMzYgMTI4ek0xNjggMTkyYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6XCJdXG59O1xudmFyIGZhTGlzdENoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xpc3QtY2hlY2snLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInRhc2tzXCJdLCBcImYwYWVcIiwgXCJNMTUyLjEgMzguMmM5LjkgOC45IDEwLjcgMjQgMS44IDMzLjlsLTcyIDgwYy00LjQgNC45LTEwLjYgNy44LTE3LjIgNy45cy0xMi45LTIuNC0xNy42LTdMNyAxMTNDLTIuMyAxMDMuNi0yLjMgODguNCA3IDc5czI0LjYtOS40IDMzLjkgMGwyMi4xIDIyLjEgNTUuMS02MS4yYzguOS05LjkgMjQtMTAuNyAzMy45LTEuOHptMCAxNjBjOS45IDguOSAxMC43IDI0IDEuOCAzMy45bC03MiA4MGMtNC40IDQuOS0xMC42IDcuOC0xNy4yIDcuOXMtMTIuOS0yLjQtMTcuNi03TDcgMjczYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMjIuMSAyMi4xIDU1LjEtNjEuMmM4LjktOS45IDI0LTEwLjcgMzMuOS0xLjh6TTIyNCA5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMkg0ODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMjU2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnptMCAxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJINDgwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDI1NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTE2MCA0MTZjMC0xNy43IDE0LjMtMzIgMzItMzJINDgwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDE5MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTQ4IDM2OGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6XCJdXG59O1xudmFyIGZhVGFza3MgPSBmYUxpc3RDaGVjaztcbnZhciBmYUp1Z0RldGVyZ2VudCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdqdWctZGV0ZXJnZW50JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlNTE5XCIsIFwiTTk2IDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0aDgwYzEzLjMgMCAyNCAxMC43IDI0IDI0VjQ4aDhjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIODhDNzQuNyA5NiA2NCA4NS4zIDY0IDcyczEwLjctMjQgMjQtMjRoOFYyNHpNMCAyNTZjMC03MC43IDU3LjMtMTI4IDEyOC0xMjhIMjU2YzcwLjcgMCAxMjggNTcuMyAxMjggMTI4VjQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMjU2em0yNTYgMHY5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjI1NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnpcIl1cbn07XG52YXIgZmFDaXJjbGVVc2VyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS11c2VyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjIxNDIsIFwidXNlci1jaXJjbGVcIl0sIFwiZjJiZFwiLCBcIk0zOTkgMzg0LjJDMzc2LjkgMzQ1LjggMzM1LjQgMzIwIDI4OCAzMjBIMjI0Yy00Ny40IDAtODguOSAyNS44LTExMSA2NC4yYzM1LjIgMzkuMiA4Ni4yIDYzLjggMTQzIDYzLjhzMTA3LjgtMjQuNyAxNDMtNjMuOHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2em0yNTYgMTZhNzIgNzIgMCAxIDAgMC0xNDQgNzIgNzIgMCAxIDAgMCAxNDR6XCJdXG59O1xudmFyIGZhVXNlckNpcmNsZSA9IGZhQ2lyY2xlVXNlcjtcbnZhciBmYVVzZXJTaGllbGQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1zaGllbGQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY1MDVcIiwgXCJNMjI0IDI1NkExMjggMTI4IDAgMSAwIDIyNCAwYTEyOCAxMjggMCAxIDAgMCAyNTZ6bS00NS43IDQ4Qzc5LjggMzA0IDAgMzgzLjggMCA0ODIuM0MwIDQ5OC43IDEzLjMgNTEyIDI5LjcgNTEySDQxOC4zYzEuOCAwIDMuNS0uMiA1LjMtLjVjLTc2LjMtNTUuMS05OS44LTE0MS0xMDMuMS0yMDAuMmMtMTYuMS00LjgtMzMuMS03LjMtNTAuNy03LjNIMTc4LjN6bTMwOC44LTc4LjNsLTEyMCA0OEMzNTggMjc3LjQgMzUyIDI4Ni4yIDM1MiAyOTZjMCA2My4zIDI1LjkgMTY4LjggMTM0LjggMjE0LjJjNS45IDIuNSAxMi42IDIuNSAxOC41IDBDNjE0LjEgNDY0LjggNjQwIDM1OS4zIDY0MCAyOTZjMC05LjgtNi0xOC42LTE1LjEtMjIuM2wtMTIwLTQ4Yy01LjctMi4zLTEyLjEtMi4zLTE3LjggMHpNNTkxLjQgMzEyYy0zLjkgNTAuNy0yNy4yIDExNi43LTk1LjQgMTQ5LjdWMjczLjhMNTkxLjQgMzEyelwiXVxufTtcbnZhciBmYVdpbmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2luZCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjcyZVwiLCBcIk0yODggMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJoMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJIMzUyYzUzIDAgOTYtNDMgOTYtOTZzLTQzLTk2LTk2LTk2SDMyMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6bTY0IDM1MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmgzMmM1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05NkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMTI4IDUxMmgzMmM1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05NkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkgxNjBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyelwiXVxufTtcbnZhciBmYUNhckJ1cnN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nhci1idXJzdCcsXG4gIGljb246IFs2NDAsIDUxMiwgW1wiY2FyLWNyYXNoXCJdLCBcImY1ZTFcIiwgXCJNMTc2IDhjLTYuNiAwLTEyLjQgNC0xNC45IDEwLjFsLTI5LjQgNzRMNTUuNiA2OC45Yy02LjMtMS45LTEzLjEgLjItMTcuMiA1LjNzLTQuNiAxMi4yLTEuNCAxNy45bDM5LjUgNjkuMUwxMC45IDIwNi40Yy01LjQgMy43LTggMTAuMy02LjUgMTYuN3M2LjcgMTEuMiAxMy4xIDEyLjJsNzguNyAxMi4yTDkwLjYgMzI3Yy0uNSA2LjUgMy4xIDEyLjcgOSAxNS41czEyLjkgMS44IDE3LjgtMi42bDM1LjMtMzIuNSA5LjUtMzUuNCAxMC40LTM4LjZjOC0yOS45IDMwLjUtNTIuMSA1Ny45LTYwLjlsNDEtNTkuMmMxMS4zLTE2LjMgMjYuNC0yOC45IDQzLjUtMzcuMmMtLjQtLjYtLjgtMS4yLTEuMy0xLjhjLTQuMS01LjEtMTAuOS03LjItMTcuMi01LjNMMjIwLjMgOTIuMWwtMjkuNC03NEMxODguNCAxMiAxODIuNiA4IDE3NiA4ek0zNjcuNyAxNjEuNWwxMzUuNiAzNi4zYzYuNSAxLjggMTEuMyA3LjQgMTEuOCAxNC4ybDQuNiA1Ni41LTIwMS41LTU0IDMyLjItNDYuNmMzLjgtNS42IDEwLjgtOC4xIDE3LjMtNi40em0tNjkuOS0zMGwtNDcuOSA2OS4zYy0yMS42IDMtNDAuMyAxOC42LTQ2LjMgNDFsLTEwLjQgMzguNi0xNi42IDYxLjgtOC4zIDMwLjljLTQuNiAxNy4xIDUuNiAzNC42IDIyLjYgMzkuMmwxNS41IDQuMWMxNy4xIDQuNiAzNC42LTUuNiAzOS4yLTIyLjZsOC4zLTMwLjkgMjQ3LjMgNjYuMy04LjMgMzAuOWMtNC42IDE3LjEgNS42IDM0LjYgMjIuNiAzOS4ybDE1LjUgNC4xYzE3LjEgNC42IDM0LjYtNS42IDM5LjItMjIuNmw4LjMtMzAuOUw1OTUgMzg4bDEwLjQtMzguNmM2LTIyLjQtMi41LTQ1LjItMTkuNi01OC43bC02LjgtODRjLTIuNy0zMy43LTI2LjQtNjItNTktNzAuOEwzODQuMiA5OS43Yy0zMi43LTguOC02Ny4zIDQtODYuNSAzMS44em0tMTcgMTMxYTI0IDI0IDAgMSAxIC0xMi40IDQ2LjQgMjQgMjQgMCAxIDEgMTIuNC00Ni40em0yMTcuOSA4My4yQTI0IDI0IDAgMSAxIDU0NSAzNTguMWEyNCAyNCAwIDEgMSAtNDYuNC0xMi40elwiXVxufTtcbnZhciBmYUNhckNyYXNoID0gZmFDYXJCdXJzdDtcbnZhciBmYVkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAneScsXG4gIGljb246IFszODQsIDUxMiwgWzEyMV0sIFwiNTlcIiwgXCJNNTggNDUuNEM0Ny44IDMxIDI3LjggMjcuNyAxMy40IDM4Uy00LjMgNjguMiA2IDgyLjZMMTYwIDI5OC4zVjQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjI5OC4zTDM3OCA4Mi42YzEwLjMtMTQuNCA2LjktMzQuNC03LjQtNDQuNlMzMzYuMiAzMSAzMjYgNDUuNEwxOTIgMjMyLjkgNTggNDUuNHpcIl1cbn07XG52YXIgZmFQZXJzb25Tbm93Ym9hcmRpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLXNub3dib2FyZGluZycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzkzOCwgXCJzbm93Ym9hcmRpbmdcIl0sIFwiZjdjZVwiLCBcIk0yMDkuNyAzLjRjMTUuOC03LjkgMzUtMS41IDQyLjkgMTQuM2wyNSA1MCA0Mi40IDguNWMxOS41IDMuOSAzNy44IDEyLjMgNTMuNSAyNC41bDEyNi4xIDk4LjFjMTQgMTAuOSAxNi41IDMxIDUuNiA0NC45cy0zMSAxNi41LTQ0LjkgNS42bC03Mi4xLTU2LjEtNzEuNSAzMS44IDMzLjEgMjcuNmMyMy4yIDE5LjMgMzMuNSA1MCAyNi43IDc5LjRsLTE3LjQgNzUuMmMtMi4yIDkuNC04LjIgMTYuOC0xNi4xIDIxbDg2LjUgMzMuMWM0LjYgMS44IDkuNCAyLjYgMTQuMyAyLjZINDcyYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDQ0My44Yy0xMC44IDAtMjEuNC0yLTMxLjUtNS44TDYwLjEgMzcxLjNjLTExLjUtNC40LTIyLTExLjItMzAuOC0yMEw3IDMyOWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDIyLjQgMjIuNGM0IDQgOC43IDcuMSAxNCA5LjFsMjIuNCA4LjZjLS44LTEuNi0xLjUtMy4yLTIuMS00LjljLTUuNi0xNi44IDMuNS0zNC45IDIwLjItNDAuNUwxOTIgMjY0LjlsMC01My4yYzAtMjQuMiAxMy43LTQ2LjQgMzUuNC01Ny4ybDQ1LjItMjIuNi03LjUtMS41Yy0xOS40LTMuOS0zNS45LTE2LjUtNDQuNy0zNC4xbC0yNS01MGMtNy45LTE1LjgtMS41LTM1IDE0LjMtNDIuOXpNMTM5IDM1MC4xbDE1OSA2MC45Yy0yLjEtNS42LTIuNi0xMS45LTEuMS0xOC4ybDE3LjQtNzUuMmMxLjQtNS45LS43LTEyLTUuMy0xNS45bC01Mi44LTQ0IDAgMTguOGMwIDIwLjctMTMuMiAzOS0zMi44IDQ1LjVMMTM5IDM1MC4xek00MzIgMGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6XCJdXG59O1xudmFyIGZhU25vd2JvYXJkaW5nID0gZmFQZXJzb25Tbm93Ym9hcmRpbmc7XG52YXIgZmFUcnVja0Zhc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJ1Y2stZmFzdCcsXG4gIGljb246IFs2NDAsIDUxMiwgW1wic2hpcHBpbmctZmFzdFwiXSwgXCJmNDhiXCIsIFwiTTExMiAwQzg1LjUgMCA2NCAyMS41IDY0IDQ4Vjk2SDE2Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2SDY0IDI3MmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkg2NCA0OGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNkg2NCAyNDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZINjQgMTZjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZINjQgMjA4YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDY0VjQxNmMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2SDM4NGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2aDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyVjI4OCAyNTYgMjM3LjNjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMNTEyIDExNC43Yy0xMi0xMi0yOC4zLTE4LjctNDUuMy0xOC43SDQxNlY0OGMwLTI2LjUtMjEuNS00OC00OC00OEgxMTJ6TTU0NCAyMzcuM1YyNTZINDE2VjE2MGg1MC43TDU0NCAyMzcuM3pNMTYwIDM2OGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6bTI3MiA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwelwiXVxufTtcbnZhciBmYVNoaXBwaW5nRmFzdCA9IGZhVHJ1Y2tGYXN0O1xudmFyIGZhRmlzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaXNoJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4MDMxXSwgXCJmNTc4XCIsIFwiTTE4MC41IDE0MS41QzIxOS43IDEwOC41IDI3Mi42IDgwIDMzNiA4MHMxMTYuMyAyOC41IDE1NS41IDYxLjVjMzkuMSAzMyA2Ni45IDcyLjQgODEgOTkuOGM0LjcgOS4yIDQuNyAyMC4xIDAgMjkuM2MtMTQuMSAyNy40LTQxLjkgNjYuOC04MSA5OS44QzQ1Mi4zIDQwMy41IDM5OS40IDQzMiAzMzYgNDMycy0xMTYuMy0yOC41LTE1NS41LTYxLjVjLTE2LjItMTMuNy0zMC41LTI4LjUtNDIuNy00My4xTDQ4LjEgMzc5LjZjLTEyLjUgNy4zLTI4LjQgNS4zLTM4LjctNC45Uy0zIDM0OC43IDQuMiAzMzYuMUw1MCAyNTYgNC4yIDE3NS45Yy03LjItMTIuNi01LTI4LjQgNS4zLTM4LjZzMjYuMS0xMi4yIDM4LjctNC45bDg5LjcgNTIuM2MxMi4yLTE0LjYgMjYuNS0yOS40IDQyLjctNDMuMXpNNDQ4IDI1NmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwelwiXVxufTtcbnZhciBmYVVzZXJHcmFkdWF0ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLWdyYWR1YXRlJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmNTAxXCIsIFwiTTIxOS4zIC41YzMuMS0uNiA2LjMtLjYgOS40IDBsMjAwIDQwQzQzOS45IDQyLjcgNDQ4IDUyLjYgNDQ4IDY0cy04LjEgMjEuMy0xOS4zIDIzLjVMMzUyIDEwMi45VjE2MGMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOHMtMTI4LTU3LjMtMTI4LTEyOFYxMDIuOUw0OCA5My4zdjY1LjFsMTUuNyA3OC40Yy45IDQuNy0uMyA5LjYtMy4zIDEzLjNzLTcuNiA1LjktMTIuNCA1LjlIMTZjLTQuOCAwLTkuMy0yLjEtMTIuNC01LjlzLTQuMy04LjYtMy4zLTEzLjNMMTYgMTU4LjRWODYuNkM2LjUgODMuMyAwIDc0LjMgMCA2NEMwIDUyLjYgOC4xIDQyLjcgMTkuMyA0MC41bDIwMC00MHpNMTExLjkgMzI3LjdjMTAuNS0zLjQgMjEuOCAuNCAyOS40IDguNWw3MSA3NS41YzYuMyA2LjcgMTcgNi43IDIzLjMgMGw3MS03NS41YzcuNi04LjEgMTguOS0xMS45IDI5LjQtOC41QzQwMSAzNDguNiA0NDggNDA5LjQgNDQ4IDQ4MS4zYzAgMTctMTMuOCAzMC43LTMwLjcgMzAuN0gzMC43QzEzLjggNTEyIDAgNDk4LjIgMCA0ODEuM2MwLTcxLjkgNDctMTMyLjcgMTExLjktMTUzLjZ6XCJdXG59O1xudmFyIGZhQ2lyY2xlSGFsZlN0cm9rZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtaGFsZi1zdHJva2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5NjgwLCBcImFkanVzdFwiXSwgXCJmMDQyXCIsIFwiTTQ0OCAyNTZjMC0xMDYtODYtMTkyLTE5Mi0xOTJWNDQ4YzEwNiAwIDE5Mi04NiAxOTItMTkyek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6XCJdXG59O1xudmFyIGZhQWRqdXN0ID0gZmFDaXJjbGVIYWxmU3Ryb2tlO1xudmFyIGZhQ2xhcHBlcmJvYXJkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NsYXBwZXJib2FyZCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTEzMVwiLCBcIk00NDggMzJIMzYxLjlsLTEgMS0xMjcgMTI3aDkyLjFsMS0xTDQ1My44IDMyLjNjLTEuOS0uMi0zLjgtLjMtNS44LS4zem02NCAxMjhWOTZjMC0xNS4xLTUuMy0yOS4xLTE0LTQwbC0xMDQgMTA0SDUxMnpNMjk0LjEgMzJIMjAxLjlsLTEgMUw3My45IDE2MGg5Mi4xbDEtMSAxMjctMTI3ek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2djY0SDYuMWwxLTEgMTI3LTEyN0g2NHpNNTEyIDE5MkgwVjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEg0NDhjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTkyelwiXVxufTtcbnZhciBmYUNpcmNsZVJhZGlhdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtcmFkaWF0aW9uJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTc2MiwgXCJyYWRpYXRpb24tYWx0XCJdLCBcImY3YmFcIiwgXCJNMjU2IDY0YTE5MiAxOTIgMCAxIDEgMCAzODQgMTkyIDE5MiAwIDEgMSAwLTM4NHptMCA0NDhBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0yMDAgMjU2YzAtMjAuNyAxMS4zLTM4LjggMjgtNDguNWwtMzYtNjIuM2MtOC44LTE1LjMtMjguNy0yMC44LTQyLTljLTI1LjYgMjIuNi00My45IDUzLjMtNTAuOSA4OC4xQzk1LjcgMjQxLjUgMTEwLjMgMjU2IDEyOCAyNTZsNzIgMHptMjggNDguNWwtMzYgNjIuNGMtOC44IDE1LjMtMy42IDM1LjIgMTMuMSA0MC44YzE2IDUuNCAzMy4xIDguMyA1MC45IDguM3MzNC45LTIuOSA1MC45LTguM2MxNi43LTUuNiAyMS45LTI1LjUgMTMuMS00MC44bC0zNi02Mi40Yy04LjIgNC44LTE3LjggNy41LTI4IDcuNXMtMTkuOC0yLjctMjgtNy41ek0zMTIgMjU2bDcyIDBjMTcuNyAwIDMyLjMtMTQuNSAyOC44LTMxLjhjLTctMzQuOC0yNS4zLTY1LjUtNTAuOS04OC4xYy0xMy4yLTExLjctMzMuMS02LjMtNDIgOWwtMzYgNjIuM2MxNi43IDkuNyAyOCAyNy44IDI4IDQ4LjV6bS01NiAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xudmFyIGZhUmFkaWF0aW9uQWx0ID0gZmFDaXJjbGVSYWRpYXRpb247XG52YXIgZmFCYXNlYmFsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYXNlYmFsbCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyOTM1OCwgOTkxOCwgXCJiYXNlYmFsbC1iYWxsXCJdLCBcImY0MzNcIiwgXCJNNjIuNyAyMjMuNGMtNC44IC40LTkuNyAuNi0xNC43IC42Yy0xNS42IDAtMzAuOC0yLTQ1LjItNS45QzE5LjIgMTA3LjEgMTA3LjEgMTkuMiAyMTguMSAyLjhDMjIyIDE3LjIgMjI0IDMyLjQgMjI0IDQ4YzAgNC45LS4yIDkuOC0uNiAxNC43Yy0uNyA4LjggNS44IDE2LjUgMTQuNiAxNy4zczE2LjUtNS44IDE3LjMtMTQuNmMuNS01LjcgLjctMTEuNSAuNy0xNy4zYzAtMTYuNS0xLjktMzIuNi01LjYtNDcuOWMxLjggMCAzLjctLjEgNS42LS4xQzM5Ny40IDAgNTEyIDExNC42IDUxMiAyNTZjMCAxLjkgMCAzLjctLjEgNS42Yy0xNS40LTMuNi0zMS40LTUuNi00Ny45LTUuNmMtNS44IDAtMTEuNiAuMi0xNy4zIC43Yy04LjggLjctMTUuNCA4LjUtMTQuNiAxNy4zczguNSAxNS40IDE3LjMgMTQuNmM0LjgtLjQgOS43LS42IDE0LjctLjZjMTUuNiAwIDMwLjggMiA0NS4yIDUuOUM0OTIuOCA0MDQuOSA0MDQuOSA0OTIuOCAyOTMuOSA1MDkuMkMyOTAgNDk0LjggMjg4IDQ3OS42IDI4OCA0NjRjMC00LjkgLjItOS44IC42LTE0LjdjLjctOC44LTUuOC0xNi41LTE0LjYtMTcuM3MtMTYuNSA1LjgtMTcuMyAxNC42Yy0uNSA1LjctLjcgMTEuNS0uNyAxNy4zYzAgMTYuNSAxLjkgMzIuNiA1LjYgNDcuOWMtMS44IDAtMy43IC4xLTUuNiAuMUMxMTQuNiA1MTIgMCAzOTcuNCAwIDI1NmMwLTEuOSAwLTMuNyAuMS01LjZDMTUuNCAyNTQuMSAzMS41IDI1NiA0OCAyNTZjNS44IDAgMTEuNi0uMiAxNy4zLS43YzguOC0uNyAxNS40LTguNSAxNC42LTE3LjNzLTguNS0xNS40LTE3LjMtMTQuNnpNMTIxLjMgMjA4Yy04IDMuNy0xMS42IDEzLjItNy45IDIxLjJzMTMuMiAxMS42IDIxLjIgNy45YzQ1LjItMjAuOCA4MS43LTU3LjIgMTAyLjUtMTAyLjVjMy43LTggLjItMTcuNS03LjktMjEuMnMtMTcuNS0uMi0yMS4yIDcuOWMtMTcuNiAzOC4zLTQ4LjUgNjkuMi04Ni43IDg2Ljd6bTI3Ny4yIDc0LjdjLTMuNy04LTEzLjItMTEuNi0yMS4yLTcuOWMtNDUuMiAyMC44LTgxLjcgNTcuMi0xMDIuNSAxMDIuNWMtMy43IDgtLjIgMTcuNSA3LjkgMjEuMnMxNy41IC4yIDIxLjItNy45YzE3LjYtMzguMyA0OC41LTY5LjIgODYuNy04Ni43YzgtMy43IDExLjYtMTMuMiA3LjktMjEuMnpcIl1cbn07XG52YXIgZmFCYXNlYmFsbEJhbGwgPSBmYUJhc2ViYWxsO1xudmFyIGZhSmV0RmlnaHRlclVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2pldC1maWdodGVyLXVwJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTE4XCIsIFwiTTI3MC43IDkuN0MyNjguMiAzLjggMjYyLjQgMCAyNTYgMHMtMTIuMiAzLjgtMTQuNyA5LjdMMTk3LjIgMTEyLjZjLTMuNCA4LTUuMiAxNi41LTUuMiAyNS4ydjc3bC0xNDQgODRWMjgwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0djU2IDMyIDI0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjR2LThIMTkydjMyLjdMMTMzLjUgNDY4Yy0zLjUgMy01LjUgNy40LTUuNSAxMnYxNmMwIDguOCA3LjIgMTYgMTYgMTZoOTZWNDQ4YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ2NjRoOTZjOC44IDAgMTYtNy4yIDE2LTE2VjQ4MGMwLTQuNi0yLTktNS41LTEyTDMyMCA0MTYuN1YzODRINDY0djhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFYzNjggMzM2IDI4MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHYxOC44bC0xNDQtODR2LTc3YzAtOC43LTEuOC0xNy4yLTUuMi0yNS4yTDI3MC43IDkuN3pcIl1cbn07XG52YXIgZmFEaWFncmFtUHJvamVjdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkaWFncmFtLXByb2plY3QnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInByb2plY3QtZGlhZ3JhbVwiXSwgXCJmNTQyXCIsIFwiTTAgODBDMCA1My41IDIxLjUgMzIgNDggMzJoOTZjMjYuNSAwIDQ4IDIxLjUgNDggNDhWOTZIMzg0VjgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4aDk2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4djk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQzMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMTYwSDE5MnYxNmMwIDEuNy0uMSAzLjQtLjMgNUwyNzIgMjg4aDk2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4djk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDI3MmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMzM2YzAtMS43IC4xLTMuNCAuMy01TDE0NCAyMjRINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjgwelwiXVxufTtcbnZhciBmYVByb2plY3REaWFncmFtID0gZmFEaWFncmFtUHJvamVjdDtcbnZhciBmYUNvcHkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29weScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjBjNVwiLCBcIk0yMDggMEgzMzIuMWMxMi43IDAgMjQuOSA1LjEgMzMuOSAxNC4xbDY3LjkgNjcuOWM5IDkgMTQuMSAyMS4yIDE0LjEgMzMuOVYzMzZjMCAyNi41LTIxLjUgNDgtNDggNDhIMjA4Yy0yNi41IDAtNDgtMjEuNS00OC00OFY0OGMwLTI2LjUgMjEuNS00OCA0OC00OHpNNDggMTI4aDgwdjY0SDY0VjQ0OEgyNTZWNDE2aDY0djQ4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFYxNzZjMC0yNi41IDIxLjUtNDggNDgtNDh6XCJdXG59O1xudmFyIGZhVm9sdW1lWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndm9sdW1lLXhtYXJrJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJ2b2x1bWUtbXV0ZVwiLCBcInZvbHVtZS10aW1lc1wiXSwgXCJmNmE5XCIsIFwiTTMwMS4xIDM0LjhDMzEyLjYgNDAgMzIwIDUxLjQgMzIwIDY0VjQ0OGMwIDEyLjYtNy40IDI0LTE4LjkgMjkuMnMtMjUgMy4xLTM0LjQtNS4zTDEzMS44IDM1Mkg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMjI0YzAtMzUuMyAyOC43LTY0IDY0LTY0aDY3LjhMMjY2LjcgNDAuMWM5LjQtOC40IDIyLjktMTAuNCAzNC40LTUuM3pNNDI1IDE2N2w1NSA1NSA1NS01NWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTU1IDU1IDU1IDU1YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTU1LTU1LTU1IDU1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDU1LTU1LTU1LTU1Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDB6XCJdXG59O1xudmFyIGZhVm9sdW1lTXV0ZSA9IGZhVm9sdW1lWG1hcms7XG52YXIgZmFWb2x1bWVUaW1lcyA9IGZhVm9sdW1lWG1hcms7XG52YXIgZmFIYW5kU3BhcmtsZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZC1zcGFya2xlcycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA1ZFwiLCBcIk0zMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMlYyNDBjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlY2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyVjI0MGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyVjMyMy4xYy0xMS45IDQuOC0yMS4zIDE0LjktMjUgMjcuOGwtOC45IDMxLjJMNDc4LjkgMzkxQzQ2MC42IDM5Ni4zIDQ0OCA0MTMgNDQ4IDQzMmMwIDE4LjkgMTIuNSAzNS42IDMwLjYgNDAuOUM0NDguNCA0OTcuNCA0MDkuOSA1MTIgMzY4IDUxMkgzNDguOGMtNTkuNiAwLTExNi45LTIyLjktMTYwLTY0TDc2LjQgMzQxYy0xNi0xNS4yLTE2LjYtNDAuNi0xLjQtNTYuNnM0MC42LTE2LjYgNTYuNi0xLjRsNjAuNSA1Ny42YzAtMS41LS4xLTMuMS0uMS00LjZWNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMlYyNDBjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptLTcuMyAzMjYuNmMtMS4xLTMuOS00LjctNi42LTguNy02LjZzLTcuNiAyLjctOC43IDYuNkwyODggMzUybC0yNS40IDcuM2MtMy45IDEuMS02LjYgNC43LTYuNiA4LjdzMi43IDcuNiA2LjYgOC43TDI4OCAzODRsNy4zIDI1LjRjMS4xIDMuOSA0LjcgNi42IDguNyA2LjZzNy42LTIuNyA4LjctNi42TDMyMCAzODRsMjUuNC03LjNjMy45LTEuMSA2LjYtNC43IDYuNi04LjdzLTIuNy03LjYtNi42LTguN0wzMjAgMzUybC03LjMtMjUuNHpNMTA0IDEyMGw0OC4zIDEzLjhjNC42IDEuMyA3LjcgNS41IDcuNyAxMC4ycy0zLjEgOC45LTcuNyAxMC4yTDEwNCAxNjggOTAuMiAyMTYuM2MtMS4zIDQuNi01LjUgNy43LTEwLjIgNy43cy04LjktMy4xLTEwLjItNy43TDU2IDE2OCA3LjcgMTU0LjJDMy4xIDE1Mi45IDAgMTQ4LjcgMCAxNDRzMy4xLTguOSA3LjctMTAuMkw1NiAxMjAgNjkuOCA3MS43QzcxLjEgNjcuMSA3NS4zIDY0IDgwIDY0czguOSAzLjEgMTAuMiA3LjdMMTA0IDEyMHpNNTg0IDQwOGw0OC4zIDEzLjhjNC42IDEuMyA3LjcgNS41IDcuNyAxMC4ycy0zLjEgOC45LTcuNyAxMC4yTDU4NCA0NTZsLTEzLjggNDguM2MtMS4zIDQuNi01LjUgNy43LTEwLjIgNy43cy04LjktMy4xLTEwLjItNy43TDUzNiA0NTZsLTQ4LjMtMTMuOGMtNC42LTEuMy03LjctNS41LTcuNy0xMC4yczMuMS04LjkgNy43LTEwLjJMNTM2IDQwOGwxMy44LTQ4LjNjMS4zLTQuNiA1LjUtNy43IDEwLjItNy43czguOSAzLjEgMTAuMiA3LjdMNTg0IDQwOHpcIl1cbn07XG52YXIgZmFHcmlwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dyaXAnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImdyaXAtaG9yaXpvbnRhbFwiXSwgXCJmNThkXCIsIFwiTTEyOCAxMzZjMC0yMi4xLTE3LjktNDAtNDAtNDBMNDAgOTZDMTcuOSA5NiAwIDExMy45IDAgMTM2bDAgNDhjMCAyMi4xIDE3LjkgNDAgNDAgNDBIODhjMjIuMSAwIDQwLTE3LjkgNDAtNDBsMC00OHptMCAxOTJjMC0yMi4xLTE3LjktNDAtNDAtNDBINDBjLTIyLjEgMC00MCAxNy45LTQwIDQwbDAgNDhjMCAyMi4xIDE3LjkgNDAgNDAgNDBIODhjMjIuMSAwIDQwLTE3LjkgNDAtNDBWMzI4em0zMi0xOTJ2NDhjMCAyMi4xIDE3LjkgNDAgNDAgNDBoNDhjMjIuMSAwIDQwLTE3LjkgNDAtNDBWMTM2YzAtMjIuMS0xNy45LTQwLTQwLTQwbC00OCAwYy0yMi4xIDAtNDAgMTcuOS00MCA0MHpNMjg4IDMyOGMwLTIyLjEtMTcuOS00MC00MC00MEgyMDBjLTIyLjEgMC00MCAxNy45LTQwIDQwbDAgNDhjMCAyMi4xIDE3LjkgNDAgNDAgNDBoNDhjMjIuMSAwIDQwLTE3LjkgNDAtNDBWMzI4em0zMi0xOTJ2NDhjMCAyMi4xIDE3LjkgNDAgNDAgNDBoNDhjMjIuMSAwIDQwLTE3LjkgNDAtNDBWMTM2YzAtMjIuMS0xNy45LTQwLTQwLTQwbC00OCAwYy0yMi4xIDAtNDAgMTcuOS00MCA0MHpNNDQ4IDMyOGMwLTIyLjEtMTcuOS00MC00MC00MEgzNjBjLTIyLjEgMC00MCAxNy45LTQwIDQwdjQ4YzAgMjIuMSAxNy45IDQwIDQwIDQwaDQ4YzIyLjEgMCA0MC0xNy45IDQwLTQwVjMyOHpcIl1cbn07XG52YXIgZmFHcmlwSG9yaXpvbnRhbCA9IGZhR3JpcDtcbnZhciBmYVNoYXJlRnJvbVNxdWFyZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaGFyZS1mcm9tLXNxdWFyZScsXG4gIGljb246IFs1NzYsIDUxMiwgWzYxNTA5LCBcInNoYXJlLXNxdWFyZVwiXSwgXCJmMTRkXCIsIFwiTTM1MiAyMjRIMzA1LjVjLTQ1IDAtODEuNSAzNi41LTgxLjUgODEuNWMwIDIyLjMgMTAuMyAzNC4zIDE5LjIgNDAuNWM2LjggNC43IDEyLjggMTIgMTIuOCAyMC4zYzAgOS44LTggMTcuOC0xNy44IDE3LjhoLTIuNWMtMi40IDAtNC44LS40LTcuMS0xLjRDMjEwLjggMzc0LjggMTI4IDMzMy40IDEyOCAyNDBjMC03OS41IDY0LjUtMTQ0IDE0NC0xNDRoODBWMzQuN0MzNTIgMTUuNSAzNjcuNSAwIDM4Ni43IDBjOC42IDAgMTYuOCAzLjIgMjMuMiA4LjlMNTQ4LjEgMTMzLjNjNy42IDYuOCAxMS45IDE2LjUgMTEuOSAyNi43cy00LjMgMTkuOS0xMS45IDI2LjdsLTEzOSAxMjUuMWMtNS45IDUuMy0xMy41IDguMi0yMS40IDguMkgzODRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjIyNHpNODAgOTZjLTguOCAwLTE2IDcuMi0xNiAxNlY0MzJjMCA4LjggNy4yIDE2IDE2IDE2SDQwMGM4LjggMCAxNi03LjIgMTYtMTZWMzg0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ2NDhjMCA0NC4yLTM1LjggODAtODAgODBIODBjLTQ0LjIgMC04MC0zNS44LTgwLTgwVjExMkMwIDY3LjggMzUuOCAzMiA4MCAzMmg0OGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg4MHpcIl1cbn07XG52YXIgZmFTaGFyZVNxdWFyZSA9IGZhU2hhcmVGcm9tU3F1YXJlO1xudmFyIGZhQ2hpbGRDb21iYXRhbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hpbGQtY29tYmF0YW50JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJjaGlsZC1yaWZsZVwiXSwgXCJlNGUwXCIsIFwiTTE3NiAxMjhBNjQgNjQgMCAxIDAgMTc2IDBhNjQgNjQgMCAxIDAgMCAxMjh6bS04IDM1MlYzNTJoMTZWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMzAwLjVMMjYwLjkgMzIxYzkuNCAxNSAyOS4yIDE5LjQgNDQuMSAxMHMxOS40LTI5LjIgMTAtNDQuMWwtNTEuNy04Mi4xYy0xNy42LTI3LjktNDguMy00NC45LTgxLjItNDQuOUgxNjkuOGMtMzMgMC02My43IDE2LjktODEuMiA0NC45TDM2LjkgMjg3Yy05LjQgMTUtNC45IDM0LjcgMTAgNDQuMXMzNC43IDQuOSA0NC4xLTEwTDEwNCAzMDAuNVY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnpNNDQ4IDBINDMyIDQxNmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNlYxMzIuM2MtOS42IDUuNS0xNiAxNS45LTE2IDI3Ljd2MzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyVjM2OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmgxNnY5NmMwIDguOCA3LjIgMTYgMTYgMTZoNTkuNWMxMC40IDAgMTgtOS44IDE1LjUtMTkuOUw0ODQgNDAwaDQ0YzguOCAwIDE2LTcuMiAxNi0xNlYzNjhjMC04LjgtNy4yLTE2LTE2LTE2SDQ4MFYzMjUuM2w1My4xLTE3LjdjNi41LTIuMiAxMC45LTguMyAxMC45LTE1LjJWMjA4YzAtOC44LTcuMi0xNi0xNi0xNkg1MTJjLTguOCAwLTE2IDcuMi0xNiAxNnY1NmwtMTYgNS4zVjE2MGMwLTExLjgtNi40LTIyLjItMTYtMjcuN1YxNmMwLTguOC03LjItMTYtMTYtMTZ6XCJdXG59O1xudmFyIGZhQ2hpbGRSaWZsZSA9IGZhQ2hpbGRDb21iYXRhbnQ7XG52YXIgZmFHdW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ3VuJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlMTliXCIsIFwiTTUyOCA1NmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHY4SDMyQzE0LjMgNjQgMCA3OC4zIDAgOTZWMjA4YzAgMTcuNyAxNC4zIDMyIDMyIDMySDQyYzIwLjggMCAzNi4xIDE5LjYgMzEgMzkuOEwzMyA0NDAuMmMtMi40IDkuNi0uMiAxOS43IDUuOCAyNy41UzU0LjEgNDgwIDY0IDQ4MGg5NmMxNC43IDAgMjcuNS0xMCAzMS0yNC4yTDIxNyAzNTJIMzIxLjRjMjMuNyAwIDQ0LjgtMTQuOSA1Mi43LTM3LjJMNDAwLjkgMjQwSDQzMmM4LjUgMCAxNi42LTMuNCAyMi42LTkuNEw0NzcuMyAyMDhINTQ0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjk2YzAtMTcuNy0xNC4zLTMyLTMyLTMySDUyOFY1NnpNMzIxLjQgMzA0SDIyOWwxNi02NGgxMDVsLTIxIDU4LjdjLTEuMSAzLjItNC4yIDUuMy03LjUgNS4zek04MCAxMjhINDY0YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2elwiXVxufTtcbnZhciBmYVNxdWFyZVBob25lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1waG9uZScsXG4gIGljb246IFs0NDgsIDUxMiwgW1wicGhvbmUtc3F1YXJlXCJdLCBcImYwOThcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzg0YzM1LjMgMCA2NC0yOC43IDY0LTY0Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0em05MC43IDk2LjdjOS43LTIuNiAxOS45IDIuMyAyMy43IDExLjZsMjAgNDhjMy40IDguMiAxIDE3LjYtNS44IDIzLjJMMTY4IDIzMS43YzE2LjYgMzUuMiA0NS4xIDYzLjcgODAuMyA4MC4zbDIwLjItMjQuN2M1LjYtNi44IDE1LTkuMiAyMy4yLTUuOGw0OCAyMGM5LjMgMy45IDE0LjIgMTQgMTEuNiAyMy43bC0xMiA0NEMzMzYuOSAzNzggMzI5IDM4NCAzMjAgMzg0QzE5Ni4zIDM4NCA5NiAyODMuNyA5NiAxNjBjMC05IDYtMTYuOSAxNC43LTE5LjNsNDQtMTJ6XCJdXG59O1xudmFyIGZhUGhvbmVTcXVhcmUgPSBmYVNxdWFyZVBob25lO1xudmFyIGZhUGx1cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwbHVzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTAxMzMsIDYxNTQzLCBcImFkZFwiXSwgXCIyYlwiLCBcIk0yNTYgODBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWMjI0SDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDE5MlY0MzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyODhINDAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDI1NlY4MHpcIl1cbn07XG52YXIgZmFBZGQgPSBmYVBsdXM7XG52YXIgZmFFeHBhbmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZXhwYW5kJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMDY1XCIsIFwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjR2OTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlY5Nmg2NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMnpNNjQgMzUyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMydjk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyaDk2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDY0VjM1MnpNMzIwIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDY0djY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWNjRjMC0xNy43LTE0LjMtMzItMzItMzJIMzIwek00NDggMzUyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMydjY0SDMyMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmg5NmMxNy43IDAgMzItMTQuMyAzMi0zMlYzNTJ6XCJdXG59O1xudmFyIGZhQ29tcHV0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tcHV0ZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZTVcIiwgXCJNMzg0IDk2VjMyMEg2NEw2NCA5NkgzODR6TTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZWMzIwYzAgMzUuMyAyOC43IDY0IDY0IDY0SDE4MS4zbC0xMC43IDMySDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDM1MmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgyNzcuM2wtMTAuNy0zMkgzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6bTQ2NCAwYy0yNi41IDAtNDggMjEuNS00OCA0OFY0MzJjMCAyNi41IDIxLjUgNDggNDggNDhoNjRjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWODBjMC0yNi41LTIxLjUtNDgtNDgtNDhINTI4em0xNiA2NGgzMmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkg1NDRjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bS0xNiA4MGMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZINTQ0Yy04LjggMC0xNi03LjItMTYtMTZ6bTMyIDE2MGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAneG1hcmsnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjg0NzMsIDEwMDA1LCAxMDAwNiwgMTAwNjAsIDIxNSwgXCJjbG9zZVwiLCBcIm11bHRpcGx5XCIsIFwicmVtb3ZlXCIsIFwidGltZXNcIl0sIFwiZjAwZFwiLCBcIk0zNDIuNiAxNTAuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwxOTIgMjEwLjcgODYuNiAxMDUuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMMTQ2LjcgMjU2IDQxLjQgMzYxLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTkyIDMwMS4zIDI5Ny40IDQwNi42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMjM3LjMgMjU2IDM0Mi42IDE1MC42elwiXVxufTtcbnZhciBmYUNsb3NlID0gZmFYbWFyaztcbnZhciBmYU11bHRpcGx5ID0gZmFYbWFyaztcbnZhciBmYVJlbW92ZSA9IGZhWG1hcms7XG52YXIgZmFUaW1lcyA9IGZhWG1hcms7XG52YXIgZmFBcnJvd3NVcERvd25MZWZ0UmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3dzLXVwLWRvd24tbGVmdC1yaWdodCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYXJyb3dzXCJdLCBcImYwNDdcIiwgXCJNMjc4LjYgOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsOS40LTkuNFYyMjRIMTA5LjNsOS40LTkuNGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTkuNC05LjRIMjI0VjQwMi43bC05LjQtOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w2NCA2NGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGw2NC02NGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtOS40IDkuNFYyODhINDAyLjdsLTkuNCA5LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsNjQtNjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w5LjQgOS40SDI4OFYxMDkuM2w5LjQgOS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0elwiXVxufTtcbnZhciBmYUFycm93cyA9IGZhQXJyb3dzVXBEb3duTGVmdFJpZ2h0O1xudmFyIGZhQ2hhbGtib2FyZFVzZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hhbGtib2FyZC11c2VyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJjaGFsa2JvYXJkLXRlYWNoZXJcIl0sIFwiZjUxY1wiLCBcIk0xNjAgNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRINTc2YzM1LjMgMCA2NCAyOC43IDY0IDY0VjM1MmMwIDM1LjMtMjguNyA2NC02NCA2NEgzMzYuOGMtMTEuOC0yNS41LTI5LjktNDcuNS01Mi40LTY0SDM4NFYzMjBjMC0xNy43IDE0LjMtMzIgMzItMzJoNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2MzJoNjRWNjRMMjI0IDY0djQ5LjFDMjA1LjIgMTAyLjIgMTgzLjMgOTYgMTYwIDk2VjY0em0wIDY0YTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyek0xMzMuMyAzNTJoNTMuM0MyNjAuMyAzNTIgMzIwIDQxMS43IDMyMCA0ODUuM2MwIDE0LjctMTEuOSAyNi43LTI2LjcgMjYuN0gyNi43QzExLjkgNTEyIDAgNTAwLjEgMCA0ODUuM0MwIDQxMS43IDU5LjcgMzUyIDEzMy4zIDM1MnpcIl1cbn07XG52YXIgZmFDaGFsa2JvYXJkVGVhY2hlciA9IGZhQ2hhbGtib2FyZFVzZXI7XG52YXIgZmFQZXNvU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXNvLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUyMjJcIiwgXCJNNjQgMzJDNDYuMyAzMiAzMiA0Ni4zIDMyIDY0djY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDAgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMCA2NHY5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjM4NGg4MGM2OC40IDAgMTI3LjctMzkgMTU2LjgtOTZIMzUyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyaC0uN2MuNS01LjMgLjctMTAuNiAuNy0xNnMtLjItMTAuNy0uNy0xNmguN2MxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMzIuOEMzMDMuNyA3MSAyNDQuNCAzMiAxNzYgMzJINjR6bTE5MC40IDk2SDk2Vjk2aDgwYzMwLjUgMCA1OC4yIDEyLjIgNzguNCAzMnpNOTYgMTkySDI4Ni45Yy43IDUuMiAxLjEgMTAuNiAxLjEgMTZzLS40IDEwLjgtMS4xIDE2SDk2VjE5MnptMTU4LjQgOTZjLTIwLjIgMTkuOC00Ny45IDMyLTc4LjQgMzJIOTZWMjg4SDI1NC40elwiXVxufTtcbnZhciBmYUJ1aWxkaW5nU2hpZWxkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1aWxkaW5nLXNoaWVsZCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRkOFwiLCBcIk0wIDQ4QzAgMjEuNSAyMS41IDAgNDggMEgzMzZjMjYuNSAwIDQ4IDIxLjUgNDggNDhWMjA3bC00Mi40IDE3SDMwNCAyNzJjLTguOCAwLTE2IDcuMi0xNiAxNnYzMiAyNC4yVjMwNGMwIC45IC4xIDEuNyAuMiAyLjZjMi4zIDU4LjEgMjQuMSAxNDQuOCA5OC43IDIwMS41Yy01LjggMi41LTEyLjIgMy45LTE4LjkgMy45SDI0MFY0MzJjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDh2ODBINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjQ4ek04MCAyMjRjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjI0MGMwLTguOC03LjItMTYtMTYtMTZIODB6bTgwIDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMjQwYzAtOC44LTcuMi0xNi0xNi0xNkgxNzZjLTguOCAwLTE2IDcuMi0xNiAxNnpNNjQgMTEydjMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMTEyYzAtOC44LTcuMi0xNi0xNi0xNkg4MGMtOC44IDAtMTYgNy4yLTE2IDE2ek0xNzYgOTZjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjExMmMwLTguOC03LjItMTYtMTYtMTZIMTc2em04MCAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjExMmMwLTguOC03LjItMTYtMTYtMTZIMjcyYy04LjggMC0xNiA3LjItMTYgMTZ6TTQyMy4xIDIyNS43YzUuNy0yLjMgMTIuMS0yLjMgMTcuOCAwbDEyMCA0OEM1NzAgMjc3LjQgNTc2IDI4Ni4yIDU3NiAyOTZjMCA2My4zLTI1LjkgMTY4LjgtMTM0LjggMjE0LjJjLTUuOSAyLjUtMTIuNiAyLjUtMTguNSAwQzMxMy45IDQ2NC44IDI4OCAzNTkuMyAyODggMjk2YzAtOS44IDYtMTguNiAxNS4xLTIyLjNsMTIwLTQ4ek01MjcuNCAzMTJMNDMyIDI3My44VjQ2MS43YzY4LjItMzMgOTEuNS05OSA5NS40LTE0OS43elwiXVxufTtcbnZhciBmYUJhYnkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFieScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjc3Y1wiLCBcIk0xNTIgODhhNzIgNzIgMCAxIDEgMTQ0IDBBNzIgNzIgMCAxIDEgMTUyIDg4ek0zOS43IDE0NC41YzEzLTE3LjkgMzgtMjEuOCA1NS45LTguOEwxMzEuOCAxNjJjMjYuOCAxOS41IDU5LjEgMzAgOTIuMiAzMHM2NS40LTEwLjUgOTIuMi0zMGwzNi4yLTI2LjRjMTcuOS0xMyA0Mi45LTkgNTUuOSA4LjhzOSA0Mi45LTguOCA1NS45bC0zNi4yIDI2LjRjLTEzLjYgOS45LTI4LjEgMTguMi00My4zIDI1VjI4OEgxMjhWMjUxLjdjLTE1LjItNi43LTI5LjctMTUuMS00My4zLTI1TDQ4LjUgMjAwLjNjLTE3LjktMTMtMjEuOC0zOC04LjgtNTUuOXptODkuOCAxODQuOGw2MC42IDUzLTI2IDM3LjIgMjQuMyAyNC4zYzE1LjYgMTUuNiAxNS42IDQwLjkgMCA1Ni42cy00MC45IDE1LjYtNTYuNiAwbC00OC00OEM3MCA0MzguNiA2OC4xIDQxNyA3OS4yIDQwMS4xbDUwLjItNzEuOHptMTI4LjUgNTNsNjAuNi01MyA1MC4yIDcxLjhjMTEuMSAxNS45IDkuMiAzNy41LTQuNSA1MS4ybC00OCA0OGMtMTUuNiAxNS42LTQwLjkgMTUuNi01Ni42IDBzLTE1LjYtNDAuOSAwLTU2LjZMMjg0IDQxOS40bC0yNi0zNy4yelwiXVxufTtcbnZhciBmYVVzZXJzTGluZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2Vycy1saW5lJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTkyXCIsIFwiTTIxMS4yIDk2YTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHpNMzIgMjU2YzAgMTcuNyAxNC4zIDMyIDMyIDMyaDg1LjZjMTAuMS0zOS40IDM4LjYtNzEuNSA3NS44LTg2LjZjLTkuNy02LTIxLjItOS40LTMzLjQtOS40SDk2Yy0zNS4zIDAtNjQgMjguNy02NCA2NHptNDYxLjYgMzJINTc2YzE3LjcgMCAzMi0xNC4zIDMyLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0SDQ0OGMtMTEuNyAwLTIyLjcgMy4xLTMyLjEgOC42YzM4LjEgMTQuOCA2Ny40IDQ3LjMgNzcuNyA4Ny40ek0zOTEuMiAyMjYuNGMtNi45LTEuNi0xNC4yLTIuNC0yMS42LTIuNGgtOTZjLTguNSAwLTE2LjcgMS4xLTI0LjUgMy4xYy0zMC44IDguMS01NS42IDMxLjEtNjYuMSA2MC45Yy0zLjUgMTAtNS41IDIwLjgtNS41IDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyaDIyNGMxNy43IDAgMzItMTQuMyAzMi0zMmMwLTExLjItMS45LTIyLTUuNS0zMmMtMTAuOC0zMC43LTM2LjgtNTQuMi02OC45LTYxLjZ6TTU2My4yIDk2YTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHpNMzIxLjYgMTkyYTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYwek0zMiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINjA4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDMyelwiXVxufTtcbnZhciBmYVF1b3RlTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdxdW90ZS1sZWZ0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbODIyMCwgXCJxdW90ZS1sZWZ0LWFsdFwiXSwgXCJmMTBkXCIsIFwiTTAgMjE2QzAgMTQ5LjcgNTMuNyA5NiAxMjAgOTZoOGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmgtOGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZ2OGg2NGMzNS4zIDAgNjQgMjguNyA2NCA2NHY2NGMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMzIwIDI4OCAyMTZ6bTI1NiAwYzAtNjYuMyA1My43LTEyMCAxMjAtMTIwaDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJoLThjLTMwLjkgMC01NiAyNS4xLTU2IDU2djhoNjRjMzUuMyAwIDY0IDI4LjcgNjQgNjR2NjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRIMzIwYy0zNS4zIDAtNjQtMjguNy02NC02NFYzMjAgMjg4IDIxNnpcIl1cbn07XG52YXIgZmFRdW90ZUxlZnRBbHQgPSBmYVF1b3RlTGVmdDtcbnZhciBmYVRyYWN0b3IgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJhY3RvcicsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODY2OF0sIFwiZjcyMlwiLCBcIk05NiA2NGMwLTM1LjMgMjguNy02NCA2NC02NEgyNjYuM2MyNi4yIDAgNDkuNyAxNS45IDU5LjQgNDAuMkwzNzMuNyAxNjBINDgwVjEyNi4yYzAtMjQuOCA1LjgtNDkuMyAxNi45LTcxLjZsMi41LTVjNy45LTE1LjggMjcuMS0yMi4yIDQyLjktMTQuM3MyMi4yIDI3LjEgMTQuMyA0Mi45bC0yLjUgNWMtNi43IDEzLjMtMTAuMSAyOC0xMC4xIDQyLjlWMTYwaDU2YzIyLjEgMCA0MCAxNy45IDQwIDQwdjQ1LjRjMCAxNi41LTguNSAzMS45LTIyLjYgNDAuN2wtNDMuMyAyNy4xYy0xNC4yLTUuOS0yOS44LTkuMi00Ni4xLTkuMmMtMzkuMyAwLTc0LjEgMTguOS05NiA0OEgzNTJjMCAxNy43LTE0LjMgMzItMzIgMzJoLTguMmMtMS43IDQuOC0zLjcgOS41LTUuOCAxNC4xbDUuOCA1LjhjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTIyLjYgMjIuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTUuOC01LjhjLTQuNiAyLjItOS4zIDQuMS0xNC4xIDUuOFY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJIMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMnYtOC4yYy00LjgtMS43LTkuNS0zLjctMTQuMS01LjhsLTUuOCA1LjhjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwTDQwLjIgNDQ5LjFjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zbDUuOC01LjhjLTIuMi00LjYtNC4xLTkuMy01LjgtMTQuMUgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMzIwYzAtMTcuNyAxNC4zLTMyIDMyLTMyaDguMmMxLjctNC44IDMuNy05LjUgNS44LTE0LjFsLTUuOC01LjhjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zbDIyLjYtMjIuNmM5LTkgMjEuOS0xMS41IDMzLjEtNy42VjE5MiAxNjAgNjR6bTE3MC4zIDBIMTYwdjk2aDMySDMwNC43TDI2Ni4zIDY0ek0xNzYgMjU2YTgwIDgwIDAgMSAwIDAgMTYwIDgwIDgwIDAgMSAwIDAtMTYwek01MjggNDQ4YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMCA2NGMtNDguNiAwLTg4LTM5LjQtODgtODhjMC0yOS44IDE0LjgtNTYuMSAzNy40LTcyYzE0LjMtMTAuMSAzMS44LTE2IDUwLjYtMTZjMi43IDAgNS4zIC4xIDcuOSAuM2M0NC45IDQgODAuMSA0MS43IDgwLjEgODcuN2MwIDQ4LjYtMzkuNCA4OC04OCA4OHpcIl1cbn07XG52YXIgZmFUcmFzaEFycm93VXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJhc2gtYXJyb3ctdXAnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcInRyYXNoLXJlc3RvcmVcIl0sIFwiZjgyOVwiLCBcIk0xNjMuOCAwSDI4NC4yYzEyLjEgMCAyMy4yIDYuOCAyOC42IDE3LjdMMzIwIDMyaDk2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyQzE0LjMgOTYgMCA4MS43IDAgNjRTMTQuMyAzMiAzMiAzMmg5Nmw3LjItMTQuM0MxNDAuNiA2LjggMTUxLjcgMCAxNjMuOCAwek0zMiAxMjhINDE2TDM5NC44IDQ2N2MtMS42IDI1LjMtMjIuNiA0NS00Ny45IDQ1SDEwMS4xYy0yNS4zIDAtNDYuMy0xOS43LTQ3LjktNDVMMzIgMTI4em0xOTIgNjRjLTYuNCAwLTEyLjUgMi41LTE3IDdsLTgwIDgwYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMzktMzlWNDA4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWMjczLjlsMzkgMzljOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC04MC04MGMtNC41LTQuNS0xMC42LTctMTctN3pcIl1cbn07XG52YXIgZmFUcmFzaFJlc3RvcmUgPSBmYVRyYXNoQXJyb3dVcDtcbnZhciBmYUFycm93RG93blVwTG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1kb3duLXVwLWxvY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0YjBcIiwgXCJNMTUwLjYgNTAyLjZsOTYtOTZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMTYwIDQwMi43VjI4OEg0MTZWMjcyYzAtMTcuMiAzLjktMzMuNSAxMC44LTQ4SDM1MlYxMDkuM2w0MS40IDQxLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZjLTYtNi0xNC4xLTkuNC0yMi42LTkuNHMtMTYuNiAzLjQtMjIuNiA5LjRsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDI4OCAxMDkuM1YyMjRsLTEyOCAwSDk2bC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDk2VjQwMi43TDU0LjYgMzYxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDk2IDk2YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwek0xNjAgMTkyVjY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjE5Mmg2NHpNMjg4IDMyMFY0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzMjBIMjg4em0yNDAtODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2NDhINDk2VjI3MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptLTgwIDMydjQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMlY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJINjA4YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM1MmMwLTE3LjctMTQuMy0zMi0zMi0zMlYyNzJjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODB6XCJdXG59O1xudmFyIGZhTGluZXNMZWFuaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xpbmVzLWxlYW5pbmcnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImU1MWVcIiwgXCJNMTkwLjQgNzQuMWM1LjYtMTYuOC0zLjUtMzQuOS0yMC4yLTQwLjVzLTM0LjkgMy41LTQwLjUgMjAuMmwtMTI4IDM4NGMtNS42IDE2LjggMy41IDM0LjkgMjAuMiA0MC41czM0LjktMy41IDQwLjUtMjAuMmwxMjgtMzg0em03MC45LTQxLjdjLTE3LjQtMi45LTMzLjkgOC45LTM2LjggMjYuM2wtNjQgMzg0Yy0yLjkgMTcuNCA4LjkgMzMuOSAyNi4zIDM2LjhzMzMuOS04LjkgMzYuOC0yNi4zbDY0LTM4NGMyLjktMTcuNC04LjktMzMuOS0yNi4zLTM2Ljh6TTM1MiAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJWNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWNjRjMC0xNy43LTE0LjMtMzItMzItMzJ6XCJdXG59O1xudmFyIGZhUnVsZXJDb21iaW5lZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdydWxlci1jb21iaW5lZCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjU0NlwiLCBcIk0uMiA0NjguOUMyLjcgNDkzLjEgMjMuMSA1MTIgNDggNTEybDk2IDAgMzIwIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC05NmMwLTI2LjUtMjEuNS00OC00OC00OGwtNDggMCAwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODAtNjQgMCAwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODAtNjQgMCAwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODAtODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwIDAtNjQtODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwIDAtNjQtODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwIDAtNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMEMyMS41IDAgMCAyMS41IDAgNDhMMCAzNjhsMCA5NmMwIDEuNyAuMSAzLjMgLjIgNC45elwiXVxufTtcbnZhciBmYUNvcHlyaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb3B5cmlnaHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxNjldLCBcImYxZjlcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE5OS40IDMxMi42YzMxLjIgMzEuMiA4MS45IDMxLjIgMTEzLjEgMGM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjljLTUwIDUwLTEzMSA1MC0xODEgMHMtNTAtMTMxIDAtMTgxczEzMS01MCAxODEgMGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwYy0zMS4yLTMxLjItODEuOS0zMS4yLTExMy4xIDBzLTMxLjIgODEuOSAwIDExMy4xelwiXVxufTtcbnZhciBmYUVxdWFscyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdlcXVhbHMnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs2Mjc2NF0sIFwiM2RcIiwgXCJNNDggMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDQwMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg0OHptMCAxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDQ4elwiXVxufTtcbnZhciBmYUJsZW5kZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmxlbmRlcicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjUxN1wiLCBcIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMGg2NCAzMkg0NzAuMWMyMS4xIDAgMzYuNCAyMC4xIDMwLjkgNDAuNEw0OTQuNSA2NEgzMzZjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZINDg1LjhsLTE3LjUgNjRIMzM2Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2SDQ1OS42bC0xNy41IDY0SDMzNmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmg5Ny41TDQxNiAzNTJIMTYwbC04LjctOTZINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjY0ek0xNDUuNSAxOTJMMTMzLjggNjRINjRWMTkyaDgxLjV6TTE0NCAzODRINDMyYzI2LjUgMCA0OCAyMS41IDQ4IDQ4djMyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDE0NGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWNDMyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4em0xNDQgOTZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbnZhciBmYVRlZXRoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RlZXRoJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNjJlXCIsIFwiTTAgMTI4QzAgNzUgNDMgMzIgOTYgMzJINDgwYzUzIDAgOTYgNDMgOTYgOTZWMzg0YzAgNTMtNDMgOTYtOTYgOTZIOTZjLTUzIDAtOTYtNDMtOTYtOTZWMTI4em0xNzYgNDh2NTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRoNDhjMTMuMyAwIDI0LTEwLjcgMjQtMjRWMTc2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4em0xNzYtNDhjLTI2LjUgMC00OCAyMS41LTQ4IDQ4djU2YzAgMTMuMyAxMC43IDI0IDI0IDI0aDQ4YzEzLjMgMCAyNC0xMC43IDI0LTI0VjE3NmMwLTI2LjUtMjEuNS00OC00OC00OHpNNDggMjA4djI0YzAgMTMuMyAxMC43IDI0IDI0IDI0aDQ4YzEzLjMgMCAyNC0xMC43IDI0LTI0VjIwOGMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OHpNOTYgMzg0YzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjMxMmMwLTEzLjMtMTAuNy0yNC0yNC0yNEg3MmMtMTMuMyAwLTI0IDEwLjctMjQgMjR2MjRjMCAyNi41IDIxLjUgNDggNDggNDh6bTgwLTQ4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4czQ4LTIxLjUgNDgtNDhWMzEyYzAtMTMuMy0xMC43LTI0LTI0LTI0SDIwMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR2MjR6bTE3NiA0OGMyNi41IDAgNDgtMjEuNSA0OC00OFYzMTJjMC0xMy4zLTEwLjctMjQtMjQtMjRIMzI4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHYyNGMwIDI2LjUgMjEuNSA0OCA0OCA0OHptODAtMTc2djI0YzAgMTMuMyAxMC43IDI0IDI0IDI0aDQ4YzEzLjMgMCAyNC0xMC43IDI0LTI0VjIwOGMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OHptNDggMTc2YzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjMxMmMwLTEzLjMtMTAuNy0yNC0yNC0yNEg0NTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0djI0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4elwiXVxufTtcbnZhciBmYVNoZWtlbFNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2hla2VsLXNpZ24nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs4MzYyLCBcImlsc1wiLCBcInNoZWtlbFwiLCBcInNoZXFlbFwiLCBcInNoZXFlbC1zaWduXCJdLCBcImYyMGJcIiwgXCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFY0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlY5NkgxOTJjMzUuMyAwIDY0IDI4LjcgNjQgNjRWMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMTYwYzAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4SDMyek0zMjAgNDgwYzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4VjY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjM1MmMwIDM1LjMtMjguNyA2NC02NCA2NEgxOTJWMTkyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMkgzMjB6XCJdXG59O1xudmFyIGZhSWxzID0gZmFTaGVrZWxTaWduO1xudmFyIGZhU2hla2VsID0gZmFTaGVrZWxTaWduO1xudmFyIGZhU2hlcWVsID0gZmFTaGVrZWxTaWduO1xudmFyIGZhU2hlcWVsU2lnbiA9IGZhU2hla2VsU2lnbjtcbnZhciBmYU1hcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXAnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjg1MDYsIDYyMDcyXSwgXCJmMjc5XCIsIFwiTTM4NCA0NzYuMUwxOTIgNDIxLjJWMzUuOUwzODQgOTAuOFY0NzYuMXptMzItMS4yVjg4LjRMNTQzLjEgMzcuNWMxNS44LTYuMyAzMi45IDUuMyAzMi45IDIyLjNWMzk0LjZjMCA5LjgtNiAxOC42LTE1LjEgMjIuM0w0MTYgNDc0Ljh6TTE1LjEgOTUuMUwxNjAgMzcuMlY0MjMuNkwzMi45IDQ3NC41QzE3LjEgNDgwLjggMCA0NjkuMiAwIDQ1Mi4yVjExNy40YzAtOS44IDYtMTguNiAxNS4xLTIyLjN6XCJdXG59O1xudmFyIGZhUm9ja2V0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JvY2tldCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjEzNVwiLCBcIk0xNTYuNiAzODQuOUwxMjUuNyAzNTRjLTguNS04LjUtMTEuNS0yMC44LTcuNy0zMi4yYzMtOC45IDctMjAuNSAxMS44LTMzLjhMMjQgMjg4Yy04LjYgMC0xNi42LTQuNi0yMC45LTEyLjFzLTQuMi0xNi43IC4yLTI0LjFsNTIuNS04OC41YzEzLTIxLjkgMzYuNS0zNS4zIDYxLjktMzUuM2w4Mi4zIDBjMi40LTQgNC44LTcuNyA3LjItMTEuM0MyODkuMS00LjEgNDExLjEtOC4xIDQ4My45IDUuM2MxMS42IDIuMSAyMC42IDExLjIgMjIuOCAyMi44YzEzLjQgNzIuOSA5LjMgMTk0LjgtMTExLjQgMjc2LjdjLTMuNSAyLjQtNy4zIDQuOC0xMS4zIDcuMnY4Mi4zYzAgMjUuNC0xMy40IDQ5LTM1LjMgNjEuOWwtODguNSA1Mi41Yy03LjQgNC40LTE2LjYgNC41LTI0LjEgLjJzLTEyLjEtMTIuMi0xMi4xLTIwLjlWMzgwLjhjLTE0LjEgNC45LTI2LjQgOC45LTM1LjcgMTEuOWMtMTEuMiAzLjYtMjMuNCAuNS0zMS44LTcuOHpNMzg0IDE2OGE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6XCJdXG59O1xudmFyIGZhUGhvdG9GaWxtID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Bob3RvLWZpbG0nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInBob3RvLXZpZGVvXCJdLCBcImY4N2NcIiwgXCJNMjU2IDBINTc2YzM1LjMgMCA2NCAyOC43IDY0IDY0VjI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEgyNTZjLTM1LjMgMC02NC0yOC43LTY0LTY0VjY0YzAtMzUuMyAyOC43LTY0IDY0LTY0ek00NzYgMTA2LjdDNDcxLjUgMTAwIDQ2NCA5NiA0NTYgOTZzLTE1LjUgNC0yMCAxMC43bC01NiA4NEwzNjIuNyAxNjljLTQuNi01LjctMTEuNS05LTE4LjctOXMtMTQuMiAzLjMtMTguNyA5bC02NCA4MGMtNS44IDcuMi02LjkgMTcuMS0yLjkgMjUuNHMxMi40IDEzLjYgMjEuNiAxMy42aDgwIDQ4SDU1MmM4LjkgMCAxNy00LjkgMjEuMi0xMi43czMuNy0xNy4zLTEuMi0yNC42bC05Ni0xNDR6TTMzNiA5NmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek02NCAxMjhoOTZWMzg0djMyYzAgMTcuNyAxNC4zIDMyIDMyIDMySDMyMGMxNy43IDAgMzItMTQuMyAzMi0zMlYzODRINTEydjY0YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFYxOTJjMC0zNS4zIDI4LjctNjQgNjQtNjR6bTggNjRjLTguOCAwLTE2IDcuMi0xNiAxNnYxNmMwIDguOCA3LjIgMTYgMTYgMTZIODhjOC44IDAgMTYtNy4yIDE2LTE2VjIwOGMwLTguOC03LjItMTYtMTYtMTZINzJ6bTAgMTA0Yy04LjggMC0xNiA3LjItMTYgMTZ2MTZjMCA4LjggNy4yIDE2IDE2IDE2SDg4YzguOCAwIDE2LTcuMiAxNi0xNlYzMTJjMC04LjgtNy4yLTE2LTE2LTE2SDcyem0wIDEwNGMtOC44IDAtMTYgNy4yLTE2IDE2djE2YzAgOC44IDcuMiAxNiAxNiAxNkg4OGM4LjggMCAxNi03LjIgMTYtMTZWNDE2YzAtOC44LTcuMi0xNi0xNi0xNkg3MnptMzM2IDE2djE2YzAgOC44IDcuMiAxNiAxNiAxNmgxNmM4LjggMCAxNi03LjIgMTYtMTZWNDE2YzAtOC44LTcuMi0xNi0xNi0xNkg0MjRjLTguOCAwLTE2IDcuMi0xNiAxNnpcIl1cbn07XG52YXIgZmFQaG90b1ZpZGVvID0gZmFQaG90b0ZpbG07XG52YXIgZmFGb2xkZXJNaW51cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmb2xkZXItbWludXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY2NWRcIiwgXCJNNDQ4IDQ4MEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJIMTkyYzIwLjEgMCAzOS4xIDkuNSA1MS4yIDI1LjZsMTkuMiAyNS42YzYgOC4xIDE1LjUgMTIuOCAyNS42IDEyLjhINDQ4YzM1LjMgMCA2NCAyOC43IDY0IDY0VjQxNmMwIDM1LjMtMjguNyA2NC02NCA2NHpNMTg0IDI3MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNEgzMjhjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRIMTg0elwiXVxufTtcbnZhciBmYVN0b3JlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0b3JlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNTRlXCIsIFwiTTU0Ny42IDEwMy44TDQ5MC4zIDEzLjFDNDg1LjIgNSA0NzYuMSAwIDQ2Ni40IDBIMTA5LjZDOTkuOSAwIDkwLjggNSA4NS43IDEzLjFMMjguMyAxMDMuOGMtMjkuNiA0Ni44LTMuNCAxMTEuOSA1MS45IDExOS40YzQgLjUgOC4xIC44IDEyLjEgLjhjMjYuMSAwIDQ5LjMtMTEuNCA2NS4yLTI5YzE1LjkgMTcuNiAzOS4xIDI5IDY1LjIgMjljMjYuMSAwIDQ5LjMtMTEuNCA2NS4yLTI5YzE1LjkgMTcuNiAzOS4xIDI5IDY1LjIgMjljMjYuMiAwIDQ5LjMtMTEuNCA2NS4yLTI5YzE2IDE3LjYgMzkuMSAyOSA2NS4yIDI5YzQuMSAwIDguMS0uMyAxMi4xLS44YzU1LjUtNy40IDgxLjgtNzIuNSA1Mi4xLTExOS40ek00OTkuNyAyNTQuOWwtLjEgMGMtNS4zIC43LTEwLjcgMS4xLTE2LjIgMS4xYy0xMi40IDAtMjQuMy0xLjktMzUuNC01LjNWMzg0SDEyOFYyNTAuNmMtMTEuMiAzLjUtMjMuMiA1LjQtMzUuNiA1LjRjLTUuNSAwLTExLS40LTE2LjMtMS4xbC0uMSAwYy00LjEtLjYtOC4xLTEuMy0xMi0yLjNWMzg0djY0YzAgMzUuMyAyOC43IDY0IDY0IDY0SDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NFYzODQgMjUyLjZjLTQgMS04IDEuOC0xMi4zIDIuM3pcIl1cbn07XG52YXIgZmFBcnJvd1RyZW5kVXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdHJlbmQtdXAnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImUwOThcIiwgXCJNMzg0IDE2MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkg1NDRjMTcuNyAwIDMyIDE0LjMgMzIgMzJWMjg4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjIwNS4zTDM0Mi42IDM3NC42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMEwxOTIgMjY5LjMgNTQuNiA0MDYuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsMTYwLTE2MGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMEwzMjAgMzA2LjcgNDY2LjcgMTYwSDM4NHpcIl1cbn07XG52YXIgZmFQbHVnQ2lyY2xlTWludXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGx1Zy1jaXJjbGUtbWludXMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1NWVcIiwgXCJNOTYgMEM3OC4zIDAgNjQgMTQuMyA2NCAzMnY5Nmg2NFYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMjg4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjk2aDY0VjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek0zMiAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ2MzJjMCA3Ny40IDU1IDE0MiAxMjggMTU2LjhWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWNDEyLjhjMTIuMy0yLjUgMjQuMS02LjQgMzUuMS0xMS41Yy0yLjEtMTAuOC0zLjEtMjEuOS0zLjEtMzMuM2MwLTgwLjMgNTMuOC0xNDggMTI3LjMtMTY5LjJjLjUtMi4yIC43LTQuNSAuNy02LjhjMC0xNy43LTE0LjMtMzItMzItMzJIMzJ6TTU3NiAzNjhhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTY0IDBjMCA4LjgtNy4yIDE2LTE2IDE2SDM2OGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNkg0OTZjOC44IDAgMTYgNy4yIDE2IDE2elwiXVxufTtcbnZhciBmYVNpZ25IYW5naW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NpZ24taGFuZ2luZycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wic2lnblwiXSwgXCJmNGQ5XCIsIFwiTTk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNjRsMzUyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTM1MiAwVjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYxMjhIMzJDMTQuMyAxMjggMCAxMTMuNyAwIDk2UzE0LjMgNjQgMzIgNjRINjRWMzJDNjQgMTQuMyA3OC4zIDAgOTYgMHptOTYgMTYwSDQ0OGMxNy43IDAgMzIgMTQuMyAzMiAzMlYzNTJjMCAxNy43LTE0LjMgMzItMzIgMzJIMTkyYy0xNy43IDAtMzItMTQuMy0zMi0zMlYxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xudmFyIGZhU2lnbiA9IGZhU2lnbkhhbmdpbmc7XG52YXIgZmFCZXppZXJDdXJ2ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiZXppZXItY3VydmUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY1NWJcIiwgXCJNMjk2IDEzNlY4OGg0OHY0OEgyOTZ6TTI4OCAzMmMtMjYuNSAwLTQ4IDIxLjUtNDggNDh2NEgxMjEuNkMxMTEuMiA2Mi43IDg5LjMgNDggNjQgNDhDMjguNyA0OCAwIDc2LjcgMCAxMTJzMjguNyA2NCA2NCA2NGMyNS4zIDAgNDcuMi0xNC43IDU3LjYtMzZoNjYuOWMtNTguOSAzOS42LTk4LjkgMTA1LTEwNCAxODBIODBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4djY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDY0YzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjM2OGMwLTI2LjUtMjEuNS00OC00OC00OGgtMy4zYzUuOS02NyA0OC41LTEyMy40IDEwNy41LTE0OS4xYzguNiAxMi43IDIzLjIgMjEuMSAzOS44IDIxLjFoNjRjMTYuNiAwIDMxLjEtOC40IDM5LjgtMjEuMWM1OSAyNS43IDEwMS42IDgyLjEgMTA3LjUgMTQ5LjFINDk2Yy0yNi41IDAtNDggMjEuNS00OCA0OHY2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGg2NGMyNi41IDAgNDgtMjEuNSA0OC00OFYzNjhjMC0yNi41LTIxLjUtNDgtNDgtNDhoLTQuNWMtNS03NS00NS4xLTE0MC40LTEwNC0xODBoNjYuOWMxMC40IDIxLjMgMzIuMyAzNiA1Ny42IDM2YzM1LjMgMCA2NC0yOC43IDY0LTY0cy0yOC43LTY0LTY0LTY0Yy0yNS4zIDAtNDcuMiAxNC43LTU3LjYgMzZINDAwVjgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDI4OHpNODggMzc2aDQ4djQ4SDg4VjM3NnptNDE2IDQ4VjM3Nmg0OHY0OEg1MDR6XCJdXG59O1xudmFyIGZhQmVsbFNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JlbGwtc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjgyNzcsIDYxOTQzXSwgXCJmMWY2XCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdsLTkwLjItNzAuN2MuMi0uNCAuNC0uOSAuNi0xLjNjNS4yLTExLjUgMy4xLTI1LTUuMy0zNC40bC03LjQtOC4zQzQ5Ny4zIDMxOS4yIDQ4MCAyNzMuOSA0ODAgMjI2LjhWMjA4YzAtNzcuNC01NS0xNDItMTI4LTE1Ni44VjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjUxLjJjLTQyLjYgOC42LTc5IDM0LjItMTAyIDY5LjNMMzguOCA1LjF6TTQwNi4yIDQxNkwxNjAgMjIyLjF2NC44YzAgNDctMTcuMyA5Mi40LTQ4LjUgMTI3LjZsLTcuNCA4LjNjLTguNCA5LjQtMTAuNCAyMi45LTUuMyAzNC40UzExNS40IDQxNiAxMjggNDE2SDQwNi4yem0tNDAuOSA3Ny4zYzEyLTEyIDE4LjctMjguMyAxOC43LTQ1LjNIMzIwIDI1NmMwIDE3IDYuNyAzMy4zIDE4LjcgNDUuM3MyOC4zIDE4LjcgNDUuMyAxOC43czMzLjMtNi43IDQ1LjMtMTguN3pcIl1cbn07XG52YXIgZmFUYWJsZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGFibGV0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJ0YWJsZXQtYW5kcm9pZFwiXSwgXCJmM2ZiXCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6TTE3NiA0MzJoOTZjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMTc2Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2elwiXVxufTtcbnZhciBmYVRhYmxldEFuZHJvaWQgPSBmYVRhYmxldDtcbnZhciBmYVNjaG9vbEZsYWcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2Nob29sLWZsYWcnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1NmVcIiwgXCJNMjg4IDBINDAwYzguOCAwIDE2IDcuMiAxNiAxNlY4MGMwIDguOC03LjIgMTYtMTYgMTZIMzIwLjdsODkuNiA2NEg1MTJjMzUuMyAwIDY0IDI4LjcgNjQgNjRWNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0SDMzNlY0MDBjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDhWNTEySDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFYyMjRjMC0zNS4zIDI4LjctNjQgNjQtNjRIMTY1LjdMMjU2IDk1LjVWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTQ4IDI0MGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek04MCAyMjRjLTguOCAwLTE2IDcuMi0xNiAxNnY2NGMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjI0MGMwLTguOC03LjItMTYtMTYtMTZIODB6bTM2OCAxNnY2NGMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjI0MGMwLTguOC03LjItMTYtMTYtMTZINDY0Yy04LjggMC0xNiA3LjItMTYgMTZ6TTgwIDM1MmMtOC44IDAtMTYgNy4yLTE2IDE2djY0YzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMzY4YzAtOC44LTcuMi0xNi0xNi0xNkg4MHptMzg0IDBjLTguOCAwLTE2IDcuMi0xNiAxNnY2NGMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjM2OGMwLTguOC03LjItMTYtMTYtMTZINDY0elwiXVxufTtcbnZhciBmYUZpbGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsbCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjU3NVwiLCBcIk04Ni42IDkuNEM3NC4xLTMuMSA1My45LTMuMSA0MS40IDkuNHMtMTIuNSAzMi44IDAgNDUuM0wxMjIuNyAxMzYgMzAuNiAyMjguMWMtMzcuNSAzNy41LTM3LjUgOTguMyAwIDEzNS44TDE0OC4xIDQ4MS40YzM3LjUgMzcuNSA5OC4zIDM3LjUgMTM1LjggMEw0NzQuMyAyOTAuOWMyOC4xLTI4LjEgMjguMS03My43IDAtMTAxLjhMMzIyLjkgMzcuN2MtMjguMS0yOC4xLTczLjctMjguMS0xMDEuOCAwTDE2OCA5MC43IDg2LjYgOS40ek0xNjggMTgxLjNsNDkuNCA0OS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMjEzLjMgMTM2bDUzLjEtNTMuMWMzLjEtMy4xIDguMi0zLjEgMTEuMyAwTDQyOS4xIDIzNC4zYzMuMSAzLjEgMy4xIDguMiAwIDExLjNMMzg2LjcgMjg4SDY3LjVjMS40LTUuNCA0LjItMTAuNCA4LjQtMTQuNkwxNjggMTgxLjN6XCJdXG59O1xudmFyIGZhQW5nbGVVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbmdsZS11cCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzg5NjNdLCBcImYxMDZcIiwgXCJNMjAxLjQgMTM3LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsMTYwIDE2MGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwyMjQgMjA1LjMgODYuNiAzNDIuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsMTYwLTE2MHpcIl1cbn07XG52YXIgZmFEcnVtc3RpY2tCaXRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RydW1zdGljay1iaXRlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNmQ3XCIsIFwiTTE2MCAyNjUuMmMwIDguNS0zLjQgMTYuNi05LjQgMjIuNmwtMjYuOCAyNi44Yy0xMi4zIDEyLjMtMzIuNSAxMS40LTQ5LjQgNy4yQzY5LjggMzIwLjYgNjUgMzIwIDYwIDMyMGMtMzMuMSAwLTYwIDI2LjktNjAgNjBzMjYuOSA2MCA2MCA2MGM2LjMgMCAxMiA1LjcgMTIgMTJjMCAzMy4xIDI2LjkgNjAgNjAgNjBzNjAtMjYuOSA2MC02MGMwLTUtLjYtOS44LTEuOC0xNC41Yy00LjItMTYuOS01LjItMzcuMSA3LjItNDkuNGwyNi44LTI2LjhjNi02IDE0LjEtOS40IDIyLjYtOS40SDMzNmM2LjMgMCAxMi40LS4zIDE4LjUtMWMxMS45LTEuMiAxNi40LTE1LjUgMTAuOC0yNmMtOC41LTE1LjgtMTMuMy0zMy44LTEzLjMtNTNjMC02MS45IDUwLjEtMTEyIDExMi0xMTJjOCAwIDE1LjcgLjggMjMuMiAyLjRjMTEuNyAyLjUgMjQuMS01LjkgMjItMTcuNkM0OTQuNSA2Mi41IDQyMi41IDAgMzM2IDBDMjM4LjggMCAxNjAgNzguOCAxNjAgMTc2djg5LjJ6XCJdXG59O1xudmFyIGZhSG9sbHlCZXJyeSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob2xseS1iZXJyeScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjdhYVwiLCBcIk0yNTYgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0tODAgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek0yNzYuOCAzODMuOGMxIC4xIDIuMSAuMiAzLjIgLjJjMzkuOCAwIDcyIDMyLjIgNzIgNzJ2MjIuN2MwIDE2LjQgMTYgMjcuOSAzMS42IDIyLjhsMTIuOC00LjNjMTgtNiAzNy4zLTYuNSA1NS42LTEuNWwxOS40IDUuM2MxNy45IDQuOSAzNC40LTExLjYgMjkuNS0yOS41TDQ5NS42IDQ1MmMtNS0xOC4zLTQuNC0zNy42IDEuNS01NS42bDQuMy0xMi44YzUuMi0xNS41LTYuNC0zMS42LTIyLjgtMzEuNmMtMzQuNiAwLTYyLjctMjguMS02Mi43LTYyLjd2LTMyYzAtMTYuNC0xNi0yNy45LTMxLjYtMjIuOGwtMTIuOCA0LjNjLTE4IDYtMzcuMyA2LjUtNTUuNiAxLjVsLTI5LjYtOC4xYy0yLjktLjgtNS45LTEtOC43LS43YzQuMiA5LjcgNS44IDIwLjggMy43IDMyLjNMMjc1IDI5OC43Yy0xLjUgOC40LTEuNCAxNyAuNSAyNS4zbDUuMyAyMy45YzIuOCAxMi43IDEuMSAyNS4yLTQgMzUuOXpNMTI3LjYgMjM0LjVjLTE1LjUtNS4yLTMxLjYgNi40LTMxLjYgMjIuOHYzMkM5NiAzMjMuOSA2Ny45IDM1MiAzMy4zIDM1MmMtMTYuNCAwLTI3LjkgMTYtMjIuOCAzMS42bDQuMyAxMi44YzYgMTggNi41IDM3LjMgMS41IDU1LjZsLTUuMyAxOS40QzYuMiA0ODkuNCAyMi42IDUwNS44IDQwLjUgNTAxTDYwIDQ5NS42YzE4LjMtNSAzNy42LTQuNSA1NS42IDEuNWwxMi44IDQuM2MxNS41IDUuMiAzMS42LTYuNCAzMS42LTIyLjh2LTMyYzAtMzQuNiAyOC4xLTYyLjcgNjIuNy02Mi43YzE2LjQgMCAyNy45LTE2IDIyLjgtMzEuNmwtNC4zLTEyLjhjLTYtMTgtNi41LTM3LjMtMS41LTU1LjZsNS4zLTE5LjRjNC45LTE3LjktMTEuNi0zNC40LTI5LjUtMjkuNUwxOTYgMjQwLjRjLTE4LjMgNS0zNy42IDQuNC01NS42LTEuNWwtMTIuOC00LjN6TTM4NCAxNDRhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpcIl1cbn07XG52YXIgZmFDaGV2cm9uTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGV2cm9uLWxlZnQnLFxuICBpY29uOiBbMzIwLCA1MTIsIFs5MDAxXSwgXCJmMDUzXCIsIFwiTTkuNCAyMzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsMTkyIDE5MmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDc3LjMgMjU2IDI0Ni42IDg2LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE5MiAxOTJ6XCJdXG59O1xudmFyIGZhQmFjdGVyaWEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFjdGVyaWEnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImUwNTlcIiwgXCJNMzA0LjkgLjdjLTkuNi0yLjctMTkuNSAyLjgtMjIuMyAxMi40bC00LjMgMTUuMmMtOC4zLS42LTE2LjggMC0yNS4yIDEuOWMtNy4zIDEuNy0xNC4zIDMuNS0yMS4xIDUuNWwtNS41LTEyLjdjLTMuOS05LjEtMTQuNS0xMy40LTIzLjYtOS41cy0xMy40IDE0LjUtOS41IDIzLjZsNC40IDEwLjRjLTE2LjYgNi43LTMxLjcgMTQuNC00NS40IDIyLjhMMTQ3IDYyYy01LjUtOC4zLTE2LjctMTAuNS0yNS01cy0xMC41IDE2LjctNSAyNWw2IDljLTEzLjcgMTEtMjUuNSAyMi44LTM1LjggMzQuOWwtMTAtOGMtNy44LTYuMi0xOS4xLTUtMjUuMyAyLjhzLTUgMTkuMSAyLjggMjUuM0w2NS45IDE1NWMtMS44IDIuOC0zLjUgNS43LTUuMSA4LjVjLTYuNiAxMS40LTExLjggMjIuNi0xNiAzM2wtOC0zLjJjLTkuMi0zLjctMTkuNyAuOC0yMy40IDEwcy44IDE5LjcgMTAgMjMuNGwxMC40IDQuMmMtLjIgLjgtLjQgMS41LS41IDIuM2MtMi4yIDkuMy0zLjQgMTcuMy00LjEgMjMuNGMtLjQgMy4xLS42IDUuNy0uOCA3LjhjLS4xIDEuMS0uMSAyLS4yIDIuOGwtLjEgMS4xIDAgLjUgMCAuMiAwIC4xYzAgMCAwIC4xIDI5LjEgMWwtLjEgMEwyOCAyNjkuM2MtLjEgMy4xIDAgNi4xIC4yIDkuMWwtMTUuMiA0LjNDMy41IDI4NS40LTIgMjk1LjQgLjcgMzA0LjlzMTIuNyAxNS4xIDIyLjMgMTIuNGwxNS42LTQuNWM3LjYgMTMuNiAxOC45IDI1IDMyLjYgMzIuNkw2Ni43IDM2MWMtMi43IDkuNiAyLjggMTkuNSAxMi40IDIyLjNzMTkuNS0yLjggMjIuMy0xMi40bDQuMy0xNS4yYzEuMiAuMSAyLjQgLjIgMy42IC4yYzE1LjYgLjUgMzAuMy0zLjMgNDMtMTAuMmw5IDljNyA3IDE4LjQgNyAyNS41IDBzNy0xOC40IDAtMjUuNWwtNy4yLTcuMmM5LjMtMTIuNiAxNS4yLTI3LjggMTYuMy00NC41bDcuMSAzYzkuMSAzLjkgMTkuNy0uMyAyMy42LTkuNXMtLjMtMTkuNy05LjUtMjMuNmwtOC42LTMuN2M2LjQtOS45IDE3LjMtMjIuNCAzNi45LTMzLjNsMS4zIDQuNGMyLjcgOS42IDEyLjcgMTUuMSAyMi4zIDEyLjRzMTUuMS0xMi43IDEyLjQtMjIuM2wtMi4zLTguMWMzLjgtMS4xIDcuNy0yLjEgMTEuOS0zLjFjMTEuNi0yLjcgMjIuMS03LjcgMzEuMS0xNC40bDcuMiA3LjJjNyA3IDE4LjQgNyAyNS41IDBzNy0xOC40IDAtMjUuNWwtOS05YzcuNi0xMy45IDExLjMtMzAuMSAxMC4xLTQ2LjZsMTUuMi00LjNjOS42LTIuNyAxNS4xLTEyLjcgMTIuNC0yMi4zUzM3MC42IDY0IDM2MSA2Ni43bC0xNS42IDQuNWMtNy43LTEzLjktMTkuMS0yNS4xLTMyLjYtMzIuNmw0LjUtMTUuNmMyLjctOS42LTIuOC0xOS41LTEyLjQtMjIuM3pNMTEyIDI3MmwtNDgtMS41IDAgMGMxMS43IC40IDI3LjMgLjkgNDggMS42em0xNi04MGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTY0LTQ4YTE2IDE2IDAgMSAxIDMyIDAgMTYgMTYgMCAxIDEgLTMyIDB6TTMyMi43IDQ4OWMtMi43IDkuNiAyLjggMTkuNSAxMi40IDIyLjNzMTkuNS0yLjggMjIuMi0xMi40bDQuMy0xNS4yYzguMyAuNiAxNi44IDAgMjUuMi0xLjljNy4zLTEuNyAxNC4zLTMuNSAyMS4xLTUuNWw1LjUgMTIuN2MzLjkgOS4xIDE0LjUgMTMuNCAyMy42IDkuNXMxMy40LTE0LjUgOS41LTIzLjZsLTQuNC0xMC40YzE2LjYtNi43IDMxLjctMTQuNCA0NS40LTIyLjhMNDkzIDQ1MGM1LjUgOC4zIDE2LjcgMTAuNSAyNSA1czEwLjUtMTYuNyA1LTI1bC02LTljMTMuNy0xMSAyNS41LTIyLjggMzUuOC0zNC45bDEwIDhjNy44IDYuMiAxOS4xIDUgMjUuMy0yLjhzNS0xOS4xLTIuOC0yNS4zTDU3NC4xIDM1N2MxLjgtMi44IDMuNS01LjcgNS4xLTguNWM2LjYtMTEuNCAxMS44LTIyLjYgMTYtMzNsOCAzLjJjOS4yIDMuNyAxOS43LS44IDIzLjQtMTBzLS44LTE5LjctMTAtMjMuNGwtMTAuNC00LjJjLjItLjggLjQtMS41IC41LTIuM2MyLjItOS4zIDMuNC0xNy4zIDQuMS0yMy40Yy40LTMuMSAuNi01LjcgLjgtNy44Yy4xLTEuMSAuMS0yIC4yLTIuOGwuMS0xLjEgMC0uNSAwLS4yIDAtLjFjMCAwIDAtLjEtMjkuMS0xbC4xIDAgMjkuMSAuOWMuMS0zLjEgMC02LjEtLjItOS4xbDE1LjItNC4zYzkuNi0yLjcgMTUuMS0xMi43IDEyLjQtMjIuM3MtMTIuNy0xNS4xLTIyLjMtMTIuNGwtMTUuNiA0LjVjLTcuNi0xMy42LTE4LjktMjUtMzIuNi0zMi42bDQuNS0xNS42YzIuNy05LjYtMi44LTE5LjUtMTIuNC0yMi4zcy0xOS41IDIuOC0yMi4zIDEyLjRsLTQuMyAxNS4yYy0xLjItLjEtMi40LS4yLTMuNi0uMmMtMTUuNi0uNS0zMC4zIDMuMy00MyAxMC4ybC05LTljLTctNy0xOC40LTctMjUuNSAwcy03IDE4LjQgMCAyNS41bDcuMiA3LjJjLTkuMyAxMi42LTE1LjIgMjcuOC0xNi4zIDQ0LjVsLTcuMS0zYy05LjEtMy45LTE5LjcgLjMtMjMuNiA5LjVzLjMgMTkuNyA5LjUgMjMuNmw4LjYgMy43Yy02LjQgOS45LTE3LjMgMjIuNC0zNi45IDMzLjNsLTEuMy00LjRjLTIuNy05LjYtMTIuNy0xNS4xLTIyLjMtMTIuNHMtMTUuMSAxMi43LTEyLjQgMjIuM2wyLjMgOC4xYy0zLjggMS4xLTcuNyAyLjEtMTEuOSAzLjFjLTExLjYgMi43LTIyLjEgNy43LTMxLjEgMTQuNGwtNy4yLTcuMmMtNy03LTE4LjQtNy0yNS41IDBzLTcgMTguNCAwIDI1LjVsOSA5Yy03LjYgMTMuOS0xMS4zIDMwLjEtMTAuMSA0Ni42bC0xNS4yIDQuM2MtOS42IDIuNy0xNS4xIDEyLjctMTIuNCAyMi4yczEyLjcgMTUuMSAyMi4zIDEyLjRsMTUuNi00LjVjNy43IDEzLjkgMTkuMSAyNS4xIDMyLjYgMzIuNkwzMjIuNyA0ODl6TTU3NiAyNDEuNWwwIDBjLTExLjctLjQtMjcuMy0uOS00OC0xLjZsNDggMS41ek00NDggMzg0YTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6XCJdXG59O1xudmFyIGZhSGFuZExpemFyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLWxpemFyZCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjI1OFwiLCBcIk0wIDExMkMwIDg1LjUgMjEuNSA2NCA0OCA2NEgxNjBoODAgNDYuNWMzNi44IDAgNzEuMiAxOCA5Mi4xIDQ4LjJsMTEzLjUgMTY0YzEzIDE4LjcgMTkuOSA0MSAxOS45IDYzLjh2MTIgMTYgNDhjMCAxNy43LTE0LjMgMzItMzIgMzJIMzg0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlY0MDIuMkwyNzMuOSAzNTJIMjQwIDE2MCAxMTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4czIxLjUtNDggNDgtNDhoNDggODBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhzLTIxLjUtNDgtNDgtNDhIMTYwIDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OHpcIl1cbn07XG52YXIgZmFOb3RkZWYgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbm90ZGVmJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlMWZlXCIsIFwiTTY0IDM5MC4zTDE1My41IDI1NiA2NCAxMjEuN1YzOTAuM3pNMTAyLjUgNDQ4SDI4MS41TDE5MiAzMTMuNyAxMDIuNSA0NDh6bTEyOC0xOTJMMzIwIDM5MC4zVjEyMS43TDIzMC41IDI1NnpNMjgxLjUgNjRIMTAyLjVMMTkyIDE5OC4zIDI4MS41IDY0ek0wIDQ4QzAgMjEuNSAyMS41IDAgNDggMEgzMzZjMjYuNSAwIDQ4IDIxLjUgNDggNDhWNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFY0OHpcIl1cbn07XG52YXIgZmFEaXNlYXNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Rpc2Vhc2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3ZmFcIiwgXCJNMjM2LjQgNjEuNEwyMjcgNzUuNWMtMjEuMyAzMi01OS40IDQ4LjUtOTcuMyA0Mi4xbC01OS42LTkuOUMzMy40IDEwMS42IDAgMTI5LjkgLjEgMTY3LjFjMCAxNS45IDYuNCAzMS4yIDE3LjYgNDIuNWwyOS4yIDI5LjJjMTEgMTEgMTcuMiAyNS45IDE3LjIgNDEuNWMwIDE1LjgtNi40IDMwLjktMTcuNyA0MkwzMy4zIDMzNS4xQzIyLjIgMzQ1LjkgMTYgMzYwLjcgMTYgMzc2LjJjMCAzNi44IDM0LjEgNjQuMiA3MC4xIDU2LjJsNjIuMy0xMy44YzcuNy0xLjcgMTUuNy0yLjYgMjMuNi0yLjZoMTBjMjcuMiAwIDUzLjcgOS4zIDc1IDI2LjNMMjg3LjggNDY3YzEwLjUgOC40IDIzLjYgMTMgMzcgMTNjMzIuNyAwIDU5LjMtMjYuNSA1OS4zLTU5LjNsMC0yNS4yYzAtMzQuOSAyMS40LTY2LjIgNTMuOS03OC44bDM2LjktMTQuM2MyMi40LTguNyAzNy4yLTMwLjMgMzcuMi01NC4zYzAtMjguMS0yMC4xLTUyLjMtNDcuOC01Ny4zbC0yOC01LjFjLTM2LjUtNi43LTY1LjQtMzQuNS03My42LTcwLjdsLTcuMS0zMS41QzM0OC45IDUzLjQgMzIyLjEgMzIgMjkxLjMgMzJjLTIyIDAtNDIuNiAxMS01NC45IDI5LjR6TTE2MCAxOTJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMTZhMTYgMTYgMCAxIDEgMzIgMCAxNiAxNiAwIDEgMSAtMzIgMHptMCA4MGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhQnJpZWZjYXNlTWVkaWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdicmllZmNhc2UtbWVkaWNhbCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjQ2OVwiLCBcIk0xODQgNDhIMzI4YzQuNCAwIDggMy42IDggOFY5NkgxNzZWNTZjMC00LjQgMy42LTggOC04em0tNTYgOFY5Nkg2NEMyOC43IDk2IDAgMTI0LjcgMCAxNjBWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NFYxNjBjMC0zNS4zLTI4LjctNjQtNjQtNjRIMzg0VjU2YzAtMzAuOS0yNS4xLTU2LTU2LTU2SDE4NGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZ6bTk2IDE1MmMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djQ4aDQ4YzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMjg4djQ4YzAgOC44LTcuMiAxNi0xNiAxNkgyNDBjLTguOCAwLTE2LTcuMi0xNi0xNlYzMjBIMTc2Yy04LjggMC0xNi03LjItMTYtMTZWMjcyYzAtOC44IDcuMi0xNiAxNi0xNmg0OFYyMDh6XCJdXG59O1xudmFyIGZhR2VuZGVybGVzcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnZW5kZXJsZXNzJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmMjJkXCIsIFwiTTE5MiAxNDRhMTEyIDExMiAwIDEgMSAwIDIyNCAxMTIgMTEyIDAgMSAxIDAtMjI0em0wIDI4OGExNzYgMTc2IDAgMSAwIDAtMzUyIDE3NiAxNzYgMCAxIDAgMCAzNTJ6XCJdXG59O1xudmFyIGZhQ2hldnJvblJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZXZyb24tcmlnaHQnLFxuICBpY29uOiBbMzIwLCA1MTIsIFs5MDAyXSwgXCJmMDU0XCIsIFwiTTMxMC42IDIzMy40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC0xOTIgMTkyYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wyNDIuNyAyNTYgNzMuNCA4Ni42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwbDE5MiAxOTJ6XCJdXG59O1xudmFyIGZhUmV0d2VldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyZXR3ZWV0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMDc5XCIsIFwiTTI3MiA0MTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMlYxOTJoMzJjMTIuOSAwIDI0LjYtNy44IDI5LjYtMTkuOHMyLjItMjUuNy02LjktMzQuOWwtNjQtNjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC02NCA2NGMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0LjlzMTYuNiAxOS44IDI5LjYgMTkuOGwzMiAwIDAgMTI4YzAgNTMgNDMgOTYgOTYgOTZIMjcyek0zMDQgOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTEyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjhINDE2Yy0xMi45IDAtMjQuNiA3LjgtMjkuNiAxOS44cy0yLjIgMjUuNyA2LjkgMzQuOWw2NCA2NGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGw2NC02NGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOXMtMTYuNi0xOS44LTI5LjYtMTkuOGwtMzIgMFYxOTJjMC01My00My05Ni05Ni05NkwzMDQgOTZ6XCJdXG59O1xudmFyIGZhQ2FyUmVhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXItcmVhcicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiY2FyLWFsdFwiXSwgXCJmNWRlXCIsIFwiTTE2NS40IDk2SDM0Ni42YzEzLjYgMCAyNS43IDguNiAzMC4yIDIxLjRMNDAyLjkgMTkySDEwOS4xbDI2LjEtNzQuNmM0LjUtMTIuOCAxNi42LTIxLjQgMzAuMi0yMS40em0tOTAuNiAuM0wzOS42IDE5Ni44QzE2LjQgMjA2LjQgMCAyMjkuMyAwIDI1NnY4MGMwIDIzLjcgMTIuOSA0NC40IDMyIDU1LjRWNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMySDk2YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjQwMEgzODR2NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzkxLjRjMTkuMS0xMS4xIDMyLTMxLjcgMzItNTUuNFYyNTZjMC0yNi43LTE2LjQtNDkuNi0zOS42LTU5LjJMNDM3LjIgOTYuM0M0MjMuNyA1Ny44IDM4Ny40IDMyIDM0Ni42IDMySDE2NS40Yy00MC44IDAtNzcuMSAyNS44LTkwLjYgNjQuM3pNMjA4IDI3Mmg5NmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDIwOGMtOC44IDAtMTYtNy4yLTE2LTE2VjI4OGMwLTguOCA3LjItMTYgMTYtMTZ6TTQ4IDI4MGMwLTEzLjMgMTAuNy0yNCAyNC0yNGgzMmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEg3MmMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTM2MC0yNGgzMmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEg0MDhjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6XCJdXG59O1xudmFyIGZhQ2FyQWx0ID0gZmFDYXJSZWFyO1xudmFyIGZhUHVtcFNvYXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncHVtcC1zb2FwJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJlMDZiXCIsIFwiTTEyOCAzMnY5NkgyNTZWOTZoNjAuMWM0LjIgMCA4LjMgMS43IDExLjMgNC43bDMzLjkgMzMuOWMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDM3Mi43IDU1LjRjLTE1LTE1LTM1LjQtMjMuNC01Ni42LTIzLjRIMjU2YzAtMTcuNy0xNC4zLTMyLTMyLTMySDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTExNy40IDE2MGMtMzMuMyAwLTYxIDI1LjUtNjMuOCA1OC43TDM1IDQ0Mi43QzMxLjkgNDgwIDYxLjMgNTEyIDk4LjggNTEySDI4NS4yYzM3LjQgMCA2Ni45LTMyIDYzLjgtNjkuM2wtMTguNy0yMjRjLTIuOC0zMy4yLTMwLjUtNTguNy02My44LTU4LjdIMTE3LjR6TTI1NiAzNjBjMCAzNS4zLTI4LjcgNTYtNjQgNTZzLTY0LTIwLjctNjQtNTZjMC0zMi41IDM3LTgwLjkgNTAuOS05Ny45YzMuMi0zLjkgOC4xLTYuMSAxMy4xLTYuMXM5LjkgMi4yIDEzLjEgNi4xQzIxOSAyNzkuMSAyNTYgMzI3LjUgMjU2IDM2MHpcIl1cbn07XG52YXIgZmFWaWRlb1NsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZpZGVvLXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNGUyXCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdsLTg2LjQtNjcuNyAxMy44IDkuMmM5LjggNi41IDIyLjQgNy4yIDMyLjkgMS42czE2LjktMTYuNCAxNi45LTI4LjJWMTI4YzAtMTEuOC02LjUtMjIuNi0xNi45LTI4LjJzLTIzLTUtMzIuOSAxLjZsLTk2IDY0TDQ0OCAxNzQuOVYxOTIgMzIwdjUuOGwtMzItMjUuMVYxMjhjMC0zNS4zLTI4LjctNjQtNjQtNjRIMTEzLjlMMzguOCA1LjF6TTQwNyA0MTYuN0wzMi4zIDEyMS41Yy0uMiAyLjEtLjMgNC4zLS4zIDYuNVYzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzUyYzIzLjQgMCA0My45LTEyLjYgNTUtMzEuM3pcIl1cbn07XG52YXIgZmFCYXR0ZXJ5UXVhcnRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYXR0ZXJ5LXF1YXJ0ZXInLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImJhdHRlcnktMlwiXSwgXCJmMjQzXCIsIFwiTTQ2NCAxNjBjOC44IDAgMTYgNy4yIDE2IDE2VjMzNmMwIDguOC03LjIgMTYtMTYgMTZIODBjLTguOCAwLTE2LTcuMi0xNi0xNlYxNzZjMC04LjggNy4yLTE2IDE2LTE2SDQ2NHpNODAgOTZDMzUuOCA5NiAwIDEzMS44IDAgMTc2VjMzNmMwIDQ0LjIgMzUuOCA4MCA4MCA4MEg0NjRjNDQuMiAwIDgwLTM1LjggODAtODBWMzIwYzE3LjcgMCAzMi0xNC4zIDMyLTMyVjIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMlYxNzZjMC00NC4yLTM1LjgtODAtODAtODBIODB6bTExMiA5Nkg5NlYzMjBoOTZWMTkyelwiXVxufTtcbnZhciBmYUJhdHRlcnkyID0gZmFCYXR0ZXJ5UXVhcnRlcjtcbnZhciBmYVJhZGlvID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JhZGlvJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MjUxXSwgXCJmOGQ3XCIsIFwiTTQ5NC44IDQ3YzEyLjctMy43IDIwLTE3LjEgMTYuMy0yOS44UzQ5NC0yLjggNDgxLjIgMUw1MS43IDEyNi45Yy05LjQgMi43LTE3LjkgNy4zLTI1LjEgMTMuMkMxMC41IDE1MS43IDAgMTcwLjYgMCAxOTJ2NFYzMDQgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NFYxOTJjMC0zNS4zLTI4LjctNjQtNjQtNjRIMjE4LjVMNDk0LjggNDd6TTM2OCAyNDBhODAgODAgMCAxIDEgMCAxNjAgODAgODAgMCAxIDEgMC0xNjB6TTgwIDI1NmMwLTguOCA3LjItMTYgMTYtMTZoOTZjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIOTZjLTguOCAwLTE2LTcuMi0xNi0xNnpNNjQgMzIwYzAtOC44IDcuMi0xNiAxNi0xNkgyMDhjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIODBjLTguOCAwLTE2LTcuMi0xNi0xNnptMTYgNjRjMC04LjggNy4yLTE2IDE2LTE2aDk2YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDk2Yy04LjggMC0xNi03LjItMTYtMTZ6XCJdXG59O1xudmFyIGZhQmFieUNhcnJpYWdlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhYnktY2FycmlhZ2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImNhcnJpYWdlLWJhYnlcIl0sIFwiZjc3ZFwiLCBcIk0yNTYgMTkySC4xQzIuNyAxMTcuOSA0MS4zIDUyLjkgOTkgMTQuMWMxMy4zLTguOSAzMC44LTQuMyAzOS45IDguOEwyNTYgMTkyem0xMjgtMzJjMC0zNS4zIDI4LjctNjQgNjQtNjRoMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDB2NjRjMCAyNS4yLTUuOCA1MC4yLTE3IDczLjVzLTI3LjggNDQuNS00OC42IDYyLjNzLTQ1LjUgMzItNzIuNyA0MS42UzI1My40IDQxNiAyMjQgNDE2cy01OC41LTUtODUuNy0xNC42cy01MS45LTIzLjgtNzIuNy00MS42cy0zNy4zLTM5LTQ4LjYtNjIuM1MwIDI0OS4yIDAgMjI0bDIyNCAwIDE2MCAwVjE2MHpNODAgNDE2YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnptMjQwIDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6XCJdXG59O1xudmFyIGZhQ2FycmlhZ2VCYWJ5ID0gZmFCYWJ5Q2FycmlhZ2U7XG52YXIgZmFUcmFmZmljTGlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJhZmZpYy1saWdodCcsXG4gIGljb246IFszMjAsIDUxMiwgWzEyODY3OF0sIFwiZjYzN1wiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NFYzNTJjMCA4OC40IDcxLjYgMTYwIDE2MCAxNjBzMTYwLTcxLjYgMTYwLTE2MFY2NGMwLTM1LjMtMjguNy02NC02NC02NEg2NHptOTYgNDE2YTQ4IDQ4IDAgMSAxIDAtOTYgNDggNDggMCAxIDEgMCA5NnptNDgtMTc2YTQ4IDQ4IDAgMSAxIC05NiAwIDQ4IDQ4IDAgMSAxIDk2IDB6bS00OC04MGE0OCA0OCAwIDEgMSAwLTk2IDQ4IDQ4IDAgMSAxIDAgOTZ6XCJdXG59O1xudmFyIGZhVGhlcm1vbWV0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGhlcm1vbWV0ZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY0OTFcIiwgXCJNOTYgMzgyLjFWMjkzLjNjMC0xNC45IDUuOS0yOS4xIDE2LjQtMzkuNmwyNy4zLTI3LjMgNTcgNTdjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42bC01Ny01NyA0MS40LTQxLjQgNTcgNTdjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42bC01Ny01NyA0MS40LTQxLjQgNTcgNTdjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42bC01Ny01NyA0NS41LTQ1LjVDMzU1LjIgMTAuOSAzODEuNCAwIDQwOC44IDBDNDY1LjggMCA1MTIgNDYuMiA1MTIgMTAzLjJjMCAyNy40LTEwLjkgNTMuNi0zMC4yIDczTDI1OC4zIDM5OS42Yy0xMC41IDEwLjUtMjQuNyAxNi40LTM5LjYgMTYuNEgxMjkuOUw0MSA1MDVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsODktODl6XCJdXG59O1xudmFyIGZhVnJDYXJkYm9hcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndnItY2FyZGJvYXJkJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNzI5XCIsIFwiTTU3NiA2NEg2NEMyOC43IDY0IDAgOTIuNyAwIDEyOFYzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMTg0LjRjMjQuMiAwIDQ2LjQtMTMuNyA1Ny4yLTM1LjRsMzItNjRjOC44LTE3LjUgMjYuNy0yOC42IDQ2LjMtMjguNnMzNy41IDExLjEgNDYuMyAyOC42bDMyIDY0YzEwLjggMjEuNyAzMyAzNS40IDU3LjIgMzUuNEg1NzZjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0ek05NiAyNDBhNjQgNjQgMCAxIDEgMTI4IDBBNjQgNjQgMCAxIDEgOTYgMjQwem0zODQtNjRhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6XCJdXG59O1xudmFyIGZhSGFuZE1pZGRsZUZpbmdlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLW1pZGRsZS1maW5nZXInLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjg0MDVdLCBcImY4MDZcIiwgXCJNMjMyIDBjLTIyLjEgMC00MCAxNy45LTQwIDQwVjIwNC4yYy04LjUtNy42LTE5LjctMTIuMi0zMi0xMi4yYy0yNi41IDAtNDggMjEuNS00OCA0OHY3IDczYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjI2NC4zYy0yIDEuNC0zLjkgMy01LjggNC41TDU1IDI4NC44QzQwLjQgMjk3IDMyIDMxNSAzMiAzMzRWMzcyYzAgMzggMTYuOSA3NCA0Ni4xIDk4LjNsNS40IDQuNWMyOC44IDI0IDY1IDM3LjEgMTAyLjQgMzcuMUgzMDRjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhWMzIwIDI4OGMwLTI2LjUtMjEuNS00OC00OC00OGMtMTIuNCAwLTIzLjYgNC43LTMyLjEgMTIuM0MzNTAgMjI3LjUgMzI5LjMgMjA4IDMwNCAyMDhjLTEyLjMgMC0yMy41IDQuNi0zMiAxMi4yVjQwYzAtMjIuMS0xNy45LTQwLTQwLTQwelwiXVxufTtcbnZhciBmYVBlcmNlbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyY2VudCcsXG4gIGljb246IFszODQsIDUxMiwgWzYyMTAxLCA2Mjc4NSwgXCJwZXJjZW50YWdlXCJdLCBcIjI1XCIsIFwiTTM3NC42IDExOC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0zMjAgMzIwYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDMyMC0zMjB6TTEyOCAxMjhBNjQgNjQgMCAxIDAgMCAxMjhhNjQgNjQgMCAxIDAgMTI4IDB6TTM4NCAzODRhNjQgNjQgMCAxIDAgLTEyOCAwIDY0IDY0IDAgMSAwIDEyOCAwelwiXVxufTtcbnZhciBmYVBlcmNlbnRhZ2UgPSBmYVBlcmNlbnQ7XG52YXIgZmFUcnVja01vdmluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cnVjay1tb3ZpbmcnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY0ZGZcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlYzMDR2ODAgMTZjMCA0NC4yIDM1LjggODAgODAgODBjMjYuMiAwIDQ5LjQtMTIuNiA2NC0zMmMxNC42IDE5LjQgMzcuOCAzMiA2NCAzMmM0NC4yIDAgODAtMzUuOCA4MC04MGMwLTUuNS0uNi0xMC44LTEuNi0xNkg0MTZoMzMuNmMtMSA1LjItMS42IDEwLjUtMS42IDE2YzAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC01LjUtLjYtMTAuOC0xLjYtMTZINjA4YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjI4OCAyNzIgMjYxLjdjMC05LjItMy4yLTE4LjItOS0yNS4zbC01OC44LTcxLjhjLTEwLjYtMTMtMjYuNS0yMC41LTQzLjMtMjAuNUg0ODBWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6TTU4NSAyNTZINDgwVjE5Mmg0OC44YzIuNCAwIDQuNyAxLjEgNi4yIDIuOUw1ODUgMjU2ek01MjggMzY4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMTc2IDQwMGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek04MCAzNjhhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbnZhciBmYUdsYXNzV2F0ZXJEcm9wbGV0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dsYXNzLXdhdGVyLWRyb3BsZXQnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImU0ZjVcIiwgXCJNMzIgMEMyMy4xIDAgMTQuNiAzLjcgOC42IDEwLjJTLS42IDI1LjQgLjEgMzQuM0wyOC45IDQzNy43YzMgNDEuOSAzNy44IDc0LjMgNzkuOCA3NC4zSDI3NS4zYzQyIDAgNzYuOC0zMi40IDc5LjgtNzQuM0wzODMuOSAzNC4zYy42LTguOS0yLjQtMTcuNi04LjUtMjQuMVMzNjAuOSAwIDM1MiAwSDMyek04MyAyOTcuNUw2Ni40IDY0SDMxNy42TDMwMSAyOTcuNSAyODggMzA0Yy0yMC4xIDEwLjEtNDMuOSAxMC4xLTY0IDBzLTQzLjktMTAuMS02NCAwcy00My45IDEwLjEtNjQgMGwtMTMtNi41ek0yNTYgMTk2YzAtMjQtMzMuNy03MC4xLTUyLjItOTMuNWMtNi4xLTcuNy0xNy41LTcuNy0yMy42IDBDMTYxLjcgMTI1LjkgMTI4IDE3MiAxMjggMTk2YzAgMzMuMSAyOC43IDYwIDY0IDYwczY0LTI2LjkgNjQtNjB6XCJdXG59O1xudmFyIGZhRGlzcGxheSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkaXNwbGF5JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlMTYzXCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0VjM1MmMwIDM1LjMgMjguNyA2NCA2NCA2NEgyNDBsLTEwLjcgMzJIMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDQxNmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzNDYuN0wzMzYgNDE2SDUxMmMzNS4zIDAgNjQtMjguNyA2NC02NFY2NGMwLTM1LjMtMjguNy02NC02NC02NEg2NHpNNTEyIDY0VjM1Mkg2NFY2NEg1MTJ6XCJdXG59O1xudmFyIGZhRmFjZVNtaWxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2Utc21pbGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1NzgsIFwic21pbGVcIl0sIFwiZjExOFwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTY0LjEgMzI1LjVDMTgyIDM0Ni4yIDIxMi42IDM2OCAyNTYgMzY4czc0LTIxLjggOTEuOS00Mi41YzUuOC02LjcgMTUuOS03LjQgMjIuNi0xLjZzNy40IDE1LjkgMS42IDIyLjZDMzQ5LjggMzcyLjEgMzExLjEgNDAwIDI1NiA0MDBzLTkzLjgtMjcuOS0xMTYuMS01My41Yy01LjgtNi43LTUuMS0xNi44IDEuNi0yMi42czE2LjgtNS4xIDIyLjYgMS42ek0xNDQuNCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFTbWlsZSA9IGZhRmFjZVNtaWxlO1xudmFyIGZhVGh1bWJ0YWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RodW1idGFjaycsXG4gIGljb246IFszODQsIDUxMiwgWzEyODIwNCwgMTI4MzkyLCBcInRodW1iLXRhY2tcIl0sIFwiZjA4ZFwiLCBcIk0zMiAzMkMzMiAxNC4zIDQ2LjMgMCA2NCAwSDMyMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgyOTAuNWwxMS40IDE0OC4yYzM2LjcgMTkuOSA2NS43IDUzLjIgNzkuNSA5NC43bDEgM2MzLjMgOS44IDEuNiAyMC41LTQuNCAyOC44cy0xNS43IDEzLjMtMjYgMTMuM0gzMmMtMTAuMyAwLTE5LjktNC45LTI2LTEzLjNzLTcuNy0xOS4xLTQuNC0yOC44bDEtM2MxMy44LTQxLjUgNDIuOC03NC44IDc5LjUtOTQuN0w5My41IDY0SDY0QzQ2LjMgNjQgMzIgNDkuNyAzMiAzMnpNMTYwIDM4NGg2NHY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzODR6XCJdXG59O1xudmFyIGZhVGh1bWJUYWNrID0gZmFUaHVtYnRhY2s7XG52YXIgZmFUcm9waHkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJvcGh5JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI3OTQyXSwgXCJmMDkxXCIsIFwiTTQwMCAwSDE3NmMtMjYuNSAwLTQ4LjEgMjEuOC00Ny4xIDQ4LjJjLjIgNS4zIC40IDEwLjYgLjcgMTUuOEgyNEMxMC43IDY0IDAgNzQuNyAwIDg4YzAgOTIuNiAzMy41IDE1NyA3OC41IDIwMC43YzQ0LjMgNDMuMSA5OC4zIDY0LjggMTM4LjEgNzUuOGMyMy40IDYuNSAzOS40IDI2IDM5LjQgNDUuNmMwIDIwLjktMTcgMzcuOS0zNy45IDM3LjlIMTkyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDM4NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzNTcuOUMzMzcgNDQ4IDMyMCA0MzEgMzIwIDQxMC4xYzAtMTkuNiAxNS45LTM5LjIgMzkuNC00NS42YzM5LjktMTEgOTMuOS0zMi43IDEzOC4yLTc1LjhDNTQyLjUgMjQ1IDU3NiAxODAuNiA1NzYgODhjMC0xMy4zLTEwLjctMjQtMjQtMjRINDQ2LjRjLjMtNS4yIC41LTEwLjQgLjctMTUuOEM0NDguMSAyMS44IDQyNi41IDAgNDAwIDB6TTQ4LjkgMTEyaDg0LjRjOS4xIDkwLjEgMjkuMiAxNTAuMyA1MS45IDE5MC42Yy0yNC45LTExLTUwLjgtMjYuNS03My4yLTQ4LjNjLTMyLTMxLjEtNTgtNzYtNjMtMTQyLjN6TTQ2NC4xIDI1NC4zYy0yMi40IDIxLjgtNDguMyAzNy4zLTczLjIgNDguM2MyMi43LTQwLjMgNDIuOC0xMDAuNSA1MS45LTE5MC42aDg0LjRjLTUuMSA2Ni4zLTMxLjEgMTExLjItNjMgMTQyLjN6XCJdXG59O1xudmFyIGZhUGVyc29uUHJheWluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tcHJheWluZycsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODcyMCwgXCJwcmF5XCJdLCBcImY2ODNcIiwgXCJNMzUyIDY0QTY0IDY0IDAgMSAwIDIyNCA2NGE2NCA2NCAwIDEgMCAxMjggMHpNMjMyLjcgMjY0bDIyLjkgMzEuNWM2LjUgOC45IDE2LjMgMTQuNyAyNy4yIDE2LjFzMjEuOS0xLjcgMzAuNC04LjdsODgtNzJjMTcuMS0xNCAxOS42LTM5LjIgNS42LTU2LjNzLTM5LjItMTkuNi01Ni4zLTUuNmwtNTUuMiA0NS4yLTI2LjItMzZDMjUzLjYgMTU2LjcgMjI4LjYgMTQ0IDIwMiAxNDRjLTMwLjkgMC01OS4yIDE3LjEtNzMuNiA0NC40TDc5LjggMjgwLjljLTIwLjIgMzguNS05LjQgODUuOSAyNS42IDExMS44TDE1OC42IDQzMkg3MmMtMjIuMSAwLTQwIDE3LjktNDAgNDBzMTcuOSA0MCA0MCA0MEgyODBjMTcuMyAwIDMyLjYtMTEuMSAzOC0yNy41cy0uMy0zNC40LTE0LjItNDQuN0wxODcuNyAzNTRsNDUtOTB6XCJdXG59O1xudmFyIGZhUHJheSA9IGZhUGVyc29uUHJheWluZztcbnZhciBmYUhhbW1lciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW1tZXInLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjgyOTZdLCBcImY2ZTNcIiwgXCJNNDEzLjUgMjM3LjVjLTI4LjIgNC44LTU4LjItMy42LTgwLTI1LjRsLTM4LjEtMzguMUMyODAuNCAxNTkgMjcyIDEzOC44IDI3MiAxMTcuNlYxMDUuNUwxOTIuMyA2MmMtNS4zLTIuOS04LjYtOC42LTguMy0xNC43czMuOS0xMS41IDkuNS0xNGw0Ny4yLTIxQzI1OS4xIDQuMiAyNzkgMCAyOTkuMiAwaDE4LjFjMzYuNyAwIDcyIDE0IDk4LjcgMzkuMWw0NC42IDQyYzI0LjIgMjIuOCAzMy4yIDU1LjcgMjYuNiA4Nkw1MDMgMTgzbDgtOGM5LjQtOS40IDI0LjYtOS40IDMzLjkgMGwyNCAyNGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtODggODhjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwbC0yNC0yNGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsOC04LTE3LjUtMTcuNXpNMjcuNCAzNzcuMUwyNjAuOSAxODIuNmMzLjUgNC45IDcuNSA5LjYgMTEuOCAxNGwzOC4xIDM4LjFjNiA2IDEyLjQgMTEuMiAxOS4yIDE1LjdMMTM0LjkgNDg0LjZjLTE0LjUgMTcuNC0zNiAyNy40LTU4LjYgMjcuNEMzNC4xIDUxMiAwIDQ3Ny44IDAgNDM1LjdjMC0yMi42IDEwLjEtNDQuMSAyNy40LTU4LjZ6XCJdXG59O1xudmFyIGZhSGFuZFBlYWNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtcGVhY2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5OTk2XSwgXCJmMjViXCIsIFwiTTIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjI0MEgxOTJWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTk2IDE2MGMxNy43IDAgMzIgMTQuMyAzMiAzMnY2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTY0IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMjI0ek05My4zIDUxLjJMMTc1LjkgMjQwSDEwNi4xTDM0LjcgNzYuOEMyNy42IDYwLjYgMzUgNDEuOCA1MS4yIDM0LjdzMzUuMSAuMyA0Mi4xIDE2LjV6bTI3IDIyMS4zbC0uMi0uNWg2OS45SDIxNmMyMi4xIDAgNDAgMTcuOSA0MCA0MHMtMTcuOSA0MC00MCA0MEgxNjBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZoNTZjMzkuOCAwIDcyLTMyLjIgNzItNzJsMC0uNmM5LjQgNS40IDIwLjMgOC42IDMyIDguNmMxMy4yIDAgMjUuNC00IDM1LjYtMTAuOGM4LjcgMjQuOSAzMi41IDQyLjggNjAuNCA0Mi44YzExLjcgMCAyMi42LTMuMSAzMi04LjZWMzUyYzAgODguNC03MS42IDE2MC0xNjAgMTYwSDIyNi4zYy00Mi40IDAtODMuMS0xNi45LTExMy4xLTQ2LjlsLTExLjYtMTEuNkM3Ny41IDQyOS41IDY0IDM5Ni45IDY0IDM2M1YzMzZjMC0zMi43IDI0LjYtNTkuNyA1Ni4zLTYzLjV6XCJdXG59O1xudmFyIGZhUm90YXRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JvdGF0ZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODI2MCwgXCJzeW5jLWFsdFwiXSwgXCJmMmYxXCIsIFwiTTE0Mi45IDE0Mi45YzYyLjItNjIuMiAxNjIuNy02Mi41IDIyNS4zLTFMMzI3IDE4M2MtNi45IDYuOS04LjkgMTcuMi01LjIgMjYuMnMxMi41IDE0LjggMjIuMiAxNC44SDQ2My41YzAgMCAwIDAgMCAwSDQ3MmMxMy4zIDAgMjQtMTAuNyAyNC0yNFY3MmMwLTkuNy01LjgtMTguNS0xNC44LTIyLjJzLTE5LjMtMS43LTI2LjIgNS4yTDQxMy40IDk2LjZjLTg3LjYtODYuNS0yMjguNy04Ni4yLTMxNS44IDFDNzMuMiAxMjIgNTUuNiAxNTAuNyA0NC44IDE4MS40Yy01LjkgMTYuNyAyLjkgMzQuOSAxOS41IDQwLjhzMzQuOS0yLjkgNDAuOC0xOS41YzcuNy0yMS44IDIwLjItNDIuMyAzNy44LTU5Ljh6TTE2IDMxMnY3LjYgLjdWNDQwYzAgOS43IDUuOCAxOC41IDE0LjggMjIuMnMxOS4zIDEuNyAyNi4yLTUuMmw0MS42LTQxLjZjODcuNiA4Ni41IDIyOC43IDg2LjIgMzE1LjgtMWMyNC40LTI0LjQgNDIuMS01My4xIDUyLjktODMuN2M1LjktMTYuNy0yLjktMzQuOS0xOS41LTQwLjhzLTM0LjkgMi45LTQwLjggMTkuNWMtNy43IDIxLjgtMjAuMiA0Mi4zLTM3LjggNTkuOGMtNjIuMiA2Mi4yLTE2Mi43IDYyLjUtMjI1LjMgMUwxODUgMzI5YzYuOS02LjkgOC45LTE3LjIgNS4yLTI2LjJzLTEyLjUtMTQuOC0yMi4yLTE0LjhINDguNGgtLjdINDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0elwiXVxufTtcbnZhciBmYVN5bmNBbHQgPSBmYVJvdGF0ZTtcbnZhciBmYVNwaW5uZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3Bpbm5lcicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjExMFwiLCBcIk0zMDQgNDhhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHptMCA0MTZhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNNDggMzA0YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptNDY0LTQ4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTE0Mi45IDQzN0E0OCA0OCAwIDEgMCA3NSAzNjkuMSA0OCA0OCAwIDEgMCAxNDIuOSA0Mzd6bTAtMjk0LjJBNDggNDggMCAxIDAgNzUgNzVhNDggNDggMCAxIDAgNjcuOSA2Ny45ek0zNjkuMSA0MzdBNDggNDggMCAxIDAgNDM3IDM2OS4xIDQ4IDQ4IDAgMSAwIDM2OS4xIDQzN3pcIl1cbn07XG52YXIgZmFSb2JvdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyb2JvdCcsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyOTMwMl0sIFwiZjU0NFwiLCBcIk0zMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMlY5Nkg0NzJjMzkuOCAwIDcyIDMyLjIgNzIgNzJWNDQwYzAgMzkuOC0zMi4yIDcyLTcyIDcySDE2OGMtMzkuOCAwLTcyLTMyLjItNzItNzJWMTY4YzAtMzkuOCAzMi4yLTcyIDcyLTcySDI4OFYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMjA4IDM4NGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgyMDh6bTk2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIMzA0em05NiAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDQwMHpNMjY0IDI1NmE0MCA0MCAwIDEgMCAtODAgMCA0MCA0MCAwIDEgMCA4MCAwem0xNTIgNDBhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwek00OCAyMjRINjRWNDE2SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFYyNzJjMC0yNi41IDIxLjUtNDggNDgtNDh6bTU0NCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4djk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDU3NlYyMjRoMTZ6XCJdXG59O1xudmFyIGZhUGVhY2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVhY2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5Nzc0XSwgXCJmNjdjXCIsIFwiTTIyNCA0NDUuM1YzMjMuNWwtOTQuMyA3Ny4xYzI2LjEgMjIuOCA1OC41IDM4LjcgOTQuMyA0NC43ek04OS4yIDM1MS4xTDIyNCAyNDAuOFY2Ni43QzEzMy4yIDgxLjkgNjQgMTYwLjkgNjQgMjU2YzAgMzQuNiA5LjIgNjcuMSAyNS4yIDk1LjF6bTI5My4xIDQ5LjVMMjg4IDMyMy41VjQ0NS4zYzM1LjctNiA2OC4xLTIxLjkgOTQuMy00NC43em00MC42LTQ5LjVjMTYtMjggMjUuMi02MC41IDI1LjItOTUuMWMwLTk1LjEtNjkuMi0xNzQuMS0xNjAtMTg5LjNWMjQwLjhMNDIyLjggMzUxLjF6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnpcIl1cbn07XG52YXIgZmFHZWFycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnZWFycycsXG4gIGljb246IFs2NDAsIDUxMiwgW1wiY29nc1wiXSwgXCJmMDg1XCIsIFwiTTMwOC41IDEzNS4zYzcuMS02LjMgOS45LTE2LjIgNi4yLTI1Yy0yLjMtNS4zLTQuOC0xMC41LTcuNi0xNS41TDMwNCA4OS40Yy0zLTUtNi4zLTkuOS05LjgtMTQuNmMtNS43LTcuNi0xNS43LTEwLjEtMjQuNy03LjFsLTI4LjIgOS4zYy0xMC43LTguOC0yMy0xNi0zNi4yLTIwLjlMMTk5IDI3LjFjLTEuOS05LjMtOS4xLTE2LjctMTguNS0xNy44QzE3My45IDguNCAxNjcuMiA4IDE2MC40IDhoLS43Yy02LjggMC0xMy41IC40LTIwLjEgMS4yYy05LjQgMS4xLTE2LjYgOC42LTE4LjUgMTcuOEwxMTUgNTYuMWMtMTMuMyA1LTI1LjUgMTIuMS0zNi4yIDIwLjlMNTAuNSA2Ny44Yy05LTMtMTktLjUtMjQuNyA3LjFjLTMuNSA0LjctNi44IDkuNi05LjkgMTQuNmwtMyA1LjNjLTIuOCA1LTUuMyAxMC4yLTcuNiAxNS42Yy0zLjcgOC43LS45IDE4LjYgNi4yIDI1bDIyLjIgMTkuOEMzMi42IDE2MS45IDMyIDE2OC45IDMyIDE3NnMuNiAxNC4xIDEuNyAyMC45TDExLjUgMjE2LjdjLTcuMSA2LjMtOS45IDE2LjItNi4yIDI1YzIuMyA1LjMgNC44IDEwLjUgNy42IDE1LjZsMyA1LjJjMyA1LjEgNi4zIDkuOSA5LjkgMTQuNmM1LjcgNy42IDE1LjcgMTAuMSAyNC43IDcuMWwyOC4yLTkuM2MxMC43IDguOCAyMyAxNiAzNi4yIDIwLjlsNi4xIDI5LjFjMS45IDkuMyA5LjEgMTYuNyAxOC41IDE3LjhjNi43IC44IDEzLjUgMS4yIDIwLjQgMS4yczEzLjctLjQgMjAuNC0xLjJjOS40LTEuMSAxNi42LTguNiAxOC41LTE3LjhsNi4xLTI5LjFjMTMuMy01IDI1LjUtMTIuMSAzNi4yLTIwLjlsMjguMiA5LjNjOSAzIDE5IC41IDI0LjctNy4xYzMuNS00LjcgNi44LTkuNSA5LjgtMTQuNmwzLjEtNS40YzIuOC01IDUuMy0xMC4yIDcuNi0xNS41YzMuNy04LjcgLjktMTguNi02LjItMjVsLTIyLjItMTkuOGMxLjEtNi44IDEuNy0xMy44IDEuNy0yMC45cy0uNi0xNC4xLTEuNy0yMC45bDIyLjItMTkuOHpNMTEyIDE3NmE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek01MDQuNyA1MDAuNWM2LjMgNy4xIDE2LjIgOS45IDI1IDYuMmM1LjMtMi4zIDEwLjUtNC44IDE1LjUtNy42bDUuNC0zLjFjNS0zIDkuOS02LjMgMTQuNi05LjhjNy42LTUuNyAxMC4xLTE1LjcgNy4xLTI0LjdsLTkuMy0yOC4yYzguOC0xMC43IDE2LTIzIDIwLjktMzYuMmwyOS4xLTYuMWM5LjMtMS45IDE2LjctOS4xIDE3LjgtMTguNWMuOC02LjcgMS4yLTEzLjUgMS4yLTIwLjRzLS40LTEzLjctMS4yLTIwLjRjLTEuMS05LjQtOC42LTE2LjYtMTcuOC0xOC41TDU4My45IDMwN2MtNS0xMy4zLTEyLjEtMjUuNS0yMC45LTM2LjJsOS4zLTI4LjJjMy05IC41LTE5LTcuMS0yNC43Yy00LjctMy41LTkuNi02LjgtMTQuNi05LjlsLTUuMy0zYy01LTIuOC0xMC4yLTUuMy0xNS42LTcuNmMtOC43LTMuNy0xOC42LS45LTI1IDYuMmwtMTkuOCAyMi4yYy02LjgtMS4xLTEzLjgtMS43LTIwLjktMS43cy0xNC4xIC42LTIwLjkgMS43bC0xOS44LTIyLjJjLTYuMy03LjEtMTYuMi05LjktMjUtNi4yYy01LjMgMi4zLTEwLjUgNC44LTE1LjYgNy42bC01LjIgM2MtNS4xIDMtOS45IDYuMy0xNC42IDkuOWMtNy42IDUuNy0xMC4xIDE1LjctNy4xIDI0LjdsOS4zIDI4LjJjLTguOCAxMC43LTE2IDIzLTIwLjkgMzYuMkwzMTUuMSAzMTNjLTkuMyAxLjktMTYuNyA5LjEtMTcuOCAxOC41Yy0uOCA2LjctMS4yIDEzLjUtMS4yIDIwLjRzLjQgMTMuNyAxLjIgMjAuNGMxLjEgOS40IDguNiAxNi42IDE3LjggMTguNWwyOS4xIDYuMWM1IDEzLjMgMTIuMSAyNS41IDIwLjkgMzYuMmwtOS4zIDI4LjJjLTMgOS0uNSAxOSA3LjEgMjQuN2M0LjcgMy41IDkuNSA2LjggMTQuNiA5LjhsNS40IDMuMWM1IDIuOCAxMC4yIDUuMyAxNS41IDcuNmM4LjcgMy43IDE4LjYgLjkgMjUtNi4ybDE5LjgtMjIuMmM2LjggMS4xIDEzLjggMS43IDIwLjkgMS43czE0LjEtLjYgMjAuOS0xLjdsMTkuOCAyMi4yek00NjQgMzA0YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpcIl1cbn07XG52YXIgZmFDb2dzID0gZmFHZWFycztcbnZhciBmYVdhcmVob3VzZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3YXJlaG91c2UnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY0OTRcIiwgXCJNMCA0ODhWMTcxLjNjMC0yNi4yIDE1LjktNDkuNyA0MC4yLTU5LjRMMzA4LjEgNC44YzcuNi0zLjEgMTYuMS0zLjEgMjMuOCAwTDU5OS44IDExMS45YzI0LjMgOS43IDQwLjIgMzMuMyA0MC4yIDU5LjRWNDg4YzAgMTMuMy0xMC43IDI0LTI0IDI0SDU2OGMtMTMuMyAwLTI0LTEwLjctMjQtMjRWMjI0YzAtMTcuNy0xNC4zLTMyLTMyLTMySDEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJWNDg4YzAgMTMuMy0xMC43IDI0LTI0IDI0SDI0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHptNDg4IDI0bC0zMzYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRWNDMySDUxMmwwIDU2YzAgMTMuMy0xMC43IDI0LTI0IDI0ek0xMjggNDAwVjMzNkg1MTJ2NjRIMTI4em0wLTk2VjIyNEg1MTJsMCA4MEgxMjh6XCJdXG59O1xudmFyIGZhQXJyb3dVcFJpZ2h0RG90cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy11cC1yaWdodC1kb3RzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGI3XCIsIFwiTTE2MCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDUwLjdMOS40IDI2NS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDI1NiAxMDkuM1YxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMkgxNjB6TTU3NiA4MGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek00NDggMjA4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTQwMCAzODRhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em00OCA4MGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwem0xMjggMGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek0yNzIgMzg0YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptNDggODBhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNMTQ0IDUxMmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTU3NiAzMzZhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHptLTQ4LTgwYTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpcIl1cbn07XG52YXIgZmFTcGxvdGNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NwbG90Y2gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1YmNcIiwgXCJNMjA4LjUgNjIuM2wyOC4xLTM2LjlDMjQ4LjggOS40IDI2Ny44IDAgMjg4IDBjMjguNSAwIDUzLjYgMTguNyA2MS44IDQ2bDE3LjggNTkuNGMxMC4zIDM0LjQgMzYuMSA2MiA2OS44IDc0LjZsMzkuOCAxNC45YzIwLjkgNy45IDM0LjggMjcuOSAzNC44IDUwLjJjMCAxNi45LTcuOSAzMi44LTIxLjUgNDIuOWwtNjcuMyA1MC41Yy0yNC4zIDE4LjItMzcuMiA0Ny45LTMzLjggNzguMWwyLjUgMjIuN2M0LjMgMzguNy0yNiA3Mi42LTY1IDcyLjZjLTE0LjggMC0yOS4zLTUuMS00MC44LTE0LjNsLTU1LjQtNDQuM2MtNC41LTMuNi05LjMtNi43LTE0LjUtOS4yYy0xNS44LTcuOS0zMy43LTEwLjQtNTEtNy4zTDgyLjQgNDUxLjlDNDcuOCA0NTguMiAxNiA0MzEuNiAxNiAzOTYuNWMwLTEzLjIgNC43LTI2IDEzLjEtMzYuMmwxMS4yLTEzLjRjMTQuNi0xNy40IDIyLjYtMzkuNCAyMi42LTYyLjFjMC0xOC44LTUuNS0zNy4yLTE1LjgtNTNMOC44IDE3My41QzMuMSAxNjQuNyAwIDE1NC40IDAgMTQzLjljMC0zMy40IDMwLjEtNTguOCA2My01My4ybDUxLjMgOC43YzM1LjkgNi4xIDcyLjItOC4yIDk0LjItMzcuMXpcIl1cbn07XG52YXIgZmFGYWNlR3JpbkhlYXJ0cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWdyaW4taGVhcnRzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTI1LCBcImdyaW4taGVhcnRzXCJdLCBcImY1ODRcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTM4OC4xIDMxMi44YzEyLjMtMy44IDI0LjMgNi45IDE5LjMgMTguN0MzODIuNCAzOTAuNiAzMjQuMiA0MzIgMjU2LjMgNDMycy0xMjYuMi00MS40LTE1MS4xLTEwMC41Yy01LTExLjggNy0yMi41IDE5LjMtMTguN2MzOS43IDEyLjIgODQuNSAxOSAxMzEuOCAxOXM5Mi4xLTYuOCAxMzEuOC0xOXpNMTk5LjMgMTI5LjFjMTcuOCA0LjggMjguNCAyMy4xIDIzLjYgNDAuOGwtMTcuNCA2NWMtMi4zIDguNS0xMS4xIDEzLjYtMTkuNiAxMS4zbC02NS4xLTE3LjRjLTE3LjgtNC44LTI4LjQtMjMuMS0yMy42LTQwLjhzMjMuMS0yOC40IDQwLjgtMjMuNmwxNi4xIDQuMyA0LjMtMTYuMWM0LjgtMTcuOCAyMy4xLTI4LjQgNDAuOC0yMy42em0xNTQuMyAyMy42bDQuMyAxNi4xIDE2LjEtNC4zYzE3LjgtNC44IDM2LjEgNS44IDQwLjggMjMuNnMtNS44IDM2LjEtMjMuNiA0MC44bC02NS4xIDE3LjRjLTguNSAyLjMtMTcuMy0yLjgtMTkuNi0xMS4zbC0xNy40LTY1Yy00LjgtMTcuOCA1LjgtMzYuMSAyMy42LTQwLjhzMzYuMSA1LjggNDAuOSAyMy42elwiXVxufTtcbnZhciBmYUdyaW5IZWFydHMgPSBmYUZhY2VHcmluSGVhcnRzO1xudmFyIGZhRGljZUZvdXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGljZS1mb3VyJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbOTg1OV0sIFwiZjUyNFwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMySDM4NGMzNS4zIDAgNjQgMjguNyA2NCA2NFY0MTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0Vjk2em0xNjAgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMTI4IDM4NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTM1MiAxNjBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzIwIDM4NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xudmFyIGZhU2ltQ2FyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaW0tY2FyZCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjdjNFwiLCBcIk02NCAwSDI0Mi43YzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDk2YzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNWNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY2NEMwIDI4LjcgMjguNyAwIDY0IDB6TTk2IDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2MzJoNjRWMTkySDk2ek02NCAzNTJoODAgOTYgODBWMjg4SDI0MCAxNDQgNjR2NjR6TTMyMCAyMjRjMC0xNy43LTE0LjMtMzItMzItMzJIMjU2djY0aDY0VjIyNHpNMTYwIDE5MnY2NGg2NFYxOTJIMTYwek0yODggNDQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM4NEgyNTZ2NjRoMzJ6TTE2MCAzODR2NjRoNjRWMzg0SDE2MHpNNjQgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMyaDMyVjM4NEg2NHYzMnpcIl1cbn07XG52YXIgZmFUcmFuc2dlbmRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cmFuc2dlbmRlcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzk4OTUsIFwidHJhbnNnZW5kZXItYWx0XCJdLCBcImYyMjVcIiwgXCJNMTEyIDBjNi41IDAgMTIuMyAzLjkgMTQuOCA5LjlzMS4xIDEyLjktMy41IDE3LjRsLTMxIDMxTDExMiA3OC4xbDctN2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTcgNyAxNS4yIDE1LjJDMTg3LjcgMTA3LjYgMjIwLjUgOTYgMjU2IDk2czY4LjMgMTEuNiA5NC45IDMxLjJsNjguOC02OC44LTMxLTMxYy00LjYtNC42LTUuOS0xMS41LTMuNS0xNy40czguMy05LjkgMTQuOC05LjloOTZjOC44IDAgMTYgNy4yIDE2IDE2djk2YzAgNi41LTMuOSAxMi4zLTkuOSAxNC44cy0xMi45IDEuMS0xNy40LTMuNWwtMzEtMzEtNjguOCA2OC44QzQwNC40IDE4Ny43IDQxNiAyMjAuNSA0MTYgMjU2YzAgODAuMi01OSAxNDYuNi0xMzYgMTU4LjJWNDMyaDE2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDI4MHY4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0di04SDIxNmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGgxNlY0MTQuMkMxNTUgNDAyLjYgOTYgMzM2LjIgOTYgMjU2YzAtMzUuNSAxMS42LTY4LjMgMzEuMi05NC45TDExMiAxNDUuOWwtNyA3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDctN0w1OC4zIDkyLjNsLTMxIDMxYy00LjYgNC42LTExLjUgNS45LTE3LjQgMy41UzAgMTE4LjUgMCAxMTJWMTZDMCA3LjIgNy4yIDAgMTYgMGg5NnpNMzUyIDI1NmE5NiA5NiAwIDEgMCAtMTkyIDAgOTYgOTYgMCAxIDAgMTkyIDB6XCJdXG59O1xudmFyIGZhVHJhbnNnZW5kZXJBbHQgPSBmYVRyYW5zZ2VuZGVyO1xudmFyIGZhTWVyY3VyeSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtZXJjdXJ5JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbOTc5MV0sIFwiZjIyM1wiLCBcIk03Mi4xIDdDODUuOC00IDEwNi0xLjggMTE3IDEyYzE3LjYgMjIgNDQuNyAzNiA3NSAzNnM1Ny4zLTE0IDc1LTM2YzExLjEtMTMuOCAzMS4yLTE2IDQ1LTVzMTYgMzEuMiA1IDQ1Yy03LjggOS43LTE2LjYgMTguNC0yNi40IDI2LjFDMzM3LjMgMTA5LjcgMzY4IDE2My4zIDM2OCAyMjRjMCA4OS4xLTY2LjIgMTYyLjctMTUyIDE3NC40VjQyNGgzMmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEgyMTZ2MTZjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWNDcySDEzNmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGgzMlYzOTguNEM4Mi4yIDM4Ni43IDE2IDMxMy4xIDE2IDIyNGMwLTYwLjcgMzAuNy0xMTQuMyA3Ny41LTE0NS45QzgzLjcgNzAuNSA3NC45IDYxLjcgNjcuMSA1MmMtMTEuMS0xMy44LTguOC0zMy45IDUtNDV6TTgwIDIyNGExMTIgMTEyIDAgMSAwIDIyNCAwQTExMiAxMTIgMCAxIDAgODAgMjI0elwiXVxufTtcbnZhciBmYUFycm93VHVybkRvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdHVybi1kb3duJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXCJsZXZlbC1kb3duXCJdLCBcImYxNDlcIiwgXCJNMzIgNjRDMTQuMyA2NCAwIDQ5LjcgMCAzMlMxNC4zIDAgMzIgMGw5NiAwYzUzIDAgOTYgNDMgOTYgOTZsMCAzMDYuNyA3My40LTczLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2wtMTI4IDEyOGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTEyOC0xMjhjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMMTYwIDQwMi43IDE2MCA5NmMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiA2NHpcIl1cbn07XG52YXIgZmFMZXZlbERvd24gPSBmYUFycm93VHVybkRvd247XG52YXIgZmFQZXJzb25GYWxsaW5nQnVyc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWZhbGxpbmctYnVyc3QnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NDdcIiwgXCJNMjU2IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgOS44YzAgMzktMjMuNyA3NC01OS45IDg4LjRDNzEuNiAxNTQuNSAzMiAyMTMgMzIgMjc4LjJWMzUyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC03My44YzAtMTAgMS42LTE5LjggNC41LTI5TDI2MS4xIDQ5Ny40YzkuNiAxNC44IDI5LjQgMTkuMSA0NC4zIDkuNXMxOS4xLTI5LjQgOS41LTQ0LjNMMjIyLjYgMzIwSDIyNGw4MCAwIDM4LjQgNTEuMmMxMC42IDE0LjEgMzAuNyAxNyA0NC44IDYuNHMxNy0zMC43IDYuNC00NC44bC00My4yLTU3LjZDMzQxLjMgMjYzLjEgMzI3LjEgMjU2IDMxMiAyNTZsLTcxLjUgMC01Ni44LTgwLjItLjItLjNjNDQuNy0yOSA3Mi41LTc5IDcyLjUtMTMzLjZsMC05Ljh6TTk2IDgwQTQ4IDQ4IDAgMSAwIDAgODBhNDggNDggMCAxIDAgOTYgMHpNNDY0IDI4Ni4xbDU4LjYgNTMuOWM0LjggNC40IDExLjkgNS41IDE3LjggMi42czkuNS05IDktMTUuNWwtNS42LTc5LjQgNzguNy0xMi4yYzYuNS0xIDExLjctNS45IDEzLjEtMTIuMnMtMS4xLTEzLTYuNS0xNi43bC02NS42LTQ1LjFMNjAzIDkyLjJjMy4zLTUuNyAyLjctMTIuOC0xLjQtMTcuOXMtMTAuOS03LjItMTcuMi01LjNMNTA4LjMgOTIuMWwtMjkuNC03NEM0NzYuNCAxMiA0NzAuNiA4IDQ2NCA4cy0xMi40IDQtMTQuOSAxMC4xbC0yOS40IDc0TDM0My42IDY4LjljLTYuMy0xLjktMTMuMSAuMi0xNy4yIDUuM3MtNC42IDEyLjItMS40IDE3LjlsMzkuNSA2OS4xLTY1LjYgNDUuMWMtNS40IDMuNy04IDEwLjMtNi41IDE2LjdjLjEgLjMgLjEgLjYgLjIgLjhsMTkuNCAwYzIwLjEgMCAzOS4yIDcuNSA1My44IDIwLjhsMTguNCAyLjlMMzgzIDI2NS4zbDM2LjIgNDguM2MyLjEgMi44IDMuOSA1LjcgNS41IDguNkw0NjQgMjg2LjF6XCJdXG59O1xudmFyIGZhQXdhcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXdhcmQnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImY1NTlcIiwgXCJNMTczLjggNS41YzExLTcuMyAyNS40LTcuMyAzNi40IDBMMjI4IDE3LjJjNiAzLjkgMTMgNS44IDIwLjEgNS40bDIxLjMtMS4zYzEzLjItLjggMjUuNiA2LjQgMzEuNSAxOC4ybDkuNiAxOS4xYzMuMiA2LjQgOC40IDExLjUgMTQuNyAxNC43TDM0NC41IDgzYzExLjggNS45IDE5IDE4LjMgMTguMiAzMS41bC0xLjMgMjEuM2MtLjQgNy4xIDEuNSAxNC4yIDUuNCAyMC4xbDExLjggMTcuOGM3LjMgMTEgNy4zIDI1LjQgMCAzNi40TDM2Ni44IDIyOGMtMy45IDYtNS44IDEzLTUuNCAyMC4xbDEuMyAyMS4zYy44IDEzLjItNi40IDI1LjYtMTguMiAzMS41bC0xOS4xIDkuNmMtNi40IDMuMi0xMS41IDguNC0xNC43IDE0LjdMMzAxIDM0NC41Yy01LjkgMTEuOC0xOC4zIDE5LTMxLjUgMTguMmwtMjEuMy0xLjNjLTcuMS0uNC0xNC4yIDEuNS0yMC4xIDUuNGwtMTcuOCAxMS44Yy0xMSA3LjMtMjUuNCA3LjMtMzYuNCAwTDE1NiAzNjYuOGMtNi0zLjktMTMtNS44LTIwLjEtNS40bC0yMS4zIDEuM2MtMTMuMiAuOC0yNS42LTYuNC0zMS41LTE4LjJsLTkuNi0xOS4xYy0zLjItNi40LTguNC0xMS41LTE0LjctMTQuN0wzOS41IDMwMWMtMTEuOC01LjktMTktMTguMy0xOC4yLTMxLjVsMS4zLTIxLjNjLjQtNy4xLTEuNS0xNC4yLTUuNC0yMC4xTDUuNSAyMTAuMmMtNy4zLTExLTcuMy0yNS40IDAtMzYuNEwxNy4yIDE1NmMzLjktNiA1LjgtMTMgNS40LTIwLjFsLTEuMy0yMS4zYy0uOC0xMy4yIDYuNC0yNS42IDE4LjItMzEuNWwxOS4xLTkuNkM2NSA3MC4yIDcwLjIgNjUgNzMuNCA1OC42TDgzIDM5LjVjNS45LTExLjggMTguMy0xOSAzMS41LTE4LjJsMjEuMyAxLjNjNy4xIC40IDE0LjItMS41IDIwLjEtNS40TDE3My44IDUuNXpNMjcyIDE5MmE4MCA4MCAwIDEgMCAtMTYwIDAgODAgODAgMCAxIDAgMTYwIDB6TTEuMyA0NDEuOEw0NC40IDMzOS4zYy4yIC4xIC4zIC4yIC40IC40bDkuNiAxOS4xYzExLjcgMjMuMiAzNiAzNy4zIDYyIDM1LjhsMjEuMy0xLjNjLjIgMCAuNSAwIC43IC4ybDE3LjggMTEuOGM1LjEgMy4zIDEwLjUgNS45IDE2LjEgNy43bC0zNy42IDg5LjNjLTIuMyA1LjUtNy40IDkuMi0xMy4zIDkuN3MtMTEuNi0yLjItMTQuOC03LjJMNzQuNCA0NTUuNWwtNTYuMSA4LjNjLTUuNyAuOC0xMS40LTEuNS0xNS02cy00LjMtMTAuNy0yLjEtMTZ6bTI0OCA2MC40TDIxMS43IDQxM2M1LjYtMS44IDExLTQuMyAxNi4xLTcuN2wxNy44LTExLjhjLjItLjEgLjQtLjIgLjctLjJsMjEuMyAxLjNjMjYgMS41IDUwLjMtMTIuNiA2Mi0zNS44bDkuNi0xOS4xYy4xLS4yIC4yLS4zIC40LS40bDQzLjIgMTAyLjVjMi4yIDUuMyAxLjQgMTEuNC0yLjEgMTZzLTkuMyA2LjktMTUgNmwtNTYuMS04LjMtMzIuMiA0OS4yYy0zLjIgNS04LjkgNy43LTE0LjggNy4ycy0xMS00LjMtMTMuMy05Ljd6XCJdXG59O1xudmFyIGZhVGlja2V0U2ltcGxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RpY2tldC1zaW1wbGUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInRpY2tldC1hbHRcIl0sIFwiZjNmZlwiLCBcIk0wIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NEg1MTJjMzUuMyAwIDY0IDI4LjcgNjQgNjR2NjRjMCA4LjgtNy40IDE1LjctMTUuNyAxOC42QzU0MS41IDIxNy4xIDUyOCAyMzUgNTI4IDI1NnMxMy41IDM4LjkgMzIuMyA0NS40YzguMyAyLjkgMTUuNyA5LjggMTUuNyAxOC42djY0YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFYzMjBjMC04LjggNy40LTE1LjcgMTUuNy0xOC42QzM0LjUgMjk0LjkgNDggMjc3IDQ4IDI1NnMtMTMuNS0zOC45LTMyLjMtNDUuNEM3LjQgMjA3LjcgMCAyMDAuOCAwIDE5MlYxMjh6XCJdXG59O1xudmFyIGZhVGlja2V0QWx0ID0gZmFUaWNrZXRTaW1wbGU7XG52YXIgZmFCdWlsZGluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidWlsZGluZycsXG4gIGljb246IFszODQsIDUxMiwgWzEyNzk3MCwgNjE2ODddLCBcImYxYWRcIiwgXCJNNDggMEMyMS41IDAgMCAyMS41IDAgNDhWNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDk2VjQzMmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4djgwaDk2YzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDQ4ek02NCAyNDBjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIODBjLTguOCAwLTE2LTcuMi0xNi0xNlYyNDB6bTExMi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDE3NmMtOC44IDAtMTYtNy4yLTE2LTE2VjI0MGMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDI3MmMtOC44IDAtMTYtNy4yLTE2LTE2VjI0MHpNODAgOTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjExMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDE3NmMtOC44IDAtMTYtNy4yLTE2LTE2VjExMnpNMjcyIDk2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMjcyYy04LjggMC0xNi03LjItMTYtMTZWMTEyYzAtOC44IDcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFBbmdsZXNMZWZ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2FuZ2xlcy1sZWZ0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTcxLCBcImFuZ2xlLWRvdWJsZS1sZWZ0XCJdLCBcImYxMDBcIiwgXCJNNDEuNCAyMzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsMTYwIDE2MGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDEwOS4zIDI1NiAyNDYuNiAxMTguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMTYwIDE2MHptMzUyLTE2MGwtMTYwIDE2MGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsMTYwIDE2MGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDMwMS4zIDI1NiA0MzguNiAxMTguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMHpcIl1cbn07XG52YXIgZmFBbmdsZURvdWJsZUxlZnQgPSBmYUFuZ2xlc0xlZnQ7XG52YXIgZmFRcmNvZGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncXJjb2RlJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMDI5XCIsIFwiTTAgODBDMCA1My41IDIxLjUgMzIgNDggMzJoOTZjMjYuNSAwIDQ4IDIxLjUgNDggNDh2OTZjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4Vjgwek02NCA5NnY2NGg2NFY5Nkg2NHpNMCAzMzZjMC0yNi41IDIxLjUtNDggNDgtNDhoOTZjMjYuNSAwIDQ4IDIxLjUgNDggNDh2OTZjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjMzNnptNjQgMTZ2NjRoNjRWMzUySDY0ek0zMDQgMzJoOTZjMjYuNSAwIDQ4IDIxLjUgNDggNDh2OTZjMCAyNi41LTIxLjUgNDgtNDggNDhIMzA0Yy0yNi41IDAtNDgtMjEuNS00OC00OFY4MGMwLTI2LjUgMjEuNS00OCA0OC00OHptODAgNjRIMzIwdjY0aDY0Vjk2ek0yNTYgMzA0YzAtOC44IDcuMi0xNiAxNi0xNmg2NGM4LjggMCAxNiA3LjIgMTYgMTZzNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNnM3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2djk2YzAgOC44LTcuMiAxNi0xNiAxNkgzNjhjLTguOCAwLTE2LTcuMi0xNi0xNnMtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZ2NjRjMCA4LjgtNy4yIDE2LTE2IDE2SDI3MmMtOC44IDAtMTYtNy4yLTE2LTE2VjMwNHpNMzY4IDQ4MGExNiAxNiAwIDEgMSAwLTMyIDE2IDE2IDAgMSAxIDAgMzJ6bTY0IDBhMTYgMTYgMCAxIDEgMC0zMiAxNiAxNiAwIDEgMSAwIDMyelwiXVxufTtcbnZhciBmYUNsb2NrUm90YXRlTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbG9jay1yb3RhdGUtbGVmdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiaGlzdG9yeVwiXSwgXCJmMWRhXCIsIFwiTTc1IDc1TDQxIDQxQzI1LjkgMjUuOSAwIDM2LjYgMCA1Ny45VjE2OGMwIDEzLjMgMTAuNyAyNCAyNCAyNEgxMzQuMWMyMS40IDAgMzIuMS0yNS45IDE3LTQxbC0zMC44LTMwLjhDMTU1IDg1LjUgMjAzIDY0IDI1NiA2NGMxMDYgMCAxOTIgODYgMTkyIDE5MnMtODYgMTkyLTE5MiAxOTJjLTQwLjggMC03OC42LTEyLjctMTA5LjctMzQuNGMtMTQuNS0xMC4xLTM0LjQtNi42LTQ0LjYgNy45cy02LjYgMzQuNCA3LjkgNDQuNkMxNTEuMiA0OTUgMjAxLjcgNTEyIDI1NiA1MTJjMTQxLjQgMCAyNTYtMTE0LjYgMjU2LTI1NlMzOTcuNCAwIDI1NiAwQzE4NS4zIDAgMTIxLjMgMjguNyA3NSA3NXptMTgxIDUzYy0xMy4zIDAtMjQgMTAuNy0yNCAyNFYyNTZjMCA2LjQgMi41IDEyLjUgNyAxN2w3MiA3MmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTY1LTY1VjE1MmMwLTEzLjMtMTAuNy0yNC0yNC0yNHpcIl1cbn07XG52YXIgZmFIaXN0b3J5ID0gZmFDbG9ja1JvdGF0ZUxlZnQ7XG52YXIgZmFGYWNlR3JpbkJlYW1Td2VhdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWdyaW4tYmVhbS1zd2VhdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODUxNywgXCJncmluLWJlYW0tc3dlYXRcIl0sIFwiZjU4M1wiLCBcIk00NzYuOCAxMjYuM2MtNC4xIDEuMS04LjQgMS43LTEyLjggMS43Yy0yNi41IDAtNDgtMjEtNDgtNDdjMC01IDEuOC0xMS4zIDQuNi0xOC4xYy4zLS43IC42LTEuNCAuOS0yLjFjOS0yMC4yIDI2LjUtNDQuOSAzNi01Ny41YzMuMi00LjQgOS42LTQuNCAxMi44IDBDNDgzLjQgMjAuNiA1MTIgNjEgNTEyIDgxYzAgMjEuNy0xNC45IDM5LjgtMzUuMiA0NS4zek0yNTYgMGM1MS40IDAgOTkuMyAxNS4yIDEzOS40IDQxLjJjLTEuNSAzLjEtMyA2LjItNC4zIDkuM2MtMy40IDgtNy4xIDE5LTcuMSAzMC41YzAgNDQuMyAzNi42IDc5IDgwIDc5YzkuNiAwIDE4LjgtMS43IDI3LjQtNC44YzEzLjMgMzAuOSAyMC42IDY1IDIwLjYgMTAwLjhjMCAxNDEuNC0xMTQuNiAyNTYtMjU2IDI1NlMwIDM5Ny40IDAgMjU2UzExNC42IDAgMjU2IDB6TTM4OC4xIDMxMi44Yy0zOS43IDEyLjItODQuNSAxOS0xMzEuOCAxOXMtOTIuMS02LjgtMTMxLjgtMTljLTEyLjMtMy44LTI0LjMgNi45LTE5LjMgMTguN2MyNSA1OS4xIDgzLjIgMTAwLjUgMTUxLjEgMTAwLjVzMTI2LjItNDEuNCAxNTEuMS0xMDAuNWM1LTExLjgtNy0yMi41LTE5LjMtMTguN3ptLTE3MC41LTg0bDAgMCAwIDBjMi4xIDIuOCA1LjcgMy45IDguOSAyLjhzNS41LTQuMSA1LjUtNy42YzAtMTcuOS02LjctMzUuNi0xNi42LTQ4LjhjLTkuOC0xMy0yMy45LTIzLjItMzkuNC0yMy4ycy0yOS42IDEwLjItMzkuNCAyMy4yQzEyNi43IDE4OC40IDEyMCAyMDYuMSAxMjAgMjI0YzAgMy40IDIuMiA2LjUgNS41IDcuNnM2LjkgMCA4LjktMi44bDAgMCAwIDAgMCAwIC4yLS4yYy4yLS4yIC40LS41IC43LS45Yy42LS44IDEuNi0yIDIuOC0zLjRjMi41LTIuOCA2LTYuNiAxMC4yLTEwLjNjOC44LTcuOCAxOC44LTE0IDI3LjctMTRzMTguOSA2LjIgMjcuNyAxNGM0LjIgMy43IDcuNyA3LjUgMTAuMiAxMC4zYzEuMiAxLjQgMi4yIDIuNiAyLjggMy40Yy4zIC40IC42IC43IC43IC45bC4yIC4yIDAgMCAwIDB6bTE2MCAwbDAgMCAwIDAgMCAwYzIuMSAyLjggNS43IDMuOSA4LjkgMi44czUuNS00LjEgNS41LTcuNmMwLTE3LjktNi43LTM1LjYtMTYuNi00OC44Yy05LjgtMTMtMjMuOS0yMy4yLTM5LjQtMjMuMnMtMjkuNiAxMC4yLTM5LjQgMjMuMkMyODYuNyAxODguNCAyODAgMjA2LjEgMjgwIDIyNGMwIDMuNCAyLjIgNi41IDUuNSA3LjZzNi45IDAgOC45LTIuOGwwIDAgMCAwIDAgMCAuMi0uMmMuMi0uMiAuNC0uNSAuNy0uOWMuNi0uOCAxLjYtMiAyLjgtMy40YzIuNS0yLjggNi02LjYgMTAuMi0xMC4zYzguOC03LjggMTguOC0xNCAyNy43LTE0czE4LjkgNi4yIDI3LjcgMTRjNC4yIDMuNyA3LjcgNy41IDEwLjIgMTAuM2MxLjIgMS40IDIuMiAyLjYgMi44IDMuNGMuMyAuNCAuNiAuNyAuNyAuOWwuMiAuMiAwIDB6XCJdXG59O1xudmFyIGZhR3JpbkJlYW1Td2VhdCA9IGZhRmFjZUdyaW5CZWFtU3dlYXQ7XG52YXIgZmFGaWxlRXhwb3J0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtZXhwb3J0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJhcnJvdy1yaWdodC1mcm9tLWZpbGVcIl0sIFwiZjU2ZVwiLCBcIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEgyMjRWMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMySDM4NFYyODhIMjE2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0SDM4NFY0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjY0ek0zODQgMzM2VjI4OEg0OTQuMWwtMzktMzljLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw4MCA4MGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtODAgODBjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzktMzlIMzg0em0wLTIwOEgyNTZWMEwzODQgMTI4elwiXVxufTtcbnZhciBmYUFycm93UmlnaHRGcm9tRmlsZSA9IGZhRmlsZUV4cG9ydDtcbnZhciBmYVNoaWVsZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaGllbGQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg3MzcsIFwic2hpZWxkLWJsYW5rXCJdLCBcImYxMzJcIiwgXCJNMjU2IDBjNC42IDAgOS4yIDEgMTMuNCAyLjlMNDU3LjcgODIuOGMyMiA5LjMgMzguNCAzMSAzOC4zIDU3LjJjLS41IDk5LjItNDEuMyAyODAuNy0yMTMuNiAzNjMuMmMtMTYuNyA4LTM2LjEgOC01Mi44IDBDNTcuMyA0MjAuNyAxNi41IDIzOS4yIDE2IDE0MGMtLjEtMjYuMiAxNi4zLTQ3LjkgMzguMy01Ny4yTDI0Mi43IDIuOUMyNDYuOCAxIDI1MS40IDAgMjU2IDB6XCJdXG59O1xudmFyIGZhU2hpZWxkQmxhbmsgPSBmYVNoaWVsZDtcbnZhciBmYUFycm93VXBTaG9ydFdpZGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdXAtc2hvcnQtd2lkZScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wic29ydC1hbW91bnQtdXAtYWx0XCJdLCBcImY4ODVcIiwgXCJNMTUxLjYgNDIuNEMxNDUuNSAzNS44IDEzNyAzMiAxMjggMzJzLTE3LjUgMy44LTIzLjYgMTAuNGwtODggOTZjLTExLjkgMTMtMTEuMSAzMy4zIDIgNDUuMnMzMy4zIDExLjEgNDUuMi0yTDk2IDE0Ni4zVjQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjE0Ni4zbDMyLjQgMzUuNGMxMS45IDEzIDMyLjIgMTMuOSA0NS4yIDJzMTMuOS0zMi4yIDItNDUuMmwtODgtOTZ6TTMyMCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmgzMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMjB6bTAgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDk2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDMyMHptMCAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDMyMHptMCAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINTQ0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDMyMHpcIl1cbn07XG52YXIgZmFTb3J0QW1vdW50VXBBbHQgPSBmYUFycm93VXBTaG9ydFdpZGU7XG52YXIgZmFIb3VzZU1lZGljYWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtbWVkaWNhbCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTNiMlwiLCBcIk01NDMuOCAyODcuNmMxNyAwIDMyLTE0IDMyLTMyLjFjMS05LTMtMTctMTEtMjRMMzA5LjUgN2MtNi01LTE0LTctMjEtN3MtMTUgMS0yMiA4TDEwIDIzMS41Yy03IDctMTAgMTUtMTAgMjRjMCAxOCAxNCAzMi4xIDMyIDMyLjFoMzJWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDQ0OC41YzM1LjUgMCA2NC4yLTI4LjggNjQtNjQuM2wtLjctMTYwLjJoMzJ6TTI1NiAyMDhjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnY0OGg0OGM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDMyMHY0OGMwIDguOC03LjIgMTYtMTYgMTZIMjcyYy04LjggMC0xNi03LjItMTYtMTZWMzIwSDIwOGMtOC44IDAtMTYtNy4yLTE2LTE2VjI3MmMwLTguOCA3LjItMTYgMTYtMTZoNDhWMjA4elwiXVxufTtcbnZhciBmYUdvbGZCYWxsVGVlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dvbGYtYmFsbC10ZWUnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImdvbGYtYmFsbFwiXSwgXCJmNDUwXCIsIFwiTTM4NCAxOTJjMCA2Ni44LTM0LjEgMTI1LjYtODUuOCAxNjBIODUuOEMzNC4xIDMxNy42IDAgMjU4LjggMCAxOTJDMCA4NiA4NiAwIDE5MiAwUzM4NCA4NiAzODQgMTkyek0yNDIuMSAyNTYuNmMwIDE4LjUtMTUgMzMuNS0zMy41IDMzLjVjLTQuOSAwLTkuMSA1LjEtNS40IDguNGM1LjkgNS4yIDEzLjcgOC40IDIyLjEgOC40YzE4LjUgMCAzMy41LTE1IDMzLjUtMzMuNWMwLTguNS0zLjItMTYuMi04LjQtMjIuMWMtMy4zLTMuNy04LjQgLjUtOC40IDUuNHptLTUyLjMtNDkuM2MtNC45IDAtOS4xIDUuMS01LjQgOC40YzUuOSA1LjIgMTMuNyA4LjQgMjIuMSA4LjRjMTguNSAwIDMzLjUtMTUgMzMuNS0zMy41YzAtOC41LTMuMi0xNi4yLTguNC0yMi4xYy0zLjMtMy43LTguNCAuNS04LjQgNS40YzAgMTguNS0xNSAzMy41LTMzLjUgMzMuNXptMTEzLjUtMTcuNWMwIDE4LjUtMTUgMzMuNS0zMy41IDMzLjVjLTQuOSAwLTkuMSA1LjEtNS40IDguNGM1LjkgNS4yIDEzLjcgOC40IDIyLjEgOC40YzE4LjUgMCAzMy41LTE1IDMzLjUtMzMuNWMwLTguNS0zLjItMTYuMi04LjQtMjIuMWMtMy4zLTMuNy04LjQgLjUtOC40IDUuNHpNOTYgNDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMyaDY0IDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDI0MGMtOC44IDAtMTYgNy4yLTE2IDE2djE2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjQ2NGMwLTguOC03LjItMTYtMTYtMTZIMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpcIl1cbn07XG52YXIgZmFHb2xmQmFsbCA9IGZhR29sZkJhbGxUZWU7XG52YXIgZmFDaXJjbGVDaGV2cm9uTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtY2hldnJvbi1sZWZ0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJjaGV2cm9uLWNpcmNsZS1sZWZ0XCJdLCBcImYxMzdcIiwgXCJNNTEyIDI1NkEyNTYgMjU2IDAgMSAwIDAgMjU2YTI1NiAyNTYgMCAxIDAgNTEyIDB6TTI3MSAxMzVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC04NyA4NyA4NyA4N2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDE2NyAyNzNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45TDI3MSAxMzV6XCJdXG59O1xudmFyIGZhQ2hldnJvbkNpcmNsZUxlZnQgPSBmYUNpcmNsZUNoZXZyb25MZWZ0O1xudmFyIGZhSG91c2VDaGltbmV5V2luZG93ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLWNoaW1uZXktd2luZG93JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlMDBkXCIsIFwiTTU3NS44IDI1NS41YzAgMTgtMTUgMzIuMS0zMiAzMi4xaC0zMmwuNyAxNjAuMmMuMiAzNS41LTI4LjUgNjQuMy02NCA2NC4zSDEyOC4xYy0zNS4zIDAtNjQtMjguNy02NC02NFYyODcuNkgzMmMtMTggMC0zMi0xNC0zMi0zMi4xYzAtOSAzLTE3IDEwLTI0TDI2Ni40IDhjNy03IDE1LTggMjItOHMxNSAyIDIxIDdMNDE2IDEwMC43VjY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyaDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjE4NWw1Mi44IDQ2LjRjOCA3IDEyIDE1IDExIDI0ek0yNDggMTkyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHY4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNGg4MGMxMy4zIDAgMjQtMTAuNyAyNC0yNFYyMTZjMC0xMy4zLTEwLjctMjQtMjQtMjRIMjQ4elwiXVxufTtcbnZhciBmYVBlbk5pYiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZW4tbmliJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTAwMDFdLCBcImY1YWRcIiwgXCJNMzY4LjQgMTguM0wzMTIuNyA3NC4xIDQzNy45IDE5OS4zbDU1LjctNTUuN2MyMS45LTIxLjkgMjEuOS01Ny4zIDAtNzkuMkw0NDcuNiAxOC4zYy0yMS45LTIxLjktNTcuMy0yMS45LTc5LjIgMHpNMjg4IDk0LjZsLTkuMiAyLjhMMTM0LjcgMTQwLjZjLTE5LjkgNi0zNS43IDIxLjItNDIuMyA0MUwzLjggNDQ1LjhjLTMuOCAxMS4zLTEgMjMuOSA3LjMgMzIuNEwxNjQuNyAzMjQuN2MtMy02LjMtNC43LTEzLjMtNC43LTIwLjdjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OGMtNy40IDAtMTQuNC0xLjctMjAuNy00LjdMMzMuNyA1MDAuOWM4LjYgOC4zIDIxLjEgMTEuMiAzMi40IDcuM2wyNjQuMy04OC42YzE5LjctNi42IDM1LTIyLjQgNDEtNDIuM2w0My4yLTE0NC4xIDIuOC05LjJMMjg4IDk0LjZ6XCJdXG59O1xudmFyIGZhVGVudEFycm93VHVybkxlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGVudC1hcnJvdy10dXJuLWxlZnQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1ODBcIiwgXCJNMTIwLjEgNDEuOGM5LjktOC45IDEwLjctMjQgMS44LTMzLjlTOTcuOC0yLjcgODcuOSA2LjJsLTgwIDcyQzIuOSA4Mi43IDAgODkuMiAwIDk2czIuOSAxMy4zIDcuOSAxNy44bDgwIDcyYzkuOSA4LjkgMjUgOC4xIDMzLjktMS44czguMS0yNS0xLjgtMzMuOUw4Ni41IDEyMCA0NTYgMTIwYzM5LjggMCA3MiAzMi4yIDcyIDcydjQwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWMTkyYzAtNjYuMy01My43LTEyMC0xMjAtMTIwTDg2LjUgNzJsMzMuNS0zMC4yek0zMDcuNCAxNjYuNWMtMTEuNS04LjctMjcuMy04LjctMzguOCAwbC0xNjggMTI4Yy02LjYgNS0xMSAxMi41LTEyLjMgMjAuN2wtMjQgMTYwYy0xLjQgOS4yIDEuMyAxOC42IDcuNCAyNS42Uzg2LjcgNTEyIDk2IDUxMkgyNDBoMTZjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzYxLjljMC01LjUgNC40LTkuOSA5LjktOS45YzMuNyAwIDcuMiAyLjEgOC44IDUuNWw2OC40IDEzNi44YzUuNCAxMC44IDE2LjUgMTcuNyAyOC42IDE3LjdINDY0aDE2YzkuMyAwIDE4LjItNC4xIDI0LjItMTEuMXM4LjgtMTYuNCA3LjQtMjUuNmwtMjQtMTYwYy0xLjItOC4yLTUuNi0xNS43LTEyLjMtMjAuN2wtMTY4LTEyOHpcIl1cbn07XG52YXIgZmFUZW50cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW50cycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU4MlwiLCBcIk0zOTYuNiA2LjVMMjM1LjggMTI5LjFjOS42IDEuOCAxOC45IDUuOCAyNyAxMmwxNjggMTI4YzEzLjIgMTAuMSAyMiAyNC45IDI0LjUgNDEuNGw2LjIgNDEuNUg2MDhjOS4zIDAgMTguMi00LjEgMjQuMi0xMS4xczguOC0xNi40IDcuNC0yNS42bC0yNC0xNjBjLTEuMi04LjItNS42LTE1LjctMTIuMy0yMC43bC0xNjgtMTI4Yy0xMS41LTguNy0yNy4zLTguNy0zOC44IDB6bS0xNTMuMiAxNjBjLTExLjUtOC43LTI3LjMtOC43LTM4LjggMGwtMTY4IDEyOGMtNi42IDUtMTEgMTIuNS0xMi4zIDIwLjdsLTI0IDE2MGMtMS40IDkuMiAxLjMgMTguNiA3LjQgMjUuNlMyMi43IDUxMiAzMiA1MTJIMTc2aDE2YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM2MS45YzAtNS41IDQuNC05LjkgOS45LTkuOWMzLjcgMCA3LjIgMi4xIDguOCA1LjVsNjguNCAxMzYuOGM1LjQgMTAuOCAxNi41IDE3LjcgMjguNiAxNy43SDQwMGgxNmM5LjMgMCAxOC4yLTQuMSAyNC4yLTExLjFzOC44LTE2LjQgNy40LTI1LjZsLTI0LTE2MGMtMS4yLTguMi01LjYtMTUuNy0xMi4zLTIwLjdsLTE2OC0xMjh6XCJdXG59O1xudmFyIGZhV2FuZE1hZ2ljID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dhbmQtbWFnaWMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcIm1hZ2ljXCJdLCBcImYwZDBcIiwgXCJNMTQuMSA0NjMuM2MtMTguNy0xOC43LTE4LjctNDkuMSAwLTY3LjlMMzk1LjQgMTQuMWMxOC43LTE4LjcgNDkuMS0xOC43IDY3LjkgMGwzNC42IDM0LjZjMTguNyAxOC43IDE4LjcgNDkuMSAwIDY3LjlMMTE2LjUgNDk3LjljLTE4LjcgMTguNy00OS4xIDE4LjctNjcuOSAwTDE0LjEgNDYzLjN6TTM0Ny42IDE4Ny42bDEwNS0xMDVMNDI5LjQgNTkuM2wtMTA1IDEwNSAyMy4zIDIzLjN6XCJdXG59O1xudmFyIGZhTWFnaWMgPSBmYVdhbmRNYWdpYztcbnZhciBmYURvZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkb2cnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjgwMjFdLCBcImY2ZDNcIiwgXCJNMzA5LjYgMTU4LjVMMzMyLjcgMTkuOEMzMzQuNiA4LjQgMzQ0LjUgMCAzNTYuMSAwYzcuNSAwIDE0LjUgMy41IDE5IDkuNUwzOTIgMzJoNTIuMWMxMi43IDAgMjQuOSA1LjEgMzMuOSAxNC4xTDQ5NiA2NGg1NmMxMy4zIDAgMjQgMTAuNyAyNCAyNHYyNGMwIDQ0LjItMzUuOCA4MC04MCA4MEg0NjQgNDQ4IDQyNi43bC01LjEgMzAuNS0xMTItNjR6TTQxNiAyNTYuMUw0MTYgNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMySDM1MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMzY0LjhjLTI0IDEyLjMtNTEuMiAxOS4yLTgwIDE5LjJzLTU2LTYuOS04MC0xOS4yVjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMkg5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMjQ5LjhjLTI4LjgtMTAuOS01MS40LTM1LjMtNTkuMi02Ni41TDEgMTY3LjhjLTQuMy0xNy4xIDYuMS0zNC41IDIzLjMtMzguOHMzNC41IDYuMSAzOC44IDIzLjNsMy45IDE1LjVDNzAuNSAxODIgODMuMyAxOTIgOTggMTkyaDMwIDE2SDMwMy44TDQxNiAyNTYuMXpNNDY0IDgwYTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6XCJdXG59O1xudmFyIGZhQ2Fycm90ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhcnJvdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyOTM2NV0sIFwiZjc4N1wiLCBcIk0zNDYuNyA2QzMzNy42IDE3IDMyMCA0Mi4zIDMyMCA3MmMwIDQwIDE1LjMgNTUuMyA0MCA4MHM0MCA0MCA4MCA0MGMyOS43IDAgNTUtMTcuNiA2Ni0yNi43YzQtMy4zIDYtOC4yIDYtMTMuM3MtMi0xMC02LTEzLjJjLTExLjQtOS4xLTM4LjMtMjYuOC03NC0yNi44Yy0zMiAwLTQwIDgtNDAgOHM4LTggOC00MGMwLTM1LjctMTcuNy02Mi42LTI2LjgtNzRDMzcwIDIgMzY1LjEgMCAzNjAgMHMtMTAgMi0xMy4zIDZ6TTI0NC42IDEzNmMtNDAgMC03Ny4xIDE4LjEtMTAxLjcgNDguMmw2MC41IDYwLjVjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtNTUuMy01NS4zIDAgLjFMMi4yIDQ3Ny45Qy0yIDQ4Ny0uMSA0OTcuOCA3IDUwNXMxNy45IDkgMjcuMSA0LjhsMTM0LjctNjIuNC01Mi4xLTUyLjFjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMEwxOTkuNyA0MzNsMTAwLjItNDYuNGM0Ni40LTIxLjUgNzYuMi02OCA3Ni4yLTExOS4yQzM3NiAxOTQuOCAzMTcuMiAxMzYgMjQ0LjYgMTM2elwiXVxufTtcbnZhciBmYU1vb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9vbicsXG4gIGljb246IFszODQsIDUxMiwgWzEyNzc2OSwgOTIxNF0sIFwiZjE4NlwiLCBcIk0yMjMuNSAzMkMxMDAgMzIgMCAxMzIuMyAwIDI1NlMxMDAgNDgwIDIyMy41IDQ4MGM2MC42IDAgMTE1LjUtMjQuMiAxNTUuOC02My40YzUtNC45IDYuMy0xMi41IDMuMS0xOC43cy0xMC4xLTkuNy0xNy04LjVjLTkuOCAxLjctMTkuOCAyLjYtMzAuMSAyLjZjLTk2LjkgMC0xNzUuNS03OC44LTE3NS41LTE3NmMwLTY1LjggMzYtMTIzLjEgODkuMy0xNTMuM2M2LjEtMy41IDkuMi0xMC41IDcuNy0xNy4zcy03LjMtMTEuOS0xNC4zLTEyLjVjLTYuMy0uNS0xMi42LS44LTE5LS44elwiXVxufTtcbnZhciBmYVdpbmVHbGFzc0VtcHR5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dpbmUtZ2xhc3MtZW1wdHknLFxuICBpY29uOiBbMzIwLCA1MTIsIFtcIndpbmUtZ2xhc3MtYWx0XCJdLCBcImY1Y2VcIiwgXCJNNjQgMEM0Ny40IDAgMzMuNSAxMi44IDMyLjEgMjkuM2wtMTQgMTY4LjRjLTYgNzIgNDIuNSAxMzUuMiAxMDkuOSAxNTAuNlY0NDhIODBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoODAgODBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTkyVjM0OC40YzY3LjQtMTUuNCAxMTUuOS03OC42IDEwOS45LTE1MC42bC0xNC0xNjguNEMyODYuNSAxMi44IDI3Mi42IDAgMjU2IDBINjR6TTgxLjkgMjAzLjFMOTMuNCA2NEgyMjYuNmwxMS42IDEzOS4xQzI0MiAyNDguOCAyMDUuOSAyODggMTYwIDI4OHMtODItMzkuMi03OC4xLTg0Ljl6XCJdXG59O1xudmFyIGZhV2luZUdsYXNzQWx0ID0gZmFXaW5lR2xhc3NFbXB0eTtcbnZhciBmYUNoZWVzZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGVlc2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3ZWZcIiwgXCJNNTEyIDI0MC4yVjI1NkgwYzAtMjAgMTAtMzguNyAyNi42LTQ5LjhMMjc0LjkgNDAuN2M4LjYtNS43IDE4LjYtOC43IDI4LjktOC43QzQxOC44IDMyIDUxMiAxMjUuMiA1MTIgMjQwLjJ6bTAgNDcuOFY0MTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjI4OEg1MTJ6XCJdXG59O1xudmFyIGZhWWluWWFuZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd5aW4teWFuZycsXG4gIGljb246IFs1MTIsIDUxMiwgWzk3NzVdLCBcImY2YWRcIiwgXCJNMjU2IDY0YzUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2cy05NiA0My05NiA5NnM0MyA5NiA5NiA5NkMxNTAgNDQ4IDY0IDM2MiA2NCAyNTZTMTUwIDY0IDI1NiA2NHptMCA0NDhBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyem0zMi0zNTJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMjI0IDM1MmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwelwiXVxufTtcbnZhciBmYU11c2ljID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ211c2ljJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3OTI1XSwgXCJmMDAxXCIsIFwiTTQ5OS4xIDYuM2M4LjEgNiAxMi45IDE1LjYgMTIuOSAyNS43djcyVjM2OGMwIDQ0LjItNDMgODAtOTYgODBzLTk2LTM1LjgtOTYtODBzNDMtODAgOTYtODBjMTEuMiAwIDIyIDEuNiAzMiA0LjZWMTQ3TDE5MiAyMjMuOFY0MzJjMCA0NC4yLTQzIDgwLTk2IDgwcy05Ni0zNS44LTk2LTgwczQzLTgwIDk2LTgwYzExLjIgMCAyMiAxLjYgMzIgNC42VjIwMCAxMjhjMC0xNC4xIDkuMy0yNi42IDIyLjgtMzAuN2wzMjAtOTZjOS43LTIuOSAyMC4yLTEuMSAyOC4zIDV6XCJdXG59O1xudmFyIGZhQ29kZUNvbW1pdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb2RlLWNvbW1pdCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjM4NlwiLCBcIk0zMjAgMzM2YTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYwem0xNTYuOC00OEM0NjIgMzYxIDM5Ny40IDQxNiAzMjAgNDE2cy0xNDItNTUtMTU2LjgtMTI4SDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDE2My4yQzE3OCAxNTEgMjQyLjYgOTYgMzIwIDk2czE0MiA1NSAxNTYuOCAxMjhINjA4YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDQ3Ni44elwiXVxufTtcbnZhciBmYVRlbXBlcmF0dXJlTG93ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RlbXBlcmF0dXJlLWxvdycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjc2YlwiLCBcIk00NDggOTZhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzIwIDk2YTk2IDk2IDAgMSAxIDE5MiAwQTk2IDk2IDAgMSAxIDMyMCA5NnpNMTQ0IDY0Yy0yNi41IDAtNDggMjEuNS00OCA0OFYyNzYuNWMwIDE3LjMtNy4xIDMxLjktMTUuMyA0Mi41QzcwLjIgMzMyLjYgNjQgMzQ5LjUgNjQgMzY4YzAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC0xOC41LTYuMi0zNS40LTE2LjctNDguOWMtOC4yLTEwLjYtMTUuMy0yNS4yLTE1LjMtNDIuNVYxMTJjMC0yNi41LTIxLjUtNDgtNDgtNDh6TTMyIDExMkMzMiA1MC4yIDgyLjEgMCAxNDQgMHMxMTIgNTAuMSAxMTIgMTEyVjI3Ni41YzAgLjEgLjEgLjMgLjIgLjZjLjIgLjYgLjggMS42IDEuNyAyLjhjMTguOSAyNC40IDMwLjEgNTUgMzAuMSA4OC4xYzAgNzkuNS02NC41IDE0NC0xNDQgMTQ0UzAgNDQ3LjUgMCAzNjhjMC0zMy4yIDExLjItNjMuOCAzMC4xLTg4LjFjLjktMS4yIDEuNS0yLjIgMS43LTIuOGMuMS0uMyAuMi0uNSAuMi0uNlYxMTJ6TTE5MiAzNjhjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhjMC0yMC45IDEzLjQtMzguNyAzMi00NS4zVjI3MmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2djUwLjdjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zelwiXVxufTtcbnZhciBmYVBlcnNvbkJpa2luZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tYmlraW5nJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NjkyLCBcImJpa2luZ1wiXSwgXCJmODRhXCIsIFwiTTQwMCA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bTI3LjIgNjRsLTYxLjgtNDguOGMtMTcuMy0xMy42LTQxLjctMTMuOC01OS4xLS4zbC04My4xIDY0LjJjLTMwLjcgMjMuOC0yOC41IDcwLjggNC4zIDkxLjZMMjg4IDMwNS4xVjQxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjI4OGMwLTEwLjctNS4zLTIwLjctMTQuMi0yNi42TDI5NSAyMzIuOWw2MC4zLTQ4LjVMMzk2IDIxN2M1LjcgNC41IDEyLjcgNyAyMCA3aDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDQyNy4yek01NiAzODRhNzIgNzIgMCAxIDEgMTQ0IDBBNzIgNzIgMCAxIDEgNTYgMzg0em0yMDAgMEExMjggMTI4IDAgMSAwIDAgMzg0YTEyOCAxMjggMCAxIDAgMjU2IDB6bTE4NCAwYTcyIDcyIDAgMSAxIDE0NCAwIDcyIDcyIDAgMSAxIC0xNDQgMHptMjAwIDBhMTI4IDEyOCAwIDEgMCAtMjU2IDAgMTI4IDEyOCAwIDEgMCAyNTYgMHpcIl1cbn07XG52YXIgZmFCaWtpbmcgPSBmYVBlcnNvbkJpa2luZztcbnZhciBmYUJyb29tID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jyb29tJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI5NTI5XSwgXCJmNTFhXCIsIFwiTTU2Ni42IDU0LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE5MiAxOTItMzQuNy0zNC43Yy00LjItNC4yLTEwLTYuNi0xNi02LjZjLTEyLjUgMC0yMi42IDEwLjEtMjIuNiAyMi42djI5LjFMMzY0LjMgMzIwaDI5LjFjMTIuNSAwIDIyLjYtMTAuMSAyMi42LTIyLjZjMC02LTIuNC0xMS44LTYuNi0xNmwtMzQuNy0zNC43IDE5Mi0xOTJ6TTM0MS4xIDM1My40TDIyMi42IDIzNC45Yy00Mi43LTMuNy04NS4yIDExLjctMTE1LjggNDIuM2wtOCA4Qzc2LjUgMzA3LjUgNjQgMzM3LjcgNjQgMzY5LjJjMCA2LjggNy4xIDExLjIgMTMuMiA4LjJsNTEuMS0yNS41YzUtMi41IDkuNSA0LjEgNS40IDcuOUw3LjMgNDczLjRDMi43IDQ3Ny42IDAgNDgzLjYgMCA0ODkuOUMwIDUwMi4xIDkuOSA1MTIgMjIuMSA1MTJsMTczLjMgMGMzOC44IDAgNzUuOS0xNS40IDEwMy40LTQyLjhjMzAuNi0zMC42IDQ1LjktNzMuMSA0Mi4zLTExNS44elwiXVxufTtcbnZhciBmYVNoaWVsZEhlYXJ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoaWVsZC1oZWFydCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTU3NFwiLCBcIk0yNjkuNCAyLjlDMjY1LjIgMSAyNjAuNyAwIDI1NiAwcy05LjIgMS0xMy40IDIuOUw1NC4zIDgyLjhjLTIyIDkuMy0zOC40IDMxLTM4LjMgNTcuMmMuNSA5OS4yIDQxLjMgMjgwLjcgMjEzLjYgMzYzLjJjMTYuNyA4IDM2LjEgOCA1Mi44IDBDNDU0LjcgNDIwLjcgNDk1LjUgMjM5LjIgNDk2IDE0MGMuMS0yNi4yLTE2LjMtNDcuOS0zOC4zLTU3LjJMMjY5LjQgMi45ek0xNDQgMjIxLjNjMC0zMy44IDI3LjQtNjEuMyA2MS4zLTYxLjNjMTYuMiAwIDMxLjggNi41IDQzLjMgMTcuOWw3LjQgNy40IDcuNC03LjRjMTEuNS0xMS41IDI3LjEtMTcuOSA0My4zLTE3LjljMzMuOCAwIDYxLjMgMjcuNCA2MS4zIDYxLjNjMCAxNi4yLTYuNSAzMS44LTE3LjkgNDMuM2wtODIuNyA4Mi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMGwtODIuNy04Mi43Yy0xMS41LTExLjUtMTcuOS0yNy4xLTE3LjktNDMuM3pcIl1cbn07XG52YXIgZmFHb3B1cmFtID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dvcHVyYW0nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY2NjRcIiwgXCJNMTIwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjR2OGg0MFYyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0djhoNDhWMjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHY4aDQwVjI0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR2OFY2NHY2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnY2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnY5NmMxNy43IDAgMzIgMTQuMyAzMiAzMnY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMkg0MTZWMzUySDM4NFYyMjRIMzUyVjEyOEgzMjB2OTZoMzJWMzUyaDMyVjUxMkgzMDRWNDY0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4djQ4SDEyOFYzNTJoMzJWMjI0aDMyVjEyOEgxNjB2OTZIMTI4VjM1Mkg5NlY1MTJIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjM4NGMwLTE3LjcgMTQuMy0zMiAzMi0zMlYyNTZjMC0xNy43IDE0LjMtMzIgMzItMzJWMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyVjY0IDMyIDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0ek0yNTYgMjcyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnY0OGg2NFYzMDRjMC0xNy43LTE0LjMtMzItMzItMzJ6bS0zMi04MHYzMmg2NFYxOTJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ6XCJdXG59O1xudmFyIGZhRWFydGhPY2VhbmlhID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2VhcnRoLW9jZWFuaWEnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImdsb2JlLW9jZWFuaWFcIl0sIFwiZTQ3YlwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjA4LjYgMzU3LjNsLTM5LTEzLjVjLTYuNS0yLjItMTMuNi0yLjMtMjAuMS0uM2wtMTUuMyA0LjljLTE4LjUgNS45LTM4LjUtMi40LTQ3LjUtMTkuNWwtMy4zLTYuMmMtMTAuNi0yMC4xLTIuMy00NSAxOC4yLTU0LjdsMzUuMy0xNi44YzIuMy0xLjEgNC40LTIuOCA1LjktNC44bDUuMy03YzcuMi05LjYgMTguNi0xNS4zIDMwLjYtMTUuM3MyMy40IDUuNyAzMC42IDE1LjNsNC42IDYuMWMyIDIuNiA0LjkgNC41IDguMSA1LjFjNy44IDEuNiAxNS43LTEuNSAyMC40LTcuOWwxMC40LTE0LjJjMi0yLjggNS4zLTQuNCA4LjctNC40YzQuNCAwIDguNCAyLjcgMTAgNi44bDEwLjEgMjUuOWMyLjggNy4yIDYuNyAxNCAxMS41IDIwLjJMMzExIDI5OS44YzUuOCA3LjQgOSAxNi42IDkgMjZzLTMuMiAxOC42LTkgMjZMMjk5IDM2Ny4yYy04LjMgMTAuNi0yMSAxNi44LTM0LjQgMTYuOGMtOC40IDAtMTYuNi0yLjQtMjMuNy03bC0yNS40LTE2LjRjLTIuMi0xLjQtNC41LTIuNS02LjktMy40em02NS4yLTIxNC44TDI5NiAxNjQuN2MxMC4xIDEwLjEgMi45IDI3LjMtMTEuMyAyNy4zSDI1NC44Yy01LjYgMC0xMS4xLTEuMi0xNi4yLTMuNGwtNDIuOC0xOWMtMTQuMy02LjMtMTEuOS0yNy4zIDMuNC0zMC4zbDM4LjUtNy43YzEzLjEtMi42IDI2LjcgMS41IDM2LjEgMTAuOXpNMjQ4IDQzMmMwLTguOCA3LjItMTYgMTYtMTZoMTZjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMjY0Yy04LjggMC0xNi03LjItMTYtMTZ6TTQzMS4yIDI5OC45bDggMjRjMi44IDguNC0xLjcgMTcuNC0xMC4xIDIwLjJzLTE3LjQtMS43LTIwLjItMTAuMWwtOC0yNGMtMi44LTguNCAxLjctMTcuNCAxMC4xLTIwLjJzMTcuNCAxLjcgMjAuMiAxMC4xem0tMTkuOSA4MC40bC0zMiAzMmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwzMi0zMmM2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6XCJdXG59O1xudmFyIGZhR2xvYmVPY2VhbmlhID0gZmFFYXJ0aE9jZWFuaWE7XG52YXIgZmFTcXVhcmVYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUteG1hcmsnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMDA2MiwgXCJ0aW1lcy1zcXVhcmVcIiwgXCJ4bWFyay1zcXVhcmVcIl0sIFwiZjJkM1wiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEgzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6bTc5IDE0M2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMGw0NyA0NyA0Ny00N2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTQ3IDQ3IDQ3IDQ3YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQ3LTQ3LTQ3IDQ3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDQ3LTQ3LTQ3LTQ3Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXpcIl1cbn07XG52YXIgZmFUaW1lc1NxdWFyZSA9IGZhU3F1YXJlWG1hcms7XG52YXIgZmFYbWFya1NxdWFyZSA9IGZhU3F1YXJlWG1hcms7XG52YXIgZmFIYXNodGFnID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhc2h0YWcnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs2MjA5OF0sIFwiMjNcIiwgXCJNMTgxLjMgMzIuNGMxNy40IDIuOSAyOS4yIDE5LjQgMjYuMyAzNi44TDE5Ny44IDEyOGg5NS4xbDExLjUtNjkuM2MyLjktMTcuNCAxOS40LTI5LjIgMzYuOC0yNi4zczI5LjIgMTkuNCAyNi4zIDM2LjhMMzU3LjggMTI4SDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzNDcuMUwzMjUuOCAzMjBIMzg0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMxNS4xbC0xMS41IDY5LjNjLTIuOSAxNy40LTE5LjQgMjkuMi0zNi44IDI2LjNzLTI5LjItMTkuNC0yNi4zLTM2LjhsOS44LTU4LjdIMTU1LjFsLTExLjUgNjkuM2MtMi45IDE3LjQtMTkuNCAyOS4yLTM2LjggMjYuM3MtMjkuMi0xOS40LTI2LjMtMzYuOEw5MC4yIDM4NEgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmg2OC45bDIxLjMtMTI4SDY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyaDY4LjlsMTEuNS02OS4zYzIuOS0xNy40IDE5LjQtMjkuMiAzNi44LTI2LjN6TTE4Ny4xIDE5MkwxNjUuOCAzMjBoOTUuMWwyMS4zLTEyOEgxODcuMXpcIl1cbn07XG52YXIgZmFVcFJpZ2h0QW5kRG93bkxlZnRGcm9tQ2VudGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VwLXJpZ2h0LWFuZC1kb3duLWxlZnQtZnJvbS1jZW50ZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImV4cGFuZC1hbHRcIl0sIFwiZjQyNFwiLCBcIk0zNDQgMEg0ODhjMTMuMyAwIDI0IDEwLjcgMjQgMjRWMTY4YzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTM5LTM5LTg3IDg3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtMzItMzJjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDg3LTg3TDMyNyA0MWMtNi45LTYuOS04LjktMTcuMi01LjItMjYuMlMzMzQuMyAwIDM0NCAwek0xNjggNTEySDI0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNFYzNDRjMC05LjcgNS44LTE4LjUgMTQuOC0yMi4yczE5LjMtMS43IDI2LjIgNS4ybDM5IDM5IDg3LTg3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDMyIDMyYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC04NyA4NyAzOSAzOWM2LjkgNi45IDguOSAxNy4yIDUuMiAyNi4ycy0xMi41IDE0LjgtMjIuMiAxNC44elwiXVxufTtcbnZhciBmYUV4cGFuZEFsdCA9IGZhVXBSaWdodEFuZERvd25MZWZ0RnJvbUNlbnRlcjtcbnZhciBmYU9pbENhbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdvaWwtY2FuJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNjEzXCIsIFwiTTMyMCAxMjhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTkyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDMydjMySDE0NCA5NiA0OGMtMjYuNSAwLTQ4IDIxLjUtNDggNDh2NjQuOGMwIDE5IDExLjIgMzYuMiAyOC41IDQzLjlsNjcuNSAzMFYzNjhjMCAyNi41IDIxLjUgNDggNDggNDhINDAzLjFjMTguNCAwIDM1LjgtNy45IDQ4LTIxLjdMNjMzLjUgMTg3LjdjMTIuMy0xMy45LS4zLTM1LjQtMTguNC0zMS41TDQ0OCAxOTJsLTUwLjUtMjUuMmMtOC45LTQuNC0xOC43LTYuOC0yOC42LTYuOEgyODhWMTI4aDMyek05NiAyMDh2ODYuMUw0OCAyNzIuOFYyMDhIOTZ6XCJdXG59O1xudmFyIGZhVCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTE2XSwgXCI1NFwiLCBcIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZIMTYwVjQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjk2SDM1MmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgxOTIgMzJ6XCJdXG59O1xudmFyIGZhSGlwcG8gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGlwcG8nLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjk0MzVdLCBcImY2ZWRcIiwgXCJNNDA3IDQ3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDE3LjIgMTcuMmMxLjktLjEgMy45LS4yIDUuOC0uMmgzMmMxMS4yIDAgMjEuOSAyLjMgMzEuNiA2LjVMNTQzIDU1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOUw1NjQgMTAxLjljNy42IDEyLjIgMTIgMjYuNyAxMiA0Mi4xYzAgMTAuMiA3LjQgMTguOCAxNi43IDIzYzI3LjkgMTIuNSA0Ny4zIDQwLjUgNDcuMyA3M2MwIDI2LjItMTIuNiA0OS40LTMyIDY0djMyYzAgOC44LTcuMiAxNi0xNiAxNkg1NjBjLTguOCAwLTE2LTcuMi0xNi0xNlYzMjBINDgwdjE2YzAgOC44LTcuMiAxNi0xNiAxNkg0MzJjLTguOCAwLTE2LTcuMi0xNi0xNlYzMTguNGMtMTEuOC0yLjQtMjIuNy03LjQtMzItMTQuNGMtMS41LTEuMS0yLjktMi4zLTQuMy0zLjVjLTE3LTE0LjctMjcuNy0zNi40LTI3LjctNjAuNWMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmMwIDQ0LjcgMjYuMiA4My4yIDY0IDEwMS4yVjM1MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmgzMnY2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkgzNTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjM3MmMtMTkuOCA3LjctNDEuNCAxMi02NCAxMnMtNDQuMi00LjMtNjQtMTJ2NzZjMCAxNy43LTE0LjMgMzItMzIgMzJIOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjMyOS4xTDQ1LjkgMzY5LjdjLTUuNCAxMi4xLTE5LjYgMTcuNi0zMS43IDEyLjJTLTMuMyAzNjIuNCAyLjEgMzUwLjNMMjQgMzAwLjljNS4zLTExLjkgOC0yNC43IDgtMzcuN0MzMiAxNTUuNyAxMTcuMiA2OCAyMjMuOCA2NC4xbC4yLS4xaDcuMkgyNTZoMzJjNDEuNyAwIDgzLjQgMTIuMSAxMTcuMiAyNS43YzEuNy0xLjggMy41LTMuNiA1LjMtNS4yTDQwNyA4MWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6bTczIDE4NWEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwem04OCAyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6TTQ4MCAxNDRhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptNDggMTZhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyelwiXVxufTtcbnZhciBmYUNoYXJ0Q29sdW1uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoYXJ0LWNvbHVtbicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTBlM1wiLCBcIk0zMiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMlY0MDBjMCA4LjggNy4yIDE2IDE2IDE2SDQ4MGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg4MGMtNDQuMiAwLTgwLTM1LjgtODAtODBWNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJ6TTE2MCAyMjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0xMjgtNjRWMzIwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyem02NCAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMnY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYyMjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTQ4MCA5NlYzMjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWOTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnpcIl1cbn07XG52YXIgZmFJbmZpbml0eSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdpbmZpbml0eScsXG4gIGljb246IFs2NDAsIDUxMiwgWzg3MzQsIDk4NTRdLCBcImY1MzRcIiwgXCJNMCAyNDEuMUMwIDE2MSA2NSA5NiAxNDUuMSA5NmMzOC41IDAgNzUuNCAxNS4zIDEwMi42IDQyLjVMMzIwIDIxMC43bDcyLjItNzIuMkM0MTkuNSAxMTEuMyA0NTYuNCA5NiA0OTQuOSA5NkM1NzUgOTYgNjQwIDE2MSA2NDAgMjQxLjF2MjkuN0M2NDAgMzUxIDU3NSA0MTYgNDk0LjkgNDE2Yy0zOC41IDAtNzUuNC0xNS4zLTEwMi42LTQyLjVMMzIwIDMwMS4zbC03Mi4yIDcyLjJDMjIwLjUgNDAwLjcgMTgzLjYgNDE2IDE0NS4xIDQxNkM2NSA0MTYgMCAzNTEgMCAyNzAuOVYyNDEuMXpNMjc0LjcgMjU2bC03Mi4yLTcyLjJjLTE1LjItMTUuMi0zNS45LTIzLjgtNTcuNC0yMy44QzEwMC4zIDE2MCA2NCAxOTYuMyA2NCAyNDEuMXYyOS43YzAgNDQuOCAzNi4zIDgxLjEgODEuMSA4MS4xYzIxLjUgMCA0Mi4yLTguNSA1Ny40LTIzLjhMMjc0LjcgMjU2em05MC41IDBsNzIuMiA3Mi4yYzE1LjIgMTUuMiAzNS45IDIzLjggNTcuNCAyMy44YzQ0LjggMCA4MS4xLTM2LjMgODEuMS04MS4xVjI0MS4xYzAtNDQuOC0zNi4zLTgxLjEtODEuMS04MS4xYy0yMS41IDAtNDIuMiA4LjUtNTcuNCAyMy44TDM2NS4zIDI1NnpcIl1cbn07XG52YXIgZmFWaWFsQ2lyY2xlQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmlhbC1jaXJjbGUtY2hlY2snLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1OTZcIiwgXCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMkg5Nmg2NCA2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMlYyNjYuOGMtMjAuMiAyOC42LTMyIDYzLjUtMzIgMTAxLjJjMCAyNS4yIDUuMyA0OS4xIDE0LjggNzAuOEMxODkuNSA0NjMuNyAxNjAuNiA0ODAgMTI4IDQ4MGMtNTMgMC05Ni00My05Ni05NlY5NkMxNC4zIDk2IDAgODEuNyAwIDY0ek05NiA5NnY5Nmg2NFY5Nkg5NnpNMjI0IDM2OGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMTEuMy00My4zYy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMEwzNTIgMzg1LjRsLTI4LjctMjguN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmw0MCA0MGM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGw3Mi03MmM2LjItNi4yIDYuMi0xNi40IDAtMjIuNnpcIl1cbn07XG52YXIgZmFQZXJzb25BcnJvd0Rvd25Ub0xpbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWFycm93LWRvd24tdG8tbGluZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUzOFwiLCBcIk0xOTIgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0tOCAzNTJWMzUyaDE2djk2SDE4NHptLTY0IDBIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJIMTUyaDgwSDYwOGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgyNjRWMjU2LjlsMjguNiA0Ny41YzkuMSAxNS4xIDI4LjggMjAgNDMuOSAxMC45czIwLTI4LjggMTAuOS00My45bC01OC4zLTk3Yy0xNy40LTI4LjktNDguNi00Ni42LTgyLjMtNDYuNkgxNzcuMWMtMzMuNyAwLTY0LjkgMTcuNy04Mi4zIDQ2LjZsLTU4LjMgOTdjLTkuMSAxNS4xLTQuMiAzNC44IDEwLjkgNDMuOXMzNC44IDQuMiA0My45LTEwLjlMMTIwIDI1Ni45VjQ0OHpNNDY0IDY0VjMwNi43bC0yNS40LTI1LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDgwIDgwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDgwLTgwYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDUyOCAzMDYuN1Y2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnpcIl1cbn07XG52YXIgZmFWb2ljZW1haWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndm9pY2VtYWlsJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmODk3XCIsIFwiTTE0NCAzMjBhODAgODAgMCAxIDEgMC0xNjAgODAgODAgMCAxIDEgMCAxNjB6bTExOS44IDBjMTUuMy0yMi45IDI0LjItNTAuNCAyNC4yLTgwYzAtNzkuNS02NC41LTE0NC0xNDQtMTQ0UzAgMTYwLjUgMCAyNDBzNjQuNSAxNDQgMTQ0IDE0NEg0OTZjNzkuNSAwIDE0NC02NC41IDE0NC0xNDRzLTY0LjUtMTQ0LTE0NC0xNDRzLTE0NCA2NC41LTE0NCAxNDRjMCAyOS42IDguOSA1Ny4xIDI0LjIgODBIMjYzLjh6TTQ5NiAxNjBhODAgODAgMCAxIDEgMCAxNjAgODAgODAgMCAxIDEgMC0xNjB6XCJdXG59O1xudmFyIGZhRmFuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhbicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjg2M1wiLCBcIk0yNTguNiAwYy0xLjcgMC0zLjQgLjEtNS4xIC41QzE2OCAxNyAxMTUuNiAxMDIuMyAxMzAuNSAxODkuM2MyLjkgMTcgOC40IDMyLjkgMTUuOSA0Ny40TDMyIDIyNEgyOS40QzEzLjIgMjI0IDAgMjM3LjIgMCAyNTMuNGMwIDEuNyAuMSAzLjQgLjUgNS4xQzE3IDM0NCAxMDIuMyAzOTYuNCAxODkuMyAzODEuNWMxNy0yLjkgMzIuOS04LjQgNDcuNC0xNS45TDIyNCA0ODB2Mi42YzAgMTYuMiAxMy4yIDI5LjQgMjkuNCAyOS40YzEuNyAwIDMuNC0uMSA1LjEtLjVDMzQ0IDQ5NSAzOTYuNCA0MDkuNyAzODEuNSAzMjIuN2MtMi45LTE3LTguNC0zMi45LTE1LjktNDcuNEw0ODAgMjg4aDIuNmMxNi4yIDAgMjkuNC0xMy4yIDI5LjQtMjkuNGMwLTEuNy0uMS0zLjQtLjUtNS4xQzQ5NSAxNjggNDA5LjcgMTE1LjYgMzIyLjcgMTMwLjVjLTE3IDIuOS0zMi45IDguNC00Ny40IDE1LjlMMjg4IDMyVjI5LjRDMjg4IDEzLjIgMjc0LjggMCAyNTguNiAwek0yNTYgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFQZXJzb25XYWxraW5nTHVnZ2FnZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24td2Fsa2luZy1sdWdnYWdlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTU0XCIsIFwiTTQzMiA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTM0Ny43IDIwMC41YzEtLjQgMS45LS44IDIuOS0xLjJsLTE2LjkgNjMuNWMtNS42IDIxLjEtLjEgNDMuNiAxNC43IDU5LjdsNzAuNyA3Ny4xIDIyIDg4LjFjNC4zIDE3LjEgMjEuNyAyNy42IDM4LjggMjMuM3MyNy42LTIxLjcgMjMuMy0zOC44bC0yMy05Mi4xYy0xLjktNy44LTUuOC0xNC45LTExLjItMjAuOGwtNDkuNS01NCAxOS4zLTY1LjUgOS42IDIzYzQuNCAxMC42IDEyLjUgMTkuMyAyMi44IDI0LjVsMjYuNyAxMy4zYzE1LjggNy45IDM1IDEuNSA0Mi45LTE0LjNzMS41LTM1LTE0LjMtNDIuOUw1MDUgMjMyLjdsLTE1LjMtMzYuOEM0NzIuNSAxNTQuOCA0MzIuMyAxMjggMzg3LjcgMTI4Yy0yMi44IDAtNDUuMyA0LjgtNjYuMSAxNGwtOCAzLjVjLTMyLjkgMTQuNi01OC4xIDQyLjQtNjkuNCA3Ni41bC0yLjYgNy44Yy01LjYgMTYuOCAzLjUgMzQuOSAyMC4yIDQwLjVzMzQuOS0zLjUgNDAuNS0yMC4ybDIuNi03LjhjNS43LTE3LjEgMTguMy0zMC45IDM0LjctMzguMmw4LTMuNXptLTMwIDEzNS4xbC0yNSA2Mi40LTU5LjQgNTkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwzNDAuMyA0NDFjNC42LTQuNiA4LjItMTAuMSAxMC42LTE2LjFsMTQuNS0zNi4yLTQwLjctNDQuNGMtMi41LTIuNy00LjgtNS42LTctOC42ek0yNTYgMjc0LjFjLTcuNy00LjQtMTcuNC0xLjgtMjEuOSA1LjlsLTMyIDU1LjRMMTQ3LjcgMzA0Yy0xNS4zLTguOC0zNC45LTMuNi00My43IDExLjdMNDAgNDI2LjZjLTguOCAxNS4zLTMuNiAzNC45IDExLjcgNDMuN2w1NS40IDMyYzE1LjMgOC44IDM0LjkgMy42IDQzLjctMTEuN2w2NC0xMTAuOWMxLjUtMi42IDIuNi01LjIgMy4zLThMMjYxLjkgMjk2YzQuNC03LjcgMS44LTE3LjQtNS45LTIxLjl6XCJdXG59O1xudmFyIGZhVXBEb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VwLWRvd24nLFxuICBpY29uOiBbMjU2LCA1MTIsIFs4NTk3LCAxMTAyMSwgXCJhcnJvd3MtYWx0LXZcIl0sIFwiZjMzOFwiLCBcIk0xNDUuNiA3LjdDMTQxIDIuOCAxMzQuNyAwIDEyOCAwcy0xMyAyLjgtMTcuNiA3LjdsLTEwNCAxMTJjLTYuNSA3LTguMiAxNy4yLTQuNCAyNS45UzE0LjUgMTYwIDI0IDE2MEg4MFYzNTJIMjRjLTkuNSAwLTE4LjIgNS43LTIyIDE0LjRzLTIuMSAxOC45IDQuNCAyNS45bDEwNCAxMTJjNC41IDQuOSAxMC45IDcuNyAxNy42IDcuN3MxMy0yLjggMTcuNi03LjdsMTA0LTExMmM2LjUtNyA4LjItMTcuMiA0LjQtMjUuOXMtMTIuNS0xNC40LTIyLTE0LjRIMTc2VjE2MGg1NmM5LjUgMCAxOC4yLTUuNyAyMi0xNC40czIuMS0xOC45LTQuNC0yNS45bC0xMDQtMTEyelwiXVxufTtcbnZhciBmYUFycm93c0FsdFYgPSBmYVVwRG93bjtcbnZhciBmYUNsb3VkTW9vblJhaW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvdWQtbW9vbi1yYWluJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNzNjXCIsIFwiTTQ4MS4yIDBDNDE3IDAgMzYzLjUgNDYuNSAzNTMuNyAxMDcuNmMzNS40IDE3LjYgNjAuMiA1My4zIDYyLjEgOTUuMWMyMy4yIDExIDQyIDI5LjcgNTMuMSA1Mi43YzQgLjQgOC4xIC42IDEyLjMgLjZjMzQuOSAwIDY2LjctMTMuOCA4OS45LTM2LjFjNS4xLTQuOSA2LjQtMTIuNSAzLjItMTguN3MtMTAuMS05LjctMTctOC42Yy00LjkgLjgtMTAgMS4zLTE1LjIgMS4zYy00OSAwLTg4LjQtMzkuMy04OC40LTg3LjRjMC0zMi42IDE4LTYxLjEgNDQuOS03Ni4xYzYuMS0zLjQgOS4zLTEwLjUgNy44LTE3LjRzLTcuMy0xMi0xNC4zLTEyLjZjLTMuNi0uMy03LjMtLjUtMTAuOS0uNXpNMzY3LjkgMzgzLjljNDQuMiAwIDgwLTM1LjggODAtODBjMC0zOS4zLTI4LjQtNzIuMS02NS44LTc4LjdjMS4yLTUuNiAxLjktMTEuMyAxLjktMTcuMmMwLTQ0LjItMzUuOC04MC04MC04MGMtMTcgMC0zMi44IDUuMy00NS44IDE0LjRDMjQxLjMgMTE0LjYgMjEwLjggOTYgMTc2IDk2Yy01MyAwLTk2IDQzLTk2IDk2bDAgMS4zYy00NS40IDcuNi04MCA0Ny4xLTgwIDk0LjZjMCA1MyA0MyA5NiA5NiA5NkgzNjcuOXpNODUuNCA0MjAuMWMtMTEtNy40LTI1LjktNC40LTMzLjMgNi43bC0zMiA0OGMtNy40IDExLTQuNCAyNS45IDYuNyAzMy4zczI1LjkgNC40IDMzLjMtNi43bDMyLTQ4YzcuNC0xMSA0LjQtMjUuOS02LjctMzMuM3ptOTYgMGMtMTEtNy40LTI1LjktNC40LTMzLjMgNi43bC0zMiA0OGMtNy40IDExLTQuNCAyNS45IDYuNyAzMy4zczI1LjkgNC40IDMzLjMtNi43bDMyLTQ4YzcuNC0xMSA0LjQtMjUuOS02LjctMzMuM3ptOTYgMGMtMTEtNy40LTI1LjktNC40LTMzLjMgNi43bC0zMiA0OGMtNy40IDExLTQuNCAyNS45IDYuNyAzMy4zczI1LjkgNC40IDMzLjMtNi43bDMyLTQ4YzcuNC0xMSA0LjQtMjUuOS02LjctMzMuM3ptOTYgMGMtMTEtNy40LTI1LjktNC40LTMzLjMgNi43bC0zMiA0OGMtNy40IDExLTQuNCAyNS45IDYuNyAzMy4zczI1LjkgNC40IDMzLjMtNi43bDMyLTQ4YzcuNC0xMSA0LjQtMjUuOS02LjctMzMuM3pcIl1cbn07XG52YXIgZmFDYWxlbmRhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYWxlbmRhcicsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODE5NywgMTI4MTk4XSwgXCJmMTMzXCIsIFwiTTk2IDMyVjY0SDQ4QzIxLjUgNjQgMCA4NS41IDAgMTEydjQ4SDQ0OFYxMTJjMC0yNi41LTIxLjUtNDgtNDgtNDhIMzUyVjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjY0SDE2MFYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMlM5NiAxNC4zIDk2IDMyek00NDggMTkySDBWNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDQwMGMyNi41IDAgNDgtMjEuNSA0OC00OFYxOTJ6XCJdXG59O1xudmFyIGZhVHJhaWxlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cmFpbGVyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlMDQxXCIsIFwiTTQ4IDMyQzIxLjUgMzIgMCA1My41IDAgODBWMzM2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDY1LjFjNy44LTU0LjMgNTQuNC05NiAxMTAuOS05NnMxMDMuMSA0MS43IDExMC45IDk2SDQ4OGg4SDYwOGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg1NDRWODBjMC0yNi41LTIxLjUtNDgtNDgtNDhINDh6TTgwIDk2YzguOCAwIDE2IDcuMiAxNiAxNmwwIDEzMS4yYy0xMS40IDUuOS0yMi4yIDEyLjktMzIgMjFWMTEyYzAtOC44IDcuMi0xNiAxNi0xNnptOTYgMTI4Yy01LjQgMC0xMC43IC4yLTE2IC43TDE2MCAxMTJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDExMi43Yy01LjMtLjUtMTAuNi0uNy0xNi0uN3ptODAgMTkuMkwyNTYgMTEyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxNTIuMmMtOS44LTguMS0yMC42LTE1LjItMzItMjF6TTM2OCA5NmM4LjggMCAxNiA3LjIgMTYgMTZsMCAxOTJjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0xOTJjMC04LjggNy4yLTE2IDE2LTE2em0xMTIgMTZsMCAxOTJjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0xOTJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnpNMTc2IDQ4MGE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHptMC0xMTJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbnZhciBmYUJhaGFpID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhaGFpJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJoYXlrYWxcIl0sIFwiZjY2NlwiLCBcIk0yODggMGMxNC41IDAgMjcuMiA5LjcgMzAuOSAyMy44bDIzLjkgODkuNiA3NS45LTUzLjNjMTEuOS04LjMgMjcuOC03LjYgMzkgMS43czE0LjYgMjQuOSA4LjQgMzguMWwtMzkuMyA4NCA5Mi40IDhjMTQuNCAxLjIgMjYuMiAxMiAyOC44IDI2LjNzLTQuOSAyOC41LTE4IDM0LjZsLTg0LjEgMzkuMSA2NS43IDY1LjVjMTAuMyAxMC4yIDEyLjQgMjYuMSA1LjEgMzguN3MtMjIgMTguNy0zNiAxNC45TDM5MSAzODYuOGw4LjIgOTIuNGMxLjMgMTQuNC03LjMgMjcuOS0yMC45IDMyLjlzLTI4LjkgLjEtMzcuMi0xMS43bC01My4xLTc2LTUzLjEgNzZjLTguMyAxMS45LTIzLjYgMTYuNy0zNy4yIDExLjdzLTIyLjItMTguNS0yMC45LTMyLjlsOC4yLTkyLjRMOTUuNCA0MTAuOWMtMTQgMy44LTI4LjgtMi4zLTM2LTE0LjlzLTUuMi0yOC40IDUuMS0zOC43bDY1LjctNjUuNUw0NiAyNTIuN2MtMTMuMS02LjEtMjAuNS0yMC4zLTE4LTM0LjZzMTQuMy0yNS4xIDI4LjgtMjYuM2w5Mi40LTgtMzkuMy04NGMtNi4xLTEzLjEtMi43LTI4LjggOC40LTM4LjFzMjcuMS0xMCAzOS0xLjdsNzUuOSA1My4zIDIzLjktODkuNkMyNjAuOCA5LjcgMjczLjUgMCAyODggMHptMCAxNTYuMmwtNC44IDE4Yy0yLjcgMTAuMS0xMC4yIDE4LjItMjAgMjEuOHMtMjAuOCAyLjEtMjkuMy0zLjlsLTE1LjItMTAuNyA3LjkgMTYuOGM0LjQgOS41IDQgMjAuNS0xLjMgMjkuNnMtMTQuNSAxNS0yNSAxNS45bC0xOC41IDEuNiAxNi44IDcuOGM5LjUgNC40IDE2LjIgMTMuMiAxOCAyMy41cy0xLjUgMjAuOC04LjkgMjguMmwtMTMuMiAxMy4xIDE3LjktNC44YzEwLjEtMi43IDIwLjktLjMgMjguOSA2LjRzMTIuMiAxNi45IDExLjMgMjcuM2wtMS42IDE4LjUgMTAuNi0xNS4yYzYtOC42IDE1LjgtMTMuNyAyNi4yLTEzLjdzMjAuMiA1LjEgMjYuMiAxMy43bDEwLjYgMTUuMi0xLjYtMTguNWMtLjktMTAuNCAzLjMtMjAuNiAxMS4zLTI3LjNzMTguOC05LjEgMjguOS02LjRsMTcuOSA0LjgtMTMuMi0xMy4xYy03LjQtNy40LTEwLjctMTcuOS04LjktMjguMnM4LjUtMTkuMSAxOC0yMy41bDE2LjgtNy44LTE4LjUtMS42Yy0xMC40LS45LTE5LjctNi44LTI1LTE1LjlzLTUuNy0yMC4xLTEuMy0yOS42bDcuOS0xNi44LTE1LjIgMTAuN2MtOC42IDYtMTkuNSA3LjUtMjkuMyAzLjlzLTE3LjMtMTEuNy0yMC0yMS44bC00LjgtMTh6XCJdXG59O1xudmFyIGZhSGF5a2FsID0gZmFCYWhhaTtcbnZhciBmYVNkQ2FyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzZC1jYXJkJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmN2MyXCIsIFwiTTMyMCAwSDE0MS4zQzEyNC4zIDAgMTA4IDYuNyA5NiAxOC43TDE4LjcgOTZDNi43IDEwOCAwIDEyNC4zIDAgMTQxLjNWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDMyMGMzNS4zIDAgNjQtMjguNyA2NC02NFY2NGMwLTM1LjMtMjguNy02NC02NC02NHpNMTYwIDg4djQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0Vjg4YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6bTgwIDB2NDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWODhjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHptODAgMHY0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFY4OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0elwiXVxufTtcbnZhciBmYURyYWdvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkcmFnb24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjgwMDldLCBcImY2ZDVcIiwgXCJNMzUyIDEyNC41bC01MS45LTEzYy02LjUtMS42LTExLjMtNy4xLTEyLTEzLjhzMi44LTEzLjEgOC43LTE2LjFsNDAuOC0yMC40TDI5NC40IDI4LjhjLTUuNS00LjEtNy44LTExLjMtNS42LTE3LjlTMjk3LjEgMCAzMDQgMEg0MTZoMzIgMTZjMzAuMiAwIDU4LjcgMTQuMiA3Ni44IDM4LjRsNTcuNiA3Ni44YzYuMiA4LjMgOS42IDE4LjQgOS42IDI4LjhjMCAyNi41LTIxLjUgNDgtNDggNDhINTM4LjVjLTE3IDAtMzMuMy02LjctNDUuMy0xOC43TDQ4MCAxNjBINDQ4djIxLjVjMCAyNC44IDEyLjggNDcuOSAzMy44IDYxLjFsMTA2LjYgNjYuNmMzMi4xIDIwLjEgNTEuNiA1NS4yIDUxLjYgOTMuMUM2NDAgNDYyLjkgNTkwLjkgNTEyIDUzMC4yIDUxMkg0OTYgNDMyIDMyLjNjLTMuMyAwLTYuNi0uNC05LjYtMS40QzEzLjUgNTA3LjggNiA1MDEgMi40IDQ5Mi4xQzEgNDg4LjcgLjIgNDg1LjIgMCA0ODEuNGMtLjItMy43IC4zLTcuMyAxLjMtMTAuN2MyLjgtOS4yIDkuNi0xNi43IDE4LjYtMjAuNGMzLTEuMiA2LjItMiA5LjUtMi4yTDQzMy4zIDQxMmM4LjMtLjcgMTQuNy03LjcgMTQuNy0xNi4xYzAtNC4zLTEuNy04LjQtNC43LTExLjRsLTQ0LjQtNDQuNGMtMzAtMzAtNDYuOS03MC43LTQ2LjktMTEzLjFWMTgxLjV2LTU3ek01MTIgNzIuM2MwLS4xIDAtLjIgMC0uM3MwLS4yIDAtLjN2LjZ6bS0xLjMgNy40TDQ2NC4zIDY4LjFjLS4yIDEuMy0uMyAyLjYtLjMgMy45YzAgMTMuMyAxMC43IDI0IDI0IDI0YzEwLjYgMCAxOS41LTYuOCAyMi43LTE2LjN6TTEzMC45IDExNi41YzE2LjMtMTQuNSA0MC40LTE2LjIgNTguNS00LjFsMTMwLjYgODdWMjI3YzAgMzIuOCA4LjQgNjQuOCAyNCA5M0gxMTJjLTYuNyAwLTEyLjctNC4yLTE1LTEwLjRzLS41LTEzLjMgNC42LTE3LjdMMTcxIDIzMi4zIDE4LjQgMjU1LjhjLTcgMS4xLTEzLjktMi42LTE2LjktOXMtMS41LTE0LjEgMy44LTE4LjhMMTMwLjkgMTE2LjV6XCJdXG59O1xudmFyIGZhU2hvZVByaW50cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaG9lLXByaW50cycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjU0YlwiLCBcIk00MTYgMEMzNTIuMyAwIDI1NiAzMiAyNTYgMzJWMTYwYzQ4IDAgNzYgMTYgMTA0IDMyczU2IDMyIDEwNCAzMmM1Ni40IDAgMTc2LTE2IDE3Ni05NlM1MTIgMCA0MTYgMHpNMTI4IDk2YzAgMzUuMyAyOC43IDY0IDY0IDY0aDMyVjMySDE5MmMtMzUuMyAwLTY0IDI4LjctNjQgNjR6TTI4OCA1MTJjOTYgMCAyMjQtNDggMjI0LTEyOHMtMTE5LjYtOTYtMTc2LTk2Yy00OCAwLTc2IDE2LTEwNCAzMnMtNTYgMzItMTA0IDMyVjQ4MHM5Ni4zIDMyIDE2MCAzMnpNMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRIOTZWMzUySDY0Yy0zNS4zIDAtNjQgMjguNy02NCA2NHpcIl1cbn07XG52YXIgZmFDaXJjbGVQbHVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1wbHVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJwbHVzLWNpcmNsZVwiXSwgXCJmMDU1XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0yMzIgMzQ0VjI4MEgxNjhjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRoNjRWMTY4YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR2NjRoNjRjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIMjgwdjY0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0elwiXVxufTtcbnZhciBmYVBsdXNDaXJjbGUgPSBmYUNpcmNsZVBsdXM7XG52YXIgZmFGYWNlR3JpblRvbmd1ZVdpbmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1ncmluLXRvbmd1ZS13aW5rJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTQwLCBcImdyaW4tdG9uZ3VlLXdpbmtcIl0sIFwiZjU4YlwiLCBcIk0xNzQuNSA0OTguOEM3My4xIDQ2NC43IDAgMzY4LjkgMCAyNTZDMCAxMTQuNiAxMTQuNiAwIDI1NiAwUzUxMiAxMTQuNiA1MTIgMjU2YzAgMTEyLjktNzMuMSAyMDguNy0xNzQuNSAyNDIuOEMzNDYuNyA0ODQgMzUyIDQ2Ni42IDM1MiA0NDhWNDAxLjFjMjQuMy0xNy41IDQzLjYtNDEuNiA1NS40LTY5LjZjNS0xMS44LTctMjIuNS0xOS4zLTE4LjdjLTM5LjcgMTIuMi04NC41IDE5LTEzMS44IDE5cy05Mi4xLTYuOC0xMzEuOC0xOWMtMTIuMy0zLjgtMjQuMyA2LjktMTkuMyAxOC43YzExLjcgMjcuOCAzMC44IDUxLjcgNTQuOCA2OS4yVjQ0OGMwIDE4LjYgNS4zIDM2IDE0LjUgNTAuOHptMjAuNy0yNjUuMmM1LjMgNy4xIDE1LjMgOC41IDIyLjQgMy4yczguNS0xNS4zIDMuMi0yMi40Yy0zMC40LTQwLjUtOTEuMi00MC41LTEyMS42IDBjLTUuMyA3LjEtMy45IDE3LjEgMy4yIDIyLjRzMTcuMSAzLjkgMjIuNC0zLjJjMTcuNi0yMy41IDUyLjgtMjMuNSA3MC40IDB6TTMzNiAyNzJhNjQgNjQgMCAxIDAgMC0xMjggNjQgNjQgMCAxIDAgMCAxMjh6TTMyMCA0MDIuNlY0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRzLTY0LTI4LjctNjQtNjRWNDAyLjZjMC0xNC43IDExLjktMjYuNiAyNi42LTI2LjZoMmMxMS4zIDAgMjEuMSA3LjkgMjMuNiAxOC45YzIuOCAxMi42IDIwLjggMTIuNiAyMy42IDBjMi41LTExLjEgMTIuMy0xOC45IDIzLjYtMTguOWgyYzE0LjcgMCAyNi42IDExLjkgMjYuNiAyNi42ek0zMzYgMTg0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpcIl1cbn07XG52YXIgZmFHcmluVG9uZ3VlV2luayA9IGZhRmFjZUdyaW5Ub25ndWVXaW5rO1xudmFyIGZhSGFuZEhvbGRpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZC1ob2xkaW5nJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNGJkXCIsIFwiTTU1OS43IDM5Mi4yYzE3LjgtMTMuMSAyMS42LTM4LjEgOC41LTU1LjlzLTM4LjEtMjEuNi01NS45LTguNUwzOTIuNiA0MTZIMjcyYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2aDE2IDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDI4OCAyNzIgMTkzLjdjLTI5LjEgMC01Ny4zIDkuOS04MCAyOEw2OC44IDM4NEgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJIMTkyIDM1Mi41YzI5IDAgNTcuMy05LjMgODAuNy0yNi41bDEyNi42LTkzLjN6bS0zNjYuMS04LjNhLjUgLjUgMCAxIDEgLS45IC4yIC41IC41IDAgMSAxIC45LS4yelwiXVxufTtcbnZhciBmYVBsdWdDaXJjbGVFeGNsYW1hdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwbHVnLWNpcmNsZS1leGNsYW1hdGlvbicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU1ZFwiLCBcIk05NiAwQzc4LjMgMCA2NCAxNC4zIDY0IDMydjk2aDY0VjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek0yODggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2OTZoNjRWMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6TTMyIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMnYzMmMwIDc3LjQgNTUgMTQyIDEyOCAxNTYuOFY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlY0MTIuOGMxMi4zLTIuNSAyNC4xLTYuNCAzNS4xLTExLjVjLTIuMS0xMC44LTMuMS0yMS45LTMuMS0zMy4zYzAtODAuMyA1My44LTE0OCAxMjcuMy0xNjkuMmMuNS0yLjIgLjctNC41IC43LTYuOGMwLTE3LjctMTQuMy0zMi0zMi0zMkgzMnpNNDMyIDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtOTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0wLTE0NGM4LjggMCAxNiA3LjIgMTYgMTZ2ODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWMjg4YzAtOC44IDcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFMaW5rU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGluay1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW1wiY2hhaW4tYnJva2VuXCIsIFwiY2hhaW4tc2xhc2hcIiwgXCJ1bmxpbmtcIl0sIFwiZjEyN1wiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDQ4OS4zIDM1OC4ybDkwLjUtOTAuNWM1Ni41LTU2LjUgNTYuNS0xNDggMC0yMDQuNWMtNTAtNTAtMTI4LjgtNTYuNS0xODYuMy0xNS40bC0xLjYgMS4xYy0xNC40IDEwLjMtMTcuNyAzMC4zLTcuNCA0NC42czMwLjMgMTcuNyA0NC42IDcuNGwxLjYtMS4xYzMyLjEtMjIuOSA3Ni0xOS4zIDEwMy44IDguNmMzMS41IDMxLjUgMzEuNSA4Mi41IDAgMTE0bC05NiA5Ni0zMS45LTI1QzQzMC45IDIzOS42IDQyMC4xIDE3NS4xIDM3NyAxMzJjLTUyLjItNTIuMy0xMzQuNS01Ni4yLTE5MS4zLTExLjdMMzguOCA1LjF6TTIzOSAxNjJjMzAuMS0xNC45IDY3LjctOS45IDkyLjggMTUuM2MyMCAyMCAyNy41IDQ4LjMgMjEuNyA3NC41TDIzOSAxNjJ6TTExNi42IDE4Ny45TDYwLjIgMjQ0LjNjLTU2LjUgNTYuNS01Ni41IDE0OCAwIDIwNC41YzUwIDUwIDEyOC44IDU2LjUgMTg2LjMgMTUuNGwxLjYtMS4xYzE0LjQtMTAuMyAxNy43LTMwLjMgNy40LTQ0LjZzLTMwLjMtMTcuNy00NC42LTcuNGwtMS42IDEuMWMtMzIuMSAyMi45LTc2IDE5LjMtMTAzLjgtOC42Qzc0IDM3MiA3NCAzMjEgMTA1LjUgMjg5LjVsNjEuOC02MS44LTUwLjYtMzkuOXpNMjIwLjkgMjcwYy0yLjEgMzkuOCAxMi4yIDgwLjEgNDIuMiAxMTBjMzguOSAzOC45IDk0LjQgNTEgMTQzLjYgMzYuM0wyMjAuOSAyNzB6XCJdXG59O1xudmFyIGZhQ2hhaW5Ccm9rZW4gPSBmYUxpbmtTbGFzaDtcbnZhciBmYUNoYWluU2xhc2ggPSBmYUxpbmtTbGFzaDtcbnZhciBmYVVubGluayA9IGZhTGlua1NsYXNoO1xudmFyIGZhQ2xvbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvbmUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYyNGRcIiwgXCJNMjg4IDQ0OEg2NFYyMjRoNjRWMTYwSDY0Yy0zNS4zIDAtNjQgMjguNy02NCA2NFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMjg4YzM1LjMgMCA2NC0yOC43IDY0LTY0VjM4NEgyODh2NjR6bS02NC05Nkg0NDhjMzUuMyAwIDY0LTI4LjcgNjQtNjRWNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRIMjI0Yy0zNS4zIDAtNjQgMjguNy02NCA2NFYyODhjMCAzNS4zIDI4LjcgNjQgNjQgNjR6XCJdXG59O1xudmFyIGZhUGVyc29uV2Fsa2luZ0Fycm93TG9vcExlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLXdhbGtpbmctYXJyb3ctbG9vcC1sZWZ0JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTUxXCIsIFwiTTIwOCA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTEyMy43IDIwMC41YzEtLjQgMS45LS44IDIuOS0xLjJsLTE2LjkgNjMuNWMtNS42IDIxLjEtLjEgNDMuNiAxNC43IDU5LjdsNzAuNyA3Ny4xIDIyIDg4LjFjNC4zIDE3LjEgMjEuNyAyNy42IDM4LjggMjMuM3MyNy42LTIxLjcgMjMuMy0zOC44bC0yMy05Mi4xYy0xLjktNy44LTUuOC0xNC45LTExLjItMjAuOGwtNDkuNS01NCAxOS4zLTY1LjUgOS42IDIzYzQuNCAxMC42IDEyLjUgMTkuMyAyMi44IDI0LjVsMjYuNyAxMy4zYzE1LjggNy45IDM1IDEuNSA0Mi45LTE0LjNzMS41LTM1LTE0LjMtNDIuOUwyODEgMjMyLjdsLTE1LjMtMzYuOEMyNDguNSAxNTQuOCAyMDguMyAxMjggMTYzLjcgMTI4Yy0yMi44IDAtNDUuMyA0LjgtNjYuMSAxNGwtOCAzLjVjLTMyLjkgMTQuNi01OC4xIDQyLjQtNjkuNCA3Ni41bC0yLjYgNy44Yy01LjYgMTYuOCAzLjUgMzQuOSAyMC4yIDQwLjVzMzQuOS0zLjUgNDAuNS0yMC4ybDIuNi03LjhjNS43LTE3LjEgMTguMy0zMC45IDM0LjctMzguMmw4LTMuNXptLTMwIDEzNS4xTDY4LjcgMzk4IDkuNCA0NTcuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxMTYuMyA0NDFjNC42LTQuNiA4LjItMTAuMSAxMC42LTE2LjFsMTQuNS0zNi4yLTQwLjctNDQuNGMtMi41LTIuNy00LjgtNS42LTctOC42em0zNDcuNyAxMTljMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0w0NjEuMyAzODRINDgwYzg4LjQgMCAxNjAtNzEuNiAxNjAtMTYwcy03MS42LTE2MC0xNjAtMTYwTDM1MiA2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxMjggMGM1MyAwIDk2IDQzIDk2IDk2cy00MyA5Ni05NiA5Nkg0NjEuM2wyNS40LTI1LjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTgwIDgwYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w4MCA4MHpcIl1cbn07XG52YXIgZmFBcnJvd1VwWkEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdXAtei1hJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzb3J0LWFscGhhLXVwLWFsdFwiXSwgXCJmODgyXCIsIFwiTTE4My42IDQyLjRDMTc3LjUgMzUuOCAxNjkgMzIgMTYwIDMycy0xNy41IDMuOC0yMy42IDEwLjRsLTg4IDk2Yy0xMS45IDEzLTExLjEgMzMuMyAyIDQ1LjJzMzMuMyAxMS4xIDQ1LjItMkwxMjggMTQ2LjNWNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMTQ2LjNsMzIuNCAzNS40YzExLjkgMTMgMzIuMiAxMy45IDQ1LjIgMnMxMy45LTMyLjIgMi00NS4ybC04OC05NnpNMzIwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyaDUwLjdsLTczLjQgNzMuNGMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0LjlzMTYuNiAxOS44IDI5LjYgMTkuOEg0ODBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINDI5LjNsNzMuNC03My40YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45cy0xNi42LTE5LjgtMjkuNi0xOS44SDM1MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6bTk2IDE5MmMtMTIuMSAwLTIzLjIgNi44LTI4LjYgMTcuN2wtNjQgMTI4LTE2IDMyYy03LjkgMTUuOC0xLjUgMzUgMTQuMyA0Mi45czM1IDEuNSA0Mi45LTE0LjNsNy4yLTE0LjNoODguNGw3LjIgMTQuM2M3LjkgMTUuOCAyNy4xIDIyLjIgNDIuOSAxNC4zczIyLjItMjcuMSAxNC4zLTQyLjlsLTE2LTMyLTY0LTEyOEM0MzkuMiAyNjIuOCA0MjguMSAyNTYgNDE2IDI1NnpNMzk1LjggNDAwTDQxNiAzNTkuNiA0MzYuMiA0MDBIMzk1Ljh6XCJdXG59O1xudmFyIGZhU29ydEFscGhhVXBBbHQgPSBmYUFycm93VXBaQTtcbnZhciBmYUZpcmVGbGFtZUN1cnZlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaXJlLWZsYW1lLWN1cnZlZCcsXG4gIGljb246IFszODQsIDUxMiwgW1wiZmlyZS1hbHRcIl0sIFwiZjdlNFwiLCBcIk0xNTMuNiAyOS45bDE2LTIxLjNDMTczLjYgMy4yIDE4MCAwIDE4Ni43IDBDMTk4LjQgMCAyMDggOS42IDIwOCAyMS4zVjQzLjVjMCAxMy4xIDUuNCAyNS43IDE0LjkgMzQuN0wzMDcuNiAxNTlDMzU2LjQgMjA1LjYgMzg0IDI3MC4yIDM4NCAzMzcuN0MzODQgNDM0IDMwNiA1MTIgMjA5LjcgNTEySDE5MkM4NiA1MTIgMCA0MjYgMCAzMjB2LTMuOGMwLTQ4LjggMTkuNC05NS42IDUzLjktMTMwLjFsMy41LTMuNWM0LjItNC4yIDEwLTYuNiAxNi02LjZDODUuOSAxNzYgOTYgMTg2LjEgOTYgMTk4LjZWMjg4YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR2LTMuOWMwLTE4LTcuMi0zNS4zLTE5LjktNDhsLTM4LjYtMzguNmMtMjQtMjQtMzcuNS01Ni43LTM3LjUtOTAuN2MwLTI3LjcgOS01NC44IDI1LjYtNzYuOXpcIl1cbn07XG52YXIgZmFGaXJlQWx0ID0gZmFGaXJlRmxhbWVDdXJ2ZWQ7XG52YXIgZmFUb3JuYWRvID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Rvcm5hZG8nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjc3ODZdLCBcImY3NmZcIiwgXCJNMCAzMlY0NS42QzAgNjIuNyAxLjcgNzkuNiA1IDk2SDM1Ny44YzMuMi02LjkgNy41LTEzLjMgMTMtMTguOGwzOC42LTM4LjZjNC4yLTQuMiA2LjYtMTAgNi42LTE2QzQxNiAxMC4xIDQwNS45IDAgMzkzLjQgMEgzMkMxNC4zIDAgMCAxNC4zIDAgMzJ6bTM1Mi4yIDk2SDEzLjZjMTIuMiAzNS45IDMyLjMgNjguNyA1OC44IDk2SDQxMmwtNDcuMi02Mi45Yy03LjMtOS43LTExLjYtMjEuMi0xMi42LTMzLjF6bS0yMjYgMTM4LjJsMTE2LjQgNjguNWM4LjIgNC44IDE1LjggMTAuNyAyMi41IDE3LjNINDQ1YzItOS44IDMtMTkuOSAzLTMwLjFjMC0yMy01LjMtNDUuNS0xNS4zLTY1LjlIMTEwLjJjNS4yIDMuNiAxMC41IDcgMTYgMTAuMnpNMjg4IDM4NGMxMC4zIDIxLjQgMTMuOCA0NS41IDkuOSA2OWwtNS45IDM1LjdjLTIgMTIuMiA3LjQgMjMuNCAxOS44IDIzLjRjNS4zIDAgMTAuNC0yLjEgMTQuMi01LjlsNzguMi03OC4yYzEyLjgtMTIuOCAyMy4xLTI3LjcgMzAuNC00My45SDI4OHpcIl1cbn07XG52YXIgZmFGaWxlQ2lyY2xlUGx1cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLWNpcmNsZS1wbHVzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbNTg2MDZdLCBcImU0OTRcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBIMjI0VjEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMkgzODR2MzguNkMzMTAuMSAyMTkuNSAyNTYgMjg3LjQgMjU2IDM2OGMwIDU5LjEgMjkuMSAxMTEuMyA3My43IDE0My4zYy0zLjIgLjUtNi40IC43LTkuNyAuN0g2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWNjR6bTM4NCA2NEgyNTZWMEwzODQgMTI4em00OCA5NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTE2IDgwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2djQ4SDM2OGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmg0OHY0OGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjM4NGg0OGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkg0NDhWMzA0elwiXVxufTtcbnZhciBmYUJvb2tRdXJhbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib29rLXF1cmFuJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJxdXJhblwiXSwgXCJmNjg3XCIsIFwiTTM1MiAwYzUzIDAgOTYgNDMgOTYgOTZWNDE2YzAgNTMtNDMgOTYtOTYgOTZINjQgMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJWMzg0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYzMkMwIDE0LjMgMTQuMyAwIDMyIDBINjQgMzUyem0wIDM4NEg5NnY2NEgzNTJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJ6TTI3NC4xIDE1MC4ybC04LjkgMjEuNC0yMy4xIDEuOWMtNS43IC41LTggNy41LTMuNyAxMS4yTDI1NiAxOTkuOGwtNS40IDIyLjZjLTEuMyA1LjUgNC43IDkuOSA5LjYgNi45TDI4MCAyMTcuMmwxOS44IDEyLjFjNC45IDMgMTAuOS0xLjQgOS42LTYuOUwzMDQgMTk5LjhsMTcuNi0xNS4xYzQuMy0zLjcgMi0xMC44LTMuNy0xMS4ybC0yMy4xLTEuOS04LjktMjEuNGMtMi4yLTUuMy05LjYtNS4zLTExLjggMHpNOTYgMTkyYzAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4YzI1LjYgMCA0OS41LTcuNSA2OS41LTIwLjVjMy4yLTIuMSA0LjUtNi4yIDMuMS05LjdzLTUuMi01LjYtOS00LjhjLTYuMSAxLjItMTIuNSAxLjktMTkgMS45Yy01Mi40IDAtOTQuOS00Mi41LTk0LjktOTQuOXM0Mi41LTk0LjkgOTQuOS05NC45YzYuNSAwIDEyLjggLjcgMTkgMS45YzMuOCAuOCA3LjUtMS4zIDktNC44cy4yLTcuNi0zLjEtOS43QzI3My41IDcxLjUgMjQ5LjYgNjQgMjI0IDY0QzE1My4zIDY0IDk2IDEyMS4zIDk2IDE5MnpcIl1cbn07XG52YXIgZmFRdXJhbiA9IGZhQm9va1F1cmFuO1xudmFyIGZhQW5jaG9yID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2FuY2hvcicsXG4gIGljb246IFs1NzYsIDUxMiwgWzk4NzVdLCBcImYxM2RcIiwgXCJNMzIwIDk2YTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6bTIxLjEgODBDMzY3IDE1OC44IDM4NCAxMjkuNCAzODQgOTZjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZjMCAzMy40IDE3IDYyLjggNDIuOSA4MEgyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoMzJWNDQ4SDIwOGMtNTMgMC05Ni00My05Ni05NnYtNi4xbDcgN2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMOTcgMjYzYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMEw3IDMxOWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDctN1YzNTJjMCA4OC40IDcxLjYgMTYwIDE2MCAxNjBoODAgODBjODguNCAwIDE2MC03MS42IDE2MC0xNjB2LTYuMWw3IDdjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC01Ni01NmMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBsLTU2IDU2Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNy03VjM1MmMwIDUzLTQzIDk2LTk2IDk2SDMyMFYyNDBoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzQxLjF6XCJdXG59O1xudmFyIGZhQm9yZGVyQWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JvcmRlci1hbGwnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImY4NGNcIiwgXCJNMzg0IDk2VjIyNEgyNTZWOTZIMzg0em0wIDE5MlY0MTZIMjU2VjI4OEgzODR6TTE5MiAyMjRINjRWOTZIMTkyVjIyNHpNNjQgMjg4SDE5MlY0MTZINjRWMjg4ek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEgzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6XCJdXG59O1xudmFyIGZhRmFjZUFuZ3J5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtYW5ncnknLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1NDQsIFwiYW5ncnlcIl0sIFwiZjU1NlwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6TTMzOC43IDM5NS45YzYuNi01LjkgNy4xLTE2IDEuMi0yMi42QzMyMy44IDM1NS40IDI5NS43IDMzNiAyNTYgMzM2cy02Ny44IDE5LjQtODMuOSAzNy4zYy01LjkgNi42LTUuNCAxNi43IDEuMiAyMi42czE2LjcgNS40IDIyLjYtMS4yYzExLjctMTMgMzEuNi0yNi43IDYwLjEtMjYuN3M0OC40IDEzLjcgNjAuMSAyNi43YzUuOSA2LjYgMTYgNy4xIDIyLjYgMS4yek0xNzYuNCAyNzJjMTcuNyAwIDMyLTE0LjMgMzItMzJjMC0xLjUtLjEtMy0uMy00LjRsMTAuOSAzLjZjOC40IDIuOCAxNy40LTEuNyAyMC4yLTEwLjFzLTEuNy0xNy40LTEwLjEtMjAuMmwtOTYtMzJjLTguNC0yLjgtMTcuNCAxLjctMjAuMiAxMC4xczEuNyAxNy40IDEwLjEgMjAuMmwzMC43IDEwLjJjLTUuOCA1LjgtOS4zIDEzLjgtOS4zIDIyLjZjMCAxNy43IDE0LjMgMzIgMzIgMzJ6bTE5Mi0zMmMwLTguOS0zLjYtMTctOS41LTIyLjhsMzAuMi0xMC4xYzguNC0yLjggMTIuOS0xMS45IDEwLjEtMjAuMnMtMTEuOS0xMi45LTIwLjItMTAuMWwtOTYgMzJjLTguNCAyLjgtMTIuOSAxMS45LTEwLjEgMjAuMnMxMS45IDEyLjkgMjAuMiAxMC4xbDExLjctMy45Yy0uMiAxLjUtLjMgMy4xLS4zIDQuN2MwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyelwiXVxufTtcbnZhciBmYUFuZ3J5ID0gZmFGYWNlQW5ncnk7XG52YXIgZmFDb29raWVCaXRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nvb2tpZS1iaXRlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNTY0XCIsIFwiTTI1Ny41IDI3LjZjLS44LTUuNC00LjktOS44LTEwLjMtMTAuNnYwYy0yMi4xLTMuMS00NC42IC45LTY0LjQgMTEuNGwtNzQgMzkuNUM4OS4xIDc4LjQgNzMuMiA5NC45IDYzLjQgMTE1TDI2LjcgMTkwLjZjLTkuOCAyMC4xLTEzIDQyLjktOS4xIDY0LjlsMTQuNSA4Mi44YzMuOSAyMi4xIDE0LjYgNDIuMyAzMC43IDU3LjlsNjAuMyA1OC40YzE2LjEgMTUuNiAzNi42IDI1LjYgNTguNyAyOC43bDgzIDExLjdjMjIuMSAzLjEgNDQuNi0uOSA2NC40LTExLjRsNzQtMzkuNWMxOS43LTEwLjUgMzUuNi0yNyA0NS40LTQ3LjJsMzYuNy03NS41YzkuOC0yMC4xIDEzLTQyLjkgOS4xLTY0Ljl2MGMtLjktNS4zLTUuMy05LjMtMTAuNi0xMC4xYy01MS41LTguMi05Mi44LTQ3LjEtMTA0LjUtOTcuNGMtMS44LTcuNi04LTEzLjQtMTUuNy0xNC42Yy01NC42LTguNy05Ny43LTUyLTEwNi4yLTEwNi44ek0yMDggMTQ0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMTQ0IDMzNmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0yMjQtNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbnZhciBmYUFycm93VHJlbmREb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXRyZW5kLWRvd24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImUwOTdcIiwgXCJNMzg0IDM1MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg1NDRjMTcuNyAwIDMyLTE0LjMgMzItMzJWMjI0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMydjgyLjdMMzQyLjYgMTM3LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwTDE5MiAyNDIuNyA1NC42IDEwNS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwTDMyMCAyMDUuMyA0NjYuNyAzNTJIMzg0elwiXVxufTtcbnZhciBmYVJzcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyc3MnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImZlZWRcIl0sIFwiZjA5ZVwiLCBcIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMyYzIyOS44IDAgNDE2IDE4Ni4yIDQxNiA0MTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJDMzg0IDI1My42IDIyNi40IDk2IDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjR6TTAgNDE2YTY0IDY0IDAgMSAxIDEyOCAwQTY0IDY0IDAgMSAxIDAgNDE2ek0zMiAxNjBjMTU5LjEgMCAyODggMTI4LjkgMjg4IDI4OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmMwLTEyMy43LTEwMC4zLTIyNC0yMjQtMjI0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyelwiXVxufTtcbnZhciBmYUZlZWQgPSBmYVJzcztcbnZhciBmYURyYXdQb2x5Z29uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RyYXctcG9seWdvbicsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjVlZVwiLCBcIk05NiAxNTEuNFYzNjAuNmM5LjcgNS42IDE3LjggMTMuNyAyMy40IDIzLjRIMzI4LjZjMC0uMSAuMS0uMiAuMS0uM2wtNC41LTcuOS0zMi01NiAwIDBjLTEuNCAuMS0yLjggLjEtNC4yIC4xYy0zNS4zIDAtNjQtMjguNy02NC02NHMyOC43LTY0IDY0LTY0YzEuNCAwIDIuOCAwIDQuMiAuMWwwIDAgMzItNTYgNC41LTcuOS0uMS0uM0gxMTkuNGMtNS42IDkuNy0xMy43IDE3LjgtMjMuNCAyMy40ek0zODQuMyAzNTJjMzUuMiAuMiA2My43IDI4LjcgNjMuNyA2NGMwIDM1LjMtMjguNyA2NC02NCA2NGMtMjMuNyAwLTQ0LjQtMTIuOS01NS40LTMySDExOS40Yy0xMS4xIDE5LjEtMzEuNyAzMi01NS40IDMyYy0zNS4zIDAtNjQtMjguNy02NC02NGMwLTIzLjcgMTIuOS00NC40IDMyLTU1LjRWMTUxLjRDMTIuOSAxNDAuNCAwIDExOS43IDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJjMjMuNyAwIDQ0LjQgMTIuOSA1NS40IDMySDMyOC42YzExLjEtMTkuMSAzMS43LTMyIDU1LjQtMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRjMCAzNS4zLTI4LjUgNjMuOC02My43IDY0bC00LjUgNy45LTMyIDU2LTIuMyA0YzQuMiA4LjUgNi41IDE4IDYuNSAyOC4xcy0yLjMgMTkuNi02LjUgMjguMWwyLjMgNCAzMiA1NiA0LjUgNy45elwiXVxufTtcbnZhciBmYVNjYWxlQmFsYW5jZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2NhbGUtYmFsYW5jZWQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFs5ODc4LCBcImJhbGFuY2Utc2NhbGVcIl0sIFwiZjI0ZVwiLCBcIk0zODQgMzJINTEyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDM5OC40Yy01LjIgMjUuOC0yMi45IDQ3LjEtNDYuNCA1Ny4zVjQ0OEg1MTJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzIwIDEyOGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkgyODhWMTUzLjNjLTIzLjUtMTAuMy00MS4yLTMxLjYtNDYuNC01Ny4zSDEyOGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkgyNTZjMTQuNi0xOS40IDM3LjgtMzIgNjQtMzJzNDkuNCAxMi42IDY0IDMyem01NS42IDI4OEg1ODQuNEw1MTIgMTk1LjggNDM5LjYgMzIwek01MTIgNDE2Yy02Mi45IDAtMTE1LjItMzQtMTI2LTc4LjljLTIuNi0xMSAxLTIyLjMgNi43LTMyLjFsOTUuMi0xNjMuMmM1LTguNiAxNC4yLTEzLjggMjQuMS0xMy44czE5LjEgNS4zIDI0LjEgMTMuOGw5NS4yIDE2My4yYzUuNyA5LjggOS4zIDIxLjEgNi43IDMyLjFDNjI3LjIgMzgyIDU3NC45IDQxNiA1MTIgNDE2ek0xMjYuOCAxOTUuOEw1NC40IDMyMEgxOTkuM0wxMjYuOCAxOTUuOHpNLjkgMzM3LjFjLTIuNi0xMSAxLTIyLjMgNi43LTMyLjFsOTUuMi0xNjMuMmM1LTguNiAxNC4yLTEzLjggMjQuMS0xMy44czE5LjEgNS4zIDI0LjEgMTMuOGw5NS4yIDE2My4yYzUuNyA5LjggOS4zIDIxLjEgNi43IDMyLjFDMjQyIDM4MiAxODkuNyA0MTYgMTI2LjggNDE2UzExLjcgMzgyIC45IDMzNy4xelwiXVxufTtcbnZhciBmYUJhbGFuY2VTY2FsZSA9IGZhU2NhbGVCYWxhbmNlZDtcbnZhciBmYUdhdWdlU2ltcGxlSGlnaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnYXVnZS1zaW1wbGUtaGlnaCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzYxNjY4LCBcInRhY2hvbWV0ZXJcIiwgXCJ0YWNob21ldGVyLWZhc3RcIl0sIFwiZjYyYVwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6bTMyMCA5NmMwLTE1LjktNS44LTMwLjQtMTUuMy00MS42bDc2LjYtMTQ3LjRjNi4xLTExLjggMS41LTI2LjMtMTAuMi0zMi40cy0yNi4yLTEuNS0zMi40IDEwLjJMMjYyLjEgMjg4LjNjLTItLjItNC0uMy02LjEtLjNjLTM1LjMgMC02NCAyOC43LTY0IDY0czI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHpcIl1cbn07XG52YXIgZmFUYWNob21ldGVyID0gZmFHYXVnZVNpbXBsZUhpZ2g7XG52YXIgZmFUYWNob21ldGVyRmFzdCA9IGZhR2F1Z2VTaW1wbGVIaWdoO1xudmFyIGZhU2hvd2VyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Nob3dlcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODcwM10sIFwiZjJjY1wiLCBcIk02NCAxMzEuOUM2NCAxMTIuMSA4MC4xIDk2IDk5LjkgOTZjOS41IDAgMTguNiAzLjggMjUuNCAxMC41bDE2LjIgMTYuMmMtMjEgMzguOS0xNy40IDg3LjUgMTAuOSAxMjNMMTUxIDI0N2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwTDM0NSAxMjFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMS4zIDEuM2MtMzUuNS0yOC4zLTg0LjItMzEuOS0xMjMtMTAuOUwxNzAuNSA2MS4zQzE1MS44IDQyLjUgMTI2LjQgMzIgOTkuOSAzMkM0NC43IDMyIDAgNzYuNyAwIDEzMS45VjQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjEzMS45ek0yNTYgMzUyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptNjQgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMC0xMjhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em02NCA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0wLTEyOGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTY0IDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTMyLTMyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG52YXIgZmFEZXNrdG9wID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Rlc2t0b3AnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjg0MjEsIDYxNzA0LCBcImRlc2t0b3AtYWx0XCJdLCBcImYzOTBcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRWMzUyYzAgMzUuMyAyOC43IDY0IDY0IDY0SDI0MGwtMTAuNyAzMkgxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDE2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDM0Ni43TDMzNiA0MTZINTEyYzM1LjMgMCA2NC0yOC43IDY0LTY0VjY0YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0ek01MTIgNjRWMjg4SDY0VjY0SDUxMnpcIl1cbn07XG52YXIgZmFEZXNrdG9wQWx0ID0gZmFEZXNrdG9wO1xudmFyIGZhTSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTA5XSwgXCI0ZFwiLCBcIk0yMi43IDMzLjRjMTMuNS00LjEgMjguMSAxLjEgMzUuOSAxMi45TDIyNCAyOTQuMyAzODkuNCA0Ni4yYzcuOC0xMS43IDIyLjQtMTcgMzUuOS0xMi45UzQ0OCA0OS45IDQ0OCA2NFY0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMTY5LjdMMjUwLjYgMzY5LjhjLTUuOSA4LjktMTUuOSAxNC4yLTI2LjYgMTQuMnMtMjAuNy01LjMtMjYuNi0xNC4yTDY0IDE2OS43VjQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY2NEMwIDQ5LjkgOS4yIDM3LjUgMjIuNyAzMy40elwiXVxufTtcbnZhciBmYVRhYmxlTGlzdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YWJsZS1saXN0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJ0aC1saXN0XCJdLCBcImYwMGJcIiwgXCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMkg0NDhjMzUuMyAwIDY0IDI4LjcgNjQgNjRWNDE2YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY5NnptNjQgMHY2NGg2NFY5Nkg2NHptMzg0IDBIMTkydjY0SDQ0OFY5NnpNNjQgMjI0djY0aDY0VjIyNEg2NHptMzg0IDBIMTkydjY0SDQ0OFYyMjR6TTY0IDM1MnY2NGg2NFYzNTJINjR6bTM4NCAwSDE5MnY2NEg0NDhWMzUyelwiXVxufTtcbnZhciBmYVRoTGlzdCA9IGZhVGFibGVMaXN0O1xudmFyIGZhQ29tbWVudFNtcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb21tZW50LXNtcycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wic21zXCJdLCBcImY3Y2RcIiwgXCJNMjU2IDQ0OGMxNDEuNCAwIDI1Ni05My4xIDI1Ni0yMDhTMzk3LjQgMzIgMjU2IDMyUzAgMTI1LjEgMCAyNDBjMCA0NS4xIDE3LjcgODYuOCA0Ny43IDEyMC45Yy0xLjkgMjQuNS0xMS40IDQ2LjMtMjEuNCA2Mi45Yy01LjUgOS4yLTExLjEgMTYuNi0xNS4yIDIxLjZjLTIuMSAyLjUtMy43IDQuNC00LjkgNS43Yy0uNiAuNi0xIDEuMS0xLjMgMS40bC0uMyAuMyAwIDAgMCAwIDAgMCAwIDBjLTQuNiA0LjYtNS45IDExLjQtMy40IDE3LjRjMi41IDYgOC4zIDkuOSAxNC44IDkuOWMyOC43IDAgNTcuNi04LjkgODEuNi0xOS4zYzIyLjktMTAgNDIuNC0yMS45IDU0LjMtMzAuNmMzMS44IDExLjUgNjcgMTcuOSAxMDQuMSAxNy45ek05NiAyMTIuOGMwLTIwLjMgMTYuNS0zNi44IDM2LjgtMzYuOEgxNTJjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMTMyLjhjLTIuNyAwLTQuOCAyLjItNC44IDQuOGMwIDEuNiAuOCAzLjEgMi4yIDRsMjkuNCAxOS42YzEwLjMgNi44IDE2LjQgMTguMyAxNi40IDMwLjdjMCAyMC4zLTE2LjUgMzYuOC0zNi44IDM2LjhIMTEyYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2aDI3LjJjMi43IDAgNC44LTIuMiA0LjgtNC44YzAtMS42LS44LTMuMS0yLjItNGwtMjkuNC0xOS42QzEwMi4yIDIzNi43IDk2IDIyNS4yIDk2IDIxMi44ek0zNzIuOCAxNzZIMzkyYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDM3Mi44Yy0yLjcgMC00LjggMi4yLTQuOCA0LjhjMCAxLjYgLjggMy4xIDIuMiA0bDI5LjQgMTkuNmMxMC4yIDYuOCAxNi40IDE4LjMgMTYuNCAzMC43YzAgMjAuMy0xNi41IDM2LjgtMzYuOCAzNi44SDM1MmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmgyNy4yYzIuNyAwIDQuOC0yLjIgNC44LTQuOGMwLTEuNi0uOC0zLjEtMi4yLTRsLTI5LjQtMTkuNmMtMTAuMi02LjgtMTYuNC0xOC4zLTE2LjQtMzAuN2MwLTIwLjMgMTYuNS0zNi44IDM2LjgtMzYuOHptLTE1MiA2LjRMMjU2IDIyOS4zbDM1LjItNDYuOWM0LjEtNS41IDExLjMtNy44IDE3LjktNS42czEwLjkgOC4zIDEwLjkgMTUuMnY5NmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlYyNDBsLTE5LjIgMjUuNmMtMyA0LTcuOCA2LjQtMTIuOCA2LjRzLTkuOC0yLjQtMTIuOC02LjRMMjI0IDI0MHY0OGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlYxOTJjMC02LjkgNC40LTEzIDEwLjktMTUuMnMxMy43IC4xIDE3LjkgNS42elwiXVxufTtcbnZhciBmYVNtcyA9IGZhQ29tbWVudFNtcztcbnZhciBmYUJvb2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9vaycsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODIxMl0sIFwiZjAyZFwiLCBcIk05NiAwQzQzIDAgMCA0MyAwIDk2VjQxNmMwIDUzIDQzIDk2IDk2IDk2SDM4NGgzMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMlYzODRjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzJjMC0xNy43LTE0LjMtMzItMzItMzJIMzg0IDk2em0wIDM4NEgzNTJ2NjRIOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTMyLTI0MGMwLTguOCA3LjItMTYgMTYtMTZIMzM2YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDE0NGMtOC44IDAtMTYtNy4yLTE2LTE2em0xNiA0OEgzMzZjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMTQ0Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2elwiXVxufTtcbnZhciBmYVVzZXJQbHVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItcGx1cycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjIzNFwiLCBcIk05NiAxMjhhMTI4IDEyOCAwIDEgMSAyNTYgMEExMjggMTI4IDAgMSAxIDk2IDEyOHpNMCA0ODIuM0MwIDM4My44IDc5LjggMzA0IDE3OC4zIDMwNGg5MS40QzM2OC4yIDMwNCA0NDggMzgzLjggNDQ4IDQ4Mi4zYzAgMTYuNC0xMy4zIDI5LjctMjkuNyAyOS43SDI5LjdDMTMuMyA1MTIgMCA0OTguNyAwIDQ4Mi4zek01MDQgMzEyVjI0OEg0NDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRoNjRWMTM2YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR2NjRoNjRjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRINTUydjY0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0elwiXVxufTtcbnZhciBmYUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZWNrJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTAwMDMsIDEwMDA0XSwgXCJmMDBjXCIsIFwiTTQzOC42IDEwNS40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC0yNTYgMjU2Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtMTI4LTEyOGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEwxNjAgMzM4LjcgMzkzLjQgMTA1LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDB6XCJdXG59O1xudmFyIGZhQmF0dGVyeVRocmVlUXVhcnRlcnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmF0dGVyeS10aHJlZS1xdWFydGVycycsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiYmF0dGVyeS00XCJdLCBcImYyNDFcIiwgXCJNNDY0IDE2MGM4LjggMCAxNiA3LjIgMTYgMTZWMzM2YzAgOC44LTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjE3NmMwLTguOCA3LjItMTYgMTYtMTZINDY0ek04MCA5NkMzNS44IDk2IDAgMTMxLjggMCAxNzZWMzM2YzAgNDQuMiAzNS44IDgwIDgwIDgwSDQ2NGM0NC4yIDAgODAtMzUuOCA4MC04MFYzMjBjMTcuNyAwIDMyLTE0LjMgMzItMzJWMjI0YzAtMTcuNy0xNC4zLTMyLTMyLTMyVjE3NmMwLTQ0LjItMzUuOC04MC04MC04MEg4MHptMjcyIDk2SDk2VjMyMEgzNTJWMTkyelwiXVxufTtcbnZhciBmYUJhdHRlcnk0ID0gZmFCYXR0ZXJ5VGhyZWVRdWFydGVycztcbnZhciBmYUhvdXNlQ2lyY2xlQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTA5XCIsIFwiTTMyMC43IDM1MmM4LjEtODkuNyA4My41LTE2MCAxNzUuMy0xNjBjOC45IDAgMTcuNiAuNyAyNi4xIDEuOUwzMDkuNSA3Yy02LTUtMTQtNy0yMS03cy0xNSAxLTIyIDhMMTAgMjMxLjVjLTcgNy0xMCAxNS0xMCAyNGMwIDE4IDE0IDMyLjEgMzIgMzIuMWgzMnY2OS43Yy0uMSAuOS0uMSAxLjgtLjEgMi44VjQ3MmMwIDIyLjEgMTcuOSA0MCA0MCA0MGgxNmMxLjIgMCAyLjQtLjEgMy42LS4yYzEuNSAuMSAzIC4yIDQuNSAuMkgxNjBoMjRjMjIuMSAwIDQwLTE3LjkgNDAtNDBWNDQ4IDM4NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmg2NGwuNyAwek02NDAgMzY4YTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS03Ni43LTQzLjNjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZsLTcyIDcyYy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMGwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMEw0ODAgMzg1LjRsNjAuNy02MC43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwelwiXVxufTtcbnZhciBmYUFuZ2xlTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbmdsZS1sZWZ0JyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbODI0OV0sIFwiZjEwNFwiLCBcIk00MS40IDIzMy40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMTA5LjMgMjU2IDI0Ni42IDExOC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0xNjAgMTYwelwiXVxufTtcbnZhciBmYURpYWdyYW1TdWNjZXNzb3IgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGlhZ3JhbS1zdWNjZXNzb3InLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0N2FcIiwgXCJNNTEyIDQxNmwwLTY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDI4OGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NHpNNjQgMTYwbDAtNjQgMTQ0IDAgMTYgMCAwIDY0TDY0IDE2MHptMjI0IDBsMC02NCA4MCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2LTM4LjEgMGMtMjEuNCAwLTMyLjEgMjUuOS0xNyA0MUwzOTkgMjM5YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwTDUwMyAxNjljMTUuMS0xNS4xIDQuNC00MS0xNy00MUw0NDggMTI4bDAtMTZjMC00NC4yLTM1LjgtODAtODAtODBMMjI0IDMybC0xNiAwTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxNjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NHpcIl1cbn07XG52YXIgZmFUcnVja0Fycm93UmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJ1Y2stYXJyb3ctcmlnaHQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1OGJcIiwgXCJNMCA0OEMwIDIxLjUgMjEuNSAwIDQ4IDBIMzY4YzI2LjUgMCA0OCAyMS41IDQ4IDQ4Vjk2aDUwLjdjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMNTg5LjMgMTkyYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNWMjU2djMyIDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDU3NmMwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05NkgyNTZjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjQ4ek00MTYgMjU2SDU0NFYyMzcuM0w0NjYuNyAxNjBINDE2djk2ek0xNjAgNDY0YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptMzY4LTQ4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTI1NyA5NWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwzOSAzOUg5NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNEgyNjIuMWwtMzkgMzljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw4MC04MGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOUwyNTcgOTV6XCJdXG59O1xudmFyIGZhQXJyb3dzU3BsaXRVcEFuZExlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3dzLXNwbGl0LXVwLWFuZC1sZWZ0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNGJjXCIsIFwiTTI0Ni42IDE1MC42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2w5Ni05NmMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGw5NiA5NmMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwzNTIgMTA5LjNWMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0aDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDQxNmMtNzAuNyAwLTEyOC01Ny4zLTEyOC0xMjhjMC0zNS4zLTI4LjctNjQtNjQtNjRIMTA5LjNsNDEuNCA0MS40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwbC05Ni05NmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNsOTYtOTZjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM0wxMDkuMyAyNTZIMjI0YzIzLjMgMCA0NS4yIDYuMiA2NCAxNy4xVjEwOS4zbC00MS40IDQxLjR6XCJdXG59O1xudmFyIGZhSGFuZEZpc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZC1maXN0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbOTk5NCwgXCJmaXN0LXJhaXNlZFwiXSwgXCJmNmRlXCIsIFwiTTE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjE0NEgxNjBWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTY0IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ2ODBINjRWNjR6bTE5MiAwYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWNjR6bTk2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMTI4em0tOTYgODhsMC0uNmM5LjQgNS40IDIwLjMgOC42IDMyIDguNmMxMy4yIDAgMjUuNC00IDM1LjYtMTAuOGM4LjcgMjQuOSAzMi41IDQyLjggNjAuNCA0Mi44YzExLjcgMCAyMi42LTMuMSAzMi04LjZWMjU2YzAgNTIuMy0yNS4xIDk4LjgtNjQgMTI4djk2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDE2MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDAxLjZjLTE3LjMtNy45LTMzLjItMTguOC00Ni45LTMyLjVMNjkuNSAzNTcuNUM0NS41IDMzMy41IDMyIDMwMC45IDMyIDI2N1YyNDBjMC0zNS4zIDI4LjctNjQgNjQtNjRoODhjMjIuMSAwIDQwIDE3LjkgNDAgNDBzLTE3LjkgNDAtNDAgNDBIMTI4Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2aDU2YzM5LjggMCA3Mi0zMi4yIDcyLTcyelwiXVxufTtcbnZhciBmYUZpc3RSYWlzZWQgPSBmYUhhbmRGaXN0O1xudmFyIGZhQ2xvdWRNb29uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nsb3VkLW1vb24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY2YzNcIiwgXCJNNDk1LjggMGM1LjUgMCAxMC45IC4yIDE2LjMgLjdjNyAuNiAxMi44IDUuNyAxNC4zIDEyLjVzLTEuNiAxMy45LTcuNyAxNy4zYy00NC40IDI1LjItNzQuNCA3My03NC40IDEyNy44YzAgODEgNjUuNSAxNDYuNiAxNDYuMiAxNDYuNmM4LjYgMCAxNy0uNyAyNS4xLTIuMWM2LjktMS4yIDEzLjggMi4yIDE3IDguNXMxLjkgMTMuOC0zLjEgMTguN2MtMzQuNSAzMy42LTgxLjcgNTQuNC0xMzMuNiA1NC40Yy05LjMgMC0xOC40LS43LTI3LjQtMS45Yy0xMS4yLTIyLjYtMjkuOC00MC45LTUyLjYtNTEuN2MtMi43LTU4LjUtNTAuMy0xMDUuMy0xMDkuMi0xMDYuN2MtMS43LTEwLjQtMi42LTIxLTIuNi0zMS44QzMwNCA4Ni4xIDM4OS44IDAgNDk1LjggMHpNNDQ3LjkgNDMxLjljMCA0NC4yLTM1LjggODAtODAgODBIOTZjLTUzIDAtOTYtNDMtOTYtOTZjMC00Ny42IDM0LjYtODcgODAtOTQuNmwwLTEuM2MwLTUzIDQzLTk2IDk2LTk2YzM0LjkgMCA2NS40IDE4LjYgODIuMiA0Ni40YzEzLTkuMSAyOC44LTE0LjQgNDUuOC0xNC40YzQ0LjIgMCA4MCAzNS44IDgwIDgwYzAgNS45LS42IDExLjctMS45IDE3LjJjMzcuNCA2LjcgNjUuOCAzOS40IDY1LjggNzguN3pcIl1cbn07XG52YXIgZmFCcmllZmNhc2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnJpZWZjYXNlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MTg4XSwgXCJmMGIxXCIsIFwiTTE4NCA0OEgzMjhjNC40IDAgOCAzLjYgOCA4Vjk2SDE3NlY1NmMwLTQuNCAzLjYtOCA4LTh6bS01NiA4Vjk2SDY0QzI4LjcgOTYgMCAxMjQuNyAwIDE2MHY5NkgxOTIgMzIwIDUxMlYxNjBjMC0zNS4zLTI4LjctNjQtNjQtNjRIMzg0VjU2YzAtMzAuOS0yNS4xLTU2LTU2LTU2SDE4NGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZ6TTUxMiAyODhIMzIwdjMyYzAgMTcuNy0xNC4zIDMyLTMyIDMySDIyNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMjg4SDBWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NFYyODh6XCJdXG59O1xudmFyIGZhUGVyc29uRmFsbGluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tZmFsbGluZycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTU0NlwiLCBcIk0yODggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDkuOGMwIDU0LjYtMjcuOSAxMDQuNi03Mi41IDEzMy42bC4yIC4zTDMwNC41IDI1Nmw4Ny41IDBjMTUuMSAwIDI5LjMgNy4xIDM4LjQgMTkuMmw0My4yIDU3LjZjMTAuNiAxNC4xIDcuNyAzNC4yLTYuNCA0NC44cy0zNC4yIDcuNy00NC44LTYuNEwzODQgMzIwbC05NiAwaC0xLjRsOTIuMyAxNDIuNmM5LjYgMTQuOCA1LjQgMzQuNi05LjUgNDQuM3MtMzQuNiA1LjQtNDQuMy05LjVMMTY0LjUgMjQ5LjJjLTIuOSA5LjItNC41IDE5LTQuNSAyOWwwIDczLjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMjc4LjJjMC02NS4xIDM5LjYtMTIzLjcgMTAwLjEtMTQ3LjlDMjMyLjMgMTE1LjggMjU2IDgwLjggMjU2IDQxLjhsMC05LjhjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTExMiAzMmE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6XCJdXG59O1xudmFyIGZhSW1hZ2VQb3J0cmFpdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdpbWFnZS1wb3J0cmFpdCcsXG4gIGljb246IFszODQsIDUxMiwgW1wicG9ydHJhaXRcIl0sIFwiZjNlMFwiLCBcIk0zODQgNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRINjRDMjguNyAwIDAgMjguNyAwIDY0VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzMjBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODR6TTEyOCAxOTJhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwek04MCAzNTYuNmMwLTM3LjkgMzAuNy02OC42IDY4LjYtNjguNmg4Ni45YzM3LjkgMCA2OC42IDMwLjcgNjguNiA2OC42YzAgMTUuMS0xMi4zIDI3LjQtMjcuNCAyNy40SDEwNy40QzkyLjMgMzg0IDgwIDM3MS43IDgwIDM1Ni42elwiXVxufTtcbnZhciBmYVBvcnRyYWl0ID0gZmFJbWFnZVBvcnRyYWl0O1xudmFyIGZhVXNlclRhZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLXRhZycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjUwN1wiLCBcIk0yMjQgMjU2QTEyOCAxMjggMCAxIDAgMjI0IDBhMTI4IDEyOCAwIDEgMCAwIDI1NnptLTQ1LjcgNDhDNzkuOCAzMDQgMCAzODMuOCAwIDQ4Mi4zQzAgNDk4LjcgMTMuMyA1MTIgMjkuNyA1MTJINDE4LjNjMTAgMCAxOC44LTQuOSAyNC4yLTEyLjVsLTk5LjItOTkuMmMtMTQuOS0xNC45LTIzLjMtMzUuMS0yMy4zLTU2LjF2LTMzYy0xNS45LTQuNy0zMi44LTcuMi01MC4zLTcuMkgxNzguM3pNMzg0IDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2ODIuN2MwIDE3IDYuNyAzMy4zIDE4LjcgNDUuM0w0NzguMSA0OTEuM2MxOC43IDE4LjcgNDkuMSAxOC43IDY3LjkgMGw3My40LTczLjRjMTguNy0xOC43IDE4LjctNDkuMSAwLTY3LjlMNTEyIDI0Mi43Yy0xMi0xMi0yOC4zLTE4LjctNDUuMy0xOC43SDM4NHptMjQgODBhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpcIl1cbn07XG52YXIgZmFSdWcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncnVnJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTY5XCIsIFwiTTI0IDY0SDU2IDgwVjg4djg4IDgwIDgwIDg4IDI0SDU2IDI0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0aDhWMzYwSDI0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0aDhWMjgwSDI0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0aDhWMjAwSDI0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0aDhWMTEySDI0QzEwLjcgMTEyIDAgMTAxLjMgMCA4OFMxMC43IDY0IDI0IDY0em04OCAwSDUyOFY0NDhIMTEyVjY0ek02NDAgODhjMCAxMy4zLTEwLjcgMjQtMjQgMjRoLTh2NDBoOGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGgtOHYzMmg4YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0aC04djMyaDhjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRoLTh2NDBoOGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEg1ODQgNTYwVjQyNCAzMzYgMjU2IDE3NiA4OCA2NGgyNCAzMmMxMy4zIDAgMjQgMTAuNyAyNCAyNHpcIl1cbn07XG52YXIgZmFFYXJ0aEV1cm9wZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdlYXJ0aC1ldXJvcGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImdsb2JlLWV1cm9wZVwiXSwgXCJmN2EyXCIsIFwiTTI2Ni4zIDQ4LjNMMjMyLjUgNzMuNmMtNS40IDQtOC41IDEwLjQtOC41IDE3LjF2OS4xYzAgNi44IDUuNSAxMi4zIDEyLjMgMTIuM2MyLjQgMCA0LjgtLjcgNi44LTIuMWw0MS44LTI3LjljMi0xLjMgNC40LTIuMSA2LjgtMi4xaDFjNi4yIDAgMTEuMyA1LjEgMTEuMyAxMS4zYzAgMy0xLjIgNS45LTMuMyA4bC0xOS45IDE5LjljLTUuOCA1LjgtMTIuOSAxMC4yLTIwLjcgMTIuOGwtMjYuNSA4LjhjLTUuOCAxLjktOS42IDcuMy05LjYgMTMuNGMwIDMuNy0xLjUgNy4zLTQuMSAxMGwtMTcuOSAxNy45Yy02LjQgNi40LTkuOSAxNS05LjkgMjR2NC4zYzAgMTYuNCAxMy42IDI5LjcgMjkuOSAyOS43YzExIDAgMjEuMi02LjIgMjYuMS0xNmw0LTguMWMyLjQtNC44IDcuNC03LjkgMTIuOC03LjljNC41IDAgOC43IDIuMSAxMS40IDUuN2wxNi4zIDIxLjdjMi4xIDIuOSA1LjUgNC41IDkuMSA0LjVjOC40IDAgMTMuOS04LjkgMTAuMS0xNi40bC0xLjEtMi4zYy0zLjUtNyAwLTE1LjUgNy41LTE4bDIxLjItNy4xYzcuNi0yLjUgMTIuNy05LjYgMTIuNy0xNy42YzAtMTAuMyA4LjMtMTguNiAxOC42LTE4LjZINDAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDM3OS4zYy03LjIgMC0xNC4yIDIuOS0xOS4zIDhsLTQuNyA0LjdjLTIuMSAyLjEtMy4zIDUtMy4zIDhjMCA2LjIgNS4xIDExLjMgMTEuMyAxMS4zaDExLjNjNiAwIDExLjggMi40IDE2IDYuNmw2LjUgNi41YzEuOCAxLjggMi44IDQuMyAyLjggNi44cy0xIDUtMi44IDYuOGwtNy41IDcuNUMzODYgMjYyIDM4NCAyNjYuOSAzODQgMjcyczIgMTAgNS43IDEzLjdMNDA4IDMwNGMxMC4yIDEwLjIgMjQuMSAxNiAzOC42IDE2SDQ1NGM2LjUtMjAuMiAxMC00MS43IDEwLTY0YzAtMTExLjQtODcuNi0yMDIuNC0xOTcuNy0yMDcuN3ptMTcyIDMwNy45Yy0zLjctMi42LTguMi00LjEtMTMtNC4xYy02IDAtMTEuOC0yLjQtMTYtNi42TDM5NiAzMzJjLTcuNy03LjctMTgtMTItMjguOS0xMmMtOS43IDAtMTkuMi0zLjUtMjYuNi05LjhMMzE0IDI4Ny40Yy0xMS42LTkuOS0yNi40LTE1LjQtNDEuNy0xNS40SDI1MS40Yy0xMi42IDAtMjUgMy43LTM1LjUgMTAuN0wxODguNSAzMDFjLTE3LjggMTEuOS0yOC41IDMxLjktMjguNSA1My4zdjMuMmMwIDE3IDYuNyAzMy4zIDE4LjcgNDUuM2wxNiAxNmM4LjUgOC41IDIwIDEzLjMgMzIgMTMuM0gyNDhjMTMuMyAwIDI0IDEwLjcgMjQgMjRjMCAyLjUgLjQgNSAxLjEgNy4zYzcxLjMtNS44IDEzMi41LTQ3LjYgMTY1LjItMTA3LjJ6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnpNMTg3LjMgMTAwLjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwbC0zMiAzMmMtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwbDMyLTMyYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42elwiXVxufTtcbnZhciBmYUdsb2JlRXVyb3BlID0gZmFFYXJ0aEV1cm9wZTtcbnZhciBmYUNhcnRGbGF0YmVkU3VpdGNhc2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FydC1mbGF0YmVkLXN1aXRjYXNlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJsdWdnYWdlLWNhcnRcIl0sIFwiZjU5ZFwiLCBcIk0wIDMyQzAgMTQuMyAxNC4zIDAgMzIgMEg0OGM0NC4yIDAgODAgMzUuOCA4MCA4MFYzNjhjMCA4LjggNy4yIDE2IDE2IDE2SDYwOGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg1NDEuM2MxLjggNSAyLjcgMTAuNCAyLjcgMTZjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhjMC01LjYgMS0xMSAyLjctMTZIMjUzLjNjMS44IDUgMi43IDEwLjQgMi43IDE2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4YzAtNS42IDEtMTEgMi43LTE2SDE0NGMtNDQuMiAwLTgwLTM1LjgtODAtODBWODBjMC04LjgtNy4yLTE2LTE2LTE2SDMyQzE0LjMgNjQgMCA0OS43IDAgMzJ6TTQzMiA5NlY1NmMwLTQuNC0zLjYtOC04LThIMzQ0Yy00LjQgMC04IDMuNi04IDhWOTZoOTZ6TTI4OCA5NlY1NmMwLTMwLjkgMjUuMS01NiA1Ni01Nmg4MGMzMC45IDAgNTYgMjUuMSA1NiA1NlY5NiAzMjBIMjg4Vjk2ek01MTIgMzIwVjk2aDE2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4VjI3MmMwIDI2LjUtMjEuNSA0OC00OCA0OEg1MTJ6TTI0MCA5NmgxNlYzMjBIMjQwYy0yNi41IDAtNDgtMjEuNS00OC00OFYxNDRjMC0yNi41IDIxLjUtNDggNDgtNDh6XCJdXG59O1xudmFyIGZhTHVnZ2FnZUNhcnQgPSBmYUNhcnRGbGF0YmVkU3VpdGNhc2U7XG52YXIgZmFSZWN0YW5nbGVYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyZWN0YW5nbGUteG1hcmsnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MjE2NCwgXCJyZWN0YW5nbGUtdGltZXNcIiwgXCJ0aW1lcy1yZWN0YW5nbGVcIiwgXCJ3aW5kb3ctY2xvc2VcIl0sIFwiZjQxMFwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEg0NDhjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6TTE3NSAxNzVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsNDcgNDcgNDctNDdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC00NyA0NyA0NyA0N2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00Ny00Ny00NyA0N2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw0Ny00Ny00Ny00N2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6XCJdXG59O1xudmFyIGZhUmVjdGFuZ2xlVGltZXMgPSBmYVJlY3RhbmdsZVhtYXJrO1xudmFyIGZhVGltZXNSZWN0YW5nbGUgPSBmYVJlY3RhbmdsZVhtYXJrO1xudmFyIGZhV2luZG93Q2xvc2UgPSBmYVJlY3RhbmdsZVhtYXJrO1xudmFyIGZhQmFodFNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFodC1zaWduJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJlMGFjXCIsIFwiTTE0NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMlY2NEgzNy42QzE2LjggNjQgMCA4MC44IDAgMTAxLjZWMjI0djQxLjdWMjg4IDQwNi4zYzAgMjMgMTguNyA0MS43IDQxLjcgNDEuN0gxMTJ2MzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlY0NDhoMzJjNjEuOSAwIDExMi01MC4xIDExMi0xMTJjMC00MC4xLTIxLjEtNzUuMy01Mi43LTk1LjFDMjgwLjMgMjIyLjYgMjg4IDIwMC4yIDI4OCAxNzZjMC02MS45LTUwLjEtMTEyLTExMi0xMTJWMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6TTExMiAxMjh2OTZINjRWMTI4aDQ4em02NCA5NlYxMjhjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDh6bS02NCA2NHY5Nkg2NFYyODhoNDh6bTY0IDk2VjI4OGgzMmMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OEgxNzZ6XCJdXG59O1xudmFyIGZhQm9va09wZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9vay1vcGVuJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4MjE0LCAxMjgzNjZdLCBcImY1MThcIiwgXCJNMjQ5LjYgNDcxLjVjMTAuOCAzLjggMjIuNC00LjEgMjIuNC0xNS41Vjc4LjZjMC00LjItMS42LTguNC01LTExQzI0Ny40IDUyIDIwMi40IDMyIDE0NCAzMkM5My41IDMyIDQ2LjMgNDUuMyAxOC4xIDU2LjFDNi44IDYwLjUgMCA3MS43IDAgODMuOFY0NTQuMWMwIDExLjkgMTIuOCAyMC4yIDI0LjEgMTYuNUM1NS42IDQ2MC4xIDEwNS41IDQ0OCAxNDQgNDQ4YzMzLjkgMCA3OSAxNCAxMDUuNiAyMy41em03Ni44IDBDMzUzIDQ2MiAzOTguMSA0NDggNDMyIDQ0OGMzOC41IDAgODguNCAxMi4xIDExOS45IDIyLjZjMTEuMyAzLjggMjQuMS00LjYgMjQuMS0xNi41VjgzLjhjMC0xMi4xLTYuOC0yMy4zLTE4LjEtMjcuNkM1MjkuNyA0NS4zIDQ4Mi41IDMyIDQzMiAzMmMtNTguNCAwLTEwMy40IDIwLTEyMyAzNS42Yy0zLjMgMi42LTUgNi44LTUgMTFWNDU2YzAgMTEuNCAxMS43IDE5LjMgMjIuNCAxNS41elwiXVxufTtcbnZhciBmYUJvb2tKb3VybmFsV2hpbGxzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jvb2stam91cm5hbC13aGlsbHMnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImpvdXJuYWwtd2hpbGxzXCJdLCBcImY2NmFcIiwgXCJNMCA5NkMwIDQzIDQzIDAgOTYgMEgzODRoMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJWMzUyYzAgMTcuNy0xNC4zIDMyLTMyIDMydjY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDM4NCA5NmMtNTMgMC05Ni00My05Ni05NlY5NnpNNjQgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMySDM1MlYzODRIOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem05MC40LTIzNC40bC0yMS4yLTIxLjJjLTMgMTAuMS01LjEgMjAuNi01LjEgMzEuNmMwIC4yIDAgLjUgLjEgLjhzLjEgLjUgLjEgLjhMMTY1LjIgMjI2YzIuNSAyLjEgMy40IDUuOCAyLjMgOC45Yy0xLjMgMy00LjEgNS4xLTcuNSA1LjFjLTEuOS0uMS0zLjgtLjgtNS4yLTJsLTIzLjYtMjAuNkMxNDIuOCAyNjcgMTg2LjkgMzA0IDI0MCAzMDRzOTcuMy0zNyAxMDguOS04Ni42TDMyNS4zIDIzOGMtMS40IDEuMi0zLjMgMi01LjMgMmMtMi4yLS4xLTQuNC0xLjEtNi0yLjhjLTEuMi0xLjUtMS45LTMuNC0yLTUuMmMuMS0yLjIgMS4xLTQuNCAyLjgtNmwzNy4xLTMyLjVjMC0uMyAwLS41IC4xLS44cy4xLS41IC4xLS44YzAtMTEtMi4xLTIxLjUtNS4xLTMxLjZsLTIxLjIgMjEuMmMtMy4xIDMuMS04LjEgMy4xLTExLjMgMHMtMy4xLTguMSAwLTExLjJsMjYuNC0yNi41Yy04LjItMTctMjAuNS0zMS43LTM1LjktNDIuNmMtMi43LTEuOS02LjIgMS40LTUgNC41YzguNSAyMi40IDMuNiA0OC0xMyA2NS42Yy0zLjIgMy40LTMuNiA4LjktLjkgMTIuN2M5LjggMTQgMTIuNyAzMS45IDcuNSA0OC41Yy01LjkgMTkuNC0yMiAzNC4xLTQxLjkgMzguM2wtMS40LTM0LjMgMTIuNiA4LjZjLjYgLjQgMS41IC42IDIuMyAuNmMxLjUgMCAyLjctLjggMy41LTJzLjYtMi44LS4xLTRMMjYwIDIyNS40bDE4LTMuNmMxLjgtLjQgMy4xLTIuMSAzLjEtNHMtMS40LTMuNS0zLjEtMy45bC0xOC0zLjcgOC41LTE0LjNjLjgtMS4yIC45LTIuOSAuMS00LjFzLTItMi0zLjUtMmwtLjEgMGMtLjcgLjEtMS41IC4zLTIuMSAuN2wtMTQuMSA5LjZMMjQ0IDg3LjljLS4xLTIuMi0xLjktMy45LTQtMy45cy0zLjkgMS42LTQgMy45bC00LjYgMTEwLjgtMTItOC4xYy0xLjUtMS4xLTMuNi0uOS01IC40cy0xLjYgMy40LS44IDVsOC42IDE0LjMtMTggMy43Yy0xLjggLjQtMy4xIDItMy4xIDMuOXMxLjQgMy42IDMuMSA0bDE4IDMuOC04LjYgMTQuMmMtLjIgLjYtLjUgMS40LS41IDJjMCAxLjEgLjUgMi4xIDEuMiAzYy44IC42IDEuOCAxIDIuOCAxYy43IDAgMS42LS4yIDIuMi0uNmwxMC40LTcuMS0xLjQgMzIuOGMtMTkuOS00LjEtMzYtMTguOS00MS45LTM4LjNjLTUuMS0xNi42LTIuMi0zNC40IDcuNi00OC41YzIuNy0zLjkgMi4zLTkuMy0uOS0xMi43Yy0xNi42LTE3LjUtMjEuNi00My4xLTEzLjEtNjUuNWMxLjItMy4xLTIuMy02LjQtNS00LjVjLTE1LjMgMTAuOS0yNy42IDI1LjYtMzUuOCA0Mi42bDI2LjQgMjYuNWMzLjEgMy4xIDMuMSA4LjEgMCAxMS4ycy04LjEgMy4xLTExLjIgMHpcIl1cbn07XG52YXIgZmFKb3VybmFsV2hpbGxzID0gZmFCb29rSm91cm5hbFdoaWxscztcbnZhciBmYUhhbmRjdWZmcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kY3VmZnMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZjhcIiwgXCJNMjQwIDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTE5MiA0OGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bS0zMiA4MGMxNy43IDAgMzIgMTQuMyAzMiAzMmg4YzEzLjMgMCAyNCAxMC43IDI0IDI0djE2YzAgMS43LS4yIDMuNC0uNSA1LjFDMjgwLjMgMjI5LjYgMzIwIDI4Ni4yIDMyMCAzNTJjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBTMCA0NDAuNCAwIDM1MmMwLTY1LjggMzkuNy0xMjIuNCA5Ni41LTE0Ni45Yy0uNC0xLjYtLjUtMy4zLS41LTUuMVYxODRjMC0xMy4zIDEwLjctMjQgMjQtMjRoOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMCAzMjBhOTYgOTYgMCAxIDAgMC0xOTIgOTYgOTYgMCAxIDAgMCAxOTJ6bTE5Mi05NmMwLTI1LjktNS4xLTUwLjUtMTQuNC03My4xYzE2LjktMzIuOSA0NC44LTU5LjEgNzguOS03My45Yy0uNC0xLjYtLjUtMy4zLS41LTUuMVYxODRjMC0xMy4zIDEwLjctMjQgMjQtMjRoOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyaDhjMTMuMyAwIDI0IDEwLjcgMjQgMjR2MTZjMCAxLjctLjIgMy40LS41IDUuMUM2MDAuMyAyMjkuNiA2NDAgMjg2LjIgNjQwIDM1MmMwIDg4LjQtNzEuNiAxNjAtMTYwIDE2MGMtNjIgMC0xMTUuOC0zNS4zLTE0Mi40LTg2LjljOS4zLTIyLjUgMTQuNC00Ny4yIDE0LjQtNzMuMXptMjI0IDBhOTYgOTYgMCAxIDAgLTE5MiAwIDk2IDk2IDAgMSAwIDE5MiAwek0zNjggMGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTgwIDQ4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFUcmlhbmdsZUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyaWFuZ2xlLWV4Y2xhbWF0aW9uJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTg4OCwgXCJleGNsYW1hdGlvbi10cmlhbmdsZVwiLCBcIndhcm5pbmdcIl0sIFwiZjA3MVwiLCBcIk0yNTYgMzJjMTQuMiAwIDI3LjMgNy41IDM0LjUgMTkuOGwyMTYgMzY4YzcuMyAxMi40IDcuMyAyNy43IC4yIDQwLjFTNDg2LjMgNDgwIDQ3MiA0ODBINDBjLTE0LjMgMC0yNy42LTcuNy0zNC43LTIwLjFzLTctMjcuOCAuMi00MC4xbDIxNi0zNjhDMjI4LjcgMzkuNSAyNDEuOCAzMiAyNTYgMzJ6bTAgMTI4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNFYyOTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFYxODRjMC0xMy4zLTEwLjctMjQtMjQtMjR6bTMyIDIyNGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwelwiXVxufTtcbnZhciBmYUV4Y2xhbWF0aW9uVHJpYW5nbGUgPSBmYVRyaWFuZ2xlRXhjbGFtYXRpb247XG52YXIgZmFXYXJuaW5nID0gZmFUcmlhbmdsZUV4Y2xhbWF0aW9uO1xudmFyIGZhRGF0YWJhc2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGF0YWJhc2UnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYxYzBcIiwgXCJNNDQ4IDgwdjQ4YzAgNDQuMi0xMDAuMyA4MC0yMjQgODBTMCAxNzIuMiAwIDEyOFY4MEMwIDM1LjggMTAwLjMgMCAyMjQgMFM0NDggMzUuOCA0NDggODB6TTM5My4yIDIxNC43YzIwLjgtNy40IDM5LjktMTYuOSA1NC44LTI4LjZWMjg4YzAgNDQuMi0xMDAuMyA4MC0yMjQgODBTMCAzMzIuMiAwIDI4OFYxODYuMWMxNC45IDExLjggMzQgMjEuMiA1NC44IDI4LjZDOTkuNyAyMzAuNyAxNTkuNSAyNDAgMjI0IDI0MHMxMjQuMy05LjMgMTY5LjItMjUuM3pNMCAzNDYuMWMxNC45IDExLjggMzQgMjEuMiA1NC44IDI4LjZDOTkuNyAzOTAuNyAxNTkuNSA0MDAgMjI0IDQwMHMxMjQuMy05LjMgMTY5LjItMjUuM2MyMC44LTcuNCAzOS45LTE2LjkgNTQuOC0yOC42VjQzMmMwIDQ0LjItMTAwLjMgODAtMjI0IDgwUzAgNDc2LjIgMCA0MzJWMzQ2LjF6XCJdXG59O1xudmFyIGZhU2hhcmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2hhcmUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcIm1haWwtZm9yd2FyZFwiXSwgXCJmMDY0XCIsIFwiTTMwNyAzNC44Yy0xMS41IDUuMS0xOSAxNi42LTE5IDI5LjJ2NjRIMTc2Qzc4LjggMTI4IDAgMjA2LjggMCAzMDRDMCA0MTcuMyA4MS41IDQ2Ny45IDEwMC4yIDQ3OC4xYzIuNSAxLjQgNS4zIDEuOSA4LjEgMS45YzEwLjkgMCAxOS43LTguOSAxOS43LTE5LjdjMC03LjUtNC4zLTE0LjQtOS44LTE5LjVDMTA4LjggNDMxLjkgOTYgNDE0LjQgOTYgMzg0YzAtNTMgNDMtOTYgOTYtOTZoOTZ2NjRjMCAxMi42IDcuNCAyNC4xIDE5IDI5LjJzMjUgMyAzNC40LTUuNGwxNjAtMTQ0YzYuNy02LjEgMTAuNi0xNC43IDEwLjYtMjMuOHMtMy44LTE3LjctMTAuNi0yMy44bC0xNjAtMTQ0Yy05LjQtOC41LTIyLjktMTAuNi0zNC40LTUuNHpcIl1cbn07XG52YXIgZmFNYWlsRm9yd2FyZCA9IGZhU2hhcmU7XG52YXIgZmFCb3R0bGVEcm9wbGV0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JvdHRsZS1kcm9wbGV0JyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJlNGM0XCIsIFwiTTk2IDBDODIuNyAwIDcyIDEwLjcgNzIgMjRzMTAuNyAyNCAyNCAyNGM0LjQgMCA4IDMuNiA4IDh2NjQuOWMwIDEyLjItNy4yIDIzLjEtMTcuMiAzMC4xQzUzLjcgMTc0LjEgMzIgMjEyLjUgMzIgMjU2VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgyMjRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMjU2YzAtNDMuNS0yMS43LTgxLjktNTQuOC0xMDVjLTEwLTctMTcuMi0xNy45LTE3LjItMzAuMVY1NmMwLTQuNCAzLjYtOCA4LThjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTggMCAwIDAgMCAwSDEwNGwwIDAgMCAwTDk2IDB6bTY0IDM4MmMtMjYuNSAwLTQ4LTIwLjEtNDgtNDVjMC0xNi44IDIyLjEtNDguMSAzNi4zLTY2LjRjNi03LjggMTcuNS03LjggMjMuNSAwQzE4NS45IDI4OC45IDIwOCAzMjAuMiAyMDggMzM3YzAgMjQuOS0yMS41IDQ1LTQ4IDQ1elwiXVxufTtcbnZhciBmYU1hc2tGYWNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hc2stZmFjZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTFkN1wiLCBcIk0zMjAgNjRjLTI3LjIgMC01My44IDgtNzYuNCAyMy4xbC0zNy4xIDI0LjhjLTE1LjggMTAuNS0zNC4zIDE2LjEtNTMuMyAxNi4xSDE0NCAxMjggNTZjLTMwLjkgMC01NiAyNS4xLTU2IDU2djg1YzAgNTUuMSAzNy41IDEwMy4xIDkwLjkgMTE2LjRsMTA4IDI3QzIzMy44IDQzNSAyNzUuNCA0NDggMzIwIDQ0OHM4Ni4yLTEzIDEyMS4xLTM1LjVsMTA4LTI3QzYwMi41IDM3Mi4xIDY0MCAzMjQuMSA2NDAgMjY5VjE4NGMwLTMwLjktMjUuMS01Ni01Ni01Nkg1MTIgNDk2aC05LjJjLTE5IDAtMzcuNS01LjYtNTMuMy0xNi4xTDM5Ni40IDg3LjFDMzczLjggNzIgMzQ3LjIgNjQgMzIwIDY0ek0xMzIuMyAzNDYuM2wtMjkuOC03LjRDNzAuNSAzMzAuOSA0OCAzMDIuMSA0OCAyNjlWMTg0YzAtNC40IDMuNi04IDgtOEg5NnY0OGMwIDQ1LjEgMTMuNCA4Ny4yIDM2LjMgMTIyLjN6bTQwNS4xLTcuNGwtMjkuOCA3LjRjMjMtMzUuMiAzNi4zLTc3LjIgMzYuMy0xMjIuM1YxNzZoNDBjNC40IDAgOCAzLjYgOCA4djg1YzAgMzMtMjIuNSA2MS44LTU0LjUgNjkuOXpNMTkyIDIwOGMwLTguOCA3LjItMTYgMTYtMTZINDMyYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDIwOGMtOC44IDAtMTYtNy4yLTE2LTE2em0xNiA0OEg0MzJjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMjA4Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0xNiA4MGMwLTguOCA3LjItMTYgMTYtMTZINDAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDI0MGMtOC44IDAtMTYtNy4yLTE2LTE2elwiXVxufTtcbnZhciBmYUhpbGxSb2Nrc2xpZGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGlsbC1yb2Nrc2xpZGUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1MDhcIiwgXCJNMjUyLjQgMTAzLjhsMjcgNDhjMi44IDUgOC4yIDguMiAxMy45IDguMmw1My4zIDBjNS44IDAgMTEuMS0zLjEgMTMuOS04LjJsMjctNDhjMi43LTQuOSAyLjctMTAuOCAwLTE1LjdsLTI3LTQ4Yy0yLjgtNS04LjItOC4yLTEzLjktOC4ySDI5My40Yy01LjggMC0xMS4xIDMuMS0xMy45IDguMmwtMjcgNDhjLTIuNyA0LjktMi43IDEwLjggMCAxNS43ek02OC4zIDg3QzQzLjEgNjEuOCAwIDc5LjcgMCAxMTUuM1Y0MzJjMCA0NC4yIDM1LjggODAgODAgODBIMzk2LjdjMzUuNiAwIDUzLjUtNDMuMSAyOC4zLTY4LjNMNjguMyA4N3pNNTA0LjIgNDAzLjZjNC45IDIuNyAxMC44IDIuNyAxNS43IDBsNDgtMjdjNS0yLjggOC4yLTguMiA4LjItMTMuOVYzMDkuNGMwLTUuOC0zLjEtMTEuMS04LjItMTMuOWwtNDgtMjdjLTQuOS0yLjctMTAuOC0yLjctMTUuNyAwbC00OCAyN2MtNSAyLjgtOC4yIDguMi04LjIgMTMuOXY1My4zYzAgNS44IDMuMSAxMS4xIDguMiAxMy45bDQ4IDI3ek0xOTIgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzg0IDI4OGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xudmFyIGZhUmlnaHRMZWZ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JpZ2h0LWxlZnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImV4Y2hhbmdlLWFsdFwiXSwgXCJmMzYyXCIsIFwiTTMyIDk2bDMyMCAwVjMyYzAtMTIuOSA3LjgtMjQuNiAxOS44LTI5LjZzMjUuNy0yLjIgMzQuOSA2LjlsOTYgOTZjNiA2IDkuNCAxNC4xIDkuNCAyMi42cy0zLjQgMTYuNi05LjQgMjIuNmwtOTYgOTZjLTkuMiA5LjItMjIuOSAxMS45LTM0LjkgNi45cy0xOS44LTE2LjYtMTkuOC0yOS42VjE2MEwzMiAxNjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6TTQ4MCAzNTJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMTYwdjY0YzAgMTIuOS03LjggMjQuNi0xOS44IDI5LjZzLTI1LjcgMi4yLTM0LjktNi45bC05Ni05NmMtNi02LTkuNC0xNC4xLTkuNC0yMi42czMuNC0xNi42IDkuNC0yMi42bDk2LTk2YzkuMi05LjIgMjIuOS0xMS45IDM0LjktNi45czE5LjggMTYuNiAxOS44IDI5LjZsMCA2NEg0ODB6XCJdXG59O1xudmFyIGZhRXhjaGFuZ2VBbHQgPSBmYVJpZ2h0TGVmdDtcbnZhciBmYVBhcGVyUGxhbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGFwZXItcGxhbmUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MTkxM10sIFwiZjFkOFwiLCBcIk00OTguMSA1LjZjMTAuMSA3IDE1LjQgMTkuMSAxMy41IDMxLjJsLTY0IDQxNmMtMS41IDkuNy03LjQgMTguMi0xNiAyM3MtMTguOSA1LjQtMjggMS42TDI4NCA0MjcuN2wtNjguNSA3NC4xYy04LjkgOS43LTIyLjkgMTIuOS0zNS4yIDguMVMxNjAgNDkzLjIgMTYwIDQ4MFYzOTYuNGMwLTQgMS41LTcuOCA0LjItMTAuN0wzMzEuOCAyMDIuOGM1LjgtNi4zIDUuNi0xNi0uNC0yMnMtMTUuNy02LjQtMjItLjdMMTA2IDM2MC44IDE3LjcgMzE2LjZDNy4xIDMxMS4zIC4zIDMwMC43IDAgMjg4LjlzNS45LTIyLjggMTYuMS0yOC43bDQ0OC0yNTZjMTAuNy02LjEgMjMuOS01LjUgMzQgMS40elwiXVxufTtcbnZhciBmYVJvYWRDaXJjbGVFeGNsYW1hdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyb2FkLWNpcmNsZS1leGNsYW1hdGlvbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU2NVwiLCBcIk0yMTMuMiAzMkgyODhWOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzMmg3NC44YzI3LjEgMCA1MS4zIDE3LjEgNjAuMyA0Mi42bDQyLjcgMTIwLjZjLTEwLjktMi4xLTIyLjItMy4yLTMzLjgtMy4yYy01OS41IDAtMTEyLjEgMjkuNi0xNDQgNzQuOFYyMjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJjMi4zIDAgNC42LS4zIDYuOC0uN2MtNC41IDE1LjUtNi44IDMxLjgtNi44IDQ4LjdjMCA1LjQgLjIgMTAuNyAuNyAxNmwtLjcgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2NjRIODYuNkM1Ni41IDQ4MCAzMiA0NTUuNSAzMiA0MjUuNGMwLTYuMiAxLjEtMTIuNCAzLjEtMTguMkwxNTIuOSA3NC42QzE2MiA0OS4xIDE4Ni4xIDMyIDIxMy4yIDMyek00OTYgMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMCAyNDBhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0wLTE5MmMtOC44IDAtMTYgNy4yLTE2IDE2djgwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMjg4YzAtOC44LTcuMi0xNi0xNi0xNnpcIl1cbn07XG52YXIgZmFEdW5nZW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2R1bmdlb24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY2ZDlcIiwgXCJNMzM2LjYgMTU2LjVjMS4zIDEuMSAyLjcgMi4yIDMuOSAzLjNjOS4zIDguMiAyMyAxMC41IDMzLjQgMy42bDY3LjYtNDUuMWMxMS40LTcuNiAxNC4yLTIzLjIgNS4xLTMzLjRDNDMwIDY2LjYgNDEwLjkgNTAuNiAzODkuNyAzNy42Yy0xMS45LTcuMy0yNi45LTEuNC0zMi4xIDExLjZsLTMwLjUgNzYuMmMtNC41IDExLjEgLjIgMjMuNiA5LjUgMzEuMnpNMzI4IDM2LjhjNS4xLTEyLjgtMS42LTI3LjQtMTUtMzAuNUMyOTQuNyAyLjIgMjc1LjYgMCAyNTYgMHMtMzguNyAyLjItNTcgNi40QzE4NS41IDkuNCAxNzguOCAyNCAxODQgMzYuOGwzMC4zIDc1LjhjNC41IDExLjMgMTYuOCAxNy4yIDI5IDE2YzQuMi0uNCA4LjQtLjYgMTIuNy0uNnM4LjYgLjIgMTIuNyAuNmMxMi4xIDEuMiAyNC40LTQuNyAyOS0xNkwzMjggMzYuOHpNNjUuNSA4NWMtOS4xIDEwLjItNi4zIDI1LjggNS4xIDMzLjRsNjcuNiA0NS4xYzEwLjMgNi45IDI0LjEgNC42IDMzLjQtMy42YzEuMy0xLjEgMi42LTIuMyA0LTMuM2M5LjMtNy41IDEzLjktMjAuMSA5LjUtMzEuMkwxNTQuNCA0OS4yYy01LjItMTIuOS0yMC4zLTE4LjgtMzIuMS0xMS42QzEwMS4xIDUwLjYgODIgNjYuNiA2NS41IDg1em0zMTQgMTM3LjFjLjkgMy4zIDEuNyA2LjYgMi4zIDEwYzIuNSAxMyAxMyAyMy45IDI2LjIgMjMuOWg4MGMxMy4zIDAgMjQuMS0xMC44IDIyLjktMjRjLTIuNS0yNy4yLTkuMy01My4yLTE5LjctNzcuM2MtNS41LTEyLjktMjEuNC0xNi42LTMzLjEtOC45bC02OC42IDQ1LjdjLTkuOCA2LjUtMTMuMiAxOS4yLTEwIDMwLjV6TTUzLjkgMTQ1LjhjLTExLjYtNy44LTI3LjYtNC0zMy4xIDguOUMxMC40IDE3OC44IDMuNiAyMDQuOCAxLjEgMjMyYy0xLjIgMTMuMiA5LjYgMjQgMjIuOSAyNGg4MGMxMy4zIDAgMjMuOC0xMC44IDI2LjItMjMuOWMuNi0zLjQgMS40LTYuNyAyLjMtMTBjMy4xLTExLjQtLjItMjQtMTAtMzAuNUw1My45IDE0NS44ek0xMDQgMjg4SDI0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHY0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGg4MGMxMy4zIDAgMjQtMTAuNyAyNC0yNFYzMTJjMC0xMy4zLTEwLjctMjQtMjQtMjR6bTMwNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHY0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGg4MGMxMy4zIDAgMjQtMTAuNyAyNC0yNFYzMTJjMC0xMy4zLTEwLjctMjQtMjQtMjRINDA4ek0yNCA0MTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0djQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0aDgwYzEzLjMgMCAyNC0xMC43IDI0LTI0VjQ0MGMwLTEzLjMtMTAuNy0yNC0yNC0yNEgyNHptMzg0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0djQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0aDgwYzEzLjMgMCAyNC0xMC43IDI0LTI0VjQ0MGMwLTEzLjMtMTAuNy0yNC0yNC0yNEg0MDh6TTI3MiAxOTJjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZWNDY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMTkyem0tNjQgMzJjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZWNDY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMjI0em0xMjggMGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNlY0NjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlYyMjR6XCJdXG59O1xudmFyIGZhQWxpZ25SaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbGlnbi1yaWdodCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjAzOFwiLCBcIk00NDggNjRjMCAxNy43LTE0LjMgMzItMzIgMzJIMTkyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnptMCAyNTZjMCAxNy43LTE0LjMgMzItMzIgMzJIMTkyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnpNMCAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJINDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDQ4IDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMkgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkg0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6XCJdXG59O1xudmFyIGZhTW9uZXlCaWxsMVdhdmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9uZXktYmlsbC0xLXdhdmUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcIm1vbmV5LWJpbGwtd2F2ZS1hbHRcIl0sIFwiZjUzYlwiLCBcIk0wIDExMi41VjQyMi4zYzAgMTggMTAuMSAzNSAyNyA0MS4zYzg3IDMyLjUgMTc0IDEwLjMgMjYxLTExLjljNzkuOC0yMC4zIDE1OS42LTQwLjcgMjM5LjMtMTguOWMyMyA2LjMgNDguNy05LjUgNDguNy0zMy40Vjg5LjdjMC0xOC0xMC4xLTM1LTI3LTQxLjNDNDYyIDE1LjkgMzc1IDM4LjEgMjg4IDYwLjNDMjA4LjIgODAuNiAxMjguNCAxMDAuOSA0OC43IDc5LjFDMjUuNiA3Mi44IDAgODguNiAwIDExMi41ek0xMjggNDE2SDY0VjM1MmMzNS4zIDAgNjQgMjguNyA2NCA2NHpNNjQgMjI0VjE2MGg2NGMwIDM1LjMtMjguNyA2NC02NCA2NHpNNDQ4IDM1MmMwLTM1LjMgMjguNy02NCA2NC02NHY2NEg0NDh6bTY0LTE5MmMtMzUuMyAwLTY0LTI4LjctNjQtNjRoNjR2NjR6TTM4NCAyNTZjMCA2MS45LTQzIDExMi05NiAxMTJzLTk2LTUwLjEtOTYtMTEyczQzLTExMiA5Ni0xMTJzOTYgNTAuMSA5NiAxMTJ6TTI1MiAyMDhjMCA5LjcgNi45IDE3LjcgMTYgMTkuNlYyNzZoLTRjLTExIDAtMjAgOS0yMCAyMHM5IDIwIDIwIDIwaDI0IDI0YzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMGgtNFYyMDhjMC0xMS05LTIwLTIwLTIwSDI3MmMtMTEgMC0yMCA5LTIwIDIwelwiXVxufTtcbnZhciBmYU1vbmV5QmlsbFdhdmVBbHQgPSBmYU1vbmV5QmlsbDFXYXZlO1xudmFyIGZhTGlmZVJpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGlmZS1yaW5nJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMWNkXCIsIFwiTTM2Ny4yIDQxMi41QzMzNS45IDQzNC45IDI5Ny41IDQ0OCAyNTYgNDQ4cy03OS45LTEzLjEtMTExLjItMzUuNWw1OC01OGMxNS44IDguNiAzNCAxMy41IDUzLjMgMTMuNXMzNy40LTQuOSA1My4zLTEzLjVsNTggNTh6bTkwLjcgLjhjMzMuOC00My40IDU0LTk4IDU0LTE1Ny4zcy0yMC4yLTExMy45LTU0LTE1Ny4zYzktMTIuNSA3LjktMzAuMS0zLjQtNDEuM1M0MjUuOCA0NSA0MTMuMyA1NEMzNjkuOSAyMC4yIDMxNS4zIDAgMjU2IDBTMTQyLjEgMjAuMiA5OC43IDU0Yy0xMi41LTktMzAuMS03LjktNDEuMyAzLjRTNDUgODYuMiA1NCA5OC43QzIwLjIgMTQyLjEgMCAxOTYuNyAwIDI1NnMyMC4yIDExMy45IDU0IDE1Ny4zYy05IDEyLjUtNy45IDMwLjEgMy40IDQxLjNTODYuMiA0NjcgOTguNyA0NThjNDMuNCAzMy44IDk4IDU0IDE1Ny4zIDU0czExMy45LTIwLjIgMTU3LjMtNTRjMTIuNSA5IDMwLjEgNy45IDQxLjMtMy40czEyLjQtMjguOCAzLjQtNDEuM3ptLTQ1LjUtNDYuMWwtNTgtNThjOC42LTE1LjggMTMuNS0zNCAxMy41LTUzLjNzLTQuOS0zNy40LTEzLjUtNTMuM2w1OC01OEM0MzQuOSAxNzYuMSA0NDggMjE0LjUgNDQ4IDI1NnMtMTMuMSA3OS45LTM1LjUgMTExLjJ6TTM2Ny4yIDk5LjVsLTU4IDU4Yy0xNS44LTguNi0zNC0xMy41LTUzLjMtMTMuNXMtMzcuNCA0LjktNTMuMyAxMy41bC01OC01OEMxNzYuMSA3Ny4xIDIxNC41IDY0IDI1NiA2NHM3OS45IDEzLjEgMTExLjIgMzUuNXpNMTU3LjUgMzA5LjNsLTU4IDU4Qzc3LjEgMzM1LjkgNjQgMjk3LjUgNjQgMjU2czEzLjEtNzkuOSAzNS41LTExMS4ybDU4IDU4Yy04LjYgMTUuOC0xMy41IDM0LTEzLjUgNTMuM3M0LjkgMzcuNCAxMy41IDUzLjN6TTIwOCAyNTZhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpcIl1cbn07XG52YXIgZmFIYW5kcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kcycsXG4gIGljb246IFs1NzYsIDUxMiwgW1wic2lnbi1sYW5ndWFnZVwiLCBcInNpZ25pbmdcIl0sIFwiZjJhN1wiLCBcIk01NDQgMTYwbC0uMSA3Mi42Yy0uMSA1Mi4yLTI0IDEwMS02NCAxMzMuMWMuMS0xLjkgLjEtMy44IC4xLTUuN3YtOGMwLTcxLjgtMzctMTM4LjYtOTcuOS0xNzYuN2wtNjAuMi0zNy42Yy04LjYtNS40LTE3LjktOC40LTI3LjMtOS40TDI0OC43IDQ4LjhjLTYuNi0xMS41LTIuNy0yNi4yIDguOC0zMi44czI2LjItMi43IDMyLjggOC44bDc4IDEzNS4xYzMuMyA1LjcgMTAuNyA3LjcgMTYuNCA0LjRzNy43LTEwLjcgNC40LTE2LjRsLTYyLTEwNy40Yy02LjYtMTEuNS0yLjctMjYuMiA4LjgtMzIuOFMzNjIgNSAzNjguNiAxNi41bDY4IDExNy44IDAgMCAwIDAgNDMuMyA3NUw0ODAgMTYwYzAtMTcuNyAxNC40LTMyIDMyLTMyczMyIDE0LjQgMzIgMzJ6TTI0My45IDg4LjVMMjY4LjUgMTMxYy0xMy45IDQuNS0yNi40IDEzLjctMzQuNyAyN2MtLjkgMS40LTEuNyAyLjktMi41IDQuNGwtMjguOS01MGMtNi42LTExLjUtMi43LTI2LjIgOC44LTMyLjhzMjYuMi0yLjcgMzIuOCA4Ljh6bS00Ni40IDYzLjdsMjYuOCA0Ni40Yy42IDYgMi4xIDExLjggNC4zIDE3LjRIMjI0IDIxMC43bDAgMEgxNzlsLTIzLTM5LjhjLTYuNi0xMS41LTIuNy0yNi4yIDguOC0zMi44czI2LjItMi43IDMyLjggOC44ek0yNjAuOSAxNzVjOS40LTE1IDI5LjEtMTkuNSA0NC4xLTEwLjJsNjAuMiAzNy42QzQxNi43IDIzNC43IDQ0OCAyOTEuMiA0NDggMzUydjhjMCA4My45LTY4LjEgMTUyLTE1MiAxNTJIMTIwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0aDkyYzYuNiAwIDEyLTUuNCAxMi0xMnMtNS40LTEyLTEyLTEySDg4Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0SDIxMmM2LjYgMCAxMi01LjQgMTItMTJzLTUuNC0xMi0xMi0xMkg1NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNEgyMTJjNi42IDAgMTItNS40IDEyLTEycy01LjQtMTItMTItMTJIODhjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRIMjI0bDAgMCAwIDBoOTMuMkwyNzEgMjE5LjFjLTE1LTkuNC0xOS41LTI5LjEtMTAuMi00NC4xelwiXVxufTtcbnZhciBmYVNpZ25MYW5ndWFnZSA9IGZhSGFuZHM7XG52YXIgZmFTaWduaW5nID0gZmFIYW5kcztcbnZhciBmYUNhbGVuZGFyRGF5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhbGVuZGFyLWRheScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjc4M1wiLCBcIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMlY2NEgyODhWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMlY2NGg0OGMyNi41IDAgNDggMjEuNSA0OCA0OHY0OEgwVjExMkMwIDg1LjUgMjEuNSA2NCA0OCA2NEg5NlYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMCAxOTJINDQ4VjQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMTkyem04MCA2NGMtOC44IDAtMTYgNy4yLTE2IDE2djk2YzAgOC44IDcuMiAxNiAxNiAxNmg5NmM4LjggMCAxNi03LjIgMTYtMTZWMjcyYzAtOC44LTcuMi0xNi0xNi0xNkg4MHpcIl1cbn07XG52YXIgZmFXYXRlckxhZGRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3YXRlci1sYWRkZXInLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImxhZGRlci13YXRlclwiLCBcInN3aW1taW5nLXBvb2xcIl0sIFwiZjVjNVwiLCBcIk0xMjggMTI3LjdDMTI4IDc0LjkgMTcwLjkgMzIgMjIzLjcgMzJjNDguMyAwIDg5IDM2IDk1IDgzLjlsMSA4LjJjMi4yIDE3LjUtMTAuMiAzMy41LTI3LjggMzUuN3MtMzMuNS0xMC4yLTM1LjctMjcuOGwtMS04LjJjLTItMTUuOS0xNS41LTI3LjgtMzEuNS0yNy44Yy0xNy41IDAtMzEuNyAxNC4yLTMxLjcgMzEuN1YyMjRIMzg0VjEyNy43QzM4NCA3NC45IDQyNi45IDMyIDQ3OS43IDMyYzQ4LjMgMCA4OSAzNiA5NSA4My45bDEgOC4yYzIuMiAxNy41LTEwLjIgMzMuNS0yNy44IDM1LjdzLTMzLjUtMTAuMi0zNS43LTI3LjhsLTEtOC4yYy0yLTE1LjktMTUuNS0yNy44LTMxLjUtMjcuOGMtMTcuNSAwLTMxLjcgMTQuMi0zMS43IDMxLjdWMzYxYy0xLjYgMS0zLjMgMi00LjggMy4xYy0xOCAxMi40LTQwLjEgMjAuMy01OS4yIDIwLjNoMFYyODhIMTkydjk2LjVjLTE5IDAtNDEuMi03LjktNTkuMS0yMC4zYy0xLjYtMS4xLTMuMi0yLjItNC45LTMuMVYxMjcuN3pNMzA2LjUgMzg5LjlDMzI5IDQwNS40IDM1Ni41IDQxNiAzODQgNDE2YzI2LjkgMCA1NS40LTEwLjggNzcuNC0yNi4xbDAgMGMxMS45LTguNSAyOC4xLTcuOCAzOS4yIDEuN2MxNC40IDExLjkgMzIuNSAyMSA1MC42IDI1LjJjMTcuMiA0IDI3LjkgMjEuMiAyMy45IDM4LjRzLTIxLjIgMjcuOS0zOC40IDIzLjljLTI0LjUtNS43LTQ0LjktMTYuNS01OC4yLTI1QzQ0OS41IDQ2OS43IDQxNyA0ODAgMzg0IDQ4MGMtMzEuOSAwLTYwLjYtOS45LTgwLjQtMTguOWMtNS44LTIuNy0xMS4xLTUuMy0xNS42LTcuN2MtNC41IDIuNC05LjcgNS4xLTE1LjYgNy43Yy0xOS44IDktNDguNSAxOC45LTgwLjQgMTguOWMtMzMgMC02NS41LTEwLjMtOTQuNS0yNS44Yy0xMy40IDguNC0zMy43IDE5LjMtNTguMiAyNWMtMTcuMiA0LTM0LjQtNi43LTM4LjQtMjMuOXM2LjctMzQuNCAyMy45LTM4LjRjMTguMS00LjIgMzYuMi0xMy4zIDUwLjYtMjUuMmMxMS4xLTkuNCAyNy4zLTEwLjEgMzkuMi0xLjdsMCAwQzEzNi43IDQwNS4yIDE2NS4xIDQxNiAxOTIgNDE2YzI3LjUgMCA1NS0xMC42IDc3LjUtMjYuMWMxMS4xLTcuOSAyNS45LTcuOSAzNyAwelwiXVxufTtcbnZhciBmYUxhZGRlcldhdGVyID0gZmFXYXRlckxhZGRlcjtcbnZhciBmYVN3aW1taW5nUG9vbCA9IGZhV2F0ZXJMYWRkZXI7XG52YXIgZmFBcnJvd3NVcERvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3dzLXVwLWRvd24nLFxuICBpY29uOiBbMzIwLCA1MTIsIFtcImFycm93cy12XCJdLCBcImYwN2RcIiwgXCJNMTgyLjYgOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTI4IDEwOS4zVjQwMi43TDg2LjYgMzYxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDk2IDk2YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDk2LTk2YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDE5MiA0MDIuN1YxMDkuM2w0MS40IDQxLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZ6XCJdXG59O1xudmFyIGZhQXJyb3dzViA9IGZhQXJyb3dzVXBEb3duO1xudmFyIGZhRmFjZUdyaW1hY2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1ncmltYWNlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTU2LCBcImdyaW1hY2VcIl0sIFwiZjU3ZlwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnptOTYtMTEyaC04VjM2MGw1NS4zIDBjLTMuOCAyMi43LTIzLjYgNDAtNDcuMyA0MHptNDcuMy01NkwzNDQgMzQ0VjMwNGg4YzIzLjggMCA0My41IDE3LjMgNDcuMyA0MHpNMzI4IDM0NEgyNjRWMzA0aDY0djQwem0wIDU2SDI2NFYzNjBoNjR2NDB6bS04MC05NnY0MGwtNjQgMFYzMDRoNjR6bTAgNTZ2NDBIMTg0VjM2MGw2NCAwem0tODAtMTZIMTEyLjdjMy44LTIyLjcgMjMuNi00MCA0Ny4zLTQwaDh2NDB6bTAgNTZoLThjLTIzLjggMC00My41LTE3LjMtNDcuMy00MEgxNjh2NDB6TTE0NC40IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbnZhciBmYUdyaW1hY2UgPSBmYUZhY2VHcmltYWNlO1xudmFyIGZhV2hlZWxjaGFpck1vdmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2hlZWxjaGFpci1tb3ZlJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJ3aGVlbGNoYWlyLWFsdFwiXSwgXCJlMmNlXCIsIFwiTTMyMCA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek0yMDQuNSAxMjEuM2MtNS40LTIuNS0xMS43LTEuOS0xNi40IDEuN2wtNDAuOSAzMC43Yy0xNC4xIDEwLjYtMzQuMiA3LjctNDQuOC02LjRzLTcuNy0zNC4yIDYuNC00NC44bDQwLjktMzAuN2MyMy43LTE3LjggNTUuMy0yMSA4Mi4xLTguNGw5MC40IDQyLjVjMjkuMSAxMy43IDM2LjggNTEuNiAxNS4yIDc1LjVMMjk5LjEgMjI0aDk3LjRjMzAuMyAwIDUzIDI3LjcgNDcuMSA1Ny40TDQxNS40IDQyMi4zYy0zLjUgMTcuMy0yMC4zIDI4LjYtMzcuNyAyNS4xcy0yOC42LTIwLjMtMjUuMS0zNy43TDM3NyAyODhIMzA2LjdjOC42IDE5LjYgMTMuMyA0MS4yIDEzLjMgNjRjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBTMCA0NDAuNCAwIDM1MnM3MS42LTE2MCAxNjAtMTYwYzExLjEgMCAyMiAxLjEgMzIuNCAzLjNsNTQuMi01NC4yLTQyLjEtMTkuOHpNMTYwIDQ0OGE5NiA5NiAwIDEgMCAwLTE5MiA5NiA5NiAwIDEgMCAwIDE5MnpcIl1cbn07XG52YXIgZmFXaGVlbGNoYWlyQWx0ID0gZmFXaGVlbGNoYWlyTW92ZTtcbnZhciBmYVR1cm5Eb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3R1cm4tZG93bicsXG4gIGljb246IFszODQsIDUxMiwgWzEwNTQ5LCBcImxldmVsLWRvd24tYWx0XCJdLCBcImYzYmVcIiwgXCJNMzUwIDMzNC41YzMuOCA4LjggMiAxOS00LjYgMjZsLTEzNiAxNDRjLTQuNSA0LjgtMTAuOCA3LjUtMTcuNCA3LjVzLTEyLjktMi43LTE3LjQtNy41bC0xMzYtMTQ0Yy02LjYtNy04LjQtMTcuMi00LjYtMjZzMTIuNS0xNC41IDIyLTE0LjVoODhsMC0xOTJjMC0xNy43LTE0LjMtMzItMzItMzJIMzJDMTQuMyA5NiAwIDgxLjcgMCA2NFYzMkMwIDE0LjMgMTQuMyAwIDMyIDBsODAgMGM3MC43IDAgMTI4IDU3LjMgMTI4IDEyOGwwIDE5Mmg4OGM5LjYgMCAxOC4yIDUuNyAyMiAxNC41elwiXVxufTtcbnZhciBmYUxldmVsRG93bkFsdCA9IGZhVHVybkRvd247XG52YXIgZmFQZXJzb25XYWxraW5nQXJyb3dSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24td2Fsa2luZy1hcnJvdy1yaWdodCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU1MlwiLCBcIk0yMDggOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek0xMjMuNyAyMDAuNWMxLS40IDEuOS0uOCAyLjktMS4ybC0xNi45IDYzLjVjLTUuNiAyMS4xLS4xIDQzLjYgMTQuNyA1OS43bDcwLjcgNzcuMSAyMiA4OC4xYzQuMyAxNy4xIDIxLjcgMjcuNiAzOC44IDIzLjNzMjcuNi0yMS43IDIzLjMtMzguOGwtMjMtOTIuMWMtMS45LTcuOC01LjgtMTQuOS0xMS4yLTIwLjhsLTQ5LjUtNTQgMTkuMy02NS41IDkuNiAyM2M0LjQgMTAuNiAxMi41IDE5LjMgMjIuOCAyNC41bDI2LjcgMTMuM2MxNS44IDcuOSAzNSAxLjUgNDIuOS0xNC4zczEuNS0zNS0xNC4zLTQyLjlMMjgxIDIzMi43bC0xNS4zLTM2LjhDMjQ4LjUgMTU0LjggMjA4LjMgMTI4IDE2My43IDEyOGMtMjIuOCAwLTQ1LjMgNC44LTY2LjEgMTRsLTggMy41Yy0zMi45IDE0LjYtNTguMSA0Mi40LTY5LjQgNzYuNWwtMi42IDcuOGMtNS42IDE2LjggMy41IDM0LjkgMjAuMiA0MC41czM0LjktMy41IDQwLjUtMjAuMmwyLjYtNy44YzUuNy0xNy4xIDE4LjMtMzAuOSAzNC43LTM4LjJsOC0zLjV6bS0zMCAxMzUuMUw2OC43IDM5OCA5LjQgNDU3LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTE2LjMgNDQxYzQuNi00LjYgOC4yLTEwLjEgMTAuNi0xNi4xbDE0LjUtMzYuMi00MC43LTQ0LjRjLTIuNS0yLjctNC44LTUuNi03LTguNnpNNTUwLjYgMTUzLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDUzMC43IDIyNEgzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINTMwLjdsLTI1LjQgMjUuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw4MC04MGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtODAtODB6XCJdXG59O1xudmFyIGZhU3F1YXJlRW52ZWxvcGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLWVudmVsb3BlJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJlbnZlbG9wZS1zcXVhcmVcIl0sIFwiZjE5OVwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEgzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6TTIxOCAyNzEuN0w2NC4yIDE3Mi40QzY2IDE1Ni40IDc5LjUgMTQ0IDk2IDE0NEgzNTJjMTYuNSAwIDMwIDEyLjQgMzEuOCAyOC40TDIzMCAyNzEuN2MtMS44IDEuMi0zLjkgMS44LTYgMS44cy00LjItLjYtNi0xLjh6bTI5LjQgMjYuOUwzODQgMjEwLjRWMzM2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYyMTAuNGwxMzYuNiA4OC4yYzcgNC41IDE1LjEgNi45IDIzLjQgNi45czE2LjQtMi40IDIzLjQtNi45elwiXVxufTtcbnZhciBmYUVudmVsb3BlU3F1YXJlID0gZmFTcXVhcmVFbnZlbG9wZTtcbnZhciBmYURpY2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGljZScsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyNzkyMl0sIFwiZjUyMlwiLCBcIk0yNzQuOSAzNC4zYy0yOC4xLTI4LjEtNzMuNy0yOC4xLTEwMS44IDBMMzQuMyAxNzMuMWMtMjguMSAyOC4xLTI4LjEgNzMuNyAwIDEwMS44TDE3My4xIDQxMy43YzI4LjEgMjguMSA3My43IDI4LjEgMTAxLjggMEw0MTMuNyAyNzQuOWMyOC4xLTI4LjEgMjguMS03My43IDAtMTAxLjhMMjc0LjkgMzQuM3pNMjAwIDIyNGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwek05NiAyMDBhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4ek0yMjQgMzc2YTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHpNMzUyIDIwMGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6TTIyNCAxMjBhMjQgMjQgMCAxIDEgMC00OCAyNCAyNCAwIDEgMSAwIDQ4em05NiAzMjhjMCAzNS4zIDI4LjcgNjQgNjQgNjRINTc2YzM1LjMgMCA2NC0yOC43IDY0LTY0VjI1NmMwLTM1LjMtMjguNy02NC02NC02NEg0NjEuN2MxMS42IDM2IDMuMSA3Ny0yNS40IDEwNS41TDMyMCA0MTMuOFY0NDh6TTQ4MCAzMjhhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4elwiXVxufTtcbnZhciBmYUJvd2xpbmdCYWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jvd2xpbmctYmFsbCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjQzNlwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjQwIDgwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMjA4IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0tNjQtNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbnZhciBmYUJyYWluID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JyYWluJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5NTA0XSwgXCJmNWRjXCIsIFwiTTE4NCAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2VjQ1NmMwIDMwLjktMjUuMSA1Ni01NiA1NmMtMjguOSAwLTUyLjctMjEuOS01NS43LTUwLjFjLTUuMiAxLjQtMTAuNyAyLjEtMTYuMyAyLjFjLTM1LjMgMC02NC0yOC43LTY0LTY0YzAtNy40IDEuMy0xNC42IDMuNi0yMS4yQzIxLjQgMzY3LjQgMCAzMzguMiAwIDMwNGMwLTMxLjkgMTguNy01OS41IDQ1LjgtNzIuM0MzNy4xIDIyMC44IDMyIDIwNyAzMiAxOTJjMC0zMC43IDIxLjYtNTYuMyA1MC40LTYyLjZDODAuOCAxMjMuOSA4MCAxMTggODAgMTEyYzAtMjkuOSAyMC42LTU1LjEgNDguMy02Mi4xQzEzMS4zIDIxLjkgMTU1LjEgMCAxODQgMHpNMzI4IDBjMjguOSAwIDUyLjYgMjEuOSA1NS43IDQ5LjljMjcuOCA3IDQ4LjMgMzIuMSA0OC4zIDYyLjFjMCA2LS44IDExLjktMi40IDE3LjRjMjguOCA2LjIgNTAuNCAzMS45IDUwLjQgNjIuNmMwIDE1LTUuMSAyOC44LTEzLjggMzkuN0M0OTMuMyAyNDQuNSA1MTIgMjcyLjEgNTEyIDMwNGMwIDM0LjItMjEuNCA2My40LTUxLjYgNzQuOGMyLjMgNi42IDMuNiAxMy44IDMuNiAyMS4yYzAgMzUuMy0yOC43IDY0LTY0IDY0Yy01LjYgMC0xMS4xLS43LTE2LjMtMi4xYy0zIDI4LjItMjYuOCA1MC4xLTU1LjcgNTAuMWMtMzAuOSAwLTU2LTI1LjEtNTYtNTZWNTZjMC0zMC45IDI1LjEtNTYgNTYtNTZ6XCJdXG59O1xudmFyIGZhQmFuZGFnZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYW5kYWdlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI5NjU3LCBcImJhbmQtYWlkXCJdLCBcImY0NjJcIiwgXCJNNDgwIDQxNmg5NmMzNS4zIDAgNjQtMjguNyA2NC02NFYxNjBjMC0zNS4zLTI4LjctNjQtNjQtNjRINDgwVjQxNnpNNDQ4IDk2SDE5MlY0MTZINDQ4Vjk2ek02NCA5NkMyOC43IDk2IDAgMTI0LjcgMCAxNjBWMzUyYzAgMzUuMyAyOC43IDY0IDY0IDY0aDk2Vjk2SDY0ek0yNDggMjA4YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTEyMC0yNGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6TTI0OCAzMDRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMTIwLTI0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpcIl1cbn07XG52YXIgZmFCYW5kQWlkID0gZmFCYW5kYWdlO1xudmFyIGZhQ2FsZW5kYXJNaW51cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYWxlbmRhci1taW51cycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjI3MlwiLCBcIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMlY2NEgyODhWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMlY2NGg0OGMyNi41IDAgNDggMjEuNSA0OCA0OHY0OEgwVjExMkMwIDg1LjUgMjEuNSA2NCA0OCA2NEg5NlYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMCAxOTJINDQ4VjQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMTkyek0zMTIgMzc2YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDEzNmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNEgzMTJ6XCJdXG59O1xudmFyIGZhQ2lyY2xlWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLXhtYXJrJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjE1MzIsIFwidGltZXMtY2lyY2xlXCIsIFwieG1hcmstY2lyY2xlXCJdLCBcImYwNTdcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE3NSAxNzVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsNDcgNDcgNDctNDdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC00NyA0NyA0NyA0N2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00Ny00Ny00NyA0N2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw0Ny00Ny00Ny00N2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6XCJdXG59O1xudmFyIGZhVGltZXNDaXJjbGUgPSBmYUNpcmNsZVhtYXJrO1xudmFyIGZhWG1hcmtDaXJjbGUgPSBmYUNpcmNsZVhtYXJrO1xudmFyIGZhR2lmdHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ2lmdHMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY3OWNcIiwgXCJNMjAwLjYgMzJDMjA1IDE5LjUgMTk4LjUgNS44IDE4NiAxLjRTMTU5LjggMy41IDE1NS40IDE2TDE0NC43IDQ2LjJsLTkuOS0yOS44QzEzMC42IDMuOCAxMTctMyAxMDQuNCAxLjJTODUgMTkgODkuMiAzMS42bDguMyAyNS0yNy40LTIwYy0xMC43LTcuOC0yNS43LTUuNC0zMy41IDUuM3MtNS40IDI1LjcgNS4zIDMzLjVMNzAuMiA5Nkg0OEMyMS41IDk2IDAgMTE3LjUgMCAxNDRWNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDIwMC42Yy01LjQtOS40LTguNi0yMC4zLTguNi0zMlYyNTZjMC0yOS45IDIwLjUtNTUgNDguMi02MmMxLjgtMzEgMTcuMS01OC4yIDQwLjEtNzYuMUMyNzEuNyAxMDQuNyAyNTYuOSA5NiAyNDAgOTZIMjE3LjhsMjguMy0yMC42YzEwLjctNy44IDEzLjEtMjIuOCA1LjMtMzMuNXMtMjIuOC0xMy4xLTMzLjUtNS4zTDE5Mi41IDU1LjEgMjAwLjYgMzJ6TTM2My41IDE4NS41TDM5My4xIDIyNEgzNDRjLTEzLjMgMC0yNC0xMC43LTI0LTI0YzAtMTMuMSAxMC44LTI0IDI0LjItMjRjNy42IDAgMTQuNyAzLjUgMTkuMyA5LjV6TTI3MiAyMDBjMCA4LjQgMS40IDE2LjUgNC4xIDI0SDI3MmMtMjYuNSAwLTQ4IDIxLjUtNDggNDh2ODBINDE2VjI1NmgzMnY5Nkg2NDBWMjcyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4aC00LjFjMi43LTcuNSA0LjEtMTUuNiA0LjEtMjRjMC0zOS45LTMyLjUtNzItNzIuMi03MmMtMjIuNCAwLTQzLjYgMTAuNC01Ny4zIDI4LjJMNDMyIDE5NS44bC0zMC41LTM5LjZjLTEzLjctMTcuOC0zNS0yOC4yLTU3LjMtMjguMmMtMzkuNyAwLTcyLjIgMzIuMS03Mi4yIDcyek0yMjQgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDQxNlYzODRIMjI0djgwem0yMjQgNDhINTkyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjM4NEg0NDhWNTEyem05Ni0zMTJjMCAxMy4zLTEwLjcgMjQtMjQgMjRINDcwLjlsMjkuNi0zOC41YzQuNi01LjkgMTEuNy05LjUgMTkuMy05LjVjMTMuNCAwIDI0LjIgMTAuOSAyNC4yIDI0elwiXVxufTtcbnZhciBmYUhvdGVsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdGVsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3OTc2XSwgXCJmNTk0XCIsIFwiTTAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwSDQ4MGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMlY0NDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzA0VjQ2NGMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OHY0OEgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMlY2NEMxNC4zIDY0IDAgNDkuNyAwIDMyem05NiA4MHYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjExMmMwLTguOC03LjItMTYtMTYtMTZIMTEyYy04LjggMC0xNiA3LjItMTYgMTZ6TTI0MCA5NmMtOC44IDAtMTYgNy4yLTE2IDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMTEyYzAtOC44LTcuMi0xNi0xNi0xNkgyNDB6bTExMiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjExMmMwLTguOC03LjItMTYtMTYtMTZIMzY4Yy04LjggMC0xNiA3LjItMTYgMTZ6TTExMiAxOTJjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjIwOGMwLTguOC03LjItMTYtMTYtMTZIMTEyem0xMTIgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYyMDhjMC04LjgtNy4yLTE2LTE2LTE2SDI0MGMtOC44IDAtMTYgNy4yLTE2IDE2em0xNDQtMTZjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjIwOGMwLTguOC03LjItMTYtMTYtMTZIMzY4ek0zMjggMzg0YzEzLjMgMCAyNC4zLTEwLjkgMjEtMjMuOGMtMTAuNi00MS41LTQ4LjItNzIuMi05My03Mi4ycy04Mi41IDMwLjctOTMgNzIuMmMtMy4zIDEyLjggNy44IDIzLjggMjEgMjMuOEgzMjh6XCJdXG59O1xudmFyIGZhRWFydGhBc2lhID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2VhcnRoLWFzaWEnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc3NTksIFwiZ2xvYmUtYXNpYVwiXSwgXCJmNTdlXCIsIFwiTTUxLjcgMjk1LjFsMzEuNyA2LjNjNy45IDEuNiAxNi0uOSAyMS43LTYuNmwxNS40LTE1LjRjMTEuNi0xMS42IDMxLjEtOC40IDM4LjQgNi4ybDkuMyAxOC41YzQuOCA5LjYgMTQuNiAxNS43IDI1LjQgMTUuN2MxNS4yIDAgMjYuMS0xNC42IDIxLjctMjkuMmwtNi0xOS45Yy00LjYtMTUuNCA2LjktMzAuOSAyMy0zMC45aDIuM2MxMy40IDAgMjUuOS02LjcgMzMuMy0xNy44bDEwLjctMTYuMWM1LjYtOC41IDUuMy0xOS42LS44LTI3LjdsLTE2LjEtMjEuNWMtMTAuMy0xMy43LTMuMy0zMy41IDEzLjQtMzcuN2wxNy00LjNjNy41LTEuOSAxMy42LTcuMiAxNi41LTE0LjRsMTYuNC00MC45QzMwMy40IDUyLjEgMjgwLjIgNDggMjU2IDQ4QzE0MS4xIDQ4IDQ4IDE0MS4xIDQ4IDI1NmMwIDEzLjQgMS4zIDI2LjUgMy43IDM5LjF6bTQwNy43IDQuNmMtMy0uMy02LS4xLTkgLjhsLTE1LjggNC40Yy02LjcgMS45LTEzLjgtLjktMTcuNS02LjdsLTItMy4xYy02LTkuNC0xNi40LTE1LjEtMjcuNi0xNS4xcy0yMS42IDUuNy0yNy42IDE1LjFsLTYuMSA5LjVjLTEuNCAyLjItMy40IDQuMS01LjcgNS4zTDMxMiAzMzAuMWMtMTguMSAxMC4xLTI1LjUgMzIuNC0xNyA1MS4zbDUuNSAxMi40YzguNiAxOS4yIDMwLjcgMjguNSA1MC41IDIxLjFsMi42LTFjMTAtMy43IDIxLjMtMi4yIDI5LjkgNC4xbDEuNSAxLjFjMzcuMi0yOS41IDY0LjEtNzEuNCA3NC40LTExOS41ek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6bTE0NC41IDkyLjFjLTIuMSA4LjYgMy4xIDE3LjMgMTEuNiAxOS40bDMyIDhjOC42IDIuMSAxNy4zLTMuMSAxOS40LTExLjZzLTMuMS0xNy4zLTExLjYtMTkuNGwtMzItOGMtOC42LTIuMS0xNy4zIDMuMS0xOS40IDExLjZ6bTkyLTIwYy0yLjEgOC42IDMuMSAxNy4zIDExLjYgMTkuNHMxNy4zLTMuMSAxOS40LTExLjZsOC0zMmMyLjEtOC42LTMuMS0xNy4zLTExLjYtMTkuNHMtMTcuMyAzLjEtMTkuNCAxMS42bC04IDMyek0zNDMuMiAxMTMuN2MtNy45LTQtMTcuNS0uNy0yMS41IDcuMmwtMTYgMzJjLTQgNy45LS43IDE3LjUgNy4yIDIxLjVzMTcuNSAuNyAyMS41LTcuMmwxNi0zMmM0LTcuOSAuNy0xNy41LTcuMi0yMS41elwiXVxufTtcbnZhciBmYUdsb2JlQXNpYSA9IGZhRWFydGhBc2lhO1xudmFyIGZhSWRDYXJkQ2xpcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdpZC1jYXJkLWNsaXAnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImlkLWNhcmQtYWx0XCJdLCBcImY0N2ZcIiwgXCJNMjU2IDBoNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJWOTZjMCAxNy43LTE0LjMgMzItMzIgMzJIMjU2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNjQgNjRIMTkydjQ4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDk2YzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjY0SDUxMmMzNS4zIDAgNjQgMjguNyA2NCA2NFY0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NHpNMTc2IDQzNy4zYzAgNS45IDQuOCAxMC43IDEwLjcgMTAuN0gzODkuM2M1LjkgMCAxMC43LTQuOCAxMC43LTEwLjdjMC0yOS41LTIzLjktNTMuMy01My4zLTUzLjNIMjI5LjNjLTI5LjUgMC01My4zIDIzLjktNTMuMyA1My4zek0yODggMzUyYTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4elwiXVxufTtcbnZhciBmYUlkQ2FyZEFsdCA9IGZhSWRDYXJkQ2xpcDtcbnZhciBmYU1hZ25pZnlpbmdHbGFzc1BsdXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFnbmlmeWluZy1nbGFzcy1wbHVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJzZWFyY2gtcGx1c1wiXSwgXCJmMDBlXCIsIFwiTTQxNiAyMDhjMCA0NS45LTE0LjkgODguMy00MCAxMjIuN0w1MDIuNiA0NTcuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwzMzAuNyAzNzZjLTM0LjQgMjUuMi03Ni44IDQwLTEyMi43IDQwQzkzLjEgNDE2IDAgMzIyLjkgMCAyMDhTOTMuMSAwIDIwOCAwUzQxNiA5My4xIDQxNiAyMDh6TTE4NCAyOTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFYyMzJoNjRjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRIMjMyVjEyMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHY2NEgxMjBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRoNjR2NjR6XCJdXG59O1xudmFyIGZhU2VhcmNoUGx1cyA9IGZhTWFnbmlmeWluZ0dsYXNzUGx1cztcbnZhciBmYVRodW1ic1VwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RodW1icy11cCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODA3NywgNjE1NzVdLCBcImYxNjRcIiwgXCJNMzEzLjQgMzIuOWMyNiA1LjIgNDIuOSAzMC41IDM3LjcgNTYuNWwtMi4zIDExLjRjLTUuMyAyNi43LTE1LjEgNTIuMS0yOC44IDc1LjJINDY0YzI2LjUgMCA0OCAyMS41IDQ4IDQ4YzAgMTguNS0xMC41IDM0LjYtMjUuOSA0Mi42QzQ5NyAyNzUuNCA1MDQgMjg4LjkgNTA0IDMwNGMwIDIzLjQtMTYuOCA0Mi45LTM4LjkgNDcuMWM0LjQgNy4zIDYuOSAxNS44IDYuOSAyNC45YzAgMjEuMy0xMy45IDM5LjQtMzMuMSA0NS42Yy43IDMuMyAxLjEgNi44IDEuMSAxMC40YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDI5NC41Yy0xOSAwLTM3LjUtNS42LTUzLjMtMTYuMWwtMzguNS0yNS43QzE3NiA0MjAuNCAxNjAgMzkwLjQgMTYwIDM1OC4zVjMyMCAyNzIgMjQ3LjFjMC0yOS4yIDEzLjMtNTYuNyAzNi03NWw3LjQtNS45YzI2LjUtMjEuMiA0NC42LTUxIDUxLjItODQuMmwyLjMtMTEuNGM1LjItMjYgMzAuNS00Mi45IDU2LjUtMzcuN3pNMzIgMTkySDk2YzE3LjcgMCAzMiAxNC4zIDMyIDMyVjQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMkgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMjI0YzAtMTcuNyAxNC4zLTMyIDMyLTMyelwiXVxufTtcbnZhciBmYVVzZXJDbG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLWNsb2NrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNGZkXCIsIFwiTTIyNCAwYTEyOCAxMjggMCAxIDEgMCAyNTZBMTI4IDEyOCAwIDEgMSAyMjQgMHpNMTc4LjMgMzA0aDkxLjRjMjAuNiAwIDQwLjQgMy41IDU4LjggOS45QzMyMyAzMzEgMzIwIDM0OS4xIDMyMCAzNjhjMCA1OS41IDI5LjUgMTEyLjEgNzQuOCAxNDRIMjkuN0MxMy4zIDUxMiAwIDQ5OC43IDAgNDgyLjNDMCAzODMuOCA3OS44IDMwNCAxNzguMyAzMDR6TTM1MiAzNjhhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMTQ0LTgwYy04LjggMC0xNiA3LjItMTYgMTZ2NjRjMCA4LjggNy4yIDE2IDE2IDE2aDQ4YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDUxMlYzMDRjMC04LjgtNy4yLTE2LTE2LTE2elwiXVxufTtcbnZhciBmYUhhbmREb3RzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtZG90cycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYWxsZXJnaWVzXCJdLCBcImY0NjFcIiwgXCJNMjg4IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjI0MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlY2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlYzMzZjMCAxLjUgMCAzLjEgLjEgNC42TDY3LjYgMjgzYy0xNi0xNS4yLTQxLjMtMTQuNi01Ni42IDEuNHMtMTQuNiA0MS4zIDEuNCA1Ni42TDEyNC44IDQ0OGM0My4xIDQxLjEgMTAwLjQgNjQgMTYwIDY0SDMwNGM5Ny4yIDAgMTc2LTc4LjggMTc2LTE3NlYxMjhjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWMjQwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjI0MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlYzMnpNMjQwIDMzNmExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwem04MCAxNmExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6bTQ4LTE2YTE2IDE2IDAgMSAxIDMyIDAgMTYgMTYgMCAxIDEgLTMyIDB6bS0xNiA4MGExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6TTI0MCA0MzJhMTYgMTYgMCAxIDEgMzIgMCAxNiAxNiAwIDEgMSAtMzIgMHptLTQ4LTQ4YTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnpcIl1cbn07XG52YXIgZmFBbGxlcmdpZXMgPSBmYUhhbmREb3RzO1xudmFyIGZhRmlsZUludm9pY2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1pbnZvaWNlJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNTcwXCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzMjBjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTYwSDI1NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMEg2NHpNMjU2IDBWMTI4SDM4NEwyNTYgMHpNODAgNjRoNjRjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIODBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTAgNjRoNjRjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIODBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTE2IDk2SDI4OGMxNy43IDAgMzIgMTQuMyAzMiAzMnY2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkg5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0wIDMydjY0SDI4OFYyNTZIOTZ6TTI0MCA0MTZoNjRjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMjQwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2elwiXVxufTtcbnZhciBmYVdpbmRvd01pbmltaXplID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dpbmRvdy1taW5pbWl6ZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODQ2OV0sIFwiZjJkMVwiLCBcIk0zMiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDMyelwiXVxufTtcbnZhciBmYU11Z1NhdWNlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtdWctc2F1Y2VyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJjb2ZmZWVcIl0sIFwiZjBmNFwiLCBcIk05NiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMkg0NDhoNjRjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhzLTU3LjMgMTI4LTEyOCAxMjhINDgwYzAgNTMtNDMgOTYtOTYgOTZIMTkyYy01MyAwLTk2LTQzLTk2LTk2VjY0ek00ODAgMjI0aDMyYzM1LjMgMCA2NC0yOC43IDY0LTY0cy0yOC43LTY0LTY0LTY0SDQ4MFYyMjR6TTMyIDQxNkg1NDRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6XCJdXG59O1xudmFyIGZhQ29mZmVlID0gZmFNdWdTYXVjZXI7XG52YXIgZmFCcnVzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdicnVzaCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjU1ZFwiLCBcIk0xNjIuNCA2Yy0xLjUtMy42LTUtNi04LjktNmgtMTljLTMuOSAwLTcuNSAyLjQtOC45IDZMMTA0LjkgNTcuN2MtMy4yIDgtMTQuNiA4LTE3LjggMEw2Ni40IDZjLTEuNS0zLjYtNS02LTguOS02SDQ4QzIxLjUgMCAwIDIxLjUgMCA0OFYyMjR2MjIuNFYyNTZIOS42IDM3NC40IDM4NHYtOS42VjIyNCA0OGMwLTI2LjUtMjEuNS00OC00OC00OEgyMzAuNWMtMy45IDAtNy41IDIuNC04LjkgNkwyMDAuOSA1Ny43Yy0zLjIgOC0xNC42IDgtMTcuOCAwTDE2Mi40IDZ6TTAgMjg4djMyYzAgMzUuMyAyOC43IDY0IDY0IDY0aDY0djY0YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjRWMzg0aDY0YzM1LjMgMCA2NC0yOC43IDY0LTY0VjI4OEgwek0xOTIgNDMyYTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnpcIl1cbn07XG52YXIgZmFNYXNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hc2snLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY2ZmFcIiwgXCJNMjg4IDY0QzY0IDY0IDAgMTYwIDAgMjcyUzgwIDQ0OCAxNzYgNDQ4aDguNGMyNC4yIDAgNDYuNC0xMy43IDU3LjItMzUuNGwyMy4yLTQ2LjNjNC40LTguOCAxMy4zLTE0LjMgMjMuMi0xNC4zczE4LjggNS41IDIzLjIgMTQuM2wyMy4yIDQ2LjNjMTAuOCAyMS43IDMzIDM1LjQgNTcuMiAzNS40SDQwMGM5NiAwIDE3Ni02NCAxNzYtMTc2cy02NC0yMDgtMjg4LTIwOHpNOTYgMjU2YTY0IDY0IDAgMSAxIDEyOCAwQTY0IDY0IDAgMSAxIDk2IDI1NnptMzIwLTY0YTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4elwiXVxufTtcbnZhciBmYU1hZ25pZnlpbmdHbGFzc01pbnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hZ25pZnlpbmctZ2xhc3MtbWludXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInNlYXJjaC1taW51c1wiXSwgXCJmMDEwXCIsIFwiTTQxNiAyMDhjMCA0NS45LTE0LjkgODguMy00MCAxMjIuN0w1MDIuNiA0NTcuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwzMzAuNyAzNzZjLTM0LjQgMjUuMi03Ni44IDQwLTEyMi43IDQwQzkzLjEgNDE2IDAgMzIyLjkgMCAyMDhTOTMuMSAwIDIwOCAwUzQxNiA5My4xIDQxNiAyMDh6TTEzNiAxODRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRIMjgwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDEzNnpcIl1cbn07XG52YXIgZmFTZWFyY2hNaW51cyA9IGZhTWFnbmlmeWluZ0dsYXNzTWludXM7XG52YXIgZmFSdWxlclZlcnRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3J1bGVyLXZlcnRpY2FsJyxcbiAgaWNvbjogWzI1NiwgNTEyLCBbXSwgXCJmNTQ4XCIsIFwiTTAgNDhDMCAyMS41IDIxLjUgMCA0OCAwSDIwOGMyNi41IDAgNDggMjEuNSA0OCA0OFY5NkgxNzZjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZoODB2NjRIMTc2Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2aDgwdjY0SDE3NmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmg4MHY2NEgxNzZjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZoODB2NDhjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjQ4elwiXVxufTtcbnZhciBmYVVzZXJMYXJnZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLWxhcmdlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJ1c2VyLWFsdFwiXSwgXCJmNDA2XCIsIFwiTTI1NiAyODhBMTQ0IDE0NCAwIDEgMCAyNTYgMGExNDQgMTQ0IDAgMSAwIDAgMjg4em0tOTQuNyAzMkM3Mi4yIDMyMCAwIDM5Mi4yIDAgNDgxLjNjMCAxNyAxMy44IDMwLjcgMzAuNyAzMC43SDQ4MS4zYzE3IDAgMzAuNy0xMy44IDMwLjctMzAuN0M1MTIgMzkyLjIgNDM5LjggMzIwIDM1MC43IDMyMEgxNjEuM3pcIl1cbn07XG52YXIgZmFVc2VyQWx0ID0gZmFVc2VyTGFyZ2U7XG52YXIgZmFUcmFpblRyYW0gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJhaW4tdHJhbScsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODY1MF0sIFwiZTViNFwiLCBcIk04Ni44IDQ4Yy0xMi4yIDAtMjMuNiA1LjUtMzEuMiAxNUw0Mi43IDc5QzM0LjUgODkuMyAxOS40IDkxIDkgODIuN1MtMyA1OS40IDUuMyA0OUwxOCAzM0MzNC43IDEyLjIgNjAgMCA4Ni44IDBIMzYxLjJjMjYuNyAwIDUyIDEyLjIgNjguNyAzM2wxMi44IDE2YzguMyAxMC40IDYuNiAyNS41LTMuOCAzMy43cy0yNS41IDYuNi0zMy43LTMuN0wzOTIuNSA2M2MtNy42LTkuNS0xOS4xLTE1LTMxLjItMTVIMjQ4Vjk2aDQwYzUzIDAgOTYgNDMgOTYgOTZWMzUyYzAgMzAuNi0xNC4zIDU3LjgtMzYuNiA3NS40bDY1LjUgNjUuNWM3LjEgNy4xIDIuMSAxOS4xLTcuOSAxOS4xSDM2NS4zYy04LjUgMC0xNi42LTMuNC0yMi42LTkuNEwyODggNDQ4SDE2MGwtNTQuNiA1NC42Yy02IDYtMTQuMSA5LjQtMjIuNiA5LjRINDNjLTEwIDAtMTUtMTIuMS03LjktMTkuMWw2NS41LTY1LjVDNzguMyA0MDkuOCA2NCAzODIuNiA2NCAzNTJWMTkyYzAtNTMgNDMtOTYgOTYtOTZoNDBWNDhIODYuOHpNMTYwIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2MzJjMCAxNy43IDE0LjMgMzIgMzIgMzJIMjg4YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjE5MmMwLTE3LjctMTQuMy0zMi0zMi0zMkgxNjB6bTMyIDE5MmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem05NiAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xudmFyIGZhVXNlck51cnNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItbnVyc2UnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImY4MmZcIiwgXCJNOTYgMTI4VjcwLjJjMC0xMy4zIDguMy0yNS4zIDIwLjgtMzBsOTYtMzZjNy4yLTIuNyAxNS4yLTIuNyAyMi41IDBsOTYgMzZjMTIuNSA0LjcgMjAuOCAxNi42IDIwLjggMzBWMTI4aC0uM2MuMiAyLjYgLjMgNS4zIC4zIDh2NDBjMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhzLTEyOC01Ny4zLTEyOC0xMjhWMTM2YzAtMi43IC4xLTUuNCAuMy04SDk2em00OCA0OGMwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwVjE2MEgxNDR2MTZ6TTExMS45IDMyNy43YzEwLjUtMy40IDIxLjggLjQgMjkuNCA4LjVsNzEgNzUuNWM2LjMgNi43IDE3IDYuNyAyMy4zIDBsNzEtNzUuNWM3LjYtOC4xIDE4LjktMTEuOSAyOS40LTguNUM0MDEgMzQ4LjYgNDQ4IDQwOS40IDQ0OCA0ODEuM2MwIDE3LTEzLjggMzAuNy0zMC43IDMwLjdIMzAuN0MxMy44IDUxMiAwIDQ5OC4yIDAgNDgxLjNjMC03MS45IDQ3LTEzMi43IDExMS45LTE1My42ek0yMDggNDhWNjRIMTkyYy00LjQgMC04IDMuNi04IDhWODhjMCA0LjQgMy42IDggOCA4aDE2djE2YzAgNC40IDMuNiA4IDggOGgxNmM0LjQgMCA4LTMuNiA4LThWOTZoMTZjNC40IDAgOC0zLjYgOC04VjcyYzAtNC40LTMuNi04LTgtOEgyNDBWNDhjMC00LjQtMy42LTgtOC04SDIxNmMtNC40IDAtOCAzLjYtOCA4elwiXVxufTtcbnZhciBmYVN5cmluZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3lyaW5nZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODEzN10sIFwiZjQ4ZVwiLCBcIk00NDEgN2wzMiAzMiAzMiAzMmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC0xNS0xNUw0MTcuOSAxMjhsNTUgNTVjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNzItNzJMMjk1IDczYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNTUgNTVMNDIyLjEgNTYgNDA3IDQxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDB6TTIxMC4zIDE1NS43bDYxLjEtNjEuMWMuMyAuMyAuNiAuNyAxIDFsMTYgMTYgNTYgNTYgNTYgNTYgMTYgMTZjLjMgLjMgLjYgLjYgMSAxbC0xOTEgMTkxYy0xMC41IDEwLjUtMjQuNyAxNi40LTM5LjYgMTYuNEg5Ny45TDQxIDUwNWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw1Ny01N1YzMjUuM2MwLTE0LjkgNS45LTI5LjEgMTYuNC0zOS42bDQzLjMtNDMuMyA1NyA1N2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTU3LTU3IDQxLjQtNDEuNCA1NyA1N2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTU3LTU3elwiXVxufTtcbnZhciBmYUNsb3VkU3VuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nsb3VkLXN1bicsXG4gIGljb246IFs2NDAsIDUxMiwgWzk5MjVdLCBcImY2YzRcIiwgXCJNMjk0LjIgMS4yYzUuMSAyLjEgOC43IDYuNyA5LjYgMTIuMWwxNC4xIDg0LjcgODQuNyAxNC4xYzUuNCAuOSAxMCA0LjUgMTIuMSA5LjZzMS41IDEwLjktMS42IDE1LjRsLTM4LjUgNTVjLTIuMi0uMS00LjQtLjItNi43LS4yYy0yMy4zIDAtNDUuMSA2LjItNjQgMTcuMWwwLTEuMWMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NnM0MyA5NiA5NiA5NmM4LjEgMCAxNS45LTEgMjMuNC0yLjljLTM2LjYgMTguMS02My4zIDUzLjEtNjkuOCA5NC45bC0yNC40IDE3Yy00LjUgMy4xLTEwLjMgMy44LTE1LjQgMS42cy04LjctNi43LTkuNi0xMi4xTDk4LjEgMzE3LjkgMTMuNCAzMDMuOGMtNS40LS45LTEwLTQuNS0xMi4xLTkuNnMtMS41LTEwLjkgMS42LTE1LjRMNTIuNSAyMDggMi45IDEzNy4yYy0zLjItNC41LTMuOC0xMC4zLTEuNi0xNS40czYuNy04LjcgMTIuMS05LjZMOTguMSA5OC4xbDE0LjEtODQuN2MuOS01LjQgNC41LTEwIDkuNi0xMi4xczEwLjktMS41IDE1LjQgMS42TDIwOCA1Mi41IDI3OC44IDIuOWM0LjUtMy4yIDEwLjMtMy44IDE1LjQtMS42ek0xNDQgMjA4YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNNjM5LjkgNDMxLjljMCA0NC4yLTM1LjggODAtODAgODBIMjg4Yy01MyAwLTk2LTQzLTk2LTk2YzAtNDcuNiAzNC42LTg3IDgwLTk0LjZsMC0xLjNjMC01MyA0My05NiA5Ni05NmMzNC45IDAgNjUuNCAxOC42IDgyLjIgNDYuNGMxMy05LjEgMjguOC0xNC40IDQ1LjgtMTQuNGM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDUuOS0uNiAxMS43LTEuOSAxNy4yYzM3LjQgNi43IDY1LjggMzkuNCA2NS44IDc4Ljd6XCJdXG59O1xudmFyIGZhU3RvcHdhdGNoMjAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3RvcHdhdGNoLTIwJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJlMDZmXCIsIFwiTTE3NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDE2Vjk4LjRDOTIuMyAxMTMuOCAxNiAyMDAgMTYgMzA0YzAgMTE0LjkgOTMuMSAyMDggMjA4IDIwOHMyMDgtOTMuMSAyMDgtMjA4YzAtNDEuOC0xMi4zLTgwLjctMzMuNS0xMTMuMmwyNC4xLTI0LjFjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMzU1LjcgMTQzYy0yOC4xLTIzLTYyLjItMzguOC05OS43LTQ0LjZWNjRoMTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTc2ek0yODggMjA0YzI4LjcgMCA1MiAyMy4zIDUyIDUydjk2YzAgMjguNy0yMy4zIDUyLTUyIDUycy01Mi0yMy4zLTUyLTUyVjI1NmMwLTI4LjcgMjMuMy01MiA1Mi01MnptLTEyIDUydjk2YzAgNi42IDUuNCAxMiAxMiAxMnMxMi01LjQgMTItMTJWMjU2YzAtNi42LTUuNC0xMi0xMi0xMnMtMTIgNS40LTEyIDEyek0xNTkuNSAyNDRjLTUuNCAwLTEwLjIgMy41LTExLjkgOC42bC0uNiAxLjdjLTMuNSAxMC41LTE0LjggMTYuMS0yNS4zIDEyLjZzLTE2LjEtMTQuOC0xMi42LTI1LjNsLjYtMS43YzcuMi0yMS41IDI3LjItMzUuOSA0OS44LTM1LjljMjkgMCA1Mi41IDIzLjUgNTIuNSA1Mi41djIuMmMwIDEzLjQtNC45IDI2LjQtMTMuOCAzNi40bC0zOSA0My45Yy02LjIgNy0xMCAxNS43LTEwLjkgMjQuOUgxOTJjMTEgMCAyMCA5IDIwIDIwcy05IDIwLTIwIDIwSDEyOGMtMTEgMC0yMC05LTIwLTIwVjM2OC4zYzAtMjAuNiA3LjUtNDAuNCAyMS4yLTU1LjhsMzktNDMuOWMyLjQtMi43IDMuNy02LjIgMy43LTkuOHYtMi4yYzAtNi45LTUuNi0xMi41LTEyLjUtMTIuNXpcIl1cbn07XG52YXIgZmFTcXVhcmVGdWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1mdWxsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4OTk3LCAxMjg5OTgsIDEyODk5OSwgMTI5MDAwLCAxMjkwMDEsIDEyOTAwMiwgMTI5MDAzLCAxMTAzNSwgMTEwMzZdLCBcImY0NWNcIiwgXCJNMCAwSDUxMlY1MTJIMFYwelwiXVxufTtcbnZhciBmYU1hZ25ldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYWduZXQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjk1MjJdLCBcImYwNzZcIiwgXCJNMCAxNjB2OTZDMCAzNzkuNyAxMDAuMyA0ODAgMjI0IDQ4MHMyMjQtMTAwLjMgMjI0LTIyNFYxNjBIMzIwdjk2YzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2VjE2MEgwem0wLTMySDEyOFY2NGMwLTE3LjctMTQuMy0zMi0zMi0zMkgzMkMxNC4zIDMyIDAgNDYuMyAwIDY0djY0em0zMjAgMEg0NDhWNjRjMC0xNy43LTE0LjMtMzItMzItMzJIMzUyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnY2NHpcIl1cbn07XG52YXIgZmFKYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnamFyJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJlNTE2XCIsIFwiTTMyIDMyQzMyIDE0LjMgNDYuMyAwIDY0IDBIMjU2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDY0QzQ2LjMgNjQgMzIgNDkuNyAzMiAzMnpNMCAxNjBjMC0zNS4zIDI4LjctNjQgNjQtNjRIMjU2YzM1LjMgMCA2NCAyOC43IDY0IDY0VjQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMTYwem05NiA2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2OTZjMCAxNy43IDE0LjMgMzIgMzIgMzJIMjI0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjI1NmMwLTE3LjctMTQuMy0zMi0zMi0zMkg5NnpcIl1cbn07XG52YXIgZmFOb3RlU3RpY2t5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ25vdGUtc3RpY2t5JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbNjIwMjYsIFwic3RpY2t5LW5vdGVcIl0sIFwiZjI0OVwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEgyODhWMzY4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4SDQ0OFY5NmMwLTM1LjMtMjguNy02NC02NC02NEg2NHpNNDQ4IDM1Mkg0MDIuNyAzMzZjLTguOCAwLTE2IDcuMi0xNiAxNnY2Ni43VjQ4MGwzMi0zMiA2NC02NCAzMi0zMnpcIl1cbn07XG52YXIgZmFTdGlja3lOb3RlID0gZmFOb3RlU3RpY2t5O1xudmFyIGZhQnVnU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVnLXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNDkwXCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdMNDc3LjQgMzQ4LjljMS43LTkuNCAyLjYtMTkgMi42LTI4LjloNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINDc5LjdjLTEuMS0xNC4xLTUtMjcuNS0xMS4xLTM5LjVjLjctLjYgMS40LTEuMiAyLjEtMS45bDY0LTY0YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC02NCA2NGMtLjcgLjctMS4zIDEuNC0xLjkgMi4xQzQwOS4yIDE2NC4xIDM5My4xIDE2MCAzNzYgMTYwSDI2NGMtOC4zIDAtMTYuMyAxLTI0IDIuOEwzOC44IDUuMXptMzkyIDQzMC4zTDMzNiAzNjAuN1Y0NzkuMmMzNi42LTMuNiA2OS43LTE5LjYgOTQuOC00My44ek0xNjYuNyAyMjcuM2MtMy40IDktNS42IDE4LjctNi40IDI4LjdIOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoNjRjMCAyNC42IDUuNSA0Ny44IDE1LjQgNjguNmMtMi4yIDEuMy00LjIgMi45LTYgNC44bC02NCA2NGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw2My4xLTYzLjFjMjQuNSAyMS44IDU1LjggMzYuMiA5MC4zIDM5LjZWMzM1LjVMMTY2LjcgMjI3LjN6TTMyMCAwYy01MyAwLTk2IDQzLTk2IDk2djMuNmMwIDE1LjcgMTIuNyAyOC40IDI4LjQgMjguNEgzODcuNmMxNS43IDAgMjguNC0xMi43IDI4LjQtMjguNFY5NmMwLTUzLTQzLTk2LTk2LTk2elwiXVxufTtcbnZhciBmYUFycm93VXBGcm9tV2F0ZXJQdW1wID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXVwLWZyb20td2F0ZXItcHVtcCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRiNlwiLCBcIk0xMTIgMEM4NS41IDAgNjQgMjEuNSA2NCA0OFYyNTZINDhjLTI2LjUgMC00OCAyMS41LTQ4IDQ4djk2YzAgOCAyIDE1LjYgNS40IDIyLjJjMy44LTEuNyA3LjgtMy4xIDEyLTQuMWMxMy4xLTMuMSAyNi43LTkuOCAzNy4zLTE4LjZjMjIuMi0xOC43IDU0LjMtMjAuMSA3OC4xLTMuNGMxOCAxMi40IDQwLjEgMjAuMyA1OS4yIDIwLjNjMjEuMSAwIDQyLTguNSA1OS4yLTIwLjNjMjIuMS0xNS41IDUxLjYtMTUuNSA3My43IDBjMTguNCAxMi43IDM5LjYgMjAuMyA1OS4yIDIwLjNjMTkgMCA0MS4yLTcuOSA1OS4yLTIwLjNjMjMuOC0xNi43IDU1LjgtMTUuMyA3OC4xIDMuNGMxMC42IDguOCAyNC4yIDE1LjYgMzcuMyAxOC42YzQuMiAxIDguMiAyLjQgMTIgNC4xQzU3NCA0MTUuNiA1NzYgNDA4IDU3NiA0MDBWMzA0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDQ4MGwwLTE0Ni43IDI1LjQgMjUuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC04MC04MGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTgwIDgwYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDQxNiAxMDkuMyA0MTYgMjU2SDI4OFY0OGMwLTI2LjUtMjEuNS00OC00OC00OEgxMTJ6TTMwNi41IDQyMS45Yy0xMS4xLTcuOS0yNS45LTcuOS0zNyAwQzI0NyA0MzcuNCAyMTkuNSA0NDggMTkyIDQ0OGMtMjYuOSAwLTU1LjMtMTAuOC03Ny40LTI2LjFsMCAwYy0xMS45LTguNS0yOC4xLTcuOC0zOS4yIDEuN2MtMTQuNCAxMS45LTMyLjUgMjEtNTAuNiAyNS4yYy0xNy4yIDQtMjcuOSAyMS4yLTIzLjkgMzguNHMyMS4yIDI3LjkgMzguNCAyMy45YzI0LjUtNS43IDQ0LjktMTYuNSA1OC4yLTI1QzEyNi41IDUwMS43IDE1OSA1MTIgMTkyIDUxMmMzMS45IDAgNjAuNi05LjkgODAuNC0xOC45YzUuOC0yLjcgMTEuMS01LjMgMTUuNi03LjdjNC41IDIuNCA5LjcgNS4xIDE1LjYgNy43YzE5LjggOSA0OC41IDE4LjkgODAuNCAxOC45YzMzIDAgNjUuNS0xMC4zIDk0LjUtMjUuOGMxMy40IDguNCAzMy43IDE5LjMgNTguMiAyNWMxNy4yIDQgMzQuNC02LjcgMzguNC0yMy45cy02LjctMzQuNC0yMy45LTM4LjRjLTE4LjEtNC4yLTM2LjItMTMuMy01MC42LTI1LjJjLTExLjEtOS40LTI3LjMtMTAuMS0zOS4yLTEuN2wwIDBDNDM5LjQgNDM3LjIgNDEwLjkgNDQ4IDM4NCA0NDhjLTI3LjUgMC01NS0xMC42LTc3LjUtMjYuMXpcIl1cbn07XG52YXIgZmFCb25lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JvbmUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjk0NjBdLCBcImY1ZDdcIiwgXCJNMTUzLjcgMTQ0LjhjNi45IDE2LjMgMjAuNiAzMS4yIDM4LjMgMzEuMkgzODRjMTcuNyAwIDMxLjQtMTQuOSAzOC4zLTMxLjJDNDM0LjQgMTE2LjEgNDYyLjkgOTYgNDk2IDk2YzQ0LjIgMCA4MCAzNS44IDgwIDgwYzAgMzAuNC0xNyA1Ni45LTQyIDcwLjRjLTMuNiAxLjktNiA1LjUtNiA5LjZzMi40IDcuNyA2IDkuNmMyNSAxMy41IDQyIDQwIDQyIDcwLjRjMCA0NC4yLTM1LjggODAtODAgODBjLTMzLjEgMC02MS42LTIwLjEtNzMuNy00OC44QzQxNS40IDM1MC45IDQwMS43IDMzNiAzODQgMzM2SDE5MmMtMTcuNyAwLTMxLjQgMTQuOS0zOC4zIDMxLjJDMTQxLjYgMzk1LjkgMTEzLjEgNDE2IDgwIDQxNmMtNDQuMiAwLTgwLTM1LjgtODAtODBjMC0zMC40IDE3LTU2LjkgNDItNzAuNGMzLjYtMS45IDYtNS41IDYtOS42cy0yLjQtNy43LTYtOS42QzE3IDIzMi45IDAgMjA2LjQgMCAxNzZjMC00NC4yIDM1LjgtODAgODAtODBjMzMuMSAwIDYxLjYgMjAuMSA3My43IDQ4Ljh6XCJdXG59O1xudmFyIGZhVXNlckluanVyZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1pbmp1cmVkJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmNzI4XCIsIFwiTTI0MCA4MEgzNDIuN2MtNy45LTE5LjUtMjAuNC0zNi41LTM2LjItNDkuOUwyNDAgODB6bTM3LjctNjguMkMyNjEuMyA0LjIgMjQzLjIgMCAyMjQgMGMtNTMuNyAwLTk5LjcgMzMuMS0xMTguNyA4MGg4MS40bDkxLTY4LjJ6TTIyNCAyNTZjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhjMC01LjQtLjMtMTAuOC0xLTE2SDk3Yy0uNyA1LjItMSAxMC42LTEgMTZjMCA3MC43IDU3LjMgMTI4IDEyOCAxMjh6TTEyNCAzMTIuNGMtOS43IDMuMS0xOS4xIDctMjggMTEuN1Y1MTJIMjQzLjdMMTgxLjUgNDA4LjIgMTI0IDMxMi40em0zMy03LjJMMjA0LjMgMzg0SDI3MmM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDE4LTYgMzQuNi0xNiA0OGg4Mi4zYzE2LjQgMCAyOS43LTEzLjMgMjkuNy0yOS43QzQ0OCAzODMuOCAzNjguMiAzMDQgMjY5LjcgMzA0SDE3OC4zYy03LjIgMC0xNC4zIC40LTIxLjMgMS4zek0wIDQ4Mi4zQzAgNDk4LjcgMTMuMyA1MTIgMjkuNyA1MTJINjRWMzQ1LjRDMjQuOSAzNzguMSAwIDQyNy4zIDAgNDgyLjN6TTMyMCA0NjRjMC0yNi41LTIxLjUtNDgtNDgtNDhIMjIzLjVsNTcuMSA5NS4yQzMwMyA1MDcuMiAzMjAgNDg3LjYgMzIwIDQ2NHpcIl1cbn07XG52YXIgZmFGYWNlU2FkVGVhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLXNhZC10ZWFyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTQ2LCBcInNhZC10ZWFyXCJdLCBcImY1YjRcIiwgXCJNMCAyNTZhMjU2IDI1NiAwIDEgMCA1MTIgMEEyNTYgMjU2IDAgMSAwIDAgMjU2em0yNDAgODBjMC04LjggNy4yLTE2IDE2LTE2YzQ1IDAgODUuNiAyMC41IDExNS43IDUzLjFjNiA2LjUgNS42IDE2LjYtLjkgMjIuNnMtMTYuNiA1LjYtMjIuNi0uOWMtMjUtMjcuMS01Ny40LTQyLjktOTIuMy00Mi45Yy04LjggMC0xNi03LjItMTYtMTZ6bS04MCA4MGMtMjYuNSAwLTQ4LTIxLTQ4LTQ3YzAtMjAgMjguNi02MC40IDQxLjYtNzcuN2MzLjItNC40IDkuNi00LjQgMTIuOCAwQzE3OS42IDMwOC42IDIwOCAzNDkgMjA4IDM2OWMwIDI2LTIxLjUgNDctNDggNDd6TTM2Ny42IDIwOGEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwem0tMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFTYWRUZWFyID0gZmFGYWNlU2FkVGVhcjtcbnZhciBmYVBsYW5lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsYW5lJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMDcyXCIsIFwiTTQ4Mi4zIDE5MmMzNC4yIDAgOTMuNyAyOSA5My43IDY0YzAgMzYtNTkuNSA2NC05My43IDY0bC0xMTYuNiAwTDI2NS4yIDQ5NS45Yy01LjcgMTAtMTYuMyAxNi4xLTI3LjggMTYuMWwtNTYuMiAwYy0xMC42IDAtMTguMy0xMC4yLTE1LjQtMjAuNGw0OS0xNzEuNkwxMTIgMzIwIDY4LjggMzc3LjZjLTMgNC03LjggNi40LTEyLjggNi40bC00MiAwYy03LjggMC0xNC02LjMtMTQtMTRjMC0xLjMgLjItMi42IC41LTMuOUwzMiAyNTYgLjUgMTQ1LjljLS40LTEuMy0uNS0yLjYtLjUtMy45YzAtNy44IDYuMy0xNCAxNC0xNGw0MiAwYzUgMCA5LjggMi40IDEyLjggNi40TDExMiAxOTJsMTAyLjkgMC00OS0xNzEuNkMxNjIuOSAxMC4yIDE3MC42IDAgMTgxLjIgMGw1Ni4yIDBjMTEuNSAwIDIyLjEgNi4yIDI3LjggMTYuMUwzNjUuNyAxOTJsMTE2LjYgMHpcIl1cbn07XG52YXIgZmFUZW50QXJyb3dzRG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW50LWFycm93cy1kb3duJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTgxXCIsIFwiTTIwOS44IDExMS45Yy04LjktOS45LTI0LTEwLjctMzMuOS0xLjhsLTM5LjkgMzZMMTM2IDI0YzAtMTMuMy0xMC43LTI0LTI0LTI0Uzg4IDEwLjcgODggMjRsMCAxMjIuMS0zOS45LTM2Yy05LjktOC45LTI1LTguMS0zMy45IDEuOHMtOC4xIDI1IDEuOCAzMy45bDgwIDcyYzkuMSA4LjIgMjMgOC4yIDMyLjEgMGw4MC03MmM5LjktOC45IDEwLjctMjQgMS44LTMzLjl6bTM1MiAwYy04LjktOS45LTI0LTEwLjctMzMuOS0xLjhsLTM5LjkgMzZWMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRWMTQ2LjFsLTM5LjktMzZjLTkuOS04LjktMjUtOC4xLTMzLjkgMS44cy04LjEgMjUgMS44IDMzLjlsODAgNzJjOS4xIDguMiAyMyA4LjIgMzIuMSAwbDgwLTcyYzkuOS04LjkgMTAuNy0yNCAxLjgtMzMuOXpNMzA3LjQgMTY2LjVjLTExLjUtOC43LTI3LjMtOC43LTM4LjggMGwtMTY4IDEyOGMtNi42IDUtMTEgMTIuNS0xMi4zIDIwLjdsLTI0IDE2MGMtMS40IDkuMiAxLjMgMTguNiA3LjQgMjUuNlM4Ni43IDUxMiA5NiA1MTJIMjQwaDE2YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM2MS45YzAtNS41IDQuNC05LjkgOS45LTkuOWMzLjcgMCA3LjIgMi4xIDguOCA1LjVsNjguNCAxMzYuOGM1LjQgMTAuOCAxNi41IDE3LjcgMjguNiAxNy43SDQ2NGgxNmM5LjMgMCAxOC4yLTQuMSAyNC4yLTExLjFzOC44LTE2LjQgNy40LTI1LjZsLTI0LTE2MGMtMS4yLTguMi01LjYtMTUuNy0xMi4zLTIwLjdsLTE2OC0xMjh6XCJdXG59O1xudmFyIGZhRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNjQsIDUxMiwgWzEwMDY5LCAxMDA3MSwgNjE3MzhdLCBcIjIxXCIsIFwiTTY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNDYuMyAwIDY0VjMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjY0ek0zMiA0ODBhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwelwiXVxufTtcbnZhciBmYUFycm93c1NwaW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3dzLXNwaW4nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0YmJcIiwgXCJNMjU2IDk2YzM4LjQgMCA3My43IDEzLjUgMTAxLjMgMzYuMWwtMzIuNiAzMi42Yy00LjYgNC42LTUuOSAxMS41LTMuNSAxNy40czguMyA5LjkgMTQuOCA5LjlINDQ4YzguOCAwIDE2LTcuMiAxNi0xNlY2NGMwLTYuNS0zLjktMTIuMy05LjktMTQuOHMtMTIuOS0xLjEtMTcuNCAzLjVsLTM0IDM0QzM2My40IDUyLjYgMzEyLjEgMzIgMjU2IDMyYy0xMC45IDAtMjEuNSAuOC0zMiAyLjNWOTkuMmMxMC4zLTIuMSAyMS0zLjIgMzItMy4yek0xMzIuMSAxNTQuN2wzMi42IDMyLjZjNC42IDQuNiAxMS41IDUuOSAxNy40IDMuNXM5LjktOC4zIDkuOS0xNC44VjY0YzAtOC44LTcuMi0xNi0xNi0xNkg2NGMtNi41IDAtMTIuMyAzLjktMTQuOCA5LjlzLTEuMSAxMi45IDMuNSAxNy40bDM0IDM0QzUyLjYgMTQ4LjYgMzIgMTk5LjkgMzIgMjU2YzAgMTAuOSAuOCAyMS41IDIuMyAzMkg5OS4yYy0yLjEtMTAuMy0zLjItMjEtMy4yLTMyYzAtMzguNCAxMy41LTczLjcgMzYuMS0xMDEuM3pNNDc3LjcgMjI0SDQxMi44YzIuMSAxMC4zIDMuMiAyMSAzLjIgMzJjMCAzOC40LTEzLjUgNzMuNy0zNi4xIDEwMS4zbC0zMi42LTMyLjZjLTQuNi00LjYtMTEuNS01LjktMTcuNC0zLjVzLTkuOSA4LjMtOS45IDE0LjhWNDQ4YzAgOC44IDcuMiAxNiAxNiAxNkg0NDhjNi41IDAgMTIuMy0zLjkgMTQuOC05LjlzMS4xLTEyLjktMy41LTE3LjRsLTM0LTM0QzQ1OS40IDM2My40IDQ4MCAzMTIuMSA0ODAgMjU2YzAtMTAuOS0uOC0yMS41LTIuMy0zMnpNMjU2IDQxNmMtMzguNCAwLTczLjctMTMuNS0xMDEuMy0zNi4xbDMyLjYtMzIuNmM0LjYtNC42IDUuOS0xMS41IDMuNS0xNy40cy04LjMtOS45LTE0LjgtOS45SDY0Yy04LjggMC0xNiA3LjItMTYgMTZsMCAxMTJjMCA2LjUgMy45IDEyLjMgOS45IDE0LjhzMTIuOSAxLjEgMTcuNC0zLjVsMzQtMzRDMTQ4LjYgNDU5LjQgMTk5LjkgNDgwIDI1NiA0ODBjMTAuOSAwIDIxLjUtLjggMzItMi4zVjQxMi44Yy0xMC4zIDIuMS0yMSAzLjItMzIgMy4yelwiXVxufTtcbnZhciBmYVByaW50ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ByaW50JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NDI0LCAxMjg0MzgsIDkxMTNdLCBcImYwMmZcIiwgXCJNMTI4IDBDOTIuNyAwIDY0IDI4LjcgNjQgNjR2OTZoNjRWNjRIMzU0LjdMMzg0IDkzLjNWMTYwaDY0VjkzLjNjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMNDAwIDE4LjdDMzg4IDYuNyAzNzEuNyAwIDM1NC43IDBIMTI4ek0zODQgMzUydjMyIDY0SDEyOFYzODQgMzY4IDM1MkgzODR6bTY0IDMyaDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMyVjI1NmMwLTM1LjMtMjguNy02NC02NC02NEg2NGMtMzUuMyAwLTY0IDI4LjctNjQgNjR2OTZjMCAxNy43IDE0LjMgMzIgMzIgMzJINjR2NjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzg0YzM1LjMgMCA2NC0yOC43IDY0LTY0VjM4NHpNNDMyIDI0OGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6XCJdXG59O1xudmFyIGZhVHVya2lzaExpcmFTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3R1cmtpc2gtbGlyYS1zaWduJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXCJ0cnlcIiwgXCJ0dXJraXNoLWxpcmFcIl0sIFwiZTJiYlwiLCBcIk05NiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMlY5OS4zTDI0Ny4yIDY1LjJjMTctNC45IDM0LjcgNSAzOS42IDIycy01IDM0LjctMjIgMzkuNkwxMjggMTY1Ljl2MjkuNGwxMTkuMi0zNC4xYzE3LTQuOSAzNC43IDUgMzkuNiAyMnMtNSAzNC43LTIyIDM5LjZMMTI4IDI2MS45VjQxNmg2My44YzY4LjIgMCAxMjQuNC01My41IDEyNy44LTEyMS42bC40LThjLjktMTcuNyAxNS45LTMxLjIgMzMuNi0zMC40czMxLjIgMTUuOSAzMC40IDMzLjZsLS40IDhDMzc4LjUgMzk5LjggMjk0LjEgNDgwIDE5MS44IDQ4MEg5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMjgwLjFsLTIzLjIgNi42Yy0xNyA0LjktMzQuNy01LTM5LjYtMjJzNS0zNC43IDIyLTM5LjZMNjQgMjEzLjZWMTg0LjFsLTIzLjIgNi42Yy0xNyA0LjktMzQuNy01LTM5LjYtMjJzNS0zNC43IDIyLTM5LjZMNjQgMTE3LjZWNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xudmFyIGZhVHJ5ID0gZmFUdXJraXNoTGlyYVNpZ247XG52YXIgZmFUdXJraXNoTGlyYSA9IGZhVHVya2lzaExpcmFTaWduO1xudmFyIGZhRG9sbGFyU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkb2xsYXItc2lnbicsXG4gIGljb246IFszMjAsIDUxMiwgWzEyODE3OCwgNjE3ODEsIFwiZG9sbGFyXCIsIFwidXNkXCJdLCBcIjI0XCIsIFwiTTE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjY3LjdjMS42IC4yIDMuMSAuNCA0LjcgLjdjLjQgLjEgLjcgLjEgMS4xIC4ybDQ4IDguOGMxNy40IDMuMiAyOC45IDE5LjkgMjUuNyAzNy4ycy0xOS45IDI4LjktMzcuMiAyNS43bC00Ny41LTguN2MtMzEuMy00LjYtNTguOS0xLjUtNzguMyA2LjJzLTI3LjIgMTguMy0yOSAyOC4xYy0yIDEwLjctLjUgMTYuNyAxLjIgMjAuNGMxLjggMy45IDUuNSA4LjMgMTIuOCAxMy4yYzE2LjMgMTAuNyA0MS4zIDE3LjcgNzMuNyAyNi4zbDIuOSAuOGMyOC42IDcuNiA2My42IDE2LjggODkuNiAzMy44YzE0LjIgOS4zIDI3LjYgMjEuOSAzNS45IDM5LjVjOC41IDE3LjkgMTAuMyAzNy45IDYuNCA1OS4yYy02LjkgMzgtMzMuMSA2My40LTY1LjYgNzYuN2MtMTMuNyA1LjYtMjguNiA5LjItNDQuNCAxMVY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWNDQ1LjFjLS40LS4xLS45LS4xLTEuMy0uMmwtLjIgMCAwIDBjLTI0LjQtMy44LTY0LjUtMTQuMy05MS41LTI2LjNjLTE2LjEtNy4yLTIzLjQtMjYuMS0xNi4yLTQyLjJzMjYuMS0yMy40IDQyLjItMTYuMmMyMC45IDkuMyA1NS4zIDE4LjUgNzUuMiAyMS42YzMxLjkgNC43IDU4LjIgMiA3Ni01LjNjMTYuOS02LjkgMjQuNi0xNi45IDI2LjgtMjguOWMxLjktMTAuNiAuNC0xNi43LTEuMy0yMC40Yy0xLjktNC01LjYtOC40LTEzLTEzLjNjLTE2LjQtMTAuNy00MS41LTE3LjctNzQtMjYuM2wtMi44LS43IDAgMEMxMTkuNCAyNzkuMyA4NC40IDI3MCA1OC40IDI1M2MtMTQuMi05LjMtMjcuNS0yMi0zNS44LTM5LjZjLTguNC0xNy45LTEwLjEtMzcuOS02LjEtNTkuMkMyMy43IDExNiA1Mi4zIDkxLjIgODQuOCA3OC4zYzEzLjMtNS4zIDI3LjktOC45IDQzLjItMTFWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xudmFyIGZhRG9sbGFyID0gZmFEb2xsYXJTaWduO1xudmFyIGZhVXNkID0gZmFEb2xsYXJTaWduO1xudmFyIGZhWCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd4JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTIwXSwgXCI1OFwiLCBcIk0zNzYuNiA4NC41YzExLjMtMTMuNiA5LjUtMzMuOC00LjEtNDUuMXMtMzMuOC05LjUtNDUuMSA0LjFMMTkyIDIwNiA1Ni42IDQzLjVDNDUuMyAyOS45IDI1LjEgMjguMSAxMS41IDM5LjRTLTMuOSA3MC45IDcuNCA4NC41TDE1MC4zIDI1NiA3LjQgNDI3LjVjLTExLjMgMTMuNi05LjUgMzMuOCA0LjEgNDUuMXMzMy44IDkuNSA0NS4xLTQuMUwxOTIgMzA2IDMyNy40IDQ2OC41YzExLjMgMTMuNiAzMS41IDE1LjQgNDUuMSA0LjFzMTUuNC0zMS41IDQuMS00NS4xTDIzMy43IDI1NiAzNzYuNiA4NC41elwiXVxufTtcbnZhciBmYU1hZ25pZnlpbmdHbGFzc0RvbGxhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYWduaWZ5aW5nLWdsYXNzLWRvbGxhcicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wic2VhcmNoLWRvbGxhclwiXSwgXCJmNjg4XCIsIFwiTTQxNiAyMDhjMCA0NS45LTE0LjkgODguMy00MCAxMjIuN0w1MDIuNiA0NTcuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwzMzAuNyAzNzZjLTM0LjQgMjUuMi03Ni44IDQwLTEyMi43IDQwQzkzLjEgNDE2IDAgMzIyLjkgMCAyMDhTOTMuMSAwIDIwOCAwUzQxNiA5My4xIDQxNiAyMDh6TTIyOCAxMDRjMC0xMS05LTIwLTIwLTIwcy0yMCA5LTIwIDIwdjE0Yy03LjYgMS43LTE1LjIgNC40LTIyLjIgOC41Yy0xMy45IDguMy0yNS45IDIyLjgtMjUuOCA0My45Yy4xIDIwLjMgMTIgMzMuMSAyNC43IDQwLjdjMTEgNi42IDI0LjcgMTAuOCAzNS42IDE0bDEuNyAuNWMxMi42IDMuOCAyMS44IDYuOCAyOCAxMC43YzUuMSAzLjIgNS44IDUuNCA1LjkgOC4yYy4xIDUtMS44IDgtNS45IDEwLjVjLTUgMy4xLTEyLjkgNS0yMS40IDQuN2MtMTEuMS0uNC0yMS41LTMuOS0zNS4xLTguNWMtMi4zLS44LTQuNy0xLjYtNy4yLTIuNGMtMTAuNS0zLjUtMjEuOCAyLjItMjUuMyAxMi42czIuMiAyMS44IDEyLjYgMjUuM2MxLjkgLjYgNCAxLjMgNi4xIDIuMWwwIDAgMCAwYzguMyAyLjkgMTcuOSA2LjIgMjguMiA4LjRWMzEyYzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwVjI5OC4yYzgtMS43IDE2LTQuNSAyMy4yLTljMTQuMy04LjkgMjUuMS0yNC4xIDI0LjgtNDVjLS4zLTIwLjMtMTEuNy0zMy40LTI0LjYtNDEuNmMtMTEuNS03LjItMjUuOS0xMS42LTM3LjEtMTVsLS43LS4yYy0xMi44LTMuOS0yMS45LTYuNy0yOC4zLTEwLjVjLTUuMi0zLjEtNS4zLTQuOS01LjMtNi43YzAtMy43IDEuNC02LjUgNi4yLTkuM2M1LjQtMy4yIDEzLjYtNS4xIDIxLjUtNWM5LjYgLjEgMjAuMiAyLjIgMzEuMiA1LjJjMTAuNyAyLjggMjEuNi0zLjUgMjQuNS0xNC4ycy0zLjUtMjEuNi0xNC4yLTI0LjVjLTYuNS0xLjctMTMuNy0zLjQtMjEuMS00LjdWMTA0elwiXVxufTtcbnZhciBmYVNlYXJjaERvbGxhciA9IGZhTWFnbmlmeWluZ0dsYXNzRG9sbGFyO1xudmFyIGZhVXNlcnNHZWFyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXJzLWdlYXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInVzZXJzLWNvZ1wiXSwgXCJmNTA5XCIsIFwiTTE0NCAxNjBBODAgODAgMCAxIDAgMTQ0IDBhODAgODAgMCAxIDAgMCAxNjB6bTM2OCAwQTgwIDgwIDAgMSAwIDUxMiAwYTgwIDgwIDAgMSAwIDAgMTYwek0wIDI5OC43QzAgMzEwLjQgOS42IDMyMCAyMS4zIDMyMEgyMzQuN2MuMiAwIC40IDAgLjcgMGMtMjYuNi0yMy41LTQzLjMtNTcuOC00My4zLTk2YzAtNy42IC43LTE1IDEuOS0yMi4zYy0xMy42LTYuMy0yOC43LTkuNy00NC42LTkuN0gxMDYuN0M0Ny44IDE5MiAwIDIzOS44IDAgMjk4Ljd6TTMyMCAzMjBjMjQgMCA0NS45LTguOCA2Mi43LTIzLjNjMi41LTMuNyA1LjItNy4zIDgtMTAuN2MyLjctMy4zIDUuNy02LjEgOS04LjNDNDEwIDI2Mi4zIDQxNiAyNDMuOSA0MTYgMjI0YzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2czQzIDk2IDk2IDk2em02NS40IDYwLjJjLTEwLjMtNS45LTE4LjEtMTYuMi0yMC44LTI4LjJIMjYxLjNDMTg3LjcgMzUyIDEyOCA0MTEuNyAxMjggNDg1LjNjMCAxNC43IDExLjkgMjYuNyAyNi43IDI2LjdINDU1LjJjLTIuMS01LjItMy4yLTEwLjktMy4yLTE2LjR2LTNjLTEuMy0uNy0yLjctMS41LTQtMi4zbC0yLjYgMS41Yy0xNi44IDkuNy00MC41IDgtNTQuNy05LjdjLTQuNS01LjYtOC42LTExLjUtMTIuNC0xNy42bC0uMS0uMi0uMS0uMi0yLjQtNC4xLS4xLS4yLS4xLS4yYy0zLjQtNi4yLTYuNC0xMi42LTktMTkuM2MtOC4yLTIxLjIgMi4yLTQyLjYgMTktNTIuM2wyLjctMS41YzAtLjggMC0xLjUgMC0yLjNzMC0xLjUgMC0yLjNsLTIuNy0xLjV6TTUzMy4zIDE5Mkg0OTAuN2MtMTUuOSAwLTMxIDMuNS00NC42IDkuN2MxLjMgNy4yIDEuOSAxNC43IDEuOSAyMi4zYzAgMTcuNC0zLjUgMzMuOS05LjcgNDljMi41IC45IDQuOSAyIDcuMSAzLjNsMi42IDEuNWMxLjMtLjggMi42LTEuNiA0LTIuM3YtM2MwLTE5LjQgMTMuMy0zOS4xIDM1LjgtNDIuNmM3LjktMS4yIDE2LTEuOSAyNC4yLTEuOXMxNi4zIC42IDI0LjIgMS45YzIyLjUgMy41IDM1LjggMjMuMiAzNS44IDQyLjZ2M2MxLjMgLjcgMi43IDEuNSA0IDIuM2wyLjYtMS41YzE2LjgtOS43IDQwLjUtOCA1NC43IDkuN2MyLjMgMi44IDQuNSA1LjggNi42IDguN2MtMi4xLTU3LjEtNDktMTAyLjctMTA2LjYtMTAyLjd6bTkxLjMgMTYzLjljNi4zLTMuNiA5LjUtMTEuMSA2LjgtMThjLTIuMS01LjUtNC42LTEwLjgtNy40LTE1LjlsLTIuMy00Yy0zLjEtNS4xLTYuNS05LjktMTAuMi0xNC41Yy00LjYtNS43LTEyLjctNi43LTE5LTNsLTIuOSAxLjdjLTkuMiA1LjMtMjAuNCA0LTI5LjYtMS4zcy0xNi4xLTE0LjUtMTYuMS0yNS4xdi0zLjRjMC03LjMtNC45LTEzLjgtMTIuMS0xNC45Yy02LjUtMS0xMy4xLTEuNS0xOS45LTEuNXMtMTMuNCAuNS0xOS45IDEuNWMtNy4yIDEuMS0xMi4xIDcuNi0xMi4xIDE0Ljl2My40YzAgMTAuNi02LjkgMTkuOC0xNi4xIDI1LjFzLTIwLjQgNi42LTI5LjYgMS4zbC0yLjktMS43Yy02LjMtMy42LTE0LjQtMi42LTE5IDNjLTMuNyA0LjYtNy4xIDkuNS0xMC4yIDE0LjZsLTIuMyAzLjljLTIuOCA1LjEtNS4zIDEwLjQtNy40IDE1LjljLTIuNiA2LjggLjUgMTQuMyA2LjggMTcuOWwyLjkgMS43YzkuMiA1LjMgMTMuNyAxNS44IDEzLjcgMjYuNHMtNC41IDIxLjEtMTMuNyAyNi40bC0zIDEuN2MtNi4zIDMuNi05LjUgMTEuMS02LjggMTcuOWMyLjEgNS41IDQuNiAxMC43IDcuNCAxNS44bDIuNCA0LjFjMyA1LjEgNi40IDkuOSAxMC4xIDE0LjVjNC42IDUuNyAxMi43IDYuNyAxOSAzbDIuOS0xLjdjOS4yLTUuMyAyMC40LTQgMjkuNiAxLjNzMTYuMSAxNC41IDE2LjEgMjUuMXYzLjRjMCA3LjMgNC45IDEzLjggMTIuMSAxNC45YzYuNSAxIDEzLjEgMS41IDE5LjkgMS41czEzLjQtLjUgMTkuOS0xLjVjNy4yLTEuMSAxMi4xLTcuNiAxMi4xLTE0Ljl2LTMuNGMwLTEwLjYgNi45LTE5LjggMTYuMS0yNS4xczIwLjQtNi42IDI5LjYtMS4zbDIuOSAxLjdjNi4zIDMuNiAxNC40IDIuNiAxOS0zYzMuNy00LjYgNy4xLTkuNCAxMC4xLTE0LjVsMi40LTQuMmMyLjgtNS4xIDUuMy0xMC4zIDcuNC0xNS44YzIuNi02LjgtLjUtMTQuMy02LjgtMTcuOWwtMy0xLjdjLTkuMi01LjMtMTMuNy0xNS44LTEzLjctMjYuNHM0LjUtMjEuMSAxMy43LTI2LjRsMy0xLjd6TTQ3MiAzODRhNDAgNDAgMCAxIDEgODAgMCA0MCA0MCAwIDEgMSAtODAgMHpcIl1cbn07XG52YXIgZmFVc2Vyc0NvZyA9IGZhVXNlcnNHZWFyO1xudmFyIGZhUGVyc29uTWlsaXRhcnlQb2ludGluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tbWlsaXRhcnktcG9pbnRpbmcnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1NGFcIiwgXCJNMjQ2LjkgMTQuMUMyMzQgMTUuMiAyMjQgMjYgMjI0IDM5YzAgMTMuOCAxMS4yIDI1IDI1IDI1SDQwMGM4LjggMCAxNi03LjIgMTYtMTZWMTcuNEM0MTYgOCA0MDggLjcgMzk4LjcgMS40TDI0Ni45IDE0LjF6TTI0MCAxMTJjMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MGMwLTUuNS0uNi0xMC44LTEuNi0xNkgyNDEuNmMtMSA1LjItMS42IDEwLjUtMS42IDE2ek03MiAyMjRjLTIyLjEgMC00MCAxNy45LTQwIDQwczE3LjkgNDAgNDAgNDBIMjI0djg5LjRMMzg2LjggMjMwLjVjLTEzLjMtNC4zLTI3LjMtNi41LTQxLjYtNi41SDI0MCA3MnptMzQ1LjcgMjAuOUwyNDYuNiA0MTZINDE2VjM2OS43bDUzLjYgOTAuNmMxMS4yIDE5IDM1LjggMjUuMyA1NC44IDE0LjFzMjUuMy0zNS44IDE0LjEtNTQuOEw0NjIuMyAyOTAuOGMtMTEuMi0xOC45LTI2LjYtMzQuNS00NC42LTQ1Ljl6TTIyNCA0NDh2MzJjMCAxNy43IDE0LjMgMzIgMzIgMzJIMzg0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjQ0OEgyMjR6XCJdXG59O1xudmFyIGZhQnVpbGRpbmdDb2x1bW5zID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1aWxkaW5nLWNvbHVtbnMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImJhbmtcIiwgXCJpbnN0aXR1dGlvblwiLCBcIm11c2V1bVwiLCBcInVuaXZlcnNpdHlcIl0sIFwiZjE5Y1wiLCBcIk0yNDMuNCAyLjZsLTIyNCA5NmMtMTQgNi0yMS44IDIxLTE4LjcgMzUuOFMxNi44IDE2MCAzMiAxNjB2OGMwIDEzLjMgMTAuNyAyNCAyNCAyNEg0NTZjMTMuMyAwIDI0LTEwLjcgMjQtMjR2LThjMTUuMiAwIDI4LjMtMTAuNyAzMS4zLTI1LjZzLTQuOC0yOS45LTE4LjctMzUuOGwtMjI0LTk2Yy04LTMuNC0xNy4yLTMuNC0yNS4yIDB6TTEyOCAyMjRINjRWNDIwLjNjLS42IC4zLTEuMiAuNy0xLjggMS4xbC00OCAzMmMtMTEuNyA3LjgtMTcgMjIuNC0xMi45IDM1LjlTMTcuOSA1MTIgMzIgNTEySDQ4MGMxNC4xIDAgMjYuNS05LjIgMzAuNi0yMi43cy0xLjEtMjguMS0xMi45LTM1LjlsLTQ4LTMyYy0uNi0uNC0xLjItLjctMS44LTEuMVYyMjRIMzg0VjQxNkgzNDRWMjI0SDI4MFY0MTZIMjMyVjIyNEgxNjhWNDE2SDEyOFYyMjR6TTI1NiA2NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhQmFuayA9IGZhQnVpbGRpbmdDb2x1bW5zO1xudmFyIGZhSW5zdGl0dXRpb24gPSBmYUJ1aWxkaW5nQ29sdW1ucztcbnZhciBmYU11c2V1bSA9IGZhQnVpbGRpbmdDb2x1bW5zO1xudmFyIGZhVW5pdmVyc2l0eSA9IGZhQnVpbGRpbmdDb2x1bW5zO1xudmFyIGZhVW1icmVsbGEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndW1icmVsbGEnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImYwZTlcIiwgXCJNMjg4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNDkuN0M0NTEuOCA2My40IDU1Ny43IDE2MSA1NzMuOSAyODUuOWMyIDE1LjYtMTcuMyAyNC40LTI3LjggMTIuN0M1MzIuMSAyODMgNTA0LjggMjcyIDQ4MCAyNzJjLTM4LjcgMC03MSAyNy41LTc4LjQgNjQuMWMtMS43IDguNy04LjcgMTUuOS0xNy42IDE1LjlzLTE1LjgtNy4yLTE3LjYtMTUuOUMzNTkgMjk5LjUgMzI2LjcgMjcyIDI4OCAyNzJzLTcxIDI3LjUtNzguNCA2NC4xYy0xLjcgOC43LTguNyAxNS45LTE3LjYgMTUuOXMtMTUuOC03LjItMTcuNi0xNS45QzE2NyAyOTkuNSAxMzQuNyAyNzIgOTYgMjcyYy0yNC44IDAtNTIuMSAxMS02Ni4xIDI2LjdDMTkuNCAzMTAuNCAuMSAzMDEuNSAyLjEgMjg1LjlDMTguMyAxNjEgMTI0LjIgNjMuNCAyNTYgNDkuN1YzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMCAzMDRjMTIuMyAwIDIzLjUgNC42IDMyIDEyLjJWNDMwLjZjMCA0NS0zNi41IDgxLjQtODEuNCA4MS40Yy0zMC44IDAtNTktMTcuNC03Mi44LTQ1bC0yLjMtNC43Yy03LjktMTUuOC0xLjUtMzUgMTQuMy00Mi45czM1LTEuNSA0Mi45IDE0LjNsMi4zIDQuN2MzIDUuOSA5IDkuNiAxNS42IDkuNmM5LjYgMCAxNy40LTcuOCAxNy40LTE3LjRWMzE2LjJjOC41LTcuNiAxOS43LTEyLjIgMzItMTIuMnpcIl1cbn07XG52YXIgZmFUcm93ZWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJvd2VsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTg5XCIsIFwiTTM0My45IDIxMy40TDI0NS4zIDMxMmw2NS40IDY1LjRjNy45IDcuOSAxMS4xIDE5LjQgOC40IDMwLjNzLTEwLjggMTkuNi0yMS41IDIyLjlsLTI1NiA4MGMtMTEuNCAzLjUtMjMuOCAuNS0zMi4yLTcuOVMtMi4xIDQ4MS44IDEuNSA0NzAuNWw4MC0yNTZjMy4zLTEwLjcgMTItMTguOSAyMi45LTIxLjVzMjIuNCAuNSAzMC4zIDguNEwyMDAgMjY2LjdsOTguNi05OC42Yy0xNC4zLTE0LjYtMTQuMi0zOCAuMy01Mi41bDk1LjQtOTUuNGMyNi45LTI2LjkgNzAuNS0yNi45IDk3LjUgMHMyNi45IDcwLjUgMCA5Ny41bC05NS40IDk1LjRjLTE0LjUgMTQuNS0zNy45IDE0LjYtNTIuNSAuM3pcIl1cbn07XG52YXIgZmFEID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2QnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMDBdLCBcIjQ0XCIsIFwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJoOTZjMTIzLjcgMCAyMjQgMTAwLjMgMjI0IDIyNHMtMTAwLjMgMjI0LTIyNCAyMjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0Vjk2em0xNjAgMEg2NFY0MTZoOTZjODguNCAwIDE2MC03MS42IDE2MC0xNjBzLTcxLjYtMTYwLTE2MC0xNjB6XCJdXG59O1xudmFyIGZhU3RhcGxlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdGFwbGVyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNWFmXCIsIFwiTTY0MCAyOTkuM1YzMDQgNDMyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDUxMiA0NDggNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJINDQ4VjM2OEg5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMjE5LjRMMzMuOCAyMTRDMTQuMiAyMTAuNSAwIDE5My41IDAgMTczLjdjMC04LjkgMi45LTE3LjUgOC4yLTI0LjZsMzUuNi00Ny41Qzc2LjcgNTcuOCAxMjguMiAzMiAxODIuOSAzMmMyNyAwIDUzLjYgNi4zIDc3LjggMTguNEw1ODYuOSAyMTMuNUM2MTkuNSAyMjkuNyA2NDAgMjYzIDY0MCAyOTkuM3pNNDQ4IDMwNFYyODhMMTI4IDIzMC45VjMwNEg0NDh6XCJdXG59O1xudmFyIGZhTWFza3NUaGVhdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hc2tzLXRoZWF0ZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjc5MTcsIFwidGhlYXRlci1tYXNrc1wiXSwgXCJmNjMwXCIsIFwiTTc0LjYgMzczLjJjNDEuNyAzNi4xIDEwOCA4Mi41IDE2Ni4xIDczLjdjNi4xLS45IDEyLjEtMi41IDE4LTQuNWMtOS4yLTEyLjMtMTcuMy0yNC40LTI0LjItMzUuNGMtMjEuOS0zNS0yOC44LTc1LjItMjUuOS0xMTMuNmMtMjAuNiA0LjEtMzkuMiAxMy01NC43IDI1LjRjLTYuNSA1LjItMTYuMyAxLjMtMTQuOC03YzYuNC0zMy41IDMzLTYwLjkgNjguMi02Ni4zYzIuNi0uNCA1LjMtLjcgNy45LS44bDE5LjQtMTMxLjNjMi0xMy44IDgtMzIuNyAyNS00NS45QzI3OC4yIDUzLjIgMzEwLjUgMzcgMzYzLjIgMzIuMmMtLjgtLjctMS42LTEuNC0yLjQtMi4xQzM0MC42IDE0LjUgMjg4LjQtMTEuNSAxNzUuNyA1LjZTMjAuNSA2MyA1LjcgODMuOUMwIDkxLjktLjggMTAyIC42IDExMS44TDI0LjggMjc2LjFjNS41IDM3LjMgMjEuNSA3Mi42IDQ5LjggOTcuMnptODcuNy0yMTkuNmM0LjQtMy4xIDEwLjgtMiAxMS44IDMuM2MuMSAuNSAuMiAxLjEgLjMgMS42YzMuMiAyMS44LTExLjYgNDItMzMuMSA0NS4zcy00MS41LTExLjgtNDQuNy0zMy41Yy0uMS0uNS0uMS0xLjEtLjItMS42Yy0uNi01LjQgNS4yLTguNCAxMC4zLTYuN2M5IDMgMTguOCAzLjkgMjguNyAyLjRzMTkuMS01LjMgMjYuOC0xMC44ek0yNjEuNiAzOTBjMjkuNCA0Ni45IDc5LjUgMTEwLjkgMTM3LjYgMTE5LjdzMTI0LjUtMzcuNSAxNjYuMS03My43YzI4LjMtMjQuNSA0NC4zLTU5LjggNDkuOC05Ny4ybDI0LjItMTY0LjNjMS40LTkuOCAuNi0xOS45LTUuMS0yNy45Yy0xNC44LTIwLjktNTcuMy02MS4yLTE3MC03OC4zUzI5OS40IDc3LjIgMjc5LjIgOTIuOGMtNy44IDYtMTEuNSAxNS40LTEyLjkgMjUuMkwyNDIuMSAyODIuM2MtNS41IDM3LjMtLjQgNzUuOCAxOS42IDEwNy43ek00MDQuNSAyMzUuM2MtNy43LTUuNS0xNi44LTkuMy0yNi44LTEwLjhzLTE5LjgtLjYtMjguNyAyLjRjLTUuMSAxLjctMTAuOS0xLjMtMTAuMy02LjdjLjEtLjUgLjEtMS4xIC4yLTEuNmMzLjItMjEuOCAyMy4yLTM2LjggNDQuNy0zMy41czM2LjMgMjMuNSAzMy4xIDQ1LjNjLS4xIC41LS4yIDEuMS0uMyAxLjZjLTEgNS4zLTcuNCA2LjQtMTEuOCAzLjN6bTEzNi4yIDE1LjVjLTEgNS4zLTcuNCA2LjQtMTEuOCAzLjNjLTcuNy01LjUtMTYuOC05LjMtMjYuOC0xMC44cy0xOS44LS42LTI4LjcgMi40Yy01LjEgMS43LTEwLjktMS4zLTEwLjMtNi43Yy4xLS41IC4xLTEuMSAuMi0xLjZjMy4yLTIxLjggMjMuMi0zNi44IDQ0LjctMzMuNXMzNi4zIDIzLjUgMzMuMSA0NS4zYy0uMSAuNS0uMiAxLjEtLjMgMS42ek01MzAgMzUwLjJjLTE5LjYgNDQuNy02Ni44IDcyLjUtMTE2LjggNjQuOXMtODcuMS00OC4yLTkzLTk2LjdjLTEtOC4zIDguOS0xMi4xIDE1LjItNi43YzIzLjkgMjAuOCA1My42IDM1LjMgODcgNDAuM3M2Ni4xIC4xIDk0LjktMTIuOGM3LjYtMy40IDE2IDMuMiAxMi42IDEwLjl6XCJdXG59O1xudmFyIGZhVGhlYXRlck1hc2tzID0gZmFNYXNrc1RoZWF0ZXI7XG52YXIgZmFLaXBTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2tpcC1zaWduJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlMWM0XCIsIFwiTTM0MC44IDg4LjNjMTMuNC0xMS41IDE1LTMxLjcgMy41LTQ1LjFzLTMxLjctMTUtNDUuMS0zLjVMMTI4IDE4Ni40VjY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzY0IDQ2LjMgNjQgNjRWMjI0SDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDY0VjQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjMyNS42TDI5OS4yIDQ3Mi4zYzEzLjQgMTEuNSAzMy42IDkuOSA0NS4xLTMuNXM5LjktMzMuNi0zLjUtNDUuMUwxODIuNSAyODhIMzUyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDE4Mi41TDM0MC44IDg4LjN6XCJdXG59O1xudmFyIGZhSGFuZFBvaW50TGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLXBvaW50LWxlZnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYwYTVcIiwgXCJNMzIgOTZDMTQuMyA5NiAwIDExMC4zIDAgMTI4czE0LjMgMzIgMzIgMzJsMjA4IDAgMC02NEwzMiA5NnpNMTkyIDI4OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwem0tNjQtNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNDggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6bTk2IDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwem04OC05NmwtLjYgMGM1LjQgOS40IDguNiAyMC4zIDguNiAzMmMwIDEzLjItNCAyNS40LTEwLjggMzUuNmMyNC45IDguNyA0Mi44IDMyLjUgNDIuOCA2MC40YzAgMTEuNy0zLjEgMjIuNi04LjYgMzJsOC42IDBjODguNCAwIDE2MC03MS42IDE2MC0xNjBsMC02MS43YzAtNDIuNC0xNi45LTgzLjEtNDYuOS0xMTMuMWwtMTEuNi0xMS42QzQyOS41IDc3LjUgMzk2LjkgNjQgMzYzIDY0bC0yNyAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDg4YzAgMjIuMSAxNy45IDQwIDQwIDQwczQwLTE3LjkgNDAtNDBsMC01NmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNTZjMCAzOS44LTMyLjIgNzItNzIgNzJ6XCJdXG59O1xudmFyIGZhSGFuZHNoYWtlU2ltcGxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzaGFrZS1zaW1wbGUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjkzMDksIFwiaGFuZHNoYWtlLWFsdFwiXSwgXCJmNGM2XCIsIFwiTTMyMy40IDg1LjJsLTk2LjggNzguNGMtMTYuMSAxMy0xOS4yIDM2LjQtNyA1My4xYzEyLjkgMTcuOCAzOCAyMS4zIDU1LjMgNy44bDk5LjMtNzcuMmM3LTUuNCAxNy00LjIgMjIuNSAyLjhzNC4yIDE3LTIuOCAyMi41bC0yMC45IDE2LjJMNTUwLjIgMzUySDU5MmMyNi41IDAgNDgtMjEuNSA0OC00OFYxNzZjMC0yNi41LTIxLjUtNDgtNDgtNDhINTE2aC00LS43bC0zLjktMi41TDQzNC44IDc5Yy0xNS4zLTkuOC0zMy4yLTE1LTUxLjQtMTVjLTIxLjggMC00MyA3LjUtNjAgMjEuMnptMjIuOCAxMjQuNGwtNTEuNyA0MC4yQzI2MyAyNzQuNCAyMTcuMyAyNjggMTkzLjcgMjM1LjZjLTIyLjItMzAuNS0xNi42LTczLjEgMTIuNy05Ni44bDgzLjItNjcuM2MtMTEuNi00LjktMjQuMS03LjQtMzYuOC03LjRDMjM0IDY0IDIxNS43IDY5LjYgMjAwIDgwbC03MiA0OEg0OGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhWMzA0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDE1Ni4ybDkxLjQgODMuNGMxOS42IDE3LjkgNDkuOSAxNi41IDY3LjgtMy4xYzUuNS02LjEgOS4yLTEzLjIgMTEuMS0yMC42bDE3IDE1LjZjMTkuNSAxNy45IDQ5LjkgMTYuNiA2Ny44LTIuOWM0LjUtNC45IDcuOC0xMC42IDkuOS0xNi41YzE5LjQgMTMgNDUuOCAxMC4zIDYyLjEtNy41YzE3LjktMTkuNSAxNi42LTQ5LjktMi45LTY3LjhsLTEzNC4yLTEyM3pcIl1cbn07XG52YXIgZmFIYW5kc2hha2VBbHQgPSBmYUhhbmRzaGFrZVNpbXBsZTtcbnZhciBmYUpldEZpZ2h0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnamV0LWZpZ2h0ZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImZpZ2h0ZXItamV0XCJdLCBcImYwZmJcIiwgXCJNMTYwIDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0SDI5NmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEgyODBMMzg0IDE5Mkg1MDAuNGM3LjcgMCAxNS4zIDEuNCAyMi41IDQuMUw2MjUgMjM0LjRjOSAzLjQgMTUgMTIgMTUgMjEuNnMtNiAxOC4yLTE1IDIxLjZMNTIyLjkgMzE1LjljLTcuMiAyLjctMTQuOCA0LjEtMjIuNSA0LjFIMzg0TDI4MCA0NjRoMTZjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIMTg0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0aDhWMzIwSDE2MGwtNTQuNiA1NC42Yy02IDYtMTQuMSA5LjQtMjIuNiA5LjRINjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMlYxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJIODIuN2M4LjUgMCAxNi42IDMuNCAyMi42IDkuNEwxNjAgMTkyaDMyVjQ4aC04Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNODAgMjQwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2aDY0YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDgwelwiXVxufTtcbnZhciBmYUZpZ2h0ZXJKZXQgPSBmYUpldEZpZ2h0ZXI7XG52YXIgZmFTcXVhcmVTaGFyZU5vZGVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1zaGFyZS1ub2RlcycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wic2hhcmUtYWx0LXNxdWFyZVwiXSwgXCJmMWUxXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDM4NGMzNS4zIDAgNjQtMjguNyA2NC02NFY5NmMwLTM1LjMtMjguNy02NC02NC02NEg2NHpNMzg0IDE2MGMwIDM1LjMtMjguNyA2NC02NCA2NGMtMTUuNCAwLTI5LjUtNS40LTQwLjYtMTQuNUwxOTQuMSAyNTZsODUuMyA0Ni41YzExLTkuMSAyNS4yLTE0LjUgNDAuNi0xNC41YzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0cy02NC0yOC43LTY0LTY0YzAtMi41IC4xLTQuOSAuNC03LjNMMTc0LjUgMzAwYy0xMS43IDEyLjMtMjguMiAyMC00Ni41IDIwYy0zNS4zIDAtNjQtMjguNy02NC02NHMyOC43LTY0IDY0LTY0YzE4LjMgMCAzNC44IDcuNyA0Ni41IDIwbDgxLjktNDQuN2MtLjMtMi40LS40LTQuOS0uNC03LjNjMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NHpcIl1cbn07XG52YXIgZmFTaGFyZUFsdFNxdWFyZSA9IGZhU3F1YXJlU2hhcmVOb2RlcztcbnZhciBmYUJhcmNvZGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFyY29kZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjAyYVwiLCBcIk0yNCAzMkMxMC43IDMyIDAgNDIuNyAwIDU2VjQ1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNEg0MGMxMy4zIDAgMjQtMTAuNyAyNC0yNFY1NmMwLTEzLjMtMTAuNy0yNC0yNC0yNEgyNHptODggMGMtOC44IDAtMTYgNy4yLTE2IDE2VjQ2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjQ4YzAtOC44LTcuMi0xNi0xNi0xNnptNzIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRWNDU2YzAgMTMuMyAxMC43IDI0IDI0IDI0aDE2YzEzLjMgMCAyNC0xMC43IDI0LTI0VjU2YzAtMTMuMy0xMC43LTI0LTI0LTI0SDE4NHptOTYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRWNDU2YzAgMTMuMyAxMC43IDI0IDI0IDI0aDE2YzEzLjMgMCAyNC0xMC43IDI0LTI0VjU2YzAtMTMuMy0xMC43LTI0LTI0LTI0SDI4MHpNNDQ4IDU2VjQ1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNGgxNmMxMy4zIDAgMjQtMTAuNyAyNC0yNFY1NmMwLTEzLjMtMTAuNy0yNC0yNC0yNEg0NzJjLTEzLjMgMC0yNCAxMC43LTI0IDI0em0tNjQtOFY0NjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlY0OGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNnpcIl1cbn07XG52YXIgZmFQbHVzTWludXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGx1cy1taW51cycsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTQzY1wiLCBcIk0yMjQgMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWMTQ0SDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDE2MFYzMjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyMDhIMzM2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDIyNFYzMnpNMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJIMzUyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnpcIl1cbn07XG52YXIgZmFWaWRlbyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2aWRlbycsXG4gIGljb246IFs1NzYsIDUxMiwgW1widmlkZW8tY2FtZXJhXCJdLCBcImYwM2RcIiwgXCJNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRIMzIwYzM1LjMgMCA2NCAyOC43IDY0IDY0VjM4NGMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMTI4ek01NTkuMSA5OS44YzEwLjQgNS42IDE2LjkgMTYuNCAxNi45IDI4LjJWMzg0YzAgMTEuOC02LjUgMjIuNi0xNi45IDI4LjJzLTIzIDUtMzIuOS0xLjZsLTk2LTY0TDQxNiAzMzcuMVYzMjAgMTkyIDE3NC45bDE0LjItOS41IDk2LTY0YzkuOC02LjUgMjIuNC03LjIgMzIuOS0xLjZ6XCJdXG59O1xudmFyIGZhVmlkZW9DYW1lcmEgPSBmYVZpZGVvO1xudmFyIGZhR3JhZHVhdGlvbkNhcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdncmFkdWF0aW9uLWNhcCcsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyNzg5MSwgXCJtb3J0YXItYm9hcmRcIl0sIFwiZjE5ZFwiLCBcIk0zMjAgMzJjLTguMSAwLTE2LjEgMS40LTIzLjcgNC4xTDE1LjggMTM3LjRDNi4zIDE0MC45IDAgMTQ5LjkgMCAxNjBzNi4zIDE5LjEgMTUuOCAyMi42bDU3LjkgMjAuOUM1Ny4zIDIyOS4zIDQ4IDI1OS44IDQ4IDI5MS45djI4LjFjMCAyOC40LTEwLjggNTcuNy0yMi4zIDgwLjhjLTYuNSAxMy0xMy45IDI1LjgtMjIuNSAzNy42QzAgNDQyLjctLjkgNDQ4LjMgLjkgNDUzLjRzNiA4LjkgMTEuMiAxMC4ybDY0IDE2YzQuMiAxLjEgOC43IC4zIDEyLjQtMnM2LjMtNi4xIDcuMS0xMC40YzguNi00Mi44IDQuMy04MS4yLTIuMS0xMDguN0M5MC4zIDM0NC4zIDg2IDMyOS44IDgwIDMxNi41VjI5MS45YzAtMzAuMiAxMC4yLTU4LjcgMjcuOS04MS41YzEyLjktMTUuNSAyOS42LTI4IDQ5LjItMzUuN2wxNTctNjEuN2M4LjItMy4yIDE3LjUgLjggMjAuNyA5cy0uOCAxNy41LTkgMjAuN2wtMTU3IDYxLjdjLTEyLjQgNC45LTIzLjMgMTIuNC0zMi4yIDIxLjZsMTU5LjYgNTcuNmM3LjYgMi43IDE1LjYgNC4xIDIzLjcgNC4xczE2LjEtMS40IDIzLjctNC4xTDYyNC4yIDE4Mi42YzkuNS0zLjQgMTUuOC0xMi41IDE1LjgtMjIuNnMtNi4zLTE5LjEtMTUuOC0yMi42TDM0My43IDM2LjFDMzM2LjEgMzMuNCAzMjguMSAzMiAzMjAgMzJ6TTEyOCA0MDhjMCAzNS4zIDg2IDcyIDE5MiA3MnMxOTItMzYuNyAxOTItNzJMNDk2LjcgMjYyLjYgMzU0LjUgMzE0Yy0xMS4xIDQtMjIuOCA2LTM0LjUgNnMtMjMuNS0yLTM0LjUtNkwxNDMuMyAyNjIuNiAxMjggNDA4elwiXVxufTtcbnZhciBmYU1vcnRhckJvYXJkID0gZmFHcmFkdWF0aW9uQ2FwO1xudmFyIGZhSGFuZEhvbGRpbmdNZWRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtaG9sZGluZy1tZWRpY2FsJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlMDVjXCIsIFwiTTIyNCAyNFY4MEgxNjhjLTEzLjMgMC0yNCAxMC43LTI0IDI0djQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0aDU2djU2YzAgMTMuMyAxMC43IDI0IDI0IDI0aDQ4YzEzLjMgMCAyNC0xMC43IDI0LTI0VjE3Nmg1NmMxMy4zIDAgMjQtMTAuNyAyNC0yNFYxMDRjMC0xMy4zLTEwLjctMjQtMjQtMjRIMzIwVjI0YzAtMTMuMy0xMC43LTI0LTI0LTI0SDI0OGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6TTU1OS43IDM5Mi4yYzE3LjgtMTMuMSAyMS42LTM4LjEgOC41LTU1LjlzLTM4LjEtMjEuNi01NS45LTguNUwzOTIuNiA0MTZIMjcyYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2aDE2IDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDI4OCAyNzIgMTkzLjdjLTI5LjEgMC01Ny4zIDkuOS04MCAyOEw2OC44IDM4NEgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJIMTkyIDM1Mi41YzI5IDAgNTcuMy05LjMgODAuNy0yNi41bDEyNi42LTkzLjN6bS0zNjctOC4ybC45IDAgMCAwYy0uMyAwLS42IDAtLjkgMHpcIl1cbn07XG52YXIgZmFQZXJzb25DaXJjbGVDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTNlXCIsIFwiTTExMiA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem00MCAzMDRWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjI1Ni45TDU5LjQgMzA0LjVjLTkuMSAxNS4xLTI4LjggMjAtNDMuOSAxMC45cy0yMC0yOC44LTEwLjktNDMuOWw1OC4zLTk3YzE3LjQtMjguOSA0OC42LTQ2LjYgODIuMy00Ni42aDI5LjdjMzMuNyAwIDY0LjkgMTcuNyA4Mi4zIDQ2LjZsNDQuOSA3NC43Yy0xNi4xIDE3LjYtMjguNiAzOC41LTM2LjYgNjEuNWMtMS45LTEuOC0zLjUtMy45LTQuOS02LjNMMjMyIDI1Ni45VjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzNTJIMTUyem0xMzYgMTZhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMjExLjMtNDMuM2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBMNDE2IDM4NS40bC0yOC43LTI4LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsNDAgNDBjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBsNzItNzJjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZ6XCJdXG59O1xudmFyIGZhVHVyblVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3R1cm4tdXAnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMDU0OCwgXCJsZXZlbC11cC1hbHRcIl0sIFwiZjNiZlwiLCBcIk0zNTAgMTc3LjVjMy44LTguOCAyLTE5LTQuNi0yNmwtMTM2LTE0NEMyMDQuOSAyLjcgMTk4LjYgMCAxOTIgMHMtMTIuOSAyLjctMTcuNCA3LjVsLTEzNiAxNDRjLTYuNiA3LTguNCAxNy4yLTQuNiAyNnMxMi41IDE0LjUgMjIgMTQuNWg4OGwwIDE5MmMwIDE3LjctMTQuMyAzMi0zMiAzMkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2MzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsODAgMGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOGwwLTE5Mmg4OGM5LjYgMCAxOC4yLTUuNyAyMi0xNC41elwiXVxufTtcbnZhciBmYUxldmVsVXBBbHQgPSBmYVR1cm5VcDtcbnZhciBpY29ucyA9IHtcbiAgZmEwOiBmYTAsXG4gIGZhMTogZmExLFxuICBmYTI6IGZhMixcbiAgZmEzOiBmYTMsXG4gIGZhNDogZmE0LFxuICBmYTU6IGZhNSxcbiAgZmE2OiBmYTYsXG4gIGZhNzogZmE3LFxuICBmYTg6IGZhOCxcbiAgZmE5OiBmYTksXG4gIGZhRmlsbERyaXA6IGZhRmlsbERyaXAsXG4gIGZhQXJyb3dzVG9DaXJjbGU6IGZhQXJyb3dzVG9DaXJjbGUsXG4gIGZhQ2lyY2xlQ2hldnJvblJpZ2h0OiBmYUNpcmNsZUNoZXZyb25SaWdodCxcbiAgZmFDaGV2cm9uQ2lyY2xlUmlnaHQ6IGZhQ2hldnJvbkNpcmNsZVJpZ2h0LFxuICBmYUF0OiBmYUF0LFxuICBmYVRyYXNoQ2FuOiBmYVRyYXNoQ2FuLFxuICBmYVRyYXNoQWx0OiBmYVRyYXNoQWx0LFxuICBmYVRleHRIZWlnaHQ6IGZhVGV4dEhlaWdodCxcbiAgZmFVc2VyWG1hcms6IGZhVXNlclhtYXJrLFxuICBmYVVzZXJUaW1lczogZmFVc2VyVGltZXMsXG4gIGZhU3RldGhvc2NvcGU6IGZhU3RldGhvc2NvcGUsXG4gIGZhTWVzc2FnZTogZmFNZXNzYWdlLFxuICBmYUNvbW1lbnRBbHQ6IGZhQ29tbWVudEFsdCxcbiAgZmFJbmZvOiBmYUluZm8sXG4gIGZhRG93bkxlZnRBbmRVcFJpZ2h0VG9DZW50ZXI6IGZhRG93bkxlZnRBbmRVcFJpZ2h0VG9DZW50ZXIsXG4gIGZhQ29tcHJlc3NBbHQ6IGZhQ29tcHJlc3NBbHQsXG4gIGZhRXhwbG9zaW9uOiBmYUV4cGxvc2lvbixcbiAgZmFGaWxlTGluZXM6IGZhRmlsZUxpbmVzLFxuICBmYUZpbGVBbHQ6IGZhRmlsZUFsdCxcbiAgZmFGaWxlVGV4dDogZmFGaWxlVGV4dCxcbiAgZmFXYXZlU3F1YXJlOiBmYVdhdmVTcXVhcmUsXG4gIGZhUmluZzogZmFSaW5nLFxuICBmYUJ1aWxkaW5nVW46IGZhQnVpbGRpbmdVbixcbiAgZmFEaWNlVGhyZWU6IGZhRGljZVRocmVlLFxuICBmYUNhbGVuZGFyRGF5czogZmFDYWxlbmRhckRheXMsXG4gIGZhQ2FsZW5kYXJBbHQ6IGZhQ2FsZW5kYXJBbHQsXG4gIGZhQW5jaG9yQ2lyY2xlQ2hlY2s6IGZhQW5jaG9yQ2lyY2xlQ2hlY2ssXG4gIGZhQnVpbGRpbmdDaXJjbGVBcnJvd1JpZ2h0OiBmYUJ1aWxkaW5nQ2lyY2xlQXJyb3dSaWdodCxcbiAgZmFWb2xsZXliYWxsOiBmYVZvbGxleWJhbGwsXG4gIGZhVm9sbGV5YmFsbEJhbGw6IGZhVm9sbGV5YmFsbEJhbGwsXG4gIGZhQXJyb3dzVXBUb0xpbmU6IGZhQXJyb3dzVXBUb0xpbmUsXG4gIGZhU29ydERvd246IGZhU29ydERvd24sXG4gIGZhU29ydERlc2M6IGZhU29ydERlc2MsXG4gIGZhQ2lyY2xlTWludXM6IGZhQ2lyY2xlTWludXMsXG4gIGZhTWludXNDaXJjbGU6IGZhTWludXNDaXJjbGUsXG4gIGZhRG9vck9wZW46IGZhRG9vck9wZW4sXG4gIGZhUmlnaHRGcm9tQnJhY2tldDogZmFSaWdodEZyb21CcmFja2V0LFxuICBmYVNpZ25PdXRBbHQ6IGZhU2lnbk91dEFsdCxcbiAgZmFBdG9tOiBmYUF0b20sXG4gIGZhU29hcDogZmFTb2FwLFxuICBmYUljb25zOiBmYUljb25zLFxuICBmYUhlYXJ0TXVzaWNDYW1lcmFCb2x0OiBmYUhlYXJ0TXVzaWNDYW1lcmFCb2x0LFxuICBmYU1pY3JvcGhvbmVMaW5lc1NsYXNoOiBmYU1pY3JvcGhvbmVMaW5lc1NsYXNoLFxuICBmYU1pY3JvcGhvbmVBbHRTbGFzaDogZmFNaWNyb3Bob25lQWx0U2xhc2gsXG4gIGZhQnJpZGdlQ2lyY2xlQ2hlY2s6IGZhQnJpZGdlQ2lyY2xlQ2hlY2ssXG4gIGZhUHVtcE1lZGljYWw6IGZhUHVtcE1lZGljYWwsXG4gIGZhRmluZ2VycHJpbnQ6IGZhRmluZ2VycHJpbnQsXG4gIGZhSGFuZFBvaW50UmlnaHQ6IGZhSGFuZFBvaW50UmlnaHQsXG4gIGZhTWFnbmlmeWluZ0dsYXNzTG9jYXRpb246IGZhTWFnbmlmeWluZ0dsYXNzTG9jYXRpb24sXG4gIGZhU2VhcmNoTG9jYXRpb246IGZhU2VhcmNoTG9jYXRpb24sXG4gIGZhRm9yd2FyZFN0ZXA6IGZhRm9yd2FyZFN0ZXAsXG4gIGZhU3RlcEZvcndhcmQ6IGZhU3RlcEZvcndhcmQsXG4gIGZhRmFjZVNtaWxlQmVhbTogZmFGYWNlU21pbGVCZWFtLFxuICBmYVNtaWxlQmVhbTogZmFTbWlsZUJlYW0sXG4gIGZhRmxhZ0NoZWNrZXJlZDogZmFGbGFnQ2hlY2tlcmVkLFxuICBmYUZvb3RiYWxsOiBmYUZvb3RiYWxsLFxuICBmYUZvb3RiYWxsQmFsbDogZmFGb290YmFsbEJhbGwsXG4gIGZhU2Nob29sQ2lyY2xlRXhjbGFtYXRpb246IGZhU2Nob29sQ2lyY2xlRXhjbGFtYXRpb24sXG4gIGZhQ3JvcDogZmFDcm9wLFxuICBmYUFuZ2xlc0Rvd246IGZhQW5nbGVzRG93bixcbiAgZmFBbmdsZURvdWJsZURvd246IGZhQW5nbGVEb3VibGVEb3duLFxuICBmYVVzZXJzUmVjdGFuZ2xlOiBmYVVzZXJzUmVjdGFuZ2xlLFxuICBmYVBlb3BsZVJvb2Y6IGZhUGVvcGxlUm9vZixcbiAgZmFQZW9wbGVMaW5lOiBmYVBlb3BsZUxpbmUsXG4gIGZhQmVlck11Z0VtcHR5OiBmYUJlZXJNdWdFbXB0eSxcbiAgZmFCZWVyOiBmYUJlZXIsXG4gIGZhRGlhZ3JhbVByZWRlY2Vzc29yOiBmYURpYWdyYW1QcmVkZWNlc3NvcixcbiAgZmFBcnJvd1VwTG9uZzogZmFBcnJvd1VwTG9uZyxcbiAgZmFMb25nQXJyb3dVcDogZmFMb25nQXJyb3dVcCxcbiAgZmFGaXJlRmxhbWVTaW1wbGU6IGZhRmlyZUZsYW1lU2ltcGxlLFxuICBmYUJ1cm46IGZhQnVybixcbiAgZmFQZXJzb246IGZhUGVyc29uLFxuICBmYU1hbGU6IGZhTWFsZSxcbiAgZmFMYXB0b3A6IGZhTGFwdG9wLFxuICBmYUZpbGVDc3Y6IGZhRmlsZUNzdixcbiAgZmFNZW5vcmFoOiBmYU1lbm9yYWgsXG4gIGZhVHJ1Y2tQbGFuZTogZmFUcnVja1BsYW5lLFxuICBmYVJlY29yZFZpbnlsOiBmYVJlY29yZFZpbnlsLFxuICBmYUZhY2VHcmluU3RhcnM6IGZhRmFjZUdyaW5TdGFycyxcbiAgZmFHcmluU3RhcnM6IGZhR3JpblN0YXJzLFxuICBmYUJvbmc6IGZhQm9uZyxcbiAgZmFTcGFnaGV0dGlNb25zdGVyRmx5aW5nOiBmYVNwYWdoZXR0aU1vbnN0ZXJGbHlpbmcsXG4gIGZhUGFzdGFmYXJpYW5pc206IGZhUGFzdGFmYXJpYW5pc20sXG4gIGZhQXJyb3dEb3duVXBBY3Jvc3NMaW5lOiBmYUFycm93RG93blVwQWNyb3NzTGluZSxcbiAgZmFTcG9vbjogZmFTcG9vbixcbiAgZmFVdGVuc2lsU3Bvb246IGZhVXRlbnNpbFNwb29uLFxuICBmYUphcldoZWF0OiBmYUphcldoZWF0LFxuICBmYUVudmVsb3Blc0J1bGs6IGZhRW52ZWxvcGVzQnVsayxcbiAgZmFNYWlsQnVsazogZmFNYWlsQnVsayxcbiAgZmFGaWxlQ2lyY2xlRXhjbGFtYXRpb246IGZhRmlsZUNpcmNsZUV4Y2xhbWF0aW9uLFxuICBmYUNpcmNsZUg6IGZhQ2lyY2xlSCxcbiAgZmFIb3NwaXRhbFN5bWJvbDogZmFIb3NwaXRhbFN5bWJvbCxcbiAgZmFQYWdlcjogZmFQYWdlcixcbiAgZmFBZGRyZXNzQm9vazogZmFBZGRyZXNzQm9vayxcbiAgZmFDb250YWN0Qm9vazogZmFDb250YWN0Qm9vayxcbiAgZmFTdHJpa2V0aHJvdWdoOiBmYVN0cmlrZXRocm91Z2gsXG4gIGZhSzogZmFLLFxuICBmYUxhbmRtYXJrRmxhZzogZmFMYW5kbWFya0ZsYWcsXG4gIGZhUGVuY2lsOiBmYVBlbmNpbCxcbiAgZmFQZW5jaWxBbHQ6IGZhUGVuY2lsQWx0LFxuICBmYUJhY2t3YXJkOiBmYUJhY2t3YXJkLFxuICBmYUNhcmV0UmlnaHQ6IGZhQ2FyZXRSaWdodCxcbiAgZmFDb21tZW50czogZmFDb21tZW50cyxcbiAgZmFQYXN0ZTogZmFQYXN0ZSxcbiAgZmFGaWxlQ2xpcGJvYXJkOiBmYUZpbGVDbGlwYm9hcmQsXG4gIGZhQ29kZVB1bGxSZXF1ZXN0OiBmYUNvZGVQdWxsUmVxdWVzdCxcbiAgZmFDbGlwYm9hcmRMaXN0OiBmYUNsaXBib2FyZExpc3QsXG4gIGZhVHJ1Y2tSYW1wQm94OiBmYVRydWNrUmFtcEJveCxcbiAgZmFUcnVja0xvYWRpbmc6IGZhVHJ1Y2tMb2FkaW5nLFxuICBmYVVzZXJDaGVjazogZmFVc2VyQ2hlY2ssXG4gIGZhVmlhbFZpcnVzOiBmYVZpYWxWaXJ1cyxcbiAgZmFTaGVldFBsYXN0aWM6IGZhU2hlZXRQbGFzdGljLFxuICBmYUJsb2c6IGZhQmxvZyxcbiAgZmFVc2VyTmluamE6IGZhVXNlck5pbmphLFxuICBmYVBlcnNvbkFycm93VXBGcm9tTGluZTogZmFQZXJzb25BcnJvd1VwRnJvbUxpbmUsXG4gIGZhU2Nyb2xsVG9yYWg6IGZhU2Nyb2xsVG9yYWgsXG4gIGZhVG9yYWg6IGZhVG9yYWgsXG4gIGZhQnJvb21CYWxsOiBmYUJyb29tQmFsbCxcbiAgZmFRdWlkZGl0Y2g6IGZhUXVpZGRpdGNoLFxuICBmYVF1aWRkaXRjaEJyb29tQmFsbDogZmFRdWlkZGl0Y2hCcm9vbUJhbGwsXG4gIGZhVG9nZ2xlT2ZmOiBmYVRvZ2dsZU9mZixcbiAgZmFCb3hBcmNoaXZlOiBmYUJveEFyY2hpdmUsXG4gIGZhQXJjaGl2ZTogZmFBcmNoaXZlLFxuICBmYVBlcnNvbkRyb3duaW5nOiBmYVBlcnNvbkRyb3duaW5nLFxuICBmYUFycm93RG93bjkxOiBmYUFycm93RG93bjkxLFxuICBmYVNvcnROdW1lcmljRGVzYzogZmFTb3J0TnVtZXJpY0Rlc2MsXG4gIGZhU29ydE51bWVyaWNEb3duQWx0OiBmYVNvcnROdW1lcmljRG93bkFsdCxcbiAgZmFGYWNlR3JpblRvbmd1ZVNxdWludDogZmFGYWNlR3JpblRvbmd1ZVNxdWludCxcbiAgZmFHcmluVG9uZ3VlU3F1aW50OiBmYUdyaW5Ub25ndWVTcXVpbnQsXG4gIGZhU3ByYXlDYW46IGZhU3ByYXlDYW4sXG4gIGZhVHJ1Y2tNb25zdGVyOiBmYVRydWNrTW9uc3RlcixcbiAgZmFXOiBmYVcsXG4gIGZhRWFydGhBZnJpY2E6IGZhRWFydGhBZnJpY2EsXG4gIGZhR2xvYmVBZnJpY2E6IGZhR2xvYmVBZnJpY2EsXG4gIGZhUmFpbmJvdzogZmFSYWluYm93LFxuICBmYUNpcmNsZU5vdGNoOiBmYUNpcmNsZU5vdGNoLFxuICBmYVRhYmxldFNjcmVlbkJ1dHRvbjogZmFUYWJsZXRTY3JlZW5CdXR0b24sXG4gIGZhVGFibGV0QWx0OiBmYVRhYmxldEFsdCxcbiAgZmFQYXc6IGZhUGF3LFxuICBmYUNsb3VkOiBmYUNsb3VkLFxuICBmYVRyb3dlbEJyaWNrczogZmFUcm93ZWxCcmlja3MsXG4gIGZhRmFjZUZsdXNoZWQ6IGZhRmFjZUZsdXNoZWQsXG4gIGZhRmx1c2hlZDogZmFGbHVzaGVkLFxuICBmYUhvc3BpdGFsVXNlcjogZmFIb3NwaXRhbFVzZXIsXG4gIGZhVGVudEFycm93TGVmdFJpZ2h0OiBmYVRlbnRBcnJvd0xlZnRSaWdodCxcbiAgZmFHYXZlbDogZmFHYXZlbCxcbiAgZmFMZWdhbDogZmFMZWdhbCxcbiAgZmFCaW5vY3VsYXJzOiBmYUJpbm9jdWxhcnMsXG4gIGZhTWljcm9waG9uZVNsYXNoOiBmYU1pY3JvcGhvbmVTbGFzaCxcbiAgZmFCb3hUaXNzdWU6IGZhQm94VGlzc3VlLFxuICBmYU1vdG9yY3ljbGU6IGZhTW90b3JjeWNsZSxcbiAgZmFCZWxsQ29uY2llcmdlOiBmYUJlbGxDb25jaWVyZ2UsXG4gIGZhQ29uY2llcmdlQmVsbDogZmFDb25jaWVyZ2VCZWxsLFxuICBmYVBlblJ1bGVyOiBmYVBlblJ1bGVyLFxuICBmYVBlbmNpbFJ1bGVyOiBmYVBlbmNpbFJ1bGVyLFxuICBmYVBlb3BsZUFycm93czogZmFQZW9wbGVBcnJvd3MsXG4gIGZhUGVvcGxlQXJyb3dzTGVmdFJpZ2h0OiBmYVBlb3BsZUFycm93c0xlZnRSaWdodCxcbiAgZmFNYXJzQW5kVmVudXNCdXJzdDogZmFNYXJzQW5kVmVudXNCdXJzdCxcbiAgZmFTcXVhcmVDYXJldFJpZ2h0OiBmYVNxdWFyZUNhcmV0UmlnaHQsXG4gIGZhQ2FyZXRTcXVhcmVSaWdodDogZmFDYXJldFNxdWFyZVJpZ2h0LFxuICBmYVNjaXNzb3JzOiBmYVNjaXNzb3JzLFxuICBmYUN1dDogZmFDdXQsXG4gIGZhU3VuUGxhbnRXaWx0OiBmYVN1blBsYW50V2lsdCxcbiAgZmFUb2lsZXRzUG9ydGFibGU6IGZhVG9pbGV0c1BvcnRhYmxlLFxuICBmYUhvY2tleVB1Y2s6IGZhSG9ja2V5UHVjayxcbiAgZmFUYWJsZTogZmFUYWJsZSxcbiAgZmFNYWduaWZ5aW5nR2xhc3NBcnJvd1JpZ2h0OiBmYU1hZ25pZnlpbmdHbGFzc0Fycm93UmlnaHQsXG4gIGZhVGFjaG9ncmFwaERpZ2l0YWw6IGZhVGFjaG9ncmFwaERpZ2l0YWwsXG4gIGZhRGlnaXRhbFRhY2hvZ3JhcGg6IGZhRGlnaXRhbFRhY2hvZ3JhcGgsXG4gIGZhVXNlcnNTbGFzaDogZmFVc2Vyc1NsYXNoLFxuICBmYUNsb3ZlcjogZmFDbG92ZXIsXG4gIGZhUmVwbHk6IGZhUmVwbHksXG4gIGZhTWFpbFJlcGx5OiBmYU1haWxSZXBseSxcbiAgZmFTdGFyQW5kQ3Jlc2NlbnQ6IGZhU3RhckFuZENyZXNjZW50LFxuICBmYUhvdXNlRmlyZTogZmFIb3VzZUZpcmUsXG4gIGZhU3F1YXJlTWludXM6IGZhU3F1YXJlTWludXMsXG4gIGZhTWludXNTcXVhcmU6IGZhTWludXNTcXVhcmUsXG4gIGZhSGVsaWNvcHRlcjogZmFIZWxpY29wdGVyLFxuICBmYUNvbXBhc3M6IGZhQ29tcGFzcyxcbiAgZmFTcXVhcmVDYXJldERvd246IGZhU3F1YXJlQ2FyZXREb3duLFxuICBmYUNhcmV0U3F1YXJlRG93bjogZmFDYXJldFNxdWFyZURvd24sXG4gIGZhRmlsZUNpcmNsZVF1ZXN0aW9uOiBmYUZpbGVDaXJjbGVRdWVzdGlvbixcbiAgZmFMYXB0b3BDb2RlOiBmYUxhcHRvcENvZGUsXG4gIGZhU3dhdGNoYm9vazogZmFTd2F0Y2hib29rLFxuICBmYVByZXNjcmlwdGlvbkJvdHRsZTogZmFQcmVzY3JpcHRpb25Cb3R0bGUsXG4gIGZhQmFyczogZmFCYXJzLFxuICBmYU5hdmljb246IGZhTmF2aWNvbixcbiAgZmFQZW9wbGVHcm91cDogZmFQZW9wbGVHcm91cCxcbiAgZmFIb3VyZ2xhc3NFbmQ6IGZhSG91cmdsYXNzRW5kLFxuICBmYUhvdXJnbGFzczM6IGZhSG91cmdsYXNzMyxcbiAgZmFIZWFydENyYWNrOiBmYUhlYXJ0Q3JhY2ssXG4gIGZhSGVhcnRCcm9rZW46IGZhSGVhcnRCcm9rZW4sXG4gIGZhU3F1YXJlVXBSaWdodDogZmFTcXVhcmVVcFJpZ2h0LFxuICBmYUV4dGVybmFsTGlua1NxdWFyZUFsdDogZmFFeHRlcm5hbExpbmtTcXVhcmVBbHQsXG4gIGZhRmFjZUtpc3NCZWFtOiBmYUZhY2VLaXNzQmVhbSxcbiAgZmFLaXNzQmVhbTogZmFLaXNzQmVhbSxcbiAgZmFGaWxtOiBmYUZpbG0sXG4gIGZhUnVsZXJIb3Jpem9udGFsOiBmYVJ1bGVySG9yaXpvbnRhbCxcbiAgZmFQZW9wbGVSb2JiZXJ5OiBmYVBlb3BsZVJvYmJlcnksXG4gIGZhTGlnaHRidWxiOiBmYUxpZ2h0YnVsYixcbiAgZmFDYXJldExlZnQ6IGZhQ2FyZXRMZWZ0LFxuICBmYUNpcmNsZUV4Y2xhbWF0aW9uOiBmYUNpcmNsZUV4Y2xhbWF0aW9uLFxuICBmYUV4Y2xhbWF0aW9uQ2lyY2xlOiBmYUV4Y2xhbWF0aW9uQ2lyY2xlLFxuICBmYVNjaG9vbENpcmNsZVhtYXJrOiBmYVNjaG9vbENpcmNsZVhtYXJrLFxuICBmYUFycm93UmlnaHRGcm9tQnJhY2tldDogZmFBcnJvd1JpZ2h0RnJvbUJyYWNrZXQsXG4gIGZhU2lnbk91dDogZmFTaWduT3V0LFxuICBmYUNpcmNsZUNoZXZyb25Eb3duOiBmYUNpcmNsZUNoZXZyb25Eb3duLFxuICBmYUNoZXZyb25DaXJjbGVEb3duOiBmYUNoZXZyb25DaXJjbGVEb3duLFxuICBmYVVubG9ja0tleWhvbGU6IGZhVW5sb2NrS2V5aG9sZSxcbiAgZmFVbmxvY2tBbHQ6IGZhVW5sb2NrQWx0LFxuICBmYUNsb3VkU2hvd2Vyc0hlYXZ5OiBmYUNsb3VkU2hvd2Vyc0hlYXZ5LFxuICBmYUhlYWRwaG9uZXNTaW1wbGU6IGZhSGVhZHBob25lc1NpbXBsZSxcbiAgZmFIZWFkcGhvbmVzQWx0OiBmYUhlYWRwaG9uZXNBbHQsXG4gIGZhU2l0ZW1hcDogZmFTaXRlbWFwLFxuICBmYUNpcmNsZURvbGxhclRvU2xvdDogZmFDaXJjbGVEb2xsYXJUb1Nsb3QsXG4gIGZhRG9uYXRlOiBmYURvbmF0ZSxcbiAgZmFNZW1vcnk6IGZhTWVtb3J5LFxuICBmYVJvYWRTcGlrZXM6IGZhUm9hZFNwaWtlcyxcbiAgZmFGaXJlQnVybmVyOiBmYUZpcmVCdXJuZXIsXG4gIGZhRmxhZzogZmFGbGFnLFxuICBmYUhhbnVraWFoOiBmYUhhbnVraWFoLFxuICBmYUZlYXRoZXI6IGZhRmVhdGhlcixcbiAgZmFWb2x1bWVMb3c6IGZhVm9sdW1lTG93LFxuICBmYVZvbHVtZURvd246IGZhVm9sdW1lRG93bixcbiAgZmFDb21tZW50U2xhc2g6IGZhQ29tbWVudFNsYXNoLFxuICBmYUNsb3VkU3VuUmFpbjogZmFDbG91ZFN1blJhaW4sXG4gIGZhQ29tcHJlc3M6IGZhQ29tcHJlc3MsXG4gIGZhV2hlYXRBd246IGZhV2hlYXRBd24sXG4gIGZhV2hlYXRBbHQ6IGZhV2hlYXRBbHQsXG4gIGZhQW5raDogZmFBbmtoLFxuICBmYUhhbmRzSG9sZGluZ0NoaWxkOiBmYUhhbmRzSG9sZGluZ0NoaWxkLFxuICBmYUFzdGVyaXNrOiBmYUFzdGVyaXNrLFxuICBmYVNxdWFyZUNoZWNrOiBmYVNxdWFyZUNoZWNrLFxuICBmYUNoZWNrU3F1YXJlOiBmYUNoZWNrU3F1YXJlLFxuICBmYVBlc2V0YVNpZ246IGZhUGVzZXRhU2lnbixcbiAgZmFIZWFkaW5nOiBmYUhlYWRpbmcsXG4gIGZhSGVhZGVyOiBmYUhlYWRlcixcbiAgZmFHaG9zdDogZmFHaG9zdCxcbiAgZmFMaXN0OiBmYUxpc3QsXG4gIGZhTGlzdFNxdWFyZXM6IGZhTGlzdFNxdWFyZXMsXG4gIGZhU3F1YXJlUGhvbmVGbGlwOiBmYVNxdWFyZVBob25lRmxpcCxcbiAgZmFQaG9uZVNxdWFyZUFsdDogZmFQaG9uZVNxdWFyZUFsdCxcbiAgZmFDYXJ0UGx1czogZmFDYXJ0UGx1cyxcbiAgZmFHYW1lcGFkOiBmYUdhbWVwYWQsXG4gIGZhQ2lyY2xlRG90OiBmYUNpcmNsZURvdCxcbiAgZmFEb3RDaXJjbGU6IGZhRG90Q2lyY2xlLFxuICBmYUZhY2VEaXp6eTogZmFGYWNlRGl6enksXG4gIGZhRGl6enk6IGZhRGl6enksXG4gIGZhRWdnOiBmYUVnZyxcbiAgZmFIb3VzZU1lZGljYWxDaXJjbGVYbWFyazogZmFIb3VzZU1lZGljYWxDaXJjbGVYbWFyayxcbiAgZmFDYW1wZ3JvdW5kOiBmYUNhbXBncm91bmQsXG4gIGZhRm9sZGVyUGx1czogZmFGb2xkZXJQbHVzLFxuICBmYUZ1dGJvbDogZmFGdXRib2wsXG4gIGZhRnV0Ym9sQmFsbDogZmFGdXRib2xCYWxsLFxuICBmYVNvY2NlckJhbGw6IGZhU29jY2VyQmFsbCxcbiAgZmFQYWludGJydXNoOiBmYVBhaW50YnJ1c2gsXG4gIGZhUGFpbnRCcnVzaDogZmFQYWludEJydXNoLFxuICBmYUxvY2s6IGZhTG9jayxcbiAgZmFHYXNQdW1wOiBmYUdhc1B1bXAsXG4gIGZhSG90VHViUGVyc29uOiBmYUhvdFR1YlBlcnNvbixcbiAgZmFIb3RUdWI6IGZhSG90VHViLFxuICBmYU1hcExvY2F0aW9uOiBmYU1hcExvY2F0aW9uLFxuICBmYU1hcE1hcmtlZDogZmFNYXBNYXJrZWQsXG4gIGZhSG91c2VGbG9vZFdhdGVyOiBmYUhvdXNlRmxvb2RXYXRlcixcbiAgZmFUcmVlOiBmYVRyZWUsXG4gIGZhQnJpZGdlTG9jazogZmFCcmlkZ2VMb2NrLFxuICBmYVNhY2tEb2xsYXI6IGZhU2Fja0RvbGxhcixcbiAgZmFQZW5Ub1NxdWFyZTogZmFQZW5Ub1NxdWFyZSxcbiAgZmFFZGl0OiBmYUVkaXQsXG4gIGZhQ2FyU2lkZTogZmFDYXJTaWRlLFxuICBmYVNoYXJlTm9kZXM6IGZhU2hhcmVOb2RlcyxcbiAgZmFTaGFyZUFsdDogZmFTaGFyZUFsdCxcbiAgZmFIZWFydENpcmNsZU1pbnVzOiBmYUhlYXJ0Q2lyY2xlTWludXMsXG4gIGZhSG91cmdsYXNzSGFsZjogZmFIb3VyZ2xhc3NIYWxmLFxuICBmYUhvdXJnbGFzczI6IGZhSG91cmdsYXNzMixcbiAgZmFNaWNyb3Njb3BlOiBmYU1pY3Jvc2NvcGUsXG4gIGZhU2luazogZmFTaW5rLFxuICBmYUJhZ1Nob3BwaW5nOiBmYUJhZ1Nob3BwaW5nLFxuICBmYVNob3BwaW5nQmFnOiBmYVNob3BwaW5nQmFnLFxuICBmYUFycm93RG93blpBOiBmYUFycm93RG93blpBLFxuICBmYVNvcnRBbHBoYURlc2M6IGZhU29ydEFscGhhRGVzYyxcbiAgZmFTb3J0QWxwaGFEb3duQWx0OiBmYVNvcnRBbHBoYURvd25BbHQsXG4gIGZhTWl0dGVuOiBmYU1pdHRlbixcbiAgZmFQZXJzb25SYXlzOiBmYVBlcnNvblJheXMsXG4gIGZhVXNlcnM6IGZhVXNlcnMsXG4gIGZhRXllU2xhc2g6IGZhRXllU2xhc2gsXG4gIGZhRmxhc2tWaWFsOiBmYUZsYXNrVmlhbCxcbiAgZmFIYW5kOiBmYUhhbmQsXG4gIGZhSGFuZFBhcGVyOiBmYUhhbmRQYXBlcixcbiAgZmFPbTogZmFPbSxcbiAgZmFXb3JtOiBmYVdvcm0sXG4gIGZhSG91c2VDaXJjbGVYbWFyazogZmFIb3VzZUNpcmNsZVhtYXJrLFxuICBmYVBsdWc6IGZhUGx1ZyxcbiAgZmFDaGV2cm9uVXA6IGZhQ2hldnJvblVwLFxuICBmYUhhbmRTcG9jazogZmFIYW5kU3BvY2ssXG4gIGZhU3RvcHdhdGNoOiBmYVN0b3B3YXRjaCxcbiAgZmFGYWNlS2lzczogZmFGYWNlS2lzcyxcbiAgZmFLaXNzOiBmYUtpc3MsXG4gIGZhQnJpZGdlQ2lyY2xlWG1hcms6IGZhQnJpZGdlQ2lyY2xlWG1hcmssXG4gIGZhRmFjZUdyaW5Ub25ndWU6IGZhRmFjZUdyaW5Ub25ndWUsXG4gIGZhR3JpblRvbmd1ZTogZmFHcmluVG9uZ3VlLFxuICBmYUNoZXNzQmlzaG9wOiBmYUNoZXNzQmlzaG9wLFxuICBmYUZhY2VHcmluV2luazogZmFGYWNlR3JpbldpbmssXG4gIGZhR3Jpbldpbms6IGZhR3JpbldpbmssXG4gIGZhRWFyRGVhZjogZmFFYXJEZWFmLFxuICBmYURlYWY6IGZhRGVhZixcbiAgZmFEZWFmbmVzczogZmFEZWFmbmVzcyxcbiAgZmFIYXJkT2ZIZWFyaW5nOiBmYUhhcmRPZkhlYXJpbmcsXG4gIGZhUm9hZENpcmNsZUNoZWNrOiBmYVJvYWRDaXJjbGVDaGVjayxcbiAgZmFEaWNlRml2ZTogZmFEaWNlRml2ZSxcbiAgZmFTcXVhcmVSc3M6IGZhU3F1YXJlUnNzLFxuICBmYVJzc1NxdWFyZTogZmFSc3NTcXVhcmUsXG4gIGZhTGFuZE1pbmVPbjogZmFMYW5kTWluZU9uLFxuICBmYUlDdXJzb3I6IGZhSUN1cnNvcixcbiAgZmFTdGFtcDogZmFTdGFtcCxcbiAgZmFTdGFpcnM6IGZhU3RhaXJzLFxuICBmYUk6IGZhSSxcbiAgZmFIcnl2bmlhU2lnbjogZmFIcnl2bmlhU2lnbixcbiAgZmFIcnl2bmlhOiBmYUhyeXZuaWEsXG4gIGZhUGlsbHM6IGZhUGlsbHMsXG4gIGZhRmFjZUdyaW5XaWRlOiBmYUZhY2VHcmluV2lkZSxcbiAgZmFHcmluQWx0OiBmYUdyaW5BbHQsXG4gIGZhVG9vdGg6IGZhVG9vdGgsXG4gIGZhVjogZmFWLFxuICBmYUJhbmdsYWRlc2hpVGFrYVNpZ246IGZhQmFuZ2xhZGVzaGlUYWthU2lnbixcbiAgZmFCaWN5Y2xlOiBmYUJpY3ljbGUsXG4gIGZhU3RhZmZTbmFrZTogZmFTdGFmZlNuYWtlLFxuICBmYVJvZEFzY2xlcGl1czogZmFSb2RBc2NsZXBpdXMsXG4gIGZhUm9kU25ha2U6IGZhUm9kU25ha2UsXG4gIGZhU3RhZmZBZXNjdWxhcGl1czogZmFTdGFmZkFlc2N1bGFwaXVzLFxuICBmYUhlYWRTaWRlQ291Z2hTbGFzaDogZmFIZWFkU2lkZUNvdWdoU2xhc2gsXG4gIGZhVHJ1Y2tNZWRpY2FsOiBmYVRydWNrTWVkaWNhbCxcbiAgZmFBbWJ1bGFuY2U6IGZhQW1idWxhbmNlLFxuICBmYVdoZWF0QXduQ2lyY2xlRXhjbGFtYXRpb246IGZhV2hlYXRBd25DaXJjbGVFeGNsYW1hdGlvbixcbiAgZmFTbm93bWFuOiBmYVNub3dtYW4sXG4gIGZhTW9ydGFyUGVzdGxlOiBmYU1vcnRhclBlc3RsZSxcbiAgZmFSb2FkQmFycmllcjogZmFSb2FkQmFycmllcixcbiAgZmFTY2hvb2w6IGZhU2Nob29sLFxuICBmYUlnbG9vOiBmYUlnbG9vLFxuICBmYUpvaW50OiBmYUpvaW50LFxuICBmYUFuZ2xlUmlnaHQ6IGZhQW5nbGVSaWdodCxcbiAgZmFIb3JzZTogZmFIb3JzZSxcbiAgZmFROiBmYVEsXG4gIGZhRzogZmFHLFxuICBmYU5vdGVzTWVkaWNhbDogZmFOb3Rlc01lZGljYWwsXG4gIGZhVGVtcGVyYXR1cmVIYWxmOiBmYVRlbXBlcmF0dXJlSGFsZixcbiAgZmFUZW1wZXJhdHVyZTI6IGZhVGVtcGVyYXR1cmUyLFxuICBmYVRoZXJtb21ldGVyMjogZmFUaGVybW9tZXRlcjIsXG4gIGZhVGhlcm1vbWV0ZXJIYWxmOiBmYVRoZXJtb21ldGVySGFsZixcbiAgZmFEb25nU2lnbjogZmFEb25nU2lnbixcbiAgZmFDYXBzdWxlczogZmFDYXBzdWxlcyxcbiAgZmFQb29TdG9ybTogZmFQb29TdG9ybSxcbiAgZmFQb29Cb2x0OiBmYVBvb0JvbHQsXG4gIGZhRmFjZUZyb3duT3BlbjogZmFGYWNlRnJvd25PcGVuLFxuICBmYUZyb3duT3BlbjogZmFGcm93bk9wZW4sXG4gIGZhSGFuZFBvaW50VXA6IGZhSGFuZFBvaW50VXAsXG4gIGZhTW9uZXlCaWxsOiBmYU1vbmV5QmlsbCxcbiAgZmFCb29rbWFyazogZmFCb29rbWFyayxcbiAgZmFBbGlnbkp1c3RpZnk6IGZhQWxpZ25KdXN0aWZ5LFxuICBmYVVtYnJlbGxhQmVhY2g6IGZhVW1icmVsbGFCZWFjaCxcbiAgZmFIZWxtZXRVbjogZmFIZWxtZXRVbixcbiAgZmFCdWxsc2V5ZTogZmFCdWxsc2V5ZSxcbiAgZmFCYWNvbjogZmFCYWNvbixcbiAgZmFIYW5kUG9pbnREb3duOiBmYUhhbmRQb2ludERvd24sXG4gIGZhQXJyb3dVcEZyb21CcmFja2V0OiBmYUFycm93VXBGcm9tQnJhY2tldCxcbiAgZmFGb2xkZXI6IGZhRm9sZGVyLFxuICBmYUZvbGRlckJsYW5rOiBmYUZvbGRlckJsYW5rLFxuICBmYUZpbGVXYXZlZm9ybTogZmFGaWxlV2F2ZWZvcm0sXG4gIGZhRmlsZU1lZGljYWxBbHQ6IGZhRmlsZU1lZGljYWxBbHQsXG4gIGZhUmFkaWF0aW9uOiBmYVJhZGlhdGlvbixcbiAgZmFDaGFydFNpbXBsZTogZmFDaGFydFNpbXBsZSxcbiAgZmFNYXJzU3Ryb2tlOiBmYU1hcnNTdHJva2UsXG4gIGZhVmlhbDogZmFWaWFsLFxuICBmYUdhdWdlOiBmYUdhdWdlLFxuICBmYURhc2hib2FyZDogZmFEYXNoYm9hcmQsXG4gIGZhR2F1Z2VNZWQ6IGZhR2F1Z2VNZWQsXG4gIGZhVGFjaG9tZXRlckFsdEF2ZXJhZ2U6IGZhVGFjaG9tZXRlckFsdEF2ZXJhZ2UsXG4gIGZhV2FuZE1hZ2ljU3BhcmtsZXM6IGZhV2FuZE1hZ2ljU3BhcmtsZXMsXG4gIGZhTWFnaWNXYW5kU3BhcmtsZXM6IGZhTWFnaWNXYW5kU3BhcmtsZXMsXG4gIGZhRTogZmFFLFxuICBmYVBlbkNsaXA6IGZhUGVuQ2xpcCxcbiAgZmFQZW5BbHQ6IGZhUGVuQWx0LFxuICBmYUJyaWRnZUNpcmNsZUV4Y2xhbWF0aW9uOiBmYUJyaWRnZUNpcmNsZUV4Y2xhbWF0aW9uLFxuICBmYVVzZXI6IGZhVXNlcixcbiAgZmFTY2hvb2xDaXJjbGVDaGVjazogZmFTY2hvb2xDaXJjbGVDaGVjayxcbiAgZmFEdW1wc3RlcjogZmFEdW1wc3RlcixcbiAgZmFWYW5TaHV0dGxlOiBmYVZhblNodXR0bGUsXG4gIGZhU2h1dHRsZVZhbjogZmFTaHV0dGxlVmFuLFxuICBmYUJ1aWxkaW5nVXNlcjogZmFCdWlsZGluZ1VzZXIsXG4gIGZhU3F1YXJlQ2FyZXRMZWZ0OiBmYVNxdWFyZUNhcmV0TGVmdCxcbiAgZmFDYXJldFNxdWFyZUxlZnQ6IGZhQ2FyZXRTcXVhcmVMZWZ0LFxuICBmYUhpZ2hsaWdodGVyOiBmYUhpZ2hsaWdodGVyLFxuICBmYUtleTogZmFLZXksXG4gIGZhQnVsbGhvcm46IGZhQnVsbGhvcm4sXG4gIGZhR2xvYmU6IGZhR2xvYmUsXG4gIGZhU3luYWdvZ3VlOiBmYVN5bmFnb2d1ZSxcbiAgZmFQZXJzb25IYWxmRHJlc3M6IGZhUGVyc29uSGFsZkRyZXNzLFxuICBmYVJvYWRCcmlkZ2U6IGZhUm9hZEJyaWRnZSxcbiAgZmFMb2NhdGlvbkFycm93OiBmYUxvY2F0aW9uQXJyb3csXG4gIGZhQzogZmFDLFxuICBmYVRhYmxldEJ1dHRvbjogZmFUYWJsZXRCdXR0b24sXG4gIGZhQnVpbGRpbmdMb2NrOiBmYUJ1aWxkaW5nTG9jayxcbiAgZmFQaXp6YVNsaWNlOiBmYVBpenphU2xpY2UsXG4gIGZhTW9uZXlCaWxsV2F2ZTogZmFNb25leUJpbGxXYXZlLFxuICBmYUNoYXJ0QXJlYTogZmFDaGFydEFyZWEsXG4gIGZhQXJlYUNoYXJ0OiBmYUFyZWFDaGFydCxcbiAgZmFIb3VzZUZsYWc6IGZhSG91c2VGbGFnLFxuICBmYVBlcnNvbkNpcmNsZU1pbnVzOiBmYVBlcnNvbkNpcmNsZU1pbnVzLFxuICBmYUJhbjogZmFCYW4sXG4gIGZhQ2FuY2VsOiBmYUNhbmNlbCxcbiAgZmFDYW1lcmFSb3RhdGU6IGZhQ2FtZXJhUm90YXRlLFxuICBmYVNwcmF5Q2FuU3BhcmtsZXM6IGZhU3ByYXlDYW5TcGFya2xlcyxcbiAgZmFBaXJGcmVzaGVuZXI6IGZhQWlyRnJlc2hlbmVyLFxuICBmYVN0YXI6IGZhU3RhcixcbiAgZmFSZXBlYXQ6IGZhUmVwZWF0LFxuICBmYUNyb3NzOiBmYUNyb3NzLFxuICBmYUJveDogZmFCb3gsXG4gIGZhVmVudXNNYXJzOiBmYVZlbnVzTWFycyxcbiAgZmFBcnJvd1BvaW50ZXI6IGZhQXJyb3dQb2ludGVyLFxuICBmYU1vdXNlUG9pbnRlcjogZmFNb3VzZVBvaW50ZXIsXG4gIGZhTWF4aW1pemU6IGZhTWF4aW1pemUsXG4gIGZhRXhwYW5kQXJyb3dzQWx0OiBmYUV4cGFuZEFycm93c0FsdCxcbiAgZmFDaGFyZ2luZ1N0YXRpb246IGZhQ2hhcmdpbmdTdGF0aW9uLFxuICBmYVNoYXBlczogZmFTaGFwZXMsXG4gIGZhVHJpYW5nbGVDaXJjbGVTcXVhcmU6IGZhVHJpYW5nbGVDaXJjbGVTcXVhcmUsXG4gIGZhU2h1ZmZsZTogZmFTaHVmZmxlLFxuICBmYVJhbmRvbTogZmFSYW5kb20sXG4gIGZhUGVyc29uUnVubmluZzogZmFQZXJzb25SdW5uaW5nLFxuICBmYVJ1bm5pbmc6IGZhUnVubmluZyxcbiAgZmFNb2JpbGVSZXRybzogZmFNb2JpbGVSZXRybyxcbiAgZmFHcmlwTGluZXNWZXJ0aWNhbDogZmFHcmlwTGluZXNWZXJ0aWNhbCxcbiAgZmFTcGlkZXI6IGZhU3BpZGVyLFxuICBmYUhhbmRzQm91bmQ6IGZhSGFuZHNCb3VuZCxcbiAgZmFGaWxlSW52b2ljZURvbGxhcjogZmFGaWxlSW52b2ljZURvbGxhcixcbiAgZmFQbGFuZUNpcmNsZUV4Y2xhbWF0aW9uOiBmYVBsYW5lQ2lyY2xlRXhjbGFtYXRpb24sXG4gIGZhWFJheTogZmFYUmF5LFxuICBmYVNwZWxsQ2hlY2s6IGZhU3BlbGxDaGVjayxcbiAgZmFTbGFzaDogZmFTbGFzaCxcbiAgZmFDb21wdXRlck1vdXNlOiBmYUNvbXB1dGVyTW91c2UsXG4gIGZhTW91c2U6IGZhTW91c2UsXG4gIGZhQXJyb3dSaWdodFRvQnJhY2tldDogZmFBcnJvd1JpZ2h0VG9CcmFja2V0LFxuICBmYVNpZ25JbjogZmFTaWduSW4sXG4gIGZhU2hvcFNsYXNoOiBmYVNob3BTbGFzaCxcbiAgZmFTdG9yZUFsdFNsYXNoOiBmYVN0b3JlQWx0U2xhc2gsXG4gIGZhU2VydmVyOiBmYVNlcnZlcixcbiAgZmFWaXJ1c0NvdmlkU2xhc2g6IGZhVmlydXNDb3ZpZFNsYXNoLFxuICBmYVNob3BMb2NrOiBmYVNob3BMb2NrLFxuICBmYUhvdXJnbGFzc1N0YXJ0OiBmYUhvdXJnbGFzc1N0YXJ0LFxuICBmYUhvdXJnbGFzczE6IGZhSG91cmdsYXNzMSxcbiAgZmFCbGVuZGVyUGhvbmU6IGZhQmxlbmRlclBob25lLFxuICBmYUJ1aWxkaW5nV2hlYXQ6IGZhQnVpbGRpbmdXaGVhdCxcbiAgZmFQZXJzb25CcmVhc3RmZWVkaW5nOiBmYVBlcnNvbkJyZWFzdGZlZWRpbmcsXG4gIGZhUmlnaHRUb0JyYWNrZXQ6IGZhUmlnaHRUb0JyYWNrZXQsXG4gIGZhU2lnbkluQWx0OiBmYVNpZ25JbkFsdCxcbiAgZmFWZW51czogZmFWZW51cyxcbiAgZmFQYXNzcG9ydDogZmFQYXNzcG9ydCxcbiAgZmFIZWFydFB1bHNlOiBmYUhlYXJ0UHVsc2UsXG4gIGZhSGVhcnRiZWF0OiBmYUhlYXJ0YmVhdCxcbiAgZmFQZW9wbGVDYXJyeUJveDogZmFQZW9wbGVDYXJyeUJveCxcbiAgZmFQZW9wbGVDYXJyeTogZmFQZW9wbGVDYXJyeSxcbiAgZmFUZW1wZXJhdHVyZUhpZ2g6IGZhVGVtcGVyYXR1cmVIaWdoLFxuICBmYU1pY3JvY2hpcDogZmFNaWNyb2NoaXAsXG4gIGZhQ3Jvd246IGZhQ3Jvd24sXG4gIGZhV2VpZ2h0SGFuZ2luZzogZmFXZWlnaHRIYW5naW5nLFxuICBmYVhtYXJrc0xpbmVzOiBmYVhtYXJrc0xpbmVzLFxuICBmYUZpbGVQcmVzY3JpcHRpb246IGZhRmlsZVByZXNjcmlwdGlvbixcbiAgZmFXZWlnaHRTY2FsZTogZmFXZWlnaHRTY2FsZSxcbiAgZmFXZWlnaHQ6IGZhV2VpZ2h0LFxuICBmYVVzZXJHcm91cDogZmFVc2VyR3JvdXAsXG4gIGZhVXNlckZyaWVuZHM6IGZhVXNlckZyaWVuZHMsXG4gIGZhQXJyb3dVcEFaOiBmYUFycm93VXBBWixcbiAgZmFTb3J0QWxwaGFVcDogZmFTb3J0QWxwaGFVcCxcbiAgZmFDaGVzc0tuaWdodDogZmFDaGVzc0tuaWdodCxcbiAgZmFGYWNlTGF1Z2hTcXVpbnQ6IGZhRmFjZUxhdWdoU3F1aW50LFxuICBmYUxhdWdoU3F1aW50OiBmYUxhdWdoU3F1aW50LFxuICBmYVdoZWVsY2hhaXI6IGZhV2hlZWxjaGFpcixcbiAgZmFDaXJjbGVBcnJvd1VwOiBmYUNpcmNsZUFycm93VXAsXG4gIGZhQXJyb3dDaXJjbGVVcDogZmFBcnJvd0NpcmNsZVVwLFxuICBmYVRvZ2dsZU9uOiBmYVRvZ2dsZU9uLFxuICBmYVBlcnNvbldhbGtpbmc6IGZhUGVyc29uV2Fsa2luZyxcbiAgZmFXYWxraW5nOiBmYVdhbGtpbmcsXG4gIGZhTDogZmFMLFxuICBmYUZpcmU6IGZhRmlyZSxcbiAgZmFCZWRQdWxzZTogZmFCZWRQdWxzZSxcbiAgZmFQcm9jZWR1cmVzOiBmYVByb2NlZHVyZXMsXG4gIGZhU2h1dHRsZVNwYWNlOiBmYVNodXR0bGVTcGFjZSxcbiAgZmFTcGFjZVNodXR0bGU6IGZhU3BhY2VTaHV0dGxlLFxuICBmYUZhY2VMYXVnaDogZmFGYWNlTGF1Z2gsXG4gIGZhTGF1Z2g6IGZhTGF1Z2gsXG4gIGZhRm9sZGVyT3BlbjogZmFGb2xkZXJPcGVuLFxuICBmYUhlYXJ0Q2lyY2xlUGx1czogZmFIZWFydENpcmNsZVBsdXMsXG4gIGZhQ29kZUZvcms6IGZhQ29kZUZvcmssXG4gIGZhQ2l0eTogZmFDaXR5LFxuICBmYU1pY3JvcGhvbmVMaW5lczogZmFNaWNyb3Bob25lTGluZXMsXG4gIGZhTWljcm9waG9uZUFsdDogZmFNaWNyb3Bob25lQWx0LFxuICBmYVBlcHBlckhvdDogZmFQZXBwZXJIb3QsXG4gIGZhVW5sb2NrOiBmYVVubG9jayxcbiAgZmFDb2xvblNpZ246IGZhQ29sb25TaWduLFxuICBmYUhlYWRzZXQ6IGZhSGVhZHNldCxcbiAgZmFTdG9yZVNsYXNoOiBmYVN0b3JlU2xhc2gsXG4gIGZhUm9hZENpcmNsZVhtYXJrOiBmYVJvYWRDaXJjbGVYbWFyayxcbiAgZmFVc2VyTWludXM6IGZhVXNlck1pbnVzLFxuICBmYU1hcnNTdHJva2VVcDogZmFNYXJzU3Ryb2tlVXAsXG4gIGZhTWFyc1N0cm9rZVY6IGZhTWFyc1N0cm9rZVYsXG4gIGZhQ2hhbXBhZ25lR2xhc3NlczogZmFDaGFtcGFnbmVHbGFzc2VzLFxuICBmYUdsYXNzQ2hlZXJzOiBmYUdsYXNzQ2hlZXJzLFxuICBmYUNsaXBib2FyZDogZmFDbGlwYm9hcmQsXG4gIGZhSG91c2VDaXJjbGVFeGNsYW1hdGlvbjogZmFIb3VzZUNpcmNsZUV4Y2xhbWF0aW9uLFxuICBmYUZpbGVBcnJvd1VwOiBmYUZpbGVBcnJvd1VwLFxuICBmYUZpbGVVcGxvYWQ6IGZhRmlsZVVwbG9hZCxcbiAgZmFXaWZpOiBmYVdpZmksXG4gIGZhV2lmaTM6IGZhV2lmaTMsXG4gIGZhV2lmaVN0cm9uZzogZmFXaWZpU3Ryb25nLFxuICBmYUJhdGg6IGZhQmF0aCxcbiAgZmFCYXRodHViOiBmYUJhdGh0dWIsXG4gIGZhVW5kZXJsaW5lOiBmYVVuZGVybGluZSxcbiAgZmFVc2VyUGVuOiBmYVVzZXJQZW4sXG4gIGZhVXNlckVkaXQ6IGZhVXNlckVkaXQsXG4gIGZhU2lnbmF0dXJlOiBmYVNpZ25hdHVyZSxcbiAgZmFTdHJvb3B3YWZlbDogZmFTdHJvb3B3YWZlbCxcbiAgZmFCb2xkOiBmYUJvbGQsXG4gIGZhQW5jaG9yTG9jazogZmFBbmNob3JMb2NrLFxuICBmYUJ1aWxkaW5nTmdvOiBmYUJ1aWxkaW5nTmdvLFxuICBmYU1hbmF0U2lnbjogZmFNYW5hdFNpZ24sXG4gIGZhTm90RXF1YWw6IGZhTm90RXF1YWwsXG4gIGZhQm9yZGVyVG9wTGVmdDogZmFCb3JkZXJUb3BMZWZ0LFxuICBmYUJvcmRlclN0eWxlOiBmYUJvcmRlclN0eWxlLFxuICBmYU1hcExvY2F0aW9uRG90OiBmYU1hcExvY2F0aW9uRG90LFxuICBmYU1hcE1hcmtlZEFsdDogZmFNYXBNYXJrZWRBbHQsXG4gIGZhSmVkaTogZmFKZWRpLFxuICBmYVNxdWFyZVBvbGxWZXJ0aWNhbDogZmFTcXVhcmVQb2xsVmVydGljYWwsXG4gIGZhUG9sbDogZmFQb2xsLFxuICBmYU11Z0hvdDogZmFNdWdIb3QsXG4gIGZhQ2FyQmF0dGVyeTogZmFDYXJCYXR0ZXJ5LFxuICBmYUJhdHRlcnlDYXI6IGZhQmF0dGVyeUNhcixcbiAgZmFHaWZ0OiBmYUdpZnQsXG4gIGZhRGljZVR3bzogZmFEaWNlVHdvLFxuICBmYUNoZXNzUXVlZW46IGZhQ2hlc3NRdWVlbixcbiAgZmFHbGFzc2VzOiBmYUdsYXNzZXMsXG4gIGZhQ2hlc3NCb2FyZDogZmFDaGVzc0JvYXJkLFxuICBmYUJ1aWxkaW5nQ2lyY2xlQ2hlY2s6IGZhQnVpbGRpbmdDaXJjbGVDaGVjayxcbiAgZmFQZXJzb25DaGFsa2JvYXJkOiBmYVBlcnNvbkNoYWxrYm9hcmQsXG4gIGZhTWFyc1N0cm9rZVJpZ2h0OiBmYU1hcnNTdHJva2VSaWdodCxcbiAgZmFNYXJzU3Ryb2tlSDogZmFNYXJzU3Ryb2tlSCxcbiAgZmFIYW5kQmFja0Zpc3Q6IGZhSGFuZEJhY2tGaXN0LFxuICBmYUhhbmRSb2NrOiBmYUhhbmRSb2NrLFxuICBmYVNxdWFyZUNhcmV0VXA6IGZhU3F1YXJlQ2FyZXRVcCxcbiAgZmFDYXJldFNxdWFyZVVwOiBmYUNhcmV0U3F1YXJlVXAsXG4gIGZhQ2xvdWRTaG93ZXJzV2F0ZXI6IGZhQ2xvdWRTaG93ZXJzV2F0ZXIsXG4gIGZhQ2hhcnRCYXI6IGZhQ2hhcnRCYXIsXG4gIGZhQmFyQ2hhcnQ6IGZhQmFyQ2hhcnQsXG4gIGZhSGFuZHNCdWJibGVzOiBmYUhhbmRzQnViYmxlcyxcbiAgZmFIYW5kc1dhc2g6IGZhSGFuZHNXYXNoLFxuICBmYUxlc3NUaGFuRXF1YWw6IGZhTGVzc1RoYW5FcXVhbCxcbiAgZmFUcmFpbjogZmFUcmFpbixcbiAgZmFFeWVMb3dWaXNpb246IGZhRXllTG93VmlzaW9uLFxuICBmYUxvd1Zpc2lvbjogZmFMb3dWaXNpb24sXG4gIGZhQ3JvdzogZmFDcm93LFxuICBmYVNhaWxib2F0OiBmYVNhaWxib2F0LFxuICBmYVdpbmRvd1Jlc3RvcmU6IGZhV2luZG93UmVzdG9yZSxcbiAgZmFTcXVhcmVQbHVzOiBmYVNxdWFyZVBsdXMsXG4gIGZhUGx1c1NxdWFyZTogZmFQbHVzU3F1YXJlLFxuICBmYVRvcmlpR2F0ZTogZmFUb3JpaUdhdGUsXG4gIGZhRnJvZzogZmFGcm9nLFxuICBmYUJ1Y2tldDogZmFCdWNrZXQsXG4gIGZhSW1hZ2U6IGZhSW1hZ2UsXG4gIGZhTWljcm9waG9uZTogZmFNaWNyb3Bob25lLFxuICBmYUNvdzogZmFDb3csXG4gIGZhQ2FyZXRVcDogZmFDYXJldFVwLFxuICBmYVNjcmV3ZHJpdmVyOiBmYVNjcmV3ZHJpdmVyLFxuICBmYUZvbGRlckNsb3NlZDogZmFGb2xkZXJDbG9zZWQsXG4gIGZhSG91c2VUc3VuYW1pOiBmYUhvdXNlVHN1bmFtaSxcbiAgZmFTcXVhcmVOZmk6IGZhU3F1YXJlTmZpLFxuICBmYUFycm93VXBGcm9tR3JvdW5kV2F0ZXI6IGZhQXJyb3dVcEZyb21Hcm91bmRXYXRlcixcbiAgZmFNYXJ0aW5pR2xhc3M6IGZhTWFydGluaUdsYXNzLFxuICBmYUdsYXNzTWFydGluaUFsdDogZmFHbGFzc01hcnRpbmlBbHQsXG4gIGZhUm90YXRlTGVmdDogZmFSb3RhdGVMZWZ0LFxuICBmYVJvdGF0ZUJhY2s6IGZhUm90YXRlQmFjayxcbiAgZmFSb3RhdGVCYWNrd2FyZDogZmFSb3RhdGVCYWNrd2FyZCxcbiAgZmFVbmRvQWx0OiBmYVVuZG9BbHQsXG4gIGZhVGFibGVDb2x1bW5zOiBmYVRhYmxlQ29sdW1ucyxcbiAgZmFDb2x1bW5zOiBmYUNvbHVtbnMsXG4gIGZhTGVtb246IGZhTGVtb24sXG4gIGZhSGVhZFNpZGVNYXNrOiBmYUhlYWRTaWRlTWFzayxcbiAgZmFIYW5kc2hha2U6IGZhSGFuZHNoYWtlLFxuICBmYUdlbTogZmFHZW0sXG4gIGZhRG9sbHk6IGZhRG9sbHksXG4gIGZhRG9sbHlCb3g6IGZhRG9sbHlCb3gsXG4gIGZhU21va2luZzogZmFTbW9raW5nLFxuICBmYU1pbmltaXplOiBmYU1pbmltaXplLFxuICBmYUNvbXByZXNzQXJyb3dzQWx0OiBmYUNvbXByZXNzQXJyb3dzQWx0LFxuICBmYU1vbnVtZW50OiBmYU1vbnVtZW50LFxuICBmYVNub3dwbG93OiBmYVNub3dwbG93LFxuICBmYUFuZ2xlc1JpZ2h0OiBmYUFuZ2xlc1JpZ2h0LFxuICBmYUFuZ2xlRG91YmxlUmlnaHQ6IGZhQW5nbGVEb3VibGVSaWdodCxcbiAgZmFDYW5uYWJpczogZmFDYW5uYWJpcyxcbiAgZmFDaXJjbGVQbGF5OiBmYUNpcmNsZVBsYXksXG4gIGZhUGxheUNpcmNsZTogZmFQbGF5Q2lyY2xlLFxuICBmYVRhYmxldHM6IGZhVGFibGV0cyxcbiAgZmFFdGhlcm5ldDogZmFFdGhlcm5ldCxcbiAgZmFFdXJvU2lnbjogZmFFdXJvU2lnbixcbiAgZmFFdXI6IGZhRXVyLFxuICBmYUV1cm86IGZhRXVybyxcbiAgZmFDaGFpcjogZmFDaGFpcixcbiAgZmFDaXJjbGVDaGVjazogZmFDaXJjbGVDaGVjayxcbiAgZmFDaGVja0NpcmNsZTogZmFDaGVja0NpcmNsZSxcbiAgZmFDaXJjbGVTdG9wOiBmYUNpcmNsZVN0b3AsXG4gIGZhU3RvcENpcmNsZTogZmFTdG9wQ2lyY2xlLFxuICBmYUNvbXBhc3NEcmFmdGluZzogZmFDb21wYXNzRHJhZnRpbmcsXG4gIGZhRHJhZnRpbmdDb21wYXNzOiBmYURyYWZ0aW5nQ29tcGFzcyxcbiAgZmFQbGF0ZVdoZWF0OiBmYVBsYXRlV2hlYXQsXG4gIGZhSWNpY2xlczogZmFJY2ljbGVzLFxuICBmYVBlcnNvblNoZWx0ZXI6IGZhUGVyc29uU2hlbHRlcixcbiAgZmFOZXV0ZXI6IGZhTmV1dGVyLFxuICBmYUlkQmFkZ2U6IGZhSWRCYWRnZSxcbiAgZmFNYXJrZXI6IGZhTWFya2VyLFxuICBmYUZhY2VMYXVnaEJlYW06IGZhRmFjZUxhdWdoQmVhbSxcbiAgZmFMYXVnaEJlYW06IGZhTGF1Z2hCZWFtLFxuICBmYUhlbGljb3B0ZXJTeW1ib2w6IGZhSGVsaWNvcHRlclN5bWJvbCxcbiAgZmFVbml2ZXJzYWxBY2Nlc3M6IGZhVW5pdmVyc2FsQWNjZXNzLFxuICBmYUNpcmNsZUNoZXZyb25VcDogZmFDaXJjbGVDaGV2cm9uVXAsXG4gIGZhQ2hldnJvbkNpcmNsZVVwOiBmYUNoZXZyb25DaXJjbGVVcCxcbiAgZmFMYXJpU2lnbjogZmFMYXJpU2lnbixcbiAgZmFWb2xjYW5vOiBmYVZvbGNhbm8sXG4gIGZhUGVyc29uV2Fsa2luZ0Rhc2hlZExpbmVBcnJvd1JpZ2h0OiBmYVBlcnNvbldhbGtpbmdEYXNoZWRMaW5lQXJyb3dSaWdodCxcbiAgZmFTdGVybGluZ1NpZ246IGZhU3RlcmxpbmdTaWduLFxuICBmYUdicDogZmFHYnAsXG4gIGZhUG91bmRTaWduOiBmYVBvdW5kU2lnbixcbiAgZmFWaXJ1c2VzOiBmYVZpcnVzZXMsXG4gIGZhU3F1YXJlUGVyc29uQ29uZmluZWQ6IGZhU3F1YXJlUGVyc29uQ29uZmluZWQsXG4gIGZhVXNlclRpZTogZmFVc2VyVGllLFxuICBmYUFycm93RG93bkxvbmc6IGZhQXJyb3dEb3duTG9uZyxcbiAgZmFMb25nQXJyb3dEb3duOiBmYUxvbmdBcnJvd0Rvd24sXG4gIGZhVGVudEFycm93RG93blRvTGluZTogZmFUZW50QXJyb3dEb3duVG9MaW5lLFxuICBmYUNlcnRpZmljYXRlOiBmYUNlcnRpZmljYXRlLFxuICBmYVJlcGx5QWxsOiBmYVJlcGx5QWxsLFxuICBmYU1haWxSZXBseUFsbDogZmFNYWlsUmVwbHlBbGwsXG4gIGZhU3VpdGNhc2U6IGZhU3VpdGNhc2UsXG4gIGZhUGVyc29uU2thdGluZzogZmFQZXJzb25Ta2F0aW5nLFxuICBmYVNrYXRpbmc6IGZhU2thdGluZyxcbiAgZmFGaWx0ZXJDaXJjbGVEb2xsYXI6IGZhRmlsdGVyQ2lyY2xlRG9sbGFyLFxuICBmYUZ1bm5lbERvbGxhcjogZmFGdW5uZWxEb2xsYXIsXG4gIGZhQ2FtZXJhUmV0cm86IGZhQ2FtZXJhUmV0cm8sXG4gIGZhQ2lyY2xlQXJyb3dEb3duOiBmYUNpcmNsZUFycm93RG93bixcbiAgZmFBcnJvd0NpcmNsZURvd246IGZhQXJyb3dDaXJjbGVEb3duLFxuICBmYUZpbGVJbXBvcnQ6IGZhRmlsZUltcG9ydCxcbiAgZmFBcnJvd1JpZ2h0VG9GaWxlOiBmYUFycm93UmlnaHRUb0ZpbGUsXG4gIGZhU3F1YXJlQXJyb3dVcFJpZ2h0OiBmYVNxdWFyZUFycm93VXBSaWdodCxcbiAgZmFFeHRlcm5hbExpbmtTcXVhcmU6IGZhRXh0ZXJuYWxMaW5rU3F1YXJlLFxuICBmYUJveE9wZW46IGZhQm94T3BlbixcbiAgZmFTY3JvbGw6IGZhU2Nyb2xsLFxuICBmYVNwYTogZmFTcGEsXG4gIGZhTG9jYXRpb25QaW5Mb2NrOiBmYUxvY2F0aW9uUGluTG9jayxcbiAgZmFQYXVzZTogZmFQYXVzZSxcbiAgZmFIaWxsQXZhbGFuY2hlOiBmYUhpbGxBdmFsYW5jaGUsXG4gIGZhVGVtcGVyYXR1cmVFbXB0eTogZmFUZW1wZXJhdHVyZUVtcHR5LFxuICBmYVRlbXBlcmF0dXJlMDogZmFUZW1wZXJhdHVyZTAsXG4gIGZhVGhlcm1vbWV0ZXIwOiBmYVRoZXJtb21ldGVyMCxcbiAgZmFUaGVybW9tZXRlckVtcHR5OiBmYVRoZXJtb21ldGVyRW1wdHksXG4gIGZhQm9tYjogZmFCb21iLFxuICBmYVJlZ2lzdGVyZWQ6IGZhUmVnaXN0ZXJlZCxcbiAgZmFBZGRyZXNzQ2FyZDogZmFBZGRyZXNzQ2FyZCxcbiAgZmFDb250YWN0Q2FyZDogZmFDb250YWN0Q2FyZCxcbiAgZmFWY2FyZDogZmFWY2FyZCxcbiAgZmFTY2FsZVVuYmFsYW5jZWRGbGlwOiBmYVNjYWxlVW5iYWxhbmNlZEZsaXAsXG4gIGZhQmFsYW5jZVNjYWxlUmlnaHQ6IGZhQmFsYW5jZVNjYWxlUmlnaHQsXG4gIGZhU3Vic2NyaXB0OiBmYVN1YnNjcmlwdCxcbiAgZmFEaWFtb25kVHVyblJpZ2h0OiBmYURpYW1vbmRUdXJuUmlnaHQsXG4gIGZhRGlyZWN0aW9uczogZmFEaXJlY3Rpb25zLFxuICBmYUJ1cnN0OiBmYUJ1cnN0LFxuICBmYUhvdXNlTGFwdG9wOiBmYUhvdXNlTGFwdG9wLFxuICBmYUxhcHRvcEhvdXNlOiBmYUxhcHRvcEhvdXNlLFxuICBmYUZhY2VUaXJlZDogZmFGYWNlVGlyZWQsXG4gIGZhVGlyZWQ6IGZhVGlyZWQsXG4gIGZhTW9uZXlCaWxsczogZmFNb25leUJpbGxzLFxuICBmYVNtb2c6IGZhU21vZyxcbiAgZmFDcnV0Y2g6IGZhQ3J1dGNoLFxuICBmYUZvbnRBd2Vzb21lOiBmYUZvbnRBd2Vzb21lLFxuICBmYUZvbnRBd2Vzb21lRmxhZzogZmFGb250QXdlc29tZUZsYWcsXG4gIGZhRm9udEF3ZXNvbWVMb2dvRnVsbDogZmFGb250QXdlc29tZUxvZ29GdWxsLFxuICBmYUNsb3VkQXJyb3dVcDogZmFDbG91ZEFycm93VXAsXG4gIGZhQ2xvdWRVcGxvYWQ6IGZhQ2xvdWRVcGxvYWQsXG4gIGZhQ2xvdWRVcGxvYWRBbHQ6IGZhQ2xvdWRVcGxvYWRBbHQsXG4gIGZhUGFsZXR0ZTogZmFQYWxldHRlLFxuICBmYUFycm93c1R1cm5SaWdodDogZmFBcnJvd3NUdXJuUmlnaHQsXG4gIGZhVmVzdDogZmFWZXN0LFxuICBmYUZlcnJ5OiBmYUZlcnJ5LFxuICBmYUFycm93c0Rvd25Ub1Blb3BsZTogZmFBcnJvd3NEb3duVG9QZW9wbGUsXG4gIGZhU2VlZGxpbmc6IGZhU2VlZGxpbmcsXG4gIGZhU3Byb3V0OiBmYVNwcm91dCxcbiAgZmFMZWZ0UmlnaHQ6IGZhTGVmdFJpZ2h0LFxuICBmYUFycm93c0FsdEg6IGZhQXJyb3dzQWx0SCxcbiAgZmFCb3hlc1BhY2tpbmc6IGZhQm94ZXNQYWNraW5nLFxuICBmYUNpcmNsZUFycm93TGVmdDogZmFDaXJjbGVBcnJvd0xlZnQsXG4gIGZhQXJyb3dDaXJjbGVMZWZ0OiBmYUFycm93Q2lyY2xlTGVmdCxcbiAgZmFHcm91cEFycm93c1JvdGF0ZTogZmFHcm91cEFycm93c1JvdGF0ZSxcbiAgZmFCb3dsRm9vZDogZmFCb3dsRm9vZCxcbiAgZmFDYW5keUNhbmU6IGZhQ2FuZHlDYW5lLFxuICBmYUFycm93RG93bldpZGVTaG9ydDogZmFBcnJvd0Rvd25XaWRlU2hvcnQsXG4gIGZhU29ydEFtb3VudEFzYzogZmFTb3J0QW1vdW50QXNjLFxuICBmYVNvcnRBbW91bnREb3duOiBmYVNvcnRBbW91bnREb3duLFxuICBmYUNsb3VkQm9sdDogZmFDbG91ZEJvbHQsXG4gIGZhVGh1bmRlcnN0b3JtOiBmYVRodW5kZXJzdG9ybSxcbiAgZmFUZXh0U2xhc2g6IGZhVGV4dFNsYXNoLFxuICBmYVJlbW92ZUZvcm1hdDogZmFSZW1vdmVGb3JtYXQsXG4gIGZhRmFjZVNtaWxlV2luazogZmFGYWNlU21pbGVXaW5rLFxuICBmYVNtaWxlV2luazogZmFTbWlsZVdpbmssXG4gIGZhRmlsZVdvcmQ6IGZhRmlsZVdvcmQsXG4gIGZhRmlsZVBvd2VycG9pbnQ6IGZhRmlsZVBvd2VycG9pbnQsXG4gIGZhQXJyb3dzTGVmdFJpZ2h0OiBmYUFycm93c0xlZnRSaWdodCxcbiAgZmFBcnJvd3NIOiBmYUFycm93c0gsXG4gIGZhSG91c2VMb2NrOiBmYUhvdXNlTG9jayxcbiAgZmFDbG91ZEFycm93RG93bjogZmFDbG91ZEFycm93RG93bixcbiAgZmFDbG91ZERvd25sb2FkOiBmYUNsb3VkRG93bmxvYWQsXG4gIGZhQ2xvdWREb3dubG9hZEFsdDogZmFDbG91ZERvd25sb2FkQWx0LFxuICBmYUNoaWxkcmVuOiBmYUNoaWxkcmVuLFxuICBmYUNoYWxrYm9hcmQ6IGZhQ2hhbGtib2FyZCxcbiAgZmFCbGFja2JvYXJkOiBmYUJsYWNrYm9hcmQsXG4gIGZhVXNlckxhcmdlU2xhc2g6IGZhVXNlckxhcmdlU2xhc2gsXG4gIGZhVXNlckFsdFNsYXNoOiBmYVVzZXJBbHRTbGFzaCxcbiAgZmFFbnZlbG9wZU9wZW46IGZhRW52ZWxvcGVPcGVuLFxuICBmYUhhbmRzaGFrZVNpbXBsZVNsYXNoOiBmYUhhbmRzaGFrZVNpbXBsZVNsYXNoLFxuICBmYUhhbmRzaGFrZUFsdFNsYXNoOiBmYUhhbmRzaGFrZUFsdFNsYXNoLFxuICBmYU1hdHRyZXNzUGlsbG93OiBmYU1hdHRyZXNzUGlsbG93LFxuICBmYUd1YXJhbmlTaWduOiBmYUd1YXJhbmlTaWduLFxuICBmYUFycm93c1JvdGF0ZTogZmFBcnJvd3NSb3RhdGUsXG4gIGZhUmVmcmVzaDogZmFSZWZyZXNoLFxuICBmYVN5bmM6IGZhU3luYyxcbiAgZmFGaXJlRXh0aW5ndWlzaGVyOiBmYUZpcmVFeHRpbmd1aXNoZXIsXG4gIGZhQ3J1emVpcm9TaWduOiBmYUNydXplaXJvU2lnbixcbiAgZmFHcmVhdGVyVGhhbkVxdWFsOiBmYUdyZWF0ZXJUaGFuRXF1YWwsXG4gIGZhU2hpZWxkSGFsdmVkOiBmYVNoaWVsZEhhbHZlZCxcbiAgZmFTaGllbGRBbHQ6IGZhU2hpZWxkQWx0LFxuICBmYUJvb2tBdGxhczogZmFCb29rQXRsYXMsXG4gIGZhQXRsYXM6IGZhQXRsYXMsXG4gIGZhVmlydXM6IGZhVmlydXMsXG4gIGZhRW52ZWxvcGVDaXJjbGVDaGVjazogZmFFbnZlbG9wZUNpcmNsZUNoZWNrLFxuICBmYUxheWVyR3JvdXA6IGZhTGF5ZXJHcm91cCxcbiAgZmFBcnJvd3NUb0RvdDogZmFBcnJvd3NUb0RvdCxcbiAgZmFBcmNod2F5OiBmYUFyY2h3YXksXG4gIGZhSGVhcnRDaXJjbGVDaGVjazogZmFIZWFydENpcmNsZUNoZWNrLFxuICBmYUhvdXNlQ2hpbW5leUNyYWNrOiBmYUhvdXNlQ2hpbW5leUNyYWNrLFxuICBmYUhvdXNlRGFtYWdlOiBmYUhvdXNlRGFtYWdlLFxuICBmYUZpbGVaaXBwZXI6IGZhRmlsZVppcHBlcixcbiAgZmFGaWxlQXJjaGl2ZTogZmFGaWxlQXJjaGl2ZSxcbiAgZmFTcXVhcmU6IGZhU3F1YXJlLFxuICBmYU1hcnRpbmlHbGFzc0VtcHR5OiBmYU1hcnRpbmlHbGFzc0VtcHR5LFxuICBmYUdsYXNzTWFydGluaTogZmFHbGFzc01hcnRpbmksXG4gIGZhQ291Y2g6IGZhQ291Y2gsXG4gIGZhQ2VkaVNpZ246IGZhQ2VkaVNpZ24sXG4gIGZhSXRhbGljOiBmYUl0YWxpYyxcbiAgZmFUYWJsZUNlbGxzQ29sdW1uTG9jazogZmFUYWJsZUNlbGxzQ29sdW1uTG9jayxcbiAgZmFDaHVyY2g6IGZhQ2h1cmNoLFxuICBmYUNvbW1lbnRzRG9sbGFyOiBmYUNvbW1lbnRzRG9sbGFyLFxuICBmYURlbW9jcmF0OiBmYURlbW9jcmF0LFxuICBmYVo6IGZhWixcbiAgZmFQZXJzb25Ta2lpbmc6IGZhUGVyc29uU2tpaW5nLFxuICBmYVNraWluZzogZmFTa2lpbmcsXG4gIGZhUm9hZExvY2s6IGZhUm9hZExvY2ssXG4gIGZhQTogZmFBLFxuICBmYVRlbXBlcmF0dXJlQXJyb3dEb3duOiBmYVRlbXBlcmF0dXJlQXJyb3dEb3duLFxuICBmYVRlbXBlcmF0dXJlRG93bjogZmFUZW1wZXJhdHVyZURvd24sXG4gIGZhRmVhdGhlclBvaW50ZWQ6IGZhRmVhdGhlclBvaW50ZWQsXG4gIGZhRmVhdGhlckFsdDogZmFGZWF0aGVyQWx0LFxuICBmYVA6IGZhUCxcbiAgZmFTbm93Zmxha2U6IGZhU25vd2ZsYWtlLFxuICBmYU5ld3NwYXBlcjogZmFOZXdzcGFwZXIsXG4gIGZhUmVjdGFuZ2xlQWQ6IGZhUmVjdGFuZ2xlQWQsXG4gIGZhQWQ6IGZhQWQsXG4gIGZhQ2lyY2xlQXJyb3dSaWdodDogZmFDaXJjbGVBcnJvd1JpZ2h0LFxuICBmYUFycm93Q2lyY2xlUmlnaHQ6IGZhQXJyb3dDaXJjbGVSaWdodCxcbiAgZmFGaWx0ZXJDaXJjbGVYbWFyazogZmFGaWx0ZXJDaXJjbGVYbWFyayxcbiAgZmFMb2N1c3Q6IGZhTG9jdXN0LFxuICBmYVNvcnQ6IGZhU29ydCxcbiAgZmFVbnNvcnRlZDogZmFVbnNvcnRlZCxcbiAgZmFMaXN0T2w6IGZhTGlzdE9sLFxuICBmYUxpc3QxMjogZmFMaXN0MTIsXG4gIGZhTGlzdE51bWVyaWM6IGZhTGlzdE51bWVyaWMsXG4gIGZhUGVyc29uRHJlc3NCdXJzdDogZmFQZXJzb25EcmVzc0J1cnN0LFxuICBmYU1vbmV5Q2hlY2tEb2xsYXI6IGZhTW9uZXlDaGVja0RvbGxhcixcbiAgZmFNb25leUNoZWNrQWx0OiBmYU1vbmV5Q2hlY2tBbHQsXG4gIGZhVmVjdG9yU3F1YXJlOiBmYVZlY3RvclNxdWFyZSxcbiAgZmFCcmVhZFNsaWNlOiBmYUJyZWFkU2xpY2UsXG4gIGZhTGFuZ3VhZ2U6IGZhTGFuZ3VhZ2UsXG4gIGZhRmFjZUtpc3NXaW5rSGVhcnQ6IGZhRmFjZUtpc3NXaW5rSGVhcnQsXG4gIGZhS2lzc1dpbmtIZWFydDogZmFLaXNzV2lua0hlYXJ0LFxuICBmYUZpbHRlcjogZmFGaWx0ZXIsXG4gIGZhUXVlc3Rpb246IGZhUXVlc3Rpb24sXG4gIGZhRmlsZVNpZ25hdHVyZTogZmFGaWxlU2lnbmF0dXJlLFxuICBmYVVwRG93bkxlZnRSaWdodDogZmFVcERvd25MZWZ0UmlnaHQsXG4gIGZhQXJyb3dzQWx0OiBmYUFycm93c0FsdCxcbiAgZmFIb3VzZUNoaW1uZXlVc2VyOiBmYUhvdXNlQ2hpbW5leVVzZXIsXG4gIGZhSGFuZEhvbGRpbmdIZWFydDogZmFIYW5kSG9sZGluZ0hlYXJ0LFxuICBmYVB1enpsZVBpZWNlOiBmYVB1enpsZVBpZWNlLFxuICBmYU1vbmV5Q2hlY2s6IGZhTW9uZXlDaGVjayxcbiAgZmFTdGFySGFsZlN0cm9rZTogZmFTdGFySGFsZlN0cm9rZSxcbiAgZmFTdGFySGFsZkFsdDogZmFTdGFySGFsZkFsdCxcbiAgZmFDb2RlOiBmYUNvZGUsXG4gIGZhV2hpc2tleUdsYXNzOiBmYVdoaXNrZXlHbGFzcyxcbiAgZmFHbGFzc1doaXNrZXk6IGZhR2xhc3NXaGlza2V5LFxuICBmYUJ1aWxkaW5nQ2lyY2xlRXhjbGFtYXRpb246IGZhQnVpbGRpbmdDaXJjbGVFeGNsYW1hdGlvbixcbiAgZmFNYWduaWZ5aW5nR2xhc3NDaGFydDogZmFNYWduaWZ5aW5nR2xhc3NDaGFydCxcbiAgZmFBcnJvd1VwUmlnaHRGcm9tU3F1YXJlOiBmYUFycm93VXBSaWdodEZyb21TcXVhcmUsXG4gIGZhRXh0ZXJuYWxMaW5rOiBmYUV4dGVybmFsTGluayxcbiAgZmFDdWJlc1N0YWNrZWQ6IGZhQ3ViZXNTdGFja2VkLFxuICBmYVdvblNpZ246IGZhV29uU2lnbixcbiAgZmFLcnc6IGZhS3J3LFxuICBmYVdvbjogZmFXb24sXG4gIGZhVmlydXNDb3ZpZDogZmFWaXJ1c0NvdmlkLFxuICBmYUF1c3RyYWxTaWduOiBmYUF1c3RyYWxTaWduLFxuICBmYUY6IGZhRixcbiAgZmFMZWFmOiBmYUxlYWYsXG4gIGZhUm9hZDogZmFSb2FkLFxuICBmYVRheGk6IGZhVGF4aSxcbiAgZmFDYWI6IGZhQ2FiLFxuICBmYVBlcnNvbkNpcmNsZVBsdXM6IGZhUGVyc29uQ2lyY2xlUGx1cyxcbiAgZmFDaGFydFBpZTogZmFDaGFydFBpZSxcbiAgZmFQaWVDaGFydDogZmFQaWVDaGFydCxcbiAgZmFCb2x0TGlnaHRuaW5nOiBmYUJvbHRMaWdodG5pbmcsXG4gIGZhU2Fja1htYXJrOiBmYVNhY2tYbWFyayxcbiAgZmFGaWxlRXhjZWw6IGZhRmlsZUV4Y2VsLFxuICBmYUZpbGVDb250cmFjdDogZmFGaWxlQ29udHJhY3QsXG4gIGZhRmlzaEZpbnM6IGZhRmlzaEZpbnMsXG4gIGZhQnVpbGRpbmdGbGFnOiBmYUJ1aWxkaW5nRmxhZyxcbiAgZmFGYWNlR3JpbkJlYW06IGZhRmFjZUdyaW5CZWFtLFxuICBmYUdyaW5CZWFtOiBmYUdyaW5CZWFtLFxuICBmYU9iamVjdFVuZ3JvdXA6IGZhT2JqZWN0VW5ncm91cCxcbiAgZmFQb29wOiBmYVBvb3AsXG4gIGZhTG9jYXRpb25QaW46IGZhTG9jYXRpb25QaW4sXG4gIGZhTWFwTWFya2VyOiBmYU1hcE1hcmtlcixcbiAgZmFLYWFiYTogZmFLYWFiYSxcbiAgZmFUb2lsZXRQYXBlcjogZmFUb2lsZXRQYXBlcixcbiAgZmFIZWxtZXRTYWZldHk6IGZhSGVsbWV0U2FmZXR5LFxuICBmYUhhcmRIYXQ6IGZhSGFyZEhhdCxcbiAgZmFIYXRIYXJkOiBmYUhhdEhhcmQsXG4gIGZhRWplY3Q6IGZhRWplY3QsXG4gIGZhQ2lyY2xlUmlnaHQ6IGZhQ2lyY2xlUmlnaHQsXG4gIGZhQXJyb3dBbHRDaXJjbGVSaWdodDogZmFBcnJvd0FsdENpcmNsZVJpZ2h0LFxuICBmYVBsYW5lQ2lyY2xlQ2hlY2s6IGZhUGxhbmVDaXJjbGVDaGVjayxcbiAgZmFGYWNlUm9sbGluZ0V5ZXM6IGZhRmFjZVJvbGxpbmdFeWVzLFxuICBmYU1laFJvbGxpbmdFeWVzOiBmYU1laFJvbGxpbmdFeWVzLFxuICBmYU9iamVjdEdyb3VwOiBmYU9iamVjdEdyb3VwLFxuICBmYUNoYXJ0TGluZTogZmFDaGFydExpbmUsXG4gIGZhTGluZUNoYXJ0OiBmYUxpbmVDaGFydCxcbiAgZmFNYXNrVmVudGlsYXRvcjogZmFNYXNrVmVudGlsYXRvcixcbiAgZmFBcnJvd1JpZ2h0OiBmYUFycm93UmlnaHQsXG4gIGZhU2lnbnNQb3N0OiBmYVNpZ25zUG9zdCxcbiAgZmFNYXBTaWduczogZmFNYXBTaWducyxcbiAgZmFDYXNoUmVnaXN0ZXI6IGZhQ2FzaFJlZ2lzdGVyLFxuICBmYVBlcnNvbkNpcmNsZVF1ZXN0aW9uOiBmYVBlcnNvbkNpcmNsZVF1ZXN0aW9uLFxuICBmYUg6IGZhSCxcbiAgZmFUYXJwOiBmYVRhcnAsXG4gIGZhU2NyZXdkcml2ZXJXcmVuY2g6IGZhU2NyZXdkcml2ZXJXcmVuY2gsXG4gIGZhVG9vbHM6IGZhVG9vbHMsXG4gIGZhQXJyb3dzVG9FeWU6IGZhQXJyb3dzVG9FeWUsXG4gIGZhUGx1Z0NpcmNsZUJvbHQ6IGZhUGx1Z0NpcmNsZUJvbHQsXG4gIGZhSGVhcnQ6IGZhSGVhcnQsXG4gIGZhTWFyc0FuZFZlbnVzOiBmYU1hcnNBbmRWZW51cyxcbiAgZmFIb3VzZVVzZXI6IGZhSG91c2VVc2VyLFxuICBmYUhvbWVVc2VyOiBmYUhvbWVVc2VyLFxuICBmYUR1bXBzdGVyRmlyZTogZmFEdW1wc3RlckZpcmUsXG4gIGZhSG91c2VDcmFjazogZmFIb3VzZUNyYWNrLFxuICBmYU1hcnRpbmlHbGFzc0NpdHJ1czogZmFNYXJ0aW5pR2xhc3NDaXRydXMsXG4gIGZhQ29ja3RhaWw6IGZhQ29ja3RhaWwsXG4gIGZhRmFjZVN1cnByaXNlOiBmYUZhY2VTdXJwcmlzZSxcbiAgZmFTdXJwcmlzZTogZmFTdXJwcmlzZSxcbiAgZmFCb3R0bGVXYXRlcjogZmFCb3R0bGVXYXRlcixcbiAgZmFDaXJjbGVQYXVzZTogZmFDaXJjbGVQYXVzZSxcbiAgZmFQYXVzZUNpcmNsZTogZmFQYXVzZUNpcmNsZSxcbiAgZmFUb2lsZXRQYXBlclNsYXNoOiBmYVRvaWxldFBhcGVyU2xhc2gsXG4gIGZhQXBwbGVXaG9sZTogZmFBcHBsZVdob2xlLFxuICBmYUFwcGxlQWx0OiBmYUFwcGxlQWx0LFxuICBmYUtpdGNoZW5TZXQ6IGZhS2l0Y2hlblNldCxcbiAgZmFSOiBmYVIsXG4gIGZhVGVtcGVyYXR1cmVRdWFydGVyOiBmYVRlbXBlcmF0dXJlUXVhcnRlcixcbiAgZmFUZW1wZXJhdHVyZTE6IGZhVGVtcGVyYXR1cmUxLFxuICBmYVRoZXJtb21ldGVyMTogZmFUaGVybW9tZXRlcjEsXG4gIGZhVGhlcm1vbWV0ZXJRdWFydGVyOiBmYVRoZXJtb21ldGVyUXVhcnRlcixcbiAgZmFDdWJlOiBmYUN1YmUsXG4gIGZhQml0Y29pblNpZ246IGZhQml0Y29pblNpZ24sXG4gIGZhU2hpZWxkRG9nOiBmYVNoaWVsZERvZyxcbiAgZmFTb2xhclBhbmVsOiBmYVNvbGFyUGFuZWwsXG4gIGZhTG9ja09wZW46IGZhTG9ja09wZW4sXG4gIGZhRWxldmF0b3I6IGZhRWxldmF0b3IsXG4gIGZhTW9uZXlCaWxsVHJhbnNmZXI6IGZhTW9uZXlCaWxsVHJhbnNmZXIsXG4gIGZhTW9uZXlCaWxsVHJlbmRVcDogZmFNb25leUJpbGxUcmVuZFVwLFxuICBmYUhvdXNlRmxvb2RXYXRlckNpcmNsZUFycm93UmlnaHQ6IGZhSG91c2VGbG9vZFdhdGVyQ2lyY2xlQXJyb3dSaWdodCxcbiAgZmFTcXVhcmVQb2xsSG9yaXpvbnRhbDogZmFTcXVhcmVQb2xsSG9yaXpvbnRhbCxcbiAgZmFQb2xsSDogZmFQb2xsSCxcbiAgZmFDaXJjbGU6IGZhQ2lyY2xlLFxuICBmYUJhY2t3YXJkRmFzdDogZmFCYWNrd2FyZEZhc3QsXG4gIGZhRmFzdEJhY2t3YXJkOiBmYUZhc3RCYWNrd2FyZCxcbiAgZmFSZWN5Y2xlOiBmYVJlY3ljbGUsXG4gIGZhVXNlckFzdHJvbmF1dDogZmFVc2VyQXN0cm9uYXV0LFxuICBmYVBsYW5lU2xhc2g6IGZhUGxhbmVTbGFzaCxcbiAgZmFUcmFkZW1hcms6IGZhVHJhZGVtYXJrLFxuICBmYUJhc2tldGJhbGw6IGZhQmFza2V0YmFsbCxcbiAgZmFCYXNrZXRiYWxsQmFsbDogZmFCYXNrZXRiYWxsQmFsbCxcbiAgZmFTYXRlbGxpdGVEaXNoOiBmYVNhdGVsbGl0ZURpc2gsXG4gIGZhQ2lyY2xlVXA6IGZhQ2lyY2xlVXAsXG4gIGZhQXJyb3dBbHRDaXJjbGVVcDogZmFBcnJvd0FsdENpcmNsZVVwLFxuICBmYU1vYmlsZVNjcmVlbkJ1dHRvbjogZmFNb2JpbGVTY3JlZW5CdXR0b24sXG4gIGZhTW9iaWxlQWx0OiBmYU1vYmlsZUFsdCxcbiAgZmFWb2x1bWVIaWdoOiBmYVZvbHVtZUhpZ2gsXG4gIGZhVm9sdW1lVXA6IGZhVm9sdW1lVXAsXG4gIGZhVXNlcnNSYXlzOiBmYVVzZXJzUmF5cyxcbiAgZmFXYWxsZXQ6IGZhV2FsbGV0LFxuICBmYUNsaXBib2FyZENoZWNrOiBmYUNsaXBib2FyZENoZWNrLFxuICBmYUZpbGVBdWRpbzogZmFGaWxlQXVkaW8sXG4gIGZhQnVyZ2VyOiBmYUJ1cmdlcixcbiAgZmFIYW1idXJnZXI6IGZhSGFtYnVyZ2VyLFxuICBmYVdyZW5jaDogZmFXcmVuY2gsXG4gIGZhQnVnczogZmFCdWdzLFxuICBmYVJ1cGVlU2lnbjogZmFSdXBlZVNpZ24sXG4gIGZhUnVwZWU6IGZhUnVwZWUsXG4gIGZhRmlsZUltYWdlOiBmYUZpbGVJbWFnZSxcbiAgZmFDaXJjbGVRdWVzdGlvbjogZmFDaXJjbGVRdWVzdGlvbixcbiAgZmFRdWVzdGlvbkNpcmNsZTogZmFRdWVzdGlvbkNpcmNsZSxcbiAgZmFQbGFuZURlcGFydHVyZTogZmFQbGFuZURlcGFydHVyZSxcbiAgZmFIYW5kc2hha2VTbGFzaDogZmFIYW5kc2hha2VTbGFzaCxcbiAgZmFCb29rQm9va21hcms6IGZhQm9va0Jvb2ttYXJrLFxuICBmYUNvZGVCcmFuY2g6IGZhQ29kZUJyYW5jaCxcbiAgZmFIYXRDb3dib3k6IGZhSGF0Q293Ym95LFxuICBmYUJyaWRnZTogZmFCcmlkZ2UsXG4gIGZhUGhvbmVGbGlwOiBmYVBob25lRmxpcCxcbiAgZmFQaG9uZUFsdDogZmFQaG9uZUFsdCxcbiAgZmFUcnVja0Zyb250OiBmYVRydWNrRnJvbnQsXG4gIGZhQ2F0OiBmYUNhdCxcbiAgZmFBbmNob3JDaXJjbGVFeGNsYW1hdGlvbjogZmFBbmNob3JDaXJjbGVFeGNsYW1hdGlvbixcbiAgZmFUcnVja0ZpZWxkOiBmYVRydWNrRmllbGQsXG4gIGZhUm91dGU6IGZhUm91dGUsXG4gIGZhQ2xpcGJvYXJkUXVlc3Rpb246IGZhQ2xpcGJvYXJkUXVlc3Rpb24sXG4gIGZhUGFub3JhbWE6IGZhUGFub3JhbWEsXG4gIGZhQ29tbWVudE1lZGljYWw6IGZhQ29tbWVudE1lZGljYWwsXG4gIGZhVGVldGhPcGVuOiBmYVRlZXRoT3BlbixcbiAgZmFGaWxlQ2lyY2xlTWludXM6IGZhRmlsZUNpcmNsZU1pbnVzLFxuICBmYVRhZ3M6IGZhVGFncyxcbiAgZmFXaW5lR2xhc3M6IGZhV2luZUdsYXNzLFxuICBmYUZvcndhcmRGYXN0OiBmYUZvcndhcmRGYXN0LFxuICBmYUZhc3RGb3J3YXJkOiBmYUZhc3RGb3J3YXJkLFxuICBmYUZhY2VNZWhCbGFuazogZmFGYWNlTWVoQmxhbmssXG4gIGZhTWVoQmxhbms6IGZhTWVoQmxhbmssXG4gIGZhU3F1YXJlUGFya2luZzogZmFTcXVhcmVQYXJraW5nLFxuICBmYVBhcmtpbmc6IGZhUGFya2luZyxcbiAgZmFIb3VzZVNpZ25hbDogZmFIb3VzZVNpZ25hbCxcbiAgZmFCYXJzUHJvZ3Jlc3M6IGZhQmFyc1Byb2dyZXNzLFxuICBmYVRhc2tzQWx0OiBmYVRhc2tzQWx0LFxuICBmYUZhdWNldERyaXA6IGZhRmF1Y2V0RHJpcCxcbiAgZmFDYXJ0RmxhdGJlZDogZmFDYXJ0RmxhdGJlZCxcbiAgZmFEb2xseUZsYXRiZWQ6IGZhRG9sbHlGbGF0YmVkLFxuICBmYUJhblNtb2tpbmc6IGZhQmFuU21va2luZyxcbiAgZmFTbW9raW5nQmFuOiBmYVNtb2tpbmdCYW4sXG4gIGZhVGVybWluYWw6IGZhVGVybWluYWwsXG4gIGZhTW9iaWxlQnV0dG9uOiBmYU1vYmlsZUJ1dHRvbixcbiAgZmFIb3VzZU1lZGljYWxGbGFnOiBmYUhvdXNlTWVkaWNhbEZsYWcsXG4gIGZhQmFza2V0U2hvcHBpbmc6IGZhQmFza2V0U2hvcHBpbmcsXG4gIGZhU2hvcHBpbmdCYXNrZXQ6IGZhU2hvcHBpbmdCYXNrZXQsXG4gIGZhVGFwZTogZmFUYXBlLFxuICBmYUJ1c1NpbXBsZTogZmFCdXNTaW1wbGUsXG4gIGZhQnVzQWx0OiBmYUJ1c0FsdCxcbiAgZmFFeWU6IGZhRXllLFxuICBmYUZhY2VTYWRDcnk6IGZhRmFjZVNhZENyeSxcbiAgZmFTYWRDcnk6IGZhU2FkQ3J5LFxuICBmYUF1ZGlvRGVzY3JpcHRpb246IGZhQXVkaW9EZXNjcmlwdGlvbixcbiAgZmFQZXJzb25NaWxpdGFyeVRvUGVyc29uOiBmYVBlcnNvbk1pbGl0YXJ5VG9QZXJzb24sXG4gIGZhRmlsZVNoaWVsZDogZmFGaWxlU2hpZWxkLFxuICBmYVVzZXJTbGFzaDogZmFVc2VyU2xhc2gsXG4gIGZhUGVuOiBmYVBlbixcbiAgZmFUb3dlck9ic2VydmF0aW9uOiBmYVRvd2VyT2JzZXJ2YXRpb24sXG4gIGZhRmlsZUNvZGU6IGZhRmlsZUNvZGUsXG4gIGZhU2lnbmFsOiBmYVNpZ25hbCxcbiAgZmFTaWduYWw1OiBmYVNpZ25hbDUsXG4gIGZhU2lnbmFsUGVyZmVjdDogZmFTaWduYWxQZXJmZWN0LFxuICBmYUJ1czogZmFCdXMsXG4gIGZhSGVhcnRDaXJjbGVYbWFyazogZmFIZWFydENpcmNsZVhtYXJrLFxuICBmYUhvdXNlQ2hpbW5leTogZmFIb3VzZUNoaW1uZXksXG4gIGZhSG9tZUxnOiBmYUhvbWVMZyxcbiAgZmFXaW5kb3dNYXhpbWl6ZTogZmFXaW5kb3dNYXhpbWl6ZSxcbiAgZmFGYWNlRnJvd246IGZhRmFjZUZyb3duLFxuICBmYUZyb3duOiBmYUZyb3duLFxuICBmYVByZXNjcmlwdGlvbjogZmFQcmVzY3JpcHRpb24sXG4gIGZhU2hvcDogZmFTaG9wLFxuICBmYVN0b3JlQWx0OiBmYVN0b3JlQWx0LFxuICBmYUZsb3BweURpc2s6IGZhRmxvcHB5RGlzayxcbiAgZmFTYXZlOiBmYVNhdmUsXG4gIGZhVmloYXJhOiBmYVZpaGFyYSxcbiAgZmFTY2FsZVVuYmFsYW5jZWQ6IGZhU2NhbGVVbmJhbGFuY2VkLFxuICBmYUJhbGFuY2VTY2FsZUxlZnQ6IGZhQmFsYW5jZVNjYWxlTGVmdCxcbiAgZmFTb3J0VXA6IGZhU29ydFVwLFxuICBmYVNvcnRBc2M6IGZhU29ydEFzYyxcbiAgZmFDb21tZW50RG90czogZmFDb21tZW50RG90cyxcbiAgZmFDb21tZW50aW5nOiBmYUNvbW1lbnRpbmcsXG4gIGZhUGxhbnRXaWx0OiBmYVBsYW50V2lsdCxcbiAgZmFEaWFtb25kOiBmYURpYW1vbmQsXG4gIGZhRmFjZUdyaW5TcXVpbnQ6IGZhRmFjZUdyaW5TcXVpbnQsXG4gIGZhR3JpblNxdWludDogZmFHcmluU3F1aW50LFxuICBmYUhhbmRIb2xkaW5nRG9sbGFyOiBmYUhhbmRIb2xkaW5nRG9sbGFyLFxuICBmYUhhbmRIb2xkaW5nVXNkOiBmYUhhbmRIb2xkaW5nVXNkLFxuICBmYUJhY3Rlcml1bTogZmFCYWN0ZXJpdW0sXG4gIGZhSGFuZFBvaW50ZXI6IGZhSGFuZFBvaW50ZXIsXG4gIGZhRHJ1bVN0ZWVscGFuOiBmYURydW1TdGVlbHBhbixcbiAgZmFIYW5kU2Npc3NvcnM6IGZhSGFuZFNjaXNzb3JzLFxuICBmYUhhbmRzUHJheWluZzogZmFIYW5kc1ByYXlpbmcsXG4gIGZhUHJheWluZ0hhbmRzOiBmYVByYXlpbmdIYW5kcyxcbiAgZmFBcnJvd1JvdGF0ZVJpZ2h0OiBmYUFycm93Um90YXRlUmlnaHQsXG4gIGZhQXJyb3dSaWdodFJvdGF0ZTogZmFBcnJvd1JpZ2h0Um90YXRlLFxuICBmYUFycm93Um90YXRlRm9yd2FyZDogZmFBcnJvd1JvdGF0ZUZvcndhcmQsXG4gIGZhUmVkbzogZmFSZWRvLFxuICBmYUJpb2hhemFyZDogZmFCaW9oYXphcmQsXG4gIGZhTG9jYXRpb25Dcm9zc2hhaXJzOiBmYUxvY2F0aW9uQ3Jvc3NoYWlycyxcbiAgZmFMb2NhdGlvbjogZmFMb2NhdGlvbixcbiAgZmFNYXJzRG91YmxlOiBmYU1hcnNEb3VibGUsXG4gIGZhQ2hpbGREcmVzczogZmFDaGlsZERyZXNzLFxuICBmYVVzZXJzQmV0d2VlbkxpbmVzOiBmYVVzZXJzQmV0d2VlbkxpbmVzLFxuICBmYUx1bmdzVmlydXM6IGZhTHVuZ3NWaXJ1cyxcbiAgZmFGYWNlR3JpblRlYXJzOiBmYUZhY2VHcmluVGVhcnMsXG4gIGZhR3JpblRlYXJzOiBmYUdyaW5UZWFycyxcbiAgZmFQaG9uZTogZmFQaG9uZSxcbiAgZmFDYWxlbmRhclhtYXJrOiBmYUNhbGVuZGFyWG1hcmssXG4gIGZhQ2FsZW5kYXJUaW1lczogZmFDYWxlbmRhclRpbWVzLFxuICBmYUNoaWxkUmVhY2hpbmc6IGZhQ2hpbGRSZWFjaGluZyxcbiAgZmFIZWFkU2lkZVZpcnVzOiBmYUhlYWRTaWRlVmlydXMsXG4gIGZhVXNlckdlYXI6IGZhVXNlckdlYXIsXG4gIGZhVXNlckNvZzogZmFVc2VyQ29nLFxuICBmYUFycm93VXAxOTogZmFBcnJvd1VwMTksXG4gIGZhU29ydE51bWVyaWNVcDogZmFTb3J0TnVtZXJpY1VwLFxuICBmYURvb3JDbG9zZWQ6IGZhRG9vckNsb3NlZCxcbiAgZmFTaGllbGRWaXJ1czogZmFTaGllbGRWaXJ1cyxcbiAgZmFEaWNlU2l4OiBmYURpY2VTaXgsXG4gIGZhTW9zcXVpdG9OZXQ6IGZhTW9zcXVpdG9OZXQsXG4gIGZhQnJpZGdlV2F0ZXI6IGZhQnJpZGdlV2F0ZXIsXG4gIGZhUGVyc29uQm9vdGg6IGZhUGVyc29uQm9vdGgsXG4gIGZhVGV4dFdpZHRoOiBmYVRleHRXaWR0aCxcbiAgZmFIYXRXaXphcmQ6IGZhSGF0V2l6YXJkLFxuICBmYVBlbkZhbmN5OiBmYVBlbkZhbmN5LFxuICBmYVBlcnNvbkRpZ2dpbmc6IGZhUGVyc29uRGlnZ2luZyxcbiAgZmFEaWdnaW5nOiBmYURpZ2dpbmcsXG4gIGZhVHJhc2g6IGZhVHJhc2gsXG4gIGZhR2F1Z2VTaW1wbGU6IGZhR2F1Z2VTaW1wbGUsXG4gIGZhR2F1Z2VTaW1wbGVNZWQ6IGZhR2F1Z2VTaW1wbGVNZWQsXG4gIGZhVGFjaG9tZXRlckF2ZXJhZ2U6IGZhVGFjaG9tZXRlckF2ZXJhZ2UsXG4gIGZhQm9va01lZGljYWw6IGZhQm9va01lZGljYWwsXG4gIGZhUG9vOiBmYVBvbyxcbiAgZmFRdW90ZVJpZ2h0OiBmYVF1b3RlUmlnaHQsXG4gIGZhUXVvdGVSaWdodEFsdDogZmFRdW90ZVJpZ2h0QWx0LFxuICBmYVNoaXJ0OiBmYVNoaXJ0LFxuICBmYVRTaGlydDogZmFUU2hpcnQsXG4gIGZhVHNoaXJ0OiBmYVRzaGlydCxcbiAgZmFDdWJlczogZmFDdWJlcyxcbiAgZmFEaXZpZGU6IGZhRGl2aWRlLFxuICBmYVRlbmdlU2lnbjogZmFUZW5nZVNpZ24sXG4gIGZhVGVuZ2U6IGZhVGVuZ2UsXG4gIGZhSGVhZHBob25lczogZmFIZWFkcGhvbmVzLFxuICBmYUhhbmRzSG9sZGluZzogZmFIYW5kc0hvbGRpbmcsXG4gIGZhSGFuZHNDbGFwcGluZzogZmFIYW5kc0NsYXBwaW5nLFxuICBmYVJlcHVibGljYW46IGZhUmVwdWJsaWNhbixcbiAgZmFBcnJvd0xlZnQ6IGZhQXJyb3dMZWZ0LFxuICBmYVBlcnNvbkNpcmNsZVhtYXJrOiBmYVBlcnNvbkNpcmNsZVhtYXJrLFxuICBmYVJ1bGVyOiBmYVJ1bGVyLFxuICBmYUFsaWduTGVmdDogZmFBbGlnbkxlZnQsXG4gIGZhRGljZUQ2OiBmYURpY2VENixcbiAgZmFSZXN0cm9vbTogZmFSZXN0cm9vbSxcbiAgZmFKOiBmYUosXG4gIGZhVXNlcnNWaWV3ZmluZGVyOiBmYVVzZXJzVmlld2ZpbmRlcixcbiAgZmFGaWxlVmlkZW86IGZhRmlsZVZpZGVvLFxuICBmYVVwUmlnaHRGcm9tU3F1YXJlOiBmYVVwUmlnaHRGcm9tU3F1YXJlLFxuICBmYUV4dGVybmFsTGlua0FsdDogZmFFeHRlcm5hbExpbmtBbHQsXG4gIGZhVGFibGVDZWxsczogZmFUYWJsZUNlbGxzLFxuICBmYVRoOiBmYVRoLFxuICBmYUZpbGVQZGY6IGZhRmlsZVBkZixcbiAgZmFCb29rQmlibGU6IGZhQm9va0JpYmxlLFxuICBmYUJpYmxlOiBmYUJpYmxlLFxuICBmYU86IGZhTyxcbiAgZmFTdWl0Y2FzZU1lZGljYWw6IGZhU3VpdGNhc2VNZWRpY2FsLFxuICBmYU1lZGtpdDogZmFNZWRraXQsXG4gIGZhVXNlclNlY3JldDogZmFVc2VyU2VjcmV0LFxuICBmYU90dGVyOiBmYU90dGVyLFxuICBmYVBlcnNvbkRyZXNzOiBmYVBlcnNvbkRyZXNzLFxuICBmYUZlbWFsZTogZmFGZW1hbGUsXG4gIGZhQ29tbWVudERvbGxhcjogZmFDb21tZW50RG9sbGFyLFxuICBmYUJ1c2luZXNzVGltZTogZmFCdXNpbmVzc1RpbWUsXG4gIGZhQnJpZWZjYXNlQ2xvY2s6IGZhQnJpZWZjYXNlQ2xvY2ssXG4gIGZhVGFibGVDZWxsc0xhcmdlOiBmYVRhYmxlQ2VsbHNMYXJnZSxcbiAgZmFUaExhcmdlOiBmYVRoTGFyZ2UsXG4gIGZhQm9va1RhbmFraDogZmFCb29rVGFuYWtoLFxuICBmYVRhbmFraDogZmFUYW5ha2gsXG4gIGZhUGhvbmVWb2x1bWU6IGZhUGhvbmVWb2x1bWUsXG4gIGZhVm9sdW1lQ29udHJvbFBob25lOiBmYVZvbHVtZUNvbnRyb2xQaG9uZSxcbiAgZmFIYXRDb3dib3lTaWRlOiBmYUhhdENvd2JveVNpZGUsXG4gIGZhQ2xpcGJvYXJkVXNlcjogZmFDbGlwYm9hcmRVc2VyLFxuICBmYUNoaWxkOiBmYUNoaWxkLFxuICBmYUxpcmFTaWduOiBmYUxpcmFTaWduLFxuICBmYVNhdGVsbGl0ZTogZmFTYXRlbGxpdGUsXG4gIGZhUGxhbmVMb2NrOiBmYVBsYW5lTG9jayxcbiAgZmFUYWc6IGZhVGFnLFxuICBmYUNvbW1lbnQ6IGZhQ29tbWVudCxcbiAgZmFDYWtlQ2FuZGxlczogZmFDYWtlQ2FuZGxlcyxcbiAgZmFCaXJ0aGRheUNha2U6IGZhQmlydGhkYXlDYWtlLFxuICBmYUNha2U6IGZhQ2FrZSxcbiAgZmFFbnZlbG9wZTogZmFFbnZlbG9wZSxcbiAgZmFBbmdsZXNVcDogZmFBbmdsZXNVcCxcbiAgZmFBbmdsZURvdWJsZVVwOiBmYUFuZ2xlRG91YmxlVXAsXG4gIGZhUGFwZXJjbGlwOiBmYVBhcGVyY2xpcCxcbiAgZmFBcnJvd1JpZ2h0VG9DaXR5OiBmYUFycm93UmlnaHRUb0NpdHksXG4gIGZhUmliYm9uOiBmYVJpYmJvbixcbiAgZmFMdW5nczogZmFMdW5ncyxcbiAgZmFBcnJvd1VwOTE6IGZhQXJyb3dVcDkxLFxuICBmYVNvcnROdW1lcmljVXBBbHQ6IGZhU29ydE51bWVyaWNVcEFsdCxcbiAgZmFMaXRlY29pblNpZ246IGZhTGl0ZWNvaW5TaWduLFxuICBmYUJvcmRlck5vbmU6IGZhQm9yZGVyTm9uZSxcbiAgZmFDaXJjbGVOb2RlczogZmFDaXJjbGVOb2RlcyxcbiAgZmFQYXJhY2h1dGVCb3g6IGZhUGFyYWNodXRlQm94LFxuICBmYUluZGVudDogZmFJbmRlbnQsXG4gIGZhVHJ1Y2tGaWVsZFVuOiBmYVRydWNrRmllbGRVbixcbiAgZmFIb3VyZ2xhc3M6IGZhSG91cmdsYXNzLFxuICBmYUhvdXJnbGFzc0VtcHR5OiBmYUhvdXJnbGFzc0VtcHR5LFxuICBmYU1vdW50YWluOiBmYU1vdW50YWluLFxuICBmYVVzZXJEb2N0b3I6IGZhVXNlckRvY3RvcixcbiAgZmFVc2VyTWQ6IGZhVXNlck1kLFxuICBmYUNpcmNsZUluZm86IGZhQ2lyY2xlSW5mbyxcbiAgZmFJbmZvQ2lyY2xlOiBmYUluZm9DaXJjbGUsXG4gIGZhQ2xvdWRNZWF0YmFsbDogZmFDbG91ZE1lYXRiYWxsLFxuICBmYUNhbWVyYTogZmFDYW1lcmEsXG4gIGZhQ2FtZXJhQWx0OiBmYUNhbWVyYUFsdCxcbiAgZmFTcXVhcmVWaXJ1czogZmFTcXVhcmVWaXJ1cyxcbiAgZmFNZXRlb3I6IGZhTWV0ZW9yLFxuICBmYUNhck9uOiBmYUNhck9uLFxuICBmYVNsZWlnaDogZmFTbGVpZ2gsXG4gIGZhQXJyb3dEb3duMTk6IGZhQXJyb3dEb3duMTksXG4gIGZhU29ydE51bWVyaWNBc2M6IGZhU29ydE51bWVyaWNBc2MsXG4gIGZhU29ydE51bWVyaWNEb3duOiBmYVNvcnROdW1lcmljRG93bixcbiAgZmFIYW5kSG9sZGluZ0Ryb3BsZXQ6IGZhSGFuZEhvbGRpbmdEcm9wbGV0LFxuICBmYUhhbmRIb2xkaW5nV2F0ZXI6IGZhSGFuZEhvbGRpbmdXYXRlcixcbiAgZmFXYXRlcjogZmFXYXRlcixcbiAgZmFDYWxlbmRhckNoZWNrOiBmYUNhbGVuZGFyQ2hlY2ssXG4gIGZhQnJhaWxsZTogZmFCcmFpbGxlLFxuICBmYVByZXNjcmlwdGlvbkJvdHRsZU1lZGljYWw6IGZhUHJlc2NyaXB0aW9uQm90dGxlTWVkaWNhbCxcbiAgZmFQcmVzY3JpcHRpb25Cb3R0bGVBbHQ6IGZhUHJlc2NyaXB0aW9uQm90dGxlQWx0LFxuICBmYUxhbmRtYXJrOiBmYUxhbmRtYXJrLFxuICBmYVRydWNrOiBmYVRydWNrLFxuICBmYUNyb3NzaGFpcnM6IGZhQ3Jvc3NoYWlycyxcbiAgZmFQZXJzb25DYW5lOiBmYVBlcnNvbkNhbmUsXG4gIGZhVGVudDogZmFUZW50LFxuICBmYVZlc3RQYXRjaGVzOiBmYVZlc3RQYXRjaGVzLFxuICBmYUNoZWNrRG91YmxlOiBmYUNoZWNrRG91YmxlLFxuICBmYUFycm93RG93bkFaOiBmYUFycm93RG93bkFaLFxuICBmYVNvcnRBbHBoYUFzYzogZmFTb3J0QWxwaGFBc2MsXG4gIGZhU29ydEFscGhhRG93bjogZmFTb3J0QWxwaGFEb3duLFxuICBmYU1vbmV5QmlsbFdoZWF0OiBmYU1vbmV5QmlsbFdoZWF0LFxuICBmYUNvb2tpZTogZmFDb29raWUsXG4gIGZhQXJyb3dSb3RhdGVMZWZ0OiBmYUFycm93Um90YXRlTGVmdCxcbiAgZmFBcnJvd0xlZnRSb3RhdGU6IGZhQXJyb3dMZWZ0Um90YXRlLFxuICBmYUFycm93Um90YXRlQmFjazogZmFBcnJvd1JvdGF0ZUJhY2ssXG4gIGZhQXJyb3dSb3RhdGVCYWNrd2FyZDogZmFBcnJvd1JvdGF0ZUJhY2t3YXJkLFxuICBmYVVuZG86IGZhVW5kbyxcbiAgZmFIYXJkRHJpdmU6IGZhSGFyZERyaXZlLFxuICBmYUhkZDogZmFIZGQsXG4gIGZhRmFjZUdyaW5TcXVpbnRUZWFyczogZmFGYWNlR3JpblNxdWludFRlYXJzLFxuICBmYUdyaW5TcXVpbnRUZWFyczogZmFHcmluU3F1aW50VGVhcnMsXG4gIGZhRHVtYmJlbGw6IGZhRHVtYmJlbGwsXG4gIGZhUmVjdGFuZ2xlTGlzdDogZmFSZWN0YW5nbGVMaXN0LFxuICBmYUxpc3RBbHQ6IGZhTGlzdEFsdCxcbiAgZmFUYXJwRHJvcGxldDogZmFUYXJwRHJvcGxldCxcbiAgZmFIb3VzZU1lZGljYWxDaXJjbGVDaGVjazogZmFIb3VzZU1lZGljYWxDaXJjbGVDaGVjayxcbiAgZmFQZXJzb25Ta2lpbmdOb3JkaWM6IGZhUGVyc29uU2tpaW5nTm9yZGljLFxuICBmYVNraWluZ05vcmRpYzogZmFTa2lpbmdOb3JkaWMsXG4gIGZhQ2FsZW5kYXJQbHVzOiBmYUNhbGVuZGFyUGx1cyxcbiAgZmFQbGFuZUFycml2YWw6IGZhUGxhbmVBcnJpdmFsLFxuICBmYUNpcmNsZUxlZnQ6IGZhQ2lyY2xlTGVmdCxcbiAgZmFBcnJvd0FsdENpcmNsZUxlZnQ6IGZhQXJyb3dBbHRDaXJjbGVMZWZ0LFxuICBmYVRyYWluU3Vid2F5OiBmYVRyYWluU3Vid2F5LFxuICBmYVN1YndheTogZmFTdWJ3YXksXG4gIGZhQ2hhcnRHYW50dDogZmFDaGFydEdhbnR0LFxuICBmYUluZGlhblJ1cGVlU2lnbjogZmFJbmRpYW5SdXBlZVNpZ24sXG4gIGZhSW5kaWFuUnVwZWU6IGZhSW5kaWFuUnVwZWUsXG4gIGZhSW5yOiBmYUlucixcbiAgZmFDcm9wU2ltcGxlOiBmYUNyb3BTaW1wbGUsXG4gIGZhQ3JvcEFsdDogZmFDcm9wQWx0LFxuICBmYU1vbmV5QmlsbDE6IGZhTW9uZXlCaWxsMSxcbiAgZmFNb25leUJpbGxBbHQ6IGZhTW9uZXlCaWxsQWx0LFxuICBmYUxlZnRMb25nOiBmYUxlZnRMb25nLFxuICBmYUxvbmdBcnJvd0FsdExlZnQ6IGZhTG9uZ0Fycm93QWx0TGVmdCxcbiAgZmFEbmE6IGZhRG5hLFxuICBmYVZpcnVzU2xhc2g6IGZhVmlydXNTbGFzaCxcbiAgZmFNaW51czogZmFNaW51cyxcbiAgZmFTdWJ0cmFjdDogZmFTdWJ0cmFjdCxcbiAgZmFDaGVzczogZmFDaGVzcyxcbiAgZmFBcnJvd0xlZnRMb25nOiBmYUFycm93TGVmdExvbmcsXG4gIGZhTG9uZ0Fycm93TGVmdDogZmFMb25nQXJyb3dMZWZ0LFxuICBmYVBsdWdDaXJjbGVDaGVjazogZmFQbHVnQ2lyY2xlQ2hlY2ssXG4gIGZhU3RyZWV0VmlldzogZmFTdHJlZXRWaWV3LFxuICBmYUZyYW5jU2lnbjogZmFGcmFuY1NpZ24sXG4gIGZhVm9sdW1lT2ZmOiBmYVZvbHVtZU9mZixcbiAgZmFIYW5kc0FzbEludGVycHJldGluZzogZmFIYW5kc0FzbEludGVycHJldGluZyxcbiAgZmFBbWVyaWNhblNpZ25MYW5ndWFnZUludGVycHJldGluZzogZmFBbWVyaWNhblNpZ25MYW5ndWFnZUludGVycHJldGluZyxcbiAgZmFBc2xJbnRlcnByZXRpbmc6IGZhQXNsSW50ZXJwcmV0aW5nLFxuICBmYUhhbmRzQW1lcmljYW5TaWduTGFuZ3VhZ2VJbnRlcnByZXRpbmc6IGZhSGFuZHNBbWVyaWNhblNpZ25MYW5ndWFnZUludGVycHJldGluZyxcbiAgZmFHZWFyOiBmYUdlYXIsXG4gIGZhQ29nOiBmYUNvZyxcbiAgZmFEcm9wbGV0U2xhc2g6IGZhRHJvcGxldFNsYXNoLFxuICBmYVRpbnRTbGFzaDogZmFUaW50U2xhc2gsXG4gIGZhTW9zcXVlOiBmYU1vc3F1ZSxcbiAgZmFNb3NxdWl0bzogZmFNb3NxdWl0byxcbiAgZmFTdGFyT2ZEYXZpZDogZmFTdGFyT2ZEYXZpZCxcbiAgZmFQZXJzb25NaWxpdGFyeVJpZmxlOiBmYVBlcnNvbk1pbGl0YXJ5UmlmbGUsXG4gIGZhQ2FydFNob3BwaW5nOiBmYUNhcnRTaG9wcGluZyxcbiAgZmFTaG9wcGluZ0NhcnQ6IGZhU2hvcHBpbmdDYXJ0LFxuICBmYVZpYWxzOiBmYVZpYWxzLFxuICBmYVBsdWdDaXJjbGVQbHVzOiBmYVBsdWdDaXJjbGVQbHVzLFxuICBmYVBsYWNlT2ZXb3JzaGlwOiBmYVBsYWNlT2ZXb3JzaGlwLFxuICBmYUdyaXBWZXJ0aWNhbDogZmFHcmlwVmVydGljYWwsXG4gIGZhQXJyb3dUdXJuVXA6IGZhQXJyb3dUdXJuVXAsXG4gIGZhTGV2ZWxVcDogZmFMZXZlbFVwLFxuICBmYVU6IGZhVSxcbiAgZmFTcXVhcmVSb290VmFyaWFibGU6IGZhU3F1YXJlUm9vdFZhcmlhYmxlLFxuICBmYVNxdWFyZVJvb3RBbHQ6IGZhU3F1YXJlUm9vdEFsdCxcbiAgZmFDbG9jazogZmFDbG9jayxcbiAgZmFDbG9ja0ZvdXI6IGZhQ2xvY2tGb3VyLFxuICBmYUJhY2t3YXJkU3RlcDogZmFCYWNrd2FyZFN0ZXAsXG4gIGZhU3RlcEJhY2t3YXJkOiBmYVN0ZXBCYWNrd2FyZCxcbiAgZmFQYWxsZXQ6IGZhUGFsbGV0LFxuICBmYUZhdWNldDogZmFGYXVjZXQsXG4gIGZhQmFzZWJhbGxCYXRCYWxsOiBmYUJhc2ViYWxsQmF0QmFsbCxcbiAgZmFTOiBmYVMsXG4gIGZhVGltZWxpbmU6IGZhVGltZWxpbmUsXG4gIGZhS2V5Ym9hcmQ6IGZhS2V5Ym9hcmQsXG4gIGZhQ2FyZXREb3duOiBmYUNhcmV0RG93bixcbiAgZmFIb3VzZUNoaW1uZXlNZWRpY2FsOiBmYUhvdXNlQ2hpbW5leU1lZGljYWwsXG4gIGZhQ2xpbmljTWVkaWNhbDogZmFDbGluaWNNZWRpY2FsLFxuICBmYVRlbXBlcmF0dXJlVGhyZWVRdWFydGVyczogZmFUZW1wZXJhdHVyZVRocmVlUXVhcnRlcnMsXG4gIGZhVGVtcGVyYXR1cmUzOiBmYVRlbXBlcmF0dXJlMyxcbiAgZmFUaGVybW9tZXRlcjM6IGZhVGhlcm1vbWV0ZXIzLFxuICBmYVRoZXJtb21ldGVyVGhyZWVRdWFydGVyczogZmFUaGVybW9tZXRlclRocmVlUXVhcnRlcnMsXG4gIGZhTW9iaWxlU2NyZWVuOiBmYU1vYmlsZVNjcmVlbixcbiAgZmFNb2JpbGVBbmRyb2lkQWx0OiBmYU1vYmlsZUFuZHJvaWRBbHQsXG4gIGZhUGxhbmVVcDogZmFQbGFuZVVwLFxuICBmYVBpZ2d5QmFuazogZmFQaWdneUJhbmssXG4gIGZhQmF0dGVyeUhhbGY6IGZhQmF0dGVyeUhhbGYsXG4gIGZhQmF0dGVyeTM6IGZhQmF0dGVyeTMsXG4gIGZhTW91bnRhaW5DaXR5OiBmYU1vdW50YWluQ2l0eSxcbiAgZmFDb2luczogZmFDb2lucyxcbiAgZmFLaGFuZGE6IGZhS2hhbmRhLFxuICBmYVNsaWRlcnM6IGZhU2xpZGVycyxcbiAgZmFTbGlkZXJzSDogZmFTbGlkZXJzSCxcbiAgZmFGb2xkZXJUcmVlOiBmYUZvbGRlclRyZWUsXG4gIGZhTmV0d29ya1dpcmVkOiBmYU5ldHdvcmtXaXJlZCxcbiAgZmFNYXBQaW46IGZhTWFwUGluLFxuICBmYUhhbXNhOiBmYUhhbXNhLFxuICBmYUNlbnRTaWduOiBmYUNlbnRTaWduLFxuICBmYUZsYXNrOiBmYUZsYXNrLFxuICBmYVBlcnNvblByZWduYW50OiBmYVBlcnNvblByZWduYW50LFxuICBmYVdhbmRTcGFya2xlczogZmFXYW5kU3BhcmtsZXMsXG4gIGZhRWxsaXBzaXNWZXJ0aWNhbDogZmFFbGxpcHNpc1ZlcnRpY2FsLFxuICBmYUVsbGlwc2lzVjogZmFFbGxpcHNpc1YsXG4gIGZhVGlja2V0OiBmYVRpY2tldCxcbiAgZmFQb3dlck9mZjogZmFQb3dlck9mZixcbiAgZmFSaWdodExvbmc6IGZhUmlnaHRMb25nLFxuICBmYUxvbmdBcnJvd0FsdFJpZ2h0OiBmYUxvbmdBcnJvd0FsdFJpZ2h0LFxuICBmYUZsYWdVc2E6IGZhRmxhZ1VzYSxcbiAgZmFMYXB0b3BGaWxlOiBmYUxhcHRvcEZpbGUsXG4gIGZhVHR5OiBmYVR0eSxcbiAgZmFUZWxldHlwZTogZmFUZWxldHlwZSxcbiAgZmFEaWFncmFtTmV4dDogZmFEaWFncmFtTmV4dCxcbiAgZmFQZXJzb25SaWZsZTogZmFQZXJzb25SaWZsZSxcbiAgZmFIb3VzZU1lZGljYWxDaXJjbGVFeGNsYW1hdGlvbjogZmFIb3VzZU1lZGljYWxDaXJjbGVFeGNsYW1hdGlvbixcbiAgZmFDbG9zZWRDYXB0aW9uaW5nOiBmYUNsb3NlZENhcHRpb25pbmcsXG4gIGZhUGVyc29uSGlraW5nOiBmYVBlcnNvbkhpa2luZyxcbiAgZmFIaWtpbmc6IGZhSGlraW5nLFxuICBmYVZlbnVzRG91YmxlOiBmYVZlbnVzRG91YmxlLFxuICBmYUltYWdlczogZmFJbWFnZXMsXG4gIGZhQ2FsY3VsYXRvcjogZmFDYWxjdWxhdG9yLFxuICBmYVBlb3BsZVB1bGxpbmc6IGZhUGVvcGxlUHVsbGluZyxcbiAgZmFOOiBmYU4sXG4gIGZhQ2FibGVDYXI6IGZhQ2FibGVDYXIsXG4gIGZhVHJhbTogZmFUcmFtLFxuICBmYUNsb3VkUmFpbjogZmFDbG91ZFJhaW4sXG4gIGZhQnVpbGRpbmdDaXJjbGVYbWFyazogZmFCdWlsZGluZ0NpcmNsZVhtYXJrLFxuICBmYVNoaXA6IGZhU2hpcCxcbiAgZmFBcnJvd3NEb3duVG9MaW5lOiBmYUFycm93c0Rvd25Ub0xpbmUsXG4gIGZhRG93bmxvYWQ6IGZhRG93bmxvYWQsXG4gIGZhRmFjZUdyaW46IGZhRmFjZUdyaW4sXG4gIGZhR3JpbjogZmFHcmluLFxuICBmYURlbGV0ZUxlZnQ6IGZhRGVsZXRlTGVmdCxcbiAgZmFCYWNrc3BhY2U6IGZhQmFja3NwYWNlLFxuICBmYUV5ZURyb3BwZXI6IGZhRXllRHJvcHBlcixcbiAgZmFFeWVEcm9wcGVyRW1wdHk6IGZhRXllRHJvcHBlckVtcHR5LFxuICBmYUV5ZWRyb3BwZXI6IGZhRXllZHJvcHBlcixcbiAgZmFGaWxlQ2lyY2xlQ2hlY2s6IGZhRmlsZUNpcmNsZUNoZWNrLFxuICBmYUZvcndhcmQ6IGZhRm9yd2FyZCxcbiAgZmFNb2JpbGU6IGZhTW9iaWxlLFxuICBmYU1vYmlsZUFuZHJvaWQ6IGZhTW9iaWxlQW5kcm9pZCxcbiAgZmFNb2JpbGVQaG9uZTogZmFNb2JpbGVQaG9uZSxcbiAgZmFGYWNlTWVoOiBmYUZhY2VNZWgsXG4gIGZhTWVoOiBmYU1laCxcbiAgZmFBbGlnbkNlbnRlcjogZmFBbGlnbkNlbnRlcixcbiAgZmFCb29rU2t1bGw6IGZhQm9va1NrdWxsLFxuICBmYUJvb2tEZWFkOiBmYUJvb2tEZWFkLFxuICBmYUlkQ2FyZDogZmFJZENhcmQsXG4gIGZhRHJpdmVyc0xpY2Vuc2U6IGZhRHJpdmVyc0xpY2Vuc2UsXG4gIGZhT3V0ZGVudDogZmFPdXRkZW50LFxuICBmYURlZGVudDogZmFEZWRlbnQsXG4gIGZhSGVhcnRDaXJjbGVFeGNsYW1hdGlvbjogZmFIZWFydENpcmNsZUV4Y2xhbWF0aW9uLFxuICBmYUhvdXNlOiBmYUhvdXNlLFxuICBmYUhvbWU6IGZhSG9tZSxcbiAgZmFIb21lQWx0OiBmYUhvbWVBbHQsXG4gIGZhSG9tZUxnQWx0OiBmYUhvbWVMZ0FsdCxcbiAgZmFDYWxlbmRhcldlZWs6IGZhQ2FsZW5kYXJXZWVrLFxuICBmYUxhcHRvcE1lZGljYWw6IGZhTGFwdG9wTWVkaWNhbCxcbiAgZmFCOiBmYUIsXG4gIGZhRmlsZU1lZGljYWw6IGZhRmlsZU1lZGljYWwsXG4gIGZhRGljZU9uZTogZmFEaWNlT25lLFxuICBmYUtpd2lCaXJkOiBmYUtpd2lCaXJkLFxuICBmYUFycm93UmlnaHRBcnJvd0xlZnQ6IGZhQXJyb3dSaWdodEFycm93TGVmdCxcbiAgZmFFeGNoYW5nZTogZmFFeGNoYW5nZSxcbiAgZmFSb3RhdGVSaWdodDogZmFSb3RhdGVSaWdodCxcbiAgZmFSZWRvQWx0OiBmYVJlZG9BbHQsXG4gIGZhUm90YXRlRm9yd2FyZDogZmFSb3RhdGVGb3J3YXJkLFxuICBmYVV0ZW5zaWxzOiBmYVV0ZW5zaWxzLFxuICBmYUN1dGxlcnk6IGZhQ3V0bGVyeSxcbiAgZmFBcnJvd1VwV2lkZVNob3J0OiBmYUFycm93VXBXaWRlU2hvcnQsXG4gIGZhU29ydEFtb3VudFVwOiBmYVNvcnRBbW91bnRVcCxcbiAgZmFNaWxsU2lnbjogZmFNaWxsU2lnbixcbiAgZmFCb3dsUmljZTogZmFCb3dsUmljZSxcbiAgZmFTa3VsbDogZmFTa3VsbCxcbiAgZmFUb3dlckJyb2FkY2FzdDogZmFUb3dlckJyb2FkY2FzdCxcbiAgZmFCcm9hZGNhc3RUb3dlcjogZmFCcm9hZGNhc3RUb3dlcixcbiAgZmFUcnVja1BpY2t1cDogZmFUcnVja1BpY2t1cCxcbiAgZmFVcExvbmc6IGZhVXBMb25nLFxuICBmYUxvbmdBcnJvd0FsdFVwOiBmYUxvbmdBcnJvd0FsdFVwLFxuICBmYVN0b3A6IGZhU3RvcCxcbiAgZmFDb2RlTWVyZ2U6IGZhQ29kZU1lcmdlLFxuICBmYVVwbG9hZDogZmFVcGxvYWQsXG4gIGZhSHVycmljYW5lOiBmYUh1cnJpY2FuZSxcbiAgZmFNb3VuZDogZmFNb3VuZCxcbiAgZmFUb2lsZXRQb3J0YWJsZTogZmFUb2lsZXRQb3J0YWJsZSxcbiAgZmFDb21wYWN0RGlzYzogZmFDb21wYWN0RGlzYyxcbiAgZmFGaWxlQXJyb3dEb3duOiBmYUZpbGVBcnJvd0Rvd24sXG4gIGZhRmlsZURvd25sb2FkOiBmYUZpbGVEb3dubG9hZCxcbiAgZmFDYXJhdmFuOiBmYUNhcmF2YW4sXG4gIGZhU2hpZWxkQ2F0OiBmYVNoaWVsZENhdCxcbiAgZmFCb2x0OiBmYUJvbHQsXG4gIGZhWmFwOiBmYVphcCxcbiAgZmFHbGFzc1dhdGVyOiBmYUdsYXNzV2F0ZXIsXG4gIGZhT2lsV2VsbDogZmFPaWxXZWxsLFxuICBmYVZhdWx0OiBmYVZhdWx0LFxuICBmYU1hcnM6IGZhTWFycyxcbiAgZmFUb2lsZXQ6IGZhVG9pbGV0LFxuICBmYVBsYW5lQ2lyY2xlWG1hcms6IGZhUGxhbmVDaXJjbGVYbWFyayxcbiAgZmFZZW5TaWduOiBmYVllblNpZ24sXG4gIGZhQ255OiBmYUNueSxcbiAgZmFKcHk6IGZhSnB5LFxuICBmYVJtYjogZmFSbWIsXG4gIGZhWWVuOiBmYVllbixcbiAgZmFSdWJsZVNpZ246IGZhUnVibGVTaWduLFxuICBmYVJvdWJsZTogZmFSb3VibGUsXG4gIGZhUnViOiBmYVJ1YixcbiAgZmFSdWJsZTogZmFSdWJsZSxcbiAgZmFTdW46IGZhU3VuLFxuICBmYUd1aXRhcjogZmFHdWl0YXIsXG4gIGZhRmFjZUxhdWdoV2luazogZmFGYWNlTGF1Z2hXaW5rLFxuICBmYUxhdWdoV2luazogZmFMYXVnaFdpbmssXG4gIGZhSG9yc2VIZWFkOiBmYUhvcnNlSGVhZCxcbiAgZmFCb3JlSG9sZTogZmFCb3JlSG9sZSxcbiAgZmFJbmR1c3RyeTogZmFJbmR1c3RyeSxcbiAgZmFDaXJjbGVEb3duOiBmYUNpcmNsZURvd24sXG4gIGZhQXJyb3dBbHRDaXJjbGVEb3duOiBmYUFycm93QWx0Q2lyY2xlRG93bixcbiAgZmFBcnJvd3NUdXJuVG9Eb3RzOiBmYUFycm93c1R1cm5Ub0RvdHMsXG4gIGZhRmxvcmluU2lnbjogZmFGbG9yaW5TaWduLFxuICBmYUFycm93RG93blNob3J0V2lkZTogZmFBcnJvd0Rvd25TaG9ydFdpZGUsXG4gIGZhU29ydEFtb3VudERlc2M6IGZhU29ydEFtb3VudERlc2MsXG4gIGZhU29ydEFtb3VudERvd25BbHQ6IGZhU29ydEFtb3VudERvd25BbHQsXG4gIGZhTGVzc1RoYW46IGZhTGVzc1RoYW4sXG4gIGZhQW5nbGVEb3duOiBmYUFuZ2xlRG93bixcbiAgZmFDYXJUdW5uZWw6IGZhQ2FyVHVubmVsLFxuICBmYUhlYWRTaWRlQ291Z2g6IGZhSGVhZFNpZGVDb3VnaCxcbiAgZmFHcmlwTGluZXM6IGZhR3JpcExpbmVzLFxuICBmYVRodW1ic0Rvd246IGZhVGh1bWJzRG93bixcbiAgZmFVc2VyTG9jazogZmFVc2VyTG9jayxcbiAgZmFBcnJvd1JpZ2h0TG9uZzogZmFBcnJvd1JpZ2h0TG9uZyxcbiAgZmFMb25nQXJyb3dSaWdodDogZmFMb25nQXJyb3dSaWdodCxcbiAgZmFBbmNob3JDaXJjbGVYbWFyazogZmFBbmNob3JDaXJjbGVYbWFyayxcbiAgZmFFbGxpcHNpczogZmFFbGxpcHNpcyxcbiAgZmFFbGxpcHNpc0g6IGZhRWxsaXBzaXNILFxuICBmYUNoZXNzUGF3bjogZmFDaGVzc1Bhd24sXG4gIGZhS2l0TWVkaWNhbDogZmFLaXRNZWRpY2FsLFxuICBmYUZpcnN0QWlkOiBmYUZpcnN0QWlkLFxuICBmYVBlcnNvblRocm91Z2hXaW5kb3c6IGZhUGVyc29uVGhyb3VnaFdpbmRvdyxcbiAgZmFUb29sYm94OiBmYVRvb2xib3gsXG4gIGZhSGFuZHNIb2xkaW5nQ2lyY2xlOiBmYUhhbmRzSG9sZGluZ0NpcmNsZSxcbiAgZmFCdWc6IGZhQnVnLFxuICBmYUNyZWRpdENhcmQ6IGZhQ3JlZGl0Q2FyZCxcbiAgZmFDcmVkaXRDYXJkQWx0OiBmYUNyZWRpdENhcmRBbHQsXG4gIGZhQ2FyOiBmYUNhcixcbiAgZmFBdXRvbW9iaWxlOiBmYUF1dG9tb2JpbGUsXG4gIGZhSGFuZEhvbGRpbmdIYW5kOiBmYUhhbmRIb2xkaW5nSGFuZCxcbiAgZmFCb29rT3BlblJlYWRlcjogZmFCb29rT3BlblJlYWRlcixcbiAgZmFCb29rUmVhZGVyOiBmYUJvb2tSZWFkZXIsXG4gIGZhTW91bnRhaW5TdW46IGZhTW91bnRhaW5TdW4sXG4gIGZhQXJyb3dzTGVmdFJpZ2h0VG9MaW5lOiBmYUFycm93c0xlZnRSaWdodFRvTGluZSxcbiAgZmFEaWNlRDIwOiBmYURpY2VEMjAsXG4gIGZhVHJ1Y2tEcm9wbGV0OiBmYVRydWNrRHJvcGxldCxcbiAgZmFGaWxlQ2lyY2xlWG1hcms6IGZhRmlsZUNpcmNsZVhtYXJrLFxuICBmYVRlbXBlcmF0dXJlQXJyb3dVcDogZmFUZW1wZXJhdHVyZUFycm93VXAsXG4gIGZhVGVtcGVyYXR1cmVVcDogZmFUZW1wZXJhdHVyZVVwLFxuICBmYU1lZGFsOiBmYU1lZGFsLFxuICBmYUJlZDogZmFCZWQsXG4gIGZhU3F1YXJlSDogZmFTcXVhcmVILFxuICBmYUhTcXVhcmU6IGZhSFNxdWFyZSxcbiAgZmFQb2RjYXN0OiBmYVBvZGNhc3QsXG4gIGZhVGVtcGVyYXR1cmVGdWxsOiBmYVRlbXBlcmF0dXJlRnVsbCxcbiAgZmFUZW1wZXJhdHVyZTQ6IGZhVGVtcGVyYXR1cmU0LFxuICBmYVRoZXJtb21ldGVyNDogZmFUaGVybW9tZXRlcjQsXG4gIGZhVGhlcm1vbWV0ZXJGdWxsOiBmYVRoZXJtb21ldGVyRnVsbCxcbiAgZmFCZWxsOiBmYUJlbGwsXG4gIGZhU3VwZXJzY3JpcHQ6IGZhU3VwZXJzY3JpcHQsXG4gIGZhUGx1Z0NpcmNsZVhtYXJrOiBmYVBsdWdDaXJjbGVYbWFyayxcbiAgZmFTdGFyT2ZMaWZlOiBmYVN0YXJPZkxpZmUsXG4gIGZhUGhvbmVTbGFzaDogZmFQaG9uZVNsYXNoLFxuICBmYVBhaW50Um9sbGVyOiBmYVBhaW50Um9sbGVyLFxuICBmYUhhbmRzaGFrZUFuZ2xlOiBmYUhhbmRzaGFrZUFuZ2xlLFxuICBmYUhhbmRzSGVscGluZzogZmFIYW5kc0hlbHBpbmcsXG4gIGZhTG9jYXRpb25Eb3Q6IGZhTG9jYXRpb25Eb3QsXG4gIGZhTWFwTWFya2VyQWx0OiBmYU1hcE1hcmtlckFsdCxcbiAgZmFGaWxlOiBmYUZpbGUsXG4gIGZhR3JlYXRlclRoYW46IGZhR3JlYXRlclRoYW4sXG4gIGZhUGVyc29uU3dpbW1pbmc6IGZhUGVyc29uU3dpbW1pbmcsXG4gIGZhU3dpbW1lcjogZmFTd2ltbWVyLFxuICBmYUFycm93RG93bjogZmFBcnJvd0Rvd24sXG4gIGZhRHJvcGxldDogZmFEcm9wbGV0LFxuICBmYVRpbnQ6IGZhVGludCxcbiAgZmFFcmFzZXI6IGZhRXJhc2VyLFxuICBmYUVhcnRoQW1lcmljYXM6IGZhRWFydGhBbWVyaWNhcyxcbiAgZmFFYXJ0aDogZmFFYXJ0aCxcbiAgZmFFYXJ0aEFtZXJpY2E6IGZhRWFydGhBbWVyaWNhLFxuICBmYUdsb2JlQW1lcmljYXM6IGZhR2xvYmVBbWVyaWNhcyxcbiAgZmFQZXJzb25CdXJzdDogZmFQZXJzb25CdXJzdCxcbiAgZmFEb3ZlOiBmYURvdmUsXG4gIGZhQmF0dGVyeUVtcHR5OiBmYUJhdHRlcnlFbXB0eSxcbiAgZmFCYXR0ZXJ5MDogZmFCYXR0ZXJ5MCxcbiAgZmFTb2NrczogZmFTb2NrcyxcbiAgZmFJbmJveDogZmFJbmJveCxcbiAgZmFTZWN0aW9uOiBmYVNlY3Rpb24sXG4gIGZhR2F1Z2VIaWdoOiBmYUdhdWdlSGlnaCxcbiAgZmFUYWNob21ldGVyQWx0OiBmYVRhY2hvbWV0ZXJBbHQsXG4gIGZhVGFjaG9tZXRlckFsdEZhc3Q6IGZhVGFjaG9tZXRlckFsdEZhc3QsXG4gIGZhRW52ZWxvcGVPcGVuVGV4dDogZmFFbnZlbG9wZU9wZW5UZXh0LFxuICBmYUhvc3BpdGFsOiBmYUhvc3BpdGFsLFxuICBmYUhvc3BpdGFsQWx0OiBmYUhvc3BpdGFsQWx0LFxuICBmYUhvc3BpdGFsV2lkZTogZmFIb3NwaXRhbFdpZGUsXG4gIGZhV2luZUJvdHRsZTogZmFXaW5lQm90dGxlLFxuICBmYUNoZXNzUm9vazogZmFDaGVzc1Jvb2ssXG4gIGZhQmFyc1N0YWdnZXJlZDogZmFCYXJzU3RhZ2dlcmVkLFxuICBmYVJlb3JkZXI6IGZhUmVvcmRlcixcbiAgZmFTdHJlYW06IGZhU3RyZWFtLFxuICBmYURoYXJtYWNoYWtyYTogZmFEaGFybWFjaGFrcmEsXG4gIGZhSG90ZG9nOiBmYUhvdGRvZyxcbiAgZmFQZXJzb25XYWxraW5nV2l0aENhbmU6IGZhUGVyc29uV2Fsa2luZ1dpdGhDYW5lLFxuICBmYUJsaW5kOiBmYUJsaW5kLFxuICBmYURydW06IGZhRHJ1bSxcbiAgZmFJY2VDcmVhbTogZmFJY2VDcmVhbSxcbiAgZmFIZWFydENpcmNsZUJvbHQ6IGZhSGVhcnRDaXJjbGVCb2x0LFxuICBmYUZheDogZmFGYXgsXG4gIGZhUGFyYWdyYXBoOiBmYVBhcmFncmFwaCxcbiAgZmFDaGVja1RvU2xvdDogZmFDaGVja1RvU2xvdCxcbiAgZmFWb3RlWWVhOiBmYVZvdGVZZWEsXG4gIGZhU3RhckhhbGY6IGZhU3RhckhhbGYsXG4gIGZhQm94ZXNTdGFja2VkOiBmYUJveGVzU3RhY2tlZCxcbiAgZmFCb3hlczogZmFCb3hlcyxcbiAgZmFCb3hlc0FsdDogZmFCb3hlc0FsdCxcbiAgZmFMaW5rOiBmYUxpbmssXG4gIGZhQ2hhaW46IGZhQ2hhaW4sXG4gIGZhRWFyTGlzdGVuOiBmYUVhckxpc3RlbixcbiAgZmFBc3Npc3RpdmVMaXN0ZW5pbmdTeXN0ZW1zOiBmYUFzc2lzdGl2ZUxpc3RlbmluZ1N5c3RlbXMsXG4gIGZhVHJlZUNpdHk6IGZhVHJlZUNpdHksXG4gIGZhUGxheTogZmFQbGF5LFxuICBmYUZvbnQ6IGZhRm9udCxcbiAgZmFUYWJsZUNlbGxzUm93TG9jazogZmFUYWJsZUNlbGxzUm93TG9jayxcbiAgZmFSdXBpYWhTaWduOiBmYVJ1cGlhaFNpZ24sXG4gIGZhTWFnbmlmeWluZ0dsYXNzOiBmYU1hZ25pZnlpbmdHbGFzcyxcbiAgZmFTZWFyY2g6IGZhU2VhcmNoLFxuICBmYVRhYmxlVGVubmlzUGFkZGxlQmFsbDogZmFUYWJsZVRlbm5pc1BhZGRsZUJhbGwsXG4gIGZhUGluZ1BvbmdQYWRkbGVCYWxsOiBmYVBpbmdQb25nUGFkZGxlQmFsbCxcbiAgZmFUYWJsZVRlbm5pczogZmFUYWJsZVRlbm5pcyxcbiAgZmFQZXJzb25Eb3RzRnJvbUxpbmU6IGZhUGVyc29uRG90c0Zyb21MaW5lLFxuICBmYURpYWdub3NlczogZmFEaWFnbm9zZXMsXG4gIGZhVHJhc2hDYW5BcnJvd1VwOiBmYVRyYXNoQ2FuQXJyb3dVcCxcbiAgZmFUcmFzaFJlc3RvcmVBbHQ6IGZhVHJhc2hSZXN0b3JlQWx0LFxuICBmYU5haXJhU2lnbjogZmFOYWlyYVNpZ24sXG4gIGZhQ2FydEFycm93RG93bjogZmFDYXJ0QXJyb3dEb3duLFxuICBmYVdhbGtpZVRhbGtpZTogZmFXYWxraWVUYWxraWUsXG4gIGZhRmlsZVBlbjogZmFGaWxlUGVuLFxuICBmYUZpbGVFZGl0OiBmYUZpbGVFZGl0LFxuICBmYVJlY2VpcHQ6IGZhUmVjZWlwdCxcbiAgZmFTcXVhcmVQZW46IGZhU3F1YXJlUGVuLFxuICBmYVBlblNxdWFyZTogZmFQZW5TcXVhcmUsXG4gIGZhUGVuY2lsU3F1YXJlOiBmYVBlbmNpbFNxdWFyZSxcbiAgZmFTdWl0Y2FzZVJvbGxpbmc6IGZhU3VpdGNhc2VSb2xsaW5nLFxuICBmYVBlcnNvbkNpcmNsZUV4Y2xhbWF0aW9uOiBmYVBlcnNvbkNpcmNsZUV4Y2xhbWF0aW9uLFxuICBmYUNoZXZyb25Eb3duOiBmYUNoZXZyb25Eb3duLFxuICBmYUJhdHRlcnlGdWxsOiBmYUJhdHRlcnlGdWxsLFxuICBmYUJhdHRlcnk6IGZhQmF0dGVyeSxcbiAgZmFCYXR0ZXJ5NTogZmFCYXR0ZXJ5NSxcbiAgZmFTa3VsbENyb3NzYm9uZXM6IGZhU2t1bGxDcm9zc2JvbmVzLFxuICBmYUNvZGVDb21wYXJlOiBmYUNvZGVDb21wYXJlLFxuICBmYUxpc3RVbDogZmFMaXN0VWwsXG4gIGZhTGlzdERvdHM6IGZhTGlzdERvdHMsXG4gIGZhU2Nob29sTG9jazogZmFTY2hvb2xMb2NrLFxuICBmYVRvd2VyQ2VsbDogZmFUb3dlckNlbGwsXG4gIGZhRG93bkxvbmc6IGZhRG93bkxvbmcsXG4gIGZhTG9uZ0Fycm93QWx0RG93bjogZmFMb25nQXJyb3dBbHREb3duLFxuICBmYVJhbmtpbmdTdGFyOiBmYVJhbmtpbmdTdGFyLFxuICBmYUNoZXNzS2luZzogZmFDaGVzc0tpbmcsXG4gIGZhUGVyc29uSGFyYXNzaW5nOiBmYVBlcnNvbkhhcmFzc2luZyxcbiAgZmFCcmF6aWxpYW5SZWFsU2lnbjogZmFCcmF6aWxpYW5SZWFsU2lnbixcbiAgZmFMYW5kbWFya0RvbWU6IGZhTGFuZG1hcmtEb21lLFxuICBmYUxhbmRtYXJrQWx0OiBmYUxhbmRtYXJrQWx0LFxuICBmYUFycm93VXA6IGZhQXJyb3dVcCxcbiAgZmFUdjogZmFUdixcbiAgZmFUZWxldmlzaW9uOiBmYVRlbGV2aXNpb24sXG4gIGZhVHZBbHQ6IGZhVHZBbHQsXG4gIGZhU2hyaW1wOiBmYVNocmltcCxcbiAgZmFMaXN0Q2hlY2s6IGZhTGlzdENoZWNrLFxuICBmYVRhc2tzOiBmYVRhc2tzLFxuICBmYUp1Z0RldGVyZ2VudDogZmFKdWdEZXRlcmdlbnQsXG4gIGZhQ2lyY2xlVXNlcjogZmFDaXJjbGVVc2VyLFxuICBmYVVzZXJDaXJjbGU6IGZhVXNlckNpcmNsZSxcbiAgZmFVc2VyU2hpZWxkOiBmYVVzZXJTaGllbGQsXG4gIGZhV2luZDogZmFXaW5kLFxuICBmYUNhckJ1cnN0OiBmYUNhckJ1cnN0LFxuICBmYUNhckNyYXNoOiBmYUNhckNyYXNoLFxuICBmYVk6IGZhWSxcbiAgZmFQZXJzb25Tbm93Ym9hcmRpbmc6IGZhUGVyc29uU25vd2JvYXJkaW5nLFxuICBmYVNub3dib2FyZGluZzogZmFTbm93Ym9hcmRpbmcsXG4gIGZhVHJ1Y2tGYXN0OiBmYVRydWNrRmFzdCxcbiAgZmFTaGlwcGluZ0Zhc3Q6IGZhU2hpcHBpbmdGYXN0LFxuICBmYUZpc2g6IGZhRmlzaCxcbiAgZmFVc2VyR3JhZHVhdGU6IGZhVXNlckdyYWR1YXRlLFxuICBmYUNpcmNsZUhhbGZTdHJva2U6IGZhQ2lyY2xlSGFsZlN0cm9rZSxcbiAgZmFBZGp1c3Q6IGZhQWRqdXN0LFxuICBmYUNsYXBwZXJib2FyZDogZmFDbGFwcGVyYm9hcmQsXG4gIGZhQ2lyY2xlUmFkaWF0aW9uOiBmYUNpcmNsZVJhZGlhdGlvbixcbiAgZmFSYWRpYXRpb25BbHQ6IGZhUmFkaWF0aW9uQWx0LFxuICBmYUJhc2ViYWxsOiBmYUJhc2ViYWxsLFxuICBmYUJhc2ViYWxsQmFsbDogZmFCYXNlYmFsbEJhbGwsXG4gIGZhSmV0RmlnaHRlclVwOiBmYUpldEZpZ2h0ZXJVcCxcbiAgZmFEaWFncmFtUHJvamVjdDogZmFEaWFncmFtUHJvamVjdCxcbiAgZmFQcm9qZWN0RGlhZ3JhbTogZmFQcm9qZWN0RGlhZ3JhbSxcbiAgZmFDb3B5OiBmYUNvcHksXG4gIGZhVm9sdW1lWG1hcms6IGZhVm9sdW1lWG1hcmssXG4gIGZhVm9sdW1lTXV0ZTogZmFWb2x1bWVNdXRlLFxuICBmYVZvbHVtZVRpbWVzOiBmYVZvbHVtZVRpbWVzLFxuICBmYUhhbmRTcGFya2xlczogZmFIYW5kU3BhcmtsZXMsXG4gIGZhR3JpcDogZmFHcmlwLFxuICBmYUdyaXBIb3Jpem9udGFsOiBmYUdyaXBIb3Jpem9udGFsLFxuICBmYVNoYXJlRnJvbVNxdWFyZTogZmFTaGFyZUZyb21TcXVhcmUsXG4gIGZhU2hhcmVTcXVhcmU6IGZhU2hhcmVTcXVhcmUsXG4gIGZhQ2hpbGRDb21iYXRhbnQ6IGZhQ2hpbGRDb21iYXRhbnQsXG4gIGZhQ2hpbGRSaWZsZTogZmFDaGlsZFJpZmxlLFxuICBmYUd1bjogZmFHdW4sXG4gIGZhU3F1YXJlUGhvbmU6IGZhU3F1YXJlUGhvbmUsXG4gIGZhUGhvbmVTcXVhcmU6IGZhUGhvbmVTcXVhcmUsXG4gIGZhUGx1czogZmFQbHVzLFxuICBmYUFkZDogZmFBZGQsXG4gIGZhRXhwYW5kOiBmYUV4cGFuZCxcbiAgZmFDb21wdXRlcjogZmFDb21wdXRlcixcbiAgZmFYbWFyazogZmFYbWFyayxcbiAgZmFDbG9zZTogZmFDbG9zZSxcbiAgZmFNdWx0aXBseTogZmFNdWx0aXBseSxcbiAgZmFSZW1vdmU6IGZhUmVtb3ZlLFxuICBmYVRpbWVzOiBmYVRpbWVzLFxuICBmYUFycm93c1VwRG93bkxlZnRSaWdodDogZmFBcnJvd3NVcERvd25MZWZ0UmlnaHQsXG4gIGZhQXJyb3dzOiBmYUFycm93cyxcbiAgZmFDaGFsa2JvYXJkVXNlcjogZmFDaGFsa2JvYXJkVXNlcixcbiAgZmFDaGFsa2JvYXJkVGVhY2hlcjogZmFDaGFsa2JvYXJkVGVhY2hlcixcbiAgZmFQZXNvU2lnbjogZmFQZXNvU2lnbixcbiAgZmFCdWlsZGluZ1NoaWVsZDogZmFCdWlsZGluZ1NoaWVsZCxcbiAgZmFCYWJ5OiBmYUJhYnksXG4gIGZhVXNlcnNMaW5lOiBmYVVzZXJzTGluZSxcbiAgZmFRdW90ZUxlZnQ6IGZhUXVvdGVMZWZ0LFxuICBmYVF1b3RlTGVmdEFsdDogZmFRdW90ZUxlZnRBbHQsXG4gIGZhVHJhY3RvcjogZmFUcmFjdG9yLFxuICBmYVRyYXNoQXJyb3dVcDogZmFUcmFzaEFycm93VXAsXG4gIGZhVHJhc2hSZXN0b3JlOiBmYVRyYXNoUmVzdG9yZSxcbiAgZmFBcnJvd0Rvd25VcExvY2s6IGZhQXJyb3dEb3duVXBMb2NrLFxuICBmYUxpbmVzTGVhbmluZzogZmFMaW5lc0xlYW5pbmcsXG4gIGZhUnVsZXJDb21iaW5lZDogZmFSdWxlckNvbWJpbmVkLFxuICBmYUNvcHlyaWdodDogZmFDb3B5cmlnaHQsXG4gIGZhRXF1YWxzOiBmYUVxdWFscyxcbiAgZmFCbGVuZGVyOiBmYUJsZW5kZXIsXG4gIGZhVGVldGg6IGZhVGVldGgsXG4gIGZhU2hla2VsU2lnbjogZmFTaGVrZWxTaWduLFxuICBmYUlsczogZmFJbHMsXG4gIGZhU2hla2VsOiBmYVNoZWtlbCxcbiAgZmFTaGVxZWw6IGZhU2hlcWVsLFxuICBmYVNoZXFlbFNpZ246IGZhU2hlcWVsU2lnbixcbiAgZmFNYXA6IGZhTWFwLFxuICBmYVJvY2tldDogZmFSb2NrZXQsXG4gIGZhUGhvdG9GaWxtOiBmYVBob3RvRmlsbSxcbiAgZmFQaG90b1ZpZGVvOiBmYVBob3RvVmlkZW8sXG4gIGZhRm9sZGVyTWludXM6IGZhRm9sZGVyTWludXMsXG4gIGZhU3RvcmU6IGZhU3RvcmUsXG4gIGZhQXJyb3dUcmVuZFVwOiBmYUFycm93VHJlbmRVcCxcbiAgZmFQbHVnQ2lyY2xlTWludXM6IGZhUGx1Z0NpcmNsZU1pbnVzLFxuICBmYVNpZ25IYW5naW5nOiBmYVNpZ25IYW5naW5nLFxuICBmYVNpZ246IGZhU2lnbixcbiAgZmFCZXppZXJDdXJ2ZTogZmFCZXppZXJDdXJ2ZSxcbiAgZmFCZWxsU2xhc2g6IGZhQmVsbFNsYXNoLFxuICBmYVRhYmxldDogZmFUYWJsZXQsXG4gIGZhVGFibGV0QW5kcm9pZDogZmFUYWJsZXRBbmRyb2lkLFxuICBmYVNjaG9vbEZsYWc6IGZhU2Nob29sRmxhZyxcbiAgZmFGaWxsOiBmYUZpbGwsXG4gIGZhQW5nbGVVcDogZmFBbmdsZVVwLFxuICBmYURydW1zdGlja0JpdGU6IGZhRHJ1bXN0aWNrQml0ZSxcbiAgZmFIb2xseUJlcnJ5OiBmYUhvbGx5QmVycnksXG4gIGZhQ2hldnJvbkxlZnQ6IGZhQ2hldnJvbkxlZnQsXG4gIGZhQmFjdGVyaWE6IGZhQmFjdGVyaWEsXG4gIGZhSGFuZExpemFyZDogZmFIYW5kTGl6YXJkLFxuICBmYU5vdGRlZjogZmFOb3RkZWYsXG4gIGZhRGlzZWFzZTogZmFEaXNlYXNlLFxuICBmYUJyaWVmY2FzZU1lZGljYWw6IGZhQnJpZWZjYXNlTWVkaWNhbCxcbiAgZmFHZW5kZXJsZXNzOiBmYUdlbmRlcmxlc3MsXG4gIGZhQ2hldnJvblJpZ2h0OiBmYUNoZXZyb25SaWdodCxcbiAgZmFSZXR3ZWV0OiBmYVJldHdlZXQsXG4gIGZhQ2FyUmVhcjogZmFDYXJSZWFyLFxuICBmYUNhckFsdDogZmFDYXJBbHQsXG4gIGZhUHVtcFNvYXA6IGZhUHVtcFNvYXAsXG4gIGZhVmlkZW9TbGFzaDogZmFWaWRlb1NsYXNoLFxuICBmYUJhdHRlcnlRdWFydGVyOiBmYUJhdHRlcnlRdWFydGVyLFxuICBmYUJhdHRlcnkyOiBmYUJhdHRlcnkyLFxuICBmYVJhZGlvOiBmYVJhZGlvLFxuICBmYUJhYnlDYXJyaWFnZTogZmFCYWJ5Q2FycmlhZ2UsXG4gIGZhQ2FycmlhZ2VCYWJ5OiBmYUNhcnJpYWdlQmFieSxcbiAgZmFUcmFmZmljTGlnaHQ6IGZhVHJhZmZpY0xpZ2h0LFxuICBmYVRoZXJtb21ldGVyOiBmYVRoZXJtb21ldGVyLFxuICBmYVZyQ2FyZGJvYXJkOiBmYVZyQ2FyZGJvYXJkLFxuICBmYUhhbmRNaWRkbGVGaW5nZXI6IGZhSGFuZE1pZGRsZUZpbmdlcixcbiAgZmFQZXJjZW50OiBmYVBlcmNlbnQsXG4gIGZhUGVyY2VudGFnZTogZmFQZXJjZW50YWdlLFxuICBmYVRydWNrTW92aW5nOiBmYVRydWNrTW92aW5nLFxuICBmYUdsYXNzV2F0ZXJEcm9wbGV0OiBmYUdsYXNzV2F0ZXJEcm9wbGV0LFxuICBmYURpc3BsYXk6IGZhRGlzcGxheSxcbiAgZmFGYWNlU21pbGU6IGZhRmFjZVNtaWxlLFxuICBmYVNtaWxlOiBmYVNtaWxlLFxuICBmYVRodW1idGFjazogZmFUaHVtYnRhY2ssXG4gIGZhVGh1bWJUYWNrOiBmYVRodW1iVGFjayxcbiAgZmFUcm9waHk6IGZhVHJvcGh5LFxuICBmYVBlcnNvblByYXlpbmc6IGZhUGVyc29uUHJheWluZyxcbiAgZmFQcmF5OiBmYVByYXksXG4gIGZhSGFtbWVyOiBmYUhhbW1lcixcbiAgZmFIYW5kUGVhY2U6IGZhSGFuZFBlYWNlLFxuICBmYVJvdGF0ZTogZmFSb3RhdGUsXG4gIGZhU3luY0FsdDogZmFTeW5jQWx0LFxuICBmYVNwaW5uZXI6IGZhU3Bpbm5lcixcbiAgZmFSb2JvdDogZmFSb2JvdCxcbiAgZmFQZWFjZTogZmFQZWFjZSxcbiAgZmFHZWFyczogZmFHZWFycyxcbiAgZmFDb2dzOiBmYUNvZ3MsXG4gIGZhV2FyZWhvdXNlOiBmYVdhcmVob3VzZSxcbiAgZmFBcnJvd1VwUmlnaHREb3RzOiBmYUFycm93VXBSaWdodERvdHMsXG4gIGZhU3Bsb3RjaDogZmFTcGxvdGNoLFxuICBmYUZhY2VHcmluSGVhcnRzOiBmYUZhY2VHcmluSGVhcnRzLFxuICBmYUdyaW5IZWFydHM6IGZhR3JpbkhlYXJ0cyxcbiAgZmFEaWNlRm91cjogZmFEaWNlRm91cixcbiAgZmFTaW1DYXJkOiBmYVNpbUNhcmQsXG4gIGZhVHJhbnNnZW5kZXI6IGZhVHJhbnNnZW5kZXIsXG4gIGZhVHJhbnNnZW5kZXJBbHQ6IGZhVHJhbnNnZW5kZXJBbHQsXG4gIGZhTWVyY3VyeTogZmFNZXJjdXJ5LFxuICBmYUFycm93VHVybkRvd246IGZhQXJyb3dUdXJuRG93bixcbiAgZmFMZXZlbERvd246IGZhTGV2ZWxEb3duLFxuICBmYVBlcnNvbkZhbGxpbmdCdXJzdDogZmFQZXJzb25GYWxsaW5nQnVyc3QsXG4gIGZhQXdhcmQ6IGZhQXdhcmQsXG4gIGZhVGlja2V0U2ltcGxlOiBmYVRpY2tldFNpbXBsZSxcbiAgZmFUaWNrZXRBbHQ6IGZhVGlja2V0QWx0LFxuICBmYUJ1aWxkaW5nOiBmYUJ1aWxkaW5nLFxuICBmYUFuZ2xlc0xlZnQ6IGZhQW5nbGVzTGVmdCxcbiAgZmFBbmdsZURvdWJsZUxlZnQ6IGZhQW5nbGVEb3VibGVMZWZ0LFxuICBmYVFyY29kZTogZmFRcmNvZGUsXG4gIGZhQ2xvY2tSb3RhdGVMZWZ0OiBmYUNsb2NrUm90YXRlTGVmdCxcbiAgZmFIaXN0b3J5OiBmYUhpc3RvcnksXG4gIGZhRmFjZUdyaW5CZWFtU3dlYXQ6IGZhRmFjZUdyaW5CZWFtU3dlYXQsXG4gIGZhR3JpbkJlYW1Td2VhdDogZmFHcmluQmVhbVN3ZWF0LFxuICBmYUZpbGVFeHBvcnQ6IGZhRmlsZUV4cG9ydCxcbiAgZmFBcnJvd1JpZ2h0RnJvbUZpbGU6IGZhQXJyb3dSaWdodEZyb21GaWxlLFxuICBmYVNoaWVsZDogZmFTaGllbGQsXG4gIGZhU2hpZWxkQmxhbms6IGZhU2hpZWxkQmxhbmssXG4gIGZhQXJyb3dVcFNob3J0V2lkZTogZmFBcnJvd1VwU2hvcnRXaWRlLFxuICBmYVNvcnRBbW91bnRVcEFsdDogZmFTb3J0QW1vdW50VXBBbHQsXG4gIGZhSG91c2VNZWRpY2FsOiBmYUhvdXNlTWVkaWNhbCxcbiAgZmFHb2xmQmFsbFRlZTogZmFHb2xmQmFsbFRlZSxcbiAgZmFHb2xmQmFsbDogZmFHb2xmQmFsbCxcbiAgZmFDaXJjbGVDaGV2cm9uTGVmdDogZmFDaXJjbGVDaGV2cm9uTGVmdCxcbiAgZmFDaGV2cm9uQ2lyY2xlTGVmdDogZmFDaGV2cm9uQ2lyY2xlTGVmdCxcbiAgZmFIb3VzZUNoaW1uZXlXaW5kb3c6IGZhSG91c2VDaGltbmV5V2luZG93LFxuICBmYVBlbk5pYjogZmFQZW5OaWIsXG4gIGZhVGVudEFycm93VHVybkxlZnQ6IGZhVGVudEFycm93VHVybkxlZnQsXG4gIGZhVGVudHM6IGZhVGVudHMsXG4gIGZhV2FuZE1hZ2ljOiBmYVdhbmRNYWdpYyxcbiAgZmFNYWdpYzogZmFNYWdpYyxcbiAgZmFEb2c6IGZhRG9nLFxuICBmYUNhcnJvdDogZmFDYXJyb3QsXG4gIGZhTW9vbjogZmFNb29uLFxuICBmYVdpbmVHbGFzc0VtcHR5OiBmYVdpbmVHbGFzc0VtcHR5LFxuICBmYVdpbmVHbGFzc0FsdDogZmFXaW5lR2xhc3NBbHQsXG4gIGZhQ2hlZXNlOiBmYUNoZWVzZSxcbiAgZmFZaW5ZYW5nOiBmYVlpbllhbmcsXG4gIGZhTXVzaWM6IGZhTXVzaWMsXG4gIGZhQ29kZUNvbW1pdDogZmFDb2RlQ29tbWl0LFxuICBmYVRlbXBlcmF0dXJlTG93OiBmYVRlbXBlcmF0dXJlTG93LFxuICBmYVBlcnNvbkJpa2luZzogZmFQZXJzb25CaWtpbmcsXG4gIGZhQmlraW5nOiBmYUJpa2luZyxcbiAgZmFCcm9vbTogZmFCcm9vbSxcbiAgZmFTaGllbGRIZWFydDogZmFTaGllbGRIZWFydCxcbiAgZmFHb3B1cmFtOiBmYUdvcHVyYW0sXG4gIGZhRWFydGhPY2VhbmlhOiBmYUVhcnRoT2NlYW5pYSxcbiAgZmFHbG9iZU9jZWFuaWE6IGZhR2xvYmVPY2VhbmlhLFxuICBmYVNxdWFyZVhtYXJrOiBmYVNxdWFyZVhtYXJrLFxuICBmYVRpbWVzU3F1YXJlOiBmYVRpbWVzU3F1YXJlLFxuICBmYVhtYXJrU3F1YXJlOiBmYVhtYXJrU3F1YXJlLFxuICBmYUhhc2h0YWc6IGZhSGFzaHRhZyxcbiAgZmFVcFJpZ2h0QW5kRG93bkxlZnRGcm9tQ2VudGVyOiBmYVVwUmlnaHRBbmREb3duTGVmdEZyb21DZW50ZXIsXG4gIGZhRXhwYW5kQWx0OiBmYUV4cGFuZEFsdCxcbiAgZmFPaWxDYW46IGZhT2lsQ2FuLFxuICBmYVQ6IGZhVCxcbiAgZmFIaXBwbzogZmFIaXBwbyxcbiAgZmFDaGFydENvbHVtbjogZmFDaGFydENvbHVtbixcbiAgZmFJbmZpbml0eTogZmFJbmZpbml0eSxcbiAgZmFWaWFsQ2lyY2xlQ2hlY2s6IGZhVmlhbENpcmNsZUNoZWNrLFxuICBmYVBlcnNvbkFycm93RG93blRvTGluZTogZmFQZXJzb25BcnJvd0Rvd25Ub0xpbmUsXG4gIGZhVm9pY2VtYWlsOiBmYVZvaWNlbWFpbCxcbiAgZmFGYW46IGZhRmFuLFxuICBmYVBlcnNvbldhbGtpbmdMdWdnYWdlOiBmYVBlcnNvbldhbGtpbmdMdWdnYWdlLFxuICBmYVVwRG93bjogZmFVcERvd24sXG4gIGZhQXJyb3dzQWx0VjogZmFBcnJvd3NBbHRWLFxuICBmYUNsb3VkTW9vblJhaW46IGZhQ2xvdWRNb29uUmFpbixcbiAgZmFDYWxlbmRhcjogZmFDYWxlbmRhcixcbiAgZmFUcmFpbGVyOiBmYVRyYWlsZXIsXG4gIGZhQmFoYWk6IGZhQmFoYWksXG4gIGZhSGF5a2FsOiBmYUhheWthbCxcbiAgZmFTZENhcmQ6IGZhU2RDYXJkLFxuICBmYURyYWdvbjogZmFEcmFnb24sXG4gIGZhU2hvZVByaW50czogZmFTaG9lUHJpbnRzLFxuICBmYUNpcmNsZVBsdXM6IGZhQ2lyY2xlUGx1cyxcbiAgZmFQbHVzQ2lyY2xlOiBmYVBsdXNDaXJjbGUsXG4gIGZhRmFjZUdyaW5Ub25ndWVXaW5rOiBmYUZhY2VHcmluVG9uZ3VlV2luayxcbiAgZmFHcmluVG9uZ3VlV2luazogZmFHcmluVG9uZ3VlV2luayxcbiAgZmFIYW5kSG9sZGluZzogZmFIYW5kSG9sZGluZyxcbiAgZmFQbHVnQ2lyY2xlRXhjbGFtYXRpb246IGZhUGx1Z0NpcmNsZUV4Y2xhbWF0aW9uLFxuICBmYUxpbmtTbGFzaDogZmFMaW5rU2xhc2gsXG4gIGZhQ2hhaW5Ccm9rZW46IGZhQ2hhaW5Ccm9rZW4sXG4gIGZhQ2hhaW5TbGFzaDogZmFDaGFpblNsYXNoLFxuICBmYVVubGluazogZmFVbmxpbmssXG4gIGZhQ2xvbmU6IGZhQ2xvbmUsXG4gIGZhUGVyc29uV2Fsa2luZ0Fycm93TG9vcExlZnQ6IGZhUGVyc29uV2Fsa2luZ0Fycm93TG9vcExlZnQsXG4gIGZhQXJyb3dVcFpBOiBmYUFycm93VXBaQSxcbiAgZmFTb3J0QWxwaGFVcEFsdDogZmFTb3J0QWxwaGFVcEFsdCxcbiAgZmFGaXJlRmxhbWVDdXJ2ZWQ6IGZhRmlyZUZsYW1lQ3VydmVkLFxuICBmYUZpcmVBbHQ6IGZhRmlyZUFsdCxcbiAgZmFUb3JuYWRvOiBmYVRvcm5hZG8sXG4gIGZhRmlsZUNpcmNsZVBsdXM6IGZhRmlsZUNpcmNsZVBsdXMsXG4gIGZhQm9va1F1cmFuOiBmYUJvb2tRdXJhbixcbiAgZmFRdXJhbjogZmFRdXJhbixcbiAgZmFBbmNob3I6IGZhQW5jaG9yLFxuICBmYUJvcmRlckFsbDogZmFCb3JkZXJBbGwsXG4gIGZhRmFjZUFuZ3J5OiBmYUZhY2VBbmdyeSxcbiAgZmFBbmdyeTogZmFBbmdyeSxcbiAgZmFDb29raWVCaXRlOiBmYUNvb2tpZUJpdGUsXG4gIGZhQXJyb3dUcmVuZERvd246IGZhQXJyb3dUcmVuZERvd24sXG4gIGZhUnNzOiBmYVJzcyxcbiAgZmFGZWVkOiBmYUZlZWQsXG4gIGZhRHJhd1BvbHlnb246IGZhRHJhd1BvbHlnb24sXG4gIGZhU2NhbGVCYWxhbmNlZDogZmFTY2FsZUJhbGFuY2VkLFxuICBmYUJhbGFuY2VTY2FsZTogZmFCYWxhbmNlU2NhbGUsXG4gIGZhR2F1Z2VTaW1wbGVIaWdoOiBmYUdhdWdlU2ltcGxlSGlnaCxcbiAgZmFUYWNob21ldGVyOiBmYVRhY2hvbWV0ZXIsXG4gIGZhVGFjaG9tZXRlckZhc3Q6IGZhVGFjaG9tZXRlckZhc3QsXG4gIGZhU2hvd2VyOiBmYVNob3dlcixcbiAgZmFEZXNrdG9wOiBmYURlc2t0b3AsXG4gIGZhRGVza3RvcEFsdDogZmFEZXNrdG9wQWx0LFxuICBmYU06IGZhTSxcbiAgZmFUYWJsZUxpc3Q6IGZhVGFibGVMaXN0LFxuICBmYVRoTGlzdDogZmFUaExpc3QsXG4gIGZhQ29tbWVudFNtczogZmFDb21tZW50U21zLFxuICBmYVNtczogZmFTbXMsXG4gIGZhQm9vazogZmFCb29rLFxuICBmYVVzZXJQbHVzOiBmYVVzZXJQbHVzLFxuICBmYUNoZWNrOiBmYUNoZWNrLFxuICBmYUJhdHRlcnlUaHJlZVF1YXJ0ZXJzOiBmYUJhdHRlcnlUaHJlZVF1YXJ0ZXJzLFxuICBmYUJhdHRlcnk0OiBmYUJhdHRlcnk0LFxuICBmYUhvdXNlQ2lyY2xlQ2hlY2s6IGZhSG91c2VDaXJjbGVDaGVjayxcbiAgZmFBbmdsZUxlZnQ6IGZhQW5nbGVMZWZ0LFxuICBmYURpYWdyYW1TdWNjZXNzb3I6IGZhRGlhZ3JhbVN1Y2Nlc3NvcixcbiAgZmFUcnVja0Fycm93UmlnaHQ6IGZhVHJ1Y2tBcnJvd1JpZ2h0LFxuICBmYUFycm93c1NwbGl0VXBBbmRMZWZ0OiBmYUFycm93c1NwbGl0VXBBbmRMZWZ0LFxuICBmYUhhbmRGaXN0OiBmYUhhbmRGaXN0LFxuICBmYUZpc3RSYWlzZWQ6IGZhRmlzdFJhaXNlZCxcbiAgZmFDbG91ZE1vb246IGZhQ2xvdWRNb29uLFxuICBmYUJyaWVmY2FzZTogZmFCcmllZmNhc2UsXG4gIGZhUGVyc29uRmFsbGluZzogZmFQZXJzb25GYWxsaW5nLFxuICBmYUltYWdlUG9ydHJhaXQ6IGZhSW1hZ2VQb3J0cmFpdCxcbiAgZmFQb3J0cmFpdDogZmFQb3J0cmFpdCxcbiAgZmFVc2VyVGFnOiBmYVVzZXJUYWcsXG4gIGZhUnVnOiBmYVJ1ZyxcbiAgZmFFYXJ0aEV1cm9wZTogZmFFYXJ0aEV1cm9wZSxcbiAgZmFHbG9iZUV1cm9wZTogZmFHbG9iZUV1cm9wZSxcbiAgZmFDYXJ0RmxhdGJlZFN1aXRjYXNlOiBmYUNhcnRGbGF0YmVkU3VpdGNhc2UsXG4gIGZhTHVnZ2FnZUNhcnQ6IGZhTHVnZ2FnZUNhcnQsXG4gIGZhUmVjdGFuZ2xlWG1hcms6IGZhUmVjdGFuZ2xlWG1hcmssXG4gIGZhUmVjdGFuZ2xlVGltZXM6IGZhUmVjdGFuZ2xlVGltZXMsXG4gIGZhVGltZXNSZWN0YW5nbGU6IGZhVGltZXNSZWN0YW5nbGUsXG4gIGZhV2luZG93Q2xvc2U6IGZhV2luZG93Q2xvc2UsXG4gIGZhQmFodFNpZ246IGZhQmFodFNpZ24sXG4gIGZhQm9va09wZW46IGZhQm9va09wZW4sXG4gIGZhQm9va0pvdXJuYWxXaGlsbHM6IGZhQm9va0pvdXJuYWxXaGlsbHMsXG4gIGZhSm91cm5hbFdoaWxsczogZmFKb3VybmFsV2hpbGxzLFxuICBmYUhhbmRjdWZmczogZmFIYW5kY3VmZnMsXG4gIGZhVHJpYW5nbGVFeGNsYW1hdGlvbjogZmFUcmlhbmdsZUV4Y2xhbWF0aW9uLFxuICBmYUV4Y2xhbWF0aW9uVHJpYW5nbGU6IGZhRXhjbGFtYXRpb25UcmlhbmdsZSxcbiAgZmFXYXJuaW5nOiBmYVdhcm5pbmcsXG4gIGZhRGF0YWJhc2U6IGZhRGF0YWJhc2UsXG4gIGZhU2hhcmU6IGZhU2hhcmUsXG4gIGZhTWFpbEZvcndhcmQ6IGZhTWFpbEZvcndhcmQsXG4gIGZhQm90dGxlRHJvcGxldDogZmFCb3R0bGVEcm9wbGV0LFxuICBmYU1hc2tGYWNlOiBmYU1hc2tGYWNlLFxuICBmYUhpbGxSb2Nrc2xpZGU6IGZhSGlsbFJvY2tzbGlkZSxcbiAgZmFSaWdodExlZnQ6IGZhUmlnaHRMZWZ0LFxuICBmYUV4Y2hhbmdlQWx0OiBmYUV4Y2hhbmdlQWx0LFxuICBmYVBhcGVyUGxhbmU6IGZhUGFwZXJQbGFuZSxcbiAgZmFSb2FkQ2lyY2xlRXhjbGFtYXRpb246IGZhUm9hZENpcmNsZUV4Y2xhbWF0aW9uLFxuICBmYUR1bmdlb246IGZhRHVuZ2VvbixcbiAgZmFBbGlnblJpZ2h0OiBmYUFsaWduUmlnaHQsXG4gIGZhTW9uZXlCaWxsMVdhdmU6IGZhTW9uZXlCaWxsMVdhdmUsXG4gIGZhTW9uZXlCaWxsV2F2ZUFsdDogZmFNb25leUJpbGxXYXZlQWx0LFxuICBmYUxpZmVSaW5nOiBmYUxpZmVSaW5nLFxuICBmYUhhbmRzOiBmYUhhbmRzLFxuICBmYVNpZ25MYW5ndWFnZTogZmFTaWduTGFuZ3VhZ2UsXG4gIGZhU2lnbmluZzogZmFTaWduaW5nLFxuICBmYUNhbGVuZGFyRGF5OiBmYUNhbGVuZGFyRGF5LFxuICBmYVdhdGVyTGFkZGVyOiBmYVdhdGVyTGFkZGVyLFxuICBmYUxhZGRlcldhdGVyOiBmYUxhZGRlcldhdGVyLFxuICBmYVN3aW1taW5nUG9vbDogZmFTd2ltbWluZ1Bvb2wsXG4gIGZhQXJyb3dzVXBEb3duOiBmYUFycm93c1VwRG93bixcbiAgZmFBcnJvd3NWOiBmYUFycm93c1YsXG4gIGZhRmFjZUdyaW1hY2U6IGZhRmFjZUdyaW1hY2UsXG4gIGZhR3JpbWFjZTogZmFHcmltYWNlLFxuICBmYVdoZWVsY2hhaXJNb3ZlOiBmYVdoZWVsY2hhaXJNb3ZlLFxuICBmYVdoZWVsY2hhaXJBbHQ6IGZhV2hlZWxjaGFpckFsdCxcbiAgZmFUdXJuRG93bjogZmFUdXJuRG93bixcbiAgZmFMZXZlbERvd25BbHQ6IGZhTGV2ZWxEb3duQWx0LFxuICBmYVBlcnNvbldhbGtpbmdBcnJvd1JpZ2h0OiBmYVBlcnNvbldhbGtpbmdBcnJvd1JpZ2h0LFxuICBmYVNxdWFyZUVudmVsb3BlOiBmYVNxdWFyZUVudmVsb3BlLFxuICBmYUVudmVsb3BlU3F1YXJlOiBmYUVudmVsb3BlU3F1YXJlLFxuICBmYURpY2U6IGZhRGljZSxcbiAgZmFCb3dsaW5nQmFsbDogZmFCb3dsaW5nQmFsbCxcbiAgZmFCcmFpbjogZmFCcmFpbixcbiAgZmFCYW5kYWdlOiBmYUJhbmRhZ2UsXG4gIGZhQmFuZEFpZDogZmFCYW5kQWlkLFxuICBmYUNhbGVuZGFyTWludXM6IGZhQ2FsZW5kYXJNaW51cyxcbiAgZmFDaXJjbGVYbWFyazogZmFDaXJjbGVYbWFyayxcbiAgZmFUaW1lc0NpcmNsZTogZmFUaW1lc0NpcmNsZSxcbiAgZmFYbWFya0NpcmNsZTogZmFYbWFya0NpcmNsZSxcbiAgZmFHaWZ0czogZmFHaWZ0cyxcbiAgZmFIb3RlbDogZmFIb3RlbCxcbiAgZmFFYXJ0aEFzaWE6IGZhRWFydGhBc2lhLFxuICBmYUdsb2JlQXNpYTogZmFHbG9iZUFzaWEsXG4gIGZhSWRDYXJkQ2xpcDogZmFJZENhcmRDbGlwLFxuICBmYUlkQ2FyZEFsdDogZmFJZENhcmRBbHQsXG4gIGZhTWFnbmlmeWluZ0dsYXNzUGx1czogZmFNYWduaWZ5aW5nR2xhc3NQbHVzLFxuICBmYVNlYXJjaFBsdXM6IGZhU2VhcmNoUGx1cyxcbiAgZmFUaHVtYnNVcDogZmFUaHVtYnNVcCxcbiAgZmFVc2VyQ2xvY2s6IGZhVXNlckNsb2NrLFxuICBmYUhhbmREb3RzOiBmYUhhbmREb3RzLFxuICBmYUFsbGVyZ2llczogZmFBbGxlcmdpZXMsXG4gIGZhRmlsZUludm9pY2U6IGZhRmlsZUludm9pY2UsXG4gIGZhV2luZG93TWluaW1pemU6IGZhV2luZG93TWluaW1pemUsXG4gIGZhTXVnU2F1Y2VyOiBmYU11Z1NhdWNlcixcbiAgZmFDb2ZmZWU6IGZhQ29mZmVlLFxuICBmYUJydXNoOiBmYUJydXNoLFxuICBmYU1hc2s6IGZhTWFzayxcbiAgZmFNYWduaWZ5aW5nR2xhc3NNaW51czogZmFNYWduaWZ5aW5nR2xhc3NNaW51cyxcbiAgZmFTZWFyY2hNaW51czogZmFTZWFyY2hNaW51cyxcbiAgZmFSdWxlclZlcnRpY2FsOiBmYVJ1bGVyVmVydGljYWwsXG4gIGZhVXNlckxhcmdlOiBmYVVzZXJMYXJnZSxcbiAgZmFVc2VyQWx0OiBmYVVzZXJBbHQsXG4gIGZhVHJhaW5UcmFtOiBmYVRyYWluVHJhbSxcbiAgZmFVc2VyTnVyc2U6IGZhVXNlck51cnNlLFxuICBmYVN5cmluZ2U6IGZhU3lyaW5nZSxcbiAgZmFDbG91ZFN1bjogZmFDbG91ZFN1bixcbiAgZmFTdG9wd2F0Y2gyMDogZmFTdG9wd2F0Y2gyMCxcbiAgZmFTcXVhcmVGdWxsOiBmYVNxdWFyZUZ1bGwsXG4gIGZhTWFnbmV0OiBmYU1hZ25ldCxcbiAgZmFKYXI6IGZhSmFyLFxuICBmYU5vdGVTdGlja3k6IGZhTm90ZVN0aWNreSxcbiAgZmFTdGlja3lOb3RlOiBmYVN0aWNreU5vdGUsXG4gIGZhQnVnU2xhc2g6IGZhQnVnU2xhc2gsXG4gIGZhQXJyb3dVcEZyb21XYXRlclB1bXA6IGZhQXJyb3dVcEZyb21XYXRlclB1bXAsXG4gIGZhQm9uZTogZmFCb25lLFxuICBmYVVzZXJJbmp1cmVkOiBmYVVzZXJJbmp1cmVkLFxuICBmYUZhY2VTYWRUZWFyOiBmYUZhY2VTYWRUZWFyLFxuICBmYVNhZFRlYXI6IGZhU2FkVGVhcixcbiAgZmFQbGFuZTogZmFQbGFuZSxcbiAgZmFUZW50QXJyb3dzRG93bjogZmFUZW50QXJyb3dzRG93bixcbiAgZmFFeGNsYW1hdGlvbjogZmFFeGNsYW1hdGlvbixcbiAgZmFBcnJvd3NTcGluOiBmYUFycm93c1NwaW4sXG4gIGZhUHJpbnQ6IGZhUHJpbnQsXG4gIGZhVHVya2lzaExpcmFTaWduOiBmYVR1cmtpc2hMaXJhU2lnbixcbiAgZmFUcnk6IGZhVHJ5LFxuICBmYVR1cmtpc2hMaXJhOiBmYVR1cmtpc2hMaXJhLFxuICBmYURvbGxhclNpZ246IGZhRG9sbGFyU2lnbixcbiAgZmFEb2xsYXI6IGZhRG9sbGFyLFxuICBmYVVzZDogZmFVc2QsXG4gIGZhWDogZmFYLFxuICBmYU1hZ25pZnlpbmdHbGFzc0RvbGxhcjogZmFNYWduaWZ5aW5nR2xhc3NEb2xsYXIsXG4gIGZhU2VhcmNoRG9sbGFyOiBmYVNlYXJjaERvbGxhcixcbiAgZmFVc2Vyc0dlYXI6IGZhVXNlcnNHZWFyLFxuICBmYVVzZXJzQ29nOiBmYVVzZXJzQ29nLFxuICBmYVBlcnNvbk1pbGl0YXJ5UG9pbnRpbmc6IGZhUGVyc29uTWlsaXRhcnlQb2ludGluZyxcbiAgZmFCdWlsZGluZ0NvbHVtbnM6IGZhQnVpbGRpbmdDb2x1bW5zLFxuICBmYUJhbms6IGZhQmFuayxcbiAgZmFJbnN0aXR1dGlvbjogZmFJbnN0aXR1dGlvbixcbiAgZmFNdXNldW06IGZhTXVzZXVtLFxuICBmYVVuaXZlcnNpdHk6IGZhVW5pdmVyc2l0eSxcbiAgZmFVbWJyZWxsYTogZmFVbWJyZWxsYSxcbiAgZmFUcm93ZWw6IGZhVHJvd2VsLFxuICBmYUQ6IGZhRCxcbiAgZmFTdGFwbGVyOiBmYVN0YXBsZXIsXG4gIGZhTWFza3NUaGVhdGVyOiBmYU1hc2tzVGhlYXRlcixcbiAgZmFUaGVhdGVyTWFza3M6IGZhVGhlYXRlck1hc2tzLFxuICBmYUtpcFNpZ246IGZhS2lwU2lnbixcbiAgZmFIYW5kUG9pbnRMZWZ0OiBmYUhhbmRQb2ludExlZnQsXG4gIGZhSGFuZHNoYWtlU2ltcGxlOiBmYUhhbmRzaGFrZVNpbXBsZSxcbiAgZmFIYW5kc2hha2VBbHQ6IGZhSGFuZHNoYWtlQWx0LFxuICBmYUpldEZpZ2h0ZXI6IGZhSmV0RmlnaHRlcixcbiAgZmFGaWdodGVySmV0OiBmYUZpZ2h0ZXJKZXQsXG4gIGZhU3F1YXJlU2hhcmVOb2RlczogZmFTcXVhcmVTaGFyZU5vZGVzLFxuICBmYVNoYXJlQWx0U3F1YXJlOiBmYVNoYXJlQWx0U3F1YXJlLFxuICBmYUJhcmNvZGU6IGZhQmFyY29kZSxcbiAgZmFQbHVzTWludXM6IGZhUGx1c01pbnVzLFxuICBmYVZpZGVvOiBmYVZpZGVvLFxuICBmYVZpZGVvQ2FtZXJhOiBmYVZpZGVvQ2FtZXJhLFxuICBmYUdyYWR1YXRpb25DYXA6IGZhR3JhZHVhdGlvbkNhcCxcbiAgZmFNb3J0YXJCb2FyZDogZmFNb3J0YXJCb2FyZCxcbiAgZmFIYW5kSG9sZGluZ01lZGljYWw6IGZhSGFuZEhvbGRpbmdNZWRpY2FsLFxuICBmYVBlcnNvbkNpcmNsZUNoZWNrOiBmYVBlcnNvbkNpcmNsZUNoZWNrLFxuICBmYVR1cm5VcDogZmFUdXJuVXAsXG4gIGZhTGV2ZWxVcEFsdDogZmFMZXZlbFVwQWx0XG59O1xuXG5leHBvcnQgeyBpY29ucyBhcyBmYXMsIHByZWZpeCwgZmEwLCBmYTEsIGZhMiwgZmEzLCBmYTQsIGZhNSwgZmE2LCBmYTcsIGZhOCwgZmE5LCBmYUZpbGxEcmlwLCBmYUFycm93c1RvQ2lyY2xlLCBmYUNpcmNsZUNoZXZyb25SaWdodCwgZmFDaGV2cm9uQ2lyY2xlUmlnaHQsIGZhQXQsIGZhVHJhc2hDYW4sIGZhVHJhc2hBbHQsIGZhVGV4dEhlaWdodCwgZmFVc2VyWG1hcmssIGZhVXNlclRpbWVzLCBmYVN0ZXRob3Njb3BlLCBmYU1lc3NhZ2UsIGZhQ29tbWVudEFsdCwgZmFJbmZvLCBmYURvd25MZWZ0QW5kVXBSaWdodFRvQ2VudGVyLCBmYUNvbXByZXNzQWx0LCBmYUV4cGxvc2lvbiwgZmFGaWxlTGluZXMsIGZhRmlsZUFsdCwgZmFGaWxlVGV4dCwgZmFXYXZlU3F1YXJlLCBmYVJpbmcsIGZhQnVpbGRpbmdVbiwgZmFEaWNlVGhyZWUsIGZhQ2FsZW5kYXJEYXlzLCBmYUNhbGVuZGFyQWx0LCBmYUFuY2hvckNpcmNsZUNoZWNrLCBmYUJ1aWxkaW5nQ2lyY2xlQXJyb3dSaWdodCwgZmFWb2xsZXliYWxsLCBmYVZvbGxleWJhbGxCYWxsLCBmYUFycm93c1VwVG9MaW5lLCBmYVNvcnREb3duLCBmYVNvcnREZXNjLCBmYUNpcmNsZU1pbnVzLCBmYU1pbnVzQ2lyY2xlLCBmYURvb3JPcGVuLCBmYVJpZ2h0RnJvbUJyYWNrZXQsIGZhU2lnbk91dEFsdCwgZmFBdG9tLCBmYVNvYXAsIGZhSWNvbnMsIGZhSGVhcnRNdXNpY0NhbWVyYUJvbHQsIGZhTWljcm9waG9uZUxpbmVzU2xhc2gsIGZhTWljcm9waG9uZUFsdFNsYXNoLCBmYUJyaWRnZUNpcmNsZUNoZWNrLCBmYVB1bXBNZWRpY2FsLCBmYUZpbmdlcnByaW50LCBmYUhhbmRQb2ludFJpZ2h0LCBmYU1hZ25pZnlpbmdHbGFzc0xvY2F0aW9uLCBmYVNlYXJjaExvY2F0aW9uLCBmYUZvcndhcmRTdGVwLCBmYVN0ZXBGb3J3YXJkLCBmYUZhY2VTbWlsZUJlYW0sIGZhU21pbGVCZWFtLCBmYUZsYWdDaGVja2VyZWQsIGZhRm9vdGJhbGwsIGZhRm9vdGJhbGxCYWxsLCBmYVNjaG9vbENpcmNsZUV4Y2xhbWF0aW9uLCBmYUNyb3AsIGZhQW5nbGVzRG93biwgZmFBbmdsZURvdWJsZURvd24sIGZhVXNlcnNSZWN0YW5nbGUsIGZhUGVvcGxlUm9vZiwgZmFQZW9wbGVMaW5lLCBmYUJlZXJNdWdFbXB0eSwgZmFCZWVyLCBmYURpYWdyYW1QcmVkZWNlc3NvciwgZmFBcnJvd1VwTG9uZywgZmFMb25nQXJyb3dVcCwgZmFGaXJlRmxhbWVTaW1wbGUsIGZhQnVybiwgZmFQZXJzb24sIGZhTWFsZSwgZmFMYXB0b3AsIGZhRmlsZUNzdiwgZmFNZW5vcmFoLCBmYVRydWNrUGxhbmUsIGZhUmVjb3JkVmlueWwsIGZhRmFjZUdyaW5TdGFycywgZmFHcmluU3RhcnMsIGZhQm9uZywgZmFTcGFnaGV0dGlNb25zdGVyRmx5aW5nLCBmYVBhc3RhZmFyaWFuaXNtLCBmYUFycm93RG93blVwQWNyb3NzTGluZSwgZmFTcG9vbiwgZmFVdGVuc2lsU3Bvb24sIGZhSmFyV2hlYXQsIGZhRW52ZWxvcGVzQnVsaywgZmFNYWlsQnVsaywgZmFGaWxlQ2lyY2xlRXhjbGFtYXRpb24sIGZhQ2lyY2xlSCwgZmFIb3NwaXRhbFN5bWJvbCwgZmFQYWdlciwgZmFBZGRyZXNzQm9vaywgZmFDb250YWN0Qm9vaywgZmFTdHJpa2V0aHJvdWdoLCBmYUssIGZhTGFuZG1hcmtGbGFnLCBmYVBlbmNpbCwgZmFQZW5jaWxBbHQsIGZhQmFja3dhcmQsIGZhQ2FyZXRSaWdodCwgZmFDb21tZW50cywgZmFQYXN0ZSwgZmFGaWxlQ2xpcGJvYXJkLCBmYUNvZGVQdWxsUmVxdWVzdCwgZmFDbGlwYm9hcmRMaXN0LCBmYVRydWNrUmFtcEJveCwgZmFUcnVja0xvYWRpbmcsIGZhVXNlckNoZWNrLCBmYVZpYWxWaXJ1cywgZmFTaGVldFBsYXN0aWMsIGZhQmxvZywgZmFVc2VyTmluamEsIGZhUGVyc29uQXJyb3dVcEZyb21MaW5lLCBmYVNjcm9sbFRvcmFoLCBmYVRvcmFoLCBmYUJyb29tQmFsbCwgZmFRdWlkZGl0Y2gsIGZhUXVpZGRpdGNoQnJvb21CYWxsLCBmYVRvZ2dsZU9mZiwgZmFCb3hBcmNoaXZlLCBmYUFyY2hpdmUsIGZhUGVyc29uRHJvd25pbmcsIGZhQXJyb3dEb3duOTEsIGZhU29ydE51bWVyaWNEZXNjLCBmYVNvcnROdW1lcmljRG93bkFsdCwgZmFGYWNlR3JpblRvbmd1ZVNxdWludCwgZmFHcmluVG9uZ3VlU3F1aW50LCBmYVNwcmF5Q2FuLCBmYVRydWNrTW9uc3RlciwgZmFXLCBmYUVhcnRoQWZyaWNhLCBmYUdsb2JlQWZyaWNhLCBmYVJhaW5ib3csIGZhQ2lyY2xlTm90Y2gsIGZhVGFibGV0U2NyZWVuQnV0dG9uLCBmYVRhYmxldEFsdCwgZmFQYXcsIGZhQ2xvdWQsIGZhVHJvd2VsQnJpY2tzLCBmYUZhY2VGbHVzaGVkLCBmYUZsdXNoZWQsIGZhSG9zcGl0YWxVc2VyLCBmYVRlbnRBcnJvd0xlZnRSaWdodCwgZmFHYXZlbCwgZmFMZWdhbCwgZmFCaW5vY3VsYXJzLCBmYU1pY3JvcGhvbmVTbGFzaCwgZmFCb3hUaXNzdWUsIGZhTW90b3JjeWNsZSwgZmFCZWxsQ29uY2llcmdlLCBmYUNvbmNpZXJnZUJlbGwsIGZhUGVuUnVsZXIsIGZhUGVuY2lsUnVsZXIsIGZhUGVvcGxlQXJyb3dzLCBmYVBlb3BsZUFycm93c0xlZnRSaWdodCwgZmFNYXJzQW5kVmVudXNCdXJzdCwgZmFTcXVhcmVDYXJldFJpZ2h0LCBmYUNhcmV0U3F1YXJlUmlnaHQsIGZhU2Npc3NvcnMsIGZhQ3V0LCBmYVN1blBsYW50V2lsdCwgZmFUb2lsZXRzUG9ydGFibGUsIGZhSG9ja2V5UHVjaywgZmFUYWJsZSwgZmFNYWduaWZ5aW5nR2xhc3NBcnJvd1JpZ2h0LCBmYVRhY2hvZ3JhcGhEaWdpdGFsLCBmYURpZ2l0YWxUYWNob2dyYXBoLCBmYVVzZXJzU2xhc2gsIGZhQ2xvdmVyLCBmYVJlcGx5LCBmYU1haWxSZXBseSwgZmFTdGFyQW5kQ3Jlc2NlbnQsIGZhSG91c2VGaXJlLCBmYVNxdWFyZU1pbnVzLCBmYU1pbnVzU3F1YXJlLCBmYUhlbGljb3B0ZXIsIGZhQ29tcGFzcywgZmFTcXVhcmVDYXJldERvd24sIGZhQ2FyZXRTcXVhcmVEb3duLCBmYUZpbGVDaXJjbGVRdWVzdGlvbiwgZmFMYXB0b3BDb2RlLCBmYVN3YXRjaGJvb2ssIGZhUHJlc2NyaXB0aW9uQm90dGxlLCBmYUJhcnMsIGZhTmF2aWNvbiwgZmFQZW9wbGVHcm91cCwgZmFIb3VyZ2xhc3NFbmQsIGZhSG91cmdsYXNzMywgZmFIZWFydENyYWNrLCBmYUhlYXJ0QnJva2VuLCBmYVNxdWFyZVVwUmlnaHQsIGZhRXh0ZXJuYWxMaW5rU3F1YXJlQWx0LCBmYUZhY2VLaXNzQmVhbSwgZmFLaXNzQmVhbSwgZmFGaWxtLCBmYVJ1bGVySG9yaXpvbnRhbCwgZmFQZW9wbGVSb2JiZXJ5LCBmYUxpZ2h0YnVsYiwgZmFDYXJldExlZnQsIGZhQ2lyY2xlRXhjbGFtYXRpb24sIGZhRXhjbGFtYXRpb25DaXJjbGUsIGZhU2Nob29sQ2lyY2xlWG1hcmssIGZhQXJyb3dSaWdodEZyb21CcmFja2V0LCBmYVNpZ25PdXQsIGZhQ2lyY2xlQ2hldnJvbkRvd24sIGZhQ2hldnJvbkNpcmNsZURvd24sIGZhVW5sb2NrS2V5aG9sZSwgZmFVbmxvY2tBbHQsIGZhQ2xvdWRTaG93ZXJzSGVhdnksIGZhSGVhZHBob25lc1NpbXBsZSwgZmFIZWFkcGhvbmVzQWx0LCBmYVNpdGVtYXAsIGZhQ2lyY2xlRG9sbGFyVG9TbG90LCBmYURvbmF0ZSwgZmFNZW1vcnksIGZhUm9hZFNwaWtlcywgZmFGaXJlQnVybmVyLCBmYUZsYWcsIGZhSGFudWtpYWgsIGZhRmVhdGhlciwgZmFWb2x1bWVMb3csIGZhVm9sdW1lRG93biwgZmFDb21tZW50U2xhc2gsIGZhQ2xvdWRTdW5SYWluLCBmYUNvbXByZXNzLCBmYVdoZWF0QXduLCBmYVdoZWF0QWx0LCBmYUFua2gsIGZhSGFuZHNIb2xkaW5nQ2hpbGQsIGZhQXN0ZXJpc2ssIGZhU3F1YXJlQ2hlY2ssIGZhQ2hlY2tTcXVhcmUsIGZhUGVzZXRhU2lnbiwgZmFIZWFkaW5nLCBmYUhlYWRlciwgZmFHaG9zdCwgZmFMaXN0LCBmYUxpc3RTcXVhcmVzLCBmYVNxdWFyZVBob25lRmxpcCwgZmFQaG9uZVNxdWFyZUFsdCwgZmFDYXJ0UGx1cywgZmFHYW1lcGFkLCBmYUNpcmNsZURvdCwgZmFEb3RDaXJjbGUsIGZhRmFjZURpenp5LCBmYURpenp5LCBmYUVnZywgZmFIb3VzZU1lZGljYWxDaXJjbGVYbWFyaywgZmFDYW1wZ3JvdW5kLCBmYUZvbGRlclBsdXMsIGZhRnV0Ym9sLCBmYUZ1dGJvbEJhbGwsIGZhU29jY2VyQmFsbCwgZmFQYWludGJydXNoLCBmYVBhaW50QnJ1c2gsIGZhTG9jaywgZmFHYXNQdW1wLCBmYUhvdFR1YlBlcnNvbiwgZmFIb3RUdWIsIGZhTWFwTG9jYXRpb24sIGZhTWFwTWFya2VkLCBmYUhvdXNlRmxvb2RXYXRlciwgZmFUcmVlLCBmYUJyaWRnZUxvY2ssIGZhU2Fja0RvbGxhciwgZmFQZW5Ub1NxdWFyZSwgZmFFZGl0LCBmYUNhclNpZGUsIGZhU2hhcmVOb2RlcywgZmFTaGFyZUFsdCwgZmFIZWFydENpcmNsZU1pbnVzLCBmYUhvdXJnbGFzc0hhbGYsIGZhSG91cmdsYXNzMiwgZmFNaWNyb3Njb3BlLCBmYVNpbmssIGZhQmFnU2hvcHBpbmcsIGZhU2hvcHBpbmdCYWcsIGZhQXJyb3dEb3duWkEsIGZhU29ydEFscGhhRGVzYywgZmFTb3J0QWxwaGFEb3duQWx0LCBmYU1pdHRlbiwgZmFQZXJzb25SYXlzLCBmYVVzZXJzLCBmYUV5ZVNsYXNoLCBmYUZsYXNrVmlhbCwgZmFIYW5kLCBmYUhhbmRQYXBlciwgZmFPbSwgZmFXb3JtLCBmYUhvdXNlQ2lyY2xlWG1hcmssIGZhUGx1ZywgZmFDaGV2cm9uVXAsIGZhSGFuZFNwb2NrLCBmYVN0b3B3YXRjaCwgZmFGYWNlS2lzcywgZmFLaXNzLCBmYUJyaWRnZUNpcmNsZVhtYXJrLCBmYUZhY2VHcmluVG9uZ3VlLCBmYUdyaW5Ub25ndWUsIGZhQ2hlc3NCaXNob3AsIGZhRmFjZUdyaW5XaW5rLCBmYUdyaW5XaW5rLCBmYUVhckRlYWYsIGZhRGVhZiwgZmFEZWFmbmVzcywgZmFIYXJkT2ZIZWFyaW5nLCBmYVJvYWRDaXJjbGVDaGVjaywgZmFEaWNlRml2ZSwgZmFTcXVhcmVSc3MsIGZhUnNzU3F1YXJlLCBmYUxhbmRNaW5lT24sIGZhSUN1cnNvciwgZmFTdGFtcCwgZmFTdGFpcnMsIGZhSSwgZmFIcnl2bmlhU2lnbiwgZmFIcnl2bmlhLCBmYVBpbGxzLCBmYUZhY2VHcmluV2lkZSwgZmFHcmluQWx0LCBmYVRvb3RoLCBmYVYsIGZhQmFuZ2xhZGVzaGlUYWthU2lnbiwgZmFCaWN5Y2xlLCBmYVN0YWZmU25ha2UsIGZhUm9kQXNjbGVwaXVzLCBmYVJvZFNuYWtlLCBmYVN0YWZmQWVzY3VsYXBpdXMsIGZhSGVhZFNpZGVDb3VnaFNsYXNoLCBmYVRydWNrTWVkaWNhbCwgZmFBbWJ1bGFuY2UsIGZhV2hlYXRBd25DaXJjbGVFeGNsYW1hdGlvbiwgZmFTbm93bWFuLCBmYU1vcnRhclBlc3RsZSwgZmFSb2FkQmFycmllciwgZmFTY2hvb2wsIGZhSWdsb28sIGZhSm9pbnQsIGZhQW5nbGVSaWdodCwgZmFIb3JzZSwgZmFRLCBmYUcsIGZhTm90ZXNNZWRpY2FsLCBmYVRlbXBlcmF0dXJlSGFsZiwgZmFUZW1wZXJhdHVyZTIsIGZhVGhlcm1vbWV0ZXIyLCBmYVRoZXJtb21ldGVySGFsZiwgZmFEb25nU2lnbiwgZmFDYXBzdWxlcywgZmFQb29TdG9ybSwgZmFQb29Cb2x0LCBmYUZhY2VGcm93bk9wZW4sIGZhRnJvd25PcGVuLCBmYUhhbmRQb2ludFVwLCBmYU1vbmV5QmlsbCwgZmFCb29rbWFyaywgZmFBbGlnbkp1c3RpZnksIGZhVW1icmVsbGFCZWFjaCwgZmFIZWxtZXRVbiwgZmFCdWxsc2V5ZSwgZmFCYWNvbiwgZmFIYW5kUG9pbnREb3duLCBmYUFycm93VXBGcm9tQnJhY2tldCwgZmFGb2xkZXIsIGZhRm9sZGVyQmxhbmssIGZhRmlsZVdhdmVmb3JtLCBmYUZpbGVNZWRpY2FsQWx0LCBmYVJhZGlhdGlvbiwgZmFDaGFydFNpbXBsZSwgZmFNYXJzU3Ryb2tlLCBmYVZpYWwsIGZhR2F1Z2UsIGZhRGFzaGJvYXJkLCBmYUdhdWdlTWVkLCBmYVRhY2hvbWV0ZXJBbHRBdmVyYWdlLCBmYVdhbmRNYWdpY1NwYXJrbGVzLCBmYU1hZ2ljV2FuZFNwYXJrbGVzLCBmYUUsIGZhUGVuQ2xpcCwgZmFQZW5BbHQsIGZhQnJpZGdlQ2lyY2xlRXhjbGFtYXRpb24sIGZhVXNlciwgZmFTY2hvb2xDaXJjbGVDaGVjaywgZmFEdW1wc3RlciwgZmFWYW5TaHV0dGxlLCBmYVNodXR0bGVWYW4sIGZhQnVpbGRpbmdVc2VyLCBmYVNxdWFyZUNhcmV0TGVmdCwgZmFDYXJldFNxdWFyZUxlZnQsIGZhSGlnaGxpZ2h0ZXIsIGZhS2V5LCBmYUJ1bGxob3JuLCBmYUdsb2JlLCBmYVN5bmFnb2d1ZSwgZmFQZXJzb25IYWxmRHJlc3MsIGZhUm9hZEJyaWRnZSwgZmFMb2NhdGlvbkFycm93LCBmYUMsIGZhVGFibGV0QnV0dG9uLCBmYUJ1aWxkaW5nTG9jaywgZmFQaXp6YVNsaWNlLCBmYU1vbmV5QmlsbFdhdmUsIGZhQ2hhcnRBcmVhLCBmYUFyZWFDaGFydCwgZmFIb3VzZUZsYWcsIGZhUGVyc29uQ2lyY2xlTWludXMsIGZhQmFuLCBmYUNhbmNlbCwgZmFDYW1lcmFSb3RhdGUsIGZhU3ByYXlDYW5TcGFya2xlcywgZmFBaXJGcmVzaGVuZXIsIGZhU3RhciwgZmFSZXBlYXQsIGZhQ3Jvc3MsIGZhQm94LCBmYVZlbnVzTWFycywgZmFBcnJvd1BvaW50ZXIsIGZhTW91c2VQb2ludGVyLCBmYU1heGltaXplLCBmYUV4cGFuZEFycm93c0FsdCwgZmFDaGFyZ2luZ1N0YXRpb24sIGZhU2hhcGVzLCBmYVRyaWFuZ2xlQ2lyY2xlU3F1YXJlLCBmYVNodWZmbGUsIGZhUmFuZG9tLCBmYVBlcnNvblJ1bm5pbmcsIGZhUnVubmluZywgZmFNb2JpbGVSZXRybywgZmFHcmlwTGluZXNWZXJ0aWNhbCwgZmFTcGlkZXIsIGZhSGFuZHNCb3VuZCwgZmFGaWxlSW52b2ljZURvbGxhciwgZmFQbGFuZUNpcmNsZUV4Y2xhbWF0aW9uLCBmYVhSYXksIGZhU3BlbGxDaGVjaywgZmFTbGFzaCwgZmFDb21wdXRlck1vdXNlLCBmYU1vdXNlLCBmYUFycm93UmlnaHRUb0JyYWNrZXQsIGZhU2lnbkluLCBmYVNob3BTbGFzaCwgZmFTdG9yZUFsdFNsYXNoLCBmYVNlcnZlciwgZmFWaXJ1c0NvdmlkU2xhc2gsIGZhU2hvcExvY2ssIGZhSG91cmdsYXNzU3RhcnQsIGZhSG91cmdsYXNzMSwgZmFCbGVuZGVyUGhvbmUsIGZhQnVpbGRpbmdXaGVhdCwgZmFQZXJzb25CcmVhc3RmZWVkaW5nLCBmYVJpZ2h0VG9CcmFja2V0LCBmYVNpZ25JbkFsdCwgZmFWZW51cywgZmFQYXNzcG9ydCwgZmFIZWFydFB1bHNlLCBmYUhlYXJ0YmVhdCwgZmFQZW9wbGVDYXJyeUJveCwgZmFQZW9wbGVDYXJyeSwgZmFUZW1wZXJhdHVyZUhpZ2gsIGZhTWljcm9jaGlwLCBmYUNyb3duLCBmYVdlaWdodEhhbmdpbmcsIGZhWG1hcmtzTGluZXMsIGZhRmlsZVByZXNjcmlwdGlvbiwgZmFXZWlnaHRTY2FsZSwgZmFXZWlnaHQsIGZhVXNlckdyb3VwLCBmYVVzZXJGcmllbmRzLCBmYUFycm93VXBBWiwgZmFTb3J0QWxwaGFVcCwgZmFDaGVzc0tuaWdodCwgZmFGYWNlTGF1Z2hTcXVpbnQsIGZhTGF1Z2hTcXVpbnQsIGZhV2hlZWxjaGFpciwgZmFDaXJjbGVBcnJvd1VwLCBmYUFycm93Q2lyY2xlVXAsIGZhVG9nZ2xlT24sIGZhUGVyc29uV2Fsa2luZywgZmFXYWxraW5nLCBmYUwsIGZhRmlyZSwgZmFCZWRQdWxzZSwgZmFQcm9jZWR1cmVzLCBmYVNodXR0bGVTcGFjZSwgZmFTcGFjZVNodXR0bGUsIGZhRmFjZUxhdWdoLCBmYUxhdWdoLCBmYUZvbGRlck9wZW4sIGZhSGVhcnRDaXJjbGVQbHVzLCBmYUNvZGVGb3JrLCBmYUNpdHksIGZhTWljcm9waG9uZUxpbmVzLCBmYU1pY3JvcGhvbmVBbHQsIGZhUGVwcGVySG90LCBmYVVubG9jaywgZmFDb2xvblNpZ24sIGZhSGVhZHNldCwgZmFTdG9yZVNsYXNoLCBmYVJvYWRDaXJjbGVYbWFyaywgZmFVc2VyTWludXMsIGZhTWFyc1N0cm9rZVVwLCBmYU1hcnNTdHJva2VWLCBmYUNoYW1wYWduZUdsYXNzZXMsIGZhR2xhc3NDaGVlcnMsIGZhQ2xpcGJvYXJkLCBmYUhvdXNlQ2lyY2xlRXhjbGFtYXRpb24sIGZhRmlsZUFycm93VXAsIGZhRmlsZVVwbG9hZCwgZmFXaWZpLCBmYVdpZmkzLCBmYVdpZmlTdHJvbmcsIGZhQmF0aCwgZmFCYXRodHViLCBmYVVuZGVybGluZSwgZmFVc2VyUGVuLCBmYVVzZXJFZGl0LCBmYVNpZ25hdHVyZSwgZmFTdHJvb3B3YWZlbCwgZmFCb2xkLCBmYUFuY2hvckxvY2ssIGZhQnVpbGRpbmdOZ28sIGZhTWFuYXRTaWduLCBmYU5vdEVxdWFsLCBmYUJvcmRlclRvcExlZnQsIGZhQm9yZGVyU3R5bGUsIGZhTWFwTG9jYXRpb25Eb3QsIGZhTWFwTWFya2VkQWx0LCBmYUplZGksIGZhU3F1YXJlUG9sbFZlcnRpY2FsLCBmYVBvbGwsIGZhTXVnSG90LCBmYUNhckJhdHRlcnksIGZhQmF0dGVyeUNhciwgZmFHaWZ0LCBmYURpY2VUd28sIGZhQ2hlc3NRdWVlbiwgZmFHbGFzc2VzLCBmYUNoZXNzQm9hcmQsIGZhQnVpbGRpbmdDaXJjbGVDaGVjaywgZmFQZXJzb25DaGFsa2JvYXJkLCBmYU1hcnNTdHJva2VSaWdodCwgZmFNYXJzU3Ryb2tlSCwgZmFIYW5kQmFja0Zpc3QsIGZhSGFuZFJvY2ssIGZhU3F1YXJlQ2FyZXRVcCwgZmFDYXJldFNxdWFyZVVwLCBmYUNsb3VkU2hvd2Vyc1dhdGVyLCBmYUNoYXJ0QmFyLCBmYUJhckNoYXJ0LCBmYUhhbmRzQnViYmxlcywgZmFIYW5kc1dhc2gsIGZhTGVzc1RoYW5FcXVhbCwgZmFUcmFpbiwgZmFFeWVMb3dWaXNpb24sIGZhTG93VmlzaW9uLCBmYUNyb3csIGZhU2FpbGJvYXQsIGZhV2luZG93UmVzdG9yZSwgZmFTcXVhcmVQbHVzLCBmYVBsdXNTcXVhcmUsIGZhVG9yaWlHYXRlLCBmYUZyb2csIGZhQnVja2V0LCBmYUltYWdlLCBmYU1pY3JvcGhvbmUsIGZhQ293LCBmYUNhcmV0VXAsIGZhU2NyZXdkcml2ZXIsIGZhRm9sZGVyQ2xvc2VkLCBmYUhvdXNlVHN1bmFtaSwgZmFTcXVhcmVOZmksIGZhQXJyb3dVcEZyb21Hcm91bmRXYXRlciwgZmFNYXJ0aW5pR2xhc3MsIGZhR2xhc3NNYXJ0aW5pQWx0LCBmYVJvdGF0ZUxlZnQsIGZhUm90YXRlQmFjaywgZmFSb3RhdGVCYWNrd2FyZCwgZmFVbmRvQWx0LCBmYVRhYmxlQ29sdW1ucywgZmFDb2x1bW5zLCBmYUxlbW9uLCBmYUhlYWRTaWRlTWFzaywgZmFIYW5kc2hha2UsIGZhR2VtLCBmYURvbGx5LCBmYURvbGx5Qm94LCBmYVNtb2tpbmcsIGZhTWluaW1pemUsIGZhQ29tcHJlc3NBcnJvd3NBbHQsIGZhTW9udW1lbnQsIGZhU25vd3Bsb3csIGZhQW5nbGVzUmlnaHQsIGZhQW5nbGVEb3VibGVSaWdodCwgZmFDYW5uYWJpcywgZmFDaXJjbGVQbGF5LCBmYVBsYXlDaXJjbGUsIGZhVGFibGV0cywgZmFFdGhlcm5ldCwgZmFFdXJvU2lnbiwgZmFFdXIsIGZhRXVybywgZmFDaGFpciwgZmFDaXJjbGVDaGVjaywgZmFDaGVja0NpcmNsZSwgZmFDaXJjbGVTdG9wLCBmYVN0b3BDaXJjbGUsIGZhQ29tcGFzc0RyYWZ0aW5nLCBmYURyYWZ0aW5nQ29tcGFzcywgZmFQbGF0ZVdoZWF0LCBmYUljaWNsZXMsIGZhUGVyc29uU2hlbHRlciwgZmFOZXV0ZXIsIGZhSWRCYWRnZSwgZmFNYXJrZXIsIGZhRmFjZUxhdWdoQmVhbSwgZmFMYXVnaEJlYW0sIGZhSGVsaWNvcHRlclN5bWJvbCwgZmFVbml2ZXJzYWxBY2Nlc3MsIGZhQ2lyY2xlQ2hldnJvblVwLCBmYUNoZXZyb25DaXJjbGVVcCwgZmFMYXJpU2lnbiwgZmFWb2xjYW5vLCBmYVBlcnNvbldhbGtpbmdEYXNoZWRMaW5lQXJyb3dSaWdodCwgZmFTdGVybGluZ1NpZ24sIGZhR2JwLCBmYVBvdW5kU2lnbiwgZmFWaXJ1c2VzLCBmYVNxdWFyZVBlcnNvbkNvbmZpbmVkLCBmYVVzZXJUaWUsIGZhQXJyb3dEb3duTG9uZywgZmFMb25nQXJyb3dEb3duLCBmYVRlbnRBcnJvd0Rvd25Ub0xpbmUsIGZhQ2VydGlmaWNhdGUsIGZhUmVwbHlBbGwsIGZhTWFpbFJlcGx5QWxsLCBmYVN1aXRjYXNlLCBmYVBlcnNvblNrYXRpbmcsIGZhU2thdGluZywgZmFGaWx0ZXJDaXJjbGVEb2xsYXIsIGZhRnVubmVsRG9sbGFyLCBmYUNhbWVyYVJldHJvLCBmYUNpcmNsZUFycm93RG93biwgZmFBcnJvd0NpcmNsZURvd24sIGZhRmlsZUltcG9ydCwgZmFBcnJvd1JpZ2h0VG9GaWxlLCBmYVNxdWFyZUFycm93VXBSaWdodCwgZmFFeHRlcm5hbExpbmtTcXVhcmUsIGZhQm94T3BlbiwgZmFTY3JvbGwsIGZhU3BhLCBmYUxvY2F0aW9uUGluTG9jaywgZmFQYXVzZSwgZmFIaWxsQXZhbGFuY2hlLCBmYVRlbXBlcmF0dXJlRW1wdHksIGZhVGVtcGVyYXR1cmUwLCBmYVRoZXJtb21ldGVyMCwgZmFUaGVybW9tZXRlckVtcHR5LCBmYUJvbWIsIGZhUmVnaXN0ZXJlZCwgZmFBZGRyZXNzQ2FyZCwgZmFDb250YWN0Q2FyZCwgZmFWY2FyZCwgZmFTY2FsZVVuYmFsYW5jZWRGbGlwLCBmYUJhbGFuY2VTY2FsZVJpZ2h0LCBmYVN1YnNjcmlwdCwgZmFEaWFtb25kVHVyblJpZ2h0LCBmYURpcmVjdGlvbnMsIGZhQnVyc3QsIGZhSG91c2VMYXB0b3AsIGZhTGFwdG9wSG91c2UsIGZhRmFjZVRpcmVkLCBmYVRpcmVkLCBmYU1vbmV5QmlsbHMsIGZhU21vZywgZmFDcnV0Y2gsIGZhRm9udEF3ZXNvbWUsIGZhRm9udEF3ZXNvbWVGbGFnLCBmYUZvbnRBd2Vzb21lTG9nb0Z1bGwsIGZhQ2xvdWRBcnJvd1VwLCBmYUNsb3VkVXBsb2FkLCBmYUNsb3VkVXBsb2FkQWx0LCBmYVBhbGV0dGUsIGZhQXJyb3dzVHVyblJpZ2h0LCBmYVZlc3QsIGZhRmVycnksIGZhQXJyb3dzRG93blRvUGVvcGxlLCBmYVNlZWRsaW5nLCBmYVNwcm91dCwgZmFMZWZ0UmlnaHQsIGZhQXJyb3dzQWx0SCwgZmFCb3hlc1BhY2tpbmcsIGZhQ2lyY2xlQXJyb3dMZWZ0LCBmYUFycm93Q2lyY2xlTGVmdCwgZmFHcm91cEFycm93c1JvdGF0ZSwgZmFCb3dsRm9vZCwgZmFDYW5keUNhbmUsIGZhQXJyb3dEb3duV2lkZVNob3J0LCBmYVNvcnRBbW91bnRBc2MsIGZhU29ydEFtb3VudERvd24sIGZhQ2xvdWRCb2x0LCBmYVRodW5kZXJzdG9ybSwgZmFUZXh0U2xhc2gsIGZhUmVtb3ZlRm9ybWF0LCBmYUZhY2VTbWlsZVdpbmssIGZhU21pbGVXaW5rLCBmYUZpbGVXb3JkLCBmYUZpbGVQb3dlcnBvaW50LCBmYUFycm93c0xlZnRSaWdodCwgZmFBcnJvd3NILCBmYUhvdXNlTG9jaywgZmFDbG91ZEFycm93RG93biwgZmFDbG91ZERvd25sb2FkLCBmYUNsb3VkRG93bmxvYWRBbHQsIGZhQ2hpbGRyZW4sIGZhQ2hhbGtib2FyZCwgZmFCbGFja2JvYXJkLCBmYVVzZXJMYXJnZVNsYXNoLCBmYVVzZXJBbHRTbGFzaCwgZmFFbnZlbG9wZU9wZW4sIGZhSGFuZHNoYWtlU2ltcGxlU2xhc2gsIGZhSGFuZHNoYWtlQWx0U2xhc2gsIGZhTWF0dHJlc3NQaWxsb3csIGZhR3VhcmFuaVNpZ24sIGZhQXJyb3dzUm90YXRlLCBmYVJlZnJlc2gsIGZhU3luYywgZmFGaXJlRXh0aW5ndWlzaGVyLCBmYUNydXplaXJvU2lnbiwgZmFHcmVhdGVyVGhhbkVxdWFsLCBmYVNoaWVsZEhhbHZlZCwgZmFTaGllbGRBbHQsIGZhQm9va0F0bGFzLCBmYUF0bGFzLCBmYVZpcnVzLCBmYUVudmVsb3BlQ2lyY2xlQ2hlY2ssIGZhTGF5ZXJHcm91cCwgZmFBcnJvd3NUb0RvdCwgZmFBcmNod2F5LCBmYUhlYXJ0Q2lyY2xlQ2hlY2ssIGZhSG91c2VDaGltbmV5Q3JhY2ssIGZhSG91c2VEYW1hZ2UsIGZhRmlsZVppcHBlciwgZmFGaWxlQXJjaGl2ZSwgZmFTcXVhcmUsIGZhTWFydGluaUdsYXNzRW1wdHksIGZhR2xhc3NNYXJ0aW5pLCBmYUNvdWNoLCBmYUNlZGlTaWduLCBmYUl0YWxpYywgZmFUYWJsZUNlbGxzQ29sdW1uTG9jaywgZmFDaHVyY2gsIGZhQ29tbWVudHNEb2xsYXIsIGZhRGVtb2NyYXQsIGZhWiwgZmFQZXJzb25Ta2lpbmcsIGZhU2tpaW5nLCBmYVJvYWRMb2NrLCBmYUEsIGZhVGVtcGVyYXR1cmVBcnJvd0Rvd24sIGZhVGVtcGVyYXR1cmVEb3duLCBmYUZlYXRoZXJQb2ludGVkLCBmYUZlYXRoZXJBbHQsIGZhUCwgZmFTbm93Zmxha2UsIGZhTmV3c3BhcGVyLCBmYVJlY3RhbmdsZUFkLCBmYUFkLCBmYUNpcmNsZUFycm93UmlnaHQsIGZhQXJyb3dDaXJjbGVSaWdodCwgZmFGaWx0ZXJDaXJjbGVYbWFyaywgZmFMb2N1c3QsIGZhU29ydCwgZmFVbnNvcnRlZCwgZmFMaXN0T2wsIGZhTGlzdDEyLCBmYUxpc3ROdW1lcmljLCBmYVBlcnNvbkRyZXNzQnVyc3QsIGZhTW9uZXlDaGVja0RvbGxhciwgZmFNb25leUNoZWNrQWx0LCBmYVZlY3RvclNxdWFyZSwgZmFCcmVhZFNsaWNlLCBmYUxhbmd1YWdlLCBmYUZhY2VLaXNzV2lua0hlYXJ0LCBmYUtpc3NXaW5rSGVhcnQsIGZhRmlsdGVyLCBmYVF1ZXN0aW9uLCBmYUZpbGVTaWduYXR1cmUsIGZhVXBEb3duTGVmdFJpZ2h0LCBmYUFycm93c0FsdCwgZmFIb3VzZUNoaW1uZXlVc2VyLCBmYUhhbmRIb2xkaW5nSGVhcnQsIGZhUHV6emxlUGllY2UsIGZhTW9uZXlDaGVjaywgZmFTdGFySGFsZlN0cm9rZSwgZmFTdGFySGFsZkFsdCwgZmFDb2RlLCBmYVdoaXNrZXlHbGFzcywgZmFHbGFzc1doaXNrZXksIGZhQnVpbGRpbmdDaXJjbGVFeGNsYW1hdGlvbiwgZmFNYWduaWZ5aW5nR2xhc3NDaGFydCwgZmFBcnJvd1VwUmlnaHRGcm9tU3F1YXJlLCBmYUV4dGVybmFsTGluaywgZmFDdWJlc1N0YWNrZWQsIGZhV29uU2lnbiwgZmFLcncsIGZhV29uLCBmYVZpcnVzQ292aWQsIGZhQXVzdHJhbFNpZ24sIGZhRiwgZmFMZWFmLCBmYVJvYWQsIGZhVGF4aSwgZmFDYWIsIGZhUGVyc29uQ2lyY2xlUGx1cywgZmFDaGFydFBpZSwgZmFQaWVDaGFydCwgZmFCb2x0TGlnaHRuaW5nLCBmYVNhY2tYbWFyaywgZmFGaWxlRXhjZWwsIGZhRmlsZUNvbnRyYWN0LCBmYUZpc2hGaW5zLCBmYUJ1aWxkaW5nRmxhZywgZmFGYWNlR3JpbkJlYW0sIGZhR3JpbkJlYW0sIGZhT2JqZWN0VW5ncm91cCwgZmFQb29wLCBmYUxvY2F0aW9uUGluLCBmYU1hcE1hcmtlciwgZmFLYWFiYSwgZmFUb2lsZXRQYXBlciwgZmFIZWxtZXRTYWZldHksIGZhSGFyZEhhdCwgZmFIYXRIYXJkLCBmYUVqZWN0LCBmYUNpcmNsZVJpZ2h0LCBmYUFycm93QWx0Q2lyY2xlUmlnaHQsIGZhUGxhbmVDaXJjbGVDaGVjaywgZmFGYWNlUm9sbGluZ0V5ZXMsIGZhTWVoUm9sbGluZ0V5ZXMsIGZhT2JqZWN0R3JvdXAsIGZhQ2hhcnRMaW5lLCBmYUxpbmVDaGFydCwgZmFNYXNrVmVudGlsYXRvciwgZmFBcnJvd1JpZ2h0LCBmYVNpZ25zUG9zdCwgZmFNYXBTaWducywgZmFDYXNoUmVnaXN0ZXIsIGZhUGVyc29uQ2lyY2xlUXVlc3Rpb24sIGZhSCwgZmFUYXJwLCBmYVNjcmV3ZHJpdmVyV3JlbmNoLCBmYVRvb2xzLCBmYUFycm93c1RvRXllLCBmYVBsdWdDaXJjbGVCb2x0LCBmYUhlYXJ0LCBmYU1hcnNBbmRWZW51cywgZmFIb3VzZVVzZXIsIGZhSG9tZVVzZXIsIGZhRHVtcHN0ZXJGaXJlLCBmYUhvdXNlQ3JhY2ssIGZhTWFydGluaUdsYXNzQ2l0cnVzLCBmYUNvY2t0YWlsLCBmYUZhY2VTdXJwcmlzZSwgZmFTdXJwcmlzZSwgZmFCb3R0bGVXYXRlciwgZmFDaXJjbGVQYXVzZSwgZmFQYXVzZUNpcmNsZSwgZmFUb2lsZXRQYXBlclNsYXNoLCBmYUFwcGxlV2hvbGUsIGZhQXBwbGVBbHQsIGZhS2l0Y2hlblNldCwgZmFSLCBmYVRlbXBlcmF0dXJlUXVhcnRlciwgZmFUZW1wZXJhdHVyZTEsIGZhVGhlcm1vbWV0ZXIxLCBmYVRoZXJtb21ldGVyUXVhcnRlciwgZmFDdWJlLCBmYUJpdGNvaW5TaWduLCBmYVNoaWVsZERvZywgZmFTb2xhclBhbmVsLCBmYUxvY2tPcGVuLCBmYUVsZXZhdG9yLCBmYU1vbmV5QmlsbFRyYW5zZmVyLCBmYU1vbmV5QmlsbFRyZW5kVXAsIGZhSG91c2VGbG9vZFdhdGVyQ2lyY2xlQXJyb3dSaWdodCwgZmFTcXVhcmVQb2xsSG9yaXpvbnRhbCwgZmFQb2xsSCwgZmFDaXJjbGUsIGZhQmFja3dhcmRGYXN0LCBmYUZhc3RCYWNrd2FyZCwgZmFSZWN5Y2xlLCBmYVVzZXJBc3Ryb25hdXQsIGZhUGxhbmVTbGFzaCwgZmFUcmFkZW1hcmssIGZhQmFza2V0YmFsbCwgZmFCYXNrZXRiYWxsQmFsbCwgZmFTYXRlbGxpdGVEaXNoLCBmYUNpcmNsZVVwLCBmYUFycm93QWx0Q2lyY2xlVXAsIGZhTW9iaWxlU2NyZWVuQnV0dG9uLCBmYU1vYmlsZUFsdCwgZmFWb2x1bWVIaWdoLCBmYVZvbHVtZVVwLCBmYVVzZXJzUmF5cywgZmFXYWxsZXQsIGZhQ2xpcGJvYXJkQ2hlY2ssIGZhRmlsZUF1ZGlvLCBmYUJ1cmdlciwgZmFIYW1idXJnZXIsIGZhV3JlbmNoLCBmYUJ1Z3MsIGZhUnVwZWVTaWduLCBmYVJ1cGVlLCBmYUZpbGVJbWFnZSwgZmFDaXJjbGVRdWVzdGlvbiwgZmFRdWVzdGlvbkNpcmNsZSwgZmFQbGFuZURlcGFydHVyZSwgZmFIYW5kc2hha2VTbGFzaCwgZmFCb29rQm9va21hcmssIGZhQ29kZUJyYW5jaCwgZmFIYXRDb3dib3ksIGZhQnJpZGdlLCBmYVBob25lRmxpcCwgZmFQaG9uZUFsdCwgZmFUcnVja0Zyb250LCBmYUNhdCwgZmFBbmNob3JDaXJjbGVFeGNsYW1hdGlvbiwgZmFUcnVja0ZpZWxkLCBmYVJvdXRlLCBmYUNsaXBib2FyZFF1ZXN0aW9uLCBmYVBhbm9yYW1hLCBmYUNvbW1lbnRNZWRpY2FsLCBmYVRlZXRoT3BlbiwgZmFGaWxlQ2lyY2xlTWludXMsIGZhVGFncywgZmFXaW5lR2xhc3MsIGZhRm9yd2FyZEZhc3QsIGZhRmFzdEZvcndhcmQsIGZhRmFjZU1laEJsYW5rLCBmYU1laEJsYW5rLCBmYVNxdWFyZVBhcmtpbmcsIGZhUGFya2luZywgZmFIb3VzZVNpZ25hbCwgZmFCYXJzUHJvZ3Jlc3MsIGZhVGFza3NBbHQsIGZhRmF1Y2V0RHJpcCwgZmFDYXJ0RmxhdGJlZCwgZmFEb2xseUZsYXRiZWQsIGZhQmFuU21va2luZywgZmFTbW9raW5nQmFuLCBmYVRlcm1pbmFsLCBmYU1vYmlsZUJ1dHRvbiwgZmFIb3VzZU1lZGljYWxGbGFnLCBmYUJhc2tldFNob3BwaW5nLCBmYVNob3BwaW5nQmFza2V0LCBmYVRhcGUsIGZhQnVzU2ltcGxlLCBmYUJ1c0FsdCwgZmFFeWUsIGZhRmFjZVNhZENyeSwgZmFTYWRDcnksIGZhQXVkaW9EZXNjcmlwdGlvbiwgZmFQZXJzb25NaWxpdGFyeVRvUGVyc29uLCBmYUZpbGVTaGllbGQsIGZhVXNlclNsYXNoLCBmYVBlbiwgZmFUb3dlck9ic2VydmF0aW9uLCBmYUZpbGVDb2RlLCBmYVNpZ25hbCwgZmFTaWduYWw1LCBmYVNpZ25hbFBlcmZlY3QsIGZhQnVzLCBmYUhlYXJ0Q2lyY2xlWG1hcmssIGZhSG91c2VDaGltbmV5LCBmYUhvbWVMZywgZmFXaW5kb3dNYXhpbWl6ZSwgZmFGYWNlRnJvd24sIGZhRnJvd24sIGZhUHJlc2NyaXB0aW9uLCBmYVNob3AsIGZhU3RvcmVBbHQsIGZhRmxvcHB5RGlzaywgZmFTYXZlLCBmYVZpaGFyYSwgZmFTY2FsZVVuYmFsYW5jZWQsIGZhQmFsYW5jZVNjYWxlTGVmdCwgZmFTb3J0VXAsIGZhU29ydEFzYywgZmFDb21tZW50RG90cywgZmFDb21tZW50aW5nLCBmYVBsYW50V2lsdCwgZmFEaWFtb25kLCBmYUZhY2VHcmluU3F1aW50LCBmYUdyaW5TcXVpbnQsIGZhSGFuZEhvbGRpbmdEb2xsYXIsIGZhSGFuZEhvbGRpbmdVc2QsIGZhQmFjdGVyaXVtLCBmYUhhbmRQb2ludGVyLCBmYURydW1TdGVlbHBhbiwgZmFIYW5kU2Npc3NvcnMsIGZhSGFuZHNQcmF5aW5nLCBmYVByYXlpbmdIYW5kcywgZmFBcnJvd1JvdGF0ZVJpZ2h0LCBmYUFycm93UmlnaHRSb3RhdGUsIGZhQXJyb3dSb3RhdGVGb3J3YXJkLCBmYVJlZG8sIGZhQmlvaGF6YXJkLCBmYUxvY2F0aW9uQ3Jvc3NoYWlycywgZmFMb2NhdGlvbiwgZmFNYXJzRG91YmxlLCBmYUNoaWxkRHJlc3MsIGZhVXNlcnNCZXR3ZWVuTGluZXMsIGZhTHVuZ3NWaXJ1cywgZmFGYWNlR3JpblRlYXJzLCBmYUdyaW5UZWFycywgZmFQaG9uZSwgZmFDYWxlbmRhclhtYXJrLCBmYUNhbGVuZGFyVGltZXMsIGZhQ2hpbGRSZWFjaGluZywgZmFIZWFkU2lkZVZpcnVzLCBmYVVzZXJHZWFyLCBmYVVzZXJDb2csIGZhQXJyb3dVcDE5LCBmYVNvcnROdW1lcmljVXAsIGZhRG9vckNsb3NlZCwgZmFTaGllbGRWaXJ1cywgZmFEaWNlU2l4LCBmYU1vc3F1aXRvTmV0LCBmYUJyaWRnZVdhdGVyLCBmYVBlcnNvbkJvb3RoLCBmYVRleHRXaWR0aCwgZmFIYXRXaXphcmQsIGZhUGVuRmFuY3ksIGZhUGVyc29uRGlnZ2luZywgZmFEaWdnaW5nLCBmYVRyYXNoLCBmYUdhdWdlU2ltcGxlLCBmYUdhdWdlU2ltcGxlTWVkLCBmYVRhY2hvbWV0ZXJBdmVyYWdlLCBmYUJvb2tNZWRpY2FsLCBmYVBvbywgZmFRdW90ZVJpZ2h0LCBmYVF1b3RlUmlnaHRBbHQsIGZhU2hpcnQsIGZhVFNoaXJ0LCBmYVRzaGlydCwgZmFDdWJlcywgZmFEaXZpZGUsIGZhVGVuZ2VTaWduLCBmYVRlbmdlLCBmYUhlYWRwaG9uZXMsIGZhSGFuZHNIb2xkaW5nLCBmYUhhbmRzQ2xhcHBpbmcsIGZhUmVwdWJsaWNhbiwgZmFBcnJvd0xlZnQsIGZhUGVyc29uQ2lyY2xlWG1hcmssIGZhUnVsZXIsIGZhQWxpZ25MZWZ0LCBmYURpY2VENiwgZmFSZXN0cm9vbSwgZmFKLCBmYVVzZXJzVmlld2ZpbmRlciwgZmFGaWxlVmlkZW8sIGZhVXBSaWdodEZyb21TcXVhcmUsIGZhRXh0ZXJuYWxMaW5rQWx0LCBmYVRhYmxlQ2VsbHMsIGZhVGgsIGZhRmlsZVBkZiwgZmFCb29rQmlibGUsIGZhQmlibGUsIGZhTywgZmFTdWl0Y2FzZU1lZGljYWwsIGZhTWVka2l0LCBmYVVzZXJTZWNyZXQsIGZhT3R0ZXIsIGZhUGVyc29uRHJlc3MsIGZhRmVtYWxlLCBmYUNvbW1lbnREb2xsYXIsIGZhQnVzaW5lc3NUaW1lLCBmYUJyaWVmY2FzZUNsb2NrLCBmYVRhYmxlQ2VsbHNMYXJnZSwgZmFUaExhcmdlLCBmYUJvb2tUYW5ha2gsIGZhVGFuYWtoLCBmYVBob25lVm9sdW1lLCBmYVZvbHVtZUNvbnRyb2xQaG9uZSwgZmFIYXRDb3dib3lTaWRlLCBmYUNsaXBib2FyZFVzZXIsIGZhQ2hpbGQsIGZhTGlyYVNpZ24sIGZhU2F0ZWxsaXRlLCBmYVBsYW5lTG9jaywgZmFUYWcsIGZhQ29tbWVudCwgZmFDYWtlQ2FuZGxlcywgZmFCaXJ0aGRheUNha2UsIGZhQ2FrZSwgZmFFbnZlbG9wZSwgZmFBbmdsZXNVcCwgZmFBbmdsZURvdWJsZVVwLCBmYVBhcGVyY2xpcCwgZmFBcnJvd1JpZ2h0VG9DaXR5LCBmYVJpYmJvbiwgZmFMdW5ncywgZmFBcnJvd1VwOTEsIGZhU29ydE51bWVyaWNVcEFsdCwgZmFMaXRlY29pblNpZ24sIGZhQm9yZGVyTm9uZSwgZmFDaXJjbGVOb2RlcywgZmFQYXJhY2h1dGVCb3gsIGZhSW5kZW50LCBmYVRydWNrRmllbGRVbiwgZmFIb3VyZ2xhc3MsIGZhSG91cmdsYXNzRW1wdHksIGZhTW91bnRhaW4sIGZhVXNlckRvY3RvciwgZmFVc2VyTWQsIGZhQ2lyY2xlSW5mbywgZmFJbmZvQ2lyY2xlLCBmYUNsb3VkTWVhdGJhbGwsIGZhQ2FtZXJhLCBmYUNhbWVyYUFsdCwgZmFTcXVhcmVWaXJ1cywgZmFNZXRlb3IsIGZhQ2FyT24sIGZhU2xlaWdoLCBmYUFycm93RG93bjE5LCBmYVNvcnROdW1lcmljQXNjLCBmYVNvcnROdW1lcmljRG93biwgZmFIYW5kSG9sZGluZ0Ryb3BsZXQsIGZhSGFuZEhvbGRpbmdXYXRlciwgZmFXYXRlciwgZmFDYWxlbmRhckNoZWNrLCBmYUJyYWlsbGUsIGZhUHJlc2NyaXB0aW9uQm90dGxlTWVkaWNhbCwgZmFQcmVzY3JpcHRpb25Cb3R0bGVBbHQsIGZhTGFuZG1hcmssIGZhVHJ1Y2ssIGZhQ3Jvc3NoYWlycywgZmFQZXJzb25DYW5lLCBmYVRlbnQsIGZhVmVzdFBhdGNoZXMsIGZhQ2hlY2tEb3VibGUsIGZhQXJyb3dEb3duQVosIGZhU29ydEFscGhhQXNjLCBmYVNvcnRBbHBoYURvd24sIGZhTW9uZXlCaWxsV2hlYXQsIGZhQ29va2llLCBmYUFycm93Um90YXRlTGVmdCwgZmFBcnJvd0xlZnRSb3RhdGUsIGZhQXJyb3dSb3RhdGVCYWNrLCBmYUFycm93Um90YXRlQmFja3dhcmQsIGZhVW5kbywgZmFIYXJkRHJpdmUsIGZhSGRkLCBmYUZhY2VHcmluU3F1aW50VGVhcnMsIGZhR3JpblNxdWludFRlYXJzLCBmYUR1bWJiZWxsLCBmYVJlY3RhbmdsZUxpc3QsIGZhTGlzdEFsdCwgZmFUYXJwRHJvcGxldCwgZmFIb3VzZU1lZGljYWxDaXJjbGVDaGVjaywgZmFQZXJzb25Ta2lpbmdOb3JkaWMsIGZhU2tpaW5nTm9yZGljLCBmYUNhbGVuZGFyUGx1cywgZmFQbGFuZUFycml2YWwsIGZhQ2lyY2xlTGVmdCwgZmFBcnJvd0FsdENpcmNsZUxlZnQsIGZhVHJhaW5TdWJ3YXksIGZhU3Vid2F5LCBmYUNoYXJ0R2FudHQsIGZhSW5kaWFuUnVwZWVTaWduLCBmYUluZGlhblJ1cGVlLCBmYUluciwgZmFDcm9wU2ltcGxlLCBmYUNyb3BBbHQsIGZhTW9uZXlCaWxsMSwgZmFNb25leUJpbGxBbHQsIGZhTGVmdExvbmcsIGZhTG9uZ0Fycm93QWx0TGVmdCwgZmFEbmEsIGZhVmlydXNTbGFzaCwgZmFNaW51cywgZmFTdWJ0cmFjdCwgZmFDaGVzcywgZmFBcnJvd0xlZnRMb25nLCBmYUxvbmdBcnJvd0xlZnQsIGZhUGx1Z0NpcmNsZUNoZWNrLCBmYVN0cmVldFZpZXcsIGZhRnJhbmNTaWduLCBmYVZvbHVtZU9mZiwgZmFIYW5kc0FzbEludGVycHJldGluZywgZmFBbWVyaWNhblNpZ25MYW5ndWFnZUludGVycHJldGluZywgZmFBc2xJbnRlcnByZXRpbmcsIGZhSGFuZHNBbWVyaWNhblNpZ25MYW5ndWFnZUludGVycHJldGluZywgZmFHZWFyLCBmYUNvZywgZmFEcm9wbGV0U2xhc2gsIGZhVGludFNsYXNoLCBmYU1vc3F1ZSwgZmFNb3NxdWl0bywgZmFTdGFyT2ZEYXZpZCwgZmFQZXJzb25NaWxpdGFyeVJpZmxlLCBmYUNhcnRTaG9wcGluZywgZmFTaG9wcGluZ0NhcnQsIGZhVmlhbHMsIGZhUGx1Z0NpcmNsZVBsdXMsIGZhUGxhY2VPZldvcnNoaXAsIGZhR3JpcFZlcnRpY2FsLCBmYUFycm93VHVyblVwLCBmYUxldmVsVXAsIGZhVSwgZmFTcXVhcmVSb290VmFyaWFibGUsIGZhU3F1YXJlUm9vdEFsdCwgZmFDbG9jaywgZmFDbG9ja0ZvdXIsIGZhQmFja3dhcmRTdGVwLCBmYVN0ZXBCYWNrd2FyZCwgZmFQYWxsZXQsIGZhRmF1Y2V0LCBmYUJhc2ViYWxsQmF0QmFsbCwgZmFTLCBmYVRpbWVsaW5lLCBmYUtleWJvYXJkLCBmYUNhcmV0RG93biwgZmFIb3VzZUNoaW1uZXlNZWRpY2FsLCBmYUNsaW5pY01lZGljYWwsIGZhVGVtcGVyYXR1cmVUaHJlZVF1YXJ0ZXJzLCBmYVRlbXBlcmF0dXJlMywgZmFUaGVybW9tZXRlcjMsIGZhVGhlcm1vbWV0ZXJUaHJlZVF1YXJ0ZXJzLCBmYU1vYmlsZVNjcmVlbiwgZmFNb2JpbGVBbmRyb2lkQWx0LCBmYVBsYW5lVXAsIGZhUGlnZ3lCYW5rLCBmYUJhdHRlcnlIYWxmLCBmYUJhdHRlcnkzLCBmYU1vdW50YWluQ2l0eSwgZmFDb2lucywgZmFLaGFuZGEsIGZhU2xpZGVycywgZmFTbGlkZXJzSCwgZmFGb2xkZXJUcmVlLCBmYU5ldHdvcmtXaXJlZCwgZmFNYXBQaW4sIGZhSGFtc2EsIGZhQ2VudFNpZ24sIGZhRmxhc2ssIGZhUGVyc29uUHJlZ25hbnQsIGZhV2FuZFNwYXJrbGVzLCBmYUVsbGlwc2lzVmVydGljYWwsIGZhRWxsaXBzaXNWLCBmYVRpY2tldCwgZmFQb3dlck9mZiwgZmFSaWdodExvbmcsIGZhTG9uZ0Fycm93QWx0UmlnaHQsIGZhRmxhZ1VzYSwgZmFMYXB0b3BGaWxlLCBmYVR0eSwgZmFUZWxldHlwZSwgZmFEaWFncmFtTmV4dCwgZmFQZXJzb25SaWZsZSwgZmFIb3VzZU1lZGljYWxDaXJjbGVFeGNsYW1hdGlvbiwgZmFDbG9zZWRDYXB0aW9uaW5nLCBmYVBlcnNvbkhpa2luZywgZmFIaWtpbmcsIGZhVmVudXNEb3VibGUsIGZhSW1hZ2VzLCBmYUNhbGN1bGF0b3IsIGZhUGVvcGxlUHVsbGluZywgZmFOLCBmYUNhYmxlQ2FyLCBmYVRyYW0sIGZhQ2xvdWRSYWluLCBmYUJ1aWxkaW5nQ2lyY2xlWG1hcmssIGZhU2hpcCwgZmFBcnJvd3NEb3duVG9MaW5lLCBmYURvd25sb2FkLCBmYUZhY2VHcmluLCBmYUdyaW4sIGZhRGVsZXRlTGVmdCwgZmFCYWNrc3BhY2UsIGZhRXllRHJvcHBlciwgZmFFeWVEcm9wcGVyRW1wdHksIGZhRXllZHJvcHBlciwgZmFGaWxlQ2lyY2xlQ2hlY2ssIGZhRm9yd2FyZCwgZmFNb2JpbGUsIGZhTW9iaWxlQW5kcm9pZCwgZmFNb2JpbGVQaG9uZSwgZmFGYWNlTWVoLCBmYU1laCwgZmFBbGlnbkNlbnRlciwgZmFCb29rU2t1bGwsIGZhQm9va0RlYWQsIGZhSWRDYXJkLCBmYURyaXZlcnNMaWNlbnNlLCBmYU91dGRlbnQsIGZhRGVkZW50LCBmYUhlYXJ0Q2lyY2xlRXhjbGFtYXRpb24sIGZhSG91c2UsIGZhSG9tZSwgZmFIb21lQWx0LCBmYUhvbWVMZ0FsdCwgZmFDYWxlbmRhcldlZWssIGZhTGFwdG9wTWVkaWNhbCwgZmFCLCBmYUZpbGVNZWRpY2FsLCBmYURpY2VPbmUsIGZhS2l3aUJpcmQsIGZhQXJyb3dSaWdodEFycm93TGVmdCwgZmFFeGNoYW5nZSwgZmFSb3RhdGVSaWdodCwgZmFSZWRvQWx0LCBmYVJvdGF0ZUZvcndhcmQsIGZhVXRlbnNpbHMsIGZhQ3V0bGVyeSwgZmFBcnJvd1VwV2lkZVNob3J0LCBmYVNvcnRBbW91bnRVcCwgZmFNaWxsU2lnbiwgZmFCb3dsUmljZSwgZmFTa3VsbCwgZmFUb3dlckJyb2FkY2FzdCwgZmFCcm9hZGNhc3RUb3dlciwgZmFUcnVja1BpY2t1cCwgZmFVcExvbmcsIGZhTG9uZ0Fycm93QWx0VXAsIGZhU3RvcCwgZmFDb2RlTWVyZ2UsIGZhVXBsb2FkLCBmYUh1cnJpY2FuZSwgZmFNb3VuZCwgZmFUb2lsZXRQb3J0YWJsZSwgZmFDb21wYWN0RGlzYywgZmFGaWxlQXJyb3dEb3duLCBmYUZpbGVEb3dubG9hZCwgZmFDYXJhdmFuLCBmYVNoaWVsZENhdCwgZmFCb2x0LCBmYVphcCwgZmFHbGFzc1dhdGVyLCBmYU9pbFdlbGwsIGZhVmF1bHQsIGZhTWFycywgZmFUb2lsZXQsIGZhUGxhbmVDaXJjbGVYbWFyaywgZmFZZW5TaWduLCBmYUNueSwgZmFKcHksIGZhUm1iLCBmYVllbiwgZmFSdWJsZVNpZ24sIGZhUm91YmxlLCBmYVJ1YiwgZmFSdWJsZSwgZmFTdW4sIGZhR3VpdGFyLCBmYUZhY2VMYXVnaFdpbmssIGZhTGF1Z2hXaW5rLCBmYUhvcnNlSGVhZCwgZmFCb3JlSG9sZSwgZmFJbmR1c3RyeSwgZmFDaXJjbGVEb3duLCBmYUFycm93QWx0Q2lyY2xlRG93biwgZmFBcnJvd3NUdXJuVG9Eb3RzLCBmYUZsb3JpblNpZ24sIGZhQXJyb3dEb3duU2hvcnRXaWRlLCBmYVNvcnRBbW91bnREZXNjLCBmYVNvcnRBbW91bnREb3duQWx0LCBmYUxlc3NUaGFuLCBmYUFuZ2xlRG93biwgZmFDYXJUdW5uZWwsIGZhSGVhZFNpZGVDb3VnaCwgZmFHcmlwTGluZXMsIGZhVGh1bWJzRG93biwgZmFVc2VyTG9jaywgZmFBcnJvd1JpZ2h0TG9uZywgZmFMb25nQXJyb3dSaWdodCwgZmFBbmNob3JDaXJjbGVYbWFyaywgZmFFbGxpcHNpcywgZmFFbGxpcHNpc0gsIGZhQ2hlc3NQYXduLCBmYUtpdE1lZGljYWwsIGZhRmlyc3RBaWQsIGZhUGVyc29uVGhyb3VnaFdpbmRvdywgZmFUb29sYm94LCBmYUhhbmRzSG9sZGluZ0NpcmNsZSwgZmFCdWcsIGZhQ3JlZGl0Q2FyZCwgZmFDcmVkaXRDYXJkQWx0LCBmYUNhciwgZmFBdXRvbW9iaWxlLCBmYUhhbmRIb2xkaW5nSGFuZCwgZmFCb29rT3BlblJlYWRlciwgZmFCb29rUmVhZGVyLCBmYU1vdW50YWluU3VuLCBmYUFycm93c0xlZnRSaWdodFRvTGluZSwgZmFEaWNlRDIwLCBmYVRydWNrRHJvcGxldCwgZmFGaWxlQ2lyY2xlWG1hcmssIGZhVGVtcGVyYXR1cmVBcnJvd1VwLCBmYVRlbXBlcmF0dXJlVXAsIGZhTWVkYWwsIGZhQmVkLCBmYVNxdWFyZUgsIGZhSFNxdWFyZSwgZmFQb2RjYXN0LCBmYVRlbXBlcmF0dXJlRnVsbCwgZmFUZW1wZXJhdHVyZTQsIGZhVGhlcm1vbWV0ZXI0LCBmYVRoZXJtb21ldGVyRnVsbCwgZmFCZWxsLCBmYVN1cGVyc2NyaXB0LCBmYVBsdWdDaXJjbGVYbWFyaywgZmFTdGFyT2ZMaWZlLCBmYVBob25lU2xhc2gsIGZhUGFpbnRSb2xsZXIsIGZhSGFuZHNoYWtlQW5nbGUsIGZhSGFuZHNIZWxwaW5nLCBmYUxvY2F0aW9uRG90LCBmYU1hcE1hcmtlckFsdCwgZmFGaWxlLCBmYUdyZWF0ZXJUaGFuLCBmYVBlcnNvblN3aW1taW5nLCBmYVN3aW1tZXIsIGZhQXJyb3dEb3duLCBmYURyb3BsZXQsIGZhVGludCwgZmFFcmFzZXIsIGZhRWFydGhBbWVyaWNhcywgZmFFYXJ0aCwgZmFFYXJ0aEFtZXJpY2EsIGZhR2xvYmVBbWVyaWNhcywgZmFQZXJzb25CdXJzdCwgZmFEb3ZlLCBmYUJhdHRlcnlFbXB0eSwgZmFCYXR0ZXJ5MCwgZmFTb2NrcywgZmFJbmJveCwgZmFTZWN0aW9uLCBmYUdhdWdlSGlnaCwgZmFUYWNob21ldGVyQWx0LCBmYVRhY2hvbWV0ZXJBbHRGYXN0LCBmYUVudmVsb3BlT3BlblRleHQsIGZhSG9zcGl0YWwsIGZhSG9zcGl0YWxBbHQsIGZhSG9zcGl0YWxXaWRlLCBmYVdpbmVCb3R0bGUsIGZhQ2hlc3NSb29rLCBmYUJhcnNTdGFnZ2VyZWQsIGZhUmVvcmRlciwgZmFTdHJlYW0sIGZhRGhhcm1hY2hha3JhLCBmYUhvdGRvZywgZmFQZXJzb25XYWxraW5nV2l0aENhbmUsIGZhQmxpbmQsIGZhRHJ1bSwgZmFJY2VDcmVhbSwgZmFIZWFydENpcmNsZUJvbHQsIGZhRmF4LCBmYVBhcmFncmFwaCwgZmFDaGVja1RvU2xvdCwgZmFWb3RlWWVhLCBmYVN0YXJIYWxmLCBmYUJveGVzU3RhY2tlZCwgZmFCb3hlcywgZmFCb3hlc0FsdCwgZmFMaW5rLCBmYUNoYWluLCBmYUVhckxpc3RlbiwgZmFBc3Npc3RpdmVMaXN0ZW5pbmdTeXN0ZW1zLCBmYVRyZWVDaXR5LCBmYVBsYXksIGZhRm9udCwgZmFUYWJsZUNlbGxzUm93TG9jaywgZmFSdXBpYWhTaWduLCBmYU1hZ25pZnlpbmdHbGFzcywgZmFTZWFyY2gsIGZhVGFibGVUZW5uaXNQYWRkbGVCYWxsLCBmYVBpbmdQb25nUGFkZGxlQmFsbCwgZmFUYWJsZVRlbm5pcywgZmFQZXJzb25Eb3RzRnJvbUxpbmUsIGZhRGlhZ25vc2VzLCBmYVRyYXNoQ2FuQXJyb3dVcCwgZmFUcmFzaFJlc3RvcmVBbHQsIGZhTmFpcmFTaWduLCBmYUNhcnRBcnJvd0Rvd24sIGZhV2Fsa2llVGFsa2llLCBmYUZpbGVQZW4sIGZhRmlsZUVkaXQsIGZhUmVjZWlwdCwgZmFTcXVhcmVQZW4sIGZhUGVuU3F1YXJlLCBmYVBlbmNpbFNxdWFyZSwgZmFTdWl0Y2FzZVJvbGxpbmcsIGZhUGVyc29uQ2lyY2xlRXhjbGFtYXRpb24sIGZhQ2hldnJvbkRvd24sIGZhQmF0dGVyeUZ1bGwsIGZhQmF0dGVyeSwgZmFCYXR0ZXJ5NSwgZmFTa3VsbENyb3NzYm9uZXMsIGZhQ29kZUNvbXBhcmUsIGZhTGlzdFVsLCBmYUxpc3REb3RzLCBmYVNjaG9vbExvY2ssIGZhVG93ZXJDZWxsLCBmYURvd25Mb25nLCBmYUxvbmdBcnJvd0FsdERvd24sIGZhUmFua2luZ1N0YXIsIGZhQ2hlc3NLaW5nLCBmYVBlcnNvbkhhcmFzc2luZywgZmFCcmF6aWxpYW5SZWFsU2lnbiwgZmFMYW5kbWFya0RvbWUsIGZhTGFuZG1hcmtBbHQsIGZhQXJyb3dVcCwgZmFUdiwgZmFUZWxldmlzaW9uLCBmYVR2QWx0LCBmYVNocmltcCwgZmFMaXN0Q2hlY2ssIGZhVGFza3MsIGZhSnVnRGV0ZXJnZW50LCBmYUNpcmNsZVVzZXIsIGZhVXNlckNpcmNsZSwgZmFVc2VyU2hpZWxkLCBmYVdpbmQsIGZhQ2FyQnVyc3QsIGZhQ2FyQ3Jhc2gsIGZhWSwgZmFQZXJzb25Tbm93Ym9hcmRpbmcsIGZhU25vd2JvYXJkaW5nLCBmYVRydWNrRmFzdCwgZmFTaGlwcGluZ0Zhc3QsIGZhRmlzaCwgZmFVc2VyR3JhZHVhdGUsIGZhQ2lyY2xlSGFsZlN0cm9rZSwgZmFBZGp1c3QsIGZhQ2xhcHBlcmJvYXJkLCBmYUNpcmNsZVJhZGlhdGlvbiwgZmFSYWRpYXRpb25BbHQsIGZhQmFzZWJhbGwsIGZhQmFzZWJhbGxCYWxsLCBmYUpldEZpZ2h0ZXJVcCwgZmFEaWFncmFtUHJvamVjdCwgZmFQcm9qZWN0RGlhZ3JhbSwgZmFDb3B5LCBmYVZvbHVtZVhtYXJrLCBmYVZvbHVtZU11dGUsIGZhVm9sdW1lVGltZXMsIGZhSGFuZFNwYXJrbGVzLCBmYUdyaXAsIGZhR3JpcEhvcml6b250YWwsIGZhU2hhcmVGcm9tU3F1YXJlLCBmYVNoYXJlU3F1YXJlLCBmYUNoaWxkQ29tYmF0YW50LCBmYUNoaWxkUmlmbGUsIGZhR3VuLCBmYVNxdWFyZVBob25lLCBmYVBob25lU3F1YXJlLCBmYVBsdXMsIGZhQWRkLCBmYUV4cGFuZCwgZmFDb21wdXRlciwgZmFYbWFyaywgZmFDbG9zZSwgZmFNdWx0aXBseSwgZmFSZW1vdmUsIGZhVGltZXMsIGZhQXJyb3dzVXBEb3duTGVmdFJpZ2h0LCBmYUFycm93cywgZmFDaGFsa2JvYXJkVXNlciwgZmFDaGFsa2JvYXJkVGVhY2hlciwgZmFQZXNvU2lnbiwgZmFCdWlsZGluZ1NoaWVsZCwgZmFCYWJ5LCBmYVVzZXJzTGluZSwgZmFRdW90ZUxlZnQsIGZhUXVvdGVMZWZ0QWx0LCBmYVRyYWN0b3IsIGZhVHJhc2hBcnJvd1VwLCBmYVRyYXNoUmVzdG9yZSwgZmFBcnJvd0Rvd25VcExvY2ssIGZhTGluZXNMZWFuaW5nLCBmYVJ1bGVyQ29tYmluZWQsIGZhQ29weXJpZ2h0LCBmYUVxdWFscywgZmFCbGVuZGVyLCBmYVRlZXRoLCBmYVNoZWtlbFNpZ24sIGZhSWxzLCBmYVNoZWtlbCwgZmFTaGVxZWwsIGZhU2hlcWVsU2lnbiwgZmFNYXAsIGZhUm9ja2V0LCBmYVBob3RvRmlsbSwgZmFQaG90b1ZpZGVvLCBmYUZvbGRlck1pbnVzLCBmYVN0b3JlLCBmYUFycm93VHJlbmRVcCwgZmFQbHVnQ2lyY2xlTWludXMsIGZhU2lnbkhhbmdpbmcsIGZhU2lnbiwgZmFCZXppZXJDdXJ2ZSwgZmFCZWxsU2xhc2gsIGZhVGFibGV0LCBmYVRhYmxldEFuZHJvaWQsIGZhU2Nob29sRmxhZywgZmFGaWxsLCBmYUFuZ2xlVXAsIGZhRHJ1bXN0aWNrQml0ZSwgZmFIb2xseUJlcnJ5LCBmYUNoZXZyb25MZWZ0LCBmYUJhY3RlcmlhLCBmYUhhbmRMaXphcmQsIGZhTm90ZGVmLCBmYURpc2Vhc2UsIGZhQnJpZWZjYXNlTWVkaWNhbCwgZmFHZW5kZXJsZXNzLCBmYUNoZXZyb25SaWdodCwgZmFSZXR3ZWV0LCBmYUNhclJlYXIsIGZhQ2FyQWx0LCBmYVB1bXBTb2FwLCBmYVZpZGVvU2xhc2gsIGZhQmF0dGVyeVF1YXJ0ZXIsIGZhQmF0dGVyeTIsIGZhUmFkaW8sIGZhQmFieUNhcnJpYWdlLCBmYUNhcnJpYWdlQmFieSwgZmFUcmFmZmljTGlnaHQsIGZhVGhlcm1vbWV0ZXIsIGZhVnJDYXJkYm9hcmQsIGZhSGFuZE1pZGRsZUZpbmdlciwgZmFQZXJjZW50LCBmYVBlcmNlbnRhZ2UsIGZhVHJ1Y2tNb3ZpbmcsIGZhR2xhc3NXYXRlckRyb3BsZXQsIGZhRGlzcGxheSwgZmFGYWNlU21pbGUsIGZhU21pbGUsIGZhVGh1bWJ0YWNrLCBmYVRodW1iVGFjaywgZmFUcm9waHksIGZhUGVyc29uUHJheWluZywgZmFQcmF5LCBmYUhhbW1lciwgZmFIYW5kUGVhY2UsIGZhUm90YXRlLCBmYVN5bmNBbHQsIGZhU3Bpbm5lciwgZmFSb2JvdCwgZmFQZWFjZSwgZmFHZWFycywgZmFDb2dzLCBmYVdhcmVob3VzZSwgZmFBcnJvd1VwUmlnaHREb3RzLCBmYVNwbG90Y2gsIGZhRmFjZUdyaW5IZWFydHMsIGZhR3JpbkhlYXJ0cywgZmFEaWNlRm91ciwgZmFTaW1DYXJkLCBmYVRyYW5zZ2VuZGVyLCBmYVRyYW5zZ2VuZGVyQWx0LCBmYU1lcmN1cnksIGZhQXJyb3dUdXJuRG93biwgZmFMZXZlbERvd24sIGZhUGVyc29uRmFsbGluZ0J1cnN0LCBmYUF3YXJkLCBmYVRpY2tldFNpbXBsZSwgZmFUaWNrZXRBbHQsIGZhQnVpbGRpbmcsIGZhQW5nbGVzTGVmdCwgZmFBbmdsZURvdWJsZUxlZnQsIGZhUXJjb2RlLCBmYUNsb2NrUm90YXRlTGVmdCwgZmFIaXN0b3J5LCBmYUZhY2VHcmluQmVhbVN3ZWF0LCBmYUdyaW5CZWFtU3dlYXQsIGZhRmlsZUV4cG9ydCwgZmFBcnJvd1JpZ2h0RnJvbUZpbGUsIGZhU2hpZWxkLCBmYVNoaWVsZEJsYW5rLCBmYUFycm93VXBTaG9ydFdpZGUsIGZhU29ydEFtb3VudFVwQWx0LCBmYUhvdXNlTWVkaWNhbCwgZmFHb2xmQmFsbFRlZSwgZmFHb2xmQmFsbCwgZmFDaXJjbGVDaGV2cm9uTGVmdCwgZmFDaGV2cm9uQ2lyY2xlTGVmdCwgZmFIb3VzZUNoaW1uZXlXaW5kb3csIGZhUGVuTmliLCBmYVRlbnRBcnJvd1R1cm5MZWZ0LCBmYVRlbnRzLCBmYVdhbmRNYWdpYywgZmFNYWdpYywgZmFEb2csIGZhQ2Fycm90LCBmYU1vb24sIGZhV2luZUdsYXNzRW1wdHksIGZhV2luZUdsYXNzQWx0LCBmYUNoZWVzZSwgZmFZaW5ZYW5nLCBmYU11c2ljLCBmYUNvZGVDb21taXQsIGZhVGVtcGVyYXR1cmVMb3csIGZhUGVyc29uQmlraW5nLCBmYUJpa2luZywgZmFCcm9vbSwgZmFTaGllbGRIZWFydCwgZmFHb3B1cmFtLCBmYUVhcnRoT2NlYW5pYSwgZmFHbG9iZU9jZWFuaWEsIGZhU3F1YXJlWG1hcmssIGZhVGltZXNTcXVhcmUsIGZhWG1hcmtTcXVhcmUsIGZhSGFzaHRhZywgZmFVcFJpZ2h0QW5kRG93bkxlZnRGcm9tQ2VudGVyLCBmYUV4cGFuZEFsdCwgZmFPaWxDYW4sIGZhVCwgZmFIaXBwbywgZmFDaGFydENvbHVtbiwgZmFJbmZpbml0eSwgZmFWaWFsQ2lyY2xlQ2hlY2ssIGZhUGVyc29uQXJyb3dEb3duVG9MaW5lLCBmYVZvaWNlbWFpbCwgZmFGYW4sIGZhUGVyc29uV2Fsa2luZ0x1Z2dhZ2UsIGZhVXBEb3duLCBmYUFycm93c0FsdFYsIGZhQ2xvdWRNb29uUmFpbiwgZmFDYWxlbmRhciwgZmFUcmFpbGVyLCBmYUJhaGFpLCBmYUhheWthbCwgZmFTZENhcmQsIGZhRHJhZ29uLCBmYVNob2VQcmludHMsIGZhQ2lyY2xlUGx1cywgZmFQbHVzQ2lyY2xlLCBmYUZhY2VHcmluVG9uZ3VlV2luaywgZmFHcmluVG9uZ3VlV2luaywgZmFIYW5kSG9sZGluZywgZmFQbHVnQ2lyY2xlRXhjbGFtYXRpb24sIGZhTGlua1NsYXNoLCBmYUNoYWluQnJva2VuLCBmYUNoYWluU2xhc2gsIGZhVW5saW5rLCBmYUNsb25lLCBmYVBlcnNvbldhbGtpbmdBcnJvd0xvb3BMZWZ0LCBmYUFycm93VXBaQSwgZmFTb3J0QWxwaGFVcEFsdCwgZmFGaXJlRmxhbWVDdXJ2ZWQsIGZhRmlyZUFsdCwgZmFUb3JuYWRvLCBmYUZpbGVDaXJjbGVQbHVzLCBmYUJvb2tRdXJhbiwgZmFRdXJhbiwgZmFBbmNob3IsIGZhQm9yZGVyQWxsLCBmYUZhY2VBbmdyeSwgZmFBbmdyeSwgZmFDb29raWVCaXRlLCBmYUFycm93VHJlbmREb3duLCBmYVJzcywgZmFGZWVkLCBmYURyYXdQb2x5Z29uLCBmYVNjYWxlQmFsYW5jZWQsIGZhQmFsYW5jZVNjYWxlLCBmYUdhdWdlU2ltcGxlSGlnaCwgZmFUYWNob21ldGVyLCBmYVRhY2hvbWV0ZXJGYXN0LCBmYVNob3dlciwgZmFEZXNrdG9wLCBmYURlc2t0b3BBbHQsIGZhTSwgZmFUYWJsZUxpc3QsIGZhVGhMaXN0LCBmYUNvbW1lbnRTbXMsIGZhU21zLCBmYUJvb2ssIGZhVXNlclBsdXMsIGZhQ2hlY2ssIGZhQmF0dGVyeVRocmVlUXVhcnRlcnMsIGZhQmF0dGVyeTQsIGZhSG91c2VDaXJjbGVDaGVjaywgZmFBbmdsZUxlZnQsIGZhRGlhZ3JhbVN1Y2Nlc3NvciwgZmFUcnVja0Fycm93UmlnaHQsIGZhQXJyb3dzU3BsaXRVcEFuZExlZnQsIGZhSGFuZEZpc3QsIGZhRmlzdFJhaXNlZCwgZmFDbG91ZE1vb24sIGZhQnJpZWZjYXNlLCBmYVBlcnNvbkZhbGxpbmcsIGZhSW1hZ2VQb3J0cmFpdCwgZmFQb3J0cmFpdCwgZmFVc2VyVGFnLCBmYVJ1ZywgZmFFYXJ0aEV1cm9wZSwgZmFHbG9iZUV1cm9wZSwgZmFDYXJ0RmxhdGJlZFN1aXRjYXNlLCBmYUx1Z2dhZ2VDYXJ0LCBmYVJlY3RhbmdsZVhtYXJrLCBmYVJlY3RhbmdsZVRpbWVzLCBmYVRpbWVzUmVjdGFuZ2xlLCBmYVdpbmRvd0Nsb3NlLCBmYUJhaHRTaWduLCBmYUJvb2tPcGVuLCBmYUJvb2tKb3VybmFsV2hpbGxzLCBmYUpvdXJuYWxXaGlsbHMsIGZhSGFuZGN1ZmZzLCBmYVRyaWFuZ2xlRXhjbGFtYXRpb24sIGZhRXhjbGFtYXRpb25UcmlhbmdsZSwgZmFXYXJuaW5nLCBmYURhdGFiYXNlLCBmYVNoYXJlLCBmYU1haWxGb3J3YXJkLCBmYUJvdHRsZURyb3BsZXQsIGZhTWFza0ZhY2UsIGZhSGlsbFJvY2tzbGlkZSwgZmFSaWdodExlZnQsIGZhRXhjaGFuZ2VBbHQsIGZhUGFwZXJQbGFuZSwgZmFSb2FkQ2lyY2xlRXhjbGFtYXRpb24sIGZhRHVuZ2VvbiwgZmFBbGlnblJpZ2h0LCBmYU1vbmV5QmlsbDFXYXZlLCBmYU1vbmV5QmlsbFdhdmVBbHQsIGZhTGlmZVJpbmcsIGZhSGFuZHMsIGZhU2lnbkxhbmd1YWdlLCBmYVNpZ25pbmcsIGZhQ2FsZW5kYXJEYXksIGZhV2F0ZXJMYWRkZXIsIGZhTGFkZGVyV2F0ZXIsIGZhU3dpbW1pbmdQb29sLCBmYUFycm93c1VwRG93biwgZmFBcnJvd3NWLCBmYUZhY2VHcmltYWNlLCBmYUdyaW1hY2UsIGZhV2hlZWxjaGFpck1vdmUsIGZhV2hlZWxjaGFpckFsdCwgZmFUdXJuRG93biwgZmFMZXZlbERvd25BbHQsIGZhUGVyc29uV2Fsa2luZ0Fycm93UmlnaHQsIGZhU3F1YXJlRW52ZWxvcGUsIGZhRW52ZWxvcGVTcXVhcmUsIGZhRGljZSwgZmFCb3dsaW5nQmFsbCwgZmFCcmFpbiwgZmFCYW5kYWdlLCBmYUJhbmRBaWQsIGZhQ2FsZW5kYXJNaW51cywgZmFDaXJjbGVYbWFyaywgZmFUaW1lc0NpcmNsZSwgZmFYbWFya0NpcmNsZSwgZmFHaWZ0cywgZmFIb3RlbCwgZmFFYXJ0aEFzaWEsIGZhR2xvYmVBc2lhLCBmYUlkQ2FyZENsaXAsIGZhSWRDYXJkQWx0LCBmYU1hZ25pZnlpbmdHbGFzc1BsdXMsIGZhU2VhcmNoUGx1cywgZmFUaHVtYnNVcCwgZmFVc2VyQ2xvY2ssIGZhSGFuZERvdHMsIGZhQWxsZXJnaWVzLCBmYUZpbGVJbnZvaWNlLCBmYVdpbmRvd01pbmltaXplLCBmYU11Z1NhdWNlciwgZmFDb2ZmZWUsIGZhQnJ1c2gsIGZhTWFzaywgZmFNYWduaWZ5aW5nR2xhc3NNaW51cywgZmFTZWFyY2hNaW51cywgZmFSdWxlclZlcnRpY2FsLCBmYVVzZXJMYXJnZSwgZmFVc2VyQWx0LCBmYVRyYWluVHJhbSwgZmFVc2VyTnVyc2UsIGZhU3lyaW5nZSwgZmFDbG91ZFN1biwgZmFTdG9wd2F0Y2gyMCwgZmFTcXVhcmVGdWxsLCBmYU1hZ25ldCwgZmFKYXIsIGZhTm90ZVN0aWNreSwgZmFTdGlja3lOb3RlLCBmYUJ1Z1NsYXNoLCBmYUFycm93VXBGcm9tV2F0ZXJQdW1wLCBmYUJvbmUsIGZhVXNlckluanVyZWQsIGZhRmFjZVNhZFRlYXIsIGZhU2FkVGVhciwgZmFQbGFuZSwgZmFUZW50QXJyb3dzRG93biwgZmFFeGNsYW1hdGlvbiwgZmFBcnJvd3NTcGluLCBmYVByaW50LCBmYVR1cmtpc2hMaXJhU2lnbiwgZmFUcnksIGZhVHVya2lzaExpcmEsIGZhRG9sbGFyU2lnbiwgZmFEb2xsYXIsIGZhVXNkLCBmYVgsIGZhTWFnbmlmeWluZ0dsYXNzRG9sbGFyLCBmYVNlYXJjaERvbGxhciwgZmFVc2Vyc0dlYXIsIGZhVXNlcnNDb2csIGZhUGVyc29uTWlsaXRhcnlQb2ludGluZywgZmFCdWlsZGluZ0NvbHVtbnMsIGZhQmFuaywgZmFJbnN0aXR1dGlvbiwgZmFNdXNldW0sIGZhVW5pdmVyc2l0eSwgZmFVbWJyZWxsYSwgZmFUcm93ZWwsIGZhRCwgZmFTdGFwbGVyLCBmYU1hc2tzVGhlYXRlciwgZmFUaGVhdGVyTWFza3MsIGZhS2lwU2lnbiwgZmFIYW5kUG9pbnRMZWZ0LCBmYUhhbmRzaGFrZVNpbXBsZSwgZmFIYW5kc2hha2VBbHQsIGZhSmV0RmlnaHRlciwgZmFGaWdodGVySmV0LCBmYVNxdWFyZVNoYXJlTm9kZXMsIGZhU2hhcmVBbHRTcXVhcmUsIGZhQmFyY29kZSwgZmFQbHVzTWludXMsIGZhVmlkZW8sIGZhVmlkZW9DYW1lcmEsIGZhR3JhZHVhdGlvbkNhcCwgZmFNb3J0YXJCb2FyZCwgZmFIYW5kSG9sZGluZ01lZGljYWwsIGZhUGVyc29uQ2lyY2xlQ2hlY2ssIGZhVHVyblVwLCBmYUxldmVsVXBBbHQgfTtcbiIsIi8vIFRoZSBtb2R1bGUgY2FjaGVcbnZhciBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18gPSB7fTtcblxuLy8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbmZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG5cdHZhciBjYWNoZWRNb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdO1xuXHRpZiAoY2FjaGVkTW9kdWxlICE9PSB1bmRlZmluZWQpIHtcblx0XHRyZXR1cm4gY2FjaGVkTW9kdWxlLmV4cG9ydHM7XG5cdH1cblx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcblx0dmFyIG1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0gPSB7XG5cdFx0Ly8gbm8gbW9kdWxlLmlkIG5lZWRlZFxuXHRcdC8vIG5vIG1vZHVsZS5sb2FkZWQgbmVlZGVkXG5cdFx0ZXhwb3J0czoge31cblx0fTtcblxuXHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cblx0X193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cblx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcblx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xufVxuXG4iLCIvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuX193ZWJwYWNrX3JlcXVpcmVfXy5uID0gKG1vZHVsZSkgPT4ge1xuXHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cblx0XHQoKSA9PiAobW9kdWxlWydkZWZhdWx0J10pIDpcblx0XHQoKSA9PiAobW9kdWxlKTtcblx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgeyBhOiBnZXR0ZXIgfSk7XG5cdHJldHVybiBnZXR0ZXI7XG59OyIsIi8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb25zIGZvciBoYXJtb255IGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uZCA9IChleHBvcnRzLCBkZWZpbml0aW9uKSA9PiB7XG5cdGZvcih2YXIga2V5IGluIGRlZmluaXRpb24pIHtcblx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZGVmaW5pdGlvbiwga2V5KSAmJiAhX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIGtleSkpIHtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBrZXksIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBkZWZpbml0aW9uW2tleV0gfSk7XG5cdFx0fVxuXHR9XG59OyIsIl9fd2VicGFja19yZXF1aXJlX18uZyA9IChmdW5jdGlvbigpIHtcblx0aWYgKHR5cGVvZiBnbG9iYWxUaGlzID09PSAnb2JqZWN0JykgcmV0dXJuIGdsb2JhbFRoaXM7XG5cdHRyeSB7XG5cdFx0cmV0dXJuIHRoaXMgfHwgbmV3IEZ1bmN0aW9uKCdyZXR1cm4gdGhpcycpKCk7XG5cdH0gY2F0Y2ggKGUpIHtcblx0XHRpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ29iamVjdCcpIHJldHVybiB3aW5kb3c7XG5cdH1cbn0pKCk7IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5vID0gKG9iaiwgcHJvcCkgPT4gKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApKSIsIi8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uciA9IChleHBvcnRzKSA9PiB7XG5cdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuXHR9XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG59OyIsIiIsIi8vIHN0YXJ0dXBcbi8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuLy8gVGhpcyBlbnRyeSBtb2R1bGUgaXMgcmVmZXJlbmNlZCBieSBvdGhlciBtb2R1bGVzIHNvIGl0IGNhbid0IGJlIGlubGluZWRcbnZhciBfX3dlYnBhY2tfZXhwb3J0c19fID0gX193ZWJwYWNrX3JlcXVpcmVfXyhcIi4vY2xpZW50L3NyYy9qcy9pbmRleC5qc1wiKTtcbiIsIiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QzNCQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUNuRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlEQUF5RDtBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtB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O0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxTQUFTO0FBQ3BCLFlBQVksU0FBUztBQUNyQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFlBQVksU0FBUztBQUNyQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFlBQVksU0FBUztBQUNyQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFlBQVksU0FBUztBQUNyQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFNBQVM7QUFDckI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFVBQVU7QUFDckIsWUFBWSxTQUFTO0FBQ3JCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQiwyQkFBMkI7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsSUFBSSxPQUFPO0FBQ1g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0Esa0JBQWtCLGdCQUFnQjtBQUNsQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FB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QUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQThDLE9BQU87QUFDckQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixXQUFXLFVBQVU7QUFDckIsV0FBVyxRQUFRO0FBQ25CLFlBQVksUUFBUTtBQUNwQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsV0FBVyxVQUFVO0FBQ3JCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsT0FBTztBQUNQLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7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O0FBQ0EsVUFBVTtBQUNWLDJEQUEyRDtBQUMzRDtBQUNBLFFBQVE7QUFDUjs7QUFFQTtBQUNBO0FBQ0EsTUFBTTs7QUFFTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7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Q0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLE9BQU87QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVB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Q0E7O0FBRUEsc0JBQXNCO0FBQ3RCOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQSx3QkFBd0Isa0JBQWtCO0FBQzFDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7Ozs7Ozs7Ozs7OztBQzNsQkE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxPQUFPO0FBQ25CO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7OztBQ2xCQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7QUFDckM7QUFDQSxLQUFLO0FBQ0wsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDO0FBQ3RDO0FBQ0E7QUFDQSwyQ0FBMkM7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztB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QSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLENBQUM7O0FBRUQ7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBOztBQUVBLDhDQUE4Qzs7QUFFOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUMsR0FBRzs7QUFFSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx3Q0FBd0MsUUFBUTtBQUNoRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx5Q0FBeUMsSUFBSTtBQUM3QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7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QUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFFQUFxRSxhQUFhO0FBQ2xGO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCLEtBQUs7QUFDTDtBQUNBO0FBQ0Esa0RBQWtELGlCQUFpQjtBQUNuRTtBQUNBLE9BQU87QUFDUDtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxnREFBZ0QsdUJBQXVCO0FBQ3ZFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxJQUFJOztBQUVKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUEsNkNBQTZDLGNBQWM7QUFDM0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEM7QUFDNUMsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0VBQWtFO0FBQ2xFO0FBQ0EsSUFBSSxJQUFJLEtBQUs7QUFDYjtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBOztBQUVBLGdDQUFnQzs7QUFFaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtFQUFrRTtBQUNsRTtBQUNBLElBQUksSUFBSSxLQUFLO0FBQ2I7QUFDQSxHQUFHOztBQUVIOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDRDQUE0QyxpQ0FBaUM7QUFDN0UsNEZBQTRGO0FBQzVGLEtBQUs7QUFDTCxHQUFHO0FBQ0g7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLGtDQUFrQztBQUNsQzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPOztBQUVQOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7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O0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWCxTQUFTO0FBQ1QsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLFdBQVc7QUFDWCxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0REFBNEQ7QUFDNUQ7QUFDQSxvREFBb0Q7QUFDcEQ7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0REFBNEQ7QUFDNUQ7QUFDQSxvREFBb0Q7QUFDcEQ7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0EsdURBQXVEO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWCxTQUFTO0FBQ1Q7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0ZBQWdGLFdBQVc7QUFDM0Y7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVzs7QUFFWDs7QUFFQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0EsU0FBUztBQUNULFFBQVE7QUFDUjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsMERBQTBEO0FBQzFELE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7QUFDQTtB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMxZ0d6TTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFNHMyQjs7Ozs7OztVQzF3UzVzMkI7VUFDQTs7VUFFQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTs7VUFFQTtVQUNBOztVQUVBO1VBQ0E7VUFDQTs7Ozs7V0N0QkE7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBLGlDQUFpQyxXQUFXO1dBQzVDO1dBQ0E7Ozs7O1dDUEE7V0FDQTtXQUNBO1dBQ0E7V0FDQSx5Q0FBeUMsd0NBQXdDO1dBQ2pGO1dBQ0E7V0FDQTs7Ozs7V0NQQTtXQUNBO1dBQ0E7V0FDQTtXQUNBLEdBQUc7V0FDSDtXQUNBO1dBQ0EsQ0FBQzs7Ozs7V0NQRDs7Ozs7V0NBQTtXQUNBO1dBQ0E7V0FDQSx1REFBdUQsaUJBQWlCO1dBQ3hFO1dBQ0EsZ0RBQWdELGFBQWE7V0FDN0Q7Ozs7O1VFTkE7VUFDQTtVQUNBO1VBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL2NsaWVudC9zcmMvanMvY2xpZW50bG9nLmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vY2xpZW50L3NyYy9qcy9kb20uanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9jbGllbnQvc3JjL2pzL2luZGV4LmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vY2xpZW50L3NyYy9qcy9zZXR0aW5ncy5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL2NsaWVudC9zcmMvanMvc29ja2V0LmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vY2xpZW50L3NyYy9qcy9zdGF0ZS5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL2NsaWVudC9zcmMvanMvdGVybWluYWwuanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9jbGllbnQvc3JjL2pzL3V0aWxzLmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL0B4dGVybS9hZGRvbi1maXQvbGliL2FkZG9uLWZpdC5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9AeHRlcm0veHRlcm0vbGliL3h0ZXJtLmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL2FmdGVyL2luZGV4LmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL2FycmF5YnVmZmVyLnNsaWNlL2luZGV4LmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL2JhY2tvMi9pbmRleC5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9ibG9iL2luZGV4LmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL2NvbXBvbmVudC1iaW5kL2luZGV4LmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL2NvbXBvbmVudC1lbWl0dGVyL2luZGV4LmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL2NvbXBvbmVudC1pbmhlcml0L2luZGV4LmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL2RlYnVnL25vZGVfbW9kdWxlcy9tcy9pbmRleC5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9kZWJ1Zy9zcmMvYnJvd3Nlci5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9kZWJ1Zy9zcmMvY29tbW9uLmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL2hhcy1iaW5hcnkyL2luZGV4LmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL2hhcy1jb3JzL2luZGV4LmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL2luZGV4b2YvaW5kZXguanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvaXNhcnJheS9pbmRleC5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9qc21hc2tlci9kaXN0L2pzbWFza2VyLm1pbi5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL2NsaWVudC9zcmMvY3NzL21lbnUuY3NzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vY2xpZW50L3NyYy9jc3Mvc3R5bGUuY3NzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vY2xpZW50L3NyYy9jc3MvdGVybWluYWwuY3NzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL0B4dGVybS94dGVybS9jc3MveHRlcm0uY3NzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL3B1cmVjc3MvYnVpbGQvcHVyZS5jc3MiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvbXMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvc29ja2V0LmlvLWNsaWVudC9saWIvaW5kZXguanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvc29ja2V0LmlvLWNsaWVudC9saWIvbWFuYWdlci5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9zb2NrZXQuaW8tY2xpZW50L2xpYi9vbi5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9zb2NrZXQuaW8tY2xpZW50L2xpYi9zb2NrZXQuanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvc29ja2V0LmlvLWNsaWVudC9saWIvdXJsLmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL3NvY2tldC5pby1jbGllbnQvbm9kZV9tb2R1bGVzL2Jhc2U2NC1hcnJheWJ1ZmZlci9saWIvYmFzZTY0LWFycmF5YnVmZmVyLmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL3NvY2tldC5pby1jbGllbnQvbm9kZV9tb2R1bGVzL2NvbXBvbmVudC1lbWl0dGVyL2luZGV4LmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL3NvY2tldC5pby1jbGllbnQvbm9kZV9tb2R1bGVzL2RlYnVnL3NyYy9icm93c2VyLmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL3NvY2tldC5pby1jbGllbnQvbm9kZV9tb2R1bGVzL2RlYnVnL3NyYy9kZWJ1Zy5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9zb2NrZXQuaW8tY2xpZW50L25vZGVfbW9kdWxlcy9lbmdpbmUuaW8tY2xpZW50L2xpYi9pbmRleC5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9zb2NrZXQuaW8tY2xpZW50L25vZGVfbW9kdWxlcy9lbmdpbmUuaW8tY2xpZW50L2xpYi9zb2NrZXQuanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvc29ja2V0LmlvLWNsaWVudC9ub2RlX21vZHVsZXMvZW5naW5lLmlvLWNsaWVudC9saWIvdHJhbnNwb3J0LmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL3NvY2tldC5pby1jbGllbnQvbm9kZV9tb2R1bGVzL2VuZ2luZS5pby1jbGllbnQvbGliL3RyYW5zcG9ydHMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvc29ja2V0LmlvLWNsaWVudC9ub2RlX21vZHVsZXMvZW5naW5lLmlvLWNsaWVudC9saWIvdHJhbnNwb3J0cy9wb2xsaW5nLWpzb25wLmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL3NvY2tldC5pby1jbGllbnQvbm9kZV9tb2R1bGVzL2VuZ2luZS5pby1jbGllbnQvbGliL3RyYW5zcG9ydHMvcG9sbGluZy14aHIuanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvc29ja2V0LmlvLWNsaWVudC9ub2RlX21vZHVsZXMvZW5naW5lLmlvLWNsaWVudC9saWIvdHJhbnNwb3J0cy9wb2xsaW5nLmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL3NvY2tldC5pby1jbGllbnQvbm9kZV9tb2R1bGVzL2VuZ2luZS5pby1jbGllbnQvbGliL3RyYW5zcG9ydHMvd2Vic29ja2V0LmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL3NvY2tldC5pby1jbGllbnQvbm9kZV9tb2R1bGVzL2VuZ2luZS5pby1jbGllbnQvbGliL3htbGh0dHByZXF1ZXN0LmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL3NvY2tldC5pby1jbGllbnQvbm9kZV9tb2R1bGVzL2VuZ2luZS5pby1wYXJzZXIvbGliL2Jyb3dzZXIuanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvc29ja2V0LmlvLWNsaWVudC9ub2RlX21vZHVsZXMvZW5naW5lLmlvLXBhcnNlci9saWIva2V5cy5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9zb2NrZXQuaW8tY2xpZW50L25vZGVfbW9kdWxlcy9lbmdpbmUuaW8tcGFyc2VyL2xpYi91dGY4LmpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL3NvY2tldC5pby1jbGllbnQvbm9kZV9tb2R1bGVzL3BhcnNlcXMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvc29ja2V0LmlvLWNsaWVudC9ub2RlX21vZHVsZXMvcGFyc2V1cmkvaW5kZXguanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvc29ja2V0LmlvLXBhcnNlci9iaW5hcnkuanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvc29ja2V0LmlvLXBhcnNlci9pbmRleC5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9zb2NrZXQuaW8tcGFyc2VyL2lzLWJ1ZmZlci5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9zb2NrZXQuaW8tcGFyc2VyL25vZGVfbW9kdWxlcy9kZWJ1Zy9zcmMvYnJvd3Nlci5qcyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9zb2NrZXQuaW8tcGFyc2VyL25vZGVfbW9kdWxlcy9kZWJ1Zy9zcmMvZGVidWcuanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMvdG8tYXJyYXkvaW5kZXguanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvLi9ub2RlX21vZHVsZXMveWVhc3QvaW5kZXguanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvaWdub3JlZHwvd29ya3NwYWNlcy93ZWJzc2gyX2NsaWVudC9ub2RlX21vZHVsZXMvc29ja2V0LmlvLWNsaWVudC9ub2RlX21vZHVsZXMvZW5naW5lLmlvLWNsaWVudC9saWIvdHJhbnNwb3J0c3x3cyIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC8uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtc3ZnLWNvcmUvaW5kZXgubWpzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50Ly4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucy9pbmRleC5tanMiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvd2VicGFjay9ydW50aW1lL2NvbXBhdCBnZXQgZGVmYXVsdCBleHBvcnQiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvd2VicGFjay9ydW50aW1lL2RlZmluZSBwcm9wZXJ0eSBnZXR0ZXJzIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50L3dlYnBhY2svcnVudGltZS9nbG9iYWwiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvd2VicGFjay9ydW50aW1lL2hhc093blByb3BlcnR5IHNob3J0aGFuZCIsIndlYnBhY2s6Ly93ZWJzc2gyX2NsaWVudC93ZWJwYWNrL3J1bnRpbWUvbWFrZSBuYW1lc3BhY2Ugb2JqZWN0Iiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50L3dlYnBhY2svYmVmb3JlLXN0YXJ0dXAiLCJ3ZWJwYWNrOi8vd2Vic3NoMl9jbGllbnQvd2VicGFjay9zdGFydHVwIiwid2VicGFjazovL3dlYnNzaDJfY2xpZW50L3dlYnBhY2svYWZ0ZXItc3RhcnR1cCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBjbGllbnRcbi8vIGNsaWVudC9zcmMvanMvY2xpZW50bG9nLmpzXG5cbmltcG9ydCBjcmVhdGVEZWJ1ZyBmcm9tICdkZWJ1ZydcbmltcG9ydCB7IHNlc3Npb25Gb290ZXIsIGhhbmRsZUVycm9yIH0gZnJvbSAnLidcbmltcG9ydCB7XG4gIHVwZGF0ZXN0YXJ0TG9nQnRuU3RhdGUsXG4gIHRvZ2dsZURvd25sb2FkTG9nQnRuLFxuICB0cmlnZ2VyRG93bmxvYWRcbn0gZnJvbSAnLi9kb20nXG5pbXBvcnQgeyBmb2N1c1Rlcm1pbmFsIH0gZnJvbSAnLi90ZXJtaW5hbCdcbmltcG9ydCB7IGZvcm1hdERhdGUsIHNhbml0aXplSHRtbCB9IGZyb20gJy4vdXRpbHMnXG5pbXBvcnQgeyBzdGF0ZSwgdG9nZ2xlU3RhdGUgfSBmcm9tICcuL3N0YXRlLmpzJ1xuXG5jb25zdCBkZWJ1ZyA9IGNyZWF0ZURlYnVnKCd3ZWJzc2gyLWNsaWVudDpjbGllbnRsb2cnKVxuXG5jb25zdCBMT0dfS0VZID0gJ3dlYnNzaDJfc2Vzc2lvbl9sb2cnXG5jb25zdCBMT0dfREFURV9LRVkgPSAnd2Vic3NoMl9zZXNzaW9uX2xvZ19kYXRlJ1xuXG4vKipcbiAqIEFkZHMgY29udGVudCB0byB0aGUgc2Vzc2lvbiBsb2cgc3RvcmVkIGluIExvY2FsU3RvcmFnZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBkYXRhIC0gVGhlIGRhdGEgdG8gbG9nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkVG9TZXNzaW9uTG9nKGRhdGEpIHtcbiAgbGV0IHNlc3Npb25Mb2cgPSB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oTE9HX0tFWSkgfHwgJydcblxuICAvLyBJZiB0aGUgbG9nIHdhcyBwcmV2aW91c2x5IGVtcHR5IGFuZCBkYXRhIGlzIGJlaW5nIGFkZGVkLCBzaG93IHRoZSBkb3dubG9hZCBidXR0b25cbiAgaWYgKHNlc3Npb25Mb2cgPT09ICcnKSB7XG4gICAgdG9nZ2xlRG93bmxvYWRMb2dCdG4odHJ1ZSlcbiAgfVxuXG4gIHNlc3Npb25Mb2cgKz0gZGF0YVxuICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oTE9HX0tFWSwgc2Vzc2lvbkxvZylcbiAgLy8gZGVidWcoJ0FkZGVkIGRhdGEgdG8gc2Vzc2lvbiBsb2cnKVxufVxuXG4vKipcbiAqIENsZWFycyB0aGUgc2Vzc2lvbiBsb2cgZnJvbSBMb2NhbFN0b3JhZ2UgYW5kIG9wdGlvbmFsbHkgdHJpZ2dlcnMgYSBkb3dubG9hZC5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gYXV0b0Rvd25sb2FkIC0gSWYgdHJ1ZSwgZG93bmxvYWRzIHRoZSBsb2cgYmVmb3JlIGNsZWFyaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xlYXJMb2coYXV0b0Rvd25sb2FkID0gZmFsc2UpIHtcbiAgY29uc3Qgc2Vzc2lvbkxvZyA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShMT0dfS0VZKVxuICBjb25zdCBsb2dnZWREYXRhID0gc3RhdGUubG9nZ2VkRGF0YVxuXG4gIGNvbnN0IGRlbGV0ZUxvZyA9IHdpbmRvdy5jb25maXJtKCdDbGVhciB0aGUgc2Vzc2lvbiBsb2c/JylcblxuICBpZiAoc2Vzc2lvbkxvZyAmJiBkZWxldGVMb2cpIHtcbiAgICAvLyBDbGVhciB0aGUgc2Vzc2lvbiBsb2cgZnJvbSBMb2NhbFN0b3JhZ2VcbiAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oTE9HX0tFWSlcbiAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oTE9HX0RBVEVfS0VZKVxuICAgIHRvZ2dsZURvd25sb2FkTG9nQnRuKGZhbHNlKVxuICAgIGRlYnVnKCdTZXNzaW9uIGxvZyBjbGVhcmVkIGZyb20gbG9jYWxTdG9yYWdlJylcbiAgfSBlbHNlIHtcbiAgICBkZWJ1ZygnTm8gc2Vzc2lvbiBsb2cgZm91bmQgdG8gY2xlYXInKVxuICB9XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgc2F2ZWQgc2Vzc2lvbiBsb2cgZXhpc3RzIGFuZCBwcm9tcHRzIHRoZSB1c2VyIHRvIGRvd25sb2FkIGl0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tTYXZlZFNlc3Npb25Mb2coKSB7XG4gIGNvbnN0IHNhdmVkTG9nID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKExPR19LRVkpXG4gIGNvbnN0IHNhdmVkRGF0ZSA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShMT0dfREFURV9LRVkpXG5cbiAgaWYgKHNhdmVkTG9nICYmIHNhdmVkRGF0ZSkge1xuICAgIGNvbnN0IHJlc3RvcmVMb2cgPSB3aW5kb3cuY29uZmlybShcbiAgICAgIGBBIHNhdmVkIHNlc3Npb24gbG9nIGZyb20gJHtuZXcgRGF0ZShzYXZlZERhdGUpLnRvTG9jYWxlU3RyaW5nKCl9IHdhcyBmb3VuZC4gV291bGQgeW91IGxpa2UgdG8gZG93bmxvYWQgaXQ/YFxuICAgIClcblxuICAgIGlmIChyZXN0b3JlTG9nKSB7XG4gICAgICBjb25zdCBmaWxlbmFtZSA9IGBXZWJTU0gyLVJlY292ZXJlZC0ke2Zvcm1hdERhdGUobmV3IERhdGUoc2F2ZWREYXRlKSkucmVwbGFjZSgvWy86XFxzQF0vZywgJycpfS5sb2dgXG4gICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW3Nhbml0aXplSHRtbChzYXZlZExvZyldLCB7IHR5cGU6ICd0ZXh0L3BsYWluJyB9KVxuXG4gICAgICB0cmlnZ2VyRG93bmxvYWQoYmxvYiwgZmlsZW5hbWUpXG5cbiAgICAgIGNsZWFyTG9nKClcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBUb2dnbGVzIG9yIHNldHMgdGhlIHNlc3Npb24gbG9nIGVuYWJsZSBzdGF0ZSBhbmQgdXBkYXRlcyB0aGUgbG9nIGJ1dHRvbiBzdGF0ZS5cbiAqIElmIGBmb3JjZUVuYWJsZWAgaXMgcHJvdmlkZWQsIHRoZSBmdW5jdGlvbiB3aWxsIGRlZmluaXRpdmVseSBlbmFibGUgb3IgZGlzYWJsZVxuICogdGhlIHNlc3Npb24gbG9nIGJhc2VkIG9uIHRoZSBib29sZWFuIHZhbHVlLiBJZiBgZm9yY2VFbmFibGVgIGlzIG5vdCBwcm92aWRlZCxcbiAqIHRoZSBmdW5jdGlvbiB3aWxsIHRvZ2dsZSB0aGUgY3VycmVudCBzdGF0ZS5cbiAqXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtmb3JjZUVuYWJsZV0gLSBPcHRpb25hbCBib29sZWFuIHRvIGZvcmNlIHRoZSBsb2cgdG8gYmUgZW5hYmxlZCBvciBkaXNhYmxlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvZ2dsZUxvZyhmb3JjZUVuYWJsZSkge1xuICBsZXQgc2Vzc2lvbkxvZ0VuYWJsZVxuXG4gIGlmICh0eXBlb2YgZm9yY2VFbmFibGUgPT09ICdib29sZWFuJykge1xuICAgIHNlc3Npb25Mb2dFbmFibGUgPSBmb3JjZUVuYWJsZVxuICAgIHN0YXRlLnNlc3Npb25Mb2dFbmFibGUgPSBzZXNzaW9uTG9nRW5hYmxlXG4gIH0gZWxzZSB7XG4gICAgc2Vzc2lvbkxvZ0VuYWJsZSA9IHRvZ2dsZVN0YXRlKCdzZXNzaW9uTG9nRW5hYmxlJylcbiAgfVxuXG4gIGNvbnN0IHsgbG9nZ2VkRGF0YSB9ID0gc3RhdGVcblxuICBpZiAoc2Vzc2lvbkxvZ0VuYWJsZSkge1xuICAgIGRlYnVnKCdTdGFydGluZyBsb2cnKVxuICAgIHN0YXRlLmxvZ2dlZERhdGEgPSB0cnVlXG4gICAgdXBkYXRlc3RhcnRMb2dCdG5TdGF0ZSh0cnVlKVxuICAgIGNvbnN0IGxvZ1N0YXJ0TWVzc2FnZSA9IGBMb2cgU3RhcnQgZm9yICR7c2Vzc2lvbkZvb3Rlcn0gLSAke2Zvcm1hdERhdGUobmV3IERhdGUoKSl9XFxyXFxuXFxyXFxuYFxuICAgIGFkZFRvU2Vzc2lvbkxvZyhsb2dTdGFydE1lc3NhZ2UpXG4gICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKExPR19EQVRFX0tFWSwgbmV3IERhdGUoKS50b0lTT1N0cmluZygpKVxuICB9IGVsc2Uge1xuICAgIGRlYnVnKCdTdG9wcGluZyBsb2cnKVxuICAgIHVwZGF0ZXN0YXJ0TG9nQnRuU3RhdGUoZmFsc2UpXG4gICAgaWYgKGxvZ2dlZERhdGEpIHtcbiAgICAgIGNvbnN0IGxvZ0VuZE1lc3NhZ2UgPSBgXFxyXFxuXFxyXFxuTG9nIEVuZCBmb3IgJHtzZXNzaW9uRm9vdGVyfSAtICR7Zm9ybWF0RGF0ZShuZXcgRGF0ZSgpKX1cXHJcXG5gXG4gICAgICBhZGRUb1Nlc3Npb25Mb2cobG9nRW5kTWVzc2FnZSlcbiAgICB9IGVsc2Uge1xuICAgICAgZGVidWcoJ0xvZyB3YXMgbm90IHJ1bm5pbmcsIHJlc2V0dGluZyBVSScpXG4gICAgfVxuICB9XG5cbiAgZm9jdXNUZXJtaW5hbCgpXG59XG5cbi8qKlxuICogRG93bmxvYWRzIHRoZSBzZXNzaW9uIGxvZy5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW2F1dG9Eb3dubG9hZD1mYWxzZV0gLSBXaGV0aGVyIHRvIGF1dG9tYXRpY2FsbHkgZG93bmxvYWQgdGhlIGxvZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRvd25sb2FkTG9nKGF1dG9Eb3dubG9hZCA9IGZhbHNlKSB7XG4gIGNvbnN0IHNlc3Npb25Mb2cgPSB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oTE9HX0tFWSlcbiAgY29uc3QgbG9nZ2VkRGF0YSA9IHN0YXRlLmxvZ2dlZERhdGFcblxuICBpZiAoc2Vzc2lvbkxvZyAmJiBsb2dnZWREYXRhKSB7XG4gICAgY29uc3QgZmlsZW5hbWUgPSBgV2ViU1NIMi0ke2Zvcm1hdERhdGUobmV3IERhdGUoKSkucmVwbGFjZSgvWy86XFxzQF0vZywgJycpfS5sb2dgXG4gICAgY29uc3QgY2xlYW5Mb2cgPSBzYW5pdGl6ZUh0bWwoc2Vzc2lvbkxvZylcbiAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2NsZWFuTG9nXSwgeyB0eXBlOiAndGV4dC9wbGFpbicgfSlcblxuICAgIGlmIChhdXRvRG93bmxvYWQpIHtcbiAgICAgIHRyaWdnZXJEb3dubG9hZChibG9iLCBmaWxlbmFtZSlcbiAgICB9IGVsc2Uge1xuICAgICAgdHJ5IHtcbiAgICAgICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKExPR19LRVksIGNsZWFuTG9nKVxuICAgICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oTE9HX0RBVEVfS0VZLCBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkpXG4gICAgICAgIGRlYnVnKCdTZXNzaW9uIGxvZyBzYXZlZCB0byBsb2NhbFN0b3JhZ2UnKVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBoYW5kbGVFcnJvcignRmFpbGVkIHRvIHNhdmUgc2Vzc2lvbiBsb2cgdG8gbG9jYWxTdG9yYWdlOicsIGUpXG4gICAgICAgIHRyaWdnZXJEb3dubG9hZChibG9iLCBmaWxlbmFtZSkgLy8gRmFsbGJhY2sgdG8gZG93bmxvYWQgaWYgc2F2aW5nIGZhaWxzXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBjbGllbnRcbi8vIGNsaWVudC9zcmMvanMvZG9tLmpzXG4vKipcbiAqIEBtb2R1bGUgZG9tXG4gKiBAZGVzY3JpcHRpb24gSGFuZGxlcyBET00gbWFuaXB1bGF0aW9ucyBhbmQgVUkgdXBkYXRlcyBmb3IgV2ViU1NIMiBjbGllbnRcbiAqL1xuXG5pbXBvcnQgY3JlYXRlRGVidWcgZnJvbSAnZGVidWcnXG5pbXBvcnQge1xuICBzYW5pdGl6ZUNvbG9yLFxuICBzYW5pdGl6ZUh0bWwsXG4gIHZhbGlkYXRlTnVtYmVyLFxuICB2YWxpZGF0ZUJlbGxTdHlsZVxufSBmcm9tICcuL3V0aWxzJ1xuXG5pbXBvcnQgeyBjb25uZWN0VG9TZXJ2ZXIgfSBmcm9tICcuL2luZGV4LmpzJ1xuXG5pbXBvcnQgeyBlbWl0RGF0YSwgZW1pdFJlc2l6ZSwgcmVhdXRoLCByZXBsYXlDcmVkZW50aWFscyB9IGZyb20gJy4vc29ja2V0LmpzJ1xuXG5pbXBvcnQgeyBkb3dubG9hZExvZywgY2xlYXJMb2csIHRvZ2dsZUxvZyB9IGZyb20gJy4vY2xpZW50bG9nLmpzJ1xuXG5pbXBvcnQge1xuICBnZXRMb2NhbFRlcm1pbmFsU2V0dGluZ3MsXG4gIGluaXRpYWxpemVTZXR0aW5ncyxcbiAgc2F2ZVRlcm1pbmFsU2V0dGluZ3Ncbn0gZnJvbSAnLi9zZXR0aW5ncy5qcydcblxuaW1wb3J0IHsgc3RhdGUgfSBmcm9tICcuL3N0YXRlLmpzJ1xuXG5pbXBvcnQge1xuICBnZXRUZXJtaW5hbFNldHRpbmdzLFxuICBhcHBseVRlcm1pbmFsU2V0dGluZ3MsXG4gIHJlc2l6ZVRlcm1pbmFsXG59IGZyb20gJy4vdGVybWluYWwuanMnXG5cbmNvbnN0IGRlYnVnID0gY3JlYXRlRGVidWcoJ3dlYnNzaDItY2xpZW50OmRvbScpXG5sZXQgZWxlbWVudHMgPSB7fVxubGV0IHRlcm1cblxuLyoqXG4gKiBDbG9zZXMgdGhlIGVycm9yIG1vZGFsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGlkZUVycm9yRGlhbG9nKCkge1xuICBjb25zdCB7IGVycm9yRGlhbG9nIH0gPSBlbGVtZW50c1xuICBpZiAoZXJyb3JEaWFsb2cpIHtcbiAgICBlcnJvckRpYWxvZy5jbG9zZSgpXG4gIH1cbn1cblxuLyoqXG4gKiBDbG9zZXMgdGhlIHByb21wdCBtb2RhbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhpZGVQcm9tcHREaWFsb2coKSB7XG4gIGNvbnN0IHsgcHJvbXB0RGlhbG9nIH0gPSBlbGVtZW50c1xuICBpZiAocHJvbXB0RGlhbG9nKSB7XG4gICAgcHJvbXB0RGlhbG9nLmNsb3NlKClcbiAgfVxufVxuXG4vKipcbiAqIEZpbGxzIHRoZSBsb2dpbiBmb3JtIHdpdGggdGhlIHByb3ZpZGVkIFNTSCBjb25maWd1cmF0aW9uLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBzc2hDb25maWcgLSBUaGUgU1NIIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICogQHBhcmFtIHtzdHJpbmd9IHNzaENvbmZpZy5ob3N0IC0gVGhlIFNTSCBob3N0LlxuICogQHBhcmFtIHtudW1iZXJ9IHNzaENvbmZpZy5wb3J0IC0gVGhlIFNTSCBwb3J0LlxuICogQHBhcmFtIHtzdHJpbmd9IHNzaENvbmZpZy51c2VybmFtZSAtIFRoZSBTU0ggdXNlcm5hbWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWxsTG9naW5Gb3JtKHNzaENvbmZpZykge1xuICBjb25zdCB7IGhvc3RJbnB1dCwgbG9naW5Gb3JtLCBwb3J0SW5wdXQsIHVzZXJuYW1lSW5wdXQgfSA9IGVsZW1lbnRzXG4gIGNvbnN0IHsgaG9zdCwgcG9ydCwgdXNlcm5hbWUgfSA9IHNzaENvbmZpZ1xuXG4gIGlmIChsb2dpbkZvcm0pIHtcbiAgICBkZWJ1ZygnZmlsbExvZ2luRm9ybScsIHNzaENvbmZpZylcbiAgICBpZiAoaG9zdElucHV0KSBob3N0SW5wdXQudmFsdWUgPSBob3N0IHx8ICcnXG4gICAgaWYgKHBvcnRJbnB1dCkgcG9ydElucHV0LnZhbHVlID0gcG9ydCB8fCAnJ1xuICAgIGlmICh1c2VybmFtZUlucHV0KSB1c2VybmFtZUlucHV0LnZhbHVlID0gdXNlcm5hbWUgfHwgJydcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLmVycm9yKCdmaWxsTG9naW5Gb3JtOiBlbGVtZW50IG5vdCBmb3VuZCcpXG4gIH1cbn1cblxuLyoqXG4gKiBIaWRlcyB0aGUgbG9naW4gbW9kYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhpZGVsb2dpbkRpYWxvZygpIHtcbiAgZGVidWcoJ2hpZGVsb2dpbkRpYWxvZycpXG4gIGVsZW1lbnRzLmxvZ2luRGlhbG9nLmNsb3NlKClcbn1cblxuLyoqXG4gKiBIaWRlcyB0aGUgcmVjb25uZWN0IGJ1dHRvblxuICovXG5leHBvcnQgZnVuY3Rpb24gaGlkZVJlY29ubmVjdEJ0bigpIHtcbiAgdG9nZ2xlVmlzaWJpbGl0eShlbGVtZW50cy5iYWNrZHJvcCwgZmFsc2UpXG4gIGhpZGVCdXR0b24oZWxlbWVudHMucmVjb25uZWN0QnV0dG9uLCB0cnVlKVxufVxuXG4vKipcbiAqIEluaXRpYWxpemVzIERPTSBlbGVtZW50cyBhbmQgc3RvcmVzIHJlZmVyZW5jZXMgdG8gdGhlbVxuICogQHRocm93cyBXaWxsIHRocm93IGFuIGVycm9yIGlmIGEgY3JpdGljYWwgZWxlbWVudCBpcyBub3QgZm91bmRcbiAqIEByZXR1cm5zIHtPYmplY3R9IEFuIG9iamVjdCBjb250YWluaW5nIHJlZmVyZW5jZXMgdG8gRE9NIGVsZW1lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplRWxlbWVudHMoKSB7XG4gIGRlYnVnKCdpbml0aWFsaXplRWxlbWVudHMnKVxuICBjb25zdCBlbGVtZW50SWRzID0gW1xuICAgICdiYWNrZHJvcCcsXG4gICAgJ2NsZWFyTG9nQnRuJyxcbiAgICAnY2xvc2V0ZXJtaW5hbFNldHRpbmdzQnRuJyxcbiAgICAnZG93bmxvYWRMb2dCdG4nLFxuICAgICdkcm9wdXBDb250ZW50JyxcbiAgICAnZXJyb3JEaWFsb2cnLFxuICAgICdlcnJvck1lc3NhZ2UnLFxuICAgICdmb290ZXInLFxuICAgICdoZWFkZXInLFxuICAgICdob3N0SW5wdXQnLFxuICAgICdsb2dpbkRpYWxvZycsXG4gICAgJ2xvZ2luRm9ybScsXG4gICAgJ3Bhc3N3b3JkSW5wdXQnLFxuICAgICdwb3J0SW5wdXQnLFxuICAgICdwcm9tcHREaWFsb2cnLFxuICAgICdwcm9tcHRNZXNzYWdlJyxcbiAgICAncmVhdXRoQnRuJyxcbiAgICAncmVhdXRoQnRuJyxcbiAgICAncmVjb25uZWN0QnV0dG9uJyxcbiAgICAncmVwbGF5Q3JlZGVudGlhbHNCdG4nLFxuICAgICdzdGFydExvZ0J0bicsXG4gICAgJ3N0YXR1cycsXG4gICAgJ3N0b3BMb2dCdG4nLFxuICAgICdzdG9wTG9nQnRuJyxcbiAgICAndGVybWluYWxDb250YWluZXInLFxuICAgICd0ZXJtaW5hbFNldHRpbmdzQnRuJyxcbiAgICAndGVybWluYWxTZXR0aW5nc0RpYWxvZycsXG4gICAgJ3Rlcm1pbmFsU2V0dGluZ3NGb3JtJyxcbiAgICAndXNlcm5hbWVJbnB1dCcsXG4gICAgJ2xvZ2luU2V0dGluZ3NCdG4nXG4gIF1cblxuICAvLyBEZWZpbmUgY3JpdGljYWwgZWxlbWVudHMgdGhhdCBtdXN0IGJlIHByZXNlbnRcbiAgY29uc3QgY3JpdGljYWxFbGVtZW50cyA9IFtcbiAgICAndGVybWluYWxDb250YWluZXInLFxuICAgICdsb2dpbkZvcm0nLFxuICAgICdlcnJvckRpYWxvZycsXG4gICAgJ3Byb21wdERpYWxvZydcbiAgXVxuXG4gIGVsZW1lbnRzID0ge31cblxuICBlbGVtZW50SWRzLmZvckVhY2goKGlkKSA9PiB7XG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKVxuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICBlbGVtZW50c1tpZF0gPSBlbGVtZW50XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChjcml0aWNhbEVsZW1lbnRzLmluY2x1ZGVzKGlkKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYGluaXRpYWxpemVFbGVtZW50czogQ3JpdGljYWwgZWxlbWVudCB3aXRoIGlkICcke2lkfScgbm90IGZvdW5kYFxuICAgICAgICApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLndhcm4oYGluaXRpYWxpemVFbGVtZW50czogRWxlbWVudCB3aXRoIGlkICcke2lkfScgbm90IGZvdW5kYClcbiAgICAgIH1cbiAgICB9XG4gIH0pXG5cbiAgaWYgKGVsZW1lbnRzLmVycm9yRGlhbG9nKSB7XG4gICAgY29uc3QgY2xvc2VCdG4gPSBlbGVtZW50cy5lcnJvckRpYWxvZy5xdWVyeVNlbGVjdG9yKCcuY2xvc2UtYnV0dG9uJylcbiAgICBpZiAoY2xvc2VCdG4pIHtcbiAgICAgIGNsb3NlQnRuLm9uY2xpY2sgPSAoKSA9PiB7XG4gICAgICAgIGhpZGVFcnJvckRpYWxvZygpXG4gICAgICB9XG4gICAgICBlbGVtZW50cy5lcnJvckRpYWxvZy5hZGRFdmVudExpc3RlbmVyKCdjbG9zZScsICgpID0+IHtcbiAgICAgICAgaWYgKGVsZW1lbnRzLnJlY29ubmVjdEJ1dHRvbikge1xuICAgICAgICAgIGVsZW1lbnRzLnJlY29ubmVjdEJ1dHRvbi5mb2N1cygpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgaWYgKGVsZW1lbnRzLnByb21wdERpYWxvZykge1xuICAgIGNvbnN0IGNsb3NlQnRuID0gZWxlbWVudHMucHJvbXB0RGlhbG9nLnF1ZXJ5U2VsZWN0b3IoJy5jbG9zZS1idXR0b24nKVxuICAgIGlmIChjbG9zZUJ0bikge1xuICAgICAgY2xvc2VCdG4ub25jbGljayA9ICgpID0+IHtcbiAgICAgICAgaGlkZVByb21wdERpYWxvZygpXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBlbGVtZW50c1xufVxuXG4vKipcbiAqIFNldHMgdXAgZXZlbnQgbGlzdGVuZXJzIGZvciB2YXJpb3VzIGVsZW1lbnRzIGluIHRoZSBhcHBsaWNhdGlvbi5cbiAqIEBwYXJhbSB7T2JqZWN0fSBjb25maWcgLSBUaGUgY29uZmlndXJhdGlvbiBvYmplY3QgY29udGFpbmluZyBhcHBsaWNhdGlvbiBzZXR0aW5nc1xuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBFdmVudExpc3RlbmVycyhjb25maWcpIHtcbiAgZGVidWcoJ3NldHVwRXZlbnRMaXN0ZW5lcnMnKVxuXG4gIC8vIEV2ZW50IGhhbmRsZXJzIGZvciBlbGVtZW50c1xuICBjb25zdCBlbGVtZW50SGFuZGxlcnMgPSB7XG4gICAgY2xlYXJMb2dCdG46IGNsZWFyTG9nLFxuICAgIGNsb3NldGVybWluYWxTZXR0aW5nc0J0bjogaGlkZXRlcm1pbmFsU2V0dGluZ3NEaWFsb2csXG4gICAgZG93bmxvYWRMb2dCdG46IGRvd25sb2FkTG9nLFxuICAgIGxvZ2luRm9ybTogZm9ybVN1Ym1pdCxcbiAgICBsb2dpblNldHRpbmdzQnRuOiAoKSA9PiBzaG93dGVybWluYWxTZXR0aW5nc0RpYWxvZyhjb25maWcpLFxuICAgIHJlYXV0aEJ0bjogcmVhdXRoLFxuICAgIHJlcGxheUNyZWRlbnRpYWxzQnRuOiByZXBsYXlDcmVkZW50aWFscyxcbiAgICBzdGFydExvZ0J0bjogdG9nZ2xlTG9nLFxuICAgIHN0b3BMb2dCdG46IHRvZ2dsZUxvZyxcbiAgICB0ZXJtaW5hbFNldHRpbmdzQnRuOiAoKSA9PiBzaG93dGVybWluYWxTZXR0aW5nc0RpYWxvZyhjb25maWcpLFxuICAgIHRlcm1pbmFsU2V0dGluZ3NGb3JtOiAoZXZlbnQpID0+IGhhbmRsZXRlcm1pbmFsU2V0dGluZ3NTdWJtaXQoZXZlbnQsIGNvbmZpZylcbiAgfVxuXG4gIE9iamVjdC5lbnRyaWVzKGVsZW1lbnRIYW5kbGVycykuZm9yRWFjaCgoW2VsZW1lbnROYW1lLCBoYW5kbGVyXSkgPT4ge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBlbGVtZW50c1tlbGVtZW50TmFtZV1cbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgY29uc3QgZXZlbnRUeXBlID0gWydsb2dpbkZvcm0nLCAndGVybWluYWxTZXR0aW5nc0Zvcm0nXS5pbmNsdWRlcyhcbiAgICAgICAgZWxlbWVudE5hbWVcbiAgICAgIClcbiAgICAgICAgPyAnc3VibWl0J1xuICAgICAgICA6ICdjbGljaydcbiAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIpXG4gICAgfVxuICB9KVxuXG4gIC8vIEdsb2JhbCBldmVudCBsaXN0ZW5lcnNcbiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHJlc2l6ZSlcbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGtleWRvd24pXG4gIC8vIEFkZCBiZWZvcmV1bmxvYWQgZXZlbnQgbGlzdGVuZXIgdG8gcHJldmVudCBhY2NpZGVudGFsIHRhYiBjbG9zdXJlXG4gIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdiZWZvcmV1bmxvYWQnLCAoZXZlbnQpID0+IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gIH0pXG4gIHBhc3N3b3JkSW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCBkZXRlY3RDYXBzTG9jaylcbiAgcGFzc3dvcmRJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZGV0ZWN0Q2Fwc0xvY2spXG59XG5cbi8qKlxuICogU2hvd3MgYW4gZXJyb3IgbW9kYWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIC0gVGhlIGVycm9yIG1lc3NhZ2UgdG8gZGlzcGxheVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2hvd0Vycm9yRGlhbG9nKG1lc3NhZ2UpIHtcbiAgLy8gdG9kbzogaGFuZGxlIGNsZWFyaW5nIHN0YXR1cyBiYXIgd2hlbiBub24tY3JpdGljYWwgZXJyb3Igb2NjdXJzXG4gIC8vIHBvdGVudGlhbGx5IGFkZCBhIGZsYWcgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIGNyaXRpY2FsIGFuZCBub24tY3JpdGljYWwgZXJyb3JzXG4gIC8vIG9yIGNyZWF0ZSBhIGRpZmZlcmVudCBmdW5jdGlvbi9ldmVudCBmb3Igd2FybmluZ3MuLi5cbiAgY29uc3QgeyBlcnJvck1lc3NhZ2UsIGVycm9yRGlhbG9nIH0gPSBlbGVtZW50c1xuXG4gIGlmIChlcnJvck1lc3NhZ2UgJiYgZXJyb3JEaWFsb2cpIHtcbiAgICBkZWJ1ZyhgRXJyb3IgbW9kYWwgc2hvd24gd2l0aCBtZXNzYWdlOiAke21lc3NhZ2V9YClcbiAgICBlcnJvck1lc3NhZ2UudGV4dENvbnRlbnQgPSBtZXNzYWdlXG4gICAgZXJyb3JEaWFsb2cuc2hvd01vZGFsKClcbiAgICB1cGRhdGVFbGVtZW50KCdzdGF0dXMnLCAnRVJST1InLCAncmVkJylcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLmVycm9yKCdFcnJvciBtb2RhbCBvciBlcnJvciBtZXNzYWdlIGVsZW1lbnQgbm90IGZvdW5kJylcbiAgfVxufVxuXG4vLyBVcGRhdGUgdGhlIHNob3dQcm9tcHREaWFsb2cgZnVuY3Rpb25cbi8qKlxuICogU2hvd3MgdGhlIHByb21wdCBkaWFsb2cgZm9yIGtleWJvYXJkLWludGVyYWN0aXZlIGF1dGhlbnRpY2F0aW9uLlxuICogQHBhcmFtIHtPYmplY3R9IGRhdGEgLSBUaGUgZGF0YSBvYmplY3QgY29udGFpbmluZyBwcm9tcHQgaW5mb3JtYXRpb24uXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBjYWxsYmFjayAtIFRoZSBmdW5jdGlvbiB0byBjYWxsIHdpdGggdGhlIHVzZXIncyByZXNwb25zZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaG93UHJvbXB0RGlhbG9nKGRhdGEsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgcHJvbXB0RGlhbG9nLCBwcm9tcHRNZXNzYWdlIH0gPSBlbGVtZW50c1xuICBjb25zdCBmb3JtID0gcHJvbXB0RGlhbG9nLnF1ZXJ5U2VsZWN0b3IoJ2Zvcm0nKVxuICBjb25zdCBpbnB1dENvbnRhaW5lciA9IGZvcm0ucXVlcnlTZWxlY3RvcignI3Byb21wdElucHV0Q29udGFpbmVyJylcblxuICBpZiAocHJvbXB0TWVzc2FnZSAmJiBwcm9tcHREaWFsb2cpIHtcbiAgICBkZWJ1ZygnUHJvbXB0IGRpYWxvZyBzaG93bicsIGRhdGEpXG4gICAgcHJvbXB0TWVzc2FnZS50ZXh0Q29udGVudCA9IGRhdGEubmFtZSB8fCAnQXV0aGVudGljYXRpb24gUmVxdWlyZWQnXG5cbiAgICAvLyBDbGVhciBwcmV2aW91cyBpbnB1dHNcbiAgICBpbnB1dENvbnRhaW5lci5pbm5lckhUTUwgPSAnJ1xuXG4gICAgLy8gQ3JlYXRlIGlucHV0IGZpZWxkcyBmb3IgZWFjaCBwcm9tcHRcbiAgICBsZXQgZmlyc3RJbnB1dCA9IG51bGxcbiAgICBkYXRhLnByb21wdHMuZm9yRWFjaCgocHJvbXB0LCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsYWJlbCcpXG4gICAgICBsYWJlbC50ZXh0Q29udGVudCA9IHByb21wdC5wcm9tcHRcblxuICAgICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpXG4gICAgICBpbnB1dC50eXBlID0gcHJvbXB0LmVjaG8gPyAndGV4dCcgOiAncGFzc3dvcmQnXG4gICAgICBpbnB1dC5yZXF1aXJlZCA9IHRydWVcbiAgICAgIGlucHV0LmlkID0gYHByb21wdElucHV0JHtpbmRleH1gXG5cbiAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICBmaXJzdElucHV0ID0gaW5wdXRcbiAgICAgIH1cblxuICAgICAgaW5wdXRDb250YWluZXIuYXBwZW5kQ2hpbGQobGFiZWwpXG4gICAgICBpbnB1dENvbnRhaW5lci5hcHBlbmRDaGlsZChpbnB1dClcbiAgICB9KVxuXG4gICAgZm9ybS5vbnN1Ym1pdCA9IChlKSA9PiB7XG4gICAgICBkZWJ1Zygnc2hvd1Byb21wdERpYWxvZzogZm9ybS5vbnN1Ym1pdCcpXG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgIGNvbnN0IHJlc3BvbnNlcyA9IGRhdGEucHJvbXB0cy5tYXAoXG4gICAgICAgIChfLCBpbmRleCkgPT4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYHByb21wdElucHV0JHtpbmRleH1gKS52YWx1ZVxuICAgICAgKVxuICAgICAgaGlkZVByb21wdERpYWxvZygpXG4gICAgICBjYWxsYmFjayhyZXNwb25zZXMpXG4gICAgfVxuXG4gICAgcHJvbXB0RGlhbG9nLnNob3dNb2RhbCgpXG4gICAgLy8gU2V0IGZvY3VzIHRvIHRoZSBmaXJzdCBpbnB1dCBmaWVsZFxuICAgIGlmIChmaXJzdElucHV0KSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgZmlyc3RJbnB1dC5mb2N1cygpXG4gICAgICB9LCAwKVxuICAgIH1cbiAgICB1cGRhdGVFbGVtZW50KCdzdGF0dXMnLCAnUkVTUE9OU0UgUkVRVUlSRUQnLCAnb3JhbmdlJylcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLmVycm9yKCdQcm9tcHQgbW9kYWwgb3IgcHJvbXB0IG1lc3NhZ2UgZWxlbWVudCBub3QgZm91bmQnKVxuICB9XG59XG5cbi8qKlxuICogU2hvd3MgdGhlIGxvZ2luIG1vZGFsIGFuZCBoYW5kbGVzIGZpZWxkIGRpc2FibGluZyBmb3IgcmVhdXRoZW50aWNhdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gc2hvd2xvZ2luRGlhbG9nKCkge1xuICBkZWJ1Zygnc2hvd2xvZ2luRGlhbG9nJylcbiAgY29uc3QgeyBsb2dpbkRpYWxvZywgdGVybWluYWxDb250YWluZXIsIHVzZXJuYW1lSW5wdXQsIHBhc3N3b3JkSW5wdXQgfSA9XG4gICAgZWxlbWVudHNcbiAgY29uc3QgaXNSZWF1dGhSZXF1aXJlZCA9IHN0YXRlLnJlYXV0aFJlcXVpcmVkXG5cbiAgbG9naW5EaWFsb2cuc2hvdygpXG4gIHRvZ2dsZVZpc2liaWxpdHkodGVybWluYWxDb250YWluZXIsIHRydWUpXG4gIGlmIChwYXNzd29yZElucHV0KSBwYXNzd29yZElucHV0LnZhbHVlID0gJydcblxuICBpZiAoaXNSZWF1dGhSZXF1aXJlZCkge1xuICAgIGlmIChwYXNzd29yZElucHV0KSB1c2VybmFtZUlucHV0LnZhbHVlID0gJydcblxuICAgIHRvZ2dsZUxvZ2luRmllbGRzKGlzUmVhdXRoUmVxdWlyZWQpXG4gIH1cbiAgZm9jdXNBcHByb3ByaWF0ZUlucHV0KClcbn1cblxuLyoqXG4gKiBTaG93cyB0aGUgcmVjb25uZWN0IGJ1dHRvbiBhbmQgc2V0cyB1cCB0aGUgb25jbGljayBoYW5kbGVyXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSByZWNvbm5lY3RDYWxsYmFjayAtIFRoZSBmdW5jdGlvbiB0byBjYWxsIHdoZW4gdGhlIHJlY29ubmVjdCBidXR0b24gaXMgY2xpY2tlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gc2hvd1JlY29ubmVjdEJ0bihyZWNvbm5lY3RDYWxsYmFjaykge1xuICBkZWJ1Zygnc2hvd1JlY29ubmVjdEJ0bicpXG4gIGNvbnN0IHsgcmVjb25uZWN0QnV0dG9uLCBiYWNrZHJvcCB9ID0gZWxlbWVudHNcbiAgdG9nZ2xlVmlzaWJpbGl0eShiYWNrZHJvcCwgdHJ1ZSlcbiAgc2hvd0J1dHRvbihyZWNvbm5lY3RCdXR0b24sIHJlY29ubmVjdENhbGxiYWNrKVxuICByZWNvbm5lY3RCdXR0b24uZm9jdXMoKVxufVxuXG4vKipcbiAqIERpc3BsYXlzIG9yIGhpZGVzIHRoZSB0ZXJtaW5hbCBjb250YWluZXJcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gdmlzaWJsZSAtIFdoZXRoZXIgdG8gc2hvdyBvciBoaWRlIHRoZSB0ZXJtaW5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9nZ2xlVGVybWluYWxEaXNwbGF5KHZpc2libGUpIHtcbiAgZGVidWcoYHRvZ2dsZVRlcm1pbmFsRGlzcGxheTogJHt2aXNpYmxlfWApXG4gIGNvbnN0IHsgdGVybWluYWxDb250YWluZXIgfSA9IGVsZW1lbnRzXG4gIGlmICh0ZXJtaW5hbENvbnRhaW5lcikge1xuICAgIGlmICh2aXNpYmxlKSB7XG4gICAgICB0b2dnbGVWaXNpYmlsaXR5KHRlcm1pbmFsQ29udGFpbmVyLCB0cnVlKVxuICAgIH0gZWxzZSB7XG4gICAgICB0b2dnbGVWaXNpYmlsaXR5KHRlcm1pbmFsQ29udGFpbmVyLCBmYWxzZSlcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuZCB0cmlnZ2VycyBhIGRvd25sb2FkIGZvciBhIGJsb2JcbiAqIEBwYXJhbSB7QmxvYn0gYmxvYiAtIFRoZSBibG9iIHRvIGRvd25sb2FkXG4gKiBAcGFyYW0ge3N0cmluZ30gZmlsZW5hbWUgLSBUaGUgZmlsZW5hbWUgZm9yIHRoZSBkb3dubG9hZFxuICovXG5leHBvcnQgZnVuY3Rpb24gdHJpZ2dlckRvd25sb2FkKGJsb2IsIGZpbGVuYW1lKSB7XG4gIGRlYnVnKGB0cmlnZ2VyRG93bmxvYWQ6ICR7ZmlsZW5hbWV9YClcbiAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKVxuICBsaW5rLmhyZWYgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpXG4gIGxpbmsuZG93bmxvYWQgPSBmaWxlbmFtZVxuXG4gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluaylcbiAgbGluay5jbGljaygpXG4gIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluaylcblxuICAvLyBSZXZva2UgdGhlIG9iamVjdCBVUkwgYWZ0ZXIgZG93bmxvYWQgdG8gcmVsZWFzZSBtZW1vcnlcbiAgVVJMLnJldm9rZU9iamVjdFVSTChsaW5rLmhyZWYpXG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBlbGVtZW50cy5cbiAqXG4gKiBAcmV0dXJucyB7QXJyYXl9IFRoZSBlbGVtZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRzKCkge1xuICByZXR1cm4gZWxlbWVudHNcbn1cblxuLyoqXG4gKiBVcGRhdGVzIHRoZSBjb250ZW50IGFuZC9vciBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgZ2l2ZW4gZWxlbWVudC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBlbGVtZW50TmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBlbGVtZW50IChlLmcuLCAnc3RhdHVzJywgJ2hlYWRlcicsICdmb290ZXInKS5cbiAqIEBwYXJhbSB7c3RyaW5nfG9iamVjdH0gY29udGVudCAtIFRoZSBuZXcgY29udGVudCBmb3IgdGhlIGVsZW1lbnQuIENhbiBiZSBhIHN0cmluZyBvciBhbiBvYmplY3Qgd2l0aCAndGV4dCcgYW5kICdiYWNrZ3JvdW5kJyBwcm9wZXJ0aWVzLlxuICogQHBhcmFtIHtzdHJpbmd9IFtjb2xvcl0gLSBUaGUgb3B0aW9uYWwgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIGVsZW1lbnQgKGlmIGNvbnRlbnQgaXMgYSBzdHJpbmcpLiBEZXByZWNhdGVkIGluIGZhdm9yIG9mIHBhc3NpbmcgYW4gb2JqZWN0IGFzIGNvbnRlbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVFbGVtZW50KGVsZW1lbnROYW1lLCBjb250ZW50LCBjb2xvcikge1xuICBjb25zdCBlbGVtZW50ID0gZWxlbWVudHNbZWxlbWVudE5hbWVdXG4gIGlmICghZWxlbWVudCB8fCAhY29udGVudCkge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgIGB1cGRhdGVFbGVtZW50OiAke2VsZW1lbnROYW1lfSBlbGVtZW50IG5vdCBmb3VuZCBvciBjb250ZW50IG1pc3NpbmcuYFxuICAgIClcbiAgICByZXR1cm5cbiAgfVxuXG4gIGNvbnN0IHsgdGV4dCA9ICcnLCBiYWNrZ3JvdW5kIH0gPVxuICAgIHR5cGVvZiBjb250ZW50ID09PSAnb2JqZWN0JyA/IGNvbnRlbnQgOiB7IHRleHQ6IGNvbnRlbnQsIGJhY2tncm91bmQ6IGNvbG9yIH1cbiAgY29uc3Qgc2FuaXRpemVkQ29udGVudCA9IHNhbml0aXplSHRtbCh0ZXh0KVxuICBjb25zdCBzYW5pdGl6ZWRDb2xvciA9IGJhY2tncm91bmQgPyBzYW5pdGl6ZUNvbG9yKGJhY2tncm91bmQpIDogbnVsbFxuXG4gIGRlYnVnKCd1cGRhdGVFbGVtZW50JywgeyBlbGVtZW50TmFtZSwgc2FuaXRpemVkQ29udGVudCwgc2FuaXRpemVkQ29sb3IgfSlcblxuICBlbGVtZW50LmlubmVySFRNTCA9IHNhbml0aXplZENvbnRlbnRcbiAgaWYgKHNhbml0aXplZENvbG9yKSBlbGVtZW50LnN0eWxlLmJhY2tncm91bmRDb2xvciA9IHNhbml0aXplZENvbG9yXG5cbiAgaWYgKGVsZW1lbnROYW1lID09PSAnaGVhZGVyJykge1xuICAgIGNvbnN0IHsgdGVybWluYWxDb250YWluZXIgfSA9IGVsZW1lbnRzXG4gICAgdG9nZ2xlVmlzaWJpbGl0eShlbGVtZW50LCB0cnVlKVxuICAgIGlmICh0ZXJtaW5hbENvbnRhaW5lcikgdGVybWluYWxDb250YWluZXIuY2xhc3NMaXN0LmFkZCgnd2l0aC1oZWFkZXInKVxuICB9XG59XG5cbi8qKlxuICogVXBkYXRlcyB0aGUgbG9nIGJ1dHRvbiBzdGF0ZVxuICogQHBhcmFtIHtib29sZWFufSBpc0xvZ2dpbmcgLSBXaGV0aGVyIGxvZ2dpbmcgaXMgY3VycmVudGx5IGFjdGl2ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlc3RhcnRMb2dCdG5TdGF0ZShpc0xvZ2dpbmcpIHtcbiAgZGVidWcoYHVwZGF0ZXN0YXJ0TG9nQnRuU3RhdGU6ICR7aXNMb2dnaW5nfWApXG4gIGNvbnN0IHsgc3RhcnRMb2dCdG4sIHN0b3BMb2dCdG4sIGRvd25sb2FkTG9nQnRuLCBjbGVhckxvZ0J0biB9ID0gZWxlbWVudHNcblxuICBpZiAoc3RhcnRMb2dCdG4gJiYgc3RvcExvZ0J0bikge1xuICAgIGlmIChpc0xvZ2dpbmcpIHtcbiAgICAgIHRvZ2dsZVZpc2liaWxpdHkoc3RhcnRMb2dCdG4sIGZhbHNlKVxuICAgICAgdG9nZ2xlVmlzaWJpbGl0eShzdG9wTG9nQnRuLCB0cnVlKVxuICAgIH0gZWxzZSB7XG4gICAgICB0b2dnbGVWaXNpYmlsaXR5KHN0YXJ0TG9nQnRuLCB0cnVlKVxuICAgICAgdG9nZ2xlVmlzaWJpbGl0eShzdG9wTG9nQnRuLCBmYWxzZSlcbiAgICB9XG4gIH1cblxuICBpZiAoZG93bmxvYWRMb2dCdG4pIHtcbiAgICBpZiAoaXNMb2dnaW5nKSB7XG4gICAgICB0b2dnbGVWaXNpYmlsaXR5KGRvd25sb2FkTG9nQnRuLCB0cnVlKVxuICAgICAgdG9nZ2xlVmlzaWJpbGl0eShjbGVhckxvZ0J0biwgdHJ1ZSlcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBVcGRhdGVzIHRoZSB2aXNpYmlsaXR5IG9mIFVJIGVsZW1lbnRzIGJhc2VkIG9uIHNlcnZlciBwZXJtaXNzaW9uc1xuICogQHBhcmFtIHtPYmplY3R9IHBlcm1pc3Npb25zIC0gT2JqZWN0IGNvbnRhaW5pbmcgcGVybWlzc2lvbiBmbGFnc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlVUlWaXNpYmlsaXR5KHBlcm1pc3Npb25zKSB7XG4gIGRlYnVnKCd1cGRhdGVVSVZpc2liaWxpdHknLCBwZXJtaXNzaW9ucylcblxuICBjb25zdCBwZXJtaXNzaW9uSGFuZGxlcnMgPSB7XG4gICAgYWxsb3dSZWF1dGg6IHVwZGF0ZVJlYXV0aEJ0blZpc2liaWxpdHksXG4gICAgYWxsb3dSZXBsYXk6IHVwZGF0ZVJlcGxheUNyZWRlbnRpYWxzQnRuVmlzaWJpbGl0eVxuICB9XG5cbiAgT2JqZWN0LmtleXMocGVybWlzc2lvbnMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgIGlmIChwZXJtaXNzaW9uSGFuZGxlcnNba2V5XSAmJiBwZXJtaXNzaW9uc1trZXldICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHBlcm1pc3Npb25IYW5kbGVyc1trZXldKHBlcm1pc3Npb25zW2tleV0pXG4gICAgfVxuICB9KVxuXG4gIGlmIChwZXJtaXNzaW9ucy5lcnJvcikge1xuICAgIHNob3dFcnJvckRpYWxvZyhwZXJtaXNzaW9ucy5lcnJvcilcbiAgfVxufVxuXG4vKipcbiAqIEZvY3VzZXMgb24gdGhlIGFwcHJvcHJpYXRlIGlucHV0IGZpZWxkIGluIHRoZSBsb2dpbiBmb3JtXG4gKi9cbmZ1bmN0aW9uIGZvY3VzQXBwcm9wcmlhdGVJbnB1dCgpIHtcbiAgZGVidWcoJ2ZvY3VzQXBwcm9wcmlhdGVJbnB1dCcpXG4gIGNvbnN0IHsgaG9zdElucHV0LCB1c2VybmFtZUlucHV0LCBwYXNzd29yZElucHV0LCBwb3J0SW5wdXQgfSA9IGVsZW1lbnRzXG4gIGNvbnN0IGlzUmVhdXRoUmVxdWlyZWQgPSBzdGF0ZS5yZWF1dGhSZXF1aXJlZFxuXG4gIGlmIChpc1JlYXV0aFJlcXVpcmVkKSB7XG4gICAgLy8gRm9yIHJlYXV0aGVudGljYXRpb25cbiAgICBpZiAoIXVzZXJuYW1lSW5wdXQudmFsdWUpIHtcbiAgICAgIHVzZXJuYW1lSW5wdXQuZm9jdXMoKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHBhc3N3b3JkSW5wdXQuZm9jdXMoKVxuICAgIHJldHVyblxuICB9XG5cbiAgLy8gRm9yIG5ldyBjb25uZWN0aW9uXG4gIGlmICghaG9zdElucHV0LnZhbHVlKSB7XG4gICAgaG9zdElucHV0LmZvY3VzKClcbiAgICByZXR1cm5cbiAgfVxuXG4gIGlmICghdXNlcm5hbWVJbnB1dC52YWx1ZSkge1xuICAgIGlmIChwb3J0SW5wdXQudmFsdWUpIHtcbiAgICAgIHVzZXJuYW1lSW5wdXQuZm9jdXMoKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICB9XG5cbiAgcGFzc3dvcmRJbnB1dC5mb2N1cygpXG59XG5cbi8qKlxuICogVXBkYXRlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgcmVhdXRoZW50aWNhdGlvbiBidXR0b25cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gdmlzaWJsZSAtIFdoZXRoZXIgdGhlIGJ1dHRvbiBzaG91bGQgYmUgdmlzaWJsZVxuICovXG5mdW5jdGlvbiB1cGRhdGVSZWF1dGhCdG5WaXNpYmlsaXR5KHZpc2libGUpIHtcbiAgY29uc3QgeyByZWF1dGhCdG4gfSA9IGVsZW1lbnRzXG4gIGlmICh2aXNpYmxlKSB7XG4gICAgdG9nZ2xlVmlzaWJpbGl0eShyZWF1dGhCdG4sIHRydWUpXG4gICAgcmV0dXJuXG4gIH1cbiAgdG9nZ2xlVmlzaWJpbGl0eShyZWF1dGhCdG4sIGZhbHNlKVxufVxuXG4vKipcbiAqIFVwZGF0ZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIHJlcGxheUNyZWRlbnRpYWxzQnRuIGJ1dHRvblxuICogQHBhcmFtIHtib29sZWFufSB2aXNpYmxlIC0gV2hldGhlciB0aGUgYnV0dG9uIHNob3VsZCBiZSB2aXNpYmxlXG4gKi9cbmZ1bmN0aW9uIHVwZGF0ZVJlcGxheUNyZWRlbnRpYWxzQnRuVmlzaWJpbGl0eSh2aXNpYmxlKSB7XG4gIGNvbnN0IHsgcmVwbGF5Q3JlZGVudGlhbHNCdG4gfSA9IGVsZW1lbnRzXG4gIGlmICh2aXNpYmxlKSB7XG4gICAgdG9nZ2xlVmlzaWJpbGl0eShyZXBsYXlDcmVkZW50aWFsc0J0biwgdHJ1ZSlcbiAgICByZXR1cm5cbiAgfVxuICB0b2dnbGVWaXNpYmlsaXR5KHJlcGxheUNyZWRlbnRpYWxzQnRuLCBmYWxzZSlcbn1cblxuLyoqXG4gKiBUb2dnbGVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBkb3dubG9hZCBsb2cgYnV0dG9uLlxuICpcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gdmlzaWJsZSAtIEluZGljYXRlcyB3aGV0aGVyIHRoZSBidXR0b24gc2hvdWxkIGJlIHZpc2libGUgb3Igbm90LlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9nZ2xlRG93bmxvYWRMb2dCdG4odmlzaWJsZSkge1xuICB0b2dnbGVWaXNpYmlsaXR5KGVsZW1lbnRzLmRvd25sb2FkTG9nQnRuLCB2aXNpYmxlKVxufVxuXG4vKipcbiAqIFRvZ2dsZXMgdGhlIHZpc2liaWxpdHkgb2YgYW4gZWxlbWVudC5cbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbGVtZW50IC0gVGhlIERPTSBlbGVtZW50IHRvIHRvZ2dsZS5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNWaXNpYmxlIC0gSWYgdHJ1ZSwgc2hvdyB0aGUgZWxlbWVudDsgaWYgZmFsc2UsIGhpZGUgaXQuXG4gKi9cbmZ1bmN0aW9uIHRvZ2dsZVZpc2liaWxpdHkoZWxlbWVudCwgaXNWaXNpYmxlKSB7XG4gIGlmICghZWxlbWVudCkgcmV0dXJuXG4gIGRlYnVnKGB0b2dnbGVWaXNpYmlsaXR5OiAke2VsZW1lbnQuaWR9OiAke2lzVmlzaWJsZX1gKVxuXG4gIGlmIChpc1Zpc2libGUpIHtcbiAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3Zpc2libGUnKVxuICB9IGVsc2Uge1xuICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgndmlzaWJsZScpXG4gIH1cbn1cblxuLyoqXG4gKiBIYW5kbGVzIHRoZSBmb3JtIHN1Ym1pc3Npb24gZXZlbnQuXG4gKlxuICogQHBhcmFtIHtFdmVudH0gZSAtIFRoZSBmb3JtIHN1Ym1pc3Npb24gZXZlbnQuXG4gKi9cbmZ1bmN0aW9uIGZvcm1TdWJtaXQoZSkge1xuICBlLnByZXZlbnREZWZhdWx0KClcbiAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoZS50YXJnZXQpXG4gIGNvbnN0IGZvcm1EYXRhT2JqZWN0ID0gT2JqZWN0LmZyb21FbnRyaWVzKGZvcm1EYXRhLmVudHJpZXMoKSlcbiAgaGlkZWxvZ2luRGlhbG9nKClcbiAgY29ubmVjdFRvU2VydmVyKGZvcm1EYXRhT2JqZWN0KVxufVxuXG4vKipcbiAqIEhhbmRsZXMgdGhlIGtleWRvd24gZXZlbnQuXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCAtIFRoZSBrZXlkb3duIGV2ZW50IG9iamVjdC5cbiAqL1xuZnVuY3Rpb24ga2V5ZG93bihldmVudCkge1xuICAvLyBJZiB0aGUga2V5IGNvbWJpbmF0aW9uIGlzIEN0cmwgKyBTaGlmdCArIDYsIGl0IHByZXZlbnRzIHRoZSBkZWZhdWx0IGJlaGF2aW9yXG4gIC8vIGFuZCBlbWl0cyB0aGUgZGF0YSAnXFx4MUUnLlxuICBpZiAoZXZlbnQuY3RybEtleSAmJiBldmVudC5zaGlmdEtleSAmJiBldmVudC5jb2RlID09PSAnRGlnaXQ2Jykge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICBlbWl0RGF0YSgnXFx4MUUnKVxuICB9XG59XG5cbi8qKlxuICogRGV0ZWN0cyB0aGUgc3RhdGUgb2YgdGhlIENhcHMgTG9jayBrZXkgYW5kIGFkZHMgb3IgcmVtb3ZlcyB0aGUgJ2NhcHNsb2NrLWFjdGl2ZScgY2xhc3NcbiAqIGZyb20gdGhlIHBhc3N3b3JkIGlucHV0IGVsZW1lbnQgYWNjb3JkaW5nbHkuXG4gKlxuICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBUaGUgZXZlbnQgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUga2V5IHByZXNzIGV2ZW50LlxuICovXG5mdW5jdGlvbiBkZXRlY3RDYXBzTG9jayhldmVudCkge1xuICBpZiAoZXZlbnQuZ2V0TW9kaWZpZXJTdGF0ZSgnQ2Fwc0xvY2snKSkge1xuICAgIHBhc3N3b3JkSW5wdXQuY2xhc3NMaXN0LmFkZCgnY2Fwc2xvY2stYWN0aXZlJylcbiAgfSBlbHNlIHtcbiAgICBwYXNzd29yZElucHV0LmNsYXNzTGlzdC5yZW1vdmUoJ2NhcHNsb2NrLWFjdGl2ZScpXG4gIH1cbn1cblxuLyoqXG4gKiBIYW5kbGVzIHRoZSByZXNpemUgZXZlbnQgYW5kIHNlbmRzIHRoZSByZXNpemVkIGRpbWVuc2lvbnMgdG8gdGhlIHNlcnZlci5cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzaXplKCkge1xuICBjb25zdCBkaW1lbnNpb25zID0gcmVzaXplVGVybWluYWwoKVxuICBpZiAoZGltZW5zaW9ucykge1xuICAgIGRlYnVnKCdyZXNpemU6JywgZGltZW5zaW9ucylcbiAgICBlbWl0UmVzaXplKGRpbWVuc2lvbnMpXG4gIH1cbn1cblxuLyoqXG4gKiBIaWRlcyBhIGJ1dHRvbiBhbmQgb3B0aW9uYWxseSByZW1vdmVzIGl0cyBjbGljayBoYW5kbGVyLlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGJ1dHRvbiAtIFRoZSBidXR0b24gZWxlbWVudCB0byBoaWRlLlxuICogQHBhcmFtIHtib29sZWFufSBbcmVtb3ZlT25DbGljaz1mYWxzZV0gLSBXaGV0aGVyIHRvIHJlbW92ZSB0aGUgb25jbGljayBoYW5kbGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGlkZUJ1dHRvbihidXR0b24sIHJlbW92ZU9uQ2xpY2sgPSBmYWxzZSkge1xuICB0b2dnbGVWaXNpYmlsaXR5KGJ1dHRvbiwgZmFsc2UpXG5cbiAgaWYgKHJlbW92ZU9uQ2xpY2sgJiYgYnV0dG9uKSB7XG4gICAgYnV0dG9uLm9uY2xpY2sgPSBudWxsXG4gIH1cbn1cblxuLyoqXG4gKiBTaG93cyBhIGJ1dHRvbiBhbmQgb3B0aW9uYWxseSBhc3NpZ25zIGEgY2xpY2sgaGFuZGxlci5cbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBidXR0b24gLSBUaGUgYnV0dG9uIGVsZW1lbnQgdG8gc2hvdy5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IFtvbkNsaWNrPW51bGxdIC0gVGhlIG9uY2xpY2sgaGFuZGxlciB0byBhc3NpZ24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaG93QnV0dG9uKGJ1dHRvbiwgb25DbGljayA9IG51bGwpIHtcbiAgdG9nZ2xlVmlzaWJpbGl0eShidXR0b24sIHRydWUpXG5cbiAgaWYgKG9uQ2xpY2sgJiYgYnV0dG9uKSB7XG4gICAgYnV0dG9uLm9uY2xpY2sgPSBvbkNsaWNrXG4gIH1cbn1cblxuLyoqXG4gKiBTaG93cyB0aGUgdGVybWluYWwgb3B0aW9ucyBkaWFsb2cuXG4gKiBAcGFyYW0ge09iamVjdH0gY29uZmlnIC0gVGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaG93dGVybWluYWxTZXR0aW5nc0RpYWxvZyhjb25maWcpIHtcbiAgZGVidWcoJ3Nob3d0ZXJtaW5hbFNldHRpbmdzRGlhbG9nJylcbiAgaWYgKGVsZW1lbnRzLnRlcm1pbmFsU2V0dGluZ3NEaWFsb2cpIHtcbiAgICBwb3B1bGF0ZXRlcm1pbmFsU2V0dGluZ3NGb3JtKGNvbmZpZylcbiAgICBlbGVtZW50cy50ZXJtaW5hbFNldHRpbmdzRGlhbG9nLnNob3dNb2RhbCgpXG4gIH1cbn1cblxuLyoqXG4gKiBQb3B1bGF0ZXMgdGhlIHRlcm1pbmFsIG9wdGlvbnMgZm9ybSB3aXRoIGN1cnJlbnQgc2V0dGluZ3MuXG4gKiBAcGFyYW0ge09iamVjdH0gY29uZmlnIC0gVGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0XG4gKi9cbmZ1bmN0aW9uIHBvcHVsYXRldGVybWluYWxTZXR0aW5nc0Zvcm0oY29uZmlnKSB7XG4gIGNvbnN0IHNldHRpbmdzID0gZ2V0VGVybWluYWxTZXR0aW5ncyhjb25maWcpXG4gIGRlYnVnKCdwb3B1bGF0ZXRlcm1pbmFsU2V0dGluZ3NGb3JtJywgc2V0dGluZ3MpXG4gIGlmIChlbGVtZW50cy50ZXJtaW5hbFNldHRpbmdzRm9ybSkge1xuICAgIE9iamVjdC5rZXlzKHNldHRpbmdzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IGlucHV0ID0gZWxlbWVudHMudGVybWluYWxTZXR0aW5nc0Zvcm0uZWxlbWVudHNba2V5XVxuICAgICAgaWYgKGlucHV0KSB7XG4gICAgICAgIGlmIChpbnB1dC50eXBlID09PSAnY2hlY2tib3gnKSB7XG4gICAgICAgICAgaW5wdXQuY2hlY2tlZCA9IHNldHRpbmdzW2tleV1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpbnB1dC52YWx1ZSA9IHNldHRpbmdzW2tleV1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gIH1cbn1cblxuLyoqXG4gKiBIaWRlcyB0aGUgdGVybWluYWwgb3B0aW9ucyBkaWFsb2cuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoaWRldGVybWluYWxTZXR0aW5nc0RpYWxvZygpIHtcbiAgZGVidWcoJ2hpZGV0ZXJtaW5hbFNldHRpbmdzRGlhbG9nJylcbiAgZWxlbWVudHM/LnRlcm1pbmFsU2V0dGluZ3NEaWFsb2c/LmNsb3NlPy4oKVxufVxuXG4vKipcbiAqIEhhbmRsZXMgdGhlIHN1Ym1pc3Npb24gb2YgdGhlIHRlcm1pbmFsIG9wdGlvbnMgZm9ybS5cbiAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IC0gVGhlIGZvcm0gc3VibWlzc2lvbiBldmVudC5cbiAqIEBwYXJhbSB7T2JqZWN0fSBjb25maWcgLSBUaGUgY29uZmlndXJhdGlvbiBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZXRlcm1pbmFsU2V0dGluZ3NTdWJtaXQoZXZlbnQsIGNvbmZpZykge1xuICBkZWJ1ZygnaGFuZGxldGVybWluYWxTZXR0aW5nc1N1Ym1pdCcpXG4gIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgY29uc3QgZm9ybSA9IGV2ZW50LnRhcmdldFxuICBpZiAoIShmb3JtIGluc3RhbmNlb2YgSFRNTEZvcm1FbGVtZW50KSkge1xuICAgIGNvbnNvbGUuZXJyb3IoJ2hhbmRsZXRlcm1pbmFsU2V0dGluZ3NTdWJtaXQ6IEludmFsaWQgZm9ybSBlbGVtZW50JylcbiAgICByZXR1cm5cbiAgfVxuXG4gIGNvbnN0IHNldHRpbmdzID0ge31cbiAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoZm9ybSlcblxuICBjb25zdCBjdXJyZW50U2V0dGluZ3MgPSBnZXRUZXJtaW5hbFNldHRpbmdzKGNvbmZpZylcblxuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBmb3JtRGF0YS5lbnRyaWVzKCkpIHtcbiAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgY2FzZSAnZm9udFNpemUnOlxuICAgICAgICBzZXR0aW5nc1trZXldID0gdmFsaWRhdGVOdW1iZXIodmFsdWUsIDgsIDcyLCBjdXJyZW50U2V0dGluZ3MuZm9udFNpemUpXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdzY3JvbGxiYWNrJzpcbiAgICAgICAgc2V0dGluZ3Nba2V5XSA9IHZhbGlkYXRlTnVtYmVyKFxuICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgIDEsXG4gICAgICAgICAgMjAwMDAwLFxuICAgICAgICAgIGN1cnJlbnRTZXR0aW5ncy5zY3JvbGxiYWNrXG4gICAgICAgIClcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ3RhYlN0b3BXaWR0aCc6XG4gICAgICAgIHNldHRpbmdzW2tleV0gPSB2YWxpZGF0ZU51bWJlcihcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAxLFxuICAgICAgICAgIDEwMCxcbiAgICAgICAgICBjdXJyZW50U2V0dGluZ3MudGFiU3RvcFdpZHRoXG4gICAgICAgIClcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ2N1cnNvckJsaW5rJzpcbiAgICAgICAgc2V0dGluZ3Nba2V5XSA9IHZhbHVlID09PSAndHJ1ZSdcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ2JlbGxTdHlsZSc6XG4gICAgICAgIHNldHRpbmdzW2tleV0gPSB2YWxpZGF0ZUJlbGxTdHlsZSh2YWx1ZSwgY3VycmVudFNldHRpbmdzLmJlbGxTdHlsZSlcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ2ZvbnRGYW1pbHknOlxuICAgICAgICBzZXR0aW5nc1trZXldID0gdmFsdWUgfHwgY3VycmVudFNldHRpbmdzLmZvbnRGYW1pbHlcbiAgICAgICAgYnJlYWtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHNldHRpbmdzW2tleV0gPSB2YWx1ZVxuICAgIH1cbiAgfVxuXG4gIHNhdmVUZXJtaW5hbFNldHRpbmdzKHNldHRpbmdzKVxuICBhcHBseVRlcm1pbmFsU2V0dGluZ3Moc2V0dGluZ3MpXG4gIGhpZGV0ZXJtaW5hbFNldHRpbmdzRGlhbG9nKClcbn1cblxuLyoqXG4gKiBJbml0aWFsaXplcyB0aGUgRE9NIGFuZCBzZXRzIHVwIGV2ZW50IGxpc3RlbmVyc1xuICogQHBhcmFtIHtPYmplY3R9IGNvbmZpZyAtIFRoZSBjb25maWd1cmF0aW9uIG9iamVjdFxuICogQHJldHVybnMge1Byb21pc2V9IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIERPTSBpcyByZWFkeVxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5pdGlhbGl6ZURvbShjb25maWcpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgY29uc3QgaW5pdGlhbGl6ZURvbUNvbnRlbnQgPSAoKSA9PiB7XG4gICAgICBkZWJ1ZygnaW5pdGlhbGl6ZURvbScpXG4gICAgICBpbml0aWFsaXplRWxlbWVudHMoKVxuICAgICAgc2V0dXBFdmVudExpc3RlbmVycyhjb25maWcpXG4gICAgICBpbml0aWFsaXplU2V0dGluZ3MoY29uZmlnKVxuICAgICAgcmVzb2x2ZSgpXG4gICAgfVxuXG4gICAgaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgPT09ICdsb2FkaW5nJykge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGluaXRpYWxpemVEb21Db250ZW50KVxuICAgIH0gZWxzZSB7XG4gICAgICBpbml0aWFsaXplRG9tQ29udGVudCgpXG4gICAgfVxuICB9KVxufVxuXG4vKipcbiAqIFNldHMgdGhlIHRlcm1pbmFsIGluc3RhbmNlIGZvciBET00gb3BlcmF0aW9uc1xuICogQHBhcmFtIHtUZXJtaW5hbH0gdGVybWluYWxJbnN0YW5jZSAtIFRoZSB0ZXJtaW5hbCBpbnN0YW5jZVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0VGVybWluYWxJbnN0YW5jZSh0ZXJtaW5hbEluc3RhbmNlKSB7XG4gIHRlcm0gPSB0ZXJtaW5hbEluc3RhbmNlXG59XG5cbi8qKlxuICogT3BlbnMgdGhlIHRlcm1pbmFsIGluIHRoZSBzcGVjaWZpZWQgY29udGFpbmVyXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBjb250YWluZXIgLSBUaGUgY29udGFpbmVyIGVsZW1lbnQgZm9yIHRoZSB0ZXJtaW5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gb3BlblRlcm1pbmFsKGNvbnRhaW5lcikge1xuICBpZiAodGVybSAmJiBjb250YWluZXIpIHtcbiAgICB0ZXJtLm9wZW4oY29udGFpbmVyKVxuICAgIC8vIE5vdGU6IFdlJ3JlIG5vdCBjYWxsaW5nIGZpdEFkZG9uLmZpdCgpIGhlcmUgYXMgaXQncyBub3QgYSBET00gb3BlcmF0aW9uXG4gICAgZGVidWcoJ29wZW5UZXJtaW5hbCcpXG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS5lcnJvcignb3BlblRlcm1pbmFsOiBUZXJtaW5hbCBvciBjb250YWluZXIgbm90IGF2YWlsYWJsZScpXG4gIH1cbn1cblxuLyoqXG4gKiBGb2N1c2VzIHRoZSB0ZXJtaW5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9jdXNUZXJtaW5hbCgpIHtcbiAgaWYgKHRlcm0pIHtcbiAgICB0ZXJtLmZvY3VzKClcbiAgICBkZWJ1ZygnZm9jdXNUZXJtaW5hbDogVGVybWluYWwgZm9jdXNlZCcpXG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS5lcnJvcignb3BlblRlcm1pbmFsOiBUZXJtaW5hbCBub3QgYXZhaWxhYmxlJylcbiAgfVxufVxuXG4vKipcbiAqIFRvZ2dsZXMgdGhlIGVuYWJsZWQgc3RhdGUgb2YgaG9zdCBhbmQgcG9ydCBpbnB1dCBmaWVsZHNcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gc3RhdGUgLSBXaGV0aGVyIHJlYXV0aGVudGljYXRpb24gaXMgcmVxdWlyZWRcbiAqL1xuZnVuY3Rpb24gdG9nZ2xlTG9naW5GaWVsZHMoc3RhdGUpIHtcbiAgY29uc3QgeyBob3N0SW5wdXQsIHBvcnRJbnB1dCB9ID0gZWxlbWVudHNcblxuICBpZiAoaG9zdElucHV0KSBob3N0SW5wdXQuZGlzYWJsZWQgPSBzdGF0ZVxuICBpZiAocG9ydElucHV0KSBwb3J0SW5wdXQuZGlzYWJsZWQgPSBzdGF0ZVxuXG4gIGRlYnVnKFxuICAgIGB0b2dnbGVMb2dpbkZpZWxkczogJHtzdGF0ZSA/ICdkaXNhYmxlZCcgOiAnZW5hYmxlZCd9IGZvciAke1xuICAgICAgc3RhdGUgPyAncmUtYXV0aGVudGljYXRpb24nIDogJ25ldyBjb25uZWN0aW9uJ1xuICAgIH1gXG4gIClcbn1cbiIsIi8vIGNsaWVudFxuLy8gY2xpZW50L3NyYy9qcy9pbmRleC5qc1xuXG5pbXBvcnQgY3JlYXRlRGVidWcgZnJvbSAnZGVidWcnXG5pbXBvcnQgJ3B1cmVjc3MvYnVpbGQvcHVyZS5jc3MnXG5pbXBvcnQgJy4uL2Nzcy9tZW51LmNzcydcbmltcG9ydCAnQHh0ZXJtL3h0ZXJtL2Nzcy94dGVybS5jc3MnXG5pbXBvcnQgJy4uL2Nzcy90ZXJtaW5hbC5jc3MnXG5pbXBvcnQgJy4uL2Nzcy9zdHlsZS5jc3MnXG5cbmltcG9ydCB7XG4gIGZpbGxMb2dpbkZvcm0sXG4gIGZvY3VzVGVybWluYWwsXG4gIGhpZGVFcnJvckRpYWxvZyxcbiAgaGlkZVJlY29ubmVjdEJ0bixcbiAgaW5pdGlhbGl6ZURvbSxcbiAgaW5pdGlhbGl6ZUVsZW1lbnRzLFxuICBvcGVuVGVybWluYWwsXG4gIHNob3dFcnJvckRpYWxvZyxcbiAgc2hvd2xvZ2luRGlhbG9nLFxuICBzaG93UmVjb25uZWN0QnRuLFxuICB0b2dnbGVUZXJtaW5hbERpc3BsYXksXG4gIHVwZGF0ZUVsZW1lbnQsXG4gIHVwZGF0ZXN0YXJ0TG9nQnRuU3RhdGVcbn0gZnJvbSAnLi9kb20uanMnXG5cbmltcG9ydCB7IGluaXRpYWxpemVTb2NrZXRDb25uZWN0aW9uLCBpbml0U29ja2V0IH0gZnJvbSAnLi9zb2NrZXQuanMnXG5cbmltcG9ydCB7XG4gIGluaXRpYWxpemVUZXJtaW5hbCxcbiAgcmVzZXRUZXJtaW5hbCxcbiAgd3JpdGVUb1Rlcm1pbmFsXG59IGZyb20gJy4vdGVybWluYWwuanMnXG5cbmltcG9ydCB7IGFwcGx5U3RvcmVkU2V0dGluZ3MgfSBmcm9tICcuL3NldHRpbmdzLmpzJ1xuXG5pbXBvcnQgeyBzdGF0ZSB9IGZyb20gJy4vc3RhdGUuanMnXG5cbmltcG9ydCB7XG4gIGluaXRpYWxpemVDb25maWcsXG4gIGdldEJhc2ljQXV0aENvb2tpZSxcbiAgcG9wdWxhdGVGb3JtRnJvbVVybFxufSBmcm9tICcuL3V0aWxzLmpzJ1xuaW1wb3J0IHtcbiAgYWRkVG9TZXNzaW9uTG9nLFxuICBjaGVja1NhdmVkU2Vzc2lvbkxvZyxcbiAgZG93bmxvYWRMb2dcbn0gZnJvbSAnLi9jbGllbnRsb2cuanMnXG5cbmV4cG9ydCBjb25zdCBkZWJ1ZyA9IGNyZWF0ZURlYnVnKCd3ZWJzc2gyLWNsaWVudCcpXG5cbmltcG9ydCB7IGxpYnJhcnksIGRvbSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1zdmctY29yZSdcbmltcG9ydCB7XG4gIGZhQmFycyxcbiAgZmFDbGlwYm9hcmQsXG4gIGZhQ29nLFxuICBmYURvd25sb2FkLFxuICBmYUtleSxcbiAgZmFUcmFzaENhbixcbiAgZmFDaXJjbGVVcFxufSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnXG5cbmxpYnJhcnkuYWRkKFxuICBmYUJhcnMsXG4gIGZhQ2xpcGJvYXJkLFxuICBmYURvd25sb2FkLFxuICBmYUtleSxcbiAgZmFDb2csXG4gIGZhVHJhc2hDYW4sXG4gIGZhQ2lyY2xlVXBcbilcblxuZG9tLndhdGNoKClcblxubGV0IGNvbmZpZ1xubGV0IGVsZW1lbnRzXG5leHBvcnQgbGV0IHNlc3Npb25Gb290ZXIgPSBudWxsXG5cbi8qKlxuICogSW5pdGlhbGl6ZXMgdGhlIGFwcGxpY2F0aW9uLlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZXJlIGlzIGFuIGluaXRpYWxpemF0aW9uIGVycm9yLlxuICovXG5hc3luYyBmdW5jdGlvbiBpbml0aWFsaXplKCkge1xuICB0cnkge1xuICAgIGNvbnNvbGUubG9nKGBJbml0aWFsaXppbmcgV2ViU1NIMiBjbGllbnQgLSAke0JBTk5FUl9TVFJJTkd9YClcbiAgICBjb25maWcgPSBpbml0aWFsaXplQ29uZmlnKClcblxuICAgIGNvbnN0IGJhc2ljQXV0aENvb2tpZSA9IGdldEJhc2ljQXV0aENvb2tpZSgpXG4gICAgaWYgKGJhc2ljQXV0aENvb2tpZSkge1xuICAgICAgY29uZmlnLnNzaC5ob3N0ID0gYmFzaWNBdXRoQ29va2llLmhvc3QgfHwgY29uZmlnLnNzaC5ob3N0XG4gICAgICBjb25maWcuc3NoLnBvcnQgPSBiYXNpY0F1dGhDb29raWUucG9ydCB8fCBjb25maWcuc3NoLnBvcnRcbiAgICAgIHN0YXRlLmlzQmFzaWNBdXRoQ29va2llUHJlc2VudCA9IHRydWVcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhdGUuaXNCYXNpY0F1dGhDb29raWVQcmVzZW50ID0gZmFsc2VcbiAgICB9XG5cbiAgICBjb25maWcgPSBwb3B1bGF0ZUZvcm1Gcm9tVXJsKGNvbmZpZylcbiAgICBhd2FpdCBpbml0aWFsaXplRG9tKGNvbmZpZykgLy8gUGFzcyBjb25maWcgaGVyZVxuICAgIGluaXRpYWxpemVUZXJtaW5hbEFuZFVJKClcbiAgICBpbml0U29ja2V0KFxuICAgICAgY29uZmlnLFxuICAgICAgb25Db25uZWN0LFxuICAgICAgb25EaXNjb25uZWN0LFxuICAgICAgb25EYXRhLFxuICAgICAgd3JpdGVUb1Rlcm1pbmFsLFxuICAgICAgZm9jdXNUZXJtaW5hbFxuICAgIClcbiAgICAvLyBXZSBjYW4gcmVtb3ZlIHRoaXMgbGluZSBhcyBpdCdzIG5vdyBoYW5kbGVkIGluIGluaXRpYWxpemVEb21cbiAgICAvLyBpbml0aWFsaXplRG9tQW5kU2V0dGluZ3MoY29uZmlnKTtcbiAgICBjaGVja1NhdmVkU2Vzc2lvbkxvZygpXG4gICAgaW5pdGlhbGl6ZUNvbm5lY3Rpb24oKVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGhhbmRsZUVycm9yKCdJbml0aWFsaXphdGlvbiBlcnJvcjonLCBlcnJvcilcbiAgfVxufVxuXG4vLyBJbW1lZGlhdGVseSBJbnZva2VkIEFzeW5jIEZ1bmN0aW9uIEV4cHJlc3Npb24gKElJRkUpXG47KGFzeW5jICgpID0+IHtcbiAgYXdhaXQgaW5pdGlhbGl6ZSgpXG59KSgpXG5cbi8qKlxuICogSW5pdGlhbGl6ZXMgdGhlIHRlcm1pbmFsIGFuZCB1c2VyIGludGVyZmFjZS5cbiAqL1xuZnVuY3Rpb24gaW5pdGlhbGl6ZVRlcm1pbmFsQW5kVUkoKSB7XG4gIGRlYnVnKCdpbml0aWFsaXplVGVybWluYWxBbmRVSScpXG4gIGluaXRpYWxpemVUZXJtaW5hbChjb25maWcpXG4gIGVsZW1lbnRzID0gaW5pdGlhbGl6ZUVsZW1lbnRzKClcbiAgc2Vzc2lvbkZvb3RlciA9IGNvbmZpZy5zc2guaG9zdFxuICAgID8gYHNzaDovLyR7Y29uZmlnLnNzaC5ob3N0fToke2NvbmZpZy5zc2gucG9ydH1gXG4gICAgOiBudWxsXG5cbiAgY29uc3QgeyB0ZXJtaW5hbENvbnRhaW5lciB9ID0gZWxlbWVudHNcblxuICBpZiAodGVybWluYWxDb250YWluZXIpIHtcbiAgICBvcGVuVGVybWluYWwodGVybWluYWxDb250YWluZXIpXG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgICdUZXJtaW5hbCBjb250YWluZXIgbm90IGZvdW5kLiBUZXJtaW5hbCBjYW5ub3QgYmUgaW5pdGlhbGl6ZWQuJ1xuICAgIClcbiAgfVxufVxuXG4vKipcbiAqIENvbm5lY3RzIHRvIHRoZSBzZXJ2ZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbm5lY3RUb1NlcnZlcihmb3JtRGF0YSA9IG51bGwpIHtcbiAgZGVidWcoJ2Nvbm5lY3RUb1NlcnZlcicpXG4gIGNvbnN0IHsgaXNDb25uZWN0aW5nLCByZWF1dGhSZXF1aXJlZCB9ID0gc3RhdGVcblxuICBpZiAoaXNDb25uZWN0aW5nKSByZXR1cm5cblxuICBpZiAocmVhdXRoUmVxdWlyZWQpIHtcbiAgICBzdGF0ZS5yZWF1dGhSZXF1aXJlZCA9IGZhbHNlXG4gICAgcmVzZXRUZXJtaW5hbCgpXG4gIH1cblxuICBzdGF0ZS5pc0Nvbm5lY3RpbmcgPSB0cnVlXG4gIGluaXRpYWxpemVTb2NrZXRDb25uZWN0aW9uKClcblxuICBjb25zdCB7IHRlcm1pbmFsQ29udGFpbmVyIH0gPSBlbGVtZW50c1xuICBpZiAodGVybWluYWxDb250YWluZXIpIHtcbiAgICBkZWJ1ZygnVGVybWluYWwgY29udGFpbmVyIGZvdW5kLiBBcHBseWluZyBoZWFkZXIgYW5kIGZvb3Rlci4nKVxuICAgIGlmIChjb25maWc/LmhlYWRlcj8udGV4dCAhPSBudWxsICYmIGNvbmZpZz8uaGVhZGVyPy5iYWNrZ3JvdW5kICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IGhlYWRlckNvbnRlbnQgPSB7XG4gICAgICAgIHRleHQ6IGNvbmZpZy5oZWFkZXIudGV4dCA/PyAnJyxcbiAgICAgICAgYmFja2dyb3VuZDogY29uZmlnLmhlYWRlci5iYWNrZ3JvdW5kID8/ICcnXG4gICAgICB9XG4gICAgICB1cGRhdGVFbGVtZW50KCdoZWFkZXInLCBoZWFkZXJDb250ZW50KVxuICAgIH1cblxuICAgIGlmIChzZXNzaW9uRm9vdGVyICE9IG51bGwpIHtcbiAgICAgIHVwZGF0ZUVsZW1lbnQoJ2Zvb3RlcicsIHsgdGV4dDogc2Vzc2lvbkZvb3RlciB9KVxuICAgIH1cbiAgICB0b2dnbGVUZXJtaW5hbERpc3BsYXkodHJ1ZSlcbiAgfVxufVxuXG4vKipcbiAqIEhhbmRsZXMgdGhlIGxvZ2ljIHdoZW4gYSBjb25uZWN0aW9uIGlzIHN1Y2Nlc3NmdWxseSBlc3RhYmxpc2hlZC5cbiAqL1xuZnVuY3Rpb24gb25Db25uZWN0KCkge1xuICBoaWRlUmVjb25uZWN0QnRuKClcbiAgaGlkZUVycm9yRGlhbG9nKClcblxuICAvLyBSZXNldCBzZXNzaW9uIGxvZyBzZXR0aW5nc1xuICBzdGF0ZS5zZXNzaW9uTG9nRW5hYmxlID0gZmFsc2VcbiAgc3RhdGUubG9nZ2VkRGF0YSA9IGZhbHNlXG4gIHVwZGF0ZXN0YXJ0TG9nQnRuU3RhdGUoZmFsc2UpXG5cbiAgZGVidWcoJ29uQ29ubmVjdDogU3VjY2Vzc2Z1bGx5IGNvbm5lY3RlZCB0byB0aGUgc2VydmVyJylcbn1cblxuLyoqXG4gKiBIYW5kbGVzIHRoZSBkaXNjb25uZWN0aW9uIGV2ZW50LlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSByZWFzb24gLSBUaGUgcmVhc29uIGZvciBkaXNjb25uZWN0aW9uLlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIG9uRGlzY29ubmVjdChyZWFzb24sIGRldGFpbHMpIHtcbiAgY29uc3QgcmVhdXRoUmVxdWlyZWQgPSBzdGF0ZS5yZWF1dGhSZXF1aXJlZFxuXG4gIGRlYnVnKCdvbkRpc2Nvbm5lY3Q6JywgcmVhc29uKVxuXG4gIHN3aXRjaCAocmVhc29uKSB7XG4gICAgY2FzZSAnYXV0aF9yZXF1aXJlZCc6XG4gICAgY2FzZSAnYXV0aF9mYWlsZWQnOlxuICAgICAgc2hvd2xvZ2luRGlhbG9nKClcbiAgICAgIGJyZWFrXG5cbiAgICAgIGNhc2UgJ3JlYXV0aF9yZXF1aXJlZCc6XG4gICAgICAgIGRlYnVnKCdvbkRpc2Nvbm5lY3Q6IHJlYXV0aF9yZXF1aXJlZDogZm9ybXMgYXV0aCBmbG93JylcbiAgICAgICAgc3RhdGUucmVhdXRoUmVxdWlyZWQgPSB0cnVlXG4gICAgICAgIHNob3dsb2dpbkRpYWxvZygpXG4gICAgICAgIGJyZWFrXG4gIFxuICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICBzaG93RXJyb3JEaWFsb2coYFNvY2tldCBlcnJvcjogJHtkZXRhaWxzIHx8IHJlYXNvbn1gKVxuICAgICAgICBjb21tb25Qb3N0RGlzY29ubmVjdFRhc2tzKClcbiAgICAgICAgYnJlYWtcbiAgXG4gICAgICBjYXNlICdzc2hfZXJyb3InOlxuICAgICAgICBpZiAocmVhdXRoUmVxdWlyZWQpIHtcbiAgICAgICAgICBkZWJ1ZygnSWdub3JpbmcgZXJyb3IgZHVlIHRvIHByaW9yIHJlYXV0aF9yZXF1aXJlZCcpXG4gICAgICAgICAgc3RhdGUucmVhdXRoUmVxdWlyZWQgPSBmYWxzZVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNob3dFcnJvckRpYWxvZyhgJHtkZXRhaWxzIHx8IHJlYXNvbn1gKVxuICAgICAgICAgIGNvbW1vblBvc3REaXNjb25uZWN0VGFza3MoKVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBzaG93RXJyb3JEaWFsb2coYERpc2Nvbm5lY3RlZDogJHtkZXRhaWxzIHx8IHJlYXNvbn1gKVxuICAgICAgICBjb21tb25Qb3N0RGlzY29ubmVjdFRhc2tzKClcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuLyoqXG4gKiBQZXJmb3JtcyBjb21tb24gdGFza3MgYWZ0ZXIgZGlzY29ubmVjdGluZyBmcm9tIHRoZSBzZXJ2ZXIuXG4gKiBAZnVuY3Rpb24gY29tbW9uUG9zdERpc2Nvbm5lY3RUYXNrc1xuICovXG5mdW5jdGlvbiBjb21tb25Qb3N0RGlzY29ubmVjdFRhc2tzKCkge1xuICBjb25zdCBzZXNzaW9uTG9nRW5hYmxlID0gc3RhdGUuc2Vzc2lvbkxvZ0VuYWJsZVxuXG4gIHN0YXRlLmlzQ29ubmVjdGluZyA9IGZhbHNlXG5cbiAgaWYgKHNlc3Npb25Mb2dFbmFibGUpIHtcbiAgICBjb25zdCBhdXRvRG93bmxvYWQgPSB3aW5kb3cuY29uZmlybShcbiAgICAgICdXb3VsZCB5b3UgbGlrZSB0byBkb3dubG9hZCB0aGUgc2Vzc2lvbiBsb2c/J1xuICAgIClcbiAgICBkb3dubG9hZExvZyhhdXRvRG93bmxvYWQpXG4gIH1cblxuICByZXNldEFwcGxpY2F0aW9uKClcbiAgaWYgKFxuICAgIHN0YXRlLmFsbG93UmVjb25uZWN0ICYmXG4gICAgIXN0YXRlLmlzQmFzaWNBdXRoQ29va2llUHJlc2VudFxuICApIHtcbiAgICBzaG93UmVjb25uZWN0QnRuKHJlY29ubmVjdFRvU2VydmVyKVxuICB9XG59XG5cbi8qKlxuICogSGFuZGxlcyB0aGUgZGF0YSByZWNlaXZlZCBmcm9tIHRoZSBzZXJ2ZXIuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGRhdGEgLSBUaGUgZGF0YSByZWNlaXZlZCBmcm9tIHRoZSBzZXJ2ZXIuXG4gKi9cbmZ1bmN0aW9uIG9uRGF0YShkYXRhKSB7XG4gIGNvbnN0IHNlc3Npb25Mb2dFbmFibGUgPSBzdGF0ZS5zZXNzaW9uTG9nRW5hYmxlXG4gIGlmIChzZXNzaW9uTG9nRW5hYmxlKSB7XG4gICAgYWRkVG9TZXNzaW9uTG9nKGRhdGEpXG4gIH1cbn1cblxuLyoqXG4gKiBIYW5kbGVzIGVycm9ycyBhbmQgdXBkYXRlcyB0aGUgVUkgYWNjb3JkaW5nbHkuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2UgLSBUaGUgZXJyb3IgbWVzc2FnZS5cbiAqIEBwYXJhbSB7RXJyb3J9IGVycm9yIC0gVGhlIGVycm9yIG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUVycm9yKG1lc3NhZ2UsIGVycm9yKSB7XG4gIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIG1lc3NhZ2UsIGVycm9yKVxuICBzdGF0ZS5pc0Nvbm5lY3RpbmcgPSBmYWxzZVxuICB1cGRhdGVFbGVtZW50KCdzdGF0dXMnLCBgRXJyb3I6ICR7bWVzc2FnZX1gLCAncmVkJylcbiAgc2hvd0Vycm9yRGlhbG9nKG1lc3NhZ2UpXG4gIC8vIHNob3dSZWNvbm5lY3RCdG4oKVxufVxuXG4vKipcbiAqIFJlc2V0cyB0aGUgYXBwbGljYXRpb24gYnkgZGlzYWJsaW5nIHNlc3Npb24gbG9nLCB1cGRhdGluZyBsb2cgYnV0dG9uIHN0YXRlLCBhbmQgcmVzZXR0aW5nIHRoZSB0ZXJtaW5hbC5cbiAqL1xuZnVuY3Rpb24gcmVzZXRBcHBsaWNhdGlvbigpIHtcbiAgc3RhdGUuc2Vzc2lvbkxvZ0VuYWJsZSA9IGZhbHNlXG4gIHVwZGF0ZXN0YXJ0TG9nQnRuU3RhdGUoZmFsc2UpXG59XG5cbi8qKlxuICogUmVjb25uZWN0cyB0byB0aGUgc2VydmVyLlxuICovXG5mdW5jdGlvbiByZWNvbm5lY3RUb1NlcnZlcigpIHtcbiAgY29uc3QgaXNDb25uZWN0aW5nID0gc3RhdGUuaXNDb25uZWN0aW5nXG4gIGlmIChpc0Nvbm5lY3RpbmcpIHtcbiAgICBkZWJ1ZygnUmVjb25uZWN0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MnKVxuICAgIHJldHVyblxuICB9XG5cbiAgaGlkZVJlY29ubmVjdEJ0bigpXG4gIGhpZGVFcnJvckRpYWxvZygpXG4gIHJlc2V0VGVybWluYWwoKVxuXG4gIGNvbm5lY3RUb1NlcnZlcigpXG59XG5cbi8qKlxuICogSW5pdGlhbGl6ZXMgdGhlIFNTSCBjb25uZWN0aW9uLlxuICpcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5mdW5jdGlvbiBpbml0aWFsaXplQ29ubmVjdGlvbigpIHtcbiAgY29uc3QgeyBhdXRvQ29ubmVjdCwgc3NoIH0gPSBjb25maWdcbiAgZGVidWcoJ2luaXRpYWxpemVDb25uZWN0aW9uJywgeyBhdXRvQ29ubmVjdCB9KVxuICB0cnkge1xuICAgIGlmIChhdXRvQ29ubmVjdCkge1xuICAgICAgZmlsbExvZ2luRm9ybShzc2gpXG4gICAgICBjb25uZWN0VG9TZXJ2ZXIoKVxuICAgIH0gZWxzZSB7XG4gICAgICBzaG93bG9naW5EaWFsb2coKVxuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBoYW5kbGVFcnJvcignaW5pdGlhbGl6ZUNvbm5lY3Rpb246IGZhaWxlZDogJywgZXJyb3IpXG4gIH1cbn1cbiIsIi8vIGNsaWVudFxuLy8gY2xpZW50L3NyYy9qcy9zZXR0aW5ncy5qc1xuXG5pbXBvcnQgY3JlYXRlRGVidWcgZnJvbSAnZGVidWcnXG5cbmNvbnN0IGRlYnVnID0gY3JlYXRlRGVidWcoJ3dlYnNzaDItY2xpZW50OnNldHRpbmdzJylcblxuY29uc3QgU1RPUkFHRV9LRVkgPSAnd2Vic3NoMi5zZXR0aW5ncy5nbG9iYWwnXG5cbi8qKlxuICogSW5pdGlhbGl6ZXMgdGhlIHNldHRpbmdzIGluIGxvY2FsU3RvcmFnZSB3aXRoIGRlZmF1bHQgdmFsdWVzIGlmIHRoZXkgZG9uJ3QgZXhpc3QuXG4gKiBAcGFyYW0ge09iamVjdH0gW2NvbmZpZ10gLSBUaGUgY29uZmlndXJhdGlvbiBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVTZXR0aW5ncyhjb25maWcgPSB7fSkge1xuICBpZiAoIWxvY2FsU3RvcmFnZS5nZXRJdGVtKFNUT1JBR0VfS0VZKSkge1xuICAgIHNhdmVUZXJtaW5hbFNldHRpbmdzKHt9KVxuICAgIGRlYnVnKCdpbml0aWFsaXplU2V0dGluZ3M6IEluaXRpYWxpemVkIGVtcHR5IHNldHRpbmdzIGluIGxvY2FsU3RvcmFnZScpXG4gIH1cbiAgZGVidWcoJ2luaXRpYWxpemVTZXR0aW5ncycpXG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSB0ZXJtaW5hbCBzZXR0aW5ncyBmcm9tIGxvY2FsU3RvcmFnZS5cbiAqIEBwYXJhbSB7T2JqZWN0fSBbY29uZmlnXSAtIFRoZSBjb25maWd1cmF0aW9uIG9iamVjdFxuICogQHJldHVybnMge09iamVjdH0gVGhlIHRlcm1pbmFsIHNldHRpbmdzIG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0b3JlZFNldHRpbmdzKCkge1xuICBjb25zdCBzdG9yZWRTZXR0aW5ncyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oU1RPUkFHRV9LRVkpKVxuICBpZiAoc3RvcmVkU2V0dGluZ3MpIHtcbiAgICB0cnkge1xuICAgICAgZGVidWcoJ2dldFN0b3JlZFNldHRpbmdzJywgc3RvcmVkU2V0dGluZ3MpXG4gICAgICByZXR1cm4gc3RvcmVkU2V0dGluZ3NcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignZ2V0U3RvcmVkU2V0dGluZ3M6IEVycm9yIHBhcnNpbmcgc3RvcmVkIHNldHRpbmdzOicsIGVycm9yKVxuICAgIH1cbiAgfVxuICByZXR1cm4ge31cbn1cblxuLyoqXG4gKiBTYXZlcyB0aGUgdGVybWluYWwgc2V0dGluZ3MgdG8gbG9jYWxTdG9yYWdlLlxuICogQHBhcmFtIHtPYmplY3R9IHNldHRpbmdzIC0gVGhlIHRlcm1pbmFsIHNldHRpbmdzIG9iamVjdCB0byBzYXZlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2F2ZVRlcm1pbmFsU2V0dGluZ3Moc2V0dGluZ3MpIHtcbiAgdHJ5IHtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShTVE9SQUdFX0tFWSwgSlNPTi5zdHJpbmdpZnkoc2V0dGluZ3MpKVxuICAgIGRlYnVnKCdzYXZlVGVybWluYWxTZXR0aW5ncycsIHNldHRpbmdzKVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoJ3NhdmVUZXJtaW5hbFNldHRpbmdzJywgZXJyb3IpXG4gIH1cbn1cblxuIiwiLy8gY2xpZW50XG4vLyBjbGllbnQvc3JjL2pzL3NvY2tldC5qc1xuXG5pbXBvcnQgaW8gZnJvbSAnc29ja2V0LmlvLWNsaWVudCdcbmltcG9ydCBjcmVhdGVEZWJ1ZyBmcm9tICdkZWJ1ZydcbmltcG9ydCB7XG4gIGhpZGVQcm9tcHREaWFsb2csXG4gIHJlc2l6ZSxcbiAgc2hvd0Vycm9yRGlhbG9nLFxuICBzaG93UHJvbXB0RGlhbG9nLFxuICB1cGRhdGVFbGVtZW50LFxuICB1cGRhdGVVSVZpc2liaWxpdHlcbn0gZnJvbSAnLi9kb20uanMnXG5pbXBvcnQgeyBnZXRDcmVkZW50aWFscyB9IGZyb20gJy4vdXRpbHMuanMnXG5pbXBvcnQgeyBnZXRUZXJtaW5hbERpbWVuc2lvbnMgfSBmcm9tICcuL3Rlcm1pbmFsLmpzJ1xuaW1wb3J0IHsgc3RhdGUgfSBmcm9tICcuL3N0YXRlLmpzJ1xuaW1wb3J0IHsgdG9nZ2xlTG9nIH0gZnJvbSAnLi9jbGllbnRsb2cuanMnXG5pbXBvcnQgbWFza09iamVjdCBmcm9tICdqc21hc2tlcidcblxuY29uc3QgZGVidWcgPSBjcmVhdGVEZWJ1Zygnd2Vic3NoMi1jbGllbnQ6c29ja2V0JylcblxubGV0IHNvY2tldFxubGV0IGNvbmZpZ1xubGV0IHdyaXRlVG9UZXJtaW5hbFxubGV0IG9uQ29ubmVjdENhbGxiYWNrXG5sZXQgb25EaXNjb25uZWN0Q2FsbGJhY2tcbmxldCBvbkRhdGFDYWxsYmFja1xubGV0IGZvY3VzVGVybWluYWxDYWxsYmFja1xuXG4vKipcbiAqIENsb3NlcyB0aGUgc29ja2V0IGNvbm5lY3Rpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbG9zZUNvbm5lY3Rpb24oKSB7XG4gIGlmIChzb2NrZXQpIHtcbiAgICBkZWJ1ZygnY2xvc2VDb25uZWN0aW9uJylcbiAgICBzb2NrZXQuY2xvc2UoKVxuICB9XG59XG5cbi8qKlxuICogRW1pdHMgZGF0YSB0byB0aGUgc2VydmVyLlxuICogQHBhcmFtIHtzdHJpbmd9IGRhdGEgLSBUaGUgZGF0YSB0byBzZW5kIHRvIHRoZSBzZXJ2ZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVtaXREYXRhKGRhdGEpIHtcbiAgaWYgKHNvY2tldCkge1xuICAgIHNvY2tldC5lbWl0KCdkYXRhJywgZGF0YSlcbiAgfVxufVxuXG4vKipcbiAqIEVtaXRzIGEgcmVzaXplIGV2ZW50IHRvIHRoZSBzZXJ2ZXIgd2l0aCBuZXcgdGVybWluYWwgZGltZW5zaW9ucy5cbiAqIEBwYXJhbSB7T2JqZWN0fSBkaW1lbnNpb25zIC0gVGhlIG5ldyBkaW1lbnNpb25zIG9mIHRoZSB0ZXJtaW5hbFxuICogQHBhcmFtIHtudW1iZXJ9IGRpbWVuc2lvbnMuY29scyAtIFRoZSBudW1iZXIgb2YgY29sdW1uc1xuICogQHBhcmFtIHtudW1iZXJ9IGRpbWVuc2lvbnMucm93cyAtIFRoZSBudW1iZXIgb2Ygcm93c1xuICovXG5leHBvcnQgZnVuY3Rpb24gZW1pdFJlc2l6ZShkaW1lbnNpb25zKSB7XG4gIGlmIChzb2NrZXQpIHtcbiAgICBzb2NrZXQuZW1pdCgncmVzaXplJywgZGltZW5zaW9ucylcbiAgICBkZWJ1ZygnZW1pdFJlc2l6ZScsIGRpbWVuc2lvbnMpXG4gIH1cbn1cblxuLyoqXG4gKiBJbml0aWFsaXplcyB0aGUgc29ja2V0IGNvbm5lY3Rpb24uXG4gKiBAcmV0dXJucyB7U29ja2V0SU9DbGllbnQuU29ja2V0fSBUaGUgaW5pdGlhbGl6ZWQgc29ja2V0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplU29ja2V0Q29ubmVjdGlvbigpIHtcbiAgZGVidWcoJ2luaXRpYWxpemVTb2NrZXRDb25uZWN0aW9uJylcbiAgY2xvc2VDb25uZWN0aW9uXG5cbiAgc29ja2V0ID0gaW8oZ2V0V2ViU29ja2V0VXJsKCksIHtcbiAgICBwYXRoOiBnZXRTb2NrZXRJT1BhdGgoKSxcbiAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgcmVjb25uZWN0aW9uOiBmYWxzZSxcbiAgICB0aW1lb3V0OiAyMDAwMCxcbiAgICBwaW5nVGltZW91dDogNjAwMDAsXG4gICAgcGluZ0ludGVydmFsOiAyNTAwMFxuICB9KVxuXG4gIHNldHVwU29ja2V0TGlzdGVuZXJzKClcblxuICByZXR1cm4gc29ja2V0XG59XG5cbi8qKlxuICogSW5pdGlhbGl6ZXMgdGhlIHNvY2tldCBtb2R1bGUgd2l0aCBuZWNlc3NhcnkgZGVwZW5kZW5jaWVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5pdFNvY2tldChcbiAgY29uZmlnT2JqLFxuICBjb25uZWN0Q2FsbGJhY2ssXG4gIGRpc2Nvbm5lY3RDYWxsYmFjayxcbiAgZGF0YUNhbGxiYWNrLFxuICB3cml0ZUZ1bmN0aW9uLFxuICBmb2N1c0NhbGxiYWNrXG4pIHtcbiAgY29uZmlnID0gY29uZmlnT2JqXG4gIG9uQ29ubmVjdENhbGxiYWNrID0gY29ubmVjdENhbGxiYWNrXG4gIG9uRGlzY29ubmVjdENhbGxiYWNrID0gZGlzY29ubmVjdENhbGxiYWNrXG4gIG9uRGF0YUNhbGxiYWNrID0gZGF0YUNhbGxiYWNrXG4gIHdyaXRlVG9UZXJtaW5hbCA9IHdyaXRlRnVuY3Rpb25cbiAgZm9jdXNUZXJtaW5hbENhbGxiYWNrID0gZm9jdXNDYWxsYmFja1xufVxuXG4vKipcbiAqIEluaXRpYXRlcyBhIHJlYXV0aGVudGljYXRpb24gc2Vzc2lvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlYXV0aCgpIHtcbiAgaWYgKHN0YXRlLmFsbG93UmVhdXRoKSB7XG4gICAgZGVidWcoJ3JlYXV0aCcpXG4gICAgc29ja2V0LmVtaXQoJ2NvbnRyb2wnLCAncmVhdXRoJylcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLndhcm4oJ3JlYXV0aDogU2Vzc2lvbiByZWF1dGggbm90IHBlcm1pdHRlZCcpXG4gICAgdXBkYXRlVUlWaXNpYmlsaXR5KHsgZXJyb3I6ICdSZWF1dGhlbnRpY2F0aW9uIG5vdCBwZXJtaXR0ZWQuJyB9KVxuICB9XG59XG5cbi8qKlxuICogUmVwbGF5cyBjcmVkZW50aWFscyB0byB0aGUgc2VydmVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVwbGF5Q3JlZGVudGlhbHMoKSB7XG4gIGNvbnN0IGFsbG93UmVwbGF5ID0gc3RhdGUuYWxsb3dSZXBsYXlcbiAgaWYgKGFsbG93UmVwbGF5KSB7XG4gICAgZGVidWcoJ3JlcGxheUNyZWRlbnRpYWxzJylcbiAgICBzb2NrZXQuZW1pdCgnY29udHJvbCcsICdyZXBsYXlDcmVkZW50aWFscycpXG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS53YXJuKCdyZXBsYXlDcmVkZW50aWFsczogQ3JlZGVudGlhbCByZXBsYXkgbm90IHBlcm1pdHRlZCcpXG4gICAgc2hvd0Vycm9yRGlhbG9nKCdDcmVkZW50aWFsIHJlcGxheSBub3QgcGVybWl0dGVkJylcbiAgfVxufVxuXG4vKipcbiAqIEluaXRpYXRlcyBhdXRoZW50aWNhdGlvbiB3aXRoIHRoZSBzZXJ2ZXJcbiAqIEBwYXJhbSB7T2JqZWN0fSBmb3JtRGF0YSAtIE9wdGlvbmFsIGZvcm0gZGF0YSB0byB1c2UgZm9yIGF1dGhlbnRpY2F0aW9uXG4gKi9cbmZ1bmN0aW9uIGF1dGhlbnRpY2F0ZShmb3JtRGF0YSA9IG51bGwpIHtcbiAgY29uc3QgdGVybWluYWxEaW1lbnNpb25zID0gZ2V0VGVybWluYWxEaW1lbnNpb25zKClcbiAgY29uc3QgY3JlZGVudGlhbHMgPSBnZXRDcmVkZW50aWFscyhmb3JtRGF0YSwgdGVybWluYWxEaW1lbnNpb25zKVxuICBzdGF0ZS50ZXJtID0gY3JlZGVudGlhbHMudGVybVxuICBjb25zdCBtYXNrZWRDb250ZW50ID0gbWFza09iamVjdChjcmVkZW50aWFscylcbiAgZGVidWcoJ2F1dGhlbnRpY2F0ZScsIG1hc2tlZENvbnRlbnQpXG4gIGlmIChjcmVkZW50aWFscy5ob3N0ICYmIGNyZWRlbnRpYWxzLnVzZXJuYW1lKSB7XG4gICAgc29ja2V0LmVtaXQoJ2F1dGhlbnRpY2F0ZScsIGNyZWRlbnRpYWxzKVxuICAgIHVwZGF0ZUVsZW1lbnQoJ3N0YXR1cycsICdBdXRoZW50aWNhdGluZy4uLicsICdvcmFuZ2UnKVxuICB9IGVsc2Uge1xuICAgIGlmIChvbkRpc2Nvbm5lY3RDYWxsYmFjaykge1xuICAgICAgb25EaXNjb25uZWN0Q2FsbGJhY2soJ2F1dGhfcmVxdWlyZWQnKVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgdGVybWluYWwgY29uZmlndXJhdGlvbiBhbmQgc2VuZHMgaXQgdG8gdGhlIHNlcnZlci5cbiAqL1xuZnVuY3Rpb24gZ2V0VGVybWluYWwoKSB7XG4gIGNvbnN0IHsgY29scywgcm93cyB9ID0gZ2V0VGVybWluYWxEaW1lbnNpb25zKClcbiAgY29uc3QgdGVybSA9IHN0YXRlLnRlcm1cbiAgY29uc3QgdGVybWluYWwgPSB7IGNvbHMsIHJvd3MsIHRlcm0gfVxuICBkZWJ1ZygnZ2V0VGVybWluYWwnLCB0ZXJtaW5hbClcbiAgaWYgKHNvY2tldCkge1xuICAgIHNvY2tldC5lbWl0KCd0ZXJtaW5hbCcsIHRlcm1pbmFsKVxuICB9XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBwYXRoIGZvciB0aGUgU29ja2V0LklPIGNvbm5lY3Rpb24uXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgU29ja2V0LklPIHBhdGguXG4gKi9cbmZ1bmN0aW9uIGdldFNvY2tldElPUGF0aCgpIHtcbiAgY29uc3Qgc29ja2V0SU9QYXRoID1cbiAgICBjb25maWcgJiYgY29uZmlnLnNvY2tldCAmJiBjb25maWcuc29ja2V0LnBhdGhcbiAgICAgID8gY29uZmlnLnNvY2tldC5wYXRoXG4gICAgICA6ICcvc3NoL3NvY2tldC5pbydcbiAgZGVidWcoJ2dldFNvY2tldElPUGF0aCcsIHNvY2tldElPUGF0aClcbiAgcmV0dXJuIHNvY2tldElPUGF0aFxufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgV2ViU29ja2V0IFVSTCBmb3IgZXN0YWJsaXNoaW5nIGEgY29ubmVjdGlvbi5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBXZWJTb2NrZXQgVVJMLlxuICovXG5mdW5jdGlvbiBnZXRXZWJTb2NrZXRVcmwoKSB7XG4gIGlmIChjb25maWcgJiYgY29uZmlnLnNvY2tldCAmJiBjb25maWcuc29ja2V0LnVybCkge1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwoY29uZmlnLnNvY2tldC51cmwpXG4gICAgdXJsLnByb3RvY29sID0gd2luZG93LmxvY2F0aW9uLnByb3RvY29sID09PSAnaHR0cHM6JyA/ICd3c3M6JyA6ICd3czonXG4gICAgcmV0dXJuIHVybC50b1N0cmluZygpXG4gIH1cblxuICBjb25zdCBwcm90b2NvbCA9IHdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCA9PT0gJ2h0dHBzOicgPyAnd3NzOicgOiAnd3M6J1xuICBjb25zdCBob3N0ID0gd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lXG4gIGNvbnN0IHBvcnQgPSB3aW5kb3cubG9jYXRpb24ucG9ydCB8fCAocHJvdG9jb2wgPT09ICd3c3M6JyA/ICc0NDMnIDogJzgwJylcblxuICBjb25zdCB3ZWJTb2NrZXRVcmwgPSBgJHtwcm90b2NvbH0vLyR7aG9zdH06JHtwb3J0fWBcbiAgZGVidWcoJ2dldFdlYlNvY2tldFVybCcsIHdlYlNvY2tldFVybClcblxuICByZXR1cm4gd2ViU29ja2V0VXJsXG59XG5cbi8qKlxuICogSGFuZGxlcyB0aGUgcmVzdWx0IG9mIGF1dGhlbnRpY2F0aW9uIGF0dGVtcHQuXG4gKiBAcGFyYW0ge09iamVjdH0gcmVzdWx0IC0gVGhlIGF1dGhlbnRpY2F0aW9uIHJlc3VsdC5cbiAqL1xuZnVuY3Rpb24gYXV0aFJlc3VsdChyZXN1bHQpIHtcbiAgZGVidWcoJ2F1dGhSZXN1bHQnLCByZXN1bHQpXG4gIHN0YXRlLmlzQ29ubmVjdGluZyA9IGZhbHNlXG4gIGlmIChyZXN1bHQuc3VjY2Vzcykge1xuICAgIHVwZGF0ZUVsZW1lbnQoJ3N0YXR1cycsICdDb25uZWN0ZWQnLCAnZ3JlZW4nKVxuICAgIGlmIChmb2N1c1Rlcm1pbmFsQ2FsbGJhY2spIHtcbiAgICAgIGZvY3VzVGVybWluYWxDYWxsYmFjaygpXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHVwZGF0ZUVsZW1lbnQoJ3N0YXR1cycsIGBBdXRoZW50aWNhdGlvbiBmYWlsZWQ6ICR7cmVzdWx0Lm1lc3NhZ2V9YCwgJ3JlZCcpXG4gICAgaWYgKG9uRGlzY29ubmVjdENhbGxiYWNrKSB7XG4gICAgICBvbkRpc2Nvbm5lY3RDYWxsYmFjaygnYXV0aF9mYWlsZWQnLCByZXN1bHQubWVzc2FnZSlcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBIYW5kbGVzIHN1Y2Nlc3NmdWwgY29ubmVjdGlvbnNcbiAqL1xuZnVuY3Rpb24gY29ubmVjdCgpIHtcbiAgZGVidWcoJ2Nvbm5lY3Q6IENvbm5lY3RlZCB0byBzZXJ2ZXInKVxuICAvLyB0ZXJtIGNvbHMvcm93c1xuICBzdGF0ZS5pc0Nvbm5lY3RpbmcgPSBmYWxzZVxuICB1cGRhdGVFbGVtZW50KCdzdGF0dXMnLCAnQ29ubmVjdGVkJywgJ2dyZWVuJylcblxuICByZXNpemUoKVxuXG4gIGlmIChvbkNvbm5lY3RDYWxsYmFjaykge1xuICAgIG9uQ29ubmVjdENhbGxiYWNrKClcbiAgfVxufVxuXG4vKipcbiAqIEhhbmRsZXMgY29ubmVjdGlvbiBlcnJvcnNcbiAqIEBwYXJhbSB7RXJyb3J9IGVycm9yIC0gVGhlIGNvbm5lY3Rpb24gZXJyb3JcbiAqL1xuZnVuY3Rpb24gY29ubmVjdF9lcnJvcihlcnJvcikge1xuICBkZWJ1ZygnY29ubmVjdF9lcnJvcicsIGVycm9yKVxuICBpZiAob25EaXNjb25uZWN0Q2FsbGJhY2spIHtcbiAgICBvbkRpc2Nvbm5lY3RDYWxsYmFjaygnY29ubmVjdF9lcnJvcicsIGVycm9yKVxuICB9XG59XG5cbi8qKlxuICogSGFuZGxlcyBpbmNvbWluZyBkYXRhIGZyb20gdGhlIHNlcnZlci5cbiAqIEBwYXJhbSB7c3RyaW5nfSBkYXRhIC0gVGhlIGRhdGEgcmVjZWl2ZWQgZnJvbSB0aGUgc2VydmVyLlxuICovXG5mdW5jdGlvbiBkYXRhKGRhdGEpIHtcbiAgaWYgKHdyaXRlVG9UZXJtaW5hbCkge1xuICAgIHdyaXRlVG9UZXJtaW5hbChkYXRhKVxuICB9XG4gIGlmIChvbkRhdGFDYWxsYmFjaykge1xuICAgIG9uRGF0YUNhbGxiYWNrKGRhdGEpXG4gIH1cbn1cblxuLyoqXG4gKiBIYW5kbGVzIGRpc2Nvbm5lY3Rpb25zXG4gKiBAcGFyYW0ge3N0cmluZ30gcmVhc29uIC0gVGhlIHJlYXNvbiBmb3IgZGlzY29ubmVjdGlvblxuICovXG5mdW5jdGlvbiBkaXNjb25uZWN0KHJlYXNvbikge1xuICBkZWJ1ZygnZGlzY29ubmVjdCcsIHJlYXNvbilcbiAgc3RhdGUuaXNDb25uZWN0aW5nID0gZmFsc2VcbiAgdXBkYXRlRWxlbWVudCgnc3RhdHVzJywgYFdFQlNPQ0tFVCBTRVJWRVIgRElTQ09OTkVDVEVEOiAke3JlYXNvbn1gLCAncmVkJylcblxuICBpZiAob25EaXNjb25uZWN0Q2FsbGJhY2spIHtcbiAgICBvbkRpc2Nvbm5lY3RDYWxsYmFjayhyZWFzb24pXG4gIH1cbn1cblxuLyoqXG4gKiBIYW5kbGVzIHNvY2tldCBlcnJvcnNcbiAqIEBwYXJhbSB7RXJyb3J9IGVycm9yIC0gVGhlIGVycm9yIG9iamVjdFxuICovXG5mdW5jdGlvbiBlcnJvcihlcnJvcikge1xuICBkZWJ1ZygnU29ja2V0IGVycm9yOicsIGVycm9yKVxuICBpZiAob25EaXNjb25uZWN0Q2FsbGJhY2spIHtcbiAgICBvbkRpc2Nvbm5lY3RDYWxsYmFjaygnZXJyb3InLCBlcnJvcilcbiAgfVxufVxuXG4vKipcbiAqIEFwcGxpZXMgdGhlIGdpdmVuIHBlcm1pc3Npb25zIHRvIHRoZSBjb3JyZXNwb25kaW5nIGhhbmRsZXJzLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwZXJtaXNzaW9ucyAtIFRoZSBwZXJtaXNzaW9ucyBvYmplY3QuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IHBlcm1pc3Npb25zLmF1dG9Mb2cgLSBUaGUgcGVybWlzc2lvbiBmb3IgYXV0byBsb2dnaW5nLlxuICogQHBhcmFtIHtib29sZWFufSBwZXJtaXNzaW9ucy5hbGxvd1JlYXV0aCAtIFRoZSBwZXJtaXNzaW9uIGZvciBhbGxvd2luZyByZWF1dGhlbnRpY2F0aW9uLlxuICogQHBhcmFtIHtib29sZWFufSBwZXJtaXNzaW9ucy5hbGxvd1JlY29ubmVjdCAtIFRoZSBwZXJtaXNzaW9uIGZvciBhbGxvd2luZyByZWNvbm5lY3Rpb24uXG4gKiBAcGFyYW0ge2Jvb2xlYW59IHBlcm1pc3Npb25zLmFsbG93UmVwbGF5IC0gVGhlIHBlcm1pc3Npb24gZm9yIGFsbG93aW5nIHJlcGxheS5cbiAqL1xuZnVuY3Rpb24gcGVybWlzc2lvbnMocGVybWlzc2lvbnMpIHtcbiAgZGVidWcoJ3Blcm1pc3Npb25zJywgcGVybWlzc2lvbnMpXG5cbiAgY29uc3QgaGFuZGxlcnMgPSB7XG4gICAgYXV0b0xvZzogKHZhbHVlKSA9PiB7XG4gICAgICBpZiAodmFsdWUpIHRvZ2dsZUxvZyh2YWx1ZSlcbiAgICB9LFxuXG4gICAgYWxsb3dSZWF1dGg6ICh2YWx1ZSkgPT4ge1xuICAgICAgc3RhdGUuYWxsb3dSZWF1dGggPSB2YWx1ZVxuXG4gICAgICB1cGRhdGVVSVZpc2liaWxpdHkoeyBhbGxvd1JlYXV0aDogdmFsdWUgfSlcbiAgICB9LFxuXG4gICAgYWxsb3dSZWNvbm5lY3Q6ICh2YWx1ZSkgPT4ge1xuICAgICAgc3RhdGUuYWxsb3dSZWNvbm5lY3QgPSB2YWx1ZVxuICAgIH0sXG5cbiAgICBhbGxvd1JlcGxheTogKHZhbHVlKSA9PiB7XG4gICAgICBzdGF0ZS5hbGxvd1JlcGxheSA9IHZhbHVlXG5cbiAgICAgIHVwZGF0ZVVJVmlzaWJpbGl0eSh7IGFsbG93UmVwbGF5OiB2YWx1ZSB9KVxuICAgIH1cbiAgfVxuXG4gIE9iamVjdC5lbnRyaWVzKHBlcm1pc3Npb25zKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICBpZiAoa2V5IGluIGhhbmRsZXJzKSB7XG4gICAgICBoYW5kbGVyc1trZXldKHZhbHVlKVxuICAgIH1cbiAgfSlcbn1cblxuLyoqXG4gKiBIYW5kbGVzIHRoZSBrZXlib2FyZC1pbnRlcmFjdGl2ZSBhdXRoZW50aWNhdGlvbiByZXF1ZXN0IGZyb20gdGhlIHNlcnZlci5cbiAqIEBwYXJhbSB7T2JqZWN0fSBkYXRhIC0gVGhlIGRhdGEgb2JqZWN0IGNvbnRhaW5pbmcgcHJvbXB0IGluZm9ybWF0aW9uLlxuICovXG5mdW5jdGlvbiBoYW5kbGVLZXlib2FyZEludGVyYWN0aXZlKGRhdGEpIHtcbiAgZGVidWcoJ2hhbmRsZUtleWJvYXJkSW50ZXJhY3RpdmUnKVxuICBzaG93UHJvbXB0RGlhbG9nKGRhdGEsIChyZXNwb25zZXMpID0+IHtcbiAgICBkZWJ1ZygnaGFuZGxlS2V5Ym9hcmRJbnRlcmFjdGl2ZTogcmVzcG9uc2UnKVxuICAgIHNvY2tldC5lbWl0KCdhdXRoZW50aWNhdGlvbicsIHtcbiAgICAgIGFjdGlvbjogJ2tleWJvYXJkLWludGVyYWN0aXZlJyxcbiAgICAgIHJlc3BvbnNlczogcmVzcG9uc2VzXG4gICAgfSk7XG4gIH0pO1xufVxuXG4vKipcbiAqIEhhbmRsZXMgU1NIIGVycm9ycyBmcm9tIHRoZSBzZXJ2ZXJcbiAqIEBwYXJhbSB7c3RyaW5nfSBlcnJvciAtIFRoZSBTU0ggZXJyb3IgbWVzc2FnZVxuICovXG5mdW5jdGlvbiBzc2hlcnJvcihlcnJvcikge1xuICBkZWJ1Zygnc3NoZXJyb3InLCBlcnJvcilcbiAgaWYgKG9uRGlzY29ubmVjdENhbGxiYWNrKSB7XG4gICAgb25EaXNjb25uZWN0Q2FsbGJhY2soJ3NzaF9lcnJvcicsIGVycm9yKVxuICB9XG59XG5cbi8qKlxuICogSGFuZGxlcyB0aGUgYXV0aGVudGljYXRpb24gcHJvY2Vzcy5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBjb250YWluaW5nIHRoZSBhdXRoZW50aWNhdGlvbiBhY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIGF1dGhlbnRpY2F0aW9uKGRhdGEpIHtcbiAgZGVidWcoJ2F1dGhlbnRpY2F0aW9uJywgZGF0YSlcblxuICBzd2l0Y2ggKGRhdGEuYWN0aW9uKSB7XG4gICAgY2FzZSAncmVxdWVzdF9hdXRoJzpcbiAgICAgIGF1dGhlbnRpY2F0ZSgpXG4gICAgICB1cGRhdGVFbGVtZW50KCdzdGF0dXMnLCAnUmVxdWVzdGluZyBhdXRoZW50aWNhdGlvbi4uLicsICdvcmFuZ2UnKVxuICAgICAgYnJlYWtcblxuICAgIGNhc2UgJ2F1dGhfcmVzdWx0JzpcbiAgICAgIGF1dGhSZXN1bHQoZGF0YSlcbiAgICAgIGJyZWFrXG5cbiAgICBjYXNlICdrZXlib2FyZC1pbnRlcmFjdGl2ZSc6XG4gICAgICBoYW5kbGVLZXlib2FyZEludGVyYWN0aXZlKGRhdGEpXG4gICAgICBicmVha1xuXG4gICAgY2FzZSAncmVhdXRoJzpcbiAgICAgIGlmIChvbkRpc2Nvbm5lY3RDYWxsYmFjaykge1xuICAgICAgICBvbkRpc2Nvbm5lY3RDYWxsYmFjaygncmVhdXRoX3JlcXVpcmVkJywgc29ja2V0KVxuICAgICAgfVxuICAgICAgYnJlYWtcblxuICAgIGNhc2UgJ2RpbWVuc2lvbnMnOlxuICAgICAgY29uc3QgdGVybWluYWxEaW1lbnNpb25zID0gZ2V0VGVybWluYWxEaW1lbnNpb25zKClcbiAgICAgIGVtaXRSZXNpemUodGVybWluYWxEaW1lbnNpb25zKVxuICAgICAgYnJlYWtcblxuICAgIGRlZmF1bHQ6XG4gICAgICBkZWJ1ZyhgVW5oYW5kbGVkIGF1dGhlbnRpY2F0aW9uIGFjdGlvbjogJHtkYXRhLmFjdGlvbn1gKVxuICAgICAgYnJlYWtcbiAgfVxufVxuXG4vKipcbiAqIEhhbmRsZXMgdGhlIFwidXBkYXRlVUlcIiBldmVudCBmcm9tIHRoZSBzZXJ2ZXIgYW5kIHVwZGF0ZXMgdGhlIHNwZWNpZmllZCBVSSBlbGVtZW50LlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBkYXRhIC0gVGhlIGRhdGEgcmVjZWl2ZWQgZnJvbSB0aGUgc2VydmVyLlxuICogQHBhcmFtIHtzdHJpbmd9IGRhdGEuZWxlbWVudCAtIFRoZSBuYW1lIG9mIHRoZSBlbGVtZW50IHRvIGJlIHVwZGF0ZWQuXG4gKiBAcGFyYW0ge3N0cmluZ3xvYmplY3R9IGRhdGEudmFsdWUgLSBUaGUgbmV3IGNvbnRlbnQgZm9yIHRoZSBlbGVtZW50LlxuICovXG5mdW5jdGlvbiB1cGRhdGVVSShkYXRhKSB7XG4gIGRlYnVnKCd1cGRhdGVVSScsIEpTT04uc3RyaW5naWZ5KGRhdGEpKVxuXG4gIGNvbnN0IHsgZWxlbWVudCwgdmFsdWUgfSA9IGRhdGFcblxuICAvLyBDaGVjayBpZiB0aGUgcmVjZWl2ZWQgZGF0YSBpcyB2YWxpZFxuICBpZiAoIWVsZW1lbnQgfHwgIXZhbHVlKSB7XG4gICAgY29uc29sZS53YXJuKCd1cGRhdGVVSTogUmVjZWl2ZWQgaW52YWxpZCBkYXRhIGZyb20gdXBkYXRlVUkgZXZlbnQ6JywgZGF0YSlcbiAgICByZXR1cm5cbiAgfVxuXG4gIC8vIFVwZGF0ZSB0aGUgZWxlbWVudCB1c2luZyB0aGUgdXBkYXRlRWxlbWVudCBmdW5jdGlvblxuICB1cGRhdGVFbGVtZW50KGVsZW1lbnQsIHZhbHVlKVxufVxuXG4vKipcbiAqIFNldHMgdXAgU29ja2V0LklPIGV2ZW50IGxpc3RlbmVyc1xuICovXG5mdW5jdGlvbiBzZXR1cFNvY2tldExpc3RlbmVycygpIHtcbiAgZGVidWcoJ3NldHVwU29ja2V0TGlzdGVuZXJzJylcbiAgT2JqZWN0LmVudHJpZXMoe1xuICAgIGF1dGhlbnRpY2F0aW9uLFxuICAgIGNvbm5lY3QsXG4gICAgY29ubmVjdF9lcnJvcixcbiAgICBkYXRhLFxuICAgIGdldFRlcm1pbmFsLFxuICAgIGRpc2Nvbm5lY3QsXG4gICAgZXJyb3IsXG4gICAgcGVybWlzc2lvbnMsXG4gICAgc3NoZXJyb3IsXG4gICAgdXBkYXRlVUlcbiAgfSkuZm9yRWFjaCgoW2V2ZW50LCBoYW5kbGVyXSkgPT4ge1xuICAgIGlmICh0eXBlb2YgaGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgc29ja2V0Lm9uKGV2ZW50LCBoYW5kbGVyKVxuICAgIH1cbiAgfSlcbn1cbiIsIi8vIGNsaWVudFxuLy8gY2xpZW50L3NyYy9qcy9zdGF0ZS5qc1xuXG5pbXBvcnQgY3JlYXRlRGVidWcgZnJvbSAnZGVidWcnO1xuXG5jb25zdCBkZWJ1ZyA9IGNyZWF0ZURlYnVnKCd3ZWJzc2gyLWNsaWVudDpzdGF0ZScpO1xuXG5jb25zdCBpbml0aWFsU3RhdGUgPSB7XG4gIGFsbG93UmVhdXRoOiBmYWxzZSxcbiAgYWxsb3dSZWNvbm5lY3Q6IGZhbHNlLFxuICBhbGxvd1JlcGxheTogZmFsc2UsXG4gIGlzQmFzaWNBdXRoQ29va2llUHJlc2VudDogZmFsc2UsXG4gIGlzQ29ubmVjdGluZzogZmFsc2UsXG4gIGxvZ2dlZERhdGE6IGZhbHNlLFxuICByZWF1dGhSZXF1aXJlZDogZmFsc2UsXG4gIHNlc3Npb25Mb2dFbmFibGU6IGZhbHNlLFxuICB0ZXJtOiBudWxsXG59O1xuXG5leHBvcnQgY29uc3Qgc3RhdGUgPSB7IC4uLmluaXRpYWxTdGF0ZSB9O1xuXG5leHBvcnQgZnVuY3Rpb24gdG9nZ2xlU3RhdGUoa2V5KSB7XG4gIGlmICh0eXBlb2Ygc3RhdGVba2V5XSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgc3RhdGVba2V5XSA9ICFzdGF0ZVtrZXldO1xuICAgIGRlYnVnKCd0b2dnbGVTdGF0ZScsIHsgW2tleV06IHN0YXRlW2tleV0gfSk7XG4gICAgcmV0dXJuIHN0YXRlW2tleV07XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgdG9nZ2xlIG5vbi1ib29sZWFuIHN0YXRlOiAke2tleX1gKTtcbn1cbiIsIi8vIGNsaWVudFxuLy8gY2xpZW50L3NyYy9qcy90ZXJtaW5hbC5qc1xuXG5pbXBvcnQgeyBUZXJtaW5hbCB9IGZyb20gJ0B4dGVybS94dGVybSdcbmltcG9ydCB7IEZpdEFkZG9uIH0gZnJvbSAnQHh0ZXJtL2FkZG9uLWZpdCdcbmltcG9ydCBjcmVhdGVEZWJ1ZyBmcm9tICdkZWJ1ZydcbmltcG9ydCB7IHZhbGlkYXRlTnVtYmVyLCB2YWxpZGF0ZUJlbGxTdHlsZSB9IGZyb20gJy4vdXRpbHMuanMnXG5pbXBvcnQgeyBlbWl0RGF0YSB9IGZyb20gJy4vc29ja2V0LmpzJ1xuaW1wb3J0IHsgZ2V0U3RvcmVkU2V0dGluZ3MgfSBmcm9tICcuL3NldHRpbmdzLmpzJ1xuaW1wb3J0IHsgc2V0VGVybWluYWxJbnN0YW5jZSwgZm9jdXNUZXJtaW5hbCBhcyBkb21Gb2N1c1Rlcm1pbmFsIH0gZnJvbSAnLi9kb20uanMnXG5cbmNvbnN0IGRlYnVnID0gY3JlYXRlRGVidWcoJ3dlYnNzaDItY2xpZW50OnRlcm1pbmFsJylcblxubGV0IHRlcm1cbmxldCBmaXRBZGRvblxuXG5leHBvcnQgY29uc3QgZGVmYXVsdFNldHRpbmdzID0ge1xuICBjdXJzb3JCbGluazogdHJ1ZSxcbiAgc2Nyb2xsYmFjazogMTAwMDAsXG4gIHRhYlN0b3BXaWR0aDogOCxcbiAgYmVsbFN0eWxlOiAnc291bmQnLFxuICBmb250U2l6ZTogMTQsXG4gIGZvbnRGYW1pbHk6ICdjb3VyaWVyLW5ldywgY291cmllciwgbW9ub3NwYWNlJyxcbiAgbGV0dGVyU3BhY2luZzogMCxcbiAgbGluZUhlaWdodDogMSxcbiAgbG9nTGV2ZWw6ICdpbmZvJ1xufVxuXG4vKipcbiAqIEluaXRpYWxpemVzIHRoZSB0ZXJtaW5hbFxuICogQHBhcmFtIHtPYmplY3R9IGNvbmZpZyAtIFRoZSBjb25maWd1cmF0aW9uIG9iamVjdCBmb3IgdGhlIHRlcm1pbmFsXG4gKiBAcmV0dXJucyB7VGVybWluYWx9IFRoZSBpbml0aWFsaXplZCB0ZXJtaW5hbCBpbnN0YW5jZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5pdGlhbGl6ZVRlcm1pbmFsKGNvbmZpZykge1xuICBkZWJ1ZygnaW5pdGlhbGl6ZVRlcm1pbmFsJylcbiAgY29uc3Qgb3B0aW9ucyA9IGdldFRlcm1pbmFsU2V0dGluZ3MoY29uZmlnKVxuXG4gIHRlcm0gPSBuZXcgVGVybWluYWwob3B0aW9ucylcbiAgZml0QWRkb24gPSBuZXcgRml0QWRkb24oKVxuICB0ZXJtLmxvYWRBZGRvbihmaXRBZGRvbilcblxuICB0ZXJtLm9uRGF0YSgoZGF0YSkgPT4gZW1pdERhdGEoZGF0YSkpXG4gIHRlcm0ub25UaXRsZUNoYW5nZSgodGl0bGUpID0+IHtcbiAgICBkb2N1bWVudC50aXRsZSA9IHRpdGxlXG4gIH0pXG5cbiAgc2V0VGVybWluYWxJbnN0YW5jZSh0ZXJtKVxuXG4gIGFwcGx5VGVybWluYWxTZXR0aW5ncyhvcHRpb25zKVxuXG4gIHJldHVybiB0ZXJtXG59XG5cbi8qKlxuICogR2V0cyB0aGUgdGVybWluYWwgb3B0aW9ucyBiYXNlZCBvbiB0aGUgY29uZmlndXJhdGlvblxuICogQHBhcmFtIHtPYmplY3R9IGNvbmZpZyAtIFRoZSBjb25maWd1cmF0aW9uIG9iamVjdFxuICogQHJldHVybnMge09iamVjdH0gVGhlIHRlcm1pbmFsIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRlcm1pbmFsU2V0dGluZ3MoY29uZmlnKSB7XG4gIGRlYnVnKCdnZXRUZXJtaW5hbFNldHRpbmdzJylcbiAgY29uc3Qgc3RvcmVkU2V0dGluZ3MgPSBnZXRTdG9yZWRTZXR0aW5ncygpXG4gIGNvbnN0IHRlcm1pbmFsQ29uZmlnID0gY29uZmlnPy50ZXJtaW5hbCB8fCB7fVxuXG4gIGNvbnN0IG1lcmdlZE9wdGlvbnMgPSB7XG4gICAgY3Vyc29yQmxpbms6XG4gICAgICBzdG9yZWRTZXR0aW5ncy5jdXJzb3JCbGluayA/P1xuICAgICAgdGVybWluYWxDb25maWcuY3Vyc29yQmxpbmsgPz9cbiAgICAgIGRlZmF1bHRTZXR0aW5ncy5jdXJzb3JCbGluayxcbiAgICBzY3JvbGxiYWNrOiB2YWxpZGF0ZU51bWJlcihcbiAgICAgIHN0b3JlZFNldHRpbmdzLnNjcm9sbGJhY2sgPz8gdGVybWluYWxDb25maWcuc2Nyb2xsYmFjayxcbiAgICAgIDEsXG4gICAgICAyMDAwMDAsXG4gICAgICBkZWZhdWx0U2V0dGluZ3Muc2Nyb2xsYmFja1xuICAgICksXG4gICAgdGFiU3RvcFdpZHRoOiB2YWxpZGF0ZU51bWJlcihcbiAgICAgIHN0b3JlZFNldHRpbmdzLnRhYlN0b3BXaWR0aCA/PyB0ZXJtaW5hbENvbmZpZy50YWJTdG9wV2lkdGgsXG4gICAgICAxLFxuICAgICAgMTAwLFxuICAgICAgZGVmYXVsdFNldHRpbmdzLnRhYlN0b3BXaWR0aFxuICAgICksXG4gICAgYmVsbFN0eWxlOiB2YWxpZGF0ZUJlbGxTdHlsZShcbiAgICAgIHN0b3JlZFNldHRpbmdzLmJlbGxTdHlsZSA/PyB0ZXJtaW5hbENvbmZpZy5iZWxsU3R5bGUsXG4gICAgICBkZWZhdWx0U2V0dGluZ3MuYmVsbFN0eWxlXG4gICAgKSxcbiAgICBmb250U2l6ZTogdmFsaWRhdGVOdW1iZXIoXG4gICAgICBzdG9yZWRTZXR0aW5ncy5mb250U2l6ZSA/PyB0ZXJtaW5hbENvbmZpZy5mb250U2l6ZSxcbiAgICAgIDEsXG4gICAgICA3MixcbiAgICAgIGRlZmF1bHRTZXR0aW5ncy5mb250U2l6ZVxuICAgICksXG4gICAgZm9udEZhbWlseTpcbiAgICAgIHN0b3JlZFNldHRpbmdzLmZvbnRGYW1pbHkgPz9cbiAgICAgIHRlcm1pbmFsQ29uZmlnLmZvbnRGYW1pbHkgPz9cbiAgICAgIGRlZmF1bHRTZXR0aW5ncy5mb250RmFtaWx5LFxuICAgIGxldHRlclNwYWNpbmc6XG4gICAgICBzdG9yZWRTZXR0aW5ncy5sZXR0ZXJTcGFjaW5nID8/XG4gICAgICB0ZXJtaW5hbENvbmZpZy5sZXR0ZXJTcGFjaW5nID8/XG4gICAgICBkZWZhdWx0U2V0dGluZ3MubGV0dGVyU3BhY2luZyxcbiAgICBsaW5lSGVpZ2h0OlxuICAgICAgc3RvcmVkU2V0dGluZ3MubGluZUhlaWdodCA/P1xuICAgICAgdGVybWluYWxDb25maWcubGluZUhlaWdodCA/P1xuICAgICAgZGVmYXVsdFNldHRpbmdzLmxpbmVIZWlnaHQsXG4gICAgbG9nTGV2ZWw6XG4gICAgICBzdG9yZWRTZXR0aW5ncy5sb2dMZXZlbCA/P1xuICAgICAgdGVybWluYWxDb25maWcubG9nTGV2ZWwgPz9cbiAgICAgIGRlZmF1bHRTZXR0aW5ncy5sb2dMZXZlbFxuICB9XG5cbiAgZGVidWcoJ2dldFRlcm1pbmFsU2V0dGluZ3MnLCBtZXJnZWRPcHRpb25zKVxuICByZXR1cm4gbWVyZ2VkT3B0aW9uc1xufVxuXG4vKipcbiAqIE9wZW5zIHRoZSB0ZXJtaW5hbCBpbiB0aGUgc3BlY2lmaWVkIGNvbnRhaW5lclxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gY29udGFpbmVyIC0gVGhlIGNvbnRhaW5lciBlbGVtZW50IGZvciB0aGUgdGVybWluYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9wZW5UZXJtaW5hbChjb250YWluZXIpIHtcbiAgZG9tT3BlblRlcm1pbmFsKGNvbnRhaW5lcilcbiAgaWYgKGZpdEFkZG9uKSB7XG4gICAgZml0QWRkb24uZml0KClcbiAgfVxufVxuXG4vKipcbiAqIFdyaXRlcyBkYXRhIHRvIHRoZSB0ZXJtaW5hbFxuICogQHBhcmFtIHtzdHJpbmd9IGRhdGEgLSBUaGUgZGF0YSB0byB3cml0ZSB0byB0aGUgdGVybWluYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlVG9UZXJtaW5hbChkYXRhKSB7XG4gIGlmICh0ZXJtKSB7XG4gICAgdGVybS53cml0ZShkYXRhKVxuICB9XG59XG5cbi8qKlxuICogUmVzZXQgdGhlIHRlcm1pbmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNldFRlcm1pbmFsKCkge1xuICBkZWJ1ZygncmVzZXRUZXJtaW5hbCcpXG4gIGlmICh0ZXJtKSB7XG4gICAgdGVybS5yZXNldCgpXG4gIH1cbn1cblxuLyoqXG4gKiBSZXNpemVzIHRoZSB0ZXJtaW5hbFxuICogQHJldHVybnMge09iamVjdH0gVGhlIG5ldyBkaW1lbnNpb25zIG9mIHRoZSB0ZXJtaW5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzaXplVGVybWluYWwoKSB7XG4gIGlmIChmaXRBZGRvbiAmJiB0ZXJtKSB7XG4gICAgZml0QWRkb24uZml0KClcbiAgICBjb25zdCBkaW1lbnNpb25zID0geyBjb2xzOiB0ZXJtLmNvbHMsIHJvd3M6IHRlcm0ucm93cyB9XG4gICAgZGVidWcoJ3Jlc2l6ZVRlcm1pbmFsJywgZGltZW5zaW9ucylcbiAgICByZXR1cm4gZGltZW5zaW9uc1xuICB9XG4gIHJldHVybiBudWxsXG59XG5cbi8qKlxuICogRm9jdXNlcyB0aGUgdGVybWluYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvY3VzVGVybWluYWwoKSB7XG4gIGRvbUZvY3VzVGVybWluYWwoKVxufVxuXG4vKipcbiAqIEdldHMgdGhlIGN1cnJlbnQgZGltZW5zaW9ucyBvZiB0aGUgdGVybWluYWxcbiAqIEByZXR1cm5zIHtPYmplY3R9IFRoZSBjdXJyZW50IGRpbWVuc2lvbnMgb2YgdGhlIHRlcm1pbmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUZXJtaW5hbERpbWVuc2lvbnMoKSB7XG4gIGlmICh0ZXJtKSB7XG4gICAgbGV0IHsgY29scywgcm93cyB9ID0gdGVybVxuICAgIGRlYnVnKCdnZXRUZXJtaW5hbERpbWVuc2lvbnMnLCB7IGNvbHMsIHJvd3MgfSlcbiAgICByZXR1cm4geyBjb2xzLCByb3dzIH1cbiAgfVxuICBjb25zb2xlLmVycm9yKCdnZXRUZXJtaW5hbERpbWVuc2lvbnM6IFRlcm1pbmFsIG5vdCBpbml0aWFsaXplZCcpXG4gIHJldHVybiB7IGNvbHM6IHVuZGVmaW5lZCwgcm93czogdW5kZWZpbmVkIH1cbn1cblxuLyoqXG4gKiBVcGRhdGVzIHRoZSB0ZXJtaW5hbCBvcHRpb25zXG4gKiBAcGFyYW0ge09iamVjdH0gbmV3T3B0aW9ucyAtIFRoZSBuZXcgb3B0aW9ucyB0byBhcHBseSB0byB0aGUgdGVybWluYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZXRlcm1pbmFsU2V0dGluZ3MobmV3T3B0aW9ucykge1xuICBpZiAodGVybSkge1xuICAgIE9iamVjdC5hc3NpZ24odGVybS5vcHRpb25zLCBuZXdPcHRpb25zKVxuICAgIGRlYnVnKCd1cGRhdGV0ZXJtaW5hbFNldHRpbmdzJywgbmV3T3B0aW9ucylcbiAgfVxufVxuXG4vKipcbiAqIEF0dGFjaGVzIGN1c3RvbSBldmVudCBsaXN0ZW5lcnMgdG8gdGhlIHRlcm1pbmFsXG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnQgLSBUaGUgZXZlbnQgdG8gbGlzdGVuIGZvclxuICogQHBhcmFtIHtGdW5jdGlvbn0gaGFuZGxlciAtIFRoZSBldmVudCBoYW5kbGVyIGZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhdHRhY2hUZXJtaW5hbEV2ZW50KGV2ZW50LCBoYW5kbGVyKSB7XG4gIGlmICh0ZXJtKSB7XG4gICAgdGVybS5vbihldmVudCwgaGFuZGxlcilcbiAgICBkZWJ1ZyhgYXR0YWNoVGVybWluYWxFdmVudDogJHtldmVudH1gKVxuICB9XG59XG5cbi8qKlxuICogRGV0YWNoZXMgY3VzdG9tIGV2ZW50IGxpc3RlbmVycyBmcm9tIHRoZSB0ZXJtaW5hbFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50IC0gVGhlIGV2ZW50IHRvIHN0b3AgbGlzdGVuaW5nIGZvclxuICogQHBhcmFtIHtGdW5jdGlvbn0gaGFuZGxlciAtIFRoZSBldmVudCBoYW5kbGVyIGZ1bmN0aW9uIHRvIHJlbW92ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZGV0YWNoVGVybWluYWxFdmVudChldmVudCwgaGFuZGxlcikge1xuICBpZiAodGVybSkge1xuICAgIHRlcm0ub2ZmKGV2ZW50LCBoYW5kbGVyKVxuICAgIGRlYnVnKGBkZXRhY2hUZXJtaW5hbEV2ZW50OiAke2V2ZW50fWApXG4gIH1cbn1cblxuLyoqXG4gKiBBcHBsaWVzIHRlcm1pbmFsIG9wdGlvbnMgdG8gdGhlIHRlcm1pbmFsIGluc3RhbmNlXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIHRvIGFwcGx5IHRvIHRoZSB0ZXJtaW5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlUZXJtaW5hbFNldHRpbmdzKG9wdGlvbnMpIHtcbiAgaWYgKCF0ZXJtKSB7XG4gICAgY29uc29sZS5lcnJvcignYXBwbHlUZXJtaW5hbFNldHRpbmdzOiBUZXJtaW5hbCBub3QgaW5pdGlhbGl6ZWQnKVxuICAgIHJldHVyblxuICB9XG4gIGRlYnVnKCdhcHBseVRlcm1pbmFsU2V0dGluZ3MnLCBvcHRpb25zKVxuXG4gIGNvbnN0IHRlcm1pbmFsU2V0dGluZ3MgPSB7XG4gICAgY3Vyc29yQmxpbms6IG9wdGlvbnMuY3Vyc29yQmxpbmsgPz8gZGVmYXVsdFNldHRpbmdzLmN1cnNvckJsaW5rLFxuICAgIHNjcm9sbGJhY2s6IHZhbGlkYXRlTnVtYmVyKFxuICAgICAgb3B0aW9ucy5zY3JvbGxiYWNrLFxuICAgICAgMSxcbiAgICAgIDIwMDAwMCxcbiAgICAgIGRlZmF1bHRTZXR0aW5ncy5zY3JvbGxiYWNrXG4gICAgKSxcbiAgICB0YWJTdG9wV2lkdGg6IHZhbGlkYXRlTnVtYmVyKFxuICAgICAgb3B0aW9ucy50YWJTdG9wV2lkdGgsXG4gICAgICAxLFxuICAgICAgMTAwLFxuICAgICAgZGVmYXVsdFNldHRpbmdzLnRhYlN0b3BXaWR0aFxuICAgICksXG4gICAgYmVsbFN0eWxlOiB2YWxpZGF0ZUJlbGxTdHlsZShvcHRpb25zLmJlbGxTdHlsZSwgZGVmYXVsdFNldHRpbmdzLmJlbGxTdHlsZSksXG4gICAgZm9udFNpemU6IHZhbGlkYXRlTnVtYmVyKG9wdGlvbnMuZm9udFNpemUsIDEsIDcyLCBkZWZhdWx0U2V0dGluZ3MuZm9udFNpemUpLFxuICAgIGZvbnRGYW1pbHk6IG9wdGlvbnMuZm9udEZhbWlseSB8fCBkZWZhdWx0U2V0dGluZ3MuZm9udEZhbWlseSxcbiAgICBsZXR0ZXJTcGFjaW5nOlxuICAgICAgb3B0aW9ucy5sZXR0ZXJTcGFjaW5nICE9PSB1bmRlZmluZWRcbiAgICAgICAgPyBOdW1iZXIob3B0aW9ucy5sZXR0ZXJTcGFjaW5nKVxuICAgICAgICA6IGRlZmF1bHRTZXR0aW5ncy5sZXR0ZXJTcGFjaW5nLFxuICAgIGxpbmVIZWlnaHQ6XG4gICAgICBvcHRpb25zLmxpbmVIZWlnaHQgIT09IHVuZGVmaW5lZFxuICAgICAgICA/IE51bWJlcihvcHRpb25zLmxpbmVIZWlnaHQpXG4gICAgICAgIDogZGVmYXVsdFNldHRpbmdzLmxpbmVIZWlnaHRcbiAgfVxuXG4gIE9iamVjdC5hc3NpZ24odGVybS5vcHRpb25zLCB0ZXJtaW5hbFNldHRpbmdzKVxuXG4gIGlmIChmaXRBZGRvbikge1xuICAgIGZpdEFkZG9uLmZpdCgpXG4gIH1cbn1cblxuLy8gRXhwb3J0IHRoZSB0ZXJtIGluc3RhbmNlIGlmIGRpcmVjdCBhY2Nlc3MgaXMgbmVlZGVkXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGVybWluYWxJbnN0YW5jZSgpIHtcbiAgcmV0dXJuIHRlcm1cbn1cbiIsIi8vIGNsaWVudFxuLy8gY2xpZW50L3NyYy9qcy91dGlscy5qc1xuaW1wb3J0IGNyZWF0ZURlYnVnIGZyb20gJ2RlYnVnJ1xuaW1wb3J0IHsgZGVmYXVsdFNldHRpbmdzIH0gZnJvbSAnLi90ZXJtaW5hbC5qcydcbmltcG9ydCBtYXNrT2JqZWN0IGZyb20gJ2pzbWFza2VyJztcblxuY29uc3QgZGVidWcgPSBjcmVhdGVEZWJ1Zygnd2Vic3NoMi1jbGllbnQ6dXRpbHMnKVxuXG4vKipcbiAqIFZhbGlkYXRlcyBhIG51bWVyaWMgdmFsdWUgd2l0aGluIGEgc3BlY2lmaWVkIHJhbmdlXG4gKiBAcGFyYW0ge251bWJlcnxzdHJpbmd9IHZhbHVlIC0gVGhlIHZhbHVlIHRvIHZhbGlkYXRlXG4gKiBAcGFyYW0ge251bWJlcn0gbWluIC0gVGhlIG1pbmltdW0gYWxsb3dlZCB2YWx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IG1heCAtIFRoZSBtYXhpbXVtIGFsbG93ZWQgdmFsdWVcbiAqIEBwYXJhbSB7bnVtYmVyfSBkZWZhdWx0VmFsdWUgLSBUaGUgZGVmYXVsdCB2YWx1ZSBpZiB2YWxpZGF0aW9uIGZhaWxzXG4gKiBAcmV0dXJucyB7bnVtYmVyfSBUaGUgdmFsaWRhdGVkIG51bWJlciBvciB0aGUgZGVmYXVsdCB2YWx1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVOdW1iZXIodmFsdWUsIG1pbiwgbWF4LCBkZWZhdWx0VmFsdWUpIHtcbiAgY29uc3QgbnVtID0gTnVtYmVyKHZhbHVlKVxuICBpZiAoaXNOYU4obnVtKSB8fCBudW0gPCBtaW4gfHwgbnVtID4gbWF4KSB7XG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZVxuICB9XG4gIHJldHVybiBudW1cbn1cblxuLyoqXG4gKiBSZWN1cnNpdmVseSBtZXJnZXMgdHdvIG9iamVjdHMuXG4gKiBAcGFyYW0ge09iamVjdH0gdGFyZ2V0IC0gVGhlIHRhcmdldCBvYmplY3QuXG4gKiBAcGFyYW0ge09iamVjdH0gc291cmNlIC0gVGhlIHNvdXJjZSBvYmplY3QuXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBUaGUgbWVyZ2VkIG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlRGVlcCh0YXJnZXQsIHNvdXJjZSkge1xuICBjb25zdCBvdXRwdXQgPSBPYmplY3QuYXNzaWduKHt9LCB0YXJnZXQpXG4gIGlmIChpc09iamVjdCh0YXJnZXQpICYmIGlzT2JqZWN0KHNvdXJjZSkpIHtcbiAgICBPYmplY3Qua2V5cyhzb3VyY2UpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKGlzT2JqZWN0KHNvdXJjZVtrZXldKSkge1xuICAgICAgICBpZiAoIShrZXkgaW4gdGFyZ2V0KSkge1xuICAgICAgICAgIE9iamVjdC5hc3NpZ24ob3V0cHV0LCB7IFtrZXldOiBzb3VyY2Vba2V5XSB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG91dHB1dFtrZXldID0gbWVyZ2VEZWVwKHRhcmdldFtrZXldLCBzb3VyY2Vba2V5XSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihvdXRwdXQsIHsgW2tleV06IHNvdXJjZVtrZXldIH0pXG4gICAgICB9XG4gICAgfSlcbiAgfVxuICByZXR1cm4gb3V0cHV0XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSB2YWx1ZSBpcyBhbiBvYmplY3QuXG4gKiBAcGFyYW0geyp9IGl0ZW0gLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgdmFsdWUgaXMgYW4gb2JqZWN0LCBmYWxzZSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc09iamVjdChpdGVtKSB7XG4gIHJldHVybiBpdGVtICYmIHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShpdGVtKVxufVxuXG4vKipcbiAqIEZvcm1hdHMgYSBkYXRlIG9iamVjdCBpbnRvIGEgc3RyaW5nLlxuICogQHBhcmFtIHtEYXRlfSBkYXRlIC0gVGhlIGRhdGUgdG8gZm9ybWF0LlxuICogQHJldHVybnMge3N0cmluZ30gVGhlIGZvcm1hdHRlZCBkYXRlIHN0cmluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdERhdGUoZGF0ZSkge1xuICByZXR1cm4gYCR7ZGF0ZS5nZXRGdWxsWWVhcigpfS8ke1N0cmluZyhkYXRlLmdldE1vbnRoKCkgKyAxKS5wYWRTdGFydCgyLCAnMCcpfS8ke1N0cmluZyhkYXRlLmdldERhdGUoKSkucGFkU3RhcnQoMiwgJzAnKX0gQCAke1N0cmluZyhkYXRlLmdldEhvdXJzKCkpLnBhZFN0YXJ0KDIsICcwJyl9OiR7U3RyaW5nKGRhdGUuZ2V0TWludXRlcygpKS5wYWRTdGFydCgyLCAnMCcpfToke1N0cmluZyhkYXRlLmdldFNlY29uZHMoKSkucGFkU3RhcnQoMiwgJzAnKX1gXG59XG5cbi8qKlxuICogVmFsaWRhdGVzIHRoZSBiZWxsIHN0eWxlIG9wdGlvblxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIC0gVGhlIGJlbGwgc3R5bGUgdG8gdmFsaWRhdGVcbiAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSB2YWxpZGF0ZWQgYmVsbCBzdHlsZSBvciB0aGUgZGVmYXVsdCAnc291bmQnXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUJlbGxTdHlsZSh2YWx1ZSkge1xuICByZXR1cm4gWydzb3VuZCcsICdub25lJ10uaW5jbHVkZXModmFsdWUpID8gdmFsdWUgOiAnc291bmQnXG59XG5cbi8qKlxuICogSW5pdGlhbGl6ZXMgdGhlIGdsb2JhbCBjb25maWd1cmF0aW9uLlxuICogVGhpcyBzaG91bGQgYmUgY2FsbGVkIG9uY2UgYXQgYXBwbGljYXRpb24gc3RhcnR1cC5cbiAqIEByZXR1cm5zIHtPYmplY3R9IFRoZSBpbml0aWFsaXplZCBjb25maWd1cmF0aW9uIG9iamVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5pdGlhbGl6ZUNvbmZpZygpIHtcbiAgY29uc3QgZGVmYXVsdENvbmZpZyA9IHtcbiAgICBzb2NrZXQ6IHtcbiAgICAgIHVybDogbnVsbCxcbiAgICAgIHBhdGg6ICcvc3NoL3NvY2tldC5pbydcbiAgICB9LFxuICAgIHNzaDoge1xuICAgICAgaG9zdDogbnVsbCxcbiAgICAgIHBvcnQ6IDIyLFxuICAgICAgdXNlcm5hbWU6IG51bGwsXG4gICAgICBwYXNzd29yZDogbnVsbCxcbiAgICAgIHNzaHRlcm06ICd4dGVybS1jb2xvcidcbiAgICB9LFxuICAgIHRlcm1pbmFsOiB7IC4uLmRlZmF1bHRTZXR0aW5ncyB9LFxuICAgIGhlYWRlcjoge1xuICAgICAgdGV4dDogbnVsbCxcbiAgICAgIGJhY2tncm91bmQ6ICdncmVlbidcbiAgICB9LFxuICAgIGF1dG9Db25uZWN0OiBmYWxzZSxcbiAgICBsb2dMZXZlbDogJ2luZm8nXG4gIH1cbiAgY29uc3QgdXNlckNvbmZpZyA9IHdpbmRvdy53ZWJzc2gyQ29uZmlnIHx8IHt9XG4gIGNvbnN0IGNvbmZpZyA9IG1lcmdlRGVlcChkZWZhdWx0Q29uZmlnLCB1c2VyQ29uZmlnKVxuICBkZWJ1ZygnaW5pdGlhbGl6ZUNvbmZpZycsIGNvbmZpZylcbiAgcmV0dXJuIGNvbmZpZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcG9wdWxhdGVGb3JtRnJvbVVybChjb25maWcpIHtcbiAgY29uc3Qgc2VhcmNoUGFyYW1zID0gZ2V0VXJsUGFyYW1zKClcbiAgY29uc3QgcGFyYW1zID0ge1xuICAgIHNzaDoge30sXG4gICAgaGVhZGVyOiB7fSxcbiAgICB0ZXJtaW5hbDoge31cbiAgfVxuXG4gIC8vIExpc3Qgb2YgcGFyYW1ldGVycyB0byBleHRyYWN0IGZyb20gdGhlIFVSTCBvciBmb3JtXG4gIGNvbnN0IHBhcmFtZXRlckxpc3QgPSBbXG4gICAgJ2hvc3QnLFxuICAgICdwb3J0JyxcbiAgICAnaGVhZGVyJyxcbiAgICAnaGVhZGVyYmFja2dyb3VuZCcsXG4gICAgJ3NzaHRlcm0nLFxuICAgICd1c2VybmFtZScsXG4gICAgJ3Bhc3N3b3JkJyxcbiAgICAnbG9nTGV2ZWwnXG4gIF1cblxuICBwYXJhbWV0ZXJMaXN0LmZvckVhY2goKHBhcmFtKSA9PiB7XG4gICAgbGV0IHZhbHVlID0gc2VhcmNoUGFyYW1zLmdldChwYXJhbSlcblxuICAgIGlmIChwYXJhbSA9PT0gJ3BvcnQnICYmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycpKSB7XG4gICAgICB2YWx1ZSA9ICcyMicgLy8gU2V0IGRlZmF1bHQgcG9ydCB2YWx1ZSBpZiBub3QgZGVmaW5lZFxuICAgIH1cblxuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgLy8gSGFuZGxlIHNwZWNpYWwgY2FzZXMgd2hlcmUgcGFyYW1ldGVycyBtYXAgdG8gbmVzdGVkIGZpZWxkc1xuICAgICAgaWYgKHBhcmFtID09PSAnaGVhZGVyJykge1xuICAgICAgICBwYXJhbXMuaGVhZGVyLnRleHQgPSB2YWx1ZVxuICAgICAgfSBlbHNlIGlmIChwYXJhbSA9PT0gJ2hlYWRlcmJhY2tncm91bmQnKSB7XG4gICAgICAgIHBhcmFtcy5oZWFkZXIuYmFja2dyb3VuZCA9IHZhbHVlXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBGb3IgYWxsIG90aGVyIFNTSC1yZWxhdGVkIHBhcmFtZXRlcnNcbiAgICAgIH1cblxuICAgICAgLy8gRmlsbCBmb3JtIGZpZWxkcyBpZiB0aGV5IGV4aXN0XG4gICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHBhcmFtICsgJ0lucHV0JylcbiAgICAgIGlmIChpbnB1dCkge1xuICAgICAgICBpbnB1dC52YWx1ZSA9IHZhbHVlXG4gICAgICB9XG4gICAgfVxuICB9KVxuICAvLyBNZXJnZSB0aGUgcGFyYW1zIG9iamVjdCBpbnRvIHRoZSBjb25maWdcbiAgaWYgKGNvbmZpZyAmJiB0eXBlb2YgY29uZmlnID09PSAnb2JqZWN0Jykge1xuICAgIGNvbnN0IHJlc3VsdCA9IG1lcmdlRGVlcChjb25maWcsIHBhcmFtcylcbiAgICBkZWJ1ZygncG9wdWxhdGVGb3JtRnJvbVVybCcsIHJlc3VsdClcbiAgICByZXR1cm4gcmVzdWx0XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNvbmZpZ3VyYXRpb24gb2JqZWN0IHByb3ZpZGVkLicpXG4gIH1cbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIFVSTCBwYXJhbWV0ZXJzIGZyb20gdGhlIGN1cnJlbnQgd2luZG93IGxvY2F0aW9uLlxuICogQHJldHVybnMge1VSTFNlYXJjaFBhcmFtc30gVGhlIFVSTCBwYXJhbWV0ZXJzLlxuICovXG5mdW5jdGlvbiBnZXRVcmxQYXJhbXMoKSB7XG4gIHJldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpXG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBTU0ggY3JlZGVudGlhbHMgZnJvbSB2YXJpb3VzIHNvdXJjZXMuXG4gKiBAcGFyYW0ge09iamVjdH0gZm9ybURhdGEgLSBPcHRpb25hbCBmb3JtIGRhdGEgZnJvbSBtYW51YWwgaW5wdXRcbiAqIEByZXR1cm5zIHtPYmplY3R9IEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBTU0ggY3JlZGVudGlhbHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDcmVkZW50aWFscyhmb3JtRGF0YSA9IG51bGwsIHRlcm1pbmFsRGltZW5zaW9ucyA9IHt9KSB7XG4gIGNvbnN0IGNvbmZpZyA9IHdpbmRvdy53ZWJzc2gyQ29uZmlnIHx8IHt9XG4gIGNvbnN0IHVybFBhcmFtcyA9IGdldFVybFBhcmFtcygpXG5cbiAgY29uc3QgbWVyZ2VkQ29uZmlnID0ge1xuICAgIGhvc3Q6XG4gICAgICBmb3JtRGF0YT8uaG9zdCB8fFxuICAgICAgdXJsUGFyYW1zLmdldCgnaG9zdCcpIHx8XG4gICAgICBjb25maWcuc3NoPy5ob3N0IHx8XG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdElucHV0Jyk/LnZhbHVlIHx8XG4gICAgICAnJyxcbiAgICBwb3J0OiBwYXJzZUludChcbiAgICAgIGZvcm1EYXRhPy5wb3J0IHx8XG4gICAgICAgIHVybFBhcmFtcy5nZXQoJ3BvcnQnKSB8fFxuICAgICAgICBjb25maWcuc3NoPy5wb3J0IHx8XG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwb3J0SW5wdXQnKT8udmFsdWUgfHxcbiAgICAgICAgJzIyJyxcbiAgICAgIDEwXG4gICAgKSxcbiAgICB1c2VybmFtZTpcbiAgICAgIGZvcm1EYXRhPy51c2VybmFtZSB8fFxuICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3VzZXJuYW1lSW5wdXQnKT8udmFsdWUgfHxcbiAgICAgIHVybFBhcmFtcy5nZXQoJ3VzZXJuYW1lJykgfHxcbiAgICAgIGNvbmZpZy5zc2g/LnVzZXJuYW1lIHx8XG4gICAgICAnJyxcbiAgICBwYXNzd29yZDpcbiAgICAgIGZvcm1EYXRhPy5wYXNzd29yZCB8fFxuICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Bhc3N3b3JkSW5wdXQnKT8udmFsdWUgfHxcbiAgICAgIHVybFBhcmFtcy5nZXQoJ3Bhc3N3b3JkJykgfHxcbiAgICAgIGNvbmZpZy5zc2g/LnBhc3N3b3JkIHx8XG4gICAgICAnJyxcbiAgICB0ZXJtOlxuICAgICAgZm9ybURhdGE/LnRlcm0gfHxcbiAgICAgIHVybFBhcmFtcy5nZXQoJ3NzaHRlcm0nKSB8fFxuICAgICAgY29uZmlnLnNzaD8uc3NodGVybSB8fFxuICAgICAgJ3h0ZXJtLWNvbG9yJ1xuICB9XG4gIGNvbnN0IG1hc2tlZENvbnRlbnQgPSBtYXNrT2JqZWN0KG1lcmdlZENvbmZpZylcblxuICBkZWJ1ZygnZ2V0Q3JlZGVudGlhbHM6IG1lcmdlZENvbmZpZzonLCBtYXNrZWRDb250ZW50KVxuXG4gIHJldHVybiBtZXJnZWRDb25maWdcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgYW5kIHNhbml0aXplcyBhIGNvbG9yIHN0cmluZy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBjb2xvciAtIFRoZSBjb2xvciBzdHJpbmcgdG8gdmFsaWRhdGUuXG4gKiBAcmV0dXJucyB7c3RyaW5nfG51bGx9IC0gVGhlIHNhbml0aXplZCBjb2xvciBzdHJpbmcgb3IgbnVsbCBpZiBpbnZhbGlkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2FuaXRpemVDb2xvcihjb2xvcikge1xuICBjb25zdCBjb2xvclJlZ2V4ID1cbiAgICAvXigjKFswLTlhLWZBLUZdezN9KXsxLDJ9fHJnYmE/XFwoXFxzKihcXGR7MSwzfVxccyosXFxzKil7MiwzfVxccypcXGR7MSwzfVxccypcXCl8W2EtekEtWl0rKSQvXG4gIHJldHVybiBjb2xvclJlZ2V4LnRlc3QoY29sb3IpID8gY29sb3IgOiBudWxsXG59XG5cbi8qKlxuICogU2FuaXRpemVzIGEgc3RyaW5nIGZvciB1c2UgaW4gSFRNTFxuICogQHBhcmFtIHtzdHJpbmd9IHN0ciAtIFRoZSBzdHJpbmcgdG8gc2FuaXRpemVcbiAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBzYW5pdGl6ZWQgc3RyaW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzYW5pdGl6ZUh0bWwoc3RyKSB7XG4gIGNvbnN0IHRlbXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKVxuICB0ZW1wLnRleHRDb250ZW50ID0gc3RyXG4gIHJldHVybiB0ZW1wLmlubmVySFRNTFxufVxuXG5cbi8qKlxuICogQ2xlYXJzIHRoZSAnYmFzaWNhdXRoJyBjb29raWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyQmFzaWNBdXRoQ29va2llKCkge1xuICBkb2N1bWVudC5jb29raWUgPSAnYmFzaWNhdXRoPTsgZXhwaXJlcz1UaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIFVUQzsgcGF0aD0vOydcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlICdiYXNpY2F1dGgnIGNvb2tpZSBpcyBwcmVzZW50IGFuZCByZXR1cm5zIGl0cyBwYXJzZWQgdmFsdWVcbiAqIEByZXR1cm5zIHtPYmplY3R8bnVsbH0gVGhlIHBhcnNlZCBjb29raWUgdmFsdWUgb3IgbnVsbCBpZiBub3QgcHJlc2VudFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmFzaWNBdXRoQ29va2llKCkge1xuICBjb25zdCBjb29raWVzID0gZG9jdW1lbnQuY29va2llLnNwbGl0KCc7JylcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb29raWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgY29va2llID0gY29va2llc1tpXS50cmltKClcbiAgICBpZiAoY29va2llLnN0YXJ0c1dpdGgoJ2Jhc2ljYXV0aD0nKSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoXG4gICAgICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KGNvb2tpZS5zdWJzdHJpbmcoJ2Jhc2ljYXV0aD0nLmxlbmd0aCkpXG4gICAgICAgIClcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAnZ2V0QmFzaWNBdXRoQ29va2llOiBGYWlsZWQgdG8gcGFyc2UgYmFzaWNhdXRoIGNvb2tpZTonLFxuICAgICAgICAgIGVcbiAgICAgICAgKVxuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gbnVsbFxufVxuIiwiIWZ1bmN0aW9uKGUsdCl7XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHMmJlwib2JqZWN0XCI9PXR5cGVvZiBtb2R1bGU/bW9kdWxlLmV4cG9ydHM9dCgpOlwiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoW10sdCk6XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHM/ZXhwb3J0cy5GaXRBZGRvbj10KCk6ZS5GaXRBZGRvbj10KCl9KHNlbGYsKCgpPT4oKCk9PntcInVzZSBzdHJpY3RcIjt2YXIgZT17fTtyZXR1cm4oKCk9Pnt2YXIgdD1lO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuRml0QWRkb249dm9pZCAwLHQuRml0QWRkb249Y2xhc3N7YWN0aXZhdGUoZSl7dGhpcy5fdGVybWluYWw9ZX1kaXNwb3NlKCl7fWZpdCgpe2NvbnN0IGU9dGhpcy5wcm9wb3NlRGltZW5zaW9ucygpO2lmKCFlfHwhdGhpcy5fdGVybWluYWx8fGlzTmFOKGUuY29scyl8fGlzTmFOKGUucm93cykpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fdGVybWluYWwuX2NvcmU7dGhpcy5fdGVybWluYWwucm93cz09PWUucm93cyYmdGhpcy5fdGVybWluYWwuY29scz09PWUuY29sc3x8KHQuX3JlbmRlclNlcnZpY2UuY2xlYXIoKSx0aGlzLl90ZXJtaW5hbC5yZXNpemUoZS5jb2xzLGUucm93cykpfXByb3Bvc2VEaW1lbnNpb25zKCl7aWYoIXRoaXMuX3Rlcm1pbmFsKXJldHVybjtpZighdGhpcy5fdGVybWluYWwuZWxlbWVudHx8IXRoaXMuX3Rlcm1pbmFsLmVsZW1lbnQucGFyZW50RWxlbWVudClyZXR1cm47Y29uc3QgZT10aGlzLl90ZXJtaW5hbC5fY29yZSx0PWUuX3JlbmRlclNlcnZpY2UuZGltZW5zaW9ucztpZigwPT09dC5jc3MuY2VsbC53aWR0aHx8MD09PXQuY3NzLmNlbGwuaGVpZ2h0KXJldHVybjtjb25zdCByPTA9PT10aGlzLl90ZXJtaW5hbC5vcHRpb25zLnNjcm9sbGJhY2s/MDplLnZpZXdwb3J0LnNjcm9sbEJhcldpZHRoLGk9d2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5fdGVybWluYWwuZWxlbWVudC5wYXJlbnRFbGVtZW50KSxvPXBhcnNlSW50KGkuZ2V0UHJvcGVydHlWYWx1ZShcImhlaWdodFwiKSkscz1NYXRoLm1heCgwLHBhcnNlSW50KGkuZ2V0UHJvcGVydHlWYWx1ZShcIndpZHRoXCIpKSksbj13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl90ZXJtaW5hbC5lbGVtZW50KSxsPW8tKHBhcnNlSW50KG4uZ2V0UHJvcGVydHlWYWx1ZShcInBhZGRpbmctdG9wXCIpKStwYXJzZUludChuLmdldFByb3BlcnR5VmFsdWUoXCJwYWRkaW5nLWJvdHRvbVwiKSkpLGE9cy0ocGFyc2VJbnQobi5nZXRQcm9wZXJ0eVZhbHVlKFwicGFkZGluZy1yaWdodFwiKSkrcGFyc2VJbnQobi5nZXRQcm9wZXJ0eVZhbHVlKFwicGFkZGluZy1sZWZ0XCIpKSktcjtyZXR1cm57Y29sczpNYXRoLm1heCgyLE1hdGguZmxvb3IoYS90LmNzcy5jZWxsLndpZHRoKSkscm93czpNYXRoLm1heCgxLE1hdGguZmxvb3IobC90LmNzcy5jZWxsLmhlaWdodCkpfX19fSkoKSxlfSkoKSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YWRkb24tZml0LmpzLm1hcCIsIiFmdW5jdGlvbihlLHQpe2lmKFwib2JqZWN0XCI9PXR5cGVvZiBleHBvcnRzJiZcIm9iamVjdFwiPT10eXBlb2YgbW9kdWxlKW1vZHVsZS5leHBvcnRzPXQoKTtlbHNlIGlmKFwiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZClkZWZpbmUoW10sdCk7ZWxzZXt2YXIgaT10KCk7Zm9yKHZhciBzIGluIGkpKFwib2JqZWN0XCI9PXR5cGVvZiBleHBvcnRzP2V4cG9ydHM6ZSlbc109aVtzXX19KGdsb2JhbFRoaXMsKCgpPT4oKCk9PntcInVzZSBzdHJpY3RcIjt2YXIgZT17NDU2NzpmdW5jdGlvbihlLHQsaSl7dmFyIHM9dGhpcyYmdGhpcy5fX2RlY29yYXRlfHxmdW5jdGlvbihlLHQsaSxzKXt2YXIgcixuPWFyZ3VtZW50cy5sZW5ndGgsbz1uPDM/dDpudWxsPT09cz9zPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxpKTpzO2lmKFwib2JqZWN0XCI9PXR5cGVvZiBSZWZsZWN0JiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBSZWZsZWN0LmRlY29yYXRlKW89UmVmbGVjdC5kZWNvcmF0ZShlLHQsaSxzKTtlbHNlIGZvcih2YXIgYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShyPWVbYV0pJiYobz0objwzP3Iobyk6bj4zP3IodCxpLG8pOnIodCxpKSl8fG8pO3JldHVybiBuPjMmJm8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGksbyksb30scj10aGlzJiZ0aGlzLl9fcGFyYW18fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGkscyl7dChpLHMsZSl9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkFjY2Vzc2liaWxpdHlNYW5hZ2VyPXZvaWQgMDtjb25zdCBuPWkoOTA0Miksbz1pKDk5MjQpLGE9aSg4NDQpLGg9aSg0NzI1KSxjPWkoMjU4NSksbD1pKDM2NTYpO2xldCBkPXQuQWNjZXNzaWJpbGl0eU1hbmFnZXI9Y2xhc3MgZXh0ZW5kcyBhLkRpc3Bvc2FibGV7Y29uc3RydWN0b3IoZSx0LGkscyl7c3VwZXIoKSx0aGlzLl90ZXJtaW5hbD1lLHRoaXMuX2NvcmVCcm93c2VyU2VydmljZT1pLHRoaXMuX3JlbmRlclNlcnZpY2U9cyx0aGlzLl9yb3dDb2x1bW5zPW5ldyBXZWFrTWFwLHRoaXMuX2xpdmVSZWdpb25MaW5lQ291bnQ9MCx0aGlzLl9jaGFyc1RvQ29uc3VtZT1bXSx0aGlzLl9jaGFyc1RvQW5ub3VuY2U9XCJcIix0aGlzLl9hY2Nlc3NpYmlsaXR5Q29udGFpbmVyPXRoaXMuX2NvcmVCcm93c2VyU2VydmljZS5tYWluRG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSx0aGlzLl9hY2Nlc3NpYmlsaXR5Q29udGFpbmVyLmNsYXNzTGlzdC5hZGQoXCJ4dGVybS1hY2Nlc3NpYmlsaXR5XCIpLHRoaXMuX3Jvd0NvbnRhaW5lcj10aGlzLl9jb3JlQnJvd3NlclNlcnZpY2UubWFpbkRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksdGhpcy5fcm93Q29udGFpbmVyLnNldEF0dHJpYnV0ZShcInJvbGVcIixcImxpc3RcIiksdGhpcy5fcm93Q29udGFpbmVyLmNsYXNzTGlzdC5hZGQoXCJ4dGVybS1hY2Nlc3NpYmlsaXR5LXRyZWVcIiksdGhpcy5fcm93RWxlbWVudHM9W107Zm9yKGxldCBlPTA7ZTx0aGlzLl90ZXJtaW5hbC5yb3dzO2UrKyl0aGlzLl9yb3dFbGVtZW50c1tlXT10aGlzLl9jcmVhdGVBY2Nlc3NpYmlsaXR5VHJlZU5vZGUoKSx0aGlzLl9yb3dDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5fcm93RWxlbWVudHNbZV0pO2lmKHRoaXMuX3RvcEJvdW5kYXJ5Rm9jdXNMaXN0ZW5lcj1lPT50aGlzLl9oYW5kbGVCb3VuZGFyeUZvY3VzKGUsMCksdGhpcy5fYm90dG9tQm91bmRhcnlGb2N1c0xpc3RlbmVyPWU9PnRoaXMuX2hhbmRsZUJvdW5kYXJ5Rm9jdXMoZSwxKSx0aGlzLl9yb3dFbGVtZW50c1swXS5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNcIix0aGlzLl90b3BCb3VuZGFyeUZvY3VzTGlzdGVuZXIpLHRoaXMuX3Jvd0VsZW1lbnRzW3RoaXMuX3Jvd0VsZW1lbnRzLmxlbmd0aC0xXS5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNcIix0aGlzLl9ib3R0b21Cb3VuZGFyeUZvY3VzTGlzdGVuZXIpLHRoaXMuX3JlZnJlc2hSb3dzRGltZW5zaW9ucygpLHRoaXMuX2FjY2Vzc2liaWxpdHlDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5fcm93Q29udGFpbmVyKSx0aGlzLl9saXZlUmVnaW9uPXRoaXMuX2NvcmVCcm93c2VyU2VydmljZS5tYWluRG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSx0aGlzLl9saXZlUmVnaW9uLmNsYXNzTGlzdC5hZGQoXCJsaXZlLXJlZ2lvblwiKSx0aGlzLl9saXZlUmVnaW9uLnNldEF0dHJpYnV0ZShcImFyaWEtbGl2ZVwiLFwiYXNzZXJ0aXZlXCIpLHRoaXMuX2FjY2Vzc2liaWxpdHlDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5fbGl2ZVJlZ2lvbiksdGhpcy5fbGl2ZVJlZ2lvbkRlYm91bmNlcj10aGlzLnJlZ2lzdGVyKG5ldyBvLlRpbWVCYXNlZERlYm91bmNlcih0aGlzLl9yZW5kZXJSb3dzLmJpbmQodGhpcykpKSwhdGhpcy5fdGVybWluYWwuZWxlbWVudCl0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgZW5hYmxlIGFjY2Vzc2liaWxpdHkgYmVmb3JlIFRlcm1pbmFsLm9wZW5cIik7dGhpcy5fdGVybWluYWwuZWxlbWVudC5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJhZnRlcmJlZ2luXCIsdGhpcy5fYWNjZXNzaWJpbGl0eUNvbnRhaW5lciksdGhpcy5yZWdpc3Rlcih0aGlzLl90ZXJtaW5hbC5vblJlc2l6ZSgoZT0+dGhpcy5faGFuZGxlUmVzaXplKGUucm93cykpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl90ZXJtaW5hbC5vblJlbmRlcigoZT0+dGhpcy5fcmVmcmVzaFJvd3MoZS5zdGFydCxlLmVuZCkpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl90ZXJtaW5hbC5vblNjcm9sbCgoKCk9PnRoaXMuX3JlZnJlc2hSb3dzKCkpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl90ZXJtaW5hbC5vbkExMXlDaGFyKChlPT50aGlzLl9oYW5kbGVDaGFyKGUpKSkpLHRoaXMucmVnaXN0ZXIodGhpcy5fdGVybWluYWwub25MaW5lRmVlZCgoKCk9PnRoaXMuX2hhbmRsZUNoYXIoXCJcXG5cIikpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl90ZXJtaW5hbC5vbkExMXlUYWIoKGU9PnRoaXMuX2hhbmRsZVRhYihlKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX3Rlcm1pbmFsLm9uS2V5KChlPT50aGlzLl9oYW5kbGVLZXkoZS5rZXkpKSkpLHRoaXMucmVnaXN0ZXIodGhpcy5fdGVybWluYWwub25CbHVyKCgoKT0+dGhpcy5fY2xlYXJMaXZlUmVnaW9uKCkpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9yZW5kZXJTZXJ2aWNlLm9uRGltZW5zaW9uc0NoYW5nZSgoKCk9PnRoaXMuX3JlZnJlc2hSb3dzRGltZW5zaW9ucygpKSkpLHRoaXMucmVnaXN0ZXIoKDAsbC5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXIpKGRvY3VtZW50LFwic2VsZWN0aW9uY2hhbmdlXCIsKCgpPT50aGlzLl9oYW5kbGVTZWxlY3Rpb25DaGFuZ2UoKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX2NvcmVCcm93c2VyU2VydmljZS5vbkRwckNoYW5nZSgoKCk9PnRoaXMuX3JlZnJlc2hSb3dzRGltZW5zaW9ucygpKSkpLHRoaXMuX3JlZnJlc2hSb3dzKCksdGhpcy5yZWdpc3RlcigoMCxhLnRvRGlzcG9zYWJsZSkoKCgpPT57dGhpcy5fYWNjZXNzaWJpbGl0eUNvbnRhaW5lci5yZW1vdmUoKSx0aGlzLl9yb3dFbGVtZW50cy5sZW5ndGg9MH0pKSl9X2hhbmRsZVRhYihlKXtmb3IobGV0IHQ9MDt0PGU7dCsrKXRoaXMuX2hhbmRsZUNoYXIoXCIgXCIpfV9oYW5kbGVDaGFyKGUpe3RoaXMuX2xpdmVSZWdpb25MaW5lQ291bnQ8MjEmJih0aGlzLl9jaGFyc1RvQ29uc3VtZS5sZW5ndGg+MD90aGlzLl9jaGFyc1RvQ29uc3VtZS5zaGlmdCgpIT09ZSYmKHRoaXMuX2NoYXJzVG9Bbm5vdW5jZSs9ZSk6dGhpcy5fY2hhcnNUb0Fubm91bmNlKz1lLFwiXFxuXCI9PT1lJiYodGhpcy5fbGl2ZVJlZ2lvbkxpbmVDb3VudCsrLDIxPT09dGhpcy5fbGl2ZVJlZ2lvbkxpbmVDb3VudCYmKHRoaXMuX2xpdmVSZWdpb24udGV4dENvbnRlbnQrPW4udG9vTXVjaE91dHB1dCkpKX1fY2xlYXJMaXZlUmVnaW9uKCl7dGhpcy5fbGl2ZVJlZ2lvbi50ZXh0Q29udGVudD1cIlwiLHRoaXMuX2xpdmVSZWdpb25MaW5lQ291bnQ9MH1faGFuZGxlS2V5KGUpe3RoaXMuX2NsZWFyTGl2ZVJlZ2lvbigpLC9cXHB7Q29udHJvbH0vdS50ZXN0KGUpfHx0aGlzLl9jaGFyc1RvQ29uc3VtZS5wdXNoKGUpfV9yZWZyZXNoUm93cyhlLHQpe3RoaXMuX2xpdmVSZWdpb25EZWJvdW5jZXIucmVmcmVzaChlLHQsdGhpcy5fdGVybWluYWwucm93cyl9X3JlbmRlclJvd3MoZSx0KXtjb25zdCBpPXRoaXMuX3Rlcm1pbmFsLmJ1ZmZlcixzPWkubGluZXMubGVuZ3RoLnRvU3RyaW5nKCk7Zm9yKGxldCByPWU7cjw9dDtyKyspe2NvbnN0IGU9aS5saW5lcy5nZXQoaS55ZGlzcCtyKSx0PVtdLG49ZT8udHJhbnNsYXRlVG9TdHJpbmcoITAsdm9pZCAwLHZvaWQgMCx0KXx8XCJcIixvPShpLnlkaXNwK3IrMSkudG9TdHJpbmcoKSxhPXRoaXMuX3Jvd0VsZW1lbnRzW3JdO2EmJigwPT09bi5sZW5ndGg/KGEuaW5uZXJUZXh0PVwiwqBcIix0aGlzLl9yb3dDb2x1bW5zLnNldChhLFswLDFdKSk6KGEudGV4dENvbnRlbnQ9bix0aGlzLl9yb3dDb2x1bW5zLnNldChhLHQpKSxhLnNldEF0dHJpYnV0ZShcImFyaWEtcG9zaW5zZXRcIixvKSxhLnNldEF0dHJpYnV0ZShcImFyaWEtc2V0c2l6ZVwiLHMpKX10aGlzLl9hbm5vdW5jZUNoYXJhY3RlcnMoKX1fYW5ub3VuY2VDaGFyYWN0ZXJzKCl7MCE9PXRoaXMuX2NoYXJzVG9Bbm5vdW5jZS5sZW5ndGgmJih0aGlzLl9saXZlUmVnaW9uLnRleHRDb250ZW50Kz10aGlzLl9jaGFyc1RvQW5ub3VuY2UsdGhpcy5fY2hhcnNUb0Fubm91bmNlPVwiXCIpfV9oYW5kbGVCb3VuZGFyeUZvY3VzKGUsdCl7Y29uc3QgaT1lLnRhcmdldCxzPXRoaXMuX3Jvd0VsZW1lbnRzWzA9PT10PzE6dGhpcy5fcm93RWxlbWVudHMubGVuZ3RoLTJdO2lmKGkuZ2V0QXR0cmlidXRlKFwiYXJpYS1wb3NpbnNldFwiKT09PSgwPT09dD9cIjFcIjpgJHt0aGlzLl90ZXJtaW5hbC5idWZmZXIubGluZXMubGVuZ3RofWApKXJldHVybjtpZihlLnJlbGF0ZWRUYXJnZXQhPT1zKXJldHVybjtsZXQgcixuO2lmKDA9PT10PyhyPWksbj10aGlzLl9yb3dFbGVtZW50cy5wb3AoKSx0aGlzLl9yb3dDb250YWluZXIucmVtb3ZlQ2hpbGQobikpOihyPXRoaXMuX3Jvd0VsZW1lbnRzLnNoaWZ0KCksbj1pLHRoaXMuX3Jvd0NvbnRhaW5lci5yZW1vdmVDaGlsZChyKSksci5yZW1vdmVFdmVudExpc3RlbmVyKFwiZm9jdXNcIix0aGlzLl90b3BCb3VuZGFyeUZvY3VzTGlzdGVuZXIpLG4ucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImZvY3VzXCIsdGhpcy5fYm90dG9tQm91bmRhcnlGb2N1c0xpc3RlbmVyKSwwPT09dCl7Y29uc3QgZT10aGlzLl9jcmVhdGVBY2Nlc3NpYmlsaXR5VHJlZU5vZGUoKTt0aGlzLl9yb3dFbGVtZW50cy51bnNoaWZ0KGUpLHRoaXMuX3Jvd0NvbnRhaW5lci5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJhZnRlcmJlZ2luXCIsZSl9ZWxzZXtjb25zdCBlPXRoaXMuX2NyZWF0ZUFjY2Vzc2liaWxpdHlUcmVlTm9kZSgpO3RoaXMuX3Jvd0VsZW1lbnRzLnB1c2goZSksdGhpcy5fcm93Q29udGFpbmVyLmFwcGVuZENoaWxkKGUpfXRoaXMuX3Jvd0VsZW1lbnRzWzBdLmFkZEV2ZW50TGlzdGVuZXIoXCJmb2N1c1wiLHRoaXMuX3RvcEJvdW5kYXJ5Rm9jdXNMaXN0ZW5lciksdGhpcy5fcm93RWxlbWVudHNbdGhpcy5fcm93RWxlbWVudHMubGVuZ3RoLTFdLmFkZEV2ZW50TGlzdGVuZXIoXCJmb2N1c1wiLHRoaXMuX2JvdHRvbUJvdW5kYXJ5Rm9jdXNMaXN0ZW5lciksdGhpcy5fdGVybWluYWwuc2Nyb2xsTGluZXMoMD09PXQ/LTE6MSksdGhpcy5fcm93RWxlbWVudHNbMD09PXQ/MTp0aGlzLl9yb3dFbGVtZW50cy5sZW5ndGgtMl0uZm9jdXMoKSxlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKX1faGFuZGxlU2VsZWN0aW9uQ2hhbmdlKCl7aWYoMD09PXRoaXMuX3Jvd0VsZW1lbnRzLmxlbmd0aClyZXR1cm47Y29uc3QgZT1kb2N1bWVudC5nZXRTZWxlY3Rpb24oKTtpZighZSlyZXR1cm47aWYoZS5pc0NvbGxhcHNlZClyZXR1cm4gdm9pZCh0aGlzLl9yb3dDb250YWluZXIuY29udGFpbnMoZS5hbmNob3JOb2RlKSYmdGhpcy5fdGVybWluYWwuY2xlYXJTZWxlY3Rpb24oKSk7aWYoIWUuYW5jaG9yTm9kZXx8IWUuZm9jdXNOb2RlKXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoXCJhbmNob3JOb2RlIGFuZC9vciBmb2N1c05vZGUgYXJlIG51bGxcIik7bGV0IHQ9e25vZGU6ZS5hbmNob3JOb2RlLG9mZnNldDplLmFuY2hvck9mZnNldH0saT17bm9kZTplLmZvY3VzTm9kZSxvZmZzZXQ6ZS5mb2N1c09mZnNldH07aWYoKHQubm9kZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihpLm5vZGUpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HfHx0Lm5vZGU9PT1pLm5vZGUmJnQub2Zmc2V0Pmkub2Zmc2V0KSYmKFt0LGldPVtpLHRdKSx0Lm5vZGUuY29tcGFyZURvY3VtZW50UG9zaXRpb24odGhpcy5fcm93RWxlbWVudHNbMF0pJihOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWXxOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORykmJih0PXtub2RlOnRoaXMuX3Jvd0VsZW1lbnRzWzBdLmNoaWxkTm9kZXNbMF0sb2Zmc2V0OjB9KSwhdGhpcy5fcm93Q29udGFpbmVyLmNvbnRhaW5zKHQubm9kZSkpcmV0dXJuO2NvbnN0IHM9dGhpcy5fcm93RWxlbWVudHMuc2xpY2UoLTEpWzBdO2lmKGkubm9kZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihzKSYoTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQll8Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcpJiYoaT17bm9kZTpzLG9mZnNldDpzLnRleHRDb250ZW50Py5sZW5ndGg/PzB9KSwhdGhpcy5fcm93Q29udGFpbmVyLmNvbnRhaW5zKGkubm9kZSkpcmV0dXJuO2NvbnN0IHI9KHtub2RlOmUsb2Zmc2V0OnR9KT0+e2NvbnN0IGk9ZSBpbnN0YW5jZW9mIFRleHQ/ZS5wYXJlbnROb2RlOmU7bGV0IHM9cGFyc2VJbnQoaT8uZ2V0QXR0cmlidXRlKFwiYXJpYS1wb3NpbnNldFwiKSwxMCktMTtpZihpc05hTihzKSlyZXR1cm4gY29uc29sZS53YXJuKFwicm93IGlzIGludmFsaWQuIFJhY2UgY29uZGl0aW9uP1wiKSxudWxsO2NvbnN0IHI9dGhpcy5fcm93Q29sdW1ucy5nZXQoaSk7aWYoIXIpcmV0dXJuIGNvbnNvbGUud2FybihcImNvbHVtbnMgaXMgbnVsbC4gUmFjZSBjb25kaXRpb24/XCIpLG51bGw7bGV0IG49dDxyLmxlbmd0aD9yW3RdOnIuc2xpY2UoLTEpWzBdKzE7cmV0dXJuIG4+PXRoaXMuX3Rlcm1pbmFsLmNvbHMmJigrK3Msbj0wKSx7cm93OnMsY29sdW1uOm59fSxuPXIodCksbz1yKGkpO2lmKG4mJm8pe2lmKG4ucm93Pm8ucm93fHxuLnJvdz09PW8ucm93JiZuLmNvbHVtbj49by5jb2x1bW4pdGhyb3cgbmV3IEVycm9yKFwiaW52YWxpZCByYW5nZVwiKTt0aGlzLl90ZXJtaW5hbC5zZWxlY3Qobi5jb2x1bW4sbi5yb3csKG8ucm93LW4ucm93KSp0aGlzLl90ZXJtaW5hbC5jb2xzLW4uY29sdW1uK28uY29sdW1uKX19X2hhbmRsZVJlc2l6ZShlKXt0aGlzLl9yb3dFbGVtZW50c1t0aGlzLl9yb3dFbGVtZW50cy5sZW5ndGgtMV0ucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImZvY3VzXCIsdGhpcy5fYm90dG9tQm91bmRhcnlGb2N1c0xpc3RlbmVyKTtmb3IobGV0IGU9dGhpcy5fcm93Q29udGFpbmVyLmNoaWxkcmVuLmxlbmd0aDtlPHRoaXMuX3Rlcm1pbmFsLnJvd3M7ZSsrKXRoaXMuX3Jvd0VsZW1lbnRzW2VdPXRoaXMuX2NyZWF0ZUFjY2Vzc2liaWxpdHlUcmVlTm9kZSgpLHRoaXMuX3Jvd0NvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLl9yb3dFbGVtZW50c1tlXSk7Zm9yKDt0aGlzLl9yb3dFbGVtZW50cy5sZW5ndGg+ZTspdGhpcy5fcm93Q29udGFpbmVyLnJlbW92ZUNoaWxkKHRoaXMuX3Jvd0VsZW1lbnRzLnBvcCgpKTt0aGlzLl9yb3dFbGVtZW50c1t0aGlzLl9yb3dFbGVtZW50cy5sZW5ndGgtMV0uYWRkRXZlbnRMaXN0ZW5lcihcImZvY3VzXCIsdGhpcy5fYm90dG9tQm91bmRhcnlGb2N1c0xpc3RlbmVyKSx0aGlzLl9yZWZyZXNoUm93c0RpbWVuc2lvbnMoKX1fY3JlYXRlQWNjZXNzaWJpbGl0eVRyZWVOb2RlKCl7Y29uc3QgZT10aGlzLl9jb3JlQnJvd3NlclNlcnZpY2UubWFpbkRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7cmV0dXJuIGUuc2V0QXR0cmlidXRlKFwicm9sZVwiLFwibGlzdGl0ZW1cIiksZS50YWJJbmRleD0tMSx0aGlzLl9yZWZyZXNoUm93RGltZW5zaW9ucyhlKSxlfV9yZWZyZXNoUm93c0RpbWVuc2lvbnMoKXtpZih0aGlzLl9yZW5kZXJTZXJ2aWNlLmRpbWVuc2lvbnMuY3NzLmNlbGwuaGVpZ2h0KXt0aGlzLl9hY2Nlc3NpYmlsaXR5Q29udGFpbmVyLnN0eWxlLndpZHRoPWAke3RoaXMuX3JlbmRlclNlcnZpY2UuZGltZW5zaW9ucy5jc3MuY2FudmFzLndpZHRofXB4YCx0aGlzLl9yb3dFbGVtZW50cy5sZW5ndGghPT10aGlzLl90ZXJtaW5hbC5yb3dzJiZ0aGlzLl9oYW5kbGVSZXNpemUodGhpcy5fdGVybWluYWwucm93cyk7Zm9yKGxldCBlPTA7ZTx0aGlzLl90ZXJtaW5hbC5yb3dzO2UrKyl0aGlzLl9yZWZyZXNoUm93RGltZW5zaW9ucyh0aGlzLl9yb3dFbGVtZW50c1tlXSl9fV9yZWZyZXNoUm93RGltZW5zaW9ucyhlKXtlLnN0eWxlLmhlaWdodD1gJHt0aGlzLl9yZW5kZXJTZXJ2aWNlLmRpbWVuc2lvbnMuY3NzLmNlbGwuaGVpZ2h0fXB4YH19O3QuQWNjZXNzaWJpbGl0eU1hbmFnZXI9ZD1zKFtyKDEsYy5JSW5zdGFudGlhdGlvblNlcnZpY2UpLHIoMixoLklDb3JlQnJvd3NlclNlcnZpY2UpLHIoMyxoLklSZW5kZXJTZXJ2aWNlKV0sZCl9LDM2MTQ6KGUsdCk9PntmdW5jdGlvbiBpKGUpe3JldHVybiBlLnJlcGxhY2UoL1xccj9cXG4vZyxcIlxcclwiKX1mdW5jdGlvbiBzKGUsdCl7cmV0dXJuIHQ/XCJcdTAwMWJbMjAwflwiK2UrXCJcdTAwMWJbMjAxflwiOmV9ZnVuY3Rpb24gcihlLHQscixuKXtlPXMoZT1pKGUpLHIuZGVjUHJpdmF0ZU1vZGVzLmJyYWNrZXRlZFBhc3RlTW9kZSYmITAhPT1uLnJhd09wdGlvbnMuaWdub3JlQnJhY2tldGVkUGFzdGVNb2RlKSxyLnRyaWdnZXJEYXRhRXZlbnQoZSwhMCksdC52YWx1ZT1cIlwifWZ1bmN0aW9uIG4oZSx0LGkpe2NvbnN0IHM9aS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxyPWUuY2xpZW50WC1zLmxlZnQtMTAsbj1lLmNsaWVudFktcy50b3AtMTA7dC5zdHlsZS53aWR0aD1cIjIwcHhcIix0LnN0eWxlLmhlaWdodD1cIjIwcHhcIix0LnN0eWxlLmxlZnQ9YCR7cn1weGAsdC5zdHlsZS50b3A9YCR7bn1weGAsdC5zdHlsZS56SW5kZXg9XCIxMDAwXCIsdC5mb2N1cygpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQucmlnaHRDbGlja0hhbmRsZXI9dC5tb3ZlVGV4dEFyZWFVbmRlck1vdXNlQ3Vyc29yPXQucGFzdGU9dC5oYW5kbGVQYXN0ZUV2ZW50PXQuY29weUhhbmRsZXI9dC5icmFja2V0VGV4dEZvclBhc3RlPXQucHJlcGFyZVRleHRGb3JUZXJtaW5hbD12b2lkIDAsdC5wcmVwYXJlVGV4dEZvclRlcm1pbmFsPWksdC5icmFja2V0VGV4dEZvclBhc3RlPXMsdC5jb3B5SGFuZGxlcj1mdW5jdGlvbihlLHQpe2UuY2xpcGJvYXJkRGF0YSYmZS5jbGlwYm9hcmREYXRhLnNldERhdGEoXCJ0ZXh0L3BsYWluXCIsdC5zZWxlY3Rpb25UZXh0KSxlLnByZXZlbnREZWZhdWx0KCl9LHQuaGFuZGxlUGFzdGVFdmVudD1mdW5jdGlvbihlLHQsaSxzKXtlLnN0b3BQcm9wYWdhdGlvbigpLGUuY2xpcGJvYXJkRGF0YSYmcihlLmNsaXBib2FyZERhdGEuZ2V0RGF0YShcInRleHQvcGxhaW5cIiksdCxpLHMpfSx0LnBhc3RlPXIsdC5tb3ZlVGV4dEFyZWFVbmRlck1vdXNlQ3Vyc29yPW4sdC5yaWdodENsaWNrSGFuZGxlcj1mdW5jdGlvbihlLHQsaSxzLHIpe24oZSx0LGkpLHImJnMucmlnaHRDbGlja1NlbGVjdChlKSx0LnZhbHVlPXMuc2VsZWN0aW9uVGV4dCx0LnNlbGVjdCgpfX0sNzIzOTooZSx0LGkpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5Db2xvckNvbnRyYXN0Q2FjaGU9dm9pZCAwO2NvbnN0IHM9aSgxNTA1KTt0LkNvbG9yQ29udHJhc3RDYWNoZT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2NvbG9yPW5ldyBzLlR3b0tleU1hcCx0aGlzLl9jc3M9bmV3IHMuVHdvS2V5TWFwfXNldENzcyhlLHQsaSl7dGhpcy5fY3NzLnNldChlLHQsaSl9Z2V0Q3NzKGUsdCl7cmV0dXJuIHRoaXMuX2Nzcy5nZXQoZSx0KX1zZXRDb2xvcihlLHQsaSl7dGhpcy5fY29sb3Iuc2V0KGUsdCxpKX1nZXRDb2xvcihlLHQpe3JldHVybiB0aGlzLl9jb2xvci5nZXQoZSx0KX1jbGVhcigpe3RoaXMuX2NvbG9yLmNsZWFyKCksdGhpcy5fY3NzLmNsZWFyKCl9fX0sMzY1NjooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuYWRkRGlzcG9zYWJsZURvbUxpc3RlbmVyPXZvaWQgMCx0LmFkZERpc3Bvc2FibGVEb21MaXN0ZW5lcj1mdW5jdGlvbihlLHQsaSxzKXtlLmFkZEV2ZW50TGlzdGVuZXIodCxpLHMpO2xldCByPSExO3JldHVybntkaXNwb3NlOigpPT57cnx8KHI9ITAsZS5yZW1vdmVFdmVudExpc3RlbmVyKHQsaSxzKSl9fX19LDM1NTE6ZnVuY3Rpb24oZSx0LGkpe3ZhciBzPXRoaXMmJnRoaXMuX19kZWNvcmF0ZXx8ZnVuY3Rpb24oZSx0LGkscyl7dmFyIHIsbj1hcmd1bWVudHMubGVuZ3RoLG89bjwzP3Q6bnVsbD09PXM/cz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsaSk6cztpZihcIm9iamVjdFwiPT10eXBlb2YgUmVmbGVjdCYmXCJmdW5jdGlvblwiPT10eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSlvPVJlZmxlY3QuZGVjb3JhdGUoZSx0LGkscyk7ZWxzZSBmb3IodmFyIGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkocj1lW2FdKSYmKG89KG48Mz9yKG8pOm4+Mz9yKHQsaSxvKTpyKHQsaSkpfHxvKTtyZXR1cm4gbj4zJiZvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxpLG8pLG99LHI9dGhpcyYmdGhpcy5fX3BhcmFtfHxmdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihpLHMpe3QoaSxzLGUpfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5MaW5raWZpZXI9dm9pZCAwO2NvbnN0IG49aSgzNjU2KSxvPWkoODQ2MCksYT1pKDg0NCksaD1pKDI1ODUpLGM9aSg0NzI1KTtsZXQgbD10LkxpbmtpZmllcj1jbGFzcyBleHRlbmRzIGEuRGlzcG9zYWJsZXtnZXQgY3VycmVudExpbmsoKXtyZXR1cm4gdGhpcy5fY3VycmVudExpbmt9Y29uc3RydWN0b3IoZSx0LGkscyxyKXtzdXBlcigpLHRoaXMuX2VsZW1lbnQ9ZSx0aGlzLl9tb3VzZVNlcnZpY2U9dCx0aGlzLl9yZW5kZXJTZXJ2aWNlPWksdGhpcy5fYnVmZmVyU2VydmljZT1zLHRoaXMuX2xpbmtQcm92aWRlclNlcnZpY2U9cix0aGlzLl9saW5rQ2FjaGVEaXNwb3NhYmxlcz1bXSx0aGlzLl9pc01vdXNlT3V0PSEwLHRoaXMuX3dhc1Jlc2l6ZWQ9ITEsdGhpcy5fYWN0aXZlTGluZT0tMSx0aGlzLl9vblNob3dMaW5rVW5kZXJsaW5lPXRoaXMucmVnaXN0ZXIobmV3IG8uRXZlbnRFbWl0dGVyKSx0aGlzLm9uU2hvd0xpbmtVbmRlcmxpbmU9dGhpcy5fb25TaG93TGlua1VuZGVybGluZS5ldmVudCx0aGlzLl9vbkhpZGVMaW5rVW5kZXJsaW5lPXRoaXMucmVnaXN0ZXIobmV3IG8uRXZlbnRFbWl0dGVyKSx0aGlzLm9uSGlkZUxpbmtVbmRlcmxpbmU9dGhpcy5fb25IaWRlTGlua1VuZGVybGluZS5ldmVudCx0aGlzLnJlZ2lzdGVyKCgwLGEuZ2V0RGlzcG9zZUFycmF5RGlzcG9zYWJsZSkodGhpcy5fbGlua0NhY2hlRGlzcG9zYWJsZXMpKSx0aGlzLnJlZ2lzdGVyKCgwLGEudG9EaXNwb3NhYmxlKSgoKCk9Pnt0aGlzLl9sYXN0TW91c2VFdmVudD12b2lkIDAsdGhpcy5fYWN0aXZlUHJvdmlkZXJSZXBsaWVzPy5jbGVhcigpfSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX2J1ZmZlclNlcnZpY2Uub25SZXNpemUoKCgpPT57dGhpcy5fY2xlYXJDdXJyZW50TGluaygpLHRoaXMuX3dhc1Jlc2l6ZWQ9ITB9KSkpLHRoaXMucmVnaXN0ZXIoKDAsbi5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXIpKHRoaXMuX2VsZW1lbnQsXCJtb3VzZWxlYXZlXCIsKCgpPT57dGhpcy5faXNNb3VzZU91dD0hMCx0aGlzLl9jbGVhckN1cnJlbnRMaW5rKCl9KSkpLHRoaXMucmVnaXN0ZXIoKDAsbi5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXIpKHRoaXMuX2VsZW1lbnQsXCJtb3VzZW1vdmVcIix0aGlzLl9oYW5kbGVNb3VzZU1vdmUuYmluZCh0aGlzKSkpLHRoaXMucmVnaXN0ZXIoKDAsbi5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXIpKHRoaXMuX2VsZW1lbnQsXCJtb3VzZWRvd25cIix0aGlzLl9oYW5kbGVNb3VzZURvd24uYmluZCh0aGlzKSkpLHRoaXMucmVnaXN0ZXIoKDAsbi5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXIpKHRoaXMuX2VsZW1lbnQsXCJtb3VzZXVwXCIsdGhpcy5faGFuZGxlTW91c2VVcC5iaW5kKHRoaXMpKSl9X2hhbmRsZU1vdXNlTW92ZShlKXt0aGlzLl9sYXN0TW91c2VFdmVudD1lO2NvbnN0IHQ9dGhpcy5fcG9zaXRpb25Gcm9tTW91c2VFdmVudChlLHRoaXMuX2VsZW1lbnQsdGhpcy5fbW91c2VTZXJ2aWNlKTtpZighdClyZXR1cm47dGhpcy5faXNNb3VzZU91dD0hMTtjb25zdCBpPWUuY29tcG9zZWRQYXRoKCk7Zm9yKGxldCBlPTA7ZTxpLmxlbmd0aDtlKyspe2NvbnN0IHQ9aVtlXTtpZih0LmNsYXNzTGlzdC5jb250YWlucyhcInh0ZXJtXCIpKWJyZWFrO2lmKHQuY2xhc3NMaXN0LmNvbnRhaW5zKFwieHRlcm0taG92ZXJcIikpcmV0dXJufXRoaXMuX2xhc3RCdWZmZXJDZWxsJiZ0Lng9PT10aGlzLl9sYXN0QnVmZmVyQ2VsbC54JiZ0Lnk9PT10aGlzLl9sYXN0QnVmZmVyQ2VsbC55fHwodGhpcy5faGFuZGxlSG92ZXIodCksdGhpcy5fbGFzdEJ1ZmZlckNlbGw9dCl9X2hhbmRsZUhvdmVyKGUpe2lmKHRoaXMuX2FjdGl2ZUxpbmUhPT1lLnl8fHRoaXMuX3dhc1Jlc2l6ZWQpcmV0dXJuIHRoaXMuX2NsZWFyQ3VycmVudExpbmsoKSx0aGlzLl9hc2tGb3JMaW5rKGUsITEpLHZvaWQodGhpcy5fd2FzUmVzaXplZD0hMSk7dGhpcy5fY3VycmVudExpbmsmJnRoaXMuX2xpbmtBdFBvc2l0aW9uKHRoaXMuX2N1cnJlbnRMaW5rLmxpbmssZSl8fCh0aGlzLl9jbGVhckN1cnJlbnRMaW5rKCksdGhpcy5fYXNrRm9yTGluayhlLCEwKSl9X2Fza0ZvckxpbmsoZSx0KXt0aGlzLl9hY3RpdmVQcm92aWRlclJlcGxpZXMmJnR8fCh0aGlzLl9hY3RpdmVQcm92aWRlclJlcGxpZXM/LmZvckVhY2goKGU9PntlPy5mb3JFYWNoKChlPT57ZS5saW5rLmRpc3Bvc2UmJmUubGluay5kaXNwb3NlKCl9KSl9KSksdGhpcy5fYWN0aXZlUHJvdmlkZXJSZXBsaWVzPW5ldyBNYXAsdGhpcy5fYWN0aXZlTGluZT1lLnkpO2xldCBpPSExO2Zvcihjb25zdFtzLHJdb2YgdGhpcy5fbGlua1Byb3ZpZGVyU2VydmljZS5saW5rUHJvdmlkZXJzLmVudHJpZXMoKSlpZih0KXtjb25zdCB0PXRoaXMuX2FjdGl2ZVByb3ZpZGVyUmVwbGllcz8uZ2V0KHMpO3QmJihpPXRoaXMuX2NoZWNrTGlua1Byb3ZpZGVyUmVzdWx0KHMsZSxpKSl9ZWxzZSByLnByb3ZpZGVMaW5rcyhlLnksKHQ9PntpZih0aGlzLl9pc01vdXNlT3V0KXJldHVybjtjb25zdCByPXQ/Lm1hcCgoZT0+KHtsaW5rOmV9KSkpO3RoaXMuX2FjdGl2ZVByb3ZpZGVyUmVwbGllcz8uc2V0KHMsciksaT10aGlzLl9jaGVja0xpbmtQcm92aWRlclJlc3VsdChzLGUsaSksdGhpcy5fYWN0aXZlUHJvdmlkZXJSZXBsaWVzPy5zaXplPT09dGhpcy5fbGlua1Byb3ZpZGVyU2VydmljZS5saW5rUHJvdmlkZXJzLmxlbmd0aCYmdGhpcy5fcmVtb3ZlSW50ZXJzZWN0aW5nTGlua3MoZS55LHRoaXMuX2FjdGl2ZVByb3ZpZGVyUmVwbGllcyl9KSl9X3JlbW92ZUludGVyc2VjdGluZ0xpbmtzKGUsdCl7Y29uc3QgaT1uZXcgU2V0O2ZvcihsZXQgcz0wO3M8dC5zaXplO3MrKyl7Y29uc3Qgcj10LmdldChzKTtpZihyKWZvcihsZXQgdD0wO3Q8ci5sZW5ndGg7dCsrKXtjb25zdCBzPXJbdF0sbj1zLmxpbmsucmFuZ2Uuc3RhcnQueTxlPzA6cy5saW5rLnJhbmdlLnN0YXJ0Lngsbz1zLmxpbmsucmFuZ2UuZW5kLnk+ZT90aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHM6cy5saW5rLnJhbmdlLmVuZC54O2ZvcihsZXQgZT1uO2U8PW87ZSsrKXtpZihpLmhhcyhlKSl7ci5zcGxpY2UodC0tLDEpO2JyZWFrfWkuYWRkKGUpfX19fV9jaGVja0xpbmtQcm92aWRlclJlc3VsdChlLHQsaSl7aWYoIXRoaXMuX2FjdGl2ZVByb3ZpZGVyUmVwbGllcylyZXR1cm4gaTtjb25zdCBzPXRoaXMuX2FjdGl2ZVByb3ZpZGVyUmVwbGllcy5nZXQoZSk7bGV0IHI9ITE7Zm9yKGxldCB0PTA7dDxlO3QrKyl0aGlzLl9hY3RpdmVQcm92aWRlclJlcGxpZXMuaGFzKHQpJiYhdGhpcy5fYWN0aXZlUHJvdmlkZXJSZXBsaWVzLmdldCh0KXx8KHI9ITApO2lmKCFyJiZzKXtjb25zdCBlPXMuZmluZCgoZT0+dGhpcy5fbGlua0F0UG9zaXRpb24oZS5saW5rLHQpKSk7ZSYmKGk9ITAsdGhpcy5faGFuZGxlTmV3TGluayhlKSl9aWYodGhpcy5fYWN0aXZlUHJvdmlkZXJSZXBsaWVzLnNpemU9PT10aGlzLl9saW5rUHJvdmlkZXJTZXJ2aWNlLmxpbmtQcm92aWRlcnMubGVuZ3RoJiYhaSlmb3IobGV0IGU9MDtlPHRoaXMuX2FjdGl2ZVByb3ZpZGVyUmVwbGllcy5zaXplO2UrKyl7Y29uc3Qgcz10aGlzLl9hY3RpdmVQcm92aWRlclJlcGxpZXMuZ2V0KGUpPy5maW5kKChlPT50aGlzLl9saW5rQXRQb3NpdGlvbihlLmxpbmssdCkpKTtpZihzKXtpPSEwLHRoaXMuX2hhbmRsZU5ld0xpbmsocyk7YnJlYWt9fXJldHVybiBpfV9oYW5kbGVNb3VzZURvd24oKXt0aGlzLl9tb3VzZURvd25MaW5rPXRoaXMuX2N1cnJlbnRMaW5rfV9oYW5kbGVNb3VzZVVwKGUpe2lmKCF0aGlzLl9jdXJyZW50TGluaylyZXR1cm47Y29uc3QgdD10aGlzLl9wb3NpdGlvbkZyb21Nb3VzZUV2ZW50KGUsdGhpcy5fZWxlbWVudCx0aGlzLl9tb3VzZVNlcnZpY2UpO3QmJnRoaXMuX21vdXNlRG93bkxpbms9PT10aGlzLl9jdXJyZW50TGluayYmdGhpcy5fbGlua0F0UG9zaXRpb24odGhpcy5fY3VycmVudExpbmsubGluayx0KSYmdGhpcy5fY3VycmVudExpbmsubGluay5hY3RpdmF0ZShlLHRoaXMuX2N1cnJlbnRMaW5rLmxpbmsudGV4dCl9X2NsZWFyQ3VycmVudExpbmsoZSx0KXt0aGlzLl9jdXJyZW50TGluayYmdGhpcy5fbGFzdE1vdXNlRXZlbnQmJighZXx8IXR8fHRoaXMuX2N1cnJlbnRMaW5rLmxpbmsucmFuZ2Uuc3RhcnQueT49ZSYmdGhpcy5fY3VycmVudExpbmsubGluay5yYW5nZS5lbmQueTw9dCkmJih0aGlzLl9saW5rTGVhdmUodGhpcy5fZWxlbWVudCx0aGlzLl9jdXJyZW50TGluay5saW5rLHRoaXMuX2xhc3RNb3VzZUV2ZW50KSx0aGlzLl9jdXJyZW50TGluaz12b2lkIDAsKDAsYS5kaXNwb3NlQXJyYXkpKHRoaXMuX2xpbmtDYWNoZURpc3Bvc2FibGVzKSl9X2hhbmRsZU5ld0xpbmsoZSl7aWYoIXRoaXMuX2xhc3RNb3VzZUV2ZW50KXJldHVybjtjb25zdCB0PXRoaXMuX3Bvc2l0aW9uRnJvbU1vdXNlRXZlbnQodGhpcy5fbGFzdE1vdXNlRXZlbnQsdGhpcy5fZWxlbWVudCx0aGlzLl9tb3VzZVNlcnZpY2UpO3QmJnRoaXMuX2xpbmtBdFBvc2l0aW9uKGUubGluayx0KSYmKHRoaXMuX2N1cnJlbnRMaW5rPWUsdGhpcy5fY3VycmVudExpbmsuc3RhdGU9e2RlY29yYXRpb25zOnt1bmRlcmxpbmU6dm9pZCAwPT09ZS5saW5rLmRlY29yYXRpb25zfHxlLmxpbmsuZGVjb3JhdGlvbnMudW5kZXJsaW5lLHBvaW50ZXJDdXJzb3I6dm9pZCAwPT09ZS5saW5rLmRlY29yYXRpb25zfHxlLmxpbmsuZGVjb3JhdGlvbnMucG9pbnRlckN1cnNvcn0saXNIb3ZlcmVkOiEwfSx0aGlzLl9saW5rSG92ZXIodGhpcy5fZWxlbWVudCxlLmxpbmssdGhpcy5fbGFzdE1vdXNlRXZlbnQpLGUubGluay5kZWNvcmF0aW9ucz17fSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLmxpbmsuZGVjb3JhdGlvbnMse3BvaW50ZXJDdXJzb3I6e2dldDooKT0+dGhpcy5fY3VycmVudExpbms/LnN0YXRlPy5kZWNvcmF0aW9ucy5wb2ludGVyQ3Vyc29yLHNldDplPT57dGhpcy5fY3VycmVudExpbms/LnN0YXRlJiZ0aGlzLl9jdXJyZW50TGluay5zdGF0ZS5kZWNvcmF0aW9ucy5wb2ludGVyQ3Vyc29yIT09ZSYmKHRoaXMuX2N1cnJlbnRMaW5rLnN0YXRlLmRlY29yYXRpb25zLnBvaW50ZXJDdXJzb3I9ZSx0aGlzLl9jdXJyZW50TGluay5zdGF0ZS5pc0hvdmVyZWQmJnRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZShcInh0ZXJtLWN1cnNvci1wb2ludGVyXCIsZSkpfX0sdW5kZXJsaW5lOntnZXQ6KCk9PnRoaXMuX2N1cnJlbnRMaW5rPy5zdGF0ZT8uZGVjb3JhdGlvbnMudW5kZXJsaW5lLHNldDp0PT57dGhpcy5fY3VycmVudExpbms/LnN0YXRlJiZ0aGlzLl9jdXJyZW50TGluaz8uc3RhdGU/LmRlY29yYXRpb25zLnVuZGVybGluZSE9PXQmJih0aGlzLl9jdXJyZW50TGluay5zdGF0ZS5kZWNvcmF0aW9ucy51bmRlcmxpbmU9dCx0aGlzLl9jdXJyZW50TGluay5zdGF0ZS5pc0hvdmVyZWQmJnRoaXMuX2ZpcmVVbmRlcmxpbmVFdmVudChlLmxpbmssdCkpfX19KSx0aGlzLl9saW5rQ2FjaGVEaXNwb3NhYmxlcy5wdXNoKHRoaXMuX3JlbmRlclNlcnZpY2Uub25SZW5kZXJlZFZpZXdwb3J0Q2hhbmdlKChlPT57aWYoIXRoaXMuX2N1cnJlbnRMaW5rKXJldHVybjtjb25zdCB0PTA9PT1lLnN0YXJ0PzA6ZS5zdGFydCsxK3RoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLnlkaXNwLGk9dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIueWRpc3ArMStlLmVuZDtpZih0aGlzLl9jdXJyZW50TGluay5saW5rLnJhbmdlLnN0YXJ0Lnk+PXQmJnRoaXMuX2N1cnJlbnRMaW5rLmxpbmsucmFuZ2UuZW5kLnk8PWkmJih0aGlzLl9jbGVhckN1cnJlbnRMaW5rKHQsaSksdGhpcy5fbGFzdE1vdXNlRXZlbnQpKXtjb25zdCBlPXRoaXMuX3Bvc2l0aW9uRnJvbU1vdXNlRXZlbnQodGhpcy5fbGFzdE1vdXNlRXZlbnQsdGhpcy5fZWxlbWVudCx0aGlzLl9tb3VzZVNlcnZpY2UpO2UmJnRoaXMuX2Fza0ZvckxpbmsoZSwhMSl9fSkpKSl9X2xpbmtIb3ZlcihlLHQsaSl7dGhpcy5fY3VycmVudExpbms/LnN0YXRlJiYodGhpcy5fY3VycmVudExpbmsuc3RhdGUuaXNIb3ZlcmVkPSEwLHRoaXMuX2N1cnJlbnRMaW5rLnN0YXRlLmRlY29yYXRpb25zLnVuZGVybGluZSYmdGhpcy5fZmlyZVVuZGVybGluZUV2ZW50KHQsITApLHRoaXMuX2N1cnJlbnRMaW5rLnN0YXRlLmRlY29yYXRpb25zLnBvaW50ZXJDdXJzb3ImJmUuY2xhc3NMaXN0LmFkZChcInh0ZXJtLWN1cnNvci1wb2ludGVyXCIpKSx0LmhvdmVyJiZ0LmhvdmVyKGksdC50ZXh0KX1fZmlyZVVuZGVybGluZUV2ZW50KGUsdCl7Y29uc3QgaT1lLnJhbmdlLHM9dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIueWRpc3Ascj10aGlzLl9jcmVhdGVMaW5rVW5kZXJsaW5lRXZlbnQoaS5zdGFydC54LTEsaS5zdGFydC55LXMtMSxpLmVuZC54LGkuZW5kLnktcy0xLHZvaWQgMCk7KHQ/dGhpcy5fb25TaG93TGlua1VuZGVybGluZTp0aGlzLl9vbkhpZGVMaW5rVW5kZXJsaW5lKS5maXJlKHIpfV9saW5rTGVhdmUoZSx0LGkpe3RoaXMuX2N1cnJlbnRMaW5rPy5zdGF0ZSYmKHRoaXMuX2N1cnJlbnRMaW5rLnN0YXRlLmlzSG92ZXJlZD0hMSx0aGlzLl9jdXJyZW50TGluay5zdGF0ZS5kZWNvcmF0aW9ucy51bmRlcmxpbmUmJnRoaXMuX2ZpcmVVbmRlcmxpbmVFdmVudCh0LCExKSx0aGlzLl9jdXJyZW50TGluay5zdGF0ZS5kZWNvcmF0aW9ucy5wb2ludGVyQ3Vyc29yJiZlLmNsYXNzTGlzdC5yZW1vdmUoXCJ4dGVybS1jdXJzb3ItcG9pbnRlclwiKSksdC5sZWF2ZSYmdC5sZWF2ZShpLHQudGV4dCl9X2xpbmtBdFBvc2l0aW9uKGUsdCl7Y29uc3QgaT1lLnJhbmdlLnN0YXJ0LnkqdGhpcy5fYnVmZmVyU2VydmljZS5jb2xzK2UucmFuZ2Uuc3RhcnQueCxzPWUucmFuZ2UuZW5kLnkqdGhpcy5fYnVmZmVyU2VydmljZS5jb2xzK2UucmFuZ2UuZW5kLngscj10LnkqdGhpcy5fYnVmZmVyU2VydmljZS5jb2xzK3QueDtyZXR1cm4gaTw9ciYmcjw9c31fcG9zaXRpb25Gcm9tTW91c2VFdmVudChlLHQsaSl7Y29uc3Qgcz1pLmdldENvb3JkcyhlLHQsdGhpcy5fYnVmZmVyU2VydmljZS5jb2xzLHRoaXMuX2J1ZmZlclNlcnZpY2Uucm93cyk7aWYocylyZXR1cm57eDpzWzBdLHk6c1sxXSt0aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci55ZGlzcH19X2NyZWF0ZUxpbmtVbmRlcmxpbmVFdmVudChlLHQsaSxzLHIpe3JldHVybnt4MTplLHkxOnQseDI6aSx5MjpzLGNvbHM6dGhpcy5fYnVmZmVyU2VydmljZS5jb2xzLGZnOnJ9fX07dC5MaW5raWZpZXI9bD1zKFtyKDEsYy5JTW91c2VTZXJ2aWNlKSxyKDIsYy5JUmVuZGVyU2VydmljZSkscigzLGguSUJ1ZmZlclNlcnZpY2UpLHIoNCxjLklMaW5rUHJvdmlkZXJTZXJ2aWNlKV0sbCl9LDkwNDI6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LnRvb011Y2hPdXRwdXQ9dC5wcm9tcHRMYWJlbD12b2lkIDAsdC5wcm9tcHRMYWJlbD1cIlRlcm1pbmFsIGlucHV0XCIsdC50b29NdWNoT3V0cHV0PVwiVG9vIG11Y2ggb3V0cHV0IHRvIGFubm91bmNlLCBuYXZpZ2F0ZSB0byByb3dzIG1hbnVhbGx5IHRvIHJlYWRcIn0sMzczMDpmdW5jdGlvbihlLHQsaSl7dmFyIHM9dGhpcyYmdGhpcy5fX2RlY29yYXRlfHxmdW5jdGlvbihlLHQsaSxzKXt2YXIgcixuPWFyZ3VtZW50cy5sZW5ndGgsbz1uPDM/dDpudWxsPT09cz9zPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxpKTpzO2lmKFwib2JqZWN0XCI9PXR5cGVvZiBSZWZsZWN0JiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBSZWZsZWN0LmRlY29yYXRlKW89UmVmbGVjdC5kZWNvcmF0ZShlLHQsaSxzKTtlbHNlIGZvcih2YXIgYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShyPWVbYV0pJiYobz0objwzP3Iobyk6bj4zP3IodCxpLG8pOnIodCxpKSl8fG8pO3JldHVybiBuPjMmJm8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGksbyksb30scj10aGlzJiZ0aGlzLl9fcGFyYW18fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGkscyl7dChpLHMsZSl9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0Lk9zY0xpbmtQcm92aWRlcj12b2lkIDA7Y29uc3Qgbj1pKDUxMSksbz1pKDI1ODUpO2xldCBhPXQuT3NjTGlua1Byb3ZpZGVyPWNsYXNze2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLl9idWZmZXJTZXJ2aWNlPWUsdGhpcy5fb3B0aW9uc1NlcnZpY2U9dCx0aGlzLl9vc2NMaW5rU2VydmljZT1pfXByb3ZpZGVMaW5rcyhlLHQpe2NvbnN0IGk9dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIubGluZXMuZ2V0KGUtMSk7aWYoIWkpcmV0dXJuIHZvaWQgdCh2b2lkIDApO2NvbnN0IHM9W10scj10aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmxpbmtIYW5kbGVyLG89bmV3IG4uQ2VsbERhdGEsYT1pLmdldFRyaW1tZWRMZW5ndGgoKTtsZXQgYz0tMSxsPS0xLGQ9ITE7Zm9yKGxldCB0PTA7dDxhO3QrKylpZigtMSE9PWx8fGkuaGFzQ29udGVudCh0KSl7aWYoaS5sb2FkQ2VsbCh0LG8pLG8uaGFzRXh0ZW5kZWRBdHRycygpJiZvLmV4dGVuZGVkLnVybElkKXtpZigtMT09PWwpe2w9dCxjPW8uZXh0ZW5kZWQudXJsSWQ7Y29udGludWV9ZD1vLmV4dGVuZGVkLnVybElkIT09Y31lbHNlLTEhPT1sJiYoZD0hMCk7aWYoZHx8LTEhPT1sJiZ0PT09YS0xKXtjb25zdCBpPXRoaXMuX29zY0xpbmtTZXJ2aWNlLmdldExpbmtEYXRhKGMpPy51cmk7aWYoaSl7Y29uc3Qgbj17c3RhcnQ6e3g6bCsxLHk6ZX0sZW5kOnt4OnQrKGR8fHQhPT1hLTE/MDoxKSx5OmV9fTtsZXQgbz0hMTtpZighcj8uYWxsb3dOb25IdHRwUHJvdG9jb2xzKXRyeXtjb25zdCBlPW5ldyBVUkwoaSk7W1wiaHR0cDpcIixcImh0dHBzOlwiXS5pbmNsdWRlcyhlLnByb3RvY29sKXx8KG89ITApfWNhdGNoKGUpe289ITB9b3x8cy5wdXNoKHt0ZXh0OmkscmFuZ2U6bixhY3RpdmF0ZTooZSx0KT0+cj9yLmFjdGl2YXRlKGUsdCxuKTpoKDAsdCksaG92ZXI6KGUsdCk9PnI/LmhvdmVyPy4oZSx0LG4pLGxlYXZlOihlLHQpPT5yPy5sZWF2ZT8uKGUsdCxuKX0pfWQ9ITEsby5oYXNFeHRlbmRlZEF0dHJzKCkmJm8uZXh0ZW5kZWQudXJsSWQ/KGw9dCxjPW8uZXh0ZW5kZWQudXJsSWQpOihsPS0xLGM9LTEpfX10KHMpfX07ZnVuY3Rpb24gaChlLHQpe2lmKGNvbmZpcm0oYERvIHlvdSB3YW50IHRvIG5hdmlnYXRlIHRvICR7dH0/XFxuXFxuV0FSTklORzogVGhpcyBsaW5rIGNvdWxkIHBvdGVudGlhbGx5IGJlIGRhbmdlcm91c2ApKXtjb25zdCBlPXdpbmRvdy5vcGVuKCk7aWYoZSl7dHJ5e2Uub3BlbmVyPW51bGx9Y2F0Y2h7fWUubG9jYXRpb24uaHJlZj10fWVsc2UgY29uc29sZS53YXJuKFwiT3BlbmluZyBsaW5rIGJsb2NrZWQgYXMgb3BlbmVyIGNvdWxkIG5vdCBiZSBjbGVhcmVkXCIpfX10Lk9zY0xpbmtQcm92aWRlcj1hPXMoW3IoMCxvLklCdWZmZXJTZXJ2aWNlKSxyKDEsby5JT3B0aW9uc1NlcnZpY2UpLHIoMixvLklPc2NMaW5rU2VydmljZSldLGEpfSw2MTkzOihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5SZW5kZXJEZWJvdW5jZXI9dm9pZCAwLHQuUmVuZGVyRGVib3VuY2VyPWNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fcmVuZGVyQ2FsbGJhY2s9ZSx0aGlzLl9jb3JlQnJvd3NlclNlcnZpY2U9dCx0aGlzLl9yZWZyZXNoQ2FsbGJhY2tzPVtdfWRpc3Bvc2UoKXt0aGlzLl9hbmltYXRpb25GcmFtZSYmKHRoaXMuX2NvcmVCcm93c2VyU2VydmljZS53aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fYW5pbWF0aW9uRnJhbWUpLHRoaXMuX2FuaW1hdGlvbkZyYW1lPXZvaWQgMCl9YWRkUmVmcmVzaENhbGxiYWNrKGUpe3JldHVybiB0aGlzLl9yZWZyZXNoQ2FsbGJhY2tzLnB1c2goZSksdGhpcy5fYW5pbWF0aW9uRnJhbWV8fCh0aGlzLl9hbmltYXRpb25GcmFtZT10aGlzLl9jb3JlQnJvd3NlclNlcnZpY2Uud2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PnRoaXMuX2lubmVyUmVmcmVzaCgpKSkpLHRoaXMuX2FuaW1hdGlvbkZyYW1lfXJlZnJlc2goZSx0LGkpe3RoaXMuX3Jvd0NvdW50PWksZT12b2lkIDAhPT1lP2U6MCx0PXZvaWQgMCE9PXQ/dDp0aGlzLl9yb3dDb3VudC0xLHRoaXMuX3Jvd1N0YXJ0PXZvaWQgMCE9PXRoaXMuX3Jvd1N0YXJ0P01hdGgubWluKHRoaXMuX3Jvd1N0YXJ0LGUpOmUsdGhpcy5fcm93RW5kPXZvaWQgMCE9PXRoaXMuX3Jvd0VuZD9NYXRoLm1heCh0aGlzLl9yb3dFbmQsdCk6dCx0aGlzLl9hbmltYXRpb25GcmFtZXx8KHRoaXMuX2FuaW1hdGlvbkZyYW1lPXRoaXMuX2NvcmVCcm93c2VyU2VydmljZS53aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+dGhpcy5faW5uZXJSZWZyZXNoKCkpKSl9X2lubmVyUmVmcmVzaCgpe2lmKHRoaXMuX2FuaW1hdGlvbkZyYW1lPXZvaWQgMCx2b2lkIDA9PT10aGlzLl9yb3dTdGFydHx8dm9pZCAwPT09dGhpcy5fcm93RW5kfHx2b2lkIDA9PT10aGlzLl9yb3dDb3VudClyZXR1cm4gdm9pZCB0aGlzLl9ydW5SZWZyZXNoQ2FsbGJhY2tzKCk7Y29uc3QgZT1NYXRoLm1heCh0aGlzLl9yb3dTdGFydCwwKSx0PU1hdGgubWluKHRoaXMuX3Jvd0VuZCx0aGlzLl9yb3dDb3VudC0xKTt0aGlzLl9yb3dTdGFydD12b2lkIDAsdGhpcy5fcm93RW5kPXZvaWQgMCx0aGlzLl9yZW5kZXJDYWxsYmFjayhlLHQpLHRoaXMuX3J1blJlZnJlc2hDYWxsYmFja3MoKX1fcnVuUmVmcmVzaENhbGxiYWNrcygpe2Zvcihjb25zdCBlIG9mIHRoaXMuX3JlZnJlc2hDYWxsYmFja3MpZSgwKTt0aGlzLl9yZWZyZXNoQ2FsbGJhY2tzPVtdfX19LDMyMzY6KGUsdCxpKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuVGVybWluYWw9dm9pZCAwO2NvbnN0IHM9aSgzNjE0KSxyPWkoMzY1Niksbj1pKDM1NTEpLG89aSg5MDQyKSxhPWkoMzczMCksaD1pKDE2ODApLGM9aSgzMTA3KSxsPWkoNTc0NCksZD1pKDI5NTApLF89aSgxMjk2KSx1PWkoNDI4KSxmPWkoNDI2OSksdj1pKDUxMTQpLHA9aSg4OTM0KSxnPWkoMzIzMCksbT1pKDkzMTIpLFM9aSg0NzI1KSxDPWkoNjczMSksYj1pKDgwNTUpLHc9aSg4OTY5KSx5PWkoODQ2MCksRT1pKDg0NCksaz1pKDYxMTQpLEw9aSg4NDM3KSxEPWkoMjU4NCksUj1pKDczOTkpLHg9aSg1OTQxKSxBPWkoOTA3NCksQj1pKDI1ODUpLFQ9aSg1NDM1KSxNPWkoNDU2NyksTz1pKDc3OSk7Y2xhc3MgUCBleHRlbmRzIHcuQ29yZVRlcm1pbmFse2dldCBvbkZvY3VzKCl7cmV0dXJuIHRoaXMuX29uRm9jdXMuZXZlbnR9Z2V0IG9uQmx1cigpe3JldHVybiB0aGlzLl9vbkJsdXIuZXZlbnR9Z2V0IG9uQTExeUNoYXIoKXtyZXR1cm4gdGhpcy5fb25BMTF5Q2hhckVtaXR0ZXIuZXZlbnR9Z2V0IG9uQTExeVRhYigpe3JldHVybiB0aGlzLl9vbkExMXlUYWJFbWl0dGVyLmV2ZW50fWdldCBvbldpbGxPcGVuKCl7cmV0dXJuIHRoaXMuX29uV2lsbE9wZW4uZXZlbnR9Y29uc3RydWN0b3IoZT17fSl7c3VwZXIoZSksdGhpcy5icm93c2VyPWssdGhpcy5fa2V5RG93bkhhbmRsZWQ9ITEsdGhpcy5fa2V5RG93blNlZW49ITEsdGhpcy5fa2V5UHJlc3NIYW5kbGVkPSExLHRoaXMuX3VucHJvY2Vzc2VkRGVhZEtleT0hMSx0aGlzLl9hY2Nlc3NpYmlsaXR5TWFuYWdlcj10aGlzLnJlZ2lzdGVyKG5ldyBFLk11dGFibGVEaXNwb3NhYmxlKSx0aGlzLl9vbkN1cnNvck1vdmU9dGhpcy5yZWdpc3RlcihuZXcgeS5FdmVudEVtaXR0ZXIpLHRoaXMub25DdXJzb3JNb3ZlPXRoaXMuX29uQ3Vyc29yTW92ZS5ldmVudCx0aGlzLl9vbktleT10aGlzLnJlZ2lzdGVyKG5ldyB5LkV2ZW50RW1pdHRlciksdGhpcy5vbktleT10aGlzLl9vbktleS5ldmVudCx0aGlzLl9vblJlbmRlcj10aGlzLnJlZ2lzdGVyKG5ldyB5LkV2ZW50RW1pdHRlciksdGhpcy5vblJlbmRlcj10aGlzLl9vblJlbmRlci5ldmVudCx0aGlzLl9vblNlbGVjdGlvbkNoYW5nZT10aGlzLnJlZ2lzdGVyKG5ldyB5LkV2ZW50RW1pdHRlciksdGhpcy5vblNlbGVjdGlvbkNoYW5nZT10aGlzLl9vblNlbGVjdGlvbkNoYW5nZS5ldmVudCx0aGlzLl9vblRpdGxlQ2hhbmdlPXRoaXMucmVnaXN0ZXIobmV3IHkuRXZlbnRFbWl0dGVyKSx0aGlzLm9uVGl0bGVDaGFuZ2U9dGhpcy5fb25UaXRsZUNoYW5nZS5ldmVudCx0aGlzLl9vbkJlbGw9dGhpcy5yZWdpc3RlcihuZXcgeS5FdmVudEVtaXR0ZXIpLHRoaXMub25CZWxsPXRoaXMuX29uQmVsbC5ldmVudCx0aGlzLl9vbkZvY3VzPXRoaXMucmVnaXN0ZXIobmV3IHkuRXZlbnRFbWl0dGVyKSx0aGlzLl9vbkJsdXI9dGhpcy5yZWdpc3RlcihuZXcgeS5FdmVudEVtaXR0ZXIpLHRoaXMuX29uQTExeUNoYXJFbWl0dGVyPXRoaXMucmVnaXN0ZXIobmV3IHkuRXZlbnRFbWl0dGVyKSx0aGlzLl9vbkExMXlUYWJFbWl0dGVyPXRoaXMucmVnaXN0ZXIobmV3IHkuRXZlbnRFbWl0dGVyKSx0aGlzLl9vbldpbGxPcGVuPXRoaXMucmVnaXN0ZXIobmV3IHkuRXZlbnRFbWl0dGVyKSx0aGlzLl9zZXR1cCgpLHRoaXMuX2RlY29yYXRpb25TZXJ2aWNlPXRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLmNyZWF0ZUluc3RhbmNlKEEuRGVjb3JhdGlvblNlcnZpY2UpLHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLnNldFNlcnZpY2UoQi5JRGVjb3JhdGlvblNlcnZpY2UsdGhpcy5fZGVjb3JhdGlvblNlcnZpY2UpLHRoaXMuX2xpbmtQcm92aWRlclNlcnZpY2U9dGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2UuY3JlYXRlSW5zdGFuY2UoTy5MaW5rUHJvdmlkZXJTZXJ2aWNlKSx0aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5zZXRTZXJ2aWNlKFMuSUxpbmtQcm92aWRlclNlcnZpY2UsdGhpcy5fbGlua1Byb3ZpZGVyU2VydmljZSksdGhpcy5fbGlua1Byb3ZpZGVyU2VydmljZS5yZWdpc3RlckxpbmtQcm92aWRlcih0aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5jcmVhdGVJbnN0YW5jZShhLk9zY0xpbmtQcm92aWRlcikpLHRoaXMucmVnaXN0ZXIodGhpcy5faW5wdXRIYW5kbGVyLm9uUmVxdWVzdEJlbGwoKCgpPT50aGlzLl9vbkJlbGwuZmlyZSgpKSkpLHRoaXMucmVnaXN0ZXIodGhpcy5faW5wdXRIYW5kbGVyLm9uUmVxdWVzdFJlZnJlc2hSb3dzKCgoZSx0KT0+dGhpcy5yZWZyZXNoKGUsdCkpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9pbnB1dEhhbmRsZXIub25SZXF1ZXN0U2VuZEZvY3VzKCgoKT0+dGhpcy5fcmVwb3J0Rm9jdXMoKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX2lucHV0SGFuZGxlci5vblJlcXVlc3RSZXNldCgoKCk9PnRoaXMucmVzZXQoKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX2lucHV0SGFuZGxlci5vblJlcXVlc3RXaW5kb3dzT3B0aW9uc1JlcG9ydCgoZT0+dGhpcy5fcmVwb3J0V2luZG93c09wdGlvbnMoZSkpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9pbnB1dEhhbmRsZXIub25Db2xvcigoZT0+dGhpcy5faGFuZGxlQ29sb3JFdmVudChlKSkpKSx0aGlzLnJlZ2lzdGVyKCgwLHkuZm9yd2FyZEV2ZW50KSh0aGlzLl9pbnB1dEhhbmRsZXIub25DdXJzb3JNb3ZlLHRoaXMuX29uQ3Vyc29yTW92ZSkpLHRoaXMucmVnaXN0ZXIoKDAseS5mb3J3YXJkRXZlbnQpKHRoaXMuX2lucHV0SGFuZGxlci5vblRpdGxlQ2hhbmdlLHRoaXMuX29uVGl0bGVDaGFuZ2UpKSx0aGlzLnJlZ2lzdGVyKCgwLHkuZm9yd2FyZEV2ZW50KSh0aGlzLl9pbnB1dEhhbmRsZXIub25BMTF5Q2hhcix0aGlzLl9vbkExMXlDaGFyRW1pdHRlcikpLHRoaXMucmVnaXN0ZXIoKDAseS5mb3J3YXJkRXZlbnQpKHRoaXMuX2lucHV0SGFuZGxlci5vbkExMXlUYWIsdGhpcy5fb25BMTF5VGFiRW1pdHRlcikpLHRoaXMucmVnaXN0ZXIodGhpcy5fYnVmZmVyU2VydmljZS5vblJlc2l6ZSgoZT0+dGhpcy5fYWZ0ZXJSZXNpemUoZS5jb2xzLGUucm93cykpKSksdGhpcy5yZWdpc3RlcigoMCxFLnRvRGlzcG9zYWJsZSkoKCgpPT57dGhpcy5fY3VzdG9tS2V5RXZlbnRIYW5kbGVyPXZvaWQgMCx0aGlzLmVsZW1lbnQ/LnBhcmVudE5vZGU/LnJlbW92ZUNoaWxkKHRoaXMuZWxlbWVudCl9KSkpfV9oYW5kbGVDb2xvckV2ZW50KGUpe2lmKHRoaXMuX3RoZW1lU2VydmljZSlmb3IoY29uc3QgdCBvZiBlKXtsZXQgZSxpPVwiXCI7c3dpdGNoKHQuaW5kZXgpe2Nhc2UgMjU2OmU9XCJmb3JlZ3JvdW5kXCIsaT1cIjEwXCI7YnJlYWs7Y2FzZSAyNTc6ZT1cImJhY2tncm91bmRcIixpPVwiMTFcIjticmVhaztjYXNlIDI1ODplPVwiY3Vyc29yXCIsaT1cIjEyXCI7YnJlYWs7ZGVmYXVsdDplPVwiYW5zaVwiLGk9XCI0O1wiK3QuaW5kZXh9c3dpdGNoKHQudHlwZSl7Y2FzZSAwOmNvbnN0IHM9Yi5jb2xvci50b0NvbG9yUkdCKFwiYW5zaVwiPT09ZT90aGlzLl90aGVtZVNlcnZpY2UuY29sb3JzLmFuc2lbdC5pbmRleF06dGhpcy5fdGhlbWVTZXJ2aWNlLmNvbG9yc1tlXSk7dGhpcy5jb3JlU2VydmljZS50cmlnZ2VyRGF0YUV2ZW50KGAke0QuQzAuRVNDfV0ke2l9OyR7KDAseC50b1JnYlN0cmluZykocyl9JHtELkMxX0VTQ0FQRUQuU1R9YCk7YnJlYWs7Y2FzZSAxOmlmKFwiYW5zaVwiPT09ZSl0aGlzLl90aGVtZVNlcnZpY2UubW9kaWZ5Q29sb3JzKChlPT5lLmFuc2lbdC5pbmRleF09Yi5jaGFubmVscy50b0NvbG9yKC4uLnQuY29sb3IpKSk7ZWxzZXtjb25zdCBpPWU7dGhpcy5fdGhlbWVTZXJ2aWNlLm1vZGlmeUNvbG9ycygoZT0+ZVtpXT1iLmNoYW5uZWxzLnRvQ29sb3IoLi4udC5jb2xvcikpKX1icmVhaztjYXNlIDI6dGhpcy5fdGhlbWVTZXJ2aWNlLnJlc3RvcmVDb2xvcih0LmluZGV4KX19fV9zZXR1cCgpe3N1cGVyLl9zZXR1cCgpLHRoaXMuX2N1c3RvbUtleUV2ZW50SGFuZGxlcj12b2lkIDB9Z2V0IGJ1ZmZlcigpe3JldHVybiB0aGlzLmJ1ZmZlcnMuYWN0aXZlfWZvY3VzKCl7dGhpcy50ZXh0YXJlYSYmdGhpcy50ZXh0YXJlYS5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pfV9oYW5kbGVTY3JlZW5SZWFkZXJNb2RlT3B0aW9uQ2hhbmdlKGUpe2U/IXRoaXMuX2FjY2Vzc2liaWxpdHlNYW5hZ2VyLnZhbHVlJiZ0aGlzLl9yZW5kZXJTZXJ2aWNlJiYodGhpcy5fYWNjZXNzaWJpbGl0eU1hbmFnZXIudmFsdWU9dGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2UuY3JlYXRlSW5zdGFuY2UoTS5BY2Nlc3NpYmlsaXR5TWFuYWdlcix0aGlzKSk6dGhpcy5fYWNjZXNzaWJpbGl0eU1hbmFnZXIuY2xlYXIoKX1faGFuZGxlVGV4dEFyZWFGb2N1cyhlKXt0aGlzLmNvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcy5zZW5kRm9jdXMmJnRoaXMuY29yZVNlcnZpY2UudHJpZ2dlckRhdGFFdmVudChELkMwLkVTQytcIltJXCIpLHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKFwiZm9jdXNcIiksdGhpcy5fc2hvd0N1cnNvcigpLHRoaXMuX29uRm9jdXMuZmlyZSgpfWJsdXIoKXtyZXR1cm4gdGhpcy50ZXh0YXJlYT8uYmx1cigpfV9oYW5kbGVUZXh0QXJlYUJsdXIoKXt0aGlzLnRleHRhcmVhLnZhbHVlPVwiXCIsdGhpcy5yZWZyZXNoKHRoaXMuYnVmZmVyLnksdGhpcy5idWZmZXIueSksdGhpcy5jb3JlU2VydmljZS5kZWNQcml2YXRlTW9kZXMuc2VuZEZvY3VzJiZ0aGlzLmNvcmVTZXJ2aWNlLnRyaWdnZXJEYXRhRXZlbnQoRC5DMC5FU0MrXCJbT1wiKSx0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShcImZvY3VzXCIpLHRoaXMuX29uQmx1ci5maXJlKCl9X3N5bmNUZXh0QXJlYSgpe2lmKCF0aGlzLnRleHRhcmVhfHwhdGhpcy5idWZmZXIuaXNDdXJzb3JJblZpZXdwb3J0fHx0aGlzLl9jb21wb3NpdGlvbkhlbHBlci5pc0NvbXBvc2luZ3x8IXRoaXMuX3JlbmRlclNlcnZpY2UpcmV0dXJuO2NvbnN0IGU9dGhpcy5idWZmZXIueWJhc2UrdGhpcy5idWZmZXIueSx0PXRoaXMuYnVmZmVyLmxpbmVzLmdldChlKTtpZighdClyZXR1cm47Y29uc3QgaT1NYXRoLm1pbih0aGlzLmJ1ZmZlci54LHRoaXMuY29scy0xKSxzPXRoaXMuX3JlbmRlclNlcnZpY2UuZGltZW5zaW9ucy5jc3MuY2VsbC5oZWlnaHQscj10LmdldFdpZHRoKGkpLG49dGhpcy5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zLmNzcy5jZWxsLndpZHRoKnIsbz10aGlzLmJ1ZmZlci55KnRoaXMuX3JlbmRlclNlcnZpY2UuZGltZW5zaW9ucy5jc3MuY2VsbC5oZWlnaHQsYT1pKnRoaXMuX3JlbmRlclNlcnZpY2UuZGltZW5zaW9ucy5jc3MuY2VsbC53aWR0aDt0aGlzLnRleHRhcmVhLnN0eWxlLmxlZnQ9YStcInB4XCIsdGhpcy50ZXh0YXJlYS5zdHlsZS50b3A9bytcInB4XCIsdGhpcy50ZXh0YXJlYS5zdHlsZS53aWR0aD1uK1wicHhcIix0aGlzLnRleHRhcmVhLnN0eWxlLmhlaWdodD1zK1wicHhcIix0aGlzLnRleHRhcmVhLnN0eWxlLmxpbmVIZWlnaHQ9cytcInB4XCIsdGhpcy50ZXh0YXJlYS5zdHlsZS56SW5kZXg9XCItNVwifV9pbml0R2xvYmFsKCl7dGhpcy5fYmluZEtleXMoKSx0aGlzLnJlZ2lzdGVyKCgwLHIuYWRkRGlzcG9zYWJsZURvbUxpc3RlbmVyKSh0aGlzLmVsZW1lbnQsXCJjb3B5XCIsKGU9Pnt0aGlzLmhhc1NlbGVjdGlvbigpJiYoMCxzLmNvcHlIYW5kbGVyKShlLHRoaXMuX3NlbGVjdGlvblNlcnZpY2UpfSkpKTtjb25zdCBlPWU9PigwLHMuaGFuZGxlUGFzdGVFdmVudCkoZSx0aGlzLnRleHRhcmVhLHRoaXMuY29yZVNlcnZpY2UsdGhpcy5vcHRpb25zU2VydmljZSk7dGhpcy5yZWdpc3RlcigoMCxyLmFkZERpc3Bvc2FibGVEb21MaXN0ZW5lcikodGhpcy50ZXh0YXJlYSxcInBhc3RlXCIsZSkpLHRoaXMucmVnaXN0ZXIoKDAsci5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXIpKHRoaXMuZWxlbWVudCxcInBhc3RlXCIsZSkpLGsuaXNGaXJlZm94P3RoaXMucmVnaXN0ZXIoKDAsci5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXIpKHRoaXMuZWxlbWVudCxcIm1vdXNlZG93blwiLChlPT57Mj09PWUuYnV0dG9uJiYoMCxzLnJpZ2h0Q2xpY2tIYW5kbGVyKShlLHRoaXMudGV4dGFyZWEsdGhpcy5zY3JlZW5FbGVtZW50LHRoaXMuX3NlbGVjdGlvblNlcnZpY2UsdGhpcy5vcHRpb25zLnJpZ2h0Q2xpY2tTZWxlY3RzV29yZCl9KSkpOnRoaXMucmVnaXN0ZXIoKDAsci5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXIpKHRoaXMuZWxlbWVudCxcImNvbnRleHRtZW51XCIsKGU9PnsoMCxzLnJpZ2h0Q2xpY2tIYW5kbGVyKShlLHRoaXMudGV4dGFyZWEsdGhpcy5zY3JlZW5FbGVtZW50LHRoaXMuX3NlbGVjdGlvblNlcnZpY2UsdGhpcy5vcHRpb25zLnJpZ2h0Q2xpY2tTZWxlY3RzV29yZCl9KSkpLGsuaXNMaW51eCYmdGhpcy5yZWdpc3RlcigoMCxyLmFkZERpc3Bvc2FibGVEb21MaXN0ZW5lcikodGhpcy5lbGVtZW50LFwiYXV4Y2xpY2tcIiwoZT0+ezE9PT1lLmJ1dHRvbiYmKDAscy5tb3ZlVGV4dEFyZWFVbmRlck1vdXNlQ3Vyc29yKShlLHRoaXMudGV4dGFyZWEsdGhpcy5zY3JlZW5FbGVtZW50KX0pKSl9X2JpbmRLZXlzKCl7dGhpcy5yZWdpc3RlcigoMCxyLmFkZERpc3Bvc2FibGVEb21MaXN0ZW5lcikodGhpcy50ZXh0YXJlYSxcImtleXVwXCIsKGU9PnRoaXMuX2tleVVwKGUpKSwhMCkpLHRoaXMucmVnaXN0ZXIoKDAsci5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXIpKHRoaXMudGV4dGFyZWEsXCJrZXlkb3duXCIsKGU9PnRoaXMuX2tleURvd24oZSkpLCEwKSksdGhpcy5yZWdpc3RlcigoMCxyLmFkZERpc3Bvc2FibGVEb21MaXN0ZW5lcikodGhpcy50ZXh0YXJlYSxcImtleXByZXNzXCIsKGU9PnRoaXMuX2tleVByZXNzKGUpKSwhMCkpLHRoaXMucmVnaXN0ZXIoKDAsci5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXIpKHRoaXMudGV4dGFyZWEsXCJjb21wb3NpdGlvbnN0YXJ0XCIsKCgpPT50aGlzLl9jb21wb3NpdGlvbkhlbHBlci5jb21wb3NpdGlvbnN0YXJ0KCkpKSksdGhpcy5yZWdpc3RlcigoMCxyLmFkZERpc3Bvc2FibGVEb21MaXN0ZW5lcikodGhpcy50ZXh0YXJlYSxcImNvbXBvc2l0aW9udXBkYXRlXCIsKGU9PnRoaXMuX2NvbXBvc2l0aW9uSGVscGVyLmNvbXBvc2l0aW9udXBkYXRlKGUpKSkpLHRoaXMucmVnaXN0ZXIoKDAsci5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXIpKHRoaXMudGV4dGFyZWEsXCJjb21wb3NpdGlvbmVuZFwiLCgoKT0+dGhpcy5fY29tcG9zaXRpb25IZWxwZXIuY29tcG9zaXRpb25lbmQoKSkpKSx0aGlzLnJlZ2lzdGVyKCgwLHIuYWRkRGlzcG9zYWJsZURvbUxpc3RlbmVyKSh0aGlzLnRleHRhcmVhLFwiaW5wdXRcIiwoZT0+dGhpcy5faW5wdXRFdmVudChlKSksITApKSx0aGlzLnJlZ2lzdGVyKHRoaXMub25SZW5kZXIoKCgpPT50aGlzLl9jb21wb3NpdGlvbkhlbHBlci51cGRhdGVDb21wb3NpdGlvbkVsZW1lbnRzKCkpKSl9b3BlbihlKXtpZighZSl0aHJvdyBuZXcgRXJyb3IoXCJUZXJtaW5hbCByZXF1aXJlcyBhIHBhcmVudCBlbGVtZW50LlwiKTtpZihlLmlzQ29ubmVjdGVkfHx0aGlzLl9sb2dTZXJ2aWNlLmRlYnVnKFwiVGVybWluYWwub3BlbiB3YXMgY2FsbGVkIG9uIGFuIGVsZW1lbnQgdGhhdCB3YXMgbm90IGF0dGFjaGVkIHRvIHRoZSBET01cIiksdGhpcy5lbGVtZW50Py5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3JiZ0aGlzLl9jb3JlQnJvd3NlclNlcnZpY2UpcmV0dXJuIHZvaWQodGhpcy5lbGVtZW50Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXchPT10aGlzLl9jb3JlQnJvd3NlclNlcnZpY2Uud2luZG93JiYodGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlLndpbmRvdz10aGlzLmVsZW1lbnQub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldykpO3RoaXMuX2RvY3VtZW50PWUub3duZXJEb2N1bWVudCx0aGlzLm9wdGlvbnMuZG9jdW1lbnRPdmVycmlkZSYmdGhpcy5vcHRpb25zLmRvY3VtZW50T3ZlcnJpZGUgaW5zdGFuY2VvZiBEb2N1bWVudCYmKHRoaXMuX2RvY3VtZW50PXRoaXMub3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5kb2N1bWVudE92ZXJyaWRlKSx0aGlzLmVsZW1lbnQ9dGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSx0aGlzLmVsZW1lbnQuZGlyPVwibHRyXCIsdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJ0ZXJtaW5hbFwiKSx0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZChcInh0ZXJtXCIpLGUuYXBwZW5kQ2hpbGQodGhpcy5lbGVtZW50KTtjb25zdCB0PXRoaXMuX2RvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTt0aGlzLl92aWV3cG9ydEVsZW1lbnQ9dGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSx0aGlzLl92aWV3cG9ydEVsZW1lbnQuY2xhc3NMaXN0LmFkZChcInh0ZXJtLXZpZXdwb3J0XCIpLHQuYXBwZW5kQ2hpbGQodGhpcy5fdmlld3BvcnRFbGVtZW50KSx0aGlzLl92aWV3cG9ydFNjcm9sbEFyZWE9dGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSx0aGlzLl92aWV3cG9ydFNjcm9sbEFyZWEuY2xhc3NMaXN0LmFkZChcInh0ZXJtLXNjcm9sbC1hcmVhXCIpLHRoaXMuX3ZpZXdwb3J0RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl92aWV3cG9ydFNjcm9sbEFyZWEpLHRoaXMuc2NyZWVuRWxlbWVudD10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLHRoaXMuc2NyZWVuRWxlbWVudC5jbGFzc0xpc3QuYWRkKFwieHRlcm0tc2NyZWVuXCIpLHRoaXMucmVnaXN0ZXIoKDAsci5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXIpKHRoaXMuc2NyZWVuRWxlbWVudCxcIm1vdXNlbW92ZVwiLChlPT50aGlzLnVwZGF0ZUN1cnNvclN0eWxlKGUpKSkpLHRoaXMuX2hlbHBlckNvbnRhaW5lcj10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLHRoaXMuX2hlbHBlckNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKFwieHRlcm0taGVscGVyc1wiKSx0aGlzLnNjcmVlbkVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5faGVscGVyQ29udGFpbmVyKSx0LmFwcGVuZENoaWxkKHRoaXMuc2NyZWVuRWxlbWVudCksdGhpcy50ZXh0YXJlYT10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGV4dGFyZWFcIiksdGhpcy50ZXh0YXJlYS5jbGFzc0xpc3QuYWRkKFwieHRlcm0taGVscGVyLXRleHRhcmVhXCIpLHRoaXMudGV4dGFyZWEuc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbFwiLG8ucHJvbXB0TGFiZWwpLGsuaXNDaHJvbWVPU3x8dGhpcy50ZXh0YXJlYS5zZXRBdHRyaWJ1dGUoXCJhcmlhLW11bHRpbGluZVwiLFwiZmFsc2VcIiksdGhpcy50ZXh0YXJlYS5zZXRBdHRyaWJ1dGUoXCJhdXRvY29ycmVjdFwiLFwib2ZmXCIpLHRoaXMudGV4dGFyZWEuc2V0QXR0cmlidXRlKFwiYXV0b2NhcGl0YWxpemVcIixcIm9mZlwiKSx0aGlzLnRleHRhcmVhLnNldEF0dHJpYnV0ZShcInNwZWxsY2hlY2tcIixcImZhbHNlXCIpLHRoaXMudGV4dGFyZWEudGFiSW5kZXg9MCx0aGlzLl9jb3JlQnJvd3NlclNlcnZpY2U9dGhpcy5yZWdpc3Rlcih0aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5jcmVhdGVJbnN0YW5jZSh2LkNvcmVCcm93c2VyU2VydmljZSx0aGlzLnRleHRhcmVhLGUub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldz8/d2luZG93LHRoaXMuX2RvY3VtZW50Pz9cInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93P3dpbmRvdy5kb2N1bWVudDpudWxsKSksdGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2Uuc2V0U2VydmljZShTLklDb3JlQnJvd3NlclNlcnZpY2UsdGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlKSx0aGlzLnJlZ2lzdGVyKCgwLHIuYWRkRGlzcG9zYWJsZURvbUxpc3RlbmVyKSh0aGlzLnRleHRhcmVhLFwiZm9jdXNcIiwoZT0+dGhpcy5faGFuZGxlVGV4dEFyZWFGb2N1cyhlKSkpKSx0aGlzLnJlZ2lzdGVyKCgwLHIuYWRkRGlzcG9zYWJsZURvbUxpc3RlbmVyKSh0aGlzLnRleHRhcmVhLFwiYmx1clwiLCgoKT0+dGhpcy5faGFuZGxlVGV4dEFyZWFCbHVyKCkpKSksdGhpcy5faGVscGVyQ29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMudGV4dGFyZWEpLHRoaXMuX2NoYXJTaXplU2VydmljZT10aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5jcmVhdGVJbnN0YW5jZSh1LkNoYXJTaXplU2VydmljZSx0aGlzLl9kb2N1bWVudCx0aGlzLl9oZWxwZXJDb250YWluZXIpLHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLnNldFNlcnZpY2UoUy5JQ2hhclNpemVTZXJ2aWNlLHRoaXMuX2NoYXJTaXplU2VydmljZSksdGhpcy5fdGhlbWVTZXJ2aWNlPXRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLmNyZWF0ZUluc3RhbmNlKEMuVGhlbWVTZXJ2aWNlKSx0aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5zZXRTZXJ2aWNlKFMuSVRoZW1lU2VydmljZSx0aGlzLl90aGVtZVNlcnZpY2UpLHRoaXMuX2NoYXJhY3RlckpvaW5lclNlcnZpY2U9dGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2UuY3JlYXRlSW5zdGFuY2UoZi5DaGFyYWN0ZXJKb2luZXJTZXJ2aWNlKSx0aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5zZXRTZXJ2aWNlKFMuSUNoYXJhY3RlckpvaW5lclNlcnZpY2UsdGhpcy5fY2hhcmFjdGVySm9pbmVyU2VydmljZSksdGhpcy5fcmVuZGVyU2VydmljZT10aGlzLnJlZ2lzdGVyKHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLmNyZWF0ZUluc3RhbmNlKGcuUmVuZGVyU2VydmljZSx0aGlzLnJvd3MsdGhpcy5zY3JlZW5FbGVtZW50KSksdGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2Uuc2V0U2VydmljZShTLklSZW5kZXJTZXJ2aWNlLHRoaXMuX3JlbmRlclNlcnZpY2UpLHRoaXMucmVnaXN0ZXIodGhpcy5fcmVuZGVyU2VydmljZS5vblJlbmRlcmVkVmlld3BvcnRDaGFuZ2UoKGU9PnRoaXMuX29uUmVuZGVyLmZpcmUoZSkpKSksdGhpcy5vblJlc2l6ZSgoZT0+dGhpcy5fcmVuZGVyU2VydmljZS5yZXNpemUoZS5jb2xzLGUucm93cykpKSx0aGlzLl9jb21wb3NpdGlvblZpZXc9dGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSx0aGlzLl9jb21wb3NpdGlvblZpZXcuY2xhc3NMaXN0LmFkZChcImNvbXBvc2l0aW9uLXZpZXdcIiksdGhpcy5fY29tcG9zaXRpb25IZWxwZXI9dGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2UuY3JlYXRlSW5zdGFuY2UoZC5Db21wb3NpdGlvbkhlbHBlcix0aGlzLnRleHRhcmVhLHRoaXMuX2NvbXBvc2l0aW9uVmlldyksdGhpcy5faGVscGVyQ29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuX2NvbXBvc2l0aW9uVmlldyksdGhpcy5fbW91c2VTZXJ2aWNlPXRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLmNyZWF0ZUluc3RhbmNlKHAuTW91c2VTZXJ2aWNlKSx0aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5zZXRTZXJ2aWNlKFMuSU1vdXNlU2VydmljZSx0aGlzLl9tb3VzZVNlcnZpY2UpLHRoaXMubGlua2lmaWVyPXRoaXMucmVnaXN0ZXIodGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2UuY3JlYXRlSW5zdGFuY2Uobi5MaW5raWZpZXIsdGhpcy5zY3JlZW5FbGVtZW50KSksdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHQpO3RyeXt0aGlzLl9vbldpbGxPcGVuLmZpcmUodGhpcy5lbGVtZW50KX1jYXRjaHt9dGhpcy5fcmVuZGVyU2VydmljZS5oYXNSZW5kZXJlcigpfHx0aGlzLl9yZW5kZXJTZXJ2aWNlLnNldFJlbmRlcmVyKHRoaXMuX2NyZWF0ZVJlbmRlcmVyKCkpLHRoaXMudmlld3BvcnQ9dGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2UuY3JlYXRlSW5zdGFuY2UoaC5WaWV3cG9ydCx0aGlzLl92aWV3cG9ydEVsZW1lbnQsdGhpcy5fdmlld3BvcnRTY3JvbGxBcmVhKSx0aGlzLnZpZXdwb3J0Lm9uUmVxdWVzdFNjcm9sbExpbmVzKChlPT50aGlzLnNjcm9sbExpbmVzKGUuYW1vdW50LGUuc3VwcHJlc3NTY3JvbGxFdmVudCwxKSkpLHRoaXMucmVnaXN0ZXIodGhpcy5faW5wdXRIYW5kbGVyLm9uUmVxdWVzdFN5bmNTY3JvbGxCYXIoKCgpPT50aGlzLnZpZXdwb3J0LnN5bmNTY3JvbGxBcmVhKCkpKSksdGhpcy5yZWdpc3Rlcih0aGlzLnZpZXdwb3J0KSx0aGlzLnJlZ2lzdGVyKHRoaXMub25DdXJzb3JNb3ZlKCgoKT0+e3RoaXMuX3JlbmRlclNlcnZpY2UuaGFuZGxlQ3Vyc29yTW92ZSgpLHRoaXMuX3N5bmNUZXh0QXJlYSgpfSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMub25SZXNpemUoKCgpPT50aGlzLl9yZW5kZXJTZXJ2aWNlLmhhbmRsZVJlc2l6ZSh0aGlzLmNvbHMsdGhpcy5yb3dzKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMub25CbHVyKCgoKT0+dGhpcy5fcmVuZGVyU2VydmljZS5oYW5kbGVCbHVyKCkpKSksdGhpcy5yZWdpc3Rlcih0aGlzLm9uRm9jdXMoKCgpPT50aGlzLl9yZW5kZXJTZXJ2aWNlLmhhbmRsZUZvY3VzKCkpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9yZW5kZXJTZXJ2aWNlLm9uRGltZW5zaW9uc0NoYW5nZSgoKCk9PnRoaXMudmlld3BvcnQuc3luY1Njcm9sbEFyZWEoKSkpKSx0aGlzLl9zZWxlY3Rpb25TZXJ2aWNlPXRoaXMucmVnaXN0ZXIodGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2UuY3JlYXRlSW5zdGFuY2UobS5TZWxlY3Rpb25TZXJ2aWNlLHRoaXMuZWxlbWVudCx0aGlzLnNjcmVlbkVsZW1lbnQsdGhpcy5saW5raWZpZXIpKSx0aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5zZXRTZXJ2aWNlKFMuSVNlbGVjdGlvblNlcnZpY2UsdGhpcy5fc2VsZWN0aW9uU2VydmljZSksdGhpcy5yZWdpc3Rlcih0aGlzLl9zZWxlY3Rpb25TZXJ2aWNlLm9uUmVxdWVzdFNjcm9sbExpbmVzKChlPT50aGlzLnNjcm9sbExpbmVzKGUuYW1vdW50LGUuc3VwcHJlc3NTY3JvbGxFdmVudCkpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9zZWxlY3Rpb25TZXJ2aWNlLm9uU2VsZWN0aW9uQ2hhbmdlKCgoKT0+dGhpcy5fb25TZWxlY3Rpb25DaGFuZ2UuZmlyZSgpKSkpLHRoaXMucmVnaXN0ZXIodGhpcy5fc2VsZWN0aW9uU2VydmljZS5vblJlcXVlc3RSZWRyYXcoKGU9PnRoaXMuX3JlbmRlclNlcnZpY2UuaGFuZGxlU2VsZWN0aW9uQ2hhbmdlZChlLnN0YXJ0LGUuZW5kLGUuY29sdW1uU2VsZWN0TW9kZSkpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9zZWxlY3Rpb25TZXJ2aWNlLm9uTGludXhNb3VzZVNlbGVjdGlvbigoZT0+e3RoaXMudGV4dGFyZWEudmFsdWU9ZSx0aGlzLnRleHRhcmVhLmZvY3VzKCksdGhpcy50ZXh0YXJlYS5zZWxlY3QoKX0pKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9vblNjcm9sbC5ldmVudCgoZT0+e3RoaXMudmlld3BvcnQuc3luY1Njcm9sbEFyZWEoKSx0aGlzLl9zZWxlY3Rpb25TZXJ2aWNlLnJlZnJlc2goKX0pKSksdGhpcy5yZWdpc3RlcigoMCxyLmFkZERpc3Bvc2FibGVEb21MaXN0ZW5lcikodGhpcy5fdmlld3BvcnRFbGVtZW50LFwic2Nyb2xsXCIsKCgpPT50aGlzLl9zZWxlY3Rpb25TZXJ2aWNlLnJlZnJlc2goKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLmNyZWF0ZUluc3RhbmNlKGMuQnVmZmVyRGVjb3JhdGlvblJlbmRlcmVyLHRoaXMuc2NyZWVuRWxlbWVudCkpLHRoaXMucmVnaXN0ZXIoKDAsci5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXIpKHRoaXMuZWxlbWVudCxcIm1vdXNlZG93blwiLChlPT50aGlzLl9zZWxlY3Rpb25TZXJ2aWNlLmhhbmRsZU1vdXNlRG93bihlKSkpKSx0aGlzLmNvcmVNb3VzZVNlcnZpY2UuYXJlTW91c2VFdmVudHNBY3RpdmU/KHRoaXMuX3NlbGVjdGlvblNlcnZpY2UuZGlzYWJsZSgpLHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKFwiZW5hYmxlLW1vdXNlLWV2ZW50c1wiKSk6dGhpcy5fc2VsZWN0aW9uU2VydmljZS5lbmFibGUoKSx0aGlzLm9wdGlvbnMuc2NyZWVuUmVhZGVyTW9kZSYmKHRoaXMuX2FjY2Vzc2liaWxpdHlNYW5hZ2VyLnZhbHVlPXRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLmNyZWF0ZUluc3RhbmNlKE0uQWNjZXNzaWJpbGl0eU1hbmFnZXIsdGhpcykpLHRoaXMucmVnaXN0ZXIodGhpcy5vcHRpb25zU2VydmljZS5vblNwZWNpZmljT3B0aW9uQ2hhbmdlKFwic2NyZWVuUmVhZGVyTW9kZVwiLChlPT50aGlzLl9oYW5kbGVTY3JlZW5SZWFkZXJNb2RlT3B0aW9uQ2hhbmdlKGUpKSkpLHRoaXMub3B0aW9ucy5vdmVydmlld1J1bGVyV2lkdGgmJih0aGlzLl9vdmVydmlld1J1bGVyUmVuZGVyZXI9dGhpcy5yZWdpc3Rlcih0aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5jcmVhdGVJbnN0YW5jZShsLk92ZXJ2aWV3UnVsZXJSZW5kZXJlcix0aGlzLl92aWV3cG9ydEVsZW1lbnQsdGhpcy5zY3JlZW5FbGVtZW50KSkpLHRoaXMub3B0aW9uc1NlcnZpY2Uub25TcGVjaWZpY09wdGlvbkNoYW5nZShcIm92ZXJ2aWV3UnVsZXJXaWR0aFwiLChlPT57IXRoaXMuX292ZXJ2aWV3UnVsZXJSZW5kZXJlciYmZSYmdGhpcy5fdmlld3BvcnRFbGVtZW50JiZ0aGlzLnNjcmVlbkVsZW1lbnQmJih0aGlzLl9vdmVydmlld1J1bGVyUmVuZGVyZXI9dGhpcy5yZWdpc3Rlcih0aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5jcmVhdGVJbnN0YW5jZShsLk92ZXJ2aWV3UnVsZXJSZW5kZXJlcix0aGlzLl92aWV3cG9ydEVsZW1lbnQsdGhpcy5zY3JlZW5FbGVtZW50KSkpfSkpLHRoaXMuX2NoYXJTaXplU2VydmljZS5tZWFzdXJlKCksdGhpcy5yZWZyZXNoKDAsdGhpcy5yb3dzLTEpLHRoaXMuX2luaXRHbG9iYWwoKSx0aGlzLmJpbmRNb3VzZSgpfV9jcmVhdGVSZW5kZXJlcigpe3JldHVybiB0aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5jcmVhdGVJbnN0YW5jZShfLkRvbVJlbmRlcmVyLHRoaXMsdGhpcy5fZG9jdW1lbnQsdGhpcy5lbGVtZW50LHRoaXMuc2NyZWVuRWxlbWVudCx0aGlzLl92aWV3cG9ydEVsZW1lbnQsdGhpcy5faGVscGVyQ29udGFpbmVyLHRoaXMubGlua2lmaWVyKX1iaW5kTW91c2UoKXtjb25zdCBlPXRoaXMsdD10aGlzLmVsZW1lbnQ7ZnVuY3Rpb24gaSh0KXtjb25zdCBpPWUuX21vdXNlU2VydmljZS5nZXRNb3VzZVJlcG9ydENvb3Jkcyh0LGUuc2NyZWVuRWxlbWVudCk7aWYoIWkpcmV0dXJuITE7bGV0IHMscjtzd2l0Y2godC5vdmVycmlkZVR5cGV8fHQudHlwZSl7Y2FzZVwibW91c2Vtb3ZlXCI6cj0zMix2b2lkIDA9PT10LmJ1dHRvbnM/KHM9Myx2b2lkIDAhPT10LmJ1dHRvbiYmKHM9dC5idXR0b248Mz90LmJ1dHRvbjozKSk6cz0xJnQuYnV0dG9ucz8wOjQmdC5idXR0b25zPzE6MiZ0LmJ1dHRvbnM/MjozO2JyZWFrO2Nhc2VcIm1vdXNldXBcIjpyPTAscz10LmJ1dHRvbjwzP3QuYnV0dG9uOjM7YnJlYWs7Y2FzZVwibW91c2Vkb3duXCI6cj0xLHM9dC5idXR0b248Mz90LmJ1dHRvbjozO2JyZWFrO2Nhc2VcIndoZWVsXCI6aWYoZS5fY3VzdG9tV2hlZWxFdmVudEhhbmRsZXImJiExPT09ZS5fY3VzdG9tV2hlZWxFdmVudEhhbmRsZXIodCkpcmV0dXJuITE7aWYoMD09PWUudmlld3BvcnQuZ2V0TGluZXNTY3JvbGxlZCh0KSlyZXR1cm4hMTtyPXQuZGVsdGFZPDA/MDoxLHM9NDticmVhaztkZWZhdWx0OnJldHVybiExfXJldHVybiEodm9pZCAwPT09cnx8dm9pZCAwPT09c3x8cz40KSYmZS5jb3JlTW91c2VTZXJ2aWNlLnRyaWdnZXJNb3VzZUV2ZW50KHtjb2w6aS5jb2wscm93Omkucm93LHg6aS54LHk6aS55LGJ1dHRvbjpzLGFjdGlvbjpyLGN0cmw6dC5jdHJsS2V5LGFsdDp0LmFsdEtleSxzaGlmdDp0LnNoaWZ0S2V5fSl9Y29uc3Qgcz17bW91c2V1cDpudWxsLHdoZWVsOm51bGwsbW91c2VkcmFnOm51bGwsbW91c2Vtb3ZlOm51bGx9LG49e21vdXNldXA6ZT0+KGkoZSksZS5idXR0b25zfHwodGhpcy5fZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNldXBcIixzLm1vdXNldXApLHMubW91c2VkcmFnJiZ0aGlzLl9kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2Vtb3ZlXCIscy5tb3VzZWRyYWcpKSx0aGlzLmNhbmNlbChlKSksd2hlZWw6ZT0+KGkoZSksdGhpcy5jYW5jZWwoZSwhMCkpLG1vdXNlZHJhZzplPT57ZS5idXR0b25zJiZpKGUpfSxtb3VzZW1vdmU6ZT0+e2UuYnV0dG9uc3x8aShlKX19O3RoaXMucmVnaXN0ZXIodGhpcy5jb3JlTW91c2VTZXJ2aWNlLm9uUHJvdG9jb2xDaGFuZ2UoKGU9PntlPyhcImRlYnVnXCI9PT10aGlzLm9wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMubG9nTGV2ZWwmJnRoaXMuX2xvZ1NlcnZpY2UuZGVidWcoXCJCaW5kaW5nIHRvIG1vdXNlIGV2ZW50czpcIix0aGlzLmNvcmVNb3VzZVNlcnZpY2UuZXhwbGFpbkV2ZW50cyhlKSksdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJlbmFibGUtbW91c2UtZXZlbnRzXCIpLHRoaXMuX3NlbGVjdGlvblNlcnZpY2UuZGlzYWJsZSgpKToodGhpcy5fbG9nU2VydmljZS5kZWJ1ZyhcIlVuYmluZGluZyBmcm9tIG1vdXNlIGV2ZW50cy5cIiksdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJlbmFibGUtbW91c2UtZXZlbnRzXCIpLHRoaXMuX3NlbGVjdGlvblNlcnZpY2UuZW5hYmxlKCkpLDgmZT9zLm1vdXNlbW92ZXx8KHQuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLG4ubW91c2Vtb3ZlKSxzLm1vdXNlbW92ZT1uLm1vdXNlbW92ZSk6KHQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLHMubW91c2Vtb3ZlKSxzLm1vdXNlbW92ZT1udWxsKSwxNiZlP3Mud2hlZWx8fCh0LmFkZEV2ZW50TGlzdGVuZXIoXCJ3aGVlbFwiLG4ud2hlZWwse3Bhc3NpdmU6ITF9KSxzLndoZWVsPW4ud2hlZWwpOih0LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ3aGVlbFwiLHMud2hlZWwpLHMud2hlZWw9bnVsbCksMiZlP3MubW91c2V1cHx8KHMubW91c2V1cD1uLm1vdXNldXApOih0aGlzLl9kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2V1cFwiLHMubW91c2V1cCkscy5tb3VzZXVwPW51bGwpLDQmZT9zLm1vdXNlZHJhZ3x8KHMubW91c2VkcmFnPW4ubW91c2VkcmFnKToodGhpcy5fZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLHMubW91c2VkcmFnKSxzLm1vdXNlZHJhZz1udWxsKX0pKSksdGhpcy5jb3JlTW91c2VTZXJ2aWNlLmFjdGl2ZVByb3RvY29sPXRoaXMuY29yZU1vdXNlU2VydmljZS5hY3RpdmVQcm90b2NvbCx0aGlzLnJlZ2lzdGVyKCgwLHIuYWRkRGlzcG9zYWJsZURvbUxpc3RlbmVyKSh0LFwibW91c2Vkb3duXCIsKGU9PntpZihlLnByZXZlbnREZWZhdWx0KCksdGhpcy5mb2N1cygpLHRoaXMuY29yZU1vdXNlU2VydmljZS5hcmVNb3VzZUV2ZW50c0FjdGl2ZSYmIXRoaXMuX3NlbGVjdGlvblNlcnZpY2Uuc2hvdWxkRm9yY2VTZWxlY3Rpb24oZSkpcmV0dXJuIGkoZSkscy5tb3VzZXVwJiZ0aGlzLl9kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwibW91c2V1cFwiLHMubW91c2V1cCkscy5tb3VzZWRyYWcmJnRoaXMuX2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIixzLm1vdXNlZHJhZyksdGhpcy5jYW5jZWwoZSl9KSkpLHRoaXMucmVnaXN0ZXIoKDAsci5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXIpKHQsXCJ3aGVlbFwiLChlPT57aWYoIXMud2hlZWwpe2lmKHRoaXMuX2N1c3RvbVdoZWVsRXZlbnRIYW5kbGVyJiYhMT09PXRoaXMuX2N1c3RvbVdoZWVsRXZlbnRIYW5kbGVyKGUpKXJldHVybiExO2lmKCF0aGlzLmJ1ZmZlci5oYXNTY3JvbGxiYWNrKXtjb25zdCB0PXRoaXMudmlld3BvcnQuZ2V0TGluZXNTY3JvbGxlZChlKTtpZigwPT09dClyZXR1cm47Y29uc3QgaT1ELkMwLkVTQysodGhpcy5jb3JlU2VydmljZS5kZWNQcml2YXRlTW9kZXMuYXBwbGljYXRpb25DdXJzb3JLZXlzP1wiT1wiOlwiW1wiKSsoZS5kZWx0YVk8MD9cIkFcIjpcIkJcIik7bGV0IHM9XCJcIjtmb3IobGV0IGU9MDtlPE1hdGguYWJzKHQpO2UrKylzKz1pO3JldHVybiB0aGlzLmNvcmVTZXJ2aWNlLnRyaWdnZXJEYXRhRXZlbnQocywhMCksdGhpcy5jYW5jZWwoZSwhMCl9cmV0dXJuIHRoaXMudmlld3BvcnQuaGFuZGxlV2hlZWwoZSk/dGhpcy5jYW5jZWwoZSk6dm9pZCAwfX0pLHtwYXNzaXZlOiExfSkpLHRoaXMucmVnaXN0ZXIoKDAsci5hZGREaXNwb3NhYmxlRG9tTGlzdGVuZXIpKHQsXCJ0b3VjaHN0YXJ0XCIsKGU9PntpZighdGhpcy5jb3JlTW91c2VTZXJ2aWNlLmFyZU1vdXNlRXZlbnRzQWN0aXZlKXJldHVybiB0aGlzLnZpZXdwb3J0LmhhbmRsZVRvdWNoU3RhcnQoZSksdGhpcy5jYW5jZWwoZSl9KSx7cGFzc2l2ZTohMH0pKSx0aGlzLnJlZ2lzdGVyKCgwLHIuYWRkRGlzcG9zYWJsZURvbUxpc3RlbmVyKSh0LFwidG91Y2htb3ZlXCIsKGU9PntpZighdGhpcy5jb3JlTW91c2VTZXJ2aWNlLmFyZU1vdXNlRXZlbnRzQWN0aXZlKXJldHVybiB0aGlzLnZpZXdwb3J0LmhhbmRsZVRvdWNoTW92ZShlKT92b2lkIDA6dGhpcy5jYW5jZWwoZSl9KSx7cGFzc2l2ZTohMX0pKX1yZWZyZXNoKGUsdCl7dGhpcy5fcmVuZGVyU2VydmljZT8ucmVmcmVzaFJvd3MoZSx0KX11cGRhdGVDdXJzb3JTdHlsZShlKXt0aGlzLl9zZWxlY3Rpb25TZXJ2aWNlPy5zaG91bGRDb2x1bW5TZWxlY3QoZSk/dGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJjb2x1bW4tc2VsZWN0XCIpOnRoaXMuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwiY29sdW1uLXNlbGVjdFwiKX1fc2hvd0N1cnNvcigpe3RoaXMuY29yZVNlcnZpY2UuaXNDdXJzb3JJbml0aWFsaXplZHx8KHRoaXMuY29yZVNlcnZpY2UuaXNDdXJzb3JJbml0aWFsaXplZD0hMCx0aGlzLnJlZnJlc2godGhpcy5idWZmZXIueSx0aGlzLmJ1ZmZlci55KSl9c2Nyb2xsTGluZXMoZSx0LGk9MCl7MT09PWk/KHN1cGVyLnNjcm9sbExpbmVzKGUsdCxpKSx0aGlzLnJlZnJlc2goMCx0aGlzLnJvd3MtMSkpOnRoaXMudmlld3BvcnQ/LnNjcm9sbExpbmVzKGUpfXBhc3RlKGUpeygwLHMucGFzdGUpKGUsdGhpcy50ZXh0YXJlYSx0aGlzLmNvcmVTZXJ2aWNlLHRoaXMub3B0aW9uc1NlcnZpY2UpfWF0dGFjaEN1c3RvbUtleUV2ZW50SGFuZGxlcihlKXt0aGlzLl9jdXN0b21LZXlFdmVudEhhbmRsZXI9ZX1hdHRhY2hDdXN0b21XaGVlbEV2ZW50SGFuZGxlcihlKXt0aGlzLl9jdXN0b21XaGVlbEV2ZW50SGFuZGxlcj1lfXJlZ2lzdGVyTGlua1Byb3ZpZGVyKGUpe3JldHVybiB0aGlzLl9saW5rUHJvdmlkZXJTZXJ2aWNlLnJlZ2lzdGVyTGlua1Byb3ZpZGVyKGUpfXJlZ2lzdGVyQ2hhcmFjdGVySm9pbmVyKGUpe2lmKCF0aGlzLl9jaGFyYWN0ZXJKb2luZXJTZXJ2aWNlKXRocm93IG5ldyBFcnJvcihcIlRlcm1pbmFsIG11c3QgYmUgb3BlbmVkIGZpcnN0XCIpO2NvbnN0IHQ9dGhpcy5fY2hhcmFjdGVySm9pbmVyU2VydmljZS5yZWdpc3RlcihlKTtyZXR1cm4gdGhpcy5yZWZyZXNoKDAsdGhpcy5yb3dzLTEpLHR9ZGVyZWdpc3RlckNoYXJhY3RlckpvaW5lcihlKXtpZighdGhpcy5fY2hhcmFjdGVySm9pbmVyU2VydmljZSl0aHJvdyBuZXcgRXJyb3IoXCJUZXJtaW5hbCBtdXN0IGJlIG9wZW5lZCBmaXJzdFwiKTt0aGlzLl9jaGFyYWN0ZXJKb2luZXJTZXJ2aWNlLmRlcmVnaXN0ZXIoZSkmJnRoaXMucmVmcmVzaCgwLHRoaXMucm93cy0xKX1nZXQgbWFya2Vycygpe3JldHVybiB0aGlzLmJ1ZmZlci5tYXJrZXJzfXJlZ2lzdGVyTWFya2VyKGUpe3JldHVybiB0aGlzLmJ1ZmZlci5hZGRNYXJrZXIodGhpcy5idWZmZXIueWJhc2UrdGhpcy5idWZmZXIueStlKX1yZWdpc3RlckRlY29yYXRpb24oZSl7cmV0dXJuIHRoaXMuX2RlY29yYXRpb25TZXJ2aWNlLnJlZ2lzdGVyRGVjb3JhdGlvbihlKX1oYXNTZWxlY3Rpb24oKXtyZXR1cm4hIXRoaXMuX3NlbGVjdGlvblNlcnZpY2UmJnRoaXMuX3NlbGVjdGlvblNlcnZpY2UuaGFzU2VsZWN0aW9ufXNlbGVjdChlLHQsaSl7dGhpcy5fc2VsZWN0aW9uU2VydmljZS5zZXRTZWxlY3Rpb24oZSx0LGkpfWdldFNlbGVjdGlvbigpe3JldHVybiB0aGlzLl9zZWxlY3Rpb25TZXJ2aWNlP3RoaXMuX3NlbGVjdGlvblNlcnZpY2Uuc2VsZWN0aW9uVGV4dDpcIlwifWdldFNlbGVjdGlvblBvc2l0aW9uKCl7aWYodGhpcy5fc2VsZWN0aW9uU2VydmljZSYmdGhpcy5fc2VsZWN0aW9uU2VydmljZS5oYXNTZWxlY3Rpb24pcmV0dXJue3N0YXJ0Ont4OnRoaXMuX3NlbGVjdGlvblNlcnZpY2Uuc2VsZWN0aW9uU3RhcnRbMF0seTp0aGlzLl9zZWxlY3Rpb25TZXJ2aWNlLnNlbGVjdGlvblN0YXJ0WzFdfSxlbmQ6e3g6dGhpcy5fc2VsZWN0aW9uU2VydmljZS5zZWxlY3Rpb25FbmRbMF0seTp0aGlzLl9zZWxlY3Rpb25TZXJ2aWNlLnNlbGVjdGlvbkVuZFsxXX19fWNsZWFyU2VsZWN0aW9uKCl7dGhpcy5fc2VsZWN0aW9uU2VydmljZT8uY2xlYXJTZWxlY3Rpb24oKX1zZWxlY3RBbGwoKXt0aGlzLl9zZWxlY3Rpb25TZXJ2aWNlPy5zZWxlY3RBbGwoKX1zZWxlY3RMaW5lcyhlLHQpe3RoaXMuX3NlbGVjdGlvblNlcnZpY2U/LnNlbGVjdExpbmVzKGUsdCl9X2tleURvd24oZSl7aWYodGhpcy5fa2V5RG93bkhhbmRsZWQ9ITEsdGhpcy5fa2V5RG93blNlZW49ITAsdGhpcy5fY3VzdG9tS2V5RXZlbnRIYW5kbGVyJiYhMT09PXRoaXMuX2N1c3RvbUtleUV2ZW50SGFuZGxlcihlKSlyZXR1cm4hMTtjb25zdCB0PXRoaXMuYnJvd3Nlci5pc01hYyYmdGhpcy5vcHRpb25zLm1hY09wdGlvbklzTWV0YSYmZS5hbHRLZXk7aWYoIXQmJiF0aGlzLl9jb21wb3NpdGlvbkhlbHBlci5rZXlkb3duKGUpKXJldHVybiB0aGlzLm9wdGlvbnMuc2Nyb2xsT25Vc2VySW5wdXQmJnRoaXMuYnVmZmVyLnliYXNlIT09dGhpcy5idWZmZXIueWRpc3AmJnRoaXMuc2Nyb2xsVG9Cb3R0b20oKSwhMTt0fHxcIkRlYWRcIiE9PWUua2V5JiZcIkFsdEdyYXBoXCIhPT1lLmtleXx8KHRoaXMuX3VucHJvY2Vzc2VkRGVhZEtleT0hMCk7Y29uc3QgaT0oMCxSLmV2YWx1YXRlS2V5Ym9hcmRFdmVudCkoZSx0aGlzLmNvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcy5hcHBsaWNhdGlvbkN1cnNvcktleXMsdGhpcy5icm93c2VyLmlzTWFjLHRoaXMub3B0aW9ucy5tYWNPcHRpb25Jc01ldGEpO2lmKHRoaXMudXBkYXRlQ3Vyc29yU3R5bGUoZSksMz09PWkudHlwZXx8Mj09PWkudHlwZSl7Y29uc3QgdD10aGlzLnJvd3MtMTtyZXR1cm4gdGhpcy5zY3JvbGxMaW5lcygyPT09aS50eXBlPy10OnQpLHRoaXMuY2FuY2VsKGUsITApfXJldHVybiAxPT09aS50eXBlJiZ0aGlzLnNlbGVjdEFsbCgpLCEhdGhpcy5faXNUaGlyZExldmVsU2hpZnQodGhpcy5icm93c2VyLGUpfHwoaS5jYW5jZWwmJnRoaXMuY2FuY2VsKGUsITApLCFpLmtleXx8ISEoZS5rZXkmJiFlLmN0cmxLZXkmJiFlLmFsdEtleSYmIWUubWV0YUtleSYmMT09PWUua2V5Lmxlbmd0aCYmZS5rZXkuY2hhckNvZGVBdCgwKT49NjUmJmUua2V5LmNoYXJDb2RlQXQoMCk8PTkwKXx8KHRoaXMuX3VucHJvY2Vzc2VkRGVhZEtleT8odGhpcy5fdW5wcm9jZXNzZWREZWFkS2V5PSExLCEwKTooaS5rZXkhPT1ELkMwLkVUWCYmaS5rZXkhPT1ELkMwLkNSfHwodGhpcy50ZXh0YXJlYS52YWx1ZT1cIlwiKSx0aGlzLl9vbktleS5maXJlKHtrZXk6aS5rZXksZG9tRXZlbnQ6ZX0pLHRoaXMuX3Nob3dDdXJzb3IoKSx0aGlzLmNvcmVTZXJ2aWNlLnRyaWdnZXJEYXRhRXZlbnQoaS5rZXksITApLCF0aGlzLm9wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuc2NyZWVuUmVhZGVyTW9kZXx8ZS5hbHRLZXl8fGUuY3RybEtleT90aGlzLmNhbmNlbChlLCEwKTp2b2lkKHRoaXMuX2tleURvd25IYW5kbGVkPSEwKSkpKX1faXNUaGlyZExldmVsU2hpZnQoZSx0KXtjb25zdCBpPWUuaXNNYWMmJiF0aGlzLm9wdGlvbnMubWFjT3B0aW9uSXNNZXRhJiZ0LmFsdEtleSYmIXQuY3RybEtleSYmIXQubWV0YUtleXx8ZS5pc1dpbmRvd3MmJnQuYWx0S2V5JiZ0LmN0cmxLZXkmJiF0Lm1ldGFLZXl8fGUuaXNXaW5kb3dzJiZ0LmdldE1vZGlmaWVyU3RhdGUoXCJBbHRHcmFwaFwiKTtyZXR1cm5cImtleXByZXNzXCI9PT10LnR5cGU/aTppJiYoIXQua2V5Q29kZXx8dC5rZXlDb2RlPjQ3KX1fa2V5VXAoZSl7dGhpcy5fa2V5RG93blNlZW49ITEsdGhpcy5fY3VzdG9tS2V5RXZlbnRIYW5kbGVyJiYhMT09PXRoaXMuX2N1c3RvbUtleUV2ZW50SGFuZGxlcihlKXx8KGZ1bmN0aW9uKGUpe3JldHVybiAxNj09PWUua2V5Q29kZXx8MTc9PT1lLmtleUNvZGV8fDE4PT09ZS5rZXlDb2RlfShlKXx8dGhpcy5mb2N1cygpLHRoaXMudXBkYXRlQ3Vyc29yU3R5bGUoZSksdGhpcy5fa2V5UHJlc3NIYW5kbGVkPSExKX1fa2V5UHJlc3MoZSl7bGV0IHQ7aWYodGhpcy5fa2V5UHJlc3NIYW5kbGVkPSExLHRoaXMuX2tleURvd25IYW5kbGVkKXJldHVybiExO2lmKHRoaXMuX2N1c3RvbUtleUV2ZW50SGFuZGxlciYmITE9PT10aGlzLl9jdXN0b21LZXlFdmVudEhhbmRsZXIoZSkpcmV0dXJuITE7aWYodGhpcy5jYW5jZWwoZSksZS5jaGFyQ29kZSl0PWUuY2hhckNvZGU7ZWxzZSBpZihudWxsPT09ZS53aGljaHx8dm9pZCAwPT09ZS53aGljaCl0PWUua2V5Q29kZTtlbHNle2lmKDA9PT1lLndoaWNofHwwPT09ZS5jaGFyQ29kZSlyZXR1cm4hMTt0PWUud2hpY2h9cmV0dXJuISghdHx8KGUuYWx0S2V5fHxlLmN0cmxLZXl8fGUubWV0YUtleSkmJiF0aGlzLl9pc1RoaXJkTGV2ZWxTaGlmdCh0aGlzLmJyb3dzZXIsZSl8fCh0PVN0cmluZy5mcm9tQ2hhckNvZGUodCksdGhpcy5fb25LZXkuZmlyZSh7a2V5OnQsZG9tRXZlbnQ6ZX0pLHRoaXMuX3Nob3dDdXJzb3IoKSx0aGlzLmNvcmVTZXJ2aWNlLnRyaWdnZXJEYXRhRXZlbnQodCwhMCksdGhpcy5fa2V5UHJlc3NIYW5kbGVkPSEwLHRoaXMuX3VucHJvY2Vzc2VkRGVhZEtleT0hMSwwKSl9X2lucHV0RXZlbnQoZSl7aWYoZS5kYXRhJiZcImluc2VydFRleHRcIj09PWUuaW5wdXRUeXBlJiYoIWUuY29tcG9zZWR8fCF0aGlzLl9rZXlEb3duU2VlbikmJiF0aGlzLm9wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuc2NyZWVuUmVhZGVyTW9kZSl7aWYodGhpcy5fa2V5UHJlc3NIYW5kbGVkKXJldHVybiExO3RoaXMuX3VucHJvY2Vzc2VkRGVhZEtleT0hMTtjb25zdCB0PWUuZGF0YTtyZXR1cm4gdGhpcy5jb3JlU2VydmljZS50cmlnZ2VyRGF0YUV2ZW50KHQsITApLHRoaXMuY2FuY2VsKGUpLCEwfXJldHVybiExfXJlc2l6ZShlLHQpe2UhPT10aGlzLmNvbHN8fHQhPT10aGlzLnJvd3M/c3VwZXIucmVzaXplKGUsdCk6dGhpcy5fY2hhclNpemVTZXJ2aWNlJiYhdGhpcy5fY2hhclNpemVTZXJ2aWNlLmhhc1ZhbGlkU2l6ZSYmdGhpcy5fY2hhclNpemVTZXJ2aWNlLm1lYXN1cmUoKX1fYWZ0ZXJSZXNpemUoZSx0KXt0aGlzLl9jaGFyU2l6ZVNlcnZpY2U/Lm1lYXN1cmUoKSx0aGlzLnZpZXdwb3J0Py5zeW5jU2Nyb2xsQXJlYSghMCl9Y2xlYXIoKXtpZigwIT09dGhpcy5idWZmZXIueWJhc2V8fDAhPT10aGlzLmJ1ZmZlci55KXt0aGlzLmJ1ZmZlci5jbGVhckFsbE1hcmtlcnMoKSx0aGlzLmJ1ZmZlci5saW5lcy5zZXQoMCx0aGlzLmJ1ZmZlci5saW5lcy5nZXQodGhpcy5idWZmZXIueWJhc2UrdGhpcy5idWZmZXIueSkpLHRoaXMuYnVmZmVyLmxpbmVzLmxlbmd0aD0xLHRoaXMuYnVmZmVyLnlkaXNwPTAsdGhpcy5idWZmZXIueWJhc2U9MCx0aGlzLmJ1ZmZlci55PTA7Zm9yKGxldCBlPTE7ZTx0aGlzLnJvd3M7ZSsrKXRoaXMuYnVmZmVyLmxpbmVzLnB1c2godGhpcy5idWZmZXIuZ2V0QmxhbmtMaW5lKEwuREVGQVVMVF9BVFRSX0RBVEEpKTt0aGlzLl9vblNjcm9sbC5maXJlKHtwb3NpdGlvbjp0aGlzLmJ1ZmZlci55ZGlzcCxzb3VyY2U6MH0pLHRoaXMudmlld3BvcnQ/LnJlc2V0KCksdGhpcy5yZWZyZXNoKDAsdGhpcy5yb3dzLTEpfX1yZXNldCgpe3RoaXMub3B0aW9ucy5yb3dzPXRoaXMucm93cyx0aGlzLm9wdGlvbnMuY29scz10aGlzLmNvbHM7Y29uc3QgZT10aGlzLl9jdXN0b21LZXlFdmVudEhhbmRsZXI7dGhpcy5fc2V0dXAoKSxzdXBlci5yZXNldCgpLHRoaXMuX3NlbGVjdGlvblNlcnZpY2U/LnJlc2V0KCksdGhpcy5fZGVjb3JhdGlvblNlcnZpY2UucmVzZXQoKSx0aGlzLnZpZXdwb3J0Py5yZXNldCgpLHRoaXMuX2N1c3RvbUtleUV2ZW50SGFuZGxlcj1lLHRoaXMucmVmcmVzaCgwLHRoaXMucm93cy0xKX1jbGVhclRleHR1cmVBdGxhcygpe3RoaXMuX3JlbmRlclNlcnZpY2U/LmNsZWFyVGV4dHVyZUF0bGFzKCl9X3JlcG9ydEZvY3VzKCl7dGhpcy5lbGVtZW50Py5jbGFzc0xpc3QuY29udGFpbnMoXCJmb2N1c1wiKT90aGlzLmNvcmVTZXJ2aWNlLnRyaWdnZXJEYXRhRXZlbnQoRC5DMC5FU0MrXCJbSVwiKTp0aGlzLmNvcmVTZXJ2aWNlLnRyaWdnZXJEYXRhRXZlbnQoRC5DMC5FU0MrXCJbT1wiKX1fcmVwb3J0V2luZG93c09wdGlvbnMoZSl7aWYodGhpcy5fcmVuZGVyU2VydmljZSlzd2l0Y2goZSl7Y2FzZSBULldpbmRvd3NPcHRpb25zUmVwb3J0VHlwZS5HRVRfV0lOX1NJWkVfUElYRUxTOmNvbnN0IGU9dGhpcy5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zLmNzcy5jYW52YXMud2lkdGgudG9GaXhlZCgwKSx0PXRoaXMuX3JlbmRlclNlcnZpY2UuZGltZW5zaW9ucy5jc3MuY2FudmFzLmhlaWdodC50b0ZpeGVkKDApO3RoaXMuY29yZVNlcnZpY2UudHJpZ2dlckRhdGFFdmVudChgJHtELkMwLkVTQ31bNDske3R9OyR7ZX10YCk7YnJlYWs7Y2FzZSBULldpbmRvd3NPcHRpb25zUmVwb3J0VHlwZS5HRVRfQ0VMTF9TSVpFX1BJWEVMUzpjb25zdCBpPXRoaXMuX3JlbmRlclNlcnZpY2UuZGltZW5zaW9ucy5jc3MuY2VsbC53aWR0aC50b0ZpeGVkKDApLHM9dGhpcy5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zLmNzcy5jZWxsLmhlaWdodC50b0ZpeGVkKDApO3RoaXMuY29yZVNlcnZpY2UudHJpZ2dlckRhdGFFdmVudChgJHtELkMwLkVTQ31bNjske3N9OyR7aX10YCl9fWNhbmNlbChlLHQpe2lmKHRoaXMub3B0aW9ucy5jYW5jZWxFdmVudHN8fHQpcmV0dXJuIGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLCExfX10LlRlcm1pbmFsPVB9LDk5MjQ6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LlRpbWVCYXNlZERlYm91bmNlcj12b2lkIDAsdC5UaW1lQmFzZWREZWJvdW5jZXI9Y2xhc3N7Y29uc3RydWN0b3IoZSx0PTFlMyl7dGhpcy5fcmVuZGVyQ2FsbGJhY2s9ZSx0aGlzLl9kZWJvdW5jZVRocmVzaG9sZE1TPXQsdGhpcy5fbGFzdFJlZnJlc2hNcz0wLHRoaXMuX2FkZGl0aW9uYWxSZWZyZXNoUmVxdWVzdGVkPSExfWRpc3Bvc2UoKXt0aGlzLl9yZWZyZXNoVGltZW91dElEJiZjbGVhclRpbWVvdXQodGhpcy5fcmVmcmVzaFRpbWVvdXRJRCl9cmVmcmVzaChlLHQsaSl7dGhpcy5fcm93Q291bnQ9aSxlPXZvaWQgMCE9PWU/ZTowLHQ9dm9pZCAwIT09dD90OnRoaXMuX3Jvd0NvdW50LTEsdGhpcy5fcm93U3RhcnQ9dm9pZCAwIT09dGhpcy5fcm93U3RhcnQ/TWF0aC5taW4odGhpcy5fcm93U3RhcnQsZSk6ZSx0aGlzLl9yb3dFbmQ9dm9pZCAwIT09dGhpcy5fcm93RW5kP01hdGgubWF4KHRoaXMuX3Jvd0VuZCx0KTp0O2NvbnN0IHM9RGF0ZS5ub3coKTtpZihzLXRoaXMuX2xhc3RSZWZyZXNoTXM+PXRoaXMuX2RlYm91bmNlVGhyZXNob2xkTVMpdGhpcy5fbGFzdFJlZnJlc2hNcz1zLHRoaXMuX2lubmVyUmVmcmVzaCgpO2Vsc2UgaWYoIXRoaXMuX2FkZGl0aW9uYWxSZWZyZXNoUmVxdWVzdGVkKXtjb25zdCBlPXMtdGhpcy5fbGFzdFJlZnJlc2hNcyx0PXRoaXMuX2RlYm91bmNlVGhyZXNob2xkTVMtZTt0aGlzLl9hZGRpdGlvbmFsUmVmcmVzaFJlcXVlc3RlZD0hMCx0aGlzLl9yZWZyZXNoVGltZW91dElEPXdpbmRvdy5zZXRUaW1lb3V0KCgoKT0+e3RoaXMuX2xhc3RSZWZyZXNoTXM9RGF0ZS5ub3coKSx0aGlzLl9pbm5lclJlZnJlc2goKSx0aGlzLl9hZGRpdGlvbmFsUmVmcmVzaFJlcXVlc3RlZD0hMSx0aGlzLl9yZWZyZXNoVGltZW91dElEPXZvaWQgMH0pLHQpfX1faW5uZXJSZWZyZXNoKCl7aWYodm9pZCAwPT09dGhpcy5fcm93U3RhcnR8fHZvaWQgMD09PXRoaXMuX3Jvd0VuZHx8dm9pZCAwPT09dGhpcy5fcm93Q291bnQpcmV0dXJuO2NvbnN0IGU9TWF0aC5tYXgodGhpcy5fcm93U3RhcnQsMCksdD1NYXRoLm1pbih0aGlzLl9yb3dFbmQsdGhpcy5fcm93Q291bnQtMSk7dGhpcy5fcm93U3RhcnQ9dm9pZCAwLHRoaXMuX3Jvd0VuZD12b2lkIDAsdGhpcy5fcmVuZGVyQ2FsbGJhY2soZSx0KX19fSwxNjgwOmZ1bmN0aW9uKGUsdCxpKXt2YXIgcz10aGlzJiZ0aGlzLl9fZGVjb3JhdGV8fGZ1bmN0aW9uKGUsdCxpLHMpe3ZhciByLG49YXJndW1lbnRzLmxlbmd0aCxvPW48Mz90Om51bGw9PT1zP3M9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGkpOnM7aWYoXCJvYmplY3RcIj09dHlwZW9mIFJlZmxlY3QmJlwiZnVuY3Rpb25cIj09dHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUpbz1SZWZsZWN0LmRlY29yYXRlKGUsdCxpLHMpO2Vsc2UgZm9yKHZhciBhPWUubGVuZ3RoLTE7YT49MDthLS0pKHI9ZVthXSkmJihvPShuPDM/cihvKTpuPjM/cih0LGksbyk6cih0LGkpKXx8byk7cmV0dXJuIG4+MyYmbyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsaSxvKSxvfSxyPXRoaXMmJnRoaXMuX19wYXJhbXx8ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oaSxzKXt0KGkscyxlKX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuVmlld3BvcnQ9dm9pZCAwO2NvbnN0IG49aSgzNjU2KSxvPWkoNDcyNSksYT1pKDg0NjApLGg9aSg4NDQpLGM9aSgyNTg1KTtsZXQgbD10LlZpZXdwb3J0PWNsYXNzIGV4dGVuZHMgaC5EaXNwb3NhYmxle2NvbnN0cnVjdG9yKGUsdCxpLHMscixvLGgsYyl7c3VwZXIoKSx0aGlzLl92aWV3cG9ydEVsZW1lbnQ9ZSx0aGlzLl9zY3JvbGxBcmVhPXQsdGhpcy5fYnVmZmVyU2VydmljZT1pLHRoaXMuX29wdGlvbnNTZXJ2aWNlPXMsdGhpcy5fY2hhclNpemVTZXJ2aWNlPXIsdGhpcy5fcmVuZGVyU2VydmljZT1vLHRoaXMuX2NvcmVCcm93c2VyU2VydmljZT1oLHRoaXMuc2Nyb2xsQmFyV2lkdGg9MCx0aGlzLl9jdXJyZW50Um93SGVpZ2h0PTAsdGhpcy5fY3VycmVudERldmljZUNlbGxIZWlnaHQ9MCx0aGlzLl9sYXN0UmVjb3JkZWRCdWZmZXJMZW5ndGg9MCx0aGlzLl9sYXN0UmVjb3JkZWRWaWV3cG9ydEhlaWdodD0wLHRoaXMuX2xhc3RSZWNvcmRlZEJ1ZmZlckhlaWdodD0wLHRoaXMuX2xhc3RUb3VjaFk9MCx0aGlzLl9sYXN0U2Nyb2xsVG9wPTAsdGhpcy5fd2hlZWxQYXJ0aWFsU2Nyb2xsPTAsdGhpcy5fcmVmcmVzaEFuaW1hdGlvbkZyYW1lPW51bGwsdGhpcy5faWdub3JlTmV4dFNjcm9sbEV2ZW50PSExLHRoaXMuX3Ntb290aFNjcm9sbFN0YXRlPXtzdGFydFRpbWU6MCxvcmlnaW46LTEsdGFyZ2V0Oi0xfSx0aGlzLl9vblJlcXVlc3RTY3JvbGxMaW5lcz10aGlzLnJlZ2lzdGVyKG5ldyBhLkV2ZW50RW1pdHRlciksdGhpcy5vblJlcXVlc3RTY3JvbGxMaW5lcz10aGlzLl9vblJlcXVlc3RTY3JvbGxMaW5lcy5ldmVudCx0aGlzLnNjcm9sbEJhcldpZHRoPXRoaXMuX3ZpZXdwb3J0RWxlbWVudC5vZmZzZXRXaWR0aC10aGlzLl9zY3JvbGxBcmVhLm9mZnNldFdpZHRofHwxNSx0aGlzLnJlZ2lzdGVyKCgwLG4uYWRkRGlzcG9zYWJsZURvbUxpc3RlbmVyKSh0aGlzLl92aWV3cG9ydEVsZW1lbnQsXCJzY3JvbGxcIix0aGlzLl9oYW5kbGVTY3JvbGwuYmluZCh0aGlzKSkpLHRoaXMuX2FjdGl2ZUJ1ZmZlcj10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlcix0aGlzLnJlZ2lzdGVyKHRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVycy5vbkJ1ZmZlckFjdGl2YXRlKChlPT50aGlzLl9hY3RpdmVCdWZmZXI9ZS5hY3RpdmVCdWZmZXIpKSksdGhpcy5fcmVuZGVyRGltZW5zaW9ucz10aGlzLl9yZW5kZXJTZXJ2aWNlLmRpbWVuc2lvbnMsdGhpcy5yZWdpc3Rlcih0aGlzLl9yZW5kZXJTZXJ2aWNlLm9uRGltZW5zaW9uc0NoYW5nZSgoZT0+dGhpcy5fcmVuZGVyRGltZW5zaW9ucz1lKSkpLHRoaXMuX2hhbmRsZVRoZW1lQ2hhbmdlKGMuY29sb3JzKSx0aGlzLnJlZ2lzdGVyKGMub25DaGFuZ2VDb2xvcnMoKGU9PnRoaXMuX2hhbmRsZVRoZW1lQ2hhbmdlKGUpKSkpLHRoaXMucmVnaXN0ZXIodGhpcy5fb3B0aW9uc1NlcnZpY2Uub25TcGVjaWZpY09wdGlvbkNoYW5nZShcInNjcm9sbGJhY2tcIiwoKCk9PnRoaXMuc3luY1Njcm9sbEFyZWEoKSkpKSxzZXRUaW1lb3V0KCgoKT0+dGhpcy5zeW5jU2Nyb2xsQXJlYSgpKSl9X2hhbmRsZVRoZW1lQ2hhbmdlKGUpe3RoaXMuX3ZpZXdwb3J0RWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9ZS5iYWNrZ3JvdW5kLmNzc31yZXNldCgpe3RoaXMuX2N1cnJlbnRSb3dIZWlnaHQ9MCx0aGlzLl9jdXJyZW50RGV2aWNlQ2VsbEhlaWdodD0wLHRoaXMuX2xhc3RSZWNvcmRlZEJ1ZmZlckxlbmd0aD0wLHRoaXMuX2xhc3RSZWNvcmRlZFZpZXdwb3J0SGVpZ2h0PTAsdGhpcy5fbGFzdFJlY29yZGVkQnVmZmVySGVpZ2h0PTAsdGhpcy5fbGFzdFRvdWNoWT0wLHRoaXMuX2xhc3RTY3JvbGxUb3A9MCx0aGlzLl9jb3JlQnJvd3NlclNlcnZpY2Uud2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PnRoaXMuc3luY1Njcm9sbEFyZWEoKSkpfV9yZWZyZXNoKGUpe2lmKGUpcmV0dXJuIHRoaXMuX2lubmVyUmVmcmVzaCgpLHZvaWQobnVsbCE9PXRoaXMuX3JlZnJlc2hBbmltYXRpb25GcmFtZSYmdGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlLndpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9yZWZyZXNoQW5pbWF0aW9uRnJhbWUpKTtudWxsPT09dGhpcy5fcmVmcmVzaEFuaW1hdGlvbkZyYW1lJiYodGhpcy5fcmVmcmVzaEFuaW1hdGlvbkZyYW1lPXRoaXMuX2NvcmVCcm93c2VyU2VydmljZS53aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+dGhpcy5faW5uZXJSZWZyZXNoKCkpKSl9X2lubmVyUmVmcmVzaCgpe2lmKHRoaXMuX2NoYXJTaXplU2VydmljZS5oZWlnaHQ+MCl7dGhpcy5fY3VycmVudFJvd0hlaWdodD10aGlzLl9yZW5kZXJEaW1lbnNpb25zLmRldmljZS5jZWxsLmhlaWdodC90aGlzLl9jb3JlQnJvd3NlclNlcnZpY2UuZHByLHRoaXMuX2N1cnJlbnREZXZpY2VDZWxsSGVpZ2h0PXRoaXMuX3JlbmRlckRpbWVuc2lvbnMuZGV2aWNlLmNlbGwuaGVpZ2h0LHRoaXMuX2xhc3RSZWNvcmRlZFZpZXdwb3J0SGVpZ2h0PXRoaXMuX3ZpZXdwb3J0RWxlbWVudC5vZmZzZXRIZWlnaHQ7Y29uc3QgZT1NYXRoLnJvdW5kKHRoaXMuX2N1cnJlbnRSb3dIZWlnaHQqdGhpcy5fbGFzdFJlY29yZGVkQnVmZmVyTGVuZ3RoKSsodGhpcy5fbGFzdFJlY29yZGVkVmlld3BvcnRIZWlnaHQtdGhpcy5fcmVuZGVyRGltZW5zaW9ucy5jc3MuY2FudmFzLmhlaWdodCk7dGhpcy5fbGFzdFJlY29yZGVkQnVmZmVySGVpZ2h0IT09ZSYmKHRoaXMuX2xhc3RSZWNvcmRlZEJ1ZmZlckhlaWdodD1lLHRoaXMuX3Njcm9sbEFyZWEuc3R5bGUuaGVpZ2h0PXRoaXMuX2xhc3RSZWNvcmRlZEJ1ZmZlckhlaWdodCtcInB4XCIpfWNvbnN0IGU9dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIueWRpc3AqdGhpcy5fY3VycmVudFJvd0hlaWdodDt0aGlzLl92aWV3cG9ydEVsZW1lbnQuc2Nyb2xsVG9wIT09ZSYmKHRoaXMuX2lnbm9yZU5leHRTY3JvbGxFdmVudD0hMCx0aGlzLl92aWV3cG9ydEVsZW1lbnQuc2Nyb2xsVG9wPWUpLHRoaXMuX3JlZnJlc2hBbmltYXRpb25GcmFtZT1udWxsfXN5bmNTY3JvbGxBcmVhKGU9ITEpe2lmKHRoaXMuX2xhc3RSZWNvcmRlZEJ1ZmZlckxlbmd0aCE9PXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLmxpbmVzLmxlbmd0aClyZXR1cm4gdGhpcy5fbGFzdFJlY29yZGVkQnVmZmVyTGVuZ3RoPXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLmxpbmVzLmxlbmd0aCx2b2lkIHRoaXMuX3JlZnJlc2goZSk7dGhpcy5fbGFzdFJlY29yZGVkVmlld3BvcnRIZWlnaHQ9PT10aGlzLl9yZW5kZXJTZXJ2aWNlLmRpbWVuc2lvbnMuY3NzLmNhbnZhcy5oZWlnaHQmJnRoaXMuX2xhc3RTY3JvbGxUb3A9PT10aGlzLl9hY3RpdmVCdWZmZXIueWRpc3AqdGhpcy5fY3VycmVudFJvd0hlaWdodCYmdGhpcy5fcmVuZGVyRGltZW5zaW9ucy5kZXZpY2UuY2VsbC5oZWlnaHQ9PT10aGlzLl9jdXJyZW50RGV2aWNlQ2VsbEhlaWdodHx8dGhpcy5fcmVmcmVzaChlKX1faGFuZGxlU2Nyb2xsKGUpe2lmKHRoaXMuX2xhc3RTY3JvbGxUb3A9dGhpcy5fdmlld3BvcnRFbGVtZW50LnNjcm9sbFRvcCwhdGhpcy5fdmlld3BvcnRFbGVtZW50Lm9mZnNldFBhcmVudClyZXR1cm47aWYodGhpcy5faWdub3JlTmV4dFNjcm9sbEV2ZW50KXJldHVybiB0aGlzLl9pZ25vcmVOZXh0U2Nyb2xsRXZlbnQ9ITEsdm9pZCB0aGlzLl9vblJlcXVlc3RTY3JvbGxMaW5lcy5maXJlKHthbW91bnQ6MCxzdXBwcmVzc1Njcm9sbEV2ZW50OiEwfSk7Y29uc3QgdD1NYXRoLnJvdW5kKHRoaXMuX2xhc3RTY3JvbGxUb3AvdGhpcy5fY3VycmVudFJvd0hlaWdodCktdGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIueWRpc3A7dGhpcy5fb25SZXF1ZXN0U2Nyb2xsTGluZXMuZmlyZSh7YW1vdW50OnQsc3VwcHJlc3NTY3JvbGxFdmVudDohMH0pfV9zbW9vdGhTY3JvbGwoKXtpZih0aGlzLl9pc0Rpc3Bvc2VkfHwtMT09PXRoaXMuX3Ntb290aFNjcm9sbFN0YXRlLm9yaWdpbnx8LTE9PT10aGlzLl9zbW9vdGhTY3JvbGxTdGF0ZS50YXJnZXQpcmV0dXJuO2NvbnN0IGU9dGhpcy5fc21vb3RoU2Nyb2xsUGVyY2VudCgpO3RoaXMuX3ZpZXdwb3J0RWxlbWVudC5zY3JvbGxUb3A9dGhpcy5fc21vb3RoU2Nyb2xsU3RhdGUub3JpZ2luK01hdGgucm91bmQoZSoodGhpcy5fc21vb3RoU2Nyb2xsU3RhdGUudGFyZ2V0LXRoaXMuX3Ntb290aFNjcm9sbFN0YXRlLm9yaWdpbikpLGU8MT90aGlzLl9jb3JlQnJvd3NlclNlcnZpY2Uud2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PnRoaXMuX3Ntb290aFNjcm9sbCgpKSk6dGhpcy5fY2xlYXJTbW9vdGhTY3JvbGxTdGF0ZSgpfV9zbW9vdGhTY3JvbGxQZXJjZW50KCl7cmV0dXJuIHRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuc21vb3RoU2Nyb2xsRHVyYXRpb24mJnRoaXMuX3Ntb290aFNjcm9sbFN0YXRlLnN0YXJ0VGltZT9NYXRoLm1heChNYXRoLm1pbigoRGF0ZS5ub3coKS10aGlzLl9zbW9vdGhTY3JvbGxTdGF0ZS5zdGFydFRpbWUpL3RoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuc21vb3RoU2Nyb2xsRHVyYXRpb24sMSksMCk6MX1fY2xlYXJTbW9vdGhTY3JvbGxTdGF0ZSgpe3RoaXMuX3Ntb290aFNjcm9sbFN0YXRlLnN0YXJ0VGltZT0wLHRoaXMuX3Ntb290aFNjcm9sbFN0YXRlLm9yaWdpbj0tMSx0aGlzLl9zbW9vdGhTY3JvbGxTdGF0ZS50YXJnZXQ9LTF9X2J1YmJsZVNjcm9sbChlLHQpe2NvbnN0IGk9dGhpcy5fdmlld3BvcnRFbGVtZW50LnNjcm9sbFRvcCt0aGlzLl9sYXN0UmVjb3JkZWRWaWV3cG9ydEhlaWdodDtyZXR1cm4hKHQ8MCYmMCE9PXRoaXMuX3ZpZXdwb3J0RWxlbWVudC5zY3JvbGxUb3B8fHQ+MCYmaTx0aGlzLl9sYXN0UmVjb3JkZWRCdWZmZXJIZWlnaHQpfHwoZS5jYW5jZWxhYmxlJiZlLnByZXZlbnREZWZhdWx0KCksITEpfWhhbmRsZVdoZWVsKGUpe2NvbnN0IHQ9dGhpcy5fZ2V0UGl4ZWxzU2Nyb2xsZWQoZSk7cmV0dXJuIDAhPT10JiYodGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5zbW9vdGhTY3JvbGxEdXJhdGlvbj8odGhpcy5fc21vb3RoU2Nyb2xsU3RhdGUuc3RhcnRUaW1lPURhdGUubm93KCksdGhpcy5fc21vb3RoU2Nyb2xsUGVyY2VudCgpPDE/KHRoaXMuX3Ntb290aFNjcm9sbFN0YXRlLm9yaWdpbj10aGlzLl92aWV3cG9ydEVsZW1lbnQuc2Nyb2xsVG9wLC0xPT09dGhpcy5fc21vb3RoU2Nyb2xsU3RhdGUudGFyZ2V0P3RoaXMuX3Ntb290aFNjcm9sbFN0YXRlLnRhcmdldD10aGlzLl92aWV3cG9ydEVsZW1lbnQuc2Nyb2xsVG9wK3Q6dGhpcy5fc21vb3RoU2Nyb2xsU3RhdGUudGFyZ2V0Kz10LHRoaXMuX3Ntb290aFNjcm9sbFN0YXRlLnRhcmdldD1NYXRoLm1heChNYXRoLm1pbih0aGlzLl9zbW9vdGhTY3JvbGxTdGF0ZS50YXJnZXQsdGhpcy5fdmlld3BvcnRFbGVtZW50LnNjcm9sbEhlaWdodCksMCksdGhpcy5fc21vb3RoU2Nyb2xsKCkpOnRoaXMuX2NsZWFyU21vb3RoU2Nyb2xsU3RhdGUoKSk6dGhpcy5fdmlld3BvcnRFbGVtZW50LnNjcm9sbFRvcCs9dCx0aGlzLl9idWJibGVTY3JvbGwoZSx0KSl9c2Nyb2xsTGluZXMoZSl7aWYoMCE9PWUpaWYodGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5zbW9vdGhTY3JvbGxEdXJhdGlvbil7Y29uc3QgdD1lKnRoaXMuX2N1cnJlbnRSb3dIZWlnaHQ7dGhpcy5fc21vb3RoU2Nyb2xsU3RhdGUuc3RhcnRUaW1lPURhdGUubm93KCksdGhpcy5fc21vb3RoU2Nyb2xsUGVyY2VudCgpPDE/KHRoaXMuX3Ntb290aFNjcm9sbFN0YXRlLm9yaWdpbj10aGlzLl92aWV3cG9ydEVsZW1lbnQuc2Nyb2xsVG9wLHRoaXMuX3Ntb290aFNjcm9sbFN0YXRlLnRhcmdldD10aGlzLl9zbW9vdGhTY3JvbGxTdGF0ZS5vcmlnaW4rdCx0aGlzLl9zbW9vdGhTY3JvbGxTdGF0ZS50YXJnZXQ9TWF0aC5tYXgoTWF0aC5taW4odGhpcy5fc21vb3RoU2Nyb2xsU3RhdGUudGFyZ2V0LHRoaXMuX3ZpZXdwb3J0RWxlbWVudC5zY3JvbGxIZWlnaHQpLDApLHRoaXMuX3Ntb290aFNjcm9sbCgpKTp0aGlzLl9jbGVhclNtb290aFNjcm9sbFN0YXRlKCl9ZWxzZSB0aGlzLl9vblJlcXVlc3RTY3JvbGxMaW5lcy5maXJlKHthbW91bnQ6ZSxzdXBwcmVzc1Njcm9sbEV2ZW50OiExfSl9X2dldFBpeGVsc1Njcm9sbGVkKGUpe2lmKDA9PT1lLmRlbHRhWXx8ZS5zaGlmdEtleSlyZXR1cm4gMDtsZXQgdD10aGlzLl9hcHBseVNjcm9sbE1vZGlmaWVyKGUuZGVsdGFZLGUpO3JldHVybiBlLmRlbHRhTW9kZT09PVdoZWVsRXZlbnQuRE9NX0RFTFRBX0xJTkU/dCo9dGhpcy5fY3VycmVudFJvd0hlaWdodDplLmRlbHRhTW9kZT09PVdoZWVsRXZlbnQuRE9NX0RFTFRBX1BBR0UmJih0Kj10aGlzLl9jdXJyZW50Um93SGVpZ2h0KnRoaXMuX2J1ZmZlclNlcnZpY2Uucm93cyksdH1nZXRCdWZmZXJFbGVtZW50cyhlLHQpe2xldCBpLHM9XCJcIjtjb25zdCByPVtdLG49dD8/dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIubGluZXMubGVuZ3RoLG89dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIubGluZXM7Zm9yKGxldCB0PWU7dDxuO3QrKyl7Y29uc3QgZT1vLmdldCh0KTtpZighZSljb250aW51ZTtjb25zdCBuPW8uZ2V0KHQrMSk/LmlzV3JhcHBlZDtpZihzKz1lLnRyYW5zbGF0ZVRvU3RyaW5nKCFuKSwhbnx8dD09PW8ubGVuZ3RoLTEpe2NvbnN0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtlLnRleHRDb250ZW50PXMsci5wdXNoKGUpLHMubGVuZ3RoPjAmJihpPWUpLHM9XCJcIn19cmV0dXJue2J1ZmZlckVsZW1lbnRzOnIsY3Vyc29yRWxlbWVudDppfX1nZXRMaW5lc1Njcm9sbGVkKGUpe2lmKDA9PT1lLmRlbHRhWXx8ZS5zaGlmdEtleSlyZXR1cm4gMDtsZXQgdD10aGlzLl9hcHBseVNjcm9sbE1vZGlmaWVyKGUuZGVsdGFZLGUpO3JldHVybiBlLmRlbHRhTW9kZT09PVdoZWVsRXZlbnQuRE9NX0RFTFRBX1BJWEVMPyh0Lz10aGlzLl9jdXJyZW50Um93SGVpZ2h0KzAsdGhpcy5fd2hlZWxQYXJ0aWFsU2Nyb2xsKz10LHQ9TWF0aC5mbG9vcihNYXRoLmFicyh0aGlzLl93aGVlbFBhcnRpYWxTY3JvbGwpKSoodGhpcy5fd2hlZWxQYXJ0aWFsU2Nyb2xsPjA/MTotMSksdGhpcy5fd2hlZWxQYXJ0aWFsU2Nyb2xsJT0xKTplLmRlbHRhTW9kZT09PVdoZWVsRXZlbnQuRE9NX0RFTFRBX1BBR0UmJih0Kj10aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MpLHR9X2FwcGx5U2Nyb2xsTW9kaWZpZXIoZSx0KXtjb25zdCBpPXRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuZmFzdFNjcm9sbE1vZGlmaWVyO3JldHVyblwiYWx0XCI9PT1pJiZ0LmFsdEtleXx8XCJjdHJsXCI9PT1pJiZ0LmN0cmxLZXl8fFwic2hpZnRcIj09PWkmJnQuc2hpZnRLZXk/ZSp0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmZhc3RTY3JvbGxTZW5zaXRpdml0eSp0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLnNjcm9sbFNlbnNpdGl2aXR5OmUqdGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5zY3JvbGxTZW5zaXRpdml0eX1oYW5kbGVUb3VjaFN0YXJ0KGUpe3RoaXMuX2xhc3RUb3VjaFk9ZS50b3VjaGVzWzBdLnBhZ2VZfWhhbmRsZVRvdWNoTW92ZShlKXtjb25zdCB0PXRoaXMuX2xhc3RUb3VjaFktZS50b3VjaGVzWzBdLnBhZ2VZO3JldHVybiB0aGlzLl9sYXN0VG91Y2hZPWUudG91Y2hlc1swXS5wYWdlWSwwIT09dCYmKHRoaXMuX3ZpZXdwb3J0RWxlbWVudC5zY3JvbGxUb3ArPXQsdGhpcy5fYnViYmxlU2Nyb2xsKGUsdCkpfX07dC5WaWV3cG9ydD1sPXMoW3IoMixjLklCdWZmZXJTZXJ2aWNlKSxyKDMsYy5JT3B0aW9uc1NlcnZpY2UpLHIoNCxvLklDaGFyU2l6ZVNlcnZpY2UpLHIoNSxvLklSZW5kZXJTZXJ2aWNlKSxyKDYsby5JQ29yZUJyb3dzZXJTZXJ2aWNlKSxyKDcsby5JVGhlbWVTZXJ2aWNlKV0sbCl9LDMxMDc6ZnVuY3Rpb24oZSx0LGkpe3ZhciBzPXRoaXMmJnRoaXMuX19kZWNvcmF0ZXx8ZnVuY3Rpb24oZSx0LGkscyl7dmFyIHIsbj1hcmd1bWVudHMubGVuZ3RoLG89bjwzP3Q6bnVsbD09PXM/cz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsaSk6cztpZihcIm9iamVjdFwiPT10eXBlb2YgUmVmbGVjdCYmXCJmdW5jdGlvblwiPT10eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSlvPVJlZmxlY3QuZGVjb3JhdGUoZSx0LGkscyk7ZWxzZSBmb3IodmFyIGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkocj1lW2FdKSYmKG89KG48Mz9yKG8pOm4+Mz9yKHQsaSxvKTpyKHQsaSkpfHxvKTtyZXR1cm4gbj4zJiZvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxpLG8pLG99LHI9dGhpcyYmdGhpcy5fX3BhcmFtfHxmdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihpLHMpe3QoaSxzLGUpfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5CdWZmZXJEZWNvcmF0aW9uUmVuZGVyZXI9dm9pZCAwO2NvbnN0IG49aSg0NzI1KSxvPWkoODQ0KSxhPWkoMjU4NSk7bGV0IGg9dC5CdWZmZXJEZWNvcmF0aW9uUmVuZGVyZXI9Y2xhc3MgZXh0ZW5kcyBvLkRpc3Bvc2FibGV7Y29uc3RydWN0b3IoZSx0LGkscyxyKXtzdXBlcigpLHRoaXMuX3NjcmVlbkVsZW1lbnQ9ZSx0aGlzLl9idWZmZXJTZXJ2aWNlPXQsdGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlPWksdGhpcy5fZGVjb3JhdGlvblNlcnZpY2U9cyx0aGlzLl9yZW5kZXJTZXJ2aWNlPXIsdGhpcy5fZGVjb3JhdGlvbkVsZW1lbnRzPW5ldyBNYXAsdGhpcy5fYWx0QnVmZmVySXNBY3RpdmU9ITEsdGhpcy5fZGltZW5zaW9uc0NoYW5nZWQ9ITEsdGhpcy5fY29udGFpbmVyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksdGhpcy5fY29udGFpbmVyLmNsYXNzTGlzdC5hZGQoXCJ4dGVybS1kZWNvcmF0aW9uLWNvbnRhaW5lclwiKSx0aGlzLl9zY3JlZW5FbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2NvbnRhaW5lciksdGhpcy5yZWdpc3Rlcih0aGlzLl9yZW5kZXJTZXJ2aWNlLm9uUmVuZGVyZWRWaWV3cG9ydENoYW5nZSgoKCk9PnRoaXMuX2RvUmVmcmVzaERlY29yYXRpb25zKCkpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9yZW5kZXJTZXJ2aWNlLm9uRGltZW5zaW9uc0NoYW5nZSgoKCk9Pnt0aGlzLl9kaW1lbnNpb25zQ2hhbmdlZD0hMCx0aGlzLl9xdWV1ZVJlZnJlc2goKX0pKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9jb3JlQnJvd3NlclNlcnZpY2Uub25EcHJDaGFuZ2UoKCgpPT50aGlzLl9xdWV1ZVJlZnJlc2goKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVycy5vbkJ1ZmZlckFjdGl2YXRlKCgoKT0+e3RoaXMuX2FsdEJ1ZmZlcklzQWN0aXZlPXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyPT09dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXJzLmFsdH0pKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9kZWNvcmF0aW9uU2VydmljZS5vbkRlY29yYXRpb25SZWdpc3RlcmVkKCgoKT0+dGhpcy5fcXVldWVSZWZyZXNoKCkpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9kZWNvcmF0aW9uU2VydmljZS5vbkRlY29yYXRpb25SZW1vdmVkKChlPT50aGlzLl9yZW1vdmVEZWNvcmF0aW9uKGUpKSkpLHRoaXMucmVnaXN0ZXIoKDAsby50b0Rpc3Bvc2FibGUpKCgoKT0+e3RoaXMuX2NvbnRhaW5lci5yZW1vdmUoKSx0aGlzLl9kZWNvcmF0aW9uRWxlbWVudHMuY2xlYXIoKX0pKSl9X3F1ZXVlUmVmcmVzaCgpe3ZvaWQgMD09PXRoaXMuX2FuaW1hdGlvbkZyYW1lJiYodGhpcy5fYW5pbWF0aW9uRnJhbWU9dGhpcy5fcmVuZGVyU2VydmljZS5hZGRSZWZyZXNoQ2FsbGJhY2soKCgpPT57dGhpcy5fZG9SZWZyZXNoRGVjb3JhdGlvbnMoKSx0aGlzLl9hbmltYXRpb25GcmFtZT12b2lkIDB9KSkpfV9kb1JlZnJlc2hEZWNvcmF0aW9ucygpe2Zvcihjb25zdCBlIG9mIHRoaXMuX2RlY29yYXRpb25TZXJ2aWNlLmRlY29yYXRpb25zKXRoaXMuX3JlbmRlckRlY29yYXRpb24oZSk7dGhpcy5fZGltZW5zaW9uc0NoYW5nZWQ9ITF9X3JlbmRlckRlY29yYXRpb24oZSl7dGhpcy5fcmVmcmVzaFN0eWxlKGUpLHRoaXMuX2RpbWVuc2lvbnNDaGFuZ2VkJiZ0aGlzLl9yZWZyZXNoWFBvc2l0aW9uKGUpfV9jcmVhdGVFbGVtZW50KGUpe2NvbnN0IHQ9dGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlLm1haW5Eb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO3QuY2xhc3NMaXN0LmFkZChcInh0ZXJtLWRlY29yYXRpb25cIiksdC5jbGFzc0xpc3QudG9nZ2xlKFwieHRlcm0tZGVjb3JhdGlvbi10b3AtbGF5ZXJcIixcInRvcFwiPT09ZT8ub3B0aW9ucz8ubGF5ZXIpLHQuc3R5bGUud2lkdGg9YCR7TWF0aC5yb3VuZCgoZS5vcHRpb25zLndpZHRofHwxKSp0aGlzLl9yZW5kZXJTZXJ2aWNlLmRpbWVuc2lvbnMuY3NzLmNlbGwud2lkdGgpfXB4YCx0LnN0eWxlLmhlaWdodD0oZS5vcHRpb25zLmhlaWdodHx8MSkqdGhpcy5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zLmNzcy5jZWxsLmhlaWdodCtcInB4XCIsdC5zdHlsZS50b3A9KGUubWFya2VyLmxpbmUtdGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXJzLmFjdGl2ZS55ZGlzcCkqdGhpcy5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zLmNzcy5jZWxsLmhlaWdodCtcInB4XCIsdC5zdHlsZS5saW5lSGVpZ2h0PWAke3RoaXMuX3JlbmRlclNlcnZpY2UuZGltZW5zaW9ucy5jc3MuY2VsbC5oZWlnaHR9cHhgO2NvbnN0IGk9ZS5vcHRpb25zLng/PzA7cmV0dXJuIGkmJmk+dGhpcy5fYnVmZmVyU2VydmljZS5jb2xzJiYodC5zdHlsZS5kaXNwbGF5PVwibm9uZVwiKSx0aGlzLl9yZWZyZXNoWFBvc2l0aW9uKGUsdCksdH1fcmVmcmVzaFN0eWxlKGUpe2NvbnN0IHQ9ZS5tYXJrZXIubGluZS10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlcnMuYWN0aXZlLnlkaXNwO2lmKHQ8MHx8dD49dGhpcy5fYnVmZmVyU2VydmljZS5yb3dzKWUuZWxlbWVudCYmKGUuZWxlbWVudC5zdHlsZS5kaXNwbGF5PVwibm9uZVwiLGUub25SZW5kZXJFbWl0dGVyLmZpcmUoZS5lbGVtZW50KSk7ZWxzZXtsZXQgaT10aGlzLl9kZWNvcmF0aW9uRWxlbWVudHMuZ2V0KGUpO2l8fChpPXRoaXMuX2NyZWF0ZUVsZW1lbnQoZSksZS5lbGVtZW50PWksdGhpcy5fZGVjb3JhdGlvbkVsZW1lbnRzLnNldChlLGkpLHRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChpKSxlLm9uRGlzcG9zZSgoKCk9Pnt0aGlzLl9kZWNvcmF0aW9uRWxlbWVudHMuZGVsZXRlKGUpLGkucmVtb3ZlKCl9KSkpLGkuc3R5bGUudG9wPXQqdGhpcy5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zLmNzcy5jZWxsLmhlaWdodCtcInB4XCIsaS5zdHlsZS5kaXNwbGF5PXRoaXMuX2FsdEJ1ZmZlcklzQWN0aXZlP1wibm9uZVwiOlwiYmxvY2tcIixlLm9uUmVuZGVyRW1pdHRlci5maXJlKGkpfX1fcmVmcmVzaFhQb3NpdGlvbihlLHQ9ZS5lbGVtZW50KXtpZighdClyZXR1cm47Y29uc3QgaT1lLm9wdGlvbnMueD8/MDtcInJpZ2h0XCI9PT0oZS5vcHRpb25zLmFuY2hvcnx8XCJsZWZ0XCIpP3Quc3R5bGUucmlnaHQ9aT9pKnRoaXMuX3JlbmRlclNlcnZpY2UuZGltZW5zaW9ucy5jc3MuY2VsbC53aWR0aCtcInB4XCI6XCJcIjp0LnN0eWxlLmxlZnQ9aT9pKnRoaXMuX3JlbmRlclNlcnZpY2UuZGltZW5zaW9ucy5jc3MuY2VsbC53aWR0aCtcInB4XCI6XCJcIn1fcmVtb3ZlRGVjb3JhdGlvbihlKXt0aGlzLl9kZWNvcmF0aW9uRWxlbWVudHMuZ2V0KGUpPy5yZW1vdmUoKSx0aGlzLl9kZWNvcmF0aW9uRWxlbWVudHMuZGVsZXRlKGUpLGUuZGlzcG9zZSgpfX07dC5CdWZmZXJEZWNvcmF0aW9uUmVuZGVyZXI9aD1zKFtyKDEsYS5JQnVmZmVyU2VydmljZSkscigyLG4uSUNvcmVCcm93c2VyU2VydmljZSkscigzLGEuSURlY29yYXRpb25TZXJ2aWNlKSxyKDQsbi5JUmVuZGVyU2VydmljZSldLGgpfSw1ODcxOihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5Db2xvclpvbmVTdG9yZT12b2lkIDAsdC5Db2xvclpvbmVTdG9yZT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX3pvbmVzPVtdLHRoaXMuX3pvbmVQb29sPVtdLHRoaXMuX3pvbmVQb29sSW5kZXg9MCx0aGlzLl9saW5lUGFkZGluZz17ZnVsbDowLGxlZnQ6MCxjZW50ZXI6MCxyaWdodDowfX1nZXQgem9uZXMoKXtyZXR1cm4gdGhpcy5fem9uZVBvb2wubGVuZ3RoPU1hdGgubWluKHRoaXMuX3pvbmVQb29sLmxlbmd0aCx0aGlzLl96b25lcy5sZW5ndGgpLHRoaXMuX3pvbmVzfWNsZWFyKCl7dGhpcy5fem9uZXMubGVuZ3RoPTAsdGhpcy5fem9uZVBvb2xJbmRleD0wfWFkZERlY29yYXRpb24oZSl7aWYoZS5vcHRpb25zLm92ZXJ2aWV3UnVsZXJPcHRpb25zKXtmb3IoY29uc3QgdCBvZiB0aGlzLl96b25lcylpZih0LmNvbG9yPT09ZS5vcHRpb25zLm92ZXJ2aWV3UnVsZXJPcHRpb25zLmNvbG9yJiZ0LnBvc2l0aW9uPT09ZS5vcHRpb25zLm92ZXJ2aWV3UnVsZXJPcHRpb25zLnBvc2l0aW9uKXtpZih0aGlzLl9saW5lSW50ZXJzZWN0c1pvbmUodCxlLm1hcmtlci5saW5lKSlyZXR1cm47aWYodGhpcy5fbGluZUFkamFjZW50VG9ab25lKHQsZS5tYXJrZXIubGluZSxlLm9wdGlvbnMub3ZlcnZpZXdSdWxlck9wdGlvbnMucG9zaXRpb24pKXJldHVybiB2b2lkIHRoaXMuX2FkZExpbmVUb1pvbmUodCxlLm1hcmtlci5saW5lKX1pZih0aGlzLl96b25lUG9vbEluZGV4PHRoaXMuX3pvbmVQb29sLmxlbmd0aClyZXR1cm4gdGhpcy5fem9uZVBvb2xbdGhpcy5fem9uZVBvb2xJbmRleF0uY29sb3I9ZS5vcHRpb25zLm92ZXJ2aWV3UnVsZXJPcHRpb25zLmNvbG9yLHRoaXMuX3pvbmVQb29sW3RoaXMuX3pvbmVQb29sSW5kZXhdLnBvc2l0aW9uPWUub3B0aW9ucy5vdmVydmlld1J1bGVyT3B0aW9ucy5wb3NpdGlvbix0aGlzLl96b25lUG9vbFt0aGlzLl96b25lUG9vbEluZGV4XS5zdGFydEJ1ZmZlckxpbmU9ZS5tYXJrZXIubGluZSx0aGlzLl96b25lUG9vbFt0aGlzLl96b25lUG9vbEluZGV4XS5lbmRCdWZmZXJMaW5lPWUubWFya2VyLmxpbmUsdm9pZCB0aGlzLl96b25lcy5wdXNoKHRoaXMuX3pvbmVQb29sW3RoaXMuX3pvbmVQb29sSW5kZXgrK10pO3RoaXMuX3pvbmVzLnB1c2goe2NvbG9yOmUub3B0aW9ucy5vdmVydmlld1J1bGVyT3B0aW9ucy5jb2xvcixwb3NpdGlvbjplLm9wdGlvbnMub3ZlcnZpZXdSdWxlck9wdGlvbnMucG9zaXRpb24sc3RhcnRCdWZmZXJMaW5lOmUubWFya2VyLmxpbmUsZW5kQnVmZmVyTGluZTplLm1hcmtlci5saW5lfSksdGhpcy5fem9uZVBvb2wucHVzaCh0aGlzLl96b25lc1t0aGlzLl96b25lcy5sZW5ndGgtMV0pLHRoaXMuX3pvbmVQb29sSW5kZXgrK319c2V0UGFkZGluZyhlKXt0aGlzLl9saW5lUGFkZGluZz1lfV9saW5lSW50ZXJzZWN0c1pvbmUoZSx0KXtyZXR1cm4gdD49ZS5zdGFydEJ1ZmZlckxpbmUmJnQ8PWUuZW5kQnVmZmVyTGluZX1fbGluZUFkamFjZW50VG9ab25lKGUsdCxpKXtyZXR1cm4gdD49ZS5zdGFydEJ1ZmZlckxpbmUtdGhpcy5fbGluZVBhZGRpbmdbaXx8XCJmdWxsXCJdJiZ0PD1lLmVuZEJ1ZmZlckxpbmUrdGhpcy5fbGluZVBhZGRpbmdbaXx8XCJmdWxsXCJdfV9hZGRMaW5lVG9ab25lKGUsdCl7ZS5zdGFydEJ1ZmZlckxpbmU9TWF0aC5taW4oZS5zdGFydEJ1ZmZlckxpbmUsdCksZS5lbmRCdWZmZXJMaW5lPU1hdGgubWF4KGUuZW5kQnVmZmVyTGluZSx0KX19fSw1NzQ0OmZ1bmN0aW9uKGUsdCxpKXt2YXIgcz10aGlzJiZ0aGlzLl9fZGVjb3JhdGV8fGZ1bmN0aW9uKGUsdCxpLHMpe3ZhciByLG49YXJndW1lbnRzLmxlbmd0aCxvPW48Mz90Om51bGw9PT1zP3M9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGkpOnM7aWYoXCJvYmplY3RcIj09dHlwZW9mIFJlZmxlY3QmJlwiZnVuY3Rpb25cIj09dHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUpbz1SZWZsZWN0LmRlY29yYXRlKGUsdCxpLHMpO2Vsc2UgZm9yKHZhciBhPWUubGVuZ3RoLTE7YT49MDthLS0pKHI9ZVthXSkmJihvPShuPDM/cihvKTpuPjM/cih0LGksbyk6cih0LGkpKXx8byk7cmV0dXJuIG4+MyYmbyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsaSxvKSxvfSxyPXRoaXMmJnRoaXMuX19wYXJhbXx8ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oaSxzKXt0KGkscyxlKX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuT3ZlcnZpZXdSdWxlclJlbmRlcmVyPXZvaWQgMDtjb25zdCBuPWkoNTg3MSksbz1pKDQ3MjUpLGE9aSg4NDQpLGg9aSgyNTg1KSxjPXtmdWxsOjAsbGVmdDowLGNlbnRlcjowLHJpZ2h0OjB9LGw9e2Z1bGw6MCxsZWZ0OjAsY2VudGVyOjAscmlnaHQ6MH0sZD17ZnVsbDowLGxlZnQ6MCxjZW50ZXI6MCxyaWdodDowfTtsZXQgXz10Lk92ZXJ2aWV3UnVsZXJSZW5kZXJlcj1jbGFzcyBleHRlbmRzIGEuRGlzcG9zYWJsZXtnZXQgX3dpZHRoKCl7cmV0dXJuIHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMub3ZlcnZpZXdSdWxlcldpZHRofHwwfWNvbnN0cnVjdG9yKGUsdCxpLHMscixvLGgpe3N1cGVyKCksdGhpcy5fdmlld3BvcnRFbGVtZW50PWUsdGhpcy5fc2NyZWVuRWxlbWVudD10LHRoaXMuX2J1ZmZlclNlcnZpY2U9aSx0aGlzLl9kZWNvcmF0aW9uU2VydmljZT1zLHRoaXMuX3JlbmRlclNlcnZpY2U9cix0aGlzLl9vcHRpb25zU2VydmljZT1vLHRoaXMuX2NvcmVCcm93c2VyU2VydmljZT1oLHRoaXMuX2NvbG9yWm9uZVN0b3JlPW5ldyBuLkNvbG9yWm9uZVN0b3JlLHRoaXMuX3Nob3VsZFVwZGF0ZURpbWVuc2lvbnM9ITAsdGhpcy5fc2hvdWxkVXBkYXRlQW5jaG9yPSEwLHRoaXMuX2xhc3RLbm93bkJ1ZmZlckxlbmd0aD0wLHRoaXMuX2NhbnZhcz10aGlzLl9jb3JlQnJvd3NlclNlcnZpY2UubWFpbkRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJjYW52YXNcIiksdGhpcy5fY2FudmFzLmNsYXNzTGlzdC5hZGQoXCJ4dGVybS1kZWNvcmF0aW9uLW92ZXJ2aWV3LXJ1bGVyXCIpLHRoaXMuX3JlZnJlc2hDYW52YXNEaW1lbnNpb25zKCksdGhpcy5fdmlld3BvcnRFbGVtZW50LnBhcmVudEVsZW1lbnQ/Lmluc2VydEJlZm9yZSh0aGlzLl9jYW52YXMsdGhpcy5fdmlld3BvcnRFbGVtZW50KTtjb25zdCBjPXRoaXMuX2NhbnZhcy5nZXRDb250ZXh0KFwiMmRcIik7aWYoIWMpdGhyb3cgbmV3IEVycm9yKFwiQ3R4IGNhbm5vdCBiZSBudWxsXCIpO3RoaXMuX2N0eD1jLHRoaXMuX3JlZ2lzdGVyRGVjb3JhdGlvbkxpc3RlbmVycygpLHRoaXMuX3JlZ2lzdGVyQnVmZmVyQ2hhbmdlTGlzdGVuZXJzKCksdGhpcy5fcmVnaXN0ZXJEaW1lbnNpb25DaGFuZ2VMaXN0ZW5lcnMoKSx0aGlzLnJlZ2lzdGVyKCgwLGEudG9EaXNwb3NhYmxlKSgoKCk9Pnt0aGlzLl9jYW52YXM/LnJlbW92ZSgpfSkpKX1fcmVnaXN0ZXJEZWNvcmF0aW9uTGlzdGVuZXJzKCl7dGhpcy5yZWdpc3Rlcih0aGlzLl9kZWNvcmF0aW9uU2VydmljZS5vbkRlY29yYXRpb25SZWdpc3RlcmVkKCgoKT0+dGhpcy5fcXVldWVSZWZyZXNoKHZvaWQgMCwhMCkpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9kZWNvcmF0aW9uU2VydmljZS5vbkRlY29yYXRpb25SZW1vdmVkKCgoKT0+dGhpcy5fcXVldWVSZWZyZXNoKHZvaWQgMCwhMCkpKSl9X3JlZ2lzdGVyQnVmZmVyQ2hhbmdlTGlzdGVuZXJzKCl7dGhpcy5yZWdpc3Rlcih0aGlzLl9yZW5kZXJTZXJ2aWNlLm9uUmVuZGVyZWRWaWV3cG9ydENoYW5nZSgoKCk9PnRoaXMuX3F1ZXVlUmVmcmVzaCgpKSkpLHRoaXMucmVnaXN0ZXIodGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXJzLm9uQnVmZmVyQWN0aXZhdGUoKCgpPT57dGhpcy5fY2FudmFzLnN0eWxlLmRpc3BsYXk9dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXI9PT10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlcnMuYWx0P1wibm9uZVwiOlwiYmxvY2tcIn0pKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9idWZmZXJTZXJ2aWNlLm9uU2Nyb2xsKCgoKT0+e3RoaXMuX2xhc3RLbm93bkJ1ZmZlckxlbmd0aCE9PXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVycy5ub3JtYWwubGluZXMubGVuZ3RoJiYodGhpcy5fcmVmcmVzaERyYXdIZWlnaHRDb25zdGFudHMoKSx0aGlzLl9yZWZyZXNoQ29sb3Jab25lUGFkZGluZygpKX0pKSl9X3JlZ2lzdGVyRGltZW5zaW9uQ2hhbmdlTGlzdGVuZXJzKCl7dGhpcy5yZWdpc3Rlcih0aGlzLl9yZW5kZXJTZXJ2aWNlLm9uUmVuZGVyKCgoKT0+e3RoaXMuX2NvbnRhaW5lckhlaWdodCYmdGhpcy5fY29udGFpbmVySGVpZ2h0PT09dGhpcy5fc2NyZWVuRWxlbWVudC5jbGllbnRIZWlnaHR8fCh0aGlzLl9xdWV1ZVJlZnJlc2goITApLHRoaXMuX2NvbnRhaW5lckhlaWdodD10aGlzLl9zY3JlZW5FbGVtZW50LmNsaWVudEhlaWdodCl9KSkpLHRoaXMucmVnaXN0ZXIodGhpcy5fb3B0aW9uc1NlcnZpY2Uub25TcGVjaWZpY09wdGlvbkNoYW5nZShcIm92ZXJ2aWV3UnVsZXJXaWR0aFwiLCgoKT0+dGhpcy5fcXVldWVSZWZyZXNoKCEwKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX2NvcmVCcm93c2VyU2VydmljZS5vbkRwckNoYW5nZSgoKCk9PnRoaXMuX3F1ZXVlUmVmcmVzaCghMCkpKSksdGhpcy5fcXVldWVSZWZyZXNoKCEwKX1fcmVmcmVzaERyYXdDb25zdGFudHMoKXtjb25zdCBlPU1hdGguZmxvb3IodGhpcy5fY2FudmFzLndpZHRoLzMpLHQ9TWF0aC5jZWlsKHRoaXMuX2NhbnZhcy53aWR0aC8zKTtsLmZ1bGw9dGhpcy5fY2FudmFzLndpZHRoLGwubGVmdD1lLGwuY2VudGVyPXQsbC5yaWdodD1lLHRoaXMuX3JlZnJlc2hEcmF3SGVpZ2h0Q29uc3RhbnRzKCksZC5mdWxsPTAsZC5sZWZ0PTAsZC5jZW50ZXI9bC5sZWZ0LGQucmlnaHQ9bC5sZWZ0K2wuY2VudGVyfV9yZWZyZXNoRHJhd0hlaWdodENvbnN0YW50cygpe2MuZnVsbD1NYXRoLnJvdW5kKDIqdGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlLmRwcik7Y29uc3QgZT10aGlzLl9jYW52YXMuaGVpZ2h0L3RoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLmxpbmVzLmxlbmd0aCx0PU1hdGgucm91bmQoTWF0aC5tYXgoTWF0aC5taW4oZSwxMiksNikqdGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlLmRwcik7Yy5sZWZ0PXQsYy5jZW50ZXI9dCxjLnJpZ2h0PXR9X3JlZnJlc2hDb2xvclpvbmVQYWRkaW5nKCl7dGhpcy5fY29sb3Jab25lU3RvcmUuc2V0UGFkZGluZyh7ZnVsbDpNYXRoLmZsb29yKHRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVycy5hY3RpdmUubGluZXMubGVuZ3RoLyh0aGlzLl9jYW52YXMuaGVpZ2h0LTEpKmMuZnVsbCksbGVmdDpNYXRoLmZsb29yKHRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVycy5hY3RpdmUubGluZXMubGVuZ3RoLyh0aGlzLl9jYW52YXMuaGVpZ2h0LTEpKmMubGVmdCksY2VudGVyOk1hdGguZmxvb3IodGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXJzLmFjdGl2ZS5saW5lcy5sZW5ndGgvKHRoaXMuX2NhbnZhcy5oZWlnaHQtMSkqYy5jZW50ZXIpLHJpZ2h0Ok1hdGguZmxvb3IodGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXJzLmFjdGl2ZS5saW5lcy5sZW5ndGgvKHRoaXMuX2NhbnZhcy5oZWlnaHQtMSkqYy5yaWdodCl9KSx0aGlzLl9sYXN0S25vd25CdWZmZXJMZW5ndGg9dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXJzLm5vcm1hbC5saW5lcy5sZW5ndGh9X3JlZnJlc2hDYW52YXNEaW1lbnNpb25zKCl7dGhpcy5fY2FudmFzLnN0eWxlLndpZHRoPWAke3RoaXMuX3dpZHRofXB4YCx0aGlzLl9jYW52YXMud2lkdGg9TWF0aC5yb3VuZCh0aGlzLl93aWR0aCp0aGlzLl9jb3JlQnJvd3NlclNlcnZpY2UuZHByKSx0aGlzLl9jYW52YXMuc3R5bGUuaGVpZ2h0PWAke3RoaXMuX3NjcmVlbkVsZW1lbnQuY2xpZW50SGVpZ2h0fXB4YCx0aGlzLl9jYW52YXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5fc2NyZWVuRWxlbWVudC5jbGllbnRIZWlnaHQqdGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlLmRwciksdGhpcy5fcmVmcmVzaERyYXdDb25zdGFudHMoKSx0aGlzLl9yZWZyZXNoQ29sb3Jab25lUGFkZGluZygpfV9yZWZyZXNoRGVjb3JhdGlvbnMoKXt0aGlzLl9zaG91bGRVcGRhdGVEaW1lbnNpb25zJiZ0aGlzLl9yZWZyZXNoQ2FudmFzRGltZW5zaW9ucygpLHRoaXMuX2N0eC5jbGVhclJlY3QoMCwwLHRoaXMuX2NhbnZhcy53aWR0aCx0aGlzLl9jYW52YXMuaGVpZ2h0KSx0aGlzLl9jb2xvclpvbmVTdG9yZS5jbGVhcigpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RlY29yYXRpb25TZXJ2aWNlLmRlY29yYXRpb25zKXRoaXMuX2NvbG9yWm9uZVN0b3JlLmFkZERlY29yYXRpb24oZSk7dGhpcy5fY3R4LmxpbmVXaWR0aD0xO2NvbnN0IGU9dGhpcy5fY29sb3Jab25lU3RvcmUuem9uZXM7Zm9yKGNvbnN0IHQgb2YgZSlcImZ1bGxcIiE9PXQucG9zaXRpb24mJnRoaXMuX3JlbmRlckNvbG9yWm9uZSh0KTtmb3IoY29uc3QgdCBvZiBlKVwiZnVsbFwiPT09dC5wb3NpdGlvbiYmdGhpcy5fcmVuZGVyQ29sb3Jab25lKHQpO3RoaXMuX3Nob3VsZFVwZGF0ZURpbWVuc2lvbnM9ITEsdGhpcy5fc2hvdWxkVXBkYXRlQW5jaG9yPSExfV9yZW5kZXJDb2xvclpvbmUoZSl7dGhpcy5fY3R4LmZpbGxTdHlsZT1lLmNvbG9yLHRoaXMuX2N0eC5maWxsUmVjdChkW2UucG9zaXRpb258fFwiZnVsbFwiXSxNYXRoLnJvdW5kKCh0aGlzLl9jYW52YXMuaGVpZ2h0LTEpKihlLnN0YXJ0QnVmZmVyTGluZS90aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlcnMuYWN0aXZlLmxpbmVzLmxlbmd0aCktY1tlLnBvc2l0aW9ufHxcImZ1bGxcIl0vMiksbFtlLnBvc2l0aW9ufHxcImZ1bGxcIl0sTWF0aC5yb3VuZCgodGhpcy5fY2FudmFzLmhlaWdodC0xKSooKGUuZW5kQnVmZmVyTGluZS1lLnN0YXJ0QnVmZmVyTGluZSkvdGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXJzLmFjdGl2ZS5saW5lcy5sZW5ndGgpK2NbZS5wb3NpdGlvbnx8XCJmdWxsXCJdKSl9X3F1ZXVlUmVmcmVzaChlLHQpe3RoaXMuX3Nob3VsZFVwZGF0ZURpbWVuc2lvbnM9ZXx8dGhpcy5fc2hvdWxkVXBkYXRlRGltZW5zaW9ucyx0aGlzLl9zaG91bGRVcGRhdGVBbmNob3I9dHx8dGhpcy5fc2hvdWxkVXBkYXRlQW5jaG9yLHZvaWQgMD09PXRoaXMuX2FuaW1hdGlvbkZyYW1lJiYodGhpcy5fYW5pbWF0aW9uRnJhbWU9dGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlLndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57dGhpcy5fcmVmcmVzaERlY29yYXRpb25zKCksdGhpcy5fYW5pbWF0aW9uRnJhbWU9dm9pZCAwfSkpKX19O3QuT3ZlcnZpZXdSdWxlclJlbmRlcmVyPV89cyhbcigyLGguSUJ1ZmZlclNlcnZpY2UpLHIoMyxoLklEZWNvcmF0aW9uU2VydmljZSkscig0LG8uSVJlbmRlclNlcnZpY2UpLHIoNSxoLklPcHRpb25zU2VydmljZSkscig2LG8uSUNvcmVCcm93c2VyU2VydmljZSldLF8pfSwyOTUwOmZ1bmN0aW9uKGUsdCxpKXt2YXIgcz10aGlzJiZ0aGlzLl9fZGVjb3JhdGV8fGZ1bmN0aW9uKGUsdCxpLHMpe3ZhciByLG49YXJndW1lbnRzLmxlbmd0aCxvPW48Mz90Om51bGw9PT1zP3M9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGkpOnM7aWYoXCJvYmplY3RcIj09dHlwZW9mIFJlZmxlY3QmJlwiZnVuY3Rpb25cIj09dHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUpbz1SZWZsZWN0LmRlY29yYXRlKGUsdCxpLHMpO2Vsc2UgZm9yKHZhciBhPWUubGVuZ3RoLTE7YT49MDthLS0pKHI9ZVthXSkmJihvPShuPDM/cihvKTpuPjM/cih0LGksbyk6cih0LGkpKXx8byk7cmV0dXJuIG4+MyYmbyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsaSxvKSxvfSxyPXRoaXMmJnRoaXMuX19wYXJhbXx8ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oaSxzKXt0KGkscyxlKX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuQ29tcG9zaXRpb25IZWxwZXI9dm9pZCAwO2NvbnN0IG49aSg0NzI1KSxvPWkoMjU4NSksYT1pKDI1ODQpO2xldCBoPXQuQ29tcG9zaXRpb25IZWxwZXI9Y2xhc3N7Z2V0IGlzQ29tcG9zaW5nKCl7cmV0dXJuIHRoaXMuX2lzQ29tcG9zaW5nfWNvbnN0cnVjdG9yKGUsdCxpLHMscixuKXt0aGlzLl90ZXh0YXJlYT1lLHRoaXMuX2NvbXBvc2l0aW9uVmlldz10LHRoaXMuX2J1ZmZlclNlcnZpY2U9aSx0aGlzLl9vcHRpb25zU2VydmljZT1zLHRoaXMuX2NvcmVTZXJ2aWNlPXIsdGhpcy5fcmVuZGVyU2VydmljZT1uLHRoaXMuX2lzQ29tcG9zaW5nPSExLHRoaXMuX2lzU2VuZGluZ0NvbXBvc2l0aW9uPSExLHRoaXMuX2NvbXBvc2l0aW9uUG9zaXRpb249e3N0YXJ0OjAsZW5kOjB9LHRoaXMuX2RhdGFBbHJlYWR5U2VudD1cIlwifWNvbXBvc2l0aW9uc3RhcnQoKXt0aGlzLl9pc0NvbXBvc2luZz0hMCx0aGlzLl9jb21wb3NpdGlvblBvc2l0aW9uLnN0YXJ0PXRoaXMuX3RleHRhcmVhLnZhbHVlLmxlbmd0aCx0aGlzLl9jb21wb3NpdGlvblZpZXcudGV4dENvbnRlbnQ9XCJcIix0aGlzLl9kYXRhQWxyZWFkeVNlbnQ9XCJcIix0aGlzLl9jb21wb3NpdGlvblZpZXcuY2xhc3NMaXN0LmFkZChcImFjdGl2ZVwiKX1jb21wb3NpdGlvbnVwZGF0ZShlKXt0aGlzLl9jb21wb3NpdGlvblZpZXcudGV4dENvbnRlbnQ9ZS5kYXRhLHRoaXMudXBkYXRlQ29tcG9zaXRpb25FbGVtZW50cygpLHNldFRpbWVvdXQoKCgpPT57dGhpcy5fY29tcG9zaXRpb25Qb3NpdGlvbi5lbmQ9dGhpcy5fdGV4dGFyZWEudmFsdWUubGVuZ3RofSksMCl9Y29tcG9zaXRpb25lbmQoKXt0aGlzLl9maW5hbGl6ZUNvbXBvc2l0aW9uKCEwKX1rZXlkb3duKGUpe2lmKHRoaXMuX2lzQ29tcG9zaW5nfHx0aGlzLl9pc1NlbmRpbmdDb21wb3NpdGlvbil7aWYoMjI5PT09ZS5rZXlDb2RlKXJldHVybiExO2lmKDE2PT09ZS5rZXlDb2RlfHwxNz09PWUua2V5Q29kZXx8MTg9PT1lLmtleUNvZGUpcmV0dXJuITE7dGhpcy5fZmluYWxpemVDb21wb3NpdGlvbighMSl9cmV0dXJuIDIyOSE9PWUua2V5Q29kZXx8KHRoaXMuX2hhbmRsZUFueVRleHRhcmVhQ2hhbmdlcygpLCExKX1fZmluYWxpemVDb21wb3NpdGlvbihlKXtpZih0aGlzLl9jb21wb3NpdGlvblZpZXcuY2xhc3NMaXN0LnJlbW92ZShcImFjdGl2ZVwiKSx0aGlzLl9pc0NvbXBvc2luZz0hMSxlKXtjb25zdCBlPXtzdGFydDp0aGlzLl9jb21wb3NpdGlvblBvc2l0aW9uLnN0YXJ0LGVuZDp0aGlzLl9jb21wb3NpdGlvblBvc2l0aW9uLmVuZH07dGhpcy5faXNTZW5kaW5nQ29tcG9zaXRpb249ITAsc2V0VGltZW91dCgoKCk9PntpZih0aGlzLl9pc1NlbmRpbmdDb21wb3NpdGlvbil7bGV0IHQ7dGhpcy5faXNTZW5kaW5nQ29tcG9zaXRpb249ITEsZS5zdGFydCs9dGhpcy5fZGF0YUFscmVhZHlTZW50Lmxlbmd0aCx0PXRoaXMuX2lzQ29tcG9zaW5nP3RoaXMuX3RleHRhcmVhLnZhbHVlLnN1YnN0cmluZyhlLnN0YXJ0LGUuZW5kKTp0aGlzLl90ZXh0YXJlYS52YWx1ZS5zdWJzdHJpbmcoZS5zdGFydCksdC5sZW5ndGg+MCYmdGhpcy5fY29yZVNlcnZpY2UudHJpZ2dlckRhdGFFdmVudCh0LCEwKX19KSwwKX1lbHNle3RoaXMuX2lzU2VuZGluZ0NvbXBvc2l0aW9uPSExO2NvbnN0IGU9dGhpcy5fdGV4dGFyZWEudmFsdWUuc3Vic3RyaW5nKHRoaXMuX2NvbXBvc2l0aW9uUG9zaXRpb24uc3RhcnQsdGhpcy5fY29tcG9zaXRpb25Qb3NpdGlvbi5lbmQpO3RoaXMuX2NvcmVTZXJ2aWNlLnRyaWdnZXJEYXRhRXZlbnQoZSwhMCl9fV9oYW5kbGVBbnlUZXh0YXJlYUNoYW5nZXMoKXtjb25zdCBlPXRoaXMuX3RleHRhcmVhLnZhbHVlO3NldFRpbWVvdXQoKCgpPT57aWYoIXRoaXMuX2lzQ29tcG9zaW5nKXtjb25zdCB0PXRoaXMuX3RleHRhcmVhLnZhbHVlLGk9dC5yZXBsYWNlKGUsXCJcIik7dGhpcy5fZGF0YUFscmVhZHlTZW50PWksdC5sZW5ndGg+ZS5sZW5ndGg/dGhpcy5fY29yZVNlcnZpY2UudHJpZ2dlckRhdGFFdmVudChpLCEwKTp0Lmxlbmd0aDxlLmxlbmd0aD90aGlzLl9jb3JlU2VydmljZS50cmlnZ2VyRGF0YUV2ZW50KGAke2EuQzAuREVMfWAsITApOnQubGVuZ3RoPT09ZS5sZW5ndGgmJnQhPT1lJiZ0aGlzLl9jb3JlU2VydmljZS50cmlnZ2VyRGF0YUV2ZW50KHQsITApfX0pLDApfXVwZGF0ZUNvbXBvc2l0aW9uRWxlbWVudHMoZSl7aWYodGhpcy5faXNDb21wb3Npbmcpe2lmKHRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLmlzQ3Vyc29ySW5WaWV3cG9ydCl7Y29uc3QgZT1NYXRoLm1pbih0aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci54LHRoaXMuX2J1ZmZlclNlcnZpY2UuY29scy0xKSx0PXRoaXMuX3JlbmRlclNlcnZpY2UuZGltZW5zaW9ucy5jc3MuY2VsbC5oZWlnaHQsaT10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci55KnRoaXMuX3JlbmRlclNlcnZpY2UuZGltZW5zaW9ucy5jc3MuY2VsbC5oZWlnaHQscz1lKnRoaXMuX3JlbmRlclNlcnZpY2UuZGltZW5zaW9ucy5jc3MuY2VsbC53aWR0aDt0aGlzLl9jb21wb3NpdGlvblZpZXcuc3R5bGUubGVmdD1zK1wicHhcIix0aGlzLl9jb21wb3NpdGlvblZpZXcuc3R5bGUudG9wPWkrXCJweFwiLHRoaXMuX2NvbXBvc2l0aW9uVmlldy5zdHlsZS5oZWlnaHQ9dCtcInB4XCIsdGhpcy5fY29tcG9zaXRpb25WaWV3LnN0eWxlLmxpbmVIZWlnaHQ9dCtcInB4XCIsdGhpcy5fY29tcG9zaXRpb25WaWV3LnN0eWxlLmZvbnRGYW1pbHk9dGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5mb250RmFtaWx5LHRoaXMuX2NvbXBvc2l0aW9uVmlldy5zdHlsZS5mb250U2l6ZT10aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmZvbnRTaXplK1wicHhcIjtjb25zdCByPXRoaXMuX2NvbXBvc2l0aW9uVmlldy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLl90ZXh0YXJlYS5zdHlsZS5sZWZ0PXMrXCJweFwiLHRoaXMuX3RleHRhcmVhLnN0eWxlLnRvcD1pK1wicHhcIix0aGlzLl90ZXh0YXJlYS5zdHlsZS53aWR0aD1NYXRoLm1heChyLndpZHRoLDEpK1wicHhcIix0aGlzLl90ZXh0YXJlYS5zdHlsZS5oZWlnaHQ9TWF0aC5tYXgoci5oZWlnaHQsMSkrXCJweFwiLHRoaXMuX3RleHRhcmVhLnN0eWxlLmxpbmVIZWlnaHQ9ci5oZWlnaHQrXCJweFwifWV8fHNldFRpbWVvdXQoKCgpPT50aGlzLnVwZGF0ZUNvbXBvc2l0aW9uRWxlbWVudHMoITApKSwwKX19fTt0LkNvbXBvc2l0aW9uSGVscGVyPWg9cyhbcigyLG8uSUJ1ZmZlclNlcnZpY2UpLHIoMyxvLklPcHRpb25zU2VydmljZSkscig0LG8uSUNvcmVTZXJ2aWNlKSxyKDUsbi5JUmVuZGVyU2VydmljZSldLGgpfSw5ODA2OihlLHQpPT57ZnVuY3Rpb24gaShlLHQsaSl7Y29uc3Qgcz1pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHI9ZS5nZXRDb21wdXRlZFN0eWxlKGkpLG49cGFyc2VJbnQoci5nZXRQcm9wZXJ0eVZhbHVlKFwicGFkZGluZy1sZWZ0XCIpKSxvPXBhcnNlSW50KHIuZ2V0UHJvcGVydHlWYWx1ZShcInBhZGRpbmctdG9wXCIpKTtyZXR1cm5bdC5jbGllbnRYLXMubGVmdC1uLHQuY2xpZW50WS1zLnRvcC1vXX1PYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LmdldENvb3Jkcz10LmdldENvb3Jkc1JlbGF0aXZlVG9FbGVtZW50PXZvaWQgMCx0LmdldENvb3Jkc1JlbGF0aXZlVG9FbGVtZW50PWksdC5nZXRDb29yZHM9ZnVuY3Rpb24oZSx0LHMscixuLG8sYSxoLGMpe2lmKCFvKXJldHVybjtjb25zdCBsPWkoZSx0LHMpO3JldHVybiBsPyhsWzBdPU1hdGguY2VpbCgobFswXSsoYz9hLzI6MCkpL2EpLGxbMV09TWF0aC5jZWlsKGxbMV0vaCksbFswXT1NYXRoLm1pbihNYXRoLm1heChsWzBdLDEpLHIrKGM/MTowKSksbFsxXT1NYXRoLm1pbihNYXRoLm1heChsWzFdLDEpLG4pLGwpOnZvaWQgMH19LDk1MDQ6KGUsdCxpKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQubW92ZVRvQ2VsbFNlcXVlbmNlPXZvaWQgMDtjb25zdCBzPWkoMjU4NCk7ZnVuY3Rpb24gcihlLHQsaSxzKXtjb25zdCByPWUtbihlLGkpLGE9dC1uKHQsaSksbD1NYXRoLmFicyhyLWEpLWZ1bmN0aW9uKGUsdCxpKXtsZXQgcz0wO2NvbnN0IHI9ZS1uKGUsaSksYT10LW4odCxpKTtmb3IobGV0IG49MDtuPE1hdGguYWJzKHItYSk7bisrKXtjb25zdCBhPVwiQVwiPT09byhlLHQpPy0xOjEsaD1pLmJ1ZmZlci5saW5lcy5nZXQocithKm4pO2g/LmlzV3JhcHBlZCYmcysrfXJldHVybiBzfShlLHQsaSk7cmV0dXJuIGMobCxoKG8oZSx0KSxzKSl9ZnVuY3Rpb24gbihlLHQpe2xldCBpPTAscz10LmJ1ZmZlci5saW5lcy5nZXQoZSkscj1zPy5pc1dyYXBwZWQ7Zm9yKDtyJiZlPj0wJiZlPHQucm93czspaSsrLHM9dC5idWZmZXIubGluZXMuZ2V0KC0tZSkscj1zPy5pc1dyYXBwZWQ7cmV0dXJuIGl9ZnVuY3Rpb24gbyhlLHQpe3JldHVybiBlPnQ/XCJBXCI6XCJCXCJ9ZnVuY3Rpb24gYShlLHQsaSxzLHIsbil7bGV0IG89ZSxhPXQsaD1cIlwiO2Zvcig7byE9PWl8fGEhPT1zOylvKz1yPzE6LTEsciYmbz5uLmNvbHMtMT8oaCs9bi5idWZmZXIudHJhbnNsYXRlQnVmZmVyTGluZVRvU3RyaW5nKGEsITEsZSxvKSxvPTAsZT0wLGErKyk6IXImJm88MCYmKGgrPW4uYnVmZmVyLnRyYW5zbGF0ZUJ1ZmZlckxpbmVUb1N0cmluZyhhLCExLDAsZSsxKSxvPW4uY29scy0xLGU9byxhLS0pO3JldHVybiBoK24uYnVmZmVyLnRyYW5zbGF0ZUJ1ZmZlckxpbmVUb1N0cmluZyhhLCExLGUsbyl9ZnVuY3Rpb24gaChlLHQpe2NvbnN0IGk9dD9cIk9cIjpcIltcIjtyZXR1cm4gcy5DMC5FU0MraStlfWZ1bmN0aW9uIGMoZSx0KXtlPU1hdGguZmxvb3IoZSk7bGV0IGk9XCJcIjtmb3IobGV0IHM9MDtzPGU7cysrKWkrPXQ7cmV0dXJuIGl9dC5tb3ZlVG9DZWxsU2VxdWVuY2U9ZnVuY3Rpb24oZSx0LGkscyl7Y29uc3Qgbz1pLmJ1ZmZlci54LGw9aS5idWZmZXIueTtpZighaS5idWZmZXIuaGFzU2Nyb2xsYmFjaylyZXR1cm4gZnVuY3Rpb24oZSx0LGkscyxvLGwpe3JldHVybiAwPT09cih0LHMsbyxsKS5sZW5ndGg/XCJcIjpjKGEoZSx0LGUsdC1uKHQsbyksITEsbykubGVuZ3RoLGgoXCJEXCIsbCkpfShvLGwsMCx0LGkscykrcihsLHQsaSxzKStmdW5jdGlvbihlLHQsaSxzLG8sbCl7bGV0IGQ7ZD1yKHQscyxvLGwpLmxlbmd0aD4wP3MtbihzLG8pOnQ7Y29uc3QgXz1zLHU9ZnVuY3Rpb24oZSx0LGkscyxvLGEpe2xldCBoO3JldHVybiBoPXIoaSxzLG8sYSkubGVuZ3RoPjA/cy1uKHMsbyk6dCxlPGkmJmg8PXN8fGU+PWkmJmg8cz9cIkNcIjpcIkRcIn0oZSx0LGkscyxvLGwpO3JldHVybiBjKGEoZSxkLGksXyxcIkNcIj09PXUsbykubGVuZ3RoLGgodSxsKSl9KG8sbCxlLHQsaSxzKTtsZXQgZDtpZihsPT09dClyZXR1cm4gZD1vPmU/XCJEXCI6XCJDXCIsYyhNYXRoLmFicyhvLWUpLGgoZCxzKSk7ZD1sPnQ/XCJEXCI6XCJDXCI7Y29uc3QgXz1NYXRoLmFicyhsLXQpO3JldHVybiBjKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQuY29scy1lfShsPnQ/ZTpvLGkpKyhfLTEpKmkuY29scysxKygobD50P286ZSktMSksaChkLHMpKX19LDEyOTY6ZnVuY3Rpb24oZSx0LGkpe3ZhciBzPXRoaXMmJnRoaXMuX19kZWNvcmF0ZXx8ZnVuY3Rpb24oZSx0LGkscyl7dmFyIHIsbj1hcmd1bWVudHMubGVuZ3RoLG89bjwzP3Q6bnVsbD09PXM/cz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsaSk6cztpZihcIm9iamVjdFwiPT10eXBlb2YgUmVmbGVjdCYmXCJmdW5jdGlvblwiPT10eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSlvPVJlZmxlY3QuZGVjb3JhdGUoZSx0LGkscyk7ZWxzZSBmb3IodmFyIGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkocj1lW2FdKSYmKG89KG48Mz9yKG8pOm4+Mz9yKHQsaSxvKTpyKHQsaSkpfHxvKTtyZXR1cm4gbj4zJiZvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxpLG8pLG99LHI9dGhpcyYmdGhpcy5fX3BhcmFtfHxmdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihpLHMpe3QoaSxzLGUpfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5Eb21SZW5kZXJlcj12b2lkIDA7Y29uc3Qgbj1pKDM3ODcpLG89aSgyNTUwKSxhPWkoMjIyMyksaD1pKDYxNzEpLGM9aSg2MDUyKSxsPWkoNDcyNSksZD1pKDgwNTUpLF89aSg4NDYwKSx1PWkoODQ0KSxmPWkoMjU4NSksdj1cInh0ZXJtLWRvbS1yZW5kZXJlci1vd25lci1cIixwPVwieHRlcm0tcm93c1wiLGc9XCJ4dGVybS1mZy1cIixtPVwieHRlcm0tYmctXCIsUz1cInh0ZXJtLWZvY3VzXCIsQz1cInh0ZXJtLXNlbGVjdGlvblwiO2xldCBiPTEsdz10LkRvbVJlbmRlcmVyPWNsYXNzIGV4dGVuZHMgdS5EaXNwb3NhYmxle2NvbnN0cnVjdG9yKGUsdCxpLHMscixhLGwsZCxmLGcsbSxTLHcpe3N1cGVyKCksdGhpcy5fdGVybWluYWw9ZSx0aGlzLl9kb2N1bWVudD10LHRoaXMuX2VsZW1lbnQ9aSx0aGlzLl9zY3JlZW5FbGVtZW50PXMsdGhpcy5fdmlld3BvcnRFbGVtZW50PXIsdGhpcy5faGVscGVyQ29udGFpbmVyPWEsdGhpcy5fbGlua2lmaWVyMj1sLHRoaXMuX2NoYXJTaXplU2VydmljZT1mLHRoaXMuX29wdGlvbnNTZXJ2aWNlPWcsdGhpcy5fYnVmZmVyU2VydmljZT1tLHRoaXMuX2NvcmVCcm93c2VyU2VydmljZT1TLHRoaXMuX3RoZW1lU2VydmljZT13LHRoaXMuX3Rlcm1pbmFsQ2xhc3M9YisrLHRoaXMuX3Jvd0VsZW1lbnRzPVtdLHRoaXMuX3NlbGVjdGlvblJlbmRlck1vZGVsPSgwLGMuY3JlYXRlU2VsZWN0aW9uUmVuZGVyTW9kZWwpKCksdGhpcy5vblJlcXVlc3RSZWRyYXc9dGhpcy5yZWdpc3RlcihuZXcgXy5FdmVudEVtaXR0ZXIpLmV2ZW50LHRoaXMuX3Jvd0NvbnRhaW5lcj10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLHRoaXMuX3Jvd0NvbnRhaW5lci5jbGFzc0xpc3QuYWRkKHApLHRoaXMuX3Jvd0NvbnRhaW5lci5zdHlsZS5saW5lSGVpZ2h0PVwibm9ybWFsXCIsdGhpcy5fcm93Q29udGFpbmVyLnNldEF0dHJpYnV0ZShcImFyaWEtaGlkZGVuXCIsXCJ0cnVlXCIpLHRoaXMuX3JlZnJlc2hSb3dFbGVtZW50cyh0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMsdGhpcy5fYnVmZmVyU2VydmljZS5yb3dzKSx0aGlzLl9zZWxlY3Rpb25Db250YWluZXI9dGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSx0aGlzLl9zZWxlY3Rpb25Db250YWluZXIuY2xhc3NMaXN0LmFkZChDKSx0aGlzLl9zZWxlY3Rpb25Db250YWluZXIuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIixcInRydWVcIiksdGhpcy5kaW1lbnNpb25zPSgwLGguY3JlYXRlUmVuZGVyRGltZW5zaW9ucykoKSx0aGlzLl91cGRhdGVEaW1lbnNpb25zKCksdGhpcy5yZWdpc3Rlcih0aGlzLl9vcHRpb25zU2VydmljZS5vbk9wdGlvbkNoYW5nZSgoKCk9PnRoaXMuX2hhbmRsZU9wdGlvbnNDaGFuZ2VkKCkpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl90aGVtZVNlcnZpY2Uub25DaGFuZ2VDb2xvcnMoKGU9PnRoaXMuX2luamVjdENzcyhlKSkpKSx0aGlzLl9pbmplY3RDc3ModGhpcy5fdGhlbWVTZXJ2aWNlLmNvbG9ycyksdGhpcy5fcm93RmFjdG9yeT1kLmNyZWF0ZUluc3RhbmNlKG4uRG9tUmVuZGVyZXJSb3dGYWN0b3J5LGRvY3VtZW50KSx0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQodit0aGlzLl90ZXJtaW5hbENsYXNzKSx0aGlzLl9zY3JlZW5FbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3Jvd0NvbnRhaW5lciksdGhpcy5fc2NyZWVuRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9zZWxlY3Rpb25Db250YWluZXIpLHRoaXMucmVnaXN0ZXIodGhpcy5fbGlua2lmaWVyMi5vblNob3dMaW5rVW5kZXJsaW5lKChlPT50aGlzLl9oYW5kbGVMaW5rSG92ZXIoZSkpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9saW5raWZpZXIyLm9uSGlkZUxpbmtVbmRlcmxpbmUoKGU9PnRoaXMuX2hhbmRsZUxpbmtMZWF2ZShlKSkpKSx0aGlzLnJlZ2lzdGVyKCgwLHUudG9EaXNwb3NhYmxlKSgoKCk9Pnt0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUodit0aGlzLl90ZXJtaW5hbENsYXNzKSx0aGlzLl9yb3dDb250YWluZXIucmVtb3ZlKCksdGhpcy5fc2VsZWN0aW9uQ29udGFpbmVyLnJlbW92ZSgpLHRoaXMuX3dpZHRoQ2FjaGUuZGlzcG9zZSgpLHRoaXMuX3RoZW1lU3R5bGVFbGVtZW50LnJlbW92ZSgpLHRoaXMuX2RpbWVuc2lvbnNTdHlsZUVsZW1lbnQucmVtb3ZlKCl9KSkpLHRoaXMuX3dpZHRoQ2FjaGU9bmV3IG8uV2lkdGhDYWNoZSh0aGlzLl9kb2N1bWVudCx0aGlzLl9oZWxwZXJDb250YWluZXIpLHRoaXMuX3dpZHRoQ2FjaGUuc2V0Rm9udCh0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmZvbnRGYW1pbHksdGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5mb250U2l6ZSx0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmZvbnRXZWlnaHQsdGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5mb250V2VpZ2h0Qm9sZCksdGhpcy5fc2V0RGVmYXVsdFNwYWNpbmcoKX1fdXBkYXRlRGltZW5zaW9ucygpe2NvbnN0IGU9dGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlLmRwcjt0aGlzLmRpbWVuc2lvbnMuZGV2aWNlLmNoYXIud2lkdGg9dGhpcy5fY2hhclNpemVTZXJ2aWNlLndpZHRoKmUsdGhpcy5kaW1lbnNpb25zLmRldmljZS5jaGFyLmhlaWdodD1NYXRoLmNlaWwodGhpcy5fY2hhclNpemVTZXJ2aWNlLmhlaWdodCplKSx0aGlzLmRpbWVuc2lvbnMuZGV2aWNlLmNlbGwud2lkdGg9dGhpcy5kaW1lbnNpb25zLmRldmljZS5jaGFyLndpZHRoK01hdGgucm91bmQodGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5sZXR0ZXJTcGFjaW5nKSx0aGlzLmRpbWVuc2lvbnMuZGV2aWNlLmNlbGwuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5kaW1lbnNpb25zLmRldmljZS5jaGFyLmhlaWdodCp0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmxpbmVIZWlnaHQpLHRoaXMuZGltZW5zaW9ucy5kZXZpY2UuY2hhci5sZWZ0PTAsdGhpcy5kaW1lbnNpb25zLmRldmljZS5jaGFyLnRvcD0wLHRoaXMuZGltZW5zaW9ucy5kZXZpY2UuY2FudmFzLndpZHRoPXRoaXMuZGltZW5zaW9ucy5kZXZpY2UuY2VsbC53aWR0aCp0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMsdGhpcy5kaW1lbnNpb25zLmRldmljZS5jYW52YXMuaGVpZ2h0PXRoaXMuZGltZW5zaW9ucy5kZXZpY2UuY2VsbC5oZWlnaHQqdGhpcy5fYnVmZmVyU2VydmljZS5yb3dzLHRoaXMuZGltZW5zaW9ucy5jc3MuY2FudmFzLndpZHRoPU1hdGgucm91bmQodGhpcy5kaW1lbnNpb25zLmRldmljZS5jYW52YXMud2lkdGgvZSksdGhpcy5kaW1lbnNpb25zLmNzcy5jYW52YXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5kaW1lbnNpb25zLmRldmljZS5jYW52YXMuaGVpZ2h0L2UpLHRoaXMuZGltZW5zaW9ucy5jc3MuY2VsbC53aWR0aD10aGlzLmRpbWVuc2lvbnMuY3NzLmNhbnZhcy53aWR0aC90aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMsdGhpcy5kaW1lbnNpb25zLmNzcy5jZWxsLmhlaWdodD10aGlzLmRpbWVuc2lvbnMuY3NzLmNhbnZhcy5oZWlnaHQvdGhpcy5fYnVmZmVyU2VydmljZS5yb3dzO2Zvcihjb25zdCBlIG9mIHRoaXMuX3Jvd0VsZW1lbnRzKWUuc3R5bGUud2lkdGg9YCR7dGhpcy5kaW1lbnNpb25zLmNzcy5jYW52YXMud2lkdGh9cHhgLGUuc3R5bGUuaGVpZ2h0PWAke3RoaXMuZGltZW5zaW9ucy5jc3MuY2VsbC5oZWlnaHR9cHhgLGUuc3R5bGUubGluZUhlaWdodD1gJHt0aGlzLmRpbWVuc2lvbnMuY3NzLmNlbGwuaGVpZ2h0fXB4YCxlLnN0eWxlLm92ZXJmbG93PVwiaGlkZGVuXCI7dGhpcy5fZGltZW5zaW9uc1N0eWxlRWxlbWVudHx8KHRoaXMuX2RpbWVuc2lvbnNTdHlsZUVsZW1lbnQ9dGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpLHRoaXMuX3NjcmVlbkVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fZGltZW5zaW9uc1N0eWxlRWxlbWVudCkpO2NvbnN0IHQ9YCR7dGhpcy5fdGVybWluYWxTZWxlY3Rvcn0gLiR7cH0gc3BhbiB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgaGVpZ2h0OiAxMDAlOyB2ZXJ0aWNhbC1hbGlnbjogdG9wO31gO3RoaXMuX2RpbWVuc2lvbnNTdHlsZUVsZW1lbnQudGV4dENvbnRlbnQ9dCx0aGlzLl9zZWxlY3Rpb25Db250YWluZXIuc3R5bGUuaGVpZ2h0PXRoaXMuX3ZpZXdwb3J0RWxlbWVudC5zdHlsZS5oZWlnaHQsdGhpcy5fc2NyZWVuRWxlbWVudC5zdHlsZS53aWR0aD1gJHt0aGlzLmRpbWVuc2lvbnMuY3NzLmNhbnZhcy53aWR0aH1weGAsdGhpcy5fc2NyZWVuRWxlbWVudC5zdHlsZS5oZWlnaHQ9YCR7dGhpcy5kaW1lbnNpb25zLmNzcy5jYW52YXMuaGVpZ2h0fXB4YH1faW5qZWN0Q3NzKGUpe3RoaXMuX3RoZW1lU3R5bGVFbGVtZW50fHwodGhpcy5fdGhlbWVTdHlsZUVsZW1lbnQ9dGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpLHRoaXMuX3NjcmVlbkVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fdGhlbWVTdHlsZUVsZW1lbnQpKTtsZXQgdD1gJHt0aGlzLl90ZXJtaW5hbFNlbGVjdG9yfSAuJHtwfSB7IGNvbG9yOiAke2UuZm9yZWdyb3VuZC5jc3N9OyBmb250LWZhbWlseTogJHt0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmZvbnRGYW1pbHl9OyBmb250LXNpemU6ICR7dGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5mb250U2l6ZX1weDsgZm9udC1rZXJuaW5nOiBub25lOyB3aGl0ZS1zcGFjZTogcHJlfWA7dCs9YCR7dGhpcy5fdGVybWluYWxTZWxlY3Rvcn0gLiR7cH0gLnh0ZXJtLWRpbSB7IGNvbG9yOiAke2QuY29sb3IubXVsdGlwbHlPcGFjaXR5KGUuZm9yZWdyb3VuZCwuNSkuY3NzfTt9YCx0Kz1gJHt0aGlzLl90ZXJtaW5hbFNlbGVjdG9yfSBzcGFuOm5vdCgueHRlcm0tYm9sZCkgeyBmb250LXdlaWdodDogJHt0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmZvbnRXZWlnaHR9O30ke3RoaXMuX3Rlcm1pbmFsU2VsZWN0b3J9IHNwYW4ueHRlcm0tYm9sZCB7IGZvbnQtd2VpZ2h0OiAke3RoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuZm9udFdlaWdodEJvbGR9O30ke3RoaXMuX3Rlcm1pbmFsU2VsZWN0b3J9IHNwYW4ueHRlcm0taXRhbGljIHsgZm9udC1zdHlsZTogaXRhbGljO31gO2NvbnN0IGk9YGJsaW5rX3VuZGVybGluZV8ke3RoaXMuX3Rlcm1pbmFsQ2xhc3N9YCxzPWBibGlua19iYXJfJHt0aGlzLl90ZXJtaW5hbENsYXNzfWAscj1gYmxpbmtfYmxvY2tfJHt0aGlzLl90ZXJtaW5hbENsYXNzfWA7dCs9YEBrZXlmcmFtZXMgJHtpfSB7IDUwJSB7ICBib3JkZXItYm90dG9tLXN0eWxlOiBoaWRkZW47IH19YCx0Kz1gQGtleWZyYW1lcyAke3N9IHsgNTAlIHsgIGJveC1zaGFkb3c6IG5vbmU7IH19YCx0Kz1gQGtleWZyYW1lcyAke3J9IHsgMCUgeyAgYmFja2dyb3VuZC1jb2xvcjogJHtlLmN1cnNvci5jc3N9OyAgY29sb3I6ICR7ZS5jdXJzb3JBY2NlbnQuY3NzfTsgfSA1MCUgeyAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgIGNvbG9yOiAke2UuY3Vyc29yLmNzc307IH19YCx0Kz1gJHt0aGlzLl90ZXJtaW5hbFNlbGVjdG9yfSAuJHtwfS4ke1N9IC54dGVybS1jdXJzb3IueHRlcm0tY3Vyc29yLWJsaW5rLnh0ZXJtLWN1cnNvci11bmRlcmxpbmUgeyBhbmltYXRpb246ICR7aX0gMXMgc3RlcC1lbmQgaW5maW5pdGU7fSR7dGhpcy5fdGVybWluYWxTZWxlY3Rvcn0gLiR7cH0uJHtTfSAueHRlcm0tY3Vyc29yLnh0ZXJtLWN1cnNvci1ibGluay54dGVybS1jdXJzb3ItYmFyIHsgYW5pbWF0aW9uOiAke3N9IDFzIHN0ZXAtZW5kIGluZmluaXRlO30ke3RoaXMuX3Rlcm1pbmFsU2VsZWN0b3J9IC4ke3B9LiR7U30gLnh0ZXJtLWN1cnNvci54dGVybS1jdXJzb3ItYmxpbmsueHRlcm0tY3Vyc29yLWJsb2NrIHsgYW5pbWF0aW9uOiAke3J9IDFzIHN0ZXAtZW5kIGluZmluaXRlO30ke3RoaXMuX3Rlcm1pbmFsU2VsZWN0b3J9IC4ke3B9IC54dGVybS1jdXJzb3IueHRlcm0tY3Vyc29yLWJsb2NrIHsgYmFja2dyb3VuZC1jb2xvcjogJHtlLmN1cnNvci5jc3N9OyBjb2xvcjogJHtlLmN1cnNvckFjY2VudC5jc3N9O30ke3RoaXMuX3Rlcm1pbmFsU2VsZWN0b3J9IC4ke3B9IC54dGVybS1jdXJzb3IueHRlcm0tY3Vyc29yLWJsb2NrOm5vdCgueHRlcm0tY3Vyc29yLWJsaW5rKSB7IGJhY2tncm91bmQtY29sb3I6ICR7ZS5jdXJzb3IuY3NzfSAhaW1wb3J0YW50OyBjb2xvcjogJHtlLmN1cnNvckFjY2VudC5jc3N9ICFpbXBvcnRhbnQ7fSR7dGhpcy5fdGVybWluYWxTZWxlY3Rvcn0gLiR7cH0gLnh0ZXJtLWN1cnNvci54dGVybS1jdXJzb3Itb3V0bGluZSB7IG91dGxpbmU6IDFweCBzb2xpZCAke2UuY3Vyc29yLmNzc307IG91dGxpbmUtb2Zmc2V0OiAtMXB4O30ke3RoaXMuX3Rlcm1pbmFsU2VsZWN0b3J9IC4ke3B9IC54dGVybS1jdXJzb3IueHRlcm0tY3Vyc29yLWJhciB7IGJveC1zaGFkb3c6ICR7dGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5jdXJzb3JXaWR0aH1weCAwIDAgJHtlLmN1cnNvci5jc3N9IGluc2V0O30ke3RoaXMuX3Rlcm1pbmFsU2VsZWN0b3J9IC4ke3B9IC54dGVybS1jdXJzb3IueHRlcm0tY3Vyc29yLXVuZGVybGluZSB7IGJvcmRlci1ib3R0b206IDFweCAke2UuY3Vyc29yLmNzc307IGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkOyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFweCk7fWAsdCs9YCR7dGhpcy5fdGVybWluYWxTZWxlY3Rvcn0gLiR7Q30geyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgei1pbmRleDogMTsgcG9pbnRlci1ldmVudHM6IG5vbmU7fSR7dGhpcy5fdGVybWluYWxTZWxlY3Rvcn0uZm9jdXMgLiR7Q30gZGl2IHsgcG9zaXRpb246IGFic29sdXRlOyBiYWNrZ3JvdW5kLWNvbG9yOiAke2Uuc2VsZWN0aW9uQmFja2dyb3VuZE9wYXF1ZS5jc3N9O30ke3RoaXMuX3Rlcm1pbmFsU2VsZWN0b3J9IC4ke0N9IGRpdiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYmFja2dyb3VuZC1jb2xvcjogJHtlLnNlbGVjdGlvbkluYWN0aXZlQmFja2dyb3VuZE9wYXF1ZS5jc3N9O31gO2Zvcihjb25zdFtpLHNdb2YgZS5hbnNpLmVudHJpZXMoKSl0Kz1gJHt0aGlzLl90ZXJtaW5hbFNlbGVjdG9yfSAuJHtnfSR7aX0geyBjb2xvcjogJHtzLmNzc307IH0ke3RoaXMuX3Rlcm1pbmFsU2VsZWN0b3J9IC4ke2d9JHtpfS54dGVybS1kaW0geyBjb2xvcjogJHtkLmNvbG9yLm11bHRpcGx5T3BhY2l0eShzLC41KS5jc3N9OyB9JHt0aGlzLl90ZXJtaW5hbFNlbGVjdG9yfSAuJHttfSR7aX0geyBiYWNrZ3JvdW5kLWNvbG9yOiAke3MuY3NzfTsgfWA7dCs9YCR7dGhpcy5fdGVybWluYWxTZWxlY3Rvcn0gLiR7Z30ke2EuSU5WRVJURURfREVGQVVMVF9DT0xPUn0geyBjb2xvcjogJHtkLmNvbG9yLm9wYXF1ZShlLmJhY2tncm91bmQpLmNzc307IH0ke3RoaXMuX3Rlcm1pbmFsU2VsZWN0b3J9IC4ke2d9JHthLklOVkVSVEVEX0RFRkFVTFRfQ09MT1J9Lnh0ZXJtLWRpbSB7IGNvbG9yOiAke2QuY29sb3IubXVsdGlwbHlPcGFjaXR5KGQuY29sb3Iub3BhcXVlKGUuYmFja2dyb3VuZCksLjUpLmNzc307IH0ke3RoaXMuX3Rlcm1pbmFsU2VsZWN0b3J9IC4ke219JHthLklOVkVSVEVEX0RFRkFVTFRfQ09MT1J9IHsgYmFja2dyb3VuZC1jb2xvcjogJHtlLmZvcmVncm91bmQuY3NzfTsgfWAsdGhpcy5fdGhlbWVTdHlsZUVsZW1lbnQudGV4dENvbnRlbnQ9dH1fc2V0RGVmYXVsdFNwYWNpbmcoKXtjb25zdCBlPXRoaXMuZGltZW5zaW9ucy5jc3MuY2VsbC53aWR0aC10aGlzLl93aWR0aENhY2hlLmdldChcIldcIiwhMSwhMSk7dGhpcy5fcm93Q29udGFpbmVyLnN0eWxlLmxldHRlclNwYWNpbmc9YCR7ZX1weGAsdGhpcy5fcm93RmFjdG9yeS5kZWZhdWx0U3BhY2luZz1lfWhhbmRsZURldmljZVBpeGVsUmF0aW9DaGFuZ2UoKXt0aGlzLl91cGRhdGVEaW1lbnNpb25zKCksdGhpcy5fd2lkdGhDYWNoZS5jbGVhcigpLHRoaXMuX3NldERlZmF1bHRTcGFjaW5nKCl9X3JlZnJlc2hSb3dFbGVtZW50cyhlLHQpe2ZvcihsZXQgZT10aGlzLl9yb3dFbGVtZW50cy5sZW5ndGg7ZTw9dDtlKyspe2NvbnN0IGU9dGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTt0aGlzLl9yb3dDb250YWluZXIuYXBwZW5kQ2hpbGQoZSksdGhpcy5fcm93RWxlbWVudHMucHVzaChlKX1mb3IoO3RoaXMuX3Jvd0VsZW1lbnRzLmxlbmd0aD50Oyl0aGlzLl9yb3dDb250YWluZXIucmVtb3ZlQ2hpbGQodGhpcy5fcm93RWxlbWVudHMucG9wKCkpfWhhbmRsZVJlc2l6ZShlLHQpe3RoaXMuX3JlZnJlc2hSb3dFbGVtZW50cyhlLHQpLHRoaXMuX3VwZGF0ZURpbWVuc2lvbnMoKSx0aGlzLmhhbmRsZVNlbGVjdGlvbkNoYW5nZWQodGhpcy5fc2VsZWN0aW9uUmVuZGVyTW9kZWwuc2VsZWN0aW9uU3RhcnQsdGhpcy5fc2VsZWN0aW9uUmVuZGVyTW9kZWwuc2VsZWN0aW9uRW5kLHRoaXMuX3NlbGVjdGlvblJlbmRlck1vZGVsLmNvbHVtblNlbGVjdE1vZGUpfWhhbmRsZUNoYXJTaXplQ2hhbmdlZCgpe3RoaXMuX3VwZGF0ZURpbWVuc2lvbnMoKSx0aGlzLl93aWR0aENhY2hlLmNsZWFyKCksdGhpcy5fc2V0RGVmYXVsdFNwYWNpbmcoKX1oYW5kbGVCbHVyKCl7dGhpcy5fcm93Q29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUoUyksdGhpcy5yZW5kZXJSb3dzKDAsdGhpcy5fYnVmZmVyU2VydmljZS5yb3dzLTEpfWhhbmRsZUZvY3VzKCl7dGhpcy5fcm93Q29udGFpbmVyLmNsYXNzTGlzdC5hZGQoUyksdGhpcy5yZW5kZXJSb3dzKHRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLnksdGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIueSl9aGFuZGxlU2VsZWN0aW9uQ2hhbmdlZChlLHQsaSl7aWYodGhpcy5fc2VsZWN0aW9uQ29udGFpbmVyLnJlcGxhY2VDaGlsZHJlbigpLHRoaXMuX3Jvd0ZhY3RvcnkuaGFuZGxlU2VsZWN0aW9uQ2hhbmdlZChlLHQsaSksdGhpcy5yZW5kZXJSb3dzKDAsdGhpcy5fYnVmZmVyU2VydmljZS5yb3dzLTEpLCFlfHwhdClyZXR1cm47dGhpcy5fc2VsZWN0aW9uUmVuZGVyTW9kZWwudXBkYXRlKHRoaXMuX3Rlcm1pbmFsLGUsdCxpKTtjb25zdCBzPXRoaXMuX3NlbGVjdGlvblJlbmRlck1vZGVsLnZpZXdwb3J0U3RhcnRSb3cscj10aGlzLl9zZWxlY3Rpb25SZW5kZXJNb2RlbC52aWV3cG9ydEVuZFJvdyxuPXRoaXMuX3NlbGVjdGlvblJlbmRlck1vZGVsLnZpZXdwb3J0Q2FwcGVkU3RhcnRSb3csbz10aGlzLl9zZWxlY3Rpb25SZW5kZXJNb2RlbC52aWV3cG9ydENhcHBlZEVuZFJvdztpZihuPj10aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3N8fG88MClyZXR1cm47Y29uc3QgYT10aGlzLl9kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7aWYoaSl7Y29uc3QgaT1lWzBdPnRbMF07YS5hcHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVTZWxlY3Rpb25FbGVtZW50KG4saT90WzBdOmVbMF0saT9lWzBdOnRbMF0sby1uKzEpKX1lbHNle2NvbnN0IGk9cz09PW4/ZVswXTowLGg9bj09PXI/dFswXTp0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHM7YS5hcHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVTZWxlY3Rpb25FbGVtZW50KG4saSxoKSk7Y29uc3QgYz1vLW4tMTtpZihhLmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZVNlbGVjdGlvbkVsZW1lbnQobisxLDAsdGhpcy5fYnVmZmVyU2VydmljZS5jb2xzLGMpKSxuIT09byl7Y29uc3QgZT1yPT09bz90WzBdOnRoaXMuX2J1ZmZlclNlcnZpY2UuY29sczthLmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZVNlbGVjdGlvbkVsZW1lbnQobywwLGUpKX19dGhpcy5fc2VsZWN0aW9uQ29udGFpbmVyLmFwcGVuZENoaWxkKGEpfV9jcmVhdGVTZWxlY3Rpb25FbGVtZW50KGUsdCxpLHM9MSl7Y29uc3Qgcj10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLG49dCp0aGlzLmRpbWVuc2lvbnMuY3NzLmNlbGwud2lkdGg7bGV0IG89dGhpcy5kaW1lbnNpb25zLmNzcy5jZWxsLndpZHRoKihpLXQpO3JldHVybiBuK28+dGhpcy5kaW1lbnNpb25zLmNzcy5jYW52YXMud2lkdGgmJihvPXRoaXMuZGltZW5zaW9ucy5jc3MuY2FudmFzLndpZHRoLW4pLHIuc3R5bGUuaGVpZ2h0PXMqdGhpcy5kaW1lbnNpb25zLmNzcy5jZWxsLmhlaWdodCtcInB4XCIsci5zdHlsZS50b3A9ZSp0aGlzLmRpbWVuc2lvbnMuY3NzLmNlbGwuaGVpZ2h0K1wicHhcIixyLnN0eWxlLmxlZnQ9YCR7bn1weGAsci5zdHlsZS53aWR0aD1gJHtvfXB4YCxyfWhhbmRsZUN1cnNvck1vdmUoKXt9X2hhbmRsZU9wdGlvbnNDaGFuZ2VkKCl7dGhpcy5fdXBkYXRlRGltZW5zaW9ucygpLHRoaXMuX2luamVjdENzcyh0aGlzLl90aGVtZVNlcnZpY2UuY29sb3JzKSx0aGlzLl93aWR0aENhY2hlLnNldEZvbnQodGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5mb250RmFtaWx5LHRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuZm9udFNpemUsdGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5mb250V2VpZ2h0LHRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuZm9udFdlaWdodEJvbGQpLHRoaXMuX3NldERlZmF1bHRTcGFjaW5nKCl9Y2xlYXIoKXtmb3IoY29uc3QgZSBvZiB0aGlzLl9yb3dFbGVtZW50cyllLnJlcGxhY2VDaGlsZHJlbigpfXJlbmRlclJvd3MoZSx0KXtjb25zdCBpPXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLHM9aS55YmFzZStpLnkscj1NYXRoLm1pbihpLngsdGhpcy5fYnVmZmVyU2VydmljZS5jb2xzLTEpLG49dGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5jdXJzb3JCbGluayxvPXRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuY3Vyc29yU3R5bGUsYT10aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmN1cnNvckluYWN0aXZlU3R5bGU7Zm9yKGxldCBoPWU7aDw9dDtoKyspe2NvbnN0IGU9aCtpLnlkaXNwLHQ9dGhpcy5fcm93RWxlbWVudHNbaF0sYz1pLmxpbmVzLmdldChlKTtpZighdHx8IWMpYnJlYWs7dC5yZXBsYWNlQ2hpbGRyZW4oLi4udGhpcy5fcm93RmFjdG9yeS5jcmVhdGVSb3coYyxlLGU9PT1zLG8sYSxyLG4sdGhpcy5kaW1lbnNpb25zLmNzcy5jZWxsLndpZHRoLHRoaXMuX3dpZHRoQ2FjaGUsLTEsLTEpKX19Z2V0IF90ZXJtaW5hbFNlbGVjdG9yKCl7cmV0dXJuYC4ke3Z9JHt0aGlzLl90ZXJtaW5hbENsYXNzfWB9X2hhbmRsZUxpbmtIb3ZlcihlKXt0aGlzLl9zZXRDZWxsVW5kZXJsaW5lKGUueDEsZS54MixlLnkxLGUueTIsZS5jb2xzLCEwKX1faGFuZGxlTGlua0xlYXZlKGUpe3RoaXMuX3NldENlbGxVbmRlcmxpbmUoZS54MSxlLngyLGUueTEsZS55MixlLmNvbHMsITEpfV9zZXRDZWxsVW5kZXJsaW5lKGUsdCxpLHMscixuKXtpPDAmJihlPTApLHM8MCYmKHQ9MCk7Y29uc3Qgbz10aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MtMTtpPU1hdGgubWF4KE1hdGgubWluKGksbyksMCkscz1NYXRoLm1heChNYXRoLm1pbihzLG8pLDApLHI9TWF0aC5taW4ocix0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMpO2NvbnN0IGE9dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIsaD1hLnliYXNlK2EueSxjPU1hdGgubWluKGEueCxyLTEpLGw9dGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5jdXJzb3JCbGluayxkPXRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuY3Vyc29yU3R5bGUsXz10aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmN1cnNvckluYWN0aXZlU3R5bGU7Zm9yKGxldCBvPWk7bzw9czsrK28pe2NvbnN0IHU9bythLnlkaXNwLGY9dGhpcy5fcm93RWxlbWVudHNbb10sdj1hLmxpbmVzLmdldCh1KTtpZighZnx8IXYpYnJlYWs7Zi5yZXBsYWNlQ2hpbGRyZW4oLi4udGhpcy5fcm93RmFjdG9yeS5jcmVhdGVSb3codix1LHU9PT1oLGQsXyxjLGwsdGhpcy5kaW1lbnNpb25zLmNzcy5jZWxsLndpZHRoLHRoaXMuX3dpZHRoQ2FjaGUsbj9vPT09aT9lOjA6LTEsbj8obz09PXM/dDpyKS0xOi0xKSl9fX07dC5Eb21SZW5kZXJlcj13PXMoW3IoNyxmLklJbnN0YW50aWF0aW9uU2VydmljZSkscig4LGwuSUNoYXJTaXplU2VydmljZSkscig5LGYuSU9wdGlvbnNTZXJ2aWNlKSxyKDEwLGYuSUJ1ZmZlclNlcnZpY2UpLHIoMTEsbC5JQ29yZUJyb3dzZXJTZXJ2aWNlKSxyKDEyLGwuSVRoZW1lU2VydmljZSldLHcpfSwzNzg3OmZ1bmN0aW9uKGUsdCxpKXt2YXIgcz10aGlzJiZ0aGlzLl9fZGVjb3JhdGV8fGZ1bmN0aW9uKGUsdCxpLHMpe3ZhciByLG49YXJndW1lbnRzLmxlbmd0aCxvPW48Mz90Om51bGw9PT1zP3M9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGkpOnM7aWYoXCJvYmplY3RcIj09dHlwZW9mIFJlZmxlY3QmJlwiZnVuY3Rpb25cIj09dHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUpbz1SZWZsZWN0LmRlY29yYXRlKGUsdCxpLHMpO2Vsc2UgZm9yKHZhciBhPWUubGVuZ3RoLTE7YT49MDthLS0pKHI9ZVthXSkmJihvPShuPDM/cihvKTpuPjM/cih0LGksbyk6cih0LGkpKXx8byk7cmV0dXJuIG4+MyYmbyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsaSxvKSxvfSxyPXRoaXMmJnRoaXMuX19wYXJhbXx8ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oaSxzKXt0KGkscyxlKX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuRG9tUmVuZGVyZXJSb3dGYWN0b3J5PXZvaWQgMDtjb25zdCBuPWkoMjIyMyksbz1pKDY0MyksYT1pKDUxMSksaD1pKDI1ODUpLGM9aSg4MDU1KSxsPWkoNDcyNSksZD1pKDQyNjkpLF89aSg2MTcxKSx1PWkoMzczNCk7bGV0IGY9dC5Eb21SZW5kZXJlclJvd0ZhY3Rvcnk9Y2xhc3N7Y29uc3RydWN0b3IoZSx0LGkscyxyLG4sbyl7dGhpcy5fZG9jdW1lbnQ9ZSx0aGlzLl9jaGFyYWN0ZXJKb2luZXJTZXJ2aWNlPXQsdGhpcy5fb3B0aW9uc1NlcnZpY2U9aSx0aGlzLl9jb3JlQnJvd3NlclNlcnZpY2U9cyx0aGlzLl9jb3JlU2VydmljZT1yLHRoaXMuX2RlY29yYXRpb25TZXJ2aWNlPW4sdGhpcy5fdGhlbWVTZXJ2aWNlPW8sdGhpcy5fd29ya0NlbGw9bmV3IGEuQ2VsbERhdGEsdGhpcy5fY29sdW1uU2VsZWN0TW9kZT0hMSx0aGlzLmRlZmF1bHRTcGFjaW5nPTB9aGFuZGxlU2VsZWN0aW9uQ2hhbmdlZChlLHQsaSl7dGhpcy5fc2VsZWN0aW9uU3RhcnQ9ZSx0aGlzLl9zZWxlY3Rpb25FbmQ9dCx0aGlzLl9jb2x1bW5TZWxlY3RNb2RlPWl9Y3JlYXRlUm93KGUsdCxpLHMscixhLGgsbCxfLGYscCl7Y29uc3QgZz1bXSxtPXRoaXMuX2NoYXJhY3RlckpvaW5lclNlcnZpY2UuZ2V0Sm9pbmVkQ2hhcmFjdGVycyh0KSxTPXRoaXMuX3RoZW1lU2VydmljZS5jb2xvcnM7bGV0IEMsYj1lLmdldE5vQmdUcmltbWVkTGVuZ3RoKCk7aSYmYjxhKzEmJihiPWErMSk7bGV0IHc9MCx5PVwiXCIsRT0wLGs9MCxMPTAsRD0hMSxSPTAseD0hMSxBPTA7Y29uc3QgQj1bXSxUPS0xIT09ZiYmLTEhPT1wO2ZvcihsZXQgTT0wO008YjtNKyspe2UubG9hZENlbGwoTSx0aGlzLl93b3JrQ2VsbCk7bGV0IGI9dGhpcy5fd29ya0NlbGwuZ2V0V2lkdGgoKTtpZigwPT09Yiljb250aW51ZTtsZXQgTz0hMSxQPU0sST10aGlzLl93b3JrQ2VsbDtpZihtLmxlbmd0aD4wJiZNPT09bVswXVswXSl7Tz0hMDtjb25zdCB0PW0uc2hpZnQoKTtJPW5ldyBkLkpvaW5lZENlbGxEYXRhKHRoaXMuX3dvcmtDZWxsLGUudHJhbnNsYXRlVG9TdHJpbmcoITAsdFswXSx0WzFdKSx0WzFdLXRbMF0pLFA9dFsxXS0xLGI9SS5nZXRXaWR0aCgpfWNvbnN0IEg9dGhpcy5faXNDZWxsSW5TZWxlY3Rpb24oTSx0KSxGPWkmJk09PT1hLFc9VCYmTT49ZiYmTTw9cDtsZXQgVT0hMTt0aGlzLl9kZWNvcmF0aW9uU2VydmljZS5mb3JFYWNoRGVjb3JhdGlvbkF0Q2VsbChNLHQsdm9pZCAwLChlPT57VT0hMH0pKTtsZXQgTj1JLmdldENoYXJzKCl8fG8uV0hJVEVTUEFDRV9DRUxMX0NIQVI7aWYoXCIgXCI9PT1OJiYoSS5pc1VuZGVybGluZSgpfHxJLmlzT3ZlcmxpbmUoKSkmJihOPVwiwqBcIiksQT1iKmwtXy5nZXQoTixJLmlzQm9sZCgpLEkuaXNJdGFsaWMoKSksQyl7aWYodyYmKEgmJnh8fCFIJiYheCYmSS5iZz09PUUpJiYoSCYmeCYmUy5zZWxlY3Rpb25Gb3JlZ3JvdW5kfHxJLmZnPT09aykmJkkuZXh0ZW5kZWQuZXh0PT09TCYmVz09PUQmJkE9PT1SJiYhRiYmIU8mJiFVKXtJLmlzSW52aXNpYmxlKCk/eSs9by5XSElURVNQQUNFX0NFTExfQ0hBUjp5Kz1OLHcrKztjb250aW51ZX13JiYoQy50ZXh0Q29udGVudD15KSxDPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIpLHc9MCx5PVwiXCJ9ZWxzZSBDPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIpO2lmKEU9SS5iZyxrPUkuZmcsTD1JLmV4dGVuZGVkLmV4dCxEPVcsUj1BLHg9SCxPJiZhPj1NJiZhPD1QJiYoYT1NKSwhdGhpcy5fY29yZVNlcnZpY2UuaXNDdXJzb3JIaWRkZW4mJkYmJnRoaXMuX2NvcmVTZXJ2aWNlLmlzQ3Vyc29ySW5pdGlhbGl6ZWQpaWYoQi5wdXNoKFwieHRlcm0tY3Vyc29yXCIpLHRoaXMuX2NvcmVCcm93c2VyU2VydmljZS5pc0ZvY3VzZWQpaCYmQi5wdXNoKFwieHRlcm0tY3Vyc29yLWJsaW5rXCIpLEIucHVzaChcImJhclwiPT09cz9cInh0ZXJtLWN1cnNvci1iYXJcIjpcInVuZGVybGluZVwiPT09cz9cInh0ZXJtLWN1cnNvci11bmRlcmxpbmVcIjpcInh0ZXJtLWN1cnNvci1ibG9ja1wiKTtlbHNlIGlmKHIpc3dpdGNoKHIpe2Nhc2VcIm91dGxpbmVcIjpCLnB1c2goXCJ4dGVybS1jdXJzb3Itb3V0bGluZVwiKTticmVhaztjYXNlXCJibG9ja1wiOkIucHVzaChcInh0ZXJtLWN1cnNvci1ibG9ja1wiKTticmVhaztjYXNlXCJiYXJcIjpCLnB1c2goXCJ4dGVybS1jdXJzb3ItYmFyXCIpO2JyZWFrO2Nhc2VcInVuZGVybGluZVwiOkIucHVzaChcInh0ZXJtLWN1cnNvci11bmRlcmxpbmVcIil9aWYoSS5pc0JvbGQoKSYmQi5wdXNoKFwieHRlcm0tYm9sZFwiKSxJLmlzSXRhbGljKCkmJkIucHVzaChcInh0ZXJtLWl0YWxpY1wiKSxJLmlzRGltKCkmJkIucHVzaChcInh0ZXJtLWRpbVwiKSx5PUkuaXNJbnZpc2libGUoKT9vLldISVRFU1BBQ0VfQ0VMTF9DSEFSOkkuZ2V0Q2hhcnMoKXx8by5XSElURVNQQUNFX0NFTExfQ0hBUixJLmlzVW5kZXJsaW5lKCkmJihCLnB1c2goYHh0ZXJtLXVuZGVybGluZS0ke0kuZXh0ZW5kZWQudW5kZXJsaW5lU3R5bGV9YCksXCIgXCI9PT15JiYoeT1cIsKgXCIpLCFJLmlzVW5kZXJsaW5lQ29sb3JEZWZhdWx0KCkpKWlmKEkuaXNVbmRlcmxpbmVDb2xvclJHQigpKUMuc3R5bGUudGV4dERlY29yYXRpb25Db2xvcj1gcmdiKCR7dS5BdHRyaWJ1dGVEYXRhLnRvQ29sb3JSR0IoSS5nZXRVbmRlcmxpbmVDb2xvcigpKS5qb2luKFwiLFwiKX0pYDtlbHNle2xldCBlPUkuZ2V0VW5kZXJsaW5lQ29sb3IoKTt0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmRyYXdCb2xkVGV4dEluQnJpZ2h0Q29sb3JzJiZJLmlzQm9sZCgpJiZlPDgmJihlKz04KSxDLnN0eWxlLnRleHREZWNvcmF0aW9uQ29sb3I9Uy5hbnNpW2VdLmNzc31JLmlzT3ZlcmxpbmUoKSYmKEIucHVzaChcInh0ZXJtLW92ZXJsaW5lXCIpLFwiIFwiPT09eSYmKHk9XCLCoFwiKSksSS5pc1N0cmlrZXRocm91Z2goKSYmQi5wdXNoKFwieHRlcm0tc3RyaWtldGhyb3VnaFwiKSxXJiYoQy5zdHlsZS50ZXh0RGVjb3JhdGlvbj1cInVuZGVybGluZVwiKTtsZXQgJD1JLmdldEZnQ29sb3IoKSxqPUkuZ2V0RmdDb2xvck1vZGUoKSx6PUkuZ2V0QmdDb2xvcigpLEs9SS5nZXRCZ0NvbG9yTW9kZSgpO2NvbnN0IHE9ISFJLmlzSW52ZXJzZSgpO2lmKHEpe2NvbnN0IGU9JDskPXosej1lO2NvbnN0IHQ9ajtqPUssSz10fWxldCBWLEcsWCxKPSExO3N3aXRjaCh0aGlzLl9kZWNvcmF0aW9uU2VydmljZS5mb3JFYWNoRGVjb3JhdGlvbkF0Q2VsbChNLHQsdm9pZCAwLChlPT57XCJ0b3BcIiE9PWUub3B0aW9ucy5sYXllciYmSnx8KGUuYmFja2dyb3VuZENvbG9yUkdCJiYoSz01MDMzMTY0OCx6PWUuYmFja2dyb3VuZENvbG9yUkdCLnJnYmE+PjgmMTY3NzcyMTUsVj1lLmJhY2tncm91bmRDb2xvclJHQiksZS5mb3JlZ3JvdW5kQ29sb3JSR0ImJihqPTUwMzMxNjQ4LCQ9ZS5mb3JlZ3JvdW5kQ29sb3JSR0IucmdiYT4+OCYxNjc3NzIxNSxHPWUuZm9yZWdyb3VuZENvbG9yUkdCKSxKPVwidG9wXCI9PT1lLm9wdGlvbnMubGF5ZXIpfSkpLCFKJiZIJiYoVj10aGlzLl9jb3JlQnJvd3NlclNlcnZpY2UuaXNGb2N1c2VkP1Muc2VsZWN0aW9uQmFja2dyb3VuZE9wYXF1ZTpTLnNlbGVjdGlvbkluYWN0aXZlQmFja2dyb3VuZE9wYXF1ZSx6PVYucmdiYT4+OCYxNjc3NzIxNSxLPTUwMzMxNjQ4LEo9ITAsUy5zZWxlY3Rpb25Gb3JlZ3JvdW5kJiYoaj01MDMzMTY0OCwkPVMuc2VsZWN0aW9uRm9yZWdyb3VuZC5yZ2JhPj44JjE2Nzc3MjE1LEc9Uy5zZWxlY3Rpb25Gb3JlZ3JvdW5kKSksSiYmQi5wdXNoKFwieHRlcm0tZGVjb3JhdGlvbi10b3BcIiksSyl7Y2FzZSAxNjc3NzIxNjpjYXNlIDMzNTU0NDMyOlg9Uy5hbnNpW3pdLEIucHVzaChgeHRlcm0tYmctJHt6fWApO2JyZWFrO2Nhc2UgNTAzMzE2NDg6WD1jLmNoYW5uZWxzLnRvQ29sb3Ioej4+MTYsej4+OCYyNTUsMjU1JnopLHRoaXMuX2FkZFN0eWxlKEMsYGJhY2tncm91bmQtY29sb3I6IyR7digoej4+PjApLnRvU3RyaW5nKDE2KSxcIjBcIiw2KX1gKTticmVhaztkZWZhdWx0OnE/KFg9Uy5mb3JlZ3JvdW5kLEIucHVzaChgeHRlcm0tYmctJHtuLklOVkVSVEVEX0RFRkFVTFRfQ09MT1J9YCkpOlg9Uy5iYWNrZ3JvdW5kfXN3aXRjaChWfHxJLmlzRGltKCkmJihWPWMuY29sb3IubXVsdGlwbHlPcGFjaXR5KFgsLjUpKSxqKXtjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6SS5pc0JvbGQoKSYmJDw4JiZ0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmRyYXdCb2xkVGV4dEluQnJpZ2h0Q29sb3JzJiYoJCs9OCksdGhpcy5fYXBwbHlNaW5pbXVtQ29udHJhc3QoQyxYLFMuYW5zaVskXSxJLFYsdm9pZCAwKXx8Qi5wdXNoKGB4dGVybS1mZy0keyR9YCk7YnJlYWs7Y2FzZSA1MDMzMTY0ODpjb25zdCBlPWMuY2hhbm5lbHMudG9Db2xvcigkPj4xNiYyNTUsJD4+OCYyNTUsMjU1JiQpO3RoaXMuX2FwcGx5TWluaW11bUNvbnRyYXN0KEMsWCxlLEksVixHKXx8dGhpcy5fYWRkU3R5bGUoQyxgY29sb3I6IyR7digkLnRvU3RyaW5nKDE2KSxcIjBcIiw2KX1gKTticmVhaztkZWZhdWx0OnRoaXMuX2FwcGx5TWluaW11bUNvbnRyYXN0KEMsWCxTLmZvcmVncm91bmQsSSxWLEcpfHxxJiZCLnB1c2goYHh0ZXJtLWZnLSR7bi5JTlZFUlRFRF9ERUZBVUxUX0NPTE9SfWApfUIubGVuZ3RoJiYoQy5jbGFzc05hbWU9Qi5qb2luKFwiIFwiKSxCLmxlbmd0aD0wKSxGfHxPfHxVP0MudGV4dENvbnRlbnQ9eTp3KyssQSE9PXRoaXMuZGVmYXVsdFNwYWNpbmcmJihDLnN0eWxlLmxldHRlclNwYWNpbmc9YCR7QX1weGApLGcucHVzaChDKSxNPVB9cmV0dXJuIEMmJncmJihDLnRleHRDb250ZW50PXkpLGd9X2FwcGx5TWluaW11bUNvbnRyYXN0KGUsdCxpLHMscixuKXtpZigxPT09dGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5taW5pbXVtQ29udHJhc3RSYXRpb3x8KDAsXy50cmVhdEdseXBoQXNCYWNrZ3JvdW5kQ29sb3IpKHMuZ2V0Q29kZSgpKSlyZXR1cm4hMTtjb25zdCBvPXRoaXMuX2dldENvbnRyYXN0Q2FjaGUocyk7bGV0IGE7aWYocnx8bnx8KGE9by5nZXRDb2xvcih0LnJnYmEsaS5yZ2JhKSksdm9pZCAwPT09YSl7Y29uc3QgZT10aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLm1pbmltdW1Db250cmFzdFJhdGlvLyhzLmlzRGltKCk/MjoxKTthPWMuY29sb3IuZW5zdXJlQ29udHJhc3RSYXRpbyhyfHx0LG58fGksZSksby5zZXRDb2xvcigocnx8dCkucmdiYSwobnx8aSkucmdiYSxhPz9udWxsKX1yZXR1cm4hIWEmJih0aGlzLl9hZGRTdHlsZShlLGBjb2xvcjoke2EuY3NzfWApLCEwKX1fZ2V0Q29udHJhc3RDYWNoZShlKXtyZXR1cm4gZS5pc0RpbSgpP3RoaXMuX3RoZW1lU2VydmljZS5jb2xvcnMuaGFsZkNvbnRyYXN0Q2FjaGU6dGhpcy5fdGhlbWVTZXJ2aWNlLmNvbG9ycy5jb250cmFzdENhY2hlfV9hZGRTdHlsZShlLHQpe2Uuc2V0QXR0cmlidXRlKFwic3R5bGVcIixgJHtlLmdldEF0dHJpYnV0ZShcInN0eWxlXCIpfHxcIlwifSR7dH07YCl9X2lzQ2VsbEluU2VsZWN0aW9uKGUsdCl7Y29uc3QgaT10aGlzLl9zZWxlY3Rpb25TdGFydCxzPXRoaXMuX3NlbGVjdGlvbkVuZDtyZXR1cm4hKCFpfHwhcykmJih0aGlzLl9jb2x1bW5TZWxlY3RNb2RlP2lbMF08PXNbMF0/ZT49aVswXSYmdD49aVsxXSYmZTxzWzBdJiZ0PD1zWzFdOmU8aVswXSYmdD49aVsxXSYmZT49c1swXSYmdDw9c1sxXTp0PmlbMV0mJnQ8c1sxXXx8aVsxXT09PXNbMV0mJnQ9PT1pWzFdJiZlPj1pWzBdJiZlPHNbMF18fGlbMV08c1sxXSYmdD09PXNbMV0mJmU8c1swXXx8aVsxXTxzWzFdJiZ0PT09aVsxXSYmZT49aVswXSl9fTtmdW5jdGlvbiB2KGUsdCxpKXtmb3IoO2UubGVuZ3RoPGk7KWU9dCtlO3JldHVybiBlfXQuRG9tUmVuZGVyZXJSb3dGYWN0b3J5PWY9cyhbcigxLGwuSUNoYXJhY3RlckpvaW5lclNlcnZpY2UpLHIoMixoLklPcHRpb25zU2VydmljZSkscigzLGwuSUNvcmVCcm93c2VyU2VydmljZSkscig0LGguSUNvcmVTZXJ2aWNlKSxyKDUsaC5JRGVjb3JhdGlvblNlcnZpY2UpLHIoNixsLklUaGVtZVNlcnZpY2UpXSxmKX0sMjU1MDooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuV2lkdGhDYWNoZT12b2lkIDAsdC5XaWR0aENhY2hlPWNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fZmxhdD1uZXcgRmxvYXQzMkFycmF5KDI1NiksdGhpcy5fZm9udD1cIlwiLHRoaXMuX2ZvbnRTaXplPTAsdGhpcy5fd2VpZ2h0PVwibm9ybWFsXCIsdGhpcy5fd2VpZ2h0Qm9sZD1cImJvbGRcIix0aGlzLl9tZWFzdXJlRWxlbWVudHM9W10sdGhpcy5fY29udGFpbmVyPWUuY3JlYXRlRWxlbWVudChcImRpdlwiKSx0aGlzLl9jb250YWluZXIuY2xhc3NMaXN0LmFkZChcInh0ZXJtLXdpZHRoLWNhY2hlLW1lYXN1cmUtY29udGFpbmVyXCIpLHRoaXMuX2NvbnRhaW5lci5zZXRBdHRyaWJ1dGUoXCJhcmlhLWhpZGRlblwiLFwidHJ1ZVwiKSx0aGlzLl9jb250YWluZXIuc3R5bGUud2hpdGVTcGFjZT1cInByZVwiLHRoaXMuX2NvbnRhaW5lci5zdHlsZS5mb250S2VybmluZz1cIm5vbmVcIjtjb25zdCBpPWUuY3JlYXRlRWxlbWVudChcInNwYW5cIik7aS5jbGFzc0xpc3QuYWRkKFwieHRlcm0tY2hhci1tZWFzdXJlLWVsZW1lbnRcIik7Y29uc3Qgcz1lLmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIpO3MuY2xhc3NMaXN0LmFkZChcInh0ZXJtLWNoYXItbWVhc3VyZS1lbGVtZW50XCIpLHMuc3R5bGUuZm9udFdlaWdodD1cImJvbGRcIjtjb25zdCByPWUuY3JlYXRlRWxlbWVudChcInNwYW5cIik7ci5jbGFzc0xpc3QuYWRkKFwieHRlcm0tY2hhci1tZWFzdXJlLWVsZW1lbnRcIiksci5zdHlsZS5mb250U3R5bGU9XCJpdGFsaWNcIjtjb25zdCBuPWUuY3JlYXRlRWxlbWVudChcInNwYW5cIik7bi5jbGFzc0xpc3QuYWRkKFwieHRlcm0tY2hhci1tZWFzdXJlLWVsZW1lbnRcIiksbi5zdHlsZS5mb250V2VpZ2h0PVwiYm9sZFwiLG4uc3R5bGUuZm9udFN0eWxlPVwiaXRhbGljXCIsdGhpcy5fbWVhc3VyZUVsZW1lbnRzPVtpLHMscixuXSx0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQoaSksdGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKHMpLHRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChyKSx0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQobiksdC5hcHBlbmRDaGlsZCh0aGlzLl9jb250YWluZXIpLHRoaXMuY2xlYXIoKX1kaXNwb3NlKCl7dGhpcy5fY29udGFpbmVyLnJlbW92ZSgpLHRoaXMuX21lYXN1cmVFbGVtZW50cy5sZW5ndGg9MCx0aGlzLl9ob2xleT12b2lkIDB9Y2xlYXIoKXt0aGlzLl9mbGF0LmZpbGwoLTk5OTkpLHRoaXMuX2hvbGV5PW5ldyBNYXB9c2V0Rm9udChlLHQsaSxzKXtlPT09dGhpcy5fZm9udCYmdD09PXRoaXMuX2ZvbnRTaXplJiZpPT09dGhpcy5fd2VpZ2h0JiZzPT09dGhpcy5fd2VpZ2h0Qm9sZHx8KHRoaXMuX2ZvbnQ9ZSx0aGlzLl9mb250U2l6ZT10LHRoaXMuX3dlaWdodD1pLHRoaXMuX3dlaWdodEJvbGQ9cyx0aGlzLl9jb250YWluZXIuc3R5bGUuZm9udEZhbWlseT10aGlzLl9mb250LHRoaXMuX2NvbnRhaW5lci5zdHlsZS5mb250U2l6ZT1gJHt0aGlzLl9mb250U2l6ZX1weGAsdGhpcy5fbWVhc3VyZUVsZW1lbnRzWzBdLnN0eWxlLmZvbnRXZWlnaHQ9YCR7aX1gLHRoaXMuX21lYXN1cmVFbGVtZW50c1sxXS5zdHlsZS5mb250V2VpZ2h0PWAke3N9YCx0aGlzLl9tZWFzdXJlRWxlbWVudHNbMl0uc3R5bGUuZm9udFdlaWdodD1gJHtpfWAsdGhpcy5fbWVhc3VyZUVsZW1lbnRzWzNdLnN0eWxlLmZvbnRXZWlnaHQ9YCR7c31gLHRoaXMuY2xlYXIoKSl9Z2V0KGUsdCxpKXtsZXQgcz0wO2lmKCF0JiYhaSYmMT09PWUubGVuZ3RoJiYocz1lLmNoYXJDb2RlQXQoMCkpPDI1Nil7aWYoLTk5OTkhPT10aGlzLl9mbGF0W3NdKXJldHVybiB0aGlzLl9mbGF0W3NdO2NvbnN0IHQ9dGhpcy5fbWVhc3VyZShlLDApO3JldHVybiB0PjAmJih0aGlzLl9mbGF0W3NdPXQpLHR9bGV0IHI9ZTt0JiYocis9XCJCXCIpLGkmJihyKz1cIklcIik7bGV0IG49dGhpcy5faG9sZXkuZ2V0KHIpO2lmKHZvaWQgMD09PW4pe2xldCBzPTA7dCYmKHN8PTEpLGkmJihzfD0yKSxuPXRoaXMuX21lYXN1cmUoZSxzKSxuPjAmJnRoaXMuX2hvbGV5LnNldChyLG4pfXJldHVybiBufV9tZWFzdXJlKGUsdCl7Y29uc3QgaT10aGlzLl9tZWFzdXJlRWxlbWVudHNbdF07cmV0dXJuIGkudGV4dENvbnRlbnQ9ZS5yZXBlYXQoMzIpLGkub2Zmc2V0V2lkdGgvMzJ9fX0sMjIyMzooZSx0LGkpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5URVhUX0JBU0VMSU5FPXQuRElNX09QQUNJVFk9dC5JTlZFUlRFRF9ERUZBVUxUX0NPTE9SPXZvaWQgMDtjb25zdCBzPWkoNjExNCk7dC5JTlZFUlRFRF9ERUZBVUxUX0NPTE9SPTI1Nyx0LkRJTV9PUEFDSVRZPS41LHQuVEVYVF9CQVNFTElORT1zLmlzRmlyZWZveHx8cy5pc0xlZ2FjeUVkZ2U/XCJib3R0b21cIjpcImlkZW9ncmFwaGljXCJ9LDYxNzE6KGUsdCk9PntmdW5jdGlvbiBpKGUpe3JldHVybiA1NzUwODw9ZSYmZTw9NTc1NTh9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZT49MTI4NTEyJiZlPD0xMjg1OTF8fGU+PTEyNzc0NCYmZTw9MTI4NTExfHxlPj0xMjg2NDAmJmU8PTEyODc2N3x8ZT49OTcyOCYmZTw9OTk4M3x8ZT49OTk4NCYmZTw9MTAxNzV8fGU+PTY1MDI0JiZlPD02NTAzOXx8ZT49MTI5MjgwJiZlPD0xMjk1MzV8fGU+PTEyNzQ2MiYmZTw9MTI3NDg3fU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuY29tcHV0ZU5leHRWYXJpYW50T2Zmc2V0PXQuY3JlYXRlUmVuZGVyRGltZW5zaW9ucz10LnRyZWF0R2x5cGhBc0JhY2tncm91bmRDb2xvcj10LmFsbG93UmVzY2FsaW5nPXQuaXNFbW9qaT10LmlzUmVzdHJpY3RlZFBvd2VybGluZUdseXBoPXQuaXNQb3dlcmxpbmVHbHlwaD10LnRocm93SWZGYWxzeT12b2lkIDAsdC50aHJvd0lmRmFsc3k9ZnVuY3Rpb24oZSl7aWYoIWUpdGhyb3cgbmV3IEVycm9yKFwidmFsdWUgbXVzdCBub3QgYmUgZmFsc3lcIik7cmV0dXJuIGV9LHQuaXNQb3dlcmxpbmVHbHlwaD1pLHQuaXNSZXN0cmljdGVkUG93ZXJsaW5lR2x5cGg9ZnVuY3Rpb24oZSl7cmV0dXJuIDU3NTIwPD1lJiZlPD01NzUyN30sdC5pc0Vtb2ppPXMsdC5hbGxvd1Jlc2NhbGluZz1mdW5jdGlvbihlLHQscixuKXtyZXR1cm4gMT09PXQmJnI+TWF0aC5jZWlsKDEuNSpuKSYmdm9pZCAwIT09ZSYmZT4yNTUmJiFzKGUpJiYhaShlKSYmIWZ1bmN0aW9uKGUpe3JldHVybiA1NzM0NDw9ZSYmZTw9NjM3NDN9KGUpfSx0LnRyZWF0R2x5cGhBc0JhY2tncm91bmRDb2xvcj1mdW5jdGlvbihlKXtyZXR1cm4gaShlKXx8ZnVuY3Rpb24oZSl7cmV0dXJuIDk0NzI8PWUmJmU8PTk2MzF9KGUpfSx0LmNyZWF0ZVJlbmRlckRpbWVuc2lvbnM9ZnVuY3Rpb24oKXtyZXR1cm57Y3NzOntjYW52YXM6e3dpZHRoOjAsaGVpZ2h0OjB9LGNlbGw6e3dpZHRoOjAsaGVpZ2h0OjB9fSxkZXZpY2U6e2NhbnZhczp7d2lkdGg6MCxoZWlnaHQ6MH0sY2VsbDp7d2lkdGg6MCxoZWlnaHQ6MH0sY2hhcjp7d2lkdGg6MCxoZWlnaHQ6MCxsZWZ0OjAsdG9wOjB9fX19LHQuY29tcHV0ZU5leHRWYXJpYW50T2Zmc2V0PWZ1bmN0aW9uKGUsdCxpPTApe3JldHVybihlLSgyKk1hdGgucm91bmQodCktaSkpJSgyKk1hdGgucm91bmQodCkpfX0sNjA1MjooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuY3JlYXRlU2VsZWN0aW9uUmVuZGVyTW9kZWw9dm9pZCAwO2NsYXNzIGl7Y29uc3RydWN0b3IoKXt0aGlzLmNsZWFyKCl9Y2xlYXIoKXt0aGlzLmhhc1NlbGVjdGlvbj0hMSx0aGlzLmNvbHVtblNlbGVjdE1vZGU9ITEsdGhpcy52aWV3cG9ydFN0YXJ0Um93PTAsdGhpcy52aWV3cG9ydEVuZFJvdz0wLHRoaXMudmlld3BvcnRDYXBwZWRTdGFydFJvdz0wLHRoaXMudmlld3BvcnRDYXBwZWRFbmRSb3c9MCx0aGlzLnN0YXJ0Q29sPTAsdGhpcy5lbmRDb2w9MCx0aGlzLnNlbGVjdGlvblN0YXJ0PXZvaWQgMCx0aGlzLnNlbGVjdGlvbkVuZD12b2lkIDB9dXBkYXRlKGUsdCxpLHM9ITEpe2lmKHRoaXMuc2VsZWN0aW9uU3RhcnQ9dCx0aGlzLnNlbGVjdGlvbkVuZD1pLCF0fHwhaXx8dFswXT09PWlbMF0mJnRbMV09PT1pWzFdKXJldHVybiB2b2lkIHRoaXMuY2xlYXIoKTtjb25zdCByPWUuYnVmZmVycy5hY3RpdmUueWRpc3Asbj10WzFdLXIsbz1pWzFdLXIsYT1NYXRoLm1heChuLDApLGg9TWF0aC5taW4obyxlLnJvd3MtMSk7YT49ZS5yb3dzfHxoPDA/dGhpcy5jbGVhcigpOih0aGlzLmhhc1NlbGVjdGlvbj0hMCx0aGlzLmNvbHVtblNlbGVjdE1vZGU9cyx0aGlzLnZpZXdwb3J0U3RhcnRSb3c9bix0aGlzLnZpZXdwb3J0RW5kUm93PW8sdGhpcy52aWV3cG9ydENhcHBlZFN0YXJ0Um93PWEsdGhpcy52aWV3cG9ydENhcHBlZEVuZFJvdz1oLHRoaXMuc3RhcnRDb2w9dFswXSx0aGlzLmVuZENvbD1pWzBdKX1pc0NlbGxTZWxlY3RlZChlLHQsaSl7cmV0dXJuISF0aGlzLmhhc1NlbGVjdGlvbiYmKGktPWUuYnVmZmVyLmFjdGl2ZS52aWV3cG9ydFksdGhpcy5jb2x1bW5TZWxlY3RNb2RlP3RoaXMuc3RhcnRDb2w8PXRoaXMuZW5kQ29sP3Q+PXRoaXMuc3RhcnRDb2wmJmk+PXRoaXMudmlld3BvcnRDYXBwZWRTdGFydFJvdyYmdDx0aGlzLmVuZENvbCYmaTw9dGhpcy52aWV3cG9ydENhcHBlZEVuZFJvdzp0PHRoaXMuc3RhcnRDb2wmJmk+PXRoaXMudmlld3BvcnRDYXBwZWRTdGFydFJvdyYmdD49dGhpcy5lbmRDb2wmJmk8PXRoaXMudmlld3BvcnRDYXBwZWRFbmRSb3c6aT50aGlzLnZpZXdwb3J0U3RhcnRSb3cmJmk8dGhpcy52aWV3cG9ydEVuZFJvd3x8dGhpcy52aWV3cG9ydFN0YXJ0Um93PT09dGhpcy52aWV3cG9ydEVuZFJvdyYmaT09PXRoaXMudmlld3BvcnRTdGFydFJvdyYmdD49dGhpcy5zdGFydENvbCYmdDx0aGlzLmVuZENvbHx8dGhpcy52aWV3cG9ydFN0YXJ0Um93PHRoaXMudmlld3BvcnRFbmRSb3cmJmk9PT10aGlzLnZpZXdwb3J0RW5kUm93JiZ0PHRoaXMuZW5kQ29sfHx0aGlzLnZpZXdwb3J0U3RhcnRSb3c8dGhpcy52aWV3cG9ydEVuZFJvdyYmaT09PXRoaXMudmlld3BvcnRTdGFydFJvdyYmdD49dGhpcy5zdGFydENvbCl9fXQuY3JlYXRlU2VsZWN0aW9uUmVuZGVyTW9kZWw9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGl9fSw0NTY6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LlNlbGVjdGlvbk1vZGVsPXZvaWQgMCx0LlNlbGVjdGlvbk1vZGVsPWNsYXNze2NvbnN0cnVjdG9yKGUpe3RoaXMuX2J1ZmZlclNlcnZpY2U9ZSx0aGlzLmlzU2VsZWN0QWxsQWN0aXZlPSExLHRoaXMuc2VsZWN0aW9uU3RhcnRMZW5ndGg9MH1jbGVhclNlbGVjdGlvbigpe3RoaXMuc2VsZWN0aW9uU3RhcnQ9dm9pZCAwLHRoaXMuc2VsZWN0aW9uRW5kPXZvaWQgMCx0aGlzLmlzU2VsZWN0QWxsQWN0aXZlPSExLHRoaXMuc2VsZWN0aW9uU3RhcnRMZW5ndGg9MH1nZXQgZmluYWxTZWxlY3Rpb25TdGFydCgpe3JldHVybiB0aGlzLmlzU2VsZWN0QWxsQWN0aXZlP1swLDBdOnRoaXMuc2VsZWN0aW9uRW5kJiZ0aGlzLnNlbGVjdGlvblN0YXJ0JiZ0aGlzLmFyZVNlbGVjdGlvblZhbHVlc1JldmVyc2VkKCk/dGhpcy5zZWxlY3Rpb25FbmQ6dGhpcy5zZWxlY3Rpb25TdGFydH1nZXQgZmluYWxTZWxlY3Rpb25FbmQoKXtpZih0aGlzLmlzU2VsZWN0QWxsQWN0aXZlKXJldHVyblt0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMsdGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIueWJhc2UrdGhpcy5fYnVmZmVyU2VydmljZS5yb3dzLTFdO2lmKHRoaXMuc2VsZWN0aW9uU3RhcnQpe2lmKCF0aGlzLnNlbGVjdGlvbkVuZHx8dGhpcy5hcmVTZWxlY3Rpb25WYWx1ZXNSZXZlcnNlZCgpKXtjb25zdCBlPXRoaXMuc2VsZWN0aW9uU3RhcnRbMF0rdGhpcy5zZWxlY3Rpb25TdGFydExlbmd0aDtyZXR1cm4gZT50aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHM/ZSV0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHM9PTA/W3RoaXMuX2J1ZmZlclNlcnZpY2UuY29scyx0aGlzLnNlbGVjdGlvblN0YXJ0WzFdK01hdGguZmxvb3IoZS90aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMpLTFdOltlJXRoaXMuX2J1ZmZlclNlcnZpY2UuY29scyx0aGlzLnNlbGVjdGlvblN0YXJ0WzFdK01hdGguZmxvb3IoZS90aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMpXTpbZSx0aGlzLnNlbGVjdGlvblN0YXJ0WzFdXX1pZih0aGlzLnNlbGVjdGlvblN0YXJ0TGVuZ3RoJiZ0aGlzLnNlbGVjdGlvbkVuZFsxXT09PXRoaXMuc2VsZWN0aW9uU3RhcnRbMV0pe2NvbnN0IGU9dGhpcy5zZWxlY3Rpb25TdGFydFswXSt0aGlzLnNlbGVjdGlvblN0YXJ0TGVuZ3RoO3JldHVybiBlPnRoaXMuX2J1ZmZlclNlcnZpY2UuY29scz9bZSV0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMsdGhpcy5zZWxlY3Rpb25TdGFydFsxXStNYXRoLmZsb29yKGUvdGhpcy5fYnVmZmVyU2VydmljZS5jb2xzKV06W01hdGgubWF4KGUsdGhpcy5zZWxlY3Rpb25FbmRbMF0pLHRoaXMuc2VsZWN0aW9uRW5kWzFdXX1yZXR1cm4gdGhpcy5zZWxlY3Rpb25FbmR9fWFyZVNlbGVjdGlvblZhbHVlc1JldmVyc2VkKCl7Y29uc3QgZT10aGlzLnNlbGVjdGlvblN0YXJ0LHQ9dGhpcy5zZWxlY3Rpb25FbmQ7cmV0dXJuISghZXx8IXQpJiYoZVsxXT50WzFdfHxlWzFdPT09dFsxXSYmZVswXT50WzBdKX1oYW5kbGVUcmltKGUpe3JldHVybiB0aGlzLnNlbGVjdGlvblN0YXJ0JiYodGhpcy5zZWxlY3Rpb25TdGFydFsxXS09ZSksdGhpcy5zZWxlY3Rpb25FbmQmJih0aGlzLnNlbGVjdGlvbkVuZFsxXS09ZSksdGhpcy5zZWxlY3Rpb25FbmQmJnRoaXMuc2VsZWN0aW9uRW5kWzFdPDA/KHRoaXMuY2xlYXJTZWxlY3Rpb24oKSwhMCk6KHRoaXMuc2VsZWN0aW9uU3RhcnQmJnRoaXMuc2VsZWN0aW9uU3RhcnRbMV08MCYmKHRoaXMuc2VsZWN0aW9uU3RhcnRbMV09MCksITEpfX19LDQyODpmdW5jdGlvbihlLHQsaSl7dmFyIHM9dGhpcyYmdGhpcy5fX2RlY29yYXRlfHxmdW5jdGlvbihlLHQsaSxzKXt2YXIgcixuPWFyZ3VtZW50cy5sZW5ndGgsbz1uPDM/dDpudWxsPT09cz9zPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxpKTpzO2lmKFwib2JqZWN0XCI9PXR5cGVvZiBSZWZsZWN0JiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBSZWZsZWN0LmRlY29yYXRlKW89UmVmbGVjdC5kZWNvcmF0ZShlLHQsaSxzKTtlbHNlIGZvcih2YXIgYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShyPWVbYV0pJiYobz0objwzP3Iobyk6bj4zP3IodCxpLG8pOnIodCxpKSl8fG8pO3JldHVybiBuPjMmJm8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGksbyksb30scj10aGlzJiZ0aGlzLl9fcGFyYW18fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGkscyl7dChpLHMsZSl9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkNoYXJTaXplU2VydmljZT12b2lkIDA7Y29uc3Qgbj1pKDI1ODUpLG89aSg4NDYwKSxhPWkoODQ0KTtsZXQgaD10LkNoYXJTaXplU2VydmljZT1jbGFzcyBleHRlbmRzIGEuRGlzcG9zYWJsZXtnZXQgaGFzVmFsaWRTaXplKCl7cmV0dXJuIHRoaXMud2lkdGg+MCYmdGhpcy5oZWlnaHQ+MH1jb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoKSx0aGlzLl9vcHRpb25zU2VydmljZT1pLHRoaXMud2lkdGg9MCx0aGlzLmhlaWdodD0wLHRoaXMuX29uQ2hhclNpemVDaGFuZ2U9dGhpcy5yZWdpc3RlcihuZXcgby5FdmVudEVtaXR0ZXIpLHRoaXMub25DaGFyU2l6ZUNoYW5nZT10aGlzLl9vbkNoYXJTaXplQ2hhbmdlLmV2ZW50O3RyeXt0aGlzLl9tZWFzdXJlU3RyYXRlZ3k9dGhpcy5yZWdpc3RlcihuZXcgZCh0aGlzLl9vcHRpb25zU2VydmljZSkpfWNhdGNoe3RoaXMuX21lYXN1cmVTdHJhdGVneT10aGlzLnJlZ2lzdGVyKG5ldyBsKGUsdCx0aGlzLl9vcHRpb25zU2VydmljZSkpfXRoaXMucmVnaXN0ZXIodGhpcy5fb3B0aW9uc1NlcnZpY2Uub25NdWx0aXBsZU9wdGlvbkNoYW5nZShbXCJmb250RmFtaWx5XCIsXCJmb250U2l6ZVwiXSwoKCk9PnRoaXMubWVhc3VyZSgpKSkpfW1lYXN1cmUoKXtjb25zdCBlPXRoaXMuX21lYXN1cmVTdHJhdGVneS5tZWFzdXJlKCk7ZS53aWR0aD09PXRoaXMud2lkdGgmJmUuaGVpZ2h0PT09dGhpcy5oZWlnaHR8fCh0aGlzLndpZHRoPWUud2lkdGgsdGhpcy5oZWlnaHQ9ZS5oZWlnaHQsdGhpcy5fb25DaGFyU2l6ZUNoYW5nZS5maXJlKCkpfX07dC5DaGFyU2l6ZVNlcnZpY2U9aD1zKFtyKDIsbi5JT3B0aW9uc1NlcnZpY2UpXSxoKTtjbGFzcyBjIGV4dGVuZHMgYS5EaXNwb3NhYmxle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9yZXN1bHQ9e3dpZHRoOjAsaGVpZ2h0OjB9fV92YWxpZGF0ZUFuZFNldChlLHQpe3ZvaWQgMCE9PWUmJmU+MCYmdm9pZCAwIT09dCYmdD4wJiYodGhpcy5fcmVzdWx0LndpZHRoPWUsdGhpcy5fcmVzdWx0LmhlaWdodD10KX19Y2xhc3MgbCBleHRlbmRzIGN7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKCksdGhpcy5fZG9jdW1lbnQ9ZSx0aGlzLl9wYXJlbnRFbGVtZW50PXQsdGhpcy5fb3B0aW9uc1NlcnZpY2U9aSx0aGlzLl9tZWFzdXJlRWxlbWVudD10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3BhblwiKSx0aGlzLl9tZWFzdXJlRWxlbWVudC5jbGFzc0xpc3QuYWRkKFwieHRlcm0tY2hhci1tZWFzdXJlLWVsZW1lbnRcIiksdGhpcy5fbWVhc3VyZUVsZW1lbnQudGV4dENvbnRlbnQ9XCJXXCIucmVwZWF0KDMyKSx0aGlzLl9tZWFzdXJlRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWhpZGRlblwiLFwidHJ1ZVwiKSx0aGlzLl9tZWFzdXJlRWxlbWVudC5zdHlsZS53aGl0ZVNwYWNlPVwicHJlXCIsdGhpcy5fbWVhc3VyZUVsZW1lbnQuc3R5bGUuZm9udEtlcm5pbmc9XCJub25lXCIsdGhpcy5fcGFyZW50RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9tZWFzdXJlRWxlbWVudCl9bWVhc3VyZSgpe3JldHVybiB0aGlzLl9tZWFzdXJlRWxlbWVudC5zdHlsZS5mb250RmFtaWx5PXRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuZm9udEZhbWlseSx0aGlzLl9tZWFzdXJlRWxlbWVudC5zdHlsZS5mb250U2l6ZT1gJHt0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmZvbnRTaXplfXB4YCx0aGlzLl92YWxpZGF0ZUFuZFNldChOdW1iZXIodGhpcy5fbWVhc3VyZUVsZW1lbnQub2Zmc2V0V2lkdGgpLzMyLE51bWJlcih0aGlzLl9tZWFzdXJlRWxlbWVudC5vZmZzZXRIZWlnaHQpKSx0aGlzLl9yZXN1bHR9fWNsYXNzIGQgZXh0ZW5kcyBje2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fb3B0aW9uc1NlcnZpY2U9ZSx0aGlzLl9jYW52YXM9bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsMTAwKSx0aGlzLl9jdHg9dGhpcy5fY2FudmFzLmdldENvbnRleHQoXCIyZFwiKTtjb25zdCB0PXRoaXMuX2N0eC5tZWFzdXJlVGV4dChcIldcIik7aWYoIShcIndpZHRoXCJpbiB0JiZcImZvbnRCb3VuZGluZ0JveEFzY2VudFwiaW4gdCYmXCJmb250Qm91bmRpbmdCb3hEZXNjZW50XCJpbiB0KSl0aHJvdyBuZXcgRXJyb3IoXCJSZXF1aXJlZCBmb250IG1ldHJpY3Mgbm90IHN1cHBvcnRlZFwiKX1tZWFzdXJlKCl7dGhpcy5fY3R4LmZvbnQ9YCR7dGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5mb250U2l6ZX1weCAke3RoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuZm9udEZhbWlseX1gO2NvbnN0IGU9dGhpcy5fY3R4Lm1lYXN1cmVUZXh0KFwiV1wiKTtyZXR1cm4gdGhpcy5fdmFsaWRhdGVBbmRTZXQoZS53aWR0aCxlLmZvbnRCb3VuZGluZ0JveEFzY2VudCtlLmZvbnRCb3VuZGluZ0JveERlc2NlbnQpLHRoaXMuX3Jlc3VsdH19fSw0MjY5OmZ1bmN0aW9uKGUsdCxpKXt2YXIgcz10aGlzJiZ0aGlzLl9fZGVjb3JhdGV8fGZ1bmN0aW9uKGUsdCxpLHMpe3ZhciByLG49YXJndW1lbnRzLmxlbmd0aCxvPW48Mz90Om51bGw9PT1zP3M9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGkpOnM7aWYoXCJvYmplY3RcIj09dHlwZW9mIFJlZmxlY3QmJlwiZnVuY3Rpb25cIj09dHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUpbz1SZWZsZWN0LmRlY29yYXRlKGUsdCxpLHMpO2Vsc2UgZm9yKHZhciBhPWUubGVuZ3RoLTE7YT49MDthLS0pKHI9ZVthXSkmJihvPShuPDM/cihvKTpuPjM/cih0LGksbyk6cih0LGkpKXx8byk7cmV0dXJuIG4+MyYmbyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsaSxvKSxvfSxyPXRoaXMmJnRoaXMuX19wYXJhbXx8ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oaSxzKXt0KGkscyxlKX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuQ2hhcmFjdGVySm9pbmVyU2VydmljZT10LkpvaW5lZENlbGxEYXRhPXZvaWQgMDtjb25zdCBuPWkoMzczNCksbz1pKDY0MyksYT1pKDUxMSksaD1pKDI1ODUpO2NsYXNzIGMgZXh0ZW5kcyBuLkF0dHJpYnV0ZURhdGF7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKCksdGhpcy5jb250ZW50PTAsdGhpcy5jb21iaW5lZERhdGE9XCJcIix0aGlzLmZnPWUuZmcsdGhpcy5iZz1lLmJnLHRoaXMuY29tYmluZWREYXRhPXQsdGhpcy5fd2lkdGg9aX1pc0NvbWJpbmVkKCl7cmV0dXJuIDIwOTcxNTJ9Z2V0V2lkdGgoKXtyZXR1cm4gdGhpcy5fd2lkdGh9Z2V0Q2hhcnMoKXtyZXR1cm4gdGhpcy5jb21iaW5lZERhdGF9Z2V0Q29kZSgpe3JldHVybiAyMDk3MTUxfXNldEZyb21DaGFyRGF0YShlKXt0aHJvdyBuZXcgRXJyb3IoXCJub3QgaW1wbGVtZW50ZWRcIil9Z2V0QXNDaGFyRGF0YSgpe3JldHVyblt0aGlzLmZnLHRoaXMuZ2V0Q2hhcnMoKSx0aGlzLmdldFdpZHRoKCksdGhpcy5nZXRDb2RlKCldfX10LkpvaW5lZENlbGxEYXRhPWM7bGV0IGw9dC5DaGFyYWN0ZXJKb2luZXJTZXJ2aWNlPWNsYXNzIGV7Y29uc3RydWN0b3IoZSl7dGhpcy5fYnVmZmVyU2VydmljZT1lLHRoaXMuX2NoYXJhY3RlckpvaW5lcnM9W10sdGhpcy5fbmV4dENoYXJhY3RlckpvaW5lcklkPTAsdGhpcy5fd29ya0NlbGw9bmV3IGEuQ2VsbERhdGF9cmVnaXN0ZXIoZSl7Y29uc3QgdD17aWQ6dGhpcy5fbmV4dENoYXJhY3RlckpvaW5lcklkKyssaGFuZGxlcjplfTtyZXR1cm4gdGhpcy5fY2hhcmFjdGVySm9pbmVycy5wdXNoKHQpLHQuaWR9ZGVyZWdpc3RlcihlKXtmb3IobGV0IHQ9MDt0PHRoaXMuX2NoYXJhY3RlckpvaW5lcnMubGVuZ3RoO3QrKylpZih0aGlzLl9jaGFyYWN0ZXJKb2luZXJzW3RdLmlkPT09ZSlyZXR1cm4gdGhpcy5fY2hhcmFjdGVySm9pbmVycy5zcGxpY2UodCwxKSwhMDtyZXR1cm4hMX1nZXRKb2luZWRDaGFyYWN0ZXJzKGUpe2lmKDA9PT10aGlzLl9jaGFyYWN0ZXJKb2luZXJzLmxlbmd0aClyZXR1cm5bXTtjb25zdCB0PXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLmxpbmVzLmdldChlKTtpZighdHx8MD09PXQubGVuZ3RoKXJldHVybltdO2NvbnN0IGk9W10scz10LnRyYW5zbGF0ZVRvU3RyaW5nKCEwKTtsZXQgcj0wLG49MCxhPTAsaD10LmdldEZnKDApLGM9dC5nZXRCZygwKTtmb3IobGV0IGU9MDtlPHQuZ2V0VHJpbW1lZExlbmd0aCgpO2UrKylpZih0LmxvYWRDZWxsKGUsdGhpcy5fd29ya0NlbGwpLDAhPT10aGlzLl93b3JrQ2VsbC5nZXRXaWR0aCgpKXtpZih0aGlzLl93b3JrQ2VsbC5mZyE9PWh8fHRoaXMuX3dvcmtDZWxsLmJnIT09Yyl7aWYoZS1yPjEpe2NvbnN0IGU9dGhpcy5fZ2V0Sm9pbmVkUmFuZ2VzKHMsYSxuLHQscik7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspaS5wdXNoKGVbdF0pfXI9ZSxhPW4saD10aGlzLl93b3JrQ2VsbC5mZyxjPXRoaXMuX3dvcmtDZWxsLmJnfW4rPXRoaXMuX3dvcmtDZWxsLmdldENoYXJzKCkubGVuZ3RofHxvLldISVRFU1BBQ0VfQ0VMTF9DSEFSLmxlbmd0aH1pZih0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMtcj4xKXtjb25zdCBlPXRoaXMuX2dldEpvaW5lZFJhbmdlcyhzLGEsbix0LHIpO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWkucHVzaChlW3RdKX1yZXR1cm4gaX1fZ2V0Sm9pbmVkUmFuZ2VzKHQsaSxzLHIsbil7Y29uc3Qgbz10LnN1YnN0cmluZyhpLHMpO2xldCBhPVtdO3RyeXthPXRoaXMuX2NoYXJhY3RlckpvaW5lcnNbMF0uaGFuZGxlcihvKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfWZvcihsZXQgdD0xO3Q8dGhpcy5fY2hhcmFjdGVySm9pbmVycy5sZW5ndGg7dCsrKXRyeXtjb25zdCBpPXRoaXMuX2NoYXJhY3RlckpvaW5lcnNbdF0uaGFuZGxlcihvKTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKyllLl9tZXJnZVJhbmdlcyhhLGlbdF0pfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoZSl9cmV0dXJuIHRoaXMuX3N0cmluZ1Jhbmdlc1RvQ2VsbFJhbmdlcyhhLHIsbiksYX1fc3RyaW5nUmFuZ2VzVG9DZWxsUmFuZ2VzKGUsdCxpKXtsZXQgcz0wLHI9ITEsbj0wLGE9ZVtzXTtpZihhKXtmb3IobGV0IGg9aTtoPHRoaXMuX2J1ZmZlclNlcnZpY2UuY29scztoKyspe2NvbnN0IGk9dC5nZXRXaWR0aChoKSxjPXQuZ2V0U3RyaW5nKGgpLmxlbmd0aHx8by5XSElURVNQQUNFX0NFTExfQ0hBUi5sZW5ndGg7aWYoMCE9PWkpe2lmKCFyJiZhWzBdPD1uJiYoYVswXT1oLHI9ITApLGFbMV08PW4pe2lmKGFbMV09aCxhPWVbKytzXSwhYSlicmVhazthWzBdPD1uPyhhWzBdPWgscj0hMCk6cj0hMX1uKz1jfX1hJiYoYVsxXT10aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMpfX1zdGF0aWMgX21lcmdlUmFuZ2VzKGUsdCl7bGV0IGk9ITE7Zm9yKGxldCBzPTA7czxlLmxlbmd0aDtzKyspe2NvbnN0IHI9ZVtzXTtpZihpKXtpZih0WzFdPD1yWzBdKXJldHVybiBlW3MtMV1bMV09dFsxXSxlO2lmKHRbMV08PXJbMV0pcmV0dXJuIGVbcy0xXVsxXT1NYXRoLm1heCh0WzFdLHJbMV0pLGUuc3BsaWNlKHMsMSksZTtlLnNwbGljZShzLDEpLHMtLX1lbHNle2lmKHRbMV08PXJbMF0pcmV0dXJuIGUuc3BsaWNlKHMsMCx0KSxlO2lmKHRbMV08PXJbMV0pcmV0dXJuIHJbMF09TWF0aC5taW4odFswXSxyWzBdKSxlO3RbMF08clsxXSYmKHJbMF09TWF0aC5taW4odFswXSxyWzBdKSxpPSEwKX19cmV0dXJuIGk/ZVtlLmxlbmd0aC0xXVsxXT10WzFdOmUucHVzaCh0KSxlfX07dC5DaGFyYWN0ZXJKb2luZXJTZXJ2aWNlPWw9cyhbcigwLGguSUJ1ZmZlclNlcnZpY2UpXSxsKX0sNTExNDooZSx0LGkpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5Db3JlQnJvd3NlclNlcnZpY2U9dm9pZCAwO2NvbnN0IHM9aSg4NDQpLHI9aSg4NDYwKSxuPWkoMzY1Nik7Y2xhc3MgbyBleHRlbmRzIHMuRGlzcG9zYWJsZXtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoKSx0aGlzLl90ZXh0YXJlYT1lLHRoaXMuX3dpbmRvdz10LHRoaXMubWFpbkRvY3VtZW50PWksdGhpcy5faXNGb2N1c2VkPSExLHRoaXMuX2NhY2hlZElzRm9jdXNlZD12b2lkIDAsdGhpcy5fc2NyZWVuRHByTW9uaXRvcj1uZXcgYSh0aGlzLl93aW5kb3cpLHRoaXMuX29uRHByQ2hhbmdlPXRoaXMucmVnaXN0ZXIobmV3IHIuRXZlbnRFbWl0dGVyKSx0aGlzLm9uRHByQ2hhbmdlPXRoaXMuX29uRHByQ2hhbmdlLmV2ZW50LHRoaXMuX29uV2luZG93Q2hhbmdlPXRoaXMucmVnaXN0ZXIobmV3IHIuRXZlbnRFbWl0dGVyKSx0aGlzLm9uV2luZG93Q2hhbmdlPXRoaXMuX29uV2luZG93Q2hhbmdlLmV2ZW50LHRoaXMucmVnaXN0ZXIodGhpcy5vbldpbmRvd0NoYW5nZSgoZT0+dGhpcy5fc2NyZWVuRHByTW9uaXRvci5zZXRXaW5kb3coZSkpKSksdGhpcy5yZWdpc3RlcigoMCxyLmZvcndhcmRFdmVudCkodGhpcy5fc2NyZWVuRHByTW9uaXRvci5vbkRwckNoYW5nZSx0aGlzLl9vbkRwckNoYW5nZSkpLHRoaXMuX3RleHRhcmVhLmFkZEV2ZW50TGlzdGVuZXIoXCJmb2N1c1wiLCgoKT0+dGhpcy5faXNGb2N1c2VkPSEwKSksdGhpcy5fdGV4dGFyZWEuYWRkRXZlbnRMaXN0ZW5lcihcImJsdXJcIiwoKCk9PnRoaXMuX2lzRm9jdXNlZD0hMSkpfWdldCB3aW5kb3coKXtyZXR1cm4gdGhpcy5fd2luZG93fXNldCB3aW5kb3coZSl7dGhpcy5fd2luZG93IT09ZSYmKHRoaXMuX3dpbmRvdz1lLHRoaXMuX29uV2luZG93Q2hhbmdlLmZpcmUodGhpcy5fd2luZG93KSl9Z2V0IGRwcigpe3JldHVybiB0aGlzLndpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfWdldCBpc0ZvY3VzZWQoKXtyZXR1cm4gdm9pZCAwPT09dGhpcy5fY2FjaGVkSXNGb2N1c2VkJiYodGhpcy5fY2FjaGVkSXNGb2N1c2VkPXRoaXMuX2lzRm9jdXNlZCYmdGhpcy5fdGV4dGFyZWEub3duZXJEb2N1bWVudC5oYXNGb2N1cygpLHF1ZXVlTWljcm90YXNrKCgoKT0+dGhpcy5fY2FjaGVkSXNGb2N1c2VkPXZvaWQgMCkpKSx0aGlzLl9jYWNoZWRJc0ZvY3VzZWR9fXQuQ29yZUJyb3dzZXJTZXJ2aWNlPW87Y2xhc3MgYSBleHRlbmRzIHMuRGlzcG9zYWJsZXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX3BhcmVudFdpbmRvdz1lLHRoaXMuX3dpbmRvd1Jlc2l6ZUxpc3RlbmVyPXRoaXMucmVnaXN0ZXIobmV3IHMuTXV0YWJsZURpc3Bvc2FibGUpLHRoaXMuX29uRHByQ2hhbmdlPXRoaXMucmVnaXN0ZXIobmV3IHIuRXZlbnRFbWl0dGVyKSx0aGlzLm9uRHByQ2hhbmdlPXRoaXMuX29uRHByQ2hhbmdlLmV2ZW50LHRoaXMuX291dGVyTGlzdGVuZXI9KCk9PnRoaXMuX3NldERwckFuZEZpcmVJZkRpZmZlcnMoKSx0aGlzLl9jdXJyZW50RGV2aWNlUGl4ZWxSYXRpbz10aGlzLl9wYXJlbnRXaW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyx0aGlzLl91cGRhdGVEcHIoKSx0aGlzLl9zZXRXaW5kb3dSZXNpemVMaXN0ZW5lcigpLHRoaXMucmVnaXN0ZXIoKDAscy50b0Rpc3Bvc2FibGUpKCgoKT0+dGhpcy5jbGVhckxpc3RlbmVyKCkpKSl9c2V0V2luZG93KGUpe3RoaXMuX3BhcmVudFdpbmRvdz1lLHRoaXMuX3NldFdpbmRvd1Jlc2l6ZUxpc3RlbmVyKCksdGhpcy5fc2V0RHByQW5kRmlyZUlmRGlmZmVycygpfV9zZXRXaW5kb3dSZXNpemVMaXN0ZW5lcigpe3RoaXMuX3dpbmRvd1Jlc2l6ZUxpc3RlbmVyLnZhbHVlPSgwLG4uYWRkRGlzcG9zYWJsZURvbUxpc3RlbmVyKSh0aGlzLl9wYXJlbnRXaW5kb3csXCJyZXNpemVcIiwoKCk9PnRoaXMuX3NldERwckFuZEZpcmVJZkRpZmZlcnMoKSkpfV9zZXREcHJBbmRGaXJlSWZEaWZmZXJzKCl7dGhpcy5fcGFyZW50V2luZG93LmRldmljZVBpeGVsUmF0aW8hPT10aGlzLl9jdXJyZW50RGV2aWNlUGl4ZWxSYXRpbyYmdGhpcy5fb25EcHJDaGFuZ2UuZmlyZSh0aGlzLl9wYXJlbnRXaW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyksdGhpcy5fdXBkYXRlRHByKCl9X3VwZGF0ZURwcigpe3RoaXMuX291dGVyTGlzdGVuZXImJih0aGlzLl9yZXNvbHV0aW9uTWVkaWFNYXRjaExpc3Q/LnJlbW92ZUxpc3RlbmVyKHRoaXMuX291dGVyTGlzdGVuZXIpLHRoaXMuX2N1cnJlbnREZXZpY2VQaXhlbFJhdGlvPXRoaXMuX3BhcmVudFdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvLHRoaXMuX3Jlc29sdXRpb25NZWRpYU1hdGNoTGlzdD10aGlzLl9wYXJlbnRXaW5kb3cubWF0Y2hNZWRpYShgc2NyZWVuIGFuZCAocmVzb2x1dGlvbjogJHt0aGlzLl9wYXJlbnRXaW5kb3cuZGV2aWNlUGl4ZWxSYXRpb31kcHB4KWApLHRoaXMuX3Jlc29sdXRpb25NZWRpYU1hdGNoTGlzdC5hZGRMaXN0ZW5lcih0aGlzLl9vdXRlckxpc3RlbmVyKSl9Y2xlYXJMaXN0ZW5lcigpe3RoaXMuX3Jlc29sdXRpb25NZWRpYU1hdGNoTGlzdCYmdGhpcy5fb3V0ZXJMaXN0ZW5lciYmKHRoaXMuX3Jlc29sdXRpb25NZWRpYU1hdGNoTGlzdC5yZW1vdmVMaXN0ZW5lcih0aGlzLl9vdXRlckxpc3RlbmVyKSx0aGlzLl9yZXNvbHV0aW9uTWVkaWFNYXRjaExpc3Q9dm9pZCAwLHRoaXMuX291dGVyTGlzdGVuZXI9dm9pZCAwKX19fSw3Nzk6KGUsdCxpKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuTGlua1Byb3ZpZGVyU2VydmljZT12b2lkIDA7Y29uc3Qgcz1pKDg0NCk7Y2xhc3MgciBleHRlbmRzIHMuRGlzcG9zYWJsZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5saW5rUHJvdmlkZXJzPVtdLHRoaXMucmVnaXN0ZXIoKDAscy50b0Rpc3Bvc2FibGUpKCgoKT0+dGhpcy5saW5rUHJvdmlkZXJzLmxlbmd0aD0wKSkpfXJlZ2lzdGVyTGlua1Byb3ZpZGVyKGUpe3JldHVybiB0aGlzLmxpbmtQcm92aWRlcnMucHVzaChlKSx7ZGlzcG9zZTooKT0+e2NvbnN0IHQ9dGhpcy5saW5rUHJvdmlkZXJzLmluZGV4T2YoZSk7LTEhPT10JiZ0aGlzLmxpbmtQcm92aWRlcnMuc3BsaWNlKHQsMSl9fX19dC5MaW5rUHJvdmlkZXJTZXJ2aWNlPXJ9LDg5MzQ6ZnVuY3Rpb24oZSx0LGkpe3ZhciBzPXRoaXMmJnRoaXMuX19kZWNvcmF0ZXx8ZnVuY3Rpb24oZSx0LGkscyl7dmFyIHIsbj1hcmd1bWVudHMubGVuZ3RoLG89bjwzP3Q6bnVsbD09PXM/cz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsaSk6cztpZihcIm9iamVjdFwiPT10eXBlb2YgUmVmbGVjdCYmXCJmdW5jdGlvblwiPT10eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSlvPVJlZmxlY3QuZGVjb3JhdGUoZSx0LGkscyk7ZWxzZSBmb3IodmFyIGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkocj1lW2FdKSYmKG89KG48Mz9yKG8pOm4+Mz9yKHQsaSxvKTpyKHQsaSkpfHxvKTtyZXR1cm4gbj4zJiZvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxpLG8pLG99LHI9dGhpcyYmdGhpcy5fX3BhcmFtfHxmdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihpLHMpe3QoaSxzLGUpfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5Nb3VzZVNlcnZpY2U9dm9pZCAwO2NvbnN0IG49aSg0NzI1KSxvPWkoOTgwNik7bGV0IGE9dC5Nb3VzZVNlcnZpY2U9Y2xhc3N7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9yZW5kZXJTZXJ2aWNlPWUsdGhpcy5fY2hhclNpemVTZXJ2aWNlPXR9Z2V0Q29vcmRzKGUsdCxpLHMscil7cmV0dXJuKDAsby5nZXRDb29yZHMpKHdpbmRvdyxlLHQsaSxzLHRoaXMuX2NoYXJTaXplU2VydmljZS5oYXNWYWxpZFNpemUsdGhpcy5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zLmNzcy5jZWxsLndpZHRoLHRoaXMuX3JlbmRlclNlcnZpY2UuZGltZW5zaW9ucy5jc3MuY2VsbC5oZWlnaHQscil9Z2V0TW91c2VSZXBvcnRDb29yZHMoZSx0KXtjb25zdCBpPSgwLG8uZ2V0Q29vcmRzUmVsYXRpdmVUb0VsZW1lbnQpKHdpbmRvdyxlLHQpO2lmKHRoaXMuX2NoYXJTaXplU2VydmljZS5oYXNWYWxpZFNpemUpcmV0dXJuIGlbMF09TWF0aC5taW4oTWF0aC5tYXgoaVswXSwwKSx0aGlzLl9yZW5kZXJTZXJ2aWNlLmRpbWVuc2lvbnMuY3NzLmNhbnZhcy53aWR0aC0xKSxpWzFdPU1hdGgubWluKE1hdGgubWF4KGlbMV0sMCksdGhpcy5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zLmNzcy5jYW52YXMuaGVpZ2h0LTEpLHtjb2w6TWF0aC5mbG9vcihpWzBdL3RoaXMuX3JlbmRlclNlcnZpY2UuZGltZW5zaW9ucy5jc3MuY2VsbC53aWR0aCkscm93Ok1hdGguZmxvb3IoaVsxXS90aGlzLl9yZW5kZXJTZXJ2aWNlLmRpbWVuc2lvbnMuY3NzLmNlbGwuaGVpZ2h0KSx4Ok1hdGguZmxvb3IoaVswXSkseTpNYXRoLmZsb29yKGlbMV0pfX19O3QuTW91c2VTZXJ2aWNlPWE9cyhbcigwLG4uSVJlbmRlclNlcnZpY2UpLHIoMSxuLklDaGFyU2l6ZVNlcnZpY2UpXSxhKX0sMzIzMDpmdW5jdGlvbihlLHQsaSl7dmFyIHM9dGhpcyYmdGhpcy5fX2RlY29yYXRlfHxmdW5jdGlvbihlLHQsaSxzKXt2YXIgcixuPWFyZ3VtZW50cy5sZW5ndGgsbz1uPDM/dDpudWxsPT09cz9zPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxpKTpzO2lmKFwib2JqZWN0XCI9PXR5cGVvZiBSZWZsZWN0JiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBSZWZsZWN0LmRlY29yYXRlKW89UmVmbGVjdC5kZWNvcmF0ZShlLHQsaSxzKTtlbHNlIGZvcih2YXIgYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShyPWVbYV0pJiYobz0objwzP3Iobyk6bj4zP3IodCxpLG8pOnIodCxpKSl8fG8pO3JldHVybiBuPjMmJm8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGksbyksb30scj10aGlzJiZ0aGlzLl9fcGFyYW18fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGkscyl7dChpLHMsZSl9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LlJlbmRlclNlcnZpY2U9dm9pZCAwO2NvbnN0IG49aSg2MTkzKSxvPWkoNDcyNSksYT1pKDg0NjApLGg9aSg4NDQpLGM9aSg3MjI2KSxsPWkoMjU4NSk7bGV0IGQ9dC5SZW5kZXJTZXJ2aWNlPWNsYXNzIGV4dGVuZHMgaC5EaXNwb3NhYmxle2dldCBkaW1lbnNpb25zKCl7cmV0dXJuIHRoaXMuX3JlbmRlcmVyLnZhbHVlLmRpbWVuc2lvbnN9Y29uc3RydWN0b3IoZSx0LGkscyxyLG8sbCxkKXtzdXBlcigpLHRoaXMuX3Jvd0NvdW50PWUsdGhpcy5fY2hhclNpemVTZXJ2aWNlPXMsdGhpcy5fcmVuZGVyZXI9dGhpcy5yZWdpc3RlcihuZXcgaC5NdXRhYmxlRGlzcG9zYWJsZSksdGhpcy5fcGF1c2VkUmVzaXplVGFzaz1uZXcgYy5EZWJvdW5jZWRJZGxlVGFzayx0aGlzLl9vYnNlcnZlckRpc3Bvc2FibGU9dGhpcy5yZWdpc3RlcihuZXcgaC5NdXRhYmxlRGlzcG9zYWJsZSksdGhpcy5faXNQYXVzZWQ9ITEsdGhpcy5fbmVlZHNGdWxsUmVmcmVzaD0hMSx0aGlzLl9pc05leHRSZW5kZXJSZWRyYXdPbmx5PSEwLHRoaXMuX25lZWRzU2VsZWN0aW9uUmVmcmVzaD0hMSx0aGlzLl9jYW52YXNXaWR0aD0wLHRoaXMuX2NhbnZhc0hlaWdodD0wLHRoaXMuX3NlbGVjdGlvblN0YXRlPXtzdGFydDp2b2lkIDAsZW5kOnZvaWQgMCxjb2x1bW5TZWxlY3RNb2RlOiExfSx0aGlzLl9vbkRpbWVuc2lvbnNDaGFuZ2U9dGhpcy5yZWdpc3RlcihuZXcgYS5FdmVudEVtaXR0ZXIpLHRoaXMub25EaW1lbnNpb25zQ2hhbmdlPXRoaXMuX29uRGltZW5zaW9uc0NoYW5nZS5ldmVudCx0aGlzLl9vblJlbmRlcmVkVmlld3BvcnRDaGFuZ2U9dGhpcy5yZWdpc3RlcihuZXcgYS5FdmVudEVtaXR0ZXIpLHRoaXMub25SZW5kZXJlZFZpZXdwb3J0Q2hhbmdlPXRoaXMuX29uUmVuZGVyZWRWaWV3cG9ydENoYW5nZS5ldmVudCx0aGlzLl9vblJlbmRlcj10aGlzLnJlZ2lzdGVyKG5ldyBhLkV2ZW50RW1pdHRlciksdGhpcy5vblJlbmRlcj10aGlzLl9vblJlbmRlci5ldmVudCx0aGlzLl9vblJlZnJlc2hSZXF1ZXN0PXRoaXMucmVnaXN0ZXIobmV3IGEuRXZlbnRFbWl0dGVyKSx0aGlzLm9uUmVmcmVzaFJlcXVlc3Q9dGhpcy5fb25SZWZyZXNoUmVxdWVzdC5ldmVudCx0aGlzLl9yZW5kZXJEZWJvdW5jZXI9bmV3IG4uUmVuZGVyRGVib3VuY2VyKCgoZSx0KT0+dGhpcy5fcmVuZGVyUm93cyhlLHQpKSxsKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX3JlbmRlckRlYm91bmNlciksdGhpcy5yZWdpc3RlcihsLm9uRHByQ2hhbmdlKCgoKT0+dGhpcy5oYW5kbGVEZXZpY2VQaXhlbFJhdGlvQ2hhbmdlKCkpKSksdGhpcy5yZWdpc3RlcihvLm9uUmVzaXplKCgoKT0+dGhpcy5fZnVsbFJlZnJlc2goKSkpKSx0aGlzLnJlZ2lzdGVyKG8uYnVmZmVycy5vbkJ1ZmZlckFjdGl2YXRlKCgoKT0+dGhpcy5fcmVuZGVyZXIudmFsdWU/LmNsZWFyKCkpKSksdGhpcy5yZWdpc3RlcihpLm9uT3B0aW9uQ2hhbmdlKCgoKT0+dGhpcy5faGFuZGxlT3B0aW9uc0NoYW5nZWQoKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX2NoYXJTaXplU2VydmljZS5vbkNoYXJTaXplQ2hhbmdlKCgoKT0+dGhpcy5oYW5kbGVDaGFyU2l6ZUNoYW5nZWQoKSkpKSx0aGlzLnJlZ2lzdGVyKHIub25EZWNvcmF0aW9uUmVnaXN0ZXJlZCgoKCk9PnRoaXMuX2Z1bGxSZWZyZXNoKCkpKSksdGhpcy5yZWdpc3RlcihyLm9uRGVjb3JhdGlvblJlbW92ZWQoKCgpPT50aGlzLl9mdWxsUmVmcmVzaCgpKSkpLHRoaXMucmVnaXN0ZXIoaS5vbk11bHRpcGxlT3B0aW9uQ2hhbmdlKFtcImN1c3RvbUdseXBoc1wiLFwiZHJhd0JvbGRUZXh0SW5CcmlnaHRDb2xvcnNcIixcImxldHRlclNwYWNpbmdcIixcImxpbmVIZWlnaHRcIixcImZvbnRGYW1pbHlcIixcImZvbnRTaXplXCIsXCJmb250V2VpZ2h0XCIsXCJmb250V2VpZ2h0Qm9sZFwiLFwibWluaW11bUNvbnRyYXN0UmF0aW9cIixcInJlc2NhbGVPdmVybGFwcGluZ0dseXBoc1wiXSwoKCk9Pnt0aGlzLmNsZWFyKCksdGhpcy5oYW5kbGVSZXNpemUoby5jb2xzLG8ucm93cyksdGhpcy5fZnVsbFJlZnJlc2goKX0pKSksdGhpcy5yZWdpc3RlcihpLm9uTXVsdGlwbGVPcHRpb25DaGFuZ2UoW1wiY3Vyc29yQmxpbmtcIixcImN1cnNvclN0eWxlXCJdLCgoKT0+dGhpcy5yZWZyZXNoUm93cyhvLmJ1ZmZlci55LG8uYnVmZmVyLnksITApKSkpLHRoaXMucmVnaXN0ZXIoZC5vbkNoYW5nZUNvbG9ycygoKCk9PnRoaXMuX2Z1bGxSZWZyZXNoKCkpKSksdGhpcy5fcmVnaXN0ZXJJbnRlcnNlY3Rpb25PYnNlcnZlcihsLndpbmRvdyx0KSx0aGlzLnJlZ2lzdGVyKGwub25XaW5kb3dDaGFuZ2UoKGU9PnRoaXMuX3JlZ2lzdGVySW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZSx0KSkpKX1fcmVnaXN0ZXJJbnRlcnNlY3Rpb25PYnNlcnZlcihlLHQpe2lmKFwiSW50ZXJzZWN0aW9uT2JzZXJ2ZXJcImluIGUpe2NvbnN0IGk9bmV3IGUuSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGU9PnRoaXMuX2hhbmRsZUludGVyc2VjdGlvbkNoYW5nZShlW2UubGVuZ3RoLTFdKSkse3RocmVzaG9sZDowfSk7aS5vYnNlcnZlKHQpLHRoaXMuX29ic2VydmVyRGlzcG9zYWJsZS52YWx1ZT0oMCxoLnRvRGlzcG9zYWJsZSkoKCgpPT5pLmRpc2Nvbm5lY3QoKSkpfX1faGFuZGxlSW50ZXJzZWN0aW9uQ2hhbmdlKGUpe3RoaXMuX2lzUGF1c2VkPXZvaWQgMD09PWUuaXNJbnRlcnNlY3Rpbmc/MD09PWUuaW50ZXJzZWN0aW9uUmF0aW86IWUuaXNJbnRlcnNlY3RpbmcsdGhpcy5faXNQYXVzZWR8fHRoaXMuX2NoYXJTaXplU2VydmljZS5oYXNWYWxpZFNpemV8fHRoaXMuX2NoYXJTaXplU2VydmljZS5tZWFzdXJlKCksIXRoaXMuX2lzUGF1c2VkJiZ0aGlzLl9uZWVkc0Z1bGxSZWZyZXNoJiYodGhpcy5fcGF1c2VkUmVzaXplVGFzay5mbHVzaCgpLHRoaXMucmVmcmVzaFJvd3MoMCx0aGlzLl9yb3dDb3VudC0xKSx0aGlzLl9uZWVkc0Z1bGxSZWZyZXNoPSExKX1yZWZyZXNoUm93cyhlLHQsaT0hMSl7dGhpcy5faXNQYXVzZWQ/dGhpcy5fbmVlZHNGdWxsUmVmcmVzaD0hMDooaXx8KHRoaXMuX2lzTmV4dFJlbmRlclJlZHJhd09ubHk9ITEpLHRoaXMuX3JlbmRlckRlYm91bmNlci5yZWZyZXNoKGUsdCx0aGlzLl9yb3dDb3VudCkpfV9yZW5kZXJSb3dzKGUsdCl7dGhpcy5fcmVuZGVyZXIudmFsdWUmJihlPU1hdGgubWluKGUsdGhpcy5fcm93Q291bnQtMSksdD1NYXRoLm1pbih0LHRoaXMuX3Jvd0NvdW50LTEpLHRoaXMuX3JlbmRlcmVyLnZhbHVlLnJlbmRlclJvd3MoZSx0KSx0aGlzLl9uZWVkc1NlbGVjdGlvblJlZnJlc2gmJih0aGlzLl9yZW5kZXJlci52YWx1ZS5oYW5kbGVTZWxlY3Rpb25DaGFuZ2VkKHRoaXMuX3NlbGVjdGlvblN0YXRlLnN0YXJ0LHRoaXMuX3NlbGVjdGlvblN0YXRlLmVuZCx0aGlzLl9zZWxlY3Rpb25TdGF0ZS5jb2x1bW5TZWxlY3RNb2RlKSx0aGlzLl9uZWVkc1NlbGVjdGlvblJlZnJlc2g9ITEpLHRoaXMuX2lzTmV4dFJlbmRlclJlZHJhd09ubHl8fHRoaXMuX29uUmVuZGVyZWRWaWV3cG9ydENoYW5nZS5maXJlKHtzdGFydDplLGVuZDp0fSksdGhpcy5fb25SZW5kZXIuZmlyZSh7c3RhcnQ6ZSxlbmQ6dH0pLHRoaXMuX2lzTmV4dFJlbmRlclJlZHJhd09ubHk9ITApfXJlc2l6ZShlLHQpe3RoaXMuX3Jvd0NvdW50PXQsdGhpcy5fZmlyZU9uQ2FudmFzUmVzaXplKCl9X2hhbmRsZU9wdGlvbnNDaGFuZ2VkKCl7dGhpcy5fcmVuZGVyZXIudmFsdWUmJih0aGlzLnJlZnJlc2hSb3dzKDAsdGhpcy5fcm93Q291bnQtMSksdGhpcy5fZmlyZU9uQ2FudmFzUmVzaXplKCkpfV9maXJlT25DYW52YXNSZXNpemUoKXt0aGlzLl9yZW5kZXJlci52YWx1ZSYmKHRoaXMuX3JlbmRlcmVyLnZhbHVlLmRpbWVuc2lvbnMuY3NzLmNhbnZhcy53aWR0aD09PXRoaXMuX2NhbnZhc1dpZHRoJiZ0aGlzLl9yZW5kZXJlci52YWx1ZS5kaW1lbnNpb25zLmNzcy5jYW52YXMuaGVpZ2h0PT09dGhpcy5fY2FudmFzSGVpZ2h0fHx0aGlzLl9vbkRpbWVuc2lvbnNDaGFuZ2UuZmlyZSh0aGlzLl9yZW5kZXJlci52YWx1ZS5kaW1lbnNpb25zKSl9aGFzUmVuZGVyZXIoKXtyZXR1cm4hIXRoaXMuX3JlbmRlcmVyLnZhbHVlfXNldFJlbmRlcmVyKGUpe3RoaXMuX3JlbmRlcmVyLnZhbHVlPWUsdGhpcy5fcmVuZGVyZXIudmFsdWUmJih0aGlzLl9yZW5kZXJlci52YWx1ZS5vblJlcXVlc3RSZWRyYXcoKGU9PnRoaXMucmVmcmVzaFJvd3MoZS5zdGFydCxlLmVuZCwhMCkpKSx0aGlzLl9uZWVkc1NlbGVjdGlvblJlZnJlc2g9ITAsdGhpcy5fZnVsbFJlZnJlc2goKSl9YWRkUmVmcmVzaENhbGxiYWNrKGUpe3JldHVybiB0aGlzLl9yZW5kZXJEZWJvdW5jZXIuYWRkUmVmcmVzaENhbGxiYWNrKGUpfV9mdWxsUmVmcmVzaCgpe3RoaXMuX2lzUGF1c2VkP3RoaXMuX25lZWRzRnVsbFJlZnJlc2g9ITA6dGhpcy5yZWZyZXNoUm93cygwLHRoaXMuX3Jvd0NvdW50LTEpfWNsZWFyVGV4dHVyZUF0bGFzKCl7dGhpcy5fcmVuZGVyZXIudmFsdWUmJih0aGlzLl9yZW5kZXJlci52YWx1ZS5jbGVhclRleHR1cmVBdGxhcz8uKCksdGhpcy5fZnVsbFJlZnJlc2goKSl9aGFuZGxlRGV2aWNlUGl4ZWxSYXRpb0NoYW5nZSgpe3RoaXMuX2NoYXJTaXplU2VydmljZS5tZWFzdXJlKCksdGhpcy5fcmVuZGVyZXIudmFsdWUmJih0aGlzLl9yZW5kZXJlci52YWx1ZS5oYW5kbGVEZXZpY2VQaXhlbFJhdGlvQ2hhbmdlKCksdGhpcy5yZWZyZXNoUm93cygwLHRoaXMuX3Jvd0NvdW50LTEpKX1oYW5kbGVSZXNpemUoZSx0KXt0aGlzLl9yZW5kZXJlci52YWx1ZSYmKHRoaXMuX2lzUGF1c2VkP3RoaXMuX3BhdXNlZFJlc2l6ZVRhc2suc2V0KCgoKT0+dGhpcy5fcmVuZGVyZXIudmFsdWU/LmhhbmRsZVJlc2l6ZShlLHQpKSk6dGhpcy5fcmVuZGVyZXIudmFsdWUuaGFuZGxlUmVzaXplKGUsdCksdGhpcy5fZnVsbFJlZnJlc2goKSl9aGFuZGxlQ2hhclNpemVDaGFuZ2VkKCl7dGhpcy5fcmVuZGVyZXIudmFsdWU/LmhhbmRsZUNoYXJTaXplQ2hhbmdlZCgpfWhhbmRsZUJsdXIoKXt0aGlzLl9yZW5kZXJlci52YWx1ZT8uaGFuZGxlQmx1cigpfWhhbmRsZUZvY3VzKCl7dGhpcy5fcmVuZGVyZXIudmFsdWU/LmhhbmRsZUZvY3VzKCl9aGFuZGxlU2VsZWN0aW9uQ2hhbmdlZChlLHQsaSl7dGhpcy5fc2VsZWN0aW9uU3RhdGUuc3RhcnQ9ZSx0aGlzLl9zZWxlY3Rpb25TdGF0ZS5lbmQ9dCx0aGlzLl9zZWxlY3Rpb25TdGF0ZS5jb2x1bW5TZWxlY3RNb2RlPWksdGhpcy5fcmVuZGVyZXIudmFsdWU/LmhhbmRsZVNlbGVjdGlvbkNoYW5nZWQoZSx0LGkpfWhhbmRsZUN1cnNvck1vdmUoKXt0aGlzLl9yZW5kZXJlci52YWx1ZT8uaGFuZGxlQ3Vyc29yTW92ZSgpfWNsZWFyKCl7dGhpcy5fcmVuZGVyZXIudmFsdWU/LmNsZWFyKCl9fTt0LlJlbmRlclNlcnZpY2U9ZD1zKFtyKDIsbC5JT3B0aW9uc1NlcnZpY2UpLHIoMyxvLklDaGFyU2l6ZVNlcnZpY2UpLHIoNCxsLklEZWNvcmF0aW9uU2VydmljZSkscig1LGwuSUJ1ZmZlclNlcnZpY2UpLHIoNixvLklDb3JlQnJvd3NlclNlcnZpY2UpLHIoNyxvLklUaGVtZVNlcnZpY2UpXSxkKX0sOTMxMjpmdW5jdGlvbihlLHQsaSl7dmFyIHM9dGhpcyYmdGhpcy5fX2RlY29yYXRlfHxmdW5jdGlvbihlLHQsaSxzKXt2YXIgcixuPWFyZ3VtZW50cy5sZW5ndGgsbz1uPDM/dDpudWxsPT09cz9zPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxpKTpzO2lmKFwib2JqZWN0XCI9PXR5cGVvZiBSZWZsZWN0JiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBSZWZsZWN0LmRlY29yYXRlKW89UmVmbGVjdC5kZWNvcmF0ZShlLHQsaSxzKTtlbHNlIGZvcih2YXIgYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShyPWVbYV0pJiYobz0objwzP3Iobyk6bj4zP3IodCxpLG8pOnIodCxpKSl8fG8pO3JldHVybiBuPjMmJm8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGksbyksb30scj10aGlzJiZ0aGlzLl9fcGFyYW18fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGkscyl7dChpLHMsZSl9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LlNlbGVjdGlvblNlcnZpY2U9dm9pZCAwO2NvbnN0IG49aSg5ODA2KSxvPWkoOTUwNCksYT1pKDQ1NiksaD1pKDQ3MjUpLGM9aSg4NDYwKSxsPWkoODQ0KSxkPWkoNjExNCksXz1pKDQ4NDEpLHU9aSg1MTEpLGY9aSgyNTg1KSx2PVN0cmluZy5mcm9tQ2hhckNvZGUoMTYwKSxwPW5ldyBSZWdFeHAodixcImdcIik7bGV0IGc9dC5TZWxlY3Rpb25TZXJ2aWNlPWNsYXNzIGV4dGVuZHMgbC5EaXNwb3NhYmxle2NvbnN0cnVjdG9yKGUsdCxpLHMscixuLG8saCxkKXtzdXBlcigpLHRoaXMuX2VsZW1lbnQ9ZSx0aGlzLl9zY3JlZW5FbGVtZW50PXQsdGhpcy5fbGlua2lmaWVyPWksdGhpcy5fYnVmZmVyU2VydmljZT1zLHRoaXMuX2NvcmVTZXJ2aWNlPXIsdGhpcy5fbW91c2VTZXJ2aWNlPW4sdGhpcy5fb3B0aW9uc1NlcnZpY2U9byx0aGlzLl9yZW5kZXJTZXJ2aWNlPWgsdGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlPWQsdGhpcy5fZHJhZ1Njcm9sbEFtb3VudD0wLHRoaXMuX2VuYWJsZWQ9ITAsdGhpcy5fd29ya0NlbGw9bmV3IHUuQ2VsbERhdGEsdGhpcy5fbW91c2VEb3duVGltZVN0YW1wPTAsdGhpcy5fb2xkSGFzU2VsZWN0aW9uPSExLHRoaXMuX29sZFNlbGVjdGlvblN0YXJ0PXZvaWQgMCx0aGlzLl9vbGRTZWxlY3Rpb25FbmQ9dm9pZCAwLHRoaXMuX29uTGludXhNb3VzZVNlbGVjdGlvbj10aGlzLnJlZ2lzdGVyKG5ldyBjLkV2ZW50RW1pdHRlciksdGhpcy5vbkxpbnV4TW91c2VTZWxlY3Rpb249dGhpcy5fb25MaW51eE1vdXNlU2VsZWN0aW9uLmV2ZW50LHRoaXMuX29uUmVkcmF3UmVxdWVzdD10aGlzLnJlZ2lzdGVyKG5ldyBjLkV2ZW50RW1pdHRlciksdGhpcy5vblJlcXVlc3RSZWRyYXc9dGhpcy5fb25SZWRyYXdSZXF1ZXN0LmV2ZW50LHRoaXMuX29uU2VsZWN0aW9uQ2hhbmdlPXRoaXMucmVnaXN0ZXIobmV3IGMuRXZlbnRFbWl0dGVyKSx0aGlzLm9uU2VsZWN0aW9uQ2hhbmdlPXRoaXMuX29uU2VsZWN0aW9uQ2hhbmdlLmV2ZW50LHRoaXMuX29uUmVxdWVzdFNjcm9sbExpbmVzPXRoaXMucmVnaXN0ZXIobmV3IGMuRXZlbnRFbWl0dGVyKSx0aGlzLm9uUmVxdWVzdFNjcm9sbExpbmVzPXRoaXMuX29uUmVxdWVzdFNjcm9sbExpbmVzLmV2ZW50LHRoaXMuX21vdXNlTW92ZUxpc3RlbmVyPWU9PnRoaXMuX2hhbmRsZU1vdXNlTW92ZShlKSx0aGlzLl9tb3VzZVVwTGlzdGVuZXI9ZT0+dGhpcy5faGFuZGxlTW91c2VVcChlKSx0aGlzLl9jb3JlU2VydmljZS5vblVzZXJJbnB1dCgoKCk9Pnt0aGlzLmhhc1NlbGVjdGlvbiYmdGhpcy5jbGVhclNlbGVjdGlvbigpfSkpLHRoaXMuX3RyaW1MaXN0ZW5lcj10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci5saW5lcy5vblRyaW0oKGU9PnRoaXMuX2hhbmRsZVRyaW0oZSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVycy5vbkJ1ZmZlckFjdGl2YXRlKChlPT50aGlzLl9oYW5kbGVCdWZmZXJBY3RpdmF0ZShlKSkpKSx0aGlzLmVuYWJsZSgpLHRoaXMuX21vZGVsPW5ldyBhLlNlbGVjdGlvbk1vZGVsKHRoaXMuX2J1ZmZlclNlcnZpY2UpLHRoaXMuX2FjdGl2ZVNlbGVjdGlvbk1vZGU9MCx0aGlzLnJlZ2lzdGVyKCgwLGwudG9EaXNwb3NhYmxlKSgoKCk9Pnt0aGlzLl9yZW1vdmVNb3VzZURvd25MaXN0ZW5lcnMoKX0pKSl9cmVzZXQoKXt0aGlzLmNsZWFyU2VsZWN0aW9uKCl9ZGlzYWJsZSgpe3RoaXMuY2xlYXJTZWxlY3Rpb24oKSx0aGlzLl9lbmFibGVkPSExfWVuYWJsZSgpe3RoaXMuX2VuYWJsZWQ9ITB9Z2V0IHNlbGVjdGlvblN0YXJ0KCl7cmV0dXJuIHRoaXMuX21vZGVsLmZpbmFsU2VsZWN0aW9uU3RhcnR9Z2V0IHNlbGVjdGlvbkVuZCgpe3JldHVybiB0aGlzLl9tb2RlbC5maW5hbFNlbGVjdGlvbkVuZH1nZXQgaGFzU2VsZWN0aW9uKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5maW5hbFNlbGVjdGlvblN0YXJ0LHQ9dGhpcy5fbW9kZWwuZmluYWxTZWxlY3Rpb25FbmQ7cmV0dXJuISghZXx8IXR8fGVbMF09PT10WzBdJiZlWzFdPT09dFsxXSl9Z2V0IHNlbGVjdGlvblRleHQoKXtjb25zdCBlPXRoaXMuX21vZGVsLmZpbmFsU2VsZWN0aW9uU3RhcnQsdD10aGlzLl9tb2RlbC5maW5hbFNlbGVjdGlvbkVuZDtpZighZXx8IXQpcmV0dXJuXCJcIjtjb25zdCBpPXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLHM9W107aWYoMz09PXRoaXMuX2FjdGl2ZVNlbGVjdGlvbk1vZGUpe2lmKGVbMF09PT10WzBdKXJldHVyblwiXCI7Y29uc3Qgcj1lWzBdPHRbMF0/ZVswXTp0WzBdLG49ZVswXTx0WzBdP3RbMF06ZVswXTtmb3IobGV0IG89ZVsxXTtvPD10WzFdO28rKyl7Y29uc3QgZT1pLnRyYW5zbGF0ZUJ1ZmZlckxpbmVUb1N0cmluZyhvLCEwLHIsbik7cy5wdXNoKGUpfX1lbHNle2NvbnN0IHI9ZVsxXT09PXRbMV0/dFswXTp2b2lkIDA7cy5wdXNoKGkudHJhbnNsYXRlQnVmZmVyTGluZVRvU3RyaW5nKGVbMV0sITAsZVswXSxyKSk7Zm9yKGxldCByPWVbMV0rMTtyPD10WzFdLTE7cisrKXtjb25zdCBlPWkubGluZXMuZ2V0KHIpLHQ9aS50cmFuc2xhdGVCdWZmZXJMaW5lVG9TdHJpbmcociwhMCk7ZT8uaXNXcmFwcGVkP3Nbcy5sZW5ndGgtMV0rPXQ6cy5wdXNoKHQpfWlmKGVbMV0hPT10WzFdKXtjb25zdCBlPWkubGluZXMuZ2V0KHRbMV0pLHI9aS50cmFuc2xhdGVCdWZmZXJMaW5lVG9TdHJpbmcodFsxXSwhMCwwLHRbMF0pO2UmJmUuaXNXcmFwcGVkP3Nbcy5sZW5ndGgtMV0rPXI6cy5wdXNoKHIpfX1yZXR1cm4gcy5tYXAoKGU9PmUucmVwbGFjZShwLFwiIFwiKSkpLmpvaW4oZC5pc1dpbmRvd3M/XCJcXHJcXG5cIjpcIlxcblwiKX1jbGVhclNlbGVjdGlvbigpe3RoaXMuX21vZGVsLmNsZWFyU2VsZWN0aW9uKCksdGhpcy5fcmVtb3ZlTW91c2VEb3duTGlzdGVuZXJzKCksdGhpcy5yZWZyZXNoKCksdGhpcy5fb25TZWxlY3Rpb25DaGFuZ2UuZmlyZSgpfXJlZnJlc2goZSl7dGhpcy5fcmVmcmVzaEFuaW1hdGlvbkZyYW1lfHwodGhpcy5fcmVmcmVzaEFuaW1hdGlvbkZyYW1lPXRoaXMuX2NvcmVCcm93c2VyU2VydmljZS53aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+dGhpcy5fcmVmcmVzaCgpKSkpLGQuaXNMaW51eCYmZSYmdGhpcy5zZWxlY3Rpb25UZXh0Lmxlbmd0aCYmdGhpcy5fb25MaW51eE1vdXNlU2VsZWN0aW9uLmZpcmUodGhpcy5zZWxlY3Rpb25UZXh0KX1fcmVmcmVzaCgpe3RoaXMuX3JlZnJlc2hBbmltYXRpb25GcmFtZT12b2lkIDAsdGhpcy5fb25SZWRyYXdSZXF1ZXN0LmZpcmUoe3N0YXJ0OnRoaXMuX21vZGVsLmZpbmFsU2VsZWN0aW9uU3RhcnQsZW5kOnRoaXMuX21vZGVsLmZpbmFsU2VsZWN0aW9uRW5kLGNvbHVtblNlbGVjdE1vZGU6Mz09PXRoaXMuX2FjdGl2ZVNlbGVjdGlvbk1vZGV9KX1faXNDbGlja0luU2VsZWN0aW9uKGUpe2NvbnN0IHQ9dGhpcy5fZ2V0TW91c2VCdWZmZXJDb29yZHMoZSksaT10aGlzLl9tb2RlbC5maW5hbFNlbGVjdGlvblN0YXJ0LHM9dGhpcy5fbW9kZWwuZmluYWxTZWxlY3Rpb25FbmQ7cmV0dXJuISEoaSYmcyYmdCkmJnRoaXMuX2FyZUNvb3Jkc0luU2VsZWN0aW9uKHQsaSxzKX1pc0NlbGxJblNlbGVjdGlvbihlLHQpe2NvbnN0IGk9dGhpcy5fbW9kZWwuZmluYWxTZWxlY3Rpb25TdGFydCxzPXRoaXMuX21vZGVsLmZpbmFsU2VsZWN0aW9uRW5kO3JldHVybiEoIWl8fCFzKSYmdGhpcy5fYXJlQ29vcmRzSW5TZWxlY3Rpb24oW2UsdF0saSxzKX1fYXJlQ29vcmRzSW5TZWxlY3Rpb24oZSx0LGkpe3JldHVybiBlWzFdPnRbMV0mJmVbMV08aVsxXXx8dFsxXT09PWlbMV0mJmVbMV09PT10WzFdJiZlWzBdPj10WzBdJiZlWzBdPGlbMF18fHRbMV08aVsxXSYmZVsxXT09PWlbMV0mJmVbMF08aVswXXx8dFsxXTxpWzFdJiZlWzFdPT09dFsxXSYmZVswXT49dFswXX1fc2VsZWN0V29yZEF0Q3Vyc29yKGUsdCl7Y29uc3QgaT10aGlzLl9saW5raWZpZXIuY3VycmVudExpbms/Lmxpbms/LnJhbmdlO2lmKGkpcmV0dXJuIHRoaXMuX21vZGVsLnNlbGVjdGlvblN0YXJ0PVtpLnN0YXJ0LngtMSxpLnN0YXJ0LnktMV0sdGhpcy5fbW9kZWwuc2VsZWN0aW9uU3RhcnRMZW5ndGg9KDAsXy5nZXRSYW5nZUxlbmd0aCkoaSx0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMpLHRoaXMuX21vZGVsLnNlbGVjdGlvbkVuZD12b2lkIDAsITA7Y29uc3Qgcz10aGlzLl9nZXRNb3VzZUJ1ZmZlckNvb3JkcyhlKTtyZXR1cm4hIXMmJih0aGlzLl9zZWxlY3RXb3JkQXQocyx0KSx0aGlzLl9tb2RlbC5zZWxlY3Rpb25FbmQ9dm9pZCAwLCEwKX1zZWxlY3RBbGwoKXt0aGlzLl9tb2RlbC5pc1NlbGVjdEFsbEFjdGl2ZT0hMCx0aGlzLnJlZnJlc2goKSx0aGlzLl9vblNlbGVjdGlvbkNoYW5nZS5maXJlKCl9c2VsZWN0TGluZXMoZSx0KXt0aGlzLl9tb2RlbC5jbGVhclNlbGVjdGlvbigpLGU9TWF0aC5tYXgoZSwwKSx0PU1hdGgubWluKHQsdGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIubGluZXMubGVuZ3RoLTEpLHRoaXMuX21vZGVsLnNlbGVjdGlvblN0YXJ0PVswLGVdLHRoaXMuX21vZGVsLnNlbGVjdGlvbkVuZD1bdGhpcy5fYnVmZmVyU2VydmljZS5jb2xzLHRdLHRoaXMucmVmcmVzaCgpLHRoaXMuX29uU2VsZWN0aW9uQ2hhbmdlLmZpcmUoKX1faGFuZGxlVHJpbShlKXt0aGlzLl9tb2RlbC5oYW5kbGVUcmltKGUpJiZ0aGlzLnJlZnJlc2goKX1fZ2V0TW91c2VCdWZmZXJDb29yZHMoZSl7Y29uc3QgdD10aGlzLl9tb3VzZVNlcnZpY2UuZ2V0Q29vcmRzKGUsdGhpcy5fc2NyZWVuRWxlbWVudCx0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMsdGhpcy5fYnVmZmVyU2VydmljZS5yb3dzLCEwKTtpZih0KXJldHVybiB0WzBdLS0sdFsxXS0tLHRbMV0rPXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLnlkaXNwLHR9X2dldE1vdXNlRXZlbnRTY3JvbGxBbW91bnQoZSl7bGV0IHQ9KDAsbi5nZXRDb29yZHNSZWxhdGl2ZVRvRWxlbWVudCkodGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlLndpbmRvdyxlLHRoaXMuX3NjcmVlbkVsZW1lbnQpWzFdO2NvbnN0IGk9dGhpcy5fcmVuZGVyU2VydmljZS5kaW1lbnNpb25zLmNzcy5jYW52YXMuaGVpZ2h0O3JldHVybiB0Pj0wJiZ0PD1pPzA6KHQ+aSYmKHQtPWkpLHQ9TWF0aC5taW4oTWF0aC5tYXgodCwtNTApLDUwKSx0Lz01MCx0L01hdGguYWJzKHQpK01hdGgucm91bmQoMTQqdCkpfXNob3VsZEZvcmNlU2VsZWN0aW9uKGUpe3JldHVybiBkLmlzTWFjP2UuYWx0S2V5JiZ0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLm1hY09wdGlvbkNsaWNrRm9yY2VzU2VsZWN0aW9uOmUuc2hpZnRLZXl9aGFuZGxlTW91c2VEb3duKGUpe2lmKHRoaXMuX21vdXNlRG93blRpbWVTdGFtcD1lLnRpbWVTdGFtcCwoMiE9PWUuYnV0dG9ufHwhdGhpcy5oYXNTZWxlY3Rpb24pJiYwPT09ZS5idXR0b24pe2lmKCF0aGlzLl9lbmFibGVkKXtpZighdGhpcy5zaG91bGRGb3JjZVNlbGVjdGlvbihlKSlyZXR1cm47ZS5zdG9wUHJvcGFnYXRpb24oKX1lLnByZXZlbnREZWZhdWx0KCksdGhpcy5fZHJhZ1Njcm9sbEFtb3VudD0wLHRoaXMuX2VuYWJsZWQmJmUuc2hpZnRLZXk/dGhpcy5faGFuZGxlSW5jcmVtZW50YWxDbGljayhlKToxPT09ZS5kZXRhaWw/dGhpcy5faGFuZGxlU2luZ2xlQ2xpY2soZSk6Mj09PWUuZGV0YWlsP3RoaXMuX2hhbmRsZURvdWJsZUNsaWNrKGUpOjM9PT1lLmRldGFpbCYmdGhpcy5faGFuZGxlVHJpcGxlQ2xpY2soZSksdGhpcy5fYWRkTW91c2VEb3duTGlzdGVuZXJzKCksdGhpcy5yZWZyZXNoKCEwKX19X2FkZE1vdXNlRG93bkxpc3RlbmVycygpe3RoaXMuX3NjcmVlbkVsZW1lbnQub3duZXJEb2N1bWVudCYmKHRoaXMuX3NjcmVlbkVsZW1lbnQub3duZXJEb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vtb3ZlXCIsdGhpcy5fbW91c2VNb3ZlTGlzdGVuZXIpLHRoaXMuX3NjcmVlbkVsZW1lbnQub3duZXJEb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwibW91c2V1cFwiLHRoaXMuX21vdXNlVXBMaXN0ZW5lcikpLHRoaXMuX2RyYWdTY3JvbGxJbnRlcnZhbFRpbWVyPXRoaXMuX2NvcmVCcm93c2VyU2VydmljZS53aW5kb3cuc2V0SW50ZXJ2YWwoKCgpPT50aGlzLl9kcmFnU2Nyb2xsKCkpLDUwKX1fcmVtb3ZlTW91c2VEb3duTGlzdGVuZXJzKCl7dGhpcy5fc2NyZWVuRWxlbWVudC5vd25lckRvY3VtZW50JiYodGhpcy5fc2NyZWVuRWxlbWVudC5vd25lckRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIix0aGlzLl9tb3VzZU1vdmVMaXN0ZW5lciksdGhpcy5fc2NyZWVuRWxlbWVudC5vd25lckRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZXVwXCIsdGhpcy5fbW91c2VVcExpc3RlbmVyKSksdGhpcy5fY29yZUJyb3dzZXJTZXJ2aWNlLndpbmRvdy5jbGVhckludGVydmFsKHRoaXMuX2RyYWdTY3JvbGxJbnRlcnZhbFRpbWVyKSx0aGlzLl9kcmFnU2Nyb2xsSW50ZXJ2YWxUaW1lcj12b2lkIDB9X2hhbmRsZUluY3JlbWVudGFsQ2xpY2soZSl7dGhpcy5fbW9kZWwuc2VsZWN0aW9uU3RhcnQmJih0aGlzLl9tb2RlbC5zZWxlY3Rpb25FbmQ9dGhpcy5fZ2V0TW91c2VCdWZmZXJDb29yZHMoZSkpfV9oYW5kbGVTaW5nbGVDbGljayhlKXtpZih0aGlzLl9tb2RlbC5zZWxlY3Rpb25TdGFydExlbmd0aD0wLHRoaXMuX21vZGVsLmlzU2VsZWN0QWxsQWN0aXZlPSExLHRoaXMuX2FjdGl2ZVNlbGVjdGlvbk1vZGU9dGhpcy5zaG91bGRDb2x1bW5TZWxlY3QoZSk/MzowLHRoaXMuX21vZGVsLnNlbGVjdGlvblN0YXJ0PXRoaXMuX2dldE1vdXNlQnVmZmVyQ29vcmRzKGUpLCF0aGlzLl9tb2RlbC5zZWxlY3Rpb25TdGFydClyZXR1cm47dGhpcy5fbW9kZWwuc2VsZWN0aW9uRW5kPXZvaWQgMDtjb25zdCB0PXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLmxpbmVzLmdldCh0aGlzLl9tb2RlbC5zZWxlY3Rpb25TdGFydFsxXSk7dCYmdC5sZW5ndGghPT10aGlzLl9tb2RlbC5zZWxlY3Rpb25TdGFydFswXSYmMD09PXQuaGFzV2lkdGgodGhpcy5fbW9kZWwuc2VsZWN0aW9uU3RhcnRbMF0pJiZ0aGlzLl9tb2RlbC5zZWxlY3Rpb25TdGFydFswXSsrfV9oYW5kbGVEb3VibGVDbGljayhlKXt0aGlzLl9zZWxlY3RXb3JkQXRDdXJzb3IoZSwhMCkmJih0aGlzLl9hY3RpdmVTZWxlY3Rpb25Nb2RlPTEpfV9oYW5kbGVUcmlwbGVDbGljayhlKXtjb25zdCB0PXRoaXMuX2dldE1vdXNlQnVmZmVyQ29vcmRzKGUpO3QmJih0aGlzLl9hY3RpdmVTZWxlY3Rpb25Nb2RlPTIsdGhpcy5fc2VsZWN0TGluZUF0KHRbMV0pKX1zaG91bGRDb2x1bW5TZWxlY3QoZSl7cmV0dXJuIGUuYWx0S2V5JiYhKGQuaXNNYWMmJnRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMubWFjT3B0aW9uQ2xpY2tGb3JjZXNTZWxlY3Rpb24pfV9oYW5kbGVNb3VzZU1vdmUoZSl7aWYoZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSwhdGhpcy5fbW9kZWwuc2VsZWN0aW9uU3RhcnQpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fbW9kZWwuc2VsZWN0aW9uRW5kP1t0aGlzLl9tb2RlbC5zZWxlY3Rpb25FbmRbMF0sdGhpcy5fbW9kZWwuc2VsZWN0aW9uRW5kWzFdXTpudWxsO2lmKHRoaXMuX21vZGVsLnNlbGVjdGlvbkVuZD10aGlzLl9nZXRNb3VzZUJ1ZmZlckNvb3JkcyhlKSwhdGhpcy5fbW9kZWwuc2VsZWN0aW9uRW5kKXJldHVybiB2b2lkIHRoaXMucmVmcmVzaCghMCk7Mj09PXRoaXMuX2FjdGl2ZVNlbGVjdGlvbk1vZGU/dGhpcy5fbW9kZWwuc2VsZWN0aW9uRW5kWzFdPHRoaXMuX21vZGVsLnNlbGVjdGlvblN0YXJ0WzFdP3RoaXMuX21vZGVsLnNlbGVjdGlvbkVuZFswXT0wOnRoaXMuX21vZGVsLnNlbGVjdGlvbkVuZFswXT10aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHM6MT09PXRoaXMuX2FjdGl2ZVNlbGVjdGlvbk1vZGUmJnRoaXMuX3NlbGVjdFRvV29yZEF0KHRoaXMuX21vZGVsLnNlbGVjdGlvbkVuZCksdGhpcy5fZHJhZ1Njcm9sbEFtb3VudD10aGlzLl9nZXRNb3VzZUV2ZW50U2Nyb2xsQW1vdW50KGUpLDMhPT10aGlzLl9hY3RpdmVTZWxlY3Rpb25Nb2RlJiYodGhpcy5fZHJhZ1Njcm9sbEFtb3VudD4wP3RoaXMuX21vZGVsLnNlbGVjdGlvbkVuZFswXT10aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHM6dGhpcy5fZHJhZ1Njcm9sbEFtb3VudDwwJiYodGhpcy5fbW9kZWwuc2VsZWN0aW9uRW5kWzBdPTApKTtjb25zdCBpPXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyO2lmKHRoaXMuX21vZGVsLnNlbGVjdGlvbkVuZFsxXTxpLmxpbmVzLmxlbmd0aCl7Y29uc3QgZT1pLmxpbmVzLmdldCh0aGlzLl9tb2RlbC5zZWxlY3Rpb25FbmRbMV0pO2UmJjA9PT1lLmhhc1dpZHRoKHRoaXMuX21vZGVsLnNlbGVjdGlvbkVuZFswXSkmJnRoaXMuX21vZGVsLnNlbGVjdGlvbkVuZFswXTx0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMmJnRoaXMuX21vZGVsLnNlbGVjdGlvbkVuZFswXSsrfXQmJnRbMF09PT10aGlzLl9tb2RlbC5zZWxlY3Rpb25FbmRbMF0mJnRbMV09PT10aGlzLl9tb2RlbC5zZWxlY3Rpb25FbmRbMV18fHRoaXMucmVmcmVzaCghMCl9X2RyYWdTY3JvbGwoKXtpZih0aGlzLl9tb2RlbC5zZWxlY3Rpb25FbmQmJnRoaXMuX21vZGVsLnNlbGVjdGlvblN0YXJ0JiZ0aGlzLl9kcmFnU2Nyb2xsQW1vdW50KXt0aGlzLl9vblJlcXVlc3RTY3JvbGxMaW5lcy5maXJlKHthbW91bnQ6dGhpcy5fZHJhZ1Njcm9sbEFtb3VudCxzdXBwcmVzc1Njcm9sbEV2ZW50OiExfSk7Y29uc3QgZT10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlcjt0aGlzLl9kcmFnU2Nyb2xsQW1vdW50PjA/KDMhPT10aGlzLl9hY3RpdmVTZWxlY3Rpb25Nb2RlJiYodGhpcy5fbW9kZWwuc2VsZWN0aW9uRW5kWzBdPXRoaXMuX2J1ZmZlclNlcnZpY2UuY29scyksdGhpcy5fbW9kZWwuc2VsZWN0aW9uRW5kWzFdPU1hdGgubWluKGUueWRpc3ArdGhpcy5fYnVmZmVyU2VydmljZS5yb3dzLGUubGluZXMubGVuZ3RoLTEpKTooMyE9PXRoaXMuX2FjdGl2ZVNlbGVjdGlvbk1vZGUmJih0aGlzLl9tb2RlbC5zZWxlY3Rpb25FbmRbMF09MCksdGhpcy5fbW9kZWwuc2VsZWN0aW9uRW5kWzFdPWUueWRpc3ApLHRoaXMucmVmcmVzaCgpfX1faGFuZGxlTW91c2VVcChlKXtjb25zdCB0PWUudGltZVN0YW1wLXRoaXMuX21vdXNlRG93blRpbWVTdGFtcDtpZih0aGlzLl9yZW1vdmVNb3VzZURvd25MaXN0ZW5lcnMoKSx0aGlzLnNlbGVjdGlvblRleHQubGVuZ3RoPD0xJiZ0PDUwMCYmZS5hbHRLZXkmJnRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuYWx0Q2xpY2tNb3Zlc0N1cnNvcil7aWYodGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIueWJhc2U9PT10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci55ZGlzcCl7Y29uc3QgdD10aGlzLl9tb3VzZVNlcnZpY2UuZ2V0Q29vcmRzKGUsdGhpcy5fZWxlbWVudCx0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMsdGhpcy5fYnVmZmVyU2VydmljZS5yb3dzLCExKTtpZih0JiZ2b2lkIDAhPT10WzBdJiZ2b2lkIDAhPT10WzFdKXtjb25zdCBlPSgwLG8ubW92ZVRvQ2VsbFNlcXVlbmNlKSh0WzBdLTEsdFsxXS0xLHRoaXMuX2J1ZmZlclNlcnZpY2UsdGhpcy5fY29yZVNlcnZpY2UuZGVjUHJpdmF0ZU1vZGVzLmFwcGxpY2F0aW9uQ3Vyc29yS2V5cyk7dGhpcy5fY29yZVNlcnZpY2UudHJpZ2dlckRhdGFFdmVudChlLCEwKX19fWVsc2UgdGhpcy5fZmlyZUV2ZW50SWZTZWxlY3Rpb25DaGFuZ2VkKCl9X2ZpcmVFdmVudElmU2VsZWN0aW9uQ2hhbmdlZCgpe2NvbnN0IGU9dGhpcy5fbW9kZWwuZmluYWxTZWxlY3Rpb25TdGFydCx0PXRoaXMuX21vZGVsLmZpbmFsU2VsZWN0aW9uRW5kLGk9ISghZXx8IXR8fGVbMF09PT10WzBdJiZlWzFdPT09dFsxXSk7aT9lJiZ0JiYodGhpcy5fb2xkU2VsZWN0aW9uU3RhcnQmJnRoaXMuX29sZFNlbGVjdGlvbkVuZCYmZVswXT09PXRoaXMuX29sZFNlbGVjdGlvblN0YXJ0WzBdJiZlWzFdPT09dGhpcy5fb2xkU2VsZWN0aW9uU3RhcnRbMV0mJnRbMF09PT10aGlzLl9vbGRTZWxlY3Rpb25FbmRbMF0mJnRbMV09PT10aGlzLl9vbGRTZWxlY3Rpb25FbmRbMV18fHRoaXMuX2ZpcmVPblNlbGVjdGlvbkNoYW5nZShlLHQsaSkpOnRoaXMuX29sZEhhc1NlbGVjdGlvbiYmdGhpcy5fZmlyZU9uU2VsZWN0aW9uQ2hhbmdlKGUsdCxpKX1fZmlyZU9uU2VsZWN0aW9uQ2hhbmdlKGUsdCxpKXt0aGlzLl9vbGRTZWxlY3Rpb25TdGFydD1lLHRoaXMuX29sZFNlbGVjdGlvbkVuZD10LHRoaXMuX29sZEhhc1NlbGVjdGlvbj1pLHRoaXMuX29uU2VsZWN0aW9uQ2hhbmdlLmZpcmUoKX1faGFuZGxlQnVmZmVyQWN0aXZhdGUoZSl7dGhpcy5jbGVhclNlbGVjdGlvbigpLHRoaXMuX3RyaW1MaXN0ZW5lci5kaXNwb3NlKCksdGhpcy5fdHJpbUxpc3RlbmVyPWUuYWN0aXZlQnVmZmVyLmxpbmVzLm9uVHJpbSgoZT0+dGhpcy5faGFuZGxlVHJpbShlKSkpfV9jb252ZXJ0Vmlld3BvcnRDb2xUb0NoYXJhY3RlckluZGV4KGUsdCl7bGV0IGk9dDtmb3IobGV0IHM9MDt0Pj1zO3MrKyl7Y29uc3Qgcj1lLmxvYWRDZWxsKHMsdGhpcy5fd29ya0NlbGwpLmdldENoYXJzKCkubGVuZ3RoOzA9PT10aGlzLl93b3JrQ2VsbC5nZXRXaWR0aCgpP2ktLTpyPjEmJnQhPT1zJiYoaSs9ci0xKX1yZXR1cm4gaX1zZXRTZWxlY3Rpb24oZSx0LGkpe3RoaXMuX21vZGVsLmNsZWFyU2VsZWN0aW9uKCksdGhpcy5fcmVtb3ZlTW91c2VEb3duTGlzdGVuZXJzKCksdGhpcy5fbW9kZWwuc2VsZWN0aW9uU3RhcnQ9W2UsdF0sdGhpcy5fbW9kZWwuc2VsZWN0aW9uU3RhcnRMZW5ndGg9aSx0aGlzLnJlZnJlc2goKSx0aGlzLl9maXJlRXZlbnRJZlNlbGVjdGlvbkNoYW5nZWQoKX1yaWdodENsaWNrU2VsZWN0KGUpe3RoaXMuX2lzQ2xpY2tJblNlbGVjdGlvbihlKXx8KHRoaXMuX3NlbGVjdFdvcmRBdEN1cnNvcihlLCExKSYmdGhpcy5yZWZyZXNoKCEwKSx0aGlzLl9maXJlRXZlbnRJZlNlbGVjdGlvbkNoYW5nZWQoKSl9X2dldFdvcmRBdChlLHQsaT0hMCxzPSEwKXtpZihlWzBdPj10aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMpcmV0dXJuO2NvbnN0IHI9dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIsbj1yLmxpbmVzLmdldChlWzFdKTtpZighbilyZXR1cm47Y29uc3Qgbz1yLnRyYW5zbGF0ZUJ1ZmZlckxpbmVUb1N0cmluZyhlWzFdLCExKTtsZXQgYT10aGlzLl9jb252ZXJ0Vmlld3BvcnRDb2xUb0NoYXJhY3RlckluZGV4KG4sZVswXSksaD1hO2NvbnN0IGM9ZVswXS1hO2xldCBsPTAsZD0wLF89MCx1PTA7aWYoXCIgXCI9PT1vLmNoYXJBdChhKSl7Zm9yKDthPjAmJlwiIFwiPT09by5jaGFyQXQoYS0xKTspYS0tO2Zvcig7aDxvLmxlbmd0aCYmXCIgXCI9PT1vLmNoYXJBdChoKzEpOyloKyt9ZWxzZXtsZXQgdD1lWzBdLGk9ZVswXTswPT09bi5nZXRXaWR0aCh0KSYmKGwrKyx0LS0pLDI9PT1uLmdldFdpZHRoKGkpJiYoZCsrLGkrKyk7Y29uc3Qgcz1uLmdldFN0cmluZyhpKS5sZW5ndGg7Zm9yKHM+MSYmKHUrPXMtMSxoKz1zLTEpO3Q+MCYmYT4wJiYhdGhpcy5faXNDaGFyV29yZFNlcGFyYXRvcihuLmxvYWRDZWxsKHQtMSx0aGlzLl93b3JrQ2VsbCkpOyl7bi5sb2FkQ2VsbCh0LTEsdGhpcy5fd29ya0NlbGwpO2NvbnN0IGU9dGhpcy5fd29ya0NlbGwuZ2V0Q2hhcnMoKS5sZW5ndGg7MD09PXRoaXMuX3dvcmtDZWxsLmdldFdpZHRoKCk/KGwrKyx0LS0pOmU+MSYmKF8rPWUtMSxhLT1lLTEpLGEtLSx0LS19Zm9yKDtpPG4ubGVuZ3RoJiZoKzE8by5sZW5ndGgmJiF0aGlzLl9pc0NoYXJXb3JkU2VwYXJhdG9yKG4ubG9hZENlbGwoaSsxLHRoaXMuX3dvcmtDZWxsKSk7KXtuLmxvYWRDZWxsKGkrMSx0aGlzLl93b3JrQ2VsbCk7Y29uc3QgZT10aGlzLl93b3JrQ2VsbC5nZXRDaGFycygpLmxlbmd0aDsyPT09dGhpcy5fd29ya0NlbGwuZ2V0V2lkdGgoKT8oZCsrLGkrKyk6ZT4xJiYodSs9ZS0xLGgrPWUtMSksaCsrLGkrK319aCsrO2xldCBmPWErYy1sK18sdj1NYXRoLm1pbih0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMsaC1hK2wrZC1fLXUpO2lmKHR8fFwiXCIhPT1vLnNsaWNlKGEsaCkudHJpbSgpKXtpZihpJiYwPT09ZiYmMzIhPT1uLmdldENvZGVQb2ludCgwKSl7Y29uc3QgdD1yLmxpbmVzLmdldChlWzFdLTEpO2lmKHQmJm4uaXNXcmFwcGVkJiYzMiE9PXQuZ2V0Q29kZVBvaW50KHRoaXMuX2J1ZmZlclNlcnZpY2UuY29scy0xKSl7Y29uc3QgdD10aGlzLl9nZXRXb3JkQXQoW3RoaXMuX2J1ZmZlclNlcnZpY2UuY29scy0xLGVbMV0tMV0sITEsITAsITEpO2lmKHQpe2NvbnN0IGU9dGhpcy5fYnVmZmVyU2VydmljZS5jb2xzLXQuc3RhcnQ7Zi09ZSx2Kz1lfX19aWYocyYmZit2PT09dGhpcy5fYnVmZmVyU2VydmljZS5jb2xzJiYzMiE9PW4uZ2V0Q29kZVBvaW50KHRoaXMuX2J1ZmZlclNlcnZpY2UuY29scy0xKSl7Y29uc3QgdD1yLmxpbmVzLmdldChlWzFdKzEpO2lmKHQ/LmlzV3JhcHBlZCYmMzIhPT10LmdldENvZGVQb2ludCgwKSl7Y29uc3QgdD10aGlzLl9nZXRXb3JkQXQoWzAsZVsxXSsxXSwhMSwhMSwhMCk7dCYmKHYrPXQubGVuZ3RoKX19cmV0dXJue3N0YXJ0OmYsbGVuZ3RoOnZ9fX1fc2VsZWN0V29yZEF0KGUsdCl7Y29uc3QgaT10aGlzLl9nZXRXb3JkQXQoZSx0KTtpZihpKXtmb3IoO2kuc3RhcnQ8MDspaS5zdGFydCs9dGhpcy5fYnVmZmVyU2VydmljZS5jb2xzLGVbMV0tLTt0aGlzLl9tb2RlbC5zZWxlY3Rpb25TdGFydD1baS5zdGFydCxlWzFdXSx0aGlzLl9tb2RlbC5zZWxlY3Rpb25TdGFydExlbmd0aD1pLmxlbmd0aH19X3NlbGVjdFRvV29yZEF0KGUpe2NvbnN0IHQ9dGhpcy5fZ2V0V29yZEF0KGUsITApO2lmKHQpe2xldCBpPWVbMV07Zm9yKDt0LnN0YXJ0PDA7KXQuc3RhcnQrPXRoaXMuX2J1ZmZlclNlcnZpY2UuY29scyxpLS07aWYoIXRoaXMuX21vZGVsLmFyZVNlbGVjdGlvblZhbHVlc1JldmVyc2VkKCkpZm9yKDt0LnN0YXJ0K3QubGVuZ3RoPnRoaXMuX2J1ZmZlclNlcnZpY2UuY29sczspdC5sZW5ndGgtPXRoaXMuX2J1ZmZlclNlcnZpY2UuY29scyxpKys7dGhpcy5fbW9kZWwuc2VsZWN0aW9uRW5kPVt0aGlzLl9tb2RlbC5hcmVTZWxlY3Rpb25WYWx1ZXNSZXZlcnNlZCgpP3Quc3RhcnQ6dC5zdGFydCt0Lmxlbmd0aCxpXX19X2lzQ2hhcldvcmRTZXBhcmF0b3IoZSl7cmV0dXJuIDAhPT1lLmdldFdpZHRoKCkmJnRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMud29yZFNlcGFyYXRvci5pbmRleE9mKGUuZ2V0Q2hhcnMoKSk+PTB9X3NlbGVjdExpbmVBdChlKXtjb25zdCB0PXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLmdldFdyYXBwZWRSYW5nZUZvckxpbmUoZSksaT17c3RhcnQ6e3g6MCx5OnQuZmlyc3R9LGVuZDp7eDp0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMtMSx5OnQubGFzdH19O3RoaXMuX21vZGVsLnNlbGVjdGlvblN0YXJ0PVswLHQuZmlyc3RdLHRoaXMuX21vZGVsLnNlbGVjdGlvbkVuZD12b2lkIDAsdGhpcy5fbW9kZWwuc2VsZWN0aW9uU3RhcnRMZW5ndGg9KDAsXy5nZXRSYW5nZUxlbmd0aCkoaSx0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMpfX07dC5TZWxlY3Rpb25TZXJ2aWNlPWc9cyhbcigzLGYuSUJ1ZmZlclNlcnZpY2UpLHIoNCxmLklDb3JlU2VydmljZSkscig1LGguSU1vdXNlU2VydmljZSkscig2LGYuSU9wdGlvbnNTZXJ2aWNlKSxyKDcsaC5JUmVuZGVyU2VydmljZSkscig4LGguSUNvcmVCcm93c2VyU2VydmljZSldLGcpfSw0NzI1OihlLHQsaSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LklMaW5rUHJvdmlkZXJTZXJ2aWNlPXQuSVRoZW1lU2VydmljZT10LklDaGFyYWN0ZXJKb2luZXJTZXJ2aWNlPXQuSVNlbGVjdGlvblNlcnZpY2U9dC5JUmVuZGVyU2VydmljZT10LklNb3VzZVNlcnZpY2U9dC5JQ29yZUJyb3dzZXJTZXJ2aWNlPXQuSUNoYXJTaXplU2VydmljZT12b2lkIDA7Y29uc3Qgcz1pKDgzNDMpO3QuSUNoYXJTaXplU2VydmljZT0oMCxzLmNyZWF0ZURlY29yYXRvcikoXCJDaGFyU2l6ZVNlcnZpY2VcIiksdC5JQ29yZUJyb3dzZXJTZXJ2aWNlPSgwLHMuY3JlYXRlRGVjb3JhdG9yKShcIkNvcmVCcm93c2VyU2VydmljZVwiKSx0LklNb3VzZVNlcnZpY2U9KDAscy5jcmVhdGVEZWNvcmF0b3IpKFwiTW91c2VTZXJ2aWNlXCIpLHQuSVJlbmRlclNlcnZpY2U9KDAscy5jcmVhdGVEZWNvcmF0b3IpKFwiUmVuZGVyU2VydmljZVwiKSx0LklTZWxlY3Rpb25TZXJ2aWNlPSgwLHMuY3JlYXRlRGVjb3JhdG9yKShcIlNlbGVjdGlvblNlcnZpY2VcIiksdC5JQ2hhcmFjdGVySm9pbmVyU2VydmljZT0oMCxzLmNyZWF0ZURlY29yYXRvcikoXCJDaGFyYWN0ZXJKb2luZXJTZXJ2aWNlXCIpLHQuSVRoZW1lU2VydmljZT0oMCxzLmNyZWF0ZURlY29yYXRvcikoXCJUaGVtZVNlcnZpY2VcIiksdC5JTGlua1Byb3ZpZGVyU2VydmljZT0oMCxzLmNyZWF0ZURlY29yYXRvcikoXCJMaW5rUHJvdmlkZXJTZXJ2aWNlXCIpfSw2NzMxOmZ1bmN0aW9uKGUsdCxpKXt2YXIgcz10aGlzJiZ0aGlzLl9fZGVjb3JhdGV8fGZ1bmN0aW9uKGUsdCxpLHMpe3ZhciByLG49YXJndW1lbnRzLmxlbmd0aCxvPW48Mz90Om51bGw9PT1zP3M9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGkpOnM7aWYoXCJvYmplY3RcIj09dHlwZW9mIFJlZmxlY3QmJlwiZnVuY3Rpb25cIj09dHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUpbz1SZWZsZWN0LmRlY29yYXRlKGUsdCxpLHMpO2Vsc2UgZm9yKHZhciBhPWUubGVuZ3RoLTE7YT49MDthLS0pKHI9ZVthXSkmJihvPShuPDM/cihvKTpuPjM/cih0LGksbyk6cih0LGkpKXx8byk7cmV0dXJuIG4+MyYmbyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsaSxvKSxvfSxyPXRoaXMmJnRoaXMuX19wYXJhbXx8ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oaSxzKXt0KGkscyxlKX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuVGhlbWVTZXJ2aWNlPXQuREVGQVVMVF9BTlNJX0NPTE9SUz12b2lkIDA7Y29uc3Qgbj1pKDcyMzkpLG89aSg4MDU1KSxhPWkoODQ2MCksaD1pKDg0NCksYz1pKDI1ODUpLGw9by5jc3MudG9Db2xvcihcIiNmZmZmZmZcIiksZD1vLmNzcy50b0NvbG9yKFwiIzAwMDAwMFwiKSxfPW8uY3NzLnRvQ29sb3IoXCIjZmZmZmZmXCIpLHU9by5jc3MudG9Db2xvcihcIiMwMDAwMDBcIiksZj17Y3NzOlwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpXCIscmdiYTo0Mjk0OTY3MTE3fTt0LkRFRkFVTFRfQU5TSV9DT0xPUlM9T2JqZWN0LmZyZWV6ZSgoKCk9Pntjb25zdCBlPVtvLmNzcy50b0NvbG9yKFwiIzJlMzQzNlwiKSxvLmNzcy50b0NvbG9yKFwiI2NjMDAwMFwiKSxvLmNzcy50b0NvbG9yKFwiIzRlOWEwNlwiKSxvLmNzcy50b0NvbG9yKFwiI2M0YTAwMFwiKSxvLmNzcy50b0NvbG9yKFwiIzM0NjVhNFwiKSxvLmNzcy50b0NvbG9yKFwiIzc1NTA3YlwiKSxvLmNzcy50b0NvbG9yKFwiIzA2OTg5YVwiKSxvLmNzcy50b0NvbG9yKFwiI2QzZDdjZlwiKSxvLmNzcy50b0NvbG9yKFwiIzU1NTc1M1wiKSxvLmNzcy50b0NvbG9yKFwiI2VmMjkyOVwiKSxvLmNzcy50b0NvbG9yKFwiIzhhZTIzNFwiKSxvLmNzcy50b0NvbG9yKFwiI2ZjZTk0ZlwiKSxvLmNzcy50b0NvbG9yKFwiIzcyOWZjZlwiKSxvLmNzcy50b0NvbG9yKFwiI2FkN2ZhOFwiKSxvLmNzcy50b0NvbG9yKFwiIzM0ZTJlMlwiKSxvLmNzcy50b0NvbG9yKFwiI2VlZWVlY1wiKV0sdD1bMCw5NSwxMzUsMTc1LDIxNSwyNTVdO2ZvcihsZXQgaT0wO2k8MjE2O2krKyl7Y29uc3Qgcz10W2kvMzYlNnwwXSxyPXRbaS82JTZ8MF0sbj10W2klNl07ZS5wdXNoKHtjc3M6by5jaGFubmVscy50b0NzcyhzLHIsbikscmdiYTpvLmNoYW5uZWxzLnRvUmdiYShzLHIsbil9KX1mb3IobGV0IHQ9MDt0PDI0O3QrKyl7Y29uc3QgaT04KzEwKnQ7ZS5wdXNoKHtjc3M6by5jaGFubmVscy50b0NzcyhpLGksaSkscmdiYTpvLmNoYW5uZWxzLnRvUmdiYShpLGksaSl9KX1yZXR1cm4gZX0pKCkpO2xldCB2PXQuVGhlbWVTZXJ2aWNlPWNsYXNzIGV4dGVuZHMgaC5EaXNwb3NhYmxle2dldCBjb2xvcnMoKXtyZXR1cm4gdGhpcy5fY29sb3JzfWNvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fb3B0aW9uc1NlcnZpY2U9ZSx0aGlzLl9jb250cmFzdENhY2hlPW5ldyBuLkNvbG9yQ29udHJhc3RDYWNoZSx0aGlzLl9oYWxmQ29udHJhc3RDYWNoZT1uZXcgbi5Db2xvckNvbnRyYXN0Q2FjaGUsdGhpcy5fb25DaGFuZ2VDb2xvcnM9dGhpcy5yZWdpc3RlcihuZXcgYS5FdmVudEVtaXR0ZXIpLHRoaXMub25DaGFuZ2VDb2xvcnM9dGhpcy5fb25DaGFuZ2VDb2xvcnMuZXZlbnQsdGhpcy5fY29sb3JzPXtmb3JlZ3JvdW5kOmwsYmFja2dyb3VuZDpkLGN1cnNvcjpfLGN1cnNvckFjY2VudDp1LHNlbGVjdGlvbkZvcmVncm91bmQ6dm9pZCAwLHNlbGVjdGlvbkJhY2tncm91bmRUcmFuc3BhcmVudDpmLHNlbGVjdGlvbkJhY2tncm91bmRPcGFxdWU6by5jb2xvci5ibGVuZChkLGYpLHNlbGVjdGlvbkluYWN0aXZlQmFja2dyb3VuZFRyYW5zcGFyZW50OmYsc2VsZWN0aW9uSW5hY3RpdmVCYWNrZ3JvdW5kT3BhcXVlOm8uY29sb3IuYmxlbmQoZCxmKSxhbnNpOnQuREVGQVVMVF9BTlNJX0NPTE9SUy5zbGljZSgpLGNvbnRyYXN0Q2FjaGU6dGhpcy5fY29udHJhc3RDYWNoZSxoYWxmQ29udHJhc3RDYWNoZTp0aGlzLl9oYWxmQ29udHJhc3RDYWNoZX0sdGhpcy5fdXBkYXRlUmVzdG9yZUNvbG9ycygpLHRoaXMuX3NldFRoZW1lKHRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMudGhlbWUpLHRoaXMucmVnaXN0ZXIodGhpcy5fb3B0aW9uc1NlcnZpY2Uub25TcGVjaWZpY09wdGlvbkNoYW5nZShcIm1pbmltdW1Db250cmFzdFJhdGlvXCIsKCgpPT50aGlzLl9jb250cmFzdENhY2hlLmNsZWFyKCkpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9vcHRpb25zU2VydmljZS5vblNwZWNpZmljT3B0aW9uQ2hhbmdlKFwidGhlbWVcIiwoKCk9PnRoaXMuX3NldFRoZW1lKHRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMudGhlbWUpKSkpfV9zZXRUaGVtZShlPXt9KXtjb25zdCBpPXRoaXMuX2NvbG9ycztpZihpLmZvcmVncm91bmQ9cChlLmZvcmVncm91bmQsbCksaS5iYWNrZ3JvdW5kPXAoZS5iYWNrZ3JvdW5kLGQpLGkuY3Vyc29yPXAoZS5jdXJzb3IsXyksaS5jdXJzb3JBY2NlbnQ9cChlLmN1cnNvckFjY2VudCx1KSxpLnNlbGVjdGlvbkJhY2tncm91bmRUcmFuc3BhcmVudD1wKGUuc2VsZWN0aW9uQmFja2dyb3VuZCxmKSxpLnNlbGVjdGlvbkJhY2tncm91bmRPcGFxdWU9by5jb2xvci5ibGVuZChpLmJhY2tncm91bmQsaS5zZWxlY3Rpb25CYWNrZ3JvdW5kVHJhbnNwYXJlbnQpLGkuc2VsZWN0aW9uSW5hY3RpdmVCYWNrZ3JvdW5kVHJhbnNwYXJlbnQ9cChlLnNlbGVjdGlvbkluYWN0aXZlQmFja2dyb3VuZCxpLnNlbGVjdGlvbkJhY2tncm91bmRUcmFuc3BhcmVudCksaS5zZWxlY3Rpb25JbmFjdGl2ZUJhY2tncm91bmRPcGFxdWU9by5jb2xvci5ibGVuZChpLmJhY2tncm91bmQsaS5zZWxlY3Rpb25JbmFjdGl2ZUJhY2tncm91bmRUcmFuc3BhcmVudCksaS5zZWxlY3Rpb25Gb3JlZ3JvdW5kPWUuc2VsZWN0aW9uRm9yZWdyb3VuZD9wKGUuc2VsZWN0aW9uRm9yZWdyb3VuZCxvLk5VTExfQ09MT1IpOnZvaWQgMCxpLnNlbGVjdGlvbkZvcmVncm91bmQ9PT1vLk5VTExfQ09MT1ImJihpLnNlbGVjdGlvbkZvcmVncm91bmQ9dm9pZCAwKSxvLmNvbG9yLmlzT3BhcXVlKGkuc2VsZWN0aW9uQmFja2dyb3VuZFRyYW5zcGFyZW50KSl7Y29uc3QgZT0uMztpLnNlbGVjdGlvbkJhY2tncm91bmRUcmFuc3BhcmVudD1vLmNvbG9yLm9wYWNpdHkoaS5zZWxlY3Rpb25CYWNrZ3JvdW5kVHJhbnNwYXJlbnQsZSl9aWYoby5jb2xvci5pc09wYXF1ZShpLnNlbGVjdGlvbkluYWN0aXZlQmFja2dyb3VuZFRyYW5zcGFyZW50KSl7Y29uc3QgZT0uMztpLnNlbGVjdGlvbkluYWN0aXZlQmFja2dyb3VuZFRyYW5zcGFyZW50PW8uY29sb3Iub3BhY2l0eShpLnNlbGVjdGlvbkluYWN0aXZlQmFja2dyb3VuZFRyYW5zcGFyZW50LGUpfWlmKGkuYW5zaT10LkRFRkFVTFRfQU5TSV9DT0xPUlMuc2xpY2UoKSxpLmFuc2lbMF09cChlLmJsYWNrLHQuREVGQVVMVF9BTlNJX0NPTE9SU1swXSksaS5hbnNpWzFdPXAoZS5yZWQsdC5ERUZBVUxUX0FOU0lfQ09MT1JTWzFdKSxpLmFuc2lbMl09cChlLmdyZWVuLHQuREVGQVVMVF9BTlNJX0NPTE9SU1syXSksaS5hbnNpWzNdPXAoZS55ZWxsb3csdC5ERUZBVUxUX0FOU0lfQ09MT1JTWzNdKSxpLmFuc2lbNF09cChlLmJsdWUsdC5ERUZBVUxUX0FOU0lfQ09MT1JTWzRdKSxpLmFuc2lbNV09cChlLm1hZ2VudGEsdC5ERUZBVUxUX0FOU0lfQ09MT1JTWzVdKSxpLmFuc2lbNl09cChlLmN5YW4sdC5ERUZBVUxUX0FOU0lfQ09MT1JTWzZdKSxpLmFuc2lbN109cChlLndoaXRlLHQuREVGQVVMVF9BTlNJX0NPTE9SU1s3XSksaS5hbnNpWzhdPXAoZS5icmlnaHRCbGFjayx0LkRFRkFVTFRfQU5TSV9DT0xPUlNbOF0pLGkuYW5zaVs5XT1wKGUuYnJpZ2h0UmVkLHQuREVGQVVMVF9BTlNJX0NPTE9SU1s5XSksaS5hbnNpWzEwXT1wKGUuYnJpZ2h0R3JlZW4sdC5ERUZBVUxUX0FOU0lfQ09MT1JTWzEwXSksaS5hbnNpWzExXT1wKGUuYnJpZ2h0WWVsbG93LHQuREVGQVVMVF9BTlNJX0NPTE9SU1sxMV0pLGkuYW5zaVsxMl09cChlLmJyaWdodEJsdWUsdC5ERUZBVUxUX0FOU0lfQ09MT1JTWzEyXSksaS5hbnNpWzEzXT1wKGUuYnJpZ2h0TWFnZW50YSx0LkRFRkFVTFRfQU5TSV9DT0xPUlNbMTNdKSxpLmFuc2lbMTRdPXAoZS5icmlnaHRDeWFuLHQuREVGQVVMVF9BTlNJX0NPTE9SU1sxNF0pLGkuYW5zaVsxNV09cChlLmJyaWdodFdoaXRlLHQuREVGQVVMVF9BTlNJX0NPTE9SU1sxNV0pLGUuZXh0ZW5kZWRBbnNpKXtjb25zdCBzPU1hdGgubWluKGkuYW5zaS5sZW5ndGgtMTYsZS5leHRlbmRlZEFuc2kubGVuZ3RoKTtmb3IobGV0IHI9MDtyPHM7cisrKWkuYW5zaVtyKzE2XT1wKGUuZXh0ZW5kZWRBbnNpW3JdLHQuREVGQVVMVF9BTlNJX0NPTE9SU1tyKzE2XSl9dGhpcy5fY29udHJhc3RDYWNoZS5jbGVhcigpLHRoaXMuX2hhbGZDb250cmFzdENhY2hlLmNsZWFyKCksdGhpcy5fdXBkYXRlUmVzdG9yZUNvbG9ycygpLHRoaXMuX29uQ2hhbmdlQ29sb3JzLmZpcmUodGhpcy5jb2xvcnMpfXJlc3RvcmVDb2xvcihlKXt0aGlzLl9yZXN0b3JlQ29sb3IoZSksdGhpcy5fb25DaGFuZ2VDb2xvcnMuZmlyZSh0aGlzLmNvbG9ycyl9X3Jlc3RvcmVDb2xvcihlKXtpZih2b2lkIDAhPT1lKXN3aXRjaChlKXtjYXNlIDI1Njp0aGlzLl9jb2xvcnMuZm9yZWdyb3VuZD10aGlzLl9yZXN0b3JlQ29sb3JzLmZvcmVncm91bmQ7YnJlYWs7Y2FzZSAyNTc6dGhpcy5fY29sb3JzLmJhY2tncm91bmQ9dGhpcy5fcmVzdG9yZUNvbG9ycy5iYWNrZ3JvdW5kO2JyZWFrO2Nhc2UgMjU4OnRoaXMuX2NvbG9ycy5jdXJzb3I9dGhpcy5fcmVzdG9yZUNvbG9ycy5jdXJzb3I7YnJlYWs7ZGVmYXVsdDp0aGlzLl9jb2xvcnMuYW5zaVtlXT10aGlzLl9yZXN0b3JlQ29sb3JzLmFuc2lbZV19ZWxzZSBmb3IobGV0IGU9MDtlPHRoaXMuX3Jlc3RvcmVDb2xvcnMuYW5zaS5sZW5ndGg7KytlKXRoaXMuX2NvbG9ycy5hbnNpW2VdPXRoaXMuX3Jlc3RvcmVDb2xvcnMuYW5zaVtlXX1tb2RpZnlDb2xvcnMoZSl7ZSh0aGlzLl9jb2xvcnMpLHRoaXMuX29uQ2hhbmdlQ29sb3JzLmZpcmUodGhpcy5jb2xvcnMpfV91cGRhdGVSZXN0b3JlQ29sb3JzKCl7dGhpcy5fcmVzdG9yZUNvbG9ycz17Zm9yZWdyb3VuZDp0aGlzLl9jb2xvcnMuZm9yZWdyb3VuZCxiYWNrZ3JvdW5kOnRoaXMuX2NvbG9ycy5iYWNrZ3JvdW5kLGN1cnNvcjp0aGlzLl9jb2xvcnMuY3Vyc29yLGFuc2k6dGhpcy5fY29sb3JzLmFuc2kuc2xpY2UoKX19fTtmdW5jdGlvbiBwKGUsdCl7aWYodm9pZCAwIT09ZSl0cnl7cmV0dXJuIG8uY3NzLnRvQ29sb3IoZSl9Y2F0Y2h7fXJldHVybiB0fXQuVGhlbWVTZXJ2aWNlPXY9cyhbcigwLGMuSU9wdGlvbnNTZXJ2aWNlKV0sdil9LDYzNDk6KGUsdCxpKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuQ2lyY3VsYXJMaXN0PXZvaWQgMDtjb25zdCBzPWkoODQ2MCkscj1pKDg0NCk7Y2xhc3MgbiBleHRlbmRzIHIuRGlzcG9zYWJsZXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX21heExlbmd0aD1lLHRoaXMub25EZWxldGVFbWl0dGVyPXRoaXMucmVnaXN0ZXIobmV3IHMuRXZlbnRFbWl0dGVyKSx0aGlzLm9uRGVsZXRlPXRoaXMub25EZWxldGVFbWl0dGVyLmV2ZW50LHRoaXMub25JbnNlcnRFbWl0dGVyPXRoaXMucmVnaXN0ZXIobmV3IHMuRXZlbnRFbWl0dGVyKSx0aGlzLm9uSW5zZXJ0PXRoaXMub25JbnNlcnRFbWl0dGVyLmV2ZW50LHRoaXMub25UcmltRW1pdHRlcj10aGlzLnJlZ2lzdGVyKG5ldyBzLkV2ZW50RW1pdHRlciksdGhpcy5vblRyaW09dGhpcy5vblRyaW1FbWl0dGVyLmV2ZW50LHRoaXMuX2FycmF5PW5ldyBBcnJheSh0aGlzLl9tYXhMZW5ndGgpLHRoaXMuX3N0YXJ0SW5kZXg9MCx0aGlzLl9sZW5ndGg9MH1nZXQgbWF4TGVuZ3RoKCl7cmV0dXJuIHRoaXMuX21heExlbmd0aH1zZXQgbWF4TGVuZ3RoKGUpe2lmKHRoaXMuX21heExlbmd0aD09PWUpcmV0dXJuO2NvbnN0IHQ9bmV3IEFycmF5KGUpO2ZvcihsZXQgaT0wO2k8TWF0aC5taW4oZSx0aGlzLmxlbmd0aCk7aSsrKXRbaV09dGhpcy5fYXJyYXlbdGhpcy5fZ2V0Q3ljbGljSW5kZXgoaSldO3RoaXMuX2FycmF5PXQsdGhpcy5fbWF4TGVuZ3RoPWUsdGhpcy5fc3RhcnRJbmRleD0wfWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy5fbGVuZ3RofXNldCBsZW5ndGgoZSl7aWYoZT50aGlzLl9sZW5ndGgpZm9yKGxldCB0PXRoaXMuX2xlbmd0aDt0PGU7dCsrKXRoaXMuX2FycmF5W3RdPXZvaWQgMDt0aGlzLl9sZW5ndGg9ZX1nZXQoZSl7cmV0dXJuIHRoaXMuX2FycmF5W3RoaXMuX2dldEN5Y2xpY0luZGV4KGUpXX1zZXQoZSx0KXt0aGlzLl9hcnJheVt0aGlzLl9nZXRDeWNsaWNJbmRleChlKV09dH1wdXNoKGUpe3RoaXMuX2FycmF5W3RoaXMuX2dldEN5Y2xpY0luZGV4KHRoaXMuX2xlbmd0aCldPWUsdGhpcy5fbGVuZ3RoPT09dGhpcy5fbWF4TGVuZ3RoPyh0aGlzLl9zdGFydEluZGV4PSsrdGhpcy5fc3RhcnRJbmRleCV0aGlzLl9tYXhMZW5ndGgsdGhpcy5vblRyaW1FbWl0dGVyLmZpcmUoMSkpOnRoaXMuX2xlbmd0aCsrfXJlY3ljbGUoKXtpZih0aGlzLl9sZW5ndGghPT10aGlzLl9tYXhMZW5ndGgpdGhyb3cgbmV3IEVycm9yKFwiQ2FuIG9ubHkgcmVjeWNsZSB3aGVuIHRoZSBidWZmZXIgaXMgZnVsbFwiKTtyZXR1cm4gdGhpcy5fc3RhcnRJbmRleD0rK3RoaXMuX3N0YXJ0SW5kZXgldGhpcy5fbWF4TGVuZ3RoLHRoaXMub25UcmltRW1pdHRlci5maXJlKDEpLHRoaXMuX2FycmF5W3RoaXMuX2dldEN5Y2xpY0luZGV4KHRoaXMuX2xlbmd0aC0xKV19Z2V0IGlzRnVsbCgpe3JldHVybiB0aGlzLl9sZW5ndGg9PT10aGlzLl9tYXhMZW5ndGh9cG9wKCl7cmV0dXJuIHRoaXMuX2FycmF5W3RoaXMuX2dldEN5Y2xpY0luZGV4KHRoaXMuX2xlbmd0aC0tLTEpXX1zcGxpY2UoZSx0LC4uLmkpe2lmKHQpe2ZvcihsZXQgaT1lO2k8dGhpcy5fbGVuZ3RoLXQ7aSsrKXRoaXMuX2FycmF5W3RoaXMuX2dldEN5Y2xpY0luZGV4KGkpXT10aGlzLl9hcnJheVt0aGlzLl9nZXRDeWNsaWNJbmRleChpK3QpXTt0aGlzLl9sZW5ndGgtPXQsdGhpcy5vbkRlbGV0ZUVtaXR0ZXIuZmlyZSh7aW5kZXg6ZSxhbW91bnQ6dH0pfWZvcihsZXQgdD10aGlzLl9sZW5ndGgtMTt0Pj1lO3QtLSl0aGlzLl9hcnJheVt0aGlzLl9nZXRDeWNsaWNJbmRleCh0K2kubGVuZ3RoKV09dGhpcy5fYXJyYXlbdGhpcy5fZ2V0Q3ljbGljSW5kZXgodCldO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKXRoaXMuX2FycmF5W3RoaXMuX2dldEN5Y2xpY0luZGV4KGUrdCldPWlbdF07aWYoaS5sZW5ndGgmJnRoaXMub25JbnNlcnRFbWl0dGVyLmZpcmUoe2luZGV4OmUsYW1vdW50OmkubGVuZ3RofSksdGhpcy5fbGVuZ3RoK2kubGVuZ3RoPnRoaXMuX21heExlbmd0aCl7Y29uc3QgZT10aGlzLl9sZW5ndGgraS5sZW5ndGgtdGhpcy5fbWF4TGVuZ3RoO3RoaXMuX3N0YXJ0SW5kZXgrPWUsdGhpcy5fbGVuZ3RoPXRoaXMuX21heExlbmd0aCx0aGlzLm9uVHJpbUVtaXR0ZXIuZmlyZShlKX1lbHNlIHRoaXMuX2xlbmd0aCs9aS5sZW5ndGh9dHJpbVN0YXJ0KGUpe2U+dGhpcy5fbGVuZ3RoJiYoZT10aGlzLl9sZW5ndGgpLHRoaXMuX3N0YXJ0SW5kZXgrPWUsdGhpcy5fbGVuZ3RoLT1lLHRoaXMub25UcmltRW1pdHRlci5maXJlKGUpfXNoaWZ0RWxlbWVudHMoZSx0LGkpe2lmKCEodDw9MCkpe2lmKGU8MHx8ZT49dGhpcy5fbGVuZ3RoKXRocm93IG5ldyBFcnJvcihcInN0YXJ0IGFyZ3VtZW50IG91dCBvZiByYW5nZVwiKTtpZihlK2k8MCl0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3Qgc2hpZnQgZWxlbWVudHMgaW4gbGlzdCBiZXlvbmQgaW5kZXggMFwiKTtpZihpPjApe2ZvcihsZXQgcz10LTE7cz49MDtzLS0pdGhpcy5zZXQoZStzK2ksdGhpcy5nZXQoZStzKSk7Y29uc3Qgcz1lK3QraS10aGlzLl9sZW5ndGg7aWYocz4wKWZvcih0aGlzLl9sZW5ndGgrPXM7dGhpcy5fbGVuZ3RoPnRoaXMuX21heExlbmd0aDspdGhpcy5fbGVuZ3RoLS0sdGhpcy5fc3RhcnRJbmRleCsrLHRoaXMub25UcmltRW1pdHRlci5maXJlKDEpfWVsc2UgZm9yKGxldCBzPTA7czx0O3MrKyl0aGlzLnNldChlK3MraSx0aGlzLmdldChlK3MpKX19X2dldEN5Y2xpY0luZGV4KGUpe3JldHVybih0aGlzLl9zdGFydEluZGV4K2UpJXRoaXMuX21heExlbmd0aH19dC5DaXJjdWxhckxpc3Q9bn0sMTQzOTooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuY2xvbmU9dm9pZCAwLHQuY2xvbmU9ZnVuY3Rpb24gZSh0LGk9NSl7aWYoXCJvYmplY3RcIiE9dHlwZW9mIHQpcmV0dXJuIHQ7Y29uc3Qgcz1BcnJheS5pc0FycmF5KHQpP1tdOnt9O2Zvcihjb25zdCByIGluIHQpc1tyXT1pPD0xP3Rbcl06dFtyXSYmZSh0W3JdLGktMSk7cmV0dXJuIHN9fSw4MDU1OihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5jb250cmFzdFJhdGlvPXQudG9QYWRkZWRIZXg9dC5yZ2JhPXQucmdiPXQuY3NzPXQuY29sb3I9dC5jaGFubmVscz10Lk5VTExfQ09MT1I9dm9pZCAwO2xldCBpPTAscz0wLHI9MCxuPTA7dmFyIG8sYSxoLGMsbDtmdW5jdGlvbiBkKGUpe2NvbnN0IHQ9ZS50b1N0cmluZygxNik7cmV0dXJuIHQubGVuZ3RoPDI/XCIwXCIrdDp0fWZ1bmN0aW9uIF8oZSx0KXtyZXR1cm4gZTx0Pyh0Ky4wNSkvKGUrLjA1KTooZSsuMDUpLyh0Ky4wNSl9dC5OVUxMX0NPTE9SPXtjc3M6XCIjMDAwMDAwMDBcIixyZ2JhOjB9LGZ1bmN0aW9uKGUpe2UudG9Dc3M9ZnVuY3Rpb24oZSx0LGkscyl7cmV0dXJuIHZvaWQgMCE9PXM/YCMke2QoZSl9JHtkKHQpfSR7ZChpKX0ke2Qocyl9YDpgIyR7ZChlKX0ke2QodCl9JHtkKGkpfWB9LGUudG9SZ2JhPWZ1bmN0aW9uKGUsdCxpLHM9MjU1KXtyZXR1cm4oZTw8MjR8dDw8MTZ8aTw8OHxzKT4+PjB9LGUudG9Db2xvcj1mdW5jdGlvbih0LGkscyxyKXtyZXR1cm57Y3NzOmUudG9Dc3ModCxpLHMscikscmdiYTplLnRvUmdiYSh0LGkscyxyKX19fShvfHwodC5jaGFubmVscz1vPXt9KSksZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChlLHQpe3JldHVybiBuPU1hdGgucm91bmQoMjU1KnQpLFtpLHMscl09bC50b0NoYW5uZWxzKGUucmdiYSkse2NzczpvLnRvQ3NzKGkscyxyLG4pLHJnYmE6by50b1JnYmEoaSxzLHIsbil9fWUuYmxlbmQ9ZnVuY3Rpb24oZSx0KXtpZihuPSgyNTUmdC5yZ2JhKS8yNTUsMT09PW4pcmV0dXJue2Nzczp0LmNzcyxyZ2JhOnQucmdiYX07Y29uc3QgYT10LnJnYmE+PjI0JjI1NSxoPXQucmdiYT4+MTYmMjU1LGM9dC5yZ2JhPj44JjI1NSxsPWUucmdiYT4+MjQmMjU1LGQ9ZS5yZ2JhPj4xNiYyNTUsXz1lLnJnYmE+PjgmMjU1O3JldHVybiBpPWwrTWF0aC5yb3VuZCgoYS1sKSpuKSxzPWQrTWF0aC5yb3VuZCgoaC1kKSpuKSxyPV8rTWF0aC5yb3VuZCgoYy1fKSpuKSx7Y3NzOm8udG9Dc3MoaSxzLHIpLHJnYmE6by50b1JnYmEoaSxzLHIpfX0sZS5pc09wYXF1ZT1mdW5jdGlvbihlKXtyZXR1cm4gMjU1PT0oMjU1JmUucmdiYSl9LGUuZW5zdXJlQ29udHJhc3RSYXRpbz1mdW5jdGlvbihlLHQsaSl7Y29uc3Qgcz1sLmVuc3VyZUNvbnRyYXN0UmF0aW8oZS5yZ2JhLHQucmdiYSxpKTtpZihzKXJldHVybiBvLnRvQ29sb3Iocz4+MjQmMjU1LHM+PjE2JjI1NSxzPj44JjI1NSl9LGUub3BhcXVlPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDI1NXxlLnJnYmEpPj4+MDtyZXR1cm5baSxzLHJdPWwudG9DaGFubmVscyh0KSx7Y3NzOm8udG9Dc3MoaSxzLHIpLHJnYmE6dH19LGUub3BhY2l0eT10LGUubXVsdGlwbHlPcGFjaXR5PWZ1bmN0aW9uKGUsaSl7cmV0dXJuIG49MjU1JmUucmdiYSx0KGUsbippLzI1NSl9LGUudG9Db2xvclJHQj1mdW5jdGlvbihlKXtyZXR1cm5bZS5yZ2JhPj4yNCYyNTUsZS5yZ2JhPj4xNiYyNTUsZS5yZ2JhPj44JjI1NV19fShhfHwodC5jb2xvcj1hPXt9KSksZnVuY3Rpb24oZSl7bGV0IHQsYTt0cnl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiY2FudmFzXCIpO2Uud2lkdGg9MSxlLmhlaWdodD0xO2NvbnN0IGk9ZS5nZXRDb250ZXh0KFwiMmRcIix7d2lsbFJlYWRGcmVxdWVudGx5OiEwfSk7aSYmKHQ9aSx0Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj1cImNvcHlcIixhPXQuY3JlYXRlTGluZWFyR3JhZGllbnQoMCwwLDEsMSkpfWNhdGNoe31lLnRvQ29sb3I9ZnVuY3Rpb24oZSl7aWYoZS5tYXRjaCgvI1tcXGRhLWZdezMsOH0vaSkpc3dpdGNoKGUubGVuZ3RoKXtjYXNlIDQ6cmV0dXJuIGk9cGFyc2VJbnQoZS5zbGljZSgxLDIpLnJlcGVhdCgyKSwxNikscz1wYXJzZUludChlLnNsaWNlKDIsMykucmVwZWF0KDIpLDE2KSxyPXBhcnNlSW50KGUuc2xpY2UoMyw0KS5yZXBlYXQoMiksMTYpLG8udG9Db2xvcihpLHMscik7Y2FzZSA1OnJldHVybiBpPXBhcnNlSW50KGUuc2xpY2UoMSwyKS5yZXBlYXQoMiksMTYpLHM9cGFyc2VJbnQoZS5zbGljZSgyLDMpLnJlcGVhdCgyKSwxNikscj1wYXJzZUludChlLnNsaWNlKDMsNCkucmVwZWF0KDIpLDE2KSxuPXBhcnNlSW50KGUuc2xpY2UoNCw1KS5yZXBlYXQoMiksMTYpLG8udG9Db2xvcihpLHMscixuKTtjYXNlIDc6cmV0dXJue2NzczplLHJnYmE6KHBhcnNlSW50KGUuc2xpY2UoMSksMTYpPDw4fDI1NSk+Pj4wfTtjYXNlIDk6cmV0dXJue2NzczplLHJnYmE6cGFyc2VJbnQoZS5zbGljZSgxKSwxNik+Pj4wfX1jb25zdCBoPWUubWF0Y2goL3JnYmE/XFwoXFxzKihcXGR7MSwzfSlcXHMqLFxccyooXFxkezEsM30pXFxzKixcXHMqKFxcZHsxLDN9KVxccyooLFxccyooMHwxfFxcZD9cXC4oXFxkKykpXFxzKik/XFwpLyk7aWYoaClyZXR1cm4gaT1wYXJzZUludChoWzFdKSxzPXBhcnNlSW50KGhbMl0pLHI9cGFyc2VJbnQoaFszXSksbj1NYXRoLnJvdW5kKDI1NSoodm9pZCAwPT09aFs1XT8xOnBhcnNlRmxvYXQoaFs1XSkpKSxvLnRvQ29sb3IoaSxzLHIsbik7aWYoIXR8fCFhKXRocm93IG5ldyBFcnJvcihcImNzcy50b0NvbG9yOiBVbnN1cHBvcnRlZCBjc3MgZm9ybWF0XCIpO2lmKHQuZmlsbFN0eWxlPWEsdC5maWxsU3R5bGU9ZSxcInN0cmluZ1wiIT10eXBlb2YgdC5maWxsU3R5bGUpdGhyb3cgbmV3IEVycm9yKFwiY3NzLnRvQ29sb3I6IFVuc3VwcG9ydGVkIGNzcyBmb3JtYXRcIik7aWYodC5maWxsUmVjdCgwLDAsMSwxKSxbaSxzLHIsbl09dC5nZXRJbWFnZURhdGEoMCwwLDEsMSkuZGF0YSwyNTUhPT1uKXRocm93IG5ldyBFcnJvcihcImNzcy50b0NvbG9yOiBVbnN1cHBvcnRlZCBjc3MgZm9ybWF0XCIpO3JldHVybntyZ2JhOm8udG9SZ2JhKGkscyxyLG4pLGNzczplfX19KGh8fCh0LmNzcz1oPXt9KSksZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChlLHQsaSl7Y29uc3Qgcz1lLzI1NSxyPXQvMjU1LG49aS8yNTU7cmV0dXJuLjIxMjYqKHM8PS4wMzkyOD9zLzEyLjkyOk1hdGgucG93KChzKy4wNTUpLzEuMDU1LDIuNCkpKy43MTUyKihyPD0uMDM5Mjg/ci8xMi45MjpNYXRoLnBvdygocisuMDU1KS8xLjA1NSwyLjQpKSsuMDcyMioobjw9LjAzOTI4P24vMTIuOTI6TWF0aC5wb3coKG4rLjA1NSkvMS4wNTUsMi40KSl9ZS5yZWxhdGl2ZUx1bWluYW5jZT1mdW5jdGlvbihlKXtyZXR1cm4gdChlPj4xNiYyNTUsZT4+OCYyNTUsMjU1JmUpfSxlLnJlbGF0aXZlTHVtaW5hbmNlMj10fShjfHwodC5yZ2I9Yz17fSkpLGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSx0LGkpe2NvbnN0IHM9ZT4+MjQmMjU1LHI9ZT4+MTYmMjU1LG49ZT4+OCYyNTU7bGV0IG89dD4+MjQmMjU1LGE9dD4+MTYmMjU1LGg9dD4+OCYyNTUsbD1fKGMucmVsYXRpdmVMdW1pbmFuY2UyKG8sYSxoKSxjLnJlbGF0aXZlTHVtaW5hbmNlMihzLHIsbikpO2Zvcig7bDxpJiYobz4wfHxhPjB8fGg+MCk7KW8tPU1hdGgubWF4KDAsTWF0aC5jZWlsKC4xKm8pKSxhLT1NYXRoLm1heCgwLE1hdGguY2VpbCguMSphKSksaC09TWF0aC5tYXgoMCxNYXRoLmNlaWwoLjEqaCkpLGw9XyhjLnJlbGF0aXZlTHVtaW5hbmNlMihvLGEsaCksYy5yZWxhdGl2ZUx1bWluYW5jZTIocyxyLG4pKTtyZXR1cm4obzw8MjR8YTw8MTZ8aDw8OHwyNTUpPj4+MH1mdW5jdGlvbiBhKGUsdCxpKXtjb25zdCBzPWU+PjI0JjI1NSxyPWU+PjE2JjI1NSxuPWU+PjgmMjU1O2xldCBvPXQ+PjI0JjI1NSxhPXQ+PjE2JjI1NSxoPXQ+PjgmMjU1LGw9XyhjLnJlbGF0aXZlTHVtaW5hbmNlMihvLGEsaCksYy5yZWxhdGl2ZUx1bWluYW5jZTIocyxyLG4pKTtmb3IoO2w8aSYmKG88MjU1fHxhPDI1NXx8aDwyNTUpOylvPU1hdGgubWluKDI1NSxvK01hdGguY2VpbCguMSooMjU1LW8pKSksYT1NYXRoLm1pbigyNTUsYStNYXRoLmNlaWwoLjEqKDI1NS1hKSkpLGg9TWF0aC5taW4oMjU1LGgrTWF0aC5jZWlsKC4xKigyNTUtaCkpKSxsPV8oYy5yZWxhdGl2ZUx1bWluYW5jZTIobyxhLGgpLGMucmVsYXRpdmVMdW1pbmFuY2UyKHMscixuKSk7cmV0dXJuKG88PDI0fGE8PDE2fGg8PDh8MjU1KT4+PjB9ZS5ibGVuZD1mdW5jdGlvbihlLHQpe2lmKG49KDI1NSZ0KS8yNTUsMT09PW4pcmV0dXJuIHQ7Y29uc3QgYT10Pj4yNCYyNTUsaD10Pj4xNiYyNTUsYz10Pj44JjI1NSxsPWU+PjI0JjI1NSxkPWU+PjE2JjI1NSxfPWU+PjgmMjU1O3JldHVybiBpPWwrTWF0aC5yb3VuZCgoYS1sKSpuKSxzPWQrTWF0aC5yb3VuZCgoaC1kKSpuKSxyPV8rTWF0aC5yb3VuZCgoYy1fKSpuKSxvLnRvUmdiYShpLHMscil9LGUuZW5zdXJlQ29udHJhc3RSYXRpbz1mdW5jdGlvbihlLGkscyl7Y29uc3Qgcj1jLnJlbGF0aXZlTHVtaW5hbmNlKGU+PjgpLG49Yy5yZWxhdGl2ZUx1bWluYW5jZShpPj44KTtpZihfKHIsbik8cyl7aWYobjxyKXtjb25zdCBuPXQoZSxpLHMpLG89XyhyLGMucmVsYXRpdmVMdW1pbmFuY2Uobj4+OCkpO2lmKG88cyl7Y29uc3QgdD1hKGUsaSxzKTtyZXR1cm4gbz5fKHIsYy5yZWxhdGl2ZUx1bWluYW5jZSh0Pj44KSk/bjp0fXJldHVybiBufWNvbnN0IG89YShlLGkscyksaD1fKHIsYy5yZWxhdGl2ZUx1bWluYW5jZShvPj44KSk7aWYoaDxzKXtjb25zdCBuPXQoZSxpLHMpO3JldHVybiBoPl8ocixjLnJlbGF0aXZlTHVtaW5hbmNlKG4+PjgpKT9vOm59cmV0dXJuIG99fSxlLnJlZHVjZUx1bWluYW5jZT10LGUuaW5jcmVhc2VMdW1pbmFuY2U9YSxlLnRvQ2hhbm5lbHM9ZnVuY3Rpb24oZSl7cmV0dXJuW2U+PjI0JjI1NSxlPj4xNiYyNTUsZT4+OCYyNTUsMjU1JmVdfX0obHx8KHQucmdiYT1sPXt9KSksdC50b1BhZGRlZEhleD1kLHQuY29udHJhc3RSYXRpbz1ffSw4OTY5OihlLHQsaSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkNvcmVUZXJtaW5hbD12b2lkIDA7Y29uc3Qgcz1pKDg0NCkscj1pKDI1ODUpLG49aSg0MzQ4KSxvPWkoNzg2NiksYT1pKDc0NCksaD1pKDczMDIpLGM9aSg2OTc1KSxsPWkoODQ2MCksZD1pKDE3NTMpLF89aSgxNDgwKSx1PWkoNzk5NCksZj1pKDkyODIpLHY9aSg1NDM1KSxwPWkoNTk4MSksZz1pKDI2NjApO2xldCBtPSExO2NsYXNzIFMgZXh0ZW5kcyBzLkRpc3Bvc2FibGV7Z2V0IG9uU2Nyb2xsKCl7cmV0dXJuIHRoaXMuX29uU2Nyb2xsQXBpfHwodGhpcy5fb25TY3JvbGxBcGk9dGhpcy5yZWdpc3RlcihuZXcgbC5FdmVudEVtaXR0ZXIpLHRoaXMuX29uU2Nyb2xsLmV2ZW50KChlPT57dGhpcy5fb25TY3JvbGxBcGk/LmZpcmUoZS5wb3NpdGlvbil9KSkpLHRoaXMuX29uU2Nyb2xsQXBpLmV2ZW50fWdldCBjb2xzKCl7cmV0dXJuIHRoaXMuX2J1ZmZlclNlcnZpY2UuY29sc31nZXQgcm93cygpe3JldHVybiB0aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3N9Z2V0IGJ1ZmZlcnMoKXtyZXR1cm4gdGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXJzfWdldCBvcHRpb25zKCl7cmV0dXJuIHRoaXMub3B0aW9uc1NlcnZpY2Uub3B0aW9uc31zZXQgb3B0aW9ucyhlKXtmb3IoY29uc3QgdCBpbiBlKXRoaXMub3B0aW9uc1NlcnZpY2Uub3B0aW9uc1t0XT1lW3RdfWNvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fd2luZG93c1dyYXBwaW5nSGV1cmlzdGljcz10aGlzLnJlZ2lzdGVyKG5ldyBzLk11dGFibGVEaXNwb3NhYmxlKSx0aGlzLl9vbkJpbmFyeT10aGlzLnJlZ2lzdGVyKG5ldyBsLkV2ZW50RW1pdHRlciksdGhpcy5vbkJpbmFyeT10aGlzLl9vbkJpbmFyeS5ldmVudCx0aGlzLl9vbkRhdGE9dGhpcy5yZWdpc3RlcihuZXcgbC5FdmVudEVtaXR0ZXIpLHRoaXMub25EYXRhPXRoaXMuX29uRGF0YS5ldmVudCx0aGlzLl9vbkxpbmVGZWVkPXRoaXMucmVnaXN0ZXIobmV3IGwuRXZlbnRFbWl0dGVyKSx0aGlzLm9uTGluZUZlZWQ9dGhpcy5fb25MaW5lRmVlZC5ldmVudCx0aGlzLl9vblJlc2l6ZT10aGlzLnJlZ2lzdGVyKG5ldyBsLkV2ZW50RW1pdHRlciksdGhpcy5vblJlc2l6ZT10aGlzLl9vblJlc2l6ZS5ldmVudCx0aGlzLl9vbldyaXRlUGFyc2VkPXRoaXMucmVnaXN0ZXIobmV3IGwuRXZlbnRFbWl0dGVyKSx0aGlzLm9uV3JpdGVQYXJzZWQ9dGhpcy5fb25Xcml0ZVBhcnNlZC5ldmVudCx0aGlzLl9vblNjcm9sbD10aGlzLnJlZ2lzdGVyKG5ldyBsLkV2ZW50RW1pdHRlciksdGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2U9bmV3IG4uSW5zdGFudGlhdGlvblNlcnZpY2UsdGhpcy5vcHRpb25zU2VydmljZT10aGlzLnJlZ2lzdGVyKG5ldyBoLk9wdGlvbnNTZXJ2aWNlKGUpKSx0aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5zZXRTZXJ2aWNlKHIuSU9wdGlvbnNTZXJ2aWNlLHRoaXMub3B0aW9uc1NlcnZpY2UpLHRoaXMuX2J1ZmZlclNlcnZpY2U9dGhpcy5yZWdpc3Rlcih0aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5jcmVhdGVJbnN0YW5jZShhLkJ1ZmZlclNlcnZpY2UpKSx0aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5zZXRTZXJ2aWNlKHIuSUJ1ZmZlclNlcnZpY2UsdGhpcy5fYnVmZmVyU2VydmljZSksdGhpcy5fbG9nU2VydmljZT10aGlzLnJlZ2lzdGVyKHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLmNyZWF0ZUluc3RhbmNlKG8uTG9nU2VydmljZSkpLHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLnNldFNlcnZpY2Uoci5JTG9nU2VydmljZSx0aGlzLl9sb2dTZXJ2aWNlKSx0aGlzLmNvcmVTZXJ2aWNlPXRoaXMucmVnaXN0ZXIodGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2UuY3JlYXRlSW5zdGFuY2UoYy5Db3JlU2VydmljZSkpLHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLnNldFNlcnZpY2Uoci5JQ29yZVNlcnZpY2UsdGhpcy5jb3JlU2VydmljZSksdGhpcy5jb3JlTW91c2VTZXJ2aWNlPXRoaXMucmVnaXN0ZXIodGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2UuY3JlYXRlSW5zdGFuY2UoZC5Db3JlTW91c2VTZXJ2aWNlKSksdGhpcy5faW5zdGFudGlhdGlvblNlcnZpY2Uuc2V0U2VydmljZShyLklDb3JlTW91c2VTZXJ2aWNlLHRoaXMuY29yZU1vdXNlU2VydmljZSksdGhpcy51bmljb2RlU2VydmljZT10aGlzLnJlZ2lzdGVyKHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLmNyZWF0ZUluc3RhbmNlKF8uVW5pY29kZVNlcnZpY2UpKSx0aGlzLl9pbnN0YW50aWF0aW9uU2VydmljZS5zZXRTZXJ2aWNlKHIuSVVuaWNvZGVTZXJ2aWNlLHRoaXMudW5pY29kZVNlcnZpY2UpLHRoaXMuX2NoYXJzZXRTZXJ2aWNlPXRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLmNyZWF0ZUluc3RhbmNlKHUuQ2hhcnNldFNlcnZpY2UpLHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLnNldFNlcnZpY2Uoci5JQ2hhcnNldFNlcnZpY2UsdGhpcy5fY2hhcnNldFNlcnZpY2UpLHRoaXMuX29zY0xpbmtTZXJ2aWNlPXRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLmNyZWF0ZUluc3RhbmNlKGcuT3NjTGlua1NlcnZpY2UpLHRoaXMuX2luc3RhbnRpYXRpb25TZXJ2aWNlLnNldFNlcnZpY2Uoci5JT3NjTGlua1NlcnZpY2UsdGhpcy5fb3NjTGlua1NlcnZpY2UpLHRoaXMuX2lucHV0SGFuZGxlcj10aGlzLnJlZ2lzdGVyKG5ldyB2LklucHV0SGFuZGxlcih0aGlzLl9idWZmZXJTZXJ2aWNlLHRoaXMuX2NoYXJzZXRTZXJ2aWNlLHRoaXMuY29yZVNlcnZpY2UsdGhpcy5fbG9nU2VydmljZSx0aGlzLm9wdGlvbnNTZXJ2aWNlLHRoaXMuX29zY0xpbmtTZXJ2aWNlLHRoaXMuY29yZU1vdXNlU2VydmljZSx0aGlzLnVuaWNvZGVTZXJ2aWNlKSksdGhpcy5yZWdpc3RlcigoMCxsLmZvcndhcmRFdmVudCkodGhpcy5faW5wdXRIYW5kbGVyLm9uTGluZUZlZWQsdGhpcy5fb25MaW5lRmVlZCkpLHRoaXMucmVnaXN0ZXIodGhpcy5faW5wdXRIYW5kbGVyKSx0aGlzLnJlZ2lzdGVyKCgwLGwuZm9yd2FyZEV2ZW50KSh0aGlzLl9idWZmZXJTZXJ2aWNlLm9uUmVzaXplLHRoaXMuX29uUmVzaXplKSksdGhpcy5yZWdpc3RlcigoMCxsLmZvcndhcmRFdmVudCkodGhpcy5jb3JlU2VydmljZS5vbkRhdGEsdGhpcy5fb25EYXRhKSksdGhpcy5yZWdpc3RlcigoMCxsLmZvcndhcmRFdmVudCkodGhpcy5jb3JlU2VydmljZS5vbkJpbmFyeSx0aGlzLl9vbkJpbmFyeSkpLHRoaXMucmVnaXN0ZXIodGhpcy5jb3JlU2VydmljZS5vblJlcXVlc3RTY3JvbGxUb0JvdHRvbSgoKCk9PnRoaXMuc2Nyb2xsVG9Cb3R0b20oKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuY29yZVNlcnZpY2Uub25Vc2VySW5wdXQoKCgpPT50aGlzLl93cml0ZUJ1ZmZlci5oYW5kbGVVc2VySW5wdXQoKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMub3B0aW9uc1NlcnZpY2Uub25NdWx0aXBsZU9wdGlvbkNoYW5nZShbXCJ3aW5kb3dzTW9kZVwiLFwid2luZG93c1B0eVwiXSwoKCk9PnRoaXMuX2hhbmRsZVdpbmRvd3NQdHlPcHRpb25DaGFuZ2UoKSkpKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX2J1ZmZlclNlcnZpY2Uub25TY3JvbGwoKGU9Pnt0aGlzLl9vblNjcm9sbC5maXJlKHtwb3NpdGlvbjp0aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci55ZGlzcCxzb3VyY2U6MH0pLHRoaXMuX2lucHV0SGFuZGxlci5tYXJrUmFuZ2VEaXJ0eSh0aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci5zY3JvbGxUb3AsdGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIuc2Nyb2xsQm90dG9tKX0pKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9pbnB1dEhhbmRsZXIub25TY3JvbGwoKGU9Pnt0aGlzLl9vblNjcm9sbC5maXJlKHtwb3NpdGlvbjp0aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci55ZGlzcCxzb3VyY2U6MH0pLHRoaXMuX2lucHV0SGFuZGxlci5tYXJrUmFuZ2VEaXJ0eSh0aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci5zY3JvbGxUb3AsdGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIuc2Nyb2xsQm90dG9tKX0pKSksdGhpcy5fd3JpdGVCdWZmZXI9dGhpcy5yZWdpc3RlcihuZXcgcC5Xcml0ZUJ1ZmZlcigoKGUsdCk9PnRoaXMuX2lucHV0SGFuZGxlci5wYXJzZShlLHQpKSkpLHRoaXMucmVnaXN0ZXIoKDAsbC5mb3J3YXJkRXZlbnQpKHRoaXMuX3dyaXRlQnVmZmVyLm9uV3JpdGVQYXJzZWQsdGhpcy5fb25Xcml0ZVBhcnNlZCkpfXdyaXRlKGUsdCl7dGhpcy5fd3JpdGVCdWZmZXIud3JpdGUoZSx0KX13cml0ZVN5bmMoZSx0KXt0aGlzLl9sb2dTZXJ2aWNlLmxvZ0xldmVsPD1yLkxvZ0xldmVsRW51bS5XQVJOJiYhbSYmKHRoaXMuX2xvZ1NlcnZpY2Uud2FybihcIndyaXRlU3luYyBpcyB1bnJlbGlhYmxlIGFuZCB3aWxsIGJlIHJlbW92ZWQgc29vbi5cIiksbT0hMCksdGhpcy5fd3JpdGVCdWZmZXIud3JpdGVTeW5jKGUsdCl9aW5wdXQoZSx0PSEwKXt0aGlzLmNvcmVTZXJ2aWNlLnRyaWdnZXJEYXRhRXZlbnQoZSx0KX1yZXNpemUoZSx0KXtpc05hTihlKXx8aXNOYU4odCl8fChlPU1hdGgubWF4KGUsYS5NSU5JTVVNX0NPTFMpLHQ9TWF0aC5tYXgodCxhLk1JTklNVU1fUk9XUyksdGhpcy5fYnVmZmVyU2VydmljZS5yZXNpemUoZSx0KSl9c2Nyb2xsKGUsdD0hMSl7dGhpcy5fYnVmZmVyU2VydmljZS5zY3JvbGwoZSx0KX1zY3JvbGxMaW5lcyhlLHQsaSl7dGhpcy5fYnVmZmVyU2VydmljZS5zY3JvbGxMaW5lcyhlLHQsaSl9c2Nyb2xsUGFnZXMoZSl7dGhpcy5zY3JvbGxMaW5lcyhlKih0aGlzLnJvd3MtMSkpfXNjcm9sbFRvVG9wKCl7dGhpcy5zY3JvbGxMaW5lcygtdGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIueWRpc3ApfXNjcm9sbFRvQm90dG9tKCl7dGhpcy5zY3JvbGxMaW5lcyh0aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci55YmFzZS10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci55ZGlzcCl9c2Nyb2xsVG9MaW5lKGUpe2NvbnN0IHQ9ZS10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci55ZGlzcDswIT09dCYmdGhpcy5zY3JvbGxMaW5lcyh0KX1yZWdpc3RlckVzY0hhbmRsZXIoZSx0KXtyZXR1cm4gdGhpcy5faW5wdXRIYW5kbGVyLnJlZ2lzdGVyRXNjSGFuZGxlcihlLHQpfXJlZ2lzdGVyRGNzSGFuZGxlcihlLHQpe3JldHVybiB0aGlzLl9pbnB1dEhhbmRsZXIucmVnaXN0ZXJEY3NIYW5kbGVyKGUsdCl9cmVnaXN0ZXJDc2lIYW5kbGVyKGUsdCl7cmV0dXJuIHRoaXMuX2lucHV0SGFuZGxlci5yZWdpc3RlckNzaUhhbmRsZXIoZSx0KX1yZWdpc3Rlck9zY0hhbmRsZXIoZSx0KXtyZXR1cm4gdGhpcy5faW5wdXRIYW5kbGVyLnJlZ2lzdGVyT3NjSGFuZGxlcihlLHQpfV9zZXR1cCgpe3RoaXMuX2hhbmRsZVdpbmRvd3NQdHlPcHRpb25DaGFuZ2UoKX1yZXNldCgpe3RoaXMuX2lucHV0SGFuZGxlci5yZXNldCgpLHRoaXMuX2J1ZmZlclNlcnZpY2UucmVzZXQoKSx0aGlzLl9jaGFyc2V0U2VydmljZS5yZXNldCgpLHRoaXMuY29yZVNlcnZpY2UucmVzZXQoKSx0aGlzLmNvcmVNb3VzZVNlcnZpY2UucmVzZXQoKX1faGFuZGxlV2luZG93c1B0eU9wdGlvbkNoYW5nZSgpe2xldCBlPSExO2NvbnN0IHQ9dGhpcy5vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLndpbmRvd3NQdHk7dCYmdm9pZCAwIT09dC5idWlsZE51bWJlciYmdm9pZCAwIT09dC5idWlsZE51bWJlcj9lPSEhKFwiY29ucHR5XCI9PT10LmJhY2tlbmQmJnQuYnVpbGROdW1iZXI8MjEzNzYpOnRoaXMub3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy53aW5kb3dzTW9kZSYmKGU9ITApLGU/dGhpcy5fZW5hYmxlV2luZG93c1dyYXBwaW5nSGV1cmlzdGljcygpOnRoaXMuX3dpbmRvd3NXcmFwcGluZ0hldXJpc3RpY3MuY2xlYXIoKX1fZW5hYmxlV2luZG93c1dyYXBwaW5nSGV1cmlzdGljcygpe2lmKCF0aGlzLl93aW5kb3dzV3JhcHBpbmdIZXVyaXN0aWNzLnZhbHVlKXtjb25zdCBlPVtdO2UucHVzaCh0aGlzLm9uTGluZUZlZWQoZi51cGRhdGVXaW5kb3dzTW9kZVdyYXBwZWRTdGF0ZS5iaW5kKG51bGwsdGhpcy5fYnVmZmVyU2VydmljZSkpKSxlLnB1c2godGhpcy5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiSFwifSwoKCk9PigoMCxmLnVwZGF0ZVdpbmRvd3NNb2RlV3JhcHBlZFN0YXRlKSh0aGlzLl9idWZmZXJTZXJ2aWNlKSwhMSkpKSksdGhpcy5fd2luZG93c1dyYXBwaW5nSGV1cmlzdGljcy52YWx1ZT0oMCxzLnRvRGlzcG9zYWJsZSkoKCgpPT57Zm9yKGNvbnN0IHQgb2YgZSl0LmRpc3Bvc2UoKX0pKX19fXQuQ29yZVRlcm1pbmFsPVN9LDg0NjA6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LnJ1bkFuZFN1YnNjcmliZT10LmZvcndhcmRFdmVudD10LkV2ZW50RW1pdHRlcj12b2lkIDAsdC5FdmVudEVtaXR0ZXI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLl9saXN0ZW5lcnM9W10sdGhpcy5fZGlzcG9zZWQ9ITF9Z2V0IGV2ZW50KCl7cmV0dXJuIHRoaXMuX2V2ZW50fHwodGhpcy5fZXZlbnQ9ZT0+KHRoaXMuX2xpc3RlbmVycy5wdXNoKGUpLHtkaXNwb3NlOigpPT57aWYoIXRoaXMuX2Rpc3Bvc2VkKWZvcihsZXQgdD0wO3Q8dGhpcy5fbGlzdGVuZXJzLmxlbmd0aDt0KyspaWYodGhpcy5fbGlzdGVuZXJzW3RdPT09ZSlyZXR1cm4gdm9pZCB0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKHQsMSl9fSkpLHRoaXMuX2V2ZW50fWZpcmUoZSx0KXtjb25zdCBpPVtdO2ZvcihsZXQgZT0wO2U8dGhpcy5fbGlzdGVuZXJzLmxlbmd0aDtlKyspaS5wdXNoKHRoaXMuX2xpc3RlbmVyc1tlXSk7Zm9yKGxldCBzPTA7czxpLmxlbmd0aDtzKyspaVtzXS5jYWxsKHZvaWQgMCxlLHQpfWRpc3Bvc2UoKXt0aGlzLmNsZWFyTGlzdGVuZXJzKCksdGhpcy5fZGlzcG9zZWQ9ITB9Y2xlYXJMaXN0ZW5lcnMoKXt0aGlzLl9saXN0ZW5lcnMmJih0aGlzLl9saXN0ZW5lcnMubGVuZ3RoPTApfX0sdC5mb3J3YXJkRXZlbnQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSgoZT0+dC5maXJlKGUpKSl9LHQucnVuQW5kU3Vic2NyaWJlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQodm9pZCAwKSxlKChlPT50KGUpKSl9fSw1NDM1OmZ1bmN0aW9uKGUsdCxpKXt2YXIgcz10aGlzJiZ0aGlzLl9fZGVjb3JhdGV8fGZ1bmN0aW9uKGUsdCxpLHMpe3ZhciByLG49YXJndW1lbnRzLmxlbmd0aCxvPW48Mz90Om51bGw9PT1zP3M9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGkpOnM7aWYoXCJvYmplY3RcIj09dHlwZW9mIFJlZmxlY3QmJlwiZnVuY3Rpb25cIj09dHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUpbz1SZWZsZWN0LmRlY29yYXRlKGUsdCxpLHMpO2Vsc2UgZm9yKHZhciBhPWUubGVuZ3RoLTE7YT49MDthLS0pKHI9ZVthXSkmJihvPShuPDM/cihvKTpuPjM/cih0LGksbyk6cih0LGkpKXx8byk7cmV0dXJuIG4+MyYmbyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsaSxvKSxvfSxyPXRoaXMmJnRoaXMuX19wYXJhbXx8ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oaSxzKXt0KGkscyxlKX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuSW5wdXRIYW5kbGVyPXQuV2luZG93c09wdGlvbnNSZXBvcnRUeXBlPXZvaWQgMDtjb25zdCBuPWkoMjU4NCksbz1pKDcxMTYpLGE9aSgyMDE1KSxoPWkoODQ0KSxjPWkoNDgyKSxsPWkoODQzNyksZD1pKDg0NjApLF89aSg2NDMpLHU9aSg1MTEpLGY9aSgzNzM0KSx2PWkoMjU4NSkscD1pKDE0ODApLGc9aSg2MjQyKSxtPWkoNjM1MSksUz1pKDU5NDEpLEM9e1wiKFwiOjAsXCIpXCI6MSxcIipcIjoyLFwiK1wiOjMsXCItXCI6MSxcIi5cIjoyfSxiPTEzMTA3MjtmdW5jdGlvbiB3KGUsdCl7aWYoZT4yNClyZXR1cm4gdC5zZXRXaW5MaW5lc3x8ITE7c3dpdGNoKGUpe2Nhc2UgMTpyZXR1cm4hIXQucmVzdG9yZVdpbjtjYXNlIDI6cmV0dXJuISF0Lm1pbmltaXplV2luO2Nhc2UgMzpyZXR1cm4hIXQuc2V0V2luUG9zaXRpb247Y2FzZSA0OnJldHVybiEhdC5zZXRXaW5TaXplUGl4ZWxzO2Nhc2UgNTpyZXR1cm4hIXQucmFpc2VXaW47Y2FzZSA2OnJldHVybiEhdC5sb3dlcldpbjtjYXNlIDc6cmV0dXJuISF0LnJlZnJlc2hXaW47Y2FzZSA4OnJldHVybiEhdC5zZXRXaW5TaXplQ2hhcnM7Y2FzZSA5OnJldHVybiEhdC5tYXhpbWl6ZVdpbjtjYXNlIDEwOnJldHVybiEhdC5mdWxsc2NyZWVuV2luO2Nhc2UgMTE6cmV0dXJuISF0LmdldFdpblN0YXRlO2Nhc2UgMTM6cmV0dXJuISF0LmdldFdpblBvc2l0aW9uO2Nhc2UgMTQ6cmV0dXJuISF0LmdldFdpblNpemVQaXhlbHM7Y2FzZSAxNTpyZXR1cm4hIXQuZ2V0U2NyZWVuU2l6ZVBpeGVscztjYXNlIDE2OnJldHVybiEhdC5nZXRDZWxsU2l6ZVBpeGVscztjYXNlIDE4OnJldHVybiEhdC5nZXRXaW5TaXplQ2hhcnM7Y2FzZSAxOTpyZXR1cm4hIXQuZ2V0U2NyZWVuU2l6ZUNoYXJzO2Nhc2UgMjA6cmV0dXJuISF0LmdldEljb25UaXRsZTtjYXNlIDIxOnJldHVybiEhdC5nZXRXaW5UaXRsZTtjYXNlIDIyOnJldHVybiEhdC5wdXNoVGl0bGU7Y2FzZSAyMzpyZXR1cm4hIXQucG9wVGl0bGU7Y2FzZSAyNDpyZXR1cm4hIXQuc2V0V2luTGluZXN9cmV0dXJuITF9dmFyIHk7IWZ1bmN0aW9uKGUpe2VbZS5HRVRfV0lOX1NJWkVfUElYRUxTPTBdPVwiR0VUX1dJTl9TSVpFX1BJWEVMU1wiLGVbZS5HRVRfQ0VMTF9TSVpFX1BJWEVMUz0xXT1cIkdFVF9DRUxMX1NJWkVfUElYRUxTXCJ9KHl8fCh0LldpbmRvd3NPcHRpb25zUmVwb3J0VHlwZT15PXt9KSk7bGV0IEU9MDtjbGFzcyBrIGV4dGVuZHMgaC5EaXNwb3NhYmxle2dldEF0dHJEYXRhKCl7cmV0dXJuIHRoaXMuX2N1ckF0dHJEYXRhfWNvbnN0cnVjdG9yKGUsdCxpLHMscixoLF8sZix2PW5ldyBhLkVzY2FwZVNlcXVlbmNlUGFyc2VyKXtzdXBlcigpLHRoaXMuX2J1ZmZlclNlcnZpY2U9ZSx0aGlzLl9jaGFyc2V0U2VydmljZT10LHRoaXMuX2NvcmVTZXJ2aWNlPWksdGhpcy5fbG9nU2VydmljZT1zLHRoaXMuX29wdGlvbnNTZXJ2aWNlPXIsdGhpcy5fb3NjTGlua1NlcnZpY2U9aCx0aGlzLl9jb3JlTW91c2VTZXJ2aWNlPV8sdGhpcy5fdW5pY29kZVNlcnZpY2U9Zix0aGlzLl9wYXJzZXI9dix0aGlzLl9wYXJzZUJ1ZmZlcj1uZXcgVWludDMyQXJyYXkoNDA5NiksdGhpcy5fc3RyaW5nRGVjb2Rlcj1uZXcgYy5TdHJpbmdUb1V0ZjMyLHRoaXMuX3V0ZjhEZWNvZGVyPW5ldyBjLlV0ZjhUb1V0ZjMyLHRoaXMuX3dvcmtDZWxsPW5ldyB1LkNlbGxEYXRhLHRoaXMuX3dpbmRvd1RpdGxlPVwiXCIsdGhpcy5faWNvbk5hbWU9XCJcIix0aGlzLl93aW5kb3dUaXRsZVN0YWNrPVtdLHRoaXMuX2ljb25OYW1lU3RhY2s9W10sdGhpcy5fY3VyQXR0ckRhdGE9bC5ERUZBVUxUX0FUVFJfREFUQS5jbG9uZSgpLHRoaXMuX2VyYXNlQXR0ckRhdGFJbnRlcm5hbD1sLkRFRkFVTFRfQVRUUl9EQVRBLmNsb25lKCksdGhpcy5fb25SZXF1ZXN0QmVsbD10aGlzLnJlZ2lzdGVyKG5ldyBkLkV2ZW50RW1pdHRlciksdGhpcy5vblJlcXVlc3RCZWxsPXRoaXMuX29uUmVxdWVzdEJlbGwuZXZlbnQsdGhpcy5fb25SZXF1ZXN0UmVmcmVzaFJvd3M9dGhpcy5yZWdpc3RlcihuZXcgZC5FdmVudEVtaXR0ZXIpLHRoaXMub25SZXF1ZXN0UmVmcmVzaFJvd3M9dGhpcy5fb25SZXF1ZXN0UmVmcmVzaFJvd3MuZXZlbnQsdGhpcy5fb25SZXF1ZXN0UmVzZXQ9dGhpcy5yZWdpc3RlcihuZXcgZC5FdmVudEVtaXR0ZXIpLHRoaXMub25SZXF1ZXN0UmVzZXQ9dGhpcy5fb25SZXF1ZXN0UmVzZXQuZXZlbnQsdGhpcy5fb25SZXF1ZXN0U2VuZEZvY3VzPXRoaXMucmVnaXN0ZXIobmV3IGQuRXZlbnRFbWl0dGVyKSx0aGlzLm9uUmVxdWVzdFNlbmRGb2N1cz10aGlzLl9vblJlcXVlc3RTZW5kRm9jdXMuZXZlbnQsdGhpcy5fb25SZXF1ZXN0U3luY1Njcm9sbEJhcj10aGlzLnJlZ2lzdGVyKG5ldyBkLkV2ZW50RW1pdHRlciksdGhpcy5vblJlcXVlc3RTeW5jU2Nyb2xsQmFyPXRoaXMuX29uUmVxdWVzdFN5bmNTY3JvbGxCYXIuZXZlbnQsdGhpcy5fb25SZXF1ZXN0V2luZG93c09wdGlvbnNSZXBvcnQ9dGhpcy5yZWdpc3RlcihuZXcgZC5FdmVudEVtaXR0ZXIpLHRoaXMub25SZXF1ZXN0V2luZG93c09wdGlvbnNSZXBvcnQ9dGhpcy5fb25SZXF1ZXN0V2luZG93c09wdGlvbnNSZXBvcnQuZXZlbnQsdGhpcy5fb25BMTF5Q2hhcj10aGlzLnJlZ2lzdGVyKG5ldyBkLkV2ZW50RW1pdHRlciksdGhpcy5vbkExMXlDaGFyPXRoaXMuX29uQTExeUNoYXIuZXZlbnQsdGhpcy5fb25BMTF5VGFiPXRoaXMucmVnaXN0ZXIobmV3IGQuRXZlbnRFbWl0dGVyKSx0aGlzLm9uQTExeVRhYj10aGlzLl9vbkExMXlUYWIuZXZlbnQsdGhpcy5fb25DdXJzb3JNb3ZlPXRoaXMucmVnaXN0ZXIobmV3IGQuRXZlbnRFbWl0dGVyKSx0aGlzLm9uQ3Vyc29yTW92ZT10aGlzLl9vbkN1cnNvck1vdmUuZXZlbnQsdGhpcy5fb25MaW5lRmVlZD10aGlzLnJlZ2lzdGVyKG5ldyBkLkV2ZW50RW1pdHRlciksdGhpcy5vbkxpbmVGZWVkPXRoaXMuX29uTGluZUZlZWQuZXZlbnQsdGhpcy5fb25TY3JvbGw9dGhpcy5yZWdpc3RlcihuZXcgZC5FdmVudEVtaXR0ZXIpLHRoaXMub25TY3JvbGw9dGhpcy5fb25TY3JvbGwuZXZlbnQsdGhpcy5fb25UaXRsZUNoYW5nZT10aGlzLnJlZ2lzdGVyKG5ldyBkLkV2ZW50RW1pdHRlciksdGhpcy5vblRpdGxlQ2hhbmdlPXRoaXMuX29uVGl0bGVDaGFuZ2UuZXZlbnQsdGhpcy5fb25Db2xvcj10aGlzLnJlZ2lzdGVyKG5ldyBkLkV2ZW50RW1pdHRlciksdGhpcy5vbkNvbG9yPXRoaXMuX29uQ29sb3IuZXZlbnQsdGhpcy5fcGFyc2VTdGFjaz17cGF1c2VkOiExLGN1cnNvclN0YXJ0WDowLGN1cnNvclN0YXJ0WTowLGRlY29kZWRMZW5ndGg6MCxwb3NpdGlvbjowfSx0aGlzLl9zcGVjaWFsQ29sb3JzPVsyNTYsMjU3LDI1OF0sdGhpcy5yZWdpc3Rlcih0aGlzLl9wYXJzZXIpLHRoaXMuX2RpcnR5Um93VHJhY2tlcj1uZXcgTCh0aGlzLl9idWZmZXJTZXJ2aWNlKSx0aGlzLl9hY3RpdmVCdWZmZXI9dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIsdGhpcy5yZWdpc3Rlcih0aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlcnMub25CdWZmZXJBY3RpdmF0ZSgoZT0+dGhpcy5fYWN0aXZlQnVmZmVyPWUuYWN0aXZlQnVmZmVyKSkpLHRoaXMuX3BhcnNlci5zZXRDc2lIYW5kbGVyRmFsbGJhY2soKChlLHQpPT57dGhpcy5fbG9nU2VydmljZS5kZWJ1ZyhcIlVua25vd24gQ1NJIGNvZGU6IFwiLHtpZGVudGlmaWVyOnRoaXMuX3BhcnNlci5pZGVudFRvU3RyaW5nKGUpLHBhcmFtczp0LnRvQXJyYXkoKX0pfSkpLHRoaXMuX3BhcnNlci5zZXRFc2NIYW5kbGVyRmFsbGJhY2soKGU9Pnt0aGlzLl9sb2dTZXJ2aWNlLmRlYnVnKFwiVW5rbm93biBFU0MgY29kZTogXCIse2lkZW50aWZpZXI6dGhpcy5fcGFyc2VyLmlkZW50VG9TdHJpbmcoZSl9KX0pKSx0aGlzLl9wYXJzZXIuc2V0RXhlY3V0ZUhhbmRsZXJGYWxsYmFjaygoZT0+e3RoaXMuX2xvZ1NlcnZpY2UuZGVidWcoXCJVbmtub3duIEVYRUNVVEUgY29kZTogXCIse2NvZGU6ZX0pfSkpLHRoaXMuX3BhcnNlci5zZXRPc2NIYW5kbGVyRmFsbGJhY2soKChlLHQsaSk9Pnt0aGlzLl9sb2dTZXJ2aWNlLmRlYnVnKFwiVW5rbm93biBPU0MgY29kZTogXCIse2lkZW50aWZpZXI6ZSxhY3Rpb246dCxkYXRhOml9KX0pKSx0aGlzLl9wYXJzZXIuc2V0RGNzSGFuZGxlckZhbGxiYWNrKCgoZSx0LGkpPT57XCJIT09LXCI9PT10JiYoaT1pLnRvQXJyYXkoKSksdGhpcy5fbG9nU2VydmljZS5kZWJ1ZyhcIlVua25vd24gRENTIGNvZGU6IFwiLHtpZGVudGlmaWVyOnRoaXMuX3BhcnNlci5pZGVudFRvU3RyaW5nKGUpLGFjdGlvbjp0LHBheWxvYWQ6aX0pfSkpLHRoaXMuX3BhcnNlci5zZXRQcmludEhhbmRsZXIoKChlLHQsaSk9PnRoaXMucHJpbnQoZSx0LGkpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7ZmluYWw6XCJAXCJ9LChlPT50aGlzLmluc2VydENoYXJzKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7aW50ZXJtZWRpYXRlczpcIiBcIixmaW5hbDpcIkBcIn0sKGU9PnRoaXMuc2Nyb2xsTGVmdChlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiQVwifSwoZT0+dGhpcy5jdXJzb3JVcChlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ludGVybWVkaWF0ZXM6XCIgXCIsZmluYWw6XCJBXCJ9LChlPT50aGlzLnNjcm9sbFJpZ2h0KGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7ZmluYWw6XCJCXCJ9LChlPT50aGlzLmN1cnNvckRvd24oZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtmaW5hbDpcIkNcIn0sKGU9PnRoaXMuY3Vyc29yRm9yd2FyZChlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiRFwifSwoZT0+dGhpcy5jdXJzb3JCYWNrd2FyZChlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiRVwifSwoZT0+dGhpcy5jdXJzb3JOZXh0TGluZShlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiRlwifSwoZT0+dGhpcy5jdXJzb3JQcmVjZWRpbmdMaW5lKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7ZmluYWw6XCJHXCJ9LChlPT50aGlzLmN1cnNvckNoYXJBYnNvbHV0ZShlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiSFwifSwoZT0+dGhpcy5jdXJzb3JQb3NpdGlvbihlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiSVwifSwoZT0+dGhpcy5jdXJzb3JGb3J3YXJkVGFiKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7ZmluYWw6XCJKXCJ9LChlPT50aGlzLmVyYXNlSW5EaXNwbGF5KGUsITEpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7cHJlZml4OlwiP1wiLGZpbmFsOlwiSlwifSwoZT0+dGhpcy5lcmFzZUluRGlzcGxheShlLCEwKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiS1wifSwoZT0+dGhpcy5lcmFzZUluTGluZShlLCExKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe3ByZWZpeDpcIj9cIixmaW5hbDpcIktcIn0sKGU9PnRoaXMuZXJhc2VJbkxpbmUoZSwhMCkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtmaW5hbDpcIkxcIn0sKGU9PnRoaXMuaW5zZXJ0TGluZXMoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtmaW5hbDpcIk1cIn0sKGU9PnRoaXMuZGVsZXRlTGluZXMoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtmaW5hbDpcIlBcIn0sKGU9PnRoaXMuZGVsZXRlQ2hhcnMoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtmaW5hbDpcIlNcIn0sKGU9PnRoaXMuc2Nyb2xsVXAoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtmaW5hbDpcIlRcIn0sKGU9PnRoaXMuc2Nyb2xsRG93bihlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiWFwifSwoZT0+dGhpcy5lcmFzZUNoYXJzKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7ZmluYWw6XCJaXCJ9LChlPT50aGlzLmN1cnNvckJhY2t3YXJkVGFiKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7ZmluYWw6XCJgXCJ9LChlPT50aGlzLmNoYXJQb3NBYnNvbHV0ZShlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiYVwifSwoZT0+dGhpcy5oUG9zaXRpb25SZWxhdGl2ZShlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiYlwifSwoZT0+dGhpcy5yZXBlYXRQcmVjZWRpbmdDaGFyYWN0ZXIoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtmaW5hbDpcImNcIn0sKGU9PnRoaXMuc2VuZERldmljZUF0dHJpYnV0ZXNQcmltYXJ5KGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7cHJlZml4OlwiPlwiLGZpbmFsOlwiY1wifSwoZT0+dGhpcy5zZW5kRGV2aWNlQXR0cmlidXRlc1NlY29uZGFyeShlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiZFwifSwoZT0+dGhpcy5saW5lUG9zQWJzb2x1dGUoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtmaW5hbDpcImVcIn0sKGU9PnRoaXMudlBvc2l0aW9uUmVsYXRpdmUoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtmaW5hbDpcImZcIn0sKGU9PnRoaXMuaFZQb3NpdGlvbihlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiZ1wifSwoZT0+dGhpcy50YWJDbGVhcihlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwiaFwifSwoZT0+dGhpcy5zZXRNb2RlKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7cHJlZml4OlwiP1wiLGZpbmFsOlwiaFwifSwoZT0+dGhpcy5zZXRNb2RlUHJpdmF0ZShlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwibFwifSwoZT0+dGhpcy5yZXNldE1vZGUoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtwcmVmaXg6XCI/XCIsZmluYWw6XCJsXCJ9LChlPT50aGlzLnJlc2V0TW9kZVByaXZhdGUoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtmaW5hbDpcIm1cIn0sKGU9PnRoaXMuY2hhckF0dHJpYnV0ZXMoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtmaW5hbDpcIm5cIn0sKGU9PnRoaXMuZGV2aWNlU3RhdHVzKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7cHJlZml4OlwiP1wiLGZpbmFsOlwiblwifSwoZT0+dGhpcy5kZXZpY2VTdGF0dXNQcml2YXRlKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7aW50ZXJtZWRpYXRlczpcIiFcIixmaW5hbDpcInBcIn0sKGU9PnRoaXMuc29mdFJlc2V0KGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7aW50ZXJtZWRpYXRlczpcIiBcIixmaW5hbDpcInFcIn0sKGU9PnRoaXMuc2V0Q3Vyc29yU3R5bGUoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtmaW5hbDpcInJcIn0sKGU9PnRoaXMuc2V0U2Nyb2xsUmVnaW9uKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7ZmluYWw6XCJzXCJ9LChlPT50aGlzLnNhdmVDdXJzb3IoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtmaW5hbDpcInRcIn0sKGU9PnRoaXMud2luZG93T3B0aW9ucyhlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ZpbmFsOlwidVwifSwoZT0+dGhpcy5yZXN0b3JlQ3Vyc29yKGUpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7aW50ZXJtZWRpYXRlczpcIidcIixmaW5hbDpcIn1cIn0sKGU9PnRoaXMuaW5zZXJ0Q29sdW1ucyhlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ludGVybWVkaWF0ZXM6XCInXCIsZmluYWw6XCJ+XCJ9LChlPT50aGlzLmRlbGV0ZUNvbHVtbnMoZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJDc2lIYW5kbGVyKHtpbnRlcm1lZGlhdGVzOidcIicsZmluYWw6XCJxXCJ9LChlPT50aGlzLnNlbGVjdFByb3RlY3RlZChlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoe2ludGVybWVkaWF0ZXM6XCIkXCIsZmluYWw6XCJwXCJ9LChlPT50aGlzLnJlcXVlc3RNb2RlKGUsITApKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcih7cHJlZml4OlwiP1wiLGludGVybWVkaWF0ZXM6XCIkXCIsZmluYWw6XCJwXCJ9LChlPT50aGlzLnJlcXVlc3RNb2RlKGUsITEpKSksdGhpcy5fcGFyc2VyLnNldEV4ZWN1dGVIYW5kbGVyKG4uQzAuQkVMLCgoKT0+dGhpcy5iZWxsKCkpKSx0aGlzLl9wYXJzZXIuc2V0RXhlY3V0ZUhhbmRsZXIobi5DMC5MRiwoKCk9PnRoaXMubGluZUZlZWQoKSkpLHRoaXMuX3BhcnNlci5zZXRFeGVjdXRlSGFuZGxlcihuLkMwLlZULCgoKT0+dGhpcy5saW5lRmVlZCgpKSksdGhpcy5fcGFyc2VyLnNldEV4ZWN1dGVIYW5kbGVyKG4uQzAuRkYsKCgpPT50aGlzLmxpbmVGZWVkKCkpKSx0aGlzLl9wYXJzZXIuc2V0RXhlY3V0ZUhhbmRsZXIobi5DMC5DUiwoKCk9PnRoaXMuY2FycmlhZ2VSZXR1cm4oKSkpLHRoaXMuX3BhcnNlci5zZXRFeGVjdXRlSGFuZGxlcihuLkMwLkJTLCgoKT0+dGhpcy5iYWNrc3BhY2UoKSkpLHRoaXMuX3BhcnNlci5zZXRFeGVjdXRlSGFuZGxlcihuLkMwLkhULCgoKT0+dGhpcy50YWIoKSkpLHRoaXMuX3BhcnNlci5zZXRFeGVjdXRlSGFuZGxlcihuLkMwLlNPLCgoKT0+dGhpcy5zaGlmdE91dCgpKSksdGhpcy5fcGFyc2VyLnNldEV4ZWN1dGVIYW5kbGVyKG4uQzAuU0ksKCgpPT50aGlzLnNoaWZ0SW4oKSkpLHRoaXMuX3BhcnNlci5zZXRFeGVjdXRlSGFuZGxlcihuLkMxLklORCwoKCk9PnRoaXMuaW5kZXgoKSkpLHRoaXMuX3BhcnNlci5zZXRFeGVjdXRlSGFuZGxlcihuLkMxLk5FTCwoKCk9PnRoaXMubmV4dExpbmUoKSkpLHRoaXMuX3BhcnNlci5zZXRFeGVjdXRlSGFuZGxlcihuLkMxLkhUUywoKCk9PnRoaXMudGFiU2V0KCkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJPc2NIYW5kbGVyKDAsbmV3IGcuT3NjSGFuZGxlcigoZT0+KHRoaXMuc2V0VGl0bGUoZSksdGhpcy5zZXRJY29uTmFtZShlKSwhMCkpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyT3NjSGFuZGxlcigxLG5ldyBnLk9zY0hhbmRsZXIoKGU9PnRoaXMuc2V0SWNvbk5hbWUoZSkpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyT3NjSGFuZGxlcigyLG5ldyBnLk9zY0hhbmRsZXIoKGU9PnRoaXMuc2V0VGl0bGUoZSkpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyT3NjSGFuZGxlcig0LG5ldyBnLk9zY0hhbmRsZXIoKGU9PnRoaXMuc2V0T3JSZXBvcnRJbmRleGVkQ29sb3IoZSkpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyT3NjSGFuZGxlcig4LG5ldyBnLk9zY0hhbmRsZXIoKGU9PnRoaXMuc2V0SHlwZXJsaW5rKGUpKSkpLHRoaXMuX3BhcnNlci5yZWdpc3Rlck9zY0hhbmRsZXIoMTAsbmV3IGcuT3NjSGFuZGxlcigoZT0+dGhpcy5zZXRPclJlcG9ydEZnQ29sb3IoZSkpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyT3NjSGFuZGxlcigxMSxuZXcgZy5Pc2NIYW5kbGVyKChlPT50aGlzLnNldE9yUmVwb3J0QmdDb2xvcihlKSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJPc2NIYW5kbGVyKDEyLG5ldyBnLk9zY0hhbmRsZXIoKGU9PnRoaXMuc2V0T3JSZXBvcnRDdXJzb3JDb2xvcihlKSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJPc2NIYW5kbGVyKDEwNCxuZXcgZy5Pc2NIYW5kbGVyKChlPT50aGlzLnJlc3RvcmVJbmRleGVkQ29sb3IoZSkpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyT3NjSGFuZGxlcigxMTAsbmV3IGcuT3NjSGFuZGxlcigoZT0+dGhpcy5yZXN0b3JlRmdDb2xvcihlKSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJPc2NIYW5kbGVyKDExMSxuZXcgZy5Pc2NIYW5kbGVyKChlPT50aGlzLnJlc3RvcmVCZ0NvbG9yKGUpKSkpLHRoaXMuX3BhcnNlci5yZWdpc3Rlck9zY0hhbmRsZXIoMTEyLG5ldyBnLk9zY0hhbmRsZXIoKGU9PnRoaXMucmVzdG9yZUN1cnNvckNvbG9yKGUpKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckVzY0hhbmRsZXIoe2ZpbmFsOlwiN1wifSwoKCk9PnRoaXMuc2F2ZUN1cnNvcigpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyRXNjSGFuZGxlcih7ZmluYWw6XCI4XCJ9LCgoKT0+dGhpcy5yZXN0b3JlQ3Vyc29yKCkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJFc2NIYW5kbGVyKHtmaW5hbDpcIkRcIn0sKCgpPT50aGlzLmluZGV4KCkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJFc2NIYW5kbGVyKHtmaW5hbDpcIkVcIn0sKCgpPT50aGlzLm5leHRMaW5lKCkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJFc2NIYW5kbGVyKHtmaW5hbDpcIkhcIn0sKCgpPT50aGlzLnRhYlNldCgpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyRXNjSGFuZGxlcih7ZmluYWw6XCJNXCJ9LCgoKT0+dGhpcy5yZXZlcnNlSW5kZXgoKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckVzY0hhbmRsZXIoe2ZpbmFsOlwiPVwifSwoKCk9PnRoaXMua2V5cGFkQXBwbGljYXRpb25Nb2RlKCkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJFc2NIYW5kbGVyKHtmaW5hbDpcIj5cIn0sKCgpPT50aGlzLmtleXBhZE51bWVyaWNNb2RlKCkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJFc2NIYW5kbGVyKHtmaW5hbDpcImNcIn0sKCgpPT50aGlzLmZ1bGxSZXNldCgpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyRXNjSGFuZGxlcih7ZmluYWw6XCJuXCJ9LCgoKT0+dGhpcy5zZXRnTGV2ZWwoMikpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJFc2NIYW5kbGVyKHtmaW5hbDpcIm9cIn0sKCgpPT50aGlzLnNldGdMZXZlbCgzKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckVzY0hhbmRsZXIoe2ZpbmFsOlwifFwifSwoKCk9PnRoaXMuc2V0Z0xldmVsKDMpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyRXNjSGFuZGxlcih7ZmluYWw6XCJ9XCJ9LCgoKT0+dGhpcy5zZXRnTGV2ZWwoMikpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJFc2NIYW5kbGVyKHtmaW5hbDpcIn5cIn0sKCgpPT50aGlzLnNldGdMZXZlbCgxKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckVzY0hhbmRsZXIoe2ludGVybWVkaWF0ZXM6XCIlXCIsZmluYWw6XCJAXCJ9LCgoKT0+dGhpcy5zZWxlY3REZWZhdWx0Q2hhcnNldCgpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyRXNjSGFuZGxlcih7aW50ZXJtZWRpYXRlczpcIiVcIixmaW5hbDpcIkdcIn0sKCgpPT50aGlzLnNlbGVjdERlZmF1bHRDaGFyc2V0KCkpKTtmb3IoY29uc3QgZSBpbiBvLkNIQVJTRVRTKXRoaXMuX3BhcnNlci5yZWdpc3RlckVzY0hhbmRsZXIoe2ludGVybWVkaWF0ZXM6XCIoXCIsZmluYWw6ZX0sKCgpPT50aGlzLnNlbGVjdENoYXJzZXQoXCIoXCIrZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJFc2NIYW5kbGVyKHtpbnRlcm1lZGlhdGVzOlwiKVwiLGZpbmFsOmV9LCgoKT0+dGhpcy5zZWxlY3RDaGFyc2V0KFwiKVwiK2UpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyRXNjSGFuZGxlcih7aW50ZXJtZWRpYXRlczpcIipcIixmaW5hbDplfSwoKCk9PnRoaXMuc2VsZWN0Q2hhcnNldChcIipcIitlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckVzY0hhbmRsZXIoe2ludGVybWVkaWF0ZXM6XCIrXCIsZmluYWw6ZX0sKCgpPT50aGlzLnNlbGVjdENoYXJzZXQoXCIrXCIrZSkpKSx0aGlzLl9wYXJzZXIucmVnaXN0ZXJFc2NIYW5kbGVyKHtpbnRlcm1lZGlhdGVzOlwiLVwiLGZpbmFsOmV9LCgoKT0+dGhpcy5zZWxlY3RDaGFyc2V0KFwiLVwiK2UpKSksdGhpcy5fcGFyc2VyLnJlZ2lzdGVyRXNjSGFuZGxlcih7aW50ZXJtZWRpYXRlczpcIi5cIixmaW5hbDplfSwoKCk9PnRoaXMuc2VsZWN0Q2hhcnNldChcIi5cIitlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckVzY0hhbmRsZXIoe2ludGVybWVkaWF0ZXM6XCIvXCIsZmluYWw6ZX0sKCgpPT50aGlzLnNlbGVjdENoYXJzZXQoXCIvXCIrZSkpKTt0aGlzLl9wYXJzZXIucmVnaXN0ZXJFc2NIYW5kbGVyKHtpbnRlcm1lZGlhdGVzOlwiI1wiLGZpbmFsOlwiOFwifSwoKCk9PnRoaXMuc2NyZWVuQWxpZ25tZW50UGF0dGVybigpKSksdGhpcy5fcGFyc2VyLnNldEVycm9ySGFuZGxlcigoZT0+KHRoaXMuX2xvZ1NlcnZpY2UuZXJyb3IoXCJQYXJzaW5nIGVycm9yOiBcIixlKSxlKSkpLHRoaXMuX3BhcnNlci5yZWdpc3RlckRjc0hhbmRsZXIoe2ludGVybWVkaWF0ZXM6XCIkXCIsZmluYWw6XCJxXCJ9LG5ldyBtLkRjc0hhbmRsZXIoKChlLHQpPT50aGlzLnJlcXVlc3RTdGF0dXNTdHJpbmcoZSx0KSkpKX1fcHJlc2VydmVTdGFjayhlLHQsaSxzKXt0aGlzLl9wYXJzZVN0YWNrLnBhdXNlZD0hMCx0aGlzLl9wYXJzZVN0YWNrLmN1cnNvclN0YXJ0WD1lLHRoaXMuX3BhcnNlU3RhY2suY3Vyc29yU3RhcnRZPXQsdGhpcy5fcGFyc2VTdGFjay5kZWNvZGVkTGVuZ3RoPWksdGhpcy5fcGFyc2VTdGFjay5wb3NpdGlvbj1zfV9sb2dTbG93UmVzb2x2aW5nQXN5bmMoZSl7dGhpcy5fbG9nU2VydmljZS5sb2dMZXZlbDw9di5Mb2dMZXZlbEVudW0uV0FSTiYmUHJvbWlzZS5yYWNlKFtlLG5ldyBQcm9taXNlKCgoZSx0KT0+c2V0VGltZW91dCgoKCk9PnQoXCIjU0xPV19USU1FT1VUXCIpKSw1ZTMpKSldKS5jYXRjaCgoZT0+e2lmKFwiI1NMT1dfVElNRU9VVFwiIT09ZSl0aHJvdyBlO2NvbnNvbGUud2FybihcImFzeW5jIHBhcnNlciBoYW5kbGVyIHRha2luZyBsb25nZXIgdGhhbiA1MDAwIG1zXCIpfSkpfV9nZXRDdXJyZW50TGlua0lkKCl7cmV0dXJuIHRoaXMuX2N1ckF0dHJEYXRhLmV4dGVuZGVkLnVybElkfXBhcnNlKGUsdCl7bGV0IGkscz10aGlzLl9hY3RpdmVCdWZmZXIueCxyPXRoaXMuX2FjdGl2ZUJ1ZmZlci55LG49MDtjb25zdCBvPXRoaXMuX3BhcnNlU3RhY2sucGF1c2VkO2lmKG8pe2lmKGk9dGhpcy5fcGFyc2VyLnBhcnNlKHRoaXMuX3BhcnNlQnVmZmVyLHRoaXMuX3BhcnNlU3RhY2suZGVjb2RlZExlbmd0aCx0KSlyZXR1cm4gdGhpcy5fbG9nU2xvd1Jlc29sdmluZ0FzeW5jKGkpLGk7cz10aGlzLl9wYXJzZVN0YWNrLmN1cnNvclN0YXJ0WCxyPXRoaXMuX3BhcnNlU3RhY2suY3Vyc29yU3RhcnRZLHRoaXMuX3BhcnNlU3RhY2sucGF1c2VkPSExLGUubGVuZ3RoPmImJihuPXRoaXMuX3BhcnNlU3RhY2sucG9zaXRpb24rYil9aWYodGhpcy5fbG9nU2VydmljZS5sb2dMZXZlbDw9di5Mb2dMZXZlbEVudW0uREVCVUcmJnRoaXMuX2xvZ1NlcnZpY2UuZGVidWcoXCJwYXJzaW5nIGRhdGFcIisoXCJzdHJpbmdcIj09dHlwZW9mIGU/YCBcIiR7ZX1cImA6YCBcIiR7QXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGUsKGU9PlN0cmluZy5mcm9tQ2hhckNvZGUoZSkpKS5qb2luKFwiXCIpfVwiYCksXCJzdHJpbmdcIj09dHlwZW9mIGU/ZS5zcGxpdChcIlwiKS5tYXAoKGU9PmUuY2hhckNvZGVBdCgwKSkpOmUpLHRoaXMuX3BhcnNlQnVmZmVyLmxlbmd0aDxlLmxlbmd0aCYmdGhpcy5fcGFyc2VCdWZmZXIubGVuZ3RoPGImJih0aGlzLl9wYXJzZUJ1ZmZlcj1uZXcgVWludDMyQXJyYXkoTWF0aC5taW4oZS5sZW5ndGgsYikpKSxvfHx0aGlzLl9kaXJ0eVJvd1RyYWNrZXIuY2xlYXJSYW5nZSgpLGUubGVuZ3RoPmIpZm9yKGxldCB0PW47dDxlLmxlbmd0aDt0Kz1iKXtjb25zdCBuPXQrYjxlLmxlbmd0aD90K2I6ZS5sZW5ndGgsbz1cInN0cmluZ1wiPT10eXBlb2YgZT90aGlzLl9zdHJpbmdEZWNvZGVyLmRlY29kZShlLnN1YnN0cmluZyh0LG4pLHRoaXMuX3BhcnNlQnVmZmVyKTp0aGlzLl91dGY4RGVjb2Rlci5kZWNvZGUoZS5zdWJhcnJheSh0LG4pLHRoaXMuX3BhcnNlQnVmZmVyKTtpZihpPXRoaXMuX3BhcnNlci5wYXJzZSh0aGlzLl9wYXJzZUJ1ZmZlcixvKSlyZXR1cm4gdGhpcy5fcHJlc2VydmVTdGFjayhzLHIsbyx0KSx0aGlzLl9sb2dTbG93UmVzb2x2aW5nQXN5bmMoaSksaX1lbHNlIGlmKCFvKXtjb25zdCB0PVwic3RyaW5nXCI9PXR5cGVvZiBlP3RoaXMuX3N0cmluZ0RlY29kZXIuZGVjb2RlKGUsdGhpcy5fcGFyc2VCdWZmZXIpOnRoaXMuX3V0ZjhEZWNvZGVyLmRlY29kZShlLHRoaXMuX3BhcnNlQnVmZmVyKTtpZihpPXRoaXMuX3BhcnNlci5wYXJzZSh0aGlzLl9wYXJzZUJ1ZmZlcix0KSlyZXR1cm4gdGhpcy5fcHJlc2VydmVTdGFjayhzLHIsdCwwKSx0aGlzLl9sb2dTbG93UmVzb2x2aW5nQXN5bmMoaSksaX10aGlzLl9hY3RpdmVCdWZmZXIueD09PXMmJnRoaXMuX2FjdGl2ZUJ1ZmZlci55PT09cnx8dGhpcy5fb25DdXJzb3JNb3ZlLmZpcmUoKTtjb25zdCBhPXRoaXMuX2RpcnR5Um93VHJhY2tlci5lbmQrKHRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLnliYXNlLXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLnlkaXNwKSxoPXRoaXMuX2RpcnR5Um93VHJhY2tlci5zdGFydCsodGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIueWJhc2UtdGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIueWRpc3ApO2g8dGhpcy5fYnVmZmVyU2VydmljZS5yb3dzJiZ0aGlzLl9vblJlcXVlc3RSZWZyZXNoUm93cy5maXJlKE1hdGgubWluKGgsdGhpcy5fYnVmZmVyU2VydmljZS5yb3dzLTEpLE1hdGgubWluKGEsdGhpcy5fYnVmZmVyU2VydmljZS5yb3dzLTEpKX1wcmludChlLHQsaSl7bGV0IHMscjtjb25zdCBuPXRoaXMuX2NoYXJzZXRTZXJ2aWNlLmNoYXJzZXQsbz10aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLnNjcmVlblJlYWRlck1vZGUsYT10aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMsaD10aGlzLl9jb3JlU2VydmljZS5kZWNQcml2YXRlTW9kZXMud3JhcGFyb3VuZCxkPXRoaXMuX2NvcmVTZXJ2aWNlLm1vZGVzLmluc2VydE1vZGUsdT10aGlzLl9jdXJBdHRyRGF0YTtsZXQgZj10aGlzLl9hY3RpdmVCdWZmZXIubGluZXMuZ2V0KHRoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZSt0aGlzLl9hY3RpdmVCdWZmZXIueSk7dGhpcy5fZGlydHlSb3dUcmFja2VyLm1hcmtEaXJ0eSh0aGlzLl9hY3RpdmVCdWZmZXIueSksdGhpcy5fYWN0aXZlQnVmZmVyLngmJmktdD4wJiYyPT09Zi5nZXRXaWR0aCh0aGlzLl9hY3RpdmVCdWZmZXIueC0xKSYmZi5zZXRDZWxsRnJvbUNvZGVwb2ludCh0aGlzLl9hY3RpdmVCdWZmZXIueC0xLDAsMSx1KTtsZXQgdj10aGlzLl9wYXJzZXIucHJlY2VkaW5nSm9pblN0YXRlO2ZvcihsZXQgZz10O2c8aTsrK2cpe2lmKHM9ZVtnXSxzPDEyNyYmbil7Y29uc3QgZT1uW1N0cmluZy5mcm9tQ2hhckNvZGUocyldO2UmJihzPWUuY2hhckNvZGVBdCgwKSl9Y29uc3QgdD10aGlzLl91bmljb2RlU2VydmljZS5jaGFyUHJvcGVydGllcyhzLHYpO3I9cC5Vbmljb2RlU2VydmljZS5leHRyYWN0V2lkdGgodCk7Y29uc3QgaT1wLlVuaWNvZGVTZXJ2aWNlLmV4dHJhY3RTaG91bGRKb2luKHQpLG09aT9wLlVuaWNvZGVTZXJ2aWNlLmV4dHJhY3RXaWR0aCh2KTowO2lmKHY9dCxvJiZ0aGlzLl9vbkExMXlDaGFyLmZpcmUoKDAsYy5zdHJpbmdGcm9tQ29kZVBvaW50KShzKSksdGhpcy5fZ2V0Q3VycmVudExpbmtJZCgpJiZ0aGlzLl9vc2NMaW5rU2VydmljZS5hZGRMaW5lVG9MaW5rKHRoaXMuX2dldEN1cnJlbnRMaW5rSWQoKSx0aGlzLl9hY3RpdmVCdWZmZXIueWJhc2UrdGhpcy5fYWN0aXZlQnVmZmVyLnkpLHRoaXMuX2FjdGl2ZUJ1ZmZlci54K3ItbT5hKWlmKGgpe2NvbnN0IGU9ZjtsZXQgdD10aGlzLl9hY3RpdmVCdWZmZXIueC1tO2Zvcih0aGlzLl9hY3RpdmVCdWZmZXIueD1tLHRoaXMuX2FjdGl2ZUJ1ZmZlci55KyssdGhpcy5fYWN0aXZlQnVmZmVyLnk9PT10aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tKzE/KHRoaXMuX2FjdGl2ZUJ1ZmZlci55LS0sdGhpcy5fYnVmZmVyU2VydmljZS5zY3JvbGwodGhpcy5fZXJhc2VBdHRyRGF0YSgpLCEwKSk6KHRoaXMuX2FjdGl2ZUJ1ZmZlci55Pj10aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MmJih0aGlzLl9hY3RpdmVCdWZmZXIueT10aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MtMSksdGhpcy5fYWN0aXZlQnVmZmVyLmxpbmVzLmdldCh0aGlzLl9hY3RpdmVCdWZmZXIueWJhc2UrdGhpcy5fYWN0aXZlQnVmZmVyLnkpLmlzV3JhcHBlZD0hMCksZj10aGlzLl9hY3RpdmVCdWZmZXIubGluZXMuZ2V0KHRoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZSt0aGlzLl9hY3RpdmVCdWZmZXIueSksbT4wJiZmIGluc3RhbmNlb2YgbC5CdWZmZXJMaW5lJiZmLmNvcHlDZWxsc0Zyb20oZSx0LDAsbSwhMSk7dDxhOyllLnNldENlbGxGcm9tQ29kZXBvaW50KHQrKywwLDEsdSl9ZWxzZSBpZih0aGlzLl9hY3RpdmVCdWZmZXIueD1hLTEsMj09PXIpY29udGludWU7aWYoaSYmdGhpcy5fYWN0aXZlQnVmZmVyLngpe2NvbnN0IGU9Zi5nZXRXaWR0aCh0aGlzLl9hY3RpdmVCdWZmZXIueC0xKT8xOjI7Zi5hZGRDb2RlcG9pbnRUb0NlbGwodGhpcy5fYWN0aXZlQnVmZmVyLngtZSxzLHIpO2ZvcihsZXQgZT1yLW07LS1lPj0wOylmLnNldENlbGxGcm9tQ29kZXBvaW50KHRoaXMuX2FjdGl2ZUJ1ZmZlci54KyssMCwwLHUpfWVsc2UgaWYoZCYmKGYuaW5zZXJ0Q2VsbHModGhpcy5fYWN0aXZlQnVmZmVyLngsci1tLHRoaXMuX2FjdGl2ZUJ1ZmZlci5nZXROdWxsQ2VsbCh1KSksMj09PWYuZ2V0V2lkdGgoYS0xKSYmZi5zZXRDZWxsRnJvbUNvZGVwb2ludChhLTEsXy5OVUxMX0NFTExfQ09ERSxfLk5VTExfQ0VMTF9XSURUSCx1KSksZi5zZXRDZWxsRnJvbUNvZGVwb2ludCh0aGlzLl9hY3RpdmVCdWZmZXIueCsrLHMscix1KSxyPjApZm9yKDstLXI7KWYuc2V0Q2VsbEZyb21Db2RlcG9pbnQodGhpcy5fYWN0aXZlQnVmZmVyLngrKywwLDAsdSl9dGhpcy5fcGFyc2VyLnByZWNlZGluZ0pvaW5TdGF0ZT12LHRoaXMuX2FjdGl2ZUJ1ZmZlci54PGEmJmktdD4wJiYwPT09Zi5nZXRXaWR0aCh0aGlzLl9hY3RpdmVCdWZmZXIueCkmJiFmLmhhc0NvbnRlbnQodGhpcy5fYWN0aXZlQnVmZmVyLngpJiZmLnNldENlbGxGcm9tQ29kZXBvaW50KHRoaXMuX2FjdGl2ZUJ1ZmZlci54LDAsMSx1KSx0aGlzLl9kaXJ0eVJvd1RyYWNrZXIubWFya0RpcnR5KHRoaXMuX2FjdGl2ZUJ1ZmZlci55KX1yZWdpc3RlckNzaUhhbmRsZXIoZSx0KXtyZXR1cm5cInRcIiE9PWUuZmluYWx8fGUucHJlZml4fHxlLmludGVybWVkaWF0ZXM/dGhpcy5fcGFyc2VyLnJlZ2lzdGVyQ3NpSGFuZGxlcihlLHQpOnRoaXMuX3BhcnNlci5yZWdpc3RlckNzaUhhbmRsZXIoZSwoZT0+IXcoZS5wYXJhbXNbMF0sdGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy53aW5kb3dPcHRpb25zKXx8dChlKSkpfXJlZ2lzdGVyRGNzSGFuZGxlcihlLHQpe3JldHVybiB0aGlzLl9wYXJzZXIucmVnaXN0ZXJEY3NIYW5kbGVyKGUsbmV3IG0uRGNzSGFuZGxlcih0KSl9cmVnaXN0ZXJFc2NIYW5kbGVyKGUsdCl7cmV0dXJuIHRoaXMuX3BhcnNlci5yZWdpc3RlckVzY0hhbmRsZXIoZSx0KX1yZWdpc3Rlck9zY0hhbmRsZXIoZSx0KXtyZXR1cm4gdGhpcy5fcGFyc2VyLnJlZ2lzdGVyT3NjSGFuZGxlcihlLG5ldyBnLk9zY0hhbmRsZXIodCkpfWJlbGwoKXtyZXR1cm4gdGhpcy5fb25SZXF1ZXN0QmVsbC5maXJlKCksITB9bGluZUZlZWQoKXtyZXR1cm4gdGhpcy5fZGlydHlSb3dUcmFja2VyLm1hcmtEaXJ0eSh0aGlzLl9hY3RpdmVCdWZmZXIueSksdGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5jb252ZXJ0RW9sJiYodGhpcy5fYWN0aXZlQnVmZmVyLng9MCksdGhpcy5fYWN0aXZlQnVmZmVyLnkrKyx0aGlzLl9hY3RpdmVCdWZmZXIueT09PXRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxCb3R0b20rMT8odGhpcy5fYWN0aXZlQnVmZmVyLnktLSx0aGlzLl9idWZmZXJTZXJ2aWNlLnNjcm9sbCh0aGlzLl9lcmFzZUF0dHJEYXRhKCkpKTp0aGlzLl9hY3RpdmVCdWZmZXIueT49dGhpcy5fYnVmZmVyU2VydmljZS5yb3dzP3RoaXMuX2FjdGl2ZUJ1ZmZlci55PXRoaXMuX2J1ZmZlclNlcnZpY2Uucm93cy0xOnRoaXMuX2FjdGl2ZUJ1ZmZlci5saW5lcy5nZXQodGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlK3RoaXMuX2FjdGl2ZUJ1ZmZlci55KS5pc1dyYXBwZWQ9ITEsdGhpcy5fYWN0aXZlQnVmZmVyLng+PXRoaXMuX2J1ZmZlclNlcnZpY2UuY29scyYmdGhpcy5fYWN0aXZlQnVmZmVyLngtLSx0aGlzLl9kaXJ0eVJvd1RyYWNrZXIubWFya0RpcnR5KHRoaXMuX2FjdGl2ZUJ1ZmZlci55KSx0aGlzLl9vbkxpbmVGZWVkLmZpcmUoKSwhMH1jYXJyaWFnZVJldHVybigpe3JldHVybiB0aGlzLl9hY3RpdmVCdWZmZXIueD0wLCEwfWJhY2tzcGFjZSgpe2lmKCF0aGlzLl9jb3JlU2VydmljZS5kZWNQcml2YXRlTW9kZXMucmV2ZXJzZVdyYXBhcm91bmQpcmV0dXJuIHRoaXMuX3Jlc3RyaWN0Q3Vyc29yKCksdGhpcy5fYWN0aXZlQnVmZmVyLng+MCYmdGhpcy5fYWN0aXZlQnVmZmVyLngtLSwhMDtpZih0aGlzLl9yZXN0cmljdEN1cnNvcih0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMpLHRoaXMuX2FjdGl2ZUJ1ZmZlci54PjApdGhpcy5fYWN0aXZlQnVmZmVyLngtLTtlbHNlIGlmKDA9PT10aGlzLl9hY3RpdmVCdWZmZXIueCYmdGhpcy5fYWN0aXZlQnVmZmVyLnk+dGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbFRvcCYmdGhpcy5fYWN0aXZlQnVmZmVyLnk8PXRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxCb3R0b20mJnRoaXMuX2FjdGl2ZUJ1ZmZlci5saW5lcy5nZXQodGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlK3RoaXMuX2FjdGl2ZUJ1ZmZlci55KT8uaXNXcmFwcGVkKXt0aGlzLl9hY3RpdmVCdWZmZXIubGluZXMuZ2V0KHRoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZSt0aGlzLl9hY3RpdmVCdWZmZXIueSkuaXNXcmFwcGVkPSExLHRoaXMuX2FjdGl2ZUJ1ZmZlci55LS0sdGhpcy5fYWN0aXZlQnVmZmVyLng9dGhpcy5fYnVmZmVyU2VydmljZS5jb2xzLTE7Y29uc3QgZT10aGlzLl9hY3RpdmVCdWZmZXIubGluZXMuZ2V0KHRoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZSt0aGlzLl9hY3RpdmVCdWZmZXIueSk7ZS5oYXNXaWR0aCh0aGlzLl9hY3RpdmVCdWZmZXIueCkmJiFlLmhhc0NvbnRlbnQodGhpcy5fYWN0aXZlQnVmZmVyLngpJiZ0aGlzLl9hY3RpdmVCdWZmZXIueC0tfXJldHVybiB0aGlzLl9yZXN0cmljdEN1cnNvcigpLCEwfXRhYigpe2lmKHRoaXMuX2FjdGl2ZUJ1ZmZlci54Pj10aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMpcmV0dXJuITA7Y29uc3QgZT10aGlzLl9hY3RpdmVCdWZmZXIueDtyZXR1cm4gdGhpcy5fYWN0aXZlQnVmZmVyLng9dGhpcy5fYWN0aXZlQnVmZmVyLm5leHRTdG9wKCksdGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5zY3JlZW5SZWFkZXJNb2RlJiZ0aGlzLl9vbkExMXlUYWIuZmlyZSh0aGlzLl9hY3RpdmVCdWZmZXIueC1lKSwhMH1zaGlmdE91dCgpe3JldHVybiB0aGlzLl9jaGFyc2V0U2VydmljZS5zZXRnTGV2ZWwoMSksITB9c2hpZnRJbigpe3JldHVybiB0aGlzLl9jaGFyc2V0U2VydmljZS5zZXRnTGV2ZWwoMCksITB9X3Jlc3RyaWN0Q3Vyc29yKGU9dGhpcy5fYnVmZmVyU2VydmljZS5jb2xzLTEpe3RoaXMuX2FjdGl2ZUJ1ZmZlci54PU1hdGgubWluKGUsTWF0aC5tYXgoMCx0aGlzLl9hY3RpdmVCdWZmZXIueCkpLHRoaXMuX2FjdGl2ZUJ1ZmZlci55PXRoaXMuX2NvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcy5vcmlnaW4/TWF0aC5taW4odGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbEJvdHRvbSxNYXRoLm1heCh0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsVG9wLHRoaXMuX2FjdGl2ZUJ1ZmZlci55KSk6TWF0aC5taW4odGhpcy5fYnVmZmVyU2VydmljZS5yb3dzLTEsTWF0aC5tYXgoMCx0aGlzLl9hY3RpdmVCdWZmZXIueSkpLHRoaXMuX2RpcnR5Um93VHJhY2tlci5tYXJrRGlydHkodGhpcy5fYWN0aXZlQnVmZmVyLnkpfV9zZXRDdXJzb3IoZSx0KXt0aGlzLl9kaXJ0eVJvd1RyYWNrZXIubWFya0RpcnR5KHRoaXMuX2FjdGl2ZUJ1ZmZlci55KSx0aGlzLl9jb3JlU2VydmljZS5kZWNQcml2YXRlTW9kZXMub3JpZ2luPyh0aGlzLl9hY3RpdmVCdWZmZXIueD1lLHRoaXMuX2FjdGl2ZUJ1ZmZlci55PXRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxUb3ArdCk6KHRoaXMuX2FjdGl2ZUJ1ZmZlci54PWUsdGhpcy5fYWN0aXZlQnVmZmVyLnk9dCksdGhpcy5fcmVzdHJpY3RDdXJzb3IoKSx0aGlzLl9kaXJ0eVJvd1RyYWNrZXIubWFya0RpcnR5KHRoaXMuX2FjdGl2ZUJ1ZmZlci55KX1fbW92ZUN1cnNvcihlLHQpe3RoaXMuX3Jlc3RyaWN0Q3Vyc29yKCksdGhpcy5fc2V0Q3Vyc29yKHRoaXMuX2FjdGl2ZUJ1ZmZlci54K2UsdGhpcy5fYWN0aXZlQnVmZmVyLnkrdCl9Y3Vyc29yVXAoZSl7Y29uc3QgdD10aGlzLl9hY3RpdmVCdWZmZXIueS10aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsVG9wO3JldHVybiB0Pj0wP3RoaXMuX21vdmVDdXJzb3IoMCwtTWF0aC5taW4odCxlLnBhcmFtc1swXXx8MSkpOnRoaXMuX21vdmVDdXJzb3IoMCwtKGUucGFyYW1zWzBdfHwxKSksITB9Y3Vyc29yRG93bihlKXtjb25zdCB0PXRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxCb3R0b20tdGhpcy5fYWN0aXZlQnVmZmVyLnk7cmV0dXJuIHQ+PTA/dGhpcy5fbW92ZUN1cnNvcigwLE1hdGgubWluKHQsZS5wYXJhbXNbMF18fDEpKTp0aGlzLl9tb3ZlQ3Vyc29yKDAsZS5wYXJhbXNbMF18fDEpLCEwfWN1cnNvckZvcndhcmQoZSl7cmV0dXJuIHRoaXMuX21vdmVDdXJzb3IoZS5wYXJhbXNbMF18fDEsMCksITB9Y3Vyc29yQmFja3dhcmQoZSl7cmV0dXJuIHRoaXMuX21vdmVDdXJzb3IoLShlLnBhcmFtc1swXXx8MSksMCksITB9Y3Vyc29yTmV4dExpbmUoZSl7cmV0dXJuIHRoaXMuY3Vyc29yRG93bihlKSx0aGlzLl9hY3RpdmVCdWZmZXIueD0wLCEwfWN1cnNvclByZWNlZGluZ0xpbmUoZSl7cmV0dXJuIHRoaXMuY3Vyc29yVXAoZSksdGhpcy5fYWN0aXZlQnVmZmVyLng9MCwhMH1jdXJzb3JDaGFyQWJzb2x1dGUoZSl7cmV0dXJuIHRoaXMuX3NldEN1cnNvcigoZS5wYXJhbXNbMF18fDEpLTEsdGhpcy5fYWN0aXZlQnVmZmVyLnkpLCEwfWN1cnNvclBvc2l0aW9uKGUpe3JldHVybiB0aGlzLl9zZXRDdXJzb3IoZS5sZW5ndGg+PTI/KGUucGFyYW1zWzFdfHwxKS0xOjAsKGUucGFyYW1zWzBdfHwxKS0xKSwhMH1jaGFyUG9zQWJzb2x1dGUoZSl7cmV0dXJuIHRoaXMuX3NldEN1cnNvcigoZS5wYXJhbXNbMF18fDEpLTEsdGhpcy5fYWN0aXZlQnVmZmVyLnkpLCEwfWhQb3NpdGlvblJlbGF0aXZlKGUpe3JldHVybiB0aGlzLl9tb3ZlQ3Vyc29yKGUucGFyYW1zWzBdfHwxLDApLCEwfWxpbmVQb3NBYnNvbHV0ZShlKXtyZXR1cm4gdGhpcy5fc2V0Q3Vyc29yKHRoaXMuX2FjdGl2ZUJ1ZmZlci54LChlLnBhcmFtc1swXXx8MSktMSksITB9dlBvc2l0aW9uUmVsYXRpdmUoZSl7cmV0dXJuIHRoaXMuX21vdmVDdXJzb3IoMCxlLnBhcmFtc1swXXx8MSksITB9aFZQb3NpdGlvbihlKXtyZXR1cm4gdGhpcy5jdXJzb3JQb3NpdGlvbihlKSwhMH10YWJDbGVhcihlKXtjb25zdCB0PWUucGFyYW1zWzBdO3JldHVybiAwPT09dD9kZWxldGUgdGhpcy5fYWN0aXZlQnVmZmVyLnRhYnNbdGhpcy5fYWN0aXZlQnVmZmVyLnhdOjM9PT10JiYodGhpcy5fYWN0aXZlQnVmZmVyLnRhYnM9e30pLCEwfWN1cnNvckZvcndhcmRUYWIoZSl7aWYodGhpcy5fYWN0aXZlQnVmZmVyLng+PXRoaXMuX2J1ZmZlclNlcnZpY2UuY29scylyZXR1cm4hMDtsZXQgdD1lLnBhcmFtc1swXXx8MTtmb3IoO3QtLTspdGhpcy5fYWN0aXZlQnVmZmVyLng9dGhpcy5fYWN0aXZlQnVmZmVyLm5leHRTdG9wKCk7cmV0dXJuITB9Y3Vyc29yQmFja3dhcmRUYWIoZSl7aWYodGhpcy5fYWN0aXZlQnVmZmVyLng+PXRoaXMuX2J1ZmZlclNlcnZpY2UuY29scylyZXR1cm4hMDtsZXQgdD1lLnBhcmFtc1swXXx8MTtmb3IoO3QtLTspdGhpcy5fYWN0aXZlQnVmZmVyLng9dGhpcy5fYWN0aXZlQnVmZmVyLnByZXZTdG9wKCk7cmV0dXJuITB9c2VsZWN0UHJvdGVjdGVkKGUpe2NvbnN0IHQ9ZS5wYXJhbXNbMF07cmV0dXJuIDE9PT10JiYodGhpcy5fY3VyQXR0ckRhdGEuYmd8PTUzNjg3MDkxMiksMiE9PXQmJjAhPT10fHwodGhpcy5fY3VyQXR0ckRhdGEuYmcmPS01MzY4NzA5MTMpLCEwfV9lcmFzZUluQnVmZmVyTGluZShlLHQsaSxzPSExLHI9ITEpe2NvbnN0IG49dGhpcy5fYWN0aXZlQnVmZmVyLmxpbmVzLmdldCh0aGlzLl9hY3RpdmVCdWZmZXIueWJhc2UrZSk7bi5yZXBsYWNlQ2VsbHModCxpLHRoaXMuX2FjdGl2ZUJ1ZmZlci5nZXROdWxsQ2VsbCh0aGlzLl9lcmFzZUF0dHJEYXRhKCkpLHIpLHMmJihuLmlzV3JhcHBlZD0hMSl9X3Jlc2V0QnVmZmVyTGluZShlLHQ9ITEpe2NvbnN0IGk9dGhpcy5fYWN0aXZlQnVmZmVyLmxpbmVzLmdldCh0aGlzLl9hY3RpdmVCdWZmZXIueWJhc2UrZSk7aSYmKGkuZmlsbCh0aGlzLl9hY3RpdmVCdWZmZXIuZ2V0TnVsbENlbGwodGhpcy5fZXJhc2VBdHRyRGF0YSgpKSx0KSx0aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci5jbGVhck1hcmtlcnModGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlK2UpLGkuaXNXcmFwcGVkPSExKX1lcmFzZUluRGlzcGxheShlLHQ9ITEpe2xldCBpO3N3aXRjaCh0aGlzLl9yZXN0cmljdEN1cnNvcih0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMpLGUucGFyYW1zWzBdKXtjYXNlIDA6Zm9yKGk9dGhpcy5fYWN0aXZlQnVmZmVyLnksdGhpcy5fZGlydHlSb3dUcmFja2VyLm1hcmtEaXJ0eShpKSx0aGlzLl9lcmFzZUluQnVmZmVyTGluZShpKyssdGhpcy5fYWN0aXZlQnVmZmVyLngsdGhpcy5fYnVmZmVyU2VydmljZS5jb2xzLDA9PT10aGlzLl9hY3RpdmVCdWZmZXIueCx0KTtpPHRoaXMuX2J1ZmZlclNlcnZpY2Uucm93cztpKyspdGhpcy5fcmVzZXRCdWZmZXJMaW5lKGksdCk7dGhpcy5fZGlydHlSb3dUcmFja2VyLm1hcmtEaXJ0eShpKTticmVhaztjYXNlIDE6Zm9yKGk9dGhpcy5fYWN0aXZlQnVmZmVyLnksdGhpcy5fZGlydHlSb3dUcmFja2VyLm1hcmtEaXJ0eShpKSx0aGlzLl9lcmFzZUluQnVmZmVyTGluZShpLDAsdGhpcy5fYWN0aXZlQnVmZmVyLngrMSwhMCx0KSx0aGlzLl9hY3RpdmVCdWZmZXIueCsxPj10aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMmJih0aGlzLl9hY3RpdmVCdWZmZXIubGluZXMuZ2V0KGkrMSkuaXNXcmFwcGVkPSExKTtpLS07KXRoaXMuX3Jlc2V0QnVmZmVyTGluZShpLHQpO3RoaXMuX2RpcnR5Um93VHJhY2tlci5tYXJrRGlydHkoMCk7YnJlYWs7Y2FzZSAyOmZvcihpPXRoaXMuX2J1ZmZlclNlcnZpY2Uucm93cyx0aGlzLl9kaXJ0eVJvd1RyYWNrZXIubWFya0RpcnR5KGktMSk7aS0tOyl0aGlzLl9yZXNldEJ1ZmZlckxpbmUoaSx0KTt0aGlzLl9kaXJ0eVJvd1RyYWNrZXIubWFya0RpcnR5KDApO2JyZWFrO2Nhc2UgMzpjb25zdCBlPXRoaXMuX2FjdGl2ZUJ1ZmZlci5saW5lcy5sZW5ndGgtdGhpcy5fYnVmZmVyU2VydmljZS5yb3dzO2U+MCYmKHRoaXMuX2FjdGl2ZUJ1ZmZlci5saW5lcy50cmltU3RhcnQoZSksdGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlPU1hdGgubWF4KHRoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZS1lLDApLHRoaXMuX2FjdGl2ZUJ1ZmZlci55ZGlzcD1NYXRoLm1heCh0aGlzLl9hY3RpdmVCdWZmZXIueWRpc3AtZSwwKSx0aGlzLl9vblNjcm9sbC5maXJlKDApKX1yZXR1cm4hMH1lcmFzZUluTGluZShlLHQ9ITEpe3N3aXRjaCh0aGlzLl9yZXN0cmljdEN1cnNvcih0aGlzLl9idWZmZXJTZXJ2aWNlLmNvbHMpLGUucGFyYW1zWzBdKXtjYXNlIDA6dGhpcy5fZXJhc2VJbkJ1ZmZlckxpbmUodGhpcy5fYWN0aXZlQnVmZmVyLnksdGhpcy5fYWN0aXZlQnVmZmVyLngsdGhpcy5fYnVmZmVyU2VydmljZS5jb2xzLDA9PT10aGlzLl9hY3RpdmVCdWZmZXIueCx0KTticmVhaztjYXNlIDE6dGhpcy5fZXJhc2VJbkJ1ZmZlckxpbmUodGhpcy5fYWN0aXZlQnVmZmVyLnksMCx0aGlzLl9hY3RpdmVCdWZmZXIueCsxLCExLHQpO2JyZWFrO2Nhc2UgMjp0aGlzLl9lcmFzZUluQnVmZmVyTGluZSh0aGlzLl9hY3RpdmVCdWZmZXIueSwwLHRoaXMuX2J1ZmZlclNlcnZpY2UuY29scywhMCx0KX1yZXR1cm4gdGhpcy5fZGlydHlSb3dUcmFja2VyLm1hcmtEaXJ0eSh0aGlzLl9hY3RpdmVCdWZmZXIueSksITB9aW5zZXJ0TGluZXMoZSl7dGhpcy5fcmVzdHJpY3RDdXJzb3IoKTtsZXQgdD1lLnBhcmFtc1swXXx8MTtpZih0aGlzLl9hY3RpdmVCdWZmZXIueT50aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tfHx0aGlzLl9hY3RpdmVCdWZmZXIueTx0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsVG9wKXJldHVybiEwO2NvbnN0IGk9dGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlK3RoaXMuX2FjdGl2ZUJ1ZmZlci55LHM9dGhpcy5fYnVmZmVyU2VydmljZS5yb3dzLTEtdGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbEJvdHRvbSxyPXRoaXMuX2J1ZmZlclNlcnZpY2Uucm93cy0xK3RoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZS1zKzE7Zm9yKDt0LS07KXRoaXMuX2FjdGl2ZUJ1ZmZlci5saW5lcy5zcGxpY2Uoci0xLDEpLHRoaXMuX2FjdGl2ZUJ1ZmZlci5saW5lcy5zcGxpY2UoaSwwLHRoaXMuX2FjdGl2ZUJ1ZmZlci5nZXRCbGFua0xpbmUodGhpcy5fZXJhc2VBdHRyRGF0YSgpKSk7cmV0dXJuIHRoaXMuX2RpcnR5Um93VHJhY2tlci5tYXJrUmFuZ2VEaXJ0eSh0aGlzLl9hY3RpdmVCdWZmZXIueSx0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tKSx0aGlzLl9hY3RpdmVCdWZmZXIueD0wLCEwfWRlbGV0ZUxpbmVzKGUpe3RoaXMuX3Jlc3RyaWN0Q3Vyc29yKCk7bGV0IHQ9ZS5wYXJhbXNbMF18fDE7aWYodGhpcy5fYWN0aXZlQnVmZmVyLnk+dGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbEJvdHRvbXx8dGhpcy5fYWN0aXZlQnVmZmVyLnk8dGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbFRvcClyZXR1cm4hMDtjb25zdCBpPXRoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZSt0aGlzLl9hY3RpdmVCdWZmZXIueTtsZXQgcztmb3Iocz10aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MtMS10aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tLHM9dGhpcy5fYnVmZmVyU2VydmljZS5yb3dzLTErdGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlLXM7dC0tOyl0aGlzLl9hY3RpdmVCdWZmZXIubGluZXMuc3BsaWNlKGksMSksdGhpcy5fYWN0aXZlQnVmZmVyLmxpbmVzLnNwbGljZShzLDAsdGhpcy5fYWN0aXZlQnVmZmVyLmdldEJsYW5rTGluZSh0aGlzLl9lcmFzZUF0dHJEYXRhKCkpKTtyZXR1cm4gdGhpcy5fZGlydHlSb3dUcmFja2VyLm1hcmtSYW5nZURpcnR5KHRoaXMuX2FjdGl2ZUJ1ZmZlci55LHRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxCb3R0b20pLHRoaXMuX2FjdGl2ZUJ1ZmZlci54PTAsITB9aW5zZXJ0Q2hhcnMoZSl7dGhpcy5fcmVzdHJpY3RDdXJzb3IoKTtjb25zdCB0PXRoaXMuX2FjdGl2ZUJ1ZmZlci5saW5lcy5nZXQodGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlK3RoaXMuX2FjdGl2ZUJ1ZmZlci55KTtyZXR1cm4gdCYmKHQuaW5zZXJ0Q2VsbHModGhpcy5fYWN0aXZlQnVmZmVyLngsZS5wYXJhbXNbMF18fDEsdGhpcy5fYWN0aXZlQnVmZmVyLmdldE51bGxDZWxsKHRoaXMuX2VyYXNlQXR0ckRhdGEoKSkpLHRoaXMuX2RpcnR5Um93VHJhY2tlci5tYXJrRGlydHkodGhpcy5fYWN0aXZlQnVmZmVyLnkpKSwhMH1kZWxldGVDaGFycyhlKXt0aGlzLl9yZXN0cmljdEN1cnNvcigpO2NvbnN0IHQ9dGhpcy5fYWN0aXZlQnVmZmVyLmxpbmVzLmdldCh0aGlzLl9hY3RpdmVCdWZmZXIueWJhc2UrdGhpcy5fYWN0aXZlQnVmZmVyLnkpO3JldHVybiB0JiYodC5kZWxldGVDZWxscyh0aGlzLl9hY3RpdmVCdWZmZXIueCxlLnBhcmFtc1swXXx8MSx0aGlzLl9hY3RpdmVCdWZmZXIuZ2V0TnVsbENlbGwodGhpcy5fZXJhc2VBdHRyRGF0YSgpKSksdGhpcy5fZGlydHlSb3dUcmFja2VyLm1hcmtEaXJ0eSh0aGlzLl9hY3RpdmVCdWZmZXIueSkpLCEwfXNjcm9sbFVwKGUpe2xldCB0PWUucGFyYW1zWzBdfHwxO2Zvcig7dC0tOyl0aGlzLl9hY3RpdmVCdWZmZXIubGluZXMuc3BsaWNlKHRoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZSt0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsVG9wLDEpLHRoaXMuX2FjdGl2ZUJ1ZmZlci5saW5lcy5zcGxpY2UodGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlK3RoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxCb3R0b20sMCx0aGlzLl9hY3RpdmVCdWZmZXIuZ2V0QmxhbmtMaW5lKHRoaXMuX2VyYXNlQXR0ckRhdGEoKSkpO3JldHVybiB0aGlzLl9kaXJ0eVJvd1RyYWNrZXIubWFya1JhbmdlRGlydHkodGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbFRvcCx0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tKSwhMH1zY3JvbGxEb3duKGUpe2xldCB0PWUucGFyYW1zWzBdfHwxO2Zvcig7dC0tOyl0aGlzLl9hY3RpdmVCdWZmZXIubGluZXMuc3BsaWNlKHRoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZSt0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tLDEpLHRoaXMuX2FjdGl2ZUJ1ZmZlci5saW5lcy5zcGxpY2UodGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlK3RoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxUb3AsMCx0aGlzLl9hY3RpdmVCdWZmZXIuZ2V0QmxhbmtMaW5lKGwuREVGQVVMVF9BVFRSX0RBVEEpKTtyZXR1cm4gdGhpcy5fZGlydHlSb3dUcmFja2VyLm1hcmtSYW5nZURpcnR5KHRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxUb3AsdGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbEJvdHRvbSksITB9c2Nyb2xsTGVmdChlKXtpZih0aGlzLl9hY3RpdmVCdWZmZXIueT50aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tfHx0aGlzLl9hY3RpdmVCdWZmZXIueTx0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsVG9wKXJldHVybiEwO2NvbnN0IHQ9ZS5wYXJhbXNbMF18fDE7Zm9yKGxldCBlPXRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxUb3A7ZTw9dGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbEJvdHRvbTsrK2Upe2NvbnN0IGk9dGhpcy5fYWN0aXZlQnVmZmVyLmxpbmVzLmdldCh0aGlzLl9hY3RpdmVCdWZmZXIueWJhc2UrZSk7aS5kZWxldGVDZWxscygwLHQsdGhpcy5fYWN0aXZlQnVmZmVyLmdldE51bGxDZWxsKHRoaXMuX2VyYXNlQXR0ckRhdGEoKSkpLGkuaXNXcmFwcGVkPSExfXJldHVybiB0aGlzLl9kaXJ0eVJvd1RyYWNrZXIubWFya1JhbmdlRGlydHkodGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbFRvcCx0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tKSwhMH1zY3JvbGxSaWdodChlKXtpZih0aGlzLl9hY3RpdmVCdWZmZXIueT50aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tfHx0aGlzLl9hY3RpdmVCdWZmZXIueTx0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsVG9wKXJldHVybiEwO2NvbnN0IHQ9ZS5wYXJhbXNbMF18fDE7Zm9yKGxldCBlPXRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxUb3A7ZTw9dGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbEJvdHRvbTsrK2Upe2NvbnN0IGk9dGhpcy5fYWN0aXZlQnVmZmVyLmxpbmVzLmdldCh0aGlzLl9hY3RpdmVCdWZmZXIueWJhc2UrZSk7aS5pbnNlcnRDZWxscygwLHQsdGhpcy5fYWN0aXZlQnVmZmVyLmdldE51bGxDZWxsKHRoaXMuX2VyYXNlQXR0ckRhdGEoKSkpLGkuaXNXcmFwcGVkPSExfXJldHVybiB0aGlzLl9kaXJ0eVJvd1RyYWNrZXIubWFya1JhbmdlRGlydHkodGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbFRvcCx0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tKSwhMH1pbnNlcnRDb2x1bW5zKGUpe2lmKHRoaXMuX2FjdGl2ZUJ1ZmZlci55PnRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxCb3R0b218fHRoaXMuX2FjdGl2ZUJ1ZmZlci55PHRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxUb3ApcmV0dXJuITA7Y29uc3QgdD1lLnBhcmFtc1swXXx8MTtmb3IobGV0IGU9dGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbFRvcDtlPD10aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tOysrZSl7Y29uc3QgaT10aGlzLl9hY3RpdmVCdWZmZXIubGluZXMuZ2V0KHRoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZStlKTtpLmluc2VydENlbGxzKHRoaXMuX2FjdGl2ZUJ1ZmZlci54LHQsdGhpcy5fYWN0aXZlQnVmZmVyLmdldE51bGxDZWxsKHRoaXMuX2VyYXNlQXR0ckRhdGEoKSkpLGkuaXNXcmFwcGVkPSExfXJldHVybiB0aGlzLl9kaXJ0eVJvd1RyYWNrZXIubWFya1JhbmdlRGlydHkodGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbFRvcCx0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tKSwhMH1kZWxldGVDb2x1bW5zKGUpe2lmKHRoaXMuX2FjdGl2ZUJ1ZmZlci55PnRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxCb3R0b218fHRoaXMuX2FjdGl2ZUJ1ZmZlci55PHRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxUb3ApcmV0dXJuITA7Y29uc3QgdD1lLnBhcmFtc1swXXx8MTtmb3IobGV0IGU9dGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbFRvcDtlPD10aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tOysrZSl7Y29uc3QgaT10aGlzLl9hY3RpdmVCdWZmZXIubGluZXMuZ2V0KHRoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZStlKTtpLmRlbGV0ZUNlbGxzKHRoaXMuX2FjdGl2ZUJ1ZmZlci54LHQsdGhpcy5fYWN0aXZlQnVmZmVyLmdldE51bGxDZWxsKHRoaXMuX2VyYXNlQXR0ckRhdGEoKSkpLGkuaXNXcmFwcGVkPSExfXJldHVybiB0aGlzLl9kaXJ0eVJvd1RyYWNrZXIubWFya1JhbmdlRGlydHkodGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbFRvcCx0aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tKSwhMH1lcmFzZUNoYXJzKGUpe3RoaXMuX3Jlc3RyaWN0Q3Vyc29yKCk7Y29uc3QgdD10aGlzLl9hY3RpdmVCdWZmZXIubGluZXMuZ2V0KHRoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZSt0aGlzLl9hY3RpdmVCdWZmZXIueSk7cmV0dXJuIHQmJih0LnJlcGxhY2VDZWxscyh0aGlzLl9hY3RpdmVCdWZmZXIueCx0aGlzLl9hY3RpdmVCdWZmZXIueCsoZS5wYXJhbXNbMF18fDEpLHRoaXMuX2FjdGl2ZUJ1ZmZlci5nZXROdWxsQ2VsbCh0aGlzLl9lcmFzZUF0dHJEYXRhKCkpKSx0aGlzLl9kaXJ0eVJvd1RyYWNrZXIubWFya0RpcnR5KHRoaXMuX2FjdGl2ZUJ1ZmZlci55KSksITB9cmVwZWF0UHJlY2VkaW5nQ2hhcmFjdGVyKGUpe2NvbnN0IHQ9dGhpcy5fcGFyc2VyLnByZWNlZGluZ0pvaW5TdGF0ZTtpZighdClyZXR1cm4hMDtjb25zdCBpPWUucGFyYW1zWzBdfHwxLHM9cC5Vbmljb2RlU2VydmljZS5leHRyYWN0V2lkdGgodCkscj10aGlzLl9hY3RpdmVCdWZmZXIueC1zLG49dGhpcy5fYWN0aXZlQnVmZmVyLmxpbmVzLmdldCh0aGlzLl9hY3RpdmVCdWZmZXIueWJhc2UrdGhpcy5fYWN0aXZlQnVmZmVyLnkpLmdldFN0cmluZyhyKSxvPW5ldyBVaW50MzJBcnJheShuLmxlbmd0aCppKTtsZXQgYT0wO2ZvcihsZXQgZT0wO2U8bi5sZW5ndGg7KXtjb25zdCB0PW4uY29kZVBvaW50QXQoZSl8fDA7b1thKytdPXQsZSs9dD42NTUzNT8yOjF9bGV0IGg9YTtmb3IobGV0IGU9MTtlPGk7KytlKW8uY29weVdpdGhpbihoLDAsYSksaCs9YTtyZXR1cm4gdGhpcy5wcmludChvLDAsaCksITB9c2VuZERldmljZUF0dHJpYnV0ZXNQcmltYXJ5KGUpe3JldHVybiBlLnBhcmFtc1swXT4wfHwodGhpcy5faXMoXCJ4dGVybVwiKXx8dGhpcy5faXMoXCJyeHZ0LXVuaWNvZGVcIil8fHRoaXMuX2lzKFwic2NyZWVuXCIpP3RoaXMuX2NvcmVTZXJ2aWNlLnRyaWdnZXJEYXRhRXZlbnQobi5DMC5FU0MrXCJbPzE7MmNcIik6dGhpcy5faXMoXCJsaW51eFwiKSYmdGhpcy5fY29yZVNlcnZpY2UudHJpZ2dlckRhdGFFdmVudChuLkMwLkVTQytcIls/NmNcIikpLCEwfXNlbmREZXZpY2VBdHRyaWJ1dGVzU2Vjb25kYXJ5KGUpe3JldHVybiBlLnBhcmFtc1swXT4wfHwodGhpcy5faXMoXCJ4dGVybVwiKT90aGlzLl9jb3JlU2VydmljZS50cmlnZ2VyRGF0YUV2ZW50KG4uQzAuRVNDK1wiWz4wOzI3NjswY1wiKTp0aGlzLl9pcyhcInJ4dnQtdW5pY29kZVwiKT90aGlzLl9jb3JlU2VydmljZS50cmlnZ2VyRGF0YUV2ZW50KG4uQzAuRVNDK1wiWz44NTs5NTswY1wiKTp0aGlzLl9pcyhcImxpbnV4XCIpP3RoaXMuX2NvcmVTZXJ2aWNlLnRyaWdnZXJEYXRhRXZlbnQoZS5wYXJhbXNbMF0rXCJjXCIpOnRoaXMuX2lzKFwic2NyZWVuXCIpJiZ0aGlzLl9jb3JlU2VydmljZS50cmlnZ2VyRGF0YUV2ZW50KG4uQzAuRVNDK1wiWz44Mzs0MDAwMzswY1wiKSksITB9X2lzKGUpe3JldHVybiAwPT09KHRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMudGVybU5hbWUrXCJcIikuaW5kZXhPZihlKX1zZXRNb2RlKGUpe2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKXN3aXRjaChlLnBhcmFtc1t0XSl7Y2FzZSA0OnRoaXMuX2NvcmVTZXJ2aWNlLm1vZGVzLmluc2VydE1vZGU9ITA7YnJlYWs7Y2FzZSAyMDp0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLmNvbnZlcnRFb2w9ITB9cmV0dXJuITB9c2V0TW9kZVByaXZhdGUoZSl7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspc3dpdGNoKGUucGFyYW1zW3RdKXtjYXNlIDE6dGhpcy5fY29yZVNlcnZpY2UuZGVjUHJpdmF0ZU1vZGVzLmFwcGxpY2F0aW9uQ3Vyc29yS2V5cz0hMDticmVhaztjYXNlIDI6dGhpcy5fY2hhcnNldFNlcnZpY2Uuc2V0Z0NoYXJzZXQoMCxvLkRFRkFVTFRfQ0hBUlNFVCksdGhpcy5fY2hhcnNldFNlcnZpY2Uuc2V0Z0NoYXJzZXQoMSxvLkRFRkFVTFRfQ0hBUlNFVCksdGhpcy5fY2hhcnNldFNlcnZpY2Uuc2V0Z0NoYXJzZXQoMixvLkRFRkFVTFRfQ0hBUlNFVCksdGhpcy5fY2hhcnNldFNlcnZpY2Uuc2V0Z0NoYXJzZXQoMyxvLkRFRkFVTFRfQ0hBUlNFVCk7YnJlYWs7Y2FzZSAzOnRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMud2luZG93T3B0aW9ucy5zZXRXaW5MaW5lcyYmKHRoaXMuX2J1ZmZlclNlcnZpY2UucmVzaXplKDEzMix0aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MpLHRoaXMuX29uUmVxdWVzdFJlc2V0LmZpcmUoKSk7YnJlYWs7Y2FzZSA2OnRoaXMuX2NvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcy5vcmlnaW49ITAsdGhpcy5fc2V0Q3Vyc29yKDAsMCk7YnJlYWs7Y2FzZSA3OnRoaXMuX2NvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcy53cmFwYXJvdW5kPSEwO2JyZWFrO2Nhc2UgMTI6dGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy5jdXJzb3JCbGluaz0hMDticmVhaztjYXNlIDQ1OnRoaXMuX2NvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcy5yZXZlcnNlV3JhcGFyb3VuZD0hMDticmVhaztjYXNlIDY2OnRoaXMuX2xvZ1NlcnZpY2UuZGVidWcoXCJTZXJpYWwgcG9ydCByZXF1ZXN0ZWQgYXBwbGljYXRpb24ga2V5cGFkLlwiKSx0aGlzLl9jb3JlU2VydmljZS5kZWNQcml2YXRlTW9kZXMuYXBwbGljYXRpb25LZXlwYWQ9ITAsdGhpcy5fb25SZXF1ZXN0U3luY1Njcm9sbEJhci5maXJlKCk7YnJlYWs7Y2FzZSA5OnRoaXMuX2NvcmVNb3VzZVNlcnZpY2UuYWN0aXZlUHJvdG9jb2w9XCJYMTBcIjticmVhaztjYXNlIDFlMzp0aGlzLl9jb3JlTW91c2VTZXJ2aWNlLmFjdGl2ZVByb3RvY29sPVwiVlQyMDBcIjticmVhaztjYXNlIDEwMDI6dGhpcy5fY29yZU1vdXNlU2VydmljZS5hY3RpdmVQcm90b2NvbD1cIkRSQUdcIjticmVhaztjYXNlIDEwMDM6dGhpcy5fY29yZU1vdXNlU2VydmljZS5hY3RpdmVQcm90b2NvbD1cIkFOWVwiO2JyZWFrO2Nhc2UgMTAwNDp0aGlzLl9jb3JlU2VydmljZS5kZWNQcml2YXRlTW9kZXMuc2VuZEZvY3VzPSEwLHRoaXMuX29uUmVxdWVzdFNlbmRGb2N1cy5maXJlKCk7YnJlYWs7Y2FzZSAxMDA1OnRoaXMuX2xvZ1NlcnZpY2UuZGVidWcoXCJERUNTRVQgMTAwNSBub3Qgc3VwcG9ydGVkIChzZWUgIzI1MDcpXCIpO2JyZWFrO2Nhc2UgMTAwNjp0aGlzLl9jb3JlTW91c2VTZXJ2aWNlLmFjdGl2ZUVuY29kaW5nPVwiU0dSXCI7YnJlYWs7Y2FzZSAxMDE1OnRoaXMuX2xvZ1NlcnZpY2UuZGVidWcoXCJERUNTRVQgMTAxNSBub3Qgc3VwcG9ydGVkIChzZWUgIzI1MDcpXCIpO2JyZWFrO2Nhc2UgMTAxNjp0aGlzLl9jb3JlTW91c2VTZXJ2aWNlLmFjdGl2ZUVuY29kaW5nPVwiU0dSX1BJWEVMU1wiO2JyZWFrO2Nhc2UgMjU6dGhpcy5fY29yZVNlcnZpY2UuaXNDdXJzb3JIaWRkZW49ITE7YnJlYWs7Y2FzZSAxMDQ4OnRoaXMuc2F2ZUN1cnNvcigpO2JyZWFrO2Nhc2UgMTA0OTp0aGlzLnNhdmVDdXJzb3IoKTtjYXNlIDQ3OmNhc2UgMTA0Nzp0aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlcnMuYWN0aXZhdGVBbHRCdWZmZXIodGhpcy5fZXJhc2VBdHRyRGF0YSgpKSx0aGlzLl9jb3JlU2VydmljZS5pc0N1cnNvckluaXRpYWxpemVkPSEwLHRoaXMuX29uUmVxdWVzdFJlZnJlc2hSb3dzLmZpcmUoMCx0aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MtMSksdGhpcy5fb25SZXF1ZXN0U3luY1Njcm9sbEJhci5maXJlKCk7YnJlYWs7Y2FzZSAyMDA0OnRoaXMuX2NvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcy5icmFja2V0ZWRQYXN0ZU1vZGU9ITB9cmV0dXJuITB9cmVzZXRNb2RlKGUpe2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKXN3aXRjaChlLnBhcmFtc1t0XSl7Y2FzZSA0OnRoaXMuX2NvcmVTZXJ2aWNlLm1vZGVzLmluc2VydE1vZGU9ITE7YnJlYWs7Y2FzZSAyMDp0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLmNvbnZlcnRFb2w9ITF9cmV0dXJuITB9cmVzZXRNb2RlUHJpdmF0ZShlKXtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKylzd2l0Y2goZS5wYXJhbXNbdF0pe2Nhc2UgMTp0aGlzLl9jb3JlU2VydmljZS5kZWNQcml2YXRlTW9kZXMuYXBwbGljYXRpb25DdXJzb3JLZXlzPSExO2JyZWFrO2Nhc2UgMzp0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLndpbmRvd09wdGlvbnMuc2V0V2luTGluZXMmJih0aGlzLl9idWZmZXJTZXJ2aWNlLnJlc2l6ZSg4MCx0aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MpLHRoaXMuX29uUmVxdWVzdFJlc2V0LmZpcmUoKSk7YnJlYWs7Y2FzZSA2OnRoaXMuX2NvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcy5vcmlnaW49ITEsdGhpcy5fc2V0Q3Vyc29yKDAsMCk7YnJlYWs7Y2FzZSA3OnRoaXMuX2NvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcy53cmFwYXJvdW5kPSExO2JyZWFrO2Nhc2UgMTI6dGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy5jdXJzb3JCbGluaz0hMTticmVhaztjYXNlIDQ1OnRoaXMuX2NvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcy5yZXZlcnNlV3JhcGFyb3VuZD0hMTticmVhaztjYXNlIDY2OnRoaXMuX2xvZ1NlcnZpY2UuZGVidWcoXCJTd2l0Y2hpbmcgYmFjayB0byBub3JtYWwga2V5cGFkLlwiKSx0aGlzLl9jb3JlU2VydmljZS5kZWNQcml2YXRlTW9kZXMuYXBwbGljYXRpb25LZXlwYWQ9ITEsdGhpcy5fb25SZXF1ZXN0U3luY1Njcm9sbEJhci5maXJlKCk7YnJlYWs7Y2FzZSA5OmNhc2UgMWUzOmNhc2UgMTAwMjpjYXNlIDEwMDM6dGhpcy5fY29yZU1vdXNlU2VydmljZS5hY3RpdmVQcm90b2NvbD1cIk5PTkVcIjticmVhaztjYXNlIDEwMDQ6dGhpcy5fY29yZVNlcnZpY2UuZGVjUHJpdmF0ZU1vZGVzLnNlbmRGb2N1cz0hMTticmVhaztjYXNlIDEwMDU6dGhpcy5fbG9nU2VydmljZS5kZWJ1ZyhcIkRFQ1JTVCAxMDA1IG5vdCBzdXBwb3J0ZWQgKHNlZSAjMjUwNylcIik7YnJlYWs7Y2FzZSAxMDA2OmNhc2UgMTAxNjp0aGlzLl9jb3JlTW91c2VTZXJ2aWNlLmFjdGl2ZUVuY29kaW5nPVwiREVGQVVMVFwiO2JyZWFrO2Nhc2UgMTAxNTp0aGlzLl9sb2dTZXJ2aWNlLmRlYnVnKFwiREVDUlNUIDEwMTUgbm90IHN1cHBvcnRlZCAoc2VlICMyNTA3KVwiKTticmVhaztjYXNlIDI1OnRoaXMuX2NvcmVTZXJ2aWNlLmlzQ3Vyc29ySGlkZGVuPSEwO2JyZWFrO2Nhc2UgMTA0ODp0aGlzLnJlc3RvcmVDdXJzb3IoKTticmVhaztjYXNlIDEwNDk6Y2FzZSA0NzpjYXNlIDEwNDc6dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXJzLmFjdGl2YXRlTm9ybWFsQnVmZmVyKCksMTA0OT09PWUucGFyYW1zW3RdJiZ0aGlzLnJlc3RvcmVDdXJzb3IoKSx0aGlzLl9jb3JlU2VydmljZS5pc0N1cnNvckluaXRpYWxpemVkPSEwLHRoaXMuX29uUmVxdWVzdFJlZnJlc2hSb3dzLmZpcmUoMCx0aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MtMSksdGhpcy5fb25SZXF1ZXN0U3luY1Njcm9sbEJhci5maXJlKCk7YnJlYWs7Y2FzZSAyMDA0OnRoaXMuX2NvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcy5icmFja2V0ZWRQYXN0ZU1vZGU9ITF9cmV0dXJuITB9cmVxdWVzdE1vZGUoZSx0KXtjb25zdCBpPXRoaXMuX2NvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcyx7YWN0aXZlUHJvdG9jb2w6cyxhY3RpdmVFbmNvZGluZzpyfT10aGlzLl9jb3JlTW91c2VTZXJ2aWNlLG89dGhpcy5fY29yZVNlcnZpY2Use2J1ZmZlcnM6YSxjb2xzOmh9PXRoaXMuX2J1ZmZlclNlcnZpY2Use2FjdGl2ZTpjLGFsdDpsfT1hLGQ9dGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucyxfPWU9PmU/MToyLHU9ZS5wYXJhbXNbMF07cmV0dXJuIGY9dSx2PXQ/Mj09PXU/NDo0PT09dT9fKG8ubW9kZXMuaW5zZXJ0TW9kZSk6MTI9PT11PzM6MjA9PT11P18oZC5jb252ZXJ0RW9sKTowOjE9PT11P18oaS5hcHBsaWNhdGlvbkN1cnNvcktleXMpOjM9PT11P2Qud2luZG93T3B0aW9ucy5zZXRXaW5MaW5lcz84MD09PWg/MjoxMzI9PT1oPzE6MDowOjY9PT11P18oaS5vcmlnaW4pOjc9PT11P18oaS53cmFwYXJvdW5kKTo4PT09dT8zOjk9PT11P18oXCJYMTBcIj09PXMpOjEyPT09dT9fKGQuY3Vyc29yQmxpbmspOjI1PT09dT9fKCFvLmlzQ3Vyc29ySGlkZGVuKTo0NT09PXU/XyhpLnJldmVyc2VXcmFwYXJvdW5kKTo2Nj09PXU/XyhpLmFwcGxpY2F0aW9uS2V5cGFkKTo2Nz09PXU/NDoxZTM9PT11P18oXCJWVDIwMFwiPT09cyk6MTAwMj09PXU/XyhcIkRSQUdcIj09PXMpOjEwMDM9PT11P18oXCJBTllcIj09PXMpOjEwMDQ9PT11P18oaS5zZW5kRm9jdXMpOjEwMDU9PT11PzQ6MTAwNj09PXU/XyhcIlNHUlwiPT09cik6MTAxNT09PXU/NDoxMDE2PT09dT9fKFwiU0dSX1BJWEVMU1wiPT09cik6MTA0OD09PXU/MTo0Nz09PXV8fDEwNDc9PT11fHwxMDQ5PT09dT9fKGM9PT1sKToyMDA0PT09dT9fKGkuYnJhY2tldGVkUGFzdGVNb2RlKTowLG8udHJpZ2dlckRhdGFFdmVudChgJHtuLkMwLkVTQ31bJHt0P1wiXCI6XCI/XCJ9JHtmfTske3Z9JHlgKSwhMDt2YXIgZix2fV91cGRhdGVBdHRyQ29sb3IoZSx0LGkscyxyKXtyZXR1cm4gMj09PXQ/KGV8PTUwMzMxNjQ4LGUmPS0xNjc3NzIxNixlfD1mLkF0dHJpYnV0ZURhdGEuZnJvbUNvbG9yUkdCKFtpLHMscl0pKTo1PT09dCYmKGUmPS01MDMzMTkwNCxlfD0zMzU1NDQzMnwyNTUmaSksZX1fZXh0cmFjdENvbG9yKGUsdCxpKXtjb25zdCBzPVswLDAsLTEsMCwwLDBdO2xldCByPTAsbj0wO2Rve2lmKHNbbityXT1lLnBhcmFtc1t0K25dLGUuaGFzU3ViUGFyYW1zKHQrbikpe2NvbnN0IGk9ZS5nZXRTdWJQYXJhbXModCtuKTtsZXQgbz0wO2RvezU9PT1zWzFdJiYocj0xKSxzW24rbysxK3JdPWlbb119d2hpbGUoKytvPGkubGVuZ3RoJiZvK24rMStyPHMubGVuZ3RoKTticmVha31pZig1PT09c1sxXSYmbityPj0yfHwyPT09c1sxXSYmbityPj01KWJyZWFrO3NbMV0mJihyPTEpfXdoaWxlKCsrbit0PGUubGVuZ3RoJiZuK3I8cy5sZW5ndGgpO2ZvcihsZXQgZT0yO2U8cy5sZW5ndGg7KytlKS0xPT09c1tlXSYmKHNbZV09MCk7c3dpdGNoKHNbMF0pe2Nhc2UgMzg6aS5mZz10aGlzLl91cGRhdGVBdHRyQ29sb3IoaS5mZyxzWzFdLHNbM10sc1s0XSxzWzVdKTticmVhaztjYXNlIDQ4OmkuYmc9dGhpcy5fdXBkYXRlQXR0ckNvbG9yKGkuYmcsc1sxXSxzWzNdLHNbNF0sc1s1XSk7YnJlYWs7Y2FzZSA1ODppLmV4dGVuZGVkPWkuZXh0ZW5kZWQuY2xvbmUoKSxpLmV4dGVuZGVkLnVuZGVybGluZUNvbG9yPXRoaXMuX3VwZGF0ZUF0dHJDb2xvcihpLmV4dGVuZGVkLnVuZGVybGluZUNvbG9yLHNbMV0sc1szXSxzWzRdLHNbNV0pfXJldHVybiBufV9wcm9jZXNzVW5kZXJsaW5lKGUsdCl7dC5leHRlbmRlZD10LmV4dGVuZGVkLmNsb25lKCksKCF+ZXx8ZT41KSYmKGU9MSksdC5leHRlbmRlZC51bmRlcmxpbmVTdHlsZT1lLHQuZmd8PTI2ODQzNTQ1NiwwPT09ZSYmKHQuZmcmPS0yNjg0MzU0NTcpLHQudXBkYXRlRXh0ZW5kZWQoKX1fcHJvY2Vzc1NHUjAoZSl7ZS5mZz1sLkRFRkFVTFRfQVRUUl9EQVRBLmZnLGUuYmc9bC5ERUZBVUxUX0FUVFJfREFUQS5iZyxlLmV4dGVuZGVkPWUuZXh0ZW5kZWQuY2xvbmUoKSxlLmV4dGVuZGVkLnVuZGVybGluZVN0eWxlPTAsZS5leHRlbmRlZC51bmRlcmxpbmVDb2xvciY9LTY3MTA4ODY0LGUudXBkYXRlRXh0ZW5kZWQoKX1jaGFyQXR0cmlidXRlcyhlKXtpZigxPT09ZS5sZW5ndGgmJjA9PT1lLnBhcmFtc1swXSlyZXR1cm4gdGhpcy5fcHJvY2Vzc1NHUjAodGhpcy5fY3VyQXR0ckRhdGEpLCEwO2NvbnN0IHQ9ZS5sZW5ndGg7bGV0IGk7Y29uc3Qgcz10aGlzLl9jdXJBdHRyRGF0YTtmb3IobGV0IHI9MDtyPHQ7cisrKWk9ZS5wYXJhbXNbcl0saT49MzAmJmk8PTM3PyhzLmZnJj0tNTAzMzE5MDQscy5mZ3w9MTY3NzcyMTZ8aS0zMCk6aT49NDAmJmk8PTQ3PyhzLmJnJj0tNTAzMzE5MDQscy5iZ3w9MTY3NzcyMTZ8aS00MCk6aT49OTAmJmk8PTk3PyhzLmZnJj0tNTAzMzE5MDQscy5mZ3w9MTY3NzcyMjR8aS05MCk6aT49MTAwJiZpPD0xMDc/KHMuYmcmPS01MDMzMTkwNCxzLmJnfD0xNjc3NzIyNHxpLTEwMCk6MD09PWk/dGhpcy5fcHJvY2Vzc1NHUjAocyk6MT09PWk/cy5mZ3w9MTM0MjE3NzI4OjM9PT1pP3MuYmd8PTY3MTA4ODY0OjQ9PT1pPyhzLmZnfD0yNjg0MzU0NTYsdGhpcy5fcHJvY2Vzc1VuZGVybGluZShlLmhhc1N1YlBhcmFtcyhyKT9lLmdldFN1YlBhcmFtcyhyKVswXToxLHMpKTo1PT09aT9zLmZnfD01MzY4NzA5MTI6Nz09PWk/cy5mZ3w9NjcxMDg4NjQ6OD09PWk/cy5mZ3w9MTA3Mzc0MTgyNDo5PT09aT9zLmZnfD0yMTQ3NDgzNjQ4OjI9PT1pP3MuYmd8PTEzNDIxNzcyODoyMT09PWk/dGhpcy5fcHJvY2Vzc1VuZGVybGluZSgyLHMpOjIyPT09aT8ocy5mZyY9LTEzNDIxNzcyOSxzLmJnJj0tMTM0MjE3NzI5KToyMz09PWk/cy5iZyY9LTY3MTA4ODY1OjI0PT09aT8ocy5mZyY9LTI2ODQzNTQ1Nyx0aGlzLl9wcm9jZXNzVW5kZXJsaW5lKDAscykpOjI1PT09aT9zLmZnJj0tNTM2ODcwOTEzOjI3PT09aT9zLmZnJj0tNjcxMDg4NjU6Mjg9PT1pP3MuZmcmPS0xMDczNzQxODI1OjI5PT09aT9zLmZnJj0yMTQ3NDgzNjQ3OjM5PT09aT8ocy5mZyY9LTY3MTA4ODY0LHMuZmd8PTE2Nzc3MjE1JmwuREVGQVVMVF9BVFRSX0RBVEEuZmcpOjQ5PT09aT8ocy5iZyY9LTY3MTA4ODY0LHMuYmd8PTE2Nzc3MjE1JmwuREVGQVVMVF9BVFRSX0RBVEEuYmcpOjM4PT09aXx8NDg9PT1pfHw1OD09PWk/cis9dGhpcy5fZXh0cmFjdENvbG9yKGUscixzKTo1Mz09PWk/cy5iZ3w9MTA3Mzc0MTgyNDo1NT09PWk/cy5iZyY9LTEwNzM3NDE4MjU6NTk9PT1pPyhzLmV4dGVuZGVkPXMuZXh0ZW5kZWQuY2xvbmUoKSxzLmV4dGVuZGVkLnVuZGVybGluZUNvbG9yPS0xLHMudXBkYXRlRXh0ZW5kZWQoKSk6MTAwPT09aT8ocy5mZyY9LTY3MTA4ODY0LHMuZmd8PTE2Nzc3MjE1JmwuREVGQVVMVF9BVFRSX0RBVEEuZmcscy5iZyY9LTY3MTA4ODY0LHMuYmd8PTE2Nzc3MjE1JmwuREVGQVVMVF9BVFRSX0RBVEEuYmcpOnRoaXMuX2xvZ1NlcnZpY2UuZGVidWcoXCJVbmtub3duIFNHUiBhdHRyaWJ1dGU6ICVkLlwiLGkpO3JldHVybiEwfWRldmljZVN0YXR1cyhlKXtzd2l0Y2goZS5wYXJhbXNbMF0pe2Nhc2UgNTp0aGlzLl9jb3JlU2VydmljZS50cmlnZ2VyRGF0YUV2ZW50KGAke24uQzAuRVNDfVswbmApO2JyZWFrO2Nhc2UgNjpjb25zdCBlPXRoaXMuX2FjdGl2ZUJ1ZmZlci55KzEsdD10aGlzLl9hY3RpdmVCdWZmZXIueCsxO3RoaXMuX2NvcmVTZXJ2aWNlLnRyaWdnZXJEYXRhRXZlbnQoYCR7bi5DMC5FU0N9WyR7ZX07JHt0fVJgKX1yZXR1cm4hMH1kZXZpY2VTdGF0dXNQcml2YXRlKGUpe2lmKDY9PT1lLnBhcmFtc1swXSl7Y29uc3QgZT10aGlzLl9hY3RpdmVCdWZmZXIueSsxLHQ9dGhpcy5fYWN0aXZlQnVmZmVyLngrMTt0aGlzLl9jb3JlU2VydmljZS50cmlnZ2VyRGF0YUV2ZW50KGAke24uQzAuRVNDfVs/JHtlfTske3R9UmApfXJldHVybiEwfXNvZnRSZXNldChlKXtyZXR1cm4gdGhpcy5fY29yZVNlcnZpY2UuaXNDdXJzb3JIaWRkZW49ITEsdGhpcy5fb25SZXF1ZXN0U3luY1Njcm9sbEJhci5maXJlKCksdGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbFRvcD0wLHRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxCb3R0b209dGhpcy5fYnVmZmVyU2VydmljZS5yb3dzLTEsdGhpcy5fY3VyQXR0ckRhdGE9bC5ERUZBVUxUX0FUVFJfREFUQS5jbG9uZSgpLHRoaXMuX2NvcmVTZXJ2aWNlLnJlc2V0KCksdGhpcy5fY2hhcnNldFNlcnZpY2UucmVzZXQoKSx0aGlzLl9hY3RpdmVCdWZmZXIuc2F2ZWRYPTAsdGhpcy5fYWN0aXZlQnVmZmVyLnNhdmVkWT10aGlzLl9hY3RpdmVCdWZmZXIueWJhc2UsdGhpcy5fYWN0aXZlQnVmZmVyLnNhdmVkQ3VyQXR0ckRhdGEuZmc9dGhpcy5fY3VyQXR0ckRhdGEuZmcsdGhpcy5fYWN0aXZlQnVmZmVyLnNhdmVkQ3VyQXR0ckRhdGEuYmc9dGhpcy5fY3VyQXR0ckRhdGEuYmcsdGhpcy5fYWN0aXZlQnVmZmVyLnNhdmVkQ2hhcnNldD10aGlzLl9jaGFyc2V0U2VydmljZS5jaGFyc2V0LHRoaXMuX2NvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcy5vcmlnaW49ITEsITB9c2V0Q3Vyc29yU3R5bGUoZSl7Y29uc3QgdD1lLnBhcmFtc1swXXx8MTtzd2l0Y2godCl7Y2FzZSAxOmNhc2UgMjp0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLmN1cnNvclN0eWxlPVwiYmxvY2tcIjticmVhaztjYXNlIDM6Y2FzZSA0OnRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMuY3Vyc29yU3R5bGU9XCJ1bmRlcmxpbmVcIjticmVhaztjYXNlIDU6Y2FzZSA2OnRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMuY3Vyc29yU3R5bGU9XCJiYXJcIn1jb25zdCBpPXQlMj09MTtyZXR1cm4gdGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy5jdXJzb3JCbGluaz1pLCEwfXNldFNjcm9sbFJlZ2lvbihlKXtjb25zdCB0PWUucGFyYW1zWzBdfHwxO2xldCBpO3JldHVybihlLmxlbmd0aDwyfHwoaT1lLnBhcmFtc1sxXSk+dGhpcy5fYnVmZmVyU2VydmljZS5yb3dzfHwwPT09aSkmJihpPXRoaXMuX2J1ZmZlclNlcnZpY2Uucm93cyksaT50JiYodGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbFRvcD10LTEsdGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbEJvdHRvbT1pLTEsdGhpcy5fc2V0Q3Vyc29yKDAsMCkpLCEwfXdpbmRvd09wdGlvbnMoZSl7aWYoIXcoZS5wYXJhbXNbMF0sdGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy53aW5kb3dPcHRpb25zKSlyZXR1cm4hMDtjb25zdCB0PWUubGVuZ3RoPjE/ZS5wYXJhbXNbMV06MDtzd2l0Y2goZS5wYXJhbXNbMF0pe2Nhc2UgMTQ6MiE9PXQmJnRoaXMuX29uUmVxdWVzdFdpbmRvd3NPcHRpb25zUmVwb3J0LmZpcmUoeS5HRVRfV0lOX1NJWkVfUElYRUxTKTticmVhaztjYXNlIDE2OnRoaXMuX29uUmVxdWVzdFdpbmRvd3NPcHRpb25zUmVwb3J0LmZpcmUoeS5HRVRfQ0VMTF9TSVpFX1BJWEVMUyk7YnJlYWs7Y2FzZSAxODp0aGlzLl9idWZmZXJTZXJ2aWNlJiZ0aGlzLl9jb3JlU2VydmljZS50cmlnZ2VyRGF0YUV2ZW50KGAke24uQzAuRVNDfVs4OyR7dGhpcy5fYnVmZmVyU2VydmljZS5yb3dzfTske3RoaXMuX2J1ZmZlclNlcnZpY2UuY29sc310YCk7YnJlYWs7Y2FzZSAyMjowIT09dCYmMiE9PXR8fCh0aGlzLl93aW5kb3dUaXRsZVN0YWNrLnB1c2godGhpcy5fd2luZG93VGl0bGUpLHRoaXMuX3dpbmRvd1RpdGxlU3RhY2subGVuZ3RoPjEwJiZ0aGlzLl93aW5kb3dUaXRsZVN0YWNrLnNoaWZ0KCkpLDAhPT10JiYxIT09dHx8KHRoaXMuX2ljb25OYW1lU3RhY2sucHVzaCh0aGlzLl9pY29uTmFtZSksdGhpcy5faWNvbk5hbWVTdGFjay5sZW5ndGg+MTAmJnRoaXMuX2ljb25OYW1lU3RhY2suc2hpZnQoKSk7YnJlYWs7Y2FzZSAyMzowIT09dCYmMiE9PXR8fHRoaXMuX3dpbmRvd1RpdGxlU3RhY2subGVuZ3RoJiZ0aGlzLnNldFRpdGxlKHRoaXMuX3dpbmRvd1RpdGxlU3RhY2sucG9wKCkpLDAhPT10JiYxIT09dHx8dGhpcy5faWNvbk5hbWVTdGFjay5sZW5ndGgmJnRoaXMuc2V0SWNvbk5hbWUodGhpcy5faWNvbk5hbWVTdGFjay5wb3AoKSl9cmV0dXJuITB9c2F2ZUN1cnNvcihlKXtyZXR1cm4gdGhpcy5fYWN0aXZlQnVmZmVyLnNhdmVkWD10aGlzLl9hY3RpdmVCdWZmZXIueCx0aGlzLl9hY3RpdmVCdWZmZXIuc2F2ZWRZPXRoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZSt0aGlzLl9hY3RpdmVCdWZmZXIueSx0aGlzLl9hY3RpdmVCdWZmZXIuc2F2ZWRDdXJBdHRyRGF0YS5mZz10aGlzLl9jdXJBdHRyRGF0YS5mZyx0aGlzLl9hY3RpdmVCdWZmZXIuc2F2ZWRDdXJBdHRyRGF0YS5iZz10aGlzLl9jdXJBdHRyRGF0YS5iZyx0aGlzLl9hY3RpdmVCdWZmZXIuc2F2ZWRDaGFyc2V0PXRoaXMuX2NoYXJzZXRTZXJ2aWNlLmNoYXJzZXQsITB9cmVzdG9yZUN1cnNvcihlKXtyZXR1cm4gdGhpcy5fYWN0aXZlQnVmZmVyLng9dGhpcy5fYWN0aXZlQnVmZmVyLnNhdmVkWHx8MCx0aGlzLl9hY3RpdmVCdWZmZXIueT1NYXRoLm1heCh0aGlzLl9hY3RpdmVCdWZmZXIuc2F2ZWRZLXRoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZSwwKSx0aGlzLl9jdXJBdHRyRGF0YS5mZz10aGlzLl9hY3RpdmVCdWZmZXIuc2F2ZWRDdXJBdHRyRGF0YS5mZyx0aGlzLl9jdXJBdHRyRGF0YS5iZz10aGlzLl9hY3RpdmVCdWZmZXIuc2F2ZWRDdXJBdHRyRGF0YS5iZyx0aGlzLl9jaGFyc2V0U2VydmljZS5jaGFyc2V0PXRoaXMuX3NhdmVkQ2hhcnNldCx0aGlzLl9hY3RpdmVCdWZmZXIuc2F2ZWRDaGFyc2V0JiYodGhpcy5fY2hhcnNldFNlcnZpY2UuY2hhcnNldD10aGlzLl9hY3RpdmVCdWZmZXIuc2F2ZWRDaGFyc2V0KSx0aGlzLl9yZXN0cmljdEN1cnNvcigpLCEwfXNldFRpdGxlKGUpe3JldHVybiB0aGlzLl93aW5kb3dUaXRsZT1lLHRoaXMuX29uVGl0bGVDaGFuZ2UuZmlyZShlKSwhMH1zZXRJY29uTmFtZShlKXtyZXR1cm4gdGhpcy5faWNvbk5hbWU9ZSwhMH1zZXRPclJlcG9ydEluZGV4ZWRDb2xvcihlKXtjb25zdCB0PVtdLGk9ZS5zcGxpdChcIjtcIik7Zm9yKDtpLmxlbmd0aD4xOyl7Y29uc3QgZT1pLnNoaWZ0KCkscz1pLnNoaWZ0KCk7aWYoL15cXGQrJC8uZXhlYyhlKSl7Y29uc3QgaT1wYXJzZUludChlKTtpZihEKGkpKWlmKFwiP1wiPT09cyl0LnB1c2goe3R5cGU6MCxpbmRleDppfSk7ZWxzZXtjb25zdCBlPSgwLFMucGFyc2VDb2xvcikocyk7ZSYmdC5wdXNoKHt0eXBlOjEsaW5kZXg6aSxjb2xvcjplfSl9fX1yZXR1cm4gdC5sZW5ndGgmJnRoaXMuX29uQ29sb3IuZmlyZSh0KSwhMH1zZXRIeXBlcmxpbmsoZSl7Y29uc3QgdD1lLnNwbGl0KFwiO1wiKTtyZXR1cm4hKHQubGVuZ3RoPDIpJiYodFsxXT90aGlzLl9jcmVhdGVIeXBlcmxpbmsodFswXSx0WzFdKTohdFswXSYmdGhpcy5fZmluaXNoSHlwZXJsaW5rKCkpfV9jcmVhdGVIeXBlcmxpbmsoZSx0KXt0aGlzLl9nZXRDdXJyZW50TGlua0lkKCkmJnRoaXMuX2ZpbmlzaEh5cGVybGluaygpO2NvbnN0IGk9ZS5zcGxpdChcIjpcIik7bGV0IHM7Y29uc3Qgcj1pLmZpbmRJbmRleCgoZT0+ZS5zdGFydHNXaXRoKFwiaWQ9XCIpKSk7cmV0dXJuLTEhPT1yJiYocz1pW3JdLnNsaWNlKDMpfHx2b2lkIDApLHRoaXMuX2N1ckF0dHJEYXRhLmV4dGVuZGVkPXRoaXMuX2N1ckF0dHJEYXRhLmV4dGVuZGVkLmNsb25lKCksdGhpcy5fY3VyQXR0ckRhdGEuZXh0ZW5kZWQudXJsSWQ9dGhpcy5fb3NjTGlua1NlcnZpY2UucmVnaXN0ZXJMaW5rKHtpZDpzLHVyaTp0fSksdGhpcy5fY3VyQXR0ckRhdGEudXBkYXRlRXh0ZW5kZWQoKSwhMH1fZmluaXNoSHlwZXJsaW5rKCl7cmV0dXJuIHRoaXMuX2N1ckF0dHJEYXRhLmV4dGVuZGVkPXRoaXMuX2N1ckF0dHJEYXRhLmV4dGVuZGVkLmNsb25lKCksdGhpcy5fY3VyQXR0ckRhdGEuZXh0ZW5kZWQudXJsSWQ9MCx0aGlzLl9jdXJBdHRyRGF0YS51cGRhdGVFeHRlbmRlZCgpLCEwfV9zZXRPclJlcG9ydFNwZWNpYWxDb2xvcihlLHQpe2NvbnN0IGk9ZS5zcGxpdChcIjtcIik7Zm9yKGxldCBlPTA7ZTxpLmxlbmd0aCYmISh0Pj10aGlzLl9zcGVjaWFsQ29sb3JzLmxlbmd0aCk7KytlLCsrdClpZihcIj9cIj09PWlbZV0pdGhpcy5fb25Db2xvci5maXJlKFt7dHlwZTowLGluZGV4OnRoaXMuX3NwZWNpYWxDb2xvcnNbdF19XSk7ZWxzZXtjb25zdCBzPSgwLFMucGFyc2VDb2xvcikoaVtlXSk7cyYmdGhpcy5fb25Db2xvci5maXJlKFt7dHlwZToxLGluZGV4OnRoaXMuX3NwZWNpYWxDb2xvcnNbdF0sY29sb3I6c31dKX1yZXR1cm4hMH1zZXRPclJlcG9ydEZnQ29sb3IoZSl7cmV0dXJuIHRoaXMuX3NldE9yUmVwb3J0U3BlY2lhbENvbG9yKGUsMCl9c2V0T3JSZXBvcnRCZ0NvbG9yKGUpe3JldHVybiB0aGlzLl9zZXRPclJlcG9ydFNwZWNpYWxDb2xvcihlLDEpfXNldE9yUmVwb3J0Q3Vyc29yQ29sb3IoZSl7cmV0dXJuIHRoaXMuX3NldE9yUmVwb3J0U3BlY2lhbENvbG9yKGUsMil9cmVzdG9yZUluZGV4ZWRDb2xvcihlKXtpZighZSlyZXR1cm4gdGhpcy5fb25Db2xvci5maXJlKFt7dHlwZToyfV0pLCEwO2NvbnN0IHQ9W10saT1lLnNwbGl0KFwiO1wiKTtmb3IobGV0IGU9MDtlPGkubGVuZ3RoOysrZSlpZigvXlxcZCskLy5leGVjKGlbZV0pKXtjb25zdCBzPXBhcnNlSW50KGlbZV0pO0QocykmJnQucHVzaCh7dHlwZToyLGluZGV4OnN9KX1yZXR1cm4gdC5sZW5ndGgmJnRoaXMuX29uQ29sb3IuZmlyZSh0KSwhMH1yZXN0b3JlRmdDb2xvcihlKXtyZXR1cm4gdGhpcy5fb25Db2xvci5maXJlKFt7dHlwZToyLGluZGV4OjI1Nn1dKSwhMH1yZXN0b3JlQmdDb2xvcihlKXtyZXR1cm4gdGhpcy5fb25Db2xvci5maXJlKFt7dHlwZToyLGluZGV4OjI1N31dKSwhMH1yZXN0b3JlQ3Vyc29yQ29sb3IoZSl7cmV0dXJuIHRoaXMuX29uQ29sb3IuZmlyZShbe3R5cGU6MixpbmRleDoyNTh9XSksITB9bmV4dExpbmUoKXtyZXR1cm4gdGhpcy5fYWN0aXZlQnVmZmVyLng9MCx0aGlzLmluZGV4KCksITB9a2V5cGFkQXBwbGljYXRpb25Nb2RlKCl7cmV0dXJuIHRoaXMuX2xvZ1NlcnZpY2UuZGVidWcoXCJTZXJpYWwgcG9ydCByZXF1ZXN0ZWQgYXBwbGljYXRpb24ga2V5cGFkLlwiKSx0aGlzLl9jb3JlU2VydmljZS5kZWNQcml2YXRlTW9kZXMuYXBwbGljYXRpb25LZXlwYWQ9ITAsdGhpcy5fb25SZXF1ZXN0U3luY1Njcm9sbEJhci5maXJlKCksITB9a2V5cGFkTnVtZXJpY01vZGUoKXtyZXR1cm4gdGhpcy5fbG9nU2VydmljZS5kZWJ1ZyhcIlN3aXRjaGluZyBiYWNrIHRvIG5vcm1hbCBrZXlwYWQuXCIpLHRoaXMuX2NvcmVTZXJ2aWNlLmRlY1ByaXZhdGVNb2Rlcy5hcHBsaWNhdGlvbktleXBhZD0hMSx0aGlzLl9vblJlcXVlc3RTeW5jU2Nyb2xsQmFyLmZpcmUoKSwhMH1zZWxlY3REZWZhdWx0Q2hhcnNldCgpe3JldHVybiB0aGlzLl9jaGFyc2V0U2VydmljZS5zZXRnTGV2ZWwoMCksdGhpcy5fY2hhcnNldFNlcnZpY2Uuc2V0Z0NoYXJzZXQoMCxvLkRFRkFVTFRfQ0hBUlNFVCksITB9c2VsZWN0Q2hhcnNldChlKXtyZXR1cm4gMiE9PWUubGVuZ3RoPyh0aGlzLnNlbGVjdERlZmF1bHRDaGFyc2V0KCksITApOihcIi9cIj09PWVbMF18fHRoaXMuX2NoYXJzZXRTZXJ2aWNlLnNldGdDaGFyc2V0KENbZVswXV0sby5DSEFSU0VUU1tlWzFdXXx8by5ERUZBVUxUX0NIQVJTRVQpLCEwKX1pbmRleCgpe3JldHVybiB0aGlzLl9yZXN0cmljdEN1cnNvcigpLHRoaXMuX2FjdGl2ZUJ1ZmZlci55KyssdGhpcy5fYWN0aXZlQnVmZmVyLnk9PT10aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsQm90dG9tKzE/KHRoaXMuX2FjdGl2ZUJ1ZmZlci55LS0sdGhpcy5fYnVmZmVyU2VydmljZS5zY3JvbGwodGhpcy5fZXJhc2VBdHRyRGF0YSgpKSk6dGhpcy5fYWN0aXZlQnVmZmVyLnk+PXRoaXMuX2J1ZmZlclNlcnZpY2Uucm93cyYmKHRoaXMuX2FjdGl2ZUJ1ZmZlci55PXRoaXMuX2J1ZmZlclNlcnZpY2Uucm93cy0xKSx0aGlzLl9yZXN0cmljdEN1cnNvcigpLCEwfXRhYlNldCgpe3JldHVybiB0aGlzLl9hY3RpdmVCdWZmZXIudGFic1t0aGlzLl9hY3RpdmVCdWZmZXIueF09ITAsITB9cmV2ZXJzZUluZGV4KCl7aWYodGhpcy5fcmVzdHJpY3RDdXJzb3IoKSx0aGlzLl9hY3RpdmVCdWZmZXIueT09PXRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxUb3Ape2NvbnN0IGU9dGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbEJvdHRvbS10aGlzLl9hY3RpdmVCdWZmZXIuc2Nyb2xsVG9wO3RoaXMuX2FjdGl2ZUJ1ZmZlci5saW5lcy5zaGlmdEVsZW1lbnRzKHRoaXMuX2FjdGl2ZUJ1ZmZlci55YmFzZSt0aGlzLl9hY3RpdmVCdWZmZXIueSxlLDEpLHRoaXMuX2FjdGl2ZUJ1ZmZlci5saW5lcy5zZXQodGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlK3RoaXMuX2FjdGl2ZUJ1ZmZlci55LHRoaXMuX2FjdGl2ZUJ1ZmZlci5nZXRCbGFua0xpbmUodGhpcy5fZXJhc2VBdHRyRGF0YSgpKSksdGhpcy5fZGlydHlSb3dUcmFja2VyLm1hcmtSYW5nZURpcnR5KHRoaXMuX2FjdGl2ZUJ1ZmZlci5zY3JvbGxUb3AsdGhpcy5fYWN0aXZlQnVmZmVyLnNjcm9sbEJvdHRvbSl9ZWxzZSB0aGlzLl9hY3RpdmVCdWZmZXIueS0tLHRoaXMuX3Jlc3RyaWN0Q3Vyc29yKCk7cmV0dXJuITB9ZnVsbFJlc2V0KCl7cmV0dXJuIHRoaXMuX3BhcnNlci5yZXNldCgpLHRoaXMuX29uUmVxdWVzdFJlc2V0LmZpcmUoKSwhMH1yZXNldCgpe3RoaXMuX2N1ckF0dHJEYXRhPWwuREVGQVVMVF9BVFRSX0RBVEEuY2xvbmUoKSx0aGlzLl9lcmFzZUF0dHJEYXRhSW50ZXJuYWw9bC5ERUZBVUxUX0FUVFJfREFUQS5jbG9uZSgpfV9lcmFzZUF0dHJEYXRhKCl7cmV0dXJuIHRoaXMuX2VyYXNlQXR0ckRhdGFJbnRlcm5hbC5iZyY9LTY3MTA4ODY0LHRoaXMuX2VyYXNlQXR0ckRhdGFJbnRlcm5hbC5iZ3w9NjcxMDg4NjMmdGhpcy5fY3VyQXR0ckRhdGEuYmcsdGhpcy5fZXJhc2VBdHRyRGF0YUludGVybmFsfXNldGdMZXZlbChlKXtyZXR1cm4gdGhpcy5fY2hhcnNldFNlcnZpY2Uuc2V0Z0xldmVsKGUpLCEwfXNjcmVlbkFsaWdubWVudFBhdHRlcm4oKXtjb25zdCBlPW5ldyB1LkNlbGxEYXRhO2UuY29udGVudD0xPDwyMnxcIkVcIi5jaGFyQ29kZUF0KDApLGUuZmc9dGhpcy5fY3VyQXR0ckRhdGEuZmcsZS5iZz10aGlzLl9jdXJBdHRyRGF0YS5iZyx0aGlzLl9zZXRDdXJzb3IoMCwwKTtmb3IobGV0IHQ9MDt0PHRoaXMuX2J1ZmZlclNlcnZpY2Uucm93czsrK3Qpe2NvbnN0IGk9dGhpcy5fYWN0aXZlQnVmZmVyLnliYXNlK3RoaXMuX2FjdGl2ZUJ1ZmZlci55K3Qscz10aGlzLl9hY3RpdmVCdWZmZXIubGluZXMuZ2V0KGkpO3MmJihzLmZpbGwoZSkscy5pc1dyYXBwZWQ9ITEpfXJldHVybiB0aGlzLl9kaXJ0eVJvd1RyYWNrZXIubWFya0FsbERpcnR5KCksdGhpcy5fc2V0Q3Vyc29yKDAsMCksITB9cmVxdWVzdFN0YXR1c1N0cmluZyhlLHQpe2NvbnN0IGk9dGhpcy5fYnVmZmVyU2VydmljZS5idWZmZXIscz10aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zO3JldHVybihlPT4odGhpcy5fY29yZVNlcnZpY2UudHJpZ2dlckRhdGFFdmVudChgJHtuLkMwLkVTQ30ke2V9JHtuLkMwLkVTQ31cXFxcYCksITApKSgnXCJxJz09PWU/YFAxJHIke3RoaXMuX2N1ckF0dHJEYXRhLmlzUHJvdGVjdGVkKCk/MTowfVwicWA6J1wicCc9PT1lPydQMSRyNjE7MVwicCc6XCJyXCI9PT1lP2BQMSRyJHtpLnNjcm9sbFRvcCsxfTske2kuc2Nyb2xsQm90dG9tKzF9cmA6XCJtXCI9PT1lP1wiUDEkcjBtXCI6XCIgcVwiPT09ZT9gUDEkciR7e2Jsb2NrOjIsdW5kZXJsaW5lOjQsYmFyOjZ9W3MuY3Vyc29yU3R5bGVdLShzLmN1cnNvckJsaW5rPzE6MCl9IHFgOlwiUDAkclwiKX1tYXJrUmFuZ2VEaXJ0eShlLHQpe3RoaXMuX2RpcnR5Um93VHJhY2tlci5tYXJrUmFuZ2VEaXJ0eShlLHQpfX10LklucHV0SGFuZGxlcj1rO2xldCBMPWNsYXNze2NvbnN0cnVjdG9yKGUpe3RoaXMuX2J1ZmZlclNlcnZpY2U9ZSx0aGlzLmNsZWFyUmFuZ2UoKX1jbGVhclJhbmdlKCl7dGhpcy5zdGFydD10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci55LHRoaXMuZW5kPXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyLnl9bWFya0RpcnR5KGUpe2U8dGhpcy5zdGFydD90aGlzLnN0YXJ0PWU6ZT50aGlzLmVuZCYmKHRoaXMuZW5kPWUpfW1hcmtSYW5nZURpcnR5KGUsdCl7ZT50JiYoRT1lLGU9dCx0PUUpLGU8dGhpcy5zdGFydCYmKHRoaXMuc3RhcnQ9ZSksdD50aGlzLmVuZCYmKHRoaXMuZW5kPXQpfW1hcmtBbGxEaXJ0eSgpe3RoaXMubWFya1JhbmdlRGlydHkoMCx0aGlzLl9idWZmZXJTZXJ2aWNlLnJvd3MtMSl9fTtmdW5jdGlvbiBEKGUpe3JldHVybiAwPD1lJiZlPDI1Nn1MPXMoW3IoMCx2LklCdWZmZXJTZXJ2aWNlKV0sTCl9LDg0NDooZSx0KT0+e2Z1bmN0aW9uIGkoZSl7Zm9yKGNvbnN0IHQgb2YgZSl0LmRpc3Bvc2UoKTtlLmxlbmd0aD0wfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuZ2V0RGlzcG9zZUFycmF5RGlzcG9zYWJsZT10LmRpc3Bvc2VBcnJheT10LnRvRGlzcG9zYWJsZT10Lk11dGFibGVEaXNwb3NhYmxlPXQuRGlzcG9zYWJsZT12b2lkIDAsdC5EaXNwb3NhYmxlPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5fZGlzcG9zYWJsZXM9W10sdGhpcy5faXNEaXNwb3NlZD0hMX1kaXNwb3NlKCl7dGhpcy5faXNEaXNwb3NlZD0hMDtmb3IoY29uc3QgZSBvZiB0aGlzLl9kaXNwb3NhYmxlcyllLmRpc3Bvc2UoKTt0aGlzLl9kaXNwb3NhYmxlcy5sZW5ndGg9MH1yZWdpc3RlcihlKXtyZXR1cm4gdGhpcy5fZGlzcG9zYWJsZXMucHVzaChlKSxlfXVucmVnaXN0ZXIoZSl7Y29uc3QgdD10aGlzLl9kaXNwb3NhYmxlcy5pbmRleE9mKGUpOy0xIT09dCYmdGhpcy5fZGlzcG9zYWJsZXMuc3BsaWNlKHQsMSl9fSx0Lk11dGFibGVEaXNwb3NhYmxlPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5faXNEaXNwb3NlZD0hMX1nZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy5faXNEaXNwb3NlZD92b2lkIDA6dGhpcy5fdmFsdWV9c2V0IHZhbHVlKGUpe3RoaXMuX2lzRGlzcG9zZWR8fGU9PT10aGlzLl92YWx1ZXx8KHRoaXMuX3ZhbHVlPy5kaXNwb3NlKCksdGhpcy5fdmFsdWU9ZSl9Y2xlYXIoKXt0aGlzLnZhbHVlPXZvaWQgMH1kaXNwb3NlKCl7dGhpcy5faXNEaXNwb3NlZD0hMCx0aGlzLl92YWx1ZT8uZGlzcG9zZSgpLHRoaXMuX3ZhbHVlPXZvaWQgMH19LHQudG9EaXNwb3NhYmxlPWZ1bmN0aW9uKGUpe3JldHVybntkaXNwb3NlOmV9fSx0LmRpc3Bvc2VBcnJheT1pLHQuZ2V0RGlzcG9zZUFycmF5RGlzcG9zYWJsZT1mdW5jdGlvbihlKXtyZXR1cm57ZGlzcG9zZTooKT0+aShlKX19fSwxNTA1OihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5Gb3VyS2V5TWFwPXQuVHdvS2V5TWFwPXZvaWQgMDtjbGFzcyBpe2NvbnN0cnVjdG9yKCl7dGhpcy5fZGF0YT17fX1zZXQoZSx0LGkpe3RoaXMuX2RhdGFbZV18fCh0aGlzLl9kYXRhW2VdPXt9KSx0aGlzLl9kYXRhW2VdW3RdPWl9Z2V0KGUsdCl7cmV0dXJuIHRoaXMuX2RhdGFbZV0/dGhpcy5fZGF0YVtlXVt0XTp2b2lkIDB9Y2xlYXIoKXt0aGlzLl9kYXRhPXt9fX10LlR3b0tleU1hcD1pLHQuRm91cktleU1hcD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2RhdGE9bmV3IGl9c2V0KGUsdCxzLHIsbil7dGhpcy5fZGF0YS5nZXQoZSx0KXx8dGhpcy5fZGF0YS5zZXQoZSx0LG5ldyBpKSx0aGlzLl9kYXRhLmdldChlLHQpLnNldChzLHIsbil9Z2V0KGUsdCxpLHMpe3JldHVybiB0aGlzLl9kYXRhLmdldChlLHQpPy5nZXQoaSxzKX1jbGVhcigpe3RoaXMuX2RhdGEuY2xlYXIoKX19fSw2MTE0OihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5pc0Nocm9tZU9TPXQuaXNMaW51eD10LmlzV2luZG93cz10LmlzSXBob25lPXQuaXNJcGFkPXQuaXNNYWM9dC5nZXRTYWZhcmlWZXJzaW9uPXQuaXNTYWZhcmk9dC5pc0xlZ2FjeUVkZ2U9dC5pc0ZpcmVmb3g9dC5pc05vZGU9dm9pZCAwLHQuaXNOb2RlPVwidW5kZWZpbmVkXCIhPXR5cGVvZiBwcm9jZXNzJiZcInRpdGxlXCJpbiBwcm9jZXNzO2NvbnN0IGk9dC5pc05vZGU/XCJub2RlXCI6bmF2aWdhdG9yLnVzZXJBZ2VudCxzPXQuaXNOb2RlP1wibm9kZVwiOm5hdmlnYXRvci5wbGF0Zm9ybTt0LmlzRmlyZWZveD1pLmluY2x1ZGVzKFwiRmlyZWZveFwiKSx0LmlzTGVnYWN5RWRnZT1pLmluY2x1ZGVzKFwiRWRnZVwiKSx0LmlzU2FmYXJpPS9eKCg/IWNocm9tZXxhbmRyb2lkKS4pKnNhZmFyaS9pLnRlc3QoaSksdC5nZXRTYWZhcmlWZXJzaW9uPWZ1bmN0aW9uKCl7aWYoIXQuaXNTYWZhcmkpcmV0dXJuIDA7Y29uc3QgZT1pLm1hdGNoKC9WZXJzaW9uXFwvKFxcZCspLyk7cmV0dXJuIG51bGw9PT1lfHxlLmxlbmd0aDwyPzA6cGFyc2VJbnQoZVsxXSl9LHQuaXNNYWM9W1wiTWFjaW50b3NoXCIsXCJNYWNJbnRlbFwiLFwiTWFjUFBDXCIsXCJNYWM2OEtcIl0uaW5jbHVkZXMocyksdC5pc0lwYWQ9XCJpUGFkXCI9PT1zLHQuaXNJcGhvbmU9XCJpUGhvbmVcIj09PXMsdC5pc1dpbmRvd3M9W1wiV2luZG93c1wiLFwiV2luMTZcIixcIldpbjMyXCIsXCJXaW5DRVwiXS5pbmNsdWRlcyhzKSx0LmlzTGludXg9cy5pbmRleE9mKFwiTGludXhcIik+PTAsdC5pc0Nocm9tZU9TPS9cXGJDck9TXFxiLy50ZXN0KGkpfSw2MTA2OihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5Tb3J0ZWRMaXN0PXZvaWQgMDtsZXQgaT0wO3QuU29ydGVkTGlzdD1jbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9nZXRLZXk9ZSx0aGlzLl9hcnJheT1bXX1jbGVhcigpe3RoaXMuX2FycmF5Lmxlbmd0aD0wfWluc2VydChlKXswIT09dGhpcy5fYXJyYXkubGVuZ3RoPyhpPXRoaXMuX3NlYXJjaCh0aGlzLl9nZXRLZXkoZSkpLHRoaXMuX2FycmF5LnNwbGljZShpLDAsZSkpOnRoaXMuX2FycmF5LnB1c2goZSl9ZGVsZXRlKGUpe2lmKDA9PT10aGlzLl9hcnJheS5sZW5ndGgpcmV0dXJuITE7Y29uc3QgdD10aGlzLl9nZXRLZXkoZSk7aWYodm9pZCAwPT09dClyZXR1cm4hMTtpZihpPXRoaXMuX3NlYXJjaCh0KSwtMT09PWkpcmV0dXJuITE7aWYodGhpcy5fZ2V0S2V5KHRoaXMuX2FycmF5W2ldKSE9PXQpcmV0dXJuITE7ZG97aWYodGhpcy5fYXJyYXlbaV09PT1lKXJldHVybiB0aGlzLl9hcnJheS5zcGxpY2UoaSwxKSwhMH13aGlsZSgrK2k8dGhpcy5fYXJyYXkubGVuZ3RoJiZ0aGlzLl9nZXRLZXkodGhpcy5fYXJyYXlbaV0pPT09dCk7cmV0dXJuITF9KmdldEtleUl0ZXJhdG9yKGUpe2lmKDAhPT10aGlzLl9hcnJheS5sZW5ndGgmJihpPXRoaXMuX3NlYXJjaChlKSwhKGk8MHx8aT49dGhpcy5fYXJyYXkubGVuZ3RoKSYmdGhpcy5fZ2V0S2V5KHRoaXMuX2FycmF5W2ldKT09PWUpKWRve3lpZWxkIHRoaXMuX2FycmF5W2ldfXdoaWxlKCsraTx0aGlzLl9hcnJheS5sZW5ndGgmJnRoaXMuX2dldEtleSh0aGlzLl9hcnJheVtpXSk9PT1lKX1mb3JFYWNoQnlLZXkoZSx0KXtpZigwIT09dGhpcy5fYXJyYXkubGVuZ3RoJiYoaT10aGlzLl9zZWFyY2goZSksIShpPDB8fGk+PXRoaXMuX2FycmF5Lmxlbmd0aCkmJnRoaXMuX2dldEtleSh0aGlzLl9hcnJheVtpXSk9PT1lKSlkb3t0KHRoaXMuX2FycmF5W2ldKX13aGlsZSgrK2k8dGhpcy5fYXJyYXkubGVuZ3RoJiZ0aGlzLl9nZXRLZXkodGhpcy5fYXJyYXlbaV0pPT09ZSl9dmFsdWVzKCl7cmV0dXJuWy4uLnRoaXMuX2FycmF5XS52YWx1ZXMoKX1fc2VhcmNoKGUpe2xldCB0PTAsaT10aGlzLl9hcnJheS5sZW5ndGgtMTtmb3IoO2k+PXQ7KXtsZXQgcz10K2k+PjE7Y29uc3Qgcj10aGlzLl9nZXRLZXkodGhpcy5fYXJyYXlbc10pO2lmKHI+ZSlpPXMtMTtlbHNle2lmKCEocjxlKSl7Zm9yKDtzPjAmJnRoaXMuX2dldEtleSh0aGlzLl9hcnJheVtzLTFdKT09PWU7KXMtLTtyZXR1cm4gc310PXMrMX19cmV0dXJuIHR9fX0sNzIyNjooZSx0LGkpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5EZWJvdW5jZWRJZGxlVGFzaz10LklkbGVUYXNrUXVldWU9dC5Qcmlvcml0eVRhc2tRdWV1ZT12b2lkIDA7Y29uc3Qgcz1pKDYxMTQpO2NsYXNzIHJ7Y29uc3RydWN0b3IoKXt0aGlzLl90YXNrcz1bXSx0aGlzLl9pPTB9ZW5xdWV1ZShlKXt0aGlzLl90YXNrcy5wdXNoKGUpLHRoaXMuX3N0YXJ0KCl9Zmx1c2goKXtmb3IoO3RoaXMuX2k8dGhpcy5fdGFza3MubGVuZ3RoOyl0aGlzLl90YXNrc1t0aGlzLl9pXSgpfHx0aGlzLl9pKys7dGhpcy5jbGVhcigpfWNsZWFyKCl7dGhpcy5faWRsZUNhbGxiYWNrJiYodGhpcy5fY2FuY2VsQ2FsbGJhY2sodGhpcy5faWRsZUNhbGxiYWNrKSx0aGlzLl9pZGxlQ2FsbGJhY2s9dm9pZCAwKSx0aGlzLl9pPTAsdGhpcy5fdGFza3MubGVuZ3RoPTB9X3N0YXJ0KCl7dGhpcy5faWRsZUNhbGxiYWNrfHwodGhpcy5faWRsZUNhbGxiYWNrPXRoaXMuX3JlcXVlc3RDYWxsYmFjayh0aGlzLl9wcm9jZXNzLmJpbmQodGhpcykpKX1fcHJvY2VzcyhlKXt0aGlzLl9pZGxlQ2FsbGJhY2s9dm9pZCAwO2xldCB0PTAsaT0wLHM9ZS50aW1lUmVtYWluaW5nKCkscj0wO2Zvcig7dGhpcy5faTx0aGlzLl90YXNrcy5sZW5ndGg7KXtpZih0PURhdGUubm93KCksdGhpcy5fdGFza3NbdGhpcy5faV0oKXx8dGhpcy5faSsrLHQ9TWF0aC5tYXgoMSxEYXRlLm5vdygpLXQpLGk9TWF0aC5tYXgodCxpKSxyPWUudGltZVJlbWFpbmluZygpLDEuNSppPnIpcmV0dXJuIHMtdDwtMjAmJmNvbnNvbGUud2FybihgdGFzayBxdWV1ZSBleGNlZWRlZCBhbGxvdHRlZCBkZWFkbGluZSBieSAke01hdGguYWJzKE1hdGgucm91bmQocy10KSl9bXNgKSx2b2lkIHRoaXMuX3N0YXJ0KCk7cz1yfXRoaXMuY2xlYXIoKX19Y2xhc3MgbiBleHRlbmRzIHJ7X3JlcXVlc3RDYWxsYmFjayhlKXtyZXR1cm4gc2V0VGltZW91dCgoKCk9PmUodGhpcy5fY3JlYXRlRGVhZGxpbmUoMTYpKSkpfV9jYW5jZWxDYWxsYmFjayhlKXtjbGVhclRpbWVvdXQoZSl9X2NyZWF0ZURlYWRsaW5lKGUpe2NvbnN0IHQ9RGF0ZS5ub3coKStlO3JldHVybnt0aW1lUmVtYWluaW5nOigpPT5NYXRoLm1heCgwLHQtRGF0ZS5ub3coKSl9fX10LlByaW9yaXR5VGFza1F1ZXVlPW4sdC5JZGxlVGFza1F1ZXVlPSFzLmlzTm9kZSYmXCJyZXF1ZXN0SWRsZUNhbGxiYWNrXCJpbiB3aW5kb3c/Y2xhc3MgZXh0ZW5kcyBye19yZXF1ZXN0Q2FsbGJhY2soZSl7cmV0dXJuIHJlcXVlc3RJZGxlQ2FsbGJhY2soZSl9X2NhbmNlbENhbGxiYWNrKGUpe2NhbmNlbElkbGVDYWxsYmFjayhlKX19Om4sdC5EZWJvdW5jZWRJZGxlVGFzaz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX3F1ZXVlPW5ldyB0LklkbGVUYXNrUXVldWV9c2V0KGUpe3RoaXMuX3F1ZXVlLmNsZWFyKCksdGhpcy5fcXVldWUuZW5xdWV1ZShlKX1mbHVzaCgpe3RoaXMuX3F1ZXVlLmZsdXNoKCl9fX0sOTI4MjooZSx0LGkpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC51cGRhdGVXaW5kb3dzTW9kZVdyYXBwZWRTdGF0ZT12b2lkIDA7Y29uc3Qgcz1pKDY0Myk7dC51cGRhdGVXaW5kb3dzTW9kZVdyYXBwZWRTdGF0ZT1mdW5jdGlvbihlKXtjb25zdCB0PWUuYnVmZmVyLmxpbmVzLmdldChlLmJ1ZmZlci55YmFzZStlLmJ1ZmZlci55LTEpLGk9dD8uZ2V0KGUuY29scy0xKSxyPWUuYnVmZmVyLmxpbmVzLmdldChlLmJ1ZmZlci55YmFzZStlLmJ1ZmZlci55KTtyJiZpJiYoci5pc1dyYXBwZWQ9aVtzLkNIQVJfREFUQV9DT0RFX0lOREVYXSE9PXMuTlVMTF9DRUxMX0NPREUmJmlbcy5DSEFSX0RBVEFfQ09ERV9JTkRFWF0hPT1zLldISVRFU1BBQ0VfQ0VMTF9DT0RFKX19LDM3MzQ6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkV4dGVuZGVkQXR0cnM9dC5BdHRyaWJ1dGVEYXRhPXZvaWQgMDtjbGFzcyBpe2NvbnN0cnVjdG9yKCl7dGhpcy5mZz0wLHRoaXMuYmc9MCx0aGlzLmV4dGVuZGVkPW5ldyBzfXN0YXRpYyB0b0NvbG9yUkdCKGUpe3JldHVybltlPj4+MTYmMjU1LGU+Pj44JjI1NSwyNTUmZV19c3RhdGljIGZyb21Db2xvclJHQihlKXtyZXR1cm4oMjU1JmVbMF0pPDwxNnwoMjU1JmVbMV0pPDw4fDI1NSZlWzJdfWNsb25lKCl7Y29uc3QgZT1uZXcgaTtyZXR1cm4gZS5mZz10aGlzLmZnLGUuYmc9dGhpcy5iZyxlLmV4dGVuZGVkPXRoaXMuZXh0ZW5kZWQuY2xvbmUoKSxlfWlzSW52ZXJzZSgpe3JldHVybiA2NzEwODg2NCZ0aGlzLmZnfWlzQm9sZCgpe3JldHVybiAxMzQyMTc3MjgmdGhpcy5mZ31pc1VuZGVybGluZSgpe3JldHVybiB0aGlzLmhhc0V4dGVuZGVkQXR0cnMoKSYmMCE9PXRoaXMuZXh0ZW5kZWQudW5kZXJsaW5lU3R5bGU/MToyNjg0MzU0NTYmdGhpcy5mZ31pc0JsaW5rKCl7cmV0dXJuIDUzNjg3MDkxMiZ0aGlzLmZnfWlzSW52aXNpYmxlKCl7cmV0dXJuIDEwNzM3NDE4MjQmdGhpcy5mZ31pc0l0YWxpYygpe3JldHVybiA2NzEwODg2NCZ0aGlzLmJnfWlzRGltKCl7cmV0dXJuIDEzNDIxNzcyOCZ0aGlzLmJnfWlzU3RyaWtldGhyb3VnaCgpe3JldHVybiAyMTQ3NDgzNjQ4JnRoaXMuZmd9aXNQcm90ZWN0ZWQoKXtyZXR1cm4gNTM2ODcwOTEyJnRoaXMuYmd9aXNPdmVybGluZSgpe3JldHVybiAxMDczNzQxODI0JnRoaXMuYmd9Z2V0RmdDb2xvck1vZGUoKXtyZXR1cm4gNTAzMzE2NDgmdGhpcy5mZ31nZXRCZ0NvbG9yTW9kZSgpe3JldHVybiA1MDMzMTY0OCZ0aGlzLmJnfWlzRmdSR0IoKXtyZXR1cm4gNTAzMzE2NDg9PSg1MDMzMTY0OCZ0aGlzLmZnKX1pc0JnUkdCKCl7cmV0dXJuIDUwMzMxNjQ4PT0oNTAzMzE2NDgmdGhpcy5iZyl9aXNGZ1BhbGV0dGUoKXtyZXR1cm4gMTY3NzcyMTY9PSg1MDMzMTY0OCZ0aGlzLmZnKXx8MzM1NTQ0MzI9PSg1MDMzMTY0OCZ0aGlzLmZnKX1pc0JnUGFsZXR0ZSgpe3JldHVybiAxNjc3NzIxNj09KDUwMzMxNjQ4JnRoaXMuYmcpfHwzMzU1NDQzMj09KDUwMzMxNjQ4JnRoaXMuYmcpfWlzRmdEZWZhdWx0KCl7cmV0dXJuIDA9PSg1MDMzMTY0OCZ0aGlzLmZnKX1pc0JnRGVmYXVsdCgpe3JldHVybiAwPT0oNTAzMzE2NDgmdGhpcy5iZyl9aXNBdHRyaWJ1dGVEZWZhdWx0KCl7cmV0dXJuIDA9PT10aGlzLmZnJiYwPT09dGhpcy5iZ31nZXRGZ0NvbG9yKCl7c3dpdGNoKDUwMzMxNjQ4JnRoaXMuZmcpe2Nhc2UgMTY3NzcyMTY6Y2FzZSAzMzU1NDQzMjpyZXR1cm4gMjU1JnRoaXMuZmc7Y2FzZSA1MDMzMTY0ODpyZXR1cm4gMTY3NzcyMTUmdGhpcy5mZztkZWZhdWx0OnJldHVybi0xfX1nZXRCZ0NvbG9yKCl7c3dpdGNoKDUwMzMxNjQ4JnRoaXMuYmcpe2Nhc2UgMTY3NzcyMTY6Y2FzZSAzMzU1NDQzMjpyZXR1cm4gMjU1JnRoaXMuYmc7Y2FzZSA1MDMzMTY0ODpyZXR1cm4gMTY3NzcyMTUmdGhpcy5iZztkZWZhdWx0OnJldHVybi0xfX1oYXNFeHRlbmRlZEF0dHJzKCl7cmV0dXJuIDI2ODQzNTQ1NiZ0aGlzLmJnfXVwZGF0ZUV4dGVuZGVkKCl7dGhpcy5leHRlbmRlZC5pc0VtcHR5KCk/dGhpcy5iZyY9LTI2ODQzNTQ1Nzp0aGlzLmJnfD0yNjg0MzU0NTZ9Z2V0VW5kZXJsaW5lQ29sb3IoKXtpZigyNjg0MzU0NTYmdGhpcy5iZyYmfnRoaXMuZXh0ZW5kZWQudW5kZXJsaW5lQ29sb3Ipc3dpdGNoKDUwMzMxNjQ4JnRoaXMuZXh0ZW5kZWQudW5kZXJsaW5lQ29sb3Ipe2Nhc2UgMTY3NzcyMTY6Y2FzZSAzMzU1NDQzMjpyZXR1cm4gMjU1JnRoaXMuZXh0ZW5kZWQudW5kZXJsaW5lQ29sb3I7Y2FzZSA1MDMzMTY0ODpyZXR1cm4gMTY3NzcyMTUmdGhpcy5leHRlbmRlZC51bmRlcmxpbmVDb2xvcjtkZWZhdWx0OnJldHVybiB0aGlzLmdldEZnQ29sb3IoKX1yZXR1cm4gdGhpcy5nZXRGZ0NvbG9yKCl9Z2V0VW5kZXJsaW5lQ29sb3JNb2RlKCl7cmV0dXJuIDI2ODQzNTQ1NiZ0aGlzLmJnJiZ+dGhpcy5leHRlbmRlZC51bmRlcmxpbmVDb2xvcj81MDMzMTY0OCZ0aGlzLmV4dGVuZGVkLnVuZGVybGluZUNvbG9yOnRoaXMuZ2V0RmdDb2xvck1vZGUoKX1pc1VuZGVybGluZUNvbG9yUkdCKCl7cmV0dXJuIDI2ODQzNTQ1NiZ0aGlzLmJnJiZ+dGhpcy5leHRlbmRlZC51bmRlcmxpbmVDb2xvcj81MDMzMTY0OD09KDUwMzMxNjQ4JnRoaXMuZXh0ZW5kZWQudW5kZXJsaW5lQ29sb3IpOnRoaXMuaXNGZ1JHQigpfWlzVW5kZXJsaW5lQ29sb3JQYWxldHRlKCl7cmV0dXJuIDI2ODQzNTQ1NiZ0aGlzLmJnJiZ+dGhpcy5leHRlbmRlZC51bmRlcmxpbmVDb2xvcj8xNjc3NzIxNj09KDUwMzMxNjQ4JnRoaXMuZXh0ZW5kZWQudW5kZXJsaW5lQ29sb3IpfHwzMzU1NDQzMj09KDUwMzMxNjQ4JnRoaXMuZXh0ZW5kZWQudW5kZXJsaW5lQ29sb3IpOnRoaXMuaXNGZ1BhbGV0dGUoKX1pc1VuZGVybGluZUNvbG9yRGVmYXVsdCgpe3JldHVybiAyNjg0MzU0NTYmdGhpcy5iZyYmfnRoaXMuZXh0ZW5kZWQudW5kZXJsaW5lQ29sb3I/MD09KDUwMzMxNjQ4JnRoaXMuZXh0ZW5kZWQudW5kZXJsaW5lQ29sb3IpOnRoaXMuaXNGZ0RlZmF1bHQoKX1nZXRVbmRlcmxpbmVTdHlsZSgpe3JldHVybiAyNjg0MzU0NTYmdGhpcy5mZz8yNjg0MzU0NTYmdGhpcy5iZz90aGlzLmV4dGVuZGVkLnVuZGVybGluZVN0eWxlOjE6MH1nZXRVbmRlcmxpbmVWYXJpYW50T2Zmc2V0KCl7cmV0dXJuIHRoaXMuZXh0ZW5kZWQudW5kZXJsaW5lVmFyaWFudE9mZnNldH19dC5BdHRyaWJ1dGVEYXRhPWk7Y2xhc3Mgc3tnZXQgZXh0KCl7cmV0dXJuIHRoaXMuX3VybElkPy00Njk3NjIwNDkmdGhpcy5fZXh0fHRoaXMudW5kZXJsaW5lU3R5bGU8PDI2OnRoaXMuX2V4dH1zZXQgZXh0KGUpe3RoaXMuX2V4dD1lfWdldCB1bmRlcmxpbmVTdHlsZSgpe3JldHVybiB0aGlzLl91cmxJZD81Oig0Njk3NjIwNDgmdGhpcy5fZXh0KT4+MjZ9c2V0IHVuZGVybGluZVN0eWxlKGUpe3RoaXMuX2V4dCY9LTQ2OTc2MjA0OSx0aGlzLl9leHR8PWU8PDI2JjQ2OTc2MjA0OH1nZXQgdW5kZXJsaW5lQ29sb3IoKXtyZXR1cm4gNjcxMDg4NjMmdGhpcy5fZXh0fXNldCB1bmRlcmxpbmVDb2xvcihlKXt0aGlzLl9leHQmPS02NzEwODg2NCx0aGlzLl9leHR8PTY3MTA4ODYzJmV9Z2V0IHVybElkKCl7cmV0dXJuIHRoaXMuX3VybElkfXNldCB1cmxJZChlKXt0aGlzLl91cmxJZD1lfWdldCB1bmRlcmxpbmVWYXJpYW50T2Zmc2V0KCl7Y29uc3QgZT0oMzc1ODA5NjM4NCZ0aGlzLl9leHQpPj4yOTtyZXR1cm4gZTwwPzQyOTQ5NjcyODheZTplfXNldCB1bmRlcmxpbmVWYXJpYW50T2Zmc2V0KGUpe3RoaXMuX2V4dCY9NTM2ODcwOTExLHRoaXMuX2V4dHw9ZTw8MjkmMzc1ODA5NjM4NH1jb25zdHJ1Y3RvcihlPTAsdD0wKXt0aGlzLl9leHQ9MCx0aGlzLl91cmxJZD0wLHRoaXMuX2V4dD1lLHRoaXMuX3VybElkPXR9Y2xvbmUoKXtyZXR1cm4gbmV3IHModGhpcy5fZXh0LHRoaXMuX3VybElkKX1pc0VtcHR5KCl7cmV0dXJuIDA9PT10aGlzLnVuZGVybGluZVN0eWxlJiYwPT09dGhpcy5fdXJsSWR9fXQuRXh0ZW5kZWRBdHRycz1zfSw5MDkyOihlLHQsaSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkJ1ZmZlcj10Lk1BWF9CVUZGRVJfU0laRT12b2lkIDA7Y29uc3Qgcz1pKDYzNDkpLHI9aSg3MjI2KSxuPWkoMzczNCksbz1pKDg0MzcpLGE9aSg0NjM0KSxoPWkoNTExKSxjPWkoNjQzKSxsPWkoNDg2MyksZD1pKDcxMTYpO3QuTUFYX0JVRkZFUl9TSVpFPTQyOTQ5NjcyOTUsdC5CdWZmZXI9Y2xhc3N7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuX2hhc1Njcm9sbGJhY2s9ZSx0aGlzLl9vcHRpb25zU2VydmljZT10LHRoaXMuX2J1ZmZlclNlcnZpY2U9aSx0aGlzLnlkaXNwPTAsdGhpcy55YmFzZT0wLHRoaXMueT0wLHRoaXMueD0wLHRoaXMudGFicz17fSx0aGlzLnNhdmVkWT0wLHRoaXMuc2F2ZWRYPTAsdGhpcy5zYXZlZEN1ckF0dHJEYXRhPW8uREVGQVVMVF9BVFRSX0RBVEEuY2xvbmUoKSx0aGlzLnNhdmVkQ2hhcnNldD1kLkRFRkFVTFRfQ0hBUlNFVCx0aGlzLm1hcmtlcnM9W10sdGhpcy5fbnVsbENlbGw9aC5DZWxsRGF0YS5mcm9tQ2hhckRhdGEoWzAsYy5OVUxMX0NFTExfQ0hBUixjLk5VTExfQ0VMTF9XSURUSCxjLk5VTExfQ0VMTF9DT0RFXSksdGhpcy5fd2hpdGVzcGFjZUNlbGw9aC5DZWxsRGF0YS5mcm9tQ2hhckRhdGEoWzAsYy5XSElURVNQQUNFX0NFTExfQ0hBUixjLldISVRFU1BBQ0VfQ0VMTF9XSURUSCxjLldISVRFU1BBQ0VfQ0VMTF9DT0RFXSksdGhpcy5faXNDbGVhcmluZz0hMSx0aGlzLl9tZW1vcnlDbGVhbnVwUXVldWU9bmV3IHIuSWRsZVRhc2tRdWV1ZSx0aGlzLl9tZW1vcnlDbGVhbnVwUG9zaXRpb249MCx0aGlzLl9jb2xzPXRoaXMuX2J1ZmZlclNlcnZpY2UuY29scyx0aGlzLl9yb3dzPXRoaXMuX2J1ZmZlclNlcnZpY2Uucm93cyx0aGlzLmxpbmVzPW5ldyBzLkNpcmN1bGFyTGlzdCh0aGlzLl9nZXRDb3JyZWN0QnVmZmVyTGVuZ3RoKHRoaXMuX3Jvd3MpKSx0aGlzLnNjcm9sbFRvcD0wLHRoaXMuc2Nyb2xsQm90dG9tPXRoaXMuX3Jvd3MtMSx0aGlzLnNldHVwVGFiU3RvcHMoKX1nZXROdWxsQ2VsbChlKXtyZXR1cm4gZT8odGhpcy5fbnVsbENlbGwuZmc9ZS5mZyx0aGlzLl9udWxsQ2VsbC5iZz1lLmJnLHRoaXMuX251bGxDZWxsLmV4dGVuZGVkPWUuZXh0ZW5kZWQpOih0aGlzLl9udWxsQ2VsbC5mZz0wLHRoaXMuX251bGxDZWxsLmJnPTAsdGhpcy5fbnVsbENlbGwuZXh0ZW5kZWQ9bmV3IG4uRXh0ZW5kZWRBdHRycyksdGhpcy5fbnVsbENlbGx9Z2V0V2hpdGVzcGFjZUNlbGwoZSl7cmV0dXJuIGU/KHRoaXMuX3doaXRlc3BhY2VDZWxsLmZnPWUuZmcsdGhpcy5fd2hpdGVzcGFjZUNlbGwuYmc9ZS5iZyx0aGlzLl93aGl0ZXNwYWNlQ2VsbC5leHRlbmRlZD1lLmV4dGVuZGVkKToodGhpcy5fd2hpdGVzcGFjZUNlbGwuZmc9MCx0aGlzLl93aGl0ZXNwYWNlQ2VsbC5iZz0wLHRoaXMuX3doaXRlc3BhY2VDZWxsLmV4dGVuZGVkPW5ldyBuLkV4dGVuZGVkQXR0cnMpLHRoaXMuX3doaXRlc3BhY2VDZWxsfWdldEJsYW5rTGluZShlLHQpe3JldHVybiBuZXcgby5CdWZmZXJMaW5lKHRoaXMuX2J1ZmZlclNlcnZpY2UuY29scyx0aGlzLmdldE51bGxDZWxsKGUpLHQpfWdldCBoYXNTY3JvbGxiYWNrKCl7cmV0dXJuIHRoaXMuX2hhc1Njcm9sbGJhY2smJnRoaXMubGluZXMubWF4TGVuZ3RoPnRoaXMuX3Jvd3N9Z2V0IGlzQ3Vyc29ySW5WaWV3cG9ydCgpe2NvbnN0IGU9dGhpcy55YmFzZSt0aGlzLnktdGhpcy55ZGlzcDtyZXR1cm4gZT49MCYmZTx0aGlzLl9yb3dzfV9nZXRDb3JyZWN0QnVmZmVyTGVuZ3RoKGUpe2lmKCF0aGlzLl9oYXNTY3JvbGxiYWNrKXJldHVybiBlO2NvbnN0IGk9ZSt0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLnNjcm9sbGJhY2s7cmV0dXJuIGk+dC5NQVhfQlVGRkVSX1NJWkU/dC5NQVhfQlVGRkVSX1NJWkU6aX1maWxsVmlld3BvcnRSb3dzKGUpe2lmKDA9PT10aGlzLmxpbmVzLmxlbmd0aCl7dm9pZCAwPT09ZSYmKGU9by5ERUZBVUxUX0FUVFJfREFUQSk7bGV0IHQ9dGhpcy5fcm93cztmb3IoO3QtLTspdGhpcy5saW5lcy5wdXNoKHRoaXMuZ2V0QmxhbmtMaW5lKGUpKX19Y2xlYXIoKXt0aGlzLnlkaXNwPTAsdGhpcy55YmFzZT0wLHRoaXMueT0wLHRoaXMueD0wLHRoaXMubGluZXM9bmV3IHMuQ2lyY3VsYXJMaXN0KHRoaXMuX2dldENvcnJlY3RCdWZmZXJMZW5ndGgodGhpcy5fcm93cykpLHRoaXMuc2Nyb2xsVG9wPTAsdGhpcy5zY3JvbGxCb3R0b209dGhpcy5fcm93cy0xLHRoaXMuc2V0dXBUYWJTdG9wcygpfXJlc2l6ZShlLHQpe2NvbnN0IGk9dGhpcy5nZXROdWxsQ2VsbChvLkRFRkFVTFRfQVRUUl9EQVRBKTtsZXQgcz0wO2NvbnN0IHI9dGhpcy5fZ2V0Q29ycmVjdEJ1ZmZlckxlbmd0aCh0KTtpZihyPnRoaXMubGluZXMubWF4TGVuZ3RoJiYodGhpcy5saW5lcy5tYXhMZW5ndGg9ciksdGhpcy5saW5lcy5sZW5ndGg+MCl7aWYodGhpcy5fY29sczxlKWZvcihsZXQgdD0wO3Q8dGhpcy5saW5lcy5sZW5ndGg7dCsrKXMrPSt0aGlzLmxpbmVzLmdldCh0KS5yZXNpemUoZSxpKTtsZXQgbj0wO2lmKHRoaXMuX3Jvd3M8dClmb3IobGV0IHM9dGhpcy5fcm93cztzPHQ7cysrKXRoaXMubGluZXMubGVuZ3RoPHQrdGhpcy55YmFzZSYmKHRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMud2luZG93c01vZGV8fHZvaWQgMCE9PXRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMud2luZG93c1B0eS5iYWNrZW5kfHx2b2lkIDAhPT10aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLndpbmRvd3NQdHkuYnVpbGROdW1iZXI/dGhpcy5saW5lcy5wdXNoKG5ldyBvLkJ1ZmZlckxpbmUoZSxpKSk6dGhpcy55YmFzZT4wJiZ0aGlzLmxpbmVzLmxlbmd0aDw9dGhpcy55YmFzZSt0aGlzLnkrbisxPyh0aGlzLnliYXNlLS0sbisrLHRoaXMueWRpc3A+MCYmdGhpcy55ZGlzcC0tKTp0aGlzLmxpbmVzLnB1c2gobmV3IG8uQnVmZmVyTGluZShlLGkpKSk7ZWxzZSBmb3IobGV0IGU9dGhpcy5fcm93cztlPnQ7ZS0tKXRoaXMubGluZXMubGVuZ3RoPnQrdGhpcy55YmFzZSYmKHRoaXMubGluZXMubGVuZ3RoPnRoaXMueWJhc2UrdGhpcy55KzE/dGhpcy5saW5lcy5wb3AoKToodGhpcy55YmFzZSsrLHRoaXMueWRpc3ArKykpO2lmKHI8dGhpcy5saW5lcy5tYXhMZW5ndGgpe2NvbnN0IGU9dGhpcy5saW5lcy5sZW5ndGgtcjtlPjAmJih0aGlzLmxpbmVzLnRyaW1TdGFydChlKSx0aGlzLnliYXNlPU1hdGgubWF4KHRoaXMueWJhc2UtZSwwKSx0aGlzLnlkaXNwPU1hdGgubWF4KHRoaXMueWRpc3AtZSwwKSx0aGlzLnNhdmVkWT1NYXRoLm1heCh0aGlzLnNhdmVkWS1lLDApKSx0aGlzLmxpbmVzLm1heExlbmd0aD1yfXRoaXMueD1NYXRoLm1pbih0aGlzLngsZS0xKSx0aGlzLnk9TWF0aC5taW4odGhpcy55LHQtMSksbiYmKHRoaXMueSs9biksdGhpcy5zYXZlZFg9TWF0aC5taW4odGhpcy5zYXZlZFgsZS0xKSx0aGlzLnNjcm9sbFRvcD0wfWlmKHRoaXMuc2Nyb2xsQm90dG9tPXQtMSx0aGlzLl9pc1JlZmxvd0VuYWJsZWQmJih0aGlzLl9yZWZsb3coZSx0KSx0aGlzLl9jb2xzPmUpKWZvcihsZXQgdD0wO3Q8dGhpcy5saW5lcy5sZW5ndGg7dCsrKXMrPSt0aGlzLmxpbmVzLmdldCh0KS5yZXNpemUoZSxpKTt0aGlzLl9jb2xzPWUsdGhpcy5fcm93cz10LHRoaXMuX21lbW9yeUNsZWFudXBRdWV1ZS5jbGVhcigpLHM+LjEqdGhpcy5saW5lcy5sZW5ndGgmJih0aGlzLl9tZW1vcnlDbGVhbnVwUG9zaXRpb249MCx0aGlzLl9tZW1vcnlDbGVhbnVwUXVldWUuZW5xdWV1ZSgoKCk9PnRoaXMuX2JhdGNoZWRNZW1vcnlDbGVhbnVwKCkpKSl9X2JhdGNoZWRNZW1vcnlDbGVhbnVwKCl7bGV0IGU9ITA7dGhpcy5fbWVtb3J5Q2xlYW51cFBvc2l0aW9uPj10aGlzLmxpbmVzLmxlbmd0aCYmKHRoaXMuX21lbW9yeUNsZWFudXBQb3NpdGlvbj0wLGU9ITEpO2xldCB0PTA7Zm9yKDt0aGlzLl9tZW1vcnlDbGVhbnVwUG9zaXRpb248dGhpcy5saW5lcy5sZW5ndGg7KWlmKHQrPXRoaXMubGluZXMuZ2V0KHRoaXMuX21lbW9yeUNsZWFudXBQb3NpdGlvbisrKS5jbGVhbnVwTWVtb3J5KCksdD4xMDApcmV0dXJuITA7cmV0dXJuIGV9Z2V0IF9pc1JlZmxvd0VuYWJsZWQoKXtjb25zdCBlPXRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMud2luZG93c1B0eTtyZXR1cm4gZSYmZS5idWlsZE51bWJlcj90aGlzLl9oYXNTY3JvbGxiYWNrJiZcImNvbnB0eVwiPT09ZS5iYWNrZW5kJiZlLmJ1aWxkTnVtYmVyPj0yMTM3Njp0aGlzLl9oYXNTY3JvbGxiYWNrJiYhdGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy53aW5kb3dzTW9kZX1fcmVmbG93KGUsdCl7dGhpcy5fY29scyE9PWUmJihlPnRoaXMuX2NvbHM/dGhpcy5fcmVmbG93TGFyZ2VyKGUsdCk6dGhpcy5fcmVmbG93U21hbGxlcihlLHQpKX1fcmVmbG93TGFyZ2VyKGUsdCl7Y29uc3QgaT0oMCxhLnJlZmxvd0xhcmdlckdldExpbmVzVG9SZW1vdmUpKHRoaXMubGluZXMsdGhpcy5fY29scyxlLHRoaXMueWJhc2UrdGhpcy55LHRoaXMuZ2V0TnVsbENlbGwoby5ERUZBVUxUX0FUVFJfREFUQSkpO2lmKGkubGVuZ3RoPjApe2NvbnN0IHM9KDAsYS5yZWZsb3dMYXJnZXJDcmVhdGVOZXdMYXlvdXQpKHRoaXMubGluZXMsaSk7KDAsYS5yZWZsb3dMYXJnZXJBcHBseU5ld0xheW91dCkodGhpcy5saW5lcyxzLmxheW91dCksdGhpcy5fcmVmbG93TGFyZ2VyQWRqdXN0Vmlld3BvcnQoZSx0LHMuY291bnRSZW1vdmVkKX19X3JlZmxvd0xhcmdlckFkanVzdFZpZXdwb3J0KGUsdCxpKXtjb25zdCBzPXRoaXMuZ2V0TnVsbENlbGwoby5ERUZBVUxUX0FUVFJfREFUQSk7bGV0IHI9aTtmb3IoO3ItLSA+MDspMD09PXRoaXMueWJhc2U/KHRoaXMueT4wJiZ0aGlzLnktLSx0aGlzLmxpbmVzLmxlbmd0aDx0JiZ0aGlzLmxpbmVzLnB1c2gobmV3IG8uQnVmZmVyTGluZShlLHMpKSk6KHRoaXMueWRpc3A9PT10aGlzLnliYXNlJiZ0aGlzLnlkaXNwLS0sdGhpcy55YmFzZS0tKTt0aGlzLnNhdmVkWT1NYXRoLm1heCh0aGlzLnNhdmVkWS1pLDApfV9yZWZsb3dTbWFsbGVyKGUsdCl7Y29uc3QgaT10aGlzLmdldE51bGxDZWxsKG8uREVGQVVMVF9BVFRSX0RBVEEpLHM9W107bGV0IHI9MDtmb3IobGV0IG49dGhpcy5saW5lcy5sZW5ndGgtMTtuPj0wO24tLSl7bGV0IGg9dGhpcy5saW5lcy5nZXQobik7aWYoIWh8fCFoLmlzV3JhcHBlZCYmaC5nZXRUcmltbWVkTGVuZ3RoKCk8PWUpY29udGludWU7Y29uc3QgYz1baF07Zm9yKDtoLmlzV3JhcHBlZCYmbj4wOyloPXRoaXMubGluZXMuZ2V0KC0tbiksYy51bnNoaWZ0KGgpO2NvbnN0IGw9dGhpcy55YmFzZSt0aGlzLnk7aWYobD49biYmbDxuK2MubGVuZ3RoKWNvbnRpbnVlO2NvbnN0IGQ9Y1tjLmxlbmd0aC0xXS5nZXRUcmltbWVkTGVuZ3RoKCksXz0oMCxhLnJlZmxvd1NtYWxsZXJHZXROZXdMaW5lTGVuZ3RocykoYyx0aGlzLl9jb2xzLGUpLHU9Xy5sZW5ndGgtYy5sZW5ndGg7bGV0IGY7Zj0wPT09dGhpcy55YmFzZSYmdGhpcy55IT09dGhpcy5saW5lcy5sZW5ndGgtMT9NYXRoLm1heCgwLHRoaXMueS10aGlzLmxpbmVzLm1heExlbmd0aCt1KTpNYXRoLm1heCgwLHRoaXMubGluZXMubGVuZ3RoLXRoaXMubGluZXMubWF4TGVuZ3RoK3UpO2NvbnN0IHY9W107Zm9yKGxldCBlPTA7ZTx1O2UrKyl7Y29uc3QgZT10aGlzLmdldEJsYW5rTGluZShvLkRFRkFVTFRfQVRUUl9EQVRBLCEwKTt2LnB1c2goZSl9di5sZW5ndGg+MCYmKHMucHVzaCh7c3RhcnQ6bitjLmxlbmd0aCtyLG5ld0xpbmVzOnZ9KSxyKz12Lmxlbmd0aCksYy5wdXNoKC4uLnYpO2xldCBwPV8ubGVuZ3RoLTEsZz1fW3BdOzA9PT1nJiYocC0tLGc9X1twXSk7bGV0IG09Yy5sZW5ndGgtdS0xLFM9ZDtmb3IoO20+PTA7KXtjb25zdCBlPU1hdGgubWluKFMsZyk7aWYodm9pZCAwPT09Y1twXSlicmVhaztpZihjW3BdLmNvcHlDZWxsc0Zyb20oY1ttXSxTLWUsZy1lLGUsITApLGctPWUsMD09PWcmJihwLS0sZz1fW3BdKSxTLT1lLDA9PT1TKXttLS07Y29uc3QgZT1NYXRoLm1heChtLDApO1M9KDAsYS5nZXRXcmFwcGVkTGluZVRyaW1tZWRMZW5ndGgpKGMsZSx0aGlzLl9jb2xzKX19Zm9yKGxldCB0PTA7dDxjLmxlbmd0aDt0KyspX1t0XTxlJiZjW3RdLnNldENlbGwoX1t0XSxpKTtsZXQgQz11LWY7Zm9yKDtDLS0gPjA7KTA9PT10aGlzLnliYXNlP3RoaXMueTx0LTE/KHRoaXMueSsrLHRoaXMubGluZXMucG9wKCkpOih0aGlzLnliYXNlKyssdGhpcy55ZGlzcCsrKTp0aGlzLnliYXNlPE1hdGgubWluKHRoaXMubGluZXMubWF4TGVuZ3RoLHRoaXMubGluZXMubGVuZ3RoK3IpLXQmJih0aGlzLnliYXNlPT09dGhpcy55ZGlzcCYmdGhpcy55ZGlzcCsrLHRoaXMueWJhc2UrKyk7dGhpcy5zYXZlZFk9TWF0aC5taW4odGhpcy5zYXZlZFkrdSx0aGlzLnliYXNlK3QtMSl9aWYocy5sZW5ndGg+MCl7Y29uc3QgZT1bXSx0PVtdO2ZvcihsZXQgZT0wO2U8dGhpcy5saW5lcy5sZW5ndGg7ZSsrKXQucHVzaCh0aGlzLmxpbmVzLmdldChlKSk7Y29uc3QgaT10aGlzLmxpbmVzLmxlbmd0aDtsZXQgbj1pLTEsbz0wLGE9c1tvXTt0aGlzLmxpbmVzLmxlbmd0aD1NYXRoLm1pbih0aGlzLmxpbmVzLm1heExlbmd0aCx0aGlzLmxpbmVzLmxlbmd0aCtyKTtsZXQgaD0wO2ZvcihsZXQgYz1NYXRoLm1pbih0aGlzLmxpbmVzLm1heExlbmd0aC0xLGkrci0xKTtjPj0wO2MtLSlpZihhJiZhLnN0YXJ0Pm4raCl7Zm9yKGxldCBlPWEubmV3TGluZXMubGVuZ3RoLTE7ZT49MDtlLS0pdGhpcy5saW5lcy5zZXQoYy0tLGEubmV3TGluZXNbZV0pO2MrKyxlLnB1c2goe2luZGV4Om4rMSxhbW91bnQ6YS5uZXdMaW5lcy5sZW5ndGh9KSxoKz1hLm5ld0xpbmVzLmxlbmd0aCxhPXNbKytvXX1lbHNlIHRoaXMubGluZXMuc2V0KGMsdFtuLS1dKTtsZXQgYz0wO2ZvcihsZXQgdD1lLmxlbmd0aC0xO3Q+PTA7dC0tKWVbdF0uaW5kZXgrPWMsdGhpcy5saW5lcy5vbkluc2VydEVtaXR0ZXIuZmlyZShlW3RdKSxjKz1lW3RdLmFtb3VudDtjb25zdCBsPU1hdGgubWF4KDAsaStyLXRoaXMubGluZXMubWF4TGVuZ3RoKTtsPjAmJnRoaXMubGluZXMub25UcmltRW1pdHRlci5maXJlKGwpfX10cmFuc2xhdGVCdWZmZXJMaW5lVG9TdHJpbmcoZSx0LGk9MCxzKXtjb25zdCByPXRoaXMubGluZXMuZ2V0KGUpO3JldHVybiByP3IudHJhbnNsYXRlVG9TdHJpbmcodCxpLHMpOlwiXCJ9Z2V0V3JhcHBlZFJhbmdlRm9yTGluZShlKXtsZXQgdD1lLGk9ZTtmb3IoO3Q+MCYmdGhpcy5saW5lcy5nZXQodCkuaXNXcmFwcGVkOyl0LS07Zm9yKDtpKzE8dGhpcy5saW5lcy5sZW5ndGgmJnRoaXMubGluZXMuZ2V0KGkrMSkuaXNXcmFwcGVkOylpKys7cmV0dXJue2ZpcnN0OnQsbGFzdDppfX1zZXR1cFRhYlN0b3BzKGUpe2ZvcihudWxsIT1lP3RoaXMudGFic1tlXXx8KGU9dGhpcy5wcmV2U3RvcChlKSk6KHRoaXMudGFicz17fSxlPTApO2U8dGhpcy5fY29scztlKz10aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLnRhYlN0b3BXaWR0aCl0aGlzLnRhYnNbZV09ITB9cHJldlN0b3AoZSl7Zm9yKG51bGw9PWUmJihlPXRoaXMueCk7IXRoaXMudGFic1stLWVdJiZlPjA7KTtyZXR1cm4gZT49dGhpcy5fY29scz90aGlzLl9jb2xzLTE6ZTwwPzA6ZX1uZXh0U3RvcChlKXtmb3IobnVsbD09ZSYmKGU9dGhpcy54KTshdGhpcy50YWJzWysrZV0mJmU8dGhpcy5fY29sczspO3JldHVybiBlPj10aGlzLl9jb2xzP3RoaXMuX2NvbHMtMTplPDA/MDplfWNsZWFyTWFya2VycyhlKXt0aGlzLl9pc0NsZWFyaW5nPSEwO2ZvcihsZXQgdD0wO3Q8dGhpcy5tYXJrZXJzLmxlbmd0aDt0KyspdGhpcy5tYXJrZXJzW3RdLmxpbmU9PT1lJiYodGhpcy5tYXJrZXJzW3RdLmRpc3Bvc2UoKSx0aGlzLm1hcmtlcnMuc3BsaWNlKHQtLSwxKSk7dGhpcy5faXNDbGVhcmluZz0hMX1jbGVhckFsbE1hcmtlcnMoKXt0aGlzLl9pc0NsZWFyaW5nPSEwO2ZvcihsZXQgZT0wO2U8dGhpcy5tYXJrZXJzLmxlbmd0aDtlKyspdGhpcy5tYXJrZXJzW2VdLmRpc3Bvc2UoKSx0aGlzLm1hcmtlcnMuc3BsaWNlKGUtLSwxKTt0aGlzLl9pc0NsZWFyaW5nPSExfWFkZE1hcmtlcihlKXtjb25zdCB0PW5ldyBsLk1hcmtlcihlKTtyZXR1cm4gdGhpcy5tYXJrZXJzLnB1c2godCksdC5yZWdpc3Rlcih0aGlzLmxpbmVzLm9uVHJpbSgoZT0+e3QubGluZS09ZSx0LmxpbmU8MCYmdC5kaXNwb3NlKCl9KSkpLHQucmVnaXN0ZXIodGhpcy5saW5lcy5vbkluc2VydCgoZT0+e3QubGluZT49ZS5pbmRleCYmKHQubGluZSs9ZS5hbW91bnQpfSkpKSx0LnJlZ2lzdGVyKHRoaXMubGluZXMub25EZWxldGUoKGU9Pnt0LmxpbmU+PWUuaW5kZXgmJnQubGluZTxlLmluZGV4K2UuYW1vdW50JiZ0LmRpc3Bvc2UoKSx0LmxpbmU+ZS5pbmRleCYmKHQubGluZS09ZS5hbW91bnQpfSkpKSx0LnJlZ2lzdGVyKHQub25EaXNwb3NlKCgoKT0+dGhpcy5fcmVtb3ZlTWFya2VyKHQpKSkpLHR9X3JlbW92ZU1hcmtlcihlKXt0aGlzLl9pc0NsZWFyaW5nfHx0aGlzLm1hcmtlcnMuc3BsaWNlKHRoaXMubWFya2Vycy5pbmRleE9mKGUpLDEpfX19LDg0Mzc6KGUsdCxpKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuQnVmZmVyTGluZT10LkRFRkFVTFRfQVRUUl9EQVRBPXZvaWQgMDtjb25zdCBzPWkoMzczNCkscj1pKDUxMSksbj1pKDY0Myksbz1pKDQ4Mik7dC5ERUZBVUxUX0FUVFJfREFUQT1PYmplY3QuZnJlZXplKG5ldyBzLkF0dHJpYnV0ZURhdGEpO2xldCBhPTA7Y2xhc3MgaHtjb25zdHJ1Y3RvcihlLHQsaT0hMSl7dGhpcy5pc1dyYXBwZWQ9aSx0aGlzLl9jb21iaW5lZD17fSx0aGlzLl9leHRlbmRlZEF0dHJzPXt9LHRoaXMuX2RhdGE9bmV3IFVpbnQzMkFycmF5KDMqZSk7Y29uc3Qgcz10fHxyLkNlbGxEYXRhLmZyb21DaGFyRGF0YShbMCxuLk5VTExfQ0VMTF9DSEFSLG4uTlVMTF9DRUxMX1dJRFRILG4uTlVMTF9DRUxMX0NPREVdKTtmb3IobGV0IHQ9MDt0PGU7Kyt0KXRoaXMuc2V0Q2VsbCh0LHMpO3RoaXMubGVuZ3RoPWV9Z2V0KGUpe2NvbnN0IHQ9dGhpcy5fZGF0YVszKmUrMF0saT0yMDk3MTUxJnQ7cmV0dXJuW3RoaXMuX2RhdGFbMyplKzFdLDIwOTcxNTImdD90aGlzLl9jb21iaW5lZFtlXTppPygwLG8uc3RyaW5nRnJvbUNvZGVQb2ludCkoaSk6XCJcIix0Pj4yMiwyMDk3MTUyJnQ/dGhpcy5fY29tYmluZWRbZV0uY2hhckNvZGVBdCh0aGlzLl9jb21iaW5lZFtlXS5sZW5ndGgtMSk6aV19c2V0KGUsdCl7dGhpcy5fZGF0YVszKmUrMV09dFtuLkNIQVJfREFUQV9BVFRSX0lOREVYXSx0W24uQ0hBUl9EQVRBX0NIQVJfSU5ERVhdLmxlbmd0aD4xPyh0aGlzLl9jb21iaW5lZFtlXT10WzFdLHRoaXMuX2RhdGFbMyplKzBdPTIwOTcxNTJ8ZXx0W24uQ0hBUl9EQVRBX1dJRFRIX0lOREVYXTw8MjIpOnRoaXMuX2RhdGFbMyplKzBdPXRbbi5DSEFSX0RBVEFfQ0hBUl9JTkRFWF0uY2hhckNvZGVBdCgwKXx0W24uQ0hBUl9EQVRBX1dJRFRIX0lOREVYXTw8MjJ9Z2V0V2lkdGgoZSl7cmV0dXJuIHRoaXMuX2RhdGFbMyplKzBdPj4yMn1oYXNXaWR0aChlKXtyZXR1cm4gMTI1ODI5MTImdGhpcy5fZGF0YVszKmUrMF19Z2V0RmcoZSl7cmV0dXJuIHRoaXMuX2RhdGFbMyplKzFdfWdldEJnKGUpe3JldHVybiB0aGlzLl9kYXRhWzMqZSsyXX1oYXNDb250ZW50KGUpe3JldHVybiA0MTk0MzAzJnRoaXMuX2RhdGFbMyplKzBdfWdldENvZGVQb2ludChlKXtjb25zdCB0PXRoaXMuX2RhdGFbMyplKzBdO3JldHVybiAyMDk3MTUyJnQ/dGhpcy5fY29tYmluZWRbZV0uY2hhckNvZGVBdCh0aGlzLl9jb21iaW5lZFtlXS5sZW5ndGgtMSk6MjA5NzE1MSZ0fWlzQ29tYmluZWQoZSl7cmV0dXJuIDIwOTcxNTImdGhpcy5fZGF0YVszKmUrMF19Z2V0U3RyaW5nKGUpe2NvbnN0IHQ9dGhpcy5fZGF0YVszKmUrMF07cmV0dXJuIDIwOTcxNTImdD90aGlzLl9jb21iaW5lZFtlXToyMDk3MTUxJnQ/KDAsby5zdHJpbmdGcm9tQ29kZVBvaW50KSgyMDk3MTUxJnQpOlwiXCJ9aXNQcm90ZWN0ZWQoZSl7cmV0dXJuIDUzNjg3MDkxMiZ0aGlzLl9kYXRhWzMqZSsyXX1sb2FkQ2VsbChlLHQpe3JldHVybiBhPTMqZSx0LmNvbnRlbnQ9dGhpcy5fZGF0YVthKzBdLHQuZmc9dGhpcy5fZGF0YVthKzFdLHQuYmc9dGhpcy5fZGF0YVthKzJdLDIwOTcxNTImdC5jb250ZW50JiYodC5jb21iaW5lZERhdGE9dGhpcy5fY29tYmluZWRbZV0pLDI2ODQzNTQ1NiZ0LmJnJiYodC5leHRlbmRlZD10aGlzLl9leHRlbmRlZEF0dHJzW2VdKSx0fXNldENlbGwoZSx0KXsyMDk3MTUyJnQuY29udGVudCYmKHRoaXMuX2NvbWJpbmVkW2VdPXQuY29tYmluZWREYXRhKSwyNjg0MzU0NTYmdC5iZyYmKHRoaXMuX2V4dGVuZGVkQXR0cnNbZV09dC5leHRlbmRlZCksdGhpcy5fZGF0YVszKmUrMF09dC5jb250ZW50LHRoaXMuX2RhdGFbMyplKzFdPXQuZmcsdGhpcy5fZGF0YVszKmUrMl09dC5iZ31zZXRDZWxsRnJvbUNvZGVwb2ludChlLHQsaSxzKXsyNjg0MzU0NTYmcy5iZyYmKHRoaXMuX2V4dGVuZGVkQXR0cnNbZV09cy5leHRlbmRlZCksdGhpcy5fZGF0YVszKmUrMF09dHxpPDwyMix0aGlzLl9kYXRhWzMqZSsxXT1zLmZnLHRoaXMuX2RhdGFbMyplKzJdPXMuYmd9YWRkQ29kZXBvaW50VG9DZWxsKGUsdCxpKXtsZXQgcz10aGlzLl9kYXRhWzMqZSswXTsyMDk3MTUyJnM/dGhpcy5fY29tYmluZWRbZV0rPSgwLG8uc3RyaW5nRnJvbUNvZGVQb2ludCkodCk6MjA5NzE1MSZzPyh0aGlzLl9jb21iaW5lZFtlXT0oMCxvLnN0cmluZ0Zyb21Db2RlUG9pbnQpKDIwOTcxNTEmcykrKDAsby5zdHJpbmdGcm9tQ29kZVBvaW50KSh0KSxzJj0tMjA5NzE1MixzfD0yMDk3MTUyKTpzPXR8MTw8MjIsaSYmKHMmPS0xMjU4MjkxMyxzfD1pPDwyMiksdGhpcy5fZGF0YVszKmUrMF09c31pbnNlcnRDZWxscyhlLHQsaSl7aWYoKGUlPXRoaXMubGVuZ3RoKSYmMj09PXRoaXMuZ2V0V2lkdGgoZS0xKSYmdGhpcy5zZXRDZWxsRnJvbUNvZGVwb2ludChlLTEsMCwxLGkpLHQ8dGhpcy5sZW5ndGgtZSl7Y29uc3Qgcz1uZXcgci5DZWxsRGF0YTtmb3IobGV0IGk9dGhpcy5sZW5ndGgtZS10LTE7aT49MDstLWkpdGhpcy5zZXRDZWxsKGUrdCtpLHRoaXMubG9hZENlbGwoZStpLHMpKTtmb3IobGV0IHM9MDtzPHQ7KytzKXRoaXMuc2V0Q2VsbChlK3MsaSl9ZWxzZSBmb3IobGV0IHQ9ZTt0PHRoaXMubGVuZ3RoOysrdCl0aGlzLnNldENlbGwodCxpKTsyPT09dGhpcy5nZXRXaWR0aCh0aGlzLmxlbmd0aC0xKSYmdGhpcy5zZXRDZWxsRnJvbUNvZGVwb2ludCh0aGlzLmxlbmd0aC0xLDAsMSxpKX1kZWxldGVDZWxscyhlLHQsaSl7aWYoZSU9dGhpcy5sZW5ndGgsdDx0aGlzLmxlbmd0aC1lKXtjb25zdCBzPW5ldyByLkNlbGxEYXRhO2ZvcihsZXQgaT0wO2k8dGhpcy5sZW5ndGgtZS10OysraSl0aGlzLnNldENlbGwoZStpLHRoaXMubG9hZENlbGwoZSt0K2kscykpO2ZvcihsZXQgZT10aGlzLmxlbmd0aC10O2U8dGhpcy5sZW5ndGg7KytlKXRoaXMuc2V0Q2VsbChlLGkpfWVsc2UgZm9yKGxldCB0PWU7dDx0aGlzLmxlbmd0aDsrK3QpdGhpcy5zZXRDZWxsKHQsaSk7ZSYmMj09PXRoaXMuZ2V0V2lkdGgoZS0xKSYmdGhpcy5zZXRDZWxsRnJvbUNvZGVwb2ludChlLTEsMCwxLGkpLDAhPT10aGlzLmdldFdpZHRoKGUpfHx0aGlzLmhhc0NvbnRlbnQoZSl8fHRoaXMuc2V0Q2VsbEZyb21Db2RlcG9pbnQoZSwwLDEsaSl9cmVwbGFjZUNlbGxzKGUsdCxpLHM9ITEpe2lmKHMpZm9yKGUmJjI9PT10aGlzLmdldFdpZHRoKGUtMSkmJiF0aGlzLmlzUHJvdGVjdGVkKGUtMSkmJnRoaXMuc2V0Q2VsbEZyb21Db2RlcG9pbnQoZS0xLDAsMSxpKSx0PHRoaXMubGVuZ3RoJiYyPT09dGhpcy5nZXRXaWR0aCh0LTEpJiYhdGhpcy5pc1Byb3RlY3RlZCh0KSYmdGhpcy5zZXRDZWxsRnJvbUNvZGVwb2ludCh0LDAsMSxpKTtlPHQmJmU8dGhpcy5sZW5ndGg7KXRoaXMuaXNQcm90ZWN0ZWQoZSl8fHRoaXMuc2V0Q2VsbChlLGkpLGUrKztlbHNlIGZvcihlJiYyPT09dGhpcy5nZXRXaWR0aChlLTEpJiZ0aGlzLnNldENlbGxGcm9tQ29kZXBvaW50KGUtMSwwLDEsaSksdDx0aGlzLmxlbmd0aCYmMj09PXRoaXMuZ2V0V2lkdGgodC0xKSYmdGhpcy5zZXRDZWxsRnJvbUNvZGVwb2ludCh0LDAsMSxpKTtlPHQmJmU8dGhpcy5sZW5ndGg7KXRoaXMuc2V0Q2VsbChlKyssaSl9cmVzaXplKGUsdCl7aWYoZT09PXRoaXMubGVuZ3RoKXJldHVybiA0KnRoaXMuX2RhdGEubGVuZ3RoKjI8dGhpcy5fZGF0YS5idWZmZXIuYnl0ZUxlbmd0aDtjb25zdCBpPTMqZTtpZihlPnRoaXMubGVuZ3RoKXtpZih0aGlzLl9kYXRhLmJ1ZmZlci5ieXRlTGVuZ3RoPj00KmkpdGhpcy5fZGF0YT1uZXcgVWludDMyQXJyYXkodGhpcy5fZGF0YS5idWZmZXIsMCxpKTtlbHNle2NvbnN0IGU9bmV3IFVpbnQzMkFycmF5KGkpO2Uuc2V0KHRoaXMuX2RhdGEpLHRoaXMuX2RhdGE9ZX1mb3IobGV0IGk9dGhpcy5sZW5ndGg7aTxlOysraSl0aGlzLnNldENlbGwoaSx0KX1lbHNle3RoaXMuX2RhdGE9dGhpcy5fZGF0YS5zdWJhcnJheSgwLGkpO2NvbnN0IHQ9T2JqZWN0LmtleXModGhpcy5fY29tYmluZWQpO2ZvcihsZXQgaT0wO2k8dC5sZW5ndGg7aSsrKXtjb25zdCBzPXBhcnNlSW50KHRbaV0sMTApO3M+PWUmJmRlbGV0ZSB0aGlzLl9jb21iaW5lZFtzXX1jb25zdCBzPU9iamVjdC5rZXlzKHRoaXMuX2V4dGVuZGVkQXR0cnMpO2ZvcihsZXQgdD0wO3Q8cy5sZW5ndGg7dCsrKXtjb25zdCBpPXBhcnNlSW50KHNbdF0sMTApO2k+PWUmJmRlbGV0ZSB0aGlzLl9leHRlbmRlZEF0dHJzW2ldfX1yZXR1cm4gdGhpcy5sZW5ndGg9ZSw0KmkqMjx0aGlzLl9kYXRhLmJ1ZmZlci5ieXRlTGVuZ3RofWNsZWFudXBNZW1vcnkoKXtpZig0KnRoaXMuX2RhdGEubGVuZ3RoKjI8dGhpcy5fZGF0YS5idWZmZXIuYnl0ZUxlbmd0aCl7Y29uc3QgZT1uZXcgVWludDMyQXJyYXkodGhpcy5fZGF0YS5sZW5ndGgpO3JldHVybiBlLnNldCh0aGlzLl9kYXRhKSx0aGlzLl9kYXRhPWUsMX1yZXR1cm4gMH1maWxsKGUsdD0hMSl7aWYodClmb3IobGV0IHQ9MDt0PHRoaXMubGVuZ3RoOysrdCl0aGlzLmlzUHJvdGVjdGVkKHQpfHx0aGlzLnNldENlbGwodCxlKTtlbHNle3RoaXMuX2NvbWJpbmVkPXt9LHRoaXMuX2V4dGVuZGVkQXR0cnM9e307Zm9yKGxldCB0PTA7dDx0aGlzLmxlbmd0aDsrK3QpdGhpcy5zZXRDZWxsKHQsZSl9fWNvcHlGcm9tKGUpe3RoaXMubGVuZ3RoIT09ZS5sZW5ndGg/dGhpcy5fZGF0YT1uZXcgVWludDMyQXJyYXkoZS5fZGF0YSk6dGhpcy5fZGF0YS5zZXQoZS5fZGF0YSksdGhpcy5sZW5ndGg9ZS5sZW5ndGgsdGhpcy5fY29tYmluZWQ9e307Zm9yKGNvbnN0IHQgaW4gZS5fY29tYmluZWQpdGhpcy5fY29tYmluZWRbdF09ZS5fY29tYmluZWRbdF07dGhpcy5fZXh0ZW5kZWRBdHRycz17fTtmb3IoY29uc3QgdCBpbiBlLl9leHRlbmRlZEF0dHJzKXRoaXMuX2V4dGVuZGVkQXR0cnNbdF09ZS5fZXh0ZW5kZWRBdHRyc1t0XTt0aGlzLmlzV3JhcHBlZD1lLmlzV3JhcHBlZH1jbG9uZSgpe2NvbnN0IGU9bmV3IGgoMCk7ZS5fZGF0YT1uZXcgVWludDMyQXJyYXkodGhpcy5fZGF0YSksZS5sZW5ndGg9dGhpcy5sZW5ndGg7Zm9yKGNvbnN0IHQgaW4gdGhpcy5fY29tYmluZWQpZS5fY29tYmluZWRbdF09dGhpcy5fY29tYmluZWRbdF07Zm9yKGNvbnN0IHQgaW4gdGhpcy5fZXh0ZW5kZWRBdHRycyllLl9leHRlbmRlZEF0dHJzW3RdPXRoaXMuX2V4dGVuZGVkQXR0cnNbdF07cmV0dXJuIGUuaXNXcmFwcGVkPXRoaXMuaXNXcmFwcGVkLGV9Z2V0VHJpbW1lZExlbmd0aCgpe2ZvcihsZXQgZT10aGlzLmxlbmd0aC0xO2U+PTA7LS1lKWlmKDQxOTQzMDMmdGhpcy5fZGF0YVszKmUrMF0pcmV0dXJuIGUrKHRoaXMuX2RhdGFbMyplKzBdPj4yMik7cmV0dXJuIDB9Z2V0Tm9CZ1RyaW1tZWRMZW5ndGgoKXtmb3IobGV0IGU9dGhpcy5sZW5ndGgtMTtlPj0wOy0tZSlpZig0MTk0MzAzJnRoaXMuX2RhdGFbMyplKzBdfHw1MDMzMTY0OCZ0aGlzLl9kYXRhWzMqZSsyXSlyZXR1cm4gZSsodGhpcy5fZGF0YVszKmUrMF0+PjIyKTtyZXR1cm4gMH1jb3B5Q2VsbHNGcm9tKGUsdCxpLHMscil7Y29uc3Qgbj1lLl9kYXRhO2lmKHIpZm9yKGxldCByPXMtMTtyPj0wO3ItLSl7Zm9yKGxldCBlPTA7ZTwzO2UrKyl0aGlzLl9kYXRhWzMqKGkrcikrZV09blszKih0K3IpK2VdOzI2ODQzNTQ1NiZuWzMqKHQrcikrMl0mJih0aGlzLl9leHRlbmRlZEF0dHJzW2krcl09ZS5fZXh0ZW5kZWRBdHRyc1t0K3JdKX1lbHNlIGZvcihsZXQgcj0wO3I8cztyKyspe2ZvcihsZXQgZT0wO2U8MztlKyspdGhpcy5fZGF0YVszKihpK3IpK2VdPW5bMyoodCtyKStlXTsyNjg0MzU0NTYmblszKih0K3IpKzJdJiYodGhpcy5fZXh0ZW5kZWRBdHRyc1tpK3JdPWUuX2V4dGVuZGVkQXR0cnNbdCtyXSl9Y29uc3Qgbz1PYmplY3Qua2V5cyhlLl9jb21iaW5lZCk7Zm9yKGxldCBzPTA7czxvLmxlbmd0aDtzKyspe2NvbnN0IHI9cGFyc2VJbnQob1tzXSwxMCk7cj49dCYmKHRoaXMuX2NvbWJpbmVkW3ItdCtpXT1lLl9jb21iaW5lZFtyXSl9fXRyYW5zbGF0ZVRvU3RyaW5nKGUsdCxpLHMpe3Q9dD8/MCxpPWk/P3RoaXMubGVuZ3RoLGUmJihpPU1hdGgubWluKGksdGhpcy5nZXRUcmltbWVkTGVuZ3RoKCkpKSxzJiYocy5sZW5ndGg9MCk7bGV0IHI9XCJcIjtmb3IoO3Q8aTspe2NvbnN0IGU9dGhpcy5fZGF0YVszKnQrMF0saT0yMDk3MTUxJmUsYT0yMDk3MTUyJmU/dGhpcy5fY29tYmluZWRbdF06aT8oMCxvLnN0cmluZ0Zyb21Db2RlUG9pbnQpKGkpOm4uV0hJVEVTUEFDRV9DRUxMX0NIQVI7aWYocis9YSxzKWZvcihsZXQgZT0wO2U8YS5sZW5ndGg7KytlKXMucHVzaCh0KTt0Kz1lPj4yMnx8MX1yZXR1cm4gcyYmcy5wdXNoKHQpLHJ9fXQuQnVmZmVyTGluZT1ofSw0ODQxOihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5nZXRSYW5nZUxlbmd0aD12b2lkIDAsdC5nZXRSYW5nZUxlbmd0aD1mdW5jdGlvbihlLHQpe2lmKGUuc3RhcnQueT5lLmVuZC55KXRocm93IG5ldyBFcnJvcihgQnVmZmVyIHJhbmdlIGVuZCAoJHtlLmVuZC54fSwgJHtlLmVuZC55fSkgY2Fubm90IGJlIGJlZm9yZSBzdGFydCAoJHtlLnN0YXJ0Lnh9LCAke2Uuc3RhcnQueX0pYCk7cmV0dXJuIHQqKGUuZW5kLnktZS5zdGFydC55KSsoZS5lbmQueC1lLnN0YXJ0LngrMSl9fSw0NjM0OihlLHQpPT57ZnVuY3Rpb24gaShlLHQsaSl7aWYodD09PWUubGVuZ3RoLTEpcmV0dXJuIGVbdF0uZ2V0VHJpbW1lZExlbmd0aCgpO2NvbnN0IHM9IWVbdF0uaGFzQ29udGVudChpLTEpJiYxPT09ZVt0XS5nZXRXaWR0aChpLTEpLHI9Mj09PWVbdCsxXS5nZXRXaWR0aCgwKTtyZXR1cm4gcyYmcj9pLTE6aX1PYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LmdldFdyYXBwZWRMaW5lVHJpbW1lZExlbmd0aD10LnJlZmxvd1NtYWxsZXJHZXROZXdMaW5lTGVuZ3Rocz10LnJlZmxvd0xhcmdlckFwcGx5TmV3TGF5b3V0PXQucmVmbG93TGFyZ2VyQ3JlYXRlTmV3TGF5b3V0PXQucmVmbG93TGFyZ2VyR2V0TGluZXNUb1JlbW92ZT12b2lkIDAsdC5yZWZsb3dMYXJnZXJHZXRMaW5lc1RvUmVtb3ZlPWZ1bmN0aW9uKGUsdCxzLHIsbil7Y29uc3Qgbz1bXTtmb3IobGV0IGE9MDthPGUubGVuZ3RoLTE7YSsrKXtsZXQgaD1hLGM9ZS5nZXQoKytoKTtpZighYy5pc1dyYXBwZWQpY29udGludWU7Y29uc3QgbD1bZS5nZXQoYSldO2Zvcig7aDxlLmxlbmd0aCYmYy5pc1dyYXBwZWQ7KWwucHVzaChjKSxjPWUuZ2V0KCsraCk7aWYocj49YSYmcjxoKXthKz1sLmxlbmd0aC0xO2NvbnRpbnVlfWxldCBkPTAsXz1pKGwsZCx0KSx1PTEsZj0wO2Zvcig7dTxsLmxlbmd0aDspe2NvbnN0IGU9aShsLHUsdCkscj1lLWYsbz1zLV8sYT1NYXRoLm1pbihyLG8pO2xbZF0uY29weUNlbGxzRnJvbShsW3VdLGYsXyxhLCExKSxfKz1hLF89PT1zJiYoZCsrLF89MCksZis9YSxmPT09ZSYmKHUrKyxmPTApLDA9PT1fJiYwIT09ZCYmMj09PWxbZC0xXS5nZXRXaWR0aChzLTEpJiYobFtkXS5jb3B5Q2VsbHNGcm9tKGxbZC0xXSxzLTEsXysrLDEsITEpLGxbZC0xXS5zZXRDZWxsKHMtMSxuKSl9bFtkXS5yZXBsYWNlQ2VsbHMoXyxzLG4pO2xldCB2PTA7Zm9yKGxldCBlPWwubGVuZ3RoLTE7ZT4wJiYoZT5kfHwwPT09bFtlXS5nZXRUcmltbWVkTGVuZ3RoKCkpO2UtLSl2Kys7dj4wJiYoby5wdXNoKGErbC5sZW5ndGgtdiksby5wdXNoKHYpKSxhKz1sLmxlbmd0aC0xfXJldHVybiBvfSx0LnJlZmxvd0xhcmdlckNyZWF0ZU5ld0xheW91dD1mdW5jdGlvbihlLHQpe2NvbnN0IGk9W107bGV0IHM9MCxyPXRbc10sbj0wO2ZvcihsZXQgbz0wO288ZS5sZW5ndGg7bysrKWlmKHI9PT1vKXtjb25zdCBpPXRbKytzXTtlLm9uRGVsZXRlRW1pdHRlci5maXJlKHtpbmRleDpvLW4sYW1vdW50Oml9KSxvKz1pLTEsbis9aSxyPXRbKytzXX1lbHNlIGkucHVzaChvKTtyZXR1cm57bGF5b3V0OmksY291bnRSZW1vdmVkOm59fSx0LnJlZmxvd0xhcmdlckFwcGx5TmV3TGF5b3V0PWZ1bmN0aW9uKGUsdCl7Y29uc3QgaT1bXTtmb3IobGV0IHM9MDtzPHQubGVuZ3RoO3MrKylpLnB1c2goZS5nZXQodFtzXSkpO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKWUuc2V0KHQsaVt0XSk7ZS5sZW5ndGg9dC5sZW5ndGh9LHQucmVmbG93U21hbGxlckdldE5ld0xpbmVMZW5ndGhzPWZ1bmN0aW9uKGUsdCxzKXtjb25zdCByPVtdLG49ZS5tYXAoKChzLHIpPT5pKGUscix0KSkpLnJlZHVjZSgoKGUsdCk9PmUrdCkpO2xldCBvPTAsYT0wLGg9MDtmb3IoO2g8bjspe2lmKG4taDxzKXtyLnB1c2gobi1oKTticmVha31vKz1zO2NvbnN0IGM9aShlLGEsdCk7bz5jJiYoby09YyxhKyspO2NvbnN0IGw9Mj09PWVbYV0uZ2V0V2lkdGgoby0xKTtsJiZvLS07Y29uc3QgZD1sP3MtMTpzO3IucHVzaChkKSxoKz1kfXJldHVybiByfSx0LmdldFdyYXBwZWRMaW5lVHJpbW1lZExlbmd0aD1pfSw1Mjk1OihlLHQsaSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkJ1ZmZlclNldD12b2lkIDA7Y29uc3Qgcz1pKDg0NjApLHI9aSg4NDQpLG49aSg5MDkyKTtjbGFzcyBvIGV4dGVuZHMgci5EaXNwb3NhYmxle2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9vcHRpb25zU2VydmljZT1lLHRoaXMuX2J1ZmZlclNlcnZpY2U9dCx0aGlzLl9vbkJ1ZmZlckFjdGl2YXRlPXRoaXMucmVnaXN0ZXIobmV3IHMuRXZlbnRFbWl0dGVyKSx0aGlzLm9uQnVmZmVyQWN0aXZhdGU9dGhpcy5fb25CdWZmZXJBY3RpdmF0ZS5ldmVudCx0aGlzLnJlc2V0KCksdGhpcy5yZWdpc3Rlcih0aGlzLl9vcHRpb25zU2VydmljZS5vblNwZWNpZmljT3B0aW9uQ2hhbmdlKFwic2Nyb2xsYmFja1wiLCgoKT0+dGhpcy5yZXNpemUodGhpcy5fYnVmZmVyU2VydmljZS5jb2xzLHRoaXMuX2J1ZmZlclNlcnZpY2Uucm93cykpKSksdGhpcy5yZWdpc3Rlcih0aGlzLl9vcHRpb25zU2VydmljZS5vblNwZWNpZmljT3B0aW9uQ2hhbmdlKFwidGFiU3RvcFdpZHRoXCIsKCgpPT50aGlzLnNldHVwVGFiU3RvcHMoKSkpKX1yZXNldCgpe3RoaXMuX25vcm1hbD1uZXcgbi5CdWZmZXIoITAsdGhpcy5fb3B0aW9uc1NlcnZpY2UsdGhpcy5fYnVmZmVyU2VydmljZSksdGhpcy5fbm9ybWFsLmZpbGxWaWV3cG9ydFJvd3MoKSx0aGlzLl9hbHQ9bmV3IG4uQnVmZmVyKCExLHRoaXMuX29wdGlvbnNTZXJ2aWNlLHRoaXMuX2J1ZmZlclNlcnZpY2UpLHRoaXMuX2FjdGl2ZUJ1ZmZlcj10aGlzLl9ub3JtYWwsdGhpcy5fb25CdWZmZXJBY3RpdmF0ZS5maXJlKHthY3RpdmVCdWZmZXI6dGhpcy5fbm9ybWFsLGluYWN0aXZlQnVmZmVyOnRoaXMuX2FsdH0pLHRoaXMuc2V0dXBUYWJTdG9wcygpfWdldCBhbHQoKXtyZXR1cm4gdGhpcy5fYWx0fWdldCBhY3RpdmUoKXtyZXR1cm4gdGhpcy5fYWN0aXZlQnVmZmVyfWdldCBub3JtYWwoKXtyZXR1cm4gdGhpcy5fbm9ybWFsfWFjdGl2YXRlTm9ybWFsQnVmZmVyKCl7dGhpcy5fYWN0aXZlQnVmZmVyIT09dGhpcy5fbm9ybWFsJiYodGhpcy5fbm9ybWFsLng9dGhpcy5fYWx0LngsdGhpcy5fbm9ybWFsLnk9dGhpcy5fYWx0LnksdGhpcy5fYWx0LmNsZWFyQWxsTWFya2VycygpLHRoaXMuX2FsdC5jbGVhcigpLHRoaXMuX2FjdGl2ZUJ1ZmZlcj10aGlzLl9ub3JtYWwsdGhpcy5fb25CdWZmZXJBY3RpdmF0ZS5maXJlKHthY3RpdmVCdWZmZXI6dGhpcy5fbm9ybWFsLGluYWN0aXZlQnVmZmVyOnRoaXMuX2FsdH0pKX1hY3RpdmF0ZUFsdEJ1ZmZlcihlKXt0aGlzLl9hY3RpdmVCdWZmZXIhPT10aGlzLl9hbHQmJih0aGlzLl9hbHQuZmlsbFZpZXdwb3J0Um93cyhlKSx0aGlzLl9hbHQueD10aGlzLl9ub3JtYWwueCx0aGlzLl9hbHQueT10aGlzLl9ub3JtYWwueSx0aGlzLl9hY3RpdmVCdWZmZXI9dGhpcy5fYWx0LHRoaXMuX29uQnVmZmVyQWN0aXZhdGUuZmlyZSh7YWN0aXZlQnVmZmVyOnRoaXMuX2FsdCxpbmFjdGl2ZUJ1ZmZlcjp0aGlzLl9ub3JtYWx9KSl9cmVzaXplKGUsdCl7dGhpcy5fbm9ybWFsLnJlc2l6ZShlLHQpLHRoaXMuX2FsdC5yZXNpemUoZSx0KSx0aGlzLnNldHVwVGFiU3RvcHMoZSl9c2V0dXBUYWJTdG9wcyhlKXt0aGlzLl9ub3JtYWwuc2V0dXBUYWJTdG9wcyhlKSx0aGlzLl9hbHQuc2V0dXBUYWJTdG9wcyhlKX19dC5CdWZmZXJTZXQ9b30sNTExOihlLHQsaSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkNlbGxEYXRhPXZvaWQgMDtjb25zdCBzPWkoNDgyKSxyPWkoNjQzKSxuPWkoMzczNCk7Y2xhc3MgbyBleHRlbmRzIG4uQXR0cmlidXRlRGF0YXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5jb250ZW50PTAsdGhpcy5mZz0wLHRoaXMuYmc9MCx0aGlzLmV4dGVuZGVkPW5ldyBuLkV4dGVuZGVkQXR0cnMsdGhpcy5jb21iaW5lZERhdGE9XCJcIn1zdGF0aWMgZnJvbUNoYXJEYXRhKGUpe2NvbnN0IHQ9bmV3IG87cmV0dXJuIHQuc2V0RnJvbUNoYXJEYXRhKGUpLHR9aXNDb21iaW5lZCgpe3JldHVybiAyMDk3MTUyJnRoaXMuY29udGVudH1nZXRXaWR0aCgpe3JldHVybiB0aGlzLmNvbnRlbnQ+PjIyfWdldENoYXJzKCl7cmV0dXJuIDIwOTcxNTImdGhpcy5jb250ZW50P3RoaXMuY29tYmluZWREYXRhOjIwOTcxNTEmdGhpcy5jb250ZW50PygwLHMuc3RyaW5nRnJvbUNvZGVQb2ludCkoMjA5NzE1MSZ0aGlzLmNvbnRlbnQpOlwiXCJ9Z2V0Q29kZSgpe3JldHVybiB0aGlzLmlzQ29tYmluZWQoKT90aGlzLmNvbWJpbmVkRGF0YS5jaGFyQ29kZUF0KHRoaXMuY29tYmluZWREYXRhLmxlbmd0aC0xKToyMDk3MTUxJnRoaXMuY29udGVudH1zZXRGcm9tQ2hhckRhdGEoZSl7dGhpcy5mZz1lW3IuQ0hBUl9EQVRBX0FUVFJfSU5ERVhdLHRoaXMuYmc9MDtsZXQgdD0hMTtpZihlW3IuQ0hBUl9EQVRBX0NIQVJfSU5ERVhdLmxlbmd0aD4yKXQ9ITA7ZWxzZSBpZigyPT09ZVtyLkNIQVJfREFUQV9DSEFSX0lOREVYXS5sZW5ndGgpe2NvbnN0IGk9ZVtyLkNIQVJfREFUQV9DSEFSX0lOREVYXS5jaGFyQ29kZUF0KDApO2lmKDU1Mjk2PD1pJiZpPD01NjMxOSl7Y29uc3Qgcz1lW3IuQ0hBUl9EQVRBX0NIQVJfSU5ERVhdLmNoYXJDb2RlQXQoMSk7NTYzMjA8PXMmJnM8PTU3MzQzP3RoaXMuY29udGVudD0xMDI0KihpLTU1Mjk2KStzLTU2MzIwKzY1NTM2fGVbci5DSEFSX0RBVEFfV0lEVEhfSU5ERVhdPDwyMjp0PSEwfWVsc2UgdD0hMH1lbHNlIHRoaXMuY29udGVudD1lW3IuQ0hBUl9EQVRBX0NIQVJfSU5ERVhdLmNoYXJDb2RlQXQoMCl8ZVtyLkNIQVJfREFUQV9XSURUSF9JTkRFWF08PDIyO3QmJih0aGlzLmNvbWJpbmVkRGF0YT1lW3IuQ0hBUl9EQVRBX0NIQVJfSU5ERVhdLHRoaXMuY29udGVudD0yMDk3MTUyfGVbci5DSEFSX0RBVEFfV0lEVEhfSU5ERVhdPDwyMil9Z2V0QXNDaGFyRGF0YSgpe3JldHVyblt0aGlzLmZnLHRoaXMuZ2V0Q2hhcnMoKSx0aGlzLmdldFdpZHRoKCksdGhpcy5nZXRDb2RlKCldfX10LkNlbGxEYXRhPW99LDY0MzooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuV0hJVEVTUEFDRV9DRUxMX0NPREU9dC5XSElURVNQQUNFX0NFTExfV0lEVEg9dC5XSElURVNQQUNFX0NFTExfQ0hBUj10Lk5VTExfQ0VMTF9DT0RFPXQuTlVMTF9DRUxMX1dJRFRIPXQuTlVMTF9DRUxMX0NIQVI9dC5DSEFSX0RBVEFfQ09ERV9JTkRFWD10LkNIQVJfREFUQV9XSURUSF9JTkRFWD10LkNIQVJfREFUQV9DSEFSX0lOREVYPXQuQ0hBUl9EQVRBX0FUVFJfSU5ERVg9dC5ERUZBVUxUX0VYVD10LkRFRkFVTFRfQVRUUj10LkRFRkFVTFRfQ09MT1I9dm9pZCAwLHQuREVGQVVMVF9DT0xPUj0wLHQuREVGQVVMVF9BVFRSPTI1Nnx0LkRFRkFVTFRfQ09MT1I8PDksdC5ERUZBVUxUX0VYVD0wLHQuQ0hBUl9EQVRBX0FUVFJfSU5ERVg9MCx0LkNIQVJfREFUQV9DSEFSX0lOREVYPTEsdC5DSEFSX0RBVEFfV0lEVEhfSU5ERVg9Mix0LkNIQVJfREFUQV9DT0RFX0lOREVYPTMsdC5OVUxMX0NFTExfQ0hBUj1cIlwiLHQuTlVMTF9DRUxMX1dJRFRIPTEsdC5OVUxMX0NFTExfQ09ERT0wLHQuV0hJVEVTUEFDRV9DRUxMX0NIQVI9XCIgXCIsdC5XSElURVNQQUNFX0NFTExfV0lEVEg9MSx0LldISVRFU1BBQ0VfQ0VMTF9DT0RFPTMyfSw0ODYzOihlLHQsaSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0Lk1hcmtlcj12b2lkIDA7Y29uc3Qgcz1pKDg0NjApLHI9aSg4NDQpO2NsYXNzIG57Z2V0IGlkKCl7cmV0dXJuIHRoaXMuX2lkfWNvbnN0cnVjdG9yKGUpe3RoaXMubGluZT1lLHRoaXMuaXNEaXNwb3NlZD0hMSx0aGlzLl9kaXNwb3NhYmxlcz1bXSx0aGlzLl9pZD1uLl9uZXh0SWQrKyx0aGlzLl9vbkRpc3Bvc2U9dGhpcy5yZWdpc3RlcihuZXcgcy5FdmVudEVtaXR0ZXIpLHRoaXMub25EaXNwb3NlPXRoaXMuX29uRGlzcG9zZS5ldmVudH1kaXNwb3NlKCl7dGhpcy5pc0Rpc3Bvc2VkfHwodGhpcy5pc0Rpc3Bvc2VkPSEwLHRoaXMubGluZT0tMSx0aGlzLl9vbkRpc3Bvc2UuZmlyZSgpLCgwLHIuZGlzcG9zZUFycmF5KSh0aGlzLl9kaXNwb3NhYmxlcyksdGhpcy5fZGlzcG9zYWJsZXMubGVuZ3RoPTApfXJlZ2lzdGVyKGUpe3JldHVybiB0aGlzLl9kaXNwb3NhYmxlcy5wdXNoKGUpLGV9fXQuTWFya2VyPW4sbi5fbmV4dElkPTF9LDcxMTY6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkRFRkFVTFRfQ0hBUlNFVD10LkNIQVJTRVRTPXZvaWQgMCx0LkNIQVJTRVRTPXt9LHQuREVGQVVMVF9DSEFSU0VUPXQuQ0hBUlNFVFMuQix0LkNIQVJTRVRTWzBdPXtcImBcIjpcIuKXhlwiLGE6XCLilpJcIixiOlwi4pCJXCIsYzpcIuKQjFwiLGQ6XCLikI1cIixlOlwi4pCKXCIsZjpcIsKwXCIsZzpcIsKxXCIsaDpcIuKQpFwiLGk6XCLikItcIixqOlwi4pSYXCIsazpcIuKUkFwiLGw6XCLilIxcIixtOlwi4pSUXCIsbjpcIuKUvFwiLG86XCLijrpcIixwOlwi4o67XCIscTpcIuKUgFwiLHI6XCLijrxcIixzOlwi4o69XCIsdDpcIuKUnFwiLHU6XCLilKRcIix2Olwi4pS0XCIsdzpcIuKUrFwiLHg6XCLilIJcIix5Olwi4omkXCIsejpcIuKJpVwiLFwie1wiOlwiz4BcIixcInxcIjpcIuKJoFwiLFwifVwiOlwiwqNcIixcIn5cIjpcIsK3XCJ9LHQuQ0hBUlNFVFMuQT17XCIjXCI6XCLCo1wifSx0LkNIQVJTRVRTLkI9dm9pZCAwLHQuQ0hBUlNFVFNbNF09e1wiI1wiOlwiwqNcIixcIkBcIjpcIsK+XCIsXCJbXCI6XCJpalwiLFwiXFxcXFwiOlwiwr1cIixcIl1cIjpcInxcIixcIntcIjpcIsKoXCIsXCJ8XCI6XCJmXCIsXCJ9XCI6XCLCvFwiLFwiflwiOlwiwrRcIn0sdC5DSEFSU0VUUy5DPXQuQ0hBUlNFVFNbNV09e1wiW1wiOlwiw4RcIixcIlxcXFxcIjpcIsOWXCIsXCJdXCI6XCLDhVwiLFwiXlwiOlwiw5xcIixcImBcIjpcIsOpXCIsXCJ7XCI6XCLDpFwiLFwifFwiOlwiw7ZcIixcIn1cIjpcIsOlXCIsXCJ+XCI6XCLDvFwifSx0LkNIQVJTRVRTLlI9e1wiI1wiOlwiwqNcIixcIkBcIjpcIsOgXCIsXCJbXCI6XCLCsFwiLFwiXFxcXFwiOlwiw6dcIixcIl1cIjpcIsKnXCIsXCJ7XCI6XCLDqVwiLFwifFwiOlwiw7lcIixcIn1cIjpcIsOoXCIsXCJ+XCI6XCLCqFwifSx0LkNIQVJTRVRTLlE9e1wiQFwiOlwiw6BcIixcIltcIjpcIsOiXCIsXCJcXFxcXCI6XCLDp1wiLFwiXVwiOlwiw6pcIixcIl5cIjpcIsOuXCIsXCJgXCI6XCLDtFwiLFwie1wiOlwiw6lcIixcInxcIjpcIsO5XCIsXCJ9XCI6XCLDqFwiLFwiflwiOlwiw7tcIn0sdC5DSEFSU0VUUy5LPXtcIkBcIjpcIsKnXCIsXCJbXCI6XCLDhFwiLFwiXFxcXFwiOlwiw5ZcIixcIl1cIjpcIsOcXCIsXCJ7XCI6XCLDpFwiLFwifFwiOlwiw7ZcIixcIn1cIjpcIsO8XCIsXCJ+XCI6XCLDn1wifSx0LkNIQVJTRVRTLlk9e1wiI1wiOlwiwqNcIixcIkBcIjpcIsKnXCIsXCJbXCI6XCLCsFwiLFwiXFxcXFwiOlwiw6dcIixcIl1cIjpcIsOpXCIsXCJgXCI6XCLDuVwiLFwie1wiOlwiw6BcIixcInxcIjpcIsOyXCIsXCJ9XCI6XCLDqFwiLFwiflwiOlwiw6xcIn0sdC5DSEFSU0VUUy5FPXQuQ0hBUlNFVFNbNl09e1wiQFwiOlwiw4RcIixcIltcIjpcIsOGXCIsXCJcXFxcXCI6XCLDmFwiLFwiXVwiOlwiw4VcIixcIl5cIjpcIsOcXCIsXCJgXCI6XCLDpFwiLFwie1wiOlwiw6ZcIixcInxcIjpcIsO4XCIsXCJ9XCI6XCLDpVwiLFwiflwiOlwiw7xcIn0sdC5DSEFSU0VUUy5aPXtcIiNcIjpcIsKjXCIsXCJAXCI6XCLCp1wiLFwiW1wiOlwiwqFcIixcIlxcXFxcIjpcIsORXCIsXCJdXCI6XCLCv1wiLFwie1wiOlwiwrBcIixcInxcIjpcIsOxXCIsXCJ9XCI6XCLDp1wifSx0LkNIQVJTRVRTLkg9dC5DSEFSU0VUU1s3XT17XCJAXCI6XCLDiVwiLFwiW1wiOlwiw4RcIixcIlxcXFxcIjpcIsOWXCIsXCJdXCI6XCLDhVwiLFwiXlwiOlwiw5xcIixcImBcIjpcIsOpXCIsXCJ7XCI6XCLDpFwiLFwifFwiOlwiw7ZcIixcIn1cIjpcIsOlXCIsXCJ+XCI6XCLDvFwifSx0LkNIQVJTRVRTW1wiPVwiXT17XCIjXCI6XCLDuVwiLFwiQFwiOlwiw6BcIixcIltcIjpcIsOpXCIsXCJcXFxcXCI6XCLDp1wiLFwiXVwiOlwiw6pcIixcIl5cIjpcIsOuXCIsXzpcIsOoXCIsXCJgXCI6XCLDtFwiLFwie1wiOlwiw6RcIixcInxcIjpcIsO2XCIsXCJ9XCI6XCLDvFwiLFwiflwiOlwiw7tcIn19LDI1ODQ6KGUsdCk9Pnt2YXIgaSxzLHI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5DMV9FU0NBUEVEPXQuQzE9dC5DMD12b2lkIDAsZnVuY3Rpb24oZSl7ZS5OVUw9XCJcXDBcIixlLlNPSD1cIlx1MDAwMVwiLGUuU1RYPVwiXHUwMDAyXCIsZS5FVFg9XCJcdTAwMDNcIixlLkVPVD1cIlx1MDAwNFwiLGUuRU5RPVwiXHUwMDA1XCIsZS5BQ0s9XCJcdTAwMDZcIixlLkJFTD1cIlx1MDAwN1wiLGUuQlM9XCJcXGJcIixlLkhUPVwiXFx0XCIsZS5MRj1cIlxcblwiLGUuVlQ9XCJcXHZcIixlLkZGPVwiXFxmXCIsZS5DUj1cIlxcclwiLGUuU089XCJcdTAwMGVcIixlLlNJPVwiXHUwMDBmXCIsZS5ETEU9XCJcdTAwMTBcIixlLkRDMT1cIlx1MDAxMVwiLGUuREMyPVwiXHUwMDEyXCIsZS5EQzM9XCJcdTAwMTNcIixlLkRDND1cIlx1MDAxNFwiLGUuTkFLPVwiXHUwMDE1XCIsZS5TWU49XCJcdTAwMTZcIixlLkVUQj1cIlx1MDAxN1wiLGUuQ0FOPVwiXHUwMDE4XCIsZS5FTT1cIlx1MDAxOVwiLGUuU1VCPVwiXHUwMDFhXCIsZS5FU0M9XCJcdTAwMWJcIixlLkZTPVwiXHUwMDFjXCIsZS5HUz1cIlx1MDAxZFwiLGUuUlM9XCJcdTAwMWVcIixlLlVTPVwiXHUwMDFmXCIsZS5TUD1cIiBcIixlLkRFTD1cIn9cIn0oaXx8KHQuQzA9aT17fSkpLGZ1bmN0aW9uKGUpe2UuUEFEPVwiwoBcIixlLkhPUD1cIsKBXCIsZS5CUEg9XCLCglwiLGUuTkJIPVwiwoNcIixlLklORD1cIsKEXCIsZS5ORUw9XCLChVwiLGUuU1NBPVwiwoZcIixlLkVTQT1cIsKHXCIsZS5IVFM9XCLCiFwiLGUuSFRKPVwiwolcIixlLlZUUz1cIsKKXCIsZS5QTEQ9XCLCi1wiLGUuUExVPVwiwoxcIixlLlJJPVwiwo1cIixlLlNTMj1cIsKOXCIsZS5TUzM9XCLCj1wiLGUuRENTPVwiwpBcIixlLlBVMT1cIsKRXCIsZS5QVTI9XCLCklwiLGUuU1RTPVwiwpNcIixlLkNDSD1cIsKUXCIsZS5NVz1cIsKVXCIsZS5TUEE9XCLCllwiLGUuRVBBPVwiwpdcIixlLlNPUz1cIsKYXCIsZS5TR0NJPVwiwplcIixlLlNDST1cIsKaXCIsZS5DU0k9XCLCm1wiLGUuU1Q9XCLCnFwiLGUuT1NDPVwiwp1cIixlLlBNPVwiwp5cIixlLkFQQz1cIsKfXCJ9KHN8fCh0LkMxPXM9e30pKSxmdW5jdGlvbihlKXtlLlNUPWAke2kuRVNDfVxcXFxgfShyfHwodC5DMV9FU0NBUEVEPXI9e30pKX0sNzM5OTooZSx0LGkpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5ldmFsdWF0ZUtleWJvYXJkRXZlbnQ9dm9pZCAwO2NvbnN0IHM9aSgyNTg0KSxyPXs0ODpbXCIwXCIsXCIpXCJdLDQ5OltcIjFcIixcIiFcIl0sNTA6W1wiMlwiLFwiQFwiXSw1MTpbXCIzXCIsXCIjXCJdLDUyOltcIjRcIixcIiRcIl0sNTM6W1wiNVwiLFwiJVwiXSw1NDpbXCI2XCIsXCJeXCJdLDU1OltcIjdcIixcIiZcIl0sNTY6W1wiOFwiLFwiKlwiXSw1NzpbXCI5XCIsXCIoXCJdLDE4NjpbXCI7XCIsXCI6XCJdLDE4NzpbXCI9XCIsXCIrXCJdLDE4ODpbXCIsXCIsXCI8XCJdLDE4OTpbXCItXCIsXCJfXCJdLDE5MDpbXCIuXCIsXCI+XCJdLDE5MTpbXCIvXCIsXCI/XCJdLDE5MjpbXCJgXCIsXCJ+XCJdLDIxOTpbXCJbXCIsXCJ7XCJdLDIyMDpbXCJcXFxcXCIsXCJ8XCJdLDIyMTpbXCJdXCIsXCJ9XCJdLDIyMjpbXCInXCIsJ1wiJ119O3QuZXZhbHVhdGVLZXlib2FyZEV2ZW50PWZ1bmN0aW9uKGUsdCxpLG4pe2NvbnN0IG89e3R5cGU6MCxjYW5jZWw6ITEsa2V5OnZvaWQgMH0sYT0oZS5zaGlmdEtleT8xOjApfChlLmFsdEtleT8yOjApfChlLmN0cmxLZXk/NDowKXwoZS5tZXRhS2V5Pzg6MCk7c3dpdGNoKGUua2V5Q29kZSl7Y2FzZSAwOlwiVUlLZXlJbnB1dFVwQXJyb3dcIj09PWUua2V5P28ua2V5PXQ/cy5DMC5FU0MrXCJPQVwiOnMuQzAuRVNDK1wiW0FcIjpcIlVJS2V5SW5wdXRMZWZ0QXJyb3dcIj09PWUua2V5P28ua2V5PXQ/cy5DMC5FU0MrXCJPRFwiOnMuQzAuRVNDK1wiW0RcIjpcIlVJS2V5SW5wdXRSaWdodEFycm93XCI9PT1lLmtleT9vLmtleT10P3MuQzAuRVNDK1wiT0NcIjpzLkMwLkVTQytcIltDXCI6XCJVSUtleUlucHV0RG93bkFycm93XCI9PT1lLmtleSYmKG8ua2V5PXQ/cy5DMC5FU0MrXCJPQlwiOnMuQzAuRVNDK1wiW0JcIik7YnJlYWs7Y2FzZSA4Om8ua2V5PWUuY3RybEtleT9cIlxcYlwiOnMuQzAuREVMLGUuYWx0S2V5JiYoby5rZXk9cy5DMC5FU0Mrby5rZXkpO2JyZWFrO2Nhc2UgOTppZihlLnNoaWZ0S2V5KXtvLmtleT1zLkMwLkVTQytcIltaXCI7YnJlYWt9by5rZXk9cy5DMC5IVCxvLmNhbmNlbD0hMDticmVhaztjYXNlIDEzOm8ua2V5PWUuYWx0S2V5P3MuQzAuRVNDK3MuQzAuQ1I6cy5DMC5DUixvLmNhbmNlbD0hMDticmVhaztjYXNlIDI3Om8ua2V5PXMuQzAuRVNDLGUuYWx0S2V5JiYoby5rZXk9cy5DMC5FU0Mrcy5DMC5FU0MpLG8uY2FuY2VsPSEwO2JyZWFrO2Nhc2UgMzc6aWYoZS5tZXRhS2V5KWJyZWFrO2E/KG8ua2V5PXMuQzAuRVNDK1wiWzE7XCIrKGErMSkrXCJEXCIsby5rZXk9PT1zLkMwLkVTQytcIlsxOzNEXCImJihvLmtleT1zLkMwLkVTQysoaT9cImJcIjpcIlsxOzVEXCIpKSk6by5rZXk9dD9zLkMwLkVTQytcIk9EXCI6cy5DMC5FU0MrXCJbRFwiO2JyZWFrO2Nhc2UgMzk6aWYoZS5tZXRhS2V5KWJyZWFrO2E/KG8ua2V5PXMuQzAuRVNDK1wiWzE7XCIrKGErMSkrXCJDXCIsby5rZXk9PT1zLkMwLkVTQytcIlsxOzNDXCImJihvLmtleT1zLkMwLkVTQysoaT9cImZcIjpcIlsxOzVDXCIpKSk6by5rZXk9dD9zLkMwLkVTQytcIk9DXCI6cy5DMC5FU0MrXCJbQ1wiO2JyZWFrO2Nhc2UgMzg6aWYoZS5tZXRhS2V5KWJyZWFrO2E/KG8ua2V5PXMuQzAuRVNDK1wiWzE7XCIrKGErMSkrXCJBXCIsaXx8by5rZXkhPT1zLkMwLkVTQytcIlsxOzNBXCJ8fChvLmtleT1zLkMwLkVTQytcIlsxOzVBXCIpKTpvLmtleT10P3MuQzAuRVNDK1wiT0FcIjpzLkMwLkVTQytcIltBXCI7YnJlYWs7Y2FzZSA0MDppZihlLm1ldGFLZXkpYnJlYWs7YT8oby5rZXk9cy5DMC5FU0MrXCJbMTtcIisoYSsxKStcIkJcIixpfHxvLmtleSE9PXMuQzAuRVNDK1wiWzE7M0JcInx8KG8ua2V5PXMuQzAuRVNDK1wiWzE7NUJcIikpOm8ua2V5PXQ/cy5DMC5FU0MrXCJPQlwiOnMuQzAuRVNDK1wiW0JcIjticmVhaztjYXNlIDQ1OmUuc2hpZnRLZXl8fGUuY3RybEtleXx8KG8ua2V5PXMuQzAuRVNDK1wiWzJ+XCIpO2JyZWFrO2Nhc2UgNDY6by5rZXk9YT9zLkMwLkVTQytcIlszO1wiKyhhKzEpK1wiflwiOnMuQzAuRVNDK1wiWzN+XCI7YnJlYWs7Y2FzZSAzNjpvLmtleT1hP3MuQzAuRVNDK1wiWzE7XCIrKGErMSkrXCJIXCI6dD9zLkMwLkVTQytcIk9IXCI6cy5DMC5FU0MrXCJbSFwiO2JyZWFrO2Nhc2UgMzU6by5rZXk9YT9zLkMwLkVTQytcIlsxO1wiKyhhKzEpK1wiRlwiOnQ/cy5DMC5FU0MrXCJPRlwiOnMuQzAuRVNDK1wiW0ZcIjticmVhaztjYXNlIDMzOmUuc2hpZnRLZXk/by50eXBlPTI6ZS5jdHJsS2V5P28ua2V5PXMuQzAuRVNDK1wiWzU7XCIrKGErMSkrXCJ+XCI6by5rZXk9cy5DMC5FU0MrXCJbNX5cIjticmVhaztjYXNlIDM0OmUuc2hpZnRLZXk/by50eXBlPTM6ZS5jdHJsS2V5P28ua2V5PXMuQzAuRVNDK1wiWzY7XCIrKGErMSkrXCJ+XCI6by5rZXk9cy5DMC5FU0MrXCJbNn5cIjticmVhaztjYXNlIDExMjpvLmtleT1hP3MuQzAuRVNDK1wiWzE7XCIrKGErMSkrXCJQXCI6cy5DMC5FU0MrXCJPUFwiO2JyZWFrO2Nhc2UgMTEzOm8ua2V5PWE/cy5DMC5FU0MrXCJbMTtcIisoYSsxKStcIlFcIjpzLkMwLkVTQytcIk9RXCI7YnJlYWs7Y2FzZSAxMTQ6by5rZXk9YT9zLkMwLkVTQytcIlsxO1wiKyhhKzEpK1wiUlwiOnMuQzAuRVNDK1wiT1JcIjticmVhaztjYXNlIDExNTpvLmtleT1hP3MuQzAuRVNDK1wiWzE7XCIrKGErMSkrXCJTXCI6cy5DMC5FU0MrXCJPU1wiO2JyZWFrO2Nhc2UgMTE2Om8ua2V5PWE/cy5DMC5FU0MrXCJbMTU7XCIrKGErMSkrXCJ+XCI6cy5DMC5FU0MrXCJbMTV+XCI7YnJlYWs7Y2FzZSAxMTc6by5rZXk9YT9zLkMwLkVTQytcIlsxNztcIisoYSsxKStcIn5cIjpzLkMwLkVTQytcIlsxN35cIjticmVhaztjYXNlIDExODpvLmtleT1hP3MuQzAuRVNDK1wiWzE4O1wiKyhhKzEpK1wiflwiOnMuQzAuRVNDK1wiWzE4flwiO2JyZWFrO2Nhc2UgMTE5Om8ua2V5PWE/cy5DMC5FU0MrXCJbMTk7XCIrKGErMSkrXCJ+XCI6cy5DMC5FU0MrXCJbMTl+XCI7YnJlYWs7Y2FzZSAxMjA6by5rZXk9YT9zLkMwLkVTQytcIlsyMDtcIisoYSsxKStcIn5cIjpzLkMwLkVTQytcIlsyMH5cIjticmVhaztjYXNlIDEyMTpvLmtleT1hP3MuQzAuRVNDK1wiWzIxO1wiKyhhKzEpK1wiflwiOnMuQzAuRVNDK1wiWzIxflwiO2JyZWFrO2Nhc2UgMTIyOm8ua2V5PWE/cy5DMC5FU0MrXCJbMjM7XCIrKGErMSkrXCJ+XCI6cy5DMC5FU0MrXCJbMjN+XCI7YnJlYWs7Y2FzZSAxMjM6by5rZXk9YT9zLkMwLkVTQytcIlsyNDtcIisoYSsxKStcIn5cIjpzLkMwLkVTQytcIlsyNH5cIjticmVhaztkZWZhdWx0OmlmKCFlLmN0cmxLZXl8fGUuc2hpZnRLZXl8fGUuYWx0S2V5fHxlLm1ldGFLZXkpaWYoaSYmIW58fCFlLmFsdEtleXx8ZS5tZXRhS2V5KSFpfHxlLmFsdEtleXx8ZS5jdHJsS2V5fHxlLnNoaWZ0S2V5fHwhZS5tZXRhS2V5P2Uua2V5JiYhZS5jdHJsS2V5JiYhZS5hbHRLZXkmJiFlLm1ldGFLZXkmJmUua2V5Q29kZT49NDgmJjE9PT1lLmtleS5sZW5ndGg/by5rZXk9ZS5rZXk6ZS5rZXkmJmUuY3RybEtleSYmKFwiX1wiPT09ZS5rZXkmJihvLmtleT1zLkMwLlVTKSxcIkBcIj09PWUua2V5JiYoby5rZXk9cy5DMC5OVUwpKTo2NT09PWUua2V5Q29kZSYmKG8udHlwZT0xKTtlbHNle2NvbnN0IHQ9cltlLmtleUNvZGVdLGk9dD8uW2Uuc2hpZnRLZXk/MTowXTtpZihpKW8ua2V5PXMuQzAuRVNDK2k7ZWxzZSBpZihlLmtleUNvZGU+PTY1JiZlLmtleUNvZGU8PTkwKXtjb25zdCB0PWUuY3RybEtleT9lLmtleUNvZGUtNjQ6ZS5rZXlDb2RlKzMyO2xldCBpPVN0cmluZy5mcm9tQ2hhckNvZGUodCk7ZS5zaGlmdEtleSYmKGk9aS50b1VwcGVyQ2FzZSgpKSxvLmtleT1zLkMwLkVTQytpfWVsc2UgaWYoMzI9PT1lLmtleUNvZGUpby5rZXk9cy5DMC5FU0MrKGUuY3RybEtleT9zLkMwLk5VTDpcIiBcIik7ZWxzZSBpZihcIkRlYWRcIj09PWUua2V5JiZlLmNvZGUuc3RhcnRzV2l0aChcIktleVwiKSl7bGV0IHQ9ZS5jb2RlLnNsaWNlKDMsNCk7ZS5zaGlmdEtleXx8KHQ9dC50b0xvd2VyQ2FzZSgpKSxvLmtleT1zLkMwLkVTQyt0LG8uY2FuY2VsPSEwfX1lbHNlIGUua2V5Q29kZT49NjUmJmUua2V5Q29kZTw9OTA/by5rZXk9U3RyaW5nLmZyb21DaGFyQ29kZShlLmtleUNvZGUtNjQpOjMyPT09ZS5rZXlDb2RlP28ua2V5PXMuQzAuTlVMOmUua2V5Q29kZT49NTEmJmUua2V5Q29kZTw9NTU/by5rZXk9U3RyaW5nLmZyb21DaGFyQ29kZShlLmtleUNvZGUtNTErMjcpOjU2PT09ZS5rZXlDb2RlP28ua2V5PXMuQzAuREVMOjIxOT09PWUua2V5Q29kZT9vLmtleT1zLkMwLkVTQzoyMjA9PT1lLmtleUNvZGU/by5rZXk9cy5DMC5GUzoyMjE9PT1lLmtleUNvZGUmJihvLmtleT1zLkMwLkdTKX1yZXR1cm4gb319LDQ4MjooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuVXRmOFRvVXRmMzI9dC5TdHJpbmdUb1V0ZjMyPXQudXRmMzJUb1N0cmluZz10LnN0cmluZ0Zyb21Db2RlUG9pbnQ9dm9pZCAwLHQuc3RyaW5nRnJvbUNvZGVQb2ludD1mdW5jdGlvbihlKXtyZXR1cm4gZT42NTUzNT8oZS09NjU1MzYsU3RyaW5nLmZyb21DaGFyQ29kZSg1NTI5NisoZT4+MTApKStTdHJpbmcuZnJvbUNoYXJDb2RlKGUlMTAyNCs1NjMyMCkpOlN0cmluZy5mcm9tQ2hhckNvZGUoZSl9LHQudXRmMzJUb1N0cmluZz1mdW5jdGlvbihlLHQ9MCxpPWUubGVuZ3RoKXtsZXQgcz1cIlwiO2ZvcihsZXQgcj10O3I8aTsrK3Ipe2xldCB0PWVbcl07dD42NTUzNT8odC09NjU1MzYscys9U3RyaW5nLmZyb21DaGFyQ29kZSg1NTI5NisodD4+MTApKStTdHJpbmcuZnJvbUNoYXJDb2RlKHQlMTAyNCs1NjMyMCkpOnMrPVN0cmluZy5mcm9tQ2hhckNvZGUodCl9cmV0dXJuIHN9LHQuU3RyaW5nVG9VdGYzMj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2ludGVyaW09MH1jbGVhcigpe3RoaXMuX2ludGVyaW09MH1kZWNvZGUoZSx0KXtjb25zdCBpPWUubGVuZ3RoO2lmKCFpKXJldHVybiAwO2xldCBzPTAscj0wO2lmKHRoaXMuX2ludGVyaW0pe2NvbnN0IGk9ZS5jaGFyQ29kZUF0KHIrKyk7NTYzMjA8PWkmJmk8PTU3MzQzP3RbcysrXT0xMDI0Kih0aGlzLl9pbnRlcmltLTU1Mjk2KStpLTU2MzIwKzY1NTM2Oih0W3MrK109dGhpcy5faW50ZXJpbSx0W3MrK109aSksdGhpcy5faW50ZXJpbT0wfWZvcihsZXQgbj1yO248aTsrK24pe2NvbnN0IHI9ZS5jaGFyQ29kZUF0KG4pO2lmKDU1Mjk2PD1yJiZyPD01NjMxOSl7aWYoKytuPj1pKXJldHVybiB0aGlzLl9pbnRlcmltPXIscztjb25zdCBvPWUuY2hhckNvZGVBdChuKTs1NjMyMDw9byYmbzw9NTczNDM/dFtzKytdPTEwMjQqKHItNTUyOTYpK28tNTYzMjArNjU1MzY6KHRbcysrXT1yLHRbcysrXT1vKX1lbHNlIDY1Mjc5IT09ciYmKHRbcysrXT1yKX1yZXR1cm4gc319LHQuVXRmOFRvVXRmMzI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmludGVyaW09bmV3IFVpbnQ4QXJyYXkoMyl9Y2xlYXIoKXt0aGlzLmludGVyaW0uZmlsbCgwKX1kZWNvZGUoZSx0KXtjb25zdCBpPWUubGVuZ3RoO2lmKCFpKXJldHVybiAwO2xldCBzLHIsbixvLGE9MCxoPTAsYz0wO2lmKHRoaXMuaW50ZXJpbVswXSl7bGV0IHM9ITEscj10aGlzLmludGVyaW1bMF07ciY9MTkyPT0oMjI0JnIpPzMxOjIyND09KDI0MCZyKT8xNTo3O2xldCBuLG89MDtmb3IoOyhuPTYzJnRoaXMuaW50ZXJpbVsrK29dKSYmbzw0OylyPDw9NixyfD1uO2NvbnN0IGg9MTkyPT0oMjI0JnRoaXMuaW50ZXJpbVswXSk/MjoyMjQ9PSgyNDAmdGhpcy5pbnRlcmltWzBdKT8zOjQsbD1oLW87Zm9yKDtjPGw7KXtpZihjPj1pKXJldHVybiAwO2lmKG49ZVtjKytdLDEyOCE9KDE5MiZuKSl7Yy0tLHM9ITA7YnJlYWt9dGhpcy5pbnRlcmltW28rK109bixyPDw9NixyfD02MyZufXN8fCgyPT09aD9yPDEyOD9jLS06dFthKytdPXI6Mz09PWg/cjwyMDQ4fHxyPj01NTI5NiYmcjw9NTczNDN8fDY1Mjc5PT09cnx8KHRbYSsrXT1yKTpyPDY1NTM2fHxyPjExMTQxMTF8fCh0W2ErK109cikpLHRoaXMuaW50ZXJpbS5maWxsKDApfWNvbnN0IGw9aS00O2xldCBkPWM7Zm9yKDtkPGk7KXtmb3IoOyEoIShkPGwpfHwxMjgmKHM9ZVtkXSl8fDEyOCYocj1lW2QrMV0pfHwxMjgmKG49ZVtkKzJdKXx8MTI4JihvPWVbZCszXSkpOyl0W2ErK109cyx0W2ErK109cix0W2ErK109bix0W2ErK109byxkKz00O2lmKHM9ZVtkKytdLHM8MTI4KXRbYSsrXT1zO2Vsc2UgaWYoMTkyPT0oMjI0JnMpKXtpZihkPj1pKXJldHVybiB0aGlzLmludGVyaW1bMF09cyxhO2lmKHI9ZVtkKytdLDEyOCE9KDE5MiZyKSl7ZC0tO2NvbnRpbnVlfWlmKGg9KDMxJnMpPDw2fDYzJnIsaDwxMjgpe2QtLTtjb250aW51ZX10W2ErK109aH1lbHNlIGlmKDIyND09KDI0MCZzKSl7aWYoZD49aSlyZXR1cm4gdGhpcy5pbnRlcmltWzBdPXMsYTtpZihyPWVbZCsrXSwxMjghPSgxOTImcikpe2QtLTtjb250aW51ZX1pZihkPj1pKXJldHVybiB0aGlzLmludGVyaW1bMF09cyx0aGlzLmludGVyaW1bMV09cixhO2lmKG49ZVtkKytdLDEyOCE9KDE5MiZuKSl7ZC0tO2NvbnRpbnVlfWlmKGg9KDE1JnMpPDwxMnwoNjMmcik8PDZ8NjMmbixoPDIwNDh8fGg+PTU1Mjk2JiZoPD01NzM0M3x8NjUyNzk9PT1oKWNvbnRpbnVlO3RbYSsrXT1ofWVsc2UgaWYoMjQwPT0oMjQ4JnMpKXtpZihkPj1pKXJldHVybiB0aGlzLmludGVyaW1bMF09cyxhO2lmKHI9ZVtkKytdLDEyOCE9KDE5MiZyKSl7ZC0tO2NvbnRpbnVlfWlmKGQ+PWkpcmV0dXJuIHRoaXMuaW50ZXJpbVswXT1zLHRoaXMuaW50ZXJpbVsxXT1yLGE7aWYobj1lW2QrK10sMTI4IT0oMTkyJm4pKXtkLS07Y29udGludWV9aWYoZD49aSlyZXR1cm4gdGhpcy5pbnRlcmltWzBdPXMsdGhpcy5pbnRlcmltWzFdPXIsdGhpcy5pbnRlcmltWzJdPW4sYTtpZihvPWVbZCsrXSwxMjghPSgxOTImbykpe2QtLTtjb250aW51ZX1pZihoPSg3JnMpPDwxOHwoNjMmcik8PDEyfCg2MyZuKTw8Nnw2MyZvLGg8NjU1MzZ8fGg+MTExNDExMSljb250aW51ZTt0W2ErK109aH19cmV0dXJuIGF9fX0sMjI1OihlLHQsaSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LlVuaWNvZGVWNj12b2lkIDA7Y29uc3Qgcz1pKDE0ODApLHI9W1s3NjgsODc5XSxbMTE1NSwxMTU4XSxbMTE2MCwxMTYxXSxbMTQyNSwxNDY5XSxbMTQ3MSwxNDcxXSxbMTQ3MywxNDc0XSxbMTQ3NiwxNDc3XSxbMTQ3OSwxNDc5XSxbMTUzNiwxNTM5XSxbMTU1MiwxNTU3XSxbMTYxMSwxNjMwXSxbMTY0OCwxNjQ4XSxbMTc1MCwxNzY0XSxbMTc2NywxNzY4XSxbMTc3MCwxNzczXSxbMTgwNywxODA3XSxbMTgwOSwxODA5XSxbMTg0MCwxODY2XSxbMTk1OCwxOTY4XSxbMjAyNywyMDM1XSxbMjMwNSwyMzA2XSxbMjM2NCwyMzY0XSxbMjM2OSwyMzc2XSxbMjM4MSwyMzgxXSxbMjM4NSwyMzg4XSxbMjQwMiwyNDAzXSxbMjQzMywyNDMzXSxbMjQ5MiwyNDkyXSxbMjQ5NywyNTAwXSxbMjUwOSwyNTA5XSxbMjUzMCwyNTMxXSxbMjU2MSwyNTYyXSxbMjYyMCwyNjIwXSxbMjYyNSwyNjI2XSxbMjYzMSwyNjMyXSxbMjYzNSwyNjM3XSxbMjY3MiwyNjczXSxbMjY4OSwyNjkwXSxbMjc0OCwyNzQ4XSxbMjc1MywyNzU3XSxbMjc1OSwyNzYwXSxbMjc2NSwyNzY1XSxbMjc4NiwyNzg3XSxbMjgxNywyODE3XSxbMjg3NiwyODc2XSxbMjg3OSwyODc5XSxbMjg4MSwyODgzXSxbMjg5MywyODkzXSxbMjkwMiwyOTAyXSxbMjk0NiwyOTQ2XSxbMzAwOCwzMDA4XSxbMzAyMSwzMDIxXSxbMzEzNCwzMTM2XSxbMzE0MiwzMTQ0XSxbMzE0NiwzMTQ5XSxbMzE1NywzMTU4XSxbMzI2MCwzMjYwXSxbMzI2MywzMjYzXSxbMzI3MCwzMjcwXSxbMzI3NiwzMjc3XSxbMzI5OCwzMjk5XSxbMzM5MywzMzk1XSxbMzQwNSwzNDA1XSxbMzUzMCwzNTMwXSxbMzUzOCwzNTQwXSxbMzU0MiwzNTQyXSxbMzYzMywzNjMzXSxbMzYzNiwzNjQyXSxbMzY1NSwzNjYyXSxbMzc2MSwzNzYxXSxbMzc2NCwzNzY5XSxbMzc3MSwzNzcyXSxbMzc4NCwzNzg5XSxbMzg2NCwzODY1XSxbMzg5MywzODkzXSxbMzg5NSwzODk1XSxbMzg5NywzODk3XSxbMzk1MywzOTY2XSxbMzk2OCwzOTcyXSxbMzk3NCwzOTc1XSxbMzk4NCwzOTkxXSxbMzk5Myw0MDI4XSxbNDAzOCw0MDM4XSxbNDE0MSw0MTQ0XSxbNDE0Niw0MTQ2XSxbNDE1MCw0MTUxXSxbNDE1Myw0MTUzXSxbNDE4NCw0MTg1XSxbNDQ0OCw0NjA3XSxbNDk1OSw0OTU5XSxbNTkwNiw1OTA4XSxbNTkzOCw1OTQwXSxbNTk3MCw1OTcxXSxbNjAwMiw2MDAzXSxbNjA2OCw2MDY5XSxbNjA3MSw2MDc3XSxbNjA4Niw2MDg2XSxbNjA4OSw2MDk5XSxbNjEwOSw2MTA5XSxbNjE1NSw2MTU3XSxbNjMxMyw2MzEzXSxbNjQzMiw2NDM0XSxbNjQzOSw2NDQwXSxbNjQ1MCw2NDUwXSxbNjQ1Nyw2NDU5XSxbNjY3OSw2NjgwXSxbNjkxMiw2OTE1XSxbNjk2NCw2OTY0XSxbNjk2Niw2OTcwXSxbNjk3Miw2OTcyXSxbNjk3OCw2OTc4XSxbNzAxOSw3MDI3XSxbNzYxNiw3NjI2XSxbNzY3OCw3Njc5XSxbODIwMyw4MjA3XSxbODIzNCw4MjM4XSxbODI4OCw4MjkxXSxbODI5OCw4MzAzXSxbODQwMCw4NDMxXSxbMTIzMzAsMTIzMzVdLFsxMjQ0MSwxMjQ0Ml0sWzQzMDE0LDQzMDE0XSxbNDMwMTksNDMwMTldLFs0MzA0NSw0MzA0Nl0sWzY0Mjg2LDY0Mjg2XSxbNjUwMjQsNjUwMzldLFs2NTA1Niw2NTA1OV0sWzY1Mjc5LDY1Mjc5XSxbNjU1MjksNjU1MzFdXSxuPVtbNjgwOTcsNjgwOTldLFs2ODEwMSw2ODEwMl0sWzY4MTA4LDY4MTExXSxbNjgxNTIsNjgxNTRdLFs2ODE1OSw2ODE1OV0sWzExOTE0MywxMTkxNDVdLFsxMTkxNTUsMTE5MTcwXSxbMTE5MTczLDExOTE3OV0sWzExOTIxMCwxMTkyMTNdLFsxMTkzNjIsMTE5MzY0XSxbOTE3NTA1LDkxNzUwNV0sWzkxNzUzNiw5MTc2MzFdLFs5MTc3NjAsOTE3OTk5XV07bGV0IG87dC5Vbmljb2RlVjY9Y2xhc3N7Y29uc3RydWN0b3IoKXtpZih0aGlzLnZlcnNpb249XCI2XCIsIW8pe289bmV3IFVpbnQ4QXJyYXkoNjU1MzYpLG8uZmlsbCgxKSxvWzBdPTAsby5maWxsKDAsMSwzMiksby5maWxsKDAsMTI3LDE2MCksby5maWxsKDIsNDM1Miw0NDQ4KSxvWzkwMDFdPTIsb1s5MDAyXT0yLG8uZmlsbCgyLDExOTA0LDQyMTkyKSxvWzEyMzUxXT0xLG8uZmlsbCgyLDQ0MDMyLDU1MjA0KSxvLmZpbGwoMiw2Mzc0NCw2NDI1Niksby5maWxsKDIsNjUwNDAsNjUwNTApLG8uZmlsbCgyLDY1MDcyLDY1MTM2KSxvLmZpbGwoMiw2NTI4MCw2NTM3Nyksby5maWxsKDIsNjU1MDQsNjU1MTEpO2ZvcihsZXQgZT0wO2U8ci5sZW5ndGg7KytlKW8uZmlsbCgwLHJbZV1bMF0scltlXVsxXSsxKX19d2N3aWR0aChlKXtyZXR1cm4gZTwzMj8wOmU8MTI3PzE6ZTw2NTUzNj9vW2VdOmZ1bmN0aW9uKGUsdCl7bGV0IGkscz0wLHI9dC5sZW5ndGgtMTtpZihlPHRbMF1bMF18fGU+dFtyXVsxXSlyZXR1cm4hMTtmb3IoO3I+PXM7KWlmKGk9cytyPj4xLGU+dFtpXVsxXSlzPWkrMTtlbHNle2lmKCEoZTx0W2ldWzBdKSlyZXR1cm4hMDtyPWktMX1yZXR1cm4hMX0oZSxuKT8wOmU+PTEzMTA3MiYmZTw9MTk2NjA1fHxlPj0xOTY2MDgmJmU8PTI2MjE0MT8yOjF9Y2hhclByb3BlcnRpZXMoZSx0KXtsZXQgaT10aGlzLndjd2lkdGgoZSkscj0wPT09aSYmMCE9PXQ7aWYocil7Y29uc3QgZT1zLlVuaWNvZGVTZXJ2aWNlLmV4dHJhY3RXaWR0aCh0KTswPT09ZT9yPSExOmU+aSYmKGk9ZSl9cmV0dXJuIHMuVW5pY29kZVNlcnZpY2UuY3JlYXRlUHJvcGVydHlWYWx1ZSgwLGkscil9fX0sNTk4MTooZSx0LGkpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5Xcml0ZUJ1ZmZlcj12b2lkIDA7Y29uc3Qgcz1pKDg0NjApLHI9aSg4NDQpO2NsYXNzIG4gZXh0ZW5kcyByLkRpc3Bvc2FibGV7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9hY3Rpb249ZSx0aGlzLl93cml0ZUJ1ZmZlcj1bXSx0aGlzLl9jYWxsYmFja3M9W10sdGhpcy5fcGVuZGluZ0RhdGE9MCx0aGlzLl9idWZmZXJPZmZzZXQ9MCx0aGlzLl9pc1N5bmNXcml0aW5nPSExLHRoaXMuX3N5bmNDYWxscz0wLHRoaXMuX2RpZFVzZXJJbnB1dD0hMSx0aGlzLl9vbldyaXRlUGFyc2VkPXRoaXMucmVnaXN0ZXIobmV3IHMuRXZlbnRFbWl0dGVyKSx0aGlzLm9uV3JpdGVQYXJzZWQ9dGhpcy5fb25Xcml0ZVBhcnNlZC5ldmVudH1oYW5kbGVVc2VySW5wdXQoKXt0aGlzLl9kaWRVc2VySW5wdXQ9ITB9d3JpdGVTeW5jKGUsdCl7aWYodm9pZCAwIT09dCYmdGhpcy5fc3luY0NhbGxzPnQpcmV0dXJuIHZvaWQodGhpcy5fc3luY0NhbGxzPTApO2lmKHRoaXMuX3BlbmRpbmdEYXRhKz1lLmxlbmd0aCx0aGlzLl93cml0ZUJ1ZmZlci5wdXNoKGUpLHRoaXMuX2NhbGxiYWNrcy5wdXNoKHZvaWQgMCksdGhpcy5fc3luY0NhbGxzKyssdGhpcy5faXNTeW5jV3JpdGluZylyZXR1cm47bGV0IGk7Zm9yKHRoaXMuX2lzU3luY1dyaXRpbmc9ITA7aT10aGlzLl93cml0ZUJ1ZmZlci5zaGlmdCgpOyl7dGhpcy5fYWN0aW9uKGkpO2NvbnN0IGU9dGhpcy5fY2FsbGJhY2tzLnNoaWZ0KCk7ZSYmZSgpfXRoaXMuX3BlbmRpbmdEYXRhPTAsdGhpcy5fYnVmZmVyT2Zmc2V0PTIxNDc0ODM2NDcsdGhpcy5faXNTeW5jV3JpdGluZz0hMSx0aGlzLl9zeW5jQ2FsbHM9MH13cml0ZShlLHQpe2lmKHRoaXMuX3BlbmRpbmdEYXRhPjVlNyl0aHJvdyBuZXcgRXJyb3IoXCJ3cml0ZSBkYXRhIGRpc2NhcmRlZCwgdXNlIGZsb3cgY29udHJvbCB0byBhdm9pZCBsb3NpbmcgZGF0YVwiKTtpZighdGhpcy5fd3JpdGVCdWZmZXIubGVuZ3RoKXtpZih0aGlzLl9idWZmZXJPZmZzZXQ9MCx0aGlzLl9kaWRVc2VySW5wdXQpcmV0dXJuIHRoaXMuX2RpZFVzZXJJbnB1dD0hMSx0aGlzLl9wZW5kaW5nRGF0YSs9ZS5sZW5ndGgsdGhpcy5fd3JpdGVCdWZmZXIucHVzaChlKSx0aGlzLl9jYWxsYmFja3MucHVzaCh0KSx2b2lkIHRoaXMuX2lubmVyV3JpdGUoKTtzZXRUaW1lb3V0KCgoKT0+dGhpcy5faW5uZXJXcml0ZSgpKSl9dGhpcy5fcGVuZGluZ0RhdGErPWUubGVuZ3RoLHRoaXMuX3dyaXRlQnVmZmVyLnB1c2goZSksdGhpcy5fY2FsbGJhY2tzLnB1c2godCl9X2lubmVyV3JpdGUoZT0wLHQ9ITApe2NvbnN0IGk9ZXx8RGF0ZS5ub3coKTtmb3IoO3RoaXMuX3dyaXRlQnVmZmVyLmxlbmd0aD50aGlzLl9idWZmZXJPZmZzZXQ7KXtjb25zdCBlPXRoaXMuX3dyaXRlQnVmZmVyW3RoaXMuX2J1ZmZlck9mZnNldF0scz10aGlzLl9hY3Rpb24oZSx0KTtpZihzKXtjb25zdCBlPWU9PkRhdGUubm93KCktaT49MTI/c2V0VGltZW91dCgoKCk9PnRoaXMuX2lubmVyV3JpdGUoMCxlKSkpOnRoaXMuX2lubmVyV3JpdGUoaSxlKTtyZXR1cm4gdm9pZCBzLmNhdGNoKChlPT4ocXVldWVNaWNyb3Rhc2soKCgpPT57dGhyb3cgZX0pKSxQcm9taXNlLnJlc29sdmUoITEpKSkpLnRoZW4oZSl9Y29uc3Qgcj10aGlzLl9jYWxsYmFja3NbdGhpcy5fYnVmZmVyT2Zmc2V0XTtpZihyJiZyKCksdGhpcy5fYnVmZmVyT2Zmc2V0KyssdGhpcy5fcGVuZGluZ0RhdGEtPWUubGVuZ3RoLERhdGUubm93KCktaT49MTIpYnJlYWt9dGhpcy5fd3JpdGVCdWZmZXIubGVuZ3RoPnRoaXMuX2J1ZmZlck9mZnNldD8odGhpcy5fYnVmZmVyT2Zmc2V0PjUwJiYodGhpcy5fd3JpdGVCdWZmZXI9dGhpcy5fd3JpdGVCdWZmZXIuc2xpY2UodGhpcy5fYnVmZmVyT2Zmc2V0KSx0aGlzLl9jYWxsYmFja3M9dGhpcy5fY2FsbGJhY2tzLnNsaWNlKHRoaXMuX2J1ZmZlck9mZnNldCksdGhpcy5fYnVmZmVyT2Zmc2V0PTApLHNldFRpbWVvdXQoKCgpPT50aGlzLl9pbm5lcldyaXRlKCkpKSk6KHRoaXMuX3dyaXRlQnVmZmVyLmxlbmd0aD0wLHRoaXMuX2NhbGxiYWNrcy5sZW5ndGg9MCx0aGlzLl9wZW5kaW5nRGF0YT0wLHRoaXMuX2J1ZmZlck9mZnNldD0wKSx0aGlzLl9vbldyaXRlUGFyc2VkLmZpcmUoKX19dC5Xcml0ZUJ1ZmZlcj1ufSw1OTQxOihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC50b1JnYlN0cmluZz10LnBhcnNlQ29sb3I9dm9pZCAwO2NvbnN0IGk9L14oW1xcZGEtZl0pXFwvKFtcXGRhLWZdKVxcLyhbXFxkYS1mXSkkfF4oW1xcZGEtZl17Mn0pXFwvKFtcXGRhLWZdezJ9KVxcLyhbXFxkYS1mXXsyfSkkfF4oW1xcZGEtZl17M30pXFwvKFtcXGRhLWZdezN9KVxcLyhbXFxkYS1mXXszfSkkfF4oW1xcZGEtZl17NH0pXFwvKFtcXGRhLWZdezR9KVxcLyhbXFxkYS1mXXs0fSkkLyxzPS9eW1xcZGEtZl0rJC87ZnVuY3Rpb24gcihlLHQpe2NvbnN0IGk9ZS50b1N0cmluZygxNikscz1pLmxlbmd0aDwyP1wiMFwiK2k6aTtzd2l0Y2godCl7Y2FzZSA0OnJldHVybiBpWzBdO2Nhc2UgODpyZXR1cm4gcztjYXNlIDEyOnJldHVybihzK3MpLnNsaWNlKDAsMyk7ZGVmYXVsdDpyZXR1cm4gcytzfX10LnBhcnNlQ29sb3I9ZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJuO2xldCB0PWUudG9Mb3dlckNhc2UoKTtpZigwPT09dC5pbmRleE9mKFwicmdiOlwiKSl7dD10LnNsaWNlKDQpO2NvbnN0IGU9aS5leGVjKHQpO2lmKGUpe2NvbnN0IHQ9ZVsxXT8xNTplWzRdPzI1NTplWzddPzQwOTU6NjU1MzU7cmV0dXJuW01hdGgucm91bmQocGFyc2VJbnQoZVsxXXx8ZVs0XXx8ZVs3XXx8ZVsxMF0sMTYpL3QqMjU1KSxNYXRoLnJvdW5kKHBhcnNlSW50KGVbMl18fGVbNV18fGVbOF18fGVbMTFdLDE2KS90KjI1NSksTWF0aC5yb3VuZChwYXJzZUludChlWzNdfHxlWzZdfHxlWzldfHxlWzEyXSwxNikvdCoyNTUpXX19ZWxzZSBpZigwPT09dC5pbmRleE9mKFwiI1wiKSYmKHQ9dC5zbGljZSgxKSxzLmV4ZWModCkmJlszLDYsOSwxMl0uaW5jbHVkZXModC5sZW5ndGgpKSl7Y29uc3QgZT10Lmxlbmd0aC8zLGk9WzAsMCwwXTtmb3IobGV0IHM9MDtzPDM7KytzKXtjb25zdCByPXBhcnNlSW50KHQuc2xpY2UoZSpzLGUqcytlKSwxNik7aVtzXT0xPT09ZT9yPDw0OjI9PT1lP3I6Mz09PWU/cj4+NDpyPj44fXJldHVybiBpfX0sdC50b1JnYlN0cmluZz1mdW5jdGlvbihlLHQ9MTYpe2NvbnN0W2kscyxuXT1lO3JldHVybmByZ2I6JHtyKGksdCl9LyR7cihzLHQpfS8ke3Iobix0KX1gfX0sNTc3MDooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuUEFZTE9BRF9MSU1JVD12b2lkIDAsdC5QQVlMT0FEX0xJTUlUPTFlN30sNjM1MTooZSx0LGkpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5EY3NIYW5kbGVyPXQuRGNzUGFyc2VyPXZvaWQgMDtjb25zdCBzPWkoNDgyKSxyPWkoODc0Miksbj1pKDU3NzApLG89W107dC5EY3NQYXJzZXI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLl9oYW5kbGVycz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2FjdGl2ZT1vLHRoaXMuX2lkZW50PTAsdGhpcy5faGFuZGxlckZiPSgpPT57fSx0aGlzLl9zdGFjaz17cGF1c2VkOiExLGxvb3BQb3NpdGlvbjowLGZhbGxUaHJvdWdoOiExfX1kaXNwb3NlKCl7dGhpcy5faGFuZGxlcnM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLl9oYW5kbGVyRmI9KCk9Pnt9LHRoaXMuX2FjdGl2ZT1vfXJlZ2lzdGVySGFuZGxlcihlLHQpe3ZvaWQgMD09PXRoaXMuX2hhbmRsZXJzW2VdJiYodGhpcy5faGFuZGxlcnNbZV09W10pO2NvbnN0IGk9dGhpcy5faGFuZGxlcnNbZV07cmV0dXJuIGkucHVzaCh0KSx7ZGlzcG9zZTooKT0+e2NvbnN0IGU9aS5pbmRleE9mKHQpOy0xIT09ZSYmaS5zcGxpY2UoZSwxKX19fWNsZWFySGFuZGxlcihlKXt0aGlzLl9oYW5kbGVyc1tlXSYmZGVsZXRlIHRoaXMuX2hhbmRsZXJzW2VdfXNldEhhbmRsZXJGYWxsYmFjayhlKXt0aGlzLl9oYW5kbGVyRmI9ZX1yZXNldCgpe2lmKHRoaXMuX2FjdGl2ZS5sZW5ndGgpZm9yKGxldCBlPXRoaXMuX3N0YWNrLnBhdXNlZD90aGlzLl9zdGFjay5sb29wUG9zaXRpb24tMTp0aGlzLl9hY3RpdmUubGVuZ3RoLTE7ZT49MDstLWUpdGhpcy5fYWN0aXZlW2VdLnVuaG9vayghMSk7dGhpcy5fc3RhY2sucGF1c2VkPSExLHRoaXMuX2FjdGl2ZT1vLHRoaXMuX2lkZW50PTB9aG9vayhlLHQpe2lmKHRoaXMucmVzZXQoKSx0aGlzLl9pZGVudD1lLHRoaXMuX2FjdGl2ZT10aGlzLl9oYW5kbGVyc1tlXXx8byx0aGlzLl9hY3RpdmUubGVuZ3RoKWZvcihsZXQgZT10aGlzLl9hY3RpdmUubGVuZ3RoLTE7ZT49MDtlLS0pdGhpcy5fYWN0aXZlW2VdLmhvb2sodCk7ZWxzZSB0aGlzLl9oYW5kbGVyRmIodGhpcy5faWRlbnQsXCJIT09LXCIsdCl9cHV0KGUsdCxpKXtpZih0aGlzLl9hY3RpdmUubGVuZ3RoKWZvcihsZXQgcz10aGlzLl9hY3RpdmUubGVuZ3RoLTE7cz49MDtzLS0pdGhpcy5fYWN0aXZlW3NdLnB1dChlLHQsaSk7ZWxzZSB0aGlzLl9oYW5kbGVyRmIodGhpcy5faWRlbnQsXCJQVVRcIiwoMCxzLnV0ZjMyVG9TdHJpbmcpKGUsdCxpKSl9dW5ob29rKGUsdD0hMCl7aWYodGhpcy5fYWN0aXZlLmxlbmd0aCl7bGV0IGk9ITEscz10aGlzLl9hY3RpdmUubGVuZ3RoLTEscj0hMTtpZih0aGlzLl9zdGFjay5wYXVzZWQmJihzPXRoaXMuX3N0YWNrLmxvb3BQb3NpdGlvbi0xLGk9dCxyPXRoaXMuX3N0YWNrLmZhbGxUaHJvdWdoLHRoaXMuX3N0YWNrLnBhdXNlZD0hMSksIXImJiExPT09aSl7Zm9yKDtzPj0wJiYoaT10aGlzLl9hY3RpdmVbc10udW5ob29rKGUpLCEwIT09aSk7cy0tKWlmKGkgaW5zdGFuY2VvZiBQcm9taXNlKXJldHVybiB0aGlzLl9zdGFjay5wYXVzZWQ9ITAsdGhpcy5fc3RhY2subG9vcFBvc2l0aW9uPXMsdGhpcy5fc3RhY2suZmFsbFRocm91Z2g9ITEsaTtzLS19Zm9yKDtzPj0wO3MtLSlpZihpPXRoaXMuX2FjdGl2ZVtzXS51bmhvb2soITEpLGkgaW5zdGFuY2VvZiBQcm9taXNlKXJldHVybiB0aGlzLl9zdGFjay5wYXVzZWQ9ITAsdGhpcy5fc3RhY2subG9vcFBvc2l0aW9uPXMsdGhpcy5fc3RhY2suZmFsbFRocm91Z2g9ITAsaX1lbHNlIHRoaXMuX2hhbmRsZXJGYih0aGlzLl9pZGVudCxcIlVOSE9PS1wiLGUpO3RoaXMuX2FjdGl2ZT1vLHRoaXMuX2lkZW50PTB9fTtjb25zdCBhPW5ldyByLlBhcmFtczthLmFkZFBhcmFtKDApLHQuRGNzSGFuZGxlcj1jbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9oYW5kbGVyPWUsdGhpcy5fZGF0YT1cIlwiLHRoaXMuX3BhcmFtcz1hLHRoaXMuX2hpdExpbWl0PSExfWhvb2soZSl7dGhpcy5fcGFyYW1zPWUubGVuZ3RoPjF8fGUucGFyYW1zWzBdP2UuY2xvbmUoKTphLHRoaXMuX2RhdGE9XCJcIix0aGlzLl9oaXRMaW1pdD0hMX1wdXQoZSx0LGkpe3RoaXMuX2hpdExpbWl0fHwodGhpcy5fZGF0YSs9KDAscy51dGYzMlRvU3RyaW5nKShlLHQsaSksdGhpcy5fZGF0YS5sZW5ndGg+bi5QQVlMT0FEX0xJTUlUJiYodGhpcy5fZGF0YT1cIlwiLHRoaXMuX2hpdExpbWl0PSEwKSl9dW5ob29rKGUpe2xldCB0PSExO2lmKHRoaXMuX2hpdExpbWl0KXQ9ITE7ZWxzZSBpZihlJiYodD10aGlzLl9oYW5kbGVyKHRoaXMuX2RhdGEsdGhpcy5fcGFyYW1zKSx0IGluc3RhbmNlb2YgUHJvbWlzZSkpcmV0dXJuIHQudGhlbigoZT0+KHRoaXMuX3BhcmFtcz1hLHRoaXMuX2RhdGE9XCJcIix0aGlzLl9oaXRMaW1pdD0hMSxlKSkpO3JldHVybiB0aGlzLl9wYXJhbXM9YSx0aGlzLl9kYXRhPVwiXCIsdGhpcy5faGl0TGltaXQ9ITEsdH19fSwyMDE1OihlLHQsaSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkVzY2FwZVNlcXVlbmNlUGFyc2VyPXQuVlQ1MDBfVFJBTlNJVElPTl9UQUJMRT10LlRyYW5zaXRpb25UYWJsZT12b2lkIDA7Y29uc3Qgcz1pKDg0NCkscj1pKDg3NDIpLG49aSg2MjQyKSxvPWkoNjM1MSk7Y2xhc3MgYXtjb25zdHJ1Y3RvcihlKXt0aGlzLnRhYmxlPW5ldyBVaW50OEFycmF5KGUpfXNldERlZmF1bHQoZSx0KXt0aGlzLnRhYmxlLmZpbGwoZTw8NHx0KX1hZGQoZSx0LGkscyl7dGhpcy50YWJsZVt0PDw4fGVdPWk8PDR8c31hZGRNYW55KGUsdCxpLHMpe2ZvcihsZXQgcj0wO3I8ZS5sZW5ndGg7cisrKXRoaXMudGFibGVbdDw8OHxlW3JdXT1pPDw0fHN9fXQuVHJhbnNpdGlvblRhYmxlPWE7Y29uc3QgaD0xNjA7dC5WVDUwMF9UUkFOU0lUSU9OX1RBQkxFPWZ1bmN0aW9uKCl7Y29uc3QgZT1uZXcgYSg0MDk1KSx0PUFycmF5LmFwcGx5KG51bGwsQXJyYXkoMjU2KSkubWFwKCgoZSx0KT0+dCkpLGk9KGUsaSk9PnQuc2xpY2UoZSxpKSxzPWkoMzIsMTI3KSxyPWkoMCwyNCk7ci5wdXNoKDI1KSxyLnB1c2guYXBwbHkocixpKDI4LDMyKSk7Y29uc3Qgbj1pKDAsMTQpO2xldCBvO2ZvcihvIGluIGUuc2V0RGVmYXVsdCgxLDApLGUuYWRkTWFueShzLDAsMiwwKSxuKWUuYWRkTWFueShbMjQsMjYsMTUzLDE1NF0sbywzLDApLGUuYWRkTWFueShpKDEyOCwxNDQpLG8sMywwKSxlLmFkZE1hbnkoaSgxNDQsMTUyKSxvLDMsMCksZS5hZGQoMTU2LG8sMCwwKSxlLmFkZCgyNyxvLDExLDEpLGUuYWRkKDE1NyxvLDQsOCksZS5hZGRNYW55KFsxNTIsMTU4LDE1OV0sbywwLDcpLGUuYWRkKDE1NSxvLDExLDMpLGUuYWRkKDE0NCxvLDExLDkpO3JldHVybiBlLmFkZE1hbnkociwwLDMsMCksZS5hZGRNYW55KHIsMSwzLDEpLGUuYWRkKDEyNywxLDAsMSksZS5hZGRNYW55KHIsOCwwLDgpLGUuYWRkTWFueShyLDMsMywzKSxlLmFkZCgxMjcsMywwLDMpLGUuYWRkTWFueShyLDQsMyw0KSxlLmFkZCgxMjcsNCwwLDQpLGUuYWRkTWFueShyLDYsMyw2KSxlLmFkZE1hbnkociw1LDMsNSksZS5hZGQoMTI3LDUsMCw1KSxlLmFkZE1hbnkociwyLDMsMiksZS5hZGQoMTI3LDIsMCwyKSxlLmFkZCg5MywxLDQsOCksZS5hZGRNYW55KHMsOCw1LDgpLGUuYWRkKDEyNyw4LDUsOCksZS5hZGRNYW55KFsxNTYsMjcsMjQsMjYsN10sOCw2LDApLGUuYWRkTWFueShpKDI4LDMyKSw4LDAsOCksZS5hZGRNYW55KFs4OCw5NCw5NV0sMSwwLDcpLGUuYWRkTWFueShzLDcsMCw3KSxlLmFkZE1hbnkociw3LDAsNyksZS5hZGQoMTU2LDcsMCwwKSxlLmFkZCgxMjcsNywwLDcpLGUuYWRkKDkxLDEsMTEsMyksZS5hZGRNYW55KGkoNjQsMTI3KSwzLDcsMCksZS5hZGRNYW55KGkoNDgsNjApLDMsOCw0KSxlLmFkZE1hbnkoWzYwLDYxLDYyLDYzXSwzLDksNCksZS5hZGRNYW55KGkoNDgsNjApLDQsOCw0KSxlLmFkZE1hbnkoaSg2NCwxMjcpLDQsNywwKSxlLmFkZE1hbnkoWzYwLDYxLDYyLDYzXSw0LDAsNiksZS5hZGRNYW55KGkoMzIsNjQpLDYsMCw2KSxlLmFkZCgxMjcsNiwwLDYpLGUuYWRkTWFueShpKDY0LDEyNyksNiwwLDApLGUuYWRkTWFueShpKDMyLDQ4KSwzLDksNSksZS5hZGRNYW55KGkoMzIsNDgpLDUsOSw1KSxlLmFkZE1hbnkoaSg0OCw2NCksNSwwLDYpLGUuYWRkTWFueShpKDY0LDEyNyksNSw3LDApLGUuYWRkTWFueShpKDMyLDQ4KSw0LDksNSksZS5hZGRNYW55KGkoMzIsNDgpLDEsOSwyKSxlLmFkZE1hbnkoaSgzMiw0OCksMiw5LDIpLGUuYWRkTWFueShpKDQ4LDEyNyksMiwxMCwwKSxlLmFkZE1hbnkoaSg0OCw4MCksMSwxMCwwKSxlLmFkZE1hbnkoaSg4MSw4OCksMSwxMCwwKSxlLmFkZE1hbnkoWzg5LDkwLDkyXSwxLDEwLDApLGUuYWRkTWFueShpKDk2LDEyNyksMSwxMCwwKSxlLmFkZCg4MCwxLDExLDkpLGUuYWRkTWFueShyLDksMCw5KSxlLmFkZCgxMjcsOSwwLDkpLGUuYWRkTWFueShpKDI4LDMyKSw5LDAsOSksZS5hZGRNYW55KGkoMzIsNDgpLDksOSwxMiksZS5hZGRNYW55KGkoNDgsNjApLDksOCwxMCksZS5hZGRNYW55KFs2MCw2MSw2Miw2M10sOSw5LDEwKSxlLmFkZE1hbnkociwxMSwwLDExKSxlLmFkZE1hbnkoaSgzMiwxMjgpLDExLDAsMTEpLGUuYWRkTWFueShpKDI4LDMyKSwxMSwwLDExKSxlLmFkZE1hbnkociwxMCwwLDEwKSxlLmFkZCgxMjcsMTAsMCwxMCksZS5hZGRNYW55KGkoMjgsMzIpLDEwLDAsMTApLGUuYWRkTWFueShpKDQ4LDYwKSwxMCw4LDEwKSxlLmFkZE1hbnkoWzYwLDYxLDYyLDYzXSwxMCwwLDExKSxlLmFkZE1hbnkoaSgzMiw0OCksMTAsOSwxMiksZS5hZGRNYW55KHIsMTIsMCwxMiksZS5hZGQoMTI3LDEyLDAsMTIpLGUuYWRkTWFueShpKDI4LDMyKSwxMiwwLDEyKSxlLmFkZE1hbnkoaSgzMiw0OCksMTIsOSwxMiksZS5hZGRNYW55KGkoNDgsNjQpLDEyLDAsMTEpLGUuYWRkTWFueShpKDY0LDEyNyksMTIsMTIsMTMpLGUuYWRkTWFueShpKDY0LDEyNyksMTAsMTIsMTMpLGUuYWRkTWFueShpKDY0LDEyNyksOSwxMiwxMyksZS5hZGRNYW55KHIsMTMsMTMsMTMpLGUuYWRkTWFueShzLDEzLDEzLDEzKSxlLmFkZCgxMjcsMTMsMCwxMyksZS5hZGRNYW55KFsyNywxNTYsMjQsMjZdLDEzLDE0LDApLGUuYWRkKGgsMCwyLDApLGUuYWRkKGgsOCw1LDgpLGUuYWRkKGgsNiwwLDYpLGUuYWRkKGgsMTEsMCwxMSksZS5hZGQoaCwxMywxMywxMyksZX0oKTtjbGFzcyBjIGV4dGVuZHMgcy5EaXNwb3NhYmxle2NvbnN0cnVjdG9yKGU9dC5WVDUwMF9UUkFOU0lUSU9OX1RBQkxFKXtzdXBlcigpLHRoaXMuX3RyYW5zaXRpb25zPWUsdGhpcy5fcGFyc2VTdGFjaz17c3RhdGU6MCxoYW5kbGVyczpbXSxoYW5kbGVyUG9zOjAsdHJhbnNpdGlvbjowLGNodW5rUG9zOjB9LHRoaXMuaW5pdGlhbFN0YXRlPTAsdGhpcy5jdXJyZW50U3RhdGU9dGhpcy5pbml0aWFsU3RhdGUsdGhpcy5fcGFyYW1zPW5ldyByLlBhcmFtcyx0aGlzLl9wYXJhbXMuYWRkUGFyYW0oMCksdGhpcy5fY29sbGVjdD0wLHRoaXMucHJlY2VkaW5nSm9pblN0YXRlPTAsdGhpcy5fcHJpbnRIYW5kbGVyRmI9KGUsdCxpKT0+e30sdGhpcy5fZXhlY3V0ZUhhbmRsZXJGYj1lPT57fSx0aGlzLl9jc2lIYW5kbGVyRmI9KGUsdCk9Pnt9LHRoaXMuX2VzY0hhbmRsZXJGYj1lPT57fSx0aGlzLl9lcnJvckhhbmRsZXJGYj1lPT5lLHRoaXMuX3ByaW50SGFuZGxlcj10aGlzLl9wcmludEhhbmRsZXJGYix0aGlzLl9leGVjdXRlSGFuZGxlcnM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLl9jc2lIYW5kbGVycz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2VzY0hhbmRsZXJzPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5yZWdpc3RlcigoMCxzLnRvRGlzcG9zYWJsZSkoKCgpPT57dGhpcy5fY3NpSGFuZGxlcnM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLl9leGVjdXRlSGFuZGxlcnM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLl9lc2NIYW5kbGVycz1PYmplY3QuY3JlYXRlKG51bGwpfSkpKSx0aGlzLl9vc2NQYXJzZXI9dGhpcy5yZWdpc3RlcihuZXcgbi5Pc2NQYXJzZXIpLHRoaXMuX2Rjc1BhcnNlcj10aGlzLnJlZ2lzdGVyKG5ldyBvLkRjc1BhcnNlciksdGhpcy5fZXJyb3JIYW5kbGVyPXRoaXMuX2Vycm9ySGFuZGxlckZiLHRoaXMucmVnaXN0ZXJFc2NIYW5kbGVyKHtmaW5hbDpcIlxcXFxcIn0sKCgpPT4hMCkpfV9pZGVudGlmaWVyKGUsdD1bNjQsMTI2XSl7bGV0IGk9MDtpZihlLnByZWZpeCl7aWYoZS5wcmVmaXgubGVuZ3RoPjEpdGhyb3cgbmV3IEVycm9yKFwib25seSBvbmUgYnl0ZSBhcyBwcmVmaXggc3VwcG9ydGVkXCIpO2lmKGk9ZS5wcmVmaXguY2hhckNvZGVBdCgwKSxpJiY2MD5pfHxpPjYzKXRocm93IG5ldyBFcnJvcihcInByZWZpeCBtdXN0IGJlIGluIHJhbmdlIDB4M2MgLi4gMHgzZlwiKX1pZihlLmludGVybWVkaWF0ZXMpe2lmKGUuaW50ZXJtZWRpYXRlcy5sZW5ndGg+Mil0aHJvdyBuZXcgRXJyb3IoXCJvbmx5IHR3byBieXRlcyBhcyBpbnRlcm1lZGlhdGVzIGFyZSBzdXBwb3J0ZWRcIik7Zm9yKGxldCB0PTA7dDxlLmludGVybWVkaWF0ZXMubGVuZ3RoOysrdCl7Y29uc3Qgcz1lLmludGVybWVkaWF0ZXMuY2hhckNvZGVBdCh0KTtpZigzMj5zfHxzPjQ3KXRocm93IG5ldyBFcnJvcihcImludGVybWVkaWF0ZSBtdXN0IGJlIGluIHJhbmdlIDB4MjAgLi4gMHgyZlwiKTtpPDw9OCxpfD1zfX1pZigxIT09ZS5maW5hbC5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKFwiZmluYWwgbXVzdCBiZSBhIHNpbmdsZSBieXRlXCIpO2NvbnN0IHM9ZS5maW5hbC5jaGFyQ29kZUF0KDApO2lmKHRbMF0+c3x8cz50WzFdKXRocm93IG5ldyBFcnJvcihgZmluYWwgbXVzdCBiZSBpbiByYW5nZSAke3RbMF19IC4uICR7dFsxXX1gKTtyZXR1cm4gaTw8PTgsaXw9cyxpfWlkZW50VG9TdHJpbmcoZSl7Y29uc3QgdD1bXTtmb3IoO2U7KXQucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKDI1NSZlKSksZT4+PTg7cmV0dXJuIHQucmV2ZXJzZSgpLmpvaW4oXCJcIil9c2V0UHJpbnRIYW5kbGVyKGUpe3RoaXMuX3ByaW50SGFuZGxlcj1lfWNsZWFyUHJpbnRIYW5kbGVyKCl7dGhpcy5fcHJpbnRIYW5kbGVyPXRoaXMuX3ByaW50SGFuZGxlckZifXJlZ2lzdGVyRXNjSGFuZGxlcihlLHQpe2NvbnN0IGk9dGhpcy5faWRlbnRpZmllcihlLFs0OCwxMjZdKTt2b2lkIDA9PT10aGlzLl9lc2NIYW5kbGVyc1tpXSYmKHRoaXMuX2VzY0hhbmRsZXJzW2ldPVtdKTtjb25zdCBzPXRoaXMuX2VzY0hhbmRsZXJzW2ldO3JldHVybiBzLnB1c2godCkse2Rpc3Bvc2U6KCk9Pntjb25zdCBlPXMuaW5kZXhPZih0KTstMSE9PWUmJnMuc3BsaWNlKGUsMSl9fX1jbGVhckVzY0hhbmRsZXIoZSl7dGhpcy5fZXNjSGFuZGxlcnNbdGhpcy5faWRlbnRpZmllcihlLFs0OCwxMjZdKV0mJmRlbGV0ZSB0aGlzLl9lc2NIYW5kbGVyc1t0aGlzLl9pZGVudGlmaWVyKGUsWzQ4LDEyNl0pXX1zZXRFc2NIYW5kbGVyRmFsbGJhY2soZSl7dGhpcy5fZXNjSGFuZGxlckZiPWV9c2V0RXhlY3V0ZUhhbmRsZXIoZSx0KXt0aGlzLl9leGVjdXRlSGFuZGxlcnNbZS5jaGFyQ29kZUF0KDApXT10fWNsZWFyRXhlY3V0ZUhhbmRsZXIoZSl7dGhpcy5fZXhlY3V0ZUhhbmRsZXJzW2UuY2hhckNvZGVBdCgwKV0mJmRlbGV0ZSB0aGlzLl9leGVjdXRlSGFuZGxlcnNbZS5jaGFyQ29kZUF0KDApXX1zZXRFeGVjdXRlSGFuZGxlckZhbGxiYWNrKGUpe3RoaXMuX2V4ZWN1dGVIYW5kbGVyRmI9ZX1yZWdpc3RlckNzaUhhbmRsZXIoZSx0KXtjb25zdCBpPXRoaXMuX2lkZW50aWZpZXIoZSk7dm9pZCAwPT09dGhpcy5fY3NpSGFuZGxlcnNbaV0mJih0aGlzLl9jc2lIYW5kbGVyc1tpXT1bXSk7Y29uc3Qgcz10aGlzLl9jc2lIYW5kbGVyc1tpXTtyZXR1cm4gcy5wdXNoKHQpLHtkaXNwb3NlOigpPT57Y29uc3QgZT1zLmluZGV4T2YodCk7LTEhPT1lJiZzLnNwbGljZShlLDEpfX19Y2xlYXJDc2lIYW5kbGVyKGUpe3RoaXMuX2NzaUhhbmRsZXJzW3RoaXMuX2lkZW50aWZpZXIoZSldJiZkZWxldGUgdGhpcy5fY3NpSGFuZGxlcnNbdGhpcy5faWRlbnRpZmllcihlKV19c2V0Q3NpSGFuZGxlckZhbGxiYWNrKGUpe3RoaXMuX2NzaUhhbmRsZXJGYj1lfXJlZ2lzdGVyRGNzSGFuZGxlcihlLHQpe3JldHVybiB0aGlzLl9kY3NQYXJzZXIucmVnaXN0ZXJIYW5kbGVyKHRoaXMuX2lkZW50aWZpZXIoZSksdCl9Y2xlYXJEY3NIYW5kbGVyKGUpe3RoaXMuX2Rjc1BhcnNlci5jbGVhckhhbmRsZXIodGhpcy5faWRlbnRpZmllcihlKSl9c2V0RGNzSGFuZGxlckZhbGxiYWNrKGUpe3RoaXMuX2Rjc1BhcnNlci5zZXRIYW5kbGVyRmFsbGJhY2soZSl9cmVnaXN0ZXJPc2NIYW5kbGVyKGUsdCl7cmV0dXJuIHRoaXMuX29zY1BhcnNlci5yZWdpc3RlckhhbmRsZXIoZSx0KX1jbGVhck9zY0hhbmRsZXIoZSl7dGhpcy5fb3NjUGFyc2VyLmNsZWFySGFuZGxlcihlKX1zZXRPc2NIYW5kbGVyRmFsbGJhY2soZSl7dGhpcy5fb3NjUGFyc2VyLnNldEhhbmRsZXJGYWxsYmFjayhlKX1zZXRFcnJvckhhbmRsZXIoZSl7dGhpcy5fZXJyb3JIYW5kbGVyPWV9Y2xlYXJFcnJvckhhbmRsZXIoKXt0aGlzLl9lcnJvckhhbmRsZXI9dGhpcy5fZXJyb3JIYW5kbGVyRmJ9cmVzZXQoKXt0aGlzLmN1cnJlbnRTdGF0ZT10aGlzLmluaXRpYWxTdGF0ZSx0aGlzLl9vc2NQYXJzZXIucmVzZXQoKSx0aGlzLl9kY3NQYXJzZXIucmVzZXQoKSx0aGlzLl9wYXJhbXMucmVzZXQoKSx0aGlzLl9wYXJhbXMuYWRkUGFyYW0oMCksdGhpcy5fY29sbGVjdD0wLHRoaXMucHJlY2VkaW5nSm9pblN0YXRlPTAsMCE9PXRoaXMuX3BhcnNlU3RhY2suc3RhdGUmJih0aGlzLl9wYXJzZVN0YWNrLnN0YXRlPTIsdGhpcy5fcGFyc2VTdGFjay5oYW5kbGVycz1bXSl9X3ByZXNlcnZlU3RhY2soZSx0LGkscyxyKXt0aGlzLl9wYXJzZVN0YWNrLnN0YXRlPWUsdGhpcy5fcGFyc2VTdGFjay5oYW5kbGVycz10LHRoaXMuX3BhcnNlU3RhY2suaGFuZGxlclBvcz1pLHRoaXMuX3BhcnNlU3RhY2sudHJhbnNpdGlvbj1zLHRoaXMuX3BhcnNlU3RhY2suY2h1bmtQb3M9cn1wYXJzZShlLHQsaSl7bGV0IHMscj0wLG49MCxvPTA7aWYodGhpcy5fcGFyc2VTdGFjay5zdGF0ZSlpZigyPT09dGhpcy5fcGFyc2VTdGFjay5zdGF0ZSl0aGlzLl9wYXJzZVN0YWNrLnN0YXRlPTAsbz10aGlzLl9wYXJzZVN0YWNrLmNodW5rUG9zKzE7ZWxzZXtpZih2b2lkIDA9PT1pfHwxPT09dGhpcy5fcGFyc2VTdGFjay5zdGF0ZSl0aHJvdyB0aGlzLl9wYXJzZVN0YWNrLnN0YXRlPTEsbmV3IEVycm9yKFwiaW1wcm9wZXIgY29udGludWF0aW9uIGR1ZSB0byBwcmV2aW91cyBhc3luYyBoYW5kbGVyLCBnaXZpbmcgdXAgcGFyc2luZ1wiKTtjb25zdCB0PXRoaXMuX3BhcnNlU3RhY2suaGFuZGxlcnM7bGV0IG49dGhpcy5fcGFyc2VTdGFjay5oYW5kbGVyUG9zLTE7c3dpdGNoKHRoaXMuX3BhcnNlU3RhY2suc3RhdGUpe2Nhc2UgMzppZighMT09PWkmJm4+LTEpZm9yKDtuPj0wJiYocz10W25dKHRoaXMuX3BhcmFtcyksITAhPT1zKTtuLS0paWYocyBpbnN0YW5jZW9mIFByb21pc2UpcmV0dXJuIHRoaXMuX3BhcnNlU3RhY2suaGFuZGxlclBvcz1uLHM7dGhpcy5fcGFyc2VTdGFjay5oYW5kbGVycz1bXTticmVhaztjYXNlIDQ6aWYoITE9PT1pJiZuPi0xKWZvcig7bj49MCYmKHM9dFtuXSgpLCEwIT09cyk7bi0tKWlmKHMgaW5zdGFuY2VvZiBQcm9taXNlKXJldHVybiB0aGlzLl9wYXJzZVN0YWNrLmhhbmRsZXJQb3M9bixzO3RoaXMuX3BhcnNlU3RhY2suaGFuZGxlcnM9W107YnJlYWs7Y2FzZSA2OmlmKHI9ZVt0aGlzLl9wYXJzZVN0YWNrLmNodW5rUG9zXSxzPXRoaXMuX2Rjc1BhcnNlci51bmhvb2soMjQhPT1yJiYyNiE9PXIsaSkscylyZXR1cm4gczsyNz09PXImJih0aGlzLl9wYXJzZVN0YWNrLnRyYW5zaXRpb258PTEpLHRoaXMuX3BhcmFtcy5yZXNldCgpLHRoaXMuX3BhcmFtcy5hZGRQYXJhbSgwKSx0aGlzLl9jb2xsZWN0PTA7YnJlYWs7Y2FzZSA1OmlmKHI9ZVt0aGlzLl9wYXJzZVN0YWNrLmNodW5rUG9zXSxzPXRoaXMuX29zY1BhcnNlci5lbmQoMjQhPT1yJiYyNiE9PXIsaSkscylyZXR1cm4gczsyNz09PXImJih0aGlzLl9wYXJzZVN0YWNrLnRyYW5zaXRpb258PTEpLHRoaXMuX3BhcmFtcy5yZXNldCgpLHRoaXMuX3BhcmFtcy5hZGRQYXJhbSgwKSx0aGlzLl9jb2xsZWN0PTB9dGhpcy5fcGFyc2VTdGFjay5zdGF0ZT0wLG89dGhpcy5fcGFyc2VTdGFjay5jaHVua1BvcysxLHRoaXMucHJlY2VkaW5nSm9pblN0YXRlPTAsdGhpcy5jdXJyZW50U3RhdGU9MTUmdGhpcy5fcGFyc2VTdGFjay50cmFuc2l0aW9ufWZvcihsZXQgaT1vO2k8dDsrK2kpe3N3aXRjaChyPWVbaV0sbj10aGlzLl90cmFuc2l0aW9ucy50YWJsZVt0aGlzLmN1cnJlbnRTdGF0ZTw8OHwocjwxNjA/cjpoKV0sbj4+NCl7Y2FzZSAyOmZvcihsZXQgcz1pKzE7Oysrcyl7aWYocz49dHx8KHI9ZVtzXSk8MzJ8fHI+MTI2JiZyPGgpe3RoaXMuX3ByaW50SGFuZGxlcihlLGkscyksaT1zLTE7YnJlYWt9aWYoKytzPj10fHwocj1lW3NdKTwzMnx8cj4xMjYmJnI8aCl7dGhpcy5fcHJpbnRIYW5kbGVyKGUsaSxzKSxpPXMtMTticmVha31pZigrK3M+PXR8fChyPWVbc10pPDMyfHxyPjEyNiYmcjxoKXt0aGlzLl9wcmludEhhbmRsZXIoZSxpLHMpLGk9cy0xO2JyZWFrfWlmKCsrcz49dHx8KHI9ZVtzXSk8MzJ8fHI+MTI2JiZyPGgpe3RoaXMuX3ByaW50SGFuZGxlcihlLGkscyksaT1zLTE7YnJlYWt9fWJyZWFrO2Nhc2UgMzp0aGlzLl9leGVjdXRlSGFuZGxlcnNbcl0/dGhpcy5fZXhlY3V0ZUhhbmRsZXJzW3JdKCk6dGhpcy5fZXhlY3V0ZUhhbmRsZXJGYihyKSx0aGlzLnByZWNlZGluZ0pvaW5TdGF0ZT0wO2JyZWFrO2Nhc2UgMDpicmVhaztjYXNlIDE6aWYodGhpcy5fZXJyb3JIYW5kbGVyKHtwb3NpdGlvbjppLGNvZGU6cixjdXJyZW50U3RhdGU6dGhpcy5jdXJyZW50U3RhdGUsY29sbGVjdDp0aGlzLl9jb2xsZWN0LHBhcmFtczp0aGlzLl9wYXJhbXMsYWJvcnQ6ITF9KS5hYm9ydClyZXR1cm47YnJlYWs7Y2FzZSA3OmNvbnN0IG89dGhpcy5fY3NpSGFuZGxlcnNbdGhpcy5fY29sbGVjdDw8OHxyXTtsZXQgYT1vP28ubGVuZ3RoLTE6LTE7Zm9yKDthPj0wJiYocz1vW2FdKHRoaXMuX3BhcmFtcyksITAhPT1zKTthLS0paWYocyBpbnN0YW5jZW9mIFByb21pc2UpcmV0dXJuIHRoaXMuX3ByZXNlcnZlU3RhY2soMyxvLGEsbixpKSxzO2E8MCYmdGhpcy5fY3NpSGFuZGxlckZiKHRoaXMuX2NvbGxlY3Q8PDh8cix0aGlzLl9wYXJhbXMpLHRoaXMucHJlY2VkaW5nSm9pblN0YXRlPTA7YnJlYWs7Y2FzZSA4OmRve3N3aXRjaChyKXtjYXNlIDU5OnRoaXMuX3BhcmFtcy5hZGRQYXJhbSgwKTticmVhaztjYXNlIDU4OnRoaXMuX3BhcmFtcy5hZGRTdWJQYXJhbSgtMSk7YnJlYWs7ZGVmYXVsdDp0aGlzLl9wYXJhbXMuYWRkRGlnaXQoci00OCl9fXdoaWxlKCsraTx0JiYocj1lW2ldKT40NyYmcjw2MCk7aS0tO2JyZWFrO2Nhc2UgOTp0aGlzLl9jb2xsZWN0PDw9OCx0aGlzLl9jb2xsZWN0fD1yO2JyZWFrO2Nhc2UgMTA6Y29uc3QgYz10aGlzLl9lc2NIYW5kbGVyc1t0aGlzLl9jb2xsZWN0PDw4fHJdO2xldCBsPWM/Yy5sZW5ndGgtMTotMTtmb3IoO2w+PTAmJihzPWNbbF0oKSwhMCE9PXMpO2wtLSlpZihzIGluc3RhbmNlb2YgUHJvbWlzZSlyZXR1cm4gdGhpcy5fcHJlc2VydmVTdGFjayg0LGMsbCxuLGkpLHM7bDwwJiZ0aGlzLl9lc2NIYW5kbGVyRmIodGhpcy5fY29sbGVjdDw8OHxyKSx0aGlzLnByZWNlZGluZ0pvaW5TdGF0ZT0wO2JyZWFrO2Nhc2UgMTE6dGhpcy5fcGFyYW1zLnJlc2V0KCksdGhpcy5fcGFyYW1zLmFkZFBhcmFtKDApLHRoaXMuX2NvbGxlY3Q9MDticmVhaztjYXNlIDEyOnRoaXMuX2Rjc1BhcnNlci5ob29rKHRoaXMuX2NvbGxlY3Q8PDh8cix0aGlzLl9wYXJhbXMpO2JyZWFrO2Nhc2UgMTM6Zm9yKGxldCBzPWkrMTs7KytzKWlmKHM+PXR8fDI0PT09KHI9ZVtzXSl8fDI2PT09cnx8Mjc9PT1yfHxyPjEyNyYmcjxoKXt0aGlzLl9kY3NQYXJzZXIucHV0KGUsaSxzKSxpPXMtMTticmVha31icmVhaztjYXNlIDE0OmlmKHM9dGhpcy5fZGNzUGFyc2VyLnVuaG9vaygyNCE9PXImJjI2IT09cikscylyZXR1cm4gdGhpcy5fcHJlc2VydmVTdGFjayg2LFtdLDAsbixpKSxzOzI3PT09ciYmKG58PTEpLHRoaXMuX3BhcmFtcy5yZXNldCgpLHRoaXMuX3BhcmFtcy5hZGRQYXJhbSgwKSx0aGlzLl9jb2xsZWN0PTAsdGhpcy5wcmVjZWRpbmdKb2luU3RhdGU9MDticmVhaztjYXNlIDQ6dGhpcy5fb3NjUGFyc2VyLnN0YXJ0KCk7YnJlYWs7Y2FzZSA1OmZvcihsZXQgcz1pKzE7O3MrKylpZihzPj10fHwocj1lW3NdKTwzMnx8cj4xMjcmJnI8aCl7dGhpcy5fb3NjUGFyc2VyLnB1dChlLGkscyksaT1zLTE7YnJlYWt9YnJlYWs7Y2FzZSA2OmlmKHM9dGhpcy5fb3NjUGFyc2VyLmVuZCgyNCE9PXImJjI2IT09cikscylyZXR1cm4gdGhpcy5fcHJlc2VydmVTdGFjayg1LFtdLDAsbixpKSxzOzI3PT09ciYmKG58PTEpLHRoaXMuX3BhcmFtcy5yZXNldCgpLHRoaXMuX3BhcmFtcy5hZGRQYXJhbSgwKSx0aGlzLl9jb2xsZWN0PTAsdGhpcy5wcmVjZWRpbmdKb2luU3RhdGU9MH10aGlzLmN1cnJlbnRTdGF0ZT0xNSZufX19dC5Fc2NhcGVTZXF1ZW5jZVBhcnNlcj1jfSw2MjQyOihlLHQsaSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0Lk9zY0hhbmRsZXI9dC5Pc2NQYXJzZXI9dm9pZCAwO2NvbnN0IHM9aSg1NzcwKSxyPWkoNDgyKSxuPVtdO3QuT3NjUGFyc2VyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5fc3RhdGU9MCx0aGlzLl9hY3RpdmU9bix0aGlzLl9pZD0tMSx0aGlzLl9oYW5kbGVycz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2hhbmRsZXJGYj0oKT0+e30sdGhpcy5fc3RhY2s9e3BhdXNlZDohMSxsb29wUG9zaXRpb246MCxmYWxsVGhyb3VnaDohMX19cmVnaXN0ZXJIYW5kbGVyKGUsdCl7dm9pZCAwPT09dGhpcy5faGFuZGxlcnNbZV0mJih0aGlzLl9oYW5kbGVyc1tlXT1bXSk7Y29uc3QgaT10aGlzLl9oYW5kbGVyc1tlXTtyZXR1cm4gaS5wdXNoKHQpLHtkaXNwb3NlOigpPT57Y29uc3QgZT1pLmluZGV4T2YodCk7LTEhPT1lJiZpLnNwbGljZShlLDEpfX19Y2xlYXJIYW5kbGVyKGUpe3RoaXMuX2hhbmRsZXJzW2VdJiZkZWxldGUgdGhpcy5faGFuZGxlcnNbZV19c2V0SGFuZGxlckZhbGxiYWNrKGUpe3RoaXMuX2hhbmRsZXJGYj1lfWRpc3Bvc2UoKXt0aGlzLl9oYW5kbGVycz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2hhbmRsZXJGYj0oKT0+e30sdGhpcy5fYWN0aXZlPW59cmVzZXQoKXtpZigyPT09dGhpcy5fc3RhdGUpZm9yKGxldCBlPXRoaXMuX3N0YWNrLnBhdXNlZD90aGlzLl9zdGFjay5sb29wUG9zaXRpb24tMTp0aGlzLl9hY3RpdmUubGVuZ3RoLTE7ZT49MDstLWUpdGhpcy5fYWN0aXZlW2VdLmVuZCghMSk7dGhpcy5fc3RhY2sucGF1c2VkPSExLHRoaXMuX2FjdGl2ZT1uLHRoaXMuX2lkPS0xLHRoaXMuX3N0YXRlPTB9X3N0YXJ0KCl7aWYodGhpcy5fYWN0aXZlPXRoaXMuX2hhbmRsZXJzW3RoaXMuX2lkXXx8bix0aGlzLl9hY3RpdmUubGVuZ3RoKWZvcihsZXQgZT10aGlzLl9hY3RpdmUubGVuZ3RoLTE7ZT49MDtlLS0pdGhpcy5fYWN0aXZlW2VdLnN0YXJ0KCk7ZWxzZSB0aGlzLl9oYW5kbGVyRmIodGhpcy5faWQsXCJTVEFSVFwiKX1fcHV0KGUsdCxpKXtpZih0aGlzLl9hY3RpdmUubGVuZ3RoKWZvcihsZXQgcz10aGlzLl9hY3RpdmUubGVuZ3RoLTE7cz49MDtzLS0pdGhpcy5fYWN0aXZlW3NdLnB1dChlLHQsaSk7ZWxzZSB0aGlzLl9oYW5kbGVyRmIodGhpcy5faWQsXCJQVVRcIiwoMCxyLnV0ZjMyVG9TdHJpbmcpKGUsdCxpKSl9c3RhcnQoKXt0aGlzLnJlc2V0KCksdGhpcy5fc3RhdGU9MX1wdXQoZSx0LGkpe2lmKDMhPT10aGlzLl9zdGF0ZSl7aWYoMT09PXRoaXMuX3N0YXRlKWZvcig7dDxpOyl7Y29uc3QgaT1lW3QrK107aWYoNTk9PT1pKXt0aGlzLl9zdGF0ZT0yLHRoaXMuX3N0YXJ0KCk7YnJlYWt9aWYoaTw0OHx8NTc8aSlyZXR1cm4gdm9pZCh0aGlzLl9zdGF0ZT0zKTstMT09PXRoaXMuX2lkJiYodGhpcy5faWQ9MCksdGhpcy5faWQ9MTAqdGhpcy5faWQraS00OH0yPT09dGhpcy5fc3RhdGUmJmktdD4wJiZ0aGlzLl9wdXQoZSx0LGkpfX1lbmQoZSx0PSEwKXtpZigwIT09dGhpcy5fc3RhdGUpe2lmKDMhPT10aGlzLl9zdGF0ZSlpZigxPT09dGhpcy5fc3RhdGUmJnRoaXMuX3N0YXJ0KCksdGhpcy5fYWN0aXZlLmxlbmd0aCl7bGV0IGk9ITEscz10aGlzLl9hY3RpdmUubGVuZ3RoLTEscj0hMTtpZih0aGlzLl9zdGFjay5wYXVzZWQmJihzPXRoaXMuX3N0YWNrLmxvb3BQb3NpdGlvbi0xLGk9dCxyPXRoaXMuX3N0YWNrLmZhbGxUaHJvdWdoLHRoaXMuX3N0YWNrLnBhdXNlZD0hMSksIXImJiExPT09aSl7Zm9yKDtzPj0wJiYoaT10aGlzLl9hY3RpdmVbc10uZW5kKGUpLCEwIT09aSk7cy0tKWlmKGkgaW5zdGFuY2VvZiBQcm9taXNlKXJldHVybiB0aGlzLl9zdGFjay5wYXVzZWQ9ITAsdGhpcy5fc3RhY2subG9vcFBvc2l0aW9uPXMsdGhpcy5fc3RhY2suZmFsbFRocm91Z2g9ITEsaTtzLS19Zm9yKDtzPj0wO3MtLSlpZihpPXRoaXMuX2FjdGl2ZVtzXS5lbmQoITEpLGkgaW5zdGFuY2VvZiBQcm9taXNlKXJldHVybiB0aGlzLl9zdGFjay5wYXVzZWQ9ITAsdGhpcy5fc3RhY2subG9vcFBvc2l0aW9uPXMsdGhpcy5fc3RhY2suZmFsbFRocm91Z2g9ITAsaX1lbHNlIHRoaXMuX2hhbmRsZXJGYih0aGlzLl9pZCxcIkVORFwiLGUpO3RoaXMuX2FjdGl2ZT1uLHRoaXMuX2lkPS0xLHRoaXMuX3N0YXRlPTB9fX0sdC5Pc2NIYW5kbGVyPWNsYXNze2NvbnN0cnVjdG9yKGUpe3RoaXMuX2hhbmRsZXI9ZSx0aGlzLl9kYXRhPVwiXCIsdGhpcy5faGl0TGltaXQ9ITF9c3RhcnQoKXt0aGlzLl9kYXRhPVwiXCIsdGhpcy5faGl0TGltaXQ9ITF9cHV0KGUsdCxpKXt0aGlzLl9oaXRMaW1pdHx8KHRoaXMuX2RhdGErPSgwLHIudXRmMzJUb1N0cmluZykoZSx0LGkpLHRoaXMuX2RhdGEubGVuZ3RoPnMuUEFZTE9BRF9MSU1JVCYmKHRoaXMuX2RhdGE9XCJcIix0aGlzLl9oaXRMaW1pdD0hMCkpfWVuZChlKXtsZXQgdD0hMTtpZih0aGlzLl9oaXRMaW1pdCl0PSExO2Vsc2UgaWYoZSYmKHQ9dGhpcy5faGFuZGxlcih0aGlzLl9kYXRhKSx0IGluc3RhbmNlb2YgUHJvbWlzZSkpcmV0dXJuIHQudGhlbigoZT0+KHRoaXMuX2RhdGE9XCJcIix0aGlzLl9oaXRMaW1pdD0hMSxlKSkpO3JldHVybiB0aGlzLl9kYXRhPVwiXCIsdGhpcy5faGl0TGltaXQ9ITEsdH19fSw4NzQyOihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5QYXJhbXM9dm9pZCAwO2NvbnN0IGk9MjE0NzQ4MzY0NztjbGFzcyBze3N0YXRpYyBmcm9tQXJyYXkoZSl7Y29uc3QgdD1uZXcgcztpZighZS5sZW5ndGgpcmV0dXJuIHQ7Zm9yKGxldCBpPUFycmF5LmlzQXJyYXkoZVswXSk/MTowO2k8ZS5sZW5ndGg7KytpKXtjb25zdCBzPWVbaV07aWYoQXJyYXkuaXNBcnJheShzKSlmb3IobGV0IGU9MDtlPHMubGVuZ3RoOysrZSl0LmFkZFN1YlBhcmFtKHNbZV0pO2Vsc2UgdC5hZGRQYXJhbShzKX1yZXR1cm4gdH1jb25zdHJ1Y3RvcihlPTMyLHQ9MzIpe2lmKHRoaXMubWF4TGVuZ3RoPWUsdGhpcy5tYXhTdWJQYXJhbXNMZW5ndGg9dCx0PjI1Nil0aHJvdyBuZXcgRXJyb3IoXCJtYXhTdWJQYXJhbXNMZW5ndGggbXVzdCBub3QgYmUgZ3JlYXRlciB0aGFuIDI1NlwiKTt0aGlzLnBhcmFtcz1uZXcgSW50MzJBcnJheShlKSx0aGlzLmxlbmd0aD0wLHRoaXMuX3N1YlBhcmFtcz1uZXcgSW50MzJBcnJheSh0KSx0aGlzLl9zdWJQYXJhbXNMZW5ndGg9MCx0aGlzLl9zdWJQYXJhbXNJZHg9bmV3IFVpbnQxNkFycmF5KGUpLHRoaXMuX3JlamVjdERpZ2l0cz0hMSx0aGlzLl9yZWplY3RTdWJEaWdpdHM9ITEsdGhpcy5fZGlnaXRJc1N1Yj0hMX1jbG9uZSgpe2NvbnN0IGU9bmV3IHModGhpcy5tYXhMZW5ndGgsdGhpcy5tYXhTdWJQYXJhbXNMZW5ndGgpO3JldHVybiBlLnBhcmFtcy5zZXQodGhpcy5wYXJhbXMpLGUubGVuZ3RoPXRoaXMubGVuZ3RoLGUuX3N1YlBhcmFtcy5zZXQodGhpcy5fc3ViUGFyYW1zKSxlLl9zdWJQYXJhbXNMZW5ndGg9dGhpcy5fc3ViUGFyYW1zTGVuZ3RoLGUuX3N1YlBhcmFtc0lkeC5zZXQodGhpcy5fc3ViUGFyYW1zSWR4KSxlLl9yZWplY3REaWdpdHM9dGhpcy5fcmVqZWN0RGlnaXRzLGUuX3JlamVjdFN1YkRpZ2l0cz10aGlzLl9yZWplY3RTdWJEaWdpdHMsZS5fZGlnaXRJc1N1Yj10aGlzLl9kaWdpdElzU3ViLGV9dG9BcnJheSgpe2NvbnN0IGU9W107Zm9yKGxldCB0PTA7dDx0aGlzLmxlbmd0aDsrK3Qpe2UucHVzaCh0aGlzLnBhcmFtc1t0XSk7Y29uc3QgaT10aGlzLl9zdWJQYXJhbXNJZHhbdF0+Pjgscz0yNTUmdGhpcy5fc3ViUGFyYW1zSWR4W3RdO3MtaT4wJiZlLnB1c2goQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodGhpcy5fc3ViUGFyYW1zLGkscykpfXJldHVybiBlfXJlc2V0KCl7dGhpcy5sZW5ndGg9MCx0aGlzLl9zdWJQYXJhbXNMZW5ndGg9MCx0aGlzLl9yZWplY3REaWdpdHM9ITEsdGhpcy5fcmVqZWN0U3ViRGlnaXRzPSExLHRoaXMuX2RpZ2l0SXNTdWI9ITF9YWRkUGFyYW0oZSl7aWYodGhpcy5fZGlnaXRJc1N1Yj0hMSx0aGlzLmxlbmd0aD49dGhpcy5tYXhMZW5ndGgpdGhpcy5fcmVqZWN0RGlnaXRzPSEwO2Vsc2V7aWYoZTwtMSl0aHJvdyBuZXcgRXJyb3IoXCJ2YWx1ZXMgbGVzc2VyIHRoYW4gLTEgYXJlIG5vdCBhbGxvd2VkXCIpO3RoaXMuX3N1YlBhcmFtc0lkeFt0aGlzLmxlbmd0aF09dGhpcy5fc3ViUGFyYW1zTGVuZ3RoPDw4fHRoaXMuX3N1YlBhcmFtc0xlbmd0aCx0aGlzLnBhcmFtc1t0aGlzLmxlbmd0aCsrXT1lPmk/aTplfX1hZGRTdWJQYXJhbShlKXtpZih0aGlzLl9kaWdpdElzU3ViPSEwLHRoaXMubGVuZ3RoKWlmKHRoaXMuX3JlamVjdERpZ2l0c3x8dGhpcy5fc3ViUGFyYW1zTGVuZ3RoPj10aGlzLm1heFN1YlBhcmFtc0xlbmd0aCl0aGlzLl9yZWplY3RTdWJEaWdpdHM9ITA7ZWxzZXtpZihlPC0xKXRocm93IG5ldyBFcnJvcihcInZhbHVlcyBsZXNzZXIgdGhhbiAtMSBhcmUgbm90IGFsbG93ZWRcIik7dGhpcy5fc3ViUGFyYW1zW3RoaXMuX3N1YlBhcmFtc0xlbmd0aCsrXT1lPmk/aTplLHRoaXMuX3N1YlBhcmFtc0lkeFt0aGlzLmxlbmd0aC0xXSsrfX1oYXNTdWJQYXJhbXMoZSl7cmV0dXJuKDI1NSZ0aGlzLl9zdWJQYXJhbXNJZHhbZV0pLSh0aGlzLl9zdWJQYXJhbXNJZHhbZV0+PjgpPjB9Z2V0U3ViUGFyYW1zKGUpe2NvbnN0IHQ9dGhpcy5fc3ViUGFyYW1zSWR4W2VdPj44LGk9MjU1JnRoaXMuX3N1YlBhcmFtc0lkeFtlXTtyZXR1cm4gaS10PjA/dGhpcy5fc3ViUGFyYW1zLnN1YmFycmF5KHQsaSk6bnVsbH1nZXRTdWJQYXJhbXNBbGwoKXtjb25zdCBlPXt9O2ZvcihsZXQgdD0wO3Q8dGhpcy5sZW5ndGg7Kyt0KXtjb25zdCBpPXRoaXMuX3N1YlBhcmFtc0lkeFt0XT4+OCxzPTI1NSZ0aGlzLl9zdWJQYXJhbXNJZHhbdF07cy1pPjAmJihlW3RdPXRoaXMuX3N1YlBhcmFtcy5zbGljZShpLHMpKX1yZXR1cm4gZX1hZGREaWdpdChlKXtsZXQgdDtpZih0aGlzLl9yZWplY3REaWdpdHN8fCEodD10aGlzLl9kaWdpdElzU3ViP3RoaXMuX3N1YlBhcmFtc0xlbmd0aDp0aGlzLmxlbmd0aCl8fHRoaXMuX2RpZ2l0SXNTdWImJnRoaXMuX3JlamVjdFN1YkRpZ2l0cylyZXR1cm47Y29uc3Qgcz10aGlzLl9kaWdpdElzU3ViP3RoaXMuX3N1YlBhcmFtczp0aGlzLnBhcmFtcyxyPXNbdC0xXTtzW3QtMV09fnI/TWF0aC5taW4oMTAqcitlLGkpOmV9fXQuUGFyYW1zPXN9LDU3NDE6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkFkZG9uTWFuYWdlcj12b2lkIDAsdC5BZGRvbk1hbmFnZXI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLl9hZGRvbnM9W119ZGlzcG9zZSgpe2ZvcihsZXQgZT10aGlzLl9hZGRvbnMubGVuZ3RoLTE7ZT49MDtlLS0pdGhpcy5fYWRkb25zW2VdLmluc3RhbmNlLmRpc3Bvc2UoKX1sb2FkQWRkb24oZSx0KXtjb25zdCBpPXtpbnN0YW5jZTp0LGRpc3Bvc2U6dC5kaXNwb3NlLGlzRGlzcG9zZWQ6ITF9O3RoaXMuX2FkZG9ucy5wdXNoKGkpLHQuZGlzcG9zZT0oKT0+dGhpcy5fd3JhcHBlZEFkZG9uRGlzcG9zZShpKSx0LmFjdGl2YXRlKGUpfV93cmFwcGVkQWRkb25EaXNwb3NlKGUpe2lmKGUuaXNEaXNwb3NlZClyZXR1cm47bGV0IHQ9LTE7Zm9yKGxldCBpPTA7aTx0aGlzLl9hZGRvbnMubGVuZ3RoO2krKylpZih0aGlzLl9hZGRvbnNbaV09PT1lKXt0PWk7YnJlYWt9aWYoLTE9PT10KXRocm93IG5ldyBFcnJvcihcIkNvdWxkIG5vdCBkaXNwb3NlIGFuIGFkZG9uIHRoYXQgaGFzIG5vdCBiZWVuIGxvYWRlZFwiKTtlLmlzRGlzcG9zZWQ9ITAsZS5kaXNwb3NlLmFwcGx5KGUuaW5zdGFuY2UpLHRoaXMuX2FkZG9ucy5zcGxpY2UodCwxKX19fSw4NzcxOihlLHQsaSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkJ1ZmZlckFwaVZpZXc9dm9pZCAwO2NvbnN0IHM9aSgzNzg1KSxyPWkoNTExKTt0LkJ1ZmZlckFwaVZpZXc9Y2xhc3N7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9idWZmZXI9ZSx0aGlzLnR5cGU9dH1pbml0KGUpe3JldHVybiB0aGlzLl9idWZmZXI9ZSx0aGlzfWdldCBjdXJzb3JZKCl7cmV0dXJuIHRoaXMuX2J1ZmZlci55fWdldCBjdXJzb3JYKCl7cmV0dXJuIHRoaXMuX2J1ZmZlci54fWdldCB2aWV3cG9ydFkoKXtyZXR1cm4gdGhpcy5fYnVmZmVyLnlkaXNwfWdldCBiYXNlWSgpe3JldHVybiB0aGlzLl9idWZmZXIueWJhc2V9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLl9idWZmZXIubGluZXMubGVuZ3RofWdldExpbmUoZSl7Y29uc3QgdD10aGlzLl9idWZmZXIubGluZXMuZ2V0KGUpO2lmKHQpcmV0dXJuIG5ldyBzLkJ1ZmZlckxpbmVBcGlWaWV3KHQpfWdldE51bGxDZWxsKCl7cmV0dXJuIG5ldyByLkNlbGxEYXRhfX19LDM3ODU6KGUsdCxpKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuQnVmZmVyTGluZUFwaVZpZXc9dm9pZCAwO2NvbnN0IHM9aSg1MTEpO3QuQnVmZmVyTGluZUFwaVZpZXc9Y2xhc3N7Y29uc3RydWN0b3IoZSl7dGhpcy5fbGluZT1lfWdldCBpc1dyYXBwZWQoKXtyZXR1cm4gdGhpcy5fbGluZS5pc1dyYXBwZWR9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLl9saW5lLmxlbmd0aH1nZXRDZWxsKGUsdCl7aWYoIShlPDB8fGU+PXRoaXMuX2xpbmUubGVuZ3RoKSlyZXR1cm4gdD8odGhpcy5fbGluZS5sb2FkQ2VsbChlLHQpLHQpOnRoaXMuX2xpbmUubG9hZENlbGwoZSxuZXcgcy5DZWxsRGF0YSl9dHJhbnNsYXRlVG9TdHJpbmcoZSx0LGkpe3JldHVybiB0aGlzLl9saW5lLnRyYW5zbGF0ZVRvU3RyaW5nKGUsdCxpKX19fSw4Mjg1OihlLHQsaSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkJ1ZmZlck5hbWVzcGFjZUFwaT12b2lkIDA7Y29uc3Qgcz1pKDg3NzEpLHI9aSg4NDYwKSxuPWkoODQ0KTtjbGFzcyBvIGV4dGVuZHMgbi5EaXNwb3NhYmxle2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fY29yZT1lLHRoaXMuX29uQnVmZmVyQ2hhbmdlPXRoaXMucmVnaXN0ZXIobmV3IHIuRXZlbnRFbWl0dGVyKSx0aGlzLm9uQnVmZmVyQ2hhbmdlPXRoaXMuX29uQnVmZmVyQ2hhbmdlLmV2ZW50LHRoaXMuX25vcm1hbD1uZXcgcy5CdWZmZXJBcGlWaWV3KHRoaXMuX2NvcmUuYnVmZmVycy5ub3JtYWwsXCJub3JtYWxcIiksdGhpcy5fYWx0ZXJuYXRlPW5ldyBzLkJ1ZmZlckFwaVZpZXcodGhpcy5fY29yZS5idWZmZXJzLmFsdCxcImFsdGVybmF0ZVwiKSx0aGlzLl9jb3JlLmJ1ZmZlcnMub25CdWZmZXJBY3RpdmF0ZSgoKCk9PnRoaXMuX29uQnVmZmVyQ2hhbmdlLmZpcmUodGhpcy5hY3RpdmUpKSl9Z2V0IGFjdGl2ZSgpe2lmKHRoaXMuX2NvcmUuYnVmZmVycy5hY3RpdmU9PT10aGlzLl9jb3JlLmJ1ZmZlcnMubm9ybWFsKXJldHVybiB0aGlzLm5vcm1hbDtpZih0aGlzLl9jb3JlLmJ1ZmZlcnMuYWN0aXZlPT09dGhpcy5fY29yZS5idWZmZXJzLmFsdClyZXR1cm4gdGhpcy5hbHRlcm5hdGU7dGhyb3cgbmV3IEVycm9yKFwiQWN0aXZlIGJ1ZmZlciBpcyBuZWl0aGVyIG5vcm1hbCBub3IgYWx0ZXJuYXRlXCIpfWdldCBub3JtYWwoKXtyZXR1cm4gdGhpcy5fbm9ybWFsLmluaXQodGhpcy5fY29yZS5idWZmZXJzLm5vcm1hbCl9Z2V0IGFsdGVybmF0ZSgpe3JldHVybiB0aGlzLl9hbHRlcm5hdGUuaW5pdCh0aGlzLl9jb3JlLmJ1ZmZlcnMuYWx0KX19dC5CdWZmZXJOYW1lc3BhY2VBcGk9b30sNzk3NTooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuUGFyc2VyQXBpPXZvaWQgMCx0LlBhcnNlckFwaT1jbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9jb3JlPWV9cmVnaXN0ZXJDc2lIYW5kbGVyKGUsdCl7cmV0dXJuIHRoaXMuX2NvcmUucmVnaXN0ZXJDc2lIYW5kbGVyKGUsKGU9PnQoZS50b0FycmF5KCkpKSl9YWRkQ3NpSGFuZGxlcihlLHQpe3JldHVybiB0aGlzLnJlZ2lzdGVyQ3NpSGFuZGxlcihlLHQpfXJlZ2lzdGVyRGNzSGFuZGxlcihlLHQpe3JldHVybiB0aGlzLl9jb3JlLnJlZ2lzdGVyRGNzSGFuZGxlcihlLCgoZSxpKT0+dChlLGkudG9BcnJheSgpKSkpfWFkZERjc0hhbmRsZXIoZSx0KXtyZXR1cm4gdGhpcy5yZWdpc3RlckRjc0hhbmRsZXIoZSx0KX1yZWdpc3RlckVzY0hhbmRsZXIoZSx0KXtyZXR1cm4gdGhpcy5fY29yZS5yZWdpc3RlckVzY0hhbmRsZXIoZSx0KX1hZGRFc2NIYW5kbGVyKGUsdCl7cmV0dXJuIHRoaXMucmVnaXN0ZXJFc2NIYW5kbGVyKGUsdCl9cmVnaXN0ZXJPc2NIYW5kbGVyKGUsdCl7cmV0dXJuIHRoaXMuX2NvcmUucmVnaXN0ZXJPc2NIYW5kbGVyKGUsdCl9YWRkT3NjSGFuZGxlcihlLHQpe3JldHVybiB0aGlzLnJlZ2lzdGVyT3NjSGFuZGxlcihlLHQpfX19LDcwOTA6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LlVuaWNvZGVBcGk9dm9pZCAwLHQuVW5pY29kZUFwaT1jbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9jb3JlPWV9cmVnaXN0ZXIoZSl7dGhpcy5fY29yZS51bmljb2RlU2VydmljZS5yZWdpc3RlcihlKX1nZXQgdmVyc2lvbnMoKXtyZXR1cm4gdGhpcy5fY29yZS51bmljb2RlU2VydmljZS52ZXJzaW9uc31nZXQgYWN0aXZlVmVyc2lvbigpe3JldHVybiB0aGlzLl9jb3JlLnVuaWNvZGVTZXJ2aWNlLmFjdGl2ZVZlcnNpb259c2V0IGFjdGl2ZVZlcnNpb24oZSl7dGhpcy5fY29yZS51bmljb2RlU2VydmljZS5hY3RpdmVWZXJzaW9uPWV9fX0sNzQ0OmZ1bmN0aW9uKGUsdCxpKXt2YXIgcz10aGlzJiZ0aGlzLl9fZGVjb3JhdGV8fGZ1bmN0aW9uKGUsdCxpLHMpe3ZhciByLG49YXJndW1lbnRzLmxlbmd0aCxvPW48Mz90Om51bGw9PT1zP3M9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGkpOnM7aWYoXCJvYmplY3RcIj09dHlwZW9mIFJlZmxlY3QmJlwiZnVuY3Rpb25cIj09dHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUpbz1SZWZsZWN0LmRlY29yYXRlKGUsdCxpLHMpO2Vsc2UgZm9yKHZhciBhPWUubGVuZ3RoLTE7YT49MDthLS0pKHI9ZVthXSkmJihvPShuPDM/cihvKTpuPjM/cih0LGksbyk6cih0LGkpKXx8byk7cmV0dXJuIG4+MyYmbyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsaSxvKSxvfSxyPXRoaXMmJnRoaXMuX19wYXJhbXx8ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oaSxzKXt0KGkscyxlKX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuQnVmZmVyU2VydmljZT10Lk1JTklNVU1fUk9XUz10Lk1JTklNVU1fQ09MUz12b2lkIDA7Y29uc3Qgbj1pKDg0NjApLG89aSg4NDQpLGE9aSg1Mjk1KSxoPWkoMjU4NSk7dC5NSU5JTVVNX0NPTFM9Mix0Lk1JTklNVU1fUk9XUz0xO2xldCBjPXQuQnVmZmVyU2VydmljZT1jbGFzcyBleHRlbmRzIG8uRGlzcG9zYWJsZXtnZXQgYnVmZmVyKCl7cmV0dXJuIHRoaXMuYnVmZmVycy5hY3RpdmV9Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLmlzVXNlclNjcm9sbGluZz0hMSx0aGlzLl9vblJlc2l6ZT10aGlzLnJlZ2lzdGVyKG5ldyBuLkV2ZW50RW1pdHRlciksdGhpcy5vblJlc2l6ZT10aGlzLl9vblJlc2l6ZS5ldmVudCx0aGlzLl9vblNjcm9sbD10aGlzLnJlZ2lzdGVyKG5ldyBuLkV2ZW50RW1pdHRlciksdGhpcy5vblNjcm9sbD10aGlzLl9vblNjcm9sbC5ldmVudCx0aGlzLmNvbHM9TWF0aC5tYXgoZS5yYXdPcHRpb25zLmNvbHN8fDAsdC5NSU5JTVVNX0NPTFMpLHRoaXMucm93cz1NYXRoLm1heChlLnJhd09wdGlvbnMucm93c3x8MCx0Lk1JTklNVU1fUk9XUyksdGhpcy5idWZmZXJzPXRoaXMucmVnaXN0ZXIobmV3IGEuQnVmZmVyU2V0KGUsdGhpcykpfXJlc2l6ZShlLHQpe3RoaXMuY29scz1lLHRoaXMucm93cz10LHRoaXMuYnVmZmVycy5yZXNpemUoZSx0KSx0aGlzLl9vblJlc2l6ZS5maXJlKHtjb2xzOmUscm93czp0fSl9cmVzZXQoKXt0aGlzLmJ1ZmZlcnMucmVzZXQoKSx0aGlzLmlzVXNlclNjcm9sbGluZz0hMX1zY3JvbGwoZSx0PSExKXtjb25zdCBpPXRoaXMuYnVmZmVyO2xldCBzO3M9dGhpcy5fY2FjaGVkQmxhbmtMaW5lLHMmJnMubGVuZ3RoPT09dGhpcy5jb2xzJiZzLmdldEZnKDApPT09ZS5mZyYmcy5nZXRCZygwKT09PWUuYmd8fChzPWkuZ2V0QmxhbmtMaW5lKGUsdCksdGhpcy5fY2FjaGVkQmxhbmtMaW5lPXMpLHMuaXNXcmFwcGVkPXQ7Y29uc3Qgcj1pLnliYXNlK2kuc2Nyb2xsVG9wLG49aS55YmFzZStpLnNjcm9sbEJvdHRvbTtpZigwPT09aS5zY3JvbGxUb3Ape2NvbnN0IGU9aS5saW5lcy5pc0Z1bGw7bj09PWkubGluZXMubGVuZ3RoLTE/ZT9pLmxpbmVzLnJlY3ljbGUoKS5jb3B5RnJvbShzKTppLmxpbmVzLnB1c2gocy5jbG9uZSgpKTppLmxpbmVzLnNwbGljZShuKzEsMCxzLmNsb25lKCkpLGU/dGhpcy5pc1VzZXJTY3JvbGxpbmcmJihpLnlkaXNwPU1hdGgubWF4KGkueWRpc3AtMSwwKSk6KGkueWJhc2UrKyx0aGlzLmlzVXNlclNjcm9sbGluZ3x8aS55ZGlzcCsrKX1lbHNle2NvbnN0IGU9bi1yKzE7aS5saW5lcy5zaGlmdEVsZW1lbnRzKHIrMSxlLTEsLTEpLGkubGluZXMuc2V0KG4scy5jbG9uZSgpKX10aGlzLmlzVXNlclNjcm9sbGluZ3x8KGkueWRpc3A9aS55YmFzZSksdGhpcy5fb25TY3JvbGwuZmlyZShpLnlkaXNwKX1zY3JvbGxMaW5lcyhlLHQsaSl7Y29uc3Qgcz10aGlzLmJ1ZmZlcjtpZihlPDApe2lmKDA9PT1zLnlkaXNwKXJldHVybjt0aGlzLmlzVXNlclNjcm9sbGluZz0hMH1lbHNlIGUrcy55ZGlzcD49cy55YmFzZSYmKHRoaXMuaXNVc2VyU2Nyb2xsaW5nPSExKTtjb25zdCByPXMueWRpc3A7cy55ZGlzcD1NYXRoLm1heChNYXRoLm1pbihzLnlkaXNwK2Uscy55YmFzZSksMCksciE9PXMueWRpc3AmJih0fHx0aGlzLl9vblNjcm9sbC5maXJlKHMueWRpc3ApKX19O3QuQnVmZmVyU2VydmljZT1jPXMoW3IoMCxoLklPcHRpb25zU2VydmljZSldLGMpfSw3OTk0OihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5DaGFyc2V0U2VydmljZT12b2lkIDAsdC5DaGFyc2V0U2VydmljZT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuZ2xldmVsPTAsdGhpcy5fY2hhcnNldHM9W119cmVzZXQoKXt0aGlzLmNoYXJzZXQ9dm9pZCAwLHRoaXMuX2NoYXJzZXRzPVtdLHRoaXMuZ2xldmVsPTB9c2V0Z0xldmVsKGUpe3RoaXMuZ2xldmVsPWUsdGhpcy5jaGFyc2V0PXRoaXMuX2NoYXJzZXRzW2VdfXNldGdDaGFyc2V0KGUsdCl7dGhpcy5fY2hhcnNldHNbZV09dCx0aGlzLmdsZXZlbD09PWUmJih0aGlzLmNoYXJzZXQ9dCl9fX0sMTc1MzpmdW5jdGlvbihlLHQsaSl7dmFyIHM9dGhpcyYmdGhpcy5fX2RlY29yYXRlfHxmdW5jdGlvbihlLHQsaSxzKXt2YXIgcixuPWFyZ3VtZW50cy5sZW5ndGgsbz1uPDM/dDpudWxsPT09cz9zPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxpKTpzO2lmKFwib2JqZWN0XCI9PXR5cGVvZiBSZWZsZWN0JiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBSZWZsZWN0LmRlY29yYXRlKW89UmVmbGVjdC5kZWNvcmF0ZShlLHQsaSxzKTtlbHNlIGZvcih2YXIgYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShyPWVbYV0pJiYobz0objwzP3Iobyk6bj4zP3IodCxpLG8pOnIodCxpKSl8fG8pO3JldHVybiBuPjMmJm8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGksbyksb30scj10aGlzJiZ0aGlzLl9fcGFyYW18fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGkscyl7dChpLHMsZSl9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkNvcmVNb3VzZVNlcnZpY2U9dm9pZCAwO2NvbnN0IG49aSgyNTg1KSxvPWkoODQ2MCksYT1pKDg0NCksaD17Tk9ORTp7ZXZlbnRzOjAscmVzdHJpY3Q6KCk9PiExfSxYMTA6e2V2ZW50czoxLHJlc3RyaWN0OmU9PjQhPT1lLmJ1dHRvbiYmMT09PWUuYWN0aW9uJiYoZS5jdHJsPSExLGUuYWx0PSExLGUuc2hpZnQ9ITEsITApfSxWVDIwMDp7ZXZlbnRzOjE5LHJlc3RyaWN0OmU9PjMyIT09ZS5hY3Rpb259LERSQUc6e2V2ZW50czoyMyxyZXN0cmljdDplPT4zMiE9PWUuYWN0aW9ufHwzIT09ZS5idXR0b259LEFOWTp7ZXZlbnRzOjMxLHJlc3RyaWN0OmU9PiEwfX07ZnVuY3Rpb24gYyhlLHQpe2xldCBpPShlLmN0cmw/MTY6MCl8KGUuc2hpZnQ/NDowKXwoZS5hbHQ/ODowKTtyZXR1cm4gND09PWUuYnV0dG9uPyhpfD02NCxpfD1lLmFjdGlvbik6KGl8PTMmZS5idXR0b24sNCZlLmJ1dHRvbiYmKGl8PTY0KSw4JmUuYnV0dG9uJiYoaXw9MTI4KSwzMj09PWUuYWN0aW9uP2l8PTMyOjAhPT1lLmFjdGlvbnx8dHx8KGl8PTMpKSxpfWNvbnN0IGw9U3RyaW5nLmZyb21DaGFyQ29kZSxkPXtERUZBVUxUOmU9Pntjb25zdCB0PVtjKGUsITEpKzMyLGUuY29sKzMyLGUucm93KzMyXTtyZXR1cm4gdFswXT4yNTV8fHRbMV0+MjU1fHx0WzJdPjI1NT9cIlwiOmBcdTAwMWJbTSR7bCh0WzBdKX0ke2wodFsxXSl9JHtsKHRbMl0pfWB9LFNHUjplPT57Y29uc3QgdD0wPT09ZS5hY3Rpb24mJjQhPT1lLmJ1dHRvbj9cIm1cIjpcIk1cIjtyZXR1cm5gXHUwMDFiWzwke2MoZSwhMCl9OyR7ZS5jb2x9OyR7ZS5yb3d9JHt0fWB9LFNHUl9QSVhFTFM6ZT0+e2NvbnN0IHQ9MD09PWUuYWN0aW9uJiY0IT09ZS5idXR0b24/XCJtXCI6XCJNXCI7cmV0dXJuYFx1MDAxYls8JHtjKGUsITApfTske2UueH07JHtlLnl9JHt0fWB9fTtsZXQgXz10LkNvcmVNb3VzZVNlcnZpY2U9Y2xhc3MgZXh0ZW5kcyBhLkRpc3Bvc2FibGV7Y29uc3RydWN0b3IoZSx0KXtzdXBlcigpLHRoaXMuX2J1ZmZlclNlcnZpY2U9ZSx0aGlzLl9jb3JlU2VydmljZT10LHRoaXMuX3Byb3RvY29scz17fSx0aGlzLl9lbmNvZGluZ3M9e30sdGhpcy5fYWN0aXZlUHJvdG9jb2w9XCJcIix0aGlzLl9hY3RpdmVFbmNvZGluZz1cIlwiLHRoaXMuX2xhc3RFdmVudD1udWxsLHRoaXMuX29uUHJvdG9jb2xDaGFuZ2U9dGhpcy5yZWdpc3RlcihuZXcgby5FdmVudEVtaXR0ZXIpLHRoaXMub25Qcm90b2NvbENoYW5nZT10aGlzLl9vblByb3RvY29sQ2hhbmdlLmV2ZW50O2Zvcihjb25zdCBlIG9mIE9iamVjdC5rZXlzKGgpKXRoaXMuYWRkUHJvdG9jb2woZSxoW2VdKTtmb3IoY29uc3QgZSBvZiBPYmplY3Qua2V5cyhkKSl0aGlzLmFkZEVuY29kaW5nKGUsZFtlXSk7dGhpcy5yZXNldCgpfWFkZFByb3RvY29sKGUsdCl7dGhpcy5fcHJvdG9jb2xzW2VdPXR9YWRkRW5jb2RpbmcoZSx0KXt0aGlzLl9lbmNvZGluZ3NbZV09dH1nZXQgYWN0aXZlUHJvdG9jb2woKXtyZXR1cm4gdGhpcy5fYWN0aXZlUHJvdG9jb2x9Z2V0IGFyZU1vdXNlRXZlbnRzQWN0aXZlKCl7cmV0dXJuIDAhPT10aGlzLl9wcm90b2NvbHNbdGhpcy5fYWN0aXZlUHJvdG9jb2xdLmV2ZW50c31zZXQgYWN0aXZlUHJvdG9jb2woZSl7aWYoIXRoaXMuX3Byb3RvY29sc1tlXSl0aHJvdyBuZXcgRXJyb3IoYHVua25vd24gcHJvdG9jb2wgXCIke2V9XCJgKTt0aGlzLl9hY3RpdmVQcm90b2NvbD1lLHRoaXMuX29uUHJvdG9jb2xDaGFuZ2UuZmlyZSh0aGlzLl9wcm90b2NvbHNbZV0uZXZlbnRzKX1nZXQgYWN0aXZlRW5jb2RpbmcoKXtyZXR1cm4gdGhpcy5fYWN0aXZlRW5jb2Rpbmd9c2V0IGFjdGl2ZUVuY29kaW5nKGUpe2lmKCF0aGlzLl9lbmNvZGluZ3NbZV0pdGhyb3cgbmV3IEVycm9yKGB1bmtub3duIGVuY29kaW5nIFwiJHtlfVwiYCk7dGhpcy5fYWN0aXZlRW5jb2Rpbmc9ZX1yZXNldCgpe3RoaXMuYWN0aXZlUHJvdG9jb2w9XCJOT05FXCIsdGhpcy5hY3RpdmVFbmNvZGluZz1cIkRFRkFVTFRcIix0aGlzLl9sYXN0RXZlbnQ9bnVsbH10cmlnZ2VyTW91c2VFdmVudChlKXtpZihlLmNvbDwwfHxlLmNvbD49dGhpcy5fYnVmZmVyU2VydmljZS5jb2xzfHxlLnJvdzwwfHxlLnJvdz49dGhpcy5fYnVmZmVyU2VydmljZS5yb3dzKXJldHVybiExO2lmKDQ9PT1lLmJ1dHRvbiYmMzI9PT1lLmFjdGlvbilyZXR1cm4hMTtpZigzPT09ZS5idXR0b24mJjMyIT09ZS5hY3Rpb24pcmV0dXJuITE7aWYoNCE9PWUuYnV0dG9uJiYoMj09PWUuYWN0aW9ufHwzPT09ZS5hY3Rpb24pKXJldHVybiExO2lmKGUuY29sKyssZS5yb3crKywzMj09PWUuYWN0aW9uJiZ0aGlzLl9sYXN0RXZlbnQmJnRoaXMuX2VxdWFsRXZlbnRzKHRoaXMuX2xhc3RFdmVudCxlLFwiU0dSX1BJWEVMU1wiPT09dGhpcy5fYWN0aXZlRW5jb2RpbmcpKXJldHVybiExO2lmKCF0aGlzLl9wcm90b2NvbHNbdGhpcy5fYWN0aXZlUHJvdG9jb2xdLnJlc3RyaWN0KGUpKXJldHVybiExO2NvbnN0IHQ9dGhpcy5fZW5jb2RpbmdzW3RoaXMuX2FjdGl2ZUVuY29kaW5nXShlKTtyZXR1cm4gdCYmKFwiREVGQVVMVFwiPT09dGhpcy5fYWN0aXZlRW5jb2Rpbmc/dGhpcy5fY29yZVNlcnZpY2UudHJpZ2dlckJpbmFyeUV2ZW50KHQpOnRoaXMuX2NvcmVTZXJ2aWNlLnRyaWdnZXJEYXRhRXZlbnQodCwhMCkpLHRoaXMuX2xhc3RFdmVudD1lLCEwfWV4cGxhaW5FdmVudHMoZSl7cmV0dXJue2Rvd246ISEoMSZlKSx1cDohISgyJmUpLGRyYWc6ISEoNCZlKSxtb3ZlOiEhKDgmZSksd2hlZWw6ISEoMTYmZSl9fV9lcXVhbEV2ZW50cyhlLHQsaSl7aWYoaSl7aWYoZS54IT09dC54KXJldHVybiExO2lmKGUueSE9PXQueSlyZXR1cm4hMX1lbHNle2lmKGUuY29sIT09dC5jb2wpcmV0dXJuITE7aWYoZS5yb3chPT10LnJvdylyZXR1cm4hMX1yZXR1cm4gZS5idXR0b249PT10LmJ1dHRvbiYmZS5hY3Rpb249PT10LmFjdGlvbiYmZS5jdHJsPT09dC5jdHJsJiZlLmFsdD09PXQuYWx0JiZlLnNoaWZ0PT09dC5zaGlmdH19O3QuQ29yZU1vdXNlU2VydmljZT1fPXMoW3IoMCxuLklCdWZmZXJTZXJ2aWNlKSxyKDEsbi5JQ29yZVNlcnZpY2UpXSxfKX0sNjk3NTpmdW5jdGlvbihlLHQsaSl7dmFyIHM9dGhpcyYmdGhpcy5fX2RlY29yYXRlfHxmdW5jdGlvbihlLHQsaSxzKXt2YXIgcixuPWFyZ3VtZW50cy5sZW5ndGgsbz1uPDM/dDpudWxsPT09cz9zPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxpKTpzO2lmKFwib2JqZWN0XCI9PXR5cGVvZiBSZWZsZWN0JiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBSZWZsZWN0LmRlY29yYXRlKW89UmVmbGVjdC5kZWNvcmF0ZShlLHQsaSxzKTtlbHNlIGZvcih2YXIgYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShyPWVbYV0pJiYobz0objwzP3Iobyk6bj4zP3IodCxpLG8pOnIodCxpKSl8fG8pO3JldHVybiBuPjMmJm8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGksbyksb30scj10aGlzJiZ0aGlzLl9fcGFyYW18fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGkscyl7dChpLHMsZSl9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkNvcmVTZXJ2aWNlPXZvaWQgMDtjb25zdCBuPWkoMTQzOSksbz1pKDg0NjApLGE9aSg4NDQpLGg9aSgyNTg1KSxjPU9iamVjdC5mcmVlemUoe2luc2VydE1vZGU6ITF9KSxsPU9iamVjdC5mcmVlemUoe2FwcGxpY2F0aW9uQ3Vyc29yS2V5czohMSxhcHBsaWNhdGlvbktleXBhZDohMSxicmFja2V0ZWRQYXN0ZU1vZGU6ITEsb3JpZ2luOiExLHJldmVyc2VXcmFwYXJvdW5kOiExLHNlbmRGb2N1czohMSx3cmFwYXJvdW5kOiEwfSk7bGV0IGQ9dC5Db3JlU2VydmljZT1jbGFzcyBleHRlbmRzIGEuRGlzcG9zYWJsZXtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoKSx0aGlzLl9idWZmZXJTZXJ2aWNlPWUsdGhpcy5fbG9nU2VydmljZT10LHRoaXMuX29wdGlvbnNTZXJ2aWNlPWksdGhpcy5pc0N1cnNvckluaXRpYWxpemVkPSExLHRoaXMuaXNDdXJzb3JIaWRkZW49ITEsdGhpcy5fb25EYXRhPXRoaXMucmVnaXN0ZXIobmV3IG8uRXZlbnRFbWl0dGVyKSx0aGlzLm9uRGF0YT10aGlzLl9vbkRhdGEuZXZlbnQsdGhpcy5fb25Vc2VySW5wdXQ9dGhpcy5yZWdpc3RlcihuZXcgby5FdmVudEVtaXR0ZXIpLHRoaXMub25Vc2VySW5wdXQ9dGhpcy5fb25Vc2VySW5wdXQuZXZlbnQsdGhpcy5fb25CaW5hcnk9dGhpcy5yZWdpc3RlcihuZXcgby5FdmVudEVtaXR0ZXIpLHRoaXMub25CaW5hcnk9dGhpcy5fb25CaW5hcnkuZXZlbnQsdGhpcy5fb25SZXF1ZXN0U2Nyb2xsVG9Cb3R0b209dGhpcy5yZWdpc3RlcihuZXcgby5FdmVudEVtaXR0ZXIpLHRoaXMub25SZXF1ZXN0U2Nyb2xsVG9Cb3R0b209dGhpcy5fb25SZXF1ZXN0U2Nyb2xsVG9Cb3R0b20uZXZlbnQsdGhpcy5tb2Rlcz0oMCxuLmNsb25lKShjKSx0aGlzLmRlY1ByaXZhdGVNb2Rlcz0oMCxuLmNsb25lKShsKX1yZXNldCgpe3RoaXMubW9kZXM9KDAsbi5jbG9uZSkoYyksdGhpcy5kZWNQcml2YXRlTW9kZXM9KDAsbi5jbG9uZSkobCl9dHJpZ2dlckRhdGFFdmVudChlLHQ9ITEpe2lmKHRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuZGlzYWJsZVN0ZGluKXJldHVybjtjb25zdCBpPXRoaXMuX2J1ZmZlclNlcnZpY2UuYnVmZmVyO3QmJnRoaXMuX29wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuc2Nyb2xsT25Vc2VySW5wdXQmJmkueWJhc2UhPT1pLnlkaXNwJiZ0aGlzLl9vblJlcXVlc3RTY3JvbGxUb0JvdHRvbS5maXJlKCksdCYmdGhpcy5fb25Vc2VySW5wdXQuZmlyZSgpLHRoaXMuX2xvZ1NlcnZpY2UuZGVidWcoYHNlbmRpbmcgZGF0YSBcIiR7ZX1cImAsKCgpPT5lLnNwbGl0KFwiXCIpLm1hcCgoZT0+ZS5jaGFyQ29kZUF0KDApKSkpKSx0aGlzLl9vbkRhdGEuZmlyZShlKX10cmlnZ2VyQmluYXJ5RXZlbnQoZSl7dGhpcy5fb3B0aW9uc1NlcnZpY2UucmF3T3B0aW9ucy5kaXNhYmxlU3RkaW58fCh0aGlzLl9sb2dTZXJ2aWNlLmRlYnVnKGBzZW5kaW5nIGJpbmFyeSBcIiR7ZX1cImAsKCgpPT5lLnNwbGl0KFwiXCIpLm1hcCgoZT0+ZS5jaGFyQ29kZUF0KDApKSkpKSx0aGlzLl9vbkJpbmFyeS5maXJlKGUpKX19O3QuQ29yZVNlcnZpY2U9ZD1zKFtyKDAsaC5JQnVmZmVyU2VydmljZSkscigxLGguSUxvZ1NlcnZpY2UpLHIoMixoLklPcHRpb25zU2VydmljZSldLGQpfSw5MDc0OihlLHQsaSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LkRlY29yYXRpb25TZXJ2aWNlPXZvaWQgMDtjb25zdCBzPWkoODA1NSkscj1pKDg0NjApLG49aSg4NDQpLG89aSg2MTA2KTtsZXQgYT0wLGg9MDtjbGFzcyBjIGV4dGVuZHMgbi5EaXNwb3NhYmxle2dldCBkZWNvcmF0aW9ucygpe3JldHVybiB0aGlzLl9kZWNvcmF0aW9ucy52YWx1ZXMoKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5fZGVjb3JhdGlvbnM9bmV3IG8uU29ydGVkTGlzdCgoZT0+ZT8ubWFya2VyLmxpbmUpKSx0aGlzLl9vbkRlY29yYXRpb25SZWdpc3RlcmVkPXRoaXMucmVnaXN0ZXIobmV3IHIuRXZlbnRFbWl0dGVyKSx0aGlzLm9uRGVjb3JhdGlvblJlZ2lzdGVyZWQ9dGhpcy5fb25EZWNvcmF0aW9uUmVnaXN0ZXJlZC5ldmVudCx0aGlzLl9vbkRlY29yYXRpb25SZW1vdmVkPXRoaXMucmVnaXN0ZXIobmV3IHIuRXZlbnRFbWl0dGVyKSx0aGlzLm9uRGVjb3JhdGlvblJlbW92ZWQ9dGhpcy5fb25EZWNvcmF0aW9uUmVtb3ZlZC5ldmVudCx0aGlzLnJlZ2lzdGVyKCgwLG4udG9EaXNwb3NhYmxlKSgoKCk9PnRoaXMucmVzZXQoKSkpKX1yZWdpc3RlckRlY29yYXRpb24oZSl7aWYoZS5tYXJrZXIuaXNEaXNwb3NlZClyZXR1cm47Y29uc3QgdD1uZXcgbChlKTtpZih0KXtjb25zdCBlPXQubWFya2VyLm9uRGlzcG9zZSgoKCk9PnQuZGlzcG9zZSgpKSk7dC5vbkRpc3Bvc2UoKCgpPT57dCYmKHRoaXMuX2RlY29yYXRpb25zLmRlbGV0ZSh0KSYmdGhpcy5fb25EZWNvcmF0aW9uUmVtb3ZlZC5maXJlKHQpLGUuZGlzcG9zZSgpKX0pKSx0aGlzLl9kZWNvcmF0aW9ucy5pbnNlcnQodCksdGhpcy5fb25EZWNvcmF0aW9uUmVnaXN0ZXJlZC5maXJlKHQpfXJldHVybiB0fXJlc2V0KCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fZGVjb3JhdGlvbnMudmFsdWVzKCkpZS5kaXNwb3NlKCk7dGhpcy5fZGVjb3JhdGlvbnMuY2xlYXIoKX0qZ2V0RGVjb3JhdGlvbnNBdENlbGwoZSx0LGkpe2xldCBzPTAscj0wO2Zvcihjb25zdCBuIG9mIHRoaXMuX2RlY29yYXRpb25zLmdldEtleUl0ZXJhdG9yKHQpKXM9bi5vcHRpb25zLng/PzAscj1zKyhuLm9wdGlvbnMud2lkdGg/PzEpLGU+PXMmJmU8ciYmKCFpfHwobi5vcHRpb25zLmxheWVyPz9cImJvdHRvbVwiKT09PWkpJiYoeWllbGQgbil9Zm9yRWFjaERlY29yYXRpb25BdENlbGwoZSx0LGkscyl7dGhpcy5fZGVjb3JhdGlvbnMuZm9yRWFjaEJ5S2V5KHQsKHQ9PnthPXQub3B0aW9ucy54Pz8wLGg9YSsodC5vcHRpb25zLndpZHRoPz8xKSxlPj1hJiZlPGgmJighaXx8KHQub3B0aW9ucy5sYXllcj8/XCJib3R0b21cIik9PT1pKSYmcyh0KX0pKX19dC5EZWNvcmF0aW9uU2VydmljZT1jO2NsYXNzIGwgZXh0ZW5kcyBuLkRpc3Bvc2FibGV7Z2V0IGlzRGlzcG9zZWQoKXtyZXR1cm4gdGhpcy5faXNEaXNwb3NlZH1nZXQgYmFja2dyb3VuZENvbG9yUkdCKCl7cmV0dXJuIG51bGw9PT10aGlzLl9jYWNoZWRCZyYmKHRoaXMub3B0aW9ucy5iYWNrZ3JvdW5kQ29sb3I/dGhpcy5fY2FjaGVkQmc9cy5jc3MudG9Db2xvcih0aGlzLm9wdGlvbnMuYmFja2dyb3VuZENvbG9yKTp0aGlzLl9jYWNoZWRCZz12b2lkIDApLHRoaXMuX2NhY2hlZEJnfWdldCBmb3JlZ3JvdW5kQ29sb3JSR0IoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2NhY2hlZEZnJiYodGhpcy5vcHRpb25zLmZvcmVncm91bmRDb2xvcj90aGlzLl9jYWNoZWRGZz1zLmNzcy50b0NvbG9yKHRoaXMub3B0aW9ucy5mb3JlZ3JvdW5kQ29sb3IpOnRoaXMuX2NhY2hlZEZnPXZvaWQgMCksdGhpcy5fY2FjaGVkRmd9Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLm9wdGlvbnM9ZSx0aGlzLm9uUmVuZGVyRW1pdHRlcj10aGlzLnJlZ2lzdGVyKG5ldyByLkV2ZW50RW1pdHRlciksdGhpcy5vblJlbmRlcj10aGlzLm9uUmVuZGVyRW1pdHRlci5ldmVudCx0aGlzLl9vbkRpc3Bvc2U9dGhpcy5yZWdpc3RlcihuZXcgci5FdmVudEVtaXR0ZXIpLHRoaXMub25EaXNwb3NlPXRoaXMuX29uRGlzcG9zZS5ldmVudCx0aGlzLl9jYWNoZWRCZz1udWxsLHRoaXMuX2NhY2hlZEZnPW51bGwsdGhpcy5tYXJrZXI9ZS5tYXJrZXIsdGhpcy5vcHRpb25zLm92ZXJ2aWV3UnVsZXJPcHRpb25zJiYhdGhpcy5vcHRpb25zLm92ZXJ2aWV3UnVsZXJPcHRpb25zLnBvc2l0aW9uJiYodGhpcy5vcHRpb25zLm92ZXJ2aWV3UnVsZXJPcHRpb25zLnBvc2l0aW9uPVwiZnVsbFwiKX1kaXNwb3NlKCl7dGhpcy5fb25EaXNwb3NlLmZpcmUoKSxzdXBlci5kaXNwb3NlKCl9fX0sNDM0ODooZSx0LGkpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5JbnN0YW50aWF0aW9uU2VydmljZT10LlNlcnZpY2VDb2xsZWN0aW9uPXZvaWQgMDtjb25zdCBzPWkoMjU4NSkscj1pKDgzNDMpO2NsYXNzIG57Y29uc3RydWN0b3IoLi4uZSl7dGhpcy5fZW50cmllcz1uZXcgTWFwO2Zvcihjb25zdFt0LGldb2YgZSl0aGlzLnNldCh0LGkpfXNldChlLHQpe2NvbnN0IGk9dGhpcy5fZW50cmllcy5nZXQoZSk7cmV0dXJuIHRoaXMuX2VudHJpZXMuc2V0KGUsdCksaX1mb3JFYWNoKGUpe2Zvcihjb25zdFt0LGldb2YgdGhpcy5fZW50cmllcy5lbnRyaWVzKCkpZSh0LGkpfWhhcyhlKXtyZXR1cm4gdGhpcy5fZW50cmllcy5oYXMoZSl9Z2V0KGUpe3JldHVybiB0aGlzLl9lbnRyaWVzLmdldChlKX19dC5TZXJ2aWNlQ29sbGVjdGlvbj1uLHQuSW5zdGFudGlhdGlvblNlcnZpY2U9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLl9zZXJ2aWNlcz1uZXcgbix0aGlzLl9zZXJ2aWNlcy5zZXQocy5JSW5zdGFudGlhdGlvblNlcnZpY2UsdGhpcyl9c2V0U2VydmljZShlLHQpe3RoaXMuX3NlcnZpY2VzLnNldChlLHQpfWdldFNlcnZpY2UoZSl7cmV0dXJuIHRoaXMuX3NlcnZpY2VzLmdldChlKX1jcmVhdGVJbnN0YW5jZShlLC4uLnQpe2NvbnN0IGk9KDAsci5nZXRTZXJ2aWNlRGVwZW5kZW5jaWVzKShlKS5zb3J0KCgoZSx0KT0+ZS5pbmRleC10LmluZGV4KSkscz1bXTtmb3IoY29uc3QgdCBvZiBpKXtjb25zdCBpPXRoaXMuX3NlcnZpY2VzLmdldCh0LmlkKTtpZighaSl0aHJvdyBuZXcgRXJyb3IoYFtjcmVhdGVJbnN0YW5jZV0gJHtlLm5hbWV9IGRlcGVuZHMgb24gVU5LTk9XTiBzZXJ2aWNlICR7dC5pZH0uYCk7cy5wdXNoKGkpfWNvbnN0IG49aS5sZW5ndGg+MD9pWzBdLmluZGV4OnQubGVuZ3RoO2lmKHQubGVuZ3RoIT09bil0aHJvdyBuZXcgRXJyb3IoYFtjcmVhdGVJbnN0YW5jZV0gRmlyc3Qgc2VydmljZSBkZXBlbmRlbmN5IG9mICR7ZS5uYW1lfSBhdCBwb3NpdGlvbiAke24rMX0gY29uZmxpY3RzIHdpdGggJHt0Lmxlbmd0aH0gc3RhdGljIGFyZ3VtZW50c2ApO3JldHVybiBuZXcgZSguLi5bLi4udCwuLi5zXSl9fX0sNzg2NjpmdW5jdGlvbihlLHQsaSl7dmFyIHM9dGhpcyYmdGhpcy5fX2RlY29yYXRlfHxmdW5jdGlvbihlLHQsaSxzKXt2YXIgcixuPWFyZ3VtZW50cy5sZW5ndGgsbz1uPDM/dDpudWxsPT09cz9zPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxpKTpzO2lmKFwib2JqZWN0XCI9PXR5cGVvZiBSZWZsZWN0JiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBSZWZsZWN0LmRlY29yYXRlKW89UmVmbGVjdC5kZWNvcmF0ZShlLHQsaSxzKTtlbHNlIGZvcih2YXIgYT1lLmxlbmd0aC0xO2E+PTA7YS0tKShyPWVbYV0pJiYobz0objwzP3Iobyk6bj4zP3IodCxpLG8pOnIodCxpKSl8fG8pO3JldHVybiBuPjMmJm8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGksbyksb30scj10aGlzJiZ0aGlzLl9fcGFyYW18fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGkscyl7dChpLHMsZSl9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LnRyYWNlQ2FsbD10LnNldFRyYWNlTG9nZ2VyPXQuTG9nU2VydmljZT12b2lkIDA7Y29uc3Qgbj1pKDg0NCksbz1pKDI1ODUpLGE9e3RyYWNlOm8uTG9nTGV2ZWxFbnVtLlRSQUNFLGRlYnVnOm8uTG9nTGV2ZWxFbnVtLkRFQlVHLGluZm86by5Mb2dMZXZlbEVudW0uSU5GTyx3YXJuOm8uTG9nTGV2ZWxFbnVtLldBUk4sZXJyb3I6by5Mb2dMZXZlbEVudW0uRVJST1Isb2ZmOm8uTG9nTGV2ZWxFbnVtLk9GRn07bGV0IGgsYz10LkxvZ1NlcnZpY2U9Y2xhc3MgZXh0ZW5kcyBuLkRpc3Bvc2FibGV7Z2V0IGxvZ0xldmVsKCl7cmV0dXJuIHRoaXMuX2xvZ0xldmVsfWNvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fb3B0aW9uc1NlcnZpY2U9ZSx0aGlzLl9sb2dMZXZlbD1vLkxvZ0xldmVsRW51bS5PRkYsdGhpcy5fdXBkYXRlTG9nTGV2ZWwoKSx0aGlzLnJlZ2lzdGVyKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9uU3BlY2lmaWNPcHRpb25DaGFuZ2UoXCJsb2dMZXZlbFwiLCgoKT0+dGhpcy5fdXBkYXRlTG9nTGV2ZWwoKSkpKSxoPXRoaXN9X3VwZGF0ZUxvZ0xldmVsKCl7dGhpcy5fbG9nTGV2ZWw9YVt0aGlzLl9vcHRpb25zU2VydmljZS5yYXdPcHRpb25zLmxvZ0xldmVsXX1fZXZhbExhenlPcHRpb25hbFBhcmFtcyhlKXtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKylcImZ1bmN0aW9uXCI9PXR5cGVvZiBlW3RdJiYoZVt0XT1lW3RdKCkpfV9sb2coZSx0LGkpe3RoaXMuX2V2YWxMYXp5T3B0aW9uYWxQYXJhbXMoaSksZS5jYWxsKGNvbnNvbGUsKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMubG9nZ2VyP1wiXCI6XCJ4dGVybS5qczogXCIpK3QsLi4uaSl9dHJhY2UoZSwuLi50KXt0aGlzLl9sb2dMZXZlbDw9by5Mb2dMZXZlbEVudW0uVFJBQ0UmJnRoaXMuX2xvZyh0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLmxvZ2dlcj8udHJhY2UuYmluZCh0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLmxvZ2dlcik/P2NvbnNvbGUubG9nLGUsdCl9ZGVidWcoZSwuLi50KXt0aGlzLl9sb2dMZXZlbDw9by5Mb2dMZXZlbEVudW0uREVCVUcmJnRoaXMuX2xvZyh0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLmxvZ2dlcj8uZGVidWcuYmluZCh0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLmxvZ2dlcik/P2NvbnNvbGUubG9nLGUsdCl9aW5mbyhlLC4uLnQpe3RoaXMuX2xvZ0xldmVsPD1vLkxvZ0xldmVsRW51bS5JTkZPJiZ0aGlzLl9sb2codGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy5sb2dnZXI/LmluZm8uYmluZCh0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLmxvZ2dlcik/P2NvbnNvbGUuaW5mbyxlLHQpfXdhcm4oZSwuLi50KXt0aGlzLl9sb2dMZXZlbDw9by5Mb2dMZXZlbEVudW0uV0FSTiYmdGhpcy5fbG9nKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMubG9nZ2VyPy53YXJuLmJpbmQodGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy5sb2dnZXIpPz9jb25zb2xlLndhcm4sZSx0KX1lcnJvcihlLC4uLnQpe3RoaXMuX2xvZ0xldmVsPD1vLkxvZ0xldmVsRW51bS5FUlJPUiYmdGhpcy5fbG9nKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMubG9nZ2VyPy5lcnJvci5iaW5kKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMubG9nZ2VyKT8/Y29uc29sZS5lcnJvcixlLHQpfX07dC5Mb2dTZXJ2aWNlPWM9cyhbcigwLG8uSU9wdGlvbnNTZXJ2aWNlKV0sYyksdC5zZXRUcmFjZUxvZ2dlcj1mdW5jdGlvbihlKXtoPWV9LHQudHJhY2VDYWxsPWZ1bmN0aW9uKGUsdCxpKXtpZihcImZ1bmN0aW9uXCIhPXR5cGVvZiBpLnZhbHVlKXRocm93IG5ldyBFcnJvcihcIm5vdCBzdXBwb3J0ZWRcIik7Y29uc3Qgcz1pLnZhbHVlO2kudmFsdWU9ZnVuY3Rpb24oLi4uZSl7aWYoaC5sb2dMZXZlbCE9PW8uTG9nTGV2ZWxFbnVtLlRSQUNFKXJldHVybiBzLmFwcGx5KHRoaXMsZSk7aC50cmFjZShgR2x5cGhSZW5kZXJlciMke3MubmFtZX0oJHtlLm1hcCgoZT0+SlNPTi5zdHJpbmdpZnkoZSkpKS5qb2luKFwiLCBcIil9KWApO2NvbnN0IHQ9cy5hcHBseSh0aGlzLGUpO3JldHVybiBoLnRyYWNlKGBHbHlwaFJlbmRlcmVyIyR7cy5uYW1lfSByZXR1cm5gLHQpLHR9fX0sNzMwMjooZSx0LGkpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5PcHRpb25zU2VydmljZT10LkRFRkFVTFRfT1BUSU9OUz12b2lkIDA7Y29uc3Qgcz1pKDg0NjApLHI9aSg4NDQpLG49aSg2MTE0KTt0LkRFRkFVTFRfT1BUSU9OUz17Y29sczo4MCxyb3dzOjI0LGN1cnNvckJsaW5rOiExLGN1cnNvclN0eWxlOlwiYmxvY2tcIixjdXJzb3JXaWR0aDoxLGN1cnNvckluYWN0aXZlU3R5bGU6XCJvdXRsaW5lXCIsY3VzdG9tR2x5cGhzOiEwLGRyYXdCb2xkVGV4dEluQnJpZ2h0Q29sb3JzOiEwLGRvY3VtZW50T3ZlcnJpZGU6bnVsbCxmYXN0U2Nyb2xsTW9kaWZpZXI6XCJhbHRcIixmYXN0U2Nyb2xsU2Vuc2l0aXZpdHk6NSxmb250RmFtaWx5OlwiY291cmllci1uZXcsIGNvdXJpZXIsIG1vbm9zcGFjZVwiLGZvbnRTaXplOjE1LGZvbnRXZWlnaHQ6XCJub3JtYWxcIixmb250V2VpZ2h0Qm9sZDpcImJvbGRcIixpZ25vcmVCcmFja2V0ZWRQYXN0ZU1vZGU6ITEsbGluZUhlaWdodDoxLGxldHRlclNwYWNpbmc6MCxsaW5rSGFuZGxlcjpudWxsLGxvZ0xldmVsOlwiaW5mb1wiLGxvZ2dlcjpudWxsLHNjcm9sbGJhY2s6MWUzLHNjcm9sbE9uVXNlcklucHV0OiEwLHNjcm9sbFNlbnNpdGl2aXR5OjEsc2NyZWVuUmVhZGVyTW9kZTohMSxzbW9vdGhTY3JvbGxEdXJhdGlvbjowLG1hY09wdGlvbklzTWV0YTohMSxtYWNPcHRpb25DbGlja0ZvcmNlc1NlbGVjdGlvbjohMSxtaW5pbXVtQ29udHJhc3RSYXRpbzoxLGRpc2FibGVTdGRpbjohMSxhbGxvd1Byb3Bvc2VkQXBpOiExLGFsbG93VHJhbnNwYXJlbmN5OiExLHRhYlN0b3BXaWR0aDo4LHRoZW1lOnt9LHJlc2NhbGVPdmVybGFwcGluZ0dseXBoczohMSxyaWdodENsaWNrU2VsZWN0c1dvcmQ6bi5pc01hYyx3aW5kb3dPcHRpb25zOnt9LHdpbmRvd3NNb2RlOiExLHdpbmRvd3NQdHk6e30sd29yZFNlcGFyYXRvcjpcIiAoKVtde30nLFxcXCJgXCIsYWx0Q2xpY2tNb3Zlc0N1cnNvcjohMCxjb252ZXJ0RW9sOiExLHRlcm1OYW1lOlwieHRlcm1cIixjYW5jZWxFdmVudHM6ITEsb3ZlcnZpZXdSdWxlcldpZHRoOjB9O2NvbnN0IG89W1wibm9ybWFsXCIsXCJib2xkXCIsXCIxMDBcIixcIjIwMFwiLFwiMzAwXCIsXCI0MDBcIixcIjUwMFwiLFwiNjAwXCIsXCI3MDBcIixcIjgwMFwiLFwiOTAwXCJdO2NsYXNzIGEgZXh0ZW5kcyByLkRpc3Bvc2FibGV7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9vbk9wdGlvbkNoYW5nZT10aGlzLnJlZ2lzdGVyKG5ldyBzLkV2ZW50RW1pdHRlciksdGhpcy5vbk9wdGlvbkNoYW5nZT10aGlzLl9vbk9wdGlvbkNoYW5nZS5ldmVudDtjb25zdCBpPXsuLi50LkRFRkFVTFRfT1BUSU9OU307Zm9yKGNvbnN0IHQgaW4gZSlpZih0IGluIGkpdHJ5e2NvbnN0IHM9ZVt0XTtpW3RdPXRoaXMuX3Nhbml0aXplQW5kVmFsaWRhdGVPcHRpb24odCxzKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfXRoaXMucmF3T3B0aW9ucz1pLHRoaXMub3B0aW9ucz17Li4uaX0sdGhpcy5fc2V0dXBPcHRpb25zKCksdGhpcy5yZWdpc3RlcigoMCxyLnRvRGlzcG9zYWJsZSkoKCgpPT57dGhpcy5yYXdPcHRpb25zLmxpbmtIYW5kbGVyPW51bGwsdGhpcy5yYXdPcHRpb25zLmRvY3VtZW50T3ZlcnJpZGU9bnVsbH0pKSl9b25TcGVjaWZpY09wdGlvbkNoYW5nZShlLHQpe3JldHVybiB0aGlzLm9uT3B0aW9uQ2hhbmdlKChpPT57aT09PWUmJnQodGhpcy5yYXdPcHRpb25zW2VdKX0pKX1vbk11bHRpcGxlT3B0aW9uQ2hhbmdlKGUsdCl7cmV0dXJuIHRoaXMub25PcHRpb25DaGFuZ2UoKGk9PnstMSE9PWUuaW5kZXhPZihpKSYmdCgpfSkpfV9zZXR1cE9wdGlvbnMoKXtjb25zdCBlPWU9PntpZighKGUgaW4gdC5ERUZBVUxUX09QVElPTlMpKXRocm93IG5ldyBFcnJvcihgTm8gb3B0aW9uIHdpdGgga2V5IFwiJHtlfVwiYCk7cmV0dXJuIHRoaXMucmF3T3B0aW9uc1tlXX0saT0oZSxpKT0+e2lmKCEoZSBpbiB0LkRFRkFVTFRfT1BUSU9OUykpdGhyb3cgbmV3IEVycm9yKGBObyBvcHRpb24gd2l0aCBrZXkgXCIke2V9XCJgKTtpPXRoaXMuX3Nhbml0aXplQW5kVmFsaWRhdGVPcHRpb24oZSxpKSx0aGlzLnJhd09wdGlvbnNbZV0hPT1pJiYodGhpcy5yYXdPcHRpb25zW2VdPWksdGhpcy5fb25PcHRpb25DaGFuZ2UuZmlyZShlKSl9O2Zvcihjb25zdCB0IGluIHRoaXMucmF3T3B0aW9ucyl7Y29uc3Qgcz17Z2V0OmUuYmluZCh0aGlzLHQpLHNldDppLmJpbmQodGhpcyx0KX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMub3B0aW9ucyx0LHMpfX1fc2FuaXRpemVBbmRWYWxpZGF0ZU9wdGlvbihlLGkpe3N3aXRjaChlKXtjYXNlXCJjdXJzb3JTdHlsZVwiOmlmKGl8fChpPXQuREVGQVVMVF9PUFRJT05TW2VdKSwhZnVuY3Rpb24oZSl7cmV0dXJuXCJibG9ja1wiPT09ZXx8XCJ1bmRlcmxpbmVcIj09PWV8fFwiYmFyXCI9PT1lfShpKSl0aHJvdyBuZXcgRXJyb3IoYFwiJHtpfVwiIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciAke2V9YCk7YnJlYWs7Y2FzZVwid29yZFNlcGFyYXRvclwiOml8fChpPXQuREVGQVVMVF9PUFRJT05TW2VdKTticmVhaztjYXNlXCJmb250V2VpZ2h0XCI6Y2FzZVwiZm9udFdlaWdodEJvbGRcIjppZihcIm51bWJlclwiPT10eXBlb2YgaSYmMTw9aSYmaTw9MWUzKWJyZWFrO2k9by5pbmNsdWRlcyhpKT9pOnQuREVGQVVMVF9PUFRJT05TW2VdO2JyZWFrO2Nhc2VcImN1cnNvcldpZHRoXCI6aT1NYXRoLmZsb29yKGkpO2Nhc2VcImxpbmVIZWlnaHRcIjpjYXNlXCJ0YWJTdG9wV2lkdGhcIjppZihpPDEpdGhyb3cgbmV3IEVycm9yKGAke2V9IGNhbm5vdCBiZSBsZXNzIHRoYW4gMSwgdmFsdWU6ICR7aX1gKTticmVhaztjYXNlXCJtaW5pbXVtQ29udHJhc3RSYXRpb1wiOmk9TWF0aC5tYXgoMSxNYXRoLm1pbigyMSxNYXRoLnJvdW5kKDEwKmkpLzEwKSk7YnJlYWs7Y2FzZVwic2Nyb2xsYmFja1wiOmlmKChpPU1hdGgubWluKGksNDI5NDk2NzI5NSkpPDApdGhyb3cgbmV3IEVycm9yKGAke2V9IGNhbm5vdCBiZSBsZXNzIHRoYW4gMCwgdmFsdWU6ICR7aX1gKTticmVhaztjYXNlXCJmYXN0U2Nyb2xsU2Vuc2l0aXZpdHlcIjpjYXNlXCJzY3JvbGxTZW5zaXRpdml0eVwiOmlmKGk8PTApdGhyb3cgbmV3IEVycm9yKGAke2V9IGNhbm5vdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMCwgdmFsdWU6ICR7aX1gKTticmVhaztjYXNlXCJyb3dzXCI6Y2FzZVwiY29sc1wiOmlmKCFpJiYwIT09aSl0aHJvdyBuZXcgRXJyb3IoYCR7ZX0gbXVzdCBiZSBudW1lcmljLCB2YWx1ZTogJHtpfWApO2JyZWFrO2Nhc2VcIndpbmRvd3NQdHlcIjppPWk/P3t9fXJldHVybiBpfX10Lk9wdGlvbnNTZXJ2aWNlPWF9LDI2NjA6ZnVuY3Rpb24oZSx0LGkpe3ZhciBzPXRoaXMmJnRoaXMuX19kZWNvcmF0ZXx8ZnVuY3Rpb24oZSx0LGkscyl7dmFyIHIsbj1hcmd1bWVudHMubGVuZ3RoLG89bjwzP3Q6bnVsbD09PXM/cz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsaSk6cztpZihcIm9iamVjdFwiPT10eXBlb2YgUmVmbGVjdCYmXCJmdW5jdGlvblwiPT10eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSlvPVJlZmxlY3QuZGVjb3JhdGUoZSx0LGkscyk7ZWxzZSBmb3IodmFyIGE9ZS5sZW5ndGgtMTthPj0wO2EtLSkocj1lW2FdKSYmKG89KG48Mz9yKG8pOm4+Mz9yKHQsaSxvKTpyKHQsaSkpfHxvKTtyZXR1cm4gbj4zJiZvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxpLG8pLG99LHI9dGhpcyYmdGhpcy5fX3BhcmFtfHxmdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihpLHMpe3QoaSxzLGUpfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksdC5Pc2NMaW5rU2VydmljZT12b2lkIDA7Y29uc3Qgbj1pKDI1ODUpO2xldCBvPXQuT3NjTGlua1NlcnZpY2U9Y2xhc3N7Y29uc3RydWN0b3IoZSl7dGhpcy5fYnVmZmVyU2VydmljZT1lLHRoaXMuX25leHRJZD0xLHRoaXMuX2VudHJpZXNXaXRoSWQ9bmV3IE1hcCx0aGlzLl9kYXRhQnlMaW5rSWQ9bmV3IE1hcH1yZWdpc3RlckxpbmsoZSl7Y29uc3QgdD10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlcjtpZih2b2lkIDA9PT1lLmlkKXtjb25zdCBpPXQuYWRkTWFya2VyKHQueWJhc2UrdC55KSxzPXtkYXRhOmUsaWQ6dGhpcy5fbmV4dElkKyssbGluZXM6W2ldfTtyZXR1cm4gaS5vbkRpc3Bvc2UoKCgpPT50aGlzLl9yZW1vdmVNYXJrZXJGcm9tTGluayhzLGkpKSksdGhpcy5fZGF0YUJ5TGlua0lkLnNldChzLmlkLHMpLHMuaWR9Y29uc3QgaT1lLHM9dGhpcy5fZ2V0RW50cnlJZEtleShpKSxyPXRoaXMuX2VudHJpZXNXaXRoSWQuZ2V0KHMpO2lmKHIpcmV0dXJuIHRoaXMuYWRkTGluZVRvTGluayhyLmlkLHQueWJhc2UrdC55KSxyLmlkO2NvbnN0IG49dC5hZGRNYXJrZXIodC55YmFzZSt0LnkpLG89e2lkOnRoaXMuX25leHRJZCsrLGtleTp0aGlzLl9nZXRFbnRyeUlkS2V5KGkpLGRhdGE6aSxsaW5lczpbbl19O3JldHVybiBuLm9uRGlzcG9zZSgoKCk9PnRoaXMuX3JlbW92ZU1hcmtlckZyb21MaW5rKG8sbikpKSx0aGlzLl9lbnRyaWVzV2l0aElkLnNldChvLmtleSxvKSx0aGlzLl9kYXRhQnlMaW5rSWQuc2V0KG8uaWQsbyksby5pZH1hZGRMaW5lVG9MaW5rKGUsdCl7Y29uc3QgaT10aGlzLl9kYXRhQnlMaW5rSWQuZ2V0KGUpO2lmKGkmJmkubGluZXMuZXZlcnkoKGU9PmUubGluZSE9PXQpKSl7Y29uc3QgZT10aGlzLl9idWZmZXJTZXJ2aWNlLmJ1ZmZlci5hZGRNYXJrZXIodCk7aS5saW5lcy5wdXNoKGUpLGUub25EaXNwb3NlKCgoKT0+dGhpcy5fcmVtb3ZlTWFya2VyRnJvbUxpbmsoaSxlKSkpfX1nZXRMaW5rRGF0YShlKXtyZXR1cm4gdGhpcy5fZGF0YUJ5TGlua0lkLmdldChlKT8uZGF0YX1fZ2V0RW50cnlJZEtleShlKXtyZXR1cm5gJHtlLmlkfTs7JHtlLnVyaX1gfV9yZW1vdmVNYXJrZXJGcm9tTGluayhlLHQpe2NvbnN0IGk9ZS5saW5lcy5pbmRleE9mKHQpOy0xIT09aSYmKGUubGluZXMuc3BsaWNlKGksMSksMD09PWUubGluZXMubGVuZ3RoJiYodm9pZCAwIT09ZS5kYXRhLmlkJiZ0aGlzLl9lbnRyaWVzV2l0aElkLmRlbGV0ZShlLmtleSksdGhpcy5fZGF0YUJ5TGlua0lkLmRlbGV0ZShlLmlkKSkpfX07dC5Pc2NMaW5rU2VydmljZT1vPXMoW3IoMCxuLklCdWZmZXJTZXJ2aWNlKV0sbyl9LDgzNDM6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LmNyZWF0ZURlY29yYXRvcj10LmdldFNlcnZpY2VEZXBlbmRlbmNpZXM9dC5zZXJ2aWNlUmVnaXN0cnk9dm9pZCAwO2NvbnN0IGk9XCJkaSR0YXJnZXRcIixzPVwiZGkkZGVwZW5kZW5jaWVzXCI7dC5zZXJ2aWNlUmVnaXN0cnk9bmV3IE1hcCx0LmdldFNlcnZpY2VEZXBlbmRlbmNpZXM9ZnVuY3Rpb24oZSl7cmV0dXJuIGVbc118fFtdfSx0LmNyZWF0ZURlY29yYXRvcj1mdW5jdGlvbihlKXtpZih0LnNlcnZpY2VSZWdpc3RyeS5oYXMoZSkpcmV0dXJuIHQuc2VydmljZVJlZ2lzdHJ5LmdldChlKTtjb25zdCByPWZ1bmN0aW9uKGUsdCxuKXtpZigzIT09YXJndW1lbnRzLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoXCJASVNlcnZpY2VOYW1lLWRlY29yYXRvciBjYW4gb25seSBiZSB1c2VkIHRvIGRlY29yYXRlIGEgcGFyYW1ldGVyXCIpOyFmdW5jdGlvbihlLHQscil7dFtpXT09PXQ/dFtzXS5wdXNoKHtpZDplLGluZGV4OnJ9KToodFtzXT1be2lkOmUsaW5kZXg6cn1dLHRbaV09dCl9KHIsZSxuKX07cmV0dXJuIHIudG9TdHJpbmc9KCk9PmUsdC5zZXJ2aWNlUmVnaXN0cnkuc2V0KGUscikscn19LDI1ODU6KGUsdCxpKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLHQuSURlY29yYXRpb25TZXJ2aWNlPXQuSVVuaWNvZGVTZXJ2aWNlPXQuSU9zY0xpbmtTZXJ2aWNlPXQuSU9wdGlvbnNTZXJ2aWNlPXQuSUxvZ1NlcnZpY2U9dC5Mb2dMZXZlbEVudW09dC5JSW5zdGFudGlhdGlvblNlcnZpY2U9dC5JQ2hhcnNldFNlcnZpY2U9dC5JQ29yZVNlcnZpY2U9dC5JQ29yZU1vdXNlU2VydmljZT10LklCdWZmZXJTZXJ2aWNlPXZvaWQgMDtjb25zdCBzPWkoODM0Myk7dmFyIHI7dC5JQnVmZmVyU2VydmljZT0oMCxzLmNyZWF0ZURlY29yYXRvcikoXCJCdWZmZXJTZXJ2aWNlXCIpLHQuSUNvcmVNb3VzZVNlcnZpY2U9KDAscy5jcmVhdGVEZWNvcmF0b3IpKFwiQ29yZU1vdXNlU2VydmljZVwiKSx0LklDb3JlU2VydmljZT0oMCxzLmNyZWF0ZURlY29yYXRvcikoXCJDb3JlU2VydmljZVwiKSx0LklDaGFyc2V0U2VydmljZT0oMCxzLmNyZWF0ZURlY29yYXRvcikoXCJDaGFyc2V0U2VydmljZVwiKSx0LklJbnN0YW50aWF0aW9uU2VydmljZT0oMCxzLmNyZWF0ZURlY29yYXRvcikoXCJJbnN0YW50aWF0aW9uU2VydmljZVwiKSxmdW5jdGlvbihlKXtlW2UuVFJBQ0U9MF09XCJUUkFDRVwiLGVbZS5ERUJVRz0xXT1cIkRFQlVHXCIsZVtlLklORk89Ml09XCJJTkZPXCIsZVtlLldBUk49M109XCJXQVJOXCIsZVtlLkVSUk9SPTRdPVwiRVJST1JcIixlW2UuT0ZGPTVdPVwiT0ZGXCJ9KHJ8fCh0LkxvZ0xldmVsRW51bT1yPXt9KSksdC5JTG9nU2VydmljZT0oMCxzLmNyZWF0ZURlY29yYXRvcikoXCJMb2dTZXJ2aWNlXCIpLHQuSU9wdGlvbnNTZXJ2aWNlPSgwLHMuY3JlYXRlRGVjb3JhdG9yKShcIk9wdGlvbnNTZXJ2aWNlXCIpLHQuSU9zY0xpbmtTZXJ2aWNlPSgwLHMuY3JlYXRlRGVjb3JhdG9yKShcIk9zY0xpbmtTZXJ2aWNlXCIpLHQuSVVuaWNvZGVTZXJ2aWNlPSgwLHMuY3JlYXRlRGVjb3JhdG9yKShcIlVuaWNvZGVTZXJ2aWNlXCIpLHQuSURlY29yYXRpb25TZXJ2aWNlPSgwLHMuY3JlYXRlRGVjb3JhdG9yKShcIkRlY29yYXRpb25TZXJ2aWNlXCIpfSwxNDgwOihlLHQsaSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSx0LlVuaWNvZGVTZXJ2aWNlPXZvaWQgMDtjb25zdCBzPWkoODQ2MCkscj1pKDIyNSk7Y2xhc3MgbntzdGF0aWMgZXh0cmFjdFNob3VsZEpvaW4oZSl7cmV0dXJuIDAhPSgxJmUpfXN0YXRpYyBleHRyYWN0V2lkdGgoZSl7cmV0dXJuIGU+PjEmM31zdGF0aWMgZXh0cmFjdENoYXJLaW5kKGUpe3JldHVybiBlPj4zfXN0YXRpYyBjcmVhdGVQcm9wZXJ0eVZhbHVlKGUsdCxpPSExKXtyZXR1cm4oMTY3NzcyMTUmZSk8PDN8KDMmdCk8PDF8KGk/MTowKX1jb25zdHJ1Y3Rvcigpe3RoaXMuX3Byb3ZpZGVycz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2FjdGl2ZT1cIlwiLHRoaXMuX29uQ2hhbmdlPW5ldyBzLkV2ZW50RW1pdHRlcix0aGlzLm9uQ2hhbmdlPXRoaXMuX29uQ2hhbmdlLmV2ZW50O2NvbnN0IGU9bmV3IHIuVW5pY29kZVY2O3RoaXMucmVnaXN0ZXIoZSksdGhpcy5fYWN0aXZlPWUudmVyc2lvbix0aGlzLl9hY3RpdmVQcm92aWRlcj1lfWRpc3Bvc2UoKXt0aGlzLl9vbkNoYW5nZS5kaXNwb3NlKCl9Z2V0IHZlcnNpb25zKCl7cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuX3Byb3ZpZGVycyl9Z2V0IGFjdGl2ZVZlcnNpb24oKXtyZXR1cm4gdGhpcy5fYWN0aXZlfXNldCBhY3RpdmVWZXJzaW9uKGUpe2lmKCF0aGlzLl9wcm92aWRlcnNbZV0pdGhyb3cgbmV3IEVycm9yKGB1bmtub3duIFVuaWNvZGUgdmVyc2lvbiBcIiR7ZX1cImApO3RoaXMuX2FjdGl2ZT1lLHRoaXMuX2FjdGl2ZVByb3ZpZGVyPXRoaXMuX3Byb3ZpZGVyc1tlXSx0aGlzLl9vbkNoYW5nZS5maXJlKGUpfXJlZ2lzdGVyKGUpe3RoaXMuX3Byb3ZpZGVyc1tlLnZlcnNpb25dPWV9d2N3aWR0aChlKXtyZXR1cm4gdGhpcy5fYWN0aXZlUHJvdmlkZXIud2N3aWR0aChlKX1nZXRTdHJpbmdDZWxsV2lkdGgoZSl7bGV0IHQ9MCxpPTA7Y29uc3Qgcz1lLmxlbmd0aDtmb3IobGV0IHI9MDtyPHM7KytyKXtsZXQgbz1lLmNoYXJDb2RlQXQocik7aWYoNTUyOTY8PW8mJm88PTU2MzE5KXtpZigrK3I+PXMpcmV0dXJuIHQrdGhpcy53Y3dpZHRoKG8pO2NvbnN0IGk9ZS5jaGFyQ29kZUF0KHIpOzU2MzIwPD1pJiZpPD01NzM0Mz9vPTEwMjQqKG8tNTUyOTYpK2ktNTYzMjArNjU1MzY6dCs9dGhpcy53Y3dpZHRoKGkpfWNvbnN0IGE9dGhpcy5jaGFyUHJvcGVydGllcyhvLGkpO2xldCBoPW4uZXh0cmFjdFdpZHRoKGEpO24uZXh0cmFjdFNob3VsZEpvaW4oYSkmJihoLT1uLmV4dHJhY3RXaWR0aChpKSksdCs9aCxpPWF9cmV0dXJuIHR9Y2hhclByb3BlcnRpZXMoZSx0KXtyZXR1cm4gdGhpcy5fYWN0aXZlUHJvdmlkZXIuY2hhclByb3BlcnRpZXMoZSx0KX19dC5Vbmljb2RlU2VydmljZT1ufX0sdD17fTtmdW5jdGlvbiBpKHMpe3ZhciByPXRbc107aWYodm9pZCAwIT09cilyZXR1cm4gci5leHBvcnRzO3ZhciBuPXRbc109e2V4cG9ydHM6e319O3JldHVybiBlW3NdLmNhbGwobi5leHBvcnRzLG4sbi5leHBvcnRzLGkpLG4uZXhwb3J0c312YXIgcz17fTtyZXR1cm4oKCk9Pnt2YXIgZT1zO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLGUuVGVybWluYWw9dm9pZCAwO2NvbnN0IHQ9aSg5MDQyKSxyPWkoMzIzNiksbj1pKDg0NCksbz1pKDU3NDEpLGE9aSg4Mjg1KSxoPWkoNzk3NSksYz1pKDcwOTApLGw9W1wiY29sc1wiLFwicm93c1wiXTtjbGFzcyBkIGV4dGVuZHMgbi5EaXNwb3NhYmxle2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fY29yZT10aGlzLnJlZ2lzdGVyKG5ldyByLlRlcm1pbmFsKGUpKSx0aGlzLl9hZGRvbk1hbmFnZXI9dGhpcy5yZWdpc3RlcihuZXcgby5BZGRvbk1hbmFnZXIpLHRoaXMuX3B1YmxpY09wdGlvbnM9ey4uLnRoaXMuX2NvcmUub3B0aW9uc307Y29uc3QgdD1lPT50aGlzLl9jb3JlLm9wdGlvbnNbZV0saT0oZSx0KT0+e3RoaXMuX2NoZWNrUmVhZG9ubHlPcHRpb25zKGUpLHRoaXMuX2NvcmUub3B0aW9uc1tlXT10fTtmb3IoY29uc3QgZSBpbiB0aGlzLl9jb3JlLm9wdGlvbnMpe2NvbnN0IHM9e2dldDp0LmJpbmQodGhpcyxlKSxzZXQ6aS5iaW5kKHRoaXMsZSl9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLl9wdWJsaWNPcHRpb25zLGUscyl9fV9jaGVja1JlYWRvbmx5T3B0aW9ucyhlKXtpZihsLmluY2x1ZGVzKGUpKXRocm93IG5ldyBFcnJvcihgT3B0aW9uIFwiJHtlfVwiIGNhbiBvbmx5IGJlIHNldCBpbiB0aGUgY29uc3RydWN0b3JgKX1fY2hlY2tQcm9wb3NlZEFwaSgpe2lmKCF0aGlzLl9jb3JlLm9wdGlvbnNTZXJ2aWNlLnJhd09wdGlvbnMuYWxsb3dQcm9wb3NlZEFwaSl0aHJvdyBuZXcgRXJyb3IoXCJZb3UgbXVzdCBzZXQgdGhlIGFsbG93UHJvcG9zZWRBcGkgb3B0aW9uIHRvIHRydWUgdG8gdXNlIHByb3Bvc2VkIEFQSVwiKX1nZXQgb25CZWxsKCl7cmV0dXJuIHRoaXMuX2NvcmUub25CZWxsfWdldCBvbkJpbmFyeSgpe3JldHVybiB0aGlzLl9jb3JlLm9uQmluYXJ5fWdldCBvbkN1cnNvck1vdmUoKXtyZXR1cm4gdGhpcy5fY29yZS5vbkN1cnNvck1vdmV9Z2V0IG9uRGF0YSgpe3JldHVybiB0aGlzLl9jb3JlLm9uRGF0YX1nZXQgb25LZXkoKXtyZXR1cm4gdGhpcy5fY29yZS5vbktleX1nZXQgb25MaW5lRmVlZCgpe3JldHVybiB0aGlzLl9jb3JlLm9uTGluZUZlZWR9Z2V0IG9uUmVuZGVyKCl7cmV0dXJuIHRoaXMuX2NvcmUub25SZW5kZXJ9Z2V0IG9uUmVzaXplKCl7cmV0dXJuIHRoaXMuX2NvcmUub25SZXNpemV9Z2V0IG9uU2Nyb2xsKCl7cmV0dXJuIHRoaXMuX2NvcmUub25TY3JvbGx9Z2V0IG9uU2VsZWN0aW9uQ2hhbmdlKCl7cmV0dXJuIHRoaXMuX2NvcmUub25TZWxlY3Rpb25DaGFuZ2V9Z2V0IG9uVGl0bGVDaGFuZ2UoKXtyZXR1cm4gdGhpcy5fY29yZS5vblRpdGxlQ2hhbmdlfWdldCBvbldyaXRlUGFyc2VkKCl7cmV0dXJuIHRoaXMuX2NvcmUub25Xcml0ZVBhcnNlZH1nZXQgZWxlbWVudCgpe3JldHVybiB0aGlzLl9jb3JlLmVsZW1lbnR9Z2V0IHBhcnNlcigpe3JldHVybiB0aGlzLl9wYXJzZXJ8fCh0aGlzLl9wYXJzZXI9bmV3IGguUGFyc2VyQXBpKHRoaXMuX2NvcmUpKSx0aGlzLl9wYXJzZXJ9Z2V0IHVuaWNvZGUoKXtyZXR1cm4gdGhpcy5fY2hlY2tQcm9wb3NlZEFwaSgpLG5ldyBjLlVuaWNvZGVBcGkodGhpcy5fY29yZSl9Z2V0IHRleHRhcmVhKCl7cmV0dXJuIHRoaXMuX2NvcmUudGV4dGFyZWF9Z2V0IHJvd3MoKXtyZXR1cm4gdGhpcy5fY29yZS5yb3dzfWdldCBjb2xzKCl7cmV0dXJuIHRoaXMuX2NvcmUuY29sc31nZXQgYnVmZmVyKCl7cmV0dXJuIHRoaXMuX2J1ZmZlcnx8KHRoaXMuX2J1ZmZlcj10aGlzLnJlZ2lzdGVyKG5ldyBhLkJ1ZmZlck5hbWVzcGFjZUFwaSh0aGlzLl9jb3JlKSkpLHRoaXMuX2J1ZmZlcn1nZXQgbWFya2Vycygpe3JldHVybiB0aGlzLl9jaGVja1Byb3Bvc2VkQXBpKCksdGhpcy5fY29yZS5tYXJrZXJzfWdldCBtb2Rlcygpe2NvbnN0IGU9dGhpcy5fY29yZS5jb3JlU2VydmljZS5kZWNQcml2YXRlTW9kZXM7bGV0IHQ9XCJub25lXCI7c3dpdGNoKHRoaXMuX2NvcmUuY29yZU1vdXNlU2VydmljZS5hY3RpdmVQcm90b2NvbCl7Y2FzZVwiWDEwXCI6dD1cIngxMFwiO2JyZWFrO2Nhc2VcIlZUMjAwXCI6dD1cInZ0MjAwXCI7YnJlYWs7Y2FzZVwiRFJBR1wiOnQ9XCJkcmFnXCI7YnJlYWs7Y2FzZVwiQU5ZXCI6dD1cImFueVwifXJldHVybnthcHBsaWNhdGlvbkN1cnNvcktleXNNb2RlOmUuYXBwbGljYXRpb25DdXJzb3JLZXlzLGFwcGxpY2F0aW9uS2V5cGFkTW9kZTplLmFwcGxpY2F0aW9uS2V5cGFkLGJyYWNrZXRlZFBhc3RlTW9kZTplLmJyYWNrZXRlZFBhc3RlTW9kZSxpbnNlcnRNb2RlOnRoaXMuX2NvcmUuY29yZVNlcnZpY2UubW9kZXMuaW5zZXJ0TW9kZSxtb3VzZVRyYWNraW5nTW9kZTp0LG9yaWdpbk1vZGU6ZS5vcmlnaW4scmV2ZXJzZVdyYXBhcm91bmRNb2RlOmUucmV2ZXJzZVdyYXBhcm91bmQsc2VuZEZvY3VzTW9kZTplLnNlbmRGb2N1cyx3cmFwYXJvdW5kTW9kZTplLndyYXBhcm91bmR9fWdldCBvcHRpb25zKCl7cmV0dXJuIHRoaXMuX3B1YmxpY09wdGlvbnN9c2V0IG9wdGlvbnMoZSl7Zm9yKGNvbnN0IHQgaW4gZSl0aGlzLl9wdWJsaWNPcHRpb25zW3RdPWVbdF19Ymx1cigpe3RoaXMuX2NvcmUuYmx1cigpfWZvY3VzKCl7dGhpcy5fY29yZS5mb2N1cygpfWlucHV0KGUsdD0hMCl7dGhpcy5fY29yZS5pbnB1dChlLHQpfXJlc2l6ZShlLHQpe3RoaXMuX3ZlcmlmeUludGVnZXJzKGUsdCksdGhpcy5fY29yZS5yZXNpemUoZSx0KX1vcGVuKGUpe3RoaXMuX2NvcmUub3BlbihlKX1hdHRhY2hDdXN0b21LZXlFdmVudEhhbmRsZXIoZSl7dGhpcy5fY29yZS5hdHRhY2hDdXN0b21LZXlFdmVudEhhbmRsZXIoZSl9YXR0YWNoQ3VzdG9tV2hlZWxFdmVudEhhbmRsZXIoZSl7dGhpcy5fY29yZS5hdHRhY2hDdXN0b21XaGVlbEV2ZW50SGFuZGxlcihlKX1yZWdpc3RlckxpbmtQcm92aWRlcihlKXtyZXR1cm4gdGhpcy5fY29yZS5yZWdpc3RlckxpbmtQcm92aWRlcihlKX1yZWdpc3RlckNoYXJhY3RlckpvaW5lcihlKXtyZXR1cm4gdGhpcy5fY2hlY2tQcm9wb3NlZEFwaSgpLHRoaXMuX2NvcmUucmVnaXN0ZXJDaGFyYWN0ZXJKb2luZXIoZSl9ZGVyZWdpc3RlckNoYXJhY3RlckpvaW5lcihlKXt0aGlzLl9jaGVja1Byb3Bvc2VkQXBpKCksdGhpcy5fY29yZS5kZXJlZ2lzdGVyQ2hhcmFjdGVySm9pbmVyKGUpfXJlZ2lzdGVyTWFya2VyKGU9MCl7cmV0dXJuIHRoaXMuX3ZlcmlmeUludGVnZXJzKGUpLHRoaXMuX2NvcmUucmVnaXN0ZXJNYXJrZXIoZSl9cmVnaXN0ZXJEZWNvcmF0aW9uKGUpe3JldHVybiB0aGlzLl9jaGVja1Byb3Bvc2VkQXBpKCksdGhpcy5fdmVyaWZ5UG9zaXRpdmVJbnRlZ2VycyhlLng/PzAsZS53aWR0aD8/MCxlLmhlaWdodD8/MCksdGhpcy5fY29yZS5yZWdpc3RlckRlY29yYXRpb24oZSl9aGFzU2VsZWN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvcmUuaGFzU2VsZWN0aW9uKCl9c2VsZWN0KGUsdCxpKXt0aGlzLl92ZXJpZnlJbnRlZ2VycyhlLHQsaSksdGhpcy5fY29yZS5zZWxlY3QoZSx0LGkpfWdldFNlbGVjdGlvbigpe3JldHVybiB0aGlzLl9jb3JlLmdldFNlbGVjdGlvbigpfWdldFNlbGVjdGlvblBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuX2NvcmUuZ2V0U2VsZWN0aW9uUG9zaXRpb24oKX1jbGVhclNlbGVjdGlvbigpe3RoaXMuX2NvcmUuY2xlYXJTZWxlY3Rpb24oKX1zZWxlY3RBbGwoKXt0aGlzLl9jb3JlLnNlbGVjdEFsbCgpfXNlbGVjdExpbmVzKGUsdCl7dGhpcy5fdmVyaWZ5SW50ZWdlcnMoZSx0KSx0aGlzLl9jb3JlLnNlbGVjdExpbmVzKGUsdCl9ZGlzcG9zZSgpe3N1cGVyLmRpc3Bvc2UoKX1zY3JvbGxMaW5lcyhlKXt0aGlzLl92ZXJpZnlJbnRlZ2VycyhlKSx0aGlzLl9jb3JlLnNjcm9sbExpbmVzKGUpfXNjcm9sbFBhZ2VzKGUpe3RoaXMuX3ZlcmlmeUludGVnZXJzKGUpLHRoaXMuX2NvcmUuc2Nyb2xsUGFnZXMoZSl9c2Nyb2xsVG9Ub3AoKXt0aGlzLl9jb3JlLnNjcm9sbFRvVG9wKCl9c2Nyb2xsVG9Cb3R0b20oKXt0aGlzLl9jb3JlLnNjcm9sbFRvQm90dG9tKCl9c2Nyb2xsVG9MaW5lKGUpe3RoaXMuX3ZlcmlmeUludGVnZXJzKGUpLHRoaXMuX2NvcmUuc2Nyb2xsVG9MaW5lKGUpfWNsZWFyKCl7dGhpcy5fY29yZS5jbGVhcigpfXdyaXRlKGUsdCl7dGhpcy5fY29yZS53cml0ZShlLHQpfXdyaXRlbG4oZSx0KXt0aGlzLl9jb3JlLndyaXRlKGUpLHRoaXMuX2NvcmUud3JpdGUoXCJcXHJcXG5cIix0KX1wYXN0ZShlKXt0aGlzLl9jb3JlLnBhc3RlKGUpfXJlZnJlc2goZSx0KXt0aGlzLl92ZXJpZnlJbnRlZ2VycyhlLHQpLHRoaXMuX2NvcmUucmVmcmVzaChlLHQpfXJlc2V0KCl7dGhpcy5fY29yZS5yZXNldCgpfWNsZWFyVGV4dHVyZUF0bGFzKCl7dGhpcy5fY29yZS5jbGVhclRleHR1cmVBdGxhcygpfWxvYWRBZGRvbihlKXt0aGlzLl9hZGRvbk1hbmFnZXIubG9hZEFkZG9uKHRoaXMsZSl9c3RhdGljIGdldCBzdHJpbmdzKCl7cmV0dXJuIHR9X3ZlcmlmeUludGVnZXJzKC4uLmUpe2Zvcihjb25zdCB0IG9mIGUpaWYodD09PTEvMHx8aXNOYU4odCl8fHQlMSE9MCl0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIEFQSSBvbmx5IGFjY2VwdHMgaW50ZWdlcnNcIil9X3ZlcmlmeVBvc2l0aXZlSW50ZWdlcnMoLi4uZSl7Zm9yKGNvbnN0IHQgb2YgZSlpZih0JiYodD09PTEvMHx8aXNOYU4odCl8fHQlMSE9MHx8dDwwKSl0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIEFQSSBvbmx5IGFjY2VwdHMgcG9zaXRpdmUgaW50ZWdlcnNcIil9fWUuVGVybWluYWw9ZH0pKCksc30pKCkpKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXh0ZXJtLmpzLm1hcCIsIm1vZHVsZS5leHBvcnRzID0gYWZ0ZXJcblxuZnVuY3Rpb24gYWZ0ZXIoY291bnQsIGNhbGxiYWNrLCBlcnJfY2IpIHtcbiAgICB2YXIgYmFpbCA9IGZhbHNlXG4gICAgZXJyX2NiID0gZXJyX2NiIHx8IG5vb3BcbiAgICBwcm94eS5jb3VudCA9IGNvdW50XG5cbiAgICByZXR1cm4gKGNvdW50ID09PSAwKSA/IGNhbGxiYWNrKCkgOiBwcm94eVxuXG4gICAgZnVuY3Rpb24gcHJveHkoZXJyLCByZXN1bHQpIHtcbiAgICAgICAgaWYgKHByb3h5LmNvdW50IDw9IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignYWZ0ZXIgY2FsbGVkIHRvbyBtYW55IHRpbWVzJylcbiAgICAgICAgfVxuICAgICAgICAtLXByb3h5LmNvdW50XG5cbiAgICAgICAgLy8gYWZ0ZXIgZmlyc3QgZXJyb3IsIHJlc3QgYXJlIHBhc3NlZCB0byBlcnJfY2JcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgYmFpbCA9IHRydWVcbiAgICAgICAgICAgIGNhbGxiYWNrKGVycilcbiAgICAgICAgICAgIC8vIGZ1dHVyZSBlcnJvciBjYWxsYmFja3Mgd2lsbCBnbyB0byBlcnJvciBoYW5kbGVyXG4gICAgICAgICAgICBjYWxsYmFjayA9IGVycl9jYlxuICAgICAgICB9IGVsc2UgaWYgKHByb3h5LmNvdW50ID09PSAwICYmICFiYWlsKSB7XG4gICAgICAgICAgICBjYWxsYmFjayhudWxsLCByZXN1bHQpXG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIG5vb3AoKSB7fVxuIiwiLyoqXG4gKiBBbiBhYnN0cmFjdGlvbiBmb3Igc2xpY2luZyBhbiBhcnJheWJ1ZmZlciBldmVuIHdoZW5cbiAqIEFycmF5QnVmZmVyLnByb3RvdHlwZS5zbGljZSBpcyBub3Qgc3VwcG9ydGVkXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKGFycmF5YnVmZmVyLCBzdGFydCwgZW5kKSB7XG4gIHZhciBieXRlcyA9IGFycmF5YnVmZmVyLmJ5dGVMZW5ndGg7XG4gIHN0YXJ0ID0gc3RhcnQgfHwgMDtcbiAgZW5kID0gZW5kIHx8IGJ5dGVzO1xuXG4gIGlmIChhcnJheWJ1ZmZlci5zbGljZSkgeyByZXR1cm4gYXJyYXlidWZmZXIuc2xpY2Uoc3RhcnQsIGVuZCk7IH1cblxuICBpZiAoc3RhcnQgPCAwKSB7IHN0YXJ0ICs9IGJ5dGVzOyB9XG4gIGlmIChlbmQgPCAwKSB7IGVuZCArPSBieXRlczsgfVxuICBpZiAoZW5kID4gYnl0ZXMpIHsgZW5kID0gYnl0ZXM7IH1cblxuICBpZiAoc3RhcnQgPj0gYnl0ZXMgfHwgc3RhcnQgPj0gZW5kIHx8IGJ5dGVzID09PSAwKSB7XG4gICAgcmV0dXJuIG5ldyBBcnJheUJ1ZmZlcigwKTtcbiAgfVxuXG4gIHZhciBhYnYgPSBuZXcgVWludDhBcnJheShhcnJheWJ1ZmZlcik7XG4gIHZhciByZXN1bHQgPSBuZXcgVWludDhBcnJheShlbmQgLSBzdGFydCk7XG4gIGZvciAodmFyIGkgPSBzdGFydCwgaWkgPSAwOyBpIDwgZW5kOyBpKyssIGlpKyspIHtcbiAgICByZXN1bHRbaWldID0gYWJ2W2ldO1xuICB9XG4gIHJldHVybiByZXN1bHQuYnVmZmVyO1xufTtcbiIsIlxuLyoqXG4gKiBFeHBvc2UgYEJhY2tvZmZgLlxuICovXG5cbm1vZHVsZS5leHBvcnRzID0gQmFja29mZjtcblxuLyoqXG4gKiBJbml0aWFsaXplIGJhY2tvZmYgdGltZXIgd2l0aCBgb3B0c2AuXG4gKlxuICogLSBgbWluYCBpbml0aWFsIHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzIFsxMDBdXG4gKiAtIGBtYXhgIG1heCB0aW1lb3V0IFsxMDAwMF1cbiAqIC0gYGppdHRlcmAgWzBdXG4gKiAtIGBmYWN0b3JgIFsyXVxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIEJhY2tvZmYob3B0cykge1xuICBvcHRzID0gb3B0cyB8fCB7fTtcbiAgdGhpcy5tcyA9IG9wdHMubWluIHx8IDEwMDtcbiAgdGhpcy5tYXggPSBvcHRzLm1heCB8fCAxMDAwMDtcbiAgdGhpcy5mYWN0b3IgPSBvcHRzLmZhY3RvciB8fCAyO1xuICB0aGlzLmppdHRlciA9IG9wdHMuaml0dGVyID4gMCAmJiBvcHRzLmppdHRlciA8PSAxID8gb3B0cy5qaXR0ZXIgOiAwO1xuICB0aGlzLmF0dGVtcHRzID0gMDtcbn1cblxuLyoqXG4gKiBSZXR1cm4gdGhlIGJhY2tvZmYgZHVyYXRpb24uXG4gKlxuICogQHJldHVybiB7TnVtYmVyfVxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5CYWNrb2ZmLnByb3RvdHlwZS5kdXJhdGlvbiA9IGZ1bmN0aW9uKCl7XG4gIHZhciBtcyA9IHRoaXMubXMgKiBNYXRoLnBvdyh0aGlzLmZhY3RvciwgdGhpcy5hdHRlbXB0cysrKTtcbiAgaWYgKHRoaXMuaml0dGVyKSB7XG4gICAgdmFyIHJhbmQgPSAgTWF0aC5yYW5kb20oKTtcbiAgICB2YXIgZGV2aWF0aW9uID0gTWF0aC5mbG9vcihyYW5kICogdGhpcy5qaXR0ZXIgKiBtcyk7XG4gICAgbXMgPSAoTWF0aC5mbG9vcihyYW5kICogMTApICYgMSkgPT0gMCAgPyBtcyAtIGRldmlhdGlvbiA6IG1zICsgZGV2aWF0aW9uO1xuICB9XG4gIHJldHVybiBNYXRoLm1pbihtcywgdGhpcy5tYXgpIHwgMDtcbn07XG5cbi8qKlxuICogUmVzZXQgdGhlIG51bWJlciBvZiBhdHRlbXB0cy5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbkJhY2tvZmYucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24oKXtcbiAgdGhpcy5hdHRlbXB0cyA9IDA7XG59O1xuXG4vKipcbiAqIFNldCB0aGUgbWluaW11bSBkdXJhdGlvblxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuQmFja29mZi5wcm90b3R5cGUuc2V0TWluID0gZnVuY3Rpb24obWluKXtcbiAgdGhpcy5tcyA9IG1pbjtcbn07XG5cbi8qKlxuICogU2V0IHRoZSBtYXhpbXVtIGR1cmF0aW9uXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5CYWNrb2ZmLnByb3RvdHlwZS5zZXRNYXggPSBmdW5jdGlvbihtYXgpe1xuICB0aGlzLm1heCA9IG1heDtcbn07XG5cbi8qKlxuICogU2V0IHRoZSBqaXR0ZXJcbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbkJhY2tvZmYucHJvdG90eXBlLnNldEppdHRlciA9IGZ1bmN0aW9uKGppdHRlcil7XG4gIHRoaXMuaml0dGVyID0gaml0dGVyO1xufTtcblxuIiwiLyoqXHJcbiAqIENyZWF0ZSBhIGJsb2IgYnVpbGRlciBldmVuIHdoZW4gdmVuZG9yIHByZWZpeGVzIGV4aXN0XHJcbiAqL1xyXG5cclxudmFyIEJsb2JCdWlsZGVyID0gdHlwZW9mIEJsb2JCdWlsZGVyICE9PSAndW5kZWZpbmVkJyA/IEJsb2JCdWlsZGVyIDpcclxuICB0eXBlb2YgV2ViS2l0QmxvYkJ1aWxkZXIgIT09ICd1bmRlZmluZWQnID8gV2ViS2l0QmxvYkJ1aWxkZXIgOlxyXG4gIHR5cGVvZiBNU0Jsb2JCdWlsZGVyICE9PSAndW5kZWZpbmVkJyA/IE1TQmxvYkJ1aWxkZXIgOlxyXG4gIHR5cGVvZiBNb3pCbG9iQnVpbGRlciAhPT0gJ3VuZGVmaW5lZCcgPyBNb3pCbG9iQnVpbGRlciA6IFxyXG4gIGZhbHNlO1xyXG5cclxuLyoqXHJcbiAqIENoZWNrIGlmIEJsb2IgY29uc3RydWN0b3IgaXMgc3VwcG9ydGVkXHJcbiAqL1xyXG5cclxudmFyIGJsb2JTdXBwb3J0ZWQgPSAoZnVuY3Rpb24oKSB7XHJcbiAgdHJ5IHtcclxuICAgIHZhciBhID0gbmV3IEJsb2IoWydoaSddKTtcclxuICAgIHJldHVybiBhLnNpemUgPT09IDI7XHJcbiAgfSBjYXRjaChlKSB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59KSgpO1xyXG5cclxuLyoqXHJcbiAqIENoZWNrIGlmIEJsb2IgY29uc3RydWN0b3Igc3VwcG9ydHMgQXJyYXlCdWZmZXJWaWV3c1xyXG4gKiBGYWlscyBpbiBTYWZhcmkgNiwgc28gd2UgbmVlZCB0byBtYXAgdG8gQXJyYXlCdWZmZXJzIHRoZXJlLlxyXG4gKi9cclxuXHJcbnZhciBibG9iU3VwcG9ydHNBcnJheUJ1ZmZlclZpZXcgPSBibG9iU3VwcG9ydGVkICYmIChmdW5jdGlvbigpIHtcclxuICB0cnkge1xyXG4gICAgdmFyIGIgPSBuZXcgQmxvYihbbmV3IFVpbnQ4QXJyYXkoWzEsMl0pXSk7XHJcbiAgICByZXR1cm4gYi5zaXplID09PSAyO1xyXG4gIH0gY2F0Y2goZSkge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufSkoKTtcclxuXHJcbi8qKlxyXG4gKiBDaGVjayBpZiBCbG9iQnVpbGRlciBpcyBzdXBwb3J0ZWRcclxuICovXHJcblxyXG52YXIgYmxvYkJ1aWxkZXJTdXBwb3J0ZWQgPSBCbG9iQnVpbGRlclxyXG4gICYmIEJsb2JCdWlsZGVyLnByb3RvdHlwZS5hcHBlbmRcclxuICAmJiBCbG9iQnVpbGRlci5wcm90b3R5cGUuZ2V0QmxvYjtcclxuXHJcbi8qKlxyXG4gKiBIZWxwZXIgZnVuY3Rpb24gdGhhdCBtYXBzIEFycmF5QnVmZmVyVmlld3MgdG8gQXJyYXlCdWZmZXJzXHJcbiAqIFVzZWQgYnkgQmxvYkJ1aWxkZXIgY29uc3RydWN0b3IgYW5kIG9sZCBicm93c2VycyB0aGF0IGRpZG4ndFxyXG4gKiBzdXBwb3J0IGl0IGluIHRoZSBCbG9iIGNvbnN0cnVjdG9yLlxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIG1hcEFycmF5QnVmZmVyVmlld3MoYXJ5KSB7XHJcbiAgcmV0dXJuIGFyeS5tYXAoZnVuY3Rpb24oY2h1bmspIHtcclxuICAgIGlmIChjaHVuay5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikge1xyXG4gICAgICB2YXIgYnVmID0gY2h1bmsuYnVmZmVyO1xyXG5cclxuICAgICAgLy8gaWYgdGhpcyBpcyBhIHN1YmFycmF5LCBtYWtlIGEgY29weSBzbyB3ZSBvbmx5XHJcbiAgICAgIC8vIGluY2x1ZGUgdGhlIHN1YmFycmF5IHJlZ2lvbiBmcm9tIHRoZSB1bmRlcmx5aW5nIGJ1ZmZlclxyXG4gICAgICBpZiAoY2h1bmsuYnl0ZUxlbmd0aCAhPT0gYnVmLmJ5dGVMZW5ndGgpIHtcclxuICAgICAgICB2YXIgY29weSA9IG5ldyBVaW50OEFycmF5KGNodW5rLmJ5dGVMZW5ndGgpO1xyXG4gICAgICAgIGNvcHkuc2V0KG5ldyBVaW50OEFycmF5KGJ1ZiwgY2h1bmsuYnl0ZU9mZnNldCwgY2h1bmsuYnl0ZUxlbmd0aCkpO1xyXG4gICAgICAgIGJ1ZiA9IGNvcHkuYnVmZmVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gYnVmO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBjaHVuaztcclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gQmxvYkJ1aWxkZXJDb25zdHJ1Y3RvcihhcnksIG9wdGlvbnMpIHtcclxuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcclxuXHJcbiAgdmFyIGJiID0gbmV3IEJsb2JCdWlsZGVyKCk7XHJcbiAgbWFwQXJyYXlCdWZmZXJWaWV3cyhhcnkpLmZvckVhY2goZnVuY3Rpb24ocGFydCkge1xyXG4gICAgYmIuYXBwZW5kKHBhcnQpO1xyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gKG9wdGlvbnMudHlwZSkgPyBiYi5nZXRCbG9iKG9wdGlvbnMudHlwZSkgOiBiYi5nZXRCbG9iKCk7XHJcbn07XHJcblxyXG5mdW5jdGlvbiBCbG9iQ29uc3RydWN0b3IoYXJ5LCBvcHRpb25zKSB7XHJcbiAgcmV0dXJuIG5ldyBCbG9iKG1hcEFycmF5QnVmZmVyVmlld3MoYXJ5KSwgb3B0aW9ucyB8fCB7fSk7XHJcbn07XHJcblxyXG5pZiAodHlwZW9mIEJsb2IgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgQmxvYkJ1aWxkZXJDb25zdHJ1Y3Rvci5wcm90b3R5cGUgPSBCbG9iLnByb3RvdHlwZTtcclxuICBCbG9iQ29uc3RydWN0b3IucHJvdG90eXBlID0gQmxvYi5wcm90b3R5cGU7XHJcbn1cclxuXHJcbm1vZHVsZS5leHBvcnRzID0gKGZ1bmN0aW9uKCkge1xyXG4gIGlmIChibG9iU3VwcG9ydGVkKSB7XHJcbiAgICByZXR1cm4gYmxvYlN1cHBvcnRzQXJyYXlCdWZmZXJWaWV3ID8gQmxvYiA6IEJsb2JDb25zdHJ1Y3RvcjtcclxuICB9IGVsc2UgaWYgKGJsb2JCdWlsZGVyU3VwcG9ydGVkKSB7XHJcbiAgICByZXR1cm4gQmxvYkJ1aWxkZXJDb25zdHJ1Y3RvcjtcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcbn0pKCk7XHJcbiIsIi8qKlxuICogU2xpY2UgcmVmZXJlbmNlLlxuICovXG5cbnZhciBzbGljZSA9IFtdLnNsaWNlO1xuXG4vKipcbiAqIEJpbmQgYG9iamAgdG8gYGZuYC5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufFN0cmluZ30gZm4gb3Igc3RyaW5nXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn1cbiAqIEBhcGkgcHVibGljXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihvYmosIGZuKXtcbiAgaWYgKCdzdHJpbmcnID09IHR5cGVvZiBmbikgZm4gPSBvYmpbZm5dO1xuICBpZiAoJ2Z1bmN0aW9uJyAhPSB0eXBlb2YgZm4pIHRocm93IG5ldyBFcnJvcignYmluZCgpIHJlcXVpcmVzIGEgZnVuY3Rpb24nKTtcbiAgdmFyIGFyZ3MgPSBzbGljZS5jYWxsKGFyZ3VtZW50cywgMik7XG4gIHJldHVybiBmdW5jdGlvbigpe1xuICAgIHJldHVybiBmbi5hcHBseShvYmosIGFyZ3MuY29uY2F0KHNsaWNlLmNhbGwoYXJndW1lbnRzKSkpO1xuICB9XG59O1xuIiwiXG4vKipcbiAqIEV4cG9zZSBgRW1pdHRlcmAuXG4gKi9cblxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gRW1pdHRlcjtcbn1cblxuLyoqXG4gKiBJbml0aWFsaXplIGEgbmV3IGBFbWl0dGVyYC5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIEVtaXR0ZXIob2JqKSB7XG4gIGlmIChvYmopIHJldHVybiBtaXhpbihvYmopO1xufTtcblxuLyoqXG4gKiBNaXhpbiB0aGUgZW1pdHRlciBwcm9wZXJ0aWVzLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmpcbiAqIEByZXR1cm4ge09iamVjdH1cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIG1peGluKG9iaikge1xuICBmb3IgKHZhciBrZXkgaW4gRW1pdHRlci5wcm90b3R5cGUpIHtcbiAgICBvYmpba2V5XSA9IEVtaXR0ZXIucHJvdG90eXBlW2tleV07XG4gIH1cbiAgcmV0dXJuIG9iajtcbn1cblxuLyoqXG4gKiBMaXN0ZW4gb24gdGhlIGdpdmVuIGBldmVudGAgd2l0aCBgZm5gLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBldmVudFxuICogQHBhcmFtIHtGdW5jdGlvbn0gZm5cbiAqIEByZXR1cm4ge0VtaXR0ZXJ9XG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbkVtaXR0ZXIucHJvdG90eXBlLm9uID1cbkVtaXR0ZXIucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXIgPSBmdW5jdGlvbihldmVudCwgZm4pe1xuICB0aGlzLl9jYWxsYmFja3MgPSB0aGlzLl9jYWxsYmFja3MgfHwge307XG4gICh0aGlzLl9jYWxsYmFja3NbJyQnICsgZXZlbnRdID0gdGhpcy5fY2FsbGJhY2tzWyckJyArIGV2ZW50XSB8fCBbXSlcbiAgICAucHVzaChmbik7XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBBZGRzIGFuIGBldmVudGAgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgYSBzaW5nbGVcbiAqIHRpbWUgdGhlbiBhdXRvbWF0aWNhbGx5IHJlbW92ZWQuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGV2ZW50XG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmblxuICogQHJldHVybiB7RW1pdHRlcn1cbiAqIEBhcGkgcHVibGljXG4gKi9cblxuRW1pdHRlci5wcm90b3R5cGUub25jZSA9IGZ1bmN0aW9uKGV2ZW50LCBmbil7XG4gIGZ1bmN0aW9uIG9uKCkge1xuICAgIHRoaXMub2ZmKGV2ZW50LCBvbik7XG4gICAgZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgfVxuXG4gIG9uLmZuID0gZm47XG4gIHRoaXMub24oZXZlbnQsIG9uKTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ2l2ZW4gY2FsbGJhY2sgZm9yIGBldmVudGAgb3IgYWxsXG4gKiByZWdpc3RlcmVkIGNhbGxiYWNrcy5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gZXZlbnRcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZuXG4gKiBAcmV0dXJuIHtFbWl0dGVyfVxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5FbWl0dGVyLnByb3RvdHlwZS5vZmYgPVxuRW1pdHRlci5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXIgPVxuRW1pdHRlci5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzID1cbkVtaXR0ZXIucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXIgPSBmdW5jdGlvbihldmVudCwgZm4pe1xuICB0aGlzLl9jYWxsYmFja3MgPSB0aGlzLl9jYWxsYmFja3MgfHwge307XG5cbiAgLy8gYWxsXG4gIGlmICgwID09IGFyZ3VtZW50cy5sZW5ndGgpIHtcbiAgICB0aGlzLl9jYWxsYmFja3MgPSB7fTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8vIHNwZWNpZmljIGV2ZW50XG4gIHZhciBjYWxsYmFja3MgPSB0aGlzLl9jYWxsYmFja3NbJyQnICsgZXZlbnRdO1xuICBpZiAoIWNhbGxiYWNrcykgcmV0dXJuIHRoaXM7XG5cbiAgLy8gcmVtb3ZlIGFsbCBoYW5kbGVyc1xuICBpZiAoMSA9PSBhcmd1bWVudHMubGVuZ3RoKSB7XG4gICAgZGVsZXRlIHRoaXMuX2NhbGxiYWNrc1snJCcgKyBldmVudF07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvLyByZW1vdmUgc3BlY2lmaWMgaGFuZGxlclxuICB2YXIgY2I7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgY2FsbGJhY2tzLmxlbmd0aDsgaSsrKSB7XG4gICAgY2IgPSBjYWxsYmFja3NbaV07XG4gICAgaWYgKGNiID09PSBmbiB8fCBjYi5mbiA9PT0gZm4pIHtcbiAgICAgIGNhbGxiYWNrcy5zcGxpY2UoaSwgMSk7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZXZlbnQgc3BlY2lmaWMgYXJyYXlzIGZvciBldmVudCB0eXBlcyB0aGF0IG5vXG4gIC8vIG9uZSBpcyBzdWJzY3JpYmVkIGZvciB0byBhdm9pZCBtZW1vcnkgbGVhay5cbiAgaWYgKGNhbGxiYWNrcy5sZW5ndGggPT09IDApIHtcbiAgICBkZWxldGUgdGhpcy5fY2FsbGJhY2tzWyckJyArIGV2ZW50XTtcbiAgfVxuXG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBFbWl0IGBldmVudGAgd2l0aCB0aGUgZ2l2ZW4gYXJncy5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gZXZlbnRcbiAqIEBwYXJhbSB7TWl4ZWR9IC4uLlxuICogQHJldHVybiB7RW1pdHRlcn1cbiAqL1xuXG5FbWl0dGVyLnByb3RvdHlwZS5lbWl0ID0gZnVuY3Rpb24oZXZlbnQpe1xuICB0aGlzLl9jYWxsYmFja3MgPSB0aGlzLl9jYWxsYmFja3MgfHwge307XG5cbiAgdmFyIGFyZ3MgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCAtIDEpXG4gICAgLCBjYWxsYmFja3MgPSB0aGlzLl9jYWxsYmFja3NbJyQnICsgZXZlbnRdO1xuXG4gIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgYXJnc1tpIC0gMV0gPSBhcmd1bWVudHNbaV07XG4gIH1cblxuICBpZiAoY2FsbGJhY2tzKSB7XG4gICAgY2FsbGJhY2tzID0gY2FsbGJhY2tzLnNsaWNlKDApO1xuICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBjYWxsYmFja3MubGVuZ3RoOyBpIDwgbGVuOyArK2kpIHtcbiAgICAgIGNhbGxiYWNrc1tpXS5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogUmV0dXJuIGFycmF5IG9mIGNhbGxiYWNrcyBmb3IgYGV2ZW50YC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gZXZlbnRcbiAqIEByZXR1cm4ge0FycmF5fVxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5FbWl0dGVyLnByb3RvdHlwZS5saXN0ZW5lcnMgPSBmdW5jdGlvbihldmVudCl7XG4gIHRoaXMuX2NhbGxiYWNrcyA9IHRoaXMuX2NhbGxiYWNrcyB8fCB7fTtcbiAgcmV0dXJuIHRoaXMuX2NhbGxiYWNrc1snJCcgKyBldmVudF0gfHwgW107XG59O1xuXG4vKipcbiAqIENoZWNrIGlmIHRoaXMgZW1pdHRlciBoYXMgYGV2ZW50YCBoYW5kbGVycy5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gZXZlbnRcbiAqIEByZXR1cm4ge0Jvb2xlYW59XG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbkVtaXR0ZXIucHJvdG90eXBlLmhhc0xpc3RlbmVycyA9IGZ1bmN0aW9uKGV2ZW50KXtcbiAgcmV0dXJuICEhIHRoaXMubGlzdGVuZXJzKGV2ZW50KS5sZW5ndGg7XG59O1xuIiwiXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKGEsIGIpe1xuICB2YXIgZm4gPSBmdW5jdGlvbigpe307XG4gIGZuLnByb3RvdHlwZSA9IGIucHJvdG90eXBlO1xuICBhLnByb3RvdHlwZSA9IG5ldyBmbjtcbiAgYS5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBhO1xufTsiLCIvKipcbiAqIEhlbHBlcnMuXG4gKi9cblxudmFyIHMgPSAxMDAwO1xudmFyIG0gPSBzICogNjA7XG52YXIgaCA9IG0gKiA2MDtcbnZhciBkID0gaCAqIDI0O1xudmFyIHcgPSBkICogNztcbnZhciB5ID0gZCAqIDM2NS4yNTtcblxuLyoqXG4gKiBQYXJzZSBvciBmb3JtYXQgdGhlIGdpdmVuIGB2YWxgLlxuICpcbiAqIE9wdGlvbnM6XG4gKlxuICogIC0gYGxvbmdgIHZlcmJvc2UgZm9ybWF0dGluZyBbZmFsc2VdXG4gKlxuICogQHBhcmFtIHtTdHJpbmd8TnVtYmVyfSB2YWxcbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9uc11cbiAqIEB0aHJvd3Mge0Vycm9yfSB0aHJvdyBhbiBlcnJvciBpZiB2YWwgaXMgbm90IGEgbm9uLWVtcHR5IHN0cmluZyBvciBhIG51bWJlclxuICogQHJldHVybiB7U3RyaW5nfE51bWJlcn1cbiAqIEBhcGkgcHVibGljXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbih2YWwsIG9wdGlvbnMpIHtcbiAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gIHZhciB0eXBlID0gdHlwZW9mIHZhbDtcbiAgaWYgKHR5cGUgPT09ICdzdHJpbmcnICYmIHZhbC5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIHBhcnNlKHZhbCk7XG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ251bWJlcicgJiYgaXNGaW5pdGUodmFsKSkge1xuICAgIHJldHVybiBvcHRpb25zLmxvbmcgPyBmbXRMb25nKHZhbCkgOiBmbXRTaG9ydCh2YWwpO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihcbiAgICAndmFsIGlzIG5vdCBhIG5vbi1lbXB0eSBzdHJpbmcgb3IgYSB2YWxpZCBudW1iZXIuIHZhbD0nICtcbiAgICAgIEpTT04uc3RyaW5naWZ5KHZhbClcbiAgKTtcbn07XG5cbi8qKlxuICogUGFyc2UgdGhlIGdpdmVuIGBzdHJgIGFuZCByZXR1cm4gbWlsbGlzZWNvbmRzLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBzdHJcbiAqIEByZXR1cm4ge051bWJlcn1cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIHBhcnNlKHN0cikge1xuICBzdHIgPSBTdHJpbmcoc3RyKTtcbiAgaWYgKHN0ci5sZW5ndGggPiAxMDApIHtcbiAgICByZXR1cm47XG4gIH1cbiAgdmFyIG1hdGNoID0gL14oLT8oPzpcXGQrKT9cXC4/XFxkKykgKihtaWxsaXNlY29uZHM/fG1zZWNzP3xtc3xzZWNvbmRzP3xzZWNzP3xzfG1pbnV0ZXM/fG1pbnM/fG18aG91cnM/fGhycz98aHxkYXlzP3xkfHdlZWtzP3x3fHllYXJzP3x5cnM/fHkpPyQvaS5leGVjKFxuICAgIHN0clxuICApO1xuICBpZiAoIW1hdGNoKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIHZhciBuID0gcGFyc2VGbG9hdChtYXRjaFsxXSk7XG4gIHZhciB0eXBlID0gKG1hdGNoWzJdIHx8ICdtcycpLnRvTG93ZXJDYXNlKCk7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgJ3llYXJzJzpcbiAgICBjYXNlICd5ZWFyJzpcbiAgICBjYXNlICd5cnMnOlxuICAgIGNhc2UgJ3lyJzpcbiAgICBjYXNlICd5JzpcbiAgICAgIHJldHVybiBuICogeTtcbiAgICBjYXNlICd3ZWVrcyc6XG4gICAgY2FzZSAnd2Vlayc6XG4gICAgY2FzZSAndyc6XG4gICAgICByZXR1cm4gbiAqIHc7XG4gICAgY2FzZSAnZGF5cyc6XG4gICAgY2FzZSAnZGF5JzpcbiAgICBjYXNlICdkJzpcbiAgICAgIHJldHVybiBuICogZDtcbiAgICBjYXNlICdob3Vycyc6XG4gICAgY2FzZSAnaG91cic6XG4gICAgY2FzZSAnaHJzJzpcbiAgICBjYXNlICdocic6XG4gICAgY2FzZSAnaCc6XG4gICAgICByZXR1cm4gbiAqIGg7XG4gICAgY2FzZSAnbWludXRlcyc6XG4gICAgY2FzZSAnbWludXRlJzpcbiAgICBjYXNlICdtaW5zJzpcbiAgICBjYXNlICdtaW4nOlxuICAgIGNhc2UgJ20nOlxuICAgICAgcmV0dXJuIG4gKiBtO1xuICAgIGNhc2UgJ3NlY29uZHMnOlxuICAgIGNhc2UgJ3NlY29uZCc6XG4gICAgY2FzZSAnc2Vjcyc6XG4gICAgY2FzZSAnc2VjJzpcbiAgICBjYXNlICdzJzpcbiAgICAgIHJldHVybiBuICogcztcbiAgICBjYXNlICdtaWxsaXNlY29uZHMnOlxuICAgIGNhc2UgJ21pbGxpc2Vjb25kJzpcbiAgICBjYXNlICdtc2Vjcyc6XG4gICAgY2FzZSAnbXNlYyc6XG4gICAgY2FzZSAnbXMnOlxuICAgICAgcmV0dXJuIG47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBTaG9ydCBmb3JtYXQgZm9yIGBtc2AuXG4gKlxuICogQHBhcmFtIHtOdW1iZXJ9IG1zXG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBmbXRTaG9ydChtcykge1xuICB2YXIgbXNBYnMgPSBNYXRoLmFicyhtcyk7XG4gIGlmIChtc0FicyA+PSBkKSB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQobXMgLyBkKSArICdkJztcbiAgfVxuICBpZiAobXNBYnMgPj0gaCkge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKG1zIC8gaCkgKyAnaCc7XG4gIH1cbiAgaWYgKG1zQWJzID49IG0pIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChtcyAvIG0pICsgJ20nO1xuICB9XG4gIGlmIChtc0FicyA+PSBzKSB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQobXMgLyBzKSArICdzJztcbiAgfVxuICByZXR1cm4gbXMgKyAnbXMnO1xufVxuXG4vKipcbiAqIExvbmcgZm9ybWF0IGZvciBgbXNgLlxuICpcbiAqIEBwYXJhbSB7TnVtYmVyfSBtc1xuICogQHJldHVybiB7U3RyaW5nfVxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gZm10TG9uZyhtcykge1xuICB2YXIgbXNBYnMgPSBNYXRoLmFicyhtcyk7XG4gIGlmIChtc0FicyA+PSBkKSB7XG4gICAgcmV0dXJuIHBsdXJhbChtcywgbXNBYnMsIGQsICdkYXknKTtcbiAgfVxuICBpZiAobXNBYnMgPj0gaCkge1xuICAgIHJldHVybiBwbHVyYWwobXMsIG1zQWJzLCBoLCAnaG91cicpO1xuICB9XG4gIGlmIChtc0FicyA+PSBtKSB7XG4gICAgcmV0dXJuIHBsdXJhbChtcywgbXNBYnMsIG0sICdtaW51dGUnKTtcbiAgfVxuICBpZiAobXNBYnMgPj0gcykge1xuICAgIHJldHVybiBwbHVyYWwobXMsIG1zQWJzLCBzLCAnc2Vjb25kJyk7XG4gIH1cbiAgcmV0dXJuIG1zICsgJyBtcyc7XG59XG5cbi8qKlxuICogUGx1cmFsaXphdGlvbiBoZWxwZXIuXG4gKi9cblxuZnVuY3Rpb24gcGx1cmFsKG1zLCBtc0FicywgbiwgbmFtZSkge1xuICB2YXIgaXNQbHVyYWwgPSBtc0FicyA+PSBuICogMS41O1xuICByZXR1cm4gTWF0aC5yb3VuZChtcyAvIG4pICsgJyAnICsgbmFtZSArIChpc1BsdXJhbCA/ICdzJyA6ICcnKTtcbn1cbiIsIi8qIGVzbGludC1lbnYgYnJvd3NlciAqL1xuXG4vKipcbiAqIFRoaXMgaXMgdGhlIHdlYiBicm93c2VyIGltcGxlbWVudGF0aW9uIG9mIGBkZWJ1ZygpYC5cbiAqL1xuXG5leHBvcnRzLmZvcm1hdEFyZ3MgPSBmb3JtYXRBcmdzO1xuZXhwb3J0cy5zYXZlID0gc2F2ZTtcbmV4cG9ydHMubG9hZCA9IGxvYWQ7XG5leHBvcnRzLnVzZUNvbG9ycyA9IHVzZUNvbG9ycztcbmV4cG9ydHMuc3RvcmFnZSA9IGxvY2Fsc3RvcmFnZSgpO1xuZXhwb3J0cy5kZXN0cm95ID0gKCgpID0+IHtcblx0bGV0IHdhcm5lZCA9IGZhbHNlO1xuXG5cdHJldHVybiAoKSA9PiB7XG5cdFx0aWYgKCF3YXJuZWQpIHtcblx0XHRcdHdhcm5lZCA9IHRydWU7XG5cdFx0XHRjb25zb2xlLndhcm4oJ0luc3RhbmNlIG1ldGhvZCBgZGVidWcuZGVzdHJveSgpYCBpcyBkZXByZWNhdGVkIGFuZCBubyBsb25nZXIgZG9lcyBhbnl0aGluZy4gSXQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gb2YgYGRlYnVnYC4nKTtcblx0XHR9XG5cdH07XG59KSgpO1xuXG4vKipcbiAqIENvbG9ycy5cbiAqL1xuXG5leHBvcnRzLmNvbG9ycyA9IFtcblx0JyMwMDAwQ0MnLFxuXHQnIzAwMDBGRicsXG5cdCcjMDAzM0NDJyxcblx0JyMwMDMzRkYnLFxuXHQnIzAwNjZDQycsXG5cdCcjMDA2NkZGJyxcblx0JyMwMDk5Q0MnLFxuXHQnIzAwOTlGRicsXG5cdCcjMDBDQzAwJyxcblx0JyMwMENDMzMnLFxuXHQnIzAwQ0M2NicsXG5cdCcjMDBDQzk5Jyxcblx0JyMwMENDQ0MnLFxuXHQnIzAwQ0NGRicsXG5cdCcjMzMwMENDJyxcblx0JyMzMzAwRkYnLFxuXHQnIzMzMzNDQycsXG5cdCcjMzMzM0ZGJyxcblx0JyMzMzY2Q0MnLFxuXHQnIzMzNjZGRicsXG5cdCcjMzM5OUNDJyxcblx0JyMzMzk5RkYnLFxuXHQnIzMzQ0MwMCcsXG5cdCcjMzNDQzMzJyxcblx0JyMzM0NDNjYnLFxuXHQnIzMzQ0M5OScsXG5cdCcjMzNDQ0NDJyxcblx0JyMzM0NDRkYnLFxuXHQnIzY2MDBDQycsXG5cdCcjNjYwMEZGJyxcblx0JyM2NjMzQ0MnLFxuXHQnIzY2MzNGRicsXG5cdCcjNjZDQzAwJyxcblx0JyM2NkNDMzMnLFxuXHQnIzk5MDBDQycsXG5cdCcjOTkwMEZGJyxcblx0JyM5OTMzQ0MnLFxuXHQnIzk5MzNGRicsXG5cdCcjOTlDQzAwJyxcblx0JyM5OUNDMzMnLFxuXHQnI0NDMDAwMCcsXG5cdCcjQ0MwMDMzJyxcblx0JyNDQzAwNjYnLFxuXHQnI0NDMDA5OScsXG5cdCcjQ0MwMENDJyxcblx0JyNDQzAwRkYnLFxuXHQnI0NDMzMwMCcsXG5cdCcjQ0MzMzMzJyxcblx0JyNDQzMzNjYnLFxuXHQnI0NDMzM5OScsXG5cdCcjQ0MzM0NDJyxcblx0JyNDQzMzRkYnLFxuXHQnI0NDNjYwMCcsXG5cdCcjQ0M2NjMzJyxcblx0JyNDQzk5MDAnLFxuXHQnI0NDOTkzMycsXG5cdCcjQ0NDQzAwJyxcblx0JyNDQ0NDMzMnLFxuXHQnI0ZGMDAwMCcsXG5cdCcjRkYwMDMzJyxcblx0JyNGRjAwNjYnLFxuXHQnI0ZGMDA5OScsXG5cdCcjRkYwMENDJyxcblx0JyNGRjAwRkYnLFxuXHQnI0ZGMzMwMCcsXG5cdCcjRkYzMzMzJyxcblx0JyNGRjMzNjYnLFxuXHQnI0ZGMzM5OScsXG5cdCcjRkYzM0NDJyxcblx0JyNGRjMzRkYnLFxuXHQnI0ZGNjYwMCcsXG5cdCcjRkY2NjMzJyxcblx0JyNGRjk5MDAnLFxuXHQnI0ZGOTkzMycsXG5cdCcjRkZDQzAwJyxcblx0JyNGRkNDMzMnXG5dO1xuXG4vKipcbiAqIEN1cnJlbnRseSBvbmx5IFdlYktpdC1iYXNlZCBXZWIgSW5zcGVjdG9ycywgRmlyZWZveCA+PSB2MzEsXG4gKiBhbmQgdGhlIEZpcmVidWcgZXh0ZW5zaW9uIChhbnkgRmlyZWZveCB2ZXJzaW9uKSBhcmUga25vd25cbiAqIHRvIHN1cHBvcnQgXCIlY1wiIENTUyBjdXN0b21pemF0aW9ucy5cbiAqXG4gKiBUT0RPOiBhZGQgYSBgbG9jYWxTdG9yYWdlYCB2YXJpYWJsZSB0byBleHBsaWNpdGx5IGVuYWJsZS9kaXNhYmxlIGNvbG9yc1xuICovXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjb21wbGV4aXR5XG5mdW5jdGlvbiB1c2VDb2xvcnMoKSB7XG5cdC8vIE5COiBJbiBhbiBFbGVjdHJvbiBwcmVsb2FkIHNjcmlwdCwgZG9jdW1lbnQgd2lsbCBiZSBkZWZpbmVkIGJ1dCBub3QgZnVsbHlcblx0Ly8gaW5pdGlhbGl6ZWQuIFNpbmNlIHdlIGtub3cgd2UncmUgaW4gQ2hyb21lLCB3ZSdsbCBqdXN0IGRldGVjdCB0aGlzIGNhc2Vcblx0Ly8gZXhwbGljaXRseVxuXHRpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LnByb2Nlc3MgJiYgKHdpbmRvdy5wcm9jZXNzLnR5cGUgPT09ICdyZW5kZXJlcicgfHwgd2luZG93LnByb2Nlc3MuX19ud2pzKSkge1xuXHRcdHJldHVybiB0cnVlO1xuXHR9XG5cblx0Ly8gSW50ZXJuZXQgRXhwbG9yZXIgYW5kIEVkZ2UgZG8gbm90IHN1cHBvcnQgY29sb3JzLlxuXHRpZiAodHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudCAmJiBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhlZGdlfHRyaWRlbnQpXFwvKFxcZCspLykpIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHRsZXQgbTtcblxuXHQvLyBJcyB3ZWJraXQ/IGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzE2NDU5NjA2LzM3Njc3M1xuXHQvLyBkb2N1bWVudCBpcyB1bmRlZmluZWQgaW4gcmVhY3QtbmF0aXZlOiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QtbmF0aXZlL3B1bGwvMTYzMlxuXHRyZXR1cm4gKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50ICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuV2Via2l0QXBwZWFyYW5jZSkgfHxcblx0XHQvLyBJcyBmaXJlYnVnPyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8zOTgxMjAvMzc2NzczXG5cdFx0KHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5jb25zb2xlICYmICh3aW5kb3cuY29uc29sZS5maXJlYnVnIHx8ICh3aW5kb3cuY29uc29sZS5leGNlcHRpb24gJiYgd2luZG93LmNvbnNvbGUudGFibGUpKSkgfHxcblx0XHQvLyBJcyBmaXJlZm94ID49IHYzMT9cblx0XHQvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1Rvb2xzL1dlYl9Db25zb2xlI1N0eWxpbmdfbWVzc2FnZXNcblx0XHQodHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudCAmJiAobSA9IG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5tYXRjaCgvZmlyZWZveFxcLyhcXGQrKS8pKSAmJiBwYXJzZUludChtWzFdLCAxMCkgPj0gMzEpIHx8XG5cdFx0Ly8gRG91YmxlIGNoZWNrIHdlYmtpdCBpbiB1c2VyQWdlbnQganVzdCBpbiBjYXNlIHdlIGFyZSBpbiBhIHdvcmtlclxuXHRcdCh0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiBuYXZpZ2F0b3IudXNlckFnZW50ICYmIG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5tYXRjaCgvYXBwbGV3ZWJraXRcXC8oXFxkKykvKSk7XG59XG5cbi8qKlxuICogQ29sb3JpemUgbG9nIGFyZ3VtZW50cyBpZiBlbmFibGVkLlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZnVuY3Rpb24gZm9ybWF0QXJncyhhcmdzKSB7XG5cdGFyZ3NbMF0gPSAodGhpcy51c2VDb2xvcnMgPyAnJWMnIDogJycpICtcblx0XHR0aGlzLm5hbWVzcGFjZSArXG5cdFx0KHRoaXMudXNlQ29sb3JzID8gJyAlYycgOiAnICcpICtcblx0XHRhcmdzWzBdICtcblx0XHQodGhpcy51c2VDb2xvcnMgPyAnJWMgJyA6ICcgJykgK1xuXHRcdCcrJyArIG1vZHVsZS5leHBvcnRzLmh1bWFuaXplKHRoaXMuZGlmZik7XG5cblx0aWYgKCF0aGlzLnVzZUNvbG9ycykge1xuXHRcdHJldHVybjtcblx0fVxuXG5cdGNvbnN0IGMgPSAnY29sb3I6ICcgKyB0aGlzLmNvbG9yO1xuXHRhcmdzLnNwbGljZSgxLCAwLCBjLCAnY29sb3I6IGluaGVyaXQnKTtcblxuXHQvLyBUaGUgZmluYWwgXCIlY1wiIGlzIHNvbWV3aGF0IHRyaWNreSwgYmVjYXVzZSB0aGVyZSBjb3VsZCBiZSBvdGhlclxuXHQvLyBhcmd1bWVudHMgcGFzc2VkIGVpdGhlciBiZWZvcmUgb3IgYWZ0ZXIgdGhlICVjLCBzbyB3ZSBuZWVkIHRvXG5cdC8vIGZpZ3VyZSBvdXQgdGhlIGNvcnJlY3QgaW5kZXggdG8gaW5zZXJ0IHRoZSBDU1MgaW50b1xuXHRsZXQgaW5kZXggPSAwO1xuXHRsZXQgbGFzdEMgPSAwO1xuXHRhcmdzWzBdLnJlcGxhY2UoLyVbYS16QS1aJV0vZywgbWF0Y2ggPT4ge1xuXHRcdGlmIChtYXRjaCA9PT0gJyUlJykge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRpbmRleCsrO1xuXHRcdGlmIChtYXRjaCA9PT0gJyVjJykge1xuXHRcdFx0Ly8gV2Ugb25seSBhcmUgaW50ZXJlc3RlZCBpbiB0aGUgKmxhc3QqICVjXG5cdFx0XHQvLyAodGhlIHVzZXIgbWF5IGhhdmUgcHJvdmlkZWQgdGhlaXIgb3duKVxuXHRcdFx0bGFzdEMgPSBpbmRleDtcblx0XHR9XG5cdH0pO1xuXG5cdGFyZ3Muc3BsaWNlKGxhc3RDLCAwLCBjKTtcbn1cblxuLyoqXG4gKiBJbnZva2VzIGBjb25zb2xlLmRlYnVnKClgIHdoZW4gYXZhaWxhYmxlLlxuICogTm8tb3Agd2hlbiBgY29uc29sZS5kZWJ1Z2AgaXMgbm90IGEgXCJmdW5jdGlvblwiLlxuICogSWYgYGNvbnNvbGUuZGVidWdgIGlzIG5vdCBhdmFpbGFibGUsIGZhbGxzIGJhY2tcbiAqIHRvIGBjb25zb2xlLmxvZ2AuXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuZXhwb3J0cy5sb2cgPSBjb25zb2xlLmRlYnVnIHx8IGNvbnNvbGUubG9nIHx8ICgoKSA9PiB7fSk7XG5cbi8qKlxuICogU2F2ZSBgbmFtZXNwYWNlc2AuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IG5hbWVzcGFjZXNcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBzYXZlKG5hbWVzcGFjZXMpIHtcblx0dHJ5IHtcblx0XHRpZiAobmFtZXNwYWNlcykge1xuXHRcdFx0ZXhwb3J0cy5zdG9yYWdlLnNldEl0ZW0oJ2RlYnVnJywgbmFtZXNwYWNlcyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGV4cG9ydHMuc3RvcmFnZS5yZW1vdmVJdGVtKCdkZWJ1ZycpO1xuXHRcdH1cblx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHQvLyBTd2FsbG93XG5cdFx0Ly8gWFhYIChAUWl4LSkgc2hvdWxkIHdlIGJlIGxvZ2dpbmcgdGhlc2U/XG5cdH1cbn1cblxuLyoqXG4gKiBMb2FkIGBuYW1lc3BhY2VzYC5cbiAqXG4gKiBAcmV0dXJuIHtTdHJpbmd9IHJldHVybnMgdGhlIHByZXZpb3VzbHkgcGVyc2lzdGVkIGRlYnVnIG1vZGVzXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gbG9hZCgpIHtcblx0bGV0IHI7XG5cdHRyeSB7XG5cdFx0ciA9IGV4cG9ydHMuc3RvcmFnZS5nZXRJdGVtKCdkZWJ1ZycpO1xuXHR9IGNhdGNoIChlcnJvcikge1xuXHRcdC8vIFN3YWxsb3dcblx0XHQvLyBYWFggKEBRaXgtKSBzaG91bGQgd2UgYmUgbG9nZ2luZyB0aGVzZT9cblx0fVxuXG5cdC8vIElmIGRlYnVnIGlzbid0IHNldCBpbiBMUywgYW5kIHdlJ3JlIGluIEVsZWN0cm9uLCB0cnkgdG8gbG9hZCAkREVCVUdcblx0aWYgKCFyICYmIHR5cGVvZiBwcm9jZXNzICE9PSAndW5kZWZpbmVkJyAmJiAnZW52JyBpbiBwcm9jZXNzKSB7XG5cdFx0ciA9IHByb2Nlc3MuZW52LkRFQlVHO1xuXHR9XG5cblx0cmV0dXJuIHI7XG59XG5cbi8qKlxuICogTG9jYWxzdG9yYWdlIGF0dGVtcHRzIHRvIHJldHVybiB0aGUgbG9jYWxzdG9yYWdlLlxuICpcbiAqIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugc2FmYXJpIHRocm93c1xuICogd2hlbiBhIHVzZXIgZGlzYWJsZXMgY29va2llcy9sb2NhbHN0b3JhZ2VcbiAqIGFuZCB5b3UgYXR0ZW1wdCB0byBhY2Nlc3MgaXQuXG4gKlxuICogQHJldHVybiB7TG9jYWxTdG9yYWdlfVxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gbG9jYWxzdG9yYWdlKCkge1xuXHR0cnkge1xuXHRcdC8vIFRWTUxLaXQgKEFwcGxlIFRWIEpTIFJ1bnRpbWUpIGRvZXMgbm90IGhhdmUgYSB3aW5kb3cgb2JqZWN0LCBqdXN0IGxvY2FsU3RvcmFnZSBpbiB0aGUgZ2xvYmFsIGNvbnRleHRcblx0XHQvLyBUaGUgQnJvd3NlciBhbHNvIGhhcyBsb2NhbFN0b3JhZ2UgaW4gdGhlIGdsb2JhbCBjb250ZXh0LlxuXHRcdHJldHVybiBsb2NhbFN0b3JhZ2U7XG5cdH0gY2F0Y2ggKGVycm9yKSB7XG5cdFx0Ly8gU3dhbGxvd1xuXHRcdC8vIFhYWCAoQFFpeC0pIHNob3VsZCB3ZSBiZSBsb2dnaW5nIHRoZXNlP1xuXHR9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9jb21tb24nKShleHBvcnRzKTtcblxuY29uc3Qge2Zvcm1hdHRlcnN9ID0gbW9kdWxlLmV4cG9ydHM7XG5cbi8qKlxuICogTWFwICVqIHRvIGBKU09OLnN0cmluZ2lmeSgpYCwgc2luY2Ugbm8gV2ViIEluc3BlY3RvcnMgZG8gdGhhdCBieSBkZWZhdWx0LlxuICovXG5cbmZvcm1hdHRlcnMuaiA9IGZ1bmN0aW9uICh2KSB7XG5cdHRyeSB7XG5cdFx0cmV0dXJuIEpTT04uc3RyaW5naWZ5KHYpO1xuXHR9IGNhdGNoIChlcnJvcikge1xuXHRcdHJldHVybiAnW1VuZXhwZWN0ZWRKU09OUGFyc2VFcnJvcl06ICcgKyBlcnJvci5tZXNzYWdlO1xuXHR9XG59O1xuIiwiXG4vKipcbiAqIFRoaXMgaXMgdGhlIGNvbW1vbiBsb2dpYyBmb3IgYm90aCB0aGUgTm9kZS5qcyBhbmQgd2ViIGJyb3dzZXJcbiAqIGltcGxlbWVudGF0aW9ucyBvZiBgZGVidWcoKWAuXG4gKi9cblxuZnVuY3Rpb24gc2V0dXAoZW52KSB7XG5cdGNyZWF0ZURlYnVnLmRlYnVnID0gY3JlYXRlRGVidWc7XG5cdGNyZWF0ZURlYnVnLmRlZmF1bHQgPSBjcmVhdGVEZWJ1Zztcblx0Y3JlYXRlRGVidWcuY29lcmNlID0gY29lcmNlO1xuXHRjcmVhdGVEZWJ1Zy5kaXNhYmxlID0gZGlzYWJsZTtcblx0Y3JlYXRlRGVidWcuZW5hYmxlID0gZW5hYmxlO1xuXHRjcmVhdGVEZWJ1Zy5lbmFibGVkID0gZW5hYmxlZDtcblx0Y3JlYXRlRGVidWcuaHVtYW5pemUgPSByZXF1aXJlKCdtcycpO1xuXHRjcmVhdGVEZWJ1Zy5kZXN0cm95ID0gZGVzdHJveTtcblxuXHRPYmplY3Qua2V5cyhlbnYpLmZvckVhY2goa2V5ID0+IHtcblx0XHRjcmVhdGVEZWJ1Z1trZXldID0gZW52W2tleV07XG5cdH0pO1xuXG5cdC8qKlxuXHQqIFRoZSBjdXJyZW50bHkgYWN0aXZlIGRlYnVnIG1vZGUgbmFtZXMsIGFuZCBuYW1lcyB0byBza2lwLlxuXHQqL1xuXG5cdGNyZWF0ZURlYnVnLm5hbWVzID0gW107XG5cdGNyZWF0ZURlYnVnLnNraXBzID0gW107XG5cblx0LyoqXG5cdCogTWFwIG9mIHNwZWNpYWwgXCIlblwiIGhhbmRsaW5nIGZ1bmN0aW9ucywgZm9yIHRoZSBkZWJ1ZyBcImZvcm1hdFwiIGFyZ3VtZW50LlxuXHQqXG5cdCogVmFsaWQga2V5IG5hbWVzIGFyZSBhIHNpbmdsZSwgbG93ZXIgb3IgdXBwZXItY2FzZSBsZXR0ZXIsIGkuZS4gXCJuXCIgYW5kIFwiTlwiLlxuXHQqL1xuXHRjcmVhdGVEZWJ1Zy5mb3JtYXR0ZXJzID0ge307XG5cblx0LyoqXG5cdCogU2VsZWN0cyBhIGNvbG9yIGZvciBhIGRlYnVnIG5hbWVzcGFjZVxuXHQqIEBwYXJhbSB7U3RyaW5nfSBuYW1lc3BhY2UgVGhlIG5hbWVzcGFjZSBzdHJpbmcgZm9yIHRoZSBkZWJ1ZyBpbnN0YW5jZSB0byBiZSBjb2xvcmVkXG5cdCogQHJldHVybiB7TnVtYmVyfFN0cmluZ30gQW4gQU5TSSBjb2xvciBjb2RlIGZvciB0aGUgZ2l2ZW4gbmFtZXNwYWNlXG5cdCogQGFwaSBwcml2YXRlXG5cdCovXG5cdGZ1bmN0aW9uIHNlbGVjdENvbG9yKG5hbWVzcGFjZSkge1xuXHRcdGxldCBoYXNoID0gMDtcblxuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgbmFtZXNwYWNlLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRoYXNoID0gKChoYXNoIDw8IDUpIC0gaGFzaCkgKyBuYW1lc3BhY2UuY2hhckNvZGVBdChpKTtcblx0XHRcdGhhc2ggfD0gMDsgLy8gQ29udmVydCB0byAzMmJpdCBpbnRlZ2VyXG5cdFx0fVxuXG5cdFx0cmV0dXJuIGNyZWF0ZURlYnVnLmNvbG9yc1tNYXRoLmFicyhoYXNoKSAlIGNyZWF0ZURlYnVnLmNvbG9ycy5sZW5ndGhdO1xuXHR9XG5cdGNyZWF0ZURlYnVnLnNlbGVjdENvbG9yID0gc2VsZWN0Q29sb3I7XG5cblx0LyoqXG5cdCogQ3JlYXRlIGEgZGVidWdnZXIgd2l0aCB0aGUgZ2l2ZW4gYG5hbWVzcGFjZWAuXG5cdCpcblx0KiBAcGFyYW0ge1N0cmluZ30gbmFtZXNwYWNlXG5cdCogQHJldHVybiB7RnVuY3Rpb259XG5cdCogQGFwaSBwdWJsaWNcblx0Ki9cblx0ZnVuY3Rpb24gY3JlYXRlRGVidWcobmFtZXNwYWNlKSB7XG5cdFx0bGV0IHByZXZUaW1lO1xuXHRcdGxldCBlbmFibGVPdmVycmlkZSA9IG51bGw7XG5cdFx0bGV0IG5hbWVzcGFjZXNDYWNoZTtcblx0XHRsZXQgZW5hYmxlZENhY2hlO1xuXG5cdFx0ZnVuY3Rpb24gZGVidWcoLi4uYXJncykge1xuXHRcdFx0Ly8gRGlzYWJsZWQ/XG5cdFx0XHRpZiAoIWRlYnVnLmVuYWJsZWQpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBzZWxmID0gZGVidWc7XG5cblx0XHRcdC8vIFNldCBgZGlmZmAgdGltZXN0YW1wXG5cdFx0XHRjb25zdCBjdXJyID0gTnVtYmVyKG5ldyBEYXRlKCkpO1xuXHRcdFx0Y29uc3QgbXMgPSBjdXJyIC0gKHByZXZUaW1lIHx8IGN1cnIpO1xuXHRcdFx0c2VsZi5kaWZmID0gbXM7XG5cdFx0XHRzZWxmLnByZXYgPSBwcmV2VGltZTtcblx0XHRcdHNlbGYuY3VyciA9IGN1cnI7XG5cdFx0XHRwcmV2VGltZSA9IGN1cnI7XG5cblx0XHRcdGFyZ3NbMF0gPSBjcmVhdGVEZWJ1Zy5jb2VyY2UoYXJnc1swXSk7XG5cblx0XHRcdGlmICh0eXBlb2YgYXJnc1swXSAhPT0gJ3N0cmluZycpIHtcblx0XHRcdFx0Ly8gQW55dGhpbmcgZWxzZSBsZXQncyBpbnNwZWN0IHdpdGggJU9cblx0XHRcdFx0YXJncy51bnNoaWZ0KCclTycpO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBBcHBseSBhbnkgYGZvcm1hdHRlcnNgIHRyYW5zZm9ybWF0aW9uc1xuXHRcdFx0bGV0IGluZGV4ID0gMDtcblx0XHRcdGFyZ3NbMF0gPSBhcmdzWzBdLnJlcGxhY2UoLyUoW2EtekEtWiVdKS9nLCAobWF0Y2gsIGZvcm1hdCkgPT4ge1xuXHRcdFx0XHQvLyBJZiB3ZSBlbmNvdW50ZXIgYW4gZXNjYXBlZCAlIHRoZW4gZG9uJ3QgaW5jcmVhc2UgdGhlIGFycmF5IGluZGV4XG5cdFx0XHRcdGlmIChtYXRjaCA9PT0gJyUlJykge1xuXHRcdFx0XHRcdHJldHVybiAnJSc7XG5cdFx0XHRcdH1cblx0XHRcdFx0aW5kZXgrKztcblx0XHRcdFx0Y29uc3QgZm9ybWF0dGVyID0gY3JlYXRlRGVidWcuZm9ybWF0dGVyc1tmb3JtYXRdO1xuXHRcdFx0XHRpZiAodHlwZW9mIGZvcm1hdHRlciA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0XHRcdGNvbnN0IHZhbCA9IGFyZ3NbaW5kZXhdO1xuXHRcdFx0XHRcdG1hdGNoID0gZm9ybWF0dGVyLmNhbGwoc2VsZiwgdmFsKTtcblxuXHRcdFx0XHRcdC8vIE5vdyB3ZSBuZWVkIHRvIHJlbW92ZSBgYXJnc1tpbmRleF1gIHNpbmNlIGl0J3MgaW5saW5lZCBpbiB0aGUgYGZvcm1hdGBcblx0XHRcdFx0XHRhcmdzLnNwbGljZShpbmRleCwgMSk7XG5cdFx0XHRcdFx0aW5kZXgtLTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gbWF0Y2g7XG5cdFx0XHR9KTtcblxuXHRcdFx0Ly8gQXBwbHkgZW52LXNwZWNpZmljIGZvcm1hdHRpbmcgKGNvbG9ycywgZXRjLilcblx0XHRcdGNyZWF0ZURlYnVnLmZvcm1hdEFyZ3MuY2FsbChzZWxmLCBhcmdzKTtcblxuXHRcdFx0Y29uc3QgbG9nRm4gPSBzZWxmLmxvZyB8fCBjcmVhdGVEZWJ1Zy5sb2c7XG5cdFx0XHRsb2dGbi5hcHBseShzZWxmLCBhcmdzKTtcblx0XHR9XG5cblx0XHRkZWJ1Zy5uYW1lc3BhY2UgPSBuYW1lc3BhY2U7XG5cdFx0ZGVidWcudXNlQ29sb3JzID0gY3JlYXRlRGVidWcudXNlQ29sb3JzKCk7XG5cdFx0ZGVidWcuY29sb3IgPSBjcmVhdGVEZWJ1Zy5zZWxlY3RDb2xvcihuYW1lc3BhY2UpO1xuXHRcdGRlYnVnLmV4dGVuZCA9IGV4dGVuZDtcblx0XHRkZWJ1Zy5kZXN0cm95ID0gY3JlYXRlRGVidWcuZGVzdHJveTsgLy8gWFhYIFRlbXBvcmFyeS4gV2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHJlbGVhc2UuXG5cblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVidWcsICdlbmFibGVkJywge1xuXHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcblx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG5cdFx0XHRnZXQ6ICgpID0+IHtcblx0XHRcdFx0aWYgKGVuYWJsZU92ZXJyaWRlICE9PSBudWxsKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGVuYWJsZU92ZXJyaWRlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChuYW1lc3BhY2VzQ2FjaGUgIT09IGNyZWF0ZURlYnVnLm5hbWVzcGFjZXMpIHtcblx0XHRcdFx0XHRuYW1lc3BhY2VzQ2FjaGUgPSBjcmVhdGVEZWJ1Zy5uYW1lc3BhY2VzO1xuXHRcdFx0XHRcdGVuYWJsZWRDYWNoZSA9IGNyZWF0ZURlYnVnLmVuYWJsZWQobmFtZXNwYWNlKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJldHVybiBlbmFibGVkQ2FjaGU7XG5cdFx0XHR9LFxuXHRcdFx0c2V0OiB2ID0+IHtcblx0XHRcdFx0ZW5hYmxlT3ZlcnJpZGUgPSB2O1xuXHRcdFx0fVxuXHRcdH0pO1xuXG5cdFx0Ly8gRW52LXNwZWNpZmljIGluaXRpYWxpemF0aW9uIGxvZ2ljIGZvciBkZWJ1ZyBpbnN0YW5jZXNcblx0XHRpZiAodHlwZW9mIGNyZWF0ZURlYnVnLmluaXQgPT09ICdmdW5jdGlvbicpIHtcblx0XHRcdGNyZWF0ZURlYnVnLmluaXQoZGVidWcpO1xuXHRcdH1cblxuXHRcdHJldHVybiBkZWJ1Zztcblx0fVxuXG5cdGZ1bmN0aW9uIGV4dGVuZChuYW1lc3BhY2UsIGRlbGltaXRlcikge1xuXHRcdGNvbnN0IG5ld0RlYnVnID0gY3JlYXRlRGVidWcodGhpcy5uYW1lc3BhY2UgKyAodHlwZW9mIGRlbGltaXRlciA9PT0gJ3VuZGVmaW5lZCcgPyAnOicgOiBkZWxpbWl0ZXIpICsgbmFtZXNwYWNlKTtcblx0XHRuZXdEZWJ1Zy5sb2cgPSB0aGlzLmxvZztcblx0XHRyZXR1cm4gbmV3RGVidWc7XG5cdH1cblxuXHQvKipcblx0KiBFbmFibGVzIGEgZGVidWcgbW9kZSBieSBuYW1lc3BhY2VzLiBUaGlzIGNhbiBpbmNsdWRlIG1vZGVzXG5cdCogc2VwYXJhdGVkIGJ5IGEgY29sb24gYW5kIHdpbGRjYXJkcy5cblx0KlxuXHQqIEBwYXJhbSB7U3RyaW5nfSBuYW1lc3BhY2VzXG5cdCogQGFwaSBwdWJsaWNcblx0Ki9cblx0ZnVuY3Rpb24gZW5hYmxlKG5hbWVzcGFjZXMpIHtcblx0XHRjcmVhdGVEZWJ1Zy5zYXZlKG5hbWVzcGFjZXMpO1xuXHRcdGNyZWF0ZURlYnVnLm5hbWVzcGFjZXMgPSBuYW1lc3BhY2VzO1xuXG5cdFx0Y3JlYXRlRGVidWcubmFtZXMgPSBbXTtcblx0XHRjcmVhdGVEZWJ1Zy5za2lwcyA9IFtdO1xuXG5cdFx0bGV0IGk7XG5cdFx0Y29uc3Qgc3BsaXQgPSAodHlwZW9mIG5hbWVzcGFjZXMgPT09ICdzdHJpbmcnID8gbmFtZXNwYWNlcyA6ICcnKS5zcGxpdCgvW1xccyxdKy8pO1xuXHRcdGNvbnN0IGxlbiA9IHNwbGl0Lmxlbmd0aDtcblxuXHRcdGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykge1xuXHRcdFx0aWYgKCFzcGxpdFtpXSkge1xuXHRcdFx0XHQvLyBpZ25vcmUgZW1wdHkgc3RyaW5nc1xuXHRcdFx0XHRjb250aW51ZTtcblx0XHRcdH1cblxuXHRcdFx0bmFtZXNwYWNlcyA9IHNwbGl0W2ldLnJlcGxhY2UoL1xcKi9nLCAnLio/Jyk7XG5cblx0XHRcdGlmIChuYW1lc3BhY2VzWzBdID09PSAnLScpIHtcblx0XHRcdFx0Y3JlYXRlRGVidWcuc2tpcHMucHVzaChuZXcgUmVnRXhwKCdeJyArIG5hbWVzcGFjZXMuc2xpY2UoMSkgKyAnJCcpKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNyZWF0ZURlYnVnLm5hbWVzLnB1c2gobmV3IFJlZ0V4cCgnXicgKyBuYW1lc3BhY2VzICsgJyQnKSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCogRGlzYWJsZSBkZWJ1ZyBvdXRwdXQuXG5cdCpcblx0KiBAcmV0dXJuIHtTdHJpbmd9IG5hbWVzcGFjZXNcblx0KiBAYXBpIHB1YmxpY1xuXHQqL1xuXHRmdW5jdGlvbiBkaXNhYmxlKCkge1xuXHRcdGNvbnN0IG5hbWVzcGFjZXMgPSBbXG5cdFx0XHQuLi5jcmVhdGVEZWJ1Zy5uYW1lcy5tYXAodG9OYW1lc3BhY2UpLFxuXHRcdFx0Li4uY3JlYXRlRGVidWcuc2tpcHMubWFwKHRvTmFtZXNwYWNlKS5tYXAobmFtZXNwYWNlID0+ICctJyArIG5hbWVzcGFjZSlcblx0XHRdLmpvaW4oJywnKTtcblx0XHRjcmVhdGVEZWJ1Zy5lbmFibGUoJycpO1xuXHRcdHJldHVybiBuYW1lc3BhY2VzO1xuXHR9XG5cblx0LyoqXG5cdCogUmV0dXJucyB0cnVlIGlmIHRoZSBnaXZlbiBtb2RlIG5hbWUgaXMgZW5hYmxlZCwgZmFsc2Ugb3RoZXJ3aXNlLlxuXHQqXG5cdCogQHBhcmFtIHtTdHJpbmd9IG5hbWVcblx0KiBAcmV0dXJuIHtCb29sZWFufVxuXHQqIEBhcGkgcHVibGljXG5cdCovXG5cdGZ1bmN0aW9uIGVuYWJsZWQobmFtZSkge1xuXHRcdGlmIChuYW1lW25hbWUubGVuZ3RoIC0gMV0gPT09ICcqJykge1xuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fVxuXG5cdFx0bGV0IGk7XG5cdFx0bGV0IGxlbjtcblxuXHRcdGZvciAoaSA9IDAsIGxlbiA9IGNyZWF0ZURlYnVnLnNraXBzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG5cdFx0XHRpZiAoY3JlYXRlRGVidWcuc2tpcHNbaV0udGVzdChuYW1lKSkge1xuXHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Zm9yIChpID0gMCwgbGVuID0gY3JlYXRlRGVidWcubmFtZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcblx0XHRcdGlmIChjcmVhdGVEZWJ1Zy5uYW1lc1tpXS50ZXN0KG5hbWUpKSB7XG5cdFx0XHRcdHJldHVybiB0cnVlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdC8qKlxuXHQqIENvbnZlcnQgcmVnZXhwIHRvIG5hbWVzcGFjZVxuXHQqXG5cdCogQHBhcmFtIHtSZWdFeHB9IHJlZ3hlcFxuXHQqIEByZXR1cm4ge1N0cmluZ30gbmFtZXNwYWNlXG5cdCogQGFwaSBwcml2YXRlXG5cdCovXG5cdGZ1bmN0aW9uIHRvTmFtZXNwYWNlKHJlZ2V4cCkge1xuXHRcdHJldHVybiByZWdleHAudG9TdHJpbmcoKVxuXHRcdFx0LnN1YnN0cmluZygyLCByZWdleHAudG9TdHJpbmcoKS5sZW5ndGggLSAyKVxuXHRcdFx0LnJlcGxhY2UoL1xcLlxcKlxcPyQvLCAnKicpO1xuXHR9XG5cblx0LyoqXG5cdCogQ29lcmNlIGB2YWxgLlxuXHQqXG5cdCogQHBhcmFtIHtNaXhlZH0gdmFsXG5cdCogQHJldHVybiB7TWl4ZWR9XG5cdCogQGFwaSBwcml2YXRlXG5cdCovXG5cdGZ1bmN0aW9uIGNvZXJjZSh2YWwpIHtcblx0XHRpZiAodmFsIGluc3RhbmNlb2YgRXJyb3IpIHtcblx0XHRcdHJldHVybiB2YWwuc3RhY2sgfHwgdmFsLm1lc3NhZ2U7XG5cdFx0fVxuXHRcdHJldHVybiB2YWw7XG5cdH1cblxuXHQvKipcblx0KiBYWFggRE8gTk9UIFVTRS4gVGhpcyBpcyBhIHRlbXBvcmFyeSBzdHViIGZ1bmN0aW9uLlxuXHQqIFhYWCBJdCBXSUxMIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS5cblx0Ki9cblx0ZnVuY3Rpb24gZGVzdHJveSgpIHtcblx0XHRjb25zb2xlLndhcm4oJ0luc3RhbmNlIG1ldGhvZCBgZGVidWcuZGVzdHJveSgpYCBpcyBkZXByZWNhdGVkIGFuZCBubyBsb25nZXIgZG9lcyBhbnl0aGluZy4gSXQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gb2YgYGRlYnVnYC4nKTtcblx0fVxuXG5cdGNyZWF0ZURlYnVnLmVuYWJsZShjcmVhdGVEZWJ1Zy5sb2FkKCkpO1xuXG5cdHJldHVybiBjcmVhdGVEZWJ1Zztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBzZXR1cDtcbiIsIi8qIGdsb2JhbCBCbG9iIEZpbGUgKi9cblxuLypcbiAqIE1vZHVsZSByZXF1aXJlbWVudHMuXG4gKi9cblxudmFyIGlzQXJyYXkgPSByZXF1aXJlKCdpc2FycmF5Jyk7XG5cbnZhciB0b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG52YXIgd2l0aE5hdGl2ZUJsb2IgPSB0eXBlb2YgQmxvYiA9PT0gJ2Z1bmN0aW9uJyB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIEJsb2IgIT09ICd1bmRlZmluZWQnICYmIHRvU3RyaW5nLmNhbGwoQmxvYikgPT09ICdbb2JqZWN0IEJsb2JDb25zdHJ1Y3Rvcl0nO1xudmFyIHdpdGhOYXRpdmVGaWxlID0gdHlwZW9mIEZpbGUgPT09ICdmdW5jdGlvbicgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVvZiBGaWxlICE9PSAndW5kZWZpbmVkJyAmJiB0b1N0cmluZy5jYWxsKEZpbGUpID09PSAnW29iamVjdCBGaWxlQ29uc3RydWN0b3JdJztcblxuLyoqXG4gKiBNb2R1bGUgZXhwb3J0cy5cbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IGhhc0JpbmFyeTtcblxuLyoqXG4gKiBDaGVja3MgZm9yIGJpbmFyeSBkYXRhLlxuICpcbiAqIFN1cHBvcnRzIEJ1ZmZlciwgQXJyYXlCdWZmZXIsIEJsb2IgYW5kIEZpbGUuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IGFueXRoaW5nXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIGhhc0JpbmFyeSAob2JqKSB7XG4gIGlmICghb2JqIHx8IHR5cGVvZiBvYmogIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGlzQXJyYXkob2JqKSkge1xuICAgIGZvciAodmFyIGkgPSAwLCBsID0gb2JqLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgaWYgKGhhc0JpbmFyeShvYmpbaV0pKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoKHR5cGVvZiBCdWZmZXIgPT09ICdmdW5jdGlvbicgJiYgQnVmZmVyLmlzQnVmZmVyICYmIEJ1ZmZlci5pc0J1ZmZlcihvYmopKSB8fFxuICAgICh0eXBlb2YgQXJyYXlCdWZmZXIgPT09ICdmdW5jdGlvbicgJiYgb2JqIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpIHx8XG4gICAgKHdpdGhOYXRpdmVCbG9iICYmIG9iaiBpbnN0YW5jZW9mIEJsb2IpIHx8XG4gICAgKHdpdGhOYXRpdmVGaWxlICYmIG9iaiBpbnN0YW5jZW9mIEZpbGUpXG4gICkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gc2VlOiBodHRwczovL2dpdGh1Yi5jb20vQXV0b21hdHRpYy9oYXMtYmluYXJ5L3B1bGwvNFxuICBpZiAob2JqLnRvSlNPTiAmJiB0eXBlb2Ygb2JqLnRvSlNPTiA9PT0gJ2Z1bmN0aW9uJyAmJiBhcmd1bWVudHMubGVuZ3RoID09PSAxKSB7XG4gICAgcmV0dXJuIGhhc0JpbmFyeShvYmoudG9KU09OKCksIHRydWUpO1xuICB9XG5cbiAgZm9yICh2YXIga2V5IGluIG9iaikge1xuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpICYmIGhhc0JpbmFyeShvYmpba2V5XSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbiIsIlxuLyoqXG4gKiBNb2R1bGUgZXhwb3J0cy5cbiAqXG4gKiBMb2dpYyBib3Jyb3dlZCBmcm9tIE1vZGVybml6cjpcbiAqXG4gKiAgIC0gaHR0cHM6Ly9naXRodWIuY29tL01vZGVybml6ci9Nb2Rlcm5penIvYmxvYi9tYXN0ZXIvZmVhdHVyZS1kZXRlY3RzL2NvcnMuanNcbiAqL1xuXG50cnkge1xuICBtb2R1bGUuZXhwb3J0cyA9IHR5cGVvZiBYTUxIdHRwUmVxdWVzdCAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAnd2l0aENyZWRlbnRpYWxzJyBpbiBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcbn0gY2F0Y2ggKGVycikge1xuICAvLyBpZiBYTUxIdHRwIHN1cHBvcnQgaXMgZGlzYWJsZWQgaW4gSUUgdGhlbiBpdCB3aWxsIHRocm93XG4gIC8vIHdoZW4gdHJ5aW5nIHRvIGNyZWF0ZVxuICBtb2R1bGUuZXhwb3J0cyA9IGZhbHNlO1xufVxuIiwiXG52YXIgaW5kZXhPZiA9IFtdLmluZGV4T2Y7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oYXJyLCBvYmope1xuICBpZiAoaW5kZXhPZikgcmV0dXJuIGFyci5pbmRleE9mKG9iaik7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgKytpKSB7XG4gICAgaWYgKGFycltpXSA9PT0gb2JqKSByZXR1cm4gaTtcbiAgfVxuICByZXR1cm4gLTE7XG59OyIsInZhciB0b1N0cmluZyA9IHt9LnRvU3RyaW5nO1xuXG5tb2R1bGUuZXhwb3J0cyA9IEFycmF5LmlzQXJyYXkgfHwgZnVuY3Rpb24gKGFycikge1xuICByZXR1cm4gdG9TdHJpbmcuY2FsbChhcnIpID09ICdbb2JqZWN0IEFycmF5XSc7XG59O1xuIiwiIWZ1bmN0aW9uKGUsdCl7XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHMmJlwib2JqZWN0XCI9PXR5cGVvZiBtb2R1bGU/bW9kdWxlLmV4cG9ydHM9dCgpOlwiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoW10sdCk6XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHM/ZXhwb3J0cy5KU01hc2tlcj10KCk6ZS5KU01hc2tlcj10KCl9KHRoaXMsKCgpPT4oKCk9Pnt2YXIgZT17NDQ6KGUsdCxyKT0+e3ZhciBuLG8saTtcInVuZGVmaW5lZFwiIT10eXBlb2YgZ2xvYmFsVGhpcz9nbG9iYWxUaGlzOlwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OnZvaWQgMCE9PXIuZz9yLmc6XCJ1bmRlZmluZWRcIiE9dHlwZW9mIHNlbGY/c2VsZjpGdW5jdGlvbihcInJldHVybiB0aGlzXCIpKCksbz1bcigzMildLHZvaWQgMD09PShpPVwiZnVuY3Rpb25cIj09dHlwZW9mKG49ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuYXBwbHlQb2x5ZmlsbHMmJmUuYXBwbHlQb2x5ZmlsbHMoKSxmdW5jdGlvbiBlKHQscj17fSl7Y29uc3R7cHJvcGVydGllczpuPVtcInBhc3N3b3JkXCIsXCJrZXlcIixcInNlY3JldFwiLFwidG9rZW5cIl0sbWFza0xlbmd0aDpvPTgsbWluTGVuZ3RoOmk9NSxtYXhMZW5ndGg6Zj0xNSxtYXNrQ2hhcjpzPVwiKlwiLGZ1bGxNYXNrOmE9ITF9PXI7ZnVuY3Rpb24gdShlKXtyZXR1cm5cInN0cmluZ1wiPT10eXBlb2YgYT9hOiEwPT09YT9zLnJlcGVhdChlLmxlbmd0aCk6ZnVuY3Rpb24oZSx0LHIsbj1cIipcIil7bGV0IG89ZTtyZXR1cm5cInJhbmRvbVwiPT09byYmKG89TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKihyLXQrMSkpK3QpLG4ucmVwZWF0KG8pfShvLGksZixzKX1mdW5jdGlvbiBwKHQsbyl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/dC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBwKGUsbyl9KSk6dCYmXCJvYmplY3RcIj09dHlwZW9mIHQ/ZSh0LHtwcm9wZXJ0aWVzOm8/W1wiXCJdOm4sbWFza0xlbmd0aDpyLm1hc2tMZW5ndGgsbWluTGVuZ3RoOnIubWluTGVuZ3RoLG1heExlbmd0aDpyLm1heExlbmd0aCxtYXNrQ2hhcjpyLm1hc2tDaGFyLGZ1bGxNYXNrOnIuZnVsbE1hc2t9KTpvJiZcInN0cmluZ1wiPT10eXBlb2YgdD91KHQpOnR9aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gdC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBwKGUsITEpfSkpO2lmKHQmJlwib2JqZWN0XCI9PXR5cGVvZiB0KXtjb25zdCBlPXt9O3JldHVybiBPYmplY3Qua2V5cyh0KS5mb3JFYWNoKChmdW5jdGlvbihyKXtlW3JdPXAodFtyXSwtMSE9PW4uaW5kZXhPZihyKSl9KSksZX1yZXR1cm4gdH19KT9uLmFwcGx5KHQsbyk6bil8fChlLmV4cG9ydHM9aSl9LDMyOmU9PntPYmplY3QuZW50cmllc3x8KE9iamVjdC5lbnRyaWVzPWZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3Qua2V5cyhlKS5tYXAoKHQ9Plt0LGVbdF1dKSl9KSxBcnJheS5wcm90b3R5cGUuaW5jbHVkZXN8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsXCJpbmNsdWRlc1wiLHt2YWx1ZTpmdW5jdGlvbihlLHQpe2lmKG51bGw9PXRoaXMpdGhyb3cgbmV3IFR5cGVFcnJvcignXCJ0aGlzXCIgaXMgbnVsbCBvciBub3QgZGVmaW5lZCcpO3ZhciByPU9iamVjdCh0aGlzKSxuPXIubGVuZ3RoPj4+MDtpZigwPT09bilyZXR1cm4hMTtmb3IodmFyIG8saSxmPTB8dCxzPU1hdGgubWF4KGY+PTA/ZjpuLU1hdGguYWJzKGYpLDApO3M8bjspe2lmKChvPXJbc10pPT09KGk9ZSl8fFwibnVtYmVyXCI9PXR5cGVvZiBvJiZcIm51bWJlclwiPT10eXBlb2YgaSYmaXNOYU4obykmJmlzTmFOKGkpKXJldHVybiEwO3MrK31yZXR1cm4hMX19KSxlLmV4cG9ydHMmJihlLmV4cG9ydHM9e2FwcGx5UG9seWZpbGxzKCl7fX0pfX0sdD17fTtmdW5jdGlvbiByKG4pe3ZhciBvPXRbbl07aWYodm9pZCAwIT09bylyZXR1cm4gby5leHBvcnRzO3ZhciBpPXRbbl09e2V4cG9ydHM6e319O3JldHVybiBlW25dKGksaS5leHBvcnRzLHIpLGkuZXhwb3J0c31yZXR1cm4gci5nPWZ1bmN0aW9uKCl7aWYoXCJvYmplY3RcIj09dHlwZW9mIGdsb2JhbFRoaXMpcmV0dXJuIGdsb2JhbFRoaXM7dHJ5e3JldHVybiB0aGlzfHxuZXcgRnVuY3Rpb24oXCJyZXR1cm4gdGhpc1wiKSgpfWNhdGNoKGUpe2lmKFwib2JqZWN0XCI9PXR5cGVvZiB3aW5kb3cpcmV0dXJuIHdpbmRvd319KCkscig0NCl9KSgpKSk7IiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5leHBvcnQge307IiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5leHBvcnQge307IiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5leHBvcnQge307IiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5leHBvcnQge307IiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5leHBvcnQge307IiwiLyoqXG4gKiBIZWxwZXJzLlxuICovXG5cbnZhciBzID0gMTAwMDtcbnZhciBtID0gcyAqIDYwO1xudmFyIGggPSBtICogNjA7XG52YXIgZCA9IGggKiAyNDtcbnZhciB5ID0gZCAqIDM2NS4yNTtcblxuLyoqXG4gKiBQYXJzZSBvciBmb3JtYXQgdGhlIGdpdmVuIGB2YWxgLlxuICpcbiAqIE9wdGlvbnM6XG4gKlxuICogIC0gYGxvbmdgIHZlcmJvc2UgZm9ybWF0dGluZyBbZmFsc2VdXG4gKlxuICogQHBhcmFtIHtTdHJpbmd8TnVtYmVyfSB2YWxcbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9uc11cbiAqIEB0aHJvd3Mge0Vycm9yfSB0aHJvdyBhbiBlcnJvciBpZiB2YWwgaXMgbm90IGEgbm9uLWVtcHR5IHN0cmluZyBvciBhIG51bWJlclxuICogQHJldHVybiB7U3RyaW5nfE51bWJlcn1cbiAqIEBhcGkgcHVibGljXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbih2YWwsIG9wdGlvbnMpIHtcbiAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gIHZhciB0eXBlID0gdHlwZW9mIHZhbDtcbiAgaWYgKHR5cGUgPT09ICdzdHJpbmcnICYmIHZhbC5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIHBhcnNlKHZhbCk7XG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ251bWJlcicgJiYgaXNOYU4odmFsKSA9PT0gZmFsc2UpIHtcbiAgICByZXR1cm4gb3B0aW9ucy5sb25nID8gZm10TG9uZyh2YWwpIDogZm10U2hvcnQodmFsKTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgJ3ZhbCBpcyBub3QgYSBub24tZW1wdHkgc3RyaW5nIG9yIGEgdmFsaWQgbnVtYmVyLiB2YWw9JyArXG4gICAgICBKU09OLnN0cmluZ2lmeSh2YWwpXG4gICk7XG59O1xuXG4vKipcbiAqIFBhcnNlIHRoZSBnaXZlbiBgc3RyYCBhbmQgcmV0dXJuIG1pbGxpc2Vjb25kcy5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gc3RyXG4gKiBAcmV0dXJuIHtOdW1iZXJ9XG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBwYXJzZShzdHIpIHtcbiAgc3RyID0gU3RyaW5nKHN0cik7XG4gIGlmIChzdHIubGVuZ3RoID4gMTAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIHZhciBtYXRjaCA9IC9eKCg/OlxcZCspP1xcLj9cXGQrKSAqKG1pbGxpc2Vjb25kcz98bXNlY3M/fG1zfHNlY29uZHM/fHNlY3M/fHN8bWludXRlcz98bWlucz98bXxob3Vycz98aHJzP3xofGRheXM/fGR8eWVhcnM/fHlycz98eSk/JC9pLmV4ZWMoXG4gICAgc3RyXG4gICk7XG4gIGlmICghbWF0Y2gpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgdmFyIG4gPSBwYXJzZUZsb2F0KG1hdGNoWzFdKTtcbiAgdmFyIHR5cGUgPSAobWF0Y2hbMl0gfHwgJ21zJykudG9Mb3dlckNhc2UoKTtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSAneWVhcnMnOlxuICAgIGNhc2UgJ3llYXInOlxuICAgIGNhc2UgJ3lycyc6XG4gICAgY2FzZSAneXInOlxuICAgIGNhc2UgJ3knOlxuICAgICAgcmV0dXJuIG4gKiB5O1xuICAgIGNhc2UgJ2RheXMnOlxuICAgIGNhc2UgJ2RheSc6XG4gICAgY2FzZSAnZCc6XG4gICAgICByZXR1cm4gbiAqIGQ7XG4gICAgY2FzZSAnaG91cnMnOlxuICAgIGNhc2UgJ2hvdXInOlxuICAgIGNhc2UgJ2hycyc6XG4gICAgY2FzZSAnaHInOlxuICAgIGNhc2UgJ2gnOlxuICAgICAgcmV0dXJuIG4gKiBoO1xuICAgIGNhc2UgJ21pbnV0ZXMnOlxuICAgIGNhc2UgJ21pbnV0ZSc6XG4gICAgY2FzZSAnbWlucyc6XG4gICAgY2FzZSAnbWluJzpcbiAgICBjYXNlICdtJzpcbiAgICAgIHJldHVybiBuICogbTtcbiAgICBjYXNlICdzZWNvbmRzJzpcbiAgICBjYXNlICdzZWNvbmQnOlxuICAgIGNhc2UgJ3NlY3MnOlxuICAgIGNhc2UgJ3NlYyc6XG4gICAgY2FzZSAncyc6XG4gICAgICByZXR1cm4gbiAqIHM7XG4gICAgY2FzZSAnbWlsbGlzZWNvbmRzJzpcbiAgICBjYXNlICdtaWxsaXNlY29uZCc6XG4gICAgY2FzZSAnbXNlY3MnOlxuICAgIGNhc2UgJ21zZWMnOlxuICAgIGNhc2UgJ21zJzpcbiAgICAgIHJldHVybiBuO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbi8qKlxuICogU2hvcnQgZm9ybWF0IGZvciBgbXNgLlxuICpcbiAqIEBwYXJhbSB7TnVtYmVyfSBtc1xuICogQHJldHVybiB7U3RyaW5nfVxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gZm10U2hvcnQobXMpIHtcbiAgaWYgKG1zID49IGQpIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChtcyAvIGQpICsgJ2QnO1xuICB9XG4gIGlmIChtcyA+PSBoKSB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQobXMgLyBoKSArICdoJztcbiAgfVxuICBpZiAobXMgPj0gbSkge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKG1zIC8gbSkgKyAnbSc7XG4gIH1cbiAgaWYgKG1zID49IHMpIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChtcyAvIHMpICsgJ3MnO1xuICB9XG4gIHJldHVybiBtcyArICdtcyc7XG59XG5cbi8qKlxuICogTG9uZyBmb3JtYXQgZm9yIGBtc2AuXG4gKlxuICogQHBhcmFtIHtOdW1iZXJ9IG1zXG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBmbXRMb25nKG1zKSB7XG4gIHJldHVybiBwbHVyYWwobXMsIGQsICdkYXknKSB8fFxuICAgIHBsdXJhbChtcywgaCwgJ2hvdXInKSB8fFxuICAgIHBsdXJhbChtcywgbSwgJ21pbnV0ZScpIHx8XG4gICAgcGx1cmFsKG1zLCBzLCAnc2Vjb25kJykgfHxcbiAgICBtcyArICcgbXMnO1xufVxuXG4vKipcbiAqIFBsdXJhbGl6YXRpb24gaGVscGVyLlxuICovXG5cbmZ1bmN0aW9uIHBsdXJhbChtcywgbiwgbmFtZSkge1xuICBpZiAobXMgPCBuKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChtcyA8IG4gKiAxLjUpIHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihtcyAvIG4pICsgJyAnICsgbmFtZTtcbiAgfVxuICByZXR1cm4gTWF0aC5jZWlsKG1zIC8gbikgKyAnICcgKyBuYW1lICsgJ3MnO1xufVxuIiwiXG4vKipcbiAqIE1vZHVsZSBkZXBlbmRlbmNpZXMuXG4gKi9cblxudmFyIHVybCA9IHJlcXVpcmUoJy4vdXJsJyk7XG52YXIgcGFyc2VyID0gcmVxdWlyZSgnc29ja2V0LmlvLXBhcnNlcicpO1xudmFyIE1hbmFnZXIgPSByZXF1aXJlKCcuL21hbmFnZXInKTtcbnZhciBkZWJ1ZyA9IHJlcXVpcmUoJ2RlYnVnJykoJ3NvY2tldC5pby1jbGllbnQnKTtcblxuLyoqXG4gKiBNb2R1bGUgZXhwb3J0cy5cbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMgPSBsb29rdXA7XG5cbi8qKlxuICogTWFuYWdlcnMgY2FjaGUuXG4gKi9cblxudmFyIGNhY2hlID0gZXhwb3J0cy5tYW5hZ2VycyA9IHt9O1xuXG4vKipcbiAqIExvb2tzIHVwIGFuIGV4aXN0aW5nIGBNYW5hZ2VyYCBmb3IgbXVsdGlwbGV4aW5nLlxuICogSWYgdGhlIHVzZXIgc3VtbW9uczpcbiAqXG4gKiAgIGBpbygnaHR0cDovL2xvY2FsaG9zdC9hJyk7YFxuICogICBgaW8oJ2h0dHA6Ly9sb2NhbGhvc3QvYicpO2BcbiAqXG4gKiBXZSByZXVzZSB0aGUgZXhpc3RpbmcgaW5zdGFuY2UgYmFzZWQgb24gc2FtZSBzY2hlbWUvcG9ydC9ob3N0LFxuICogYW5kIHdlIGluaXRpYWxpemUgc29ja2V0cyBmb3IgZWFjaCBuYW1lc3BhY2UuXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBsb29rdXAgKHVyaSwgb3B0cykge1xuICBpZiAodHlwZW9mIHVyaSA9PT0gJ29iamVjdCcpIHtcbiAgICBvcHRzID0gdXJpO1xuICAgIHVyaSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIG9wdHMgPSBvcHRzIHx8IHt9O1xuXG4gIHZhciBwYXJzZWQgPSB1cmwodXJpKTtcbiAgdmFyIHNvdXJjZSA9IHBhcnNlZC5zb3VyY2U7XG4gIHZhciBpZCA9IHBhcnNlZC5pZDtcbiAgdmFyIHBhdGggPSBwYXJzZWQucGF0aDtcbiAgdmFyIHNhbWVOYW1lc3BhY2UgPSBjYWNoZVtpZF0gJiYgcGF0aCBpbiBjYWNoZVtpZF0ubnNwcztcbiAgdmFyIG5ld0Nvbm5lY3Rpb24gPSBvcHRzLmZvcmNlTmV3IHx8IG9wdHNbJ2ZvcmNlIG5ldyBjb25uZWN0aW9uJ10gfHxcbiAgICAgICAgICAgICAgICAgICAgICBmYWxzZSA9PT0gb3B0cy5tdWx0aXBsZXggfHwgc2FtZU5hbWVzcGFjZTtcblxuICB2YXIgaW87XG5cbiAgaWYgKG5ld0Nvbm5lY3Rpb24pIHtcbiAgICBkZWJ1ZygnaWdub3Jpbmcgc29ja2V0IGNhY2hlIGZvciAlcycsIHNvdXJjZSk7XG4gICAgaW8gPSBNYW5hZ2VyKHNvdXJjZSwgb3B0cyk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKCFjYWNoZVtpZF0pIHtcbiAgICAgIGRlYnVnKCduZXcgaW8gaW5zdGFuY2UgZm9yICVzJywgc291cmNlKTtcbiAgICAgIGNhY2hlW2lkXSA9IE1hbmFnZXIoc291cmNlLCBvcHRzKTtcbiAgICB9XG4gICAgaW8gPSBjYWNoZVtpZF07XG4gIH1cbiAgaWYgKHBhcnNlZC5xdWVyeSAmJiAhb3B0cy5xdWVyeSkge1xuICAgIG9wdHMucXVlcnkgPSBwYXJzZWQucXVlcnk7XG4gIH1cbiAgcmV0dXJuIGlvLnNvY2tldChwYXJzZWQucGF0aCwgb3B0cyk7XG59XG5cbi8qKlxuICogUHJvdG9jb2wgdmVyc2lvbi5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmV4cG9ydHMucHJvdG9jb2wgPSBwYXJzZXIucHJvdG9jb2w7XG5cbi8qKlxuICogYGNvbm5lY3RgLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSB1cmlcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZXhwb3J0cy5jb25uZWN0ID0gbG9va3VwO1xuXG4vKipcbiAqIEV4cG9zZSBjb25zdHJ1Y3RvcnMgZm9yIHN0YW5kYWxvbmUgYnVpbGQuXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5leHBvcnRzLk1hbmFnZXIgPSByZXF1aXJlKCcuL21hbmFnZXInKTtcbmV4cG9ydHMuU29ja2V0ID0gcmVxdWlyZSgnLi9zb2NrZXQnKTtcbiIsIlxuLyoqXG4gKiBNb2R1bGUgZGVwZW5kZW5jaWVzLlxuICovXG5cbnZhciBlaW8gPSByZXF1aXJlKCdlbmdpbmUuaW8tY2xpZW50Jyk7XG52YXIgU29ja2V0ID0gcmVxdWlyZSgnLi9zb2NrZXQnKTtcbnZhciBFbWl0dGVyID0gcmVxdWlyZSgnY29tcG9uZW50LWVtaXR0ZXInKTtcbnZhciBwYXJzZXIgPSByZXF1aXJlKCdzb2NrZXQuaW8tcGFyc2VyJyk7XG52YXIgb24gPSByZXF1aXJlKCcuL29uJyk7XG52YXIgYmluZCA9IHJlcXVpcmUoJ2NvbXBvbmVudC1iaW5kJyk7XG52YXIgZGVidWcgPSByZXF1aXJlKCdkZWJ1ZycpKCdzb2NrZXQuaW8tY2xpZW50Om1hbmFnZXInKTtcbnZhciBpbmRleE9mID0gcmVxdWlyZSgnaW5kZXhvZicpO1xudmFyIEJhY2tvZmYgPSByZXF1aXJlKCdiYWNrbzInKTtcblxuLyoqXG4gKiBJRTYrIGhhc093blByb3BlcnR5XG4gKi9cblxudmFyIGhhcyA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG5cbi8qKlxuICogTW9kdWxlIGV4cG9ydHNcbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IE1hbmFnZXI7XG5cbi8qKlxuICogYE1hbmFnZXJgIGNvbnN0cnVjdG9yLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBlbmdpbmUgaW5zdGFuY2Ugb3IgZW5naW5lIHVyaS9vcHRzXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9uc1xuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBNYW5hZ2VyICh1cmksIG9wdHMpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIE1hbmFnZXIpKSByZXR1cm4gbmV3IE1hbmFnZXIodXJpLCBvcHRzKTtcbiAgaWYgKHVyaSAmJiAoJ29iamVjdCcgPT09IHR5cGVvZiB1cmkpKSB7XG4gICAgb3B0cyA9IHVyaTtcbiAgICB1cmkgPSB1bmRlZmluZWQ7XG4gIH1cbiAgb3B0cyA9IG9wdHMgfHwge307XG5cbiAgb3B0cy5wYXRoID0gb3B0cy5wYXRoIHx8ICcvc29ja2V0LmlvJztcbiAgdGhpcy5uc3BzID0ge307XG4gIHRoaXMuc3VicyA9IFtdO1xuICB0aGlzLm9wdHMgPSBvcHRzO1xuICB0aGlzLnJlY29ubmVjdGlvbihvcHRzLnJlY29ubmVjdGlvbiAhPT0gZmFsc2UpO1xuICB0aGlzLnJlY29ubmVjdGlvbkF0dGVtcHRzKG9wdHMucmVjb25uZWN0aW9uQXR0ZW1wdHMgfHwgSW5maW5pdHkpO1xuICB0aGlzLnJlY29ubmVjdGlvbkRlbGF5KG9wdHMucmVjb25uZWN0aW9uRGVsYXkgfHwgMTAwMCk7XG4gIHRoaXMucmVjb25uZWN0aW9uRGVsYXlNYXgob3B0cy5yZWNvbm5lY3Rpb25EZWxheU1heCB8fCA1MDAwKTtcbiAgdGhpcy5yYW5kb21pemF0aW9uRmFjdG9yKG9wdHMucmFuZG9taXphdGlvbkZhY3RvciB8fCAwLjUpO1xuICB0aGlzLmJhY2tvZmYgPSBuZXcgQmFja29mZih7XG4gICAgbWluOiB0aGlzLnJlY29ubmVjdGlvbkRlbGF5KCksXG4gICAgbWF4OiB0aGlzLnJlY29ubmVjdGlvbkRlbGF5TWF4KCksXG4gICAgaml0dGVyOiB0aGlzLnJhbmRvbWl6YXRpb25GYWN0b3IoKVxuICB9KTtcbiAgdGhpcy50aW1lb3V0KG51bGwgPT0gb3B0cy50aW1lb3V0ID8gMjAwMDAgOiBvcHRzLnRpbWVvdXQpO1xuICB0aGlzLnJlYWR5U3RhdGUgPSAnY2xvc2VkJztcbiAgdGhpcy51cmkgPSB1cmk7XG4gIHRoaXMuY29ubmVjdGluZyA9IFtdO1xuICB0aGlzLmxhc3RQaW5nID0gbnVsbDtcbiAgdGhpcy5lbmNvZGluZyA9IGZhbHNlO1xuICB0aGlzLnBhY2tldEJ1ZmZlciA9IFtdO1xuICB2YXIgX3BhcnNlciA9IG9wdHMucGFyc2VyIHx8IHBhcnNlcjtcbiAgdGhpcy5lbmNvZGVyID0gbmV3IF9wYXJzZXIuRW5jb2RlcigpO1xuICB0aGlzLmRlY29kZXIgPSBuZXcgX3BhcnNlci5EZWNvZGVyKCk7XG4gIHRoaXMuYXV0b0Nvbm5lY3QgPSBvcHRzLmF1dG9Db25uZWN0ICE9PSBmYWxzZTtcbiAgaWYgKHRoaXMuYXV0b0Nvbm5lY3QpIHRoaXMub3BlbigpO1xufVxuXG4vKipcbiAqIFByb3BhZ2F0ZSBnaXZlbiBldmVudCB0byBzb2NrZXRzIGFuZCBlbWl0IG9uIGB0aGlzYFxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbk1hbmFnZXIucHJvdG90eXBlLmVtaXRBbGwgPSBmdW5jdGlvbiAoKSB7XG4gIHRoaXMuZW1pdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICBmb3IgKHZhciBuc3AgaW4gdGhpcy5uc3BzKSB7XG4gICAgaWYgKGhhcy5jYWxsKHRoaXMubnNwcywgbnNwKSkge1xuICAgICAgdGhpcy5uc3BzW25zcF0uZW1pdC5hcHBseSh0aGlzLm5zcHNbbnNwXSwgYXJndW1lbnRzKTtcbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogVXBkYXRlIGBzb2NrZXQuaWRgIG9mIGFsbCBzb2NrZXRzXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuTWFuYWdlci5wcm90b3R5cGUudXBkYXRlU29ja2V0SWRzID0gZnVuY3Rpb24gKCkge1xuICBmb3IgKHZhciBuc3AgaW4gdGhpcy5uc3BzKSB7XG4gICAgaWYgKGhhcy5jYWxsKHRoaXMubnNwcywgbnNwKSkge1xuICAgICAgdGhpcy5uc3BzW25zcF0uaWQgPSB0aGlzLmdlbmVyYXRlSWQobnNwKTtcbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogZ2VuZXJhdGUgYHNvY2tldC5pZGAgZm9yIHRoZSBnaXZlbiBgbnNwYFxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBuc3BcbiAqIEByZXR1cm4ge1N0cmluZ31cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbk1hbmFnZXIucHJvdG90eXBlLmdlbmVyYXRlSWQgPSBmdW5jdGlvbiAobnNwKSB7XG4gIHJldHVybiAobnNwID09PSAnLycgPyAnJyA6IChuc3AgKyAnIycpKSArIHRoaXMuZW5naW5lLmlkO1xufTtcblxuLyoqXG4gKiBNaXggaW4gYEVtaXR0ZXJgLlxuICovXG5cbkVtaXR0ZXIoTWFuYWdlci5wcm90b3R5cGUpO1xuXG4vKipcbiAqIFNldHMgdGhlIGByZWNvbm5lY3Rpb25gIGNvbmZpZy5cbiAqXG4gKiBAcGFyYW0ge0Jvb2xlYW59IHRydWUvZmFsc2UgaWYgaXQgc2hvdWxkIGF1dG9tYXRpY2FsbHkgcmVjb25uZWN0XG4gKiBAcmV0dXJuIHtNYW5hZ2VyfSBzZWxmIG9yIHZhbHVlXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbk1hbmFnZXIucHJvdG90eXBlLnJlY29ubmVjdGlvbiA9IGZ1bmN0aW9uICh2KSB7XG4gIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIHRoaXMuX3JlY29ubmVjdGlvbjtcbiAgdGhpcy5fcmVjb25uZWN0aW9uID0gISF2O1xuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogU2V0cyB0aGUgcmVjb25uZWN0aW9uIGF0dGVtcHRzIGNvbmZpZy5cbiAqXG4gKiBAcGFyYW0ge051bWJlcn0gbWF4IHJlY29ubmVjdGlvbiBhdHRlbXB0cyBiZWZvcmUgZ2l2aW5nIHVwXG4gKiBAcmV0dXJuIHtNYW5hZ2VyfSBzZWxmIG9yIHZhbHVlXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbk1hbmFnZXIucHJvdG90eXBlLnJlY29ubmVjdGlvbkF0dGVtcHRzID0gZnVuY3Rpb24gKHYpIHtcbiAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gdGhpcy5fcmVjb25uZWN0aW9uQXR0ZW1wdHM7XG4gIHRoaXMuX3JlY29ubmVjdGlvbkF0dGVtcHRzID0gdjtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIFNldHMgdGhlIGRlbGF5IGJldHdlZW4gcmVjb25uZWN0aW9ucy5cbiAqXG4gKiBAcGFyYW0ge051bWJlcn0gZGVsYXlcbiAqIEByZXR1cm4ge01hbmFnZXJ9IHNlbGYgb3IgdmFsdWVcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuTWFuYWdlci5wcm90b3R5cGUucmVjb25uZWN0aW9uRGVsYXkgPSBmdW5jdGlvbiAodikge1xuICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiB0aGlzLl9yZWNvbm5lY3Rpb25EZWxheTtcbiAgdGhpcy5fcmVjb25uZWN0aW9uRGVsYXkgPSB2O1xuICB0aGlzLmJhY2tvZmYgJiYgdGhpcy5iYWNrb2ZmLnNldE1pbih2KTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG5NYW5hZ2VyLnByb3RvdHlwZS5yYW5kb21pemF0aW9uRmFjdG9yID0gZnVuY3Rpb24gKHYpIHtcbiAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gdGhpcy5fcmFuZG9taXphdGlvbkZhY3RvcjtcbiAgdGhpcy5fcmFuZG9taXphdGlvbkZhY3RvciA9IHY7XG4gIHRoaXMuYmFja29mZiAmJiB0aGlzLmJhY2tvZmYuc2V0Sml0dGVyKHYpO1xuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogU2V0cyB0aGUgbWF4aW11bSBkZWxheSBiZXR3ZWVuIHJlY29ubmVjdGlvbnMuXG4gKlxuICogQHBhcmFtIHtOdW1iZXJ9IGRlbGF5XG4gKiBAcmV0dXJuIHtNYW5hZ2VyfSBzZWxmIG9yIHZhbHVlXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbk1hbmFnZXIucHJvdG90eXBlLnJlY29ubmVjdGlvbkRlbGF5TWF4ID0gZnVuY3Rpb24gKHYpIHtcbiAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gdGhpcy5fcmVjb25uZWN0aW9uRGVsYXlNYXg7XG4gIHRoaXMuX3JlY29ubmVjdGlvbkRlbGF5TWF4ID0gdjtcbiAgdGhpcy5iYWNrb2ZmICYmIHRoaXMuYmFja29mZi5zZXRNYXgodik7XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBTZXRzIHRoZSBjb25uZWN0aW9uIHRpbWVvdXQuIGBmYWxzZWAgdG8gZGlzYWJsZVxuICpcbiAqIEByZXR1cm4ge01hbmFnZXJ9IHNlbGYgb3IgdmFsdWVcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuTWFuYWdlci5wcm90b3R5cGUudGltZW91dCA9IGZ1bmN0aW9uICh2KSB7XG4gIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIHRoaXMuX3RpbWVvdXQ7XG4gIHRoaXMuX3RpbWVvdXQgPSB2O1xuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogU3RhcnRzIHRyeWluZyB0byByZWNvbm5lY3QgaWYgcmVjb25uZWN0aW9uIGlzIGVuYWJsZWQgYW5kIHdlIGhhdmUgbm90XG4gKiBzdGFydGVkIHJlY29ubmVjdGluZyB5ZXRcbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5NYW5hZ2VyLnByb3RvdHlwZS5tYXliZVJlY29ubmVjdE9uT3BlbiA9IGZ1bmN0aW9uICgpIHtcbiAgLy8gT25seSB0cnkgdG8gcmVjb25uZWN0IGlmIGl0J3MgdGhlIGZpcnN0IHRpbWUgd2UncmUgY29ubmVjdGluZ1xuICBpZiAoIXRoaXMucmVjb25uZWN0aW5nICYmIHRoaXMuX3JlY29ubmVjdGlvbiAmJiB0aGlzLmJhY2tvZmYuYXR0ZW1wdHMgPT09IDApIHtcbiAgICAvLyBrZWVwcyByZWNvbm5lY3Rpb24gZnJvbSBmaXJpbmcgdHdpY2UgZm9yIHRoZSBzYW1lIHJlY29ubmVjdGlvbiBsb29wXG4gICAgdGhpcy5yZWNvbm5lY3QoKTtcbiAgfVxufTtcblxuLyoqXG4gKiBTZXRzIHRoZSBjdXJyZW50IHRyYW5zcG9ydCBgc29ja2V0YC5cbiAqXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25hbCwgY2FsbGJhY2tcbiAqIEByZXR1cm4ge01hbmFnZXJ9IHNlbGZcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuTWFuYWdlci5wcm90b3R5cGUub3BlbiA9XG5NYW5hZ2VyLnByb3RvdHlwZS5jb25uZWN0ID0gZnVuY3Rpb24gKGZuLCBvcHRzKSB7XG4gIGRlYnVnKCdyZWFkeVN0YXRlICVzJywgdGhpcy5yZWFkeVN0YXRlKTtcbiAgaWYgKH50aGlzLnJlYWR5U3RhdGUuaW5kZXhPZignb3BlbicpKSByZXR1cm4gdGhpcztcblxuICBkZWJ1Zygnb3BlbmluZyAlcycsIHRoaXMudXJpKTtcbiAgdGhpcy5lbmdpbmUgPSBlaW8odGhpcy51cmksIHRoaXMub3B0cyk7XG4gIHZhciBzb2NrZXQgPSB0aGlzLmVuZ2luZTtcbiAgdmFyIHNlbGYgPSB0aGlzO1xuICB0aGlzLnJlYWR5U3RhdGUgPSAnb3BlbmluZyc7XG4gIHRoaXMuc2tpcFJlY29ubmVjdCA9IGZhbHNlO1xuXG4gIC8vIGVtaXQgYG9wZW5gXG4gIHZhciBvcGVuU3ViID0gb24oc29ja2V0LCAnb3BlbicsIGZ1bmN0aW9uICgpIHtcbiAgICBzZWxmLm9ub3BlbigpO1xuICAgIGZuICYmIGZuKCk7XG4gIH0pO1xuXG4gIC8vIGVtaXQgYGNvbm5lY3RfZXJyb3JgXG4gIHZhciBlcnJvclN1YiA9IG9uKHNvY2tldCwgJ2Vycm9yJywgZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkZWJ1ZygnY29ubmVjdF9lcnJvcicpO1xuICAgIHNlbGYuY2xlYW51cCgpO1xuICAgIHNlbGYucmVhZHlTdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHNlbGYuZW1pdEFsbCgnY29ubmVjdF9lcnJvcicsIGRhdGEpO1xuICAgIGlmIChmbikge1xuICAgICAgdmFyIGVyciA9IG5ldyBFcnJvcignQ29ubmVjdGlvbiBlcnJvcicpO1xuICAgICAgZXJyLmRhdGEgPSBkYXRhO1xuICAgICAgZm4oZXJyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gT25seSBkbyB0aGlzIGlmIHRoZXJlIGlzIG5vIGZuIHRvIGhhbmRsZSB0aGUgZXJyb3JcbiAgICAgIHNlbGYubWF5YmVSZWNvbm5lY3RPbk9wZW4oKTtcbiAgICB9XG4gIH0pO1xuXG4gIC8vIGVtaXQgYGNvbm5lY3RfdGltZW91dGBcbiAgaWYgKGZhbHNlICE9PSB0aGlzLl90aW1lb3V0KSB7XG4gICAgdmFyIHRpbWVvdXQgPSB0aGlzLl90aW1lb3V0O1xuICAgIGRlYnVnKCdjb25uZWN0IGF0dGVtcHQgd2lsbCB0aW1lb3V0IGFmdGVyICVkJywgdGltZW91dCk7XG5cbiAgICAvLyBzZXQgdGltZXJcbiAgICB2YXIgdGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgIGRlYnVnKCdjb25uZWN0IGF0dGVtcHQgdGltZWQgb3V0IGFmdGVyICVkJywgdGltZW91dCk7XG4gICAgICBvcGVuU3ViLmRlc3Ryb3koKTtcbiAgICAgIHNvY2tldC5jbG9zZSgpO1xuICAgICAgc29ja2V0LmVtaXQoJ2Vycm9yJywgJ3RpbWVvdXQnKTtcbiAgICAgIHNlbGYuZW1pdEFsbCgnY29ubmVjdF90aW1lb3V0JywgdGltZW91dCk7XG4gICAgfSwgdGltZW91dCk7XG5cbiAgICB0aGlzLnN1YnMucHVzaCh7XG4gICAgICBkZXN0cm95OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aW1lcik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB0aGlzLnN1YnMucHVzaChvcGVuU3ViKTtcbiAgdGhpcy5zdWJzLnB1c2goZXJyb3JTdWIpO1xuXG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBDYWxsZWQgdXBvbiB0cmFuc3BvcnQgb3Blbi5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5NYW5hZ2VyLnByb3RvdHlwZS5vbm9wZW4gPSBmdW5jdGlvbiAoKSB7XG4gIGRlYnVnKCdvcGVuJyk7XG5cbiAgLy8gY2xlYXIgb2xkIHN1YnNcbiAgdGhpcy5jbGVhbnVwKCk7XG5cbiAgLy8gbWFyayBhcyBvcGVuXG4gIHRoaXMucmVhZHlTdGF0ZSA9ICdvcGVuJztcbiAgdGhpcy5lbWl0KCdvcGVuJyk7XG5cbiAgLy8gYWRkIG5ldyBzdWJzXG4gIHZhciBzb2NrZXQgPSB0aGlzLmVuZ2luZTtcbiAgdGhpcy5zdWJzLnB1c2gob24oc29ja2V0LCAnZGF0YScsIGJpbmQodGhpcywgJ29uZGF0YScpKSk7XG4gIHRoaXMuc3Vicy5wdXNoKG9uKHNvY2tldCwgJ3BpbmcnLCBiaW5kKHRoaXMsICdvbnBpbmcnKSkpO1xuICB0aGlzLnN1YnMucHVzaChvbihzb2NrZXQsICdwb25nJywgYmluZCh0aGlzLCAnb25wb25nJykpKTtcbiAgdGhpcy5zdWJzLnB1c2gob24oc29ja2V0LCAnZXJyb3InLCBiaW5kKHRoaXMsICdvbmVycm9yJykpKTtcbiAgdGhpcy5zdWJzLnB1c2gob24oc29ja2V0LCAnY2xvc2UnLCBiaW5kKHRoaXMsICdvbmNsb3NlJykpKTtcbiAgdGhpcy5zdWJzLnB1c2gob24odGhpcy5kZWNvZGVyLCAnZGVjb2RlZCcsIGJpbmQodGhpcywgJ29uZGVjb2RlZCcpKSk7XG59O1xuXG4vKipcbiAqIENhbGxlZCB1cG9uIGEgcGluZy5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5NYW5hZ2VyLnByb3RvdHlwZS5vbnBpbmcgPSBmdW5jdGlvbiAoKSB7XG4gIHRoaXMubGFzdFBpbmcgPSBuZXcgRGF0ZSgpO1xuICB0aGlzLmVtaXRBbGwoJ3BpbmcnKTtcbn07XG5cbi8qKlxuICogQ2FsbGVkIHVwb24gYSBwYWNrZXQuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuTWFuYWdlci5wcm90b3R5cGUub25wb25nID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLmVtaXRBbGwoJ3BvbmcnLCBuZXcgRGF0ZSgpIC0gdGhpcy5sYXN0UGluZyk7XG59O1xuXG4vKipcbiAqIENhbGxlZCB3aXRoIGRhdGEuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuTWFuYWdlci5wcm90b3R5cGUub25kYXRhID0gZnVuY3Rpb24gKGRhdGEpIHtcbiAgdGhpcy5kZWNvZGVyLmFkZChkYXRhKTtcbn07XG5cbi8qKlxuICogQ2FsbGVkIHdoZW4gcGFyc2VyIGZ1bGx5IGRlY29kZXMgYSBwYWNrZXQuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuTWFuYWdlci5wcm90b3R5cGUub25kZWNvZGVkID0gZnVuY3Rpb24gKHBhY2tldCkge1xuICB0aGlzLmVtaXQoJ3BhY2tldCcsIHBhY2tldCk7XG59O1xuXG4vKipcbiAqIENhbGxlZCB1cG9uIHNvY2tldCBlcnJvci5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5NYW5hZ2VyLnByb3RvdHlwZS5vbmVycm9yID0gZnVuY3Rpb24gKGVycikge1xuICBkZWJ1ZygnZXJyb3InLCBlcnIpO1xuICB0aGlzLmVtaXRBbGwoJ2Vycm9yJywgZXJyKTtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBzb2NrZXQgZm9yIHRoZSBnaXZlbiBgbnNwYC5cbiAqXG4gKiBAcmV0dXJuIHtTb2NrZXR9XG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbk1hbmFnZXIucHJvdG90eXBlLnNvY2tldCA9IGZ1bmN0aW9uIChuc3AsIG9wdHMpIHtcbiAgdmFyIHNvY2tldCA9IHRoaXMubnNwc1tuc3BdO1xuICBpZiAoIXNvY2tldCkge1xuICAgIHNvY2tldCA9IG5ldyBTb2NrZXQodGhpcywgbnNwLCBvcHRzKTtcbiAgICB0aGlzLm5zcHNbbnNwXSA9IHNvY2tldDtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgc29ja2V0Lm9uKCdjb25uZWN0aW5nJywgb25Db25uZWN0aW5nKTtcbiAgICBzb2NrZXQub24oJ2Nvbm5lY3QnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBzb2NrZXQuaWQgPSBzZWxmLmdlbmVyYXRlSWQobnNwKTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmF1dG9Db25uZWN0KSB7XG4gICAgICAvLyBtYW51YWxseSBjYWxsIGhlcmUgc2luY2UgY29ubmVjdGluZyBldmVudCBpcyBmaXJlZCBiZWZvcmUgbGlzdGVuaW5nXG4gICAgICBvbkNvbm5lY3RpbmcoKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBvbkNvbm5lY3RpbmcgKCkge1xuICAgIGlmICghfmluZGV4T2Yoc2VsZi5jb25uZWN0aW5nLCBzb2NrZXQpKSB7XG4gICAgICBzZWxmLmNvbm5lY3RpbmcucHVzaChzb2NrZXQpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzb2NrZXQ7XG59O1xuXG4vKipcbiAqIENhbGxlZCB1cG9uIGEgc29ja2V0IGNsb3NlLlxuICpcbiAqIEBwYXJhbSB7U29ja2V0fSBzb2NrZXRcbiAqL1xuXG5NYW5hZ2VyLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24gKHNvY2tldCkge1xuICB2YXIgaW5kZXggPSBpbmRleE9mKHRoaXMuY29ubmVjdGluZywgc29ja2V0KTtcbiAgaWYgKH5pbmRleCkgdGhpcy5jb25uZWN0aW5nLnNwbGljZShpbmRleCwgMSk7XG4gIGlmICh0aGlzLmNvbm5lY3RpbmcubGVuZ3RoKSByZXR1cm47XG5cbiAgdGhpcy5jbG9zZSgpO1xufTtcblxuLyoqXG4gKiBXcml0ZXMgYSBwYWNrZXQuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHBhY2tldFxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuTWFuYWdlci5wcm90b3R5cGUucGFja2V0ID0gZnVuY3Rpb24gKHBhY2tldCkge1xuICBkZWJ1Zygnd3JpdGluZyBwYWNrZXQgJWonLCBwYWNrZXQpO1xuICB2YXIgc2VsZiA9IHRoaXM7XG4gIGlmIChwYWNrZXQucXVlcnkgJiYgcGFja2V0LnR5cGUgPT09IDApIHBhY2tldC5uc3AgKz0gJz8nICsgcGFja2V0LnF1ZXJ5O1xuXG4gIGlmICghc2VsZi5lbmNvZGluZykge1xuICAgIC8vIGVuY29kZSwgdGhlbiB3cml0ZSB0byBlbmdpbmUgd2l0aCByZXN1bHRcbiAgICBzZWxmLmVuY29kaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmVuY29kZXIuZW5jb2RlKHBhY2tldCwgZnVuY3Rpb24gKGVuY29kZWRQYWNrZXRzKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVuY29kZWRQYWNrZXRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHNlbGYuZW5naW5lLndyaXRlKGVuY29kZWRQYWNrZXRzW2ldLCBwYWNrZXQub3B0aW9ucyk7XG4gICAgICB9XG4gICAgICBzZWxmLmVuY29kaW5nID0gZmFsc2U7XG4gICAgICBzZWxmLnByb2Nlc3NQYWNrZXRRdWV1ZSgpO1xuICAgIH0pO1xuICB9IGVsc2UgeyAvLyBhZGQgcGFja2V0IHRvIHRoZSBxdWV1ZVxuICAgIHNlbGYucGFja2V0QnVmZmVyLnB1c2gocGFja2V0KTtcbiAgfVxufTtcblxuLyoqXG4gKiBJZiBwYWNrZXQgYnVmZmVyIGlzIG5vbi1lbXB0eSwgYmVnaW5zIGVuY29kaW5nIHRoZVxuICogbmV4dCBwYWNrZXQgaW4gbGluZS5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5NYW5hZ2VyLnByb3RvdHlwZS5wcm9jZXNzUGFja2V0UXVldWUgPSBmdW5jdGlvbiAoKSB7XG4gIGlmICh0aGlzLnBhY2tldEJ1ZmZlci5sZW5ndGggPiAwICYmICF0aGlzLmVuY29kaW5nKSB7XG4gICAgdmFyIHBhY2sgPSB0aGlzLnBhY2tldEJ1ZmZlci5zaGlmdCgpO1xuICAgIHRoaXMucGFja2V0KHBhY2spO1xuICB9XG59O1xuXG4vKipcbiAqIENsZWFuIHVwIHRyYW5zcG9ydCBzdWJzY3JpcHRpb25zIGFuZCBwYWNrZXQgYnVmZmVyLlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbk1hbmFnZXIucHJvdG90eXBlLmNsZWFudXAgPSBmdW5jdGlvbiAoKSB7XG4gIGRlYnVnKCdjbGVhbnVwJyk7XG5cbiAgdmFyIHN1YnNMZW5ndGggPSB0aGlzLnN1YnMubGVuZ3RoO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHN1YnNMZW5ndGg7IGkrKykge1xuICAgIHZhciBzdWIgPSB0aGlzLnN1YnMuc2hpZnQoKTtcbiAgICBzdWIuZGVzdHJveSgpO1xuICB9XG5cbiAgdGhpcy5wYWNrZXRCdWZmZXIgPSBbXTtcbiAgdGhpcy5lbmNvZGluZyA9IGZhbHNlO1xuICB0aGlzLmxhc3RQaW5nID0gbnVsbDtcblxuICB0aGlzLmRlY29kZXIuZGVzdHJveSgpO1xufTtcblxuLyoqXG4gKiBDbG9zZSB0aGUgY3VycmVudCBzb2NrZXQuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuTWFuYWdlci5wcm90b3R5cGUuY2xvc2UgPVxuTWFuYWdlci5wcm90b3R5cGUuZGlzY29ubmVjdCA9IGZ1bmN0aW9uICgpIHtcbiAgZGVidWcoJ2Rpc2Nvbm5lY3QnKTtcbiAgdGhpcy5za2lwUmVjb25uZWN0ID0gdHJ1ZTtcbiAgdGhpcy5yZWNvbm5lY3RpbmcgPSBmYWxzZTtcbiAgaWYgKCdvcGVuaW5nJyA9PT0gdGhpcy5yZWFkeVN0YXRlKSB7XG4gICAgLy8gYG9uY2xvc2VgIHdpbGwgbm90IGZpcmUgYmVjYXVzZVxuICAgIC8vIGFuIG9wZW4gZXZlbnQgbmV2ZXIgaGFwcGVuZWRcbiAgICB0aGlzLmNsZWFudXAoKTtcbiAgfVxuICB0aGlzLmJhY2tvZmYucmVzZXQoKTtcbiAgdGhpcy5yZWFkeVN0YXRlID0gJ2Nsb3NlZCc7XG4gIGlmICh0aGlzLmVuZ2luZSkgdGhpcy5lbmdpbmUuY2xvc2UoKTtcbn07XG5cbi8qKlxuICogQ2FsbGVkIHVwb24gZW5naW5lIGNsb3NlLlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbk1hbmFnZXIucHJvdG90eXBlLm9uY2xvc2UgPSBmdW5jdGlvbiAocmVhc29uKSB7XG4gIGRlYnVnKCdvbmNsb3NlJyk7XG5cbiAgdGhpcy5jbGVhbnVwKCk7XG4gIHRoaXMuYmFja29mZi5yZXNldCgpO1xuICB0aGlzLnJlYWR5U3RhdGUgPSAnY2xvc2VkJztcbiAgdGhpcy5lbWl0KCdjbG9zZScsIHJlYXNvbik7XG5cbiAgaWYgKHRoaXMuX3JlY29ubmVjdGlvbiAmJiAhdGhpcy5za2lwUmVjb25uZWN0KSB7XG4gICAgdGhpcy5yZWNvbm5lY3QoKTtcbiAgfVxufTtcblxuLyoqXG4gKiBBdHRlbXB0IGEgcmVjb25uZWN0aW9uLlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbk1hbmFnZXIucHJvdG90eXBlLnJlY29ubmVjdCA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKHRoaXMucmVjb25uZWN0aW5nIHx8IHRoaXMuc2tpcFJlY29ubmVjdCkgcmV0dXJuIHRoaXM7XG5cbiAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gIGlmICh0aGlzLmJhY2tvZmYuYXR0ZW1wdHMgPj0gdGhpcy5fcmVjb25uZWN0aW9uQXR0ZW1wdHMpIHtcbiAgICBkZWJ1ZygncmVjb25uZWN0IGZhaWxlZCcpO1xuICAgIHRoaXMuYmFja29mZi5yZXNldCgpO1xuICAgIHRoaXMuZW1pdEFsbCgncmVjb25uZWN0X2ZhaWxlZCcpO1xuICAgIHRoaXMucmVjb25uZWN0aW5nID0gZmFsc2U7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGRlbGF5ID0gdGhpcy5iYWNrb2ZmLmR1cmF0aW9uKCk7XG4gICAgZGVidWcoJ3dpbGwgd2FpdCAlZG1zIGJlZm9yZSByZWNvbm5lY3QgYXR0ZW1wdCcsIGRlbGF5KTtcblxuICAgIHRoaXMucmVjb25uZWN0aW5nID0gdHJ1ZTtcbiAgICB2YXIgdGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmIChzZWxmLnNraXBSZWNvbm5lY3QpIHJldHVybjtcblxuICAgICAgZGVidWcoJ2F0dGVtcHRpbmcgcmVjb25uZWN0Jyk7XG4gICAgICBzZWxmLmVtaXRBbGwoJ3JlY29ubmVjdF9hdHRlbXB0Jywgc2VsZi5iYWNrb2ZmLmF0dGVtcHRzKTtcbiAgICAgIHNlbGYuZW1pdEFsbCgncmVjb25uZWN0aW5nJywgc2VsZi5iYWNrb2ZmLmF0dGVtcHRzKTtcblxuICAgICAgLy8gY2hlY2sgYWdhaW4gZm9yIHRoZSBjYXNlIHNvY2tldCBjbG9zZWQgaW4gYWJvdmUgZXZlbnRzXG4gICAgICBpZiAoc2VsZi5za2lwUmVjb25uZWN0KSByZXR1cm47XG5cbiAgICAgIHNlbGYub3BlbihmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICBkZWJ1ZygncmVjb25uZWN0IGF0dGVtcHQgZXJyb3InKTtcbiAgICAgICAgICBzZWxmLnJlY29ubmVjdGluZyA9IGZhbHNlO1xuICAgICAgICAgIHNlbGYucmVjb25uZWN0KCk7XG4gICAgICAgICAgc2VsZi5lbWl0QWxsKCdyZWNvbm5lY3RfZXJyb3InLCBlcnIuZGF0YSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVidWcoJ3JlY29ubmVjdCBzdWNjZXNzJyk7XG4gICAgICAgICAgc2VsZi5vbnJlY29ubmVjdCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LCBkZWxheSk7XG5cbiAgICB0aGlzLnN1YnMucHVzaCh7XG4gICAgICBkZXN0cm95OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aW1lcik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn07XG5cbi8qKlxuICogQ2FsbGVkIHVwb24gc3VjY2Vzc2Z1bCByZWNvbm5lY3QuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuTWFuYWdlci5wcm90b3R5cGUub25yZWNvbm5lY3QgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBhdHRlbXB0ID0gdGhpcy5iYWNrb2ZmLmF0dGVtcHRzO1xuICB0aGlzLnJlY29ubmVjdGluZyA9IGZhbHNlO1xuICB0aGlzLmJhY2tvZmYucmVzZXQoKTtcbiAgdGhpcy51cGRhdGVTb2NrZXRJZHMoKTtcbiAgdGhpcy5lbWl0QWxsKCdyZWNvbm5lY3QnLCBhdHRlbXB0KTtcbn07XG4iLCJcbi8qKlxuICogTW9kdWxlIGV4cG9ydHMuXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBvbjtcblxuLyoqXG4gKiBIZWxwZXIgZm9yIHN1YnNjcmlwdGlvbnMuXG4gKlxuICogQHBhcmFtIHtPYmplY3R8RXZlbnRFbWl0dGVyfSBvYmogd2l0aCBgRW1pdHRlcmAgbWl4aW4gb3IgYEV2ZW50RW1pdHRlcmBcbiAqIEBwYXJhbSB7U3RyaW5nfSBldmVudCBuYW1lXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBjYWxsYmFja1xuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBvbiAob2JqLCBldiwgZm4pIHtcbiAgb2JqLm9uKGV2LCBmbik7XG4gIHJldHVybiB7XG4gICAgZGVzdHJveTogZnVuY3Rpb24gKCkge1xuICAgICAgb2JqLnJlbW92ZUxpc3RlbmVyKGV2LCBmbik7XG4gICAgfVxuICB9O1xufVxuIiwiXG4vKipcbiAqIE1vZHVsZSBkZXBlbmRlbmNpZXMuXG4gKi9cblxudmFyIHBhcnNlciA9IHJlcXVpcmUoJ3NvY2tldC5pby1wYXJzZXInKTtcbnZhciBFbWl0dGVyID0gcmVxdWlyZSgnY29tcG9uZW50LWVtaXR0ZXInKTtcbnZhciB0b0FycmF5ID0gcmVxdWlyZSgndG8tYXJyYXknKTtcbnZhciBvbiA9IHJlcXVpcmUoJy4vb24nKTtcbnZhciBiaW5kID0gcmVxdWlyZSgnY29tcG9uZW50LWJpbmQnKTtcbnZhciBkZWJ1ZyA9IHJlcXVpcmUoJ2RlYnVnJykoJ3NvY2tldC5pby1jbGllbnQ6c29ja2V0Jyk7XG52YXIgcGFyc2VxcyA9IHJlcXVpcmUoJ3BhcnNlcXMnKTtcbnZhciBoYXNCaW4gPSByZXF1aXJlKCdoYXMtYmluYXJ5MicpO1xuXG4vKipcbiAqIE1vZHVsZSBleHBvcnRzLlxuICovXG5cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0cyA9IFNvY2tldDtcblxuLyoqXG4gKiBJbnRlcm5hbCBldmVudHMgKGJsYWNrbGlzdGVkKS5cbiAqIFRoZXNlIGV2ZW50cyBjYW4ndCBiZSBlbWl0dGVkIGJ5IHRoZSB1c2VyLlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbnZhciBldmVudHMgPSB7XG4gIGNvbm5lY3Q6IDEsXG4gIGNvbm5lY3RfZXJyb3I6IDEsXG4gIGNvbm5lY3RfdGltZW91dDogMSxcbiAgY29ubmVjdGluZzogMSxcbiAgZGlzY29ubmVjdDogMSxcbiAgZXJyb3I6IDEsXG4gIHJlY29ubmVjdDogMSxcbiAgcmVjb25uZWN0X2F0dGVtcHQ6IDEsXG4gIHJlY29ubmVjdF9mYWlsZWQ6IDEsXG4gIHJlY29ubmVjdF9lcnJvcjogMSxcbiAgcmVjb25uZWN0aW5nOiAxLFxuICBwaW5nOiAxLFxuICBwb25nOiAxXG59O1xuXG4vKipcbiAqIFNob3J0Y3V0IHRvIGBFbWl0dGVyI2VtaXRgLlxuICovXG5cbnZhciBlbWl0ID0gRW1pdHRlci5wcm90b3R5cGUuZW1pdDtcblxuLyoqXG4gKiBgU29ja2V0YCBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIFNvY2tldCAoaW8sIG5zcCwgb3B0cykge1xuICB0aGlzLmlvID0gaW87XG4gIHRoaXMubnNwID0gbnNwO1xuICB0aGlzLmpzb24gPSB0aGlzOyAvLyBjb21wYXRcbiAgdGhpcy5pZHMgPSAwO1xuICB0aGlzLmFja3MgPSB7fTtcbiAgdGhpcy5yZWNlaXZlQnVmZmVyID0gW107XG4gIHRoaXMuc2VuZEJ1ZmZlciA9IFtdO1xuICB0aGlzLmNvbm5lY3RlZCA9IGZhbHNlO1xuICB0aGlzLmRpc2Nvbm5lY3RlZCA9IHRydWU7XG4gIHRoaXMuZmxhZ3MgPSB7fTtcbiAgaWYgKG9wdHMgJiYgb3B0cy5xdWVyeSkge1xuICAgIHRoaXMucXVlcnkgPSBvcHRzLnF1ZXJ5O1xuICB9XG4gIGlmICh0aGlzLmlvLmF1dG9Db25uZWN0KSB0aGlzLm9wZW4oKTtcbn1cblxuLyoqXG4gKiBNaXggaW4gYEVtaXR0ZXJgLlxuICovXG5cbkVtaXR0ZXIoU29ja2V0LnByb3RvdHlwZSk7XG5cbi8qKlxuICogU3Vic2NyaWJlIHRvIG9wZW4sIGNsb3NlIGFuZCBwYWNrZXQgZXZlbnRzXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5zdWJFdmVudHMgPSBmdW5jdGlvbiAoKSB7XG4gIGlmICh0aGlzLnN1YnMpIHJldHVybjtcblxuICB2YXIgaW8gPSB0aGlzLmlvO1xuICB0aGlzLnN1YnMgPSBbXG4gICAgb24oaW8sICdvcGVuJywgYmluZCh0aGlzLCAnb25vcGVuJykpLFxuICAgIG9uKGlvLCAncGFja2V0JywgYmluZCh0aGlzLCAnb25wYWNrZXQnKSksXG4gICAgb24oaW8sICdjbG9zZScsIGJpbmQodGhpcywgJ29uY2xvc2UnKSlcbiAgXTtcbn07XG5cbi8qKlxuICogXCJPcGVuc1wiIHRoZSBzb2NrZXQuXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLm9wZW4gPVxuU29ja2V0LnByb3RvdHlwZS5jb25uZWN0ID0gZnVuY3Rpb24gKCkge1xuICBpZiAodGhpcy5jb25uZWN0ZWQpIHJldHVybiB0aGlzO1xuXG4gIHRoaXMuc3ViRXZlbnRzKCk7XG4gIHRoaXMuaW8ub3BlbigpOyAvLyBlbnN1cmUgb3BlblxuICBpZiAoJ29wZW4nID09PSB0aGlzLmlvLnJlYWR5U3RhdGUpIHRoaXMub25vcGVuKCk7XG4gIHRoaXMuZW1pdCgnY29ubmVjdGluZycpO1xuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogU2VuZHMgYSBgbWVzc2FnZWAgZXZlbnQuXG4gKlxuICogQHJldHVybiB7U29ja2V0fSBzZWxmXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblNvY2tldC5wcm90b3R5cGUuc2VuZCA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIGFyZ3MgPSB0b0FycmF5KGFyZ3VtZW50cyk7XG4gIGFyZ3MudW5zaGlmdCgnbWVzc2FnZScpO1xuICB0aGlzLmVtaXQuYXBwbHkodGhpcywgYXJncyk7XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBPdmVycmlkZSBgZW1pdGAuXG4gKiBJZiB0aGUgZXZlbnQgaXMgaW4gYGV2ZW50c2AsIGl0J3MgZW1pdHRlZCBub3JtYWxseS5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gZXZlbnQgbmFtZVxuICogQHJldHVybiB7U29ja2V0fSBzZWxmXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblNvY2tldC5wcm90b3R5cGUuZW1pdCA9IGZ1bmN0aW9uIChldikge1xuICBpZiAoZXZlbnRzLmhhc093blByb3BlcnR5KGV2KSkge1xuICAgIGVtaXQuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHZhciBhcmdzID0gdG9BcnJheShhcmd1bWVudHMpO1xuICB2YXIgcGFja2V0ID0ge1xuICAgIHR5cGU6ICh0aGlzLmZsYWdzLmJpbmFyeSAhPT0gdW5kZWZpbmVkID8gdGhpcy5mbGFncy5iaW5hcnkgOiBoYXNCaW4oYXJncykpID8gcGFyc2VyLkJJTkFSWV9FVkVOVCA6IHBhcnNlci5FVkVOVCxcbiAgICBkYXRhOiBhcmdzXG4gIH07XG5cbiAgcGFja2V0Lm9wdGlvbnMgPSB7fTtcbiAgcGFja2V0Lm9wdGlvbnMuY29tcHJlc3MgPSAhdGhpcy5mbGFncyB8fCBmYWxzZSAhPT0gdGhpcy5mbGFncy5jb21wcmVzcztcblxuICAvLyBldmVudCBhY2sgY2FsbGJhY2tcbiAgaWYgKCdmdW5jdGlvbicgPT09IHR5cGVvZiBhcmdzW2FyZ3MubGVuZ3RoIC0gMV0pIHtcbiAgICBkZWJ1ZygnZW1pdHRpbmcgcGFja2V0IHdpdGggYWNrIGlkICVkJywgdGhpcy5pZHMpO1xuICAgIHRoaXMuYWNrc1t0aGlzLmlkc10gPSBhcmdzLnBvcCgpO1xuICAgIHBhY2tldC5pZCA9IHRoaXMuaWRzKys7XG4gIH1cblxuICBpZiAodGhpcy5jb25uZWN0ZWQpIHtcbiAgICB0aGlzLnBhY2tldChwYWNrZXQpO1xuICB9IGVsc2Uge1xuICAgIHRoaXMuc2VuZEJ1ZmZlci5wdXNoKHBhY2tldCk7XG4gIH1cblxuICB0aGlzLmZsYWdzID0ge307XG5cbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIFNlbmRzIGEgcGFja2V0LlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYWNrZXRcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblNvY2tldC5wcm90b3R5cGUucGFja2V0ID0gZnVuY3Rpb24gKHBhY2tldCkge1xuICBwYWNrZXQubnNwID0gdGhpcy5uc3A7XG4gIHRoaXMuaW8ucGFja2V0KHBhY2tldCk7XG59O1xuXG4vKipcbiAqIENhbGxlZCB1cG9uIGVuZ2luZSBgb3BlbmAuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5vbm9wZW4gPSBmdW5jdGlvbiAoKSB7XG4gIGRlYnVnKCd0cmFuc3BvcnQgaXMgb3BlbiAtIGNvbm5lY3RpbmcnKTtcblxuICAvLyB3cml0ZSBjb25uZWN0IHBhY2tldCBpZiBuZWNlc3NhcnlcbiAgaWYgKCcvJyAhPT0gdGhpcy5uc3ApIHtcbiAgICBpZiAodGhpcy5xdWVyeSkge1xuICAgICAgdmFyIHF1ZXJ5ID0gdHlwZW9mIHRoaXMucXVlcnkgPT09ICdvYmplY3QnID8gcGFyc2Vxcy5lbmNvZGUodGhpcy5xdWVyeSkgOiB0aGlzLnF1ZXJ5O1xuICAgICAgZGVidWcoJ3NlbmRpbmcgY29ubmVjdCBwYWNrZXQgd2l0aCBxdWVyeSAlcycsIHF1ZXJ5KTtcbiAgICAgIHRoaXMucGFja2V0KHt0eXBlOiBwYXJzZXIuQ09OTkVDVCwgcXVlcnk6IHF1ZXJ5fSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucGFja2V0KHt0eXBlOiBwYXJzZXIuQ09OTkVDVH0pO1xuICAgIH1cbiAgfVxufTtcblxuLyoqXG4gKiBDYWxsZWQgdXBvbiBlbmdpbmUgYGNsb3NlYC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gcmVhc29uXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLm9uY2xvc2UgPSBmdW5jdGlvbiAocmVhc29uKSB7XG4gIGRlYnVnKCdjbG9zZSAoJXMpJywgcmVhc29uKTtcbiAgdGhpcy5jb25uZWN0ZWQgPSBmYWxzZTtcbiAgdGhpcy5kaXNjb25uZWN0ZWQgPSB0cnVlO1xuICBkZWxldGUgdGhpcy5pZDtcbiAgdGhpcy5lbWl0KCdkaXNjb25uZWN0JywgcmVhc29uKTtcbn07XG5cbi8qKlxuICogQ2FsbGVkIHdpdGggc29ja2V0IHBhY2tldC5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcGFja2V0XG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLm9ucGFja2V0ID0gZnVuY3Rpb24gKHBhY2tldCkge1xuICB2YXIgc2FtZU5hbWVzcGFjZSA9IHBhY2tldC5uc3AgPT09IHRoaXMubnNwO1xuICB2YXIgcm9vdE5hbWVzcGFjZUVycm9yID0gcGFja2V0LnR5cGUgPT09IHBhcnNlci5FUlJPUiAmJiBwYWNrZXQubnNwID09PSAnLyc7XG5cbiAgaWYgKCFzYW1lTmFtZXNwYWNlICYmICFyb290TmFtZXNwYWNlRXJyb3IpIHJldHVybjtcblxuICBzd2l0Y2ggKHBhY2tldC50eXBlKSB7XG4gICAgY2FzZSBwYXJzZXIuQ09OTkVDVDpcbiAgICAgIHRoaXMub25jb25uZWN0KCk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgcGFyc2VyLkVWRU5UOlxuICAgICAgdGhpcy5vbmV2ZW50KHBhY2tldCk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgcGFyc2VyLkJJTkFSWV9FVkVOVDpcbiAgICAgIHRoaXMub25ldmVudChwYWNrZXQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIHBhcnNlci5BQ0s6XG4gICAgICB0aGlzLm9uYWNrKHBhY2tldCk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgcGFyc2VyLkJJTkFSWV9BQ0s6XG4gICAgICB0aGlzLm9uYWNrKHBhY2tldCk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgcGFyc2VyLkRJU0NPTk5FQ1Q6XG4gICAgICB0aGlzLm9uZGlzY29ubmVjdCgpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIHBhcnNlci5FUlJPUjpcbiAgICAgIHRoaXMuZW1pdCgnZXJyb3InLCBwYWNrZXQuZGF0YSk7XG4gICAgICBicmVhaztcbiAgfVxufTtcblxuLyoqXG4gKiBDYWxsZWQgdXBvbiBhIHNlcnZlciBldmVudC5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcGFja2V0XG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLm9uZXZlbnQgPSBmdW5jdGlvbiAocGFja2V0KSB7XG4gIHZhciBhcmdzID0gcGFja2V0LmRhdGEgfHwgW107XG4gIGRlYnVnKCdlbWl0dGluZyBldmVudCAlaicsIGFyZ3MpO1xuXG4gIGlmIChudWxsICE9IHBhY2tldC5pZCkge1xuICAgIGRlYnVnKCdhdHRhY2hpbmcgYWNrIGNhbGxiYWNrIHRvIGV2ZW50Jyk7XG4gICAgYXJncy5wdXNoKHRoaXMuYWNrKHBhY2tldC5pZCkpO1xuICB9XG5cbiAgaWYgKHRoaXMuY29ubmVjdGVkKSB7XG4gICAgZW1pdC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLnJlY2VpdmVCdWZmZXIucHVzaChhcmdzKTtcbiAgfVxufTtcblxuLyoqXG4gKiBQcm9kdWNlcyBhbiBhY2sgY2FsbGJhY2sgdG8gZW1pdCB3aXRoIGFuIGV2ZW50LlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblNvY2tldC5wcm90b3R5cGUuYWNrID0gZnVuY3Rpb24gKGlkKSB7XG4gIHZhciBzZWxmID0gdGhpcztcbiAgdmFyIHNlbnQgPSBmYWxzZTtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAvLyBwcmV2ZW50IGRvdWJsZSBjYWxsYmFja3NcbiAgICBpZiAoc2VudCkgcmV0dXJuO1xuICAgIHNlbnQgPSB0cnVlO1xuICAgIHZhciBhcmdzID0gdG9BcnJheShhcmd1bWVudHMpO1xuICAgIGRlYnVnKCdzZW5kaW5nIGFjayAlaicsIGFyZ3MpO1xuXG4gICAgc2VsZi5wYWNrZXQoe1xuICAgICAgdHlwZTogaGFzQmluKGFyZ3MpID8gcGFyc2VyLkJJTkFSWV9BQ0sgOiBwYXJzZXIuQUNLLFxuICAgICAgaWQ6IGlkLFxuICAgICAgZGF0YTogYXJnc1xuICAgIH0pO1xuICB9O1xufTtcblxuLyoqXG4gKiBDYWxsZWQgdXBvbiBhIHNlcnZlciBhY2tub3dsZWdlbWVudC5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcGFja2V0XG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLm9uYWNrID0gZnVuY3Rpb24gKHBhY2tldCkge1xuICB2YXIgYWNrID0gdGhpcy5hY2tzW3BhY2tldC5pZF07XG4gIGlmICgnZnVuY3Rpb24nID09PSB0eXBlb2YgYWNrKSB7XG4gICAgZGVidWcoJ2NhbGxpbmcgYWNrICVzIHdpdGggJWonLCBwYWNrZXQuaWQsIHBhY2tldC5kYXRhKTtcbiAgICBhY2suYXBwbHkodGhpcywgcGFja2V0LmRhdGEpO1xuICAgIGRlbGV0ZSB0aGlzLmFja3NbcGFja2V0LmlkXTtcbiAgfSBlbHNlIHtcbiAgICBkZWJ1ZygnYmFkIGFjayAlcycsIHBhY2tldC5pZCk7XG4gIH1cbn07XG5cbi8qKlxuICogQ2FsbGVkIHVwb24gc2VydmVyIGNvbm5lY3QuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5vbmNvbm5lY3QgPSBmdW5jdGlvbiAoKSB7XG4gIHRoaXMuY29ubmVjdGVkID0gdHJ1ZTtcbiAgdGhpcy5kaXNjb25uZWN0ZWQgPSBmYWxzZTtcbiAgdGhpcy5lbWl0KCdjb25uZWN0Jyk7XG4gIHRoaXMuZW1pdEJ1ZmZlcmVkKCk7XG59O1xuXG4vKipcbiAqIEVtaXQgYnVmZmVyZWQgZXZlbnRzIChyZWNlaXZlZCBhbmQgZW1pdHRlZCkuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5lbWl0QnVmZmVyZWQgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBpO1xuICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5yZWNlaXZlQnVmZmVyLmxlbmd0aDsgaSsrKSB7XG4gICAgZW1pdC5hcHBseSh0aGlzLCB0aGlzLnJlY2VpdmVCdWZmZXJbaV0pO1xuICB9XG4gIHRoaXMucmVjZWl2ZUJ1ZmZlciA9IFtdO1xuXG4gIGZvciAoaSA9IDA7IGkgPCB0aGlzLnNlbmRCdWZmZXIubGVuZ3RoOyBpKyspIHtcbiAgICB0aGlzLnBhY2tldCh0aGlzLnNlbmRCdWZmZXJbaV0pO1xuICB9XG4gIHRoaXMuc2VuZEJ1ZmZlciA9IFtdO1xufTtcblxuLyoqXG4gKiBDYWxsZWQgdXBvbiBzZXJ2ZXIgZGlzY29ubmVjdC5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLm9uZGlzY29ubmVjdCA9IGZ1bmN0aW9uICgpIHtcbiAgZGVidWcoJ3NlcnZlciBkaXNjb25uZWN0ICglcyknLCB0aGlzLm5zcCk7XG4gIHRoaXMuZGVzdHJveSgpO1xuICB0aGlzLm9uY2xvc2UoJ2lvIHNlcnZlciBkaXNjb25uZWN0Jyk7XG59O1xuXG4vKipcbiAqIENhbGxlZCB1cG9uIGZvcmNlZCBjbGllbnQvc2VydmVyIHNpZGUgZGlzY29ubmVjdGlvbnMsXG4gKiB0aGlzIG1ldGhvZCBlbnN1cmVzIHRoZSBtYW5hZ2VyIHN0b3BzIHRyYWNraW5nIHVzIGFuZFxuICogdGhhdCByZWNvbm5lY3Rpb25zIGRvbid0IGdldCB0cmlnZ2VyZWQgZm9yIHRoaXMuXG4gKlxuICogQGFwaSBwcml2YXRlLlxuICovXG5cblNvY2tldC5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKHRoaXMuc3Vicykge1xuICAgIC8vIGNsZWFuIHN1YnNjcmlwdGlvbnMgdG8gYXZvaWQgcmVjb25uZWN0aW9uc1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5zdWJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB0aGlzLnN1YnNbaV0uZGVzdHJveSgpO1xuICAgIH1cbiAgICB0aGlzLnN1YnMgPSBudWxsO1xuICB9XG5cbiAgdGhpcy5pby5kZXN0cm95KHRoaXMpO1xufTtcblxuLyoqXG4gKiBEaXNjb25uZWN0cyB0aGUgc29ja2V0IG1hbnVhbGx5LlxuICpcbiAqIEByZXR1cm4ge1NvY2tldH0gc2VsZlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLmNsb3NlID1cblNvY2tldC5wcm90b3R5cGUuZGlzY29ubmVjdCA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKHRoaXMuY29ubmVjdGVkKSB7XG4gICAgZGVidWcoJ3BlcmZvcm1pbmcgZGlzY29ubmVjdCAoJXMpJywgdGhpcy5uc3ApO1xuICAgIHRoaXMucGFja2V0KHsgdHlwZTogcGFyc2VyLkRJU0NPTk5FQ1QgfSk7XG4gIH1cblxuICAvLyByZW1vdmUgc29ja2V0IGZyb20gcG9vbFxuICB0aGlzLmRlc3Ryb3koKTtcblxuICBpZiAodGhpcy5jb25uZWN0ZWQpIHtcbiAgICAvLyBmaXJlIGV2ZW50c1xuICAgIHRoaXMub25jbG9zZSgnaW8gY2xpZW50IGRpc2Nvbm5lY3QnKTtcbiAgfVxuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogU2V0cyB0aGUgY29tcHJlc3MgZmxhZy5cbiAqXG4gKiBAcGFyYW0ge0Jvb2xlYW59IGlmIGB0cnVlYCwgY29tcHJlc3NlcyB0aGUgc2VuZGluZyBkYXRhXG4gKiBAcmV0dXJuIHtTb2NrZXR9IHNlbGZcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5jb21wcmVzcyA9IGZ1bmN0aW9uIChjb21wcmVzcykge1xuICB0aGlzLmZsYWdzLmNvbXByZXNzID0gY29tcHJlc3M7XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBTZXRzIHRoZSBiaW5hcnkgZmxhZ1xuICpcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gd2hldGhlciB0aGUgZW1pdHRlZCBkYXRhIGNvbnRhaW5zIGJpbmFyeVxuICogQHJldHVybiB7U29ja2V0fSBzZWxmXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblNvY2tldC5wcm90b3R5cGUuYmluYXJ5ID0gZnVuY3Rpb24gKGJpbmFyeSkge1xuICB0aGlzLmZsYWdzLmJpbmFyeSA9IGJpbmFyeTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuIiwiXG4vKipcbiAqIE1vZHVsZSBkZXBlbmRlbmNpZXMuXG4gKi9cblxudmFyIHBhcnNldXJpID0gcmVxdWlyZSgncGFyc2V1cmknKTtcbnZhciBkZWJ1ZyA9IHJlcXVpcmUoJ2RlYnVnJykoJ3NvY2tldC5pby1jbGllbnQ6dXJsJyk7XG5cbi8qKlxuICogTW9kdWxlIGV4cG9ydHMuXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSB1cmw7XG5cbi8qKlxuICogVVJMIHBhcnNlci5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gdXJsXG4gKiBAcGFyYW0ge09iamVjdH0gQW4gb2JqZWN0IG1lYW50IHRvIG1pbWljIHdpbmRvdy5sb2NhdGlvbi5cbiAqICAgICAgICAgICAgICAgICBEZWZhdWx0cyB0byB3aW5kb3cubG9jYXRpb24uXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIHVybCAodXJpLCBsb2MpIHtcbiAgdmFyIG9iaiA9IHVyaTtcblxuICAvLyBkZWZhdWx0IHRvIHdpbmRvdy5sb2NhdGlvblxuICBsb2MgPSBsb2MgfHwgKHR5cGVvZiBsb2NhdGlvbiAhPT0gJ3VuZGVmaW5lZCcgJiYgbG9jYXRpb24pO1xuICBpZiAobnVsbCA9PSB1cmkpIHVyaSA9IGxvYy5wcm90b2NvbCArICcvLycgKyBsb2MuaG9zdDtcblxuICAvLyByZWxhdGl2ZSBwYXRoIHN1cHBvcnRcbiAgaWYgKCdzdHJpbmcnID09PSB0eXBlb2YgdXJpKSB7XG4gICAgaWYgKCcvJyA9PT0gdXJpLmNoYXJBdCgwKSkge1xuICAgICAgaWYgKCcvJyA9PT0gdXJpLmNoYXJBdCgxKSkge1xuICAgICAgICB1cmkgPSBsb2MucHJvdG9jb2wgKyB1cmk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1cmkgPSBsb2MuaG9zdCArIHVyaTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIS9eKGh0dHBzP3x3c3M/KTpcXC9cXC8vLnRlc3QodXJpKSkge1xuICAgICAgZGVidWcoJ3Byb3RvY29sLWxlc3MgdXJsICVzJywgdXJpKTtcbiAgICAgIGlmICgndW5kZWZpbmVkJyAhPT0gdHlwZW9mIGxvYykge1xuICAgICAgICB1cmkgPSBsb2MucHJvdG9jb2wgKyAnLy8nICsgdXJpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdXJpID0gJ2h0dHBzOi8vJyArIHVyaTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBwYXJzZVxuICAgIGRlYnVnKCdwYXJzZSAlcycsIHVyaSk7XG4gICAgb2JqID0gcGFyc2V1cmkodXJpKTtcbiAgfVxuXG4gIC8vIG1ha2Ugc3VyZSB3ZSB0cmVhdCBgbG9jYWxob3N0OjgwYCBhbmQgYGxvY2FsaG9zdGAgZXF1YWxseVxuICBpZiAoIW9iai5wb3J0KSB7XG4gICAgaWYgKC9eKGh0dHB8d3MpJC8udGVzdChvYmoucHJvdG9jb2wpKSB7XG4gICAgICBvYmoucG9ydCA9ICc4MCc7XG4gICAgfSBlbHNlIGlmICgvXihodHRwfHdzKXMkLy50ZXN0KG9iai5wcm90b2NvbCkpIHtcbiAgICAgIG9iai5wb3J0ID0gJzQ0Myc7XG4gICAgfVxuICB9XG5cbiAgb2JqLnBhdGggPSBvYmoucGF0aCB8fCAnLyc7XG5cbiAgdmFyIGlwdjYgPSBvYmouaG9zdC5pbmRleE9mKCc6JykgIT09IC0xO1xuICB2YXIgaG9zdCA9IGlwdjYgPyAnWycgKyBvYmouaG9zdCArICddJyA6IG9iai5ob3N0O1xuXG4gIC8vIGRlZmluZSB1bmlxdWUgaWRcbiAgb2JqLmlkID0gb2JqLnByb3RvY29sICsgJzovLycgKyBob3N0ICsgJzonICsgb2JqLnBvcnQ7XG4gIC8vIGRlZmluZSBocmVmXG4gIG9iai5ocmVmID0gb2JqLnByb3RvY29sICsgJzovLycgKyBob3N0ICsgKGxvYyAmJiBsb2MucG9ydCA9PT0gb2JqLnBvcnQgPyAnJyA6ICgnOicgKyBvYmoucG9ydCkpO1xuXG4gIHJldHVybiBvYmo7XG59XG4iLCIvKlxuICogYmFzZTY0LWFycmF5YnVmZmVyXG4gKiBodHRwczovL2dpdGh1Yi5jb20vbmlrbGFzdmgvYmFzZTY0LWFycmF5YnVmZmVyXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDEyIE5pa2xhcyB2b24gSGVydHplblxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICovXG4oZnVuY3Rpb24oKXtcbiAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgdmFyIGNoYXJzID0gXCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvXCI7XG5cbiAgLy8gVXNlIGEgbG9va3VwIHRhYmxlIHRvIGZpbmQgdGhlIGluZGV4LlxuICB2YXIgbG9va3VwID0gbmV3IFVpbnQ4QXJyYXkoMjU2KTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGFycy5sZW5ndGg7IGkrKykge1xuICAgIGxvb2t1cFtjaGFycy5jaGFyQ29kZUF0KGkpXSA9IGk7XG4gIH1cblxuICBleHBvcnRzLmVuY29kZSA9IGZ1bmN0aW9uKGFycmF5YnVmZmVyKSB7XG4gICAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlidWZmZXIpLFxuICAgIGksIGxlbiA9IGJ5dGVzLmxlbmd0aCwgYmFzZTY0ID0gXCJcIjtcblxuICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrPTMpIHtcbiAgICAgIGJhc2U2NCArPSBjaGFyc1tieXRlc1tpXSA+PiAyXTtcbiAgICAgIGJhc2U2NCArPSBjaGFyc1soKGJ5dGVzW2ldICYgMykgPDwgNCkgfCAoYnl0ZXNbaSArIDFdID4+IDQpXTtcbiAgICAgIGJhc2U2NCArPSBjaGFyc1soKGJ5dGVzW2kgKyAxXSAmIDE1KSA8PCAyKSB8IChieXRlc1tpICsgMl0gPj4gNildO1xuICAgICAgYmFzZTY0ICs9IGNoYXJzW2J5dGVzW2kgKyAyXSAmIDYzXTtcbiAgICB9XG5cbiAgICBpZiAoKGxlbiAlIDMpID09PSAyKSB7XG4gICAgICBiYXNlNjQgPSBiYXNlNjQuc3Vic3RyaW5nKDAsIGJhc2U2NC5sZW5ndGggLSAxKSArIFwiPVwiO1xuICAgIH0gZWxzZSBpZiAobGVuICUgMyA9PT0gMSkge1xuICAgICAgYmFzZTY0ID0gYmFzZTY0LnN1YnN0cmluZygwLCBiYXNlNjQubGVuZ3RoIC0gMikgKyBcIj09XCI7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJhc2U2NDtcbiAgfTtcblxuICBleHBvcnRzLmRlY29kZSA9ICBmdW5jdGlvbihiYXNlNjQpIHtcbiAgICB2YXIgYnVmZmVyTGVuZ3RoID0gYmFzZTY0Lmxlbmd0aCAqIDAuNzUsXG4gICAgbGVuID0gYmFzZTY0Lmxlbmd0aCwgaSwgcCA9IDAsXG4gICAgZW5jb2RlZDEsIGVuY29kZWQyLCBlbmNvZGVkMywgZW5jb2RlZDQ7XG5cbiAgICBpZiAoYmFzZTY0W2Jhc2U2NC5sZW5ndGggLSAxXSA9PT0gXCI9XCIpIHtcbiAgICAgIGJ1ZmZlckxlbmd0aC0tO1xuICAgICAgaWYgKGJhc2U2NFtiYXNlNjQubGVuZ3RoIC0gMl0gPT09IFwiPVwiKSB7XG4gICAgICAgIGJ1ZmZlckxlbmd0aC0tO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBhcnJheWJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcihidWZmZXJMZW5ndGgpLFxuICAgIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlidWZmZXIpO1xuXG4gICAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSs9NCkge1xuICAgICAgZW5jb2RlZDEgPSBsb29rdXBbYmFzZTY0LmNoYXJDb2RlQXQoaSldO1xuICAgICAgZW5jb2RlZDIgPSBsb29rdXBbYmFzZTY0LmNoYXJDb2RlQXQoaSsxKV07XG4gICAgICBlbmNvZGVkMyA9IGxvb2t1cFtiYXNlNjQuY2hhckNvZGVBdChpKzIpXTtcbiAgICAgIGVuY29kZWQ0ID0gbG9va3VwW2Jhc2U2NC5jaGFyQ29kZUF0KGkrMyldO1xuXG4gICAgICBieXRlc1twKytdID0gKGVuY29kZWQxIDw8IDIpIHwgKGVuY29kZWQyID4+IDQpO1xuICAgICAgYnl0ZXNbcCsrXSA9ICgoZW5jb2RlZDIgJiAxNSkgPDwgNCkgfCAoZW5jb2RlZDMgPj4gMik7XG4gICAgICBieXRlc1twKytdID0gKChlbmNvZGVkMyAmIDMpIDw8IDYpIHwgKGVuY29kZWQ0ICYgNjMpO1xuICAgIH1cblxuICAgIHJldHVybiBhcnJheWJ1ZmZlcjtcbiAgfTtcbn0pKCk7XG4iLCJcclxuLyoqXHJcbiAqIEV4cG9zZSBgRW1pdHRlcmAuXHJcbiAqL1xyXG5cclxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgbW9kdWxlLmV4cG9ydHMgPSBFbWl0dGVyO1xyXG59XHJcblxyXG4vKipcclxuICogSW5pdGlhbGl6ZSBhIG5ldyBgRW1pdHRlcmAuXHJcbiAqXHJcbiAqIEBhcGkgcHVibGljXHJcbiAqL1xyXG5cclxuZnVuY3Rpb24gRW1pdHRlcihvYmopIHtcclxuICBpZiAob2JqKSByZXR1cm4gbWl4aW4ob2JqKTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBNaXhpbiB0aGUgZW1pdHRlciBwcm9wZXJ0aWVzLlxyXG4gKlxyXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqXHJcbiAqIEByZXR1cm4ge09iamVjdH1cclxuICogQGFwaSBwcml2YXRlXHJcbiAqL1xyXG5cclxuZnVuY3Rpb24gbWl4aW4ob2JqKSB7XHJcbiAgZm9yICh2YXIga2V5IGluIEVtaXR0ZXIucHJvdG90eXBlKSB7XHJcbiAgICBvYmpba2V5XSA9IEVtaXR0ZXIucHJvdG90eXBlW2tleV07XHJcbiAgfVxyXG4gIHJldHVybiBvYmo7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBMaXN0ZW4gb24gdGhlIGdpdmVuIGBldmVudGAgd2l0aCBgZm5gLlxyXG4gKlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gZXZlbnRcclxuICogQHBhcmFtIHtGdW5jdGlvbn0gZm5cclxuICogQHJldHVybiB7RW1pdHRlcn1cclxuICogQGFwaSBwdWJsaWNcclxuICovXHJcblxyXG5FbWl0dGVyLnByb3RvdHlwZS5vbiA9XHJcbkVtaXR0ZXIucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXIgPSBmdW5jdGlvbihldmVudCwgZm4pe1xyXG4gIHRoaXMuX2NhbGxiYWNrcyA9IHRoaXMuX2NhbGxiYWNrcyB8fCB7fTtcclxuICAodGhpcy5fY2FsbGJhY2tzWyckJyArIGV2ZW50XSA9IHRoaXMuX2NhbGxiYWNrc1snJCcgKyBldmVudF0gfHwgW10pXHJcbiAgICAucHVzaChmbik7XHJcbiAgcmV0dXJuIHRoaXM7XHJcbn07XHJcblxyXG4vKipcclxuICogQWRkcyBhbiBgZXZlbnRgIGxpc3RlbmVyIHRoYXQgd2lsbCBiZSBpbnZva2VkIGEgc2luZ2xlXHJcbiAqIHRpbWUgdGhlbiBhdXRvbWF0aWNhbGx5IHJlbW92ZWQuXHJcbiAqXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSBldmVudFxyXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmblxyXG4gKiBAcmV0dXJuIHtFbWl0dGVyfVxyXG4gKiBAYXBpIHB1YmxpY1xyXG4gKi9cclxuXHJcbkVtaXR0ZXIucHJvdG90eXBlLm9uY2UgPSBmdW5jdGlvbihldmVudCwgZm4pe1xyXG4gIGZ1bmN0aW9uIG9uKCkge1xyXG4gICAgdGhpcy5vZmYoZXZlbnQsIG9uKTtcclxuICAgIGZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbiAgfVxyXG5cclxuICBvbi5mbiA9IGZuO1xyXG4gIHRoaXMub24oZXZlbnQsIG9uKTtcclxuICByZXR1cm4gdGhpcztcclxufTtcclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGdpdmVuIGNhbGxiYWNrIGZvciBgZXZlbnRgIG9yIGFsbFxyXG4gKiByZWdpc3RlcmVkIGNhbGxiYWNrcy5cclxuICpcclxuICogQHBhcmFtIHtTdHJpbmd9IGV2ZW50XHJcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZuXHJcbiAqIEByZXR1cm4ge0VtaXR0ZXJ9XHJcbiAqIEBhcGkgcHVibGljXHJcbiAqL1xyXG5cclxuRW1pdHRlci5wcm90b3R5cGUub2ZmID1cclxuRW1pdHRlci5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXIgPVxyXG5FbWl0dGVyLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnMgPVxyXG5FbWl0dGVyLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyID0gZnVuY3Rpb24oZXZlbnQsIGZuKXtcclxuICB0aGlzLl9jYWxsYmFja3MgPSB0aGlzLl9jYWxsYmFja3MgfHwge307XHJcblxyXG4gIC8vIGFsbFxyXG4gIGlmICgwID09IGFyZ3VtZW50cy5sZW5ndGgpIHtcclxuICAgIHRoaXMuX2NhbGxiYWNrcyA9IHt9O1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvLyBzcGVjaWZpYyBldmVudFxyXG4gIHZhciBjYWxsYmFja3MgPSB0aGlzLl9jYWxsYmFja3NbJyQnICsgZXZlbnRdO1xyXG4gIGlmICghY2FsbGJhY2tzKSByZXR1cm4gdGhpcztcclxuXHJcbiAgLy8gcmVtb3ZlIGFsbCBoYW5kbGVyc1xyXG4gIGlmICgxID09IGFyZ3VtZW50cy5sZW5ndGgpIHtcclxuICAgIGRlbGV0ZSB0aGlzLl9jYWxsYmFja3NbJyQnICsgZXZlbnRdO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvLyByZW1vdmUgc3BlY2lmaWMgaGFuZGxlclxyXG4gIHZhciBjYjtcclxuICBmb3IgKHZhciBpID0gMDsgaSA8IGNhbGxiYWNrcy5sZW5ndGg7IGkrKykge1xyXG4gICAgY2IgPSBjYWxsYmFja3NbaV07XHJcbiAgICBpZiAoY2IgPT09IGZuIHx8IGNiLmZuID09PSBmbikge1xyXG4gICAgICBjYWxsYmFja3Muc3BsaWNlKGksIDEpO1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIHRoaXM7XHJcbn07XHJcblxyXG4vKipcclxuICogRW1pdCBgZXZlbnRgIHdpdGggdGhlIGdpdmVuIGFyZ3MuXHJcbiAqXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSBldmVudFxyXG4gKiBAcGFyYW0ge01peGVkfSAuLi5cclxuICogQHJldHVybiB7RW1pdHRlcn1cclxuICovXHJcblxyXG5FbWl0dGVyLnByb3RvdHlwZS5lbWl0ID0gZnVuY3Rpb24oZXZlbnQpe1xyXG4gIHRoaXMuX2NhbGxiYWNrcyA9IHRoaXMuX2NhbGxiYWNrcyB8fCB7fTtcclxuICB2YXIgYXJncyA9IFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKVxyXG4gICAgLCBjYWxsYmFja3MgPSB0aGlzLl9jYWxsYmFja3NbJyQnICsgZXZlbnRdO1xyXG5cclxuICBpZiAoY2FsbGJhY2tzKSB7XHJcbiAgICBjYWxsYmFja3MgPSBjYWxsYmFja3Muc2xpY2UoMCk7XHJcbiAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gY2FsbGJhY2tzLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XHJcbiAgICAgIGNhbGxiYWNrc1tpXS5hcHBseSh0aGlzLCBhcmdzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldHVybiB0aGlzO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFJldHVybiBhcnJheSBvZiBjYWxsYmFja3MgZm9yIGBldmVudGAuXHJcbiAqXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSBldmVudFxyXG4gKiBAcmV0dXJuIHtBcnJheX1cclxuICogQGFwaSBwdWJsaWNcclxuICovXHJcblxyXG5FbWl0dGVyLnByb3RvdHlwZS5saXN0ZW5lcnMgPSBmdW5jdGlvbihldmVudCl7XHJcbiAgdGhpcy5fY2FsbGJhY2tzID0gdGhpcy5fY2FsbGJhY2tzIHx8IHt9O1xyXG4gIHJldHVybiB0aGlzLl9jYWxsYmFja3NbJyQnICsgZXZlbnRdIHx8IFtdO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIENoZWNrIGlmIHRoaXMgZW1pdHRlciBoYXMgYGV2ZW50YCBoYW5kbGVycy5cclxuICpcclxuICogQHBhcmFtIHtTdHJpbmd9IGV2ZW50XHJcbiAqIEByZXR1cm4ge0Jvb2xlYW59XHJcbiAqIEBhcGkgcHVibGljXHJcbiAqL1xyXG5cclxuRW1pdHRlci5wcm90b3R5cGUuaGFzTGlzdGVuZXJzID0gZnVuY3Rpb24oZXZlbnQpe1xyXG4gIHJldHVybiAhISB0aGlzLmxpc3RlbmVycyhldmVudCkubGVuZ3RoO1xyXG59O1xyXG4iLCIvKipcbiAqIFRoaXMgaXMgdGhlIHdlYiBicm93c2VyIGltcGxlbWVudGF0aW9uIG9mIGBkZWJ1ZygpYC5cbiAqXG4gKiBFeHBvc2UgYGRlYnVnKClgIGFzIHRoZSBtb2R1bGUuXG4gKi9cblxuZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9kZWJ1ZycpO1xuZXhwb3J0cy5sb2cgPSBsb2c7XG5leHBvcnRzLmZvcm1hdEFyZ3MgPSBmb3JtYXRBcmdzO1xuZXhwb3J0cy5zYXZlID0gc2F2ZTtcbmV4cG9ydHMubG9hZCA9IGxvYWQ7XG5leHBvcnRzLnVzZUNvbG9ycyA9IHVzZUNvbG9ycztcbmV4cG9ydHMuc3RvcmFnZSA9ICd1bmRlZmluZWQnICE9IHR5cGVvZiBjaHJvbWVcbiAgICAgICAgICAgICAgICYmICd1bmRlZmluZWQnICE9IHR5cGVvZiBjaHJvbWUuc3RvcmFnZVxuICAgICAgICAgICAgICAgICAgPyBjaHJvbWUuc3RvcmFnZS5sb2NhbFxuICAgICAgICAgICAgICAgICAgOiBsb2NhbHN0b3JhZ2UoKTtcblxuLyoqXG4gKiBDb2xvcnMuXG4gKi9cblxuZXhwb3J0cy5jb2xvcnMgPSBbXG4gICcjMDAwMENDJywgJyMwMDAwRkYnLCAnIzAwMzNDQycsICcjMDAzM0ZGJywgJyMwMDY2Q0MnLCAnIzAwNjZGRicsICcjMDA5OUNDJyxcbiAgJyMwMDk5RkYnLCAnIzAwQ0MwMCcsICcjMDBDQzMzJywgJyMwMENDNjYnLCAnIzAwQ0M5OScsICcjMDBDQ0NDJywgJyMwMENDRkYnLFxuICAnIzMzMDBDQycsICcjMzMwMEZGJywgJyMzMzMzQ0MnLCAnIzMzMzNGRicsICcjMzM2NkNDJywgJyMzMzY2RkYnLCAnIzMzOTlDQycsXG4gICcjMzM5OUZGJywgJyMzM0NDMDAnLCAnIzMzQ0MzMycsICcjMzNDQzY2JywgJyMzM0NDOTknLCAnIzMzQ0NDQycsICcjMzNDQ0ZGJyxcbiAgJyM2NjAwQ0MnLCAnIzY2MDBGRicsICcjNjYzM0NDJywgJyM2NjMzRkYnLCAnIzY2Q0MwMCcsICcjNjZDQzMzJywgJyM5OTAwQ0MnLFxuICAnIzk5MDBGRicsICcjOTkzM0NDJywgJyM5OTMzRkYnLCAnIzk5Q0MwMCcsICcjOTlDQzMzJywgJyNDQzAwMDAnLCAnI0NDMDAzMycsXG4gICcjQ0MwMDY2JywgJyNDQzAwOTknLCAnI0NDMDBDQycsICcjQ0MwMEZGJywgJyNDQzMzMDAnLCAnI0NDMzMzMycsICcjQ0MzMzY2JyxcbiAgJyNDQzMzOTknLCAnI0NDMzNDQycsICcjQ0MzM0ZGJywgJyNDQzY2MDAnLCAnI0NDNjYzMycsICcjQ0M5OTAwJywgJyNDQzk5MzMnLFxuICAnI0NDQ0MwMCcsICcjQ0NDQzMzJywgJyNGRjAwMDAnLCAnI0ZGMDAzMycsICcjRkYwMDY2JywgJyNGRjAwOTknLCAnI0ZGMDBDQycsXG4gICcjRkYwMEZGJywgJyNGRjMzMDAnLCAnI0ZGMzMzMycsICcjRkYzMzY2JywgJyNGRjMzOTknLCAnI0ZGMzNDQycsICcjRkYzM0ZGJyxcbiAgJyNGRjY2MDAnLCAnI0ZGNjYzMycsICcjRkY5OTAwJywgJyNGRjk5MzMnLCAnI0ZGQ0MwMCcsICcjRkZDQzMzJ1xuXTtcblxuLyoqXG4gKiBDdXJyZW50bHkgb25seSBXZWJLaXQtYmFzZWQgV2ViIEluc3BlY3RvcnMsIEZpcmVmb3ggPj0gdjMxLFxuICogYW5kIHRoZSBGaXJlYnVnIGV4dGVuc2lvbiAoYW55IEZpcmVmb3ggdmVyc2lvbikgYXJlIGtub3duXG4gKiB0byBzdXBwb3J0IFwiJWNcIiBDU1MgY3VzdG9taXphdGlvbnMuXG4gKlxuICogVE9ETzogYWRkIGEgYGxvY2FsU3RvcmFnZWAgdmFyaWFibGUgdG8gZXhwbGljaXRseSBlbmFibGUvZGlzYWJsZSBjb2xvcnNcbiAqL1xuXG5mdW5jdGlvbiB1c2VDb2xvcnMoKSB7XG4gIC8vIE5COiBJbiBhbiBFbGVjdHJvbiBwcmVsb2FkIHNjcmlwdCwgZG9jdW1lbnQgd2lsbCBiZSBkZWZpbmVkIGJ1dCBub3QgZnVsbHlcbiAgLy8gaW5pdGlhbGl6ZWQuIFNpbmNlIHdlIGtub3cgd2UncmUgaW4gQ2hyb21lLCB3ZSdsbCBqdXN0IGRldGVjdCB0aGlzIGNhc2VcbiAgLy8gZXhwbGljaXRseVxuICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LnByb2Nlc3MgJiYgd2luZG93LnByb2Nlc3MudHlwZSA9PT0gJ3JlbmRlcmVyJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gSW50ZXJuZXQgRXhwbG9yZXIgYW5kIEVkZ2UgZG8gbm90IHN1cHBvcnQgY29sb3JzLlxuICBpZiAodHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudCAmJiBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhlZGdlfHRyaWRlbnQpXFwvKFxcZCspLykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBpcyB3ZWJraXQ/IGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzE2NDU5NjA2LzM3Njc3M1xuICAvLyBkb2N1bWVudCBpcyB1bmRlZmluZWQgaW4gcmVhY3QtbmF0aXZlOiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QtbmF0aXZlL3B1bGwvMTYzMlxuICByZXR1cm4gKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50ICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuV2Via2l0QXBwZWFyYW5jZSkgfHxcbiAgICAvLyBpcyBmaXJlYnVnPyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8zOTgxMjAvMzc2NzczXG4gICAgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5jb25zb2xlICYmICh3aW5kb3cuY29uc29sZS5maXJlYnVnIHx8ICh3aW5kb3cuY29uc29sZS5leGNlcHRpb24gJiYgd2luZG93LmNvbnNvbGUudGFibGUpKSkgfHxcbiAgICAvLyBpcyBmaXJlZm94ID49IHYzMT9cbiAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1Rvb2xzL1dlYl9Db25zb2xlI1N0eWxpbmdfbWVzc2FnZXNcbiAgICAodHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudCAmJiBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goL2ZpcmVmb3hcXC8oXFxkKykvKSAmJiBwYXJzZUludChSZWdFeHAuJDEsIDEwKSA+PSAzMSkgfHxcbiAgICAvLyBkb3VibGUgY2hlY2sgd2Via2l0IGluIHVzZXJBZ2VudCBqdXN0IGluIGNhc2Ugd2UgYXJlIGluIGEgd29ya2VyXG4gICAgKHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIG5hdmlnYXRvci51c2VyQWdlbnQgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9hcHBsZXdlYmtpdFxcLyhcXGQrKS8pKTtcbn1cblxuLyoqXG4gKiBNYXAgJWogdG8gYEpTT04uc3RyaW5naWZ5KClgLCBzaW5jZSBubyBXZWIgSW5zcGVjdG9ycyBkbyB0aGF0IGJ5IGRlZmF1bHQuXG4gKi9cblxuZXhwb3J0cy5mb3JtYXR0ZXJzLmogPSBmdW5jdGlvbih2KSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHYpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICByZXR1cm4gJ1tVbmV4cGVjdGVkSlNPTlBhcnNlRXJyb3JdOiAnICsgZXJyLm1lc3NhZ2U7XG4gIH1cbn07XG5cblxuLyoqXG4gKiBDb2xvcml6ZSBsb2cgYXJndW1lbnRzIGlmIGVuYWJsZWQuXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBmb3JtYXRBcmdzKGFyZ3MpIHtcbiAgdmFyIHVzZUNvbG9ycyA9IHRoaXMudXNlQ29sb3JzO1xuXG4gIGFyZ3NbMF0gPSAodXNlQ29sb3JzID8gJyVjJyA6ICcnKVxuICAgICsgdGhpcy5uYW1lc3BhY2VcbiAgICArICh1c2VDb2xvcnMgPyAnICVjJyA6ICcgJylcbiAgICArIGFyZ3NbMF1cbiAgICArICh1c2VDb2xvcnMgPyAnJWMgJyA6ICcgJylcbiAgICArICcrJyArIGV4cG9ydHMuaHVtYW5pemUodGhpcy5kaWZmKTtcblxuICBpZiAoIXVzZUNvbG9ycykgcmV0dXJuO1xuXG4gIHZhciBjID0gJ2NvbG9yOiAnICsgdGhpcy5jb2xvcjtcbiAgYXJncy5zcGxpY2UoMSwgMCwgYywgJ2NvbG9yOiBpbmhlcml0JylcblxuICAvLyB0aGUgZmluYWwgXCIlY1wiIGlzIHNvbWV3aGF0IHRyaWNreSwgYmVjYXVzZSB0aGVyZSBjb3VsZCBiZSBvdGhlclxuICAvLyBhcmd1bWVudHMgcGFzc2VkIGVpdGhlciBiZWZvcmUgb3IgYWZ0ZXIgdGhlICVjLCBzbyB3ZSBuZWVkIHRvXG4gIC8vIGZpZ3VyZSBvdXQgdGhlIGNvcnJlY3QgaW5kZXggdG8gaW5zZXJ0IHRoZSBDU1MgaW50b1xuICB2YXIgaW5kZXggPSAwO1xuICB2YXIgbGFzdEMgPSAwO1xuICBhcmdzWzBdLnJlcGxhY2UoLyVbYS16QS1aJV0vZywgZnVuY3Rpb24obWF0Y2gpIHtcbiAgICBpZiAoJyUlJyA9PT0gbWF0Y2gpIHJldHVybjtcbiAgICBpbmRleCsrO1xuICAgIGlmICgnJWMnID09PSBtYXRjaCkge1xuICAgICAgLy8gd2Ugb25seSBhcmUgaW50ZXJlc3RlZCBpbiB0aGUgKmxhc3QqICVjXG4gICAgICAvLyAodGhlIHVzZXIgbWF5IGhhdmUgcHJvdmlkZWQgdGhlaXIgb3duKVxuICAgICAgbGFzdEMgPSBpbmRleDtcbiAgICB9XG4gIH0pO1xuXG4gIGFyZ3Muc3BsaWNlKGxhc3RDLCAwLCBjKTtcbn1cblxuLyoqXG4gKiBJbnZva2VzIGBjb25zb2xlLmxvZygpYCB3aGVuIGF2YWlsYWJsZS5cbiAqIE5vLW9wIHdoZW4gYGNvbnNvbGUubG9nYCBpcyBub3QgYSBcImZ1bmN0aW9uXCIuXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBsb2coKSB7XG4gIC8vIHRoaXMgaGFja2VyeSBpcyByZXF1aXJlZCBmb3IgSUU4LzksIHdoZXJlXG4gIC8vIHRoZSBgY29uc29sZS5sb2dgIGZ1bmN0aW9uIGRvZXNuJ3QgaGF2ZSAnYXBwbHknXG4gIHJldHVybiAnb2JqZWN0JyA9PT0gdHlwZW9mIGNvbnNvbGVcbiAgICAmJiBjb25zb2xlLmxvZ1xuICAgICYmIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKGNvbnNvbGUubG9nLCBjb25zb2xlLCBhcmd1bWVudHMpO1xufVxuXG4vKipcbiAqIFNhdmUgYG5hbWVzcGFjZXNgLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lc3BhY2VzXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBzYXZlKG5hbWVzcGFjZXMpIHtcbiAgdHJ5IHtcbiAgICBpZiAobnVsbCA9PSBuYW1lc3BhY2VzKSB7XG4gICAgICBleHBvcnRzLnN0b3JhZ2UucmVtb3ZlSXRlbSgnZGVidWcnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXhwb3J0cy5zdG9yYWdlLmRlYnVnID0gbmFtZXNwYWNlcztcbiAgICB9XG4gIH0gY2F0Y2goZSkge31cbn1cblxuLyoqXG4gKiBMb2FkIGBuYW1lc3BhY2VzYC5cbiAqXG4gKiBAcmV0dXJuIHtTdHJpbmd9IHJldHVybnMgdGhlIHByZXZpb3VzbHkgcGVyc2lzdGVkIGRlYnVnIG1vZGVzXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBsb2FkKCkge1xuICB2YXIgcjtcbiAgdHJ5IHtcbiAgICByID0gZXhwb3J0cy5zdG9yYWdlLmRlYnVnO1xuICB9IGNhdGNoKGUpIHt9XG5cbiAgLy8gSWYgZGVidWcgaXNuJ3Qgc2V0IGluIExTLCBhbmQgd2UncmUgaW4gRWxlY3Ryb24sIHRyeSB0byBsb2FkICRERUJVR1xuICBpZiAoIXIgJiYgdHlwZW9mIHByb2Nlc3MgIT09ICd1bmRlZmluZWQnICYmICdlbnYnIGluIHByb2Nlc3MpIHtcbiAgICByID0gcHJvY2Vzcy5lbnYuREVCVUc7XG4gIH1cblxuICByZXR1cm4gcjtcbn1cblxuLyoqXG4gKiBFbmFibGUgbmFtZXNwYWNlcyBsaXN0ZWQgaW4gYGxvY2FsU3RvcmFnZS5kZWJ1Z2AgaW5pdGlhbGx5LlxuICovXG5cbmV4cG9ydHMuZW5hYmxlKGxvYWQoKSk7XG5cbi8qKlxuICogTG9jYWxzdG9yYWdlIGF0dGVtcHRzIHRvIHJldHVybiB0aGUgbG9jYWxzdG9yYWdlLlxuICpcbiAqIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugc2FmYXJpIHRocm93c1xuICogd2hlbiBhIHVzZXIgZGlzYWJsZXMgY29va2llcy9sb2NhbHN0b3JhZ2VcbiAqIGFuZCB5b3UgYXR0ZW1wdCB0byBhY2Nlc3MgaXQuXG4gKlxuICogQHJldHVybiB7TG9jYWxTdG9yYWdlfVxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gbG9jYWxzdG9yYWdlKCkge1xuICB0cnkge1xuICAgIHJldHVybiB3aW5kb3cubG9jYWxTdG9yYWdlO1xuICB9IGNhdGNoIChlKSB7fVxufVxuIiwiXG4vKipcbiAqIFRoaXMgaXMgdGhlIGNvbW1vbiBsb2dpYyBmb3IgYm90aCB0aGUgTm9kZS5qcyBhbmQgd2ViIGJyb3dzZXJcbiAqIGltcGxlbWVudGF0aW9ucyBvZiBgZGVidWcoKWAuXG4gKlxuICogRXhwb3NlIGBkZWJ1ZygpYCBhcyB0aGUgbW9kdWxlLlxuICovXG5cbmV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IGNyZWF0ZURlYnVnLmRlYnVnID0gY3JlYXRlRGVidWdbJ2RlZmF1bHQnXSA9IGNyZWF0ZURlYnVnO1xuZXhwb3J0cy5jb2VyY2UgPSBjb2VyY2U7XG5leHBvcnRzLmRpc2FibGUgPSBkaXNhYmxlO1xuZXhwb3J0cy5lbmFibGUgPSBlbmFibGU7XG5leHBvcnRzLmVuYWJsZWQgPSBlbmFibGVkO1xuZXhwb3J0cy5odW1hbml6ZSA9IHJlcXVpcmUoJ21zJyk7XG5cbi8qKlxuICogQWN0aXZlIGBkZWJ1Z2AgaW5zdGFuY2VzLlxuICovXG5leHBvcnRzLmluc3RhbmNlcyA9IFtdO1xuXG4vKipcbiAqIFRoZSBjdXJyZW50bHkgYWN0aXZlIGRlYnVnIG1vZGUgbmFtZXMsIGFuZCBuYW1lcyB0byBza2lwLlxuICovXG5cbmV4cG9ydHMubmFtZXMgPSBbXTtcbmV4cG9ydHMuc2tpcHMgPSBbXTtcblxuLyoqXG4gKiBNYXAgb2Ygc3BlY2lhbCBcIiVuXCIgaGFuZGxpbmcgZnVuY3Rpb25zLCBmb3IgdGhlIGRlYnVnIFwiZm9ybWF0XCIgYXJndW1lbnQuXG4gKlxuICogVmFsaWQga2V5IG5hbWVzIGFyZSBhIHNpbmdsZSwgbG93ZXIgb3IgdXBwZXItY2FzZSBsZXR0ZXIsIGkuZS4gXCJuXCIgYW5kIFwiTlwiLlxuICovXG5cbmV4cG9ydHMuZm9ybWF0dGVycyA9IHt9O1xuXG4vKipcbiAqIFNlbGVjdCBhIGNvbG9yLlxuICogQHBhcmFtIHtTdHJpbmd9IG5hbWVzcGFjZVxuICogQHJldHVybiB7TnVtYmVyfVxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gc2VsZWN0Q29sb3IobmFtZXNwYWNlKSB7XG4gIHZhciBoYXNoID0gMCwgaTtcblxuICBmb3IgKGkgaW4gbmFtZXNwYWNlKSB7XG4gICAgaGFzaCAgPSAoKGhhc2ggPDwgNSkgLSBoYXNoKSArIG5hbWVzcGFjZS5jaGFyQ29kZUF0KGkpO1xuICAgIGhhc2ggfD0gMDsgLy8gQ29udmVydCB0byAzMmJpdCBpbnRlZ2VyXG4gIH1cblxuICByZXR1cm4gZXhwb3J0cy5jb2xvcnNbTWF0aC5hYnMoaGFzaCkgJSBleHBvcnRzLmNvbG9ycy5sZW5ndGhdO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGRlYnVnZ2VyIHdpdGggdGhlIGdpdmVuIGBuYW1lc3BhY2VgLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lc3BhY2VcbiAqIEByZXR1cm4ge0Z1bmN0aW9ufVxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBjcmVhdGVEZWJ1ZyhuYW1lc3BhY2UpIHtcblxuICB2YXIgcHJldlRpbWU7XG5cbiAgZnVuY3Rpb24gZGVidWcoKSB7XG4gICAgLy8gZGlzYWJsZWQ/XG4gICAgaWYgKCFkZWJ1Zy5lbmFibGVkKSByZXR1cm47XG5cbiAgICB2YXIgc2VsZiA9IGRlYnVnO1xuXG4gICAgLy8gc2V0IGBkaWZmYCB0aW1lc3RhbXBcbiAgICB2YXIgY3VyciA9ICtuZXcgRGF0ZSgpO1xuICAgIHZhciBtcyA9IGN1cnIgLSAocHJldlRpbWUgfHwgY3Vycik7XG4gICAgc2VsZi5kaWZmID0gbXM7XG4gICAgc2VsZi5wcmV2ID0gcHJldlRpbWU7XG4gICAgc2VsZi5jdXJyID0gY3VycjtcbiAgICBwcmV2VGltZSA9IGN1cnI7XG5cbiAgICAvLyB0dXJuIHRoZSBgYXJndW1lbnRzYCBpbnRvIGEgcHJvcGVyIEFycmF5XG4gICAgdmFyIGFyZ3MgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBhcmdzW2ldID0gYXJndW1lbnRzW2ldO1xuICAgIH1cblxuICAgIGFyZ3NbMF0gPSBleHBvcnRzLmNvZXJjZShhcmdzWzBdKTtcblxuICAgIGlmICgnc3RyaW5nJyAhPT0gdHlwZW9mIGFyZ3NbMF0pIHtcbiAgICAgIC8vIGFueXRoaW5nIGVsc2UgbGV0J3MgaW5zcGVjdCB3aXRoICVPXG4gICAgICBhcmdzLnVuc2hpZnQoJyVPJyk7XG4gICAgfVxuXG4gICAgLy8gYXBwbHkgYW55IGBmb3JtYXR0ZXJzYCB0cmFuc2Zvcm1hdGlvbnNcbiAgICB2YXIgaW5kZXggPSAwO1xuICAgIGFyZ3NbMF0gPSBhcmdzWzBdLnJlcGxhY2UoLyUoW2EtekEtWiVdKS9nLCBmdW5jdGlvbihtYXRjaCwgZm9ybWF0KSB7XG4gICAgICAvLyBpZiB3ZSBlbmNvdW50ZXIgYW4gZXNjYXBlZCAlIHRoZW4gZG9uJ3QgaW5jcmVhc2UgdGhlIGFycmF5IGluZGV4XG4gICAgICBpZiAobWF0Y2ggPT09ICclJScpIHJldHVybiBtYXRjaDtcbiAgICAgIGluZGV4Kys7XG4gICAgICB2YXIgZm9ybWF0dGVyID0gZXhwb3J0cy5mb3JtYXR0ZXJzW2Zvcm1hdF07XG4gICAgICBpZiAoJ2Z1bmN0aW9uJyA9PT0gdHlwZW9mIGZvcm1hdHRlcikge1xuICAgICAgICB2YXIgdmFsID0gYXJnc1tpbmRleF07XG4gICAgICAgIG1hdGNoID0gZm9ybWF0dGVyLmNhbGwoc2VsZiwgdmFsKTtcblxuICAgICAgICAvLyBub3cgd2UgbmVlZCB0byByZW1vdmUgYGFyZ3NbaW5kZXhdYCBzaW5jZSBpdCdzIGlubGluZWQgaW4gdGhlIGBmb3JtYXRgXG4gICAgICAgIGFyZ3Muc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgaW5kZXgtLTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBtYXRjaDtcbiAgICB9KTtcblxuICAgIC8vIGFwcGx5IGVudi1zcGVjaWZpYyBmb3JtYXR0aW5nIChjb2xvcnMsIGV0Yy4pXG4gICAgZXhwb3J0cy5mb3JtYXRBcmdzLmNhbGwoc2VsZiwgYXJncyk7XG5cbiAgICB2YXIgbG9nRm4gPSBkZWJ1Zy5sb2cgfHwgZXhwb3J0cy5sb2cgfHwgY29uc29sZS5sb2cuYmluZChjb25zb2xlKTtcbiAgICBsb2dGbi5hcHBseShzZWxmLCBhcmdzKTtcbiAgfVxuXG4gIGRlYnVnLm5hbWVzcGFjZSA9IG5hbWVzcGFjZTtcbiAgZGVidWcuZW5hYmxlZCA9IGV4cG9ydHMuZW5hYmxlZChuYW1lc3BhY2UpO1xuICBkZWJ1Zy51c2VDb2xvcnMgPSBleHBvcnRzLnVzZUNvbG9ycygpO1xuICBkZWJ1Zy5jb2xvciA9IHNlbGVjdENvbG9yKG5hbWVzcGFjZSk7XG4gIGRlYnVnLmRlc3Ryb3kgPSBkZXN0cm95O1xuXG4gIC8vIGVudi1zcGVjaWZpYyBpbml0aWFsaXphdGlvbiBsb2dpYyBmb3IgZGVidWcgaW5zdGFuY2VzXG4gIGlmICgnZnVuY3Rpb24nID09PSB0eXBlb2YgZXhwb3J0cy5pbml0KSB7XG4gICAgZXhwb3J0cy5pbml0KGRlYnVnKTtcbiAgfVxuXG4gIGV4cG9ydHMuaW5zdGFuY2VzLnB1c2goZGVidWcpO1xuXG4gIHJldHVybiBkZWJ1Zztcbn1cblxuZnVuY3Rpb24gZGVzdHJveSAoKSB7XG4gIHZhciBpbmRleCA9IGV4cG9ydHMuaW5zdGFuY2VzLmluZGV4T2YodGhpcyk7XG4gIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICBleHBvcnRzLmluc3RhbmNlcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIEVuYWJsZXMgYSBkZWJ1ZyBtb2RlIGJ5IG5hbWVzcGFjZXMuIFRoaXMgY2FuIGluY2x1ZGUgbW9kZXNcbiAqIHNlcGFyYXRlZCBieSBhIGNvbG9uIGFuZCB3aWxkY2FyZHMuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IG5hbWVzcGFjZXNcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZnVuY3Rpb24gZW5hYmxlKG5hbWVzcGFjZXMpIHtcbiAgZXhwb3J0cy5zYXZlKG5hbWVzcGFjZXMpO1xuXG4gIGV4cG9ydHMubmFtZXMgPSBbXTtcbiAgZXhwb3J0cy5za2lwcyA9IFtdO1xuXG4gIHZhciBpO1xuICB2YXIgc3BsaXQgPSAodHlwZW9mIG5hbWVzcGFjZXMgPT09ICdzdHJpbmcnID8gbmFtZXNwYWNlcyA6ICcnKS5zcGxpdCgvW1xccyxdKy8pO1xuICB2YXIgbGVuID0gc3BsaXQubGVuZ3RoO1xuXG4gIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgIGlmICghc3BsaXRbaV0pIGNvbnRpbnVlOyAvLyBpZ25vcmUgZW1wdHkgc3RyaW5nc1xuICAgIG5hbWVzcGFjZXMgPSBzcGxpdFtpXS5yZXBsYWNlKC9cXCovZywgJy4qPycpO1xuICAgIGlmIChuYW1lc3BhY2VzWzBdID09PSAnLScpIHtcbiAgICAgIGV4cG9ydHMuc2tpcHMucHVzaChuZXcgUmVnRXhwKCdeJyArIG5hbWVzcGFjZXMuc3Vic3RyKDEpICsgJyQnKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGV4cG9ydHMubmFtZXMucHVzaChuZXcgUmVnRXhwKCdeJyArIG5hbWVzcGFjZXMgKyAnJCcpKTtcbiAgICB9XG4gIH1cblxuICBmb3IgKGkgPSAwOyBpIDwgZXhwb3J0cy5pbnN0YW5jZXMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgaW5zdGFuY2UgPSBleHBvcnRzLmluc3RhbmNlc1tpXTtcbiAgICBpbnN0YW5jZS5lbmFibGVkID0gZXhwb3J0cy5lbmFibGVkKGluc3RhbmNlLm5hbWVzcGFjZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBEaXNhYmxlIGRlYnVnIG91dHB1dC5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIGRpc2FibGUoKSB7XG4gIGV4cG9ydHMuZW5hYmxlKCcnKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIG1vZGUgbmFtZSBpcyBlbmFibGVkLCBmYWxzZSBvdGhlcndpc2UuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IG5hbWVcbiAqIEByZXR1cm4ge0Jvb2xlYW59XG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIGVuYWJsZWQobmFtZSkge1xuICBpZiAobmFtZVtuYW1lLmxlbmd0aCAtIDFdID09PSAnKicpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICB2YXIgaSwgbGVuO1xuICBmb3IgKGkgPSAwLCBsZW4gPSBleHBvcnRzLnNraXBzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgaWYgKGV4cG9ydHMuc2tpcHNbaV0udGVzdChuYW1lKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICBmb3IgKGkgPSAwLCBsZW4gPSBleHBvcnRzLm5hbWVzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgaWYgKGV4cG9ydHMubmFtZXNbaV0udGVzdChuYW1lKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBDb2VyY2UgYHZhbGAuXG4gKlxuICogQHBhcmFtIHtNaXhlZH0gdmFsXG4gKiBAcmV0dXJuIHtNaXhlZH1cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIGNvZXJjZSh2YWwpIHtcbiAgaWYgKHZhbCBpbnN0YW5jZW9mIEVycm9yKSByZXR1cm4gdmFsLnN0YWNrIHx8IHZhbC5tZXNzYWdlO1xuICByZXR1cm4gdmFsO1xufVxuIiwiXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vc29ja2V0Jyk7XG5cbi8qKlxuICogRXhwb3J0cyBwYXJzZXJcbiAqXG4gKiBAYXBpIHB1YmxpY1xuICpcbiAqL1xubW9kdWxlLmV4cG9ydHMucGFyc2VyID0gcmVxdWlyZSgnZW5naW5lLmlvLXBhcnNlcicpO1xuIiwiLyoqXG4gKiBNb2R1bGUgZGVwZW5kZW5jaWVzLlxuICovXG5cbnZhciB0cmFuc3BvcnRzID0gcmVxdWlyZSgnLi90cmFuc3BvcnRzL2luZGV4Jyk7XG52YXIgRW1pdHRlciA9IHJlcXVpcmUoJ2NvbXBvbmVudC1lbWl0dGVyJyk7XG52YXIgZGVidWcgPSByZXF1aXJlKCdkZWJ1ZycpKCdlbmdpbmUuaW8tY2xpZW50OnNvY2tldCcpO1xudmFyIGluZGV4ID0gcmVxdWlyZSgnaW5kZXhvZicpO1xudmFyIHBhcnNlciA9IHJlcXVpcmUoJ2VuZ2luZS5pby1wYXJzZXInKTtcbnZhciBwYXJzZXVyaSA9IHJlcXVpcmUoJ3BhcnNldXJpJyk7XG52YXIgcGFyc2VxcyA9IHJlcXVpcmUoJ3BhcnNlcXMnKTtcblxuLyoqXG4gKiBNb2R1bGUgZXhwb3J0cy5cbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IFNvY2tldDtcblxuLyoqXG4gKiBTb2NrZXQgY29uc3RydWN0b3IuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd8T2JqZWN0fSB1cmkgb3Igb3B0aW9uc1xuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnNcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZnVuY3Rpb24gU29ja2V0ICh1cmksIG9wdHMpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFNvY2tldCkpIHJldHVybiBuZXcgU29ja2V0KHVyaSwgb3B0cyk7XG5cbiAgb3B0cyA9IG9wdHMgfHwge307XG5cbiAgaWYgKHVyaSAmJiAnb2JqZWN0JyA9PT0gdHlwZW9mIHVyaSkge1xuICAgIG9wdHMgPSB1cmk7XG4gICAgdXJpID0gbnVsbDtcbiAgfVxuXG4gIGlmICh1cmkpIHtcbiAgICB1cmkgPSBwYXJzZXVyaSh1cmkpO1xuICAgIG9wdHMuaG9zdG5hbWUgPSB1cmkuaG9zdDtcbiAgICBvcHRzLnNlY3VyZSA9IHVyaS5wcm90b2NvbCA9PT0gJ2h0dHBzJyB8fCB1cmkucHJvdG9jb2wgPT09ICd3c3MnO1xuICAgIG9wdHMucG9ydCA9IHVyaS5wb3J0O1xuICAgIGlmICh1cmkucXVlcnkpIG9wdHMucXVlcnkgPSB1cmkucXVlcnk7XG4gIH0gZWxzZSBpZiAob3B0cy5ob3N0KSB7XG4gICAgb3B0cy5ob3N0bmFtZSA9IHBhcnNldXJpKG9wdHMuaG9zdCkuaG9zdDtcbiAgfVxuXG4gIHRoaXMuc2VjdXJlID0gbnVsbCAhPSBvcHRzLnNlY3VyZSA/IG9wdHMuc2VjdXJlXG4gICAgOiAodHlwZW9mIGxvY2F0aW9uICE9PSAndW5kZWZpbmVkJyAmJiAnaHR0cHM6JyA9PT0gbG9jYXRpb24ucHJvdG9jb2wpO1xuXG4gIGlmIChvcHRzLmhvc3RuYW1lICYmICFvcHRzLnBvcnQpIHtcbiAgICAvLyBpZiBubyBwb3J0IGlzIHNwZWNpZmllZCBtYW51YWxseSwgdXNlIHRoZSBwcm90b2NvbCBkZWZhdWx0XG4gICAgb3B0cy5wb3J0ID0gdGhpcy5zZWN1cmUgPyAnNDQzJyA6ICc4MCc7XG4gIH1cblxuICB0aGlzLmFnZW50ID0gb3B0cy5hZ2VudCB8fCBmYWxzZTtcbiAgdGhpcy5ob3N0bmFtZSA9IG9wdHMuaG9zdG5hbWUgfHxcbiAgICAodHlwZW9mIGxvY2F0aW9uICE9PSAndW5kZWZpbmVkJyA/IGxvY2F0aW9uLmhvc3RuYW1lIDogJ2xvY2FsaG9zdCcpO1xuICB0aGlzLnBvcnQgPSBvcHRzLnBvcnQgfHwgKHR5cGVvZiBsb2NhdGlvbiAhPT0gJ3VuZGVmaW5lZCcgJiYgbG9jYXRpb24ucG9ydFxuICAgICAgPyBsb2NhdGlvbi5wb3J0XG4gICAgICA6ICh0aGlzLnNlY3VyZSA/IDQ0MyA6IDgwKSk7XG4gIHRoaXMucXVlcnkgPSBvcHRzLnF1ZXJ5IHx8IHt9O1xuICBpZiAoJ3N0cmluZycgPT09IHR5cGVvZiB0aGlzLnF1ZXJ5KSB0aGlzLnF1ZXJ5ID0gcGFyc2Vxcy5kZWNvZGUodGhpcy5xdWVyeSk7XG4gIHRoaXMudXBncmFkZSA9IGZhbHNlICE9PSBvcHRzLnVwZ3JhZGU7XG4gIHRoaXMucGF0aCA9IChvcHRzLnBhdGggfHwgJy9lbmdpbmUuaW8nKS5yZXBsYWNlKC9cXC8kLywgJycpICsgJy8nO1xuICB0aGlzLmZvcmNlSlNPTlAgPSAhIW9wdHMuZm9yY2VKU09OUDtcbiAgdGhpcy5qc29ucCA9IGZhbHNlICE9PSBvcHRzLmpzb25wO1xuICB0aGlzLmZvcmNlQmFzZTY0ID0gISFvcHRzLmZvcmNlQmFzZTY0O1xuICB0aGlzLmVuYWJsZXNYRFIgPSAhIW9wdHMuZW5hYmxlc1hEUjtcbiAgdGhpcy50aW1lc3RhbXBQYXJhbSA9IG9wdHMudGltZXN0YW1wUGFyYW0gfHwgJ3QnO1xuICB0aGlzLnRpbWVzdGFtcFJlcXVlc3RzID0gb3B0cy50aW1lc3RhbXBSZXF1ZXN0cztcbiAgdGhpcy50cmFuc3BvcnRzID0gb3B0cy50cmFuc3BvcnRzIHx8IFsncG9sbGluZycsICd3ZWJzb2NrZXQnXTtcbiAgdGhpcy50cmFuc3BvcnRPcHRpb25zID0gb3B0cy50cmFuc3BvcnRPcHRpb25zIHx8IHt9O1xuICB0aGlzLnJlYWR5U3RhdGUgPSAnJztcbiAgdGhpcy53cml0ZUJ1ZmZlciA9IFtdO1xuICB0aGlzLnByZXZCdWZmZXJMZW4gPSAwO1xuICB0aGlzLnBvbGljeVBvcnQgPSBvcHRzLnBvbGljeVBvcnQgfHwgODQzO1xuICB0aGlzLnJlbWVtYmVyVXBncmFkZSA9IG9wdHMucmVtZW1iZXJVcGdyYWRlIHx8IGZhbHNlO1xuICB0aGlzLmJpbmFyeVR5cGUgPSBudWxsO1xuICB0aGlzLm9ubHlCaW5hcnlVcGdyYWRlcyA9IG9wdHMub25seUJpbmFyeVVwZ3JhZGVzO1xuICB0aGlzLnBlck1lc3NhZ2VEZWZsYXRlID0gZmFsc2UgIT09IG9wdHMucGVyTWVzc2FnZURlZmxhdGUgPyAob3B0cy5wZXJNZXNzYWdlRGVmbGF0ZSB8fCB7fSkgOiBmYWxzZTtcblxuICBpZiAodHJ1ZSA9PT0gdGhpcy5wZXJNZXNzYWdlRGVmbGF0ZSkgdGhpcy5wZXJNZXNzYWdlRGVmbGF0ZSA9IHt9O1xuICBpZiAodGhpcy5wZXJNZXNzYWdlRGVmbGF0ZSAmJiBudWxsID09IHRoaXMucGVyTWVzc2FnZURlZmxhdGUudGhyZXNob2xkKSB7XG4gICAgdGhpcy5wZXJNZXNzYWdlRGVmbGF0ZS50aHJlc2hvbGQgPSAxMDI0O1xuICB9XG5cbiAgLy8gU1NMIG9wdGlvbnMgZm9yIE5vZGUuanMgY2xpZW50XG4gIHRoaXMucGZ4ID0gb3B0cy5wZnggfHwgbnVsbDtcbiAgdGhpcy5rZXkgPSBvcHRzLmtleSB8fCBudWxsO1xuICB0aGlzLnBhc3NwaHJhc2UgPSBvcHRzLnBhc3NwaHJhc2UgfHwgbnVsbDtcbiAgdGhpcy5jZXJ0ID0gb3B0cy5jZXJ0IHx8IG51bGw7XG4gIHRoaXMuY2EgPSBvcHRzLmNhIHx8IG51bGw7XG4gIHRoaXMuY2lwaGVycyA9IG9wdHMuY2lwaGVycyB8fCBudWxsO1xuICB0aGlzLnJlamVjdFVuYXV0aG9yaXplZCA9IG9wdHMucmVqZWN0VW5hdXRob3JpemVkID09PSB1bmRlZmluZWQgPyB0cnVlIDogb3B0cy5yZWplY3RVbmF1dGhvcml6ZWQ7XG4gIHRoaXMuZm9yY2VOb2RlID0gISFvcHRzLmZvcmNlTm9kZTtcblxuICAvLyBkZXRlY3QgUmVhY3ROYXRpdmUgZW52aXJvbm1lbnRcbiAgdGhpcy5pc1JlYWN0TmF0aXZlID0gKHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBuYXZpZ2F0b3IucHJvZHVjdCA9PT0gJ3N0cmluZycgJiYgbmF2aWdhdG9yLnByb2R1Y3QudG9Mb3dlckNhc2UoKSA9PT0gJ3JlYWN0bmF0aXZlJyk7XG5cbiAgLy8gb3RoZXIgb3B0aW9ucyBmb3IgTm9kZS5qcyBvciBSZWFjdE5hdGl2ZSBjbGllbnRcbiAgaWYgKHR5cGVvZiBzZWxmID09PSAndW5kZWZpbmVkJyB8fCB0aGlzLmlzUmVhY3ROYXRpdmUpIHtcbiAgICBpZiAob3B0cy5leHRyYUhlYWRlcnMgJiYgT2JqZWN0LmtleXMob3B0cy5leHRyYUhlYWRlcnMpLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuZXh0cmFIZWFkZXJzID0gb3B0cy5leHRyYUhlYWRlcnM7XG4gICAgfVxuXG4gICAgaWYgKG9wdHMubG9jYWxBZGRyZXNzKSB7XG4gICAgICB0aGlzLmxvY2FsQWRkcmVzcyA9IG9wdHMubG9jYWxBZGRyZXNzO1xuICAgIH1cbiAgfVxuXG4gIC8vIHNldCBvbiBoYW5kc2hha2VcbiAgdGhpcy5pZCA9IG51bGw7XG4gIHRoaXMudXBncmFkZXMgPSBudWxsO1xuICB0aGlzLnBpbmdJbnRlcnZhbCA9IG51bGw7XG4gIHRoaXMucGluZ1RpbWVvdXQgPSBudWxsO1xuXG4gIC8vIHNldCBvbiBoZWFydGJlYXRcbiAgdGhpcy5waW5nSW50ZXJ2YWxUaW1lciA9IG51bGw7XG4gIHRoaXMucGluZ1RpbWVvdXRUaW1lciA9IG51bGw7XG5cbiAgdGhpcy5vcGVuKCk7XG59XG5cblNvY2tldC5wcmlvcldlYnNvY2tldFN1Y2Nlc3MgPSBmYWxzZTtcblxuLyoqXG4gKiBNaXggaW4gYEVtaXR0ZXJgLlxuICovXG5cbkVtaXR0ZXIoU29ja2V0LnByb3RvdHlwZSk7XG5cbi8qKlxuICogUHJvdG9jb2wgdmVyc2lvbi5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblNvY2tldC5wcm90b2NvbCA9IHBhcnNlci5wcm90b2NvbDsgLy8gdGhpcyBpcyBhbiBpbnRcblxuLyoqXG4gKiBFeHBvc2UgZGVwcyBmb3IgbGVnYWN5IGNvbXBhdGliaWxpdHlcbiAqIGFuZCBzdGFuZGFsb25lIGJyb3dzZXIgYWNjZXNzLlxuICovXG5cblNvY2tldC5Tb2NrZXQgPSBTb2NrZXQ7XG5Tb2NrZXQuVHJhbnNwb3J0ID0gcmVxdWlyZSgnLi90cmFuc3BvcnQnKTtcblNvY2tldC50cmFuc3BvcnRzID0gcmVxdWlyZSgnLi90cmFuc3BvcnRzL2luZGV4Jyk7XG5Tb2NrZXQucGFyc2VyID0gcmVxdWlyZSgnZW5naW5lLmlvLXBhcnNlcicpO1xuXG4vKipcbiAqIENyZWF0ZXMgdHJhbnNwb3J0IG9mIHRoZSBnaXZlbiB0eXBlLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSB0cmFuc3BvcnQgbmFtZVxuICogQHJldHVybiB7VHJhbnNwb3J0fVxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5jcmVhdGVUcmFuc3BvcnQgPSBmdW5jdGlvbiAobmFtZSkge1xuICBkZWJ1ZygnY3JlYXRpbmcgdHJhbnNwb3J0IFwiJXNcIicsIG5hbWUpO1xuICB2YXIgcXVlcnkgPSBjbG9uZSh0aGlzLnF1ZXJ5KTtcblxuICAvLyBhcHBlbmQgZW5naW5lLmlvIHByb3RvY29sIGlkZW50aWZpZXJcbiAgcXVlcnkuRUlPID0gcGFyc2VyLnByb3RvY29sO1xuXG4gIC8vIHRyYW5zcG9ydCBuYW1lXG4gIHF1ZXJ5LnRyYW5zcG9ydCA9IG5hbWU7XG5cbiAgLy8gcGVyLXRyYW5zcG9ydCBvcHRpb25zXG4gIHZhciBvcHRpb25zID0gdGhpcy50cmFuc3BvcnRPcHRpb25zW25hbWVdIHx8IHt9O1xuXG4gIC8vIHNlc3Npb24gaWQgaWYgd2UgYWxyZWFkeSBoYXZlIG9uZVxuICBpZiAodGhpcy5pZCkgcXVlcnkuc2lkID0gdGhpcy5pZDtcblxuICB2YXIgdHJhbnNwb3J0ID0gbmV3IHRyYW5zcG9ydHNbbmFtZV0oe1xuICAgIHF1ZXJ5OiBxdWVyeSxcbiAgICBzb2NrZXQ6IHRoaXMsXG4gICAgYWdlbnQ6IG9wdGlvbnMuYWdlbnQgfHwgdGhpcy5hZ2VudCxcbiAgICBob3N0bmFtZTogb3B0aW9ucy5ob3N0bmFtZSB8fCB0aGlzLmhvc3RuYW1lLFxuICAgIHBvcnQ6IG9wdGlvbnMucG9ydCB8fCB0aGlzLnBvcnQsXG4gICAgc2VjdXJlOiBvcHRpb25zLnNlY3VyZSB8fCB0aGlzLnNlY3VyZSxcbiAgICBwYXRoOiBvcHRpb25zLnBhdGggfHwgdGhpcy5wYXRoLFxuICAgIGZvcmNlSlNPTlA6IG9wdGlvbnMuZm9yY2VKU09OUCB8fCB0aGlzLmZvcmNlSlNPTlAsXG4gICAganNvbnA6IG9wdGlvbnMuanNvbnAgfHwgdGhpcy5qc29ucCxcbiAgICBmb3JjZUJhc2U2NDogb3B0aW9ucy5mb3JjZUJhc2U2NCB8fCB0aGlzLmZvcmNlQmFzZTY0LFxuICAgIGVuYWJsZXNYRFI6IG9wdGlvbnMuZW5hYmxlc1hEUiB8fCB0aGlzLmVuYWJsZXNYRFIsXG4gICAgdGltZXN0YW1wUmVxdWVzdHM6IG9wdGlvbnMudGltZXN0YW1wUmVxdWVzdHMgfHwgdGhpcy50aW1lc3RhbXBSZXF1ZXN0cyxcbiAgICB0aW1lc3RhbXBQYXJhbTogb3B0aW9ucy50aW1lc3RhbXBQYXJhbSB8fCB0aGlzLnRpbWVzdGFtcFBhcmFtLFxuICAgIHBvbGljeVBvcnQ6IG9wdGlvbnMucG9saWN5UG9ydCB8fCB0aGlzLnBvbGljeVBvcnQsXG4gICAgcGZ4OiBvcHRpb25zLnBmeCB8fCB0aGlzLnBmeCxcbiAgICBrZXk6IG9wdGlvbnMua2V5IHx8IHRoaXMua2V5LFxuICAgIHBhc3NwaHJhc2U6IG9wdGlvbnMucGFzc3BocmFzZSB8fCB0aGlzLnBhc3NwaHJhc2UsXG4gICAgY2VydDogb3B0aW9ucy5jZXJ0IHx8IHRoaXMuY2VydCxcbiAgICBjYTogb3B0aW9ucy5jYSB8fCB0aGlzLmNhLFxuICAgIGNpcGhlcnM6IG9wdGlvbnMuY2lwaGVycyB8fCB0aGlzLmNpcGhlcnMsXG4gICAgcmVqZWN0VW5hdXRob3JpemVkOiBvcHRpb25zLnJlamVjdFVuYXV0aG9yaXplZCB8fCB0aGlzLnJlamVjdFVuYXV0aG9yaXplZCxcbiAgICBwZXJNZXNzYWdlRGVmbGF0ZTogb3B0aW9ucy5wZXJNZXNzYWdlRGVmbGF0ZSB8fCB0aGlzLnBlck1lc3NhZ2VEZWZsYXRlLFxuICAgIGV4dHJhSGVhZGVyczogb3B0aW9ucy5leHRyYUhlYWRlcnMgfHwgdGhpcy5leHRyYUhlYWRlcnMsXG4gICAgZm9yY2VOb2RlOiBvcHRpb25zLmZvcmNlTm9kZSB8fCB0aGlzLmZvcmNlTm9kZSxcbiAgICBsb2NhbEFkZHJlc3M6IG9wdGlvbnMubG9jYWxBZGRyZXNzIHx8IHRoaXMubG9jYWxBZGRyZXNzLFxuICAgIHJlcXVlc3RUaW1lb3V0OiBvcHRpb25zLnJlcXVlc3RUaW1lb3V0IHx8IHRoaXMucmVxdWVzdFRpbWVvdXQsXG4gICAgcHJvdG9jb2xzOiBvcHRpb25zLnByb3RvY29scyB8fCB2b2lkICgwKSxcbiAgICBpc1JlYWN0TmF0aXZlOiB0aGlzLmlzUmVhY3ROYXRpdmVcbiAgfSk7XG5cbiAgcmV0dXJuIHRyYW5zcG9ydDtcbn07XG5cbmZ1bmN0aW9uIGNsb25lIChvYmopIHtcbiAgdmFyIG8gPSB7fTtcbiAgZm9yICh2YXIgaSBpbiBvYmopIHtcbiAgICBpZiAob2JqLmhhc093blByb3BlcnR5KGkpKSB7XG4gICAgICBvW2ldID0gb2JqW2ldO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbztcbn1cblxuLyoqXG4gKiBJbml0aWFsaXplcyB0cmFuc3BvcnQgdG8gdXNlIGFuZCBzdGFydHMgcHJvYmUuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblNvY2tldC5wcm90b3R5cGUub3BlbiA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIHRyYW5zcG9ydDtcbiAgaWYgKHRoaXMucmVtZW1iZXJVcGdyYWRlICYmIFNvY2tldC5wcmlvcldlYnNvY2tldFN1Y2Nlc3MgJiYgdGhpcy50cmFuc3BvcnRzLmluZGV4T2YoJ3dlYnNvY2tldCcpICE9PSAtMSkge1xuICAgIHRyYW5zcG9ydCA9ICd3ZWJzb2NrZXQnO1xuICB9IGVsc2UgaWYgKDAgPT09IHRoaXMudHJhbnNwb3J0cy5sZW5ndGgpIHtcbiAgICAvLyBFbWl0IGVycm9yIG9uIG5leHQgdGljayBzbyBpdCBjYW4gYmUgbGlzdGVuZWQgdG9cbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICBzZWxmLmVtaXQoJ2Vycm9yJywgJ05vIHRyYW5zcG9ydHMgYXZhaWxhYmxlJyk7XG4gICAgfSwgMCk7XG4gICAgcmV0dXJuO1xuICB9IGVsc2Uge1xuICAgIHRyYW5zcG9ydCA9IHRoaXMudHJhbnNwb3J0c1swXTtcbiAgfVxuICB0aGlzLnJlYWR5U3RhdGUgPSAnb3BlbmluZyc7XG5cbiAgLy8gUmV0cnkgd2l0aCB0aGUgbmV4dCB0cmFuc3BvcnQgaWYgdGhlIHRyYW5zcG9ydCBpcyBkaXNhYmxlZCAoanNvbnA6IGZhbHNlKVxuICB0cnkge1xuICAgIHRyYW5zcG9ydCA9IHRoaXMuY3JlYXRlVHJhbnNwb3J0KHRyYW5zcG9ydCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB0aGlzLnRyYW5zcG9ydHMuc2hpZnQoKTtcbiAgICB0aGlzLm9wZW4oKTtcbiAgICByZXR1cm47XG4gIH1cblxuICB0cmFuc3BvcnQub3BlbigpO1xuICB0aGlzLnNldFRyYW5zcG9ydCh0cmFuc3BvcnQpO1xufTtcblxuLyoqXG4gKiBTZXRzIHRoZSBjdXJyZW50IHRyYW5zcG9ydC4gRGlzYWJsZXMgdGhlIGV4aXN0aW5nIG9uZSAoaWYgYW55KS5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLnNldFRyYW5zcG9ydCA9IGZ1bmN0aW9uICh0cmFuc3BvcnQpIHtcbiAgZGVidWcoJ3NldHRpbmcgdHJhbnNwb3J0ICVzJywgdHJhbnNwb3J0Lm5hbWUpO1xuICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgaWYgKHRoaXMudHJhbnNwb3J0KSB7XG4gICAgZGVidWcoJ2NsZWFyaW5nIGV4aXN0aW5nIHRyYW5zcG9ydCAlcycsIHRoaXMudHJhbnNwb3J0Lm5hbWUpO1xuICAgIHRoaXMudHJhbnNwb3J0LnJlbW92ZUFsbExpc3RlbmVycygpO1xuICB9XG5cbiAgLy8gc2V0IHVwIHRyYW5zcG9ydFxuICB0aGlzLnRyYW5zcG9ydCA9IHRyYW5zcG9ydDtcblxuICAvLyBzZXQgdXAgdHJhbnNwb3J0IGxpc3RlbmVyc1xuICB0cmFuc3BvcnRcbiAgLm9uKCdkcmFpbicsIGZ1bmN0aW9uICgpIHtcbiAgICBzZWxmLm9uRHJhaW4oKTtcbiAgfSlcbiAgLm9uKCdwYWNrZXQnLCBmdW5jdGlvbiAocGFja2V0KSB7XG4gICAgc2VsZi5vblBhY2tldChwYWNrZXQpO1xuICB9KVxuICAub24oJ2Vycm9yJywgZnVuY3Rpb24gKGUpIHtcbiAgICBzZWxmLm9uRXJyb3IoZSk7XG4gIH0pXG4gIC5vbignY2xvc2UnLCBmdW5jdGlvbiAoKSB7XG4gICAgc2VsZi5vbkNsb3NlKCd0cmFuc3BvcnQgY2xvc2UnKTtcbiAgfSk7XG59O1xuXG4vKipcbiAqIFByb2JlcyBhIHRyYW5zcG9ydC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gdHJhbnNwb3J0IG5hbWVcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblNvY2tldC5wcm90b3R5cGUucHJvYmUgPSBmdW5jdGlvbiAobmFtZSkge1xuICBkZWJ1ZygncHJvYmluZyB0cmFuc3BvcnQgXCIlc1wiJywgbmFtZSk7XG4gIHZhciB0cmFuc3BvcnQgPSB0aGlzLmNyZWF0ZVRyYW5zcG9ydChuYW1lLCB7IHByb2JlOiAxIH0pO1xuICB2YXIgZmFpbGVkID0gZmFsc2U7XG4gIHZhciBzZWxmID0gdGhpcztcblxuICBTb2NrZXQucHJpb3JXZWJzb2NrZXRTdWNjZXNzID0gZmFsc2U7XG5cbiAgZnVuY3Rpb24gb25UcmFuc3BvcnRPcGVuICgpIHtcbiAgICBpZiAoc2VsZi5vbmx5QmluYXJ5VXBncmFkZXMpIHtcbiAgICAgIHZhciB1cGdyYWRlTG9zZXNCaW5hcnkgPSAhdGhpcy5zdXBwb3J0c0JpbmFyeSAmJiBzZWxmLnRyYW5zcG9ydC5zdXBwb3J0c0JpbmFyeTtcbiAgICAgIGZhaWxlZCA9IGZhaWxlZCB8fCB1cGdyYWRlTG9zZXNCaW5hcnk7XG4gICAgfVxuICAgIGlmIChmYWlsZWQpIHJldHVybjtcblxuICAgIGRlYnVnKCdwcm9iZSB0cmFuc3BvcnQgXCIlc1wiIG9wZW5lZCcsIG5hbWUpO1xuICAgIHRyYW5zcG9ydC5zZW5kKFt7IHR5cGU6ICdwaW5nJywgZGF0YTogJ3Byb2JlJyB9XSk7XG4gICAgdHJhbnNwb3J0Lm9uY2UoJ3BhY2tldCcsIGZ1bmN0aW9uIChtc2cpIHtcbiAgICAgIGlmIChmYWlsZWQpIHJldHVybjtcbiAgICAgIGlmICgncG9uZycgPT09IG1zZy50eXBlICYmICdwcm9iZScgPT09IG1zZy5kYXRhKSB7XG4gICAgICAgIGRlYnVnKCdwcm9iZSB0cmFuc3BvcnQgXCIlc1wiIHBvbmcnLCBuYW1lKTtcbiAgICAgICAgc2VsZi51cGdyYWRpbmcgPSB0cnVlO1xuICAgICAgICBzZWxmLmVtaXQoJ3VwZ3JhZGluZycsIHRyYW5zcG9ydCk7XG4gICAgICAgIGlmICghdHJhbnNwb3J0KSByZXR1cm47XG4gICAgICAgIFNvY2tldC5wcmlvcldlYnNvY2tldFN1Y2Nlc3MgPSAnd2Vic29ja2V0JyA9PT0gdHJhbnNwb3J0Lm5hbWU7XG5cbiAgICAgICAgZGVidWcoJ3BhdXNpbmcgY3VycmVudCB0cmFuc3BvcnQgXCIlc1wiJywgc2VsZi50cmFuc3BvcnQubmFtZSk7XG4gICAgICAgIHNlbGYudHJhbnNwb3J0LnBhdXNlKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBpZiAoZmFpbGVkKSByZXR1cm47XG4gICAgICAgICAgaWYgKCdjbG9zZWQnID09PSBzZWxmLnJlYWR5U3RhdGUpIHJldHVybjtcbiAgICAgICAgICBkZWJ1ZygnY2hhbmdpbmcgdHJhbnNwb3J0IGFuZCBzZW5kaW5nIHVwZ3JhZGUgcGFja2V0Jyk7XG5cbiAgICAgICAgICBjbGVhbnVwKCk7XG5cbiAgICAgICAgICBzZWxmLnNldFRyYW5zcG9ydCh0cmFuc3BvcnQpO1xuICAgICAgICAgIHRyYW5zcG9ydC5zZW5kKFt7IHR5cGU6ICd1cGdyYWRlJyB9XSk7XG4gICAgICAgICAgc2VsZi5lbWl0KCd1cGdyYWRlJywgdHJhbnNwb3J0KTtcbiAgICAgICAgICB0cmFuc3BvcnQgPSBudWxsO1xuICAgICAgICAgIHNlbGYudXBncmFkaW5nID0gZmFsc2U7XG4gICAgICAgICAgc2VsZi5mbHVzaCgpO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlYnVnKCdwcm9iZSB0cmFuc3BvcnQgXCIlc1wiIGZhaWxlZCcsIG5hbWUpO1xuICAgICAgICB2YXIgZXJyID0gbmV3IEVycm9yKCdwcm9iZSBlcnJvcicpO1xuICAgICAgICBlcnIudHJhbnNwb3J0ID0gdHJhbnNwb3J0Lm5hbWU7XG4gICAgICAgIHNlbGYuZW1pdCgndXBncmFkZUVycm9yJywgZXJyKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGZyZWV6ZVRyYW5zcG9ydCAoKSB7XG4gICAgaWYgKGZhaWxlZCkgcmV0dXJuO1xuXG4gICAgLy8gQW55IGNhbGxiYWNrIGNhbGxlZCBieSB0cmFuc3BvcnQgc2hvdWxkIGJlIGlnbm9yZWQgc2luY2Ugbm93XG4gICAgZmFpbGVkID0gdHJ1ZTtcblxuICAgIGNsZWFudXAoKTtcblxuICAgIHRyYW5zcG9ydC5jbG9zZSgpO1xuICAgIHRyYW5zcG9ydCA9IG51bGw7XG4gIH1cblxuICAvLyBIYW5kbGUgYW55IGVycm9yIHRoYXQgaGFwcGVucyB3aGlsZSBwcm9iaW5nXG4gIGZ1bmN0aW9uIG9uZXJyb3IgKGVycikge1xuICAgIHZhciBlcnJvciA9IG5ldyBFcnJvcigncHJvYmUgZXJyb3I6ICcgKyBlcnIpO1xuICAgIGVycm9yLnRyYW5zcG9ydCA9IHRyYW5zcG9ydC5uYW1lO1xuXG4gICAgZnJlZXplVHJhbnNwb3J0KCk7XG5cbiAgICBkZWJ1ZygncHJvYmUgdHJhbnNwb3J0IFwiJXNcIiBmYWlsZWQgYmVjYXVzZSBvZiBlcnJvcjogJXMnLCBuYW1lLCBlcnIpO1xuXG4gICAgc2VsZi5lbWl0KCd1cGdyYWRlRXJyb3InLCBlcnJvcik7XG4gIH1cblxuICBmdW5jdGlvbiBvblRyYW5zcG9ydENsb3NlICgpIHtcbiAgICBvbmVycm9yKCd0cmFuc3BvcnQgY2xvc2VkJyk7XG4gIH1cblxuICAvLyBXaGVuIHRoZSBzb2NrZXQgaXMgY2xvc2VkIHdoaWxlIHdlJ3JlIHByb2JpbmdcbiAgZnVuY3Rpb24gb25jbG9zZSAoKSB7XG4gICAgb25lcnJvcignc29ja2V0IGNsb3NlZCcpO1xuICB9XG5cbiAgLy8gV2hlbiB0aGUgc29ja2V0IGlzIHVwZ3JhZGVkIHdoaWxlIHdlJ3JlIHByb2JpbmdcbiAgZnVuY3Rpb24gb251cGdyYWRlICh0bykge1xuICAgIGlmICh0cmFuc3BvcnQgJiYgdG8ubmFtZSAhPT0gdHJhbnNwb3J0Lm5hbWUpIHtcbiAgICAgIGRlYnVnKCdcIiVzXCIgd29ya3MgLSBhYm9ydGluZyBcIiVzXCInLCB0by5uYW1lLCB0cmFuc3BvcnQubmFtZSk7XG4gICAgICBmcmVlemVUcmFuc3BvcnQoKTtcbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgYWxsIGxpc3RlbmVycyBvbiB0aGUgdHJhbnNwb3J0IGFuZCBvbiBzZWxmXG4gIGZ1bmN0aW9uIGNsZWFudXAgKCkge1xuICAgIHRyYW5zcG9ydC5yZW1vdmVMaXN0ZW5lcignb3BlbicsIG9uVHJhbnNwb3J0T3Blbik7XG4gICAgdHJhbnNwb3J0LnJlbW92ZUxpc3RlbmVyKCdlcnJvcicsIG9uZXJyb3IpO1xuICAgIHRyYW5zcG9ydC5yZW1vdmVMaXN0ZW5lcignY2xvc2UnLCBvblRyYW5zcG9ydENsb3NlKTtcbiAgICBzZWxmLnJlbW92ZUxpc3RlbmVyKCdjbG9zZScsIG9uY2xvc2UpO1xuICAgIHNlbGYucmVtb3ZlTGlzdGVuZXIoJ3VwZ3JhZGluZycsIG9udXBncmFkZSk7XG4gIH1cblxuICB0cmFuc3BvcnQub25jZSgnb3BlbicsIG9uVHJhbnNwb3J0T3Blbik7XG4gIHRyYW5zcG9ydC5vbmNlKCdlcnJvcicsIG9uZXJyb3IpO1xuICB0cmFuc3BvcnQub25jZSgnY2xvc2UnLCBvblRyYW5zcG9ydENsb3NlKTtcblxuICB0aGlzLm9uY2UoJ2Nsb3NlJywgb25jbG9zZSk7XG4gIHRoaXMub25jZSgndXBncmFkaW5nJywgb251cGdyYWRlKTtcblxuICB0cmFuc3BvcnQub3BlbigpO1xufTtcblxuLyoqXG4gKiBDYWxsZWQgd2hlbiBjb25uZWN0aW9uIGlzIGRlZW1lZCBvcGVuLlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5vbk9wZW4gPSBmdW5jdGlvbiAoKSB7XG4gIGRlYnVnKCdzb2NrZXQgb3BlbicpO1xuICB0aGlzLnJlYWR5U3RhdGUgPSAnb3Blbic7XG4gIFNvY2tldC5wcmlvcldlYnNvY2tldFN1Y2Nlc3MgPSAnd2Vic29ja2V0JyA9PT0gdGhpcy50cmFuc3BvcnQubmFtZTtcbiAgdGhpcy5lbWl0KCdvcGVuJyk7XG4gIHRoaXMuZmx1c2goKTtcblxuICAvLyB3ZSBjaGVjayBmb3IgYHJlYWR5U3RhdGVgIGluIGNhc2UgYW4gYG9wZW5gXG4gIC8vIGxpc3RlbmVyIGFscmVhZHkgY2xvc2VkIHRoZSBzb2NrZXRcbiAgaWYgKCdvcGVuJyA9PT0gdGhpcy5yZWFkeVN0YXRlICYmIHRoaXMudXBncmFkZSAmJiB0aGlzLnRyYW5zcG9ydC5wYXVzZSkge1xuICAgIGRlYnVnKCdzdGFydGluZyB1cGdyYWRlIHByb2JlcycpO1xuICAgIGZvciAodmFyIGkgPSAwLCBsID0gdGhpcy51cGdyYWRlcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIHRoaXMucHJvYmUodGhpcy51cGdyYWRlc1tpXSk7XG4gICAgfVxuICB9XG59O1xuXG4vKipcbiAqIEhhbmRsZXMgYSBwYWNrZXQuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5vblBhY2tldCA9IGZ1bmN0aW9uIChwYWNrZXQpIHtcbiAgaWYgKCdvcGVuaW5nJyA9PT0gdGhpcy5yZWFkeVN0YXRlIHx8ICdvcGVuJyA9PT0gdGhpcy5yZWFkeVN0YXRlIHx8XG4gICAgICAnY2xvc2luZycgPT09IHRoaXMucmVhZHlTdGF0ZSkge1xuICAgIGRlYnVnKCdzb2NrZXQgcmVjZWl2ZTogdHlwZSBcIiVzXCIsIGRhdGEgXCIlc1wiJywgcGFja2V0LnR5cGUsIHBhY2tldC5kYXRhKTtcblxuICAgIHRoaXMuZW1pdCgncGFja2V0JywgcGFja2V0KTtcblxuICAgIC8vIFNvY2tldCBpcyBsaXZlIC0gYW55IHBhY2tldCBjb3VudHNcbiAgICB0aGlzLmVtaXQoJ2hlYXJ0YmVhdCcpO1xuXG4gICAgc3dpdGNoIChwYWNrZXQudHlwZSkge1xuICAgICAgY2FzZSAnb3Blbic6XG4gICAgICAgIHRoaXMub25IYW5kc2hha2UoSlNPTi5wYXJzZShwYWNrZXQuZGF0YSkpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAncG9uZyc6XG4gICAgICAgIHRoaXMuc2V0UGluZygpO1xuICAgICAgICB0aGlzLmVtaXQoJ3BvbmcnKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgdmFyIGVyciA9IG5ldyBFcnJvcignc2VydmVyIGVycm9yJyk7XG4gICAgICAgIGVyci5jb2RlID0gcGFja2V0LmRhdGE7XG4gICAgICAgIHRoaXMub25FcnJvcihlcnIpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnbWVzc2FnZSc6XG4gICAgICAgIHRoaXMuZW1pdCgnZGF0YScsIHBhY2tldC5kYXRhKTtcbiAgICAgICAgdGhpcy5lbWl0KCdtZXNzYWdlJywgcGFja2V0LmRhdGEpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgZGVidWcoJ3BhY2tldCByZWNlaXZlZCB3aXRoIHNvY2tldCByZWFkeVN0YXRlIFwiJXNcIicsIHRoaXMucmVhZHlTdGF0ZSk7XG4gIH1cbn07XG5cbi8qKlxuICogQ2FsbGVkIHVwb24gaGFuZHNoYWtlIGNvbXBsZXRpb24uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IGhhbmRzaGFrZSBvYmpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblNvY2tldC5wcm90b3R5cGUub25IYW5kc2hha2UgPSBmdW5jdGlvbiAoZGF0YSkge1xuICB0aGlzLmVtaXQoJ2hhbmRzaGFrZScsIGRhdGEpO1xuICB0aGlzLmlkID0gZGF0YS5zaWQ7XG4gIHRoaXMudHJhbnNwb3J0LnF1ZXJ5LnNpZCA9IGRhdGEuc2lkO1xuICB0aGlzLnVwZ3JhZGVzID0gdGhpcy5maWx0ZXJVcGdyYWRlcyhkYXRhLnVwZ3JhZGVzKTtcbiAgdGhpcy5waW5nSW50ZXJ2YWwgPSBkYXRhLnBpbmdJbnRlcnZhbDtcbiAgdGhpcy5waW5nVGltZW91dCA9IGRhdGEucGluZ1RpbWVvdXQ7XG4gIHRoaXMub25PcGVuKCk7XG4gIC8vIEluIGNhc2Ugb3BlbiBoYW5kbGVyIGNsb3NlcyBzb2NrZXRcbiAgaWYgKCdjbG9zZWQnID09PSB0aGlzLnJlYWR5U3RhdGUpIHJldHVybjtcbiAgdGhpcy5zZXRQaW5nKCk7XG5cbiAgLy8gUHJvbG9uZyBsaXZlbmVzcyBvZiBzb2NrZXQgb24gaGVhcnRiZWF0XG4gIHRoaXMucmVtb3ZlTGlzdGVuZXIoJ2hlYXJ0YmVhdCcsIHRoaXMub25IZWFydGJlYXQpO1xuICB0aGlzLm9uKCdoZWFydGJlYXQnLCB0aGlzLm9uSGVhcnRiZWF0KTtcbn07XG5cbi8qKlxuICogUmVzZXRzIHBpbmcgdGltZW91dC5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLm9uSGVhcnRiZWF0ID0gZnVuY3Rpb24gKHRpbWVvdXQpIHtcbiAgY2xlYXJUaW1lb3V0KHRoaXMucGluZ1RpbWVvdXRUaW1lcik7XG4gIHZhciBzZWxmID0gdGhpcztcbiAgc2VsZi5waW5nVGltZW91dFRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgaWYgKCdjbG9zZWQnID09PSBzZWxmLnJlYWR5U3RhdGUpIHJldHVybjtcbiAgICBzZWxmLm9uQ2xvc2UoJ3BpbmcgdGltZW91dCcpO1xuICB9LCB0aW1lb3V0IHx8IChzZWxmLnBpbmdJbnRlcnZhbCArIHNlbGYucGluZ1RpbWVvdXQpKTtcbn07XG5cbi8qKlxuICogUGluZ3Mgc2VydmVyIGV2ZXJ5IGB0aGlzLnBpbmdJbnRlcnZhbGAgYW5kIGV4cGVjdHMgcmVzcG9uc2VcbiAqIHdpdGhpbiBgdGhpcy5waW5nVGltZW91dGAgb3IgY2xvc2VzIGNvbm5lY3Rpb24uXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5zZXRQaW5nID0gZnVuY3Rpb24gKCkge1xuICB2YXIgc2VsZiA9IHRoaXM7XG4gIGNsZWFyVGltZW91dChzZWxmLnBpbmdJbnRlcnZhbFRpbWVyKTtcbiAgc2VsZi5waW5nSW50ZXJ2YWxUaW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgIGRlYnVnKCd3cml0aW5nIHBpbmcgcGFja2V0IC0gZXhwZWN0aW5nIHBvbmcgd2l0aGluICVzbXMnLCBzZWxmLnBpbmdUaW1lb3V0KTtcbiAgICBzZWxmLnBpbmcoKTtcbiAgICBzZWxmLm9uSGVhcnRiZWF0KHNlbGYucGluZ1RpbWVvdXQpO1xuICB9LCBzZWxmLnBpbmdJbnRlcnZhbCk7XG59O1xuXG4vKipcbiogU2VuZHMgYSBwaW5nIHBhY2tldC5cbipcbiogQGFwaSBwcml2YXRlXG4qL1xuXG5Tb2NrZXQucHJvdG90eXBlLnBpbmcgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBzZWxmID0gdGhpcztcbiAgdGhpcy5zZW5kUGFja2V0KCdwaW5nJywgZnVuY3Rpb24gKCkge1xuICAgIHNlbGYuZW1pdCgncGluZycpO1xuICB9KTtcbn07XG5cbi8qKlxuICogQ2FsbGVkIG9uIGBkcmFpbmAgZXZlbnRcbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLm9uRHJhaW4gPSBmdW5jdGlvbiAoKSB7XG4gIHRoaXMud3JpdGVCdWZmZXIuc3BsaWNlKDAsIHRoaXMucHJldkJ1ZmZlckxlbik7XG5cbiAgLy8gc2V0dGluZyBwcmV2QnVmZmVyTGVuID0gMCBpcyB2ZXJ5IGltcG9ydGFudFxuICAvLyBmb3IgZXhhbXBsZSwgd2hlbiB1cGdyYWRpbmcsIHVwZ3JhZGUgcGFja2V0IGlzIHNlbnQgb3ZlcixcbiAgLy8gYW5kIGEgbm9uemVybyBwcmV2QnVmZmVyTGVuIGNvdWxkIGNhdXNlIHByb2JsZW1zIG9uIGBkcmFpbmBcbiAgdGhpcy5wcmV2QnVmZmVyTGVuID0gMDtcblxuICBpZiAoMCA9PT0gdGhpcy53cml0ZUJ1ZmZlci5sZW5ndGgpIHtcbiAgICB0aGlzLmVtaXQoJ2RyYWluJyk7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy5mbHVzaCgpO1xuICB9XG59O1xuXG4vKipcbiAqIEZsdXNoIHdyaXRlIGJ1ZmZlcnMuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5mbHVzaCA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKCdjbG9zZWQnICE9PSB0aGlzLnJlYWR5U3RhdGUgJiYgdGhpcy50cmFuc3BvcnQud3JpdGFibGUgJiZcbiAgICAhdGhpcy51cGdyYWRpbmcgJiYgdGhpcy53cml0ZUJ1ZmZlci5sZW5ndGgpIHtcbiAgICBkZWJ1ZygnZmx1c2hpbmcgJWQgcGFja2V0cyBpbiBzb2NrZXQnLCB0aGlzLndyaXRlQnVmZmVyLmxlbmd0aCk7XG4gICAgdGhpcy50cmFuc3BvcnQuc2VuZCh0aGlzLndyaXRlQnVmZmVyKTtcbiAgICAvLyBrZWVwIHRyYWNrIG9mIGN1cnJlbnQgbGVuZ3RoIG9mIHdyaXRlQnVmZmVyXG4gICAgLy8gc3BsaWNlIHdyaXRlQnVmZmVyIGFuZCBjYWxsYmFja0J1ZmZlciBvbiBgZHJhaW5gXG4gICAgdGhpcy5wcmV2QnVmZmVyTGVuID0gdGhpcy53cml0ZUJ1ZmZlci5sZW5ndGg7XG4gICAgdGhpcy5lbWl0KCdmbHVzaCcpO1xuICB9XG59O1xuXG4vKipcbiAqIFNlbmRzIGEgbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gbWVzc2FnZS5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGNhbGxiYWNrIGZ1bmN0aW9uLlxuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMuXG4gKiBAcmV0dXJuIHtTb2NrZXR9IGZvciBjaGFpbmluZy5cbiAqIEBhcGkgcHVibGljXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS53cml0ZSA9XG5Tb2NrZXQucHJvdG90eXBlLnNlbmQgPSBmdW5jdGlvbiAobXNnLCBvcHRpb25zLCBmbikge1xuICB0aGlzLnNlbmRQYWNrZXQoJ21lc3NhZ2UnLCBtc2csIG9wdGlvbnMsIGZuKTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIFNlbmRzIGEgcGFja2V0LlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBwYWNrZXQgdHlwZS5cbiAqIEBwYXJhbSB7U3RyaW5nfSBkYXRhLlxuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBjYWxsYmFjayBmdW5jdGlvbi5cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblNvY2tldC5wcm90b3R5cGUuc2VuZFBhY2tldCA9IGZ1bmN0aW9uICh0eXBlLCBkYXRhLCBvcHRpb25zLCBmbikge1xuICBpZiAoJ2Z1bmN0aW9uJyA9PT0gdHlwZW9mIGRhdGEpIHtcbiAgICBmbiA9IGRhdGE7XG4gICAgZGF0YSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlmICgnZnVuY3Rpb24nID09PSB0eXBlb2Ygb3B0aW9ucykge1xuICAgIGZuID0gb3B0aW9ucztcbiAgICBvcHRpb25zID0gbnVsbDtcbiAgfVxuXG4gIGlmICgnY2xvc2luZycgPT09IHRoaXMucmVhZHlTdGF0ZSB8fCAnY2xvc2VkJyA9PT0gdGhpcy5yZWFkeVN0YXRlKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gIG9wdGlvbnMuY29tcHJlc3MgPSBmYWxzZSAhPT0gb3B0aW9ucy5jb21wcmVzcztcblxuICB2YXIgcGFja2V0ID0ge1xuICAgIHR5cGU6IHR5cGUsXG4gICAgZGF0YTogZGF0YSxcbiAgICBvcHRpb25zOiBvcHRpb25zXG4gIH07XG4gIHRoaXMuZW1pdCgncGFja2V0Q3JlYXRlJywgcGFja2V0KTtcbiAgdGhpcy53cml0ZUJ1ZmZlci5wdXNoKHBhY2tldCk7XG4gIGlmIChmbikgdGhpcy5vbmNlKCdmbHVzaCcsIGZuKTtcbiAgdGhpcy5mbHVzaCgpO1xufTtcblxuLyoqXG4gKiBDbG9zZXMgdGhlIGNvbm5lY3Rpb24uXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKCdvcGVuaW5nJyA9PT0gdGhpcy5yZWFkeVN0YXRlIHx8ICdvcGVuJyA9PT0gdGhpcy5yZWFkeVN0YXRlKSB7XG4gICAgdGhpcy5yZWFkeVN0YXRlID0gJ2Nsb3NpbmcnO1xuXG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAgaWYgKHRoaXMud3JpdGVCdWZmZXIubGVuZ3RoKSB7XG4gICAgICB0aGlzLm9uY2UoJ2RyYWluJywgZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy51cGdyYWRpbmcpIHtcbiAgICAgICAgICB3YWl0Rm9yVXBncmFkZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy51cGdyYWRpbmcpIHtcbiAgICAgIHdhaXRGb3JVcGdyYWRlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gY2xvc2UgKCkge1xuICAgIHNlbGYub25DbG9zZSgnZm9yY2VkIGNsb3NlJyk7XG4gICAgZGVidWcoJ3NvY2tldCBjbG9zaW5nIC0gdGVsbGluZyB0cmFuc3BvcnQgdG8gY2xvc2UnKTtcbiAgICBzZWxmLnRyYW5zcG9ydC5jbG9zZSgpO1xuICB9XG5cbiAgZnVuY3Rpb24gY2xlYW51cEFuZENsb3NlICgpIHtcbiAgICBzZWxmLnJlbW92ZUxpc3RlbmVyKCd1cGdyYWRlJywgY2xlYW51cEFuZENsb3NlKTtcbiAgICBzZWxmLnJlbW92ZUxpc3RlbmVyKCd1cGdyYWRlRXJyb3InLCBjbGVhbnVwQW5kQ2xvc2UpO1xuICAgIGNsb3NlKCk7XG4gIH1cblxuICBmdW5jdGlvbiB3YWl0Rm9yVXBncmFkZSAoKSB7XG4gICAgLy8gd2FpdCBmb3IgdXBncmFkZSB0byBmaW5pc2ggc2luY2Ugd2UgY2FuJ3Qgc2VuZCBwYWNrZXRzIHdoaWxlIHBhdXNpbmcgYSB0cmFuc3BvcnRcbiAgICBzZWxmLm9uY2UoJ3VwZ3JhZGUnLCBjbGVhbnVwQW5kQ2xvc2UpO1xuICAgIHNlbGYub25jZSgndXBncmFkZUVycm9yJywgY2xlYW51cEFuZENsb3NlKTtcbiAgfVxuXG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBDYWxsZWQgdXBvbiB0cmFuc3BvcnQgZXJyb3JcbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLm9uRXJyb3IgPSBmdW5jdGlvbiAoZXJyKSB7XG4gIGRlYnVnKCdzb2NrZXQgZXJyb3IgJWonLCBlcnIpO1xuICBTb2NrZXQucHJpb3JXZWJzb2NrZXRTdWNjZXNzID0gZmFsc2U7XG4gIHRoaXMuZW1pdCgnZXJyb3InLCBlcnIpO1xuICB0aGlzLm9uQ2xvc2UoJ3RyYW5zcG9ydCBlcnJvcicsIGVycik7XG59O1xuXG4vKipcbiAqIENhbGxlZCB1cG9uIHRyYW5zcG9ydCBjbG9zZS5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLm9uQ2xvc2UgPSBmdW5jdGlvbiAocmVhc29uLCBkZXNjKSB7XG4gIGlmICgnb3BlbmluZycgPT09IHRoaXMucmVhZHlTdGF0ZSB8fCAnb3BlbicgPT09IHRoaXMucmVhZHlTdGF0ZSB8fCAnY2xvc2luZycgPT09IHRoaXMucmVhZHlTdGF0ZSkge1xuICAgIGRlYnVnKCdzb2NrZXQgY2xvc2Ugd2l0aCByZWFzb246IFwiJXNcIicsIHJlYXNvbik7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAgLy8gY2xlYXIgdGltZXJzXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMucGluZ0ludGVydmFsVGltZXIpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnBpbmdUaW1lb3V0VGltZXIpO1xuXG4gICAgLy8gc3RvcCBldmVudCBmcm9tIGZpcmluZyBhZ2FpbiBmb3IgdHJhbnNwb3J0XG4gICAgdGhpcy50cmFuc3BvcnQucmVtb3ZlQWxsTGlzdGVuZXJzKCdjbG9zZScpO1xuXG4gICAgLy8gZW5zdXJlIHRyYW5zcG9ydCB3b24ndCBzdGF5IG9wZW5cbiAgICB0aGlzLnRyYW5zcG9ydC5jbG9zZSgpO1xuXG4gICAgLy8gaWdub3JlIGZ1cnRoZXIgdHJhbnNwb3J0IGNvbW11bmljYXRpb25cbiAgICB0aGlzLnRyYW5zcG9ydC5yZW1vdmVBbGxMaXN0ZW5lcnMoKTtcblxuICAgIC8vIHNldCByZWFkeSBzdGF0ZVxuICAgIHRoaXMucmVhZHlTdGF0ZSA9ICdjbG9zZWQnO1xuXG4gICAgLy8gY2xlYXIgc2Vzc2lvbiBpZFxuICAgIHRoaXMuaWQgPSBudWxsO1xuXG4gICAgLy8gZW1pdCBjbG9zZSBldmVudFxuICAgIHRoaXMuZW1pdCgnY2xvc2UnLCByZWFzb24sIGRlc2MpO1xuXG4gICAgLy8gY2xlYW4gYnVmZmVycyBhZnRlciwgc28gdXNlcnMgY2FuIHN0aWxsXG4gICAgLy8gZ3JhYiB0aGUgYnVmZmVycyBvbiBgY2xvc2VgIGV2ZW50XG4gICAgc2VsZi53cml0ZUJ1ZmZlciA9IFtdO1xuICAgIHNlbGYucHJldkJ1ZmZlckxlbiA9IDA7XG4gIH1cbn07XG5cbi8qKlxuICogRmlsdGVycyB1cGdyYWRlcywgcmV0dXJuaW5nIG9ubHkgdGhvc2UgbWF0Y2hpbmcgY2xpZW50IHRyYW5zcG9ydHMuXG4gKlxuICogQHBhcmFtIHtBcnJheX0gc2VydmVyIHVwZ3JhZGVzXG4gKiBAYXBpIHByaXZhdGVcbiAqXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5maWx0ZXJVcGdyYWRlcyA9IGZ1bmN0aW9uICh1cGdyYWRlcykge1xuICB2YXIgZmlsdGVyZWRVcGdyYWRlcyA9IFtdO1xuICBmb3IgKHZhciBpID0gMCwgaiA9IHVwZ3JhZGVzLmxlbmd0aDsgaSA8IGo7IGkrKykge1xuICAgIGlmICh+aW5kZXgodGhpcy50cmFuc3BvcnRzLCB1cGdyYWRlc1tpXSkpIGZpbHRlcmVkVXBncmFkZXMucHVzaCh1cGdyYWRlc1tpXSk7XG4gIH1cbiAgcmV0dXJuIGZpbHRlcmVkVXBncmFkZXM7XG59O1xuIiwiLyoqXG4gKiBNb2R1bGUgZGVwZW5kZW5jaWVzLlxuICovXG5cbnZhciBwYXJzZXIgPSByZXF1aXJlKCdlbmdpbmUuaW8tcGFyc2VyJyk7XG52YXIgRW1pdHRlciA9IHJlcXVpcmUoJ2NvbXBvbmVudC1lbWl0dGVyJyk7XG5cbi8qKlxuICogTW9kdWxlIGV4cG9ydHMuXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBUcmFuc3BvcnQ7XG5cbi8qKlxuICogVHJhbnNwb3J0IGFic3RyYWN0IGNvbnN0cnVjdG9yLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zLlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gVHJhbnNwb3J0IChvcHRzKSB7XG4gIHRoaXMucGF0aCA9IG9wdHMucGF0aDtcbiAgdGhpcy5ob3N0bmFtZSA9IG9wdHMuaG9zdG5hbWU7XG4gIHRoaXMucG9ydCA9IG9wdHMucG9ydDtcbiAgdGhpcy5zZWN1cmUgPSBvcHRzLnNlY3VyZTtcbiAgdGhpcy5xdWVyeSA9IG9wdHMucXVlcnk7XG4gIHRoaXMudGltZXN0YW1wUGFyYW0gPSBvcHRzLnRpbWVzdGFtcFBhcmFtO1xuICB0aGlzLnRpbWVzdGFtcFJlcXVlc3RzID0gb3B0cy50aW1lc3RhbXBSZXF1ZXN0cztcbiAgdGhpcy5yZWFkeVN0YXRlID0gJyc7XG4gIHRoaXMuYWdlbnQgPSBvcHRzLmFnZW50IHx8IGZhbHNlO1xuICB0aGlzLnNvY2tldCA9IG9wdHMuc29ja2V0O1xuICB0aGlzLmVuYWJsZXNYRFIgPSBvcHRzLmVuYWJsZXNYRFI7XG5cbiAgLy8gU1NMIG9wdGlvbnMgZm9yIE5vZGUuanMgY2xpZW50XG4gIHRoaXMucGZ4ID0gb3B0cy5wZng7XG4gIHRoaXMua2V5ID0gb3B0cy5rZXk7XG4gIHRoaXMucGFzc3BocmFzZSA9IG9wdHMucGFzc3BocmFzZTtcbiAgdGhpcy5jZXJ0ID0gb3B0cy5jZXJ0O1xuICB0aGlzLmNhID0gb3B0cy5jYTtcbiAgdGhpcy5jaXBoZXJzID0gb3B0cy5jaXBoZXJzO1xuICB0aGlzLnJlamVjdFVuYXV0aG9yaXplZCA9IG9wdHMucmVqZWN0VW5hdXRob3JpemVkO1xuICB0aGlzLmZvcmNlTm9kZSA9IG9wdHMuZm9yY2VOb2RlO1xuXG4gIC8vIHJlc3VsdHMgb2YgUmVhY3ROYXRpdmUgZW52aXJvbm1lbnQgZGV0ZWN0aW9uXG4gIHRoaXMuaXNSZWFjdE5hdGl2ZSA9IG9wdHMuaXNSZWFjdE5hdGl2ZTtcblxuICAvLyBvdGhlciBvcHRpb25zIGZvciBOb2RlLmpzIGNsaWVudFxuICB0aGlzLmV4dHJhSGVhZGVycyA9IG9wdHMuZXh0cmFIZWFkZXJzO1xuICB0aGlzLmxvY2FsQWRkcmVzcyA9IG9wdHMubG9jYWxBZGRyZXNzO1xufVxuXG4vKipcbiAqIE1peCBpbiBgRW1pdHRlcmAuXG4gKi9cblxuRW1pdHRlcihUcmFuc3BvcnQucHJvdG90eXBlKTtcblxuLyoqXG4gKiBFbWl0cyBhbiBlcnJvci5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gc3RyXG4gKiBAcmV0dXJuIHtUcmFuc3BvcnR9IGZvciBjaGFpbmluZ1xuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5UcmFuc3BvcnQucHJvdG90eXBlLm9uRXJyb3IgPSBmdW5jdGlvbiAobXNnLCBkZXNjKSB7XG4gIHZhciBlcnIgPSBuZXcgRXJyb3IobXNnKTtcbiAgZXJyLnR5cGUgPSAnVHJhbnNwb3J0RXJyb3InO1xuICBlcnIuZGVzY3JpcHRpb24gPSBkZXNjO1xuICB0aGlzLmVtaXQoJ2Vycm9yJywgZXJyKTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIE9wZW5zIHRoZSB0cmFuc3BvcnQuXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5UcmFuc3BvcnQucHJvdG90eXBlLm9wZW4gPSBmdW5jdGlvbiAoKSB7XG4gIGlmICgnY2xvc2VkJyA9PT0gdGhpcy5yZWFkeVN0YXRlIHx8ICcnID09PSB0aGlzLnJlYWR5U3RhdGUpIHtcbiAgICB0aGlzLnJlYWR5U3RhdGUgPSAnb3BlbmluZyc7XG4gICAgdGhpcy5kb09wZW4oKTtcbiAgfVxuXG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBDbG9zZXMgdGhlIHRyYW5zcG9ydC5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5UcmFuc3BvcnQucHJvdG90eXBlLmNsb3NlID0gZnVuY3Rpb24gKCkge1xuICBpZiAoJ29wZW5pbmcnID09PSB0aGlzLnJlYWR5U3RhdGUgfHwgJ29wZW4nID09PSB0aGlzLnJlYWR5U3RhdGUpIHtcbiAgICB0aGlzLmRvQ2xvc2UoKTtcbiAgICB0aGlzLm9uQ2xvc2UoKTtcbiAgfVxuXG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBTZW5kcyBtdWx0aXBsZSBwYWNrZXRzLlxuICpcbiAqIEBwYXJhbSB7QXJyYXl9IHBhY2tldHNcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblRyYW5zcG9ydC5wcm90b3R5cGUuc2VuZCA9IGZ1bmN0aW9uIChwYWNrZXRzKSB7XG4gIGlmICgnb3BlbicgPT09IHRoaXMucmVhZHlTdGF0ZSkge1xuICAgIHRoaXMud3JpdGUocGFja2V0cyk7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUcmFuc3BvcnQgbm90IG9wZW4nKTtcbiAgfVxufTtcblxuLyoqXG4gKiBDYWxsZWQgdXBvbiBvcGVuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuVHJhbnNwb3J0LnByb3RvdHlwZS5vbk9wZW4gPSBmdW5jdGlvbiAoKSB7XG4gIHRoaXMucmVhZHlTdGF0ZSA9ICdvcGVuJztcbiAgdGhpcy53cml0YWJsZSA9IHRydWU7XG4gIHRoaXMuZW1pdCgnb3BlbicpO1xufTtcblxuLyoqXG4gKiBDYWxsZWQgd2l0aCBkYXRhLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBkYXRhXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5UcmFuc3BvcnQucHJvdG90eXBlLm9uRGF0YSA9IGZ1bmN0aW9uIChkYXRhKSB7XG4gIHZhciBwYWNrZXQgPSBwYXJzZXIuZGVjb2RlUGFja2V0KGRhdGEsIHRoaXMuc29ja2V0LmJpbmFyeVR5cGUpO1xuICB0aGlzLm9uUGFja2V0KHBhY2tldCk7XG59O1xuXG4vKipcbiAqIENhbGxlZCB3aXRoIGEgZGVjb2RlZCBwYWNrZXQuXG4gKi9cblxuVHJhbnNwb3J0LnByb3RvdHlwZS5vblBhY2tldCA9IGZ1bmN0aW9uIChwYWNrZXQpIHtcbiAgdGhpcy5lbWl0KCdwYWNrZXQnLCBwYWNrZXQpO1xufTtcblxuLyoqXG4gKiBDYWxsZWQgdXBvbiBjbG9zZS5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5UcmFuc3BvcnQucHJvdG90eXBlLm9uQ2xvc2UgPSBmdW5jdGlvbiAoKSB7XG4gIHRoaXMucmVhZHlTdGF0ZSA9ICdjbG9zZWQnO1xuICB0aGlzLmVtaXQoJ2Nsb3NlJyk7XG59O1xuIiwiLyoqXG4gKiBNb2R1bGUgZGVwZW5kZW5jaWVzXG4gKi9cblxudmFyIFhNTEh0dHBSZXF1ZXN0ID0gcmVxdWlyZSgneG1saHR0cHJlcXVlc3Qtc3NsJyk7XG52YXIgWEhSID0gcmVxdWlyZSgnLi9wb2xsaW5nLXhocicpO1xudmFyIEpTT05QID0gcmVxdWlyZSgnLi9wb2xsaW5nLWpzb25wJyk7XG52YXIgd2Vic29ja2V0ID0gcmVxdWlyZSgnLi93ZWJzb2NrZXQnKTtcblxuLyoqXG4gKiBFeHBvcnQgdHJhbnNwb3J0cy5cbiAqL1xuXG5leHBvcnRzLnBvbGxpbmcgPSBwb2xsaW5nO1xuZXhwb3J0cy53ZWJzb2NrZXQgPSB3ZWJzb2NrZXQ7XG5cbi8qKlxuICogUG9sbGluZyB0cmFuc3BvcnQgcG9seW1vcnBoaWMgY29uc3RydWN0b3IuXG4gKiBEZWNpZGVzIG9uIHhociB2cyBqc29ucCBiYXNlZCBvbiBmZWF0dXJlIGRldGVjdGlvbi5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBwb2xsaW5nIChvcHRzKSB7XG4gIHZhciB4aHI7XG4gIHZhciB4ZCA9IGZhbHNlO1xuICB2YXIgeHMgPSBmYWxzZTtcbiAgdmFyIGpzb25wID0gZmFsc2UgIT09IG9wdHMuanNvbnA7XG5cbiAgaWYgKHR5cGVvZiBsb2NhdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICB2YXIgaXNTU0wgPSAnaHR0cHM6JyA9PT0gbG9jYXRpb24ucHJvdG9jb2w7XG4gICAgdmFyIHBvcnQgPSBsb2NhdGlvbi5wb3J0O1xuXG4gICAgLy8gc29tZSB1c2VyIGFnZW50cyBoYXZlIGVtcHR5IGBsb2NhdGlvbi5wb3J0YFxuICAgIGlmICghcG9ydCkge1xuICAgICAgcG9ydCA9IGlzU1NMID8gNDQzIDogODA7XG4gICAgfVxuXG4gICAgeGQgPSBvcHRzLmhvc3RuYW1lICE9PSBsb2NhdGlvbi5ob3N0bmFtZSB8fCBwb3J0ICE9PSBvcHRzLnBvcnQ7XG4gICAgeHMgPSBvcHRzLnNlY3VyZSAhPT0gaXNTU0w7XG4gIH1cblxuICBvcHRzLnhkb21haW4gPSB4ZDtcbiAgb3B0cy54c2NoZW1lID0geHM7XG4gIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdChvcHRzKTtcblxuICBpZiAoJ29wZW4nIGluIHhociAmJiAhb3B0cy5mb3JjZUpTT05QKSB7XG4gICAgcmV0dXJuIG5ldyBYSFIob3B0cyk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKCFqc29ucCkgdGhyb3cgbmV3IEVycm9yKCdKU09OUCBkaXNhYmxlZCcpO1xuICAgIHJldHVybiBuZXcgSlNPTlAob3B0cyk7XG4gIH1cbn1cbiIsIi8qKlxuICogTW9kdWxlIHJlcXVpcmVtZW50cy5cbiAqL1xuXG52YXIgUG9sbGluZyA9IHJlcXVpcmUoJy4vcG9sbGluZycpO1xudmFyIGluaGVyaXQgPSByZXF1aXJlKCdjb21wb25lbnQtaW5oZXJpdCcpO1xuXG4vKipcbiAqIE1vZHVsZSBleHBvcnRzLlxuICovXG5cbm1vZHVsZS5leHBvcnRzID0gSlNPTlBQb2xsaW5nO1xuXG4vKipcbiAqIENhY2hlZCByZWd1bGFyIGV4cHJlc3Npb25zLlxuICovXG5cbnZhciByTmV3bGluZSA9IC9cXG4vZztcbnZhciByRXNjYXBlZE5ld2xpbmUgPSAvXFxcXG4vZztcblxuLyoqXG4gKiBHbG9iYWwgSlNPTlAgY2FsbGJhY2tzLlxuICovXG5cbnZhciBjYWxsYmFja3M7XG5cbi8qKlxuICogTm9vcC5cbiAqL1xuXG5mdW5jdGlvbiBlbXB0eSAoKSB7IH1cblxuLyoqXG4gKiBVbnRpbCBodHRwczovL2dpdGh1Yi5jb20vdGMzOS9wcm9wb3NhbC1nbG9iYWwgaXMgc2hpcHBlZC5cbiAqL1xuZnVuY3Rpb24gZ2xvYiAoKSB7XG4gIHJldHVybiB0eXBlb2Ygc2VsZiAhPT0gJ3VuZGVmaW5lZCcgPyBzZWxmXG4gICAgICA6IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93XG4gICAgICA6IHR5cGVvZiBnbG9iYWwgIT09ICd1bmRlZmluZWQnID8gZ2xvYmFsIDoge307XG59XG5cbi8qKlxuICogSlNPTlAgUG9sbGluZyBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0cy5cbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZnVuY3Rpb24gSlNPTlBQb2xsaW5nIChvcHRzKSB7XG4gIFBvbGxpbmcuY2FsbCh0aGlzLCBvcHRzKTtcblxuICB0aGlzLnF1ZXJ5ID0gdGhpcy5xdWVyeSB8fCB7fTtcblxuICAvLyBkZWZpbmUgZ2xvYmFsIGNhbGxiYWNrcyBhcnJheSBpZiBub3QgcHJlc2VudFxuICAvLyB3ZSBkbyB0aGlzIGhlcmUgKGxhemlseSkgdG8gYXZvaWQgdW5uZWVkZWQgZ2xvYmFsIHBvbGx1dGlvblxuICBpZiAoIWNhbGxiYWNrcykge1xuICAgIC8vIHdlIG5lZWQgdG8gY29uc2lkZXIgbXVsdGlwbGUgZW5naW5lcyBpbiB0aGUgc2FtZSBwYWdlXG4gICAgdmFyIGdsb2JhbCA9IGdsb2IoKTtcbiAgICBjYWxsYmFja3MgPSBnbG9iYWwuX19fZWlvID0gKGdsb2JhbC5fX19laW8gfHwgW10pO1xuICB9XG5cbiAgLy8gY2FsbGJhY2sgaWRlbnRpZmllclxuICB0aGlzLmluZGV4ID0gY2FsbGJhY2tzLmxlbmd0aDtcblxuICAvLyBhZGQgY2FsbGJhY2sgdG8ganNvbnAgZ2xvYmFsXG4gIHZhciBzZWxmID0gdGhpcztcbiAgY2FsbGJhY2tzLnB1c2goZnVuY3Rpb24gKG1zZykge1xuICAgIHNlbGYub25EYXRhKG1zZyk7XG4gIH0pO1xuXG4gIC8vIGFwcGVuZCB0byBxdWVyeSBzdHJpbmdcbiAgdGhpcy5xdWVyeS5qID0gdGhpcy5pbmRleDtcblxuICAvLyBwcmV2ZW50IHNwdXJpb3VzIGVycm9ycyBmcm9tIGJlaW5nIGVtaXR0ZWQgd2hlbiB0aGUgd2luZG93IGlzIHVubG9hZGVkXG4gIGlmICh0eXBlb2YgYWRkRXZlbnRMaXN0ZW5lciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGFkZEV2ZW50TGlzdGVuZXIoJ2JlZm9yZXVubG9hZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmIChzZWxmLnNjcmlwdCkgc2VsZi5zY3JpcHQub25lcnJvciA9IGVtcHR5O1xuICAgIH0sIGZhbHNlKTtcbiAgfVxufVxuXG4vKipcbiAqIEluaGVyaXRzIGZyb20gUG9sbGluZy5cbiAqL1xuXG5pbmhlcml0KEpTT05QUG9sbGluZywgUG9sbGluZyk7XG5cbi8qXG4gKiBKU09OUCBvbmx5IHN1cHBvcnRzIGJpbmFyeSBhcyBiYXNlNjQgZW5jb2RlZCBzdHJpbmdzXG4gKi9cblxuSlNPTlBQb2xsaW5nLnByb3RvdHlwZS5zdXBwb3J0c0JpbmFyeSA9IGZhbHNlO1xuXG4vKipcbiAqIENsb3NlcyB0aGUgc29ja2V0LlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbkpTT05QUG9sbGluZy5wcm90b3R5cGUuZG9DbG9zZSA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKHRoaXMuc2NyaXB0KSB7XG4gICAgdGhpcy5zY3JpcHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnNjcmlwdCk7XG4gICAgdGhpcy5zY3JpcHQgPSBudWxsO1xuICB9XG5cbiAgaWYgKHRoaXMuZm9ybSkge1xuICAgIHRoaXMuZm9ybS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZm9ybSk7XG4gICAgdGhpcy5mb3JtID0gbnVsbDtcbiAgICB0aGlzLmlmcmFtZSA9IG51bGw7XG4gIH1cblxuICBQb2xsaW5nLnByb3RvdHlwZS5kb0Nsb3NlLmNhbGwodGhpcyk7XG59O1xuXG4vKipcbiAqIFN0YXJ0cyBhIHBvbGwgY3ljbGUuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuSlNPTlBQb2xsaW5nLnByb3RvdHlwZS5kb1BvbGwgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBzZWxmID0gdGhpcztcbiAgdmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuXG4gIGlmICh0aGlzLnNjcmlwdCkge1xuICAgIHRoaXMuc2NyaXB0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5zY3JpcHQpO1xuICAgIHRoaXMuc2NyaXB0ID0gbnVsbDtcbiAgfVxuXG4gIHNjcmlwdC5hc3luYyA9IHRydWU7XG4gIHNjcmlwdC5zcmMgPSB0aGlzLnVyaSgpO1xuICBzY3JpcHQub25lcnJvciA9IGZ1bmN0aW9uIChlKSB7XG4gICAgc2VsZi5vbkVycm9yKCdqc29ucCBwb2xsIGVycm9yJywgZSk7XG4gIH07XG5cbiAgdmFyIGluc2VydEF0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdO1xuICBpZiAoaW5zZXJ0QXQpIHtcbiAgICBpbnNlcnRBdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHQsIGluc2VydEF0KTtcbiAgfSBlbHNlIHtcbiAgICAoZG9jdW1lbnQuaGVhZCB8fCBkb2N1bWVudC5ib2R5KS5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICB9XG4gIHRoaXMuc2NyaXB0ID0gc2NyaXB0O1xuXG4gIHZhciBpc1VBZ2Vja28gPSAndW5kZWZpbmVkJyAhPT0gdHlwZW9mIG5hdmlnYXRvciAmJiAvZ2Vja28vaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuXG4gIGlmIChpc1VBZ2Vja28pIHtcbiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTtcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTtcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoaWZyYW1lKTtcbiAgICB9LCAxMDApO1xuICB9XG59O1xuXG4vKipcbiAqIFdyaXRlcyB3aXRoIGEgaGlkZGVuIGlmcmFtZS5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gZGF0YSB0byBzZW5kXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBjYWxsZWQgdXBvbiBmbHVzaC5cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbkpTT05QUG9sbGluZy5wcm90b3R5cGUuZG9Xcml0ZSA9IGZ1bmN0aW9uIChkYXRhLCBmbikge1xuICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgaWYgKCF0aGlzLmZvcm0pIHtcbiAgICB2YXIgZm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Zvcm0nKTtcbiAgICB2YXIgYXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7XG4gICAgdmFyIGlkID0gdGhpcy5pZnJhbWVJZCA9ICdlaW9faWZyYW1lXycgKyB0aGlzLmluZGV4O1xuICAgIHZhciBpZnJhbWU7XG5cbiAgICBmb3JtLmNsYXNzTmFtZSA9ICdzb2NrZXRpbyc7XG4gICAgZm9ybS5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgZm9ybS5zdHlsZS50b3AgPSAnLTEwMDBweCc7XG4gICAgZm9ybS5zdHlsZS5sZWZ0ID0gJy0xMDAwcHgnO1xuICAgIGZvcm0udGFyZ2V0ID0gaWQ7XG4gICAgZm9ybS5tZXRob2QgPSAnUE9TVCc7XG4gICAgZm9ybS5zZXRBdHRyaWJ1dGUoJ2FjY2VwdC1jaGFyc2V0JywgJ3V0Zi04Jyk7XG4gICAgYXJlYS5uYW1lID0gJ2QnO1xuICAgIGZvcm0uYXBwZW5kQ2hpbGQoYXJlYSk7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmb3JtKTtcblxuICAgIHRoaXMuZm9ybSA9IGZvcm07XG4gICAgdGhpcy5hcmVhID0gYXJlYTtcbiAgfVxuXG4gIHRoaXMuZm9ybS5hY3Rpb24gPSB0aGlzLnVyaSgpO1xuXG4gIGZ1bmN0aW9uIGNvbXBsZXRlICgpIHtcbiAgICBpbml0SWZyYW1lKCk7XG4gICAgZm4oKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGluaXRJZnJhbWUgKCkge1xuICAgIGlmIChzZWxmLmlmcmFtZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgc2VsZi5mb3JtLnJlbW92ZUNoaWxkKHNlbGYuaWZyYW1lKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgc2VsZi5vbkVycm9yKCdqc29ucCBwb2xsaW5nIGlmcmFtZSByZW1vdmFsIGVycm9yJywgZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIC8vIGllNiBkeW5hbWljIGlmcmFtZXMgd2l0aCB0YXJnZXQ9XCJcIiBzdXBwb3J0ICh0aGFua3MgQ2hyaXMgTGFtYmFjaGVyKVxuICAgICAgdmFyIGh0bWwgPSAnPGlmcmFtZSBzcmM9XCJqYXZhc2NyaXB0OjBcIiBuYW1lPVwiJyArIHNlbGYuaWZyYW1lSWQgKyAnXCI+JztcbiAgICAgIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoaHRtbCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7XG4gICAgICBpZnJhbWUubmFtZSA9IHNlbGYuaWZyYW1lSWQ7XG4gICAgICBpZnJhbWUuc3JjID0gJ2phdmFzY3JpcHQ6MCc7XG4gICAgfVxuXG4gICAgaWZyYW1lLmlkID0gc2VsZi5pZnJhbWVJZDtcblxuICAgIHNlbGYuZm9ybS5hcHBlbmRDaGlsZChpZnJhbWUpO1xuICAgIHNlbGYuaWZyYW1lID0gaWZyYW1lO1xuICB9XG5cbiAgaW5pdElmcmFtZSgpO1xuXG4gIC8vIGVzY2FwZSBcXG4gdG8gcHJldmVudCBpdCBmcm9tIGJlaW5nIGNvbnZlcnRlZCBpbnRvIFxcclxcbiBieSBzb21lIFVBc1xuICAvLyBkb3VibGUgZXNjYXBpbmcgaXMgcmVxdWlyZWQgZm9yIGVzY2FwZWQgbmV3IGxpbmVzIGJlY2F1c2UgdW5lc2NhcGluZyBvZiBuZXcgbGluZXMgY2FuIGJlIGRvbmUgc2FmZWx5IG9uIHNlcnZlci1zaWRlXG4gIGRhdGEgPSBkYXRhLnJlcGxhY2UockVzY2FwZWROZXdsaW5lLCAnXFxcXFxcbicpO1xuICB0aGlzLmFyZWEudmFsdWUgPSBkYXRhLnJlcGxhY2Uock5ld2xpbmUsICdcXFxcbicpO1xuXG4gIHRyeSB7XG4gICAgdGhpcy5mb3JtLnN1Ym1pdCgpO1xuICB9IGNhdGNoIChlKSB7fVxuXG4gIGlmICh0aGlzLmlmcmFtZS5hdHRhY2hFdmVudCkge1xuICAgIHRoaXMuaWZyYW1lLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmIChzZWxmLmlmcmFtZS5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSB7XG4gICAgICAgIGNvbXBsZXRlKCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLmlmcmFtZS5vbmxvYWQgPSBjb21wbGV0ZTtcbiAgfVxufTtcbiIsIi8qIGdsb2JhbCBhdHRhY2hFdmVudCAqL1xuXG4vKipcbiAqIE1vZHVsZSByZXF1aXJlbWVudHMuXG4gKi9cblxudmFyIFhNTEh0dHBSZXF1ZXN0ID0gcmVxdWlyZSgneG1saHR0cHJlcXVlc3Qtc3NsJyk7XG52YXIgUG9sbGluZyA9IHJlcXVpcmUoJy4vcG9sbGluZycpO1xudmFyIEVtaXR0ZXIgPSByZXF1aXJlKCdjb21wb25lbnQtZW1pdHRlcicpO1xudmFyIGluaGVyaXQgPSByZXF1aXJlKCdjb21wb25lbnQtaW5oZXJpdCcpO1xudmFyIGRlYnVnID0gcmVxdWlyZSgnZGVidWcnKSgnZW5naW5lLmlvLWNsaWVudDpwb2xsaW5nLXhocicpO1xuXG4vKipcbiAqIE1vZHVsZSBleHBvcnRzLlxuICovXG5cbm1vZHVsZS5leHBvcnRzID0gWEhSO1xubW9kdWxlLmV4cG9ydHMuUmVxdWVzdCA9IFJlcXVlc3Q7XG5cbi8qKlxuICogRW1wdHkgZnVuY3Rpb25cbiAqL1xuXG5mdW5jdGlvbiBlbXB0eSAoKSB7fVxuXG4vKipcbiAqIFhIUiBQb2xsaW5nIGNvbnN0cnVjdG9yLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIFhIUiAob3B0cykge1xuICBQb2xsaW5nLmNhbGwodGhpcywgb3B0cyk7XG4gIHRoaXMucmVxdWVzdFRpbWVvdXQgPSBvcHRzLnJlcXVlc3RUaW1lb3V0O1xuICB0aGlzLmV4dHJhSGVhZGVycyA9IG9wdHMuZXh0cmFIZWFkZXJzO1xuXG4gIGlmICh0eXBlb2YgbG9jYXRpb24gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgdmFyIGlzU1NMID0gJ2h0dHBzOicgPT09IGxvY2F0aW9uLnByb3RvY29sO1xuICAgIHZhciBwb3J0ID0gbG9jYXRpb24ucG9ydDtcblxuICAgIC8vIHNvbWUgdXNlciBhZ2VudHMgaGF2ZSBlbXB0eSBgbG9jYXRpb24ucG9ydGBcbiAgICBpZiAoIXBvcnQpIHtcbiAgICAgIHBvcnQgPSBpc1NTTCA/IDQ0MyA6IDgwO1xuICAgIH1cblxuICAgIHRoaXMueGQgPSAodHlwZW9mIGxvY2F0aW9uICE9PSAndW5kZWZpbmVkJyAmJiBvcHRzLmhvc3RuYW1lICE9PSBsb2NhdGlvbi5ob3N0bmFtZSkgfHxcbiAgICAgIHBvcnQgIT09IG9wdHMucG9ydDtcbiAgICB0aGlzLnhzID0gb3B0cy5zZWN1cmUgIT09IGlzU1NMO1xuICB9XG59XG5cbi8qKlxuICogSW5oZXJpdHMgZnJvbSBQb2xsaW5nLlxuICovXG5cbmluaGVyaXQoWEhSLCBQb2xsaW5nKTtcblxuLyoqXG4gKiBYSFIgc3VwcG9ydHMgYmluYXJ5XG4gKi9cblxuWEhSLnByb3RvdHlwZS5zdXBwb3J0c0JpbmFyeSA9IHRydWU7XG5cbi8qKlxuICogQ3JlYXRlcyBhIHJlcXVlc3QuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IG1ldGhvZFxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuWEhSLnByb3RvdHlwZS5yZXF1ZXN0ID0gZnVuY3Rpb24gKG9wdHMpIHtcbiAgb3B0cyA9IG9wdHMgfHwge307XG4gIG9wdHMudXJpID0gdGhpcy51cmkoKTtcbiAgb3B0cy54ZCA9IHRoaXMueGQ7XG4gIG9wdHMueHMgPSB0aGlzLnhzO1xuICBvcHRzLmFnZW50ID0gdGhpcy5hZ2VudCB8fCBmYWxzZTtcbiAgb3B0cy5zdXBwb3J0c0JpbmFyeSA9IHRoaXMuc3VwcG9ydHNCaW5hcnk7XG4gIG9wdHMuZW5hYmxlc1hEUiA9IHRoaXMuZW5hYmxlc1hEUjtcblxuICAvLyBTU0wgb3B0aW9ucyBmb3IgTm9kZS5qcyBjbGllbnRcbiAgb3B0cy5wZnggPSB0aGlzLnBmeDtcbiAgb3B0cy5rZXkgPSB0aGlzLmtleTtcbiAgb3B0cy5wYXNzcGhyYXNlID0gdGhpcy5wYXNzcGhyYXNlO1xuICBvcHRzLmNlcnQgPSB0aGlzLmNlcnQ7XG4gIG9wdHMuY2EgPSB0aGlzLmNhO1xuICBvcHRzLmNpcGhlcnMgPSB0aGlzLmNpcGhlcnM7XG4gIG9wdHMucmVqZWN0VW5hdXRob3JpemVkID0gdGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ7XG4gIG9wdHMucmVxdWVzdFRpbWVvdXQgPSB0aGlzLnJlcXVlc3RUaW1lb3V0O1xuXG4gIC8vIG90aGVyIG9wdGlvbnMgZm9yIE5vZGUuanMgY2xpZW50XG4gIG9wdHMuZXh0cmFIZWFkZXJzID0gdGhpcy5leHRyYUhlYWRlcnM7XG5cbiAgcmV0dXJuIG5ldyBSZXF1ZXN0KG9wdHMpO1xufTtcblxuLyoqXG4gKiBTZW5kcyBkYXRhLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBkYXRhIHRvIHNlbmQuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBjYWxsZWQgdXBvbiBmbHVzaC5cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblhIUi5wcm90b3R5cGUuZG9Xcml0ZSA9IGZ1bmN0aW9uIChkYXRhLCBmbikge1xuICB2YXIgaXNCaW5hcnkgPSB0eXBlb2YgZGF0YSAhPT0gJ3N0cmluZycgJiYgZGF0YSAhPT0gdW5kZWZpbmVkO1xuICB2YXIgcmVxID0gdGhpcy5yZXF1ZXN0KHsgbWV0aG9kOiAnUE9TVCcsIGRhdGE6IGRhdGEsIGlzQmluYXJ5OiBpc0JpbmFyeSB9KTtcbiAgdmFyIHNlbGYgPSB0aGlzO1xuICByZXEub24oJ3N1Y2Nlc3MnLCBmbik7XG4gIHJlcS5vbignZXJyb3InLCBmdW5jdGlvbiAoZXJyKSB7XG4gICAgc2VsZi5vbkVycm9yKCd4aHIgcG9zdCBlcnJvcicsIGVycik7XG4gIH0pO1xuICB0aGlzLnNlbmRYaHIgPSByZXE7XG59O1xuXG4vKipcbiAqIFN0YXJ0cyBhIHBvbGwgY3ljbGUuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuWEhSLnByb3RvdHlwZS5kb1BvbGwgPSBmdW5jdGlvbiAoKSB7XG4gIGRlYnVnKCd4aHIgcG9sbCcpO1xuICB2YXIgcmVxID0gdGhpcy5yZXF1ZXN0KCk7XG4gIHZhciBzZWxmID0gdGhpcztcbiAgcmVxLm9uKCdkYXRhJywgZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBzZWxmLm9uRGF0YShkYXRhKTtcbiAgfSk7XG4gIHJlcS5vbignZXJyb3InLCBmdW5jdGlvbiAoZXJyKSB7XG4gICAgc2VsZi5vbkVycm9yKCd4aHIgcG9sbCBlcnJvcicsIGVycik7XG4gIH0pO1xuICB0aGlzLnBvbGxYaHIgPSByZXE7XG59O1xuXG4vKipcbiAqIFJlcXVlc3QgY29uc3RydWN0b3JcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9uc1xuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBSZXF1ZXN0IChvcHRzKSB7XG4gIHRoaXMubWV0aG9kID0gb3B0cy5tZXRob2QgfHwgJ0dFVCc7XG4gIHRoaXMudXJpID0gb3B0cy51cmk7XG4gIHRoaXMueGQgPSAhIW9wdHMueGQ7XG4gIHRoaXMueHMgPSAhIW9wdHMueHM7XG4gIHRoaXMuYXN5bmMgPSBmYWxzZSAhPT0gb3B0cy5hc3luYztcbiAgdGhpcy5kYXRhID0gdW5kZWZpbmVkICE9PSBvcHRzLmRhdGEgPyBvcHRzLmRhdGEgOiBudWxsO1xuICB0aGlzLmFnZW50ID0gb3B0cy5hZ2VudDtcbiAgdGhpcy5pc0JpbmFyeSA9IG9wdHMuaXNCaW5hcnk7XG4gIHRoaXMuc3VwcG9ydHNCaW5hcnkgPSBvcHRzLnN1cHBvcnRzQmluYXJ5O1xuICB0aGlzLmVuYWJsZXNYRFIgPSBvcHRzLmVuYWJsZXNYRFI7XG4gIHRoaXMucmVxdWVzdFRpbWVvdXQgPSBvcHRzLnJlcXVlc3RUaW1lb3V0O1xuXG4gIC8vIFNTTCBvcHRpb25zIGZvciBOb2RlLmpzIGNsaWVudFxuICB0aGlzLnBmeCA9IG9wdHMucGZ4O1xuICB0aGlzLmtleSA9IG9wdHMua2V5O1xuICB0aGlzLnBhc3NwaHJhc2UgPSBvcHRzLnBhc3NwaHJhc2U7XG4gIHRoaXMuY2VydCA9IG9wdHMuY2VydDtcbiAgdGhpcy5jYSA9IG9wdHMuY2E7XG4gIHRoaXMuY2lwaGVycyA9IG9wdHMuY2lwaGVycztcbiAgdGhpcy5yZWplY3RVbmF1dGhvcml6ZWQgPSBvcHRzLnJlamVjdFVuYXV0aG9yaXplZDtcblxuICAvLyBvdGhlciBvcHRpb25zIGZvciBOb2RlLmpzIGNsaWVudFxuICB0aGlzLmV4dHJhSGVhZGVycyA9IG9wdHMuZXh0cmFIZWFkZXJzO1xuXG4gIHRoaXMuY3JlYXRlKCk7XG59XG5cbi8qKlxuICogTWl4IGluIGBFbWl0dGVyYC5cbiAqL1xuXG5FbWl0dGVyKFJlcXVlc3QucHJvdG90eXBlKTtcblxuLyoqXG4gKiBDcmVhdGVzIHRoZSBYSFIgb2JqZWN0IGFuZCBzZW5kcyB0aGUgcmVxdWVzdC5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5SZXF1ZXN0LnByb3RvdHlwZS5jcmVhdGUgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBvcHRzID0geyBhZ2VudDogdGhpcy5hZ2VudCwgeGRvbWFpbjogdGhpcy54ZCwgeHNjaGVtZTogdGhpcy54cywgZW5hYmxlc1hEUjogdGhpcy5lbmFibGVzWERSIH07XG5cbiAgLy8gU1NMIG9wdGlvbnMgZm9yIE5vZGUuanMgY2xpZW50XG4gIG9wdHMucGZ4ID0gdGhpcy5wZng7XG4gIG9wdHMua2V5ID0gdGhpcy5rZXk7XG4gIG9wdHMucGFzc3BocmFzZSA9IHRoaXMucGFzc3BocmFzZTtcbiAgb3B0cy5jZXJ0ID0gdGhpcy5jZXJ0O1xuICBvcHRzLmNhID0gdGhpcy5jYTtcbiAgb3B0cy5jaXBoZXJzID0gdGhpcy5jaXBoZXJzO1xuICBvcHRzLnJlamVjdFVuYXV0aG9yaXplZCA9IHRoaXMucmVqZWN0VW5hdXRob3JpemVkO1xuXG4gIHZhciB4aHIgPSB0aGlzLnhociA9IG5ldyBYTUxIdHRwUmVxdWVzdChvcHRzKTtcbiAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gIHRyeSB7XG4gICAgZGVidWcoJ3hociBvcGVuICVzOiAlcycsIHRoaXMubWV0aG9kLCB0aGlzLnVyaSk7XG4gICAgeGhyLm9wZW4odGhpcy5tZXRob2QsIHRoaXMudXJpLCB0aGlzLmFzeW5jKTtcbiAgICB0cnkge1xuICAgICAgaWYgKHRoaXMuZXh0cmFIZWFkZXJzKSB7XG4gICAgICAgIHhoci5zZXREaXNhYmxlSGVhZGVyQ2hlY2sgJiYgeGhyLnNldERpc2FibGVIZWFkZXJDaGVjayh0cnVlKTtcbiAgICAgICAgZm9yICh2YXIgaSBpbiB0aGlzLmV4dHJhSGVhZGVycykge1xuICAgICAgICAgIGlmICh0aGlzLmV4dHJhSGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSkge1xuICAgICAgICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoaSwgdGhpcy5leHRyYUhlYWRlcnNbaV0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHt9XG5cbiAgICBpZiAoJ1BPU1QnID09PSB0aGlzLm1ldGhvZCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKHRoaXMuaXNCaW5hcnkpIHtcbiAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAndGV4dC9wbGFpbjtjaGFyc2V0PVVURi04Jyk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdBY2NlcHQnLCAnKi8qJyk7XG4gICAgfSBjYXRjaCAoZSkge31cblxuICAgIC8vIGllNiBjaGVja1xuICAgIGlmICgnd2l0aENyZWRlbnRpYWxzJyBpbiB4aHIpIHtcbiAgICAgIHhoci53aXRoQ3JlZGVudGlhbHMgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJlcXVlc3RUaW1lb3V0KSB7XG4gICAgICB4aHIudGltZW91dCA9IHRoaXMucmVxdWVzdFRpbWVvdXQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaGFzWERSKCkpIHtcbiAgICAgIHhoci5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHNlbGYub25Mb2FkKCk7XG4gICAgICB9O1xuICAgICAgeGhyLm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHNlbGYub25FcnJvcih4aHIucmVzcG9uc2VUZXh0KTtcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PT0gMikge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICB2YXIgY29udGVudFR5cGUgPSB4aHIuZ2V0UmVzcG9uc2VIZWFkZXIoJ0NvbnRlbnQtVHlwZScpO1xuICAgICAgICAgICAgaWYgKHNlbGYuc3VwcG9ydHNCaW5hcnkgJiYgY29udGVudFR5cGUgPT09ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nKSB7XG4gICAgICAgICAgICAgIHhoci5yZXNwb25zZVR5cGUgPSAnYXJyYXlidWZmZXInO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKDQgIT09IHhoci5yZWFkeVN0YXRlKSByZXR1cm47XG4gICAgICAgIGlmICgyMDAgPT09IHhoci5zdGF0dXMgfHwgMTIyMyA9PT0geGhyLnN0YXR1cykge1xuICAgICAgICAgIHNlbGYub25Mb2FkKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gbWFrZSBzdXJlIHRoZSBgZXJyb3JgIGV2ZW50IGhhbmRsZXIgdGhhdCdzIHVzZXItc2V0XG4gICAgICAgICAgLy8gZG9lcyBub3QgdGhyb3cgaW4gdGhlIHNhbWUgdGljayBhbmQgZ2V0cyBjYXVnaHQgaGVyZVxuICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgc2VsZi5vbkVycm9yKHhoci5zdGF0dXMpO1xuICAgICAgICAgIH0sIDApO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cblxuICAgIGRlYnVnKCd4aHIgZGF0YSAlcycsIHRoaXMuZGF0YSk7XG4gICAgeGhyLnNlbmQodGhpcy5kYXRhKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIE5lZWQgdG8gZGVmZXIgc2luY2UgLmNyZWF0ZSgpIGlzIGNhbGxlZCBkaXJlY3RseSBmaHJvbSB0aGUgY29uc3RydWN0b3JcbiAgICAvLyBhbmQgdGh1cyB0aGUgJ2Vycm9yJyBldmVudCBjYW4gb25seSBiZSBvbmx5IGJvdW5kICphZnRlciogdGhpcyBleGNlcHRpb25cbiAgICAvLyBvY2N1cnMuICBUaGVyZWZvcmUsIGFsc28sIHdlIGNhbm5vdCB0aHJvdyBoZXJlIGF0IGFsbC5cbiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgIHNlbGYub25FcnJvcihlKTtcbiAgICB9LCAwKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykge1xuICAgIHRoaXMuaW5kZXggPSBSZXF1ZXN0LnJlcXVlc3RzQ291bnQrKztcbiAgICBSZXF1ZXN0LnJlcXVlc3RzW3RoaXMuaW5kZXhdID0gdGhpcztcbiAgfVxufTtcblxuLyoqXG4gKiBDYWxsZWQgdXBvbiBzdWNjZXNzZnVsIHJlc3BvbnNlLlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblJlcXVlc3QucHJvdG90eXBlLm9uU3VjY2VzcyA9IGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5lbWl0KCdzdWNjZXNzJyk7XG4gIHRoaXMuY2xlYW51cCgpO1xufTtcblxuLyoqXG4gKiBDYWxsZWQgaWYgd2UgaGF2ZSBkYXRhLlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblJlcXVlc3QucHJvdG90eXBlLm9uRGF0YSA9IGZ1bmN0aW9uIChkYXRhKSB7XG4gIHRoaXMuZW1pdCgnZGF0YScsIGRhdGEpO1xuICB0aGlzLm9uU3VjY2VzcygpO1xufTtcblxuLyoqXG4gKiBDYWxsZWQgdXBvbiBlcnJvci5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5SZXF1ZXN0LnByb3RvdHlwZS5vbkVycm9yID0gZnVuY3Rpb24gKGVycikge1xuICB0aGlzLmVtaXQoJ2Vycm9yJywgZXJyKTtcbiAgdGhpcy5jbGVhbnVwKHRydWUpO1xufTtcblxuLyoqXG4gKiBDbGVhbnMgdXAgaG91c2UuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuUmVxdWVzdC5wcm90b3R5cGUuY2xlYW51cCA9IGZ1bmN0aW9uIChmcm9tRXJyb3IpIHtcbiAgaWYgKCd1bmRlZmluZWQnID09PSB0eXBlb2YgdGhpcy54aHIgfHwgbnVsbCA9PT0gdGhpcy54aHIpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgLy8geG1saHR0cHJlcXVlc3RcbiAgaWYgKHRoaXMuaGFzWERSKCkpIHtcbiAgICB0aGlzLnhoci5vbmxvYWQgPSB0aGlzLnhoci5vbmVycm9yID0gZW1wdHk7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy54aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZW1wdHk7XG4gIH1cblxuICBpZiAoZnJvbUVycm9yKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMueGhyLmFib3J0KCk7XG4gICAgfSBjYXRjaCAoZSkge31cbiAgfVxuXG4gIGlmICh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgZGVsZXRlIFJlcXVlc3QucmVxdWVzdHNbdGhpcy5pbmRleF07XG4gIH1cblxuICB0aGlzLnhociA9IG51bGw7XG59O1xuXG4vKipcbiAqIENhbGxlZCB1cG9uIGxvYWQuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuUmVxdWVzdC5wcm90b3R5cGUub25Mb2FkID0gZnVuY3Rpb24gKCkge1xuICB2YXIgZGF0YTtcbiAgdHJ5IHtcbiAgICB2YXIgY29udGVudFR5cGU7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnRlbnRUeXBlID0gdGhpcy54aHIuZ2V0UmVzcG9uc2VIZWFkZXIoJ0NvbnRlbnQtVHlwZScpO1xuICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgaWYgKGNvbnRlbnRUeXBlID09PSAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJykge1xuICAgICAgZGF0YSA9IHRoaXMueGhyLnJlc3BvbnNlIHx8IHRoaXMueGhyLnJlc3BvbnNlVGV4dDtcbiAgICB9IGVsc2Uge1xuICAgICAgZGF0YSA9IHRoaXMueGhyLnJlc3BvbnNlVGV4dDtcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB0aGlzLm9uRXJyb3IoZSk7XG4gIH1cbiAgaWYgKG51bGwgIT0gZGF0YSkge1xuICAgIHRoaXMub25EYXRhKGRhdGEpO1xuICB9XG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGl0IGhhcyBYRG9tYWluUmVxdWVzdC5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5SZXF1ZXN0LnByb3RvdHlwZS5oYXNYRFIgPSBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiB0eXBlb2YgWERvbWFpblJlcXVlc3QgIT09ICd1bmRlZmluZWQnICYmICF0aGlzLnhzICYmIHRoaXMuZW5hYmxlc1hEUjtcbn07XG5cbi8qKlxuICogQWJvcnRzIHRoZSByZXF1ZXN0LlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuUmVxdWVzdC5wcm90b3R5cGUuYWJvcnQgPSBmdW5jdGlvbiAoKSB7XG4gIHRoaXMuY2xlYW51cCgpO1xufTtcblxuLyoqXG4gKiBBYm9ydHMgcGVuZGluZyByZXF1ZXN0cyB3aGVuIHVubG9hZGluZyB0aGUgd2luZG93LiBUaGlzIGlzIG5lZWRlZCB0byBwcmV2ZW50XG4gKiBtZW1vcnkgbGVha3MgKGUuZy4gd2hlbiB1c2luZyBJRSkgYW5kIHRvIGVuc3VyZSB0aGF0IG5vIHNwdXJpb3VzIGVycm9yIGlzXG4gKiBlbWl0dGVkLlxuICovXG5cblJlcXVlc3QucmVxdWVzdHNDb3VudCA9IDA7XG5SZXF1ZXN0LnJlcXVlc3RzID0ge307XG5cbmlmICh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnKSB7XG4gIGlmICh0eXBlb2YgYXR0YWNoRXZlbnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICBhdHRhY2hFdmVudCgnb251bmxvYWQnLCB1bmxvYWRIYW5kbGVyKTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgYWRkRXZlbnRMaXN0ZW5lciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHZhciB0ZXJtaW5hdGlvbkV2ZW50ID0gJ29ucGFnZWhpZGUnIGluIHNlbGYgPyAncGFnZWhpZGUnIDogJ3VubG9hZCc7XG4gICAgYWRkRXZlbnRMaXN0ZW5lcih0ZXJtaW5hdGlvbkV2ZW50LCB1bmxvYWRIYW5kbGVyLCBmYWxzZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdW5sb2FkSGFuZGxlciAoKSB7XG4gIGZvciAodmFyIGkgaW4gUmVxdWVzdC5yZXF1ZXN0cykge1xuICAgIGlmIChSZXF1ZXN0LnJlcXVlc3RzLmhhc093blByb3BlcnR5KGkpKSB7XG4gICAgICBSZXF1ZXN0LnJlcXVlc3RzW2ldLmFib3J0KCk7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIE1vZHVsZSBkZXBlbmRlbmNpZXMuXG4gKi9cblxudmFyIFRyYW5zcG9ydCA9IHJlcXVpcmUoJy4uL3RyYW5zcG9ydCcpO1xudmFyIHBhcnNlcXMgPSByZXF1aXJlKCdwYXJzZXFzJyk7XG52YXIgcGFyc2VyID0gcmVxdWlyZSgnZW5naW5lLmlvLXBhcnNlcicpO1xudmFyIGluaGVyaXQgPSByZXF1aXJlKCdjb21wb25lbnQtaW5oZXJpdCcpO1xudmFyIHllYXN0ID0gcmVxdWlyZSgneWVhc3QnKTtcbnZhciBkZWJ1ZyA9IHJlcXVpcmUoJ2RlYnVnJykoJ2VuZ2luZS5pby1jbGllbnQ6cG9sbGluZycpO1xuXG4vKipcbiAqIE1vZHVsZSBleHBvcnRzLlxuICovXG5cbm1vZHVsZS5leHBvcnRzID0gUG9sbGluZztcblxuLyoqXG4gKiBJcyBYSFIyIHN1cHBvcnRlZD9cbiAqL1xuXG52YXIgaGFzWEhSMiA9IChmdW5jdGlvbiAoKSB7XG4gIHZhciBYTUxIdHRwUmVxdWVzdCA9IHJlcXVpcmUoJ3htbGh0dHByZXF1ZXN0LXNzbCcpO1xuICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KHsgeGRvbWFpbjogZmFsc2UgfSk7XG4gIHJldHVybiBudWxsICE9IHhoci5yZXNwb25zZVR5cGU7XG59KSgpO1xuXG4vKipcbiAqIFBvbGxpbmcgaW50ZXJmYWNlLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBQb2xsaW5nIChvcHRzKSB7XG4gIHZhciBmb3JjZUJhc2U2NCA9IChvcHRzICYmIG9wdHMuZm9yY2VCYXNlNjQpO1xuICBpZiAoIWhhc1hIUjIgfHwgZm9yY2VCYXNlNjQpIHtcbiAgICB0aGlzLnN1cHBvcnRzQmluYXJ5ID0gZmFsc2U7XG4gIH1cbiAgVHJhbnNwb3J0LmNhbGwodGhpcywgb3B0cyk7XG59XG5cbi8qKlxuICogSW5oZXJpdHMgZnJvbSBUcmFuc3BvcnQuXG4gKi9cblxuaW5oZXJpdChQb2xsaW5nLCBUcmFuc3BvcnQpO1xuXG4vKipcbiAqIFRyYW5zcG9ydCBuYW1lLlxuICovXG5cblBvbGxpbmcucHJvdG90eXBlLm5hbWUgPSAncG9sbGluZyc7XG5cbi8qKlxuICogT3BlbnMgdGhlIHNvY2tldCAodHJpZ2dlcnMgcG9sbGluZykuIFdlIHdyaXRlIGEgUElORyBtZXNzYWdlIHRvIGRldGVybWluZVxuICogd2hlbiB0aGUgdHJhbnNwb3J0IGlzIG9wZW4uXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuUG9sbGluZy5wcm90b3R5cGUuZG9PcGVuID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLnBvbGwoKTtcbn07XG5cbi8qKlxuICogUGF1c2VzIHBvbGxpbmcuXG4gKlxuICogQHBhcmFtIHtGdW5jdGlvbn0gY2FsbGJhY2sgdXBvbiBidWZmZXJzIGFyZSBmbHVzaGVkIGFuZCB0cmFuc3BvcnQgaXMgcGF1c2VkXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Qb2xsaW5nLnByb3RvdHlwZS5wYXVzZSA9IGZ1bmN0aW9uIChvblBhdXNlKSB7XG4gIHZhciBzZWxmID0gdGhpcztcblxuICB0aGlzLnJlYWR5U3RhdGUgPSAncGF1c2luZyc7XG5cbiAgZnVuY3Rpb24gcGF1c2UgKCkge1xuICAgIGRlYnVnKCdwYXVzZWQnKTtcbiAgICBzZWxmLnJlYWR5U3RhdGUgPSAncGF1c2VkJztcbiAgICBvblBhdXNlKCk7XG4gIH1cblxuICBpZiAodGhpcy5wb2xsaW5nIHx8ICF0aGlzLndyaXRhYmxlKSB7XG4gICAgdmFyIHRvdGFsID0gMDtcblxuICAgIGlmICh0aGlzLnBvbGxpbmcpIHtcbiAgICAgIGRlYnVnKCd3ZSBhcmUgY3VycmVudGx5IHBvbGxpbmcgLSB3YWl0aW5nIHRvIHBhdXNlJyk7XG4gICAgICB0b3RhbCsrO1xuICAgICAgdGhpcy5vbmNlKCdwb2xsQ29tcGxldGUnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGRlYnVnKCdwcmUtcGF1c2UgcG9sbGluZyBjb21wbGV0ZScpO1xuICAgICAgICAtLXRvdGFsIHx8IHBhdXNlKCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMud3JpdGFibGUpIHtcbiAgICAgIGRlYnVnKCd3ZSBhcmUgY3VycmVudGx5IHdyaXRpbmcgLSB3YWl0aW5nIHRvIHBhdXNlJyk7XG4gICAgICB0b3RhbCsrO1xuICAgICAgdGhpcy5vbmNlKCdkcmFpbicsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZGVidWcoJ3ByZS1wYXVzZSB3cml0aW5nIGNvbXBsZXRlJyk7XG4gICAgICAgIC0tdG90YWwgfHwgcGF1c2UoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBwYXVzZSgpO1xuICB9XG59O1xuXG4vKipcbiAqIFN0YXJ0cyBwb2xsaW5nIGN5Y2xlLlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuUG9sbGluZy5wcm90b3R5cGUucG9sbCA9IGZ1bmN0aW9uICgpIHtcbiAgZGVidWcoJ3BvbGxpbmcnKTtcbiAgdGhpcy5wb2xsaW5nID0gdHJ1ZTtcbiAgdGhpcy5kb1BvbGwoKTtcbiAgdGhpcy5lbWl0KCdwb2xsJyk7XG59O1xuXG4vKipcbiAqIE92ZXJsb2FkcyBvbkRhdGEgdG8gZGV0ZWN0IHBheWxvYWRzLlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblBvbGxpbmcucHJvdG90eXBlLm9uRGF0YSA9IGZ1bmN0aW9uIChkYXRhKSB7XG4gIHZhciBzZWxmID0gdGhpcztcbiAgZGVidWcoJ3BvbGxpbmcgZ290IGRhdGEgJXMnLCBkYXRhKTtcbiAgdmFyIGNhbGxiYWNrID0gZnVuY3Rpb24gKHBhY2tldCwgaW5kZXgsIHRvdGFsKSB7XG4gICAgLy8gaWYgaXRzIHRoZSBmaXJzdCBtZXNzYWdlIHdlIGNvbnNpZGVyIHRoZSB0cmFuc3BvcnQgb3BlblxuICAgIGlmICgnb3BlbmluZycgPT09IHNlbGYucmVhZHlTdGF0ZSkge1xuICAgICAgc2VsZi5vbk9wZW4oKTtcbiAgICB9XG5cbiAgICAvLyBpZiBpdHMgYSBjbG9zZSBwYWNrZXQsIHdlIGNsb3NlIHRoZSBvbmdvaW5nIHJlcXVlc3RzXG4gICAgaWYgKCdjbG9zZScgPT09IHBhY2tldC50eXBlKSB7XG4gICAgICBzZWxmLm9uQ2xvc2UoKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBvdGhlcndpc2UgYnlwYXNzIG9uRGF0YSBhbmQgaGFuZGxlIHRoZSBtZXNzYWdlXG4gICAgc2VsZi5vblBhY2tldChwYWNrZXQpO1xuICB9O1xuXG4gIC8vIGRlY29kZSBwYXlsb2FkXG4gIHBhcnNlci5kZWNvZGVQYXlsb2FkKGRhdGEsIHRoaXMuc29ja2V0LmJpbmFyeVR5cGUsIGNhbGxiYWNrKTtcblxuICAvLyBpZiBhbiBldmVudCBkaWQgbm90IHRyaWdnZXIgY2xvc2luZ1xuICBpZiAoJ2Nsb3NlZCcgIT09IHRoaXMucmVhZHlTdGF0ZSkge1xuICAgIC8vIGlmIHdlIGdvdCBkYXRhIHdlJ3JlIG5vdCBwb2xsaW5nXG4gICAgdGhpcy5wb2xsaW5nID0gZmFsc2U7XG4gICAgdGhpcy5lbWl0KCdwb2xsQ29tcGxldGUnKTtcblxuICAgIGlmICgnb3BlbicgPT09IHRoaXMucmVhZHlTdGF0ZSkge1xuICAgICAgdGhpcy5wb2xsKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlYnVnKCdpZ25vcmluZyBwb2xsIC0gdHJhbnNwb3J0IHN0YXRlIFwiJXNcIicsIHRoaXMucmVhZHlTdGF0ZSk7XG4gICAgfVxuICB9XG59O1xuXG4vKipcbiAqIEZvciBwb2xsaW5nLCBzZW5kIGEgY2xvc2UgcGFja2V0LlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblBvbGxpbmcucHJvdG90eXBlLmRvQ2xvc2UgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBzZWxmID0gdGhpcztcblxuICBmdW5jdGlvbiBjbG9zZSAoKSB7XG4gICAgZGVidWcoJ3dyaXRpbmcgY2xvc2UgcGFja2V0Jyk7XG4gICAgc2VsZi53cml0ZShbeyB0eXBlOiAnY2xvc2UnIH1dKTtcbiAgfVxuXG4gIGlmICgnb3BlbicgPT09IHRoaXMucmVhZHlTdGF0ZSkge1xuICAgIGRlYnVnKCd0cmFuc3BvcnQgb3BlbiAtIGNsb3NpbmcnKTtcbiAgICBjbG9zZSgpO1xuICB9IGVsc2Uge1xuICAgIC8vIGluIGNhc2Ugd2UncmUgdHJ5aW5nIHRvIGNsb3NlIHdoaWxlXG4gICAgLy8gaGFuZHNoYWtpbmcgaXMgaW4gcHJvZ3Jlc3MgKEdILTE2NClcbiAgICBkZWJ1ZygndHJhbnNwb3J0IG5vdCBvcGVuIC0gZGVmZXJyaW5nIGNsb3NlJyk7XG4gICAgdGhpcy5vbmNlKCdvcGVuJywgY2xvc2UpO1xuICB9XG59O1xuXG4vKipcbiAqIFdyaXRlcyBhIHBhY2tldHMgcGF5bG9hZC5cbiAqXG4gKiBAcGFyYW0ge0FycmF5fSBkYXRhIHBhY2tldHNcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGRyYWluIGNhbGxiYWNrXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Qb2xsaW5nLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uIChwYWNrZXRzKSB7XG4gIHZhciBzZWxmID0gdGhpcztcbiAgdGhpcy53cml0YWJsZSA9IGZhbHNlO1xuICB2YXIgY2FsbGJhY2tmbiA9IGZ1bmN0aW9uICgpIHtcbiAgICBzZWxmLndyaXRhYmxlID0gdHJ1ZTtcbiAgICBzZWxmLmVtaXQoJ2RyYWluJyk7XG4gIH07XG5cbiAgcGFyc2VyLmVuY29kZVBheWxvYWQocGFja2V0cywgdGhpcy5zdXBwb3J0c0JpbmFyeSwgZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBzZWxmLmRvV3JpdGUoZGF0YSwgY2FsbGJhY2tmbik7XG4gIH0pO1xufTtcblxuLyoqXG4gKiBHZW5lcmF0ZXMgdXJpIGZvciBjb25uZWN0aW9uLlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblBvbGxpbmcucHJvdG90eXBlLnVyaSA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIHF1ZXJ5ID0gdGhpcy5xdWVyeSB8fCB7fTtcbiAgdmFyIHNjaGVtYSA9IHRoaXMuc2VjdXJlID8gJ2h0dHBzJyA6ICdodHRwJztcbiAgdmFyIHBvcnQgPSAnJztcblxuICAvLyBjYWNoZSBidXN0aW5nIGlzIGZvcmNlZFxuICBpZiAoZmFsc2UgIT09IHRoaXMudGltZXN0YW1wUmVxdWVzdHMpIHtcbiAgICBxdWVyeVt0aGlzLnRpbWVzdGFtcFBhcmFtXSA9IHllYXN0KCk7XG4gIH1cblxuICBpZiAoIXRoaXMuc3VwcG9ydHNCaW5hcnkgJiYgIXF1ZXJ5LnNpZCkge1xuICAgIHF1ZXJ5LmI2NCA9IDE7XG4gIH1cblxuICBxdWVyeSA9IHBhcnNlcXMuZW5jb2RlKHF1ZXJ5KTtcblxuICAvLyBhdm9pZCBwb3J0IGlmIGRlZmF1bHQgZm9yIHNjaGVtYVxuICBpZiAodGhpcy5wb3J0ICYmICgoJ2h0dHBzJyA9PT0gc2NoZW1hICYmIE51bWJlcih0aGlzLnBvcnQpICE9PSA0NDMpIHx8XG4gICAgICgnaHR0cCcgPT09IHNjaGVtYSAmJiBOdW1iZXIodGhpcy5wb3J0KSAhPT0gODApKSkge1xuICAgIHBvcnQgPSAnOicgKyB0aGlzLnBvcnQ7XG4gIH1cblxuICAvLyBwcmVwZW5kID8gdG8gcXVlcnlcbiAgaWYgKHF1ZXJ5Lmxlbmd0aCkge1xuICAgIHF1ZXJ5ID0gJz8nICsgcXVlcnk7XG4gIH1cblxuICB2YXIgaXB2NiA9IHRoaXMuaG9zdG5hbWUuaW5kZXhPZignOicpICE9PSAtMTtcbiAgcmV0dXJuIHNjaGVtYSArICc6Ly8nICsgKGlwdjYgPyAnWycgKyB0aGlzLmhvc3RuYW1lICsgJ10nIDogdGhpcy5ob3N0bmFtZSkgKyBwb3J0ICsgdGhpcy5wYXRoICsgcXVlcnk7XG59O1xuIiwiLyoqXG4gKiBNb2R1bGUgZGVwZW5kZW5jaWVzLlxuICovXG5cbnZhciBUcmFuc3BvcnQgPSByZXF1aXJlKCcuLi90cmFuc3BvcnQnKTtcbnZhciBwYXJzZXIgPSByZXF1aXJlKCdlbmdpbmUuaW8tcGFyc2VyJyk7XG52YXIgcGFyc2VxcyA9IHJlcXVpcmUoJ3BhcnNlcXMnKTtcbnZhciBpbmhlcml0ID0gcmVxdWlyZSgnY29tcG9uZW50LWluaGVyaXQnKTtcbnZhciB5ZWFzdCA9IHJlcXVpcmUoJ3llYXN0Jyk7XG52YXIgZGVidWcgPSByZXF1aXJlKCdkZWJ1ZycpKCdlbmdpbmUuaW8tY2xpZW50OndlYnNvY2tldCcpO1xuXG52YXIgQnJvd3NlcldlYlNvY2tldCwgTm9kZVdlYlNvY2tldDtcblxuaWYgKHR5cGVvZiBXZWJTb2NrZXQgIT09ICd1bmRlZmluZWQnKSB7XG4gIEJyb3dzZXJXZWJTb2NrZXQgPSBXZWJTb2NrZXQ7XG59IGVsc2UgaWYgKHR5cGVvZiBzZWxmICE9PSAndW5kZWZpbmVkJykge1xuICBCcm93c2VyV2ViU29ja2V0ID0gc2VsZi5XZWJTb2NrZXQgfHwgc2VsZi5Nb3pXZWJTb2NrZXQ7XG59IGVsc2Uge1xuICB0cnkge1xuICAgIE5vZGVXZWJTb2NrZXQgPSByZXF1aXJlKCd3cycpO1xuICB9IGNhdGNoIChlKSB7IH1cbn1cblxuLyoqXG4gKiBHZXQgZWl0aGVyIHRoZSBgV2ViU29ja2V0YCBvciBgTW96V2ViU29ja2V0YCBnbG9iYWxzXG4gKiBpbiB0aGUgYnJvd3NlciBvciB0cnkgdG8gcmVzb2x2ZSBXZWJTb2NrZXQtY29tcGF0aWJsZVxuICogaW50ZXJmYWNlIGV4cG9zZWQgYnkgYHdzYCBmb3IgTm9kZS1saWtlIGVudmlyb25tZW50LlxuICovXG5cbnZhciBXZWJTb2NrZXRJbXBsID0gQnJvd3NlcldlYlNvY2tldCB8fCBOb2RlV2ViU29ja2V0O1xuXG4vKipcbiAqIE1vZHVsZSBleHBvcnRzLlxuICovXG5cbm1vZHVsZS5leHBvcnRzID0gV1M7XG5cbi8qKlxuICogV2ViU29ja2V0IHRyYW5zcG9ydCBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAYXBpIHtPYmplY3R9IGNvbm5lY3Rpb24gb3B0aW9uc1xuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBXUyAob3B0cykge1xuICB2YXIgZm9yY2VCYXNlNjQgPSAob3B0cyAmJiBvcHRzLmZvcmNlQmFzZTY0KTtcbiAgaWYgKGZvcmNlQmFzZTY0KSB7XG4gICAgdGhpcy5zdXBwb3J0c0JpbmFyeSA9IGZhbHNlO1xuICB9XG4gIHRoaXMucGVyTWVzc2FnZURlZmxhdGUgPSBvcHRzLnBlck1lc3NhZ2VEZWZsYXRlO1xuICB0aGlzLnVzaW5nQnJvd3NlcldlYlNvY2tldCA9IEJyb3dzZXJXZWJTb2NrZXQgJiYgIW9wdHMuZm9yY2VOb2RlO1xuICB0aGlzLnByb3RvY29scyA9IG9wdHMucHJvdG9jb2xzO1xuICBpZiAoIXRoaXMudXNpbmdCcm93c2VyV2ViU29ja2V0KSB7XG4gICAgV2ViU29ja2V0SW1wbCA9IE5vZGVXZWJTb2NrZXQ7XG4gIH1cbiAgVHJhbnNwb3J0LmNhbGwodGhpcywgb3B0cyk7XG59XG5cbi8qKlxuICogSW5oZXJpdHMgZnJvbSBUcmFuc3BvcnQuXG4gKi9cblxuaW5oZXJpdChXUywgVHJhbnNwb3J0KTtcblxuLyoqXG4gKiBUcmFuc3BvcnQgbmFtZS5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbldTLnByb3RvdHlwZS5uYW1lID0gJ3dlYnNvY2tldCc7XG5cbi8qXG4gKiBXZWJTb2NrZXRzIHN1cHBvcnQgYmluYXJ5XG4gKi9cblxuV1MucHJvdG90eXBlLnN1cHBvcnRzQmluYXJ5ID0gdHJ1ZTtcblxuLyoqXG4gKiBPcGVucyBzb2NrZXQuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuV1MucHJvdG90eXBlLmRvT3BlbiA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKCF0aGlzLmNoZWNrKCkpIHtcbiAgICAvLyBsZXQgcHJvYmUgdGltZW91dFxuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciB1cmkgPSB0aGlzLnVyaSgpO1xuICB2YXIgcHJvdG9jb2xzID0gdGhpcy5wcm90b2NvbHM7XG4gIHZhciBvcHRzID0ge1xuICAgIGFnZW50OiB0aGlzLmFnZW50LFxuICAgIHBlck1lc3NhZ2VEZWZsYXRlOiB0aGlzLnBlck1lc3NhZ2VEZWZsYXRlXG4gIH07XG5cbiAgLy8gU1NMIG9wdGlvbnMgZm9yIE5vZGUuanMgY2xpZW50XG4gIG9wdHMucGZ4ID0gdGhpcy5wZng7XG4gIG9wdHMua2V5ID0gdGhpcy5rZXk7XG4gIG9wdHMucGFzc3BocmFzZSA9IHRoaXMucGFzc3BocmFzZTtcbiAgb3B0cy5jZXJ0ID0gdGhpcy5jZXJ0O1xuICBvcHRzLmNhID0gdGhpcy5jYTtcbiAgb3B0cy5jaXBoZXJzID0gdGhpcy5jaXBoZXJzO1xuICBvcHRzLnJlamVjdFVuYXV0aG9yaXplZCA9IHRoaXMucmVqZWN0VW5hdXRob3JpemVkO1xuICBpZiAodGhpcy5leHRyYUhlYWRlcnMpIHtcbiAgICBvcHRzLmhlYWRlcnMgPSB0aGlzLmV4dHJhSGVhZGVycztcbiAgfVxuICBpZiAodGhpcy5sb2NhbEFkZHJlc3MpIHtcbiAgICBvcHRzLmxvY2FsQWRkcmVzcyA9IHRoaXMubG9jYWxBZGRyZXNzO1xuICB9XG5cbiAgdHJ5IHtcbiAgICB0aGlzLndzID1cbiAgICAgIHRoaXMudXNpbmdCcm93c2VyV2ViU29ja2V0ICYmICF0aGlzLmlzUmVhY3ROYXRpdmVcbiAgICAgICAgPyBwcm90b2NvbHNcbiAgICAgICAgICA/IG5ldyBXZWJTb2NrZXRJbXBsKHVyaSwgcHJvdG9jb2xzKVxuICAgICAgICAgIDogbmV3IFdlYlNvY2tldEltcGwodXJpKVxuICAgICAgICA6IG5ldyBXZWJTb2NrZXRJbXBsKHVyaSwgcHJvdG9jb2xzLCBvcHRzKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgcmV0dXJuIHRoaXMuZW1pdCgnZXJyb3InLCBlcnIpO1xuICB9XG5cbiAgaWYgKHRoaXMud3MuYmluYXJ5VHlwZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5zdXBwb3J0c0JpbmFyeSA9IGZhbHNlO1xuICB9XG5cbiAgaWYgKHRoaXMud3Muc3VwcG9ydHMgJiYgdGhpcy53cy5zdXBwb3J0cy5iaW5hcnkpIHtcbiAgICB0aGlzLnN1cHBvcnRzQmluYXJ5ID0gdHJ1ZTtcbiAgICB0aGlzLndzLmJpbmFyeVR5cGUgPSAnbm9kZWJ1ZmZlcic7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy53cy5iaW5hcnlUeXBlID0gJ2FycmF5YnVmZmVyJztcbiAgfVxuXG4gIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcnMoKTtcbn07XG5cbi8qKlxuICogQWRkcyBldmVudCBsaXN0ZW5lcnMgdG8gdGhlIHNvY2tldFxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbldTLnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVycyA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gIHRoaXMud3Mub25vcGVuID0gZnVuY3Rpb24gKCkge1xuICAgIHNlbGYub25PcGVuKCk7XG4gIH07XG4gIHRoaXMud3Mub25jbG9zZSA9IGZ1bmN0aW9uICgpIHtcbiAgICBzZWxmLm9uQ2xvc2UoKTtcbiAgfTtcbiAgdGhpcy53cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAoZXYpIHtcbiAgICBzZWxmLm9uRGF0YShldi5kYXRhKTtcbiAgfTtcbiAgdGhpcy53cy5vbmVycm9yID0gZnVuY3Rpb24gKGUpIHtcbiAgICBzZWxmLm9uRXJyb3IoJ3dlYnNvY2tldCBlcnJvcicsIGUpO1xuICB9O1xufTtcblxuLyoqXG4gKiBXcml0ZXMgZGF0YSB0byBzb2NrZXQuXG4gKlxuICogQHBhcmFtIHtBcnJheX0gYXJyYXkgb2YgcGFja2V0cy5cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbldTLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uIChwYWNrZXRzKSB7XG4gIHZhciBzZWxmID0gdGhpcztcbiAgdGhpcy53cml0YWJsZSA9IGZhbHNlO1xuXG4gIC8vIGVuY29kZVBhY2tldCBlZmZpY2llbnQgYXMgaXQgdXNlcyBXUyBmcmFtaW5nXG4gIC8vIG5vIG5lZWQgZm9yIGVuY29kZVBheWxvYWRcbiAgdmFyIHRvdGFsID0gcGFja2V0cy5sZW5ndGg7XG4gIGZvciAodmFyIGkgPSAwLCBsID0gdG90YWw7IGkgPCBsOyBpKyspIHtcbiAgICAoZnVuY3Rpb24gKHBhY2tldCkge1xuICAgICAgcGFyc2VyLmVuY29kZVBhY2tldChwYWNrZXQsIHNlbGYuc3VwcG9ydHNCaW5hcnksIGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgIGlmICghc2VsZi51c2luZ0Jyb3dzZXJXZWJTb2NrZXQpIHtcbiAgICAgICAgICAvLyBhbHdheXMgY3JlYXRlIGEgbmV3IG9iamVjdCAoR0gtNDM3KVxuICAgICAgICAgIHZhciBvcHRzID0ge307XG4gICAgICAgICAgaWYgKHBhY2tldC5vcHRpb25zKSB7XG4gICAgICAgICAgICBvcHRzLmNvbXByZXNzID0gcGFja2V0Lm9wdGlvbnMuY29tcHJlc3M7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHNlbGYucGVyTWVzc2FnZURlZmxhdGUpIHtcbiAgICAgICAgICAgIHZhciBsZW4gPSAnc3RyaW5nJyA9PT0gdHlwZW9mIGRhdGEgPyBCdWZmZXIuYnl0ZUxlbmd0aChkYXRhKSA6IGRhdGEubGVuZ3RoO1xuICAgICAgICAgICAgaWYgKGxlbiA8IHNlbGYucGVyTWVzc2FnZURlZmxhdGUudGhyZXNob2xkKSB7XG4gICAgICAgICAgICAgIG9wdHMuY29tcHJlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTb21ldGltZXMgdGhlIHdlYnNvY2tldCBoYXMgYWxyZWFkeSBiZWVuIGNsb3NlZCBidXQgdGhlIGJyb3dzZXIgZGlkbid0XG4gICAgICAgIC8vIGhhdmUgYSBjaGFuY2Ugb2YgaW5mb3JtaW5nIHVzIGFib3V0IGl0IHlldCwgaW4gdGhhdCBjYXNlIHNlbmQgd2lsbFxuICAgICAgICAvLyB0aHJvdyBhbiBlcnJvclxuICAgICAgICB0cnkge1xuICAgICAgICAgIGlmIChzZWxmLnVzaW5nQnJvd3NlcldlYlNvY2tldCkge1xuICAgICAgICAgICAgLy8gVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHBhc3NpbmcgdGhlIHNlY29uZCBhcmd1bWVudCBvbiBTYWZhcmlcbiAgICAgICAgICAgIHNlbGYud3Muc2VuZChkYXRhKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2VsZi53cy5zZW5kKGRhdGEsIG9wdHMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGRlYnVnKCd3ZWJzb2NrZXQgY2xvc2VkIGJlZm9yZSBvbmNsb3NlIGV2ZW50Jyk7XG4gICAgICAgIH1cblxuICAgICAgICAtLXRvdGFsIHx8IGRvbmUoKTtcbiAgICAgIH0pO1xuICAgIH0pKHBhY2tldHNbaV0pO1xuICB9XG5cbiAgZnVuY3Rpb24gZG9uZSAoKSB7XG4gICAgc2VsZi5lbWl0KCdmbHVzaCcpO1xuXG4gICAgLy8gZmFrZSBkcmFpblxuICAgIC8vIGRlZmVyIHRvIG5leHQgdGljayB0byBhbGxvdyBTb2NrZXQgdG8gY2xlYXIgd3JpdGVCdWZmZXJcbiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgIHNlbGYud3JpdGFibGUgPSB0cnVlO1xuICAgICAgc2VsZi5lbWl0KCdkcmFpbicpO1xuICAgIH0sIDApO1xuICB9XG59O1xuXG4vKipcbiAqIENhbGxlZCB1cG9uIGNsb3NlXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuV1MucHJvdG90eXBlLm9uQ2xvc2UgPSBmdW5jdGlvbiAoKSB7XG4gIFRyYW5zcG9ydC5wcm90b3R5cGUub25DbG9zZS5jYWxsKHRoaXMpO1xufTtcblxuLyoqXG4gKiBDbG9zZXMgc29ja2V0LlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbldTLnByb3RvdHlwZS5kb0Nsb3NlID0gZnVuY3Rpb24gKCkge1xuICBpZiAodHlwZW9mIHRoaXMud3MgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgdGhpcy53cy5jbG9zZSgpO1xuICB9XG59O1xuXG4vKipcbiAqIEdlbmVyYXRlcyB1cmkgZm9yIGNvbm5lY3Rpb24uXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuV1MucHJvdG90eXBlLnVyaSA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIHF1ZXJ5ID0gdGhpcy5xdWVyeSB8fCB7fTtcbiAgdmFyIHNjaGVtYSA9IHRoaXMuc2VjdXJlID8gJ3dzcycgOiAnd3MnO1xuICB2YXIgcG9ydCA9ICcnO1xuXG4gIC8vIGF2b2lkIHBvcnQgaWYgZGVmYXVsdCBmb3Igc2NoZW1hXG4gIGlmICh0aGlzLnBvcnQgJiYgKCgnd3NzJyA9PT0gc2NoZW1hICYmIE51bWJlcih0aGlzLnBvcnQpICE9PSA0NDMpIHx8XG4gICAgKCd3cycgPT09IHNjaGVtYSAmJiBOdW1iZXIodGhpcy5wb3J0KSAhPT0gODApKSkge1xuICAgIHBvcnQgPSAnOicgKyB0aGlzLnBvcnQ7XG4gIH1cblxuICAvLyBhcHBlbmQgdGltZXN0YW1wIHRvIFVSSVxuICBpZiAodGhpcy50aW1lc3RhbXBSZXF1ZXN0cykge1xuICAgIHF1ZXJ5W3RoaXMudGltZXN0YW1wUGFyYW1dID0geWVhc3QoKTtcbiAgfVxuXG4gIC8vIGNvbW11bmljYXRlIGJpbmFyeSBzdXBwb3J0IGNhcGFiaWxpdGllc1xuICBpZiAoIXRoaXMuc3VwcG9ydHNCaW5hcnkpIHtcbiAgICBxdWVyeS5iNjQgPSAxO1xuICB9XG5cbiAgcXVlcnkgPSBwYXJzZXFzLmVuY29kZShxdWVyeSk7XG5cbiAgLy8gcHJlcGVuZCA/IHRvIHF1ZXJ5XG4gIGlmIChxdWVyeS5sZW5ndGgpIHtcbiAgICBxdWVyeSA9ICc/JyArIHF1ZXJ5O1xuICB9XG5cbiAgdmFyIGlwdjYgPSB0aGlzLmhvc3RuYW1lLmluZGV4T2YoJzonKSAhPT0gLTE7XG4gIHJldHVybiBzY2hlbWEgKyAnOi8vJyArIChpcHY2ID8gJ1snICsgdGhpcy5ob3N0bmFtZSArICddJyA6IHRoaXMuaG9zdG5hbWUpICsgcG9ydCArIHRoaXMucGF0aCArIHF1ZXJ5O1xufTtcblxuLyoqXG4gKiBGZWF0dXJlIGRldGVjdGlvbiBmb3IgV2ViU29ja2V0LlxuICpcbiAqIEByZXR1cm4ge0Jvb2xlYW59IHdoZXRoZXIgdGhpcyB0cmFuc3BvcnQgaXMgYXZhaWxhYmxlLlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5XUy5wcm90b3R5cGUuY2hlY2sgPSBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiAhIVdlYlNvY2tldEltcGwgJiYgISgnX19pbml0aWFsaXplJyBpbiBXZWJTb2NrZXRJbXBsICYmIHRoaXMubmFtZSA9PT0gV1MucHJvdG90eXBlLm5hbWUpO1xufTtcbiIsIi8vIGJyb3dzZXIgc2hpbSBmb3IgeG1saHR0cHJlcXVlc3QgbW9kdWxlXG5cbnZhciBoYXNDT1JTID0gcmVxdWlyZSgnaGFzLWNvcnMnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAob3B0cykge1xuICB2YXIgeGRvbWFpbiA9IG9wdHMueGRvbWFpbjtcblxuICAvLyBzY2hlbWUgbXVzdCBiZSBzYW1lIHdoZW4gdXNpZ24gWERvbWFpblJlcXVlc3RcbiAgLy8gaHR0cDovL2Jsb2dzLm1zZG4uY29tL2IvaWVpbnRlcm5hbHMvYXJjaGl2ZS8yMDEwLzA1LzEzL3hkb21haW5yZXF1ZXN0LXJlc3RyaWN0aW9ucy1saW1pdGF0aW9ucy1hbmQtd29ya2Fyb3VuZHMuYXNweFxuICB2YXIgeHNjaGVtZSA9IG9wdHMueHNjaGVtZTtcblxuICAvLyBYRG9tYWluUmVxdWVzdCBoYXMgYSBmbG93IG9mIG5vdCBzZW5kaW5nIGNvb2tpZSwgdGhlcmVmb3JlIGl0IHNob3VsZCBiZSBkaXNhYmxlZCBhcyBhIGRlZmF1bHQuXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9BdXRvbWF0dGljL2VuZ2luZS5pby1jbGllbnQvcHVsbC8yMTdcbiAgdmFyIGVuYWJsZXNYRFIgPSBvcHRzLmVuYWJsZXNYRFI7XG5cbiAgLy8gWE1MSHR0cFJlcXVlc3QgY2FuIGJlIGRpc2FibGVkIG9uIElFXG4gIHRyeSB7XG4gICAgaWYgKCd1bmRlZmluZWQnICE9PSB0eXBlb2YgWE1MSHR0cFJlcXVlc3QgJiYgKCF4ZG9tYWluIHx8IGhhc0NPUlMpKSB7XG4gICAgICByZXR1cm4gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XG4gICAgfVxuICB9IGNhdGNoIChlKSB7IH1cblxuICAvLyBVc2UgWERvbWFpblJlcXVlc3QgZm9yIElFOCBpZiBlbmFibGVzWERSIGlzIHRydWVcbiAgLy8gYmVjYXVzZSBsb2FkaW5nIGJhciBrZWVwcyBmbGFzaGluZyB3aGVuIHVzaW5nIGpzb25wLXBvbGxpbmdcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3l1amlvc2FrYS9zb2NrZS5pby1pZTgtbG9hZGluZy1leGFtcGxlXG4gIHRyeSB7XG4gICAgaWYgKCd1bmRlZmluZWQnICE9PSB0eXBlb2YgWERvbWFpblJlcXVlc3QgJiYgIXhzY2hlbWUgJiYgZW5hYmxlc1hEUikge1xuICAgICAgcmV0dXJuIG5ldyBYRG9tYWluUmVxdWVzdCgpO1xuICAgIH1cbiAgfSBjYXRjaCAoZSkgeyB9XG5cbiAgaWYgKCF4ZG9tYWluKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBuZXcgc2VsZltbJ0FjdGl2ZSddLmNvbmNhdCgnT2JqZWN0Jykuam9pbignWCcpXSgnTWljcm9zb2Z0LlhNTEhUVFAnKTtcbiAgICB9IGNhdGNoIChlKSB7IH1cbiAgfVxufTtcbiIsIi8qKlxuICogTW9kdWxlIGRlcGVuZGVuY2llcy5cbiAqL1xuXG52YXIga2V5cyA9IHJlcXVpcmUoJy4va2V5cycpO1xudmFyIGhhc0JpbmFyeSA9IHJlcXVpcmUoJ2hhcy1iaW5hcnkyJyk7XG52YXIgc2xpY2VCdWZmZXIgPSByZXF1aXJlKCdhcnJheWJ1ZmZlci5zbGljZScpO1xudmFyIGFmdGVyID0gcmVxdWlyZSgnYWZ0ZXInKTtcbnZhciB1dGY4ID0gcmVxdWlyZSgnLi91dGY4Jyk7XG5cbnZhciBiYXNlNjRlbmNvZGVyO1xuaWYgKHR5cGVvZiBBcnJheUJ1ZmZlciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgYmFzZTY0ZW5jb2RlciA9IHJlcXVpcmUoJ2Jhc2U2NC1hcnJheWJ1ZmZlcicpO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHdlIGFyZSBydW5uaW5nIGFuIGFuZHJvaWQgYnJvd3Nlci4gVGhhdCByZXF1aXJlcyB1cyB0byB1c2VcbiAqIEFycmF5QnVmZmVyIHdpdGggcG9sbGluZyB0cmFuc3BvcnRzLi4uXG4gKlxuICogaHR0cDovL2doaW5kYS5uZXQvanBlZy1ibG9iLWFqYXgtYW5kcm9pZC9cbiAqL1xuXG52YXIgaXNBbmRyb2lkID0gdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgL0FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuXG4vKipcbiAqIENoZWNrIGlmIHdlIGFyZSBydW5uaW5nIGluIFBoYW50b21KUy5cbiAqIFVwbG9hZGluZyBhIEJsb2Igd2l0aCBQaGFudG9tSlMgZG9lcyBub3Qgd29yayBjb3JyZWN0bHksIGFzIHJlcG9ydGVkIGhlcmU6XG4gKiBodHRwczovL2dpdGh1Yi5jb20vYXJpeWEvcGhhbnRvbWpzL2lzc3Vlcy8xMTM5NVxuICogQHR5cGUgYm9vbGVhblxuICovXG52YXIgaXNQaGFudG9tSlMgPSB0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiAvUGhhbnRvbUpTL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcblxuLyoqXG4gKiBXaGVuIHRydWUsIGF2b2lkcyB1c2luZyBCbG9icyB0byBlbmNvZGUgcGF5bG9hZHMuXG4gKiBAdHlwZSBib29sZWFuXG4gKi9cbnZhciBkb250U2VuZEJsb2JzID0gaXNBbmRyb2lkIHx8IGlzUGhhbnRvbUpTO1xuXG4vKipcbiAqIEN1cnJlbnQgcHJvdG9jb2wgdmVyc2lvbi5cbiAqL1xuXG5leHBvcnRzLnByb3RvY29sID0gMztcblxuLyoqXG4gKiBQYWNrZXQgdHlwZXMuXG4gKi9cblxudmFyIHBhY2tldHMgPSBleHBvcnRzLnBhY2tldHMgPSB7XG4gICAgb3BlbjogICAgIDAgICAgLy8gbm9uLXdzXG4gICwgY2xvc2U6ICAgIDEgICAgLy8gbm9uLXdzXG4gICwgcGluZzogICAgIDJcbiAgLCBwb25nOiAgICAgM1xuICAsIG1lc3NhZ2U6ICA0XG4gICwgdXBncmFkZTogIDVcbiAgLCBub29wOiAgICAgNlxufTtcblxudmFyIHBhY2tldHNsaXN0ID0ga2V5cyhwYWNrZXRzKTtcblxuLyoqXG4gKiBQcmVtYWRlIGVycm9yIHBhY2tldC5cbiAqL1xuXG52YXIgZXJyID0geyB0eXBlOiAnZXJyb3InLCBkYXRhOiAncGFyc2VyIGVycm9yJyB9O1xuXG4vKipcbiAqIENyZWF0ZSBhIGJsb2IgYXBpIGV2ZW4gZm9yIGJsb2IgYnVpbGRlciB3aGVuIHZlbmRvciBwcmVmaXhlcyBleGlzdFxuICovXG5cbnZhciBCbG9iID0gcmVxdWlyZSgnYmxvYicpO1xuXG4vKipcbiAqIEVuY29kZXMgYSBwYWNrZXQuXG4gKlxuICogICAgIDxwYWNrZXQgdHlwZSBpZD4gWyA8ZGF0YT4gXVxuICpcbiAqIEV4YW1wbGU6XG4gKlxuICogICAgIDVoZWxsbyB3b3JsZFxuICogICAgIDNcbiAqICAgICA0XG4gKlxuICogQmluYXJ5IGlzIGVuY29kZWQgaW4gYW4gaWRlbnRpY2FsIHByaW5jaXBsZVxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmV4cG9ydHMuZW5jb2RlUGFja2V0ID0gZnVuY3Rpb24gKHBhY2tldCwgc3VwcG9ydHNCaW5hcnksIHV0ZjhlbmNvZGUsIGNhbGxiYWNrKSB7XG4gIGlmICh0eXBlb2Ygc3VwcG9ydHNCaW5hcnkgPT09ICdmdW5jdGlvbicpIHtcbiAgICBjYWxsYmFjayA9IHN1cHBvcnRzQmluYXJ5O1xuICAgIHN1cHBvcnRzQmluYXJ5ID0gZmFsc2U7XG4gIH1cblxuICBpZiAodHlwZW9mIHV0ZjhlbmNvZGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICBjYWxsYmFjayA9IHV0ZjhlbmNvZGU7XG4gICAgdXRmOGVuY29kZSA9IG51bGw7XG4gIH1cblxuICB2YXIgZGF0YSA9IChwYWNrZXQuZGF0YSA9PT0gdW5kZWZpbmVkKVxuICAgID8gdW5kZWZpbmVkXG4gICAgOiBwYWNrZXQuZGF0YS5idWZmZXIgfHwgcGFja2V0LmRhdGE7XG5cbiAgaWYgKHR5cGVvZiBBcnJheUJ1ZmZlciAhPT0gJ3VuZGVmaW5lZCcgJiYgZGF0YSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSB7XG4gICAgcmV0dXJuIGVuY29kZUFycmF5QnVmZmVyKHBhY2tldCwgc3VwcG9ydHNCaW5hcnksIGNhbGxiYWNrKTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgQmxvYiAhPT0gJ3VuZGVmaW5lZCcgJiYgZGF0YSBpbnN0YW5jZW9mIEJsb2IpIHtcbiAgICByZXR1cm4gZW5jb2RlQmxvYihwYWNrZXQsIHN1cHBvcnRzQmluYXJ5LCBjYWxsYmFjayk7XG4gIH1cblxuICAvLyBtaWdodCBiZSBhbiBvYmplY3Qgd2l0aCB7IGJhc2U2NDogdHJ1ZSwgZGF0YTogZGF0YUFzQmFzZTY0U3RyaW5nIH1cbiAgaWYgKGRhdGEgJiYgZGF0YS5iYXNlNjQpIHtcbiAgICByZXR1cm4gZW5jb2RlQmFzZTY0T2JqZWN0KHBhY2tldCwgY2FsbGJhY2spO1xuICB9XG5cbiAgLy8gU2VuZGluZyBkYXRhIGFzIGEgdXRmLTggc3RyaW5nXG4gIHZhciBlbmNvZGVkID0gcGFja2V0c1twYWNrZXQudHlwZV07XG5cbiAgLy8gZGF0YSBmcmFnbWVudCBpcyBvcHRpb25hbFxuICBpZiAodW5kZWZpbmVkICE9PSBwYWNrZXQuZGF0YSkge1xuICAgIGVuY29kZWQgKz0gdXRmOGVuY29kZSA/IHV0ZjguZW5jb2RlKFN0cmluZyhwYWNrZXQuZGF0YSksIHsgc3RyaWN0OiBmYWxzZSB9KSA6IFN0cmluZyhwYWNrZXQuZGF0YSk7XG4gIH1cblxuICByZXR1cm4gY2FsbGJhY2soJycgKyBlbmNvZGVkKTtcblxufTtcblxuZnVuY3Rpb24gZW5jb2RlQmFzZTY0T2JqZWN0KHBhY2tldCwgY2FsbGJhY2spIHtcbiAgLy8gcGFja2V0IGRhdGEgaXMgYW4gb2JqZWN0IHsgYmFzZTY0OiB0cnVlLCBkYXRhOiBkYXRhQXNCYXNlNjRTdHJpbmcgfVxuICB2YXIgbWVzc2FnZSA9ICdiJyArIGV4cG9ydHMucGFja2V0c1twYWNrZXQudHlwZV0gKyBwYWNrZXQuZGF0YS5kYXRhO1xuICByZXR1cm4gY2FsbGJhY2sobWVzc2FnZSk7XG59XG5cbi8qKlxuICogRW5jb2RlIHBhY2tldCBoZWxwZXJzIGZvciBiaW5hcnkgdHlwZXNcbiAqL1xuXG5mdW5jdGlvbiBlbmNvZGVBcnJheUJ1ZmZlcihwYWNrZXQsIHN1cHBvcnRzQmluYXJ5LCBjYWxsYmFjaykge1xuICBpZiAoIXN1cHBvcnRzQmluYXJ5KSB7XG4gICAgcmV0dXJuIGV4cG9ydHMuZW5jb2RlQmFzZTY0UGFja2V0KHBhY2tldCwgY2FsbGJhY2spO1xuICB9XG5cbiAgdmFyIGRhdGEgPSBwYWNrZXQuZGF0YTtcbiAgdmFyIGNvbnRlbnRBcnJheSA9IG5ldyBVaW50OEFycmF5KGRhdGEpO1xuICB2YXIgcmVzdWx0QnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoMSArIGRhdGEuYnl0ZUxlbmd0aCk7XG5cbiAgcmVzdWx0QnVmZmVyWzBdID0gcGFja2V0c1twYWNrZXQudHlwZV07XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgY29udGVudEFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgcmVzdWx0QnVmZmVyW2krMV0gPSBjb250ZW50QXJyYXlbaV07XG4gIH1cblxuICByZXR1cm4gY2FsbGJhY2socmVzdWx0QnVmZmVyLmJ1ZmZlcik7XG59XG5cbmZ1bmN0aW9uIGVuY29kZUJsb2JBc0FycmF5QnVmZmVyKHBhY2tldCwgc3VwcG9ydHNCaW5hcnksIGNhbGxiYWNrKSB7XG4gIGlmICghc3VwcG9ydHNCaW5hcnkpIHtcbiAgICByZXR1cm4gZXhwb3J0cy5lbmNvZGVCYXNlNjRQYWNrZXQocGFja2V0LCBjYWxsYmFjayk7XG4gIH1cblxuICB2YXIgZnIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICBmci5vbmxvYWQgPSBmdW5jdGlvbigpIHtcbiAgICBleHBvcnRzLmVuY29kZVBhY2tldCh7IHR5cGU6IHBhY2tldC50eXBlLCBkYXRhOiBmci5yZXN1bHQgfSwgc3VwcG9ydHNCaW5hcnksIHRydWUsIGNhbGxiYWNrKTtcbiAgfTtcbiAgcmV0dXJuIGZyLnJlYWRBc0FycmF5QnVmZmVyKHBhY2tldC5kYXRhKTtcbn1cblxuZnVuY3Rpb24gZW5jb2RlQmxvYihwYWNrZXQsIHN1cHBvcnRzQmluYXJ5LCBjYWxsYmFjaykge1xuICBpZiAoIXN1cHBvcnRzQmluYXJ5KSB7XG4gICAgcmV0dXJuIGV4cG9ydHMuZW5jb2RlQmFzZTY0UGFja2V0KHBhY2tldCwgY2FsbGJhY2spO1xuICB9XG5cbiAgaWYgKGRvbnRTZW5kQmxvYnMpIHtcbiAgICByZXR1cm4gZW5jb2RlQmxvYkFzQXJyYXlCdWZmZXIocGFja2V0LCBzdXBwb3J0c0JpbmFyeSwgY2FsbGJhY2spO1xuICB9XG5cbiAgdmFyIGxlbmd0aCA9IG5ldyBVaW50OEFycmF5KDEpO1xuICBsZW5ndGhbMF0gPSBwYWNrZXRzW3BhY2tldC50eXBlXTtcbiAgdmFyIGJsb2IgPSBuZXcgQmxvYihbbGVuZ3RoLmJ1ZmZlciwgcGFja2V0LmRhdGFdKTtcblxuICByZXR1cm4gY2FsbGJhY2soYmxvYik7XG59XG5cbi8qKlxuICogRW5jb2RlcyBhIHBhY2tldCB3aXRoIGJpbmFyeSBkYXRhIGluIGEgYmFzZTY0IHN0cmluZ1xuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYWNrZXQsIGhhcyBgdHlwZWAgYW5kIGBkYXRhYFxuICogQHJldHVybiB7U3RyaW5nfSBiYXNlNjQgZW5jb2RlZCBtZXNzYWdlXG4gKi9cblxuZXhwb3J0cy5lbmNvZGVCYXNlNjRQYWNrZXQgPSBmdW5jdGlvbihwYWNrZXQsIGNhbGxiYWNrKSB7XG4gIHZhciBtZXNzYWdlID0gJ2InICsgZXhwb3J0cy5wYWNrZXRzW3BhY2tldC50eXBlXTtcbiAgaWYgKHR5cGVvZiBCbG9iICE9PSAndW5kZWZpbmVkJyAmJiBwYWNrZXQuZGF0YSBpbnN0YW5jZW9mIEJsb2IpIHtcbiAgICB2YXIgZnIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgIGZyLm9ubG9hZCA9IGZ1bmN0aW9uKCkge1xuICAgICAgdmFyIGI2NCA9IGZyLnJlc3VsdC5zcGxpdCgnLCcpWzFdO1xuICAgICAgY2FsbGJhY2sobWVzc2FnZSArIGI2NCk7XG4gICAgfTtcbiAgICByZXR1cm4gZnIucmVhZEFzRGF0YVVSTChwYWNrZXQuZGF0YSk7XG4gIH1cblxuICB2YXIgYjY0ZGF0YTtcbiAgdHJ5IHtcbiAgICBiNjRkYXRhID0gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLCBuZXcgVWludDhBcnJheShwYWNrZXQuZGF0YSkpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gaVBob25lIFNhZmFyaSBkb2Vzbid0IGxldCB5b3UgYXBwbHkgd2l0aCB0eXBlZCBhcnJheXNcbiAgICB2YXIgdHlwZWQgPSBuZXcgVWludDhBcnJheShwYWNrZXQuZGF0YSk7XG4gICAgdmFyIGJhc2ljID0gbmV3IEFycmF5KHR5cGVkLmxlbmd0aCk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0eXBlZC5sZW5ndGg7IGkrKykge1xuICAgICAgYmFzaWNbaV0gPSB0eXBlZFtpXTtcbiAgICB9XG4gICAgYjY0ZGF0YSA9IFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCwgYmFzaWMpO1xuICB9XG4gIG1lc3NhZ2UgKz0gYnRvYShiNjRkYXRhKTtcbiAgcmV0dXJuIGNhbGxiYWNrKG1lc3NhZ2UpO1xufTtcblxuLyoqXG4gKiBEZWNvZGVzIGEgcGFja2V0LiBDaGFuZ2VzIGZvcm1hdCB0byBCbG9iIGlmIHJlcXVlc3RlZC5cbiAqXG4gKiBAcmV0dXJuIHtPYmplY3R9IHdpdGggYHR5cGVgIGFuZCBgZGF0YWAgKGlmIGFueSlcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmV4cG9ydHMuZGVjb2RlUGFja2V0ID0gZnVuY3Rpb24gKGRhdGEsIGJpbmFyeVR5cGUsIHV0ZjhkZWNvZGUpIHtcbiAgaWYgKGRhdGEgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBlcnI7XG4gIH1cbiAgLy8gU3RyaW5nIGRhdGFcbiAgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xuICAgIGlmIChkYXRhLmNoYXJBdCgwKSA9PT0gJ2InKSB7XG4gICAgICByZXR1cm4gZXhwb3J0cy5kZWNvZGVCYXNlNjRQYWNrZXQoZGF0YS5zdWJzdHIoMSksIGJpbmFyeVR5cGUpO1xuICAgIH1cblxuICAgIGlmICh1dGY4ZGVjb2RlKSB7XG4gICAgICBkYXRhID0gdHJ5RGVjb2RlKGRhdGEpO1xuICAgICAgaWYgKGRhdGEgPT09IGZhbHNlKSB7XG4gICAgICAgIHJldHVybiBlcnI7XG4gICAgICB9XG4gICAgfVxuICAgIHZhciB0eXBlID0gZGF0YS5jaGFyQXQoMCk7XG5cbiAgICBpZiAoTnVtYmVyKHR5cGUpICE9IHR5cGUgfHwgIXBhY2tldHNsaXN0W3R5cGVdKSB7XG4gICAgICByZXR1cm4gZXJyO1xuICAgIH1cblxuICAgIGlmIChkYXRhLmxlbmd0aCA+IDEpIHtcbiAgICAgIHJldHVybiB7IHR5cGU6IHBhY2tldHNsaXN0W3R5cGVdLCBkYXRhOiBkYXRhLnN1YnN0cmluZygxKSB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4geyB0eXBlOiBwYWNrZXRzbGlzdFt0eXBlXSB9O1xuICAgIH1cbiAgfVxuXG4gIHZhciBhc0FycmF5ID0gbmV3IFVpbnQ4QXJyYXkoZGF0YSk7XG4gIHZhciB0eXBlID0gYXNBcnJheVswXTtcbiAgdmFyIHJlc3QgPSBzbGljZUJ1ZmZlcihkYXRhLCAxKTtcbiAgaWYgKEJsb2IgJiYgYmluYXJ5VHlwZSA9PT0gJ2Jsb2InKSB7XG4gICAgcmVzdCA9IG5ldyBCbG9iKFtyZXN0XSk7XG4gIH1cbiAgcmV0dXJuIHsgdHlwZTogcGFja2V0c2xpc3RbdHlwZV0sIGRhdGE6IHJlc3QgfTtcbn07XG5cbmZ1bmN0aW9uIHRyeURlY29kZShkYXRhKSB7XG4gIHRyeSB7XG4gICAgZGF0YSA9IHV0ZjguZGVjb2RlKGRhdGEsIHsgc3RyaWN0OiBmYWxzZSB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gZGF0YTtcbn1cblxuLyoqXG4gKiBEZWNvZGVzIGEgcGFja2V0IGVuY29kZWQgaW4gYSBiYXNlNjQgc3RyaW5nXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGJhc2U2NCBlbmNvZGVkIG1lc3NhZ2VcbiAqIEByZXR1cm4ge09iamVjdH0gd2l0aCBgdHlwZWAgYW5kIGBkYXRhYCAoaWYgYW55KVxuICovXG5cbmV4cG9ydHMuZGVjb2RlQmFzZTY0UGFja2V0ID0gZnVuY3Rpb24obXNnLCBiaW5hcnlUeXBlKSB7XG4gIHZhciB0eXBlID0gcGFja2V0c2xpc3RbbXNnLmNoYXJBdCgwKV07XG4gIGlmICghYmFzZTY0ZW5jb2Rlcikge1xuICAgIHJldHVybiB7IHR5cGU6IHR5cGUsIGRhdGE6IHsgYmFzZTY0OiB0cnVlLCBkYXRhOiBtc2cuc3Vic3RyKDEpIH0gfTtcbiAgfVxuXG4gIHZhciBkYXRhID0gYmFzZTY0ZW5jb2Rlci5kZWNvZGUobXNnLnN1YnN0cigxKSk7XG5cbiAgaWYgKGJpbmFyeVR5cGUgPT09ICdibG9iJyAmJiBCbG9iKSB7XG4gICAgZGF0YSA9IG5ldyBCbG9iKFtkYXRhXSk7XG4gIH1cblxuICByZXR1cm4geyB0eXBlOiB0eXBlLCBkYXRhOiBkYXRhIH07XG59O1xuXG4vKipcbiAqIEVuY29kZXMgbXVsdGlwbGUgbWVzc2FnZXMgKHBheWxvYWQpLlxuICpcbiAqICAgICA8bGVuZ3RoPjpkYXRhXG4gKlxuICogRXhhbXBsZTpcbiAqXG4gKiAgICAgMTE6aGVsbG8gd29ybGQyOmhpXG4gKlxuICogSWYgYW55IGNvbnRlbnRzIGFyZSBiaW5hcnksIHRoZXkgd2lsbCBiZSBlbmNvZGVkIGFzIGJhc2U2NCBzdHJpbmdzLiBCYXNlNjRcbiAqIGVuY29kZWQgc3RyaW5ncyBhcmUgbWFya2VkIHdpdGggYSBiIGJlZm9yZSB0aGUgbGVuZ3RoIHNwZWNpZmllclxuICpcbiAqIEBwYXJhbSB7QXJyYXl9IHBhY2tldHNcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmV4cG9ydHMuZW5jb2RlUGF5bG9hZCA9IGZ1bmN0aW9uIChwYWNrZXRzLCBzdXBwb3J0c0JpbmFyeSwgY2FsbGJhY2spIHtcbiAgaWYgKHR5cGVvZiBzdXBwb3J0c0JpbmFyeSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGNhbGxiYWNrID0gc3VwcG9ydHNCaW5hcnk7XG4gICAgc3VwcG9ydHNCaW5hcnkgPSBudWxsO1xuICB9XG5cbiAgdmFyIGlzQmluYXJ5ID0gaGFzQmluYXJ5KHBhY2tldHMpO1xuXG4gIGlmIChzdXBwb3J0c0JpbmFyeSAmJiBpc0JpbmFyeSkge1xuICAgIGlmIChCbG9iICYmICFkb250U2VuZEJsb2JzKSB7XG4gICAgICByZXR1cm4gZXhwb3J0cy5lbmNvZGVQYXlsb2FkQXNCbG9iKHBhY2tldHMsIGNhbGxiYWNrKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZXhwb3J0cy5lbmNvZGVQYXlsb2FkQXNBcnJheUJ1ZmZlcihwYWNrZXRzLCBjYWxsYmFjayk7XG4gIH1cblxuICBpZiAoIXBhY2tldHMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGNhbGxiYWNrKCcwOicpO1xuICB9XG5cbiAgZnVuY3Rpb24gc2V0TGVuZ3RoSGVhZGVyKG1lc3NhZ2UpIHtcbiAgICByZXR1cm4gbWVzc2FnZS5sZW5ndGggKyAnOicgKyBtZXNzYWdlO1xuICB9XG5cbiAgZnVuY3Rpb24gZW5jb2RlT25lKHBhY2tldCwgZG9uZUNhbGxiYWNrKSB7XG4gICAgZXhwb3J0cy5lbmNvZGVQYWNrZXQocGFja2V0LCAhaXNCaW5hcnkgPyBmYWxzZSA6IHN1cHBvcnRzQmluYXJ5LCBmYWxzZSwgZnVuY3Rpb24obWVzc2FnZSkge1xuICAgICAgZG9uZUNhbGxiYWNrKG51bGwsIHNldExlbmd0aEhlYWRlcihtZXNzYWdlKSk7XG4gICAgfSk7XG4gIH1cblxuICBtYXAocGFja2V0cywgZW5jb2RlT25lLCBmdW5jdGlvbihlcnIsIHJlc3VsdHMpIHtcbiAgICByZXR1cm4gY2FsbGJhY2socmVzdWx0cy5qb2luKCcnKSk7XG4gIH0pO1xufTtcblxuLyoqXG4gKiBBc3luYyBhcnJheSBtYXAgdXNpbmcgYWZ0ZXJcbiAqL1xuXG5mdW5jdGlvbiBtYXAoYXJ5LCBlYWNoLCBkb25lKSB7XG4gIHZhciByZXN1bHQgPSBuZXcgQXJyYXkoYXJ5Lmxlbmd0aCk7XG4gIHZhciBuZXh0ID0gYWZ0ZXIoYXJ5Lmxlbmd0aCwgZG9uZSk7XG5cbiAgdmFyIGVhY2hXaXRoSW5kZXggPSBmdW5jdGlvbihpLCBlbCwgY2IpIHtcbiAgICBlYWNoKGVsLCBmdW5jdGlvbihlcnJvciwgbXNnKSB7XG4gICAgICByZXN1bHRbaV0gPSBtc2c7XG4gICAgICBjYihlcnJvciwgcmVzdWx0KTtcbiAgICB9KTtcbiAgfTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGFyeS5sZW5ndGg7IGkrKykge1xuICAgIGVhY2hXaXRoSW5kZXgoaSwgYXJ5W2ldLCBuZXh0KTtcbiAgfVxufVxuXG4vKlxuICogRGVjb2RlcyBkYXRhIHdoZW4gYSBwYXlsb2FkIGlzIG1heWJlIGV4cGVjdGVkLiBQb3NzaWJsZSBiaW5hcnkgY29udGVudHMgYXJlXG4gKiBkZWNvZGVkIGZyb20gdGhlaXIgYmFzZTY0IHJlcHJlc2VudGF0aW9uXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGRhdGEsIGNhbGxiYWNrIG1ldGhvZFxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5leHBvcnRzLmRlY29kZVBheWxvYWQgPSBmdW5jdGlvbiAoZGF0YSwgYmluYXJ5VHlwZSwgY2FsbGJhY2spIHtcbiAgaWYgKHR5cGVvZiBkYXRhICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBleHBvcnRzLmRlY29kZVBheWxvYWRBc0JpbmFyeShkYXRhLCBiaW5hcnlUeXBlLCBjYWxsYmFjayk7XG4gIH1cblxuICBpZiAodHlwZW9mIGJpbmFyeVR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICBjYWxsYmFjayA9IGJpbmFyeVR5cGU7XG4gICAgYmluYXJ5VHlwZSA9IG51bGw7XG4gIH1cblxuICB2YXIgcGFja2V0O1xuICBpZiAoZGF0YSA9PT0gJycpIHtcbiAgICAvLyBwYXJzZXIgZXJyb3IgLSBpZ25vcmluZyBwYXlsb2FkXG4gICAgcmV0dXJuIGNhbGxiYWNrKGVyciwgMCwgMSk7XG4gIH1cblxuICB2YXIgbGVuZ3RoID0gJycsIG4sIG1zZztcblxuICBmb3IgKHZhciBpID0gMCwgbCA9IGRhdGEubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgdmFyIGNociA9IGRhdGEuY2hhckF0KGkpO1xuXG4gICAgaWYgKGNociAhPT0gJzonKSB7XG4gICAgICBsZW5ndGggKz0gY2hyO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKGxlbmd0aCA9PT0gJycgfHwgKGxlbmd0aCAhPSAobiA9IE51bWJlcihsZW5ndGgpKSkpIHtcbiAgICAgIC8vIHBhcnNlciBlcnJvciAtIGlnbm9yaW5nIHBheWxvYWRcbiAgICAgIHJldHVybiBjYWxsYmFjayhlcnIsIDAsIDEpO1xuICAgIH1cblxuICAgIG1zZyA9IGRhdGEuc3Vic3RyKGkgKyAxLCBuKTtcblxuICAgIGlmIChsZW5ndGggIT0gbXNnLmxlbmd0aCkge1xuICAgICAgLy8gcGFyc2VyIGVycm9yIC0gaWdub3JpbmcgcGF5bG9hZFxuICAgICAgcmV0dXJuIGNhbGxiYWNrKGVyciwgMCwgMSk7XG4gICAgfVxuXG4gICAgaWYgKG1zZy5sZW5ndGgpIHtcbiAgICAgIHBhY2tldCA9IGV4cG9ydHMuZGVjb2RlUGFja2V0KG1zZywgYmluYXJ5VHlwZSwgZmFsc2UpO1xuXG4gICAgICBpZiAoZXJyLnR5cGUgPT09IHBhY2tldC50eXBlICYmIGVyci5kYXRhID09PSBwYWNrZXQuZGF0YSkge1xuICAgICAgICAvLyBwYXJzZXIgZXJyb3IgaW4gaW5kaXZpZHVhbCBwYWNrZXQgLSBpZ25vcmluZyBwYXlsb2FkXG4gICAgICAgIHJldHVybiBjYWxsYmFjayhlcnIsIDAsIDEpO1xuICAgICAgfVxuXG4gICAgICB2YXIgcmV0ID0gY2FsbGJhY2socGFja2V0LCBpICsgbiwgbCk7XG4gICAgICBpZiAoZmFsc2UgPT09IHJldCkgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGFkdmFuY2UgY3Vyc29yXG4gICAgaSArPSBuO1xuICAgIGxlbmd0aCA9ICcnO1xuICB9XG5cbiAgaWYgKGxlbmd0aCAhPT0gJycpIHtcbiAgICAvLyBwYXJzZXIgZXJyb3IgLSBpZ25vcmluZyBwYXlsb2FkXG4gICAgcmV0dXJuIGNhbGxiYWNrKGVyciwgMCwgMSk7XG4gIH1cblxufTtcblxuLyoqXG4gKiBFbmNvZGVzIG11bHRpcGxlIG1lc3NhZ2VzIChwYXlsb2FkKSBhcyBiaW5hcnkuXG4gKlxuICogPDEgPSBiaW5hcnksIDAgPSBzdHJpbmc+PG51bWJlciBmcm9tIDAtOT48bnVtYmVyIGZyb20gMC05PlsuLi5dPG51bWJlclxuICogMjU1PjxkYXRhPlxuICpcbiAqIEV4YW1wbGU6XG4gKiAxIDMgMjU1IDEgMiAzLCBpZiB0aGUgYmluYXJ5IGNvbnRlbnRzIGFyZSBpbnRlcnByZXRlZCBhcyA4IGJpdCBpbnRlZ2Vyc1xuICpcbiAqIEBwYXJhbSB7QXJyYXl9IHBhY2tldHNcbiAqIEByZXR1cm4ge0FycmF5QnVmZmVyfSBlbmNvZGVkIHBheWxvYWRcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmV4cG9ydHMuZW5jb2RlUGF5bG9hZEFzQXJyYXlCdWZmZXIgPSBmdW5jdGlvbihwYWNrZXRzLCBjYWxsYmFjaykge1xuICBpZiAoIXBhY2tldHMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBBcnJheUJ1ZmZlcigwKSk7XG4gIH1cblxuICBmdW5jdGlvbiBlbmNvZGVPbmUocGFja2V0LCBkb25lQ2FsbGJhY2spIHtcbiAgICBleHBvcnRzLmVuY29kZVBhY2tldChwYWNrZXQsIHRydWUsIHRydWUsIGZ1bmN0aW9uKGRhdGEpIHtcbiAgICAgIHJldHVybiBkb25lQ2FsbGJhY2sobnVsbCwgZGF0YSk7XG4gICAgfSk7XG4gIH1cblxuICBtYXAocGFja2V0cywgZW5jb2RlT25lLCBmdW5jdGlvbihlcnIsIGVuY29kZWRQYWNrZXRzKSB7XG4gICAgdmFyIHRvdGFsTGVuZ3RoID0gZW5jb2RlZFBhY2tldHMucmVkdWNlKGZ1bmN0aW9uKGFjYywgcCkge1xuICAgICAgdmFyIGxlbjtcbiAgICAgIGlmICh0eXBlb2YgcCA9PT0gJ3N0cmluZycpe1xuICAgICAgICBsZW4gPSBwLmxlbmd0aDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxlbiA9IHAuYnl0ZUxlbmd0aDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2MgKyBsZW4udG9TdHJpbmcoKS5sZW5ndGggKyBsZW4gKyAyOyAvLyBzdHJpbmcvYmluYXJ5IGlkZW50aWZpZXIgKyBzZXBhcmF0b3IgPSAyXG4gICAgfSwgMCk7XG5cbiAgICB2YXIgcmVzdWx0QXJyYXkgPSBuZXcgVWludDhBcnJheSh0b3RhbExlbmd0aCk7XG5cbiAgICB2YXIgYnVmZmVySW5kZXggPSAwO1xuICAgIGVuY29kZWRQYWNrZXRzLmZvckVhY2goZnVuY3Rpb24ocCkge1xuICAgICAgdmFyIGlzU3RyaW5nID0gdHlwZW9mIHAgPT09ICdzdHJpbmcnO1xuICAgICAgdmFyIGFiID0gcDtcbiAgICAgIGlmIChpc1N0cmluZykge1xuICAgICAgICB2YXIgdmlldyA9IG5ldyBVaW50OEFycmF5KHAubGVuZ3RoKTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgdmlld1tpXSA9IHAuY2hhckNvZGVBdChpKTtcbiAgICAgICAgfVxuICAgICAgICBhYiA9IHZpZXcuYnVmZmVyO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNTdHJpbmcpIHsgLy8gbm90IHRydWUgYmluYXJ5XG4gICAgICAgIHJlc3VsdEFycmF5W2J1ZmZlckluZGV4KytdID0gMDtcbiAgICAgIH0gZWxzZSB7IC8vIHRydWUgYmluYXJ5XG4gICAgICAgIHJlc3VsdEFycmF5W2J1ZmZlckluZGV4KytdID0gMTtcbiAgICAgIH1cblxuICAgICAgdmFyIGxlblN0ciA9IGFiLmJ5dGVMZW5ndGgudG9TdHJpbmcoKTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuU3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHJlc3VsdEFycmF5W2J1ZmZlckluZGV4KytdID0gcGFyc2VJbnQobGVuU3RyW2ldKTtcbiAgICAgIH1cbiAgICAgIHJlc3VsdEFycmF5W2J1ZmZlckluZGV4KytdID0gMjU1O1xuXG4gICAgICB2YXIgdmlldyA9IG5ldyBVaW50OEFycmF5KGFiKTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdmlldy5sZW5ndGg7IGkrKykge1xuICAgICAgICByZXN1bHRBcnJheVtidWZmZXJJbmRleCsrXSA9IHZpZXdbaV07XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gY2FsbGJhY2socmVzdWx0QXJyYXkuYnVmZmVyKTtcbiAgfSk7XG59O1xuXG4vKipcbiAqIEVuY29kZSBhcyBCbG9iXG4gKi9cblxuZXhwb3J0cy5lbmNvZGVQYXlsb2FkQXNCbG9iID0gZnVuY3Rpb24ocGFja2V0cywgY2FsbGJhY2spIHtcbiAgZnVuY3Rpb24gZW5jb2RlT25lKHBhY2tldCwgZG9uZUNhbGxiYWNrKSB7XG4gICAgZXhwb3J0cy5lbmNvZGVQYWNrZXQocGFja2V0LCB0cnVlLCB0cnVlLCBmdW5jdGlvbihlbmNvZGVkKSB7XG4gICAgICB2YXIgYmluYXJ5SWRlbnRpZmllciA9IG5ldyBVaW50OEFycmF5KDEpO1xuICAgICAgYmluYXJ5SWRlbnRpZmllclswXSA9IDE7XG4gICAgICBpZiAodHlwZW9mIGVuY29kZWQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHZhciB2aWV3ID0gbmV3IFVpbnQ4QXJyYXkoZW5jb2RlZC5sZW5ndGgpO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVuY29kZWQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICB2aWV3W2ldID0gZW5jb2RlZC5jaGFyQ29kZUF0KGkpO1xuICAgICAgICB9XG4gICAgICAgIGVuY29kZWQgPSB2aWV3LmJ1ZmZlcjtcbiAgICAgICAgYmluYXJ5SWRlbnRpZmllclswXSA9IDA7XG4gICAgICB9XG5cbiAgICAgIHZhciBsZW4gPSAoZW5jb2RlZCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKVxuICAgICAgICA/IGVuY29kZWQuYnl0ZUxlbmd0aFxuICAgICAgICA6IGVuY29kZWQuc2l6ZTtcblxuICAgICAgdmFyIGxlblN0ciA9IGxlbi50b1N0cmluZygpO1xuICAgICAgdmFyIGxlbmd0aEFyeSA9IG5ldyBVaW50OEFycmF5KGxlblN0ci5sZW5ndGggKyAxKTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuU3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGxlbmd0aEFyeVtpXSA9IHBhcnNlSW50KGxlblN0cltpXSk7XG4gICAgICB9XG4gICAgICBsZW5ndGhBcnlbbGVuU3RyLmxlbmd0aF0gPSAyNTU7XG5cbiAgICAgIGlmIChCbG9iKSB7XG4gICAgICAgIHZhciBibG9iID0gbmV3IEJsb2IoW2JpbmFyeUlkZW50aWZpZXIuYnVmZmVyLCBsZW5ndGhBcnkuYnVmZmVyLCBlbmNvZGVkXSk7XG4gICAgICAgIGRvbmVDYWxsYmFjayhudWxsLCBibG9iKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG1hcChwYWNrZXRzLCBlbmNvZGVPbmUsIGZ1bmN0aW9uKGVyciwgcmVzdWx0cykge1xuICAgIHJldHVybiBjYWxsYmFjayhuZXcgQmxvYihyZXN1bHRzKSk7XG4gIH0pO1xufTtcblxuLypcbiAqIERlY29kZXMgZGF0YSB3aGVuIGEgcGF5bG9hZCBpcyBtYXliZSBleHBlY3RlZC4gU3RyaW5ncyBhcmUgZGVjb2RlZCBieVxuICogaW50ZXJwcmV0aW5nIGVhY2ggYnl0ZSBhcyBhIGtleSBjb2RlIGZvciBlbnRyaWVzIG1hcmtlZCB0byBzdGFydCB3aXRoIDAuIFNlZVxuICogZGVzY3JpcHRpb24gb2YgZW5jb2RlUGF5bG9hZEFzQmluYXJ5XG4gKlxuICogQHBhcmFtIHtBcnJheUJ1ZmZlcn0gZGF0YSwgY2FsbGJhY2sgbWV0aG9kXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmV4cG9ydHMuZGVjb2RlUGF5bG9hZEFzQmluYXJ5ID0gZnVuY3Rpb24gKGRhdGEsIGJpbmFyeVR5cGUsIGNhbGxiYWNrKSB7XG4gIGlmICh0eXBlb2YgYmluYXJ5VHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGNhbGxiYWNrID0gYmluYXJ5VHlwZTtcbiAgICBiaW5hcnlUeXBlID0gbnVsbDtcbiAgfVxuXG4gIHZhciBidWZmZXJUYWlsID0gZGF0YTtcbiAgdmFyIGJ1ZmZlcnMgPSBbXTtcblxuICB3aGlsZSAoYnVmZmVyVGFpbC5ieXRlTGVuZ3RoID4gMCkge1xuICAgIHZhciB0YWlsQXJyYXkgPSBuZXcgVWludDhBcnJheShidWZmZXJUYWlsKTtcbiAgICB2YXIgaXNTdHJpbmcgPSB0YWlsQXJyYXlbMF0gPT09IDA7XG4gICAgdmFyIG1zZ0xlbmd0aCA9ICcnO1xuXG4gICAgZm9yICh2YXIgaSA9IDE7IDsgaSsrKSB7XG4gICAgICBpZiAodGFpbEFycmF5W2ldID09PSAyNTUpIGJyZWFrO1xuXG4gICAgICAvLyAzMTAgPSBjaGFyIGxlbmd0aCBvZiBOdW1iZXIuTUFYX1ZBTFVFXG4gICAgICBpZiAobXNnTGVuZ3RoLmxlbmd0aCA+IDMxMCkge1xuICAgICAgICByZXR1cm4gY2FsbGJhY2soZXJyLCAwLCAxKTtcbiAgICAgIH1cblxuICAgICAgbXNnTGVuZ3RoICs9IHRhaWxBcnJheVtpXTtcbiAgICB9XG5cbiAgICBidWZmZXJUYWlsID0gc2xpY2VCdWZmZXIoYnVmZmVyVGFpbCwgMiArIG1zZ0xlbmd0aC5sZW5ndGgpO1xuICAgIG1zZ0xlbmd0aCA9IHBhcnNlSW50KG1zZ0xlbmd0aCk7XG5cbiAgICB2YXIgbXNnID0gc2xpY2VCdWZmZXIoYnVmZmVyVGFpbCwgMCwgbXNnTGVuZ3RoKTtcbiAgICBpZiAoaXNTdHJpbmcpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIG1zZyA9IFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCwgbmV3IFVpbnQ4QXJyYXkobXNnKSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8vIGlQaG9uZSBTYWZhcmkgZG9lc24ndCBsZXQgeW91IGFwcGx5IHRvIHR5cGVkIGFycmF5c1xuICAgICAgICB2YXIgdHlwZWQgPSBuZXcgVWludDhBcnJheShtc2cpO1xuICAgICAgICBtc2cgPSAnJztcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0eXBlZC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIG1zZyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKHR5cGVkW2ldKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGJ1ZmZlcnMucHVzaChtc2cpO1xuICAgIGJ1ZmZlclRhaWwgPSBzbGljZUJ1ZmZlcihidWZmZXJUYWlsLCBtc2dMZW5ndGgpO1xuICB9XG5cbiAgdmFyIHRvdGFsID0gYnVmZmVycy5sZW5ndGg7XG4gIGJ1ZmZlcnMuZm9yRWFjaChmdW5jdGlvbihidWZmZXIsIGkpIHtcbiAgICBjYWxsYmFjayhleHBvcnRzLmRlY29kZVBhY2tldChidWZmZXIsIGJpbmFyeVR5cGUsIHRydWUpLCBpLCB0b3RhbCk7XG4gIH0pO1xufTtcbiIsIlxuLyoqXG4gKiBHZXRzIHRoZSBrZXlzIGZvciBhbiBvYmplY3QuXG4gKlxuICogQHJldHVybiB7QXJyYXl9IGtleXNcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbm1vZHVsZS5leHBvcnRzID0gT2JqZWN0LmtleXMgfHwgZnVuY3Rpb24ga2V5cyAob2JqKXtcbiAgdmFyIGFyciA9IFtdO1xuICB2YXIgaGFzID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcblxuICBmb3IgKHZhciBpIGluIG9iaikge1xuICAgIGlmIChoYXMuY2FsbChvYmosIGkpKSB7XG4gICAgICBhcnIucHVzaChpKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGFycjtcbn07XG4iLCIvKiEgaHR0cHM6Ly9tdGhzLmJlL3V0ZjhqcyB2Mi4xLjIgYnkgQG1hdGhpYXMgKi9cblxudmFyIHN0cmluZ0Zyb21DaGFyQ29kZSA9IFN0cmluZy5mcm9tQ2hhckNvZGU7XG5cbi8vIFRha2VuIGZyb20gaHR0cHM6Ly9tdGhzLmJlL3B1bnljb2RlXG5mdW5jdGlvbiB1Y3MyZGVjb2RlKHN0cmluZykge1xuXHR2YXIgb3V0cHV0ID0gW107XG5cdHZhciBjb3VudGVyID0gMDtcblx0dmFyIGxlbmd0aCA9IHN0cmluZy5sZW5ndGg7XG5cdHZhciB2YWx1ZTtcblx0dmFyIGV4dHJhO1xuXHR3aGlsZSAoY291bnRlciA8IGxlbmd0aCkge1xuXHRcdHZhbHVlID0gc3RyaW5nLmNoYXJDb2RlQXQoY291bnRlcisrKTtcblx0XHRpZiAodmFsdWUgPj0gMHhEODAwICYmIHZhbHVlIDw9IDB4REJGRiAmJiBjb3VudGVyIDwgbGVuZ3RoKSB7XG5cdFx0XHQvLyBoaWdoIHN1cnJvZ2F0ZSwgYW5kIHRoZXJlIGlzIGEgbmV4dCBjaGFyYWN0ZXJcblx0XHRcdGV4dHJhID0gc3RyaW5nLmNoYXJDb2RlQXQoY291bnRlcisrKTtcblx0XHRcdGlmICgoZXh0cmEgJiAweEZDMDApID09IDB4REMwMCkgeyAvLyBsb3cgc3Vycm9nYXRlXG5cdFx0XHRcdG91dHB1dC5wdXNoKCgodmFsdWUgJiAweDNGRikgPDwgMTApICsgKGV4dHJhICYgMHgzRkYpICsgMHgxMDAwMCk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHQvLyB1bm1hdGNoZWQgc3Vycm9nYXRlOyBvbmx5IGFwcGVuZCB0aGlzIGNvZGUgdW5pdCwgaW4gY2FzZSB0aGUgbmV4dFxuXHRcdFx0XHQvLyBjb2RlIHVuaXQgaXMgdGhlIGhpZ2ggc3Vycm9nYXRlIG9mIGEgc3Vycm9nYXRlIHBhaXJcblx0XHRcdFx0b3V0cHV0LnB1c2godmFsdWUpO1xuXHRcdFx0XHRjb3VudGVyLS07XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdG91dHB1dC5wdXNoKHZhbHVlKTtcblx0XHR9XG5cdH1cblx0cmV0dXJuIG91dHB1dDtcbn1cblxuLy8gVGFrZW4gZnJvbSBodHRwczovL210aHMuYmUvcHVueWNvZGVcbmZ1bmN0aW9uIHVjczJlbmNvZGUoYXJyYXkpIHtcblx0dmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblx0dmFyIGluZGV4ID0gLTE7XG5cdHZhciB2YWx1ZTtcblx0dmFyIG91dHB1dCA9ICcnO1xuXHR3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuXHRcdHZhbHVlID0gYXJyYXlbaW5kZXhdO1xuXHRcdGlmICh2YWx1ZSA+IDB4RkZGRikge1xuXHRcdFx0dmFsdWUgLT0gMHgxMDAwMDtcblx0XHRcdG91dHB1dCArPSBzdHJpbmdGcm9tQ2hhckNvZGUodmFsdWUgPj4+IDEwICYgMHgzRkYgfCAweEQ4MDApO1xuXHRcdFx0dmFsdWUgPSAweERDMDAgfCB2YWx1ZSAmIDB4M0ZGO1xuXHRcdH1cblx0XHRvdXRwdXQgKz0gc3RyaW5nRnJvbUNoYXJDb2RlKHZhbHVlKTtcblx0fVxuXHRyZXR1cm4gb3V0cHV0O1xufVxuXG5mdW5jdGlvbiBjaGVja1NjYWxhclZhbHVlKGNvZGVQb2ludCwgc3RyaWN0KSB7XG5cdGlmIChjb2RlUG9pbnQgPj0gMHhEODAwICYmIGNvZGVQb2ludCA8PSAweERGRkYpIHtcblx0XHRpZiAoc3RyaWN0KSB7XG5cdFx0XHR0aHJvdyBFcnJvcihcblx0XHRcdFx0J0xvbmUgc3Vycm9nYXRlIFUrJyArIGNvZGVQb2ludC50b1N0cmluZygxNikudG9VcHBlckNhc2UoKSArXG5cdFx0XHRcdCcgaXMgbm90IGEgc2NhbGFyIHZhbHVlJ1xuXHRcdFx0KTtcblx0XHR9XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cdHJldHVybiB0cnVlO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmZ1bmN0aW9uIGNyZWF0ZUJ5dGUoY29kZVBvaW50LCBzaGlmdCkge1xuXHRyZXR1cm4gc3RyaW5nRnJvbUNoYXJDb2RlKCgoY29kZVBvaW50ID4+IHNoaWZ0KSAmIDB4M0YpIHwgMHg4MCk7XG59XG5cbmZ1bmN0aW9uIGVuY29kZUNvZGVQb2ludChjb2RlUG9pbnQsIHN0cmljdCkge1xuXHRpZiAoKGNvZGVQb2ludCAmIDB4RkZGRkZGODApID09IDApIHsgLy8gMS1ieXRlIHNlcXVlbmNlXG5cdFx0cmV0dXJuIHN0cmluZ0Zyb21DaGFyQ29kZShjb2RlUG9pbnQpO1xuXHR9XG5cdHZhciBzeW1ib2wgPSAnJztcblx0aWYgKChjb2RlUG9pbnQgJiAweEZGRkZGODAwKSA9PSAwKSB7IC8vIDItYnl0ZSBzZXF1ZW5jZVxuXHRcdHN5bWJvbCA9IHN0cmluZ0Zyb21DaGFyQ29kZSgoKGNvZGVQb2ludCA+PiA2KSAmIDB4MUYpIHwgMHhDMCk7XG5cdH1cblx0ZWxzZSBpZiAoKGNvZGVQb2ludCAmIDB4RkZGRjAwMDApID09IDApIHsgLy8gMy1ieXRlIHNlcXVlbmNlXG5cdFx0aWYgKCFjaGVja1NjYWxhclZhbHVlKGNvZGVQb2ludCwgc3RyaWN0KSkge1xuXHRcdFx0Y29kZVBvaW50ID0gMHhGRkZEO1xuXHRcdH1cblx0XHRzeW1ib2wgPSBzdHJpbmdGcm9tQ2hhckNvZGUoKChjb2RlUG9pbnQgPj4gMTIpICYgMHgwRikgfCAweEUwKTtcblx0XHRzeW1ib2wgKz0gY3JlYXRlQnl0ZShjb2RlUG9pbnQsIDYpO1xuXHR9XG5cdGVsc2UgaWYgKChjb2RlUG9pbnQgJiAweEZGRTAwMDAwKSA9PSAwKSB7IC8vIDQtYnl0ZSBzZXF1ZW5jZVxuXHRcdHN5bWJvbCA9IHN0cmluZ0Zyb21DaGFyQ29kZSgoKGNvZGVQb2ludCA+PiAxOCkgJiAweDA3KSB8IDB4RjApO1xuXHRcdHN5bWJvbCArPSBjcmVhdGVCeXRlKGNvZGVQb2ludCwgMTIpO1xuXHRcdHN5bWJvbCArPSBjcmVhdGVCeXRlKGNvZGVQb2ludCwgNik7XG5cdH1cblx0c3ltYm9sICs9IHN0cmluZ0Zyb21DaGFyQ29kZSgoY29kZVBvaW50ICYgMHgzRikgfCAweDgwKTtcblx0cmV0dXJuIHN5bWJvbDtcbn1cblxuZnVuY3Rpb24gdXRmOGVuY29kZShzdHJpbmcsIG9wdHMpIHtcblx0b3B0cyA9IG9wdHMgfHwge307XG5cdHZhciBzdHJpY3QgPSBmYWxzZSAhPT0gb3B0cy5zdHJpY3Q7XG5cblx0dmFyIGNvZGVQb2ludHMgPSB1Y3MyZGVjb2RlKHN0cmluZyk7XG5cdHZhciBsZW5ndGggPSBjb2RlUG9pbnRzLmxlbmd0aDtcblx0dmFyIGluZGV4ID0gLTE7XG5cdHZhciBjb2RlUG9pbnQ7XG5cdHZhciBieXRlU3RyaW5nID0gJyc7XG5cdHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG5cdFx0Y29kZVBvaW50ID0gY29kZVBvaW50c1tpbmRleF07XG5cdFx0Ynl0ZVN0cmluZyArPSBlbmNvZGVDb2RlUG9pbnQoY29kZVBvaW50LCBzdHJpY3QpO1xuXHR9XG5cdHJldHVybiBieXRlU3RyaW5nO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuZnVuY3Rpb24gcmVhZENvbnRpbnVhdGlvbkJ5dGUoKSB7XG5cdGlmIChieXRlSW5kZXggPj0gYnl0ZUNvdW50KSB7XG5cdFx0dGhyb3cgRXJyb3IoJ0ludmFsaWQgYnl0ZSBpbmRleCcpO1xuXHR9XG5cblx0dmFyIGNvbnRpbnVhdGlvbkJ5dGUgPSBieXRlQXJyYXlbYnl0ZUluZGV4XSAmIDB4RkY7XG5cdGJ5dGVJbmRleCsrO1xuXG5cdGlmICgoY29udGludWF0aW9uQnl0ZSAmIDB4QzApID09IDB4ODApIHtcblx0XHRyZXR1cm4gY29udGludWF0aW9uQnl0ZSAmIDB4M0Y7XG5cdH1cblxuXHQvLyBJZiB3ZSBlbmQgdXAgaGVyZSwgaXTigJlzIG5vdCBhIGNvbnRpbnVhdGlvbiBieXRlXG5cdHRocm93IEVycm9yKCdJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlJyk7XG59XG5cbmZ1bmN0aW9uIGRlY29kZVN5bWJvbChzdHJpY3QpIHtcblx0dmFyIGJ5dGUxO1xuXHR2YXIgYnl0ZTI7XG5cdHZhciBieXRlMztcblx0dmFyIGJ5dGU0O1xuXHR2YXIgY29kZVBvaW50O1xuXG5cdGlmIChieXRlSW5kZXggPiBieXRlQ291bnQpIHtcblx0XHR0aHJvdyBFcnJvcignSW52YWxpZCBieXRlIGluZGV4Jyk7XG5cdH1cblxuXHRpZiAoYnl0ZUluZGV4ID09IGJ5dGVDb3VudCkge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdC8vIFJlYWQgZmlyc3QgYnl0ZVxuXHRieXRlMSA9IGJ5dGVBcnJheVtieXRlSW5kZXhdICYgMHhGRjtcblx0Ynl0ZUluZGV4Kys7XG5cblx0Ly8gMS1ieXRlIHNlcXVlbmNlIChubyBjb250aW51YXRpb24gYnl0ZXMpXG5cdGlmICgoYnl0ZTEgJiAweDgwKSA9PSAwKSB7XG5cdFx0cmV0dXJuIGJ5dGUxO1xuXHR9XG5cblx0Ly8gMi1ieXRlIHNlcXVlbmNlXG5cdGlmICgoYnl0ZTEgJiAweEUwKSA9PSAweEMwKSB7XG5cdFx0Ynl0ZTIgPSByZWFkQ29udGludWF0aW9uQnl0ZSgpO1xuXHRcdGNvZGVQb2ludCA9ICgoYnl0ZTEgJiAweDFGKSA8PCA2KSB8IGJ5dGUyO1xuXHRcdGlmIChjb2RlUG9pbnQgPj0gMHg4MCkge1xuXHRcdFx0cmV0dXJuIGNvZGVQb2ludDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhyb3cgRXJyb3IoJ0ludmFsaWQgY29udGludWF0aW9uIGJ5dGUnKTtcblx0XHR9XG5cdH1cblxuXHQvLyAzLWJ5dGUgc2VxdWVuY2UgKG1heSBpbmNsdWRlIHVucGFpcmVkIHN1cnJvZ2F0ZXMpXG5cdGlmICgoYnl0ZTEgJiAweEYwKSA9PSAweEUwKSB7XG5cdFx0Ynl0ZTIgPSByZWFkQ29udGludWF0aW9uQnl0ZSgpO1xuXHRcdGJ5dGUzID0gcmVhZENvbnRpbnVhdGlvbkJ5dGUoKTtcblx0XHRjb2RlUG9pbnQgPSAoKGJ5dGUxICYgMHgwRikgPDwgMTIpIHwgKGJ5dGUyIDw8IDYpIHwgYnl0ZTM7XG5cdFx0aWYgKGNvZGVQb2ludCA+PSAweDA4MDApIHtcblx0XHRcdHJldHVybiBjaGVja1NjYWxhclZhbHVlKGNvZGVQb2ludCwgc3RyaWN0KSA/IGNvZGVQb2ludCA6IDB4RkZGRDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhyb3cgRXJyb3IoJ0ludmFsaWQgY29udGludWF0aW9uIGJ5dGUnKTtcblx0XHR9XG5cdH1cblxuXHQvLyA0LWJ5dGUgc2VxdWVuY2Vcblx0aWYgKChieXRlMSAmIDB4RjgpID09IDB4RjApIHtcblx0XHRieXRlMiA9IHJlYWRDb250aW51YXRpb25CeXRlKCk7XG5cdFx0Ynl0ZTMgPSByZWFkQ29udGludWF0aW9uQnl0ZSgpO1xuXHRcdGJ5dGU0ID0gcmVhZENvbnRpbnVhdGlvbkJ5dGUoKTtcblx0XHRjb2RlUG9pbnQgPSAoKGJ5dGUxICYgMHgwNykgPDwgMHgxMikgfCAoYnl0ZTIgPDwgMHgwQykgfFxuXHRcdFx0KGJ5dGUzIDw8IDB4MDYpIHwgYnl0ZTQ7XG5cdFx0aWYgKGNvZGVQb2ludCA+PSAweDAxMDAwMCAmJiBjb2RlUG9pbnQgPD0gMHgxMEZGRkYpIHtcblx0XHRcdHJldHVybiBjb2RlUG9pbnQ7XG5cdFx0fVxuXHR9XG5cblx0dGhyb3cgRXJyb3IoJ0ludmFsaWQgVVRGLTggZGV0ZWN0ZWQnKTtcbn1cblxudmFyIGJ5dGVBcnJheTtcbnZhciBieXRlQ291bnQ7XG52YXIgYnl0ZUluZGV4O1xuZnVuY3Rpb24gdXRmOGRlY29kZShieXRlU3RyaW5nLCBvcHRzKSB7XG5cdG9wdHMgPSBvcHRzIHx8IHt9O1xuXHR2YXIgc3RyaWN0ID0gZmFsc2UgIT09IG9wdHMuc3RyaWN0O1xuXG5cdGJ5dGVBcnJheSA9IHVjczJkZWNvZGUoYnl0ZVN0cmluZyk7XG5cdGJ5dGVDb3VudCA9IGJ5dGVBcnJheS5sZW5ndGg7XG5cdGJ5dGVJbmRleCA9IDA7XG5cdHZhciBjb2RlUG9pbnRzID0gW107XG5cdHZhciB0bXA7XG5cdHdoaWxlICgodG1wID0gZGVjb2RlU3ltYm9sKHN0cmljdCkpICE9PSBmYWxzZSkge1xuXHRcdGNvZGVQb2ludHMucHVzaCh0bXApO1xuXHR9XG5cdHJldHVybiB1Y3MyZW5jb2RlKGNvZGVQb2ludHMpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcblx0dmVyc2lvbjogJzIuMS4yJyxcblx0ZW5jb2RlOiB1dGY4ZW5jb2RlLFxuXHRkZWNvZGU6IHV0ZjhkZWNvZGVcbn07XG4iLCIvKipcclxuICogQ29tcGlsZXMgYSBxdWVyeXN0cmluZ1xyXG4gKiBSZXR1cm5zIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgb2JqZWN0XHJcbiAqXHJcbiAqIEBwYXJhbSB7T2JqZWN0fVxyXG4gKiBAYXBpIHByaXZhdGVcclxuICovXHJcblxyXG5leHBvcnRzLmVuY29kZSA9IGZ1bmN0aW9uIChvYmopIHtcclxuICB2YXIgc3RyID0gJyc7XHJcblxyXG4gIGZvciAodmFyIGkgaW4gb2JqKSB7XHJcbiAgICBpZiAob2JqLmhhc093blByb3BlcnR5KGkpKSB7XHJcbiAgICAgIGlmIChzdHIubGVuZ3RoKSBzdHIgKz0gJyYnO1xyXG4gICAgICBzdHIgKz0gZW5jb2RlVVJJQ29tcG9uZW50KGkpICsgJz0nICsgZW5jb2RlVVJJQ29tcG9uZW50KG9ialtpXSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gc3RyO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFBhcnNlcyBhIHNpbXBsZSBxdWVyeXN0cmluZyBpbnRvIGFuIG9iamVjdFxyXG4gKlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gcXNcclxuICogQGFwaSBwcml2YXRlXHJcbiAqL1xyXG5cclxuZXhwb3J0cy5kZWNvZGUgPSBmdW5jdGlvbihxcyl7XHJcbiAgdmFyIHFyeSA9IHt9O1xyXG4gIHZhciBwYWlycyA9IHFzLnNwbGl0KCcmJyk7XHJcbiAgZm9yICh2YXIgaSA9IDAsIGwgPSBwYWlycy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcclxuICAgIHZhciBwYWlyID0gcGFpcnNbaV0uc3BsaXQoJz0nKTtcclxuICAgIHFyeVtkZWNvZGVVUklDb21wb25lbnQocGFpclswXSldID0gZGVjb2RlVVJJQ29tcG9uZW50KHBhaXJbMV0pO1xyXG4gIH1cclxuICByZXR1cm4gcXJ5O1xyXG59O1xyXG4iLCIvKipcclxuICogUGFyc2VzIGFuIFVSSVxyXG4gKlxyXG4gKiBAYXV0aG9yIFN0ZXZlbiBMZXZpdGhhbiA8c3RldmVubGV2aXRoYW4uY29tPiAoTUlUIGxpY2Vuc2UpXHJcbiAqIEBhcGkgcHJpdmF0ZVxyXG4gKi9cclxuXHJcbnZhciByZSA9IC9eKD86KD8hW146QF0rOlteOkBcXC9dKkApKGh0dHB8aHR0cHN8d3N8d3NzKTpcXC9cXC8pPygoPzooKFteOkBdKikoPzo6KFteOkBdKikpPyk/QCk/KCg/OlthLWYwLTldezAsNH06KXsyLDd9W2EtZjAtOV17MCw0fXxbXjpcXC8/I10qKSg/OjooXFxkKikpPykoKChcXC8oPzpbXj8jXSg/IVtePyNcXC9dKlxcLltePyNcXC8uXSsoPzpbPyNdfCQpKSkqXFwvPyk/KFtePyNcXC9dKikpKD86XFw/KFteI10qKSk/KD86IyguKikpPykvO1xyXG5cclxudmFyIHBhcnRzID0gW1xyXG4gICAgJ3NvdXJjZScsICdwcm90b2NvbCcsICdhdXRob3JpdHknLCAndXNlckluZm8nLCAndXNlcicsICdwYXNzd29yZCcsICdob3N0JywgJ3BvcnQnLCAncmVsYXRpdmUnLCAncGF0aCcsICdkaXJlY3RvcnknLCAnZmlsZScsICdxdWVyeScsICdhbmNob3InXHJcbl07XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHBhcnNldXJpKHN0cikge1xyXG4gICAgdmFyIHNyYyA9IHN0cixcclxuICAgICAgICBiID0gc3RyLmluZGV4T2YoJ1snKSxcclxuICAgICAgICBlID0gc3RyLmluZGV4T2YoJ10nKTtcclxuXHJcbiAgICBpZiAoYiAhPSAtMSAmJiBlICE9IC0xKSB7XHJcbiAgICAgICAgc3RyID0gc3RyLnN1YnN0cmluZygwLCBiKSArIHN0ci5zdWJzdHJpbmcoYiwgZSkucmVwbGFjZSgvOi9nLCAnOycpICsgc3RyLnN1YnN0cmluZyhlLCBzdHIubGVuZ3RoKTtcclxuICAgIH1cclxuXHJcbiAgICB2YXIgbSA9IHJlLmV4ZWMoc3RyIHx8ICcnKSxcclxuICAgICAgICB1cmkgPSB7fSxcclxuICAgICAgICBpID0gMTQ7XHJcblxyXG4gICAgd2hpbGUgKGktLSkge1xyXG4gICAgICAgIHVyaVtwYXJ0c1tpXV0gPSBtW2ldIHx8ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChiICE9IC0xICYmIGUgIT0gLTEpIHtcclxuICAgICAgICB1cmkuc291cmNlID0gc3JjO1xyXG4gICAgICAgIHVyaS5ob3N0ID0gdXJpLmhvc3Quc3Vic3RyaW5nKDEsIHVyaS5ob3N0Lmxlbmd0aCAtIDEpLnJlcGxhY2UoLzsvZywgJzonKTtcclxuICAgICAgICB1cmkuYXV0aG9yaXR5ID0gdXJpLmF1dGhvcml0eS5yZXBsYWNlKCdbJywgJycpLnJlcGxhY2UoJ10nLCAnJykucmVwbGFjZSgvOy9nLCAnOicpO1xyXG4gICAgICAgIHVyaS5pcHY2dXJpID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdXJpO1xyXG59O1xyXG4iLCIvKmdsb2JhbCBCbG9iLEZpbGUqL1xuXG4vKipcbiAqIE1vZHVsZSByZXF1aXJlbWVudHNcbiAqL1xuXG52YXIgaXNBcnJheSA9IHJlcXVpcmUoJ2lzYXJyYXknKTtcbnZhciBpc0J1ZiA9IHJlcXVpcmUoJy4vaXMtYnVmZmVyJyk7XG52YXIgdG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO1xudmFyIHdpdGhOYXRpdmVCbG9iID0gdHlwZW9mIEJsb2IgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBCbG9iICE9PSAndW5kZWZpbmVkJyAmJiB0b1N0cmluZy5jYWxsKEJsb2IpID09PSAnW29iamVjdCBCbG9iQ29uc3RydWN0b3JdJyk7XG52YXIgd2l0aE5hdGl2ZUZpbGUgPSB0eXBlb2YgRmlsZSA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIEZpbGUgIT09ICd1bmRlZmluZWQnICYmIHRvU3RyaW5nLmNhbGwoRmlsZSkgPT09ICdbb2JqZWN0IEZpbGVDb25zdHJ1Y3Rvcl0nKTtcblxuLyoqXG4gKiBSZXBsYWNlcyBldmVyeSBCdWZmZXIgfCBBcnJheUJ1ZmZlciBpbiBwYWNrZXQgd2l0aCBhIG51bWJlcmVkIHBsYWNlaG9sZGVyLlxuICogQW55dGhpbmcgd2l0aCBibG9icyBvciBmaWxlcyBzaG91bGQgYmUgZmVkIHRocm91Z2ggcmVtb3ZlQmxvYnMgYmVmb3JlIGNvbWluZ1xuICogaGVyZS5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcGFja2V0IC0gc29ja2V0LmlvIGV2ZW50IHBhY2tldFxuICogQHJldHVybiB7T2JqZWN0fSB3aXRoIGRlY29uc3RydWN0ZWQgcGFja2V0IGFuZCBsaXN0IG9mIGJ1ZmZlcnNcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZXhwb3J0cy5kZWNvbnN0cnVjdFBhY2tldCA9IGZ1bmN0aW9uKHBhY2tldCkge1xuICB2YXIgYnVmZmVycyA9IFtdO1xuICB2YXIgcGFja2V0RGF0YSA9IHBhY2tldC5kYXRhO1xuICB2YXIgcGFjayA9IHBhY2tldDtcbiAgcGFjay5kYXRhID0gX2RlY29uc3RydWN0UGFja2V0KHBhY2tldERhdGEsIGJ1ZmZlcnMpO1xuICBwYWNrLmF0dGFjaG1lbnRzID0gYnVmZmVycy5sZW5ndGg7IC8vIG51bWJlciBvZiBiaW5hcnkgJ2F0dGFjaG1lbnRzJ1xuICByZXR1cm4ge3BhY2tldDogcGFjaywgYnVmZmVyczogYnVmZmVyc307XG59O1xuXG5mdW5jdGlvbiBfZGVjb25zdHJ1Y3RQYWNrZXQoZGF0YSwgYnVmZmVycykge1xuICBpZiAoIWRhdGEpIHJldHVybiBkYXRhO1xuXG4gIGlmIChpc0J1ZihkYXRhKSkge1xuICAgIHZhciBwbGFjZWhvbGRlciA9IHsgX3BsYWNlaG9sZGVyOiB0cnVlLCBudW06IGJ1ZmZlcnMubGVuZ3RoIH07XG4gICAgYnVmZmVycy5wdXNoKGRhdGEpO1xuICAgIHJldHVybiBwbGFjZWhvbGRlcjtcbiAgfSBlbHNlIGlmIChpc0FycmF5KGRhdGEpKSB7XG4gICAgdmFyIG5ld0RhdGEgPSBuZXcgQXJyYXkoZGF0YS5sZW5ndGgpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykge1xuICAgICAgbmV3RGF0YVtpXSA9IF9kZWNvbnN0cnVjdFBhY2tldChkYXRhW2ldLCBidWZmZXJzKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ld0RhdGE7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGRhdGEgPT09ICdvYmplY3QnICYmICEoZGF0YSBpbnN0YW5jZW9mIERhdGUpKSB7XG4gICAgdmFyIG5ld0RhdGEgPSB7fTtcbiAgICBmb3IgKHZhciBrZXkgaW4gZGF0YSkge1xuICAgICAgbmV3RGF0YVtrZXldID0gX2RlY29uc3RydWN0UGFja2V0KGRhdGFba2V5XSwgYnVmZmVycyk7XG4gICAgfVxuICAgIHJldHVybiBuZXdEYXRhO1xuICB9XG4gIHJldHVybiBkYXRhO1xufVxuXG4vKipcbiAqIFJlY29uc3RydWN0cyBhIGJpbmFyeSBwYWNrZXQgZnJvbSBpdHMgcGxhY2Vob2xkZXIgcGFja2V0IGFuZCBidWZmZXJzXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHBhY2tldCAtIGV2ZW50IHBhY2tldCB3aXRoIHBsYWNlaG9sZGVyc1xuICogQHBhcmFtIHtBcnJheX0gYnVmZmVycyAtIGJpbmFyeSBidWZmZXJzIHRvIHB1dCBpbiBwbGFjZWhvbGRlciBwb3NpdGlvbnNcbiAqIEByZXR1cm4ge09iamVjdH0gcmVjb25zdHJ1Y3RlZCBwYWNrZXRcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZXhwb3J0cy5yZWNvbnN0cnVjdFBhY2tldCA9IGZ1bmN0aW9uKHBhY2tldCwgYnVmZmVycykge1xuICBwYWNrZXQuZGF0YSA9IF9yZWNvbnN0cnVjdFBhY2tldChwYWNrZXQuZGF0YSwgYnVmZmVycyk7XG4gIHBhY2tldC5hdHRhY2htZW50cyA9IHVuZGVmaW5lZDsgLy8gbm8gbG9uZ2VyIHVzZWZ1bFxuICByZXR1cm4gcGFja2V0O1xufTtcblxuZnVuY3Rpb24gX3JlY29uc3RydWN0UGFja2V0KGRhdGEsIGJ1ZmZlcnMpIHtcbiAgaWYgKCFkYXRhKSByZXR1cm4gZGF0YTtcblxuICBpZiAoZGF0YSAmJiBkYXRhLl9wbGFjZWhvbGRlciA9PT0gdHJ1ZSkge1xuICAgIHZhciBpc0luZGV4VmFsaWQgPVxuICAgICAgdHlwZW9mIGRhdGEubnVtID09PSBcIm51bWJlclwiICYmXG4gICAgICBkYXRhLm51bSA+PSAwICYmXG4gICAgICBkYXRhLm51bSA8IGJ1ZmZlcnMubGVuZ3RoO1xuICAgIGlmIChpc0luZGV4VmFsaWQpIHtcbiAgICAgIHJldHVybiBidWZmZXJzW2RhdGEubnVtXTsgLy8gYXBwcm9wcmlhdGUgYnVmZmVyIChzaG91bGQgYmUgbmF0dXJhbCBvcmRlciBhbnl3YXkpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImlsbGVnYWwgYXR0YWNobWVudHNcIik7XG4gICAgfVxuICB9IGVsc2UgaWYgKGlzQXJyYXkoZGF0YSkpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcbiAgICAgIGRhdGFbaV0gPSBfcmVjb25zdHJ1Y3RQYWNrZXQoZGF0YVtpXSwgYnVmZmVycyk7XG4gICAgfVxuICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRhID09PSAnb2JqZWN0Jykge1xuICAgIGZvciAodmFyIGtleSBpbiBkYXRhKSB7XG4gICAgICBkYXRhW2tleV0gPSBfcmVjb25zdHJ1Y3RQYWNrZXQoZGF0YVtrZXldLCBidWZmZXJzKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZGF0YTtcbn1cblxuLyoqXG4gKiBBc3luY2hyb25vdXNseSByZW1vdmVzIEJsb2JzIG9yIEZpbGVzIGZyb20gZGF0YSB2aWFcbiAqIEZpbGVSZWFkZXIncyByZWFkQXNBcnJheUJ1ZmZlciBtZXRob2QuIFVzZWQgYmVmb3JlIGVuY29kaW5nXG4gKiBkYXRhIGFzIG1zZ3BhY2suIENhbGxzIGNhbGxiYWNrIHdpdGggdGhlIGJsb2JsZXNzIGRhdGEuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IGRhdGFcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5leHBvcnRzLnJlbW92ZUJsb2JzID0gZnVuY3Rpb24oZGF0YSwgY2FsbGJhY2spIHtcbiAgZnVuY3Rpb24gX3JlbW92ZUJsb2JzKG9iaiwgY3VyS2V5LCBjb250YWluaW5nT2JqZWN0KSB7XG4gICAgaWYgKCFvYmopIHJldHVybiBvYmo7XG5cbiAgICAvLyBjb252ZXJ0IGFueSBibG9iXG4gICAgaWYgKCh3aXRoTmF0aXZlQmxvYiAmJiBvYmogaW5zdGFuY2VvZiBCbG9iKSB8fFxuICAgICAgICAod2l0aE5hdGl2ZUZpbGUgJiYgb2JqIGluc3RhbmNlb2YgRmlsZSkpIHtcbiAgICAgIHBlbmRpbmdCbG9icysrO1xuXG4gICAgICAvLyBhc3luYyBmaWxlcmVhZGVyXG4gICAgICB2YXIgZmlsZVJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICBmaWxlUmVhZGVyLm9ubG9hZCA9IGZ1bmN0aW9uKCkgeyAvLyB0aGlzLnJlc3VsdCA9PSBhcnJheWJ1ZmZlclxuICAgICAgICBpZiAoY29udGFpbmluZ09iamVjdCkge1xuICAgICAgICAgIGNvbnRhaW5pbmdPYmplY3RbY3VyS2V5XSA9IHRoaXMucmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGJsb2JsZXNzRGF0YSA9IHRoaXMucmVzdWx0O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaWYgbm90aGluZyBwZW5kaW5nIGl0cyBjYWxsYmFjayB0aW1lXG4gICAgICAgIGlmKCEgLS1wZW5kaW5nQmxvYnMpIHtcbiAgICAgICAgICBjYWxsYmFjayhibG9ibGVzc0RhdGEpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBmaWxlUmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKG9iaik7IC8vIGJsb2IgLT4gYXJyYXlidWZmZXJcbiAgICB9IGVsc2UgaWYgKGlzQXJyYXkob2JqKSkgeyAvLyBoYW5kbGUgYXJyYXlcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb2JqLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIF9yZW1vdmVCbG9icyhvYmpbaV0sIGksIG9iaik7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyAmJiAhaXNCdWYob2JqKSkgeyAvLyBhbmQgb2JqZWN0XG4gICAgICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7XG4gICAgICAgIF9yZW1vdmVCbG9icyhvYmpba2V5XSwga2V5LCBvYmopO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBwZW5kaW5nQmxvYnMgPSAwO1xuICB2YXIgYmxvYmxlc3NEYXRhID0gZGF0YTtcbiAgX3JlbW92ZUJsb2JzKGJsb2JsZXNzRGF0YSk7XG4gIGlmICghcGVuZGluZ0Jsb2JzKSB7XG4gICAgY2FsbGJhY2soYmxvYmxlc3NEYXRhKTtcbiAgfVxufTtcbiIsIlxuLyoqXG4gKiBNb2R1bGUgZGVwZW5kZW5jaWVzLlxuICovXG5cbnZhciBkZWJ1ZyA9IHJlcXVpcmUoJ2RlYnVnJykoJ3NvY2tldC5pby1wYXJzZXInKTtcbnZhciBFbWl0dGVyID0gcmVxdWlyZSgnY29tcG9uZW50LWVtaXR0ZXInKTtcbnZhciBiaW5hcnkgPSByZXF1aXJlKCcuL2JpbmFyeScpO1xudmFyIGlzQXJyYXkgPSByZXF1aXJlKCdpc2FycmF5Jyk7XG52YXIgaXNCdWYgPSByZXF1aXJlKCcuL2lzLWJ1ZmZlcicpO1xuXG4vKipcbiAqIFByb3RvY29sIHZlcnNpb24uXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5leHBvcnRzLnByb3RvY29sID0gNDtcblxuLyoqXG4gKiBQYWNrZXQgdHlwZXMuXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5leHBvcnRzLnR5cGVzID0gW1xuICAnQ09OTkVDVCcsXG4gICdESVNDT05ORUNUJyxcbiAgJ0VWRU5UJyxcbiAgJ0FDSycsXG4gICdFUlJPUicsXG4gICdCSU5BUllfRVZFTlQnLFxuICAnQklOQVJZX0FDSydcbl07XG5cbi8qKlxuICogUGFja2V0IHR5cGUgYGNvbm5lY3RgLlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZXhwb3J0cy5DT05ORUNUID0gMDtcblxuLyoqXG4gKiBQYWNrZXQgdHlwZSBgZGlzY29ubmVjdGAuXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5leHBvcnRzLkRJU0NPTk5FQ1QgPSAxO1xuXG4vKipcbiAqIFBhY2tldCB0eXBlIGBldmVudGAuXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5leHBvcnRzLkVWRU5UID0gMjtcblxuLyoqXG4gKiBQYWNrZXQgdHlwZSBgYWNrYC5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmV4cG9ydHMuQUNLID0gMztcblxuLyoqXG4gKiBQYWNrZXQgdHlwZSBgZXJyb3JgLlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZXhwb3J0cy5FUlJPUiA9IDQ7XG5cbi8qKlxuICogUGFja2V0IHR5cGUgJ2JpbmFyeSBldmVudCdcbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmV4cG9ydHMuQklOQVJZX0VWRU5UID0gNTtcblxuLyoqXG4gKiBQYWNrZXQgdHlwZSBgYmluYXJ5IGFja2AuIEZvciBhY2tzIHdpdGggYmluYXJ5IGFyZ3VtZW50cy5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmV4cG9ydHMuQklOQVJZX0FDSyA9IDY7XG5cbi8qKlxuICogRW5jb2RlciBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmV4cG9ydHMuRW5jb2RlciA9IEVuY29kZXI7XG5cbi8qKlxuICogRGVjb2RlciBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmV4cG9ydHMuRGVjb2RlciA9IERlY29kZXI7XG5cbi8qKlxuICogQSBzb2NrZXQuaW8gRW5jb2RlciBpbnN0YW5jZVxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZnVuY3Rpb24gRW5jb2RlcigpIHt9XG5cbnZhciBFUlJPUl9QQUNLRVQgPSBleHBvcnRzLkVSUk9SICsgJ1wiZW5jb2RlIGVycm9yXCInO1xuXG4vKipcbiAqIEVuY29kZSBhIHBhY2tldCBhcyBhIHNpbmdsZSBzdHJpbmcgaWYgbm9uLWJpbmFyeSwgb3IgYXMgYVxuICogYnVmZmVyIHNlcXVlbmNlLCBkZXBlbmRpbmcgb24gcGFja2V0IHR5cGUuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9iaiAtIHBhY2tldCBvYmplY3RcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGNhbGxiYWNrIC0gZnVuY3Rpb24gdG8gaGFuZGxlIGVuY29kaW5ncyAobGlrZWx5IGVuZ2luZS53cml0ZSlcbiAqIEByZXR1cm4gQ2FsbHMgY2FsbGJhY2sgd2l0aCBBcnJheSBvZiBlbmNvZGluZ3NcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuRW5jb2Rlci5wcm90b3R5cGUuZW5jb2RlID0gZnVuY3Rpb24ob2JqLCBjYWxsYmFjayl7XG4gIGRlYnVnKCdlbmNvZGluZyBwYWNrZXQgJWonLCBvYmopO1xuXG4gIGlmIChleHBvcnRzLkJJTkFSWV9FVkVOVCA9PT0gb2JqLnR5cGUgfHwgZXhwb3J0cy5CSU5BUllfQUNLID09PSBvYmoudHlwZSkge1xuICAgIGVuY29kZUFzQmluYXJ5KG9iaiwgY2FsbGJhY2spO1xuICB9IGVsc2Uge1xuICAgIHZhciBlbmNvZGluZyA9IGVuY29kZUFzU3RyaW5nKG9iaik7XG4gICAgY2FsbGJhY2soW2VuY29kaW5nXSk7XG4gIH1cbn07XG5cbi8qKlxuICogRW5jb2RlIHBhY2tldCBhcyBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHBhY2tldFxuICogQHJldHVybiB7U3RyaW5nfSBlbmNvZGVkXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBlbmNvZGVBc1N0cmluZyhvYmopIHtcblxuICAvLyBmaXJzdCBpcyB0eXBlXG4gIHZhciBzdHIgPSAnJyArIG9iai50eXBlO1xuXG4gIC8vIGF0dGFjaG1lbnRzIGlmIHdlIGhhdmUgdGhlbVxuICBpZiAoZXhwb3J0cy5CSU5BUllfRVZFTlQgPT09IG9iai50eXBlIHx8IGV4cG9ydHMuQklOQVJZX0FDSyA9PT0gb2JqLnR5cGUpIHtcbiAgICBzdHIgKz0gb2JqLmF0dGFjaG1lbnRzICsgJy0nO1xuICB9XG5cbiAgLy8gaWYgd2UgaGF2ZSBhIG5hbWVzcGFjZSBvdGhlciB0aGFuIGAvYFxuICAvLyB3ZSBhcHBlbmQgaXQgZm9sbG93ZWQgYnkgYSBjb21tYSBgLGBcbiAgaWYgKG9iai5uc3AgJiYgJy8nICE9PSBvYmoubnNwKSB7XG4gICAgc3RyICs9IG9iai5uc3AgKyAnLCc7XG4gIH1cblxuICAvLyBpbW1lZGlhdGVseSBmb2xsb3dlZCBieSB0aGUgaWRcbiAgaWYgKG51bGwgIT0gb2JqLmlkKSB7XG4gICAgc3RyICs9IG9iai5pZDtcbiAgfVxuXG4gIC8vIGpzb24gZGF0YVxuICBpZiAobnVsbCAhPSBvYmouZGF0YSkge1xuICAgIHZhciBwYXlsb2FkID0gdHJ5U3RyaW5naWZ5KG9iai5kYXRhKTtcbiAgICBpZiAocGF5bG9hZCAhPT0gZmFsc2UpIHtcbiAgICAgIHN0ciArPSBwYXlsb2FkO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gRVJST1JfUEFDS0VUO1xuICAgIH1cbiAgfVxuXG4gIGRlYnVnKCdlbmNvZGVkICVqIGFzICVzJywgb2JqLCBzdHIpO1xuICByZXR1cm4gc3RyO1xufVxuXG5mdW5jdGlvbiB0cnlTdHJpbmdpZnkoc3RyKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHN0cik7XG4gIH0gY2F0Y2goZSl7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogRW5jb2RlIHBhY2tldCBhcyAnYnVmZmVyIHNlcXVlbmNlJyBieSByZW1vdmluZyBibG9icywgYW5kXG4gKiBkZWNvbnN0cnVjdGluZyBwYWNrZXQgaW50byBvYmplY3Qgd2l0aCBwbGFjZWhvbGRlcnMgYW5kXG4gKiBhIGxpc3Qgb2YgYnVmZmVycy5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcGFja2V0XG4gKiBAcmV0dXJuIHtCdWZmZXJ9IGVuY29kZWRcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIGVuY29kZUFzQmluYXJ5KG9iaiwgY2FsbGJhY2spIHtcblxuICBmdW5jdGlvbiB3cml0ZUVuY29kaW5nKGJsb2JsZXNzRGF0YSkge1xuICAgIHZhciBkZWNvbnN0cnVjdGlvbiA9IGJpbmFyeS5kZWNvbnN0cnVjdFBhY2tldChibG9ibGVzc0RhdGEpO1xuICAgIHZhciBwYWNrID0gZW5jb2RlQXNTdHJpbmcoZGVjb25zdHJ1Y3Rpb24ucGFja2V0KTtcbiAgICB2YXIgYnVmZmVycyA9IGRlY29uc3RydWN0aW9uLmJ1ZmZlcnM7XG5cbiAgICBidWZmZXJzLnVuc2hpZnQocGFjayk7IC8vIGFkZCBwYWNrZXQgaW5mbyB0byBiZWdpbm5pbmcgb2YgZGF0YSBsaXN0XG4gICAgY2FsbGJhY2soYnVmZmVycyk7IC8vIHdyaXRlIGFsbCB0aGUgYnVmZmVyc1xuICB9XG5cbiAgYmluYXJ5LnJlbW92ZUJsb2JzKG9iaiwgd3JpdGVFbmNvZGluZyk7XG59XG5cbi8qKlxuICogQSBzb2NrZXQuaW8gRGVjb2RlciBpbnN0YW5jZVxuICpcbiAqIEByZXR1cm4ge09iamVjdH0gZGVjb2RlclxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBEZWNvZGVyKCkge1xuICB0aGlzLnJlY29uc3RydWN0b3IgPSBudWxsO1xufVxuXG4vKipcbiAqIE1peCBpbiBgRW1pdHRlcmAgd2l0aCBEZWNvZGVyLlxuICovXG5cbkVtaXR0ZXIoRGVjb2Rlci5wcm90b3R5cGUpO1xuXG4vKipcbiAqIERlY29kZXMgYW4gZW5jb2RlZCBwYWNrZXQgc3RyaW5nIGludG8gcGFja2V0IEpTT04uXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IG9iaiAtIGVuY29kZWQgcGFja2V0XG4gKiBAcmV0dXJuIHtPYmplY3R9IHBhY2tldFxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5EZWNvZGVyLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbihvYmopIHtcbiAgdmFyIHBhY2tldDtcbiAgaWYgKHR5cGVvZiBvYmogPT09ICdzdHJpbmcnKSB7XG4gICAgaWYgKHRoaXMucmVjb25zdHJ1Y3Rvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiZ290IHBsYWludGV4dCBkYXRhIHdoZW4gcmVjb25zdHJ1Y3RpbmcgYSBwYWNrZXRcIik7XG4gICAgfVxuICAgIHBhY2tldCA9IGRlY29kZVN0cmluZyhvYmopO1xuICAgIGlmIChleHBvcnRzLkJJTkFSWV9FVkVOVCA9PT0gcGFja2V0LnR5cGUgfHwgZXhwb3J0cy5CSU5BUllfQUNLID09PSBwYWNrZXQudHlwZSkgeyAvLyBiaW5hcnkgcGFja2V0J3MganNvblxuICAgICAgdGhpcy5yZWNvbnN0cnVjdG9yID0gbmV3IEJpbmFyeVJlY29uc3RydWN0b3IocGFja2V0KTtcblxuICAgICAgLy8gbm8gYXR0YWNobWVudHMsIGxhYmVsZWQgYmluYXJ5IGJ1dCBubyBiaW5hcnkgZGF0YSB0byBmb2xsb3dcbiAgICAgIGlmICh0aGlzLnJlY29uc3RydWN0b3IucmVjb25QYWNrLmF0dGFjaG1lbnRzID09PSAwKSB7XG4gICAgICAgIHRoaXMuZW1pdCgnZGVjb2RlZCcsIHBhY2tldCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHsgLy8gbm9uLWJpbmFyeSBmdWxsIHBhY2tldFxuICAgICAgdGhpcy5lbWl0KCdkZWNvZGVkJywgcGFja2V0KTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoaXNCdWYob2JqKSB8fCBvYmouYmFzZTY0KSB7IC8vIHJhdyBiaW5hcnkgZGF0YVxuICAgIGlmICghdGhpcy5yZWNvbnN0cnVjdG9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2dvdCBiaW5hcnkgZGF0YSB3aGVuIG5vdCByZWNvbnN0cnVjdGluZyBhIHBhY2tldCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYWNrZXQgPSB0aGlzLnJlY29uc3RydWN0b3IudGFrZUJpbmFyeURhdGEob2JqKTtcbiAgICAgIGlmIChwYWNrZXQpIHsgLy8gcmVjZWl2ZWQgZmluYWwgYnVmZmVyXG4gICAgICAgIHRoaXMucmVjb25zdHJ1Y3RvciA9IG51bGw7XG4gICAgICAgIHRoaXMuZW1pdCgnZGVjb2RlZCcsIHBhY2tldCk7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biB0eXBlOiAnICsgb2JqKTtcbiAgfVxufTtcblxuZnVuY3Rpb24gaXNQYXlsb2FkVmFsaWQodHlwZSwgcGF5bG9hZCkge1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIDA6IC8vIENPTk5FQ1RcbiAgICAgIHJldHVybiB0eXBlb2YgcGF5bG9hZCA9PT0gXCJvYmplY3RcIjtcbiAgICBjYXNlIDE6IC8vIERJU0NPTk5FQ1RcbiAgICAgIHJldHVybiBwYXlsb2FkID09PSB1bmRlZmluZWQ7XG4gICAgY2FzZSA0OiAvLyBFUlJPUlxuICAgICAgcmV0dXJuIHR5cGVvZiBwYXlsb2FkID09PSBcInN0cmluZ1wiIHx8IHR5cGVvZiBwYXlsb2FkID09PSBcIm9iamVjdFwiO1xuICAgIGNhc2UgMjogLy8gRVZFTlRcbiAgICBjYXNlIDU6IC8vIEJJTkFSWV9FVkVOVFxuICAgICAgcmV0dXJuIChcbiAgICAgICAgaXNBcnJheShwYXlsb2FkKSAmJlxuICAgICAgICAodHlwZW9mIHBheWxvYWRbMF0gPT09IFwic3RyaW5nXCIgfHwgdHlwZW9mIHBheWxvYWRbMF0gPT09IFwibnVtYmVyXCIpXG4gICAgICApO1xuICAgIGNhc2UgMzogLy8gQUNLXG4gICAgY2FzZSA2OiAvLyBCSU5BUllfQUNLXG4gICAgICByZXR1cm4gaXNBcnJheShwYXlsb2FkKTtcbiAgfVxufVxuXG4vKipcbiAqIERlY29kZSBhIHBhY2tldCBTdHJpbmcgKEpTT04gZGF0YSlcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gc3RyXG4gKiBAcmV0dXJuIHtPYmplY3R9IHBhY2tldFxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gZGVjb2RlU3RyaW5nKHN0cikge1xuICB2YXIgaSA9IDA7XG4gIC8vIGxvb2sgdXAgdHlwZVxuICB2YXIgcCA9IHtcbiAgICB0eXBlOiBOdW1iZXIoc3RyLmNoYXJBdCgwKSlcbiAgfTtcblxuICBpZiAobnVsbCA9PSBleHBvcnRzLnR5cGVzW3AudHlwZV0pIHtcbiAgICByZXR1cm4gZXJyb3IoJ3Vua25vd24gcGFja2V0IHR5cGUgJyArIHAudHlwZSk7XG4gIH1cblxuICAvLyBsb29rIHVwIGF0dGFjaG1lbnRzIGlmIHR5cGUgYmluYXJ5XG4gIGlmIChleHBvcnRzLkJJTkFSWV9FVkVOVCA9PT0gcC50eXBlIHx8IGV4cG9ydHMuQklOQVJZX0FDSyA9PT0gcC50eXBlKSB7XG4gICAgdmFyIHN0YXJ0ID0gaSArIDE7XG4gICAgd2hpbGUgKHN0ci5jaGFyQXQoKytpKSAhPT0gJy0nICYmIGkgIT0gc3RyLmxlbmd0aCkge31cbiAgICB2YXIgYnVmID0gc3RyLnN1YnN0cmluZyhzdGFydCwgaSk7XG4gICAgaWYgKGJ1ZiAhPSBOdW1iZXIoYnVmKSB8fCBzdHIuY2hhckF0KGkpICE9PSAnLScpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSWxsZWdhbCBhdHRhY2htZW50cycpO1xuICAgIH1cbiAgICBwLmF0dGFjaG1lbnRzID0gTnVtYmVyKGJ1Zik7XG4gIH1cblxuICAvLyBsb29rIHVwIG5hbWVzcGFjZSAoaWYgYW55KVxuICBpZiAoJy8nID09PSBzdHIuY2hhckF0KGkgKyAxKSkge1xuICAgIHZhciBzdGFydCA9IGkgKyAxO1xuICAgIHdoaWxlICgrK2kpIHtcbiAgICAgIHZhciBjID0gc3RyLmNoYXJBdChpKTtcbiAgICAgIGlmICgnLCcgPT09IGMpIGJyZWFrO1xuICAgICAgaWYgKGkgPT09IHN0ci5sZW5ndGgpIGJyZWFrO1xuICAgIH1cbiAgICBwLm5zcCA9IHN0ci5zdWJzdHJpbmcoc3RhcnQsIGkpO1xuICB9IGVsc2Uge1xuICAgIHAubnNwID0gJy8nO1xuICB9XG5cbiAgLy8gbG9vayB1cCBpZFxuICB2YXIgbmV4dCA9IHN0ci5jaGFyQXQoaSArIDEpO1xuICBpZiAoJycgIT09IG5leHQgJiYgTnVtYmVyKG5leHQpID09IG5leHQpIHtcbiAgICB2YXIgc3RhcnQgPSBpICsgMTtcbiAgICB3aGlsZSAoKytpKSB7XG4gICAgICB2YXIgYyA9IHN0ci5jaGFyQXQoaSk7XG4gICAgICBpZiAobnVsbCA9PSBjIHx8IE51bWJlcihjKSAhPSBjKSB7XG4gICAgICAgIC0taTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBpZiAoaSA9PT0gc3RyLmxlbmd0aCkgYnJlYWs7XG4gICAgfVxuICAgIHAuaWQgPSBOdW1iZXIoc3RyLnN1YnN0cmluZyhzdGFydCwgaSArIDEpKTtcbiAgfVxuXG4gIC8vIGxvb2sgdXAganNvbiBkYXRhXG4gIGlmIChzdHIuY2hhckF0KCsraSkpIHtcbiAgICB2YXIgcGF5bG9hZCA9IHRyeVBhcnNlKHN0ci5zdWJzdHIoaSkpO1xuICAgIGlmIChpc1BheWxvYWRWYWxpZChwLnR5cGUsIHBheWxvYWQpKSB7XG4gICAgICBwLmRhdGEgPSBwYXlsb2FkO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJpbnZhbGlkIHBheWxvYWRcIik7XG4gICAgfVxuICB9XG5cbiAgZGVidWcoJ2RlY29kZWQgJXMgYXMgJWonLCBzdHIsIHApO1xuICByZXR1cm4gcDtcbn1cblxuZnVuY3Rpb24gdHJ5UGFyc2Uoc3RyKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2Uoc3RyKTtcbiAgfSBjYXRjaChlKXtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBEZWFsbG9jYXRlcyBhIHBhcnNlcidzIHJlc291cmNlc1xuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuRGVjb2Rlci5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uKCkge1xuICBpZiAodGhpcy5yZWNvbnN0cnVjdG9yKSB7XG4gICAgdGhpcy5yZWNvbnN0cnVjdG9yLmZpbmlzaGVkUmVjb25zdHJ1Y3Rpb24oKTtcbiAgfVxufTtcblxuLyoqXG4gKiBBIG1hbmFnZXIgb2YgYSBiaW5hcnkgZXZlbnQncyAnYnVmZmVyIHNlcXVlbmNlJy4gU2hvdWxkXG4gKiBiZSBjb25zdHJ1Y3RlZCB3aGVuZXZlciBhIHBhY2tldCBvZiB0eXBlIEJJTkFSWV9FVkVOVCBpc1xuICogZGVjb2RlZC5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcGFja2V0XG4gKiBAcmV0dXJuIHtCaW5hcnlSZWNvbnN0cnVjdG9yfSBpbml0aWFsaXplZCByZWNvbnN0cnVjdG9yXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBCaW5hcnlSZWNvbnN0cnVjdG9yKHBhY2tldCkge1xuICB0aGlzLnJlY29uUGFjayA9IHBhY2tldDtcbiAgdGhpcy5idWZmZXJzID0gW107XG59XG5cbi8qKlxuICogTWV0aG9kIHRvIGJlIGNhbGxlZCB3aGVuIGJpbmFyeSBkYXRhIHJlY2VpdmVkIGZyb20gY29ubmVjdGlvblxuICogYWZ0ZXIgYSBCSU5BUllfRVZFTlQgcGFja2V0LlxuICpcbiAqIEBwYXJhbSB7QnVmZmVyIHwgQXJyYXlCdWZmZXJ9IGJpbkRhdGEgLSB0aGUgcmF3IGJpbmFyeSBkYXRhIHJlY2VpdmVkXG4gKiBAcmV0dXJuIHtudWxsIHwgT2JqZWN0fSByZXR1cm5zIG51bGwgaWYgbW9yZSBiaW5hcnkgZGF0YSBpcyBleHBlY3RlZCBvclxuICogICBhIHJlY29uc3RydWN0ZWQgcGFja2V0IG9iamVjdCBpZiBhbGwgYnVmZmVycyBoYXZlIGJlZW4gcmVjZWl2ZWQuXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5CaW5hcnlSZWNvbnN0cnVjdG9yLnByb3RvdHlwZS50YWtlQmluYXJ5RGF0YSA9IGZ1bmN0aW9uKGJpbkRhdGEpIHtcbiAgdGhpcy5idWZmZXJzLnB1c2goYmluRGF0YSk7XG4gIGlmICh0aGlzLmJ1ZmZlcnMubGVuZ3RoID09PSB0aGlzLnJlY29uUGFjay5hdHRhY2htZW50cykgeyAvLyBkb25lIHdpdGggYnVmZmVyIGxpc3RcbiAgICB2YXIgcGFja2V0ID0gYmluYXJ5LnJlY29uc3RydWN0UGFja2V0KHRoaXMucmVjb25QYWNrLCB0aGlzLmJ1ZmZlcnMpO1xuICAgIHRoaXMuZmluaXNoZWRSZWNvbnN0cnVjdGlvbigpO1xuICAgIHJldHVybiBwYWNrZXQ7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59O1xuXG4vKipcbiAqIENsZWFucyB1cCBiaW5hcnkgcGFja2V0IHJlY29uc3RydWN0aW9uIHZhcmlhYmxlcy5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5CaW5hcnlSZWNvbnN0cnVjdG9yLnByb3RvdHlwZS5maW5pc2hlZFJlY29uc3RydWN0aW9uID0gZnVuY3Rpb24oKSB7XG4gIHRoaXMucmVjb25QYWNrID0gbnVsbDtcbiAgdGhpcy5idWZmZXJzID0gW107XG59O1xuXG5mdW5jdGlvbiBlcnJvcihtc2cpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBleHBvcnRzLkVSUk9SLFxuICAgIGRhdGE6ICdwYXJzZXIgZXJyb3I6ICcgKyBtc2dcbiAgfTtcbn1cbiIsIlxubW9kdWxlLmV4cG9ydHMgPSBpc0J1ZjtcblxudmFyIHdpdGhOYXRpdmVCdWZmZXIgPSB0eXBlb2YgQnVmZmVyID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBCdWZmZXIuaXNCdWZmZXIgPT09ICdmdW5jdGlvbic7XG52YXIgd2l0aE5hdGl2ZUFycmF5QnVmZmVyID0gdHlwZW9mIEFycmF5QnVmZmVyID09PSAnZnVuY3Rpb24nO1xuXG52YXIgaXNWaWV3ID0gZnVuY3Rpb24gKG9iaikge1xuICByZXR1cm4gdHlwZW9mIEFycmF5QnVmZmVyLmlzVmlldyA9PT0gJ2Z1bmN0aW9uJyA/IEFycmF5QnVmZmVyLmlzVmlldyhvYmopIDogKG9iai5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcik7XG59O1xuXG4vKipcbiAqIFJldHVybnMgdHJ1ZSBpZiBvYmogaXMgYSBidWZmZXIgb3IgYW4gYXJyYXlidWZmZXIuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gaXNCdWYob2JqKSB7XG4gIHJldHVybiAod2l0aE5hdGl2ZUJ1ZmZlciAmJiBCdWZmZXIuaXNCdWZmZXIob2JqKSkgfHxcbiAgICAgICAgICAod2l0aE5hdGl2ZUFycmF5QnVmZmVyICYmIChvYmogaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciB8fCBpc1ZpZXcob2JqKSkpO1xufVxuIiwiLyoqXG4gKiBUaGlzIGlzIHRoZSB3ZWIgYnJvd3NlciBpbXBsZW1lbnRhdGlvbiBvZiBgZGVidWcoKWAuXG4gKlxuICogRXhwb3NlIGBkZWJ1ZygpYCBhcyB0aGUgbW9kdWxlLlxuICovXG5cbmV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vZGVidWcnKTtcbmV4cG9ydHMubG9nID0gbG9nO1xuZXhwb3J0cy5mb3JtYXRBcmdzID0gZm9ybWF0QXJncztcbmV4cG9ydHMuc2F2ZSA9IHNhdmU7XG5leHBvcnRzLmxvYWQgPSBsb2FkO1xuZXhwb3J0cy51c2VDb2xvcnMgPSB1c2VDb2xvcnM7XG5leHBvcnRzLnN0b3JhZ2UgPSAndW5kZWZpbmVkJyAhPSB0eXBlb2YgY2hyb21lXG4gICAgICAgICAgICAgICAmJiAndW5kZWZpbmVkJyAhPSB0eXBlb2YgY2hyb21lLnN0b3JhZ2VcbiAgICAgICAgICAgICAgICAgID8gY2hyb21lLnN0b3JhZ2UubG9jYWxcbiAgICAgICAgICAgICAgICAgIDogbG9jYWxzdG9yYWdlKCk7XG5cbi8qKlxuICogQ29sb3JzLlxuICovXG5cbmV4cG9ydHMuY29sb3JzID0gW1xuICAnIzAwMDBDQycsICcjMDAwMEZGJywgJyMwMDMzQ0MnLCAnIzAwMzNGRicsICcjMDA2NkNDJywgJyMwMDY2RkYnLCAnIzAwOTlDQycsXG4gICcjMDA5OUZGJywgJyMwMENDMDAnLCAnIzAwQ0MzMycsICcjMDBDQzY2JywgJyMwMENDOTknLCAnIzAwQ0NDQycsICcjMDBDQ0ZGJyxcbiAgJyMzMzAwQ0MnLCAnIzMzMDBGRicsICcjMzMzM0NDJywgJyMzMzMzRkYnLCAnIzMzNjZDQycsICcjMzM2NkZGJywgJyMzMzk5Q0MnLFxuICAnIzMzOTlGRicsICcjMzNDQzAwJywgJyMzM0NDMzMnLCAnIzMzQ0M2NicsICcjMzNDQzk5JywgJyMzM0NDQ0MnLCAnIzMzQ0NGRicsXG4gICcjNjYwMENDJywgJyM2NjAwRkYnLCAnIzY2MzNDQycsICcjNjYzM0ZGJywgJyM2NkNDMDAnLCAnIzY2Q0MzMycsICcjOTkwMENDJyxcbiAgJyM5OTAwRkYnLCAnIzk5MzNDQycsICcjOTkzM0ZGJywgJyM5OUNDMDAnLCAnIzk5Q0MzMycsICcjQ0MwMDAwJywgJyNDQzAwMzMnLFxuICAnI0NDMDA2NicsICcjQ0MwMDk5JywgJyNDQzAwQ0MnLCAnI0NDMDBGRicsICcjQ0MzMzAwJywgJyNDQzMzMzMnLCAnI0NDMzM2NicsXG4gICcjQ0MzMzk5JywgJyNDQzMzQ0MnLCAnI0NDMzNGRicsICcjQ0M2NjAwJywgJyNDQzY2MzMnLCAnI0NDOTkwMCcsICcjQ0M5OTMzJyxcbiAgJyNDQ0NDMDAnLCAnI0NDQ0MzMycsICcjRkYwMDAwJywgJyNGRjAwMzMnLCAnI0ZGMDA2NicsICcjRkYwMDk5JywgJyNGRjAwQ0MnLFxuICAnI0ZGMDBGRicsICcjRkYzMzAwJywgJyNGRjMzMzMnLCAnI0ZGMzM2NicsICcjRkYzMzk5JywgJyNGRjMzQ0MnLCAnI0ZGMzNGRicsXG4gICcjRkY2NjAwJywgJyNGRjY2MzMnLCAnI0ZGOTkwMCcsICcjRkY5OTMzJywgJyNGRkNDMDAnLCAnI0ZGQ0MzMydcbl07XG5cbi8qKlxuICogQ3VycmVudGx5IG9ubHkgV2ViS2l0LWJhc2VkIFdlYiBJbnNwZWN0b3JzLCBGaXJlZm94ID49IHYzMSxcbiAqIGFuZCB0aGUgRmlyZWJ1ZyBleHRlbnNpb24gKGFueSBGaXJlZm94IHZlcnNpb24pIGFyZSBrbm93blxuICogdG8gc3VwcG9ydCBcIiVjXCIgQ1NTIGN1c3RvbWl6YXRpb25zLlxuICpcbiAqIFRPRE86IGFkZCBhIGBsb2NhbFN0b3JhZ2VgIHZhcmlhYmxlIHRvIGV4cGxpY2l0bHkgZW5hYmxlL2Rpc2FibGUgY29sb3JzXG4gKi9cblxuZnVuY3Rpb24gdXNlQ29sb3JzKCkge1xuICAvLyBOQjogSW4gYW4gRWxlY3Ryb24gcHJlbG9hZCBzY3JpcHQsIGRvY3VtZW50IHdpbGwgYmUgZGVmaW5lZCBidXQgbm90IGZ1bGx5XG4gIC8vIGluaXRpYWxpemVkLiBTaW5jZSB3ZSBrbm93IHdlJ3JlIGluIENocm9tZSwgd2UnbGwganVzdCBkZXRlY3QgdGhpcyBjYXNlXG4gIC8vIGV4cGxpY2l0bHlcbiAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5wcm9jZXNzICYmIHdpbmRvdy5wcm9jZXNzLnR5cGUgPT09ICdyZW5kZXJlcicpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIEludGVybmV0IEV4cGxvcmVyIGFuZCBFZGdlIGRvIG5vdCBzdXBwb3J0IGNvbG9ycy5cbiAgaWYgKHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIG5hdmlnYXRvci51c2VyQWdlbnQgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oZWRnZXx0cmlkZW50KVxcLyhcXGQrKS8pKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gaXMgd2Via2l0PyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8xNjQ1OTYwNi8zNzY3NzNcbiAgLy8gZG9jdW1lbnQgaXMgdW5kZWZpbmVkIGluIHJlYWN0LW5hdGl2ZTogaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0LW5hdGl2ZS9wdWxsLzE2MzJcbiAgcmV0dXJuICh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLldlYmtpdEFwcGVhcmFuY2UpIHx8XG4gICAgLy8gaXMgZmlyZWJ1Zz8gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMzk4MTIwLzM3Njc3M1xuICAgICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cuY29uc29sZSAmJiAod2luZG93LmNvbnNvbGUuZmlyZWJ1ZyB8fCAod2luZG93LmNvbnNvbGUuZXhjZXB0aW9uICYmIHdpbmRvdy5jb25zb2xlLnRhYmxlKSkpIHx8XG4gICAgLy8gaXMgZmlyZWZveCA+PSB2MzE/XG4gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9Ub29scy9XZWJfQ29uc29sZSNTdHlsaW5nX21lc3NhZ2VzXG4gICAgKHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIG5hdmlnYXRvci51c2VyQWdlbnQgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9maXJlZm94XFwvKFxcZCspLykgJiYgcGFyc2VJbnQoUmVnRXhwLiQxLCAxMCkgPj0gMzEpIHx8XG4gICAgLy8gZG91YmxlIGNoZWNrIHdlYmtpdCBpbiB1c2VyQWdlbnQganVzdCBpbiBjYXNlIHdlIGFyZSBpbiBhIHdvcmtlclxuICAgICh0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiBuYXZpZ2F0b3IudXNlckFnZW50ICYmIG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5tYXRjaCgvYXBwbGV3ZWJraXRcXC8oXFxkKykvKSk7XG59XG5cbi8qKlxuICogTWFwICVqIHRvIGBKU09OLnN0cmluZ2lmeSgpYCwgc2luY2Ugbm8gV2ViIEluc3BlY3RvcnMgZG8gdGhhdCBieSBkZWZhdWx0LlxuICovXG5cbmV4cG9ydHMuZm9ybWF0dGVycy5qID0gZnVuY3Rpb24odikge1xuICB0cnkge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh2KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgcmV0dXJuICdbVW5leHBlY3RlZEpTT05QYXJzZUVycm9yXTogJyArIGVyci5tZXNzYWdlO1xuICB9XG59O1xuXG5cbi8qKlxuICogQ29sb3JpemUgbG9nIGFyZ3VtZW50cyBpZiBlbmFibGVkLlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZnVuY3Rpb24gZm9ybWF0QXJncyhhcmdzKSB7XG4gIHZhciB1c2VDb2xvcnMgPSB0aGlzLnVzZUNvbG9ycztcblxuICBhcmdzWzBdID0gKHVzZUNvbG9ycyA/ICclYycgOiAnJylcbiAgICArIHRoaXMubmFtZXNwYWNlXG4gICAgKyAodXNlQ29sb3JzID8gJyAlYycgOiAnICcpXG4gICAgKyBhcmdzWzBdXG4gICAgKyAodXNlQ29sb3JzID8gJyVjICcgOiAnICcpXG4gICAgKyAnKycgKyBleHBvcnRzLmh1bWFuaXplKHRoaXMuZGlmZik7XG5cbiAgaWYgKCF1c2VDb2xvcnMpIHJldHVybjtcblxuICB2YXIgYyA9ICdjb2xvcjogJyArIHRoaXMuY29sb3I7XG4gIGFyZ3Muc3BsaWNlKDEsIDAsIGMsICdjb2xvcjogaW5oZXJpdCcpXG5cbiAgLy8gdGhlIGZpbmFsIFwiJWNcIiBpcyBzb21ld2hhdCB0cmlja3ksIGJlY2F1c2UgdGhlcmUgY291bGQgYmUgb3RoZXJcbiAgLy8gYXJndW1lbnRzIHBhc3NlZCBlaXRoZXIgYmVmb3JlIG9yIGFmdGVyIHRoZSAlYywgc28gd2UgbmVlZCB0b1xuICAvLyBmaWd1cmUgb3V0IHRoZSBjb3JyZWN0IGluZGV4IHRvIGluc2VydCB0aGUgQ1NTIGludG9cbiAgdmFyIGluZGV4ID0gMDtcbiAgdmFyIGxhc3RDID0gMDtcbiAgYXJnc1swXS5yZXBsYWNlKC8lW2EtekEtWiVdL2csIGZ1bmN0aW9uKG1hdGNoKSB7XG4gICAgaWYgKCclJScgPT09IG1hdGNoKSByZXR1cm47XG4gICAgaW5kZXgrKztcbiAgICBpZiAoJyVjJyA9PT0gbWF0Y2gpIHtcbiAgICAgIC8vIHdlIG9ubHkgYXJlIGludGVyZXN0ZWQgaW4gdGhlICpsYXN0KiAlY1xuICAgICAgLy8gKHRoZSB1c2VyIG1heSBoYXZlIHByb3ZpZGVkIHRoZWlyIG93bilcbiAgICAgIGxhc3RDID0gaW5kZXg7XG4gICAgfVxuICB9KTtcblxuICBhcmdzLnNwbGljZShsYXN0QywgMCwgYyk7XG59XG5cbi8qKlxuICogSW52b2tlcyBgY29uc29sZS5sb2coKWAgd2hlbiBhdmFpbGFibGUuXG4gKiBOby1vcCB3aGVuIGBjb25zb2xlLmxvZ2AgaXMgbm90IGEgXCJmdW5jdGlvblwiLlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZnVuY3Rpb24gbG9nKCkge1xuICAvLyB0aGlzIGhhY2tlcnkgaXMgcmVxdWlyZWQgZm9yIElFOC85LCB3aGVyZVxuICAvLyB0aGUgYGNvbnNvbGUubG9nYCBmdW5jdGlvbiBkb2Vzbid0IGhhdmUgJ2FwcGx5J1xuICByZXR1cm4gJ29iamVjdCcgPT09IHR5cGVvZiBjb25zb2xlXG4gICAgJiYgY29uc29sZS5sb2dcbiAgICAmJiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChjb25zb2xlLmxvZywgY29uc29sZSwgYXJndW1lbnRzKTtcbn1cblxuLyoqXG4gKiBTYXZlIGBuYW1lc3BhY2VzYC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gbmFtZXNwYWNlc1xuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gc2F2ZShuYW1lc3BhY2VzKSB7XG4gIHRyeSB7XG4gICAgaWYgKG51bGwgPT0gbmFtZXNwYWNlcykge1xuICAgICAgZXhwb3J0cy5zdG9yYWdlLnJlbW92ZUl0ZW0oJ2RlYnVnJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGV4cG9ydHMuc3RvcmFnZS5kZWJ1ZyA9IG5hbWVzcGFjZXM7XG4gICAgfVxuICB9IGNhdGNoKGUpIHt9XG59XG5cbi8qKlxuICogTG9hZCBgbmFtZXNwYWNlc2AuXG4gKlxuICogQHJldHVybiB7U3RyaW5nfSByZXR1cm5zIHRoZSBwcmV2aW91c2x5IHBlcnNpc3RlZCBkZWJ1ZyBtb2Rlc1xuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gbG9hZCgpIHtcbiAgdmFyIHI7XG4gIHRyeSB7XG4gICAgciA9IGV4cG9ydHMuc3RvcmFnZS5kZWJ1ZztcbiAgfSBjYXRjaChlKSB7fVxuXG4gIC8vIElmIGRlYnVnIGlzbid0IHNldCBpbiBMUywgYW5kIHdlJ3JlIGluIEVsZWN0cm9uLCB0cnkgdG8gbG9hZCAkREVCVUdcbiAgaWYgKCFyICYmIHR5cGVvZiBwcm9jZXNzICE9PSAndW5kZWZpbmVkJyAmJiAnZW52JyBpbiBwcm9jZXNzKSB7XG4gICAgciA9IHByb2Nlc3MuZW52LkRFQlVHO1xuICB9XG5cbiAgcmV0dXJuIHI7XG59XG5cbi8qKlxuICogRW5hYmxlIG5hbWVzcGFjZXMgbGlzdGVkIGluIGBsb2NhbFN0b3JhZ2UuZGVidWdgIGluaXRpYWxseS5cbiAqL1xuXG5leHBvcnRzLmVuYWJsZShsb2FkKCkpO1xuXG4vKipcbiAqIExvY2Fsc3RvcmFnZSBhdHRlbXB0cyB0byByZXR1cm4gdGhlIGxvY2Fsc3RvcmFnZS5cbiAqXG4gKiBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHNhZmFyaSB0aHJvd3NcbiAqIHdoZW4gYSB1c2VyIGRpc2FibGVzIGNvb2tpZXMvbG9jYWxzdG9yYWdlXG4gKiBhbmQgeW91IGF0dGVtcHQgdG8gYWNjZXNzIGl0LlxuICpcbiAqIEByZXR1cm4ge0xvY2FsU3RvcmFnZX1cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIGxvY2Fsc3RvcmFnZSgpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gd2luZG93LmxvY2FsU3RvcmFnZTtcbiAgfSBjYXRjaCAoZSkge31cbn1cbiIsIlxuLyoqXG4gKiBUaGlzIGlzIHRoZSBjb21tb24gbG9naWMgZm9yIGJvdGggdGhlIE5vZGUuanMgYW5kIHdlYiBicm93c2VyXG4gKiBpbXBsZW1lbnRhdGlvbnMgb2YgYGRlYnVnKClgLlxuICpcbiAqIEV4cG9zZSBgZGVidWcoKWAgYXMgdGhlIG1vZHVsZS5cbiAqL1xuXG5leHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBjcmVhdGVEZWJ1Zy5kZWJ1ZyA9IGNyZWF0ZURlYnVnWydkZWZhdWx0J10gPSBjcmVhdGVEZWJ1ZztcbmV4cG9ydHMuY29lcmNlID0gY29lcmNlO1xuZXhwb3J0cy5kaXNhYmxlID0gZGlzYWJsZTtcbmV4cG9ydHMuZW5hYmxlID0gZW5hYmxlO1xuZXhwb3J0cy5lbmFibGVkID0gZW5hYmxlZDtcbmV4cG9ydHMuaHVtYW5pemUgPSByZXF1aXJlKCdtcycpO1xuXG4vKipcbiAqIEFjdGl2ZSBgZGVidWdgIGluc3RhbmNlcy5cbiAqL1xuZXhwb3J0cy5pbnN0YW5jZXMgPSBbXTtcblxuLyoqXG4gKiBUaGUgY3VycmVudGx5IGFjdGl2ZSBkZWJ1ZyBtb2RlIG5hbWVzLCBhbmQgbmFtZXMgdG8gc2tpcC5cbiAqL1xuXG5leHBvcnRzLm5hbWVzID0gW107XG5leHBvcnRzLnNraXBzID0gW107XG5cbi8qKlxuICogTWFwIG9mIHNwZWNpYWwgXCIlblwiIGhhbmRsaW5nIGZ1bmN0aW9ucywgZm9yIHRoZSBkZWJ1ZyBcImZvcm1hdFwiIGFyZ3VtZW50LlxuICpcbiAqIFZhbGlkIGtleSBuYW1lcyBhcmUgYSBzaW5nbGUsIGxvd2VyIG9yIHVwcGVyLWNhc2UgbGV0dGVyLCBpLmUuIFwiblwiIGFuZCBcIk5cIi5cbiAqL1xuXG5leHBvcnRzLmZvcm1hdHRlcnMgPSB7fTtcblxuLyoqXG4gKiBTZWxlY3QgYSBjb2xvci5cbiAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lc3BhY2VcbiAqIEByZXR1cm4ge051bWJlcn1cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIHNlbGVjdENvbG9yKG5hbWVzcGFjZSkge1xuICB2YXIgaGFzaCA9IDAsIGk7XG5cbiAgZm9yIChpIGluIG5hbWVzcGFjZSkge1xuICAgIGhhc2ggID0gKChoYXNoIDw8IDUpIC0gaGFzaCkgKyBuYW1lc3BhY2UuY2hhckNvZGVBdChpKTtcbiAgICBoYXNoIHw9IDA7IC8vIENvbnZlcnQgdG8gMzJiaXQgaW50ZWdlclxuICB9XG5cbiAgcmV0dXJuIGV4cG9ydHMuY29sb3JzW01hdGguYWJzKGhhc2gpICUgZXhwb3J0cy5jb2xvcnMubGVuZ3RoXTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBkZWJ1Z2dlciB3aXRoIHRoZSBnaXZlbiBgbmFtZXNwYWNlYC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gbmFtZXNwYWNlXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn1cbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZnVuY3Rpb24gY3JlYXRlRGVidWcobmFtZXNwYWNlKSB7XG5cbiAgdmFyIHByZXZUaW1lO1xuXG4gIGZ1bmN0aW9uIGRlYnVnKCkge1xuICAgIC8vIGRpc2FibGVkP1xuICAgIGlmICghZGVidWcuZW5hYmxlZCkgcmV0dXJuO1xuXG4gICAgdmFyIHNlbGYgPSBkZWJ1ZztcblxuICAgIC8vIHNldCBgZGlmZmAgdGltZXN0YW1wXG4gICAgdmFyIGN1cnIgPSArbmV3IERhdGUoKTtcbiAgICB2YXIgbXMgPSBjdXJyIC0gKHByZXZUaW1lIHx8IGN1cnIpO1xuICAgIHNlbGYuZGlmZiA9IG1zO1xuICAgIHNlbGYucHJldiA9IHByZXZUaW1lO1xuICAgIHNlbGYuY3VyciA9IGN1cnI7XG4gICAgcHJldlRpbWUgPSBjdXJyO1xuXG4gICAgLy8gdHVybiB0aGUgYGFyZ3VtZW50c2AgaW50byBhIHByb3BlciBBcnJheVxuICAgIHZhciBhcmdzID0gbmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJncy5sZW5ndGg7IGkrKykge1xuICAgICAgYXJnc1tpXSA9IGFyZ3VtZW50c1tpXTtcbiAgICB9XG5cbiAgICBhcmdzWzBdID0gZXhwb3J0cy5jb2VyY2UoYXJnc1swXSk7XG5cbiAgICBpZiAoJ3N0cmluZycgIT09IHR5cGVvZiBhcmdzWzBdKSB7XG4gICAgICAvLyBhbnl0aGluZyBlbHNlIGxldCdzIGluc3BlY3Qgd2l0aCAlT1xuICAgICAgYXJncy51bnNoaWZ0KCclTycpO1xuICAgIH1cblxuICAgIC8vIGFwcGx5IGFueSBgZm9ybWF0dGVyc2AgdHJhbnNmb3JtYXRpb25zXG4gICAgdmFyIGluZGV4ID0gMDtcbiAgICBhcmdzWzBdID0gYXJnc1swXS5yZXBsYWNlKC8lKFthLXpBLVolXSkvZywgZnVuY3Rpb24obWF0Y2gsIGZvcm1hdCkge1xuICAgICAgLy8gaWYgd2UgZW5jb3VudGVyIGFuIGVzY2FwZWQgJSB0aGVuIGRvbid0IGluY3JlYXNlIHRoZSBhcnJheSBpbmRleFxuICAgICAgaWYgKG1hdGNoID09PSAnJSUnKSByZXR1cm4gbWF0Y2g7XG4gICAgICBpbmRleCsrO1xuICAgICAgdmFyIGZvcm1hdHRlciA9IGV4cG9ydHMuZm9ybWF0dGVyc1tmb3JtYXRdO1xuICAgICAgaWYgKCdmdW5jdGlvbicgPT09IHR5cGVvZiBmb3JtYXR0ZXIpIHtcbiAgICAgICAgdmFyIHZhbCA9IGFyZ3NbaW5kZXhdO1xuICAgICAgICBtYXRjaCA9IGZvcm1hdHRlci5jYWxsKHNlbGYsIHZhbCk7XG5cbiAgICAgICAgLy8gbm93IHdlIG5lZWQgdG8gcmVtb3ZlIGBhcmdzW2luZGV4XWAgc2luY2UgaXQncyBpbmxpbmVkIGluIHRoZSBgZm9ybWF0YFxuICAgICAgICBhcmdzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIGluZGV4LS07XG4gICAgICB9XG4gICAgICByZXR1cm4gbWF0Y2g7XG4gICAgfSk7XG5cbiAgICAvLyBhcHBseSBlbnYtc3BlY2lmaWMgZm9ybWF0dGluZyAoY29sb3JzLCBldGMuKVxuICAgIGV4cG9ydHMuZm9ybWF0QXJncy5jYWxsKHNlbGYsIGFyZ3MpO1xuXG4gICAgdmFyIGxvZ0ZuID0gZGVidWcubG9nIHx8IGV4cG9ydHMubG9nIHx8IGNvbnNvbGUubG9nLmJpbmQoY29uc29sZSk7XG4gICAgbG9nRm4uYXBwbHkoc2VsZiwgYXJncyk7XG4gIH1cblxuICBkZWJ1Zy5uYW1lc3BhY2UgPSBuYW1lc3BhY2U7XG4gIGRlYnVnLmVuYWJsZWQgPSBleHBvcnRzLmVuYWJsZWQobmFtZXNwYWNlKTtcbiAgZGVidWcudXNlQ29sb3JzID0gZXhwb3J0cy51c2VDb2xvcnMoKTtcbiAgZGVidWcuY29sb3IgPSBzZWxlY3RDb2xvcihuYW1lc3BhY2UpO1xuICBkZWJ1Zy5kZXN0cm95ID0gZGVzdHJveTtcblxuICAvLyBlbnYtc3BlY2lmaWMgaW5pdGlhbGl6YXRpb24gbG9naWMgZm9yIGRlYnVnIGluc3RhbmNlc1xuICBpZiAoJ2Z1bmN0aW9uJyA9PT0gdHlwZW9mIGV4cG9ydHMuaW5pdCkge1xuICAgIGV4cG9ydHMuaW5pdChkZWJ1Zyk7XG4gIH1cblxuICBleHBvcnRzLmluc3RhbmNlcy5wdXNoKGRlYnVnKTtcblxuICByZXR1cm4gZGVidWc7XG59XG5cbmZ1bmN0aW9uIGRlc3Ryb3kgKCkge1xuICB2YXIgaW5kZXggPSBleHBvcnRzLmluc3RhbmNlcy5pbmRleE9mKHRoaXMpO1xuICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgZXhwb3J0cy5pbnN0YW5jZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBFbmFibGVzIGEgZGVidWcgbW9kZSBieSBuYW1lc3BhY2VzLiBUaGlzIGNhbiBpbmNsdWRlIG1vZGVzXG4gKiBzZXBhcmF0ZWQgYnkgYSBjb2xvbiBhbmQgd2lsZGNhcmRzLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lc3BhY2VzXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIGVuYWJsZShuYW1lc3BhY2VzKSB7XG4gIGV4cG9ydHMuc2F2ZShuYW1lc3BhY2VzKTtcblxuICBleHBvcnRzLm5hbWVzID0gW107XG4gIGV4cG9ydHMuc2tpcHMgPSBbXTtcblxuICB2YXIgaTtcbiAgdmFyIHNwbGl0ID0gKHR5cGVvZiBuYW1lc3BhY2VzID09PSAnc3RyaW5nJyA/IG5hbWVzcGFjZXMgOiAnJykuc3BsaXQoL1tcXHMsXSsvKTtcbiAgdmFyIGxlbiA9IHNwbGl0Lmxlbmd0aDtcblxuICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICBpZiAoIXNwbGl0W2ldKSBjb250aW51ZTsgLy8gaWdub3JlIGVtcHR5IHN0cmluZ3NcbiAgICBuYW1lc3BhY2VzID0gc3BsaXRbaV0ucmVwbGFjZSgvXFwqL2csICcuKj8nKTtcbiAgICBpZiAobmFtZXNwYWNlc1swXSA9PT0gJy0nKSB7XG4gICAgICBleHBvcnRzLnNraXBzLnB1c2gobmV3IFJlZ0V4cCgnXicgKyBuYW1lc3BhY2VzLnN1YnN0cigxKSArICckJykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBleHBvcnRzLm5hbWVzLnB1c2gobmV3IFJlZ0V4cCgnXicgKyBuYW1lc3BhY2VzICsgJyQnKSk7XG4gICAgfVxuICB9XG5cbiAgZm9yIChpID0gMDsgaSA8IGV4cG9ydHMuaW5zdGFuY2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGluc3RhbmNlID0gZXhwb3J0cy5pbnN0YW5jZXNbaV07XG4gICAgaW5zdGFuY2UuZW5hYmxlZCA9IGV4cG9ydHMuZW5hYmxlZChpbnN0YW5jZS5uYW1lc3BhY2UpO1xuICB9XG59XG5cbi8qKlxuICogRGlzYWJsZSBkZWJ1ZyBvdXRwdXQuXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBkaXNhYmxlKCkge1xuICBleHBvcnRzLmVuYWJsZSgnJyk7XG59XG5cbi8qKlxuICogUmV0dXJucyB0cnVlIGlmIHRoZSBnaXZlbiBtb2RlIG5hbWUgaXMgZW5hYmxlZCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lXG4gKiBAcmV0dXJuIHtCb29sZWFufVxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBlbmFibGVkKG5hbWUpIHtcbiAgaWYgKG5hbWVbbmFtZS5sZW5ndGggLSAxXSA9PT0gJyonKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgdmFyIGksIGxlbjtcbiAgZm9yIChpID0gMCwgbGVuID0gZXhwb3J0cy5za2lwcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgIGlmIChleHBvcnRzLnNraXBzW2ldLnRlc3QobmFtZSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgZm9yIChpID0gMCwgbGVuID0gZXhwb3J0cy5uYW1lcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgIGlmIChleHBvcnRzLm5hbWVzW2ldLnRlc3QobmFtZSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogQ29lcmNlIGB2YWxgLlxuICpcbiAqIEBwYXJhbSB7TWl4ZWR9IHZhbFxuICogQHJldHVybiB7TWl4ZWR9XG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBjb2VyY2UodmFsKSB7XG4gIGlmICh2YWwgaW5zdGFuY2VvZiBFcnJvcikgcmV0dXJuIHZhbC5zdGFjayB8fCB2YWwubWVzc2FnZTtcbiAgcmV0dXJuIHZhbDtcbn1cbiIsIm1vZHVsZS5leHBvcnRzID0gdG9BcnJheVxuXG5mdW5jdGlvbiB0b0FycmF5KGxpc3QsIGluZGV4KSB7XG4gICAgdmFyIGFycmF5ID0gW11cblxuICAgIGluZGV4ID0gaW5kZXggfHwgMFxuXG4gICAgZm9yICh2YXIgaSA9IGluZGV4IHx8IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGFycmF5W2kgLSBpbmRleF0gPSBsaXN0W2ldXG4gICAgfVxuXG4gICAgcmV0dXJuIGFycmF5XG59XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBhbHBoYWJldCA9ICcwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ei1fJy5zcGxpdCgnJylcbiAgLCBsZW5ndGggPSA2NFxuICAsIG1hcCA9IHt9XG4gICwgc2VlZCA9IDBcbiAgLCBpID0gMFxuICAsIHByZXY7XG5cbi8qKlxuICogUmV0dXJuIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgc3BlY2lmaWVkIG51bWJlci5cbiAqXG4gKiBAcGFyYW0ge051bWJlcn0gbnVtIFRoZSBudW1iZXIgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIHtTdHJpbmd9IFRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIG51bWJlci5cbiAqIEBhcGkgcHVibGljXG4gKi9cbmZ1bmN0aW9uIGVuY29kZShudW0pIHtcbiAgdmFyIGVuY29kZWQgPSAnJztcblxuICBkbyB7XG4gICAgZW5jb2RlZCA9IGFscGhhYmV0W251bSAlIGxlbmd0aF0gKyBlbmNvZGVkO1xuICAgIG51bSA9IE1hdGguZmxvb3IobnVtIC8gbGVuZ3RoKTtcbiAgfSB3aGlsZSAobnVtID4gMCk7XG5cbiAgcmV0dXJuIGVuY29kZWQ7XG59XG5cbi8qKlxuICogUmV0dXJuIHRoZSBpbnRlZ2VyIHZhbHVlIHNwZWNpZmllZCBieSB0aGUgZ2l2ZW4gc3RyaW5nLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBzdHIgVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICogQHJldHVybnMge051bWJlcn0gVGhlIGludGVnZXIgdmFsdWUgcmVwcmVzZW50ZWQgYnkgdGhlIHN0cmluZy5cbiAqIEBhcGkgcHVibGljXG4gKi9cbmZ1bmN0aW9uIGRlY29kZShzdHIpIHtcbiAgdmFyIGRlY29kZWQgPSAwO1xuXG4gIGZvciAoaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyBpKyspIHtcbiAgICBkZWNvZGVkID0gZGVjb2RlZCAqIGxlbmd0aCArIG1hcFtzdHIuY2hhckF0KGkpXTtcbiAgfVxuXG4gIHJldHVybiBkZWNvZGVkO1xufVxuXG4vKipcbiAqIFllYXN0OiBBIHRpbnkgZ3Jvd2luZyBpZCBnZW5lcmF0b3IuXG4gKlxuICogQHJldHVybnMge1N0cmluZ30gQSB1bmlxdWUgaWQuXG4gKiBAYXBpIHB1YmxpY1xuICovXG5mdW5jdGlvbiB5ZWFzdCgpIHtcbiAgdmFyIG5vdyA9IGVuY29kZSgrbmV3IERhdGUoKSk7XG5cbiAgaWYgKG5vdyAhPT0gcHJldikgcmV0dXJuIHNlZWQgPSAwLCBwcmV2ID0gbm93O1xuICByZXR1cm4gbm93ICsnLicrIGVuY29kZShzZWVkKyspO1xufVxuXG4vL1xuLy8gTWFwIGVhY2ggY2hhcmFjdGVyIHRvIGl0cyBpbmRleC5cbi8vXG5mb3IgKDsgaSA8IGxlbmd0aDsgaSsrKSBtYXBbYWxwaGFiZXRbaV1dID0gaTtcblxuLy9cbi8vIEV4cG9zZSB0aGUgYHllYXN0YCwgYGVuY29kZWAgYW5kIGBkZWNvZGVgIGZ1bmN0aW9ucy5cbi8vXG55ZWFzdC5lbmNvZGUgPSBlbmNvZGU7XG55ZWFzdC5kZWNvZGUgPSBkZWNvZGU7XG5tb2R1bGUuZXhwb3J0cyA9IHllYXN0O1xuIiwiLyogKGlnbm9yZWQpICovIiwiZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7XG4gIHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTtcblxuICBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgIHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpO1xuICAgIGVudW1lcmFibGVPbmx5ICYmIChzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkge1xuICAgICAgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7XG4gICAgfSkpLCBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7XG4gIH1cblxuICByZXR1cm4ga2V5cztcbn1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZDIodGFyZ2V0KSB7XG4gIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIHNvdXJjZSA9IG51bGwgIT0gYXJndW1lbnRzW2ldID8gYXJndW1lbnRzW2ldIDoge307XG4gICAgaSAlIDIgPyBvd25LZXlzKE9iamVjdChzb3VyY2UpLCAhMCkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTtcbiAgICB9KSA6IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzID8gT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKSA6IG93bktleXMoT2JqZWN0KHNvdXJjZSkpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufVxuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikge1xuICBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7XG5cbiAgcmV0dXJuIF90eXBlb2YgPSBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIFN5bWJvbCAmJiBcInN5bWJvbFwiID09IHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPyBmdW5jdGlvbiAob2JqKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBvYmo7XG4gIH0gOiBmdW5jdGlvbiAob2JqKSB7XG4gICAgcmV0dXJuIG9iaiAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIFN5bWJvbCAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajtcbiAgfSwgX3R5cGVvZihvYmopO1xufVxuXG5mdW5jdGlvbiBfd3JhcFJlZ0V4cCgpIHtcbiAgX3dyYXBSZWdFeHAgPSBmdW5jdGlvbiAocmUsIGdyb3Vwcykge1xuICAgIHJldHVybiBuZXcgQmFiZWxSZWdFeHAocmUsIHZvaWQgMCwgZ3JvdXBzKTtcbiAgfTtcblxuICB2YXIgX3N1cGVyID0gUmVnRXhwLnByb3RvdHlwZSxcbiAgICAgIF9ncm91cHMgPSBuZXcgV2Vha01hcCgpO1xuXG4gIGZ1bmN0aW9uIEJhYmVsUmVnRXhwKHJlLCBmbGFncywgZ3JvdXBzKSB7XG4gICAgdmFyIF90aGlzID0gbmV3IFJlZ0V4cChyZSwgZmxhZ3MpO1xuXG4gICAgcmV0dXJuIF9ncm91cHMuc2V0KF90aGlzLCBncm91cHMgfHwgX2dyb3Vwcy5nZXQocmUpKSwgX3NldFByb3RvdHlwZU9mKF90aGlzLCBCYWJlbFJlZ0V4cC5wcm90b3R5cGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gYnVpbGRHcm91cHMocmVzdWx0LCByZSkge1xuICAgIHZhciBnID0gX2dyb3Vwcy5nZXQocmUpO1xuXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGcpLnJlZHVjZShmdW5jdGlvbiAoZ3JvdXBzLCBuYW1lKSB7XG4gICAgICByZXR1cm4gZ3JvdXBzW25hbWVdID0gcmVzdWx0W2dbbmFtZV1dLCBncm91cHM7XG4gICAgfSwgT2JqZWN0LmNyZWF0ZShudWxsKSk7XG4gIH1cblxuICByZXR1cm4gX2luaGVyaXRzKEJhYmVsUmVnRXhwLCBSZWdFeHApLCBCYWJlbFJlZ0V4cC5wcm90b3R5cGUuZXhlYyA9IGZ1bmN0aW9uIChzdHIpIHtcbiAgICB2YXIgcmVzdWx0ID0gX3N1cGVyLmV4ZWMuY2FsbCh0aGlzLCBzdHIpO1xuXG4gICAgcmV0dXJuIHJlc3VsdCAmJiAocmVzdWx0Lmdyb3VwcyA9IGJ1aWxkR3JvdXBzKHJlc3VsdCwgdGhpcykpLCByZXN1bHQ7XG4gIH0sIEJhYmVsUmVnRXhwLnByb3RvdHlwZVtTeW1ib2wucmVwbGFjZV0gPSBmdW5jdGlvbiAoc3RyLCBzdWJzdGl0dXRpb24pIHtcbiAgICBpZiAoXCJzdHJpbmdcIiA9PSB0eXBlb2Ygc3Vic3RpdHV0aW9uKSB7XG4gICAgICB2YXIgZ3JvdXBzID0gX2dyb3Vwcy5nZXQodGhpcyk7XG5cbiAgICAgIHJldHVybiBfc3VwZXJbU3ltYm9sLnJlcGxhY2VdLmNhbGwodGhpcywgc3RyLCBzdWJzdGl0dXRpb24ucmVwbGFjZSgvXFwkPChbXj5dKyk+L2csIGZ1bmN0aW9uIChfLCBuYW1lKSB7XG4gICAgICAgIHJldHVybiBcIiRcIiArIGdyb3Vwc1tuYW1lXTtcbiAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBpZiAoXCJmdW5jdGlvblwiID09IHR5cGVvZiBzdWJzdGl0dXRpb24pIHtcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgIHJldHVybiBfc3VwZXJbU3ltYm9sLnJlcGxhY2VdLmNhbGwodGhpcywgc3RyLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBhcmdzID0gYXJndW1lbnRzO1xuICAgICAgICByZXR1cm4gXCJvYmplY3RcIiAhPSB0eXBlb2YgYXJnc1thcmdzLmxlbmd0aCAtIDFdICYmIChhcmdzID0gW10uc2xpY2UuY2FsbChhcmdzKSkucHVzaChidWlsZEdyb3VwcyhhcmdzLCBfdGhpcykpLCBzdWJzdGl0dXRpb24uYXBwbHkodGhpcywgYXJncyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gX3N1cGVyW1N5bWJvbC5yZXBsYWNlXS5jYWxsKHRoaXMsIHN0ciwgc3Vic3RpdHV0aW9uKTtcbiAgfSwgX3dyYXBSZWdFeHAuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3Rvcikge1xuICBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7XG4gIH1cbn1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTtcbiAgICBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7XG4gICAgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlO1xuICAgIGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpO1xuICB9XG59XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHtcbiAgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7XG4gIGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KENvbnN0cnVjdG9yLCBcInByb3RvdHlwZVwiLCB7XG4gICAgd3JpdGFibGU6IGZhbHNlXG4gIH0pO1xuICByZXR1cm4gQ29uc3RydWN0b3I7XG59XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHtcbiAgaWYgKGtleSBpbiBvYmopIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHtcbiAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICB3cml0YWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIG9ialtrZXldID0gdmFsdWU7XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHtcbiAgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTtcbiAgfVxuXG4gIHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwge1xuICAgIGNvbnN0cnVjdG9yOiB7XG4gICAgICB2YWx1ZTogc3ViQ2xhc3MsXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH1cbiAgfSk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzdWJDbGFzcywgXCJwcm90b3R5cGVcIiwge1xuICAgIHdyaXRhYmxlOiBmYWxzZVxuICB9KTtcbiAgaWYgKHN1cGVyQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7XG59XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7XG4gIF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkge1xuICAgIG8uX19wcm90b19fID0gcDtcbiAgICByZXR1cm4gbztcbiAgfTtcblxuICByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApO1xufVxuXG5mdW5jdGlvbiBfc2xpY2VkVG9BcnJheShhcnIsIGkpIHtcbiAgcmV0dXJuIF9hcnJheVdpdGhIb2xlcyhhcnIpIHx8IF9pdGVyYWJsZVRvQXJyYXlMaW1pdChhcnIsIGkpIHx8IF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShhcnIsIGkpIHx8IF9ub25JdGVyYWJsZVJlc3QoKTtcbn1cblxuZnVuY3Rpb24gX3RvQ29uc3VtYWJsZUFycmF5KGFycikge1xuICByZXR1cm4gX2FycmF5V2l0aG91dEhvbGVzKGFycikgfHwgX2l0ZXJhYmxlVG9BcnJheShhcnIpIHx8IF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShhcnIpIHx8IF9ub25JdGVyYWJsZVNwcmVhZCgpO1xufVxuXG5mdW5jdGlvbiBfYXJyYXlXaXRob3V0SG9sZXMoYXJyKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGFycikpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShhcnIpO1xufVxuXG5mdW5jdGlvbiBfYXJyYXlXaXRoSG9sZXMoYXJyKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGFycikpIHJldHVybiBhcnI7XG59XG5cbmZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXkoaXRlcikge1xuICBpZiAodHlwZW9mIFN5bWJvbCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBpdGVyW1N5bWJvbC5pdGVyYXRvcl0gIT0gbnVsbCB8fCBpdGVyW1wiQEBpdGVyYXRvclwiXSAhPSBudWxsKSByZXR1cm4gQXJyYXkuZnJvbShpdGVyKTtcbn1cblxuZnVuY3Rpb24gX2l0ZXJhYmxlVG9BcnJheUxpbWl0KGFyciwgaSkge1xuICB2YXIgX2kgPSBhcnIgPT0gbnVsbCA/IG51bGwgOiB0eXBlb2YgU3ltYm9sICE9PSBcInVuZGVmaW5lZFwiICYmIGFycltTeW1ib2wuaXRlcmF0b3JdIHx8IGFycltcIkBAaXRlcmF0b3JcIl07XG5cbiAgaWYgKF9pID09IG51bGwpIHJldHVybjtcbiAgdmFyIF9hcnIgPSBbXTtcbiAgdmFyIF9uID0gdHJ1ZTtcbiAgdmFyIF9kID0gZmFsc2U7XG5cbiAgdmFyIF9zLCBfZTtcblxuICB0cnkge1xuICAgIGZvciAoX2kgPSBfaS5jYWxsKGFycik7ICEoX24gPSAoX3MgPSBfaS5uZXh0KCkpLmRvbmUpOyBfbiA9IHRydWUpIHtcbiAgICAgIF9hcnIucHVzaChfcy52YWx1ZSk7XG5cbiAgICAgIGlmIChpICYmIF9hcnIubGVuZ3RoID09PSBpKSBicmVhaztcbiAgICB9XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIF9kID0gdHJ1ZTtcbiAgICBfZSA9IGVycjtcbiAgfSBmaW5hbGx5IHtcbiAgICB0cnkge1xuICAgICAgaWYgKCFfbiAmJiBfaVtcInJldHVyblwiXSAhPSBudWxsKSBfaVtcInJldHVyblwiXSgpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBpZiAoX2QpIHRocm93IF9lO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBfYXJyO1xufVxuXG5mdW5jdGlvbiBfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkobywgbWluTGVuKSB7XG4gIGlmICghbykgcmV0dXJuO1xuICBpZiAodHlwZW9mIG8gPT09IFwic3RyaW5nXCIpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pO1xuICB2YXIgbiA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvKS5zbGljZSg4LCAtMSk7XG4gIGlmIChuID09PSBcIk9iamVjdFwiICYmIG8uY29uc3RydWN0b3IpIG4gPSBvLmNvbnN0cnVjdG9yLm5hbWU7XG4gIGlmIChuID09PSBcIk1hcFwiIHx8IG4gPT09IFwiU2V0XCIpIHJldHVybiBBcnJheS5mcm9tKG8pO1xuICBpZiAobiA9PT0gXCJBcmd1bWVudHNcIiB8fCAvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKSkgcmV0dXJuIF9hcnJheUxpa2VUb0FycmF5KG8sIG1pbkxlbik7XG59XG5cbmZ1bmN0aW9uIF9hcnJheUxpa2VUb0FycmF5KGFyciwgbGVuKSB7XG4gIGlmIChsZW4gPT0gbnVsbCB8fCBsZW4gPiBhcnIubGVuZ3RoKSBsZW4gPSBhcnIubGVuZ3RoO1xuXG4gIGZvciAodmFyIGkgPSAwLCBhcnIyID0gbmV3IEFycmF5KGxlbik7IGkgPCBsZW47IGkrKykgYXJyMltpXSA9IGFycltpXTtcblxuICByZXR1cm4gYXJyMjtcbn1cblxuZnVuY3Rpb24gX25vbkl0ZXJhYmxlU3ByZWFkKCkge1xuICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIHNwcmVhZCBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKTtcbn1cblxuZnVuY3Rpb24gX25vbkl0ZXJhYmxlUmVzdCgpIHtcbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKTtcbn1cblxudmFyIG5vb3AgPSBmdW5jdGlvbiBub29wKCkge307XG5cbnZhciBfV0lORE9XID0ge307XG52YXIgX0RPQ1VNRU5UID0ge307XG52YXIgX01VVEFUSU9OX09CU0VSVkVSID0gbnVsbDtcbnZhciBfUEVSRk9STUFOQ0UgPSB7XG4gIG1hcms6IG5vb3AsXG4gIG1lYXN1cmU6IG5vb3Bcbn07XG5cbnRyeSB7XG4gIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykgX1dJTkRPVyA9IHdpbmRvdztcbiAgaWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcpIF9ET0NVTUVOVCA9IGRvY3VtZW50O1xuICBpZiAodHlwZW9mIE11dGF0aW9uT2JzZXJ2ZXIgIT09ICd1bmRlZmluZWQnKSBfTVVUQVRJT05fT0JTRVJWRVIgPSBNdXRhdGlvbk9ic2VydmVyO1xuICBpZiAodHlwZW9mIHBlcmZvcm1hbmNlICE9PSAndW5kZWZpbmVkJykgX1BFUkZPUk1BTkNFID0gcGVyZm9ybWFuY2U7XG59IGNhdGNoIChlKSB7fVxuXG52YXIgX3JlZiA9IF9XSU5ET1cubmF2aWdhdG9yIHx8IHt9LFxuICAgIF9yZWYkdXNlckFnZW50ID0gX3JlZi51c2VyQWdlbnQsXG4gICAgdXNlckFnZW50ID0gX3JlZiR1c2VyQWdlbnQgPT09IHZvaWQgMCA/ICcnIDogX3JlZiR1c2VyQWdlbnQ7XG52YXIgV0lORE9XID0gX1dJTkRPVztcbnZhciBET0NVTUVOVCA9IF9ET0NVTUVOVDtcbnZhciBNVVRBVElPTl9PQlNFUlZFUiA9IF9NVVRBVElPTl9PQlNFUlZFUjtcbnZhciBQRVJGT1JNQU5DRSA9IF9QRVJGT1JNQU5DRTtcbnZhciBJU19CUk9XU0VSID0gISFXSU5ET1cuZG9jdW1lbnQ7XG52YXIgSVNfRE9NID0gISFET0NVTUVOVC5kb2N1bWVudEVsZW1lbnQgJiYgISFET0NVTUVOVC5oZWFkICYmIHR5cGVvZiBET0NVTUVOVC5hZGRFdmVudExpc3RlbmVyID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBET0NVTUVOVC5jcmVhdGVFbGVtZW50ID09PSAnZnVuY3Rpb24nO1xudmFyIElTX0lFID0gfnVzZXJBZ2VudC5pbmRleE9mKCdNU0lFJykgfHwgfnVzZXJBZ2VudC5pbmRleE9mKCdUcmlkZW50LycpO1xuXG52YXIgX2ZhbWlseVByb3h5LCBfZmFtaWx5UHJveHkyLCBfZmFtaWx5UHJveHkzLCBfZmFtaWx5UHJveHk0LCBfZmFtaWx5UHJveHk1O1xuXG52YXIgTkFNRVNQQUNFX0lERU5USUZJRVIgPSAnX19fRk9OVF9BV0VTT01FX19fJztcbnZhciBVTklUU19JTl9HUklEID0gMTY7XG52YXIgREVGQVVMVF9DU1NfUFJFRklYID0gJ2ZhJztcbnZhciBERUZBVUxUX1JFUExBQ0VNRU5UX0NMQVNTID0gJ3N2Zy1pbmxpbmUtLWZhJztcbnZhciBEQVRBX0ZBX0kyU1ZHID0gJ2RhdGEtZmEtaTJzdmcnO1xudmFyIERBVEFfRkFfUFNFVURPX0VMRU1FTlQgPSAnZGF0YS1mYS1wc2V1ZG8tZWxlbWVudCc7XG52YXIgREFUQV9GQV9QU0VVRE9fRUxFTUVOVF9QRU5ESU5HID0gJ2RhdGEtZmEtcHNldWRvLWVsZW1lbnQtcGVuZGluZyc7XG52YXIgREFUQV9QUkVGSVggPSAnZGF0YS1wcmVmaXgnO1xudmFyIERBVEFfSUNPTiA9ICdkYXRhLWljb24nO1xudmFyIEhUTUxfQ0xBU1NfSTJTVkdfQkFTRV9DTEFTUyA9ICdmb250YXdlc29tZS1pMnN2Zyc7XG52YXIgTVVUQVRJT05fQVBQUk9BQ0hfQVNZTkMgPSAnYXN5bmMnO1xudmFyIFRBR05BTUVTX1RPX1NLSVBfRk9SX1BTRVVET0VMRU1FTlRTID0gWydIVE1MJywgJ0hFQUQnLCAnU1RZTEUnLCAnU0NSSVBUJ107XG52YXIgUFJPRFVDVElPTiA9IGZ1bmN0aW9uICgpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJztcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufSgpO1xudmFyIEZBTUlMWV9DTEFTU0lDID0gJ2NsYXNzaWMnO1xudmFyIEZBTUlMWV9TSEFSUCA9ICdzaGFycCc7XG52YXIgRkFNSUxJRVMgPSBbRkFNSUxZX0NMQVNTSUMsIEZBTUlMWV9TSEFSUF07XG5cbmZ1bmN0aW9uIGZhbWlseVByb3h5KG9iaikge1xuICAvLyBEZWZhdWx0cyB0byB0aGUgY2xhc3NpYyBmYW1pbHkgaWYgZmFtaWx5IGlzIG5vdCBhdmFpbGFibGVcbiAgcmV0dXJuIG5ldyBQcm94eShvYmosIHtcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCh0YXJnZXQsIHByb3ApIHtcbiAgICAgIHJldHVybiBwcm9wIGluIHRhcmdldCA/IHRhcmdldFtwcm9wXSA6IHRhcmdldFtGQU1JTFlfQ0xBU1NJQ107XG4gICAgfVxuICB9KTtcbn1cbnZhciBQUkVGSVhfVE9fU1RZTEUgPSBmYW1pbHlQcm94eSgoX2ZhbWlseVByb3h5ID0ge30sIF9kZWZpbmVQcm9wZXJ0eShfZmFtaWx5UHJveHksIEZBTUlMWV9DTEFTU0lDLCB7XG4gICdmYSc6ICdzb2xpZCcsXG4gICdmYXMnOiAnc29saWQnLFxuICAnZmEtc29saWQnOiAnc29saWQnLFxuICAnZmFyJzogJ3JlZ3VsYXInLFxuICAnZmEtcmVndWxhcic6ICdyZWd1bGFyJyxcbiAgJ2ZhbCc6ICdsaWdodCcsXG4gICdmYS1saWdodCc6ICdsaWdodCcsXG4gICdmYXQnOiAndGhpbicsXG4gICdmYS10aGluJzogJ3RoaW4nLFxuICAnZmFkJzogJ2R1b3RvbmUnLFxuICAnZmEtZHVvdG9uZSc6ICdkdW90b25lJyxcbiAgJ2ZhYic6ICdicmFuZHMnLFxuICAnZmEtYnJhbmRzJzogJ2JyYW5kcycsXG4gICdmYWsnOiAna2l0JyxcbiAgJ2Zha2QnOiAna2l0JyxcbiAgJ2ZhLWtpdCc6ICdraXQnLFxuICAnZmEta2l0LWR1b3RvbmUnOiAna2l0J1xufSksIF9kZWZpbmVQcm9wZXJ0eShfZmFtaWx5UHJveHksIEZBTUlMWV9TSEFSUCwge1xuICAnZmEnOiAnc29saWQnLFxuICAnZmFzcyc6ICdzb2xpZCcsXG4gICdmYS1zb2xpZCc6ICdzb2xpZCcsXG4gICdmYXNyJzogJ3JlZ3VsYXInLFxuICAnZmEtcmVndWxhcic6ICdyZWd1bGFyJyxcbiAgJ2Zhc2wnOiAnbGlnaHQnLFxuICAnZmEtbGlnaHQnOiAnbGlnaHQnLFxuICAnZmFzdCc6ICd0aGluJyxcbiAgJ2ZhLXRoaW4nOiAndGhpbidcbn0pLCBfZmFtaWx5UHJveHkpKTtcbnZhciBTVFlMRV9UT19QUkVGSVggPSBmYW1pbHlQcm94eSgoX2ZhbWlseVByb3h5MiA9IHt9LCBfZGVmaW5lUHJvcGVydHkoX2ZhbWlseVByb3h5MiwgRkFNSUxZX0NMQVNTSUMsIHtcbiAgc29saWQ6ICdmYXMnLFxuICByZWd1bGFyOiAnZmFyJyxcbiAgbGlnaHQ6ICdmYWwnLFxuICB0aGluOiAnZmF0JyxcbiAgZHVvdG9uZTogJ2ZhZCcsXG4gIGJyYW5kczogJ2ZhYicsXG4gIGtpdDogJ2Zhaydcbn0pLCBfZGVmaW5lUHJvcGVydHkoX2ZhbWlseVByb3h5MiwgRkFNSUxZX1NIQVJQLCB7XG4gIHNvbGlkOiAnZmFzcycsXG4gIHJlZ3VsYXI6ICdmYXNyJyxcbiAgbGlnaHQ6ICdmYXNsJyxcbiAgdGhpbjogJ2Zhc3QnXG59KSwgX2ZhbWlseVByb3h5MikpO1xudmFyIFBSRUZJWF9UT19MT05HX1NUWUxFID0gZmFtaWx5UHJveHkoKF9mYW1pbHlQcm94eTMgPSB7fSwgX2RlZmluZVByb3BlcnR5KF9mYW1pbHlQcm94eTMsIEZBTUlMWV9DTEFTU0lDLCB7XG4gIGZhYjogJ2ZhLWJyYW5kcycsXG4gIGZhZDogJ2ZhLWR1b3RvbmUnLFxuICBmYWs6ICdmYS1raXQnLFxuICBmYWw6ICdmYS1saWdodCcsXG4gIGZhcjogJ2ZhLXJlZ3VsYXInLFxuICBmYXM6ICdmYS1zb2xpZCcsXG4gIGZhdDogJ2ZhLXRoaW4nXG59KSwgX2RlZmluZVByb3BlcnR5KF9mYW1pbHlQcm94eTMsIEZBTUlMWV9TSEFSUCwge1xuICBmYXNzOiAnZmEtc29saWQnLFxuICBmYXNyOiAnZmEtcmVndWxhcicsXG4gIGZhc2w6ICdmYS1saWdodCcsXG4gIGZhc3Q6ICdmYS10aGluJ1xufSksIF9mYW1pbHlQcm94eTMpKTtcbnZhciBMT05HX1NUWUxFX1RPX1BSRUZJWCA9IGZhbWlseVByb3h5KChfZmFtaWx5UHJveHk0ID0ge30sIF9kZWZpbmVQcm9wZXJ0eShfZmFtaWx5UHJveHk0LCBGQU1JTFlfQ0xBU1NJQywge1xuICAnZmEtYnJhbmRzJzogJ2ZhYicsXG4gICdmYS1kdW90b25lJzogJ2ZhZCcsXG4gICdmYS1raXQnOiAnZmFrJyxcbiAgJ2ZhLWxpZ2h0JzogJ2ZhbCcsXG4gICdmYS1yZWd1bGFyJzogJ2ZhcicsXG4gICdmYS1zb2xpZCc6ICdmYXMnLFxuICAnZmEtdGhpbic6ICdmYXQnXG59KSwgX2RlZmluZVByb3BlcnR5KF9mYW1pbHlQcm94eTQsIEZBTUlMWV9TSEFSUCwge1xuICAnZmEtc29saWQnOiAnZmFzcycsXG4gICdmYS1yZWd1bGFyJzogJ2Zhc3InLFxuICAnZmEtbGlnaHQnOiAnZmFzbCcsXG4gICdmYS10aGluJzogJ2Zhc3QnXG59KSwgX2ZhbWlseVByb3h5NCkpO1xudmFyIElDT05fU0VMRUNUSU9OX1NZTlRBWF9QQVRURVJOID0gL2ZhKHN8cnxsfHR8ZHxifGt8c3N8c3J8c2x8c3QpP1tcXC1cXCBdLzsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11c2VsZXNzLWVzY2FwZVxuXG52YXIgTEFZRVJTX1RFWFRfQ0xBU1NOQU1FID0gJ2ZhLWxheWVycy10ZXh0JztcbnZhciBGT05UX0ZBTUlMWV9QQVRURVJOID0gL0ZvbnQgP0F3ZXNvbWUgPyhbNTYgXSopKFNvbGlkfFJlZ3VsYXJ8TGlnaHR8VGhpbnxEdW90b25lfEJyYW5kc3xGcmVlfFByb3xTaGFycHxLaXQpPy4qL2k7XG52YXIgRk9OVF9XRUlHSFRfVE9fUFJFRklYID0gZmFtaWx5UHJveHkoKF9mYW1pbHlQcm94eTUgPSB7fSwgX2RlZmluZVByb3BlcnR5KF9mYW1pbHlQcm94eTUsIEZBTUlMWV9DTEFTU0lDLCB7XG4gIDkwMDogJ2ZhcycsXG4gIDQwMDogJ2ZhcicsXG4gIG5vcm1hbDogJ2ZhcicsXG4gIDMwMDogJ2ZhbCcsXG4gIDEwMDogJ2ZhdCdcbn0pLCBfZGVmaW5lUHJvcGVydHkoX2ZhbWlseVByb3h5NSwgRkFNSUxZX1NIQVJQLCB7XG4gIDkwMDogJ2Zhc3MnLFxuICA0MDA6ICdmYXNyJyxcbiAgMzAwOiAnZmFzbCcsXG4gIDEwMDogJ2Zhc3QnXG59KSwgX2ZhbWlseVByb3h5NSkpO1xudmFyIG9uZVRvVGVuID0gWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwXTtcbnZhciBvbmVUb1R3ZW50eSA9IG9uZVRvVGVuLmNvbmNhdChbMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMTcsIDE4LCAxOSwgMjBdKTtcbnZhciBBVFRSSUJVVEVTX1dBVENIRURfRk9SX01VVEFUSU9OID0gWydjbGFzcycsICdkYXRhLXByZWZpeCcsICdkYXRhLWljb24nLCAnZGF0YS1mYS10cmFuc2Zvcm0nLCAnZGF0YS1mYS1tYXNrJ107XG52YXIgRFVPVE9ORV9DTEFTU0VTID0ge1xuICBHUk9VUDogJ2R1b3RvbmUtZ3JvdXAnLFxuICBTV0FQX09QQUNJVFk6ICdzd2FwLW9wYWNpdHknLFxuICBQUklNQVJZOiAncHJpbWFyeScsXG4gIFNFQ09OREFSWTogJ3NlY29uZGFyeSdcbn07XG52YXIgcHJlZml4ZXMgPSBuZXcgU2V0KCk7XG5PYmplY3Qua2V5cyhTVFlMRV9UT19QUkVGSVhbRkFNSUxZX0NMQVNTSUNdKS5tYXAocHJlZml4ZXMuYWRkLmJpbmQocHJlZml4ZXMpKTtcbk9iamVjdC5rZXlzKFNUWUxFX1RPX1BSRUZJWFtGQU1JTFlfU0hBUlBdKS5tYXAocHJlZml4ZXMuYWRkLmJpbmQocHJlZml4ZXMpKTtcbnZhciBSRVNFUlZFRF9DTEFTU0VTID0gW10uY29uY2F0KEZBTUlMSUVTLCBfdG9Db25zdW1hYmxlQXJyYXkocHJlZml4ZXMpLCBbJzJ4cycsICd4cycsICdzbScsICdsZycsICd4bCcsICcyeGwnLCAnYmVhdCcsICdib3JkZXInLCAnZmFkZScsICdiZWF0LWZhZGUnLCAnYm91bmNlJywgJ2ZsaXAtYm90aCcsICdmbGlwLWhvcml6b250YWwnLCAnZmxpcC12ZXJ0aWNhbCcsICdmbGlwJywgJ2Z3JywgJ2ludmVyc2UnLCAnbGF5ZXJzLWNvdW50ZXInLCAnbGF5ZXJzLXRleHQnLCAnbGF5ZXJzJywgJ2xpJywgJ3B1bGwtbGVmdCcsICdwdWxsLXJpZ2h0JywgJ3B1bHNlJywgJ3JvdGF0ZS0xODAnLCAncm90YXRlLTI3MCcsICdyb3RhdGUtOTAnLCAncm90YXRlLWJ5JywgJ3NoYWtlJywgJ3NwaW4tcHVsc2UnLCAnc3Bpbi1yZXZlcnNlJywgJ3NwaW4nLCAnc3RhY2stMXgnLCAnc3RhY2stMngnLCAnc3RhY2snLCAndWwnLCBEVU9UT05FX0NMQVNTRVMuR1JPVVAsIERVT1RPTkVfQ0xBU1NFUy5TV0FQX09QQUNJVFksIERVT1RPTkVfQ0xBU1NFUy5QUklNQVJZLCBEVU9UT05FX0NMQVNTRVMuU0VDT05EQVJZXSkuY29uY2F0KG9uZVRvVGVuLm1hcChmdW5jdGlvbiAobikge1xuICByZXR1cm4gXCJcIi5jb25jYXQobiwgXCJ4XCIpO1xufSkpLmNvbmNhdChvbmVUb1R3ZW50eS5tYXAoZnVuY3Rpb24gKG4pIHtcbiAgcmV0dXJuIFwidy1cIi5jb25jYXQobik7XG59KSk7XG5cbnZhciBpbml0aWFsID0gV0lORE9XLkZvbnRBd2Vzb21lQ29uZmlnIHx8IHt9O1xuXG5mdW5jdGlvbiBnZXRBdHRyQ29uZmlnKGF0dHIpIHtcbiAgdmFyIGVsZW1lbnQgPSBET0NVTUVOVC5xdWVyeVNlbGVjdG9yKCdzY3JpcHRbJyArIGF0dHIgKyAnXScpO1xuXG4gIGlmIChlbGVtZW50KSB7XG4gICAgcmV0dXJuIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGF0dHIpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvZXJjZSh2YWwpIHtcbiAgLy8gR2V0dGluZyBhbiBlbXB0eSBzdHJpbmcgd2lsbCBvY2N1ciBpZiB0aGUgYXR0cmlidXRlIGlzIHNldCBvbiB0aGUgSFRNTCB0YWcgYnV0IHdpdGhvdXQgYSB2YWx1ZVxuICAvLyBXZSdsbCBhc3N1bWUgdGhhdCB0aGlzIGlzIGFuIGluZGljYXRpb24gdGhhdCBpdCBzaG91bGQgYmUgdG9nZ2xlZCB0byB0cnVlXG4gIGlmICh2YWwgPT09ICcnKSByZXR1cm4gdHJ1ZTtcbiAgaWYgKHZhbCA9PT0gJ2ZhbHNlJykgcmV0dXJuIGZhbHNlO1xuICBpZiAodmFsID09PSAndHJ1ZScpIHJldHVybiB0cnVlO1xuICByZXR1cm4gdmFsO1xufVxuXG5pZiAoRE9DVU1FTlQgJiYgdHlwZW9mIERPQ1VNRU5ULnF1ZXJ5U2VsZWN0b3IgPT09ICdmdW5jdGlvbicpIHtcbiAgdmFyIGF0dHJzID0gW1snZGF0YS1mYW1pbHktcHJlZml4JywgJ2ZhbWlseVByZWZpeCddLCBbJ2RhdGEtY3NzLXByZWZpeCcsICdjc3NQcmVmaXgnXSwgWydkYXRhLWZhbWlseS1kZWZhdWx0JywgJ2ZhbWlseURlZmF1bHQnXSwgWydkYXRhLXN0eWxlLWRlZmF1bHQnLCAnc3R5bGVEZWZhdWx0J10sIFsnZGF0YS1yZXBsYWNlbWVudC1jbGFzcycsICdyZXBsYWNlbWVudENsYXNzJ10sIFsnZGF0YS1hdXRvLXJlcGxhY2Utc3ZnJywgJ2F1dG9SZXBsYWNlU3ZnJ10sIFsnZGF0YS1hdXRvLWFkZC1jc3MnLCAnYXV0b0FkZENzcyddLCBbJ2RhdGEtYXV0by1hMTF5JywgJ2F1dG9BMTF5J10sIFsnZGF0YS1zZWFyY2gtcHNldWRvLWVsZW1lbnRzJywgJ3NlYXJjaFBzZXVkb0VsZW1lbnRzJ10sIFsnZGF0YS1vYnNlcnZlLW11dGF0aW9ucycsICdvYnNlcnZlTXV0YXRpb25zJ10sIFsnZGF0YS1tdXRhdGUtYXBwcm9hY2gnLCAnbXV0YXRlQXBwcm9hY2gnXSwgWydkYXRhLWtlZXAtb3JpZ2luYWwtc291cmNlJywgJ2tlZXBPcmlnaW5hbFNvdXJjZSddLCBbJ2RhdGEtbWVhc3VyZS1wZXJmb3JtYW5jZScsICdtZWFzdXJlUGVyZm9ybWFuY2UnXSwgWydkYXRhLXNob3ctbWlzc2luZy1pY29ucycsICdzaG93TWlzc2luZ0ljb25zJ11dO1xuICBhdHRycy5mb3JFYWNoKGZ1bmN0aW9uIChfcmVmKSB7XG4gICAgdmFyIF9yZWYyID0gX3NsaWNlZFRvQXJyYXkoX3JlZiwgMiksXG4gICAgICAgIGF0dHIgPSBfcmVmMlswXSxcbiAgICAgICAga2V5ID0gX3JlZjJbMV07XG5cbiAgICB2YXIgdmFsID0gY29lcmNlKGdldEF0dHJDb25maWcoYXR0cikpO1xuXG4gICAgaWYgKHZhbCAhPT0gdW5kZWZpbmVkICYmIHZhbCAhPT0gbnVsbCkge1xuICAgICAgaW5pdGlhbFtrZXldID0gdmFsO1xuICAgIH1cbiAgfSk7XG59XG5cbnZhciBfZGVmYXVsdCA9IHtcbiAgc3R5bGVEZWZhdWx0OiAnc29saWQnLFxuICBmYW1pbHlEZWZhdWx0OiAnY2xhc3NpYycsXG4gIGNzc1ByZWZpeDogREVGQVVMVF9DU1NfUFJFRklYLFxuICByZXBsYWNlbWVudENsYXNzOiBERUZBVUxUX1JFUExBQ0VNRU5UX0NMQVNTLFxuICBhdXRvUmVwbGFjZVN2ZzogdHJ1ZSxcbiAgYXV0b0FkZENzczogdHJ1ZSxcbiAgYXV0b0ExMXk6IHRydWUsXG4gIHNlYXJjaFBzZXVkb0VsZW1lbnRzOiBmYWxzZSxcbiAgb2JzZXJ2ZU11dGF0aW9uczogdHJ1ZSxcbiAgbXV0YXRlQXBwcm9hY2g6ICdhc3luYycsXG4gIGtlZXBPcmlnaW5hbFNvdXJjZTogdHJ1ZSxcbiAgbWVhc3VyZVBlcmZvcm1hbmNlOiBmYWxzZSxcbiAgc2hvd01pc3NpbmdJY29uczogdHJ1ZVxufTsgLy8gZmFtaWx5UHJlZml4IGlzIGRlcHJlY2F0ZWQgYnV0IHdlIG11c3Qgc3RpbGwgc3VwcG9ydCBpdCBpZiBwcmVzZW50XG5cbmlmIChpbml0aWFsLmZhbWlseVByZWZpeCkge1xuICBpbml0aWFsLmNzc1ByZWZpeCA9IGluaXRpYWwuZmFtaWx5UHJlZml4O1xufVxuXG52YXIgX2NvbmZpZyA9IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBfZGVmYXVsdCksIGluaXRpYWwpO1xuXG5pZiAoIV9jb25maWcuYXV0b1JlcGxhY2VTdmcpIF9jb25maWcub2JzZXJ2ZU11dGF0aW9ucyA9IGZhbHNlO1xudmFyIGNvbmZpZyA9IHt9O1xuT2JqZWN0LmtleXMoX2RlZmF1bHQpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29uZmlnLCBrZXksIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIHNldDogZnVuY3Rpb24gc2V0KHZhbCkge1xuICAgICAgX2NvbmZpZ1trZXldID0gdmFsO1xuXG4gICAgICBfb25DaGFuZ2VDYi5mb3JFYWNoKGZ1bmN0aW9uIChjYikge1xuICAgICAgICByZXR1cm4gY2IoY29uZmlnKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gX2NvbmZpZ1trZXldO1xuICAgIH1cbiAgfSk7XG59KTsgLy8gZmFtaWx5UHJlZml4IGlzIGRlcHJlY2F0ZWQgYXMgb2YgNi4yLjAgYW5kIHNob3VsZCBiZSByZW1vdmVkIGluIDcuMC4wXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb25maWcsICdmYW1pbHlQcmVmaXgnLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIHNldDogZnVuY3Rpb24gc2V0KHZhbCkge1xuICAgIF9jb25maWcuY3NzUHJlZml4ID0gdmFsO1xuXG4gICAgX29uQ2hhbmdlQ2IuZm9yRWFjaChmdW5jdGlvbiAoY2IpIHtcbiAgICAgIHJldHVybiBjYihjb25maWcpO1xuICAgIH0pO1xuICB9LFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICByZXR1cm4gX2NvbmZpZy5jc3NQcmVmaXg7XG4gIH1cbn0pO1xuV0lORE9XLkZvbnRBd2Vzb21lQ29uZmlnID0gY29uZmlnO1xudmFyIF9vbkNoYW5nZUNiID0gW107XG5mdW5jdGlvbiBvbkNoYW5nZShjYikge1xuICBfb25DaGFuZ2VDYi5wdXNoKGNiKTtcblxuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIF9vbkNoYW5nZUNiLnNwbGljZShfb25DaGFuZ2VDYi5pbmRleE9mKGNiKSwgMSk7XG4gIH07XG59XG5cbnZhciBkID0gVU5JVFNfSU5fR1JJRDtcbnZhciBtZWFuaW5nbGVzc1RyYW5zZm9ybSA9IHtcbiAgc2l6ZTogMTYsXG4gIHg6IDAsXG4gIHk6IDAsXG4gIHJvdGF0ZTogMCxcbiAgZmxpcFg6IGZhbHNlLFxuICBmbGlwWTogZmFsc2Vcbn07XG5mdW5jdGlvbiBpbnNlcnRDc3MoY3NzKSB7XG4gIGlmICghY3NzIHx8ICFJU19ET00pIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgc3R5bGUgPSBET0NVTUVOVC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICBzdHlsZS5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAndGV4dC9jc3MnKTtcbiAgc3R5bGUuaW5uZXJIVE1MID0gY3NzO1xuICB2YXIgaGVhZENoaWxkcmVuID0gRE9DVU1FTlQuaGVhZC5jaGlsZE5vZGVzO1xuICB2YXIgYmVmb3JlQ2hpbGQgPSBudWxsO1xuXG4gIGZvciAodmFyIGkgPSBoZWFkQ2hpbGRyZW4ubGVuZ3RoIC0gMTsgaSA+IC0xOyBpLS0pIHtcbiAgICB2YXIgY2hpbGQgPSBoZWFkQ2hpbGRyZW5baV07XG4gICAgdmFyIHRhZ05hbWUgPSAoY2hpbGQudGFnTmFtZSB8fCAnJykudG9VcHBlckNhc2UoKTtcblxuICAgIGlmIChbJ1NUWUxFJywgJ0xJTksnXS5pbmRleE9mKHRhZ05hbWUpID4gLTEpIHtcbiAgICAgIGJlZm9yZUNoaWxkID0gY2hpbGQ7XG4gICAgfVxuICB9XG5cbiAgRE9DVU1FTlQuaGVhZC5pbnNlcnRCZWZvcmUoc3R5bGUsIGJlZm9yZUNoaWxkKTtcbiAgcmV0dXJuIGNzcztcbn1cbnZhciBpZFBvb2wgPSAnMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVonO1xuZnVuY3Rpb24gbmV4dFVuaXF1ZUlkKCkge1xuICB2YXIgc2l6ZSA9IDEyO1xuICB2YXIgaWQgPSAnJztcblxuICB3aGlsZSAoc2l6ZS0tID4gMCkge1xuICAgIGlkICs9IGlkUG9vbFtNYXRoLnJhbmRvbSgpICogNjIgfCAwXTtcbiAgfVxuXG4gIHJldHVybiBpZDtcbn1cbmZ1bmN0aW9uIHRvQXJyYXkob2JqKSB7XG4gIHZhciBhcnJheSA9IFtdO1xuXG4gIGZvciAodmFyIGkgPSAob2JqIHx8IFtdKS5sZW5ndGggPj4+IDA7IGktLTspIHtcbiAgICBhcnJheVtpXSA9IG9ialtpXTtcbiAgfVxuXG4gIHJldHVybiBhcnJheTtcbn1cbmZ1bmN0aW9uIGNsYXNzQXJyYXkobm9kZSkge1xuICBpZiAobm9kZS5jbGFzc0xpc3QpIHtcbiAgICByZXR1cm4gdG9BcnJheShub2RlLmNsYXNzTGlzdCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIChub2RlLmdldEF0dHJpYnV0ZSgnY2xhc3MnKSB8fCAnJykuc3BsaXQoJyAnKS5maWx0ZXIoZnVuY3Rpb24gKGkpIHtcbiAgICAgIHJldHVybiBpO1xuICAgIH0pO1xuICB9XG59XG5mdW5jdGlvbiBodG1sRXNjYXBlKHN0cikge1xuICByZXR1cm4gXCJcIi5jb25jYXQoc3RyKS5yZXBsYWNlKC8mL2csICcmYW1wOycpLnJlcGxhY2UoL1wiL2csICcmcXVvdDsnKS5yZXBsYWNlKC8nL2csICcmIzM5OycpLnJlcGxhY2UoLzwvZywgJyZsdDsnKS5yZXBsYWNlKC8+L2csICcmZ3Q7Jyk7XG59XG5mdW5jdGlvbiBqb2luQXR0cmlidXRlcyhhdHRyaWJ1dGVzKSB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhhdHRyaWJ1dGVzIHx8IHt9KS5yZWR1Y2UoZnVuY3Rpb24gKGFjYywgYXR0cmlidXRlTmFtZSkge1xuICAgIHJldHVybiBhY2MgKyBcIlwiLmNvbmNhdChhdHRyaWJ1dGVOYW1lLCBcIj1cXFwiXCIpLmNvbmNhdChodG1sRXNjYXBlKGF0dHJpYnV0ZXNbYXR0cmlidXRlTmFtZV0pLCBcIlxcXCIgXCIpO1xuICB9LCAnJykudHJpbSgpO1xufVxuZnVuY3Rpb24gam9pblN0eWxlcyhzdHlsZXMpIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKHN0eWxlcyB8fCB7fSkucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHN0eWxlTmFtZSkge1xuICAgIHJldHVybiBhY2MgKyBcIlwiLmNvbmNhdChzdHlsZU5hbWUsIFwiOiBcIikuY29uY2F0KHN0eWxlc1tzdHlsZU5hbWVdLnRyaW0oKSwgXCI7XCIpO1xuICB9LCAnJyk7XG59XG5mdW5jdGlvbiB0cmFuc2Zvcm1Jc01lYW5pbmdmdWwodHJhbnNmb3JtKSB7XG4gIHJldHVybiB0cmFuc2Zvcm0uc2l6ZSAhPT0gbWVhbmluZ2xlc3NUcmFuc2Zvcm0uc2l6ZSB8fCB0cmFuc2Zvcm0ueCAhPT0gbWVhbmluZ2xlc3NUcmFuc2Zvcm0ueCB8fCB0cmFuc2Zvcm0ueSAhPT0gbWVhbmluZ2xlc3NUcmFuc2Zvcm0ueSB8fCB0cmFuc2Zvcm0ucm90YXRlICE9PSBtZWFuaW5nbGVzc1RyYW5zZm9ybS5yb3RhdGUgfHwgdHJhbnNmb3JtLmZsaXBYIHx8IHRyYW5zZm9ybS5mbGlwWTtcbn1cbmZ1bmN0aW9uIHRyYW5zZm9ybUZvclN2ZyhfcmVmKSB7XG4gIHZhciB0cmFuc2Zvcm0gPSBfcmVmLnRyYW5zZm9ybSxcbiAgICAgIGNvbnRhaW5lcldpZHRoID0gX3JlZi5jb250YWluZXJXaWR0aCxcbiAgICAgIGljb25XaWR0aCA9IF9yZWYuaWNvbldpZHRoO1xuICB2YXIgb3V0ZXIgPSB7XG4gICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZShcIi5jb25jYXQoY29udGFpbmVyV2lkdGggLyAyLCBcIiAyNTYpXCIpXG4gIH07XG4gIHZhciBpbm5lclRyYW5zbGF0ZSA9IFwidHJhbnNsYXRlKFwiLmNvbmNhdCh0cmFuc2Zvcm0ueCAqIDMyLCBcIiwgXCIpLmNvbmNhdCh0cmFuc2Zvcm0ueSAqIDMyLCBcIikgXCIpO1xuICB2YXIgaW5uZXJTY2FsZSA9IFwic2NhbGUoXCIuY29uY2F0KHRyYW5zZm9ybS5zaXplIC8gMTYgKiAodHJhbnNmb3JtLmZsaXBYID8gLTEgOiAxKSwgXCIsIFwiKS5jb25jYXQodHJhbnNmb3JtLnNpemUgLyAxNiAqICh0cmFuc2Zvcm0uZmxpcFkgPyAtMSA6IDEpLCBcIikgXCIpO1xuICB2YXIgaW5uZXJSb3RhdGUgPSBcInJvdGF0ZShcIi5jb25jYXQodHJhbnNmb3JtLnJvdGF0ZSwgXCIgMCAwKVwiKTtcbiAgdmFyIGlubmVyID0ge1xuICAgIHRyYW5zZm9ybTogXCJcIi5jb25jYXQoaW5uZXJUcmFuc2xhdGUsIFwiIFwiKS5jb25jYXQoaW5uZXJTY2FsZSwgXCIgXCIpLmNvbmNhdChpbm5lclJvdGF0ZSlcbiAgfTtcbiAgdmFyIHBhdGggPSB7XG4gICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZShcIi5jb25jYXQoaWNvbldpZHRoIC8gMiAqIC0xLCBcIiAtMjU2KVwiKVxuICB9O1xuICByZXR1cm4ge1xuICAgIG91dGVyOiBvdXRlcixcbiAgICBpbm5lcjogaW5uZXIsXG4gICAgcGF0aDogcGF0aFxuICB9O1xufVxuZnVuY3Rpb24gdHJhbnNmb3JtRm9yQ3NzKF9yZWYyKSB7XG4gIHZhciB0cmFuc2Zvcm0gPSBfcmVmMi50cmFuc2Zvcm0sXG4gICAgICBfcmVmMiR3aWR0aCA9IF9yZWYyLndpZHRoLFxuICAgICAgd2lkdGggPSBfcmVmMiR3aWR0aCA9PT0gdm9pZCAwID8gVU5JVFNfSU5fR1JJRCA6IF9yZWYyJHdpZHRoLFxuICAgICAgX3JlZjIkaGVpZ2h0ID0gX3JlZjIuaGVpZ2h0LFxuICAgICAgaGVpZ2h0ID0gX3JlZjIkaGVpZ2h0ID09PSB2b2lkIDAgPyBVTklUU19JTl9HUklEIDogX3JlZjIkaGVpZ2h0LFxuICAgICAgX3JlZjIkc3RhcnRDZW50ZXJlZCA9IF9yZWYyLnN0YXJ0Q2VudGVyZWQsXG4gICAgICBzdGFydENlbnRlcmVkID0gX3JlZjIkc3RhcnRDZW50ZXJlZCA9PT0gdm9pZCAwID8gZmFsc2UgOiBfcmVmMiRzdGFydENlbnRlcmVkO1xuICB2YXIgdmFsID0gJyc7XG5cbiAgaWYgKHN0YXJ0Q2VudGVyZWQgJiYgSVNfSUUpIHtcbiAgICB2YWwgKz0gXCJ0cmFuc2xhdGUoXCIuY29uY2F0KHRyYW5zZm9ybS54IC8gZCAtIHdpZHRoIC8gMiwgXCJlbSwgXCIpLmNvbmNhdCh0cmFuc2Zvcm0ueSAvIGQgLSBoZWlnaHQgLyAyLCBcImVtKSBcIik7XG4gIH0gZWxzZSBpZiAoc3RhcnRDZW50ZXJlZCkge1xuICAgIHZhbCArPSBcInRyYW5zbGF0ZShjYWxjKC01MCUgKyBcIi5jb25jYXQodHJhbnNmb3JtLnggLyBkLCBcImVtKSwgY2FsYygtNTAlICsgXCIpLmNvbmNhdCh0cmFuc2Zvcm0ueSAvIGQsIFwiZW0pKSBcIik7XG4gIH0gZWxzZSB7XG4gICAgdmFsICs9IFwidHJhbnNsYXRlKFwiLmNvbmNhdCh0cmFuc2Zvcm0ueCAvIGQsIFwiZW0sIFwiKS5jb25jYXQodHJhbnNmb3JtLnkgLyBkLCBcImVtKSBcIik7XG4gIH1cblxuICB2YWwgKz0gXCJzY2FsZShcIi5jb25jYXQodHJhbnNmb3JtLnNpemUgLyBkICogKHRyYW5zZm9ybS5mbGlwWCA/IC0xIDogMSksIFwiLCBcIikuY29uY2F0KHRyYW5zZm9ybS5zaXplIC8gZCAqICh0cmFuc2Zvcm0uZmxpcFkgPyAtMSA6IDEpLCBcIikgXCIpO1xuICB2YWwgKz0gXCJyb3RhdGUoXCIuY29uY2F0KHRyYW5zZm9ybS5yb3RhdGUsIFwiZGVnKSBcIik7XG4gIHJldHVybiB2YWw7XG59XG5cbnZhciBiYXNlU3R5bGVzID0gXCI6cm9vdCwgOmhvc3Qge1xcbiAgLS1mYS1mb250LXNvbGlkOiBub3JtYWwgOTAwIDFlbS8xIFxcXCJGb250IEF3ZXNvbWUgNiBTb2xpZFxcXCI7XFxuICAtLWZhLWZvbnQtcmVndWxhcjogbm9ybWFsIDQwMCAxZW0vMSBcXFwiRm9udCBBd2Vzb21lIDYgUmVndWxhclxcXCI7XFxuICAtLWZhLWZvbnQtbGlnaHQ6IG5vcm1hbCAzMDAgMWVtLzEgXFxcIkZvbnQgQXdlc29tZSA2IExpZ2h0XFxcIjtcXG4gIC0tZmEtZm9udC10aGluOiBub3JtYWwgMTAwIDFlbS8xIFxcXCJGb250IEF3ZXNvbWUgNiBUaGluXFxcIjtcXG4gIC0tZmEtZm9udC1kdW90b25lOiBub3JtYWwgOTAwIDFlbS8xIFxcXCJGb250IEF3ZXNvbWUgNiBEdW90b25lXFxcIjtcXG4gIC0tZmEtZm9udC1zaGFycC1zb2xpZDogbm9ybWFsIDkwMCAxZW0vMSBcXFwiRm9udCBBd2Vzb21lIDYgU2hhcnBcXFwiO1xcbiAgLS1mYS1mb250LXNoYXJwLXJlZ3VsYXI6IG5vcm1hbCA0MDAgMWVtLzEgXFxcIkZvbnQgQXdlc29tZSA2IFNoYXJwXFxcIjtcXG4gIC0tZmEtZm9udC1zaGFycC1saWdodDogbm9ybWFsIDMwMCAxZW0vMSBcXFwiRm9udCBBd2Vzb21lIDYgU2hhcnBcXFwiO1xcbiAgLS1mYS1mb250LXNoYXJwLXRoaW46IG5vcm1hbCAxMDAgMWVtLzEgXFxcIkZvbnQgQXdlc29tZSA2IFNoYXJwXFxcIjtcXG4gIC0tZmEtZm9udC1icmFuZHM6IG5vcm1hbCA0MDAgMWVtLzEgXFxcIkZvbnQgQXdlc29tZSA2IEJyYW5kc1xcXCI7XFxufVxcblxcbnN2Zzpub3QoOnJvb3QpLnN2Zy1pbmxpbmUtLWZhLCBzdmc6bm90KDpob3N0KS5zdmctaW5saW5lLS1mYSB7XFxuICBvdmVyZmxvdzogdmlzaWJsZTtcXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xcbn1cXG5cXG4uc3ZnLWlubGluZS0tZmEge1xcbiAgZGlzcGxheTogdmFyKC0tZmEtZGlzcGxheSwgaW5saW5lLWJsb2NrKTtcXG4gIGhlaWdodDogMWVtO1xcbiAgb3ZlcmZsb3c6IHZpc2libGU7XFxuICB2ZXJ0aWNhbC1hbGlnbjogLTAuMTI1ZW07XFxufVxcbi5zdmctaW5saW5lLS1mYS5mYS0yeHMge1xcbiAgdmVydGljYWwtYWxpZ246IDAuMWVtO1xcbn1cXG4uc3ZnLWlubGluZS0tZmEuZmEteHMge1xcbiAgdmVydGljYWwtYWxpZ246IDBlbTtcXG59XFxuLnN2Zy1pbmxpbmUtLWZhLmZhLXNtIHtcXG4gIHZlcnRpY2FsLWFsaWduOiAtMC4wNzE0Mjg1NzA1ZW07XFxufVxcbi5zdmctaW5saW5lLS1mYS5mYS1sZyB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogLTAuMmVtO1xcbn1cXG4uc3ZnLWlubGluZS0tZmEuZmEteGwge1xcbiAgdmVydGljYWwtYWxpZ246IC0wLjI1ZW07XFxufVxcbi5zdmctaW5saW5lLS1mYS5mYS0yeGwge1xcbiAgdmVydGljYWwtYWxpZ246IC0wLjMxMjVlbTtcXG59XFxuLnN2Zy1pbmxpbmUtLWZhLmZhLXB1bGwtbGVmdCB7XFxuICBtYXJnaW4tcmlnaHQ6IHZhcigtLWZhLXB1bGwtbWFyZ2luLCAwLjNlbSk7XFxuICB3aWR0aDogYXV0bztcXG59XFxuLnN2Zy1pbmxpbmUtLWZhLmZhLXB1bGwtcmlnaHQge1xcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWZhLXB1bGwtbWFyZ2luLCAwLjNlbSk7XFxuICB3aWR0aDogYXV0bztcXG59XFxuLnN2Zy1pbmxpbmUtLWZhLmZhLWxpIHtcXG4gIHdpZHRoOiB2YXIoLS1mYS1saS13aWR0aCwgMmVtKTtcXG4gIHRvcDogMC4yNWVtO1xcbn1cXG4uc3ZnLWlubGluZS0tZmEuZmEtZncge1xcbiAgd2lkdGg6IHZhcigtLWZhLWZ3LXdpZHRoLCAxLjI1ZW0pO1xcbn1cXG5cXG4uZmEtbGF5ZXJzIHN2Zy5zdmctaW5saW5lLS1mYSB7XFxuICBib3R0b206IDA7XFxuICBsZWZ0OiAwO1xcbiAgbWFyZ2luOiBhdXRvO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgcmlnaHQ6IDA7XFxuICB0b3A6IDA7XFxufVxcblxcbi5mYS1sYXllcnMtY291bnRlciwgLmZhLWxheWVycy10ZXh0IHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG59XFxuXFxuLmZhLWxheWVycyB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBoZWlnaHQ6IDFlbTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIHZlcnRpY2FsLWFsaWduOiAtMC4xMjVlbTtcXG4gIHdpZHRoOiAxZW07XFxufVxcbi5mYS1sYXllcnMgc3ZnLnN2Zy1pbmxpbmUtLWZhIHtcXG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcXG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcXG59XFxuXFxuLmZhLWxheWVycy10ZXh0IHtcXG4gIGxlZnQ6IDUwJTtcXG4gIHRvcDogNTAlO1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XFxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XFxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XFxufVxcblxcbi5mYS1sYXllcnMtY291bnRlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mYS1jb3VudGVyLWJhY2tncm91bmQtY29sb3IsICNmZjI1M2EpO1xcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tZmEtY291bnRlci1ib3JkZXItcmFkaXVzLCAxZW0pO1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gIGNvbG9yOiB2YXIoLS1mYS1pbnZlcnNlLCAjZmZmKTtcXG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1mYS1jb3VudGVyLWxpbmUtaGVpZ2h0LCAxKTtcXG4gIG1heC13aWR0aDogdmFyKC0tZmEtY291bnRlci1tYXgtd2lkdGgsIDVlbSk7XFxuICBtaW4td2lkdGg6IHZhcigtLWZhLWNvdW50ZXItbWluLXdpZHRoLCAxLjVlbSk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcGFkZGluZzogdmFyKC0tZmEtY291bnRlci1wYWRkaW5nLCAwLjI1ZW0gMC41ZW0pO1xcbiAgcmlnaHQ6IHZhcigtLWZhLXJpZ2h0LCAwKTtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgdG9wOiB2YXIoLS1mYS10b3AsIDApO1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWNvdW50ZXItc2NhbGUsIDAuMjUpKTtcXG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1jb3VudGVyLXNjYWxlLCAwLjI1KSk7XFxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcXG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xcbn1cXG5cXG4uZmEtbGF5ZXJzLWJvdHRvbS1yaWdodCB7XFxuICBib3R0b206IHZhcigtLWZhLWJvdHRvbSwgMCk7XFxuICByaWdodDogdmFyKC0tZmEtcmlnaHQsIDApO1xcbiAgdG9wOiBhdXRvO1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWxheWVycy1zY2FsZSwgMC4yNSkpO1xcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWxheWVycy1zY2FsZSwgMC4yNSkpO1xcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XFxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcXG59XFxuXFxuLmZhLWxheWVycy1ib3R0b20tbGVmdCB7XFxuICBib3R0b206IHZhcigtLWZhLWJvdHRvbSwgMCk7XFxuICBsZWZ0OiB2YXIoLS1mYS1sZWZ0LCAwKTtcXG4gIHJpZ2h0OiBhdXRvO1xcbiAgdG9wOiBhdXRvO1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWxheWVycy1zY2FsZSwgMC4yNSkpO1xcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWxheWVycy1zY2FsZSwgMC4yNSkpO1xcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcXG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XFxufVxcblxcbi5mYS1sYXllcnMtdG9wLXJpZ2h0IHtcXG4gIHRvcDogdmFyKC0tZmEtdG9wLCAwKTtcXG4gIHJpZ2h0OiB2YXIoLS1mYS1yaWdodCwgMCk7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtbGF5ZXJzLXNjYWxlLCAwLjI1KSk7XFxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtbGF5ZXJzLXNjYWxlLCAwLjI1KSk7XFxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcXG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xcbn1cXG5cXG4uZmEtbGF5ZXJzLXRvcC1sZWZ0IHtcXG4gIGxlZnQ6IHZhcigtLWZhLWxlZnQsIDApO1xcbiAgcmlnaHQ6IGF1dG87XFxuICB0b3A6IHZhcigtLWZhLXRvcCwgMCk7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtbGF5ZXJzLXNjYWxlLCAwLjI1KSk7XFxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtbGF5ZXJzLXNjYWxlLCAwLjI1KSk7XFxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcXG59XFxuXFxuLmZhLTF4IHtcXG4gIGZvbnQtc2l6ZTogMWVtO1xcbn1cXG5cXG4uZmEtMngge1xcbiAgZm9udC1zaXplOiAyZW07XFxufVxcblxcbi5mYS0zeCB7XFxuICBmb250LXNpemU6IDNlbTtcXG59XFxuXFxuLmZhLTR4IHtcXG4gIGZvbnQtc2l6ZTogNGVtO1xcbn1cXG5cXG4uZmEtNXgge1xcbiAgZm9udC1zaXplOiA1ZW07XFxufVxcblxcbi5mYS02eCB7XFxuICBmb250LXNpemU6IDZlbTtcXG59XFxuXFxuLmZhLTd4IHtcXG4gIGZvbnQtc2l6ZTogN2VtO1xcbn1cXG5cXG4uZmEtOHgge1xcbiAgZm9udC1zaXplOiA4ZW07XFxufVxcblxcbi5mYS05eCB7XFxuICBmb250LXNpemU6IDllbTtcXG59XFxuXFxuLmZhLTEweCB7XFxuICBmb250LXNpemU6IDEwZW07XFxufVxcblxcbi5mYS0yeHMge1xcbiAgZm9udC1zaXplOiAwLjYyNWVtO1xcbiAgbGluZS1oZWlnaHQ6IDAuMWVtO1xcbiAgdmVydGljYWwtYWxpZ246IDAuMjI1ZW07XFxufVxcblxcbi5mYS14cyB7XFxuICBmb250LXNpemU6IDAuNzVlbTtcXG4gIGxpbmUtaGVpZ2h0OiAwLjA4MzMzMzMzMzdlbTtcXG4gIHZlcnRpY2FsLWFsaWduOiAwLjEyNWVtO1xcbn1cXG5cXG4uZmEtc20ge1xcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xcbiAgbGluZS1oZWlnaHQ6IDAuMDcxNDI4NTcxOGVtO1xcbiAgdmVydGljYWwtYWxpZ246IDAuMDUzNTcxNDI5NWVtO1xcbn1cXG5cXG4uZmEtbGcge1xcbiAgZm9udC1zaXplOiAxLjI1ZW07XFxuICBsaW5lLWhlaWdodDogMC4wNWVtO1xcbiAgdmVydGljYWwtYWxpZ246IC0wLjA3NWVtO1xcbn1cXG5cXG4uZmEteGwge1xcbiAgZm9udC1zaXplOiAxLjVlbTtcXG4gIGxpbmUtaGVpZ2h0OiAwLjA0MTY2NjY2ODJlbTtcXG4gIHZlcnRpY2FsLWFsaWduOiAtMC4xMjVlbTtcXG59XFxuXFxuLmZhLTJ4bCB7XFxuICBmb250LXNpemU6IDJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAwLjAzMTI1ZW07XFxuICB2ZXJ0aWNhbC1hbGlnbjogLTAuMTg3NWVtO1xcbn1cXG5cXG4uZmEtZncge1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgd2lkdGg6IDEuMjVlbTtcXG59XFxuXFxuLmZhLXVsIHtcXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcXG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1mYS1saS1tYXJnaW4sIDIuNWVtKTtcXG4gIHBhZGRpbmctbGVmdDogMDtcXG59XFxuLmZhLXVsID4gbGkge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbn1cXG5cXG4uZmEtbGkge1xcbiAgbGVmdDogY2FsYyh2YXIoLS1mYS1saS13aWR0aCwgMmVtKSAqIC0xKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIHdpZHRoOiB2YXIoLS1mYS1saS13aWR0aCwgMmVtKTtcXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xcbn1cXG5cXG4uZmEtYm9yZGVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tZmEtYm9yZGVyLWNvbG9yLCAjZWVlKTtcXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWZhLWJvcmRlci1yYWRpdXMsIDAuMWVtKTtcXG4gIGJvcmRlci1zdHlsZTogdmFyKC0tZmEtYm9yZGVyLXN0eWxlLCBzb2xpZCk7XFxuICBib3JkZXItd2lkdGg6IHZhcigtLWZhLWJvcmRlci13aWR0aCwgMC4wOGVtKTtcXG4gIHBhZGRpbmc6IHZhcigtLWZhLWJvcmRlci1wYWRkaW5nLCAwLjJlbSAwLjI1ZW0gMC4xNWVtKTtcXG59XFxuXFxuLmZhLXB1bGwtbGVmdCB7XFxuICBmbG9hdDogbGVmdDtcXG4gIG1hcmdpbi1yaWdodDogdmFyKC0tZmEtcHVsbC1tYXJnaW4sIDAuM2VtKTtcXG59XFxuXFxuLmZhLXB1bGwtcmlnaHQge1xcbiAgZmxvYXQ6IHJpZ2h0O1xcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWZhLXB1bGwtbWFyZ2luLCAwLjNlbSk7XFxufVxcblxcbi5mYS1iZWF0IHtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhLWJlYXQ7XFxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYS1iZWF0O1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpO1xcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpO1xcbiAgICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpO1xcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7XFxuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgZWFzZS1pbi1vdXQpO1xcbiAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBlYXNlLWluLW91dCk7XFxufVxcblxcbi5mYS1ib3VuY2Uge1xcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmEtYm91bmNlO1xcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmEtYm91bmNlO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpO1xcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpO1xcbiAgICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpO1xcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7XFxuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgY3ViaWMtYmV6aWVyKDAuMjgsIDAuODQsIDAuNDIsIDEpKTtcXG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgY3ViaWMtYmV6aWVyKDAuMjgsIDAuODQsIDAuNDIsIDEpKTtcXG59XFxuXFxuLmZhLWZhZGUge1xcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmEtZmFkZTtcXG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhLWZhZGU7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7XFxuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7XFxuICAgICAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAxcyk7XFxuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAxcyk7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTtcXG4gICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpKTtcXG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSk7XFxufVxcblxcbi5mYS1iZWF0LWZhZGUge1xcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmEtYmVhdC1mYWRlO1xcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmEtYmVhdC1mYWRlO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpO1xcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpO1xcbiAgICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpO1xcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7XFxuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSk7XFxuICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkpO1xcbn1cXG5cXG4uZmEtZmxpcCB7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYS1mbGlwO1xcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmEtZmxpcDtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTtcXG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTtcXG4gICAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDFzKTtcXG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDFzKTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpO1xcbiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7XFxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsIGVhc2UtaW4tb3V0KTtcXG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgZWFzZS1pbi1vdXQpO1xcbn1cXG5cXG4uZmEtc2hha2Uge1xcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmEtc2hha2U7XFxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYS1zaGFrZTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTtcXG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTtcXG4gICAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDFzKTtcXG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDFzKTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpO1xcbiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7XFxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsIGxpbmVhcik7XFxuICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsIGxpbmVhcik7XFxufVxcblxcbi5mYS1zcGluIHtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhLXNwaW47XFxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYS1zcGluO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpO1xcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpO1xcbiAgICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMnMpO1xcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMnMpO1xcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7XFxuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgbGluZWFyKTtcXG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgbGluZWFyKTtcXG59XFxuXFxuLmZhLXNwaW4tcmV2ZXJzZSB7XFxuICAtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb246IHJldmVyc2U7XFxufVxcblxcbi5mYS1wdWxzZSxcXG4uZmEtc3Bpbi1wdWxzZSB7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYS1zcGluO1xcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmEtc3BpbjtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTtcXG4gICAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDFzKTtcXG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDFzKTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpO1xcbiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7XFxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsIHN0ZXBzKDgpKTtcXG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgc3RlcHMoOCkpO1xcbn1cXG5cXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xcbiAgLmZhLWJlYXQsXFxuLmZhLWJvdW5jZSxcXG4uZmEtZmFkZSxcXG4uZmEtYmVhdC1mYWRlLFxcbi5mYS1mbGlwLFxcbi5mYS1wdWxzZSxcXG4uZmEtc2hha2UsXFxuLmZhLXNwaW4sXFxuLmZhLXNwaW4tcHVsc2Uge1xcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTFtcztcXG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC0xbXM7XFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxbXM7XFxuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxbXM7XFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcXG4gICAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDBzO1xcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDBzO1xcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzO1xcbiAgfVxcbn1cXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmEtYmVhdCB7XFxuICAwJSwgOTAlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XFxuICB9XFxuICA0NSUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYmVhdC1zY2FsZSwgMS4yNSkpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYmVhdC1zY2FsZSwgMS4yNSkpO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGZhLWJlYXQge1xcbiAgMCUsIDkwJSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xcbiAgfVxcbiAgNDUlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJlYXQtc2NhbGUsIDEuMjUpKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJlYXQtc2NhbGUsIDEuMjUpKTtcXG4gIH1cXG59XFxuQC13ZWJraXQta2V5ZnJhbWVzIGZhLWJvdW5jZSB7XFxuICAwJSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSgwKTtcXG4gIH1cXG4gIDEwJSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1ib3VuY2Utc3RhcnQtc2NhbGUteCwgMS4xKSwgdmFyKC0tZmEtYm91bmNlLXN0YXJ0LXNjYWxlLXksIDAuOSkpIHRyYW5zbGF0ZVkoMCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1ib3VuY2Utc3RhcnQtc2NhbGUteCwgMS4xKSwgdmFyKC0tZmEtYm91bmNlLXN0YXJ0LXNjYWxlLXksIDAuOSkpIHRyYW5zbGF0ZVkoMCk7XFxuICB9XFxuICAzMCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYm91bmNlLWp1bXAtc2NhbGUteCwgMC45KSwgdmFyKC0tZmEtYm91bmNlLWp1bXAtc2NhbGUteSwgMS4xKSkgdHJhbnNsYXRlWSh2YXIoLS1mYS1ib3VuY2UtaGVpZ2h0LCAtMC41ZW0pKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJvdW5jZS1qdW1wLXNjYWxlLXgsIDAuOSksIHZhcigtLWZhLWJvdW5jZS1qdW1wLXNjYWxlLXksIDEuMSkpIHRyYW5zbGF0ZVkodmFyKC0tZmEtYm91bmNlLWhlaWdodCwgLTAuNWVtKSk7XFxuICB9XFxuICA1MCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYm91bmNlLWxhbmQtc2NhbGUteCwgMS4wNSksIHZhcigtLWZhLWJvdW5jZS1sYW5kLXNjYWxlLXksIDAuOTUpKSB0cmFuc2xhdGVZKDApO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYm91bmNlLWxhbmQtc2NhbGUteCwgMS4wNSksIHZhcigtLWZhLWJvdW5jZS1sYW5kLXNjYWxlLXksIDAuOTUpKSB0cmFuc2xhdGVZKDApO1xcbiAgfVxcbiAgNTclIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkodmFyKC0tZmEtYm91bmNlLXJlYm91bmQsIC0wLjEyNWVtKSk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKHZhcigtLWZhLWJvdW5jZS1yZWJvdW5kLCAtMC4xMjVlbSkpO1xcbiAgfVxcbiAgNjQlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkoMCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApO1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSgwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBmYS1ib3VuY2Uge1xcbiAgMCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSgwKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkoMCk7XFxuICB9XFxuICAxMCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYm91bmNlLXN0YXJ0LXNjYWxlLXgsIDEuMSksIHZhcigtLWZhLWJvdW5jZS1zdGFydC1zY2FsZS15LCAwLjkpKSB0cmFuc2xhdGVZKDApO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYm91bmNlLXN0YXJ0LXNjYWxlLXgsIDEuMSksIHZhcigtLWZhLWJvdW5jZS1zdGFydC1zY2FsZS15LCAwLjkpKSB0cmFuc2xhdGVZKDApO1xcbiAgfVxcbiAgMzAlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJvdW5jZS1qdW1wLXNjYWxlLXgsIDAuOSksIHZhcigtLWZhLWJvdW5jZS1qdW1wLXNjYWxlLXksIDEuMSkpIHRyYW5zbGF0ZVkodmFyKC0tZmEtYm91bmNlLWhlaWdodCwgLTAuNWVtKSk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1ib3VuY2UtanVtcC1zY2FsZS14LCAwLjkpLCB2YXIoLS1mYS1ib3VuY2UtanVtcC1zY2FsZS15LCAxLjEpKSB0cmFuc2xhdGVZKHZhcigtLWZhLWJvdW5jZS1oZWlnaHQsIC0wLjVlbSkpO1xcbiAgfVxcbiAgNTAlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJvdW5jZS1sYW5kLXNjYWxlLXgsIDEuMDUpLCB2YXIoLS1mYS1ib3VuY2UtbGFuZC1zY2FsZS15LCAwLjk1KSkgdHJhbnNsYXRlWSgwKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJvdW5jZS1sYW5kLXNjYWxlLXgsIDEuMDUpLCB2YXIoLS1mYS1ib3VuY2UtbGFuZC1zY2FsZS15LCAwLjk1KSkgdHJhbnNsYXRlWSgwKTtcXG4gIH1cXG4gIDU3JSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKHZhcigtLWZhLWJvdW5jZS1yZWJvdW5kLCAtMC4xMjVlbSkpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSh2YXIoLS1mYS1ib3VuY2UtcmVib3VuZCwgLTAuMTI1ZW0pKTtcXG4gIH1cXG4gIDY0JSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSgwKTtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSgwKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkoMCk7XFxuICB9XFxufVxcbkAtd2Via2l0LWtleWZyYW1lcyBmYS1mYWRlIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IHZhcigtLWZhLWZhZGUtb3BhY2l0eSwgMC40KTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBmYS1mYWRlIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IHZhcigtLWZhLWZhZGUtb3BhY2l0eSwgMC40KTtcXG4gIH1cXG59XFxuQC13ZWJraXQta2V5ZnJhbWVzIGZhLWJlYXQtZmFkZSB7XFxuICAwJSwgMTAwJSB7XFxuICAgIG9wYWNpdHk6IHZhcigtLWZhLWJlYXQtZmFkZS1vcGFjaXR5LCAwLjQpO1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcXG4gIH1cXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDE7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1iZWF0LWZhZGUtc2NhbGUsIDEuMTI1KSk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1iZWF0LWZhZGUtc2NhbGUsIDEuMTI1KSk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgZmEtYmVhdC1mYWRlIHtcXG4gIDAlLCAxMDAlIHtcXG4gICAgb3BhY2l0eTogdmFyKC0tZmEtYmVhdC1mYWRlLW9wYWNpdHksIDAuNCk7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xcbiAgfVxcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMTtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJlYXQtZmFkZS1zY2FsZSwgMS4xMjUpKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJlYXQtZmFkZS1zY2FsZSwgMS4xMjUpKTtcXG4gIH1cXG59XFxuQC13ZWJraXQta2V5ZnJhbWVzIGZhLWZsaXAge1xcbiAgNTAlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKHZhcigtLWZhLWZsaXAteCwgMCksIHZhcigtLWZhLWZsaXAteSwgMSksIHZhcigtLWZhLWZsaXAteiwgMCksIHZhcigtLWZhLWZsaXAtYW5nbGUsIC0xODBkZWcpKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKHZhcigtLWZhLWZsaXAteCwgMCksIHZhcigtLWZhLWZsaXAteSwgMSksIHZhcigtLWZhLWZsaXAteiwgMCksIHZhcigtLWZhLWZsaXAtYW5nbGUsIC0xODBkZWcpKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBmYS1mbGlwIHtcXG4gIDUwJSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCh2YXIoLS1mYS1mbGlwLXgsIDApLCB2YXIoLS1mYS1mbGlwLXksIDEpLCB2YXIoLS1mYS1mbGlwLXosIDApLCB2YXIoLS1mYS1mbGlwLWFuZ2xlLCAtMTgwZGVnKSk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCh2YXIoLS1mYS1mbGlwLXgsIDApLCB2YXIoLS1mYS1mbGlwLXksIDEpLCB2YXIoLS1mYS1mbGlwLXosIDApLCB2YXIoLS1mYS1mbGlwLWFuZ2xlLCAtMTgwZGVnKSk7XFxuICB9XFxufVxcbkAtd2Via2l0LWtleWZyYW1lcyBmYS1zaGFrZSB7XFxuICAwJSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTE1ZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTVkZWcpO1xcbiAgfVxcbiAgNCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7XFxuICB9XFxuICA4JSwgMjQlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMThkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xOGRlZyk7XFxuICB9XFxuICAxMiUsIDI4JSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMThkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4ZGVnKTtcXG4gIH1cXG4gIDE2JSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTIyZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjJkZWcpO1xcbiAgfVxcbiAgMjAlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyMmRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjJkZWcpO1xcbiAgfVxcbiAgMzIlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTJkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMmRlZyk7XFxuICB9XFxuICAzNiUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEyZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMmRlZyk7XFxuICB9XFxuICA0MCUsIDEwMCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGZhLXNoYWtlIHtcXG4gIDAlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTVkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xNWRlZyk7XFxuICB9XFxuICA0JSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTtcXG4gIH1cXG4gIDglLCAyNCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xOGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4ZGVnKTtcXG4gIH1cXG4gIDEyJSwgMjglIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxOGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMThkZWcpO1xcbiAgfVxcbiAgMTYlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMjJkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMmRlZyk7XFxuICB9XFxuICAyMCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDIyZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMmRlZyk7XFxuICB9XFxuICAzMiUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMmRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEyZGVnKTtcXG4gIH1cXG4gIDM2JSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTJkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEyZGVnKTtcXG4gIH1cXG4gIDQwJSwgMTAwJSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICB9XFxufVxcbkAtd2Via2l0LWtleWZyYW1lcyBmYS1zcGluIHtcXG4gIDAlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBmYS1zcGluIHtcXG4gIDAlIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gIH1cXG59XFxuLmZhLXJvdGF0ZS05MCB7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xcbn1cXG5cXG4uZmEtcm90YXRlLTE4MCB7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XFxuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XFxufVxcblxcbi5mYS1yb3RhdGUtMjcwIHtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcXG59XFxuXFxuLmZhLWZsaXAtaG9yaXpvbnRhbCB7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcXG59XFxuXFxuLmZhLWZsaXAtdmVydGljYWwge1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcXG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XFxufVxcblxcbi5mYS1mbGlwLWJvdGgsXFxuLmZhLWZsaXAtaG9yaXpvbnRhbC5mYS1mbGlwLXZlcnRpY2FsIHtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgtMSwgLTEpO1xcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAtMSk7XFxufVxcblxcbi5mYS1yb3RhdGUtYnkge1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSh2YXIoLS1mYS1yb3RhdGUtYW5nbGUsIDApKTtcXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUodmFyKC0tZmEtcm90YXRlLWFuZ2xlLCAwKSk7XFxufVxcblxcbi5mYS1zdGFjayB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcbiAgaGVpZ2h0OiAyZW07XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB3aWR0aDogMi41ZW07XFxufVxcblxcbi5mYS1zdGFjay0xeCxcXG4uZmEtc3RhY2stMngge1xcbiAgYm90dG9tOiAwO1xcbiAgbGVmdDogMDtcXG4gIG1hcmdpbjogYXV0bztcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHJpZ2h0OiAwO1xcbiAgdG9wOiAwO1xcbiAgei1pbmRleDogdmFyKC0tZmEtc3RhY2stei1pbmRleCwgYXV0byk7XFxufVxcblxcbi5zdmctaW5saW5lLS1mYS5mYS1zdGFjay0xeCB7XFxuICBoZWlnaHQ6IDFlbTtcXG4gIHdpZHRoOiAxLjI1ZW07XFxufVxcbi5zdmctaW5saW5lLS1mYS5mYS1zdGFjay0yeCB7XFxuICBoZWlnaHQ6IDJlbTtcXG4gIHdpZHRoOiAyLjVlbTtcXG59XFxuXFxuLmZhLWludmVyc2Uge1xcbiAgY29sb3I6IHZhcigtLWZhLWludmVyc2UsICNmZmYpO1xcbn1cXG5cXG4uc3Itb25seSxcXG4uZmEtc3Itb25seSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB3aWR0aDogMXB4O1xcbiAgaGVpZ2h0OiAxcHg7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luOiAtMXB4O1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgYm9yZGVyLXdpZHRoOiAwO1xcbn1cXG5cXG4uc3Itb25seS1mb2N1c2FibGU6bm90KDpmb2N1cyksXFxuLmZhLXNyLW9ubHktZm9jdXNhYmxlOm5vdCg6Zm9jdXMpIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHdpZHRoOiAxcHg7XFxuICBoZWlnaHQ6IDFweDtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IC0xcHg7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBib3JkZXItd2lkdGg6IDA7XFxufVxcblxcbi5zdmctaW5saW5lLS1mYSAuZmEtcHJpbWFyeSB7XFxuICBmaWxsOiB2YXIoLS1mYS1wcmltYXJ5LWNvbG9yLCBjdXJyZW50Q29sb3IpO1xcbiAgb3BhY2l0eTogdmFyKC0tZmEtcHJpbWFyeS1vcGFjaXR5LCAxKTtcXG59XFxuXFxuLnN2Zy1pbmxpbmUtLWZhIC5mYS1zZWNvbmRhcnkge1xcbiAgZmlsbDogdmFyKC0tZmEtc2Vjb25kYXJ5LWNvbG9yLCBjdXJyZW50Q29sb3IpO1xcbiAgb3BhY2l0eTogdmFyKC0tZmEtc2Vjb25kYXJ5LW9wYWNpdHksIDAuNCk7XFxufVxcblxcbi5zdmctaW5saW5lLS1mYS5mYS1zd2FwLW9wYWNpdHkgLmZhLXByaW1hcnkge1xcbiAgb3BhY2l0eTogdmFyKC0tZmEtc2Vjb25kYXJ5LW9wYWNpdHksIDAuNCk7XFxufVxcblxcbi5zdmctaW5saW5lLS1mYS5mYS1zd2FwLW9wYWNpdHkgLmZhLXNlY29uZGFyeSB7XFxuICBvcGFjaXR5OiB2YXIoLS1mYS1wcmltYXJ5LW9wYWNpdHksIDEpO1xcbn1cXG5cXG4uc3ZnLWlubGluZS0tZmEgbWFzayAuZmEtcHJpbWFyeSxcXG4uc3ZnLWlubGluZS0tZmEgbWFzayAuZmEtc2Vjb25kYXJ5IHtcXG4gIGZpbGw6IGJsYWNrO1xcbn1cXG5cXG4uZmFkLmZhLWludmVyc2UsXFxuLmZhLWR1b3RvbmUuZmEtaW52ZXJzZSB7XFxuICBjb2xvcjogdmFyKC0tZmEtaW52ZXJzZSwgI2ZmZik7XFxufVwiO1xuXG5mdW5jdGlvbiBjc3MoKSB7XG4gIHZhciBkY3AgPSBERUZBVUxUX0NTU19QUkVGSVg7XG4gIHZhciBkcmMgPSBERUZBVUxUX1JFUExBQ0VNRU5UX0NMQVNTO1xuICB2YXIgZnAgPSBjb25maWcuY3NzUHJlZml4O1xuICB2YXIgcmMgPSBjb25maWcucmVwbGFjZW1lbnRDbGFzcztcbiAgdmFyIHMgPSBiYXNlU3R5bGVzO1xuXG4gIGlmIChmcCAhPT0gZGNwIHx8IHJjICE9PSBkcmMpIHtcbiAgICB2YXIgZFBhdHQgPSBuZXcgUmVnRXhwKFwiXFxcXC5cIi5jb25jYXQoZGNwLCBcIlxcXFwtXCIpLCAnZycpO1xuICAgIHZhciBjdXN0b21Qcm9wUGF0dCA9IG5ldyBSZWdFeHAoXCJcXFxcLS1cIi5jb25jYXQoZGNwLCBcIlxcXFwtXCIpLCAnZycpO1xuICAgIHZhciByUGF0dCA9IG5ldyBSZWdFeHAoXCJcXFxcLlwiLmNvbmNhdChkcmMpLCAnZycpO1xuICAgIHMgPSBzLnJlcGxhY2UoZFBhdHQsIFwiLlwiLmNvbmNhdChmcCwgXCItXCIpKS5yZXBsYWNlKGN1c3RvbVByb3BQYXR0LCBcIi0tXCIuY29uY2F0KGZwLCBcIi1cIikpLnJlcGxhY2UoclBhdHQsIFwiLlwiLmNvbmNhdChyYykpO1xuICB9XG5cbiAgcmV0dXJuIHM7XG59XG5cbnZhciBfY3NzSW5zZXJ0ZWQgPSBmYWxzZTtcblxuZnVuY3Rpb24gZW5zdXJlQ3NzKCkge1xuICBpZiAoY29uZmlnLmF1dG9BZGRDc3MgJiYgIV9jc3NJbnNlcnRlZCkge1xuICAgIGluc2VydENzcyhjc3MoKSk7XG4gICAgX2Nzc0luc2VydGVkID0gdHJ1ZTtcbiAgfVxufVxuXG52YXIgSW5qZWN0Q1NTID0ge1xuICBtaXhvdXQ6IGZ1bmN0aW9uIG1peG91dCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZG9tOiB7XG4gICAgICAgIGNzczogY3NzLFxuICAgICAgICBpbnNlcnRDc3M6IGVuc3VyZUNzc1xuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIGhvb2tzOiBmdW5jdGlvbiBob29rcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYmVmb3JlRE9NRWxlbWVudENyZWF0aW9uOiBmdW5jdGlvbiBiZWZvcmVET01FbGVtZW50Q3JlYXRpb24oKSB7XG4gICAgICAgIGVuc3VyZUNzcygpO1xuICAgICAgfSxcbiAgICAgIGJlZm9yZUkyc3ZnOiBmdW5jdGlvbiBiZWZvcmVJMnN2ZygpIHtcbiAgICAgICAgZW5zdXJlQ3NzKCk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxufTtcblxudmFyIHcgPSBXSU5ET1cgfHwge307XG5pZiAoIXdbTkFNRVNQQUNFX0lERU5USUZJRVJdKSB3W05BTUVTUEFDRV9JREVOVElGSUVSXSA9IHt9O1xuaWYgKCF3W05BTUVTUEFDRV9JREVOVElGSUVSXS5zdHlsZXMpIHdbTkFNRVNQQUNFX0lERU5USUZJRVJdLnN0eWxlcyA9IHt9O1xuaWYgKCF3W05BTUVTUEFDRV9JREVOVElGSUVSXS5ob29rcykgd1tOQU1FU1BBQ0VfSURFTlRJRklFUl0uaG9va3MgPSB7fTtcbmlmICghd1tOQU1FU1BBQ0VfSURFTlRJRklFUl0uc2hpbXMpIHdbTkFNRVNQQUNFX0lERU5USUZJRVJdLnNoaW1zID0gW107XG52YXIgbmFtZXNwYWNlID0gd1tOQU1FU1BBQ0VfSURFTlRJRklFUl07XG5cbnZhciBmdW5jdGlvbnMgPSBbXTtcblxudmFyIGxpc3RlbmVyID0gZnVuY3Rpb24gbGlzdGVuZXIoKSB7XG4gIERPQ1VNRU5ULnJlbW92ZUV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBsaXN0ZW5lcik7XG4gIGxvYWRlZCA9IDE7XG4gIGZ1bmN0aW9ucy5tYXAoZnVuY3Rpb24gKGZuKSB7XG4gICAgcmV0dXJuIGZuKCk7XG4gIH0pO1xufTtcblxudmFyIGxvYWRlZCA9IGZhbHNlO1xuXG5pZiAoSVNfRE9NKSB7XG4gIGxvYWRlZCA9IChET0NVTUVOVC5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwgPyAvXmxvYWRlZHxeYy8gOiAvXmxvYWRlZHxeaXxeYy8pLnRlc3QoRE9DVU1FTlQucmVhZHlTdGF0ZSk7XG4gIGlmICghbG9hZGVkKSBET0NVTUVOVC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgbGlzdGVuZXIpO1xufVxuXG5mdW5jdGlvbiBkb21yZWFkeSAoZm4pIHtcbiAgaWYgKCFJU19ET00pIHJldHVybjtcbiAgbG9hZGVkID8gc2V0VGltZW91dChmbiwgMCkgOiBmdW5jdGlvbnMucHVzaChmbik7XG59XG5cbmZ1bmN0aW9uIHRvSHRtbChhYnN0cmFjdE5vZGVzKSB7XG4gIHZhciB0YWcgPSBhYnN0cmFjdE5vZGVzLnRhZyxcbiAgICAgIF9hYnN0cmFjdE5vZGVzJGF0dHJpYiA9IGFic3RyYWN0Tm9kZXMuYXR0cmlidXRlcyxcbiAgICAgIGF0dHJpYnV0ZXMgPSBfYWJzdHJhY3ROb2RlcyRhdHRyaWIgPT09IHZvaWQgMCA/IHt9IDogX2Fic3RyYWN0Tm9kZXMkYXR0cmliLFxuICAgICAgX2Fic3RyYWN0Tm9kZXMkY2hpbGRyID0gYWJzdHJhY3ROb2Rlcy5jaGlsZHJlbixcbiAgICAgIGNoaWxkcmVuID0gX2Fic3RyYWN0Tm9kZXMkY2hpbGRyID09PSB2b2lkIDAgPyBbXSA6IF9hYnN0cmFjdE5vZGVzJGNoaWxkcjtcblxuICBpZiAodHlwZW9mIGFic3RyYWN0Tm9kZXMgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGh0bWxFc2NhcGUoYWJzdHJhY3ROb2Rlcyk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIFwiPFwiLmNvbmNhdCh0YWcsIFwiIFwiKS5jb25jYXQoam9pbkF0dHJpYnV0ZXMoYXR0cmlidXRlcyksIFwiPlwiKS5jb25jYXQoY2hpbGRyZW4ubWFwKHRvSHRtbCkuam9pbignJyksIFwiPC9cIikuY29uY2F0KHRhZywgXCI+XCIpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGljb25Gcm9tTWFwcGluZyhtYXBwaW5nLCBwcmVmaXgsIGljb25OYW1lKSB7XG4gIGlmIChtYXBwaW5nICYmIG1hcHBpbmdbcHJlZml4XSAmJiBtYXBwaW5nW3ByZWZpeF1baWNvbk5hbWVdKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHByZWZpeDogcHJlZml4LFxuICAgICAgaWNvbk5hbWU6IGljb25OYW1lLFxuICAgICAgaWNvbjogbWFwcGluZ1twcmVmaXhdW2ljb25OYW1lXVxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBJbnRlcm5hbCBoZWxwZXIgdG8gYmluZCBhIGZ1bmN0aW9uIGtub3duIHRvIGhhdmUgNCBhcmd1bWVudHNcbiAqIHRvIGEgZ2l2ZW4gY29udGV4dC5cbiAqL1xuXG52YXIgYmluZEludGVybmFsNCA9IGZ1bmN0aW9uIGJpbmRJbnRlcm5hbDQoZnVuYywgdGhpc0NvbnRleHQpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChhLCBiLCBjLCBkKSB7XG4gICAgcmV0dXJuIGZ1bmMuY2FsbCh0aGlzQ29udGV4dCwgYSwgYiwgYywgZCk7XG4gIH07XG59O1xuXG4vKipcbiAqICMgUmVkdWNlXG4gKlxuICogQSBmYXN0IG9iamVjdCBgLnJlZHVjZSgpYCBpbXBsZW1lbnRhdGlvbi5cbiAqXG4gKiBAcGFyYW0gIHtPYmplY3R9ICAgc3ViamVjdCAgICAgIFRoZSBvYmplY3QgdG8gcmVkdWNlIG92ZXIuXG4gKiBAcGFyYW0gIHtGdW5jdGlvbn0gZm4gICAgICAgICAgIFRoZSByZWR1Y2VyIGZ1bmN0aW9uLlxuICogQHBhcmFtICB7bWl4ZWR9ICAgIGluaXRpYWxWYWx1ZSBUaGUgaW5pdGlhbCB2YWx1ZSBmb3IgdGhlIHJlZHVjZXIsIGRlZmF1bHRzIHRvIHN1YmplY3RbMF0uXG4gKiBAcGFyYW0gIHtPYmplY3R9ICAgdGhpc0NvbnRleHQgIFRoZSBjb250ZXh0IGZvciB0aGUgcmVkdWNlci5cbiAqIEByZXR1cm4ge21peGVkfSAgICAgICAgICAgICAgICAgVGhlIGZpbmFsIHJlc3VsdC5cbiAqL1xuXG5cbnZhciByZWR1Y2UgPSBmdW5jdGlvbiBmYXN0UmVkdWNlT2JqZWN0KHN1YmplY3QsIGZuLCBpbml0aWFsVmFsdWUsIHRoaXNDb250ZXh0KSB7XG4gIHZhciBrZXlzID0gT2JqZWN0LmtleXMoc3ViamVjdCksXG4gICAgICBsZW5ndGggPSBrZXlzLmxlbmd0aCxcbiAgICAgIGl0ZXJhdG9yID0gdGhpc0NvbnRleHQgIT09IHVuZGVmaW5lZCA/IGJpbmRJbnRlcm5hbDQoZm4sIHRoaXNDb250ZXh0KSA6IGZuLFxuICAgICAgaSxcbiAgICAgIGtleSxcbiAgICAgIHJlc3VsdDtcblxuICBpZiAoaW5pdGlhbFZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICBpID0gMTtcbiAgICByZXN1bHQgPSBzdWJqZWN0W2tleXNbMF1dO1xuICB9IGVsc2Uge1xuICAgIGkgPSAwO1xuICAgIHJlc3VsdCA9IGluaXRpYWxWYWx1ZTtcbiAgfVxuXG4gIGZvciAoOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICBrZXkgPSBrZXlzW2ldO1xuICAgIHJlc3VsdCA9IGl0ZXJhdG9yKHJlc3VsdCwgc3ViamVjdFtrZXldLCBrZXksIHN1YmplY3QpO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbi8qKlxuICogdWNzMmRlY29kZSgpIGFuZCBjb2RlUG9pbnRBdCgpIGFyZSBib3RoIHdvcmtzIG9mIE1hdGhpYXMgQnluZW5zIGFuZCBsaWNlbnNlZCB1bmRlciBNSVRcbiAqXG4gKiBDb3B5cmlnaHQgTWF0aGlhcyBCeW5lbnMgPGh0dHBzOi8vbWF0aGlhc2J5bmVucy5iZS8+XG5cbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZ1xuICogYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXG4gKiBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcbiAqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcbiAqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0b1xuICogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvXG4gKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG5cbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlXG4gKiBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCxcbiAqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxuICogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkRcbiAqIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkVcbiAqIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT05cbiAqIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTlxuICogV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG4gKi9cbmZ1bmN0aW9uIHVjczJkZWNvZGUoc3RyaW5nKSB7XG4gIHZhciBvdXRwdXQgPSBbXTtcbiAgdmFyIGNvdW50ZXIgPSAwO1xuICB2YXIgbGVuZ3RoID0gc3RyaW5nLmxlbmd0aDtcblxuICB3aGlsZSAoY291bnRlciA8IGxlbmd0aCkge1xuICAgIHZhciB2YWx1ZSA9IHN0cmluZy5jaGFyQ29kZUF0KGNvdW50ZXIrKyk7XG5cbiAgICBpZiAodmFsdWUgPj0gMHhEODAwICYmIHZhbHVlIDw9IDB4REJGRiAmJiBjb3VudGVyIDwgbGVuZ3RoKSB7XG4gICAgICB2YXIgZXh0cmEgPSBzdHJpbmcuY2hhckNvZGVBdChjb3VudGVyKyspO1xuXG4gICAgICBpZiAoKGV4dHJhICYgMHhGQzAwKSA9PSAweERDMDApIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbGluZSBlcWVxZXFcbiAgICAgICAgb3V0cHV0LnB1c2goKCh2YWx1ZSAmIDB4M0ZGKSA8PCAxMCkgKyAoZXh0cmEgJiAweDNGRikgKyAweDEwMDAwKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dHB1dC5wdXNoKHZhbHVlKTtcbiAgICAgICAgY291bnRlci0tO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBvdXRwdXQucHVzaCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG91dHB1dDtcbn1cblxuZnVuY3Rpb24gdG9IZXgodW5pY29kZSkge1xuICB2YXIgZGVjb2RlZCA9IHVjczJkZWNvZGUodW5pY29kZSk7XG4gIHJldHVybiBkZWNvZGVkLmxlbmd0aCA9PT0gMSA/IGRlY29kZWRbMF0udG9TdHJpbmcoMTYpIDogbnVsbDtcbn1cbmZ1bmN0aW9uIGNvZGVQb2ludEF0KHN0cmluZywgaW5kZXgpIHtcbiAgdmFyIHNpemUgPSBzdHJpbmcubGVuZ3RoO1xuICB2YXIgZmlyc3QgPSBzdHJpbmcuY2hhckNvZGVBdChpbmRleCk7XG4gIHZhciBzZWNvbmQ7XG5cbiAgaWYgKGZpcnN0ID49IDB4RDgwMCAmJiBmaXJzdCA8PSAweERCRkYgJiYgc2l6ZSA+IGluZGV4ICsgMSkge1xuICAgIHNlY29uZCA9IHN0cmluZy5jaGFyQ29kZUF0KGluZGV4ICsgMSk7XG5cbiAgICBpZiAoc2Vjb25kID49IDB4REMwMCAmJiBzZWNvbmQgPD0gMHhERkZGKSB7XG4gICAgICByZXR1cm4gKGZpcnN0IC0gMHhEODAwKSAqIDB4NDAwICsgc2Vjb25kIC0gMHhEQzAwICsgMHgxMDAwMDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmlyc3Q7XG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZUljb25zKGljb25zKSB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhpY29ucykucmVkdWNlKGZ1bmN0aW9uIChhY2MsIGljb25OYW1lKSB7XG4gICAgdmFyIGljb24gPSBpY29uc1tpY29uTmFtZV07XG4gICAgdmFyIGV4cGFuZGVkID0gISFpY29uLmljb247XG5cbiAgICBpZiAoZXhwYW5kZWQpIHtcbiAgICAgIGFjY1tpY29uLmljb25OYW1lXSA9IGljb24uaWNvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgYWNjW2ljb25OYW1lXSA9IGljb247XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xufVxuXG5mdW5jdGlvbiBkZWZpbmVJY29ucyhwcmVmaXgsIGljb25zKSB7XG4gIHZhciBwYXJhbXMgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IHt9O1xuICB2YXIgX3BhcmFtcyRza2lwSG9va3MgPSBwYXJhbXMuc2tpcEhvb2tzLFxuICAgICAgc2tpcEhvb2tzID0gX3BhcmFtcyRza2lwSG9va3MgPT09IHZvaWQgMCA/IGZhbHNlIDogX3BhcmFtcyRza2lwSG9va3M7XG4gIHZhciBub3JtYWxpemVkID0gbm9ybWFsaXplSWNvbnMoaWNvbnMpO1xuXG4gIGlmICh0eXBlb2YgbmFtZXNwYWNlLmhvb2tzLmFkZFBhY2sgPT09ICdmdW5jdGlvbicgJiYgIXNraXBIb29rcykge1xuICAgIG5hbWVzcGFjZS5ob29rcy5hZGRQYWNrKHByZWZpeCwgbm9ybWFsaXplSWNvbnMoaWNvbnMpKTtcbiAgfSBlbHNlIHtcbiAgICBuYW1lc3BhY2Uuc3R5bGVzW3ByZWZpeF0gPSBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgbmFtZXNwYWNlLnN0eWxlc1twcmVmaXhdIHx8IHt9KSwgbm9ybWFsaXplZCk7XG4gIH1cbiAgLyoqXG4gICAqIEZvbnQgQXdlc29tZSA0IHVzZWQgdGhlIHByZWZpeCBvZiBgZmFgIGZvciBhbGwgaWNvbnMuIFdpdGggdGhlIGludHJvZHVjdGlvblxuICAgKiBvZiBuZXcgc3R5bGVzIHdlIG5lZWRlZCB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gdGhlbS4gUHJlZml4IGBmYWAgaXMgbm93IGFuIGFsaWFzXG4gICAqIGZvciBgZmFzYCBzbyB3ZSdsbCBlYXNlIHRoZSB1cGdyYWRlIHByb2Nlc3MgZm9yIG91ciB1c2VycyBieSBhdXRvbWF0aWNhbGx5IGRlZmluaW5nXG4gICAqIHRoaXMgYXMgd2VsbC5cbiAgICovXG5cblxuICBpZiAocHJlZml4ID09PSAnZmFzJykge1xuICAgIGRlZmluZUljb25zKCdmYScsIGljb25zKTtcbiAgfVxufVxuXG52YXIgZHVvdG9uZVBhdGhSZSA9IFsvKiNfX1BVUkVfXyovX3dyYXBSZWdFeHAoL3BhdGggZD1cIigoPzooPyFcIilbXFxzXFxTXSkrKVwiLipwYXRoIGQ9XCIoKD86KD8hXCIpW1xcc1xcU10pKylcIi8sIHtcbiAgZDE6IDEsXG4gIGQyOiAyXG59KSwgLyojX19QVVJFX18qL193cmFwUmVnRXhwKC9wYXRoIGNsYXNzPVwiKCg/Oig/IVwiKVtcXHNcXFNdKSspXCIuKmQ9XCIoKD86KD8hXCIpW1xcc1xcU10pKylcIi4qcGF0aCBjbGFzcz1cIigoPzooPyFcIilbXFxzXFxTXSkrKVwiLipkPVwiKCg/Oig/IVwiKVtcXHNcXFNdKSspXCIvLCB7XG4gIGNsczE6IDEsXG4gIGQxOiAyLFxuICBjbHMyOiAzLFxuICBkMjogNFxufSksIC8qI19fUFVSRV9fKi9fd3JhcFJlZ0V4cCgvcGF0aCBjbGFzcz1cIigoPzooPyFcIilbXFxzXFxTXSkrKVwiLipkPVwiKCg/Oig/IVwiKVtcXHNcXFNdKSspXCIvLCB7XG4gIGNsczE6IDEsXG4gIGQxOiAyXG59KV07XG5cbnZhciBfTE9OR19TVFlMRSwgX1BSRUZJWEVTLCBfUFJFRklYRVNfRk9SX0ZBTUlMWTtcbnZhciBzdHlsZXMgPSBuYW1lc3BhY2Uuc3R5bGVzLFxuICAgIHNoaW1zID0gbmFtZXNwYWNlLnNoaW1zO1xudmFyIExPTkdfU1RZTEUgPSAoX0xPTkdfU1RZTEUgPSB7fSwgX2RlZmluZVByb3BlcnR5KF9MT05HX1NUWUxFLCBGQU1JTFlfQ0xBU1NJQywgT2JqZWN0LnZhbHVlcyhQUkVGSVhfVE9fTE9OR19TVFlMRVtGQU1JTFlfQ0xBU1NJQ10pKSwgX2RlZmluZVByb3BlcnR5KF9MT05HX1NUWUxFLCBGQU1JTFlfU0hBUlAsIE9iamVjdC52YWx1ZXMoUFJFRklYX1RPX0xPTkdfU1RZTEVbRkFNSUxZX1NIQVJQXSkpLCBfTE9OR19TVFlMRSk7XG52YXIgX2RlZmF1bHRVc2FibGVQcmVmaXggPSBudWxsO1xudmFyIF9ieVVuaWNvZGUgPSB7fTtcbnZhciBfYnlMaWdhdHVyZSA9IHt9O1xudmFyIF9ieU9sZE5hbWUgPSB7fTtcbnZhciBfYnlPbGRVbmljb2RlID0ge307XG52YXIgX2J5QWxpYXMgPSB7fTtcbnZhciBQUkVGSVhFUyA9IChfUFJFRklYRVMgPSB7fSwgX2RlZmluZVByb3BlcnR5KF9QUkVGSVhFUywgRkFNSUxZX0NMQVNTSUMsIE9iamVjdC5rZXlzKFBSRUZJWF9UT19TVFlMRVtGQU1JTFlfQ0xBU1NJQ10pKSwgX2RlZmluZVByb3BlcnR5KF9QUkVGSVhFUywgRkFNSUxZX1NIQVJQLCBPYmplY3Qua2V5cyhQUkVGSVhfVE9fU1RZTEVbRkFNSUxZX1NIQVJQXSkpLCBfUFJFRklYRVMpO1xuXG5mdW5jdGlvbiBpc1Jlc2VydmVkKG5hbWUpIHtcbiAgcmV0dXJuIH5SRVNFUlZFRF9DTEFTU0VTLmluZGV4T2YobmFtZSk7XG59XG5cbmZ1bmN0aW9uIGdldEljb25OYW1lKGNzc1ByZWZpeCwgY2xzKSB7XG4gIHZhciBwYXJ0cyA9IGNscy5zcGxpdCgnLScpO1xuICB2YXIgcHJlZml4ID0gcGFydHNbMF07XG4gIHZhciBpY29uTmFtZSA9IHBhcnRzLnNsaWNlKDEpLmpvaW4oJy0nKTtcblxuICBpZiAocHJlZml4ID09PSBjc3NQcmVmaXggJiYgaWNvbk5hbWUgIT09ICcnICYmICFpc1Jlc2VydmVkKGljb25OYW1lKSkge1xuICAgIHJldHVybiBpY29uTmFtZTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxudmFyIGJ1aWxkID0gZnVuY3Rpb24gYnVpbGQoKSB7XG4gIHZhciBsb29rdXAgPSBmdW5jdGlvbiBsb29rdXAocmVkdWNlcikge1xuICAgIHJldHVybiByZWR1Y2Uoc3R5bGVzLCBmdW5jdGlvbiAobywgc3R5bGUsIHByZWZpeCkge1xuICAgICAgb1twcmVmaXhdID0gcmVkdWNlKHN0eWxlLCByZWR1Y2VyLCB7fSk7XG4gICAgICByZXR1cm4gbztcbiAgICB9LCB7fSk7XG4gIH07XG5cbiAgX2J5VW5pY29kZSA9IGxvb2t1cChmdW5jdGlvbiAoYWNjLCBpY29uLCBpY29uTmFtZSkge1xuICAgIGlmIChpY29uWzNdKSB7XG4gICAgICBhY2NbaWNvblszXV0gPSBpY29uTmFtZTtcbiAgICB9XG5cbiAgICBpZiAoaWNvblsyXSkge1xuICAgICAgdmFyIGFsaWFzZXMgPSBpY29uWzJdLmZpbHRlcihmdW5jdGlvbiAoYSkge1xuICAgICAgICByZXR1cm4gdHlwZW9mIGEgPT09ICdudW1iZXInO1xuICAgICAgfSk7XG4gICAgICBhbGlhc2VzLmZvckVhY2goZnVuY3Rpb24gKGFsaWFzKSB7XG4gICAgICAgIGFjY1thbGlhcy50b1N0cmluZygxNildID0gaWNvbk5hbWU7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYWNjO1xuICB9KTtcbiAgX2J5TGlnYXR1cmUgPSBsb29rdXAoZnVuY3Rpb24gKGFjYywgaWNvbiwgaWNvbk5hbWUpIHtcbiAgICBhY2NbaWNvbk5hbWVdID0gaWNvbk5hbWU7XG5cbiAgICBpZiAoaWNvblsyXSkge1xuICAgICAgdmFyIGFsaWFzZXMgPSBpY29uWzJdLmZpbHRlcihmdW5jdGlvbiAoYSkge1xuICAgICAgICByZXR1cm4gdHlwZW9mIGEgPT09ICdzdHJpbmcnO1xuICAgICAgfSk7XG4gICAgICBhbGlhc2VzLmZvckVhY2goZnVuY3Rpb24gKGFsaWFzKSB7XG4gICAgICAgIGFjY1thbGlhc10gPSBpY29uTmFtZTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBhY2M7XG4gIH0pO1xuICBfYnlBbGlhcyA9IGxvb2t1cChmdW5jdGlvbiAoYWNjLCBpY29uLCBpY29uTmFtZSkge1xuICAgIHZhciBhbGlhc2VzID0gaWNvblsyXTtcbiAgICBhY2NbaWNvbk5hbWVdID0gaWNvbk5hbWU7XG4gICAgYWxpYXNlcy5mb3JFYWNoKGZ1bmN0aW9uIChhbGlhcykge1xuICAgICAgYWNjW2FsaWFzXSA9IGljb25OYW1lO1xuICAgIH0pO1xuICAgIHJldHVybiBhY2M7XG4gIH0pOyAvLyBJZiB3ZSBoYXZlIGEgS2l0LCB3ZSBjYW4ndCBkZXRlcm1pbmUgaWYgcmVndWxhciBpcyBhdmFpbGFibGUgc2luY2Ugd2VcbiAgLy8gY291bGQgYmUgYXV0by1mZXRjaGluZyBpdC4gV2UnbGwgaGF2ZSB0byBhc3N1bWUgdGhhdCBpdCBpcyBhdmFpbGFibGUuXG5cbiAgdmFyIGhhc1JlZ3VsYXIgPSAnZmFyJyBpbiBzdHlsZXMgfHwgY29uZmlnLmF1dG9GZXRjaFN2ZztcbiAgdmFyIHNoaW1Mb29rdXBzID0gcmVkdWNlKHNoaW1zLCBmdW5jdGlvbiAoYWNjLCBzaGltKSB7XG4gICAgdmFyIG1heWJlTmFtZU1heWJlVW5pY29kZSA9IHNoaW1bMF07XG4gICAgdmFyIHByZWZpeCA9IHNoaW1bMV07XG4gICAgdmFyIGljb25OYW1lID0gc2hpbVsyXTtcblxuICAgIGlmIChwcmVmaXggPT09ICdmYXInICYmICFoYXNSZWd1bGFyKSB7XG4gICAgICBwcmVmaXggPSAnZmFzJztcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG1heWJlTmFtZU1heWJlVW5pY29kZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGFjYy5uYW1lc1ttYXliZU5hbWVNYXliZVVuaWNvZGVdID0ge1xuICAgICAgICBwcmVmaXg6IHByZWZpeCxcbiAgICAgICAgaWNvbk5hbWU6IGljb25OYW1lXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgbWF5YmVOYW1lTWF5YmVVbmljb2RlID09PSAnbnVtYmVyJykge1xuICAgICAgYWNjLnVuaWNvZGVzW21heWJlTmFtZU1heWJlVW5pY29kZS50b1N0cmluZygxNildID0ge1xuICAgICAgICBwcmVmaXg6IHByZWZpeCxcbiAgICAgICAgaWNvbk5hbWU6IGljb25OYW1lXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBhY2M7XG4gIH0sIHtcbiAgICBuYW1lczoge30sXG4gICAgdW5pY29kZXM6IHt9XG4gIH0pO1xuICBfYnlPbGROYW1lID0gc2hpbUxvb2t1cHMubmFtZXM7XG4gIF9ieU9sZFVuaWNvZGUgPSBzaGltTG9va3Vwcy51bmljb2RlcztcbiAgX2RlZmF1bHRVc2FibGVQcmVmaXggPSBnZXRDYW5vbmljYWxQcmVmaXgoY29uZmlnLnN0eWxlRGVmYXVsdCwge1xuICAgIGZhbWlseTogY29uZmlnLmZhbWlseURlZmF1bHRcbiAgfSk7XG59O1xub25DaGFuZ2UoZnVuY3Rpb24gKGMpIHtcbiAgX2RlZmF1bHRVc2FibGVQcmVmaXggPSBnZXRDYW5vbmljYWxQcmVmaXgoYy5zdHlsZURlZmF1bHQsIHtcbiAgICBmYW1pbHk6IGNvbmZpZy5mYW1pbHlEZWZhdWx0XG4gIH0pO1xufSk7XG5idWlsZCgpO1xuZnVuY3Rpb24gYnlVbmljb2RlKHByZWZpeCwgdW5pY29kZSkge1xuICByZXR1cm4gKF9ieVVuaWNvZGVbcHJlZml4XSB8fCB7fSlbdW5pY29kZV07XG59XG5mdW5jdGlvbiBieUxpZ2F0dXJlKHByZWZpeCwgbGlnYXR1cmUpIHtcbiAgcmV0dXJuIChfYnlMaWdhdHVyZVtwcmVmaXhdIHx8IHt9KVtsaWdhdHVyZV07XG59XG5mdW5jdGlvbiBieUFsaWFzKHByZWZpeCwgYWxpYXMpIHtcbiAgcmV0dXJuIChfYnlBbGlhc1twcmVmaXhdIHx8IHt9KVthbGlhc107XG59XG5mdW5jdGlvbiBieU9sZE5hbWUobmFtZSkge1xuICByZXR1cm4gX2J5T2xkTmFtZVtuYW1lXSB8fCB7XG4gICAgcHJlZml4OiBudWxsLFxuICAgIGljb25OYW1lOiBudWxsXG4gIH07XG59XG5mdW5jdGlvbiBieU9sZFVuaWNvZGUodW5pY29kZSkge1xuICB2YXIgb2xkVW5pY29kZSA9IF9ieU9sZFVuaWNvZGVbdW5pY29kZV07XG4gIHZhciBuZXdVbmljb2RlID0gYnlVbmljb2RlKCdmYXMnLCB1bmljb2RlKTtcbiAgcmV0dXJuIG9sZFVuaWNvZGUgfHwgKG5ld1VuaWNvZGUgPyB7XG4gICAgcHJlZml4OiAnZmFzJyxcbiAgICBpY29uTmFtZTogbmV3VW5pY29kZVxuICB9IDogbnVsbCkgfHwge1xuICAgIHByZWZpeDogbnVsbCxcbiAgICBpY29uTmFtZTogbnVsbFxuICB9O1xufVxuZnVuY3Rpb24gZ2V0RGVmYXVsdFVzYWJsZVByZWZpeCgpIHtcbiAgcmV0dXJuIF9kZWZhdWx0VXNhYmxlUHJlZml4O1xufVxudmFyIGVtcHR5Q2Fub25pY2FsSWNvbiA9IGZ1bmN0aW9uIGVtcHR5Q2Fub25pY2FsSWNvbigpIHtcbiAgcmV0dXJuIHtcbiAgICBwcmVmaXg6IG51bGwsXG4gICAgaWNvbk5hbWU6IG51bGwsXG4gICAgcmVzdDogW11cbiAgfTtcbn07XG5mdW5jdGlvbiBnZXRDYW5vbmljYWxQcmVmaXgoc3R5bGVPclByZWZpeCkge1xuICB2YXIgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcbiAgdmFyIF9wYXJhbXMkZmFtaWx5ID0gcGFyYW1zLmZhbWlseSxcbiAgICAgIGZhbWlseSA9IF9wYXJhbXMkZmFtaWx5ID09PSB2b2lkIDAgPyBGQU1JTFlfQ0xBU1NJQyA6IF9wYXJhbXMkZmFtaWx5O1xuICB2YXIgc3R5bGUgPSBQUkVGSVhfVE9fU1RZTEVbZmFtaWx5XVtzdHlsZU9yUHJlZml4XTtcbiAgdmFyIHByZWZpeCA9IFNUWUxFX1RPX1BSRUZJWFtmYW1pbHldW3N0eWxlT3JQcmVmaXhdIHx8IFNUWUxFX1RPX1BSRUZJWFtmYW1pbHldW3N0eWxlXTtcbiAgdmFyIGRlZmluZWQgPSBzdHlsZU9yUHJlZml4IGluIG5hbWVzcGFjZS5zdHlsZXMgPyBzdHlsZU9yUHJlZml4IDogbnVsbDtcbiAgcmV0dXJuIHByZWZpeCB8fCBkZWZpbmVkIHx8IG51bGw7XG59XG52YXIgUFJFRklYRVNfRk9SX0ZBTUlMWSA9IChfUFJFRklYRVNfRk9SX0ZBTUlMWSA9IHt9LCBfZGVmaW5lUHJvcGVydHkoX1BSRUZJWEVTX0ZPUl9GQU1JTFksIEZBTUlMWV9DTEFTU0lDLCBPYmplY3Qua2V5cyhQUkVGSVhfVE9fTE9OR19TVFlMRVtGQU1JTFlfQ0xBU1NJQ10pKSwgX2RlZmluZVByb3BlcnR5KF9QUkVGSVhFU19GT1JfRkFNSUxZLCBGQU1JTFlfU0hBUlAsIE9iamVjdC5rZXlzKFBSRUZJWF9UT19MT05HX1NUWUxFW0ZBTUlMWV9TSEFSUF0pKSwgX1BSRUZJWEVTX0ZPUl9GQU1JTFkpO1xuZnVuY3Rpb24gZ2V0Q2Fub25pY2FsSWNvbih2YWx1ZXMpIHtcbiAgdmFyIF9mYW1Qcm9wcztcblxuICB2YXIgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcbiAgdmFyIF9wYXJhbXMkc2tpcExvb2t1cHMgPSBwYXJhbXMuc2tpcExvb2t1cHMsXG4gICAgICBza2lwTG9va3VwcyA9IF9wYXJhbXMkc2tpcExvb2t1cHMgPT09IHZvaWQgMCA/IGZhbHNlIDogX3BhcmFtcyRza2lwTG9va3VwcztcbiAgdmFyIGZhbVByb3BzID0gKF9mYW1Qcm9wcyA9IHt9LCBfZGVmaW5lUHJvcGVydHkoX2ZhbVByb3BzLCBGQU1JTFlfQ0xBU1NJQywgXCJcIi5jb25jYXQoY29uZmlnLmNzc1ByZWZpeCwgXCItXCIpLmNvbmNhdChGQU1JTFlfQ0xBU1NJQykpLCBfZGVmaW5lUHJvcGVydHkoX2ZhbVByb3BzLCBGQU1JTFlfU0hBUlAsIFwiXCIuY29uY2F0KGNvbmZpZy5jc3NQcmVmaXgsIFwiLVwiKS5jb25jYXQoRkFNSUxZX1NIQVJQKSksIF9mYW1Qcm9wcyk7XG4gIHZhciBnaXZlblByZWZpeCA9IG51bGw7XG4gIHZhciBmYW1pbHkgPSBGQU1JTFlfQ0xBU1NJQztcblxuICBpZiAodmFsdWVzLmluY2x1ZGVzKGZhbVByb3BzW0ZBTUlMWV9DTEFTU0lDXSkgfHwgdmFsdWVzLnNvbWUoZnVuY3Rpb24gKHYpIHtcbiAgICByZXR1cm4gUFJFRklYRVNfRk9SX0ZBTUlMWVtGQU1JTFlfQ0xBU1NJQ10uaW5jbHVkZXModik7XG4gIH0pKSB7XG4gICAgZmFtaWx5ID0gRkFNSUxZX0NMQVNTSUM7XG4gIH1cblxuICBpZiAodmFsdWVzLmluY2x1ZGVzKGZhbVByb3BzW0ZBTUlMWV9TSEFSUF0pIHx8IHZhbHVlcy5zb21lKGZ1bmN0aW9uICh2KSB7XG4gICAgcmV0dXJuIFBSRUZJWEVTX0ZPUl9GQU1JTFlbRkFNSUxZX1NIQVJQXS5pbmNsdWRlcyh2KTtcbiAgfSkpIHtcbiAgICBmYW1pbHkgPSBGQU1JTFlfU0hBUlA7XG4gIH1cblxuICB2YXIgY2Fub25pY2FsID0gdmFsdWVzLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBjbHMpIHtcbiAgICB2YXIgaWNvbk5hbWUgPSBnZXRJY29uTmFtZShjb25maWcuY3NzUHJlZml4LCBjbHMpO1xuXG4gICAgaWYgKHN0eWxlc1tjbHNdKSB7XG4gICAgICBjbHMgPSBMT05HX1NUWUxFW2ZhbWlseV0uaW5jbHVkZXMoY2xzKSA/IExPTkdfU1RZTEVfVE9fUFJFRklYW2ZhbWlseV1bY2xzXSA6IGNscztcbiAgICAgIGdpdmVuUHJlZml4ID0gY2xzO1xuICAgICAgYWNjLnByZWZpeCA9IGNscztcbiAgICB9IGVsc2UgaWYgKFBSRUZJWEVTW2ZhbWlseV0uaW5kZXhPZihjbHMpID4gLTEpIHtcbiAgICAgIGdpdmVuUHJlZml4ID0gY2xzO1xuICAgICAgYWNjLnByZWZpeCA9IGdldENhbm9uaWNhbFByZWZpeChjbHMsIHtcbiAgICAgICAgZmFtaWx5OiBmYW1pbHlcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoaWNvbk5hbWUpIHtcbiAgICAgIGFjYy5pY29uTmFtZSA9IGljb25OYW1lO1xuICAgIH0gZWxzZSBpZiAoY2xzICE9PSBjb25maWcucmVwbGFjZW1lbnRDbGFzcyAmJiBjbHMgIT09IGZhbVByb3BzW0ZBTUlMWV9DTEFTU0lDXSAmJiBjbHMgIT09IGZhbVByb3BzW0ZBTUlMWV9TSEFSUF0pIHtcbiAgICAgIGFjYy5yZXN0LnB1c2goY2xzKTtcbiAgICB9XG5cbiAgICBpZiAoIXNraXBMb29rdXBzICYmIGFjYy5wcmVmaXggJiYgYWNjLmljb25OYW1lKSB7XG4gICAgICB2YXIgc2hpbSA9IGdpdmVuUHJlZml4ID09PSAnZmEnID8gYnlPbGROYW1lKGFjYy5pY29uTmFtZSkgOiB7fTtcbiAgICAgIHZhciBhbGlhc0ljb25OYW1lID0gYnlBbGlhcyhhY2MucHJlZml4LCBhY2MuaWNvbk5hbWUpO1xuXG4gICAgICBpZiAoc2hpbS5wcmVmaXgpIHtcbiAgICAgICAgZ2l2ZW5QcmVmaXggPSBudWxsO1xuICAgICAgfVxuXG4gICAgICBhY2MuaWNvbk5hbWUgPSBzaGltLmljb25OYW1lIHx8IGFsaWFzSWNvbk5hbWUgfHwgYWNjLmljb25OYW1lO1xuICAgICAgYWNjLnByZWZpeCA9IHNoaW0ucHJlZml4IHx8IGFjYy5wcmVmaXg7XG5cbiAgICAgIGlmIChhY2MucHJlZml4ID09PSAnZmFyJyAmJiAhc3R5bGVzWydmYXInXSAmJiBzdHlsZXNbJ2ZhcyddICYmICFjb25maWcuYXV0b0ZldGNoU3ZnKSB7XG4gICAgICAgIC8vIEFsbG93IGEgZmFsbGJhY2sgZnJvbSB0aGUgcmVndWxhciBzdHlsZSB0byBzb2xpZCBpZiByZWd1bGFyIGlzIG5vdCBhdmFpbGFibGVcbiAgICAgICAgLy8gYnV0IG9ubHkgaWYgd2UgYXJlbid0IGF1dG8tZmV0Y2hpbmcgU1ZHc1xuICAgICAgICBhY2MucHJlZml4ID0gJ2Zhcyc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSwgZW1wdHlDYW5vbmljYWxJY29uKCkpO1xuXG4gIGlmICh2YWx1ZXMuaW5jbHVkZXMoJ2ZhLWJyYW5kcycpIHx8IHZhbHVlcy5pbmNsdWRlcygnZmFiJykpIHtcbiAgICBjYW5vbmljYWwucHJlZml4ID0gJ2ZhYic7XG4gIH1cblxuICBpZiAodmFsdWVzLmluY2x1ZGVzKCdmYS1kdW90b25lJykgfHwgdmFsdWVzLmluY2x1ZGVzKCdmYWQnKSkge1xuICAgIGNhbm9uaWNhbC5wcmVmaXggPSAnZmFkJztcbiAgfVxuXG4gIGlmICghY2Fub25pY2FsLnByZWZpeCAmJiBmYW1pbHkgPT09IEZBTUlMWV9TSEFSUCAmJiAoc3R5bGVzWydmYXNzJ10gfHwgY29uZmlnLmF1dG9GZXRjaFN2ZykpIHtcbiAgICBjYW5vbmljYWwucHJlZml4ID0gJ2Zhc3MnO1xuICAgIGNhbm9uaWNhbC5pY29uTmFtZSA9IGJ5QWxpYXMoY2Fub25pY2FsLnByZWZpeCwgY2Fub25pY2FsLmljb25OYW1lKSB8fCBjYW5vbmljYWwuaWNvbk5hbWU7XG4gIH1cblxuICBpZiAoY2Fub25pY2FsLnByZWZpeCA9PT0gJ2ZhJyB8fCBnaXZlblByZWZpeCA9PT0gJ2ZhJykge1xuICAgIC8vIFRoZSBmYSBwcmVmaXggaXMgbm90IGNhbm9uaWNhbC4gU28gaWYgaXQgaGFzIG1hZGUgaXQgdGhyb3VnaCB1bnRpbCB0aGlzIHBvaW50XG4gICAgLy8gd2Ugd2lsbCBzaGlmdCBpdCB0byB0aGUgY29ycmVjdCBwcmVmaXguXG4gICAgY2Fub25pY2FsLnByZWZpeCA9IGdldERlZmF1bHRVc2FibGVQcmVmaXgoKSB8fCAnZmFzJztcbiAgfVxuXG4gIHJldHVybiBjYW5vbmljYWw7XG59XG5cbnZhciBMaWJyYXJ5ID0gLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gTGlicmFyeSgpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgTGlicmFyeSk7XG5cbiAgICB0aGlzLmRlZmluaXRpb25zID0ge307XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoTGlicmFyeSwgW3tcbiAgICBrZXk6IFwiYWRkXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGFkZCgpIHtcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBkZWZpbml0aW9ucyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgICAgZGVmaW5pdGlvbnNbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgICB9XG5cbiAgICAgIHZhciBhZGRpdGlvbnMgPSBkZWZpbml0aW9ucy5yZWR1Y2UodGhpcy5fcHVsbERlZmluaXRpb25zLCB7fSk7XG4gICAgICBPYmplY3Qua2V5cyhhZGRpdGlvbnMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgICBfdGhpcy5kZWZpbml0aW9uc1trZXldID0gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIF90aGlzLmRlZmluaXRpb25zW2tleV0gfHwge30pLCBhZGRpdGlvbnNba2V5XSk7XG4gICAgICAgIGRlZmluZUljb25zKGtleSwgYWRkaXRpb25zW2tleV0pOyAvLyBUT0RPIGNhbiB3ZSBzdG9wIGRvaW5nIHRoaXM/IFdlIGNhbid0IGdldCB0aGUgaWNvbnMgYnkgJ2ZhLXNvbGlkJyBhbnkgbG9uZ2VyIHNvIHRoaXMgcHJvYmFibHkgbmVlZHMgdG8gY2hhbmdlXG5cbiAgICAgICAgdmFyIGxvbmdQcmVmaXggPSBQUkVGSVhfVE9fTE9OR19TVFlMRVtGQU1JTFlfQ0xBU1NJQ11ba2V5XTtcbiAgICAgICAgaWYgKGxvbmdQcmVmaXgpIGRlZmluZUljb25zKGxvbmdQcmVmaXgsIGFkZGl0aW9uc1trZXldKTtcbiAgICAgICAgYnVpbGQoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJyZXNldFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZXNldCgpIHtcbiAgICAgIHRoaXMuZGVmaW5pdGlvbnMgPSB7fTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiX3B1bGxEZWZpbml0aW9uc1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfcHVsbERlZmluaXRpb25zKGFkZGl0aW9ucywgZGVmaW5pdGlvbikge1xuICAgICAgdmFyIG5vcm1hbGl6ZWQgPSBkZWZpbml0aW9uLnByZWZpeCAmJiBkZWZpbml0aW9uLmljb25OYW1lICYmIGRlZmluaXRpb24uaWNvbiA/IHtcbiAgICAgICAgMDogZGVmaW5pdGlvblxuICAgICAgfSA6IGRlZmluaXRpb247XG4gICAgICBPYmplY3Qua2V5cyhub3JtYWxpemVkKS5tYXAoZnVuY3Rpb24gKGtleSkge1xuICAgICAgICB2YXIgX25vcm1hbGl6ZWQka2V5ID0gbm9ybWFsaXplZFtrZXldLFxuICAgICAgICAgICAgcHJlZml4ID0gX25vcm1hbGl6ZWQka2V5LnByZWZpeCxcbiAgICAgICAgICAgIGljb25OYW1lID0gX25vcm1hbGl6ZWQka2V5Lmljb25OYW1lLFxuICAgICAgICAgICAgaWNvbiA9IF9ub3JtYWxpemVkJGtleS5pY29uO1xuICAgICAgICB2YXIgYWxpYXNlcyA9IGljb25bMl07XG4gICAgICAgIGlmICghYWRkaXRpb25zW3ByZWZpeF0pIGFkZGl0aW9uc1twcmVmaXhdID0ge307XG5cbiAgICAgICAgaWYgKGFsaWFzZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGFsaWFzZXMuZm9yRWFjaChmdW5jdGlvbiAoYWxpYXMpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgYWxpYXMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIGFkZGl0aW9uc1twcmVmaXhdW2FsaWFzXSA9IGljb247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBhZGRpdGlvbnNbcHJlZml4XVtpY29uTmFtZV0gPSBpY29uO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gYWRkaXRpb25zO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBMaWJyYXJ5O1xufSgpO1xuXG52YXIgX3BsdWdpbnMgPSBbXTtcbnZhciBfaG9va3MgPSB7fTtcbnZhciBwcm92aWRlcnMgPSB7fTtcbnZhciBkZWZhdWx0UHJvdmlkZXJLZXlzID0gT2JqZWN0LmtleXMocHJvdmlkZXJzKTtcbmZ1bmN0aW9uIHJlZ2lzdGVyUGx1Z2lucyhuZXh0UGx1Z2lucywgX3JlZikge1xuICB2YXIgb2JqID0gX3JlZi5taXhvdXRzVG87XG4gIF9wbHVnaW5zID0gbmV4dFBsdWdpbnM7XG4gIF9ob29rcyA9IHt9O1xuICBPYmplY3Qua2V5cyhwcm92aWRlcnMpLmZvckVhY2goZnVuY3Rpb24gKGspIHtcbiAgICBpZiAoZGVmYXVsdFByb3ZpZGVyS2V5cy5pbmRleE9mKGspID09PSAtMSkge1xuICAgICAgZGVsZXRlIHByb3ZpZGVyc1trXTtcbiAgICB9XG4gIH0pO1xuXG4gIF9wbHVnaW5zLmZvckVhY2goZnVuY3Rpb24gKHBsdWdpbikge1xuICAgIHZhciBtaXhvdXQgPSBwbHVnaW4ubWl4b3V0ID8gcGx1Z2luLm1peG91dCgpIDoge307XG4gICAgT2JqZWN0LmtleXMobWl4b3V0KS5mb3JFYWNoKGZ1bmN0aW9uICh0aykge1xuICAgICAgaWYgKHR5cGVvZiBtaXhvdXRbdGtdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIG9ialt0a10gPSBtaXhvdXRbdGtdO1xuICAgICAgfVxuXG4gICAgICBpZiAoX3R5cGVvZihtaXhvdXRbdGtdKSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgT2JqZWN0LmtleXMobWl4b3V0W3RrXSkuZm9yRWFjaChmdW5jdGlvbiAoc2spIHtcbiAgICAgICAgICBpZiAoIW9ialt0a10pIHtcbiAgICAgICAgICAgIG9ialt0a10gPSB7fTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBvYmpbdGtdW3NrXSA9IG1peG91dFt0a11bc2tdO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChwbHVnaW4uaG9va3MpIHtcbiAgICAgIHZhciBob29rcyA9IHBsdWdpbi5ob29rcygpO1xuICAgICAgT2JqZWN0LmtleXMoaG9va3MpLmZvckVhY2goZnVuY3Rpb24gKGhvb2spIHtcbiAgICAgICAgaWYgKCFfaG9va3NbaG9va10pIHtcbiAgICAgICAgICBfaG9va3NbaG9va10gPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIF9ob29rc1tob29rXS5wdXNoKGhvb2tzW2hvb2tdKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChwbHVnaW4ucHJvdmlkZXMpIHtcbiAgICAgIHBsdWdpbi5wcm92aWRlcyhwcm92aWRlcnMpO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG9iajtcbn1cbmZ1bmN0aW9uIGNoYWluSG9va3MoaG9vaywgYWNjdW11bGF0b3IpIHtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiA+IDIgPyBfbGVuIC0gMiA6IDApLCBfa2V5ID0gMjsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIGFyZ3NbX2tleSAtIDJdID0gYXJndW1lbnRzW19rZXldO1xuICB9XG5cbiAgdmFyIGhvb2tGbnMgPSBfaG9va3NbaG9va10gfHwgW107XG4gIGhvb2tGbnMuZm9yRWFjaChmdW5jdGlvbiAoaG9va0ZuKSB7XG4gICAgYWNjdW11bGF0b3IgPSBob29rRm4uYXBwbHkobnVsbCwgW2FjY3VtdWxhdG9yXS5jb25jYXQoYXJncykpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVzZWxlc3MtY2FsbFxuICB9KTtcbiAgcmV0dXJuIGFjY3VtdWxhdG9yO1xufVxuZnVuY3Rpb24gY2FsbEhvb2tzKGhvb2spIHtcbiAgZm9yICh2YXIgX2xlbjIgPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4yID4gMSA/IF9sZW4yIC0gMSA6IDApLCBfa2V5MiA9IDE7IF9rZXkyIDwgX2xlbjI7IF9rZXkyKyspIHtcbiAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICB9XG5cbiAgdmFyIGhvb2tGbnMgPSBfaG9va3NbaG9va10gfHwgW107XG4gIGhvb2tGbnMuZm9yRWFjaChmdW5jdGlvbiAoaG9va0ZuKSB7XG4gICAgaG9va0ZuLmFwcGx5KG51bGwsIGFyZ3MpO1xuICB9KTtcbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIGNhbGxQcm92aWRlZCgpIHtcbiAgdmFyIGhvb2sgPSBhcmd1bWVudHNbMF07XG4gIHZhciBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKTtcbiAgcmV0dXJuIHByb3ZpZGVyc1tob29rXSA/IHByb3ZpZGVyc1tob29rXS5hcHBseShudWxsLCBhcmdzKSA6IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gZmluZEljb25EZWZpbml0aW9uKGljb25Mb29rdXApIHtcbiAgaWYgKGljb25Mb29rdXAucHJlZml4ID09PSAnZmEnKSB7XG4gICAgaWNvbkxvb2t1cC5wcmVmaXggPSAnZmFzJztcbiAgfVxuXG4gIHZhciBpY29uTmFtZSA9IGljb25Mb29rdXAuaWNvbk5hbWU7XG4gIHZhciBwcmVmaXggPSBpY29uTG9va3VwLnByZWZpeCB8fCBnZXREZWZhdWx0VXNhYmxlUHJlZml4KCk7XG4gIGlmICghaWNvbk5hbWUpIHJldHVybjtcbiAgaWNvbk5hbWUgPSBieUFsaWFzKHByZWZpeCwgaWNvbk5hbWUpIHx8IGljb25OYW1lO1xuICByZXR1cm4gaWNvbkZyb21NYXBwaW5nKGxpYnJhcnkuZGVmaW5pdGlvbnMsIHByZWZpeCwgaWNvbk5hbWUpIHx8IGljb25Gcm9tTWFwcGluZyhuYW1lc3BhY2Uuc3R5bGVzLCBwcmVmaXgsIGljb25OYW1lKTtcbn1cbnZhciBsaWJyYXJ5ID0gbmV3IExpYnJhcnkoKTtcbnZhciBub0F1dG8gPSBmdW5jdGlvbiBub0F1dG8oKSB7XG4gIGNvbmZpZy5hdXRvUmVwbGFjZVN2ZyA9IGZhbHNlO1xuICBjb25maWcub2JzZXJ2ZU11dGF0aW9ucyA9IGZhbHNlO1xuICBjYWxsSG9va3MoJ25vQXV0bycpO1xufTtcbnZhciBkb20gPSB7XG4gIGkyc3ZnOiBmdW5jdGlvbiBpMnN2ZygpIHtcbiAgICB2YXIgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcblxuICAgIGlmIChJU19ET00pIHtcbiAgICAgIGNhbGxIb29rcygnYmVmb3JlSTJzdmcnLCBwYXJhbXMpO1xuICAgICAgY2FsbFByb3ZpZGVkKCdwc2V1ZG9FbGVtZW50czJzdmcnLCBwYXJhbXMpO1xuICAgICAgcmV0dXJuIGNhbGxQcm92aWRlZCgnaTJzdmcnLCBwYXJhbXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoJ09wZXJhdGlvbiByZXF1aXJlcyBhIERPTSBvZiBzb21lIGtpbmQuJyk7XG4gICAgfVxuICB9LFxuICB3YXRjaDogZnVuY3Rpb24gd2F0Y2goKSB7XG4gICAgdmFyIHBhcmFtcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDoge307XG4gICAgdmFyIGF1dG9SZXBsYWNlU3ZnUm9vdCA9IHBhcmFtcy5hdXRvUmVwbGFjZVN2Z1Jvb3Q7XG5cbiAgICBpZiAoY29uZmlnLmF1dG9SZXBsYWNlU3ZnID09PSBmYWxzZSkge1xuICAgICAgY29uZmlnLmF1dG9SZXBsYWNlU3ZnID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25maWcub2JzZXJ2ZU11dGF0aW9ucyA9IHRydWU7XG4gICAgZG9tcmVhZHkoZnVuY3Rpb24gKCkge1xuICAgICAgYXV0b1JlcGxhY2Uoe1xuICAgICAgICBhdXRvUmVwbGFjZVN2Z1Jvb3Q6IGF1dG9SZXBsYWNlU3ZnUm9vdFxuICAgICAgfSk7XG4gICAgICBjYWxsSG9va3MoJ3dhdGNoJywgcGFyYW1zKTtcbiAgICB9KTtcbiAgfVxufTtcbnZhciBwYXJzZSA9IHtcbiAgaWNvbjogZnVuY3Rpb24gaWNvbihfaWNvbikge1xuICAgIGlmIChfaWNvbiA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKF90eXBlb2YoX2ljb24pID09PSAnb2JqZWN0JyAmJiBfaWNvbi5wcmVmaXggJiYgX2ljb24uaWNvbk5hbWUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHByZWZpeDogX2ljb24ucHJlZml4LFxuICAgICAgICBpY29uTmFtZTogYnlBbGlhcyhfaWNvbi5wcmVmaXgsIF9pY29uLmljb25OYW1lKSB8fCBfaWNvbi5pY29uTmFtZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShfaWNvbikgJiYgX2ljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICB2YXIgaWNvbk5hbWUgPSBfaWNvblsxXS5pbmRleE9mKCdmYS0nKSA9PT0gMCA/IF9pY29uWzFdLnNsaWNlKDMpIDogX2ljb25bMV07XG4gICAgICB2YXIgcHJlZml4ID0gZ2V0Q2Fub25pY2FsUHJlZml4KF9pY29uWzBdKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHByZWZpeDogcHJlZml4LFxuICAgICAgICBpY29uTmFtZTogYnlBbGlhcyhwcmVmaXgsIGljb25OYW1lKSB8fCBpY29uTmFtZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIF9pY29uID09PSAnc3RyaW5nJyAmJiAoX2ljb24uaW5kZXhPZihcIlwiLmNvbmNhdChjb25maWcuY3NzUHJlZml4LCBcIi1cIikpID4gLTEgfHwgX2ljb24ubWF0Y2goSUNPTl9TRUxFQ1RJT05fU1lOVEFYX1BBVFRFUk4pKSkge1xuICAgICAgdmFyIGNhbm9uaWNhbEljb24gPSBnZXRDYW5vbmljYWxJY29uKF9pY29uLnNwbGl0KCcgJyksIHtcbiAgICAgICAgc2tpcExvb2t1cHM6IHRydWVcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcHJlZml4OiBjYW5vbmljYWxJY29uLnByZWZpeCB8fCBnZXREZWZhdWx0VXNhYmxlUHJlZml4KCksXG4gICAgICAgIGljb25OYW1lOiBieUFsaWFzKGNhbm9uaWNhbEljb24ucHJlZml4LCBjYW5vbmljYWxJY29uLmljb25OYW1lKSB8fCBjYW5vbmljYWxJY29uLmljb25OYW1lXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgX2ljb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICB2YXIgX3ByZWZpeCA9IGdldERlZmF1bHRVc2FibGVQcmVmaXgoKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcHJlZml4OiBfcHJlZml4LFxuICAgICAgICBpY29uTmFtZTogYnlBbGlhcyhfcHJlZml4LCBfaWNvbikgfHwgX2ljb25cbiAgICAgIH07XG4gICAgfVxuICB9XG59O1xudmFyIGFwaSA9IHtcbiAgbm9BdXRvOiBub0F1dG8sXG4gIGNvbmZpZzogY29uZmlnLFxuICBkb206IGRvbSxcbiAgcGFyc2U6IHBhcnNlLFxuICBsaWJyYXJ5OiBsaWJyYXJ5LFxuICBmaW5kSWNvbkRlZmluaXRpb246IGZpbmRJY29uRGVmaW5pdGlvbixcbiAgdG9IdG1sOiB0b0h0bWxcbn07XG5cbnZhciBhdXRvUmVwbGFjZSA9IGZ1bmN0aW9uIGF1dG9SZXBsYWNlKCkge1xuICB2YXIgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcbiAgdmFyIF9wYXJhbXMkYXV0b1JlcGxhY2VTdiA9IHBhcmFtcy5hdXRvUmVwbGFjZVN2Z1Jvb3QsXG4gICAgICBhdXRvUmVwbGFjZVN2Z1Jvb3QgPSBfcGFyYW1zJGF1dG9SZXBsYWNlU3YgPT09IHZvaWQgMCA/IERPQ1VNRU5UIDogX3BhcmFtcyRhdXRvUmVwbGFjZVN2O1xuICBpZiAoKE9iamVjdC5rZXlzKG5hbWVzcGFjZS5zdHlsZXMpLmxlbmd0aCA+IDAgfHwgY29uZmlnLmF1dG9GZXRjaFN2ZykgJiYgSVNfRE9NICYmIGNvbmZpZy5hdXRvUmVwbGFjZVN2ZykgYXBpLmRvbS5pMnN2Zyh7XG4gICAgbm9kZTogYXV0b1JlcGxhY2VTdmdSb290XG4gIH0pO1xufTtcblxuZnVuY3Rpb24gZG9tVmFyaWFudHModmFsLCBhYnN0cmFjdENyZWF0b3IpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZhbCwgJ2Fic3RyYWN0Jywge1xuICAgIGdldDogYWJzdHJhY3RDcmVhdG9yXG4gIH0pO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodmFsLCAnaHRtbCcsIHtcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiB2YWwuYWJzdHJhY3QubWFwKGZ1bmN0aW9uIChhKSB7XG4gICAgICAgIHJldHVybiB0b0h0bWwoYSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodmFsLCAnbm9kZScsIHtcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIGlmICghSVNfRE9NKSByZXR1cm47XG4gICAgICB2YXIgY29udGFpbmVyID0gRE9DVU1FTlQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICBjb250YWluZXIuaW5uZXJIVE1MID0gdmFsLmh0bWw7XG4gICAgICByZXR1cm4gY29udGFpbmVyLmNoaWxkcmVuO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiB2YWw7XG59XG5cbmZ1bmN0aW9uIGFzSWNvbiAoX3JlZikge1xuICB2YXIgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuLFxuICAgICAgbWFpbiA9IF9yZWYubWFpbixcbiAgICAgIG1hc2sgPSBfcmVmLm1hc2ssXG4gICAgICBhdHRyaWJ1dGVzID0gX3JlZi5hdHRyaWJ1dGVzLFxuICAgICAgc3R5bGVzID0gX3JlZi5zdHlsZXMsXG4gICAgICB0cmFuc2Zvcm0gPSBfcmVmLnRyYW5zZm9ybTtcblxuICBpZiAodHJhbnNmb3JtSXNNZWFuaW5nZnVsKHRyYW5zZm9ybSkgJiYgbWFpbi5mb3VuZCAmJiAhbWFzay5mb3VuZCkge1xuICAgIHZhciB3aWR0aCA9IG1haW4ud2lkdGgsXG4gICAgICAgIGhlaWdodCA9IG1haW4uaGVpZ2h0O1xuICAgIHZhciBvZmZzZXQgPSB7XG4gICAgICB4OiB3aWR0aCAvIGhlaWdodCAvIDIsXG4gICAgICB5OiAwLjVcbiAgICB9O1xuICAgIGF0dHJpYnV0ZXNbJ3N0eWxlJ10gPSBqb2luU3R5bGVzKF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBzdHlsZXMpLCB7fSwge1xuICAgICAgJ3RyYW5zZm9ybS1vcmlnaW4nOiBcIlwiLmNvbmNhdChvZmZzZXQueCArIHRyYW5zZm9ybS54IC8gMTYsIFwiZW0gXCIpLmNvbmNhdChvZmZzZXQueSArIHRyYW5zZm9ybS55IC8gMTYsIFwiZW1cIilcbiAgICB9KSk7XG4gIH1cblxuICByZXR1cm4gW3tcbiAgICB0YWc6ICdzdmcnLFxuICAgIGF0dHJpYnV0ZXM6IGF0dHJpYnV0ZXMsXG4gICAgY2hpbGRyZW46IGNoaWxkcmVuXG4gIH1dO1xufVxuXG5mdW5jdGlvbiBhc1N5bWJvbCAoX3JlZikge1xuICB2YXIgcHJlZml4ID0gX3JlZi5wcmVmaXgsXG4gICAgICBpY29uTmFtZSA9IF9yZWYuaWNvbk5hbWUsXG4gICAgICBjaGlsZHJlbiA9IF9yZWYuY2hpbGRyZW4sXG4gICAgICBhdHRyaWJ1dGVzID0gX3JlZi5hdHRyaWJ1dGVzLFxuICAgICAgc3ltYm9sID0gX3JlZi5zeW1ib2w7XG4gIHZhciBpZCA9IHN5bWJvbCA9PT0gdHJ1ZSA/IFwiXCIuY29uY2F0KHByZWZpeCwgXCItXCIpLmNvbmNhdChjb25maWcuY3NzUHJlZml4LCBcIi1cIikuY29uY2F0KGljb25OYW1lKSA6IHN5bWJvbDtcbiAgcmV0dXJuIFt7XG4gICAgdGFnOiAnc3ZnJyxcbiAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICBzdHlsZTogJ2Rpc3BsYXk6IG5vbmU7J1xuICAgIH0sXG4gICAgY2hpbGRyZW46IFt7XG4gICAgICB0YWc6ICdzeW1ib2wnLFxuICAgICAgYXR0cmlidXRlczogX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIGF0dHJpYnV0ZXMpLCB7fSwge1xuICAgICAgICBpZDogaWRcbiAgICAgIH0pLFxuICAgICAgY2hpbGRyZW46IGNoaWxkcmVuXG4gICAgfV1cbiAgfV07XG59XG5cbmZ1bmN0aW9uIG1ha2VJbmxpbmVTdmdBYnN0cmFjdChwYXJhbXMpIHtcbiAgdmFyIF9wYXJhbXMkaWNvbnMgPSBwYXJhbXMuaWNvbnMsXG4gICAgICBtYWluID0gX3BhcmFtcyRpY29ucy5tYWluLFxuICAgICAgbWFzayA9IF9wYXJhbXMkaWNvbnMubWFzayxcbiAgICAgIHByZWZpeCA9IHBhcmFtcy5wcmVmaXgsXG4gICAgICBpY29uTmFtZSA9IHBhcmFtcy5pY29uTmFtZSxcbiAgICAgIHRyYW5zZm9ybSA9IHBhcmFtcy50cmFuc2Zvcm0sXG4gICAgICBzeW1ib2wgPSBwYXJhbXMuc3ltYm9sLFxuICAgICAgdGl0bGUgPSBwYXJhbXMudGl0bGUsXG4gICAgICBtYXNrSWQgPSBwYXJhbXMubWFza0lkLFxuICAgICAgdGl0bGVJZCA9IHBhcmFtcy50aXRsZUlkLFxuICAgICAgZXh0cmEgPSBwYXJhbXMuZXh0cmEsXG4gICAgICBfcGFyYW1zJHdhdGNoYWJsZSA9IHBhcmFtcy53YXRjaGFibGUsXG4gICAgICB3YXRjaGFibGUgPSBfcGFyYW1zJHdhdGNoYWJsZSA9PT0gdm9pZCAwID8gZmFsc2UgOiBfcGFyYW1zJHdhdGNoYWJsZTtcblxuICB2YXIgX3JlZiA9IG1hc2suZm91bmQgPyBtYXNrIDogbWFpbixcbiAgICAgIHdpZHRoID0gX3JlZi53aWR0aCxcbiAgICAgIGhlaWdodCA9IF9yZWYuaGVpZ2h0O1xuXG4gIHZhciBpc1VwbG9hZGVkSWNvbiA9IHByZWZpeCA9PT0gJ2Zhayc7XG4gIHZhciBhdHRyQ2xhc3MgPSBbY29uZmlnLnJlcGxhY2VtZW50Q2xhc3MsIGljb25OYW1lID8gXCJcIi5jb25jYXQoY29uZmlnLmNzc1ByZWZpeCwgXCItXCIpLmNvbmNhdChpY29uTmFtZSkgOiAnJ10uZmlsdGVyKGZ1bmN0aW9uIChjKSB7XG4gICAgcmV0dXJuIGV4dHJhLmNsYXNzZXMuaW5kZXhPZihjKSA9PT0gLTE7XG4gIH0pLmZpbHRlcihmdW5jdGlvbiAoYykge1xuICAgIHJldHVybiBjICE9PSAnJyB8fCAhIWM7XG4gIH0pLmNvbmNhdChleHRyYS5jbGFzc2VzKS5qb2luKCcgJyk7XG4gIHZhciBjb250ZW50ID0ge1xuICAgIGNoaWxkcmVuOiBbXSxcbiAgICBhdHRyaWJ1dGVzOiBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgZXh0cmEuYXR0cmlidXRlcyksIHt9LCB7XG4gICAgICAnZGF0YS1wcmVmaXgnOiBwcmVmaXgsXG4gICAgICAnZGF0YS1pY29uJzogaWNvbk5hbWUsXG4gICAgICAnY2xhc3MnOiBhdHRyQ2xhc3MsXG4gICAgICAncm9sZSc6IGV4dHJhLmF0dHJpYnV0ZXMucm9sZSB8fCAnaW1nJyxcbiAgICAgICd4bWxucyc6ICdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsXG4gICAgICAndmlld0JveCc6IFwiMCAwIFwiLmNvbmNhdCh3aWR0aCwgXCIgXCIpLmNvbmNhdChoZWlnaHQpXG4gICAgfSlcbiAgfTtcbiAgdmFyIHVwbG9hZGVkSWNvbldpZHRoU3R5bGUgPSBpc1VwbG9hZGVkSWNvbiAmJiAhfmV4dHJhLmNsYXNzZXMuaW5kZXhPZignZmEtZncnKSA/IHtcbiAgICB3aWR0aDogXCJcIi5jb25jYXQod2lkdGggLyBoZWlnaHQgKiAxNiAqIDAuMDYyNSwgXCJlbVwiKVxuICB9IDoge307XG5cbiAgaWYgKHdhdGNoYWJsZSkge1xuICAgIGNvbnRlbnQuYXR0cmlidXRlc1tEQVRBX0ZBX0kyU1ZHXSA9ICcnO1xuICB9XG5cbiAgaWYgKHRpdGxlKSB7XG4gICAgY29udGVudC5jaGlsZHJlbi5wdXNoKHtcbiAgICAgIHRhZzogJ3RpdGxlJyxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgaWQ6IGNvbnRlbnQuYXR0cmlidXRlc1snYXJpYS1sYWJlbGxlZGJ5J10gfHwgXCJ0aXRsZS1cIi5jb25jYXQodGl0bGVJZCB8fCBuZXh0VW5pcXVlSWQoKSlcbiAgICAgIH0sXG4gICAgICBjaGlsZHJlbjogW3RpdGxlXVxuICAgIH0pO1xuICAgIGRlbGV0ZSBjb250ZW50LmF0dHJpYnV0ZXMudGl0bGU7XG4gIH1cblxuICB2YXIgYXJncyA9IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBjb250ZW50KSwge30sIHtcbiAgICBwcmVmaXg6IHByZWZpeCxcbiAgICBpY29uTmFtZTogaWNvbk5hbWUsXG4gICAgbWFpbjogbWFpbixcbiAgICBtYXNrOiBtYXNrLFxuICAgIG1hc2tJZDogbWFza0lkLFxuICAgIHRyYW5zZm9ybTogdHJhbnNmb3JtLFxuICAgIHN5bWJvbDogc3ltYm9sLFxuICAgIHN0eWxlczogX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIHVwbG9hZGVkSWNvbldpZHRoU3R5bGUpLCBleHRyYS5zdHlsZXMpXG4gIH0pO1xuXG4gIHZhciBfcmVmMiA9IG1hc2suZm91bmQgJiYgbWFpbi5mb3VuZCA/IGNhbGxQcm92aWRlZCgnZ2VuZXJhdGVBYnN0cmFjdE1hc2snLCBhcmdzKSB8fCB7XG4gICAgY2hpbGRyZW46IFtdLFxuICAgIGF0dHJpYnV0ZXM6IHt9XG4gIH0gOiBjYWxsUHJvdmlkZWQoJ2dlbmVyYXRlQWJzdHJhY3RJY29uJywgYXJncykgfHwge1xuICAgIGNoaWxkcmVuOiBbXSxcbiAgICBhdHRyaWJ1dGVzOiB7fVxuICB9LFxuICAgICAgY2hpbGRyZW4gPSBfcmVmMi5jaGlsZHJlbixcbiAgICAgIGF0dHJpYnV0ZXMgPSBfcmVmMi5hdHRyaWJ1dGVzO1xuXG4gIGFyZ3MuY2hpbGRyZW4gPSBjaGlsZHJlbjtcbiAgYXJncy5hdHRyaWJ1dGVzID0gYXR0cmlidXRlcztcblxuICBpZiAoc3ltYm9sKSB7XG4gICAgcmV0dXJuIGFzU3ltYm9sKGFyZ3MpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBhc0ljb24oYXJncyk7XG4gIH1cbn1cbmZ1bmN0aW9uIG1ha2VMYXllcnNUZXh0QWJzdHJhY3QocGFyYW1zKSB7XG4gIHZhciBjb250ZW50ID0gcGFyYW1zLmNvbnRlbnQsXG4gICAgICB3aWR0aCA9IHBhcmFtcy53aWR0aCxcbiAgICAgIGhlaWdodCA9IHBhcmFtcy5oZWlnaHQsXG4gICAgICB0cmFuc2Zvcm0gPSBwYXJhbXMudHJhbnNmb3JtLFxuICAgICAgdGl0bGUgPSBwYXJhbXMudGl0bGUsXG4gICAgICBleHRyYSA9IHBhcmFtcy5leHRyYSxcbiAgICAgIF9wYXJhbXMkd2F0Y2hhYmxlMiA9IHBhcmFtcy53YXRjaGFibGUsXG4gICAgICB3YXRjaGFibGUgPSBfcGFyYW1zJHdhdGNoYWJsZTIgPT09IHZvaWQgMCA/IGZhbHNlIDogX3BhcmFtcyR3YXRjaGFibGUyO1xuXG4gIHZhciBhdHRyaWJ1dGVzID0gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIGV4dHJhLmF0dHJpYnV0ZXMpLCB0aXRsZSA/IHtcbiAgICAndGl0bGUnOiB0aXRsZVxuICB9IDoge30pLCB7fSwge1xuICAgICdjbGFzcyc6IGV4dHJhLmNsYXNzZXMuam9pbignICcpXG4gIH0pO1xuXG4gIGlmICh3YXRjaGFibGUpIHtcbiAgICBhdHRyaWJ1dGVzW0RBVEFfRkFfSTJTVkddID0gJyc7XG4gIH1cblxuICB2YXIgc3R5bGVzID0gX29iamVjdFNwcmVhZDIoe30sIGV4dHJhLnN0eWxlcyk7XG5cbiAgaWYgKHRyYW5zZm9ybUlzTWVhbmluZ2Z1bCh0cmFuc2Zvcm0pKSB7XG4gICAgc3R5bGVzWyd0cmFuc2Zvcm0nXSA9IHRyYW5zZm9ybUZvckNzcyh7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zZm9ybSxcbiAgICAgIHN0YXJ0Q2VudGVyZWQ6IHRydWUsXG4gICAgICB3aWR0aDogd2lkdGgsXG4gICAgICBoZWlnaHQ6IGhlaWdodFxuICAgIH0pO1xuICAgIHN0eWxlc1snLXdlYmtpdC10cmFuc2Zvcm0nXSA9IHN0eWxlc1sndHJhbnNmb3JtJ107XG4gIH1cblxuICB2YXIgc3R5bGVTdHJpbmcgPSBqb2luU3R5bGVzKHN0eWxlcyk7XG5cbiAgaWYgKHN0eWxlU3RyaW5nLmxlbmd0aCA+IDApIHtcbiAgICBhdHRyaWJ1dGVzWydzdHlsZSddID0gc3R5bGVTdHJpbmc7XG4gIH1cblxuICB2YXIgdmFsID0gW107XG4gIHZhbC5wdXNoKHtcbiAgICB0YWc6ICdzcGFuJyxcbiAgICBhdHRyaWJ1dGVzOiBhdHRyaWJ1dGVzLFxuICAgIGNoaWxkcmVuOiBbY29udGVudF1cbiAgfSk7XG5cbiAgaWYgKHRpdGxlKSB7XG4gICAgdmFsLnB1c2goe1xuICAgICAgdGFnOiAnc3BhbicsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGNsYXNzOiAnc3Itb25seSdcbiAgICAgIH0sXG4gICAgICBjaGlsZHJlbjogW3RpdGxlXVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHZhbDtcbn1cbmZ1bmN0aW9uIG1ha2VMYXllcnNDb3VudGVyQWJzdHJhY3QocGFyYW1zKSB7XG4gIHZhciBjb250ZW50ID0gcGFyYW1zLmNvbnRlbnQsXG4gICAgICB0aXRsZSA9IHBhcmFtcy50aXRsZSxcbiAgICAgIGV4dHJhID0gcGFyYW1zLmV4dHJhO1xuXG4gIHZhciBhdHRyaWJ1dGVzID0gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIGV4dHJhLmF0dHJpYnV0ZXMpLCB0aXRsZSA/IHtcbiAgICAndGl0bGUnOiB0aXRsZVxuICB9IDoge30pLCB7fSwge1xuICAgICdjbGFzcyc6IGV4dHJhLmNsYXNzZXMuam9pbignICcpXG4gIH0pO1xuXG4gIHZhciBzdHlsZVN0cmluZyA9IGpvaW5TdHlsZXMoZXh0cmEuc3R5bGVzKTtcblxuICBpZiAoc3R5bGVTdHJpbmcubGVuZ3RoID4gMCkge1xuICAgIGF0dHJpYnV0ZXNbJ3N0eWxlJ10gPSBzdHlsZVN0cmluZztcbiAgfVxuXG4gIHZhciB2YWwgPSBbXTtcbiAgdmFsLnB1c2goe1xuICAgIHRhZzogJ3NwYW4nLFxuICAgIGF0dHJpYnV0ZXM6IGF0dHJpYnV0ZXMsXG4gICAgY2hpbGRyZW46IFtjb250ZW50XVxuICB9KTtcblxuICBpZiAodGl0bGUpIHtcbiAgICB2YWwucHVzaCh7XG4gICAgICB0YWc6ICdzcGFuJyxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgY2xhc3M6ICdzci1vbmx5J1xuICAgICAgfSxcbiAgICAgIGNoaWxkcmVuOiBbdGl0bGVdXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gdmFsO1xufVxuXG52YXIgc3R5bGVzJDEgPSBuYW1lc3BhY2Uuc3R5bGVzO1xuZnVuY3Rpb24gYXNGb3VuZEljb24oaWNvbikge1xuICB2YXIgd2lkdGggPSBpY29uWzBdO1xuICB2YXIgaGVpZ2h0ID0gaWNvblsxXTtcblxuICB2YXIgX2ljb24kc2xpY2UgPSBpY29uLnNsaWNlKDQpLFxuICAgICAgX2ljb24kc2xpY2UyID0gX3NsaWNlZFRvQXJyYXkoX2ljb24kc2xpY2UsIDEpLFxuICAgICAgdmVjdG9yRGF0YSA9IF9pY29uJHNsaWNlMlswXTtcblxuICB2YXIgZWxlbWVudCA9IG51bGw7XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkodmVjdG9yRGF0YSkpIHtcbiAgICBlbGVtZW50ID0ge1xuICAgICAgdGFnOiAnZycsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGNsYXNzOiBcIlwiLmNvbmNhdChjb25maWcuY3NzUHJlZml4LCBcIi1cIikuY29uY2F0KERVT1RPTkVfQ0xBU1NFUy5HUk9VUClcbiAgICAgIH0sXG4gICAgICBjaGlsZHJlbjogW3tcbiAgICAgICAgdGFnOiAncGF0aCcsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICBjbGFzczogXCJcIi5jb25jYXQoY29uZmlnLmNzc1ByZWZpeCwgXCItXCIpLmNvbmNhdChEVU9UT05FX0NMQVNTRVMuU0VDT05EQVJZKSxcbiAgICAgICAgICBmaWxsOiAnY3VycmVudENvbG9yJyxcbiAgICAgICAgICBkOiB2ZWN0b3JEYXRhWzBdXG4gICAgICAgIH1cbiAgICAgIH0sIHtcbiAgICAgICAgdGFnOiAncGF0aCcsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICBjbGFzczogXCJcIi5jb25jYXQoY29uZmlnLmNzc1ByZWZpeCwgXCItXCIpLmNvbmNhdChEVU9UT05FX0NMQVNTRVMuUFJJTUFSWSksXG4gICAgICAgICAgZmlsbDogJ2N1cnJlbnRDb2xvcicsXG4gICAgICAgICAgZDogdmVjdG9yRGF0YVsxXVxuICAgICAgICB9XG4gICAgICB9XVxuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgZWxlbWVudCA9IHtcbiAgICAgIHRhZzogJ3BhdGgnLFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICBmaWxsOiAnY3VycmVudENvbG9yJyxcbiAgICAgICAgZDogdmVjdG9yRGF0YVxuICAgICAgfVxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGZvdW5kOiB0cnVlLFxuICAgIHdpZHRoOiB3aWR0aCxcbiAgICBoZWlnaHQ6IGhlaWdodCxcbiAgICBpY29uOiBlbGVtZW50XG4gIH07XG59XG52YXIgbWlzc2luZ0ljb25SZXNvbHV0aW9uTWl4aW4gPSB7XG4gIGZvdW5kOiBmYWxzZSxcbiAgd2lkdGg6IDUxMixcbiAgaGVpZ2h0OiA1MTJcbn07XG5cbmZ1bmN0aW9uIG1heWJlTm90aWZ5TWlzc2luZyhpY29uTmFtZSwgcHJlZml4KSB7XG4gIGlmICghUFJPRFVDVElPTiAmJiAhY29uZmlnLnNob3dNaXNzaW5nSWNvbnMgJiYgaWNvbk5hbWUpIHtcbiAgICBjb25zb2xlLmVycm9yKFwiSWNvbiB3aXRoIG5hbWUgXFxcIlwiLmNvbmNhdChpY29uTmFtZSwgXCJcXFwiIGFuZCBwcmVmaXggXFxcIlwiKS5jb25jYXQocHJlZml4LCBcIlxcXCIgaXMgbWlzc2luZy5cIikpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmRJY29uKGljb25OYW1lLCBwcmVmaXgpIHtcbiAgdmFyIGdpdmVuUHJlZml4ID0gcHJlZml4O1xuXG4gIGlmIChwcmVmaXggPT09ICdmYScgJiYgY29uZmlnLnN0eWxlRGVmYXVsdCAhPT0gbnVsbCkge1xuICAgIHByZWZpeCA9IGdldERlZmF1bHRVc2FibGVQcmVmaXgoKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgdmFyIHZhbCA9IHtcbiAgICAgIGZvdW5kOiBmYWxzZSxcbiAgICAgIHdpZHRoOiA1MTIsXG4gICAgICBoZWlnaHQ6IDUxMixcbiAgICAgIGljb246IGNhbGxQcm92aWRlZCgnbWlzc2luZ0ljb25BYnN0cmFjdCcpIHx8IHt9XG4gICAgfTtcblxuICAgIGlmIChnaXZlblByZWZpeCA9PT0gJ2ZhJykge1xuICAgICAgdmFyIHNoaW0gPSBieU9sZE5hbWUoaWNvbk5hbWUpIHx8IHt9O1xuICAgICAgaWNvbk5hbWUgPSBzaGltLmljb25OYW1lIHx8IGljb25OYW1lO1xuICAgICAgcHJlZml4ID0gc2hpbS5wcmVmaXggfHwgcHJlZml4O1xuICAgIH1cblxuICAgIGlmIChpY29uTmFtZSAmJiBwcmVmaXggJiYgc3R5bGVzJDFbcHJlZml4XSAmJiBzdHlsZXMkMVtwcmVmaXhdW2ljb25OYW1lXSkge1xuICAgICAgdmFyIGljb24gPSBzdHlsZXMkMVtwcmVmaXhdW2ljb25OYW1lXTtcbiAgICAgIHJldHVybiByZXNvbHZlKGFzRm91bmRJY29uKGljb24pKTtcbiAgICB9XG5cbiAgICBtYXliZU5vdGlmeU1pc3NpbmcoaWNvbk5hbWUsIHByZWZpeCk7XG4gICAgcmVzb2x2ZShfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgbWlzc2luZ0ljb25SZXNvbHV0aW9uTWl4aW4pLCB7fSwge1xuICAgICAgaWNvbjogY29uZmlnLnNob3dNaXNzaW5nSWNvbnMgJiYgaWNvbk5hbWUgPyBjYWxsUHJvdmlkZWQoJ21pc3NpbmdJY29uQWJzdHJhY3QnKSB8fCB7fSA6IHt9XG4gICAgfSkpO1xuICB9KTtcbn1cblxudmFyIG5vb3AkMSA9IGZ1bmN0aW9uIG5vb3AoKSB7fTtcblxudmFyIHAgPSBjb25maWcubWVhc3VyZVBlcmZvcm1hbmNlICYmIFBFUkZPUk1BTkNFICYmIFBFUkZPUk1BTkNFLm1hcmsgJiYgUEVSRk9STUFOQ0UubWVhc3VyZSA/IFBFUkZPUk1BTkNFIDoge1xuICBtYXJrOiBub29wJDEsXG4gIG1lYXN1cmU6IG5vb3AkMVxufTtcbnZhciBwcmVhbWJsZSA9IFwiRkEgXFxcIjYuNS4yXFxcIlwiO1xuXG52YXIgYmVnaW4gPSBmdW5jdGlvbiBiZWdpbihuYW1lKSB7XG4gIHAubWFyayhcIlwiLmNvbmNhdChwcmVhbWJsZSwgXCIgXCIpLmNvbmNhdChuYW1lLCBcIiBiZWdpbnNcIikpO1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBlbmQobmFtZSk7XG4gIH07XG59O1xuXG52YXIgZW5kID0gZnVuY3Rpb24gZW5kKG5hbWUpIHtcbiAgcC5tYXJrKFwiXCIuY29uY2F0KHByZWFtYmxlLCBcIiBcIikuY29uY2F0KG5hbWUsIFwiIGVuZHNcIikpO1xuICBwLm1lYXN1cmUoXCJcIi5jb25jYXQocHJlYW1ibGUsIFwiIFwiKS5jb25jYXQobmFtZSksIFwiXCIuY29uY2F0KHByZWFtYmxlLCBcIiBcIikuY29uY2F0KG5hbWUsIFwiIGJlZ2luc1wiKSwgXCJcIi5jb25jYXQocHJlYW1ibGUsIFwiIFwiKS5jb25jYXQobmFtZSwgXCIgZW5kc1wiKSk7XG59O1xuXG52YXIgcGVyZiA9IHtcbiAgYmVnaW46IGJlZ2luLFxuICBlbmQ6IGVuZFxufTtcblxudmFyIG5vb3AkMiA9IGZ1bmN0aW9uIG5vb3AoKSB7fTtcblxuZnVuY3Rpb24gaXNXYXRjaGVkKG5vZGUpIHtcbiAgdmFyIGkyc3ZnID0gbm9kZS5nZXRBdHRyaWJ1dGUgPyBub2RlLmdldEF0dHJpYnV0ZShEQVRBX0ZBX0kyU1ZHKSA6IG51bGw7XG4gIHJldHVybiB0eXBlb2YgaTJzdmcgPT09ICdzdHJpbmcnO1xufVxuXG5mdW5jdGlvbiBoYXNQcmVmaXhBbmRJY29uKG5vZGUpIHtcbiAgdmFyIHByZWZpeCA9IG5vZGUuZ2V0QXR0cmlidXRlID8gbm9kZS5nZXRBdHRyaWJ1dGUoREFUQV9QUkVGSVgpIDogbnVsbDtcbiAgdmFyIGljb24gPSBub2RlLmdldEF0dHJpYnV0ZSA/IG5vZGUuZ2V0QXR0cmlidXRlKERBVEFfSUNPTikgOiBudWxsO1xuICByZXR1cm4gcHJlZml4ICYmIGljb247XG59XG5cbmZ1bmN0aW9uIGhhc0JlZW5SZXBsYWNlZChub2RlKSB7XG4gIHJldHVybiBub2RlICYmIG5vZGUuY2xhc3NMaXN0ICYmIG5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zICYmIG5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zKGNvbmZpZy5yZXBsYWNlbWVudENsYXNzKTtcbn1cblxuZnVuY3Rpb24gZ2V0TXV0YXRvcigpIHtcbiAgaWYgKGNvbmZpZy5hdXRvUmVwbGFjZVN2ZyA9PT0gdHJ1ZSkge1xuICAgIHJldHVybiBtdXRhdG9ycy5yZXBsYWNlO1xuICB9XG5cbiAgdmFyIG11dGF0b3IgPSBtdXRhdG9yc1tjb25maWcuYXV0b1JlcGxhY2VTdmddO1xuICByZXR1cm4gbXV0YXRvciB8fCBtdXRhdG9ycy5yZXBsYWNlO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50TlModGFnKSB7XG4gIHJldHVybiBET0NVTUVOVC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgdGFnKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRWxlbWVudCh0YWcpIHtcbiAgcmV0dXJuIERPQ1VNRU5ULmNyZWF0ZUVsZW1lbnQodGFnKTtcbn1cblxuZnVuY3Rpb24gY29udmVydFNWRyhhYnN0cmFjdE9iaikge1xuICB2YXIgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcbiAgdmFyIF9wYXJhbXMkY2VGbiA9IHBhcmFtcy5jZUZuLFxuICAgICAgY2VGbiA9IF9wYXJhbXMkY2VGbiA9PT0gdm9pZCAwID8gYWJzdHJhY3RPYmoudGFnID09PSAnc3ZnJyA/IGNyZWF0ZUVsZW1lbnROUyA6IGNyZWF0ZUVsZW1lbnQgOiBfcGFyYW1zJGNlRm47XG5cbiAgaWYgKHR5cGVvZiBhYnN0cmFjdE9iaiA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gRE9DVU1FTlQuY3JlYXRlVGV4dE5vZGUoYWJzdHJhY3RPYmopO1xuICB9XG5cbiAgdmFyIHRhZyA9IGNlRm4oYWJzdHJhY3RPYmoudGFnKTtcbiAgT2JqZWN0LmtleXMoYWJzdHJhY3RPYmouYXR0cmlidXRlcyB8fCBbXSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgdGFnLnNldEF0dHJpYnV0ZShrZXksIGFic3RyYWN0T2JqLmF0dHJpYnV0ZXNba2V5XSk7XG4gIH0pO1xuICB2YXIgY2hpbGRyZW4gPSBhYnN0cmFjdE9iai5jaGlsZHJlbiB8fCBbXTtcbiAgY2hpbGRyZW4uZm9yRWFjaChmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICB0YWcuYXBwZW5kQ2hpbGQoY29udmVydFNWRyhjaGlsZCwge1xuICAgICAgY2VGbjogY2VGblxuICAgIH0pKTtcbiAgfSk7XG4gIHJldHVybiB0YWc7XG59XG5cbmZ1bmN0aW9uIG5vZGVBc0NvbW1lbnQobm9kZSkge1xuICB2YXIgY29tbWVudCA9IFwiIFwiLmNvbmNhdChub2RlLm91dGVySFRNTCwgXCIgXCIpO1xuICAvKiBCRUdJTi5BVFRSSUJVVElPTiAqL1xuXG4gIGNvbW1lbnQgPSBcIlwiLmNvbmNhdChjb21tZW50LCBcIkZvbnQgQXdlc29tZSBmb250YXdlc29tZS5jb20gXCIpO1xuICAvKiBFTkQuQVRUUklCVVRJT04gKi9cblxuICByZXR1cm4gY29tbWVudDtcbn1cblxudmFyIG11dGF0b3JzID0ge1xuICByZXBsYWNlOiBmdW5jdGlvbiByZXBsYWNlKG11dGF0aW9uKSB7XG4gICAgdmFyIG5vZGUgPSBtdXRhdGlvblswXTtcblxuICAgIGlmIChub2RlLnBhcmVudE5vZGUpIHtcbiAgICAgIG11dGF0aW9uWzFdLmZvckVhY2goZnVuY3Rpb24gKF9hYnN0cmFjdCkge1xuICAgICAgICBub2RlLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGNvbnZlcnRTVkcoX2Fic3RyYWN0KSwgbm9kZSk7XG4gICAgICB9KTtcblxuICAgICAgaWYgKG5vZGUuZ2V0QXR0cmlidXRlKERBVEFfRkFfSTJTVkcpID09PSBudWxsICYmIGNvbmZpZy5rZWVwT3JpZ2luYWxTb3VyY2UpIHtcbiAgICAgICAgdmFyIGNvbW1lbnQgPSBET0NVTUVOVC5jcmVhdGVDb21tZW50KG5vZGVBc0NvbW1lbnQobm9kZSkpO1xuICAgICAgICBub2RlLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKGNvbW1lbnQsIG5vZGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbm9kZS5yZW1vdmUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIG5lc3Q6IGZ1bmN0aW9uIG5lc3QobXV0YXRpb24pIHtcbiAgICB2YXIgbm9kZSA9IG11dGF0aW9uWzBdO1xuICAgIHZhciBfYWJzdHJhY3QyID0gbXV0YXRpb25bMV07IC8vIElmIHdlIGFscmVhZHkgaGF2ZSBhIHJlcGxhY2VkIG5vZGUgd2UgZG8gbm90IHdhbnQgdG8gY29udGludWUgbmVzdGluZyB3aXRoaW4gaXQuXG4gICAgLy8gU2hvcnQtY2lyY3VpdCB0byB0aGUgc3RhbmRhcmQgcmVwbGFjZW1lbnRcblxuICAgIGlmICh+Y2xhc3NBcnJheShub2RlKS5pbmRleE9mKGNvbmZpZy5yZXBsYWNlbWVudENsYXNzKSkge1xuICAgICAgcmV0dXJuIG11dGF0b3JzLnJlcGxhY2UobXV0YXRpb24pO1xuICAgIH1cblxuICAgIHZhciBmb3JTdmcgPSBuZXcgUmVnRXhwKFwiXCIuY29uY2F0KGNvbmZpZy5jc3NQcmVmaXgsIFwiLS4qXCIpKTtcbiAgICBkZWxldGUgX2Fic3RyYWN0MlswXS5hdHRyaWJ1dGVzLmlkO1xuXG4gICAgaWYgKF9hYnN0cmFjdDJbMF0uYXR0cmlidXRlcy5jbGFzcykge1xuICAgICAgdmFyIHNwbGl0Q2xhc3NlcyA9IF9hYnN0cmFjdDJbMF0uYXR0cmlidXRlcy5jbGFzcy5zcGxpdCgnICcpLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBjbHMpIHtcbiAgICAgICAgaWYgKGNscyA9PT0gY29uZmlnLnJlcGxhY2VtZW50Q2xhc3MgfHwgY2xzLm1hdGNoKGZvclN2ZykpIHtcbiAgICAgICAgICBhY2MudG9TdmcucHVzaChjbHMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFjYy50b05vZGUucHVzaChjbHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHtcbiAgICAgICAgdG9Ob2RlOiBbXSxcbiAgICAgICAgdG9Tdmc6IFtdXG4gICAgICB9KTtcblxuICAgICAgX2Fic3RyYWN0MlswXS5hdHRyaWJ1dGVzLmNsYXNzID0gc3BsaXRDbGFzc2VzLnRvU3ZnLmpvaW4oJyAnKTtcblxuICAgICAgaWYgKHNwbGl0Q2xhc3Nlcy50b05vZGUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIG5vZGUucmVtb3ZlQXR0cmlidXRlKCdjbGFzcycpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgc3BsaXRDbGFzc2VzLnRvTm9kZS5qb2luKCcgJykpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBuZXdJbm5lckhUTUwgPSBfYWJzdHJhY3QyLm1hcChmdW5jdGlvbiAoYSkge1xuICAgICAgcmV0dXJuIHRvSHRtbChhKTtcbiAgICB9KS5qb2luKCdcXG4nKTtcblxuICAgIG5vZGUuc2V0QXR0cmlidXRlKERBVEFfRkFfSTJTVkcsICcnKTtcbiAgICBub2RlLmlubmVySFRNTCA9IG5ld0lubmVySFRNTDtcbiAgfVxufTtcblxuZnVuY3Rpb24gcGVyZm9ybU9wZXJhdGlvblN5bmMob3ApIHtcbiAgb3AoKTtcbn1cblxuZnVuY3Rpb24gcGVyZm9ybShtdXRhdGlvbnMsIGNhbGxiYWNrKSB7XG4gIHZhciBjYWxsYmFja0Z1bmN0aW9uID0gdHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nID8gY2FsbGJhY2sgOiBub29wJDI7XG5cbiAgaWYgKG11dGF0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICBjYWxsYmFja0Z1bmN0aW9uKCk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGZyYW1lID0gcGVyZm9ybU9wZXJhdGlvblN5bmM7XG5cbiAgICBpZiAoY29uZmlnLm11dGF0ZUFwcHJvYWNoID09PSBNVVRBVElPTl9BUFBST0FDSF9BU1lOQykge1xuICAgICAgZnJhbWUgPSBXSU5ET1cucmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8IHBlcmZvcm1PcGVyYXRpb25TeW5jO1xuICAgIH1cblxuICAgIGZyYW1lKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBtdXRhdG9yID0gZ2V0TXV0YXRvcigpO1xuICAgICAgdmFyIG1hcmsgPSBwZXJmLmJlZ2luKCdtdXRhdGUnKTtcbiAgICAgIG11dGF0aW9ucy5tYXAobXV0YXRvcik7XG4gICAgICBtYXJrKCk7XG4gICAgICBjYWxsYmFja0Z1bmN0aW9uKCk7XG4gICAgfSk7XG4gIH1cbn1cbnZhciBkaXNhYmxlZCA9IGZhbHNlO1xuZnVuY3Rpb24gZGlzYWJsZU9ic2VydmF0aW9uKCkge1xuICBkaXNhYmxlZCA9IHRydWU7XG59XG5mdW5jdGlvbiBlbmFibGVPYnNlcnZhdGlvbigpIHtcbiAgZGlzYWJsZWQgPSBmYWxzZTtcbn1cbnZhciBtbyA9IG51bGw7XG5mdW5jdGlvbiBvYnNlcnZlKG9wdGlvbnMpIHtcbiAgaWYgKCFNVVRBVElPTl9PQlNFUlZFUikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghY29uZmlnLm9ic2VydmVNdXRhdGlvbnMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgX29wdGlvbnMkdHJlZUNhbGxiYWNrID0gb3B0aW9ucy50cmVlQ2FsbGJhY2ssXG4gICAgICB0cmVlQ2FsbGJhY2sgPSBfb3B0aW9ucyR0cmVlQ2FsbGJhY2sgPT09IHZvaWQgMCA/IG5vb3AkMiA6IF9vcHRpb25zJHRyZWVDYWxsYmFjayxcbiAgICAgIF9vcHRpb25zJG5vZGVDYWxsYmFjayA9IG9wdGlvbnMubm9kZUNhbGxiYWNrLFxuICAgICAgbm9kZUNhbGxiYWNrID0gX29wdGlvbnMkbm9kZUNhbGxiYWNrID09PSB2b2lkIDAgPyBub29wJDIgOiBfb3B0aW9ucyRub2RlQ2FsbGJhY2ssXG4gICAgICBfb3B0aW9ucyRwc2V1ZG9FbGVtZW4gPSBvcHRpb25zLnBzZXVkb0VsZW1lbnRzQ2FsbGJhY2ssXG4gICAgICBwc2V1ZG9FbGVtZW50c0NhbGxiYWNrID0gX29wdGlvbnMkcHNldWRvRWxlbWVuID09PSB2b2lkIDAgPyBub29wJDIgOiBfb3B0aW9ucyRwc2V1ZG9FbGVtZW4sXG4gICAgICBfb3B0aW9ucyRvYnNlcnZlTXV0YXQgPSBvcHRpb25zLm9ic2VydmVNdXRhdGlvbnNSb290LFxuICAgICAgb2JzZXJ2ZU11dGF0aW9uc1Jvb3QgPSBfb3B0aW9ucyRvYnNlcnZlTXV0YXQgPT09IHZvaWQgMCA/IERPQ1VNRU5UIDogX29wdGlvbnMkb2JzZXJ2ZU11dGF0O1xuICBtbyA9IG5ldyBNVVRBVElPTl9PQlNFUlZFUihmdW5jdGlvbiAob2JqZWN0cykge1xuICAgIGlmIChkaXNhYmxlZCkgcmV0dXJuO1xuICAgIHZhciBkZWZhdWx0UHJlZml4ID0gZ2V0RGVmYXVsdFVzYWJsZVByZWZpeCgpO1xuICAgIHRvQXJyYXkob2JqZWN0cykuZm9yRWFjaChmdW5jdGlvbiAobXV0YXRpb25SZWNvcmQpIHtcbiAgICAgIGlmIChtdXRhdGlvblJlY29yZC50eXBlID09PSAnY2hpbGRMaXN0JyAmJiBtdXRhdGlvblJlY29yZC5hZGRlZE5vZGVzLmxlbmd0aCA+IDAgJiYgIWlzV2F0Y2hlZChtdXRhdGlvblJlY29yZC5hZGRlZE5vZGVzWzBdKSkge1xuICAgICAgICBpZiAoY29uZmlnLnNlYXJjaFBzZXVkb0VsZW1lbnRzKSB7XG4gICAgICAgICAgcHNldWRvRWxlbWVudHNDYWxsYmFjayhtdXRhdGlvblJlY29yZC50YXJnZXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJlZUNhbGxiYWNrKG11dGF0aW9uUmVjb3JkLnRhcmdldCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChtdXRhdGlvblJlY29yZC50eXBlID09PSAnYXR0cmlidXRlcycgJiYgbXV0YXRpb25SZWNvcmQudGFyZ2V0LnBhcmVudE5vZGUgJiYgY29uZmlnLnNlYXJjaFBzZXVkb0VsZW1lbnRzKSB7XG4gICAgICAgIHBzZXVkb0VsZW1lbnRzQ2FsbGJhY2sobXV0YXRpb25SZWNvcmQudGFyZ2V0LnBhcmVudE5vZGUpO1xuICAgICAgfVxuXG4gICAgICBpZiAobXV0YXRpb25SZWNvcmQudHlwZSA9PT0gJ2F0dHJpYnV0ZXMnICYmIGlzV2F0Y2hlZChtdXRhdGlvblJlY29yZC50YXJnZXQpICYmIH5BVFRSSUJVVEVTX1dBVENIRURfRk9SX01VVEFUSU9OLmluZGV4T2YobXV0YXRpb25SZWNvcmQuYXR0cmlidXRlTmFtZSkpIHtcbiAgICAgICAgaWYgKG11dGF0aW9uUmVjb3JkLmF0dHJpYnV0ZU5hbWUgPT09ICdjbGFzcycgJiYgaGFzUHJlZml4QW5kSWNvbihtdXRhdGlvblJlY29yZC50YXJnZXQpKSB7XG4gICAgICAgICAgdmFyIF9nZXRDYW5vbmljYWxJY29uID0gZ2V0Q2Fub25pY2FsSWNvbihjbGFzc0FycmF5KG11dGF0aW9uUmVjb3JkLnRhcmdldCkpLFxuICAgICAgICAgICAgICBwcmVmaXggPSBfZ2V0Q2Fub25pY2FsSWNvbi5wcmVmaXgsXG4gICAgICAgICAgICAgIGljb25OYW1lID0gX2dldENhbm9uaWNhbEljb24uaWNvbk5hbWU7XG5cbiAgICAgICAgICBtdXRhdGlvblJlY29yZC50YXJnZXQuc2V0QXR0cmlidXRlKERBVEFfUFJFRklYLCBwcmVmaXggfHwgZGVmYXVsdFByZWZpeCk7XG4gICAgICAgICAgaWYgKGljb25OYW1lKSBtdXRhdGlvblJlY29yZC50YXJnZXQuc2V0QXR0cmlidXRlKERBVEFfSUNPTiwgaWNvbk5hbWUpO1xuICAgICAgICB9IGVsc2UgaWYgKGhhc0JlZW5SZXBsYWNlZChtdXRhdGlvblJlY29yZC50YXJnZXQpKSB7XG4gICAgICAgICAgbm9kZUNhbGxiYWNrKG11dGF0aW9uUmVjb3JkLnRhcmdldCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG4gIGlmICghSVNfRE9NKSByZXR1cm47XG4gIG1vLm9ic2VydmUob2JzZXJ2ZU11dGF0aW9uc1Jvb3QsIHtcbiAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICBjaGFyYWN0ZXJEYXRhOiB0cnVlLFxuICAgIHN1YnRyZWU6IHRydWVcbiAgfSk7XG59XG5mdW5jdGlvbiBkaXNjb25uZWN0KCkge1xuICBpZiAoIW1vKSByZXR1cm47XG4gIG1vLmRpc2Nvbm5lY3QoKTtcbn1cblxuZnVuY3Rpb24gc3R5bGVQYXJzZXIgKG5vZGUpIHtcbiAgdmFyIHN0eWxlID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ3N0eWxlJyk7XG4gIHZhciB2YWwgPSBbXTtcblxuICBpZiAoc3R5bGUpIHtcbiAgICB2YWwgPSBzdHlsZS5zcGxpdCgnOycpLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBzdHlsZSkge1xuICAgICAgdmFyIHN0eWxlcyA9IHN0eWxlLnNwbGl0KCc6Jyk7XG4gICAgICB2YXIgcHJvcCA9IHN0eWxlc1swXTtcbiAgICAgIHZhciB2YWx1ZSA9IHN0eWxlcy5zbGljZSgxKTtcblxuICAgICAgaWYgKHByb3AgJiYgdmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICBhY2NbcHJvcF0gPSB2YWx1ZS5qb2luKCc6JykudHJpbSgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9KTtcbiAgfVxuXG4gIHJldHVybiB2YWw7XG59XG5cbmZ1bmN0aW9uIGNsYXNzUGFyc2VyIChub2RlKSB7XG4gIHZhciBleGlzdGluZ1ByZWZpeCA9IG5vZGUuZ2V0QXR0cmlidXRlKCdkYXRhLXByZWZpeCcpO1xuICB2YXIgZXhpc3RpbmdJY29uTmFtZSA9IG5vZGUuZ2V0QXR0cmlidXRlKCdkYXRhLWljb24nKTtcbiAgdmFyIGlubmVyVGV4dCA9IG5vZGUuaW5uZXJUZXh0ICE9PSB1bmRlZmluZWQgPyBub2RlLmlubmVyVGV4dC50cmltKCkgOiAnJztcbiAgdmFyIHZhbCA9IGdldENhbm9uaWNhbEljb24oY2xhc3NBcnJheShub2RlKSk7XG5cbiAgaWYgKCF2YWwucHJlZml4KSB7XG4gICAgdmFsLnByZWZpeCA9IGdldERlZmF1bHRVc2FibGVQcmVmaXgoKTtcbiAgfVxuXG4gIGlmIChleGlzdGluZ1ByZWZpeCAmJiBleGlzdGluZ0ljb25OYW1lKSB7XG4gICAgdmFsLnByZWZpeCA9IGV4aXN0aW5nUHJlZml4O1xuICAgIHZhbC5pY29uTmFtZSA9IGV4aXN0aW5nSWNvbk5hbWU7XG4gIH1cblxuICBpZiAodmFsLmljb25OYW1lICYmIHZhbC5wcmVmaXgpIHtcbiAgICByZXR1cm4gdmFsO1xuICB9XG5cbiAgaWYgKHZhbC5wcmVmaXggJiYgaW5uZXJUZXh0Lmxlbmd0aCA+IDApIHtcbiAgICB2YWwuaWNvbk5hbWUgPSBieUxpZ2F0dXJlKHZhbC5wcmVmaXgsIG5vZGUuaW5uZXJUZXh0KSB8fCBieVVuaWNvZGUodmFsLnByZWZpeCwgdG9IZXgobm9kZS5pbm5lclRleHQpKTtcbiAgfVxuXG4gIGlmICghdmFsLmljb25OYW1lICYmIGNvbmZpZy5hdXRvRmV0Y2hTdmcgJiYgbm9kZS5maXJzdENoaWxkICYmIG5vZGUuZmlyc3RDaGlsZC5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpIHtcbiAgICB2YWwuaWNvbk5hbWUgPSBub2RlLmZpcnN0Q2hpbGQuZGF0YTtcbiAgfVxuXG4gIHJldHVybiB2YWw7XG59XG5cbmZ1bmN0aW9uIGF0dHJpYnV0ZXNQYXJzZXIgKG5vZGUpIHtcbiAgdmFyIGV4dHJhQXR0cmlidXRlcyA9IHRvQXJyYXkobm9kZS5hdHRyaWJ1dGVzKS5yZWR1Y2UoZnVuY3Rpb24gKGFjYywgYXR0cikge1xuICAgIGlmIChhY2MubmFtZSAhPT0gJ2NsYXNzJyAmJiBhY2MubmFtZSAhPT0gJ3N0eWxlJykge1xuICAgICAgYWNjW2F0dHIubmFtZV0gPSBhdHRyLnZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9KTtcbiAgdmFyIHRpdGxlID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ3RpdGxlJyk7XG4gIHZhciB0aXRsZUlkID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtZmEtdGl0bGUtaWQnKTtcblxuICBpZiAoY29uZmlnLmF1dG9BMTF5KSB7XG4gICAgaWYgKHRpdGxlKSB7XG4gICAgICBleHRyYUF0dHJpYnV0ZXNbJ2FyaWEtbGFiZWxsZWRieSddID0gXCJcIi5jb25jYXQoY29uZmlnLnJlcGxhY2VtZW50Q2xhc3MsIFwiLXRpdGxlLVwiKS5jb25jYXQodGl0bGVJZCB8fCBuZXh0VW5pcXVlSWQoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGV4dHJhQXR0cmlidXRlc1snYXJpYS1oaWRkZW4nXSA9ICd0cnVlJztcbiAgICAgIGV4dHJhQXR0cmlidXRlc1snZm9jdXNhYmxlJ10gPSAnZmFsc2UnO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBleHRyYUF0dHJpYnV0ZXM7XG59XG5cbmZ1bmN0aW9uIGJsYW5rTWV0YSgpIHtcbiAgcmV0dXJuIHtcbiAgICBpY29uTmFtZTogbnVsbCxcbiAgICB0aXRsZTogbnVsbCxcbiAgICB0aXRsZUlkOiBudWxsLFxuICAgIHByZWZpeDogbnVsbCxcbiAgICB0cmFuc2Zvcm06IG1lYW5pbmdsZXNzVHJhbnNmb3JtLFxuICAgIHN5bWJvbDogZmFsc2UsXG4gICAgbWFzazoge1xuICAgICAgaWNvbk5hbWU6IG51bGwsXG4gICAgICBwcmVmaXg6IG51bGwsXG4gICAgICByZXN0OiBbXVxuICAgIH0sXG4gICAgbWFza0lkOiBudWxsLFxuICAgIGV4dHJhOiB7XG4gICAgICBjbGFzc2VzOiBbXSxcbiAgICAgIHN0eWxlczoge30sXG4gICAgICBhdHRyaWJ1dGVzOiB7fVxuICAgIH1cbiAgfTtcbn1cbmZ1bmN0aW9uIHBhcnNlTWV0YShub2RlKSB7XG4gIHZhciBwYXJzZXIgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHtcbiAgICBzdHlsZVBhcnNlcjogdHJ1ZVxuICB9O1xuXG4gIHZhciBfY2xhc3NQYXJzZXIgPSBjbGFzc1BhcnNlcihub2RlKSxcbiAgICAgIGljb25OYW1lID0gX2NsYXNzUGFyc2VyLmljb25OYW1lLFxuICAgICAgcHJlZml4ID0gX2NsYXNzUGFyc2VyLnByZWZpeCxcbiAgICAgIGV4dHJhQ2xhc3NlcyA9IF9jbGFzc1BhcnNlci5yZXN0O1xuXG4gIHZhciBleHRyYUF0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVzUGFyc2VyKG5vZGUpO1xuICB2YXIgcGx1Z2luTWV0YSA9IGNoYWluSG9va3MoJ3BhcnNlTm9kZUF0dHJpYnV0ZXMnLCB7fSwgbm9kZSk7XG4gIHZhciBleHRyYVN0eWxlcyA9IHBhcnNlci5zdHlsZVBhcnNlciA/IHN0eWxlUGFyc2VyKG5vZGUpIDogW107XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkMih7XG4gICAgaWNvbk5hbWU6IGljb25OYW1lLFxuICAgIHRpdGxlOiBub2RlLmdldEF0dHJpYnV0ZSgndGl0bGUnKSxcbiAgICB0aXRsZUlkOiBub2RlLmdldEF0dHJpYnV0ZSgnZGF0YS1mYS10aXRsZS1pZCcpLFxuICAgIHByZWZpeDogcHJlZml4LFxuICAgIHRyYW5zZm9ybTogbWVhbmluZ2xlc3NUcmFuc2Zvcm0sXG4gICAgbWFzazoge1xuICAgICAgaWNvbk5hbWU6IG51bGwsXG4gICAgICBwcmVmaXg6IG51bGwsXG4gICAgICByZXN0OiBbXVxuICAgIH0sXG4gICAgbWFza0lkOiBudWxsLFxuICAgIHN5bWJvbDogZmFsc2UsXG4gICAgZXh0cmE6IHtcbiAgICAgIGNsYXNzZXM6IGV4dHJhQ2xhc3NlcyxcbiAgICAgIHN0eWxlczogZXh0cmFTdHlsZXMsXG4gICAgICBhdHRyaWJ1dGVzOiBleHRyYUF0dHJpYnV0ZXNcbiAgICB9XG4gIH0sIHBsdWdpbk1ldGEpO1xufVxuXG52YXIgc3R5bGVzJDIgPSBuYW1lc3BhY2Uuc3R5bGVzO1xuXG5mdW5jdGlvbiBnZW5lcmF0ZU11dGF0aW9uKG5vZGUpIHtcbiAgdmFyIG5vZGVNZXRhID0gY29uZmlnLmF1dG9SZXBsYWNlU3ZnID09PSAnbmVzdCcgPyBwYXJzZU1ldGEobm9kZSwge1xuICAgIHN0eWxlUGFyc2VyOiBmYWxzZVxuICB9KSA6IHBhcnNlTWV0YShub2RlKTtcblxuICBpZiAofm5vZGVNZXRhLmV4dHJhLmNsYXNzZXMuaW5kZXhPZihMQVlFUlNfVEVYVF9DTEFTU05BTUUpKSB7XG4gICAgcmV0dXJuIGNhbGxQcm92aWRlZCgnZ2VuZXJhdGVMYXllcnNUZXh0Jywgbm9kZSwgbm9kZU1ldGEpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBjYWxsUHJvdmlkZWQoJ2dlbmVyYXRlU3ZnUmVwbGFjZW1lbnRNdXRhdGlvbicsIG5vZGUsIG5vZGVNZXRhKTtcbiAgfVxufVxuXG52YXIga25vd25QcmVmaXhlcyA9IG5ldyBTZXQoKTtcbkZBTUlMSUVTLm1hcChmdW5jdGlvbiAoZmFtaWx5KSB7XG4gIGtub3duUHJlZml4ZXMuYWRkKFwiZmEtXCIuY29uY2F0KGZhbWlseSkpO1xufSk7XG5PYmplY3Qua2V5cyhQUkVGSVhfVE9fU1RZTEVbRkFNSUxZX0NMQVNTSUNdKS5tYXAoa25vd25QcmVmaXhlcy5hZGQuYmluZChrbm93blByZWZpeGVzKSk7XG5PYmplY3Qua2V5cyhQUkVGSVhfVE9fU1RZTEVbRkFNSUxZX1NIQVJQXSkubWFwKGtub3duUHJlZml4ZXMuYWRkLmJpbmQoa25vd25QcmVmaXhlcykpO1xua25vd25QcmVmaXhlcyA9IF90b0NvbnN1bWFibGVBcnJheShrbm93blByZWZpeGVzKTtcblxuZnVuY3Rpb24gb25UcmVlKHJvb3QpIHtcbiAgdmFyIGNhbGxiYWNrID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiBudWxsO1xuICBpZiAoIUlTX0RPTSkgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICB2YXIgaHRtbENsYXNzTGlzdCA9IERPQ1VNRU5ULmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3Q7XG5cbiAgdmFyIGhjbEFkZCA9IGZ1bmN0aW9uIGhjbEFkZChzdWZmaXgpIHtcbiAgICByZXR1cm4gaHRtbENsYXNzTGlzdC5hZGQoXCJcIi5jb25jYXQoSFRNTF9DTEFTU19JMlNWR19CQVNFX0NMQVNTLCBcIi1cIikuY29uY2F0KHN1ZmZpeCkpO1xuICB9O1xuXG4gIHZhciBoY2xSZW1vdmUgPSBmdW5jdGlvbiBoY2xSZW1vdmUoc3VmZml4KSB7XG4gICAgcmV0dXJuIGh0bWxDbGFzc0xpc3QucmVtb3ZlKFwiXCIuY29uY2F0KEhUTUxfQ0xBU1NfSTJTVkdfQkFTRV9DTEFTUywgXCItXCIpLmNvbmNhdChzdWZmaXgpKTtcbiAgfTtcblxuICB2YXIgcHJlZml4ZXMgPSBjb25maWcuYXV0b0ZldGNoU3ZnID8ga25vd25QcmVmaXhlcyA6IEZBTUlMSUVTLm1hcChmdW5jdGlvbiAoZikge1xuICAgIHJldHVybiBcImZhLVwiLmNvbmNhdChmKTtcbiAgfSkuY29uY2F0KE9iamVjdC5rZXlzKHN0eWxlcyQyKSk7XG5cbiAgaWYgKCFwcmVmaXhlcy5pbmNsdWRlcygnZmEnKSkge1xuICAgIHByZWZpeGVzLnB1c2goJ2ZhJyk7XG4gIH1cblxuICB2YXIgcHJlZml4ZXNEb21RdWVyeSA9IFtcIi5cIi5jb25jYXQoTEFZRVJTX1RFWFRfQ0xBU1NOQU1FLCBcIjpub3QoW1wiKS5jb25jYXQoREFUQV9GQV9JMlNWRywgXCJdKVwiKV0uY29uY2F0KHByZWZpeGVzLm1hcChmdW5jdGlvbiAocCkge1xuICAgIHJldHVybiBcIi5cIi5jb25jYXQocCwgXCI6bm90KFtcIikuY29uY2F0KERBVEFfRkFfSTJTVkcsIFwiXSlcIik7XG4gIH0pKS5qb2luKCcsICcpO1xuXG4gIGlmIChwcmVmaXhlc0RvbVF1ZXJ5Lmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxuXG4gIHZhciBjYW5kaWRhdGVzID0gW107XG5cbiAgdHJ5IHtcbiAgICBjYW5kaWRhdGVzID0gdG9BcnJheShyb290LnF1ZXJ5U2VsZWN0b3JBbGwocHJlZml4ZXNEb21RdWVyeSkpO1xuICB9IGNhdGNoIChlKSB7Ly8gbm9vcFxuICB9XG5cbiAgaWYgKGNhbmRpZGF0ZXMubGVuZ3RoID4gMCkge1xuICAgIGhjbEFkZCgncGVuZGluZycpO1xuICAgIGhjbFJlbW92ZSgnY29tcGxldGUnKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gIH1cblxuICB2YXIgbWFyayA9IHBlcmYuYmVnaW4oJ29uVHJlZScpO1xuICB2YXIgbXV0YXRpb25zID0gY2FuZGlkYXRlcy5yZWR1Y2UoZnVuY3Rpb24gKGFjYywgbm9kZSkge1xuICAgIHRyeSB7XG4gICAgICB2YXIgbXV0YXRpb24gPSBnZW5lcmF0ZU11dGF0aW9uKG5vZGUpO1xuXG4gICAgICBpZiAobXV0YXRpb24pIHtcbiAgICAgICAgYWNjLnB1c2gobXV0YXRpb24pO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmICghUFJPRFVDVElPTikge1xuICAgICAgICBpZiAoZS5uYW1lID09PSAnTWlzc2luZ0ljb24nKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBhY2M7XG4gIH0sIFtdKTtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICBQcm9taXNlLmFsbChtdXRhdGlvbnMpLnRoZW4oZnVuY3Rpb24gKHJlc29sdmVkTXV0YXRpb25zKSB7XG4gICAgICBwZXJmb3JtKHJlc29sdmVkTXV0YXRpb25zLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGhjbEFkZCgnYWN0aXZlJyk7XG4gICAgICAgIGhjbEFkZCgnY29tcGxldGUnKTtcbiAgICAgICAgaGNsUmVtb3ZlKCdwZW5kaW5nJyk7XG4gICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIGNhbGxiYWNrKCk7XG4gICAgICAgIG1hcmsoKTtcbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfSk7XG4gICAgfSkuY2F0Y2goZnVuY3Rpb24gKGUpIHtcbiAgICAgIG1hcmsoKTtcbiAgICAgIHJlamVjdChlKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIG9uTm9kZShub2RlKSB7XG4gIHZhciBjYWxsYmFjayA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogbnVsbDtcbiAgZ2VuZXJhdGVNdXRhdGlvbihub2RlKS50aGVuKGZ1bmN0aW9uIChtdXRhdGlvbikge1xuICAgIGlmIChtdXRhdGlvbikge1xuICAgICAgcGVyZm9ybShbbXV0YXRpb25dLCBjYWxsYmFjayk7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZUljb25zKG5leHQpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChtYXliZUljb25EZWZpbml0aW9uKSB7XG4gICAgdmFyIHBhcmFtcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307XG4gICAgdmFyIGljb25EZWZpbml0aW9uID0gKG1heWJlSWNvbkRlZmluaXRpb24gfHwge30pLmljb24gPyBtYXliZUljb25EZWZpbml0aW9uIDogZmluZEljb25EZWZpbml0aW9uKG1heWJlSWNvbkRlZmluaXRpb24gfHwge30pO1xuICAgIHZhciBtYXNrID0gcGFyYW1zLm1hc2s7XG5cbiAgICBpZiAobWFzaykge1xuICAgICAgbWFzayA9IChtYXNrIHx8IHt9KS5pY29uID8gbWFzayA6IGZpbmRJY29uRGVmaW5pdGlvbihtYXNrIHx8IHt9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV4dChpY29uRGVmaW5pdGlvbiwgX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIHBhcmFtcyksIHt9LCB7XG4gICAgICBtYXNrOiBtYXNrXG4gICAgfSkpO1xuICB9O1xufVxuXG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKGljb25EZWZpbml0aW9uKSB7XG4gIHZhciBwYXJhbXMgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuICB2YXIgX3BhcmFtcyR0cmFuc2Zvcm0gPSBwYXJhbXMudHJhbnNmb3JtLFxuICAgICAgdHJhbnNmb3JtID0gX3BhcmFtcyR0cmFuc2Zvcm0gPT09IHZvaWQgMCA/IG1lYW5pbmdsZXNzVHJhbnNmb3JtIDogX3BhcmFtcyR0cmFuc2Zvcm0sXG4gICAgICBfcGFyYW1zJHN5bWJvbCA9IHBhcmFtcy5zeW1ib2wsXG4gICAgICBzeW1ib2wgPSBfcGFyYW1zJHN5bWJvbCA9PT0gdm9pZCAwID8gZmFsc2UgOiBfcGFyYW1zJHN5bWJvbCxcbiAgICAgIF9wYXJhbXMkbWFzayA9IHBhcmFtcy5tYXNrLFxuICAgICAgbWFzayA9IF9wYXJhbXMkbWFzayA9PT0gdm9pZCAwID8gbnVsbCA6IF9wYXJhbXMkbWFzayxcbiAgICAgIF9wYXJhbXMkbWFza0lkID0gcGFyYW1zLm1hc2tJZCxcbiAgICAgIG1hc2tJZCA9IF9wYXJhbXMkbWFza0lkID09PSB2b2lkIDAgPyBudWxsIDogX3BhcmFtcyRtYXNrSWQsXG4gICAgICBfcGFyYW1zJHRpdGxlID0gcGFyYW1zLnRpdGxlLFxuICAgICAgdGl0bGUgPSBfcGFyYW1zJHRpdGxlID09PSB2b2lkIDAgPyBudWxsIDogX3BhcmFtcyR0aXRsZSxcbiAgICAgIF9wYXJhbXMkdGl0bGVJZCA9IHBhcmFtcy50aXRsZUlkLFxuICAgICAgdGl0bGVJZCA9IF9wYXJhbXMkdGl0bGVJZCA9PT0gdm9pZCAwID8gbnVsbCA6IF9wYXJhbXMkdGl0bGVJZCxcbiAgICAgIF9wYXJhbXMkY2xhc3NlcyA9IHBhcmFtcy5jbGFzc2VzLFxuICAgICAgY2xhc3NlcyA9IF9wYXJhbXMkY2xhc3NlcyA9PT0gdm9pZCAwID8gW10gOiBfcGFyYW1zJGNsYXNzZXMsXG4gICAgICBfcGFyYW1zJGF0dHJpYnV0ZXMgPSBwYXJhbXMuYXR0cmlidXRlcyxcbiAgICAgIGF0dHJpYnV0ZXMgPSBfcGFyYW1zJGF0dHJpYnV0ZXMgPT09IHZvaWQgMCA/IHt9IDogX3BhcmFtcyRhdHRyaWJ1dGVzLFxuICAgICAgX3BhcmFtcyRzdHlsZXMgPSBwYXJhbXMuc3R5bGVzLFxuICAgICAgc3R5bGVzID0gX3BhcmFtcyRzdHlsZXMgPT09IHZvaWQgMCA/IHt9IDogX3BhcmFtcyRzdHlsZXM7XG4gIGlmICghaWNvbkRlZmluaXRpb24pIHJldHVybjtcbiAgdmFyIHByZWZpeCA9IGljb25EZWZpbml0aW9uLnByZWZpeCxcbiAgICAgIGljb25OYW1lID0gaWNvbkRlZmluaXRpb24uaWNvbk5hbWUsXG4gICAgICBpY29uID0gaWNvbkRlZmluaXRpb24uaWNvbjtcbiAgcmV0dXJuIGRvbVZhcmlhbnRzKF9vYmplY3RTcHJlYWQyKHtcbiAgICB0eXBlOiAnaWNvbidcbiAgfSwgaWNvbkRlZmluaXRpb24pLCBmdW5jdGlvbiAoKSB7XG4gICAgY2FsbEhvb2tzKCdiZWZvcmVET01FbGVtZW50Q3JlYXRpb24nLCB7XG4gICAgICBpY29uRGVmaW5pdGlvbjogaWNvbkRlZmluaXRpb24sXG4gICAgICBwYXJhbXM6IHBhcmFtc1xuICAgIH0pO1xuXG4gICAgaWYgKGNvbmZpZy5hdXRvQTExeSkge1xuICAgICAgaWYgKHRpdGxlKSB7XG4gICAgICAgIGF0dHJpYnV0ZXNbJ2FyaWEtbGFiZWxsZWRieSddID0gXCJcIi5jb25jYXQoY29uZmlnLnJlcGxhY2VtZW50Q2xhc3MsIFwiLXRpdGxlLVwiKS5jb25jYXQodGl0bGVJZCB8fCBuZXh0VW5pcXVlSWQoKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhdHRyaWJ1dGVzWydhcmlhLWhpZGRlbiddID0gJ3RydWUnO1xuICAgICAgICBhdHRyaWJ1dGVzWydmb2N1c2FibGUnXSA9ICdmYWxzZSc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG1ha2VJbmxpbmVTdmdBYnN0cmFjdCh7XG4gICAgICBpY29uczoge1xuICAgICAgICBtYWluOiBhc0ZvdW5kSWNvbihpY29uKSxcbiAgICAgICAgbWFzazogbWFzayA/IGFzRm91bmRJY29uKG1hc2suaWNvbikgOiB7XG4gICAgICAgICAgZm91bmQ6IGZhbHNlLFxuICAgICAgICAgIHdpZHRoOiBudWxsLFxuICAgICAgICAgIGhlaWdodDogbnVsbCxcbiAgICAgICAgICBpY29uOiB7fVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcHJlZml4OiBwcmVmaXgsXG4gICAgICBpY29uTmFtZTogaWNvbk5hbWUsXG4gICAgICB0cmFuc2Zvcm06IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBtZWFuaW5nbGVzc1RyYW5zZm9ybSksIHRyYW5zZm9ybSksXG4gICAgICBzeW1ib2w6IHN5bWJvbCxcbiAgICAgIHRpdGxlOiB0aXRsZSxcbiAgICAgIG1hc2tJZDogbWFza0lkLFxuICAgICAgdGl0bGVJZDogdGl0bGVJZCxcbiAgICAgIGV4dHJhOiB7XG4gICAgICAgIGF0dHJpYnV0ZXM6IGF0dHJpYnV0ZXMsXG4gICAgICAgIHN0eWxlczogc3R5bGVzLFxuICAgICAgICBjbGFzc2VzOiBjbGFzc2VzXG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufTtcbnZhciBSZXBsYWNlRWxlbWVudHMgPSB7XG4gIG1peG91dDogZnVuY3Rpb24gbWl4b3V0KCkge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uOiByZXNvbHZlSWNvbnMocmVuZGVyKVxuICAgIH07XG4gIH0sXG4gIGhvb2tzOiBmdW5jdGlvbiBob29rcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbXV0YXRpb25PYnNlcnZlckNhbGxiYWNrczogZnVuY3Rpb24gbXV0YXRpb25PYnNlcnZlckNhbGxiYWNrcyhhY2N1bXVsYXRvcikge1xuICAgICAgICBhY2N1bXVsYXRvci50cmVlQ2FsbGJhY2sgPSBvblRyZWU7XG4gICAgICAgIGFjY3VtdWxhdG9yLm5vZGVDYWxsYmFjayA9IG9uTm9kZTtcbiAgICAgICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIHByb3ZpZGVzOiBmdW5jdGlvbiBwcm92aWRlcyhwcm92aWRlcnMkJDEpIHtcbiAgICBwcm92aWRlcnMkJDEuaTJzdmcgPSBmdW5jdGlvbiAocGFyYW1zKSB7XG4gICAgICB2YXIgX3BhcmFtcyRub2RlID0gcGFyYW1zLm5vZGUsXG4gICAgICAgICAgbm9kZSA9IF9wYXJhbXMkbm9kZSA9PT0gdm9pZCAwID8gRE9DVU1FTlQgOiBfcGFyYW1zJG5vZGUsXG4gICAgICAgICAgX3BhcmFtcyRjYWxsYmFjayA9IHBhcmFtcy5jYWxsYmFjayxcbiAgICAgICAgICBjYWxsYmFjayA9IF9wYXJhbXMkY2FsbGJhY2sgPT09IHZvaWQgMCA/IGZ1bmN0aW9uICgpIHt9IDogX3BhcmFtcyRjYWxsYmFjaztcbiAgICAgIHJldHVybiBvblRyZWUobm9kZSwgY2FsbGJhY2spO1xuICAgIH07XG5cbiAgICBwcm92aWRlcnMkJDEuZ2VuZXJhdGVTdmdSZXBsYWNlbWVudE11dGF0aW9uID0gZnVuY3Rpb24gKG5vZGUsIG5vZGVNZXRhKSB7XG4gICAgICB2YXIgaWNvbk5hbWUgPSBub2RlTWV0YS5pY29uTmFtZSxcbiAgICAgICAgICB0aXRsZSA9IG5vZGVNZXRhLnRpdGxlLFxuICAgICAgICAgIHRpdGxlSWQgPSBub2RlTWV0YS50aXRsZUlkLFxuICAgICAgICAgIHByZWZpeCA9IG5vZGVNZXRhLnByZWZpeCxcbiAgICAgICAgICB0cmFuc2Zvcm0gPSBub2RlTWV0YS50cmFuc2Zvcm0sXG4gICAgICAgICAgc3ltYm9sID0gbm9kZU1ldGEuc3ltYm9sLFxuICAgICAgICAgIG1hc2sgPSBub2RlTWV0YS5tYXNrLFxuICAgICAgICAgIG1hc2tJZCA9IG5vZGVNZXRhLm1hc2tJZCxcbiAgICAgICAgICBleHRyYSA9IG5vZGVNZXRhLmV4dHJhO1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgUHJvbWlzZS5hbGwoW2ZpbmRJY29uKGljb25OYW1lLCBwcmVmaXgpLCBtYXNrLmljb25OYW1lID8gZmluZEljb24obWFzay5pY29uTmFtZSwgbWFzay5wcmVmaXgpIDogUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgICAgICBmb3VuZDogZmFsc2UsXG4gICAgICAgICAgd2lkdGg6IDUxMixcbiAgICAgICAgICBoZWlnaHQ6IDUxMixcbiAgICAgICAgICBpY29uOiB7fVxuICAgICAgICB9KV0pLnRoZW4oZnVuY3Rpb24gKF9yZWYpIHtcbiAgICAgICAgICB2YXIgX3JlZjIgPSBfc2xpY2VkVG9BcnJheShfcmVmLCAyKSxcbiAgICAgICAgICAgICAgbWFpbiA9IF9yZWYyWzBdLFxuICAgICAgICAgICAgICBtYXNrID0gX3JlZjJbMV07XG5cbiAgICAgICAgICByZXNvbHZlKFtub2RlLCBtYWtlSW5saW5lU3ZnQWJzdHJhY3Qoe1xuICAgICAgICAgICAgaWNvbnM6IHtcbiAgICAgICAgICAgICAgbWFpbjogbWFpbixcbiAgICAgICAgICAgICAgbWFzazogbWFza1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHByZWZpeDogcHJlZml4LFxuICAgICAgICAgICAgaWNvbk5hbWU6IGljb25OYW1lLFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2Zvcm0sXG4gICAgICAgICAgICBzeW1ib2w6IHN5bWJvbCxcbiAgICAgICAgICAgIG1hc2tJZDogbWFza0lkLFxuICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxuICAgICAgICAgICAgdGl0bGVJZDogdGl0bGVJZCxcbiAgICAgICAgICAgIGV4dHJhOiBleHRyYSxcbiAgICAgICAgICAgIHdhdGNoYWJsZTogdHJ1ZVxuICAgICAgICAgIH0pXSk7XG4gICAgICAgIH0pLmNhdGNoKHJlamVjdCk7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgcHJvdmlkZXJzJCQxLmdlbmVyYXRlQWJzdHJhY3RJY29uID0gZnVuY3Rpb24gKF9yZWYzKSB7XG4gICAgICB2YXIgY2hpbGRyZW4gPSBfcmVmMy5jaGlsZHJlbixcbiAgICAgICAgICBhdHRyaWJ1dGVzID0gX3JlZjMuYXR0cmlidXRlcyxcbiAgICAgICAgICBtYWluID0gX3JlZjMubWFpbixcbiAgICAgICAgICB0cmFuc2Zvcm0gPSBfcmVmMy50cmFuc2Zvcm0sXG4gICAgICAgICAgc3R5bGVzID0gX3JlZjMuc3R5bGVzO1xuICAgICAgdmFyIHN0eWxlU3RyaW5nID0gam9pblN0eWxlcyhzdHlsZXMpO1xuXG4gICAgICBpZiAoc3R5bGVTdHJpbmcubGVuZ3RoID4gMCkge1xuICAgICAgICBhdHRyaWJ1dGVzWydzdHlsZSddID0gc3R5bGVTdHJpbmc7XG4gICAgICB9XG5cbiAgICAgIHZhciBuZXh0Q2hpbGQ7XG5cbiAgICAgIGlmICh0cmFuc2Zvcm1Jc01lYW5pbmdmdWwodHJhbnNmb3JtKSkge1xuICAgICAgICBuZXh0Q2hpbGQgPSBjYWxsUHJvdmlkZWQoJ2dlbmVyYXRlQWJzdHJhY3RUcmFuc2Zvcm1Hcm91cGluZycsIHtcbiAgICAgICAgICBtYWluOiBtYWluLFxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNmb3JtLFxuICAgICAgICAgIGNvbnRhaW5lcldpZHRoOiBtYWluLndpZHRoLFxuICAgICAgICAgIGljb25XaWR0aDogbWFpbi53aWR0aFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgY2hpbGRyZW4ucHVzaChuZXh0Q2hpbGQgfHwgbWFpbi5pY29uKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcbiAgICAgICAgYXR0cmlidXRlczogYXR0cmlidXRlc1xuICAgICAgfTtcbiAgICB9O1xuICB9XG59O1xuXG52YXIgTGF5ZXJzID0ge1xuICBtaXhvdXQ6IGZ1bmN0aW9uIG1peG91dCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbGF5ZXI6IGZ1bmN0aW9uIGxheWVyKGFzc2VtYmxlcikge1xuICAgICAgICB2YXIgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcbiAgICAgICAgdmFyIF9wYXJhbXMkY2xhc3NlcyA9IHBhcmFtcy5jbGFzc2VzLFxuICAgICAgICAgICAgY2xhc3NlcyA9IF9wYXJhbXMkY2xhc3NlcyA9PT0gdm9pZCAwID8gW10gOiBfcGFyYW1zJGNsYXNzZXM7XG4gICAgICAgIHJldHVybiBkb21WYXJpYW50cyh7XG4gICAgICAgICAgdHlwZTogJ2xheWVyJ1xuICAgICAgICB9LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgY2FsbEhvb2tzKCdiZWZvcmVET01FbGVtZW50Q3JlYXRpb24nLCB7XG4gICAgICAgICAgICBhc3NlbWJsZXI6IGFzc2VtYmxlcixcbiAgICAgICAgICAgIHBhcmFtczogcGFyYW1zXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdmFyIGNoaWxkcmVuID0gW107XG4gICAgICAgICAgYXNzZW1ibGVyKGZ1bmN0aW9uIChhcmdzKSB7XG4gICAgICAgICAgICBBcnJheS5pc0FycmF5KGFyZ3MpID8gYXJncy5tYXAoZnVuY3Rpb24gKGEpIHtcbiAgICAgICAgICAgICAgY2hpbGRyZW4gPSBjaGlsZHJlbi5jb25jYXQoYS5hYnN0cmFjdCk7XG4gICAgICAgICAgICB9KSA6IGNoaWxkcmVuID0gY2hpbGRyZW4uY29uY2F0KGFyZ3MuYWJzdHJhY3QpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiBbe1xuICAgICAgICAgICAgdGFnOiAnc3BhbicsXG4gICAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICAgIGNsYXNzOiBbXCJcIi5jb25jYXQoY29uZmlnLmNzc1ByZWZpeCwgXCItbGF5ZXJzXCIpXS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KGNsYXNzZXMpKS5qb2luKCcgJylcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICAgICAgICB9XTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxufTtcblxudmFyIExheWVyc0NvdW50ZXIgPSB7XG4gIG1peG91dDogZnVuY3Rpb24gbWl4b3V0KCkge1xuICAgIHJldHVybiB7XG4gICAgICBjb3VudGVyOiBmdW5jdGlvbiBjb3VudGVyKGNvbnRlbnQpIHtcbiAgICAgICAgdmFyIHBhcmFtcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307XG4gICAgICAgIHZhciBfcGFyYW1zJHRpdGxlID0gcGFyYW1zLnRpdGxlLFxuICAgICAgICAgICAgdGl0bGUgPSBfcGFyYW1zJHRpdGxlID09PSB2b2lkIDAgPyBudWxsIDogX3BhcmFtcyR0aXRsZSxcbiAgICAgICAgICAgIF9wYXJhbXMkY2xhc3NlcyA9IHBhcmFtcy5jbGFzc2VzLFxuICAgICAgICAgICAgY2xhc3NlcyA9IF9wYXJhbXMkY2xhc3NlcyA9PT0gdm9pZCAwID8gW10gOiBfcGFyYW1zJGNsYXNzZXMsXG4gICAgICAgICAgICBfcGFyYW1zJGF0dHJpYnV0ZXMgPSBwYXJhbXMuYXR0cmlidXRlcyxcbiAgICAgICAgICAgIGF0dHJpYnV0ZXMgPSBfcGFyYW1zJGF0dHJpYnV0ZXMgPT09IHZvaWQgMCA/IHt9IDogX3BhcmFtcyRhdHRyaWJ1dGVzLFxuICAgICAgICAgICAgX3BhcmFtcyRzdHlsZXMgPSBwYXJhbXMuc3R5bGVzLFxuICAgICAgICAgICAgc3R5bGVzID0gX3BhcmFtcyRzdHlsZXMgPT09IHZvaWQgMCA/IHt9IDogX3BhcmFtcyRzdHlsZXM7XG4gICAgICAgIHJldHVybiBkb21WYXJpYW50cyh7XG4gICAgICAgICAgdHlwZTogJ2NvdW50ZXInLFxuICAgICAgICAgIGNvbnRlbnQ6IGNvbnRlbnRcbiAgICAgICAgfSwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGNhbGxIb29rcygnYmVmb3JlRE9NRWxlbWVudENyZWF0aW9uJywge1xuICAgICAgICAgICAgY29udGVudDogY29udGVudCxcbiAgICAgICAgICAgIHBhcmFtczogcGFyYW1zXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIG1ha2VMYXllcnNDb3VudGVyQWJzdHJhY3Qoe1xuICAgICAgICAgICAgY29udGVudDogY29udGVudC50b1N0cmluZygpLFxuICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxuICAgICAgICAgICAgZXh0cmE6IHtcbiAgICAgICAgICAgICAgYXR0cmlidXRlczogYXR0cmlidXRlcyxcbiAgICAgICAgICAgICAgc3R5bGVzOiBzdHlsZXMsXG4gICAgICAgICAgICAgIGNsYXNzZXM6IFtcIlwiLmNvbmNhdChjb25maWcuY3NzUHJlZml4LCBcIi1sYXllcnMtY291bnRlclwiKV0uY29uY2F0KF90b0NvbnN1bWFibGVBcnJheShjbGFzc2VzKSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxufTtcblxudmFyIExheWVyc1RleHQgPSB7XG4gIG1peG91dDogZnVuY3Rpb24gbWl4b3V0KCkge1xuICAgIHJldHVybiB7XG4gICAgICB0ZXh0OiBmdW5jdGlvbiB0ZXh0KGNvbnRlbnQpIHtcbiAgICAgICAgdmFyIHBhcmFtcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307XG4gICAgICAgIHZhciBfcGFyYW1zJHRyYW5zZm9ybSA9IHBhcmFtcy50cmFuc2Zvcm0sXG4gICAgICAgICAgICB0cmFuc2Zvcm0gPSBfcGFyYW1zJHRyYW5zZm9ybSA9PT0gdm9pZCAwID8gbWVhbmluZ2xlc3NUcmFuc2Zvcm0gOiBfcGFyYW1zJHRyYW5zZm9ybSxcbiAgICAgICAgICAgIF9wYXJhbXMkdGl0bGUgPSBwYXJhbXMudGl0bGUsXG4gICAgICAgICAgICB0aXRsZSA9IF9wYXJhbXMkdGl0bGUgPT09IHZvaWQgMCA/IG51bGwgOiBfcGFyYW1zJHRpdGxlLFxuICAgICAgICAgICAgX3BhcmFtcyRjbGFzc2VzID0gcGFyYW1zLmNsYXNzZXMsXG4gICAgICAgICAgICBjbGFzc2VzID0gX3BhcmFtcyRjbGFzc2VzID09PSB2b2lkIDAgPyBbXSA6IF9wYXJhbXMkY2xhc3NlcyxcbiAgICAgICAgICAgIF9wYXJhbXMkYXR0cmlidXRlcyA9IHBhcmFtcy5hdHRyaWJ1dGVzLFxuICAgICAgICAgICAgYXR0cmlidXRlcyA9IF9wYXJhbXMkYXR0cmlidXRlcyA9PT0gdm9pZCAwID8ge30gOiBfcGFyYW1zJGF0dHJpYnV0ZXMsXG4gICAgICAgICAgICBfcGFyYW1zJHN0eWxlcyA9IHBhcmFtcy5zdHlsZXMsXG4gICAgICAgICAgICBzdHlsZXMgPSBfcGFyYW1zJHN0eWxlcyA9PT0gdm9pZCAwID8ge30gOiBfcGFyYW1zJHN0eWxlcztcbiAgICAgICAgcmV0dXJuIGRvbVZhcmlhbnRzKHtcbiAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgY29udGVudDogY29udGVudFxuICAgICAgICB9LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgY2FsbEhvb2tzKCdiZWZvcmVET01FbGVtZW50Q3JlYXRpb24nLCB7XG4gICAgICAgICAgICBjb250ZW50OiBjb250ZW50LFxuICAgICAgICAgICAgcGFyYW1zOiBwYXJhbXNcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gbWFrZUxheWVyc1RleHRBYnN0cmFjdCh7XG4gICAgICAgICAgICBjb250ZW50OiBjb250ZW50LFxuICAgICAgICAgICAgdHJhbnNmb3JtOiBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgbWVhbmluZ2xlc3NUcmFuc2Zvcm0pLCB0cmFuc2Zvcm0pLFxuICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxuICAgICAgICAgICAgZXh0cmE6IHtcbiAgICAgICAgICAgICAgYXR0cmlidXRlczogYXR0cmlidXRlcyxcbiAgICAgICAgICAgICAgc3R5bGVzOiBzdHlsZXMsXG4gICAgICAgICAgICAgIGNsYXNzZXM6IFtcIlwiLmNvbmNhdChjb25maWcuY3NzUHJlZml4LCBcIi1sYXllcnMtdGV4dFwiKV0uY29uY2F0KF90b0NvbnN1bWFibGVBcnJheShjbGFzc2VzKSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgfSxcbiAgcHJvdmlkZXM6IGZ1bmN0aW9uIHByb3ZpZGVzKHByb3ZpZGVycyQkMSkge1xuICAgIHByb3ZpZGVycyQkMS5nZW5lcmF0ZUxheWVyc1RleHQgPSBmdW5jdGlvbiAobm9kZSwgbm9kZU1ldGEpIHtcbiAgICAgIHZhciB0aXRsZSA9IG5vZGVNZXRhLnRpdGxlLFxuICAgICAgICAgIHRyYW5zZm9ybSA9IG5vZGVNZXRhLnRyYW5zZm9ybSxcbiAgICAgICAgICBleHRyYSA9IG5vZGVNZXRhLmV4dHJhO1xuICAgICAgdmFyIHdpZHRoID0gbnVsbDtcbiAgICAgIHZhciBoZWlnaHQgPSBudWxsO1xuXG4gICAgICBpZiAoSVNfSUUpIHtcbiAgICAgICAgdmFyIGNvbXB1dGVkRm9udFNpemUgPSBwYXJzZUludChnZXRDb21wdXRlZFN0eWxlKG5vZGUpLmZvbnRTaXplLCAxMCk7XG4gICAgICAgIHZhciBib3VuZGluZ0NsaWVudFJlY3QgPSBub2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICB3aWR0aCA9IGJvdW5kaW5nQ2xpZW50UmVjdC53aWR0aCAvIGNvbXB1dGVkRm9udFNpemU7XG4gICAgICAgIGhlaWdodCA9IGJvdW5kaW5nQ2xpZW50UmVjdC5oZWlnaHQgLyBjb21wdXRlZEZvbnRTaXplO1xuICAgICAgfVxuXG4gICAgICBpZiAoY29uZmlnLmF1dG9BMTF5ICYmICF0aXRsZSkge1xuICAgICAgICBleHRyYS5hdHRyaWJ1dGVzWydhcmlhLWhpZGRlbiddID0gJ3RydWUnO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtub2RlLCBtYWtlTGF5ZXJzVGV4dEFic3RyYWN0KHtcbiAgICAgICAgY29udGVudDogbm9kZS5pbm5lckhUTUwsXG4gICAgICAgIHdpZHRoOiB3aWR0aCxcbiAgICAgICAgaGVpZ2h0OiBoZWlnaHQsXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNmb3JtLFxuICAgICAgICB0aXRsZTogdGl0bGUsXG4gICAgICAgIGV4dHJhOiBleHRyYSxcbiAgICAgICAgd2F0Y2hhYmxlOiB0cnVlXG4gICAgICB9KV0pO1xuICAgIH07XG4gIH1cbn07XG5cbnZhciBDTEVBTl9DT05URU5UX1BBVFRFUk4gPSBuZXcgUmVnRXhwKFwiXFxcIlwiLCAndWcnKTtcbnZhciBTRUNPTkRBUllfVU5JQ09ERV9SQU5HRSA9IFsxMTA1OTIwLCAxMTEyMzE5XTtcbmZ1bmN0aW9uIGhleFZhbHVlRnJvbUNvbnRlbnQoY29udGVudCkge1xuICB2YXIgY2xlYW5lZCA9IGNvbnRlbnQucmVwbGFjZShDTEVBTl9DT05URU5UX1BBVFRFUk4sICcnKTtcbiAgdmFyIGNvZGVQb2ludCA9IGNvZGVQb2ludEF0KGNsZWFuZWQsIDApO1xuICB2YXIgaXNQcmVwZW5kVGVuID0gY29kZVBvaW50ID49IFNFQ09OREFSWV9VTklDT0RFX1JBTkdFWzBdICYmIGNvZGVQb2ludCA8PSBTRUNPTkRBUllfVU5JQ09ERV9SQU5HRVsxXTtcbiAgdmFyIGlzRG91YmxlZCA9IGNsZWFuZWQubGVuZ3RoID09PSAyID8gY2xlYW5lZFswXSA9PT0gY2xlYW5lZFsxXSA6IGZhbHNlO1xuICByZXR1cm4ge1xuICAgIHZhbHVlOiBpc0RvdWJsZWQgPyB0b0hleChjbGVhbmVkWzBdKSA6IHRvSGV4KGNsZWFuZWQpLFxuICAgIGlzU2Vjb25kYXJ5OiBpc1ByZXBlbmRUZW4gfHwgaXNEb3VibGVkXG4gIH07XG59XG5cbmZ1bmN0aW9uIHJlcGxhY2VGb3JQb3NpdGlvbihub2RlLCBwb3NpdGlvbikge1xuICB2YXIgcGVuZGluZ0F0dHJpYnV0ZSA9IFwiXCIuY29uY2F0KERBVEFfRkFfUFNFVURPX0VMRU1FTlRfUEVORElORykuY29uY2F0KHBvc2l0aW9uLnJlcGxhY2UoJzonLCAnLScpKTtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICBpZiAobm9kZS5nZXRBdHRyaWJ1dGUocGVuZGluZ0F0dHJpYnV0ZSkgIT09IG51bGwpIHtcbiAgICAgIC8vIFRoaXMgbm9kZSBpcyBhbHJlYWR5IGJlaW5nIHByb2Nlc3NlZFxuICAgICAgcmV0dXJuIHJlc29sdmUoKTtcbiAgICB9XG5cbiAgICB2YXIgY2hpbGRyZW4gPSB0b0FycmF5KG5vZGUuY2hpbGRyZW4pO1xuICAgIHZhciBhbHJlYWR5UHJvY2Vzc2VkUHNldWRvRWxlbWVudCA9IGNoaWxkcmVuLmZpbHRlcihmdW5jdGlvbiAoYykge1xuICAgICAgcmV0dXJuIGMuZ2V0QXR0cmlidXRlKERBVEFfRkFfUFNFVURPX0VMRU1FTlQpID09PSBwb3NpdGlvbjtcbiAgICB9KVswXTtcbiAgICB2YXIgc3R5bGVzID0gV0lORE9XLmdldENvbXB1dGVkU3R5bGUobm9kZSwgcG9zaXRpb24pO1xuICAgIHZhciBmb250RmFtaWx5ID0gc3R5bGVzLmdldFByb3BlcnR5VmFsdWUoJ2ZvbnQtZmFtaWx5JykubWF0Y2goRk9OVF9GQU1JTFlfUEFUVEVSTik7XG4gICAgdmFyIGZvbnRXZWlnaHQgPSBzdHlsZXMuZ2V0UHJvcGVydHlWYWx1ZSgnZm9udC13ZWlnaHQnKTtcbiAgICB2YXIgY29udGVudCA9IHN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdjb250ZW50Jyk7XG5cbiAgICBpZiAoYWxyZWFkeVByb2Nlc3NlZFBzZXVkb0VsZW1lbnQgJiYgIWZvbnRGYW1pbHkpIHtcbiAgICAgIC8vIElmIHdlJ3ZlIGFscmVhZHkgcHJvY2Vzc2VkIGl0IGJ1dCB0aGUgY3VycmVudCBjb21wdXRlZCBzdHlsZSBkb2VzIG5vdCByZXN1bHQgaW4gYSBmb250LWZhbWlseSxcbiAgICAgIC8vIHRoYXQgcHJvYmFibHkgbWVhbnMgdGhhdCBhIGNsYXNzIG5hbWUgdGhhdCB3YXMgcHJldmlvdXNseSBwcmVzZW50IHRvIG1ha2UgdGhlIGljb24gaGFzIGJlZW5cbiAgICAgIC8vIHJlbW92ZWQuIFNvIHdlIG5vdyBzaG91bGQgZGVsZXRlIHRoZSBpY29uLlxuICAgICAgbm9kZS5yZW1vdmVDaGlsZChhbHJlYWR5UHJvY2Vzc2VkUHNldWRvRWxlbWVudCk7XG4gICAgICByZXR1cm4gcmVzb2x2ZSgpO1xuICAgIH0gZWxzZSBpZiAoZm9udEZhbWlseSAmJiBjb250ZW50ICE9PSAnbm9uZScgJiYgY29udGVudCAhPT0gJycpIHtcbiAgICAgIHZhciBfY29udGVudCA9IHN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdjb250ZW50Jyk7XG5cbiAgICAgIHZhciBmYW1pbHkgPSB+WydTaGFycCddLmluZGV4T2YoZm9udEZhbWlseVsyXSkgPyBGQU1JTFlfU0hBUlAgOiBGQU1JTFlfQ0xBU1NJQztcbiAgICAgIHZhciBwcmVmaXggPSB+WydTb2xpZCcsICdSZWd1bGFyJywgJ0xpZ2h0JywgJ1RoaW4nLCAnRHVvdG9uZScsICdCcmFuZHMnLCAnS2l0J10uaW5kZXhPZihmb250RmFtaWx5WzJdKSA/IFNUWUxFX1RPX1BSRUZJWFtmYW1pbHldW2ZvbnRGYW1pbHlbMl0udG9Mb3dlckNhc2UoKV0gOiBGT05UX1dFSUdIVF9UT19QUkVGSVhbZmFtaWx5XVtmb250V2VpZ2h0XTtcblxuICAgICAgdmFyIF9oZXhWYWx1ZUZyb21Db250ZW50ID0gaGV4VmFsdWVGcm9tQ29udGVudChfY29udGVudCksXG4gICAgICAgICAgaGV4VmFsdWUgPSBfaGV4VmFsdWVGcm9tQ29udGVudC52YWx1ZSxcbiAgICAgICAgICBpc1NlY29uZGFyeSA9IF9oZXhWYWx1ZUZyb21Db250ZW50LmlzU2Vjb25kYXJ5O1xuXG4gICAgICB2YXIgaXNWNCA9IGZvbnRGYW1pbHlbMF0uc3RhcnRzV2l0aCgnRm9udEF3ZXNvbWUnKTtcbiAgICAgIHZhciBpY29uTmFtZSA9IGJ5VW5pY29kZShwcmVmaXgsIGhleFZhbHVlKTtcbiAgICAgIHZhciBpY29uSWRlbnRpZmllciA9IGljb25OYW1lO1xuXG4gICAgICBpZiAoaXNWNCkge1xuICAgICAgICB2YXIgaWNvbk5hbWU0ID0gYnlPbGRVbmljb2RlKGhleFZhbHVlKTtcblxuICAgICAgICBpZiAoaWNvbk5hbWU0Lmljb25OYW1lICYmIGljb25OYW1lNC5wcmVmaXgpIHtcbiAgICAgICAgICBpY29uTmFtZSA9IGljb25OYW1lNC5pY29uTmFtZTtcbiAgICAgICAgICBwcmVmaXggPSBpY29uTmFtZTQucHJlZml4O1xuICAgICAgICB9XG4gICAgICB9IC8vIE9ubHkgY29udmVydCB0aGUgcHNldWRvIGVsZW1lbnQgaW4gdGhpcyA6OmJlZm9yZS86OmFmdGVyIHBvc2l0aW9uIGludG8gYW4gaWNvbiBpZiB3ZSBoYXZlbid0XG4gICAgICAvLyBhbHJlYWR5IGRvbmUgc28gd2l0aCB0aGUgc2FtZSBwcmVmaXggYW5kIGljb25OYW1lXG5cblxuICAgICAgaWYgKGljb25OYW1lICYmICFpc1NlY29uZGFyeSAmJiAoIWFscmVhZHlQcm9jZXNzZWRQc2V1ZG9FbGVtZW50IHx8IGFscmVhZHlQcm9jZXNzZWRQc2V1ZG9FbGVtZW50LmdldEF0dHJpYnV0ZShEQVRBX1BSRUZJWCkgIT09IHByZWZpeCB8fCBhbHJlYWR5UHJvY2Vzc2VkUHNldWRvRWxlbWVudC5nZXRBdHRyaWJ1dGUoREFUQV9JQ09OKSAhPT0gaWNvbklkZW50aWZpZXIpKSB7XG4gICAgICAgIG5vZGUuc2V0QXR0cmlidXRlKHBlbmRpbmdBdHRyaWJ1dGUsIGljb25JZGVudGlmaWVyKTtcblxuICAgICAgICBpZiAoYWxyZWFkeVByb2Nlc3NlZFBzZXVkb0VsZW1lbnQpIHtcbiAgICAgICAgICAvLyBEZWxldGUgdGhlIG9sZCBvbmUsIHNpbmNlIHdlJ3JlIHJlcGxhY2luZyBpdCB3aXRoIGEgbmV3IG9uZVxuICAgICAgICAgIG5vZGUucmVtb3ZlQ2hpbGQoYWxyZWFkeVByb2Nlc3NlZFBzZXVkb0VsZW1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIG1ldGEgPSBibGFua01ldGEoKTtcbiAgICAgICAgdmFyIGV4dHJhID0gbWV0YS5leHRyYTtcbiAgICAgICAgZXh0cmEuYXR0cmlidXRlc1tEQVRBX0ZBX1BTRVVET19FTEVNRU5UXSA9IHBvc2l0aW9uO1xuICAgICAgICBmaW5kSWNvbihpY29uTmFtZSwgcHJlZml4KS50aGVuKGZ1bmN0aW9uIChtYWluKSB7XG4gICAgICAgICAgdmFyIF9hYnN0cmFjdCA9IG1ha2VJbmxpbmVTdmdBYnN0cmFjdChfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgbWV0YSksIHt9LCB7XG4gICAgICAgICAgICBpY29uczoge1xuICAgICAgICAgICAgICBtYWluOiBtYWluLFxuICAgICAgICAgICAgICBtYXNrOiBlbXB0eUNhbm9uaWNhbEljb24oKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHByZWZpeDogcHJlZml4LFxuICAgICAgICAgICAgaWNvbk5hbWU6IGljb25JZGVudGlmaWVyLFxuICAgICAgICAgICAgZXh0cmE6IGV4dHJhLFxuICAgICAgICAgICAgd2F0Y2hhYmxlOiB0cnVlXG4gICAgICAgICAgfSkpO1xuXG4gICAgICAgICAgdmFyIGVsZW1lbnQgPSBET0NVTUVOVC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ3N2ZycpO1xuXG4gICAgICAgICAgaWYgKHBvc2l0aW9uID09PSAnOjpiZWZvcmUnKSB7XG4gICAgICAgICAgICBub2RlLmluc2VydEJlZm9yZShlbGVtZW50LCBub2RlLmZpcnN0Q2hpbGQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBub2RlLmFwcGVuZENoaWxkKGVsZW1lbnQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGVsZW1lbnQub3V0ZXJIVE1MID0gX2Fic3RyYWN0Lm1hcChmdW5jdGlvbiAoYSkge1xuICAgICAgICAgICAgcmV0dXJuIHRvSHRtbChhKTtcbiAgICAgICAgICB9KS5qb2luKCdcXG4nKTtcbiAgICAgICAgICBub2RlLnJlbW92ZUF0dHJpYnV0ZShwZW5kaW5nQXR0cmlidXRlKTtcbiAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIH0pLmNhdGNoKHJlamVjdCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc29sdmUoKTtcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZXBsYWNlKG5vZGUpIHtcbiAgcmV0dXJuIFByb21pc2UuYWxsKFtyZXBsYWNlRm9yUG9zaXRpb24obm9kZSwgJzo6YmVmb3JlJyksIHJlcGxhY2VGb3JQb3NpdGlvbihub2RlLCAnOjphZnRlcicpXSk7XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NhYmxlKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUucGFyZW50Tm9kZSAhPT0gZG9jdW1lbnQuaGVhZCAmJiAhflRBR05BTUVTX1RPX1NLSVBfRk9SX1BTRVVET0VMRU1FTlRTLmluZGV4T2Yobm9kZS50YWdOYW1lLnRvVXBwZXJDYXNlKCkpICYmICFub2RlLmdldEF0dHJpYnV0ZShEQVRBX0ZBX1BTRVVET19FTEVNRU5UKSAmJiAoIW5vZGUucGFyZW50Tm9kZSB8fCBub2RlLnBhcmVudE5vZGUudGFnTmFtZSAhPT0gJ3N2ZycpO1xufVxuXG5mdW5jdGlvbiBzZWFyY2hQc2V1ZG9FbGVtZW50cyhyb290KSB7XG4gIGlmICghSVNfRE9NKSByZXR1cm47XG4gIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgdmFyIG9wZXJhdGlvbnMgPSB0b0FycmF5KHJvb3QucXVlcnlTZWxlY3RvckFsbCgnKicpKS5maWx0ZXIocHJvY2Vzc2FibGUpLm1hcChyZXBsYWNlKTtcbiAgICB2YXIgZW5kID0gcGVyZi5iZWdpbignc2VhcmNoUHNldWRvRWxlbWVudHMnKTtcbiAgICBkaXNhYmxlT2JzZXJ2YXRpb24oKTtcbiAgICBQcm9taXNlLmFsbChvcGVyYXRpb25zKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgIGVuZCgpO1xuICAgICAgZW5hYmxlT2JzZXJ2YXRpb24oKTtcbiAgICAgIHJlc29sdmUoKTtcbiAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7XG4gICAgICBlbmQoKTtcbiAgICAgIGVuYWJsZU9ic2VydmF0aW9uKCk7XG4gICAgICByZWplY3QoKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbnZhciBQc2V1ZG9FbGVtZW50cyA9IHtcbiAgaG9va3M6IGZ1bmN0aW9uIGhvb2tzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBtdXRhdGlvbk9ic2VydmVyQ2FsbGJhY2tzOiBmdW5jdGlvbiBtdXRhdGlvbk9ic2VydmVyQ2FsbGJhY2tzKGFjY3VtdWxhdG9yKSB7XG4gICAgICAgIGFjY3VtdWxhdG9yLnBzZXVkb0VsZW1lbnRzQ2FsbGJhY2sgPSBzZWFyY2hQc2V1ZG9FbGVtZW50cztcbiAgICAgICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIHByb3ZpZGVzOiBmdW5jdGlvbiBwcm92aWRlcyhwcm92aWRlcnMkJDEpIHtcbiAgICBwcm92aWRlcnMkJDEucHNldWRvRWxlbWVudHMyc3ZnID0gZnVuY3Rpb24gKHBhcmFtcykge1xuICAgICAgdmFyIF9wYXJhbXMkbm9kZSA9IHBhcmFtcy5ub2RlLFxuICAgICAgICAgIG5vZGUgPSBfcGFyYW1zJG5vZGUgPT09IHZvaWQgMCA/IERPQ1VNRU5UIDogX3BhcmFtcyRub2RlO1xuXG4gICAgICBpZiAoY29uZmlnLnNlYXJjaFBzZXVkb0VsZW1lbnRzKSB7XG4gICAgICAgIHNlYXJjaFBzZXVkb0VsZW1lbnRzKG5vZGUpO1xuICAgICAgfVxuICAgIH07XG4gIH1cbn07XG5cbnZhciBfdW53YXRjaGVkID0gZmFsc2U7XG52YXIgTXV0YXRpb25PYnNlcnZlciQxID0ge1xuICBtaXhvdXQ6IGZ1bmN0aW9uIG1peG91dCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZG9tOiB7XG4gICAgICAgIHVud2F0Y2g6IGZ1bmN0aW9uIHVud2F0Y2goKSB7XG4gICAgICAgICAgZGlzYWJsZU9ic2VydmF0aW9uKCk7XG4gICAgICAgICAgX3Vud2F0Y2hlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBob29rczogZnVuY3Rpb24gaG9va3MoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJvb3RzdHJhcDogZnVuY3Rpb24gYm9vdHN0cmFwKCkge1xuICAgICAgICBvYnNlcnZlKGNoYWluSG9va3MoJ211dGF0aW9uT2JzZXJ2ZXJDYWxsYmFja3MnLCB7fSkpO1xuICAgICAgfSxcbiAgICAgIG5vQXV0bzogZnVuY3Rpb24gbm9BdXRvKCkge1xuICAgICAgICBkaXNjb25uZWN0KCk7XG4gICAgICB9LFxuICAgICAgd2F0Y2g6IGZ1bmN0aW9uIHdhdGNoKHBhcmFtcykge1xuICAgICAgICB2YXIgb2JzZXJ2ZU11dGF0aW9uc1Jvb3QgPSBwYXJhbXMub2JzZXJ2ZU11dGF0aW9uc1Jvb3Q7XG5cbiAgICAgICAgaWYgKF91bndhdGNoZWQpIHtcbiAgICAgICAgICBlbmFibGVPYnNlcnZhdGlvbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9ic2VydmUoY2hhaW5Ib29rcygnbXV0YXRpb25PYnNlcnZlckNhbGxiYWNrcycsIHtcbiAgICAgICAgICAgIG9ic2VydmVNdXRhdGlvbnNSb290OiBvYnNlcnZlTXV0YXRpb25zUm9vdFxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH1cbn07XG5cbnZhciBwYXJzZVRyYW5zZm9ybVN0cmluZyA9IGZ1bmN0aW9uIHBhcnNlVHJhbnNmb3JtU3RyaW5nKHRyYW5zZm9ybVN0cmluZykge1xuICB2YXIgdHJhbnNmb3JtID0ge1xuICAgIHNpemU6IDE2LFxuICAgIHg6IDAsXG4gICAgeTogMCxcbiAgICBmbGlwWDogZmFsc2UsXG4gICAgZmxpcFk6IGZhbHNlLFxuICAgIHJvdGF0ZTogMFxuICB9O1xuICByZXR1cm4gdHJhbnNmb3JtU3RyaW5nLnRvTG93ZXJDYXNlKCkuc3BsaXQoJyAnKS5yZWR1Y2UoZnVuY3Rpb24gKGFjYywgbikge1xuICAgIHZhciBwYXJ0cyA9IG4udG9Mb3dlckNhc2UoKS5zcGxpdCgnLScpO1xuICAgIHZhciBmaXJzdCA9IHBhcnRzWzBdO1xuICAgIHZhciByZXN0ID0gcGFydHMuc2xpY2UoMSkuam9pbignLScpO1xuXG4gICAgaWYgKGZpcnN0ICYmIHJlc3QgPT09ICdoJykge1xuICAgICAgYWNjLmZsaXBYID0gdHJ1ZTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfVxuXG4gICAgaWYgKGZpcnN0ICYmIHJlc3QgPT09ICd2Jykge1xuICAgICAgYWNjLmZsaXBZID0gdHJ1ZTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfVxuXG4gICAgcmVzdCA9IHBhcnNlRmxvYXQocmVzdCk7XG5cbiAgICBpZiAoaXNOYU4ocmVzdCkpIHtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfVxuXG4gICAgc3dpdGNoIChmaXJzdCkge1xuICAgICAgY2FzZSAnZ3Jvdyc6XG4gICAgICAgIGFjYy5zaXplID0gYWNjLnNpemUgKyByZXN0O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnc2hyaW5rJzpcbiAgICAgICAgYWNjLnNpemUgPSBhY2Muc2l6ZSAtIHJlc3Q7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgYWNjLnggPSBhY2MueCAtIHJlc3Q7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgIGFjYy54ID0gYWNjLnggKyByZXN0O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAndXAnOlxuICAgICAgICBhY2MueSA9IGFjYy55IC0gcmVzdDtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2Rvd24nOlxuICAgICAgICBhY2MueSA9IGFjYy55ICsgcmVzdDtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ3JvdGF0ZSc6XG4gICAgICAgIGFjYy5yb3RhdGUgPSBhY2Mucm90YXRlICsgcmVzdDtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSwgdHJhbnNmb3JtKTtcbn07XG52YXIgUG93ZXJUcmFuc2Zvcm1zID0ge1xuICBtaXhvdXQ6IGZ1bmN0aW9uIG1peG91dCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcGFyc2U6IHtcbiAgICAgICAgdHJhbnNmb3JtOiBmdW5jdGlvbiB0cmFuc2Zvcm0odHJhbnNmb3JtU3RyaW5nKSB7XG4gICAgICAgICAgcmV0dXJuIHBhcnNlVHJhbnNmb3JtU3RyaW5nKHRyYW5zZm9ybVN0cmluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBob29rczogZnVuY3Rpb24gaG9va3MoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhcnNlTm9kZUF0dHJpYnV0ZXM6IGZ1bmN0aW9uIHBhcnNlTm9kZUF0dHJpYnV0ZXMoYWNjdW11bGF0b3IsIG5vZGUpIHtcbiAgICAgICAgdmFyIHRyYW5zZm9ybVN0cmluZyA9IG5vZGUuZ2V0QXR0cmlidXRlKCdkYXRhLWZhLXRyYW5zZm9ybScpO1xuXG4gICAgICAgIGlmICh0cmFuc2Zvcm1TdHJpbmcpIHtcbiAgICAgICAgICBhY2N1bXVsYXRvci50cmFuc2Zvcm0gPSBwYXJzZVRyYW5zZm9ybVN0cmluZyh0cmFuc2Zvcm1TdHJpbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIHByb3ZpZGVzOiBmdW5jdGlvbiBwcm92aWRlcyhwcm92aWRlcnMpIHtcbiAgICBwcm92aWRlcnMuZ2VuZXJhdGVBYnN0cmFjdFRyYW5zZm9ybUdyb3VwaW5nID0gZnVuY3Rpb24gKF9yZWYpIHtcbiAgICAgIHZhciBtYWluID0gX3JlZi5tYWluLFxuICAgICAgICAgIHRyYW5zZm9ybSA9IF9yZWYudHJhbnNmb3JtLFxuICAgICAgICAgIGNvbnRhaW5lcldpZHRoID0gX3JlZi5jb250YWluZXJXaWR0aCxcbiAgICAgICAgICBpY29uV2lkdGggPSBfcmVmLmljb25XaWR0aDtcbiAgICAgIHZhciBvdXRlciA9IHtcbiAgICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZShcIi5jb25jYXQoY29udGFpbmVyV2lkdGggLyAyLCBcIiAyNTYpXCIpXG4gICAgICB9O1xuICAgICAgdmFyIGlubmVyVHJhbnNsYXRlID0gXCJ0cmFuc2xhdGUoXCIuY29uY2F0KHRyYW5zZm9ybS54ICogMzIsIFwiLCBcIikuY29uY2F0KHRyYW5zZm9ybS55ICogMzIsIFwiKSBcIik7XG4gICAgICB2YXIgaW5uZXJTY2FsZSA9IFwic2NhbGUoXCIuY29uY2F0KHRyYW5zZm9ybS5zaXplIC8gMTYgKiAodHJhbnNmb3JtLmZsaXBYID8gLTEgOiAxKSwgXCIsIFwiKS5jb25jYXQodHJhbnNmb3JtLnNpemUgLyAxNiAqICh0cmFuc2Zvcm0uZmxpcFkgPyAtMSA6IDEpLCBcIikgXCIpO1xuICAgICAgdmFyIGlubmVyUm90YXRlID0gXCJyb3RhdGUoXCIuY29uY2F0KHRyYW5zZm9ybS5yb3RhdGUsIFwiIDAgMClcIik7XG4gICAgICB2YXIgaW5uZXIgPSB7XG4gICAgICAgIHRyYW5zZm9ybTogXCJcIi5jb25jYXQoaW5uZXJUcmFuc2xhdGUsIFwiIFwiKS5jb25jYXQoaW5uZXJTY2FsZSwgXCIgXCIpLmNvbmNhdChpbm5lclJvdGF0ZSlcbiAgICAgIH07XG4gICAgICB2YXIgcGF0aCA9IHtcbiAgICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZShcIi5jb25jYXQoaWNvbldpZHRoIC8gMiAqIC0xLCBcIiAtMjU2KVwiKVxuICAgICAgfTtcbiAgICAgIHZhciBvcGVyYXRpb25zID0ge1xuICAgICAgICBvdXRlcjogb3V0ZXIsXG4gICAgICAgIGlubmVyOiBpbm5lcixcbiAgICAgICAgcGF0aDogcGF0aFxuICAgICAgfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRhZzogJ2cnLFxuICAgICAgICBhdHRyaWJ1dGVzOiBfb2JqZWN0U3ByZWFkMih7fSwgb3BlcmF0aW9ucy5vdXRlciksXG4gICAgICAgIGNoaWxkcmVuOiBbe1xuICAgICAgICAgIHRhZzogJ2cnLFxuICAgICAgICAgIGF0dHJpYnV0ZXM6IF9vYmplY3RTcHJlYWQyKHt9LCBvcGVyYXRpb25zLmlubmVyKSxcbiAgICAgICAgICBjaGlsZHJlbjogW3tcbiAgICAgICAgICAgIHRhZzogbWFpbi5pY29uLnRhZyxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBtYWluLmljb24uY2hpbGRyZW4sXG4gICAgICAgICAgICBhdHRyaWJ1dGVzOiBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgbWFpbi5pY29uLmF0dHJpYnV0ZXMpLCBvcGVyYXRpb25zLnBhdGgpXG4gICAgICAgICAgfV1cbiAgICAgICAgfV1cbiAgICAgIH07XG4gICAgfTtcbiAgfVxufTtcblxudmFyIEFMTF9TUEFDRSA9IHtcbiAgeDogMCxcbiAgeTogMCxcbiAgd2lkdGg6ICcxMDAlJyxcbiAgaGVpZ2h0OiAnMTAwJSdcbn07XG5cbmZ1bmN0aW9uIGZpbGxCbGFjayhfYWJzdHJhY3QpIHtcbiAgdmFyIGZvcmNlID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB0cnVlO1xuXG4gIGlmIChfYWJzdHJhY3QuYXR0cmlidXRlcyAmJiAoX2Fic3RyYWN0LmF0dHJpYnV0ZXMuZmlsbCB8fCBmb3JjZSkpIHtcbiAgICBfYWJzdHJhY3QuYXR0cmlidXRlcy5maWxsID0gJ2JsYWNrJztcbiAgfVxuXG4gIHJldHVybiBfYWJzdHJhY3Q7XG59XG5cbmZ1bmN0aW9uIGRlR3JvdXAoX2Fic3RyYWN0Mikge1xuICBpZiAoX2Fic3RyYWN0Mi50YWcgPT09ICdnJykge1xuICAgIHJldHVybiBfYWJzdHJhY3QyLmNoaWxkcmVuO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBbX2Fic3RyYWN0Ml07XG4gIH1cbn1cblxudmFyIE1hc2tzID0ge1xuICBob29rczogZnVuY3Rpb24gaG9va3MoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhcnNlTm9kZUF0dHJpYnV0ZXM6IGZ1bmN0aW9uIHBhcnNlTm9kZUF0dHJpYnV0ZXMoYWNjdW11bGF0b3IsIG5vZGUpIHtcbiAgICAgICAgdmFyIG1hc2tEYXRhID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtZmEtbWFzaycpO1xuICAgICAgICB2YXIgbWFzayA9ICFtYXNrRGF0YSA/IGVtcHR5Q2Fub25pY2FsSWNvbigpIDogZ2V0Q2Fub25pY2FsSWNvbihtYXNrRGF0YS5zcGxpdCgnICcpLm1hcChmdW5jdGlvbiAoaSkge1xuICAgICAgICAgIHJldHVybiBpLnRyaW0oKTtcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIGlmICghbWFzay5wcmVmaXgpIHtcbiAgICAgICAgICBtYXNrLnByZWZpeCA9IGdldERlZmF1bHRVc2FibGVQcmVmaXgoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGFjY3VtdWxhdG9yLm1hc2sgPSBtYXNrO1xuICAgICAgICBhY2N1bXVsYXRvci5tYXNrSWQgPSBub2RlLmdldEF0dHJpYnV0ZSgnZGF0YS1mYS1tYXNrLWlkJyk7XG4gICAgICAgIHJldHVybiBhY2N1bXVsYXRvcjtcbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBwcm92aWRlczogZnVuY3Rpb24gcHJvdmlkZXMocHJvdmlkZXJzKSB7XG4gICAgcHJvdmlkZXJzLmdlbmVyYXRlQWJzdHJhY3RNYXNrID0gZnVuY3Rpb24gKF9yZWYpIHtcbiAgICAgIHZhciBjaGlsZHJlbiA9IF9yZWYuY2hpbGRyZW4sXG4gICAgICAgICAgYXR0cmlidXRlcyA9IF9yZWYuYXR0cmlidXRlcyxcbiAgICAgICAgICBtYWluID0gX3JlZi5tYWluLFxuICAgICAgICAgIG1hc2sgPSBfcmVmLm1hc2ssXG4gICAgICAgICAgZXhwbGljaXRNYXNrSWQgPSBfcmVmLm1hc2tJZCxcbiAgICAgICAgICB0cmFuc2Zvcm0gPSBfcmVmLnRyYW5zZm9ybTtcbiAgICAgIHZhciBtYWluV2lkdGggPSBtYWluLndpZHRoLFxuICAgICAgICAgIG1haW5QYXRoID0gbWFpbi5pY29uO1xuICAgICAgdmFyIG1hc2tXaWR0aCA9IG1hc2sud2lkdGgsXG4gICAgICAgICAgbWFza1BhdGggPSBtYXNrLmljb247XG4gICAgICB2YXIgdHJhbnMgPSB0cmFuc2Zvcm1Gb3JTdmcoe1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zZm9ybSxcbiAgICAgICAgY29udGFpbmVyV2lkdGg6IG1hc2tXaWR0aCxcbiAgICAgICAgaWNvbldpZHRoOiBtYWluV2lkdGhcbiAgICAgIH0pO1xuICAgICAgdmFyIG1hc2tSZWN0ID0ge1xuICAgICAgICB0YWc6ICdyZWN0JyxcbiAgICAgICAgYXR0cmlidXRlczogX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIEFMTF9TUEFDRSksIHt9LCB7XG4gICAgICAgICAgZmlsbDogJ3doaXRlJ1xuICAgICAgICB9KVxuICAgICAgfTtcbiAgICAgIHZhciBtYXNrSW5uZXJHcm91cENoaWxkcmVuTWl4aW4gPSBtYWluUGF0aC5jaGlsZHJlbiA/IHtcbiAgICAgICAgY2hpbGRyZW46IG1haW5QYXRoLmNoaWxkcmVuLm1hcChmaWxsQmxhY2spXG4gICAgICB9IDoge307XG4gICAgICB2YXIgbWFza0lubmVyR3JvdXAgPSB7XG4gICAgICAgIHRhZzogJ2cnLFxuICAgICAgICBhdHRyaWJ1dGVzOiBfb2JqZWN0U3ByZWFkMih7fSwgdHJhbnMuaW5uZXIpLFxuICAgICAgICBjaGlsZHJlbjogW2ZpbGxCbGFjayhfb2JqZWN0U3ByZWFkMih7XG4gICAgICAgICAgdGFnOiBtYWluUGF0aC50YWcsXG4gICAgICAgICAgYXR0cmlidXRlczogX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIG1haW5QYXRoLmF0dHJpYnV0ZXMpLCB0cmFucy5wYXRoKVxuICAgICAgICB9LCBtYXNrSW5uZXJHcm91cENoaWxkcmVuTWl4aW4pKV1cbiAgICAgIH07XG4gICAgICB2YXIgbWFza091dGVyR3JvdXAgPSB7XG4gICAgICAgIHRhZzogJ2cnLFxuICAgICAgICBhdHRyaWJ1dGVzOiBfb2JqZWN0U3ByZWFkMih7fSwgdHJhbnMub3V0ZXIpLFxuICAgICAgICBjaGlsZHJlbjogW21hc2tJbm5lckdyb3VwXVxuICAgICAgfTtcbiAgICAgIHZhciBtYXNrSWQgPSBcIm1hc2stXCIuY29uY2F0KGV4cGxpY2l0TWFza0lkIHx8IG5leHRVbmlxdWVJZCgpKTtcbiAgICAgIHZhciBjbGlwSWQgPSBcImNsaXAtXCIuY29uY2F0KGV4cGxpY2l0TWFza0lkIHx8IG5leHRVbmlxdWVJZCgpKTtcbiAgICAgIHZhciBtYXNrVGFnID0ge1xuICAgICAgICB0YWc6ICdtYXNrJyxcbiAgICAgICAgYXR0cmlidXRlczogX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIEFMTF9TUEFDRSksIHt9LCB7XG4gICAgICAgICAgaWQ6IG1hc2tJZCxcbiAgICAgICAgICBtYXNrVW5pdHM6ICd1c2VyU3BhY2VPblVzZScsXG4gICAgICAgICAgbWFza0NvbnRlbnRVbml0czogJ3VzZXJTcGFjZU9uVXNlJ1xuICAgICAgICB9KSxcbiAgICAgICAgY2hpbGRyZW46IFttYXNrUmVjdCwgbWFza091dGVyR3JvdXBdXG4gICAgICB9O1xuICAgICAgdmFyIGRlZnMgPSB7XG4gICAgICAgIHRhZzogJ2RlZnMnLFxuICAgICAgICBjaGlsZHJlbjogW3tcbiAgICAgICAgICB0YWc6ICdjbGlwUGF0aCcsXG4gICAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICAgaWQ6IGNsaXBJZFxuICAgICAgICAgIH0sXG4gICAgICAgICAgY2hpbGRyZW46IGRlR3JvdXAobWFza1BhdGgpXG4gICAgICAgIH0sIG1hc2tUYWddXG4gICAgICB9O1xuICAgICAgY2hpbGRyZW4ucHVzaChkZWZzLCB7XG4gICAgICAgIHRhZzogJ3JlY3QnLFxuICAgICAgICBhdHRyaWJ1dGVzOiBfb2JqZWN0U3ByZWFkMih7XG4gICAgICAgICAgZmlsbDogJ2N1cnJlbnRDb2xvcicsXG4gICAgICAgICAgJ2NsaXAtcGF0aCc6IFwidXJsKCNcIi5jb25jYXQoY2xpcElkLCBcIilcIiksXG4gICAgICAgICAgbWFzazogXCJ1cmwoI1wiLmNvbmNhdChtYXNrSWQsIFwiKVwiKVxuICAgICAgICB9LCBBTExfU1BBQ0UpXG4gICAgICB9KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcbiAgICAgICAgYXR0cmlidXRlczogYXR0cmlidXRlc1xuICAgICAgfTtcbiAgICB9O1xuICB9XG59O1xuXG52YXIgTWlzc2luZ0ljb25JbmRpY2F0b3IgPSB7XG4gIHByb3ZpZGVzOiBmdW5jdGlvbiBwcm92aWRlcyhwcm92aWRlcnMpIHtcbiAgICB2YXIgcmVkdWNlTW90aW9uID0gZmFsc2U7XG5cbiAgICBpZiAoV0lORE9XLm1hdGNoTWVkaWEpIHtcbiAgICAgIHJlZHVjZU1vdGlvbiA9IFdJTkRPVy5tYXRjaE1lZGlhKCcocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKScpLm1hdGNoZXM7XG4gICAgfVxuXG4gICAgcHJvdmlkZXJzLm1pc3NpbmdJY29uQWJzdHJhY3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgZ0NoaWxkcmVuID0gW107XG4gICAgICB2YXIgRklMTCA9IHtcbiAgICAgICAgZmlsbDogJ2N1cnJlbnRDb2xvcidcbiAgICAgIH07XG4gICAgICB2YXIgQU5JTUFUSU9OX0JBU0UgPSB7XG4gICAgICAgIGF0dHJpYnV0ZVR5cGU6ICdYTUwnLFxuICAgICAgICByZXBlYXRDb3VudDogJ2luZGVmaW5pdGUnLFxuICAgICAgICBkdXI6ICcycydcbiAgICAgIH07IC8vIFJpbmdcblxuICAgICAgZ0NoaWxkcmVuLnB1c2goe1xuICAgICAgICB0YWc6ICdwYXRoJyxcbiAgICAgICAgYXR0cmlidXRlczogX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIEZJTEwpLCB7fSwge1xuICAgICAgICAgIGQ6ICdNMTU2LjUsNDQ3LjdsLTEyLjYsMjkuNWMtMTguNy05LjUtMzUuOS0yMS4yLTUxLjUtMzQuOWwyMi43LTIyLjdDMTI3LjYsNDMwLjUsMTQxLjUsNDQwLDE1Ni41LDQ0Ny43eiBNNDAuNiwyNzJIOC41IGMxLjQsMjEuMiw1LjQsNDEuNywxMS43LDYxLjFMNTAsMzIxLjJDNDUuMSwzMDUuNSw0MS44LDI4OSw0MC42LDI3MnogTTQwLjYsMjQwYzEuNC0xOC44LDUuMi0zNywxMS4xLTU0LjFsLTI5LjUtMTIuNiBDMTQuNywxOTQuMywxMCwyMTYuNyw4LjUsMjQwSDQwLjZ6IE02NC4zLDE1Ni41YzcuOC0xNC45LDE3LjItMjguOCwyOC4xLTQxLjVMNjkuNyw5Mi4zYy0xMy43LDE1LjYtMjUuNSwzMi44LTM0LjksNTEuNSBMNjQuMywxNTYuNXogTTM5Nyw0MTkuNmMtMTMuOSwxMi0yOS40LDIyLjMtNDYuMSwzMC40bDExLjksMjkuOGMyMC43LTkuOSwzOS44LTIyLjYsNTYuOS0zNy42TDM5Nyw0MTkuNnogTTExNSw5Mi40IGMxMy45LTEyLDI5LjQtMjIuMyw0Ni4xLTMwLjRsLTExLjktMjkuOGMtMjAuNyw5LjktMzkuOCwyMi42LTU2LjgsMzcuNkwxMTUsOTIuNHogTTQ0Ny43LDM1NS41Yy03LjgsMTQuOS0xNy4yLDI4LjgtMjguMSw0MS41IGwyMi43LDIyLjdjMTMuNy0xNS42LDI1LjUtMzIuOSwzNC45LTUxLjVMNDQ3LjcsMzU1LjV6IE00NzEuNCwyNzJjLTEuNCwxOC44LTUuMiwzNy0xMS4xLDU0LjFsMjkuNSwxMi42IGM3LjUtMjEuMSwxMi4yLTQzLjUsMTMuNi02Ni44SDQ3MS40eiBNMzIxLjIsNDYyYy0xNS43LDUtMzIuMiw4LjItNDkuMiw5LjR2MzIuMWMyMS4yLTEuNCw0MS43LTUuNCw2MS4xLTExLjdMMzIxLjIsNDYyeiBNMjQwLDQ3MS40Yy0xOC44LTEuNC0zNy01LjItNTQuMS0xMS4xbC0xMi42LDI5LjVjMjEuMSw3LjUsNDMuNSwxMi4yLDY2LjgsMTMuNlY0NzEuNHogTTQ2MiwxOTAuOGM1LDE1LjcsOC4yLDMyLjIsOS40LDQ5LjJoMzIuMSBjLTEuNC0yMS4yLTUuNC00MS43LTExLjctNjEuMUw0NjIsMTkwLjh6IE05Mi40LDM5N2MtMTItMTMuOS0yMi4zLTI5LjQtMzAuNC00Ni4xbC0yOS44LDExLjljOS45LDIwLjcsMjIuNiwzOS44LDM3LjYsNTYuOSBMOTIuNCwzOTd6IE0yNzIsNDAuNmMxOC44LDEuNCwzNi45LDUuMiw1NC4xLDExLjFsMTIuNi0yOS41QzMxNy43LDE0LjcsMjk1LjMsMTAsMjcyLDguNVY0MC42eiBNMTkwLjgsNTAgYzE1LjctNSwzMi4yLTguMiw0OS4yLTkuNFY4LjVjLTIxLjIsMS40LTQxLjcsNS40LTYxLjEsMTEuN0wxOTAuOCw1MHogTTQ0Mi4zLDkyLjNMNDE5LjYsMTE1YzEyLDEzLjksMjIuMywyOS40LDMwLjUsNDYuMSBsMjkuOC0xMS45QzQ3MCwxMjguNSw0NTcuMywxMDkuNCw0NDIuMyw5Mi4zeiBNMzk3LDkyLjRsMjIuNy0yMi43Yy0xNS42LTEzLjctMzIuOC0yNS41LTUxLjUtMzQuOWwtMTIuNiwyOS41IEMzNzAuNCw3Mi4xLDM4NC40LDgxLjUsMzk3LDkyLjR6J1xuICAgICAgICB9KVxuICAgICAgfSk7XG5cbiAgICAgIHZhciBPUEFDSVRZX0FOSU1BVEUgPSBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgQU5JTUFUSU9OX0JBU0UpLCB7fSwge1xuICAgICAgICBhdHRyaWJ1dGVOYW1lOiAnb3BhY2l0eSdcbiAgICAgIH0pO1xuXG4gICAgICB2YXIgZG90ID0ge1xuICAgICAgICB0YWc6ICdjaXJjbGUnLFxuICAgICAgICBhdHRyaWJ1dGVzOiBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgRklMTCksIHt9LCB7XG4gICAgICAgICAgY3g6ICcyNTYnLFxuICAgICAgICAgIGN5OiAnMzY0JyxcbiAgICAgICAgICByOiAnMjgnXG4gICAgICAgIH0pLFxuICAgICAgICBjaGlsZHJlbjogW11cbiAgICAgIH07XG5cbiAgICAgIGlmICghcmVkdWNlTW90aW9uKSB7XG4gICAgICAgIGRvdC5jaGlsZHJlbi5wdXNoKHtcbiAgICAgICAgICB0YWc6ICdhbmltYXRlJyxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgQU5JTUFUSU9OX0JBU0UpLCB7fSwge1xuICAgICAgICAgICAgYXR0cmlidXRlTmFtZTogJ3InLFxuICAgICAgICAgICAgdmFsdWVzOiAnMjg7MTQ7Mjg7Mjg7MTQ7Mjg7J1xuICAgICAgICAgIH0pXG4gICAgICAgIH0sIHtcbiAgICAgICAgICB0YWc6ICdhbmltYXRlJyxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgT1BBQ0lUWV9BTklNQVRFKSwge30sIHtcbiAgICAgICAgICAgIHZhbHVlczogJzE7MDsxOzE7MDsxOydcbiAgICAgICAgICB9KVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgZ0NoaWxkcmVuLnB1c2goZG90KTtcbiAgICAgIGdDaGlsZHJlbi5wdXNoKHtcbiAgICAgICAgdGFnOiAncGF0aCcsXG4gICAgICAgIGF0dHJpYnV0ZXM6IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBGSUxMKSwge30sIHtcbiAgICAgICAgICBvcGFjaXR5OiAnMScsXG4gICAgICAgICAgZDogJ00yNjMuNywzMTJoLTE2Yy02LjYsMC0xMi01LjQtMTItMTJjMC03MSw3Ny40LTYzLjksNzcuNC0xMDcuOGMwLTIwLTE3LjgtNDAuMi01Ny40LTQwLjJjLTI5LjEsMC00NC4zLDkuNi01OS4yLDI4LjcgYy0zLjksNS0xMS4xLDYtMTYuMiwyLjRsLTEzLjEtOS4yYy01LjYtMy45LTYuOS0xMS44LTIuNi0xNy4yYzIxLjItMjcuMiw0Ni40LTQ0LjcsOTEuMi00NC43YzUyLjMsMCw5Ny40LDI5LjgsOTcuNCw4MC4yIGMwLDY3LjYtNzcuNCw2My41LTc3LjQsMTA3LjhDMjc1LjcsMzA2LjYsMjcwLjMsMzEyLDI2My43LDMxMnonXG4gICAgICAgIH0pLFxuICAgICAgICBjaGlsZHJlbjogcmVkdWNlTW90aW9uID8gW10gOiBbe1xuICAgICAgICAgIHRhZzogJ2FuaW1hdGUnLFxuICAgICAgICAgIGF0dHJpYnV0ZXM6IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBPUEFDSVRZX0FOSU1BVEUpLCB7fSwge1xuICAgICAgICAgICAgdmFsdWVzOiAnMTswOzA7MDswOzE7J1xuICAgICAgICAgIH0pXG4gICAgICAgIH1dXG4gICAgICB9KTtcblxuICAgICAgaWYgKCFyZWR1Y2VNb3Rpb24pIHtcbiAgICAgICAgLy8gRXhjbGFtYXRpb25cbiAgICAgICAgZ0NoaWxkcmVuLnB1c2goe1xuICAgICAgICAgIHRhZzogJ3BhdGgnLFxuICAgICAgICAgIGF0dHJpYnV0ZXM6IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBGSUxMKSwge30sIHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICcwJyxcbiAgICAgICAgICAgIGQ6ICdNMjMyLjUsMTM0LjVsNywxNjhjMC4zLDYuNCw1LjYsMTEuNSwxMiwxMS41aDljNi40LDAsMTEuNy01LjEsMTItMTEuNWw3LTE2OGMwLjMtNi44LTUuMi0xMi41LTEyLTEyLjVoLTIzIEMyMzcuNywxMjIsMjMyLjIsMTI3LjcsMjMyLjUsMTM0LjV6J1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGNoaWxkcmVuOiBbe1xuICAgICAgICAgICAgdGFnOiAnYW5pbWF0ZScsXG4gICAgICAgICAgICBhdHRyaWJ1dGVzOiBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgT1BBQ0lUWV9BTklNQVRFKSwge30sIHtcbiAgICAgICAgICAgICAgdmFsdWVzOiAnMDswOzE7MTswOzA7J1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdGFnOiAnZycsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAnY2xhc3MnOiAnbWlzc2luZydcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IGdDaGlsZHJlblxuICAgICAgfTtcbiAgICB9O1xuICB9XG59O1xuXG52YXIgU3ZnU3ltYm9scyA9IHtcbiAgaG9va3M6IGZ1bmN0aW9uIGhvb2tzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBwYXJzZU5vZGVBdHRyaWJ1dGVzOiBmdW5jdGlvbiBwYXJzZU5vZGVBdHRyaWJ1dGVzKGFjY3VtdWxhdG9yLCBub2RlKSB7XG4gICAgICAgIHZhciBzeW1ib2xEYXRhID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtZmEtc3ltYm9sJyk7XG4gICAgICAgIHZhciBzeW1ib2wgPSBzeW1ib2xEYXRhID09PSBudWxsID8gZmFsc2UgOiBzeW1ib2xEYXRhID09PSAnJyA/IHRydWUgOiBzeW1ib2xEYXRhO1xuICAgICAgICBhY2N1bXVsYXRvclsnc3ltYm9sJ10gPSBzeW1ib2w7XG4gICAgICAgIHJldHVybiBhY2N1bXVsYXRvcjtcbiAgICAgIH1cbiAgICB9O1xuICB9XG59O1xuXG52YXIgcGx1Z2lucyA9IFtJbmplY3RDU1MsIFJlcGxhY2VFbGVtZW50cywgTGF5ZXJzLCBMYXllcnNDb3VudGVyLCBMYXllcnNUZXh0LCBQc2V1ZG9FbGVtZW50cywgTXV0YXRpb25PYnNlcnZlciQxLCBQb3dlclRyYW5zZm9ybXMsIE1hc2tzLCBNaXNzaW5nSWNvbkluZGljYXRvciwgU3ZnU3ltYm9sc107XG5cbnJlZ2lzdGVyUGx1Z2lucyhwbHVnaW5zLCB7XG4gIG1peG91dHNUbzogYXBpXG59KTtcbnZhciBub0F1dG8kMSA9IGFwaS5ub0F1dG87XG52YXIgY29uZmlnJDEgPSBhcGkuY29uZmlnO1xudmFyIGxpYnJhcnkkMSA9IGFwaS5saWJyYXJ5O1xudmFyIGRvbSQxID0gYXBpLmRvbTtcbnZhciBwYXJzZSQxID0gYXBpLnBhcnNlO1xudmFyIGZpbmRJY29uRGVmaW5pdGlvbiQxID0gYXBpLmZpbmRJY29uRGVmaW5pdGlvbjtcbnZhciB0b0h0bWwkMSA9IGFwaS50b0h0bWw7XG52YXIgaWNvbiA9IGFwaS5pY29uO1xudmFyIGxheWVyID0gYXBpLmxheWVyO1xudmFyIHRleHQgPSBhcGkudGV4dDtcbnZhciBjb3VudGVyID0gYXBpLmNvdW50ZXI7XG5cbmV4cG9ydCB7IG5vQXV0byQxIGFzIG5vQXV0bywgY29uZmlnJDEgYXMgY29uZmlnLCBsaWJyYXJ5JDEgYXMgbGlicmFyeSwgZG9tJDEgYXMgZG9tLCBwYXJzZSQxIGFzIHBhcnNlLCBmaW5kSWNvbkRlZmluaXRpb24kMSBhcyBmaW5kSWNvbkRlZmluaXRpb24sIHRvSHRtbCQxIGFzIHRvSHRtbCwgaWNvbiwgbGF5ZXIsIHRleHQsIGNvdW50ZXIsIGFwaSB9O1xuIiwidmFyIHByZWZpeCA9IFwiZmFzXCI7XG52YXIgZmEwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJzAnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcIjMwXCIsIFwiTTAgMTkyQzAgMTAzLjYgNzEuNiAzMiAxNjAgMzJzMTYwIDcxLjYgMTYwIDE2MFYzMjBjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBTMCA0MDguNCAwIDMyMFYxOTJ6TTE2MCA5NmMtNTMgMC05NiA0My05NiA5NlYzMjBjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NlYxOTJjMC01My00My05Ni05Ni05NnpcIl1cbn07XG52YXIgZmExID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJzEnLFxuICBpY29uOiBbMjU2LCA1MTIsIFtdLCBcIjMxXCIsIFwiTTE2MCA2NGMwLTExLjgtNi41LTIyLjYtMTYuOS0yOC4ycy0yMy01LTMyLjggMS42bC05NiA2NEMtLjUgMTExLjItNC40IDEzMSA1LjQgMTQ1LjhzMjkuNyAxOC43IDQ0LjQgOC45TDk2IDEyMy44VjQxNkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmg5NiA5NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgxNjBWNjR6XCJdXG59O1xudmFyIGZhMiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICcyJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCIzMlwiLCBcIk0xNDIuOSA5NmMtMjEuNSAwLTQyLjIgOC41LTU3LjQgMjMuOEw1NC42IDE1MC42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0w0MC4yIDc0LjVDNjcuNSA0Ny4zIDEwNC40IDMyIDE0Mi45IDMyQzIyMyAzMiAyODggOTcgMjg4IDE3Ny4xYzAgMzguNS0xNS4zIDc1LjQtNDIuNSAxMDIuNkwxMDkuMyA0MTZIMjg4YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyYy0xMi45IDAtMjQuNi03LjgtMjkuNi0xOS44cy0yLjItMjUuNyA2LjktMzQuOUwyMDAuMiAyMzQuNWMxNS4yLTE1LjIgMjMuOC0zNS45IDIzLjgtNTcuNGMwLTQ0LjgtMzYuMy04MS4xLTgxLjEtODEuMXpcIl1cbn07XG52YXIgZmEzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJzMnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcIjMzXCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJIMjcyYzEzLjIgMCAyNSA4LjEgMjkuOCAyMC40czEuNSAyNi4zLTguMiAzNS4yTDE2Mi4zIDIwOEgxODRjNzUuMSAwIDEzNiA2MC45IDEzNiAxMzZzLTYwLjkgMTM2LTEzNiAxMzZIMTA1LjRDNjMgNDgwIDI0LjIgNDU2IDUuMyA0MTguMWwtMS45LTMuOGMtNy45LTE1LjgtMS41LTM1IDE0LjMtNDIuOXMzNS0xLjUgNDIuOSAxNC4zbDEuOSAzLjhjOC4xIDE2LjMgMjQuOCAyNi41IDQyLjkgMjYuNUgxODRjMzkuOCAwIDcyLTMyLjIgNzItNzJzLTMyLjItNzItNzItNzJIODBjLTEzLjIgMC0yNS04LjEtMjkuOC0yMC40cy0xLjUtMjYuMyA4LjItMzUuMkwxODkuNyA5NkgzMkMxNC4zIDk2IDAgODEuNyAwIDY0elwiXVxufTtcbnZhciBmYTQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnNCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiMzRcIiwgXCJNMTg5IDc3LjZjNy41LTE2IC43LTM1LjEtMTUuMy00Mi42cy0zNS4xLS43LTQyLjYgMTUuM0wzIDMyMi40Yy00LjcgOS45LTMuOSAyMS41IDEuOSAzMC44UzIxIDM2OCAzMiAzNjhIMjU2djgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMzY4aDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDMyMFYxNjBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWMzA0SDgyLjRMMTg5IDc3LjZ6XCJdXG59O1xudmFyIGZhNSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICc1JyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCIzNVwiLCBcIk0zMi41IDU4LjNDMzUuMyA0My4xIDQ4LjUgMzIgNjQgMzJIMjU2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDkwLjdMNzAuMyAyMDhIMTg0Yzc1LjEgMCAxMzYgNjAuOSAxMzYgMTM2cy02MC45IDEzNi0xMzYgMTM2SDEwMC41Yy0zOS40IDAtNzUuNC0yMi4zLTkzLTU3LjVsLTQuMS04LjJjLTcuOS0xNS44LTEuNS0zNSAxNC4zLTQyLjlzMzUtMS41IDQyLjkgMTQuM2w0LjEgOC4yYzYuOCAxMy42IDIwLjYgMjIuMSAzNS44IDIyLjFIMTg0YzM5LjggMCA3Mi0zMi4yIDcyLTcycy0zMi4yLTcyLTcyLTcySDMyYy05LjUgMC0xOC41LTQuMi0yNC42LTExLjVzLTguNi0xNi45LTYuOS0yNi4ybDMyLTE3NnpcIl1cbn07XG52YXIgZmE2ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJzYnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcIjM2XCIsIFwiTTIzMi40IDg0LjdjMTEuNC0xMy41IDkuNy0zMy43LTMuOC00NS4xcy0zMy43LTkuNy00NS4xIDMuOEwzOC42IDIxNC43QzE0LjcgMjQyLjkgMS4xIDI3OC40IC4xIDMxNS4yYzAgMS40LS4xIDIuOS0uMSA0LjNjMCAuMiAwIC4zIDAgLjVjMCA4OC40IDcxLjYgMTYwIDE2MCAxNjBzMTYwLTcxLjYgMTYwLTE2MGMwLTg1LjUtNjcuMS0xNTUuNC0xNTEuNS0xNTkuOGw2My45LTc1LjZ6TTI1NiAzMjBBOTYgOTYgMCAxIDEgNjQgMzIwYTk2IDk2IDAgMSAxIDE5MiAwelwiXVxufTtcbnZhciBmYTcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnNycsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiMzdcIiwgXCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMkgyODhjMTEuNSAwIDIyIDYuMSAyNy43IDE2LjFzNS43IDIyLjItLjEgMzIuMWwtMjI0IDM4NGMtOC45IDE1LjMtMjguNSAyMC40LTQzLjggMTEuNXMtMjAuNC0yOC41LTExLjUtNDMuOEwyMzIuMyA5NkgzMkMxNC4zIDk2IDAgODEuNyAwIDY0elwiXVxufTtcbnZhciBmYTggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnOCcsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiMzhcIiwgXCJNMzA0IDE2MGMwLTcwLjctNTcuMy0xMjgtMTI4LTEyOEgxNDRDNzMuMyAzMiAxNiA4OS4zIDE2IDE2MGMwIDM0LjYgMTMuNyA2NiAzNiA4OUMyMC41IDI3Mi4zIDAgMzA5LjggMCAzNTJjMCA3MC43IDU3LjMgMTI4IDEyOCAxMjhoNjRjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhjMC00Mi4yLTIwLjUtNzkuNy01Mi0xMDNjMjIuMy0yMyAzNi01NC40IDM2LTg5ek0xNzYuMSAyODhIMTkyYzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0SDEyOGMtMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NGgxNS45YzAgMCAuMSAwIC4xIDBoMzJjMCAwIC4xIDAgLjEgMHptMC02NGMwIDAgMCAwIDAgMEgxNDRjMCAwIDAgMCAwIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0YzAtMzUuMyAyOC43LTY0IDY0LTY0aDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0YzAgMzUuMy0yOC42IDY0LTY0IDY0elwiXVxufTtcbnZhciBmYTkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnOScsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiMzlcIiwgXCJNNjQgMTkyYTk2IDk2IDAgMSAwIDE5MiAwQTk2IDk2IDAgMSAwIDY0IDE5MnptODcuNSAxNTkuOEM2Ny4xIDM0Ny40IDAgMjc3LjUgMCAxOTJDMCAxMDMuNiA3MS42IDMyIDE2MCAzMnMxNjAgNzEuNiAxNjAgMTYwYzAgMi42LS4xIDUuMy0uMiA3LjljLTEuNyAzNS43LTE1LjIgNzAtMzguNCA5Ny40bC0xNDUgMTcxLjRjLTExLjQgMTMuNS0zMS42IDE1LjItNDUuMSAzLjhzLTE1LjItMzEuNi0zLjgtNDUuMWw2My45LTc1LjZ6XCJdXG59O1xudmFyIGZhRmlsbERyaXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsbC1kcmlwJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNTc2XCIsIFwiTTQxLjQgOS40QzUzLjktMy4xIDc0LjEtMy4xIDg2LjYgOS40TDE2OCA5MC43bDUzLjEtNTMuMWMyOC4xLTI4LjEgNzMuNy0yOC4xIDEwMS44IDBMNDc0LjMgMTg5LjFjMjguMSAyOC4xIDI4LjEgNzMuNyAwIDEwMS44TDI4My45IDQ4MS40Yy0zNy41IDM3LjUtOTguMyAzNy41LTEzNS44IDBMMzAuNiAzNjMuOWMtMzcuNS0zNy41LTM3LjUtOTguMyAwLTEzNS44TDEyMi43IDEzNiA0MS40IDU0LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zem0xNzYgMjIxLjNMMTY4IDE4MS4zIDc1LjkgMjczLjRjLTQuMiA0LjItNyA5LjMtOC40IDE0LjZIMzg2LjdsNDIuMy00Mi4zYzMuMS0zLjEgMy4xLTguMiAwLTExLjNMMjc3LjcgODIuOWMtMy4xLTMuMS04LjItMy4xLTExLjMgMEwyMTMuMyAxMzZsNDkuNCA0OS40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwek01MTIgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGMwLTI1LjIgMzIuNi03OS42IDUxLjItMTA4LjdjNi05LjQgMTkuNS05LjQgMjUuNSAwQzU0My40IDM2OC40IDU3NiA0MjIuOCA1NzYgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0elwiXVxufTtcbnZhciBmYUFycm93c1RvQ2lyY2xlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93cy10by1jaXJjbGUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0YmRcIiwgXCJNOS40IDkuNEMyMS45LTMuMSA0Mi4xLTMuMSA1NC42IDkuNEwxNjAgMTE0LjdWOTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnY5NmMwIDQuMy0uOSA4LjUtMi40IDEyLjJjLTEuNiAzLjctMy44IDcuMy02LjkgMTAuM2wtLjEgLjFjLTMuMSAzLTYuNiA1LjMtMTAuMyA2LjljLTMuOCAxLjYtNy45IDIuNC0xMi4yIDIuNEg5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmgxOC43TDkuNCA1NC42Qy0zLjEgNDIuMS0zLjEgMjEuOSA5LjQgOS40ek0yNTYgMjU2YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNMTE0LjcgMzUySDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyaDk2IDBsLjEgMGM4LjggMCAxNi43IDMuNiAyMi41IDkuM2wuMSAuMWMzIDMuMSA1LjMgNi42IDYuOSAxMC4zYzEuNiAzLjggMi40IDcuOSAyLjQgMTIuMnY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzOTcuM0w1NC42IDUwMi42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wxMTQuNyAzNTJ6TTQxNiA5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMydjE4LjdMNTg1LjQgOS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNMNTI1LjMgMTYwSDU0NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg0NDhjLTguOCAwLTE2LjgtMy42LTIyLjYtOS4zbC0uMS0uMWMtMy0zLjEtNS4zLTYuNi02LjktMTAuM3MtMi40LTcuOC0yLjQtMTIuMmwwLS4xdjBWOTZ6TTUyNS4zIDM1Mkw2MzAuNiA0NTcuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEw0ODAgMzk3LjNWNDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjMyMHYwYzAgMCAwLS4xIDAtLjFjMC00LjMgLjktOC40IDIuNC0xMi4yYzEuNi0zLjggMy45LTcuMyA2LjktMTAuNGM1LjgtNS44IDEzLjctOS4zIDIyLjUtOS40YzAgMCAuMSAwIC4xIDBoMCA5NmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg1MjUuM3pcIl1cbn07XG52YXIgZmFDaXJjbGVDaGV2cm9uUmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLWNoZXZyb24tcmlnaHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImNoZXZyb24tY2lyY2xlLXJpZ2h0XCJdLCBcImYxMzhcIiwgXCJNMCAyNTZhMjU2IDI1NiAwIDEgMCA1MTIgMEEyNTYgMjU2IDAgMSAwIDAgMjU2ek0yNDEgMzc3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDg3LTg3LTg3LTg3Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBMMzQ1IDIzOWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOUwyNDEgMzc3elwiXVxufTtcbnZhciBmYUNoZXZyb25DaXJjbGVSaWdodCA9IGZhQ2lyY2xlQ2hldnJvblJpZ2h0O1xudmFyIGZhQXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MTk0Nl0sIFwiNDBcIiwgXCJNMjU2IDY0QzE1MCA2NCA2NCAxNTAgNjQgMjU2czg2IDE5MiAxOTIgMTkyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyQzExNC42IDUxMiAwIDM5Ny40IDAgMjU2UzExNC42IDAgMjU2IDBTNTEyIDExNC42IDUxMiAyNTZ2MzJjMCA1My00MyA5Ni05NiA5NmMtMjkuMyAwLTU1LjYtMTMuMi03My4yLTMzLjlDMzIwIDM3MS4xIDI4OS41IDM4NCAyNTYgMzg0Yy03MC43IDAtMTI4LTU3LjMtMTI4LTEyOHM1Ny4zLTEyOCAxMjgtMTI4YzI3LjkgMCA1My43IDguOSA3NC43IDI0LjFjNS43LTUgMTMuMS04LjEgMjEuMy04LjFjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2ODAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyNTZjMC0xMDYtODYtMTkyLTE5Mi0xOTJ6bTY0IDE5MmE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6XCJdXG59O1xudmFyIGZhVHJhc2hDYW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJhc2gtY2FuJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbNjE0NjAsIFwidHJhc2gtYWx0XCJdLCBcImYyZWRcIiwgXCJNMTM1LjIgMTcuN0MxNDAuNiA2LjggMTUxLjcgMCAxNjMuOCAwSDI4NC4yYzEyLjEgMCAyMy4yIDYuOCAyOC42IDE3LjdMMzIwIDMyaDk2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyQzE0LjMgOTYgMCA4MS43IDAgNjRTMTQuMyAzMiAzMiAzMmg5Nmw3LjItMTQuM3pNMzIgMTI4SDQxNlY0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRIOTZjLTM1LjMgMC02NC0yOC43LTY0LTY0VjEyOHptOTYgNjRjLTguOCAwLTE2IDcuMi0xNiAxNlY0MzJjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlYyMDhjMC04LjgtNy4yLTE2LTE2LTE2em05NiAwYy04LjggMC0xNiA3LjItMTYgMTZWNDMyYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMjA4YzAtOC44LTcuMi0xNi0xNi0xNnptOTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2VjQzMmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjIwOGMwLTguOC03LjItMTYtMTYtMTZ6XCJdXG59O1xudmFyIGZhVHJhc2hBbHQgPSBmYVRyYXNoQ2FuO1xudmFyIGZhVGV4dEhlaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZXh0LWhlaWdodCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjAzNFwiLCBcIk02NCAxMjhWOTZoNjRsMCAzMjBIOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJIMjI0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDE5MmwwLTMyMGg2NHYzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDE2MCA0OEMyMS41IDMyIDAgNTMuNSAwIDgwdjQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJ6TTUwMi42IDQxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC02NCA2NGMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0LjlzMTYuNiAxOS44IDI5LjYgMTkuOGgzMlYzNTJINDE2Yy0xMi45IDAtMjQuNiA3LjgtMjkuNiAxOS44cy0yLjIgMjUuNyA2LjkgMzQuOWw2NCA2NGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGw2NC02NGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOXMtMTYuNi0xOS44LTI5LjYtMTkuOEg1MTJWMTYwaDMyYzEyLjkgMCAyNC42LTcuOCAyOS42LTE5LjhzMi4yLTI1LjctNi45LTM0LjlsLTY0LTY0elwiXVxufTtcbnZhciBmYVVzZXJYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLXhtYXJrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJ1c2VyLXRpbWVzXCJdLCBcImYyMzVcIiwgXCJNOTYgMTI4YTEyOCAxMjggMCAxIDEgMjU2IDBBMTI4IDEyOCAwIDEgMSA5NiAxMjh6TTAgNDgyLjNDMCAzODMuOCA3OS44IDMwNCAxNzguMyAzMDRoOTEuNEMzNjguMiAzMDQgNDQ4IDM4My44IDQ0OCA0ODIuM2MwIDE2LjQtMTMuMyAyOS43LTI5LjcgMjkuN0gyOS43QzEzLjMgNTEyIDAgNDk4LjcgMCA0ODIuM3pNNDcxIDE0M2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMGw0NyA0NyA0Ny00N2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTQ3IDQ3IDQ3IDQ3YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQ3LTQ3LTQ3IDQ3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDQ3LTQ3LTQ3LTQ3Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXpcIl1cbn07XG52YXIgZmFVc2VyVGltZXMgPSBmYVVzZXJYbWFyaztcbnZhciBmYVN0ZXRob3Njb3BlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0ZXRob3Njb3BlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI5NjU4XSwgXCJmMGYxXCIsIFwiTTE0Mi40IDIxLjljNS42IDE2LjgtMy41IDM0LjktMjAuMiA0MC41TDk2IDcxLjFWMTkyYzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZWNzEuMWwtMjYuMS04LjdjLTE2LjgtNS42LTI1LjgtMjMuNy0yMC4yLTQwLjVzMjMuNy0yNS44IDQwLjUtMjAuMmwyNi4xIDguN0MzMzQuNCAxOS4xIDM1MiA0My41IDM1MiA3MS4xVjE5MmMwIDc3LjItNTQuNiAxNDEuNi0xMjcuMyAxNTYuN0MyMzEgNDA0LjYgMjc4LjQgNDQ4IDMzNiA0NDhjNjEuOSAwIDExMi01MC4xIDExMi0xMTJWMjY1LjNjLTI4LjMtMTIuMy00OC00MC41LTQ4LTczLjNjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGMwIDMyLjgtMTkuNyA2MS00OCA3My4zVjMzNmMwIDk3LjItNzguOCAxNzYtMTc2IDE3NmMtOTIuOSAwLTE2OC45LTcxLjktMTc1LjUtMTYzLjFDODcuMiAzMzQuMiAzMiAyNjkuNiAzMiAxOTJWNzEuMWMwLTI3LjUgMTcuNi01MiA0My44LTYwLjdsMjYuMS04LjdjMTYuOC01LjYgMzQuOSAzLjUgNDAuNSAyMC4yek00ODAgMjI0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG52YXIgZmFNZXNzYWdlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21lc3NhZ2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImNvbW1lbnQtYWx0XCJdLCBcImYyN2FcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRWMzUyYzAgMzUuMyAyOC43IDY0IDY0IDY0aDk2djgwYzAgNi4xIDMuNCAxMS42IDguOCAxNC4zczExLjkgMi4xIDE2LjgtMS41TDMwOS4zIDQxNkg0NDhjMzUuMyAwIDY0LTI4LjcgNjQtNjRWNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6XCJdXG59O1xudmFyIGZhQ29tbWVudEFsdCA9IGZhTWVzc2FnZTtcbnZhciBmYUluZm8gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaW5mbycsXG4gIGljb246IFsxOTIsIDUxMiwgW10sIFwiZjEyOVwiLCBcIk00OCA4MGE0OCA0OCAwIDEgMSA5NiAwQTQ4IDQ4IDAgMSAxIDQ4IDgwek0wIDIyNGMwLTE3LjcgMTQuMy0zMiAzMi0zMkg5NmMxNy43IDAgMzIgMTQuMyAzMiAzMlY0NDhoMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJINjRWMjU2SDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnpcIl1cbn07XG52YXIgZmFEb3duTGVmdEFuZFVwUmlnaHRUb0NlbnRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkb3duLWxlZnQtYW5kLXVwLXJpZ2h0LXRvLWNlbnRlcicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiY29tcHJlc3MtYWx0XCJdLCBcImY0MjJcIiwgXCJNNDM5IDdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsMzIgMzJjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTg3IDg3IDM5IDM5YzYuOSA2LjkgOC45IDE3LjIgNS4yIDI2LjJzLTEyLjUgMTQuOC0yMi4yIDE0LjhIMjk2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNFY3MmMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJzMTkuMy0xLjcgMjYuMiA1LjJsMzkgMzlMNDM5IDd6TTcyIDI3MkgyMTZjMTMuMyAwIDI0IDEwLjcgMjQgMjRWNDQwYzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTM5LTM5TDczIDUwNWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBMNyA0NzNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDg3LTg3TDU1IDMxM2MtNi45LTYuOS04LjktMTcuMi01LjItMjYuMnMxMi41LTE0LjggMjIuMi0xNC44elwiXVxufTtcbnZhciBmYUNvbXByZXNzQWx0ID0gZmFEb3duTGVmdEFuZFVwUmlnaHRUb0NlbnRlcjtcbnZhciBmYUV4cGxvc2lvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdleHBsb3Npb24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0ZTlcIiwgXCJNNDk5LjYgMTEuM2M2LjctMTAuNyAyMC41LTE0LjUgMzEuNy04LjVzMTUuOCAxOS41IDEwLjYgMzFMNDA0LjggMzM4LjZjMi4yIDIuMyA0LjMgNC43IDYuMyA3LjFsOTcuMi01NC43YzEwLjUtNS45IDIzLjYtMy4xIDMwLjkgNi40czYuMyAyMy0yLjIgMzEuNWwtODcgODdIMzc4LjVjLTEzLjItMzcuMy00OC43LTY0LTkwLjUtNjRzLTc3LjQgMjYuNy05MC41IDY0SDExNy44TDQyLjMgMzYzLjdjLTkuNy02LjctMTMuMS0xOS42LTcuOS0zMC4zczE3LjQtMTUuOSAyOC43LTEyLjRsOTcuMiAzMC40YzMtMy45IDYuMS03LjcgOS40LTExLjNMMTA3LjQgMjM2LjNjLTYuMS0xMC4xLTMuOS0yMy4xIDUuMS0zMC43czIyLjItNy41IDMxLjEgLjFMMjQ2IDI5My42YzEuNS0uNCAzLS44IDQuNS0xLjFsMTMuNi0xNDIuN2MxLjItMTIuMyAxMS41LTIxLjcgMjMuOS0yMS43czIyLjcgOS40IDIzLjkgMjEuN2wxMy41IDE0MS45TDQ5OS42IDExLjN6TTY0IDQ0OHYwSDUxMnYwaDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDY0ek0yODggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNFY3MmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpcIl1cbn07XG52YXIgZmFGaWxlTGluZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1saW5lcycsXG4gIGljb246IFszODQsIDUxMiwgWzEyODQ0MSwgMTI4NDYyLCA2MTY4NiwgXCJmaWxlLWFsdFwiLCBcImZpbGUtdGV4dFwiXSwgXCJmMTVjXCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzMjBjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTYwSDI1NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMEg2NHpNMjU2IDBWMTI4SDM4NEwyNTYgMHpNMTEyIDI1NkgyNzJjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMTEyYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0wIDY0SDI3MmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgxMTJjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTAgNjRIMjcyYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDExMmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFGaWxlQWx0ID0gZmFGaWxlTGluZXM7XG52YXIgZmFGaWxlVGV4dCA9IGZhRmlsZUxpbmVzO1xudmFyIGZhV2F2ZVNxdWFyZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3YXZlLXNxdWFyZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjgzZVwiLCBcIk0xMjggNjRjMC0xNy43IDE0LjMtMzIgMzItMzJIMzIwYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjQxNmg5NlYyNTZjMC0xNy43IDE0LjMtMzIgMzItMzJINjA4YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDUxMlY0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJIMzIwYy0xNy43IDAtMzItMTQuMy0zMi0zMlY5NkgxOTJWMjU2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyaDk2VjY0elwiXVxufTtcbnZhciBmYVJpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmluZycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjcwYlwiLCBcIk02NCAyMDhjMCA3LjggNC40IDE4LjcgMTcuMSAzMC4zQzEyNi41IDIxNC4xIDE4OC45IDIwMCAyNTYgMjAwczEyOS41IDE0LjEgMTc0LjkgMzguM0M0NDMuNiAyMjYuNyA0NDggMjE1LjggNDQ4IDIwOGMwLTEyLjMtMTAuOC0zMi00Ny45LTUwLjZDMzY0LjkgMTM5LjggMzE0IDEyOCAyNTYgMTI4cy0xMDguOSAxMS44LTE0NC4xIDI5LjRDNzQuOCAxNzYgNjQgMTk1LjcgNjQgMjA4em0xOTIgNDBjLTQ3IDAtODkuMyA3LjYtMTIyLjkgMTkuN0MxNjYuMyAyODAuMiAyMDguOCAyODggMjU2IDI4OHM4OS43LTcuOCAxMjIuOS0yMC4zQzM0NS4zIDI1NS42IDMwMyAyNDggMjU2IDI0OHpNMCAyMDhjMC00OS42IDM5LjQtODUuOCA4My4zLTEwNy44QzEyOS4xIDc3LjMgMTkwLjMgNjQgMjU2IDY0czEyNi45IDEzLjMgMTcyLjcgMzYuMmM0My45IDIyIDgzLjMgNTguMiA4My4zIDEwNy44djk2YzAgNDkuNi0zOS40IDg1LjgtODMuMyAxMDcuOEMzODIuOSA0MzQuNyAzMjEuNyA0NDggMjU2IDQ0OHMtMTI2LjktMTMuMy0xNzIuNy0zNi4yQzM5LjQgMzg5LjggMCAzNTMuNiAwIDMwNFYyMDh6XCJdXG59O1xudmFyIGZhQnVpbGRpbmdVbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidWlsZGluZy11bicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTRkOVwiLCBcIk00OCAwQzIxLjUgMCAwIDIxLjUgMCA0OFY0NjRjMCAyNi41IDIxLjUgNDggNDggNDhoOTZWNDMyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDh2ODBoOTZjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhINDh6TTY0IDI0MGMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjI0MHptMTEyLTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMTc2Yy04LjggMC0xNi03LjItMTYtMTZWMjQwYzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTZjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMjcyYy04LjggMC0xNi03LjItMTYtMTZWMjQwek0yMzcuMyA3MS4xbDM0LjcgNTJWODBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnY5NmMwIDcuMS00LjYgMTMuMy0xMS40IDE1LjNzLTE0LS42LTE3LjktNi40bC0zNC43LTUyVjE3NmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlY4MGMwLTcuMSA0LjYtMTMuMyAxMS40LTE1LjNzMTQgLjYgMTcuOSA2LjR6TTExMiA4MHY2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjgwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ2NjRjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhWODBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnpcIl1cbn07XG52YXIgZmFEaWNlVGhyZWUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGljZS10aHJlZScsXG4gIGljb246IFs0NDgsIDUxMiwgWzk4NThdLCBcImY1MjdcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzg0YzM1LjMgMCA2NC0yOC43IDY0LTY0Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0em02NCA5NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTY0IDEyOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xMjggNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbnZhciBmYUNhbGVuZGFyRGF5cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYWxlbmRhci1kYXlzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJjYWxlbmRhci1hbHRcIl0sIFwiZjA3M1wiLCBcIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMlY2NEgyODhWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMlY2NGg0OGMyNi41IDAgNDggMjEuNSA0OCA0OHY0OEgwVjExMkMwIDg1LjUgMjEuNSA2NCA0OCA2NEg5NlYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMCAxOTJINDQ4VjQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMTkyem02NCA4MHYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjI3MmMwLTguOC03LjItMTYtMTYtMTZIODBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTI4IDB2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYyNzJjMC04LjgtNy4yLTE2LTE2LTE2SDIwOGMtOC44IDAtMTYgNy4yLTE2IDE2em0xNDQtMTZjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjI3MmMwLTguOC03LjItMTYtMTYtMTZIMzM2ek02NCA0MDB2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlY0MDBjMC04LjgtNy4yLTE2LTE2LTE2SDgwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE0NC0xNmMtOC44IDAtMTYgNy4yLTE2IDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWNDAwYzAtOC44LTcuMi0xNi0xNi0xNkgyMDh6bTExMiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjQwMGMwLTguOC03LjItMTYtMTYtMTZIMzM2Yy04LjggMC0xNiA3LjItMTYgMTZ6XCJdXG59O1xudmFyIGZhQ2FsZW5kYXJBbHQgPSBmYUNhbGVuZGFyRGF5cztcbnZhciBmYUFuY2hvckNpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2FuY2hvci1jaXJjbGUtY2hlY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0YWFcIiwgXCJNMzIwIDk2YTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6bTIxLjEgODBDMzY3IDE1OC44IDM4NCAxMjkuNCAzODQgOTZjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZjMCAzMy40IDE3IDYyLjggNDIuOSA4MEgyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoMzJWNDQ4SDIwOGMtNTMgMC05Ni00My05Ni05NnYtNi4xbDcgN2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMOTcgMjYzYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMEw3IDMxOWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDctN1YzNTJjMCA4OC40IDcxLjYgMTYwIDE2MCAxNjBoODAgODBjOC4yIDAgMTYuMy0uNiAyNC4yLTEuOGMtMjIuMi0xNi4yLTQwLjQtMzcuNS01My02Mi4ySDMyMFYzNjggMjQwaDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDM0MS4xek02NDAgMzY4YTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS03Ni43LTQzLjNjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZsLTcyIDcyYy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMGwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMEw0ODAgMzg1LjRsNjAuNy02MC43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwelwiXVxufTtcbnZhciBmYUJ1aWxkaW5nQ2lyY2xlQXJyb3dSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidWlsZGluZy1jaXJjbGUtYXJyb3ctcmlnaHQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZDFcIiwgXCJNMCA0OEMwIDIxLjUgMjEuNSAwIDQ4IDBIMzM2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4VjIzMi4yYy0zOS4xIDMyLjMtNjQgODEuMS02NCAxMzUuOGMwIDQ5LjUgMjAuNCA5NC4yIDUzLjMgMTI2LjJDMzY0LjUgNTA1LjEgMzUxLjEgNTEyIDMzNiA1MTJIMjQwVjQzMmMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OHY4MEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWNDh6TTgwIDIyNGMtOC44IDAtMTYgNy4yLTE2IDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMjQwYzAtOC44LTcuMi0xNi0xNi0xNkg4MHptODAgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYyNDBjMC04LjgtNy4yLTE2LTE2LTE2SDE3NmMtOC44IDAtMTYgNy4yLTE2IDE2em0xMTItMTZjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjI0MGMwLTguOC03LjItMTYtMTYtMTZIMjcyek02NCAxMTJ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYxMTJjMC04LjgtNy4yLTE2LTE2LTE2SDgwYy04LjggMC0xNiA3LjItMTYgMTZ6TTE3NiA5NmMtOC44IDAtMTYgNy4yLTE2IDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMTEyYzAtOC44LTcuMi0xNi0xNi0xNkgxNzZ6bTgwIDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMTEyYzAtOC44LTcuMi0xNi0xNi0xNkgyNzJjLTguOCAwLTE2IDcuMi0xNiAxNnptOTYgMjU2YTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTE0MC43LTY3LjNjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42TDUyMS40IDM1Mkg0MzJjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZoODkuNGwtMjguNyAyOC43Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsNTYtNTZjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZsLTU2LTU2Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHpcIl1cbn07XG52YXIgZmFWb2xsZXliYWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZvbGxleWJhbGwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc5NTIsIFwidm9sbGV5YmFsbC1iYWxsXCJdLCBcImY0NWZcIiwgXCJNNTExLjggMjY3LjRjLTI2LjEgOC43LTUzLjQgMTMuOC04MSAxNS4xYzkuMi0xMDUuMy0zMS41LTIwNC4yLTEwMy4yLTI3Mi40QzQzNC4xIDQxLjEgNTEyIDEzOS41IDUxMiAyNTZjMCAzLjgtLjEgNy42LS4yIDExLjR6bS0zLjkgMzQuN2MtNS44IDMyLTE3LjYgNjItMzQuMiA4OC43Yy05Ny41IDQ4LjUtMjE3LjcgNDIuNi0zMTEuOS0yNC41YzIzLjctMzYuMiA1NS40LTY3LjcgOTQuNS05MS44Yzc5LjkgNDMuMiAxNzAuMSA1MC44IDI1MS42IDI3LjZ6bS0yMzYtNTUuNWMtMi41LTkwLjktNDEuMS0xNzIuNy0xMDEuOS0yMzEuN0MxOTYuOCA1LjIgMjI1LjggMCAyNTYgMGMyLjcgMCA1LjMgMCA3LjkgLjFjOTAuOCA2MC4yIDE0NS43IDE2Ny4yIDEzNC43IDI4Mi4zYy00My4xLTIuNC04Ni40LTE0LjEtMTI2LjgtMzUuOXpNMTM4IDI4LjhjMjAuNiAxOC4zIDM4LjcgMzkuNCA1My43IDYyLjZDOTUuOSAxMzYuMSAzMC42IDIyMC44IDcuMyAzMTYuOUMyLjUgMjk3LjQgMCAyNzcgMCAyNTZDMCAxNTcuMiA1NiA3MS41IDEzOCAyOC44em02OS42IDkwLjVjMTkuNSAzOC42IDMxIDgxLjkgMzIuMyAxMjcuN0MxNjIuNSAyOTQuNiAxMTAuOSAzNjguOSA5MC4yIDQ1MUM2NiA0MzAuNCA0NS42IDQwNS40IDMwLjQgMzc3LjJjNi43LTEwOC43IDcxLjktMjA5LjkgMTc3LjEtMjU3Ljl6TTI1NiA1MTJjLTUwLjcgMC05OC0xNC43LTEzNy44LTQwLjJjNS42LTI3IDE0LjgtNTMuMSAyNy40LTc3LjdDMjMyLjIgNDU0LjYgMzM4LjEgNDY4LjggNDMzIDQ0MWMtNDYgNDQtMTA4LjMgNzEtMTc3IDcxelwiXVxufTtcbnZhciBmYVZvbGxleWJhbGxCYWxsID0gZmFWb2xsZXliYWxsO1xudmFyIGZhQXJyb3dzVXBUb0xpbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3dzLXVwLXRvLWxpbmUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0YzJcIiwgXCJNMzIgOTZsNTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2ek05LjQgMjMzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMOTYgMjM3LjMgOTYgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yMTAuNyA0MS40IDQxLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC05NiA5NnptMzIwIDQ1LjNjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBMNDE2IDIzNy4zIDQxNiA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTIxMC43IDQxLjQgNDEuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC05Ni05NmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3pcIl1cbn07XG52YXIgZmFTb3J0RG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzb3J0LWRvd24nLFxuICBpY29uOiBbMzIwLCA1MTIsIFtcInNvcnQtZGVzY1wiXSwgXCJmMGRkXCIsIFwiTTE4Mi42IDQ3MC42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtMTI4LTEyOGMtOS4yLTkuMi0xMS45LTIyLjktNi45LTM0LjlzMTYuNi0xOS44IDI5LjYtMTkuOEgyODhjMTIuOSAwIDI0LjYgNy44IDI5LjYgMTkuOHMyLjIgMjUuNy02LjkgMzQuOWwtMTI4IDEyOHpcIl1cbn07XG52YXIgZmFTb3J0RGVzYyA9IGZhU29ydERvd247XG52YXIgZmFDaXJjbGVNaW51cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtbWludXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcIm1pbnVzLWNpcmNsZVwiXSwgXCJmMDU2XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xODQgMjMySDMyOGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEgxODRjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6XCJdXG59O1xudmFyIGZhTWludXNDaXJjbGUgPSBmYUNpcmNsZU1pbnVzO1xudmFyIGZhRG9vck9wZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZG9vci1vcGVuJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNTJiXCIsIFwiTTMyMCAzMmMwLTkuOS00LjUtMTkuMi0xMi4zLTI1LjJTMjg5LjgtMS40IDI4MC4yIDFsLTE3OS45IDQ1Qzc5IDUxLjMgNjQgNzAuNSA2NCA5Mi41VjQ0OEgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg5NiAyODhoMzJWNDgwIDMyek0yNTYgMjU2YzAgMTcuNy0xMC43IDMyLTI0IDMycy0yNC0xNC4zLTI0LTMyczEwLjctMzIgMjQtMzJzMjQgMTQuMyAyNCAzMnptOTYtMTI4aDk2VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMmg2NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg1MTJWMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0SDM1MnY2NHpcIl1cbn07XG52YXIgZmFSaWdodEZyb21CcmFja2V0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JpZ2h0LWZyb20tYnJhY2tldCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wic2lnbi1vdXQtYWx0XCJdLCBcImYyZjVcIiwgXCJNMzc3LjkgMTA1LjlMNTAwLjcgMjI4LjdjNy4yIDcuMiAxMS4zIDE3LjEgMTEuMyAyNy4zcy00LjEgMjAuMS0xMS4zIDI3LjNMMzc3LjkgNDA2LjFjLTYuNCA2LjQtMTUgOS45LTI0IDkuOWMtMTguNyAwLTMzLjktMTUuMi0zMy45LTMzLjlsMC02Mi4xLTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDEyOCAwIDAtNjIuMWMwLTE4LjcgMTUuMi0zMy45IDMzLjktMzMuOWM5IDAgMTcuNiAzLjYgMjQgOS45ek0xNjAgOTZMOTYgOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMjU2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY0IDBjLTUzIDAtOTYtNDMtOTYtOTZMMCAxMjhDMCA3NSA0MyAzMiA5NiAzMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyelwiXVxufTtcbnZhciBmYVNpZ25PdXRBbHQgPSBmYVJpZ2h0RnJvbUJyYWNrZXQ7XG52YXIgZmFBdG9tID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2F0b20nLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5ODgzXSwgXCJmNWQyXCIsIFwiTTI1NiAzOTguOGMtMTEuOCA1LjEtMjMuNCA5LjctMzQuOSAxMy41YzE2LjcgMzMuOCAzMSAzNS43IDM0LjkgMzUuN3MxOC4xLTEuOSAzNC45LTM1LjdjLTExLjQtMy45LTIzLjEtOC40LTM0LjktMTMuNXpNNDQ2IDI1NmMzMyA0NS4yIDQ0LjMgOTAuOSAyMy42IDEyOGMtMjAuMiAzNi4zLTYyLjUgNDkuMy0xMTUuMiA0My4yYy0yMiA1Mi4xLTU1LjYgODQuOC05OC40IDg0LjhzLTc2LjQtMzIuNy05OC40LTg0LjhjLTUyLjcgNi4xLTk1LTYuOC0xMTUuMi00My4yQzIxLjcgMzQ2LjkgMzMgMzAxLjIgNjYgMjU2Yy0zMy00NS4yLTQ0LjMtOTAuOS0yMy42LTEyOGMyMC4yLTM2LjMgNjIuNS00OS4zIDExNS4yLTQzLjJDMTc5LjYgMzIuNyAyMTMuMiAwIDI1NiAwczc2LjQgMzIuNyA5OC40IDg0LjhjNTIuNy02LjEgOTUgNi44IDExNS4yIDQzLjJjMjAuNyAzNy4xIDkuNCA4Mi44LTIzLjYgMTI4em0tNjUuOCA2Ny40Yy0xLjcgMTQuMi0zLjkgMjgtNi43IDQxLjJjMzEuOCAxLjQgMzguNi04LjcgNDAuMi0xMS43YzIuMy00LjIgNy0xNy45LTExLjktNDguMWMtNi44IDYuMy0xNCAxMi41LTIxLjYgMTguNnptLTYuNy0xNzUuOWMyLjggMTMuMSA1IDI2LjkgNi43IDQxLjJjNy42IDYuMSAxNC44IDEyLjMgMjEuNiAxOC42YzE4LjktMzAuMiAxNC4yLTQ0IDExLjktNDguMWMtMS42LTIuOS04LjQtMTMtNDAuMi0xMS43ek0yOTAuOSA5OS43QzI3NC4xIDY1LjkgMjU5LjkgNjQgMjU2IDY0cy0xOC4xIDEuOS0zNC45IDM1LjdjMTEuNCAzLjkgMjMuMSA4LjQgMzQuOSAxMy41YzExLjgtNS4xIDIzLjQtOS43IDM0LjktMTMuNXptLTE1OSA4OC45YzEuNy0xNC4zIDMuOS0yOCA2LjctNDEuMmMtMzEuOC0xLjQtMzguNiA4LjctNDAuMiAxMS43Yy0yLjMgNC4yLTcgMTcuOSAxMS45IDQ4LjFjNi44LTYuMyAxNC0xMi41IDIxLjYtMTguNnpNMTEwLjIgMzA0LjhDOTEuNCAzMzUgOTYgMzQ4LjcgOTguMyAzNTIuOWMxLjYgMi45IDguNCAxMyA0MC4yIDExLjdjLTIuOC0xMy4xLTUtMjYuOS02LjctNDEuMmMtNy42LTYuMS0xNC44LTEyLjMtMjEuNi0xOC42ek0zMzYgMjU2YTgwIDgwIDAgMSAwIC0xNjAgMCA4MCA4MCAwIDEgMCAxNjAgMHptLTgwLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFTb2FwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NvYXAnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjk1MzJdLCBcImUwNmVcIiwgXCJNMjA4IDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNMzIwIDI1NmE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHpNNDE2IDMyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTAgMTYwYzAgMjcuNi0xMS43IDUyLjUtMzAuNCA3MC4xQzQyMi4xIDI3NS43IDQ0OCAzMTAuOCA0NDggMzUyYzAgNTMtNDMgOTYtOTYgOTZIMTYwYy01MyAwLTk2LTQzLTk2LTk2czQzLTk2IDk2LTk2aDg4LjRjLTE1LjItMTctMjQuNC0zOS40LTI0LjQtNjRIOTZjLTUzIDAtOTYgNDMtOTYgOTZWNDE2YzAgNTMgNDMgOTYgOTYgOTZINDE2YzUzIDAgOTYtNDMgOTYtOTZWMjg4YzAtNTMtNDMtOTYtOTYtOTZ6TTE2MCAyODhjLTM1LjMgMC02NCAyOC43LTY0IDY0czI4LjcgNjQgNjQgNjRIMzUyYzM1LjMgMCA2NC0yOC43IDY0LTY0cy0yOC43LTY0LTY0LTY0SDMyMCAxNjB6XCJdXG59O1xudmFyIGZhSWNvbnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaWNvbnMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImhlYXJ0LW11c2ljLWNhbWVyYS1ib2x0XCJdLCBcImY4NmRcIiwgXCJNNTAwLjMgNy4zQzUwNy43IDEzLjMgNTEyIDIyLjQgNTEyIDMyVjE3NmMwIDI2LjUtMjguNyA0OC02NCA0OHMtNjQtMjEuNS02NC00OHMyOC43LTQ4IDY0LTQ4VjcxTDM1MiA5MC4yVjIwOGMwIDI2LjUtMjguNyA0OC02NCA0OHMtNjQtMjEuNS02NC00OHMyOC43LTQ4IDY0LTQ4VjY0YzAtMTUuMyAxMC44LTI4LjQgMjUuNy0zMS40bDE2MC0zMmM5LjQtMS45IDE5LjEgLjYgMjYuNiA2LjZ6TTc0LjcgMzA0bDExLjgtMTcuOGM1LjktOC45IDE1LjktMTQuMiAyNi42LTE0LjJoNjEuN2MxMC43IDAgMjAuNyA1LjMgMjYuNiAxNC4yTDIxMy4zIDMwNEgyNDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhWNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFYzNTJjMC0yNi41IDIxLjUtNDggNDgtNDhINzQuN3pNMTkyIDQwOGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek00NzguNyAyNzguM0w0NDAuMyAzNjhINDk2YzYuNyAwIDEyLjYgNC4xIDE1IDEwLjRzLjYgMTMuMy00LjQgMTcuN2wtMTI4IDExMmMtNS42IDQuOS0xMy45IDUuMy0xOS45IC45cy04LjItMTIuNC01LjMtMTkuMkwzOTEuNyA0MDBIMzM2Yy02LjcgMC0xMi42LTQuMS0xNS0xMC40cy0uNi0xMy4zIDQuNC0xNy43bDEyOC0xMTJjNS42LTQuOSAxMy45LTUuMyAxOS45LS45czguMiAxMi40IDUuMyAxOS4yem0tMzM5LTU5LjJjLTYuNSA2LjUtMTcgNi41LTIzIDBMMTkuOSAxMTkuMmMtMjgtMjktMjYuNS03Ni45IDUtMTAzLjljMjctMjMuNSA2OC40LTE5IDkzLjQgNi41bDEwIDEwLjUgOS41LTEwLjVjMjUtMjUuNSA2NS45LTMwIDkzLjktNi41YzMxIDI3IDMyLjUgNzQuOSA0LjUgMTAzLjlsLTk2LjQgOTkuOXpcIl1cbn07XG52YXIgZmFIZWFydE11c2ljQ2FtZXJhQm9sdCA9IGZhSWNvbnM7XG52YXIgZmFNaWNyb3Bob25lTGluZXNTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtaWNyb3Bob25lLWxpbmVzLXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJtaWNyb3Bob25lLWFsdC1zbGFzaFwiXSwgXCJmNTM5XCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdMNDcyLjEgMzQ0LjdjMTUuMi0yNiAyMy45LTU2LjMgMjMuOS04OC43VjIxNmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHYyNCAxNmMwIDIxLjItNS4xIDQxLjEtMTQuMiA1OC43TDQxNiAzMDAuOFYyNTZIMzU4LjlsLTM0LjUtMjdjMi45LTMuMSA3LTUgMTEuNi01aDgwVjE5MkgzMzZjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZoODBWMTI4SDMzNmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmg4MGMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NnY1NC4zTDM4LjggNS4xek0zNTguMiAzNzguMkMzNDYuMSAzODIgMzMzLjMgMzg0IDMyMCAzODRjLTcwLjcgMC0xMjgtNTcuMy0xMjgtMTI4di04LjdMMTQ0LjcgMjEwYy0uNSAxLjktLjcgMy45LS43IDZ2NDBjMCA4OS4xIDY2LjIgMTYyLjcgMTUyIDE3NC40VjQ2NEgyNDhjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRoNzIgNzJjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRIMzQ0VjQzMC40YzIwLjQtMi44IDM5LjctOS4xIDU3LjMtMTguMmwtNDMuMS0zMy45elwiXVxufTtcbnZhciBmYU1pY3JvcGhvbmVBbHRTbGFzaCA9IGZhTWljcm9waG9uZUxpbmVzU2xhc2g7XG52YXIgZmFCcmlkZ2VDaXJjbGVDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdicmlkZ2UtY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGM5XCIsIFwiTTY0IDMyQzQ2LjMgMzIgMzIgNDYuMyAzMiA2NHMxNC4zIDMyIDMyIDMyaDQwdjY0SDMyVjI4OGM1MyAwIDk2IDQzIDk2IDk2djY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyaDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM4NGMwLTUzIDQzLTk2IDk2LTk2YzYuMyAwIDEyLjQgLjYgMTguMyAxLjdDMzY3LjEgMjMxLjggNDI2LjkgMTkyIDQ5NiAxOTJjNDIuNSAwIDgxLjYgMTUuMSAxMTIgNDAuMlYxNjBINTM2Vjk2aDQwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDY0ek00ODggOTZ2NjRINDA4Vjk2aDgwek0zNjAgOTZ2NjRIMjgwVjk2aDgwek0yMzIgOTZ2NjRIMTUyVjk2aDgwek02NDAgMzY4YTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS03Ni43LTQzLjNjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZsLTcyIDcyYy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMGwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMEw0ODAgMzg1LjRsNjAuNy02MC43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwelwiXVxufTtcbnZhciBmYVB1bXBNZWRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3B1bXAtbWVkaWNhbCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTA2YVwiLCBcIk0xMjggMzJ2OTZIMjU2Vjk2aDYwLjFjNC4yIDAgOC4zIDEuNyAxMS4zIDQuN2wzMy45IDMzLjljMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wzNzIuNyA1NS40Yy0xNS0xNS0zNS40LTIzLjQtNTYuNi0yMy40SDI1NmMwLTE3LjctMTQuMy0zMi0zMi0zMkgxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek0xMTcuNCAxNjBjLTMzLjMgMC02MSAyNS41LTYzLjggNTguN0wzNSA0NDIuN0MzMS45IDQ4MCA2MS4zIDUxMiA5OC44IDUxMkgyODUuMmMzNy40IDAgNjYuOS0zMiA2My44LTY5LjNsLTE4LjctMjI0Yy0yLjgtMzMuMi0zMC41LTU4LjctNjMuOC01OC43SDExNy40ek0yMTYgMjgwdjMyaDMyYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDIxNnYzMmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYzNjBIMTM2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0aDMyVjI4MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0elwiXVxufTtcbnZhciBmYUZpbmdlcnByaW50ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbmdlcnByaW50JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNTc3XCIsIFwiTTQ4IDI1NkM0OCAxNDEuMSAxNDEuMSA0OCAyNTYgNDhjNjMuMSAwIDExOS42IDI4LjEgMTU3LjggNzIuNWM4LjYgMTAuMSAyMy44IDExLjIgMzMuOCAyLjZzMTEuMi0yMy44IDIuNi0zMy44QzQwMy4zIDM0LjYgMzMzLjcgMCAyNTYgMEMxMTQuNiAwIDAgMTE0LjYgMCAyNTZ2NDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFYyNTZ6bTQ1OC41LTUyLjljLTIuNy0xMy0xNS41LTIxLjMtMjguNC0xOC41cy0yMS4zIDE1LjUtMTguNSAyOC40YzIuOSAxMy45IDQuNSAyOC4zIDQuNSA0My4xdjQwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWMjU2YzAtMTguMS0xLjktMzUuOC01LjUtNTIuOXpNMjU2IDgwYy0xOSAwLTM3LjQgMy01NC41IDguNmMtMTUuMiA1LTE4LjcgMjMuNy04LjMgMzUuOWM3LjEgOC4zIDE4LjggMTAuOCAyOS40IDcuOWMxMC42LTIuOSAyMS44LTQuNCAzMy40LTQuNGM3MC43IDAgMTI4IDU3LjMgMTI4IDEyOHYyNC45YzAgMjUuMi0xLjUgNTAuMy00LjQgNzUuM2MtMS43IDE0LjYgOS40IDI3LjggMjQuMiAyNy44YzExLjggMCAyMS45LTguNiAyMy4zLTIwLjNjMy4zLTI3LjQgNS01NSA1LTgyLjdWMjU2YzAtOTcuMi03OC44LTE3Ni0xNzYtMTc2ek0xNTAuNyAxNDguN2MtOS4xLTEwLjYtMjUuMy0xMS40LTMzLjktLjRDOTMuNyAxNzggODAgMjE1LjQgODAgMjU2djI0LjljMCAyNC4yLTIuNiA0OC40LTcuOCA3MS45QzY4LjggMzY4LjQgODAuMSAzODQgOTYuMSAzODRjMTAuNSAwIDE5LjktNyAyMi4yLTE3LjNjNi40LTI4LjEgOS43LTU2LjggOS43LTg1LjhWMjU2YzAtMjcuMiA4LjUtNTIuNCAyMi45LTczLjFjNy4yLTEwLjQgOC0yNC42LS4yLTM0LjJ6TTI1NiAxNjBjLTUzIDAtOTYgNDMtOTYgOTZ2MjQuOWMwIDM1LjktNC42IDcxLjUtMTMuOCAxMDYuMWMtMy44IDE0LjMgNi43IDI5IDIxLjUgMjljOS41IDAgMTcuOS02LjIgMjAuNC0xNS40YzEwLjUtMzkgMTUuOS03OS4yIDE1LjktMTE5LjdWMjU2YzAtMjguNyAyMy4zLTUyIDUyLTUyczUyIDIzLjMgNTIgNTJ2MjQuOWMwIDM2LjMtMy41IDcyLjQtMTAuNCAxMDcuOWMtMi43IDEzLjkgNy43IDI3LjIgMjEuOCAyNy4yYzEwLjIgMCAxOS03IDIxLTE3YzcuNy0zOC44IDExLjYtNzguMyAxMS42LTExOC4xVjI1NmMwLTUzLTQzLTk2LTk2LTk2em0yNCA5NmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHYyNC45YzAgNTkuOS0xMSAxMTkuMy0zMi41IDE3NS4ybC01LjkgMTUuM2MtNC44IDEyLjQgMS40IDI2LjMgMTMuOCAzMXMyNi4zLTEuNCAzMS0xMy44bDUuOS0xNS4zQzI2Ny45IDQxMS45IDI4MCAzNDYuNyAyODAgMjgwLjlWMjU2elwiXVxufTtcbnZhciBmYUhhbmRQb2ludFJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtcG9pbnQtcmlnaHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYwYTRcIiwgXCJNNDgwIDk2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yMDggMCAwLTY0IDIwOCAwek0zMjAgMjg4YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDY0IDB6bTY0LTY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC00OCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDQ4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6TTI4OCAzODRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjQgMHptLTg4LTk2bC42IDBjLTUuNCA5LjQtOC42IDIwLjMtOC42IDMyYzAgMTMuMiA0IDI1LjQgMTAuOCAzNS42QzE3Ny45IDM2NC4zIDE2MCAzODguMSAxNjAgNDE2YzAgMTEuNyAzLjEgMjIuNiA4LjYgMzJsLTguNiAwQzcxLjYgNDQ4IDAgMzc2LjQgMCAyODhsMC02MS43YzAtNDIuNCAxNi45LTgzLjEgNDYuOS0xMTMuMWwxMS42LTExLjZDODIuNSA3Ny41IDExNS4xIDY0IDE0OSA2NGwyNyAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgODhjMCAyMi4xLTE3LjkgNDAtNDAgNDBzLTQwLTE3LjktNDAtNDBsMC01NmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDU2YzAgMzkuOCAzMi4yIDcyIDcyIDcyelwiXVxufTtcbnZhciBmYU1hZ25pZnlpbmdHbGFzc0xvY2F0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hZ25pZnlpbmctZ2xhc3MtbG9jYXRpb24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInNlYXJjaC1sb2NhdGlvblwiXSwgXCJmNjg5XCIsIFwiTTQxNiAyMDhjMCA0NS45LTE0LjkgODguMy00MCAxMjIuN0w1MDIuNiA0NTcuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwzMzAuNyAzNzZjLTM0LjQgMjUuMi03Ni44IDQwLTEyMi43IDQwQzkzLjEgNDE2IDAgMzIyLjkgMCAyMDhTOTMuMSAwIDIwOCAwUzQxNiA5My4xIDQxNiAyMDh6TTI4OCAxNzZjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBjMCA0OC44IDQ2LjUgMTExLjYgNjguNiAxMzguNmM2IDcuMyAxNi44IDcuMyAyMi43IDBjMjIuMS0yNyA2OC42LTg5LjggNjguNi0xMzguNnptLTExMiAwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6XCJdXG59O1xudmFyIGZhU2VhcmNoTG9jYXRpb24gPSBmYU1hZ25pZnlpbmdHbGFzc0xvY2F0aW9uO1xudmFyIGZhRm9yd2FyZFN0ZXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZm9yd2FyZC1zdGVwJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJzdGVwLWZvcndhcmRcIl0sIFwiZjA1MVwiLCBcIk01Mi41IDQ0MC42Yy05LjUgNy45LTIyLjggOS43LTM0LjEgNC40UzAgNDI4LjQgMCA0MTZWOTZDMCA4My42IDcuMiA3Mi4zIDE4LjQgNjdzMjQuNS0zLjYgMzQuMSA0LjRsMTkyIDE2MEwyNTYgMjQxVjk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJWNDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjI3MWwtMTEuNSA5LjYtMTkyIDE2MHpcIl1cbn07XG52YXIgZmFTdGVwRm9yd2FyZCA9IGZhRm9yd2FyZFN0ZXA7XG52YXIgZmFGYWNlU21pbGVCZWFtID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2Utc21pbGUtYmVhbScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODUyMiwgXCJzbWlsZS1iZWFtXCJdLCBcImY1YjhcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2NC4xIDMyNS41QzE4MiAzNDYuMiAyMTIuNiAzNjggMjU2IDM2OHM3NC0yMS44IDkxLjktNDIuNWM1LjgtNi43IDE1LjktNy40IDIyLjYtMS42czcuNCAxNS45IDEuNiAyMi42QzM0OS44IDM3Mi4xIDMxMS4xIDQwMCAyNTYgNDAwcy05My44LTI3LjktMTE2LjEtNTMuNWMtNS44LTYuNy01LjEtMTYuOCAxLjYtMjIuNnMxNi44LTUuMSAyMi42IDEuNnptNTMuNS05Ni43bDAgMCAwIDAtLjItLjJjLS4yLS4yLS40LS41LS43LS45Yy0uNi0uOC0xLjYtMi0yLjgtMy40Yy0yLjUtMi44LTYtNi42LTEwLjItMTAuM2MtOC44LTcuOC0xOC44LTE0LTI3LjctMTRzLTE4LjkgNi4yLTI3LjcgMTRjLTQuMiAzLjctNy43IDcuNS0xMC4yIDEwLjNjLTEuMiAxLjQtMi4yIDIuNi0yLjggMy40Yy0uMyAuNC0uNiAuNy0uNyAuOWwtLjIgLjIgMCAwIDAgMCAwIDBjLTIuMSAyLjgtNS43IDMuOS04LjkgMi44cy01LjUtNC4xLTUuNS03LjZjMC0xNy45IDYuNy0zNS42IDE2LjYtNDguOGM5LjgtMTMgMjMuOS0yMy4yIDM5LjQtMjMuMnMyOS42IDEwLjIgMzkuNCAyMy4yYzkuOSAxMy4yIDE2LjYgMzAuOSAxNi42IDQ4LjhjMCAzLjQtMi4yIDYuNS01LjUgNy42cy02LjkgMC04LjktMi44bDAgMCAwIDB6bTE2MCAwbDAgMC0uMi0uMmMtLjItLjItLjQtLjUtLjctLjljLS42LS44LTEuNi0yLTIuOC0zLjRjLTIuNS0yLjgtNi02LjYtMTAuMi0xMC4zYy04LjgtNy44LTE4LjgtMTQtMjcuNy0xNHMtMTguOSA2LjItMjcuNyAxNGMtNC4yIDMuNy03LjcgNy41LTEwLjIgMTAuM2MtMS4yIDEuNC0yLjIgMi42LTIuOCAzLjRjLS4zIC40LS42IC43LS43IC45bC0uMiAuMiAwIDAgMCAwIDAgMGMtMi4xIDIuOC01LjcgMy45LTguOSAyLjhzLTUuNS00LjEtNS41LTcuNmMwLTE3LjkgNi43LTM1LjYgMTYuNi00OC44YzkuOC0xMyAyMy45LTIzLjIgMzkuNC0yMy4yczI5LjYgMTAuMiAzOS40IDIzLjJjOS45IDEzLjIgMTYuNiAzMC45IDE2LjYgNDguOGMwIDMuNC0yLjIgNi41LTUuNSA3LjZzLTYuOSAwLTguOS0yLjhsMCAwIDAgMCAwIDB6XCJdXG59O1xudmFyIGZhU21pbGVCZWFtID0gZmFGYWNlU21pbGVCZWFtO1xudmFyIGZhRmxhZ0NoZWNrZXJlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmbGFnLWNoZWNrZXJlZCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyNzkzN10sIFwiZjExZVwiLCBcIk0zMiAwQzQ5LjcgMCA2NCAxNC4zIDY0IDMyVjQ4bDY5LTE3LjJjMzguMS05LjUgNzguMy01LjEgMTEzLjUgMTIuNWM0Ni4zIDIzLjIgMTAwLjggMjMuMiAxNDcuMSAwbDkuNi00LjhDNDIzLjggMjguMSA0NDggNDMuMSA0NDggNjYuMVYzNDUuOGMwIDEzLjMtOC4zIDI1LjMtMjAuOCAzMGwtMzQuNyAxM2MtNDYuMiAxNy4zLTk3LjYgMTQuNi0xNDEuNy03LjRjLTM3LjktMTktODEuMy0yMy43LTEyMi41LTEzLjRMNjQgMzg0djk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjQwMCAzMzQgNjQgMzJDMCAxNC4zIDE0LjMgMCAzMiAwek02NCAxODcuMWw2NC0xMy45djY1LjVMNjQgMjUyLjZWMzE4bDQ4LjgtMTIuMmM1LjEtMS4zIDEwLjEtMi40IDE1LjItMy4zVjIzOC43bDM4LjktOC40YzguMy0xLjggMTYuNy0yLjUgMjUuMS0yLjFsMC02NGMxMy42IC40IDI3LjIgMi42IDQwLjQgNi40bDIzLjYgNi45djY2LjdsLTQxLjctMTIuM2MtNy4zLTIuMS0xNC44LTMuNC0yMi4zLTMuOHY3MS40YzIxLjggMS45IDQzLjMgNi43IDY0IDE0LjRWMjQ0LjJsMjIuNyA2LjdjMTMuNSA0IDI3LjMgNi40IDQxLjMgNy40VjE5NGMtNy44LS44LTE1LjYtMi4zLTIzLjItNC41bC00MC44LTEydi02MmMtMTMtMy44LTI1LjgtOC44LTM4LjItMTVjLTguMi00LjEtMTYuOS03LTI1LjgtOC44djcyLjRjLTEzLS40LTI2IC44LTM4LjcgMy42TDEyOCAxNzMuMlY5OEw2NCAxMTR2NzMuMXpNMzIwIDMzNS43YzE2LjggMS41IDMzLjktLjcgNTAtNi44bDE0LTUuMlYyNTEuOWwtNy45IDEuOGMtMTguNCA0LjMtMzcuMyA1LjctNTYuMSA0LjV2NzcuNHptNjQtMTQ5LjRWMTE1LjRjLTIwLjkgNi4xLTQyLjQgOS4xLTY0IDkuMVYxOTRjMTMuOSAxLjQgMjggLjUgNDEuNy0yLjZsMjIuMy01LjJ6XCJdXG59O1xudmFyIGZhRm9vdGJhbGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZm9vdGJhbGwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc5NDQsIFwiZm9vdGJhbGwtYmFsbFwiXSwgXCJmNDRlXCIsIFwiTTI0Ny41IDI1LjRjLTEzLjUgMy4zLTI2LjQgNy4yLTM4LjYgMTEuN0MxNDIuOSA2MS42IDk2LjcgMTAzLjYgNjYgMTUzLjZjLTE4LjMgMjkuOC0zMC45IDYyLjMtMzkuMiA5NS40TDI2NC41IDQ4Ni42YzEzLjUtMy4zIDI2LjQtNy4yIDM4LjYtMTEuN2M2Ni0yNC41IDExMi4yLTY2LjUgMTQyLjktMTE2LjVjMTguMy0yOS44IDMwLjktNjIuMyAzOS4xLTk1LjNMMjQ3LjUgMjUuNHpNNDk1LjIgMjA1LjNjNi4xLTU2LjggMS40LTExMi4yLTcuNy0xNTYuNGMtMi43LTEyLjktMTMtMjIuOS0yNi4xLTI1LjFjLTU4LjItOS43LTEwOS45LTEyLTE1NS42LTcuOUw0OTUuMiAyMDUuM3pNMjA2LjEgNDk2TDE2LjggMzA2LjdjLTYuMSA1Ni44LTEuNCAxMTIuMiA3LjcgMTU2LjRjMi43IDEyLjkgMTMgMjIuOSAyNi4xIDI1LjFjNTguMiA5LjcgMTA5LjkgMTIgMTU1LjYgNy45em01NC42LTMzMS4zYzYuMi02LjIgMTYuNC02LjIgMjIuNiAwbDY0IDY0YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBsLTY0LTY0Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnptLTQ4IDQ4YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwbDY0IDY0YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBsLTY0LTY0Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnptLTQ4IDQ4YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwbDY0IDY0YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBsLTY0LTY0Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnpcIl1cbn07XG52YXIgZmFGb290YmFsbEJhbGwgPSBmYUZvb3RiYWxsO1xudmFyIGZhU2Nob29sQ2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2Nob29sLWNpcmNsZS1leGNsYW1hdGlvbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU2Y1wiLCBcIk0zMzcuOCA1LjRDMzI3LTEuOCAzMTMtMS44IDMwMi4yIDUuNEwxNjYuMyA5Nkg0OEMyMS41IDk2IDAgMTE3LjUgMCAxNDRWNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDMyMHYwSDI1NlY0MTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsLjMgMGguNWMzLjQtMzcuNyAxOC43LTcyLjEgNDIuMi05OS4xQzM1MC4yIDI2MCAzMzUuNiAyNjQgMzIwIDI2NGMtNDguNiAwLTg4LTM5LjQtODgtODhzMzkuNC04OCA4OC04OHM4OCAzOS40IDg4IDg4YzAgMTguMy01LjYgMzUuMy0xNS4xIDQ5LjRjMjktMjEgNjQuNi0zMy40IDEwMy4xLTMzLjRjNTkuNSAwIDExMi4xIDI5LjYgMTQ0IDc0LjhWMTQ0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDQ3My43TDMzNy44IDUuNHpNOTYgMTkyaDMyYzguOCAwIDE2IDcuMiAxNiAxNnY2NGMwIDguOC03LjIgMTYtMTYgMTZIOTZjLTguOCAwLTE2LTcuMi0xNi0xNlYyMDhjMC04LjggNy4yLTE2IDE2LTE2em0wIDEyOGgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2NjRjMCA4LjgtNy4yIDE2LTE2IDE2SDk2Yy04LjggMC0xNi03LjItMTYtMTZWMzM2YzAtOC44IDcuMi0xNiAxNi0xNnpNMzIwIDEyOGMtOC44IDAtMTYgNy4yLTE2IDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgzMzZWMTQ0YzAtOC44LTcuMi0xNi0xNi0xNnpNNDk2IDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtOTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0wLTE0NGM4LjggMCAxNiA3LjIgMTYgMTZ2ODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWMjg4YzAtOC44IDcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFDcm9wID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nyb3AnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYxMjVcIiwgXCJNNDQ4IDEwOS4zbDU0LjYtNTQuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEw0MDIuNyA2NCAxNjAgNjR2NjRsMTc4LjcgMEwxMjggMzM4LjdWMzJjMC0xNy43LTE0LjMtMzItMzItMzJTNjQgMTQuMyA2NCAzMlY2NEgzMkMxNC4zIDY0IDAgNzguMyAwIDk2czE0LjMgMzIgMzIgMzJINjRWMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0SDM1MlYzODRIMTczLjNMMzg0IDE3My4zIDM4NCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlY0NDhoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINDQ4bDAtMjc0Ljd6XCJdXG59O1xudmFyIGZhQW5nbGVzRG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbmdsZXMtZG93bicsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiYW5nbGUtZG91YmxlLWRvd25cIl0sIFwiZjEwM1wiLCBcIk0yNDYuNiA0NzAuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTE2MC0xNjBjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMMjI0IDQwMi43IDM2MS40IDI2NS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNsLTE2MCAxNjB6bTE2MC0zNTJsLTE2MCAxNjBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC0xNjAtMTYwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwTDIyNCAyMTAuNyAzNjEuNCA3My40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6XCJdXG59O1xudmFyIGZhQW5nbGVEb3VibGVEb3duID0gZmFBbmdsZXNEb3duO1xudmFyIGZhVXNlcnNSZWN0YW5nbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlcnMtcmVjdGFuZ2xlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTk0XCIsIFwiTTk2IDBDNDMgMCAwIDQzIDAgOTZWNDE2YzAgNTMgNDMgOTYgOTYgOTZINTQ0YzUzIDAgOTYtNDMgOTYtOTZWOTZjMC01My00My05Ni05Ni05Nkg5NnpNNjQgOTZjMC0xNy43IDE0LjMtMzIgMzItMzJINTQ0YzE3LjcgMCAzMiAxNC4zIDMyIDMyVjQxNmMwIDE3LjctMTQuMyAzMi0zMiAzMkg5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWOTZ6bTE1OS44IDgwYTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTk2IDMwOS4zYzAgMTQuNyAxMS45IDI2LjcgMjYuNyAyNi43aDU2LjFjOC0zNC4xIDMyLjgtNjEuNyA2NS4yLTczLjZjLTcuNS00LjEtMTYuMi02LjQtMjUuMy02LjRIMTQ5LjNDMTE5LjkgMjU2IDk2IDI3OS45IDk2IDMwOS4zek00NjEuMiAzMzZoNTYuMWMxNC43IDAgMjYuNy0xMS45IDI2LjctMjYuN2MwLTI5LjUtMjMuOS01My4zLTUzLjMtNTMuM0g0MjEuM2MtOS4yIDAtMTcuOCAyLjMtMjUuMyA2LjRjMzIuNCAxMS45IDU3LjIgMzkuNSA2NS4yIDczLjZ6TTM3MiAyODljLTMuOS0uNy03LjktMS0xMi0xSDI4MGMtNC4xIDAtOC4xIC4zLTEyIDFjLTI2IDQuNC00Ny4zIDIyLjctNTUuOSA0N2MtMi43IDcuNS00LjEgMTUuNi00LjEgMjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRINDA4YzEzLjMgMCAyNC0xMC43IDI0LTI0YzAtOC40LTEuNC0xNi41LTQuMS0yNGMtOC42LTI0LjMtMjkuOS00Mi42LTU1LjktNDd6TTUxMiAxNzZhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNMzIwIDI1NmE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHpcIl1cbn07XG52YXIgZmFQZW9wbGVSb29mID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Blb3BsZS1yb29mJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTM3XCIsIFwiTTMzNS41IDRsMjg4IDE2MGMxNS40IDguNiAyMSAyOC4xIDEyLjQgNDMuNXMtMjguMSAyMS00My41IDEyLjRMMzIwIDY4LjYgNDcuNSAyMjBjLTE1LjQgOC42LTM0LjkgMy00My41LTEyLjRzLTMtMzQuOSAxMi40LTQzLjVMMzA0LjUgNGM5LjctNS40IDIxLjQtNS40IDMxLjEgMHpNMzIwIDE2MGE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6TTE0NCAyNTZhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgwem0zMTIgNDBhNDAgNDAgMCAxIDEgODAgMCA0MCA0MCAwIDEgMSAtODAgMHpNMjI2LjkgNDkxLjRMMjAwIDQ0MS41VjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMkgxMjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjQ0MS41TDYxLjEgNDkxLjRjLTYuMyAxMS43LTIwLjggMTYtMzIuNSA5LjhzLTE2LTIwLjgtOS44LTMyLjVsMzcuOS03MC4zYzE1LjMtMjguNSA0NS4xLTQ2LjMgNzcuNS00Ni4zaDE5LjVjMTYuMyAwIDMxLjkgNC41IDQ1LjQgMTIuNmwzMy42LTYyLjNjMTUuMy0yOC41IDQ1LjEtNDYuMyA3Ny41LTQ2LjNoMTkuNWMzMi40IDAgNjIuMSAxNy44IDc3LjUgNDYuM2wzMy42IDYyLjNjMTMuNS04LjEgMjkuMS0xMi42IDQ1LjQtMTIuNmgxOS41YzMyLjQgMCA2Mi4xIDE3LjggNzcuNSA0Ni4zbDM3LjkgNzAuM2M2LjMgMTEuNyAxLjkgMjYuMi05LjggMzIuNXMtMjYuMiAxLjktMzIuNS05LjhMNTUyIDQ0MS41VjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMkg0NzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjQ0MS41bC0yNi45IDQ5LjljLTYuMyAxMS43LTIwLjggMTYtMzIuNSA5LjhzLTE2LTIwLjgtOS44LTMyLjVsMzYuMy02Ny41Yy0xLjctMS43LTMuMi0zLjYtNC4zLTUuOEwzNzYgMzQ1LjVWNDAwYzAgMTcuNy0xNC4zIDMyLTMyIDMySDI5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMzQ1LjVsLTI2LjkgNDkuOWMtMS4yIDIuMi0yLjYgNC4xLTQuMyA1LjhsMzYuMyA2Ny41YzYuMyAxMS43IDEuOSAyNi4yLTkuOCAzMi41cy0yNi4yIDEuOS0zMi41LTkuOHpcIl1cbn07XG52YXIgZmFQZW9wbGVMaW5lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Blb3BsZS1saW5lJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTM0XCIsIFwiTTM2MCA3MmE0MCA0MCAwIDEgMCAtODAgMCA0MCA0MCAwIDEgMCA4MCAwek0xNDQgMjA4YTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHpNMzIgNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDYwOGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMnpNNDk2IDIwOGE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6TTIwMCAzMTMuNWwyNi45IDQ5LjljNi4zIDExLjcgMjAuOCAxNiAzMi41IDkuOHMxNi0yMC44IDkuOC0zMi41bC0zNi4zLTY3LjVjMS43LTEuNyAzLjItMy42IDQuMy01LjhMMjY0IDIxNy41VjI3MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmg0OGMxNy43IDAgMzItMTQuMyAzMi0zMlYyMTcuNWwyNi45IDQ5LjljMS4yIDIuMiAyLjYgNC4xIDQuMyA1LjhsLTM2LjMgNjcuNWMtNi4zIDExLjctMS45IDI2LjIgOS44IDMyLjVzMjYuMiAxLjkgMzIuNS05LjhMNDQwIDMxMy41VjM1MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmg0OGMxNy43IDAgMzItMTQuMyAzMi0zMlYzMTMuNWwyNi45IDQ5LjljNi4zIDExLjcgMjAuOCAxNiAzMi41IDkuOHMxNi0yMC44IDkuOC0zMi41bC0zNy45LTcwLjNjLTE1LjMtMjguNS00NS4xLTQ2LjMtNzcuNS00Ni4zSDQ4Ni4yYy0xNi4zIDAtMzEuOSA0LjUtNDUuNCAxMi42bC0zMy42LTYyLjNjLTE1LjMtMjguNS00NS4xLTQ2LjMtNzcuNS00Ni4zSDMxMC4yYy0zMi40IDAtNjIuMSAxNy44LTc3LjUgNDYuM2wtMzMuNiA2Mi4zYy0xMy41LTguMS0yOS4xLTEyLjYtNDUuNC0xMi42SDEzNC4yYy0zMi40IDAtNjIuMSAxNy44LTc3LjUgNDYuM0wxOC45IDM0MC42Yy02LjMgMTEuNy0xLjkgMjYuMiA5LjggMzIuNXMyNi4yIDEuOSAzMi41LTkuOEw4OCAzMTMuNVYzNTJjMCAxNy43IDE0LjMgMzIgMzIgMzJoNDhjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzEzLjV6XCJdXG59O1xudmFyIGZhQmVlck11Z0VtcHR5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JlZXItbXVnLWVtcHR5JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJiZWVyXCJdLCBcImYwZmNcIiwgXCJNMzIgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJIMzUyYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjk2aDUxLjJjNDIuNCAwIDc2LjggMzQuNCA3Ni44IDc2LjhWMjc0LjljMCAzMC40LTE3LjkgNTcuOS00NS42IDcwLjJMMzg0IDM4MS43VjQxNmMwIDM1LjMtMjguNyA2NC02NCA2NEg5NmMtMzUuMyAwLTY0LTI4LjctNjQtNjRWNjR6TTM4NCAzMTEuNmw1Ni40LTI1LjFjNC42LTIuMSA3LjYtNi42IDcuNi0xMS43VjE3Mi44YzAtNy4xLTUuNy0xMi44LTEyLjgtMTIuOEgzODRWMzExLjZ6TTE2MCAxNDRjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZWMzY4YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMTQ0em02NCAwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2VjM2OGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjE0NHptNjQgMGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNlYzNjhjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlYxNDR6XCJdXG59O1xudmFyIGZhQmVlciA9IGZhQmVlck11Z0VtcHR5O1xudmFyIGZhRGlhZ3JhbVByZWRlY2Vzc29yID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpYWdyYW0tcHJlZGVjZXNzb3InLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0NzdcIiwgXCJNNDQ4IDQxNmwwLTY0TDY0IDM1MmwwIDY0IDM4NCAwem0wIDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC02NGMwLTM1LjMgMjguNy02NCA2NC02NGwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0ek0yODggMTYwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDIyNGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwxNDQgMCAxNiAwIDE0NCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgMTYgMzguMSAwYzIxLjQgMCAzMi4xIDI1LjkgMTcgNDFMNDMzIDIzOWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBMMzI5IDE2OWMtMTUuMS0xNS4xLTQuNC00MSAxNy00MWwzOC4xIDAgMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTgwIDAgMCA2NHpcIl1cbn07XG52YXIgZmFBcnJvd1VwTG9uZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy11cC1sb25nJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXCJsb25nLWFycm93LXVwXCJdLCBcImYxNzZcIiwgXCJNMjE0LjYgOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTI4IDEyOGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxNjAgMTA5LjNWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMTA5LjNsNzMuNCA3My40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTEyOC0xMjh6XCJdXG59O1xudmFyIGZhTG9uZ0Fycm93VXAgPSBmYUFycm93VXBMb25nO1xudmFyIGZhRmlyZUZsYW1lU2ltcGxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpcmUtZmxhbWUtc2ltcGxlJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXCJidXJuXCJdLCBcImY0NmFcIiwgXCJNMzcyLjUgMjU2LjVsLS43LTEuOUMzMzcuOCAxNjAuOCAyODIgNzYuNSAyMDkuMSA4LjVsLTMuMy0zQzIwMi4xIDIgMTk3LjEgMCAxOTIgMHMtMTAuMSAyLTEzLjggNS41bC0zLjMgM0MxMDIgNzYuNSA0Ni4yIDE2MC44IDEyLjIgMjU0LjZsLS43IDEuOUMzLjkgMjc3LjMgMCAyOTkuNCAwIDMyMS42QzAgNDI2LjcgODYuOCA1MTIgMTkyIDUxMnMxOTItODUuMyAxOTItMTkwLjRjMC0yMi4yLTMuOS00NC4yLTExLjUtNjUuMXptLTkwLjggNDkuNWM0LjEgOS4zIDYuMiAxOS40IDYuMiAyOS41YzAgNTMtNDMgOTYuNS05NiA5Ni41cy05Ni00My41LTk2LTk2LjVjMC0xMC4xIDIuMS0yMC4zIDYuMi0yOS41bDEuOS00LjNjMTUuOC0zNS40IDM3LjktNjcuNyA2NS4zLTk1LjFsOC45LTguOWMzLjYtMy42IDguNS01LjYgMTMuNi01LjZzMTAgMiAxMy42IDUuNmw4LjkgOC45YzI3LjQgMjcuNCA0OS42IDU5LjcgNjUuMyA5NS4xbDEuOSA0LjN6XCJdXG59O1xudmFyIGZhQnVybiA9IGZhRmlyZUZsYW1lU2ltcGxlO1xudmFyIGZhUGVyc29uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbicsXG4gIGljb246IFszMjAsIDUxMiwgWzEyOTQ4NSwgXCJtYWxlXCJdLCBcImYxODNcIiwgXCJNMTEyIDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTQwIDMwNFY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMjU2LjlMNTkuNCAzMDQuNWMtOS4xIDE1LjEtMjguOCAyMC00My45IDEwLjlzLTIwLTI4LjgtMTAuOS00My45bDU4LjMtOTdjMTcuNC0yOC45IDQ4LjYtNDYuNiA4Mi4zLTQ2LjZoMjkuN2MzMy43IDAgNjQuOSAxNy43IDgyLjMgNDYuNmw1OC4zIDk3YzkuMSAxNS4xIDQuMiAzNC44LTEwLjkgNDMuOXMtMzQuOCA0LjItNDMuOS0xMC45TDIzMiAyNTYuOVY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzUySDE1MnpcIl1cbn07XG52YXIgZmFNYWxlID0gZmFQZXJzb247XG52YXIgZmFMYXB0b3AgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGFwdG9wJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4MTg3XSwgXCJmMTA5XCIsIFwiTTEyOCAzMkM5Mi43IDMyIDY0IDYwLjcgNjQgOTZWMzUyaDY0Vjk2SDUxMlYzNTJoNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRIMTI4ek0xOS4yIDM4NEM4LjYgMzg0IDAgMzkyLjYgMCA0MDMuMkMwIDQ0NS42IDM0LjQgNDgwIDc2LjggNDgwSDU2My4yYzQyLjQgMCA3Ni44LTM0LjQgNzYuOC03Ni44YzAtMTAuNi04LjYtMTkuMi0xOS4yLTE5LjJIMTkuMnpcIl1cbn07XG52YXIgZmFGaWxlQ3N2ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtY3N2JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNmRkXCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwSDIyNFYxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJIMzg0VjMwNEgxNzZjLTM1LjMgMC02NCAyOC43LTY0IDY0VjUxMkg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWNjR6bTM4NCA2NEgyNTZWMEwzODQgMTI4ek0yMDAgMzUyaDE2YzIyLjEgMCA0MCAxNy45IDQwIDQwdjhjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZ2LThjMC00LjQtMy42LTgtOC04SDIwMGMtNC40IDAtOCAzLjYtOCA4djgwYzAgNC40IDMuNiA4IDggOGgxNmM0LjQgMCA4LTMuNiA4LTh2LThjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnY4YzAgMjIuMS0xNy45IDQwLTQwIDQwSDIwMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBWMzkyYzAtMjIuMSAxNy45LTQwIDQwLTQwem0xMzMuMSAwSDM2OGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgzMzMuMWMtNy4yIDAtMTMuMSA1LjktMTMuMSAxMy4xYzAgNS4yIDMgOS45IDcuOCAxMmwzNy40IDE2LjZjMTYuMyA3LjIgMjYuOCAyMy40IDI2LjggNDEuMmMwIDI0LjktMjAuMiA0NS4xLTQ1LjEgNDUuMUgzMDRjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZoNDIuOWM3LjIgMCAxMy4xLTUuOSAxMy4xLTEzLjFjMC01LjItMy05LjktNy44LTEybC0zNy40LTE2LjZjLTE2LjMtNy4yLTI2LjgtMjMuNC0yNi44LTQxLjJjMC0yNC45IDIwLjItNDUuMSA0NS4xLTQ1LjF6bTk4LjkgMGM4LjggMCAxNiA3LjIgMTYgMTZ2MzEuNmMwIDIzIDUuNSA0NS42IDE2IDY2YzEwLjUtMjAuMyAxNi00Mi45IDE2LTY2VjM2OGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2djMxLjZjMCAzNC43LTEwLjMgNjguNy0yOS42IDk3LjZsLTUuMSA3LjdjLTMgNC41LTggNy4xLTEzLjMgNy4xcy0xMC4zLTIuNy0xMy4zLTcuMWwtNS4xLTcuN2MtMTkuMy0yOC45LTI5LjYtNjIuOS0yOS42LTk3LjZWMzY4YzAtOC44IDcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFNZW5vcmFoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21lbm9yYWgnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY2NzZcIiwgXCJNMjAuOCA3LjRDMjIuOCAyLjkgMjcuMSAwIDMyIDBzOS4yIDIuOSAxMS4yIDcuNEw2MS4zIDQ5LjdjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xVjY0YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgODEuNyAwIDY0VjYyLjhjMC00LjUgLjktOC45IDIuNy0xMy4xTDIwLjggNy40em05NiAwQzExOC44IDIuOSAxMjMuMSAwIDEyOCAwczkuMiAyLjkgMTEuMiA3LjRsMTguMiA0Mi40YzEuOCA0LjEgMi43IDguNiAyLjcgMTMuMVY2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY2Mi44YzAtNC41IC45LTguOSAyLjctMTMuMUwxMTYuOCA3LjR6bTc3LjggNDIuNEwyMTIuOCA3LjRDMjE0LjggMi45IDIxOS4xIDAgMjI0IDBzOS4yIDIuOSAxMS4yIDcuNGwxOC4yIDQyLjRjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xVjY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjYyLjhjMC00LjUgLjktOC45IDIuNy0xMy4xek0zMDguOCA3LjRDMzEwLjggMi45IDMxNS4xIDAgMzIwIDBzOS4yIDIuOSAxMS4yIDcuNGwxOC4yIDQyLjRjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xVjY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjYyLjhjMC00LjUgLjktOC45IDIuNy0xMy4xTDMwOC44IDcuNHptNzcuOCA0Mi40TDQwNC44IDcuNEM0MDYuOCAyLjkgNDExLjEgMCA0MTYgMHM5LjIgMi45IDExLjIgNy40bDE4LjIgNDIuNGMxLjggNC4xIDIuNyA4LjYgMi43IDEzLjFWNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWNjIuOGMwLTQuNSAuOS04LjkgMi43LTEzLjF6TTUwMC44IDcuNEM1MDIuOCAyLjkgNTA3LjEgMCA1MTIgMHM5LjIgMi45IDExLjIgNy40bDE4LjIgNDIuNGMxLjggNC4xIDIuNyA4LjYgMi43IDEzLjFWNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWNjIuOGMwLTQuNSAuOS04LjkgMi43LTEzLjFMNTAwLjggNy40em03Ny44IDQyLjRMNTk2LjggNy40QzU5OC44IDIuOSA2MDMuMSAwIDYwOCAwczkuMiAyLjkgMTEuMiA3LjRsMTguMiA0Mi40YzEuOCA0LjEgMi43IDguNiAyLjcgMTMuMVY2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY2Mi44YzAtNC41IC45LTguOSAyLjctMTMuMXpNMzIgMTI4YzE3LjcgMCAzMiAxNC4zIDMyIDMyVjI4OGMwIDE3LjcgMTQuMyAzMiAzMiAzMkgyODhWMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJWMzIwSDU0NGMxNy43IDAgMzItMTQuMyAzMi0zMlYxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMlYyODhjMCA1My00MyA5Ni05NiA5NkgzNTJ2NjRINDgwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyMCAxNjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJIMjg4VjM4NEg5NmMtNTMgMC05Ni00My05Ni05NlYxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2OTYgMzJIOTZWMjU2IDE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnY5NiAzMkgxOTJWMjU2IDE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2OTYgMzJIMzg0VjI1NiAxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2OTYgMzJINDgwVjI1NiAxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xudmFyIGZhVHJ1Y2tQbGFuZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cnVjay1wbGFuZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU4ZlwiLCBcIk0yMDAgMGMtMzAuNiAwLTU2IDU0LjctNTYgODYuMVYxOTIuNUw3LjggMjc0LjNDMi45IDI3Ny4yIDAgMjgyLjQgMCAyODh2NjRjMCA1LjEgMi40IDkuOCA2LjQgMTIuOHM5LjMgMy45IDE0LjEgMi41bDEyMy40LTM3djgxLjJsLTUwIDQwYy0zLjggMy02IDcuNi02IDEyLjV2MzJjMCA1LjEgMi41IDEwIDYuNiAxM3M5LjUgMy44IDE0LjQgMi4yTDIwMCA0ODAuOSAyOTAuNCA1MTFjLTEuNi00LjctMi40LTkuOC0yLjQtMTVWNDYzLjRjLTE4LjItMTAuNS0zMC43LTI5LjctMzEuOS01MS44bC0uMS0uMVY0MDggMzI1LjUgMTg0bDAtMS4xIDAgMFY4Ni4xQzI1NiA1NC43IDIzMS41IDAgMjAwIDB6bTg4IDE3NlY0MDBjMCAyMC45IDEzLjQgMzguNyAzMiA0NS4zVjQ4OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGgxNmMxMy4zIDAgMjQtMTAuNyAyNC0yNFY0NDhINTQ0djQwYzAgMTMuMyAxMC43IDI0IDI0IDI0aDE2YzEzLjMgMCAyNC0xMC43IDI0LTI0VjQ0NS4zYzE4LjYtNi42IDMyLTI0LjQgMzItNDUuM1YxNzZjMC0yNi41LTIxLjUtNDgtNDgtNDhIMzM2Yy0yNi41IDAtNDggMjEuNS00OCA0OHptNzkuOCA3OC43YzMuMy04LjcgMTEuMi0xNC43IDIwLjUtMTQuN0g1MzkuN2M5LjIgMCAxNy4yIDYgMjAuNSAxNC43TDU3NiAzMDRIMzUybDE1LjgtNDkuM3pNNTY4IDM1MmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6TTMzNiAzNzZhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpcIl1cbn07XG52YXIgZmFSZWNvcmRWaW55bCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyZWNvcmQtdmlueWwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY4ZDlcIiwgXCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2em0yNTYtOTZhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6bTAgMjI0YTEyOCAxMjggMCAxIDAgMC0yNTYgMTI4IDEyOCAwIDEgMCAwIDI1NnptMC05NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xudmFyIGZhRmFjZUdyaW5TdGFycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWdyaW4tc3RhcnMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjkzMjEsIFwiZ3Jpbi1zdGFyc1wiXSwgXCJmNTg3XCIsIFwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnptNDA3LjQgNzUuNWM1LTExLjgtNy0yMi41LTE5LjMtMTguN2MtMzkuNyAxMi4yLTg0LjUgMTktMTMxLjggMTlzLTkyLjEtNi44LTEzMS44LTE5Yy0xMi4zLTMuOC0yNC4zIDYuOS0xOS4zIDE4LjdjMjUgNTkuMSA4My4yIDEwMC41IDE1MS4xIDEwMC41czEyNi4yLTQxLjQgMTUxLjEtMTAwLjV6TTE2MCAxMjBjLTMuMSAwLTUuOSAxLjgtNy4yIDQuNmwtMTYuNiAzNC43LTM4LjEgNWMtMy4xIC40LTUuNiAyLjUtNi42IDUuNXMtLjEgNi4yIDIuMSA4LjNsMjcuOSAyNi41LTcgMzcuOGMtLjYgMyAuNyA2LjEgMy4yIDcuOXM1LjggMiA4LjUgLjZMMTYwIDIzMi41bDMzLjggMTguM2MyLjcgMS41IDYgMS4zIDguNS0uNnMzLjctNC45IDMuMi03LjlsLTctMzcuOEwyMjYuNCAxNzhjMi4yLTIuMSAzLjEtNS4zIDIuMS04LjNzLTMuNS01LjEtNi42LTUuNWwtMzguMS01LTE2LjYtMzQuN2MtMS4zLTIuOC00LjEtNC42LTcuMi00LjZ6bTE5MiAwYy0zLjEgMC01LjkgMS44LTcuMiA0LjZsLTE2LjYgMzQuNy0zOC4xIDVjLTMuMSAuNC01LjYgMi41LTYuNiA1LjVzLS4xIDYuMiAyLjEgOC4zbDI3LjkgMjYuNS03IDM3LjhjLS42IDMgLjcgNi4xIDMuMiA3LjlzNS44IDIgOC41IC42TDM1MiAyMzIuNWwzMy44IDE4LjNjMi43IDEuNSA2IDEuMyA4LjUtLjZzMy43LTQuOSAzLjItNy45bC03LTM3LjhMNDE4LjQgMTc4YzIuMi0yLjEgMy4xLTUuMyAyLjEtOC4zcy0zLjUtNS4xLTYuNi01LjVsLTM4LjEtNS0xNi42LTM0LjdjLTEuMy0yLjgtNC4xLTQuNi03LjItNC42elwiXVxufTtcbnZhciBmYUdyaW5TdGFycyA9IGZhRmFjZUdyaW5TdGFycztcbnZhciBmYUJvbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9uZycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjU1Y1wiLCBcIk0xNjAgMjA4LjVjMCAyOS4xLTE1LjYgNTMuOS0zNy4yIDY3LjhjLTE3LjIgMTEuMS0zMS41IDI2LjEtNDEuNyA0My43SDMwMi45Yy0xMC4yLTE3LjYtMjQuNS0zMi42LTQxLjctNDMuN2MtMjEuNi0xMy45LTM3LjItMzguNy0zNy4yLTY3LjhWNjRIMTYwVjIwOC41ek0yODggNjRWMjA4LjVjMCA1LjcgMy4xIDEwLjkgNy45IDE0YzExLjIgNy4yIDIxLjUgMTUuNSAzMC45IDI0LjhMMzY2LjEgMjA4bC03LTdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwyNCAyNCAyNCAyNGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC03LTctNDMuMyA0My4zQzM3NCAzMTQuMSAzODQgMzQ3LjkgMzg0IDM4NGMwIDM5LjQtMTEuOSA3Ni4xLTMyLjIgMTA2LjVjLTkuNiAxNC40LTI2LjUgMjEuNS00My44IDIxLjVINzYuMWMtMTcuMyAwLTM0LjItNy4xLTQzLjgtMjEuNUMxMS45IDQ2MC4xIDAgNDIzLjQgMCAzODRjMC02Ny44IDM1LjEtMTI3LjMgODguMS0xNjEuNWM0LjgtMy4xIDcuOS04LjMgNy45LTE0VjY0Qzc4LjMgNjQgNjQgNDkuNyA2NCAzMlM3OC4zIDAgOTYgMGgxNkgyNzJoMTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJ6XCJdXG59O1xudmFyIGZhU3BhZ2hldHRpTW9uc3RlckZseWluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcGFnaGV0dGktbW9uc3Rlci1mbHlpbmcnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInBhc3RhZmFyaWFuaXNtXCJdLCBcImY2N2JcIiwgXCJNMjA4IDY0YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6bTQ4IDBjMCAxNi4yLTYgMzEuMS0xNiA0Mi4zbDE1LjYgMzEuMmMxOC43LTYgMzkuOS05LjUgNjQuNC05LjVzNDUuOCAzLjUgNjQuNCA5LjVMNDAwIDEwNi4zQzM5MCA5NS4xIDM4NCA4MC4yIDM4NCA2NGMwLTM1LjMgMjguNy02NCA2NC02NHM2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0Yy0xLjcgMC0zLjQtLjEtNS4xLS4yTDQyNy44IDE1OGMyMS4xIDEzLjYgMzcuNyAzMC4yIDUxLjQgNDYuNGM3LjEgOC4zIDEzLjUgMTYuNiAxOS4zIDI0bDEuNCAxLjhjNi4zIDguMSAxMS42IDE0LjggMTYuNyAyMC40QzUyNy4zIDI2Mi4zIDUzMi43IDI2NCA1MzYgMjY0YzIuNSAwIDQuMy0uNiA3LjEtMy4zYzMuNy0zLjUgNy4xLTguOCAxMi41LTE3LjRsLjYtLjljNC42LTcuNCAxMS0xNy42IDE5LjQtMjUuN2M5LjctOS4zIDIyLjktMTYuNyA0MC40LTE2LjdjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTIuNSAwLTQuMyAuNi03LjEgMy4zYy0zLjcgMy41LTcuMSA4LjgtMTIuNSAxNy40bC0uNiAuOWMtNC42IDcuNC0xMSAxNy42LTE5LjQgMjUuN2MtOS43IDkuMy0yMi45IDE2LjctNDAuNCAxNi43Yy0xOC41IDAtMzIuOS04LjUtNDQuMy0xOC42Yy0zLjEgNC02LjYgOC4zLTEwLjUgMTIuN2MxLjQgNC4zIDIuOCA4LjUgNCAxMi41Yy45IDMgMS44IDUuOCAyLjYgOC42YzMgOS44IDUuNSAxOC4yIDguNiAyNS45YzMuOSA5LjggNy40IDE1LjQgMTAuOCAxOC41YzIuNiAyLjQgNS45IDQuMyAxMi44IDQuM2M4LjcgMCAxNi45LTQuMiAzMy43LTEzLjJjMTUtOCAzNS43LTE4LjggNjIuMy0xOC44YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0Yy0xMy40IDAtMjQuNyA1LjItMzkuNyAxMy4yYy0xIC42LTIuMSAxLjEtMy4yIDEuN0M1NTkuOSA0MTQgNTQxLjQgNDI0IDUyMCA0MjRjLTE4LjQgMC0zMy42LTYuMS00NS41LTE3LjJjLTExLjEtMTAuMy0xNy45LTIzLjctMjIuNy0zNmMtMy42LTktNi43LTE5LjEtOS41LTI4LjVjLTE2LjQgMTIuMy0zNi4xIDIzLjYtNTguOSAzMS4zYzMuNiAxMC44IDguNCAyMy41IDE0LjQgMzYuMmM3LjUgMTUuOSAxNi4yIDMwLjQgMjUuOCA0MC41QzQzMyA0NjAuNSA0NDEuMiA0NjQgNDQ4IDQ2NGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtMjUuMiAwLTQ1LTEzLjUtNTkuNS0yOC44Yy0xNC41LTE1LjQtMjUuNy0zNC45LTM0LjItNTNjLTgtMTctMTQuMS0zMy44LTE4LjMtNDYuOWMtNS4yIC40LTEwLjYgLjYtMTYgLjZzLTEwLjgtLjItMTYtLjZjLTQuMiAxMy0xMC4zIDI5LjktMTguMyA0Ni45Yy04LjUgMTguMS0xOS44IDM3LjYtMzQuMiA1M0MyMzcgNDk4LjUgMjE3LjIgNTEyIDE5MiA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjNi44IDAgMTUtMy41IDI0LjUtMTMuN2M5LjUtMTAuMSAxOC4zLTI0LjYgMjUuOC00MC41YzUuOS0xMi42IDEwLjctMjUuNCAxNC40LTM2LjJjLTIyLjgtNy43LTQyLjUtMTktNTguOS0zMS4zYy0yLjkgOS40LTYgMTkuNS05LjUgMjguNWMtNC44IDEyLjItMTEuNiAyNS42LTIyLjcgMzZDMTUzLjYgNDE3LjkgMTM4LjQgNDI0IDEyMCA0MjRjLTIxLjQgMC0zOS45LTEwLTUzLjEtMTcuMWwwIDBjLTEuMS0uNi0yLjItMS4yLTMuMi0xLjdjLTE1LTgtMjYuMy0xMy4yLTM5LjctMTMuMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGMyNi42IDAgNDcuMyAxMC44IDYyLjMgMTguOGMxNi44IDkgMjUgMTMuMiAzMy43IDEzLjJjNi44IDAgMTAuMi0xLjkgMTIuOC00LjNjMy40LTMuMiA3LTguOCAxMC44LTE4LjVjMy03LjcgNS42LTE2LjEgOC42LTI1LjljLjgtMi43IDEuNy01LjYgMi42LTguNmMxLjItNCAyLjYtOC4yIDQtMTIuNWMtMy45LTQuNS03LjQtOC44LTEwLjUtMTIuN0MxMzYuOSAzMDMuNSAxMjIuNSAzMTIgMTA0IDMxMmMtMTcuNSAwLTMwLjctNy40LTQwLjQtMTYuN2MtOC40LTguMS0xNC44LTE4LjMtMTkuNC0yNS43bC0uNi0uOWMtNS40LTguNi04LjgtMTMuOS0xMi41LTE3LjRjLTIuOC0yLjctNC42LTMuMy03LjEtMy4zYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0YzE3LjUgMCAzMC43IDcuNCA0MC40IDE2LjdjOC40IDguMSAxNC44IDE4LjMgMTkuNCAyNS43bC42IC45YzUuNCA4LjYgOC44IDEzLjkgMTIuNSAxNy40YzIuOCAyLjcgNC42IDMuMyA3LjEgMy4zYzMuMyAwIDguNy0xLjcgMTkuNC0xMy40YzUuMS01LjYgMTAuNC0xMi4zIDE2LjctMjAuNGwxLjQtMS44YzUuOC03LjQgMTIuMi0xNS43IDE5LjMtMjRjMTMuOC0xNi4yIDMwLjMtMzIuOCA1MS40LTQ2LjRsLTE1LjEtMzAuMmMtMS43IC4xLTMuNCAuMi01LjEgLjJjLTM1LjMgMC02NC0yOC43LTY0LTY0czI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NHptMjA4IDBhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHpcIl1cbn07XG52YXIgZmFQYXN0YWZhcmlhbmlzbSA9IGZhU3BhZ2hldHRpTW9uc3RlckZseWluZztcbnZhciBmYUFycm93RG93blVwQWNyb3NzTGluZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1kb3duLXVwLWFjcm9zcy1saW5lJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGFmXCIsIFwiTTEzNy40IDUwMi42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDk2LTk2YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDE5MiA0MDIuN1YyODhINTQ0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDQ0OFYxMDkuM2w0MS40IDQxLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC05NiA5NmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwzODQgMTA5LjNWMjI0SDE5MiAxMjggMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoOTZWNDAyLjdMODYuNiAzNjEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsOTYgOTZ6TTEyOCAxOTJoNjRWNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWMTkyek00NDggMzIwSDM4NFY0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzMjB6XCJdXG59O1xudmFyIGZhU3Bvb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3Bvb24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjkzNDgsIDYxODczLCBcInV0ZW5zaWwtc3Bvb25cIl0sIFwiZjJlNVwiLCBcIk0yNDUuOCAyMjAuOWMtMTQuNS0xNy42LTIxLjgtMzkuMi0yMS44LTYwLjhDMjI0IDgwIDMyMCAwIDQxNiAwYzUzIDAgOTYgNDMgOTYgOTZjMCA5Ni04MCAxOTItMTYwLjIgMTkyYy0yMS42IDAtNDMuMi03LjMtNjAuOC0yMS44TDU0LjYgNTAyLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDI0NS44IDIyMC45elwiXVxufTtcbnZhciBmYVV0ZW5zaWxTcG9vbiA9IGZhU3Bvb247XG52YXIgZmFKYXJXaGVhdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdqYXItd2hlYXQnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcImU1MTdcIiwgXCJNMzIgMzJDMzIgMTQuMyA0Ni4zIDAgNjQgMEgyNTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJINjRDNDYuMyA2NCAzMiA0OS43IDMyIDMyek0wIDE2MGMwLTM1LjMgMjguNy02NCA2NC02NEgyNTZjMzUuMyAwIDY0IDI4LjcgNjQgNjRWNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFYxNjB6bTExMiAwSDY5LjhjLTMuMiAwLTUuOCAyLjYtNS44IDUuOEM2NCAxOTggOTAgMjI0IDEyMi4yIDIyNEgxNDRoMzIgMjEuOGMzMi4xIDAgNTguMi0yNiA1OC4yLTU4LjJjMC0zLjItMi42LTUuOC01LjgtNS44SDIwOGMtMTkuMSAwLTM2LjMgOC40LTQ4IDIxLjdjLTExLjctMTMuMy0yOC45LTIxLjctNDgtMjEuN3ptNDggMTE3LjdjLTExLjctMTMuMy0yOC45LTIxLjctNDgtMjEuN0g2OS44Yy0zLjIgMC01LjggMi42LTUuOCA1LjhDNjQgMjk0IDkwIDMyMCAxMjIuMiAzMjBIMTQ0aDMyIDIxLjhjMzIuMSAwIDU4LjItMjYgNTguMi01OC4yYzAtMy4yLTIuNi01LjgtNS44LTUuOEgyMDhjLTE5LjEgMC0zNi4zIDguNC00OCAyMS43ek0xMTIgMzUySDY5LjhjLTMuMiAwLTUuOCAyLjYtNS44IDUuOEM2NCAzOTAgOTAgNDE2IDEyMi4yIDQxNkgxNDR2MzJjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlY0MTZoMjEuOGMzMi4xIDAgNTguMi0yNiA1OC4yLTU4LjJjMC0zLjItMi42LTUuOC01LjgtNS44SDIwOGMtMTkuMSAwLTM2LjMgOC40LTQ4IDIxLjdjLTExLjctMTMuMy0yOC45LTIxLjctNDgtMjEuN3pcIl1cbn07XG52YXIgZmFFbnZlbG9wZXNCdWxrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2VudmVsb3Blcy1idWxrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJtYWlsLWJ1bGtcIl0sIFwiZjY3NFwiLCBcIk0xMjggMEMxMTAuMyAwIDk2IDE0LjMgOTYgMzJWMjI0aDk2VjE5MmMwLTM1LjMgMjguNy02NCA2NC02NEg0ODBWMzJjMC0xNy43LTE0LjMtMzItMzItMzJIMTI4ek0yNTYgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnYzMmg5NmMzNS4zIDAgNjQgMjguNyA2NCA2NFY0MTZINTc2YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjE5MmMwLTE3LjctMTQuMy0zMi0zMi0zMkgyNTZ6bTI0MCA2NGgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDQ5NmMtOC44IDAtMTYtNy4yLTE2LTE2VjI0MGMwLTguOCA3LjItMTYgMTYtMTZ6TTY0IDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2MTNMMTg3LjEgNDE1LjljMS40IDEgMy4xIDEuNiA0LjkgMS42czMuNS0uNiA0LjktMS42TDM1MiAzMDFWMjg4YzAtMTcuNy0xNC4zLTMyLTMyLTMySDY0em0yODggODQuOEwyMTYgNDQxLjZjLTYuOSA1LjEtMTUuMyA3LjktMjQgNy45cy0xNy0yLjgtMjQtNy45TDMyIDM0MC44VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMkgzMjBjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzQwLjh6XCJdXG59O1xudmFyIGZhTWFpbEJ1bGsgPSBmYUVudmVsb3Blc0J1bGs7XG52YXIgZmFGaWxlQ2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0ZWJcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBIMjI0VjEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMkgzODR2MzguNkMzMTAuMSAyMTkuNSAyNTYgMjg3LjQgMjU2IDM2OGMwIDU5LjEgMjkuMSAxMTEuMyA3My43IDE0My4zYy0zLjIgLjUtNi40IC43LTkuNyAuN0g2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWNjR6bTM4NCA2NEgyNTZWMEwzODQgMTI4em00OCA5NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTAgMjQwYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMC0xOTJjLTguOCAwLTE2IDcuMi0xNiAxNnY4MGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjI4OGMwLTguOC03LjItMTYtMTYtMTZ6XCJdXG59O1xudmFyIGZhQ2lyY2xlSCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtaCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzk0MDUsIFwiaG9zcGl0YWwtc3ltYm9sXCJdLCBcImY0N2VcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTM2OCAxNTJWMjU2IDM2MGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYyODBIMTkybDAgODBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0yMDhjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHY4MEgzMjBWMTUyYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6XCJdXG59O1xudmFyIGZhSG9zcGl0YWxTeW1ib2wgPSBmYUNpcmNsZUg7XG52YXIgZmFQYWdlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwYWdlcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODIyM10sIFwiZjgxNVwiLCBcIk0wIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NEg0NDhjMzUuMyAwIDY0IDI4LjcgNjQgNjRWMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFYxMjh6bTY0IDMydjY0YzAgMTcuNyAxNC4zIDMyIDMyIDMySDQxNmMxNy43IDAgMzItMTQuMyAzMi0zMlYxNjBjMC0xNy43LTE0LjMtMzItMzItMzJIOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek04MCAzMjBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRoNTZjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRIODB6bTEzNiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0aDQ4YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDIxNnpcIl1cbn07XG52YXIgZmFBZGRyZXNzQm9vayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhZGRyZXNzLWJvb2snLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MjEzOCwgXCJjb250YWN0LWJvb2tcIl0sIFwiZjJiOVwiLCBcIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRIOTZ6TTIwOCAyODhoNjRjNDQuMiAwIDgwIDM1LjggODAgODBjMCA4LjgtNy4yIDE2LTE2IDE2SDE0NGMtOC44IDAtMTYtNy4yLTE2LTE2YzAtNDQuMiAzNS44LTgwIDgwLTgwem0tMzItOTZhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwek01MTIgODBjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZ2NjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlY4MHpNNDk2IDE5MmMtOC44IDAtMTYgNy4yLTE2IDE2djY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMjA4YzAtOC44LTcuMi0xNi0xNi0xNnptMTYgMTQ0YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2djY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMzM2elwiXVxufTtcbnZhciBmYUNvbnRhY3RCb29rID0gZmFBZGRyZXNzQm9vaztcbnZhciBmYVN0cmlrZXRocm91Z2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3RyaWtldGhyb3VnaCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjBjY1wiLCBcIk0xNjEuMyAxNDRjMy4yLTE3LjIgMTQtMzAuMSAzMy43LTM4LjZjMjEuMS05IDUxLjgtMTIuMyA4OC42LTYuNWMxMS45IDEuOSA0OC44IDkuMSA2MC4xIDEyYzE3LjEgNC41IDM0LjYtNS42IDM5LjItMjIuN3MtNS42LTM0LjYtMjIuNy0zOS4yYy0xNC4zLTMuOC01My42LTExLjQtNjYuNi0xMy40Yy00NC43LTctODguMy00LjItMTIzLjcgMTAuOWMtMzYuNSAxNS42LTY0LjQgNDQuOC03MS44IDg3LjNjLS4xIC42LS4yIDEuMS0uMiAxLjdjLTIuOCAyMy45IC41IDQ1LjYgMTAuMSA2NC42YzQuNSA5IDEwLjIgMTYuOSAxNi43IDIzLjlIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDI3MC4xYy0uMSAwLS4zLS4xLS40LS4xbC0xLjEtLjNjLTM2LTEwLjgtNjUuMi0xOS42LTg1LjItMzMuMWMtOS4zLTYuMy0xNS0xMi42LTE4LjItMTkuMWMtMy4xLTYuMS01LjItMTQuNi0zLjgtMjcuNHpNMzQ4LjkgMzM3LjJjMi43IDYuNSA0LjQgMTUuOCAxLjkgMzAuMWMtMyAxNy42LTEzLjggMzAuOC0zMy45IDM5LjRjLTIxLjEgOS01MS43IDEyLjMtODguNSA2LjVjLTE4LTIuOS00OS4xLTEzLjUtNzQuNC0yMi4xYy01LjYtMS45LTExLTMuNy0xNS45LTUuNGMtMTYuOC01LjYtMzQuOSAzLjUtNDAuNSAyMC4zczMuNSAzNC45IDIwLjMgNDAuNWMzLjYgMS4yIDcuOSAyLjcgMTIuNyA0LjNsMCAwIDAgMGMyNC45IDguNSA2My42IDIxLjcgODcuNiAyNS42bDAgMCAuMiAwYzQ0LjcgNyA4OC4zIDQuMiAxMjMuNy0xMC45YzM2LjUtMTUuNiA2NC40LTQ0LjggNzEuOC04Ny4zYzMuNi0yMSAyLjctNDAuNC0zLjEtNTguMUgzMzUuMWM3IDUuNiAxMS40IDExLjIgMTMuOSAxNy4yelwiXVxufTtcbnZhciBmYUsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaycsXG4gIGljb246IFszMjAsIDUxMiwgWzEwN10sIFwiNGJcIiwgXCJNMzExIDg2LjNjMTIuMy0xMi43IDEyLTMyLjktLjctNDUuMnMtMzIuOS0xMi00NS4yIC43bC0xNTUuMiAxNjBMNjQgMjQ5VjY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNDYuMyAwIDY0VjMyOCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzNDFsNjQuNy02Ni43IDEzMyAxOTJjMTAuMSAxNC41IDMwIDE4LjEgNDQuNSA4LjFzMTguMS0zMCA4LjEtNDQuNUwxNzQuMSAyMjcuNCAzMTEgODYuM3pcIl1cbn07XG52YXIgZmFMYW5kbWFya0ZsYWcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGFuZG1hcmstZmxhZycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTUxY1wiLCBcIk0yNzIgMGg4MGM4LjggMCAxNiA3LjIgMTYgMTZWODBjMCA4LjgtNy4yIDE2LTE2IDE2SDI3MnYzMkg0NjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJINDhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJIMjQwVjE2YzAtOC44IDcuMi0xNiAxNi0xNmgxNnpNNjQgMjI0aDY0VjQxNmg0MFYyMjRoNjRWNDE2aDQ4VjIyNGg2NFY0MTZoNDBWMjI0aDY0VjQyMC4zYy42IC4zIDEuMiAuNyAxLjggMS4xbDQ4IDMyYzExLjcgNy44IDE3IDIyLjQgMTIuOSAzNS45UzQ5NC4xIDUxMiA0ODAgNTEySDMyYy0xNC4xIDAtMjYuNS05LjItMzAuNi0yMi43czEuMS0yOC4xIDEyLjktMzUuOWw0OC0zMmMuNi0uNCAxLjItLjcgMS44LTEuMVYyMjR6XCJdXG59O1xudmFyIGZhUGVuY2lsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlbmNpbCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzk5OTksIDYxNTA0LCBcInBlbmNpbC1hbHRcIl0sIFwiZjMwM1wiLCBcIk00MTAuMyAyMzFsMTEuMy0xMS4zLTMzLjktMzMuOS02Mi4xLTYyLjFMMjkxLjcgODkuOGwtMTEuMyAxMS4zLTIyLjYgMjIuNkw1OC42IDMyMi45Yy0xMC40IDEwLjQtMTggMjMuMy0yMi4yIDM3LjRMMSA0ODAuN2MtMi41IDguNC0uMiAxNy41IDYuMSAyMy43czE1LjMgOC41IDIzLjcgNi4xbDEyMC4zLTM1LjRjMTQuMS00LjIgMjctMTEuOCAzNy40LTIyLjJMMzg3LjcgMjUzLjcgNDEwLjMgMjMxek0xNjAgMzk5LjRsLTkuMSAyMi43Yy00IDMuMS04LjUgNS40LTEzLjMgNi45TDU5LjQgNDUybDIzLTc4LjFjMS40LTQuOSAzLjgtOS40IDYuOS0xMy4zbDIyLjctOS4xdjMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMnpNMzYyLjcgMTguN0wzNDguMyAzMy4yIDMyNS43IDU1LjggMzE0LjMgNjcuMWwzMy45IDMzLjkgNjIuMSA2Mi4xIDMzLjkgMzMuOSAxMS4zLTExLjMgMjIuNi0yMi42IDE0LjUtMTQuNWMyNS0yNSAyNS02NS41IDAtOTAuNUw0NTMuMyAxOC43Yy0yNS0yNS02NS41LTI1LTkwLjUgMHptLTQ3LjQgMTY4bC0xNDQgMTQ0Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDE0NC0xNDRjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42elwiXVxufTtcbnZhciBmYVBlbmNpbEFsdCA9IGZhUGVuY2lsO1xudmFyIGZhQmFja3dhcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFja3dhcmQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5MTk0XSwgXCJmMDRhXCIsIFwiTTQ1OS41IDQ0MC42YzkuNSA3LjkgMjIuOCA5LjcgMzQuMSA0LjRzMTguNC0xNi42IDE4LjQtMjlWOTZjMC0xMi40LTcuMi0yMy43LTE4LjQtMjlzLTI0LjUtMy42LTM0LjEgNC40TDI4OCAyMTQuM1YyNTZ2NDEuN0w0NTkuNSA0NDAuNnpNMjU2IDM1MlYyNTYgMTI4IDk2YzAtMTIuNC03LjItMjMuNy0xOC40LTI5cy0yNC41LTMuNi0zNC4xIDQuNGwtMTkyIDE2MEM0LjIgMjM3LjUgMCAyNDYuNSAwIDI1NnM0LjIgMTguNSAxMS41IDI0LjZsMTkyIDE2MGM5LjUgNy45IDIyLjggOS43IDM0LjEgNC40czE4LjQtMTYuNiAxOC40LTI5VjM1MnpcIl1cbn07XG52YXIgZmFDYXJldFJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhcmV0LXJpZ2h0JyxcbiAgaWNvbjogWzI1NiwgNTEyLCBbXSwgXCJmMGRhXCIsIFwiTTI0Ni42IDI3OC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMjgtMTI4Yy05LjItOS4yLTIyLjktMTEuOS0zNC45LTYuOXMtMTkuOCAxNi42LTE5LjggMjkuNmwwIDI1NmMwIDEyLjkgNy44IDI0LjYgMTkuOCAyOS42czI1LjcgMi4yIDM0LjktNi45bDEyOC0xMjh6XCJdXG59O1xudmFyIGZhQ29tbWVudHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tbWVudHMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjg0OTAsIDYxNjcwXSwgXCJmMDg2XCIsIFwiTTIwOCAzNTJjMTE0LjkgMCAyMDgtNzguOCAyMDgtMTc2UzMyMi45IDAgMjA4IDBTMCA3OC44IDAgMTc2YzAgMzguNiAxNC43IDc0LjMgMzkuNiAxMDMuNGMtMy41IDkuNC04LjcgMTcuNy0xNC4yIDI0LjdjLTQuOCA2LjItOS43IDExLTEzLjMgMTQuM2MtMS44IDEuNi0zLjMgMi45LTQuMyAzLjdjLS41IC40LS45IC43LTEuMSAuOGwtLjIgLjIgMCAwIDAgMEMxIDMyNy4yLTEuNCAzMzQuNCAuOCAzNDAuOVM5LjEgMzUyIDE2IDM1MmMyMS44IDAgNDMuOC01LjYgNjIuMS0xMi41YzkuMi0zLjUgMTcuOC03LjQgMjUuMy0xMS40QzEzNC4xIDM0My4zIDE2OS44IDM1MiAyMDggMzUyek00NDggMTc2YzAgMTEyLjMtOTkuMSAxOTYuOS0yMTYuNSAyMDdDMjU1LjggNDU3LjQgMzM2LjQgNTEyIDQzMiA1MTJjMzguMiAwIDczLjktOC43IDEwNC43LTIzLjljNy41IDQgMTYgNy45IDI1LjIgMTEuNGMxOC4zIDYuOSA0MC4zIDEyLjUgNjIuMSAxMi41YzYuOSAwIDEzLjEtNC41IDE1LjItMTEuMWMyLjEtNi42LS4yLTEzLjgtNS44LTE3LjlsMCAwIDAgMC0uMi0uMmMtLjItLjItLjYtLjQtMS4xLS44Yy0xLS44LTIuNS0yLTQuMy0zLjdjLTMuNi0zLjMtOC41LTguMS0xMy4zLTE0LjNjLTUuNS03LTEwLjctMTUuNC0xNC4yLTI0LjdjMjQuOS0yOSAzOS42LTY0LjcgMzkuNi0xMDMuNGMwLTkyLjgtODQuOS0xNjguOS0xOTIuNi0xNzUuNWMuNCA1LjEgLjYgMTAuMyAuNiAxNS41elwiXVxufTtcbnZhciBmYVBhc3RlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Bhc3RlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJmaWxlLWNsaXBib2FyZFwiXSwgXCJmMGVhXCIsIFwiTTE2MCAwYy0yMy43IDAtNDQuNCAxMi45LTU1LjQgMzJINDhDMjEuNSAzMiAwIDUzLjUgMCA4MFY0MDBjMCAyNi41IDIxLjUgNDggNDggNDhIMTkyVjE3NmMwLTQ0LjIgMzUuOC04MCA4MC04MGg0OFY4MGMwLTI2LjUtMjEuNS00OC00OC00OEgyMTUuNEMyMDQuNCAxMi45IDE4My43IDAgMTYwIDB6TTI3MiAxMjhjLTI2LjUgMC00OCAyMS41LTQ4IDQ4VjQ0OHYxNmMwIDI2LjUgMjEuNSA0OCA0OCA0OEg0NjRjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMjQzLjljMC0xMi43LTUuMS0yNC45LTE0LjEtMzMuOWwtNjcuOS02Ny45Yy05LTktMjEuMi0xNC4xLTMzLjktMTQuMUgzMjAgMjcyek0xNjAgNDBhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4elwiXVxufTtcbnZhciBmYUZpbGVDbGlwYm9hcmQgPSBmYVBhc3RlO1xudmFyIGZhQ29kZVB1bGxSZXF1ZXN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvZGUtcHVsbC1yZXF1ZXN0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMTNjXCIsIFwiTTMwNS44IDIuMUMzMTQuNCA1LjkgMzIwIDE0LjUgMzIwIDI0VjY0aDE2YzcwLjcgMCAxMjggNTcuMyAxMjggMTI4VjM1OC43YzI4LjMgMTIuMyA0OCA0MC41IDQ4IDczLjNjMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBjMC0zMi44IDE5LjctNjEgNDgtNzMuM1YxOTJjMC0zNS4zLTI4LjctNjQtNjQtNjRIMzIwdjQwYzAgOS41LTUuNiAxOC4xLTE0LjIgMjEuOXMtMTguOCAyLjMtMjUuOC00LjFsLTgwLTcyYy01LjEtNC42LTcuOS0xMS03LjktMTcuOHMyLjktMTMuMyA3LjktMTcuOGw4MC03MmM3LTYuMyAxNy4yLTcuOSAyNS44LTQuMXpNMTA0IDgwQTI0IDI0IDAgMSAwIDU2IDgwYTI0IDI0IDAgMSAwIDQ4IDB6bTggNzMuM1YzNTguN2MyOC4zIDEyLjMgNDggNDAuNSA0OCA3My4zYzAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwYzAtMzIuOCAxOS43LTYxIDQ4LTczLjNWMTUzLjNDMTkuNyAxNDEgMCAxMTIuOCAwIDgwQzAgMzUuOCAzNS44IDAgODAgMHM4MCAzNS44IDgwIDgwYzAgMzIuOC0xOS43IDYxLTQ4IDczLjN6TTEwNCA0MzJhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHptMzI4IDI0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHpcIl1cbn07XG52YXIgZmFDbGlwYm9hcmRMaXN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NsaXBib2FyZC1saXN0JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNDZkXCIsIFwiTTE5MiAwYy00MS44IDAtNzcuNCAyNi43LTkwLjUgNjRINjRDMjguNyA2NCAwIDkyLjcgMCAxMjhWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDMyMGMzNS4zIDAgNjQtMjguNyA2NC02NFYxMjhjMC0zNS4zLTI4LjctNjQtNjQtNjRIMjgyLjVDMjY5LjQgMjYuNyAyMzMuOCAwIDE5MiAwem0wIDY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNNzIgMjcyYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTEwNC0xNkgzMDRjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMTc2Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2ek03MiAzNjhhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptODggMGMwLTguOCA3LjItMTYgMTYtMTZIMzA0YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDE3NmMtOC44IDAtMTYtNy4yLTE2LTE2elwiXVxufTtcbnZhciBmYVRydWNrUmFtcEJveCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cnVjay1yYW1wLWJveCcsXG4gIGljb246IFs2NDAsIDUxMiwgW1widHJ1Y2stbG9hZGluZ1wiXSwgXCJmNGRlXCIsIFwiTTY0MCAwVjQwMGMwIDYxLjktNTAuMSAxMTItMTEyIDExMmMtNjEgMC0xMTAuNS00OC43LTExMi0xMDkuM0w0OC40IDUwMi45Yy0xNy4xIDQuNi0zNC42LTUuNC0zOS4zLTIyLjVzNS40LTM0LjYgMjIuNS0zOS4zTDM1MiAzNTMuOFY2NGMwLTM1LjMgMjguNy02NCA2NC02NEg2NDB6TTU3NiA0MDBhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNMjMuMSAyMDcuN2MtNC42LTE3LjEgNS42LTM0LjYgMjIuNi0zOS4ybDQ2LjQtMTIuNCAyMC43IDc3LjNjMi4zIDguNSAxMS4xIDEzLjYgMTkuNiAxMS4zbDMwLjktOC4zYzguNS0yLjMgMTMuNi0xMS4xIDExLjMtMTkuNmwtMjAuNy03Ny4zIDQ2LjQtMTIuNGMxNy4xLTQuNiAzNC42IDUuNiAzOS4yIDIyLjZsNDEuNCAxNTQuNWM0LjYgMTcuMS01LjYgMzQuNi0yMi42IDM5LjJMMTAzLjcgMzg0LjljLTE3LjEgNC42LTM0LjYtNS42LTM5LjItMjIuNkwyMy4xIDIwNy43elwiXVxufTtcbnZhciBmYVRydWNrTG9hZGluZyA9IGZhVHJ1Y2tSYW1wQm94O1xudmFyIGZhVXNlckNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItY2hlY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY0ZmNcIiwgXCJNOTYgMTI4YTEyOCAxMjggMCAxIDEgMjU2IDBBMTI4IDEyOCAwIDEgMSA5NiAxMjh6TTAgNDgyLjNDMCAzODMuOCA3OS44IDMwNCAxNzguMyAzMDRoOTEuNEMzNjguMiAzMDQgNDQ4IDM4My44IDQ0OCA0ODIuM2MwIDE2LjQtMTMuMyAyOS43LTI5LjcgMjkuN0gyOS43QzEzLjMgNTEyIDAgNDk4LjcgMCA0ODIuM3pNNjI1IDE3N0w0OTcgMzA1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtNjQtNjRjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw0NyA0N0w1OTEgMTQzYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOXpcIl1cbn07XG52YXIgZmFWaWFsVmlydXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmlhbC12aXJ1cycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTU5N1wiLCBcIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZWMzg0YzAgNTMgNDMgOTYgOTYgOTZjMjguNiAwIDU0LjItMTIuNSA3MS44LTMyLjNjLjEtMTQuMiA1LjYtMjguMyAxNi40LTM5LjFjLjItLjIgLjEtLjYtLjItLjZjLTMwLjkgMC01Ni0yNS4xLTU2LTU2czI1LjEtNTYgNTYtNTZjLjMgMCAuNC0uNCAuMi0uNmMtMjEuOS0yMS45LTIxLjktNTcuMyAwLTc5LjJjMi40LTIuNCA1LTQuNiA3LjgtNi41Vjk2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDE2MCA5NiAzMnpNOTYgMTkyVjk2aDY0djk2SDk2ek0yMTYgMzc2YzI4LjggMCA0My4yIDM0LjggMjIuOSA1NS4yYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBjMjAuNC0yMC40IDU1LjItNS45IDU1LjIgMjIuOWMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMjguOCAzNC44LTQzLjIgNTUuMi0yMi45YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUM0NDQuOCA0MTAuOCA0NTkuMiAzNzYgNDg4IDM3NmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGMtMjguOCAwLTQzLjItMzQuOC0yMi45LTU1LjJjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMEM0MTAuOCAyNTkuMiAzNzYgMjQ0LjggMzc2IDIxNmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGMwIDI4LjgtMzQuOCA0My4yLTU1LjIgMjIuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWMyMC40IDIwLjQgNS45IDU1LjItMjIuOSA1NS4yYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0em0xMDQtODhhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em00MCA5NmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwelwiXVxufTtcbnZhciBmYVNoZWV0UGxhc3RpYyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaGVldC1wbGFzdGljJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlNTcxXCIsIFwiTTAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDIyNFYzODRjMC0xNy43IDE0LjMtMzIgMzItMzJIMzg0VjY0YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0QzI4LjcgMCAwIDI4LjcgMCA2NFY0NDh6TTE3MS4zIDc1LjNsLTk2IDk2Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDk2LTk2YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnptOTYgMzJsLTE2MCAxNjBjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZsMTYwLTE2MGM2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6TTM4NCAzODRIMjU2VjUxMkwzODQgMzg0elwiXVxufTtcbnZhciBmYUJsb2cgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmxvZycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjc4MVwiLCBcIk0xOTIgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJjMTIzLjcgMCAyMjQgMTAwLjMgMjI0IDIyNGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyQzUxMiAxMjguOSAzODMuMSAwIDIyNCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnptMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmM3MC43IDAgMTI4IDU3LjMgMTI4IDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyYzAtMTA2LTg2LTE5Mi0xOTItMTkyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNOTYgMTQ0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4UzAgMTE3LjUgMCAxNDRWMzY4YzAgNzkuNSA2NC41IDE0NCAxNDQgMTQ0czE0NC02NC41IDE0NC0xNDRzLTY0LjUtMTQ0LTE0NC0xNDRIMTI4djk2aDE2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4VjE0NHpcIl1cbn07XG52YXIgZmFVc2VyTmluamEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1uaW5qYScsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyOTM5OV0sIFwiZjUwNFwiLCBcIk0yMjQgMjU2Yy01Ny4yIDAtMTA1LjYtMzcuNS0xMjItODkuM2MtMS4xIDEuMy0yLjIgMi42LTMuNSAzLjhjLTE1LjggMTUuOC0zOC44IDIwLjctNTMuNiAyMi4xYy04LjEgLjgtMTQuNi01LjctMTMuOC0xMy44YzEuNC0xNC43IDYuMy0zNy44IDIyLjEtNTMuNmM1LjgtNS44IDEyLjYtMTAuMSAxOS42LTEzLjRjLTctMy4yLTEzLjgtNy42LTE5LjYtMTMuNEMzNy40IDgyLjcgMzIuNiA1OS43IDMxLjEgNDQuOWMtLjgtOC4xIDUuNy0xNC42IDEzLjgtMTMuOGMxNC43IDEuNCAzNy44IDYuMyA1My42IDIyLjFjNC44IDQuOCA4LjcgMTAuNCAxMS43IDE2LjFDMTMxLjQgMjguMiAxNzQuNCAwIDIyNCAwYzcwLjcgMCAxMjggNTcuMyAxMjggMTI4cy01Ny4zIDEyOC0xMjggMTI4ek0wIDQ4Mi4zQzAgMzk5LjUgNTYuNCAzMzAgMTMyLjggMzA5LjljNi0xLjYgMTIuMiAuOSAxNS45IDUuOGw2Mi41IDgzLjNjNi40IDguNSAxOS4yIDguNSAyNS42IDBsNjIuNS04My4zYzMuNy00LjkgOS45LTcuNCAxNS45LTUuOEMzOTEuNiAzMzAgNDQ4IDM5OS41IDQ0OCA0ODIuM2MwIDE2LjQtMTMuMyAyOS43LTI5LjcgMjkuN0gyOS43QzEzLjMgNTEyIDAgNDk4LjcgMCA0ODIuM3pNMTYwIDk2Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2SDI4OGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgxNjB6XCJdXG59O1xudmFyIGZhUGVyc29uQXJyb3dVcEZyb21MaW5lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1hcnJvdy11cC1mcm9tLWxpbmUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MzlcIiwgXCJNMTkyIDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptLTggMzUyVjM1MmgxNnY5NkgxODR6bS02NCAwSDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDE1Mmg4MEg2MDhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMjY0VjI1Ni45bDI4LjYgNDcuNWM5LjEgMTUuMSAyOC44IDIwIDQzLjkgMTAuOXMyMC0yOC44IDEwLjktNDMuOWwtNTguMy05N2MtMTcuNC0yOC45LTQ4LjYtNDYuNi04Mi4zLTQ2LjZIMTc3LjFjLTMzLjcgMC02NC45IDE3LjctODIuMyA0Ni42bC01OC4zIDk3Yy05LjEgMTUuMS00LjIgMzQuOCAxMC45IDQzLjlzMzQuOCA0LjIgNDMuOS0xMC45TDEyMCAyNTYuOVY0NDh6TTU5OC42IDEyMS40bC04MC04MGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTgwIDgwYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDQ2NCAxNDEuMyA0NjQgMzg0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMTQxLjNsMjUuNCAyNS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjN6XCJdXG59O1xudmFyIGZhU2Nyb2xsVG9yYWggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2Nyb2xsLXRvcmFoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJ0b3JhaFwiXSwgXCJmNmEwXCIsIFwiTTk2IDQ4MFYzMkM5NiAxNC4zIDc0LjUgMCA0OCAwUzAgMTQuMyAwIDMyVjQ4MGMwIDE3LjcgMjEuNSAzMiA0OCAzMnM0OC0xNC4zIDQ4LTMyek01MTIgMzJIMTI4VjQ4MEg1MTJWMzJ6TTU5MiAwYy0yNi41IDAtNDggMTQuMy00OCAzMlY0ODBjMCAxNy43IDIxLjUgMzIgNDggMzJzNDgtMTQuMyA0OC0zMlYzMmMwLTE3LjctMjEuNS0zMi00OC0zMnpNMTk2IDMxMy43YzAtMy4yIC45LTYuNCAyLjUtOS4yTDIyNi43IDI1NmwtMjguMy00OC41Yy0xLjYtMi44LTIuNS02LTIuNS05LjJjMC0xMC4xIDguMi0xOC4zIDE4LjMtMTguM0gyNzFsMzEuNC01My45YzMuNi02LjMgMTAuMy0xMC4xIDE3LjYtMTAuMXMxMy45IDMuOCAxNy42IDEwLjFMMzY5IDE4MGg1Ni43YzEwLjEgMCAxOC4zIDguMiAxOC4zIDE4LjNjMCAzLjItLjkgNi40LTIuNSA5LjJMNDEzLjMgMjU2bDI4LjMgNDguNWMxLjYgMi44IDIuNSA2IDIuNSA5LjJjMCAxMC4xLTguMiAxOC4zLTE4LjMgMTguM0gzNjlsLTMxLjQgNTMuOWMtMy42IDYuMy0xMC4zIDEwLjEtMTcuNiAxMC4xcy0xMy45LTMuOC0xNy42LTEwLjFMMjcxIDMzMkgyMTQuM2MtMTAuMSAwLTE4LjMtOC4yLTE4LjMtMTguM3ptMTI0IDU0LjdMMzQxLjIgMzMySDI5OC44TDMyMCAzNjguNHpNMjU0LjUgMjU2bDMwLjMgNTJoNzAuNGwzMC4zLTUyLTMwLjMtNTJIMjg0LjhsLTMwLjMgNTJ6bTE0NC45IDIzLjhMMzgzIDMwOGgzMi44bC0xNi40LTI4LjJ6TTQxNS44IDIwNEgzODNsMTYuNCAyOC4yTDQxNS44IDIwNHpNMzIwIDE0My42TDI5OC44IDE4MGg0Mi40TDMyMCAxNDMuNnpNMjI0LjIgMjA0bDE2LjQgMjguMkwyNTcgMjA0SDIyNC4yek0yNTcgMzA4bC0xNi40LTI4LjJMMjI0LjIgMzA4SDI1N3pcIl1cbn07XG52YXIgZmFUb3JhaCA9IGZhU2Nyb2xsVG9yYWg7XG52YXIgZmFCcm9vbUJhbGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnJvb20tYmFsbCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1wicXVpZGRpdGNoXCIsIFwicXVpZGRpdGNoLWJyb29tLWJhbGxcIl0sIFwiZjQ1OFwiLCBcIk01NjYuNiA5LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTE5MiAxOTIgMzQuNyAzNC43YzQuMiA0LjIgNi42IDEwIDYuNiAxNmMwIDEyLjUtMTAuMSAyMi42LTIyLjYgMjIuNkgzNjQuM0wyNTYgMjExLjdWMTgyLjZjMC0xMi41IDEwLjEtMjIuNiAyMi42LTIyLjZjNiAwIDExLjggMi40IDE2IDYuNmwzNC43IDM0LjcgMTkyLTE5MmMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHptLTM0NCAyMjUuNUwzNDEuMSAzNTMuNGMzLjcgNDIuNy0xMS43IDg1LjItNDIuMyAxMTUuOEMyNzEuNCA0OTYuNiAyMzQuMiA1MTIgMTk1LjUgNTEyTDIyLjEgNTEyQzkuOSA1MTIgMCA1MDIuMSAwIDQ4OS45YzAtNi4zIDIuNy0xMi4zIDcuMy0xNi41TDEzMy43IDM1OS43YzQuMi0zLjctLjQtMTAuNC01LjQtNy45TDc3LjIgMzc3LjRjLTYuMSAzLTEzLjItMS40LTEzLjItOC4yYzAtMzEuNSAxMi41LTYxLjcgMzQuOC04NGw4LThjMzAuNi0zMC42IDczLjEtNDUuOSAxMTUuOC00Mi4zek00NjQgMzUyYTgwIDgwIDAgMSAxIDAgMTYwIDgwIDgwIDAgMSAxIDAtMTYwelwiXVxufTtcbnZhciBmYVF1aWRkaXRjaCA9IGZhQnJvb21CYWxsO1xudmFyIGZhUXVpZGRpdGNoQnJvb21CYWxsID0gZmFCcm9vbUJhbGw7XG52YXIgZmFUb2dnbGVPZmYgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndG9nZ2xlLW9mZicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjIwNFwiLCBcIk0zODQgMTI4YzcwLjcgMCAxMjggNTcuMyAxMjggMTI4cy01Ny4zIDEyOC0xMjggMTI4SDE5MmMtNzAuNyAwLTEyOC01Ny4zLTEyOC0xMjhzNTcuMy0xMjggMTI4LTEyOEgzODR6TTU3NiAyNTZjMC0xMDYtODYtMTkyLTE5Mi0xOTJIMTkyQzg2IDY0IDAgMTUwIDAgMjU2Uzg2IDQ0OCAxOTIgNDQ4SDM4NGMxMDYgMCAxOTItODYgMTkyLTE5MnpNMTkyIDM1MmE5NiA5NiAwIDEgMCAwLTE5MiA5NiA5NiAwIDEgMCAwIDE5MnpcIl1cbn07XG52YXIgZmFCb3hBcmNoaXZlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JveC1hcmNoaXZlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJhcmNoaXZlXCJdLCBcImYxODdcIiwgXCJNMzIgMzJINDgwYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjk2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDMyQzE0LjMgMTI4IDAgMTEzLjcgMCA5NlY2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMnptMCAxMjhINDgwVjQxNmMwIDM1LjMtMjguNyA2NC02NCA2NEg5NmMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMTYwem0xMjggODBjMCA4LjggNy4yIDE2IDE2IDE2SDMzNmM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgxNzZjLTguOCAwLTE2IDcuMi0xNiAxNnpcIl1cbn07XG52YXIgZmFBcmNoaXZlID0gZmFCb3hBcmNoaXZlO1xudmFyIGZhUGVyc29uRHJvd25pbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWRyb3duaW5nJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTQ1XCIsIFwiTTE5MiA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlY5Ni4yYzAgNTQuMSAyMy41IDEwNCA2Mi4yIDEzOC4zbC0yMSAxNDYuN2M3LjggMi4xIDE1LjUgMy4zIDIyLjggMy4zYzIxLjEgMCA0Mi04LjUgNTkuMi0yMC4zYzIyLjEtMTUuNSA1MS42LTE1LjUgNzMuNyAwYzEyLjQgOC41IDI2LjEgMTQuOCAzOS43IDE4bDE3LjctOTcuNmMxMC43LTEuMiAyMS4zLTMuMSAzMS45LTUuNWwxMDUtMjMuOWMxNy4yLTMuOSAyOC0yMS4xIDI0LjEtMzguM3MtMjEuMS0yOC0zOC4zLTI0LjFMNDAwIDIxNi42Yy00MSA5LjMtODMuNyA3LjUtMTIzLjctNS4yYy01MC4yLTE2LTg0LjMtNjIuNi04NC4zLTExNS4zVjY0ek0zMjAgMTkyYTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4ek0zMDYuNSAzODkuOWMtMTEuMS03LjktMjUuOS03LjktMzcgMEMyNDcgNDA1LjQgMjE5LjUgNDE2IDE5MiA0MTZjLTI2LjkgMC01NS4zLTEwLjgtNzcuNC0yNi4xbDAgMGMtMTEuOS04LjUtMjguMS03LjgtMzkuMiAxLjdjLTE0LjQgMTEuOS0zMi41IDIxLTUwLjYgMjUuMmMtMTcuMiA0LTI3LjkgMjEuMi0yMy45IDM4LjRzMjEuMiAyNy45IDM4LjQgMjMuOWMyNC41LTUuNyA0NC45LTE2LjUgNTguMi0yNUMxMjYuNSA0NjkuNyAxNTkgNDgwIDE5MiA0ODBjMzEuOSAwIDYwLjYtOS45IDgwLjQtMTguOWM1LjgtMi43IDExLjEtNS4zIDE1LjYtNy43YzQuNSAyLjQgOS43IDUuMSAxNS42IDcuN2MxOS44IDkgNDguNSAxOC45IDgwLjQgMTguOWMzMyAwIDY1LjUtMTAuMyA5NC41LTI1LjhjMTMuNCA4LjQgMzMuNyAxOS4zIDU4LjIgMjVjMTcuMiA0IDM0LjQtNi43IDM4LjQtMjMuOXMtNi43LTM0LjQtMjMuOS0zOC40Yy0xOC4xLTQuMi0zNi4yLTEzLjMtNTAuNi0yNS4yYy0xMS4xLTkuNC0yNy4zLTEwLjEtMzkuMi0xLjdsMCAwQzQzOS40IDQwNS4yIDQxMC45IDQxNiAzODQgNDE2Yy0yNy41IDAtNTUtMTAuNi03Ny41LTI2LjF6XCJdXG59O1xudmFyIGZhQXJyb3dEb3duOTEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctZG93bi05LTEnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInNvcnQtbnVtZXJpYy1kZXNjXCIsIFwic29ydC1udW1lcmljLWRvd24tYWx0XCJdLCBcImY4ODZcIiwgXCJNMTYwIDQ4MGM5IDAgMTcuNS0zLjggMjMuNi0xMC40bDg4LTk2YzExLjktMTMgMTEuMS0zMy4zLTItNDUuMnMtMzMuMy0xMS4xLTQ1LjIgMkwxOTIgMzY1LjdWNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWMzY1LjdMOTUuNiAzMzAuNGMtMTEuOS0xMy0zMi4yLTEzLjktNDUuMi0ycy0xMy45IDMyLjItMiA0NS4ybDg4IDk2QzE0Mi41IDQ3Ni4yIDE1MSA0ODAgMTYwIDQ4MHpNNDUwLjcgMjk0Yy04LjMtNi0xOS4xLTcuNy0yOC44LTQuNGwtNDggMTZjLTE2LjggNS42LTI1LjggMjMuNy0yMC4yIDQwLjVzMjMuNyAyNS44IDQwLjUgMjAuMmw1LjktMlY0MTZIMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDQ4IDQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDQ2NFYzMjBjMC0xMC4zLTQuOS0xOS45LTEzLjMtMjZ6TTQxOC4zIDkxYTMyIDMyIDAgMSAxIDI3LjQgNTcuOUEzMiAzMiAwIDEgMSA0MTguMyA5MXpNNDA1LjEgMjAzLjhsLTYuOCA5LjJjLTEwLjUgMTQuMi03LjUgMzQuMiA2LjcgNDQuOHMzNC4yIDcuNSA0NC44LTYuN2w0OC44LTY1LjhjMTQtMTguOSAyMS41LTQxLjcgMjEuNS02NS4yYzAtNDguNi0zOS40LTg4LTg4LTg4cy04OCAzOS40LTg4IDg4YzAgMzkuMiAyNS42IDcyLjQgNjEuMSA4My44elwiXVxufTtcbnZhciBmYVNvcnROdW1lcmljRGVzYyA9IGZhQXJyb3dEb3duOTE7XG52YXIgZmFTb3J0TnVtZXJpY0Rvd25BbHQgPSBmYUFycm93RG93bjkxO1xudmFyIGZhRmFjZUdyaW5Ub25ndWVTcXVpbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1ncmluLXRvbmd1ZS1zcXVpbnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1NDEsIFwiZ3Jpbi10b25ndWUtc3F1aW50XCJdLCBcImY1OGFcIiwgXCJNMCAyNTZDMCAzNjguOSA3My4xIDQ2NC43IDE3NC41IDQ5OC44QzE2NS4zIDQ4NCAxNjAgNDY2LjYgMTYwIDQ0OFY0MDAuN2MtMjQtMTcuNS00My4xLTQxLjQtNTQuOC02OS4yYy01LTExLjggNy0yMi41IDE5LjMtMTguN2MzOS43IDEyLjIgODQuNSAxOSAxMzEuOCAxOXM5Mi4xLTYuOCAxMzEuOC0xOWMxMi4zLTMuOCAyNC4zIDYuOSAxOS4zIDE4LjdjLTExLjggMjgtMzEuMSA1Mi01NS40IDY5LjZWNDQ4YzAgMTguNi01LjMgMzYtMTQuNSA1MC44QzQzOC45IDQ2NC43IDUxMiAzNjguOSA1MTIgMjU2QzUxMiAxMTQuNiAzOTcuNCAwIDI1NiAwUzAgMTE0LjYgMCAyNTZ6TTExNiAxNDEuMWMwLTkgOS42LTE0LjcgMTcuNS0xMC41bDg5LjkgNDcuOWMxMC43IDUuNyAxMC43IDIxLjEgMCAyNi44bC04OS45IDQ3LjljLTcuOSA0LjItMTcuNS0xLjUtMTcuNS0xMC41YzAtMi44IDEtNS41IDIuOC03LjZsMzYtNDMuMi0zNi00My4yYy0xLjgtMi4xLTIuOC00LjgtMi44LTcuNnptMjYyLjUtMTAuNWM3LjktNC4yIDE3LjUgMS41IDE3LjUgMTAuNWMwIDIuOC0xIDUuNS0yLjggNy42bC0zNiA0My4yIDM2IDQzLjJjMS44IDIuMSAyLjggNC44IDIuOCA3LjZjMCA5LTkuNiAxNC43LTE3LjUgMTAuNWwtODkuOS00Ny45Yy0xMC43LTUuNy0xMC43LTIxLjEgMC0yNi44bDg5LjktNDcuOXpNMzIwIDQ0OFY0MDIuNmMwLTE0LjctMTEuOS0yNi42LTI2LjYtMjYuNmgtMmMtMTEuMyAwLTIxLjEgNy45LTIzLjYgMTguOWMtMi44IDEyLjYtMjAuOCAxMi42LTIzLjYgMGMtMi41LTExLjEtMTIuMy0xOC45LTIzLjYtMTguOWgtMmMtMTQuNyAwLTI2LjYgMTEuOS0yNi42IDI2LjZWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR6XCJdXG59O1xudmFyIGZhR3JpblRvbmd1ZVNxdWludCA9IGZhRmFjZUdyaW5Ub25ndWVTcXVpbnQ7XG52YXIgZmFTcHJheUNhbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcHJheS1jYW4nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1YmRcIiwgXCJNMTI4IDBoNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2OTZIOTZWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTAgMjU2YzAtNTMgNDMtOTYgOTYtOTZIMjI0YzUzIDAgOTYgNDMgOTYgOTZWNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFYyNTZ6bTI0MCA4MEE4MCA4MCAwIDEgMCA4MCAzMzZhODAgODAgMCAxIDAgMTYwIDB6TTI1NiA2NGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0zODQgMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em02NCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0zMiA2NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTQ0OCAyNTZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMzg0IDEyOGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhVHJ1Y2tNb25zdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RydWNrLW1vbnN0ZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY2M2JcIiwgXCJNMjg4IDY0djY0SDQxNkwzNjggNjRIMjg4ek00MTkuMiAyNS42TDQ5NiAxMjhoODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2NjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJjLTI5LjItMzguOS03NS43LTY0LTEyOC02NHMtOTguOCAyNS4xLTEyOCA2NEgyODhjLTI5LjItMzguOS03NS43LTY0LTEyOC02NHMtOTguOCAyNS4xLTEyOCA2NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMlYxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJIMjI0VjQ4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4aDk2YzIwLjEgMCAzOS4xIDkuNSA1MS4yIDI1LjZ6TTE1MiAyNTZoMTZjMTIuMSAwIDIyLjEgOC45IDIzLjggMjAuNmM3LjYgMi4yIDE0LjkgNS4zIDIxLjcgOWM5LjQtNyAyMi44LTYuMyAzMS4zIDIuM2wxMS4zIDExLjNjOC42IDguNiA5LjMgMjEuOSAyLjMgMzEuM2MzLjcgNi44IDYuOCAxNC4xIDkgMjEuN2MxMS42IDEuNyAyMC42IDExLjcgMjAuNiAyMy44djE2YzAgMTIuMS04LjkgMjIuMS0yMC42IDIzLjhjLTIuMiA3LjYtNS4zIDE0LjktOSAyMS43YzcgOS40IDYuMyAyMi44LTIuMyAzMS4zbC0xMS4zIDExLjNjLTguNiA4LjYtMjEuOSA5LjMtMzEuMyAyLjJjLTYuOCAzLjctMTQuMSA2LjgtMjEuNyA5QzE5MC4xIDUwMy4xIDE4MC4xIDUxMiAxNjggNTEySDE1MmMtMTIuMSAwLTIyLjEtOC45LTIzLjgtMjAuNmMtNy42LTIuMi0xNC45LTUuMy0yMS43LTljLTkuNCA3LjEtMjIuOCA2LjMtMzEuMy0yLjJMNjMuOCA0NjguOWMtOC42LTguNi05LjMtMjEuOS0yLjMtMzEuM2MtMy43LTYuOS02LjgtMTQuMS05LTIxLjhDNDAuOSA0MTQuMSAzMiA0MDQuMSAzMiAzOTJWMzc2YzAtMTIuMSA4LjktMjIuMSAyMC42LTIzLjhjMi4yLTcuNiA1LjMtMTQuOSA5LTIxLjhjLTctOS40LTYuMy0yMi44IDIuMy0zMS4zbDExLjMtMTEuM2M4LjYtOC42IDIxLjktOS4zIDMxLjMtMi4zYzYuOC0zLjcgMTQuMS02LjggMjEuNy05YzEuNy0xMS42IDExLjctMjAuNiAyMy44LTIwLjZ6bTggMTc2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNNDQ4LjIgMjc2LjZjMS43LTExLjYgMTEuNy0yMC42IDIzLjgtMjAuNmgxNmMxMi4xIDAgMjIuMSA4LjkgMjMuOCAyMC42YzcuNiAyLjIgMTQuOSA1LjMgMjEuOCA5YzkuNC03IDIyLjgtNi4zIDMxLjMgMi4zbDExLjMgMTEuM2M4LjYgOC42IDkuMyAyMS45IDIuMiAzMS4zYzMuNyA2LjggNi44IDE0LjEgOSAyMS43YzExLjYgMS43IDIwLjYgMTEuNyAyMC42IDIzLjh2MTZjMCAxMi4xLTguOSAyMi4xLTIwLjYgMjMuOGMtMi4yIDcuNi01LjMgMTQuOS05IDIxLjdjNyA5LjQgNi4zIDIyLjgtMi4yIDMxLjNsLTExLjMgMTEuM2MtOC42IDguNi0yMS45IDkuMy0zMS4zIDIuMmMtNi45IDMuNy0xNC4xIDYuOC0yMS44IDlDNTEwLjEgNTAzLjEgNTAwLjEgNTEyIDQ4OCA1MTJINDcyYy0xMi4xIDAtMjIuMS04LjktMjMuOC0yMC42Yy03LjYtMi4yLTE0LjktNS4zLTIxLjctOWMtOS40IDcuMS0yMi44IDYuMy0zMS4zLTIuMmwtMTEuMy0xMS4zYy04LjYtOC42LTkuMy0yMS45LTIuMi0zMS4zYy0zLjctNi45LTYuOC0xNC4xLTktMjEuOEMzNjAuOSA0MTQuMSAzNTIgNDA0LjEgMzUyIDM5MlYzNzZjMC0xMi4xIDguOS0yMi4xIDIwLjYtMjMuOGMyLjItNy42IDUuMy0xNC45IDktMjEuOGMtNy05LjQtNi4zLTIyLjggMi4yLTMxLjNsMTEuMy0xMS4zYzguNi04LjYgMjEuOS05LjMgMzEuMy0yLjNjNi44LTMuNyAxNC4xLTYuOCAyMS43LTl6TTUyOCAzODRhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpcIl1cbn07XG52YXIgZmFXID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3cnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMTldLCBcIjU3XCIsIFwiTTIwLjggMzRjMTYuNS02LjIgMzUgMi4yIDQxLjIgMTguN2wxMTAuMiAyOTRMMjU3LjMgNTVjNC0xMy43IDE2LjUtMjMgMzAuNy0yM3MyNi43IDkuNCAzMC43IDIzbDg1LjEgMjkxLjdMNTE0IDUyLjhjNi4yLTE2LjUgMjQuNi0yNC45IDQxLjItMTguN3MyNC45IDI0LjcgMTguNyA0MS4ybC0xNDQgMzg0Yy00LjggMTIuOS0xNy40IDIxLjMtMzEuMiAyMC43cy0yNS43LTkuOC0yOS41LTIzTDI4OCAxNzguMyAyMDYuNyA0NTdjLTMuOSAxMy4yLTE1LjggMjIuNS0yOS41IDIzcy0yNi4zLTcuOC0zMS4yLTIwLjdMMiA3NS4yQy00LjIgNTguNyA0LjIgNDAuMiAyMC44IDM0elwiXVxufTtcbnZhciBmYUVhcnRoQWZyaWNhID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2VhcnRoLWFmcmljYScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzc1NywgXCJnbG9iZS1hZnJpY2FcIl0sIFwiZjU3Y1wiLCBcIk0xNzcuOCA2My4ybDEwIDE3LjRjMi44IDQuOCA0LjIgMTAuMyA0LjIgMTUuOXY0MS40YzAgMy45IDEuNiA3LjcgNC4zIDEwLjRjNi4yIDYuMiAxNi41IDUuNyAyMi0xLjJsMTMuNi0xN2M0LjctNS45IDEyLjktNy43IDE5LjYtNC4zbDE1LjIgNy42YzMuNCAxLjcgNy4yIDIuNiAxMSAyLjZjNi41IDAgMTIuOC0yLjYgMTcuNC03LjJsMy45LTMuOWMyLjktMi45IDcuMy0zLjYgMTEtMS44bDI5LjIgMTQuNmM3LjggMy45IDEyLjYgMTEuOCAxMi42IDIwLjVjMCAxMC41LTcuMSAxOS42LTE3LjMgMjIuMmwtMzUuNCA4LjhjLTcuNCAxLjgtMTUuMSAxLjUtMjIuNC0uOWwtMzItMTAuN2MtMy4zLTEuMS02LjctMS43LTEwLjItMS43Yy03IDAtMTMuOCAyLjMtMTkuNCA2LjVMMTc2IDIxMmMtMTAuMSA3LjYtMTYgMTkuNC0xNiAzMnYyOGMwIDI2LjUgMjEuNSA0OCA0OCA0OGgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJjMTAuMSAwIDE5LjYtNC43IDI1LjYtMTIuOGwyNS42LTM0LjFjOC4zLTExLjEgMTIuOC0yNC42IDEyLjgtMzguNFYzMTguNmMwLTMuOSAyLjYtNy4zIDYuNC04LjJsNS4zLTEuM2MxMS45LTMgMjAuMy0xMy43IDIwLjMtMjZjMC03LjEtMi44LTEzLjktNy44LTE4LjlsLTMzLjUtMzMuNWMtMy43LTMuNy0zLjctOS43IDAtMTMuNGM1LjctNS43IDE0LjEtNy43IDIxLjgtNS4xbDE0LjEgNC43YzEyLjMgNC4xIDI1LjctMS41IDMxLjUtMTNjMy41LTcgMTEuMi0xMC44IDE4LjktOS4ybDI3LjQgNS41QzQzMiAxMTIuNCAzNTEuNSA0OCAyNTYgNDhjLTI3LjcgMC01NCA1LjQtNzguMiAxNS4yek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6XCJdXG59O1xudmFyIGZhR2xvYmVBZnJpY2EgPSBmYUVhcnRoQWZyaWNhO1xudmFyIGZhUmFpbmJvdyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyYWluYm93JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI3NzUyXSwgXCJmNzViXCIsIFwiTTMyMCA5NkMxNzguNiA5NiA2NCAyMTAuNiA2NCAzNTJ2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzUyQzAgMTc1LjMgMTQzLjMgMzIgMzIwIDMyczMyMCAxNDMuMyAzMjAgMzIwdjk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjM1MkM1NzYgMjEwLjYgNDYxLjQgOTYgMzIwIDk2em0wIDE5MmMtMzUuMyAwLTY0IDI4LjctNjQgNjR2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzUyYzAtNzAuNyA1Ny4zLTEyOCAxMjgtMTI4czEyOCA1Ny4zIDEyOCAxMjh2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzUyYzAtMzUuMy0yOC43LTY0LTY0LTY0ek0xNjAgMzUydjk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjM1MmMwLTEyMy43IDEwMC4zLTIyNCAyMjQtMjI0czIyNCAxMDAuMyAyMjQgMjI0djk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjM1MmMwLTg4LjQtNzEuNi0xNjAtMTYwLTE2MHMtMTYwIDcxLjYtMTYwIDE2MHpcIl1cbn07XG52YXIgZmFDaXJjbGVOb3RjaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtbm90Y2gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYxY2VcIiwgXCJNMjIyLjcgMzIuMWM1IDE2LjktNC42IDM0LjgtMjEuNSAzOS44QzEyMS44IDk1LjYgNjQgMTY5LjEgNjQgMjU2YzAgMTA2IDg2IDE5MiAxOTIgMTkyczE5Mi04NiAxOTItMTkyYzAtODYuOS01Ny44LTE2MC40LTEzNy4xLTE4NC4xYy0xNi45LTUtMjYuNi0yMi45LTIxLjUtMzkuOHMyMi45LTI2LjYgMzkuOC0yMS41QzQzNC45IDQyLjEgNTEyIDE0MCA1MTIgMjU2YzAgMTQxLjQtMTE0LjYgMjU2LTI1NiAyNTZTMCAzOTcuNCAwIDI1NkMwIDE0MCA3Ny4xIDQyLjEgMTgyLjkgMTAuNmMxNi45LTUgMzQuOCA0LjYgMzkuOCAyMS41elwiXVxufTtcbnZhciBmYVRhYmxldFNjcmVlbkJ1dHRvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YWJsZXQtc2NyZWVuLWJ1dHRvbicsXG4gIGljb246IFs0NDgsIDUxMiwgW1widGFibGV0LWFsdFwiXSwgXCJmM2ZhXCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwSDM4NGMzNS4zIDAgNjQgMjguNyA2NCA2NFY0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjY0ek0yNTYgNDQ4YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTM4NCA2NEg2NFYzODRIMzg0VjY0elwiXVxufTtcbnZhciBmYVRhYmxldEFsdCA9IGZhVGFibGV0U2NyZWVuQnV0dG9uO1xudmFyIGZhUGF3ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BhdycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjFiMFwiLCBcIk0yMjYuNSA5Mi45YzE0LjMgNDIuOS0uMyA4Ni4yLTMyLjYgOTYuOHMtNzAuMS0xNS42LTg0LjQtNTguNXMuMy04Ni4yIDMyLjYtOTYuOHM3MC4xIDE1LjYgODQuNCA1OC41ek0xMDAuNCAxOTguNmMxOC45IDMyLjQgMTQuMyA3MC4xLTEwLjIgODQuMXMtNTkuNy0uOS03OC41LTMzLjNTLTIuNyAxNzkuMyAyMS44IDE2NS4zczU5LjcgLjkgNzguNSAzMy4zek02OS4yIDQwMS4yQzEyMS42IDI1OS45IDIxNC43IDIyNCAyNTYgMjI0czEzNC40IDM1LjkgMTg2LjggMTc3LjJjMy42IDkuNyA1LjIgMjAuMSA1LjIgMzAuNXYxLjZjMCAyNS44LTIwLjkgNDYuNy00Ni43IDQ2LjdjLTExLjUgMC0yMi45LTEuNC0zNC00LjJsLTg4LTIyYy0xNS4zLTMuOC0zMS4zLTMuOC00Ni42IDBsLTg4IDIyYy0xMS4xIDIuOC0yMi41IDQuMi0zNCA0LjJDODQuOSA0ODAgNjQgNDU5LjEgNjQgNDMzLjN2LTEuNmMwLTEwLjQgMS42LTIwLjggNS4yLTMwLjV6TTQyMS44IDI4Mi43Yy0yNC41LTE0LTI5LjEtNTEuNy0xMC4yLTg0LjFzNTQtNDcuMyA3OC41LTMzLjNzMjkuMSA1MS43IDEwLjIgODQuMXMtNTQgNDcuMy03OC41IDMzLjN6TTMxMC4xIDE4OS43Yy0zMi4zLTEwLjYtNDYuOS01My45LTMyLjYtOTYuOHM1Mi4xLTY5LjEgODQuNC01OC41czQ2LjkgNTMuOSAzMi42IDk2LjhzLTUyLjEgNjkuMS04NC40IDU4LjV6XCJdXG59O1xudmFyIGZhQ2xvdWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvdWQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFs5NzI5XSwgXCJmMGMyXCIsIFwiTTAgMzM2YzAgNzkuNSA2NC41IDE0NCAxNDQgMTQ0SDUxMmM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOGMwLTYxLjktNDQtMTEzLjYtMTAyLjQtMTI1LjRjNC4xLTEwLjcgNi40LTIyLjQgNi40LTM0LjZjMC01My00My05Ni05Ni05NmMtMTkuNyAwLTM4LjEgNi01My4zIDE2LjJDMzY3IDY0LjIgMzE1LjMgMzIgMjU2IDMyQzE2Ny42IDMyIDk2IDEwMy42IDk2IDE5MmMwIDIuNyAuMSA1LjQgLjIgOC4xQzQwLjIgMjE5LjggMCAyNzMuMiAwIDMzNnpcIl1cbn07XG52YXIgZmFUcm93ZWxCcmlja3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJvd2VsLWJyaWNrcycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTU4YVwiLCBcIk0yNDAuOCA0LjhDMjUwLjMgMTAuNiAyNTYgMjAuOSAyNTYgMzJ2NzJoODljMy42LTEzLjggMTYuMS0yNCAzMS0yNGg4OGMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OEgzNzZjLTE0LjkgMC0yNy40LTEwLjItMzEtMjRIMjU2djcyYzAgMTEuMS01LjcgMjEuNC0xNS4yIDI3LjJzLTIxLjIgNi40LTMxLjEgMS40bC0xOTItOTZDNi44IDE1MS4yIDAgMTQwLjEgMCAxMjhzNi44LTIzLjIgMTcuNy0yOC42bDE5Mi05NmM5LjktNSAyMS43LTQuNCAzMS4xIDEuNHpNMjg4IDI1NmMwLTE3LjcgMTQuMy0zMiAzMi0zMkg0ODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJIMzIwYy0xNy43IDAtMzItMTQuMy0zMi0zMlYyNTZ6TTMyIDM4NGg5NmMxNy43IDAgMzIgMTQuMyAzMiAzMnY2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0xOTIgMEg0ODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJIMjI0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlY0MTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xudmFyIGZhRmFjZUZsdXNoZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1mbHVzaGVkJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTYzLCBcImZsdXNoZWRcIl0sIFwiZjU3OVwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6TTE3NiAzODRjMCA4LjggNy4yIDE2IDE2IDE2SDMyMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgxOTJjLTguOCAwLTE2IDcuMi0xNiAxNnptLTE2LTg4YTcyIDcyIDAgMSAwIDAtMTQ0IDcyIDcyIDAgMSAwIDAgMTQ0em0yNjQtNzJhNzIgNzIgMCAxIDAgLTE0NCAwIDcyIDcyIDAgMSAwIDE0NCAwem0tMjg4IDBhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMTkyIDBhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpcIl1cbn07XG52YXIgZmFGbHVzaGVkID0gZmFGYWNlRmx1c2hlZDtcbnZhciBmYUhvc3BpdGFsVXNlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3NwaXRhbC11c2VyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmODBkXCIsIFwiTTQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4VjI1NkgxNDRjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMHY2NEgxNDRjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMHY4MGMwIDI2LjUgMjEuNSA0OCA0OCA0OEgyNjUuOWMtNi4zLTEwLjItOS45LTIyLjItOS45LTM1LjFjMC00Ni45IDI1LjgtODcuOCA2NC0xMDkuMlYyNzEuOCA0OGMwLTI2LjUtMjEuNS00OC00OC00OEg0OHpNMTUyIDY0aDE2YzguOCAwIDE2IDcuMiAxNiAxNnYyNGgyNGM4LjggMCAxNiA3LjIgMTYgMTZ2MTZjMCA4LjgtNy4yIDE2LTE2IDE2SDE4NHYyNGMwIDguOC03LjIgMTYtMTYgMTZIMTUyYy04LjggMC0xNi03LjItMTYtMTZWMTUySDExMmMtOC44IDAtMTYtNy4yLTE2LTE2VjEyMGMwLTguOCA3LjItMTYgMTYtMTZoMjRWODBjMC04LjggNy4yLTE2IDE2LTE2ek01MTIgMjcyYTgwIDgwIDAgMSAwIC0xNjAgMCA4MCA4MCAwIDEgMCAxNjAgMHpNMjg4IDQ3Ny4xYzAgMTkuMyAxNS42IDM0LjkgMzQuOSAzNC45SDU0MS4xYzE5LjMgMCAzNC45LTE1LjYgMzQuOS0zNC45YzAtNTEuNC00MS43LTkzLjEtOTMuMS05My4xSDM4MS4xYy01MS40IDAtOTMuMSA0MS43LTkzLjEgOTMuMXpcIl1cbn07XG52YXIgZmFUZW50QXJyb3dMZWZ0UmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGVudC1hcnJvdy1sZWZ0LXJpZ2h0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTdmXCIsIFwiTTQ4OC4xIDYuMmMtOS45LTguOS0yNS04LjEtMzMuOSAxLjhzLTguMSAyNSAxLjggMzMuOUw0ODkuNSA3MiA4Ni41IDcybDMzLjUtMzAuMmM5LjktOC45IDEwLjctMjQgMS44LTMzLjlTOTcuOC0yLjcgODcuOSA2LjJsLTgwIDcyQzIuOSA4Mi43IDAgODkuMiAwIDk2czIuOSAxMy4zIDcuOSAxNy44bDgwIDcyYzkuOSA4LjkgMjUgOC4xIDMzLjktMS44czguMS0yNS0xLjgtMzMuOUw4Ni41IDEyMGw0MDIuOSAwLTMzLjUgMzAuMmMtOS45IDguOS0xMC43IDI0LTEuOCAzMy45czI0IDEwLjcgMzMuOSAxLjhsODAtNzJjNS4xLTQuNiA3LjktMTEgNy45LTE3LjhzLTIuOS0xMy4zLTcuOS0xNy44bC04MC03MnpNMzA3LjQgMTY2LjVjLTExLjUtOC43LTI3LjMtOC43LTM4LjggMGwtMTY4IDEyOGMtNi42IDUtMTEgMTIuNS0xMi4zIDIwLjdsLTI0IDE2MGMtMS40IDkuMiAxLjMgMTguNiA3LjQgMjUuNlM4Ni43IDUxMiA5NiA1MTJIMjQwaDE2YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM2MS45YzAtNS41IDQuNC05LjkgOS45LTkuOWMzLjcgMCA3LjIgMi4xIDguOCA1LjVsNjguNCAxMzYuOGM1LjQgMTAuOCAxNi41IDE3LjcgMjguNiAxNy43SDQ2NGgxNmM5LjMgMCAxOC4yLTQuMSAyNC4yLTExLjFzOC44LTE2LjQgNy40LTI1LjZsLTI0LTE2MGMtMS4yLTguMi01LjYtMTUuNy0xMi4zLTIwLjdsLTE2OC0xMjh6XCJdXG59O1xudmFyIGZhR2F2ZWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ2F2ZWwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImxlZ2FsXCJdLCBcImYwZTNcIiwgXCJNMzE4LjYgOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTIwIDEyMGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsMTYgMTZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsNC00TDMyNS40IDI5My40bC00IDRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDE2IDE2YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDEyMC0xMjBjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTE2LTE2Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtNCA0TDMzMC42IDc0LjZsNC00YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xNi0xNnptLTE1MiAyODhjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w0OCA0OGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xLjQtMS40TDI3MiAyODUuMyAyMjYuNyAyNDAgMTY4IDI5OC43bC0xLjQtMS40elwiXVxufTtcbnZhciBmYUxlZ2FsID0gZmFHYXZlbDtcbnZhciBmYUJpbm9jdWxhcnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmlub2N1bGFycycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjFlNVwiLCBcIk0xMjggMzJoMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJWOTZIOTZWNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTY0IDk2VjQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMkgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMzg4LjljMC0zNC42IDkuNC02OC42IDI3LjItOTguM0M0MC45IDI2Ny44IDQ5LjcgMjQyLjQgNTMgMjE2TDYwLjUgMTU2YzItMTYgMTUuNi0yOCAzMS44LTI4SDE5MnptMjI3LjggMGMxNi4xIDAgMjkuOCAxMiAzMS44IDI4TDQ1OSAyMTZjMy4zIDI2LjQgMTIuMSA1MS44IDI1LjggNzQuNmMxNy44IDI5LjcgMjcuMiA2My43IDI3LjIgOTguM1Y0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJIMzUyYy0xNy43IDAtMzItMTQuMy0zMi0zMlYxMjhoOTkuOHpNMzIwIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyaDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjk2SDMyMFY2NHptLTMyIDY0VjI4OEgyMjRWMTI4aDY0elwiXVxufTtcbnZhciBmYU1pY3JvcGhvbmVTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtaWNyb3Bob25lLXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmMTMxXCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdMNDcyLjEgMzQ0LjdjMTUuMi0yNiAyMy45LTU2LjMgMjMuOS04OC43VjIxNmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHY0MGMwIDIxLjItNS4xIDQxLjEtMTQuMiA1OC43TDQxNiAzMDAuOFY5NmMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NnY1NC4zTDM4LjggNS4xem0zNjIuNSA0MDdsLTQzLjEtMzMuOUMzNDYuMSAzODIgMzMzLjMgMzg0IDMyMCAzODRjLTcwLjcgMC0xMjgtNTcuMy0xMjgtMTI4di04LjdMMTQ0LjcgMjEwYy0uNSAxLjktLjcgMy45LS43IDZ2NDBjMCA4OS4xIDY2LjIgMTYyLjcgMTUyIDE3NC40VjQ2NEgyNDhjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRoNzIgNzJjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRIMzQ0VjQzMC40YzIwLjQtMi44IDM5LjctOS4xIDU3LjMtMTguMnpcIl1cbn07XG52YXIgZmFCb3hUaXNzdWUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm94LXRpc3N1ZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTA1YlwiLCBcIk05Mi41IDBIMjA4YzQwIDAgNTIgMjQgNjQgNDhzMjQgNDggNjQgNDhoODUuMkM0MzYgOTYgNDQ4IDEwOCA0NDggMTIyLjhjMCAzLjQtLjcgNi44LTEuOSAxMEw0MDkuNiAyMjQgMzg0IDI4OEgxMjhsLTE2LTY0TDY0LjkgMzUuNGMtLjYtMi4zLS45LTQuNi0uOS02LjlDNjQgMTIuOCA3Ni44IDAgOTIuNSAwek03OSAyMjRsMTYgNjRIODBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZoNDhIMzg0aDQ4YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDQxOC41bDI1LjYtNjRINDY0YzI2LjUgMCA0OCAyMS41IDQ4IDQ4VjM4NEgwVjI3MmMwLTI2LjUgMjEuNS00OCA0OC00OEg3OXpNMCA0MTZINTEydjQ4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFY0MTZ6XCJdXG59O1xudmFyIGZhTW90b3JjeWNsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb3RvcmN5Y2xlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI3OTQ5XSwgXCJmMjFjXCIsIFwiTTI4MCAzMmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGg1Ny43bDE2LjQgMzAuM0wyNTYgMTkybC00NS4zLTQ1LjNjLTEyLTEyLTI4LjMtMTguNy00NS4zLTE4LjdINjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjMyaDk2Yzg4LjQgMCAxNjAgNzEuNiAxNjAgMTYwYzAgMTEtMS4xIDIxLjctMy4yIDMyaDcwLjRjLTIuMS0xMC4zLTMuMi0yMS0zLjItMzJjMC01Mi4yIDI1LTk4LjYgNjMuNy0xMjcuOGwxNS40IDI4LjZDNDAyLjQgMjc2LjMgMzg0IDMxMiAzODQgMzUyYzAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4czEyOC01Ny4zIDEyOC0xMjhzLTU3LjMtMTI4LTEyOC0xMjhjLTEzLjUgMC0yNi41IDIuMS0zOC43IDZMNDE4LjIgMTI4SDQ4MGMxNy43IDAgMzItMTQuMyAzMi0zMlY2NGMwLTE3LjctMTQuMy0zMi0zMi0zMkg0NTkuNmMtNy41IDAtMTQuNyAyLjYtMjAuNSA3LjRMMzkxLjcgNzguOWwtMTQtMjZjLTctMTIuOS0yMC41LTIxLTM1LjItMjFIMjgwek00NjIuNyAzMTEuMmwyOC4yIDUyLjJjNi4zIDExLjcgMjAuOSAxNiAzMi41IDkuN3MxNi0yMC45IDkuNy0zMi41bC0yOC4yLTUyLjJjMi4zLS4zIDQuNy0uNCA3LjEtLjRjMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjRzLTY0LTI4LjctNjQtNjRjMC0xNS41IDUuNS0yOS43IDE0LjctNDAuOHpNMTg3LjMgMzc2Yy05LjUgMjMuNS0zMi41IDQwLTU5LjMgNDBjLTM1LjMgMC02NC0yOC43LTY0LTY0czI4LjctNjQgNjQtNjRjMjYuOSAwIDQ5LjkgMTYuNSA1OS4zIDQwaDY2LjRDMjQyLjUgMjY4LjggMTkwLjUgMjI0IDEyOCAyMjRDNTcuMyAyMjQgMCAyODEuMyAwIDM1MnM1Ny4zIDEyOCAxMjggMTI4YzYyLjUgMCAxMTQuNS00NC44IDEyNS44LTEwNEgxODcuM3pNMTI4IDM4NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xudmFyIGZhQmVsbENvbmNpZXJnZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiZWxsLWNvbmNpZXJnZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODcxOCwgXCJjb25jaWVyZ2UtYmVsbFwiXSwgXCJmNTYyXCIsIFwiTTIxNiA2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGgxNnYzMy4zQzExOS42IDE1Ny4yIDMyIDI1Mi40IDMyIDM2OEg0ODBjMC0xMTUuNi04Ny42LTIxMC44LTIwMC0yMjIuN1YxMTJoMTZjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRIMjU2IDIxNnpNMjQgNDAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0SDQ4OGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEgyNHpcIl1cbn07XG52YXIgZmFDb25jaWVyZ2VCZWxsID0gZmFCZWxsQ29uY2llcmdlO1xudmFyIGZhUGVuUnVsZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVuLXJ1bGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJwZW5jaWwtcnVsZXJcIl0sIFwiZjVhZVwiLCBcIk00NjkuMyAxOS4zbDIzLjQgMjMuNGMyNSAyNSAyNSA2NS41IDAgOTAuNWwtNTYuNCA1Ni40TDMyMi4zIDc1LjdsNTYuNC01Ni40YzI1LTI1IDY1LjUtMjUgOTAuNSAwek00NC45IDM1My4yTDI5OS43IDk4LjMgNDEzLjcgMjEyLjMgMTU4LjggNDY3LjFjLTYuNyA2LjctMTUuMSAxMS42LTI0LjIgMTQuMmwtMTA0IDI5LjdjLTguNCAyLjQtMTcuNCAuMS0yMy42LTYuMXMtOC41LTE1LjItNi4xLTIzLjZsMjkuNy0xMDRjMi42LTkuMiA3LjUtMTcuNSAxNC4yLTI0LjJ6TTI0OS40IDEwMy40TDEwMy40IDI0OS40IDE2IDE2MS45Yy0xOC43LTE4LjctMTguNy00OS4xIDAtNjcuOUw5NC4xIDE2YzE4LjctMTguNyA0OS4xLTE4LjcgNjcuOSAwbDE5LjggMTkuOGMtLjMgLjMtLjcgLjYtMSAuOWwtNjQgNjRjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGw2NC02NGMuMy0uMyAuNi0uNyAuOS0xbDQ1LjEgNDUuMXpNNDA4LjYgMjYyLjZsNDUuMSA0NS4xYy0uMyAuMy0uNyAuNi0xIC45bC02NCA2NGMtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwbDY0LTY0Yy4zLS4zIC42LS43IC45LTFMNDk2IDM1MC4xYzE4LjcgMTguNyAxOC43IDQ5LjEgMCA2Ny45TDQxNy45IDQ5NmMtMTguNyAxOC43LTQ5LjEgMTguNy02Ny45IDBsLTg3LjQtODcuNEw0MDguNiAyNjIuNnpcIl1cbn07XG52YXIgZmFQZW5jaWxSdWxlciA9IGZhUGVuUnVsZXI7XG52YXIgZmFQZW9wbGVBcnJvd3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVvcGxlLWFycm93cycsXG4gIGljb246IFs2NDAsIDUxMiwgW1wicGVvcGxlLWFycm93cy1sZWZ0LXJpZ2h0XCJdLCBcImUwNjhcIiwgXCJNNjQgNjRhNjQgNjQgMCAxIDEgMTI4IDBBNjQgNjQgMCAxIDEgNjQgNjR6TTI1LjkgMjMzLjRDMjkuMyAxOTEuOSA2NCAxNjAgMTA1LjYgMTYwaDQ0LjhjMjcgMCA1MSAxMy40IDY1LjUgMzQuMWMtMi43IDEuOS01LjIgNC03LjUgNi4zbC02NCA2NGMtMjEuOSAyMS45LTIxLjkgNTcuMyAwIDc5LjJMMTkyIDM5MS4yVjQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEgxMTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjM0OC4zYy0yNi41LTkuNS00NC43LTM1LjgtNDIuMi02NS42bDQuMS00OS4zek00NDggNjRhNjQgNjQgMCAxIDEgMTI4IDBBNjQgNjQgMCAxIDEgNDQ4IDY0ek00MzEuNiAyMDAuNGMtMi4zLTIuMy00LjktNC40LTcuNS02LjNjMTQuNS0yMC43IDM4LjYtMzQuMSA2NS41LTM0LjFoNDQuOGM0MS42IDAgNzYuMyAzMS45IDc5LjcgNzMuNGw0LjEgNDkuM2MyLjUgMjkuOC0xNS43IDU2LjEtNDIuMiA2NS42VjQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OTZjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjM5MS4ybDQ3LjYtNDcuNmMyMS45LTIxLjkgMjEuOS01Ny4zIDAtNzkuMmwtNjQtNjR6TTI3MiAyNDB2MzJoOTZWMjQwYzAtOS43IDUuOC0xOC41IDE0LjgtMjIuMnMxOS4zLTEuNyAyNi4yIDUuMmw2NCA2NGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNjQgNjRjLTYuOSA2LjktMTcuMiA4LjktMjYuMiA1LjJzLTE0LjgtMTIuNS0xNC44LTIyLjJWMzM2SDI3MnYzMmMwIDkuNy01LjggMTguNS0xNC44IDIyLjJzLTE5LjMgMS43LTI2LjItNS4ybC02NC02NGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsNjQtNjRjNi45LTYuOSAxNy4yLTguOSAyNi4yLTUuMnMxNC44IDEyLjUgMTQuOCAyMi4yelwiXVxufTtcbnZhciBmYVBlb3BsZUFycm93c0xlZnRSaWdodCA9IGZhUGVvcGxlQXJyb3dzO1xudmFyIGZhTWFyc0FuZFZlbnVzQnVyc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFycy1hbmQtdmVudXMtYnVyc3QnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MjNcIiwgXCJNNTA0IDBjLTkuNyAwLTE4LjUgNS44LTIyLjIgMTQuOHMtMS43IDE5LjMgNS4yIDI2LjJsMzkgMzktMjIuMiAyMi4yQzQ3NS45IDc4LjQgNDM5LjYgNjQgNDAwIDY0Yy04OC40IDAtMTYwIDcxLjYtMTYwIDE2MGMwIDgwLjIgNTkgMTQ2LjYgMTM2IDE1OC4yVjQwOEgzNTJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRoMjR2MzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFY0NTZoMjRjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRINDI0VjM4Mi4yYzc3LTExLjYgMTM2LTc4IDEzNi0xNTguMmMwLTMxLjQtOS02MC43LTI0LjctODUuNEw1NjAgMTEzLjlsMzkgMzljNi45IDYuOSAxNy4yIDguOSAyNi4yIDUuMnMxNC44LTEyLjUgMTQuOC0yMi4yVjI0YzAtMTMuMy0xMC43LTI0LTI0LTI0SDUwNHpNNDAwIDEyOGE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnpNMTkwLjkgMTguMUMxODguNCAxMiAxODIuNiA4IDE3NiA4cy0xMi40IDQtMTQuOSAxMC4xbC0yOS40IDc0TDU1LjYgNjguOWMtNi4zLTEuOS0xMy4xIC4yLTE3LjIgNS4zcy00LjYgMTIuMi0xLjQgMTcuOWwzOS41IDY5LjFMMTAuOSAyMDYuNGMtNS40IDMuNy04IDEwLjMtNi41IDE2LjdzNi43IDExLjIgMTMuMSAxMi4ybDc4LjcgMTIuMkw5MC42IDMyN2MtLjUgNi41IDMuMSAxMi43IDkgMTUuNXMxMi45IDEuOCAxNy44LTIuNkwxNzYgMjg2LjFsNTguNiA1My45YzQuMSAzLjggOS45IDUuMSAxNS4yIDMuNkMyMjMuNiAzMTAuOCAyMDggMjY5LjIgMjA4IDIyNGMwLTYwLjggMjguMy0xMTUgNzIuNC0xNTAuMkwyMjAuMyA5Mi4xbC0yOS40LTc0elwiXVxufTtcbnZhciBmYVNxdWFyZUNhcmV0UmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLWNhcmV0LXJpZ2h0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJjYXJldC1zcXVhcmUtcmlnaHRcIl0sIFwiZjE1MlwiLCBcIk00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMzIwIDI1NmMwIDYuNy0yLjggMTMtNy43IDE3LjZsLTExMiAxMDRjLTcgNi41LTE3LjIgOC4yLTI1LjkgNC40cy0xNC40LTEyLjUtMTQuNC0yMmwwLTIwOGMwLTkuNSA1LjctMTguMiAxNC40LTIyczE4LjktMi4xIDI1LjkgNC40bDExMiAxMDRjNC45IDQuNSA3LjcgMTAuOSA3LjcgMTcuNnpcIl1cbn07XG52YXIgZmFDYXJldFNxdWFyZVJpZ2h0ID0gZmFTcXVhcmVDYXJldFJpZ2h0O1xudmFyIGZhU2Npc3NvcnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2Npc3NvcnMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5OTg0LCA5OTg2LCA5OTg4LCBcImN1dFwiXSwgXCJmMGM0XCIsIFwiTTI1NiAxOTJsLTM5LjUtMzkuNWM0LjktMTIuNiA3LjUtMjYuMiA3LjUtNDAuNUMyMjQgNTAuMSAxNzMuOSAwIDExMiAwUzAgNTAuMSAwIDExMnM1MC4xIDExMiAxMTIgMTEyYzE0LjMgMCAyNy45LTIuNyA0MC41LTcuNUwxOTIgMjU2bC0zOS41IDM5LjVjLTEyLjYtNC45LTI2LjItNy41LTQwLjUtNy41QzUwLjEgMjg4IDAgMzM4LjEgMCA0MDBzNTAuMSAxMTIgMTEyIDExMnMxMTItNTAuMSAxMTItMTEyYzAtMTQuMy0yLjctMjcuOS03LjUtNDAuNUw0OTkuMiA3Ni44YzcuMS03LjEgNy4xLTE4LjUgMC0yNS42Yy0yOC4zLTI4LjMtNzQuMS0yOC4zLTEwMi40IDBMMjU2IDE5MnptMjIuNiAxNTAuNkwzOTYuOCA0NjAuOGMyOC4zIDI4LjMgNzQuMSAyOC4zIDEwMi40IDBjNy4xLTcuMSA3LjEtMTguNSAwLTI1LjZMMzQyLjYgMjc4LjZsLTY0IDY0ek02NCAxMTJhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptNDggMjQwYTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpcIl1cbn07XG52YXIgZmFDdXQgPSBmYVNjaXNzb3JzO1xudmFyIGZhU3VuUGxhbnRXaWx0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N1bi1wbGFudC13aWx0JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTdhXCIsIFwiTTE2MCAwYy02LjMgMC0xMiAzLjctMTQuNiA5LjVMMTIwLjYgNjQuOSA2My45IDQzLjJjLTUuOS0yLjMtMTIuNi0uOC0xNyAzLjZzLTUuOSAxMS4xLTMuNiAxN2wyMS43IDU2LjdMOS41IDE0NS40QzMuNyAxNDggMCAxNTMuNyAwIDE2MHMzLjcgMTIgOS41IDE0LjZsNTUuNCAyNC44TDQzLjIgMjU2LjFjLTIuMyA1LjktLjggMTIuNiAzLjYgMTdzMTEuMSA1LjkgMTcgMy42bDU2LjctMjEuNyAyNC44IDU1LjRjMi42IDUuOCA4LjMgOS41IDE0LjYgOS41czEyLTMuNyAxNC42LTkuNWwyNC44LTU1LjQgNTYuNyAyMS43YzUuOSAyLjMgMTIuNiAuOCAxNy0zLjZzNS45LTExLjEgMy42LTE3bC0yMS43LTU2LjcgNTUuNC0yNC44YzUuOC0yLjYgOS41LTguMyA5LjUtMTQuNnMtMy43LTEyLTkuNS0xNC42bC01NS40LTI0LjggMjEuNy01Ni43YzIuMy01LjkgLjgtMTIuNi0zLjYtMTdzLTExLjEtNS45LTE3LTMuNkwxOTkuNCA2NC45IDE3NC42IDkuNUMxNzIgMy43IDE2Ni4zIDAgMTYwIDB6bTAgOTZhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6bTMyIDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTMxMiAxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMydjUzLjRjLTE0LjggNy43LTI0IDIzLjEtMjQgNDQuNmMwIDE2LjggMTYgNDQgMzcuNCA2Ny4yYzUuOCA2LjIgMTUuNSA2LjIgMjEuMiAwQzYyNCAzMTggNjQwIDI5MC43IDY0MCAyNzRjMC0yMS41LTkuMi0zNy0yNC00NC42VjE3NmMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MHYyMi43Yy05LjgtNC4zLTIwLjYtNi43LTMyLTYuN2MtNDQuMiAwLTgwIDM1LjgtODAgODB2MjEuNGMtMTQuOCA3LjctMjQgMjMuMS0yNCA0NC42YzAgMTYuOCAxNiA0NCAzNy40IDY3LjJjNS44IDYuMiAxNS41IDYuMiAyMS4yIDBDNDAwIDM4MiA0MTYgMzU0LjcgNDE2IDMzOGMwLTIxLjUtOS4yLTM3LTI0LTQ0LjZWMjcyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ2OFY0NDhIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINjA4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDUwNFYyODB2LThWMTc2elwiXVxufTtcbnZhciBmYVRvaWxldHNQb3J0YWJsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0b2lsZXRzLXBvcnRhYmxlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTg0XCIsIFwiTTMyIDBIMjI0YzE3LjcgMCAzMiAxNC4zIDMyIDMyVjY0SDBWMzJDMCAxNC4zIDE0LjMgMCAzMiAwek0wIDk2SDI0IDIzMmgyNHYyNFY0ODhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjR2LThINDh2OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYxMjAgOTZ6TTE5MiAyMjRjLTguOCAwLTE2IDcuMi0xNiAxNnY2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjI0MGMwLTguOC03LjItMTYtMTYtMTZ6TTM1MiAwSDU0NGMxNy43IDAgMzIgMTQuMyAzMiAzMlY2NEgzMjBWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTMyMCA5NmgyNEg1NTJoMjR2MjRWNDg4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0di04SDM2OHY4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0VjEyMCA5NnpNNTEyIDIyNGMtOC44IDAtMTYgNy4yLTE2IDE2djY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMjQwYzAtOC44LTcuMi0xNi0xNi0xNnpcIl1cbn07XG52YXIgZmFIb2NrZXlQdWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvY2tleS1wdWNrJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNDUzXCIsIFwiTTI1NiAyNTZDMTE0LjYgMjU2IDAgMjEzIDAgMTYwczExNC42LTk2IDI1Ni05NnMyNTYgNDMgMjU2IDk2cy0xMTQuNiA5Ni0yNTYgOTZ6bTE5Mi4zIDEuOGMyNC43LTkuMyA0Ni45LTIxIDYzLjctMzUuNlYzNTJjMCA1My0xMTQuNiA5Ni0yNTYgOTZTMCA0MDUgMCAzNTJWMjIyLjNjMTYuOCAxNC42IDM5IDI2LjMgNjMuNyAzNS42QzExNC41IDI3Ni45IDE4Mi41IDI4OCAyNTYgMjg4czE0MS41LTExLjEgMTkyLjMtMzAuMnpcIl1cbn07XG52YXIgZmFUYWJsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YWJsZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjBjZVwiLCBcIk02NCAyNTZWMTYwSDIyNHY5Nkg2NHptMCA2NEgyMjR2OTZINjRWMzIwem0yMjQgOTZWMzIwSDQ0OHY5NkgyODh6TTQ0OCAyNTZIMjg4VjE2MEg0NDh2OTZ6TTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NFY5NmMwLTM1LjMtMjguNy02NC02NC02NEg2NHpcIl1cbn07XG52YXIgZmFNYWduaWZ5aW5nR2xhc3NBcnJvd1JpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hZ25pZnlpbmctZ2xhc3MtYXJyb3ctcmlnaHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1MjFcIiwgXCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NmMtMzQuNCAyNS4yLTc2LjggNDAtMTIyLjcgNDBDOTMuMSA0MTYgMCAzMjIuOSAwIDIwOFM5My4xIDAgMjA4IDBTNDE2IDkzLjEgNDE2IDIwOHpNMjQxIDExOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwzMSAzMUgxMjBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRIMjM4LjFsLTMxIDMxYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNzItNzJjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlsLTcyLTcyelwiXVxufTtcbnZhciBmYVRhY2hvZ3JhcGhEaWdpdGFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhY2hvZ3JhcGgtZGlnaXRhbCcsXG4gIGljb246IFs2NDAsIDUxMiwgW1wiZGlnaXRhbC10YWNob2dyYXBoXCJdLCBcImY1NjZcIiwgXCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhWMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0SDU3NmMzNS4zIDAgNjQtMjguNyA2NC02NFYxMjhjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6bTMyIDY0SDMyMGMxNy43IDAgMzIgMTQuMyAzMiAzMnY2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkg5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyek02NCAzNjhjMC04LjggNy4yLTE2IDE2LTE2SDMzNmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2em0zMjAgMGMwLTguOCA3LjItMTYgMTYtMTZINTYwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDQwMGMtOC44IDAtMTYtNy4yLTE2LTE2ek04MCAyODhhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyem00OCAxNmExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwem04MC0xNmExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6bTQ4IDE2YTE2IDE2IDAgMSAxIDMyIDAgMTYgMTYgMCAxIDEgLTMyIDB6bTgwLTE2YTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnpcIl1cbn07XG52YXIgZmFEaWdpdGFsVGFjaG9ncmFwaCA9IGZhVGFjaG9ncmFwaERpZ2l0YWw7XG52YXIgZmFVc2Vyc1NsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXJzLXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlMDczXCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdMNDQwLjYgMzIwSDYxOC43YzExLjggMCAyMS4zLTkuNiAyMS4zLTIxLjNDNjQwIDIzOS44IDU5Mi4yIDE5MiA1MzMuMyAxOTJINDkwLjdjLTE1LjkgMC0zMSAzLjUtNDQuNiA5LjdjMS4zIDcuMiAxLjkgMTQuNyAxLjkgMjIuM2MwIDMwLjItMTAuNSA1OC0yOCA3OS45bC0yNS4yLTE5LjdDNDA4LjEgMjY3LjcgNDE2IDI0Ni44IDQxNiAyMjRjMC01My00My05Ni05Ni05NmMtMzEuMSAwLTU4LjcgMTQuOC03Ni4zIDM3LjdsLTQwLjYtMzEuOGMxMy0xNC4yIDIwLjktMzMuMSAyMC45LTUzLjljMC00NC4yLTM1LjgtODAtODAtODBDMTE2LjMgMCA5MS45IDE0LjEgNzcuNSAzNS41TDM4LjggNS4xek0xMDYuNyAxOTJDNDcuOCAxOTIgMCAyMzkuOCAwIDI5OC43QzAgMzEwLjQgOS42IDMyMCAyMS4zIDMyMEgyMzQuN2MuMiAwIC40IDAgLjcgMGMtMjAuNi0xOC4yLTM1LjItNDIuOC00MC44LTcwLjhMMTIxLjggMTkySDEwNi43ek0yNjEuMyAzNTJDMTg3LjcgMzUyIDEyOCA0MTEuNyAxMjggNDg1LjNjMCAxNC43IDExLjkgMjYuNyAyNi43IDI2LjdINDg1LjNjMTAuNSAwIDE5LjUtNiAyMy45LTE0LjhMMzI0LjkgMzUySDI2MS4zek01MTIgMTYwQTgwIDgwIDAgMSAwIDUxMiAwYTgwIDgwIDAgMSAwIDAgMTYwelwiXVxufTtcbnZhciBmYUNsb3ZlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbG92ZXInLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImUxMzlcIiwgXCJNMjE2LjYgNDkuOUMyMDUuMSAzOC41IDE4OS41IDMyIDE3My4zIDMyQzEzOS40IDMyIDExMiA1OS40IDExMiA5My4zdjQuOWMwIDEyIDMuMyAyMy43IDkuNCAzNGwxOC44IDMxLjNjMS4xIDEuOCAxLjIgMy4xIDEgNC4yYy0uMiAxLjItLjggMi41LTIgMy42cy0yLjQgMS44LTMuNiAyYy0xIC4yLTIuNCAuMS00LjItMWwtMzEuMy0xOC44Yy0xMC4zLTYuMi0yMi05LjQtMzQtOS40SDYxLjNDMjcuNCAxNDQgMCAxNzEuNCAwIDIwNS4zYzAgMTYuMiA2LjUgMzEuOCAxNy45IDQzLjNsMS4yIDEuMmMzLjQgMy40IDMuNCA5IDAgMTIuNGwtMS4yIDEuMkM2LjUgMjc0LjkgMCAyOTAuNSAwIDMwNi43QzAgMzQwLjYgMjcuNCAzNjggNjEuMyAzNjhoNC45YzEyIDAgMjMuNy0zLjMgMzQtOS40bDMxLjMtMTguOGMxLjgtMS4xIDMuMS0xLjIgNC4yLTFjMS4yIC4yIDIuNSAuOCAzLjYgMnMxLjggMi40IDIgMy42Yy4yIDEgLjEgMi40LTEgNC4ybC0xOC44IDMxLjNjLTYuMiAxMC4zLTkuNCAyMi05LjQgMzR2NC45YzAgMzMuOCAyNy40IDYxLjMgNjEuMyA2MS4zYzE2LjIgMCAzMS44LTYuNSA0My4zLTE3LjlsMS4yLTEuMmMzLjQtMy40IDktMy40IDEyLjQgMGwxLjIgMS4yYzExLjUgMTEuNSAyNy4xIDE3LjkgNDMuMyAxNy45YzMzLjggMCA2MS4zLTI3LjQgNjEuMy02MS4zdi00LjljMC0xMi0zLjMtMjMuNy05LjQtMzRsLTE4LjgtMzEuM2MtMS4xLTEuOC0xLjItMy4xLTEtNC4yYy4yLTEuMiAuOC0yLjUgMi0zLjZzMi40LTEuOCAzLjYtMmMxLS4yIDIuNC0uMSA0LjIgMWwzMS4zIDE4LjhjMTAuMyA2LjIgMjIgOS40IDM0IDkuNGg0LjljMzMuOCAwIDYxLjMtMjcuNCA2MS4zLTYxLjNjMC0xNi4yLTYuNS0zMS44LTE3LjktNDMuM2wtMS4yLTEuMmMtMy40LTMuNC0zLjQtOSAwLTEyLjRsMS4yLTEuMmMxMS41LTExLjUgMTcuOS0yNy4xIDE3LjktNDMuM2MwLTMzLjgtMjcuNC02MS4zLTYxLjMtNjEuM2gtNC45Yy0xMiAwLTIzLjcgMy4zLTM0IDkuNGwtMzEuMyAxOC44Yy0xLjggMS4xLTMuMSAxLjItNC4yIDFjLTEuMi0uMi0yLjUtLjgtMy42LTJzLTEuOC0yLjQtMi0zLjZjLS4yLTEtLjEtMi40IDEtNC4ybDE4LjgtMzEuM2M2LjItMTAuMyA5LjQtMjIgOS40LTM0VjkzLjNDMzM2IDU5LjQgMzA4LjYgMzIgMjc0LjcgMzJjLTE2LjIgMC0zMS44IDYuNS00My4zIDE3LjlsLTEuMiAxLjJjLTMuNCAzLjQtOSAzLjQtMTIuNCAwbC0xLjItMS4yelwiXVxufTtcbnZhciBmYVJlcGx5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JlcGx5JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjE3MTQsIFwibWFpbC1yZXBseVwiXSwgXCJmM2U1XCIsIFwiTTIwNSAzNC44YzExLjUgNS4xIDE5IDE2LjYgMTkgMjkuMnY2NEgzMzZjOTcuMiAwIDE3NiA3OC44IDE3NiAxNzZjMCAxMTMuMy04MS41IDE2My45LTEwMC4yIDE3NC4xYy0yLjUgMS40LTUuMyAxLjktOC4xIDEuOWMtMTAuOSAwLTE5LjctOC45LTE5LjctMTkuN2MwLTcuNSA0LjMtMTQuNCA5LjgtMTkuNWM5LjQtOC44IDIyLjItMjYuNCAyMi4yLTU2LjdjMC01My00My05Ni05Ni05NkgyMjR2NjRjMCAxMi42LTcuNCAyNC4xLTE5IDI5LjJzLTI1IDMtMzQuNC01LjRsLTE2MC0xNDRDMy45IDIyNS43IDAgMjE3LjEgMCAyMDhzMy45LTE3LjcgMTAuNi0yMy44bDE2MC0xNDRjOS40LTguNSAyMi45LTEwLjYgMzQuNC01LjR6XCJdXG59O1xudmFyIGZhTWFpbFJlcGx5ID0gZmFSZXBseTtcbnZhciBmYVN0YXJBbmRDcmVzY2VudCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdGFyLWFuZC1jcmVzY2VudCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzk3NzBdLCBcImY2OTlcIiwgXCJNMCAyNTZDMCAxMTQuNiAxMTQuNiAwIDI1NiAwYzMzIDAgNjQuNiA2LjMgOTMuNiAxNy43YzcuNCAyLjkgMTEuNSAxMC43IDkuOCAxOC40cy04LjggMTMtMTYuNyAxMi40Yy00LjgtLjMtOS43LS41LTE0LjYtLjVjLTExNC45IDAtMjA4IDkzLjEtMjA4IDIwOHM5My4xIDIwOCAyMDggMjA4YzQuOSAwIDkuOC0uMiAxNC42LS41YzcuOS0uNSAxNSA0LjcgMTYuNyAxMi40cy0yLjQgMTUuNS05LjggMTguNEMzMjAuNiA1MDUuNyAyODkgNTEyIDI1NiA1MTJDMTE0LjYgNTEyIDAgMzk3LjQgMCAyNTZ6TTM3NS40IDEzNy40YzMuNS03LjEgMTMuNy03LjEgMTcuMiAwbDMxLjUgNjMuOGMxLjQgMi44IDQuMSA0LjggNy4yIDUuM2w3MC40IDEwLjJjNy45IDEuMSAxMSAxMC44IDUuMyAxNi40bC01MC45IDQ5LjZjLTIuMyAyLjItMy4zIDUuNC0yLjggOC41bDEyIDcwLjFjMS4zIDcuOC02LjkgMTMuOC0xMy45IDEwLjFsLTYzLTMzLjFjLTIuOC0xLjUtNi4xLTEuNS04LjkgMGwtNjMgMzMuMWMtNyAzLjctMTUuMy0yLjMtMTMuOS0xMC4xbDEyLTcwLjFjLjUtMy4xLS41LTYuMy0yLjgtOC41TDI2MSAyMzMuMWMtNS43LTUuNi0yLjYtMTUuMiA1LjMtMTYuNGw3MC40LTEwLjJjMy4xLS41IDUuOC0yLjQgNy4yLTUuM2wzMS41LTYzLjh6XCJdXG59O1xudmFyIGZhSG91c2VGaXJlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLWZpcmUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MGNcIiwgXCJNMjg4IDM1MC4xbDAgMS45SDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2NjQgMjRjMCAyMi4xLTE3LjkgNDAtNDAgNDBIMTYwIDEyOC4xYy0xLjUgMC0zLS4xLTQuNS0uMmMtMS4yIC4xLTIuNCAuMi0zLjYgLjJIMTA0Yy0yMi4xIDAtNDAtMTcuOS00MC00MFYzNjBjMC0uOSAwLTEuOSAuMS0yLjhWMjg3LjZIMzJjLTE4IDAtMzItMTQtMzItMzIuMWMwLTkgMy0xNyAxMC0yNEwyNjYuNCA4YzctNyAxNS04IDIyLThzMTUgMiAyMSA3TDQ0Ny4zIDEyOC4xYy0xMi4zLTEtMjUgMy0zNC44IDExLjdjLTM1LjQgMzEuNi02NS42IDY3LjctODcuMyAxMDIuOEMzMDQuMyAyNzYuNSAyODggMzE0LjkgMjg4IDM1MC4xek00ODAgNTEyYy04OC40IDAtMTYwLTcxLjYtMTYwLTE2MGMwLTc2LjcgNjIuNS0xNDQuNyAxMDcuMi0xNzkuNGM1LTMuOSAxMC45LTUuOCAxNi44LTUuOGM3LjktLjEgMTYgMy4xIDIyIDkuMmw0NiA0NiAxMS4zLTExLjNjMTEuNy0xMS43IDMwLjYtMTIuNyA0Mi4zLTFDNjI0LjUgMjY4IDY0MCAzMjAuMiA2NDAgMzUyYzAgODguNC03MS42IDE2MC0xNjAgMTYwem02NC0xMTEuOGMwLTM2LjUtMzctNzMtNTQuOC04OC40Yy01LjQtNC43LTEzLjEtNC43LTE4LjUgMEM0NTMgMzI3LjEgNDE2IDM2My42IDQxNiA0MDAuMmMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0elwiXVxufTtcbnZhciBmYVNxdWFyZU1pbnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1taW51cycsXG4gIGljb246IFs0NDgsIDUxMiwgWzYxNzY3LCBcIm1pbnVzLXNxdWFyZVwiXSwgXCJmMTQ2XCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDM4NGMzNS4zIDAgNjQtMjguNyA2NC02NFY5NmMwLTM1LjMtMjguNy02NC02NC02NEg2NHptODggMjAwSDI5NmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEgxNTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6XCJdXG59O1xudmFyIGZhTWludXNTcXVhcmUgPSBmYVNxdWFyZU1pbnVzO1xudmFyIGZhSGVsaWNvcHRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWxpY29wdGVyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NjQxXSwgXCJmNTMzXCIsIFwiTTEyOCAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMkg1NDRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzg0djY0aDMyYzg4LjQgMCAxNjAgNzEuNiAxNjAgMTYwdjY0YzAgMTcuNy0xNC4zIDMyLTMyIDMySDM4NCAzMjBjLTIwLjEgMC0zOS4xLTkuNS01MS4yLTI1LjZsLTcxLjQtOTUuMmMtMy41LTQuNy04LjMtOC4zLTEzLjctMTAuNUw0Ny4yIDE5OC4xYy05LjUtMy44LTE2LjctMTItMTkuMi0yMkw1IDgzLjlDMi40IDczLjggMTAuMSA2NCAyMC41IDY0SDQ4YzEwLjEgMCAxOS42IDQuNyAyNS42IDEyLjhMMTEyIDEyOEgzMjBWNjRIMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNMzg0IDMyMEg1MTJWMjg4YzAtNTMtNDMtOTYtOTYtOTZIMzg0VjMyMHpNNjMwLjYgNDI1LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTMuOSAzLjljLTI0IDI0LTU2LjYgMzcuNS05MC41IDM3LjVIMjU2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDUzNi4yYzE3IDAgMzMuMy02LjcgNDUuMy0xOC43bDMuOS0zLjljMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDB6XCJdXG59O1xudmFyIGZhQ29tcGFzcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb21wYXNzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5NTE3XSwgXCJmMTRlXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyem01MC43LTE4Ni45TDE2Mi40IDM4MC42Yy0xOS40IDcuNS0zOC41LTExLjYtMzEtMzFsNTUuNS0xNDQuM2MzLjMtOC41IDkuOS0xNS4xIDE4LjQtMTguNGwxNDQuMy01NS41YzE5LjQtNy41IDM4LjUgMTEuNiAzMSAzMUwzMjUuMSAzMDYuN2MtMy4yIDguNS05LjkgMTUuMS0xOC40IDE4LjR6TTI4OCAyNTZhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpcIl1cbn07XG52YXIgZmFTcXVhcmVDYXJldERvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLWNhcmV0LWRvd24nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImNhcmV0LXNxdWFyZS1kb3duXCJdLCBcImYxNTBcIiwgXCJNMzg0IDQ4MGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwek0yMjQgMzUyYy02LjcgMC0xMy0yLjgtMTcuNi03LjdsLTEwNC0xMTJjLTYuNS03LTguMi0xNy4yLTQuNC0yNS45czEyLjUtMTQuNCAyMi0xNC40bDIwOCAwYzkuNSAwIDE4LjIgNS43IDIyIDE0LjRzMi4xIDE4LjktNC40IDI1LjlsLTEwNCAxMTJjLTQuNSA0LjktMTAuOSA3LjctMTcuNiA3Ljd6XCJdXG59O1xudmFyIGZhQ2FyZXRTcXVhcmVEb3duID0gZmFTcXVhcmVDYXJldERvd247XG52YXIgZmFGaWxlQ2lyY2xlUXVlc3Rpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1jaXJjbGUtcXVlc3Rpb24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0ZWZcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBIMjI0VjEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMkgzODR2MzguNkMzMTAuMSAyMTkuNSAyNTYgMjg3LjQgMjU2IDM2OGMwIDU5LjEgMjkuMSAxMTEuMyA3My43IDE0My4zYy0zLjIgLjUtNi40IC43LTkuNyAuN0g2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWNjR6bTM4NCA2NEgyNTZWMEwzODQgMTI4em00OCA5NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTAgMjQwYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHpNMzY4IDMyMS42VjMyOGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2di02LjRjMC01LjMgNC4zLTkuNiA5LjYtOS42aDQwLjVjNy43IDAgMTMuOSA2LjIgMTMuOSAxMy45YzAgNS4yLTIuOSA5LjktNy40IDEyLjNsLTMyIDE2LjhjLTUuMyAyLjgtOC42IDguMi04LjYgMTQuMlYzODRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNnYtNS4xbDIzLjUtMTIuM2MxNS4xLTcuOSAyNC41LTIzLjYgMjQuNS00MC42YzAtMjUuNC0yMC42LTQ1LjktNDUuOS00NS45SDQwOS42Yy0yMyAwLTQxLjYgMTguNi00MS42IDQxLjZ6XCJdXG59O1xudmFyIGZhTGFwdG9wQ29kZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsYXB0b3AtY29kZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjVmY1wiLCBcIk02NCA5NmMwLTM1LjMgMjguNy02NCA2NC02NEg1MTJjMzUuMyAwIDY0IDI4LjcgNjQgNjRWMzUySDUxMlY5NkgxMjhWMzUySDY0Vjk2ek0wIDQwMy4yQzAgMzkyLjYgOC42IDM4NCAxOS4yIDM4NEg2MjAuOGMxMC42IDAgMTkuMiA4LjYgMTkuMiAxOS4yYzAgNDIuNC0zNC40IDc2LjgtNzYuOCA3Ni44SDc2LjhDMzQuNCA0ODAgMCA0NDUuNiAwIDQwMy4yek0yODEgMjA5bC0zMSAzMSAzMSAzMWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00OC00OGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsNDgtNDhjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45ek0zOTMgMTc1bDQ4IDQ4YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC00OCA0OGMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMS0zMS0zMS0zMWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwelwiXVxufTtcbnZhciBmYVN3YXRjaGJvb2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3dhdGNoYm9vaycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjVjM1wiLCBcIk0wIDMyQzAgMTQuMyAxNC4zIDAgMzIgMEgxNjBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNDE2YzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2VjMyek0yMjMuNiA0MjUuOWMuMy0zLjMgLjQtNi42IC40LTkuOVYxNTRsNzUuNC03NS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDkwLjUgOTAuNWMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM0wyMjMuNiA0MjUuOXpNMTgyLjggNTEybDE5Mi0xOTJINDgwYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMkgxODIuOHpNMTI4IDY0SDY0djY0aDY0VjY0ek02NCAxOTJ2NjRoNjRWMTkySDY0ek05NiA0NDBhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4elwiXVxufTtcbnZhciBmYVByZXNjcmlwdGlvbkJvdHRsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwcmVzY3JpcHRpb24tYm90dGxlJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNDg1XCIsIFwiTTAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwSDM1MmMxNy43IDAgMzIgMTQuMyAzMiAzMlY2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkgzMkMxNC4zIDk2IDAgODEuNyAwIDY0VjMyem0zMiA5NkgzNTJWNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0SDk2Yy0zNS4zIDAtNjQtMjguNy02NC02NFY0MTZIMTQ0YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDMyVjMyMEgxNDRjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIMzJWMjI0SDE0NGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgzMlYxMjh6XCJdXG59O1xudmFyIGZhQmFycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYXJzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJuYXZpY29uXCJdLCBcImYwYzlcIiwgXCJNMCA5NkMwIDc4LjMgMTQuMyA2NCAzMiA2NEg0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzJDMTQuMyAxMjggMCAxMTMuNyAwIDk2ek0wIDI1NmMwLTE3LjcgMTQuMy0zMiAzMi0zMkg0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek00NDggNDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnpcIl1cbn07XG52YXIgZmFOYXZpY29uID0gZmFCYXJzO1xudmFyIGZhUGVvcGxlR3JvdXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVvcGxlLWdyb3VwJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTMzXCIsIFwiTTcyIDg4YTU2IDU2IDAgMSAxIDExMiAwQTU2IDU2IDAgMSAxIDcyIDg4ek02NCAyNDUuN0M1NCAyNTYuOSA0OCAyNzEuOCA0OCAyODhzNiAzMS4xIDE2IDQyLjNWMjQ1Ljd6bTE0NC40LTQ5LjNDMTc4LjcgMjIyLjcgMTYwIDI2MS4yIDE2MCAzMDRjMCAzNC4zIDEyIDY1LjggMzIgOTAuNVY0MTZjMCAxNy43LTE0LjMgMzItMzIgMzJIOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjM4OS4yQzI2LjIgMzcxLjIgMCAzMzIuNyAwIDI4OGMwLTYxLjkgNTAuMS0xMTIgMTEyLTExMmgzMmMyNCAwIDQ2LjIgNy41IDY0LjQgMjAuM3pNNDQ4IDQxNlYzOTQuNWMyMC0yNC43IDMyLTU2LjIgMzItOTAuNWMwLTQyLjgtMTguNy04MS4zLTQ4LjQtMTA3LjdDNDQ5LjggMTgzLjUgNDcyIDE3NiA0OTYgMTc2aDMyYzYxLjkgMCAxMTIgNTAuMSAxMTIgMTEyYzAgNDQuNy0yNi4yIDgzLjItNjQgMTAxLjJWNDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6bTgtMzI4YTU2IDU2IDAgMSAxIDExMiAwQTU2IDU2IDAgMSAxIDQ1NiA4OHpNNTc2IDI0NS43djg0LjdjMTAtMTEuMyAxNi0yNi4xIDE2LTQyLjNzLTYtMzEuMS0xNi00Mi4zek0zMjAgMzJhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTI0MCAzMDRjMCAxNi4yIDYgMzEgMTYgNDIuM1YyNjEuN2MtMTAgMTEuMy0xNiAyNi4xLTE2IDQyLjN6bTE0NC00Mi4zdjg0LjdjMTAtMTEuMyAxNi0yNi4xIDE2LTQyLjNzLTYtMzEuMS0xNi00Mi4zek00NDggMzA0YzAgNDQuNy0yNi4yIDgzLjItNjQgMTAxLjJWNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMySDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDA1LjJjLTM3LjgtMTgtNjQtNTYuNS02NC0xMDEuMmMwLTYxLjkgNTAuMS0xMTIgMTEyLTExMmgzMmM2MS45IDAgMTEyIDUwLjEgMTEyIDExMnpcIl1cbn07XG52YXIgZmFIb3VyZ2xhc3NFbmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91cmdsYXNzLWVuZCcsXG4gIGljb246IFszODQsIDUxMiwgWzg5ODcsIFwiaG91cmdsYXNzLTNcIl0sIFwiZjI1M1wiLCBcIk0zMiAwQzE0LjMgMCAwIDE0LjMgMCAzMlMxNC4zIDY0IDMyIDY0Vjc1YzAgNDIuNCAxNi45IDgzLjEgNDYuOSAxMTMuMUwxNDYuNyAyNTYgNzguOSAzMjMuOUM0OC45IDM1My45IDMyIDM5NC42IDMyIDQzN3YxMWMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg2NCAzMjBoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJWNDM3YzAtNDIuNC0xNi45LTgzLjEtNDYuOS0xMTMuMUwyMzcuMyAyNTZsNjcuOS02Ny45YzMwLTMwIDQ2LjktNzAuNyA0Ni45LTExMy4xVjY0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDMyMCA2NCAzMnpNOTYgNzVWNjRIMjg4Vjc1YzAgMjUuNS0xMC4xIDQ5LjktMjguMSA2Ny45TDE5MiAyMTAuN2wtNjcuOS02Ny45QzEwNi4xIDEyNC45IDk2IDEwMC40IDk2IDc1elwiXVxufTtcbnZhciBmYUhvdXJnbGFzczMgPSBmYUhvdXJnbGFzc0VuZDtcbnZhciBmYUhlYXJ0Q3JhY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVhcnQtY3JhY2snLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgxNDgsIFwiaGVhcnQtYnJva2VuXCJdLCBcImY3YTlcIiwgXCJNMTE5LjQgNDQuMWMyMy4zLTMuOSA0Ni44LTEuOSA2OC42IDUuM2w0OS44IDc3LjUtNzUuNCA3NS40Yy0xLjUgMS41LTIuNCAzLjYtMi4zIDUuOHMxIDQuMiAyLjYgNS43bDExMiAxMDRjMi45IDIuNyA3LjQgMi45IDEwLjUgLjNzMy44LTcgMS43LTEwLjRsLTYwLjQtOTguMSA5MC43LTc1LjZjMi42LTIuMSAzLjUtNS43IDIuNC04LjhMMjk2LjggNjEuOGMyOC41LTE2LjcgNjIuNC0yMy4yIDk1LjctMTcuNkM0NjEuNSA1NS42IDUxMiAxMTUuMiA1MTIgMTg1LjF2NS44YzAgNDEuNS0xNy4yIDgxLjItNDcuNiAxMDkuNUwyODMuNyA0NjkuMWMtNy41IDctMTcuNCAxMC45LTI3LjcgMTAuOXMtMjAuMi0zLjktMjcuNy0xMC45TDQ3LjYgMzAwLjRDMTcuMiAyNzIuMSAwIDIzMi40IDAgMTkwLjl2LTUuOGMwLTY5LjkgNTAuNS0xMjkuNSAxMTkuNC0xNDF6XCJdXG59O1xudmFyIGZhSGVhcnRCcm9rZW4gPSBmYUhlYXJ0Q3JhY2s7XG52YXIgZmFTcXVhcmVVcFJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS11cC1yaWdodCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzg1OTksIFwiZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0XCJdLCBcImYzNjBcIiwgXCJNMzg0IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0VjQxNmMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJIMzg0ek0zMjAgMzEzLjRWMTc2YzAtOC44LTcuMi0xNi0xNi0xNkgxNjYuNmMtMTIuNSAwLTIyLjYgMTAuMS0yMi42IDIyLjZjMCA2IDIuNCAxMS44IDYuNiAxNkwxODQgMjMybC02Ni4zIDY2LjNDMTE0IDMwMiAxMTIgMzA2LjkgMTEyIDMxMnMyIDEwIDUuNyAxMy43bDM2LjcgMzYuN2MzLjYgMy42IDguNSA1LjcgMTMuNyA1LjdzMTAtMiAxMy43LTUuN0wyNDggMjk2bDMzLjQgMzMuNGM0LjIgNC4yIDEwIDYuNiAxNiA2LjZjMTIuNSAwIDIyLjYtMTAuMSAyMi42LTIyLjZ6XCJdXG59O1xudmFyIGZhRXh0ZXJuYWxMaW5rU3F1YXJlQWx0ID0gZmFTcXVhcmVVcFJpZ2h0O1xudmFyIGZhRmFjZUtpc3NCZWFtID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2Uta2lzcy1iZWFtJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTM3LCBcImtpc3MtYmVhbVwiXSwgXCJmNTk3XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyem00OC43LTE5OC4zYzQuMyA1LjEgNy4zIDExLjQgNy4zIDE4LjNzLTMuMSAxMy4yLTcuMyAxOC4zYy00LjMgNS4yLTEwLjEgOS43LTE2LjcgMTMuNGMtMi43IDEuNS01LjcgMy04LjcgNC4zYzMuMSAxLjMgNiAyLjcgOC43IDQuM2M2LjYgMy43IDEyLjUgOC4yIDE2LjcgMTMuNGM0LjMgNS4xIDcuMyAxMS40IDcuMyAxOC4zcy0zLjEgMTMuMi03LjMgMTguM2MtNC4zIDUuMi0xMC4xIDkuNy0xNi43IDEzLjRDMjc0LjcgNDQzLjEgMjU3LjQgNDQ4IDI0MCA0NDhjLTMuNiAwLTYuOC0yLjUtNy43LTZzLjYtNy4yIDMuOC05bDAgMCAwIDAgMCAwIDAgMCAuMi0uMWMuMi0uMSAuNS0uMyAuOS0uNWMuOC0uNSAyLTEuMiAzLjQtMi4xYzIuOC0xLjkgNi41LTQuNSAxMC4yLTcuNmMzLjctMy4xIDcuMi02LjYgOS42LTEwLjFjMi41LTMuNSAzLjUtNi40IDMuNS04LjZzLTEtNS0zLjUtOC42Yy0yLjUtMy41LTUuOS02LjktOS42LTEwLjFjLTMuNy0zLjEtNy40LTUuNy0xMC4yLTcuNmMtMS40LS45LTIuNi0xLjYtMy40LTIuMWMtLjQtLjItLjctLjQtLjktLjVsLS4yLS4xIDAgMCAwIDAgMCAwYy0yLjUtMS40LTQuMS00LjEtNC4xLTdzMS42LTUuNiA0LjEtN2wwIDAgMCAwIDAgMCAwIDAgMCAwIC4yLS4xIC4zLS4yIC42LS40Yy44LS41IDItMS4yIDMuNC0yLjFjMi44LTEuOSA2LjUtNC41IDEwLjItNy42YzMuNy0zLjEgNy4yLTYuNiA5LjYtMTAuMWMyLjUtMy41IDMuNS02LjQgMy41LTguNnMtMS01LTMuNS04LjZjLTIuNS0zLjUtNS45LTYuOS05LjYtMTAuMWMtMy43LTMuMS03LjQtNS43LTEwLjItNy42Yy0xLjQtLjktMi42LTEuNi0zLjQtMi4xbC0uNC0uMy0uNS0uMy0uMi0uMSAwIDAgMCAwIDAgMGMtMy4yLTEuOC00LjctNS41LTMuOC05czQuMS02IDcuNy02YzE3LjQgMCAzNC43IDQuOSA0Ny45IDEyLjNjNi42IDMuNyAxMi41IDguMiAxNi43IDEzLjR6bS04Ny4xLTg0LjlsMCAwIDAgMC0uMi0uMmMtLjItLjItLjQtLjUtLjctLjljLS42LS44LTEuNi0yLTIuOC0zLjRjLTIuNS0yLjgtNi02LjYtMTAuMi0xMC4zYy04LjgtNy44LTE4LjgtMTQtMjcuNy0xNHMtMTguOSA2LjItMjcuNyAxNGMtNC4yIDMuNy03LjcgNy41LTEwLjIgMTAuM2MtMS4yIDEuNC0yLjIgMi42LTIuOCAzLjRjLS4zIC40LS42IC43LS43IC45bC0uMiAuMiAwIDAgMCAwIDAgMGMtMi4xIDIuOC01LjcgMy45LTguOSAyLjhzLTUuNS00LjEtNS41LTcuNmMwLTE3LjkgNi43LTM1LjYgMTYuNi00OC44YzkuOC0xMyAyMy45LTIzLjIgMzkuNC0yMy4yczI5LjYgMTAuMiAzOS40IDIzLjJjOS45IDEzLjIgMTYuNiAzMC45IDE2LjYgNDguOGMwIDMuNC0yLjIgNi41LTUuNSA3LjZzLTYuOSAwLTguOS0yLjhsMCAwIDAgMHptMTYwIDBsMCAwLS4yLS4yYy0uMi0uMi0uNC0uNS0uNy0uOWMtLjYtLjgtMS42LTItMi44LTMuNGMtMi41LTIuOC02LTYuNi0xMC4yLTEwLjNjLTguOC03LjgtMTguOC0xNC0yNy43LTE0cy0xOC45IDYuMi0yNy43IDE0Yy00LjIgMy43LTcuNyA3LjUtMTAuMiAxMC4zYy0xLjIgMS40LTIuMiAyLjYtMi44IDMuNGMtLjMgLjQtLjYgLjctLjcgLjlsLS4yIC4yIDAgMCAwIDAgMCAwYy0yLjEgMi44LTUuNyAzLjktOC45IDIuOHMtNS41LTQuMS01LjUtNy42YzAtMTcuOSA2LjctMzUuNiAxNi42LTQ4LjhjOS44LTEzIDIzLjktMjMuMiAzOS40LTIzLjJzMjkuNiAxMC4yIDM5LjQgMjMuMmM5LjkgMTMuMiAxNi42IDMwLjkgMTYuNiA0OC44YzAgMy40LTIuMiA2LjUtNS41IDcuNnMtNi45IDAtOC45LTIuOGwwIDAgMCAwIDAgMHpcIl1cbn07XG52YXIgZmFLaXNzQmVhbSA9IGZhRmFjZUtpc3NCZWFtO1xudmFyIGZhRmlsbSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxtJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3OTAyXSwgXCJmMDA4XCIsIFwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJINDQ4YzM1LjMgMCA2NCAyOC43IDY0IDY0VjQxNmMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWOTZ6TTQ4IDM2OHYzMmMwIDguOCA3LjIgMTYgMTYgMTZIOTZjOC44IDAgMTYtNy4yIDE2LTE2VjM2OGMwLTguOC03LjItMTYtMTYtMTZINjRjLTguOCAwLTE2IDcuMi0xNiAxNnptMzY4LTE2Yy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYzNjhjMC04LjgtNy4yLTE2LTE2LTE2SDQxNnpNNDggMjQwdjMyYzAgOC44IDcuMiAxNiAxNiAxNkg5NmM4LjggMCAxNi03LjIgMTYtMTZWMjQwYzAtOC44LTcuMi0xNi0xNi0xNkg2NGMtOC44IDAtMTYgNy4yLTE2IDE2em0zNjgtMTZjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjI0MGMwLTguOC03LjItMTYtMTYtMTZINDE2ek00OCAxMTJ2MzJjMCA4LjggNy4yIDE2IDE2IDE2SDk2YzguOCAwIDE2LTcuMiAxNi0xNlYxMTJjMC04LjgtNy4yLTE2LTE2LTE2SDY0Yy04LjggMC0xNiA3LjItMTYgMTZ6TTQxNiA5NmMtOC44IDAtMTYgNy4yLTE2IDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMTEyYzAtOC44LTcuMi0xNi0xNi0xNkg0MTZ6TTE2MCAxMjh2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJIMzIwYzE3LjcgMCAzMi0xNC4zIDMyLTMyVjEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMkgxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem0zMiAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjY0YzAgMTcuNyAxNC4zIDMyIDMyIDMySDMyMGMxNy43IDAgMzItMTQuMyAzMi0zMlYzMjBjMC0xNy43LTE0LjMtMzItMzItMzJIMTkyelwiXVxufTtcbnZhciBmYVJ1bGVySG9yaXpvbnRhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdydWxlci1ob3Jpem9udGFsJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNTQ3XCIsIFwiTTAgMzM2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDU0NCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTYwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC02NCAwIDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04MC02NCAwIDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04MC02NCAwIDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04MC02NCAwIDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04MC02NCAwIDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04MC02NCAwYy0yNi41IDAtNDggMjEuNS00OCA0OEwwIDMzNnpcIl1cbn07XG52YXIgZmFQZW9wbGVSb2JiZXJ5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Blb3BsZS1yb2JiZXJ5JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTM2XCIsIFwiTTQ4OC4yIDU5LjFDNDc4LjEgOTkuNiA0NDEuNyAxMjggNDAwIDEyOHMtNzguMS0yOC40LTg4LjItNjguOUwzMDMgMjQuMkMyOTguOCA3LjEgMjgxLjQtMy4zIDI2NC4yIDFTMjM2LjcgMjIuNiAyNDEgMzkuOGw4LjcgMzQuOWMxMSA0NCA0MC4yIDc5LjYgNzguMyA5OS42VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjM1MmgxNlY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYxNzQuM2MzOC4xLTIwIDY3LjMtNTUuNiA3OC4zLTk5LjZMNTU5IDM5LjhjNC4zLTE3LjEtNi4xLTM0LjUtMjMuMy0zOC44UzUwMS4yIDcuMSA0OTcgMjQuMmwtOC43IDM0Ljl6TTQwMCA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTgwIDk2QTQ4IDQ4IDAgMSAwIDgwIDBhNDggNDggMCAxIDAgMCA5NnptLTggMzJjLTM1LjMgMC02NCAyOC43LTY0IDY0djk2bDAgLjZWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMzUySDg4VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjI1Mi43bDEzIDIwLjVjNS45IDkuMiAxNi4xIDE0LjkgMjcgMTQuOWg0OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgyMDkuNmwtMzcuNC01OC45QzE1Ny42IDE0MiAxMzIuMSAxMjggMTA0LjcgMTI4SDcyelwiXVxufTtcbnZhciBmYUxpZ2h0YnVsYiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsaWdodGJ1bGInLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjgxNjFdLCBcImYwZWJcIiwgXCJNMjcyIDM4NGM5LjYtMzEuOSAyOS41LTU5LjEgNDkuMi04Ni4ybDAgMGM1LjItNy4xIDEwLjQtMTQuMiAxNS40LTIxLjRjMTkuOC0yOC41IDMxLjQtNjMgMzEuNC0xMDAuM0MzNjggNzguOCAyODkuMiAwIDE5MiAwUzE2IDc4LjggMTYgMTc2YzAgMzcuMyAxMS42IDcxLjkgMzEuNCAxMDAuM2M1IDcuMiAxMC4yIDE0LjMgMTUuNCAyMS40bDAgMGMxOS44IDI3LjEgMzkuNyA1NC40IDQ5LjIgODYuMkgyNzJ6TTE5MiA1MTJjNDQuMiAwIDgwLTM1LjggODAtODBWNDE2SDExMnYxNmMwIDQ0LjIgMzUuOCA4MCA4MCA4MHpNMTEyIDE3NmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmMwLTYxLjkgNTAuMS0xMTIgMTEyLTExMmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmMtNDQuMiAwLTgwIDM1LjgtODAgODB6XCJdXG59O1xudmFyIGZhQ2FyZXRMZWZ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhcmV0LWxlZnQnLFxuICBpY29uOiBbMjU2LCA1MTIsIFtdLCBcImYwZDlcIiwgXCJNOS40IDI3OC42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2wxMjgtMTI4YzkuMi05LjIgMjIuOS0xMS45IDM0LjktNi45czE5LjggMTYuNiAxOS44IDI5LjZsMCAyNTZjMCAxMi45LTcuOCAyNC42LTE5LjggMjkuNnMtMjUuNyAyLjItMzQuOS02LjlsLTEyOC0xMjh6XCJdXG59O1xudmFyIGZhQ2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLWV4Y2xhbWF0aW9uJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJleGNsYW1hdGlvbi1jaXJjbGVcIl0sIFwiZjA2YVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnptMC0zODRjMTMuMyAwIDI0IDEwLjcgMjQgMjRWMjY0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0VjE1MmMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNMjI0IDM1MmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwelwiXVxufTtcbnZhciBmYUV4Y2xhbWF0aW9uQ2lyY2xlID0gZmFDaXJjbGVFeGNsYW1hdGlvbjtcbnZhciBmYVNjaG9vbENpcmNsZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NjaG9vbC1jaXJjbGUteG1hcmsnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NmRcIiwgXCJNMzM3LjggNS40QzMyNy0xLjggMzEzLTEuOCAzMDIuMiA1LjRMMTY2LjMgOTZINDhDMjEuNSA5NiAwIDExNy41IDAgMTQ0VjQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OEgzMjB2MEgyNTZWNDE2YzAtMzUuMyAyOC43LTY0IDY0LTY0bC4zIDBoLjVjMy40LTM3LjcgMTguNy03Mi4xIDQyLjItOTkuMUMzNTAuMiAyNjAgMzM1LjYgMjY0IDMyMCAyNjRjLTQ4LjYgMC04OC0zOS40LTg4LTg4czM5LjQtODggODgtODhzODggMzkuNCA4OCA4OGMwIDE4LjMtNS42IDM1LjMtMTUuMSA0OS40YzI5LTIxIDY0LjYtMzMuNCAxMDMuMS0zMy40YzU5LjUgMCAxMTIuMSAyOS42IDE0NCA3NC44VjE0NGMwLTI2LjUtMjEuNS00OC00OC00OEg0NzMuN0wzMzcuOCA1LjR6TTk2IDE5MmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2NjRjMCA4LjgtNy4yIDE2LTE2IDE2SDk2Yy04LjggMC0xNi03LjItMTYtMTZWMjA4YzAtOC44IDcuMi0xNiAxNi0xNnptMCAxMjhoMzJjOC44IDAgMTYgNy4yIDE2IDE2djY0YzAgOC44LTcuMiAxNi0xNiAxNkg5NmMtOC44IDAtMTYtNy4yLTE2LTE2VjMzNmMwLTguOCA3LjItMTYgMTYtMTZ6TTMyMCAxMjhjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIMzM2VjE0NGMwLTguOC03LjItMTYtMTYtMTZ6TTQ5NiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0yMi42LTE0NGwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMEw0OTYgMzkwLjZsLTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkw0NzMuNCAzNjhsLTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQ5NiAzNDUuNGwzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42TDUxOC42IDM2OHpcIl1cbn07XG52YXIgZmFBcnJvd1JpZ2h0RnJvbUJyYWNrZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctcmlnaHQtZnJvbS1icmFja2V0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJzaWduLW91dFwiXSwgXCJmMDhiXCIsIFwiTTUwMi42IDI3OC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMjgtMTI4Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0w0MDIuNyAyMjQgMTkyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyMTAuNyAwLTczLjQgNzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4ek0xNjAgOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMOTYgMzJDNDMgMzIgMCA3NSAwIDEyOEwwIDM4NGMwIDUzIDQzIDk2IDk2IDk2bDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDB6XCJdXG59O1xudmFyIGZhU2lnbk91dCA9IGZhQXJyb3dSaWdodEZyb21CcmFja2V0O1xudmFyIGZhQ2lyY2xlQ2hldnJvbkRvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLWNoZXZyb24tZG93bicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiY2hldnJvbi1jaXJjbGUtZG93blwiXSwgXCJmMTNhXCIsIFwiTTI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMHpNMTM1IDI0MWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDg3IDg3IDg3LTg3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOUwyNzMgMzQ1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMEwxMzUgMjQxelwiXVxufTtcbnZhciBmYUNoZXZyb25DaXJjbGVEb3duID0gZmFDaXJjbGVDaGV2cm9uRG93bjtcbnZhciBmYVVubG9ja0tleWhvbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndW5sb2NrLWtleWhvbGUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcInVubG9jay1hbHRcIl0sIFwiZjEzZVwiLCBcIk0yMjQgNjRjLTQ0LjIgMC04MCAzNS44LTgwIDgwdjQ4SDM4NGMzNS4zIDAgNjQgMjguNyA2NCA2NFY0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjI1NmMwLTM1LjMgMjguNy02NCA2NC02NEg4MFYxNDRDODAgNjQuNSAxNDQuNSAwIDIyNCAwYzU3LjUgMCAxMDcgMzMuNyAxMzAuMSA4Mi4zYzcuNiAxNiAuOCAzNS4xLTE1LjIgNDIuNnMtMzUuMSAuOC00Mi42LTE1LjJDMjgzLjQgODIuNiAyNTUuOSA2NCAyMjQgNjR6bTMyIDMyMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoNjR6XCJdXG59O1xudmFyIGZhVW5sb2NrQWx0ID0gZmFVbmxvY2tLZXlob2xlO1xudmFyIGZhQ2xvdWRTaG93ZXJzSGVhdnkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvdWQtc2hvd2Vycy1oZWF2eScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjc0MFwiLCBcIk05NiAzMjBjLTUzIDAtOTYtNDMtOTYtOTZjMC00Mi41IDI3LjYtNzguNiA2NS45LTkxLjJDNjQuNyAxMjYuMSA2NCAxMTkuMSA2NCAxMTJDNjQgNTAuMSAxMTQuMSAwIDE3NiAwYzQzLjEgMCA4MC41IDI0LjMgOTkuMiA2MGMxNC43LTE3LjEgMzYuNS0yOCA2MC44LTI4YzQ0LjIgMCA4MCAzNS44IDgwIDgwYzAgNS41LS42IDEwLjgtMS42IDE2Yy41IDAgMS4xIDAgMS42IDBjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZIOTZ6TTgxLjUgMzUzLjljMTIuMiA1LjIgMTcuOCAxOS4zIDEyLjYgMzEuNWwtNDggMTEyYy01LjIgMTIuMi0xOS4zIDE3LjgtMzEuNSAxMi42Uy0zLjMgNDkwLjcgMS45IDQ3OC41bDQ4LTExMmM1LjItMTIuMiAxOS4zLTE3LjggMzEuNS0xMi42em0xMjAgMGMxMi4yIDUuMiAxNy44IDE5LjMgMTIuNiAzMS41bC00OCAxMTJjLTUuMiAxMi4yLTE5LjMgMTcuOC0zMS41IDEyLjZzLTE3LjgtMTkuMy0xMi42LTMxLjVsNDgtMTEyYzUuMi0xMi4yIDE5LjMtMTcuOCAzMS41LTEyLjZ6bTI0NC42IDMxLjVsLTQ4IDExMmMtNS4yIDEyLjItMTkuMyAxNy44LTMxLjUgMTIuNnMtMTcuOC0xOS4zLTEyLjYtMzEuNWw0OC0xMTJjNS4yLTEyLjIgMTkuMy0xNy44IDMxLjUtMTIuNnMxNy44IDE5LjMgMTIuNiAzMS41ek0zMTMuNSAzNTMuOWMxMi4yIDUuMiAxNy44IDE5LjMgMTIuNiAzMS41bC00OCAxMTJjLTUuMiAxMi4yLTE5LjMgMTcuOC0zMS41IDEyLjZzLTE3LjgtMTkuMy0xMi42LTMxLjVsNDgtMTEyYzUuMi0xMi4yIDE5LjMtMTcuOCAzMS41LTEyLjZ6XCJdXG59O1xudmFyIGZhSGVhZHBob25lc1NpbXBsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFkcGhvbmVzLXNpbXBsZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiaGVhZHBob25lcy1hbHRcIl0sIFwiZjU4ZlwiLCBcIk0yNTYgODBDMTQxLjEgODAgNDggMTczLjEgNDggMjg4VjM5MmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYyODhDMCAxNDYuNiAxMTQuNiAzMiAyNTYgMzJzMjU2IDExNC42IDI1NiAyNTZWMzkyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0VjI4OGMwLTExNC45LTkzLjEtMjA4LTIwOC0yMDh6TTgwIDM1MmMwLTM1LjMgMjguNy02NCA2NC02NGgxNmMxNy43IDAgMzIgMTQuMyAzMiAzMlY0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJIMTQ0Yy0zNS4zIDAtNjQtMjguNy02NC02NFYzNTJ6bTI4OC02NGMzNS4zIDAgNjQgMjguNyA2NCA2NHY2NGMwIDM1LjMtMjguNyA2NC02NCA2NEgzNTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjMyMGMwLTE3LjcgMTQuMy0zMiAzMi0zMmgxNnpcIl1cbn07XG52YXIgZmFIZWFkcGhvbmVzQWx0ID0gZmFIZWFkcGhvbmVzU2ltcGxlO1xudmFyIGZhU2l0ZW1hcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaXRlbWFwJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMGU4XCIsIFwiTTIwOCA4MGMwLTI2LjUgMjEuNS00OCA0OC00OGg2NGMyNi41IDAgNDggMjEuNSA0OCA0OHY2NGMwIDI2LjUtMjEuNSA0OC00OCA0OGgtOHY0MEg0NjRjMzAuOSAwIDU2IDI1LjEgNTYgNTZ2MzJoOGMyNi41IDAgNDggMjEuNSA0OCA0OHY2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0NjRjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjM2OGMwLTI2LjUgMjEuNS00OCA0OC00OGg4VjI4OGMwLTQuNC0zLjYtOC04LThIMzEydjQwaDhjMjYuNSAwIDQ4IDIxLjUgNDggNDh2NjRjMCAyNi41LTIxLjUgNDgtNDggNDhIMjU2Yy0yNi41IDAtNDgtMjEuNS00OC00OFYzNjhjMC0yNi41IDIxLjUtNDggNDgtNDhoOFYyODBIMTEyYy00LjQgMC04IDMuNi04IDh2MzJoOGMyNi41IDAgNDggMjEuNSA0OCA0OHY2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMzY4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4aDhWMjg4YzAtMzAuOSAyNS4xLTU2IDU2LTU2SDI2NFYxOTJoLThjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjgwelwiXVxufTtcbnZhciBmYUNpcmNsZURvbGxhclRvU2xvdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtZG9sbGFyLXRvLXNsb3QnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImRvbmF0ZVwiXSwgXCJmNGI5XCIsIFwiTTMyNi43IDQwMy43Yy0yMi4xIDgtNDUuOSAxMi4zLTcwLjcgMTIuM3MtNDguNy00LjQtNzAuNy0xMi4zYy0uMy0uMS0uNS0uMi0uOC0uM2MtMzAtMTEtNTYuOC0yOC43LTc4LjYtNTEuNEM3MCAzMTQuNiA0OCAyNjMuOSA0OCAyMDhDNDggOTMuMSAxNDEuMSAwIDI1NiAwUzQ2NCA5My4xIDQ2NCAyMDhjMCA1NS45LTIyIDEwNi42LTU3LjkgMTQ0Yy0xIDEtMiAyLjEtMyAzLjFjLTIxLjQgMjEuNC00Ny40IDM4LjEtNzYuMyA0OC42ek0yNTYgODRjLTExIDAtMjAgOS0yMCAyMHYxNGMtNy42IDEuNy0xNS4yIDQuNC0yMi4yIDguNWMtMTMuOSA4LjMtMjUuOSAyMi44LTI1LjggNDMuOWMuMSAyMC4zIDEyIDMzLjEgMjQuNyA0MC43YzExIDYuNiAyNC43IDEwLjggMzUuNiAxNGwxLjcgLjVjMTIuNiAzLjggMjEuOCA2LjggMjggMTAuN2M1LjEgMy4yIDUuOCA1LjQgNS45IDguMmMuMSA1LTEuOCA4LTUuOSAxMC41Yy01IDMuMS0xMi45IDUtMjEuNCA0LjdjLTExLjEtLjQtMjEuNS0zLjktMzUuMS04LjVjLTIuMy0uOC00LjctMS42LTcuMi0yLjRjLTEwLjUtMy41LTIxLjggMi4yLTI1LjMgMTIuNnMyLjIgMjEuOCAxMi42IDI1LjNjMS45IC42IDQgMS4zIDYuMSAyLjFsMCAwIDAgMGM4LjMgMi45IDE3LjkgNi4yIDI4LjIgOC40VjMxMmMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMFYyOTguMmM4LTEuNyAxNi00LjUgMjMuMi05YzE0LjMtOC45IDI1LjEtMjQuMSAyNC44LTQ1Yy0uMy0yMC4zLTExLjctMzMuNC0yNC42LTQxLjZjLTExLjUtNy4yLTI1LjktMTEuNi0zNy4xLTE1bC0uNy0uMmMtMTIuOC0zLjktMjEuOS02LjctMjguMy0xMC41Yy01LjItMy4xLTUuMy00LjktNS4zLTYuN2MwLTMuNyAxLjQtNi41IDYuMi05LjNjNS40LTMuMiAxMy42LTUuMSAyMS41LTVjOS42IC4xIDIwLjIgMi4yIDMxLjIgNS4yYzEwLjcgMi44IDIxLjYtMy41IDI0LjUtMTQuMnMtMy41LTIxLjYtMTQuMi0yNC41Yy02LjUtMS43LTEzLjctMy40LTIxLjEtNC43VjEwNGMwLTExLTktMjAtMjAtMjB6TTQ4IDM1Mkg2NGMxOS41IDI1LjkgNDQgNDcuNyA3Mi4yIDY0SDY0djMySDI1NiA0NDhWNDE2SDM3NS44YzI4LjItMTYuMyA1Mi44LTM4LjEgNzIuMi02NGgxNmMyNi41IDAgNDggMjEuNSA0OCA0OHY2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWNDAwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4elwiXVxufTtcbnZhciBmYURvbmF0ZSA9IGZhQ2lyY2xlRG9sbGFyVG9TbG90O1xudmFyIGZhTWVtb3J5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21lbW9yeScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjUzOFwiLCBcIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOHY3LjRjMCA2LjggNC40IDEyLjYgMTAuMSAxNi4zQzIzLjMgMTYwLjMgMzIgMTc1LjEgMzIgMTkycy04LjcgMzEuNy0yMS45IDQwLjNDNC40IDIzNiAwIDI0MS44IDAgMjQ4LjZWMzIwSDU3NlYyNDguNmMwLTYuOC00LjQtMTIuNi0xMC4xLTE2LjNDNTUyLjcgMjIzLjcgNTQ0IDIwOC45IDU0NCAxOTJzOC43LTMxLjcgMjEuOS00MC4zYzUuNy0zLjcgMTAuMS05LjUgMTAuMS0xNi4zVjEyOGMwLTM1LjMtMjguNy02NC02NC02NEg2NHpNNTc2IDM1MkgwdjY0YzAgMTcuNyAxNC4zIDMyIDMyIDMySDgwVjQxNmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2djMyaDk2VjQxNmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2djMyaDk2VjQxNmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2djMyaDk2VjQxNmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2djMyaDQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM1MnpNMTkyIDE2MHY2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnptMTI4IDB2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6bTEyOCAwdjY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyelwiXVxufTtcbnZhciBmYVJvYWRTcGlrZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncm9hZC1zcGlrZXMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NjhcIiwgXCJNNjQgMTE2LjhjMC0xNS44IDIwLjUtMjIgMjkuMy04LjlMMTkyIDI1NlYxMTYuOGMwLTE1LjggMjAuNS0yMiAyOS4zLTguOUwzMjAgMjU2VjExNi44YzAtMTUuOCAyMC41LTIyIDI5LjMtOC45TDQ0OCAyNTZWMTE2LjhjMC0xNS44IDIwLjUtMjIgMjkuMy04LjlMNjA2LjggMzAyLjJjMTQuMiAyMS4zLTEuMSA0OS43LTI2LjYgNDkuN0g1MTIgNDQ4IDM4NCAzMjAgMjU2IDE5MiA2NFYxMTYuOHpNMzIgMzg0SDYwOGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpcIl1cbn07XG52YXIgZmFGaXJlQnVybmVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpcmUtYnVybmVyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGYxXCIsIFwiTTM0NS43IDQ4LjNMMzU4IDM0LjVjNS40LTYuMSAxMy4zLTguOCAyMC45LTguOWM3LjIgMCAxNC4zIDIuNiAxOS45IDcuOGMxOS43IDE4LjMgMzkuOCA0My4yIDU1IDcwLjZDNDY5IDEzMS4yIDQ4MCAxNjIuMiA0ODAgMTkyLjJDNDgwIDI4MC44IDQwOC43IDM1MiAzMjAgMzUyYy04OS42IDAtMTYwLTcxLjMtMTYwLTE1OS44YzAtMzcuMyAxNi03My40IDM2LjgtMTA0LjVjMjAuOS0zMS4zIDQ3LjUtNTkgNzAuOS04MC4yQzI3My40IDIuMyAyODAuNy0uMiAyODggMGMxNC4xIC4zIDIzLjggMTEuNCAzMi43IDIxLjZjMCAwIDAgMCAwIDBjMiAyLjMgNCA0LjYgNiA2LjdsMTkgMTkuOXpNMzg0IDI0MC4yYzAtMzYuNS0zNy03My01NC44LTg4LjRjLTUuNC00LjctMTMuMS00LjctMTguNSAwQzI5MyAxNjcuMSAyNTYgMjAzLjYgMjU2IDI0MC4yYzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR6TTMyIDI4OGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgNjQgNDQ4IDAgMC02NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMC05NnpNMzIwIDQ4MGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTE2MC0zMmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0xOTIgNDgwYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG52YXIgZmFGbGFnID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZsYWcnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjc5ODgsIDYxNzI1XSwgXCJmMDI0XCIsIFwiTTY0IDMyQzY0IDE0LjMgNDkuNyAwIDMyIDBTMCAxNC4zIDAgMzJWNjQgMzY4IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjM1Mmw2NC4zLTE2LjFjNDEuMS0xMC4zIDg0LjYtNS41IDEyMi41IDEzLjRjNDQuMiAyMi4xIDk1LjUgMjQuOCAxNDEuNyA3LjRsMzQuNy0xM2MxMi41LTQuNyAyMC44LTE2LjYgMjAuOC0zMFY2Ni4xYzAtMjMtMjQuMi0zOC00NC44LTI3LjdsLTkuNiA0LjhjLTQ2LjMgMjMuMi0xMDAuOCAyMy4yLTE0Ny4xIDBjLTM1LjEtMTcuNi03NS40LTIyLTExMy41LTEyLjVMNjQgNDhWMzJ6XCJdXG59O1xudmFyIGZhSGFudWtpYWggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFudWtpYWgnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjgzMzRdLCBcImY2ZTZcIiwgXCJNMzE0LjIgMy4zQzMwOS4xIDEyLjEgMjk2IDM2LjYgMjk2IDU2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjdDMzI0LjYgMS4yIDMyMi40IDAgMzIwIDBzLTQuNiAxLjItNS44IDMuM3ptLTI4OCA0OEMyMS4xIDYwLjEgOCA4NC42IDggMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjdDMzYuNiA0OS4yIDM0LjQgNDggMzIgNDhzLTQuNiAxLjItNS44IDMuM3pNODggMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjdjLTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjNDMTAxLjEgNjAuMSA4OCA4NC42IDg4IDEwNHptODIuMi01Mi43QzE2NS4xIDYwLjEgMTUyIDg0LjYgMTUyIDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43Yy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zek0yMTYgMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjdjLTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjNDMjI5LjEgNjAuMSAyMTYgODQuNiAyMTYgMTA0ek0zOTQuMiA1MS4zQzM4OS4xIDYwLjEgMzc2IDg0LjYgMzc2IDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43Yy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zek00NDAgMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjdjLTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjNDNDUzLjEgNjAuMSA0NDAgODQuNiA0NDAgMTA0em04Mi4yLTUyLjdDNTE3LjEgNjAuMSA1MDQgODQuNiA1MDQgMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjdjLTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjN6TTU4NCAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuN2MtMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM0M1OTcuMSA2MC4xIDU4NCA4NC42IDU4NCAxMDR6TTExMiAxNjBjLTguOCAwLTE2IDcuMi0xNiAxNnY5NiAxNmgzMlYyNzIgMTc2YzAtOC44LTcuMi0xNi0xNi0xNnptNjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2djk2IDE2aDMyVjI3MiAxNzZjMC04LjgtNy4yLTE2LTE2LTE2em02NCAwYy04LjggMC0xNiA3LjItMTYgMTZ2OTYgMTZoMzJWMjcyIDE3NmMwLTguOC03LjItMTYtMTYtMTZ6bTE2MCAwYy04LjggMC0xNiA3LjItMTYgMTZ2OTYgMTZoMzJWMjcyIDE3NmMwLTguOC03LjItMTYtMTYtMTZ6bTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNnY5NiAxNmgzMlYyNzIgMTc2YzAtOC44LTcuMi0xNi0xNi0xNnptNjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2djk2IDE2aDMyVjI3MiAxNzZjMC04LjgtNy4yLTE2LTE2LTE2ek0zNTIgMTQ0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjMyMEg5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMTkyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMydjk2YzAgNTMgNDMgOTYgOTYgOTZIMjg4djY0SDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkgzMjAgNDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDM1MlYzODRINTQ0YzUzIDAgOTYtNDMgOTYtOTZWMTkyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMydjk2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDM1MlYxNDR6XCJdXG59O1xudmFyIGZhRmVhdGhlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmZWF0aGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5NzE4XSwgXCJmNTJkXCIsIFwiTTI3OC41IDIxNS42TDIzIDQ3MWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDU3LTU3aDY4YzQ5LjcgMCA5Ny45LTE0LjQgMTM5LTQxYzExLjEtNy4yIDUuNS0yMy03LjgtMjNjLTUuMSAwLTkuMi00LjEtOS4yLTkuMmMwLTQuMSAyLjctNy42IDYuNS04LjhsODEtMjQuM2MyLjUtLjggNC44LTIuMSA2LjctNGwyMi40LTIyLjRjMTAuMS0xMC4xIDIuOS0yNy4zLTExLjMtMjcuM2wtMzIuMiAwYy01LjEgMC05LjItNC4xLTkuMi05LjJjMC00LjEgMi43LTcuNiA2LjUtOC44bDExMi0zMy42YzQtMS4yIDcuNC0zLjkgOS4zLTcuN0M1MDYuNCAyMDcuNiA1MTIgMTg0LjEgNTEyIDE2MGMwLTQxLTE2LjMtODAuMy00NS4zLTEwOS4zbC01LjUtNS41QzQzMi4zIDE2LjMgMzkzIDAgMzUyIDBzLTgwLjMgMTYuMy0xMDkuMyA0NS4zTDEzOSAxNDlDOTEgMTk3IDY0IDI2Mi4xIDY0IDMzMHY1NS4zTDI1My42IDE5NS44YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwYzUuNCA1LjQgNi4xIDEzLjYgMi4yIDE5Ljh6XCJdXG59O1xudmFyIGZhVm9sdW1lTG93ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZvbHVtZS1sb3cnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjgyNjQsIFwidm9sdW1lLWRvd25cIl0sIFwiZjAyN1wiLCBcIk0zMDEuMSAzNC44QzMxMi42IDQwIDMyMCA1MS40IDMyMCA2NFY0NDhjMCAxMi42LTcuNCAyNC0xOC45IDI5LjJzLTI1IDMuMS0zNC40LTUuM0wxMzEuOCAzNTJINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjIyNGMwLTM1LjMgMjguNy02NCA2NC02NGg2Ny44TDI2Ni43IDQwLjFjOS40LTguNCAyMi45LTEwLjQgMzQuNC01LjN6TTQxMi42IDE4MS41QzQzNC4xIDE5OS4xIDQ0OCAyMjUuOSA0NDggMjU2cy0xMy45IDU2LjktMzUuNCA3NC41Yy0xMC4zIDguNC0yNS40IDYuOC0zMy44LTMuNXMtNi44LTI1LjQgMy41LTMzLjhDMzkzLjEgMjg0LjQgNDAwIDI3MSA0MDAgMjU2cy02LjktMjguNC0xNy43LTM3LjNjLTEwLjMtOC40LTExLjgtMjMuNS0zLjUtMzMuOHMyMy41LTExLjggMzMuOC0zLjV6XCJdXG59O1xudmFyIGZhVm9sdW1lRG93biA9IGZhVm9sdW1lTG93O1xudmFyIGZhQ29tbWVudFNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvbW1lbnQtc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY0YjNcIiwgXCJNMzguOCA1LjFDMjguNC0zLjEgMTMuMy0xLjIgNS4xIDkuMlMtMS4yIDM0LjcgOS4yIDQyLjlsNTkyIDQ2NGMxMC40IDguMiAyNS41IDYuMyAzMy43LTQuMXM2LjMtMjUuNS00LjEtMzMuN0w1MTIuOSAzNzYuN0M1NTIuMiAzNDAuMiA1NzYgMjkyLjMgNTc2IDI0MEM1NzYgMTI1LjEgNDYxLjQgMzIgMzIwIDMyYy02Ny43IDAtMTI5LjMgMjEuNC0xNzUuMSA1Ni4zTDM4LjggNS4xem0zODUuMiA0MjVMODIuOSAxNjEuM0M3MC43IDE4NS42IDY0IDIxMi4yIDY0IDI0MGMwIDQ1LjEgMTcuNyA4Ni44IDQ3LjcgMTIwLjljLTEuOSAyNC41LTExLjQgNDYuMy0yMS40IDYyLjljLTUuNSA5LjItMTEuMSAxNi42LTE1LjIgMjEuNmMtMi4xIDIuNS0zLjcgNC40LTQuOSA1LjdjLS42IC42LTEgMS4xLTEuMyAxLjRsLS4zIC4zIDAgMCAwIDAgMCAwIDAgMGMtNC42IDQuNi01LjkgMTEuNC0zLjQgMTcuNGMyLjUgNiA4LjMgOS45IDE0LjggOS45YzI4LjcgMCA1Ny42LTguOSA4MS42LTE5LjNjMjIuOS0xMCA0Mi40LTIxLjkgNTQuMy0zMC42YzMxLjggMTEuNSA2NyAxNy45IDEwNC4xIDE3LjljMzcgMCA3Mi4zLTYuNCAxMDQuMS0xNy45elwiXVxufTtcbnZhciBmYUNsb3VkU3VuUmFpbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbG91ZC1zdW4tcmFpbicsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyNzc4Ml0sIFwiZjc0M1wiLCBcIk0yOTQuMiAxLjJjNS4xIDIuMSA4LjcgNi43IDkuNiAxMi4xbDEwLjQgNjIuNGMtMjMuMyAxMC44LTQyLjkgMjguNC01NiA1MC4zYy0xNC42LTktMzEuOC0xNC4xLTUwLjItMTQuMWMtNTMgMC05NiA0My05NiA5NmMwIDM1LjUgMTkuMyA2Ni42IDQ4IDgzLjJjLjggMzEuOCAxMy4yIDYwLjcgMzMuMSA4Mi43bC01NiAzOS4yYy00LjUgMy4yLTEwLjMgMy44LTE1LjQgMS42cy04LjctNi43LTkuNi0xMi4xTDk4LjEgMzE3LjkgMTMuNCAzMDMuOGMtNS40LS45LTEwLTQuNS0xMi4xLTkuNnMtMS41LTEwLjkgMS42LTE1LjRMNTIuNSAyMDggMi45IDEzNy4yYy0zLjItNC41LTMuOC0xMC4zLTEuNi0xNS40czYuNy04LjcgMTIuMS05LjZMOTguMSA5OC4xbDE0LjEtODQuN2MuOS01LjQgNC41LTEwIDkuNi0xMi4xczEwLjktMS41IDE1LjQgMS42TDIwOCA1Mi41IDI3OC44IDIuOWM0LjUtMy4yIDEwLjMtMy44IDE1LjQtMS42ek0yMDggMTQ0YzEzLjggMCAyNi43IDQuNCAzNy4xIDExLjljLTEuMiA0LjEtMi4yIDguMy0zIDEyLjZjLTM3LjkgMTQuNi02Ny4yIDQ2LjYtNzcuOCA4Ni40QzE1MS44IDI0My4xIDE0NCAyMjYuNSAxNDQgMjA4YzAtMzUuMyAyOC43LTY0IDY0LTY0em02OS40IDI3NmMxMSA3LjQgMTQgMjIuMyA2LjcgMzMuM2wtMzIgNDhjLTcuNCAxMS0yMi4zIDE0LTMzLjMgNi43cy0xNC0yMi4zLTYuNy0zMy4zbDMyLTQ4YzcuNC0xMSAyMi4zLTE0IDMzLjMtNi43em05NiAwYzExIDcuNCAxNCAyMi4zIDYuNyAzMy4zbC0zMiA0OGMtNy40IDExLTIyLjMgMTQtMzMuMyA2LjdzLTE0LTIyLjMtNi43LTMzLjNsMzItNDhjNy40LTExIDIyLjMtMTQgMzMuMy02Ljd6bTk2IDBjMTEgNy40IDE0IDIyLjMgNi43IDMzLjNsLTMyIDQ4Yy03LjQgMTEtMjIuMyAxNC0zMy4zIDYuN3MtMTQtMjIuMy02LjctMzMuM2wzMi00OGM3LjQtMTEgMjIuMy0xNCAzMy4zLTYuN3ptOTYgMGMxMSA3LjQgMTQgMjIuMyA2LjcgMzMuM2wtMzIgNDhjLTcuNCAxMS0yMi4zIDE0LTMzLjMgNi43cy0xNC0yMi4zLTYuNy0zMy4zbDMyLTQ4YzcuNC0xMSAyMi4zLTE0IDMzLjMtNi43em03NC41LTExNi4xYzAgNDQuMi0zNS44IDgwLTgwIDgwSDI4OGMtNTMgMC05Ni00My05Ni05NmMwLTQ3LjYgMzQuNi04NyA4MC05NC42bDAtMS4zYzAtNTMgNDMtOTYgOTYtOTZjMzQuOSAwIDY1LjQgMTguNiA4Mi4yIDQ2LjRjMTMtOS4xIDI4LjgtMTQuNCA0NS44LTE0LjRjNDQuMiAwIDgwIDM1LjggODAgODBjMCA1LjktLjYgMTEuNy0xLjkgMTcuMmMzNy40IDYuNyA2NS44IDM5LjQgNjUuOCA3OC43elwiXVxufTtcbnZhciBmYUNvbXByZXNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvbXByZXNzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMDY2XCIsIFwiTTE2MCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnY2NEgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmg5NmMxNy43IDAgMzItMTQuMyAzMi0zMlY2NHpNMzIgMzIwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDk2djY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMzUyYzAtMTcuNy0xNC4zLTMyLTMyLTMySDMyek0zNTIgNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ2OTZjMCAxNy43IDE0LjMgMzIgMzIgMzJoOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzUyVjY0ek0zMjAgMzIwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnY5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjM4NGg2NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMjB6XCJdXG59O1xudmFyIGZhV2hlYXRBd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2hlYXQtYXduJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJ3aGVhdC1hbHRcIl0sIFwiZTJjZFwiLCBcIk01MDUgNDFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMEwzODMgOTVjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw4OC04OHpNMzA1LjUgMjcuM2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBMMjcxLjUgMzguNmMtMzcuNSAzNy41LTM3LjUgOTguMyAwIDEzNS44bDEwLjQgMTAuNC0zMC41IDMwLjVjLTMuNC0yNy4zLTE1LjUtNTMuOC0zNi41LTc0LjhsLTExLjMtMTEuM2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBsLTExLjMgMTEuM2MtMzcuNSAzNy41LTM3LjUgOTguMyAwIDEzNS44bDEwLjQgMTAuNC0zMC41IDMwLjVjLTMuNC0yNy4zLTE1LjUtNTMuOC0zNi41LTc0LjhMMTAxLjggMjMxYy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMEw2Ny45IDI0Mi4zYy0zNy41IDM3LjUtMzcuNSA5OC4zIDAgMTM1LjhsMTAuNCAxMC40TDkuNCA0NTcuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw2OC45LTY4LjkgMTIuMiAxMi4yYzM3LjUgMzcuNSA5OC4zIDM3LjUgMTM1LjggMGwxMS4zLTExLjNjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZsLTExLjMtMTEuM2MtMjEuOC0yMS44LTQ5LjYtMzQuMS03OC4xLTM2LjlsMzEuOS0zMS45IDEyLjIgMTIuMmMzNy41IDM3LjUgOTguMyAzNy41IDEzNS44IDBsMTEuMy0xMS4zYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42bC0xMS4zLTExLjNjLTIxLjgtMjEuOC00OS42LTM0LjEtNzguMS0zNi45bDMxLjktMzEuOSAxMi4yIDEyLjJjMzcuNSAzNy41IDk4LjMgMzcuNSAxMzUuOCAwTDQ4Ni41IDIzMWM2LjItNi4yIDYuMi0xNi40IDAtMjIuNkw0NzUuMiAxOTdjLTUuMi01LjItMTAuNi05LjgtMTYuNC0xMy45TDUwNSAxMzdjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtNTkuNCA1OS40Yy0yMC42LTQuNC00Mi0zLjctNjIuMyAyLjFjNi4xLTIxLjMgNi42LTQzLjggMS40LTY1LjNMNDA5IDQxYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBMMzI5LjEgNTIuOWMtMy43LTUtNy44LTkuOC0xMi40LTE0LjNMMzA1LjUgMjcuM3pcIl1cbn07XG52YXIgZmFXaGVhdEFsdCA9IGZhV2hlYXRBd247XG52YXIgZmFBbmtoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fua2gnLFxuICBpY29uOiBbMzIwLCA1MTIsIFs5NzY1XSwgXCJmNjQ0XCIsIFwiTTk2IDEyOGMwLTM1LjMgMjguNy02NCA2NC02NHM2NCAyOC43IDY0IDY0YzAgNDEuNi0yMC43IDc2LjYtNDYuNiAxMDQuMWMtNS45IDYuMi0xMS44IDExLjgtMTcuNCAxNi43Yy01LjYtNC45LTExLjUtMTAuNS0xNy40LTE2LjdDMTE2LjcgMjA0LjYgOTYgMTY5LjYgOTYgMTI4ek0xNjAgMEM4OS4zIDAgMzIgNTcuMyAzMiAxMjhjMCA1Mi40IDIxLjUgOTUuNSA0Ni44IDEyOEgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmg5NlY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzMjBoOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMjQxLjJjMjUuNC0zMi41IDQ2LjgtNzUuNiA0Ni44LTEyOEMyODggNTcuMyAyMzAuNyAwIDE2MCAwelwiXVxufTtcbnZhciBmYUhhbmRzSG9sZGluZ0NoaWxkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzLWhvbGRpbmctY2hpbGQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZmFcIiwgXCJNMzIwIDBhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgwem00NC43IDE2NC4zTDM3NS44IDI1M2MxLjYgMTMuMi03LjcgMjUuMS0yMC44IDI2LjhzLTI1LjEtNy43LTI2LjgtMjAuOGwtNC40LTM1aC03LjZsLTQuNCAzNWMtMS42IDEzLjItMTMuNiAyMi41LTI2LjggMjAuOHMtMjIuNS0xMy42LTIwLjgtMjYuOGwxMS4xLTg4LjhMMjU1LjUgMTgxYy0xMC4xIDguNi0yNS4zIDcuMy0zMy44LTIuOHMtNy4zLTI1LjMgMi44LTMzLjhsMjcuOS0yMy42QzI3MS4zIDEwNC44IDI5NS4zIDk2IDMyMCA5NnM0OC43IDguOCA2Ny42IDI0LjdsMjcuOSAyMy42YzEwLjEgOC42IDExLjQgMjMuNyAyLjggMzMuOHMtMjMuNyAxMS40LTMzLjggMi44bC0xOS44LTE2Ljd6TTQwIDY0YzIyLjEgMCA0MCAxNy45IDQwIDQwdjQwIDgwIDQwLjJjMCAxNyA2LjcgMzMuMyAxOC43IDQ1LjNsNTEuMSA1MS4xYzguMyA4LjMgMjEuMyA5LjYgMzEgMy4xYzEyLjktOC42IDE0LjctMjYuOSAzLjctMzcuOGwtMTUuMi0xNS4yLTMyLTMyYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwbDMyIDMyIDE1LjIgMTUuMiAwIDAgMjUuMyAyNS4zYzIxIDIxIDMyLjggNDkuNSAzMi44IDc5LjJWNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDE3My4zYy0xNyAwLTMzLjMtNi43LTQ1LjMtMTguN0wyOC4xIDM5My40QzEwLjEgMzc1LjQgMCAzNTEgMCAzMjUuNVYyMjQgMTYwIDEwNEMwIDgxLjkgMTcuOSA2NCA0MCA2NHptNTYwIDBjMjIuMSAwIDQwIDE3LjkgNDAgNDB2NTYgNjRWMzI1LjVjMCAyNS41LTEwLjEgNDkuOS0yOC4xIDY3LjlMNTEyIDQ5My4zYy0xMiAxMi0yOC4zIDE4LjctNDUuMyAxOC43SDQwMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMzg1LjFjMC0yOS43IDExLjgtNTguMiAzMi44LTc5LjJsMjUuMy0yNS4zIDAgMCAxNS4yLTE1LjIgMzItMzJjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2wtMzIgMzItMTUuMiAxNS4yYy0xMSAxMS05LjIgMjkuMiAzLjcgMzcuOGM5LjcgNi41IDIyLjcgNS4yIDMxLTMuMWw1MS4xLTUxLjFjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM1YyMjQgMTQ0IDEwNGMwLTIyLjEgMTcuOS00MCA0MC00MHpcIl1cbn07XG52YXIgZmFBc3RlcmlzayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhc3RlcmlzaycsXG4gIGljb246IFszODQsIDUxMiwgWzEwMDMzLCA2MTU0NV0sIFwiMmFcIiwgXCJNMTkyIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjE5OS41bDExMS41LTY2LjljMTUuMi05LjEgMzQuOC00LjIgNDMuOSAxMXM0LjIgMzQuOC0xMSA0My45TDI1NC4yIDI1NmwxMTQuMyA2OC42YzE1LjIgOS4xIDIwLjEgMjguNyAxMSA0My45cy0yOC43IDIwLjEtNDMuOSAxMUwyMjQgMzEyLjVWNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjMxMi41TDQ4LjUgMzc5LjRjLTE1LjIgOS4xLTM0LjggNC4yLTQzLjktMTFzLTQuMi0zNC44IDExLTQzLjlMMTI5LjggMjU2IDE1LjUgMTg3LjRjLTE1LjItOS4xLTIwLjEtMjguNy0xMS00My45czI4LjctMjAuMSA0My45LTExTDE2MCAxOTkuNVY2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpcIl1cbn07XG52YXIgZmFTcXVhcmVDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUtY2hlY2snLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5NzQ1LCA5OTg5LCA2MTUxMCwgXCJjaGVjay1zcXVhcmVcIl0sIFwiZjE0YVwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEgzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6TTMzNyAyMDlMMjA5IDMzN2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBsLTY0LTY0Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNDcgNDdMMzAzIDE3NWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjl6XCJdXG59O1xudmFyIGZhQ2hlY2tTcXVhcmUgPSBmYVNxdWFyZUNoZWNrO1xudmFyIGZhUGVzZXRhU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXNldGEtc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTIyMVwiLCBcIk02NCAzMkM0Ni4zIDMyIDMyIDQ2LjMgMzIgNjR2OTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMCA5NlY0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzNTJoOTZjNzcuNCAwIDE0Mi01NSAxNTYuOC0xMjhIMzUyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyaC0zLjJDMzM0IDg3IDI2OS40IDMyIDE5MiAzMkg2NHpNMjgyLjUgMTYwSDk2Vjk2aDk2YzQxLjggMCA3Ny40IDI2LjcgOTAuNSA2NHpNOTYgMjI0SDI4Mi41Yy0xMy4yIDM3LjMtNDguNyA2NC05MC41IDY0SDk2VjIyNHpcIl1cbn07XG52YXIgZmFIZWFkaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlYWRpbmcnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImhlYWRlclwiXSwgXCJmMWRjXCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJIODBoNDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMTEyVjIwOEgzMzZWOTZIMzIwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyaDQ4IDQ4YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDQwMFYyNDAgNDE2aDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDM2OCAzMjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJoMTZWMjcySDExMlY0MTZoMTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIODAgMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJINDhWMjQwIDk2SDMyQzE0LjMgOTYgMCA4MS43IDAgNjR6XCJdXG59O1xudmFyIGZhSGVhZGVyID0gZmFIZWFkaW5nO1xudmFyIGZhR2hvc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ2hvc3QnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjgxMjNdLCBcImY2ZTJcIiwgXCJNNDAuMSA0NjcuMWwtMTEuMiA5Yy0zLjIgMi41LTcuMSAzLjktMTEuMSAzLjlDOCA0ODAgMCA0NzIgMCA0NjIuMlYxOTJDMCA4NiA4NiAwIDE5MiAwUzM4NCA4NiAzODQgMTkyVjQ2Mi4yYzAgOS44LTggMTcuOC0xNy44IDE3LjhjLTQgMC03LjktMS40LTExLjEtMy45bC0xMS4yLTljLTEzLjQtMTAuNy0zMi44LTktNDQuMSAzLjlMMjY5LjMgNTA2Yy0zLjMgMy44LTguMiA2LTEzLjMgNnMtOS45LTIuMi0xMy4zLTZsLTI2LjYtMzAuNWMtMTIuNy0xNC42LTM1LjQtMTQuNi00OC4yIDBMMTQxLjMgNTA2Yy0zLjMgMy44LTguMiA2LTEzLjMgNnMtOS45LTIuMi0xMy4zLTZMODQuMiA0NzFjLTExLjMtMTIuOS0zMC43LTE0LjYtNDQuMS0zLjl6TTE2MCAxOTJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptOTYgMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbnZhciBmYUxpc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGlzdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibGlzdC1zcXVhcmVzXCJdLCBcImYwM2FcIiwgXCJNNDAgNDhDMjYuNyA0OCAxNiA1OC43IDE2IDcydjQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0SDg4YzEzLjMgMCAyNC0xMC43IDI0LTI0VjcyYzAtMTMuMy0xMC43LTI0LTI0LTI0SDQwek0xOTIgNjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDE5MnptMCAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDE5MnptMCAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDE5MnpNMTYgMjMydjQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0SDg4YzEzLjMgMCAyNC0xMC43IDI0LTI0VjIzMmMwLTEzLjMtMTAuNy0yNC0yNC0yNEg0MGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6TTQwIDM2OGMtMTMuMyAwLTI0IDEwLjctMjQgMjR2NDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRIODhjMTMuMyAwIDI0LTEwLjcgMjQtMjRWMzkyYzAtMTMuMy0xMC43LTI0LTI0LTI0SDQwelwiXVxufTtcbnZhciBmYUxpc3RTcXVhcmVzID0gZmFMaXN0O1xudmFyIGZhU3F1YXJlUGhvbmVGbGlwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1waG9uZS1mbGlwJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJwaG9uZS1zcXVhcmUtYWx0XCJdLCBcImY4N2JcIiwgXCJNMzg0IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0VjQxNmMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJIMzg0em0tOTAuNyA5Ni43Yy05LjctMi42LTE5LjkgMi4zLTIzLjcgMTEuNmwtMjAgNDhjLTMuNCA4LjItMSAxNy42IDUuOCAyMy4yTDI4MCAyMzEuN2MtMTYuNiAzNS4yLTQ1LjEgNjMuNy04MC4zIDgwLjNsLTIwLjItMjQuN2MtNS42LTYuOC0xNS05LjItMjMuMi01LjhsLTQ4IDIwYy05LjMgMy45LTE0LjIgMTQtMTEuNiAyMy43bDEyIDQ0QzExMS4xIDM3OCAxMTkgMzg0IDEyOCAzODRjMTIzLjcgMCAyMjQtMTAwLjMgMjI0LTIyNGMwLTktNi0xNi45LTE0LjctMTkuM2wtNDQtMTJ6XCJdXG59O1xudmFyIGZhUGhvbmVTcXVhcmVBbHQgPSBmYVNxdWFyZVBob25lRmxpcDtcbnZhciBmYUNhcnRQbHVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhcnQtcGx1cycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjIxN1wiLCBcIk0wIDI0QzAgMTAuNyAxMC43IDAgMjQgMEg2OS41YzIyIDAgNDEuNSAxMi44IDUwLjYgMzJoNDExYzI2LjMgMCA0NS41IDI1IDM4LjYgNTAuNGwtNDEgMTUyLjNjLTguNSAzMS40LTM3IDUzLjMtNjkuNSA1My4zSDE3MC43bDUuNCAyOC41YzIuMiAxMS4zIDEyLjEgMTkuNSAyMy42IDE5LjVINDg4YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDE5OS43Yy0zNC42IDAtNjQuMy0yNC42LTcwLjctNTguNUw3Ny40IDU0LjVjLS43LTMuOC00LTYuNS03LjktNi41SDI0QzEwLjcgNDggMCAzNy4zIDAgMjR6TTEyOCA0NjRhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptMzM2LTQ4YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpNMjUyIDE2MGMwIDExIDkgMjAgMjAgMjBoNDR2NDRjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBWMTgwaDQ0YzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMEgzNTZWOTZjMC0xMS05LTIwLTIwLTIwcy0yMCA5LTIwIDIwdjQ0SDI3MmMtMTEgMC0yMCA5LTIwIDIwelwiXVxufTtcbnZhciBmYUdhbWVwYWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ2FtZXBhZCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjExYlwiLCBcIk0xOTIgNjRDODYgNjQgMCAxNTAgMCAyNTZTODYgNDQ4IDE5MiA0NDhINDQ4YzEwNiAwIDE5Mi04NiAxOTItMTkycy04Ni0xOTItMTkyLTE5MkgxOTJ6TTQ5NiAxNjhhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgwek0zOTIgMzA0YTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6TTE2OCAyMDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHYzMmgzMmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEgyMTZ2MzJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWMjgwSDEzNmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGgzMlYyMDB6XCJdXG59O1xudmFyIGZhQ2lyY2xlRG90ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1kb3QnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyODAsIFwiZG90LWNpcmNsZVwiXSwgXCJmMTkyXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyem0wLTM1MmE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnpcIl1cbn07XG52YXIgZmFEb3RDaXJjbGUgPSBmYUNpcmNsZURvdDtcbnZhciBmYUZhY2VEaXp6eSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWRpenp5JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJkaXp6eVwiXSwgXCJmNTY3XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyem0wLTIyNGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpNMTAwLjcgMTMyLjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBMMTYwIDE2OS40bDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZMMTgyLjYgMTkybDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwTDE2MCAyMTQuNmwtMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42TDEzNy40IDE5MmwtMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnptMTkyIDBjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBMMzUyIDE2OS40bDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZMMzc0LjYgMTkybDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwTDM1MiAyMTQuNmwtMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42TDMyOS40IDE5MmwtMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnpcIl1cbn07XG52YXIgZmFEaXp6eSA9IGZhRmFjZURpenp5O1xudmFyIGZhRWdnID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2VnZycsXG4gIGljb246IFszODQsIDUxMiwgWzEyOTM3MF0sIFwiZjdmYlwiLCBcIk0xOTIgNDk2Qzg2IDQ5NiAwIDM5NCAwIDI4OEMwIDE3NiA2NCAxNiAxOTIgMTZzMTkyIDE2MCAxOTIgMjcyYzAgMTA2LTg2IDIwOC0xOTIgMjA4ek0xNTQuOCAxMzRjNi41LTYgNy0xNi4xIDEtMjIuNnMtMTYuMS03LTIyLjYtMWMtMjMuOSAyMS44LTQxLjEgNTIuNy01Mi4zIDg0LjJDNjkuNyAyMjYuMSA2NCAyNTkuNyA2NCAyODhjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmMwLTI0LjUgNS01NC40IDE1LjEtODIuOGMxMC4xLTI4LjUgMjUtNTQuMSA0My43LTcxLjJ6XCJdXG59O1xudmFyIGZhSG91c2VNZWRpY2FsQ2lyY2xlWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtbWVkaWNhbC1jaXJjbGUteG1hcmsnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MTNcIiwgXCJNMzIwIDM2OGMwIDU5LjUgMjkuNSAxMTIuMSA3NC44IDE0NEgxMjguMWMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMjg3LjZIMzJjLTE4IDAtMzItMTQtMzItMzIuMWMwLTkgMy0xNyAxMC0yNEwyNjYuNCA4YzctNyAxNS04IDIyLThzMTUgMiAyMSA3TDUyMi4xIDE5My45Yy04LjUtMS4zLTE3LjMtMS45LTI2LjEtMS45Yy01NC43IDAtMTAzLjUgMjQuOS0xMzUuOCA2NEgzMjBWMjA4YzAtOC44LTcuMi0xNi0xNi0xNkgyNzJjLTguOCAwLTE2IDcuMi0xNiAxNnY0OEgyMDhjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoNDh2NDhjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNnpNNDk2IDIyNGExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTIyLjYgMTQ0bDM2LjctMzYuN2M2LjItNi4yIDYuMi0xNi40IDAtMjIuNnMtMTYuNC02LjItMjIuNiAwTDQ5NiAzNDUuNGwtMzYuNy0zNi43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42TDQ3My40IDM2OGwtMzYuNyAzNi43Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBMNDk2IDM5MC42bDM2LjcgMzYuN2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZMNTE4LjYgMzY4elwiXVxufTtcbnZhciBmYUNhbXBncm91bmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FtcGdyb3VuZCcsXG4gIGljb246IFs1NzYsIDUxMiwgWzk5NzhdLCBcImY2YmJcIiwgXCJNMzc3IDUyYzExLTEzLjggOC44LTMzLjktNS00NXMtMzMuOS04LjgtNDUgNUwyODggNjAuOCAyNDkgMTJjLTExLTEzLjgtMzEuMi0xNi00NS01cy0xNiAzMS4yLTUgNDVsNDggNjBMMTIuMyA0MDUuNEM0LjMgNDE1LjQgMCA0MjcuNyAwIDQ0MC40VjQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OEgyODggNTI4YzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjQ0MC40YzAtMTIuNy00LjMtMjUuMS0xMi4zLTM1TDMyOSAxMTJsNDgtNjB6TTI4OCA0NDhIMTY4LjVMMjg4IDI5MS43IDQwNy41IDQ0OEgyODh6XCJdXG59O1xudmFyIGZhRm9sZGVyUGx1cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmb2xkZXItcGx1cycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjY1ZVwiLCBcIk01MTIgNDE2YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY5NkMwIDYwLjcgMjguNyAzMiA2NCAzMkgxOTJjMjAuMSAwIDM5LjEgOS41IDUxLjIgMjUuNmwxOS4yIDI1LjZjNiA4LjEgMTUuNSAxMi44IDI1LjYgMTIuOEg0NDhjMzUuMyAwIDY0IDI4LjcgNjQgNjRWNDE2ek0yMzIgMzc2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWMzEyaDY0YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDI4MFYyMDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR2NjRIMTY4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0aDY0djY0elwiXVxufTtcbnZhciBmYUZ1dGJvbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmdXRib2wnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5OTE3LCBcImZ1dGJvbC1iYWxsXCIsIFwic29jY2VyLWJhbGxcIl0sIFwiZjFlM1wiLCBcIk00MTcuMyAzNjAuMWwtNzEuNi00LjhjLTUuMi0uMy0xMC4zIDEuMS0xNC41IDQuMnMtNy4yIDcuNC04LjQgMTIuNWwtMTcuNiA2OS42QzI4OS41IDQ0NS44IDI3MyA0NDggMjU2IDQ0OHMtMzMuNS0yLjItNDkuMi02LjRMMTg5LjIgMzcyYy0xLjMtNS00LjMtOS40LTguNC0xMi41cy05LjMtNC41LTE0LjUtNC4ybC03MS42IDQuOGMtMTcuNi0yNy4yLTI4LjUtNTkuMi0zMC40LTkzLjZMMTI1IDIyOC4zYzQuNC0yLjggNy42LTcgOS4yLTExLjlzMS40LTEwLjItLjUtMTVsLTI2LjctNjYuNkMxMjggMTA5LjIgMTU1LjMgODkgMTg2LjcgNzYuOWw1NS4yIDQ2YzQgMy4zIDkgNS4xIDE0LjEgNS4xczEwLjItMS44IDE0LjEtNS4xbDU1LjItNDZjMzEuMyAxMi4xIDU4LjcgMzIuMyA3OS42IDU3LjlsLTI2LjcgNjYuNmMtMS45IDQuOC0yLjEgMTAuMS0uNSAxNXM0LjkgOS4xIDkuMiAxMS45bDYwLjcgMzguMmMtMS45IDM0LjQtMTIuOCA2Ni40LTMwLjQgOTMuNnpNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6bTE0LjEtMzI1LjdjLTguNC02LjEtMTkuOC02LjEtMjguMiAwTDE5NCAyMjFjLTguNCA2LjEtMTEuOSAxNi45LTguNyAyNi44bDE4LjMgNTYuM2MzLjIgOS45IDEyLjQgMTYuNiAyMi44IDE2LjZoNTkuMmMxMC40IDAgMTkuNi02LjcgMjIuOC0xNi42bDE4LjMtNTYuM2MzLjItOS45LS4zLTIwLjctOC43LTI2LjhsLTQ3LjktMzQuOHpcIl1cbn07XG52YXIgZmFGdXRib2xCYWxsID0gZmFGdXRib2w7XG52YXIgZmFTb2NjZXJCYWxsID0gZmFGdXRib2w7XG52YXIgZmFQYWludGJydXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BhaW50YnJ1c2gnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjgzOTYsIFwicGFpbnQtYnJ1c2hcIl0sIFwiZjFmY1wiLCBcIk0zMzkuMyAzNjcuMWMyNy4zLTMuOSA1MS45LTE5LjQgNjcuMi00Mi45TDU2OC4yIDc0LjFjMTIuNi0xOS41IDkuNC00NS4zLTcuNi02MS4yUzUxNy43LTQuNCA0OTkuMSA5LjZMMjYyLjQgMTg3LjJjLTI0IDE4LTM4LjIgNDYuMS0zOC40IDc2LjFMMzM5LjMgMzY3LjF6bS0xOS42IDI1LjRsLTExNi0xMDQuNEMxNDMuOSAyOTAuMyA5NiAzMzkuNiA5NiA0MDBjMCAzLjkgLjIgNy44IC42IDExLjZDOTguNCA0MjkuMSA4Ni40IDQ0OCA2OC44IDQ0OEg2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkgyMDhjNjEuOSAwIDExMi01MC4xIDExMi0xMTJjMC0yLjUtLjEtNS0uMi03LjV6XCJdXG59O1xudmFyIGZhUGFpbnRCcnVzaCA9IGZhUGFpbnRicnVzaDtcbnZhciBmYUxvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbG9jaycsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODI3NF0sIFwiZjAyM1wiLCBcIk0xNDQgMTQ0djQ4SDMwNFYxNDRjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODB6TTgwIDE5MlYxNDRDODAgNjQuNSAxNDQuNSAwIDIyNCAwczE0NCA2NC41IDE0NCAxNDR2NDhoMTZjMzUuMyAwIDY0IDI4LjcgNjQgNjRWNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFYyNTZjMC0zNS4zIDI4LjctNjQgNjQtNjRIODB6XCJdXG59O1xudmFyIGZhR2FzUHVtcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnYXMtcHVtcCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzk5ODFdLCBcImY1MmZcIiwgXCJNMzIgNjRDMzIgMjguNyA2MC43IDAgOTYgMEgyNTZjMzUuMyAwIDY0IDI4LjcgNjQgNjRWMjU2aDhjNDguNiAwIDg4IDM5LjQgODggODh2MzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFYyMjJjLTI3LjYtNy4xLTQ4LTMyLjItNDgtNjJWOTZMMzg0IDY0Yy04LjgtOC44LTguOC0yMy4yIDAtMzJzMjMuMi04LjggMzIgMGw3Ny4zIDc3LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM1YxNjh2MjQgMzJWMzc2YzAgMzkuOC0zMi4yIDcyLTcyIDcycy03Mi0zMi4yLTcyLTcyVjM0NGMwLTIyLjEtMTcuOS00MC00MC00MGgtOFY0NDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJWNjR6TTk2IDgwdjk2YzAgOC44IDcuMiAxNiAxNiAxNkgyNDBjOC44IDAgMTYtNy4yIDE2LTE2VjgwYzAtOC44LTcuMi0xNi0xNi0xNkgxMTJjLTguOCAwLTE2IDcuMi0xNiAxNnpcIl1cbn07XG52YXIgZmFIb3RUdWJQZXJzb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG90LXR1Yi1wZXJzb24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImhvdC10dWJcIl0sIFwiZjU5M1wiLCBcIk0yNzIgMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR2NS4yYzAgMzQgMTQuNCA2Ni40IDM5LjcgODkuMmwxNi40IDE0LjhjMTUuMiAxMy43IDIzLjggMzMuMSAyMy44IDUzLjVWMjAwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWMTg2LjhjMC0zNC0xNC40LTY2LjQtMzkuNy04OS4yTDI5NS44IDgyLjhDMjgwLjcgNjkuMSAyNzIgNDkuNyAyNzIgMjkuMlYyNHpNMCAzMjB2MTZWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NFYzMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRIMjc3LjNjLTEzLjggMC0yNy4zLTQuNS0zOC40LTEyLjhsLTg1LjMtNjRDMTM3IDE2Ni43IDExNi44IDE2MCA5NiAxNjBjLTUzIDAtOTYgNDMtOTYgOTZ2NjR6bTEyOCAxNnY5NmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlYzMzZjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnptODAtMTZjOC44IDAgMTYgNy4yIDE2IDE2djk2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjMzNmMwLTguOCA3LjItMTYgMTYtMTZ6bTExMiAxNnY5NmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlYzMzZjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnptODAtMTZjOC44IDAgMTYgNy4yIDE2IDE2djk2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjMzNmMwLTguOCA3LjItMTYgMTYtMTZ6TTM2MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHY1LjJjMCAzNCAxNC40IDY2LjQgMzkuNyA4OS4ybDE2LjQgMTQuOGMxNS4yIDEzLjcgMjMuOCAzMy4xIDIzLjggNTMuNVYyMDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFYxODYuOGMwLTM0LTE0LjQtNjYuNC0zOS43LTg5LjJMNDA3LjggODIuOEMzOTIuNyA2OS4xIDM4NCA0OS43IDM4NCAyOS4yVjI0YzAtMTMuMy0xMC43LTI0LTI0LTI0ek02NCAxMjhBNjQgNjQgMCAxIDAgNjQgMGE2NCA2NCAwIDEgMCAwIDEyOHpcIl1cbn07XG52YXIgZmFIb3RUdWIgPSBmYUhvdFR1YlBlcnNvbjtcbnZhciBmYU1hcExvY2F0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hcC1sb2NhdGlvbicsXG4gIGljb246IFs1NzYsIDUxMiwgW1wibWFwLW1hcmtlZFwiXSwgXCJmNTlmXCIsIFwiTTMwMi44IDMxMkMzMzQuOSAyNzEuOSA0MDggMTc0LjYgNDA4IDEyMEM0MDggNTMuNyAzNTQuMyAwIDI4OCAwUzE2OCA1My43IDE2OCAxMjBjMCA1NC42IDczLjEgMTUxLjkgMTA1LjIgMTkyYzcuNyA5LjYgMjIgOS42IDI5LjYgMHpNNDE2IDUwM2wxNDQuOS01OGM5LjEtMy42IDE1LjEtMTIuNSAxNS4xLTIyLjNWMTUyYzAtMTctMTcuMS0yOC42LTMyLjktMjIuM2wtMTE2IDQ2LjRjLS41IDEuMi0xIDIuNS0xLjUgMy43Yy0yLjkgNi44LTYuMSAxMy43LTkuNiAyMC42VjUwM3pNMTUuMSAxODcuM0M2IDE5MSAwIDE5OS44IDAgMjA5LjZWNDgwLjRjMCAxNyAxNy4xIDI4LjYgMzIuOSAyMi4zTDE2MCA0NTEuOFYyMDAuNGMtMy41LTYuOS02LjctMTMuOC05LjYtMjAuNmMtNS42LTEzLjItMTAuNC0yNy40LTEyLjgtNDEuNWwtMTIyLjYgNDl6TTM4NCAyNTVjLTIwLjUgMzEuMy00Mi4zIDU5LjYtNTYuMiA3N2MtMjAuNSAyNS42LTU5LjEgMjUuNi03OS42IDBjLTEzLjktMTcuNC0zNS43LTQ1LjctNTYuMi03N1Y0NDkuNGwxOTIgNTQuOVYyNTV6XCJdXG59O1xudmFyIGZhTWFwTWFya2VkID0gZmFNYXBMb2NhdGlvbjtcbnZhciBmYUhvdXNlRmxvb2RXYXRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1mbG9vZC13YXRlcicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTUwZVwiLCBcIk0zMDYuOCA2LjFDMjk1LjYtMiAyODAuNC0yIDI2OS4yIDYuMWwtMTc2IDEyOGMtMTEuMiA4LjItMTUuOSAyMi42LTExLjYgMzUuOFM5OC4xIDE5MiAxMTIgMTkyaDE2djczYzEuNyAxIDMuMyAyIDQuOSAzLjFjMTggMTIuNCA0MC4xIDIwLjMgNTkuMiAyMC4zYzIxLjEgMCA0Mi04LjUgNTkuMi0yMC4zYzIyLjEtMTUuNSA1MS42LTE1LjUgNzMuNyAwYzE4LjQgMTIuNyAzOS42IDIwLjMgNTkuMiAyMC4zYzE5IDAgNDEuMi03LjkgNTkuMi0yMC4zYzEuNS0xIDMtMiA0LjUtMi45bC0uMy03My4ySDQ2NGMxMy45IDAgMjYuMS04LjkgMzAuNC0yMi4xcy0uNC0yNy42LTExLjYtMzUuOGwtMTc2LTEyOHpNMjY5LjUgMzA5LjlDMjQ3IDMyNS40IDIxOS41IDMzNiAxOTIgMzM2Yy0yNi45IDAtNTUuMy0xMC44LTc3LjQtMjYuMWwwIDBjLTExLjktOC41LTI4LjEtNy44LTM5LjIgMS43Yy0xNC40IDExLjktMzIuNSAyMS01MC42IDI1LjJjLTE3LjIgNC0yNy45IDIxLjItMjMuOSAzOC40czIxLjIgMjcuOSAzOC40IDIzLjljMjQuNS01LjcgNDQuOS0xNi41IDU4LjItMjVDMTI2LjUgMzg5LjcgMTU5IDQwMCAxOTIgNDAwYzMxLjkgMCA2MC42LTkuOSA4MC40LTE4LjljNS44LTIuNyAxMS4xLTUuMyAxNS42LTcuN2M0LjUgMi40IDkuNyA1LjEgMTUuNiA3LjdjMTkuOCA5IDQ4LjUgMTguOSA4MC40IDE4LjljMzMgMCA2NS41LTEwLjMgOTQuNS0yNS44YzEzLjQgOC40IDMzLjcgMTkuMyA1OC4yIDI1YzE3LjIgNCAzNC40LTYuNyAzOC40LTIzLjlzLTYuNy0zNC40LTIzLjktMzguNGMtMTguMS00LjItMzYuMi0xMy4zLTUwLjYtMjUuMmMtMTEuMS05LjUtMjcuMy0xMC4xLTM5LjItMS43bDAgMEM0MzkuNCAzMjUuMiA0MTAuOSAzMzYgMzg0IDMzNmMtMjcuNSAwLTU1LTEwLjYtNzcuNS0yNi4xYy0xMS4xLTcuOS0yNS45LTcuOS0zNyAwek0zODQgNDQ4Yy0yNy41IDAtNTUtMTAuNi03Ny41LTI2LjFjLTExLjEtNy45LTI1LjktNy45LTM3IDBDMjQ3IDQzNy40IDIxOS41IDQ0OCAxOTIgNDQ4Yy0yNi45IDAtNTUuMy0xMC44LTc3LjQtMjYuMWwwIDBjLTExLjktOC41LTI4LjEtNy44LTM5LjIgMS43Yy0xNC40IDExLjktMzIuNSAyMS01MC42IDI1LjJjLTE3LjIgNC0yNy45IDIxLjItMjMuOSAzOC40czIxLjIgMjcuOSAzOC40IDIzLjljMjQuNS01LjcgNDQuOS0xNi41IDU4LjItMjVDMTI2LjUgNTAxLjcgMTU5IDUxMiAxOTIgNTEyYzMxLjkgMCA2MC42LTkuOSA4MC40LTE4LjljNS44LTIuNyAxMS4xLTUuMyAxNS42LTcuN2M0LjUgMi40IDkuNyA1LjEgMTUuNiA3LjdjMTkuOCA5IDQ4LjUgMTguOSA4MC40IDE4LjljMzMgMCA2NS41LTEwLjMgOTQuNS0yNS44YzEzLjQgOC40IDMzLjcgMTkuMyA1OC4yIDI1YzE3LjIgNCAzNC40LTYuNyAzOC40LTIzLjlzLTYuNy0zNC40LTIzLjktMzguNGMtMTguMS00LjItMzYuMi0xMy4zLTUwLjYtMjUuMmMtMTEuMS05LjQtMjcuMy0xMC4xLTM5LjItMS43bDAgMEM0MzkuNCA0MzcuMiA0MTAuOSA0NDggMzg0IDQ0OHpcIl1cbn07XG52YXIgZmFUcmVlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyZWUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjc3OTRdLCBcImYxYmJcIiwgXCJNMjEwLjYgNS45TDYyIDE2OS40Yy0zLjkgNC4yLTYgOS44LTYgMTUuNUM1NiAxOTcuNyA2Ni4zIDIwOCA3OS4xIDIwOEgxMDRMMzAuNiAyODEuNGMtNC4yIDQuMi02LjYgMTAtNi42IDE2QzI0IDMwOS45IDM0LjEgMzIwIDQ2LjYgMzIwSDgwTDUuNCA0MDkuNUMxLjkgNDEzLjcgMCA0MTkgMCA0MjQuNWMwIDEzIDEwLjUgMjMuNSAyMy41IDIzLjVIMTkydjMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWNDQ4SDQyNC41YzEzIDAgMjMuNS0xMC41IDIzLjUtMjMuNWMwLTUuNS0xLjktMTAuOC01LjQtMTVMMzY4IDMyMGgzMy40YzEyLjUgMCAyMi42LTEwLjEgMjIuNi0yMi42YzAtNi0yLjQtMTEuOC02LjYtMTZMMzQ0IDIwOGgyNC45YzEyLjcgMCAyMy4xLTEwLjMgMjMuMS0yMy4xYzAtNS43LTIuMS0xMS4zLTYtMTUuNUwyMzcuNCA1LjlDMjM0IDIuMSAyMjkuMSAwIDIyNCAwcy0xMCAyLjEtMTMuNCA1Ljl6XCJdXG59O1xudmFyIGZhQnJpZGdlTG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdicmlkZ2UtbG9jaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRjY1wiLCBcIk0zMiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMkg1NzZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJINTM2djY0aC04Yy02MS45IDAtMTEyIDUwLjEtMTEyIDExMnYyNC42Yy05LjkgNS44LTE4LjIgMTQuMS0yMy44IDI0LjFjLTE3LjYtMjAtNDMuNC0zMi43LTcyLjItMzIuN2MtNTMgMC05NiA0My05NiA5NnY2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkgxNjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjM4NGMwLTUzLTQzLTk2LTk2LTk2VjE2MGg3MlY5Nkg2NEM0Ni4zIDk2IDMyIDgxLjcgMzIgNjR6TTQwOCA5NnY2NGg4MFY5Nkg0MDh6bS00OCA2NFY5NkgyODB2NjRoODB6TTE1MiA5NnY2NGg4MFY5NkgxNTJ6TTUyOCAyNDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjQ4aDY0VjI3MmMwLTE3LjctMTQuMy0zMi0zMi0zMnptLTgwIDMyYzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODB2NDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMySDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMzUyYzAtMTcuNyAxNC4zLTMyIDMyLTMyVjI3MnpcIl1cbn07XG52YXIgZmFTYWNrRG9sbGFyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NhY2stZG9sbGFyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MTc2XSwgXCJmODFkXCIsIFwiTTMyMCA5NkgxOTJMMTQ0LjYgMjQuOUMxMzcuNSAxNC4yIDE0NS4xIDAgMTU3LjkgMEgzNTQuMWMxMi44IDAgMjAuNCAxNC4yIDEzLjMgMjQuOUwzMjAgOTZ6TTE5MiAxMjhIMzIwYzMuOCAyLjUgOC4xIDUuMyAxMyA4LjRDMzg5LjcgMTcyLjcgNTEyIDI1MC45IDUxMiA0MTZjMCA1My00MyA5Ni05NiA5Nkg5NmMtNTMgMC05Ni00My05Ni05NkMwIDI1MC45IDEyMi4zIDE3Mi43IDE3OSAxMzYuNGwwIDAgMCAwYzQuOC0zLjEgOS4yLTUuOSAxMy04LjR6bTg0IDg4YzAtMTEtOS0yMC0yMC0yMHMtMjAgOS0yMCAyMHYxNGMtNy42IDEuNy0xNS4yIDQuNC0yMi4yIDguNWMtMTMuOSA4LjMtMjUuOSAyMi44LTI1LjggNDMuOWMuMSAyMC4zIDEyIDMzLjEgMjQuNyA0MC43YzExIDYuNiAyNC43IDEwLjggMzUuNiAxNGwxLjcgLjVjMTIuNiAzLjggMjEuOCA2LjggMjggMTAuN2M1LjEgMy4yIDUuOCA1LjQgNS45IDguMmMuMSA1LTEuOCA4LTUuOSAxMC41Yy01IDMuMS0xMi45IDUtMjEuNCA0LjdjLTExLjEtLjQtMjEuNS0zLjktMzUuMS04LjVjLTIuMy0uOC00LjctMS42LTcuMi0yLjRjLTEwLjUtMy41LTIxLjggMi4yLTI1LjMgMTIuNnMyLjIgMjEuOCAxMi42IDI1LjNjMS45IC42IDQgMS4zIDYuMSAyLjFsMCAwIDAgMGM4LjMgMi45IDE3LjkgNi4yIDI4LjIgOC40VjQyNGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMFY0MTAuMmM4LTEuNyAxNi00LjUgMjMuMi05YzE0LjMtOC45IDI1LjEtMjQuMSAyNC44LTQ1Yy0uMy0yMC4zLTExLjctMzMuNC0yNC42LTQxLjZjLTExLjUtNy4yLTI1LjktMTEuNi0zNy4xLTE1bDAgMC0uNy0uMmMtMTIuOC0zLjktMjEuOS02LjctMjguMy0xMC41Yy01LjItMy4xLTUuMy00LjktNS4zLTYuN2MwLTMuNyAxLjQtNi41IDYuMi05LjNjNS40LTMuMiAxMy42LTUuMSAyMS41LTVjOS42IC4xIDIwLjIgMi4yIDMxLjIgNS4yYzEwLjcgMi44IDIxLjYtMy41IDI0LjUtMTQuMnMtMy41LTIxLjYtMTQuMi0yNC41Yy02LjUtMS43LTEzLjctMy40LTIxLjEtNC43VjIxNnpcIl1cbn07XG52YXIgZmFQZW5Ub1NxdWFyZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZW4tdG8tc3F1YXJlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJlZGl0XCJdLCBcImYwNDRcIiwgXCJNNDcxLjYgMjEuN2MtMjEuOS0yMS45LTU3LjMtMjEuOS03OS4yIDBMMzYyLjMgNTEuN2w5Ny45IDk3LjkgMzAuMS0zMC4xYzIxLjktMjEuOSAyMS45LTU3LjMgMC03OS4yTDQ3MS42IDIxLjd6bS0yOTkuMiAyMjBjLTYuMSA2LjEtMTAuOCAxMy42LTEzLjUgMjEuOWwtMjkuNiA4OC44Yy0yLjkgOC42LS42IDE4LjEgNS44IDI0LjZzMTUuOSA4LjcgMjQuNiA1LjhsODguOC0yOS42YzguMi0yLjcgMTUuNy03LjQgMjEuOS0xMy41TDQzNy43IDE3Mi4zIDMzOS43IDc0LjMgMTcyLjQgMjQxLjd6TTk2IDY0QzQzIDY0IDAgMTA3IDAgMTYwVjQxNmMwIDUzIDQzIDk2IDk2IDk2SDM1MmM1MyAwIDk2LTQzIDk2LTk2VjMyMGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMkg5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyaDk2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDk2elwiXVxufTtcbnZhciBmYUVkaXQgPSBmYVBlblRvU3F1YXJlO1xudmFyIGZhQ2FyU2lkZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXItc2lkZScsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODY2M10sIFwiZjVlNFwiLCBcIk0xNzEuMyA5NkgyMjR2OTZIMTExLjNsMzAuNC03NS45QzE0Ni41IDEwNCAxNTguMiA5NiAxNzEuMyA5NnpNMjcyIDE5MlY5Nmg4MS4yYzkuNyAwIDE4LjkgNC40IDI1IDEybDY3LjIgODRIMjcyem0yNTYuMiAxTDQyOC4yIDY4Yy0xOC4yLTIyLjgtNDUuOC0zNi03NS0zNkgxNzEuM2MtMzkuMyAwLTc0LjYgMjMuOS04OS4xIDYwLjNMNDAuNiAxOTYuNEMxNi44IDIwNS44IDAgMjI4LjkgMCAyNTZWMzY4YzAgMTcuNyAxNC4zIDMyIDMyIDMySDY1LjNjNy42IDQ1LjQgNDcuMSA4MCA5NC43IDgwczg3LjEtMzQuNiA5NC43LTgwSDM4NS4zYzcuNiA0NS40IDQ3LjEgODAgOTQuNyA4MHM4Ny4xLTM0LjYgOTQuNy04MEg2MDhjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzIwYzAtNjUuMi00OC44LTExOS0xMTEuOC0xMjd6TTQzNC43IDM2OGE0OCA0OCAwIDEgMSA5MC41IDMyIDQ4IDQ4IDAgMSAxIC05MC41LTMyek0xNjAgMzM2YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpcIl1cbn07XG52YXIgZmFTaGFyZU5vZGVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoYXJlLW5vZGVzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJzaGFyZS1hbHRcIl0sIFwiZjFlMFwiLCBcIk0zNTIgMjI0YzUzIDAgOTYtNDMgOTYtOTZzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmMwIDQgLjIgOCAuNyAxMS45bC05NC4xIDQ3QzE0NS40IDE3MC4yIDEyMS45IDE2MCA5NiAxNjBjLTUzIDAtOTYgNDMtOTYgOTZzNDMgOTYgOTYgOTZjMjUuOSAwIDQ5LjQtMTAuMiA2Ni42LTI2LjlsOTQuMSA0N2MtLjUgMy45LS43IDcuOC0uNyAxMS45YzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZzLTQzLTk2LTk2LTk2Yy0yNS45IDAtNDkuNCAxMC4yLTY2LjYgMjYuOWwtOTQuMS00N2MuNS0zLjkgLjctNy44IC43LTExLjlzLS4yLTgtLjctMTEuOWw5NC4xLTQ3QzMwMi42IDIxMy44IDMyNi4xIDIyNCAzNTIgMjI0elwiXVxufTtcbnZhciBmYVNoYXJlQWx0ID0gZmFTaGFyZU5vZGVzO1xudmFyIGZhSGVhcnRDaXJjbGVNaW51cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFydC1jaXJjbGUtbWludXMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0ZmZcIiwgXCJNNDcuNiAzMDAuNEwyMjguMyA0NjkuMWM3LjUgNyAxNy40IDEwLjkgMjcuNyAxMC45czIwLjItMy45IDI3LjctMTAuOWwyLjYtMi40QzI2Ny4yIDQzOC42IDI1NiA0MDQuNiAyNTYgMzY4YzAtOTcuMiA3OC44LTE3NiAxNzYtMTc2YzI4LjMgMCA1NSA2LjcgNzguNyAxOC41Yy45LTYuNSAxLjMtMTMgMS4zLTE5LjZ2LTUuOGMwLTY5LjktNTAuNS0xMjkuNS0xMTkuNC0xNDFDMzQ3IDM2LjUgMzAwLjYgNTEuNCAyNjggODRMMjU2IDk2IDI0NCA4NGMtMzIuNi0zMi42LTc5LTQ3LjUtMTI0LjYtMzkuOUM1MC41IDU1LjYgMCAxMTUuMiAwIDE4NS4xdjUuOGMwIDQxLjUgMTcuMiA4MS4yIDQ3LjYgMTA5LjV6TTU3NiAzNjhhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTY0IDBjMCA4LjgtNy4yIDE2LTE2IDE2SDM2OGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNkg0OTZjOC44IDAgMTYgNy4yIDE2IDE2elwiXVxufTtcbnZhciBmYUhvdXJnbGFzc0hhbGYgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91cmdsYXNzLWhhbGYnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImhvdXJnbGFzcy0yXCJdLCBcImYyNTJcIiwgXCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJTMTQuMyA2NCAzMiA2NFY3NWMwIDQyLjQgMTYuOSA4My4xIDQ2LjkgMTEzLjFMMTQ2LjcgMjU2IDc4LjkgMzIzLjlDNDguOSAzNTMuOSAzMiAzOTQuNiAzMiA0Mzd2MTFjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINjQgMzIwaDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyVjQzN2MwLTQyLjQtMTYuOS04My4xLTQ2LjktMTEzLjFMMjM3LjMgMjU2bDY3LjktNjcuOWMzMC0zMCA0Ni45LTcwLjcgNDYuOS0xMTMuMVY2NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMjAgNjQgMzJ6TTk2IDc1VjY0SDI4OFY3NWMwIDE5LTUuNiAzNy40LTE2IDUzSDExMmMtMTAuMy0xNS42LTE2LTM0LTE2LTUzem0xNiAzMDljMy41LTUuMyA3LjYtMTAuMyAxMi4xLTE0LjlMMTkyIDMwMS4zbDY3LjkgNjcuOWM0LjYgNC42IDguNiA5LjYgMTIuMSAxNC45SDExMnpcIl1cbn07XG52YXIgZmFIb3VyZ2xhc3MyID0gZmFIb3VyZ2xhc3NIYWxmO1xudmFyIGZhTWljcm9zY29wZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtaWNyb3Njb3BlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MzAwXSwgXCJmNjEwXCIsIFwiTTE2MCAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMmgzMmMxNy43IDAgMzIgMTQuMyAzMiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMlYyODhjMCAxNy43LTE0LjMgMzItMzIgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJIMTkyYy0xNy43IDAtMzItMTQuMy0zMi0zMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTMyIDQ0OEgzMjBjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhzLTU3LjMtMTI4LTEyOC0xMjhWMTI4YzEwNiAwIDE5MiA4NiAxOTIgMTkyYzAgNDkuMi0xOC41IDk0LTQ4LjkgMTI4SDQ4MGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMjAgMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTgwLTY0SDMwNGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgxMTJjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6XCJdXG59O1xudmFyIGZhU2luayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaW5rJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMDZkXCIsIFwiTTI4OCA5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyczE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NlYyODhIMTYwVjI2NGMwLTMwLjktMjUuMS01Ni01Ni01Nkg1NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGg0OGM0LjQgMCA4IDMuNiA4IDh2MjRIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJIMjU2IDQ4MGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg0MDBWMjY0YzAtNC40IDMuNi04IDgtOGg1NmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEg0MDhjLTMwLjkgMC01NiAyNS4xLTU2IDU2djI0SDI4OFY5NnpNNDgwIDQxNlYzODRIMzJ2MzJjMCA1MyA0MyA5NiA5NiA5NkgzODRjNTMgMCA5Ni00MyA5Ni05NnpcIl1cbn07XG52YXIgZmFCYWdTaG9wcGluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYWctc2hvcHBpbmcnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcInNob3BwaW5nLWJhZ1wiXSwgXCJmMjkwXCIsIFwiTTE2MCAxMTJjMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NHY0OEgxNjBWMTEyem0tNDggNDhINDhjLTI2LjUgMC00OCAyMS41LTQ4IDQ4VjQxNmMwIDUzIDQzIDk2IDk2IDk2SDM1MmM1MyAwIDk2LTQzIDk2LTk2VjIwOGMwLTI2LjUtMjEuNS00OC00OC00OEgzMzZWMTEyQzMzNiA1MC4xIDI4NS45IDAgMjI0IDBTMTEyIDUwLjEgMTEyIDExMnY0OHptMjQgNDhhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0xNTIgMjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpcIl1cbn07XG52YXIgZmFTaG9wcGluZ0JhZyA9IGZhQmFnU2hvcHBpbmc7XG52YXIgZmFBcnJvd0Rvd25aQSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1kb3duLXotYScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wic29ydC1hbHBoYS1kZXNjXCIsIFwic29ydC1hbHBoYS1kb3duLWFsdFwiXSwgXCJmODgxXCIsIFwiTTE4My42IDQ2OS42QzE3Ny41IDQ3Ni4yIDE2OSA0ODAgMTYwIDQ4MHMtMTcuNS0zLjgtMjMuNi0xMC40bC04OC05NmMtMTEuOS0xMy0xMS4xLTMzLjMgMi00NS4yczMzLjMtMTEuMSA0NS4yIDJMMTI4IDM2NS43VjY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJWMzY1LjdsMzIuNC0zNS40YzExLjktMTMgMzIuMi0xMy45IDQ1LjItMnMxMy45IDMyLjIgMiA0NS4ybC04OCA5NnpNMzIwIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMySDQ4MGMxMi45IDAgMjQuNiA3LjggMjkuNiAxOS44czIuMiAyNS43LTYuOSAzNC45TDQyOS4zIDE2MEg0ODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzUyYy0xMi45IDAtMjQuNi03LjgtMjkuNi0xOS44cy0yLjItMjUuNyA2LjktMzQuOUw0MDIuNyA5NkgzNTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyem05NiAxOTJjMTIuMSAwIDIzLjIgNi44IDI4LjYgMTcuN2w2NCAxMjggMTYgMzJjNy45IDE1LjggMS41IDM1LTE0LjMgNDIuOXMtMzUgMS41LTQyLjktMTQuM0w0NjAuMiA0NDhIMzcxLjhsLTcuMiAxNC4zYy03LjkgMTUuOC0yNy4xIDIyLjItNDIuOSAxNC4zcy0yMi4yLTI3LjEtMTQuMy00Mi45bDE2LTMyIDY0LTEyOGM1LjQtMTAuOCAxNi41LTE3LjcgMjguNi0xNy43ek0zOTUuOCA0MDBoNDAuNEw0MTYgMzU5LjYgMzk1LjggNDAwelwiXVxufTtcbnZhciBmYVNvcnRBbHBoYURlc2MgPSBmYUFycm93RG93blpBO1xudmFyIGZhU29ydEFscGhhRG93bkFsdCA9IGZhQXJyb3dEb3duWkE7XG52YXIgZmFNaXR0ZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWl0dGVuJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmN2I1XCIsIFwiTTM1MiAzODRINjRMNS40IDE3OC45QzEuOCAxNjYuNCAwIDE1My40IDAgMTQwLjNDMCA2Mi44IDYyLjggMCAxNDAuMyAwaDMuNGM2NiAwIDEyMy41IDQ0LjkgMTM5LjUgMTA4LjlsMzEuNCAxMjUuOCAxNy42LTIwLjFDMzQ0LjggMjAwLjIgMzYyLjkgMTkyIDM4MiAxOTJoMi44YzM0LjkgMCA2My4zIDI4LjMgNjMuMyA2My4zYzAgMTUuOS02IDMxLjItMTYuOCA0Mi45TDM1MiAzODR6TTMyIDQ0OGMwLTE3LjcgMTQuMy0zMiAzMi0zMkgzNTJjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2MzJjMCAxNy43LTE0LjMgMzItMzIgMzJINjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjQ0OHpcIl1cbn07XG52YXIgZmFQZXJzb25SYXlzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1yYXlzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTRkXCIsIFwiTTIwOCA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem00MCAzMDRWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjI1Ni45bC0yOC42IDQ3LjVjLTkuMSAxNS4xLTI4LjggMjAtNDMuOSAxMC45cy0yMC0yOC44LTEwLjktNDMuOWw1OC4zLTk3YzE3LjQtMjguOSA0OC42LTQ2LjYgODIuMy00Ni42aDI5LjdjMzMuNyAwIDY0LjkgMTcuNyA4Mi4zIDQ2LjZsNTguMyA5N2M5LjEgMTUuMSA0LjIgMzQuOC0xMC45IDQzLjlzLTM0LjggNC4yLTQzLjktMTAuOUwzMjggMjU2LjlWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjM1MkgyNDh6TTcgN0MxNi40LTIuMyAzMS42LTIuMyA0MSA3bDgwIDgwYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBMNyA0MUMtMi4zIDMxLjYtMi4zIDE2LjQgNyA3ek00NzEgN2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTgwIDgwYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45TDQ3MSA3ek03IDUwNWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsODAtODBjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45TDQxIDUwNWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDB6bTQ2NCAwbC04MC04MGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDgwIDgwYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDB6XCJdXG59O1xudmFyIGZhVXNlcnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlcnMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImYwYzBcIiwgXCJNMTQ0IDBhODAgODAgMCAxIDEgMCAxNjBBODAgODAgMCAxIDEgMTQ0IDB6TTUxMiAwYTgwIDgwIDAgMSAxIDAgMTYwQTgwIDgwIDAgMSAxIDUxMiAwek0wIDI5OC43QzAgMjM5LjggNDcuOCAxOTIgMTA2LjcgMTkyaDQyLjdjMTUuOSAwIDMxIDMuNSA0NC42IDkuN2MtMS4zIDcuMi0xLjkgMTQuNy0xLjkgMjIuM2MwIDM4LjIgMTYuOCA3Mi41IDQzLjMgOTZjLS4yIDAtLjQgMC0uNyAwSDIxLjNDOS42IDMyMCAwIDMxMC40IDAgMjk4Ljd6TTQwNS4zIDMyMGMtLjIgMC0uNCAwLS43IDBjMjYuNi0yMy41IDQzLjMtNTcuOCA0My4zLTk2YzAtNy42LS43LTE1LTEuOS0yMi4zYzEzLjYtNi4zIDI4LjctOS43IDQ0LjYtOS43aDQyLjdDNTkyLjIgMTkyIDY0MCAyMzkuOCA2NDAgMjk4LjdjMCAxMS44LTkuNiAyMS4zLTIxLjMgMjEuM0g0MDUuM3pNMjI0IDIyNGE5NiA5NiAwIDEgMSAxOTIgMCA5NiA5NiAwIDEgMSAtMTkyIDB6TTEyOCA0ODUuM0MxMjggNDExLjcgMTg3LjcgMzUyIDI2MS4zIDM1MkgzNzguN0M0NTIuMyAzNTIgNTEyIDQxMS43IDUxMiA0ODUuM2MwIDE0LjctMTEuOSAyNi43LTI2LjcgMjYuN0gxNTQuN2MtMTQuNyAwLTI2LjctMTEuOS0yNi43LTI2Ljd6XCJdXG59O1xudmFyIGZhRXllU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZXllLXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmMDcwXCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdMNTI1LjYgMzg2LjdjMzkuNi00MC42IDY2LjQtODYuMSA3OS45LTExOC40YzMuMy03LjkgMy4zLTE2LjcgMC0yNC42Yy0xNC45LTM1LjctNDYuMi04Ny43LTkzLTEzMS4xQzQ2NS41IDY4LjggNDAwLjggMzIgMzIwIDMyYy02OC4yIDAtMTI1IDI2LjMtMTY5LjMgNjAuOEwzOC44IDUuMXpNMjIzLjEgMTQ5LjVDMjQ4LjYgMTI2LjIgMjgyLjcgMTEyIDMyMCAxMTJjNzkuNSAwIDE0NCA2NC41IDE0NCAxNDRjMCAyNC45LTYuMyA0OC4zLTE3LjQgNjguN0w0MDggMjk0LjVjOC40LTE5LjMgMTAuNi00MS40IDQuOC02My4zYy0xMS4xLTQxLjUtNDcuOC02OS40LTg4LjYtNzEuMWMtNS44LS4yLTkuMiA2LjEtNy40IDExLjdjMi4xIDYuNCAzLjMgMTMuMiAzLjMgMjAuM2MwIDEwLjItMi40IDE5LjgtNi42IDI4LjNsLTkwLjMtNzAuOHpNMzczIDM4OS45Yy0xNi40IDYuNS0zNC4zIDEwLjEtNTMgMTAuMWMtNzkuNSAwLTE0NC02NC41LTE0NC0xNDRjMC02LjkgLjUtMTMuNiAxLjQtMjAuMkw4My4xIDE2MS41QzYwLjMgMTkxLjIgNDQgMjIwLjggMzQuNSAyNDMuN2MtMy4zIDcuOS0zLjMgMTYuNyAwIDI0LjZjMTQuOSAzNS43IDQ2LjIgODcuNyA5MyAxMzEuMUMxNzQuNSA0NDMuMiAyMzkuMiA0ODAgMzIwIDQ4MGM0Ny44IDAgODkuOS0xMi45IDEyNi4yLTMyLjVMMzczIDM4OS45elwiXVxufTtcbnZhciBmYUZsYXNrVmlhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmbGFzay12aWFsJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGYzXCIsIFwiTTE3NSAzODkuNGMtOS44IDE2LTE1IDM0LjMtMTUgNTMuMWMtMTAgMy41LTIwLjggNS41LTMyIDUuNWMtNTMgMC05Ni00My05Ni05NlY2NEMxNC4zIDY0IDAgNDkuNyAwIDMyUzE0LjMgMCAzMiAwSDk2aDY0IDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyVjMwOS45bC00OSA3OS42ek05NiA2NHY5Nmg2NFY2NEg5NnpNMzUyIDBINDgwaDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyVjIxNC45TDYyOS43IDQwNi4yYzYuNyAxMC45IDEwLjMgMjMuNSAxMC4zIDM2LjRjMCAzOC4zLTMxLjEgNjkuNC02OS40IDY5LjRIMjYxLjRjLTM4LjMgMC02OS40LTMxLjEtNjkuNC02OS40YzAtMTIuOCAzLjYtMjUuNCAxMC4zLTM2LjRMMzIwIDIxNC45VjY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyaDMyem0zMiA2NFYyMjRjMCA1LjktMS42IDExLjctNC43IDE2LjhMMzMwLjUgMzIwaDE3MWwtNDguOC03OS4yYy0zLjEtNS00LjctMTAuOC00LjctMTYuOFY2NEgzODR6XCJdXG59O1xudmFyIGZhSGFuZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5MzA2LCA5OTk1LCBcImhhbmQtcGFwZXJcIl0sIFwiZjI1NlwiLCBcIk0yODggMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWMjQwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjMzNmMwIDEuNSAwIDMuMSAuMSA0LjZMNjcuNiAyODNjLTE2LTE1LjItNDEuMy0xNC42LTU2LjYgMS40cy0xNC42IDQxLjMgMS40IDU2LjZMMTI0LjggNDQ4YzQzLjEgNDEuMSAxMDAuNCA2NCAxNjAgNjRIMzA0Yzk3LjIgMCAxNzYtNzguOCAxNzYtMTc2VjEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlYyNDBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWMjQwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjMyelwiXVxufTtcbnZhciBmYUhhbmRQYXBlciA9IGZhSGFuZDtcbnZhciBmYU9tID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ29tJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MzI5XSwgXCJmNjc5XCIsIFwiTTM3OS4zIDQuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBsLTE2IDE2Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNmwxNiAxNmM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGwxNi0xNmM2LjItNi4yIDYuMi0xNi40IDAtMjIuNmwtMTYtMTZ6TTI4MSA2Ni43Yy0yLjItMS41LTQuOS0yLjUtNy43LTIuN2MtLjYgMC0xLjMtLjEtMS45IDBjLTMuOSAuMi03LjQgMS43LTEwLjEgNC4yYy0uOSAuOC0xLjYgMS43LTIuMyAyLjZjLTEuNyAyLjQtMi43IDUuMy0yLjkgOC41YzAgLjcgMCAxLjQgMCAyLjFjLjIgMi4yIC45IDQuMyAxLjkgNi4ybC4zIC42Yy4zIC42IC44IDEuNCAxLjQgMi40YzEuMiAyIDIuOSA0LjggNS4xIDguMmM0LjQgNi43IDExLjEgMTUuNSAyMCAyNC40QzMwMi40IDE0MS4xIDMzMC4zIDE2MCAzNjggMTYwYzMxLjIgMCA1Ni42LTEwLjQgNzMuOS0yMC4yYzguNy01IDE1LjYtOS45IDIwLjQtMTMuOGMyLjQtMS45IDQuMy0zLjYgNS43LTQuOWMuNy0uNiAxLjMtMS4yIDEuNy0xLjZsLjYtLjUgLjEtLjEgLjEtLjEgMCAwIDAgMGM1LjktNS44IDkuNS0xMy45IDkuNS0yMi44YzAtMTcuNy0xNC4zLTMyLTMyLTMyYy04LjcgMC0xNi43IDMuNS0yMi40IDkuMmMtLjEgLjEtLjIgLjItLjUgLjRjLS41IC41LTEuNSAxLjMtMi44IDIuNGMtMi43IDIuMi02LjggNS4yLTEyLjEgOC4yQzM5OS40IDkwLjQgMzg0LjggOTYgMzY4IDk2Yy0yMC44IDAtNDIuNC03LTU5LjUtMTQuNmMtOC40LTMuNy0xNS40LTcuNS0yMC4zLTEwLjNjLTIuNC0xLjQtNC4zLTIuNS01LjYtMy4zYy0uNi0uNC0xLjEtLjctMS40LS45bC0uMy0uMnpNMTE1LjIgMTY5LjZjOC02IDE3LjktOS42IDI4LjgtOS42YzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4SDEwOS44Yy03LjYgMC0xMy44IDYuMi0xMy44IDEzLjhjMCAxLjUgLjIgMi45IC43IDQuNGw4IDI0YzQuNCAxMy4xIDE2LjYgMjEuOSAzMC40IDIxLjlIMTQ0aDE2YzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0Yy01MC44IDAtODIuNy0yMS41LTEwMi4yLTQyLjhjLTkuOS0xMC44LTE2LjYtMjEuNi0yMC45LTI5LjdjLTIuMS00LTMuNi03LjMtNC41LTkuNmMtLjUtMS4xLS44LTItMS0yLjVsLS4yLS41Yy0uMy0uOS0uNy0xLjgtMS4xLTIuNmMtMS4yLTIuMi0yLjgtNC00LjctNS40Yy0xLjktMS40LTQuMS0yLjMtNi41LTIuOGMtMS40LS4zLTIuOS0uMy00LjQtLjJjLTIuNSAuMi00LjggMS02LjggMi4zYy0xLjEgLjctMi4yIDEuNS0zLjEgMi41Yy0yLjQgMi41LTQuMSA1LjgtNC41IDkuNWMtLjEgLjYtLjEgMS4xLS4xIDEuN2MwIDAgMCAwIDAgMGMwIC44IC4xIDEuNyAuMiAyLjVsMCAuMWMwIC4zIC4xIC44IC4yIDEuM2MuMiAxLjEgLjQgMi43IC44IDQuNmMuOCAzLjkgMiA5LjQgMy45IDE1LjljMy44IDEzIDEwLjMgMzAuNCAyMS4zIDQ4QzQ4LjcgNDc2LjIgODkuNCA1MTIgMTYwIDUxMmM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOGMwLTIzLjMtNi4yLTQ1LjItMTcuMS02NGgyMi42YzI1LjUgMCA0OS45LTEwLjEgNjcuOS0yOC4xbDI2LjUtMjYuNWM2LTYgMTQuMS05LjQgMjIuNi05LjRINDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMydjk2YzAgMTcuNy0xNC4zIDMyLTMyIDMyYy0yNS43IDAtNDEuNC0xMi41LTUxLjItMjUuNmMtNS02LjctOC40LTEzLjQtMTAuNS0xOC42Yy0xLjEtMi41LTEuOC00LjYtMi4yLTZjLS4yLS43LS40LTEuMi0uNS0xLjVsLS4xLS4yYy0uMy0xLjMtLjgtMi42LTEuNS0zLjhjLTEuMS0yLTIuNi0zLjgtNC40LTUuMWMtMi43LTItNi0zLjItOS42LTMuMmwtLjIgMGMtOCAuMS0xNC42IDYuMS0xNS42IDEzLjlsMCAwYzAgLjMtLjEgLjYtLjIgMS4xYy0uMSAuOS0uMyAyLjEtLjQgMy42Yy0uMyAzLS42IDcuMy0uNiAxMi40YzAgMTAuMSAxLjEgMjMuOSA1LjggMzguMWM0LjggMTQuMyAxMy40IDI5LjMgMjguNiA0MC43QzM2OC43IDQ3My4zIDM4OS4zIDQ4MCA0MTYgNDgwYzUzIDAgOTYtNDMgOTYtOTZWMjg4YzAtNTMtNDMtOTYtOTYtOTZoLTUuNWMtMjUuNSAwLTQ5LjkgMTAuMS02Ny45IDI4LjFsLTI2LjUgMjYuNWMtNiA2LTE0LjEgOS40LTIyLjYgOS40SDI0NS4yYzYuOS0xNC41IDEwLjgtMzAuOCAxMC44LTQ4YzAtNjEuOS01MC4xLTExMi0xMTItMTEyYy0yNS4yIDAtNDguNSA4LjMtNjcuMiAyMi40Yy0xNC4xIDEwLjYtMTcgMzAuNy02LjQgNDQuOHMzMC43IDE3IDQ0LjggNi40elwiXVxufTtcbnZhciBmYVdvcm0gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd29ybScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTU5OVwiLCBcIk0yNTYgOTZjMC01MyA0My05NiA5Ni05NmgzOC40QzQzOS45IDAgNDgwIDQwLjEgNDgwIDg5LjZWMTc2djE2VjM3NmMwIDc1LjEtNjAuOSAxMzYtMTM2IDEzNnMtMTM2LTYwLjktMTM2LTEzNlYyOTZjMC0yMi4xLTE3LjktNDAtNDAtNDBzLTQwIDE3LjktNDAgNDBWNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4VjI5NmMwLTc1LjEgNjAuOS0xMzYgMTM2LTEzNnMxMzYgNjAuOSAxMzYgMTM2djgwYzAgMjIuMSAxNy45IDQwIDQwIDQwczQwLTE3LjkgNDAtNDBWMTkySDM1MmMtNTMgMC05Ni00My05Ni05NnptMTQ0LThhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpcIl1cbn07XG52YXIgZmFIb3VzZUNpcmNsZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLWNpcmNsZS14bWFyaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUwYlwiLCBcIk0zMjAuNyAzNTJjOC4xLTg5LjcgODMuNS0xNjAgMTc1LjMtMTYwYzguOSAwIDE3LjYgLjcgMjYuMSAxLjlMMzA5LjUgN2MtNi01LTE0LTctMjEtN3MtMTUgMS0yMiA4TDEwIDIzMS41Yy03IDctMTAgMTUtMTAgMjRjMCAxOCAxNCAzMi4xIDMyIDMyLjFoMzJ2NjkuN2MtLjEgLjktLjEgMS44LS4xIDIuOFY0NzJjMCAyMi4xIDE3LjkgNDAgNDAgNDBoMTZjMS4yIDAgMi40LS4xIDMuNi0uMmMxLjUgLjEgMyAuMiA0LjUgLjJIMTYwaDI0YzIyLjEgMCA0MC0xNy45IDQwLTQwVjQ0OCAzODRjMC0xNy43IDE0LjMtMzIgMzItMzJoNjRsLjcgMHpNNDk2IDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTU5LjMtMTgwLjdMNTE4LjYgMzY4bDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwTDQ5NiAzOTAuNmwtMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42TDQ3My40IDM2OGwtMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDk2IDM0NS40bDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6XCJdXG59O1xudmFyIGZhUGx1ZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwbHVnJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI4MjY4XSwgXCJmMWU2XCIsIFwiTTk2IDBDNzguMyAwIDY0IDE0LjMgNjQgMzJ2OTZoNjRWMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6TTI4OCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnY5Nmg2NFYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMzIgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMydjMyYzAgNzcuNCA1NSAxNDIgMTI4IDE1Ni44VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjQxMi44QzI5NyAzOTggMzUyIDMzMy40IDM1MiAyNTZWMjI0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDMyelwiXVxufTtcbnZhciBmYUNoZXZyb25VcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGV2cm9uLXVwJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMDc3XCIsIFwiTTIzMy40IDEwNS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDE5MiAxOTJjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMjU2IDE3My4zIDg2LjYgMzQyLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDE5Mi0xOTJ6XCJdXG59O1xudmFyIGZhSGFuZFNwb2NrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtc3BvY2snLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjg0MDZdLCBcImYyNTlcIiwgXCJNMjQ2LjkgMjMuN0MyNDIuMyA2LjYgMjI0LjgtMy41IDIwNy43IDEuMXMtMjcuMiAyMi4xLTIyLjYgMzkuMkwyMzggMjM3LjhjMi41IDkuMi00LjUgMTguMi0xNCAxOC4yYy02LjQgMC0xMi00LjItMTMuOS0xMC4zTDE2Ni42IDEwMi43Yy01LjEtMTYuOS0yMy0yNi40LTM5LjktMjEuM3MtMjYuNCAyMy0yMS4zIDM5LjlsNjIuOCAyMDYuNGMyLjQgNy45LTcuMiAxMy44LTEzLjIgOC4xTDk5LjYgMjgzYy0xNi0xNS4yLTQxLjMtMTQuNi01Ni42IDEuNHMtMTQuNiA0MS4zIDEuNCA1Ni42TDE1Ni44IDQ0OGM0My4xIDQxLjEgMTAwLjQgNjQgMTYwIDY0aDEwLjkgOC4yYy4xIDAgLjEtLjEgLjEtLjFzLjEtLjEgLjEtLjFjNTguMy0zLjUgMTA4LjYtNDMuMiAxMjUuMy05OS43bDgxLjItMjc1YzUtMTYuOS00LjctMzQuNy0yMS42LTM5LjhzLTM0LjcgNC43LTM5LjggMjEuNkw0NDMuNSAyNDcuMWMtMS42IDUuMy02LjQgOC45LTEyIDguOWMtNy45IDAtMTMuOC03LjMtMTIuMi0xNS4xbDM2LTE3MC4zYzMuNy0xNy4zLTcuNC0zNC4zLTI0LjctMzcuOXMtMzQuMyA3LjQtMzcuOSAyNC43TDM1NS4xIDIzNS4xYy0yLjYgMTIuMi0xMy4zIDIwLjktMjUuOCAyMC45Yy0xMS45IDAtMjIuNC04LTI1LjQtMTkuNWwtNTctMjEyLjh6XCJdXG59O1xudmFyIGZhU3RvcHdhdGNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0b3B3YXRjaCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzkyMDFdLCBcImYyZjJcIiwgXCJNMTc2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoMTZWOTguNEM5Mi4zIDExMy44IDE2IDIwMCAxNiAzMDRjMCAxMTQuOSA5My4xIDIwOCAyMDggMjA4czIwOC05My4xIDIwOC0yMDhjMC00MS44LTEyLjMtODAuNy0zMy41LTExMy4ybDI0LjEtMjQuMWMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwzNTUuNyAxNDNjLTI4LjEtMjMtNjIuMi0zOC44LTk5LjctNDQuNlY2NGgxNmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgyMjQgMTc2em03MiAxOTJWMzIwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0VjE5MmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0elwiXVxufTtcbnZhciBmYUZhY2VLaXNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2Uta2lzcycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODUzNSwgXCJraXNzXCJdLCBcImY1OTZcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6bTQ4LjctMTk4LjNjNC4zIDUuMSA3LjMgMTEuNCA3LjMgMTguM3MtMy4xIDEzLjItNy4zIDE4LjNjLTQuMyA1LjItMTAuMSA5LjctMTYuNyAxMy40Yy0yLjcgMS41LTUuNyAzLTguNyA0LjNjMy4xIDEuMyA2IDIuNyA4LjcgNC4zYzYuNiAzLjcgMTIuNSA4LjIgMTYuNyAxMy40YzQuMyA1LjEgNy4zIDExLjQgNy4zIDE4LjNzLTMuMSAxMy4yLTcuMyAxOC4zYy00LjMgNS4yLTEwLjEgOS43LTE2LjcgMTMuNEMyNzQuNyA0NDMuMSAyNTcuNCA0NDggMjQwIDQ0OGMtMy42IDAtNi44LTIuNS03LjctNnMuNi03LjIgMy44LTlsMCAwIDAgMCAwIDAgMCAwIC4yLS4xYy4yLS4xIC41LS4zIC45LS41Yy44LS41IDItMS4yIDMuNC0yLjFjMi44LTEuOSA2LjUtNC41IDEwLjItNy42YzMuNy0zLjEgNy4yLTYuNiA5LjYtMTAuMWMyLjUtMy41IDMuNS02LjQgMy41LTguNnMtMS01LTMuNS04LjZjLTIuNS0zLjUtNS45LTYuOS05LjYtMTAuMWMtMy43LTMuMS03LjQtNS43LTEwLjItNy42Yy0xLjQtLjktMi42LTEuNi0zLjQtMi4xYy0uNC0uMi0uNy0uNC0uOS0uNWwtLjItLjEgMCAwIDAgMCAwIDBjLTIuNS0xLjQtNC4xLTQuMS00LjEtN3MxLjYtNS42IDQuMS03bDAgMCAwIDAgMCAwIDAgMCAwIDAgLjItLjEgLjMtLjIgLjYtLjRjLjgtLjUgMi0xLjIgMy40LTIuMWMyLjgtMS45IDYuNS00LjUgMTAuMi03LjZjMy43LTMuMSA3LjItNi42IDkuNi0xMC4xYzIuNS0zLjUgMy41LTYuNCAzLjUtOC42cy0xLTUtMy41LTguNmMtMi41LTMuNS01LjktNi45LTkuNi0xMC4xYy0zLjctMy4xLTcuNC01LjctMTAuMi03LjZjLTEuNC0uOS0yLjYtMS42LTMuNC0yLjFsLS40LS4zLS41LS4zLS4yLS4xIDAgMCAwIDAgMCAwYy0zLjItMS44LTQuNy01LjUtMy44LTlzNC4xLTYgNy43LTZjMTcuNCAwIDM0LjcgNC45IDQ3LjkgMTIuM2M2LjYgMy43IDEyLjUgOC4yIDE2LjcgMTMuNHpNMTQ0LjQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhS2lzcyA9IGZhRmFjZUtpc3M7XG52YXIgZmFCcmlkZ2VDaXJjbGVYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdicmlkZ2UtY2lyY2xlLXhtYXJrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGNiXCIsIFwiTTY0IDMyQzQ2LjMgMzIgMzIgNDYuMyAzMiA2NHMxNC4zIDMyIDMyIDMyaDQwdjY0SDMyVjI4OGM1MyAwIDk2IDQzIDk2IDk2djY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyaDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM4NGMwLTUzIDQzLTk2IDk2LTk2YzYuMyAwIDEyLjQgLjYgMTguMyAxLjdDMzY3LjEgMjMxLjggNDI2LjkgMTkyIDQ5NiAxOTJjNDIuNSAwIDgxLjYgMTUuMSAxMTIgNDAuMlYxNjBINTM2Vjk2aDQwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDY0ek00ODggOTZ2NjRINDA4Vjk2aDgwek0zNjAgOTZ2NjRIMjgwVjk2aDgwek0yMzIgOTZ2NjRIMTUyVjk2aDgwek00OTYgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptNTkuMy0xODAuN0w1MTguNiAzNjhsMzYuNyAzNi43YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBMNDk2IDM5MC42bC0zNi43IDM2LjdjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZMNDczLjQgMzY4bC0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMEw0OTYgMzQ1LjRsMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnpcIl1cbn07XG52YXIgZmFGYWNlR3JpblRvbmd1ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWdyaW4tdG9uZ3VlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTM5LCBcImdyaW4tdG9uZ3VlXCJdLCBcImY1ODlcIiwgXCJNMCAyNTZDMCAzNjguOSA3My4xIDQ2NC43IDE3NC41IDQ5OC44QzE2NS4zIDQ4NCAxNjAgNDY2LjYgMTYwIDQ0OFY0MDAuN2MtMjQtMTcuNS00My4xLTQxLjQtNTQuOC02OS4yYy01LTExLjggNy0yMi41IDE5LjMtMTguN2MzOS43IDEyLjIgODQuNSAxOSAxMzEuOCAxOXM5Mi4xLTYuOCAxMzEuOC0xOWMxMi4zLTMuOCAyNC4zIDYuOSAxOS4zIDE4LjdjLTExLjggMjgtMzEuMSA1Mi01NS40IDY5LjZWNDQ4YzAgMTguNi01LjMgMzYtMTQuNSA1MC44QzQzOC45IDQ2NC43IDUxMiAzNjguOSA1MTIgMjU2QzUxMiAxMTQuNiAzOTcuNCAwIDI1NiAwUzAgMTE0LjYgMCAyNTZ6bTE3Ni40LTgwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTMyMCA0NDhWNDAyLjZjMC0xNC43LTExLjktMjYuNi0yNi42LTI2LjZoLTJjLTExLjMgMC0yMS4xIDcuOS0yMy42IDE4LjljLTIuOCAxMi42LTIwLjggMTIuNi0yMy42IDBjLTIuNS0xMS4xLTEyLjMtMTguOS0yMy42LTE4LjloLTJjLTE0LjcgMC0yNi42IDExLjktMjYuNiAyNi42VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0elwiXVxufTtcbnZhciBmYUdyaW5Ub25ndWUgPSBmYUZhY2VHcmluVG9uZ3VlO1xudmFyIGZhQ2hlc3NCaXNob3AgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hlc3MtYmlzaG9wJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbOTgyMV0sIFwiZjQzYVwiLCBcIk0xMjggMEMxMTAuMyAwIDk2IDE0LjMgOTYgMzJjMCAxNi4xIDExLjkgMjkuNCAyNy40IDMxLjdDNzguNCAxMDYuOCA4IDE5MCA4IDI4OGMwIDQ3LjQgMzAuOCA3Mi4zIDU2IDg0LjdWNDAwSDI1NlYzNzIuN2MyNS4yLTEyLjUgNTYtMzcuNCA1Ni04NC43YzAtMzcuMy0xMC4yLTcyLjQtMjUuMy0xMDQuMWwtOTkuNCA5OS40Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42TDI3MC44IDE1NC42Yy0yMy4yLTM4LjEtNTEuOC02OS41LTc0LjItOTAuOUMyMTIuMSA2MS40IDIyNCA0OC4xIDIyNCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMkgxMjh6TTQ4IDQzMkw2LjYgNDczLjRjLTQuMiA0LjItNi42IDEwLTYuNiAxNkMwIDUwMS45IDEwLjEgNTEyIDIyLjYgNTEySDI5Ny40YzEyLjUgMCAyMi42LTEwLjEgMjIuNi0yMi42YzAtNi0yLjQtMTEuOC02LjYtMTZMMjcyIDQzMkg0OHpcIl1cbn07XG52YXIgZmFGYWNlR3JpbldpbmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1ncmluLXdpbmsnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImdyaW4td2lua1wiXSwgXCJmNThjXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0zODguMSAzMTIuOGMxMi4zLTMuOCAyNC4zIDYuOSAxOS4zIDE4LjdDMzgyLjQgMzkwLjYgMzI0LjIgNDMyIDI1Ni4zIDQzMnMtMTI2LjItNDEuNC0xNTEuMS0xMDAuNWMtNS0xMS44IDctMjIuNSAxOS4zLTE4LjdjMzkuNyAxMi4yIDg0LjUgMTkgMTMxLjggMTlzOTIuMS02LjggMTMxLjgtMTl6bS0xNi45LTc5LjJjLTE3LjYtMjMuNS01Mi44LTIzLjUtNzAuNCAwYy01LjMgNy4xLTE1LjMgOC41LTIyLjQgMy4ycy04LjUtMTUuMy0zLjItMjIuNGMzMC40LTQwLjUgOTEuMi00MC41IDEyMS42IDBjNS4zIDcuMSAzLjkgMTcuMS0zLjIgMjIuNHMtMTcuMSAzLjktMjIuNC0zLjJ6TTE3Ni40IDE3NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhR3JpbldpbmsgPSBmYUZhY2VHcmluV2luaztcbnZhciBmYUVhckRlYWYgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZWFyLWRlYWYnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImRlYWZcIiwgXCJkZWFmbmVzc1wiLCBcImhhcmQtb2YtaGVhcmluZ1wiXSwgXCJmMmE0XCIsIFwiTTUwMi42IDU0LjZsLTQwIDQwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2w0MC00MGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zem0tMzIwIDMyMGwtMTI4IDEyOGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsMTI4LTEyOGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zek0yNDAgMTI4Yy01Ny42IDAtMTA1LjEgNDMuNi0xMTEuMyA5OS41Yy0xLjkgMTcuNi0xNy44IDMwLjItMzUuMyAyOC4zcy0zMC4yLTE3LjgtMjguMy0zNS4zQzc0LjggMTMyLjUgMTQ5LjQgNjQgMjQwIDY0Yzk3LjIgMCAxNzYgNzguOCAxNzYgMTc2YzAgNDYtMTcuNyA4Ny45LTQ2LjYgMTE5LjNjLTEyIDEzLTE3LjQgMjQuOC0xNy40IDM0LjdWNDAwYzAgNjEuOS01MC4xIDExMi0xMTIgMTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4di02LjFjMC0zMi45IDE3LjQtNTkuNiAzNC40LTc4YzE4LjQtMjAgMjkuNi00Ni42IDI5LjYtNzUuOWMwLTYxLjktNTAuMS0xMTItMTEyLTExMnptMCA4MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTE3LjctMTQuMy0zMi0zMi0zMnpcIl1cbn07XG52YXIgZmFEZWFmID0gZmFFYXJEZWFmO1xudmFyIGZhRGVhZm5lc3MgPSBmYUVhckRlYWY7XG52YXIgZmFIYXJkT2ZIZWFyaW5nID0gZmFFYXJEZWFmO1xudmFyIGZhUm9hZENpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JvYWQtY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTY0XCIsIFwiTTIxMy4yIDMySDI4OFY5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjMyaDc0LjhjMjcuMSAwIDUxLjMgMTcuMSA2MC4zIDQyLjZsNDIuNyAxMjAuNmMtMTAuOS0yLjEtMjIuMi0zLjItMzMuOC0zLjJjLTU5LjUgMC0xMTIuMSAyOS42LTE0NCA3NC44VjIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnY2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmMyLjMgMCA0LjYtLjMgNi44LS43Yy00LjUgMTUuNS02LjggMzEuOC02LjggNDguN2MwIDUuNCAuMiAxMC43IC43IDE2bC0uNyAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnY2NEg4Ni42QzU2LjUgNDgwIDMyIDQ1NS41IDMyIDQyNS40YzAtNi4yIDEuMS0xMi40IDMuMS0xOC4yTDE1Mi45IDc0LjZDMTYyIDQ5LjEgMTg2LjEgMzIgMjEzLjIgMzJ6TTM1MiAzNjhhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMjExLjMtNDMuM2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBMNDgwIDM4NS40bC0yOC43LTI4LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsNDAgNDBjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBsNzItNzJjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZ6XCJdXG59O1xudmFyIGZhRGljZUZpdmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGljZS1maXZlJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbOTg2MF0sIFwiZjUyM1wiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEgzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6bTY0IDk2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNOTYgMzUyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTIyNCAyMjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em02NC02NGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0zMiAxNjBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbnZhciBmYVNxdWFyZVJzcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUtcnNzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJyc3Mtc3F1YXJlXCJdLCBcImYxNDNcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzg0YzM1LjMgMCA2NC0yOC43IDY0LTY0Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0ek05NiAxMzZjMC0xMy4zIDEwLjctMjQgMjQtMjRjMTM3IDAgMjQ4IDExMSAyNDggMjQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMTEwLjUtODkuNS0yMDAtMjAwLTIwMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTAgOTZjMC0xMy4zIDEwLjctMjQgMjQtMjRjODMuOSAwIDE1MiA2OC4xIDE1MiAxNTJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC01Ny40LTQ2LjYtMTA0LTEwNC0xMDRjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0wIDEyMGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwelwiXVxufTtcbnZhciBmYVJzc1NxdWFyZSA9IGZhU3F1YXJlUnNzO1xudmFyIGZhTGFuZE1pbmVPbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsYW5kLW1pbmUtb24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MWJcIiwgXCJNMzQ0IDI0VjE2OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0ek0xOTIgMzIwYzAtMTcuNyAxNC4zLTMyIDMyLTMySDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnYzMkgxOTJWMzIwem0tNzcuMyA5MC41YzguMS0xNi4zIDI0LjgtMjYuNSA0Mi45LTI2LjVINDgyLjNjMTguMiAwIDM0LjggMTAuMyA0Mi45IDI2LjVsMjcuNiA1NS4yQzU2My41IDQ4NyA1NDggNTEyIDUyNC4yIDUxMkgxMTUuOGMtMjMuOCAwLTM5LjMtMjUtMjguNi00Ni4zbDI3LjYtNTUuMnpNMzYuMyAxMzguM2M3LjUtMTAuOSAyMi41LTEzLjYgMzMuNC02LjFsMTA0IDcyYzEwLjkgNy41IDEzLjYgMjIuNSA2LjEgMzMuNHMtMjIuNSAxMy42LTMzLjQgNi4xbC0xMDQtNzJjLTEwLjktNy41LTEzLjYtMjIuNS02LjEtMzMuNHptNTM0LjEtNi4xYzEwLjktNy41IDI1LjgtNC44IDMzLjQgNi4xczQuOCAyNS44LTYuMSAzMy40bC0xMDQgNzJjLTEwLjkgNy41LTI1LjggNC44LTMzLjQtNi4xcy00LjgtMjUuOCA2LjEtMzMuNGwxMDQtNzJ6XCJdXG59O1xudmFyIGZhSUN1cnNvciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdpLWN1cnNvcicsXG4gIGljb246IFsyNTYsIDUxMiwgW10sIFwiZjI0NlwiLCBcIk0uMSAyOS4zQy0xLjQgNDcgMTEuNyA2Mi40IDI5LjMgNjMuOWw4IC43QzcwLjUgNjcuMyA5NiA5NSA5NiAxMjguM1YyMjRINjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJIOTZ2OTUuN2MwIDMzLjMtMjUuNSA2MS01OC43IDYzLjhsLTggLjdDMTEuNyA0NDkuNi0xLjQgNDY1IC4xIDQ4Mi43czE2LjkgMzAuNyAzNC41IDI5LjJsOC0uN2MzNC4xLTIuOCA2NC4yLTE4LjkgODUuNC00Mi45YzIxLjIgMjQgNTEuMiA0MC4xIDg1LjQgNDIuOWw4IC43YzE3LjYgMS41IDMzLjEtMTEuNiAzNC41LTI5LjJzLTExLjYtMzMuMS0yOS4yLTM0LjVsLTgtLjdDMTg1LjUgNDQ0LjcgMTYwIDQxNyAxNjAgMzgzLjdWMjg4aDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDE2MFYxMjguM2MwLTMzLjMgMjUuNS02MSA1OC43LTYzLjhsOC0uN2MxNy42LTEuNSAzMC43LTE2LjkgMjkuMi0zNC41UzIzOS0xLjQgMjIxLjMgLjFsLTggLjdDMTc5LjIgMy42IDE0OS4yIDE5LjcgMTI4IDQzLjdjLTIxLjItMjQtNTEuMi00MC04NS40LTQyLjlsLTgtLjdDMTctMS40IDEuNiAxMS43IC4xIDI5LjN6XCJdXG59O1xudmFyIGZhU3RhbXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3RhbXAnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1YmZcIiwgXCJNMzEyIDIwMS44YzAtMTcuNCA5LjItMzMuMiAxOS45LTQ3QzM0NC41IDEzOC41IDM1MiAxMTguMSAzNTIgOTZjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZjMCAyMi4xIDcuNSA0Mi41IDIwLjEgNTguOGMxMC43IDEzLjggMTkuOSAyOS42IDE5LjkgNDdjMCAyOS45LTI0LjMgNTQuMi01NC4yIDU0LjJIMTEyQzUwLjEgMjU2IDAgMzA2LjEgMCAzNjhjMCAyMC45IDEzLjQgMzguNyAzMiA0NS4zVjQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OEg0MzJjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWNDEzLjNjMTguNi02LjYgMzItMjQuNCAzMi00NS4zYzAtNjEuOS01MC4xLTExMi0xMTItMTEySDM2Ni4yYy0yOS45IDAtNTQuMi0yNC4zLTU0LjItNTQuMnpNNDE2IDQxNnYzMkg5NlY0MTZINDE2elwiXVxufTtcbnZhciBmYVN0YWlycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdGFpcnMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImUyODlcIiwgXCJNMzg0IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMySDU0NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg0NDh2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJIMzIwdjk2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDE5MnY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMkgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmg5NlYzMjBjMC0xNy43IDE0LjMtMzIgMzItMzJoOTZWMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMyaDk2VjY0elwiXVxufTtcbnZhciBmYUkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaScsXG4gIGljb246IFszMjAsIDUxMiwgWzEwNV0sIFwiNDlcIiwgXCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2aDk2VjQxNkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkgyODhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTkyVjk2aDk2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDE2MCAzMnpcIl1cbn07XG52YXIgZmFIcnl2bmlhU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdocnl2bmlhLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFs4MzcyLCBcImhyeXZuaWFcIl0sIFwiZjZmMlwiLCBcIk0xMjEuOSAxMTYuMkMxMzguMyAxMDMuMSAxNTguNyA5NiAxNzkuNiA5NkgyMjNjMjcuMSAwIDQ5IDIxLjkgNDkgNDljMCAxMS41LTQgMjIuNC0xMS4xIDMxSDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDE1NS41bC01MC42IDI4LjljLTEuNyAxLTMuNCAyLTUuMSAzLjFIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINTIuM2MtMi44IDkuOS00LjMgMjAuNC00LjMgMzFjMCA2Mi40IDUwLjYgMTEzIDExMyAxMTNoNDMuNGMzNS41IDAgNzAtMTIuMSA5Ny43LTM0LjNMMzA4IDQ0MWMxMy44LTExIDE2LTMxLjIgNS00NXMtMzEuMi0xNi00NS01bC01LjkgNC43Yy0xNi40IDEzLjEtMzYuNyAyMC4yLTU3LjcgMjAuMkgxNjFjLTI3LjEgMC00OS0yMS45LTQ5LTQ5YzAtMTEuNSA0LTIyLjQgMTEuMS0zMUgzNTJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMjI4LjVsNTAuNi0yOC45YzEuNy0xIDMuNC0yIDUuMS0zLjFIMzUyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDMzMS43YzIuOC0xMCA0LjMtMjAuNCA0LjMtMzFjMC02Mi40LTUwLjYtMTEzLTExMy0xMTNIMTc5LjZjLTM1LjUgMC03MCAxMi4xLTk3LjcgMzQuM0w3NiA3MWMtMTMuOCAxMS0xNiAzMS4yLTUgNDVzMzEuMiAxNiA0NSA1bDUuOS00Ljd6XCJdXG59O1xudmFyIGZhSHJ5dm5pYSA9IGZhSHJ5dm5pYVNpZ247XG52YXIgZmFQaWxscyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwaWxscycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjQ4NFwiLCBcIk0xMTIgOTZjLTI2LjUgMC00OCAyMS41LTQ4IDQ4VjI1Nmg5NlYxNDRjMC0yNi41LTIxLjUtNDgtNDgtNDh6TTAgMTQ0QzAgODIuMSA1MC4xIDMyIDExMiAzMnMxMTIgNTAuMSAxMTIgMTEyVjM2OGMwIDYxLjktNTAuMSAxMTItMTEyIDExMlMwIDQyOS45IDAgMzY4VjE0NHpNNTU0LjkgMzk5LjRjLTcuMSAxMi4zLTIzLjcgMTMuMS0zMy44IDMuMUwzMzMuNSAyMTQuOWMtMTAtMTAtOS4zLTI2LjcgMy4xLTMzLjhDMzYwIDE2Ny43IDM4Ny4xIDE2MCA0MTYgMTYwYzg4LjQgMCAxNjAgNzEuNiAxNjAgMTYwYzAgMjguOS03LjcgNTYtMjEuMSA3OS40em0tNTkuNSA1OS41QzQ3MiA0NzIuMyA0NDQuOSA0ODAgNDE2IDQ4MGMtODguNCAwLTE2MC03MS42LTE2MC0xNjBjMC0yOC45IDcuNy01NiAyMS4xLTc5LjRjNy4xLTEyLjMgMjMuNy0xMy4xIDMzLjgtMy4xTDQ5OC41IDQyNS4xYzEwIDEwIDkuMyAyNi43LTMuMSAzMy44elwiXVxufTtcbnZhciBmYUZhY2VHcmluV2lkZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWdyaW4td2lkZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODUxNSwgXCJncmluLWFsdFwiXSwgXCJmNTgxXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0zODguMSAzMTIuOGMxMi4zLTMuOCAyNC4zIDYuOSAxOS4zIDE4LjdDMzgyLjQgMzkwLjYgMzI0LjIgNDMyIDI1Ni4zIDQzMnMtMTI2LjItNDEuNC0xNTEuMS0xMDAuNWMtNS0xMS44IDctMjIuNSAxOS4zLTE4LjdjMzkuNyAxMi4yIDg0LjUgMTkgMTMxLjggMTlzOTIuMS02LjggMTMxLjgtMTl6TTIwOCAxOTJjMCAzNS4zLTE0LjMgNjQtMzIgNjRzLTMyLTI4LjctMzItNjRzMTQuMy02NCAzMi02NHMzMiAyOC43IDMyIDY0em0xMjggNjRjLTE3LjcgMC0zMi0yOC43LTMyLTY0czE0LjMtNjQgMzItNjRzMzIgMjguNyAzMiA2NHMtMTQuMyA2NC0zMiA2NHpcIl1cbn07XG52YXIgZmFHcmluQWx0ID0gZmFGYWNlR3JpbldpZGU7XG52YXIgZmFUb290aCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0b290aCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyOTQ2M10sIFwiZjVjOVwiLCBcIk0xODYuMSA1Mi4xQzE2OS4zIDM5LjEgMTQ4LjcgMzIgMTI3LjUgMzJDNzQuNyAzMiAzMiA3NC43IDMyIDEyNy41djYuMmMwIDE1LjggMy43IDMxLjMgMTAuNyA0NS41bDIzLjUgNDcuMWM0LjUgOC45IDcuNiAxOC40IDkuNCAyOC4ybDM2LjcgMjA1LjhjMiAxMS4yIDExLjYgMTkuNCAyMi45IDE5LjhzMjEuNC03LjQgMjQtMTguNGwyOC45LTEyMS4zQzE5Mi4yIDMyMy43IDIwNyAzMTIgMjI0IDMxMnMzMS44IDExLjcgMzUuOCAyOC4zbDI4LjkgMTIxLjNjMi42IDExLjEgMTIuNyAxOC44IDI0IDE4LjRzMjAuOS04LjYgMjIuOS0xOS44bDM2LjctMjA1LjhjMS44LTkuOCA0LjktMTkuMyA5LjQtMjguMmwyMy41LTQ3LjFjNy4xLTE0LjEgMTAuNy0yOS43IDEwLjctNDUuNXYtMi4xYzAtNTUtNDQuNi05OS42LTk5LjYtOTkuNmMtMjQuMSAwLTQ3LjQgOC44LTY1LjYgMjQuNmwtMy4yIDIuOCAxOS41IDE1LjJjNyA1LjQgOC4yIDE1LjUgMi44IDIyLjVzLTE1LjUgOC4yLTIyLjUgMi44bC0yNC40LTE5LTM3LTI4Ljh6XCJdXG59O1xudmFyIGZhViA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTE4XSwgXCI1NlwiLCBcIk0xOS43IDM0LjVjMTYuMy02LjggMzUgLjkgNDEuOCAxNy4yTDE5MiAzNjQuOCAzMjIuNSA1MS43YzYuOC0xNi4zIDI1LjUtMjQgNDEuOC0xNy4yczI0IDI1LjUgMTcuMiA0MS44bC0xNjAgMzg0Yy01IDExLjktMTYuNiAxOS43LTI5LjUgMTkuN3MtMjQuNi03LjgtMjkuNS0xOS43TDIuNSA3Ni4zYy02LjgtMTYuMyAuOS0zNSAxNy4yLTQxLjh6XCJdXG59O1xudmFyIGZhQmFuZ2xhZGVzaGlUYWthU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYW5nbGFkZXNoaS10YWthLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUyZTZcIiwgXCJNMzYgMzIuMkMxOC40IDMwLjEgMi40IDQyLjUgLjIgNjBTMTAuNSA5My42IDI4IDk1LjhsNy45IDFjMTYgMiAyOCAxNS42IDI4IDMxLjhWMTYwSDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDY0VjM4NGMwIDUzIDQzIDk2IDk2IDk2aDMyYzEwNiAwIDE5Mi04NiAxOTItMTkyVjI1NmMwLTUzLTQzLTk2LTk2LTk2SDI3MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmgxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnYzMmMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOEgxNjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjIyNGgzMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgxMjhWMTI4LjVjMC00OC40LTM2LjEtODkuMy04NC4xLTk1LjNsLTcuOS0xelwiXVxufTtcbnZhciBmYUJpY3ljbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmljeWNsZScsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODY5MF0sIFwiZjIwNlwiLCBcIk0zMTIgMzJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRoMjUuN2wzNC42IDY0SDIyMi45bC0yNy40LTM4QzE5MSA5OS43IDE4My43IDk2IDE3NiA5NkgxMjBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRoNDMuN2wyMi4xIDMwLjctMjYuNiA1My4xYy0xMC0yLjUtMjAuNS0zLjgtMzEuMi0zLjhDNTcuMyAyMjQgMCAyODEuMyAwIDM1MnM1Ny4zIDEyOCAxMjggMTI4YzY1LjMgMCAxMTkuMS00OC45IDEyNy0xMTJoNDljOC41IDAgMTYuMy00LjUgMjAuNy0xMS44bDg0LjgtMTQzLjUgMjEuNyA0MC4xQzQwMi40IDI3Ni4zIDM4NCAzMTIgMzg0IDM1MmMwIDcwLjcgNTcuMyAxMjggMTI4IDEyOHMxMjgtNTcuMyAxMjgtMTI4cy01Ny4zLTEyOC0xMjgtMTI4Yy0xMy41IDAtMjYuNSAyLjEtMzguNyA2TDM3NS40IDQ4LjhDMzY5LjggMzguNCAzNTkgMzIgMzQ3LjIgMzJIMzEyek00NTguNiAzMDMuN2wzMi4zIDU5LjdjNi4zIDExLjcgMjAuOSAxNiAzMi41IDkuN3MxNi0yMC45IDkuNy0zMi41bC0zMi4zLTU5LjdjMy42LS42IDcuNC0uOSAxMS4yLS45YzM5LjggMCA3MiAzMi4yIDcyIDcycy0zMi4yIDcyLTcyIDcycy03Mi0zMi4yLTcyLTcyYzAtMTguNiA3LTM1LjUgMTguNi00OC4zek0xMzMuMiAzNjhoNjVjLTcuMyAzMi4xLTM2IDU2LTcwLjIgNTZjLTM5LjggMC03Mi0zMi4yLTcyLTcyczMyLjItNzIgNzItNzJjMS43IDAgMy40IC4xIDUuMSAuMmwtMjQuMiA0OC41Yy05IDE4LjEgNC4xIDM5LjQgMjQuMyAzOS40em0zMy43LTQ4bDUwLjctMTAxLjMgNzIuOSAxMDEuMi0uMSAuMUgxNjYuOHptOTAuNi0xMjhIMzY1LjlMMzE3IDI3NC44IDI1Ny40IDE5MnpcIl1cbn07XG52YXIgZmFTdGFmZlNuYWtlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0YWZmLXNuYWtlJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXCJyb2QtYXNjbGVwaXVzXCIsIFwicm9kLXNuYWtlXCIsIFwic3RhZmYtYWVzY3VsYXBpdXNcIl0sIFwiZTU3OVwiLCBcIk0yMjIuNiA0My4ybC0uMSA0LjhIMjg4YzUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2SDI0OFYxNjBoNDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIMjQ4IDIyMGwtNC41IDE0NEgyNTZjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZIMjQwVjM4NGgxNmM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgyMTNsLTMuMSA5OS41TDIwOC41IDQ5NWwwIDFjLS4zIDguOS03LjYgMTYtMTYuNSAxNnMtMTYuMi03LjEtMTYuNS0xNmwwLTEtMS0zMUgxMzZjLTIyLjEgMC00MC0xNy45LTQwLTQwczE3LjktNDAgNDAtNDBoMzZsLTEtMzJIMTUyYy01MyAwLTk2LTQzLTk2LTk2YzAtNDcuNiAzNC42LTg3LjEgODAtOTQuN1YyNTZjMCA4LjggNy4yIDE2IDE2IDE2aDE2LjVMMTY0IDEyOEgxMzYgMTIyLjZjLTkgMTguOS0yOC4zIDMyLTUwLjYgMzJINTZjLTMwLjkgMC01Ni0yNS4xLTU2LTU2UzI1LjEgNDggNTYgNDhoOCA4IDg5LjVsLS4xLTQuOEwxNjEgMzJjMC0uNyAwLTEuMyAwLTEuOWMuNS0xNi42IDE0LjEtMzAgMzEtMzBzMzAuNSAxMy40IDMxIDMwYzAgLjYgMCAxLjMgMCAxLjlsLS40IDExLjJ6TTY0IDExMmExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6XCJdXG59O1xudmFyIGZhUm9kQXNjbGVwaXVzID0gZmFTdGFmZlNuYWtlO1xudmFyIGZhUm9kU25ha2UgPSBmYVN0YWZmU25ha2U7XG52YXIgZmFTdGFmZkFlc2N1bGFwaXVzID0gZmFTdGFmZlNuYWtlO1xudmFyIGZhSGVhZFNpZGVDb3VnaFNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlYWQtc2lkZS1jb3VnaC1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA2MlwiLCBcIk00NDggMzI1LjhsNDQgMzQuNWM4LjEgMS40IDE0LjggNi44IDE4IDE0LjFMNTUyLjkgNDA4YzEwLjYgLjQgMTkuNSA3LjYgMjIuMiAxNy40bDM5LjEgMzAuNmMuNiAwIDEuMi0uMSAxLjgtLjFjMTEuMSAwIDIwLjQgNy41IDIzLjIgMTcuOGgtMy45YzYuMiA4LjUgNi40IDIwLjQtLjQgMjljLTguMiAxMC40LTIzLjMgMTIuMy0zMy43IDQuMUw5LjIgNDIuOUMtMS4yIDM0LjctMy4xIDE5LjYgNS4xIDkuMlMyOC40LTMuMSAzOC44IDUuMUw4OS42IDQ0LjlDMTI3IDE2LjcgMTczLjUgMCAyMjQgMGgyNGM5NS4yIDAgMTgxLjIgNjkuMyAxOTcuMyAxNjAuMmMyLjMgMTMgNi44IDI1LjcgMTUuMSAzNmw0MiA1Mi42YzYuMiA3LjggOS42IDE3LjQgOS42IDI3LjRjMCAyNC4yLTE5LjYgNDMuOC00My44IDQzLjhINDQ4djAgNS44ek0wIDIyNC4yYzAtMzguNyA5LjgtNzUuMSAyNy4xLTEwNi45TDM0MS44IDM2NS4zbC0yLjUgLjNjLTExIDEuNC0xOS4yIDEwLjctMTkuMiAyMS44YzAgMTEuNiA5IDIxLjIgMjAuNiAyMS45bDYyIDMuOSA0MyAzMy45QzQzOS4zIDQ2Ni4yIDQyMS4yIDQ4MCA0MDAgNDgwSDMyMHY4YzAgMTMuMy0xMC43IDI0LTI0IDI0SDI1NnYwSDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlY0MDcuM2MwLTE2LjctNi45LTMyLjUtMTcuMS00NS44QzE2LjYgMzIyLjQgMCAyNzQuMSAwIDIyNC4yek02MTYgMzYwYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptLTY0LTQ4YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptNDAtMjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpcIl1cbn07XG52YXIgZmFUcnVja01lZGljYWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJ1Y2stbWVkaWNhbCcsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODY1NywgXCJhbWJ1bGFuY2VcIl0sIFwiZjBmOVwiLCBcIk0wIDQ4QzAgMjEuNSAyMS41IDAgNDggMEgzNjhjMjYuNSAwIDQ4IDIxLjUgNDggNDhWOTZoNTAuN2MxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0w1ODkuMyAxOTJjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM1YyNTZ2MzIgNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJINTc2YzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2SDI1NmMwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05Nkg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWNDh6TTQxNiAyNTZINTQ0VjIzNy4zTDQ2Ni43IDE2MEg0MTZ2OTZ6TTE2MCA0NjRhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0zNjgtNDhhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNMTc2IDgwdjQ4bC00OCAwYy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDQ4djQ4YzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMTkyaDQ4YzguOCAwIDE2LTcuMiAxNi0xNlYxNDRjMC04LjgtNy4yLTE2LTE2LTE2SDI0MFY4MGMwLTguOC03LjItMTYtMTYtMTZIMTkyYy04LjggMC0xNiA3LjItMTYgMTZ6XCJdXG59O1xudmFyIGZhQW1idWxhbmNlID0gZmFUcnVja01lZGljYWw7XG52YXIgZmFXaGVhdEF3bkNpcmNsZUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3doZWF0LWF3bi1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1OThcIiwgXCJNNTA1IDQxYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBMMzgzIDk1Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsODgtODh6TTMwNS41IDI3LjNjLTYuMi02LjItMTYuNC02LjItMjIuNiAwTDI3MS41IDM4LjZjLTM3LjUgMzcuNS0zNy41IDk4LjMgMCAxMzUuOGwxMC40IDEwLjQtMzAuNSAzMC41Yy0zLjQtMjcuMy0xNS41LTUzLjgtMzYuNS03NC44bC0xMS4zLTExLjNjLTYuMi02LjItMTYuNC02LjItMjIuNiAwbC0xMS4zIDExLjNjLTM3LjUgMzcuNS0zNy41IDk4LjMgMCAxMzUuOGwxMC40IDEwLjQtMzAuNSAzMC41Yy0zLjQtMjcuMy0xNS41LTUzLjgtMzYuNS03NC44TDEwMS44IDIzMWMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBMNjcuOSAyNDIuM2MtMzcuNSAzNy41LTM3LjUgOTguMyAwIDEzNS44bDEwLjQgMTAuNEw5LjQgNDU3LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsNjguOS02OC45IDEyLjIgMTIuMmMzNy41IDM3LjUgOTguMyAzNy41IDEzNS44IDBsMTEuMy0xMS4zYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42bC0xMS4zLTExLjNjLTIxLjgtMjEuOC00OS42LTM0LjEtNzguMS0zNi45bDMxLjktMzEuOSAxMi4yIDEyLjJjMjIuNSAyMi41IDUzLjMgMzEuNSA4Mi40IDI3YzAtMSAwLTIuMSAwLTMuMWMwLTMzLjEgOS4xLTY0LjEgMjUtOTAuNmMtMTUuNS04LjctMzIuNS0xMy44LTQ5LjgtMTUuNWwzMS45LTMxLjkgMTIuMiAxMi4yYzYgNiAxMi42IDExLjEgMTkuNyAxNS4yYzI3LjUtMzQgNjcuMy01Ny41IDExMi42LTYzLjhjLTQuMS0zLjgtOC40LTcuMy0xMi45LTEwLjVMNTA1IDEzN2M5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC01OS40IDU5LjRjLTIwLjYtNC40LTQyLTMuNy02Mi4zIDIuMWM2LjEtMjEuMyA2LjYtNDMuOCAxLjQtNjUuM0w0MDkgNDFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMEwzMjkuMSA1Mi45Yy0zLjctNS03LjgtOS44LTEyLjQtMTQuM0wzMDUuNSAyNy4zek00OTYgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC05NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTAtMTQ0YzguOCAwIDE2IDcuMiAxNiAxNnY4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlYyODhjMC04LjggNy4yLTE2IDE2LTE2elwiXVxufTtcbnZhciBmYVNub3dtYW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc25vd21hbicsXG4gIGljb246IFs1MTIsIDUxMiwgWzk3MzEsIDk5MjRdLCBcImY3ZDBcIiwgXCJNMzQxLjEgMTQwLjZjLTIgMy45LTEuNiA4LjYgMS4yIDEyYzcgOC41IDEyLjkgMTguMSAxNy4yIDI4LjRMNDA4IDE2MC4yVjEyMGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0djE5LjZsMjIuNS05LjdjMTIuMi01LjIgMjYuMyAuNCAzMS41IDEyLjZzLS40IDI2LjMtMTIuNiAzMS41bC01NiAyNC03My42IDMxLjVjLS41IDkuNS0yLjEgMTguNi00LjggMjcuM2MtMS4yIDMuOC0uMSA4IDIuOCAxMC44QzM5Ni43IDI5Ni45IDQxNiAzMzguMiA0MTYgMzg0YzAgNDQuNy0xOC4zIDg1LTQ3LjggMTE0LjFjLTkuOSA5LjctMjMuNyAxMy45LTM3LjUgMTMuOUgxODEuM2MtMTMuOSAwLTI3LjctNC4yLTM3LjUtMTMuOUMxMTQuMyA0NjkgOTYgNDI4LjcgOTYgMzg0YzAtNDUuOCAxOS4zLTg3LjEgNTAuMS0xMTYuM2MyLjktMi44IDQtNi45IDIuOC0xMC44Yy0yLjctOC43LTQuMy0xNy45LTQuOC0yNy4zTDcwLjUgMTk4LjFsLTU2LTI0QzIuNCAxNjguOC0zLjMgMTU0LjcgMS45IDE0Mi41czE5LjMtMTcuOCAzMS41LTEyLjZMNTYgMTM5LjZWMTIwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR2NDAuMkwxNTIuNiAxODFjNC4zLTEwLjMgMTAuMS0xOS45IDE3LjItMjguNGMyLjgtMy40IDMuMy04LjEgMS4yLTEyQzE2NCAxMjcuMiAxNjAgMTEyLjEgMTYwIDk2YzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZjMCAxNi4xLTQgMzEuMi0xMC45IDQ0LjZ6TTIyNCA5NmExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6bTQ4IDEyOGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem0tMTYgODBhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyem0xNiA0OGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwek0yODggOTZhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyem0tNDggMjR2My4yYzAgMy4yIC44IDYuMyAyLjMgOWw5IDE2LjljLjkgMS43IDIuNyAyLjggNC43IDIuOHMzLjgtMS4xIDQuNy0yLjhsOS0xNi45YzEuNS0yLjggMi4zLTUuOSAyLjMtOVYxMjBjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZ6XCJdXG59O1xudmFyIGZhTW9ydGFyUGVzdGxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vcnRhci1wZXN0bGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1YTdcIiwgXCJNNTA0LjMgMTEuMUM0OTMuMy0xLjYgNDc0LjUtMy43IDQ2MSA2LjJMMjUyLjMgMTYwSDM5Ny4zTDUwMi42IDU0LjZjMTEuOC0xMS44IDEyLjYtMzAuOCAxLjYtNDMuNXpNMzIgMTkyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyYzAgODIuNSA0My40IDE0Ny43IDEyMy45IDE3Ni4yYy0xMS4xIDEzLjktMTkuNCAzMC4zLTIzLjkgNDguMUMxMjcuNiA0OTcuNCAxNDIuMyA1MTIgMTYwIDUxMkgzNTJjMTcuNyAwIDMyLjQtMTQuNiAyOC4xLTMxLjdjLTQuNS0xNy44LTEyLjgtMzQuMS0yMy45LTQ4LjFDNDM2LjYgNDAzLjcgNDgwIDMzOC41IDQ4MCAyNTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzJ6XCJdXG59O1xudmFyIGZhUm9hZEJhcnJpZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncm9hZC1iYXJyaWVyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTYyXCIsIFwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRWNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMjY2LjNMMTQ5LjIgOTZINjRWNjRjMC0xNy43LTE0LjMtMzItMzItMzJ6TTQwNS4yIDk2SDMzMC44bC01LjQgMTAuN0wyMzQuOCAyODhoNzQuM2w1LjQtMTAuN0w0MDUuMiA5NnpNMzYyLjggMjg4aDc0LjNsNS40LTEwLjdMNTMzLjIgOTZINDU4LjhsLTUuNCAxMC43TDM2Mi44IDI4OHpNMjAyLjggOTZsLTUuNCAxMC43TDEwNi44IDI4OGg3NC4zbDUuNC0xMC43TDI3Ny4yIDk2SDIwMi44em0yODggMTkySDU3NlY0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlY2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnY1My43TDQ5MC44IDI4OHpcIl1cbn07XG52YXIgZmFTY2hvb2wgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2Nob29sJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI3OTc5XSwgXCJmNTQ5XCIsIFwiTTMzNy44IDUuNEMzMjctMS44IDMxMy0xLjggMzAyLjIgNS40TDE2Ni4zIDk2SDQ4QzIxLjUgOTYgMCAxMTcuNSAwIDE0NFY0NjRjMCAyNi41IDIxLjUgNDggNDggNDhIMjU2VjQxNmMwLTM1LjMgMjguNy02NCA2NC02NHM2NCAyOC43IDY0IDY0djk2SDU5MmMyNi41IDAgNDgtMjEuNSA0OC00OFYxNDRjMC0yNi41LTIxLjUtNDgtNDgtNDhINDczLjdMMzM3LjggNS40ek05NiAxOTJoMzJjOC44IDAgMTYgNy4yIDE2IDE2djY0YzAgOC44LTcuMiAxNi0xNiAxNkg5NmMtOC44IDAtMTYtNy4yLTE2LTE2VjIwOGMwLTguOCA3LjItMTYgMTYtMTZ6bTQwMCAxNmMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djY0YzAgOC44LTcuMiAxNi0xNiAxNkg1MTJjLTguOCAwLTE2LTcuMi0xNi0xNlYyMDh6TTk2IDMyMGgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2NjRjMCA4LjgtNy4yIDE2LTE2IDE2SDk2Yy04LjggMC0xNi03LjItMTYtMTZWMzM2YzAtOC44IDcuMi0xNiAxNi0xNnptNDAwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2NjRjMCA4LjgtNy4yIDE2LTE2IDE2SDUxMmMtOC44IDAtMTYtNy4yLTE2LTE2VjMzNnpNMjMyIDE3NmE4OCA4OCAwIDEgMSAxNzYgMCA4OCA4OCAwIDEgMSAtMTc2IDB6bTg4LTQ4Yy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDMzNlYxNDRjMC04LjgtNy4yLTE2LTE2LTE2elwiXVxufTtcbnZhciBmYUlnbG9vID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2lnbG9vJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmN2FlXCIsIFwiTTMyMCAzMy44VjE2MEg0OC41QzEwMC4yIDgyLjggMTg4LjEgMzIgMjg4IDMyYzEwLjggMCAyMS41IC42IDMyIDEuOHpNMzUyIDE2MFYzOS4xQzQyNC45IDU1LjcgNDg3LjIgOTkuOCA1MjcuNSAxNjBIMzUyek0yOS45IDE5Mkg5NlYzMjBIMGMwLTQ2IDEwLjgtODkuNCAyOS45LTEyOHpNMTkyIDMyMEgxMjhWMTkySDQ0OFYzMjBIMzg0djMySDU3NnY4MGMwIDI2LjUtMjEuNSA0OC00OCA0OEgzNTJWMzUyYzAtMzUuMy0yOC43LTY0LTY0LTY0cy02NCAyOC43LTY0IDY0VjQ4MEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMzUySDE5MlYzMjB6bTI4OCAwVjE5Mmg2Ni4xYzE5LjIgMzguNiAyOS45IDgyIDI5LjkgMTI4SDQ4MHpcIl1cbn07XG52YXIgZmFKb2ludCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdqb2ludCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjU5NVwiLCBcIk00NDggMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWNDNjMCA1NS4yIDIxLjkgMTA4LjEgNjAuOSAxNDcuMWwyMSAyMWM5IDkgMTQuMSAyMS4yIDE0LjEgMzMuOXYxMWMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjI0NWMwLTI5LjctMTEuOC01OC4yLTMyLjgtNzkuMmwtMjEtMjFDNDYzLjIgMTE3LjggNDQ4IDgxLjIgNDQ4IDQzVjMyek01NzYgMjU2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMjQ1YzAtNTUuMi0yMS45LTEwOC4xLTYwLjktMTQ3LjFsLTIxLTIxYy05LTktMTQuMS0yMS4yLTE0LjEtMzMuOVYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlY0M2MwIDI5LjcgMTEuOCA1OC4yIDMyLjggNzkuMmwyMSAyMWMyNyAyNyA0Mi4yIDYzLjYgNDIuMiAxMDEuOHYxMXpNMjI5LjggMzYwYy00LjctMi4zLTEwLTIuNy0xNS4yLTJjLTM3LjggNS42LTc1LjIgMTQuMy0xMDYuOSAyMi44QzgxLjMgMzg4IDU4LjMgMzk1LjEgNDIgNDAwLjRjLTguMiAyLjctMTQuNyA0LjktMTkuMiA2LjVjLTIuMyAuOC00IDEuNC01LjIgMS44bC0xLjMgLjVDNi44IDQxMi41IDAgNDIxLjQgMCA0MzJzNi44IDE5LjUgMTYuMyAyMi43bDEuMyAuNWMxLjIgLjQgMyAxLjEgNS4yIDEuOGM0LjUgMS42IDExIDMuOCAxOS4yIDYuNWMxNi4zIDUuNCAzOS4yIDEyLjUgNjUuNyAxOS42QzE2MC4zIDQ5Ny4zIDIyOC44IDUxMiAyODggNTEyaDY3LjNjNC4xIDAgNi4zLTUuMSAzLjYtOC4zTDI1Ni41IDM4MC44Yy03LjQtOC45LTE2LjUtMTUuOS0yNi43LTIwLjh6TTQ0NSA1MTJoMTkgNTEuM2M0LjEgMCA2LjMtNS4xIDMuNi04LjNMNDE2LjUgMzgwLjhDNDAxLjMgMzYyLjUgMzc4LjggMzUyIDM1NSAzNTJIMzM2IDI4OGMtMS4xIDAtMi4zIDAtMy40IDBjLTQuMSAwLTYuMiA1LjEtMy41IDguM0wzODMuNSA0ODMuMkMzOTguNyA1MDEuNSA0MjEuMiA1MTIgNDQ1IDUxMnptLTMuOS0xNTEuN0w1NDMuNSA0ODMuMmMxNC42IDE3LjUgMzUuOSAyNy45IDU4LjYgMjguN2MyMS4xLTEuMSAzNy45LTE4LjYgMzcuOS0zOS45VjM5MmMwLTIyLjEtMTcuOS00MC00MC00MEg0NDQuN2MtNC4xIDAtNi4zIDUuMS0zLjYgOC4zelwiXVxufTtcbnZhciBmYUFuZ2xlUmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5nbGUtcmlnaHQnLFxuICBpY29uOiBbMzIwLCA1MTIsIFs4MjUwXSwgXCJmMTA1XCIsIFwiTTI3OC42IDIzMy40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC0xNjAgMTYwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wyMTAuNyAyNTYgNzMuNCAxMTguNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGwxNjAgMTYwelwiXVxufTtcbnZhciBmYUhvcnNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvcnNlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4MDE0XSwgXCJmNmYwXCIsIFwiTTQ0OCAyMzguMVYxNjBoMTZsOS44IDE5LjZjMTIuNSAyNS4xIDQyLjIgMzYuNCA2OC4zIDI2YzIwLjUtOC4yIDMzLjktMjggMzMuOS01MC4xVjgwYzAtMTkuMS04LjQtMzYuMy0yMS43LTQ4SDU2MGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkg0ODAgNDQ4QzM3Ny4zIDAgMzIwIDU3LjMgMzIwIDEyOEgyMjQgMjAzLjIgMTQ4LjhjLTMwLjcgMC01Ny42IDE2LjMtNzIuNSA0MC44QzMzLjIgMTc0LjUgMCAyMTEuNCAwIDI1NnY1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjI1NmMwLTEzLjQgNi42LTI1LjIgMTYuNy0zMi41YzEuNiAxMyA2LjMgMjUuNCAxMy42IDM2LjRsMjguMiA0Mi40YzguMyAxMi40IDYuNCAyOC43LTEuMiA0MS42Yy0xNi41IDI4LTIwLjYgNjIuMi0xMCA5My45bDE3LjUgNTIuNGM0LjQgMTMuMSAxNi42IDIxLjkgMzAuNCAyMS45aDMzLjdjMjEuOCAwIDM3LjMtMjEuNCAzMC40LTQyLjFsLTIwLjgtNjIuNWMtMi4xLTYuNC0uNS0xMy40IDQuMy0xOC4ybDEyLjctMTIuN2MxMy4yLTEzLjIgMjAuNi0zMS4xIDIwLjYtNDkuN2MwLTIuMy0uMS00LjYtLjMtNi45bDg0IDI0YzQuMSAxLjIgOC4yIDIuMSAxMi4zIDIuOFY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzE1LjdjMTkuMi0xOS4yIDMxLjUtNDUuNyAzMi03NS43aDB2LTEuOXpNNDk2IDY0YTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnpcIl1cbn07XG52YXIgZmFRID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3EnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMTNdLCBcIjUxXCIsIFwiTTY0IDI1NmMwIDg4LjQgNzEuNiAxNjAgMTYwIDE2MGMyOC45IDAgNTYtNy43IDc5LjQtMjEuMWwtNzItODYuNGMtMTEuMy0xMy42LTkuNS0zMy44IDQuMS00NS4xczMzLjgtOS41IDQ1LjEgNC4xbDcwLjkgODUuMUMzNzEuOSAzMjUuOCAzODQgMjkyLjMgMzg0IDI1NmMwLTg4LjQtNzEuNi0xNjAtMTYwLTE2MFM2NCAxNjcuNiA2NCAyNTZ6TTM0NC45IDQ0NC42QzMxMCA0NjcgMjY4LjUgNDgwIDIyNCA0ODBDMTAwLjMgNDgwIDAgMzc5LjcgMCAyNTZTMTAwLjMgMzIgMjI0IDMyczIyNCAxMDAuMyAyMjQgMjI0YzAgNTYuMS0yMC42IDEwNy40LTU0LjcgMTQ2LjdsNDcuMyA1Ni44YzExLjMgMTMuNiA5LjUgMzMuOC00LjEgNDUuMXMtMzMuOCA5LjUtNDUuMS00LjFsLTQ2LjYtNTUuOXpcIl1cbn07XG52YXIgZmFHID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2cnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMDNdLCBcIjQ3XCIsIFwiTTIyNCA5NkMxMzUuNiA5NiA2NCAxNjcuNiA2NCAyNTZzNzEuNiAxNjAgMTYwIDE2MGM3Ny40IDAgMTQyLTU1IDE1Ni44LTEyOEgyNTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJINDAwYzI1LjggMCA0OS42IDIxLjQgNDcuMiA1MC42QzQzNy44IDM4OS42IDM0MS40IDQ4MCAyMjQgNDgwQzEwMC4zIDQ4MCAwIDM3OS43IDAgMjU2UzEwMC4zIDMyIDIyNCAzMmM1Ny40IDAgMTA5LjcgMjEuNiAxNDkuMyA1N2MxMy4yIDExLjggMTQuMyAzMiAyLjUgNDUuMnMtMzIgMTQuMy00NS4yIDIuNUMzMDIuMyAxMTEuNCAyNjUgOTYgMjI0IDk2elwiXVxufTtcbnZhciBmYU5vdGVzTWVkaWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdub3Rlcy1tZWRpY2FsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNDgxXCIsIFwiTTk2IDM1MlY5NmMwLTM1LjMgMjguNy02NCA2NC02NEg0MTZjMzUuMyAwIDY0IDI4LjcgNjQgNjRWMjkzLjVjMCAxNy02LjcgMzMuMy0xOC43IDQ1LjNsLTU4LjUgNTguNWMtMTIgMTItMjguMyAxOC43LTQ1LjMgMTguN0gxNjBjLTM1LjMgMC02NC0yOC43LTY0LTY0ek0yNzIgMTI4Yy04LjggMC0xNiA3LjItMTYgMTZ2NDhIMjA4Yy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDQ4djQ4YzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMjU2aDQ4YzguOCAwIDE2LTcuMiAxNi0xNlYyMDhjMC04LjgtNy4yLTE2LTE2LTE2SDMyMFYxNDRjMC04LjgtNy4yLTE2LTE2LTE2SDI3MnptMjQgMzM2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDEzNkM2MC45IDUxMiAwIDQ1MS4xIDAgMzc2VjE1MmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMjI0YzAgNDguNiAzOS40IDg4IDg4IDg4SDI5NnpcIl1cbn07XG52YXIgZmFUZW1wZXJhdHVyZUhhbGYgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGVtcGVyYXR1cmUtaGFsZicsXG4gIGljb246IFszMjAsIDUxMiwgWzEyNzc3NywgXCJ0ZW1wZXJhdHVyZS0yXCIsIFwidGhlcm1vbWV0ZXItMlwiLCBcInRoZXJtb21ldGVyLWhhbGZcIl0sIFwiZjJjOVwiLCBcIk0xNjAgNjRjLTI2LjUgMC00OCAyMS41LTQ4IDQ4VjI3Ni41YzAgMTcuMy03LjEgMzEuOS0xNS4zIDQyLjVDODYuMiAzMzIuNiA4MCAzNDkuNSA4MCAzNjhjMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MGMwLTE4LjUtNi4yLTM1LjQtMTYuNy00OC45Yy04LjItMTAuNi0xNS4zLTI1LjItMTUuMy00Mi41VjExMmMwLTI2LjUtMjEuNS00OC00OC00OHpNNDggMTEyQzQ4IDUwLjIgOTguMSAwIDE2MCAwczExMiA1MC4xIDExMiAxMTJWMjc2LjVjMCAuMSAuMSAuMyAuMiAuNmMuMiAuNiAuOCAxLjYgMS43IDIuOGMxOC45IDI0LjQgMzAuMSA1NSAzMC4xIDg4LjFjMCA3OS41LTY0LjUgMTQ0LTE0NCAxNDRTMTYgNDQ3LjUgMTYgMzY4YzAtMzMuMiAxMS4yLTYzLjggMzAuMS04OC4xYy45LTEuMiAxLjUtMi4yIDEuNy0yLjhjLjEtLjMgLjItLjUgLjItLjZWMTEyek0yMDggMzY4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4YzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM1YyMDhjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNlYzMjIuN2MxOC42IDYuNiAzMiAyNC40IDMyIDQ1LjN6XCJdXG59O1xudmFyIGZhVGVtcGVyYXR1cmUyID0gZmFUZW1wZXJhdHVyZUhhbGY7XG52YXIgZmFUaGVybW9tZXRlcjIgPSBmYVRlbXBlcmF0dXJlSGFsZjtcbnZhciBmYVRoZXJtb21ldGVySGFsZiA9IGZhVGVtcGVyYXR1cmVIYWxmO1xudmFyIGZhRG9uZ1NpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZG9uZy1zaWduJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlMTY5XCIsIFwiTTI4OCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoMzJ2NDkuMWMtMTguOC0xMC45LTQwLjctMTcuMS02NC0xNy4xYy03MC43IDAtMTI4IDU3LjMtMTI4IDEyOHM1Ny4zIDEyOCAxMjggMTI4YzI0LjUgMCA0Ny40LTYuOSA2Ni44LTE4LjhjNSAxMS4xIDE2LjIgMTguOCAyOS4yIDE4LjhjMTcuNyAwIDMyLTE0LjMgMzItMzJWMjg4IDEyOGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMTI4IDI4OGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6TTMyIDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkgzNTJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzJ6XCJdXG59O1xudmFyIGZhQ2Fwc3VsZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2Fwc3VsZXMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY0NmJcIiwgXCJNNjQgMTQ0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhWMjU2SDY0VjE0NHpNMCAxNDRWMzY4YzAgNjEuOSA1MC4xIDExMiAxMTIgMTEyczExMi01MC4xIDExMi0xMTJWMTg5LjZjMS44IDE5LjEgOC4yIDM4IDE5LjggNTQuOEwzNzIuMyA0MzEuN2MzNS41IDUxLjcgMTA1LjMgNjQuMyAxNTYgMjguMXM2My0xMDcuNSAyNy41LTE1OS4yTDQyNy4zIDExMy4zQzM5MS44IDYxLjUgMzIxLjkgNDkgMjcxLjMgODUuMmMtMjggMjAtNDQuMyA1MC44LTQ3LjMgODNWMTQ0YzAtNjEuOS01MC4xLTExMi0xMTItMTEyUzAgODIuMSAwIDE0NHptMjk2LjYgNjQuMmMtMTYtMjMuMy0xMC01NS4zIDExLjktNzFjMjEuMi0xNS4xIDUwLjUtMTAuMyA2NiAxMi4ybDY3IDk3LjZMMzYxLjYgMzAzbC02NS05NC44ek00OTEgNDA3LjdjLS44IC42LTEuNiAxLjEtMi40IDEuNmw0LTIuOGMtLjUgLjQtMSAuOC0xLjYgMS4yelwiXVxufTtcbnZhciBmYVBvb1N0b3JtID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Bvby1zdG9ybScsXG4gIGljb246IFs0NDgsIDUxMiwgW1wicG9vLWJvbHRcIl0sIFwiZjc1YVwiLCBcIk0yMzYuOSAuMmMtNS41LS43LTExIDEuNC0xNC41IDUuN3MtNC42IDEwLjEtMi44IDE1LjNjMi44IDguMiA0LjMgMTYuOSA0LjMgMjYuMWMwIDIxLjctOC41IDM3LjItMjEuOSA0Ny42Yy0xMy44IDEwLjgtMzQgMTctNTcuOCAxN0gxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0YzAgMTIuMiAzLjQgMjMuNSA5LjMgMzMuMkMzMS43IDIxNi4yIDAgMjUyLjQgMCAyOTZjMCA0MC45IDI4IDc1LjQgNjUuOCA4NS4yYy01LjMtMTguNSAxLTM4LjUgMTYuMi01MC43bDE2MC0xMjhjMTcuNi0xNC4xIDQyLjYtMTQgNjAuMiAuMnMyMi44IDM4LjYgMTIuOCA1OC44TDI4NS43IDMyMEgzMDRjMjAuNCAwIDM4LjUgMTIuOSA0NS4zIDMyLjFjMy43IDEwLjYgMy41IDIxLjggMCAzMS45SDM2MGM0OC42IDAgODgtMzkuNCA4OC04OGMwLTQzLjYtMzEuNy03OS44LTczLjMtODYuOGM1LjktOS43IDkuMy0yMS4xIDkuMy0zMy4yYzAtMzUuMy0yOC43LTY0LTY0LTY0aC0xLjRjLjktNS40IDEuNC0xMC45IDEuNC0xNi42YzAtNDguNy0zNi4xLTg4LjktODMuMS05NS4yem00NS4xIDIyNy40Yy01LjgtNC43LTE0LjItNC43LTIwLjEtLjFsLTE2MCAxMjhjLTUuMyA0LjItNy40IDExLjQtNS4xIDE3LjhzOC4zIDEwLjcgMTUuMSAxMC43aDcwLjFMMTI5LjcgNDg4LjhjLTMuNCA2LjctMS42IDE0LjkgNC4zIDE5LjZzMTQuMiA0LjcgMjAuMSAuMWwxNjAtMTI4YzUuMy00LjIgNy40LTExLjQgNS4xLTE3LjhzLTguMy0xMC43LTE1LjEtMTAuN0gyMzMuOWw1Mi40LTEwNC44YzMuNC02LjcgMS42LTE0LjktNC4zLTE5LjZ6XCJdXG59O1xudmFyIGZhUG9vQm9sdCA9IGZhUG9vU3Rvcm07XG52YXIgZmFGYWNlRnJvd25PcGVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtZnJvd24tb3BlbicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU1MCwgXCJmcm93bi1vcGVuXCJdLCBcImY1N2FcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE3Ni40IDE3NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTEyOCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0tMTIyIDE3NC41Yy0xMi40IDUuMi0yNi41LTQuMS0yMS4xLTE2LjRjMTYtMzYuNiA1Mi40LTYyLjEgOTQuOC02Mi4xczc4LjggMjUuNiA5NC44IDYyLjFjNS40IDEyLjMtOC43IDIxLjYtMjEuMSAxNi40Yy0yMi40LTkuNS00Ny40LTE0LjgtNzMuNy0xNC44cy01MS4zIDUuMy03My43IDE0Ljh6XCJdXG59O1xudmFyIGZhRnJvd25PcGVuID0gZmFGYWNlRnJvd25PcGVuO1xudmFyIGZhSGFuZFBvaW50VXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZC1wb2ludC11cCcsXG4gIGljb246IFszODQsIDUxMiwgWzk3NTddLCBcImYwYTZcIiwgXCJNMzIgMzJDMzIgMTQuMyA0Ni4zIDAgNjQgMFM5NiAxNC4zIDk2IDMyVjI0MEgzMlYzMnpNMjI0IDE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMydjY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjE5MnptLTY0LTY0YzE3LjcgMCAzMiAxNC4zIDMyIDMydjQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMTYwIDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMjI0em0tOTYgODhsMC0uNmM5LjQgNS40IDIwLjMgOC42IDMyIDguNmMxMy4yIDAgMjUuNC00IDM1LjYtMTAuOGM4LjcgMjQuOSAzMi41IDQyLjggNjAuNCA0Mi44YzExLjcgMCAyMi42LTMuMSAzMi04LjZWMzUyYzAgODguNC03MS42IDE2MC0xNjAgMTYwSDE2Mi4zYy00Mi40IDAtODMuMS0xNi45LTExMy4xLTQ2LjlMMzcuNSA0NTMuNUMxMy41IDQyOS41IDAgMzk2LjkgMCAzNjNWMzM2YzAtMzUuMyAyOC43LTY0IDY0LTY0aDg4YzIyLjEgMCA0MCAxNy45IDQwIDQwcy0xNy45IDQwLTQwIDQwSDk2Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2aDU2YzM5LjggMCA3Mi0zMi4yIDcyLTcyelwiXVxufTtcbnZhciBmYU1vbmV5QmlsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb25leS1iaWxsJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMGQ2XCIsIFwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4VjM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NEg1MTJjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0em02NCAzMjBINjRWMzIwYzM1LjMgMCA2NCAyOC43IDY0IDY0ek02NCAxOTJWMTI4aDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0ek00NDggMzg0YzAtMzUuMyAyOC43LTY0IDY0LTY0djY0SDQ0OHptNjQtMTkyYy0zNS4zIDAtNjQtMjguNy02NC02NGg2NHY2NHpNMjg4IDE2MGE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnpcIl1cbn07XG52YXIgZmFCb29rbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib29rbWFyaycsXG4gIGljb246IFszODQsIDUxMiwgWzEyODI3OCwgNjE1OTFdLCBcImYwMmVcIiwgXCJNMCA0OFY0ODcuN0MwIDUwMS4xIDEwLjkgNTEyIDI0LjMgNTEyYzUgMCA5LjktMS41IDE0LTQuNEwxOTIgNDAwIDM0NS43IDUwNy42YzQuMSAyLjkgOSA0LjQgMTQgNC40YzEzLjQgMCAyNC4zLTEwLjkgMjQuMy0yNC4zVjQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDQ4QzIxLjUgMCAwIDIxLjUgMCA0OHpcIl1cbn07XG52YXIgZmFBbGlnbkp1c3RpZnkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYWxpZ24tanVzdGlmeScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjAzOVwiLCBcIk00NDggNjRjMC0xNy43LTE0LjMtMzItMzItMzJIMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2SDQxNmMxNy43IDAgMzItMTQuMyAzMi0zMnptMCAyNTZjMC0xNy43LTE0LjMtMzItMzItMzJIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDE2YzE3LjcgMCAzMi0xNC4zIDMyLTMyek0wIDE5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMkg0MTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek00NDggNDQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMySDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDQxNmMxNy43IDAgMzItMTQuMyAzMi0zMnpcIl1cbn07XG52YXIgZmFVbWJyZWxsYUJlYWNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VtYnJlbGxhLWJlYWNoJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI3OTU4XSwgXCJmNWNhXCIsIFwiTTM0Ni4zIDI3MS44bC02MC4xLTIxLjlMMjE0IDQ0OEgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg1NDRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMjgyLjFsNjQuMS0xNzYuMnptMTIxLjEtLjJsLTMuMyA5LjEgNjcuNyAyNC42YzE4LjEgNi42IDM4LTQuMiAzOS42LTIzLjRjNi41LTc4LjUtMjMuOS0xNTUuNS04MC44LTIwOC41YzIgOCAzLjIgMTYuMyAzLjQgMjQuOGwuMiA2YzEuOCA1Ny03LjMgMTEzLjgtMjYuOCAxNjcuNHpNNDYyIDk5LjFjLTEuMS0zNC40LTIyLjUtNjQuOC01NC40LTc3LjRjLS45LS40LTEuOS0uNy0yLjgtMS4xYy0zMy0xMS43LTY5LjgtMi40LTkzLjEgMjMuOGwtNCA0LjVDMjcyLjQgODguMyAyNDUgMTM0LjIgMjI2LjggMTg0bC0zLjMgOS4xTDQzNCAyNjkuN2wzLjMtOS4xYzE4LjEtNDkuOCAyNi42LTEwMi41IDI0LjktMTU1LjVsLS4yLTZ6TTEwNy4yIDExMi45Yy0xMS4xIDE1LjctMi44IDM2LjggMTUuMyA0My40bDcxIDI1LjggMy4zLTkuMWMxOS41LTUzLjYgNDkuMS0xMDMgODcuMS0xNDUuNWw0LTQuNWM2LjItNi45IDEzLjEtMTMgMjAuNS0xOC4yYy03OS42IDIuNS0xNTQuNyA0Mi4yLTIwMS4yIDEwOHpcIl1cbn07XG52YXIgZmFIZWxtZXRVbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWxtZXQtdW4nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1MDNcIiwgXCJNNDc5LjUgMjI0QzQ3MS4yIDk4LjkgMzY3LjIgMCAyNDAgMEMxMDcuNSAwIDAgMTA3LjUgMCAyNDB2NTYuM0MwIDM0NC44IDM5LjIgMzg0IDg3LjcgMzg0SDIwMGgxNC45TDM0My41IDUwNS40YzQuNSA0LjIgMTAuNCA2LjYgMTYuNSA2LjZoOTZjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRIMzY5LjVsLTEuNS0xLjVWMjg4aDgwIDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyaC0uNXpNMzIwIDQxNy4ybC03OC03My43TDI3NC40IDI4OEgzMjBWNDE3LjJ6TTI4NS4zIDEwMy4xbDM0LjcgNTJWMTEyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ2OTZjMCA3LjEtNC42IDEzLjMtMTEuNCAxNS4zcy0xNC0uNi0xNy45LTYuNGwtMzQuNy01MlYyMDhjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWMTEyYzAtNy4xIDQuNi0xMy4zIDExLjQtMTUuM3MxNCAuNiAxNy45IDYuNHpNMTYwIDExMnY2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjExMmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2djY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4VjExMmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2elwiXVxufTtcbnZhciBmYUJ1bGxzZXllID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1bGxzZXllJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMTQwXCIsIFwiTTQ0OCAyNTZBMTkyIDE5MiAwIDEgMCA2NCAyNTZhMTkyIDE5MiAwIDEgMCAzODQgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2em0yNTYgODBhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6bTAtMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHpNMjI0IDI1NmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwelwiXVxufTtcbnZhciBmYUJhY29uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhY29uJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI5MzYzXSwgXCJmN2U1XCIsIFwiTTQzOS4yIDEuMmMxMS4yLTMuMiAyMy4yLS4xIDMxLjQgOC4xTDUxOCA1Ni43bC0yNi41IDcuOWMtNTggMTYuNi05OC4xIDM5LjYtMTI5LjYgNjcuNGMtMzEuMiAyNy41LTUzLjIgNTkuMS03NS4xIDkwLjlsLTIuMyAzLjNDMjQxLjYgMjg4LjcgMTk1IDM1Ni42IDcyLjggNDE3LjdMMzcuOSA0MzUuMiA5LjQgNDA2LjZjLTcuMy03LjMtMTAuNi0xNy42LTktMjcuOHM4LjEtMTguOSAxNy4zLTIzLjVDMTM2LjEgMjk2LjIgMTgwLjkgMjMxIDIyMy4zIDE2OS4zbDIuMy0zLjRjMjEuOC0zMS44IDQ0LjktNjQuOSA3Ny43LTkzLjljMzMuNC0yOS41IDc1LjgtNTMuNiAxMzUuOS03MC44ek02MS44IDQ1OWwyNS40LTEyLjdjMTI5LjUtNjQuNyAxNzkuOS0xMzguMSAyMjMuOC0yMDJsMi4yLTMuM2MyMi4xLTMyLjEgNDIuMS02MC41IDY5LjktODUuMWMyNy41LTI0LjMgNjMuNC00NS4yIDExNy4zLTYwLjZsMCAwIC4yLS4xIDQzLjEtMTIuOSAyMyAyM2M4IDggMTEuMiAxOS43IDguMyAzMC43cy0xMS4zIDE5LjYtMjIuMiAyMi43Yy01MS45IDE0LjgtODUuNiAzNC43LTExMS4xIDU3LjJjLTI2LjEgMjMtNDUuMSA0OS45LTY3LjMgODIuMWwtMi4yIDMuMkMzMjcuOCAzNjUuOSAyNzUuNSA0NDIgMTQyLjMgNTA4LjZjLTEyLjMgNi4yLTI3LjIgMy43LTM2LjktNkw2MS44IDQ1OXpcIl1cbn07XG52YXIgZmFIYW5kUG9pbnREb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtcG9pbnQtZG93bicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjBhN1wiLCBcIk0zMiA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyNzJIMzJWNDgwek0yMjQgMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMjU2YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMydjY0em0tNjQgNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzA0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMydjQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyem0xNjAtOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyMjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ2NjR6bS05Ni04OGwwIC42YzkuNC01LjQgMjAuMy04LjYgMzItOC42YzEzLjIgMCAyNS40IDQgMzUuNiAxMC44YzguNy0yNC45IDMyLjUtNDIuOCA2MC40LTQyLjhjMTEuNyAwIDIyLjYgMy4xIDMyIDguNlYxNjBDMzg0IDcxLjYgMzEyLjQgMCAyMjQgMEgxNjIuM0MxMTkuOCAwIDc5LjEgMTYuOSA0OS4xIDQ2LjlMMzcuNSA1OC41QzEzLjUgODIuNSAwIDExNS4xIDAgMTQ5djI3YzAgMzUuMyAyOC43IDY0IDY0IDY0aDg4YzIyLjEgMCA0MC0xNy45IDQwLTQwcy0xNy45LTQwLTQwLTQwSDk2Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2aDU2YzM5LjggMCA3MiAzMi4yIDcyIDcyelwiXVxufTtcbnZhciBmYUFycm93VXBGcm9tQnJhY2tldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy11cC1mcm9tLWJyYWNrZXQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImUwOWFcIiwgXCJNMjQ2LjYgOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTI4IDEyOGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxOTIgMTA5LjMgMTkyIDMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjEwLjcgNzMuNCA3My40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTEyOC0xMjh6TTY0IDM1MmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDY0YzAgNTMgNDMgOTYgOTYgOTZsMjU2IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJMOTYgNDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0elwiXVxufTtcbnZhciBmYUZvbGRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmb2xkZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgxOTMsIDEyODQ0NywgNjE3MTYsIFwiZm9sZGVyLWJsYW5rXCJdLCBcImYwN2JcIiwgXCJNNjQgNDgwSDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NFYxNjBjMC0zNS4zLTI4LjctNjQtNjQtNjRIMjg4Yy0xMC4xIDAtMTkuNi00LjctMjUuNi0xMi44TDI0My4yIDU3LjZDMjMxLjEgNDEuNSAyMTIuMSAzMiAxOTIgMzJINjRDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjR6XCJdXG59O1xudmFyIGZhRm9sZGVyQmxhbmsgPSBmYUZvbGRlcjtcbnZhciBmYUZpbGVXYXZlZm9ybSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLXdhdmVmb3JtJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJmaWxlLW1lZGljYWwtYWx0XCJdLCBcImY0NzhcIiwgXCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NFYyODhIMTQ0YzYuMSAwIDExLjYgMy40IDE0LjMgOC44TDE3NiAzMzIuMmw0OS43LTk5LjRjMi43LTUuNCA4LjMtOC44IDE0LjMtOC44czExLjYgMy40IDE0LjMgOC44TDI4MS45IDI4OEgzNTJjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMjcyYy02LjEgMC0xMS42LTMuNC0xNC4zLTguOEwyNDAgMjc1LjhsLTQ5LjcgOTkuNGMtMi43IDUuNC04LjMgOC44LTE0LjMgOC44cy0xMS42LTMuNC0xNC4zLTguOEwxMzQuMSAzMjBIMzJWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDM1MmMzNS4zIDAgNjQtMjguNyA2NC02NFYxNjBIMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYwSDk2ek0yODggMFYxMjhINDE2TDI4OCAwelwiXVxufTtcbnZhciBmYUZpbGVNZWRpY2FsQWx0ID0gZmFGaWxlV2F2ZWZvcm07XG52YXIgZmFSYWRpYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmFkaWF0aW9uJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmN2I5XCIsIFwiTTIxNiAxODYuN2MtMjMuOSAxMy44LTQwIDM5LjctNDAgNjkuM0wzMiAyNTZDMTQuMyAyNTYtLjIgMjQxLjYgMiAyMjQuMUMxMC43IDE1NCA0Ny44IDkyLjcgMTAxLjMgNTJjMTQuMS0xMC43IDMzLjgtNS4zIDQyLjcgMTBsNzIgMTI0Ljd6TTI1NiAzMzZjMTQuNiAwIDI4LjItMy45IDQwLTEwLjdsNzIgMTI0LjhjOC44IDE1LjMgMy43IDM1LjEtMTIuNiA0MS45Yy0zMC42IDEyLjktNjQuMiAyMC05OS40IDIwcy02OC45LTcuMS05OS40LTIwYy0xNi4zLTYuOS0yMS40LTI2LjYtMTIuNi00MS45bDcyLTEyNC44YzExLjggNi44IDI1LjQgMTAuNyA0MCAxMC43em0yMjQtODBsLTE0NCAwYzAtMjkuNi0xNi4xLTU1LjUtNDAtNjkuM0wzNjggNjJjOC44LTE1LjMgMjguNi0yMC43IDQyLjctMTBjNTMuNiA0MC43IDkwLjYgMTAyIDk5LjQgMTcyLjFjMi4yIDE3LjUtMTIuNCAzMS45LTMwIDMxLjl6TTI1NiAyMDhhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2elwiXVxufTtcbnZhciBmYUNoYXJ0U2ltcGxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoYXJ0LXNpbXBsZScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTQ3M1wiLCBcIk0xNjAgODBjMC0yNi41IDIxLjUtNDggNDgtNDhoMzJjMjYuNSAwIDQ4IDIxLjUgNDggNDhWNDMyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDIwOGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWODB6TTAgMjcyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4SDgwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4VjQzMmMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMjcyek0zNjggOTZoMzJjMjYuNSAwIDQ4IDIxLjUgNDggNDhWNDMyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDM2OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMTQ0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4elwiXVxufTtcbnZhciBmYU1hcnNTdHJva2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFycy1zdHJva2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5ODk0XSwgXCJmMjI5XCIsIFwiTTM3NiAwYy05LjcgMC0xOC41IDUuOC0yMi4yIDE0LjhzLTEuNyAxOS4zIDUuMiAyNi4ybDMzLjQgMzMuNEwzNzAuMyA5Ni40IDM0NSA3MWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwyNS40IDI1LjRMMzA3LjggMTU5Yy0yOC40LTE5LjUtNjIuNy0zMS05OS44LTMxYy05Ny4yIDAtMTc2IDc4LjgtMTc2IDE3NnM3OC44IDE3NiAxNzYgMTc2czE3Ni03OC44IDE3Ni0xNzZjMC0zNy0xMS40LTcxLjQtMzEtOTkuOGwyOC42LTI4LjZMNDA3IDIwMWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTI1LjQtMjUuNCAyMi4xLTIyLjFMNDcxIDE1M2M2LjkgNi45IDE3LjIgOC45IDI2LjIgNS4yczE0LjgtMTIuNSAxNC44LTIyLjJWMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRIMzc2em04OCA0OGgwdjBsMCAwek05NiAzMDRhMTEyIDExMiAwIDEgMSAyMjQgMEExMTIgMTEyIDAgMSAxIDk2IDMwNHpcIl1cbn07XG52YXIgZmFWaWFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZpYWwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjk1MTRdLCBcImY0OTJcIiwgXCJNMzQyLjYgOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w5LjQgOS40TDI4LjEgMzQyLjZDMTAuMSAzNjAuNiAwIDM4NSAwIDQxMC41VjQxNmMwIDUzIDQzIDk2IDk2IDk2aDUuNWMyNS41IDAgNDkuOS0xMC4xIDY3LjktMjguMUw0NDggMjA1LjNsOS40IDkuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC0zMi0zMi05Ni05Ni0zMi0zMnpNMjA1LjMgMjU2TDM1MiAxMDkuMyA0MDIuNyAxNjBsLTk2IDk2SDIwNS4zelwiXVxufTtcbnZhciBmYUdhdWdlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dhdWdlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJkYXNoYm9hcmRcIiwgXCJnYXVnZS1tZWRcIiwgXCJ0YWNob21ldGVyLWFsdC1hdmVyYWdlXCJdLCBcImY2MjRcIiwgXCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2em0zMjAgOTZjMC0yNi45LTE2LjUtNDkuOS00MC01OS4zVjg4YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0VjI5Mi43Yy0yMy41IDkuNS00MCAzMi41LTQwIDU5LjNjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHpNMTQ0IDE3NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bS0xNiA4MGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0yODggMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek00MDAgMTQ0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6XCJdXG59O1xudmFyIGZhRGFzaGJvYXJkID0gZmFHYXVnZTtcbnZhciBmYUdhdWdlTWVkID0gZmFHYXVnZTtcbnZhciBmYVRhY2hvbWV0ZXJBbHRBdmVyYWdlID0gZmFHYXVnZTtcbnZhciBmYVdhbmRNYWdpY1NwYXJrbGVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dhbmQtbWFnaWMtc3BhcmtsZXMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcIm1hZ2ljLXdhbmQtc3BhcmtsZXNcIl0sIFwiZTJjYVwiLCBcIk0yMzQuNyA0Mi43TDE5NyA1Ni44Yy0zIDEuMS01IDQtNSA3LjJzMiA2LjEgNSA3LjJsMzcuNyAxNC4xTDI0OC44IDEyM2MxLjEgMyA0IDUgNy4yIDVzNi4xLTIgNy4yLTVsMTQuMS0zNy43TDMxNSA3MS4yYzMtMS4xIDUtNCA1LTcuMnMtMi02LjEtNS03LjJMMjc3LjMgNDIuNyAyNjMuMiA1Yy0xLjEtMy00LTUtNy4yLTVzLTYuMSAyLTcuMiA1TDIzNC43IDQyLjd6TTQ2LjEgMzk1LjRjLTE4LjcgMTguNy0xOC43IDQ5LjEgMCA2Ny45bDM0LjYgMzQuNmMxOC43IDE4LjcgNDkuMSAxOC43IDY3LjkgMEw1MjkuOSAxMTYuNWMxOC43LTE4LjcgMTguNy00OS4xIDAtNjcuOUw0OTUuMyAxNC4xYy0xOC43LTE4LjctNDkuMS0xOC43LTY3LjkgMEw0Ni4xIDM5NS40ek00ODQuNiA4Mi42bC0xMDUgMTA1LTIzLjMtMjMuMyAxMDUtMTA1IDIzLjMgMjMuM3pNNy41IDExNy4yQzMgMTE4LjkgMCAxMjMuMiAwIDEyOHMzIDkuMSA3LjUgMTAuOEw2NCAxNjBsMjEuMiA1Ni41YzEuNyA0LjUgNiA3LjUgMTAuOCA3LjVzOS4xLTMgMTAuOC03LjVMMTI4IDE2MGw1Ni41LTIxLjJjNC41LTEuNyA3LjUtNiA3LjUtMTAuOHMtMy05LjEtNy41LTEwLjhMMTI4IDk2IDEwNi44IDM5LjVDMTA1LjEgMzUgMTAwLjggMzIgOTYgMzJzLTkuMSAzLTEwLjggNy41TDY0IDk2IDcuNSAxMTcuMnptMzUyIDI1NmMtNC41IDEuNy03LjUgNi03LjUgMTAuOHMzIDkuMSA3LjUgMTAuOEw0MTYgNDE2bDIxLjIgNTYuNWMxLjcgNC41IDYgNy41IDEwLjggNy41czkuMS0zIDEwLjgtNy41TDQ4MCA0MTZsNTYuNS0yMS4yYzQuNS0xLjcgNy41LTYgNy41LTEwLjhzLTMtOS4xLTcuNS0xMC44TDQ4MCAzNTJsLTIxLjItNTYuNWMtMS43LTQuNS02LTcuNS0xMC44LTcuNXMtOS4xIDMtMTAuOCA3LjVMNDE2IDM1MmwtNTYuNSAyMS4yelwiXVxufTtcbnZhciBmYU1hZ2ljV2FuZFNwYXJrbGVzID0gZmFXYW5kTWFnaWNTcGFya2xlcztcbnZhciBmYUUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZScsXG4gIGljb246IFszMjAsIDUxMiwgWzEwMV0sIFwiNDVcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlYyNTYgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDI4OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg2NFYyODhIMjI0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDY0Vjk2SDI4OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg2NHpcIl1cbn07XG52YXIgZmFQZW5DbGlwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Blbi1jbGlwJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJwZW4tYWx0XCJdLCBcImYzMDVcIiwgXCJNNDUzLjMgMTkuM2wzOS40IDM5LjRjMjUgMjUgMjUgNjUuNSAwIDkwLjVsLTUyLjEgNTIuMSAwIDAtMS0xIDAgMC0xNi0xNi05Ni05Ni0xNy0xNyA1Mi4xLTUyLjFjMjUtMjUgNjUuNS0yNSA5MC41IDB6TTI0MSAxMTQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBMMTA1IDIxN2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOUwxNzMuMSA4MWMyOC4xLTI4LjEgNzMuNy0yOC4xIDEwMS44IDBMMjg4IDk0LjFsMTcgMTcgOTYgOTYgMTYgMTYgMSAxLTE3IDE3TDIyOS41IDQxMi41Yy00OCA0OC0xMDkuMiA4MC44LTE3NS44IDk0LjFsLTI1IDVjLTcuOSAxLjYtMTYtLjktMjEuNy02LjZzLTguMS0xMy44LTYuNi0yMS43bDUtMjVjMTMuMy02Ni42IDQ2LjEtMTI3LjggOTQuMS0xNzUuOEwyNTQuMSAxMjggMjQxIDExNC45elwiXVxufTtcbnZhciBmYVBlbkFsdCA9IGZhUGVuQ2xpcDtcbnZhciBmYUJyaWRnZUNpcmNsZUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JyaWRnZS1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0Y2FcIiwgXCJNNjQgMzJDNDYuMyAzMiAzMiA0Ni4zIDMyIDY0czE0LjMgMzIgMzIgMzJoNDB2NjRIMzJWMjg4YzUzIDAgOTYgNDMgOTYgOTZ2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzg0YzAtNTMgNDMtOTYgOTYtOTZjNi4zIDAgMTIuNCAuNiAxOC4zIDEuN0MzNjcuMSAyMzEuOCA0MjYuOSAxOTIgNDk2IDE5MmM0Mi41IDAgODEuNiAxNS4xIDExMiA0MC4yVjE2MEg1MzZWOTZoNDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINjR6TTQ4OCA5NnY2NEg0MDhWOTZoODB6TTM2MCA5NnY2NEgyODBWOTZoODB6TTIzMiA5NnY2NEgxNTJWOTZoODB6TTQ5NiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTk2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMC0xNDRjOC44IDAgMTYgNy4yIDE2IDE2djgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjI4OGMwLTguOCA3LjItMTYgMTYtMTZ6XCJdXG59O1xudmFyIGZhVXNlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI4MTAwLCA2MjE0NF0sIFwiZjAwN1wiLCBcIk0yMjQgMjU2QTEyOCAxMjggMCAxIDAgMjI0IDBhMTI4IDEyOCAwIDEgMCAwIDI1NnptLTQ1LjcgNDhDNzkuOCAzMDQgMCAzODMuOCAwIDQ4Mi4zQzAgNDk4LjcgMTMuMyA1MTIgMjkuNyA1MTJINDE4LjNjMTYuNCAwIDI5LjctMTMuMyAyOS43LTI5LjdDNDQ4IDM4My44IDM2OC4yIDMwNCAyNjkuNyAzMDRIMTc4LjN6XCJdXG59O1xudmFyIGZhU2Nob29sQ2lyY2xlQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2Nob29sLWNpcmNsZS1jaGVjaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU2YlwiLCBcIk0zMzcuOCA1LjRDMzI3LTEuOCAzMTMtMS44IDMwMi4yIDUuNEwxNjYuMyA5Nkg0OEMyMS41IDk2IDAgMTE3LjUgMCAxNDRWNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDMyMHYwSDI1NlY0MTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsLjMgMGguNWMzLjQtMzcuNyAxOC43LTcyLjEgNDIuMi05OS4xQzM1MC4yIDI2MCAzMzUuNiAyNjQgMzIwIDI2NGMtNDguNiAwLTg4LTM5LjQtODgtODhzMzkuNC04OCA4OC04OHM4OCAzOS40IDg4IDg4YzAgMTguMy01LjYgMzUuMy0xNS4xIDQ5LjRjMjktMjEgNjQuNi0zMy40IDEwMy4xLTMzLjRjNTkuNSAwIDExMi4xIDI5LjYgMTQ0IDc0LjhWMTQ0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDQ3My43TDMzNy44IDUuNHpNOTYgMTkyaDMyYzguOCAwIDE2IDcuMiAxNiAxNnY2NGMwIDguOC03LjIgMTYtMTYgMTZIOTZjLTguOCAwLTE2LTcuMi0xNi0xNlYyMDhjMC04LjggNy4yLTE2IDE2LTE2em0wIDEyOGgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2NjRjMCA4LjgtNy4yIDE2LTE2IDE2SDk2Yy04LjggMC0xNi03LjItMTYtMTZWMzM2YzAtOC44IDcuMi0xNiAxNi0xNnpNMzIwIDEyOGMtOC44IDAtMTYgNy4yLTE2IDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgzMzZWMTQ0YzAtOC44LTcuMi0xNi0xNi0xNnpNNjQwIDM2OGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tOTkuMy00My4zYzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNmwtNzIgNzJjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwbC00MC00MGMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQ4MCAzODUuNGw2MC43LTYwLjd6XCJdXG59O1xudmFyIGZhRHVtcHN0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZHVtcHN0ZXInLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY3OTNcIiwgXCJNNDkuNyAzMmMtMTAuNSAwLTE5LjggNi45LTIyLjkgMTYuOUwuOSAxMzNjLS42IDItLjkgNC4xLS45IDYuMUMwIDE1MC43IDkuMyAxNjAgMjAuOSAxNjBoOTRMMTQwLjUgMzJINDkuN3pNMjcyIDE2MFYzMkgxNzMuMUwxNDcuNSAxNjBIMjcyem0zMiAwSDQyOC41TDQwMi45IDMySDMwNFYxNjB6bTE1Ny4xIDBoOTRjMTEuNSAwIDIwLjktOS4zIDIwLjktMjAuOWMwLTIuMS0uMy00LjEtLjktNi4xTDU0OS4yIDQ4LjlDNTQ2LjEgMzguOSA1MzYuOCAzMiA1MjYuMyAzMkg0MzUuNWwyNS42IDEyOHpNMzIgMTkybDQgMzJIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDRMNjQgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJINDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMjAtMTYwaDEyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyaC00bDQtMzJIMzJ6XCJdXG59O1xudmFyIGZhVmFuU2h1dHRsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2YW4tc2h1dHRsZScsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODY1NiwgXCJzaHV0dGxlLXZhblwiXSwgXCJmNWI2XCIsIFwiTTY0IDEwNHY4OGg5NlY5Nkg3MmMtNC40IDAtOCAzLjYtOCA4em00ODIgODhMNDY1LjEgOTZIMzg0djk2SDU0NnptLTIyNiAwVjk2SDIyNHY5Nmg5NnpNNTkyIDM4NEg1NzZjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZIMjU2YzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFYxMDRDMCA2NC4yIDMyLjIgMzIgNzIgMzJIMTkyIDM1MiA0NjUuMWMxOC45IDAgMzYuOCA4LjMgNDkgMjIuOEw2MjUgMTg2LjVjOS43IDExLjUgMTUgMjYuMSAxNSA0MS4yVjMzNmMwIDI2LjUtMjEuNSA0OC00OCA0OHptLTY0IDBhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNMTYwIDQzMmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6XCJdXG59O1xudmFyIGZhU2h1dHRsZVZhbiA9IGZhVmFuU2h1dHRsZTtcbnZhciBmYUJ1aWxkaW5nVXNlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidWlsZGluZy11c2VyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGRhXCIsIFwiTTQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4VjQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGg5NlY0MzJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OHY4MGg4OS45Yy02LjMtMTAuMi05LjktMjIuMi05LjktMzUuMWMwLTQ2LjkgMjUuOC04Ny44IDY0LTEwOS4yVjI3MS44IDQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDQ4ek02NCAyNDBjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIODBjLTguOCAwLTE2LTcuMi0xNi0xNlYyNDB6bTExMi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDE3NmMtOC44IDAtMTYtNy4yLTE2LTE2VjI0MGMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDI3MmMtOC44IDAtMTYtNy4yLTE2LTE2VjI0MHpNODAgOTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjExMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDE3NmMtOC44IDAtMTYtNy4yLTE2LTE2VjExMnpNMjcyIDk2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMjcyYy04LjggMC0xNi03LjItMTYtMTZWMTEyYzAtOC44IDcuMi0xNiAxNi0xNnpNNTc2IDI3MmE4MCA4MCAwIDEgMCAtMTYwIDAgODAgODAgMCAxIDAgMTYwIDB6TTM1MiA0NzcuMWMwIDE5LjMgMTUuNiAzNC45IDM0LjkgMzQuOUg2MDUuMWMxOS4zIDAgMzQuOS0xNS42IDM0LjktMzQuOWMwLTUxLjQtNDEuNy05My4xLTkzLjEtOTMuMUg0NDUuMWMtNTEuNCAwLTkzLjEgNDEuNy05My4xIDkzLjF6XCJdXG59O1xudmFyIGZhU3F1YXJlQ2FyZXRMZWZ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1jYXJldC1sZWZ0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJjYXJldC1zcXVhcmUtbGVmdFwiXSwgXCJmMTkxXCIsIFwiTTAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZ6TTEyOCAyNTZjMC02LjcgMi44LTEzIDcuNy0xNy42bDExMi0xMDRjNy02LjUgMTcuMi04LjIgMjUuOS00LjRzMTQuNCAxMi41IDE0LjQgMjJsMCAyMDhjMCA5LjUtNS43IDE4LjItMTQuNCAyMnMtMTguOSAyLjEtMjUuOS00LjRsLTExMi0xMDRjLTQuOS00LjUtNy43LTEwLjktNy43LTE3LjZ6XCJdXG59O1xudmFyIGZhQ2FyZXRTcXVhcmVMZWZ0ID0gZmFTcXVhcmVDYXJldExlZnQ7XG52YXIgZmFIaWdobGlnaHRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoaWdobGlnaHRlcicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjU5MVwiLCBcIk0zMTUgMzE1bDE1OC40LTIxNUw0NDQuMSA3MC42IDIyOSAyMjkgMzE1IDMxNXptLTE4NyA1bDAgMFYyNDguM2MwLTE1LjMgNy4yLTI5LjYgMTkuNS0zOC42TDQyMC42IDguNEM0MjggMi45IDQzNyAwIDQ0Ni4yIDBjMTEuNCAwIDIyLjQgNC41IDMwLjUgMTIuNmw1NC44IDU0LjhjOC4xIDguMSAxMi42IDE5IDEyLjYgMzAuNWMwIDkuMi0yLjkgMTguMi04LjQgMjUuNkwzMzQuNCAzOTYuNWMtOSAxMi4zLTIzLjQgMTkuNS0zOC42IDE5LjVIMjI0bC0yNS40IDI1LjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC01MC43LTUwLjdjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zTDEyOCAzMjB6TTcgNDY2LjNsNjMtNjMgNzAuNiA3MC42LTMxIDMxYy00LjUgNC41LTEwLjYgNy0xNyA3SDI0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHYtNC43YzAtNi40IDIuNS0xMi41IDctMTd6XCJdXG59O1xudmFyIGZhS2V5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2tleScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODI3M10sIFwiZjA4NFwiLCBcIk0zMzYgMzUyYzk3LjIgMCAxNzYtNzguOCAxNzYtMTc2UzQzMy4yIDAgMzM2IDBTMTYwIDc4LjggMTYwIDE3NmMwIDE4LjcgMi45IDM2LjggOC4zIDUzLjdMNyAzOTFjLTQuNSA0LjUtNyAxMC42LTcgMTd2ODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRoODBjMTMuMyAwIDI0LTEwLjcgMjQtMjRWNDQ4aDQwYzEzLjMgMCAyNC0xMC43IDI0LTI0VjM4NGg0MGM2LjQgMCAxMi41LTIuNSAxNy03bDMzLjMtMzMuM2MxNi45IDUuNCAzNSA4LjMgNTMuNyA4LjN6TTM3NiA5NmE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6XCJdXG59O1xudmFyIGZhQnVsbGhvcm4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVsbGhvcm4nLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyMjYsIDEyODM2M10sIFwiZjBhMVwiLCBcIk00ODAgMzJjMC0xMi45LTcuOC0yNC42LTE5LjgtMjkuNnMtMjUuNy0yLjItMzQuOSA2LjlMMzgxLjcgNTNjLTQ4IDQ4LTExMy4xIDc1LTE4MSA3NUgxOTIgMTYwIDY0Yy0zNS4zIDAtNjQgMjguNy02NCA2NHY5NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmg2NGMxNy43IDAgMzItMTQuMyAzMi0zMlYzNTJsOC43IDBjNjcuOSAwIDEzMyAyNyAxODEgNzVsNDMuNiA0My42YzkuMiA5LjIgMjIuOSAxMS45IDM0LjkgNi45czE5LjgtMTYuNiAxOS44LTI5LjZWMzAwLjRjMTguNi04LjggMzItMzIuNSAzMi02MC40cy0xMy40LTUxLjYtMzItNjAuNFYzMnptLTY0IDc2LjdWMjQwIDM3MS4zQzM1Ny4yIDMxNy44IDI4MC41IDI4OCAyMDAuNyAyODhIMTkyVjE5Mmg4LjdjNzkuOCAwIDE1Ni41LTI5LjggMjE1LjMtODMuM3pcIl1cbn07XG52YXIgZmFHbG9iZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnbG9iZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzc2MF0sIFwiZjBhY1wiLCBcIk0zNTIgMjU2YzAgMjIuMi0xLjIgNDMuNi0zLjMgNjRIMTYzLjNjLTIuMi0yMC40LTMuMy00MS44LTMuMy02NHMxLjItNDMuNiAzLjMtNjRIMzQ4LjdjMi4yIDIwLjQgMy4zIDQxLjggMy4zIDY0em0yOC44LTY0SDUwMy45YzUuMyAyMC41IDguMSA0MS45IDguMSA2NHMtMi44IDQzLjUtOC4xIDY0SDM4MC44YzIuMS0yMC42IDMuMi00MiAzLjItNjRzLTEuMS00My40LTMuMi02NHptMTEyLjYtMzJIMzc2LjdjLTEwLTYzLjktMjkuOC0xMTcuNC01NS4zLTE1MS42Yzc4LjMgMjAuNyAxNDIgNzcuNSAxNzEuOSAxNTEuNnptLTE0OS4xIDBIMTY3LjdjNi4xLTM2LjQgMTUuNS02OC42IDI3LTk0LjdjMTAuNS0yMy42IDIyLjItNDAuNyAzMy41LTUxLjVDMjM5LjQgMy4yIDI0OC43IDAgMjU2IDBzMTYuNiAzLjIgMjcuOCAxMy44YzExLjMgMTAuOCAyMyAyNy45IDMzLjUgNTEuNWMxMS42IDI2IDIwLjkgNTguMiAyNyA5NC43em0tMjA5IDBIMTguNkM0OC42IDg1LjkgMTEyLjIgMjkuMSAxOTAuNiA4LjRDMTY1LjEgNDIuNiAxNDUuMyA5Ni4xIDEzNS4zIDE2MHpNOC4xIDE5MkgxMzEuMmMtMi4xIDIwLjYtMy4yIDQyLTMuMiA2NHMxLjEgNDMuNCAzLjIgNjRIOC4xQzIuOCAyOTkuNSAwIDI3OC4xIDAgMjU2czIuOC00My41IDguMS02NHpNMTk0LjcgNDQ2LjZjLTExLjYtMjYtMjAuOS01OC4yLTI3LTk0LjZIMzQ0LjNjLTYuMSAzNi40LTE1LjUgNjguNi0yNyA5NC42Yy0xMC41IDIzLjYtMjIuMiA0MC43LTMzLjUgNTEuNUMyNzIuNiA1MDguOCAyNjMuMyA1MTIgMjU2IDUxMnMtMTYuNi0zLjItMjcuOC0xMy44Yy0xMS4zLTEwLjgtMjMtMjcuOS0zMy41LTUxLjV6TTEzNS4zIDM1MmMxMCA2My45IDI5LjggMTE3LjQgNTUuMyAxNTEuNkMxMTIuMiA0ODIuOSA0OC42IDQyNi4xIDE4LjYgMzUySDEzNS4zem0zNTguMSAwYy0zMCA3NC4xLTkzLjYgMTMwLjktMTcxLjkgMTUxLjZjMjUuNS0zNC4yIDQ1LjItODcuNyA1NS4zLTE1MS42SDQ5My40elwiXVxufTtcbnZhciBmYVN5bmFnb2d1ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzeW5hZ29ndWUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjgzMzNdLCBcImY2OWJcIiwgXCJNMzA5LjggMy43YzUuOS00LjkgMTQuNi00LjkgMjAuNSAwbDEyMSAxMDAuOEM0NjkuNSAxMTkuNyA0ODAgMTQyLjIgNDgwIDE2NlYyODAuMSA1MTJINDY0IDM1MlY0MTZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ2OTZIMTc2IDE2MFYyODAuMSAxNjZjMC0yMy43IDEwLjUtNDYuMyAyOC44LTYxLjVMMzA5LjggMy43ek01MTIgNTEyVjI0NC41bDI4LjEtMzEuMmMzLTMuNCA3LjQtNS4zIDExLjktNS4zczguOSAxLjkgMTEuOSA1LjNsNjMuOCA3MC45YzcuOSA4LjggMTIuMyAyMC4zIDEyLjMgMzIuMVY0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRINTEyek0xMjggMjQ0LjVWNTEySDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFYzMTYuM2MwLTExLjkgNC40LTIzLjMgMTIuMy0zMi4xbDYzLjgtNzAuOWMzLTMuNCA3LjQtNS4zIDExLjktNS4zczguOSAxLjkgMTEuOSA1LjNMMTI4IDI0NC41ek0zMjcgMTI0LjNjLTMuMS01LjQtMTAuOS01LjQtMTMuOSAwbC0xNS45IDI4LjEtMzIuMy0uM2MtNi4yLS4xLTEwLjEgNi43LTcgMTIuMUwyNzQuMyAxOTJsLTE2LjQgMjcuOGMtMy4yIDUuNCAuNyAxMi4xIDcgMTIuMWwzMi4zLS4zTDMxMyAyNTkuN2MzLjEgNS40IDEwLjkgNS40IDEzLjkgMGwxNS45LTI4LjEgMzIuMyAuM2M2LjIgLjEgMTAuMS02LjcgNy0xMi4xTDM2NS43IDE5MmwxNi40LTI3LjhjMy4yLTUuNC0uNy0xMi4xLTctMTIuMWwtMzIuMyAuM0wzMjcgMTI0LjN6XCJdXG59O1xudmFyIGZhUGVyc29uSGFsZkRyZXNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1oYWxmLWRyZXNzJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJlNTQ4XCIsIFwiTTE2MCAwYTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnptOCAzNTJWMTI4aDYuOWMzMy43IDAgNjQuOSAxNy43IDgyLjMgNDYuNmw1OC4zIDk3YzkuMSAxNS4xIDQuMiAzNC44LTEwLjkgNDMuOXMtMzQuOCA0LjItNDMuOS0xMC45TDIzMiAyNTYuOVY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzUyaDB6TTU4LjIgMTgyLjNjMTkuOS0zMy4xIDU1LjMtNTMuNSA5My44LTU0LjNWMzg0aDB2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzg0SDcwLjJjLTEwLjkgMC0xOC42LTEwLjctMTUuMi0yMS4xTDkzLjMgMjQ4LjEgNTkuNCAzMDQuNWMtOS4xIDE1LjEtMjguOCAyMC00My45IDEwLjlzLTIwLTI4LjgtMTAuOS00My45bDUzLjYtODkuMnpcIl1cbn07XG52YXIgZmFSb2FkQnJpZGdlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JvYWQtYnJpZGdlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTYzXCIsIFwiTTM1MiAwSDYwOGMxNy43IDAgMzIgMTQuMyAzMiAzMlY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJIMzUyYy0xNy43IDAtMzItMTQuMy0zMi0zMlYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNDgwIDIwMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR2NjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFYyMjRjMC0xMy4zLTEwLjctMjQtMjQtMjR6bTI0IDE4NGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHY2NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjM4NHpNNDgwIDQwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHY2NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjY0YzAtMTMuMy0xMC43LTI0LTI0LTI0ek0zMiA5NkgyODh2NjRIMjQ4djY0aDQwdjk2Yy01MyAwLTk2IDQzLTk2IDk2djY0YzAgMTcuNy0xNC4zIDMyLTMyIDMySDEyOGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDE2YzAtNTMtNDMtOTYtOTYtOTZWMjI0SDcyVjE2MEgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMTY4IDY0SDEyMHY2NGg4MFYxNjB6XCJdXG59O1xudmFyIGZhTG9jYXRpb25BcnJvdyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsb2NhdGlvbi1hcnJvdycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjEyNFwiLCBcIk00MjkuNiA5Mi4xYzQuOS0xMS45IDIuMS0yNS42LTctMzQuN3MtMjIuOC0xMS45LTM0LjctN2wtMzUyIDE0NGMtMTQuMiA1LjgtMjIuMiAyMC44LTE5LjMgMzUuOHMxNi4xIDI1LjggMzEuNCAyNS44SDIyNFY0MzJjMCAxNS4zIDEwLjggMjguNCAyNS44IDMxLjRzMzAtNS4xIDM1LjgtMTkuM2wxNDQtMzUyelwiXVxufTtcbnZhciBmYUMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYycsXG4gIGljb246IFszODQsIDUxMiwgWzk5XSwgXCI0M1wiLCBcIk0zMjkuMSAxNDIuOWMtNjIuNS02Mi41LTE1NS44LTYyLjUtMjE4LjMgMHMtNjIuNSAxNjMuOCAwIDIyNi4zczE1NS44IDYyLjUgMjE4LjMgMGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zYy04Ny41IDg3LjUtMjIxLjMgODcuNS0zMDguOCAwcy04Ny41LTIyOS4zIDAtMzE2LjhzMjIxLjMtODcuNSAzMDguOCAwYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwelwiXVxufTtcbnZhciBmYVRhYmxldEJ1dHRvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YWJsZXQtYnV0dG9uJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMTBhXCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6TTIyNCA0MDBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbnZhciBmYUJ1aWxkaW5nTG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidWlsZGluZy1sb2NrJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGQ2XCIsIFwiTTQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4VjQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGg5NlY0MzJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OHY4MGg4OC42Yy01LjQtOS40LTguNi0yMC4zLTguNi0zMlYzNTJjMC0yMy43IDEyLjktNDQuNCAzMi01NS40VjI3MmMwLTMwLjUgMTIuMi01OC4yIDMyLTc4LjRWNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhINDh6TTY0IDI0MGMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjI0MHptMTEyLTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMTc2Yy04LjggMC0xNi03LjItMTYtMTZWMjQwYzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTZjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMjcyYy04LjggMC0xNi03LjItMTYtMTZWMjQwek04MCA5NmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZWMTEyYzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTZjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMTc2Yy04LjggMC0xNi03LjItMTYtMTZWMTEyek0yNzIgOTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgyNzJjLTguOCAwLTE2LTcuMi0xNi0xNlYxMTJjMC04LjggNy4yLTE2IDE2LTE2ek00NjQgMjQwYzE3LjcgMCAzMiAxNC4zIDMyIDMydjQ4SDQzMlYyNzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bS04MCAzMnY0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMySDU0NGMxNy43IDAgMzItMTQuMyAzMi0zMlYzNTJjMC0xNy43LTE0LjMtMzItMzItMzJWMjcyYzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwelwiXVxufTtcbnZhciBmYVBpenphU2xpY2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGl6emEtc2xpY2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY4MThcIiwgXCJNMTY5LjcgLjljLTIyLjgtMS42LTQxLjkgMTQtNDcuNSAzNC43TDExMC40IDgwYy41IDAgMS4xIDAgMS42IDBjMTc2LjcgMCAzMjAgMTQzLjMgMzIwIDMyMGMwIC41IDAgMS4xIDAgMS42bDQ0LjQtMTEuOGMyMC44LTUuNSAzNi4zLTI0LjcgMzQuNy00Ny41QzQ5OC41IDE1OS41IDM1Mi41IDEzLjUgMTY5LjcgLjl6TTM5OS44IDQxMC4yYy4xLTMuNCAuMi02LjggLjItMTAuMmMwLTE1OS4xLTEyOC45LTI4OC0yODgtMjg4Yy0zLjQgMC02LjggLjEtMTAuMiAuMkwuNSA0OTEuOWMtMS41IDUuNSAuMSAxMS40IDQuMSAxNS40czkuOSA1LjYgMTUuNCA0LjFMMzk5LjggNDEwLjJ6TTE3NiAyMDhhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em02NCAxMjhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNOTYgMzg0YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6XCJdXG59O1xudmFyIGZhTW9uZXlCaWxsV2F2ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb25leS1iaWxsLXdhdmUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY1M2FcIiwgXCJNMCAxMTIuNVY0MjIuM2MwIDE4IDEwLjEgMzUgMjcgNDEuM2M4NyAzMi41IDE3NCAxMC4zIDI2MS0xMS45Yzc5LjgtMjAuMyAxNTkuNi00MC43IDIzOS4zLTE4LjljMjMgNi4zIDQ4LjctOS41IDQ4LjctMzMuNFY4OS43YzAtMTgtMTAuMS0zNS0yNy00MS4zQzQ2MiAxNS45IDM3NSAzOC4xIDI4OCA2MC4zQzIwOC4yIDgwLjYgMTI4LjQgMTAwLjkgNDguNyA3OS4xQzI1LjYgNzIuOCAwIDg4LjYgMCAxMTIuNXpNMjg4IDM1MmMtNDQuMiAwLTgwLTQzLTgwLTk2czM1LjgtOTYgODAtOTZzODAgNDMgODAgOTZzLTM1LjggOTYtODAgOTZ6TTY0IDM1MmMzNS4zIDAgNjQgMjguNyA2NCA2NEg2NFYzNTJ6bTY0LTIwOGMwIDM1LjMtMjguNyA2NC02NCA2NFYxNDRoNjR6TTUxMiAzMDR2NjRINDQ4YzAtMzUuMyAyOC43LTY0IDY0LTY0ek00NDggOTZoNjR2NjRjLTM1LjMgMC02NC0yOC43LTY0LTY0elwiXVxufTtcbnZhciBmYUNoYXJ0QXJlYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGFydC1hcmVhJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJhcmVhLWNoYXJ0XCJdLCBcImYxZmVcIiwgXCJNNjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCA0Ni4zIDAgNjRWNDAwYzAgNDQuMiAzNS44IDgwIDgwIDgwSDQ4MGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjY0em05NiAyODhINDQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjI1MS44YzAtNy42LTIuNy0xNS03LjctMjAuOGwtNjUuOC03Ni44Yy0xMi4xLTE0LjItMzMuNy0xNS00Ni45LTEuOGwtMjEgMjFjLTEwIDEwLTI2LjQgOS4yLTM1LjQtMS42bC0zOS4yLTQ3Yy0xMi42LTE1LjEtMzUuNy0xNS40LTQ4LjctLjZMMTM1LjkgMjE1Yy01LjEgNS44LTcuOSAxMy4zLTcuOSAyMS4xdjg0YzAgMTcuNyAxNC4zIDMyIDMyIDMyelwiXVxufTtcbnZhciBmYUFyZWFDaGFydCA9IGZhQ2hhcnRBcmVhO1xudmFyIGZhSG91c2VGbGFnID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLWZsYWcnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MGRcIiwgXCJNNDgwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyVjE5MiA1MTJoNjRWMTkySDYyNGM4LjggMCAxNi03LjIgMTYtMTZWNDhjMC04LjgtNy4yLTE2LTE2LTE2SDUxMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNNDE2IDE1OUwyNzYuOCAzOS43Yy0xMi0xMC4zLTI5LjctMTAuMy00MS43IDBsLTIyNCAxOTJDMSAyNDAuNC0yLjcgMjU0LjUgMiAyNjcuMVMxOC42IDI4OCAzMiAyODhINjRWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyaDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM4NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmg2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnY5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmg2NC43bC4yIDBoLTFWMTU5elwiXVxufTtcbnZhciBmYVBlcnNvbkNpcmNsZU1pbnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1jaXJjbGUtbWludXMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1NDBcIiwgXCJNMTEyIDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTQwIDMwNFY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMjU2LjlMNTkuNCAzMDQuNWMtOS4xIDE1LjEtMjguOCAyMC00My45IDEwLjlzLTIwLTI4LjgtMTAuOS00My45bDU4LjMtOTdjMTcuNC0yOC45IDQ4LjYtNDYuNiA4Mi4zLTQ2LjZoMjkuN2MzMy43IDAgNjQuOSAxNy43IDgyLjMgNDYuNmw0NC45IDc0LjdjLTE2LjEgMTcuNi0yOC42IDM4LjUtMzYuNiA2MS41Yy0xLjktMS44LTMuNS0zLjktNC45LTYuM0wyMzIgMjU2LjlWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjM1MkgxNTJ6bTEzNiAxNmExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMjQgMGMwLTguOC03LjItMTYtMTYtMTZIMzY4Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2SDQ5NmM4LjggMCAxNi03LjIgMTYtMTZ6XCJdXG59O1xudmFyIGZhQmFuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhbicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODY4MywgXCJjYW5jZWxcIl0sIFwiZjA1ZVwiLCBcIk0zNjcuMiA0MTIuNUw5OS41IDE0NC44Qzc3LjEgMTc2LjEgNjQgMjE0LjUgNjQgMjU2YzAgMTA2IDg2IDE5MiAxOTIgMTkyYzQxLjUgMCA3OS45LTEzLjEgMTExLjItMzUuNXptNDUuMy00NS4zQzQzNC45IDMzNS45IDQ0OCAyOTcuNSA0NDggMjU2YzAtMTA2LTg2LTE5Mi0xOTItMTkyYy00MS41IDAtNzkuOSAxMy4xLTExMS4yIDM1LjVMNDEyLjUgMzY3LjJ6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnpcIl1cbn07XG52YXIgZmFDYW5jZWwgPSBmYUJhbjtcbnZhciBmYUNhbWVyYVJvdGF0ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYW1lcmEtcm90YXRlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlMGQ4XCIsIFwiTTIxMy4xIDY0LjhMMjAyLjcgOTZIMTI4Yy0zNS4zIDAtNjQgMjguNy02NCA2NFY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRINTEyYzM1LjMgMCA2NC0yOC43IDY0LTY0VjE2MGMwLTM1LjMtMjguNy02NC02NC02NEg0MzcuM0w0MjYuOSA2NC44QzQyMC40IDQ1LjIgNDAyLjEgMzIgMzgxLjQgMzJIMjU4LjZjLTIwLjcgMC0zOSAxMy4yLTQ1LjUgMzIuOHpNNDQ4IDI1NmMwIDguOC03LjIgMTYtMTYgMTZIMzU1LjNjLTYuMiAwLTExLjMtNS4xLTExLjMtMTEuM2MwLTMgMS4yLTUuOSAzLjMtOEwzNzEgMjI5Yy0xMy42LTEzLjQtMzEuOS0yMS01MS0yMWMtMTkuMiAwLTM3LjcgNy42LTUxLjMgMjEuM0wyNDkgMjQ5Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDE5LjctMTkuN0MyNTcuNCAxNzIuNyAyODggMTYwIDMyMCAxNjBjMzEuOCAwIDYyLjQgMTIuNiA4NSAzNWwyMy43LTIzLjdjMi4xLTIuMSA1LTMuMyA4LTMuM2M2LjIgMCAxMS4zIDUuMSAxMS4zIDExLjNWMjU2ek0xOTIgMzIwYzAtOC44IDcuMi0xNiAxNi0xNmg3Ni43YzYuMiAwIDExLjMgNS4xIDExLjMgMTEuM2MwIDMtMS4yIDUuOS0zLjMgOEwyNjkgMzQ3YzEzLjYgMTMuNCAzMS45IDIxIDUxIDIxYzE5LjIgMCAzNy43LTcuNiA1MS4zLTIxLjNMMzkxIDMyN2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTE5LjcgMTkuN0MzODIuNiA0MDMuMyAzNTIgNDE2IDMyMCA0MTZjLTMxLjggMC02Mi40LTEyLjYtODUtMzVsLTIzLjcgMjMuN2MtMi4xIDIuMS01IDMuMy04IDMuM2MtNi4yIDAtMTEuMy01LjEtMTEuMy0xMS4zVjMyMHpcIl1cbn07XG52YXIgZmFTcHJheUNhblNwYXJrbGVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NwcmF5LWNhbi1zcGFya2xlcycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYWlyLWZyZXNoZW5lclwiXSwgXCJmNWQwXCIsIFwiTTk2IDMydjk2SDIyNFYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMkgxMjhDMTEwLjMgMCA5NiAxNC4zIDk2IDMyem0wIDEyOGMtNTMgMC05NiA0My05NiA5NlY0NjRjMCAyNi41IDIxLjUgNDggNDggNDhIMjcyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjI1NmMwLTUzLTQzLTk2LTk2LTk2SDk2em02NCA5NmE4MCA4MCAwIDEgMSAwIDE2MCA4MCA4MCAwIDEgMSAwLTE2MHpNMzg0IDQ4YzAtMS40LTEtMy0yLjItMy42TDM1MiAzMiAzMzkuNiAyLjJDMzM5IDEgMzM3LjQgMCAzMzYgMHMtMyAxLTMuNiAyLjJMMzIwIDMyIDI5MC4yIDQ0LjRDMjg5IDQ1IDI4OCA0Ni42IDI4OCA0OGMwIDEuNCAxIDMgMi4yIDMuNkwzMjAgNjRsMTIuNCAyOS44QzMzMyA5NSAzMzQuNiA5NiAzMzYgOTZzMy0xIDMuNi0yLjJMMzUyIDY0bDI5LjgtMTIuNEMzODMgNTEgMzg0IDQ5LjQgMzg0IDQ4em03Ni40IDQ1LjhDNDYxIDk1IDQ2Mi42IDk2IDQ2NCA5NnMzLTEgMy42LTIuMkw0ODAgNjRsMjkuOC0xMi40QzUxMSA1MSA1MTIgNDkuNCA1MTIgNDhjMC0xLjQtMS0zLTIuMi0zLjZMNDgwIDMyIDQ2Ny42IDIuMkM0NjcgMSA0NjUuNCAwIDQ2NCAwcy0zIDEtMy42IDIuMkw0NDggMzIgNDE4LjIgNDQuNEM0MTcgNDUgNDE2IDQ2LjYgNDE2IDQ4YzAgMS40IDEgMyAyLjIgMy42TDQ0OCA2NGwxMi40IDI5Ljh6bTcuMiAxMDAuNGMtLjYtMS4yLTIuMi0yLjItMy42LTIuMnMtMyAxLTMuNiAyLjJMNDQ4IDIyNGwtMjkuOCAxMi40Yy0xLjIgLjYtMi4yIDIuMi0yLjIgMy42YzAgMS40IDEgMyAyLjIgMy42TDQ0OCAyNTZsMTIuNCAyOS44Yy42IDEuMiAyLjIgMi4yIDMuNiAyLjJzMy0xIDMuNi0yLjJMNDgwIDI1NmwyOS44LTEyLjRjMS4yLS42IDIuMi0yLjIgMi4yLTMuNmMwLTEuNC0xLTMtMi4yLTMuNkw0ODAgMjI0bC0xMi40LTI5Ljh6TTQ0OCAxNDRjMC0xLjQtMS0zLTIuMi0zLjZMNDE2IDEyOCA0MDMuNiA5OC4yQzQwMyA5NyA0MDEuNCA5NiA0MDAgOTZzLTMgMS0zLjYgMi4yTDM4NCAxMjhsLTI5LjggMTIuNGMtMS4yIC42LTIuMiAyLjItMi4yIDMuNmMwIDEuNCAxIDMgMi4yIDMuNkwzODQgMTYwbDEyLjQgMjkuOGMuNiAxLjIgMi4yIDIuMiAzLjYgMi4yczMtMSAzLjYtMi4yTDQxNiAxNjBsMjkuOC0xMi40YzEuMi0uNiAyLjItMi4yIDIuMi0zLjZ6XCJdXG59O1xudmFyIGZhQWlyRnJlc2hlbmVyID0gZmFTcHJheUNhblNwYXJrbGVzO1xudmFyIGZhU3RhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdGFyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTEwODgsIDYxNDQ2XSwgXCJmMDA1XCIsIFwiTTMxNi45IDE4QzMxMS42IDcgMzAwLjQgMCAyODguMSAwcy0yMy40IDctMjguOCAxOEwxOTUgMTUwLjMgNTEuNCAxNzEuNWMtMTIgMS44LTIyIDEwLjItMjUuNyAyMS43cy0uNyAyNC4yIDcuOSAzMi43TDEzNy44IDMyOSAxMTMuMiA0NzQuN2MtMiAxMiAzIDI0LjIgMTIuOSAzMS4zczIzIDggMzMuOCAyLjNsMTI4LjMtNjguNSAxMjguMyA2OC41YzEwLjggNS43IDIzLjkgNC45IDMzLjgtMi4zczE0LjktMTkuMyAxMi45LTMxLjNMNDM4LjUgMzI5IDU0Mi43IDIyNS45YzguNi04LjUgMTEuNy0yMS4yIDcuOS0zMi43cy0xMy43LTE5LjktMjUuNy0yMS43TDM4MS4yIDE1MC4zIDMxNi45IDE4elwiXVxufTtcbnZhciBmYVJlcGVhdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyZXBlYXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyNTddLCBcImYzNjNcIiwgXCJNMCAyMjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmMwLTUzIDQzLTk2IDk2LTk2SDMyMHYzMmMwIDEyLjkgNy44IDI0LjYgMTkuOCAyOS42czI1LjcgMi4yIDM0LjktNi45bDY0LTY0YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC02NC02NGMtOS4yLTkuMi0yMi45LTExLjktMzQuOS02LjlTMzIwIDE5LjEgMzIwIDMyVjY0SDE2MEM3MS42IDY0IDAgMTM1LjYgMCAyMjR6bTUxMiA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmMwIDUzLTQzIDk2LTk2IDk2SDE5MlYzNTJjMC0xMi45LTcuOC0yNC42LTE5LjgtMjkuNnMtMjUuNy0yLjItMzQuOSA2LjlsLTY0IDY0Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w2NCA2NGM5LjIgOS4yIDIyLjkgMTEuOSAzNC45IDYuOXMxOS44LTE2LjYgMTkuOC0yOS42VjQ0OEgzNTJjODguNCAwIDE2MC03MS42IDE2MC0xNjB6XCJdXG59O1xudmFyIGZhQ3Jvc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3Jvc3MnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjgzMjcsIDEwMDEzXSwgXCJmNjU0XCIsIFwiTTE3NiAwYy0yNi41IDAtNDggMjEuNS00OCA0OHY4MEg0OGMtMjYuNSAwLTQ4IDIxLjUtNDggNDh2MzJjMCAyNi41IDIxLjUgNDggNDggNDhoODBWNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDMyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjI1Nmg4MGMyNi41IDAgNDgtMjEuNSA0OC00OFYxNzZjMC0yNi41LTIxLjUtNDgtNDgtNDhIMjU2VjQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDE3NnpcIl1cbn07XG52YXIgZmFCb3ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm94JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI4MjMwXSwgXCJmNDY2XCIsIFwiTTUwLjcgNTguNUwwIDE2MEgyMDhWMzJIOTMuN0M3NS41IDMyIDU4LjkgNDIuMyA1MC43IDU4LjV6TTI0MCAxNjBINDQ4TDM5Ny4zIDU4LjVDMzg5LjEgNDIuMyAzNzIuNSAzMiAzNTQuMyAzMkgyNDBWMTYwem0yMDggMzJIMFY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzg0YzM1LjMgMCA2NC0yOC43IDY0LTY0VjE5MnpcIl1cbn07XG52YXIgZmFWZW51c01hcnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmVudXMtbWFycycsXG4gIGljb246IFs2NDAsIDUxMiwgWzk4OTJdLCBcImYyMjhcIiwgXCJNMTc2IDI4OGExMTIgMTEyIDAgMSAwIDAtMjI0IDExMiAxMTIgMCAxIDAgMCAyMjR6TTM1MiAxNzZjMCA4Ni4zLTYyLjEgMTU4LjEtMTQ0IDE3My4xVjM4NGgzMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgyMDh2MzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWNDQ4SDExMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmgzMlYzNDkuMUM2Mi4xIDMzNC4xIDAgMjYyLjMgMCAxNzZDMCA3OC44IDc4LjggMCAxNzYgMHMxNzYgNzguOCAxNzYgMTc2ek0yNzEuOSAzNjAuNmMxOS4zLTEwLjEgMzYuOS0yMy4xIDUyLjEtMzguNGMyMCAxOC41IDQ2LjcgMjkuOCA3Ni4xIDI5LjhjNjEuOSAwIDExMi01MC4xIDExMi0xMTJzLTUwLjEtMTEyLTExMi0xMTJjLTcuMiAwLTE0LjMgLjctMjEuMSAyYy00LjktMjEuNS0xMy00MS43LTI0LTYwLjJDMzY5LjMgNjYgMzg0LjQgNjQgNDAwIDY0YzM3IDAgNzEuNCAxMS40IDk5LjggMzFsMjAuNi0yMC42TDQ4NyA0MWMtNi45LTYuOS04LjktMTcuMi01LjItMjYuMlM0OTQuMyAwIDUwNCAwSDYxNmMxMy4zIDAgMjQgMTAuNyAyNCAyNFYxMzZjMCA5LjctNS44IDE4LjUtMTQuOCAyMi4ycy0xOS4zIDEuNy0yNi4yLTUuMmwtMzMuNC0zMy40TDU0NSAxNDAuMmMxOS41IDI4LjQgMzEgNjIuNyAzMSA5OS44YzAgOTcuMi03OC44IDE3Ni0xNzYgMTc2Yy01MC41IDAtOTYtMjEuMy0xMjguMS01NS40elwiXVxufTtcbnZhciBmYUFycm93UG9pbnRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1wb2ludGVyJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJtb3VzZS1wb2ludGVyXCJdLCBcImYyNDVcIiwgXCJNMCA1NS4yVjQyNmMwIDEyLjIgOS45IDIyIDIyIDIyYzYuMyAwIDEyLjQtMi43IDE2LjYtNy41TDEyMS4yIDM0Nmw1OC4xIDExNi4zYzcuOSAxNS44IDI3LjEgMjIuMiA0Mi45IDE0LjNzMjIuMi0yNy4xIDE0LjMtNDIuOUwxNzkuOCAzMjBIMjk3LjljMTIuMiAwIDIyLjEtOS45IDIyLjEtMjIuMWMwLTYuMy0yLjctMTIuMy03LjQtMTYuNUwzOC42IDM3LjlDMzQuMyAzNC4xIDI4LjkgMzIgMjMuMiAzMkMxMC40IDMyIDAgNDIuNCAwIDU1LjJ6XCJdXG59O1xudmFyIGZhTW91c2VQb2ludGVyID0gZmFBcnJvd1BvaW50ZXI7XG52YXIgZmFNYXhpbWl6ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXhpbWl6ZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZXhwYW5kLWFycm93cy1hbHRcIl0sIFwiZjMxZVwiLCBcIk0yMDAgMzJINTZDNDIuNyAzMiAzMiA0Mi43IDMyIDU2VjIwMGMwIDkuNyA1LjggMTguNSAxNC44IDIyLjJzMTkuMyAxLjcgMjYuMi01LjJsNDAtNDAgNzkgNzktNzkgNzlMNzMgMjk1Yy02LjktNi45LTE3LjItOC45LTI2LjItNS4yUzMyIDMwMi4zIDMyIDMxMlY0NTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRIMjAwYzkuNyAwIDE4LjUtNS44IDIyLjItMTQuOHMxLjctMTkuMy01LjItMjYuMmwtNDAtNDAgNzktNzkgNzkgNzktNDAgNDBjLTYuOSA2LjktOC45IDE3LjItNS4yIDI2LjJzMTIuNSAxNC44IDIyLjIgMTQuOEg0NTZjMTMuMyAwIDI0LTEwLjcgMjQtMjRWMzEyYzAtOS43LTUuOC0xOC41LTE0LjgtMjIuMnMtMTkuMy0xLjctMjYuMiA1LjJsLTQwIDQwLTc5LTc5IDc5LTc5IDQwIDQwYzYuOSA2LjkgMTcuMiA4LjkgMjYuMiA1LjJzMTQuOC0xMi41IDE0LjgtMjIuMlY1NmMwLTEzLjMtMTAuNy0yNC0yNC0yNEgzMTJjLTkuNyAwLTE4LjUgNS44LTIyLjIgMTQuOHMtMS43IDE5LjMgNS4yIDI2LjJsNDAgNDAtNzkgNzktNzktNzkgNDAtNDBjNi45LTYuOSA4LjktMTcuMiA1LjItMjYuMlMyMDkuNyAzMiAyMDAgMzJ6XCJdXG59O1xudmFyIGZhRXhwYW5kQXJyb3dzQWx0ID0gZmFNYXhpbWl6ZTtcbnZhciBmYUNoYXJnaW5nU3RhdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGFyZ2luZy1zdGF0aW9uJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNWU3XCIsIFwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRWNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDMyMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMlYzMDRoMTZjMjIuMSAwIDQwIDE3LjkgNDAgNDB2MzJjMCAzOS44IDMyLjIgNzIgNzIgNzJzNzItMzIuMiA3Mi03MlYyNTIuM2MzMi41LTEwLjIgNTYtNDAuNSA1Ni03Ni4zVjE0NGMwLTguOC03LjItMTYtMTYtMTZINTQ0VjgwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2djQ4SDQ4MFY4MGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNnY0OEg0MzJjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDM1LjggMjMuNSA2Ni4xIDU2IDc2LjNWMzc2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0VjM0NGMwLTQ4LjYtMzkuNC04OC04OC04OEgzMjBWNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRIOTZ6TTIxNi45IDgyLjdjNiA0IDguNSAxMS41IDYuMyAxOC4zbC0yNSA3NC45SDI1NmM2LjcgMCAxMi43IDQuMiAxNSAxMC40cy41IDEzLjMtNC42IDE3LjdsLTExMiA5NmMtNS41IDQuNy0xMy40IDUuMS0xOS4zIDEuMXMtOC41LTExLjUtNi4zLTE4LjNsMjUtNzQuOUg5NmMtNi43IDAtMTIuNy00LjItMTUtMTAuNHMtLjUtMTMuMyA0LjYtMTcuN2wxMTItOTZjNS41LTQuNyAxMy40LTUuMSAxOS4zLTEuMXpcIl1cbn07XG52YXIgZmFTaGFwZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2hhcGVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJ0cmlhbmdsZS1jaXJjbGUtc3F1YXJlXCJdLCBcImY2MWZcIiwgXCJNMzE1LjQgMTUuNUMzMDkuNyA1LjkgMjk5LjIgMCAyODggMHMtMjEuNyA1LjktMjcuNCAxNS41bC05NiAxNjBjLTUuOSA5LjktNi4xIDIyLjItLjQgMzIuMnMxNi4zIDE2LjIgMjcuOCAxNi4ySDM4NGMxMS41IDAgMjIuMi02LjIgMjcuOC0xNi4yczUuNS0yMi4zLS40LTMyLjJsLTk2LTE2MHpNMjg4IDMxMlY0NTZjMCAyMi4xIDE3LjkgNDAgNDAgNDBINDcyYzIyLjEgMCA0MC0xNy45IDQwLTQwVjMxMmMwLTIyLjEtMTcuOS00MC00MC00MEgzMjhjLTIyLjEgMC00MCAxNy45LTQwIDQwek0xMjggNTEyYTEyOCAxMjggMCAxIDAgMC0yNTYgMTI4IDEyOCAwIDEgMCAwIDI1NnpcIl1cbn07XG52YXIgZmFUcmlhbmdsZUNpcmNsZVNxdWFyZSA9IGZhU2hhcGVzO1xudmFyIGZhU2h1ZmZsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaHVmZmxlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MjU2LCBcInJhbmRvbVwiXSwgXCJmMDc0XCIsIFwiTTQwMy44IDM0LjRjMTItNSAyNS43LTIuMiAzNC45IDYuOWw2NCA2NGM2IDYgOS40IDE0LjEgOS40IDIyLjZzLTMuNCAxNi42LTkuNCAyMi42bC02NCA2NGMtOS4yIDkuMi0yMi45IDExLjktMzQuOSA2LjlzLTE5LjgtMTYuNi0xOS44LTI5LjZWMTYwSDM1MmMtMTAuMSAwLTE5LjYgNC43LTI1LjYgMTIuOEwyODQgMjI5LjMgMjQ0IDE3NmwzMS4yLTQxLjZDMjkzLjMgMTEwLjIgMzIxLjggOTYgMzUyIDk2aDMyVjY0YzAtMTIuOSA3LjgtMjQuNiAxOS44LTI5LjZ6TTE2NCAyODIuN0wyMDQgMzM2bC0zMS4yIDQxLjZDMTU0LjcgNDAxLjggMTI2LjIgNDE2IDk2IDQxNkgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkg5NmMxMC4xIDAgMTkuNi00LjcgMjUuNi0xMi44TDE2NCAyODIuN3ptMjc0LjYgMTg4Yy05LjIgOS4yLTIyLjkgMTEuOS0zNC45IDYuOXMtMTkuOC0xNi42LTE5LjgtMjkuNlY0MTZIMzUyYy0zMC4yIDAtNTguNy0xNC4yLTc2LjgtMzguNEwxMjEuNiAxNzIuOGMtNi04LjEtMTUuNS0xMi44LTI1LjYtMTIuOEgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkg5NmMzMC4yIDAgNTguNyAxNC4yIDc2LjggMzguNEwzMjYuNCAzMzkuMmM2IDguMSAxNS41IDEyLjggMjUuNiAxMi44aDMyVjMyMGMwLTEyLjkgNy44LTI0LjYgMTkuOC0yOS42czI1LjctMi4yIDM0LjkgNi45bDY0IDY0YzYgNiA5LjQgMTQuMSA5LjQgMjIuNnMtMy40IDE2LjYtOS40IDIyLjZsLTY0IDY0elwiXVxufTtcbnZhciBmYVJhbmRvbSA9IGZhU2h1ZmZsZTtcbnZhciBmYVBlcnNvblJ1bm5pbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLXJ1bm5pbmcnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjc5MzksIFwicnVubmluZ1wiXSwgXCJmNzBjXCIsIFwiTTMyMCA0OGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek0xMjUuNyAxNzUuNWM5LjktOS45IDIzLjQtMTUuNSAzNy41LTE1LjVjMS45IDAgMy44IC4xIDUuNiAuM0wxMzcuNiAyNTRjLTkuMyAyOCAxLjcgNTguOCAyNi44IDc0LjVsODYuMiA1My45LTI1LjQgODguOGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDI4LjctMTAwLjRjNS45LTIwLjYtMi42LTQyLjYtMjAuNy01My45TDIzOCAyOTlsMzAuOS04Mi40IDUuMSAxMi4zQzI4OSAyNjQuNyAzMjMuOSAyODggMzYyLjcgMjg4SDM4NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzNjIuN2MtMTIuOSAwLTI0LjYtNy44LTI5LjUtMTkuN2wtNi4zLTE1Yy0xNC42LTM1LjEtNDQuMS02MS45LTgwLjUtNzMuMWwtNDguNy0xNWMtMTEuMS0zLjQtMjIuNy01LjItMzQuNC01LjJjLTMxIDAtNjAuOCAxMi4zLTgyLjcgMzQuM0w1Ny40IDE1My40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDIzLjEtMjMuMXpNOTEuMiAzNTJIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoNjkuNmMxOSAwIDM2LjItMTEuMiA0My45LTI4LjVMMTU3IDM2MS42bC05LjUtNmMtMTcuNS0xMC45LTMwLjUtMjYuOC0zNy45LTQ0LjlMOTEuMiAzNTJ6XCJdXG59O1xudmFyIGZhUnVubmluZyA9IGZhUGVyc29uUnVubmluZztcbnZhciBmYU1vYmlsZVJldHJvID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vYmlsZS1yZXRybycsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiZTUyN1wiLCBcIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEgyNTZjMzUuMyAwIDY0IDI4LjcgNjQgNjRWNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY2NHptNjQgOTZ2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJIMjI0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjE2MGMwLTE3LjctMTQuMy0zMi0zMi0zMkg5NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTgwIDM1MmEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTI0IDU2YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6bTU2LTU2YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMjQgNTZhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHptNTYtNTZhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0yNCA1NmEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwek0xMjggNDhjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZoNjRjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIMTI4elwiXVxufTtcbnZhciBmYUdyaXBMaW5lc1ZlcnRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dyaXAtbGluZXMtdmVydGljYWwnLFxuICBpY29uOiBbMTkyLCA1MTIsIFtdLCBcImY3YTVcIiwgXCJNNjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCA0Ni4zIDAgNjRWNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWNjR6bTEyOCAwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjY0elwiXVxufTtcbnZhciBmYVNwaWRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcGlkZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgzNzVdLCBcImY3MTdcIiwgXCJNMTU4LjQgMzIuNmM0LjgtMTIuNC0xLjQtMjYuMy0xMy44LTMxcy0yNi4zIDEuNC0zMSAxMy44TDgxLjEgMTAwYy03LjkgMjAuNy0zIDQ0LjEgMTIuNyA1OS43bDU3LjQgNTcuNEw3MC44IDE5MC4zYy0yLjQtLjgtNC4zLTIuNy01LjEtNS4xTDQ2LjggMTI4LjRDNDIuNiAxMTUuOCAyOSAxMDkgMTYuNCAxMTMuMlMtMyAxMzEgMS4yIDE0My42bDE4LjkgNTYuOGM1LjYgMTYuNyAxOC43IDI5LjggMzUuNCAzNS40TDExNi4xIDI1NiA1NS42IDI3Ni4yYy0xNi43IDUuNi0yOS44IDE4LjctMzUuNCAzNS40TDEuMiAzNjguNEMtMyAzODEgMy44IDM5NC42IDE2LjQgMzk4LjhzMjYuMi0yLjYgMzAuNC0xNS4ybDE4LjktNTYuOGMuOC0yLjQgMi43LTQuMyA1LjEtNS4xbDgwLjQtMjYuOEw5My43IDM1Mi4zQzc4LjEgMzY4IDczLjEgMzkxLjQgODEuMSA0MTJsMzIuNSA4NC42YzQuOCAxMi40IDE4LjYgMTguNSAzMSAxMy44czE4LjUtMTguNiAxMy44LTMxbC0zMi41LTg0LjZjLTEuMS0zLS40LTYuMyAxLjgtOC41TDE2MCAzNTMuOWMxIDUyLjEgNDMuNiA5NC4xIDk2IDk0LjFzOTUtNDEuOSA5Ni05NC4xbDMyLjMgMzIuM2MyLjIgMi4yIDIuOSA1LjYgMS44IDguNWwtMzIuNSA4NC42Yy00LjggMTIuNCAxLjQgMjYuMyAxMy44IDMxczI2LjMtMS40IDMxLTEzLjhMNDMwLjkgNDEyYzcuOS0yMC43IDMtNDQuMS0xMi43LTU5LjdsLTU3LjQtNTcuNCA4MC40IDI2LjhjMi40IC44IDQuMyAyLjcgNS4xIDUuMWwxOC45IDU2LjhjNC4yIDEyLjYgMTcuOCAxOS40IDMwLjQgMTUuMnMxOS40LTE3LjggMTUuMi0zMC40bC0xOC45LTU2LjhjLTUuNi0xNi43LTE4LjctMjkuOC0zNS40LTM1LjRMMzk1LjkgMjU2bDYwLjUtMjAuMmMxNi43LTUuNiAyOS44LTE4LjcgMzUuNC0zNS40bDE4LjktNTYuOGM0LjItMTIuNi0yLjYtMjYuMi0xNS4yLTMwLjRzLTI2LjIgMi42LTMwLjQgMTUuMmwtMTguOSA1Ni44Yy0uOCAyLjQtMi43IDQuMy01LjEgNS4xbC04MC40IDI2LjggNTcuNC01Ny40YzE1LjYtMTUuNiAyMC42LTM5IDEyLjctNTkuN0wzOTguNCAxNS40QzM5My42IDMgMzc5LjgtMy4yIDM2Ny40IDEuNnMtMTguNSAxOC42LTEzLjggMzFsMzIuNSA4NC42YzEuMSAzIC40IDYuMy0xLjggOC41TDMzNiAxNzQuMVYxNjBjMC0zMS44LTE4LjYtNTkuMy00NS41LTcyLjJjLTkuMS00LjQtMTguNSAzLjMtMTguNSAxMy40VjExMmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlYxMDEuMmMwLTEwLjEtOS40LTE3LjctMTguNS0xMy40QzE5NC42IDEwMC43IDE3NiAxMjguMiAxNzYgMTYwdjE0LjFsLTQ4LjMtNDguM2MtMi4yLTIuMi0yLjktNS42LTEuOC04LjVsMzIuNS04NC42elwiXVxufTtcbnZhciBmYUhhbmRzQm91bmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZHMtYm91bmQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZjlcIiwgXCJNOTYgMzJDOTYgMTQuMyA4MS43IDAgNjQgMFMzMiAxNC4zIDMyIDMyVjk2djU5LjEgLjdWMTkydjIxLjljMCAxNC4yIDUuMSAyNy45IDE0LjMgMzguN0wxMzEuNiAzNTJIMTI4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0aDMySDI4OGg2NEg0ODBoMzJjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRoLTMuNmw4NS4zLTk5LjVjOS4yLTEwLjggMTQuMy0yNC41IDE0LjMtMzguN1YxOTIgMTU1Ljh2LS43Vjk2IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjk2djQ4LjhsLTY5LjMgOTIuNGMtNS43IDcuNi0xNi4xIDkuNi0yNC4yIDQuOGMtOS43LTUuNy0xMi4xLTE4LjctNS4xLTI3LjVMNDczIDE4MGMxMC44LTEzLjUgOC45LTMzLjMtNC40LTQ0LjVzLTMzLTkuOC00NC41IDMuMmwtNDYuNyA1Mi41QzM2MSAyMDkuNyAzNTIgMjMzLjQgMzUyIDI1OC4xVjMyMHYzMkgyODhWMzIwIDI1OC4xYzAtMjQuNi05LTQ4LjQtMjUuNC02Ni44bC00Ni43LTUyLjVjLTExLjUtMTMtMzEuMy0xNC40LTQ0LjUtMy4ycy0xNS4yIDMwLjktNC40IDQ0LjVsMjcuNiAzNC41YzcgOC44IDQuNyAyMS44LTUuMSAyNy41Yy04LjEgNC44LTE4LjYgMi43LTI0LjItNC44TDk2IDE0NC44Vjk2IDMyem02NCA0NDh2MzJIMjg4VjQ4MGg2NHYzMkg0ODBWNDgwaDMyYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDQ4MCAzNTIgMjg4IDE2MCAxMjhjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRoMzJ6XCJdXG59O1xudmFyIGZhRmlsZUludm9pY2VEb2xsYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1pbnZvaWNlLWRvbGxhcicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjU3MVwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzIwYzM1LjMgMCA2NC0yOC43IDY0LTY0VjE2MEgyNTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjBINjR6TTI1NiAwVjEyOEgzODRMMjU2IDB6TTY0IDgwYzAtOC44IDcuMi0xNiAxNi0xNmg2NGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2em0wIDY0YzAtOC44IDcuMi0xNiAxNi0xNmg2NGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2em0xMjggNzJjOC44IDAgMTYgNy4yIDE2IDE2djE3LjNjOC41IDEuMiAxNi43IDMuMSAyNC4xIDUuMWM4LjUgMi4zIDEzLjYgMTEgMTEuMyAxOS42cy0xMSAxMy42LTE5LjYgMTEuM2MtMTEuMS0zLTIyLTUuMi0zMi4xLTUuM2MtOC40LS4xLTE3LjQgMS44LTIzLjYgNS41Yy01LjcgMy40LTguMSA3LjMtOC4xIDEyLjhjMCAzLjcgMS4zIDYuNSA3LjMgMTAuMWM2LjkgNC4xIDE2LjYgNy4xIDI5LjIgMTAuOWwuNSAuMSAwIDAgMCAwYzExLjMgMy40IDI1LjMgNy42IDM2LjMgMTQuNmMxMi4xIDcuNiAyMi40IDE5LjcgMjIuNyAzOC4yYy4zIDE5LjMtOS42IDMzLjMtMjIuOSA0MS42Yy03LjcgNC44LTE2LjQgNy42LTI1LjEgOS4xVjQ0MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlY0MjIuMmMtMTEuMi0yLjEtMjEuNy01LjctMzAuOS04LjlsMCAwIDAgMGMtMi4xLS43LTQuMi0xLjQtNi4yLTIuMWMtOC40LTIuOC0xMi45LTExLjktMTAuMS0yMC4yczExLjktMTIuOSAyMC4yLTEwLjFjMi41IC44IDQuOCAxLjYgNy4xIDIuNGwwIDAgMCAwIDAgMGMxMy42IDQuNiAyNC42IDguNCAzNi4zIDguN2M5LjEgLjMgMTcuOS0xLjcgMjMuNy01LjNjNS4xLTMuMiA3LjktNy4zIDcuOC0xNGMtLjEtNC42LTEuOC03LjgtNy43LTExLjZjLTYuOC00LjMtMTYuNS03LjQtMjktMTEuMmwtMS42LS41IDAgMGMtMTEtMy4zLTI0LjMtNy4zLTM0LjgtMTMuN2MtMTItNy4yLTIyLjYtMTguOS0yMi43LTM3LjNjLS4xLTE5LjQgMTAuOC0zMi44IDIzLjgtNDAuNWM3LjUtNC40IDE1LjgtNy4yIDI0LjEtOC43VjIzMmMwLTguOCA3LjItMTYgMTYtMTZ6XCJdXG59O1xudmFyIGZhUGxhbmVDaXJjbGVFeGNsYW1hdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwbGFuZS1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NTZcIiwgXCJNMjU2IDBjLTM1IDAtNjQgNTkuNS02NCA5My43djg0LjZMOC4xIDI4My40Yy01IDIuOC04LjEgOC4yLTguMSAxMy45djY1LjVjMCAxMC42IDEwLjIgMTguMyAyMC40IDE1LjRsMTcxLjYtNDkgMCA3MC45LTU3LjYgNDMuMmMtNCAzLTYuNCA3LjgtNi40IDEyLjh2NDJjMCA3LjggNi4zIDE0IDE0IDE0YzEuMyAwIDIuNi0uMiAzLjktLjVMMjU2IDQ4MGwxMTAuMSAzMS41YzEuMyAuNCAyLjYgLjUgMy45IC41YzYgMCAxMS4xLTMuNyAxMy4xLTlDMzQ0LjUgNDcwLjcgMzIwIDQyMi4yIDMyMCAzNjhjMC02MC42IDMwLjYtMTE0IDc3LjEtMTQ1LjZMMzIwIDE3OC4zVjkzLjdDMzIwIDU5LjUgMjkyIDAgMjU2IDB6TTQ5NiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTk2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMC0xNDRjOC44IDAgMTYgNy4yIDE2IDE2djgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjI4OGMwLTguOCA3LjItMTYgMTYtMTZ6XCJdXG59O1xudmFyIGZhWFJheSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd4LXJheScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjQ5N1wiLCBcIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMySDQ4MGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMlY0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJWOTZDMTQuMyA5NiAwIDgxLjcgMCA2NHpNMjU2IDk2Yy04LjggMC0xNiA3LjItMTYgMTZ2MzJIMTYwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2aDgwdjQ4SDEyOGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNkgyNDB2NzAuNkwxODkuMSAzMDdjLTUuMi0yLTEwLjYtMy0xNi4yLTNoLTIuMWMtMjMuNiAwLTQyLjggMTkuMi00Mi44IDQyLjhjMCA5LjYgMy4yIDE4LjkgOS4xIDI2LjRsMTguMiAyMy4yYzkuNyAxMi40IDI0LjYgMTkuNiA0MC4zIDE5LjZIMzE2LjRjMTUuNyAwIDMwLjYtNy4yIDQwLjMtMTkuNmwxOC4yLTIzLjJjNS45LTcuNSA5LjEtMTYuOCA5LjEtMjYuNGMwLTIzLjYtMTkuMi00Mi44LTQyLjgtNDIuOEgzMzljLTUuNSAwLTExIDEtMTYuMiAzTDI3MiAzMjYuNlYyNTZIMzg0YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDI3MlYxNzZoODBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIMjcyVjExMmMwLTguOC03LjItMTYtMTYtMTZ6TTIwOCAzNTJhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyem04MCAxNmExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwelwiXVxufTtcbnZhciBmYVNwZWxsQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3BlbGwtY2hlY2snLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY4OTFcIiwgXCJNMTEyIDBDOTkuMSAwIDg3LjQgNy44IDgyLjUgMTkuN2wtNjYuNyAxNjAtMTMuMyAzMmMtNi44IDE2LjMgLjkgMzUgMTcuMiA0MS44czM1LS45IDQxLjgtMTcuMkw2Ni43IDIyNGg5MC43bDUuMSAxMi4zYzYuOCAxNi4zIDI1LjUgMjQgNDEuOCAxNy4yczI0LTI1LjUgMTcuMi00MS44bC0xMy4zLTMyLTY2LjctMTYwQzEzNi42IDcuOCAxMjQuOSAwIDExMiAwem0xOC43IDE2MEg5My4zTDExMiAxMTUuMiAxMzAuNyAxNjB6TTI1NiAzMnY5NiA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmg4MGM0NC4yIDAgODAtMzUuOCA4MC04MGMwLTIzLjEtOS44LTQzLjgtMjUuNC01OC40YzYtMTEuMiA5LjQtMjQgOS40LTM3LjZjMC00NC4yLTM1LjgtODAtODAtODBIMjg4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnptOTYgNjRIMzIwVjY0aDMyYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2em0tMzIgNjRoMzIgMTZjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMzIwVjE2MHpNNTY2LjYgMzEwLjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMzUyIDQzNC43bC03My40LTczLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDk2IDk2YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDE5Mi0xOTJ6XCJdXG59O1xudmFyIGZhU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY3MTVcIiwgXCJNNS4xIDkuMkMxMy4zLTEuMiAyOC40LTMuMSAzOC44IDUuMWw1OTIgNDY0YzEwLjQgOC4yIDEyLjMgMjMuMyA0LjEgMzMuN3MtMjMuMyAxMi4zLTMzLjcgNC4xTDkuMiA0Mi45Qy0xLjIgMzQuNy0zLjEgMTkuNiA1LjEgOS4yelwiXVxufTtcbnZhciBmYUNvbXB1dGVyTW91c2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tcHV0ZXItbW91c2UnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjg0MzMsIFwibW91c2VcIl0sIFwiZjhjY1wiLCBcIk0wIDE5MkgxNzZWMEgxNjBDNzEuNiAwIDAgNzEuNiAwIDE2MHYzMnptMCAzMlYzNTJjMCA4OC40IDcxLjYgMTYwIDE2MCAxNjBoNjRjODguNCAwIDE2MC03MS42IDE2MC0xNjBWMjI0SDE5MiAwem0zODQtMzJWMTYwQzM4NCA3MS42IDMxMi40IDAgMjI0IDBIMjA4VjE5MkgzODR6XCJdXG59O1xudmFyIGZhTW91c2UgPSBmYUNvbXB1dGVyTW91c2U7XG52YXIgZmFBcnJvd1JpZ2h0VG9CcmFja2V0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXJpZ2h0LXRvLWJyYWNrZXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInNpZ24taW5cIl0sIFwiZjA5MFwiLCBcIk0zNTIgOTZsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDI1NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzUzIDAgOTYtNDMgOTYtOTZsMC0yNTZjMC01My00My05Ni05Ni05NmwtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMnptLTkuNCAxODIuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTI4LTEyOGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMMjQyLjcgMjI0IDMyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyMTAuNyAwLTczLjQgNzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4elwiXVxufTtcbnZhciBmYVNpZ25JbiA9IGZhQXJyb3dSaWdodFRvQnJhY2tldDtcbnZhciBmYVNob3BTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaG9wLXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJzdG9yZS1hbHQtc2xhc2hcIl0sIFwiZTA3MFwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43bC01NC44LTQzVjIyNEg1MTJWMzc2TDM4NCAyNzUuN1YyMjRIMzIwdjEuNUwyNzcuMiAxOTJINjAzLjJjMjAuMyAwIDM2LjgtMTYuNSAzNi44LTM2LjhjMC03LjMtMi4yLTE0LjQtNi4yLTIwLjRMNTU4LjIgMjEuNEM1NDkuMyA4IDUzNC40IDAgNTE4LjMgMEgxMjEuN2MtMTYgMC0zMSA4LTM5LjkgMjEuNEw3NC4xIDMyLjggMzguOCA1LjF6TTM2LjggMTkyaDg1TDIxIDExMi41IDYuMiAxMzQuN2MtNCA2LjEtNi4yIDEzLjItNi4yIDIwLjRDMCAxNzUuNSAxNi41IDE5MiAzNi44IDE5MnpNMzIwIDM4NEgxMjhWMjI0SDY0VjM4NHY4MGMwIDI2LjUgMjEuNSA0OCA0OCA0OEgzMzZjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMzk4LjVsLTY0LTUwLjRWMzg0ek01NDQgNTEybC0uMyAwaC42bC0uMyAwelwiXVxufTtcbnZhciBmYVN0b3JlQWx0U2xhc2ggPSBmYVNob3BTbGFzaDtcbnZhciBmYVNlcnZlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzZXJ2ZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYyMzNcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NnY2NGMwIDM1LjMgMjguNyA2NCA2NCA2NEg0NDhjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6bTI4MCA3MmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTQ4IDI0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6TTY0IDI4OGMtMzUuMyAwLTY0IDI4LjctNjQgNjR2NjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRINDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0VjM1MmMwLTM1LjMtMjguNy02NC02NC02NEg2NHptMjgwIDcyYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptNTYgMjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpcIl1cbn07XG52YXIgZmFWaXJ1c0NvdmlkU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmlydXMtY292aWQtc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0YTlcIiwgXCJNMzguOCA1LjFDMjguNC0zLjEgMTMuMy0xLjIgNS4xIDkuMlMtMS4yIDM0LjcgOS4yIDQyLjlsNTkyIDQ2NGMxMC40IDguMiAyNS41IDYuMyAzMy43LTQuMXM2LjMtMjUuNS00LjEtMzMuN0w0NzIuMSAzNDQuN2MxMS40LTE5LjUgMTkuMS00MS40IDIyLjMtNjQuN0g1Mjh2MTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFYyMTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR2MTZINDk0LjRjLTQuMi0zMC43LTE2LjMtNTguOC0zNC4xLTgyLjNMNDg0IDEyNS45bDExLjMgMTEuM2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMNDcyLjcgNDYuN2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOUw0NTAuMSA5MmwtMjMuOCAyMy44QzQwMi44IDk3LjkgMzc0LjcgODUuOCAzNDQgODEuNlY0OGgxNmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEgyODBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRoMTZWODEuNmMtMzAuNyA0LjItNTguOCAxNi4zLTgyLjMgMzQuMUwxODkuOSA5MmwxMS4zLTExLjNjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMEwxMzQuMSA3OS44IDM4LjggNS4xem0zNjIuNSA0MDdMMTQ5LjIgMjEzLjVjLTEuNSA2LTIuNyAxMi4yLTMuNSAxOC41SDExMlYyMTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR2ODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFYyODBoMzMuNmM0LjIgMzAuNyAxNi4zIDU4LjggMzQuMSA4Mi4zTDE1NiAzODYuMWwtMTEuMy0xMS4zYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDU2LjYgNTYuNmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMMTg5LjkgNDIwbDIzLjgtMjMuOGMyMy41IDE3LjkgNTEuNyAyOS45IDgyLjMgMzQuMVY0NjRIMjgwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0aDgwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDM0NFY0MzAuNGMyMC40LTIuOCAzOS43LTkuMSA1Ny4zLTE4LjJ6XCJdXG59O1xudmFyIGZhU2hvcExvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2hvcC1sb2NrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGE1XCIsIFwiTTM2LjggMTkySDQ0OS42YzIwLjItMTkuOCA0Ny45LTMyIDc4LjQtMzJjMzAuNSAwIDU4LjEgMTIuMiA3OC4zIDMxLjljMTguOS0xLjYgMzMuNy0xNy40IDMzLjctMzYuN2MwLTcuMy0yLjItMTQuNC02LjItMjAuNEw1NTguMiAyMS40QzU0OS4zIDggNTM0LjQgMCA1MTguMyAwSDEyMS43Yy0xNiAwLTMxIDgtMzkuOSAyMS40TDYuMiAxMzQuN2MtNCA2LjEtNi4yIDEzLjItNi4yIDIwLjRDMCAxNzUuNSAxNi41IDE5MiAzNi44IDE5MnpNMzg0IDIyNEgzMjBWMzg0SDEyOFYyMjRINjRWMzg0djgwYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDMzNmMyNi41IDAgNDgtMjEuNSA0OC00OFYzODQgMzUyIDIyNHptMTQ0IDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMydjQ4SDQ5NlYyNzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bS04MCAzMnY0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMySDYwOGMxNy43IDAgMzItMTQuMyAzMi0zMlYzNTJjMC0xNy43LTE0LjMtMzItMzItMzJWMjcyYzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwelwiXVxufTtcbnZhciBmYUhvdXJnbGFzc1N0YXJ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXJnbGFzcy1zdGFydCcsXG4gIGljb246IFszODQsIDUxMiwgW1wiaG91cmdsYXNzLTFcIl0sIFwiZjI1MVwiLCBcIk0zMiAwQzE0LjMgMCAwIDE0LjMgMCAzMlMxNC4zIDY0IDMyIDY0Vjc1YzAgNDIuNCAxNi45IDgzLjEgNDYuOSAxMTMuMUwxNDYuNyAyNTYgNzguOSAzMjMuOUM0OC45IDM1My45IDMyIDM5NC42IDMyIDQzN3YxMWMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg2NCAzMjBoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJWNDM3YzAtNDIuNC0xNi45LTgzLjEtNDYuOS0xMTMuMUwyMzcuMyAyNTZsNjcuOS02Ny45YzMwLTMwIDQ2LjktNzAuNyA0Ni45LTExMy4xVjY0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDMyMCA2NCAzMnpNMjg4IDQzN3YxMUg5NlY0MzdjMC0yNS41IDEwLjEtNDkuOSAyOC4xLTY3LjlMMTkyIDMwMS4zbDY3LjkgNjcuOWMxOCAxOCAyOC4xIDQyLjQgMjguMSA2Ny45elwiXVxufTtcbnZhciBmYUhvdXJnbGFzczEgPSBmYUhvdXJnbGFzc1N0YXJ0O1xudmFyIGZhQmxlbmRlclBob25lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JsZW5kZXItcGhvbmUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY2YjZcIiwgXCJNMjI0IDM1MkwxOTYuOCA1Mi4zQzE5NC4yIDI0LjIgMjE2LjMgMCAyNDQuNiAwSDUzNC4xYzIxLjEgMCAzNi40IDIwLjEgMzAuOSA0MC40TDU1OC41IDY0SDQwMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNkg1NDkuOGwtMTcuNSA2NEg0MDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZINTIzLjZsLTE3LjUgNjRINDAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2aDk3LjVMNDgwIDM1MkgyMjR6bS0xNiAzMkg0OTZjMjYuNSAwIDQ4IDIxLjUgNDggNDh2MzJjMCAyNi41LTIxLjUgNDgtNDggNDhIMjA4Yy0yNi41IDAtNDgtMjEuNS00OC00OFY0MzJjMC0yNi41IDIxLjUtNDggNDgtNDh6bTE0NCA5NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTE0Ny41IDMwLjdjMTAuOCA2LjcgMTUuMyAyMSAxMC42IDMzLjRsLTIyIDU3LjhjLTQuMiAxMC45LTE0LjUgMTcuNi0yNS4zIDE2LjRsLTMzLjMtMy42Yy0xMy42IDQyLjItMTMuNiA4OC40IDAgMTMwLjdsMzMuMy0zLjZjMTAuOS0xLjIgMjEuMiA1LjUgMjUuMyAxNi40bDIyIDU3LjhjNC43IDEyLjQgLjIgMjYuNy0xMC42IDMzLjRsLTQ0IDI3LjJjLTkuNyA2LTIxLjkgNC4yLTI5LjgtNC4zQy0yNC42IDI4Ni0yNC42IDExNCA3My43IDcuOEM4MS42LS43IDkzLjgtMi41IDEwMy41IDMuNWw0NCAyNy4yelwiXVxufTtcbnZhciBmYUJ1aWxkaW5nV2hlYXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVpbGRpbmctd2hlYXQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZGJcIiwgXCJNMCA0OEMwIDIxLjUgMjEuNSAwIDQ4IDBIMzM2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4VjQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEgyNDBWNDMyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4djgwSDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFY0OHpNODAgMjI0Yy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYyNDBjMC04LjgtNy4yLTE2LTE2LTE2SDgwem04MCAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjI0MGMwLTguOC03LjItMTYtMTYtMTZIMTc2Yy04LjggMC0xNiA3LjItMTYgMTZ6bTExMi0xNmMtOC44IDAtMTYgNy4yLTE2IDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMjQwYzAtOC44LTcuMi0xNi0xNi0xNkgyNzJ6TTY0IDExMnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjExMmMwLTguOC03LjItMTYtMTYtMTZIODBjLTguOCAwLTE2IDcuMi0xNiAxNnpNMTc2IDk2Yy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYxMTJjMC04LjgtNy4yLTE2LTE2LTE2SDE3NnptODAgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYxMTJjMC04LjgtNy4yLTE2LTE2LTE2SDI3MmMtOC44IDAtMTYgNy4yLTE2IDE2em0zODQgODB2MTZjMCA0NC4yLTM1LjggODAtODAgODBINTQ0VjI3MmMwLTQ0LjIgMzUuOC04MCA4MC04MGgxNnptMCAxMjhjMCA0NC4yLTM1LjggODAtODAgODBINTQ0VjM4NGMwLTQ0LjIgMzUuOC04MCA4MC04MGgxNnYxNnptMCAxMTJjMCA0NC4yLTM1LjggODAtODAgODBINTQ0VjQ5NmMwLTQ0LjIgMzUuOC04MCA4MC04MGgxNnYxNnpNNTEyIDQ5NnYxNkg0OTZjLTQ0LjIgMC04MC0zNS44LTgwLTgwVjQxNmgxNmM0NC4yIDAgODAgMzUuOCA4MCA4MHptMC05Nkg0OTZjLTQ0LjIgMC04MC0zNS44LTgwLTgwVjMwNGgxNmM0NC4yIDAgODAgMzUuOCA4MCA4MHYxNnptMC0xMjh2MTZINDk2Yy00NC4yIDAtODAtMzUuOC04MC04MFYxOTJoMTZjNDQuMiAwIDgwIDM1LjggODAgODB6TTUyOCAzMmMxMy4zIDAgMjQgMTAuNyAyNCAyNFYxNjBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWNTZjMC0xMy4zIDEwLjctMjQgMjQtMjR6bTk2IDY0djMyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0Vjk2YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6TTQ1NiA3MmMxMy4zIDAgMjQgMTAuNyAyNCAyNHYzMmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFY5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNHpcIl1cbn07XG52YXIgZmFQZXJzb25CcmVhc3RmZWVkaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1icmVhc3RmZWVkaW5nJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJlNTNhXCIsIFwiTTIyNCAwYTgwIDgwIDAgMSAxIDAgMTYwQTgwIDgwIDAgMSAxIDIyNCAwek00MzYuOCAzODIuOEwzNzMuNSA0NjJjLTE2LjYgMjAuNy00Ni44IDI0LjEtNjcuNSA3LjVjLTE3LjYtMTQuMS0yMi43LTM4LjEtMTMuNS01Ny43bC0uOC0uMWMtMzguOS01LjYtNzQuMy0yNS4xLTk5LjctNTQuOFYzMjBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ2NDhjMCAuOCAwIDEuNiAuMSAyLjRsMTAxLjQgNTAuN2MyMy43IDExLjkgMzMuMyA0MC43IDIxLjUgNjQuNHMtNDAuNyAzMy4zLTY0LjQgMjEuNUwyNy4yIDQyNy4zYy0xLjEtLjUtMi4yLTEuMS0zLjMtMS43Yy00LjktMi44LTkuMi02LjQtMTIuNi0xMC42Yy00LjYtNS40LTcuOC0xMS43LTkuNi0xOC40Yy0zLjMtMTItMS45LTI1LjIgNC44LTM2LjZjLjYtMS4xIDEuMy0yLjIgMi0zLjJMNzUuNiAyNTYuMWMyNi43LTQwLjEgNzEuNy02NC4xIDExOS44LTY0LjFoNzUuMmM0Ni41IDAgOTAuMSAyMi41IDExNy4yIDYwLjNsNTAuNyA3MC45YzIuMiAzIDQgNi4xIDUuNSA5LjRjMi45IDYuNyA0LjMgMTMuOCA0IDIwLjhjLS4zIDEwLjYtNC4yIDIxLTExLjIgMjkuNHpNMzIwIDMzMmE0NCA0NCAwIDEgMCAtODggMCA0NCA0NCAwIDEgMCA4OCAwelwiXVxufTtcbnZhciBmYVJpZ2h0VG9CcmFja2V0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JpZ2h0LXRvLWJyYWNrZXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInNpZ24taW4tYWx0XCJdLCBcImYyZjZcIiwgXCJNMjE3LjkgMTA1LjlMMzQwLjcgMjI4LjdjNy4yIDcuMiAxMS4zIDE3LjEgMTEuMyAyNy4zcy00LjEgMjAuMS0xMS4zIDI3LjNMMjE3LjkgNDA2LjFjLTYuNCA2LjQtMTUgOS45LTI0IDkuOWMtMTguNyAwLTMzLjktMTUuMi0zMy45LTMzLjlsMC02Mi4xTDMyIDMyMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxMjggMCAwLTYyLjFjMC0xOC43IDE1LjItMzMuOSAzMy45LTMzLjljOSAwIDE3LjYgMy42IDI0IDkuOXpNMzUyIDQxNmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMjU2YzAtMTcuNy0xNC4zLTMyLTMyLTMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDY0IDBjNTMgMCA5NiA0MyA5NiA5NmwwIDI1NmMwIDUzLTQzIDk2LTk2IDk2bC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyelwiXVxufTtcbnZhciBmYVNpZ25JbkFsdCA9IGZhUmlnaHRUb0JyYWNrZXQ7XG52YXIgZmFWZW51cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2ZW51cycsXG4gIGljb246IFszODQsIDUxMiwgWzk3OTJdLCBcImYyMjFcIiwgXCJNODAgMTc2YTExMiAxMTIgMCAxIDEgMjI0IDBBMTEyIDExMiAwIDEgMSA4MCAxNzZ6TTIyNCAzNDkuMWM4MS45LTE1IDE0NC04Ni44IDE0NC0xNzMuMUMzNjggNzguOCAyODkuMiAwIDE5MiAwUzE2IDc4LjggMTYgMTc2YzAgODYuMyA2Mi4xIDE1OC4xIDE0NCAxNzMuMVYzODRIMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDMydjMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWNDQ4aDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDIyNFYzNDkuMXpcIl1cbn07XG52YXIgZmFQYXNzcG9ydCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwYXNzcG9ydCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjVhYlwiLCBcIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEgzODRjMzUuMyAwIDY0IDI4LjcgNjQgNjRWNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY2NHpNMTgzIDI3OC44Yy0yNy45LTEzLjItNDguNC0zOS40LTUzLjctNzAuOGgzOS4xYzEuNiAzMC40IDcuNyA1My44IDE0LjYgNzAuOHptNDEuMyA5LjJsLS4zIDAtLjMgMGMtMi40LTMuNS01LjctOC45LTkuMS0xNi41Yy02LTEzLjYtMTIuNC0zNC4zLTE0LjItNjMuNWg0Ny4xYy0xLjggMjkuMi04LjEgNDkuOS0xNC4yIDYzLjVjLTMuNCA3LjYtNi43IDEzLTkuMSAxNi41em00MC43LTkuMmM2LjgtMTcuMSAxMi45LTQwLjQgMTQuNi03MC44aDM5LjFjLTUuMyAzMS40LTI1LjggNTcuNi01My43IDcwLjh6TTI3OS42IDE3NmMtMS42LTMwLjQtNy43LTUzLjgtMTQuNi03MC44YzI3LjkgMTMuMiA0OC40IDM5LjQgNTMuNyA3MC44SDI3OS42ek0yMjMuNyA5NmwuMyAwIC4zIDBjMi40IDMuNSA1LjcgOC45IDkuMSAxNi41YzYgMTMuNiAxMi40IDM0LjMgMTQuMiA2My41SDIwMC41YzEuOC0yOS4yIDguMS00OS45IDE0LjItNjMuNWMzLjQtNy42IDYuNy0xMyA5LjEtMTYuNXpNMTgzIDEwNS4yYy02LjggMTcuMS0xMi45IDQwLjQtMTQuNiA3MC44SDEyOS4zYzUuMy0zMS40IDI1LjgtNTcuNiA1My43LTcwLjh6TTM1MiAxOTJBMTI4IDEyOCAwIDEgMCA5NiAxOTJhMTI4IDEyOCAwIDEgMCAyNTYgMHpNMTEyIDM4NGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNkgzMzZjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIMTEyelwiXVxufTtcbnZhciBmYUhlYXJ0UHVsc2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVhcnQtcHVsc2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImhlYXJ0YmVhdFwiXSwgXCJmMjFlXCIsIFwiTTIyOC4zIDQ2OS4xTDQ3LjYgMzAwLjRjLTQuMi0zLjktOC4yLTguMS0xMS45LTEyLjRoODdjMjIuNiAwIDQzLTEzLjYgNTEuNy0zNC41bDEwLjUtMjUuMiA0OS4zIDEwOS41YzMuOCA4LjUgMTIuMSAxNCAyMS40IDE0LjFzMTcuOC01IDIyLTEzLjNMMzIwIDI1My43bDEuNyAzLjRjOS41IDE5IDI4LjkgMzEgNTAuMSAzMUg0NzYuM2MtMy43IDQuMy03LjcgOC41LTExLjkgMTIuNEwyODMuNyA0NjkuMWMtNy41IDctMTcuNCAxMC45LTI3LjcgMTAuOXMtMjAuMi0zLjktMjcuNy0xMC45ek01MDMuNyAyNDBoLTEzMmMtMyAwLTUuOC0xLjctNy4yLTQuNGwtMjMuMi00Ni4zYy00LjEtOC4xLTEyLjQtMTMuMy0yMS41LTEzLjNzLTE3LjQgNS4xLTIxLjUgMTMuM2wtNDEuNCA4Mi44TDIwNS45IDE1OC4yYy0zLjktOC43LTEyLjctMTQuMy0yMi4yLTE0LjFzLTE4LjEgNS45LTIxLjggMTQuOGwtMzEuOCA3Ni4zYy0xLjIgMy00LjIgNC45LTcuNCA0LjlIMTZjLTIuNiAwLTUgLjQtNy4zIDEuMUMzIDIyNS4yIDAgMjA4LjIgMCAxOTAuOXYtNS44YzAtNjkuOSA1MC41LTEyOS41IDExOS40LTE0MUMxNjUgMzYuNSAyMTEuNCA1MS40IDI0NCA4NGwxMiAxMiAxMi0xMmMzMi42LTMyLjYgNzktNDcuNSAxMjQuNi0zOS45QzQ2MS41IDU1LjYgNTEyIDExNS4yIDUxMiAxODUuMXY1LjhjMCAxNi45LTIuOCAzMy41LTguMyA0OS4xelwiXVxufTtcbnZhciBmYUhlYXJ0YmVhdCA9IGZhSGVhcnRQdWxzZTtcbnZhciBmYVBlb3BsZUNhcnJ5Qm94ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Blb3BsZS1jYXJyeS1ib3gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInBlb3BsZS1jYXJyeVwiXSwgXCJmNGNlXCIsIFwiTTgwIDQ4YTQ4IDQ4IDAgMSAxIDk2IDBBNDggNDggMCAxIDEgODAgNDh6bTY0IDE5My43djY1LjFsNTEgNTFjNy4xIDcuMSAxMS44IDE2LjIgMTMuNCAyNi4xbDE1LjIgOTAuOWMyLjkgMTcuNC04LjkgMzMuOS0yNi4zIDM2LjhzLTMzLjktOC45LTM2LjgtMjYuM2wtMTQuMy04NS45TDY2LjggMzIwQzU0LjggMzA4IDQ4IDI5MS43IDQ4IDI3NC43VjE4Ni42YzAtMzIuNCAyNi4yLTU4LjYgNTguNi01OC42YzI0LjEgMCA0Ni41IDEyIDU5LjkgMzJsNDcuNCA3MS4xIDEwLjEgNVYxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJIMzg0YzE3LjcgMCAzMiAxNC4zIDMyIDMydjc2LjJsMTAuMS01TDQ3My41IDE2MGMxMy4zLTIwIDM1LjgtMzIgNTkuOS0zMmMzMi40IDAgNTguNiAyNi4yIDU4LjYgNTguNnY4OC4xYzAgMTctNi43IDMzLjMtMTguNyA0NS4zbC03OS40IDc5LjQtMTQuMyA4NS45Yy0yLjkgMTcuNC0xOS40IDI5LjItMzYuOCAyNi4zcy0yOS4yLTE5LjQtMjYuMy0zNi44bDE1LjItOTAuOWMxLjYtOS45IDYuMy0xOSAxMy40LTI2LjFsNTEtNTFWMjQxLjdsLTE5IDI4LjVjLTQuNiA3LTExIDEyLjYtMTguNSAxNi4zbC01OS42IDI5LjhjLTIuNCAxLjMtNC45IDIuMi03LjYgMi44Yy0yLjYgLjYtNS4zIC45LTcuOSAuOEgyNTYuN2MtMi41IC4xLTUtLjItNy41LS43Yy0yLjktLjYtNS42LTEuNi04LjEtM2wtNTkuNS0yOS44Yy03LjUtMy43LTEzLjgtOS40LTE4LjUtMTYuM2wtMTktMjguNXpNMi4zIDQ2OC4xTDUwLjEgMzQ4LjZsNDkuMiA0OS4yLTM3LjYgOTRjLTYuNiAxNi40LTI1LjIgMjQuNC00MS42IDE3LjhTLTQuMyA0ODQuNSAyLjMgNDY4LjF6TTUxMiAwYTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnptNzcuOSAzNDguNmw0Ny44IDExOS41YzYuNiAxNi40LTEuNCAzNS0xNy44IDQxLjZzLTM1LTEuNC00MS42LTE3LjhsLTM3LjYtOTQgNDkuMi00OS4yelwiXVxufTtcbnZhciBmYVBlb3BsZUNhcnJ5ID0gZmFQZW9wbGVDYXJyeUJveDtcbnZhciBmYVRlbXBlcmF0dXJlSGlnaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW1wZXJhdHVyZS1oaWdoJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNzY5XCIsIFwiTTQxNiA2NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTAgMTI4QTk2IDk2IDAgMSAwIDQxNiAwYTk2IDk2IDAgMSAwIDAgMTkyek05NiAxMTJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OFYyNzYuNWMwIDE3LjMgNy4xIDMxLjkgMTUuMyA0Mi41QzIxNy44IDMzMi42IDIyNCAzNDkuNSAyMjQgMzY4YzAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwYzAtMTguNSA2LjItMzUuNCAxNi43LTQ4LjlDODguOSAzMDguNCA5NiAyOTMuOCA5NiAyNzYuNVYxMTJ6TTE0NCAwQzgyLjEgMCAzMiA1MC4yIDMyIDExMlYyNzYuNWMwIC4xLS4xIC4zLS4yIC42Yy0uMiAuNi0uOCAxLjYtMS43IDIuOEMxMS4yIDMwNC4yIDAgMzM0LjggMCAzNjhjMCA3OS41IDY0LjUgMTQ0IDE0NCAxNDRzMTQ0LTY0LjUgMTQ0LTE0NGMwLTMzLjItMTEuMi02My44LTMwLjEtODguMWMtLjktMS4yLTEuNS0yLjItMS43LTIuOGMtLjEtLjMtLjItLjUtLjItLjZWMTEyQzI1NiA1MC4yIDIwNS45IDAgMTQ0IDB6bTAgNDE2YzI2LjUgMCA0OC0yMS41IDQ4LTQ4YzAtMjAuOS0xMy40LTM4LjctMzItNDUuM1YxMTJjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZWMzIyLjdjLTE4LjYgNi42LTMyIDI0LjQtMzIgNDUuM2MwIDI2LjUgMjEuNSA0OCA0OCA0OHpcIl1cbn07XG52YXIgZmFNaWNyb2NoaXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWljcm9jaGlwJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMmRiXCIsIFwiTTE3NiAyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNFY2NGMtMzUuMyAwLTY0IDI4LjctNjQgNjRIMjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRINjR2NTZIMjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRINjR2NTZIMjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRINjRjMCAzNS4zIDI4LjcgNjQgNjQgNjR2NDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFY0NDhoNTZ2NDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFY0NDhoNTZ2NDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFY0NDhjMzUuMyAwIDY0LTI4LjcgNjQtNjRoNDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRINDQ4VjI4MGg0MGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEg0NDhWMTc2aDQwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDQ0OGMwLTM1LjMtMjguNy02NC02NC02NFYyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNFY2NEgyODBWMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRWNjRIMTc2VjI0ek0xNjAgMTI4SDM1MmMxNy43IDAgMzIgMTQuMyAzMiAzMlYzNTJjMCAxNy43LTE0LjMgMzItMzIgMzJIMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMlYxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTE5MiAzMkgxNjBWMzUySDM1MlYxNjB6XCJdXG59O1xudmFyIGZhQ3Jvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3Jvd24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjgwODFdLCBcImY1MjFcIiwgXCJNMzA5IDEwNmMxMS40LTcgMTktMTkuNyAxOS0zNGMwLTIyLjEtMTcuOS00MC00MC00MHMtNDAgMTcuOS00MCA0MGMwIDE0LjQgNy42IDI3IDE5IDM0TDIwOS43IDIyMC42Yy05LjEgMTguMi0zMi43IDIzLjQtNDguNiAxMC43TDcyIDE2MGM1LTYuNyA4LTE1IDgtMjRjMC0yMi4xLTE3LjktNDAtNDAtNDBTMCAxMTMuOSAwIDEzNnMxNy45IDQwIDQwIDQwYy4yIDAgLjUgMCAuNyAwTDg2LjQgNDI3LjRjNS41IDMwLjQgMzIgNTIuNiA2MyA1Mi42SDQyNi42YzMwLjkgMCA1Ny40LTIyLjEgNjMtNTIuNkw1MzUuMyAxNzZjLjIgMCAuNSAwIC43IDBjMjIuMSAwIDQwLTE3LjkgNDAtNDBzLTE3LjktNDAtNDAtNDBzLTQwIDE3LjktNDAgNDBjMCA5IDMgMTcuMyA4IDI0bC04OS4xIDcxLjNjLTE1LjkgMTIuNy0zOS41IDcuNS00OC42LTEwLjdMMzA5IDEwNnpcIl1cbn07XG52YXIgZmFXZWlnaHRIYW5naW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dlaWdodC1oYW5naW5nJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNWNkXCIsIFwiTTIyNCA5NmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xMjIuNSAzMmMzLjUtMTAgNS41LTIwLjggNS41LTMyYzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2YzAgMTEuMiAxLjkgMjIgNS41IDMySDEyMGMtMjIgMC00MS4yIDE1LTQ2LjYgMzYuNGwtNzIgMjg4Yy0zLjYgMTQuMy0uNCAyOS41IDguNyA0MS4yUzMzLjIgNTEyIDQ4IDUxMkg0NjRjMTQuOCAwIDI4LjctNi44IDM3LjgtMTguNXMxMi4zLTI2LjggOC43LTQxLjJsLTcyLTI4OEM0MzMuMiAxNDMgNDE0IDEyOCAzOTIgMTI4SDM0Ni41elwiXVxufTtcbnZhciBmYVhtYXJrc0xpbmVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3htYXJrcy1saW5lcycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU5YVwiLCBcIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZINjA4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDMyem0wIDM4NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg2MDhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzJ6TTcgMTY3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWw1NSA1NUw3IDMxMWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDU1LTU1IDU1IDU1YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNTUtNTUgNTUtNTVjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtNTUgNTVMNDEgMTY3Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHpNMjY1IDE2N2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw1NSA1NS01NSA1NWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDU1LTU1IDU1IDU1YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNTUtNTUgNTUtNTVjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtNTUgNTUtNTUtNTV6TTQ1NSAxNjdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDU1IDU1LTU1IDU1Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNTUtNTUgNTUgNTVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC01NS01NSA1NS01NWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC01NSA1NS01NS01NWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDB6XCJdXG59O1xudmFyIGZhRmlsZVByZXNjcmlwdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLXByZXNjcmlwdGlvbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjU3MlwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzIwYzM1LjMgMCA2NC0yOC43IDY0LTY0VjE2MEgyNTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjBINjR6TTI1NiAwVjEyOEgzODRMMjU2IDB6TTEwNCAxOTZoNzJjMzMuMSAwIDYwIDI2LjkgNjAgNjBjMCAyNS41LTE1LjkgNDcuMi0zOC4zIDU1LjlsNDMgNDAuMyAzMy44LTMxYzguMS03LjUgMjAuOC02LjkgMjguMyAxLjJzNi45IDIwLjgtMS4yIDI4LjNMMjcwIDM3OS43bDMxLjcgMjkuN2M4LjEgNy42IDguNSAyMC4yIC45IDI4LjNzLTIwLjIgOC41LTI4LjMgLjlsLTMzLjktMzEuOC0zNC45IDMyYy04LjEgNy41LTIwLjggNi45LTI4LjMtMS4ycy02LjktMjAuOCAxLjItMjguM2wzMi42LTI5LjktNjQuOC02MC44Yy0uOS0uOC0xLjYtMS43LTIuMy0yLjZIMTI0djQ0YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMFYyOTYgMjE2YzAtMTEgOS0yMCAyMC0yMHptNzIgODBjMTEgMCAyMC05IDIwLTIwcy05LTIwLTIwLTIwSDEyNHY0MGg1MnpcIl1cbn07XG52YXIgZmFXZWlnaHRTY2FsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3ZWlnaHQtc2NhbGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcIndlaWdodFwiXSwgXCJmNDk2XCIsIFwiTTEyOCAxNzZhMTI4IDEyOCAwIDEgMSAyNTYgMCAxMjggMTI4IDAgMSAxIC0yNTYgMHpNMzkxLjggNjRDMzU5LjUgMjQuOSAzMTAuNyAwIDI1NiAwUzE1Mi41IDI0LjkgMTIwLjIgNjRINjRDMjguNyA2NCAwIDkyLjcgMCAxMjhWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NFYxMjhjMC0zNS4zLTI4LjctNjQtNjQtNjRIMzkxLjh6TTI5NiAyMjRjMC0xMC42LTQuMS0yMC4yLTEwLjktMjcuNGwzMy42LTc4LjNjMy41LTguMS0uMy0xNy41LTguNC0yMXMtMTcuNSAuMy0yMSA4LjRMMjU1LjcgMTg0Yy0yMiAuMS0zOS43IDE4LTM5LjcgNDBjMCAyMi4xIDE3LjkgNDAgNDAgNDBzNDAtMTcuOSA0MC00MHpcIl1cbn07XG52YXIgZmFXZWlnaHQgPSBmYVdlaWdodFNjYWxlO1xudmFyIGZhVXNlckdyb3VwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItZ3JvdXAnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjgxMDEsIFwidXNlci1mcmllbmRzXCJdLCBcImY1MDBcIiwgXCJNOTYgMTI4YTEyOCAxMjggMCAxIDEgMjU2IDBBMTI4IDEyOCAwIDEgMSA5NiAxMjh6TTAgNDgyLjNDMCAzODMuOCA3OS44IDMwNCAxNzguMyAzMDRoOTEuNEMzNjguMiAzMDQgNDQ4IDM4My44IDQ0OCA0ODIuM2MwIDE2LjQtMTMuMyAyOS43LTI5LjcgMjkuN0gyOS43QzEzLjMgNTEyIDAgNDk4LjcgMCA0ODIuM3pNNjA5LjMgNTEySDQ3MS40YzUuNC05LjQgOC42LTIwLjMgOC42LTMydi04YzAtNjAuNy0yNy4xLTExNS4yLTY5LjgtMTUxLjhjMi40LS4xIDQuNy0uMiA3LjEtLjJoNjEuNEM1NjcuOCAzMjAgNjQwIDM5Mi4yIDY0MCA0ODEuM2MwIDE3LTEzLjggMzAuNy0zMC43IDMwLjd6TTQzMiAyNTZjLTMxIDAtNTktMTIuNi03OS4zLTMyLjlDMzcyLjQgMTk2LjUgMzg0IDE2My42IDM4NCAxMjhjMC0yNi44LTYuNi01Mi4xLTE4LjMtNzQuM0MzODQuMyA0MC4xIDQwNy4yIDMyIDQzMiAzMmM2MS45IDAgMTEyIDUwLjEgMTEyIDExMnMtNTAuMSAxMTItMTEyIDExMnpcIl1cbn07XG52YXIgZmFVc2VyRnJpZW5kcyA9IGZhVXNlckdyb3VwO1xudmFyIGZhQXJyb3dVcEFaID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXVwLWEteicsXG4gIGljb246IFs1NzYsIDUxMiwgW1wic29ydC1hbHBoYS11cFwiXSwgXCJmMTVlXCIsIFwiTTE4My42IDQyLjRDMTc3LjUgMzUuOCAxNjkgMzIgMTYwIDMycy0xNy41IDMuOC0yMy42IDEwLjRsLTg4IDk2Yy0xMS45IDEzLTExLjEgMzMuMyAyIDQ1LjJzMzMuMyAxMS4xIDQ1LjItMkwxMjggMTQ2LjNWNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMTQ2LjNsMzIuNCAzNS40YzExLjkgMTMgMzIuMiAxMy45IDQ1LjIgMnMxMy45LTMyLjIgMi00NS4ybC04OC05NnpNMzIwIDMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMmg1MC43bC03My40IDczLjRjLTkuMiA5LjItMTEuOSAyMi45LTYuOSAzNC45czE2LjYgMTkuOCAyOS42IDE5LjhINDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDQyOS4zbDczLjQtNzMuNGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOXMtMTYuNi0xOS44LTI5LjYtMTkuOEgzNTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek00MTYgMzJjLTEyLjEgMC0yMy4yIDYuOC0yOC42IDE3LjdsLTY0IDEyOC0xNiAzMmMtNy45IDE1LjgtMS41IDM1IDE0LjMgNDIuOXMzNSAxLjUgNDIuOS0xNC4zbDcuMi0xNC4zaDg4LjRsNy4yIDE0LjNjNy45IDE1LjggMjcuMSAyMi4yIDQyLjkgMTQuM3MyMi4yLTI3LjEgMTQuMy00Mi45bC0xNi0zMi02NC0xMjhDNDM5LjIgMzguOCA0MjguMSAzMiA0MTYgMzJ6TTM5NS44IDE3Nkw0MTYgMTM1LjYgNDM2LjIgMTc2SDM5NS44elwiXVxufTtcbnZhciBmYVNvcnRBbHBoYVVwID0gZmFBcnJvd1VwQVo7XG52YXIgZmFDaGVzc0tuaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGVzcy1rbmlnaHQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5ODIyXSwgXCJmNDQxXCIsIFwiTTk2IDQ4TDgyLjcgNjEuM0M3MC43IDczLjMgNjQgODkuNSA2NCAxMDYuNVYyMzguOWMwIDEwLjcgNS4zIDIwLjcgMTQuMiAyNi42bDEwLjYgN2MxNC4zIDkuNiAzMi43IDEwLjcgNDguMSAzbDMuMi0xLjZjMi42LTEuMyA1LTIuOCA3LjMtNC41bDQ5LjQtMzdjNi42LTUgMTUuNy01IDIyLjMgMGMxMC4yIDcuNyA5LjkgMjMuMS0uNyAzMC4zTDkwLjQgMzUwQzczLjkgMzYxLjMgNjQgMzgwIDY0IDQwMEgzODRsMjguOS0xNTljMi4xLTExLjMgMy4xLTIyLjggMy4xLTM0LjNWMTkyQzQxNiA4NiAzMzAgMCAyMjQgMEg4My44QzcyLjkgMCA2NCA4LjkgNjQgMTkuOGMwIDcuNSA0LjIgMTQuMyAxMC45IDE3LjdMOTYgNDh6bTI0IDY4YTIwIDIwIDAgMSAxIDQwIDAgMjAgMjAgMCAxIDEgLTQwIDB6TTIyLjYgNDczLjRjLTQuMiA0LjItNi42IDEwLTYuNiAxNkMxNiA1MDEuOSAyNi4xIDUxMiAzOC42IDUxMkg0MDkuNGMxMi41IDAgMjIuNi0xMC4xIDIyLjYtMjIuNmMwLTYtMi40LTExLjgtNi42LTE2TDM4NCA0MzJINjRMMjIuNiA0NzMuNHpcIl1cbn07XG52YXIgZmFGYWNlTGF1Z2hTcXVpbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1sYXVnaC1zcXVpbnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImxhdWdoLXNxdWludFwiXSwgXCJmNTliXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek05Ni44IDMxNC4xYy0zLjgtMTMuNyA3LjQtMjYuMSAyMS42LTI2LjFIMzkzLjZjMTQuMiAwIDI1LjUgMTIuNCAyMS42IDI2LjFDMzk2LjIgMzgyIDMzMi4xIDQzMiAyNTYgNDMycy0xNDAuMi01MC0xNTkuMi0xMTcuOXptMzYuNy0xOTkuNGw4OS45IDQ3LjljMTAuNyA1LjcgMTAuNyAyMS4xIDAgMjYuOGwtODkuOSA0Ny45Yy03LjkgNC4yLTE3LjUtMS41LTE3LjUtMTAuNWMwLTIuOCAxLTUuNSAyLjgtNy42bDM2LTQzLjItMzYtNDMuMmMtMS44LTIuMS0yLjgtNC44LTIuOC03LjZjMC05IDkuNi0xNC43IDE3LjUtMTAuNXpNMzk2IDEyNS4xYzAgMi44LTEgNS41LTIuOCA3LjZsLTM2IDQzLjIgMzYgNDMuMmMxLjggMi4xIDIuOCA0LjggMi44IDcuNmMwIDktOS42IDE0LjctMTcuNSAxMC41bC04OS45LTQ3LjljLTEwLjctNS43LTEwLjctMjEuMSAwLTI2LjhsODkuOS00Ny45YzcuOS00LjIgMTcuNSAxLjUgMTcuNSAxMC41elwiXVxufTtcbnZhciBmYUxhdWdoU3F1aW50ID0gZmFGYWNlTGF1Z2hTcXVpbnQ7XG52YXIgZmFXaGVlbGNoYWlyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3doZWVsY2hhaXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYxOTNcIiwgXCJNMTkyIDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNMTIwLjUgMjQ3LjJjMTIuNC00LjcgMTguNy0xOC41IDE0LTMwLjlzLTE4LjUtMTguNy0zMC45LTE0QzQzLjEgMjI1LjEgMCAyODMuNSAwIDM1MmMwIDg4LjQgNzEuNiAxNjAgMTYwIDE2MGM2MS4yIDAgMTE0LjMtMzQuMyAxNDEuMi04NC43YzYuMi0xMS43IDEuOC0yNi4yLTkuOS0zMi41cy0yNi4yLTEuOC0zMi41IDkuOUMyNDAgNDQwIDIwMi44IDQ2NCAxNjAgNDY0Qzk4LjEgNDY0IDQ4IDQxMy45IDQ4IDM1MmMwLTQ3LjkgMzAuMS04OC44IDcyLjUtMTA0Ljh6TTI1OS44IDE3NmwtMS45LTkuN2MtNC41LTIyLjMtMjQtMzguMy00Ni44LTM4LjNjLTMwLjEgMC01Mi43IDI3LjUtNDYuOCA1N2wyMy4xIDExNS41YzYgMjkuOSAzMi4yIDUxLjQgNjIuOCA1MS40aDUuMWMuNCAwIC44IDAgMS4zIDBoOTQuMWM2LjcgMCAxMi42IDQuMSAxNSAxMC40TDQwMiA0NTkuMmM2IDE2LjEgMjMuOCAyNC42IDQwLjEgMTkuMWw0OC0xNmMxNi44LTUuNiAyNS44LTIzLjcgMjAuMi00MC41cy0yMy43LTI1LjgtNDAuNS0yMC4ybC0xOC43IDYuMi0yNS41LTY4Yy0xMS43LTMxLjItNDEuNi01MS45LTc0LjktNTEuOUgyODIuMmwtOS42LTQ4SDMzNmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgyNTkuOHpcIl1cbn07XG52YXIgZmFDaXJjbGVBcnJvd1VwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1hcnJvdy11cCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYXJyb3ctY2lyY2xlLXVwXCJdLCBcImYwYWFcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTM4NSAyMzFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNzEtNzFWMzc2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0VjE5My45bC03MSA3MWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOUwyMzkgMTE5YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwTDM4NSAyMzF6XCJdXG59O1xudmFyIGZhQXJyb3dDaXJjbGVVcCA9IGZhQ2lyY2xlQXJyb3dVcDtcbnZhciBmYVRvZ2dsZU9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RvZ2dsZS1vbicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjIwNVwiLCBcIk0xOTIgNjRDODYgNjQgMCAxNTAgMCAyNTZTODYgNDQ4IDE5MiA0NDhIMzg0YzEwNiAwIDE5Mi04NiAxOTItMTkycy04Ni0xOTItMTkyLTE5MkgxOTJ6bTE5MiA5NmE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnpcIl1cbn07XG52YXIgZmFQZXJzb25XYWxraW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi13YWxraW5nJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTI4Njk0LCBcIndhbGtpbmdcIl0sIFwiZjU1NFwiLCBcIk0xNjAgNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNMTI2LjUgMTk5LjNjLTEgLjQtMS45IC44LTIuOSAxLjJsLTggMy41Yy0xNi40IDcuMy0yOSAyMS4yLTM0LjcgMzguMmwtMi42IDcuOGMtNS42IDE2LjgtMjMuNyAyNS44LTQwLjUgMjAuMnMtMjUuOC0yMy43LTIwLjItNDAuNWwyLjYtNy44YzExLjQtMzQuMSAzNi42LTYxLjkgNjkuNC03Ni41bDgtMy41YzIwLjgtOS4yIDQzLjMtMTQgNjYuMS0xNGM0NC42IDAgODQuOCAyNi44IDEwMS45IDY3LjlMMjgxIDIzMi43bDIxLjQgMTAuN2MxNS44IDcuOSAyMi4yIDI3LjEgMTQuMyA0Mi45cy0yNy4xIDIyLjItNDIuOSAxNC4zTDI0NyAyODcuM2MtMTAuMy01LjItMTguNC0xMy44LTIyLjgtMjQuNWwtOS42LTIzLTE5LjMgNjUuNSA0OS41IDU0YzUuNCA1LjkgOS4yIDEzIDExLjIgMjAuOGwyMyA5Mi4xYzQuMyAxNy4xLTYuMSAzNC41LTIzLjMgMzguOHMtMzQuNS02LjEtMzguOC0yMy4zbC0yMi04OC4xLTcwLjctNzcuMWMtMTQuOC0xNi4xLTIwLjMtMzguNi0xNC43LTU5LjdsMTYuOS02My41ek02OC43IDM5OGwyNS02Mi40YzIuMSAzIDQuNSA1LjggNyA4LjZsNDAuNyA0NC40LTE0LjUgMzYuMmMtMi40IDYtNiAxMS41LTEwLjYgMTYuMUw1NC42IDUwMi42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0w2OC43IDM5OHpcIl1cbn07XG52YXIgZmFXYWxraW5nID0gZmFQZXJzb25XYWxraW5nO1xudmFyIGZhTCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTA4XSwgXCI0Y1wiLCBcIk02NCAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMlY0MTZIMjg4YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlY2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpcIl1cbn07XG52YXIgZmFGaXJlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpcmUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjgyOTNdLCBcImYwNmRcIiwgXCJNMTU5LjMgNS40YzcuOC03LjMgMTkuOS03LjIgMjcuNyAuMWMyNy42IDI1LjkgNTMuNSA1My44IDc3LjcgODRjMTEtMTQuNCAyMy41LTMwLjEgMzctNDIuOWM3LjktNy40IDIwLjEtNy40IDI4IC4xYzM0LjYgMzMgNjMuOSA3Ni42IDg0LjUgMTE4YzIwLjMgNDAuOCAzMy44IDgyLjUgMzMuOCAxMTEuOUM0NDggNDA0LjIgMzQ4LjIgNTEyIDIyNCA1MTJDOTguNCA1MTIgMCA0MDQuMSAwIDI3Ni41YzAtMzguNCAxNy44LTg1LjMgNDUuNC0xMzEuN0M3My4zIDk3LjcgMTEyLjcgNDguNiAxNTkuMyA1LjR6TTIyNS43IDQxNmMyNS4zIDAgNDcuNy03IDY4LjgtMjFjNDIuMS0yOS40IDUzLjQtODguMiAyOC4xLTEzNC40Yy00LjUtOS0xNi05LjYtMjIuNS0ybC0yNS4yIDI5LjNjLTYuNiA3LjYtMTguNSA3LjQtMjQuNy0uNWMtMTYuNS0yMS00Ni01OC41LTYyLjgtNzkuOGMtNi4zLTgtMTguMy04LjEtMjQuNy0uMWMtMzMuOCA0Mi41LTUwLjggNjkuMy01MC44IDk5LjRDMTEyIDM3NS40IDE2Mi42IDQxNiAyMjUuNyA0MTZ6XCJdXG59O1xudmFyIGZhQmVkUHVsc2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmVkLXB1bHNlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJwcm9jZWR1cmVzXCJdLCBcImY0ODdcIiwgXCJNNDgzLjIgOS42TDUyNCA2NGg5MmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEg1MTJjLTcuNiAwLTE0LjctMy42LTE5LjItOS42TDQ2OC43IDcwLjNsLTQ3IDk5LjljLTMuNyA3LjgtMTEuMyAxMy4xLTE5LjkgMTMuN3MtMTYuOS0zLjQtMjEuNy0xMC42TDMzOS4yIDExMkgyMTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRIMzUyYzggMCAxNS41IDQgMjAgMTAuN2wyNC40IDM2LjYgNDUuOS05Ny41QzQ0NS45IDYuMiA0NTMuMiAxIDQ2MS42IC4xczE2LjYgMi43IDIxLjYgOS41ek0zMjAgMTYwaDEyLjdsMjAuNyAzMS4xYzExLjIgMTYuOCAzMC42IDI2LjMgNTAuNyAyNC44czM3LjktMTMuNyA0Ni41LTMyTDQ2MS45IDE2MEg1NDRjNTMgMCA5NiA0MyA5NiA5NlY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWNDQ4SDM1MiAzMjAgNjR2MzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWOTZDMCA3OC4zIDE0LjMgNjQgMzIgNjRzMzIgMTQuMyAzMiAzMlYzNTJIMjg4VjE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptLTE0NCAwYTgwIDgwIDAgMSAxIDAgMTYwIDgwIDgwIDAgMSAxIDAtMTYwelwiXVxufTtcbnZhciBmYVByb2NlZHVyZXMgPSBmYUJlZFB1bHNlO1xudmFyIGZhU2h1dHRsZVNwYWNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NodXR0bGUtc3BhY2UnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInNwYWNlLXNodXR0bGVcIl0sIFwiZjE5N1wiLCBcIk0xMzAgNDgwYzQwLjYgMCA4MC40LTExIDExNS4yLTMxLjlMMzUyIDM4NGwtMjI0IDAgMCA5Nmgyek0zNTIgMTI4TDI0NS4yIDYzLjlDMjEwLjQgNDMgMTcwLjYgMzIgMTMwIDMyaC0ydjk2bDIyNCAwek05NiAxMjhsMC05Nkg4MEM1My41IDMyIDMyIDUzLjUgMzIgODB2NDhoOGMtMjIuMSAwLTQwIDE3LjktNDAgNDB2MTZWMzI4djE2YzAgMjIuMSAxNy45IDQwIDQwIDQwSDMydjQ4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDk2bDAtOTZoOGMyNi4yIDAgNDkuNC0xMi42IDY0LTMySDQ1NmM2OS4zIDAgMTM1LTIyLjcgMTc5LjItODEuNmM2LjQtOC41IDYuNC0yMC4zIDAtMjguOEM1OTEgMTgyLjcgNTI1LjMgMTYwIDQ1NiAxNjBIMTY4Yy0xNC42LTE5LjQtMzcuOC0zMi02NC0zMmwtOCAwek01MTIgMjQzLjZ2MjQuOWMwIDE5LjYtMTUuOSAzNS42LTM1LjYgMzUuNmMtMi41IDAtNC40LTItNC40LTQuNFYyMTIuNGMwLTIuNSAyLTQuNCA0LjQtNC40YzE5LjYgMCAzNS42IDE1LjkgMzUuNiAzNS42elwiXVxufTtcbnZhciBmYVNwYWNlU2h1dHRsZSA9IGZhU2h1dHRsZVNwYWNlO1xudmFyIGZhRmFjZUxhdWdoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtbGF1Z2gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImxhdWdoXCJdLCBcImY1OTlcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTk2LjggMzE0LjFjLTMuOC0xMy43IDcuNC0yNi4xIDIxLjYtMjYuMUgzOTMuNmMxNC4yIDAgMjUuNSAxMi40IDIxLjYgMjYuMUMzOTYuMiAzODIgMzMyLjEgNDMyIDI1NiA0MzJzLTE0MC4yLTUwLTE1OS4yLTExNy45ek0xNDQuNCAxOTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFMYXVnaCA9IGZhRmFjZUxhdWdoO1xudmFyIGZhRm9sZGVyT3BlbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmb2xkZXItb3BlbicsXG4gIGljb246IFs1NzYsIDUxMiwgWzEyODE5NCwgMTI4NDQ5LCA2MTcxN10sIFwiZjA3Y1wiLCBcIk04OC43IDIyMy44TDAgMzc1LjhWOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJIMTgxLjVjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdsMjYuNSAyNi41YzEyIDEyIDI4LjMgMTguNyA0NS4zIDE4LjdINDE2YzM1LjMgMCA2NCAyOC43IDY0IDY0djMySDE0NGMtMjIuOCAwLTQzLjggMTIuMS01NS4zIDMxLjh6bTI3LjYgMTYuMUMxMjIuMSAyMzAgMTMyLjYgMjI0IDE0NCAyMjRINTQ0YzExLjUgMCAyMiA2LjEgMjcuNyAxNi4xczUuNyAyMi4yLS4xIDMyLjFsLTExMiAxOTJDNDUzLjkgNDc0IDQ0My40IDQ4MCA0MzIgNDgwSDMyYy0xMS41IDAtMjItNi4xLTI3LjctMTYuMXMtNS43LTIyLjIgLjEtMzIuMWwxMTItMTkyelwiXVxufTtcbnZhciBmYUhlYXJ0Q2lyY2xlUGx1cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFydC1jaXJjbGUtcGx1cycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTUwMFwiLCBcIk00Ny42IDMwMC40TDIyOC4zIDQ2OS4xYzcuNSA3IDE3LjQgMTAuOSAyNy43IDEwLjlzMjAuMi0zLjkgMjcuNy0xMC45bDIuNi0yLjRDMjY3LjIgNDM4LjYgMjU2IDQwNC42IDI1NiAzNjhjMC05Ny4yIDc4LjgtMTc2IDE3Ni0xNzZjMjguMyAwIDU1IDYuNyA3OC43IDE4LjVjLjktNi41IDEuMy0xMyAxLjMtMTkuNnYtNS44YzAtNjkuOS01MC41LTEyOS41LTExOS40LTE0MUMzNDcgMzYuNSAzMDAuNiA1MS40IDI2OCA4NEwyNTYgOTYgMjQ0IDg0Yy0zMi42LTMyLjYtNzktNDcuNS0xMjQuNi0zOS45QzUwLjUgNTUuNiAwIDExNS4yIDAgMTg1LjF2NS44YzAgNDEuNSAxNy4yIDgxLjIgNDcuNiAxMDkuNXpNNDMyIDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTE2LTIwOHY0OGg0OGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkg0NDh2NDhjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWMzg0SDM2OGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmg0OFYzMDRjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnpcIl1cbn07XG52YXIgZmFDb2RlRm9yayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb2RlLWZvcmsnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImUxM2JcIiwgXCJNODAgMTA0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptODAtMjRjMCAzMi44LTE5LjcgNjEtNDggNzMuM1YxOTJjMCAxNy43IDE0LjMgMzIgMzIgMzJIMzA0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjE1My4zQzMwNy43IDE0MSAyODggMTEyLjggMjg4IDgwYzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBjMCAzMi44LTE5LjcgNjEtNDggNzMuM1YxOTJjMCA1My00MyA5Ni05NiA5NkgyNTZ2NzAuN2MyOC4zIDEyLjMgNDggNDAuNSA0OCA3My4zYzAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwYzAtMzIuOCAxOS43LTYxIDQ4LTczLjNWMjg4SDE0NGMtNTMgMC05Ni00My05Ni05NlYxNTMuM0MxOS43IDE0MSAwIDExMi44IDAgODBDMCAzNS44IDM1LjggMCA4MCAwczgwIDM1LjggODAgODB6bTIwOCAyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6TTI0OCA0MzJhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpcIl1cbn07XG52YXIgZmFDaXR5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpdHknLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjc5NjFdLCBcImY2NGZcIiwgXCJNNDgwIDQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDMzNmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhWOTZIMjI0VjI0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0Vjk2SDExMlYyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNFM2NCAxMC43IDY0IDI0Vjk2SDQ4QzIxLjUgOTYgMCAxMTcuNSAwIDE0NHY5NlY0NjRjMCAyNi41IDIxLjUgNDggNDggNDhIMzA0aDMyIDk2SDU5MmMyNi41IDAgNDgtMjEuNSA0OC00OFYyNDBjMC0yNi41LTIxLjUtNDgtNDgtNDhINDgwVjQ4em05NiAzMjB2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDUyOGMtOC44IDAtMTYtNy4yLTE2LTE2VjM2OGMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2ek0yNDAgNDE2SDIwOGMtOC44IDAtMTYtNy4yLTE2LTE2VjM2OGMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNnpNMTI4IDQwMGMwIDguOC03LjIgMTYtMTYgMTZIODBjLTguOCAwLTE2LTcuMi0xNi0xNlYzNjhjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMnpNNTYwIDI1NmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDUyOGMtOC44IDAtMTYtNy4yLTE2LTE2VjI3MmMwLTguOCA3LjItMTYgMTYtMTZoMzJ6TTI1NiAxNzZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDIwOGMtOC44IDAtMTYtNy4yLTE2LTE2VjE3NmMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2ek0xMTIgMTYwYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIODBjLTguOCAwLTE2LTcuMi0xNi0xNlYxNzZjMC04LjggNy4yLTE2IDE2LTE2aDMyek0yNTYgMzA0YzAgOC44LTcuMiAxNi0xNiAxNkgyMDhjLTguOCAwLTE2LTcuMi0xNi0xNlYyNzJjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMnpNMTEyIDMyMEg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjI3MmMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNnptMzA0LTQ4djMyYzAgOC44LTcuMiAxNi0xNiAxNkgzNjhjLTguOCAwLTE2LTcuMi0xNi0xNlYyNzJjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnpNNDAwIDY0YzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMzY4Yy04LjggMC0xNi03LjItMTYtMTZWODBjMC04LjggNy4yLTE2IDE2LTE2aDMyem0xNiAxMTJ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDM2OGMtOC44IDAtMTYtNy4yLTE2LTE2VjE3NmMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2elwiXVxufTtcbnZhciBmYU1pY3JvcGhvbmVMaW5lcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtaWNyb3Bob25lLWxpbmVzJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI3ODk3LCBcIm1pY3JvcGhvbmUtYWx0XCJdLCBcImYzYzlcIiwgXCJNOTYgOTZWMjU2YzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZIMjA4Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2aDgwVjE5MkgyMDhjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZoODBWMTI4SDIwOGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmg4MGMwLTUzLTQzLTk2LTk2LTk2Uzk2IDQzIDk2IDk2ek0zMjAgMjQwdjE2YzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4cy0xMjgtNTcuMy0xMjgtMTI4VjIxNmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHY0MGMwIDg5LjEgNjYuMiAxNjIuNyAxNTIgMTc0LjRWNDY0SDEyMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGg3MiA3MmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEgyMTZWNDMwLjRjODUuOC0xMS43IDE1Mi04NS4zIDE1Mi0xNzQuNFYyMTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR2MjR6XCJdXG59O1xudmFyIGZhTWljcm9waG9uZUFsdCA9IGZhTWljcm9waG9uZUxpbmVzO1xudmFyIGZhUGVwcGVySG90ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcHBlci1ob3QnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc3OThdLCBcImY4MTZcIiwgXCJNNDI4LjMgM2MxMS42LTYuNCAyNi4yLTIuMyAzMi42IDkuM2w0LjggOC43YzE5LjMgMzQuNyAxOS44IDc1LjcgMy40IDExMEM0OTUuOCAxNTkuNiA1MTIgMTk3LjkgNTEyIDI0MGMwIDE4LjUtMy4xIDM2LjMtOC45IDUyLjhjLTYuMSAxNy4zLTI4LjUgMTYuMy0zNi44LS4xbC0xMS43LTIzLjRjLTQuMS04LjEtMTIuNC0xMy4zLTIxLjUtMTMuM0gzNjBjLTEzLjMgMC0yNC0xMC43LTI0LTI0VjE1MmMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtMTcuMSAwYy0yMS4zIDAtMzAtMjMuOS0xMC44LTMyLjlDMzA0LjcgODUuNCAzMjcuNyA4MCAzNTIgODBjMjguMyAwIDU0LjggNy4zIDc3LjggMjAuMmM1LjUtMTguMiAzLjctMzguNC02LTU1LjhMNDE5IDM1LjdjLTYuNC0xMS42LTIuMy0yNi4yIDkuMy0zMi42ek0xNzEuMiAzNDUuNUwyNjQgMTYwbDQwIDB2ODBjMCAyNi41IDIxLjUgNDggNDggNDhoNzYuMmwyMy45IDQ3LjhDMzcyLjMgNDQzLjkgMjQ0LjMgNTEyIDEwMy4yIDUxMkg0NC40QzE5LjkgNTEyIDAgNDkyLjEgMCA0NjcuNmMwLTIwLjggMTQuNS0zOC44IDM0LjgtNDMuM2w0OS44LTExLjFjMzcuNi04LjQgNjkuNS0zMy4yIDg2LjctNjcuN3pcIl1cbn07XG52YXIgZmFVbmxvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndW5sb2NrJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI4Mjc1XSwgXCJmMDljXCIsIFwiTTE0NCAxNDRjMC00NC4yIDM1LjgtODAgODAtODBjMzEuOSAwIDU5LjQgMTguNiA3Mi4zIDQ1LjdjNy42IDE2IDI2LjcgMjIuOCA0Mi42IDE1LjJzMjIuOC0yNi43IDE1LjItNDIuNkMzMzEgMzMuNyAyODEuNSAwIDIyNCAwQzE0NC41IDAgODAgNjQuNSA4MCAxNDR2NDhINjRjLTM1LjMgMC02NCAyOC43LTY0IDY0VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDE0NFYxNDR6XCJdXG59O1xudmFyIGZhQ29sb25TaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvbG9uLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUxNDBcIiwgXCJNMjU1IDM5LjhjNC4zLTE3LjEtNi4xLTM0LjUtMjMuMy0zOC44UzE5Ny4yIDcuMSAxOTMgMjQuMkwxODEuOSA2OC42Qzk2LjEgODcuOCAzMiAxNjQuNCAzMiAyNTZjMCA1OC4xIDI1LjggMTEwLjIgNjYuNyAxNDUuNEw4MSA0NzIuMmMtNC4zIDE3LjEgNi4xIDM0LjUgMjMuMyAzOC44czM0LjUtNi4xIDM4LjgtMjMuM2wxMy01Mi4xYzkgMy40IDE4LjQgNi4yIDI4IDguMkwxNzcgNDcyLjJjLTQuMyAxNy4xIDYuMSAzNC41IDIzLjMgMzguOHMzNC41LTYuMSAzOC44LTIzLjNsMTAuNC00MS40YzMzLjQtNC40IDY0LjEtMTcuNCA4OS44LTM2LjdjMTQuMS0xMC42IDE3LTMwLjcgNi40LTQ0LjhzLTMwLjctMTctNDQuOC02LjRjLTEwLjIgNy43LTIxLjcgMTMuOS0zNCAxOC4zTDMyMSAxNjBjOS40LS4zIDE4LjUtNC43IDI0LjYtMTIuOGMxMC42LTE0LjEgNy44LTM0LjItNi40LTQ0LjhjLTEuMS0uOC0yLjItMS42LTMuMy0yLjRMMzUxIDM5LjhjNC4zLTE3LjEtNi4xLTM0LjUtMjMuMy0zOC44UzI5My4yIDcuMSAyODkgMjQuMkwyNzcuMiA3MS41Yy05LjMtMi43LTE4LjgtNC42LTI4LjYtNS45TDI1NSAzOS44ek0xNjMuMiAxNDMuM0wxMTcuMyAzMjYuOEMxMDMuOSAzMDYuNSA5NiAyODIuMiA5NiAyNTZjMC00OC43IDI3LjItOTEgNjcuMi0xMTIuN3ptOC42IDIyOS41bDYxLjEtMjQ0LjZjOS45IC43IDE5LjUgMi41IDI4LjcgNS4zbC02MiAyNDguMWMtOS43LTEuOS0xOS00LjgtMjcuOC04Ljh6XCJdXG59O1xudmFyIGZhSGVhZHNldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFkc2V0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNTkwXCIsIFwiTTI1NiA0OEMxNDEuMSA0OCA0OCAxNDEuMSA0OCAyNTZ2NDBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWMjU2QzAgMTE0LjYgMTE0LjYgMCAyNTYgMFM1MTIgMTE0LjYgNTEyIDI1NlY0MDAuMWMwIDQ4LjYtMzkuNCA4OC04OC4xIDg4TDMxMy42IDQ4OGMtOC4zIDE0LjMtMjMuOCAyNC00MS42IDI0SDI0MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhzMjEuNS00OCA0OC00OGgzMmMxNy44IDAgMzMuMyA5LjcgNDEuNiAyNGwxMTAuNCAuMWMyMi4xIDAgNDAtMTcuOSA0MC00MFYyNTZjMC0xMTQuOS05My4xLTIwOC0yMDgtMjA4ek0xNDQgMjA4aDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMyVjM1MmMwIDE3LjctMTQuMyAzMi0zMiAzMkgxNDRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjI3MmMwLTM1LjMgMjguNy02NCA2NC02NHptMjI0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjR2NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRIMzUyYy0xNy43IDAtMzItMTQuMy0zMi0zMlYyNDBjMC0xNy43IDE0LjMtMzIgMzItMzJoMTZ6XCJdXG59O1xudmFyIGZhU3RvcmVTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdG9yZS1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA3MVwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43bC04Ni44LTY4VjM4NCAyNTIuNmMtNCAxLTggMS44LTEyLjMgMi4zbC0uMSAwYy01LjMgLjctMTAuNyAxLjEtMTYuMiAxLjFjLTEyLjQgMC0yNC4zLTEuOS0zNS40LTUuM1YzNTAuOUwzMDEuMiAyMTAuN2M3LTQuNCAxMy4zLTkuNyAxOC44LTE1LjdjMTUuOSAxNy42IDM5LjEgMjkgNjUuMiAyOWMyNi4yIDAgNDkuMy0xMS40IDY1LjItMjljMTYgMTcuNiAzOS4xIDI5IDY1LjIgMjljNC4xIDAgOC4xLS4zIDEyLjEtLjhjNTUuNS03LjQgODEuOC03Mi41IDUyLjEtMTE5LjRMNTIyLjMgMTMuMUM1MTcuMiA1IDUwOC4xIDAgNDk4LjQgMEgxNDEuNmMtOS43IDAtMTguOCA1LTIzLjkgMTMuMWwtMjIuNyAzNkwzOC44IDUuMXpNNTE0LjkgNTAxLjdMMzY1LjUgMzg0SDE2MFYyNTAuNmMtMTEuMiAzLjUtMjMuMiA1LjQtMzUuNiA1LjRjLTUuNSAwLTExLS40LTE2LjMtMS4xbC0uMSAwYy00LjEtLjYtOC4xLTEuMy0xMi0yLjNWMzg0djY0YzAgMzUuMyAyOC43IDY0IDY0IDY0SDQ4MGMxMi45IDAgMjQuOC0zLjggMzQuOS0xMC4zek0xNTUuMyAyMTguNEw0OC45IDEzNC41Yy02LjEgNDAuNiAxOS41IDgyLjggNjMuMyA4OC43YzQgLjUgOC4xIC44IDEyLjEgLjhjMTEgMCAyMS40LTIgMzEtNS42elwiXVxufTtcbnZhciBmYVJvYWRDaXJjbGVYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyb2FkLWNpcmNsZS14bWFyaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU2NlwiLCBcIk0yMTMuMiAzMkgyODhWOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzMmg3NC44YzI3LjEgMCA1MS4zIDE3LjEgNjAuMyA0Mi42bDQyLjcgMTIwLjZjLTEwLjktMi4xLTIyLjItMy4yLTMzLjgtMy4yYy01OS41IDAtMTEyLjEgMjkuNi0xNDQgNzQuOFYyMjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJjMi4zIDAgNC42LS4zIDYuOC0uN2MtNC41IDE1LjUtNi44IDMxLjgtNi44IDQ4LjdjMCA1LjQgLjIgMTAuNyAuNyAxNmwtLjcgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2NjRIODYuNkM1Ni41IDQ4MCAzMiA0NTUuNSAzMiA0MjUuNGMwLTYuMiAxLjEtMTIuNCAzLjEtMTguMkwxNTIuOSA3NC42QzE2MiA0OS4xIDE4Ni4xIDMyIDIxMy4yIDMyek00OTYgMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMjIuNiAxNDRsMzYuNy0zNi43YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBMNDk2IDM0NS40bC0zNi43LTM2LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZMNDczLjQgMzY4bC0zNi43IDM2LjdjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMEw0OTYgMzkwLjZsMzYuNyAzNi43YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNkw1MTguNiAzNjh6XCJdXG59O1xudmFyIGZhVXNlck1pbnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItbWludXMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY1MDNcIiwgXCJNOTYgMTI4YTEyOCAxMjggMCAxIDEgMjU2IDBBMTI4IDEyOCAwIDEgMSA5NiAxMjh6TTAgNDgyLjNDMCAzODMuOCA3OS44IDMwNCAxNzguMyAzMDRoOTEuNEMzNjguMiAzMDQgNDQ4IDM4My44IDQ0OCA0ODIuM2MwIDE2LjQtMTMuMyAyOS43LTI5LjcgMjkuN0gyOS43QzEzLjMgNTEyIDAgNDk4LjcgMCA0ODIuM3pNNDcyIDIwMEg2MTZjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRINDcyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0elwiXVxufTtcbnZhciBmYU1hcnNTdHJva2VVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXJzLXN0cm9rZS11cCcsXG4gIGljb246IFszMjAsIDUxMiwgWzk4OTYsIFwibWFycy1zdHJva2UtdlwiXSwgXCJmMjJhXCIsIFwiTTE0OC43IDQuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMGw2NCA2NGM0LjYgNC42IDUuOSAxMS41IDMuNSAxNy40cy04LjMgOS45LTE0LjggOS45SDE4NHYyNGgzMmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEgxODR2MjRjMCAuNiAwIDEuMi0uMSAxLjhjNzcgMTEuNiAxMzYuMSA3OCAxMzYuMSAxNTguMmMwIDg4LjQtNzEuNiAxNjAtMTYwIDE2MFMwIDQ0MC40IDAgMzUyYzAtODAuMiA1OS4xLTE0Ni43IDEzNi4xLTE1OC4yYzAtLjYtLjEtMS4yLS4xLTEuOFYxNjhIMTA0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0aDMyVjk2SDk2Yy02LjUgMC0xMi4zLTMuOS0xNC44LTkuOXMtMS4xLTEyLjkgMy41LTE3LjRsNjQtNjR6TTI1NiAzNTJBOTYgOTYgMCAxIDAgNjQgMzUyYTk2IDk2IDAgMSAwIDE5MiAwelwiXVxufTtcbnZhciBmYU1hcnNTdHJva2VWID0gZmFNYXJzU3Ryb2tlVXA7XG52YXIgZmFDaGFtcGFnbmVHbGFzc2VzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoYW1wYWduZS1nbGFzc2VzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI5MzQ2LCBcImdsYXNzLWNoZWVyc1wiXSwgXCJmNzlmXCIsIFwiTTE1NS42IDE3LjNDMTYzIDMgMTc5LjktMy42IDE5NSAxLjlMMzIwIDQ3LjVsMTI1LTQ1LjZjMTUuMS01LjUgMzIgMS4xIDM5LjQgMTUuNGw3OC44IDE1Mi45YzI4LjggNTUuOCAxMC4zIDEyMi4zLTM4LjUgMTU2LjZMNTU2LjEgNDEzbDQxLTE1YzE2LjYtNiAzNSAyLjUgNDEgMTkuMXMtMi41IDM1LTE5LjEgNDFsLTcxLjEgMjUuOUw0NzYuOCA1MTBjLTE2LjYgNi4xLTM1LTIuNS00MS0xOS4xczIuNS0zNSAxOS4xLTQxbDQxLTE1LTMxLjMtODYuMmMtNTkuNCA1LjItMTE2LjItMzQtMTMwLTk1LjJMMzIwIDE4OC44bC0xNC42IDY0LjdjLTEzLjggNjEuMy03MC42IDEwMC40LTEzMCA5NS4ybC0zMS4zIDg2LjIgNDEgMTVjMTYuNiA2IDI1LjIgMjQuNCAxOS4xIDQxcy0yNC40IDI1LjItNDEgMTkuMUw5Mi4yIDQ4NC4xIDIxLjEgNDU4LjJjLTE2LjYtNi4xLTI1LjItMjQuNC0xOS4xLTQxczI0LjQtMjUuMiA0MS0xOS4xbDQxIDE1IDMxLjMtODYuMkM2Ni41IDI5Mi41IDQ4LjEgMjI2IDc2LjkgMTcwLjJMMTU1LjYgMTcuM3ptNDQgNTQuNGwtMjcuMiA1Mi44TDI2MS42IDE1N2wxMy4xLTU3LjlMMTk5LjYgNzEuN3ptMjQwLjkgMEwzNjUuNCA5OS4xIDM3OC41IDE1N2w4OS4yLTMyLjVMNDQwLjUgNzEuN3pcIl1cbn07XG52YXIgZmFHbGFzc0NoZWVycyA9IGZhQ2hhbXBhZ25lR2xhc3NlcztcbnZhciBmYUNsaXBib2FyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbGlwYm9hcmQnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjgyMDNdLCBcImYzMjhcIiwgXCJNMTkyIDBjLTQxLjggMC03Ny40IDI2LjctOTAuNSA2NEg2NEMyOC43IDY0IDAgOTIuNyAwIDEyOFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzIwYzM1LjMgMCA2NC0yOC43IDY0LTY0VjEyOGMwLTM1LjMtMjguNy02NC02NC02NEgyODIuNUMyNjkuNCAyNi43IDIzMy44IDAgMTkyIDB6bTAgNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek0xMTIgMTkySDI3MmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgxMTJjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6XCJdXG59O1xudmFyIGZhSG91c2VDaXJjbGVFeGNsYW1hdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MGFcIiwgXCJNMzIwLjcgMzUyYzguMS04OS43IDgzLjUtMTYwIDE3NS4zLTE2MGM4LjkgMCAxNy42IC43IDI2LjEgMS45TDMwOS41IDdjLTYtNS0xNC03LTIxLTdzLTE1IDEtMjIgOEwxMCAyMzEuNWMtNyA3LTEwIDE1LTEwIDI0YzAgMTggMTQgMzIuMSAzMiAzMi4xaDMydjY5LjdjLS4xIC45LS4xIDEuOC0uMSAyLjhWNDcyYzAgMjIuMSAxNy45IDQwIDQwIDQwaDE2YzEuMiAwIDIuNC0uMSAzLjYtLjJjMS41IC4xIDMgLjIgNC41IC4ySDE2MGgyNGMyMi4xIDAgNDAtMTcuOSA0MC00MFY0NDggMzg0YzAtMTcuNyAxNC4zLTMyIDMyLTMyaDY0bC43IDB6TTQ5NiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTk2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMC0xNDRjOC44IDAgMTYgNy4yIDE2IDE2djgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjI4OGMwLTguOCA3LjItMTYgMTYtMTZ6XCJdXG59O1xudmFyIGZhRmlsZUFycm93VXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1hcnJvdy11cCcsXG4gIGljb246IFszODQsIDUxMiwgW1wiZmlsZS11cGxvYWRcIl0sIFwiZjU3NFwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzIwYzM1LjMgMCA2NC0yOC43IDY0LTY0VjE2MEgyNTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjBINjR6TTI1NiAwVjEyOEgzODRMMjU2IDB6TTIxNiA0MDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWMzA1LjlsLTMxIDMxYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDcyLTcyYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDcyIDcyYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTMxLTMxVjQwOHpcIl1cbn07XG52YXIgZmFGaWxlVXBsb2FkID0gZmFGaWxlQXJyb3dVcDtcbnZhciBmYVdpZmkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2lmaScsXG4gIGljb246IFs2NDAsIDUxMiwgW1wid2lmaS0zXCIsIFwid2lmaS1zdHJvbmdcIl0sIFwiZjFlYlwiLCBcIk01NC4yIDIwMi45QzEyMy4yIDEzNi43IDIxNi44IDk2IDMyMCA5NnMxOTYuOCA0MC43IDI2NS44IDEwNi45YzEyLjggMTIuMiAzMyAxMS44IDQ1LjItLjlzMTEuOC0zMy0uOS00NS4yQzU0OS43IDc5LjUgNDQwLjQgMzIgMzIwIDMyUzkwLjMgNzkuNSA5LjggMTU2LjdDLTIuOSAxNjktMy4zIDE4OS4yIDguOSAyMDJzMzIuNSAxMy4yIDQ1LjIgLjl6TTMyMCAyNTZjNTYuOCAwIDEwOC42IDIxLjEgMTQ4LjIgNTZjMTMuMyAxMS43IDMzLjUgMTAuNCA0NS4yLTIuOHMxMC40LTMzLjUtMi44LTQ1LjJDNDU5LjggMjE5LjIgMzkzIDE5MiAzMjAgMTkycy0xMzkuOCAyNy4yLTE5MC41IDcyYy0xMy4zIDExLjctMTQuNSAzMS45LTIuOCA0NS4yczMxLjkgMTQuNSA0NS4yIDIuOGMzOS41LTM0LjkgOTEuMy01NiAxNDguMi01NnptNjQgMTYwYTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHpcIl1cbn07XG52YXIgZmFXaWZpMyA9IGZhV2lmaTtcbnZhciBmYVdpZmlTdHJvbmcgPSBmYVdpZmk7XG52YXIgZmFCYXRoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhdGgnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg3MDUsIFwiYmF0aHR1YlwiXSwgXCJmMmNkXCIsIFwiTTk2IDc3LjNjMC03LjMgNS45LTEzLjMgMTMuMy0xMy4zYzMuNSAwIDYuOSAxLjQgOS40IDMuOWwxNC45IDE0LjlDMTMwIDkxLjggMTI4IDEwMS43IDEyOCAxMTJjMCAxOS45IDcuMiAzOCAxOS4yIDUyYy01LjMgOS4yLTQgMjEuMSAzLjggMjljOS40IDkuNCAyNC42IDkuNCAzMy45IDBMMjg5IDg5YzkuNC05LjQgOS40LTI0LjYgMC0zMy45Yy03LjktNy45LTE5LjgtOS4xLTI5LTMuOEMyNDYgMzkuMiAyMjcuOSAzMiAyMDggMzJjLTEwLjMgMC0yMC4yIDItMjkuMiA1LjVMMTYzLjkgMjIuNkMxNDkuNCA4LjEgMTI5LjcgMCAxMDkuMyAwQzY2LjYgMCAzMiAzNC42IDMyIDc3LjNWMjU2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDQ4MGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg5NlY3Ny4zek0zMiAzNTJ2MTZjMCAyOC40IDEyLjQgNTQgMzIgNzEuNlY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlY0NjRIMzg0djE2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWNDM5LjZjMTkuNi0xNy42IDMyLTQzLjEgMzItNzEuNlYzNTJIMzJ6XCJdXG59O1xudmFyIGZhQmF0aHR1YiA9IGZhQmF0aDtcbnZhciBmYVVuZGVybGluZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1bmRlcmxpbmUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYwY2RcIiwgXCJNMTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJoOTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMTI4VjIyNGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2Vjk2SDMwNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmg5NmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzODRWMjI0YzAgODguNC03MS42IDE2MC0xNjAgMTYwcy0xNjAtNzEuNi0xNjAtMTYwVjk2SDQ4QzMwLjMgOTYgMTYgODEuNyAxNiA2NHpNMCA0NDhjMC0xNy43IDE0LjMtMzIgMzItMzJINDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnpcIl1cbn07XG52YXIgZmFVc2VyUGVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItcGVuJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJ1c2VyLWVkaXRcIl0sIFwiZjRmZlwiLCBcIk0yMjQgMjU2QTEyOCAxMjggMCAxIDAgMjI0IDBhMTI4IDEyOCAwIDEgMCAwIDI1NnptLTQ1LjcgNDhDNzkuOCAzMDQgMCAzODMuOCAwIDQ4Mi4zQzAgNDk4LjcgMTMuMyA1MTIgMjkuNyA1MTJIMzIyLjhjLTMuMS04LjgtMy43LTE4LjQtMS40LTI3LjhsMTUtNjAuMWMyLjgtMTEuMyA4LjYtMjEuNSAxNi44LTI5LjdsNDAuMy00MC4zYy0zMi4xLTMxLTc1LjctNTAuMS0xMjMuOS01MC4xSDE3OC4zem00MzUuNS02OC4zYy0xNS42LTE1LjYtNDAuOS0xNS42LTU2LjYgMGwtMjkuNCAyOS40IDcxIDcxIDI5LjQtMjkuNGMxNS42LTE1LjYgMTUuNi00MC45IDAtNTYuNmwtMTQuNC0xNC40ek0zNzUuOSA0MTdjLTQuMSA0LjEtNyA5LjItOC40IDE0LjlsLTE1IDYwLjFjLTEuNCA1LjUgLjIgMTEuMiA0LjIgMTUuMnM5LjcgNS42IDE1LjIgNC4ybDYwLjEtMTVjNS42LTEuNCAxMC44LTQuMyAxNC45LTguNEw1NzYuMSAzNTguN2wtNzEtNzFMMzc1LjkgNDE3elwiXVxufTtcbnZhciBmYVVzZXJFZGl0ID0gZmFVc2VyUGVuO1xudmFyIGZhU2lnbmF0dXJlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NpZ25hdHVyZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjViN1wiLCBcIk0xOTIgMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ2Ny44YzAgMjcuNy0yLjQgNTUuMy03LjEgODIuNWwtODQuNCAyNS4zYy00MC42IDEyLjItNjguNCA0OS42LTY4LjQgOTJ2NzEuOWMwIDQwIDMyLjUgNzIuNSA3Mi41IDcyLjVjMjYgMCA1MC0xMy45IDYyLjktMzYuNWwxMy45LTI0LjNjMjYuOC00NyA0Ni41LTk3LjcgNTguNC0xNTAuNWw5NC40LTI4LjMtMTIuNSAzNy41Yy0zLjMgOS44LTEuNiAyMC41IDQuNCAyOC44czE1LjcgMTMuMyAyNiAxMy4zSDU0NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg0NjAuNGwxOC01My45YzMuOC0xMS4zIC45LTIzLjgtNy40LTMyLjRzLTIwLjctMTEuOC0zMi4yLTguNEwzMTYuNCAxOTguMWMyLjQtMjAuNyAzLjYtNDEuNCAzLjYtNjIuM1YxMjhjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZ2MzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYxMjh6bS05LjIgMTc3bDQ5LTE0LjdjLTEwLjQgMzMuOC0yNC41IDY2LjQtNDIuMSA5Ny4ybC0xMy45IDI0LjNjLTEuNSAyLjYtNC4zIDQuMy03LjQgNC4zYy00LjcgMC04LjUtMy44LTguNS04LjVWMzM1LjZjMC0xNC4xIDkuMy0yNi42IDIyLjgtMzAuN3pNMjQgMzY4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0SDY0LjNjLS4yLTIuOC0uMy01LjYtLjMtOC41VjM2OEgyNHptNTkyIDQ4YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDMwNS45Yy02LjcgMTYuMy0xNC4yIDMyLjMtMjIuMyA0OEg2MTZ6XCJdXG59O1xudmFyIGZhU3Ryb29wd2FmZWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3Ryb29wd2FmZWwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1NTFcIiwgXCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2ek0zMTIuNiA2My43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMEwyNTYgOTcuNiAyMjIuMSA2My43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDMzLjkgMzMuOS00NS4zIDQ1LjMtNTYuNi01Ni42Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDU2LjYgNTYuNi00NS4zIDQ1LjNMODYuMyAxOTkuNGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNkw5Ny42IDI1NiA2My43IDI4OS45Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsMzMuOS0zMy45IDQ1LjMgNDUuMy01Ni42IDU2LjZjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGw1Ni42LTU2LjYgNDUuMyA0NS4zLTMzLjkgMzMuOWMtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwTDI1NiA0MTQuNGwzMy45IDMzLjljNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42bC0zMy45LTMzLjkgNDUuMy00NS4zIDU2LjYgNTYuNmM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTU2LjYtNTYuNiA0NS4zLTQ1LjMgMzMuOSAzMy45YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNkw0MTQuNCAyNTZsMzMuOS0zMy45YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBsLTMzLjkgMzMuOS00NS4zLTQ1LjMgNTYuNi01Ni42YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBsLTU2LjYgNTYuNi00NS4zLTQ1LjMgMzMuOS0zMy45YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42ek0xNDIuOSAyNTZsNDUuMy00NS4zTDIzMy40IDI1NmwtNDUuMyA0NS4zTDE0Mi45IDI1NnptNjcuOSA2Ny45TDI1NiAyNzguNmw0NS4zIDQ1LjNMMjU2IDM2OS4xbC00NS4zLTQ1LjN6TTI3OC42IDI1Nmw0NS4zLTQ1LjNMMzY5LjEgMjU2bC00NS4zIDQ1LjNMMjc4LjYgMjU2em0yMi42LTY3LjlMMjU2IDIzMy40bC00NS4zLTQ1LjNMMjU2IDE0Mi45bDQ1LjMgNDUuM3pcIl1cbn07XG52YXIgZmFCb2xkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JvbGQnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImYwMzJcIiwgXCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMkg4MCA5NiAyMjRjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhjMCAzMS4zLTExLjMgNjAuMS0zMCA4Mi4zYzM3LjEgMjIuNCA2MiA2My4xIDYyIDEwOS43YzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4SDk2IDgwIDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDQ4VjI1NiA5NkgzMkMxNC4zIDk2IDAgODEuNyAwIDY0ek0yMjQgMjI0YzM1LjMgMCA2NC0yOC43IDY0LTY0cy0yOC43LTY0LTY0LTY0SDExMlYyMjRIMjI0ek0xMTIgMjg4VjQxNkgyNTZjMzUuMyAwIDY0LTI4LjcgNjQtNjRzLTI4LjctNjQtNjQtNjRIMjI0IDExMnpcIl1cbn07XG52YXIgZmFBbmNob3JMb2NrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2FuY2hvci1sb2NrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGFkXCIsIFwiTTMyMCA5NmEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwem0yMS4xIDgwQzM2NyAxNTguOCAzODQgMTI5LjQgMzg0IDk2YzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2YzAgMzMuNCAxNyA2Mi44IDQyLjkgODBIMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDMyVjQ0OEgyMDhjLTUzIDAtOTYtNDMtOTYtOTZ2LTYuMWw3IDdjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDk3IDI2M2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBMNyAzMTljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw3LTdWMzUyYzAgODguNCA3MS42IDE2MCAxNjAgMTYwaDgwIDgwYzggMCAxNS45LS42IDIzLjYtMS43Yy00LjgtOS03LjYtMTkuMy03LjYtMzAuM1Y0NDYuN2MtNS4yIC45LTEwLjUgMS4zLTE2IDEuM0gzMjBWMjQwaDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDM0MS4xek01MjggMjQwYzE3LjcgMCAzMiAxNC4zIDMyIDMydjQ4SDQ5NlYyNzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bS04MCAzMnY0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMySDYwOGMxNy43IDAgMzItMTQuMyAzMi0zMlYzNTJjMC0xNy43LTE0LjMtMzItMzItMzJWMjcyYzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwelwiXVxufTtcbnZhciBmYUJ1aWxkaW5nTmdvID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1aWxkaW5nLW5nbycsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTRkN1wiLCBcIk00OCAwQzIxLjUgMCAwIDIxLjUgMCA0OFY0NjRjMCAyNi41IDIxLjUgNDggNDggNDhoOTZWNDMyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDh2ODBoOTZjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhINDh6TTY0IDI0MGMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjI0MHptMTEyLTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMTc2Yy04LjggMC0xNi03LjItMTYtMTZWMjQwYzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTZjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMjcyYy04LjggMC0xNi03LjItMTYtMTZWMjQwek0xNjggNjRoNDhjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMTg0djY0aDE2VjE0NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2djI0YzAgMTMuMy0xMC43IDI0LTI0IDI0SDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRWODBjMC04LjggNy4yLTE2IDE2LTE2ek0zMDQgOTZjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjExMmMwLTguOC03LjItMTYtMTYtMTZ6bS00OCAxNmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4djMyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4VjExMnpNNjEuMyA3MS4xbDM0LjcgNTJWODBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnY5NmMwIDcuMS00LjYgMTMuMy0xMS40IDE1LjNzLTE0LS42LTE3LjktNi40TDY0IDEzMi44VjE3NmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlY4MGMwLTcuMSA0LjYtMTMuMyAxMS40LTE1LjNzMTQgLjYgMTcuOSA2LjR6XCJdXG59O1xudmFyIGZhTWFuYXRTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hbmF0LXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUxZDVcIiwgXCJNMTkyIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMlY5OC43QzY5LjIgMTEzLjkgMCAxOTIuOSAwIDI4OFY0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyODhjMC01OS42IDQwLjgtMTA5LjggOTYtMTI0VjQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjE2NGM1NS4yIDE0LjIgOTYgNjQuMyA5NiAxMjRWNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMjg4YzAtOTUuMS02OS4yLTE3NC4xLTE2MC0xODkuM1Y2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnpcIl1cbn07XG52YXIgZmFOb3RFcXVhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdub3QtZXF1YWwnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImY1M2VcIiwgXCJNMzY5LjggMzcuNGMxNC43IDkuOCAxOC43IDI5LjcgOC45IDQ0LjRMMzM3LjEgMTQ0SDQwMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgyOTQuNWwtNjQgOTZINDAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDE4Ny44bC02NS4yIDk3LjdjLTkuOCAxNC43LTI5LjcgMTguNy00NC40IDguOXMtMTguNy0yOS43LTguOS00NC40TDExMC45IDM2OEg0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkgxNTMuNWw2NC05Nkg0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkgyNjAuMmw2NS4yLTk3LjdjOS44LTE0LjcgMjkuNy0xOC43IDQ0LjQtOC45elwiXVxufTtcbnZhciBmYUJvcmRlclRvcExlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9yZGVyLXRvcC1sZWZ0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJib3JkZXItc3R5bGVcIl0sIFwiZjg1M1wiLCBcIk0wIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzM2YzAtOC44IDcuMi0xNiAxNi0xNmwzMzYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw4MCAzMkMzNS44IDMyIDAgNjcuOCAwIDExMkwwIDQ0OHptMTYwIDBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMTkyIDBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptLTk2IDBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMTkyIDBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNNDE2IDI4OGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTAgMzJhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0em0wLTEyOGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xudmFyIGZhQm9yZGVyU3R5bGUgPSBmYUJvcmRlclRvcExlZnQ7XG52YXIgZmFNYXBMb2NhdGlvbkRvdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXAtbG9jYXRpb24tZG90JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJtYXAtbWFya2VkLWFsdFwiXSwgXCJmNWEwXCIsIFwiTTQwOCAxMjBjMCA1NC42LTczLjEgMTUxLjktMTA1LjIgMTkyYy03LjcgOS42LTIyIDkuNi0yOS42IDBDMjQxLjEgMjcxLjkgMTY4IDE3NC42IDE2OCAxMjBDMTY4IDUzLjcgMjIxLjcgMCAyODggMHMxMjAgNTMuNyAxMjAgMTIwem04IDgwLjRjMy41LTYuOSA2LjctMTMuOCA5LjYtMjAuNmMuNS0xLjIgMS0yLjUgMS41LTMuN2wxMTYtNDYuNEM1NTguOSAxMjMuNCA1NzYgMTM1IDU3NiAxNTJWNDIyLjhjMCA5LjgtNiAxOC42LTE1LjEgMjIuM0w0MTYgNTAzVjIwMC40ek0xMzcuNiAxMzguM2MyLjQgMTQuMSA3LjIgMjguMyAxMi44IDQxLjVjMi45IDYuOCA2LjEgMTMuNyA5LjYgMjAuNlY0NTEuOEwzMi45IDUwMi43QzE3LjEgNTA5IDAgNDk3LjQgMCA0ODAuNFYyMDkuNmMwLTkuOCA2LTE4LjYgMTUuMS0yMi4zbDEyMi42LTQ5ek0zMjcuOCAzMzJjMTMuOS0xNy40IDM1LjctNDUuNyA1Ni4yLTc3VjUwNC4zTDE5MiA0NDkuNFYyNTVjMjAuNSAzMS4zIDQyLjMgNTkuNiA1Ni4yIDc3YzIwLjUgMjUuNiA1OS4xIDI1LjYgNzkuNiAwek0yODggMTUyYTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHpcIl1cbn07XG52YXIgZmFNYXBNYXJrZWRBbHQgPSBmYU1hcExvY2F0aW9uRG90O1xudmFyIGZhSmVkaSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdqZWRpJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNjY5XCIsIFwiTTI0NiAzMTUuN2wtMjEuMi0zMS45Yy0yLjEtMy4yLTEuNy03LjQgMS0xMC4xczYuOS0zLjEgMTAuMS0xbDI5LjUgMTkuN2MyLjEgMS40IDQuOSAwIDUtMi42TDI3OS43IDhjLjEtNC41IDMuOC04IDguMy04czguMSAzLjUgOC4zIDhsOS40IDI4MS45Yy4xIDIuNSAyLjkgMy45IDUgMi42bDI5LjUtMTkuN2MzLjItMi4xIDcuNC0xLjcgMTAuMSAxczMuMSA2LjkgMSAxMC4xTDMzMCAzMTUuN2MtMS4zIDEuOS0uMiA0LjUgMiA0LjlsMzcuNiA3LjVjMy43IC43IDYuNCA0IDYuNCA3LjhzLTIuNyA3LjEtNi40IDcuOEwzMzIgMzUxLjRjLTIuMiAuNC0zLjMgMy0yIDQuOWwyMS4yIDMxLjljMi4xIDMuMiAxLjcgNy40LTEgMTAuMXMtNi45IDMuMS0xMC4xIDFsLTI2LjMtMTcuNmMtMi4yLTEuNC01LjEgLjItNSAyLjhsMi4xIDYxLjVDMzcwLjYgNDM1LjIgNDE2IDM4Mi45IDQxNiAzMjBjMC0zNy0xNS43LTcwLjQtNDAuOC05My43Yy03LTYuNS02LjUtMTguNiAxLTI0LjRDNDEwLjEgMTc1LjUgNDMyIDEzNC4zIDQzMiA4OGMwLTE2LjgtMi45LTMzLTguMi00OGMtNC42LTEzIDEwLjItMzAgMjEuNC0yMmM1My41IDM4IDkyLjcgOTQuOCAxMDcuOCAxNjAuN2MuNSAyLjEtLjIgNC4zLTEuNyA1LjlsLTI4LjQgMjguNGMtNCA0LTEuMiAxMC45IDQuNSAxMC45aDI2YzMuNCAwIDYuMiAyLjYgNi4zIDZjLjEgMy4zIC4yIDYuNiAuMiAxMGMwIDE3LjUtMS43IDM0LjctNC44IDUxLjNjLS4yIDEuMi0uOSAyLjQtMS43IDMuM2wtNDYuNSA0Ni41Yy00IDQtMS4yIDEwLjkgNC41IDEwLjlINTI2YzQuNiAwIDcuNyA0LjggNS43IDlDNDg3LjIgNDUwLjUgMzk0LjggNTEyIDI4OCA1MTJTODguOCA0NTAuNSA0NC4zIDM2MWMtMi4xLTQuMiAxLTkgNS43LTlINjQuNWM1LjcgMCA4LjYtNi45IDQuNS0xMC45TDIyLjYgMjk0LjZjLS45LS45LTEuNS0yLTEuNy0zLjNDMTcuNyAyNzQuNyAxNiAyNTcuNSAxNiAyNDBjMC0zLjMgLjEtNi43IC4yLTEwYy4xLTMuNCAyLjktNiA2LjMtNmgyNmM1LjcgMCA4LjYtNi45IDQuNS0xMC45TDI0LjYgMTg0LjZjLTEuNS0xLjUtMi4yLTMuOC0xLjctNS45QzM4LjEgMTEyLjggNzcuMyA1NiAxMzAuOCAxOGMxMS4zLTggMjYgOC45IDIxLjQgMjJjLTUuMyAxNS04LjIgMzEuMi04LjIgNDhjMCA0Ni4zIDIxLjkgODcuNSA1NS44IDExMy45YzcuNSA1LjggOCAxNy45IDEgMjQuNEMxNzUuNyAyNDkuNiAxNjAgMjgzIDE2MCAzMjBjMCA2Mi45IDQ1LjQgMTE1LjIgMTA1LjEgMTI2bDIuMS02MS41Yy4xLTIuNi0yLjgtNC4yLTUtMi44bC0yNi4zIDE3LjZjLTMuMiAyLjEtNy40IDEuNy0xMC4xLTFzLTMuMS02LjktMS0xMC4xTDI0NiAzNTYuM2MxLjMtMS45IC4yLTQuNS0yLTQuOWwtMzcuNi03LjVjLTMuNy0uNy02LjQtNC02LjQtNy44czIuNy03LjEgNi40LTcuOGwzNy42LTcuNWMyLjItLjQgMy4zLTMgMi00Ljl6XCJdXG59O1xudmFyIGZhU3F1YXJlUG9sbFZlcnRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1wb2xsLXZlcnRpY2FsJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJwb2xsXCJdLCBcImY2ODFcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzg0YzM1LjMgMCA2NC0yOC43IDY0LTY0Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0em02NCAxOTJjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMyem02NC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyVjM1MmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYxNjB6TTMyMCAyODhjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2MzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzIwYzAtMTcuNyAxNC4zLTMyIDMyLTMyelwiXVxufTtcbnZhciBmYVBvbGwgPSBmYVNxdWFyZVBvbGxWZXJ0aWNhbDtcbnZhciBmYU11Z0hvdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtdWctaG90JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTc0OV0sIFwiZjdiNlwiLCBcIk04OCAwQzc0LjcgMCA2NCAxMC43IDY0IDI0YzAgMzguOSAyMy40IDU5LjQgMzkuMSA3My4xbDEuMSAxQzEyMC41IDExMi4zIDEyOCAxMTkuOSAxMjggMTM2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zOC45LTIzLjQtNTkuNC0zOS4xLTczLjFsLTEuMS0xQzExOS41IDQ3LjcgMTEyIDQwLjEgMTEyIDI0YzAtMTMuMy0xMC43LTI0LTI0LTI0ek0zMiAxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyVjQxNmMwIDUzIDQzIDk2IDk2IDk2SDI4OGM1MyAwIDk2LTQzIDk2LTk2aDE2YzYxLjkgMCAxMTItNTAuMSAxMTItMTEycy01MC4xLTExMi0xMTItMTEySDM1MiAzMnptMzUyIDY0aDE2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4SDM4NFYyNTZ6TTIyNCAyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGMwIDM4LjkgMjMuNCA1OS40IDM5LjEgNzMuMWwxLjEgMUMyMzIuNSAxMTIuMyAyNDAgMTE5LjkgMjQwIDEzNmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMzguOS0yMy40LTU5LjQtMzkuMS03My4xbC0xLjEtMUMyMzEuNSA0Ny43IDIyNCA0MC4xIDIyNCAyNHpcIl1cbn07XG52YXIgZmFDYXJCYXR0ZXJ5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nhci1iYXR0ZXJ5JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJiYXR0ZXJ5LWNhclwiXSwgXCJmNWRmXCIsIFwiTTgwIDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyaDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMybDk2IDBjMC0xNy43IDE0LjMtMzIgMzItMzJoNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJoMTZjMzUuMyAwIDY0IDI4LjcgNjQgNjRWMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFYxNjBjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTYgMHptMzA0IDk2YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2djMySDMyMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmgzMnYzMmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjI1NmgzMmM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgzODRWMTkyek04MCAyNDBjMCA4LjggNy4yIDE2IDE2IDE2aDk2YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDk2Yy04LjggMC0xNiA3LjItMTYgMTZ6XCJdXG59O1xudmFyIGZhQmF0dGVyeUNhciA9IGZhQ2FyQmF0dGVyeTtcbnZhciBmYUdpZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ2lmdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzg3M10sIFwiZjA2YlwiLCBcIk0xOTAuNSA2OC44TDIyNS4zIDEyOEgyMjQgMTUyYy0yMi4xIDAtNDAtMTcuOS00MC00MHMxNy45LTQwIDQwLTQwaDIuMmMxNC45IDAgMjguOCA3LjkgMzYuMyAyMC44ek02NCA4OGMwIDE0LjQgMy41IDI4IDkuNiA0MEgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJINDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMyVjE2MGMwLTE3LjctMTQuMy0zMi0zMi0zMkg0MzguNGM2LjEtMTIgOS42LTI1LjYgOS42LTQwYzAtNDguNi0zOS40LTg4LTg4LTg4aC0yLjJjLTMxLjkgMC02MS41IDE2LjktNzcuNyA0NC40TDI1NiA4NS41bC0yNC4xLTQxQzIxNS43IDE2LjkgMTg2LjEgMCAxNTQuMiAwSDE1MkMxMDMuNCAwIDY0IDM5LjQgNjQgODh6bTMzNiAwYzAgMjIuMS0xNy45IDQwLTQwIDQwSDI4OGgtMS4zbDM0LjgtNTkuMkMzMjkuMSA1NS45IDM0Mi45IDQ4IDM1Ny44IDQ4SDM2MGMyMi4xIDAgNDAgMTcuOSA0MCA0MHpNMzIgMjg4VjQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OEgyMjRWMjg4SDMyek0yODggNTEySDQzMmMyNi41IDAgNDgtMjEuNSA0OC00OFYyODhIMjg4VjUxMnpcIl1cbn07XG52YXIgZmFEaWNlVHdvID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpY2UtdHdvJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbOTg1N10sIFwiZjUyOFwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMySDM4NGMzNS4zIDAgNjQgMjguNyA2NCA2NFY0MTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0Vjk2ek0zNTIgMzUyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTEyOCAxOTJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbnZhciBmYUNoZXNzUXVlZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hlc3MtcXVlZW4nLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5ODE5XSwgXCJmNDQ1XCIsIFwiTTI1NiAwYTU2IDU2IDAgMSAxIDAgMTEyQTU2IDU2IDAgMSAxIDI1NiAwek0xMzQuMSAxNDMuOGMzLjMtMTMgMTUtMjMuOCAzMC4yLTIzLjhjMTIuMyAwIDIyLjYgNy4yIDI3LjcgMTdjMTIgMjMuMiAzNi4yIDM5IDY0IDM5czUyLTE1LjggNjQtMzljNS4xLTkuOCAxNS40LTE3IDI3LjctMTdjMTUuMyAwIDI3IDEwLjggMzAuMiAyMy44YzcgMjcuOCAzMi4yIDQ4LjMgNjIuMSA0OC4zYzEwLjggMCAyMS0yLjcgMjkuOC03LjRjOC40LTQuNCAxOC45LTQuNSAyNy42IC45YzEzIDggMTcuMSAyNSA5LjIgMzhMMzk5LjcgNDAwSDM4NCAzNDMuNiAxNjguNCAxMjggMTEyLjNMNS40IDIyMy42Yy03LjktMTMtMy44LTMwIDkuMi0zOGM4LjctNS4zIDE5LjItNS4zIDI3LjYtLjljOC45IDQuNyAxOSA3LjQgMjkuOCA3LjRjMjkuOSAwIDU1LjEtMjAuNSA2Mi4xLTQ4LjN6TTI1NiAyMjRsMCAwIDAgMGgwek0xMTIgNDMySDQwMGw0MS40IDQxLjRjNC4yIDQuMiA2LjYgMTAgNi42IDE2YzAgMTIuNS0xMC4xIDIyLjYtMjIuNiAyMi42SDg2LjZDNzQuMSA1MTIgNjQgNTAxLjkgNjQgNDg5LjRjMC02IDIuNC0xMS44IDYuNi0xNkwxMTIgNDMyelwiXVxufTtcbnZhciBmYUdsYXNzZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ2xhc3NlcycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjUzMFwiLCBcIk0xMTguNiA4MGMtMTEuNSAwLTIxLjQgNy45LTI0IDE5LjFMNTcgMjYwLjNjMjAuNS02LjIgNDguMy0xMi4zIDc4LjctMTIuM2MzMi4zIDAgNjEuOCA2LjkgODIuOCAxMy41YzEwLjYgMy4zIDE5LjMgNi43IDI1LjQgOS4yYzMuMSAxLjMgNS41IDIuNCA3LjMgMy4yYy45IC40IDEuNiAuNyAyLjEgMWwuNiAuMyAuMiAuMSAuMSAwIDAgMCAwIDBzMCAwLTYuMyAxMi43aDBsNi4zLTEyLjdjNS44IDIuOSAxMC40IDcuMyAxMy41IDEyLjdoNDAuNmMzLjEtNS4zIDcuNy05LjggMTMuNS0xMi43bDYuMyAxMi43aDBjLTYuMy0xMi43LTYuMy0xMi43LTYuMy0xMi43bDAgMCAwIDAgLjEgMCAuMi0uMSAuNi0uM2MuNS0uMiAxLjItLjYgMi4xLTFjMS44LS44IDQuMi0xLjkgNy4zLTMuMmM2LjEtMi42IDE0LjgtNS45IDI1LjQtOS4yYzIxLTYuNiA1MC40LTEzLjUgODIuOC0xMy41YzMwLjQgMCA1OC4yIDYuMSA3OC43IDEyLjNMNDgxLjQgOTkuMWMtMi42LTExLjItMTIuNi0xOS4xLTI0LTE5LjFjLTMuMSAwLTYuMiAuNi05LjIgMS44TDQxNi45IDk0LjNjLTEyLjMgNC45LTI2LjMtMS4xLTMxLjItMTMuNHMxLjEtMjYuMyAxMy40LTMxLjJsMzEuMy0xMi41YzguNi0zLjQgMTcuNy01LjIgMjctNS4yYzMzLjggMCA2My4xIDIzLjMgNzAuOCA1Ni4ybDQzLjkgMTg4YzEuNyA3LjMgMi45IDE0LjcgMy41IDIyLjFjLjMgMS45IC41IDMuOCAuNSA1Ljd2Ni43VjM1MnYxNmMwIDYxLjktNTAuMSAxMTItMTEyIDExMkg0MTkuN2MtNTkuNCAwLTEwOC41LTQ2LjQtMTExLjgtMTA1LjhMMzA2LjYgMzUySDI2OS40bC0xLjIgMjIuMkMyNjQuOSA0MzMuNiAyMTUuOCA0ODAgMTU2LjMgNDgwSDExMkM1MC4xIDQ4MCAwIDQyOS45IDAgMzY4VjM1MiAzMTAuNyAzMDRjMC0xLjkgLjItMy44IC41LTUuN2MuNi03LjQgMS44LTE0LjggMy41LTIyLjFsNDMuOS0xODhDNTUuNSA1NS4zIDg0LjggMzIgMTE4LjYgMzJjOS4yIDAgMTguNCAxLjggMjcgNS4ybDMxLjMgMTIuNWMxMi4zIDQuOSAxOC4zIDE4LjkgMTMuNCAzMS4ycy0xOC45IDE4LjMtMzEuMiAxMy40TDEyNy44IDgxLjhjLTIuOS0xLjItNi0xLjgtOS4yLTEuOHpNNjQgMzI1LjRWMzY4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDQ0LjNjMjUuNSAwIDQ2LjUtMTkuOSA0Ny45LTQ1LjNsMi41LTQ1LjZjLTIuMy0uOC00LjktMS43LTcuNS0yLjVjLTE3LjItNS40LTM5LjktMTAuNS02My42LTEwLjVjLTIzLjcgMC00Ni4yIDUuMS02My4yIDEwLjVjLTMuMSAxLTUuOSAxLjktOC41IDIuOXpNNTEyIDM2OFYzMjUuNGMtMi42LS45LTUuNS0xLjktOC41LTIuOWMtMTctNS40LTM5LjUtMTAuNS02My4yLTEwLjVjLTIzLjcgMC00Ni40IDUuMS02My42IDEwLjVjLTIuNyAuOC01LjIgMS43LTcuNSAyLjVsMi41IDQ1LjZjMS40IDI1LjQgMjIuNSA0NS4zIDQ3LjkgNDUuM0g0NjRjMjYuNSAwIDQ4LTIxLjUgNDgtNDh6XCJdXG59O1xudmFyIGZhQ2hlc3NCb2FyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGVzcy1ib2FyZCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjQzY1wiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEgzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6bTY0IDY0djY0aDY0Vjk2aDY0djY0aDY0Vjk2aDY0djY0SDMyMHY2NGg2NHY2NEgzMjB2NjRoNjR2NjRIMzIwVjM1MkgyNTZ2NjRIMTkyVjM1MkgxMjh2NjRINjRWMzUyaDY0VjI4OEg2NFYyMjRoNjRWMTYwSDY0Vjk2aDY0em02NCAxMjhoNjRWMTYwSDE5MnY2NHptMCA2NFYyMjRIMTI4djY0aDY0em02NCAwSDE5MnY2NGg2NFYyODh6bTAgMGg2NFYyMjRIMjU2djY0elwiXVxufTtcbnZhciBmYUJ1aWxkaW5nQ2lyY2xlQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVpbGRpbmctY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGQyXCIsIFwiTTQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4VjQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGg5NlY0MzJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OHY4MGg5NmMxNS4xIDAgMjguNS02LjkgMzcuMy0xNy44QzM0MC40IDQ2Mi4yIDMyMCA0MTcuNSAzMjAgMzY4YzAtNTQuNyAyNC45LTEwMy41IDY0LTEzNS44VjQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDQ4ek02NCAyNDBjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIODBjLTguOCAwLTE2LTcuMi0xNi0xNlYyNDB6bTExMi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDE3NmMtOC44IDAtMTYtNy4yLTE2LTE2VjI0MGMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDI3MmMtOC44IDAtMTYtNy4yLTE2LTE2VjI0MHpNODAgOTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjExMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDE3NmMtOC44IDAtMTYtNy4yLTE2LTE2VjExMnpNMjcyIDk2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMjcyYy04LjggMC0xNi03LjItMTYtMTZWMTEyYzAtOC44IDcuMi0xNiAxNi0xNnpNNjQwIDM2OGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tNzYuNy00My4zYzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42bC03MiA3MmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDgwIDM4NS40bDYwLjctNjAuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHpcIl1cbn07XG52YXIgZmFQZXJzb25DaGFsa2JvYXJkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1jaGFsa2JvYXJkJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTNkXCIsIFwiTTE5MiA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bS04IDM4NFYzNTJoMTZWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMTkyaDU2IDY0IDE2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDM4NFY2NEg1NzZWMjU2SDM4NFYyMjRIMzIwdjQ4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDU5MmMyNi41IDAgNDgtMjEuNSA0OC00OFY0OGMwLTI2LjUtMjEuNS00OC00OC00OEgzNjhjLTI2LjUgMC00OCAyMS41LTQ4IDQ4djgwSDI0My4xIDE3Ny4xYy0zMy43IDAtNjQuOSAxNy43LTgyLjMgNDYuNmwtNTguMyA5N2MtOS4xIDE1LjEtNC4yIDM0LjggMTAuOSA0My45czM0LjggNC4yIDQzLjktMTAuOUwxMjAgMjU2LjlWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJ6XCJdXG59O1xudmFyIGZhTWFyc1N0cm9rZVJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hcnMtc3Ryb2tlLXJpZ2h0JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbOTg5NywgXCJtYXJzLXN0cm9rZS1oXCJdLCBcImYyMmJcIiwgXCJNMjA4IDM2OGExMTIgMTEyIDAgMSAwIDAtMjI0IDExMiAxMTIgMCAxIDAgMCAyMjR6bTE3NC40LTg4QzM3MC43IDM2NS44IDI5Ny4xIDQzMiAyMDggNDMyYy05Ny4yIDAtMTc2LTc4LjgtMTc2LTE3NnM3OC44LTE3NiAxNzYtMTc2Yzg5LjEgMCAxNjIuNyA2Ni4yIDE3NC40IDE1Mkg0MTZWMTc2YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR2NTZoMzJWMTc2YzAtOS43IDUuOC0xOC41IDE0LjgtMjIuMnMxOS4zLTEuNyAyNi4yIDUuMmw4MCA4MGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtODAgODBjLTYuOSA2LjktMTcuMiA4LjktMjYuMiA1LjJzLTE0LjgtMTIuNS0xNC44LTIyLjJWMjgwSDQ2NHY1NmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYyODBIMzgyLjR6XCJdXG59O1xudmFyIGZhTWFyc1N0cm9rZUggPSBmYU1hcnNTdHJva2VSaWdodDtcbnZhciBmYUhhbmRCYWNrRmlzdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLWJhY2stZmlzdCcsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiaGFuZC1yb2NrXCJdLCBcImYyNTVcIiwgXCJNMTQ0IDBDMTE3LjUgMCA5NiAyMS41IDk2IDQ4Vjk2djI4LjVWMTc2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjE0OS4zbC05IDcuNUM0MC40IDE2OSAzMiAxODcgMzIgMjA2VjI0NGMwIDM4IDE2LjkgNzQgNDYuMSA5OC4zTDEyOCAzODR2OTZjMCAxNy43IDE0LjMgMzIgMzIgMzJIMzIwYzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM3NC43YzQ2LjktMTkgODAtNjUgODAtMTE4LjdWMTc2IDE2MCAxNDRjMC0yNi41LTIxLjUtNDgtNDgtNDhjLTEyLjQgMC0yMy42IDQuNy0zMi4xIDEyLjNDMzUwIDgzLjUgMzI5LjMgNjQgMzA0IDY0Yy0xMi40IDAtMjMuNiA0LjctMzIuMSAxMi4zQzI3MCA1MS41IDI0OS4zIDMyIDIyNCAzMmMtMTIuNCAwLTIzLjYgNC43LTMyLjEgMTIuM0MxOTAgMTkuNSAxNjkuMyAwIDE0NCAwelwiXVxufTtcbnZhciBmYUhhbmRSb2NrID0gZmFIYW5kQmFja0Zpc3Q7XG52YXIgZmFTcXVhcmVDYXJldFVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1jYXJldC11cCcsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiY2FyZXQtc3F1YXJlLXVwXCJdLCBcImYxNTFcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzg0YzM1LjMgMCA2NC0yOC43IDY0LTY0Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0ek0yMjQgMTYwYzYuNyAwIDEzIDIuOCAxNy42IDcuN2wxMDQgMTEyYzYuNSA3IDguMiAxNy4yIDQuNCAyNS45cy0xMi41IDE0LjQtMjIgMTQuNEgxMjBjLTkuNSAwLTE4LjItNS43LTIyLTE0LjRzLTIuMS0xOC45IDQuNC0yNS45bDEwNC0xMTJjNC41LTQuOSAxMC45LTcuNyAxNy42LTcuN3pcIl1cbn07XG52YXIgZmFDYXJldFNxdWFyZVVwID0gZmFTcXVhcmVDYXJldFVwO1xudmFyIGZhQ2xvdWRTaG93ZXJzV2F0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvdWQtc2hvd2Vycy13YXRlcicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRlNFwiLCBcIk0yMjQgMGMzOC42IDAgNzEuOSAyMi44IDg3LjIgNTUuN0MzMjUuNyA0MS4xIDM0NS44IDMyIDM2OCAzMmMzOC43IDAgNzEgMjcuNSA3OC40IDY0SDQ0OGMzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NEgxMjhjLTM1LjMgMC02NC0yOC43LTY0LTY0czI4LjctNjQgNjQtNjRjMC01MyA0My05NiA5Ni05NnpNMTQwLjYgMjkyLjNsLTQ4IDgwYy02LjggMTEuNC0yMS42IDE1LTMyLjkgOC4ycy0xNS4xLTIxLjYtOC4yLTMyLjlsNDgtODBjNi44LTExLjQgMjEuNi0xNS4xIDMyLjktOC4yczE1LjEgMjEuNiA4LjIgMzIuOXptMzI3LjgtMzIuOWMxMS40IDYuOCAxNSAyMS42IDguMiAzMi45bC00OCA4MGMtNi44IDExLjQtMjEuNiAxNS0zMi45IDguMnMtMTUtMjEuNi04LjItMzIuOWw0OC04MGM2LjgtMTEuNCAyMS42LTE1LjEgMzIuOS04LjJ6TTI1Mi42IDI5Mi4zbC00OCA4MGMtNi44IDExLjQtMjEuNiAxNS0zMi45IDguMnMtMTUuMS0yMS42LTguMi0zMi45bDQ4LTgwYzYuOC0xMS40IDIxLjYtMTUuMSAzMi45LTguMnMxNS4xIDIxLjYgOC4yIDMyLjl6bTEwMy44LTMyLjljMTEuNCA2LjggMTUgMjEuNiA4LjIgMzIuOWwtNDggODBjLTYuOCAxMS40LTIxLjYgMTUtMzIuOSA4LjJzLTE1LjEtMjEuNi04LjItMzIuOWw0OC04MGM2LjgtMTEuNCAyMS42LTE1LjEgMzIuOS04LjJ6TTMwNi41IDQyMS45QzMyOSA0MzcuNCAzNTYuNSA0NDggMzg0IDQ0OGMyNi45IDAgNTUuNC0xMC44IDc3LjQtMjYuMWwwIDBjMTEuOS04LjUgMjguMS03LjggMzkuMiAxLjdjMTQuNCAxMS45IDMyLjUgMjEgNTAuNiAyNS4yYzE3LjIgNCAyNy45IDIxLjIgMjMuOSAzOC40cy0yMS4yIDI3LjktMzguNCAyMy45Yy0yNC41LTUuNy00NC45LTE2LjUtNTguMi0yNUM0NDkuNSA1MDEuNyA0MTcgNTEyIDM4NCA1MTJjLTMxLjkgMC02MC42LTkuOS04MC40LTE4LjljLTUuOC0yLjctMTEuMS01LjMtMTUuNi03LjdjLTQuNSAyLjQtOS43IDUuMS0xNS42IDcuN2MtMTkuOCA5LTQ4LjUgMTguOS04MC40IDE4LjljLTMzIDAtNjUuNS0xMC4zLTk0LjUtMjUuOGMtMTMuNCA4LjQtMzMuNyAxOS4zLTU4LjIgMjVjLTE3LjIgNC0zNC40LTYuNy0zOC40LTIzLjlzNi43LTM0LjQgMjMuOS0zOC40YzE4LjEtNC4yIDM2LjItMTMuMyA1MC42LTI1LjJjMTEuMS05LjQgMjcuMy0xMC4xIDM5LjItMS43bDAgMEMxMzYuNyA0MzcuMiAxNjUuMSA0NDggMTkyIDQ0OGMyNy41IDAgNTUtMTAuNiA3Ny41LTI2LjFjMTEuMS03LjkgMjUuOS03LjkgMzcgMHpcIl1cbn07XG52YXIgZmFDaGFydEJhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGFydC1iYXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImJhci1jaGFydFwiXSwgXCJmMDgwXCIsIFwiTTMyIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjQwMGMwIDguOCA3LjIgMTYgMTYgMTZINDgwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDgwYy00NC4yIDAtODAtMzUuOC04MC04MFY2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMnptOTYgOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnptMzIgNjRIMjg4YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDE2MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMCA5Nkg0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyelwiXVxufTtcbnZhciBmYUJhckNoYXJ0ID0gZmFDaGFydEJhcjtcbnZhciBmYUhhbmRzQnViYmxlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kcy1idWJibGVzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJoYW5kcy13YXNoXCJdLCBcImUwNWVcIiwgXCJNNDE2IDY0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptOTYgMTI4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMTYwIDQ2NGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek0zMiAxNjBsLjEgNzIuNmMuMSA1Mi4yIDI0IDEwMSA2NCAxMzMuMWMtLjEtMS45LS4xLTMuOC0uMS01Ljd2LThjMC03MS44IDM3LTEzOC42IDk3LjktMTc2LjdsNjAuMi0zNy42YzguNi01LjQgMTcuOS04LjQgMjcuMy05LjRsNDUuOS03OS41YzYuNi0xMS41IDIuNy0yNi4yLTguOC0zMi44cy0yNi4yLTIuNy0zMi44IDguOGwtNzggMTM1LjFjLTMuMyA1LjctMTAuNyA3LjctMTYuNCA0LjRzLTcuNy0xMC43LTQuNC0xNi40bDYyLTEwNy40YzYuNi0xMS41IDIuNy0yNi4yLTguOC0zMi44UzIxNCA1IDIwNy40IDE2LjVsLTY4IDExNy44IDAgMCAwIDAtNDMuMyA3NUw5NiAxNjBjMC0xNy43LTE0LjQtMzItMzItMzJzLTMyIDE0LjQtMzIgMzJ6TTMzMi4xIDg4LjVMMzA3LjUgMTMxYzEzLjkgNC41IDI2LjQgMTMuNyAzNC43IDI3Yy45IDEuNSAxLjggMi45IDIuNSA0LjRsMjguOS01MGM2LjYtMTEuNSAyLjctMjYuMi04LjgtMzIuOHMtMjYuMi0yLjctMzIuOCA4Ljh6bTQ2LjQgNjMuN2wtMjYuOCA0Ni40Yy0uNiA2LTIuMSAxMS44LTQuMyAxNy40SDM1MmgxMy4zbDAgMEgzOTdsMjMtMzkuOGM2LjYtMTEuNSAyLjctMjYuMi04LjgtMzIuOHMtMjYuMi0yLjctMzIuOCA4Ljh6TTMxNS4xIDE3NWMtOS40LTE1LTI5LjEtMTkuNS00NC4xLTEwLjJsLTYwLjIgMzcuNkMxNTkuMyAyMzQuNyAxMjggMjkxLjIgMTI4IDM1MnY4YzAgOC45IC44IDE3LjYgMi4yIDI2LjFjMzUuNCA4LjIgNjEuOCA0MCA2MS44IDc3LjljMCA2LjMtLjcgMTIuNS0yLjEgMTguNEMyMTUuMSA1MDEgMjQ2LjMgNTEyIDI4MCA1MTJINDU2YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDM2NGMtNi42IDAtMTItNS40LTEyLTEyczUuNC0xMiAxMi0xMkg0ODhjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRIMzY0Yy02LjYgMC0xMi01LjQtMTItMTJzNS40LTEyIDEyLTEySDUyMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEgzNjRjLTYuNiAwLTEyLTUuNC0xMi0xMnM1LjQtMTIgMTItMTJINDg4YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDM1MmwwIDAgMCAwSDI1OC44TDMwNSAyMTkuMWMxNS05LjQgMTkuNS0yOS4xIDEwLjItNDQuMXpcIl1cbn07XG52YXIgZmFIYW5kc1dhc2ggPSBmYUhhbmRzQnViYmxlcztcbnZhciBmYUxlc3NUaGFuRXF1YWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGVzcy10aGFuLWVxdWFsJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmNTM3XCIsIFwiTTM5NS45IDkzLjdjMTYuNC02LjYgMjQuNC0yNS4yIDE3LjgtNDEuNnMtMjUuMi0yNC40LTQxLjYtMTcuOGwtMzIwIDEyOEM0MCAxNjcuMSAzMiAxNzguOSAzMiAxOTJzOCAyNC45IDIwLjEgMjkuN2wzMjAgMTI4YzE2LjQgNi42IDM1LTEuNCA0MS42LTE3LjhzLTEuNC0zNS0xNy44LTQxLjZMMTUwLjIgMTkyIDM5NS45IDkzLjd6TTMyIDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg0MTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzJ6XCJdXG59O1xudmFyIGZhVHJhaW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJhaW4nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjg2NDZdLCBcImYyMzhcIiwgXCJNOTYgMEM0MyAwIDAgNDMgMCA5NlYzNTJjMCA0OCAzNS4yIDg3LjcgODEuMSA5NC45bC00NiA0NkMyOC4xIDQ5OS45IDMzLjEgNTEyIDQzIDUxMkg4Mi43YzguNSAwIDE2LjYtMy40IDIyLjYtOS40TDE2MCA0NDhIMjg4bDU0LjYgNTQuNmM2IDYgMTQuMSA5LjQgMjIuNiA5LjRINDA1YzEwIDAgMTUtMTIuMSA3LjktMTkuMWwtNDYtNDZjNDYtNy4xIDgxLjEtNDYuOSA4MS4xLTk0LjlWOTZjMC01My00My05Ni05Ni05Nkg5NnpNNjQgOTZjMC0xNy43IDE0LjMtMzIgMzItMzJIMzUyYzE3LjcgMCAzMiAxNC4zIDMyIDMydjk2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlY5NnpNMjI0IDI4OGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6XCJdXG59O1xudmFyIGZhRXllTG93VmlzaW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2V5ZS1sb3ctdmlzaW9uJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJsb3ctdmlzaW9uXCJdLCBcImYyYThcIiwgXCJNMzguOCA1LjFDMjguNC0zLjEgMTMuMy0xLjIgNS4xIDkuMlMtMS4yIDM0LjcgOS4yIDQyLjlsNTkyIDQ2NGMxMC40IDguMiAyNS41IDYuMyAzMy43LTQuMXM2LjMtMjUuNS00LjEtMzMuN0w1MjUuNiAzODYuN2MzOS42LTQwLjYgNjYuNC04Ni4xIDc5LjktMTE4LjRjMy4zLTcuOSAzLjMtMTYuNyAwLTI0LjZjLTE0LjktMzUuNy00Ni4yLTg3LjctOTMtMTMxLjFDNDY1LjUgNjguOCA0MDAuOCAzMiAzMjAgMzJjLTY4LjIgMC0xMjUgMjYuMy0xNjkuMyA2MC44TDM4LjggNS4xek0yMjMgMTQ5LjVjNDguNi00NC4zIDEyMy01MC44IDE3OS4zLTExLjdjNjAuOCA0Mi40IDc4LjkgMTIzLjIgNDQuMiAxODYuOUw0MDggMjk0LjVjOC40LTE5LjMgMTAuNi00MS40IDQuOC02My4zYy0xMS4xLTQxLjUtNDcuOC02OS40LTg4LjYtNzEuMWMtNS44LS4yLTkuMiA2LjEtNy40IDExLjdjMi4xIDYuNCAzLjMgMTMuMiAzLjMgMjAuM2MwIDEwLjItMi40IDE5LjgtNi42IDI4LjNMMjIzIDE0OS41em0tMTM5LjkgMTJjLTExIDE0LjQtMjAuNSAyOC43LTI4LjQgNDIuMmwzMzkgMjY1LjdjMTguNy01LjUgMzYuMi0xMyA1Mi42LTIxLjhMODMuMSAxNjEuNXptLTUwIDg2LjNjLTEuOCA2LjgtMS4zIDE0IDEuNCAyMC41YzE0LjkgMzUuNyA0Ni4yIDg3LjcgOTMgMTMxLjFDMTc0LjUgNDQzLjIgMjM5LjIgNDgwIDMyMCA0ODBjMy4xIDAgNi4xLS4xIDkuMi0uMkwzMy4xIDI0Ny44elwiXVxufTtcbnZhciBmYUxvd1Zpc2lvbiA9IGZhRXllTG93VmlzaW9uO1xudmFyIGZhQ3JvdyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjcm93JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNTIwXCIsIFwiTTQ1NiAwYy00OC42IDAtODggMzkuNC04OCA4OHYyOS4yTDEyLjUgMzkwLjZjLTE0IDEwLjgtMTYuNiAzMC45LTUuOSA0NC45czMwLjkgMTYuNiA0NC45IDUuOUwxMjYuMSAzODRIMjU5LjJsNDYuNiAxMTMuMWM1IDEyLjMgMTkuMSAxOC4xIDMxLjMgMTMuMXMxOC4xLTE5LjEgMTMuMS0zMS4zTDMxMS4xIDM4NEgzNTJjMS4xIDAgMi4xIDAgMy4yIDBsNDYuNiAxMTMuMmM1IDEyLjMgMTkuMSAxOC4xIDMxLjMgMTMuMXMxOC4xLTE5LjEgMTMuMS0zMS4zbC00Mi0xMDJDNDg0LjkgMzU0LjEgNTQ0IDI4MCA1NDQgMTkyVjEyOHYtOGw4MC41LTIwLjFjOC42LTIuMSAxMy44LTEwLjggMTEuNi0xOS40QzYyOSA1MiA2MDMuNCAzMiA1NzQgMzJINTIzLjlDNTA3LjcgMTIuNSA0ODMuMyAwIDQ1NiAwem0wIDY0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpcIl1cbn07XG52YXIgZmFTYWlsYm9hdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzYWlsYm9hdCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTQ0NVwiLCBcIk0yNTYgMTZjMC03IDQuNS0xMy4yIDExLjItMTUuM3MxMy45IC40IDE3LjkgNi4xbDIyNCAzMjBjMy40IDQuOSAzLjggMTEuMyAxLjEgMTYuNnMtOC4yIDguNi0xNC4yIDguNkgyNzJjLTguOCAwLTE2LTcuMi0xNi0xNlYxNnpNMjEyLjEgOTYuNWM3IDEuOSAxMS45IDguMiAxMS45IDE1LjVWMzM2YzAgOC44LTcuMiAxNi0xNiAxNkg4MGMtNS43IDAtMTEtMy0xMy44LThzLTIuOS0xMS0uMS0xNmwxMjgtMjI0YzMuNi02LjMgMTEtOS40IDE4LTcuNXpNNS43IDQwNC4zQzIuOCAzOTQuMSAxMC41IDM4NCAyMS4xIDM4NEg1NTQuOWMxMC42IDAgMTguMyAxMC4xIDE1LjQgMjAuM2wtNCAxNC4zQzU1MC43IDQ3My45IDUwMC40IDUxMiA0NDMgNTEySDEzM0M3NS42IDUxMiAyNS4zIDQ3My45IDkuNyA0MTguN2wtNC0xNC4zelwiXVxufTtcbnZhciBmYVdpbmRvd1Jlc3RvcmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2luZG93LXJlc3RvcmUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYyZDJcIiwgXCJNNDMyIDY0SDIwOGMtOC44IDAtMTYgNy4yLTE2IDE2Vjk2SDEyOFY4MGMwLTQ0LjIgMzUuOC04MCA4MC04MEg0MzJjNDQuMiAwIDgwIDM1LjggODAgODBWMzA0YzAgNDQuMi0zNS44IDgwLTgwIDgwSDQxNlYzMjBoMTZjOC44IDAgMTYtNy4yIDE2LTE2VjgwYzAtOC44LTcuMi0xNi0xNi0xNnpNMCAxOTJjMC0zNS4zIDI4LjctNjQgNjQtNjRIMzIwYzM1LjMgMCA2NCAyOC43IDY0IDY0VjQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMTkyem02NCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMkgyODhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyelwiXVxufTtcbnZhciBmYVNxdWFyZVBsdXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLXBsdXMnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs2MTg0NiwgXCJwbHVzLXNxdWFyZVwiXSwgXCJmMGZlXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDM4NGMzNS4zIDAgNjQtMjguNyA2NC02NFY5NmMwLTM1LjMtMjguNy02NC02NC02NEg2NHpNMjAwIDM0NFYyODBIMTM2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0aDY0VjE2OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0djY0aDY0YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDI0OHY2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNHpcIl1cbn07XG52YXIgZmFQbHVzU3F1YXJlID0gZmFTcXVhcmVQbHVzO1xudmFyIGZhVG9yaWlHYXRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RvcmlpLWdhdGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5OTYxXSwgXCJmNmExXCIsIFwiTTAgODBjMCAyNi41IDIxLjUgNDggNDggNDhINjR2NjRoNjRWMTI4aDk2djY0aDY0VjEyOGg5NnY2NGg2NFYxMjhoMTZjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMTMuNEM1MTIgNiA1MDYgMCA0OTguNiAwYy0xLjcgMC0zLjQgLjMtNSAxbC00OSAxOS42QzQyNS43IDI4LjEgNDA1LjUgMzIgMzg1LjIgMzJIMTI2LjhjLTIwLjQgMC00MC41LTMuOS01OS40LTExLjRMMTguNCAxYy0xLjYtLjYtMy4zLTEtNS0xQzYgMCAwIDYgMCAxMy40Vjgwek02NCAyODhWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMjg4SDM4NFY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyODhoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINjR6XCJdXG59O1xudmFyIGZhRnJvZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmcm9nJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNTJlXCIsIFwiTTM2OCAzMmM0MS43IDAgNzUuOSAzMS44IDc5LjcgNzIuNWw4NS42IDI2LjNjMjUuNCA3LjggNDIuOCAzMS4zIDQyLjggNTcuOWMwIDIxLjgtMTEuNyA0MS45LTMwLjcgNTIuN0w0MDAuOCAzMjMuNSA0OTMuMyA0MTZINTQ0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDQ4MGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRMMzQ2LjkgMzYwLjJjMTEuNy0zNiAzLjItNzcuMS0yNS40LTEwNS43Yy00MC42LTQwLjYtMTA2LjMtNDAuNi0xNDYuOS0uMUwxMDEgMzI0LjRjLTYuNCA2LjEtNi43IDE2LjItLjYgMjIuNnMxNi4yIDYuNiAyMi42IC42bDczLjgtNzAuMiAuMS0uMSAuMS0uMWMzLjUtMy41IDcuMy02LjYgMTEuMy05LjJjMjcuOS0xOC41IDY1LjktMTUuNCA5MC41IDkuMmMyNC43IDI0LjcgMjcuNyA2Mi45IDkgOTAuOWMtMi42IDMuOC01LjYgNy41LTkgMTAuOUwyNjEuOCA0MTZIMzUyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NEMwIDI0OS42IDEyNyAxMTIuOSAyODkuMyA5Ny41QzI5Ni4yIDYwLjIgMzI4LjggMzIgMzY4IDMyem0wIDEwNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6XCJdXG59O1xudmFyIGZhQnVja2V0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1Y2tldCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTRjZlwiLCBcIk05NiAxNTJ2OEg0OHYtOEM0OCA2OC4xIDExNi4xIDAgMjAwIDBoNDhjODMuOSAwIDE1MiA2OC4xIDE1MiAxNTJ2OEgzNTJ2LThjMC01Ny40LTQ2LjYtMTA0LTEwNC0xMDRIMjAwQzE0Mi42IDQ4IDk2IDk0LjYgOTYgMTUyek0wIDIyNGMwLTE3LjcgMTQuMy0zMiAzMi0zMkg0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJoLTUuMUwzODguNSA0NjljLTIuNiAyNC40LTIzLjIgNDMtNDcuNyA0M0gxMDcuMmMtMjQuNiAwLTQ1LjItMTguNS00Ny43LTQzTDM3LjEgMjU2SDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnpcIl1cbn07XG52YXIgZmFJbWFnZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdpbWFnZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjAzZVwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMySDQ0OGMzNS4zIDAgNjQgMjguNyA2NCA2NFY0MTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0Vjk2ek0zMjMuOCAyMDIuNWMtNC41LTYuNi0xMS45LTEwLjUtMTkuOC0xMC41cy0xNS40IDMuOS0xOS44IDEwLjVsLTg3IDEyNy42TDE3MC43IDI5N2MtNC42LTUuNy0xMS41LTktMTguNy05cy0xNC4yIDMuMy0xOC43IDlsLTY0IDgwYy01LjggNy4yLTYuOSAxNy4xLTIuOSAyNS40czEyLjQgMTMuNiAyMS42IDEzLjZoOTYgMzJINDI0YzguOSAwIDE3LjEtNC45IDIxLjItMTIuOHMzLjYtMTcuNC0xLjQtMjQuN2wtMTIwLTE3NnpNMTEyIDE5MmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6XCJdXG59O1xudmFyIGZhTWljcm9waG9uZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtaWNyb3Bob25lJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmMTMwXCIsIFwiTTE5MiAwQzEzOSAwIDk2IDQzIDk2IDk2VjI1NmMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2Vjk2YzAtNTMtNDMtOTYtOTYtOTZ6TTY0IDIxNmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHY0MGMwIDg5LjEgNjYuMiAxNjIuNyAxNTIgMTc0LjRWNDY0SDEyMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGg3MiA3MmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEgyMTZWNDMwLjRjODUuOC0xMS43IDE1Mi04NS4zIDE1Mi0xNzQuNFYyMTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR2NDBjMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhzLTEyOC01Ny4zLTEyOC0xMjhWMjE2elwiXVxufTtcbnZhciBmYUNvdyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb3cnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjgwMDRdLCBcImY2YzhcIiwgXCJNOTYgMjI0djMyVjQxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMmgzMmMxNy43IDAgMzItMTQuMyAzMi0zMlYzMjcuOGM5LjkgNi42IDIwLjYgMTIgMzIgMTYuMVYzNjhjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlYzNTEuMWM1LjMgLjYgMTAuNiAuOSAxNiAuOXMxMC43LS4zIDE2LS45VjM2OGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjM0My44YzExLjQtNCAyMi4xLTkuNCAzMi0xNi4xVjQxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMmgzMmMxNy43IDAgMzItMTQuMyAzMi0zMlYyNTZsMzIgMzJ2NDkuNWMwIDkuNSAyLjggMTguNyA4LjEgMjYuNkw1MzAgNDI3YzguOCAxMy4xIDIzLjUgMjEgMzkuMyAyMWMyMi41IDAgNDEuOS0xNS45IDQ2LjMtMzhsMjAuMy0xMDEuNmMyLjYtMTMtLjMtMjYuNS04LTM3LjNsLTMuOS01LjVWMTg0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0djE0LjRsLTUyLjktNzQuMUM0OTYgODYuNSA0NTIuNCA2NCA0MDUuOSA2NEgyNzIgMjU2IDE5MiAxNDRDNzcuNyA2NCAyNCAxMTcuNyAyNCAxODR2NTRDOS40IDI0OS44IDAgMjY3LjggMCAyODh2MTcuNmMwIDggNi40IDE0LjQgMTQuNCAxNC40QzQ2LjIgMzIwIDcyIDI5NC4yIDcyIDI2Mi40VjI1NiAyMjQgMTg0YzAtMjQuMyAxMi4xLTQ1LjggMzAuNS01OC45Qzk4LjMgMTM1LjkgOTYgMTQ3LjcgOTYgMTYwdjY0ek01NjAgMzM2YTE2IDE2IDAgMSAxIDMyIDAgMTYgMTYgMCAxIDEgLTMyIDB6TTE2Ni42IDE2Ni42Yy00LjItNC4yLTYuNi0xMC02LjYtMTZjMC0xMi41IDEwLjEtMjIuNiAyMi42LTIyLjZIMzYxLjRjMTIuNSAwIDIyLjYgMTAuMSAyMi42IDIyLjZjMCA2LTIuNCAxMS44LTYuNiAxNmwtMjMuNCAyMy40QzMzMi4yIDIxMS44IDMwMi43IDIyNCAyNzIgMjI0cy02MC4yLTEyLjItODEuOS0zMy45bC0yMy40LTIzLjR6XCJdXG59O1xudmFyIGZhQ2FyZXRVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXJldC11cCcsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiZjBkOFwiLCBcIk0xODIuNiAxMzcuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTEyOCAxMjhjLTkuMiA5LjItMTEuOSAyMi45LTYuOSAzNC45czE2LjYgMTkuOCAyOS42IDE5LjhIMjg4YzEyLjkgMCAyNC42LTcuOCAyOS42LTE5LjhzMi4yLTI1LjctNi45LTM0LjlsLTEyOC0xMjh6XCJdXG59O1xudmFyIGZhU2NyZXdkcml2ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2NyZXdkcml2ZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjk2OTFdLCBcImY1NGFcIiwgXCJNNDY1IDdjLTguNS04LjUtMjItOS40LTMxLjYtMi4xbC0xMDQgODBjLTUuOSA0LjUtOS40IDExLjYtOS40IDE5djU0LjFsLTg1LjYgODUuNmM2LjcgNC4yIDEzIDkuMyAxOC44IDE1LjFzMTAuOSAxMi4yIDE1LjEgMTguOEwzNTMuOSAxOTJINDA4YzcuNSAwIDE0LjUtMy41IDE5LTkuNGw4MC0xMDRjNy40LTkuNiA2LjUtMjMuMS0yLjEtMzEuNkw0NjUgN3pNMTIxLjQgMjgxLjRsLTExMiAxMTJjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDExMi0xMTJjMzAuMi0zMC4yIDMwLjItNzkuMSAwLTEwOS4zcy03OS4xLTMwLjItMTA5LjMgMHpcIl1cbn07XG52YXIgZmFGb2xkZXJDbG9zZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZm9sZGVyLWNsb3NlZCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTE4NVwiLCBcIk00NDggNDgwSDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFYxOTJINTEyVjQxNmMwIDM1LjMtMjguNyA2NC02NCA2NHptNjQtMzIwSDBWOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJIMTkyYzIwLjEgMCAzOS4xIDkuNSA1MS4yIDI1LjZsMTkuMiAyNS42YzYgOC4xIDE1LjUgMTIuOCAyNS42IDEyLjhINDQ4YzM1LjMgMCA2NCAyOC43IDY0IDY0elwiXVxufTtcbnZhciBmYUhvdXNlVHN1bmFtaSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS10c3VuYW1pJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTE1XCIsIFwiTTgwLjggMTM2LjVDMTA0LjkgOTMuOCAxNTIuNiA2NCAyMDkgNjRjMTYuOSAwIDMzLjEgMi43IDQ4LjIgNy43YzE2LjggNS41IDM0LjktMy42IDQwLjQtMjAuNHMtMy42LTM0LjktMjAuNC00MC40QzI1NS44IDMuOCAyMzIuOCAwIDIwOSAwQzk1LjIgMCAwIDg4IDAgMjAwYzAgOTEuNiA1My41IDE3Mi4xIDE0Mi4yIDE5NC4xYzEzLjQgMy44IDI3LjUgNS45IDQyLjIgNS45Yy43IDAgMS40IDAgMi4xLS4xYzEuOCAwIDMuNyAuMSA1LjUgLjFsMCAwYzMxLjkgMCA2MC42LTkuOSA4MC40LTE4LjljNS44LTIuNyAxMS4xLTUuMyAxNS42LTcuN2M0LjUgMi40IDkuNyA1LjEgMTUuNiA3LjdjMTkuOCA5IDQ4LjUgMTguOSA4MC40IDE4LjljMzMgMCA2NS41LTEwLjMgOTQuNS0yNS44YzEzLjQgOC40IDMzLjcgMTkuMyA1OC4yIDI1YzE3LjIgNCAzNC40LTYuNyAzOC40LTIzLjlzLTYuNy0zNC40LTIzLjktMzguNGMtMTguMS00LjItMzYuMi0xMy4zLTUwLjYtMjUuMmMtMTEuMS05LjUtMjcuMy0xMC4xLTM5LjItMS43bDAgMEM0MzkuNCAzMjUuMiA0MTAuOSAzMzYgMzg0IDMzNmMtMjcuNSAwLTU1LTEwLjYtNzcuNS0yNi4xYy0xMS4xLTcuOS0yNS45LTcuOS0zNyAwYy0yMi40IDE1LjUtNDkuOSAyNi4xLTc3LjQgMjYuMWMwIDAtLjEgMC0uMSAwYy0xMi40IDAtMjQtMS41LTM0LjktNC4zQzEyMS42IDMyMC4yIDk2IDI4NyA5NiAyNDhjMC00OC41IDM5LjUtODggODguNC04OGMxMy41IDAgMjYuMSAzIDM3LjUgOC4zYzE2IDcuNSAzNS4xIC42IDQyLjUtMTUuNXMuNi0zNS4xLTE1LjUtNDIuNUMyMjkuMyAxMDEuMSAyMDcuNCA5NiAxODQuNCA5NmMtNDAgMC03Ni40IDE1LjQtMTAzLjYgNDAuNXptMjUyLTE4LjFjLTguMSA2LTEyLjggMTUuNS0xMi44IDI1LjZWMjY1YzEuNiAxIDMuMyAyIDQuOCAzLjFjMTguNCAxMi43IDM5LjYgMjAuMyA1OS4yIDIwLjNjMTkgMCA0MS4yLTcuOSA1OS4yLTIwLjNjMjMuOC0xNi43IDU1LjgtMTUuMyA3OC4xIDMuNGMxMC42IDguOCAyNC4yIDE1LjYgMzcuMyAxOC42YzUuOCAxLjQgMTEuMiAzLjQgMTYuMiA2LjJjLjctMi43IDEuMS01LjUgMS4xLTguNGwtLjQtMTQ0YzAtMTAtNC43LTE5LjQtMTIuNy0yNS41bC05NS41LTcyYy0xMS40LTguNi0yNy4xLTguNi0zOC41IDBsLTk2IDcyek0zODQgNDQ4Yy0yNy41IDAtNTUtMTAuNi03Ny41LTI2LjFjLTExLjEtNy45LTI1LjktNy45LTM3IDBDMjQ3IDQzNy40IDIxOS41IDQ0OCAxOTIgNDQ4Yy0yNi45IDAtNTUuMy0xMC44LTc3LjQtMjYuMWwwIDBjLTExLjktOC41LTI4LjEtNy44LTM5LjIgMS43Yy0xNC40IDExLjktMzIuNSAyMS01MC42IDI1LjJjLTE3LjIgNC0yNy45IDIxLjItMjMuOSAzOC40czIxLjIgMjcuOSAzOC40IDIzLjljMjQuNS01LjcgNDQuOS0xNi41IDU4LjItMjVDMTI2LjUgNTAxLjcgMTU5IDUxMiAxOTIgNTEyYzMxLjkgMCA2MC42LTkuOSA4MC40LTE4LjljNS44LTIuNyAxMS4xLTUuMyAxNS42LTcuN2M0LjUgMi40IDkuNyA1LjEgMTUuNiA3LjdjMTkuOCA5IDQ4LjUgMTguOSA4MC40IDE4LjljMzMgMCA2NS41LTEwLjMgOTQuNS0yNS44YzEzLjQgOC40IDMzLjcgMTkuMyA1OC4yIDI1YzE3LjIgNCAzNC40LTYuNyAzOC40LTIzLjlzLTYuNy0zNC40LTIzLjktMzguNGMtMTguMS00LjItMzYuMi0xMy4zLTUwLjYtMjUuMmMtMTEuMS05LjQtMjcuMy0xMC4xLTM5LjItMS43bDAgMEM0MzkuNCA0MzcuMiA0MTAuOSA0NDggMzg0IDQ0OHpcIl1cbn07XG52YXIgZmFTcXVhcmVOZmkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLW5maScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTU3NlwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMySDM4NGMzNS4zIDAgNjQgMjguNyA2NCA2NFY0MTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0Vjk2em03NS43IDY0LjZDNjguOCAxNjIuNSA2NCAxNjguOCA2NCAxNzZWMzM2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMjMzLjhsNjYuMyAxMTAuNWMzLjcgNi4yIDExLjEgOS4xIDE4IDcuMnMxMS43LTguMiAxMS43LTE1LjRWMTc2YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2VjI3OC4yTDkzLjcgMTY3LjhjLTMuNy02LjItMTEuMS05LjEtMTgtNy4yek0yMjQgMTc2djY0IDk2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMjU2aDQ4YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDI1NlYxOTJoNDhjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIMjQwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE2MCAwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2VjMzNmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjE3NnpcIl1cbn07XG52YXIgZmFBcnJvd1VwRnJvbUdyb3VuZFdhdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXVwLWZyb20tZ3JvdW5kLXdhdGVyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGI1XCIsIFwiTTI4OCAzNTJjMTcuNyAwIDMyLTE0LjMgMzItMzJWMTA5LjNsMjUuNCAyNS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTgwLTgwYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtODAgODBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMjU2IDEwOS4zVjMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnptLTE4LjUgNjkuOUMyNDcgNDM3LjQgMjE5LjUgNDQ4IDE5MiA0NDhjLTI2LjkgMC01NS4zLTEwLjgtNzcuNC0yNi4xbDAgMGMtMTEuOS04LjUtMjguMS03LjgtMzkuMiAxLjdjLTE0LjQgMTEuOS0zMi41IDIxLTUwLjYgMjUuMmMtMTcuMiA0LTI3LjkgMjEuMi0yMy45IDM4LjRzMjEuMiAyNy45IDM4LjQgMjMuOWMyNC41LTUuNyA0NC45LTE2LjUgNTguMi0yNUMxMjYuNSA1MDEuNyAxNTkgNTEyIDE5MiA1MTJjMzEuOSAwIDYwLjYtOS45IDgwLjQtMTguOWM1LjgtMi43IDExLjEtNS4zIDE1LjYtNy43YzQuNSAyLjQgOS43IDUuMSAxNS42IDcuN2MxOS44IDkgNDguNSAxOC45IDgwLjQgMTguOWMzMyAwIDY1LjUtMTAuMyA5NC41LTI1LjhjMTMuNCA4LjQgMzMuNyAxOS4zIDU4LjIgMjVjMTcuMiA0IDM0LjQtNi43IDM4LjQtMjMuOXMtNi43LTM0LjQtMjMuOS0zOC40Yy0xOC4xLTQuMi0zNi4yLTEzLjMtNTAuNi0yNS4yYy0xMS4xLTkuNC0yNy4zLTEwLjEtMzkuMi0xLjdsMCAwQzQzOS40IDQzNy4yIDQxMC45IDQ0OCAzODQgNDQ4Yy0yNy41IDAtNTUtMTAuNi03Ny41LTI2LjFjLTExLjEtNy45LTI1LjktNy45LTM3IDB6TTE5MiAxOTJINDhjLTI2LjUgMC00OCAyMS41LTQ4IDQ4VjQyNWM1LjMtMy4xIDExLjItNS40IDE3LjUtNi45YzEzLjEtMy4xIDI2LjctOS44IDM3LjMtMTguNmMyMi4yLTE4LjcgNTQuMy0yMC4xIDc4LjEtMy40YzE4IDEyLjQgNDAuMSAyMC4zIDU5LjEgMjAuM1YxOTJ6bTM4NCA0OGMwLTI2LjUtMjEuNS00OC00OC00OEgzODRWNDE2LjVoMGMxOSAwIDQxLjItNy45IDU5LjItMjAuM2MyMy44LTE2LjcgNTUuOC0xNS4zIDc4LjEgMy40YzEwLjYgOC44IDI0LjIgMTUuNiAzNy4zIDE4LjZjNi4zIDEuNSAxMi4xIDMuOCAxNy41IDYuOVYyNDB6XCJdXG59O1xudmFyIGZhTWFydGluaUdsYXNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hcnRpbmktZ2xhc3MnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc4NjQsIFwiZ2xhc3MtbWFydGluaS1hbHRcIl0sIFwiZjU3YlwiLCBcIk0zMiAwQzE5LjEgMCA3LjQgNy44IDIuNCAxOS44cy0yLjIgMjUuNyA2LjkgMzQuOUwyMjQgMjY5LjNWNDQ4SDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmg5NiA5NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgyODhWMjY5LjNMNTAyLjYgNTQuNmM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVM0OTIuOSAwIDQ4MCAwSDMyek0xNzMuMyAxMjhsLTY0LTY0SDQwMi43bC02NCA2NEgxNzMuM3pcIl1cbn07XG52YXIgZmFHbGFzc01hcnRpbmlBbHQgPSBmYU1hcnRpbmlHbGFzcztcbnZhciBmYVJvdGF0ZUxlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncm90YXRlLWxlZnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInJvdGF0ZS1iYWNrXCIsIFwicm90YXRlLWJhY2t3YXJkXCIsIFwidW5kby1hbHRcIl0sIFwiZjJlYVwiLCBcIk00OC41IDIyNEg0MGMtMTMuMyAwLTI0LTEwLjctMjQtMjRWNzJjMC05LjcgNS44LTE4LjUgMTQuOC0yMi4yczE5LjMtMS43IDI2LjIgNS4yTDk4LjYgOTYuNmM4Ny42LTg2LjUgMjI4LjctODYuMiAzMTUuOCAxYzg3LjUgODcuNSA4Ny41IDIyOS4zIDAgMzE2LjhzLTIyOS4zIDg3LjUtMzE2LjggMGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGM2Mi41IDYyLjUgMTYzLjggNjIuNSAyMjYuMyAwczYyLjUtMTYzLjggMC0yMjYuM2MtNjIuMi02Mi4yLTE2Mi43LTYyLjUtMjI1LjMtMUwxODUgMTgzYzYuOSA2LjkgOC45IDE3LjIgNS4yIDI2LjJzLTEyLjUgMTQuOC0yMi4yIDE0LjhINDguNXpcIl1cbn07XG52YXIgZmFSb3RhdGVCYWNrID0gZmFSb3RhdGVMZWZ0O1xudmFyIGZhUm90YXRlQmFja3dhcmQgPSBmYVJvdGF0ZUxlZnQ7XG52YXIgZmFVbmRvQWx0ID0gZmFSb3RhdGVMZWZ0O1xudmFyIGZhVGFibGVDb2x1bW5zID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhYmxlLWNvbHVtbnMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImNvbHVtbnNcIl0sIFwiZjBkYlwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMySDQ0OGMzNS4zIDAgNjQgMjguNyA2NCA2NFY0MTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0Vjk2em02NCA2NFY0MTZIMjI0VjE2MEg2NHptMzg0IDBIMjg4VjQxNkg0NDhWMTYwelwiXVxufTtcbnZhciBmYUNvbHVtbnMgPSBmYVRhYmxlQ29sdW1ucztcbnZhciBmYUxlbW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xlbW9uJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI3ODE5XSwgXCJmMDk0XCIsIFwiTTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NGMtNi42IDAtMTMgMS0xOSAyLjljLTIyLjUgNy00OC4xIDE0LjktNzEgOWMtNzUuMi0xOS4xLTE1Ni40IDExLTIxMy43IDY4LjNTLTcuMiAyNTAuOCAxMS45IDMyNmM1LjggMjIuOS0yIDQ4LjQtOSA3MUMxIDQwMyAwIDQwOS40IDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0YzYuNiAwIDEzLTEgMTkuMS0yLjljMjIuNS03IDQ4LjEtMTQuOSA3MS05Yzc1LjIgMTkuMSAxNTYuNC0xMSAyMTMuNy02OC4zczg3LjUtMTM4LjUgNjguMy0yMTMuN2MtNS44LTIyLjkgMi00OC40IDktNzFjMS45LTYgMi45LTEyLjQgMi45LTE5LjF6TTIxMi41IDEyNy40Yy01NC42IDE2LTEwMS4xIDYyLjUtMTE3LjEgMTE3LjFDOTIuOSAyNTMgODQgMjU3LjggNzUuNSAyNTUuNFM2Mi4yIDI0NCA2NC42IDIzNS41YzE5LjEtNjUuMSA3My43LTExOS44IDEzOC45LTEzOC45YzguNS0yLjUgMTcuNCAyLjQgMTkuOSAxMC45cy0yLjQgMTcuNC0xMC45IDE5Ljl6XCJdXG59O1xudmFyIGZhSGVhZFNpZGVNYXNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlYWQtc2lkZS1tYXNrJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlMDYzXCIsIFwiTTMyIDIyNC4yYzAtMjIuMiAzLjItNDMuNiA5LjItNjMuOUwyNjIuMiAzMjFjLTQgOS41LTYuMiAyMC02LjIgMzFWNTEySDEyOGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDA3LjNjMC0xNi43LTYuOS0zMi41LTE3LjEtNDUuOEM0OC42IDMyMi40IDMyIDI3NC4xIDMyIDIyNC4yem0yNDguMyA3MC40TDUzIDEyOS4zQzg4LjcgNTMgMTY2LjIgMCAyNTYgMGgyNGM5NS4yIDAgMTgxLjIgNjkuMyAxOTcuMyAxNjAuMmMyLjMgMTMgNi44IDI1LjcgMTUuMSAzNmw0MiA1Mi42YzUuNCA2LjcgOC42IDE0LjggOS40IDIzLjJIMzM2Yy0yMS43IDAtNDEuMyA4LjYtNTUuNyAyMi42ek0zMzYgMzA0SDUzNGwwIDBoMTBsLTE5LjcgNjRIMzY4Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2SDUxNC41bC05LjggMzJIMzY4Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2SDQ5NC44bC0uOSAyLjhjLTguMyAyNi45LTMzLjEgNDUuMi02MS4yIDQ1LjJIMjg4VjM1MmMwLTE0IDYtMjYuNyAxNS42LTM1LjRjMCAwIDAgMCAwIDBjOC41LTcuOCAxOS45LTEyLjYgMzIuNC0xMi42em00OC04MGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xudmFyIGZhSGFuZHNoYWtlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzaGFrZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjJiNVwiLCBcIk0zMjMuNCA4NS4ybC05Ni44IDc4LjRjLTE2LjEgMTMtMTkuMiAzNi40LTcgNTMuMWMxMi45IDE3LjggMzggMjEuMyA1NS4zIDcuOGw5OS4zLTc3LjJjNy01LjQgMTctNC4yIDIyLjUgMi44czQuMiAxNy0yLjggMjIuNWwtMjAuOSAxNi4yTDUxMiAzMTYuOFYxMjhoLS43bC0zLjktMi41TDQzNC44IDc5Yy0xNS4zLTkuOC0zMy4yLTE1LTUxLjQtMTVjLTIxLjggMC00MyA3LjUtNjAgMjEuMnptMjIuOCAxMjQuNGwtNTEuNyA0MC4yQzI2MyAyNzQuNCAyMTcuMyAyNjggMTkzLjcgMjM1LjZjLTIyLjItMzAuNS0xNi42LTczLjEgMTIuNy05Ni44bDgzLjItNjcuM2MtMTEuNi00LjktMjQuMS03LjQtMzYuOC03LjRDMjM0IDY0IDIxNS43IDY5LjYgMjAwIDgwbC03MiA0OFYzNTJoMjguMmw5MS40IDgzLjRjMTkuNiAxNy45IDQ5LjkgMTYuNSA2Ny44LTMuMWM1LjUtNi4xIDkuMi0xMy4yIDExLjEtMjAuNmwxNyAxNS42YzE5LjUgMTcuOSA0OS45IDE2LjYgNjcuOC0yLjljNC41LTQuOSA3LjgtMTAuNiA5LjktMTYuNWMxOS40IDEzIDQ1LjggMTAuMyA2Mi4xLTcuNWMxNy45LTE5LjUgMTYuNi00OS45LTIuOS02Ny44bC0xMzQuMi0xMjN6TTE2IDEyOGMtOC44IDAtMTYgNy4yLTE2IDE2VjM1MmMwIDE3LjcgMTQuMyAzMiAzMiAzMkg2NGMxNy43IDAgMzItMTQuMyAzMi0zMlYxMjhIMTZ6TTQ4IDMyMGExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6TTU0NCAxMjhWMzUyYzAgMTcuNyAxNC4zIDMyIDMyIDMyaDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMyVjE0NGMwLTguOC03LjItMTYtMTYtMTZINTQ0em0zMiAyMDhhMTYgMTYgMCAxIDEgMzIgMCAxNiAxNiAwIDEgMSAtMzIgMHpcIl1cbn07XG52YXIgZmFHZW0gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ2VtJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MTQyXSwgXCJmM2E1XCIsIFwiTTExNi43IDMzLjhjNC41LTYuMSAxMS43LTkuOCAxOS4zLTkuOEgzNzZjNy42IDAgMTQuOCAzLjYgMTkuMyA5LjhsMTEyIDE1MmM2LjggOS4yIDYuMSAyMS45LTEuNSAzMC40bC0yMzIgMjU2Yy00LjUgNS0xMSA3LjktMTcuOCA3LjlzLTEzLjItMi45LTE3LjgtNy45bC0yMzItMjU2Yy03LjctOC41LTguMy0yMS4yLTEuNS0zMC40bDExMi0xNTJ6bTM4LjUgMzkuOGMtMy4zIDIuNS00LjIgNy0yLjEgMTAuNWw1Ny40IDk1LjZMNjMuMyAxOTJjLTQuMSAuMy03LjMgMy44LTcuMyA4czMuMiA3LjYgNy4zIDhsMTkyIDE2Yy40IDAgLjkgMCAxLjMgMGwxOTItMTZjNC4xLS4zIDcuMy0zLjggNy4zLThzLTMuMi03LjYtNy4zLThMMzAxLjUgMTc5LjhsNTcuNC05NS42YzIuMS0zLjUgMS4yLTguMS0yLjEtMTAuNXMtNy45LTItMTAuNyAxTDI1NiAxNzIuMiAxNjUuOSA3NC42Yy0yLjgtMy03LjQtMy40LTEwLjctMXpcIl1cbn07XG52YXIgZmFEb2xseSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkb2xseScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiZG9sbHktYm94XCJdLCBcImY0NzJcIiwgXCJNMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBoNzIuOWMyNy41IDAgNTIgMTcuNiA2MC43IDQzLjhMMjU3LjcgMzIwYzMwLjEgLjUgNTYuOCAxNC45IDc0IDM3bDIwMi4xLTY3LjRjMTYuOC01LjYgMzQuOSAzLjUgNDAuNSAyMC4ycy0zLjUgMzQuOS0yMC4yIDQwLjVMMzUyIDQxNy43Yy0uOSA1Mi4yLTQzLjUgOTQuMy05NiA5NC4zYy01MyAwLTk2LTQzLTk2LTk2YzAtMzAuOCAxNC41LTU4LjIgMzctNzUuOEwxMDQuOSA2NEgzMkMxNC4zIDY0IDAgNDkuNyAwIDMyek0yNDQuOCAxMzQuNWMtNS41LTE2LjggMy43LTM0LjkgMjAuNS00MC4zTDMxMSA3OS40bDE5LjggNjAuOSA2MC45LTE5LjhMMzcxLjggNTkuNmw0NS43LTE0LjhjMTYuOC01LjUgMzQuOSAzLjcgNDAuMyAyMC41bDQ5LjQgMTUyLjJjNS41IDE2LjgtMy43IDM0LjktMjAuNSA0MC4zTDMzNC41IDMwNy4yYy0xNi44IDUuNS0zNC45LTMuNy00MC4zLTIwLjVMMjQ0LjggMTM0LjV6XCJdXG59O1xudmFyIGZhRG9sbHlCb3ggPSBmYURvbGx5O1xudmFyIGZhU21va2luZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzbW9raW5nJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4Njg0XSwgXCJmNDhkXCIsIFwiTTQ0OCAzMlY0M2MwIDM4LjIgMTUuMiA3NC44IDQyLjIgMTAxLjhsMjEgMjFjMjEgMjEgMzIuOCA0OS41IDMyLjggNzkuMnYxMWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYyNDVjMC0xMi43LTUuMS0yNC45LTE0LjEtMzMuOWwtMjEtMjFDNDA1LjkgMTUxLjEgMzg0IDk4LjEgMzg0IDQzVjMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6TTU3NiAyNTZWMjQ1YzAtMzguMi0xNS4yLTc0LjgtNDIuMi0xMDEuOGwtMjEtMjFjLTIxLTIxLTMyLjgtNDkuNS0zMi44LTc5LjJWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMlY0M2MwIDEyLjcgNS4xIDI0LjkgMTQuMSAzMy45bDIxIDIxYzM5IDM5IDYwLjkgOTEuOSA2MC45IDE0Ny4xdjExYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyek0wIDQxNmMwLTM1LjMgMjguNy02NCA2NC02NEg0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjQxNnptMjI0IDB2MzJIMzg0VjQxNkgyMjR6bTI4OC02NGMxNy43IDAgMzIgMTQuMyAzMiAzMnY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzODRjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzg0YzAtMTcuNyAxNC4zLTMyIDMyLTMyelwiXVxufTtcbnZhciBmYU1pbmltaXplID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21pbmltaXplJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJjb21wcmVzcy1hcnJvd3MtYWx0XCJdLCBcImY3OGNcIiwgXCJNNDU2IDIyNEgzMTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0VjU2YzAtOS43IDUuOC0xOC41IDE0LjgtMjIuMnMxOS4zLTEuNyAyNi4yIDUuMmw0MCA0MEw0NDIuMyA1LjdDNDQ2IDIgNDUwLjkgMCA0NTYgMHMxMCAyIDEzLjcgNS43bDM2LjcgMzYuN0M1MTAgNDYgNTEyIDUwLjkgNTEyIDU2cy0yIDEwLTUuNyAxMy43TDQzMyAxNDNsNDAgNDBjNi45IDYuOSA4LjkgMTcuMiA1LjIgMjYuMnMtMTIuNSAxNC44LTIyLjIgMTQuOHptMCA2NGM5LjcgMCAxOC41IDUuOCAyMi4yIDE0LjhzMS43IDE5LjMtNS4yIDI2LjJsLTQwIDQwIDczLjQgNzMuNGMzLjYgMy42IDUuNyA4LjUgNS43IDEzLjdzLTIgMTAtNS43IDEzLjdsLTM2LjcgMzYuN0M0NjYgNTEwIDQ2MS4xIDUxMiA0NTYgNTEycy0xMC0yLTEzLjctNS43TDM2OSA0MzNsLTQwIDQwYy02LjkgNi45LTE3LjIgOC45LTI2LjIgNS4ycy0xNC44LTEyLjUtMTQuOC0yMi4yVjMxMmMwLTEzLjMgMTAuNy0yNCAyNC0yNEg0NTZ6bS0yNTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNFY0NTZjMCA5LjctNS44IDE4LjUtMTQuOCAyMi4ycy0xOS4zIDEuNy0yNi4yLTUuMmwtNDAtNDBMNjkuNyA1MDYuM0M2NiA1MTAgNjEuMSA1MTIgNTYgNTEycy0xMC0yLTEzLjctNS43TDUuNyA0NjkuN0MyIDQ2NiAwIDQ2MS4xIDAgNDU2czItMTAgNS43LTEzLjdMNzkgMzY5IDM5IDMyOWMtNi45LTYuOS04LjktMTcuMi01LjItMjYuMnMxMi41LTE0LjggMjIuMi0xNC44SDIwMHpNNTYgMjI0Yy05LjcgMC0xOC41LTUuOC0yMi4yLTE0LjhzLTEuNy0xOS4zIDUuMi0yNi4ybDQwLTQwTDUuNyA2OS43QzIgNjYgMCA2MS4xIDAgNTZzMi0xMCA1LjctMTMuN0w0Mi4zIDUuN0M0NiAyIDUwLjkgMCA1NiAwczEwIDIgMTMuNyA1LjdMMTQzIDc5bDQwLTQwYzYuOS02LjkgMTcuMi04LjkgMjYuMi01LjJzMTQuOCAxMi41IDE0LjggMjIuMlYyMDBjMCAxMy4zLTEwLjcgMjQtMjQgMjRINTZ6XCJdXG59O1xudmFyIGZhQ29tcHJlc3NBcnJvd3NBbHQgPSBmYU1pbmltaXplO1xudmFyIGZhTW9udW1lbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9udW1lbnQnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImY1YTZcIiwgXCJNMTgwLjcgNC43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwbDgwIDgwYzIuNSAyLjUgNC4xIDUuOCA0LjYgOS4zbDQwLjIgMzIySDU1LjlMOTYuMSA5NGMuNC0zLjUgMi02LjggNC42LTkuM2w4MC04MHpNMTUyIDI3MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGg4MGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEgxNTJ6TTMyIDQ0OEgzNTJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6XCJdXG59O1xudmFyIGZhU25vd3Bsb3cgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc25vd3Bsb3cnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY3ZDJcIiwgXCJNMjk4LjkgNjRsNjguNiAxNjBIMjU2bC02NC02NFY2NEgyOTguOXpNNDQ1LjEgMjQyLjdsLTg3LjQtMjA0QzM0Ny42IDE1LjMgMzI0LjUgMCAyOTguOSAwSDE3NmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhWMTYwSDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMlYyOTguOEMyNi4yIDMxNi44IDAgMzU1LjMgMCA0MDBjMCA2MS45IDUwLjEgMTEyIDExMiAxMTJIMzY4YzYxLjkgMCAxMTItNTAuMSAxMTItMTEyYzAtMTcuMi0zLjktMzMuNS0xMC44LTQ4SDUxMnY1MC43YzAgMTcgNi43IDMzLjMgMTguNyA0NS4zbDU0LjYgNTQuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDU3NiA0MDIuN1YzMjAgMjM1LjJMNjMzIDE2NGMxMS0xMy44IDguOC0zMy45LTUtNDVzLTMzLjktOC44LTQ1IDVsLTU3IDcxLjJjLTkuMSAxMS4zLTE0IDI1LjQtMTQgNDBWMjg4SDQ0OFYyNTYuN2MuMS0yLjQtLjItNC44LS42LTcuMXMtMS4yLTQuNy0yLjItNi44ek0zNjggMzUyYzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4SDExMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhzMjEuNS00OCA0OC00OEgzNjh6TTE0NCA0MDBhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHptMjE2IDI0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptLTU2LTI0YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6TTIwMCA0MjRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4elwiXVxufTtcbnZhciBmYUFuZ2xlc1JpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2FuZ2xlcy1yaWdodCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzE4NywgXCJhbmdsZS1kb3VibGUtcmlnaHRcIl0sIFwiZjEwMVwiLCBcIk00NzAuNiAyNzguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTYwLTE2MGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMNDAyLjcgMjU2IDI2NS40IDM5My40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDE2MC0xNjB6bS0zNTIgMTYwbDE2MC0xNjBjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTE2MC0xNjBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDIxMC43IDI1NiA3My40IDM5My40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwelwiXVxufTtcbnZhciBmYUFuZ2xlRG91YmxlUmlnaHQgPSBmYUFuZ2xlc1JpZ2h0O1xudmFyIGZhQ2FubmFiaXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FubmFiaXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1NWZcIiwgXCJNMjU2IDBjNS4zIDAgMTAuMyAyLjcgMTMuMyA3LjFjMTUuOCAyMy41IDM2LjcgNjMuNyA0OS4yIDEwOWM3LjIgMjYuNCAxMS44IDU1LjIgMTAuNCA4NGMxMS41LTguOCAyMy43LTE2LjcgMzUuOC0yMy42YzQxLTIzLjMgODQuNC0zNi45IDExMi4yLTQyLjVjNS4yLTEgMTAuNyAuNiAxNC40IDQuNHM1LjQgOS4yIDQuNCAxNC41Yy01LjYgMjcuNy0xOS4zIDcwLjktNDIuNyAxMTEuN2MtOS4xIDE1LjktMTkuOSAzMS43LTMyLjQgNDYuM2MyNy44IDYuNiA1Mi40IDE3LjMgNjcuMiAyNS41YzUuMSAyLjggOC4yIDguMiA4LjIgMTRzLTMuMiAxMS4yLTguMiAxNGMtMTUuMiA4LjQtNDAuOSAxOS41LTY5LjggMjYuMWMtMjAuMiA0LjYtNDIuOSA3LjItNjUuMiA0LjZsOC4zIDMzLjFjMS41IDYuMS0uNiAxMi40LTUuNSAxNi40cy0xMS42IDQuNi0xNy4yIDEuOUwyODAgNDE3LjJWNDg4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0VjQxNy4ybC01OC41IDI5LjFjLTUuNiAyLjgtMTIuMyAyLjEtMTcuMi0xLjlzLTctMTAuMy01LjUtMTYuNGw4LjMtMzMuMWMtMjIuMiAyLjYtNDUgMC02NS4yLTQuNmMtMjguOS02LjYtNTQuNi0xNy42LTY5LjgtMjYuMWMtNS4xLTIuOC04LjItOC4yLTguMi0xNHMzLjItMTEuMiA4LjItMTRjMTQuOC04LjIgMzkuNC0xOC44IDY3LjItMjUuNUM3OC45IDI5Ni4zIDY4LjEgMjgwLjUgNTkgMjY0LjZjLTIzLjQtNDAuOC0zNy4xLTg0LTQyLjctMTExLjdjLTEuMS01LjIgLjYtMTAuNyA0LjQtMTQuNXM5LjItNS40IDE0LjQtNC40YzI3LjkgNS41IDcxLjIgMTkuMiAxMTIuMiA0Mi41YzEyLjEgNi45IDI0LjMgMTQuNyAzNS44IDIzLjZjLTEuNC0yOC43IDMuMS01Ny42IDEwLjQtODRjMTIuNS00NS4zIDMzLjQtODUuNSA0OS4yLTEwOWMzLTQuNCA4LTcuMSAxMy4zLTcuMXpcIl1cbn07XG52YXIgZmFDaXJjbGVQbGF5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1wbGF5JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjE0NjksIFwicGxheS1jaXJjbGVcIl0sIFwiZjE0NFwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6TTE4OC4zIDE0Ny4xYy03LjYgNC4yLTEyLjMgMTIuMy0xMi4zIDIwLjlWMzQ0YzAgOC43IDQuNyAxNi43IDEyLjMgMjAuOXMxNi44IDQuMSAyNC4zLS41bDE0NC04OGM3LjEtNC40IDExLjUtMTIuMSAxMS41LTIwLjVzLTQuNC0xNi4xLTExLjUtMjAuNWwtMTQ0LTg4Yy03LjQtNC41LTE2LjctNC43LTI0LjMtLjV6XCJdXG59O1xudmFyIGZhUGxheUNpcmNsZSA9IGZhQ2lyY2xlUGxheTtcbnZhciBmYVRhYmxldHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGFibGV0cycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjQ5MFwiLCBcIk02MTQuMyAyNDdjMTYuMy0yNSAyNS43LTU0LjkgMjUuNy04N0M2NDAgNzEuNiA1NjguNCAwIDQ4MCAwYy0zMi4xIDAtNjEuOSA5LjQtODcgMjUuN2MtNy45IDUuMi04LjUgMTYuMi0xLjggMjIuOUw1OTEuNCAyNDguOGM2LjcgNi43IDE3LjggNi4yIDIyLjktMS44ek01NjcgMjk0LjNjNy45LTUuMiA4LjUtMTYuMiAxLjgtMjIuOUwzNjguNiA3MS4yYy02LjctNi43LTE3LjgtNi4yLTIyLjkgMS44Yy0xNi4zIDI1LTI1LjcgNTQuOS0yNS43IDg3YzAgODguNCA3MS42IDE2MCAxNjAgMTYwYzMyLjEgMCA2MS45LTkuNCA4Ny0yNS43ek0zMDEuNSAzNjhIMTguNWMtOS41IDAtMTYuOSA4LjItMTUgMTcuNUMxOC45IDQ1Ny44IDgzLjEgNTEyIDE2MCA1MTJzMTQxLjEtNTQuMiAxNTYuNS0xMjYuNWMyLTkuMy01LjUtMTcuNS0xNS0xNy41em0wLTMyYzkuNSAwIDE2LjktOC4yIDE1LTE3LjVDMzAxLjEgMjQ2LjIgMjM2LjkgMTkyIDE2MCAxOTJTMTguOSAyNDYuMiAzLjUgMzE4LjVjLTIgOS4zIDUuNSAxNy41IDE1IDE3LjVIMzAxLjV6XCJdXG59O1xudmFyIGZhRXRoZXJuZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZXRoZXJuZXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3OTZcIiwgXCJNMCAyMjRWNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMySDk2VjMzNmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2VjQ0OGg2NFYzMzZjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNlY0NDhoNjRWMzM2YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZWNDQ4aDY0VjMzNmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2VjQ0OGg2NGMxNy43IDAgMzItMTQuMyAzMi0zMlYyMjRjMC0xNy43LTE0LjMtMzItMzItMzJINDQ4VjE2MGMwLTE3LjctMTQuMy0zMi0zMi0zMkgzODRWOTZjMC0xNy43LTE0LjMtMzItMzItMzJIMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnYzMkg5NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2MzJIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyelwiXVxufTtcbnZhciBmYUV1cm9TaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2V1cm8tc2lnbicsXG4gIGljb246IFszMjAsIDUxMiwgWzgzNjQsIFwiZXVyXCIsIFwiZXVyb1wiXSwgXCJmMTUzXCIsIFwiTTQ4LjEgMjQwYy0uMSAyLjctLjEgNS4zLS4xIDh2MTZjMCAyLjcgMCA1LjMgLjEgOEgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg2MC4zQzg5LjkgNDE5LjkgMTcwIDQ4MCAyNjQgNDgwaDI0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDI2NGMtNTcuOSAwLTEwOC4yLTMyLjQtMTMzLjktODBIMjU2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDExMi4yYy0uMS0yLjYtLjItNS4zLS4yLThWMjQ4YzAtMi43IC4xLTUuNCAuMi04SDI1NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgxMzAuMWMyNS43LTQ3LjYgNzYtODAgMTMzLjktODBoMjRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMjY0QzE3MCAzMiA4OS45IDkyLjEgNjAuMyAxNzZIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDguMXpcIl1cbn07XG52YXIgZmFFdXIgPSBmYUV1cm9TaWduO1xudmFyIGZhRXVybyA9IGZhRXVyb1NpZ247XG52YXIgZmFDaGFpciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGFpcicsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyOTY4MV0sIFwiZjZjMFwiLCBcIk0yNDggNDhWMjU2aDQ4VjU4LjdjMjMuOSAxMy44IDQwIDM5LjcgNDAgNjkuM1YyNTZoNDhWMTI4QzM4NCA1Ny4zIDMyNi43IDAgMjU2IDBIMTkyQzEyMS4zIDAgNjQgNTcuMyA2NCAxMjhWMjU2aDQ4VjEyOGMwLTI5LjYgMTYuMS01NS41IDQwLTY5LjNWMjU2aDQ4VjQ4aDQ4ek00OCAyODhjLTEyLjEgMC0yMy4yIDYuOC0yOC42IDE3LjdsLTE2IDMyYy01IDkuOS00LjQgMjEuNyAxLjQgMzEuMVMyMC45IDM4NCAzMiAzODRsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjM4NEgzNTJ2OTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzODRjMTEuMSAwIDIxLjQtNS43IDI3LjItMTUuMnM2LjQtMjEuMiAxLjQtMzEuMWwtMTYtMzJDNDIzLjIgMjk0LjggNDEyLjEgMjg4IDQwMCAyODhINDh6XCJdXG59O1xudmFyIGZhQ2lyY2xlQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjE1MzMsIFwiY2hlY2stY2lyY2xlXCJdLCBcImYwNThcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTM2OSAyMDlMMjQxIDMzN2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBsLTY0LTY0Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNDcgNDdMMzM1IDE3NWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjl6XCJdXG59O1xudmFyIGZhQ2hlY2tDaXJjbGUgPSBmYUNpcmNsZUNoZWNrO1xudmFyIGZhQ2lyY2xlU3RvcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtc3RvcCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzYyMDk0LCBcInN0b3AtY2lyY2xlXCJdLCBcImYyOGRcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE5MiAxNjBIMzIwYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjMyMGMwIDE3LjctMTQuMyAzMi0zMiAzMkgxOTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpcIl1cbn07XG52YXIgZmFTdG9wQ2lyY2xlID0gZmFDaXJjbGVTdG9wO1xudmFyIGZhQ29tcGFzc0RyYWZ0aW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvbXBhc3MtZHJhZnRpbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImRyYWZ0aW5nLWNvbXBhc3NcIl0sIFwiZjU2OFwiLCBcIk0zNTIgOTZjMCAxNC4zLTMuMSAyNy45LTguOCA0MC4yTDM5NiAyMjcuNGMtMjMuNyAyNS4zLTU0LjIgNDQuMS04OC41IDUzLjZMMjU2IDE5MmgwIDBsLTY4IDExNy41YzIxLjUgNi44IDQ0LjMgMTAuNSA2OC4xIDEwLjVjNzAuNyAwIDEzMy44LTMyLjcgMTc0LjktODRjMTEuMS0xMy44IDMxLjItMTYgNDUtNXMxNiAzMS4yIDUgNDVDNDI4LjEgMzQxLjggMzQ3IDM4NCAyNTYgMzg0Yy0zNS40IDAtNjkuNC02LjQtMTAwLjctMTguMUw5OC43IDQ2My43Qzk0IDQ3MS44IDg3IDQ3OC40IDc4LjYgNDgyLjZMMjMuMiA1MTAuM2MtNSAyLjUtMTAuOSAyLjItMTUuNi0uN1MwIDUwMS41IDAgNDk2VjQ0MC42YzAtOC40IDIuMi0xNi43IDYuNS0yNC4xbDYwLTEwMy43QzUzLjcgMzAxLjYgNDEuOCAyODkuMyAzMS4yIDI3NmMtMTEuMS0xMy44LTguOC0zMy45IDUtNDVzMzMuOS04LjggNDUgNWM1LjcgNy4xIDExLjggMTMuOCAxOC4yIDIwLjFsNjkuNC0xMTkuOWMtNS42LTEyLjItOC44LTI1LjgtOC44LTQwLjJjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NnptMjEgMjk3LjljMzIuNi0xMi44IDYyLjUtMzAuOCA4OC45LTUyLjlsNDMuNyA3NS41YzQuMiA3LjMgNi41IDE1LjYgNi41IDI0LjFWNDk2YzAgNS41LTIuOSAxMC43LTcuNiAxMy42cy0xMC42IDMuMi0xNS42IC43bC01NS40LTI3LjdjLTguNC00LjItMTUuNC0xMC44LTIwLjEtMTguOUwzNzMgMzkzLjl6TTI1NiAxMjhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbnZhciBmYURyYWZ0aW5nQ29tcGFzcyA9IGZhQ29tcGFzc0RyYWZ0aW5nO1xudmFyIGZhUGxhdGVXaGVhdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwbGF0ZS13aGVhdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTU1YVwiLCBcIk0xNzYgMzJjNDQuMiAwIDgwIDM1LjggODAgODB2MTZjMCA4LjgtNy4yIDE2LTE2IDE2Yy00NC4yIDAtODAtMzUuOC04MC04MFY0OGMwLTguOCA3LjItMTYgMTYtMTZ6TTU2IDY0aDQ4YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDU2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0ek0yNCAxMzZIMTM2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDI0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em04IDk2YzAtMTMuMyAxMC43LTI0IDI0LTI0aDQ4YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDU2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMjcyIDQ4YzAtOC44IDcuMi0xNiAxNi0xNmM0NC4yIDAgODAgMzUuOCA4MCA4MHYxNmMwIDguOC03LjIgMTYtMTYgMTZjLTQ0LjIgMC04MC0zNS44LTgwLTgwVjQ4ek00MDAgMzJjNDQuMiAwIDgwIDM1LjggODAgODB2MTZjMCA4LjgtNy4yIDE2LTE2IDE2Yy00NC4yIDAtODAtMzUuOC04MC04MFY0OGMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2MHYxNmMwIDQ0LjItMzUuOCA4MC04MCA4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjI1NmMwLTQ0LjIgMzUuOC04MCA4MC04MGM4LjggMCAxNiA3LjIgMTYgMTZ6TTM1MiAxNzZjOC44IDAgMTYgNy4yIDE2IDE2djE2YzAgNDQuMi0zNS44IDgwLTgwIDgwYy04LjggMC0xNi03LjItMTYtMTZWMjU2YzAtNDQuMiAzNS44LTgwIDgwLTgwem0tOTYgMTZ2MTZjMCA0NC4yLTM1LjggODAtODAgODBjLTguOCAwLTE2LTcuMi0xNi0xNlYyNTZjMC00NC4yIDM1LjgtODAgODAtODBjOC44IDAgMTYgNy4yIDE2IDE2ek0zLjUgMzQ3LjZDMS42IDMzMi45IDEzIDMyMCAyNy44IDMyMEg0ODQuMmMxNC44IDAgMjYuMiAxMi45IDI0LjQgMjcuNkM1MDIuMyAzOTcuOCA0NjQuMiA0MzcgNDE2IDQ0NnYyYzAgMTcuNy0xNC4zIDMyLTMyIDMySDEyOGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ2LTJjLTQ4LjItOS04Ni4zLTQ4LjItOTIuNS05OC40elwiXVxufTtcbnZhciBmYUljaWNsZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaWNpY2xlcycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjdhZFwiLCBcIk03NS44IDMwNC44TDEgMzUuN2MtLjctMi41LTEtNS0xLTcuNUMwIDEyLjYgMTIuNiAwIDI4LjIgMEg0ODIuNEM0OTguOCAwIDUxMiAxMy4yIDUxMiAyOS42YzAgMS42LS4xIDMuMy0uNCA0LjlMNDM0LjYgNDk2LjFjLTEuNSA5LjItOS41IDE1LjktMTguOCAxNS45Yy05LjIgMC0xNy4xLTYuNi0xOC43LTE1LjZMMzM2IDE2MCAzMDcuMiAzMDMuOWMtMS45IDkuMy0xMC4xIDE2LjEtMTkuNiAxNi4xYy05LjIgMC0xNy4yLTYuMi0xOS40LTE1LjFMMjQwIDE5MiAyMTAuNiAzNjguMmMtMS41IDkuMS05LjQgMTUuOC0xOC42IDE1LjhzLTE3LjEtNi43LTE4LjYtMTUuOEwxNDQgMTkyIDExNS45IDMwNC4zYy0yLjMgOS4yLTEwLjYgMTUuNy0yMC4xIDE1LjdjLTkuMyAwLTE3LjUtNi4yLTIwLTE1LjJ6XCJdXG59O1xudmFyIGZhUGVyc29uU2hlbHRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tc2hlbHRlcicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTU0ZlwiLCBcIk0yNzEuOSA0LjJjLTkuOC01LjYtMjEuOS01LjYtMzEuOCAwbC0yMjQgMTI4QzYuMiAxMzcuOSAwIDE0OC41IDAgMTYwVjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjE3OC42TDI1NiA2OC45IDQ0OCAxNzguNlY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYxNjBjMC0xMS41LTYuMi0yMi4xLTE2LjEtMjcuOGwtMjI0LTEyOHpNMjU2IDIwOGE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6bS04IDI4MFY0MDBoMTZ2ODhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFYzMTMuNWwyNi45IDQ5LjljNi4zIDExLjcgMjAuOCAxNiAzMi41IDkuOHMxNi0yMC44IDkuOC0zMi41bC0zNy45LTcwLjNjLTE1LjMtMjguNS00NS4xLTQ2LjMtNzcuNS00Ni4zSDI0Ni4yYy0zMi40IDAtNjIuMSAxNy44LTc3LjUgNDYuM2wtMzcuOSA3MC4zYy02LjMgMTEuNy0xLjkgMjYuMiA5LjggMzIuNXMyNi4yIDEuOSAzMi41LTkuOEwyMDAgMzEzLjVWNDg4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjR6XCJdXG59O1xudmFyIGZhTmV1dGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ25ldXRlcicsXG4gIGljb246IFszODQsIDUxMiwgWzk5MDZdLCBcImYyMmNcIiwgXCJNODAgMTc2YTExMiAxMTIgMCAxIDEgMjI0IDBBMTEyIDExMiAwIDEgMSA4MCAxNzZ6TTIyNCAzNDkuMWM4MS45LTE1IDE0NC04Ni44IDE0NC0xNzMuMUMzNjggNzguOCAyODkuMiAwIDE5MiAwUzE2IDc4LjggMTYgMTc2YzAgODYuMyA2Mi4xIDE1OC4xIDE0NCAxNzMuMVY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzNDkuMXpcIl1cbn07XG52YXIgZmFJZEJhZGdlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2lkLWJhZGdlJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmMmMxXCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzMjBjMzUuMyAwIDY0LTI4LjcgNjQtNjRWNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6bTk2IDMyMGg2NGM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDguOC03LjIgMTYtMTYgMTZIOTZjLTguOCAwLTE2LTcuMi0xNi0xNmMwLTQ0LjIgMzUuOC04MCA4MC04MHptLTMyLTk2YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNMTQ0IDY0aDk2YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDE0NGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFNYXJrZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFya2VyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNWExXCIsIFwiTTQ4MSAzMUM0NDUuMS00LjggMzg2LjktNC44IDM1MSAzMWwtMTUgMTVMMzIyLjkgMzNDMjk0LjggNC45IDI0OS4yIDQuOSAyMjEuMSAzM0wxMzUgMTE5Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBMMjU1IDY2LjljOS40LTkuNCAyNC42LTkuNCAzMy45IDBMMzAyLjEgODAgMTg2LjMgMTk1LjcgMzE2LjMgMzI1LjcgNDgxIDE2MWMzNS45LTM1LjkgMzUuOS05NC4xIDAtMTI5Ljl6TTI5My43IDM0OC4zTDE2My43IDIxOC4zIDk5LjUgMjgyLjVjLTQ4IDQ4LTgwLjggMTA5LjItOTQuMSAxNzUuOGwtNSAyNWMtMS42IDcuOSAuOSAxNiA2LjYgMjEuN3MxMy44IDguMSAyMS43IDYuNmwyNS01YzY2LjYtMTMuMyAxMjcuOC00Ni4xIDE3NS44LTk0LjFsNjQuMi02NC4yelwiXVxufTtcbnZhciBmYUZhY2VMYXVnaEJlYW0gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1sYXVnaC1iZWFtJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTEzLCBcImxhdWdoLWJlYW1cIl0sIFwiZjU5YVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNOTYuOCAzMTQuMWMtMy44LTEzLjcgNy40LTI2LjEgMjEuNi0yNi4xSDM5My42YzE0LjIgMCAyNS41IDEyLjQgMjEuNiAyNi4xQzM5Ni4yIDM4MiAzMzIuMSA0MzIgMjU2IDQzMnMtMTQwLjItNTAtMTU5LjItMTE3Ljl6TTIxNy42IDIxMi44bDAgMCAwIDAtLjItLjJjLS4yLS4yLS40LS41LS43LS45Yy0uNi0uOC0xLjYtMi0yLjgtMy40Yy0yLjUtMi44LTYtNi42LTEwLjItMTAuM2MtOC44LTcuOC0xOC44LTE0LTI3LjctMTRzLTE4LjkgNi4yLTI3LjcgMTRjLTQuMiAzLjctNy43IDcuNS0xMC4yIDEwLjNjLTEuMiAxLjQtMi4yIDIuNi0yLjggMy40Yy0uMyAuNC0uNiAuNy0uNyAuOWwtLjIgLjIgMCAwIDAgMCAwIDBjLTIuMSAyLjgtNS43IDMuOS04LjkgMi44cy01LjUtNC4xLTUuNS03LjZjMC0xNy45IDYuNy0zNS42IDE2LjYtNDguOGM5LjgtMTMgMjMuOS0yMy4yIDM5LjQtMjMuMnMyOS42IDEwLjIgMzkuNCAyMy4yYzkuOSAxMy4yIDE2LjYgMzAuOSAxNi42IDQ4LjhjMCAzLjQtMi4yIDYuNS01LjUgNy42cy02LjkgMC04LjktMi44bDAgMCAwIDB6bTE2MCAwbDAgMC0uMi0uMmMtLjItLjItLjQtLjUtLjctLjljLS42LS44LTEuNi0yLTIuOC0zLjRjLTIuNS0yLjgtNi02LjYtMTAuMi0xMC4zYy04LjgtNy44LTE4LjgtMTQtMjcuNy0xNHMtMTguOSA2LjItMjcuNyAxNGMtNC4yIDMuNy03LjcgNy41LTEwLjIgMTAuM2MtMS4yIDEuNC0yLjIgMi42LTIuOCAzLjRjLS4zIC40LS42IC43LS43IC45bC0uMiAuMiAwIDAgMCAwIDAgMGMtMi4xIDIuOC01LjcgMy45LTguOSAyLjhzLTUuNS00LjEtNS41LTcuNmMwLTE3LjkgNi43LTM1LjYgMTYuNi00OC44YzkuOC0xMyAyMy45LTIzLjIgMzkuNC0yMy4yczI5LjYgMTAuMiAzOS40IDIzLjJjOS45IDEzLjIgMTYuNiAzMC45IDE2LjYgNDguOGMwIDMuNC0yLjIgNi41LTUuNSA3LjZzLTYuOSAwLTguOS0yLjhsMCAwIDAgMCAwIDB6XCJdXG59O1xudmFyIGZhTGF1Z2hCZWFtID0gZmFGYWNlTGF1Z2hCZWFtO1xudmFyIGZhSGVsaWNvcHRlclN5bWJvbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWxpY29wdGVyLXN5bWJvbCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTUwMlwiLCBcIk00NDUuMyAyMjRINTEwQzQ5NS42IDEwOC4yIDQwMy44IDE2LjQgMjg4IDJWNjYuN0MzNjguNCA4MC4xIDQzMS45IDE0My42IDQ0NS4zIDIyNHpNNTEwIDI4OEg0NDUuM0M0MzEuOSAzNjguNCAzNjguNCA0MzEuOSAyODggNDQ1LjRWNTEwYzExNS44LTE0LjQgMjA3LjYtMTA2LjIgMjIyLTIyMnpNMiAyODhDMTYuNCA0MDMuOCAxMDguMiA0OTUuNiAyMjQgNTEwVjQ0NS40QzE0My42IDQzMS45IDgwLjEgMzY4LjQgNjYuNyAyODhIMnptMC02NEg2Ni43QzgwLjEgMTQzLjYgMTQzLjYgODAuMSAyMjQgNjYuN1YyQzEwOC4yIDE2LjQgMTYuNCAxMDguMiAyIDIyNHptMjA2LTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjM1MmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjI4OGg5NnY2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjE2MGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnY2NEgyMDhWMTYwelwiXVxufTtcbnZhciBmYVVuaXZlcnNhbEFjY2VzcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1bml2ZXJzYWwtYWNjZXNzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMjlhXCIsIFwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnptMTYxLjUtODYuMWMtMTIuMi01LjItMjYuMyAuNC0zMS41IDEyLjZzLjQgMjYuMyAxMi42IDMxLjVsMTEuOSA1LjFjMTcuMyA3LjQgMzUuMiAxMi45IDUzLjYgMTYuM3Y1MC4xYzAgNC4zLS43IDguNi0yLjEgMTIuNmwtMjguNyA4Ni4xYy00LjIgMTIuNiAyLjYgMjYuMiAxNS4yIDMwLjRzMjYuMi0yLjYgMzAuNC0xNS4ybDI0LjQtNzMuMmMxLjMtMy44IDQuOC02LjQgOC44LTYuNHM3LjYgMi42IDguOCA2LjRsMjQuNCA3My4yYzQuMiAxMi42IDE3LjggMTkuNCAzMC40IDE1LjJzMTkuNC0xNy44IDE1LjItMzAuNGwtMjguNy04Ni4xYy0xLjQtNC4xLTIuMS04LjMtMi4xLTEyLjZWMjM1LjVjMTguNC0zLjUgMzYuMy04LjkgNTMuNi0xNi4zbDExLjktNS4xYzEyLjItNS4yIDE3LjgtMTkuMyAxMi42LTMxLjVzLTE5LjMtMTcuOC0zMS41LTEyLjZMMzM4LjcgMTc1Yy0yNi4xIDExLjItNTQuMiAxNy04Mi43IDE3cy01Ni41LTUuOC04Mi43LTE3bC0xMS45LTUuMXpNMjU2IDE2MGE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6XCJdXG59O1xudmFyIGZhQ2lyY2xlQ2hldnJvblVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1jaGV2cm9uLXVwJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJjaGV2cm9uLWNpcmNsZS11cFwiXSwgXCJmMTM5XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0zNzcgMjcxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTg3LTg3LTg3IDg3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45TDIzOSAxNjdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBMMzc3IDI3MXpcIl1cbn07XG52YXIgZmFDaGV2cm9uQ2lyY2xlVXAgPSBmYUNpcmNsZUNoZXZyb25VcDtcbnZhciBmYUxhcmlTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xhcmktc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTFjOFwiLCBcIk0xNDQgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJWOTYuN2M1LjMtLjQgMTAuNi0uNyAxNi0uN3MxMC43IC4yIDE2IC43VjY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ2NDkuNGM1NC45IDI1LjIgOTUuOCA3NS41IDEwOC4yIDEzNi4yYzMuNSAxNy4zLTcuNyAzNC4yLTI1IDM3LjdzLTM0LjItNy43LTM3LjctMjVjLTYuMS0yOS45LTIyLjUtNTUuOS00NS40LTc0LjNWMjU2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjE2MWMtNS4yLS43LTEwLjYtMS0xNi0xcy0xMC44IC4zLTE2IDF2OTVjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMTg4LjFDODIuNyAyMTEuNSA2NCAyNDcuNiA2NCAyODhjMCA3MC43IDU3LjMgMTI4IDEyOCAxMjhIMzUyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDE5MiAzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkg0OC45QzE4LjUgMzgyIDAgMzM3LjIgMCAyODhjMC03Ny41IDQ1LjktMTQ0LjMgMTEyLTE3NC42VjY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyelwiXVxufTtcbnZhciBmYVZvbGNhbm8gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndm9sY2FubycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzc1NV0sIFwiZjc3MFwiLCBcIk0xNjAgMTQ0Yy0zNS4zIDAtNjQtMjguNy02NC02NHMyOC43LTY0IDY0LTY0YzE1LjcgMCAzMCA1LjYgNDEuMiAxNUMyMTIuNCAxMi40IDIzMi43IDAgMjU2IDBzNDMuNiAxMi40IDU0LjggMzFDMzIyIDIxLjYgMzM2LjMgMTYgMzUyIDE2YzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0Yy0xNC43IDAtMjguMy01LTM5LjEtMTMuM2wtMzIgNDhDMjc1LjMgMTg3IDI2NiAxOTIgMjU2IDE5MnMtMTkuMy01LTI0LjktMTMuM2wtMzItNDhDMTg4LjMgMTM5IDE3NC43IDE0NCAxNjAgMTQ0ek0xNDQgMzUybDQ4LjQtMjQuMmMxMC4yLTUuMSAyMS42LTcuOCAzMy03LjhjMTkuNiAwIDM4LjQgNy44IDUyLjIgMjEuNmwzMi41IDMyLjVjNi4zIDYuMyAxNC45IDkuOSAyMy44IDkuOWMxMS4zIDAgMjEuOC01LjYgMjgtMTVsOS43LTE0LjYtNTguOS02Ni4zYy05LjEtMTAuMi0yMi4yLTE2LjEtMzUuOS0xNi4xSDIzNS4xYy0xMy43IDAtMjYuOCA1LjktMzUuOSAxNi4xbC01OS45IDY3LjRMMTQ0IDM1MnptMTkuNC05NS44YzE4LjItMjAuNSA0NC4zLTMyLjIgNzEuOC0zMi4yaDQxLjhjMjcuNCAwIDUzLjUgMTEuNyA3MS44IDMyLjJsMTUwLjIgMTY5YzguNSA5LjUgMTMuMiAyMS45IDEzLjIgMzQuN2MwIDI4LjgtMjMuNCA1Mi4yLTUyLjIgNTIuMkg1Mi4yQzIzLjQgNTEyIDAgNDg4LjYgMCA0NTkuOGMwLTEyLjggNC43LTI1LjEgMTMuMi0zNC43bDE1MC4yLTE2OXpcIl1cbn07XG52YXIgZmFQZXJzb25XYWxraW5nRGFzaGVkTGluZUFycm93UmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLXdhbGtpbmctZGFzaGVkLWxpbmUtYXJyb3ctcmlnaHQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NTNcIiwgXCJNMjA4IDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNMTIzLjcgMjAwLjVjMS0uNCAxLjktLjggMi45LTEuMmwtMTYuOSA2My41Yy01LjYgMjEuMS0uMSA0My42IDE0LjcgNTkuN2w3MC43IDc3LjEgMjIgODguMWM0LjMgMTcuMSAyMS43IDI3LjYgMzguOCAyMy4zczI3LjYtMjEuNyAyMy4zLTM4LjhsLTIzLTkyLjFjLTEuOS03LjgtNS44LTE0LjktMTEuMi0yMC44bC00OS41LTU0IDE5LjMtNjUuNSA5LjYgMjNjNC40IDEwLjYgMTIuNSAxOS4zIDIyLjggMjQuNWwyNi43IDEzLjNjMTUuOCA3LjkgMzUgMS41IDQyLjktMTQuM3MxLjUtMzUtMTQuMy00Mi45TDI4MSAyMzIuN2wtMTUuMy0zNi44QzI0OC41IDE1NC44IDIwOC4zIDEyOCAxNjMuNyAxMjhjLTIyLjggMC00NS4zIDQuOC02Ni4xIDE0bC04IDMuNWMtMzIuOSAxNC42LTU4LjEgNDIuNC02OS40IDc2LjVsLTIuNiA3LjhjLTUuNiAxNi44IDMuNSAzNC45IDIwLjIgNDAuNXMzNC45LTMuNSA0MC41LTIwLjJsMi42LTcuOGM1LjctMTcuMSAxOC4zLTMwLjkgMzQuNy0zOC4ybDgtMy41em0tMzAgMTM1LjFMNjguNyAzOTggOS40IDQ1Ny40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDExNi4zIDQ0MWM0LjYtNC42IDguMi0xMC4xIDEwLjYtMTYuMWwxNC41LTM2LjItNDAuNy00NC40Yy0yLjUtMi43LTQuOC01LjYtNy04LjZ6TTU1MC42IDE1My40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0w1MzAuNyAyMjRIMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDUzMC43bC0yNS40IDI1LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsODAtODBjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTgwLTgwek0zOTIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRWNzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFYyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHptMjQgMTUyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0djE2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWMTUyek0zOTIgMzIwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHYxNmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjM0NGMwLTEzLjMtMTAuNy0yNC0yNC0yNHptMjQgMTIwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0djQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWNDQwelwiXVxufTtcbnZhciBmYVN0ZXJsaW5nU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdGVybGluZy1zaWduJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTYzLCBcImdicFwiLCBcInBvdW5kLXNpZ25cIl0sIFwiZjE1NFwiLCBcIk0xMTIgMTYwLjRjMC0zNS41IDI4LjgtNjQuNCA2NC40LTY0LjRjNi45IDAgMTMuOCAxLjEgMjAuNCAzLjNsODEuMiAyNy4xYzE2LjggNS42IDM0LjktMy41IDQwLjUtMjAuMnMtMy41LTM0LjktMjAuMi00MC41TDIxNyAzOC42Yy0xMy4xLTQuNC0yNi44LTYuNi00MC42LTYuNkMxMDUuNSAzMiA0OCA4OS41IDQ4IDE2MC40VjIyNEgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg0OHY0NC41YzAgMTcuNC00LjcgMzQuNS0xMy43IDQ5LjRMNC42IDQzMS41Yy01LjkgOS45LTYuMSAyMi4yLS40IDMyLjJTMjAuNSA0ODAgMzIgNDgwSDI4OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg4OC41bC43LTEuMUMxMDQuMSAzOTAgMTEyIDM2MS41IDExMiAzMzIuNVYyODhIMjI0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDExMlYxNjAuNHpcIl1cbn07XG52YXIgZmFHYnAgPSBmYVN0ZXJsaW5nU2lnbjtcbnZhciBmYVBvdW5kU2lnbiA9IGZhU3RlcmxpbmdTaWduO1xudmFyIGZhVmlydXNlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2aXJ1c2VzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlMDc2XCIsIFwiTTE5MiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0VjM3LjVjMCAzNS42IDQzLjEgNTMuNSA2OC4zIDI4LjNsOS41LTkuNWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTkuNSA5LjVDMjkzIDEyNC45IDMxMC45IDE2OCAzNDYuNSAxNjhIMzYwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDM0Ni41Yy0zNS42IDAtNTMuNSA0My4xLTI4LjMgNjguM2w5LjUgOS41YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTkuNS05LjVDMjU5LjEgMjkzIDIxNiAzMTAuOSAyMTYgMzQ2LjVWMzYwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0VjM0Ni41YzAtMzUuNi00My4xLTUzLjUtNjguMy0yOC4zbC05LjUgOS41Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDkuNS05LjVDOTEgMjU5LjEgNzMuMSAyMTYgMzcuNSAyMTZIMjRjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRIMzcuNWMzNS42IDAgNTMuNS00My4xIDI4LjMtNjguM2wtOS41LTkuNWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDkuNSA5LjVDMTI0LjkgOTEgMTY4IDczLjEgMTY4IDM3LjVWMjRjMC0xMy4zIDEwLjctMjQgMjQtMjR6bTQ4IDIyNGExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6bS00OC02NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0zMjAgODBjMCAzMyAzOS45IDQ5LjUgNjMuMiAyNi4yYzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNkM1NzQuNSAzMTIuMSA1OTEgMzUyIDYyNCAzNTJjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZjLTMzIDAtNDkuNSAzOS45LTI2LjIgNjMuMmM2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwQzU1MS45IDQ0Ni41IDUxMiA0NjMgNTEyIDQ5NmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmMwLTMzLTM5LjktNDkuNS02My4yLTI2LjJjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZDNDE3LjUgNDIzLjkgNDAxIDM4NCAzNjggMzg0Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2YzMzIDAgNDkuNS0zOS45IDI2LjItNjMuMmMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwQzQ0MC4xIDI4OS41IDQ4MCAyNzMgNDgwIDI0MGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2em0wIDExMmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwelwiXVxufTtcbnZhciBmYVNxdWFyZVBlcnNvbkNvbmZpbmVkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1wZXJzb24tY29uZmluZWQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImU1NzdcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzg0YzM1LjMgMCA2NC0yOC43IDY0LTY0Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0em05NiAxMTJhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptODAgMTA0YzAtMzAuOSAyNS4xLTU2IDU2LTU2czU2IDI1LjEgNTYgNTZWMzUwLjFjMCAzNi40LTI5LjUgNjUuOS02NS45IDY1LjljLTE3LjUgMC0zNC4zLTYuOS00Ni42LTE5LjNMMTg0LjggMzQybC0yOC4xIDU2LjNjLTcuOSAxNS44LTI3LjEgMjIuMi00Mi45IDE0LjNzLTIyLjItMjcuMS0xNC4zLTQyLjlsNDgtOTZjNC42LTkuMiAxMy4zLTE1LjYgMjMuNS0xNy4zczIwLjUgMS43IDI3LjggOUwyNDAgMzA2LjdWMjQ4elwiXVxufTtcbnZhciBmYVVzZXJUaWUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci10aWUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImY1MDhcIiwgXCJNOTYgMTI4YTEyOCAxMjggMCAxIDAgMjU2IDBBMTI4IDEyOCAwIDEgMCA5NiAxMjh6bTk0LjUgMjAwLjJsMTguNiAzMUwxNzUuOCA0ODMuMWwtMzYtMTQ2LjljLTItOC4xLTkuOC0xMy40LTE3LjktMTEuM0M1MS45IDM0Mi40IDAgNDA1LjggMCA0ODEuM2MwIDE3IDEzLjggMzAuNyAzMC43IDMwLjdIMTYyLjVjMCAwIDAgMCAuMSAwSDE2OCAyODBoNS41YzAgMCAwIDAgLjEgMEg0MTcuM2MxNyAwIDMwLjctMTMuOCAzMC43LTMwLjdjMC03NS41LTUxLjktMTM4LjktMTIxLjktMTU2LjRjLTguMS0yLTE1LjkgMy4zLTE3LjkgMTEuM2wtMzYgMTQ2LjlMMjM4LjkgMzU5LjJsMTguNi0zMWM2LjQtMTAuNy0xLjMtMjQuMi0xMy43LTI0LjJIMjI0IDIwNC4zYy0xMi40IDAtMjAuMSAxMy42LTEzLjcgMjQuMnpcIl1cbn07XG52YXIgZmFBcnJvd0Rvd25Mb25nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LWRvd24tbG9uZycsXG4gIGljb246IFszODQsIDUxMiwgW1wibG9uZy1hcnJvdy1kb3duXCJdLCBcImYxNzVcIiwgXCJNMTY5LjQgNTAyLjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTI4LTEyOGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwyMjQgNDAyLjcgMjI0IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMzcwLjdMODYuNiAzMjkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTI4IDEyOHpcIl1cbn07XG52YXIgZmFMb25nQXJyb3dEb3duID0gZmFBcnJvd0Rvd25Mb25nO1xudmFyIGZhVGVudEFycm93RG93blRvTGluZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW50LWFycm93LWRvd24tdG8tbGluZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU3ZVwiLCBcIk0yNDEuOCAxMTEuOWM4LjkgOS45IDguMSAyNS0xLjggMzMuOWwtODAgNzJjLTkuMSA4LjItMjMgOC4yLTMyLjEgMGwtODAtNzJjLTkuOS04LjktMTAuNy0yNC0xLjgtMzMuOXMyNC0xMC43IDMzLjktMS44bDM5LjkgMzZMMTIwIDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxMjIuMSAzOS45LTM2YzkuOS04LjkgMjUtOC4xIDMzLjkgMS44em0xMjIuOCAyMi42YzExLjUtOC43IDI3LjMtOC43IDM4LjggMGwxNjggMTI4YzYuNiA1IDExIDEyLjUgMTIuMyAyMC43bDI0IDE2MCAuNyA0LjdjMTcuNSAuMiAzMS42IDE0LjQgMzEuNiAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkgxNTkuNmwuNy00LjcgMjQtMTYwYzEuMi04LjIgNS42LTE1LjcgMTIuMy0yMC43bDE2OC0xMjh6TTM4NCA0NDhoODBMNDAyLjcgMzI1LjVjLTEuNy0zLjQtNS4xLTUuNS04LjgtNS41Yy01LjUgMC05LjkgNC40LTkuOSA5LjlWNDQ4elwiXVxufTtcbnZhciBmYUNlcnRpZmljYXRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NlcnRpZmljYXRlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMGEzXCIsIFwiTTIxMSA3LjNDMjA1IDEgMTk2LTEuNCAxODcuNiAuOHMtMTQuOSA4LjktMTcuMSAxNy4zTDE1NC43IDgwLjZsLTYyLTE3LjVjLTguNC0yLjQtMTcuNCAwLTIzLjUgNi4xcy04LjUgMTUuMS02LjEgMjMuNWwxNy41IDYyTDE4LjEgMTcwLjZjLTguNCAyLjEtMTUgOC43LTE3LjMgMTcuMVMxIDIwNSA3LjMgMjExbDQ2LjIgNDVMNy4zIDMwMUMxIDMwNy0xLjQgMzE2IC44IDMyNC40czguOSAxNC45IDE3LjMgMTcuMWw2Mi41IDE1LjgtMTcuNSA2MmMtMi40IDguNCAwIDE3LjQgNi4xIDIzLjVzMTUuMSA4LjUgMjMuNSA2LjFsNjItMTcuNSAxNS44IDYyLjVjMi4xIDguNCA4LjcgMTUgMTcuMSAxNy4zczE3LjMtLjIgMjMuNC02LjRsNDUtNDYuMiA0NSA0Ni4yYzYuMSA2LjIgMTUgOC43IDIzLjQgNi40czE0LjktOC45IDE3LjEtMTcuM2wxNS44LTYyLjUgNjIgMTcuNWM4LjQgMi40IDE3LjQgMCAyMy41LTYuMXM4LjUtMTUuMSA2LjEtMjMuNWwtMTcuNS02MiA2Mi41LTE1LjhjOC40LTIuMSAxNS04LjcgMTcuMy0xNy4xcy0uMi0xNy40LTYuNC0yMy40bC00Ni4yLTQ1IDQ2LjItNDVjNi4yLTYuMSA4LjctMTUgNi40LTIzLjRzLTguOS0xNC45LTE3LjMtMTcuMWwtNjIuNS0xNS44IDE3LjUtNjJjMi40LTguNCAwLTE3LjQtNi4xLTIzLjVzLTE1LjEtOC41LTIzLjUtNi4xbC02MiAxNy41TDM0MS40IDE4LjFjLTIuMS04LjQtOC43LTE1LTE3LjEtMTcuM1MzMDcgMSAzMDEgNy4zTDI1NiA1My41IDIxMSA3LjN6XCJdXG59O1xudmFyIGZhUmVwbHlBbGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmVwbHktYWxsJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJtYWlsLXJlcGx5LWFsbFwiXSwgXCJmMTIyXCIsIFwiTTIwOS40IDM5LjVjLTkuMS05LjYtMjQuMy0xMC0zMy45LS45TDMzLjggMTczLjJjLTE5LjkgMTguOS0xOS45IDUwLjcgMCA2OS42TDE3NS41IDM3Ny40YzkuNiA5LjEgMjQuOCA4LjcgMzMuOS0uOXM4LjctMjQuOC0uOS0zMy45TDY2LjggMjA4IDIwOC41IDczLjRjOS42LTkuMSAxMC0yNC4zIC45LTMzLjl6TTM1MiA2NGMwLTEyLjYtNy40LTI0LjEtMTktMjkuMnMtMjUtMy0zNC40IDUuNGwtMTYwIDE0NGMtNi43IDYuMS0xMC42IDE0LjctMTAuNiAyMy44czMuOSAxNy43IDEwLjYgMjMuOGwxNjAgMTQ0YzkuNCA4LjUgMjIuOSAxMC42IDM0LjQgNS40czE5LTE2LjYgMTktMjkuMlYyODhoMzJjNTMgMCA5NiA0MyA5NiA5NmMwIDMwLjQtMTIuOCA0Ny45LTIyLjIgNTYuN2MtNS41IDUuMS05LjggMTItOS44IDE5LjVjMCAxMC45IDguOCAxOS43IDE5LjcgMTkuN2MyLjggMCA1LjYtLjYgOC4xLTEuOUM0OTQuNSA0NjcuOSA1NzYgNDE3LjMgNTc2IDMwNGMwLTk3LjItNzguOC0xNzYtMTc2LTE3NkgzNTJWNjR6XCJdXG59O1xudmFyIGZhTWFpbFJlcGx5QWxsID0gZmFSZXBseUFsbDtcbnZhciBmYVN1aXRjYXNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N1aXRjYXNlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5NTIzXSwgXCJmMGYyXCIsIFwiTTE3NiA1NlY5NkgzMzZWNTZjMC00LjQtMy42LTgtOC04SDE4NGMtNC40IDAtOCAzLjYtOCA4ek0xMjggOTZWNTZjMC0zMC45IDI1LjEtNTYgNTYtNTZIMzI4YzMwLjkgMCA1NiAyNS4xIDU2IDU2Vjk2djMyVjQ4MEgxMjhWMTI4IDk2ek02NCA5Nkg5NlY0ODBINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjE2MGMwLTM1LjMgMjguNy02NCA2NC02NHpNNDQ4IDQ4MEg0MTZWOTZoMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRWNDE2YzAgMzUuMy0yOC43IDY0LTY0IDY0elwiXVxufTtcbnZhciBmYVBlcnNvblNrYXRpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLXNrYXRpbmcnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcInNrYXRpbmdcIl0sIFwiZjdjNVwiLCBcIk0zNTIgNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNMTI4IDEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMkgzMTkuNGM0My42IDAgNjQuNiA1My40IDMyLjggODMuMWwtNzQuNCA2OS40IDYwLjIgNjAuMmM5IDkgMTQuMSAyMS4yIDE0LjEgMzMuOVY0MTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzQ5LjNsLTc3LjktNzcuOGMtMjYuNi0yNi42LTI0LjYtNzAuMyA0LjMtOTQuNGwyMC40LTE3SDE2MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTgxLjQgMzUzLjRsODYuOS04Ni45YzQuNiAxMCAxMSAxOS4zIDE5LjMgMjcuNWwyMS44IDIxLjgtODIuNyA4Mi43Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM3ptMzIyLjUgOTUuMWM4LjYgMi4xIDEzLjggMTAuOCAxMS42IDE5LjRsLS40IDEuN2MtNi4yIDI0LjktMjguNiA0Mi40LTU0LjMgNDIuNEgyNzJjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZoODguOGMxMSAwIDIwLjYtNy41IDIzLjMtMTguMmwuNC0xLjdjMi4xLTguNiAxMC44LTEzLjggMTkuNC0xMS42ek0xMzUuMiA0NzguM2wtNi4yIDMuMWMtMjEuNiAxMC44LTQ3LjYgNi42LTY0LjYtMTAuNUw0LjcgNDExLjNjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGw1OS42IDU5LjZjNy4zIDcuMyAxOC41IDkuMSAyNy43IDQuNWw2LjItMy4xYzcuOS00IDE3LjUtLjcgMjEuNSA3LjJzLjcgMTcuNS03LjIgMjEuNXpcIl1cbn07XG52YXIgZmFTa2F0aW5nID0gZmFQZXJzb25Ta2F0aW5nO1xudmFyIGZhRmlsdGVyQ2lyY2xlRG9sbGFyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbHRlci1jaXJjbGUtZG9sbGFyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJmdW5uZWwtZG9sbGFyXCJdLCBcImY2NjJcIiwgXCJNMy45IDIyLjlDMTAuNSA4LjkgMjQuNSAwIDQwIDBINDcyYzE1LjUgMCAyOS41IDguOSAzNi4xIDIyLjlzNC42IDMwLjUtNS4yIDQyLjVMMzk2LjQgMTk1LjZDMzE2LjIgMjEyLjEgMjU2IDI4MyAyNTYgMzY4YzAgMjcuNCA2LjMgNTMuNCAxNy41IDc2LjVjLTEuNi0uOC0zLjItMS44LTQuNy0yLjlsLTY0LTQ4Yy04LjEtNi0xMi44LTE1LjUtMTIuOC0yNS42VjI4OC45TDkgNjUuM0MtLjcgNTMuNC0yLjggMzYuOCAzLjkgMjIuOXpNMjg4IDM2OGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0xMjAuOC0zMi42Yy42LS45IDEuOC0yLjEgNC4yLTMuNGM1LjEtMi43IDEyLjUtNC4xIDE4LjctNGM4LjIgLjEgMTcuMSAxLjggMjYuNCA0LjFjOC42IDIuMSAxNy4zLTMuMSAxOS40LTExLjdzLTMuMS0xNy4zLTExLjctMTkuNGMtNS42LTEuNC0xMS42LTIuNy0xNy45LTMuN1YyODhjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZ2OS41Yy02LjEgMS4yLTEyLjMgMy4yLTE4IDYuM2MtMTEuOCA2LjMtMjMgMTguNC0yMS44IDM3LjJjMSAxNiAxMS43IDI1LjMgMjEuNiAzMC43YzguOCA0LjcgMTkuNyA3LjggMjguNiAxMC4zbDEuOCAuNWMxMC4zIDIuOSAxNy45IDUuMiAyMy4yIDguM2M0LjUgMi43IDQuNyA0LjIgNC43IDUuNmMuMSAyLjQtLjUgMy43LTEgNC41Yy0uNiAxLTEuOCAyLjItNCAzLjNjLTQuNyAyLjUtMTEuOCAzLjgtMTguNSAzLjZjLTkuNS0uMy0xOC41LTMuMS0yOS45LTYuOGMtMS45LS42LTMuOC0xLjItNS44LTEuOGMtOC40LTIuNi0xNy40IDIuMS0yMCAxMC41czIuMSAxNy40IDEwLjUgMjBjMS42IC41IDMuMyAxIDUgMS42bDAgMCAwIDBjNyAyLjMgMTUuMSA0LjggMjMuNyA2LjZ2MTEuNGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjQzOC43YzYuMi0xLjEgMTIuNS0zLjEgMTguMy02LjJjMTIuMS02LjUgMjIuMy0xOC43IDIxLjctMzYuOWMtLjUtMTYuMi0xMC4zLTI2LjMtMjAuNS0zMi4zYy05LjQtNS42LTIxLjItOC45LTMwLjUtMTEuNWwtLjIgMGMtMTAuNC0yLjktMTguMy01LjItMjMuOS04LjJjLTQuOC0yLjYtNC44LTQtNC44LTQuNWwwLS4xYy0uMS0xLjkgLjMtMi45IC44LTMuNnpcIl1cbn07XG52YXIgZmFGdW5uZWxEb2xsYXIgPSBmYUZpbHRlckNpcmNsZURvbGxhcjtcbnZhciBmYUNhbWVyYVJldHJvID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhbWVyYS1yZXRybycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODI0N10sIFwiZjA4M1wiLCBcIk0yMjAuNiAxMjEuMkwyNzEuMSA5NiA0NDggOTZ2OTZIMzMzLjJjLTIxLjktMTUuMS00OC41LTI0LTc3LjItMjRzLTU1LjIgOC45LTc3LjIgMjRINjRWMTI4SDE5MmM5LjkgMCAxOS43LTIuMyAyOC42LTYuOHpNMCAxMjhWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NFY5NmMwLTM1LjMtMjguNy02NC02NC02NEgyNzEuMWMtOS45IDAtMTkuNyAyLjMtMjguNiA2LjhMMTkyIDY0SDE2MFY0OGMwLTguOC03LjItMTYtMTYtMTZIODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDE2QzI4LjcgNjQgMCA5Mi43IDAgMTI4ek0xNjggMzA0YTg4IDg4IDAgMSAxIDE3NiAwIDg4IDg4IDAgMSAxIC0xNzYgMHpcIl1cbn07XG52YXIgZmFDaXJjbGVBcnJvd0Rvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLWFycm93LWRvd24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImFycm93LWNpcmNsZS1kb3duXCJdLCBcImYwYWJcIiwgXCJNMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwek0xMjcgMjgxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNzEgNzFMMjMyIDEzNmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTgyLjEgNzEtNzFjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45TDI3MyAzOTNjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwTDEyNyAyODF6XCJdXG59O1xudmFyIGZhQXJyb3dDaXJjbGVEb3duID0gZmFDaXJjbGVBcnJvd0Rvd247XG52YXIgZmFGaWxlSW1wb3J0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtaW1wb3J0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJhcnJvdy1yaWdodC10by1maWxlXCJdLCBcImY1NmZcIiwgXCJNMTI4IDY0YzAtMzUuMyAyOC43LTY0IDY0LTY0SDM1MlYxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJINTEyVjQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEgxOTJjLTM1LjMgMC02NC0yOC43LTY0LTY0VjMzNkgzMDIuMWwtMzkgMzljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw4MC04MGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOWwtODAtODBjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsMzkgMzlIMTI4VjY0em0wIDIyNHY0OEgyNGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNEgxMjh6TTUxMiAxMjhIMzg0VjBMNTEyIDEyOHpcIl1cbn07XG52YXIgZmFBcnJvd1JpZ2h0VG9GaWxlID0gZmFGaWxlSW1wb3J0O1xudmFyIGZhU3F1YXJlQXJyb3dVcFJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1hcnJvdy11cC1yaWdodCcsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiZXh0ZXJuYWwtbGluay1zcXVhcmVcIl0sIFwiZjE0Y1wiLCBcIk0zODQgMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRWNDE2YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY5NkMwIDYwLjcgMjguNyAzMiA2NCAzMkgzODR6TTE2MCAxNDRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRoOTQuMUwxMTkgMzI3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMTM1LTEzNVYzMjhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFYxNjhjMC0xMy4zLTEwLjctMjQtMjQtMjRIMTYwelwiXVxufTtcbnZhciBmYUV4dGVybmFsTGlua1NxdWFyZSA9IGZhU3F1YXJlQXJyb3dVcFJpZ2h0O1xudmFyIGZhQm94T3BlbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3gtb3BlbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjQ5ZVwiLCBcIk01OC45IDQyLjFjMy02LjEgOS42LTkuNiAxNi4zLTguN0wzMjAgNjQgNTY0LjggMzMuNGM2LjctLjggMTMuMyAyLjcgMTYuMyA4LjdsNDEuNyA4My40YzkgMTcuOS0uNiAzOS42LTE5LjggNDUuMUw0MzkuNiAyMTcuM2MtMTMuOSA0LTI4LjgtMS45LTM2LjItMTQuM0wzMjAgNjQgMjM2LjYgMjAzYy03LjQgMTIuNC0yMi4zIDE4LjMtMzYuMiAxNC4zTDM3LjEgMTcwLjZjLTE5LjMtNS41LTI4LjgtMjcuMi0xOS44LTQ1LjFMNTguOSA0Mi4xek0zMjEuMSAxMjhsNTQuOSA5MS40YzE0LjkgMjQuOCA0NC42IDM2LjYgNzIuNSAyOC42TDU3NiAyMTEuNnYxNjdjMCAyMi0xNSA0MS4yLTM2LjQgNDYuNmwtMjA0LjEgNTFjLTEwLjIgMi42LTIwLjkgMi42LTMxIDBsLTIwNC4xLTUxQzc5IDQxOS43IDY0IDQwMC41IDY0IDM3OC41di0xNjdMMTkxLjYgMjQ4YzI3LjggOCA1Ny42LTMuOCA3Mi41LTI4LjZMMzE4LjkgMTI4aDIuMnpcIl1cbn07XG52YXIgZmFTY3JvbGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2Nyb2xsJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4MjIwXSwgXCJmNzBlXCIsIFwiTTAgODB2NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJINDggOTZWODBjMC0yNi41LTIxLjUtNDgtNDgtNDhTMCA1My41IDAgODB6TTExMiAzMmMxMCAxMy40IDE2IDMwIDE2IDQ4VjM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0di01LjNjMC0zMi40IDI2LjMtNTguNyA1OC43LTU4LjdINDgwVjEyOGMwLTUzLTQzLTk2LTk2LTk2SDExMnpNNDY0IDQ4MGM2MS45IDAgMTEyLTUwLjEgMTEyLTExMmMwLTguOC03LjItMTYtMTYtMTZIMzE0LjdjLTE0LjcgMC0yNi43IDExLjktMjYuNyAyNi43VjM4NGMwIDUzLTQzIDk2LTk2IDk2SDM2OGg5NnpcIl1cbn07XG52YXIgZmFTcGEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3BhJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNWJiXCIsIFwiTTE4My4xIDIzNS4zYzMzLjcgMjAuNyA2Mi45IDQ4LjEgODUuOCA4MC41YzcgOS45IDEzLjQgMjAuMyAxOS4xIDMxYzUuNy0xMC44IDEyLjEtMjEuMSAxOS4xLTMxYzIyLjktMzIuNCA1Mi4xLTU5LjggODUuOC04MC41QzQzNy42IDIwNy44IDQ5MC4xIDE5MiA1NDYgMTkyaDkuOWMxMS4xIDAgMjAuMSA5IDIwLjEgMjAuMUM1NzYgMzYwLjEgNDU2LjEgNDgwIDMwOC4xIDQ4MEgyODggMjY3LjlDMTE5LjkgNDgwIDAgMzYwLjEgMCAyMTIuMUMwIDIwMSA5IDE5MiAyMC4xIDE5MkgzMGM1NS45IDAgMTA4LjQgMTUuOCAxNTMuMSA0My4zek0zMDEuNSAzNy42YzE1LjcgMTYuOSA2MS4xIDcxLjggODQuNCAxNjQuNmMtMzggMjEuNi03MS40IDUwLjgtOTcuOSA4NS42Yy0yNi41LTM0LjgtNTkuOS02My45LTk3LjktODUuNmMyMy4yLTkyLjggNjguNi0xNDcuNyA4NC40LTE2NC42QzI3OCAzMy45IDI4Mi45IDMyIDI4OCAzMnMxMCAxLjkgMTMuNSA1LjZ6XCJdXG59O1xudmFyIGZhTG9jYXRpb25QaW5Mb2NrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xvY2F0aW9uLXBpbi1sb2NrJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTFmXCIsIFwiTTIxNS43IDQ5OS4yYzExLTEzLjggMjUuMS0zMS43IDQwLjMtNTIuM1YzNTJjMC0yMy43IDEyLjktNDQuNCAzMi01NS40VjI3MmMwLTU1LjYgNDAuNS0xMDEuNyA5My42LTExMC41QzM2NyA3MCAyODcuNyAwIDE5MiAwQzg2IDAgMCA4NiAwIDE5MmMwIDg3LjQgMTE3IDI0MyAxNjguMyAzMDcuMmMxMi4zIDE1LjMgMzUuMSAxNS4zIDQ3LjQgMHpNMTkyIDEyOGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpNNDAwIDI0MGMxNy43IDAgMzIgMTQuMyAzMiAzMnY0OEgzNjhWMjcyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem0tODAgMzJ2NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyVjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMkg0ODBjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzUyYzAtMTcuNy0xNC4zLTMyLTMyLTMyVjI3MmMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MHpcIl1cbn07XG52YXIgZmFQYXVzZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwYXVzZScsXG4gIGljb246IFszMjAsIDUxMiwgWzkyMDhdLCBcImYwNGNcIiwgXCJNNDggNjRDMjEuNSA2NCAwIDg1LjUgMCAxMTJWNDAwYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDgwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjExMmMwLTI2LjUtMjEuNS00OC00OC00OEg0OHptMTkyIDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4VjQwMGMwIDI2LjUgMjEuNSA0OCA0OCA0OGgzMmMyNi41IDAgNDgtMjEuNSA0OC00OFYxMTJjMC0yNi41LTIxLjUtNDgtNDgtNDhIMjQwelwiXVxufTtcbnZhciBmYUhpbGxBdmFsYW5jaGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGlsbC1hdmFsYW5jaGUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1MDdcIiwgXCJNNDM5LjcgNDAxLjljMzQuMiAyMy4xIDgxLjEgMTkuNSAxMTEuNC0xMC44YzM0LjQtMzQuNCAzNC40LTkwLjEgMC0xMjQuNGMtMjcuOC0yNy44LTY5LjUtMzMuMS0xMDIuNi0xNmMtMTEuOCA2LjEtMTYuNCAyMC42LTEwLjMgMzIuM3MyMC42IDE2LjQgMzIuMyAxMC4zYzE1LjEtNy44IDM0LTUuMyA0Ni42IDcuM2MxNS42IDE1LjYgMTUuNiA0MC45IDAgNTYuNnMtNDAuOSAxNS42LTU2LjYgMGwtODEuNy04MS43QzQwMS4yIDI2MS4zIDQxNiAyMzYuNCA0MTYgMjA4YzAtMzMuOS0yMS4xLTYyLjktNTAuOS03NC41YzEuOS02LjggMi45LTE0IDIuOS0yMS41YzAtNDQuMi0zNS44LTgwLTgwLTgwYy0yNy4zIDAtNTEuNSAxMy43LTY1LjkgMzQuNkMyMTYuMyA0Ni42IDE5Ny45IDMyIDE3NiAzMmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhjMCA0IC41IDcuOSAxLjQgMTEuNkw0MzkuNyA0MDEuOXpNNDgwIDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTAgMTI4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNNjguMyA4N0M0My4xIDYxLjggMCA3OS43IDAgMTE1LjNWNDMyYzAgNDQuMiAzNS44IDgwIDgwIDgwSDM5Ni43YzM1LjYgMCA1My41LTQzLjEgMjguMy02OC4zTDY4LjMgODd6XCJdXG59O1xudmFyIGZhVGVtcGVyYXR1cmVFbXB0eSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW1wZXJhdHVyZS1lbXB0eScsXG4gIGljb246IFszMjAsIDUxMiwgW1widGVtcGVyYXR1cmUtMFwiLCBcInRoZXJtb21ldGVyLTBcIiwgXCJ0aGVybW9tZXRlci1lbXB0eVwiXSwgXCJmMmNiXCIsIFwiTTExMiAxMTJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OFYyNzYuNWMwIDE3LjMgNy4xIDMxLjkgMTUuMyA0Mi41QzIzMy44IDMzMi42IDI0MCAzNDkuNSAyNDAgMzY4YzAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwYzAtMTguNSA2LjItMzUuNCAxNi43LTQ4LjljOC4yLTEwLjYgMTUuMy0yNS4yIDE1LjMtNDIuNVYxMTJ6TTE2MCAwQzk4LjEgMCA0OCA1MC4yIDQ4IDExMlYyNzYuNWMwIC4xLS4xIC4zLS4yIC42Yy0uMiAuNi0uOCAxLjYtMS43IDIuOEMyNy4yIDMwNC4yIDE2IDMzNC44IDE2IDM2OGMwIDc5LjUgNjQuNSAxNDQgMTQ0IDE0NHMxNDQtNjQuNSAxNDQtMTQ0YzAtMzMuMi0xMS4yLTYzLjgtMzAuMS04OC4xYy0uOS0xLjItMS41LTIuMi0xLjctMi44Yy0uMS0uMy0uMi0uNS0uMi0uNlYxMTJDMjcyIDUwLjIgMjIxLjkgMCAxNjAgMHptMCA0MTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2elwiXVxufTtcbnZhciBmYVRlbXBlcmF0dXJlMCA9IGZhVGVtcGVyYXR1cmVFbXB0eTtcbnZhciBmYVRoZXJtb21ldGVyMCA9IGZhVGVtcGVyYXR1cmVFbXB0eTtcbnZhciBmYVRoZXJtb21ldGVyRW1wdHkgPSBmYVRlbXBlcmF0dXJlRW1wdHk7XG52YXIgZmFCb21iID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JvbWInLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgxNjNdLCBcImYxZTJcIiwgXCJNNDU5LjEgNTIuNEw0NDIuNiA2LjVDNDQwLjcgMi42IDQzNi41IDAgNDMyLjEgMHMtOC41IDIuNi0xMC40IDYuNUw0MDUuMiA1Mi40bC00NiAxNi44Yy00LjMgMS42LTcuMyA1LjktNy4yIDEwLjRjMCA0LjUgMyA4LjcgNy4yIDEwLjJsNDUuNyAxNi44IDE2LjggNDUuOGMxLjUgNC40IDUuOCA3LjUgMTAuNCA3LjVzOC45LTMuMSAxMC40LTcuNWwxNi41LTQ1LjggNDUuNy0xNi44YzQuMi0xLjUgNy4yLTUuNyA3LjItMTAuMmMwLTQuNi0zLTguOS03LjItMTAuNEw0NTkuMSA1Mi40em0tMTMyLjQgNTNjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0yLjkgMi45QzI1Ni41IDEwMC4zIDIzMi43IDk2IDIwOCA5NkM5My4xIDk2IDAgMTg5LjEgMCAzMDRTOTMuMSA1MTIgMjA4IDUxMnMyMDgtOTMuMSAyMDgtMjA4YzAtMjQuNy00LjMtNDguNS0xMi4yLTcwLjVsMi45LTIuOWMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtODAtODB6TTIwMCAxOTJjLTU3LjQgMC0xMDQgNDYuNi0xMDQgMTA0djhjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZ2LThjMC03NS4xIDYwLjktMTM2IDEzNi0xMzZoOGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmgtOHpcIl1cbn07XG52YXIgZmFSZWdpc3RlcmVkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JlZ2lzdGVyZWQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxNzRdLCBcImYyNWRcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2MCAxNTJjMC0xMy4zIDEwLjctMjQgMjQtMjRoODhjNDQuMiAwIDgwIDM1LjggODAgODBjMCAyOC0xNC40IDUyLjctMzYuMyA2N2wzNC4xIDc1LjFjNS41IDEyLjEgLjEgMjYuMy0xMS45IDMxLjhzLTI2LjMgLjEtMzEuOC0xMS45TDI2OC45IDI4OEgyMDh2NzJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWMjY0IDE1MnptNDggODhoNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMjA4djY0elwiXVxufTtcbnZhciBmYUFkZHJlc3NDYXJkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2FkZHJlc3MtY2FyZCcsXG4gIGljb246IFs1NzYsIDUxMiwgWzYyMTQwLCBcImNvbnRhY3QtY2FyZFwiLCBcInZjYXJkXCJdLCBcImYyYmJcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRINTEyYzM1LjMgMCA2NC0yOC43IDY0LTY0Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0em04MCAyNTZoNjRjNDQuMiAwIDgwIDM1LjggODAgODBjMCA4LjgtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZjMC00NC4yIDM1LjgtODAgODAtODB6bS0zMi05NmE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6bTI1Ni0zMkg0OTZjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMzY4Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0wIDY0SDQ5NmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgzNjhjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTAgNjRINDk2YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDM2OGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFDb250YWN0Q2FyZCA9IGZhQWRkcmVzc0NhcmQ7XG52YXIgZmFWY2FyZCA9IGZhQWRkcmVzc0NhcmQ7XG52YXIgZmFTY2FsZVVuYmFsYW5jZWRGbGlwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NjYWxlLXVuYmFsYW5jZWQtZmxpcCcsXG4gIGljb246IFs2NDAsIDUxMiwgW1wiYmFsYW5jZS1zY2FsZS1yaWdodFwiXSwgXCJmNTE2XCIsIFwiTTExNy45IDYyLjRjLTE2LjgtNS42LTI1LjgtMjMuNy0yMC4yLTQwLjVzMjMuNy0yNS44IDQwLjUtMjAuMmwxMTMgMzcuN0MyNjUgMTUuOCAyOTAuNyAwIDMyMCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwYzAgMy0uMiA1LjktLjUgOC44bDEyMi42IDQwLjljMTYuOCA1LjYgMjUuOCAyMy43IDIwLjIgNDAuNXMtMjMuNyAyNS44LTQwLjUgMjAuMkwzNjYuNCAxNDUuMmMtNC41IDMuMi05LjMgNS45LTE0LjQgOC4yVjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMkgxMjhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJIMjg4VjE1My4zYy0yMS05LjItMzcuMi0yNy00NC4yLTQ5bC0xMjUuOS00MnpNMjAwLjQgMjg4TDEyOCAxNjMuOCA1NS42IDI4OEgyMDAuNHpNMTI4IDM4NEM2NS4xIDM4NCAxMi44IDM1MCAyIDMwNS4xYy0yLjYtMTEgMS0yMi4zIDYuNy0zMi4xbDk1LjItMTYzLjJjNS04LjYgMTQuMi0xMy44IDI0LjEtMTMuOHMxOS4xIDUuMyAyNC4xIDEzLjhsOTUuMiAxNjMuMmM1LjcgOS44IDkuMyAyMS4xIDYuNyAzMi4xQzI0My4yIDM1MCAxOTAuOSAzODQgMTI4IDM4NHptMzgyLjgtOTIuMkw0MzguNCA0MTZINTgzLjNMNTEwLjggMjkxLjh6bTEyNiAxNDEuM0M2MjYgNDc4IDU3My43IDUxMiA1MTAuOCA1MTJzLTExNS4yLTM0LTEyNi03OC45Yy0yLjYtMTEgMS0yMi4zIDYuNy0zMi4xbDk1LjItMTYzLjJjNS04LjYgMTQuMi0xMy44IDI0LjEtMTMuOHMxOS4xIDUuMyAyNC4xIDEzLjhsOTUuMiAxNjMuMmM1LjcgOS44IDkuMyAyMS4xIDYuNyAzMi4xelwiXVxufTtcbnZhciBmYUJhbGFuY2VTY2FsZVJpZ2h0ID0gZmFTY2FsZVVuYmFsYW5jZWRGbGlwO1xudmFyIGZhU3Vic2NyaXB0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N1YnNjcmlwdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjEyY1wiLCBcIk0zMiA2NEMxNC4zIDY0IDAgNzguMyAwIDk2czE0LjMgMzIgMzIgMzJINDcuM2w4OS42IDEyOEw0Ny4zIDM4NEgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg2NGMxMC40IDAgMjAuMi01LjEgMjYuMi0xMy42TDE3NiAzMTEuOGw4NS44IDEyMi42YzYgOC42IDE1LjggMTMuNiAyNi4yIDEzLjZoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzA0LjdMMjE1LjEgMjU2bDg5LjYtMTI4SDMyMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgyODhjLTEwLjQgMC0yMC4yIDUuMS0yNi4yIDEzLjZMMTc2IDIwMC4yIDkwLjIgNzcuNkM4NC4yIDY5LjEgNzQuNCA2NCA2NCA2NEgzMnpNNDgwIDMyMGMwLTExLjEtNS43LTIxLjQtMTUuMi0yNy4ycy0yMS4yLTYuNC0zMS4xLTEuNGwtMzIgMTZjLTE1LjggNy45LTIyLjIgMjcuMS0xNC4zIDQyLjlDMzkzIDM2MS41IDQwNC4zIDM2OCA0MTYgMzY4djgwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDMyIDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyVjMyMHpcIl1cbn07XG52YXIgZmFEaWFtb25kVHVyblJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpYW1vbmQtdHVybi1yaWdodCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZGlyZWN0aW9uc1wiXSwgXCJmNWViXCIsIFwiTTIyNy43IDExLjdjMTUuNi0xNS42IDQwLjktMTUuNiA1Ni42IDBsMjE2IDIxNmMxNS42IDE1LjYgMTUuNiA0MC45IDAgNTYuNmwtMjE2IDIxNmMtMTUuNiAxNS42LTQwLjkgMTUuNi01Ni42IDBsLTIxNi0yMTZjLTE1LjYtMTUuNi0xNS42LTQwLjkgMC01Ni42bDIxNi0yMTZ6bTg3LjYgMTM3Yy00LjYtNC42LTExLjUtNS45LTE3LjQtMy41cy05LjkgOC4zLTkuOSAxNC44djU2SDIyNGMtMzUuMyAwLTY0IDI4LjctNjQgNjR2NDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFYyODBjMC04LjggNy4yLTE2IDE2LTE2aDY0djU2YzAgNi41IDMuOSAxMi4zIDkuOSAxNC44czEyLjkgMS4xIDE3LjQtMy41bDgwLTgwYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42bC04MC04MHpcIl1cbn07XG52YXIgZmFEaXJlY3Rpb25zID0gZmFEaWFtb25kVHVyblJpZ2h0O1xudmFyIGZhQnVyc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVyc3QnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0ZGNcIiwgXCJNMzcuNiA0LjJDMjgtMi4zIDE1LjItMS4xIDcgN3MtOS40IDIxLTIuOCAzMC41bDExMiAxNjMuM0wxNi42IDIzMy4yQzYuNyAyMzYuNCAwIDI0NS42IDAgMjU2czYuNyAxOS42IDE2LjYgMjIuOGwxMDMuMSAzMy40TDY2LjggNDEyLjhjLTQuOSA5LjMtMy4yIDIwLjcgNC4zIDI4LjFzMTguOCA5LjIgMjguMSA0LjNsMTAwLjYtNTIuOSAzMy40IDEwMy4xYzMuMiA5LjkgMTIuNCAxNi42IDIyLjggMTYuNnMxOS42LTYuNyAyMi44LTE2LjZsMzMuNC0xMDMuMSAxMDAuNiA1Mi45YzkuMyA0LjkgMjAuNyAzLjIgMjguMS00LjNzOS4yLTE4LjggNC4zLTI4LjFMMzkyLjMgMzEyLjJsMTAzLjEtMzMuNGM5LjktMy4yIDE2LjYtMTIuNCAxNi42LTIyLjhzLTYuNy0xOS42LTE2LjYtMjIuOEwzODguOSAxOTguN2wyNS43LTcwLjRjMy4yLTguOCAxLTE4LjYtNS42LTI1LjJzLTE2LjQtOC44LTI1LjItNS42bC03MC40IDI1LjdMMjc4LjggMTYuNkMyNzUuNiA2LjcgMjY2LjQgMCAyNTYgMHMtMTkuNiA2LjctMjIuOCAxNi42bC0zMi4zIDk5LjZMMzcuNiA0LjJ6XCJdXG59O1xudmFyIGZhSG91c2VMYXB0b3AgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtbGFwdG9wJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJsYXB0b3AtaG91c2VcIl0sIFwiZTA2NlwiLCBcIk0yMTguMyA4LjVjMTIuMy0xMS4zIDMxLjItMTEuMyA0My40IDBsMjA4IDE5MmM2LjcgNi4yIDEwLjMgMTQuOCAxMC4zIDIzLjVIMzM2Yy0xOS4xIDAtMzYuMyA4LjQtNDggMjEuN1YyMDhjMC04LjgtNy4yLTE2LTE2LTE2SDIwOGMtOC44IDAtMTYgNy4yLTE2IDE2djY0YzAgOC44IDcuMiAxNiAxNiAxNmg2NFY0MTZIMTEyYy0yNi41IDAtNDgtMjEuNS00OC00OFYyNTZIMzJjLTEzLjIgMC0yNS04LjEtMjkuOC0yMC4zcy0xLjYtMjYuMiA4LjEtMzUuMmwyMDgtMTkyek0zNTIgMzA0VjQ0OEg1NDRWMzA0SDM1MnptLTQ4LTE2YzAtMTcuNyAxNC4zLTMyIDMyLTMySDU2MGMxNy43IDAgMzIgMTQuMyAzMiAzMlY0NDhoMzJjOC44IDAgMTYgNy4yIDE2IDE2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDU0NCAzNTIgMzA0Yy0yNi41IDAtNDgtMjEuNS00OC00OGMwLTguOCA3LjItMTYgMTYtMTZoMzJWMjg4elwiXVxufTtcbnZhciBmYUxhcHRvcEhvdXNlID0gZmFIb3VzZUxhcHRvcDtcbnZhciBmYUZhY2VUaXJlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLXRpcmVkJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTU1LCBcInRpcmVkXCJdLCBcImY1YzhcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2NC43IDMyOC43YzIyLTIyIDUzLjktNDAuNyA5MS4zLTQwLjdzNjkuMyAxOC43IDkxLjMgNDAuN2MxMS4xIDExLjEgMjAuMSAyMy40IDI2LjQgMzUuNGM2LjIgMTEuNyAxMC4zIDI0LjQgMTAuMyAzNS45YzAgNS4yLTIuNiAxMC4yLTYuOSAxMy4ycy05LjggMy43LTE0LjcgMS44bC0yMC41LTcuN2MtMjYuOS0xMC4xLTU1LjUtMTUuMy04NC4zLTE1LjNoLTMuMmMtMjguOCAwLTU3LjMgNS4yLTg0LjMgMTUuM0wxNDkuNiA0MTVjLTQuOSAxLjgtMTAuNCAxLjItMTQuNy0xLjhzLTYuOS03LjktNi45LTEzLjJjMC0xMS42IDQuMi0yNC4yIDEwLjMtMzUuOWM2LjMtMTIgMTUuMy0yNC4zIDI2LjQtMzUuNHptLTMxLjItMTgybDg5LjkgNDcuOWMxMC43IDUuNyAxMC43IDIxLjEgMCAyNi44bC04OS45IDQ3LjljLTcuOSA0LjItMTcuNS0xLjUtMTcuNS0xMC41YzAtMi44IDEtNS41IDIuOC03LjZsMzYtNDMuMi0zNi00My4yYy0xLjgtMi4xLTIuOC00LjgtMi44LTcuNmMwLTkgOS42LTE0LjcgMTcuNS0xMC41ek0zOTYgMTU3LjFjMCAyLjgtMSA1LjUtMi44IDcuNmwtMzYgNDMuMiAzNiA0My4yYzEuOCAyLjEgMi44IDQuOCAyLjggNy42YzAgOS05LjYgMTQuNy0xNy41IDEwLjVsLTg5LjktNDcuOWMtMTAuNy01LjctMTAuNy0yMS4xIDAtMjYuOGw4OS45LTQ3LjljNy45LTQuMiAxNy41IDEuNSAxNy41IDEwLjV6XCJdXG59O1xudmFyIGZhVGlyZWQgPSBmYUZhY2VUaXJlZDtcbnZhciBmYU1vbmV5QmlsbHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9uZXktYmlsbHMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImUxZjNcIiwgXCJNOTYgOTZWMzIwYzAgMzUuMyAyOC43IDY0IDY0IDY0SDU3NmMzNS4zIDAgNjQtMjguNyA2NC02NFY5NmMwLTM1LjMtMjguNy02NC02NC02NEgxNjBjLTM1LjMgMC02NCAyOC43LTY0IDY0em02NCAxNjBjMzUuMyAwIDY0IDI4LjcgNjQgNjRIMTYwVjI1NnpNMjI0IDk2YzAgMzUuMy0yOC43IDY0LTY0IDY0Vjk2aDY0ek01NzYgMjU2djY0SDUxMmMwLTM1LjMgMjguNy02NCA2NC02NHpNNTEyIDk2aDY0djY0Yy0zNS4zIDAtNjQtMjguNy02NC02NHpNMjg4IDIwOGE4MCA4MCAwIDEgMSAxNjAgMCA4MCA4MCAwIDEgMSAtMTYwIDB6TTQ4IDEyMGMwLTEzLjMtMTAuNy0yNC0yNC0yNFMwIDEwNi43IDAgMTIwVjM2MGMwIDY2LjMgNTMuNyAxMjAgMTIwIDEyMEg1MjBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRIMTIwYy0zOS44IDAtNzItMzIuMi03Mi03MlYxMjB6XCJdXG59O1xudmFyIGZhU21vZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzbW9nJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNzVmXCIsIFwiTTMyIDE0NGMwIDc5LjUgNjQuNSAxNDQgMTQ0IDE0NEgyOTkuM2MyMi42IDE5LjkgNTIuMiAzMiA4NC43IDMyczYyLjEtMTIuMSA4NC43LTMySDQ5NmM2MS45IDAgMTEyLTUwLjEgMTEyLTExMnMtNTAuMS0xMTItMTEyLTExMmMtMTAuNyAwLTIxIDEuNS0zMC44IDQuM0M0NDMuOCAyNy43IDQwMS4xIDAgMzUyIDBjLTMyLjYgMC02Mi40IDEyLjItODUuMSAzMi4zQzI0Mi4xIDEyLjEgMjEwLjUgMCAxNzYgMEM5Ni41IDAgMzIgNjQuNSAzMiAxNDR6TTYxNiAzNjhIMjgwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0SDYxNmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNHptLTY0IDk2SDQ0MGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNEg1NTJjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjR6bS0xOTIgMEgyNGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNEgzNjBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjR6TTIyNCAzOTJjMC0xMy4zLTEwLjctMjQtMjQtMjRIOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRIMjAwYzEzLjMgMCAyNC0xMC43IDI0LTI0elwiXVxufTtcbnZhciBmYUNydXRjaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjcnV0Y2gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3ZjdcIiwgXCJNMjk3LjQgOS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTE2MC0xNjBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwem0tOTYgMTQ0bC0zNC44IDM0LjhjLTEyLjkgMTIuOS0yMS45IDI5LjItMjUuOCA0Ny4xTDExNi44IDM0Mi45Yy0xLjMgNS45LTQuMyAxMS40LTguNiAxNS43TDkuNCA0NTcuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw5OC44LTk4LjhjNC4zLTQuMyA5LjctNy4zIDE1LjctOC42bDEwNy42LTIzLjljMTcuOC00IDM0LjEtMTIuOSA0Ny4xLTI1LjhsMzQuNy0zNC43YzAgMCAuMS0uMSAuMS0uMXMuMS0uMSAuMS0uMWw3NC42LTc0LjYtNDUuMy00NS4zTDMzNiAyNDIuNyAyNjkuMyAxNzZsNTIuMS01Mi4xTDI3Ni4xIDc4LjZsLTc0LjcgNzQuN3pNMjI0IDIyMS4zTDI5MC43IDI4OGwtMTIuMiAxMi4yYy00LjMgNC4zLTkuNyA3LjMtMTUuNyA4LjZsLTc2LjcgMTcgMTctNzYuN2MxLjMtNS45IDQuMy0xMS40IDguNi0xNS43TDIyNCAyMjEuM3pcIl1cbn07XG52YXIgZmFGb250QXdlc29tZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmb250LWF3ZXNvbWUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MjUwMSwgNjI2OTQsIFwiZm9udC1hd2Vzb21lLWZsYWdcIiwgXCJmb250LWF3ZXNvbWUtbG9nby1mdWxsXCJdLCBcImYyYjRcIiwgXCJNOTEuNyA5NkMxMDYuMyA4Ni44IDExNiA3MC41IDExNiA1MkMxMTYgMjMuMyA5Mi43IDAgNjQgMFMxMiAyMy4zIDEyIDUyYzAgMTYuNyA3LjggMzEuNSAyMCA0MWwwIDMgMCAzNTIgMCA2NCA2NCAwIDAtNjQgMzczLjYgMGMxNC42IDAgMjYuNC0xMS44IDI2LjQtMjYuNGMwLTMuNy0uOC03LjMtMi4zLTEwLjdMNDMyIDI3Mmw2MS43LTEzOC45YzEuNS0zLjQgMi4zLTcgMi4zLTEwLjdjMC0xNC42LTExLjgtMjYuNC0yNi40LTI2LjRMOTEuNyA5NnpcIl1cbn07XG52YXIgZmFGb250QXdlc29tZUZsYWcgPSBmYUZvbnRBd2Vzb21lO1xudmFyIGZhRm9udEF3ZXNvbWVMb2dvRnVsbCA9IGZhRm9udEF3ZXNvbWU7XG52YXIgZmFDbG91ZEFycm93VXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvdWQtYXJyb3ctdXAnLFxuICBpY29uOiBbNjQwLCA1MTIsIFs2MjMzOCwgXCJjbG91ZC11cGxvYWRcIiwgXCJjbG91ZC11cGxvYWQtYWx0XCJdLCBcImYwZWVcIiwgXCJNMTQ0IDQ4MEM2NC41IDQ4MCAwIDQxNS41IDAgMzM2YzAtNjIuOCA0MC4yLTExNi4yIDk2LjItMTM1LjljLS4xLTIuNy0uMi01LjQtLjItOC4xYzAtODguNCA3MS42LTE2MCAxNjAtMTYwYzU5LjMgMCAxMTEgMzIuMiAxMzguNyA4MC4yQzQwOS45IDEwMiA0MjguMyA5NiA0NDggOTZjNTMgMCA5NiA0MyA5NiA5NmMwIDEyLjItMi4zIDIzLjgtNi40IDM0LjZDNTk2IDIzOC40IDY0MCAyOTAuMSA2NDAgMzUyYzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4SDE0NHptNzktMjE3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMzktMzlWMzkyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWMjU3LjlsMzkgMzljOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC04MC04MGMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBsLTgwIDgwelwiXVxufTtcbnZhciBmYUNsb3VkVXBsb2FkID0gZmFDbG91ZEFycm93VXA7XG52YXIgZmFDbG91ZFVwbG9hZEFsdCA9IGZhQ2xvdWRBcnJvd1VwO1xudmFyIGZhUGFsZXR0ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwYWxldHRlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3OTEyXSwgXCJmNTNmXCIsIFwiTTUxMiAyNTZjMCAuOSAwIDEuOCAwIDIuN2MtLjQgMzYuNS0zMy42IDYxLjMtNzAuMSA2MS4zSDM0NGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhjMCAzLjQgLjQgNi43IDEgOS45YzIuMSAxMC4yIDYuNSAyMCAxMC44IDI5LjljNi4xIDEzLjggMTIuMSAyNy41IDEyLjEgNDJjMCAzMS44LTIxLjYgNjAuNy01My40IDYyYy0zLjUgLjEtNyAuMi0xMC42IC4yQzExNC42IDUxMiAwIDM5Ny40IDAgMjU2UzExNC42IDAgMjU2IDBTNTEyIDExNC42IDUxMiAyNTZ6TTEyOCAyODhhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMC05NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTI4OCA5NmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem05NiA5NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xudmFyIGZhQXJyb3dzVHVyblJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93cy10dXJuLXJpZ2h0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJlNGMwXCIsIFwiTTI5Ny40IDkuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGw5NiA5NmMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtOTYgOTZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDMzOC43IDE2MEgxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0djMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjIyNEMwIDE1My4zIDU3LjMgOTYgMTI4IDk2SDMzOC43TDI5Ny40IDU0LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zem0tOTYgMjU2YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDk2IDk2YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC05NiA5NmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMjQyLjcgNDE2SDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnYzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY0NDhjMC01MyA0My05NiA5Ni05NkgyNDIuN2wtNDEuNC00MS40Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3pcIl1cbn07XG52YXIgZmFWZXN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Zlc3QnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImUwODVcIiwgXCJNMjA3LjEgMjM3LjRMMTUxLjIgNjkuN0MxNjguNiA3OS43IDE5Mi42IDg4IDIyNCA4OHM1NS40LTguMyA3Mi44LTE4LjNMMjI2LjUgMjgwLjZjLTEuNiA0LjktMi41IDEwLTIuNSAxNS4yVjQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OEg0MDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMjcwLjVjMC05LjUtMi44LTE4LjctOC4xLTI2LjZsLTQ3LjktNzEuOGMtNS4zLTcuOS04LjEtMTcuMS04LjEtMjYuNlYxMjggNTQuMyA0OGMwLTI2LjUtMjEuNS00OC00OC00OGgtNC41Yy0uMiAwLS40IDAtLjYgMGMtLjQgMC0uOCAwLTEuMiAwQzMxMSAwIDI5NS43IDkuNyAyODUuNyAxOC44QzI3Ni40IDI3LjIgMjU3LjIgNDAgMjI0IDQwcy01Mi40LTEyLjgtNjEuNy0yMS4yQzE1Mi4zIDkuNyAxMzcgMCAxMTguMyAwYy0uNCAwLS44IDAtMS4yIDBjLS4yIDAtLjQgMC0uNiAwSDExMkM4NS41IDAgNjQgMjEuNSA2NCA0OHY2LjNWMTI4djE3LjVjMCA5LjUtMi44IDE4LjctOC4xIDI2LjZMOC4xIDI0My45QzIuOCAyNTEuOCAwIDI2MS4xIDAgMjcwLjVWNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDE3NmM5LjkgMCAxOS0zIDI2LjctOC4xQzE5NS45IDQ5Mi4yIDE5MiA0NzguNSAxOTIgNDY0VjI5NS44YzAtOC42IDEuNC0xNy4xIDQuMS0yNS4zbDExLTMzLjF6TTM0Ny4zIDM1Ni43bDQ4IDQ4YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBsLTQ4LTQ4Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDB6bS0yOTQuNiA0OGw0OC00OGM2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZsLTQ4IDQ4Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42elwiXVxufTtcbnZhciBmYUZlcnJ5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZlcnJ5JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGVhXCIsIFwiTTIyNCAwSDM1MmMxNy43IDAgMzIgMTQuMyAzMiAzMmg3NS4xYzIwLjYgMCAzMS42IDI0LjMgMTguMSAzOS44TDQ1NiA5NkgxMjBMOTguOCA3MS44Qzg1LjMgNTYuMyA5Ni4zIDMyIDExNi45IDMySDE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNOTYgMTI4SDQ4MGMxNy43IDAgMzIgMTQuMyAzMiAzMlYyODMuNWMwIDEzLjMtNC4yIDI2LjMtMTEuOSAzNy4ybC01MS40IDcxLjljLTEuOSAxLjEtMy43IDIuMi01LjUgMy41Yy0xNS41IDEwLjctMzQgMTgtNTEgMTkuOUgzNzUuNmMtMTcuMS0xLjgtMzUtOS01MC44LTE5LjljLTIyLjEtMTUuNS01MS42LTE1LjUtNzMuNyAwYy0xNC44IDEwLjItMzIuNSAxOC01MC42IDE5LjlIMTgzLjljLTE3LTEuOC0zNS42LTkuMi01MS0xOS45Yy0xLjgtMS4zLTMuNy0yLjQtNS42LTMuNUw3NS45IDMyMC43QzY4LjIgMzA5LjggNjQgMjk2LjggNjQgMjgzLjVWMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyem0zMiA2NHY5Nkg0NDhWMTkySDEyOHpNMzA2LjUgNDIxLjlDMzI5IDQzNy40IDM1Ni41IDQ0OCAzODQgNDQ4YzI2LjkgMCA1NS4zLTEwLjggNzcuNC0yNi4xbDAgMGMxMS45LTguNSAyOC4xLTcuOCAzOS4yIDEuN2MxNC40IDExLjkgMzIuNSAyMSA1MC42IDI1LjJjMTcuMiA0IDI3LjkgMjEuMiAyMy45IDM4LjRzLTIxLjIgMjcuOS0zOC40IDIzLjljLTI0LjUtNS43LTQ0LjktMTYuNS01OC4yLTI1QzQ0OS41IDUwMS43IDQxNyA1MTIgMzg0IDUxMmMtMzEuOSAwLTYwLjYtOS45LTgwLjQtMTguOWMtNS44LTIuNy0xMS4xLTUuMy0xNS42LTcuN2MtNC41IDIuNC05LjcgNS4xLTE1LjYgNy43Yy0xOS44IDktNDguNSAxOC45LTgwLjQgMTguOWMtMzMgMC02NS41LTEwLjMtOTQuNS0yNS44Yy0xMy40IDguNC0zMy43IDE5LjMtNTguMiAyNWMtMTcuMiA0LTM0LjQtNi43LTM4LjQtMjMuOXM2LjctMzQuNCAyMy45LTM4LjRjMTguMS00LjIgMzYuMi0xMy4zIDUwLjYtMjUuMmMxMS4xLTkuNCAyNy4zLTEwLjEgMzkuMi0xLjdsMCAwQzEzNi43IDQzNy4yIDE2NS4xIDQ0OCAxOTIgNDQ4YzI3LjUgMCA1NS0xMC42IDc3LjUtMjYuMWMxMS4xLTcuOSAyNS45LTcuOSAzNyAwelwiXVxufTtcbnZhciBmYUFycm93c0Rvd25Ub1Blb3BsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3MtZG93bi10by1wZW9wbGUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0YjlcIiwgXCJNMTQ0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0VjE0Mi4xTDk3IDExOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw2NCA2NGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMGw2NC02NGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC0yMyAyM1YyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHpNMzYwIDIwMGE0MCA0MCAwIDEgMCAtODAgMCA0MCA0MCAwIDEgMCA4MCAwek0xODQgMjk2YTQwIDQwIDAgMSAwIC04MCAwIDQwIDQwIDAgMSAwIDgwIDB6bTMxMiA0MGE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6TTIwMCA0NDEuNWwyNi45IDQ5LjljNi4zIDExLjcgMjAuOCAxNiAzMi41IDkuOHMxNi0yMC44IDkuOC0zMi41bC0zNi4zLTY3LjVjMS43LTEuNyAzLjItMy42IDQuMy01LjhMMjY0IDM0NS41VjQwMGMwIDE3LjcgMTQuMyAzMiAzMiAzMmg0OGMxNy43IDAgMzItMTQuMyAzMi0zMlYzNDUuNWwyNi45IDQ5LjljMS4yIDIuMiAyLjYgNC4xIDQuMyA1LjhsLTM2LjMgNjcuNWMtNi4zIDExLjctMS45IDI2LjIgOS44IDMyLjVzMjYuMiAxLjkgMzIuNS05LjhMNDQwIDQ0MS41VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMmg0OGMxNy43IDAgMzItMTQuMyAzMi0zMlY0NDEuNWwyNi45IDQ5LjljNi4zIDExLjcgMjAuOCAxNiAzMi41IDkuOHMxNi0yMC44IDkuOC0zMi41bC0zNy45LTcwLjNjLTE1LjMtMjguNS00NS4xLTQ2LjMtNzcuNS00Ni4zSDQ4Ni4yYy0xNi4zIDAtMzEuOSA0LjUtNDUuNCAxMi42bC0zMy42LTYyLjNjLTE1LjMtMjguNS00NS4xLTQ2LjMtNzcuNS00Ni4zSDMxMC4yYy0zMi40IDAtNjIuMSAxNy44LTc3LjUgNDYuM2wtMzMuNiA2Mi4zYy0xMy41LTguMS0yOS4xLTEyLjYtNDUuNC0xMi42SDEzNC4yYy0zMi40IDAtNjIuMSAxNy44LTc3LjUgNDYuM0wxOC45IDQ2OC42Yy02LjMgMTEuNy0xLjkgMjYuMiA5LjggMzIuNXMyNi4yIDEuOSAzMi41LTkuOEw4OCA0NDEuNVY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJoNDhjMTcuNyAwIDMyLTE0LjMgMzItMzJWNDQxLjV6TTQxNSAxNTNsNjQgNjRjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsNjQtNjRjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMjMgMjNWMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRWMTQyLjFsLTIzLTIzYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45elwiXVxufTtcbnZhciBmYVNlZWRsaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NlZWRsaW5nJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3NzkzLCBcInNwcm91dFwiXSwgXCJmNGQ4XCIsIFwiTTUxMiAzMmMwIDExMy42LTg0LjYgMjA3LjUtMTk0LjIgMjIyYy03LjEtNTMuNC0zMC42LTEwMS42LTY1LjMtMTM5LjNDMjkwLjggNDYuMyAzNjQgMCA0NDggMGgzMmMxNy43IDAgMzIgMTQuMyAzMiAzMnpNMCA5NkMwIDc4LjMgMTQuMyA2NCAzMiA2NEg2NGMxMjMuNyAwIDIyNCAxMDAuMyAyMjQgMjI0djMyVjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzMjBDMTAwLjMgMzIwIDAgMjE5LjcgMCA5NnpcIl1cbn07XG52YXIgZmFTcHJvdXQgPSBmYVNlZWRsaW5nO1xudmFyIGZhTGVmdFJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xlZnQtcmlnaHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs4NTk2LCBcImFycm93cy1hbHQtaFwiXSwgXCJmMzM3XCIsIFwiTTUwNC4zIDI3My42YzQuOS00LjUgNy43LTEwLjkgNy43LTE3LjZzLTIuOC0xMy03LjctMTcuNmwtMTEyLTEwNGMtNy02LjUtMTcuMi04LjItMjUuOS00LjRzLTE0LjQgMTIuNS0xNC40IDIybDAgNTYtMTkyIDAgMC01NmMwLTkuNS01LjctMTguMi0xNC40LTIycy0xOC45LTIuMS0yNS45IDQuNGwtMTEyIDEwNEMyLjggMjQzIDAgMjQ5LjMgMCAyNTZzMi44IDEzIDcuNyAxNy42bDExMiAxMDRjNyA2LjUgMTcuMiA4LjIgMjUuOSA0LjRzMTQuNC0xMi41IDE0LjQtMjJsMC01NiAxOTIgMCAwIDU2YzAgOS41IDUuNyAxOC4yIDE0LjQgMjJzMTguOSAyLjEgMjUuOS00LjRsMTEyLTEwNHpcIl1cbn07XG52YXIgZmFBcnJvd3NBbHRIID0gZmFMZWZ0UmlnaHQ7XG52YXIgZmFCb3hlc1BhY2tpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm94ZXMtcGFja2luZycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRjN1wiLCBcIk0yNTYgNDhjMC0yNi41IDIxLjUtNDggNDgtNDhINTkyYzI2LjUgMCA0OCAyMS41IDQ4IDQ4VjQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEgzODEuM2MxLjgtNSAyLjctMTAuNCAyLjctMTZWMjUzLjNjMTguNi02LjYgMzItMjQuNCAzMi00NS4zVjE3NmMwLTI2LjUtMjEuNS00OC00OC00OEgyNTZWNDh6TTU3MS4zIDM0Ny4zYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42bC02NC02NGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBsLTY0IDY0Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBMNDgwIDMxMC42VjQzMmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjMxMC42bDM2LjcgMzYuN2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHpNMCAxNzZjMC04LjggNy4yLTE2IDE2LTE2SDM2OGM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDE2Yy04LjggMC0xNi03LjItMTYtMTZWMTc2em0zNTIgODBWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMySDY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYyNTZIMzUyek0xNDQgMzIwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2aDk2YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDE0NHpcIl1cbn07XG52YXIgZmFDaXJjbGVBcnJvd0xlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLWFycm93LWxlZnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImFycm93LWNpcmNsZS1sZWZ0XCJdLCBcImYwYThcIiwgXCJNNTEyIDI1NkEyNTYgMjU2IDAgMSAwIDAgMjU2YTI1NiAyNTYgMCAxIDAgNTEyIDB6TTIzMSAxMjdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC03MSA3MUwzNzYgMjMyYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xODIuMSAwIDcxIDcxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBMMTE5IDI3M2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlMMjMxIDEyN3pcIl1cbn07XG52YXIgZmFBcnJvd0NpcmNsZUxlZnQgPSBmYUNpcmNsZUFycm93TGVmdDtcbnZhciBmYUdyb3VwQXJyb3dzUm90YXRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dyb3VwLWFycm93cy1yb3RhdGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0ZjZcIiwgXCJNMjAxLjEgNzEuOWMxNi45LTUgMjYuNi0yMi45IDIxLjUtMzkuOHMtMjIuOS0yNi42LTM5LjgtMjEuNWMtMjEuNSA2LjQtNDEuOCAxNS41LTYwLjYgMjdDMTE0LjMgMzQgMTA1LjQgMzIgOTYgMzJDNjAuNyAzMiAzMiA2MC43IDMyIDk2YzAgOS40IDIgMTguMyA1LjYgMjYuM2MtMTEuNSAxOC43LTIwLjYgMzktMjcgNjAuNmMtNSAxNi45IDQuNiAzNC44IDIxLjUgMzkuOHMzNC44LTQuNiAzOS44LTIxLjVjNC4zLTE0LjYgMTAuNC0yOC41IDE3LjktNDEuNGMyIC4yIDQuMSAuMyA2LjEgLjNjMzUuMyAwIDY0LTI4LjcgNjQtNjRjMC0yLjEtLjEtNC4xLS4zLTYuMWMxMi45LTcuNSAyNi44LTEzLjYgNDEuNC0xNy45em0xMjgtNjEuM2MtMTYuOS01LTM0LjggNC42LTM5LjggMjEuNXM0LjYgMzQuOCAyMS41IDM5LjhjMTQuNiA0LjMgMjguNSAxMC40IDQxLjQgMTcuOWMtLjIgMi0uMyA0LjEtLjMgNi4xYzAgMzUuMyAyOC43IDY0IDY0IDY0YzIuMSAwIDQuMS0uMSA2LjItLjNjNy41IDEyLjkgMTMuNiAyNi44IDE3LjkgNDEuNGM1IDE2LjkgMjIuOSAyNi42IDM5LjggMjEuNXMyNi42LTIyLjkgMjEuNS0zOS44Yy02LjQtMjEuNS0xNS41LTQxLjgtMjctNjAuNmMzLjYtOCA1LjYtMTYuOSA1LjYtMjYuM2MwLTM1LjMtMjguNy02NC02NC02NGMtOS40IDAtMTguMyAyLTI2LjMgNS42Yy0xOC43LTExLjUtMzktMjAuNi02MC42LTI3ek03MS45IDMxMC45Yy01LTE2LjktMjIuOS0yNi42LTM5LjgtMjEuNXMtMjYuNiAyMi45LTIxLjUgMzkuOGM2LjQgMjEuNSAxNS41IDQxLjggMjcgNjAuNkMzNCAzOTcuNyAzMiA0MDYuNiAzMiA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRjOS40IDAgMTguMy0yIDI2LjMtNS42YzE4LjcgMTEuNSAzOSAyMC42IDYwLjYgMjdjMTYuOSA1IDM0LjgtNC42IDM5LjgtMjEuNXMtNC42LTM0LjgtMjEuNS0zOS44Yy0xNC42LTQuMy0yOC41LTEwLjQtNDEuNC0xNy45Yy4yLTIgLjMtNC4xIC4zLTYuMmMwLTM1LjMtMjguNy02NC02NC02NGMtMi4xIDAtNC4xIC4xLTYuMiAuM2MtNy41LTEyLjktMTMuNi0yNi44LTE3LjktNDEuNHptNDI5LjQgMTguM2M1LTE2LjktNC42LTM0LjgtMjEuNS0zOS44cy0zNC44IDQuNi0zOS44IDIxLjVjLTQuMyAxNC42LTEwLjQgMjguNS0xNy45IDQxLjRjLTItLjItNC4xLS4zLTYuMi0uM2MtMzUuMyAwLTY0IDI4LjctNjQgNjRjMCAyLjEgLjEgNC4xIC4zIDYuMmMtMTIuOSA3LjUtMjYuOCAxMy42LTQxLjQgMTcuOWMtMTYuOSA1LTI2LjYgMjIuOS0yMS41IDM5LjhzMjIuOSAyNi42IDM5LjggMjEuNWMyMS41LTYuNCA0MS44LTE1LjUgNjAuNi0yN2M4IDMuNiAxNi45IDUuNiAyNi4zIDUuNmMzNS4zIDAgNjQtMjguNyA2NC02NGMwLTkuNC0yLTE4LjMtNS42LTI2LjNjMTEuNS0xOC43IDIwLjYtMzkgMjctNjAuNnpNMTkyLjggMjU2LjhjMC0xNS42IDUuNi0yOS45IDE0LjktNDEuMUwyMjMgMjMxYzYuNiA2LjYgMTcuOCAxLjkgMTcuOC03LjRWMTYzLjJjMC01LjctNC43LTEwLjQtMTAuNC0xMC40SDE2OS45Yy05LjMgMC0xMy45IDExLjItNy40IDE3LjhsMTEuMiAxMS4yYy0xNy45IDE5LjgtMjguOSA0Ni4yLTI4LjkgNzUuMWMwIDQzLjYgMjQuOSA4MS4zIDYxLjEgOTkuOGMxMS44IDYgMjYuMyAxLjQgMzIuMy0xMC40czEuNC0yNi4zLTEwLjQtMzIuM2MtMjAuOC0xMC42LTM0LjktMzIuMi0zNC45LTU3em05My4xLTU4LjZjMjAuOCAxMC42IDM0LjkgMzIuMiAzNC45IDU3YzAgMTUuNi01LjYgMjkuOS0xNC45IDQxLjFMMjkwLjYgMjgxYy02LjYtNi42LTE3LjgtMS45LTE3LjggNy40djYwLjVjMCA1LjcgNC43IDEwLjQgMTAuNCAxMC40aDYwLjVjOS4zIDAgMTMuOS0xMS4yIDcuNC0xNy44bC0xMS4yLTExLjJjMTcuOS0xOS44IDI4LjktNDYuMiAyOC45LTc1LjFjMC00My42LTI0LjktODEuMy02MS4xLTk5LjhjLTExLjgtNi0yNi4zLTEuNC0zMi4zIDEwLjRzLTEuNCAyNi4zIDEwLjQgMzIuM3pcIl1cbn07XG52YXIgZmFCb3dsRm9vZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3dsLWZvb2QnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0YzZcIiwgXCJNMCAxOTJjMC0zNS4zIDI4LjctNjQgNjQtNjRjLjUgMCAxLjEgMCAxLjYgMEM3MyA5MS41IDEwNS4zIDY0IDE0NCA2NGMxNSAwIDI5IDQuMSA0MC45IDExLjJDMTk4LjIgNDkuNiAyMjUuMSAzMiAyNTYgMzJzNTcuOCAxNy42IDcxLjEgNDMuMkMzMzkgNjguMSAzNTMgNjQgMzY4IDY0YzM4LjcgMCA3MSAyNy41IDc4LjQgNjRjLjUgMCAxLjEgMCAxLjYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGMwIDExLjctMy4xIDIyLjYtOC42IDMySDguNkMzLjEgMjE0LjYgMCAyMDMuNyAwIDE5MnptMCA5MS40QzAgMjY4LjMgMTIuMyAyNTYgMjcuNCAyNTZINDg0LjZjMTUuMSAwIDI3LjQgMTIuMyAyNy40IDI3LjRjMCA3MC41LTQ0LjQgMTMwLjctMTA2LjcgMTU0LjFMNDAzLjUgNDUyYy0yIDE2LTE1LjYgMjgtMzEuOCAyOEgxNDAuMmMtMTYuMSAwLTI5LjgtMTItMzEuOC0yOGwtMS44LTE0LjRDNDQuNCA0MTQuMSAwIDM1My45IDAgMjgzLjR6XCJdXG59O1xudmFyIGZhQ2FuZHlDYW5lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhbmR5LWNhbmUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3ODZcIiwgXCJNMzQ4LjggMTMxLjVjMy43LTIuMyA3LjktMy41IDEyLjItMy41YzEyLjcgMCAyMyAxMC4zIDIzIDIzdjUuNmMwIDkuOS01LjEgMTkuMS0xMy41IDI0LjNMMzAuMSAzOTMuN0MuMSA0MTIuNS05IDQ1MS45IDkuNyA0ODEuOXM1OC4yIDM5LjEgODguMiAyMC40TDQzOC40IDI4OS41YzQ1LjgtMjguNiA3My42LTc4LjggNzMuNi0xMzIuOFYxNTFDNTEyIDY3LjYgNDQ0LjQgMCAzNjEgMGMtMjguMyAwLTU2IDgtODAuMSAyM0wyNTQuMSAzOS43Yy0zMCAxOC43LTM5LjEgNTguMi0yMC40IDg4LjJzNTguMiAzOS4xIDg4LjIgMjAuNGwyNi44LTE2Ljh6TTI5OC40IDQ5LjhjOS4yLTUuNyAxOS4xLTEwLjEgMjkuNC0xMy4xTDM0OCA5Ny41Yy01LjcgMS40LTExLjIgMy43LTE2LjMgNi44bC0xMi42IDcuOUwyOTguNCA0OS44em04OC41IDUyLjdsNDYuMi00Ni4yYzguNSA2LjUgMTYuMSAxNC4xIDIyLjYgMjIuNmwtNDYuMiA0Ni4yYy01LjEtOS42LTEzLTE3LjUtMjIuNi0yMi42em0yOC45IDU5LjNsNjEuNiAyMC41Yy0yLjIgMTAuNS01LjggMjAuNy0xMC41IDMwLjJsLTYyLTIwLjdjNi4yLTguOCAxMC4xLTE5LjEgMTEtMzAuMXptLTg2LjEgODIuNWw2MC40IDM3LjctMzAuMiAxOC45LTYwLjQtMzcuNyAzMC4yLTE4Ljl6bS0xMDcuMiA2N2w2MC40IDM3LjctMzAuMiAxOC45LTYwLjQtMzcuNyAzMC4yLTE4Ljl6TTExOS4zIDM3NS43bDYwLjQgMzcuNy0zMC4yIDE4LjlMODkuMSAzOTQuNmwzMC4yLTE4Ljl6XCJdXG59O1xudmFyIGZhQXJyb3dEb3duV2lkZVNob3J0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LWRvd24td2lkZS1zaG9ydCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1wic29ydC1hbW91bnQtYXNjXCIsIFwic29ydC1hbW91bnQtZG93blwiXSwgXCJmMTYwXCIsIFwiTTE1MS42IDQ2OS42QzE0NS41IDQ3Ni4yIDEzNyA0ODAgMTI4IDQ4MHMtMTcuNS0zLjgtMjMuNi0xMC40bC04OC05NmMtMTEuOS0xMy0xMS4xLTMzLjMgMi00NS4yczMzLjMtMTEuMSA0NS4yIDJMOTYgMzY1LjdWNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMlYzNjUuN2wzMi40LTM1LjRjMTEuOS0xMyAzMi4yLTEzLjkgNDUuMi0yczEzLjkgMzIuMiAyIDQ1LjJsLTg4IDk2ek0zMjAgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyaDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyMHptMC0xMjhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJoOTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzIwem0wLTEyOGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkg0ODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzIwem0wLTEyOGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkg1NDRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzIwelwiXVxufTtcbnZhciBmYVNvcnRBbW91bnRBc2MgPSBmYUFycm93RG93bldpZGVTaG9ydDtcbnZhciBmYVNvcnRBbW91bnREb3duID0gZmFBcnJvd0Rvd25XaWRlU2hvcnQ7XG52YXIgZmFDbG91ZEJvbHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvdWQtYm9sdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzc4NSwgXCJ0aHVuZGVyc3Rvcm1cIl0sIFwiZjc2Y1wiLCBcIk0wIDIyNGMwIDUzIDQzIDk2IDk2IDk2aDQ3LjJMMjkwIDIwMi41YzE3LjYtMTQuMSA0Mi42LTE0IDYwLjIgLjJzMjIuOCAzOC42IDEyLjggNTguOEwzMzMuNyAzMjBIMzUyaDY0YzUzIDAgOTYtNDMgOTYtOTZzLTQzLTk2LTk2LTk2Yy0uNSAwLTEuMSAwLTEuNiAwYzEuMS01LjIgMS42LTEwLjUgMS42LTE2YzAtNDQuMi0zNS44LTgwLTgwLTgwYy0yNC4zIDAtNDYuMSAxMC45LTYwLjggMjhDMjU2LjUgMjQuMyAyMTkuMSAwIDE3NiAwQzExNC4xIDAgNjQgNTAuMSA2NCAxMTJjMCA3LjEgLjcgMTQuMSAxLjkgMjAuOEMyNy42IDE0NS40IDAgMTgxLjUgMCAyMjR6bTMzMC4xIDMuNmMtNS44LTQuNy0xNC4yLTQuNy0yMC4xLS4xbC0xNjAgMTI4Yy01LjMgNC4yLTcuNCAxMS40LTUuMSAxNy44czguMyAxMC43IDE1LjEgMTAuN2g3MC4xTDE3Ny43IDQ4OC44Yy0zLjQgNi43LTEuNiAxNC45IDQuMyAxOS42czE0LjIgNC43IDIwLjEgLjFsMTYwLTEyOGM1LjMtNC4yIDcuNC0xMS40IDUuMS0xNy44cy04LjMtMTAuNy0xNS4xLTEwLjdIMjgxLjlsNTIuNC0xMDQuOGMzLjQtNi43IDEuNi0xNC45LTQuMi0xOS42elwiXVxufTtcbnZhciBmYVRodW5kZXJzdG9ybSA9IGZhQ2xvdWRCb2x0O1xudmFyIGZhVGV4dFNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RleHQtc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInJlbW92ZS1mb3JtYXRcIl0sIFwiZjg3ZFwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDM1NS43IDI1My41IDQwMC4yIDk2SDUwM0w0OTcgMTIwLjJjLTQuMyAxNy4xIDYuMSAzNC41IDIzLjMgMzguOHMzNC41LTYuMSAzOC44LTIzLjNsMTEtNDQuMUM1NzcuNiA2MS4zIDU1NC43IDMyIDUyMy41IDMySDM3Ni4xaC0uM0gyMDQuNWMtMjIgMC00MS4yIDE1LTQ2LjYgMzYuNGwtNi4zIDI1LjJMMzguOCA1LjF6bTE2OCAxMzEuN2MuMS0uMyAuMi0uNyAuMy0xTDIxNyA5NkgzMzMuN0wzMDEuMyAyMTAuOGwtOTQuNS03NC4xek0zMjcuMyAzNTMuOUwyNzIuOSAzMTEgMjQzLjMgNDE2SDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkgzNTJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzA5LjhsMTcuNi02Mi4xelwiXVxufTtcbnZhciBmYVJlbW92ZUZvcm1hdCA9IGZhVGV4dFNsYXNoO1xudmFyIGZhRmFjZVNtaWxlV2luayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLXNtaWxlLXdpbmsnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1MjEsIFwic21pbGUtd2lua1wiXSwgXCJmNGRhXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xNjQuMSAzMjUuNUMxODIgMzQ2LjIgMjEyLjYgMzY4IDI1NiAzNjhzNzQtMjEuOCA5MS45LTQyLjVjNS44LTYuNyAxNS45LTcuNCAyMi42LTEuNnM3LjQgMTUuOSAxLjYgMjIuNkMzNDkuOCAzNzIuMSAzMTEuMSA0MDAgMjU2IDQwMHMtOTMuOC0yNy45LTExNi4xLTUzLjVjLTUuOC02LjctNS4xLTE2LjggMS42LTIyLjZzMTYuOC01LjEgMjIuNiAxLjZ6TTE0NC40IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xNTYuNCAyNS42Yy01LjMgNy4xLTE1LjMgOC41LTIyLjQgMy4ycy04LjUtMTUuMy0zLjItMjIuNGMzMC40LTQwLjUgOTEuMi00MC41IDEyMS42IDBjNS4zIDcuMSAzLjkgMTcuMS0zLjIgMjIuNHMtMTcuMSAzLjktMjIuNC0zLjJjLTE3LjYtMjMuNS01Mi44LTIzLjUtNzAuNCAwelwiXVxufTtcbnZhciBmYVNtaWxlV2luayA9IGZhRmFjZVNtaWxlV2luaztcbnZhciBmYUZpbGVXb3JkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtd29yZCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjFjMlwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzIwYzM1LjMgMCA2NC0yOC43IDY0LTY0VjE2MEgyNTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjBINjR6TTI1NiAwVjEyOEgzODRMMjU2IDB6TTExMSAyNTcuMWwyNi44IDg5LjIgMzEuNi05MC4zYzMuNC05LjYgMTIuNS0xNi4xIDIyLjctMTYuMXMxOS4zIDYuNCAyMi43IDE2LjFsMzEuNiA5MC4zTDI3MyAyNTcuMWMzLjgtMTIuNyAxNy4yLTE5LjkgMjkuOS0xNi4xczE5LjkgMTcuMiAxNi4xIDI5LjlsLTQ4IDE2MGMtMyAxMC0xMiAxNi45LTIyLjQgMTcuMXMtMTkuOC02LjItMjMuMi0xNi4xTDE5MiAzMzYuNmwtMzMuMyA5NS4zYy0zLjQgOS44LTEyLjggMTYuMy0yMy4yIDE2LjFzLTE5LjUtNy4xLTIyLjQtMTcuMWwtNDgtMTYwYy0zLjgtMTIuNyAzLjQtMjYuMSAxNi4xLTI5LjlzMjYuMSAzLjQgMjkuOSAxNi4xelwiXVxufTtcbnZhciBmYUZpbGVQb3dlcnBvaW50ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtcG93ZXJwb2ludCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjFjNFwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzIwYzM1LjMgMCA2NC0yOC43IDY0LTY0VjE2MEgyNTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjBINjR6TTI1NiAwVjEyOEgzODRMMjU2IDB6TTEzNiAyNDBoNjhjNDIgMCA3NiAzNCA3NiA3NnMtMzQgNzYtNzYgNzZIMTYwdjMyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0VjM2OCAyNjRjMC0xMy4zIDEwLjctMjQgMjQtMjR6bTY4IDEwNGMxNS41IDAgMjgtMTIuNSAyOC0yOHMtMTIuNS0yOC0yOC0yOEgxNjB2NTZoNDR6XCJdXG59O1xudmFyIGZhQXJyb3dzTGVmdFJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93cy1sZWZ0LXJpZ2h0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJhcnJvd3MtaFwiXSwgXCJmMDdlXCIsIFwiTTQwNi42IDM3NC42bDk2LTk2YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC05Ni05NmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMNDAyLjcgMjI0bC0yOTMuNSAwIDQxLjQtNDEuNGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDk2IDk2YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMTA5LjMgMjg4bDI5My41IDAtNDEuNCA0MS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwelwiXVxufTtcbnZhciBmYUFycm93c0ggPSBmYUFycm93c0xlZnRSaWdodDtcbnZhciBmYUhvdXNlTG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1sb2NrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTEwXCIsIFwiTTM4NCA0ODBjMCAxMS43IDMuMSAyMi42IDguNiAzMkgzOTJjLTIyLjEgMC00MC0xNy45LTQwLTQwVjQ0OCAzODRjMC0xNy43LTE0LjMtMzItMzItMzJIMjU2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnY2NCAyNGMwIDIyLjEtMTcuOSA0MC00MCA0MEgxNjAgMTI4LjFjLTEuNSAwLTMtLjEtNC41LS4yYy0xLjIgLjEtMi40IC4yLTMuNiAuMkgxMDRjLTIyLjEgMC00MC0xNy45LTQwLTQwVjM2MGMwLS45IDAtMS45IC4xLTIuOFYyODcuNkgzMmMtMTggMC0zMi0xNC0zMi0zMi4xYzAtOSAzLTE3IDEwLTI0TDI2Ni40IDhjNy03IDE1LTggMjItOHMxNSAyIDIxIDdMNDkwLjcgMTY2LjNDNDQ3LjIgMTgxLjcgNDE2IDIyMy4yIDQxNiAyNzJ2MjQuNmMtMTkuMSAxMS4xLTMyIDMxLjctMzIgNTUuNFY0ODB6TTUyOCAyNDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjQ4aDY0VjI3MmMwLTE3LjctMTQuMy0zMi0zMi0zMnptLTgwIDMyYzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODB2NDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMySDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMzUyYzAtMTcuNyAxNC4zLTMyIDMyLTMyVjI3MnpcIl1cbn07XG52YXIgZmFDbG91ZEFycm93RG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbG91ZC1hcnJvdy1kb3duJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbNjIzMzcsIFwiY2xvdWQtZG93bmxvYWRcIiwgXCJjbG91ZC1kb3dubG9hZC1hbHRcIl0sIFwiZjBlZFwiLCBcIk0xNDQgNDgwQzY0LjUgNDgwIDAgNDE1LjUgMCAzMzZjMC02Mi44IDQwLjItMTE2LjIgOTYuMi0xMzUuOWMtLjEtMi43LS4yLTUuNC0uMi04LjFjMC04OC40IDcxLjYtMTYwIDE2MC0xNjBjNTkuMyAwIDExMSAzMi4yIDEzOC43IDgwLjJDNDA5LjkgMTAyIDQyOC4zIDk2IDQ0OCA5NmM1MyAwIDk2IDQzIDk2IDk2YzAgMTIuMi0yLjMgMjMuOC02LjQgMzQuNkM1OTYgMjM4LjQgNjQwIDI5MC4xIDY0MCAzNTJjMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhIMTQ0em03OS0xNjdsODAgODBjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsODAtODBjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMzkgMzlWMTg0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0VjMxOC4xbC0zOS0zOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOXpcIl1cbn07XG52YXIgZmFDbG91ZERvd25sb2FkID0gZmFDbG91ZEFycm93RG93bjtcbnZhciBmYUNsb3VkRG93bmxvYWRBbHQgPSBmYUNsb3VkQXJyb3dEb3duO1xudmFyIGZhQ2hpbGRyZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hpbGRyZW4nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZTFcIiwgXCJNMTYwIDBhNjQgNjQgMCAxIDEgMCAxMjhBNjQgNjQgMCAxIDEgMTYwIDB6TTg4IDQ4MFY0MDBINzAuMmMtMTAuOSAwLTE4LjYtMTAuNy0xNS4yLTIxLjFsMzEuMS05My40TDU3LjUgMzIzLjNjLTEwLjcgMTQuMS0zMC44IDE2LjgtNDQuOCA2LjJzLTE2LjgtMzAuNy02LjItNDQuOEw2NS40IDIwN2MyMi40LTI5LjYgNTcuNS00NyA5NC42LTQ3czcyLjIgMTcuNCA5NC42IDQ3bDU4LjkgNzcuN2MxMC43IDE0LjEgNy45IDM0LjItNi4yIDQ0LjhzLTM0LjIgNy45LTQ0LjgtNi4ybC0yOC42LTM3LjhMMjY1IDM3OC45YzMuNSAxMC40LTQuMyAyMS4xLTE1LjIgMjEuMUgyMzJ2ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWNDAwSDE1MnY4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMnpNNDgwIDBhNjQgNjQgMCAxIDEgMCAxMjhBNjQgNjQgMCAxIDEgNDgwIDB6bS04IDM4NHY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzMDAuNUwzOTUuMSAzMjFjLTkuNCAxNS0yOS4yIDE5LjQtNDQuMSAxMHMtMTkuNC0yOS4yLTEwLTQ0LjFsNTEuNy04Mi4xYzE3LjYtMjcuOSA0OC4zLTQ0LjkgODEuMi00NC45aDEyLjNjMzMgMCA2My43IDE2LjkgODEuMiA0NC45TDYxOS4xIDI4N2M5LjQgMTUgNC45IDM0LjctMTAgNDQuMXMtMzQuNyA0LjktNDQuMS0xMEw1NTIgMzAwLjVWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjM4NEg0NzJ6XCJdXG59O1xudmFyIGZhQ2hhbGtib2FyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGFsa2JvYXJkJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJibGFja2JvYXJkXCJdLCBcImY1MWJcIiwgXCJNOTYgMzJDNjAuNyAzMiAzMiA2MC43IDMyIDk2VjM4NEg5NlY5NmwzODQgMFYzODRoNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRIOTZ6TTIyNCAzODR2MzJIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINTQ0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDQxNlYzODRjMC0xNy43LTE0LjMtMzItMzItMzJIMjU2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpcIl1cbn07XG52YXIgZmFCbGFja2JvYXJkID0gZmFDaGFsa2JvYXJkO1xudmFyIGZhVXNlckxhcmdlU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1sYXJnZS1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW1widXNlci1hbHQtc2xhc2hcIl0sIFwiZjRmYVwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDM4MS45IDI3NGM0OC41LTIzLjIgODIuMS03Mi43IDgyLjEtMTMwQzQ2NCA2NC41IDM5OS41IDAgMzIwIDBDMjUwLjQgMCAxOTIuNCA0OS4zIDE3OC45IDExNC45TDM4LjggNS4xek01NDUuNSA1MTJINTI4TDI4NC4zIDMyMGgtNTlDMTM2LjIgMzIwIDY0IDM5Mi4yIDY0IDQ4MS4zYzAgMTcgMTMuOCAzMC43IDMwLjcgMzAuN0g1NDUuM2wuMyAwelwiXVxufTtcbnZhciBmYVVzZXJBbHRTbGFzaCA9IGZhVXNlckxhcmdlU2xhc2g7XG52YXIgZmFFbnZlbG9wZU9wZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZW52ZWxvcGUtb3BlbicsXG4gIGljb246IFs1MTIsIDUxMiwgWzYyMTM1XSwgXCJmMmI2XCIsIFwiTTY0IDIwOC4xTDI1NiA2NS45IDQ0OCAyMDguMXY0Ny40TDI4OS41IDM3M2MtOS43IDcuMi0yMS40IDExLTMzLjUgMTFzLTIzLjgtMy45LTMzLjUtMTFMNjQgMjU1LjVWMjA4LjF6TTI1NiAwYy0xMi4xIDAtMjMuOCAzLjktMzMuNSAxMUwyNS45IDE1Ni43QzkuNiAxNjguOCAwIDE4Ny44IDAgMjA4LjFWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NFYyMDguMWMwLTIwLjMtOS42LTM5LjQtMjUuOS01MS40TDI4OS41IDExQzI3OS44IDMuOSAyNjguMSAwIDI1NiAwelwiXVxufTtcbnZhciBmYUhhbmRzaGFrZVNpbXBsZVNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzaGFrZS1zaW1wbGUtc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImhhbmRzaGFrZS1hbHQtc2xhc2hcIl0sIFwiZTA1ZlwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43bC0xMzUtMTA1LjhjLTEuMS0xMS4zLTYuMy0yMi4zLTE1LjMtMzAuN2wtMTM0LjItMTIzLTIzLjQgMTguMi0yNi0yMC4zIDc3LjItNjAuMWM3LTUuNCAxNy00LjIgMjIuNSAyLjhzNC4yIDE3LTIuOCAyMi41bC0yMC45IDE2LjJMNTUwLjIgMzUySDU5MmMyNi41IDAgNDgtMjEuNSA0OC00OFYxNzZjMC0yNi41LTIxLjUtNDgtNDgtNDhINTE2aC00LS43bC0zLjktMi41TDQzNC44IDc5Yy0xNS4zLTkuOC0zMy4yLTE1LTUxLjQtMTVjLTIxLjggMC00MyA3LjUtNjAgMjEuMmwtODkuNyA3Mi42LTI1LjgtMjAuMyA4MS44LTY2LjJjLTExLjYtNC45LTI0LjEtNy40LTM2LjgtNy40QzIzNCA2NCAyMTUuNyA2OS42IDIwMCA4MGwtMzUuNSAyMy43TDM4LjggNS4xek00MTMuNiA0MjEuOUw0MS4yIDEyOC41QzE3LjkgMTMxLjggMCAxNTEuOCAwIDE3NlYzMDRjMCAyNi41IDIxLjUgNDggNDggNDhIMTU2LjJsOTEuNCA4My40YzE5LjYgMTcuOSA0OS45IDE2LjUgNjcuOC0zLjFjNS41LTYuMSA5LjItMTMuMiAxMS4xLTIwLjZsMTcgMTUuNmMxOS41IDE3LjkgNDkuOSAxNi42IDY3LjgtMi45Yy44LS44IDEuNS0xLjcgMi4yLTIuNnpcIl1cbn07XG52YXIgZmFIYW5kc2hha2VBbHRTbGFzaCA9IGZhSGFuZHNoYWtlU2ltcGxlU2xhc2g7XG52YXIgZmFNYXR0cmVzc1BpbGxvdyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXR0cmVzcy1waWxsb3cnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MjVcIiwgXCJNMjU2IDY0SDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4VjM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NEgyNTZWNjR6bTMyIDM4NEg1NzZjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0SDI4OFY0NDh6TTY0IDE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmg2NGMxNy43IDAgMzIgMTQuMyAzMiAzMlYzNTJjMCAxNy43LTE0LjMgMzItMzIgMzJIOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjE2MHpcIl1cbn07XG52YXIgZmFHdWFyYW5pU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdndWFyYW5pLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUxOWFcIiwgXCJNMTkyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyVjY2LjdDNjkuMiA4MS45IDAgMTYwLjkgMCAyNTZzNjkuMiAxNzQuMSAxNjAgMTg5LjNWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWNDQ1LjNjOTAuOC0xNS4yIDE2MC05NC4yIDE2MC0xODkuM2MwLTE3LjctMTQuMy0zMi0zMi0zMkgyMjRWMTMyYzIyLjEgNS43IDQxLjggMTcuMSA1Ny42IDMyLjZjMTIuNiAxMi40IDMyLjkgMTIuMiA0NS4zLS40czEyLjItMzIuOS0uNS00NS4zQzI5OSA5MiAyNjMuNSA3My4zIDIyNCA2Ni43VjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek0xNjAgMTMyVjM4MGMtNTUuMi0xNC4yLTk2LTY0LjMtOTYtMTI0czQwLjgtMTA5LjggOTYtMTI0ek0yMjQgMzgwVjI4OGg5MmMtMTEuNiA0NS00NyA4MC40LTkyIDkyelwiXVxufTtcbnZhciBmYUFycm93c1JvdGF0ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3Mtcm90YXRlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NDcyLCBcInJlZnJlc2hcIiwgXCJzeW5jXCJdLCBcImYwMjFcIiwgXCJNMTA1LjEgMjAyLjZjNy43LTIxLjggMjAuMi00Mi4zIDM3LjgtNTkuOGM2Mi41LTYyLjUgMTYzLjgtNjIuNSAyMjYuMyAwTDM4Ni4zIDE2MEgzNTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDYzLjVjMCAwIDAgMCAwIDBoLjRjMTcuNyAwIDMyLTE0LjMgMzItMzJWODBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ2MzUuMkw0MTQuNCA5Ny42Yy04Ny41LTg3LjUtMjI5LjMtODcuNS0zMTYuOCAwQzczLjIgMTIyIDU1LjYgMTUwLjcgNDQuOCAxODEuNGMtNS45IDE2LjcgMi45IDM0LjkgMTkuNSA0MC44czM0LjktMi45IDQwLjgtMTkuNXpNMzkgMjg5LjNjLTUgMS41LTkuOCA0LjItMTMuNyA4LjJjLTQgNC02LjcgOC44LTguMSAxNGMtLjMgMS4yLS42IDIuNS0uOCAzLjhjLS4zIDEuNy0uNCAzLjQtLjQgNS4xVjQzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjM5Ni45bDE3LjYgMTcuNSAwIDBjODcuNSA4Ny40IDIyOS4zIDg3LjQgMzE2LjcgMGMyNC40LTI0LjQgNDIuMS01My4xIDUyLjktODMuN2M1LjktMTYuNy0yLjktMzQuOS0xOS41LTQwLjhzLTM0LjkgMi45LTQwLjggMTkuNWMtNy43IDIxLjgtMjAuMiA0Mi4zLTM3LjggNTkuOGMtNjIuNSA2Mi41LTE2My44IDYyLjUtMjI2LjMgMGwtLjEtLjFMMTI1LjYgMzUySDE2MGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg0OC40Yy0xLjYgMC0zLjIgLjEtNC44IC4zcy0zLjEgLjUtNC42IDF6XCJdXG59O1xudmFyIGZhUmVmcmVzaCA9IGZhQXJyb3dzUm90YXRlO1xudmFyIGZhU3luYyA9IGZhQXJyb3dzUm90YXRlO1xudmFyIGZhRmlyZUV4dGluZ3Vpc2hlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaXJlLWV4dGluZ3Vpc2hlcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyOTUxOV0sIFwiZjEzNFwiLCBcIk01MDAuMyA3LjNDNTA3LjcgMTMuMyA1MTIgMjIuNCA1MTIgMzJ2OTZjMCA5LjYtNC4zIDE4LjctMTEuNyAyNC43cy0xNy4yIDguNS0yNi42IDYuNmwtMTYwLTMyQzMwMS41IDEyNC45IDI5MiAxMTUuNyAyODkgMTA0SDIyNHYzNC44YzM3LjggMTggNjQgNTYuNSA2NCAxMDEuMlYzODRINjRWMjQwYzAtNDQuNyAyNi4yLTgzLjIgNjQtMTAxLjJWMTEwYy0zNi4yIDExLjEtNjYgMzYuOS04Mi4zIDcwLjVjLTUuOCAxMS45LTIwLjIgMTYuOS0zMi4xIDExLjFTLTMuMyAxNzEuNCAyLjUgMTU5LjVDMjYuNyAxMDkuOCA3Mi43IDcyLjYgMTI4IDYwLjRWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJoMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNTZoNjVjMy0xMS43IDEyLjUtMjAuOSAyNC43LTIzLjRsMTYwLTMyYzkuNC0xLjkgMTkuMSAuNiAyNi42IDYuNnpNMjg4IDQxNnYzMmMwIDM1LjMtMjguNyA2NC02NCA2NEgxMjhjLTM1LjMgMC02NC0yOC43LTY0LTY0VjQxNkgyODh6TTE3NiA5NmExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6XCJdXG59O1xudmFyIGZhQ3J1emVpcm9TaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NydXplaXJvLXNpZ24nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImUxNTJcIiwgXCJNOTYgMjU2YzAtODguNCA3MS42LTE2MCAxNjAtMTYwYzQxIDAgNzguMyAxNS40IDEwNi43IDQwLjdjMTMuMiAxMS44IDMzLjQgMTAuNyA0NS4yLTIuNXMxMC43LTMzLjQtMi41LTQ1LjJjLTM5LjYtMzUuNS05Mi01Ny0xNDkuMy01N0MxMzIuMyAzMiAzMiAxMzIuMyAzMiAyNTZzMTAwLjMgMjI0IDIyNCAyMjRjNTcuNCAwIDEwOS43LTIxLjYgMTQ5LjMtNTdjMTMuMi0xMS44IDE0LjMtMzIgMi41LTQ1LjJzLTMyLTE0LjMtNDUuMi0yLjVDMzM0LjMgNDAwLjYgMjk3IDQxNiAyNTYgNDE2VjMyMHYtOC43YzAtMTIuOCAxMC40LTIzLjMgMjMuMy0yMy4zYzQuNiAwIDkuMSAxLjQgMTIuOSAzLjlsMTAuMSA2LjdjMTQuNyA5LjggMzQuNiA1LjggNDQuNC04LjlzNS44LTM0LjYtOC45LTQ0LjRsLTEwLjEtNi43Yy0xNC4zLTkuNi0zMS4yLTE0LjctNDguNC0xNC43Yy0xMi40IDAtMjQuMiAyLjYtMzQuOSA3LjNjLTUuNS00LjUtMTIuNi03LjMtMjAuMy03LjNjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjU1LjNWMzIwdjgyLjdDMTM1LjUgMzc4IDk2IDMyMS42IDk2IDI1NnpcIl1cbn07XG52YXIgZmFHcmVhdGVyVGhhbkVxdWFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dyZWF0ZXItdGhhbi1lcXVhbCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjUzMlwiLCBcIk01Mi4xIDkzLjdDMzUuNyA4Ny4xIDI3LjcgNjguNSAzNC4zIDUyLjFzMjUuMi0yNC40IDQxLjYtMTcuOGwzMjAgMTI4QzQwOCAxNjcuMSA0MTYgMTc4LjkgNDE2IDE5MnMtOCAyNC45LTIwLjEgMjkuN2wtMzIwIDEyOGMtMTYuNCA2LjYtMzUtMS40LTQxLjYtMTcuOHMxLjQtMzUgMTcuOC00MS42TDI5Ny44IDE5MiA1Mi4xIDkzLjd6TTQxNiA0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJINDE2elwiXVxufTtcbnZhciBmYVNoaWVsZEhhbHZlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaGllbGQtaGFsdmVkJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJzaGllbGQtYWx0XCJdLCBcImYzZWRcIiwgXCJNMjU2IDBjNC42IDAgOS4yIDEgMTMuNCAyLjlMNDU3LjcgODIuOGMyMiA5LjMgMzguNCAzMSAzOC4zIDU3LjJjLS41IDk5LjItNDEuMyAyODAuNy0yMTMuNiAzNjMuMmMtMTYuNyA4LTM2LjEgOC01Mi44IDBDNTcuMyA0MjAuNyAxNi41IDIzOS4yIDE2IDE0MGMtLjEtMjYuMiAxNi4zLTQ3LjkgMzguMy01Ny4yTDI0Mi43IDIuOUMyNDYuOCAxIDI1MS40IDAgMjU2IDB6bTAgNjYuOFY0NDQuOEMzOTQgMzc4IDQzMS4xIDIzMC4xIDQzMiAxNDEuNEwyNTYgNjYuOGwwIDB6XCJdXG59O1xudmFyIGZhU2hpZWxkQWx0ID0gZmFTaGllbGRIYWx2ZWQ7XG52YXIgZmFCb29rQXRsYXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9vay1hdGxhcycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiYXRsYXNcIl0sIFwiZjU1OFwiLCBcIk0wIDk2QzAgNDMgNDMgMCA5NiAwSDM4NGgzMmMxNy43IDAgMzIgMTQuMyAzMiAzMlYzNTJjMCAxNy43LTE0LjMgMzItMzIgMzJ2NjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzg0IDk2Yy01MyAwLTk2LTQzLTk2LTk2Vjk2ek02NCA0MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJIMzUyVjM4NEg5NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTI0Ny40IDI4My44Yy0zLjcgMy43LTYuMiA0LjItNy40IDQuMnMtMy43LS41LTcuNC00LjJjLTMuOC0zLjctOC0xMC0xMS44LTE4LjljLTYuMi0xNC41LTEwLjgtMzQuMy0xMi4yLTU2LjloNjNjLTEuNSAyMi42LTYgNDIuNC0xMi4yIDU2LjljLTMuOCA4LjktOCAxNS4yLTExLjggMTguOXptNDIuNy05LjljNy4zLTE4LjMgMTItNDEuMSAxMy40LTY1LjloMzEuMWMtNC43IDI3LjktMjEuNCA1MS43LTQ0LjUgNjUuOXptMC0xNjMuOGMyMy4yIDE0LjIgMzkuOSAzOCA0NC41IDY1LjlIMzAzLjVjLTEuNC0yNC43LTYuMS00Ny41LTEzLjQtNjUuOXpNMzY4IDE5MmExMjggMTI4IDAgMSAwIC0yNTYgMCAxMjggMTI4IDAgMSAwIDI1NiAwek0xNDUuMyAyMDhoMzEuMWMxLjQgMjQuNyA2LjEgNDcuNSAxMy40IDY1LjljLTIzLjItMTQuMi0zOS45LTM4LTQ0LjUtNjUuOXptMzEuMS0zMkgxNDUuM2M0LjctMjcuOSAyMS40LTUxLjcgNDQuNS02NS45Yy03LjMgMTguMy0xMiA0MS4xLTEzLjQgNjUuOXptNTYuMS03NS44YzMuNy0zLjcgNi4yLTQuMiA3LjQtNC4yczMuNyAuNSA3LjQgNC4yYzMuOCAzLjcgOCAxMCAxMS44IDE4LjljNi4yIDE0LjUgMTAuOCAzNC4zIDEyLjIgNTYuOWgtNjNjMS41LTIyLjYgNi00Mi40IDEyLjItNTYuOWMzLjgtOC45IDgtMTUuMiAxMS44LTE4Ljl6XCJdXG59O1xudmFyIGZhQXRsYXMgPSBmYUJvb2tBdGxhcztcbnZhciBmYVZpcnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZpcnVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMDc0XCIsIFwiTTI4OCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlY0My41YzAgNDkuOS02MC4zIDc0LjktOTUuNiAzOS42TDEyMC4yIDc1QzEwNy43IDYyLjUgODcuNSA2Mi41IDc1IDc1cy0xMi41IDMyLjggMCA0NS4zbDguMiA4LjJDMTE4LjQgMTYzLjcgOTMuNCAyMjQgNDMuNSAyMjRIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDMuNWM0OS45IDAgNzQuOSA2MC4zIDM5LjYgOTUuNkw3NSAzOTEuOGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw4LjItOC4yYzM1LjMtMzUuMyA5NS42LTEwLjMgOTUuNiAzOS42VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjQ2OC41YzAtNDkuOSA2MC4zLTc0LjkgOTUuNi0zOS42bDguMiA4LjJjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOC4yLTguMmMtMzUuMy0zNS4zLTEwLjMtOTUuNiAzOS42LTk1LjZINDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDQ2OC41Yy00OS45IDAtNzQuOS02MC4zLTM5LjYtOTUuNmw4LjItOC4yYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC04LjIgOC4yQzM0OC4zIDExOC40IDI4OCA5My40IDI4OCA0My41VjMyek0xNzYgMjI0YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTEyOCA1NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6XCJdXG59O1xudmFyIGZhRW52ZWxvcGVDaXJjbGVDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdlbnZlbG9wZS1jaXJjbGUtY2hlY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZThcIiwgXCJNNDggNjRDMjEuNSA2NCAwIDg1LjUgMCAxMTJjMCAxNS4xIDcuMSAyOS4zIDE5LjIgMzguNEwyMzYuOCAzMTMuNmMxMS40IDguNSAyNyA4LjUgMzguNCAwbDU3LjQtNDNjMjMuOS01OS44IDc5LjctMTAzLjMgMTQ2LjMtMTA5LjhsMTMuOS0xMC40YzEyLjEtOS4xIDE5LjItMjMuMyAxOS4yLTM4LjRjMC0yNi41LTIxLjUtNDgtNDgtNDhINDh6TTI5NC40IDMzOS4yYy0yMi44IDE3LjEtNTQgMTcuMS03Ni44IDBMMCAxNzZWMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0SDM2MC4yQzMzNS4xIDQxNy42IDMyMCAzNzguNSAzMjAgMzM2YzAtNS42IC4zLTExLjEgLjgtMTYuNmwtMjYuNCAxOS44ek02NDAgMzM2YTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS03Ni43LTQzLjNjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZsLTcyIDcyYy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMGwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMEw0ODAgMzUzLjRsNjAuNy02MC43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwelwiXVxufTtcbnZhciBmYUxheWVyR3JvdXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGF5ZXItZ3JvdXAnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY1ZmRcIiwgXCJNMjY0LjUgNS4yYzE0LjktNi45IDMyLjEtNi45IDQ3IDBsMjE4LjYgMTAxYzguNSAzLjkgMTMuOSAxMi40IDEzLjkgMjEuOHMtNS40IDE3LjktMTMuOSAyMS44bC0yMTguNiAxMDFjLTE0LjkgNi45LTMyLjEgNi45LTQ3IDBMNDUuOSAxNDkuOEMzNy40IDE0NS44IDMyIDEzNy4zIDMyIDEyOHM1LjQtMTcuOSAxMy45LTIxLjhMMjY0LjUgNS4yek00NzYuOSAyMDkuNmw1My4yIDI0LjZjOC41IDMuOSAxMy45IDEyLjQgMTMuOSAyMS44cy01LjQgMTcuOS0xMy45IDIxLjhsLTIxOC42IDEwMWMtMTQuOSA2LjktMzIuMSA2LjktNDcgMEw0NS45IDI3Ny44QzM3LjQgMjczLjggMzIgMjY1LjMgMzIgMjU2czUuNC0xNy45IDEzLjktMjEuOGw1My4yLTI0LjYgMTUyIDcwLjJjMjMuNCAxMC44IDUwLjQgMTAuOCA3My44IDBsMTUyLTcwLjJ6bS0xNTIgMTk4LjJsMTUyLTcwLjIgNTMuMiAyNC42YzguNSAzLjkgMTMuOSAxMi40IDEzLjkgMjEuOHMtNS40IDE3LjktMTMuOSAyMS44bC0yMTguNiAxMDFjLTE0LjkgNi45LTMyLjEgNi45LTQ3IDBMNDUuOSA0MDUuOEMzNy40IDQwMS44IDMyIDM5My4zIDMyIDM4NHM1LjQtMTcuOSAxMy45LTIxLjhsNTMuMi0yNC42IDE1MiA3MC4yYzIzLjQgMTAuOCA1MC40IDEwLjggNzMuOCAwelwiXVxufTtcbnZhciBmYUFycm93c1RvRG90ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93cy10by1kb3QnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0YmVcIiwgXCJNMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNjRoMzJjMTIuOSAwIDI0LjYgNy44IDI5LjYgMTkuOHMyLjIgMjUuNy02LjkgMzQuOWwtNjQgNjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC02NC02NGMtOS4yLTkuMi0xMS45LTIyLjktNi45LTM0LjlzMTYuNi0xOS44IDI5LjYtMTkuOGgzMlYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMTY5LjQgMzkzLjRsNjQtNjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsNjQgNjRjOS4yIDkuMiAxMS45IDIyLjkgNi45IDM0LjlzLTE2LjYgMTkuOC0yOS42IDE5LjhIMjg4djMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjQ0OEgxOTJjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhzLTIuMi0yNS43IDYuOS0zNC45ek0zMiAyMjRINjRWMTkyYzAtMTIuOSA3LjgtMjQuNiAxOS44LTI5LjZzMjUuNy0yLjIgMzQuOSA2LjlsNjQgNjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTY0IDY0Yy05LjIgOS4yLTIyLjkgMTEuOS0zNC45IDYuOXMtMTkuOC0xNi42LTE5LjgtMjkuNlYyODhIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTI5Ny40IDU0LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zbDY0LTY0YzkuMi05LjIgMjIuOS0xMS45IDM0LjktNi45czE5LjggMTYuNiAxOS44IDI5LjZ2MzJoMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJINDQ4djMyYzAgMTIuOS03LjggMjQuNi0xOS44IDI5LjZzLTI1LjcgMi4yLTM0LjktNi45bC02NC02NHpNMjU2IDIyNGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhQXJjaHdheSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcmNod2F5JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNTU3XCIsIFwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5Nkg0ODBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzJ6bTAgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDk2aDY0VjM1MmMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2VjQ4MGg2NCA2NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMlYxMjhIMzJWNDE2elwiXVxufTtcbnZhciBmYUhlYXJ0Q2lyY2xlQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVhcnQtY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGZkXCIsIFwiTTQ3LjYgMzAwLjRMMjI4LjMgNDY5LjFjNy41IDcgMTcuNCAxMC45IDI3LjcgMTAuOXMyMC4yLTMuOSAyNy43LTEwLjlsMi42LTIuNEMyNjcuMiA0MzguNiAyNTYgNDA0LjYgMjU2IDM2OGMwLTk3LjIgNzguOC0xNzYgMTc2LTE3NmMyOC4zIDAgNTUgNi43IDc4LjcgMTguNWMuOS02LjUgMS4zLTEzIDEuMy0xOS42di01LjhjMC02OS45LTUwLjUtMTI5LjUtMTE5LjQtMTQxQzM0NyAzNi41IDMwMC42IDUxLjQgMjY4IDg0TDI1NiA5NiAyNDQgODRjLTMyLjYtMzIuNi03OS00Ny41LTEyNC42LTM5LjlDNTAuNSA1NS42IDAgMTE1LjIgMCAxODUuMXY1LjhjMCA0MS41IDE3LjIgODEuMiA0Ny42IDEwOS41ek01NzYgMzY4YTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS03Ni43LTQzLjNjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZsLTcyIDcyYy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMGwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMEw0MTYgMzg1LjRsNjAuNy02MC43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwelwiXVxufTtcbnZhciBmYUhvdXNlQ2hpbW5leUNyYWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLWNoaW1uZXktY3JhY2snLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImhvdXNlLWRhbWFnZVwiXSwgXCJmNmYxXCIsIFwiTTU3NS44IDI1NS41YzAgMTgtMTUgMzIuMS0zMiAzMi4xaC0zMmwuNyAxNjAuMmMuMiAzNS41LTI4LjUgNjQuMy02NCA2NC4zSDMyNi40TDI4OCA0NDhsODAuOC02Ny4zYzcuOC02LjUgNy42LTE4LjYtLjQtMjQuOUwyNTAuNiAyNjMuMmMtMTQuNi0xMS41LTMzLjggNy0yMi44IDIyTDI4OCAzNjhsLTg1LjUgNzEuMmMtNi4xIDUtNy41IDEzLjgtMy41IDIwLjVMMjMwLjQgNTEySDEyOC4xYy0zNS4zIDAtNjQtMjguNy02NC02NFYyODcuNkgzMmMtMTggMC0zMi0xNC0zMi0zMi4xYzAtOSAzLTE3IDEwLTI0TDI2Ni40IDhjNy03IDE1LTggMjItOHMxNSAyIDIxIDdMNDE2IDEwMC43VjY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyaDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjE4NWw1Mi44IDQ2LjRjOCA3IDEyIDE1IDExIDI0elwiXVxufTtcbnZhciBmYUhvdXNlRGFtYWdlID0gZmFIb3VzZUNoaW1uZXlDcmFjaztcbnZhciBmYUZpbGVaaXBwZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS16aXBwZXInLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImZpbGUtYXJjaGl2ZVwiXSwgXCJmMWM2XCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzMjBjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTYwSDI1NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMEg2NHpNMjU2IDBWMTI4SDM4NEwyNTYgMHpNOTYgNDhjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDExMmMtOC44IDAtMTYtNy4yLTE2LTE2em0wIDY0YzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgxMTJjLTguOCAwLTE2LTcuMi0xNi0xNnptMCA2NGMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMTEyYy04LjggMC0xNi03LjItMTYtMTZ6bS02LjMgNzEuOGMzLjctMTQgMTYuNC0yMy44IDMwLjktMjMuOGgxNC44YzE0LjUgMCAyNy4yIDkuNyAzMC45IDIzLjhsMjMuNSA4OC4yYzEuNCA1LjQgMi4xIDEwLjkgMi4xIDE2LjRjMCAzNS4yLTI4LjggNjMuNy02NCA2My43cy02NC0yOC41LTY0LTYzLjdjMC01LjUgLjctMTEuMSAyLjEtMTYuNGwyMy41LTg4LjJ6TTExMiAzMzZjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIMTEyelwiXVxufTtcbnZhciBmYUZpbGVBcmNoaXZlID0gZmFGaWxlWmlwcGVyO1xudmFyIGZhU3F1YXJlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZScsXG4gIGljb246IFs0NDgsIDUxMiwgWzk2MzIsIDk3MjMsIDk3MjQsIDYxNTkwXSwgXCJmMGM4XCIsIFwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJIMzg0YzM1LjMgMCA2NCAyOC43IDY0IDY0VjQxNmMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWOTZ6XCJdXG59O1xudmFyIGZhTWFydGluaUdsYXNzRW1wdHkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFydGluaS1nbGFzcy1lbXB0eScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZ2xhc3MtbWFydGluaVwiXSwgXCJmMDAwXCIsIFwiTTMyIDBDMTkuMSAwIDcuNCA3LjggMi40IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45TDIyNCAyNjkuM1Y0NDhIMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDk2IDk2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDI4OFYyNjkuM0w1MDIuNiA1NC42YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzQ5Mi45IDAgNDgwIDBIMzJ6TTI1NiAyMTAuN0wxMDkuMyA2NEg0MDIuN0wyNTYgMjEwLjd6XCJdXG59O1xudmFyIGZhR2xhc3NNYXJ0aW5pID0gZmFNYXJ0aW5pR2xhc3NFbXB0eTtcbnZhciBmYUNvdWNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvdWNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNGI4XCIsIFwiTTY0IDE2MEM2NCA4OS4zIDEyMS4zIDMyIDE5MiAzMkg0NDhjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjh2MzMuNmMtMzYuNSA3LjQtNjQgMzkuNy02NCA3OC40djQ4SDEyOFYyNzJjMC0zOC43LTI3LjUtNzEtNjQtNzguNFYxNjB6TTU0NCAyNzJjMC0yMC45IDEzLjQtMzguNyAzMi00NS4zYzUtMS44IDEwLjQtMi43IDE2LTIuN2MyNi41IDAgNDggMjEuNSA0OCA0OFY0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJINTc2Yy0xNy43IDAtMzItMTQuMy0zMi0zMkg5NmMwIDE3LjctMTQuMyAzMi0zMiAzMkgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMjcyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4YzUuNiAwIDExIDEgMTYgMi43YzE4LjYgNi42IDMyIDI0LjQgMzIgNDUuM3Y0OCAzMmgzMkg1MTJoMzJWMzIwIDI3MnpcIl1cbn07XG52YXIgZmFDZWRpU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjZWRpLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUwZGZcIiwgXCJNMjU2IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjY2LjdDMTAxLjIgODEuOSAzMiAxNjAuOSAzMiAyNTZzNjkuMiAxNzQuMSAxNjAgMTg5LjNWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWNDQ1LjNjMzAuOS01LjIgNTkuMi0xNy43IDgzLjItMzUuOGMxNC4xLTEwLjYgMTctMzAuNyA2LjQtNDQuOHMtMzAuNy0xNy00NC44LTYuNGMtMTMuMiA5LjktMjguMyAxNy4zLTQ0LjggMjEuNlYxMzJjMTYuNCA0LjIgMzEuNiAxMS42IDQ0LjggMjEuNmMxNC4xIDEwLjYgMzQuMiA3LjggNDQuOC02LjRzNy44LTM0LjItNi40LTQ0LjhjLTI0LTE4LTUyLjQtMzAuNi04My4yLTM1LjhWMzJ6TTE5MiAxMzJWMzgwYy01NS4yLTE0LjItOTYtNjQuMy05Ni0xMjRzNDAuOC0xMDkuOCA5Ni0xMjR6XCJdXG59O1xudmFyIGZhSXRhbGljID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2l0YWxpYycsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjAzM1wiLCBcIk0xMjggNjRjMC0xNy43IDE0LjMtMzIgMzItMzJIMzUyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDI5My4zTDE2MCA0MTZoNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJIOTAuN0wyMjQgOTZIMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpcIl1cbn07XG52YXIgZmFUYWJsZUNlbGxzQ29sdW1uTG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YWJsZS1jZWxscy1jb2x1bW4tbG9jaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTY3OFwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjUuMWMtMzcuOCA1LjQtNjkuNCAyOS42LTg1LjIgNjIuOUwzNjAgMjI0bDAgNjQgNTYgMCAwIDguNmMtMTkuMSAxMS4xLTMyIDMxLjctMzIgNTUuNGwtMjQgMCAwIDY0IDI0IDAgMCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTIwOCAwbDAgNjQgODggMCAwLTY0LTg4IDB6bTI0MCAwbC04OCAwIDAgNjQgODggMCAwLTY0ek0yMDggMjI0bDAgNjQgODggMCAwLTY0LTg4IDB6bTAgMTI4bDAgNjQgODggMCAwLTY0LTg4IDB6TTUyOCAyNDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNDggNjQgMCAwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMyem0tODAgMzJjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDQ4YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xNjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xMjhjMC0xNy43IDE0LjMtMzIgMzItMzJsMC00OHpcIl1cbn07XG52YXIgZmFDaHVyY2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2h1cmNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbOTk2Ml0sIFwiZjUxZFwiLCBcIk0zNDQgMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRWNDhIMjY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0aDMydjQ2LjRMMTgzLjMgMjEwYy0xNC41IDguNy0yMy4zIDI0LjMtMjMuMyA0MS4yVjUxMmg5NlY0MTZjMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NHY5Nmg5NlYyNTEuMmMwLTE2LjktOC44LTMyLjUtMjMuMy00MS4yTDM0NCAxNDIuNFY5NmgzMmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEgzNDRWMjR6TTI0LjkgMzMwLjNDOS41IDMzOC44IDAgMzU0LjkgMCAzNzIuNFY0NjRjMCAyNi41IDIxLjUgNDggNDggNDhoODBWMjczLjZMMjQuOSAzMzAuM3pNNTkyIDUxMmMyNi41IDAgNDgtMjEuNSA0OC00OFYzNzIuNGMwLTE3LjUtOS41LTMzLjYtMjQuOS00Mi4xTDUxMiAyNzMuNlY1MTJoODB6XCJdXG59O1xudmFyIGZhQ29tbWVudHNEb2xsYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tbWVudHMtZG9sbGFyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNjUzXCIsIFwiTTQxNiAxNzZjMCA5Ny4yLTkzLjEgMTc2LTIwOCAxNzZjLTM4LjIgMC03My45LTguNy0xMDQuNy0yMy45Yy03LjUgNC0xNiA3LjktMjUuMiAxMS40QzU5LjggMzQ2LjQgMzcuOCAzNTIgMTYgMzUyYy02LjkgMC0xMy4xLTQuNS0xNS4yLTExLjFzLjItMTMuOCA1LjgtMTcuOWwwIDAgMCAwIC4yLS4yYy4yLS4yIC42LS40IDEuMS0uOGMxLS44IDIuNS0yIDQuMy0zLjdjMy42LTMuMyA4LjUtOC4xIDEzLjMtMTQuM2M1LjUtNyAxMC43LTE1LjQgMTQuMi0yNC43QzE0LjcgMjUwLjMgMCAyMTQuNiAwIDE3NkMwIDc4LjggOTMuMSAwIDIwOCAwUzQxNiA3OC44IDQxNiAxNzZ6TTIzMS41IDM4M0MzNDguOSAzNzIuOSA0NDggMjg4LjMgNDQ4IDE3NmMwLTUuMi0uMi0xMC40LS42LTE1LjVDNTU1LjEgMTY3LjEgNjQwIDI0My4yIDY0MCAzMzZjMCAzOC42LTE0LjcgNzQuMy0zOS42IDEwMy40YzMuNSA5LjQgOC43IDE3LjcgMTQuMiAyNC43YzQuOCA2LjIgOS43IDExIDEzLjMgMTQuM2MxLjggMS42IDMuMyAyLjkgNC4zIDMuN2MuNSAuNCAuOSAuNyAxLjEgLjhsLjIgLjIgMCAwIDAgMGM1LjYgNC4xIDcuOSAxMS4zIDUuOCAxNy45Yy0yLjEgNi42LTguMyAxMS4xLTE1LjIgMTEuMWMtMjEuOCAwLTQzLjgtNS42LTYyLjEtMTIuNWMtOS4yLTMuNS0xNy44LTcuNC0yNS4yLTExLjRDNTA1LjkgNTAzLjMgNDcwLjIgNTEyIDQzMiA1MTJjLTk1LjYgMC0xNzYuMi01NC42LTIwMC41LTEyOXpNMjI4IDcyYzAtMTEtOS0yMC0yMC0yMHMtMjAgOS0yMCAyMFY4NmMtNy42IDEuNy0xNS4yIDQuNC0yMi4yIDguNWMtMTMuOSA4LjMtMjUuOSAyMi44LTI1LjggNDMuOWMuMSAyMC4zIDEyIDMzLjEgMjQuNyA0MC43YzExIDYuNiAyNC43IDEwLjggMzUuNiAxNGwxLjcgLjVjMTIuNiAzLjggMjEuOCA2LjggMjggMTAuN2M1LjEgMy4yIDUuOCA1LjQgNS45IDguMmMuMSA1LTEuOCA4LTUuOSAxMC41Yy01IDMuMS0xMi45IDUtMjEuNCA0LjdjLTExLjEtLjQtMjEuNS0zLjktMzUuMS04LjVjLTIuMy0uOC00LjctMS42LTcuMi0yLjRjLTEwLjUtMy41LTIxLjggMi4yLTI1LjMgMTIuNnMyLjIgMjEuOCAxMi42IDI1LjNjMS45IC42IDQgMS4zIDYuMSAyLjFsMCAwIDAgMGM4LjMgMi45IDE3LjkgNi4yIDI4LjIgOC40VjI4MGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMFYyNjYuMmM4LTEuNyAxNi00LjUgMjMuMi05YzE0LjMtOC45IDI1LjEtMjQuMSAyNC44LTQ1Yy0uMy0yMC4zLTExLjctMzMuNC0yNC42LTQxLjZjLTExLjUtNy4yLTI1LjktMTEuNi0zNy4xLTE1bC0uNy0uMmMtMTIuOC0zLjktMjEuOS02LjctMjguMy0xMC41Yy01LjItMy4xLTUuMy00LjktNS4zLTYuN2MwLTMuNyAxLjQtNi41IDYuMi05LjNjNS40LTMuMiAxMy42LTUuMSAyMS41LTVjOS42IC4xIDIwLjIgMi4yIDMxLjIgNS4yYzEwLjcgMi44IDIxLjYtMy41IDI0LjUtMTQuMnMtMy41LTIxLjYtMTQuMi0yNC41Yy02LjUtMS43LTEzLjctMy40LTIxLjEtNC43VjcyelwiXVxufTtcbnZhciBmYURlbW9jcmF0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RlbW9jcmF0JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNzQ3XCIsIFwiTTY0IDMyYzAtOC45IDMuOC0yMC45IDYuMi0yNy4zQzcxLjIgMS44IDc0IDAgNzcgMGMxLjkgMCAzLjggLjcgNS4yIDIuMUwxMjggNDUuNyAxNzMuOCAyLjFDMTc1LjIgLjcgMTc3LjEgMCAxNzkgMGMzIDAgNS44IDEuOCA2LjggNC43YzIuNCA2LjUgNi4yIDE4LjQgNi4yIDI3LjNjMCAyNi41LTIxLjkgNDItMjkuNSA0Ni42bDc2LjIgNzIuNmM2IDUuNyAxMy45IDguOCAyMi4xIDguOEg0ODBsMzIgMGM0MC4zIDAgNzguMiAxOSAxMDIuNCA1MS4ybDE5LjIgMjUuNmMxMC42IDE0LjEgNy43IDM0LjItNi40IDQ0LjhzLTM0LjIgNy43LTQ0LjgtNi40bC0xOS4yLTI1LjZjLTUuMy03LTExLjgtMTIuOC0xOS4yLTE3VjMyMEgxOTJsLTQwLjQtOTQuM2MtMy45LTkuMi0xNS4zLTEyLjYtMjMuNi03bC00Mi4xIDI4Yy05LjEgNi4xLTE5LjcgOS4zLTMwLjcgOS4zaC0yQzIzLjkgMjU2IDAgMjMyLjEgMCAyMDIuN2MwLTEyLjEgNC4xLTIzLjggMTEuNy0zMy4zTDg3LjYgNzQuNkM3OC4xIDY3LjQgNjQgNTMuMiA2NCAzMnpNNDQ4IDM1Mmg5NnY2NCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkg0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjQxNkgyODh2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJIMjI0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlY0MTYgMzUyaDk2SDQ0OHpNMjYwLjkgMjEwLjljLS45LTEuOC0yLjgtMi45LTQuOC0yLjlzLTMuOSAxLjEtNC44IDIuOWwtMTAuNSAyMC41LTIzLjUgMy4zYy0yIC4zLTMuNyAxLjYtNC4zIDMuNXMtLjEgMy45IDEuMyA1LjNsMTcgMTYtNCAyMi42Yy0uMyAxLjkgLjUgMy45IDIuMSA1czMuOCAxLjMgNS42IC40bDIxLTEwLjcgMjEgMTAuN2MxLjggLjkgNCAuOCA1LjYtLjRzMi41LTMuMSAyLjEtNWwtNC0yMi42IDE3LTE2YzEuNS0xLjQgMi0zLjQgMS4zLTUuM3MtMi4zLTMuMi00LjMtMy41bC0yMy41LTMuMy0xMC41LTIwLjV6TTM2OC4xIDIwOGMtMiAwLTMuOSAxLjEtNC44IDIuOWwtMTAuNSAyMC41LTIzLjUgMy4zYy0yIC4zLTMuNyAxLjYtNC4zIDMuNXMtLjEgMy45IDEuMyA1LjNsMTcgMTYtNCAyMi42Yy0uMyAxLjkgLjUgMy45IDIuMSA1czMuOCAxLjMgNS42IC40bDIxLTEwLjcgMjEgMTAuN2MxLjggLjkgNCAuOCA1LjYtLjRzMi41LTMuMSAyLjEtNWwtNC0yMi42IDE3LTE2YzEuNS0xLjQgMi0zLjQgMS40LTUuM3MtMi4zLTMuMi00LjMtMy41bC0yMy41LTMuMy0xMC41LTIwLjVjLS45LTEuOC0yLjgtMi45LTQuOC0yLjl6bTExNi44IDIuOWMtLjktMS44LTIuOC0yLjktNC44LTIuOXMtMy45IDEuMS00LjggMi45bC0xMC41IDIwLjUtMjMuNSAzLjNjLTIgLjMtMy43IDEuNi00LjMgMy41cy0uMSAzLjkgMS4zIDUuM2wxNyAxNi00IDIyLjZjLS4zIDEuOSAuNSAzLjkgMi4xIDVzMy44IDEuMyA1LjYgLjRsMjEtMTAuNyAyMSAxMC43YzEuOCAuOSA0IC44IDUuNi0uNHMyLjUtMy4xIDIuMS01bC00LTIyLjYgMTctMTZjMS41LTEuNCAyLTMuNCAxLjQtNS4zcy0yLjMtMy4yLTQuMy0zLjVsLTIzLjUtMy4zLTEwLjUtMjAuNXpcIl1cbn07XG52YXIgZmFaID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3onLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjJdLCBcIjVhXCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJIMzUyYzEyLjQgMCAyMy43IDcuMiAyOSAxOC40czMuNiAyNC41LTQuNCAzNC4xTDEwMC4zIDQxNkgzNTJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzJjLTEyLjQgMC0yMy43LTcuMi0yOS0xOC40cy0zLjYtMjQuNSA0LjQtMzQuMUwyODMuNyA5NkgzMkMxNC4zIDk2IDAgODEuNyAwIDY0elwiXVxufTtcbnZhciBmYVBlcnNvblNraWluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tc2tpaW5nJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTk3NSwgXCJza2lpbmdcIl0sIFwiZjdjOVwiLCBcIk0zODAuNyA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek0yLjcgMjY4LjljNi4xLTExLjggMjAuNi0xNi4zIDMyLjQtMTAuMkwyMzIuNyAzNjEuM2w0Ni4yLTY5LjItNzUuMS03NS4xYy0xNC42LTE0LjYtMjAuNC0zMy45LTE4LjQtNTIuMWwxMDguOCA1MiAzOS4zIDM5LjNjMTYuMiAxNi4yIDE4LjcgNDEuNSA2IDYwLjZMMjg5LjggMzkxbDEyOC43IDY2LjhjMTMuNiA3LjEgMjkuOCA3LjIgNDMuNiAuM2wxNS4yLTcuNmMxMS45LTUuOSAyNi4zLTEuMSAzMi4yIDEwLjdzMS4xIDI2LjMtMTAuNyAzMi4ybC0xNS4yIDcuNmMtMjcuNSAxMy43LTU5LjkgMTMuNS04Ny4yLS43TDEyLjkgMzAxLjNDMS4yIDI5NS4yLTMuNCAyODAuNyAyLjcgMjY4Ljl6TTExOC45IDY1LjZMMTM3IDc0LjJsOC43LTE3LjRjNC03LjkgMTMuNi0xMS4xIDIxLjUtNy4yczExLjEgMTMuNiA3LjIgMjEuNWwtOC41IDE2LjkgNTQuNyAyNi4yYzEuNS0uNyAzLjEtMS40IDQuNy0yLjFsODMuNC0zMy40YzM0LjItMTMuNyA3Mi44IDQuMiA4NC41IDM5LjJsMTcuMSA1MS4yIDUyLjEgMjYuMWMxNS44IDcuOSAyMi4yIDI3LjEgMTQuMyA0Mi45cy0yNy4xIDIyLjItNDIuOSAxNC4zbC01OC4xLTI5Yy0xMS40LTUuNy0yMC0xNS43LTI0LjEtMjcuOGwtNS44LTE3LjMtMjcuMyAxMi4xLTYuOCAzLTYuNy0zLjJMMTUxLjUgMTE2LjdsLTkuMiAxOC40Yy00IDcuOS0xMy42IDExLjEtMjEuNSA3LjJzLTExLjEtMTMuNi03LjItMjEuNWw5LTE4LTE3LjYtOC40Yy04LTMuOC0xMS4zLTEzLjQtNy41LTIxLjNzMTMuNC0xMS4zIDIxLjMtNy41elwiXVxufTtcbnZhciBmYVNraWluZyA9IGZhUGVyc29uU2tpaW5nO1xudmFyIGZhUm9hZExvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncm9hZC1sb2NrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTY3XCIsIFwiTTI4OCAzMkgyMTMuMmMtMjcuMSAwLTUxLjMgMTcuMS02MC4zIDQyLjZMMzUuMSA0MDcuMmMtMi4xIDUuOS0zLjEgMTItMy4xIDE4LjJDMzIgNDU1LjUgNTYuNSA0ODAgODYuNiA0ODBIMjg4VjQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMydjY0aDMyVjM1MmMwLTIzLjcgMTIuOS00NC40IDMyLTU1LjRWMjcyYzAtNTguMyA0NC42LTEwNi4yIDEwMS41LTExMS41TDQ4Ny4xIDc0LjZDNDc4IDQ5LjEgNDUzLjkgMzIgNDI2LjggMzJIMzUyVjk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjMyem02NCAxOTJ2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMjI0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6bTE3NiAxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnY0OEg0OTZWMjcyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem0tODAgMzJ2NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyVjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMkg2MDhjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzUyYzAtMTcuNy0xNC4zLTMyLTMyLTMyVjI3MmMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MHpcIl1cbn07XG52YXIgZmFBID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2EnLFxuICBpY29uOiBbMzg0LCA1MTIsIFs5N10sIFwiNDFcIiwgXCJNMjIxLjUgNTEuN0MyMTYuNiAzOS44IDIwNC45IDMyIDE5MiAzMnMtMjQuNiA3LjgtMjkuNSAxOS43bC0xMjAgMjg4LTQwIDk2Yy02LjggMTYuMyAuOSAzNSAxNy4yIDQxLjhzMzUtLjkgNDEuOC0xNy4yTDkzLjMgMzg0SDI5MC43bDMxLjggNzYuM2M2LjggMTYuMyAyNS41IDI0IDQxLjggMTcuMnMyNC0yNS41IDE3LjItNDEuOGwtNDAtOTYtMTIwLTI4OHpNMjY0IDMyMEgxMjBsNzItMTcyLjhMMjY0IDMyMHpcIl1cbn07XG52YXIgZmFUZW1wZXJhdHVyZUFycm93RG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW1wZXJhdHVyZS1hcnJvdy1kb3duJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJ0ZW1wZXJhdHVyZS1kb3duXCJdLCBcImUwM2ZcIiwgXCJNMTI4IDExMmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4VjI3Ni41YzAgMTcuMyA3LjEgMzEuOSAxNS4zIDQyLjVDMjQ5LjggMzMyLjYgMjU2IDM0OS41IDI1NiAzNjhjMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBjMC0xOC41IDYuMi0zNS40IDE2LjctNDguOWM4LjItMTAuNiAxNS4zLTI1LjIgMTUuMy00Mi41VjExMnpNMTc2IDBDMTE0LjEgMCA2NCA1MC4xIDY0IDExMlYyNzYuNGMwIC4xLS4xIC4zLS4yIC42Yy0uMiAuNi0uOCAxLjYtMS43IDIuOEM0My4yIDMwNC4yIDMyIDMzNC44IDMyIDM2OGMwIDc5LjUgNjQuNSAxNDQgMTQ0IDE0NHMxNDQtNjQuNSAxNDQtMTQ0YzAtMzMuMi0xMS4yLTYzLjgtMzAuMS04OC4xYy0uOS0xLjItMS41LTIuMi0xLjctMi44Yy0uMS0uMy0uMi0uNS0uMi0uNlYxMTJDMjg4IDUwLjEgMjM3LjkgMCAxNzYgMHptMCA0MTZjMjYuNSAwIDQ4LTIxLjUgNDgtNDhjMC0yMC45LTEzLjQtMzguNy0zMi00NS4zVjI3MmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNnY1MC43Yy0xOC42IDYuNi0zMiAyNC40LTMyIDQ1LjNjMCAyNi41IDIxLjUgNDggNDggNDh6bTMzNi02NEg0ODBWNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWMzUySDM4NGMtMTIuOSAwLTI0LjYgNy44LTI5LjYgMTkuOHMtMi4yIDI1LjcgNi45IDM0LjlsNjQgNjRjNiA2IDE0LjEgOS40IDIyLjYgOS40czE2LjYtMy40IDIyLjYtOS40bDY0LTY0YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45cy0xNi42LTE5LjgtMjkuNi0xOS44elwiXVxufTtcbnZhciBmYVRlbXBlcmF0dXJlRG93biA9IGZhVGVtcGVyYXR1cmVBcnJvd0Rvd247XG52YXIgZmFGZWF0aGVyUG9pbnRlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmZWF0aGVyLXBvaW50ZWQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImZlYXRoZXItYWx0XCJdLCBcImY1NmJcIiwgXCJNMjc4LjUgMjE1LjZMMjMgNDcxYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNzQuOC03NC44YzcuNCA0LjYgMTUuMyA4LjIgMjMuOCAxMC41QzIwMC4zIDQ1Mi44IDI3MCA0NTQuNSAzMzggNDA5LjRjMTIuMi04LjEgNS44LTI1LjQtOC44LTI1LjRsLTE2LjEgMGMtNS4xIDAtOS4yLTQuMS05LjItOS4yYzAtNC4xIDIuNy03LjYgNi41LTguOGw5Ny43LTI5LjNjMy40LTEgNi40LTMuMSA4LjQtNi4xYzQuNC02LjQgOC42LTEyLjkgMTIuNi0xOS42YzYuMi0xMC4zLTEuNS0yMy0xMy41LTIzbC0zOC42IDBjLTUuMSAwLTkuMi00LjEtOS4yLTkuMmMwLTQuMSAyLjctNy42IDYuNS04LjhsODAuOS0yNC4zYzQuNi0xLjQgOC40LTQuOCAxMC4yLTkuM0M0OTQuNSAxNjMgNTA3LjggODYuMSA1MTEuOSAzNi44Yy44LTkuOS0zLTE5LjYtMTAtMjYuNnMtMTYuNy0xMC44LTI2LjYtMTBDMzkxLjUgNyAyMjguNSA0MC41IDEzNy40IDEzMS42QzU3LjMgMjExLjcgNTYuNyAzMDIuMyA3MS4zIDM1Ni40YzIuMSA3LjkgMTIgOS42IDE3LjggMy44TDI1My42IDE5NS44YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwYzUuNCA1LjQgNi4xIDEzLjYgMi4yIDE5Ljh6XCJdXG59O1xudmFyIGZhRmVhdGhlckFsdCA9IGZhRmVhdGhlclBvaW50ZWQ7XG52YXIgZmFQID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3AnLFxuICBpY29uOiBbMzIwLCA1MTIsIFsxMTJdLCBcIjUwXCIsIFwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJoOTZjODguNCAwIDE2MCA3MS42IDE2MCAxNjBzLTcxLjYgMTYwLTE2MCAxNjBINjR2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzIwIDk2ek02NCAyODhoOTZjNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZINjRWMjg4elwiXVxufTtcbnZhciBmYVNub3dmbGFrZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzbm93Zmxha2UnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMDA1MiwgMTAwNTRdLCBcImYyZGNcIiwgXCJNMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNjIuMWwxNS0xNWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTQ5IDQ5djcwLjNsNjEuNC0zNS44IDE3LjctNjYuMWMzLjQtMTIuOCAxNi42LTIwLjQgMjkuNC0xN3MyMC40IDE2LjYgMTcgMjkuNGwtNS4yIDE5LjMgMjMuNi0xMy44YzE1LjMtOC45IDM0LjktMy43IDQzLjggMTEuNXMzLjggMzQuOS0xMS41IDQzLjhsLTI1LjMgMTQuOCAyMS43IDUuOGMxMi44IDMuNCAyMC40IDE2LjYgMTcgMjkuNHMtMTYuNiAyMC40LTI5LjQgMTdsLTY3LjctMTguMUwyODcuNSAyNTZsNjAuOSAzNS41IDY3LjctMTguMWMxMi44LTMuNCAyNiA0LjIgMjkuNCAxN3MtNC4yIDI2LTE3IDI5LjRsLTIxLjcgNS44IDI1LjMgMTQuOGMxNS4zIDguOSAyMC40IDI4LjUgMTEuNSA0My44cy0yOC41IDIwLjQtNDMuOCAxMS41bC0yMy42LTEzLjggNS4yIDE5LjNjMy40IDEyLjgtNC4yIDI2LTE3IDI5LjRzLTI2LTQuMi0yOS40LTE3bC0xNy43LTY2LjFMMjU2IDMxMS43djcwLjNsNDkgNDljOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtMTUtMTVWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjQ0OS45bC0xNSAxNWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw0OS00OVYzMTEuN2wtNjEuNCAzNS44LTE3LjcgNjYuMWMtMy40IDEyLjgtMTYuNiAyMC40LTI5LjQgMTdzLTIwLjQtMTYuNi0xNy0yOS40bDUuMi0xOS4zTDQ4LjEgMzk1LjZjLTE1LjMgOC45LTM0LjkgMy43LTQzLjgtMTEuNXMtMy43LTM0LjkgMTEuNS00My44bDI1LjMtMTQuOC0yMS43LTUuOGMtMTIuOC0zLjQtMjAuNC0xNi42LTE3LTI5LjRzMTYuNi0yMC40IDI5LjQtMTdsNjcuNyAxOC4xTDE2MC41IDI1NiA5OS42IDIyMC41IDMxLjkgMjM4LjZjLTEyLjggMy40LTI2LTQuMi0yOS40LTE3czQuMi0yNiAxNy0yOS40bDIxLjctNS44TDE1LjkgMTcxLjZDLjYgMTYyLjctNC41IDE0My4xIDQuNCAxMjcuOXMyOC41LTIwLjQgNDMuOC0xMS41bDIzLjYgMTMuOC01LjItMTkuM2MtMy40LTEyLjggNC4yLTI2IDE3LTI5LjRzMjYgNC4yIDI5LjQgMTdsMTcuNyA2Ni4xTDE5MiAyMDAuM1YxMjkuOUwxNDMgODFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwxNSAxNVYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpcIl1cbn07XG52YXIgZmFOZXdzcGFwZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbmV3c3BhcGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MjQwXSwgXCJmMWVhXCIsIFwiTTk2IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0SDQ0OGMzNS4zIDAgNjQgMjguNyA2NCA2NFY0MTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRIODBjLTQ0LjIgMC04MC0zNS44LTgwLTgwVjEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyVjQwMGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2Vjk2em02NCAyNHY4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNEgyOTZjMTMuMyAwIDI0LTEwLjcgMjQtMjRWMTIwYzAtMTMuMy0xMC43LTI0LTI0LTI0SDE4NGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6bTIwOC04YzAgOC44IDcuMiAxNiAxNiAxNmg0OGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgzODRjLTguOCAwLTE2IDcuMi0xNiAxNnptMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZoNDhjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIMzg0Yy04LjggMC0xNiA3LjItMTYgMTZ6TTE2MCAzMDRjMCA4LjggNy4yIDE2IDE2IDE2SDQzMmM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgxNzZjLTguOCAwLTE2IDcuMi0xNiAxNnptMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZINDMyYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDE3NmMtOC44IDAtMTYgNy4yLTE2IDE2elwiXVxufTtcbnZhciBmYVJlY3RhbmdsZUFkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JlY3RhbmdsZS1hZCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiYWRcIl0sIFwiZjY0MVwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEg1MTJjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6TTIyOS41IDE3My4zbDcyIDE0NGM1LjkgMTEuOSAxLjEgMjYuMy0xMC43IDMyLjJzLTI2LjMgMS4xLTMyLjItMTAuN0wyNTMuMiAzMjhIMTYyLjhsLTUuNCAxMC43Yy01LjkgMTEuOS0yMC4zIDE2LjctMzIuMiAxMC43cy0xNi43LTIwLjMtMTAuNy0zMi4ybDcyLTE0NGM0LjEtOC4xIDEyLjQtMTMuMyAyMS41LTEzLjNzMTcuNCA1LjEgMjEuNSAxMy4zek0yMDggMjM3LjdMMTg2LjggMjgwaDQyLjNMMjA4IDIzNy43ek0zOTIgMjU2YTI0IDI0IDAgMSAwIDAgNDggMjQgMjQgMCAxIDAgMC00OHptMjQtNDMuOVYxODRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHY5NiA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNGMtNi42IDAtMTIuNi0yLjctMTctN2MtOS40IDQuNS0xOS45IDctMzEgN2MtMzkuOCAwLTcyLTMyLjItNzItNzJzMzIuMi03MiA3Mi03MmM4LjQgMCAxNi41IDEuNCAyNCA0LjF6XCJdXG59O1xudmFyIGZhQWQgPSBmYVJlY3RhbmdsZUFkO1xudmFyIGZhQ2lyY2xlQXJyb3dSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtYXJyb3ctcmlnaHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImFycm93LWNpcmNsZS1yaWdodFwiXSwgXCJmMGE5XCIsIFwiTTAgMjU2YTI1NiAyNTYgMCAxIDAgNTEyIDBBMjU2IDI1NiAwIDEgMCAwIDI1NnpNMjgxIDM4NWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw3MS03MUwxMzYgMjgwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDE4Mi4xIDAtNzEtNzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMEwzOTMgMjM5YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45TDI4MSAzODV6XCJdXG59O1xudmFyIGZhQXJyb3dDaXJjbGVSaWdodCA9IGZhQ2lyY2xlQXJyb3dSaWdodDtcbnZhciBmYUZpbHRlckNpcmNsZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbHRlci1jaXJjbGUteG1hcmsnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImUxN2JcIiwgXCJNMy45IDIyLjlDMTAuNSA4LjkgMjQuNSAwIDQwIDBINDcyYzE1LjUgMCAyOS41IDguOSAzNi4xIDIyLjlzNC42IDMwLjUtNS4yIDQyLjVMMzk2LjQgMTk1LjZDMzE2LjIgMjEyLjEgMjU2IDI4MyAyNTYgMzY4YzAgMjcuNCA2LjMgNTMuNCAxNy41IDc2LjVjLTEuNi0uOC0zLjItMS44LTQuNy0yLjlsLTY0LTQ4Yy04LjEtNi0xMi44LTE1LjUtMTIuOC0yNS42VjI4OC45TDkgNjUuM0MtLjcgNTMuNC0yLjggMzYuOCAzLjkgMjIuOXpNNDMyIDIyNGExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTU5LjMgMTA3LjNjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZzLTE2LjQtNi4yLTIyLjYgMEw0MzIgMzQ1LjRsLTM2LjctMzYuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNkw0MDkuNCAzNjhsLTM2LjcgMzYuN2MtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwTDQzMiAzOTAuNmwzNi43IDM2LjdjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42TDQ1NC42IDM2OGwzNi43LTM2Ljd6XCJdXG59O1xudmFyIGZhTG9jdXN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xvY3VzdCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTUyMFwiLCBcIk0zMTIgMzJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRoMTZjOTguNyAwIDE4MC42IDcxLjQgMTk3IDE2NS40Yy05LTMuNS0xOC44LTUuNC0yOS01LjRINDMxLjhsLTQxLjgtOTcuNWMtMy40LTcuOS0xMC44LTEzLjQtMTkuMy0xNC40cy0xNyAyLjctMjIuMSA5LjZsLTQwLjkgNTUuNS0yMS43LTUwLjdjLTMuMy03LjgtMTAuNS0xMy4yLTE4LjktMTQuM3MtMTYuNyAyLjMtMjIgOC45bC0yNDAgMzA0Yy04LjIgMTAuNC02LjQgMjUuNSA0IDMzLjdzMjUuNSA2LjQgMzMuNy00bDc5LjQtMTAwLjUgNDMgMTYuNC00MC41IDU1Yy03LjkgMTAuNy01LjYgMjUuNyA1LjEgMzMuNnMyNS43IDUuNiAzMy42LTUuMUwyMTUuMSA0MDBoNzQuNWwtMjkuMyA0Mi4zYy03LjUgMTAuOS00LjggMjUuOCA2LjEgMzMuNHMyNS44IDQuOCAzMy40LTYuMUwzNDggNDAwaDgwLjRsMzguOCA2Ny45YzYuNiAxMS41IDIxLjIgMTUuNSAzMi43IDguOXMxNS41LTIxLjIgOC45LTMyLjdMNDgzLjYgNDAwSDQ5NmM0NC4xIDAgNzkuOC0zNS43IDgwLTc5LjdjMC0uMSAwLS4yIDAtLjNWMjgwQzU3NiAxNDMgNDY1IDMyIDMyOCAzMkgzMTJ6bTUwLjUgMTY4bDE3LjEgNDBIMzMzbDI5LjUtNDB6bS04Ny43IDM4LjFsLTEuNCAxLjlIMjI1LjFsMzIuNy00MS41IDE2LjkgMzkuNXpNODguOCAyNDBDNTcuNCAyNDAgMzIgMjY1LjQgMzIgMjk2LjhjMCAxNS41IDYuMyAzMCAxNi45IDQwLjRMMTI2LjcgMjQwSDg4Ljh6TTQ5NiAyODhhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyelwiXVxufTtcbnZhciBmYVNvcnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc29ydCcsXG4gIGljb246IFszMjAsIDUxMiwgW1widW5zb3J0ZWRcIl0sIFwiZjBkY1wiLCBcIk0xMzcuNCA0MS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDEyOCAxMjhjOS4yIDkuMiAxMS45IDIyLjkgNi45IDM0LjlzLTE2LjYgMTkuOC0yOS42IDE5LjhIMzJjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhzLTIuMi0yNS43IDYuOS0zNC45bDEyOC0xMjh6bTAgNDI5LjNsLTEyOC0xMjhjLTkuMi05LjItMTEuOS0yMi45LTYuOS0zNC45czE2LjYtMTkuOCAyOS42LTE5LjhIMjg4YzEyLjkgMCAyNC42IDcuOCAyOS42IDE5LjhzMi4yIDI1LjctNi45IDM0LjlsLTEyOCAxMjhjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwelwiXVxufTtcbnZhciBmYVVuc29ydGVkID0gZmFTb3J0O1xudmFyIGZhTGlzdE9sID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xpc3Qtb2wnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImxpc3QtMS0yXCIsIFwibGlzdC1udW1lcmljXCJdLCBcImYwY2JcIiwgXCJNMjQgNTZjMC0xMy4zIDEwLjctMjQgMjQtMjRIODBjMTMuMyAwIDI0IDEwLjcgMjQgMjRWMTc2aDE2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDQwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0SDU2VjgwSDQ4QzM0LjcgODAgMjQgNjkuMyAyNCA1NnpNODYuNyAzNDEuMmMtNi41LTcuNC0xOC4zLTYuOS0yNCAxLjJMNTEuNSAzNTcuOWMtNy43IDEwLjgtMjIuNyAxMy4zLTMzLjUgNS42cy0xMy4zLTIyLjctNS42LTMzLjVsMTEuMS0xNS42YzIzLjctMzMuMiA3Mi4zLTM1LjYgOTkuMi00LjljMjEuMyAyNC40IDIwLjggNjAuOS0xLjEgODQuN0w4Ni44IDQzMkgxMjBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIMzJjLTkuNSAwLTE4LjItNS42LTIyLTE0LjRzLTIuMS0xOC45IDQuMy0yNS45bDcyLTc4YzUuMy01LjggNS40LTE0LjYgLjMtMjAuNXpNMjI0IDY0SDQ4MGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgyMjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTAgMTYwSDQ4MGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgyMjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTAgMTYwSDQ4MGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgyMjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6XCJdXG59O1xudmFyIGZhTGlzdDEyID0gZmFMaXN0T2w7XG52YXIgZmFMaXN0TnVtZXJpYyA9IGZhTGlzdE9sO1xudmFyIGZhUGVyc29uRHJlc3NCdXJzdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tZHJlc3MtYnVyc3QnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NDRcIiwgXCJNNTI4IDQ4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTM5MC4yIDM4NEg0MDh2OTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzODRoMTZ2OTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzODRoMTcuOGMxMC45IDAgMTguNi0xMC43IDE1LjItMjEuMUw1NDYuNyAyNDguMWwzMy45IDU2LjNjOS4xIDE1LjEgMjguOCAyMCA0My45IDEwLjlzMjAtMjguOCAxMC45LTQzLjlsLTUzLjYtODkuMmMtMjAuMi0zMy43LTU2LjctNTQuMy05Ni01NC4zSDQ3NC4yYy0zOS4zIDAtNzUuNyAyMC42LTk2IDU0LjNsLTUzLjYgODkuMmMtOS4xIDE1LjEtNC4yIDM0LjggMTAuOSA0My45czM0LjggNC4yIDQzLjktMTAuOWwzMy45LTU2LjNMMzc1IDM2Mi45Yy0zLjUgMTAuNCA0LjMgMjEuMSAxNS4yIDIxLjF6TTE5MC45IDE4LjFDMTg4LjQgMTIgMTgyLjYgOCAxNzYgOHMtMTIuNCA0LTE0LjkgMTAuMWwtMjkuNCA3NEw1NS42IDY4LjljLTYuMy0xLjktMTMuMSAuMi0xNy4yIDUuM3MtNC42IDEyLjItMS40IDE3LjlsMzkuNSA2OS4xTDEwLjkgMjA2LjRjLTUuNCAzLjctOCAxMC4zLTYuNSAxNi43czYuNyAxMS4yIDEzLjEgMTIuMmw3OC43IDEyLjJMOTAuNiAzMjdjLS41IDYuNSAzLjEgMTIuNyA5IDE1LjVzMTIuOSAxLjggMTcuOC0yLjZMMTc2IDI4Ni4xbDU4LjYgNTMuOWM0LjggNC40IDExLjkgNS41IDE3LjggMi42czkuNS05IDktMTUuNWwtNS42LTc5LjQgNTAuNS03LjggMjQuNC00MC41LTU1LjItMzhMMzE1IDkyLjJjMy4zLTUuNyAyLjctMTIuOC0xLjQtMTcuOXMtMTAuOS03LjItMTcuMi01LjNMMjIwLjMgOTIuMWwtMjkuNC03NHpcIl1cbn07XG52YXIgZmFNb25leUNoZWNrRG9sbGFyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vbmV5LWNoZWNrLWRvbGxhcicsXG4gIGljb246IFs1NzYsIDUxMiwgW1wibW9uZXktY2hlY2stYWx0XCJdLCBcImY1M2RcIiwgXCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhWMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0SDUxMmMzNS4zIDAgNjQtMjguNyA2NC02NFYxMjhjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6TTI3MiAxOTJINDk2YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDI3MmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpNMjU2IDMwNGMwLTguOCA3LjItMTYgMTYtMTZINDk2YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDI3MmMtOC44IDAtMTYtNy4yLTE2LTE2ek0xNjQgMTUydjEzLjljNy41IDEuMiAxNC42IDIuOSAyMS4xIDQuN2MxMC43IDIuOCAxNyAxMy44IDE0LjIgMjQuNXMtMTMuOCAxNy0yNC41IDE0LjJjLTExLTIuOS0yMS42LTUtMzEuMi01LjJjLTcuOS0uMS0xNiAxLjgtMjEuNSA1Yy00LjggMi44LTYuMiA1LjYtNi4yIDkuM2MwIDEuOCAuMSAzLjUgNS4zIDYuN2M2LjMgMy44IDE1LjUgNi43IDI4LjMgMTAuNWwuNyAuMmMxMS4yIDMuNCAyNS42IDcuNyAzNy4xIDE1YzEyLjkgOC4xIDI0LjMgMjEuMyAyNC42IDQxLjZjLjMgMjAuOS0xMC41IDM2LjEtMjQuOCA0NWMtNy4yIDQuNS0xNS4yIDcuMy0yMy4yIDlWMzYwYzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMFYzNDUuNGMtMTAuMy0yLjItMjAtNS41LTI4LjItOC40bDAgMCAwIDBjLTIuMS0uNy00LjEtMS40LTYuMS0yLjFjLTEwLjUtMy41LTE2LjEtMTQuOC0xMi42LTI1LjNzMTQuOC0xNi4xIDI1LjMtMTIuNmMyLjUgLjggNC45IDEuNyA3LjIgMi40YzEzLjYgNC42IDI0IDguMSAzNS4xIDguNWM4LjYgLjMgMTYuNS0xLjYgMjEuNC00LjdjNC4xLTIuNSA2LTUuNSA1LjktMTAuNWMwLTIuOS0uOC01LTUuOS04LjJjLTYuMy00LTE1LjQtNi45LTI4LTEwLjdsLTEuNy0uNWMtMTAuOS0zLjMtMjQuNi03LjQtMzUuNi0xNGMtMTIuNy03LjctMjQuNi0yMC41LTI0LjctNDAuN2MtLjEtMjEuMSAxMS44LTM1LjcgMjUuOC00My45YzYuOS00LjEgMTQuNS02LjggMjIuMi04LjVWMTUyYzAtMTEgOS0yMCAyMC0yMHMyMCA5IDIwIDIwelwiXVxufTtcbnZhciBmYU1vbmV5Q2hlY2tBbHQgPSBmYU1vbmV5Q2hlY2tEb2xsYXI7XG52YXIgZmFWZWN0b3JTcXVhcmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmVjdG9yLXNxdWFyZScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjVjYlwiLCBcIk0zNjggODBoMzJ2MzJIMzY4Vjgwek0zNTIgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMySDEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMkgzMkMxNC4zIDMyIDAgNDYuMyAwIDY0djY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyVjM1MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJIOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJIMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMyaDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM4NGMwLTE3LjctMTQuMy0zMi0zMi0zMlYxNjBjMTcuNyAwIDMyLTE0LjMgMzItMzJWNjRjMC0xNy43LTE0LjMtMzItMzItMzJIMzUyek05NiAxNjBjMTcuNyAwIDMyLTE0LjMgMzItMzJIMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMyVjM1MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJIMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMyVjE2MHpNNDggNDAwSDgwdjMySDQ4VjQwMHptMzIwIDMyVjQwMGgzMnYzMkgzNjh6TTQ4IDExMlY4MEg4MHYzMkg0OHpcIl1cbn07XG52YXIgZmFCcmVhZFNsaWNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JyZWFkLXNsaWNlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmN2VjXCIsIFwiTTI1NiAzMkMxOTIgMzIgMCA2NCAwIDE5MmMwIDM1LjMgMjguNyA2NCA2NCA2NFY0MzJjMCAyNi41IDIxLjUgNDggNDggNDhINDAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjI1NmMzNS4zIDAgNjQtMjguNyA2NC02NEM1MTIgNjQgMzIwIDMyIDI1NiAzMnpcIl1cbn07XG52YXIgZmFMYW5ndWFnZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsYW5ndWFnZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjFhYlwiLCBcIk0wIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NEgyNTZoNDggMTZINTc2YzM1LjMgMCA2NCAyOC43IDY0IDY0VjM4NGMwIDM1LjMtMjguNyA2NC02NCA2NEgzMjAgMzA0IDI1NiA2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMTI4em0zMjAgMFYzODRINTc2VjEyOEgzMjB6TTE3OC4zIDE3NS45Yy0zLjItNy4yLTEwLjQtMTEuOS0xOC4zLTExLjlzLTE1LjEgNC43LTE4LjMgMTEuOWwtNjQgMTQ0Yy00LjUgMTAuMSAuMSAyMS45IDEwLjIgMjYuNHMyMS45LS4xIDI2LjQtMTAuMmw4LjktMjAuMWg3My42bDguOSAyMC4xYzQuNSAxMC4xIDE2LjMgMTQuNiAyNi40IDEwLjJzMTQuNi0xNi4zIDEwLjItMjYuNGwtNjQtMTQ0ek0xNjAgMjMzLjJMMTc5IDI3NkgxNDFsMTktNDIuOHpNNDQ4IDE2NGMxMSAwIDIwIDkgMjAgMjB2NGg0NCAxNmMxMSAwIDIwIDkgMjAgMjBzLTkgMjAtMjAgMjBoLTJsLTEuNiA0LjVjLTguOSAyNC40LTIyLjQgNDYuNi0zOS42IDY1LjRjLjkgLjYgMS44IDEuMSAyLjcgMS42bDE4LjkgMTEuM2M5LjUgNS43IDEyLjUgMTggNi45IDI3LjRzLTE4IDEyLjUtMjcuNCA2LjlsLTE4LjktMTEuM2MtNC41LTIuNy04LjgtNS41LTEzLjEtOC41Yy0xMC42IDcuNS0yMS45IDE0LTM0IDE5LjRsLTMuNiAxLjZjLTEwLjEgNC41LTIxLjktLjEtMjYuNC0xMC4ycy4xLTIxLjkgMTAuMi0yNi40bDMuNi0xLjZjNi40LTIuOSAxMi42LTYuMSAxOC41LTkuOGwtMTIuMi0xMi4yYy03LjgtNy44LTcuOC0yMC41IDAtMjguM3MyMC41LTcuOCAyOC4zIDBsMTQuNiAxNC42IC41IC41YzEyLjQtMTMuMSAyMi41LTI4LjMgMjkuOC00NUg0NDggMzc2Yy0xMSAwLTIwLTktMjAtMjBzOS0yMCAyMC0yMGg1MnYtNGMwLTExIDktMjAgMjAtMjB6XCJdXG59O1xudmFyIGZhRmFjZUtpc3NXaW5rSGVhcnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1raXNzLXdpbmstaGVhcnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1MzYsIFwia2lzcy13aW5rLWhlYXJ0XCJdLCBcImY1OThcIiwgXCJNNDk4IDMzOS43YzkuMS0yNi4yIDE0LTU0LjQgMTQtODMuN0M1MTIgMTE0LjYgMzk3LjQgMCAyNTYgMFMwIDExNC42IDAgMjU2UzExNC42IDUxMiAyNTYgNTEyYzM1LjQgMCA2OS4xLTcuMiA5OS43LTIwLjJjLTQuOC01LjUtOC41LTEyLjItMTAuNC0xOS43bC0yMi45LTg5LjNjLTEwLTM5IDExLjgtODAuOSA1MS44LTkyLjFjMzcuMi0xMC40IDczLjggMTAuMSA4Ny41IDQ0YzEyLjctMS42IDI1LjEgLjQgMzYuMiA1ek0yOTYgMzMyYzAgNi45LTMuMSAxMy4yLTcuMyAxOC4zYy00LjMgNS4yLTEwLjEgOS43LTE2LjcgMTMuNGMtMi43IDEuNS01LjcgMy04LjcgNC4zYzMuMSAxLjMgNiAyLjcgOC43IDQuM2M2LjYgMy43IDEyLjUgOC4yIDE2LjcgMTMuNGM0LjMgNS4xIDcuMyAxMS40IDcuMyAxOC4zcy0zLjEgMTMuMi03LjMgMTguM2MtNC4zIDUuMi0xMC4xIDkuNy0xNi43IDEzLjRDMjU4LjcgNDQzLjEgMjQxLjQgNDQ4IDIyNCA0NDhjLTMuNiAwLTYuOC0yLjUtNy43LTZzLjYtNy4yIDMuOC05bDAgMCAwIDAgMCAwIDAgMCAuMi0uMWMuMi0uMSAuNS0uMyAuOS0uNWMuOC0uNSAyLTEuMiAzLjQtMi4xYzIuOC0xLjkgNi41LTQuNSAxMC4yLTcuNmMzLjctMy4xIDcuMi02LjYgOS42LTEwLjFjMi41LTMuNSAzLjUtNi40IDMuNS04LjZzLTEtNS0zLjUtOC42Yy0yLjUtMy41LTUuOS02LjktOS42LTEwLjFjLTMuNy0zLjEtNy40LTUuNy0xMC4yLTcuNmMtMS40LS45LTIuNi0xLjYtMy40LTIuMWwtLjYtLjQtLjMtLjItLjItLjEgMCAwIDAgMCAwIDBjLTIuNS0xLjQtNC4xLTQuMS00LjEtN3MxLjYtNS42IDQuMS03bDAgMCAwIDAgMCAwIDAgMCAwIDAgLjItLjFjLjItLjEgLjUtLjMgLjktLjVjLjgtLjUgMi0xLjIgMy40LTIuMWMyLjgtMS45IDYuNS00LjUgMTAuMi03LjZjMy43LTMuMSA3LjItNi42IDkuNi0xMC4xYzIuNS0zLjUgMy41LTYuNCAzLjUtOC42cy0xLTUtMy41LTguNmMtMi41LTMuNS01LjktNi45LTkuNi0xMC4xYy0zLjctMy4xLTcuNC01LjctMTAuMi03LjZjLTEuNC0uOS0yLjYtMS42LTMuNC0yLjFjLS40LS4yLS43LS40LS45LS41bC0uMi0uMSAwIDAgMCAwIDAgMGMtMy4yLTEuOC00LjctNS41LTMuOC05czQuMS02IDcuNy02YzE3LjQgMCAzNC43IDQuOSA0Ny45IDEyLjNjNi42IDMuNyAxMi41IDguMiAxNi43IDEzLjRjNC4zIDUuMSA3LjMgMTEuNCA3LjMgMTguM3pNMTc2LjQgMTc2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTk0LjggNTcuNmMtMTcuNi0yMy41LTUyLjgtMjMuNS03MC40IDBjLTUuMyA3LjEtMTUuMyA4LjUtMjIuNCAzLjJzLTguNS0xNS4zLTMuMi0yMi40YzMwLjQtNDAuNSA5MS4yLTQwLjUgMTIxLjYgMGM1LjMgNy4xIDMuOSAxNy4xLTMuMiAyMi40cy0xNy4xIDMuOS0yMi40LTMuMnpNNDM0IDM1Mi4zYy02LTIzLjItMjguOC0zNy01MS4xLTMwLjhzLTM1LjQgMzAuMS0yOS41IDUzLjRsMjIuOSA4OS4zYzIuMiA4LjcgMTEuMiAxMy45IDE5LjggMTEuNGw4NC45LTIzLjhjMjIuMi02LjIgMzUuNC0zMC4xIDI5LjUtNTMuNHMtMjguOC0zNy01MS4xLTMwLjhsLTIwLjIgNS42LTUuNC0yMXpcIl1cbn07XG52YXIgZmFLaXNzV2lua0hlYXJ0ID0gZmFGYWNlS2lzc1dpbmtIZWFydDtcbnZhciBmYUZpbHRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWx0ZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYwYjBcIiwgXCJNMy45IDU0LjlDMTAuNSA0MC45IDI0LjUgMzIgNDAgMzJINDcyYzE1LjUgMCAyOS41IDguOSAzNi4xIDIyLjlzNC42IDMwLjUtNS4yIDQyLjVMMzIwIDMyMC45VjQ0OGMwIDEyLjEtNi44IDIzLjItMTcuNyAyOC42cy0yMy44IDQuMy0zMy41LTNsLTY0LTQ4Yy04LjEtNi0xMi44LTE1LjUtMTIuOC0yNS42VjMyMC45TDkgOTcuM0MtLjcgODUuNC0yLjggNjguOCAzLjkgNTQuOXpcIl1cbn07XG52YXIgZmFRdWVzdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdxdWVzdGlvbicsXG4gIGljb246IFszMjAsIDUxMiwgWzEwMDY3LCAxMDA2OCwgNjE3MzZdLCBcIjNmXCIsIFwiTTgwIDE2MGMwLTM1LjMgMjguNy02NCA2NC02NGgzMmMzNS4zIDAgNjQgMjguNyA2NCA2NHYzLjZjMCAyMS44LTExLjEgNDIuMS0yOS40IDUzLjhsLTQyLjIgMjcuMWMtMjUuMiAxNi4yLTQwLjQgNDQuMS00MC40IDc0VjMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMydi0xLjRjMC04LjIgNC4yLTE1LjggMTEtMjAuMmw0Mi4yLTI3LjFjMzYuNi0yMy42IDU4LjgtNjQuMSA1OC44LTEwNy43VjE2MGMwLTcwLjctNTcuMy0xMjgtMTI4LTEyOEgxNDRDNzMuMyAzMiAxNiA4OS4zIDE2IDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyem04MCAzMjBhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwelwiXVxufTtcbnZhciBmYUZpbGVTaWduYXR1cmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1zaWduYXR1cmUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY1NzNcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDMyMGMzNS4zIDAgNjQtMjguNyA2NC02NFY0MjguN2MtMi43IDEuMS01LjQgMi04LjIgMi43bC02MC4xIDE1Yy0zIC43LTYgMS4yLTkgMS40Yy0uOSAuMS0xLjggLjItMi43IC4ySDI0MGMtNi4xIDAtMTEuNi0zLjQtMTQuMy04LjhsLTguOC0xNy43Yy0xLjctMy40LTUuMS01LjUtOC44LTUuNXMtNy4yIDIuMS04LjggNS41bC04LjggMTcuN2MtMi45IDUuOS05LjIgOS40LTE1LjcgOC44cy0xMi4xLTUuMS0xMy45LTExLjNMMTQ0IDM4MWwtOS44IDMyLjhjLTYuMSAyMC4zLTI0LjggMzQuMi00NiAzNC4ySDgwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2aDguMmM3LjEgMCAxMy4zLTQuNiAxNS4zLTExLjRsMTQuOS00OS41YzMuNC0xMS4zIDEzLjgtMTkuMSAyNS42LTE5LjFzMjIuMiA3LjggMjUuNiAxOS4xbDExLjYgMzguNmM3LjQtNi4yIDE2LjgtOS43IDI2LjgtOS43YzE1LjkgMCAzMC40IDkgMzcuNSAyMy4ybDQuNCA4LjhoOC45Yy0zLjEtOC44LTMuNy0xOC40LTEuNC0yNy44bDE1LTYwLjFjMi44LTExLjMgOC42LTIxLjUgMTYuOC0yOS43TDM4NCAyMDMuNlYxNjBIMjU2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYwSDY0ek0yNTYgMFYxMjhIMzg0TDI1NiAwek01NDkuOCAxMzkuN2MtMTUuNi0xNS42LTQwLjktMTUuNi01Ni42IDBsLTI5LjQgMjkuNCA3MSA3MSAyOS40LTI5LjRjMTUuNi0xNS42IDE1LjYtNDAuOSAwLTU2LjZsLTE0LjQtMTQuNHpNMzExLjkgMzIxYy00LjEgNC4xLTcgOS4yLTguNCAxNC45bC0xNSA2MC4xYy0xLjQgNS41IC4yIDExLjIgNC4yIDE1LjJzOS43IDUuNiAxNS4yIDQuMmw2MC4xLTE1YzUuNi0xLjQgMTAuOC00LjMgMTQuOS04LjRMNTEyLjEgMjYyLjdsLTcxLTcxTDMxMS45IDMyMXpcIl1cbn07XG52YXIgZmFVcERvd25MZWZ0UmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXAtZG93bi1sZWZ0LXJpZ2h0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJhcnJvd3MtYWx0XCJdLCBcImYwYjJcIiwgXCJNMjc4LjYgOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTkuMiA5LjItMTEuOSAyMi45LTYuOSAzNC45czE2LjYgMTkuOCAyOS42IDE5LjhoMzJ2OTZIMTI4VjE5MmMwLTEyLjktNy44LTI0LjYtMTkuOC0yOS42cy0yNS43LTIuMi0zNC45IDYuOWwtNjQgNjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzkuMiA5LjIgMjIuOSAxMS45IDM0LjkgNi45czE5LjgtMTYuNiAxOS44LTI5LjZWMjg4aDk2djk2SDE5MmMtMTIuOSAwLTI0LjYgNy44LTI5LjYgMTkuOHMtMi4yIDI1LjcgNi45IDM0LjlsNjQgNjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsNjQtNjRjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlzLTE2LjYtMTkuOC0yOS42LTE5LjhIMjg4VjI4OGg5NnYzMmMwIDEyLjkgNy44IDI0LjYgMTkuOCAyOS42czI1LjcgMi4yIDM0LjktNi45bDY0LTY0YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC02NC02NGMtOS4yLTkuMi0yMi45LTExLjktMzQuOS02LjlzLTE5LjggMTYuNi0xOS44IDI5LjZ2MzJIMjg4VjEyOGgzMmMxMi45IDAgMjQuNi03LjggMjkuNi0xOS44czIuMi0yNS43LTYuOS0zNC45bC02NC02NHpcIl1cbn07XG52YXIgZmFBcnJvd3NBbHQgPSBmYVVwRG93bkxlZnRSaWdodDtcbnZhciBmYUhvdXNlQ2hpbW5leVVzZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtY2hpbW5leS11c2VyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlMDY1XCIsIFwiTTU0My44IDI4Ny42YzE3IDAgMzItMTQgMzItMzIuMWMxLTktMy0xNy0xMS0yNEw1MTIgMTg1VjY0YzAtMTcuNy0xNC4zLTMyLTMyLTMySDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2MzYuN0wzMDkuNSA3Yy02LTUtMTQtNy0yMS03cy0xNSAxLTIyIDhMMTAgMjMxLjVjLTcgNy0xMCAxNS0xMCAyNGMwIDE4IDE0IDMyLjEgMzIgMzIuMWgzMlY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRINDQ4LjVjMzUuNSAwIDY0LjItMjguOCA2NC02NC4zbC0uNy0xNjAuMmgzMnpNMjg4IDE2MGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpNMTc2IDQwMGMwLTQ0LjIgMzUuOC04MCA4MC04MGg2NGM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDguOC03LjIgMTYtMTYgMTZIMTkyYy04LjggMC0xNi03LjItMTYtMTZ6XCJdXG59O1xudmFyIGZhSGFuZEhvbGRpbmdIZWFydCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLWhvbGRpbmctaGVhcnQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY0YmVcIiwgXCJNMTYzLjkgMTM2LjljLTI5LjQtMjkuOC0yOS40LTc4LjIgMC0xMDhzNzctMjkuOCAxMDYuNCAwbDE3LjcgMTggMTcuNy0xOGMyOS40LTI5LjggNzctMjkuOCAxMDYuNCAwczI5LjQgNzguMiAwIDEwOEwzMTAuNSAyNDAuMWMtNi4yIDYuMy0xNC4zIDkuNC0yMi41IDkuNHMtMTYuMy0zLjEtMjIuNS05LjRMMTYzLjkgMTM2Ljl6TTU2OC4yIDMzNi4zYzEzLjEgMTcuOCA5LjMgNDIuOC04LjUgNTUuOUw0MzMuMSA0ODUuNWMtMjMuNCAxNy4yLTUxLjYgMjYuNS04MC43IDI2LjVIMTkyIDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMlY0MTZjMC0xNy43IDE0LjMtMzIgMzItMzJINjguOGw0NC45LTM2YzIyLjctMTguMiA1MC45LTI4IDgwLTI4SDI3MmgxNiA2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgyODggMjcyYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2SDM5Mi42bDExOS43LTg4LjJjMTcuOC0xMy4xIDQyLjgtOS4zIDU1LjkgOC41ek0xOTMuNiAzODRsMCAwLS45IDBjLjMgMCAuNiAwIC45IDB6XCJdXG59O1xudmFyIGZhUHV6emxlUGllY2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncHV6emxlLXBpZWNlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5NTEzXSwgXCJmMTJlXCIsIFwiTTE5MiAxMDQuOGMwLTkuMi01LjgtMTcuMy0xMy4yLTIyLjhDMTY3LjIgNzMuMyAxNjAgNjEuMyAxNjAgNDhjMC0yNi41IDI4LjctNDggNjQtNDhzNjQgMjEuNSA2NCA0OGMwIDEzLjMtNy4yIDI1LjMtMTguOCAzNGMtNy40IDUuNS0xMy4yIDEzLjYtMTMuMiAyMi44YzAgMTIuOCAxMC40IDIzLjIgMjMuMiAyMy4ySDMzNmMyNi41IDAgNDggMjEuNSA0OCA0OHY1Ni44YzAgMTIuOCAxMC40IDIzLjIgMjMuMiAyMy4yYzkuMiAwIDE3LjMtNS44IDIyLjgtMTMuMmM4LjctMTEuNiAyMC43LTE4LjggMzQtMTguOGMyNi41IDAgNDggMjguNyA0OCA2NHMtMjEuNSA2NC00OCA2NGMtMTMuMyAwLTI1LjMtNy4yLTM0LTE4LjhjLTUuNS03LjQtMTMuNi0xMy4yLTIyLjgtMTMuMmMtMTIuOCAwLTIzLjIgMTAuNC0yMy4yIDIzLjJWNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDI3OS4yYy0xMi44IDAtMjMuMi0xMC40LTIzLjItMjMuMmMwLTkuMiA1LjgtMTcuMyAxMy4yLTIyLjhjMTEuNi04LjcgMTguOC0yMC43IDE4LjgtMzRjMC0yNi41LTI4LjctNDgtNjQtNDhzLTY0IDIxLjUtNjQgNDhjMCAxMy4zIDcuMiAyNS4zIDE4LjggMzRjNy40IDUuNSAxMy4yIDEzLjYgMTMuMiAyMi44YzAgMTIuOC0xMC40IDIzLjItMjMuMiAyMy4ySDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFYzNDMuMkMwIDMzMC40IDEwLjQgMzIwIDIzLjIgMzIwYzkuMiAwIDE3LjMgNS44IDIyLjggMTMuMkM1NC43IDM0NC44IDY2LjcgMzUyIDgwIDM1MmMyNi41IDAgNDgtMjguNyA0OC02NHMtMjEuNS02NC00OC02NGMtMTMuMyAwLTI1LjMgNy4yLTM0IDE4LjhDNDAuNSAyNTAuMiAzMi40IDI1NiAyMy4yIDI1NkMxMC40IDI1NiAwIDI0NS42IDAgMjMyLjhWMTc2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4SDE2OC44YzEyLjggMCAyMy4yLTEwLjQgMjMuMi0yMy4yelwiXVxufTtcbnZhciBmYU1vbmV5Q2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9uZXktY2hlY2snLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY1M2NcIiwgXCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhWMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0SDUxMmMzNS4zIDAgNjQtMjguNyA2NC02NFYxMjhjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6bTQ4IDE2MEgyNzJjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMTEyYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2ek05NiAzMzZjMC04LjggNy4yLTE2IDE2LTE2SDQ2NGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgxMTJjLTguOCAwLTE2LTcuMi0xNi0xNnpNMzc2IDE2MGg4MGMxMy4zIDAgMjQgMTAuNyAyNCAyNHY0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNEgzNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0VjE4NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpcIl1cbn07XG52YXIgZmFTdGFySGFsZlN0cm9rZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdGFyLWhhbGYtc3Ryb2tlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzdGFyLWhhbGYtYWx0XCJdLCBcImY1YzBcIiwgXCJNMjg4IDM3Ni40bC4xLS4xIDI2LjQgMTQuMSA4NS4yIDQ1LjUtMTYuNS05Ny42LTQuOC0yOC43IDIwLjctMjAuNSA3MC4xLTY5LjMtOTYuMS0xNC4yLTI5LjMtNC4zLTEyLjktMjYuNkwyODguMSA4Ni45bC0uMSAuM1YzNzYuNHptMTc1LjEgOTguM2MyIDEyLTMgMjQuMi0xMi45IDMxLjNzLTIzIDgtMzMuOCAyLjNMMjg4LjEgNDM5LjggMTU5LjggNTA4LjNDMTQ5IDUxNCAxMzUuOSA1MTMuMSAxMjYgNTA2cy0xNC45LTE5LjMtMTIuOS0zMS4zTDEzNy44IDMyOSAzMy42IDIyNS45Yy04LjYtOC41LTExLjctMjEuMi03LjktMzIuN3MxMy43LTE5LjkgMjUuNy0yMS43TDE5NSAxNTAuMyAyNTkuNCAxOGM1LjQtMTEgMTYuNS0xOCAyOC44LTE4czIzLjQgNyAyOC44IDE4bDY0LjMgMTMyLjMgMTQzLjYgMjEuMmMxMiAxLjggMjIgMTAuMiAyNS43IDIxLjdzLjcgMjQuMi03LjkgMzIuN0w0MzguNSAzMjlsMjQuNiAxNDUuN3pcIl1cbn07XG52YXIgZmFTdGFySGFsZkFsdCA9IGZhU3RhckhhbGZTdHJva2U7XG52YXIgZmFDb2RlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvZGUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImYxMjFcIiwgXCJNMzkyLjggMS4yYy0xNy00LjktMzQuNyA1LTM5LjYgMjJsLTEyOCA0NDhjLTQuOSAxNyA1IDM0LjcgMjIgMzkuNnMzNC43LTUgMzkuNi0yMmwxMjgtNDQ4YzQuOS0xNy01LTM0LjctMjItMzkuNnptODAuNiAxMjAuMWMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNMNTYyLjcgMjU2bC04OS40IDg5LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsMTEyLTExMmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTEyLTExMmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDB6bS0zMDYuNyAwYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTEyIDExMmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsMTEyIDExMmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDc3LjMgMjU2bDg5LjQtODkuNGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3pcIl1cbn07XG52YXIgZmFXaGlza2V5R2xhc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2hpc2tleS1nbGFzcycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyOTM0NywgXCJnbGFzcy13aGlza2V5XCJdLCBcImY3YTBcIiwgXCJNMzIgMzJjLTkuMyAwLTE4LjEgNC0yNC4yIDExLjFTLTEgNTkuNCAuMyA2OC42bDUwIDM0Mi45YzUuNyAzOS4zIDM5LjQgNjguNSA3OS4yIDY4LjVoMjUzYzM5LjcgMCA3My40LTI5LjEgNzkuMi02OC41bDUwLTM0Mi45YzEuMy05LjItMS40LTE4LjUtNy41LTI1LjVTNDg5LjMgMzIgNDgwIDMySDMyek04Ny43IDIyNEw2OSA5Nkg0NDNMNDI0LjMgMjI0SDg3Ljd6XCJdXG59O1xudmFyIGZhR2xhc3NXaGlza2V5ID0gZmFXaGlza2V5R2xhc3M7XG52YXIgZmFCdWlsZGluZ0NpcmNsZUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1aWxkaW5nLWNpcmNsZS1leGNsYW1hdGlvbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRkM1wiLCBcIk00OCAwQzIxLjUgMCAwIDIxLjUgMCA0OFY0NjRjMCAyNi41IDIxLjUgNDggNDggNDhoOTZWNDMyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDh2ODBoOTZjMTUuMSAwIDI4LjUtNi45IDM3LjMtMTcuOEMzNDAuNCA0NjIuMiAzMjAgNDE3LjUgMzIwIDM2OGMwLTU0LjcgMjQuOS0xMDMuNSA2NC0xMzUuOFY0OGMwLTI2LjUtMjEuNS00OC00OC00OEg0OHpNNjQgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZWMjQwem0xMTItMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYyNDBjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgyNzJjLTguOCAwLTE2LTcuMi0xNi0xNlYyNDB6TTgwIDk2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIODBjLTguOCAwLTE2LTcuMi0xNi0xNlYxMTJjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYxMTJ6TTI3MiA5NmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDI3MmMtOC44IDAtMTYtNy4yLTE2LTE2VjExMmMwLTguOCA3LjItMTYgMTYtMTZ6TTQ5NiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTk2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMC0xNDRjOC44IDAgMTYgNy4yIDE2IDE2djgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjI4OGMwLTguOCA3LjItMTYgMTYtMTZ6XCJdXG59O1xudmFyIGZhTWFnbmlmeWluZ0dsYXNzQ2hhcnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFnbmlmeWluZy1nbGFzcy1jaGFydCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTUyMlwiLCBcIk00MTYgMjA4YzAgNDUuOS0xNC45IDg4LjMtNDAgMTIyLjdMNTAyLjYgNDU3LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMzMwLjcgMzc2Yy0zNC40IDI1LjItNzYuOCA0MC0xMjIuNyA0MEM5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMFM0MTYgOTMuMSA0MTYgMjA4em0tMzEyIDh2NjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTY0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0em04MC05NlYyODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFYxMjBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6bTgwIDY0djk2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWMTg0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0elwiXVxufTtcbnZhciBmYUFycm93VXBSaWdodEZyb21TcXVhcmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdXAtcmlnaHQtZnJvbS1zcXVhcmUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImV4dGVybmFsLWxpbmtcIl0sIFwiZjA4ZVwiLCBcIk0zMjAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmg4Mi43TDIwMS40IDI2NS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDQ0OCAxMDkuM1YxOTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMkgzMjB6TTgwIDMyQzM1LjggMzIgMCA2Ny44IDAgMTEyVjQzMmMwIDQ0LjIgMzUuOCA4MCA4MCA4MEg0MDBjNDQuMiAwIDgwLTM1LjggODAtODBWMzIwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjQzMmMwIDguOC03LjIgMTYtMTYgMTZIODBjLTguOCAwLTE2LTcuMi0xNi0xNlYxMTJjMC04LjggNy4yLTE2IDE2LTE2SDE5MmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg4MHpcIl1cbn07XG52YXIgZmFFeHRlcm5hbExpbmsgPSBmYUFycm93VXBSaWdodEZyb21TcXVhcmU7XG52YXIgZmFDdWJlc1N0YWNrZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3ViZXMtc3RhY2tlZCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTRlNlwiLCBcIk0xOTIgNjR2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJoNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJWNjRjMC0xNy43LTE0LjMtMzItMzItMzJIMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNODIuNyAyMDdjLTE1LjMgOC44LTIwLjUgMjguNC0xMS43IDQzLjdsMzIgNTUuNGM4LjggMTUuMyAyOC40IDIwLjUgNDMuNyAxMS43bDU1LjQtMzJjMTUuMy04LjggMjAuNS0yOC40IDExLjctNDMuN2wtMzItNTUuNGMtOC44LTE1LjMtMjguNC0yMC41LTQzLjctMTEuN0w4Mi43IDIwN3pNMjg4IDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2NjRjMCAxNy43IDE0LjMgMzIgMzIgMzJoNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJWMjI0YzAtMTcuNy0xNC4zLTMyLTMyLTMySDI4OHptNjQgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnY2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmg2NGMxNy43IDAgMzItMTQuMyAzMi0zMlYzODRjMC0xNy43LTE0LjMtMzItMzItMzJIMzUyek0xNjAgMzg0djY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyaDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM4NGMwLTE3LjctMTQuMy0zMi0zMi0zMkgxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek0zMiAzNTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjY0YzAgMTcuNyAxNC4zIDMyIDMyIDMySDk2YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM4NGMwLTE3LjctMTQuMy0zMi0zMi0zMkgzMnpcIl1cbn07XG52YXIgZmFXb25TaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dvbi1zaWduJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbODM2MSwgXCJrcndcIiwgXCJ3b25cIl0sIFwiZjE1OVwiLCBcIk02Mi40IDUzLjlDNTYuOCAzNy4xIDM4LjYgMjguMSAyMS45IDMzLjZTLTMuOSA1Ny40IDEuNiA3NC4xTDUxLjYgMjI0SDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDcyLjlsNTYuNyAxNzAuMWM0LjUgMTMuNSAxNy40IDIyLjQgMzEuNiAyMS45czI2LjQtMTAuNCAyOS44LTI0LjJMMjMzIDI4OGg0NkwzMjEgNDU1LjhjMy40IDEzLjggMTUuNiAyMy43IDI5LjggMjQuMnMyNy4xLTguNCAzMS42LTIxLjlMNDM5LjEgMjg4SDQ4MGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg0NjAuNGw1MC0xNDkuOWM1LjYtMTYuOC0zLjUtMzQuOS0yMC4yLTQwLjVzLTM0LjkgMy41LTQwLjUgMjAuMkwzOTIuOSAyMjRIMzI5TDI4NyA1Ni4yQzI4My41IDQyIDI3MC43IDMyIDI1NiAzMnMtMjcuNSAxMC0zMSAyNC4yTDE4MyAyMjRoLTY0TDYyLjQgNTMuOXptNzggMjM0LjFIMTY3bC0xMS40IDQ1LjZMMTQwLjQgMjg4ek0yNDkgMjI0bDctMjguMSA3IDI4LjFIMjQ5em05NiA2NGgyNi42bC0xNS4yIDQ1LjZMMzQ1IDI4OHpcIl1cbn07XG52YXIgZmFLcncgPSBmYVdvblNpZ247XG52YXIgZmFXb24gPSBmYVdvblNpZ247XG52YXIgZmFWaXJ1c0NvdmlkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZpcnVzLWNvdmlkJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNGE4XCIsIFwiTTE5MiAyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNGg4MGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEgyODBWODEuNmMzMC43IDQuMiA1OC44IDE2LjMgODIuMyAzNC4xTDM4Ni4xIDkyIDM3NC44IDgwLjZjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw1Ni42IDU2LjZjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEw0MjAgMTI1LjlsLTIzLjggMjMuOGMxNy45IDIzLjUgMjkuOSA1MS43IDM0LjEgODIuM0g0NjRWMjE2YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR2ODBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWMjgwSDQzMC40Yy00LjIgMzAuNy0xNi4zIDU4LjgtMzQuMSA4Mi4zTDQyMCAzODYuMWwxMS4zLTExLjNjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC01Ni42IDU2LjZjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlMMzg2LjEgNDIwbC0yMy44LTIzLjhjLTIzLjUgMTcuOS01MS43IDI5LjktODIuMyAzNC4xVjQ2NGgxNmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEgyMTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRoMTZWNDMwLjRjLTMwLjctNC4yLTU4LjgtMTYuMy04Mi4zLTM0LjFMMTI1LjkgNDIwbDExLjMgMTEuM2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDQ2LjcgNDA4LjdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMEw5MiAzODYuMWwyMy44LTIzLjhDOTcuOSAzMzguOCA4NS44IDMxMC43IDgxLjYgMjgwSDQ4djE2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0VjIxNmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0djE2SDgxLjZjNC4yLTMwLjcgMTYuMy01OC44IDM0LjEtODIuM0w5MiAxMjUuOSA4MC42IDEzNy4yYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDU2LjYtNTYuNmM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlMMTI1LjkgOTJsMjMuOCAyMy44YzIzLjUtMTcuOSA1MS43LTI5LjkgODIuMy0zNC4xVjQ4SDIxNmMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTQ4IDIwMGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwem02NCAxMDRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4elwiXVxufTtcbnZhciBmYUF1c3RyYWxTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2F1c3RyYWwtc2lnbicsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTBhOVwiLCBcIk0yNTMuNSA1MS43QzI0OC42IDM5LjggMjM2LjkgMzIgMjI0IDMycy0yNC42IDcuOC0yOS41IDE5LjdMMTIyLjcgMjI0SDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDk2TDgyLjcgMzIwSDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDU2TDM0LjUgNDM1LjdjLTYuOCAxNi4zIC45IDM1IDE3LjIgNDEuOHMzNS0uOSA0MS44LTE3LjJMMTI1LjMgMzg0SDMyMi43bDMxLjggNzYuM2M2LjggMTYuMyAyNS41IDI0IDQxLjggMTcuMnMyNC0yNS41IDE3LjItNDEuOEwzOTIgMzg0aDI0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDM2NS4zTDM1MiAyODhoNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzI1LjNMMjUzLjUgNTEuN3pNMjU2IDIyNEgxOTJsMzItNzYuOEwyNTYgMjI0em0tOTAuNyA2NEgyODIuN0wyOTYgMzIwSDE1MmwxMy4zLTMyelwiXVxufTtcbnZhciBmYUYgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZicsXG4gIGljb246IFszMjAsIDUxMiwgWzEwMl0sIFwiNDZcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlYyNTYgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMjg4SDIyNGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg2NFY5NkgyODhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINjR6XCJdXG59O1xudmFyIGZhTGVhZiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsZWFmJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMDZjXCIsIFwiTTI3MiA5NmMtNzguNiAwLTE0NS4xIDUxLjUtMTY3LjcgMTIyLjVjMzMuNi0xNyA3MS41LTI2LjUgMTExLjctMjYuNWg4OGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgyODggMjE2czAgMCAwIDBjLTE2LjYgMC0zMi43IDEuOS00OC4zIDUuNGMtMjUuOSA1LjktNDkuOSAxNi40LTcxLjQgMzAuN2MwIDAgMCAwIDAgMEMzOC4zIDI5OC44IDAgMzY0LjkgMCA0NDB2MTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNFY0NDBjMC00OC43IDIwLjctOTIuNSA1My44LTEyMy4yQzEyMS42IDM5Mi4zIDE5MC4zIDQ0OCAyNzIgNDQ4bDEgMGMxMzIuMS0uNyAyMzktMTMwLjkgMjM5LTI5MS40YzAtNDIuNi03LjUtODMuMS0yMS4xLTExOS42Yy0yLjYtNi45LTEyLjctNi42LTE2LjItLjFDNDU1LjkgNzIuMSA0MTguNyA5NiAzNzYgOTZMMjcyIDk2elwiXVxufTtcbnZhciBmYVJvYWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncm9hZCcsXG4gIGljb246IFs1NzYsIDUxMiwgWzEyODczOV0sIFwiZjAxOFwiLCBcIk0yNTYgMzJIMTgxLjJjLTI3LjEgMC01MS4zIDE3LjEtNjAuMyA0Mi42TDMuMSA0MDcuMkMxLjEgNDEzIDAgNDE5LjIgMCA0MjUuNEMwIDQ1NS41IDI0LjUgNDgwIDU0LjYgNDgwSDI1NlY0MTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnY2NEg1MjEuNGMzMC4yIDAgNTQuNi0yNC41IDU0LjYtNTQuNmMwLTYuMi0xLjEtMTIuNC0zLjEtMTguMkw0NTUuMSA3NC42QzQ0NiA0OS4xIDQyMS45IDMyIDM5NC44IDMySDMyMFY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzMnptNjQgMTkydjY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjIyNGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyelwiXVxufTtcbnZhciBmYVRheGkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGF4aScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODY2MiwgXCJjYWJcIl0sIFwiZjFiYVwiLCBcIk0xOTIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJWNjRjMCAuMSAwIC4xIDAgLjJjLTM4LjYgMi4yLTcyLjMgMjcuMy04NS4yIDY0LjFMMzkuNiAyMjguOEMxNi40IDIzOC40IDAgMjYxLjMgMCAyODhWNDMydjQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMySDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjQzMkg0MTZ2NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJWNDMyIDI4OGMwLTI2LjctMTYuNC00OS42LTM5LjYtNTkuMkw0MzcuMiAxMjguM2MtMTIuOS0zNi44LTQ2LjYtNjItODUuMi02NC4xYzAtLjEgMC0uMSAwLS4yVjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMySDE5MnpNMTY1LjQgMTI4SDM0Ni42YzEzLjYgMCAyNS43IDguNiAzMC4yIDIxLjRMNDAyLjkgMjI0SDEwOS4xbDI2LjEtNzQuNmM0LjUtMTIuOCAxNi42LTIxLjQgMzAuMi0yMS40ek05NiAyODhhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0yODggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpcIl1cbn07XG52YXIgZmFDYWIgPSBmYVRheGk7XG52YXIgZmFQZXJzb25DaXJjbGVQbHVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1jaXJjbGUtcGx1cycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU0MVwiLCBcIk0xMTIgNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptNDAgMzA0VjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYyNTYuOUw1OS40IDMwNC41Yy05LjEgMTUuMS0yOC44IDIwLTQzLjkgMTAuOXMtMjAtMjguOC0xMC45LTQzLjlsNTguMy05N2MxNy40LTI4LjkgNDguNi00Ni42IDgyLjMtNDYuNmgyOS43YzMzLjcgMCA2NC45IDE3LjcgODIuMyA0Ni42bDQ0LjkgNzQuN2MtMTYuMSAxNy42LTI4LjYgMzguNS0zNi42IDYxLjVjLTEuOS0xLjgtMy41LTMuOS00LjktNi4zTDIzMiAyNTYuOVY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzUySDE1MnpNNDMyIDIyNGExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTE2IDgwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2djQ4SDM2OGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmg0OHY0OGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjM4NGg0OGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkg0NDhWMzA0elwiXVxufTtcbnZhciBmYUNoYXJ0UGllID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoYXJ0LXBpZScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wicGllLWNoYXJ0XCJdLCBcImYyMDBcIiwgXCJNMzA0IDI0MFYxNi42YzAtOSA3LTE2LjYgMTYtMTYuNkM0NDMuNyAwIDU0NCAxMDAuMyA1NDQgMjI0YzAgOS03LjYgMTYtMTYuNiAxNkgzMDR6TTMyIDI3MkMzMiAxNTAuNyAxMjIuMSA1MC4zIDIzOSAzNC4zYzkuMi0xLjMgMTcgNi4xIDE3IDE1LjRWMjg4TDQxMi41IDQ0NC41YzYuNyA2LjcgNi4yIDE3LjctMS41IDIzLjFDMzcxLjggNDk1LjYgMzIzLjggNTEyIDI3MiA1MTJDMTM5LjUgNTEyIDMyIDQwNC42IDMyIDI3MnptNTI2LjQgMTZjOS4zIDAgMTYuNiA3LjggMTUuNCAxN2MtNy43IDU1LjktMzQuNiAxMDUuNi03My45IDE0Mi4zYy02IDUuNi0xNS40IDUuMi0yMS4yLS43TDMyMCAyODhINTU4LjR6XCJdXG59O1xudmFyIGZhUGllQ2hhcnQgPSBmYUNoYXJ0UGllO1xudmFyIGZhQm9sdExpZ2h0bmluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib2x0LWxpZ2h0bmluZycsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTBiN1wiLCBcIk0wIDI1NkwyOC41IDI4YzItMTYgMTUuNi0yOCAzMS44LTI4SDIyOC45YzE1IDAgMjcuMSAxMi4xIDI3LjEgMjcuMWMwIDMuMi0uNiA2LjUtMS43IDkuNUwyMDggMTYwSDM0Ny4zYzIwLjIgMCAzNi43IDE2LjQgMzYuNyAzNi43YzAgNy40LTIuMiAxNC42LTYuNCAyMC43bC0xOTIuMiAyODFjLTUuOSA4LjYtMTUuNiAxMy43LTI1LjkgMTMuN2gtMi45Yy0xNS43IDAtMjguNS0xMi44LTI4LjUtMjguNWMwLTIuMyAuMy00LjYgLjktNi45TDE3NiAyODhIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyelwiXVxufTtcbnZhciBmYVNhY2tYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzYWNrLXhtYXJrJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTZhXCIsIFwiTTE5MiA5NkgzMjBsNDcuNC03MS4xQzM3NC41IDE0LjIgMzY2LjkgMCAzNTQuMSAwSDE1Ny45Yy0xMi44IDAtMjAuNCAxNC4yLTEzLjMgMjQuOUwxOTIgOTZ6bTEyOCAzMkgxOTJjLTMuOCAyLjUtOC4xIDUuMy0xMyA4LjRsMCAwIDAgMEMxMjIuMyAxNzIuNyAwIDI1MC45IDAgNDE2YzAgNTMgNDMgOTYgOTYgOTZINDE2YzUzIDAgOTYtNDMgOTYtOTZjMC0xNjUuMS0xMjIuMy0yNDMuMy0xNzktMjc5LjZjLTQuOC0zLjEtOS4yLTUuOS0xMy04LjR6TTI4OS45IDMzNmw0NyA0N2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00Ny00Ny00NyA0N2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw0Ny00Ny00Ny00N2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDQ3IDQ3IDQ3LTQ3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNDcgNDd6XCJdXG59O1xudmFyIGZhRmlsZUV4Y2VsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtZXhjZWwnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImYxYzNcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDMyMGMzNS4zIDAgNjQtMjguNyA2NC02NFYxNjBIMjU2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYwSDY0ek0yNTYgMFYxMjhIMzg0TDI1NiAwek0xNTUuNyAyNTAuMkwxOTIgMzAyLjFsMzYuMy01MS45YzcuNi0xMC45IDIyLjYtMTMuNSAzMy40LTUuOXMxMy41IDIyLjYgNS45IDMzLjRMMjIxLjMgMzQ0bDQ2LjQgNjYuMmM3LjYgMTAuOSA1IDI1LjgtNS45IDMzLjRzLTI1LjggNS0zMy40LTUuOUwxOTIgMzg1LjhsLTM2LjMgNTEuOWMtNy42IDEwLjktMjIuNiAxMy41LTMzLjQgNS45cy0xMy41LTIyLjYtNS45LTMzLjRMMTYyLjcgMzQ0bC00Ni40LTY2LjJjLTcuNi0xMC45LTUtMjUuOCA1LjktMzMuNHMyNS44LTUgMzMuNCA1Ljl6XCJdXG59O1xudmFyIGZhRmlsZUNvbnRyYWN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtY29udHJhY3QnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImY1NmNcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDMyMGMzNS4zIDAgNjQtMjguNyA2NC02NFYxNjBIMjU2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYwSDY0ek0yNTYgMFYxMjhIMzg0TDI1NiAwek04MCA2NGg2NGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnptMCA2NGg2NGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnptNTQuMiAyNTMuOGMtNi4xIDIwLjMtMjQuOCAzNC4yLTQ2IDM0LjJIODBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZoOC4yYzcuMSAwIDEzLjMtNC42IDE1LjMtMTEuNGwxNC45LTQ5LjVjMy40LTExLjMgMTMuOC0xOS4xIDI1LjYtMTkuMXMyMi4yIDcuNyAyNS42IDE5LjFsMTEuNiAzOC42YzcuNC02LjIgMTYuOC05LjcgMjYuOC05LjdjMTUuOSAwIDMwLjQgOSAzNy41IDIzLjJsNC40IDguOEgzMDRjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMjQwYy02LjEgMC0xMS42LTMuNC0xNC4zLTguOGwtOC44LTE3LjdjLTEuNy0zLjQtNS4xLTUuNS04LjgtNS41cy03LjIgMi4xLTguOCA1LjVsLTguOCAxNy43Yy0yLjkgNS45LTkuMiA5LjQtMTUuNyA4LjhzLTEyLjEtNS4xLTEzLjktMTEuM0wxNDQgMzQ5bC05LjggMzIuOHpcIl1cbn07XG52YXIgZmFGaXNoRmlucyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaXNoLWZpbnMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0ZjJcIiwgXCJNMjc1LjIgMzguNGMtMTAuNi04LTI1LTguNS0zNi4zLTEuNVMyMjIgNTcuMyAyMjQuNiA3MC4zbDkuNyA0OC42Yy0xOS40IDktMzYuOSAxOS45LTUyLjQgMzEuNWMtMTUuMyAxMS41LTI5IDIzLjktNDAuNyAzNi4zTDQ4LjEgMTMyLjRjLTEyLjUtNy4zLTI4LjQtNS4zLTM4LjYgNC45Uy0zIDE2My4zIDQuMiAxNzUuOUw1MCAyNTYgNC4yIDMzNi4xYy03LjIgMTIuNi01IDI4LjQgNS4zIDM4LjZzMjYuMSAxMi4yIDM4LjYgNC45bDkzLjEtNTQuM2MxMS44IDEyLjMgMjUuNCAyNC44IDQwLjcgMzYuM2MxNS41IDExLjYgMzMgMjIuNSA1Mi40IDMxLjVsLTkuNyA0OC42Yy0yLjYgMTMgMy4xIDI2LjMgMTQuMyAzMy4zczI1LjYgNi41IDM2LjMtMS41bDc3LjYtNTguMmM1NC45LTQgMTAxLjUtMjcgMTM3LjItNTMuOGMzOS4yLTI5LjQgNjcuMi02NC43IDgxLjYtODkuNWM1LjgtOS45IDUuOC0yMi4yIDAtMzIuMWMtMTQuNC0yNC44LTQyLjUtNjAuMS04MS42LTg5LjVjLTM1LjgtMjYuOC04Mi4zLTQ5LjgtMTM3LjItNTMuOEwyNzUuMiAzOC40ek0zODQgMjU2YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6XCJdXG59O1xudmFyIGZhQnVpbGRpbmdGbGFnID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1aWxkaW5nLWZsYWcnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZDVcIiwgXCJNNDggMEMyMS41IDAgMCAyMS41IDAgNDhWNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDk2VjQzMmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4djgwaDk2YzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDQ4ek02NCAyNDBjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIODBjLTguOCAwLTE2LTcuMi0xNi0xNlYyNDB6bTExMi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDE3NmMtOC44IDAtMTYtNy4yLTE2LTE2VjI0MGMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDI3MmMtOC44IDAtMTYtNy4yLTE2LTE2VjI0MHpNODAgOTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjExMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDE3NmMtOC44IDAtMTYtNy4yLTE2LTE2VjExMnpNMjcyIDk2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMjcyYy04LjggMC0xNi03LjItMTYtMTZWMTEyYzAtOC44IDcuMi0xNiAxNi0xNnpNNDQ4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyVjUxMmg2NFYxOTJINjI0YzguOCAwIDE2LTcuMiAxNi0xNlY0OGMwLTguOC03LjItMTYtMTYtMTZINDgwYzAtMTcuNy0xNC4zLTMyLTMyLTMyelwiXVxufTtcbnZhciBmYUZhY2VHcmluQmVhbSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWdyaW4tYmVhbScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODUxNiwgXCJncmluLWJlYW1cIl0sIFwiZjU4MlwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzg4LjEgMzEyLjhjMTIuMy0zLjggMjQuMyA2LjkgMTkuMyAxOC43QzM4Mi40IDM5MC42IDMyNC4yIDQzMiAyNTYuMyA0MzJzLTEyNi4yLTQxLjQtMTUxLjEtMTAwLjVjLTUtMTEuOCA3LTIyLjUgMTkuMy0xOC43YzM5LjcgMTIuMiA4NC41IDE5IDEzMS44IDE5czkyLjEtNi44IDEzMS44LTE5em0tMTcwLjUtODRsMCAwIDAgMC0uMi0uMmMtLjItLjItLjQtLjUtLjctLjljLS42LS44LTEuNi0yLTIuOC0zLjRjLTIuNS0yLjgtNi02LjYtMTAuMi0xMC4zYy04LjgtNy44LTE4LjgtMTQtMjcuNy0xNHMtMTguOSA2LjItMjcuNyAxNGMtNC4yIDMuNy03LjcgNy41LTEwLjIgMTAuM2MtMS4yIDEuNC0yLjIgMi42LTIuOCAzLjRjLS4zIC40LS42IC43LS43IC45bC0uMiAuMiAwIDAgMCAwIDAgMGMtMi4xIDIuOC01LjcgMy45LTguOSAyLjhzLTUuNS00LjEtNS41LTcuNmMwLTE3LjkgNi43LTM1LjYgMTYuNi00OC44YzkuOC0xMyAyMy45LTIzLjIgMzkuNC0yMy4yczI5LjYgMTAuMiAzOS40IDIzLjJjOS45IDEzLjIgMTYuNiAzMC45IDE2LjYgNDguOGMwIDMuNC0yLjIgNi41LTUuNSA3LjZzLTYuOSAwLTguOS0yLjhsMCAwIDAgMHptMTYwIDBsMCAwLS4yLS4yYy0uMi0uMi0uNC0uNS0uNy0uOWMtLjYtLjgtMS42LTItMi44LTMuNGMtMi41LTIuOC02LTYuNi0xMC4yLTEwLjNjLTguOC03LjgtMTguOC0xNC0yNy43LTE0cy0xOC45IDYuMi0yNy43IDE0Yy00LjIgMy43LTcuNyA3LjUtMTAuMiAxMC4zYy0xLjIgMS40LTIuMiAyLjYtMi44IDMuNGMtLjMgLjQtLjYgLjctLjcgLjlsLS4yIC4yIDAgMCAwIDAgMCAwYy0yLjEgMi44LTUuNyAzLjktOC45IDIuOHMtNS41LTQuMS01LjUtNy42YzAtMTcuOSA2LjctMzUuNiAxNi42LTQ4LjhjOS44LTEzIDIzLjktMjMuMiAzOS40LTIzLjJzMjkuNiAxMC4yIDM5LjQgMjMuMmM5LjkgMTMuMiAxNi42IDMwLjkgMTYuNiA0OC44YzAgMy40LTIuMiA2LjUtNS41IDcuNnMtNi45IDAtOC45LTIuOGwwIDAgMCAwIDAgMHpcIl1cbn07XG52YXIgZmFHcmluQmVhbSA9IGZhRmFjZUdyaW5CZWFtO1xudmFyIGZhT2JqZWN0VW5ncm91cCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdvYmplY3QtdW5ncm91cCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjI0OFwiLCBcIk0zMiAxMTkuNEMxMi45IDEwOC40IDAgODcuNyAwIDY0QzAgMjguNyAyOC43IDAgNjQgMGMyMy43IDAgNDQuNCAxMi45IDU1LjQgMzJIMzI4LjZDMzM5LjYgMTIuOSAzNjAuMyAwIDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0YzAgMjMuNy0xMi45IDQ0LjQtMzIgNTUuNFYyMzIuNmMxOS4xIDExLjEgMzIgMzEuNyAzMiA1NS40YzAgMzUuMy0yOC43IDY0LTY0IDY0Yy0yMy43IDAtNDQuNC0xMi45LTU1LjQtMzJIMTE5LjRjLTExLjEgMTkuMS0zMS43IDMyLTU1LjQgMzJjLTM1LjMgMC02NC0yOC43LTY0LTY0YzAtMjMuNyAxMi45LTQ0LjQgMzItNTUuNFYxMTkuNHpNMTE5LjQgOTZjLTUuNiA5LjctMTMuNyAxNy44LTIzLjQgMjMuNFYyMzIuNmM5LjcgNS42IDE3LjggMTMuNyAyMy40IDIzLjRIMzI4LjZjNS42LTkuNyAxMy43LTE3LjggMjMuNC0yMy40VjExOS40Yy05LjctNS42LTE3LjgtMTMuNy0yMy40LTIzLjRIMTE5LjR6bTE5MiAzODRjLTExLjEgMTkuMS0zMS43IDMyLTU1LjQgMzJjLTM1LjMgMC02NC0yOC43LTY0LTY0YzAtMjMuNyAxMi45LTQ0LjQgMzItNTUuNFYzNTJoNjR2NDAuNmM5LjcgNS42IDE3LjggMTMuNyAyMy40IDIzLjRINTIwLjZjNS42LTkuNyAxMy43LTE3LjggMjMuNC0yMy40VjI3OS40Yy05LjctNS42LTE3LjgtMTMuNy0yMy40LTIzLjRoLTQ2Yy01LjQtMTUuNC0xNC42LTI4LjktMjYuNS0zOS42VjE5Mmg3Mi42YzExLjEtMTkuMSAzMS43LTMyIDU1LjQtMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRjMCAyMy43LTEyLjkgNDQuNC0zMiA1NS40VjM5Mi42YzE5LjEgMTEuMSAzMiAzMS43IDMyIDU1LjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRjLTIzLjcgMC00NC40LTEyLjktNTUuNC0zMkgzMTEuNHpcIl1cbn07XG52YXIgZmFQb29wID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Bvb3AnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY2MTlcIiwgXCJNMjU0LjQgNi42YzMuNS00LjMgOS02LjUgMTQuNS01LjdDMzE1LjggNy4yIDM1MiA0Ny40IDM1MiA5NmMwIDExLjItMS45IDIyLTUuNSAzMkgzNTJjMzUuMyAwIDY0IDI4LjcgNjQgNjRjMCAxOS4xLTguNCAzNi4zLTIxLjcgNDhINDA4YzM5LjggMCA3MiAzMi4yIDcyIDcyYzAgMjMuMi0xMSA0My44LTI4IDU3YzM0LjEgNS43IDYwIDM1LjMgNjAgNzFjMCAzOS44LTMyLjIgNzItNzIgNzJINzJjLTM5LjggMC03Mi0zMi4yLTcyLTcyYzAtMzUuNyAyNS45LTY1LjMgNjAtNzFjLTE3LTEzLjItMjgtMzMuOC0yOC01N2MwLTM5LjggMzIuMi03MiA3Mi03MmgxMy43QzEwNC40IDIyOC4zIDk2IDIxMS4xIDk2IDE5MmMwLTM1LjMgMjguNy02NCA2NC02NGgxNi4yYzQ0LjEtLjEgNzkuOC0zNS45IDc5LjgtODBjMC05LjItMS41LTE3LjktNC4zLTI2LjFjLTEuOC01LjItLjgtMTEuMSAyLjgtMTUuNHpcIl1cbn07XG52YXIgZmFMb2NhdGlvblBpbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsb2NhdGlvbi1waW4nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcIm1hcC1tYXJrZXJcIl0sIFwiZjA0MVwiLCBcIk0zODQgMTkyYzAgODcuNC0xMTcgMjQzLTE2OC4zIDMwNy4yYy0xMi4zIDE1LjMtMzUuMSAxNS4zLTQ3LjQgMEMxMTcgNDM1IDAgMjc5LjQgMCAxOTJDMCA4NiA4NiAwIDE5MiAwUzM4NCA4NiAzODQgMTkyelwiXVxufTtcbnZhciBmYU1hcE1hcmtlciA9IGZhTG9jYXRpb25QaW47XG52YXIgZmFLYWFiYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdrYWFiYScsXG4gIGljb246IFs1NzYsIDUxMiwgWzEyODMzMV0sIFwiZjY2YlwiLCBcIk02MCAxMjBsMjI4IDcxLjJMNTE2IDEyMCAyODggNDguOCA2MCAxMjB6TTI3OC41IDEuNWM2LjItMS45IDEyLjktMS45IDE5LjEgMGwyNTYgODBDNTY2LjkgODUuNiA1NzYgOTggNTc2IDExMnYxNiAwIDIxLjJMMjkyLjggMjM3LjdjLTMuMSAxLTYuNCAxLTkuNSAwTDAgMTQ5LjJWMTI4IDExMkMwIDk4IDkuMSA4NS42IDIyLjUgODEuNWwyNTYtODB6bTIzLjkgMjY2LjhMNTc2IDE4Mi44djQ2LjVsLTUyLjggMTYuNWMtOC40IDIuNi0xMy4xIDExLjYtMTAuNSAyMHMxMS42IDEzLjEgMjAgMTAuNUw1NzYgMjYyLjhWNDAwYzAgMTQtOS4xIDI2LjQtMjIuNSAzMC41bC0yNTYgODBjLTYuMiAxLjktMTIuOSAxLjktMTkuMSAwbC0yNTYtODBDOS4xIDQyNi40IDAgNDE0IDAgNDAwVjI2Mi44bDQzLjIgMTMuNWM4LjQgMi42IDE3LjQtMi4xIDIwLTEwLjVzLTIuMS0xNy40LTEwLjUtMjBMMCAyMjkuMlYxODIuOGwyNzMuNyA4NS41YzkuMyAyLjkgMTkuMyAyLjkgMjguNiAwem0tMTg1LjUtMi42Yy04LjQtMi42LTE3LjQgMi4xLTIwIDEwLjVzMi4xIDE3LjQgMTAuNSAyMGw2NCAyMGM4LjQgMi42IDE3LjQtMi4xIDIwLTEwLjVzLTIuMS0xNy40LTEwLjUtMjBsLTY0LTIwem0zNTIgMzAuNWM4LjQtMi42IDEzLjEtMTEuNiAxMC41LTIwcy0xMS42LTEzLjEtMjAtMTAuNWwtNjQgMjBjLTguNCAyLjYtMTMuMSAxMS42LTEwLjUgMjBzMTEuNiAxMy4xIDIwIDEwLjVsNjQtMjB6bS0yMjQgOS41Yy04LjQtMi42LTE3LjQgMi4xLTIwIDEwLjVzMi4xIDE3LjQgMTAuNSAyMGwzOC41IDEyYzkuMyAyLjkgMTkuMyAyLjkgMjguNiAwbDM4LjUtMTJjOC40LTIuNiAxMy4xLTExLjYgMTAuNS0yMHMtMTEuNi0xMy4xLTIwLTEwLjVsLTM4LjUgMTJjLTMuMSAxLTYuNCAxLTkuNSAwbC0zOC41LTEyelwiXVxufTtcbnZhciBmYVRvaWxldFBhcGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RvaWxldC1wYXBlcicsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyOTUzMV0sIFwiZjcxZVwiLCBcIk00NDQuMiAwQzM5Ny4yIDQ5LjYgMzg0IDEyNi41IDM4NCAxOTJjMCAxNTguOC0yNy4zIDI0Ny00Mi43IDI4My45Yy0xMCAyNC0zMy4yIDM2LjEtNTUuNCAzNi4xSDQ4Yy0xMS41IDAtMjIuMi02LjItMjcuOC0xNi4ycy01LjYtMjIuMyAuNC0zMi4yYzkuOC0xNy43IDE1LjQtMzguMiAyMC41LTU3LjdDNTIuMyAzNjIuOCA2NCAyOTMuNSA2NCAxOTJDNjQgODYgMTA3IDAgMTYwIDBINDQ0LjJ6TTUxMiAzODRjLTUzIDAtOTYtODYtOTYtMTkyUzQ1OSAwIDUxMiAwczk2IDg2IDk2IDE5MnMtNDMgMTkyLTk2IDE5MnptMC0xMjhjMTcuNyAwIDMyLTI4LjcgMzItNjRzLTE0LjMtNjQtMzItNjRzLTMyIDI4LjctMzIgNjRzMTQuMyA2NCAzMiA2NHpNMTQ0IDIwOGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem02NCAwYTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6bTQ4IDE2YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnptODAtMTZhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHpcIl1cbn07XG52YXIgZmFIZWxtZXRTYWZldHkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVsbWV0LXNhZmV0eScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiaGFyZC1oYXRcIiwgXCJoYXQtaGFyZFwiXSwgXCJmODA3XCIsIFwiTTI1NiAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2Mi4zIDk5LjZjMCA1LjYtNC41IDEwLjEtMTAuMSAxMC4xYy0zLjYgMC03LTEuOS04LjgtNS4xTDE1Ny4xIDg3QzgzIDEyMy41IDMyIDE5OS44IDMyIDI4OHY2NEg1NDRsMC02Ni40Yy0uOS04Ny4yLTUxLjctMTYyLjQtMTI1LjEtMTk4LjZsLTQ4IDgzLjljLTEuOCAzLjItNS4yIDUuMS04LjggNS4xYy01LjYgMC0xMC4xLTQuNS0xMC4xLTEwLjFWNjYuMyA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMkgyNTZ6TTE2LjYgMzg0QzcuNCAzODQgMCAzOTEuNCAwIDQwMC42YzAgNC43IDIgOS4yIDUuOCAxMS45QzI3LjUgNDI4LjQgMTExLjggNDgwIDI4OCA0ODBzMjYwLjUtNTEuNiAyODIuMi02Ny41YzMuOC0yLjggNS44LTcuMiA1LjgtMTEuOWMwLTkuMi03LjQtMTYuNi0xNi42LTE2LjZIMTYuNnpcIl1cbn07XG52YXIgZmFIYXJkSGF0ID0gZmFIZWxtZXRTYWZldHk7XG52YXIgZmFIYXRIYXJkID0gZmFIZWxtZXRTYWZldHk7XG52YXIgZmFFamVjdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdlamVjdCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzkxNjddLCBcImYwNTJcIiwgXCJNMjI0IDMyYzEzLjUgMCAyNi4zIDUuNiAzNS40IDE1LjZsMTc2IDE5MmMxMi45IDE0IDE2LjIgMzQuMyA4LjYgNTEuOFM0MTkgMzIwIDQwMCAzMjBINDhjLTE5IDAtMzYuMy0xMS4yLTQzLjktMjguN3MtNC4zLTM3LjcgOC42LTUxLjhsMTc2LTE5MkMxOTcuNyAzNy42IDIxMC41IDMyIDIyNCAzMnpNMCA0MzJjMC0yNi41IDIxLjUtNDggNDgtNDhINDAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OHpcIl1cbn07XG52YXIgZmFDaXJjbGVSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtcmlnaHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MTgzOCwgXCJhcnJvdy1hbHQtY2lyY2xlLXJpZ2h0XCJdLCBcImYzNWFcIiwgXCJNMCAyNTZhMjU2IDI1NiAwIDEgMCA1MTIgMEEyNTYgMjU2IDAgMSAwIDAgMjU2ek0yOTQuNiAxMzUuMWw5OS45IDEwNy4xYzMuNSAzLjggNS41IDguNyA1LjUgMTMuOHMtMiAxMC4xLTUuNSAxMy44TDI5NC42IDM3Ni45Yy00LjIgNC41LTEwLjEgNy4xLTE2LjMgNy4xQzI2NiAzODQgMjU2IDM3NCAyNTYgMzYxLjdsMC01Ny43LTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMCAwLTU3LjdjMC0xMi4zIDEwLTIyLjMgMjIuMy0yMi4zYzYuMiAwIDEyLjEgMi42IDE2LjMgNy4xelwiXVxufTtcbnZhciBmYUFycm93QWx0Q2lyY2xlUmlnaHQgPSBmYUNpcmNsZVJpZ2h0O1xudmFyIGZhUGxhbmVDaXJjbGVDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwbGFuZS1jaXJjbGUtY2hlY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NTVcIiwgXCJNMjU2IDBjLTM1IDAtNjQgNTkuNS02NCA5My43djg0LjZMOC4xIDI4My40Yy01IDIuOC04LjEgOC4yLTguMSAxMy45djY1LjVjMCAxMC42IDEwLjIgMTguMyAyMC40IDE1LjRsMTcxLjYtNDkgMCA3MC45LTU3LjYgNDMuMmMtNCAzLTYuNCA3LjgtNi40IDEyLjh2NDJjMCA3LjggNi4zIDE0IDE0IDE0YzEuMyAwIDIuNi0uMiAzLjktLjVMMjU2IDQ4MGwxMTAuMSAzMS41YzEuMyAuNCAyLjYgLjUgMy45IC41YzYgMCAxMS4xLTMuNyAxMy4xLTlDMzQ0LjUgNDcwLjcgMzIwIDQyMi4yIDMyMCAzNjhjMC02MC42IDMwLjYtMTE0IDc3LjEtMTQ1LjZMMzIwIDE3OC4zVjkzLjdDMzIwIDU5LjUgMjkyIDAgMjU2IDB6TTY0MCAzNjhhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTc2LjctNDMuM2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNmwtNzIgNzJjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwbC00MC00MGMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQ4MCAzODUuNGw2MC43LTYwLjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDB6XCJdXG59O1xudmFyIGZhRmFjZVJvbGxpbmdFeWVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2Utcm9sbGluZy1leWVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTgwLCBcIm1laC1yb2xsaW5nLWV5ZXNcIl0sIFwiZjVhNVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTkyIDM2OEgzMjBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMTkyYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0zMi0xNDRjMCAzNS4zLTI4LjcgNjQtNjQgNjRzLTY0LTI4LjctNjQtNjRjMC0yNiAxNS41LTQ4LjQgMzcuOC01OC40Yy0zLjcgNS4yLTUuOCAxMS42LTUuOCAxOC40YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJjMC02LjktMi4yLTEzLjItNS44LTE4LjRDMjA4LjUgMTc1LjYgMjI0IDE5OCAyMjQgMjI0em0xMjggNjRjLTM1LjMgMC02NC0yOC43LTY0LTY0YzAtMjYgMTUuNS00OC40IDM3LjgtNTguNGMtMy43IDUuMi01LjggMTEuNi01LjggMTguNGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyYzAtNi45LTIuMi0xMy4yLTUuOC0xOC40QzQwMC41IDE3NS42IDQxNiAxOTggNDE2IDIyNGMwIDM1LjMtMjguNyA2NC02NCA2NHpcIl1cbn07XG52YXIgZmFNZWhSb2xsaW5nRXllcyA9IGZhRmFjZVJvbGxpbmdFeWVzO1xudmFyIGZhT2JqZWN0R3JvdXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnb2JqZWN0LWdyb3VwJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMjQ3XCIsIFwiTTMyIDExOS40QzEyLjkgMTA4LjQgMCA4Ny43IDAgNjRDMCAyOC43IDI4LjcgMCA2NCAwYzIzLjcgMCA0NC40IDEyLjkgNTUuNCAzMkg0NTYuNkM0NjcuNiAxMi45IDQ4OC4zIDAgNTEyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRjMCAyMy43LTEyLjkgNDQuNC0zMiA1NS40VjM5Mi42YzE5LjEgMTEuMSAzMiAzMS43IDMyIDU1LjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRjLTIzLjcgMC00NC40LTEyLjktNTUuNC0zMkgxMTkuNGMtMTEuMSAxOS4xLTMxLjcgMzItNTUuNCAzMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRjMC0yMy43IDEyLjktNDQuNCAzMi01NS40VjExOS40ek00NTYuNiA5NkgxMTkuNGMtNS42IDkuNy0xMy43IDE3LjgtMjMuNCAyMy40VjM5Mi42YzkuNyA1LjYgMTcuOCAxMy43IDIzLjQgMjMuNEg0NTYuNmM1LjYtOS43IDEzLjctMTcuOCAyMy40LTIzLjRWMTE5LjRjLTkuNy01LjYtMTcuOC0xMy43LTIzLjQtMjMuNHpNMTI4IDE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMkgyODhjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJIMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMlYxNjB6TTI1NiAzMjBoMzJjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMjI0aDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMydjk2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMzIwelwiXVxufTtcbnZhciBmYUNoYXJ0TGluZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGFydC1saW5lJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJsaW5lLWNoYXJ0XCJdLCBcImYyMDFcIiwgXCJNNjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCA0Ni4zIDAgNjRWNDAwYzAgNDQuMiAzNS44IDgwIDgwIDgwSDQ4MGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjY0em00MDYuNiA4Ni42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDMyMCAyMTAuN2wtNTcuNC01Ny40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTEyIDExMmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwyNDAgMjIxLjNsNTcuNCA1Ny40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDEyOC0xMjh6XCJdXG59O1xudmFyIGZhTGluZUNoYXJ0ID0gZmFDaGFydExpbmU7XG52YXIgZmFNYXNrVmVudGlsYXRvciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXNrLXZlbnRpbGF0b3InLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MjRcIiwgXCJNMTU5LjEgMTc2QzEzOS40IDIxOS4yIDEyOCAyNjQuNyAxMjggMzAwLjhjMCAxNS45IDIuMiAzMS40IDYuMyA0NmwtMzEuOC03LjlDNzAuNSAzMzAuOSA0OCAzMDIuMSA0OCAyNjlWMTg0YzAtNC40IDMuNi04IDgtOEgxNTkuMXptMjYtNDhINTZjLTMwLjkgMC01NiAyNS4xLTU2IDU2djg1YzAgNTUuMSAzNy41IDEwMy4xIDkwLjkgMTE2LjRsNzEuMyAxNy44YzIyLjcgMzAuNSA1NS40IDU0LjEgOTMuOCA2Ni42VjM5My4zYy0xOS43LTE2LjQtMzItNDAuMy0zMi02Ni45YzAtNDkuNSA0My0xMzQuNCA5Ni0xMzQuNGM1Mi41IDAgOTYgODQuOSA5NiAxMzQuNGMwIDI2LjctMTIuNCA1MC40LTMyIDY2Ljh2NzYuNmMzOC0xMi42IDcwLjYtMzYgOTMuNS02Ni40bDcxLjYtMTcuOUM2MDIuNSAzNzIuMSA2NDAgMzI0LjEgNjQwIDI2OVYxODRjMC0zMC45LTI1LjEtNTYtNTYtNTZINDU0LjVDNDE5LjcgNzMuOCAzNzIuMSAzMiAzMjAgMzJjLTUyLjYgMC0xMDAuMiA0MS44LTEzNC45IDk2em0yOTUuNiA0OEg1ODRjNC40IDAgOCAzLjYgOCA4djg1YzAgMzMtMjIuNSA2MS44LTU0LjUgNjkuOWwtMzEuOCA4YzQuMi0xNC43IDYuNC0zMC4xIDYuNC00Ni4xYzAtMzYuMS0xMS42LTgxLjYtMzEuMy0xMjQuOHpNMjg4IDMyMFY1MTJoNjRWMzIwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyelwiXVxufTtcbnZhciBmYUFycm93UmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctcmlnaHQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs4NTk0XSwgXCJmMDYxXCIsIFwiTTQzOC42IDI3OC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xNjAtMTYwYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0wzMzguOCAyMjQgMzIgMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMwNi43IDBMMjMzLjQgMzkzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsMTYwLTE2MHpcIl1cbn07XG52YXIgZmFTaWduc1Bvc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2lnbnMtcG9zdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibWFwLXNpZ25zXCJdLCBcImYyNzdcIiwgXCJNMjI0IDMySDY0QzQ2LjMgMzIgMzIgNDYuMyAzMiA2NHY2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMkg0NDEuNGM0LjIgMCA4LjMtMS43IDExLjMtNC43bDQ4LTQ4YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42bC00OC00OGMtMy0zLTcuMS00LjctMTEuMy00LjdIMjg4YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyek00ODAgMjU2YzAtMTcuNy0xNC4zLTMyLTMyLTMySDI4OFYxOTJIMjI0djMySDcwLjZjLTQuMiAwLTguMyAxLjctMTEuMyA0LjdsLTQ4IDQ4Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNmw0OCA0OGMzIDMgNy4xIDQuNyAxMS4zIDQuN0g0NDhjMTcuNyAwIDMyLTE0LjMgMzItMzJWMjU2ek0yODggNDgwVjM4NEgyMjR2OTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnpcIl1cbn07XG52YXIgZmFNYXBTaWducyA9IGZhU2lnbnNQb3N0O1xudmFyIGZhQ2FzaFJlZ2lzdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nhc2gtcmVnaXN0ZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3ODhcIiwgXCJNNjQgMEM0Ni4zIDAgMzIgMTQuMyAzMiAzMlY5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmg4MHYzMkg4N2MtMzEuNiAwLTU4LjUgMjMuMS02My4zIDU0LjRMMS4xIDM2NC4xQy40IDM2OC44IDAgMzczLjYgMCAzNzguNFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRINDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0VjM3OC40YzAtNC44LS40LTkuNi0xLjEtMTQuNEw0ODguMiAyMTQuNEM0ODMuNSAxODMuMSA0NTYuNiAxNjAgNDI1IDE2MEgyMDhWMTI4aDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMyVjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMySDY0ek05NiA0OEgyNTZjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIOTZjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6TTY0IDQzMmMwLTguOCA3LjItMTYgMTYtMTZINDMyYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZ6bTQ4LTE2OGEyNCAyNCAwIDEgMSAwLTQ4IDI0IDI0IDAgMSAxIDAgNDh6bTEyMC0yNGEyNCAyNCAwIDEgMSAtNDggMCAyNCAyNCAwIDEgMSA0OCAwek0xNjAgMzQ0YTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHpNMzI4IDI0MGEyNCAyNCAwIDEgMSAtNDggMCAyNCAyNCAwIDEgMSA0OCAwek0yNTYgMzQ0YTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHpNNDI0IDI0MGEyNCAyNCAwIDEgMSAtNDggMCAyNCAyNCAwIDEgMSA0OCAwek0zNTIgMzQ0YTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHpcIl1cbn07XG52YXIgZmFQZXJzb25DaXJjbGVRdWVzdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tY2lyY2xlLXF1ZXN0aW9uJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTQyXCIsIFwiTTExMiA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem00MCAzMDRWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjI1Ni45TDU5LjQgMzA0LjVjLTkuMSAxNS4xLTI4LjggMjAtNDMuOSAxMC45cy0yMC0yOC44LTEwLjktNDMuOWw1OC4zLTk3YzE3LjQtMjguOSA0OC42LTQ2LjYgODIuMy00Ni42aDI5LjdjMzMuNyAwIDY0LjkgMTcuNyA4Mi4zIDQ2LjZsNDQuOSA3NC43Yy0xNi4xIDE3LjYtMjguNiAzOC41LTM2LjYgNjEuNWMtMS45LTEuOC0zLjUtMy45LTQuOS02LjNMMjMyIDI1Ni45VjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzNTJIMTUyek00MzIgMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMCAyNDBhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4ek0zNjggMzIxLjZWMzI4YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZ2LTYuNGMwLTUuMyA0LjMtOS42IDkuNi05LjZoNDAuNWM3LjcgMCAxMy45IDYuMiAxMy45IDEzLjljMCA1LjItMi45IDkuOS03LjQgMTIuM2wtMzIgMTYuOGMtNS4zIDIuOC04LjYgOC4yLTguNiAxNC4yVjM4NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2di01LjFsMjMuNS0xMi4zYzE1LjEtNy45IDI0LjUtMjMuNiAyNC41LTQwLjZjMC0yNS40LTIwLjYtNDUuOS00NS45LTQ1LjlINDA5LjZjLTIzIDAtNDEuNiAxOC42LTQxLjYgNDEuNnpcIl1cbn07XG52YXIgZmFIID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2gnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMDRdLCBcIjQ4XCIsIFwiTTMyMCAyNTZsMCAxOTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTIyNFY2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlYxOTJMNjQgMTkyIDY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNDYuMyAwIDY0VjQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTkyIDI1NiAwelwiXVxufTtcbnZhciBmYVRhcnAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGFycCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU3YlwiLCBcIk01NzYgMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4VjM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzNTIgMCAwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMkg1NzZWMTI4ek00NDggNDQ4TDU3NiAzMjBINDQ4bDAgMTI4ek05NiAxMjhhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbnZhciBmYVNjcmV3ZHJpdmVyV3JlbmNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NjcmV3ZHJpdmVyLXdyZW5jaCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1widG9vbHNcIl0sIFwiZjdkOVwiLCBcIk03OC42IDVDNjkuMS0yLjQgNTUuNi0xLjUgNDcgN0w3IDQ3Yy04LjUgOC41LTkuNCAyMi0yLjEgMzEuNmw4MCAxMDRjNC41IDUuOSAxMS42IDkuNCAxOSA5LjRoNTQuMWwxMDkgMTA5Yy0xNC43IDI5LTEwIDY1LjQgMTQuMyA4OS42bDExMiAxMTJjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsNjQtNjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTExMi0xMTJjLTI0LjItMjQuMi02MC42LTI5LTg5LjYtMTQuM2wtMTA5LTEwOVYxMDRjMC03LjUtMy41LTE0LjUtOS40LTE5TDc4LjYgNXpNMTkuOSAzOTYuMUM3LjIgNDA4LjggMCA0MjYuMSAwIDQ0NC4xQzAgNDgxLjYgMzAuNCA1MTIgNjcuOSA1MTJjMTggMCAzNS4zLTcuMiA0OC0xOS45TDIzMy43IDM3NC4zYy03LjgtMjAuOS05LTQzLjYtMy42LTY1LjFsLTYxLjctNjEuN0wxOS45IDM5Ni4xek01MTIgMTQ0YzAtMTAuNS0xLjEtMjAuNy0zLjItMzAuNWMtMi40LTExLjItMTYuMS0xNC4xLTI0LjItNmwtNjMuOSA2My45Yy0zIDMtNy4xIDQuNy0xMS4zIDQuN0gzNTJjLTguOCAwLTE2LTcuMi0xNi0xNlYxMDIuNmMwLTQuMiAxLjctOC4zIDQuNy0xMS4zbDYzLjktNjMuOWM4LjEtOC4xIDUuMi0yMS44LTYtMjQuMkMzODguNyAxLjEgMzc4LjUgMCAzNjggMEMyODguNSAwIDIyNCA2NC41IDIyNCAxNDRsMCAuOCA4NS4zIDg1LjNjMzYtOS4xIDc1LjggLjUgMTA0IDI4LjdMNDI5IDI3NC41YzQ5LTIzIDgzLTcyLjggODMtMTMwLjV6TTU2IDQzMmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwelwiXVxufTtcbnZhciBmYVRvb2xzID0gZmFTY3Jld2RyaXZlcldyZW5jaDtcbnZhciBmYUFycm93c1RvRXllID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93cy10by1leWUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0YmZcIiwgXCJNMTUgMTVDMjQuNCA1LjcgMzkuNiA1LjcgNDkgMTVsNjMgNjNWNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHY5NmMwIDEzLjMtMTAuNyAyNC0yNCAyNEg0MGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNEg3OC4xTDE1IDQ5QzUuNyAzOS42IDUuNyAyNC40IDE1IDE1ek0xMzMuNSAyNDMuOUMxNTguNiAxOTMuNiAyMjIuNyAxMTIgMzIwIDExMnMxNjEuNCA4MS42IDE4Ni41IDEzMS45YzMuOCA3LjYgMy44IDE2LjUgMCAyNC4yQzQ4MS40IDMxOC40IDQxNy4zIDQwMCAzMjAgNDAwcy0xNjEuNC04MS42LTE4Ni41LTEzMS45Yy0zLjgtNy42LTMuOC0xNi41IDAtMjQuMnpNMzIwIDMyMGE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHpNNTkxIDE1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNjMgNjNINjAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDUwNGMtMTMuMyAwLTI0LTEwLjctMjQtMjRWNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNFY3OC4xbDYzLTYzek0xNSA0OTdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDYzLTYzSDQwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0aDk2YzEzLjMgMCAyNCAxMC43IDI0IDI0djk2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0VjQzMy45TDQ5IDQ5N2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDB6bTU3NiAwbC02My02M1Y0NzJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWMzc2YzAtMTMuMyAxMC43LTI0IDI0LTI0aDk2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDU2MS45bDYzIDYzYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDB6XCJdXG59O1xudmFyIGZhUGx1Z0NpcmNsZUJvbHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGx1Zy1jaXJjbGUtYm9sdCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU1YlwiLCBcIk05NiAwQzc4LjMgMCA2NCAxNC4zIDY0IDMydjk2aDY0VjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek0yODggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2OTZoNjRWMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6TTMyIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMnYzMmMwIDc3LjQgNTUgMTQyIDEyOCAxNTYuOFY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlY0MTIuOGMxMi4zLTIuNSAyNC4xLTYuNCAzNS4xLTExLjVjLTIuMS0xMC44LTMuMS0yMS45LTMuMS0zMy4zYzAtODAuMyA1My44LTE0OCAxMjcuMy0xNjkuMmMuNS0yLjIgLjctNC41IC43LTYuOGMwLTE3LjctMTQuMy0zMi0zMi0zMkgzMnpNNDMyIDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTQ3LjktMjI1YzQuMyAzLjcgNS40IDkuOSAyLjYgMTQuOUw0NTIuNCAzNTZINDg4YzUuMiAwIDkuOCAzLjMgMTEuNCA4LjJzLS4xIDEwLjMtNC4yIDEzLjRsLTk2IDcyYy00LjUgMy40LTEwLjggMy4yLTE1LjEtLjZzLTUuNC05LjktMi42LTE0LjlMNDExLjYgMzgwSDM3NmMtNS4yIDAtOS44LTMuMy0xMS40LTguMnMuMS0xMC4zIDQuMi0xMy40bDk2LTcyYzQuNS0zLjQgMTAuOC0zLjIgMTUuMSAuNnpcIl1cbn07XG52YXIgZmFIZWFydCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFydCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODE1MywgMTI4MTU0LCAxMjgxNTUsIDEyODE1NiwgMTI4NDIwLCAxMjkyOTMsIDEyOTI5NCwgMTI5NTA1LCA5ODI5LCAxMDA4NCwgNjE1NzhdLCBcImYwMDRcIiwgXCJNNDcuNiAzMDAuNEwyMjguMyA0NjkuMWM3LjUgNyAxNy40IDEwLjkgMjcuNyAxMC45czIwLjItMy45IDI3LjctMTAuOUw0NjQuNCAzMDAuNGMzMC40LTI4LjMgNDcuNi02OCA0Ny42LTEwOS41di01LjhjMC02OS45LTUwLjUtMTI5LjUtMTE5LjQtMTQxQzM0NyAzNi41IDMwMC42IDUxLjQgMjY4IDg0TDI1NiA5NiAyNDQgODRjLTMyLjYtMzIuNi03OS00Ny41LTEyNC42LTM5LjlDNTAuNSA1NS42IDAgMTE1LjIgMCAxODUuMXY1LjhjMCA0MS41IDE3LjIgODEuMiA0Ny42IDEwOS41elwiXVxufTtcbnZhciBmYU1hcnNBbmRWZW51cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXJzLWFuZC12ZW51cycsXG4gIGljb246IFs1MTIsIDUxMiwgWzk4OTNdLCBcImYyMjRcIiwgXCJNMzM3LjggMTQuOEMzNDEuNSA1LjggMzUwLjMgMCAzNjAgMEg0NzJjMTMuMyAwIDI0IDEwLjcgMjQgMjRWMTM2YzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTM5LTM5LTI0LjcgMjQuN0M0MDcgMTYzLjMgNDE2IDE5Mi42IDQxNiAyMjRjMCA4MC4yLTU5IDE0Ni42LTEzNiAxNTguMlY0MDhoMjRjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIMjgwdjMyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0VjQ1NkgyMDhjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRoMjRWMzgyLjJDMTU1IDM3MC42IDk2IDMwNC4yIDk2IDIyNGMwLTg4LjQgNzEuNi0xNjAgMTYwLTE2MGMzOS42IDAgNzUuOSAxNC40IDEwMy44IDM4LjJMMzgyLjEgODAgMzQzIDQxYy02LjktNi45LTguOS0xNy4yLTUuMi0yNi4yek00NDggNDhsMCAwaDB2MHpNMzUyIDIyNGE5NiA5NiAwIDEgMCAtMTkyIDAgOTYgOTYgMCAxIDAgMTkyIDB6XCJdXG59O1xudmFyIGZhSG91c2VVc2VyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLXVzZXInLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImhvbWUtdXNlclwiXSwgXCJlMWIwXCIsIFwiTTU3NS44IDI1NS41YzAgMTgtMTUgMzIuMS0zMiAzMi4xaC0zMmwuNyAxNjAuMmMuMiAzNS41LTI4LjUgNjQuMy02NCA2NC4zSDEyOC4xYy0zNS4zIDAtNjQtMjguNy02NC02NFYyODcuNkgzMmMtMTggMC0zMi0xNC0zMi0zMi4xYzAtOSAzLTE3IDEwLTI0TDI2Ni40IDhjNy03IDE1LTggMjItOHMxNSAyIDIxIDdMNTY0LjggMjMxLjVjOCA3IDEyIDE1IDExIDI0ek0zNTIgMjI0YTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHptLTk2IDk2Yy00NC4yIDAtODAgMzUuOC04MCA4MGMwIDguOCA3LjIgMTYgMTYgMTZIMzg0YzguOCAwIDE2LTcuMiAxNi0xNmMwLTQ0LjItMzUuOC04MC04MC04MEgyNTZ6XCJdXG59O1xudmFyIGZhSG9tZVVzZXIgPSBmYUhvdXNlVXNlcjtcbnZhciBmYUR1bXBzdGVyRmlyZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkdW1wc3Rlci1maXJlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNzk0XCIsIFwiTTQ5LjcgMzJsOTAuOCAwTDExNC45IDE2MGwtOTQgMEM5LjMgMTYwIDAgMTUwLjcgMCAxMzkuMWMwLTIuMSAuMy00LjEgLjktNi4xTDI2LjggNDguOUMyOS45IDM4LjkgMzkuMiAzMiA0OS43IDMyek0yNzIgMTYwbC0xMjQuNSAwTDE3My4xIDMyIDI3MiAzMmwwIDEyOHptMzIgMGwwLTEyOCA5OC45IDAgMTQuNCA3Mi4xYy0xLjcgMS4xLTMuMyAyLjQtNC44IDMuOGMtMTguNCAxNi40LTM1LjQgMzQtNTAuNSA1Mi4xbC01OCAwem0yMDkuOS0yMy43Yy0xLjcgMS42LTMuNCAzLjItNSA0LjhDNDk4IDEyOS42IDQ4Ni43IDExOC42IDQ3NSAxMDhjLTcuNi02LjktMTctMTAuOC0yNi42LTExLjhMNDM1LjUgMzJsOTAuOCAwYzEwLjUgMCAxOS44IDYuOSAyMi45IDE2LjlMNTc1LjEgMTMzYy4yIC43IC40IDEuNCAuNSAyLjFjLTE3LjgtMTUtNDQuMy0xNC42LTYxLjcgMS4yek0zMjUuMiAyMTAuN0MzMDQuMyAyNDQuNSAyODggMjgyLjkgMjg4IDMxOC4xYzAgNDkuMyAxOC42IDk1LjIgNDkuNiAxMjkuOUwxMjggNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyTDQ0IDI4OGwtMTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw0IDAtNC0zMiAzMDUuNSAwYy00LjQgNi4yLTguNSAxMi41LTEyLjMgMTguN3ptMTgwLjYtMzQuNUw1MTggMTYyLjVjNS40LTYuMSAxMy4zLTguOCAyMC45LTguOWM3LjIgMCAxNC4zIDIuNiAxOS45IDcuOGMxOS43IDE4LjMgMzkuOCA0My4yIDU1IDcwLjZDNjI5IDI1OS4yIDY0MCAyOTAuMiA2NDAgMzIwLjJDNjQwIDQwOC44IDU2OC43IDQ4MCA0ODAgNDgwYy04OS42IDAtMTYwLTcxLjMtMTYwLTE1OS44YzAtMzcuMyAxNi03My40IDM2LjgtMTA0LjVjMjAuOS0zMS4zIDQ3LjUtNTkgNzAuOS04MC4yYzUuNy01LjIgMTMuMS03LjcgMjAuMy03LjVjMTQuMSAuMyAyMy44IDExLjQgMzIuNyAyMS42YzAgMCAwIDAgMCAwYzIgMi4zIDQgNC42IDYgNi43bDE5IDE5Ljl6TTU0NCAzNjguMmMwLTM2LjUtMzctNzMtNTQuOC04OC40Yy01LjQtNC43LTEzLjEtNC43LTE4LjUgMEM0NTMgMjk1LjEgNDE2IDMzMS42IDQxNiAzNjguMmMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0elwiXVxufTtcbnZhciBmYUhvdXNlQ3JhY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtY3JhY2snLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImUzYjFcIiwgXCJNNTQzLjggMjg3LjZjMTcgMCAzMi0xNCAzMi0zMi4xYzEtOS0zLTE3LTExLTI0TDMwOS41IDdjLTYtNS0xNC03LTIxLTdzLTE1IDEtMjIgOEwxMCAyMzEuNWMtNyA3LTEwIDE1LTEwIDI0YzAgMTggMTQgMzIuMSAzMiAzMi4xaDMyVjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgyMzAuNGwtMzEuMy01Mi4yYy00LjEtNi44LTIuNi0xNS41IDMuNS0yMC41TDI4OCAzNjhsLTYwLjItODIuOGMtMTAuOS0xNSA4LjItMzMuNSAyMi44LTIybDExNy45IDkyLjZjOCA2LjMgOC4yIDE4LjQgLjQgMjQuOUwyODggNDQ4bDM4LjQgNjRINDQ4LjVjMzUuNSAwIDY0LjItMjguOCA2NC02NC4zbC0uNy0xNjAuMmgzMnpcIl1cbn07XG52YXIgZmFNYXJ0aW5pR2xhc3NDaXRydXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFydGluaS1nbGFzcy1jaXRydXMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImNvY2t0YWlsXCJdLCBcImY1NjFcIiwgXCJNNDMyIDI0MGM1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05NmMtMzUuNSAwLTY2LjYgMTkuMy04My4yIDQ4SDI5Ni4yQzMxNiA0MC4xIDM2OS4zIDAgNDMyIDBjNzkuNSAwIDE0NCA2NC41IDE0NCAxNDRzLTY0LjUgMTQ0LTE0NCAxNDRjLTI3LjcgMC01My41LTcuOC03NS41LTIxLjNsMzUuNC0zNS40YzEyLjIgNS42IDI1LjggOC43IDQwLjEgOC43ek0xLjggMTQyLjhDNS41IDEzMy44IDE0LjMgMTI4IDI0IDEyOEgzOTJjOS43IDAgMTguNSA1LjggMjIuMiAxNC44czEuNyAxOS4zLTUuMiAyNi4ybC0xNzcgMTc3VjQ2NGg2NGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEgyMDggMTIwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0aDY0VjM0NS45TDcgMTY5Yy02LjktNi45LTguOS0xNy4yLTUuMi0yNi4yelwiXVxufTtcbnZhciBmYUNvY2t0YWlsID0gZmFNYXJ0aW5pR2xhc3NDaXRydXM7XG52YXIgZmFGYWNlU3VycHJpc2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1zdXJwcmlzZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU1OCwgXCJzdXJwcmlzZVwiXSwgXCJmNWMyXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xNzYuNCAxNzZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMjU2IDI4OGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpcIl1cbn07XG52YXIgZmFTdXJwcmlzZSA9IGZhRmFjZVN1cnByaXNlO1xudmFyIGZhQm90dGxlV2F0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm90dGxlLXdhdGVyJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJlNGM1XCIsIFwiTTEyMCAwbDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0MEw5NiA2NGwwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0ek0zMiAxNjcuNWMwLTE5LjUgMTAtMzcuNiAyNi42LTQ3LjlsMTUuOC05LjlDODguNyAxMDAuNyAxMDUuMiA5NiAxMjIuMSA5Nmw3NS44IDBjMTYuOSAwIDMzLjQgNC43IDQ3LjcgMTMuN2wxNS44IDkuOUMyNzggMTI5LjkgMjg4IDE0OCAyODggMTY3LjVjMCAxNy03LjUgMzIuMy0xOS40IDQyLjZDMjgwLjYgMjIxLjcgMjg4IDIzOCAyODggMjU2YzAgMTkuMS04LjQgMzYuMy0yMS43IDQ4YzEzLjMgMTEuNyAyMS43IDI4LjkgMjEuNyA0OHMtOC40IDM2LjMtMjEuNyA0OGMxMy4zIDExLjcgMjEuNyAyOC45IDIxLjcgNDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMOTYgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGMwLTE5LjEgOC40LTM2LjMgMjEuNy00OEM0MC40IDM4OC4zIDMyIDM3MS4xIDMyIDM1MnM4LjQtMzYuMyAyMS43LTQ4QzQwLjQgMjkyLjMgMzIgMjc1LjEgMzIgMjU2YzAtMTggNy40LTM0LjMgMTkuNC00NS45QzM5LjUgMTk5LjcgMzIgMTg0LjUgMzIgMTY3LjV6TTk2IDI0MGMwIDguOCA3LjIgMTYgMTYgMTZsOTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtOTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0xNiAxMTJjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsOTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtOTYgMHpcIl1cbn07XG52YXIgZmFDaXJjbGVQYXVzZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtcGF1c2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MjA5MiwgXCJwYXVzZS1jaXJjbGVcIl0sIFwiZjI4YlwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjI0IDE5MlYzMjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6bTEyOCAwVjMyMGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnpcIl1cbn07XG52YXIgZmFQYXVzZUNpcmNsZSA9IGZhQ2lyY2xlUGF1c2U7XG52YXIgZmFUb2lsZXRQYXBlclNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RvaWxldC1wYXBlci1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA3MlwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43bC0xMDkuNy04NkM1NjkuOSAzNzQgNjA4IDI5MS45IDYwOCAxOTJDNjA4IDg2IDU2NSAwIDUxMiAwcy05NiA4Ni05NiAxOTJjMCA0OS4xIDkuMiA5My45IDI0LjQgMTI3LjlsLTU5LTQ2LjJjMS42LTI0LjggMi42LTUyIDIuNi04MS42YzAtNjUuNSAxMy4yLTE0Mi40IDYwLjItMTkySDE2MGMtMjQuOCAwLTQ3LjQgMTguOC02NC40IDQ5LjZMMzguOCA1LjF6TTM2Ny4zIDM4NS40TDY2LjUgMTQ4LjRDNjQuOSAxNjIuNCA2NCAxNzcgNjQgMTkyYzAgMTAxLjUtMTEuNyAxNzAuOC0yMyAyMTMuOWMtNS4xIDE5LjQtMTAuNyAzOS45LTIwLjUgNTcuN2MtNS45IDkuOS02LjEgMjIuMS0uNCAzMi4yUzM2LjUgNTEyIDQ4IDUxMkgyODUuOWMyMi4zIDAgNDUuNC0xMi4xIDU1LjQtMzYuMWM3LjQtMTcuNyAxNy41LTQ3LjIgMjYtOTAuNnpNNTQ0IDE5MmMwIDM1LjMtMTQuMyA2NC0zMiA2NHMtMzItMjguNy0zMi02NHMxNC4zLTY0IDMyLTY0czMyIDI4LjcgMzIgNjR6XCJdXG59O1xudmFyIGZhQXBwbGVXaG9sZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcHBsZS13aG9sZScsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyNzgyMiwgMTI3ODIzLCBcImFwcGxlLWFsdFwiXSwgXCJmNWQxXCIsIFwiTTIyNCAxMTJjLTguOCAwLTE2LTcuMi0xNi0xNlY4MGMwLTQ0LjIgMzUuOC04MCA4MC04MGgxNmM4LjggMCAxNiA3LjIgMTYgMTZWMzJjMCA0NC4yLTM1LjggODAtODAgODBIMjI0ek0wIDI4OGMwLTc2LjMgMzUuNy0xNjAgMTEyLTE2MGMyNy4zIDAgNTkuNyAxMC4zIDgyLjcgMTkuM2MxOC44IDcuMyAzOS45IDcuMyA1OC43IDBjMjIuOS04LjkgNTUuNC0xOS4zIDgyLjctMTkuM2M3Ni4zIDAgMTEyIDgzLjcgMTEyIDE2MGMwIDEyOC04MCAyMjQtMTYwIDIyNGMtMTYuNSAwLTM4LjEtNi42LTUxLjUtMTEuM2MtOC4xLTIuOC0xNi45LTIuOC0yNSAwYy0xMy40IDQuNy0zNSAxMS4zLTUxLjUgMTEuM0M4MCA1MTIgMCA0MTYgMCAyODh6XCJdXG59O1xudmFyIGZhQXBwbGVBbHQgPSBmYUFwcGxlV2hvbGU7XG52YXIgZmFLaXRjaGVuU2V0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2tpdGNoZW4tc2V0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTFhXCIsIFwiTTI0MCAxNDRBOTYgOTYgMCAxIDAgNDggMTQ0YTk2IDk2IDAgMSAwIDE5MiAwem00NC40IDMyQzI2OS45IDI0MC4xIDIxMi41IDI4OCAxNDQgMjg4QzY0LjUgMjg4IDAgMjIzLjUgMCAxNDRTNjQuNSAwIDE0NCAwYzY4LjUgMCAxMjUuOSA0Ny45IDE0MC40IDExMmg3MS44YzguOC05LjggMjEuNi0xNiAzNS44LTE2SDQ5NmMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OEgzOTJjLTE0LjIgMC0yNy02LjItMzUuOC0xNkgyODQuNHpNMTQ0IDgwYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4ek00MDAgMjQwYzEzLjMgMCAyNCAxMC43IDI0IDI0djhoOTZjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIMjgwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0aDk2di04YzAtMTMuMyAxMC43LTI0IDI0LTI0ek0yODggNDY0VjM1Mkg1MTJWNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDMzNmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDh6TTQ4IDMyMGg4MCAxNiAzMmMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OEgxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJINjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjMzNmMwLTguOCA3LjItMTYgMTYtMTZ6bTEyOCA2NGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgxNjB2MzJoMTZ6TTI0IDQ2NEgyMDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIMjRjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6XCJdXG59O1xudmFyIGZhUiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTE0XSwgXCI1MlwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjI4OCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzMjBoOTUuM0wyNjEuOCA0NjYuNGMxMC4xIDE0LjUgMzAuMSAxOCA0NC42IDcuOXMxOC0zMC4xIDcuOS00NC42TDIzMC4xIDMwOS41QzI4Mi44IDI4OC4xIDMyMCAyMzYuNCAzMjAgMTc2YzAtNzkuNS02NC41LTE0NC0xNDQtMTQ0SDY0ek0xNzYgMjU2SDY0Vjk2SDE3NmM0NC4yIDAgODAgMzUuOCA4MCA4MHMtMzUuOCA4MC04MCA4MHpcIl1cbn07XG52YXIgZmFUZW1wZXJhdHVyZVF1YXJ0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGVtcGVyYXR1cmUtcXVhcnRlcicsXG4gIGljb246IFszMjAsIDUxMiwgW1widGVtcGVyYXR1cmUtMVwiLCBcInRoZXJtb21ldGVyLTFcIiwgXCJ0aGVybW9tZXRlci1xdWFydGVyXCJdLCBcImYyY2FcIiwgXCJNMTYwIDY0Yy0yNi41IDAtNDggMjEuNS00OCA0OFYyNzYuNWMwIDE3LjMtNy4xIDMxLjktMTUuMyA0Mi41Qzg2LjIgMzMyLjYgODAgMzQ5LjUgODAgMzY4YzAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC0xOC41LTYuMi0zNS40LTE2LjctNDguOWMtOC4yLTEwLjYtMTUuMy0yNS4yLTE1LjMtNDIuNVYxMTJjMC0yNi41LTIxLjUtNDgtNDgtNDh6TTQ4IDExMkM0OCA1MC4yIDk4LjEgMCAxNjAgMHMxMTIgNTAuMSAxMTIgMTEyVjI3Ni41YzAgLjEgLjEgLjMgLjIgLjZjLjIgLjYgLjggMS42IDEuNyAyLjhjMTguOSAyNC40IDMwLjEgNTUgMzAuMSA4OC4xYzAgNzkuNS02NC41IDE0NC0xNDQgMTQ0UzE2IDQ0Ny41IDE2IDM2OGMwLTMzLjIgMTEuMi02My44IDMwLjEtODguMWMuOS0xLjIgMS41LTIuMiAxLjctMi44Yy4xLS4zIC4yLS41IC4yLS42VjExMnpNMjA4IDM2OGMwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNWMjcyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ2NTAuN2MxOC42IDYuNiAzMiAyNC40IDMyIDQ1LjN6XCJdXG59O1xudmFyIGZhVGVtcGVyYXR1cmUxID0gZmFUZW1wZXJhdHVyZVF1YXJ0ZXI7XG52YXIgZmFUaGVybW9tZXRlcjEgPSBmYVRlbXBlcmF0dXJlUXVhcnRlcjtcbnZhciBmYVRoZXJtb21ldGVyUXVhcnRlciA9IGZhVGVtcGVyYXR1cmVRdWFydGVyO1xudmFyIGZhQ3ViZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjdWJlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMWIyXCIsIFwiTTIzNC41IDUuN2MxMy45LTUgMjkuMS01IDQzLjEgMGwxOTIgNjguNkM0OTUgODMuNCA1MTIgMTA3LjUgNTEyIDEzNC42VjM3Ny40YzAgMjctMTcgNTEuMi00Mi41IDYwLjNsLTE5MiA2OC42Yy0xMy45IDUtMjkuMSA1LTQzLjEgMGwtMTkyLTY4LjZDMTcgNDI4LjYgMCA0MDQuNSAwIDM3Ny40VjEzNC42YzAtMjcgMTctNTEuMiA0Mi41LTYwLjNsMTkyLTY4LjZ6TTI1NiA2Nkw4Mi4zIDEyOCAyNTYgMTkwbDE3My43LTYyTDI1NiA2NnptMzIgMzY4LjZsMTYwLTU3LjF2LTE4OEwyODggMjQ2LjZ2MTg4elwiXVxufTtcbnZhciBmYUJpdGNvaW5TaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JpdGNvaW4tc2lnbicsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiZTBiNFwiLCBcIk00OCAzMkM0OCAxNC4zIDYyLjMgMCA4MCAwczMyIDE0LjMgMzIgMzJWNjRoMzJWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMlY2NGMwIDEuNS0uMSAzLjEtLjMgNC41QzI1NC4xIDgyLjIgMjg4IDEyNS4xIDI4OCAxNzZjMCAyNC4yLTcuNyA0Ni42LTIwLjcgNjQuOWMzMS43IDE5LjggNTIuNyA1NSA1Mi43IDk1LjFjMCA2MS45LTUwLjEgMTEyLTExMiAxMTJ2MzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWNDQ4SDExMnYzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY0NDhINDEuN0MxOC43IDQ0OCAwIDQyOS4zIDAgNDA2LjNWMjg4IDI2NS43IDIyNCAxMDEuNkMwIDgwLjggMTYuOCA2NCAzNy42IDY0SDQ4VjMyek02NCAyMjRIMTc2YzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4SDY0djk2em0xMTIgNjRINjR2OTZIMjA4YzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4SDE3NnpcIl1cbn07XG52YXIgZmFTaGllbGREb2cgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2hpZWxkLWRvZycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTU3M1wiLCBcIk0yNjkuNCAyLjlDMjY1LjIgMSAyNjAuNyAwIDI1NiAwcy05LjIgMS0xMy40IDIuOUw1NC4zIDgyLjhjLTIyIDkuMy0zOC40IDMxLTM4LjMgNTcuMmMuNSA5OS4yIDQxLjMgMjgwLjcgMjEzLjYgMzYzLjJjMTYuNyA4IDM2LjEgOCA1Mi44IDBDNDU0LjcgNDIwLjcgNDk1LjUgMjM5LjIgNDk2IDE0MGMuMS0yNi4yLTE2LjMtNDcuOS0zOC4zLTU3LjJMMjY5LjQgMi45ek0xNjAuOSAyODYuMmM0LjggMS4yIDkuOSAxLjggMTUuMSAxLjhjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTYwaDQ0LjJjMTIuMSAwIDIzLjIgNi44IDI4LjYgMTcuN0wzMjAgMTkyaDY0YzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDQ0LjItMzUuOCA4MC04MCA4MEgyNzJ2NTAuN2MwIDcuMy01LjkgMTMuMy0xMy4zIDEzLjNjLTEuOCAwLTMuNi0uNC01LjItMS4xbC05OC43LTQyLjNjLTYuNi0yLjgtMTAuOC05LjMtMTAuOC0xNi40YzAtMi44IC42LTUuNSAxLjktOGwxNS0zMHpNMTYwIDE2MGg0MCA4djMyIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjE3NmMwLTguOCA3LjItMTYgMTYtMTZ6bTEyOCA0OGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwelwiXVxufTtcbnZhciBmYVNvbGFyUGFuZWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc29sYXItcGFuZWwnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY1YmFcIiwgXCJNMTIyLjIgMEM5MS43IDAgNjUuNSAyMS41IDU5LjUgNTEuNEw4LjMgMzA3LjRDLjQgMzQ3IDMwLjYgMzg0IDcxIDM4NEgyODh2NjRIMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDQxNmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzNTJWMzg0SDU2OWM0MC40IDAgNzAuNy0zNi45IDYyLjgtNzYuNmwtNTEuMi0yNTZDNTc0LjUgMjEuNSA1NDguMyAwIDUxNy44IDBIMTIyLjJ6TTI2MC45IDY0SDM3OS4xbDEwLjQgMTA0aC0xMzlMMjYwLjkgNjR6TTIwMi4zIDE2OEgxMDEuNEwxMjIuMiA2NGg5MC40TDIwMi4zIDE2OHpNOTEuOCAyMTZIMTk3LjVMMTg3LjEgMzIwSDcxTDkxLjggMjE2em0xNTMuOSAwSDM5NC4zbDEwLjQgMTA0LTE2OS40IDAgMTAuNC0xMDR6bTE5Ni44IDBINTQ4LjJMNTY5IDMyMGgtMTE2TDQ0Mi41IDIxNnptOTYtNDhINDM3LjdMNDI3LjMgNjRoOTAuNGwzMS40LTYuM0w1MTcuOCA2NGwyMC44IDEwNHpcIl1cbn07XG52YXIgZmFMb2NrT3BlbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsb2NrLW9wZW4nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImYzYzFcIiwgXCJNMzUyIDE0NGMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwdjQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMTQ0QzU3NiA2NC41IDUxMS41IDAgNDMyIDBTMjg4IDY0LjUgMjg4IDE0NHY0OEg2NGMtMzUuMyAwLTY0IDI4LjctNjQgNjRWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDM4NGMzNS4zIDAgNjQtMjguNyA2NC02NFYyNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRIMzUyVjE0NHpcIl1cbn07XG52YXIgZmFFbGV2YXRvciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdlbGV2YXRvcicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTE2ZFwiLCBcIk0xMzIuNyA0LjdsLTY0IDY0Yy00LjYgNC42LTUuOSAxMS41LTMuNSAxNy40czguMyA5LjkgMTQuOCA5LjlIMjA4YzYuNSAwIDEyLjMtMy45IDE0LjgtOS45czEuMS0xMi45LTMuNS0xNy40bC02NC02NGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDB6TTY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NFYxOTJjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6bTk2IDk2YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpNODAgNDAwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4aDY0YzI2LjUgMCA0OCAyMS41IDQ4IDQ4djE2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDExMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDAwem0xOTIgMGMwLTI2LjUgMjEuNS00OCA0OC00OGg2NGMyNi41IDAgNDggMjEuNSA0OCA0OHYxNmMwIDE3LjctMTQuMyAzMi0zMiAzMkgzMDRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjQwMHptMzItMTI4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTM1Ni43IDkxLjNjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBsNjQtNjRjNC42LTQuNiA1LjktMTEuNSAzLjUtMTcuNFM0MzguNSAwIDQzMiAwSDMwNGMtNi41IDAtMTIuMyAzLjktMTQuOCA5LjlzLTEuMSAxMi45IDMuNSAxNy40bDY0IDY0elwiXVxufTtcbnZhciBmYU1vbmV5QmlsbFRyYW5zZmVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vbmV5LWJpbGwtdHJhbnNmZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MjhcIiwgXCJNNTM1IDQxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNjQgNjRjNC41IDQuNSA3IDEwLjYgNyAxN3MtMi41IDEyLjUtNyAxN2wtNjQgNjRjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMjMtMjNMMzg0IDExMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxNzQuMSAwTDUzNSA0MXpNMTA1IDM3N2wtMjMgMjNMMjU2IDQwMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEw4MS45IDQ0OGwyMyAyM2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDcgNDQxYy00LjUtNC41LTctMTAuNi03LTE3czIuNS0xMi41IDctMTdsNjQtNjRjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45ek05NiA2NEgzMzcuOWMtMy43IDcuMi01LjkgMTUuMy01LjkgMjRjMCAyOC43IDIzLjMgNTIgNTIgNTJsMTE3LjQgMGMtNCAxNyAuNiAzNS41IDEzLjggNDguOGMyMC4zIDIwLjMgNTMuMiAyMC4zIDczLjUgMEw2MDggMTY5LjVWMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0SDMwMi4xYzMuNy03LjIgNS45LTE1LjMgNS45LTI0YzAtMjguNy0yMy4zLTUyLTUyLTUybC0xMTcuNCAwYzQtMTctLjYtMzUuNS0xMy44LTQ4LjhjLTIwLjMtMjAuMy01My4yLTIwLjMtNzMuNSAwTDMyIDM0Mi41VjEyOGMwLTM1LjMgMjguNy02NCA2NC02NHptNjQgNjRIOTZ2NjRjMzUuMyAwIDY0LTI4LjcgNjQtNjR6TTU0NCAzMjBjLTM1LjMgMC02NCAyOC43LTY0IDY0aDY0VjMyMHpNMzIwIDM1MmE5NiA5NiAwIDEgMCAwLTE5MiA5NiA5NiAwIDEgMCAwIDE5MnpcIl1cbn07XG52YXIgZmFNb25leUJpbGxUcmVuZFVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vbmV5LWJpbGwtdHJlbmQtdXAnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1MjlcIiwgXCJNNDcwLjcgOS40YzMgMy4xIDUuMyA2LjYgNi45IDEwLjNzMi40IDcuOCAyLjQgMTIuMmwwIC4xdjAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMTA5LjNMMzEwLjYgMjE0LjZjLTExLjggMTEuOC0zMC44IDEyLjYtNDMuNSAxLjdMMTc2IDEzOC4xIDg0LjggMjE2LjNjLTEzLjQgMTEuNS0zMy42IDkuOS00NS4xLTMuNXMtOS45LTMzLjYgMy41LTQ1LjFsMTEyLTk2YzEyLTEwLjMgMjkuNy0xMC4zIDQxLjcgMGw4OS41IDc2LjdMMzcwLjcgNjRIMzUyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyaDk2IDBjOC44IDAgMTYuOCAzLjYgMjIuNiA5LjNsLjEgLjF6TTAgMzA0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4SDQ2NGMyNi41IDAgNDggMjEuNSA0OCA0OFY0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjMwNHpNNDggNDE2djQ4SDk2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek05NiAzMDRINDh2NDhjMjYuNSAwIDQ4LTIxLjUgNDgtNDh6TTQ2NCA0MTZjLTI2LjUgMC00OCAyMS41LTQ4IDQ4aDQ4VjQxNnpNNDE2IDMwNGMwIDI2LjUgMjEuNSA0OCA0OCA0OFYzMDRINDE2em0tOTYgODBhNjQgNjQgMCAxIDAgLTEyOCAwIDY0IDY0IDAgMSAwIDEyOCAwelwiXVxufTtcbnZhciBmYUhvdXNlRmxvb2RXYXRlckNpcmNsZUFycm93UmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtZmxvb2Qtd2F0ZXItY2lyY2xlLWFycm93LXJpZ2h0JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTBmXCIsIFwiTTI4OCAxNDRBMTQ0IDE0NCAwIDEgMCAwIDE0NGExNDQgMTQ0IDAgMSAwIDI4OCAwek0xNDAuNyA3Ni43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwbDU2IDU2YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42bC01NiA1NmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkwxNjkuNCAxNjBIODBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZoODkuNEwxNDAuNyA5OS4zYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnpNMzIwIDE0NGMwIDU3LjMtMjcuNCAxMDguMi02OS44IDE0MC4zYzExLjgtMy42IDIzLTkuNCAzMy0xNi4yYzIyLjEtMTUuNSA1MS42LTE1LjUgNzMuNyAwYzE4LjQgMTIuNyAzOS42IDIwLjMgNTkuMiAyMC4zYzE5IDAgNDEuMi03LjkgNTkuMi0yMC4zYzIzLjgtMTYuNyA1NS44LTE1LjQgNzguMSAzLjRjMi4xIDEuNyA0LjIgMy4zIDYuNSA0LjlsLS4zLTg0LjRINTc2YzEzLjkgMCAyNi4xLTguOSAzMC40LTIyLjFzLS40LTI3LjYtMTEuNi0zNS44bC0xNzYtMTI4QzQwNy42LTIgMzkyLjQtMiAzODEuMiA2LjFMMzAxIDY0LjRjMTIuMSAyMy45IDE5IDUwLjkgMTkgNzkuNnptMTguNSAxNjUuOWMtMTEuMS03LjktMjUuOS03LjktMzcgMEMyNzkgMzI1LjQgMjUxLjUgMzM2IDIyNCAzMzZjLTI2LjkgMC01NS4zLTEwLjgtNzcuNC0yNi4xbDAgMGMtMTEuOS04LjUtMjguMS03LjgtMzkuMiAxLjdjLTE0LjQgMTEuOS0zMi41IDIxLTUwLjYgMjUuMmMtMTcuMiA0LTI3LjkgMjEuMi0yMy45IDM4LjRzMjEuMiAyNy45IDM4LjQgMjMuOWMyNC41LTUuNyA0NC45LTE2LjUgNTguMi0yNUMxNTguNSAzODkuNyAxOTEgNDAwIDIyNCA0MDBjMzEuOSAwIDYwLjYtOS45IDgwLjQtMTguOWM1LjgtMi43IDExLjEtNS4zIDE1LjYtNy43YzQuNSAyLjQgOS43IDUuMSAxNS42IDcuN2MxOS44IDkgNDguNiAxOC45IDgwLjQgMTguOWMzMyAwIDY1LjUtMTAuMyA5NC41LTI1LjhjMTMuNCA4LjQgMzMuNyAxOS4zIDU4LjIgMjVjMTcuMiA0IDM0LjQtNi43IDM4LjQtMjMuOXMtNi43LTM0LjQtMjMuOS0zOC40Yy0xOC4xLTQuMi0zNi4yLTEzLjMtNTAuNi0yNS4yYy0xMS4xLTkuNS0yNy4zLTEwLjEtMzkuMi0xLjdsMCAwQzQ3MS40IDMyNS4yIDQ0Mi45IDMzNiA0MTYgMzM2Yy0yNy41IDAtNTUtMTAuNi03Ny41LTI2LjF6bTAgMTEyYy0xMS4xLTcuOS0yNS45LTcuOS0zNyAwQzI3OSA0MzcuNCAyNTEuNSA0NDggMjI0IDQ0OGMtMjYuOSAwLTU1LjMtMTAuOC03Ny40LTI2LjFsMCAwYy0xMS45LTguNS0yOC4xLTcuOC0zOS4yIDEuN2MtMTQuNCAxMS45LTMyLjUgMjEtNTAuNiAyNS4yYy0xNy4yIDQtMjcuOSAyMS4yLTIzLjkgMzguNHMyMS4yIDI3LjkgMzguNCAyMy45YzI0LjUtNS43IDQ0LjktMTYuNSA1OC4yLTI1QzE1OC41IDUwMS43IDE5MSA1MTIgMjI0IDUxMmMzMS45IDAgNjAuNi05LjkgODAuNC0xOC45YzUuOC0yLjcgMTEuMS01LjMgMTUuNi03LjdjNC41IDIuNCA5LjcgNS4xIDE1LjYgNy43YzE5LjggOSA0OC42IDE4LjkgODAuNCAxOC45YzMzIDAgNjUuNS0xMC4zIDk0LjUtMjUuOGMxMy40IDguNCAzMy43IDE5LjMgNTguMiAyNWMxNy4yIDQgMzQuNC02LjcgMzguNC0yMy45cy02LjctMzQuNC0yMy45LTM4LjRjLTE4LjEtNC4yLTM2LjItMTMuMy01MC42LTI1LjJjLTExLjEtOS40LTI3LjMtMTAuMS0zOS4yLTEuN2wwIDBDNDcxLjQgNDM3LjIgNDQyLjkgNDQ4IDQxNiA0NDhjLTI3LjUgMC01NS0xMC42LTc3LjUtMjYuMXpcIl1cbn07XG52YXIgZmFTcXVhcmVQb2xsSG9yaXpvbnRhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUtcG9sbC1ob3Jpem9udGFsJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJwb2xsLWhcIl0sIFwiZjY4MlwiLCBcIk00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMjU2IDE2MGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyem02NCA2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTkyIDB6TTE5MiAzNTJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnpcIl1cbn07XG52YXIgZmFQb2xsSCA9IGZhU3F1YXJlUG9sbEhvcml6b250YWw7XG52YXIgZmFDaXJjbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MzA4LCAxMjgzMDksIDEyODk5MiwgMTI4OTkzLCAxMjg5OTQsIDEyODk5NSwgMTI4OTk2LCA5Njc5LCA5ODk4LCA5ODk5LCAxMTA0NCwgNjE3MDgsIDYxOTE1XSwgXCJmMTExXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyelwiXVxufTtcbnZhciBmYUJhY2t3YXJkRmFzdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYWNrd2FyZC1mYXN0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTE5OCwgXCJmYXN0LWJhY2t3YXJkXCJdLCBcImYwNDlcIiwgXCJNNDkzLjYgNDQ1Yy0xMS4yIDUuMy0yNC41IDMuNi0zNC4xLTQuNEwyODggMjk3LjdWNDE2YzAgMTIuNC03LjIgMjMuNy0xOC40IDI5cy0yNC41IDMuNi0zNC4xLTQuNEw2NCAyOTcuN1Y0MTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWOTZDMCA3OC4zIDE0LjMgNjQgMzIgNjRzMzIgMTQuMyAzMiAzMlYyMTQuM0wyMzUuNSA3MS40YzkuNS03LjkgMjIuOC05LjcgMzQuMS00LjRTMjg4IDgzLjYgMjg4IDk2VjIxNC4zTDQ1OS41IDcxLjRjOS41LTcuOSAyMi44LTkuNyAzNC4xLTQuNFM1MTIgODMuNiA1MTIgOTZWNDE2YzAgMTIuNC03LjIgMjMuNy0xOC40IDI5elwiXVxufTtcbnZhciBmYUZhc3RCYWNrd2FyZCA9IGZhQmFja3dhcmRGYXN0O1xudmFyIGZhUmVjeWNsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyZWN5Y2xlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTg0MiwgOTg1MCwgOTg1MV0sIFwiZjFiOFwiLCBcIk0xNzQuNyA0NS4xQzE5Mi4yIDE3IDIyMyAwIDI1NiAwczYzLjggMTcgODEuMyA0NS4xbDM4LjYgNjEuNyAyNy0xNS42YzguNC00LjkgMTguOS00LjIgMjYuNiAxLjdzMTEuMSAxNS45IDguNiAyNS4zbC0yMy40IDg3LjRjLTMuNCAxMi44LTE2LjYgMjAuNC0yOS40IDE3bC04Ny40LTIzLjRjLTkuNC0yLjUtMTYuMy0xMC40LTE3LjYtMjBzMy40LTE5LjEgMTEuOC0yMy45bDI4LjQtMTYuNEwyODMgNzljLTUuOC05LjMtMTYtMTUtMjctMTVzLTIxLjIgNS43LTI3IDE1bC0xNy41IDI4Yy05LjIgMTQuOC0yOC42IDE5LjUtNDMuNiAxMC41Yy0xNS4zLTkuMi0yMC4yLTI5LjItMTAuNy00NC40bDE3LjUtMjh6TTQyOS41IDI1MS45YzE1LTkgMzQuNC00LjMgNDMuNiAxMC41bDI0LjQgMzkuMWM5LjQgMTUuMSAxNC40IDMyLjQgMTQuNiA1MC4yYy4zIDUzLjEtNDIuNyA5Ni40LTk1LjggOTYuNEwzMjAgNDQ4djMyYzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTY0LTY0Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw2NC02NGM2LjktNi45IDE3LjItOC45IDI2LjItNS4yczE0LjggMTIuNSAxNC44IDIyLjJ2MzJsOTYuMiAwYzE3LjYgMCAzMS45LTE0LjQgMzEuOC0zMmMwLTUuOS0xLjctMTEuNy00LjgtMTYuN2wtMjQuNC0zOS4xYy05LjUtMTUuMi00LjctMzUuMiAxMC43LTQ0LjR6bS0zNjQuNi0zMUwzNiAyMDQuMmMtOC40LTQuOS0xMy4xLTE0LjMtMTEuOC0yMy45czguMi0xNy41IDE3LjYtMjBsODcuNC0yMy40YzEyLjgtMy40IDI2IDQuMiAyOS40IDE3TDE4MiAyNDEuMmMyLjUgOS40LS45IDE5LjMtOC42IDI1LjNzLTE4LjIgNi42LTI2LjYgMS43bC0yNi41LTE1LjNMNjguOCAzMzUuM2MtMy4xIDUtNC44IDEwLjgtNC44IDE2LjdjLS4xIDE3LjYgMTQuMiAzMiAzMS44IDMybDMyLjIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIuMiAwQzQyLjcgNDQ4LS4zIDQwNC44IDAgMzUxLjZjLjEtMTcuOCA1LjEtMzUuMSAxNC42LTUwLjJsNTAuMy04MC41elwiXVxufTtcbnZhciBmYVVzZXJBc3Ryb25hdXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1hc3Ryb25hdXQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImY0ZmJcIiwgXCJNMzcwLjcgOTYuMUMzNDYuMSAzOS41IDI4OS43IDAgMjI0IDBTMTAxLjkgMzkuNSA3Ny4zIDk2LjFDNjAuOSA5Ny41IDQ4IDExMS4yIDQ4IDEyOHY2NGMwIDE2LjggMTIuOSAzMC41IDI5LjMgMzEuOUMxMDEuOSAyODAuNSAxNTguMyAzMjAgMjI0IDMyMHMxMjIuMS0zOS41IDE0Ni43LTk2LjFjMTYuNC0xLjQgMjkuMy0xNS4xIDI5LjMtMzEuOVYxMjhjMC0xNi44LTEyLjktMzAuNS0yOS4zLTMxLjl6TTMzNiAxNDR2MTZjMCA1My00MyA5Ni05NiA5NkgyMDhjLTUzIDAtOTYtNDMtOTYtOTZWMTQ0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4SDI4OGMyNi41IDAgNDggMjEuNSA0OCA0OHpNMTg5LjMgMTYyLjdsLTYtMjEuMmMtLjktMy4zLTMuOS01LjUtNy4zLTUuNXMtNi40IDIuMi03LjMgNS41bC02IDIxLjItMjEuMiA2Yy0zLjMgLjktNS41IDMuOS01LjUgNy4zczIuMiA2LjQgNS41IDcuM2wyMS4yIDYgNiAyMS4yYy45IDMuMyAzLjkgNS41IDcuMyA1LjVzNi40LTIuMiA3LjMtNS41bDYtMjEuMiAyMS4yLTZjMy4zLS45IDUuNS0zLjkgNS41LTcuM3MtMi4yLTYuNC01LjUtNy4zbC0yMS4yLTZ6TTExMi43IDMxNi41QzQ2LjcgMzQyLjYgMCA0MDcgMCA0ODIuM0MwIDQ5OC43IDEzLjMgNTEyIDI5LjcgNTEySDEyOFY0NDhjMC0xNy43IDE0LjMtMzIgMzItMzJIMjg4YzE3LjcgMCAzMiAxNC4zIDMyIDMydjY0bDk4LjMgMGMxNi40IDAgMjkuNy0xMy4zIDI5LjctMjkuN2MwLTc1LjMtNDYuNy0xMzkuNy0xMTIuNy0xNjUuOEMzMDMuOSAzMzguOCAyNjUuNSAzNTIgMjI0IDM1MnMtNzkuOS0xMy4yLTExMS4zLTM1LjV6TTE3NiA0NDhjLTguOCAwLTE2IDcuMi0xNiAxNnY0OGgzMlY0NjRjMC04LjgtNy4yLTE2LTE2LTE2em05NiAzMmExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6XCJdXG59O1xudmFyIGZhUGxhbmVTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwbGFuZS1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA2OVwiLCBcIk00NDAuNiAzMjBoNzMuOGMzNC4yIDAgOTMuNy0yOCA5My43LTY0YzAtMzUtNTkuNS02NC05My43LTY0bC0xMTYuNiAwTDI5Ny4yIDE2LjFDMjkxLjUgNi4yIDI4MC45IDAgMjY5LjQgMEgyMTMuMmMtMTAuNiAwLTE4LjMgMTAuMi0xNS40IDIwLjRsNDAuMyAxNDAuOUwzOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDQ0MC42IDMyMHptLTc4LjEgNjEuNkw0MS41IDEyOC43QzM2IDEzMC42IDMyIDEzNS45IDMyIDE0MmMwIDEuMyAuMiAyLjYgLjUgMy45TDY0IDI1NiAzMi41IDM2Ni4xYy0uNCAxLjMtLjUgMi42LS41IDMuOWMwIDcuOCA2LjMgMTQgMTQgMTRIODhjNSAwIDkuOC0yLjQgMTIuOC02LjRMMTQ0IDMyMEgyNDYuOWwtNDkgMTcxLjZjLTIuOSAxMC4yIDQuOCAyMC40IDE1LjQgMjAuNGw1Ni4yIDBjMTEuNSAwIDIyLjEtNi4yIDI3LjgtMTYuMWw2NS4zLTExNC4zelwiXVxufTtcbnZhciBmYVRyYWRlbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cmFkZW1hcmsnLFxuICBpY29uOiBbNjQwLCA1MTIsIFs4NDgyXSwgXCJmMjVjXCIsIFwiTTM0NS42IDEwOC44Yy04LjMtMTEtMjIuNy0xNS41LTM1LjctMTEuMlMyODggMTE0LjIgMjg4IDEyOFYzODRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyMjRsODYuNCAxMTUuMmM2IDguMSAxNS41IDEyLjggMjUuNiAxMi44czE5LjYtNC43IDI1LjYtMTIuOEw1NzYgMjI0VjM4NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjEyOGMwLTEzLjgtOC44LTI2LTIxLjktMzAuNHMtMjcuNSAuMS0zNS43IDExLjJMNDY0IDI2Ni43IDM0NS42IDEwOC44ek0wIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMkg5NlYzODRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYxNjBoNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzJDMTQuMyA5NiAwIDExMC4zIDAgMTI4elwiXVxufTtcbnZhciBmYUJhc2tldGJhbGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFza2V0YmFsbCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzkzNiwgXCJiYXNrZXRiYWxsLWJhbGxcIl0sIFwiZjQzNFwiLCBcIk04Ni42IDY0bDg1LjIgODUuMkMxOTQuNSAxMjEuNyAyMDggODYuNCAyMDggNDhjMC0xNC43LTItMjguOS01LjctNDIuNEMxNTguNiAxNSAxMTkgMzUuNSA4Ni42IDY0ek02NCA4Ni42QzM1LjUgMTE5IDE1IDE1OC42IDUuNiAyMDIuM0MxOS4xIDIwNiAzMy4zIDIwOCA0OCAyMDhjMzguNCAwIDczLjctMTMuNSAxMDEuMy0zNi4xTDY0IDg2LjZ6TTI1NiAwYy03LjMgMC0xNC42IC4zLTIxLjggLjlDMjM4IDE2IDI0MCAzMS44IDI0MCA0OGMwIDQ3LjMtMTcuMSA5MC41LTQ1LjQgMTI0TDI1NiAyMzMuNCA0MjUuNCA2NEMzODAuMiAyNC4yIDMyMC45IDAgMjU2IDB6TTQ4IDI0MGMtMTYuMiAwLTMyLTItNDcuMS01LjhDLjMgMjQxLjQgMCAyNDguNyAwIDI1NmMwIDY0LjkgMjQuMiAxMjQuMiA2NCAxNjkuNEwyMzMuNCAyNTYgMTcyIDE5NC42QzEzOC41IDIyMi45IDk1LjMgMjQwIDQ4IDI0MHptNDYzLjEgMzcuOGMuNi03LjIgLjktMTQuNSAuOS0yMS44YzAtNjQuOS0yNC4yLTEyNC4yLTY0LTE2OS40TDI3OC42IDI1NiAzNDAgMzE3LjRjMzMuNC0yOC4zIDc2LjctNDUuNCAxMjQtNDUuNGMxNi4yIDAgMzIgMiA0Ny4xIDUuOHptLTQuNyAzMS45QzQ5Mi45IDMwNiA0NzguNyAzMDQgNDY0IDMwNGMtMzguNCAwLTczLjcgMTMuNS0xMDEuMyAzNi4xTDQ0OCA0MjUuNGMyOC41LTMyLjMgNDkuMS03MS45IDU4LjQtMTE1Ljd6TTM0MC4xIDM2Mi43QzMxNy41IDM5MC4zIDMwNCA0MjUuNiAzMDQgNDY0YzAgMTQuNyAyIDI4LjkgNS43IDQyLjRDMzUzLjQgNDk3IDM5MyA0NzYuNSA0MjUuNCA0NDhsLTg1LjItODUuMnpNMzE3LjQgMzQwTDI1NiAyNzguNiA4Ni42IDQ0OGM0NS4xIDM5LjggMTA0LjQgNjQgMTY5LjQgNjRjNy4zIDAgMTQuNi0uMyAyMS44LS45QzI3NCA0OTYgMjcyIDQ4MC4yIDI3MiA0NjRjMC00Ny4zIDE3LjEtOTAuNSA0NS40LTEyNHpcIl1cbn07XG52YXIgZmFCYXNrZXRiYWxsQmFsbCA9IGZhQmFza2V0YmFsbDtcbnZhciBmYVNhdGVsbGl0ZURpc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2F0ZWxsaXRlLWRpc2gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyMjVdLCBcImY3YzBcIiwgXCJNMTkyIDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyQzM4My4xIDAgNTEyIDEyOC45IDUxMiAyODhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJDNDQ4IDE2NC4zIDM0Ny43IDY0IDIyNCA2NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTYwLjYgMjIwLjZMMTY0LjcgMzI0LjdsMjguNC0yOC40Yy0uNy0yLjYtMS4xLTUuNC0xLjEtOC4zYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJjLTIuOSAwLTUuNi0uNC04LjMtMS4xbC0yOC40IDI4LjRMMjkxLjQgNDUxLjRjMTQuNSAxNC41IDExLjggMzguOC03LjMgNDYuM0MyNjAuNSA1MDYuOSAyMzQuOSA1MTIgMjA4IDUxMkM5My4xIDUxMiAwIDQxOC45IDAgMzA0YzAtMjYuOSA1LjEtNTIuNSAxNC40LTc2LjFjNy41LTE5IDMxLjgtMjEuOCA0Ni4zLTcuM3pNMjI0IDk2YzEwNiAwIDE5MiA4NiAxOTIgMTkyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyYzAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyelwiXVxufTtcbnZhciBmYUNpcmNsZVVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS11cCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzYxNDY3LCBcImFycm93LWFsdC1jaXJjbGUtdXBcIl0sIFwiZjM1YlwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTM1LjEgMjE3LjRsMTA3LjEtOTkuOWMzLjgtMy41IDguNy01LjUgMTMuOC01LjVzMTAuMSAyIDEzLjggNS41bDEwNy4xIDk5LjljNC41IDQuMiA3LjEgMTAuMSA3LjEgMTYuM2MwIDEyLjMtMTAgMjIuMy0yMi4zIDIyLjNIMzA0djk2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDI0MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMjU2SDE1MC4zQzEzOCAyNTYgMTI4IDI0NiAxMjggMjMzLjdjMC02LjIgMi42LTEyLjEgNy4xLTE2LjN6XCJdXG59O1xudmFyIGZhQXJyb3dBbHRDaXJjbGVVcCA9IGZhQ2lyY2xlVXA7XG52YXIgZmFNb2JpbGVTY3JlZW5CdXR0b24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9iaWxlLXNjcmVlbi1idXR0b24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcIm1vYmlsZS1hbHRcIl0sIFwiZjNjZFwiLCBcIk0xNiA2NEMxNiAyOC43IDQ0LjcgMCA4MCAwSDMwNGMzNS4zIDAgNjQgMjguNyA2NCA2NFY0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRIODBjLTM1LjMgMC02NC0yOC43LTY0LTY0VjY0ek0yMjQgNDQ4YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTMwNCA2NEg4MFYzODRIMzA0VjY0elwiXVxufTtcbnZhciBmYU1vYmlsZUFsdCA9IGZhTW9iaWxlU2NyZWVuQnV0dG9uO1xudmFyIGZhVm9sdW1lSGlnaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2b2x1bWUtaGlnaCcsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODI2NiwgXCJ2b2x1bWUtdXBcIl0sIFwiZjAyOFwiLCBcIk01MzMuNiAzMi41QzU5OC41IDg1LjIgNjQwIDE2NS44IDY0MCAyNTZzLTQxLjUgMTcwLjctMTA2LjQgMjIzLjVjLTEwLjMgOC40LTI1LjQgNi44LTMzLjgtMy41cy02LjgtMjUuNCAzLjUtMzMuOEM1NTcuNSAzOTguMiA1OTIgMzMxLjIgNTkyIDI1NnMtMzQuNS0xNDIuMi04OC43LTE4Ni4zYy0xMC4zLTguNC0xMS44LTIzLjUtMy41LTMzLjhzMjMuNS0xMS44IDMzLjgtMy41ek00NzMuMSAxMDdjNDMuMiAzNS4yIDcwLjkgODguOSA3MC45IDE0OXMtMjcuNyAxMTMuOC03MC45IDE0OWMtMTAuMyA4LjQtMjUuNCA2LjgtMzMuOC0zLjVzLTYuOC0yNS40IDMuNS0zMy44QzQ3NS4zIDM0MS4zIDQ5NiAzMDEuMSA0OTYgMjU2cy0yMC43LTg1LjMtNTMuMi0xMTEuOGMtMTAuMy04LjQtMTEuOC0yMy41LTMuNS0zMy44czIzLjUtMTEuOCAzMy44LTMuNXptLTYwLjUgNzQuNUM0MzQuMSAxOTkuMSA0NDggMjI1LjkgNDQ4IDI1NnMtMTMuOSA1Ni45LTM1LjQgNzQuNWMtMTAuMyA4LjQtMjUuNCA2LjgtMzMuOC0zLjVzLTYuOC0yNS40IDMuNS0zMy44QzM5My4xIDI4NC40IDQwMCAyNzEgNDAwIDI1NnMtNi45LTI4LjQtMTcuNy0zNy4zYy0xMC4zLTguNC0xMS44LTIzLjUtMy41LTMzLjhzMjMuNS0xMS44IDMzLjgtMy41ek0zMDEuMSAzNC44QzMxMi42IDQwIDMyMCA1MS40IDMyMCA2NFY0NDhjMCAxMi42LTcuNCAyNC0xOC45IDI5LjJzLTI1IDMuMS0zNC40LTUuM0wxMzEuOCAzNTJINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjIyNGMwLTM1LjMgMjguNy02NCA2NC02NGg2Ny44TDI2Ni43IDQwLjFjOS40LTguNCAyMi45LTEwLjQgMzQuNC01LjN6XCJdXG59O1xudmFyIGZhVm9sdW1lVXAgPSBmYVZvbHVtZUhpZ2g7XG52YXIgZmFVc2Vyc1JheXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlcnMtcmF5cycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU5M1wiLCBcIk00MSA3QzMxLjYtMi4zIDE2LjQtMi4zIDcgN1MtMi4zIDMxLjYgNyA0MWw3MiA3MmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMNDEgN3pNNTk5IDdMNTI3IDc5Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNzItNzJjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMHpNNyA1MDVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsNzItNzJjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMEw3IDQ3MWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjl6bTU5MiAwYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNzItNzJjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNzIgNzJ6TTMyMCAyNTZhNjQgNjQgMCAxIDAgMC0xMjggNjQgNjQgMCAxIDAgMCAxMjh6TTIxMi4xIDMzNmMtMi43IDcuNS00LjEgMTUuNi00LjEgMjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRINDA4YzEzLjMgMCAyNC0xMC43IDI0LTI0YzAtOC40LTEuNC0xNi41LTQuMS0yNGMtLjUtMS40LTEtMi43LTEuNi00Yy05LjQtMjIuMy0yOS44LTM4LjktNTQuMy00M2MtMy45LS43LTcuOS0xLTEyLTFIMjgwYy00LjEgMC04LjEgLjMtMTIgMWMtLjggLjEtMS43IC4zLTIuNSAuNWMtMjQuOSA1LjEtNDUuMSAyMy01My40IDQ2LjV6TTE3NS44IDIyNGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bS0yNi41IDMyQzExOS45IDI1NiA5NiAyNzkuOSA5NiAzMDkuM2MwIDE0LjcgMTEuOSAyNi43IDI2LjcgMjYuN2g1Ni4xYzgtMzQuMSAzMi44LTYxLjcgNjUuMi03My42Yy03LjUtNC4xLTE2LjItNi40LTI1LjMtNi40SDE0OS4zem0zNjggODBjMTQuNyAwIDI2LjctMTEuOSAyNi43LTI2LjdjMC0yOS41LTIzLjktNTMuMy01My4zLTUzLjNINDIxLjNjLTkuMiAwLTE3LjggMi4zLTI1LjMgNi40YzMyLjQgMTEuOSA1Ny4yIDM5LjUgNjUuMiA3My42aDU2LjF6TTQ2NCAyMjRhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2elwiXVxufTtcbnZhciBmYVdhbGxldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3YWxsZXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1NTVcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRINDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0VjE5MmMwLTM1LjMtMjguNy02NC02NC02NEg4MGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNkg0NDhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINjR6TTQxNiAyNzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbnZhciBmYUNsaXBib2FyZENoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NsaXBib2FyZC1jaGVjaycsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjQ2Y1wiLCBcIk0xOTIgMGMtNDEuOCAwLTc3LjQgMjYuNy05MC41IDY0SDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzMjBjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0SDI4Mi41QzI2OS40IDI2LjcgMjMzLjggMCAxOTIgMHptMCA2NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTMwNSAyNzNMMTc3IDQwMWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBMNzkgMzM3Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNDcgNDdMMjcxIDIzOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjl6XCJdXG59O1xudmFyIGZhRmlsZUF1ZGlvID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtYXVkaW8nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImYxYzdcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDMyMGMzNS4zIDAgNjQtMjguNyA2NC02NFYxNjBIMjU2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYwSDY0ek0yNTYgMFYxMjhIMzg0TDI1NiAwem0yIDIyNi4zYzM3LjEgMjIuNCA2MiA2My4xIDYyIDEwOS43cy0yNC45IDg3LjMtNjIgMTA5LjdjLTcuNiA0LjYtMTcuNCAyLjEtMjItNS40cy0yLjEtMTcuNCA1LjQtMjJDMjY5LjQgNDAxLjUgMjg4IDM3MC45IDI4OCAzMzZzLTE4LjYtNjUuNS00Ni41LTgyLjNjLTcuNi00LjYtMTAtMTQuNC01LjQtMjJzMTQuNC0xMCAyMi01LjR6bS05MS45IDMwLjljNiAyLjUgOS45IDguMyA5LjkgMTQuOFY0MDBjMCA2LjUtMy45IDEyLjMtOS45IDE0LjhzLTEyLjkgMS4xLTE3LjQtMy41TDExMy40IDM3Nkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjMxMmMwLTguOCA3LjItMTYgMTYtMTZoMzMuNGwzNS4zLTM1LjNjNC42LTQuNiAxMS41LTUuOSAxNy40LTMuNXptNTEgMzQuOWM2LjYtNS45IDE2LjctNS4zIDIyLjYgMS4zQzI0OS44IDMwNC42IDI1NiAzMTkuNiAyNTYgMzM2cy02LjIgMzEuNC0xNi4zIDQyLjdjLTUuOSA2LjYtMTYgNy4xLTIyLjYgMS4zcy03LjEtMTYtMS4zLTIyLjZjNS4xLTUuNyA4LjEtMTMuMSA4LjEtMjEuM3MtMy4xLTE1LjctOC4xLTIxLjNjLTUuOS02LjYtNS4zLTE2LjcgMS4zLTIyLjZ6XCJdXG59O1xudmFyIGZhQnVyZ2VyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1cmdlcicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiaGFtYnVyZ2VyXCJdLCBcImY4MDVcIiwgXCJNNjEuMSAyMjRDNDUgMjI0IDMyIDIxMSAzMiAxOTQuOWMwLTEuOSAuMi0zLjcgLjYtNS42QzM3LjkgMTY4LjMgNzguOCAzMiAyNTYgMzJzMjE4LjEgMTM2LjMgMjIzLjQgMTU3LjNjLjUgMS45IC42IDMuNyAuNiA1LjZjMCAxNi4xLTEzIDI5LjEtMjkuMSAyOS4xSDYxLjF6TTE0NCAxMjhhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptMjQwIDE2YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnpNMjcyIDk2YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6TTE2IDMwNGMwLTI2LjUgMjEuNS00OCA0OC00OEg0NDhjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhINjRjLTI2LjUgMC00OC0yMS41LTQ4LTQ4em0xNiA5NmMwLTguOCA3LjItMTYgMTYtMTZINDY0YzguOCAwIDE2IDcuMiAxNiAxNnYxNmMwIDM1LjMtMjguNyA2NC02NCA2NEg5NmMtMzUuMyAwLTY0LTI4LjctNjQtNjRWNDAwelwiXVxufTtcbnZhciBmYUhhbWJ1cmdlciA9IGZhQnVyZ2VyO1xudmFyIGZhV3JlbmNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dyZW5jaCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODI5NV0sIFwiZjBhZFwiLCBcIk0zNTIgMzIwYzg4LjQgMCAxNjAtNzEuNiAxNjAtMTYwYzAtMTUuMy0yLjItMzAuMS02LjItNDQuMmMtMy4xLTEwLjgtMTYuNC0xMy4yLTI0LjMtNS4zbC03Ni44IDc2LjhjLTMgMy03LjEgNC43LTExLjMgNC43SDMzNmMtOC44IDAtMTYtNy4yLTE2LTE2VjExOC42YzAtNC4yIDEuNy04LjMgNC43LTExLjNsNzYuOC03Ni44YzcuOS03LjkgNS40LTIxLjItNS4zLTI0LjNDMzgyLjEgMi4yIDM2Ny4zIDAgMzUyIDBDMjYzLjYgMCAxOTIgNzEuNiAxOTIgMTYwYzAgMTkuMSAzLjQgMzcuNSA5LjUgNTQuNUwxOS45IDM5Ni4xQzcuMiA0MDguOCAwIDQyNi4xIDAgNDQ0LjFDMCA0ODEuNiAzMC40IDUxMiA2Ny45IDUxMmMxOCAwIDM1LjMtNy4yIDQ4LTE5LjlMMjk3LjUgMzEwLjVjMTcgNi4yIDM1LjQgOS41IDU0LjUgOS41ek04MCA0MDhhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4elwiXVxufTtcbnZhciBmYUJ1Z3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVncycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRkMFwiLCBcIk0xNjQuNSAxMDcuNGwzMy40LTczLjVjNS41LTEyLjEgLjEtMjYuMy0xMS45LTMxLjhzLTI2LjMtLjEtMzEuOCAxMS45TDEyOCA3MS43IDEwMS45IDE0LjFDOTYuNCAyIDgyLjEtMy4zIDcwLjEgMi4xUzUyLjcgMjEuOSA1OC4xIDMzLjlsMzMuNCA3My41Yy0xMC4yIDcuMS0xOC4yIDE3LTIyLjkgMjguNmgtMTdsLTQuMS0yMC43Yy0yLjYtMTMtMTUuMi0yMS40LTI4LjItMTguOFMtMi4xIDExMS43IC41IDEyNC43bDggNDBDMTAuNyAxNzUuOSAyMC42IDE4NCAzMiAxODRINjR2MjMuM2wtMzcuOCA5LjVjLTkuNSAyLjQtMTYuNiAxMC4yLTE3LjkgMTkuOWwtOCA1NmMtMS45IDEzLjEgNy4yIDI1LjMgMjAuNCAyNy4yczI1LjMtNy4yIDI3LjItMjAuNGw1LjctNDAgMTguNC00LjZDODIuNyAyNzQuNiAxMDMuOCAyODggMTI4IDI4OHM0NS4zLTEzLjQgNTYuMS0zMy4ybDE4LjQgNC42IDUuNyA0MGMxLjkgMTMuMSAxNCAyMi4yIDI3LjIgMjAuNHMyMi4yLTE0IDIwLjQtMjcuMmwtOC01NmMtMS40LTkuNy04LjUtMTcuNS0xNy45LTE5LjlMMTkyIDIwNy4zVjE4NGgzMmMxMS40IDAgMjEuMy04LjEgMjMuNS0xOS4zbDgtNDBjMi42LTEzLTUuOC0yNS42LTE4LjgtMjguMnMtMjUuNiA1LjgtMjguMiAxOC44TDIwNC4zIDEzNmgtMTdjLTQuNy0xMS42LTEyLjctMjEuNS0yMi45LTI4LjZ6TTQ5NiAyODYuNWw2NS42LTQ3YzEwLjgtNy43IDEzLjMtMjIuNyA1LjYtMzMuNXMtMjIuNy0xMy4zLTMzLjUtNS42bC01MS40IDM2LjggNi4xLTYyLjljMS4zLTEzLjItOC40LTI0LjktMjEuNi0yNi4ycy0yNC45IDguNC0yNi4yIDIxLjZMNDMyLjggMjUwYy0xMi4zIDEtMjQuMiA1LjYtMzQuMSAxMy4zTDM4NCAyNTQuOGw2LjgtMjBjNC4yLTEyLjYtMi41LTI2LjItMTUtMzAuNHMtMjYuMiAyLjUtMzAuNCAxNWwtMTMuMSAzOC42Yy0zLjcgMTAuOCAuOCAyMi44IDEwLjcgMjguNWwyNy43IDE2TDM1OSAzMjIuNyAzMjEuNSAzMTJjLTkuNC0yLjctMTkuNSAuNi0yNS41IDguM2wtMzQuOSA0NC41Yy04LjIgMTAuNC02LjQgMjUuNSA0LjEgMzMuN3MyNS41IDYuNCAzMy43LTQuMWwyNS0zMS44IDE4LjIgNS4yYy0uNSAyMi42IDExIDQ0LjcgMzIgNTYuOHM0NS45IDExIDY1LjItLjdsMTMuNiAxMy4yLTE1LjEgMzcuNWMtNC45IDEyLjMgMSAyNi4zIDEzLjMgMzEuMnMyNi4zLTEgMzEuMi0xMy4zTDUwMy41IDQ0MGMzLjYtOS4xIDEuNC0xOS40LTUuNi0yNi4ybC0yOC0yNy4xIDExLjYtMjAuMSAyNy43IDE2YzkuOSA1LjcgMjIuNSAzLjcgMzAtNC45TDU2Ni4yIDM0N2M4LjctMTAgNy44LTI1LjEtMi4yLTMzLjlzLTI1LjEtNy44LTMzLjkgMi4ybC0xMy45IDE1LjktMTQuNy04LjVjMS43LTEyLjQtLjItMjUtNS41LTM2LjJ6XCJdXG59O1xudmFyIGZhUnVwZWVTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3J1cGVlLXNpZ24nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs4MzYwLCBcInJ1cGVlXCJdLCBcImYxNTZcIiwgXCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmg4MGM3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NGMwIDU4LjgtMzUuMiAxMDkuMy04NS43IDEzMS43bDUxLjQgMTI4LjRjNi42IDE2LjQtMS40IDM1LTE3LjggNDEuNnMtMzUtMS40LTQxLjYtMTcuOEwxMDYuMyAzMjBINjRWNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjI4OCA2NHpNNjQgMjU2aDQ4YzQ0LjIgMCA4MC0zNS44IDgwLTgwcy0zNS44LTgwLTgwLTgwSDY0VjI1NnptMjU2LjUgMTYuNGMtLjkgNiAwIDguNyAuNCA5LjhjLjQgMS4xIDEuNCAyLjYgNC4yIDQuOWM3LjIgNS43IDE4LjcgMTAgMzcuOSAxNi44bDEuMyAuNWMxNiA1LjYgMzguNyAxMy42IDU1LjcgMjguMWM5LjUgOC4xIDE3LjkgMTguNiAyMy4xIDMyLjNjNS4xIDEzLjcgNi4xIDI4LjUgMy44IDQ0Yy00LjIgMjguMS0yMC41IDQ5LjMtNDMuOCA2MC45Yy0yMi4xIDExLTQ4LjEgMTIuNS03My4yIDhsLS4yIDAgMCAwYy05LjMtMS44LTIwLjUtNS43LTI5LjMtOWMtNi0yLjMtMTIuNi00LjktMTcuNy02LjlsMCAwYy0yLjUtMS00LjYtMS44LTYuMy0yLjVjLTE2LjUtNi40LTI0LjYtMjUtMTguMi00MS40czI0LjktMjQuNiA0MS40LTE4LjJjMi42IDEgNS4yIDIgNy45IDMuMWwwIDBjNC44IDEuOSA5LjggMy45IDE1LjQgNmM4LjggMy4zIDE1LjMgNS40IDE4LjcgNmMxNS43IDIuOCAyNi43IC44IDMyLjktMi4zYzUtMi41IDgtNiA5LjEtMTNjMS02LjkgLjItMTAuNS0uNS0xMi4zYy0uNi0xLjctMS44LTMuNi00LjUtNS45Yy02LjktNS44LTE4LjItMTAuNC0zNi45LTE3bC0zLTEuMWMtMTUuNS01LjQtMzctMTMtNTMuMy0yNS45Yy05LjUtNy41LTE4LjMtMTcuNi0yMy43LTMxYy01LjUtMTMuNC02LjYtMjgtNC40LTQzLjJjOC40LTU3LjEgNjctNzggMTE2LjktNjguOWM2LjkgMS4zIDI3LjMgNS44IDM1LjQgOC40YzE2LjkgNS4yIDI2LjMgMjMuMiAyMS4xIDQwLjFzLTIzLjIgMjYuMy00MC4xIDIxLjFjLTQuNy0xLjQtMjIuMy01LjUtMjcuOS02LjVjLTE0LjYtMi43LTI1LjgtLjQtMzIuNiAzLjJjLTYuMyAzLjMtOC45IDcuNi05LjUgMTJ6XCJdXG59O1xudmFyIGZhUnVwZWUgPSBmYVJ1cGVlU2lnbjtcbnZhciBmYUZpbGVJbWFnZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLWltYWdlJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI4NDQzXSwgXCJmMWM1XCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzMjBjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTYwSDI1NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMEg2NHpNMjU2IDBWMTI4SDM4NEwyNTYgMHpNNjQgMjU2YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE1MiAzMmM1LjMgMCAxMC4yIDIuNiAxMy4yIDYuOWw4OCAxMjhjMy40IDQuOSAzLjcgMTEuMyAxIDE2LjVzLTguMiA4LjYtMTQuMiA4LjZIMjE2IDE3NiAxMjggODBjLTUuOCAwLTExLjEtMy4xLTEzLjktOC4xcy0yLjgtMTEuMiAuMi0xNi4xbDQ4LTgwYzIuOS00LjggOC4xLTcuOCAxMy43LTcuOHMxMC44IDIuOSAxMy43IDcuOGwxMi44IDIxLjQgNDguMy03MC4yYzMtNC4zIDcuOS02LjkgMTMuMi02Ljl6XCJdXG59O1xudmFyIGZhQ2lyY2xlUXVlc3Rpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLXF1ZXN0aW9uJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjIxMDgsIFwicXVlc3Rpb24tY2lyY2xlXCJdLCBcImYwNTlcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2OS44IDE2NS4zYzcuOS0yMi4zIDI5LjEtMzcuMyA1Mi44LTM3LjNoNTguM2MzNC45IDAgNjMuMSAyOC4zIDYzLjEgNjMuMWMwIDIyLjYtMTIuMSA0My41LTMxLjcgNTQuOEwyODAgMjY0LjRjLS4yIDEzLTEwLjkgMjMuNi0yNCAyMy42Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNFYyNTAuNWMwLTguNiA0LjYtMTYuNSAxMi4xLTIwLjhsNDQuMy0yNS40YzQuNy0yLjcgNy42LTcuNyA3LjYtMTMuMWMwLTguNC02LjgtMTUuMS0xNS4xLTE1LjFIMjIyLjZjLTMuNCAwLTYuNCAyLjEtNy41IDUuM2wtLjQgMS4yYy00LjQgMTIuNS0xOC4yIDE5LTMwLjYgMTQuNnMtMTktMTguMi0xNC42LTMwLjZsLjQtMS4yek0yMjQgMzUyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6XCJdXG59O1xudmFyIGZhUXVlc3Rpb25DaXJjbGUgPSBmYUNpcmNsZVF1ZXN0aW9uO1xudmFyIGZhUGxhbmVEZXBhcnR1cmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGxhbmUtZGVwYXJ0dXJlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NzQ3XSwgXCJmNWIwXCIsIFwiTTM4MSAxMTQuOUwxODYuMSA0MS44Yy0xNi43LTYuMi0zNS4yLTUuMy01MS4xIDIuN0w4OS4xIDY3LjRDNzggNzMgNzcuMiA4OC41IDg3LjYgOTUuMmwxNDYuOSA5NC41TDEzNiAyNDAgNzcuOCAyMTQuMWMtOC43LTMuOS0xOC44LTMuNy0yNy4zIC42TDE4LjMgMjMwLjhjLTkuMyA0LjctMTEuOCAxNi44LTUgMjQuN2w3My4xIDg1LjNjNi4xIDcuMSAxNSAxMS4yIDI0LjMgMTEuMkgyNDguNGM1IDAgOS45LTEuMiAxNC4zLTMuNEw1MzUuNiAyMTIuMmM0Ni41LTIzLjMgODIuNS02My4zIDEwMC44LTExMkM2NDUuOSA3NSA2MjcuMiA0OCA2MDAuMiA0OEg1NDIuOGMtMjAuMiAwLTQwLjIgNC44LTU4LjIgMTRMMzgxIDExNC45ek0wIDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMkg2MDhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyelwiXVxufTtcbnZhciBmYUhhbmRzaGFrZVNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzaGFrZS1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA2MFwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43bC0xMzUtMTA1LjhjLTEuMS0xMS4zLTYuMy0yMi4zLTE1LjMtMzAuN2wtMTM0LjItMTIzLTIzLjQgMTguMi0yNi0yMC4zIDc3LjItNjAuMWM3LTUuNCAxNy00LjIgMjIuNSAyLjhzNC4yIDE3LTIuOCAyMi41bC0yMC45IDE2LjJMNTEyIDMxNi44VjEyOGgtLjdsLTMuOS0yLjVMNDM0LjggNzljLTE1LjMtOS44LTMzLjItMTUtNTEuNC0xNWMtMjEuOCAwLTQzIDcuNS02MCAyMS4ybC04OS43IDcyLjYtMjUuOC0yMC4zIDgxLjgtNjYuMmMtMTEuNi00LjktMjQuMS03LjQtMzYuOC03LjRDMjM0IDY0IDIxNS43IDY5LjYgMjAwIDgwbC0zNS41IDIzLjdMMzguOCA1LjF6TTQxMy42IDQyMS45TDEyOCAxOTYuOFYzNTJoMjguMmw5MS40IDgzLjRjMTkuNiAxNy45IDQ5LjkgMTYuNSA2Ny44LTMuMWM1LjUtNi4xIDkuMi0xMy4yIDExLjEtMjAuNmwxNyAxNS42YzE5LjUgMTcuOSA0OS45IDE2LjYgNjcuOC0yLjljLjgtLjggMS41LTEuNyAyLjItMi42ek05NiAxNzEuNkw0MC42IDEyOEgxNmMtOC44IDAtMTYgNy4yLTE2IDE2VjM1MmMwIDE3LjcgMTQuMyAzMiAzMiAzMkg2NGMxNy43IDAgMzItMTQuMyAzMi0zMlYxNzEuNnpNNDggMzIwYTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnpNNTQ0IDEyOFYzNTJjMCAxNy43IDE0LjMgMzIgMzIgMzJoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJWMTQ0YzAtOC44LTcuMi0xNi0xNi0xNkg1NDR6bTMyIDIwOGExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwelwiXVxufTtcbnZhciBmYUJvb2tCb29rbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib29rLWJvb2ttYXJrJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJlMGJiXCIsIFwiTTAgOTZDMCA0MyA0MyAwIDk2IDBoOTZWMTkwLjdjMCAxMy40IDE1LjUgMjAuOSAyNiAxMi41TDI3MiAxNjBsNTQgNDMuMmMxMC41IDguNCAyNiAuOSAyNi0xMi41VjBoMzIgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJWMzUyYzAgMTcuNy0xNC4zIDMyLTMyIDMydjY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDM4NCA5NmMtNTMgMC05Ni00My05Ni05NlY5NnpNNjQgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMySDM1MlYzODRIOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyelwiXVxufTtcbnZhciBmYUNvZGVCcmFuY2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29kZS1icmFuY2gnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYxMjZcIiwgXCJNODAgMTA0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptODAtMjRjMCAzMi44LTE5LjcgNjEtNDggNzMuM3Y4Ny44YzE4LjgtMTAuOSA0MC43LTE3LjEgNjQtMTcuMWg5NmMzNS4zIDAgNjQtMjguNyA2NC02NHYtNi43QzMwNy43IDE0MSAyODggMTEyLjggMjg4IDgwYzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBjMCAzMi44LTE5LjcgNjEtNDggNzMuM1YxNjBjMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhIMTc2Yy0zNS4zIDAtNjQgMjguNy02NCA2NHY2LjdjMjguMyAxMi4zIDQ4IDQwLjUgNDggNzMuM2MwIDQ0LjItMzUuOCA4MC04MCA4MHMtODAtMzUuOC04MC04MGMwLTMyLjggMTkuNy02MSA0OC03My4zVjM1MiAxNTMuM0MxOS43IDE0MSAwIDExMi44IDAgODBDMCAzNS44IDM1LjggMCA4MCAwczgwIDM1LjggODAgODB6bTIzMiAwYTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6TTgwIDQ1NmEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6XCJdXG59O1xudmFyIGZhSGF0Q293Ym95ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhdC1jb3dib3knLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY4YzBcIiwgXCJNMzIwIDY0YzE0LjQgMCAyMi4zLTcgMzAuOC0xNC40QzM2MC40IDQxLjEgMzcwLjcgMzIgMzkyIDMyYzQ5LjMgMCA4NC40IDE1Mi4yIDk3LjkgMjIxLjlDNDQ3LjggMjcyLjEgMzkwLjkgMjg4IDMyMCAyODhzLTEyNy44LTE1LjktMTY5LjktMzQuMUMxNjMuNiAxODQuMiAxOTguNyAzMiAyNDggMzJjMjEuMyAwIDMxLjYgOS4xIDQxLjIgMTcuNkMyOTcuNyA1NyAzMDUuNiA2NCAzMjAgNjR6TTExMS4xIDI3MC43YzQ3LjIgMjQuNSAxMTcuNSA0OS4zIDIwOSA0OS4zczE2MS44LTI0LjggMjA4LjktNDkuM2MyNC44LTEyLjkgNDkuOC0yOC4zIDcwLjEtNDcuN2M3LjktNy45IDIwLjItOS4yIDI5LjYtMy4zYzkuNSA1LjkgMTMuNSAxNy45IDkuOSAyOC41Yy0xMy41IDM3LjctMzguNCA3Mi4zLTY2LjEgMTAwLjZDNTIzLjcgMzk4LjkgNDQzLjYgNDQ4IDMyMCA0NDhzLTIwMy42LTQ5LjEtMjUyLjUtOTkuMkMzOS44IDMyMC40IDE0LjkgMjg1LjggMS40IDI0OC4xYy0zLjYtMTAuNiAuNC0yMi42IDkuOS0yOC41YzkuNS01LjkgMjEuNy00LjUgMjkuNiAzLjNjMjAuNCAxOS40IDQ1LjMgMzQuOCA3MC4xIDQ3Ljd6XCJdXG59O1xudmFyIGZhQnJpZGdlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JyaWRnZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRjOFwiLCBcIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZINzJ2NjRIMFYyODhjNTMgMCA5NiA0MyA5NiA5NnY2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmgzMmMxNy43IDAgMzItMTQuMyAzMi0zMlYzODRjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NnY2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmgzMmMxNy43IDAgMzItMTQuMyAzMi0zMlYzODRjMC01MyA0My05NiA5Ni05NlYxNjBINTA0Vjk2aDQwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDMyek00NTYgOTZ2NjRIMzc2Vjk2aDgwek0zMjggOTZ2NjRIMjQ4Vjk2aDgwek0yMDAgOTZ2NjRIMTIwVjk2aDgwelwiXVxufTtcbnZhciBmYVBob25lRmxpcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwaG9uZS1mbGlwJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MzgxLCBcInBob25lLWFsdFwiXSwgXCJmODc5XCIsIFwiTTM0Ny4xIDI0LjZjNy43LTE4LjYgMjgtMjguNSA0Ny40LTIzLjJsODggMjRDNDk5LjkgMzAuMiA1MTIgNDYgNTEyIDY0YzAgMjQ3LjQtMjAwLjYgNDQ4LTQ0OCA0NDhjLTE4IDAtMzMuOC0xMi4xLTM4LjYtMjkuNWwtMjQtODhjLTUuMy0xOS40IDQuNi0zOS43IDIzLjItNDcuNGw5Ni00MGMxNi4zLTYuOCAzNS4yLTIuMSA0Ni4zIDExLjZMMjA3LjMgMzY4YzcwLjQtMzMuMyAxMjcuNC05MC4zIDE2MC43LTE2MC43TDMxOC43IDE2N2MtMTMuNy0xMS4yLTE4LjQtMzAtMTEuNi00Ni4zbDQwLTk2elwiXVxufTtcbnZhciBmYVBob25lQWx0ID0gZmFQaG9uZUZsaXA7XG52YXIgZmFUcnVja0Zyb250ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RydWNrLWZyb250JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMmI3XCIsIFwiTTAgODBDMCAzNS44IDM1LjggMCA4MCAwSDQzMmM0NC4yIDAgODAgMzUuOCA4MCA4MFYzNjhjMCAyNi4yLTEyLjYgNDkuNC0zMiA2NHY0OGMwIDE3LjctMTQuMyAzMi0zMiAzMkg0MTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjQ0OEgxMjh2MzJjMCAxNy43LTE0LjMgMzItMzIgMzJINjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjQzMkMxMi42IDQxNy40IDAgMzk0LjIgMCAzNjhWODB6bTEyOS45IDcyLjJMMTEyIDIyNEg0MDBsLTE3LjktNzEuOEMzNzguNSAxMzggMzY1LjcgMTI4IDM1MSAxMjhIMTYxYy0xNC43IDAtMjcuNSAxMC0zMSAyNC4yek0xMjggMzIwYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTI4OCAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xudmFyIGZhQ2F0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhdCcsXG4gIGljb246IFs1NzYsIDUxMiwgWzEyODAwOF0sIFwiZjZiZVwiLCBcIk0zMjAgMTkyaDE3LjFjMjIuMSAzOC4zIDYzLjUgNjQgMTEwLjkgNjRjMTEgMCAyMS44LTEuNCAzMi00djQgMzJWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjMzOS4yTDI4MCA0NDhoNTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMTkyYy01MyAwLTk2LTQzLTk2LTk2VjE5Mi41YzAtMTYuMS0xMi0yOS44LTI4LTMxLjhsLTcuOS0xYy0xNy41LTIuMi0zMC0xOC4yLTI3LjgtMzUuN3MxOC4yLTMwIDM1LjctMjcuOGw3LjkgMWM0OCA2IDg0LjEgNDYuOCA4NC4xIDk1LjN2ODUuM2MzNC40LTUxLjcgOTMuMi04NS44IDE2MC04NS44em0xNjAgMjYuNXYwYy0xMCAzLjUtMjAuOCA1LjUtMzIgNS41Yy0yOC40IDAtNTQtMTIuNC03MS42LTMyaDBjLTMuNy00LjEtNy04LjUtOS45LTEzLjJDMzU3LjMgMTY0IDM1MiAxNDYuNiAzNTIgMTI4djBWMzIgMTIgMTAuN0MzNTIgNC44IDM1Ni43IC4xIDM2Mi42IDBoLjJjMy4zIDAgNi40IDEuNiA4LjQgNC4ybDAgLjFMMzg0IDIxLjNsMjcuMiAzNi4zTDQxNiA2NGg2NGw0LjgtNi40TDUxMiAyMS4zIDUyNC44IDQuM2wwLS4xYzItMi42IDUuMS00LjIgOC40LTQuMmguMkM1MzkuMyAuMSA1NDQgNC44IDU0NCAxMC43VjEyIDMydjk2YzAgMTcuMy00LjYgMzMuNi0xMi42IDQ3LjZjLTExLjMgMTkuOC0yOS42IDM1LjItNTEuNCA0Mi45ek00MzIgMTI4YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6bTQ4IDE2YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnpcIl1cbn07XG52YXIgZmFBbmNob3JDaXJjbGVFeGNsYW1hdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbmNob3ItY2lyY2xlLWV4Y2xhbWF0aW9uJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGFiXCIsIFwiTTMyMCA5NmEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwem0yMS4xIDgwQzM2NyAxNTguOCAzODQgMTI5LjQgMzg0IDk2YzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2YzAgMzMuNCAxNyA2Mi44IDQyLjkgODBIMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDMyVjQ0OEgyMDhjLTUzIDAtOTYtNDMtOTYtOTZ2LTYuMWw3IDdjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDk3IDI2M2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBMNyAzMTljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw3LTdWMzUyYzAgODguNCA3MS42IDE2MCAxNjAgMTYwaDgwIDgwYzguMiAwIDE2LjMtLjYgMjQuMi0xLjhjLTIyLjItMTYuMi00MC40LTM3LjUtNTMtNjIuMkgzMjBWMzY4IDI0MGgzMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzNDEuMXpNNDk2IDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtOTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0wLTE0NGM4LjggMCAxNiA3LjIgMTYgMTZ2ODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWMjg4YzAtOC44IDcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFUcnVja0ZpZWxkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RydWNrLWZpZWxkJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNThkXCIsIFwiTTMyIDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0SDMyMGMyMy43IDAgNDQuNCAxMi45IDU1LjQgMzJoNTEuOGMyNS4zIDAgNDguMiAxNC45IDU4LjUgMzhsNTIuOCAxMTguOGMuNSAxLjEgLjkgMi4xIDEuMyAzLjJINTQ0YzM1LjMgMCA2NCAyOC43IDY0IDY0djMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDU3NmMwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05NkgyNTZjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJWMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJWOTZ6TTM4NCAyMjRoODUuOWwtNDIuNy05NkgzODR2OTZ6TTE2MCA0MzJhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0zNjgtNDhhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpcIl1cbn07XG52YXIgZmFSb3V0ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyb3V0ZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjRkN1wiLCBcIk01MTIgOTZjMCA1MC4yLTU5LjEgMTI1LjEtODQuNiAxNTVjLTMuOCA0LjQtOS40IDYuMS0xNC41IDVIMzIwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDk2YzUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2SDEzOS42YzguNy05LjkgMTkuMy0yMi42IDMwLTM2LjhjNi4zLTguNCAxMi44LTE3LjYgMTktMjcuMkg0MTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzIwYy01MyAwLTk2LTQzLTk2LTk2czQzLTk2IDk2LTk2aDM5LjhjLTIxLTMxLjUtMzkuOC02Ny43LTM5LjgtOTZjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NnpNMTE3LjEgNDg5LjFjLTMuOCA0LjMtNy4yIDguMS0xMC4xIDExLjNsLTEuOCAyLS4yLS4yYy02IDQuNi0xNC42IDQtMjAtMS44QzU5LjggNDczIDAgNDAyLjUgMCAzNTJjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmMwIDMwLTIxLjEgNjctNDMuNSA5Ny45Yy0xMC43IDE0LjctMjEuNyAyOC0zMC44IDM4LjVsLS42IC43ek0xMjggMzUyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTQxNiAxMjhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbnZhciBmYUNsaXBib2FyZFF1ZXN0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NsaXBib2FyZC1xdWVzdGlvbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTRlM1wiLCBcIk0xOTIgMGMtNDEuOCAwLTc3LjQgMjYuNy05MC41IDY0SDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzMjBjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0SDI4Mi41QzI2OS40IDI2LjcgMjMzLjggMCAxOTIgMHptMCA2NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTEwNS44IDIyOS4zYzcuOS0yMi4zIDI5LjEtMzcuMyA1Mi44LTM3LjNoNTguM2MzNC45IDAgNjMuMSAyOC4zIDYzLjEgNjMuMWMwIDIyLjYtMTIuMSA0My41LTMxLjcgNTQuOEwyMTYgMzI4LjRjLS4yIDEzLTEwLjkgMjMuNi0yNCAyMy42Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNFYzMTQuNWMwLTguNiA0LjYtMTYuNSAxMi4xLTIwLjhsNDQuMy0yNS40YzQuNy0yLjcgNy42LTcuNyA3LjYtMTMuMWMwLTguNC02LjgtMTUuMS0xNS4xLTE1LjFIMTU4LjZjLTMuNCAwLTYuNCAyLjEtNy41IDUuM2wtLjQgMS4yYy00LjQgMTIuNS0xOC4yIDE5LTMwLjYgMTQuNnMtMTktMTguMi0xNC42LTMwLjZsLjQtMS4yek0xNjAgNDE2YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6XCJdXG59O1xudmFyIGZhUGFub3JhbWEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGFub3JhbWEnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImUyMDlcIiwgXCJNNDUuNiAzMkMyMC40IDMyIDAgNTIuNCAwIDc3LjZWNDM0LjRDMCA0NTkuNiAyMC40IDQ4MCA0NS42IDQ4MGM1LjEgMCAxMC0uOCAxNC43LTIuNEM3NC42IDQ3Mi44IDE3Ny42IDQ0MCAzMjAgNDQwczI0NS40IDMyLjggMjU5LjYgMzcuNmM0LjcgMS42IDkuNyAyLjQgMTQuNyAyLjRjMjUuMiAwIDQ1LjYtMjAuNCA0NS42LTQ1LjZWNzcuNkM2NDAgNTIuNCA2MTkuNiAzMiA1OTQuNCAzMmMtNSAwLTEwIC44LTE0LjcgMi40QzU2NS40IDM5LjIgNDYyLjQgNzIgMzIwIDcyUzc0LjYgMzkuMiA2MC40IDM0LjRDNTUuNiAzMi44IDUwLjcgMzIgNDUuNiAzMnpNOTYgMTYwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTI3MiAwYzcuOSAwIDE1LjQgMy45IDE5LjggMTAuNUw1MTIuMyAzNTNjNS40IDggNS42IDE4LjQgLjQgMjYuNXMtMTQuNyAxMi4zLTI0LjIgMTAuN0M0NDIuNyAzODIuNCAzODUuMiAzNzYgMzIwIDM3NmMtNjUuNiAwLTEyMy40IDYuNS0xNjkuMyAxNC40Yy05LjggMS43LTE5LjctMi45LTI0LjctMTEuNXMtNC4zLTE5LjQgMS45LTI3LjJMMTk3LjMgMjY1YzQuNi01LjcgMTEuNC05IDE4LjctOXMxNC4yIDMuMyAxOC43IDlsMjYuNCAzMy4xIDg3LTEyNy42YzQuNS02LjYgMTEuOS0xMC41IDE5LjgtMTAuNXpcIl1cbn07XG52YXIgZmFDb21tZW50TWVkaWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb21tZW50LW1lZGljYWwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3ZjVcIiwgXCJNMjU2IDQ0OGMxNDEuNCAwIDI1Ni05My4xIDI1Ni0yMDhTMzk3LjQgMzIgMjU2IDMyUzAgMTI1LjEgMCAyNDBjMCA0NS4xIDE3LjcgODYuOCA0Ny43IDEyMC45Yy0xLjkgMjQuNS0xMS40IDQ2LjMtMjEuNCA2Mi45Yy01LjUgOS4yLTExLjEgMTYuNi0xNS4yIDIxLjZjLTIuMSAyLjUtMy43IDQuNC00LjkgNS43Yy0uNiAuNi0xIDEuMS0xLjMgMS40bC0uMyAuMyAwIDAgMCAwIDAgMCAwIDBjLTQuNiA0LjYtNS45IDExLjQtMy40IDE3LjRjMi41IDYgOC4zIDkuOSAxNC44IDkuOWMyOC43IDAgNTcuNi04LjkgODEuNi0xOS4zYzIyLjktMTAgNDIuNC0yMS45IDU0LjMtMzAuNmMzMS44IDExLjUgNjcgMTcuOSAxMDQuMSAxNy45ek0yMjQgMTYwYzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2NDhoNDhjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgyODh2NDhjMCA4LjgtNy4yIDE2LTE2IDE2SDI0MGMtOC44IDAtMTYtNy4yLTE2LTE2VjI3MkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYyMjRjMC04LjggNy4yLTE2IDE2LTE2aDQ4VjE2MHpcIl1cbn07XG52YXIgZmFUZWV0aE9wZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGVldGgtb3BlbicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjYyZlwiLCBcIk05NiAzMkM0MyAzMiAwIDc1IDAgMTI4djY0YzAgMzUuMyAyOC43IDY0IDY0IDY0SDUxMmMzNS4zIDAgNjQtMjguNyA2NC02NFYxMjhjMC01My00My05Ni05Ni05Nkg5NnpNMjI0IDk2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4djU2YzAgMTMuMy0xMC43IDI0LTI0IDI0SDIwMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRWMTQ0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4em04MCA0OGMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4djU2YzAgMTMuMy0xMC43IDI0LTI0IDI0SDMyOGMtMTMuMyAwLTI0LTEwLjctMjQtMjRWMTQ0ek05NiAxMjhjMjYuNSAwIDQ4IDIxLjUgNDggNDh2MjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRINzJjLTEzLjMgMC0yNC0xMC43LTI0LTI0VjE3NmMwLTI2LjUgMjEuNS00OCA0OC00OHptMzM2IDQ4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDh2MjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRINDU2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNFYxNzZ6TTk2IDQ4MEg0ODBjNTMgMCA5Ni00MyA5Ni05NlYzNTJjMC0zNS4zLTI4LjctNjQtNjQtNjRINjRjLTM1LjMgMC02NCAyOC43LTY0IDY0djMyYzAgNTMgNDMgOTYgOTYgOTZ6bTAtNjRjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjM0NGMwLTEzLjMgMTAuNy0yNCAyNC0yNGg0OGMxMy4zIDAgMjQgMTAuNyAyNCAyNHYyNGMwIDI2LjUtMjEuNSA0OC00OCA0OHptODAtNDhWMzQ0YzAtMTMuMyAxMC43LTI0IDI0LTI0aDQ4YzEzLjMgMCAyNCAxMC43IDI0IDI0djI0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4em0xNzYgNDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjM0NGMwLTEzLjMgMTAuNy0yNCAyNC0yNGg0OGMxMy4zIDAgMjQgMTAuNyAyNCAyNHYyNGMwIDI2LjUtMjEuNSA0OC00OCA0OHptODAtNDhWMzQ0YzAtMTMuMyAxMC43LTI0IDI0LTI0aDQ4YzEzLjMgMCAyNCAxMC43IDI0IDI0djI0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4elwiXVxufTtcbnZhciBmYUZpbGVDaXJjbGVNaW51cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLWNpcmNsZS1taW51cycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRlZFwiLCBcIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEgyMjRWMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMySDM4NHYzOC42QzMxMC4xIDIxOS41IDI1NiAyODcuNCAyNTYgMzY4YzAgNTkuMSAyOS4xIDExMS4zIDczLjcgMTQzLjNjLTMuMiAuNS02LjQgLjctOS43IC43SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY2NHptMzg0IDY0SDI1NlYwTDM4NCAxMjh6TTI4OCAzNjhhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMjI0IDBjMC04LjgtNy4yLTE2LTE2LTE2SDM2OGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNkg0OTZjOC44IDAgMTYtNy4yIDE2LTE2elwiXVxufTtcbnZhciBmYVRhZ3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGFncycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjAyY1wiLCBcIk0zNDUgMzkuMUw0NzIuOCAxNjguNGM1Mi40IDUzIDUyLjQgMTM4LjIgMCAxOTEuMkwzNjAuOCA0NzIuOWMtOS4zIDkuNC0yNC41IDkuNS0zMy45IC4ycy05LjUtMjQuNS0uMi0zMy45TDQzOC42IDMyNS45YzMzLjktMzQuMyAzMy45LTg5LjQgMC0xMjMuN0wzMTAuOSA3Mi45Yy05LjMtOS40LTkuMi0yNC42IC4yLTMzLjlzMjQuNi05LjIgMzMuOSAuMnpNMCAyMjkuNVY4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMkgxOTcuNWMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN2wxNjggMTY4YzI1IDI1IDI1IDY1LjUgMCA5MC41TDI3Ny4zIDQ0Mi43Yy0yNSAyNS02NS41IDI1LTkwLjUgMGwtMTY4LTE2OEM2LjcgMjYyLjcgMCAyNDYuNSAwIDIyOS41ek0xNDQgMTQ0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6XCJdXG59O1xudmFyIGZhV2luZUdsYXNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dpbmUtZ2xhc3MnLFxuICBpY29uOiBbMzIwLCA1MTIsIFsxMjc4NjNdLCBcImY0ZTNcIiwgXCJNMzIuMSAyOS4zQzMzLjUgMTIuOCA0Ny40IDAgNjQgMEgyNTZjMTYuNiAwIDMwLjUgMTIuOCAzMS45IDI5LjNsMTQgMTY4LjRjNiA3Mi00Mi41IDEzNS4yLTEwOS45IDE1MC42VjQ0OGg0OGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgxNjAgODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJoNDhWMzQ4LjRDNjAuNiAzMzMgMTIuMSAyNjkuOCAxOC4xIDE5Ny44bDE0LTE2OC40em01NiA5OC43SDIzMS45bC01LjMtNjRIOTMuNGwtNS4zIDY0elwiXVxufTtcbnZhciBmYUZvcndhcmRGYXN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZvcndhcmQtZmFzdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzkxOTcsIFwiZmFzdC1mb3J3YXJkXCJdLCBcImYwNTBcIiwgXCJNMTguNCA0NDVjMTEuMiA1LjMgMjQuNSAzLjYgMzQuMS00LjRMMjI0IDI5Ny43VjQxNmMwIDEyLjQgNy4yIDIzLjcgMTguNCAyOXMyNC41IDMuNiAzNC4xLTQuNEw0NDggMjk3LjdWNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWOTZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWMjE0LjNMMjc2LjUgNzEuNGMtOS41LTcuOS0yMi44LTkuNy0zNC4xLTQuNFMyMjQgODMuNiAyMjQgOTZWMjE0LjNMNTIuNSA3MS40Yy05LjUtNy45LTIyLjgtOS43LTM0LjEtNC40UzAgODMuNiAwIDk2VjQxNmMwIDEyLjQgNy4yIDIzLjcgMTguNCAyOXpcIl1cbn07XG52YXIgZmFGYXN0Rm9yd2FyZCA9IGZhRm9yd2FyZEZhc3Q7XG52YXIgZmFGYWNlTWVoQmxhbmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1tZWgtYmxhbmsnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1NjYsIFwibWVoLWJsYW5rXCJdLCBcImY1YTRcIiwgXCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2em0yMDguNC00OGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0xMjggMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbnZhciBmYU1laEJsYW5rID0gZmFGYWNlTWVoQmxhbms7XG52YXIgZmFTcXVhcmVQYXJraW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1wYXJraW5nJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI3MzU5LCBcInBhcmtpbmdcIl0sIFwiZjU0MFwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEgzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6TTE5MiAyNTZoNDhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTkydjY0em00OCA2NEgxOTJ2MzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMjg4IDE2OGMwLTIyLjEgMTcuOS00MCA0MC00MGg3MmM1MyAwIDk2IDQzIDk2IDk2cy00MyA5Ni05NiA5NnpcIl1cbn07XG52YXIgZmFQYXJraW5nID0gZmFTcXVhcmVQYXJraW5nO1xudmFyIGZhSG91c2VTaWduYWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2Utc2lnbmFsJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlMDEyXCIsIFwiTTM1Ny43IDguNWMtMTIuMy0xMS4zLTMxLjItMTEuMy00My40IDBsLTIwOCAxOTJjLTkuNCA4LjYtMTIuNyAyMi04LjUgMzRjODcuMSAyNS4zIDE1NS42IDk0LjIgMTgwLjMgMTgxLjZINDY0YzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjI1NmgzMmMxMy4yIDAgMjUtOC4xIDI5LjgtMjAuM3MxLjYtMjYuMi04LjEtMzUuMmwtMjA4LTE5MnpNMjg4IDIwOGMwLTguOCA3LjItMTYgMTYtMTZoNjRjOC44IDAgMTYgNy4yIDE2IDE2djY0YzAgOC44LTcuMiAxNi0xNiAxNkgzMDRjLTguOCAwLTE2LTcuMi0xNi0xNlYyMDh6TTI0IDI1NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGMxMDEuNiAwIDE4NCA4Mi40IDE4NCAxODRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTEyOC4xLTEwMy45LTIzMi0yMzItMjMyem04IDI1NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTAgMzc2YzAgMTMuMyAxMC43IDI0IDI0IDI0YzQ4LjYgMCA4OCAzOS40IDg4IDg4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC03NS4xLTYwLjktMTM2LTEzNi0xMzZjLTEzLjMgMC0yNCAxMC43LTI0IDI0elwiXVxufTtcbnZhciBmYUJhcnNQcm9ncmVzcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYXJzLXByb2dyZXNzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJ0YXNrcy1hbHRcIl0sIFwiZjgyOFwiLCBcIk00NDggMTYwSDMyMFYxMjhINDQ4djMyek00OCA2NEMyMS41IDY0IDAgODUuNSAwIDExMnY2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OEg0NjRjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMTEyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDQ4ek00NDggMzUydjMySDE5MlYzNTJINDQ4ek00OCAyODhjLTI2LjUgMC00OCAyMS41LTQ4IDQ4djY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDQ2NGMyNi41IDAgNDgtMjEuNSA0OC00OFYzMzZjMC0yNi41LTIxLjUtNDgtNDgtNDhINDh6XCJdXG59O1xudmFyIGZhVGFza3NBbHQgPSBmYUJhcnNQcm9ncmVzcztcbnZhciBmYUZhdWNldERyaXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmF1Y2V0LWRyaXAnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg2ODhdLCBcImUwMDZcIiwgXCJNMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNDRsOTYtMTJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMjU2IDg0bC0zMS0zLjktMS0uMS0xIC4xTDE5MiA4NCA5NiA5NkM3OC4zIDk2IDY0IDgxLjcgNjQgNjRzMTQuMy0zMiAzMi0zMmw5NiAxMlYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMCAyMjRjMC0xNy43IDE0LjMtMzIgMzItMzJoOTZsMjIuNi0yMi42YzYtNiAxNC4xLTkuNCAyMi42LTkuNEgxOTJWMTE2LjJsMzItNCAzMiA0VjE2MGgxOC43YzguNSAwIDE2LjYgMy40IDIyLjYgOS40TDMyMCAxOTJoMzJjODguNCAwIDE2MCA3MS42IDE2MCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJINDE2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMtMTQuMy0zMi0zMi0zMkgzMTUuOWMtMjAuMiAyOS01My45IDQ4LTkxLjkgNDhzLTcxLjctMTktOTEuOS00OEgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMjI0ek00MzYuOCA0MjMuNGMxLjktNC41IDYuMy03LjQgMTEuMi03LjRzOS4yIDIuOSAxMS4yIDcuNGwxOC4yIDQyLjRjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xVjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMnYtMS4yYzAtNC41IC45LTguOSAyLjctMTMuMWwxOC4yLTQyLjR6XCJdXG59O1xudmFyIGZhQ2FydEZsYXRiZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FydC1mbGF0YmVkJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJkb2xseS1mbGF0YmVkXCJdLCBcImY0NzRcIiwgXCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJTMTQuMyA2NCAzMiA2NEg0OGM4LjggMCAxNiA3LjIgMTYgMTZWMzY4YzAgNDQuMiAzNS44IDgwIDgwIDgwaDE4LjdjLTEuOCA1LTIuNyAxMC40LTIuNyAxNmMwIDI2LjUgMjEuNSA0OCA0OCA0OHM0OC0yMS41IDQ4LTQ4YzAtNS42LTEtMTEtMi43LTE2SDQ1MC43Yy0xLjggNS0yLjcgMTAuNC0yLjcgMTZjMCAyNi41IDIxLjUgNDggNDggNDhzNDgtMjEuNSA0OC00OGMwLTUuNi0xLTExLTIuNy0xNkg2MDhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTQ0Yy04LjggMC0xNi03LjItMTYtMTZWODBDMTI4IDM1LjggOTIuMiAwIDQ4IDBIMzJ6TTE5MiA4MFYyNzJjMCAyNi41IDIxLjUgNDggNDggNDhINTYwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDQ2NFYxNzZjMCA1LjktMy4yIDExLjMtOC41IDE0LjFzLTExLjUgMi41LTE2LjQtLjhMNDAwIDE2My4ybC0zOS4xIDI2LjFjLTQuOSAzLjMtMTEuMiAzLjYtMTYuNCAuOHMtOC41LTguMi04LjUtMTQuMVYzMkgyNDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4elwiXVxufTtcbnZhciBmYURvbGx5RmxhdGJlZCA9IGZhQ2FydEZsYXRiZWQ7XG52YXIgZmFCYW5TbW9raW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jhbi1zbW9raW5nJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4Njg1LCBcInNtb2tpbmctYmFuXCJdLCBcImY1NGRcIiwgXCJNOTkuNSAxNDQuOEwxNzguNyAyMjRsOTYgOTYgOTIuNSA5Mi41QzMzNS45IDQzNC45IDI5Ny41IDQ0OCAyNTYgNDQ4QzE1MCA0NDggNjQgMzYyIDY0IDI1NmMwLTQxLjUgMTMuMS03OS45IDM1LjUtMTExLjJ6TTMzMy4zIDI4OGwtMzItMzJIMzg0djMySDMzMy4zem0zMiAzMkg0MDBjOC44IDAgMTYtNy4yIDE2LTE2VjI0MGMwLTguOC03LjItMTYtMTYtMTZIMjY5LjNMMTQ0LjggOTkuNUMxNzYuMSA3Ny4xIDIxNC41IDY0IDI1NiA2NGMxMDYgMCAxOTIgODYgMTkyIDE5MmMwIDQxLjUtMTMuMSA3OS45LTM1LjUgMTExLjJMMzY1LjMgMzIwek0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjcyIDk2Yy04LjggMC0xNiA3LjItMTYgMTZjMCAyNi41IDIxLjUgNDggNDggNDhoMzJjOC44IDAgMTYgNy4yIDE2IDE2czcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZjMC0yNi41LTIxLjUtNDgtNDgtNDhIMzA0Yy04LjggMC0xNi03LjItMTYtMTZzLTcuMi0xNi0xNi0xNnpNMjI5LjUgMzIwbC05Ni05NkgxMTJjLTguOCAwLTE2IDcuMi0xNiAxNnY2NGMwIDguOCA3LjIgMTYgMTYgMTZIMjI5LjV6XCJdXG59O1xudmFyIGZhU21va2luZ0JhbiA9IGZhQmFuU21va2luZztcbnZhciBmYVRlcm1pbmFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Rlcm1pbmFsJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMTIwXCIsIFwiTTkuNCA4Ni42Qy0zLjEgNzQuMS0zLjEgNTMuOSA5LjQgNDEuNHMzMi44LTEyLjUgNDUuMyAwbDE5MiAxOTJjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTE5MiAxOTJjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDE3OC43IDI1NiA5LjQgODYuNnpNMjU2IDQxNkg1NDRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMjU2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyelwiXVxufTtcbnZhciBmYU1vYmlsZUJ1dHRvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb2JpbGUtYnV0dG9uJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmMTBiXCIsIFwiTTgwIDBDNDQuNyAwIDE2IDI4LjcgMTYgNjRWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDMwNGMzNS4zIDAgNjQtMjguNyA2NC02NFY2NGMwLTM1LjMtMjguNy02NC02NC02NEg4MHpNMTkyIDQwMGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhSG91c2VNZWRpY2FsRmxhZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1tZWRpY2FsLWZsYWcnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MTRcIiwgXCJNNDgwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJINjI0YzguOCAwIDE2IDcuMiAxNiAxNlYxNzZjMCA4LjgtNy4yIDE2LTE2IDE2SDUxMlY1MTJINDQ4VjE5MiAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMjc2LjggMzkuN0w0MTYgMTU5VjUxMmgxbC0uMiAwSDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYyODhIMzJjLTEzLjQgMC0yNS40LTguMy0zMC0yMC45cy0xLTI2LjcgOS4yLTM1LjRsMjI0LTE5MmMxMi0xMC4zIDI5LjctMTAuMyA0MS43IDB6TTIyNCAyMDh2NDhIMTc2Yy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDQ4djQ4YzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMzIwaDQ4YzguOCAwIDE2LTcuMiAxNi0xNlYyNzJjMC04LjgtNy4yLTE2LTE2LTE2SDI4OFYyMDhjMC04LjgtNy4yLTE2LTE2LTE2SDI0MGMtOC44IDAtMTYgNy4yLTE2IDE2elwiXVxufTtcbnZhciBmYUJhc2tldFNob3BwaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jhc2tldC1zaG9wcGluZycsXG4gIGljb246IFs1NzYsIDUxMiwgW1wic2hvcHBpbmctYmFza2V0XCJdLCBcImYyOTFcIiwgXCJNMjUzLjMgMzUuMWM2LjEtMTEuOCAxLjUtMjYuMy0xMC4yLTMyLjRzLTI2LjMtMS41LTMyLjQgMTAuMkwxMTcuNiAxOTJIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJMODMuOSA0NjMuNUM5MSA0OTIgMTE2LjYgNTEyIDE0NiA1MTJINDMwYzI5LjQgMCA1NS0yMCA2Mi4xLTQ4LjVMNTQ0IDI1NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg0NTguNEwzNjUuMyAxMi45QzM1OS4yIDEuMiAzNDQuNy0zLjQgMzMyLjkgMi43cy0xNi4zIDIwLjYtMTAuMiAzMi40TDQwNC4zIDE5MkgxNzEuN0wyNTMuMyAzNS4xek0xOTIgMzA0djk2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjMwNGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2em05Ni0xNmM4LjggMCAxNiA3LjIgMTYgMTZ2OTZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWMzA0YzAtOC44IDcuMi0xNiAxNi0xNnptMTI4IDE2djk2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjMwNGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2elwiXVxufTtcbnZhciBmYVNob3BwaW5nQmFza2V0ID0gZmFCYXNrZXRTaG9wcGluZztcbnZhciBmYVRhcGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGFwZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjRkYlwiLCBcIk0zODAuOCA0MTZjNDEuNS00MC43IDY3LjItOTcuMyA2Ny4yLTE2MEM0NDggMTMyLjMgMzQ3LjcgMzIgMjI0IDMyUzAgMTMyLjMgMCAyNTZTMTAwLjMgNDgwIDIyNCA0ODBINTQ0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDM4MC44ek0yMjQgMTYwYTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyem02NCA5NmE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6XCJdXG59O1xudmFyIGZhQnVzU2ltcGxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1cy1zaW1wbGUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImJ1cy1hbHRcIl0sIFwiZjU1ZVwiLCBcIk0yMjQgMEMzNDguOCAwIDQ0OCAzNS4yIDQ0OCA4MFY5NiA0MTZjMCAxNy43LTE0LjMgMzItMzIgMzJ2MzJjMCAxNy43LTE0LjMgMzItMzIgMzJIMzUyYy0xNy43IDAtMzItMTQuMy0zMi0zMlY0NDhIMTI4djMyYzAgMTcuNy0xNC4zIDMyLTMyIDMySDY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTMyYy0xNy43IDAtMzItMTQuMy0zMi0zMlY5NiA4MEMwIDM1LjIgOTkuMiAwIDIyNCAwek02NCAxMjhWMjU2YzAgMTcuNyAxNC4zIDMyIDMyIDMySDM1MmMxNy43IDAgMzItMTQuMyAzMi0zMlYxMjhjMC0xNy43LTE0LjMtMzItMzItMzJIOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek04MCA0MDBhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0yODggMGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xudmFyIGZhQnVzQWx0ID0gZmFCdXNTaW1wbGU7XG52YXIgZmFFeWUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZXllJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4MDY1XSwgXCJmMDZlXCIsIFwiTTI4OCAzMmMtODAuOCAwLTE0NS41IDM2LjgtMTkyLjYgODAuNkM0OC42IDE1NiAxNy4zIDIwOCAyLjUgMjQzLjdjLTMuMyA3LjktMy4zIDE2LjcgMCAyNC42QzE3LjMgMzA0IDQ4LjYgMzU2IDk1LjQgMzk5LjRDMTQyLjUgNDQzLjIgMjA3LjIgNDgwIDI4OCA0ODBzMTQ1LjUtMzYuOCAxOTIuNi04MC42YzQ2LjgtNDMuNSA3OC4xLTk1LjQgOTMtMTMxLjFjMy4zLTcuOSAzLjMtMTYuNyAwLTI0LjZjLTE0LjktMzUuNy00Ni4yLTg3LjctOTMtMTMxLjFDNDMzLjUgNjguOCAzNjguOCAzMiAyODggMzJ6TTE0NCAyNTZhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMTQ0LTY0YzAgMzUuMy0yOC43IDY0LTY0IDY0Yy03LjEgMC0xMy45LTEuMi0yMC4zLTMuM2MtNS41LTEuOC0xMS45IDEuNi0xMS43IDcuNGMuMyA2LjkgMS4zIDEzLjggMy4yIDIwLjdjMTMuNyA1MS4yIDY2LjQgODEuNiAxMTcuNiA2Ny45czgxLjYtNjYuNCA2Ny45LTExNy42Yy0xMS4xLTQxLjUtNDcuOC02OS40LTg4LjYtNzEuMWMtNS44LS4yLTkuMiA2LjEtNy40IDExLjdjMi4xIDYuNCAzLjMgMTMuMiAzLjMgMjAuM3pcIl1cbn07XG52YXIgZmFGYWNlU2FkQ3J5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2Utc2FkLWNyeScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU1NywgXCJzYWQtY3J5XCJdLCBcImY1YjNcIiwgXCJNMzUyIDQ5My40Yy0yOS42IDEyLTYyLjEgMTguNi05NiAxOC42cy02Ni40LTYuNi05Ni0xOC42VjI4OGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNlY0NzcuOEM1MS41IDQzMy41IDAgMzUwLjggMCAyNTZDMCAxMTQuNiAxMTQuNiAwIDI1NiAwUzUxMiAxMTQuNiA1MTIgMjU2YzAgOTQuOC01MS41IDE3Ny41LTEyOCAyMjEuOFYyODhjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZWNDkzLjR6TTE5NS4yIDIzMy42YzUuMyA3LjEgMTUuMyA4LjUgMjIuNCAzLjJzOC41LTE1LjMgMy4yLTIyLjRjLTMwLjQtNDAuNS05MS4yLTQwLjUtMTIxLjYgMGMtNS4zIDcuMS0zLjkgMTcuMSAzLjIgMjIuNHMxNy4xIDMuOSAyMi40LTMuMmMxNy42LTIzLjUgNTIuOC0yMy41IDcwLjQgMHptMTIxLjYgMGMxNy42LTIzLjUgNTIuOC0yMy41IDcwLjQgMGM1LjMgNy4xIDE1LjMgOC41IDIyLjQgMy4yczguNS0xNS4zIDMuMi0yMi40Yy0zMC40LTQwLjUtOTEuMi00MC41LTEyMS42IDBjLTUuMyA3LjEtMy45IDE3LjEgMy4yIDIyLjRzMTcuMSAzLjkgMjIuNC0zLjJ6TTIwOCAzMzZ2MzJjMCAyNi41IDIxLjUgNDggNDggNDhzNDgtMjEuNSA0OC00OFYzMzZjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDh6XCJdXG59O1xudmFyIGZhU2FkQ3J5ID0gZmFGYWNlU2FkQ3J5O1xudmFyIGZhQXVkaW9EZXNjcmlwdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhdWRpby1kZXNjcmlwdGlvbicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjI5ZVwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEg1MTJjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6TTIxMy41IDE3My4zbDcyIDE0NGM1LjkgMTEuOSAxLjEgMjYuMy0xMC43IDMyLjJzLTI2LjMgMS4xLTMyLjItMTAuN2wtOS40LTE4LjlIMTUwLjlsLTkuNCAxOC45Yy01LjkgMTEuOS0yMC4zIDE2LjctMzIuMiAxMC43cy0xNi43LTIwLjMtMTAuNy0zMi4ybDcyLTE0NGM0LjEtOC4xIDEyLjQtMTMuMyAyMS41LTEzLjNzMTcuNCA1LjEgMjEuNSAxMy4zem0tLjQgMTA2LjZMMTkyIDIzNy43bC0yMS4xIDQyLjJoNDIuMnpNMzA0IDE4NGMwLTEzLjMgMTAuNy0yNCAyNC0yNGg1NmM1MyAwIDk2IDQzIDk2IDk2cy00MyA5Ni05NiA5NkgzMjhjLTEzLjMgMC0yNC0xMC43LTI0LTI0VjE4NHptNDggMjR2OTZoMzJjMjYuNSAwIDQ4LTIxLjUgNDgtNDhzLTIxLjUtNDgtNDgtNDhIMzUyelwiXVxufTtcbnZhciBmYVBlcnNvbk1pbGl0YXJ5VG9QZXJzb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLW1pbGl0YXJ5LXRvLXBlcnNvbicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTU0Y1wiLCBcIk03MSAxMi41Yy04LjYgMS0xNSA4LjItMTUgMTYuOGMwIDkuMyA3LjUgMTYuOCAxNi43IDE2LjlIMTg0LjFjOC44LS4xIDE1LjktNy4yIDE1LjktMTZWMTZjMC05LjUtOC4zLTE3LTE3LjgtMTUuOUw3MSAxMi41ek0xODkuNSA3OC4xSDY2LjVDNjQuOSA4My44IDY0IDg5LjggNjQgOTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NGMwLTYuMi0uOS0xMi4yLTIuNS0xNy45ek0zMiAyNTZ2MzJjMCAxNy43IDE0LjMgMzIgMzIgMzJIMTkyYzEuOCAwIDMuNS0uMSA1LjItLjRMNTMgMjA4LjZDNDAuMSAyMjAuMyAzMiAyMzcuMiAzMiAyNTZ6bTE5MC4yIDQyLjVjMS4xLTMuMyAxLjgtNi44IDEuOC0xMC41VjI1NmMwLTM1LjMtMjguNy02NC02NC02NEg5NmMtMy43IDAtNy40IC4zLTEwLjkgLjlMMjIyLjIgMjk4LjV6TTM4NCAxNjBhNjQgNjQgMCAxIDAgMC0xMjggNjQgNjQgMCAxIDAgMCAxMjh6bS0zMiAzMmMtMzUuMyAwLTY0IDI4LjctNjQgNjR2MzJjMCAxNy43IDE0LjMgMzIgMzIgMzJINDQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjI1NmMwLTM1LjMtMjguNy02NC02NC02NEgzNTJ6TTIxNS44IDQ1MC4xYzUuMi00LjYgOC4yLTExLjEgOC4yLTE4LjFzLTMtMTMuNS04LjItMTguMWwtNjQtNTZjLTcuMS02LjItMTcuMS03LjctMjUuNy0zLjhTMTEyIDM2Ni42IDExMiAzNzZ2MzJsLTg4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsODggMHYzMmMwIDkuNCA1LjUgMTggMTQuMSAyMS45czE4LjYgMi40IDI1LjctMy44bDY0LTU2ek0yODggNDMxLjljMCA2LjkgMi45IDEzLjUgOC4xIDE4LjFsNjQgNTYuNGM3LjEgNi4yIDE3LjEgNy44IDI1LjcgMy45czE0LjEtMTIuNCAxNC4xLTIxLjlsMC0zMi40IDg4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTg4IDAgMC0zMmMwLTkuNC01LjUtMTgtMTQuMS0yMS45cy0xOC42LTIuNC0yNS43IDMuOGwtNjQgNTZjLTUuMiA0LjUtOC4yIDExLjEtOC4yIDE4elwiXVxufTtcbnZhciBmYUZpbGVTaGllbGQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1zaGllbGQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0ZjBcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBIMjI0VjEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMkgzODR2NDdsLTkyLjggMzcuMWMtMjEuMyA4LjUtMzUuMiAyOS4xLTM1LjIgNTJjMCA1Ni42IDE4LjkgMTQ4IDk0LjIgMjA4LjNjLTkgNC44LTE5LjMgNy42LTMwLjIgNy42SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY2NHptMzg0IDY0SDI1NlYwTDM4NCAxMjh6bTM5LjEgOTcuN2M1LjctMi4zIDEyLjEtMi4zIDE3LjggMGwxMjAgNDhDNTcwIDI3Ny40IDU3NiAyODYuMiA1NzYgMjk2YzAgNjMuMy0yNS45IDE2OC44LTEzNC44IDIxNC4yYy01LjkgMi41LTEyLjYgMi41LTE4LjUgMEMzMTMuOSA0NjQuOCAyODggMzU5LjMgMjg4IDI5NmMwLTkuOCA2LTE4LjYgMTUuMS0yMi4zbDEyMC00OHpNNTI3LjQgMzEyTDQzMiAyNzMuOFY0NjEuN2M2OC4yLTMzIDkxLjUtOTkgOTUuNC0xNDkuN3pcIl1cbn07XG52YXIgZmFVc2VyU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjUwNlwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDM1My4zIDI1MS42QzQwNy45IDIzNyA0NDggMTg3LjIgNDQ4IDEyOEM0NDggNTcuMyAzOTAuNyAwIDMyMCAwQzI1MC4yIDAgMTkzLjUgNTUuOCAxOTIgMTI1LjJMMzguOCA1LjF6TTI2NC4zIDMwNC4zQzE3MC41IDMwOS40IDk2IDM4Ny4yIDk2IDQ4Mi4zYzAgMTYuNCAxMy4zIDI5LjcgMjkuNyAyOS43SDUxNC4zYzMuOSAwIDcuNi0uNyAxMS0yLjFsLTI2MS0yMDUuNnpcIl1cbn07XG52YXIgZmFQZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVuJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4Mzk0XSwgXCJmMzA0XCIsIFwiTTM2Mi43IDE5LjNMMzE0LjMgNjcuNyA0NDQuMyAxOTcuN2w0OC40LTQ4LjRjMjUtMjUgMjUtNjUuNSAwLTkwLjVMNDUzLjMgMTkuM2MtMjUtMjUtNjUuNS0yNS05MC41IDB6bS03MSA3MUw1OC42IDMyMy41Yy0xMC40IDEwLjQtMTggMjMuMy0yMi4yIDM3LjRMMSA0ODEuMkMtMS41IDQ4OS43IC44IDQ5OC44IDcgNTA1czE1LjMgOC41IDIzLjcgNi4xbDEyMC4zLTM1LjRjMTQuMS00LjIgMjctMTEuOCAzNy40LTIyLjJMNDIxLjcgMjIwLjMgMjkxLjcgOTAuM3pcIl1cbn07XG52YXIgZmFUb3dlck9ic2VydmF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Rvd2VyLW9ic2VydmF0aW9uJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTg2XCIsIFwiTTI0MS43IDMuNGM5LTQuNSAxOS42LTQuNSAyOC42IDBsMTYwIDgwYzE1LjggNy45IDIyLjIgMjcuMSAxNC4zIDQyLjlDNDM5IDEzNy41IDQyNy43IDE0NCA0MTYgMTQ0djgwYzAgMTcuNy0xNC4zIDMyLTMyIDMyaC00LjlsMzIgMTkySDQ4MGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzODQuNWMtLjQgMC0uOCAwLTEuMSAwSDEyOC42Yy0uNCAwLS44IDAtMS4xIDBIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJoNjguOWwzMi0xOTJIMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYxNDRjLTExLjcgMC0yMy02LjUtMjguNi0xNy43Yy03LjktMTUuOC0xLjUtMzUgMTQuMy00Mi45bDE2MC04MHpNMzE0LjUgNDQ4TDI1NiAzOTkuMiAxOTcuNSA0NDhoMTE3ek0xOTcuOCAyNTZsLTQuNyAyOC4zTDI1NiAzMzYuOGw2Mi45LTUyLjVMMzE0LjIgMjU2SDE5Ny44em0tMTMuOSA4My4ybC0xMS4yIDY3TDIxOC41IDM2OGwtMzQuNi0yOC44ek0yOTMuNSAzNjhsNDUuOCAzOC4xLTExLjItNjdMMjkzLjUgMzY4ek0xNzYgMTI4Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2SDMzNmM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgxNzZ6XCJdXG59O1xudmFyIGZhRmlsZUNvZGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1jb2RlJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmMWM5XCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzMjBjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTYwSDI1NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMEg2NHpNMjU2IDBWMTI4SDM4NEwyNTYgMHpNMTUzIDI4OWwtMzEgMzEgMzEgMzFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEw3MSAzMzdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDQ4LTQ4YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOXpNMjY1IDI1NWw0OCA0OGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNDggNDhjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzEtMzEtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMHpcIl1cbn07XG52YXIgZmFTaWduYWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2lnbmFsJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4MjQ2LCBcInNpZ25hbC01XCIsIFwic2lnbmFsLXBlcmZlY3RcIl0sIFwiZjAxMlwiLCBcIk01NzYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMlY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTQ0OCA5NmMxNy43IDAgMzIgMTQuMyAzMiAzMlY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0zNTIgMjI0VjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYyMjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnpNMTkyIDI4OGMxNy43IDAgMzIgMTQuMyAzMiAzMlY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzIwYzAtMTcuNyAxNC4zLTMyIDMyLTMyek05NiA0MTZ2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWNDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6XCJdXG59O1xudmFyIGZhU2lnbmFsNSA9IGZhU2lnbmFsO1xudmFyIGZhU2lnbmFsUGVyZmVjdCA9IGZhU2lnbmFsO1xudmFyIGZhQnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1cycsXG4gIGljb246IFs1NzYsIDUxMiwgWzEyODY1M10sIFwiZjIwN1wiLCBcIk0yODggMEM0MjIuNCAwIDUxMiAzNS4yIDUxMiA4MFY5NmwwIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMydjY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybDAgMTYwYzAgMTcuNy0xNC4zIDMyLTMyIDMydjMyYzAgMTcuNy0xNC4zIDMyLTMyIDMySDQxNmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDQ4SDE5MnYzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkgxMjhjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMlYxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJoMFY5NmgwVjgwQzY0IDM1LjIgMTUzLjYgMCAyODggMHpNMTI4IDE2MHY5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMkgyNzJWMTI4SDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTMwNCAyODhINDE2YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjE2MGMwLTE3LjctMTQuMy0zMi0zMi0zMkgzMDRWMjg4ek0xNDQgNDAwYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMjg4IDBhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek0zODQgODBjMC04LjgtNy4yLTE2LTE2LTE2SDIwOGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNkgzNjhjOC44IDAgMTYtNy4yIDE2LTE2elwiXVxufTtcbnZhciBmYUhlYXJ0Q2lyY2xlWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVhcnQtY2lyY2xlLXhtYXJrJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTAxXCIsIFwiTTQ3LjYgMzAwLjRMMjI4LjMgNDY5LjFjNy41IDcgMTcuNCAxMC45IDI3LjcgMTAuOXMyMC4yLTMuOSAyNy43LTEwLjlsMi42LTIuNEMyNjcuMiA0MzguNiAyNTYgNDA0LjYgMjU2IDM2OGMwLTk3LjIgNzguOC0xNzYgMTc2LTE3NmMyOC4zIDAgNTUgNi43IDc4LjcgMTguNWMuOS02LjUgMS4zLTEzIDEuMy0xOS42di01LjhjMC02OS45LTUwLjUtMTI5LjUtMTE5LjQtMTQxQzM0NyAzNi41IDMwMC42IDUxLjQgMjY4IDg0TDI1NiA5NiAyNDQgODRjLTMyLjYtMzIuNi03OS00Ny41LTEyNC42LTM5LjlDNTAuNSA1NS42IDAgMTE1LjIgMCAxODUuMXY1LjhjMCA0MS41IDE3LjIgODEuMiA0Ny42IDEwOS41ek00MzIgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptNTkuMy0xODAuN0w0NTQuNiAzNjhsMzYuNyAzNi43YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBMNDMyIDM5MC42bC0zNi43IDM2LjdjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZMNDA5LjQgMzY4bC0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMEw0MzIgMzQ1LjRsMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnpcIl1cbn07XG52YXIgZmFIb3VzZUNoaW1uZXkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtY2hpbW5leScsXG4gIGljb246IFs1NzYsIDUxMiwgWzYzNDk5LCBcImhvbWUtbGdcIl0sIFwiZTNhZlwiLCBcIk01NDMuOCAyODcuNmMxNyAwIDMyLTE0IDMyLTMyLjFjMS05LTMtMTctMTEtMjRMNTEyIDE4NVY2NGMwLTE3LjctMTQuMy0zMi0zMi0zMkg0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjM2LjdMMzA5LjUgN2MtNi01LTE0LTctMjEtN3MtMTUgMS0yMiA4TDEwIDIzMS41Yy03IDctMTAgMTUtMTAgMjRjMCAxOCAxNCAzMi4xIDMyIDMyLjFoMzJ2NjkuN2MtLjEgLjktLjEgMS44LS4xIDIuOFY0NzJjMCAyMi4xIDE3LjkgNDAgNDAgNDBoMTZjMS4yIDAgMi40LS4xIDMuNi0uMmMxLjUgLjEgMyAuMiA0LjUgLjJIMTYwaDI0YzIyLjEgMCA0MC0xNy45IDQwLTQwVjQ0OCAzODRjMC0xNy43IDE0LjMtMzIgMzItMzJoNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2NjQgMjRjMCAyMi4xIDE3LjkgNDAgNDAgNDBoMjQgMzIuNWMxLjQgMCAyLjggMCA0LjItLjFjMS4xIC4xIDIuMiAuMSAzLjMgLjFoMTZjMjIuMSAwIDQwLTE3LjkgNDAtNDBWNDU1LjhjLjMtMi42IC41LTUuMyAuNS04LjFsLS43LTE2MC4yaDMyelwiXVxufTtcbnZhciBmYUhvbWVMZyA9IGZhSG91c2VDaGltbmV5O1xudmFyIGZhV2luZG93TWF4aW1pemUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2luZG93LW1heGltaXplJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NDcwXSwgXCJmMmQwXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NFY5NmMwLTM1LjMtMjguNy02NC02NC02NEg2NHpNOTYgOTZINDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyelwiXVxufTtcbnZhciBmYUZhY2VGcm93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWZyb3duJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTc4NSwgXCJmcm93blwiXSwgXCJmMTE5XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xNTkuMyAzODguN2MtMi42IDguNC0xMS42IDEzLjItMjAgMTAuNXMtMTMuMi0xMS42LTEwLjUtMjBDMTQ1LjIgMzI2LjEgMTk2LjMgMjg4IDI1NiAyODhzMTEwLjggMzguMSAxMjcuMyA5MS4zYzIuNiA4LjQtMi4xIDE3LjQtMTAuNSAyMHMtMTcuNC0yLjEtMjAtMTAuNUMzNDAuNSAzNDkuNCAzMDIuMSAzMjAgMjU2IDMyMHMtODQuNSAyOS40LTk2LjcgNjguN3pNMTQ0LjQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhRnJvd24gPSBmYUZhY2VGcm93bjtcbnZhciBmYVByZXNjcmlwdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwcmVzY3JpcHRpb24nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImY1YjFcIiwgXCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJWMTkydjk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMjI0aDUwLjdsMTI4IDEyOEwxMzcuNCA0NTcuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwyODggMzk3LjMgMzkzLjQgNTAyLjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wzMzMuMyAzNTIgNDM4LjYgMjQ2LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMjg4IDMwNi43bC04NS44LTg1LjhDMjUxLjQgMjA5LjEgMjg4IDE2NC44IDI4OCAxMTJDMjg4IDUwLjEgMjM3LjkgMCAxNzYgMEgzMnpNMTc2IDE2MEg2NFY2NEgxNzZjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDh6XCJdXG59O1xudmFyIGZhU2hvcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaG9wJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJzdG9yZS1hbHRcIl0sIFwiZjU0ZlwiLCBcIk0zNi44IDE5Mkg2MDMuMmMyMC4zIDAgMzYuOC0xNi41IDM2LjgtMzYuOGMwLTcuMy0yLjItMTQuNC02LjItMjAuNEw1NTguMiAyMS40QzU0OS4zIDggNTM0LjQgMCA1MTguMyAwSDEyMS43Yy0xNiAwLTMxIDgtMzkuOSAyMS40TDYuMiAxMzQuN2MtNCA2LjEtNi4yIDEzLjItNi4yIDIwLjRDMCAxNzUuNSAxNi41IDE5MiAzNi44IDE5MnpNNjQgMjI0VjM4NHY4MGMwIDI2LjUgMjEuNSA0OCA0OCA0OEgzMzZjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMzg0IDIyNEgzMjBWMzg0SDEyOFYyMjRINjR6bTQ0OCAwVjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjIyNEg1MTJ6XCJdXG59O1xudmFyIGZhU3RvcmVBbHQgPSBmYVNob3A7XG52YXIgZmFGbG9wcHlEaXNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Zsb3BweS1kaXNrJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI4MTkwLCAxMjg0MjYsIFwic2F2ZVwiXSwgXCJmMGM3XCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDM4NGMzNS4zIDAgNjQtMjguNyA2NC02NFYxNzMuM2MwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wzNTIgNTAuN0MzNDAgMzguNyAzMjMuNyAzMiAzMDYuNyAzMkg2NHptMCA5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMkgyODhjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJIOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjEyOHpNMjI0IDI4OGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpcIl1cbn07XG52YXIgZmFTYXZlID0gZmFGbG9wcHlEaXNrO1xudmFyIGZhVmloYXJhID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZpaGFyYScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjZhN1wiLCBcIk0yODEgMjJMMzA1LjggNC43YzEuMy0uOSAyLjctMS44IDQuMS0yLjRDMzEzLjEgLjcgMzE2LjYgMCAzMjAgMHM2LjkgLjcgMTAuMSAyLjJjMS40IC43IDIuOCAxLjUgNC4xIDIuNEwzNTkgMjJDMzkzIDQ1LjggNDMwLjggNjMuNSA0NzAuOCA3NC40bDIzIDYuM2MxLjggLjUgMy42IDEuMSA1LjIgMmMzLjIgMS43IDUuOSA0IDguMSA2LjhjMy44IDQuOSA1LjYgMTEuMyA0LjcgMTcuOGMtLjQgMi44LTEuMiA1LjQtMi41IDcuOGMtMS43IDMuMi00IDUuOS02LjggOC4xYy00LjMgMy4yLTkuNiA1LjEtMTUuMSA0LjlINDgwdjU2LjFsNi40IDUuMSA1LjIgNC4xYzIxLjEgMTYuNyA0NSAyOS42IDcwLjUgMzguMWwyOC45IDkuNmMxLjYgLjUgMy4yIDEuMiA0LjYgMmMzLjEgMS43IDUuOCA0LjEgNy44IDYuOXMzLjUgNi4xIDQuMSA5LjZjLjUgMi43IC42IDUuNSAuMSA4LjNzLTEuNCA1LjQtMi43IDcuOGMtMS43IDMuMS00LjEgNS44LTYuOSA3LjhzLTYuMSAzLjUtOS42IDQuMWMtMS42IC4zLTMuMyAuNC01IC40SDU0NHY2NS45YzIwLjUgMjIuOCA0Ny40IDM5LjIgNzcuNCA0Ni43QzYzMiA0MDMgNjQwIDQxMi42IDY0MCA0MjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRINTc2djMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjQ0OEgzNTJ2MzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWNDQ4SDEyOHYzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY0NDhIMjRjLTEzLjMgMC0yNC0xMC43LTI0LTI0YzAtMTEuNCA4LTIxIDE4LjYtMjMuNGMzMC03LjYgNTYuOS0yMy45IDc3LjQtNDYuN1YyODhINTYuNmMtMS43IDAtMy40LS4xLTUtLjRjLTMuNS0uNy02LjgtMi4xLTkuNi00LjFzLTUuMi00LjctNy03LjhjLTEuMy0yLjQtMi4zLTUtMi43LTcuOHMtLjQtNS42IC4xLTguM2MuNy0zLjUgMi4xLTYuOCA0LjEtOS42czQuNy01LjIgNy44LTYuOWMxLjQtLjggMy0xLjUgNC42LTJsMjguOS05LjZjMjUuNS04LjUgNDkuNC0yMS40IDcwLjUtMzguMWw1LjItNC4xIDYuNC01LjFWMTc2IDEyOGgtNy41Yy01LjUgLjEtMTAuOC0xLjctMTUuMS00LjljLTIuOC0yLjEtNS4xLTQuOC02LjgtOC4xYy0xLjItMi40LTIuMS01LTIuNS03LjhjLS45LTYuNSAuOS0xMi44IDQuNy0xNy44YzIuMS0yLjggNC44LTUuMSA4LjEtNi44YzEuNi0uOCAzLjQtMS41IDUuMi0ybDIzLTYuM0MyMDkuMiA2My41IDI0NyA0NS44IDI4MSAyMnpNNDE2IDEyOEgzMjAgMjI0djY0aDcyIDQ4IDcyVjEyOHpNMTYwIDI4OHY2NEgyOTZoMjQgMjRINDgwVjI4OEgzNDQgMzIwaDBIMjk2IDE2MHpcIl1cbn07XG52YXIgZmFTY2FsZVVuYmFsYW5jZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2NhbGUtdW5iYWxhbmNlZCcsXG4gIGljb246IFs2NDAsIDUxMiwgW1wiYmFsYW5jZS1zY2FsZS1sZWZ0XCJdLCBcImY1MTVcIiwgXCJNNTIyLjEgNjIuNGMxNi44LTUuNiAyNS44LTIzLjcgMjAuMi00MC41UzUxOC42LTMuOSA1MDEuOSAxLjZsLTExMyAzNy43QzM3NSAxNS44IDM0OS4zIDAgMzIwIDBjLTQ0LjIgMC04MCAzNS44LTgwIDgwYzAgMyAuMiA1LjkgLjUgOC44TDExNy45IDEyOS42Yy0xNi44IDUuNi0yNS44IDIzLjctMjAuMiA0MC41czIzLjcgMjUuOCA0MC41IDIwLjJsMTM1LjUtNDUuMmM0LjUgMy4yIDkuMyA1LjkgMTQuNCA4LjJWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMySDUxMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzNTJWMTUzLjNjMjEtOS4yIDM3LjItMjcgNDQuMi00OWwxMjUuOS00MnpNNDM5LjYgMjg4TDUxMiAxNjMuOCA1ODQuNCAyODhINDM5LjZ6TTUxMiAzODRjNjIuOSAwIDExNS4yLTM0IDEyNi03OC45YzIuNi0xMS0xLTIyLjMtNi43LTMyLjFMNTM2LjEgMTA5LjhjLTUtOC42LTE0LjItMTMuOC0yNC4xLTEzLjhzLTE5LjEgNS4zLTI0LjEgMTMuOEwzOTIuNyAyNzMuMWMtNS43IDkuOC05LjMgMjEuMS02LjcgMzIuMUMzOTYuOCAzNTAgNDQ5LjEgMzg0IDUxMiAzODR6TTEyOS4yIDI5MS44TDIwMS42IDQxNkg1Ni43bDcyLjQtMTI0LjJ6TTMuMiA0MzMuMUMxNCA0NzggNjYuMyA1MTIgMTI5LjIgNTEyczExNS4yLTM0IDEyNi03OC45YzIuNi0xMS0xLTIyLjMtNi43LTMyLjFMMTUzLjIgMjM3LjhjLTUtOC42LTE0LjItMTMuOC0yNC4xLTEzLjhzLTE5LjEgNS4zLTI0LjEgMTMuOEw5LjkgNDAxLjFjLTUuNyA5LjgtOS4zIDIxLjEtNi43IDMyLjF6XCJdXG59O1xudmFyIGZhQmFsYW5jZVNjYWxlTGVmdCA9IGZhU2NhbGVVbmJhbGFuY2VkO1xudmFyIGZhU29ydFVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NvcnQtdXAnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtcInNvcnQtYXNjXCJdLCBcImYwZGVcIiwgXCJNMTgyLjYgNDEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTEyOCAxMjhjLTkuMiA5LjItMTEuOSAyMi45LTYuOSAzNC45czE2LjYgMTkuOCAyOS42IDE5LjhIMjg4YzEyLjkgMCAyNC42LTcuOCAyOS42LTE5LjhzMi4yLTI1LjctNi45LTM0LjlsLTEyOC0xMjh6XCJdXG59O1xudmFyIGZhU29ydEFzYyA9IGZhU29ydFVwO1xudmFyIGZhQ29tbWVudERvdHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tbWVudC1kb3RzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MTcyLCA2MjA3NSwgXCJjb21tZW50aW5nXCJdLCBcImY0YWRcIiwgXCJNMjU2IDQ0OGMxNDEuNCAwIDI1Ni05My4xIDI1Ni0yMDhTMzk3LjQgMzIgMjU2IDMyUzAgMTI1LjEgMCAyNDBjMCA0NS4xIDE3LjcgODYuOCA0Ny43IDEyMC45Yy0xLjkgMjQuNS0xMS40IDQ2LjMtMjEuNCA2Mi45Yy01LjUgOS4yLTExLjEgMTYuNi0xNS4yIDIxLjZjLTIuMSAyLjUtMy43IDQuNC00LjkgNS43Yy0uNiAuNi0xIDEuMS0xLjMgMS40bC0uMyAuMyAwIDAgMCAwIDAgMCAwIDBjLTQuNiA0LjYtNS45IDExLjQtMy40IDE3LjRjMi41IDYgOC4zIDkuOSAxNC44IDkuOWMyOC43IDAgNTcuNi04LjkgODEuNi0xOS4zYzIyLjktMTAgNDIuNC0yMS45IDU0LjMtMzAuNmMzMS44IDExLjUgNjcgMTcuOSAxMDQuMSAxNy45ek0xMjggMjA4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em05NiAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwelwiXVxufTtcbnZhciBmYUNvbW1lbnRpbmcgPSBmYUNvbW1lbnREb3RzO1xudmFyIGZhUGxhbnRXaWx0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsYW50LXdpbHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1YWFcIiwgXCJNMjg4IDEyMGMwLTMwLjkgMjUuMS01NiA1Ni01NnM1NiAyNS4xIDU2IDU2djEzYy0yOS4zIDEwLTQ4IDM0LjUtNDggNzAuMWMwIDI3LjkgMjUuMyA3NC44IDY2IDExMS42YzMuOCAzLjUgOC45IDUuMyAxNCA1LjNzMTAuMi0xLjggMTQtNS4zYzQwLjctMzYuOCA2Ni04My43IDY2LTExMS42YzAtMzUuNi0xOC43LTYwLjItNDgtNzAuMVYxMjBDNDY0IDUzLjcgNDEwLjMgMCAzNDQgMFMyMjQgNTMuNyAyMjQgMTIwdjIxLjhDMjA3LjMgMTMzIDE4OC4yIDEyOCAxNjggMTI4Yy02Ni4zIDAtMTIwIDUzLjctMTIwIDEyMHYxM2MtMjkuMyAxMC00OCAzNC41LTQ4IDcwLjFDMCAzNTkgMjUuMyA0MDUuOSA2NiA0NDIuN2MzLjggMy41IDguOSA1LjMgMTQgNS4zczEwLjItMS44IDE0LTUuM2M0MC43LTM2LjggNjYtODMuNyA2Ni0xMTEuNmMwLTM1LjYtMTguNy02MC4yLTQ4LTcwLjFWMjQ4YzAtMzAuOSAyNS4xLTU2IDU2LTU2czU2IDI1LjEgNTYgNTZ2MzJWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMjgwIDI0OCAxMjB6XCJdXG59O1xudmFyIGZhRGlhbW9uZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkaWFtb25kJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTgzMF0sIFwiZjIxOVwiLCBcIk0yODQuMyAxMS43Yy0xNS42LTE1LjYtNDAuOS0xNS42LTU2LjYgMGwtMjE2IDIxNmMtMTUuNiAxNS42LTE1LjYgNDAuOSAwIDU2LjZsMjE2IDIxNmMxNS42IDE1LjYgNDAuOSAxNS42IDU2LjYgMGwyMTYtMjE2YzE1LjYtMTUuNiAxNS42LTQwLjkgMC01Ni42bC0yMTYtMjE2elwiXVxufTtcbnZhciBmYUZhY2VHcmluU3F1aW50ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtZ3Jpbi1zcXVpbnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1MTgsIFwiZ3Jpbi1zcXVpbnRcIl0sIFwiZjU4NVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzg4LjEgMzEyLjhjMTIuMy0zLjggMjQuMyA2LjkgMTkuMyAxOC43QzM4Mi40IDM5MC42IDMyNC4yIDQzMiAyNTYuMyA0MzJzLTEyNi4yLTQxLjQtMTUxLjEtMTAwLjVjLTUtMTEuOCA3LTIyLjUgMTkuMy0xOC43YzM5LjcgMTIuMiA4NC41IDE5IDEzMS44IDE5czkyLjEtNi44IDEzMS44LTE5ek0xMzMuNSAxNDYuN2w4OS45IDQ3LjljMTAuNyA1LjcgMTAuNyAyMS4xIDAgMjYuOGwtODkuOSA0Ny45Yy03LjkgNC4yLTE3LjUtMS41LTE3LjUtMTAuNWMwLTIuOCAxLTUuNSAyLjgtNy42bDM2LTQzLjItMzYtNDMuMmMtMS44LTIuMS0yLjgtNC44LTIuOC03LjZjMC05IDkuNi0xNC43IDE3LjUtMTAuNXpNMzk2IDE1Ny4xYzAgMi44LTEgNS41LTIuOCA3LjZsLTM2IDQzLjIgMzYgNDMuMmMxLjggMi4xIDIuOCA0LjggMi44IDcuNmMwIDktOS42IDE0LjctMTcuNSAxMC41bC04OS45LTQ3LjljLTEwLjctNS43LTEwLjctMjEuMSAwLTI2LjhsODkuOS00Ny45YzcuOS00LjIgMTcuNSAxLjUgMTcuNSAxMC41elwiXVxufTtcbnZhciBmYUdyaW5TcXVpbnQgPSBmYUZhY2VHcmluU3F1aW50O1xudmFyIGZhSGFuZEhvbGRpbmdEb2xsYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZC1ob2xkaW5nLWRvbGxhcicsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiaGFuZC1ob2xkaW5nLXVzZFwiXSwgXCJmNGMwXCIsIFwiTTMxMiAyNFYzNC41YzYuNCAxLjIgMTIuNiAyLjcgMTguMiA0LjJjMTIuOCAzLjQgMjAuNCAxNi42IDE3IDI5LjRzLTE2LjYgMjAuNC0yOS40IDE3Yy0xMC45LTIuOS0yMS4xLTQuOS0zMC4yLTVjLTcuMy0uMS0xNC43IDEuNy0xOS40IDQuNGMtMi4xIDEuMy0zLjEgMi40LTMuNSAzYy0uMyAuNS0uNyAxLjItLjcgMi44YzAgLjMgMCAuNSAwIC42Yy4yIC4yIC45IDEuMiAzLjMgMi42YzUuOCAzLjUgMTQuNCA2LjIgMjcuNCAxMC4xbC45IC4zYzExLjEgMy4zIDI1LjkgNy44IDM3LjkgMTUuM2MxMy43IDguNiAyNi4xIDIyLjkgMjYuNCA0NC45Yy4zIDIyLjUtMTEuNCAzOC45LTI2LjcgNDguNWMtNi43IDQuMS0xMy45IDctMjEuMyA4LjhWMjMyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0VjIyMC42Yy05LjUtMi4zLTE4LjItNS4zLTI1LjYtNy44Yy0yLjEtLjctNC4xLTEuNC02LTJjLTEyLjYtNC4yLTE5LjQtMTcuOC0xNS4yLTMwLjRzMTcuOC0xOS40IDMwLjQtMTUuMmMyLjYgLjkgNSAxLjcgNy4zIDIuNWMxMy42IDQuNiAyMy40IDcuOSAzMy45IDguM2M4IC4zIDE1LjEtMS42IDE5LjItNC4xYzEuOS0xLjIgMi44LTIuMiAzLjItMi45Yy40LS42IC45LTEuOCAuOC00LjFsMC0uMmMwLTEgMC0yLjEtNC00LjZjLTUuNy0zLjYtMTQuMy02LjQtMjcuMS0xMC4zbC0xLjktLjZjLTEwLjgtMy4yLTI1LTcuNS0zNi40LTE0LjRjLTEzLjUtOC4xLTI2LjUtMjItMjYuNi00NC4xYy0uMS0yMi45IDEyLjktMzguNiAyNy43LTQ3LjRjNi40LTMuOCAxMy4zLTYuNCAyMC4yLTguMlYyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0ek01NjguMiAzMzYuM2MxMy4xIDE3LjggOS4zIDQyLjgtOC41IDU1LjlMNDMzLjEgNDg1LjVjLTIzLjQgMTcuMi01MS42IDI2LjUtODAuNyAyNi41SDE5MiAzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMySDY4LjhsNDQuOS0zNmMyMi43LTE4LjIgNTAuOS0yOCA4MC0yOEgyNzJoMTYgNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMjg4IDI3MmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNkgzOTIuNmwxMTkuNy04OC4yYzE3LjgtMTMuMSA0Mi44LTkuMyA1NS45IDguNXpNMTkzLjYgMzg0bDAgMC0uOSAwYy4zIDAgLjYgMCAuOSAwelwiXVxufTtcbnZhciBmYUhhbmRIb2xkaW5nVXNkID0gZmFIYW5kSG9sZGluZ0RvbGxhcjtcbnZhciBmYUJhY3Rlcml1bSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYWN0ZXJpdW0nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImUwNWFcIiwgXCJNNDIzLjEgMzAuNmMzLjYtMTIuNy0zLjctMjYtMTYuNS0yOS43cy0yNiAzLjctMjkuNyAxNi41bC00LjIgMTQuN2MtOS44LS40LTE5LjkgLjUtMjkuOSAyLjhjLTEyLjEgMi44LTIzLjcgNS45LTM0LjkgOS40bC01LjktMTMuN2MtNS4yLTEyLjItMTkuMy0xNy44LTMxLjUtMTIuNnMtMTcuOCAxOS4zLTEyLjYgMzEuNWw0LjkgMTEuM2MtMjIgOS40LTQyIDIwLjEtNjAuMiAzMS44TDE5NiA4Mi43Yy03LjQtMTEtMjIuMy0xNC0zMy4zLTYuN3MtMTQgMjIuMy02LjcgMzMuM2w3LjggMTEuNmMtMTggMTUtMzMuNyAzMC44LTQ3LjMgNDcuMUwxMDMgMTU3LjNjLTEwLjQtOC4zLTI1LjUtNi42LTMzLjcgMy43cy02LjYgMjUuNSAzLjcgMzMuN2wxNSAxMmMtMi4xIDMuMi00LjEgNi41LTYgOS43Yy05LjQgMTUuNy0xNyAzMS0yMy4yIDQ1LjNsLTkuOS0zLjljLTEyLjMtNC45LTI2LjMgMS4xLTMxLjIgMTMuNHMxLjEgMjYuMyAxMy40IDMxLjJsMTEuNiA0LjZjLS4zIDEuMS0uNiAyLjEtLjkgMy4xYy0zLjUgMTIuNS01LjcgMjMuMi03LjEgMzEuM2MtLjcgNC4xLTEuMiA3LjUtMS42IDEwLjNjLS4yIDEuNC0uMyAyLjYtLjQgMy42bC0uMSAxLjQtLjEgLjYgMCAuMyAwIC4xYzAgMCAwIC4xIDM5LjIgMy43bDAgMC0zOS4yLTMuNmMtLjUgNS0uNiAxMC0uNCAxNC45bC0xNC43IDQuMkM0LjcgMzgwLjYtMi43IDM5My44IC45IDQwNi42czE2LjkgMjAuMSAyOS43IDE2LjVsMTMuOC0zLjljMTAuNiAyMC43IDI3LjYgMzcuOCA0OC41IDQ4LjVsLTMuOSAxMy43Yy0zLjYgMTIuNyAzLjcgMjYgMTYuNSAyOS43czI2LTMuNyAyOS43LTE2LjVsNC4yLTE0LjdjMjMuOCAxIDQ2LjMtNS41IDY1LjEtMTcuNkwyMTUgNDczYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMTAuNi0xMC42YzkuMS0xNC4xIDE1LjEtMzAuNSAxNy00OC4zbC4xLS44Yy4zLTEuNyAxLTUuMSAyLjMtOS44bC4yLS44IDEyLjYgNS40YzEyLjIgNS4yIDI2LjMtLjQgMzEuNS0xMi42cy0uNC0yNi4zLTEyLjYtMzEuNWwtMTEuMy00LjhjOS45LTE0LjkgMjQuOS0zMS42IDQ4LjYtNDZsMi4xIDcuNWMzLjYgMTIuNyAxNi45IDIwLjEgMjkuNyAxNi41czIwLjEtMTYuOSAxNi41LTI5LjdMMzcxIDI1OS4yYzYuOS0yLjIgMTQuMy00LjMgMjIuMi02LjFjMTIuOS0zIDI0LjctOCAzNS4yLTE0LjhMNDM5IDI0OWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTEwLjYtMTAuNmMxMi4yLTE5IDE4LjYtNDEuNiAxNy42LTY1LjFsMTQuNy00LjJjMTIuNy0zLjYgMjAuMS0xNi45IDE2LjUtMjkuN3MtMTYuOS0yMC4xLTI5LjctMTYuNWwtMTMuNyAzLjljLTEwLjgtMjEuMi0yOC0zOC00OC41LTQ4LjVsMy45LTEzLjh6TTkyLjEgMzYzLjNsMCAwTDE0NCAzNjhsLTUxLjktNC43ek0xMTIgMzIwYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTI0MCAxODRhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4elwiXVxufTtcbnZhciBmYUhhbmRQb2ludGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtcG9pbnRlcicsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjI1YVwiLCBcIk0xMjggNDBjMC0yMi4xIDE3LjktNDAgNDAtNDBzNDAgMTcuOSA0MCA0MFYxODguMmM4LjUtNy42IDE5LjctMTIuMiAzMi0xMi4yYzIwLjYgMCAzOC4yIDEzIDQ1IDMxLjJjOC44LTkuMyAyMS4yLTE1LjIgMzUtMTUuMmMyNS4zIDAgNDYgMTkuNSA0Ny45IDQ0LjNjOC41LTcuNyAxOS44LTEyLjMgMzIuMS0xMi4zYzI2LjUgMCA0OCAyMS41IDQ4IDQ4djQ4IDE2IDQ4YzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4bC0xNiAwSDI0MGwtLjEgMGgtNS4yYy01IDAtOS45LS4zLTE0LjctMWMtNTUuMy01LjYtMTA2LjItMzQtMTQwLTc5TDggMzM2Yy0xMy4zLTE3LjctOS43LTQyLjcgOC01NnM0Mi43LTkuNyA1NiA4bDU2IDc0LjdWNDB6TTI0MCAzMDRjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZ2OTZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlYzMDR6bTQ4LTE2Yy04LjggMC0xNiA3LjItMTYgMTZ2OTZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlYzMDRjMC04LjgtNy4yLTE2LTE2LTE2em04MCAxNmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNnY5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjMwNHpcIl1cbn07XG52YXIgZmFEcnVtU3RlZWxwYW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZHJ1bS1zdGVlbHBhbicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjU2YVwiLCBcIk0yODggMzJjMTU5LjEgMCAyODggNDggMjg4IDEyOFYzNTJjMCA4MC0xMjguOSAxMjgtMjg4IDEyOFMwIDQzMiAwIDM1MlYxNjBDMCA4MCAxMjguOSAzMiAyODggMzJ6TTUyOCAxNjBjMC05LjktOC0yOS45LTU1LTQ5LjhjLTE4LjYtNy45LTQwLjktMTQuNC02Ni0xOS40bC0yNy44IDQzLjZjLTcuMyAxMS41LTExLjIgMjQuOC0xMS4yIDM4LjRjMCAxNy41IDYuNCAzNC40IDE4LjEgNDcuNWw5LjggMTFjMjkuOC01LjIgNTUuOS0xMi41IDc3LjItMjEuNWM0Ny4xLTE5LjkgNTUtMzkuOSA1NS00OS44ek0zNDkuMiAyMzcuM2MtOC0yNi4yLTMyLjQtNDUuMy02MS4yLTQ1LjNzLTUzLjMgMTkuMS02MS4yIDQ1LjNjMTkuNCAxLjcgMzkuOSAyLjcgNjEuMiAyLjdzNDEuOC0uOSA2MS4yLTIuN3pNMTY5IDkwLjhjLTI1LjIgNS00Ny40IDExLjYtNjYgMTkuNEM1NiAxMzAuMSA0OCAxNTAuMSA0OCAxNjBzOCAyOS45IDU1IDQ5LjhjMjEuMyA5IDQ3LjQgMTYuMyA3Ny4yIDIxLjVsOS44LTExYzExLjYtMTMuMSAxOC4xLTMwIDE4LjEtNDcuNWMwLTEzLjYtMy45LTI2LjktMTEuMi0zOC40TDE2OSA5MC44em01Ni4zLThDMjI0LjUgODcgMjI0IDkxLjUgMjI0IDk2YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjRjMC00LjUtLjUtOS0xLjQtMTMuMkMzMzAuOCA4MSAzMDkuOCA4MCAyODggODBzLTQyLjggMS02Mi42IDIuOHpcIl1cbn07XG52YXIgZmFIYW5kU2Npc3NvcnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZC1zY2lzc29ycycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjI1N1wiLCBcIk00MCAyMDhjLTIyLjEgMC00MCAxNy45LTQwIDQwczE3LjkgNDAgNDAgNDBsMTgwLjIgMGMtNy42IDguNS0xMi4yIDE5LjctMTIuMiAzMmMwIDI1LjMgMTkuNSA0NiA0NC4zIDQ3LjljLTcuNyA4LjUtMTIuMyAxOS44LTEyLjMgMzIuMWMwIDI2LjUgMjEuNSA0OCA0OCA0OGwzMiAwIDY0IDBjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhsMC0xMTMuMWMwLTQwLjItMTYtNzguOC00NC40LTEwNy4zQzQ0NC44IDc2LjggNDEzLjkgNjQgMzgxLjcgNjRMMzM2IDY0Yy0yMS4zIDAtMzkuMyAxMy45LTQ1LjYgMzMuMWw3NC41IDIzLjdjOC40IDIuNyAxMy4xIDExLjcgMTAuNCAyMC4xcy0xMS43IDEzLjEtMjAuMSAxMC40TDI4OCAxMjkuOWwwIC4xTDg0IDY1LjhDNjIuOSA1OS4yIDQwLjUgNzAuOSAzMy44IDkyczUuMSA0My41IDI2LjIgNTAuMkwyNjkuNSAyMDggNDAgMjA4elwiXVxufTtcbnZhciBmYUhhbmRzUHJheWluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kcy1wcmF5aW5nJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJwcmF5aW5nLWhhbmRzXCJdLCBcImY2ODRcIiwgXCJNMzUxLjIgNC44YzMuMi0yIDYuNi0zLjMgMTAtNC4xYzQuNy0xIDkuNi0uOSAxNC4xIC4xYzcuNyAxLjggMTQuOCA2LjUgMTkuNCAxMy42TDUxNC42IDE5NC4yYzguOCAxMy4xIDEzLjQgMjguNiAxMy40IDQ0LjR2NzMuNWMwIDYuOSA0LjQgMTMgMTAuOSAxNS4ybDc5LjIgMjYuNEM2MzEuMiAzNTggNjQwIDM3MC4yIDY0MCAzODR2OTZjMCA5LjktNC42IDE5LjMtMTIuNSAyNS40cy0xOC4xIDguMS0yNy43IDUuNUw0MzEgNDY1LjljLTU2LTE0LjktOTUtNjUuNy05NS0xMjMuN1YyMjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnY4MGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjIxOS4xYzAtNy0xLjgtMTMuOC01LjMtMTkuOEwzNDAuMyA0OC4xYy0xLjctMy0yLjktNi4xLTMuNi05LjNjLTEtNC43LTEtOS42IC4xLTE0LjFjMS45LTggNi44LTE1LjIgMTQuMy0xOS45em0tNjIuNCAwYzcuNSA0LjYgMTIuNCAxMS45IDE0LjMgMTkuOWMxLjEgNC42IDEuMiA5LjQgLjEgMTQuMWMtLjcgMy4yLTEuOSA2LjMtMy42IDkuM0wyMTMuMyAxOTkuM2MtMy41IDYtNS4zIDEyLjktNS4zIDE5LjhWMzA0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMjI0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJWMzQyLjNjMCA1OC0zOSAxMDguNy05NSAxMjMuN2wtMTY4LjcgNDVjLTkuNiAyLjYtMTkuOSAuNS0yNy43LTUuNVMwIDQ5MCAwIDQ4MFYzODRjMC0xMy44IDguOC0yNiAyMS45LTMwLjRsNzkuMi0yNi40YzYuNS0yLjIgMTAuOS04LjMgMTAuOS0xNS4yVjIzOC41YzAtMTUuOCA0LjctMzEuMiAxMy40LTQ0LjRMMjQ1LjIgMTQuNWM0LjYtNy4xIDExLjctMTEuOCAxOS40LTEzLjZjNC42LTEuMSA5LjQtMS4yIDE0LjEtLjFjMy41IC44IDYuOSAyLjEgMTAgNC4xelwiXVxufTtcbnZhciBmYVByYXlpbmdIYW5kcyA9IGZhSGFuZHNQcmF5aW5nO1xudmFyIGZhQXJyb3dSb3RhdGVSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1yb3RhdGUtcmlnaHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs4NjM1LCBcImFycm93LXJpZ2h0LXJvdGF0ZVwiLCBcImFycm93LXJvdGF0ZS1mb3J3YXJkXCIsIFwicmVkb1wiXSwgXCJmMDFlXCIsIFwiTTM4Ni4zIDE2MEgzMzZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMydjUxLjJMNDE0LjQgOTcuNmMtODcuNS04Ny41LTIyOS4zLTg3LjUtMzE2LjggMHMtODcuNSAyMjkuMyAwIDMxNi44czIyOS4zIDg3LjUgMzE2LjggMGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGMtNjIuNSA2Mi41LTE2My44IDYyLjUtMjI2LjMgMHMtNjIuNS0xNjMuOCAwLTIyNi4zczE2My44LTYyLjUgMjI2LjMgMEwzODYuMyAxNjB6XCJdXG59O1xudmFyIGZhQXJyb3dSaWdodFJvdGF0ZSA9IGZhQXJyb3dSb3RhdGVSaWdodDtcbnZhciBmYUFycm93Um90YXRlRm9yd2FyZCA9IGZhQXJyb3dSb3RhdGVSaWdodDtcbnZhciBmYVJlZG8gPSBmYUFycm93Um90YXRlUmlnaHQ7XG52YXIgZmFCaW9oYXphcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmlvaGF6YXJkJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbOTc2M10sIFwiZjc4MFwiLCBcIk0xNzMuMiAwYy0xLjggMC0zLjUgLjctNC44IDJDMTM4LjUgMzIuMyAxMjAgNzQgMTIwIDEyMGMwIDI2LjIgNiA1MC45IDE2LjYgNzNjLTIyIDIuNC00My44IDkuMS02NC4yIDIwLjVDMzcuOSAyMzIuOCAxMy4zIDI2Mi40IC40IDI5NmMtLjcgMS43LS41IDMuNyAuNSA1LjJjMi4yIDMuNyA3LjQgNC4zIDEwLjYgMS4zQzY0LjIgMjU0LjMgMTU4IDI0NS4xIDIwNSAzMjRzLTguMSAxNTMuMS03Ny42IDE3My4yYy00LjIgMS4yLTYuMyA1LjktNC4xIDkuNmMxIDEuNiAyLjYgMi43IDQuNSAzYzM2LjUgNS45IDc1LjIgLjEgMTA5LjctMTkuMmMyMC40LTExLjQgMzcuNC0yNi41IDUwLjUtNDMuOGMxMy4xIDE3LjMgMzAuMSAzMi40IDUwLjUgNDMuOGMzNC41IDE5LjMgNzMuMyAyNS4yIDEwOS43IDE5LjJjMS45LS4zIDMuNS0xLjQgNC41LTNjMi4yLTMuNyAuMS04LjQtNC4xLTkuNkMzNzkuMSA0NzcuMSAzMjQgNDAzIDM3MSAzMjRzMTQwLjctNjkuOCAxOTMuNS0yMS40YzMuMiAyLjkgOC40IDIuMyAxMC42LTEuM2MxLTEuNiAxLjEtMy41IC41LTUuMmMtMTIuOS0zMy42LTM3LjUtNjMuMi03Mi4xLTgyLjVjLTIwLjQtMTEuNC00Mi4yLTE4LjEtNjQuMi0yMC41QzQ1MCAxNzAuOSA0NTYgMTQ2LjIgNDU2IDEyMGMwLTQ2LTE4LjUtODcuNy00OC40LTExOGMtMS4zLTEuMy0zLTItNC44LTJjLTUgMC04LjQgNS4yLTYuNyA5LjlDNDIxLjcgODAuNSAzODUuNiAxNzYgMjg4IDE3NlMxNTQuMyA4MC41IDE3OS45IDkuOWMxLjctNC43LTEuNi05LjktNi43LTkuOXpNMjQwIDI3MmE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek0xODEuNyA0MTcuNmM2LjMtMTEuOCA5LjgtMjUuMSA4LjYtMzkuOGMtMTkuNS0xOC0zNC00MS40LTQxLjItNjcuOGMtMTIuNS04LjEtMjYuMi0xMS44LTQwLTEyLjRjLTktLjQtMTguMSAuNi0yNy4xIDIuN2M3LjggNTcuMSAzOC43IDEwNi44IDgyLjkgMTM5LjRjNi44LTYuNyAxMi42LTE0LjEgMTYuOC0yMi4xek0yODggNjRjLTI4LjggMC01Ni4zIDUuOS04MS4yIDE2LjVjMiA4LjMgNSAxNi4yIDkgMjMuNWM2LjggMTIuNCAxNi43IDIzLjEgMzAuMSAzMC4zYzEzLjMtNC4xIDI3LjUtNi4zIDQyLjItNi4zczI4LjggMi4yIDQyLjIgNi4zYzEzLjQtNy4yIDIzLjMtMTcuOSAzMC4xLTMwLjNjNC03LjMgNy0xNS4yIDktMjMuNUMzNDQuMyA2OS45IDMxNi44IDY0IDI4OCA2NHpNNDI2LjkgMzEwYy03LjIgMjYuNC0yMS43IDQ5LjctNDEuMiA2Ny44Yy0xLjIgMTQuNyAyLjIgMjguMSA4LjYgMzkuOGM0LjMgOCAxMCAxNS40IDE2LjggMjIuMWM0NC4zLTMyLjYgNzUuMi04Mi4zIDgyLjktMTM5LjRjLTktMi4yLTE4LjEtMy4xLTI3LjEtMi43Yy0xMy44IC42LTI3LjUgNC40LTQwIDEyLjR6XCJdXG59O1xudmFyIGZhTG9jYXRpb25Dcm9zc2hhaXJzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xvY2F0aW9uLWNyb3NzaGFpcnMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImxvY2F0aW9uXCJdLCBcImY2MDFcIiwgXCJNMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNjYuN0MzNjguNCA4MC4xIDQzMS45IDE0My42IDQ0NS4zIDIyNEg0ODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJINDQ1LjNDNDMxLjkgMzY4LjQgMzY4LjQgNDMxLjkgMjg4IDQ0NS4zVjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY0NDUuM0MxNDMuNiA0MzEuOSA4MC4xIDM2OC40IDY2LjcgMjg4SDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDY2LjdDODAuMSAxNDMuNiAxNDMuNiA4MC4xIDIyNCA2Ni43VjMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek0xMjggMjU2YTEyOCAxMjggMCAxIDAgMjU2IDAgMTI4IDEyOCAwIDEgMCAtMjU2IDB6bTEyOC04MGE4MCA4MCAwIDEgMSAwIDE2MCA4MCA4MCAwIDEgMSAwLTE2MHpcIl1cbn07XG52YXIgZmFMb2NhdGlvbiA9IGZhTG9jYXRpb25Dcm9zc2hhaXJzO1xudmFyIGZhTWFyc0RvdWJsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXJzLWRvdWJsZScsXG4gIGljb246IFs2NDAsIDUxMiwgWzk4OTFdLCBcImYyMjdcIiwgXCJNMzEyIDMyYy05LjcgMC0xOC41IDUuOC0yMi4yIDE0LjhzLTEuNyAxOS4zIDUuMiAyNi4ybDMzLjQgMzMuNEwyNzUuOCAxNTljLTI4LjQtMTkuNS02Mi43LTMxLTk5LjgtMzFDNzguOCAxMjggMCAyMDYuOCAwIDMwNHM3OC44IDE3NiAxNzYgMTc2czE3Ni03OC44IDE3Ni0xNzZjMC0zNy0xMS40LTcxLjQtMzEtOTkuOGw1Mi42LTUyLjZMNDA3IDE4NWM2LjkgNi45IDE3LjIgOC45IDI2LjIgNS4yczE0LjgtMTIuNSAxNC44LTIyLjJWNTZjMC0xMy4zLTEwLjctMjQtMjQtMjRIMzEyem04OCA0OGgwdjBsMCAwek02NCAzMDRhMTEyIDExMiAwIDEgMSAyMjQgMEExMTIgMTEyIDAgMSAxIDY0IDMwNHpNMzY4IDQ4MGM5Ny4yIDAgMTc2LTc4LjggMTc2LTE3NmMwLTM3LTExLjQtNzEuNC0zMS05OS44bDUyLjYtNTIuNkw1OTkgMTg1YzYuOSA2LjkgMTcuMiA4LjkgMjYuMiA1LjJzMTQuOC0xMi41IDE0LjgtMjIuMlY1NmMwLTEzLjMtMTAuNy0yNC0yNC0yNEg1MDRjLTkuNyAwLTE4LjUgNS44LTIyLjIgMTQuOGMtMS4yIDIuOS0xLjggNi0xLjggOWwwIC4ydi4yYzAgNi4yIDIuNSAxMi4yIDcgMTYuOGwzMy40IDMzLjRMNDgwIDE0Ni43VjE2OGMwIDIyLjYtMTMuNiA0My4xLTM0LjYgNTEuN2MtLjggLjMtMS43IC43LTIuNSAxQzQ2NS43IDI0MS4yIDQ4MCAyNzAuOSA0ODAgMzA0YzAgNjEuOS01MC4xIDExMi0xMTIgMTEyYy01LjQgMC0xMC44LS40LTE2LTEuMWMtMTIuOSAyMC40LTI5LjEgMzguMy00OC4xIDUzLjFjMTkuOCA3LjggNDEuNCAxMiA2NCAxMnpcIl1cbn07XG52YXIgZmFDaGlsZERyZXNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoaWxkLWRyZXNzJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJlNTljXCIsIFwiTTIyNCA2NEE2NCA2NCAwIDEgMCA5NiA2NGE2NCA2NCAwIDEgMCAxMjggMHpNODggNDAwdjgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWNDAwaDE2djgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWNDAwaDE3LjhjMTAuOSAwIDE4LjYtMTAuNyAxNS4yLTIxLjFsLTMxLjEtOTMuNCAyOC42IDM3LjhjMTAuNyAxNC4xIDMwLjggMTYuOCA0NC44IDYuMnMxNi44LTMwLjcgNi4yLTQ0LjhMMjU0LjYgMjA3Yy0yMi40LTI5LjYtNTcuNS00Ny05NC42LTQ3cy03Mi4yIDE3LjQtOTQuNiA0N0w2LjUgMjg0LjdjLTEwLjcgMTQuMS03LjkgMzQuMiA2LjIgNDQuOHMzNC4yIDcuOSA0NC44LTYuMmwyOC43LTM3LjhMNTUgMzc4LjlDNTEuNiAzODkuMyA1OS4zIDQwMCA3MC4yIDQwMEg4OHpcIl1cbn07XG52YXIgZmFVc2Vyc0JldHdlZW5MaW5lcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2Vycy1iZXR3ZWVuLWxpbmVzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTkxXCIsIFwiTTAgMjRDMCAxMC43IDEwLjcgMCAyNCAwSDYxNmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEgyNEMxMC43IDQ4IDAgMzcuMyAwIDI0ek0wIDQ4OGMwLTEzLjMgMTAuNy0yNCAyNC0yNEg2MTZjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIMjRjLTEzLjMgMC0yNC0xMC43LTI0LTI0ek04My4yIDE2MGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6TTMyIDMyMGMwLTM1LjMgMjguNy02NCA2NC02NGg5NmMxMi4yIDAgMjMuNyAzLjQgMzMuNCA5LjRjLTM3LjIgMTUuMS02NS42IDQ3LjItNzUuOCA4Ni42SDY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnptNDYxLjYgMzJjLTEwLjMtNDAuMS0zOS42LTcyLjYtNzcuNy04Ny40YzkuNC01LjUgMjAuNC04LjYgMzIuMS04LjZoOTZjMzUuMyAwIDY0IDI4LjcgNjQgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJINDkzLjZ6TTM5MS4yIDI5MC40YzMyLjEgNy40IDU4LjEgMzAuOSA2OC45IDYxLjZjMy41IDEwIDUuNSAyMC44IDUuNSAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMmgtMjI0Yy0xNy43IDAtMzItMTQuMy0zMi0zMmMwLTExLjIgMS45LTIyIDUuNS0zMmMxMC41LTI5LjcgMzUuMy01Mi44IDY2LjEtNjAuOWM3LjgtMi4xIDE2LTMuMSAyNC41LTMuMWg5NmM3LjQgMCAxNC43IC44IDIxLjYgMi40em00NC0xMzAuNGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6TTMyMS42IDk2YTgwIDgwIDAgMSAxIDAgMTYwIDgwIDgwIDAgMSAxIDAtMTYwelwiXVxufTtcbnZhciBmYUx1bmdzVmlydXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbHVuZ3MtdmlydXMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImUwNjdcIiwgXCJNMzIwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWMTU2LjJjLTguNS03LjYtMTkuNy0xMi4yLTMyLTEyLjJzLTIzLjUgNC42LTMyIDEyLjJWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTQ0NC41IDE5NS41Yy0xNi40LTE2LjQtNDEuOC0xOC41LTYwLjUtNi4xVjE2NS4zQzM4NCAxMjcgNDE1IDk2IDQ1My4zIDk2YzIxLjcgMCA0Mi44IDEwLjIgNTUuOCAyOC44YzE1LjQgMjIuMSA0NC4zIDY1LjQgNzEgMTE2LjljMjYuNSA1MC45IDUyLjQgMTEyLjUgNTkuNiAxNzAuM2MuMiAxLjMgLjIgMi42IC4yIDR2N2MwIDQ5LjEtMzkuOCA4OS04OSA4OWMtNy4zIDAtMTQuNS0uOS0yMS42LTIuN2wtNzIuNy0xOC4yYy0yMC45LTUuMi0zOC43LTE3LjEtNTEuNS0zMi45YzE0IDEuNSAyOC41LTMgMzkuMi0xMy44bC0yMi42LTIyLjYgMjIuNiAyMi42YzE4LjctMTguNyAxOC43LTQ5LjEgMC02Ny45Yy0xLjEtMS4xLTEuNC0yLTEuNS0yLjVjLS4xLS44LS4xLTEuOCAuNC0yLjlzMS4yLTEuOSAxLjgtMi4zYy41LS4zIDEuMy0uOCAyLjktLjhjMjYuNSAwIDQ4LTIxLjUgNDgtNDhzLTIxLjUtNDgtNDgtNDhjLTEuNiAwLTIuNC0uNC0yLjktLjhjLS42LS40LTEuMy0xLjItMS44LTIuM3MtLjUtMi4yLS40LTIuOWMuMS0uNiAuNC0xLjQgMS41LTIuNWMxOC43LTE4LjcgMTguNy00OS4xIDAtNjcuOXpNNDIxLjggNDIxLjhjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwQzM3NS45IDM5OC41IDMzNiA0MTUgMzM2IDQ0OGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmMwLTMzLTM5LjktNDkuNS02My4yLTI2LjJjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZDMjQxLjUgMzc1LjkgMjI1IDMzNiAxOTIgMzM2Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2YzMzIDAgNDkuNS0zOS45IDI2LjItNjMuMmMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwQzI2NC4xIDI0MS41IDMwNCAyMjUgMzA0IDE5MmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2YzAgMzMgMzkuOSA0OS41IDYzLjIgMjYuMmM2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZDMzk4LjUgMjY0LjEgNDE1IDMwNCA0NDggMzA0YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2Yy0zMyAwLTQ5LjUgMzkuOS0yNi4yIDYzLjJjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZ6TTE4My4zIDQ5MS4ybC03Mi43IDE4LjJjLTcuMSAxLjgtMTQuMyAyLjctMjEuNiAyLjdjLTQ5LjEgMC04OS0zOS44LTg5LTg5di03YzAtMS4zIC4xLTIuNyAuMi00YzcuMi01Ny45IDMzLjEtMTE5LjQgNTkuNi0xNzAuM2MyNi44LTUxLjUgNTUuNi05NC44IDcxLTExNi45YzEzLTE4LjYgMzQtMjguOCA1NS44LTI4LjhDMjI1IDk2IDI1NiAxMjcgMjU2IDE2NS4zdjI0LjFjLTE4LjYtMTIuNC00NC0xMC4zLTYwLjUgNi4xYy0xOC43IDE4LjctMTguNyA0OS4xIDAgNjcuOWMxLjEgMS4xIDEuNCAyIDEuNSAyLjVjLjEgLjggLjEgMS44LS40IDIuOXMtMS4yIDEuOS0xLjggMi4zYy0uNSAuMy0xLjMgLjgtMi45IC44Yy0yNi41IDAtNDggMjEuNS00OCA0OHMyMS41IDQ4IDQ4IDQ4YzEuNiAwIDIuNCAuNCAyLjkgLjhjLjYgLjQgMS4zIDEuMiAxLjggMi4zcy41IDIuMiAuNCAyLjljLS4xIC42LS40IDEuNC0xLjUgMi41Yy0xOC43IDE4LjctMTguNyA0OS4xIDAgNjcuOWMxMC43IDEwLjcgMjUuMyAxNS4zIDM5LjIgMTMuOGMtMTIuOCAxNS45LTMwLjYgMjcuNy01MS41IDMyLjl6TTI5NiAzMjBhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em03MiAzMmExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwelwiXVxufTtcbnZhciBmYUZhY2VHcmluVGVhcnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1ncmluLXRlYXJzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NTE0LCBcImdyaW4tdGVhcnNcIl0sIFwiZjU4OFwiLCBcIk01NDguNiAzNzEuNEM1MDYuNCA0NTQuOCA0MTkuOSA1MTIgMzIwIDUxMnMtMTg2LjQtNTcuMi0yMjguNi0xNDAuNmM0LjUtMi45IDguNy02LjMgMTIuNy0xMC4zYzguMS04LjEgMTMuMi0xOC42IDE2LjUtMjYuNmMzLjYtOC44IDYuNS0xOC40IDguOC0yNy41YzQuNi0xOC4yIDcuNy0zNyA5LjMtNDguMmMzLjktMjYuNS0xOC44LTQ5LjItNDUuMi00NS40Yy02LjggLjktMTYuMiAyLjQtMjYuNiA0LjRDODUuMyA5NC41IDE5MS42IDAgMzIwIDBTNTU0LjcgOTQuNSA1NzMuMiAyMTcuN2MtMTAuMy0yLTE5LjgtMy41LTI2LjYtNC40Yy0yNi41LTMuOS00OS4yIDE4LjgtNDUuMiA0NS40YzEuNiAxMS4zIDQuNiAzMCA5LjMgNDguMmMyLjMgOS4xIDUuMiAxOC44IDguOCAyNy41YzMuMyA4LjEgOC40IDE4LjUgMTYuNSAyNi42YzMuOSAzLjkgOC4yIDcuNCAxMi43IDEwLjN6TTEwNyAyNTQuMWMtMy4xIDIxLjUtMTEuNCA3MC4yLTI1LjUgODQuNGMtLjkgMS0xLjkgMS44LTIuOSAyLjdDNjAgMzU2LjcgMzIgMzU1LjUgMTQuMyAzMzcuN2MtMTguNy0xOC43LTE5LjEtNDguOC0uNy02Ny4yYzguNi04LjYgMzAuMS0xNS4xIDUwLjUtMTkuNmMxMy0yLjggMjUuNS00LjggMzMuOS02YzUuNC0uOCA5LjkgMy43IDkgOXptNDU0LjUgODcuMWMtLjgtLjYtMS41LTEuMy0yLjMtMmMtLjItLjItLjUtLjQtLjctLjdjLTE0LjEtMTQuMS0yMi41LTYyLjktMjUuNS04NC40Yy0uOC01LjQgMy43LTkuOSA5LTljMSAuMSAyLjIgLjMgMy4zIC41YzguMiAxLjIgMTkuMiAzIDMwLjYgNS41YzIwLjQgNC40IDQxLjkgMTAuOSA1MC41IDE5LjZjMTguNCAxOC40IDE4IDQ4LjUtLjcgNjcuMmMtMTcuNyAxNy43LTQ1LjcgMTktNjQuMiAzLjR6bS05MC4xLTkuN2M1LTExLjgtNy0yMi41LTE5LjMtMTguN2MtMzkuNyAxMi4yLTg0LjUgMTktMTMxLjggMTlzLTkyLjEtNi44LTEzMS44LTE5Yy0xMi4zLTMuOC0yNC4zIDYuOS0xOS4zIDE4LjdjMjUgNTkuMSA4My4yIDEwMC41IDE1MS4xIDEwMC41czEyNi4yLTQxLjQgMTUxLjEtMTAwLjV6TTI4MS42IDIyOC44bDAgMCAwIDAgMCAwYzIuMSAyLjggNS43IDMuOSA4LjkgMi44czUuNS00LjEgNS41LTcuNmMwLTE3LjktNi43LTM1LjYtMTYuNi00OC44Yy05LjgtMTMtMjMuOS0yMy4yLTM5LjQtMjMuMnMtMjkuNiAxMC4yLTM5LjQgMjMuMkMxOTAuNyAxODguNCAxODQgMjA2LjEgMTg0IDIyNGMwIDMuNCAyLjIgNi41IDUuNSA3LjZzNi45IDAgOC45LTIuOGwwIDAgMCAwIDAgMCAuMi0uMmMuMi0uMiAuNC0uNSAuNy0uOWMuNi0uOCAxLjYtMiAyLjgtMy40YzIuNS0yLjggNi02LjYgMTAuMi0xMC4zYzguOC03LjggMTguOC0xNCAyNy43LTE0czE4LjkgNi4yIDI3LjcgMTRjNC4yIDMuNyA3LjcgNy41IDEwLjIgMTAuM2MxLjIgMS40IDIuMiAyLjYgMi44IDMuNGMuMyAuNCAuNiAuNyAuNyAuOWwuMiAuMiAwIDB6bTE2MCAwbDAgMCAwIDBjMi4xIDIuOCA1LjcgMy45IDguOSAyLjhzNS41LTQuMSA1LjUtNy42YzAtMTcuOS02LjctMzUuNi0xNi42LTQ4LjhjLTkuOC0xMy0yMy45LTIzLjItMzkuNC0yMy4ycy0yOS42IDEwLjItMzkuNCAyMy4yQzM1MC43IDE4OC40IDM0NCAyMDYuMSAzNDQgMjI0YzAgMy40IDIuMiA2LjUgNS41IDcuNnM2LjkgMCA4LjktMi44bDAgMCAwIDAgMCAwIC4yLS4yYy4yLS4yIC40LS41IC43LS45Yy42LS44IDEuNi0yIDIuOC0zLjRjMi41LTIuOCA2LTYuNiAxMC4yLTEwLjNjOC44LTcuOCAxOC44LTE0IDI3LjctMTRzMTguOSA2LjIgMjcuNyAxNGM0LjIgMy43IDcuNyA3LjUgMTAuMiAxMC4zYzEuMiAxLjQgMi4yIDIuNiAyLjggMy40Yy4zIC40IC42IC43IC43IC45bC4yIC4yIDAgMCAwIDB6XCJdXG59O1xudmFyIGZhR3JpblRlYXJzID0gZmFGYWNlR3JpblRlYXJzO1xudmFyIGZhUGhvbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGhvbmUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyMjIsIDEyODM3OV0sIFwiZjA5NVwiLCBcIk0xNjQuOSAyNC42Yy03LjctMTguNi0yOC0yOC41LTQ3LjQtMjMuMmwtODggMjRDMTIuMSAzMC4yIDAgNDYgMCA2NEMwIDMxMS40IDIwMC42IDUxMiA0NDggNTEyYzE4IDAgMzMuOC0xMi4xIDM4LjYtMjkuNWwyNC04OGM1LjMtMTkuNC00LjYtMzkuNy0yMy4yLTQ3LjRsLTk2LTQwYy0xNi4zLTYuOC0zNS4yLTIuMS00Ni4zIDExLjZMMzA0LjcgMzY4QzIzNC4zIDMzNC43IDE3Ny4zIDI3Ny43IDE0NCAyMDcuM0wxOTMuMyAxNjdjMTMuNy0xMS4yIDE4LjQtMzAgMTEuNi00Ni4zbC00MC05NnpcIl1cbn07XG52YXIgZmFDYWxlbmRhclhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhbGVuZGFyLXhtYXJrJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJjYWxlbmRhci10aW1lc1wiXSwgXCJmMjczXCIsIFwiTTEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjY0SDI4OFYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyVjY0aDQ4YzI2LjUgMCA0OCAyMS41IDQ4IDQ4djQ4SDBWMTEyQzAgODUuNSAyMS41IDY0IDQ4IDY0SDk2VjMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek0wIDE5Mkg0NDhWNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFYxOTJ6TTMwNSAzMDVjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtNDcgNDctNDctNDdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNDcgNDctNDcgNDdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw0Ny00NyA0NyA0N2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTQ3LTQ3IDQ3LTQ3elwiXVxufTtcbnZhciBmYUNhbGVuZGFyVGltZXMgPSBmYUNhbGVuZGFyWG1hcms7XG52YXIgZmFDaGlsZFJlYWNoaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoaWxkLXJlYWNoaW5nJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlNTlkXCIsIFwiTTI1NiA2NEE2NCA2NCAwIDEgMCAxMjggNjRhNjQgNjQgMCAxIDAgMTI4IDB6TTE1Mi45IDE2OS4zYy0yMy43LTguNC00NC41LTI0LjMtNTguOC00NS44TDc0LjYgOTQuMkM2NC44IDc5LjUgNDUgNzUuNiAzMC4yIDg1LjRzLTE4LjcgMjkuNy04LjkgNDQuNEw0MC45IDE1OWMxOC4xIDI3LjEgNDIuOCA0OC40IDcxLjEgNjIuNFY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzODRoMzJ2OTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyMjEuNmMyOS4xLTE0LjIgNTQuNC0zNi4yIDcyLjctNjQuMmwxOC4yLTI3LjljOS42LTE0LjggNS40LTM0LjYtOS40LTQ0LjNzLTM0LjYtNS41LTQ0LjMgOS40TDI5MSAxMjIuNGMtMjEuOCAzMy40LTU4LjkgNTMuNi05OC44IDUzLjZjLTEyLjYgMC0yNC45LTItMzYuNi01LjhjLS45LS4zLTEuOC0uNy0yLjctLjl6XCJdXG59O1xudmFyIGZhSGVhZFNpZGVWaXJ1cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFkLXNpZGUtdmlydXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImUwNjRcIiwgXCJNMCAyMjQuMkMwIDEwMC42IDEwMC4yIDAgMjI0IDBoMjRjOTUuMiAwIDE4MS4yIDY5LjMgMTk3LjMgMTYwLjJjMi4zIDEzIDYuOCAyNS43IDE1LjEgMzZsNDIgNTIuNmM2LjIgNy44IDkuNiAxNy40IDkuNiAyNy40YzAgMjQuMi0xOS42IDQzLjgtNDMuOCA0My44SDQ0OHY2NGMwIDM1LjMtMjguNyA2NC02NCA2NEgzMjB2MzJjMCAxNy43LTE0LjMgMzItMzIgMzJIOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjQwNy4zYzAtMTYuNy02LjktMzIuNS0xNy4xLTQ1LjhDMTYuNiAzMjIuNCAwIDI3NC4xIDAgMjI0LjJ6TTIyNCA2NGMtOC44IDAtMTYgNy4yLTE2IDE2YzAgMzMtMzkuOSA0OS41LTYzLjIgMjYuMmMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNkMxNDUuNSAxNTIuMSAxMjkgMTkyIDk2IDE5MmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmMzMyAwIDQ5LjUgMzkuOSAyNi4yIDYzLjJjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMEMxNjguMSAyODYuNSAyMDggMzAzIDIwOCAzMzZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmMwLTMzIDM5LjktNDkuNSA2My4yLTI2LjJjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42QzMwMi41IDI2My45IDMxOSAyMjQgMzUyIDIyNGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmMtMzMgMC00OS41LTM5LjktMjYuMi02My4yYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBDMjc5LjkgMTI5LjUgMjQwIDExMyAyNDAgODBjMC04LjgtNy4yLTE2LTE2LTE2em0tMjQgOTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em00MCA4MGExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwelwiXVxufTtcbnZhciBmYVVzZXJHZWFyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItZ2VhcicsXG4gIGljb246IFs2NDAsIDUxMiwgW1widXNlci1jb2dcIl0sIFwiZjRmZVwiLCBcIk0yMjQgMGExMjggMTI4IDAgMSAxIDAgMjU2QTEyOCAxMjggMCAxIDEgMjI0IDB6TTE3OC4zIDMwNGg5MS40YzExLjggMCAyMy40IDEuMiAzNC41IDMuM2MtMi4xIDE4LjUgNy40IDM1LjYgMjEuOCA0NC44Yy0xNi42IDEwLjYtMjYuNyAzMS42LTIwIDUzLjNjNCAxMi45IDkuNCAyNS41IDE2LjQgMzcuNnMxNS4yIDIzLjEgMjQuNCAzM2MxNS43IDE2LjkgMzkuNiAxOC40IDU3LjIgOC43di45YzAgOS4yIDIuNyAxOC41IDcuOSAyNi4zSDI5LjdDMTMuMyA1MTIgMCA0OTguNyAwIDQ4Mi4zQzAgMzgzLjggNzkuOCAzMDQgMTc4LjMgMzA0ek00MzYgMjE4LjJjMC03IDQuNS0xMy4zIDExLjMtMTQuOGMxMC41LTIuNCAyMS41LTMuNyAzMi43LTMuN3MyMi4yIDEuMyAzMi43IDMuN2M2LjggMS41IDExLjMgNy44IDExLjMgMTQuOHYxNy43YzAgNy44IDQuOCAxNC44IDExLjYgMTguN2M2LjggMy45IDE1LjEgNC41IDIxLjggLjZsMTMuOC03LjljNi4xLTMuNSAxMy43LTIuNyAxOC41IDIuNGM3LjYgOC4xIDE0LjMgMTcuMiAyMC4xIDI3LjJzMTAuMyAyMC40IDEzLjUgMzFjMi4xIDYuNy0xLjEgMTMuNy03LjIgMTcuMmwtMTQuNCA4LjNjLTYuNSAzLjctMTAgMTAuOS0xMCAxOC40czMuNSAxNC43IDEwIDE4LjRsMTQuNCA4LjNjNi4xIDMuNSA5LjIgMTAuNSA3LjIgMTcuMmMtMy4zIDEwLjYtNy44IDIxLTEzLjUgMzFzLTEyLjUgMTkuMS0yMC4xIDI3LjJjLTQuOCA1LjEtMTIuNSA1LjktMTguNSAyLjRsLTEzLjgtNy45Yy02LjctMy45LTE1LjEtMy4zLTIxLjggLjZjLTYuOCAzLjktMTEuNiAxMC45LTExLjYgMTguN3YxNy43YzAgNy00LjUgMTMuMy0xMS4zIDE0LjhjLTEwLjUgMi40LTIxLjUgMy43LTMyLjcgMy43cy0yMi4yLTEuMy0zMi43LTMuN2MtNi44LTEuNS0xMS4zLTcuOC0xMS4zLTE0LjhWNDY3LjhjMC03LjktNC45LTE0LjktMTEuNy0xOC45Yy02LjgtMy45LTE1LjItNC41LTIyLS42bC0xMy41IDcuOGMtNi4xIDMuNS0xMy43IDIuNy0xOC41LTIuNGMtNy42LTguMS0xNC4zLTE3LjItMjAuMS0yNy4ycy0xMC4zLTIwLjQtMTMuNS0zMWMtMi4xLTYuNyAxLjEtMTMuNyA3LjItMTcuMmwxNC04LjFjNi41LTMuOCAxMC4xLTExLjEgMTAuMS0xOC42cy0zLjUtMTQuOC0xMC4xLTE4LjZsLTE0LTguMWMtNi4xLTMuNS05LjItMTAuNS03LjItMTcuMmMzLjMtMTAuNiA3LjctMjEgMTMuNS0zMXMxMi41LTE5LjEgMjAuMS0yNy4yYzQuOC01LjEgMTIuNC01LjkgMTguNS0yLjRsMTMuNiA3LjhjNi44IDMuOSAxNS4yIDMuMyAyMi0uNmM2LjktMy45IDExLjctMTEgMTEuNy0xOC45VjIxOC4yem05Mi4xIDEzMy41YTQ4LjEgNDguMSAwIDEgMCAtOTYuMSAwIDQ4LjEgNDguMSAwIDEgMCA5Ni4xIDB6XCJdXG59O1xudmFyIGZhVXNlckNvZyA9IGZhVXNlckdlYXI7XG52YXIgZmFBcnJvd1VwMTkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdXAtMS05JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzb3J0LW51bWVyaWMtdXBcIl0sIFwiZjE2M1wiLCBcIk00NTAuNyAzOGM4LjMgNiAxMy4zIDE1LjcgMTMuMyAyNnY5NmgxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg0MzIgMzg0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyaDE2VjEwOC40bC01LjkgMmMtMTYuOCA1LjYtMzQuOS0zLjUtNDAuNS0yMC4yczMuNS0zNC45IDIwLjItNDAuNWw0OC0xNmM5LjgtMy4zIDIwLjUtMS42IDI4LjggNC40ek0xNjAgMzJjOSAwIDE3LjUgMy44IDIzLjYgMTAuNGw4OCA5NmMxMS45IDEzIDExLjEgMzMuMy0yIDQ1LjJzLTMzLjMgMTEuMS00NS4yLTJMMTkyIDE0Ni4zVjQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYxNDYuM0w5NS42IDE4MS42Yy0xMS45IDEzLTMyLjIgMTMuOS00NS4yIDJzLTEzLjktMzIuMi0yLTQ1LjJsODgtOTZDMTQyLjUgMzUuOCAxNTEgMzIgMTYwIDMyek00NDUuNyAzNjQuOUEzMiAzMiAwIDEgMCA0MTguMyAzMDdhMzIgMzIgMCAxIDAgMjcuNCA1Ny45em0tNDAuNyA1NC45QzM2OS42IDQwOC40IDM0NCAzNzUuMiAzNDQgMzM2YzAtNDguNiAzOS40LTg4IDg4LTg4czg4IDM5LjQgODggODhjMCAyMy41LTcuNSA0Ni4zLTIxLjUgNjUuMkw0NDkuNyA0NjdjLTEwLjUgMTQuMi0zMC42IDE3LjItNDQuOCA2LjdzLTE3LjItMzAuNi02LjctNDQuOGw2LjgtOS4yelwiXVxufTtcbnZhciBmYVNvcnROdW1lcmljVXAgPSBmYUFycm93VXAxOTtcbnZhciBmYURvb3JDbG9zZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZG9vci1jbG9zZWQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjg2ODJdLCBcImY1MmFcIiwgXCJNOTYgNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRINDE2YzM1LjMgMCA2NCAyOC43IDY0IDY0VjQ0OGg2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg0MzIgMTQ0IDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDk2VjY0ek0zODQgMjg4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG52YXIgZmFTaGllbGRWaXJ1cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaGllbGQtdmlydXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImUwNmNcIiwgXCJNMjY5LjQgMi45QzI2NS4yIDEgMjYwLjcgMCAyNTYgMHMtOS4yIDEtMTMuNCAyLjlMNTQuMyA4Mi44Yy0yMiA5LjMtMzguNCAzMS0zOC4zIDU3LjJjLjUgOTkuMiA0MS4zIDI4MC43IDIxMy42IDM2My4yYzE2LjcgOCAzNi4xIDggNTIuOCAwQzQ1NC43IDQyMC43IDQ5NS41IDIzOS4yIDQ5NiAxNDBjLjEtMjYuMi0xNi4zLTQ3LjktMzguMy01Ny4yTDI2OS40IDIuOXpNMjU2IDExMmM4LjggMCAxNiA3LjIgMTYgMTZjMCAzMyAzOS45IDQ5LjUgNjMuMiAyNi4yYzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNkMzMzQuNSAyMDAuMSAzNTEgMjQwIDM4NCAyNDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZjLTMzIDAtNDkuNSAzOS45LTI2LjIgNjMuMmM2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwQzMxMS45IDMzNC41IDI3MiAzNTEgMjcyIDM4NGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmMwLTMzLTM5LjktNDkuNS02My4yLTI2LjJjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZDMTc3LjUgMzExLjkgMTYxIDI3MiAxMjggMjcyYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2YzMzIDAgNDkuNS0zOS45IDI2LjItNjMuMmMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwQzIwMC4xIDE3Ny41IDI0MCAxNjEgMjQwIDEyOGMwLTguOCA3LjItMTYgMTYtMTZ6TTIzMiAyNTZhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em03MiAzMmExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwelwiXVxufTtcbnZhciBmYURpY2VTaXggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGljZS1zaXgnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5ODYxXSwgXCJmNTI2XCIsIFwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJIMzg0YzM1LjMgMCA2NCAyOC43IDY0IDY0VjQxNmMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWOTZ6bTE2MCA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0xMjggMjg4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMzIgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzIwIDE5MmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTMyIDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTMyMCAzODRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbnZhciBmYU1vc3F1aXRvTmV0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vc3F1aXRvLW5ldCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUyY1wiLCBcIk0xNjguOCA0NjIuM2MtNy45LTQtMTEuMS0xMy42LTcuMi0yMS41TDE5MiAzODAuMmwwLTQ0LjJjMC00LjIgMS43LTguMyA0LjctMTEuM0wyNTYgMjY1LjRWMjQyLjJMMTM5LjIgMzQ0Qzg3LjggMzk1LjMgMCAzNTguOSAwIDI4Ni4zYzAtNDEuMSAzMC42LTc1LjggNzEuNC04MC45bDE1OS45LTIzLjktNDkuNi00MS4zYy01LjEtNC4yLTctMTEuMS00LjktMTcuNGwxMy45LTQxLjctMjktNTguMWMtNC03LjktLjctMTcuNSA3LjItMjEuNXMxNy41LS43IDIxLjUgNy4ybDMyIDY0YzEuOSAzLjggMi4yIDguMiAuOSAxMi4ybC0xMi41IDM3LjZMMjU2IDE2MC41VjEzNy45YzAtMTQuOSAxMC4xLTI3LjMgMjMuOC0zMVY2My43YzAtNC41IDMuNy04LjIgOC4yLTguMnM4LjIgMy43IDguMiA4LjJWMTA3YzEzLjcgMy42IDIzLjggMTYuMSAyMy44IDMxdjIyLjZsNDUuNC0zNy44TDM1Mi44IDg1LjFjLTEuMy00LTEtOC40IC45LTEyLjJsMzItNjRjNC03LjkgMTMuNi0xMS4xIDIxLjUtNy4yczExLjEgMTMuNiA3LjIgMjEuNWwtMjkgNTguMSAxMy45IDQxLjdjMi4xIDYuMiAuMSAxMy4xLTQuOSAxNy40bC00OS42IDQxLjMgMTU5LjkgMjMuOWMyMi41IDIuOCA0MS44IDE0LjYgNTQuNyAzMS40Yy0yLjcgMi42LTUuMiA1LjQtNy4zIDguNmMtOC42LTEyLjktMjMuMy0yMS41LTQwLTIxLjVzLTMxLjQgOC41LTQwIDIxLjVjLTguNi0xMi45LTIzLjMtMjEuNS00MC0yMS41Yy0yMS43IDAtNDAgMTQuMy00NS45IDM0LjFjLTEwLjcgMy4yLTE5LjggMTAuMS0yNS45IDE5LjJsLTQwLjItMzV2MjMuMWwzMi40IDMyLjRjLS4zIDItLjQgNC4xLS40IDYuMmMwIDE2LjcgOC41IDMxLjQgMjEuNSA0MGMtNCAyLjYtNy41IDUuOS0xMC42IDkuNUwzMjAgMzEwLjZ2NTBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJ2LTUwbC0zMiAzMiAwIDQxLjRjMCAyLjUtLjYgNC45LTEuNyA3LjJsLTMyIDY0Yy00IDcuOS0xMy42IDExLjEtMjEuNSA3LjJ6TTUxMiAyNTZjOC44IDAgMTYgNy4yIDE2IDE2djE2aDQ4VjI3MmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2djE2aDE2YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDYwOHY0OGgxNmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkg2MDh2NDhoMTZjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZINjA4djE2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjQ4MEg1Mjh2MTZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWNDgwSDQ0OHYxNmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlY0ODBINDAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2aDE2VjQwMEg0MDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZoMTZWMzIwSDQwMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmgxNlYyNzJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnYxNmg0OFYyNzJjMC04LjggNy4yLTE2IDE2LTE2em0xNiAxMTJoNDhWMzIwSDUyOHY0OHptMCA4MGg0OFY0MDBINTI4djQ4ek00NDggMzIwdjQ4aDQ4VjMyMEg0NDh6bTAgODB2NDhoNDhWNDAwSDQ0OHpcIl1cbn07XG52YXIgZmFCcmlkZ2VXYXRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdicmlkZ2Utd2F0ZXInLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0Y2VcIiwgXCJNMCA5NkMwIDc4LjMgMTQuMyA2NCAzMiA2NEg1NDRjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2MzUuNmMwIDE1LjctMTIuNyAyOC40LTI4LjQgMjguNGMtMzcuMyAwLTY3LjYgMzAuMi02Ny42IDY3LjZWMzUyLjVjLTEyLjkgMC0yNS44IDMuOS0zNi44IDExLjdjLTE4IDEyLjQtNDAuMSAyMC4zLTU5LjIgMjAuM2gwbDAtLjVWMjU2YzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2VjM4NGwwIC41Yy0xOSAwLTQxLjItNy45LTU5LjEtMjAuM2MtMTEuMS03LjgtMjQtMTEuNy0zNi45LTExLjdWMjI3LjZDOTYgMTkwLjIgNjUuOCAxNjAgMjguNCAxNjBDMTIuNyAxNjAgMCAxNDcuMyAwIDEzMS42Vjk2ek0zMDYuNSAzODkuOUMzMjkgNDA1LjQgMzU2LjUgNDE2IDM4NCA0MTZjMjYuOSAwIDU1LjQtMTAuOCA3Ny40LTI2LjFsMCAwYzExLjktOC41IDI4LjEtNy44IDM5LjIgMS43YzE0LjQgMTEuOSAzMi41IDIxIDUwLjYgMjUuMmMxNy4yIDQgMjcuOSAyMS4yIDIzLjkgMzguNHMtMjEuMiAyNy45LTM4LjQgMjMuOWMtMjQuNS01LjctNDQuOS0xNi41LTU4LjItMjVDNDQ5LjUgNDY5LjcgNDE3IDQ4MCAzODQgNDgwYy0zMS45IDAtNjAuNi05LjktODAuNC0xOC45Yy01LjgtMi43LTExLjEtNS4zLTE1LjYtNy43Yy00LjUgMi40LTkuNyA1LjEtMTUuNiA3LjdjLTE5LjggOS00OC41IDE4LjktODAuNCAxOC45Yy0zMyAwLTY1LjUtMTAuMy05NC41LTI1LjhjLTEzLjQgOC40LTMzLjcgMTkuMy01OC4yIDI1Yy0xNy4yIDQtMzQuNC02LjctMzguNC0yMy45czYuNy0zNC40IDIzLjktMzguNGMxOC4xLTQuMiAzNi4yLTEzLjMgNTAuNi0yNS4yYzExLjEtOS40IDI3LjMtMTAuMSAzOS4yLTEuN2wwIDBDMTM2LjcgNDA1LjIgMTY1LjEgNDE2IDE5MiA0MTZjMjcuNSAwIDU1LTEwLjYgNzcuNS0yNi4xYzExLjEtNy45IDI1LjktNy45IDM3IDB6XCJdXG59O1xudmFyIGZhUGVyc29uQm9vdGggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWJvb3RoJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNzU2XCIsIFwiTTI1NiAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlYxOTJoNjRWMzJ6bTMyMCAwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjMyek0yMjQgNTEyYzE3LjcgMCAzMi0xNC4zIDMyLTMyVjMyMEgxOTJWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyek0zMjAgMGMtOS4zIDAtMTguMSA0LTI0LjIgMTFzLTguOCAxNi4zLTcuNSAyNS41bDMxLjIgMjE4LjZMMjg4LjYgNDA5LjdjLTMuNSAxNy4zIDcuOCAzNC4yIDI1LjEgMzcuN3MzNC4yLTcuOCAzNy43LTI1LjFsLjctMy42YzEuMyAxNi40IDE1LjEgMjkuNCAzMS45IDI5LjRjMTcuNyAwIDMyLTE0LjMgMzItMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMkgzMjB6TTExMiA4MEE0OCA0OCAwIDEgMCAxNiA4MGE0OCA0OCAwIDEgMCA5NiAwem0wIDI2MS4zVjI2OS4zbDQuNyA0LjdjOSA5IDIxLjIgMTQuMSAzMy45IDE0LjFIMjI0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDE1Ny4zbC00MS42LTQxLjZjLTE0LjMtMTQuMy0zMy44LTIyLjQtNTQtMjIuNEMyNy42IDE2MCAwIDE4Ny42IDAgMjIxLjZ2NTUuN2wwIC45VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjM4NGwzMiA0Mi43VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjQyMS4zYzAtMTAuNC0zLjQtMjAuNS05LjYtMjguOEwxMTIgMzQxLjN6XCJdXG59O1xudmFyIGZhVGV4dFdpZHRoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RleHQtd2lkdGgnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYwMzVcIiwgXCJNNjQgMTI4Vjk2SDE5MmwwIDEyOEgxNzZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMjU2bDAtMTI4SDM4NHYzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDIyNCA0OEMyMS41IDMyIDAgNTMuNSAwIDgwdjQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJ6TTkuNCAzNjEuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjOS4yIDkuMiAyMi45IDExLjkgMzQuOSA2LjlzMTkuOC0xNi42IDE5LjgtMjkuNlY0MTZIMzIwdjMyYzAgMTIuOSA3LjggMjQuNiAxOS44IDI5LjZzMjUuNyAyLjIgMzQuOS02LjlsNjQtNjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0Yy05LjItOS4yLTIyLjktMTEuOS0zNC45LTYuOXMtMTkuOCAxNi42LTE5LjggMjkuNnYzMkgxMjhWMzIwYzAtMTIuOS03LjgtMjQuNi0xOS44LTI5LjZzLTI1LjctMi4yLTM0LjkgNi45bC02NCA2NHpcIl1cbn07XG52YXIgZmFIYXRXaXphcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGF0LXdpemFyZCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjZlOFwiLCBcIk02NCA0MTZMMTY4LjYgMTgwLjdjMTUuMy0zNC40IDQwLjMtNjMuNSA3Mi04My43bDE0Ni45LTk0YzMtMS45IDYuNS0yLjkgMTAtMi45QzQwNy43IDAgNDE2IDguMyA0MTYgMTguNnYxLjZjMCAyLjYtLjUgNS4xLTEuNCA3LjVMMzU0LjggMTc2LjljLTEuOSA0LjctMi44IDkuNy0yLjggMTQuN2MwIDUuNSAxLjIgMTEgMy40IDE2LjFMNDQ4IDQxNkgyNDAuOWwxMS44LTM1LjQgNDAuNC0xMy41YzYuNS0yLjIgMTAuOS04LjMgMTAuOS0xNS4ycy00LjQtMTMtMTAuOS0xNS4ybC00MC40LTEzLjUtMTMuNS00MC40QzIzNyAyNzYuNCAyMzAuOSAyNzIgMjI0IDI3MnMtMTMgNC40LTE1LjIgMTAuOWwtMTMuNSA0MC40LTQwLjQgMTMuNUMxNDguNCAzMzkgMTQ0IDM0NS4xIDE0NCAzNTJzNC40IDEzIDEwLjkgMTUuMmw0MC40IDEzLjVMMjA3LjEgNDE2SDY0ek0yNzkuNiAxNDEuNWMtMS4xLTMuMy00LjEtNS41LTcuNi01LjVzLTYuNSAyLjItNy42IDUuNWwtNi43IDIwLjItMjAuMiA2LjdjLTMuMyAxLjEtNS41IDQuMS01LjUgNy42czIuMiA2LjUgNS41IDcuNmwyMC4yIDYuNyA2LjcgMjAuMmMxLjEgMy4zIDQuMSA1LjUgNy42IDUuNXM2LjUtMi4yIDcuNi01LjVsNi43LTIwLjIgMjAuMi02LjdjMy4zLTEuMSA1LjUtNC4xIDUuNS03LjZzLTIuMi02LjUtNS41LTcuNmwtMjAuMi02LjctNi43LTIwLjJ6TTMyIDQ0OEg0ODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6XCJdXG59O1xudmFyIGZhUGVuRmFuY3kgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVuLWZhbmN5JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4Mzk1LCAxMDAwMl0sIFwiZjVhY1wiLCBcIk0zNzMuNSAyNy4xQzM4OC41IDkuOSA0MTAuMiAwIDQzMyAwYzQzLjYgMCA3OSAzNS40IDc5IDc5YzAgMjIuOC05LjkgNDQuNi0yNy4xIDU5LjZMMjc3LjcgMzE5bC0xMC4zLTEwLjMtNjQtNjRMMTkzIDIzNC4zIDM3My41IDI3LjF6TTE3MC4zIDI1Ni45bDEwLjQgMTAuNCA2NCA2NCAxMC40IDEwLjQtMTkuMiA4My40Yy0zLjkgMTcuMS0xNi45IDMwLjctMzMuOCAzNS40TDI0LjQgNTEwLjNsOTUuNC05NS40YzIuNiAuNyA1LjQgMS4xIDguMyAxLjFjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJjMCAyLjkgLjQgNS42IDEuMSA4LjNMMS43IDQ4Ny42IDUxLjUgMzEwYzQuNy0xNi45IDE4LjMtMjkuOSAzNS40LTMzLjhsODMuNC0xOS4yelwiXVxufTtcbnZhciBmYVBlcnNvbkRpZ2dpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWRpZ2dpbmcnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImRpZ2dpbmdcIl0sIFwiZjg1ZVwiLCBcIk0yMDggNjRhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNOS44IDIxNC44YzUuMS0xMi4yIDE5LjEtMTggMzEuNC0xMi45TDYwLjcgMjEwbDIyLjktMzguMUM5OS45IDE0NC42IDEyOS4zIDEyOCAxNjEgMTI4YzUxLjQgMCA5NyAzMi45IDExMy4zIDgxLjdsMzQuNiAxMDMuNyA3OS4zIDMzLjEgMzQuMi00NS42YzYuNC04LjUgMTYuNi0xMy4zIDI3LjItMTIuOHMyMC4zIDYuNCAyNS44IDE1LjVsOTYgMTYwYzUuOSA5LjkgNi4xIDIyLjIgLjQgMzIuMnMtMTYuMyAxNi4yLTI3LjggMTYuMkgyODhjLTExLjEgMC0yMS40LTUuNy0yNy4yLTE1LjJzLTYuNC0yMS4yLTEuNC0zMS4xbDE2LTMyYzUuNC0xMC44IDE2LjUtMTcuNyAyOC42LTE3LjdoMzJsMjIuNS0zMEwyMi44IDI0Ni4yYy0xMi4yLTUuMS0xOC0xOS4xLTEyLjktMzEuNHptODIuOCA5MS44bDExMiA0OGMxMS44IDUgMTkuNCAxNi42IDE5LjQgMjkuNHY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY0MDUuMWwtNjAuNi0yNi0zNyAxMTFjLTUuNiAxNi44LTIzLjcgMjUuOC00MC41IDIwLjJTLTMuOSA0ODYuNiAxLjYgNDY5LjlsNDgtMTQ0IDExLTMzIDMyIDEzLjd6XCJdXG59O1xudmFyIGZhRGlnZ2luZyA9IGZhUGVyc29uRGlnZ2luZztcbnZhciBmYVRyYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyYXNoJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMWY4XCIsIFwiTTEzNS4yIDE3LjdMMTI4IDMySDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5Nkg0MTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzIwbC03LjItMTQuM0MzMDcuNCA2LjggMjk2LjMgMCAyODQuMiAwSDE2My44Yy0xMi4xIDAtMjMuMiA2LjgtMjguNiAxNy43ek00MTYgMTI4SDMyTDUzLjIgNDY3YzEuNiAyNS4zIDIyLjYgNDUgNDcuOSA0NUgzNDYuOWMyNS4zIDAgNDYuMy0xOS43IDQ3LjktNDVMNDE2IDEyOHpcIl1cbn07XG52YXIgZmFHYXVnZVNpbXBsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnYXVnZS1zaW1wbGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImdhdWdlLXNpbXBsZS1tZWRcIiwgXCJ0YWNob21ldGVyLWF2ZXJhZ2VcIl0sIFwiZjYyOVwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6bTMyMCA5NmMwLTI2LjktMTYuNS00OS45LTQwLTU5LjNWODhjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRWMjkyLjdjLTIzLjUgOS41LTQwIDMyLjUtNDAgNTkuM2MwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0elwiXVxufTtcbnZhciBmYUdhdWdlU2ltcGxlTWVkID0gZmFHYXVnZVNpbXBsZTtcbnZhciBmYVRhY2hvbWV0ZXJBdmVyYWdlID0gZmFHYXVnZVNpbXBsZTtcbnZhciBmYUJvb2tNZWRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jvb2stbWVkaWNhbCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjdlNlwiLCBcIk0wIDk2QzAgNDMgNDMgMCA5NiAwSDM4NGgzMmMxNy43IDAgMzIgMTQuMyAzMiAzMlYzNTJjMCAxNy43LTE0LjMgMzItMzIgMzJ2NjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzg0IDk2Yy01MyAwLTk2LTQzLTk2LTk2Vjk2ek02NCA0MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJIMzUyVjM4NEg5NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTIwOCAxMTJ2NDhIMTYwYy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDQ4djQ4YzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMjI0aDQ4YzguOCAwIDE2LTcuMiAxNi0xNlYxNzZjMC04LjgtNy4yLTE2LTE2LTE2SDI3MlYxMTJjMC04LjgtNy4yLTE2LTE2LTE2SDIyNGMtOC44IDAtMTYgNy4yLTE2IDE2elwiXVxufTtcbnZhciBmYVBvbyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwb28nLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgxNjldLCBcImYyZmVcIiwgXCJNMjY4LjkgLjljLTUuNS0uNy0xMSAxLjQtMTQuNSA1LjdzLTQuNiAxMC4xLTIuOCAxNS40YzIuOCA4LjIgNC4zIDE2LjkgNC4zIDI2LjFjMCA0NC4xLTM1LjcgNzkuOS03OS44IDgwSDE2MGMtMzUuMyAwLTY0IDI4LjctNjQgNjRjMCAxOS4xIDguNCAzNi4zIDIxLjcgNDhIMTA0Yy0zOS44IDAtNzIgMzIuMi03MiA3MmMwIDIzLjIgMTEgNDMuOCAyOCA1N2MtMzQuMSA1LjctNjAgMzUuMy02MCA3MWMwIDM5LjggMzIuMiA3MiA3MiA3Mkg0NDBjMzkuOCAwIDcyLTMyLjIgNzItNzJjMC0zNS43LTI1LjktNjUuMy02MC03MWMxNy0xMy4yIDI4LTMzLjggMjgtNTdjMC0zOS44LTMyLjItNzItNzItNzJIMzk0LjNjMTMuMy0xMS43IDIxLjctMjguOSAyMS43LTQ4YzAtMzUuMy0yOC43LTY0LTY0LTY0aC01LjVjMy41LTEwIDUuNS0yMC44IDUuNS0zMmMwLTQ4LjYtMzYuMi04OC44LTgzLjEtOTUuMXpNMTkyIDI1NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTk2IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTY0IDEwOC4zYzAgMi40LS43IDQuOC0yLjIgNi43Yy04LjIgMTAuNS0zOS41IDQ1LTkzLjggNDVzLTg1LjYtMzQuNi05My44LTQ1Yy0xLjUtMS45LTIuMi00LjMtMi4yLTYuN2MwLTYuOCA1LjUtMTIuMyAxMi4zLTEyLjNIMzM5LjdjNi44IDAgMTIuMyA1LjUgMTIuMyAxMi4zelwiXVxufTtcbnZhciBmYVF1b3RlUmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncXVvdGUtcmlnaHQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs4MjIxLCBcInF1b3RlLXJpZ2h0LWFsdFwiXSwgXCJmMTBlXCIsIFwiTTQ0OCAyOTZjMCA2Ni4zLTUzLjcgMTIwLTEyMCAxMjBoLThjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJoOGMzMC45IDAgNTYtMjUuMSA1Ni01NnYtOEgzMjBjLTM1LjMgMC02NC0yOC43LTY0LTY0VjE2MGMwLTM1LjMgMjguNy02NCA2NC02NGg2NGMzNS4zIDAgNjQgMjguNyA2NCA2NHYzMiAzMiA3MnptLTI1NiAwYzAgNjYuMy01My43IDEyMC0xMjAgMTIwSDY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyaDhjMzAuOSAwIDU2LTI1LjEgNTYtNTZ2LThINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjE2MGMwLTM1LjMgMjguNy02NCA2NC02NGg2NGMzNS4zIDAgNjQgMjguNyA2NCA2NHYzMiAzMiA3MnpcIl1cbn07XG52YXIgZmFRdW90ZVJpZ2h0QWx0ID0gZmFRdW90ZVJpZ2h0O1xudmFyIGZhU2hpcnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2hpcnQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjgwODUsIFwidC1zaGlydFwiLCBcInRzaGlydFwiXSwgXCJmNTUzXCIsIFwiTTIxMS44IDBjNy44IDAgMTQuMyA1LjcgMTYuNyAxMy4yQzI0MC44IDUxLjkgMjc3LjEgODAgMzIwIDgwczc5LjItMjguMSA5MS41LTY2LjhDNDEzLjkgNS43IDQyMC40IDAgNDI4LjIgMGgxMi42YzIyLjUgMCA0NC4yIDcuOSA2MS41IDIyLjNMNjI4LjUgMTI3LjRjNi42IDUuNSAxMC43IDEzLjUgMTEuNCAyMi4xcy0yLjEgMTcuMS03LjggMjMuNmwtNTYgNjRjLTExLjQgMTMuMS0zMS4yIDE0LjYtNDQuNiAzLjVMNDgwIDE5Ny43VjQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEgyMjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjE5Ny43bC01MS41IDQyLjljLTEzLjMgMTEuMS0zMy4xIDkuNi00NC42LTMuNWwtNTYtNjRjLTUuNy02LjUtOC41LTE1LTcuOC0yMy42czQuOC0xNi42IDExLjQtMjIuMUwxMzcuNyAyMi4zQzE1NSA3LjkgMTc2LjcgMCAxOTkuMiAwaDEyLjZ6XCJdXG59O1xudmFyIGZhVFNoaXJ0ID0gZmFTaGlydDtcbnZhciBmYVRzaGlydCA9IGZhU2hpcnQ7XG52YXIgZmFDdWJlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjdWJlcycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjFiM1wiLCBcIk0yOTAuOCA0OC42bDc4LjQgMjkuN0wyODggMTA5LjUgMjA2LjggNzguM2w3OC40LTI5LjdjMS44LS43IDMuOC0uNyA1LjcgMHpNMTM2IDkyLjVWMjA0LjdjLTEuMyAuNC0yLjYgLjgtMy45IDEuM2wtOTYgMzYuNEMxNC40IDI1MC42IDAgMjcxLjUgMCAyOTQuN1Y0MTMuOWMwIDIyLjIgMTMuMSA0Mi4zIDMzLjUgNTEuM2w5NiA0Mi4yYzE0LjQgNi4zIDMwLjcgNi4zIDQ1LjEgMEwyODggNDU3LjVsMTEzLjUgNDkuOWMxNC40IDYuMyAzMC43IDYuMyA0NS4xIDBsOTYtNDIuMmMyMC4zLTguOSAzMy41LTI5LjEgMzMuNS01MS4zVjI5NC43YzAtMjMuMy0xNC40LTQ0LjEtMzYuMS01Mi40bC05Ni0zNi40Yy0xLjMtLjUtMi42LS45LTMuOS0xLjNWOTIuNWMwLTIzLjMtMTQuNC00NC4xLTM2LjEtNTIuNGwtOTYtMzYuNGMtMTIuOC00LjgtMjYuOS00LjgtMzkuNyAwbC05NiAzNi40QzE1MC40IDQ4LjQgMTM2IDY5LjMgMTM2IDkyLjV6TTM5MiAyMTAuNmwtODIuNCAzMS4yVjE1Mi42TDM5MiAxMjF2ODkuNnpNMTU0LjggMjUwLjlsNzguNCAyOS43TDE1MiAzMTEuNyA3MC44IDI4MC42bDc4LjQtMjkuN2MxLjgtLjcgMy44LS43IDUuNyAwem0xOC44IDIwNC40VjM1NC44TDI1NiAzMjMuMnY5NS45bC04Mi40IDM2LjJ6TTQyMS4yIDI1MC45YzEuOC0uNyAzLjgtLjcgNS43IDBsNzguNCAyOS43TDQyNCAzMTEuN2wtODEuMi0zMS4xIDc4LjQtMjkuN3pNNTIzLjIgNDIxLjJsLTc3LjYgMzQuMVYzNTQuOEw1MjggMzIzLjJ2OTAuN2MwIDMuMi0xLjkgNi00LjggNy4zelwiXVxufTtcbnZhciBmYURpdmlkZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkaXZpZGUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMDEzNSwgMjQ3XSwgXCJmNTI5XCIsIFwiTTI3MiA5NmE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwem0wIDMyMGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek00MDAgMjg4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDQwMHpcIl1cbn07XG52YXIgZmFUZW5nZVNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGVuZ2Utc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgWzgzNzYsIFwidGVuZ2VcIl0sIFwiZjdkN1wiLCBcIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMySDM1MmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMkMxNC4zIDk2IDAgODEuNyAwIDY0ek0wIDE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMkgxOTIgMzUyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDIyNFY0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMjI0SDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnpcIl1cbn07XG52YXIgZmFUZW5nZSA9IGZhVGVuZ2VTaWduO1xudmFyIGZhSGVhZHBob25lcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFkcGhvbmVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3OTExXSwgXCJmMDI1XCIsIFwiTTI1NiA4MEMxNDkuOSA4MCA2Mi40IDE1OS40IDQ5LjYgMjYyYzkuNC0zLjggMTkuNi02IDMwLjQtNmMyNi41IDAgNDggMjEuNSA0OCA0OFY0MzJjMCAyNi41LTIxLjUgNDgtNDggNDhjLTQ0LjIgMC04MC0zNS44LTgwLTgwVjM4NCAzMzYgMjg4QzAgMTQ2LjYgMTE0LjYgMzIgMjU2IDMyczI1NiAxMTQuNiAyNTYgMjU2djQ4IDQ4IDE2YzAgNDQuMi0zNS44IDgwLTgwIDgwYy0yNi41IDAtNDgtMjEuNS00OC00OFYzMDRjMC0yNi41IDIxLjUtNDggNDgtNDhjMTAuOCAwIDIxIDIuMSAzMC40IDZDNDQ5LjYgMTU5LjQgMzYyLjEgODAgMjU2IDgwelwiXVxufTtcbnZhciBmYUhhbmRzSG9sZGluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kcy1ob2xkaW5nJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNGMyXCIsIFwiTTgwIDEwNGMwLTIyLjEtMTcuOS00MC00MC00MFMwIDgxLjkgMCAxMDR2NTYgNjRWMzI1LjVjMCAyNS41IDEwLjEgNDkuOSAyOC4xIDY3LjlMMTI4IDQ5My4zYzEyIDEyIDI4LjMgMTguNyA0NS4zIDE4LjdIMjQwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjM4NS4xYzAtMjkuNy0xMS44LTU4LjItMzIuOC03OS4ybC0yNS4zLTI1LjMgMCAwLTE1LjItMTUuMi0zMi0zMmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMzIgMzIgMTUuMiAxNS4yYzExIDExIDkuMiAyOS4yLTMuNyAzNy44Yy05LjcgNi41LTIyLjcgNS4yLTMxLTMuMUw5OC43IDMwOS41Yy0xMi0xMi0xOC43LTI4LjMtMTguNy00NS4zVjIyNCAxNDQgMTA0em00ODAgMHY0MCA4MCA0MC4yYzAgMTctNi43IDMzLjMtMTguNyA0NS4zbC01MS4xIDUxLjFjLTguMyA4LjMtMjEuMyA5LjYtMzEgMy4xYy0xMi45LTguNi0xNC43LTI2LjktMy43LTM3LjhsMTUuMi0xNS4yIDMyLTMyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0zMiAzMi0xNS4yIDE1LjIgMCAwLTI1LjMgMjUuM2MtMjEgMjEtMzIuOCA0OS41LTMyLjggNzkuMlY0NjRjMCAyNi41IDIxLjUgNDggNDggNDhoNjYuN2MxNyAwIDMzLjMtNi43IDQ1LjMtMTguN2w5OS45LTk5LjljMTgtMTggMjguMS00Mi40IDI4LjEtNjcuOVYyMjQgMTYwIDEwNGMwLTIyLjEtMTcuOS00MC00MC00MHMtNDAgMTcuOS00MCA0MHpcIl1cbn07XG52YXIgZmFIYW5kc0NsYXBwaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzLWNsYXBwaW5nJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMWE4XCIsIFwiTTMzNiAxNlY4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlYxNmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2em0tOTguNyA3LjFsMzIgNDhjNC45IDcuNCAyLjkgMTcuMy00LjQgMjIuMnMtMTcuMyAyLjktMjIuMi00LjRsLTMyLTQ4Yy00LjktNy40LTIuOS0xNy4zIDQuNC0yMi4yczE3LjMtMi45IDIyLjIgNC40ek0xMzUgMTE5YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwTDI5Mi43IDI0Mi43YzEwLjEgMTAuMSAyNy4zIDIuOSAyNy4zLTExLjNWMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJWMzQ1LjZjMCA1Ny4xLTMwIDExMC03OC45IDEzOS40Yy02NCAzOC40LTE0NS44IDI4LjMtMTk4LjUtMjQuNEw3IDM2MWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDUzIDUzYzYuMSA2LjEgMTYgNi4xIDIyLjEgMHM2LjEtMTYgMC0yMi4xTDIzIDI2NWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDkzIDkzYzYuMSA2LjEgMTYgNi4xIDIyLjEgMHM2LjEtMTYgMC0yMi4xTDU1IDE4NWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDExNyAxMTdjNi4xIDYuMSAxNiA2LjEgMjIuMSAwczYuMS0xNiAwLTIyLjFsLTkzLTkzYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXpNNDMzLjEgNDg0LjljLTI0LjIgMTQuNS01MC45IDIyLjEtNzcuNyAyMy4xYzQ4LjEtMzkuNiA3Ni42LTk5IDc2LjYtMTYyLjRsMC05OC4xYzguMi0uMSAxNi02LjQgMTYtMTZWMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJWMzQ1LjZjMCA1Ny4xLTMwIDExMC03OC45IDEzOS40ek00MjQuOSAxOC43YzcuNCA0LjkgOS4zIDE0LjggNC40IDIyLjJsLTMyIDQ4Yy00LjkgNy40LTE0LjggOS4zLTIyLjIgNC40cy05LjMtMTQuOC00LjQtMjIuMmwzMi00OGM0LjktNy40IDE0LjgtOS4zIDIyLjItNC40elwiXVxufTtcbnZhciBmYVJlcHVibGljYW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmVwdWJsaWNhbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjc1ZVwiLCBcIk0wIDE5MkMwIDEwMy42IDcxLjYgMzIgMTYwIDMySDM4NGM4OC40IDAgMTYwIDcxLjYgMTYwIDE2MHY2NEgwVjE5MnptNDE1LjktNjRjLTIuNCAwLTQuNyAxLjMtNS43IDMuNGwtMTIuNiAyNC42LTI4LjIgNGMtMi40IC4zLTQuNCAyLTUuMiA0LjJzLS4xIDQuNyAxLjYgNi4zbDIwLjQgMTkuMi00LjggMjcuMWMtLjQgMi4zIC42IDQuNyAyLjUgNnM0LjYgMS42IDYuNyAuNWwyNS4yLTEyLjggMjUuMiAxMi44YzIuMiAxLjEgNC44IC45IDYuNy0uNXMzLTMuNyAyLjUtNmwtNC44LTI3LjFMNDY2IDE3MC41YzEuNy0xLjYgMi40LTQuMSAxLjYtNi4zcy0yLjgtMy45LTUuMi00LjJsLTI4LjItNC0xMi42LTI0LjZjLTEuMS0yLjEtMy4zLTMuNC01LjctMy40em0tMTM4LjMgMy40Yy0xLjEtMi4xLTMuMy0zLjQtNS43LTMuNHMtNC43IDEuMy01LjcgMy40bC0xMi42IDI0LjYtMjguMiA0Yy0yLjQgLjMtNC40IDItNS4yIDQuMnMtLjEgNC43IDEuNiA2LjNsMjAuNCAxOS4yLTQuOCAyNy4xYy0uNCAyLjMgLjYgNC43IDIuNSA2czQuNiAxLjYgNi43IC41bDI1LjItMTIuOCAyNS4yIDEyLjhjMi4yIDEuMSA0LjggLjkgNi43LS41czMtMy43IDIuNS02bC00LjgtMjcuMUwzMjIgMTcwLjVjMS43LTEuNiAyLjQtNC4xIDEuNi02LjNzLTIuOC0zLjktNS4yLTQuMmwtMjguMi00LTEyLjYtMjQuNnpNMTI3LjkgMTI4Yy0yLjQgMC00LjcgMS4zLTUuNyAzLjRsLTEyLjYgMjQuNi0yOC4yIDRjLTIuNCAuMy00LjQgMi01LjIgNC4ycy0uMSA0LjcgMS42IDYuM2wyMC40IDE5LjItNC44IDI3LjFjLS40IDIuMyAuNiA0LjcgMi41IDZzNC42IDEuNiA2LjcgLjVsMjUuMi0xMi44IDI1LjIgMTIuOGMyLjIgMS4xIDQuOCAuOSA2LjctLjVzMy0zLjcgMi41LTZsLTQuOC0yNy4xTDE3OCAxNzAuNWMxLjctMS42IDIuNC00LjEgMS42LTYuM3MtMi44LTMuOS01LjItNC4ybC0yOC4yLTQtMTIuNi0yNC42Yy0xLjEtMi4xLTMuMy0zLjQtNS43LTMuNHptLjEgMTYwSDMyMGg5NiAzMiA2NCAzMnYzMiA4MGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjM1MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMydjQ4YzAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwVjM1Mkg0NDh2MzIgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJIMzUyYy0xNy43IDAtMzItMTQuMy0zMi0zMlYzODRIMTI4djY0YzAgMTcuNy0xNC4zIDMyLTMyIDMySDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMlYzODQgMjg4SDEyOHpcIl1cbn07XG52YXIgZmFBcnJvd0xlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctbGVmdCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzg1OTJdLCBcImYwNjBcIiwgXCJNOS40IDIzMy40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMTA5LjIgMjg4IDQxNiAyODhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMwNi43IDBMMjE0LjYgMTE4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjB6XCJdXG59O1xudmFyIGZhUGVyc29uQ2lyY2xlWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWNpcmNsZS14bWFyaycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU0M1wiLCBcIk0xMTIgNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptNDAgMzA0VjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYyNTYuOUw1OS40IDMwNC41Yy05LjEgMTUuMS0yOC44IDIwLTQzLjkgMTAuOXMtMjAtMjguOC0xMC45LTQzLjlsNTguMy05N2MxNy40LTI4LjkgNDguNi00Ni42IDgyLjMtNDYuNmgyOS43YzMzLjcgMCA2NC45IDE3LjcgODIuMyA0Ni42bDQ0LjkgNzQuN2MtMTYuMSAxNy42LTI4LjYgMzguNS0zNi42IDYxLjVjLTEuOS0xLjgtMy41LTMuOS00LjktNi4zTDIzMiAyNTYuOVY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzUySDE1MnpNNDMyIDIyNGExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTU5LjMgMTA3LjNjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZzLTE2LjQtNi4yLTIyLjYgMEw0MzIgMzQ1LjRsLTM2LjctMzYuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNkw0MDkuNCAzNjhsLTM2LjcgMzYuN2MtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwTDQzMiAzOTAuNmwzNi43IDM2LjdjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42TDQ1NC42IDM2OGwzNi43LTM2Ljd6XCJdXG59O1xudmFyIGZhUnVsZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncnVsZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyMDddLCBcImY1NDVcIiwgXCJNMTc3LjkgNDk0LjFjLTE4LjcgMTguNy00OS4xIDE4LjctNjcuOSAwTDE3LjkgNDAxLjljLTE4LjctMTguNy0xOC43LTQ5LjEgMC02Ny45bDUwLjctNTAuNyA0OCA0OGM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTQ4LTQ4IDQxLjQtNDEuNCA0OCA0OGM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTQ4LTQ4IDQxLjQtNDEuNCA0OCA0OGM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTQ4LTQ4IDQxLjQtNDEuNCA0OCA0OGM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTQ4LTQ4IDUwLjctNTAuN2MxOC43LTE4LjcgNDkuMS0xOC43IDY3LjkgMGw5Mi4xIDkyLjFjMTguNyAxOC43IDE4LjcgNDkuMSAwIDY3LjlMMTc3LjkgNDk0LjF6XCJdXG59O1xudmFyIGZhQWxpZ25MZWZ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2FsaWduLWxlZnQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYwMzZcIiwgXCJNMjg4IDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMySDMyQzE0LjMgOTYgMCA4MS43IDAgNjRTMTQuMyAzMiAzMiAzMkgyNTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6bTAgMjU2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDI1NmMxNy43IDAgMzIgMTQuMyAzMiAzMnpNMCAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJINDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDQ4IDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMkgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkg0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6XCJdXG59O1xudmFyIGZhRGljZUQ2ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpY2UtZDYnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImY2ZDFcIiwgXCJNMjAxIDEwLjNjMTQuMy03LjggMzEuNi03LjggNDYgMEw0MjIuMyAxMDZjNS4xIDIuOCA4LjMgOC4yIDguMyAxNHMtMy4yIDExLjItOC4zIDE0TDIzMS43IDIzOGMtNC44IDIuNi0xMC41IDIuNi0xNS4zIDBMMjUuNyAxMzRjLTUuMS0yLjgtOC4zLTguMi04LjMtMTRzMy4yLTExLjIgOC4zLTE0TDIwMSAxMC4zek0yMy43IDE3MGwxNzYgOTZjNS4xIDIuOCA4LjMgOC4yIDguMyAxNFY0OTZjMCA1LjYtMyAxMC45LTcuOCAxMy44cy0xMC45IDMtMTUuOCAuM0wyNSA0MjMuMUM5LjYgNDE0LjcgMCAzOTguNiAwIDM4MVYxODRjMC01LjYgMy0xMC45IDcuOC0xMy44czEwLjktMyAxNS44LS4zem00MDAuNyAwYzUtMi43IDExLTIuNiAxNS44IC4zczcuOCA4LjEgNy44IDEzLjhWMzgxYzAgMTcuNi05LjYgMzMuNy0yNSA0Mi4xTDI2My43IDUxMGMtNSAyLjctMTEgMi42LTE1LjgtLjNzLTcuOC04LjEtNy44LTEzLjhWMjgwYzAtNS45IDMuMi0xMS4yIDguMy0xNGwxNzYtOTZ6XCJdXG59O1xudmFyIGZhUmVzdHJvb20gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmVzdHJvb20nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY3YmRcIiwgXCJNODAgNDhhNDggNDggMCAxIDEgOTYgMEE0OCA0OCAwIDEgMSA4MCA0OHptNDAgMzA0VjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzMjUuMmMtOC4xIDkuMi0yMS4xIDEzLjItMzMuNSA5LjRjLTE2LjktNS4zLTI2LjMtMjMuMi0yMS00MC4xbDMwLjktOTkuMUM0NC45IDE1NS4zIDgyIDEyOCAxMjQgMTI4aDhjNDIgMCA3OS4xIDI3LjMgOTEuNiA2Ny40bDMwLjkgOTkuMWM1LjMgMTYuOS00LjEgMzQuOC0yMSA0MC4xYy0xMi40IDMuOS0yNS40LS4yLTMzLjUtOS40VjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzNTJIMTIwek0zMjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNFY0ODhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWMjRjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTQ2NCA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek00NDAgNDgwVjM4NEg0MjIuMmMtMTAuOSAwLTE4LjYtMTAuNy0xNS4yLTIxLjFsOS0yNi45Yy0zLjIgMC02LjQtLjUtOS41LTEuNWMtMTYuOS01LjMtMjYuMy0yMy4yLTIxLTQwLjFsMjkuNy05NS4yQzQyOC40IDE1Ni45IDQ2Ny42IDEyOCA1MTIgMTI4czgzLjYgMjguOSA5Ni44IDcxLjJsMjkuNyA5NS4yYzUuMyAxNi45LTQuMSAzNC44LTIxIDQwLjFjLTMuMiAxLTYuNCAxLjUtOS41IDEuNWw5IDI2LjljMy41IDEwLjQtNC4zIDIxLjEtMTUuMiAyMS4xSDU4NHY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzODRINTA0djk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyelwiXVxufTtcbnZhciBmYUogPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaicsXG4gIGljb246IFszMjAsIDUxMiwgWzEwNl0sIFwiNGFcIiwgXCJNMjg4IDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjMyMGMwIDg4LjQtNzEuNiAxNjAtMTYwIDE2MFMwIDQwOC40IDAgMzIwVjI4OGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMydjMyYzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZWNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xudmFyIGZhVXNlcnNWaWV3ZmluZGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXJzLXZpZXdmaW5kZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1OTVcIiwgXCJNNDggNDhoODhjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRIMzJDMTQuMyAwIDAgMTQuMyAwIDMyVjEzNmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjQ4ek0xNzUuOCAyMjRhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0tMjYuNSAzMkMxMTkuOSAyNTYgOTYgMjc5LjkgOTYgMzA5LjNjMCAxNC43IDExLjkgMjYuNyAyNi43IDI2LjdoNTYuMWM4LTM0LjEgMzIuOC02MS43IDY1LjItNzMuNmMtNy41LTQuMS0xNi4yLTYuNC0yNS4zLTYuNEgxNDkuM3ptMzY4IDgwYzE0LjcgMCAyNi43LTExLjkgMjYuNy0yNi43YzAtMjkuNS0yMy45LTUzLjMtNTMuMy01My4zSDQyMS4zYy05LjIgMC0xNy44IDIuMy0yNS4zIDYuNGMzMi40IDExLjkgNTcuMiAzOS41IDY1LjIgNzMuNmg1Ni4xem0tODkuNCAwYy04LjYtMjQuMy0yOS45LTQyLjYtNTUuOS00N2MtMy45LS43LTcuOS0xLTEyLTFIMjgwYy00LjEgMC04LjEgLjMtMTIgMWMtMjYgNC40LTQ3LjMgMjIuNy01NS45IDQ3Yy0yLjcgNy41LTQuMSAxNS42LTQuMSAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNEg0MDhjMTMuMyAwIDI0LTEwLjcgMjQtMjRjMC04LjQtMS40LTE2LjUtNC4xLTI0ek00NjQgMjI0YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptLTgwLTMyYTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHpNNTA0IDQ4aDg4djg4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWMzJjMC0xNy43LTE0LjMtMzItMzItMzJINTA0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0ek00OCA0NjRWMzc2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMkgxMzZjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRINDh6bTQ1NiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0SDYwOGMxNy43IDAgMzItMTQuMyAzMi0zMlYzNzZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR2ODhINTA0elwiXVxufTtcbnZhciBmYUZpbGVWaWRlbyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLXZpZGVvJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmMWM4XCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzMjBjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTYwSDI1NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMEg2NHpNMjU2IDBWMTI4SDM4NEwyNTYgMHpNNjQgMjg4YzAtMTcuNyAxNC4zLTMyIDMyLTMyaDk2YzE3LjcgMCAzMiAxNC4zIDMyIDMydjk2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYyODh6TTMwMC45IDM5Ny45TDI1NiAzNjhWMzA0bDQ0LjktMjkuOWMyLTEuMyA0LjQtMi4xIDYuOC0yLjFjNi44IDAgMTIuMyA1LjUgMTIuMyAxMi4zVjM4Ny43YzAgNi44LTUuNSAxMi4zLTEyLjMgMTIuM2MtMi40IDAtNC44LS43LTYuOC0yLjF6XCJdXG59O1xudmFyIGZhVXBSaWdodEZyb21TcXVhcmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXAtcmlnaHQtZnJvbS1zcXVhcmUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImV4dGVybmFsLWxpbmstYWx0XCJdLCBcImYzNWRcIiwgXCJNMzUyIDBjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45TDM3MC43IDk2IDIwMS40IDI2NS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDQxNiAxNDEuM2w0MS40IDQxLjRjOS4yIDkuMiAyMi45IDExLjkgMzQuOSA2LjlzMTkuOC0xNi42IDE5LjgtMjkuNlYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMkgzNTJ6TTgwIDMyQzM1LjggMzIgMCA2Ny44IDAgMTEyVjQzMmMwIDQ0LjIgMzUuOCA4MCA4MCA4MEg0MDBjNDQuMiAwIDgwLTM1LjggODAtODBWMzIwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjQzMmMwIDguOC03LjIgMTYtMTYgMTZIODBjLTguOCAwLTE2LTcuMi0xNi0xNlYxMTJjMC04LjggNy4yLTE2IDE2LTE2SDE5MmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg4MHpcIl1cbn07XG52YXIgZmFFeHRlcm5hbExpbmtBbHQgPSBmYVVwUmlnaHRGcm9tU3F1YXJlO1xudmFyIGZhVGFibGVDZWxscyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YWJsZS1jZWxscycsXG4gIGljb246IFs1MTIsIDUxMiwgW1widGhcIl0sIFwiZjAwYVwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEg0NDhjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6bTg4IDY0djY0SDY0Vjk2aDg4em01NiAwaDg4djY0SDIwOFY5NnptMjQwIDB2NjRIMzYwVjk2aDg4ek02NCAyMjRoODh2NjRINjRWMjI0em0yMzIgMHY2NEgyMDhWMjI0aDg4em02NCAwaDg4djY0SDM2MFYyMjR6TTE1MiAzNTJ2NjRINjRWMzUyaDg4em01NiAwaDg4djY0SDIwOFYzNTJ6bTI0MCAwdjY0SDM2MFYzNTJoODh6XCJdXG59O1xudmFyIGZhVGggPSBmYVRhYmxlQ2VsbHM7XG52YXIgZmFGaWxlUGRmID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtcGRmJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMWMxXCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIyNCAwbDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwIDAgMTQ0LTIwOCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDE0NC00OCAwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0zODQgNjRsLTEyOCAwTDI1NiAwIDM4NCAxMjh6TTE3NiAzNTJsMzIgMGMzMC45IDAgNTYgMjUuMSA1NiA1NnMtMjUuMSA1Ni01NiA1NmwtMTYgMCAwIDMyYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtNDggMC04MGMwLTguOCA3LjItMTYgMTYtMTZ6bTMyIDgwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNiAwIDAgNDggMTYgMHptOTYtODBsMzIgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xMjhjMC04LjggNy4yLTE2IDE2LTE2em0zMiAxMjhjOC44IDAgMTYtNy4yIDE2LTE2bDAtNjRjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwIDAgOTYgMTYgMHptODAtMTEyYzAtOC44IDcuMi0xNiAxNi0xNmw0OCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0zMiAwIDAgMzIgMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMzIgMCAwIDQ4YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtNjQgMC02NHpcIl1cbn07XG52YXIgZmFCb29rQmlibGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9vay1iaWJsZScsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiYmlibGVcIl0sIFwiZjY0N1wiLCBcIk05NiAwQzQzIDAgMCA0MyAwIDk2VjQxNmMwIDUzIDQzIDk2IDk2IDk2SDM4NGgzMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMlYzODRjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzJjMC0xNy43LTE0LjMtMzItMzItMzJIMzg0IDk2em0wIDM4NEgzNTJ2NjRIOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6TTIwOCA4MGMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djQ4aDQ4YzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMjcyVjMwNGMwIDguOC03LjIgMTYtMTYgMTZIMjI0Yy04LjggMC0xNi03LjItMTYtMTZWMTkySDE2MGMtOC44IDAtMTYtNy4yLTE2LTE2VjE0NGMwLTguOCA3LjItMTYgMTYtMTZoNDhWODB6XCJdXG59O1xudmFyIGZhQmlibGUgPSBmYUJvb2tCaWJsZTtcbnZhciBmYU8gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbycsXG4gIGljb246IFs0NDgsIDUxMiwgWzExMV0sIFwiNGZcIiwgXCJNMjI0IDk2YTE2MCAxNjAgMCAxIDAgMCAzMjAgMTYwIDE2MCAwIDEgMCAwLTMyMHpNNDQ4IDI1NkEyMjQgMjI0IDAgMSAxIDAgMjU2YTIyNCAyMjQgMCAxIDEgNDQ4IDB6XCJdXG59O1xudmFyIGZhU3VpdGNhc2VNZWRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N1aXRjYXNlLW1lZGljYWwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcIm1lZGtpdFwiXSwgXCJmMGZhXCIsIFwiTTE4NCA0OEgzMjhjNC40IDAgOCAzLjYgOCA4Vjk2SDE3NlY1NmMwLTQuNCAzLjYtOCA4LTh6bS01NiA4Vjk2djMyVjQ4MEgzODRWMTI4IDk2IDU2YzAtMzAuOS0yNS4xLTU2LTU2LTU2SDE4NGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZ6TTk2IDk2SDY0QzI4LjcgOTYgMCAxMjQuNyAwIDE2MFY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRIOTZWOTZ6TTQxNiA0ODBoMzJjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTYwYzAtMzUuMy0yOC43LTY0LTY0LTY0SDQxNlY0ODB6TTIyNCAyMDhjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnY0OGg0OGM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDI4OHY0OGMwIDguOC03LjIgMTYtMTYgMTZIMjQwYy04LjggMC0xNi03LjItMTYtMTZWMzIwSDE3NmMtOC44IDAtMTYtNy4yLTE2LTE2VjI3MmMwLTguOCA3LjItMTYgMTYtMTZoNDhWMjA4elwiXVxufTtcbnZhciBmYU1lZGtpdCA9IGZhU3VpdGNhc2VNZWRpY2FsO1xudmFyIGZhVXNlclNlY3JldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLXNlY3JldCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODM3M10sIFwiZjIxYlwiLCBcIk0yMjQgMTZjLTYuNyAwLTEwLjgtMi44LTE1LjUtNi4xQzIwMS45IDUuNCAxOTQgMCAxNzYgMGMtMzAuNSAwLTUyIDQzLjctNjYgODkuNEM2Mi43IDk4LjEgMzIgMTEyLjIgMzIgMTI4YzAgMTQuMyAyNSAyNy4xIDY0LjYgMzUuOWMtLjQgNC0uNiA4LS42IDEyLjFjMCAxNyAzLjMgMzMuMiA5LjMgNDhINDUuNEMzOCAyMjQgMzIgMjMwIDMyIDIzNy40YzAgMS43IC4zIDMuNCAxIDVsMzguOCA5Ni45QzI4LjIgMzcxLjggMCA0MjMuOCAwIDQ4Mi4zQzAgNDk4LjcgMTMuMyA1MTIgMjkuNyA1MTJINDE4LjNjMTYuNCAwIDI5LjctMTMuMyAyOS43LTI5LjdjMC01OC41LTI4LjItMTEwLjQtNzEuNy0xNDNMNDE1IDI0Mi40Yy42LTEuNiAxLTMuMyAxLTVjMC03LjQtNi0xMy40LTEzLjQtMTMuNEgzNDIuN2M2LTE0LjggOS4zLTMxIDkuMy00OGMwLTQuMS0uMi04LjEtLjYtMTIuMUMzOTEgMTU1LjEgNDE2IDE0Mi4zIDQxNiAxMjhjMC0xNS44LTMwLjctMjkuOS03OC0zOC42QzMyNCA0My43IDMwMi41IDAgMjcyIDBjLTE4IDAtMjUuOSA1LjQtMzIuNSA5LjljLTQuOCAzLjMtOC44IDYuMS0xNS41IDYuMXptNTYgMjA4SDI2Ny42Yy0xNi41IDAtMzEuMS0xMC42LTM2LjMtMjYuMmMtMi4zLTctMTIuMi03LTE0LjUgMGMtNS4yIDE1LjYtMTkuOSAyNi4yLTM2LjMgMjYuMkgxNjhjLTIyLjEgMC00MC0xNy45LTQwLTQwVjE2OS42YzI4LjIgNC4xIDYxIDYuNCA5NiA2LjRzNjcuOC0yLjMgOTYtNi40VjE4NGMwIDIyLjEtMTcuOSA0MC00MCA0MHptLTg4IDk2bDE2IDMyTDE3NiA0ODAgMTI4IDI4OGw2NCAzMnptMTI4LTMyTDI3MiA0ODAgMjQwIDM1MmwxNi0zMiA2NC0zMnpcIl1cbn07XG52YXIgZmFPdHRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdvdHRlcicsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyOTQ0Nl0sIFwiZjcwMFwiLCBcIk0xODEuNSAxOTcuMWwxMi45IDYuNGM1LjkgMyAxMi40IDQuNSAxOS4xIDQuNWMyMy41IDAgNDIuNi0xOS4xIDQyLjYtNDIuNlYxNDRjMC0zNS4zLTI4LjctNjQtNjQtNjRIMTI4Yy0zNS4zIDAtNjQgMjguNy02NCA2NHYyMS40YzAgMjMuNSAxOS4xIDQyLjYgNDIuNiA0Mi42YzYuNiAwIDEzLjEtMS41IDE5LjEtNC41bDEyLjktNi40IDguNC00LjJMMTM1LjEgMTg1Yy00LjUtMy03LjEtOC03LjEtMTMuM1YxNjhjMC0xMy4zIDEwLjctMjQgMjQtMjRoMTZjMTMuMyAwIDI0IDEwLjcgMjQgMjR2My43YzAgNS4zLTIuNyAxMC4zLTcuMSAxMy4zbC0xMS44IDcuOSA4LjQgNC4yem0tOC42IDQ5LjRMMTYwIDI0MGwtMTIuOSA2LjRjLTEyLjYgNi4zLTI2LjUgOS42LTQwLjUgOS42Yy0zLjYgMC03LjEtLjItMTAuNi0uNnYuNmMwIDM1LjMgMjguNyA2NCA2NCA2NGg2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzODRWMzM2IDMyMGMwLTIzLjcgMTIuOS00NC40IDMyLTU1LjRjOS40LTUuNCAyMC4zLTguNiAzMi04LjZWMjQwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4YzguOCAwIDE2IDcuMiAxNiAxNnYzMiAxNiA0OGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjIwNC4zYzAtNDguMi0zMC44LTkxLTc2LjYtMTA2LjNsLTguNS0yLjhjLTgtMi43LTEyLjYtMTEuMS0xMC40LTE5LjNzMTAuMy0xMy4yIDE4LjYtMTEuNmwxOS45IDRDNTc2IDg2LjEgNjQwIDE2NC4yIDY0MCAyNTQuOWwwIDEuMWgwYzAgMTIzLjctMTAwLjMgMjI0LTIyNCAyMjRoLTEuMUgyNTZoLS42QzEzMiA0ODAgMzIgMzgwIDMyIDI1Ni42VjI1NiAyMTYuOGMtMTAuMS0xNC42LTE2LTMyLjMtMTYtNTEuNFYxNDRsMC0xLjRDNi43IDEzOS4zIDAgMTMwLjUgMCAxMjBjMC0xMy4zIDEwLjctMjQgMjQtMjRoMi44QzQ0LjggNTguMiA4My4zIDMyIDEyOCAzMmg2NGM0NC43IDAgODMuMiAyNi4yIDEwMS4yIDY0SDI5NmMxMy4zIDAgMjQgMTAuNyAyNCAyNGMwIDEwLjUtNi43IDE5LjMtMTYgMjIuNmwwIDEuNHYyMS40YzAgMS40IDAgMi44LS4xIDQuM2MxMi02LjIgMjUuNy05LjYgNDAuMS05LjZoOGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmgtOGMtMTMuMyAwLTI0IDEwLjctMjQgMjR2OGg1Ni40Yy0xNS4yIDE3LTI0LjQgMzkuNC0yNC40IDY0SDMyMGMtNDIuMyAwLTc4LjItMjcuNC05MS02NS4zYy01LjEgLjktMTAuMyAxLjMtMTUuNiAxLjNjLTE0LjEgMC0yNy45LTMuMy00MC41LTkuNnpNOTYgMTI4YTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnptMTEyIDE2YTE2IDE2IDAgMSAxIDMyIDAgMTYgMTYgMCAxIDEgLTMyIDB6XCJdXG59O1xudmFyIGZhUGVyc29uRHJlc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWRyZXNzJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJmZW1hbGVcIl0sIFwiZjE4MlwiLCBcIk0xNjAgMGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6TTg4IDM4NEg3MC4yYy0xMC45IDAtMTguNi0xMC43LTE1LjItMjEuMUw5My4zIDI0OC4xIDU5LjQgMzA0LjVjLTkuMSAxNS4xLTI4LjggMjAtNDMuOSAxMC45cy0yMC0yOC44LTEwLjktNDMuOWw1My42LTg5LjJjMjAuMy0zMy43IDU2LjctNTQuMyA5Ni01NC4zaDExLjZjMzkuMyAwIDc1LjcgMjAuNiA5NiA1NC4zbDUzLjYgODkuMmM5LjEgMTUuMSA0LjIgMzQuOC0xMC45IDQzLjlzLTM0LjggNC4yLTQzLjktMTAuOWwtMzMuOS01Ni4zTDI2NSAzNjIuOWMzLjUgMTAuNC00LjMgMjEuMS0xNS4yIDIxLjFIMjMydjk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjM4NEgxNTJ2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzg0elwiXVxufTtcbnZhciBmYUZlbWFsZSA9IGZhUGVyc29uRHJlc3M7XG52YXIgZmFDb21tZW50RG9sbGFyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvbW1lbnQtZG9sbGFyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNjUxXCIsIFwiTTI1NiA0NDhjMTQxLjQgMCAyNTYtOTMuMSAyNTYtMjA4UzM5Ny40IDMyIDI1NiAzMlMwIDEyNS4xIDAgMjQwYzAgNDUuMSAxNy43IDg2LjggNDcuNyAxMjAuOWMtMS45IDI0LjUtMTEuNCA0Ni4zLTIxLjQgNjIuOWMtNS41IDkuMi0xMS4xIDE2LjYtMTUuMiAyMS42Yy0yLjEgMi41LTMuNyA0LjQtNC45IDUuN2MtLjYgLjYtMSAxLjEtMS4zIDEuNGwtLjMgLjMgMCAwIDAgMCAwIDAgMCAwYy00LjYgNC42LTUuOSAxMS40LTMuNCAxNy40YzIuNSA2IDguMyA5LjkgMTQuOCA5LjljMjguNyAwIDU3LjYtOC45IDgxLjYtMTkuM2MyMi45LTEwIDQyLjQtMjEuOSA1NC4zLTMwLjZjMzEuOCAxMS41IDY3IDE3LjkgMTA0LjEgMTcuOXptMjAtMzEydjEzLjljNy41IDEuMiAxNC42IDIuOSAyMS4xIDQuN2MxMC43IDIuOCAxNyAxMy44IDE0LjIgMjQuNXMtMTMuOCAxNy0yNC41IDE0LjJjLTExLTIuOS0yMS42LTUtMzEuMi01LjJjLTcuOS0uMS0xNiAxLjgtMjEuNSA1Yy00LjggMi44LTYuMiA1LjYtNi4yIDkuM2MwIDEuOCAuMSAzLjUgNS4zIDYuN2M2LjMgMy44IDE1LjUgNi43IDI4LjMgMTAuNWwuNyAuMmMxMS4yIDMuNCAyNS42IDcuNyAzNy4xIDE1YzEyLjkgOC4xIDI0LjMgMjEuMyAyNC42IDQxLjZjLjMgMjAuOS0xMC41IDM2LjEtMjQuOCA0NWMtNy4yIDQuNS0xNS4yIDcuMy0yMy4yIDlWMzQ0YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMFYzMjkuNGMtMTAuMy0yLjItMjAtNS41LTI4LjItOC40bDAgMCAwIDBjLTIuMS0uNy00LjEtMS40LTYuMS0yLjFjLTEwLjUtMy41LTE2LjEtMTQuOC0xMi42LTI1LjNzMTQuOC0xNi4xIDI1LjMtMTIuNmMyLjUgLjggNC45IDEuNyA3LjIgMi40YzEzLjYgNC42IDI0IDguMSAzNS4xIDguNWM4LjYgLjMgMTYuNS0xLjYgMjEuNC00LjdjNC4xLTIuNSA2LTUuNSA1LjktMTAuNWMwLTIuOS0uOC01LTUuOS04LjJjLTYuMy00LTE1LjQtNi45LTI4LTEwLjdsLTEuNy0uNWMtMTAuOS0zLjMtMjQuNi03LjQtMzUuNi0xNGMtMTIuNy03LjctMjQuNi0yMC41LTI0LjctNDAuN2MtLjEtMjEuMSAxMS44LTM1LjcgMjUuOC00My45YzYuOS00LjEgMTQuNS02LjggMjIuMi04LjVWMTM2YzAtMTEgOS0yMCAyMC0yMHMyMCA5IDIwIDIwelwiXVxufTtcbnZhciBmYUJ1c2luZXNzVGltZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidXNpbmVzcy10aW1lJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJicmllZmNhc2UtY2xvY2tcIl0sIFwiZjY0YVwiLCBcIk0xODQgNDhIMzI4YzQuNCAwIDggMy42IDggOFY5NkgxNzZWNTZjMC00LjQgMy42LTggOC04em0tNTYgOFY5Nkg2NEMyOC43IDk2IDAgMTI0LjcgMCAxNjB2OTZIMTkyIDM1Mmg4LjJjMzIuMy0zOS4xIDgxLjEtNjQgMTM1LjgtNjRjNS40IDAgMTAuNyAuMiAxNiAuN1YxNjBjMC0zNS4zLTI4LjctNjQtNjQtNjRIMzg0VjU2YzAtMzAuOS0yNS4xLTU2LTU2LTU2SDE4NGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZ6TTMyMCAzNTJIMjI0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYyODhIMFY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzYwLjJDMzM1LjEgNDQ5LjYgMzIwIDQxMC41IDMyMCAzNjhjMC01LjQgLjItMTAuNyAuNy0xNmwtLjcgMHptMzIwIDE2YTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6TTQ5NiAyODhjOC44IDAgMTYgNy4yIDE2IDE2djQ4aDMyYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDQ5NmMtOC44IDAtMTYtNy4yLTE2LTE2VjMwNGMwLTguOCA3LjItMTYgMTYtMTZ6XCJdXG59O1xudmFyIGZhQnJpZWZjYXNlQ2xvY2sgPSBmYUJ1c2luZXNzVGltZTtcbnZhciBmYVRhYmxlQ2VsbHNMYXJnZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YWJsZS1jZWxscy1sYXJnZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1widGgtbGFyZ2VcIl0sIFwiZjAwOVwiLCBcIk00NDggOTZWMjI0SDI4OFY5Nkg0NDh6bTAgMTkyVjQxNkgyODhWMjg4SDQ0OHpNMjI0IDIyNEg2NFY5NkgyMjRWMjI0ek02NCAyODhIMjI0VjQxNkg2NFYyODh6TTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NFY5NmMwLTM1LjMtMjguNy02NC02NC02NEg2NHpcIl1cbn07XG52YXIgZmFUaExhcmdlID0gZmFUYWJsZUNlbGxzTGFyZ2U7XG52YXIgZmFCb29rVGFuYWtoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jvb2stdGFuYWtoJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJ0YW5ha2hcIl0sIFwiZjgyN1wiLCBcIk0zNTIgMGM1MyAwIDk2IDQzIDk2IDk2VjQxNmMwIDUzLTQzIDk2LTk2IDk2SDY0IDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyVjM4NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMzJDMCAxNC4zIDE0LjMgMCAzMiAwSDY0IDM1MnptMCAzODRIOTZ2NjRIMzUyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyek0xMzguNyAyMDhsMTMuOSAyNEgxMjQuOWwxMy45LTI0em0tMTMuOS0yNEw5Ny4xIDIzMmMtNi4yIDEwLjcgMS41IDI0IDEzLjkgMjRoNTUuNGwyNy43IDQ4YzYuMiAxMC43IDIxLjYgMTAuNyAyNy43IDBsMjcuNy00OEgzMDVjMTIuMyAwIDIwLTEzLjMgMTMuOS0yNGwtMjcuNy00OCAyNy43LTQ4YzYuMi0xMC43LTEuNS0yNC0xMy45LTI0SDI0OS42TDIyMS45IDY0Yy02LjItMTAuNy0yMS42LTEwLjctMjcuNyAwbC0yNy43IDQ4SDExMWMtMTIuMyAwLTIwIDEzLjMtMTMuOSAyNGwyNy43IDQ4em0yNy43IDBsMjcuNy00OGg1NS40bDI3LjcgNDgtMjcuNyA0OEgxODAuM2wtMjcuNy00OHptMC00OGwtMTMuOSAyNC0xMy45LTI0aDI3Ljd6bTQxLjYtMjRMMjA4IDg4bDEzLjkgMjRIMTk0LjF6bTY5LjMgMjRoMjcuN2wtMTMuOSAyNC0xMy45LTI0em0xMy45IDcybDEzLjkgMjRIMjYzLjRsMTMuOS0yNHptLTU1LjQgNDhMMjA4IDI4MGwtMTMuOS0yNGgyNy43elwiXVxufTtcbnZhciBmYVRhbmFraCA9IGZhQm9va1RhbmFraDtcbnZhciBmYVBob25lVm9sdW1lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Bob25lLXZvbHVtZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1widm9sdW1lLWNvbnRyb2wtcGhvbmVcIl0sIFwiZjJhMFwiLCBcIk0yODAgMEM0MDguMSAwIDUxMiAxMDMuOSA1MTIgMjMyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMTAxLjYtODIuNC0xODQtMTg0LTE4NGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptOCAxOTJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0tMzItNzJjMC0xMy4zIDEwLjctMjQgMjQtMjRjNzUuMSAwIDEzNiA2MC45IDEzNiAxMzZjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC00OC42LTM5LjQtODgtODgtODhjLTEzLjMgMC0yNC0xMC43LTI0LTI0ek0xMTcuNSAxLjRjMTkuNC01LjMgMzkuNyA0LjYgNDcuNCAyMy4ybDQwIDk2YzYuOCAxNi4zIDIuMSAzNS4yLTExLjYgNDYuM0wxNDQgMjA3LjNjMzMuMyA3MC40IDkwLjMgMTI3LjQgMTYwLjcgMTYwLjdMMzQ1IDMxOC43YzExLjItMTMuNyAzMC0xOC40IDQ2LjMtMTEuNmw5NiA0MGMxOC42IDcuNyAyOC41IDI4IDIzLjIgNDcuNGwtMjQgODhDNDgxLjggNDk5LjkgNDY2IDUxMiA0NDggNTEyQzIwMC42IDUxMiAwIDMxMS40IDAgNjRDMCA0NiAxMi4xIDMwLjIgMjkuNSAyNS40bDg4LTI0elwiXVxufTtcbnZhciBmYVZvbHVtZUNvbnRyb2xQaG9uZSA9IGZhUGhvbmVWb2x1bWU7XG52YXIgZmFIYXRDb3dib3lTaWRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhdC1jb3dib3ktc2lkZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjhjMVwiLCBcIk0xNTIuNyAxMzUuOWwtMTAuNCA1Ny4yYzYuOC0uNyAxMy42LTEuMSAyMC41LTEuMWgxMC43YzM5LjQgMCA3Ny44IDEyLjEgMTEwLjEgMzQuN0w1NjIuNCA0MjEuOGwzNS4xIDI0LjZjMjQuNC02IDQyLjUtMjguMSA0Mi41LTU0LjRjMC03NS44LTk0LjctMTI2LjYtMTM0LjYtMTQ0LjdMNDc0IDgzLjlDNDY4LjIgNTMuOCA0NDEuOCAzMiA0MTEuMSAzMmgtMi43Yy01LjYgMC0xMS4xIC43LTE2LjUgMi4yTDE5OS4yIDg1LjVjLTIzLjkgNi40LTQyIDI2LTQ2LjUgNTAuNHpNMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRINTQ0TDI2NS4zIDI1Mi45Yy0yNi45LTE4LjgtNTguOS0yOC45LTkxLjgtMjguOUgxNjIuOWMtNjAuNiAwLTExNiAzNC4yLTE0My4xIDg4LjRMMTMuNSAzMjVDNC42IDM0Mi43IDAgMzYyLjMgMCAzODIuMlYzODR6XCJdXG59O1xudmFyIGZhQ2xpcGJvYXJkVXNlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbGlwYm9hcmQtdXNlcicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjdmM1wiLCBcIk0xOTIgMGMtNDEuOCAwLTc3LjQgMjYuNy05MC41IDY0SDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzMjBjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0SDI4Mi41QzI2OS40IDI2LjcgMjMzLjggMCAxOTIgMHptMCA2NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTEyOCAyNTZhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwek04MCA0MzJjMC00NC4yIDM1LjgtODAgODAtODBoNjRjNDQuMiAwIDgwIDM1LjggODAgODBjMCA4LjgtNy4yIDE2LTE2IDE2SDk2Yy04LjggMC0xNi03LjItMTYtMTZ6XCJdXG59O1xudmFyIGZhQ2hpbGQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hpbGQnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcImYxYWVcIiwgXCJNOTYgNjRhNjQgNjQgMCAxIDEgMTI4IDBBNjQgNjQgMCAxIDEgOTYgNjR6bTQ4IDMyMHY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYyODcuOEw1OS4xIDMyMWMtOS40IDE1LTI5LjIgMTkuNC00NC4xIDEwUy00LjUgMzAxLjkgNC45IDI4N2wzOS45LTYzLjNDNjkuNyAxODQgMTEzLjIgMTYwIDE2MCAxNjBzOTAuMyAyNCAxMTUuMiA2My42TDMxNS4xIDI4N2M5LjQgMTUgNC45IDM0LjctMTAgNDQuMXMtMzQuNyA0LjktNDQuMS0xMEwyNDAgMjg3LjhWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjM4NEgxNDR6XCJdXG59O1xudmFyIGZhTGlyYVNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGlyYS1zaWduJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbODM1Nl0sIFwiZjE5NVwiLCBcIk0xMTIgMTYwLjRjMC0zNS41IDI4LjgtNjQuNCA2NC40LTY0LjRjNi45IDAgMTMuOCAxLjEgMjAuNCAzLjNsODEuMiAyNy4xYzE2LjggNS42IDM0LjktMy41IDQwLjUtMjAuMnMtMy41LTM0LjktMjAuMi00MC41TDIxNyAzOC42Yy0xMy4xLTQuNC0yNi44LTYuNi00MC42LTYuNkMxMDUuNSAzMiA0OCA4OS41IDQ4IDE2MC40VjE5MkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg0OHYzMkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg0NmMtMi4yIDEwLjUtNi4xIDIwLjYtMTEuNyAyOS45TDQuNiA0MzEuNWMtNS45IDkuOS02LjEgMjIuMi0uNCAzMi4yUzIwLjUgNDgwIDMyIDQ4MEgyODhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIODguNWwuNy0xLjFjMTEuNi0xOS4zIDE4LjktNDAuNyAyMS42LTYyLjlIMjI0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDExMlYyNTZIMjI0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDExMlYxNjAuNHpcIl1cbn07XG52YXIgZmFTYXRlbGxpdGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2F0ZWxsaXRlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NzUyXSwgXCJmN2JmXCIsIFwiTTIzMyA3Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtOTYgOTZjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDg5LjQgODkuNC0xNS41IDE1LjVDMTUyLjMgMjMwLjQgMTI0LjkgMjI0IDk2IDIyNGMtMzEuNyAwLTYxLjUgNy43LTg3LjggMjEuMmMtOSA0LjctMTAuMyAxNi43LTMuMSAyMy44TDExMi43IDM3Ni43IDk2LjMgMzkzLjFjLTIuNi0uNy01LjQtMS4xLTguMy0xLjFjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmMwLTIuOS0uNC01LjYtMS4xLTguM2wxNi40LTE2LjRMMjQyLjkgNTA2LjljNy4yIDcuMiAxOS4yIDUuOSAyMy44LTMuMUMyODAuMyA0NzcuNSAyODggNDQ3LjcgMjg4IDQxNmMwLTI4LjktNi40LTU2LjMtMTcuOC04MC45bDE1LjUtMTUuNUwzNzUgNDA5YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwbDk2LTk2YzkuNC05LjQgOS40LTI0LjYgMC0zMy45bC04OS40LTg5LjQgNTUtNTVjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTQ4LTQ4Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtNTUgNTVMMjMzIDd6bTE1OSAzNTFsLTcyLjQtNzIuNCA2Mi4xLTYyLjFMNDU0LjEgMjk2IDM5MiAzNTguMXpNMjI2LjMgMTkyLjRMMTUzLjkgMTIwIDIxNiA1Ny45bDcyLjQgNzIuNC02Mi4xIDYyLjF6XCJdXG59O1xudmFyIGZhUGxhbmVMb2NrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsYW5lLWxvY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NThcIiwgXCJNMTkyIDkzLjdDMTkyIDU5LjUgMjIxIDAgMjU2IDBjMzYgMCA2NCA1OS41IDY0IDkzLjd2ODQuNmwxMDEuOCA1OC4yQzQxOCAyNDcuNiA0MTYgMjU5LjYgNDE2IDI3MnYyNC42Yy0xNy45IDEwLjQtMzAuMyAyOS4xLTMxLjggNTAuOUwzMjAgMzI5LjFWNDAwbDU3LjYgNDMuMmM0IDMgNi40IDcuOCA2LjQgMTIuOHYyNCAxOGMwIDcuOC02LjMgMTQtMTQgMTRjLTEuMyAwLTIuNi0uMi0zLjktLjVMMjU2IDQ4MCAxNDUuOSA1MTEuNWMtMS4zIC40LTIuNiAuNS0zLjkgLjVjLTcuOCAwLTE0LTYuMy0xNC0xNFY0NTZjMC01IDIuNC05LjggNi40LTEyLjhMMTkyIDQwMGwwLTcwLjktMTcxLjYgNDlDMTAuMiAzODEuMSAwIDM3My40IDAgMzYyLjhWMjk3LjNjMC01LjcgMy4xLTExIDguMS0xMy45TDE5MiAxNzguM1Y5My43ek01MjggMjQwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnY0OGg2NFYyNzJjMC0xNy43LTE0LjMtMzItMzItMzJ6bS04MCAzMmMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwdjQ4YzE3LjcgMCAzMiAxNC4zIDMyIDMyVjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMkg0NDhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjM1MmMwLTE3LjcgMTQuMy0zMiAzMi0zMlYyNzJ6XCJdXG59O1xudmFyIGZhVGFnID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhZycsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyNzk5MV0sIFwiZjAyYlwiLCBcIk0wIDgwVjIyOS41YzAgMTcgNi43IDMzLjMgMTguNyA0NS4zbDE3NiAxNzZjMjUgMjUgNjUuNSAyNSA5MC41IDBMNDE4LjcgMzE3LjNjMjUtMjUgMjUtNjUuNSAwLTkwLjVsLTE3Ni0xNzZjLTEyLTEyLTI4LjMtMTguNy00NS4zLTE4LjdINDhDMjEuNSAzMiAwIDUzLjUgMCA4MHptMTEyIDMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFDb21tZW50ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvbW1lbnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg0ODksIDYxNjY5XSwgXCJmMDc1XCIsIFwiTTUxMiAyNDBjMCAxMTQuOS0xMTQuNiAyMDgtMjU2IDIwOGMtMzcuMSAwLTcyLjMtNi40LTEwNC4xLTE3LjljLTExLjkgOC43LTMxLjMgMjAuNi01NC4zIDMwLjZDNzMuNiA0NzEuMSA0NC43IDQ4MCAxNiA0ODBjLTYuNSAwLTEyLjMtMy45LTE0LjgtOS45Yy0yLjUtNi0xLjEtMTIuOCAzLjQtMTcuNGwwIDAgMCAwIDAgMCAwIDAgLjMtLjNjLjMtLjMgLjctLjcgMS4zLTEuNGMxLjEtMS4yIDIuOC0zLjEgNC45LTUuN2M0LjEtNSA5LjYtMTIuNCAxNS4yLTIxLjZjMTAtMTYuNiAxOS41LTM4LjQgMjEuNC02Mi45QzE3LjcgMzI2LjggMCAyODUuMSAwIDI0MEMwIDEyNS4xIDExNC42IDMyIDI1NiAzMnMyNTYgOTMuMSAyNTYgMjA4elwiXVxufTtcbnZhciBmYUNha2VDYW5kbGVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nha2UtY2FuZGxlcycsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyNzg3NCwgXCJiaXJ0aGRheS1jYWtlXCIsIFwiY2FrZVwiXSwgXCJmMWZkXCIsIFwiTTg2LjQgNS41TDYxLjggNDcuNkM1OCA1NC4xIDU2IDYxLjYgNTYgNjkuMlY3MmMwIDIyLjEgMTcuOSA0MCA0MCA0MHM0MC0xNy45IDQwLTQwVjY5LjJjMC03LjYtMi0xNS01LjgtMjEuNkwxMDUuNiA1LjVDMTAzLjYgMi4xIDEwMCAwIDk2IDBzLTcuNiAyLjEtOS42IDUuNXptMTI4IDBMMTg5LjggNDcuNmMtMy44IDYuNS01LjggMTQtNS44IDIxLjZWNzJjMCAyMi4xIDE3LjkgNDAgNDAgNDBzNDAtMTcuOSA0MC00MFY2OS4yYzAtNy42LTItMTUtNS44LTIxLjZMMjMzLjYgNS41QzIzMS42IDIuMSAyMjggMCAyMjQgMHMtNy42IDIuMS05LjYgNS41ek0zMTcuOCA0Ny42Yy0zLjggNi41LTUuOCAxNC01LjggMjEuNlY3MmMwIDIyLjEgMTcuOSA0MCA0MCA0MHM0MC0xNy45IDQwLTQwVjY5LjJjMC03LjYtMi0xNS01LjgtMjEuNkwzNjEuNiA1LjVDMzU5LjYgMi4xIDM1NiAwIDM1MiAwcy03LjYgMi4xLTkuNiA1LjVMMzE3LjggNDcuNnpNMTI4IDE3NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnY0OGMtMzUuMyAwLTY0IDI4LjctNjQgNjR2NzFjOC4zIDUuMiAxOC4xIDkgMjguOCA5YzEzLjUgMCAyNy4yLTYuMSAzOC40LTEzLjRjNS40LTMuNSA5LjktNy4xIDEzLTkuN2MxLjUtMS4zIDIuNy0yLjQgMy41LTMuMWMuNC0uNCAuNy0uNiAuOC0uOGwuMS0uMSAwIDAgMCAwczAgMCAwIDBzMCAwIDAgMGMzLjEtMy4yIDcuNC00LjkgMTEuOS00LjhzOC42IDIuMSAxMS42IDUuNGwwIDAgMCAwIC4xIC4xYy4xIC4xIC40IC40IC43IC43Yy43IC43IDEuNyAxLjcgMy4xIDNjMi44IDIuNiA2LjggNi4xIDExLjggOS41YzEwLjIgNy4xIDIzIDEzLjEgMzYuMyAxMy4xczI2LjEtNiAzNi4zLTEzLjFjNS0zLjUgOS02LjkgMTEuOC05LjVjMS40LTEuMyAyLjQtMi4zIDMuMS0zYy4zLS4zIC42LS42IC43LS43bC4xLS4xYzMtMy41IDcuNC01LjQgMTItNS40czkgMiAxMiA1LjRsLjEgLjFjLjEgLjEgLjQgLjQgLjcgLjdjLjcgLjcgMS43IDEuNyAzLjEgM2MyLjggMi42IDYuOCA2LjEgMTEuOCA5LjVjMTAuMiA3LjEgMjMgMTMuMSAzNi4zIDEzLjFzMjYuMS02IDM2LjMtMTMuMWM1LTMuNSA5LTYuOSAxMS44LTkuNWMxLjQtMS4zIDIuNC0yLjMgMy4xLTNjLjMtLjMgLjYtLjYgLjctLjdsLjEtLjFjMi45LTMuNCA3LjEtNS4zIDExLjYtNS40czguNyAxLjYgMTEuOSA0LjhsMCAwIDAgMCAwIDAgLjEgLjFjLjIgLjIgLjQgLjQgLjggLjhjLjggLjcgMS45IDEuOCAzLjUgMy4xYzMuMSAyLjYgNy41IDYuMiAxMyA5LjdjMTEuMiA3LjMgMjQuOSAxMy40IDM4LjQgMTMuNGMxMC43IDAgMjAuNS0zLjkgMjguOC05VjI4OGMwLTM1LjMtMjguNy02NC02NC02NFYxNzZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ2NDhIMjU2VjE3NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnY0OEgxMjhWMTc2ek00NDggMzk0LjZjLTguNSAzLjMtMTguMiA1LjQtMjguOCA1LjRjLTIyLjUgMC00Mi40LTkuOS01NS44LTE4LjZjLTQuMS0yLjctNy44LTUuNC0xMC45LTcuOGMtMi44IDIuNC02LjEgNS05LjggNy41QzMyOS44IDM5MCAzMTAuNiA0MDAgMjg4IDQwMHMtNDEuOC0xMC01NC42LTE4LjljLTMuNS0yLjQtNi43LTQuOS05LjQtNy4yYy0yLjcgMi4zLTUuOSA0LjctOS40IDcuMkMyMDEuOCAzOTAgMTgyLjYgNDAwIDE2MCA0MDBzLTQxLjgtMTAtNTQuNi0xOC45Yy0zLjctMi42LTctNS4yLTkuOC03LjVjLTMuMSAyLjQtNi44IDUuMS0xMC45IDcuOEM3MS4yIDM5MC4xIDUxLjMgNDAwIDI4LjggNDAwYy0xMC42IDAtMjAuMy0yLjItMjguOC01LjRWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMySDQxNmMxNy43IDAgMzItMTQuMyAzMi0zMlYzOTQuNnpcIl1cbn07XG52YXIgZmFCaXJ0aGRheUNha2UgPSBmYUNha2VDYW5kbGVzO1xudmFyIGZhQ2FrZSA9IGZhQ2FrZUNhbmRsZXM7XG52YXIgZmFFbnZlbG9wZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdlbnZlbG9wZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODM4NiwgOTk5MywgNjE0NDNdLCBcImYwZTBcIiwgXCJNNDggNjRDMjEuNSA2NCAwIDg1LjUgMCAxMTJjMCAxNS4xIDcuMSAyOS4zIDE5LjIgMzguNEwyMzYuOCAzMTMuNmMxMS40IDguNSAyNyA4LjUgMzguNCAwTDQ5Mi44IDE1MC40YzEyLjEtOS4xIDE5LjItMjMuMyAxOS4yLTM4LjRjMC0yNi41LTIxLjUtNDgtNDgtNDhINDh6TTAgMTc2VjM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NEg0NDhjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTc2TDI5NC40IDMzOS4yYy0yMi44IDE3LjEtNTQgMTcuMS03Ni44IDBMMCAxNzZ6XCJdXG59O1xudmFyIGZhQW5nbGVzVXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5nbGVzLXVwJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJhbmdsZS1kb3VibGUtdXBcIl0sIFwiZjEwMlwiLCBcIk0yNDYuNiA0MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTYwIDE2MGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwyMjQgMTA5LjMgMzYxLjQgMjQ2LjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtMTYwLTE2MHptMTYwIDM1MmwtMTYwLTE2MGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMjI0IDMwMS4zIDM2MS40IDQzOC42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjN6XCJdXG59O1xudmFyIGZhQW5nbGVEb3VibGVVcCA9IGZhQW5nbGVzVXA7XG52YXIgZmFQYXBlcmNsaXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGFwZXJjbGlwJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI4MjA2XSwgXCJmMGM2XCIsIFwiTTM2NC4yIDgzLjhjLTI0LjQtMjQuNC02NC0yNC40LTg4LjQgMGwtMTg0IDE4NGMtNDIuMSA0Mi4xLTQyLjEgMTEwLjMgMCAxNTIuNHMxMTAuMyA0Mi4xIDE1Mi40IDBsMTUyLTE1MmMxMC45LTEwLjkgMjguNy0xMC45IDM5LjYgMHMxMC45IDI4LjcgMCAzOS42bC0xNTIgMTUyYy02NCA2NC0xNjcuNiA2NC0yMzEuNiAwcy02NC0xNjcuNiAwLTIzMS42bDE4NC0xODRjNDYuMy00Ni4zIDEyMS4zLTQ2LjMgMTY3LjYgMHM0Ni4zIDEyMS4zIDAgMTY3LjZsLTE3NiAxNzZjLTI4LjYgMjguNi03NSAyOC42LTEwMy42IDBzLTI4LjYtNzUgMC0xMDMuNmwxNDQtMTQ0YzEwLjktMTAuOSAyOC43LTEwLjkgMzkuNiAwczEwLjkgMjguNyAwIDM5LjZsLTE0NCAxNDRjLTYuNyA2LjctNi43IDE3LjcgMCAyNC40czE3LjcgNi43IDI0LjQgMGwxNzYtMTc2YzI0LjQtMjQuNCAyNC40LTY0IDAtODguNHpcIl1cbn07XG52YXIgZmFBcnJvd1JpZ2h0VG9DaXR5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXJpZ2h0LXRvLWNpdHknLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0YjNcIiwgXCJNMjg4IDQ4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4aDk2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4VjE5Mmg0MFYxMjBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHY3MmgyNGMyNi41IDAgNDggMjEuNSA0OCA0OFY0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhINDMyIDMzNmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWNDh6bTY0IDMydjMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWODBjMC04LjgtNy4yLTE2LTE2LTE2SDM2OGMtOC44IDAtMTYgNy4yLTE2IDE2em0xNiA4MGMtOC44IDAtMTYgNy4yLTE2IDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMTc2YzAtOC44LTcuMi0xNi0xNi0xNkgzNjh6TTM1MiAyNzJ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYyNzJjMC04LjgtNy4yLTE2LTE2LTE2SDM2OGMtOC44IDAtMTYgNy4yLTE2IDE2em0xNzYtMTZjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjI3MmMwLTguOC03LjItMTYtMTYtMTZINTI4ek01MTIgMzY4djMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMzY4YzAtOC44LTcuMi0xNi0xNi0xNkg1MjhjLTguOCAwLTE2IDcuMi0xNiAxNnpNMTY2LjYgMTUzLjRsODAgODBjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTgwIDgwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wxNDYuNyAyODhIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJIMTQ2LjdsLTI1LjQtMjUuNGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMHpcIl1cbn07XG52YXIgZmFSaWJib24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmliYm9uJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI3ODk1XSwgXCJmNGQ2XCIsIFwiTTMzMy4yIDMyMi44bDAgMC0xMzMuOS0xNDYgMCAwTDE0NiAxMTguNmM3LjgtNS4xIDM3LTIyLjYgNzgtMjIuNnM3MC4yIDE3LjQgNzggMjIuNkwyNDUuNyAxODBsODUuNiA5My40IDI3LjQtMjkuOGMxNi4zLTE3LjcgMjUuMy00MC45IDI1LjMtNjVWMTQ5LjFjMC0xOS01LjYtMzcuNS0xNi4xLTUzLjNMMzI3LjggMzUuNkMzMTIuOSAxMy40IDI4Ny45IDAgMjYxLjIgMGgtNzZjLTI1LjggMC01MC4xIDEyLjUtNjUuMSAzMy41TDgxLjkgODdDNzAuMyAxMDMuMiA2NCAxMjIuOCA2NCAxNDIuOFYxNjRjMCAyMy4yIDguNCA0NS42IDIzLjYgNjMuMWw1NiA2NC4yIDAgMCA4My4zIDk1LjYgMCAwIDkxLjggMTA1LjNjMTAgMTEuNSAyNi44IDE0LjMgNDAgNi44bDU0LjUtMzEuMWMxNy44LTEwLjIgMjEuNi0zNC4zIDcuNy00OS40bC04Ny43LTk1Ljd6TTIwNS4yIDQxMC42bC04My4zLTk1LjZMMjcuMSA0MTguNWMtMTMuOSAxNS4xLTEwLjEgMzkuMiA3LjcgNDkuNGw1NS4xIDMxLjVjMTMgNy40IDI5LjMgNC45IDM5LjQtNi4xbDc1LjktODIuNnpcIl1cbn07XG52YXIgZmFMdW5ncyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsdW5ncycsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyOTcyOV0sIFwiZjYwNFwiLCBcIk0zMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMlYxNjQuMWMwIDE2LjQgOC40IDMxLjcgMjIuMiA0MC41bDkuOCA2LjJWMTY1LjNDMzg0IDEyNyA0MTUgOTYgNDUzLjMgOTZjMjEuNyAwIDQyLjggMTAuMiA1NS44IDI4LjhjMTUuNCAyMi4xIDQ0LjMgNjUuNCA3MSAxMTYuOWMyNi41IDUwLjkgNTIuNCAxMTIuNSA1OS42IDE3MC4zYy4yIDEuMyAuMiAyLjYgLjIgNHY3YzAgNDkuMS0zOS44IDg5LTg5IDg5Yy03LjMgMC0xNC41LS45LTIxLjYtMi43bC03Mi43LTE4LjJDNDE0IDQ4MC41IDM4NCA0NDIuMSAzODQgMzk4VjMyNWw5MC41IDU3LjZjNy41IDQuNyAxNy4zIDIuNSAyMi4xLTQuOXMyLjUtMTcuMy00LjktMjIuMUwzODQgMjg3LjF2LS40bC00NC4xLTI4LjFjLTcuMy00LjYtMTMuOS0xMC4xLTE5LjktMTYuMWMtNS45IDYtMTIuNiAxMS41LTE5LjkgMTYuMUwyNTYgMjg2LjcgMTYxLjIgMzQ3bC0xMy41IDguNmMwIDAgMCAwLS4xIDBjLTcuNCA0LjgtOS42IDE0LjYtNC44IDIyLjFjNC43IDcuNSAxNC42IDkuNyAyMi4xIDQuOWw5MS4xLTU4VjM5OGMwIDQ0LjEtMzAgODIuNS03Mi43IDkzLjFsLTcyLjcgMTguMmMtNy4xIDEuOC0xNC4zIDIuNy0yMS42IDIuN2MtNDkuMSAwLTg5LTM5LjgtODktODl2LTdjMC0xLjMgLjEtMi43IC4yLTRjNy4yLTU3LjkgMzMuMS0xMTkuNCA1OS42LTE3MC4zYzI2LjgtNTEuNSA1NS42LTk0LjggNzEtMTE2LjljMTMtMTguNiAzNC0yOC44IDU1LjgtMjguOEMyMjUgOTYgMjU2IDEyNyAyNTYgMTY1LjN2NDUuNWw5LjgtNi4yYzEzLjgtOC44IDIyLjItMjQuMSAyMi4yLTQwLjVWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xudmFyIGZhQXJyb3dVcDkxID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXVwLTktMScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wic29ydC1udW1lcmljLXVwLWFsdFwiXSwgXCJmODg3XCIsIFwiTTE2MCAzMmM5IDAgMTcuNSAzLjggMjMuNiAxMC40bDg4IDk2YzExLjkgMTMgMTEuMSAzMy4zLTIgNDUuMnMtMzMuMyAxMS4xLTQ1LjItMkwxOTIgMTQ2LjNWNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjE0Ni4zTDk1LjYgMTgxLjZjLTExLjkgMTMtMzIuMiAxMy45LTQ1LjIgMnMtMTMuOS0zMi4yLTItNDUuMmw4OC05NkMxNDIuNSAzNS44IDE1MSAzMiAxNjAgMzJ6TTQ1MC43IDI5NGM4LjMgNiAxMy4zIDE1LjcgMTMuMyAyNnY5NmgxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg0MzIgMzg0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyaDE2VjM2NC40bC01LjkgMmMtMTYuOCA1LjYtMzQuOS0zLjUtNDAuNS0yMC4yczMuNS0zNC45IDIwLjItNDAuNWw0OC0xNmM5LjgtMy4zIDIwLjUtMS42IDI4LjggNC40em0tNS0xNDUuMUEzMiAzMiAwIDEgMCA0MTguMyA5MWEzMiAzMiAwIDEgMCAyNy40IDU3Ljl6bS00MC43IDU0LjlDMzY5LjYgMTkyLjQgMzQ0IDE1OS4yIDM0NCAxMjBjMC00OC42IDM5LjQtODggODgtODhzODggMzkuNCA4OCA4OGMwIDIzLjUtNy41IDQ2LjMtMjEuNSA2NS4yTDQ0OS43IDI1MWMtMTAuNSAxNC4yLTMwLjYgMTcuMi00NC44IDYuN3MtMTcuMi0zMC42LTYuNy00NC44bDYuOC05LjJ6XCJdXG59O1xudmFyIGZhU29ydE51bWVyaWNVcEFsdCA9IGZhQXJyb3dVcDkxO1xudmFyIGZhTGl0ZWNvaW5TaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xpdGVjb2luLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUxZDNcIiwgXCJNMTI4IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzY0IDQ2LjMgNjQgNjRWMjEzLjZMMjMuMiAyMjUuMmMtMTcgNC45LTI2LjggMjIuNi0yMiAzOS42czIyLjYgMjYuOCAzOS42IDIyTDY0IDI4MC4xVjQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMkgzNTJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTI4VjI2MS45bDEzNi44LTM5LjFjMTctNC45IDI2LjgtMjIuNiAyMi0zOS42cy0yMi42LTI2LjgtMzkuNi0yMkwxMjggMTk1LjNWNjR6XCJdXG59O1xudmFyIGZhQm9yZGVyTm9uZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3JkZXItbm9uZScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjg1MFwiLCBcIk0zMiA0ODBhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0em05Ni02NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTAtMzg0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMCAyNTZhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0ek0zMjAgNDE2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMC0zMjBhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0em0wIDEyOGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTIyNCA0ODBhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0em0wLTQ0OGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTAgMjU2YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHpNNDE2IDQxNmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTAtMzg0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMzIgOTZhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0ek00MTYgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMzIgMjg4YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHptMTkyIDMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTkyIDY0YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHpNMzIgMzIwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNNDE2IDE5MmEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6TTMyIDEyOGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTE5MiA2NGEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6XCJdXG59O1xudmFyIGZhQ2lyY2xlTm9kZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLW5vZGVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNGUyXCIsIFwiTTQxOC40IDE1Ny45YzM1LjMtOC4zIDYxLjYtNDAgNjEuNi03Ny45YzAtNDQuMi0zNS44LTgwLTgwLTgwYy00My40IDAtNzguNyAzNC41LTgwIDc3LjVMMTM2LjIgMTUxLjFDMTIxLjcgMTM2LjggMTAxLjkgMTI4IDgwIDEyOGMtNDQuMiAwLTgwIDM1LjgtODAgODBzMzUuOCA4MCA4MCA4MGMxMi4yIDAgMjMuOC0yLjcgMzQuMS03LjZMMjU5LjcgNDA3LjhjLTIuNCA3LjYtMy43IDE1LjgtMy43IDI0LjJjMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MGMwLTI3LjctMTQtNTIuMS0zNS40LTY2LjRsMzcuOC0yMDcuN3pNMTU2LjMgMjMyLjJjMi4yLTYuOSAzLjUtMTQuMiAzLjctMjEuN2wxODMuOC03My41YzMuNiAzLjUgNy40IDYuNyAxMS42IDkuNUwzMTcuNiAzNTQuMWMtNS41IDEuMy0xMC44IDMuMS0xNS44IDUuNUwxNTYuMyAyMzIuMnpcIl1cbn07XG52YXIgZmFQYXJhY2h1dGVCb3ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGFyYWNodXRlLWJveCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjRjZFwiLCBcIk0zODMuNSAxOTJjLjMtNS4zIC41LTEwLjYgLjUtMTZjMC01MS0xNS45LTk2LTQwLjItMTI3LjZDMzE5LjUgMTYuOSAyODguMiAwIDI1NiAwcy02My41IDE2LjktODcuOCA0OC40QzE0My45IDgwIDEyOCAxMjUgMTI4IDE3NmMwIDUuNCAuMiAxMC43IC41IDE2SDI0MFYzMjBIMjA4Yy03IDAtMTMuNyAxLjUtMTkuNyA0LjJMNjguMiAxOTJIOTYuNWMtLjMtNS4zLS41LTEwLjYtLjUtMTZjMC02NCAyMi4yLTEyMS4yIDU3LjEtMTU5LjNDNjIgNDkuMyAxOC42IDEyMi42IDQuMiAxNzMuNkMxLjUgMTgzLjEgOSAxOTIgMTguOSAxOTJoNkwxNjUuMiAzNDYuM2MtMy4zIDYuNS01LjIgMTMuOS01LjIgMjEuN3Y5NmMwIDI2LjUgMjEuNSA0OCA0OCA0OGg5NmMyNi41IDAgNDgtMjEuNSA0OC00OFYzNjhjMC03LjgtMS45LTE1LjItNS4yLTIxLjdMNDg3LjEgMTkyaDZjOS45IDAgMTcuNC04LjkgMTQuNy0xOC40QzQ5My40IDEyMi42IDQ1MCA0OS4zIDM1OC45IDE2LjdDMzkzLjggNTQuOCA0MTYgMTEyLjEgNDE2IDE3NmMwIDUuNC0uMiAxMC43LS41IDE2aDI4LjNMMzIzLjcgMzI0LjJjLTYtMi43LTEyLjctNC4yLTE5LjctNC4ySDI3MlYxOTJIMzgzLjV6XCJdXG59O1xudmFyIGZhSW5kZW50ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2luZGVudCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjAzY1wiLCBcIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMySDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMkMxNC4zIDk2IDAgODEuNyAwIDY0ek0xOTIgMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMySDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgyMjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyem0zMiA5Nkg0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMjI0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyek0wIDQ0OGMwLTE3LjcgMTQuMy0zMiAzMi0zMkg0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek0xMjcuOCAyNjguNkwyNS44IDM0Ny45QzE1LjMgMzU2LjEgMCAzNDguNiAwIDMzNS4zVjE3Ni43YzAtMTMuMyAxNS4zLTIwLjggMjUuOC0xMi42bDEwMS45IDc5LjNjOC4yIDYuNCA4LjIgMTguOSAwIDI1LjN6XCJdXG59O1xudmFyIGZhVHJ1Y2tGaWVsZFVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RydWNrLWZpZWxkLXVuJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNThlXCIsIFwiTTk2IDMyQzYwLjcgMzIgMzIgNjAuNyAzMiA5NnYzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2OTZjMCAxNy43IDE0LjMgMzIgMzIgMzJ2MzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINjRjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NkgzODRjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NmgzMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMlYyODhjMC0zNS4zLTI4LjctNjQtNjQtNjRoLTQuMmMtLjQtMS4xLS45LTIuMS0xLjMtMy4yTDQ4NS43IDEwMmMtMTAuMy0yMy4xLTMzLjItMzgtNTguNS0zOEgzNzUuNEMzNjQuNCA0NC45IDM0My43IDMyIDMyMCAzMkg5NnptMjg4IDk2aDQzLjJsNDIuNyA5NkgzODRWMTI4ek0xMTIgMzg0YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTM2OC00OGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6TTI1My4zIDEzNS4xbDM0LjcgNTJWMTQ0YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ2OTZjMCA3LjEtNC42IDEzLjMtMTEuNCAxNS4zcy0xNC0uNi0xNy45LTYuNGwtMzQuNy01MlYyNDBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWMTQ0YzAtNy4xIDQuNi0xMy4zIDExLjQtMTUuM3MxNCAuNiAxNy45IDYuNHpNMTI4IDE0NHY2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjE0NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2djY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4VjE0NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2elwiXVxufTtcbnZhciBmYUhvdXJnbGFzcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VyZ2xhc3MnLFxuICBpY29uOiBbMzg0LCA1MTIsIFs5MjAzLCA2MjAzMiwgXCJob3VyZ2xhc3MtZW1wdHlcIl0sIFwiZjI1NFwiLCBcIk0wIDMyQzAgMTQuMyAxNC4zIDAgMzIgMEg2NCAzMjBoMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJWNzVjMCA0Mi40LTE2LjkgODMuMS00Ni45IDExMy4xTDIzNy4zIDI1Nmw2Ny45IDY3LjljMzAgMzAgNDYuOSA3MC43IDQ2LjkgMTEzLjF2MTFjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzIwIDY0IDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyVjQzN2MwLTQyLjQgMTYuOS04My4xIDQ2LjktMTEzLjFMMTQ2LjcgMjU2IDc4LjkgMTg4LjFDNDguOSAxNTguMSAzMiAxMTcuNCAzMiA3NVY2NEMxNC4zIDY0IDAgNDkuNyAwIDMyek05NiA2NFY3NWMwIDI1LjUgMTAuMSA0OS45IDI4LjEgNjcuOUwxOTIgMjEwLjdsNjcuOS02Ny45YzE4LTE4IDI4LjEtNDIuNCAyOC4xLTY3LjlWNjRIOTZ6bTAgMzg0SDI4OFY0MzdjMC0yNS41LTEwLjEtNDkuOS0yOC4xLTY3LjlMMTkyIDMwMS4zbC02Ny45IDY3LjljLTE4IDE4LTI4LjEgNDIuNC0yOC4xIDY3Ljl2MTF6XCJdXG59O1xudmFyIGZhSG91cmdsYXNzRW1wdHkgPSBmYUhvdXJnbGFzcztcbnZhciBmYU1vdW50YWluID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vdW50YWluJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3OTU2XSwgXCJmNmZjXCIsIFwiTTI1NiAzMmMxMi41IDAgMjQuMSA2LjQgMzAuOCAxN0w1MDMuNCAzOTQuNGM1LjYgOC45IDguNiAxOS4yIDguNiAyOS43YzAgMzAuOS0yNSA1NS45LTU1LjkgNTUuOUg1NS45QzI1IDQ4MCAwIDQ1NSAwIDQyNC4xYzAtMTAuNSAzLTIwLjggOC42LTI5LjdMMjI1LjIgNDljNi42LTEwLjYgMTguMy0xNyAzMC44LTE3em02NSAxOTJMMjU2IDEyMC40IDE3Ni45IDI0Ni41bDE4LjMgMjQuNGM2LjQgOC41IDE5LjIgOC41IDI1LjYgMGwyNS42LTM0LjFjNi04LjEgMTUuNS0xMi44IDI1LjYtMTIuOGg0OXpcIl1cbn07XG52YXIgZmFVc2VyRG9jdG9yID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItZG9jdG9yJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJ1c2VyLW1kXCJdLCBcImYwZjBcIiwgXCJNMjI0IDI1NkExMjggMTI4IDAgMSAwIDIyNCAwYTEyOCAxMjggMCAxIDAgMCAyNTZ6bS05NiA1NS4yQzU0IDMzMi45IDAgNDAxLjMgMCA0ODIuM0MwIDQ5OC43IDEzLjMgNTEyIDI5LjcgNTEySDQxOC4zYzE2LjQgMCAyOS43LTEzLjMgMjkuNy0yOS43YzAtODEtNTQtMTQ5LjQtMTI4LTE3MS4xVjM2MmMyNy42IDcuMSA0OCAzMi4yIDQ4IDYydjQwYzAgOC44LTcuMiAxNi0xNiAxNkgzMzZjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZWNDI0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMydjI0YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDI1NmMtOC44IDAtMTYtNy4yLTE2LTE2VjQyNGMwLTI5LjggMjAuNC01NC45IDQ4LTYyVjMwNC45Yy02LS42LTEyLjEtLjktMTguMy0uOUgxNzguM2MtNi4yIDAtMTIuMyAuMy0xOC4zIC45djY1LjRjMjMuMSA2LjkgNDAgMjguMyA0MCA1My43YzAgMzAuOS0yNS4xIDU2LTU2IDU2cy01Ni0yNS4xLTU2LTU2YzAtMjUuNCAxNi45LTQ2LjggNDAtNTMuN1YzMTEuMnpNMTQ0IDQ0OGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6XCJdXG59O1xudmFyIGZhVXNlck1kID0gZmFVc2VyRG9jdG9yO1xudmFyIGZhQ2lyY2xlSW5mbyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtaW5mbycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiaW5mby1jaXJjbGVcIl0sIFwiZjA1YVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjE2IDMzNmgyNFYyNzJIMjE2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0aDQ4YzEzLjMgMCAyNCAxMC43IDI0IDI0djg4aDhjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIMjE2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em00MC0yMDhhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbnZhciBmYUluZm9DaXJjbGUgPSBmYUNpcmNsZUluZm87XG52YXIgZmFDbG91ZE1lYXRiYWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nsb3VkLW1lYXRiYWxsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNzNiXCIsIFwiTTAgMjI0YzAgNTMgNDMgOTYgOTYgOTZoNDQuN2M5LjUtMjMuNSAzMi41LTQwIDU5LjMtNDBjMiAwIDMuOSAuMSA1LjggLjNDMjE3LjYgMjY1LjUgMjM1LjcgMjU2IDI1NiAyNTZzMzguNCA5LjUgNTAuMiAyNC4zYzEuOS0uMiAzLjktLjMgNS44LS4zYzI2LjkgMCA0OS45IDE2LjUgNTkuMyA0MEg0MTZjNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZjLS41IDAtMS4xIDAtMS42IDBjMS4xLTUuMiAxLjYtMTAuNSAxLjYtMTZjMC00NC4yLTM1LjgtODAtODAtODBjLTI0LjMgMC00Ni4xIDEwLjktNjAuOCAyOEMyNTYuNSAyNC4zIDIxOS4xIDAgMTc2IDBDMTE0LjEgMCA2NCA1MC4xIDY0IDExMmMwIDcuMSAuNyAxNC4xIDEuOSAyMC44QzI3LjYgMTQ1LjQgMCAxODEuNSAwIDIyNHptMjg4IDk2YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyYzAgMSAuMSAyLjEgLjEgMy4xYy0uNy0uOC0xLjQtMS42LTIuMS0yLjNjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zYy43IC43IDEuNSAxLjQgMi4zIDIuMWMtMS0uMS0yLjEtLjEtMy4xLS4xYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyYzEgMCAyLjEtLjEgMy4xLS4xYy0uOCAuNy0xLjYgMS4zLTIuMyAyLjFjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBjLjctLjcgMS40LTEuNSAyLjEtMi4zYy0uMSAxLS4xIDIuMS0uMSAzLjFjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmMwLTEtLjEtMi4xLS4xLTMuMWMuNyAuOCAxLjMgMS42IDIuMSAyLjNjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2MtLjctLjctMS41LTEuNC0yLjMtMi4xYzEgLjEgMi4xIC4xIDMuMSAuMWMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmMtMSAwLTIuMSAuMS0zLjEgLjFjLjgtLjcgMS42LTEuMyAyLjMtMi4xYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwYy0uNyAuNy0xLjQgMS41LTIuMSAyLjNjLjEtMSAuMS0yLjEgLjEtMy4xek00OCA0NDhhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em00MTYgMGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6XCJdXG59O1xudmFyIGZhQ2FtZXJhID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhbWVyYScsXG4gIGljb246IFs1MTIsIDUxMiwgWzYyMjU4LCBcImNhbWVyYS1hbHRcIl0sIFwiZjAzMFwiLCBcIk0xNDkuMSA2NC44TDEzOC43IDk2SDY0QzI4LjcgOTYgMCAxMjQuNyAwIDE2MFY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRINDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0VjE2MGMwLTM1LjMtMjguNy02NC02NC02NEgzNzMuM0wzNjIuOSA2NC44QzM1Ni40IDQ1LjIgMzM4LjEgMzIgMzE3LjQgMzJIMTk0LjZjLTIwLjcgMC0zOSAxMy4yLTQ1LjUgMzIuOHpNMjU2IDE5MmE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnpcIl1cbn07XG52YXIgZmFDYW1lcmFBbHQgPSBmYUNhbWVyYTtcbnZhciBmYVNxdWFyZVZpcnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS12aXJ1cycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTU3OFwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEgzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6TTIyMy44IDkzLjdjMTMuMyAwIDI0IDEwLjcgMjQgMjRjMCAyOS4zIDM1LjQgNDMuOSA1Ni4xIDIzLjJjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45Yy0yMC43IDIwLjctNiA1Ni4xIDIzLjIgNTYuMWMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtMjkuMyAwLTQzLjkgMzUuNC0yMy4yIDU2LjFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGMtMjAuNy0yMC43LTU2LjEtNi01Ni4xIDIzLjJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0yOS4zLTM1LjQtNDMuOS01Ni4xLTIzLjJjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjljMjAuNy0yMC43IDYtNTYuMS0yMy4yLTU2LjFjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjMjkuMyAwIDQzLjktMzUuNCAyMy4yLTU2LjFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGMyMC43IDIwLjcgNTYuMSA2IDU2LjEtMjMuMmMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNMTkyIDI1NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTg4IDMyYTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6XCJdXG59O1xudmFyIGZhTWV0ZW9yID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21ldGVvcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzk3MzJdLCBcImY3NTNcIiwgXCJNNDkzLjcgLjlMMjk5LjQgNzUuNmwyLjMtMjkuM2MxLTEyLjgtMTIuOC0yMS41LTI0LTE1LjFMMTAxLjMgMTMzLjRDMzguNiAxNjkuNyAwIDIzNi42IDAgMzA5QzAgNDIxLjEgOTAuOSA1MTIgMjAzIDUxMmM3Mi40IDAgMTM5LjQtMzguNiAxNzUuNy0xMDEuM0w0ODAuOCAyMzQuM2M2LjUtMTEuMS0yLjItMjUtMTUuMS0yNGwtMjkuMyAyLjNMNTExLjEgMTguM2MuNi0xLjUgLjktMy4yIC45LTQuOEM1MTIgNiA1MDYgMCA0OTguNSAwYy0xLjcgMC0zLjMgLjMtNC44IC45ek0xOTIgMTkyYTEyOCAxMjggMCAxIDEgMCAyNTYgMTI4IDEyOCAwIDEgMSAwLTI1NnptMCA5NmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0xNiA5NmExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6XCJdXG59O1xudmFyIGZhQ2FyT24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FyLW9uJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNGRkXCIsIFwiTTI4MCAyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHY4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjI0ek0xODUuOCAyMjRIMzI2LjJjNi44IDAgMTIuOCA0LjMgMTUuMSAxMC42TDM2MC4zIDI4OEgxNTEuN2wxOS4xLTUzLjRjMi4zLTYuNCA4LjMtMTAuNiAxNS4xLTEwLjZ6bS03NS4zLTEwLjlMODIuMiAyOTIuNEM2Mi4xIDMwMC45IDQ4IDMyMC44IDQ4IDM0NHY0MCA2NCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMkg5NmMxNy43IDAgMzItMTQuMyAzMi0zMlY0NDhIMzg0djMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyaDE2YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjQ0OCAzODQgMzQ0YzAtMjMuMi0xNC4xLTQzLjEtMzQuMi01MS42bC0yOC4zLTc5LjNDMzkwLjEgMTgxLjMgMzYwIDE2MCAzMjYuMiAxNjBIMTg1LjhjLTMzLjggMC02NCAyMS4zLTc1LjMgNTMuMXpNMTI4IDM0NGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTIzMiAyNGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwek0zOSAzOWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlsNDggNDhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDczIDM5Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHptNDAwIDBMMzkxIDg3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNDgtNDhjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMHpcIl1cbn07XG52YXIgZmFTbGVpZ2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2xlaWdoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmN2NjXCIsIFwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5NlYyNTZjMCA1MyA0MyA5NiA5NiA5NnYzMmg2NFYzNTJIMzg0djMyaDY0VjM1MmM1MyAwIDk2LTQzIDk2LTk2VjE2MGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg1MTIgNDgwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnY0MS4zYzAgMzAuMi0yNC41IDU0LjctNTQuNyA1NC43Yy03NS41IDAtMTQ1LjYtMzguOS0xODUuNi0xMDIuOWwtNC4zLTYuOUMxNzQuMiA2Ny42IDEyNSAzNy42IDcwLjcgMzIuN2MtMi4yLS41LTQuNC0uNy02LjctLjdINTUgMzJ6TTY0MCAzODRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ2OGMwIDEzLjMtMTAuNyAyNC0yNCAyNEg2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg1NTJjNDguNiAwIDg4LTM5LjQgODgtODh2LTh6XCJdXG59O1xudmFyIGZhQXJyb3dEb3duMTkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctZG93bi0xLTknLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInNvcnQtbnVtZXJpYy1hc2NcIiwgXCJzb3J0LW51bWVyaWMtZG93blwiXSwgXCJmMTYyXCIsIFwiTTQ1MC43IDM4Yy04LjMtNi0xOS4xLTcuNy0yOC44LTQuNGwtNDggMTZjLTE2LjggNS42LTI1LjggMjMuNy0yMC4yIDQwLjVzMjMuNyAyNS44IDQwLjUgMjAuMmw1LjktMlYxNjBIMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDQ4IDQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDQ2NFY2NGMwLTEwLjMtNC45LTE5LjktMTMuMy0yNnpNMTYwIDQ4MGM5IDAgMTcuNS0zLjggMjMuNi0xMC40bDg4LTk2YzExLjktMTMgMTEuMS0zMy4zLTItNDUuMnMtMzMuMy0xMS4xLTQ1LjIgMkwxOTIgMzY1LjdWNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWMzY1LjdMOTUuNiAzMzAuNGMtMTEuOS0xMy0zMi4yLTEzLjktNDUuMi0ycy0xMy45IDMyLjItMiA0NS4ybDg4IDk2QzE0Mi41IDQ3Ni4yIDE1MSA0ODAgMTYwIDQ4MHpNNDE4LjMgMzA3YTMyIDMyIDAgMSAxIDI3LjQgNTcuOUEzMiAzMiAwIDEgMSA0MTguMyAzMDd6TTQwNS4xIDQxOS44bC02LjggOS4yYy0xMC41IDE0LjItNy41IDM0LjIgNi43IDQ0LjhzMzQuMiA3LjUgNDQuOC02LjdsNDguOC02NS44YzE0LTE4LjkgMjEuNS00MS43IDIxLjUtNjUuMmMwLTQ4LjYtMzkuNC04OC04OC04OHMtODggMzkuNC04OCA4OGMwIDM5LjIgMjUuNiA3Mi40IDYxLjEgODMuOHpcIl1cbn07XG52YXIgZmFTb3J0TnVtZXJpY0FzYyA9IGZhQXJyb3dEb3duMTk7XG52YXIgZmFTb3J0TnVtZXJpY0Rvd24gPSBmYUFycm93RG93bjE5O1xudmFyIGZhSGFuZEhvbGRpbmdEcm9wbGV0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtaG9sZGluZy1kcm9wbGV0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJoYW5kLWhvbGRpbmctd2F0ZXJcIl0sIFwiZjRjMVwiLCBcIk0yNzUuNSA2LjZDMjc4LjMgMi41IDI4MyAwIDI4OCAwczkuNyAyLjUgMTIuNSA2LjZMMzY2LjggMTAzQzM3OCAxMTkuMyAzODQgMTM4LjYgMzg0IDE1OC4zVjE2MGMwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05NnYtMS43YzAtMTkuOCA2LTM5IDE3LjItNTUuM0wyNzUuNSA2LjZ6TTU2OC4yIDMzNi4zYzEzLjEgMTcuOCA5LjMgNDIuOC04LjUgNTUuOUw0MzMuMSA0ODUuNWMtMjMuNCAxNy4yLTUxLjYgMjYuNS04MC43IDI2LjVIMTkyIDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMlY0MTZjMC0xNy43IDE0LjMtMzIgMzItMzJINjguOGw0NC45LTM2YzIyLjctMTguMiA1MC45LTI4IDgwLTI4SDI3MmgxNiA2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgyODggMjcyYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2SDM5Mi42bDExOS43LTg4LjJjMTcuOC0xMy4xIDQyLjgtOS4zIDU1LjkgOC41ek0xOTMuNiAzODRsMCAwLS45IDBjLjMgMCAuNiAwIC45IDB6XCJdXG59O1xudmFyIGZhSGFuZEhvbGRpbmdXYXRlciA9IGZhSGFuZEhvbGRpbmdEcm9wbGV0O1xudmFyIGZhV2F0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2F0ZXInLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY3NzNcIiwgXCJNMjY5LjUgNjkuOWMxMS4xLTcuOSAyNS45LTcuOSAzNyAwQzMyOSA4NS40IDM1Ni41IDk2IDM4NCA5NmMyNi45IDAgNTUuNC0xMC44IDc3LjQtMjYuMWwwIDBjMTEuOS04LjUgMjguMS03LjggMzkuMiAxLjdjMTQuNCAxMS45IDMyLjUgMjEgNTAuNiAyNS4yYzE3LjIgNCAyNy45IDIxLjIgMjMuOSAzOC40cy0yMS4yIDI3LjktMzguNCAyMy45Yy0yNC41LTUuNy00NC45LTE2LjUtNTguMi0yNUM0NDkuNSAxNDkuNyA0MTcgMTYwIDM4NCAxNjBjLTMxLjkgMC02MC42LTkuOS04MC40LTE4LjljLTUuOC0yLjctMTEuMS01LjMtMTUuNi03LjdjLTQuNSAyLjQtOS43IDUuMS0xNS42IDcuN2MtMTkuOCA5LTQ4LjUgMTguOS04MC40IDE4LjljLTMzIDAtNjUuNS0xMC4zLTk0LjUtMjUuOGMtMTMuNCA4LjQtMzMuNyAxOS4zLTU4LjIgMjVjLTE3LjIgNC0zNC40LTYuNy0zOC40LTIzLjlzNi43LTM0LjQgMjMuOS0zOC40QzQyLjggOTIuNiA2MSA4My41IDc1LjMgNzEuNmMxMS4xLTkuNSAyNy4zLTEwLjEgMzkuMi0xLjdsMCAwQzEzNi43IDg1LjIgMTY1LjEgOTYgMTkyIDk2YzI3LjUgMCA1NS0xMC42IDc3LjUtMjYuMXptMzcgMjg4QzMyOSAzNzMuNCAzNTYuNSAzODQgMzg0IDM4NGMyNi45IDAgNTUuNC0xMC44IDc3LjQtMjYuMWwwIDBjMTEuOS04LjUgMjguMS03LjggMzkuMiAxLjdjMTQuNCAxMS45IDMyLjUgMjEgNTAuNiAyNS4yYzE3LjIgNCAyNy45IDIxLjIgMjMuOSAzOC40cy0yMS4yIDI3LjktMzguNCAyMy45Yy0yNC41LTUuNy00NC45LTE2LjUtNTguMi0yNUM0NDkuNSA0MzcuNyA0MTcgNDQ4IDM4NCA0NDhjLTMxLjkgMC02MC42LTkuOS04MC40LTE4LjljLTUuOC0yLjctMTEuMS01LjMtMTUuNi03LjdjLTQuNSAyLjQtOS43IDUuMS0xNS42IDcuN2MtMTkuOCA5LTQ4LjUgMTguOS04MC40IDE4LjljLTMzIDAtNjUuNS0xMC4zLTk0LjUtMjUuOGMtMTMuNCA4LjQtMzMuNyAxOS4zLTU4LjIgMjVjLTE3LjIgNC0zNC40LTYuNy0zOC40LTIzLjlzNi43LTM0LjQgMjMuOS0zOC40YzE4LjEtNC4yIDM2LjItMTMuMyA1MC42LTI1LjJjMTEuMS05LjQgMjcuMy0xMC4xIDM5LjItMS43bDAgMEMxMzYuNyAzNzMuMiAxNjUuMSAzODQgMTkyIDM4NGMyNy41IDAgNTUtMTAuNiA3Ny41LTI2LjFjMTEuMS03LjkgMjUuOS03LjkgMzcgMHptMC0xNDRDMzI5IDIyOS40IDM1Ni41IDI0MCAzODQgMjQwYzI2LjkgMCA1NS40LTEwLjggNzcuNC0yNi4xbDAgMGMxMS45LTguNSAyOC4xLTcuOCAzOS4yIDEuN2MxNC40IDExLjkgMzIuNSAyMSA1MC42IDI1LjJjMTcuMiA0IDI3LjkgMjEuMiAyMy45IDM4LjRzLTIxLjIgMjcuOS0zOC40IDIzLjljLTI0LjUtNS43LTQ0LjktMTYuNS01OC4yLTI1QzQ0OS41IDI5My43IDQxNyAzMDQgMzg0IDMwNGMtMzEuOSAwLTYwLjYtOS45LTgwLjQtMTguOWMtNS44LTIuNy0xMS4xLTUuMy0xNS42LTcuN2MtNC41IDIuNC05LjcgNS4xLTE1LjYgNy43Yy0xOS44IDktNDguNSAxOC45LTgwLjQgMTguOWMtMzMgMC02NS41LTEwLjMtOTQuNS0yNS44Yy0xMy40IDguNC0zMy43IDE5LjMtNTguMiAyNWMtMTcuMiA0LTM0LjQtNi43LTM4LjQtMjMuOXM2LjctMzQuNCAyMy45LTM4LjRjMTguMS00LjIgMzYuMi0xMy4zIDUwLjYtMjUuMmMxMS4xLTkuNSAyNy4zLTEwLjEgMzkuMi0xLjdsMCAwQzEzNi43IDIyOS4yIDE2NS4xIDI0MCAxOTIgMjQwYzI3LjUgMCA1NS0xMC42IDc3LjUtMjYuMWMxMS4xLTcuOSAyNS45LTcuOSAzNyAwelwiXVxufTtcbnZhciBmYUNhbGVuZGFyQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FsZW5kYXItY2hlY2snLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYyNzRcIiwgXCJNMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNjRIMjg4VjMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJWNjRoNDhjMjYuNSAwIDQ4IDIxLjUgNDggNDh2NDhIMFYxMTJDMCA4NS41IDIxLjUgNjQgNDggNjRIOTZWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTAgMTkySDQ0OFY0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjE5MnpNMzI5IDMwNWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC05NSA5NS00Ny00N2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw2NCA2NGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMEwzMjkgMzA1elwiXVxufTtcbnZhciBmYUJyYWlsbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnJhaWxsZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjJhMVwiLCBcIk0wIDk2YTY0IDY0IDAgMSAxIDEyOCAwQTY0IDY0IDAgMSAxIDAgOTZ6TTIyNCAyNzJhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyem0wLTgwYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4ek04MCA0MTZhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHpNMCA0MTZhNjQgNjQgMCAxIDEgMTI4IDBBNjQgNjQgMCAxIDEgMCA0MTZ6bTI0MCAwYTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6bS04MCAwYTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNNjQgMTkyYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4ek0yMjQgMzJhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTM1MiA5NmE2NCA2NCAwIDEgMSAxMjggMEE2NCA2NCAwIDEgMSAzNTIgOTZ6bTI0MCAwYTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6bS04MCAwYTY0IDY0IDAgMSAxIDEyOCAwQTY0IDY0IDAgMSAxIDUxMiA5NnptNjQgMTc2YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnptMC04MGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHptMTYgMjI0YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6bS04MCAwYTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNNDE2IDI3MmExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6bTAtODBhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6bTE2IDIyNGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem0tODAgMGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6XCJdXG59O1xudmFyIGZhUHJlc2NyaXB0aW9uQm90dGxlTWVkaWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwcmVzY3JpcHRpb24tYm90dGxlLW1lZGljYWwnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcInByZXNjcmlwdGlvbi1ib3R0bGUtYWx0XCJdLCBcImY0ODZcIiwgXCJNMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBIMzUyYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjY0YzAgMTcuNy0xNC4zIDMyLTMyIDMySDMyQzE0LjMgOTYgMCA4MS43IDAgNjRWMzJ6bTMyIDk2SDM1MlY0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRIOTZjLTM1LjMgMC02NC0yOC43LTY0LTY0VjEyOHpNMTYwIDI0MHY0OEgxMTJjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoNDh2NDhjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYzNTJoNDhjOC44IDAgMTYtNy4yIDE2LTE2VjMwNGMwLTguOC03LjItMTYtMTYtMTZIMjI0VjI0MGMwLTguOC03LjItMTYtMTYtMTZIMTc2Yy04LjggMC0xNiA3LjItMTYgMTZ6XCJdXG59O1xudmFyIGZhUHJlc2NyaXB0aW9uQm90dGxlQWx0ID0gZmFQcmVzY3JpcHRpb25Cb3R0bGVNZWRpY2FsO1xudmFyIGZhTGFuZG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGFuZG1hcmsnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc5NjNdLCBcImY2NmZcIiwgXCJNMjQwLjEgNC4yYzkuOC01LjYgMjEuOS01LjYgMzEuOCAwbDE3MS44IDk4LjFMNDQ4IDEwNGwwIC45IDQ3LjkgMjcuNGMxMi42IDcuMiAxOC44IDIyIDE1LjEgMzZzLTE2LjQgMjMuOC0zMC45IDIzLjhIMzJjLTE0LjUgMC0yNy4yLTkuOC0zMC45LTIzLjhzMi41LTI4LjggMTUuMS0zNkw2NCAxMDQuOVYxMDRsNC40LTEuNkwyNDAuMSA0LjJ6TTY0IDIyNGg2NFY0MTZoNDBWMjI0aDY0VjQxNmg0OFYyMjRoNjRWNDE2aDQwVjIyNGg2NFY0MjAuM2MuNiAuMyAxLjIgLjcgMS44IDEuMWw0OCAzMmMxMS43IDcuOCAxNyAyMi40IDEyLjkgMzUuOVM0OTQuMSA1MTIgNDgwIDUxMkgzMmMtMTQuMSAwLTI2LjUtOS4yLTMwLjYtMjIuN3MxLjEtMjguMSAxMi45LTM1LjlsNDgtMzJjLjYtLjQgMS4yLS43IDEuOC0xLjFWMjI0elwiXVxufTtcbnZhciBmYVRydWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RydWNrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NjY2LCA5OTUxXSwgXCJmMGQxXCIsIFwiTTQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4VjM2OGMwIDI2LjUgMjEuNSA0OCA0OCA0OEg2NGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2SDM4NGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2aDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyVjI4OCAyNTYgMjM3LjNjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMNTEyIDExNC43Yy0xMi0xMi0yOC4zLTE4LjctNDUuMy0xOC43SDQxNlY0OGMwLTI2LjUtMjEuNS00OC00OC00OEg0OHpNNDE2IDE2MGg1MC43TDU0NCAyMzcuM1YyNTZINDE2VjE2MHpNMTEyIDQxNmE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem0zNjgtNDhhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2elwiXVxufTtcbnZhciBmYUNyb3NzaGFpcnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3Jvc3NoYWlycycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjA1YlwiLCBcIk0yNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMlY0Mi40YzkzLjcgMTMuOSAxNjcuNyA4OCAxODEuNiAxODEuNkg0ODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJINDY5LjZjLTEzLjkgOTMuNy04OCAxNjcuNy0xODEuNiAxODEuNlY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWNDY5LjZDMTMwLjMgNDU1LjcgNTYuMyAzODEuNyA0Mi40IDI4OEgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkg0Mi40QzU2LjMgMTMwLjMgMTMwLjMgNTYuMyAyMjQgNDIuNFYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMTA3LjQgMjg4YzEyLjUgNTguMyA1OC40IDEwNC4xIDExNi42IDExNi42VjM4NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMydjIwLjZjNTguMy0xMi41IDEwNC4xLTU4LjQgMTE2LjYtMTE2LjZIMzg0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyaDIwLjZDMzkyLjEgMTY1LjcgMzQ2LjMgMTE5LjkgMjg4IDEwNy40VjEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYxMDcuNEMxNjUuNyAxMTkuOSAxMTkuOSAxNjUuNyAxMDcuNCAyMjRIMTI4YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDEwNy40ek0yNTYgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFQZXJzb25DYW5lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1jYW5lJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJlNTNjXCIsIFwiTTI3MiA0OGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwem0tOCAxODcuM2w0Ny40IDU3LjFjMTEuMyAxMy42IDMxLjUgMTUuNSA0NS4xIDQuMnMxNS41LTMxLjUgNC4yLTQ1LjFsLTczLjctODguOWMtMTguMi0yMi00NS4zLTM0LjctNzMuOS0zNC43SDE3Ny4xYy0zMy43IDAtNjQuOSAxNy43LTgyLjMgNDYuNmwtNTguMyA5N2MtOS4xIDE1LjEtNC4yIDM0LjggMTAuOSA0My45czM0LjggNC4yIDQzLjktMTAuOUwxMjAgMjU2LjlWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMzUyaDE2VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjIzNS4zek0zNTIgMzc2YzAtNC40IDMuNi04IDgtOHM4IDMuNiA4IDhWNDg4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWMzc2YzAtMzAuOS0yNS4xLTU2LTU2LTU2cy01NiAyNS4xLTU2IDU2djhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNHYtOHpcIl1cbn07XG52YXIgZmFUZW50ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RlbnQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1N2RcIiwgXCJNMjY5LjQgNkMyODAuNS0yIDI5NS41LTIgMzA2LjYgNmwyMjQgMTYwYzcuNCA1LjMgMTIuMiAxMy41IDEzLjIgMjIuNWwzMiAyODhjMSA5LTEuOSAxOC4xLTggMjQuOXMtMTQuNyAxMC43LTIzLjggMTAuN0g0NjQgNDM1LjhjLTEyLjEgMC0yMy4yLTYuOC0yOC42LTE3LjdMMzA2LjcgMjkzLjVjLTEuNy0zLjQtNS4xLTUuNS04LjgtNS41Yy01LjUgMC05LjkgNC40LTkuOSA5LjlWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMySDI0MCAzMmMtOS4xIDAtMTcuOC0zLjktMjMuOC0xMC43cy05LTE1LjgtOC0yNC45bDMyLTI4OGMxLTkgNS44LTE3LjIgMTMuMi0yMi41TDI2OS40IDZ6XCJdXG59O1xudmFyIGZhVmVzdFBhdGNoZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmVzdC1wYXRjaGVzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJlMDg2XCIsIFwiTTE1MS4yIDY5LjdsNTUuOSAxNjcuNy0xMSAzMy4xYy0yLjcgOC4yLTQuMSAxNi43LTQuMSAyNS4zVjQ2NGMwIDE0LjUgMy45IDI4LjIgMTAuNyAzOS45QzE5NSA1MDkgMTg1LjkgNTEyIDE3NiA1MTJINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjI3MC41YzAtOS41IDIuOC0xOC43IDguMS0yNi42bDQ3LjktNzEuOGM1LjMtNy45IDguMS0xNy4xIDguMS0yNi42VjEyOCA1NC4zIDQ4QzY0IDIxLjUgODUuNSAwIDExMiAwaDQuNWMuMiAwIC40IDAgLjYgMGMuNCAwIC44IDAgMS4yIDBjMTguOCAwIDM0LjEgOS43IDQ0LjEgMTguOEMxNzEuNiAyNy4yIDE5MC44IDQwIDIyNCA0MHM1Mi40LTEyLjggNjEuNy0yMS4yQzI5NS43IDkuNyAzMTEgMCAzMjkuNyAwYy40IDAgLjggMCAxLjIgMGMuMiAwIC40IDAgLjYgMEgzMzZjMjYuNSAwIDQ4IDIxLjUgNDggNDh2Ni4zVjEyOHYxNy41YzAgOS41IDIuOCAxOC43IDguMSAyNi42bDQ3LjkgNzEuOGM1LjMgNy45IDguMSAxNy4xIDguMSAyNi42VjQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEgyNzJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjI5NS44YzAtNS4yIC44LTEwLjMgMi41LTE1LjJMMjk2LjggNjkuN0MyNzkuNCA3OS43IDI1NS40IDg4IDIyNCA4OHMtNTUuNC04LjMtNzIuOC0xOC4zek05NiA0NTZhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwek02My41IDI1NS41Yy00LjcgNC43LTQuNyAxMi4zIDAgMTdMNzkgMjg4IDYzLjUgMzAzLjVjLTQuNyA0LjctNC43IDEyLjMgMCAxN3MxMi4zIDQuNyAxNyAwTDk2IDMwNWwxNS41IDE1LjVjNC43IDQuNyAxMi4zIDQuNyAxNyAwczQuNy0xMi4zIDAtMTdMMTEzIDI4OGwxNS41LTE1LjVjNC43LTQuNyA0LjctMTIuMyAwLTE3cy0xMi4zLTQuNy0xNyAwTDk2IDI3MSA4MC41IDI1NS41Yy00LjctNC43LTEyLjMtNC43LTE3IDB6TTMwNCAyODB2OCAzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzIgOGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGgtOHYtOGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHpcIl1cbn07XG52YXIgZmFDaGVja0RvdWJsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGVjay1kb3VibGUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImY1NjBcIiwgXCJNMzQyLjYgODYuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwxNjAgMTc4LjdsLTU3LjQtNTcuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsODAgODBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTYwLTE2MHptOTYgMTI4YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDE2MCA0MDIuNyA1NC42IDI5Ny40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxMjggMTI4YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDI1Ni0yNTZ6XCJdXG59O1xudmFyIGZhQXJyb3dEb3duQVogPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctZG93bi1hLXonLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInNvcnQtYWxwaGEtYXNjXCIsIFwic29ydC1hbHBoYS1kb3duXCJdLCBcImYxNWRcIiwgXCJNMTgzLjYgNDY5LjZDMTc3LjUgNDc2LjIgMTY5IDQ4MCAxNjAgNDgwcy0xNy41LTMuOC0yMy42LTEwLjRsLTg4LTk2Yy0xMS45LTEzLTExLjEtMzMuMyAyLTQ1LjJzMzMuMy0xMS4xIDQ1LjIgMkwxMjggMzY1LjdWNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMlYzNjUuN2wzMi40LTM1LjRjMTEuOS0xMyAzMi4yLTEzLjkgNDUuMi0yczEzLjkgMzIuMiAyIDQ1LjJsLTg4IDk2ek0zMjAgMzIwYzAtMTcuNyAxNC4zLTMyIDMyLTMySDQ4MGMxMi45IDAgMjQuNiA3LjggMjkuNiAxOS44czIuMiAyNS43LTYuOSAzNC45TDQyOS4zIDQxNkg0ODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzUyYy0xMi45IDAtMjQuNi03LjgtMjkuNi0xOS44cy0yLjItMjUuNyA2LjktMzQuOUw0MDIuNyAzNTJIMzUyYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDE2IDMyYzEyLjEgMCAyMy4yIDYuOCAyOC42IDE3LjdsNjQgMTI4IDE2IDMyYzcuOSAxNS44IDEuNSAzNS0xNC4zIDQyLjlzLTM1IDEuNS00Mi45LTE0LjNMNDYwLjIgMjI0SDM3MS44bC03LjIgMTQuM2MtNy45IDE1LjgtMjcuMSAyMi4yLTQyLjkgMTQuM3MtMjIuMi0yNy4xLTE0LjMtNDIuOWwxNi0zMiA2NC0xMjhDMzkyLjggMzguOCA0MDMuOSAzMiA0MTYgMzJ6TTM5NS44IDE3Nmg0MC40TDQxNiAxMzUuNiAzOTUuOCAxNzZ6XCJdXG59O1xudmFyIGZhU29ydEFscGhhQXNjID0gZmFBcnJvd0Rvd25BWjtcbnZhciBmYVNvcnRBbHBoYURvd24gPSBmYUFycm93RG93bkFaO1xudmFyIGZhTW9uZXlCaWxsV2hlYXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9uZXktYmlsbC13aGVhdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTUyYVwiLCBcIk0xNzYgMGM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDguOC03LjIgMTYtMTYgMTZjLTQ0LjIgMC04MC0zNS44LTgwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnpNNTYgMTZoNDhjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRINTZDNDIuNyA2NCAzMiA1My4zIDMyIDQwczEwLjctMjQgMjQtMjR6TTI0IDg4SDEzNmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEgyNGMtMTMuMyAwLTI0LTEwLjctMjQtMjRTMTAuNyA4OCAyNCA4OHptOCA5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGg0OGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEg1NmMtMTMuMyAwLTI0LTEwLjctMjQtMjR6TTI3MiAxNmMwLTguOCA3LjItMTYgMTYtMTZjNDQuMiAwIDgwIDM1LjggODAgODBjMCA4LjgtNy4yIDE2LTE2IDE2Yy00NC4yIDAtODAtMzUuOC04MC04MHpNNDAwIDBjNDQuMiAwIDgwIDM1LjggODAgODBjMCA4LjgtNy4yIDE2LTE2IDE2Yy00NC4yIDAtODAtMzUuOC04MC04MGMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE0NGMwIDQ0LjItMzUuOCA4MC04MCA4MGMtOC44IDAtMTYtNy4yLTE2LTE2YzAtNDQuMiAzNS44LTgwIDgwLTgwYzguOCAwIDE2IDcuMiAxNiAxNnpNMzUyIDEyOGM4LjggMCAxNiA3LjIgMTYgMTZjMCA0NC4yLTM1LjggODAtODAgODBjLTguOCAwLTE2LTcuMi0xNi0xNmMwLTQ0LjIgMzUuOC04MCA4MC04MHptLTk2IDE2YzAgNDQuMi0zNS44IDgwLTgwIDgwYy04LjggMC0xNi03LjItMTYtMTZjMC00NC4yIDM1LjgtODAgODAtODBjOC44IDAgMTYgNy4yIDE2IDE2ek0wIDMwNGMwLTI2LjUgMjEuNS00OCA0OC00OEg0NjRjMjYuNSAwIDQ4IDIxLjUgNDggNDhWNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFYzMDR6TTQ4IDQxNnY0OEg5NmMwLTI2LjUtMjEuNS00OC00OC00OHpNOTYgMzA0SDQ4djQ4YzI2LjUgMCA0OC0yMS41IDQ4LTQ4ek00NjQgNDE2Yy0yNi41IDAtNDggMjEuNS00OCA0OGg0OFY0MTZ6TTQxNiAzMDRjMCAyNi41IDIxLjUgNDggNDggNDhWMzA0SDQxNnptLTk2IDgwYTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHpcIl1cbn07XG52YXIgZmFDb29raWUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29va2llJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3ODUwXSwgXCJmNTYzXCIsIFwiTTI0Ny4yIDE3Yy0yMi4xLTMuMS00NC42IC45LTY0LjQgMTEuNGwtNzQgMzkuNUM4OS4xIDc4LjQgNzMuMiA5NC45IDYzLjQgMTE1TDI2LjcgMTkwLjZjLTkuOCAyMC4xLTEzIDQyLjktOS4xIDY0LjlsMTQuNSA4Mi44YzMuOSAyMi4xIDE0LjYgNDIuMyAzMC43IDU3LjlsNjAuMyA1OC40YzE2LjEgMTUuNiAzNi42IDI1LjYgNTguNyAyOC43bDgzIDExLjdjMjIuMSAzLjEgNDQuNi0uOSA2NC40LTExLjRsNzQtMzkuNWMxOS43LTEwLjUgMzUuNi0yNyA0NS40LTQ3LjJsMzYuNy03NS41YzkuOC0yMC4xIDEzLTQyLjkgOS4xLTY0LjlsLTE0LjYtODIuOGMtMy45LTIyLjEtMTQuNi00Mi4zLTMwLjctNTcuOUwzODguOSA1Ny41Yy0xNi4xLTE1LjYtMzYuNi0yNS42LTU4LjctMjguN0wyNDcuMiAxN3pNMjA4IDE0NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTE0NCAzMzZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMjI0LTY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFBcnJvd1JvdGF0ZUxlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctcm90YXRlLWxlZnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs4NjM0LCBcImFycm93LWxlZnQtcm90YXRlXCIsIFwiYXJyb3ctcm90YXRlLWJhY2tcIiwgXCJhcnJvdy1yb3RhdGUtYmFja3dhcmRcIiwgXCJ1bmRvXCJdLCBcImYwZTJcIiwgXCJNMTI1LjcgMTYwSDE3NmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnY1MS4yTDk3LjYgOTcuNmM4Ny41LTg3LjUgMjI5LjMtODcuNSAzMTYuOCAwczg3LjUgMjI5LjMgMCAzMTYuOHMtMjI5LjMgODcuNS0zMTYuOCAwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwYzYyLjUgNjIuNSAxNjMuOCA2Mi41IDIyNi4zIDBzNjIuNS0xNjMuOCAwLTIyNi4zcy0xNjMuOC02Mi41LTIyNi4zIDBMMTI1LjcgMTYwelwiXVxufTtcbnZhciBmYUFycm93TGVmdFJvdGF0ZSA9IGZhQXJyb3dSb3RhdGVMZWZ0O1xudmFyIGZhQXJyb3dSb3RhdGVCYWNrID0gZmFBcnJvd1JvdGF0ZUxlZnQ7XG52YXIgZmFBcnJvd1JvdGF0ZUJhY2t3YXJkID0gZmFBcnJvd1JvdGF0ZUxlZnQ7XG52YXIgZmFVbmRvID0gZmFBcnJvd1JvdGF0ZUxlZnQ7XG52YXIgZmFIYXJkRHJpdmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFyZC1kcml2ZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODQzNiwgXCJoZGRcIl0sIFwiZjBhMFwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMySDQ0OGMzNS4zIDAgNjQgMjguNyA2NCA2NFYyODAuNGMtMTctMTUuMi0zOS40LTI0LjQtNjQtMjQuNEg2NGMtMjQuNiAwLTQ3IDkuMi02NCAyNC40Vjk2ek02NCAyODhINDQ4YzM1LjMgMCA2NCAyOC43IDY0IDY0djY0YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFYzNTJjMC0zNS4zIDI4LjctNjQgNjQtNjR6TTMyMCA0MTZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0xMjgtMzJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpcIl1cbn07XG52YXIgZmFIZGQgPSBmYUhhcmREcml2ZTtcbnZhciBmYUZhY2VHcmluU3F1aW50VGVhcnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1ncmluLXNxdWludC10ZWFycycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyOTMxNSwgXCJncmluLXNxdWludC10ZWFyc1wiXSwgXCJmNTg2XCIsIFwiTTQyNi44IDE0LjJDNDQ2LTUgNDc3LjUtNC42IDQ5Ny4xIDE0LjlzMjAgNTEgLjcgNzAuM2MtNi44IDYuOC0yMS40IDEyLjQtMzcuNCAxNi43Yy0xNi4zIDQuNC0zNC4xIDcuNS00Ni4zIDkuM2MtMS42IC4yLTMuMSAuNS00LjYgLjZjLTUuNiAuOS0xMC4zLTMuOS05LjUtOS41YzEuNi0xMS4yIDQuNi0yOS42IDktNDdjLjMtMS4zIC43LTIuNiAxLTMuOWM0LjMtMTUuOSA5LjgtMzAuNSAxNi43LTM3LjR6bS00NC43IDE5Yy0xLjUgNC44LTIuOSA5LjYtNC4xIDE0LjNjLTQuOCAxOC45LTggMzguNS05LjcgNTAuM2MtNCAyNi44IDE4LjkgNDkuNyA0NS43IDQ1LjhjMTEuOS0xLjYgMzEuNS00LjggNTAuNC05LjdjNC43LTEuMiA5LjUtMi41IDE0LjMtNC4xQzUzNC4yIDIyNy41IDUyMC4yIDM1My44IDQzNyA0MzdjLTgzLjIgODMuMi0yMDkuNSA5Ny4yLTMwNy4yIDQxLjhjMS41LTQuOCAyLjgtOS42IDQtMTQuM2M0LjgtMTguOSA4LTM4LjUgOS43LTUwLjNjNC0yNi44LTE4LjktNDkuNy00NS43LTQ1LjhjLTExLjkgMS42LTMxLjUgNC44LTUwLjQgOS43Yy00LjcgMS4yLTkuNSAyLjUtMTQuMyA0LjFDLTIyLjIgMjg0LjUtOC4yIDE1OC4yIDc1IDc1QzE1OC4yLTguMyAyODQuNS0yMi4yIDM4Mi4yIDMzLjJ6TTUxLjUgNDEwLjFjMTguNS01IDM4LjgtOC4zIDUwLjktMTBjNS42LS45IDEwLjMgMy45IDkuNSA5LjVjLTEuNyAxMi4xLTUgMzIuNC0xMCA1MC45Qzk3LjYgNDc2LjQgOTIgNDkxIDg1LjIgNDk3LjhDNjYgNTE3IDM0LjUgNTE2LjYgMTQuOSA0OTcuMXMtMjAtNTEtLjctNzAuM2M2LjgtNi44IDIxLjQtMTIuNCAzNy40LTE2Ljd6TTQxNi40IDIwMi4zYy00LjgtMTEuOS0yMC45LTEwLjktMjYuOSAuNGMtMTkuNCAzNi43LTQ2LjMgNzMuMi03OS44IDEwNi43cy03MCA2MC4zLTEwNi43IDc5LjhjLTExLjMgNi0xMi4zIDIyLjEtLjQgMjYuOWM1OS40IDI0LjEgMTI5LjkgMTIuMiAxNzcuOS0zNS44czU5LjktMTE4LjUgMzUuOC0xNzcuOXpNODcuMSAyODUuMWMyIDIgNC42IDMuMiA3LjMgMy40bDU2LjEgNS4xIDUuMSA1Ni4xYy4zIDIuOCAxLjUgNS40IDMuNCA3LjNjNi4zIDYuMyAxNy4yIDMuNiAxOS44LTQuOWwyOS43LTk3LjRjMy41LTExLjYtNy4zLTIyLjUtMTktMTlMOTIgMjY1LjNjLTguNiAyLjYtMTEuMyAxMy40LTQuOSAxOS44ek0yNjUuMyA5MmwtMjkuNyA5Ny40Yy0zLjUgMTEuNiA3LjMgMjIuNSAxOSAxOWw5Ny40LTI5LjdjOC42LTIuNiAxMS4zLTEzLjQgNC45LTE5LjhjLTItMi00LjYtMy4yLTcuMy0zLjRsLTU2LjEtNS4xLTUuMS01Ni4xYy0uMy0yLjgtMS41LTUuNC0zLjQtNy4zYy02LjMtNi4zLTE3LjItMy42LTE5LjggNC45elwiXVxufTtcbnZhciBmYUdyaW5TcXVpbnRUZWFycyA9IGZhRmFjZUdyaW5TcXVpbnRUZWFycztcbnZhciBmYUR1bWJiZWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2R1bWJiZWxsJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNDRiXCIsIFwiTTk2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyaDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjIyNHY2NFY0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJIMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYzODRINjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMlYxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJIOTZWNjR6bTQ0OCAwdjY0aDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMydjY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMydjY0YzAgMTcuNy0xNC4zIDMyLTMyIDMySDU0NHY2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkg0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjI4OCAyMjQgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJoMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6TTQxNiAyMjR2NjRIMjI0VjIyNEg0MTZ6XCJdXG59O1xudmFyIGZhUmVjdGFuZ2xlTGlzdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyZWN0YW5nbGUtbGlzdCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1wibGlzdC1hbHRcIl0sIFwiZjAyMlwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMySDUxMmMzNS4zIDAgNjQgMjguNyA2NCA2NFY0MTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0Vjk2ek0xMjggMjg4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMzItMTI4YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTEyOCAzODRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em05Ni0yNDhjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRINDQ4YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDIyNHptMCA5NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNEg0NDhjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRIMjI0em0wIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0SDQ0OGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEgyMjR6XCJdXG59O1xudmFyIGZhTGlzdEFsdCA9IGZhUmVjdGFuZ2xlTGlzdDtcbnZhciBmYVRhcnBEcm9wbGV0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhcnAtZHJvcGxldCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU3Y1wiLCBcIk0yODggMTYwYy0zNS4zIDAtNjQtMjYuOS02NC02MGMwLTI0IDMzLjctNzAuMSA1Mi4yLTkzLjVjNi4xLTcuNyAxNy41LTcuNyAyMy42IDBDMzE4LjMgMjkuOSAzNTIgNzYgMzUyIDEwMGMwIDMzLjEtMjguNyA2MC02NCA2MHpNNjQgMTI4SDE5Ny41YzEzLjIgMzcuMyA0OC43IDY0IDkwLjUgNjRzNzcuNC0yNi43IDkwLjUtNjRINTEyYzM1LjMgMCA2NCAyOC43IDY0IDY0VjM1Mkg0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTI4TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMTkyYzAtMzUuMyAyOC43LTY0IDY0LTY0ek00NDggNTEybDAtMTI4SDU3Nkw0NDggNTEyek05NiAyNTZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbnZhciBmYUhvdXNlTWVkaWNhbENpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLW1lZGljYWwtY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTExXCIsIFwiTTMyMCAzNjhjMCA1OS41IDI5LjUgMTEyLjEgNzQuOCAxNDRIMTI4LjFjLTM1LjMgMC02NC0yOC43LTY0LTY0VjI4Ny42SDMyYy0xOCAwLTMyLTE0LTMyLTMyLjFjMC05IDMtMTcgMTAtMjRMMjY2LjQgOGM3LTcgMTUtOCAyMi04czE1IDIgMjEgN0w1MjIuMSAxOTMuOWMtOC41LTEuMy0xNy4zLTEuOS0yNi4xLTEuOWMtNTQuNyAwLTEwMy41IDI0LjktMTM1LjggNjRIMzIwVjIwOGMwLTguOC03LjItMTYtMTYtMTZIMjcyYy04LjggMC0xNiA3LjItMTYgMTZ2NDhIMjA4Yy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDQ4djQ4YzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZ6bTMyIDBhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMjExLjMtNDMuM2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBMNDgwIDM4NS40bC0yOC43LTI4LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsNDAgNDBjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBsNzItNzJjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZ6XCJdXG59O1xudmFyIGZhUGVyc29uU2tpaW5nTm9yZGljID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1za2lpbmctbm9yZGljJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJza2lpbmctbm9yZGljXCJdLCBcImY3Y2FcIiwgXCJNMzM2IDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNMjI3LjIgMTYwYzEuOSAwIDMuOCAuMSA1LjYgLjNMMjAxLjYgMjU0Yy05LjMgMjggMS43IDU4LjggMjYuOCA3NC41bDg2LjIgNTMuOUwyOTEuMyA0NjRIMjAyLjhsNDEuMS04OC4xLTMyLjQtMjAuM2MtNy44LTQuOS0xNC43LTEwLjctMjAuNi0xNy4zTDEzMi4yIDQ2NEg5OS43bDU0LjItMjU3LjZjNC42LTEuNSA5LTQuMSAxMi43LTcuOGwyMy4xLTIzLjFjOS45LTkuOSAyMy40LTE1LjUgMzcuNS0xNS41ek0xMjEuNCAxOTguNmMuNCAuNCAuOCAuOCAxLjMgMS4yTDY3IDQ2NEgyNGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNEgxNTkuM2MuNCAwIC45IDAgMS4zIDBIMzE5LjNjLjUgMCAxIDAgMS40IDBINTA0YzM5LjggMCA3Mi0zMi4yIDcyLTcydi04YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0djhjMCAxMy4zLTEwLjcgMjQtMjQgMjRINDM0LjZsMjcuNi0xNzkuM2MxMC41LTUuMiAxNy44LTE2LjEgMTcuOC0yOC43YzAtMTcuNy0xNC4zLTMyLTMyLTMySDQyNi43Yy0xMi45IDAtMjQuNi03LjgtMjkuNS0xOS43bC02LjMtMTVjLTE0LjYtMzUuMS00NC4xLTYxLjktODAuNS03My4xbC00OC43LTE1Yy0xMS4xLTMuNC0yMi43LTUuMi0zNC40LTUuMmMtMzEgMC02MC44IDEyLjMtODIuNyAzNC4zbC0yMy4xIDIzLjFjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zem0zMDggODkuNEw0MDIuMyA0NjRIMzU3LjhsMjEuNi03NS42YzUuOS0yMC42LTIuNi00Mi42LTIwLjctNTMuOUwzMDIgMjk5bDMwLjktODIuNCA1LjEgMTIuM0MzNTMgMjY0LjcgMzg3LjkgMjg4IDQyNi43IDI4OGgyLjd6XCJdXG59O1xudmFyIGZhU2tpaW5nTm9yZGljID0gZmFQZXJzb25Ta2lpbmdOb3JkaWM7XG52YXIgZmFDYWxlbmRhclBsdXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FsZW5kYXItcGx1cycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjI3MVwiLCBcIk05NiAzMlY2NEg0OEMyMS41IDY0IDAgODUuNSAwIDExMnY0OEg0NDhWMTEyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDM1MlYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlY2NEgxNjBWMzJjMC0xNy43LTE0LjMtMzItMzItMzJTOTYgMTQuMyA5NiAzMnpNNDQ4IDE5MkgwVjQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OEg0MDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMTkyek0yMjQgMjQ4YzEzLjMgMCAyNCAxMC43IDI0IDI0djU2aDU2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDI0OHY1NmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYzNzZIMTQ0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0aDU2VjI3MmMwLTEzLjMgMTAuNy0yNCAyNC0yNHpcIl1cbn07XG52YXIgZmFQbGFuZUFycml2YWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGxhbmUtYXJyaXZhbCcsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODc0OF0sIFwiZjVhZlwiLCBcIk0uMyAxNjYuOUwwIDY4QzAgNTcuNyA5LjUgNTAuMSAxOS41IDUyLjNsMzUuNiA3LjljMTAuNiAyLjMgMTkuMiA5LjkgMjMgMjBMOTYgMTI4bDEyNy4zIDM3LjZMMTgxLjggMjAuNEMxNzguOSAxMC4yIDE4Ni42IDAgMTk3LjIgMGg0MC4xYzExLjYgMCAyMi4yIDYuMiAyNy45IDE2LjNsMTA5IDE5My44IDEwNy4yIDMxLjdjMTUuOSA0LjcgMzAuOCAxMi41IDQzLjcgMjIuOGwzNC40IDI3LjZjMjQgMTkuMiAxOC4xIDU3LjMtMTAuNyA2OC4yYy00MS4yIDE1LjYtODYuMiAxOC4xLTEyOC44IDdMMTIxLjcgMjg5LjhjLTExLjEtMi45LTIxLjItOC43LTI5LjMtMTYuOUw5LjUgMTg5LjRjLTUuOS02LTkuMy0xNC4xLTkuMy0yMi41ek0zMiA0NDhINjA4YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem05Ni04MGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xMjgtMTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbnZhciBmYUNpcmNsZUxlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLWxlZnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MTg0MCwgXCJhcnJvdy1hbHQtY2lyY2xlLWxlZnRcIl0sIFwiZjM1OVwiLCBcIk01MTIgMjU2QTI1NiAyNTYgMCAxIDAgMCAyNTZhMjU2IDI1NiAwIDEgMCA1MTIgMHpNMjE3LjQgMzc2LjlMMTE3LjUgMjY5LjhjLTMuNS0zLjgtNS41LTguNy01LjUtMTMuOHMyLTEwLjEgNS41LTEzLjhsOTkuOS0xMDcuMWM0LjItNC41IDEwLjEtNy4xIDE2LjMtNy4xYzEyLjMgMCAyMi4zIDEwIDIyLjMgMjIuM2wwIDU3LjcgOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwIDAgNTcuN2MwIDEyLjMtMTAgMjIuMy0yMi4zIDIyLjNjLTYuMiAwLTEyLjEtMi42LTE2LjMtNy4xelwiXVxufTtcbnZhciBmYUFycm93QWx0Q2lyY2xlTGVmdCA9IGZhQ2lyY2xlTGVmdDtcbnZhciBmYVRyYWluU3Vid2F5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyYWluLXN1YndheScsXG4gIGljb246IFs0NDgsIDUxMiwgW1wic3Vid2F5XCJdLCBcImYyMzlcIiwgXCJNOTYgMEM0MyAwIDAgNDMgMCA5NlYzNTJjMCA0OCAzNS4yIDg3LjcgODEuMSA5NC45bC00NiA0NkMyOC4xIDQ5OS45IDMzLjEgNTEyIDQzIDUxMkg4Mi43YzguNSAwIDE2LjYtMy40IDIyLjYtOS40TDE2MCA0NDhIMjg4bDU0LjYgNTQuNmM2IDYgMTQuMSA5LjQgMjIuNiA5LjRINDA1YzEwIDAgMTUtMTIuMSA3LjktMTkuMWwtNDYtNDZjNDYtNy4xIDgxLjEtNDYuOSA4MS4xLTk0LjlWOTZjMC01My00My05Ni05Ni05Nkg5NnpNNjQgMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyaDgwYzE3LjcgMCAzMiAxNC4zIDMyIDMydjk2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYxMjh6TTI3MiA5Nmg4MGMxNy43IDAgMzIgMTQuMyAzMiAzMnY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMkgyNzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNjQgMzUyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTI4OC0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhU3Vid2F5ID0gZmFUcmFpblN1YndheTtcbnZhciBmYUNoYXJ0R2FudHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hhcnQtZ2FudHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImUwZTRcIiwgXCJNMzIgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNDAwYzAgOC44IDcuMiAxNiAxNiAxNkg0ODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIODBjLTQ0LjIgMC04MC0zNS44LTgwLTgwVjY0QzAgNDYuMyAxNC4zIDMyIDMyIDMyem05NiA5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDE2MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6bTk2IDY0SDM1MmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgyMjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTE2MCA5Nmg2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzODRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6XCJdXG59O1xudmFyIGZhSW5kaWFuUnVwZWVTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2luZGlhbi1ydXBlZS1zaWduJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJpbmRpYW4tcnVwZWVcIiwgXCJpbnJcIl0sIFwiZTFiY1wiLCBcIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMySDk2aDE2SDI4OGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgyMzEuOGM5LjYgMTQuNCAxNi43IDMwLjYgMjAuNyA0OEgyODhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMjUyLjRjLTEzLjIgNTguMy02MS45IDEwMy4yLTEyMi4yIDExMC45TDI3NC42IDQyMmMxNC40IDEwLjMgMTcuNyAzMC4zIDcuNCA0NC42cy0zMC4zIDE3LjctNDQuNiA3LjRMMTMuNCAzMTRDMi4xIDMwNi0yLjcgMjkxLjUgMS41IDI3OC4yUzE4LjEgMjU2IDMyIDI1Nmg4MGMzMi44IDAgNjEtMTkuNyA3My4zLTQ4SDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDE4NS4zQzE3MyAxMTUuNyAxNDQuOCA5NiAxMTIgOTZIOTYgMzJDMTQuMyA5NiAwIDgxLjcgMCA2NHpcIl1cbn07XG52YXIgZmFJbmRpYW5SdXBlZSA9IGZhSW5kaWFuUnVwZWVTaWduO1xudmFyIGZhSW5yID0gZmFJbmRpYW5SdXBlZVNpZ247XG52YXIgZmFDcm9wU2ltcGxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nyb3Atc2ltcGxlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJjcm9wLWFsdFwiXSwgXCJmNTY1XCIsIFwiTTEyOCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMlM2NCAxNC4zIDY0IDMyVjY0SDMyQzE0LjMgNjQgMCA3OC4zIDAgOTZzMTQuMyAzMiAzMiAzMkg2NFYzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzUyVjM4NEgxMjhWMzJ6TTM4NCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlY0NDhoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINDQ4bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDE2MCA2NHY2NGwyMjQgMCAwIDM1MnpcIl1cbn07XG52YXIgZmFDcm9wQWx0ID0gZmFDcm9wU2ltcGxlO1xudmFyIGZhTW9uZXlCaWxsMSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb25leS1iaWxsLTEnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcIm1vbmV5LWJpbGwtYWx0XCJdLCBcImYzZDFcIiwgXCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhWMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0SDUxMmMzNS4zIDAgNjQtMjguNyA2NC02NFYxMjhjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6bTY0IDMyMEg2NFYzMjBjMzUuMyAwIDY0IDI4LjcgNjQgNjR6TTY0IDE5MlYxMjhoNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjR6TTQ0OCAzODRjMC0zNS4zIDI4LjctNjQgNjQtNjR2NjRINDQ4em02NC0xOTJjLTM1LjMgMC02NC0yOC43LTY0LTY0aDY0djY0ek0xNzYgMjU2YTExMiAxMTIgMCAxIDEgMjI0IDAgMTEyIDExMiAwIDEgMSAtMjI0IDB6bTc2LTQ4YzAgOS43IDYuOSAxNy43IDE2IDE5LjZWMjc2aC00Yy0xMSAwLTIwIDktMjAgMjBzOSAyMCAyMCAyMGgyNCAyNGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBoLTRWMjA4YzAtMTEtOS0yMC0yMC0yMEgyNzJjLTExIDAtMjAgOS0yMCAyMHpcIl1cbn07XG52YXIgZmFNb25leUJpbGxBbHQgPSBmYU1vbmV5QmlsbDE7XG52YXIgZmFMZWZ0TG9uZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsZWZ0LWxvbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImxvbmctYXJyb3ctYWx0LWxlZnRcIl0sIFwiZjMwYVwiLCBcIk0xNzcuNSA0MTRjLTguOCAzLjgtMTkgMi0yNi00LjZsLTE0NC0xMzZDMi43IDI2OC45IDAgMjYyLjYgMCAyNTZzMi43LTEyLjkgNy41LTE3LjRsMTQ0LTEzNmM3LTYuNiAxNy4yLTguNCAyNi00LjZzMTQuNSAxMi41IDE0LjUgMjJsMCA3MiAyODggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yODggMCAwIDcyYzAgOS42LTUuNyAxOC4yLTE0LjUgMjJ6XCJdXG59O1xudmFyIGZhTG9uZ0Fycm93QWx0TGVmdCA9IGZhTGVmdExvbmc7XG52YXIgZmFEbmEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZG5hJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI5NTE2XSwgXCJmNDcxXCIsIFwiTTQxNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyYzAgNTkuOC0zMC4zIDEwNy41LTY5LjQgMTQ2LjZjLTI4IDI4LTYyLjUgNTMuNS05Ny4zIDc3LjRsLTIuNSAxLjdjLTExLjkgOC4xLTIzLjggMTYuMS0zNS41IDIzLjlsMCAwIDAgMCAwIDAtMS42IDFjLTYgNC0xMS45IDcuOS0xNy44IDExLjljLTIwLjkgMTQtNDAuOCAyNy43LTU5LjMgNDEuNUgyODMuM2MtOS44LTcuNC0yMC4xLTE0LjctMzAuNy0yMi4xbDctNC43IDMtMmMxNS4xLTEwLjEgMzAuOS0yMC42IDQ2LjctMzEuNmMyNSAxOC4xIDQ4LjkgMzcuMyA2OS40IDU3LjdDNDE3LjcgMzcyLjUgNDQ4IDQyMC4yIDQ0OCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJINjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJjMC01OS44IDMwLjMtMTA3LjUgNjkuNC0xNDYuNmMyOC0yOCA2Mi41LTUzLjUgOTcuMy03Ny40Yy0zNC44LTIzLjktNjkuMy00OS4zLTk3LjMtNzcuNEMzMC4zIDEzOS41IDAgOTEuOCAwIDMyQzAgMTQuMyAxNC4zIDAgMzIgMFM2NCAxNC4zIDY0IDMySDM4NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzM4LjYgMzg0SDEwOS40Yy0xMC4xIDEwLjYtMTguNiAyMS4zLTI1LjUgMzJIMzY0LjFjLTYuOC0xMC43LTE1LjMtMjEuNC0yNS41LTMyek0xMDkuNCAxMjhIMzM4LjZjMTAuMS0xMC43IDE4LjYtMjEuMyAyNS41LTMySDgzLjljNi44IDEwLjcgMTUuMyAyMS4zIDI1LjUgMzJ6bTU1LjQgNDhjMTguNCAxMy44IDM4LjQgMjcuNSA1OS4zIDQxLjVjMjAuOS0xNCA0MC44LTI3LjcgNTkuMy00MS41SDE2NC43elwiXVxufTtcbnZhciBmYVZpcnVzU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmlydXMtc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImUwNzVcIiwgXCJNMzguOCA1LjFDMjguNC0zLjEgMTMuMy0xLjIgNS4xIDkuMlMtMS4yIDM0LjcgOS4yIDQyLjlsNTkyIDQ2NGMxMC40IDguMiAyNS41IDYuMyAzMy43LTQuMXM2LjMtMjUuNS00LjEtMzMuN2wtMTU0LjMtMTIxYy0yLTMwLjEgMjAuOC02MC4xIDU2LTYwLjFINTQ0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDUzMi41Yy00OS45IDAtNzQuOS02MC4zLTM5LjYtOTUuNmw4LjItOC4yYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC04LjIgOC4yQzQxMi4zIDExOC40IDM1MiA5My40IDM1MiA0My41VjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjQzLjVjMCA0OS45LTYwLjMgNzQuOS05NS42IDM5LjZMMTg0LjIgNzVjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwYy0xLjYgMS42LTMuMSAzLjQtNC4zIDUuM0wzOC44IDUuMXptMjI1LjggMTc3YzYuOS0zLjkgMTQuOS02LjEgMjMuNC02LjFjMjYuNSAwIDQ4IDIxLjUgNDggNDhjMCA0LjQtLjYgOC43LTEuNyAxMi43bC02OS43LTU0LjZ6TTQwMiA0MTIuN0wxNDQuNyAyMTBjLTkuNSA4LjUtMjIuMiAxNC0zNy4yIDE0SDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDExLjVjNDkuOSAwIDc0LjkgNjAuMyAzOS42IDk1LjZsLTguMiA4LjJjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsOC4yLTguMmMzNS4zLTM1LjMgOTUuNi0xMC4zIDk1LjYgMzkuNlY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlY0NjguNWMwLTMxLjIgMjMuNi01Mi43IDUwLTU1Ljd6XCJdXG59O1xudmFyIGZhTWludXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWludXMnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs4MjExLCA4NzIyLCAxMDEzNCwgXCJzdWJ0cmFjdFwiXSwgXCJmMDY4XCIsIFwiTTQzMiAyNTZjMCAxNy43LTE0LjMgMzItMzIgMzJMNDggMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDM1MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyelwiXVxufTtcbnZhciBmYVN1YnRyYWN0ID0gZmFNaW51cztcbnZhciBmYUNoZXNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZXNzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNDM5XCIsIFwiTTE0NCAxNmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNlYzMkg5NmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmgxNlY5Nkg2MC4yQzQ5LjEgOTYgNDAgMTA1LjEgNDAgMTE2LjJjMCAyLjUgLjUgNC45IDEuMyA3LjNMNzMuOCAyMDhINzJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRoNEw2MCAzODRIMTk2TDE4MCAyNTZoNGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGgtMS44bDMyLjUtODQuNWMuOS0yLjMgMS4zLTQuOCAxLjMtNy4zYzAtMTEuMi05LjEtMjAuMi0yMC4yLTIwLjJIMTQ0VjY0aDE2YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDE0NFYxNnpNNDggNDE2TDQuOCA0NzMuNkMxLjcgNDc3LjggMCA0ODIuOCAwIDQ4OGMwIDEzLjMgMTAuNyAyNCAyNCAyNEgyMzJjMTMuMyAwIDI0LTEwLjcgMjQtMjRjMC01LjItMS43LTEwLjItNC44LTE0LjRMMjA4IDQxNkg0OHptMjg4IDBsLTQzLjIgNTcuNmMtMy4xIDQuMi00LjggOS4yLTQuOCAxNC40YzAgMTMuMyAxMC43IDI0IDI0IDI0SDQ4OGMxMy4zIDAgMjQtMTAuNyAyNC0yNGMwLTUuMi0xLjctMTAuMi00LjgtMTQuNEw0NjQgNDE2SDMzNnpNMzA0IDIwOHY1MS45YzAgNy44IDIuOCAxNS4zIDggMjEuMUwzMzkuMiAzMTIgMzM3IDM4NEg0NjIuNWwtMy4zLTcyIDI4LjMtMzAuOGM1LjQtNS45IDguNS0xMy42IDguNS0yMS43VjIwOGMwLTguOC03LjItMTYtMTYtMTZINDY0Yy04LjggMC0xNiA3LjItMTYgMTZ2MTZINDI0VjIwOGMwLTguOC03LjItMTYtMTYtMTZIMzkyYy04LjggMC0xNiA3LjItMTYgMTZ2MTZIMzUyVjIwOGMwLTguOC03LjItMTYtMTYtMTZIMzIwYy04LjggMC0xNiA3LjItMTYgMTZ6bTgwIDk2YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ2MzJIMzg0VjMwNHpcIl1cbn07XG52YXIgZmFBcnJvd0xlZnRMb25nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LWxlZnQtbG9uZycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibG9uZy1hcnJvdy1sZWZ0XCJdLCBcImYxNzdcIiwgXCJNOS40IDIzMy40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMjggMTI4YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMTA5LjMgMjg4IDQ4MCAyODhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTM3MC43IDAgNzMuNC03My40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0xMjggMTI4elwiXVxufTtcbnZhciBmYUxvbmdBcnJvd0xlZnQgPSBmYUFycm93TGVmdExvbmc7XG52YXIgZmFQbHVnQ2lyY2xlQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGx1Zy1jaXJjbGUtY2hlY2snLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1NWNcIiwgXCJNOTYgMEM3OC4zIDAgNjQgMTQuMyA2NCAzMnY5Nmg2NFYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMjg4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjk2aDY0VjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek0zMiAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ2MzJjMCA3Ny40IDU1IDE0MiAxMjggMTU2LjhWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWNDEyLjhjMTIuMy0yLjUgMjQuMS02LjQgMzUuMS0xMS41Yy0yLjEtMTAuOC0zLjEtMjEuOS0zLjEtMzMuM2MwLTgwLjMgNTMuOC0xNDggMTI3LjMtMTY5LjJjLjUtMi4yIC43LTQuNSAuNy02LjhjMC0xNy43LTE0LjMtMzItMzItMzJIMzJ6TTU3NiAzNjhhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTc2LjctNDMuM2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNmwtNzIgNzJjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwbC00MC00MGMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQxNiAzODUuNGw2MC43LTYwLjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDB6XCJdXG59O1xudmFyIGZhU3RyZWV0VmlldyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdHJlZXQtdmlldycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjIxZFwiLCBcIk0zMjAgNjRBNjQgNjQgMCAxIDAgMTkyIDY0YTY0IDY0IDAgMSAwIDEyOCAwem0tOTYgOTZjLTM1LjMgMC02NCAyOC43LTY0IDY0djQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyaDEuOGwxMS4xIDk5LjVjMS44IDE2LjIgMTUuNSAyOC41IDMxLjggMjguNWgzOC43YzE2LjMgMCAzMC0xMi4zIDMxLjgtMjguNUwzMTguMiAzMDRIMzIwYzE3LjcgMCAzMi0xNC4zIDMyLTMyVjIyNGMwLTM1LjMtMjguNy02NC02NC02NEgyMjR6TTEzMi4zIDM5NC4yYzEzLTIuNCAyMS43LTE0LjkgMTkuMy0yNy45cy0xNC45LTIxLjctMjcuOS0xOS4zYy0zMi40IDUuOS02MC45IDE0LjItODIgMjQuOGMtMTAuNSA1LjMtMjAuMyAxMS43LTI3LjggMTkuNkM2LjQgMzk5LjUgMCA0MTAuNSAwIDQyNGMwIDIxLjQgMTUuNSAzNi4xIDI5LjEgNDVjMTQuNyA5LjYgMzQuMyAxNy4zIDU2LjQgMjMuNEMxMzAuMiA1MDQuNyAxOTAuNCA1MTIgMjU2IDUxMnMxMjUuOC03LjMgMTcwLjQtMTkuNmMyMi4xLTYuMSA0MS44LTEzLjggNTYuNC0yMy40YzEzLjctOC45IDI5LjEtMjMuNiAyOS4xLTQ1YzAtMTMuNS02LjQtMjQuNS0xNC0zMi42Yy03LjUtNy45LTE3LjMtMTQuMy0yNy44LTE5LjZjLTIxLTEwLjYtNDkuNS0xOC45LTgyLTI0LjhjLTEzLTIuNC0yNS41IDYuMy0yNy45IDE5LjNzNi4zIDI1LjUgMTkuMyAyNy45YzMwLjIgNS41IDUzLjcgMTIuOCA2OSAyMC41YzMuMiAxLjYgNS44IDMuMSA3LjkgNC41YzMuNiAyLjQgMy42IDcuMiAwIDkuNmMtOC44IDUuNy0yMy4xIDExLjgtNDMgMTcuM0MzNzQuMyA0NTcgMzE4LjUgNDY0IDI1NiA0NjRzLTExOC4zLTctMTU3LjctMTcuOWMtMTkuOS01LjUtMzQuMi0xMS42LTQzLTE3LjNjLTMuNi0yLjQtMy42LTcuMiAwLTkuNmMyLjEtMS40IDQuOC0yLjkgNy45LTQuNWMxNS4zLTcuNyAzOC44LTE0LjkgNjktMjAuNXpcIl1cbn07XG52YXIgZmFGcmFuY1NpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZnJhbmMtc2lnbicsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiZTE4ZlwiLCBcIk04MCAzMkM2Mi4zIDMyIDQ4IDQ2LjMgNDggNjRWMjI0djk2SDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDQ4djY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMzg0aDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDExMlYyNTZIMjU2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDExMlY5NkgyODhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIODB6XCJdXG59O1xudmFyIGZhVm9sdW1lT2ZmID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZvbHVtZS1vZmYnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcImYwMjZcIiwgXCJNMzIwIDY0YzAtMTIuNi03LjQtMjQtMTguOS0yOS4ycy0yNS0zLjEtMzQuNCA1LjNMMTMxLjggMTYwSDY0Yy0zNS4zIDAtNjQgMjguNy02NCA2NHY2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGg2Ny44TDI2Ni43IDQ3MS45YzkuNCA4LjQgMjIuOSAxMC40IDM0LjQgNS4zUzMyMCA0NjAuNiAzMjAgNDQ4VjY0elwiXVxufTtcbnZhciBmYUhhbmRzQXNsSW50ZXJwcmV0aW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzLWFzbC1pbnRlcnByZXRpbmcnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nXCIsIFwiYXNsLWludGVycHJldGluZ1wiLCBcImhhbmRzLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nXCJdLCBcImYyYTNcIiwgXCJNMTU2LjYgNDYuM2M3LjktMTUuOCAxLjUtMzUtMTQuMy00Mi45cy0zNS0xLjUtNDIuOSAxNC4zTDEzLjUgMTg5LjRDNC42IDIwNy4yIDAgMjI2LjggMCAyNDYuN1YyNTZjMCA3MC43IDU3LjMgMTI4IDEyOCAxMjhoNzIgOHYtLjNjMzUuMi0yLjcgNjUuNC0yMi44IDgyLjEtNTEuN2M4LjgtMTUuMyAzLjYtMzQuOS0xMS43LTQzLjdzLTM0LjktMy42LTQzLjcgMTEuN2MtNyAxMi0xOS45IDIwLTM0LjcgMjBjLTIyLjEgMC00MC0xNy45LTQwLTQwczE3LjktNDAgNDAtNDBjMTQuOCAwIDI3LjcgOCAzNC43IDIwYzguOCAxNS4zIDI4LjQgMjAuNSA0My43IDExLjdzMjAuNS0yOC40IDExLjctNDMuN2MtMTIuOC0yMi4xLTMzLjYtMzkuMS01OC40LTQ3LjFsODAuOC0yMmMxNy00LjYgMjcuMS0yMi4yIDIyLjUtMzkuM3MtMjIuMi0yNy4xLTM5LjMtMjIuNUwxOTQuOSAxMjQuNmw4MS42LTY4YzEzLjYtMTEuMyAxNS40LTMxLjUgNC4xLTQ1LjFTMjQ5LjEtMy45IDIzNS41IDcuNEwxMzMuNiA5Mi4zbDIzLTQ2ek00ODMuNCA0NjUuN2MtNy45IDE1LjgtMS41IDM1IDE0LjMgNDIuOXMzNSAxLjUgNDIuOS0xNC4zbDg1LjktMTcxLjdjOC45LTE3LjggMTMuNS0zNy40IDEzLjUtNTcuMlYyNTZjMC03MC43LTU3LjMtMTI4LTEyOC0xMjhINDQwaC04di4zYy0zNS4yIDIuNy02NS40IDIyLjgtODIuMSA1MS43Yy04LjkgMTUuMy0zLjYgMzQuOSAxMS43IDQzLjdzMzQuOSAzLjYgNDMuNy0xMS43YzctMTIgMTkuOS0yMCAzNC43LTIwYzIyLjEgMCA0MCAxNy45IDQwIDQwcy0xNy45IDQwLTQwIDQwYy0xNC44IDAtMjcuNy04LTM0LjctMjBjLTguOS0xNS4zLTI4LjQtMjAuNS00My43LTExLjdzLTIwLjUgMjguNC0xMS43IDQzLjdjMTIuOCAyMi4xIDMzLjYgMzkuMSA1OC40IDQ3LjFsLTgwLjggMjJjLTE3LjEgNC43LTI3LjEgMjIuMi0yMi41IDM5LjNzMjIuMiAyNy4xIDM5LjMgMjIuNWwxMDAuNy0yNy41LTgxLjYgNjhjLTEzLjYgMTEuMy0xNS40IDMxLjUtNC4xIDQ1LjFzMzEuNSAxNS40IDQ1LjEgNC4xbDEwMS45LTg0LjktMjMgNDZ6XCJdXG59O1xudmFyIGZhQW1lcmljYW5TaWduTGFuZ3VhZ2VJbnRlcnByZXRpbmcgPSBmYUhhbmRzQXNsSW50ZXJwcmV0aW5nO1xudmFyIGZhQXNsSW50ZXJwcmV0aW5nID0gZmFIYW5kc0FzbEludGVycHJldGluZztcbnZhciBmYUhhbmRzQW1lcmljYW5TaWduTGFuZ3VhZ2VJbnRlcnByZXRpbmcgPSBmYUhhbmRzQXNsSW50ZXJwcmV0aW5nO1xudmFyIGZhR2VhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnZWFyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTg4MSwgXCJjb2dcIl0sIFwiZjAxM1wiLCBcIk00OTUuOSAxNjYuNmMzLjIgOC43IC41IDE4LjQtNi40IDI0LjZsLTQzLjMgMzkuNGMxLjEgOC4zIDEuNyAxNi44IDEuNyAyNS40cy0uNiAxNy4xLTEuNyAyNS40bDQzLjMgMzkuNGM2LjkgNi4yIDkuNiAxNS45IDYuNCAyNC42Yy00LjQgMTEuOS05LjcgMjMuMy0xNS44IDM0LjNsLTQuNyA4LjFjLTYuNiAxMS0xNCAyMS40LTIyLjEgMzEuMmMtNS45IDcuMi0xNS43IDkuNi0yNC41IDYuOGwtNTUuNy0xNy43Yy0xMy40IDEwLjMtMjguMiAxOC45LTQ0IDI1LjRsLTEyLjUgNTcuMWMtMiA5LjEtOSAxNi4zLTE4LjIgMTcuOGMtMTMuOCAyLjMtMjggMy41LTQyLjUgMy41cy0yOC43LTEuMi00Mi41LTMuNWMtOS4yLTEuNS0xNi4yLTguNy0xOC4yLTE3LjhsLTEyLjUtNTcuMWMtMTUuOC02LjUtMzAuNi0xNS4xLTQ0LTI1LjRMODMuMSA0MjUuOWMtOC44IDIuOC0xOC42IC4zLTI0LjUtNi44Yy04LjEtOS44LTE1LjUtMjAuMi0yMi4xLTMxLjJsLTQuNy04LjFjLTYuMS0xMS0xMS40LTIyLjQtMTUuOC0zNC4zYy0zLjItOC43LS41LTE4LjQgNi40LTI0LjZsNDMuMy0zOS40QzY0LjYgMjczLjEgNjQgMjY0LjYgNjQgMjU2cy42LTE3LjEgMS43LTI1LjRMMjIuNCAxOTEuMmMtNi45LTYuMi05LjYtMTUuOS02LjQtMjQuNmM0LjQtMTEuOSA5LjctMjMuMyAxNS44LTM0LjNsNC43LTguMWM2LjYtMTEgMTQtMjEuNCAyMi4xLTMxLjJjNS45LTcuMiAxNS43LTkuNiAyNC41LTYuOGw1NS43IDE3LjdjMTMuNC0xMC4zIDI4LjItMTguOSA0NC0yNS40bDEyLjUtNTcuMWMyLTkuMSA5LTE2LjMgMTguMi0xNy44QzIyNy4zIDEuMiAyNDEuNSAwIDI1NiAwczI4LjcgMS4yIDQyLjUgMy41YzkuMiAxLjUgMTYuMiA4LjcgMTguMiAxNy44bDEyLjUgNTcuMWMxNS44IDYuNSAzMC42IDE1LjEgNDQgMjUuNGw1NS43LTE3LjdjOC44LTIuOCAxOC42LS4zIDI0LjUgNi44YzguMSA5LjggMTUuNSAyMC4yIDIyLjEgMzEuMmw0LjcgOC4xYzYuMSAxMSAxMS40IDIyLjQgMTUuOCAzNC4zek0yNTYgMzM2YTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYwelwiXVxufTtcbnZhciBmYUNvZyA9IGZhR2VhcjtcbnZhciBmYURyb3BsZXRTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkcm9wbGV0LXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJ0aW50LXNsYXNoXCJdLCBcImY1YzdcIiwgXCJNMzIwIDUxMmM1My4yIDAgMTAxLjQtMjEuNiAxMzYuMS01Ni42bC0yOTguMy0yMzVDMTQwIDI1Ny4xIDEyOCAyOTIuMyAxMjggMzIwYzAgMTA2IDg2IDE5MiAxOTIgMTkyek01MDUuMiAzNzAuN2M0LjQtMTYuMSA2LjgtMzMuMSA2LjgtNTAuN2MwLTkxLjItMTMwLjItMjYyLjMtMTY2LjYtMzA4LjNDMzM5LjQgNC4yIDMzMC41IDAgMzIwLjkgMGgtMS44Yy05LjYgMC0xOC41IDQuMi0yNC41IDExLjdDMjc3LjggMzMgMjQwLjcgODEuMyAyMDUuOCAxMzZMMzguOCA1LjFDMjguNC0zLjEgMTMuMy0xLjIgNS4xIDkuMlMtMS4yIDM0LjcgOS4yIDQyLjlsNTkyIDQ2NGMxMC40IDguMiAyNS41IDYuMyAzMy43LTQuMXM2LjMtMjUuNS00LjEtMzMuN0w1MDUuMiAzNzAuN3pNMjI0IDMzNmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmMtNjEuOSAwLTExMi01MC4xLTExMi0xMTJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnpcIl1cbn07XG52YXIgZmFUaW50U2xhc2ggPSBmYURyb3BsZXRTbGFzaDtcbnZhciBmYU1vc3F1ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb3NxdWUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjgzMzJdLCBcImY2NzhcIiwgXCJNNDAwIDBjNSAwIDkuOCAyLjQgMTIuOCA2LjRjMzQuNyA0Ni4zIDc4LjEgNzQuOSAxMzMuNSAxMTEuNWwwIDAgMCAwYzUuMiAzLjQgMTAuNSA3IDE2IDEwLjZjMjguOSAxOS4yIDQ1LjcgNTEuNyA0NS43IDg2LjFjMCAyOC42LTExLjMgNTQuNS0yOS44IDczLjRIMjIxLjhjLTE4LjQtMTktMjkuOC00NC45LTI5LjgtNzMuNGMwLTM0LjQgMTYuNy02Ni45IDQ1LjctODYuMWM1LjQtMy42IDEwLjgtNy4xIDE2LTEwLjZsMCAwIDAgMEMzMDkuMSA4MS4zIDM1Mi41IDUyLjcgMzg3LjIgNi40YzMtNCA3LjgtNi40IDEyLjgtNi40ek0yODggNTEyVjQ0MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHY3MkgxOTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjM1MmMwLTE3LjcgMTQuMy0zMiAzMi0zMkg2MDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMySDU2MFY0NDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR2NzJINDQ4VjQ1NGMwLTE5LTguNC0zNy0yMy00OS4yTDQwMCAzODRsLTI1IDIwLjhDMzYwLjQgNDE3IDM1MiA0MzUgMzUyIDQ1NHY1OEgyODh6TTcwLjQgNS4yYzUuNy00LjMgMTMuNS00LjMgMTkuMiAwbDE2IDEyQzEzOS44IDQyLjkgMTYwIDgzLjIgMTYwIDEyNnYySDB2LTJDMCA4My4yIDIwLjIgNDIuOSA1NC40IDE3LjJsMTYtMTJ6TTAgMTYwSDE2MFYyOTYuNmMtMTkuMSAxMS4xLTMyIDMxLjctMzIgNTUuNFY0ODBjMCA5LjYgMi4xIDE4LjYgNS44IDI2LjhjLTYuNiAzLjQtMTQgNS4yLTIxLjggNS4ySDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFYxNzYgMTYwelwiXVxufTtcbnZhciBmYU1vc3F1aXRvID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vc3F1aXRvJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTJiXCIsIFwiTTQ2My43IDUwNS45YzkuOC04LjkgMTAuNy0yNC4zIDIuMS0zNC4zbC00Mi4xLTQ5IDAtNTQuN2MwLTUuNS0xLjgtMTAuOC01LjEtMTUuMUwzNTIgMjY2LjNsMC0uM0w0ODUuNCAzODcuOEM1NDIuNCA0NDcuNiA2NDAgNDA1LjIgNjQwIDMyMC42YzAtNDcuOS0zNC04OC4zLTc5LjQtOTQuMmwtMTUzLTIzLjkgNDAuOC00MC45YzcuOC03LjggOS40LTIwLjEgMy45LTI5LjhMNDI4LjUgOTAuMWwzOC4yLTUwLjljOC0xMC42IDYuMS0yNS45LTQuMy0zNC4xcy0yNS4yLTYuMy0zMy4yIDQuNGwtNDggNjMuOWMtNS45IDcuOS02LjYgMTguNi0xLjcgMjcuMkw0MDIuMiAxNDAgMzUyIDE5MC4zbDAtMzguMmMwLTE0LjktMTAuMi0yNy40LTI0LTMxbDAtNTcuMmMwLTQuNC0zLjYtOC04LThzLTggMy42LTggOGwwIDU3LjJjLTEzLjggMy42LTI0IDE2LjEtMjQgMzFsMCAzOC4xTDIzNy44IDE0MGwyMi42LTM5LjVjNC45LTguNiA0LjItMTkuMy0xLjctMjcuMmwtNDgtNjMuOWMtOC0xMC42LTIyLjgtMTIuNi0zMy4yLTQuNHMtMTIuMiAyMy41LTQuMyAzNC4xbDM4LjIgNTAuOS0yMy45IDQxLjdjLTUuNSA5LjctMy45IDIyIDMuOSAyOS44bDQwLjggNDAuOS0xNTMgMjMuOUMzNCAyMzIuMyAwIDI3Mi43IDAgMzIwLjZjMCA4NC42IDk3LjYgMTI3IDE1NC42IDY3LjFMMjg4IDI2NmwwIC4zLTY2LjUgODYuNGMtMy4zIDQuMy01LjEgOS42LTUuMSAxNS4xbDAgNTQuNy00Mi4xIDQ5Yy04LjYgMTAuMS03LjcgMjUuNSAyLjEgMzQuM3MyNC43IDcuOSAzMy40LTIuMWw0OC01NS45YzMuOC00LjQgNS45LTEwLjIgNS45LTE2LjFsMC01NS40TDI4OCAzNDQuN2wwIDYzLjFjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTYzLjEgMjQuMyAzMS42IDAgNTUuNGMwIDUuOSAyLjEgMTEuNyA1LjkgMTYuMWw0OCA1NS45YzguNiAxMC4xIDIzLjYgMTEgMzMuNCAyLjF6XCJdXG59O1xudmFyIGZhU3Rhck9mRGF2aWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3Rhci1vZi1kYXZpZCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEwMDE3XSwgXCJmNjlhXCIsIFwiTTQwNC4yIDMwOS41TDM4My4xIDM0NGg0Mi4zbC0yMS4xLTM0LjV6TTM3MS40IDI1NmwtNTQtODhIMTk0LjZsLTU0IDg4IDU0IDg4SDMxNy40bDU0LTg4em02NS43IDBsNTMuNCA4N2MzLjYgNS45IDUuNSAxMi43IDUuNSAxOS42YzAgMjAuNy0xNi44IDM3LjQtMzcuNCAzNy40SDM0OC43bC01Ni4yIDkxLjVDMjg0LjggNTA0LjMgMjcwLjkgNTEyIDI1NiA1MTJzLTI4LjgtNy43LTM2LjYtMjAuNUwxNjMuMyA0MDBINTMuNEMzMi44IDQwMCAxNiAzODMuMiAxNiAzNjIuNmMwLTYuOSAxLjktMTMuNyA1LjUtMTkuNmw1My40LTg3TDIxLjUgMTY5Yy0zLjYtNS45LTUuNS0xMi43LTUuNS0xOS42QzE2IDEyOC44IDMyLjggMTEyIDUzLjQgMTEySDE2My4zbDU2LjItOTEuNUMyMjcuMiA3LjcgMjQxLjEgMCAyNTYgMHMyOC44IDcuNyAzNi42IDIwLjVMMzQ4LjcgMTEySDQ1OC42YzIwLjcgMCAzNy40IDE2LjggMzcuNCAzNy40YzAgNi45LTEuOSAxMy43LTUuNSAxOS42bC01My40IDg3em0tNTQtODhsMjEuMSAzNC41TDQyNS40IDE2OEgzODMuMXpNMjgzIDExMkwyNTYgNjhsLTI3IDQ0aDU0ek0xMjguOSAxNjhIODYuNmwyMS4xIDM0LjVMMTI4LjkgMTY4ek0xMDcuOCAzMDkuNUw4Ni42IDM0NGg0Mi4zbC0yMS4xLTM0LjV6TTIyOSA0MDBsMjcgNDQgMjctNDRIMjI5elwiXVxufTtcbnZhciBmYVBlcnNvbk1pbGl0YXJ5UmlmbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLW1pbGl0YXJ5LXJpZmxlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTRiXCIsIFwiTTE2MCAzOWMwLTEzIDEwLTIzLjggMjIuOS0yNC45TDMzNC43IDEuNEMzNDQgLjcgMzUyIDggMzUyIDE3LjRWNDhjMCA4LjgtNy4yIDE2LTE2IDE2SDE4NWMtMTMuOCAwLTI1LTExLjItMjUtMjV6bTE3LjYgNTdIMzM0LjRjMSA1LjIgMS42IDEwLjUgMS42IDE2YzAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwYzAtNS41IC42LTEwLjggMS42LTE2em0yMjggMzY0LjNMMzUyIDM2OS43VjQ4MGMwIDEuMy0uMSAyLjUtLjIgMy44TDE3Ny41IDIzNC45YzE2LjYtNy4xIDM0LjYtMTAuOSA1My4zLTEwLjloNTAuNGMxNS45IDAgMzEuMyAyLjggNDUuOCA3LjlMNDIxLjkgNjcuN2MtNy43LTQuNC0xMC4zLTE0LjItNS45LTIxLjlzMTQuMi0xMC4zIDIxLjktNS45bDEzLjkgOCAxMy45IDhjNy43IDQuNCAxMC4zIDE0LjIgNS45IDIxLjlMNDE2IDE3My45bDEuNiAuOWMxNS4zIDguOCAyMC42IDI4LjQgMTEuNyA0My43TDM5Mi42IDI4MmMyIDIuOCAzLjkgNS44IDUuNyA4LjhsNzYuMSAxMjguOGMxMS4yIDE5IDQuOSA0My41LTE0LjEgNTQuOHMtNDMuNSA0LjktNTQuOC0xNC4xek0zMjAgNTEySDE5MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMzY5LjdsLTUzLjYgOTAuNmMtMTEuMiAxOS0zNS44IDI1LjMtNTQuOCAxNC4xcy0yNS4zLTM1LjgtMTQuMS01NC44bDc2LjEtMTI4LjhjOS40LTE1LjggMjEuNy0yOS4zIDM2LTQwTDMzMS4xIDUxMGMtMy41IDEuMy03LjIgMi0xMS4xIDJ6TTI5NiAzMjBhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4elwiXVxufTtcbnZhciBmYUNhcnRTaG9wcGluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXJ0LXNob3BwaW5nJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4NzIyLCBcInNob3BwaW5nLWNhcnRcIl0sIFwiZjA3YVwiLCBcIk0wIDI0QzAgMTAuNyAxMC43IDAgMjQgMEg2OS41YzIyIDAgNDEuNSAxMi44IDUwLjYgMzJoNDExYzI2LjMgMCA0NS41IDI1IDM4LjYgNTAuNGwtNDEgMTUyLjNjLTguNSAzMS40LTM3IDUzLjMtNjkuNSA1My4zSDE3MC43bDUuNCAyOC41YzIuMiAxMS4zIDEyLjEgMTkuNSAyMy42IDE5LjVINDg4YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDE5OS43Yy0zNC42IDAtNjQuMy0yNC42LTcwLjctNTguNUw3Ny40IDU0LjVjLS43LTMuOC00LTYuNS03LjktNi41SDI0QzEwLjcgNDggMCAzNy4zIDAgMjR6TTEyOCA0NjRhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptMzM2LTQ4YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpcIl1cbn07XG52YXIgZmFTaG9wcGluZ0NhcnQgPSBmYUNhcnRTaG9wcGluZztcbnZhciBmYVZpYWxzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZpYWxzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNDkzXCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJIODhoNDggNTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJWNDAwYzAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwVjk2QzE0LjMgOTYgMCA4MS43IDAgNjR6TTEzNiA5Nkg4OFYyNTZoNDhWOTZ6TTI4OCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmg1NiA0OCA1NmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMlY0MDBjMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBWOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek00MjQgOTZIMzc2VjI1Nmg0OFY5NnpcIl1cbn07XG52YXIgZmFQbHVnQ2lyY2xlUGx1cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwbHVnLWNpcmNsZS1wbHVzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTVmXCIsIFwiTTk2IDBDNzguMyAwIDY0IDE0LjMgNjQgMzJ2OTZoNjRWMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6TTI4OCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnY5Nmg2NFYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMzIgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMydjMyYzAgNzcuNCA1NSAxNDIgMTI4IDE1Ni44VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjQxMi44YzEyLjMtMi41IDI0LjEtNi40IDM1LjEtMTEuNWMtMi4xLTEwLjgtMy4xLTIxLjktMy4xLTMzLjNjMC04MC4zIDUzLjgtMTQ4IDEyNy4zLTE2OS4yYy41LTIuMiAuNy00LjUgLjctNi44YzAtMTcuNy0xNC4zLTMyLTMyLTMySDMyek00MzIgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMTYtMjA4djQ4aDQ4YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDQ0OHY0OGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlYzODRIMzY4Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2aDQ4VjMwNGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2elwiXVxufTtcbnZhciBmYVBsYWNlT2ZXb3JzaGlwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsYWNlLW9mLXdvcnNoaXAnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY2N2ZcIiwgXCJNMjI0IDEwOS4zVjIxNy42TDE4My4zIDI0MmMtMTQuNSA4LjctMjMuMyAyNC4zLTIzLjMgNDEuMlY1MTJoOTZWNDE2YzAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjR2OTZoOTZWMjgzLjJjMC0xNi45LTguOC0zMi41LTIzLjMtNDEuMkw0MTYgMjE3LjZWMTA5LjNjMC04LjUtMy40LTE2LjYtOS40LTIyLjZMMzMxLjMgMTEuM2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBMMjMzLjQgODYuNmMtNiA2LTkuNCAxNC4xLTkuNCAyMi42ek0yNC45IDMzMC4zQzkuNSAzMzguOCAwIDM1NC45IDAgMzcyLjRWNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDgwVjI3My42TDI0LjkgMzMwLjN6TTU5MiA1MTJjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMzcyLjRjMC0xNy41LTkuNS0zMy42LTI0LjktNDIuMUw1MTIgMjczLjZWNTEyaDgwelwiXVxufTtcbnZhciBmYUdyaXBWZXJ0aWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdncmlwLXZlcnRpY2FsJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJmNThlXCIsIFwiTTQwIDM1Mmw0OCAwYzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgNDhjMCAyMi4xLTE3LjkgNDAtNDAgNDBsLTQ4IDBjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtNDhjMC0yMi4xIDE3LjktNDAgNDAtNDB6bTE5MiAwbDQ4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtNDggMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MHpNNDAgMzIwYy0yMi4xIDAtNDAtMTcuOS00MC00MGwwLTQ4YzAtMjIuMSAxNy45LTQwIDQwLTQwbDQ4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtNDggMHpNMjMyIDE5Mmw0OCAwYzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgNDhjMCAyMi4xLTE3LjkgNDAtNDAgNDBsLTQ4IDBjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtNDhjMC0yMi4xIDE3LjktNDAgNDAtNDB6TTQwIDE2MGMtMjIuMSAwLTQwLTE3LjktNDAtNDBMMCA3MkMwIDQ5LjkgMTcuOSAzMiA0MCAzMmw0OCAwYzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgNDhjMCAyMi4xLTE3LjkgNDAtNDAgNDBsLTQ4IDB6TTIzMiAzMmw0OCAwYzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgNDhjMCAyMi4xLTE3LjkgNDAtNDAgNDBsLTQ4IDBjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtNDhjMC0yMi4xIDE3LjktNDAgNDAtNDB6XCJdXG59O1xudmFyIGZhQXJyb3dUdXJuVXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdHVybi11cCcsXG4gIGljb246IFszODQsIDUxMiwgW1wibGV2ZWwtdXBcIl0sIFwiZjE0OFwiLCBcIk0zMiA0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsOTYgMGM1MyAwIDk2LTQzIDk2LTk2bDAtMzA2LjcgNzMuNCA3My40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTEyOC0xMjhjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMjggMTI4Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDE2MCAxMDkuMyAxNjAgNDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwelwiXVxufTtcbnZhciBmYUxldmVsVXAgPSBmYUFycm93VHVyblVwO1xudmFyIGZhVSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTE3XSwgXCI1NVwiLCBcIk0zMiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMlYyODhjMCA3MC43IDU3LjMgMTI4IDEyOCAxMjhzMTI4LTU3LjMgMTI4LTEyOFY2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyVjI4OGMwIDEwNi04NiAxOTItMTkyIDE5MlMwIDM5NCAwIDI4OFY2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMnpcIl1cbn07XG52YXIgZmFTcXVhcmVSb290VmFyaWFibGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLXJvb3QtdmFyaWFibGUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInNxdWFyZS1yb290LWFsdFwiXSwgXCJmNjk4XCIsIFwiTTI4Mi42IDc4LjFjOC0yNy4zIDMzLTQ2LjEgNjEuNC00Ni4xSDU0NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzNDRMMjM4LjcgNDU3Yy0zLjYgMTIuMy0xNC4xIDIxLjItMjYuOCAyMi44cy0yNS4xLTQuNi0zMS41LTE1LjZMNzcuNiAyODhIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJINzcuNmMyMi44IDAgNDMuOCAxMi4xIDU1LjMgMzEuOGw2NS4yIDExMS44TDI4Mi42IDc4LjF6TTM5My40IDIzMy40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwTDQ4MCAyNzQuN2w0MS40LTQxLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM0w1MjUuMyAzMjBsNDEuNCA0MS40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDQ4MCAzNjUuM2wtNDEuNCA0MS40Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0w0MzQuNyAzMjBsLTQxLjQtNDEuNGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjN6XCJdXG59O1xudmFyIGZhU3F1YXJlUm9vdEFsdCA9IGZhU3F1YXJlUm9vdFZhcmlhYmxlO1xudmFyIGZhQ2xvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvY2snLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgzMzksIFwiY2xvY2stZm91clwiXSwgXCJmMDE3XCIsIFwiTTI1NiAwYTI1NiAyNTYgMCAxIDEgMCA1MTJBMjU2IDI1NiAwIDEgMSAyNTYgMHpNMjMyIDEyMFYyNTZjMCA4IDQgMTUuNSAxMC43IDIwbDk2IDY0YzExIDcuNCAyNS45IDQuNCAzMy4zLTYuN3M0LjQtMjUuOS02LjctMzMuM0wyODAgMjQzLjJWMTIwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0elwiXVxufTtcbnZhciBmYUNsb2NrRm91ciA9IGZhQ2xvY2s7XG52YXIgZmFCYWNrd2FyZFN0ZXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFja3dhcmQtc3RlcCcsXG4gIGljb246IFszMjAsIDUxMiwgW1wic3RlcC1iYWNrd2FyZFwiXSwgXCJmMDQ4XCIsIFwiTTI2Ny41IDQ0MC42YzkuNSA3LjkgMjIuOCA5LjcgMzQuMSA0LjRzMTguNC0xNi42IDE4LjQtMjlWOTZjMC0xMi40LTcuMi0yMy43LTE4LjQtMjlzLTI0LjUtMy42LTM0LjEgNC40bC0xOTIgMTYwTDY0IDI0MVY5NmMwLTE3LjctMTQuMy0zMi0zMi0zMlMwIDc4LjMgMCA5NlY0MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyNzFsMTEuNSA5LjYgMTkyIDE2MHpcIl1cbn07XG52YXIgZmFTdGVwQmFja3dhcmQgPSBmYUJhY2t3YXJkU3RlcDtcbnZhciBmYVBhbGxldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwYWxsZXQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY0ODJcIiwgXCJNMzIgMzIwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDY0djY0SDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDk2IDMyMCA1NDRoNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINTc2VjM4NGgzMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg1NDQgMzIwIDk2IDMyem05NiA2NEgyODh2NjRIMTI4VjM4NHptMjI0IDBINTEydjY0SDM1MlYzODR6XCJdXG59O1xudmFyIGZhRmF1Y2V0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhdWNldCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTAwNVwiLCBcIk0xOTIgOTZ2MTJMOTYgOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsOTYtMTIgMzEtMy45IDEtLjEgMSAuMSAzMSAzLjkgOTYgMTJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTk2IDEyVjk2YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyek0zMiAyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjY0YzAgMTcuNyAxNC4zIDMyIDMyIDMySDEzMi4xYzIwLjIgMjkgNTMuOSA0OCA5MS45IDQ4czcxLjctMTkgOTEuOS00OEgzNTJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzMTQuMyAzMiAzMiAzMmg2NGMxNy43IDAgMzItMTQuMyAzMi0zMmMwLTg4LjQtNzEuNi0xNjAtMTYwLTE2MEgzMjBsLTIyLjYtMjIuNmMtNi02LTE0LjEtOS40LTIyLjYtOS40SDI1NlYxODAuMmwtMzItNC0zMiA0VjIyNEgxNzMuM2MtOC41IDAtMTYuNiAzLjQtMjIuNiA5LjRMMTI4IDI1NkgzMnpcIl1cbn07XG52YXIgZmFCYXNlYmFsbEJhdEJhbGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFzZWJhbGwtYmF0LWJhbGwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY0MzJcIiwgXCJNNDI0IDBjLTEyLjQgMC0yNC4yIDQuOS0zMyAxMy43TDIzMy41IDE3MS4yYy0xMC41IDEwLjUtMTkuOCAyMi4xLTI3LjcgMzQuNkwxMzIuNyAzMjEuNmMtNy4zIDExLjUtMTUuOCAyMi4yLTI1LjUgMzEuOUw2OS45IDM5MC43bDUxLjMgNTEuMyAzNy4zLTM3LjNjOS42LTkuNiAyMC4zLTE4LjIgMzEuOS0yNS41bDExNS44LTczLjFjMTIuNS03LjkgMjQuMS0xNy4yIDM0LjYtMjcuN0w0OTguMyAxMjFjOC43LTguNyAxMy43LTIwLjYgMTMuNy0zM3MtNC45LTI0LjItMTMuNy0zM0w0NTcgMTMuN0M0NDguMiA0LjkgNDM2LjQgMCA0MjQgMHptODggNDMyYTgwIDgwIDAgMSAwIC0xNjAgMCA4MCA4MCAwIDEgMCAxNjAgMHpNMTUgMzk5Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWw2NCA2NGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMNDkgMzk5Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHpcIl1cbn07XG52YXIgZmFTID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3MnLFxuICBpY29uOiBbMzIwLCA1MTIsIFsxMTVdLCBcIjUzXCIsIFwiTTk5LjEgMTA1LjRDNzkgMTE0IDY4LjIgMTI3LjIgNjUuMiAxNDQuOGMtMi40IDE0LjEtLjcgMjMuMiAyIDI5LjRjMi44IDYuMyA3LjkgMTIuNCAxNi43IDE4LjZjMTkuMiAxMy40IDQ4LjMgMjIuMSA4NC45IDMyLjVjMSAuMyAxLjkgLjYgMi45IC44YzMyLjcgOS4zIDcyIDIwLjYgMTAwLjkgNDAuN2MxNS43IDEwLjkgMjkuOSAyNS41IDM4LjYgNDUuMWM4LjggMTkuOCAxMC44IDQyIDYuNiA2Ni4zYy03LjMgNDIuNS0zNS4zIDcxLjctNzEuOCA4Ny4zYy0zNS40IDE1LjItNzkuMSAxNy45LTEyMy43IDEwLjlsLS4yIDAgMCAwYy0yNC0zLjktNjIuNy0xNy4xLTg3LjYtMjUuNmMtNC44LTEuNy05LjItMy4xLTEyLjgtNC4zQzUuMSA0NDAuOC0zLjkgNDIyLjcgMS42IDQwNS45czIzLjctMjUuOCA0MC41LTIwLjNjNC45IDEuNiAxMC4yIDMuNCAxNS45IDUuNGMyNS40IDguNiA1Ni40IDE5LjIgNzQuNCAyMi4xYzM2LjggNS43IDY3LjUgMi41IDg4LjUtNi41YzIwLjEtOC42IDMwLjgtMjEuOCAzMy45LTM5LjRjMi40LTE0LjEgLjctMjMuMi0yLTI5LjRjLTIuOC02LjMtNy45LTEyLjQtMTYuNy0xOC42Yy0xOS4yLTEzLjQtNDguMy0yMi4xLTg0LjktMzIuNWMtMS0uMy0xLjktLjYtMi45LS44Yy0zMi43LTkuMy03Mi0yMC42LTEwMC45LTQwLjdjLTE1LjctMTAuOS0yOS45LTI1LjUtMzguNi00NS4xYy04LjgtMTkuOC0xMC44LTQyLTYuNi02Ni4zbDMxLjUgNS41TDIuMSAxMzMuOUM5LjQgOTEuNCAzNy40IDYyLjIgNzMuOSA0Ni42YzM1LjQtMTUuMiA3OS4xLTE3LjkgMTIzLjctMTAuOWMxMyAyIDUyLjQgOS42IDY2LjYgMTMuNGMxNy4xIDQuNSAyNy4yIDIyLjEgMjIuNyAzOS4ycy0yMi4xIDI3LjItMzkuMiAyMi43Yy0xMS4yLTMtNDguMS0xMC4yLTYwLjEtMTJsNC45LTMxLjUtNC45IDMxLjVjLTM2LjktNS44LTY3LjUtMi41LTg4LjYgNi41elwiXVxufTtcbnZhciBmYVRpbWVsaW5lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RpbWVsaW5lJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlMjljXCIsIFwiTTEyOCA3MmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTMyIDk3LjNjMjguMy0xMi4zIDQ4LTQwLjUgNDgtNzMuM2MwLTQ0LjItMzUuOC04MC04MC04MFM0OCA1MS44IDQ4IDk2YzAgMzIuOCAxOS43IDYxIDQ4IDczLjNWMjI0SDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDI4OHY1NC43Yy0yOC4zIDEyLjMtNDggNDAuNS00OCA3My4zYzAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC0zMi44LTE5LjctNjEtNDgtNzMuM1YyODhINjA4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDU0NFYxNjkuM2MyOC4zLTEyLjMgNDgtNDAuNSA0OC03My4zYzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwYzAgMzIuOCAxOS43IDYxIDQ4IDczLjNWMjI0SDE2MFYxNjkuM3pNNDg4IDk2YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6TTMyMCAzOTJhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4elwiXVxufTtcbnZhciBmYUtleWJvYXJkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2tleWJvYXJkJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbOTAwMF0sIFwiZjExY1wiLCBcIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOFYzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRINTEyYzM1LjMgMCA2NC0yOC43IDY0LTY0VjEyOGMwLTM1LjMtMjguNy02NC02NC02NEg2NHptMTYgNjRoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjE0NGMwLTguOCA3LjItMTYgMTYtMTZ6TTY0IDI0MGMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjI0MHptMTYgODBoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjMzNmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwLTE3NmMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYxNDR6bTE2IDgwaDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMTc2Yy04LjggMC0xNi03LjItMTYtMTZWMjQwYzAtOC44IDcuMi0xNiAxNi0xNnpNMTYwIDMzNmMwLTguOCA3LjItMTYgMTYtMTZINDAwYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMTc2Yy04LjggMC0xNi03LjItMTYtMTZWMzM2ek0yNzIgMTI4aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMjcyYy04LjggMC0xNi03LjItMTYtMTZWMTQ0YzAtOC44IDcuMi0xNiAxNi0xNnpNMjU2IDI0MGMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgyNzJjLTguOCAwLTE2LTcuMi0xNi0xNlYyNDB6TTM2OCAxMjhoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgzNjhjLTguOCAwLTE2LTcuMi0xNi0xNlYxNDRjMC04LjggNy4yLTE2IDE2LTE2ek0zNTIgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDM2OGMtOC44IDAtMTYtNy4yLTE2LTE2VjI0MHpNNDY0IDEyOGgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2VjE0NGMwLTguOCA3LjItMTYgMTYtMTZ6TTQ0OCAyNDBjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZINDY0Yy04LjggMC0xNi03LjItMTYtMTZWMjQwem0xNiA4MGgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2VjMzNmMwLTguOCA3LjItMTYgMTYtMTZ6XCJdXG59O1xudmFyIGZhQ2FyZXREb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhcmV0LWRvd24nLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcImYwZDdcIiwgXCJNMTM3LjQgMzc0LjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTI4LTEyOGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOXMtMTYuNi0xOS44LTI5LjYtMTkuOEwzMiAxOTJjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45bDEyOCAxMjh6XCJdXG59O1xudmFyIGZhSG91c2VDaGltbmV5TWVkaWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1jaGltbmV5LW1lZGljYWwnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImNsaW5pYy1tZWRpY2FsXCJdLCBcImY3ZjJcIiwgXCJNNTc1LjggMjU1LjVjMCAxOC0xNSAzMi4xLTMyIDMyLjFoLTMybC43IDE2MC4yYy4yIDM1LjUtMjguNSA2NC4zLTY0IDY0LjNIMTI4LjFjLTM1LjMgMC02NC0yOC43LTY0LTY0VjI4Ny42SDMyYy0xOCAwLTMyLTE0LTMyLTMyLjFjMC05IDMtMTcgMTAtMjRMMjY2LjQgOGM3LTcgMTUtOCAyMi04czE1IDIgMjEgN0w0MTYgMTAwLjdWNjRjMC0xNy43IDE0LjMtMzIgMzItMzJoMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJWMTg1bDUyLjggNDYuNGM4IDcgMTIgMTUgMTEgMjR6TTI3MiAxOTJjLTguOCAwLTE2IDcuMi0xNiAxNnY0OEgyMDhjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoNDh2NDhjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYzMjBoNDhjOC44IDAgMTYtNy4yIDE2LTE2VjI3MmMwLTguOC03LjItMTYtMTYtMTZIMzIwVjIwOGMwLTguOC03LjItMTYtMTYtMTZIMjcyelwiXVxufTtcbnZhciBmYUNsaW5pY01lZGljYWwgPSBmYUhvdXNlQ2hpbW5leU1lZGljYWw7XG52YXIgZmFUZW1wZXJhdHVyZVRocmVlUXVhcnRlcnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGVtcGVyYXR1cmUtdGhyZWUtcXVhcnRlcnMnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtcInRlbXBlcmF0dXJlLTNcIiwgXCJ0aGVybW9tZXRlci0zXCIsIFwidGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnNcIl0sIFwiZjJjOFwiLCBcIk0xNjAgNjRjLTI2LjUgMC00OCAyMS41LTQ4IDQ4VjI3Ni41YzAgMTcuMy03LjEgMzEuOS0xNS4zIDQyLjVDODYuMiAzMzIuNiA4MCAzNDkuNSA4MCAzNjhjMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MGMwLTE4LjUtNi4yLTM1LjQtMTYuNy00OC45Yy04LjItMTAuNi0xNS4zLTI1LjItMTUuMy00Mi41VjExMmMwLTI2LjUtMjEuNS00OC00OC00OHpNNDggMTEyQzQ4IDUwLjIgOTguMSAwIDE2MCAwczExMiA1MC4xIDExMiAxMTJWMjc2LjVjMCAuMSAuMSAuMyAuMiAuNmMuMiAuNiAuOCAxLjYgMS43IDIuOGMxOC45IDI0LjQgMzAuMSA1NSAzMC4xIDg4LjFjMCA3OS41LTY0LjUgMTQ0LTE0NCAxNDRTMTYgNDQ3LjUgMTYgMzY4YzAtMzMuMiAxMS4yLTYzLjggMzAuMS04OC4xYy45LTEuMiAxLjUtMi4yIDEuNy0yLjhjLjEtLjMgLjItLjUgLjItLjZWMTEyek0yMDggMzY4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4YzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM1YxNDRjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNlYzMjIuN2MxOC42IDYuNiAzMiAyNC40IDMyIDQ1LjN6XCJdXG59O1xudmFyIGZhVGVtcGVyYXR1cmUzID0gZmFUZW1wZXJhdHVyZVRocmVlUXVhcnRlcnM7XG52YXIgZmFUaGVybW9tZXRlcjMgPSBmYVRlbXBlcmF0dXJlVGhyZWVRdWFydGVycztcbnZhciBmYVRoZXJtb21ldGVyVGhyZWVRdWFydGVycyA9IGZhVGVtcGVyYXR1cmVUaHJlZVF1YXJ0ZXJzO1xudmFyIGZhTW9iaWxlU2NyZWVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vYmlsZS1zY3JlZW4nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcIm1vYmlsZS1hbmRyb2lkLWFsdFwiXSwgXCJmM2NmXCIsIFwiTTE2IDY0QzE2IDI4LjcgNDQuNyAwIDgwIDBIMzA0YzM1LjMgMCA2NCAyOC43IDY0IDY0VjQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEg4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWNjR6TTE0NCA0NDhjMCA4LjggNy4yIDE2IDE2IDE2aDY0YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDE2MGMtOC44IDAtMTYgNy4yLTE2IDE2ek0zMDQgNjRIODBWMzg0SDMwNFY2NHpcIl1cbn07XG52YXIgZmFNb2JpbGVBbmRyb2lkQWx0ID0gZmFNb2JpbGVTY3JlZW47XG52YXIgZmFQbGFuZVVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsYW5lLXVwJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMjJkXCIsIFwiTTE5MiA5My43QzE5MiA1OS41IDIyMSAwIDI1NiAwYzM2IDAgNjQgNTkuNSA2NCA5My43bDAgNjYuM0w0OTcuOCAyNzguNWM4LjkgNS45IDE0LjIgMTUuOSAxNC4yIDI2LjZ2NTYuN2MwIDEwLjktMTAuNyAxOC42LTIxLjEgMTUuMkwzMjAgMzIwdjgwbDU3LjYgNDMuMmM0IDMgNi40IDcuOCA2LjQgMTIuOHY0MmMwIDcuOC02LjMgMTQtMTQgMTRjLTEuMyAwLTIuNi0uMi0zLjktLjVMMjU2IDQ4MCAxNDUuOSA1MTEuNWMtMS4zIC40LTIuNiAuNS0zLjkgLjVjLTcuOCAwLTE0LTYuMy0xNC0xNFY0NTZjMC01IDIuNC05LjggNi40LTEyLjhMMTkyIDQwMFYzMjBMMjEuMSAzNzdDMTAuNyAzODAuNCAwIDM3Mi43IDAgMzYxLjhWMzA1LjFjMC0xMC43IDUuMy0yMC43IDE0LjItMjYuNkwxOTIgMTYwVjkzLjd6XCJdXG59O1xudmFyIGZhUGlnZ3lCYW5rID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BpZ2d5LWJhbmsnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY0ZDNcIiwgXCJNNDAwIDk2bDAgLjdjLTUuMy0uNC0xMC42LS43LTE2LS43SDI1NmMtMTYuNSAwLTMyLjUgMi4xLTQ3LjggNmMtLjEtMi0uMi00LS4yLTZjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NnptLTE2IDMyYzMuNSAwIDcgLjEgMTAuNCAuM2M0LjIgLjMgOC40IC43IDEyLjYgMS4zQzQyNC42IDEwOS4xIDQ1MC44IDk2IDQ4MCA5NmgxMS41YzEwLjQgMCAxOCA5LjggMTUuNSAxOS45bC0xMy44IDU1LjJjMTUuOCAxNC44IDI4LjcgMzIuOCAzNy41IDUyLjlINTQ0YzE3LjcgMCAzMiAxNC4zIDMyIDMydjk2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDUxMmMtOS4xIDEyLjEtMTkuOSAyMi45LTMyIDMydjY0YzAgMTcuNy0xNC4zIDMyLTMyIDMySDQxNmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDQ4SDI1NnYzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkgxOTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjQxNmMtMzQuOS0yNi4yLTU4LjctNjYuMy02My4yLTExMkg2OGMtMzcuNiAwLTY4LTMwLjQtNjgtNjhzMzAuNC02OCA2OC02OGg0YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDY4Yy0xMSAwLTIwIDktMjAgMjBzOSAyMCAyMCAyMEg5OS4yYzEyLjEtNTkuOCA1Ny43LTEwNy41IDExNi4zLTEyMi44YzEyLjktMy40IDI2LjUtNS4yIDQwLjUtNS4ySDM4NHptNjQgMTM2YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6XCJdXG59O1xudmFyIGZhQmF0dGVyeUhhbGYgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmF0dGVyeS1oYWxmJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJiYXR0ZXJ5LTNcIl0sIFwiZjI0MlwiLCBcIk00NjQgMTYwYzguOCAwIDE2IDcuMiAxNiAxNlYzMzZjMCA4LjgtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZWMTc2YzAtOC44IDcuMi0xNiAxNi0xNkg0NjR6TTgwIDk2QzM1LjggOTYgMCAxMzEuOCAwIDE3NlYzMzZjMCA0NC4yIDM1LjggODAgODAgODBINDY0YzQ0LjIgMCA4MC0zNS44IDgwLTgwVjMyMGMxNy43IDAgMzItMTQuMyAzMi0zMlYyMjRjMC0xNy43LTE0LjMtMzItMzItMzJWMTc2YzAtNDQuMi0zNS44LTgwLTgwLTgwSDgwem0yMDggOTZIOTZWMzIwSDI4OFYxOTJ6XCJdXG59O1xudmFyIGZhQmF0dGVyeTMgPSBmYUJhdHRlcnlIYWxmO1xudmFyIGZhTW91bnRhaW5DaXR5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vdW50YWluLWNpdHknLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MmVcIiwgXCJNMzM2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4djkyLjFsNzEuNCAxMTguNGMyLjUtMS42IDUuNC0yLjUgOC42LTIuNWgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2aC0zLjVsNzMuOCAxMjIuNGMxMi40IDIwLjYgMTIuOSA0Ni4zIDEuMiA2Ny4zYy0uNCAuOC0uOSAxLjYtMS40IDIuM0g1OTJjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMjQwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDU2OFYxMjBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR2NzJINDgwVjQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDMzNnptMzIgNjRoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgzNjhjLTguOCAwLTE2LTcuMi0xNi0xNlY4MGMwLTguOCA3LjItMTYgMTYtMTZ6TTM1MiAxNzZjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMzY4Yy04LjggMC0xNi03LjItMTYtMTZWMTc2em0xNjAgOTZjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZINTI4Yy04LjggMC0xNi03LjItMTYtMTZWMjcyem0xNiA4MGgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDUyOGMtOC44IDAtMTYtNy4yLTE2LTE2VjM2OGMwLTguOCA3LjItMTYgMTYtMTZ6TTIyNCAxODguOUwyODMuOCAyODhIMjIzbC00OCA2NC0yNC42LTQxLjJMMjI0IDE4OC45em0yOS40LTQ0LjJDMjQ3LjEgMTM0LjMgMjM2IDEyOCAyMjQgMTI4cy0yMy4xIDYuMy0yOS40IDE2LjdMNS4xIDQ1OC45Yy02LjUgMTAuOC02LjcgMjQuMy0uNyAzNS4zUzIyIDUxMiAzNC41IDUxMkg0MTMuNWMxMi41IDAgMjQtNi44IDMwLjEtMTcuOHM1LjgtMjQuNS0uNy0zNS4zTDI1My40IDE0NC43elwiXVxufTtcbnZhciBmYUNvaW5zID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvaW5zJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNTFlXCIsIFwiTTUxMiA4MGMwIDE4LTE0LjMgMzQuNi0zOC40IDQ4Yy0yOS4xIDE2LjEtNzIuNSAyNy41LTEyMi4zIDMwLjljLTMuNy0xLjgtNy40LTMuNS0xMS4zLTVDMzAwLjYgMTM3LjQgMjQ4LjIgMTI4IDE5MiAxMjhjLTguMyAwLTE2LjQgLjItMjQuNSAuNmwtMS4xLS42QzE0Mi4zIDExNC42IDEyOCA5OCAxMjggODBjMC00NC4yIDg2LTgwIDE5Mi04MFM1MTIgMzUuOCA1MTIgODB6TTE2MC43IDE2MS4xYzEwLjItLjcgMjAuNy0xLjEgMzEuMy0xLjFjNjIuMiAwIDExNy40IDEyLjMgMTUyLjUgMzEuNEMzNjkuMyAyMDQuOSAzODQgMjIxLjcgMzg0IDI0MGMwIDQtLjcgNy45LTIuMSAxMS43Yy00LjYgMTMuMi0xNyAyNS4zLTM1IDM1LjVjMCAwIDAgMCAwIDBjLS4xIC4xLS4zIC4xLS40IC4ybDAgMCAwIDBjLS4zIC4yLS42IC4zLS45IC41Yy0zNSAxOS40LTkwLjggMzItMTUzLjYgMzJjLTU5LjYgMC0xMTIuOS0xMS4zLTE0OC4yLTI5LjFjLTEuOS0uOS0zLjctMS45LTUuNS0yLjlDMTQuMyAyNzQuNiAwIDI1OCAwIDI0MGMwLTM0LjggNTMuNC02NC41IDEyOC03NS40YzEwLjUtMS41IDIxLjQtMi43IDMyLjctMy41ek00MTYgMjQwYzAtMjEuOS0xMC42LTM5LjktMjQuMS01My40YzI4LjMtNC40IDU0LjItMTEuNCA3Ni4yLTIwLjVjMTYuMy02LjggMzEuNS0xNS4yIDQzLjktMjUuNVYxNzZjMCAxOS4zLTE2LjUgMzcuMS00My44IDUwLjljLTE0LjYgNy40LTMyLjQgMTMuNy01Mi40IDE4LjVjLjEtMS44IC4yLTMuNSAuMi01LjN6bS0zMiA5NmMwIDE4LTE0LjMgMzQuNi0zOC40IDQ4Yy0xLjggMS0zLjYgMS45LTUuNSAyLjlDMzA0LjkgNDA0LjcgMjUxLjYgNDE2IDE5MiA0MTZjLTYyLjggMC0xMTguNi0xMi42LTE1My42LTMyQzE0LjMgMzcwLjYgMCAzNTQgMCAzMzZWMzAwLjZjMTIuNSAxMC4zIDI3LjYgMTguNyA0My45IDI1LjVDODMuNCAzNDIuNiAxMzUuOCAzNTIgMTkyIDM1MnMxMDguNi05LjQgMTQ4LjEtMjUuOWM3LjgtMy4yIDE1LjMtNi45IDIyLjQtMTAuOWM2LjEtMy40IDExLjgtNy4yIDE3LjItMTEuMmMxLjUtMS4xIDIuOS0yLjMgNC4zLTMuNFYzMDR2NS43VjMzNnptMzIgMFYzMDQgMjc4LjFjMTktNC4yIDM2LjUtOS41IDUyLjEtMTZjMTYuMy02LjggMzEuNS0xNS4yIDQzLjktMjUuNVYyNzJjMCAxMC41LTUgMjEtMTQuOSAzMC45Yy0xNi4zIDE2LjMtNDUgMjkuNy04MS4zIDM4LjRjLjEtMS43IC4yLTMuNSAuMi01LjN6TTE5MiA0NDhjNTYuMiAwIDEwOC42LTkuNCAxNDguMS0yNS45YzE2LjMtNi44IDMxLjUtMTUuMiA0My45LTI1LjVWNDMyYzAgNDQuMi04NiA4MC0xOTIgODBTMCA0NzYuMiAwIDQzMlYzOTYuNmMxMi41IDEwLjMgMjcuNiAxOC43IDQzLjkgMjUuNUM4My40IDQzOC42IDEzNS44IDQ0OCAxOTIgNDQ4elwiXVxufTtcbnZhciBmYUtoYW5kYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdraGFuZGEnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5NzcyXSwgXCJmNjZkXCIsIFwiTTI0NS44IDMuN2M1LjktNC45IDE0LjYtNC45IDIwLjUgMGw0OCA0MGM1LjkgNC45IDcuNSAxMy4yIDMuOCAxOS45bDAgMCAwIDAgMCAwIDAgMC0uMSAuMS0uMyAuNmMtLjMgLjUtLjcgMS4zLTEuMiAyLjNjLTEgMi0yLjYgNS00LjQgOC42Yy0uNSAuOS0uOSAxLjktMS40IDIuOUMzNDQuOSA5Ny40IDM2OCAxMzQgMzY4IDE3NnMtMjMuMSA3OC42LTU3LjMgOTcuOGMuNSAxIDEgMiAxLjQgMi45YzEuOCAzLjcgMy4zIDYuNiA0LjQgOC42Yy41IDEgLjkgMS44IDEuMiAyLjNsLjMgLjYgLjEgLjEgMCAwIDAgMGMzLjYgNi43IDIgMTUtMy44IDE5LjlMMjcyIDM0My41djE5LjhsMzUuNi0yNC41IDQxLjEtMjguMmM0Mi44LTI5LjQgNjguNC03OCA2OC40LTEzMGMwLTMxLjEtOS4yLTYxLjYtMjYuNS04Ny41bC0yLjgtNC4yYy00LTYtMy41LTE0IDEuMy0xOS41czEyLjctNyAxOS4yLTMuN0w0MDEuMSA4MGM3LjItMTQuMyA3LjItMTQuMyA3LjItMTQuM2wwIDAgMCAwIC4xIDAgLjMgLjIgMSAuNWMuOCAuNCAyIDEuMSAzLjUgMS45YzIuOSAxLjcgNyA0LjEgMTEuOCA3LjNjOS42IDYuNCAyMi41IDE2LjEgMzUuNCAyOWMyNS43IDI1LjcgNTIuNyA2NS42IDUyLjcgMTE5LjNjMCA1My4xLTI2LjQgMTAwLjUtNTEuMiAxMzMuNmMtMTIuNiAxNi43LTI1LjEgMzAuMy0zNC41IDM5LjdjLTQuNyA0LjctOC43IDguNC0xMS41IDEwLjljLTEuNCAxLjMtMi41IDIuMi0zLjMgMi45bC0uOSAuOC0uMyAuMi0uMSAuMSAwIDAgMCAwczAgMC0xMC4yLTEyLjNsMTAuMiAxMi4zYy01LjEgNC4zLTEyLjQgNC45LTE4LjIgMS42bC03NS42LTQzLTMyLjcgMjIuNSA0NS41IDMxLjNjMS44LS40IDMuNy0uNyA1LjctLjdjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTEyLjIgMC0yMi4zLTkuMS0yMy44LTIxTDI3MiA0MjMuNHYyOC45YzkuNiA1LjUgMTYgMTUuOSAxNiAyNy43YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyYzAtMTEuOCA2LjQtMjIuMiAxNi0yNy43VjQyNC4xbC00MC4zIDI3LjdDMTk3LjggNDYzLjMgMTg3LjkgNDcyIDE3NiA0NzJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjMi4yIDAgNC40IC4zIDYuNSAuOWw0NS44LTMxLjUtMzIuNy0yMi41LTc1LjYgNDNjLTUuOCAzLjMtMTMgMi43LTE4LjItMS42TDExMiA0MDBjLTEwLjIgMTIuMy0xMC4yIDEyLjMtMTAuMyAxMi4zbDAgMCAwIDAtLjEtLjEtLjMtLjItLjktLjhjLS44LS43LTEuOS0xLjctMy4zLTIuOWMtMi44LTIuNS02LjctNi4yLTExLjUtMTAuOWMtOS40LTkuNC0yMS45LTIzLTM0LjUtMzkuN0MyNi40IDMyNC41IDAgMjc3LjEgMCAyMjRjMC01My43IDI2LjktOTMuNiA1Mi43LTExOS4zYzEyLjktMTIuOSAyNS44LTIyLjYgMzUuNC0yOUM5MyA3Mi41IDk3IDcwIDk5LjkgNjguNGMxLjUtLjggMi42LTEuNSAzLjUtMS45bDEtLjUgLjMtLjIgLjEgMCAwIDAgMCAwczAgMCA3LjIgMTQuM2wtNy4yLTE0LjNjNi41LTMuMiAxNC4zLTEuNyAxOS4yIDMuN3M1LjMgMTMuNCAxLjMgMTkuNWwtMi44IDQuMkMxMDUuMiAxMTkgOTYgMTQ5LjUgOTYgMTgwLjZjMCA1MS45IDI1LjYgMTAwLjYgNjguNCAxMzBsNDEuMSAyOC4yTDI0MCAzNjIuNlYzNDMuNWwtNDIuMi0zNS4yYy01LjktNC45LTcuNS0xMy4yLTMuOC0xOS45bDAgMCAwIDAgMCAwIC4xLS4xIC4zLS42Yy4zLS41IC43LTEuMyAxLjItMi4zYzEtMiAyLjYtNSA0LjQtOC42Yy41LS45IC45LTEuOSAxLjQtMi45QzE2Ny4xIDI1NC42IDE0NCAyMTggMTQ0IDE3NnMyMy4xLTc4LjYgNTcuMy05Ny44Yy0uNS0xLTEtMi0xLjQtMi45Yy0xLjgtMy43LTMuMy02LjYtNC40LTguNmMtLjUtMS0uOS0xLjgtMS4yLTIuM2wtLjMtLjYtLjEtLjEgMCAwIDAgMCAwIDBjLTMuNi02LjctMi0xNSAzLjgtMTkuOWw0OC00MHpNMjIwLjIgMTIyLjljLTE3IDExLjUtMjguMiAzMS0yOC4yIDUzLjFzMTEuMiA0MS42IDI4LjIgNTMuMUMyMjcgMjEwLjIgMjMyIDE5MC45IDIzMiAxNzZzLTUtMzQuMi0xMS44LTUzLjF6bTcxLjUgMTA2LjJjMTctMTEuNSAyOC4yLTMxIDI4LjItNTMuMXMtMTEuMi00MS42LTI4LjItNTMuMUMyODUgMTQxLjggMjgwIDE2MS4xIDI4MCAxNzZzNSAzNC4yIDExLjggNTMuMXpcIl1cbn07XG52YXIgZmFTbGlkZXJzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NsaWRlcnMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInNsaWRlcnMtaFwiXSwgXCJmMWRlXCIsIFwiTTAgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDU0LjcgMGMxMi4zIDI4LjMgNDAuNSA0OCA3My4zIDQ4czYxLTE5LjcgNzMuMy00OEw0ODAgNDQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yNDYuNyAwYy0xMi4zLTI4LjMtNDAuNS00OC03My4zLTQ4cy02MSAxOS43LTczLjMgNDhMMzIgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnptMTI4IDBhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMzIwIDI1NmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0zMi04MGMtMzIuOCAwLTYxIDE5LjctNzMuMyA0OEwzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjQ2LjcgMGMxMi4zIDI4LjMgNDAuNSA0OCA3My4zIDQ4czYxLTE5LjcgNzMuMy00OGw1NC43IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTU0LjcgMGMtMTIuMy0yOC4zLTQwLjUtNDgtNzMuMy00OHpNMTkyIDEyOGEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6bTczLjMtNjRDMjUzIDM1LjcgMjI0LjggMTYgMTkyIDE2cy02MSAxOS43LTczLjMgNDhMMzIgNjRDMTQuMyA2NCAwIDc4LjMgMCA5NnMxNC4zIDMyIDMyIDMybDg2LjcgMGMxMi4zIDI4LjMgNDAuNSA0OCA3My4zIDQ4czYxLTE5LjcgNzMuMy00OEw0ODAgMTI4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDI2NS4zIDY0elwiXVxufTtcbnZhciBmYVNsaWRlcnNIID0gZmFTbGlkZXJzO1xudmFyIGZhRm9sZGVyVHJlZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmb2xkZXItdHJlZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjgwMlwiLCBcIk02NCAzMkM2NCAxNC4zIDQ5LjcgMCAzMiAwUzAgMTQuMyAwIDMydjk2VjM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NEgyNTZWMzg0SDY0VjE2MEgyNTZWOTZINjRWMzJ6TTI4OCAxOTJjMCAxNy43IDE0LjMgMzIgMzIgMzJINTQ0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjY0YzAtMTcuNy0xNC4zLTMyLTMyLTMySDQ0NS4zYy04LjUgMC0xNi42LTMuNC0yMi42LTkuNEw0MDkuNCA5LjRjLTYtNi0xNC4xLTkuNC0yMi42LTkuNEgzMjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyVjE5MnptMCAyODhjMCAxNy43IDE0LjMgMzIgMzIgMzJINTQ0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM1MmMwLTE3LjctMTQuMy0zMi0zMi0zMkg0NDUuM2MtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRsLTEzLjMtMTMuM2MtNi02LTE0LjEtOS40LTIyLjYtOS40SDMyMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJWNDgwelwiXVxufTtcbnZhciBmYU5ldHdvcmtXaXJlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICduZXR3b3JrLXdpcmVkJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNmZmXCIsIFwiTTI1NiA2NEgzODR2NjRIMjU2VjY0ek0yNDAgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDh2OTZjMCAyNi41IDIxLjUgNDggNDggNDhoNDh2MzJIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoOTZ2MzJIODBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4djk2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDI0MGMyNi41IDAgNDgtMjEuNSA0OC00OFYzNjhjMC0yNi41LTIxLjUtNDgtNDgtNDhIMTkyVjI4OEg0NDh2MzJINDAwYy0yNi41IDAtNDggMjEuNS00OCA0OHY5NmMwIDI2LjUgMjEuNSA0OCA0OCA0OEg1NjBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMzY4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDUxMlYyODhoOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzUyVjE5Mmg0OGMyNi41IDAgNDgtMjEuNSA0OC00OFY0OGMwLTI2LjUtMjEuNS00OC00OC00OEgyNDB6TTk2IDQ0OFYzODRIMjI0djY0SDk2em0zMjAtNjRINTQ0djY0SDQxNlYzODR6XCJdXG59O1xudmFyIGZhTWFwUGluID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hcC1waW4nLFxuICBpY29uOiBbMzIwLCA1MTIsIFsxMjgyMDVdLCBcImYyNzZcIiwgXCJNMTYgMTQ0YTE0NCAxNDQgMCAxIDEgMjg4IDBBMTQ0IDE0NCAwIDEgMSAxNiAxNDR6TTE2MCA4MGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmMtNTMgMC05NiA0My05NiA5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2YzAtMzUuMyAyOC43LTY0IDY0LTY0ek0xMjggNDgwVjMxNy4xYzEwLjQgMS45IDIxLjEgMi45IDMyIDIuOXMyMS42LTEgMzItMi45VjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMnpcIl1cbn07XG52YXIgZmFIYW1zYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW1zYScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjY2NVwiLCBcIk0zNC42IDI4OEg4MGM4LjggMCAxNi03LjIgMTYtMTZWNzJjMC0yMi4xIDE3LjktNDAgNDAtNDBzNDAgMTcuOSA0MCA0MFYyMDRjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBWNDBjMC0yMi4xIDE3LjktNDAgNDAtNDBzNDAgMTcuOSA0MCA0MFYyMDRjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBWNzJjMC0yMi4xIDE3LjktNDAgNDAtNDBzNDAgMTcuOSA0MCA0MFYyNzJjMCA4LjggNy4yIDE2IDE2IDE2aDQ1LjRjMTkuMSAwIDM0LjYgMTUuNSAzNC42IDM0LjZjMCA4LjYtMy4yIDE2LjktOSAyMy4zTDQxNi42IDQ0MWMtNDEuMSA0NS4yLTk5LjQgNzEtMTYwLjYgNzFzLTExOS40LTI1LjgtMTYwLjYtNzFMOSAzNDUuOWMtNS44LTYuNC05LTE0LjctOS0yMy4zQzAgMzAzLjUgMTUuNSAyODggMzQuNiAyODh6TTI1NiAyODhjLTM4LjQgMC03Ni44IDM1LjgtOTAuNiA1MC4yYy0zLjYgMy43LTUuNCA4LjctNS40IDEzLjhzMS44IDEwLjEgNS40IDEzLjhDMTc5LjIgMzgwLjIgMjE3LjYgNDE2IDI1NiA0MTZzNzYuOC0zNS44IDkwLjYtNTAuMmMzLjYtMy43IDUuNC04LjcgNS40LTEzLjhzLTEuOC0xMC4xLTUuNC0xMy44QzMzMi44IDMyMy44IDI5NC40IDI4OCAyNTYgMjg4em0wIDMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFDZW50U2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjZW50LXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUzZjVcIiwgXCJNMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNjYuN2MzMC45IDUuMiA1OS4yIDE3LjcgODMuMiAzNS44YzE0LjEgMTAuNiAxNyAzMC43IDYuNCA0NC44cy0zMC43IDE3LTQ0LjggNi40QzI3OS40IDEzNy41IDI1Mi45IDEyOCAyMjQgMTI4Yy03MC43IDAtMTI4IDU3LjMtMTI4IDEyOHM1Ny4zIDEyOCAxMjggMTI4YzI4LjkgMCA1NS40LTkuNSA3Ni44LTI1LjZjMTQuMS0xMC42IDM0LjItNy44IDQ0LjggNi40czcuOCAzNC4yLTYuNCA0NC44Yy0yNCAxOC01Mi40IDMwLjYtODMuMiAzNS44VjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY0NDUuM0MxMDEuMiA0MzAuMSAzMiAzNTEuMSAzMiAyNTZzNjkuMi0xNzQuMSAxNjAtMTg5LjNWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xudmFyIGZhRmxhc2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmxhc2snLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYwYzNcIiwgXCJNMjg4IDBIMTYwIDEyOEMxMTAuMyAwIDk2IDE0LjMgOTYgMzJzMTQuMyAzMiAzMiAzMlYxOTYuOGMwIDExLjgtMy4zIDIzLjUtOS41IDMzLjVMMTAuMyA0MDYuMkMzLjYgNDE3LjIgMCA0MjkuNyAwIDQ0Mi42QzAgNDgwLjkgMzEuMSA1MTIgNjkuNCA1MTJIMzc4LjZjMzguMyAwIDY5LjQtMzEuMSA2OS40LTY5LjRjMC0xMi44LTMuNi0yNS40LTEwLjMtMzYuNEwzMjkuNSAyMzAuNGMtNi4yLTEwLjEtOS41LTIxLjctOS41LTMzLjVWNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMjg4ek0xOTIgMTk2LjhWNjRoNjRWMTk2LjhjMCAyMy43IDYuNiA0Ni45IDE5IDY3LjFMMzA5LjUgMzIwaC0xNzFMMTczIDI2My45YzEyLjQtMjAuMiAxOS00My40IDE5LTY3LjF6XCJdXG59O1xudmFyIGZhUGVyc29uUHJlZ25hbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLXByZWduYW50JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlMzFlXCIsIFwiTTE5MiAwYTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpNMTIwIDM4M2MtMTMuOC0zLjYtMjQtMTYuMS0yNC0zMVYyOTYuOWwtNC42IDcuNmMtOS4xIDE1LjEtMjguOCAyMC00My45IDEwLjlzLTIwLTI4LjgtMTAuOS00My45bDU4LjMtOTdjMTUtMjQuOSA0MC4zLTQxLjUgNjguNy00NS42YzQuMS0uNiA4LjItMSAxMi41LTFoMS4xIDEyLjVIMTkyYzEuNCAwIDIuOCAuMSA0LjEgLjNjMzUuNyAyLjkgNjUuNCAyOS4zIDcyLjEgNjVsNi4xIDMyLjVjNDQuMyA4LjYgNzcuNyA0Ny41IDc3LjcgOTQuM3YzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkgzMDQgMjY0djk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjM4NGgtOC04djk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjM4M3pcIl1cbn07XG52YXIgZmFXYW5kU3BhcmtsZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2FuZC1zcGFya2xlcycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjcyYlwiLCBcIk00NjQgNi4xYzkuNS04LjUgMjQtOC4xIDMzIC45bDggOGM5IDkgOS40IDIzLjUgLjkgMzNsLTg1LjggOTUuOWMtMi42IDIuOS00LjEgNi43LTQuMSAxMC43VjE3NmMwIDguOC03LjIgMTYtMTYgMTZIMzg0LjJjLTQuNiAwLTguOSAxLjktMTEuOSA1LjNMMTAwLjcgNTAwLjlDOTQuMyA1MDggODUuMyA1MTIgNzUuOCA1MTJjLTguOCAwLTE3LjMtMy41LTIzLjUtOS44TDkuNyA0NTkuN0MzLjUgNDUzLjQgMCA0NDUgMCA0MzYuMmMwLTkuNSA0LTE4LjUgMTEuMS0yNC44bDExMS42LTk5LjhjMy40LTMgNS4zLTcuNCA1LjMtMTEuOVYyNzJjMC04LjggNy4yLTE2IDE2LTE2aDM0LjZjMy45IDAgNy43LTEuNSAxMC43LTQuMUw0NjQgNi4xek00MzIgMjg4YzMuNiAwIDYuNyAyLjQgNy43IDUuOGwxNC44IDUxLjcgNTEuNyAxNC44YzMuNCAxIDUuOCA0LjEgNS44IDcuN3MtMi40IDYuNy01LjggNy43bC01MS43IDE0LjgtMTQuOCA1MS43Yy0xIDMuNC00LjEgNS44LTcuNyA1LjhzLTYuNy0yLjQtNy43LTUuOGwtMTQuOC01MS43LTUxLjctMTQuOGMtMy40LTEtNS44LTQuMS01LjgtNy43czIuNC02LjcgNS44LTcuN2w1MS43LTE0LjggMTQuOC01MS43YzEtMy40IDQuMS01LjggNy43LTUuOHpNODcuNyA2OS44bDE0LjggNTEuNyA1MS43IDE0LjhjMy40IDEgNS44IDQuMSA1LjggNy43cy0yLjQgNi43LTUuOCA3LjdsLTUxLjcgMTQuOEw4Ny43IDIxOC4yYy0xIDMuNC00LjEgNS44LTcuNyA1LjhzLTYuNy0yLjQtNy43LTUuOEw1Ny41IDE2Ni41IDUuOCAxNTEuN2MtMy40LTEtNS44LTQuMS01LjgtNy43czIuNC02LjcgNS44LTcuN2w1MS43LTE0LjhMNzIuMyA2OS44YzEtMy40IDQuMS01LjggNy43LTUuOHM2LjcgMi40IDcuNyA1Ljh6TTIwOCAwYzMuNyAwIDYuOSAyLjUgNy44IDYuMWw2LjggMjcuMyAyNy4zIDYuOGMzLjYgLjkgNi4xIDQuMSA2LjEgNy44cy0yLjUgNi45LTYuMSA3LjhsLTI3LjMgNi44LTYuOCAyNy4zYy0uOSAzLjYtNC4xIDYuMS03LjggNi4xcy02LjktMi41LTcuOC02LjFsLTYuOC0yNy4zLTI3LjMtNi44Yy0zLjYtLjktNi4xLTQuMS02LjEtNy44czIuNS02LjkgNi4xLTcuOGwyNy4zLTYuOCA2LjgtMjcuM2MuOS0zLjYgNC4xLTYuMSA3LjgtNi4xelwiXVxufTtcbnZhciBmYUVsbGlwc2lzVmVydGljYWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZWxsaXBzaXMtdmVydGljYWwnLFxuICBpY29uOiBbMTI4LCA1MTIsIFtcImVsbGlwc2lzLXZcIl0sIFwiZjE0MlwiLCBcIk02NCAzNjBhNTYgNTYgMCAxIDAgMCAxMTIgNTYgNTYgMCAxIDAgMC0xMTJ6bTAtMTYwYTU2IDU2IDAgMSAwIDAgMTEyIDU2IDU2IDAgMSAwIDAtMTEyek0xMjAgOTZBNTYgNTYgMCAxIDAgOCA5NmE1NiA1NiAwIDEgMCAxMTIgMHpcIl1cbn07XG52YXIgZmFFbGxpcHNpc1YgPSBmYUVsbGlwc2lzVmVydGljYWw7XG52YXIgZmFUaWNrZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGlja2V0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI3OTAzXSwgXCJmMTQ1XCIsIFwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4djY0YzAgOC44IDcuNCAxNS43IDE1LjcgMTguNkMzNC41IDIxNy4xIDQ4IDIzNSA0OCAyNTZzLTEzLjUgMzguOS0zMi4zIDQ1LjRDNy40IDMwNC4zIDAgMzExLjIgMCAzMjB2NjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRINTEyYzM1LjMgMCA2NC0yOC43IDY0LTY0VjMyMGMwLTguOC03LjQtMTUuNy0xNS43LTE4LjZDNTQxLjUgMjk0LjkgNTI4IDI3NyA1MjggMjU2czEzLjUtMzguOSAzMi4zLTQ1LjRjOC4zLTIuOSAxNS43LTkuOCAxNS43LTE4LjZWMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0em02NCAxMTJsMCAxNjBjMCA4LjggNy4yIDE2IDE2IDE2SDQzMmM4LjggMCAxNi03LjIgMTYtMTZWMTc2YzAtOC44LTcuMi0xNi0xNi0xNkgxNDRjLTguOCAwLTE2IDcuMi0xNiAxNnpNOTYgMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMySDQ0OGMxNy43IDAgMzIgMTQuMyAzMiAzMlYzNTJjMCAxNy43LTE0LjMgMzItMzIgMzJIMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYxNjB6XCJdXG59O1xudmFyIGZhUG93ZXJPZmYgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncG93ZXItb2ZmJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTIxMV0sIFwiZjAxMVwiLCBcIk0yODggMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWMjU2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMzJ6TTE0My41IDEyMC42YzEzLjYtMTEuMyAxNS40LTMxLjUgNC4xLTQ1LjFzLTMxLjUtMTUuNC00NS4xLTQuMUM0OS43IDExNS40IDE2IDE4MS44IDE2IDI1NmMwIDEzMi41IDEwNy41IDI0MCAyNDAgMjQwczI0MC0xMDcuNSAyNDAtMjQwYzAtNzQuMi0zMy44LTE0MC42LTg2LjYtMTg0LjZjLTEzLjYtMTEuMy0zMy44LTkuNC00NS4xIDQuMXMtOS40IDMzLjggNC4xIDQ1LjFjMzguOSAzMi4zIDYzLjUgODEgNjMuNSAxMzUuNGMwIDk3LjItNzguOCAxNzYtMTc2IDE3NnMtMTc2LTc4LjgtMTc2LTE3NmMwLTU0LjQgMjQuNy0xMDMuMSA2My41LTEzNS40elwiXVxufTtcbnZhciBmYVJpZ2h0TG9uZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyaWdodC1sb25nJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJsb25nLWFycm93LWFsdC1yaWdodFwiXSwgXCJmMzBiXCIsIFwiTTMzNC41IDQxNGM4LjggMy44IDE5IDIgMjYtNC42bDE0NC0xMzZjNC44LTQuNSA3LjUtMTAuOCA3LjUtMTcuNHMtMi43LTEyLjktNy41LTE3LjRsLTE0NC0xMzZjLTctNi42LTE3LjItOC40LTI2LTQuNnMtMTQuNSAxMi41LTE0LjUgMjJsMCA3MkwzMiAxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjg4IDAgMCA3MmMwIDkuNiA1LjcgMTguMiAxNC41IDIyelwiXVxufTtcbnZhciBmYUxvbmdBcnJvd0FsdFJpZ2h0ID0gZmFSaWdodExvbmc7XG52YXIgZmFGbGFnVXNhID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZsYWctdXNhJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmNzRkXCIsIFwiTTMyIDBDNDkuNyAwIDY0IDE0LjMgNjQgMzJWNDhsNjktMTcuMmMzOC4xLTkuNSA3OC4zLTUuMSAxMTMuNSAxMi41YzQ2LjMgMjMuMiAxMDAuOCAyMy4yIDE0Ny4xIDBsOS42LTQuOEM0MjMuOCAyOC4xIDQ0OCA0My4xIDQ0OCA2Ni4xdjM2LjFsLTQ0LjcgMTYuMmMtNDIuOCAxNS42LTkwIDEzLjktMTMxLjYtNC42bC0xNi4xLTcuMmMtMjAuMy05LTQxLjgtMTQuNy02My42LTE2Ljl2MzIuMmMxNy40IDIuMSAzNC40IDYuNyA1MC42IDEzLjlsMTYuMSA3LjJjNDkuMiAyMS45IDEwNSAyMy44IDE1NS42IDUuNEw0NDggMTM2LjN2NjJsLTQ0LjcgMTYuMmMtNDIuOCAxNS42LTkwIDEzLjktMTMxLjYtNC42bC0xNi4xLTcuMmMtNDAuMi0xNy45LTg1LTIyLjUtMTI4LjEtMTMuM0w2NCAyMDMuMXYzMi43bDcwLjItMTUuMWMzNi40LTcuOCA3NC4zLTMuOSAxMDguNCAxMS4zbDE2LjEgNy4yYzQ5LjIgMjEuOSAxMDUgMjMuOCAxNTUuNiA1LjRMNDQ4IDIzMi4zdjYybC00NC43IDE2LjJjLTQyLjggMTUuNi05MCAxMy45LTEzMS42LTQuNmwtMTYuMS03LjJjLTQwLjItMTcuOS04NS0yMi41LTEyOC4xLTEzLjNMNjQgMjk5LjF2MzIuN2w3MC4yLTE1LjFjMzYuNC03LjggNzQuMy0zLjkgMTA4LjQgMTEuM2wxNi4xIDcuMmM0OS4yIDIxLjkgMTA1IDIzLjggMTU1LjYgNS40TDQ0OCAzMjguM3YzMy41YzAgMTMuMy04LjMgMjUuMy0yMC44IDMwbC0zNC43IDEzYy00Ni4yIDE3LjMtOTcuNiAxNC42LTE0MS43LTcuNGMtMzcuOS0xOS04MS4zLTIzLjctMTIyLjUtMTMuNEw2NCA0MDB2ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWNDE2IDM0NS41IDMxMi44IDI0OS41IDIxNi44IDE1My41IDEyMC44IDY0IDMyQzAgMTQuMyAxNC4zIDAgMzIgMHptODAgOTZBMTYgMTYgMCAxIDAgODAgOTZhMTYgMTYgMCAxIDAgMzIgMHptMzIgMGExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6bS0zMiA0OGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem0zMiAwYTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnpcIl1cbn07XG52YXIgZmFMYXB0b3BGaWxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xhcHRvcC1maWxlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTFkXCIsIFwiTTEyOCAwQzkyLjcgMCA2NCAyOC43IDY0IDY0VjI4OEgxOS4yQzguNiAyODggMCAyOTYuNiAwIDMwNy4yQzAgMzQ5LjYgMzQuNCAzODQgNzYuOCAzODRIMzIwVjI4OEgxMjhWNjRINDQ4Vjk2aDY0VjY0YzAtMzUuMy0yOC43LTY0LTY0LTY0SDEyOHpNNTEyIDEyOEg0MDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4VjQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OEg1OTJjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMjU2SDU0NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMTI4em0zMiAwdjk2aDk2bC05Ni05NnpcIl1cbn07XG52YXIgZmFUdHkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHR5JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJ0ZWxldHlwZVwiXSwgXCJmMWU0XCIsIFwiTTM4LjMgMjQxLjNMMTUuMSAyMDAuNmMtOS4yLTE2LjItOC40LTM2LjUgNC41LTUwQzYxLjQgMTA2LjggMTQ0LjcgNDggMjU2IDQ4czE5NC42IDU4LjggMjM2LjQgMTAyLjZjMTIuOSAxMy41IDEzLjcgMzMuOCA0LjUgNTBsLTIzLjEgNDAuN2MtNy41IDEzLjItMjMuMyAxOS4zLTM3LjggMTQuNmwtODEuMS0yNi42Yy0xMy4xLTQuMy0yMi0xNi42LTIyLTMwLjRWMTQ0Yy00OS42LTE4LjEtMTA0LTE4LjEtMTUzLjYgMHY1NC44YzAgMTMuOC04LjkgMjYuMS0yMiAzMC40TDc2LjEgMjU1LjhjLTE0LjUgNC43LTMwLjMtMS40LTM3LjgtMTQuNnpNMzIgMzM2YzAtOC44IDcuMi0xNiAxNi0xNkg4MGM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDQ4Yy04LjggMC0xNi03LjItMTYtMTZWMzM2em0wIDk2YzAtOC44IDcuMi0xNiAxNi0xNkg4MGM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDQ4Yy04LjggMC0xNi03LjItMTYtMTZWNDMyek0xNDQgMzIwaDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMTQ0Yy04LjggMC0xNi03LjItMTYtMTZWMzM2YzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTZjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMjQwYy04LjggMC0xNi03LjItMTYtMTZWMzM2em0xMTItMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgzMzZjLTguOCAwLTE2LTcuMi0xNi0xNlYzMzZjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkg0MzJjLTguOCAwLTE2LTcuMi0xNi0xNlYzMzZ6bTE2IDgwaDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZINDMyYy04LjggMC0xNi03LjItMTYtMTZWNDMyYzAtOC44IDcuMi0xNiAxNi0xNnpNMTI4IDQzMmMwLTguOCA3LjItMTYgMTYtMTZIMzY4YzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMTQ0Yy04LjggMC0xNi03LjItMTYtMTZWNDMyelwiXVxufTtcbnZhciBmYVRlbGV0eXBlID0gZmFUdHk7XG52YXIgZmFEaWFncmFtTmV4dCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkaWFncmFtLW5leHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0NzZcIiwgXCJNNTEyIDE2MGMwIDM1LjMtMjguNyA2NC02NCA2NEgyODB2NjRoNDYuMWMyMS40IDAgMzIuMSAyNS45IDE3IDQxTDI3MyAzOTljLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwTDE2OSAzMjljLTE1LjEtMTUuMS00LjQtNDEgMTctNDFIMjMyVjIyNEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJINDQ4YzM1LjMgMCA2NCAyOC43IDY0IDY0djY0ek00NDggNDE2VjM1MkgzNjUuM2wuNC0uNGMxOC40LTE4LjQgMjAuNC00My43IDExLTYzLjZsNzEuMyAwYzM1LjMgMCA2NCAyOC43IDY0IDY0djY0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMzUyYzAtMzUuMyAyOC43LTY0IDY0LTY0bDcxLjMgMGMtOS40IDE5LjktNy40IDQ1LjIgMTEgNjMuNmwuNCAuNEg2NHY2NEgyMTAuN2w1LjcgNS43YzIxLjkgMjEuOSA1Ny4zIDIxLjkgNzkuMiAwbDUuNy01LjdINDQ4elwiXVxufTtcbnZhciBmYVBlcnNvblJpZmxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1yaWZsZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU0ZVwiLCBcIk0yNjUuMiAxOTJjMjUuNCAwIDQ5LjggNy4xIDcwLjggMTkuOVY1MTJIMTQ0VjMzNy43TDkwLjQgNDI4LjNjLTExLjIgMTktMzUuOCAyNS4zLTU0LjggMTQuMXMtMjUuMy0zNS44LTE0LjEtNTQuOEw5Ny43IDI1OC44YzI0LjUtNDEuNCA2OS02Ni44IDExNy4xLTY2LjhoNTAuNHpNMTYwIDgwYTgwIDgwIDAgMSAxIDE2MCAwQTgwIDgwIDAgMSAxIDE2MCA4MHpNNDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2VjEzMi4zYzkuNiA1LjUgMTYgMTUuOSAxNiAyNy43VjI2OS4zbDE2LTUuM1YyMDhjMC04LjggNy4yLTE2IDE2LTE2aDE2YzguOCAwIDE2IDcuMiAxNiAxNnY4NC41YzAgNi45LTQuNCAxMy0xMC45IDE1LjJMNDgwIDMyNS4zVjM1Mmg0OGM4LjggMCAxNiA3LjIgMTYgMTZ2MTZjMCA4LjgtNy4yIDE2LTE2IDE2SDQ4NGwyMyA5Mi4xYzIuNSAxMC4xLTUuMSAxOS45LTE1LjUgMTkuOUg0MzJjLTguOCAwLTE2LTcuMi0xNi0xNlY0MDBINDAwYy0xNy43IDAtMzItMTQuMy0zMi0zMlYyMjRjMC0xNy43IDE0LjMtMzIgMzItMzJWMTYwYzAtMTEuOCA2LjQtMjIuMiAxNi0yNy43VjMyYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2aDE2IDE2elwiXVxufTtcbnZhciBmYUhvdXNlTWVkaWNhbENpcmNsZUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLW1lZGljYWwtY2lyY2xlLWV4Y2xhbWF0aW9uJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTEyXCIsIFwiTTMyMCAzNjhjMCA1OS41IDI5LjUgMTEyLjEgNzQuOCAxNDRIMTI4LjFjLTM1LjMgMC02NC0yOC43LTY0LTY0VjI4Ny42SDMyYy0xOCAwLTMyLTE0LTMyLTMyLjFjMC05IDMtMTcgMTAtMjRMMjY2LjQgOGM3LTcgMTUtOCAyMi04czE1IDIgMjEgN0w1MjIuMSAxOTMuOWMtOC41LTEuMy0xNy4zLTEuOS0yNi4xLTEuOWMtNTQuNyAwLTEwMy41IDI0LjktMTM1LjggNjRIMzIwVjIwOGMwLTguOC03LjItMTYtMTYtMTZIMjcyYy04LjggMC0xNiA3LjItMTYgMTZ2NDhIMjA4Yy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDQ4djQ4YzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZ6TTQ5NiAyMjRhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4em0wIDI0MGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTAtMTkyYy04LjggMC0xNiA3LjItMTYgMTZ2ODBjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlYyODhjMC04LjgtNy4yLTE2LTE2LTE2elwiXVxufTtcbnZhciBmYUNsb3NlZENhcHRpb25pbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvc2VkLWNhcHRpb25pbmcnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImYyMGFcIiwgXCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMkg1MTJjMzUuMyAwIDY0IDI4LjcgNjQgNjRWNDE2YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY5NnpNMjAwIDIwOGMxNC4yIDAgMjcgNi4xIDM1LjggMTZjOC44IDkuOSAyNCAxMC43IDMzLjkgMS45czEwLjctMjQgMS45LTMzLjljLTE3LjUtMTkuNi00My4xLTMyLTcxLjUtMzJjLTUzIDAtOTYgNDMtOTYgOTZzNDMgOTYgOTYgOTZjMjguNCAwIDU0LTEyLjQgNzEuNS0zMmM4LjgtOS45IDgtMjUtMS45LTMzLjlzLTI1LTgtMzMuOSAxLjljLTguOCA5LjktMjEuNiAxNi0zNS44IDE2Yy0yNi41IDAtNDgtMjEuNS00OC00OHMyMS41LTQ4IDQ4LTQ4em0xNDQgNDhjMC0yNi41IDIxLjUtNDggNDgtNDhjMTQuMiAwIDI3IDYuMSAzNS44IDE2YzguOCA5LjkgMjQgMTAuNyAzMy45IDEuOXMxMC43LTI0IDEuOS0zMy45Yy0xNy41LTE5LjYtNDMuMS0zMi03MS41LTMyYy01MyAwLTk2IDQzLTk2IDk2czQzIDk2IDk2IDk2YzI4LjQgMCA1NC0xMi40IDcxLjUtMzJjOC44LTkuOSA4LTI1LTEuOS0zMy45cy0yNS04LTMzLjkgMS45Yy04LjggOS45LTIxLjYgMTYtMzUuOCAxNmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDh6XCJdXG59O1xudmFyIGZhUGVyc29uSGlraW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1oaWtpbmcnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImhpa2luZ1wiXSwgXCJmNmVjXCIsIFwiTTE5MiA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem01MS4zIDE4Mi43TDIyNC4yIDMwN2w0OS43IDQ5LjdjOSA5IDE0LjEgMjEuMiAxNC4xIDMzLjlWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjM5Ny4zbC03My45LTczLjljLTE1LjgtMTUuOC0yMi4yLTM4LjYtMTYuOS02MC4zbDIwLjQtODRjOC4zLTM0LjEgNDIuNy01NC45IDc2LjctNDYuNGMxOSA0LjggMzUuNiAxNi40IDQ2LjQgMzIuN0wzMDUuMSAyMDhIMzM2VjE4NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0djU1LjhjMCAuMSAwIC4yIDAgLjJzMCAuMiAwIC4yVjQ4OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYyNzJIMjk2LjZjLTE2IDAtMzEtOC0zOS45LTIxLjRsLTEzLjMtMjB6TTgxLjEgNDcxLjlMMTE3LjMgMzM0YzMgNC4yIDYuNCA4LjIgMTAuMSAxMS45bDQxLjkgNDEuOUwxNDIuOSA0ODguMWMtNC41IDE3LjEtMjIgMjcuMy0zOS4xIDIyLjhzLTI3LjMtMjItMjIuOC0zOS4xem01NS41LTM0NkwxMDEuNCAyNjYuNWMtMyAxMi4xLTE0LjkgMTkuOS0yNy4yIDE3LjlsLTQ3LjktOGMtMTQtMi4zLTIyLjktMTYuMy0xOS4yLTMwTDMxLjkgMTU1YzkuNS0zNC44IDQxLjEtNTkgNzcuMi01OWg0LjJjMTUuNiAwIDI3LjEgMTQuNyAyMy4zIDI5Ljh6XCJdXG59O1xudmFyIGZhSGlraW5nID0gZmFQZXJzb25IaWtpbmc7XG52YXIgZmFWZW51c0RvdWJsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2ZW51cy1kb3VibGUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFs5ODkwXSwgXCJmMjI2XCIsIFwiTTE5MiAyODhhMTEyIDExMiAwIDEgMCAwLTIyNCAxMTIgMTEyIDAgMSAwIDAgMjI0ek0zNjggMTc2YzAgODYuMy02Mi4xIDE1OC4xLTE0NCAxNzMuMVYzODRoMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMjI0djMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjQ0OEgxMjhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJoMzJWMzQ5LjFDNzguMSAzMzQuMSAxNiAyNjIuMyAxNiAxNzZDMTYgNzguOCA5NC44IDAgMTkyIDBzMTc2IDc4LjggMTc2IDE3NnpNMzQ0IDMxOGMxNC42LTE1LjYgMjYuOC0zMy40IDM2LTUzYzE4LjggMTQuNCA0Mi40IDIzIDY4IDIzYzYxLjkgMCAxMTItNTAuMSAxMTItMTEycy01MC4xLTExMi0xMTItMTEyYy0yNS42IDAtNDkuMSA4LjYtNjggMjNjLTkuMy0xOS41LTIxLjUtMzcuNC0zNi01M0MzNzMuMSAxMi42IDQwOS4xIDAgNDQ4IDBjOTcuMiAwIDE3NiA3OC44IDE3NiAxNzZjMCA4Ni4zLTYyLjEgMTU4LjEtMTQ0IDE3My4xVjM4NGgzMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg0ODB2MzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWNDQ4SDM4NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmgzMlYzNDkuMWMtMjYuNi00LjktNTEuMS0xNS43LTcyLTMxLjF6XCJdXG59O1xudmFyIGZhSW1hZ2VzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ltYWdlcycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjMwMlwiLCBcIk0xNjAgMzJjLTM1LjMgMC02NCAyOC43LTY0IDY0VjMyMGMwIDM1LjMgMjguNyA2NCA2NCA2NEg1MTJjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRIMTYwek0zOTYgMTM4LjdsOTYgMTQ0YzQuOSA3LjQgNS40IDE2LjggMS4yIDI0LjZTNDgwLjkgMzIwIDQ3MiAzMjBIMzI4IDI4MCAyMDBjLTkuMiAwLTE3LjYtNS4zLTIxLjYtMTMuNnMtMi45LTE4LjIgMi45LTI1LjRsNjQtODBjNC42LTUuNyAxMS40LTkgMTguNy05czE0LjIgMy4zIDE4LjcgOWwxNy4zIDIxLjYgNTYtODRDMzYwLjUgMTMyIDM2OCAxMjggMzc2IDEyOHMxNS41IDQgMjAgMTAuN3pNMTkyIDEyOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek00OCAxMjBjMC0xMy4zLTEwLjctMjQtMjQtMjRTMCAxMDYuNyAwIDEyMFYzNDRjMCA3NS4xIDYwLjkgMTM2IDEzNiAxMzZINDU2YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDEzNmMtNDguNiAwLTg4LTM5LjQtODgtODhWMTIwelwiXVxufTtcbnZhciBmYUNhbGN1bGF0b3IgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FsY3VsYXRvcicsXG4gIGljb246IFszODQsIDUxMiwgWzEyODQyNV0sIFwiZjFlY1wiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzIwYzM1LjMgMCA2NC0yOC43IDY0LTY0VjY0YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0ek05NiA2NEgyODhjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2MzJjMCAxNy43LTE0LjMgMzItMzIgMzJIOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0zMiAxNjBhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHpNOTYgMzUyYTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHpNNjQgNDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMyaDk2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpNMTkyIDI1NmEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6bTMyIDY0YTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6bTY0LTY0YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHptMzIgNjRhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHpNMjg4IDQ0OGEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6XCJdXG59O1xudmFyIGZhUGVvcGxlUHVsbGluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZW9wbGUtcHVsbGluZycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTUzNVwiLCBcIk04MCA5NkE0OCA0OCAwIDEgMCA4MCAwYTQ4IDQ4IDAgMSAwIDAgOTZ6TTY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRWMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMyYzkuOCAwIDE4LjUtNC40IDI0LjQtMTEuMkw4MC40IDQ4NS4zYzIuOSAxNy40IDE5LjQgMjkuMiAzNi44IDI2LjNzMjkuMi0xOS40IDI2LjMtMzYuOEwxMjMuMSAzNTJoMTUuN2wzMCAxMzQuOWMzLjggMTcuMyAyMC45IDI4LjEgMzguMiAyNC4zczI4LjEtMjAuOSAyNC4zLTM4LjJsLTU3LjMtMjU4IDExNi4zIDUzLjhjLjUgLjMgMS4xIC41IDEuNiAuN2M4LjYgMy42IDE4IDMuMSAyNS45LS43YzMuNC0xLjYgNi42LTMuOSA5LjMtNi43YzMuMS0zLjIgNS41LTcgNy4xLTExLjRjLjEtLjMgLjItLjcgLjMtMWwyLjUtNy41YzUuNy0xNy4xIDE4LjMtMzAuOSAzNC43LTM4LjJsOC0zLjVjMS0uNCAxLjktLjggMi45LTEuMmwtMTYuOSA2My41Yy01LjYgMjEuMS0uMSA0My42IDE0LjcgNTkuN2w3MC43IDc3LjEgMjIgODguMWM0LjMgMTcuMSAyMS43IDI3LjYgMzguOCAyMy4zczI3LjYtMjEuNyAyMy4zLTM4LjhsLTIzLTkyLjFjLTEuOS03LjgtNS44LTE0LjktMTEuMi0yMC44bC00OS41LTU0IDE5LjMtNjUuNSA5LjYgMjNjNC40IDEwLjYgMTIuNSAxOS4zIDIyLjggMjQuNWwyNi43IDEzLjNjMTUuOCA3LjkgMzUgMS41IDQyLjktMTQuM3MxLjUtMzUtMTQuMy00Mi45TDUzNyAyMzIuN2wtMTUuMy0zNi44QzUwNC41IDE1NC44IDQ2NC4zIDEyOCA0MTkuNyAxMjhjLTIyLjggMC00NS4zIDQuOC02Ni4xIDE0bC04IDMuNWMtMjQuNCAxMC45LTQ0LjYgMjktNTguMSA1MS42TDE1Ny4zIDEzNi45QzE0NC43IDEzMSAxMzAuOSAxMjggMTE3IDEyOEg2NHpNNDY0IDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNMzQ5LjcgMzM1LjZsLTI1IDYyLjQtNTkuNCA1OS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDM3Mi4zIDQ0MWM0LjYtNC42IDguMi0xMC4xIDEwLjYtMTYuMWwxNC41LTM2LjItNDAuNy00NC40Yy0yLjUtMi43LTQuOC01LjYtNy04LjZ6XCJdXG59O1xudmFyIGZhTiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICduJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTEwXSwgXCI0ZVwiLCBcIk0yMS4xIDMzLjljMTIuNy00LjYgMjYuOS0uNyAzNS41IDkuNkwzMjAgMzU5LjZWNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMlY0NDhjMCAxMy41LTguNCAyNS41LTIxLjEgMzAuMXMtMjYuOSAuNy0zNS41LTkuNkw2NCAxNTIuNFY0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWNjRDMCA1MC41IDguNCAzOC41IDIxLjEgMzMuOXpcIl1cbn07XG52YXIgZmFDYWJsZUNhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYWJsZS1jYXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg2NzMsIDU3NTUxLCBcInRyYW1cIl0sIFwiZjdkYVwiLCBcIk0yODggMGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTE2MCA1NmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0zMiAyODhjMC0zNS4zIDI4LjctNjQgNjQtNjRIMjMyVjE1Ny41bC0yMDMuMSA0MmMtMTMgMi43LTI1LjctNS43LTI4LjQtMTguNnM1LjctMjUuNyAxOC42LTI4LjRsMjMyLTQ4IDIzMi00OGMxMy0yLjcgMjUuNyA1LjcgMjguNCAxOC42cy01LjcgMjUuNy0xOC42IDI4LjRMMjgwIDE0Ny41VjIyNEg0MTZjMzUuMyAwIDY0IDI4LjcgNjQgNjRWNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0SDk2Yy0zNS4zIDAtNjQtMjguNy02NC02NFYyODh6bTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNnY2NGMwIDguOCA3LjIgMTYgMTYgMTZoNjRjOC44IDAgMTYtNy4yIDE2LTE2VjMwNGMwLTguOC03LjItMTYtMTYtMTZIOTZ6bTExMiAxNnY2NGMwIDguOCA3LjIgMTYgMTYgMTZoNjRjOC44IDAgMTYtNy4yIDE2LTE2VjMwNGMwLTguOC03LjItMTYtMTYtMTZIMjI0Yy04LjggMC0xNiA3LjItMTYgMTZ6bTE0NC0xNmMtOC44IDAtMTYgNy4yLTE2IDE2djY0YzAgOC44IDcuMiAxNiAxNiAxNmg2NGM4LjggMCAxNi03LjIgMTYtMTZWMzA0YzAtOC44LTcuMi0xNi0xNi0xNkgzNTJ6XCJdXG59O1xudmFyIGZhVHJhbSA9IGZhQ2FibGVDYXI7XG52YXIgZmFDbG91ZFJhaW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvdWQtcmFpbicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzc4MywgOTkyNl0sIFwiZjczZFwiLCBcIk05NiAzMjBjLTUzIDAtOTYtNDMtOTYtOTZjMC00Mi41IDI3LjYtNzguNiA2NS45LTkxLjJDNjQuNyAxMjYuMSA2NCAxMTkuMSA2NCAxMTJDNjQgNTAuMSAxMTQuMSAwIDE3NiAwYzQzLjEgMCA4MC41IDI0LjMgOTkuMiA2MGMxNC43LTE3LjEgMzYuNS0yOCA2MC44LTI4YzQ0LjIgMCA4MCAzNS44IDgwIDgwYzAgNS41LS42IDEwLjgtMS42IDE2Yy41IDAgMS4xIDAgMS42IDBjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZIOTZ6bS02LjggNTJjMS4zLTIuNSAzLjktNCA2LjgtNHM1LjQgMS41IDYuOCA0bDM1LjEgNjQuNmM0LjEgNy41IDYuMiAxNS44IDYuMiAyNC4zdjNjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDh2LTNjMC04LjUgMi4xLTE2LjkgNi4yLTI0LjNMODkuMiAzNzJ6bTE2MCAwYzEuMy0yLjUgMy45LTQgNi44LTRzNS40IDEuNSA2LjggNGwzNS4xIDY0LjZjNC4xIDcuNSA2LjIgMTUuOCA2LjIgMjQuM3YzYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4di0zYzAtOC41IDIuMS0xNi45IDYuMi0yNC4zTDI0OS4yIDM3MnptMTI0LjkgNjQuNkw0MDkuMiAzNzJjMS4zLTIuNSAzLjktNCA2LjgtNHM1LjQgMS41IDYuOCA0bDM1LjEgNjQuNmM0LjEgNy41IDYuMiAxNS44IDYuMiAyNC4zdjNjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDh2LTNjMC04LjUgMi4xLTE2LjkgNi4yLTI0LjN6XCJdXG59O1xudmFyIGZhQnVpbGRpbmdDaXJjbGVYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidWlsZGluZy1jaXJjbGUteG1hcmsnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZDRcIiwgXCJNNDggMEMyMS41IDAgMCAyMS41IDAgNDhWNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDk2VjQzMmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4djgwaDk2YzE1LjEgMCAyOC41LTYuOSAzNy4zLTE3LjhDMzQwLjQgNDYyLjIgMzIwIDQxNy41IDMyMCAzNjhjMC01NC43IDI0LjktMTAzLjUgNjQtMTM1LjhWNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhINDh6TTY0IDI0MGMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjI0MHptMTEyLTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMTc2Yy04LjggMC0xNi03LjItMTYtMTZWMjQwYzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTZjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMjcyYy04LjggMC0xNi03LjItMTYtMTZWMjQwek04MCA5NmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZWMTEyYzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTZjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMTc2Yy04LjggMC0xNi03LjItMTYtMTZWMTEyek0yNzIgOTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgyNzJjLTguOCAwLTE2LTcuMi0xNi0xNlYxMTJjMC04LjggNy4yLTE2IDE2LTE2ek00OTYgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptNTkuMy0xODAuN0w1MTguNiAzNjhsMzYuNyAzNi43YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBMNDk2IDM5MC42bC0zNi43IDM2LjdjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZMNDczLjQgMzY4bC0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMEw0OTYgMzQ1LjRsMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnpcIl1cbn07XG52YXIgZmFTaGlwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoaXAnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjg2NzRdLCBcImYyMWFcIiwgXCJNMTkyIDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMySDM1MmMxNy43IDAgMzIgMTQuMyAzMiAzMlY2NGg0OGMyNi41IDAgNDggMjEuNSA0OCA0OFYyNDBsNDQuNCAxNC44YzIzLjEgNy43IDI5LjUgMzcuNSAxMS41IDUzLjlsLTEwMSA5Mi42Yy0xNi4yIDkuNC0zNC43IDE1LjEtNTAuOSAxNS4xYy0xOS42IDAtNDAuOC03LjctNTkuMi0yMC4zYy0yMi4xLTE1LjUtNTEuNi0xNS41LTczLjcgMGMtMTcuMSAxMS44LTM4IDIwLjMtNTkuMiAyMC4zYy0xNi4yIDAtMzQuNy01LjctNTAuOS0xNS4xbC0xMDEtOTIuNmMtMTgtMTYuNS0xMS42LTQ2LjIgMTEuNS01My45TDk2IDI0MFYxMTJjMC0yNi41IDIxLjUtNDggNDgtNDhoNDhWMzJ6TTE2MCAyMTguN2wxMDcuOC0zNS45YzEzLjEtNC40IDI3LjMtNC40IDQwLjUgMEw0MTYgMjE4LjdWMTI4SDE2MHY5MC43ek0zMDYuNSA0MjEuOUMzMjkgNDM3LjQgMzU2LjUgNDQ4IDM4NCA0NDhjMjYuOSAwIDU1LjQtMTAuOCA3Ny40LTI2LjFsMCAwYzExLjktOC41IDI4LjEtNy44IDM5LjIgMS43YzE0LjQgMTEuOSAzMi41IDIxIDUwLjYgMjUuMmMxNy4yIDQgMjcuOSAyMS4yIDIzLjkgMzguNHMtMjEuMiAyNy45LTM4LjQgMjMuOWMtMjQuNS01LjctNDQuOS0xNi41LTU4LjItMjVDNDQ5LjUgNTAxLjcgNDE3IDUxMiAzODQgNTEyYy0zMS45IDAtNjAuNi05LjktODAuNC0xOC45Yy01LjgtMi43LTExLjEtNS4zLTE1LjYtNy43Yy00LjUgMi40LTkuNyA1LjEtMTUuNiA3LjdjLTE5LjggOS00OC41IDE4LjktODAuNCAxOC45Yy0zMyAwLTY1LjUtMTAuMy05NC41LTI1LjhjLTEzLjQgOC40LTMzLjcgMTkuMy01OC4yIDI1Yy0xNy4yIDQtMzQuNC02LjctMzguNC0yMy45czYuNy0zNC40IDIzLjktMzguNGMxOC4xLTQuMiAzNi4yLTEzLjMgNTAuNi0yNS4yYzExLjEtOS40IDI3LjMtMTAuMSAzOS4yLTEuN2wwIDBDMTM2LjcgNDM3LjIgMTY1LjEgNDQ4IDE5MiA0NDhjMjcuNSAwIDU1LTEwLjYgNzcuNS0yNi4xYzExLjEtNy45IDI1LjktNy45IDM3IDB6XCJdXG59O1xudmFyIGZhQXJyb3dzRG93blRvTGluZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3MtZG93bi10by1saW5lJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGI4XCIsIFwiTTU0NCA0MTZMMzIgNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDUxMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyem0yMi42LTEzNy40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDQ4MCAyNzQuNyA0ODAgNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyMTAuNy00MS40LTQxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDk2IDk2YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDk2LTk2em0tMzIwLTQ1LjNjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwTDE2MCAyNzQuNyAxNjAgNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyMTAuN0w1NC42IDIzMy40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w5NiA5NmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGw5Ni05NmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3pcIl1cbn07XG52YXIgZmFEb3dubG9hZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkb3dubG9hZCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjAxOVwiLCBcIk0yODggMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWMjc0LjdsLTczLjQtNzMuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTI4IDEyOGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDI4OCAyNzQuN1YzMnpNNjQgMzUyYy0zNS4zIDAtNjQgMjguNy02NCA2NHYzMmMwIDM1LjMgMjguNyA2NCA2NCA2NEg0NDhjMzUuMyAwIDY0LTI4LjcgNjQtNjRWNDE2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDM0Ni41bC00NS4zIDQ1LjNjLTI1IDI1LTY1LjUgMjUtOTAuNSAwTDE2NS41IDM1Mkg2NHptMzY4IDU2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpcIl1cbn07XG52YXIgZmFGYWNlR3JpbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWdyaW4nLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1MTIsIFwiZ3JpblwiXSwgXCJmNTgwXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0zODguMSAzMTIuOGMxMi4zLTMuOCAyNC4zIDYuOSAxOS4zIDE4LjdDMzgyLjQgMzkwLjYgMzI0LjIgNDMyIDI1Ni4zIDQzMnMtMTI2LjItNDEuNC0xNTEuMS0xMDAuNWMtNS0xMS44IDctMjIuNSAxOS4zLTE4LjdjMzkuNyAxMi4yIDg0LjUgMTkgMTMxLjggMTlzOTIuMS02LjggMTMxLjgtMTl6TTE0NC40IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbnZhciBmYUdyaW4gPSBmYUZhY2VHcmluO1xudmFyIGZhRGVsZXRlTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkZWxldGUtbGVmdCcsXG4gIGljb246IFs1NzYsIDUxMiwgWzkwMDMsIFwiYmFja3NwYWNlXCJdLCBcImY1NWFcIiwgXCJNNTc2IDEyOGMwLTM1LjMtMjguNy02NC02NC02NEgyMDUuM2MtMTcgMC0zMy4zIDYuNy00NS4zIDE4LjdMOS40IDIzMy40Yy02IDYtOS40IDE0LjEtOS40IDIyLjZzMy40IDE2LjYgOS40IDIyLjZMMTYwIDQyOS4zYzEyIDEyIDI4LjMgMTguNyA0NS4zIDE4LjdINTEyYzM1LjMgMCA2NC0yOC43IDY0LTY0VjEyOHpNMjcxIDE3NWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMGw0NyA0NyA0Ny00N2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTQ3IDQ3IDQ3IDQ3YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQ3LTQ3LTQ3IDQ3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDQ3LTQ3LTQ3LTQ3Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXpcIl1cbn07XG52YXIgZmFCYWNrc3BhY2UgPSBmYURlbGV0ZUxlZnQ7XG52YXIgZmFFeWVEcm9wcGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2V5ZS1kcm9wcGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJleWUtZHJvcHBlci1lbXB0eVwiLCBcImV5ZWRyb3BwZXJcIl0sIFwiZjFmYlwiLCBcIk0zNDEuNiAyOS4yTDI0MC4xIDEzMC44bC05LjQtOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTkuNC05LjRMNDgyLjggMTcwLjRjMzktMzkgMzktMTAyLjIgMC0xNDEuMXMtMTAyLjItMzktMTQxLjEgMHpNNTUuNCAzMjMuM2MtMTUgMTUtMjMuNCAzNS40LTIzLjQgNTYuNnY0Mi40TDUuNCA0NjIuMmMtOC41IDEyLjctNi44IDI5LjYgNCA0MC40czI3LjcgMTIuNSA0MC40IDRMODkuNyA0ODBoNDIuNGMyMS4yIDAgNDEuNi04LjQgNTYuNi0yMy40TDMwOS40IDMzNS45bC00NS4zLTQ1LjNMMTQzLjQgNDExLjNjLTMgMy03LjEgNC43LTExLjMgNC43SDk2VjM3OS45YzAtNC4yIDEuNy04LjMgNC43LTExLjNMMjIxLjQgMjQ3LjlsLTQ1LjMtNDUuM0w1NS40IDMyMy4zelwiXVxufTtcbnZhciBmYUV5ZURyb3BwZXJFbXB0eSA9IGZhRXllRHJvcHBlcjtcbnZhciBmYUV5ZWRyb3BwZXIgPSBmYUV5ZURyb3BwZXI7XG52YXIgZmFGaWxlQ2lyY2xlQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1jaXJjbGUtY2hlY2snLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1YTBcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBIMjI0VjEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMkgzODR2MzguNkMzMTAuMSAyMTkuNSAyNTYgMjg3LjQgMjU2IDM2OGMwIDU5LjEgMjkuMSAxMTEuMyA3My43IDE0My4zYy0zLjIgLjUtNi40IC43LTkuNyAuN0g2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWNjR6bTM4NCA2NEgyNTZWMEwzODQgMTI4ek0yODggMzY4YTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTIxMS4zLTQzLjNjLTYuMi02LjItMTYuNC02LjItMjIuNiAwTDQxNiAzODUuNGwtMjguNy0yOC43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDQwIDQwYzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwbDcyLTcyYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42elwiXVxufTtcbnZhciBmYUZvcndhcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZm9yd2FyZCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzkxOTNdLCBcImYwNGVcIiwgXCJNNTIuNSA0NDAuNmMtOS41IDcuOS0yMi44IDkuNy0zNC4xIDQuNFMwIDQyOC40IDAgNDE2Vjk2QzAgODMuNiA3LjIgNzIuMyAxOC40IDY3czI0LjUtMy42IDM0LjEgNC40TDIyNCAyMTQuM1YyNTZ2NDEuN0w1Mi41IDQ0MC42ek0yNTYgMzUyVjI1NiAxMjggOTZjMC0xMi40IDcuMi0yMy43IDE4LjQtMjlzMjQuNS0zLjYgMzQuMSA0LjRsMTkyIDE2MGM3LjMgNi4xIDExLjUgMTUuMSAxMS41IDI0LjZzLTQuMiAxOC41LTExLjUgMjQuNmwtMTkyIDE2MGMtOS41IDcuOS0yMi44IDkuNy0zNC4xIDQuNHMtMTguNC0xNi42LTE4LjQtMjlWMzUyelwiXVxufTtcbnZhciBmYU1vYmlsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb2JpbGUnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjgyNDEsIFwibW9iaWxlLWFuZHJvaWRcIiwgXCJtb2JpbGUtcGhvbmVcIl0sIFwiZjNjZVwiLCBcIk04MCAwQzQ0LjcgMCAxNiAyOC43IDE2IDY0VjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzMDRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRIODB6bTgwIDQzMmg2NGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgxNjBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6XCJdXG59O1xudmFyIGZhTW9iaWxlQW5kcm9pZCA9IGZhTW9iaWxlO1xudmFyIGZhTW9iaWxlUGhvbmUgPSBmYU1vYmlsZTtcbnZhciBmYUZhY2VNZWggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1tZWgnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1MjgsIFwibWVoXCJdLCBcImYxMWFcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE3Ni40IDE3NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTEyOCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0xNjAgMzM2SDM1MmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgxNjBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6XCJdXG59O1xudmFyIGZhTWVoID0gZmFGYWNlTWVoO1xudmFyIGZhQWxpZ25DZW50ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYWxpZ24tY2VudGVyJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMDM3XCIsIFwiTTM1MiA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMkgxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJIMzIwYzE3LjcgMCAzMi0xNC4zIDMyLTMyem05NiAxMjhjMC0xNy43LTE0LjMtMzItMzItMzJIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDE2YzE3LjcgMCAzMi0xNC4zIDMyLTMyek0wIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMkg0MTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek0zNTIgMzIwYzAtMTcuNy0xNC4zLTMyLTMyLTMySDEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkgzMjBjMTcuNyAwIDMyLTE0LjMgMzItMzJ6XCJdXG59O1xudmFyIGZhQm9va1NrdWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jvb2stc2t1bGwnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImJvb2stZGVhZFwiXSwgXCJmNmI3XCIsIFwiTTAgOTZDMCA0MyA0MyAwIDk2IDBIMzg0aDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjM1MmMwIDE3LjctMTQuMyAzMi0zMiAzMnY2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzODQgOTZjLTUzIDAtOTYtNDMtOTYtOTZWOTZ6TTY0IDQxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMkgzNTJWMzg0SDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMzIwIDExMmMwLTM1LjMtMzUuOC02NC04MC02NHMtODAgMjguNy04MCA2NGMwIDIwLjkgMTIuNiAzOS41IDMyIDUxLjJWMTc2YzAgOC44IDcuMiAxNiAxNiAxNmg2NGM4LjggMCAxNi03LjIgMTYtMTZWMTYzLjJjMTkuNC0xMS43IDMyLTMwLjMgMzItNTEuMnpNMjA4IDk2YTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnptNDggMTZhMTYgMTYgMCAxIDEgMzIgMCAxNiAxNiAwIDEgMSAtMzIgMHpNMTM0LjMgMjA5LjNjLTguMS0zLjUtMTcuNSAuMy0yMSA4LjRzLjMgMTcuNSA4LjQgMjFMMTk5LjQgMjcybC03Ny43IDMzLjNjLTguMSAzLjUtMTEuOSAxMi45LTguNCAyMXMxMi45IDExLjkgMjEgOC40TDI0MCAyODkuNGwxMDUuNyA0NS4zYzguMSAzLjUgMTcuNS0uMyAyMS04LjRzLS4zLTE3LjUtOC40LTIxTDI4MC42IDI3Mmw3Ny43LTMzLjNjOC4xLTMuNSAxMS45LTEyLjkgOC40LTIxcy0xMi45LTExLjktMjEtOC40TDI0MCAyNTQuNiAxMzQuMyAyMDkuM3pcIl1cbn07XG52YXIgZmFCb29rRGVhZCA9IGZhQm9va1NrdWxsO1xudmFyIGZhSWRDYXJkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2lkLWNhcmQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFs2MjE0NywgXCJkcml2ZXJzLWxpY2Vuc2VcIl0sIFwiZjJjMlwiLCBcIk0wIDk2bDU3NiAwYzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0QzI4LjcgMzIgMCA2MC43IDAgOTZ6bTAgMzJWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDUxMmMzNS4zIDAgNjQtMjguNyA2NC02NFYxMjhIMHpNNjQgNDA1LjNjMC0yOS41IDIzLjktNTMuMyA1My4zLTUzLjNIMjM0LjdjMjkuNSAwIDUzLjMgMjMuOSA1My4zIDUzLjNjMCA1LjktNC44IDEwLjctMTAuNyAxMC43SDc0LjdjLTUuOSAwLTEwLjctNC44LTEwLjctMTAuN3pNMTc2IDE5MmE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHptMTc2IDE2YzAtOC44IDcuMi0xNiAxNi0xNkg0OTZjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMzY4Yy04LjggMC0xNi03LjItMTYtMTZ6bTAgNjRjMC04LjggNy4yLTE2IDE2LTE2SDQ5NmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgzNjhjLTguOCAwLTE2LTcuMi0xNi0xNnptMCA2NGMwLTguOCA3LjItMTYgMTYtMTZINDk2YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDM2OGMtOC44IDAtMTYtNy4yLTE2LTE2elwiXVxufTtcbnZhciBmYURyaXZlcnNMaWNlbnNlID0gZmFJZENhcmQ7XG52YXIgZmFPdXRkZW50ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ291dGRlbnQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImRlZGVudFwiXSwgXCJmMDNiXCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJINDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyQzE0LjMgOTYgMCA4MS43IDAgNjR6TTE5MiAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJINDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDIyNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6bTMyIDk2SDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgyMjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6TTAgNDQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMySDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TS4yIDI2OC42Yy04LjItNi40LTguMi0xOC45IDAtMjUuM2wxMDEuOS03OS4zYzEwLjUtOC4yIDI1LjgtLjcgMjUuOCAxMi42VjMzNS4zYzAgMTMuMy0xNS4zIDIwLjgtMjUuOCAxMi42TC4yIDI2OC42elwiXVxufTtcbnZhciBmYURlZGVudCA9IGZhT3V0ZGVudDtcbnZhciBmYUhlYXJ0Q2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVhcnQtY2lyY2xlLWV4Y2xhbWF0aW9uJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGZlXCIsIFwiTTQ3LjYgMzAwLjRMMjI4LjMgNDY5LjFjNy41IDcgMTcuNCAxMC45IDI3LjcgMTAuOXMyMC4yLTMuOSAyNy43LTEwLjlsMi42LTIuNEMyNjcuMiA0MzguNiAyNTYgNDA0LjYgMjU2IDM2OGMwLTk3LjIgNzguOC0xNzYgMTc2LTE3NmMyOC4zIDAgNTUgNi43IDc4LjcgMTguNWMuOS02LjUgMS4zLTEzIDEuMy0xOS42di01LjhjMC02OS45LTUwLjUtMTI5LjUtMTE5LjQtMTQxQzM0NyAzNi41IDMwMC42IDUxLjQgMjY4IDg0TDI1NiA5NiAyNDQgODRjLTMyLjYtMzIuNi03OS00Ny41LTEyNC42LTM5LjlDNTAuNSA1NS42IDAgMTE1LjIgMCAxODUuMXY1LjhjMCA0MS41IDE3LjIgODEuMiA0Ny42IDEwOS41ek00MzIgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC05NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTAtMTQ0YzguOCAwIDE2IDcuMiAxNiAxNnY4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlYyODhjMC04LjggNy4yLTE2IDE2LTE2elwiXVxufTtcbnZhciBmYUhvdXNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI3OTY4LCA2MzQ5OCwgNjM1MDAsIFwiaG9tZVwiLCBcImhvbWUtYWx0XCIsIFwiaG9tZS1sZy1hbHRcIl0sIFwiZjAxNVwiLCBcIk01NzUuOCAyNTUuNWMwIDE4LTE1IDMyLjEtMzIgMzIuMWgtMzJsLjcgMTYwLjJjMCAyLjctLjIgNS40LS41IDguMVY0NzJjMCAyMi4xLTE3LjkgNDAtNDAgNDBINDU2Yy0xLjEgMC0yLjIgMC0zLjMtLjFjLTEuNCAuMS0yLjggLjEtNC4yIC4xSDQxNiAzOTJjLTIyLjEgMC00MC0xNy45LTQwLTQwVjQ0OCAzODRjMC0xNy43LTE0LjMtMzItMzItMzJIMjU2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnY2NCAyNGMwIDIyLjEtMTcuOSA0MC00MCA0MEgxNjAgMTI4LjFjLTEuNSAwLTMtLjEtNC41LS4yYy0xLjIgLjEtMi40IC4yLTMuNiAuMkgxMDRjLTIyLjEgMC00MC0xNy45LTQwLTQwVjM2MGMwLS45IDAtMS45IC4xLTIuOFYyODcuNkgzMmMtMTggMC0zMi0xNC0zMi0zMi4xYzAtOSAzLTE3IDEwLTI0TDI2Ni40IDhjNy03IDE1LTggMjItOHMxNSAyIDIxIDdMNTY0LjggMjMxLjVjOCA3IDEyIDE1IDExIDI0elwiXVxufTtcbnZhciBmYUhvbWUgPSBmYUhvdXNlO1xudmFyIGZhSG9tZUFsdCA9IGZhSG91c2U7XG52YXIgZmFIb21lTGdBbHQgPSBmYUhvdXNlO1xudmFyIGZhQ2FsZW5kYXJXZWVrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhbGVuZGFyLXdlZWsnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImY3ODRcIiwgXCJNMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNjRIMjg4VjMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJWNjRoNDhjMjYuNSAwIDQ4IDIxLjUgNDggNDh2NDhIMFYxMTJDMCA4NS41IDIxLjUgNjQgNDggNjRIOTZWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTAgMTkySDQ0OFY0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjE5MnptODAgNjRjLTguOCAwLTE2IDcuMi0xNiAxNnY2NGMwIDguOCA3LjIgMTYgMTYgMTZIMzY4YzguOCAwIDE2LTcuMiAxNi0xNlYyNzJjMC04LjgtNy4yLTE2LTE2LTE2SDgwelwiXVxufTtcbnZhciBmYUxhcHRvcE1lZGljYWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGFwdG9wLW1lZGljYWwnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY4MTJcIiwgXCJNNjQgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRINTEyYzM1LjMgMCA2NCAyOC43IDY0IDY0VjM1Mkg1MTJWOTZIMTI4VjM1Mkg2NFY5NnpNMCA0MDMuMkMwIDM5Mi42IDguNiAzODQgMTkuMiAzODRINjIwLjhjMTAuNiAwIDE5LjIgOC42IDE5LjIgMTkuMmMwIDQyLjQtMzQuNCA3Ni44LTc2LjggNzYuOEg3Ni44QzM0LjQgNDgwIDAgNDQ1LjYgMCA0MDMuMnpNMjg4IDE2MGMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djQ4aDQ4YzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIMzUydjQ4YzAgOC44LTcuMiAxNi0xNiAxNkgzMDRjLTguOCAwLTE2LTcuMi0xNi0xNlYyNzJIMjQwYy04LjggMC0xNi03LjItMTYtMTZWMjI0YzAtOC44IDcuMi0xNiAxNi0xNmg0OFYxNjB6XCJdXG59O1xudmFyIGZhQiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbOThdLCBcIjQyXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZWMjU2IDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEgxOTJjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhjMC00Ni41LTI0LjgtODcuMy02Mi0xMDkuN2MxOC43LTIyLjMgMzAtNTEgMzAtODIuM2MwLTcwLjctNTcuMy0xMjgtMTI4LTEyOEg2NHptOTYgMTkySDY0Vjk2aDk2YzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0ek02NCAyODhoOTYgMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjRINjRWMjg4elwiXVxufTtcbnZhciBmYUZpbGVNZWRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtbWVkaWNhbCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjQ3N1wiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzIwYzM1LjMgMCA2NC0yOC43IDY0LTY0VjE2MEgyNTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjBINjR6TTI1NiAwVjEyOEgzODRMMjU2IDB6TTE2MCAyNDBjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnY0OGg0OGM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDIyNHY0OGMwIDguOC03LjIgMTYtMTYgMTZIMTc2Yy04LjggMC0xNi03LjItMTYtMTZWMzUySDExMmMtOC44IDAtMTYtNy4yLTE2LTE2VjMwNGMwLTguOCA3LjItMTYgMTYtMTZoNDhWMjQwelwiXVxufTtcbnZhciBmYURpY2VPbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGljZS1vbmUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5ODU2XSwgXCJmNTI1XCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDM4NGMzNS4zIDAgNjQtMjguNyA2NC02NFY5NmMwLTM1LjMtMjguNy02NC02NC02NEg2NHpNMjI0IDIyNGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhS2l3aUJpcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAna2l3aS1iaXJkJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNTM1XCIsIFwiTTI5MS4yIDM4OC40YzMxLjItMTguOCA2NC43LTM2LjQgMTAxLjEtMzYuNEg0NDhjNC42IDAgOS4xLS4yIDEzLjYtLjdsODUuMyAxMjEuOWM0IDUuNyAxMS4zIDguMiAxNy45IDYuMXMxMS4yLTguMyAxMS4yLTE1LjNWMjI0YzAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4SDM5Mi4zYy0zNi40IDAtNjkuOS0xNy42LTEwMS4xLTM2LjRDMjYyLjMgNDIuMSAyMjguMyAzMiAxOTIgMzJDODYgMzIgMCAxMTggMCAyMjRjMCA3MS4xIDM4LjYgMTMzLjEgOTYgMTY2LjNWNDU2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWNDEwYzE1LjMgMy45IDMxLjQgNiA0OCA2YzUuNCAwIDEwLjctLjIgMTYtLjdWNDU2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWNDA1LjFjMTIuNC00LjQgMjQuMi0xMCAzNS4yLTE2Ljd6TTQ0OCAyMDBhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4elwiXVxufTtcbnZhciBmYUFycm93UmlnaHRBcnJvd0xlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzg2NDQsIFwiZXhjaGFuZ2VcIl0sIFwiZjBlY1wiLCBcIk00MzguNiAxNTAuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDMzOC43IDk2IDMyIDk2QzE0LjMgOTYgMCAxMTAuMyAwIDEyOHMxNC4zIDMyIDMyIDMybDMwNi43IDAtNDEuNCA0MS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDk2LTk2em0tMzMzLjMgMzUyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMTA5LjMgNDE2IDQxNiA0MTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMwNi43IDAgNDEuNC00MS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC05NiA5NmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsOTYgOTZ6XCJdXG59O1xudmFyIGZhRXhjaGFuZ2UgPSBmYUFycm93UmlnaHRBcnJvd0xlZnQ7XG52YXIgZmFSb3RhdGVSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyb3RhdGUtcmlnaHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInJlZG8tYWx0XCIsIFwicm90YXRlLWZvcndhcmRcIl0sIFwiZjJmOVwiLCBcIk00NjMuNSAyMjRINDcyYzEzLjMgMCAyNC0xMC43IDI0LTI0VjcyYzAtOS43LTUuOC0xOC41LTE0LjgtMjIuMnMtMTkuMy0xLjctMjYuMiA1LjJMNDEzLjQgOTYuNmMtODcuNi04Ni41LTIyOC43LTg2LjItMzE1LjggMWMtODcuNSA4Ny41LTg3LjUgMjI5LjMgMCAzMTYuOHMyMjkuMyA4Ny41IDMxNi44IDBjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBjLTYyLjUgNjIuNS0xNjMuOCA2Mi41LTIyNi4zIDBzLTYyLjUtMTYzLjggMC0yMjYuM2M2Mi4yLTYyLjIgMTYyLjctNjIuNSAyMjUuMy0xTDMyNyAxODNjLTYuOSA2LjktOC45IDE3LjItNS4yIDI2LjJzMTIuNSAxNC44IDIyLjIgMTQuOEg0NjMuNXpcIl1cbn07XG52YXIgZmFSZWRvQWx0ID0gZmFSb3RhdGVSaWdodDtcbnZhciBmYVJvdGF0ZUZvcndhcmQgPSBmYVJvdGF0ZVJpZ2h0O1xudmFyIGZhVXRlbnNpbHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXRlbnNpbHMnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjc4NjAsIDYxNjg1LCBcImN1dGxlcnlcIl0sIFwiZjJlN1wiLCBcIk00MTYgMEM0MDAgMCAyODggMzIgMjg4IDE3NlYyODhjMCAzNS4zIDI4LjcgNjQgNjQgNjRoMzJWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMzUyIDI0MCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNNjQgMTZDNjQgNy44IDU3LjkgMSA0OS43IC4xUzM0LjIgNC42IDMyLjQgMTIuNUwyLjEgMTQ4LjhDLjcgMTU1LjEgMCAxNjEuNSAwIDE2Ny45YzAgNDUuOSAzNS4xIDgzLjYgODAgODcuN1Y0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyNTUuNmM0NC45LTQuMSA4MC00MS44IDgwLTg3LjdjMC02LjQtLjctMTIuOC0yLjEtMTkuMUwxOTEuNiAxMi41Yy0xLjgtOC05LjMtMTMuMy0xNy40LTEyLjRTMTYwIDcuOCAxNjAgMTZWMTUwLjJjMCA1LjQtNC40IDkuOC05LjggOS44Yy01LjEgMC05LjMtMy45LTkuOC05TDEyNy45IDE0LjZDMTI3LjIgNi4zIDEyMC4zIDAgMTEyIDBzLTE1LjIgNi4zLTE1LjkgMTQuNkw4My43IDE1MWMtLjUgNS4xLTQuNyA5LTkuOCA5Yy01LjQgMC05LjgtNC40LTkuOC05LjhWMTZ6bTQ4LjMgMTUybC0uMyAwLS4zIDAgLjMtLjcgLjMgLjd6XCJdXG59O1xudmFyIGZhQ3V0bGVyeSA9IGZhVXRlbnNpbHM7XG52YXIgZmFBcnJvd1VwV2lkZVNob3J0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXVwLXdpZGUtc2hvcnQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInNvcnQtYW1vdW50LXVwXCJdLCBcImYxNjFcIiwgXCJNMTUxLjYgNDIuNEMxNDUuNSAzNS44IDEzNyAzMiAxMjggMzJzLTE3LjUgMy44LTIzLjYgMTAuNGwtODggOTZjLTExLjkgMTMtMTEuMSAzMy4zIDIgNDUuMnMzMy4zIDExLjEgNDUuMi0yTDk2IDE0Ni4zVjQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjE0Ni4zbDMyLjQgMzUuNGMxMS45IDEzIDMyLjIgMTMuOSA0NS4yIDJzMTMuOS0zMi4yIDItNDUuMmwtODgtOTZ6TTMyMCA0ODBoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzIwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyem0wLTEyOGg5NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ6bTAtMTI4SDQ4MGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ6bTAtMTI4SDU0NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ6XCJdXG59O1xudmFyIGZhU29ydEFtb3VudFVwID0gZmFBcnJvd1VwV2lkZVNob3J0O1xudmFyIGZhTWlsbFNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWlsbC1zaWduJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlMWVkXCIsIFwiTTMwMi4xIDQyLjhjNS45LTE2LjYtMi43LTM1LTE5LjQtNDAuOXMtMzUgMi43LTQwLjkgMTkuNEwyMDggMTE2LjFjLTUuNyA0LTExLjEgOC41LTE2IDEzLjVDMTcxLjcgMTA4LjkgMTQzLjMgOTYgMTEyIDk2Yy0xOS41IDAtMzcuOCA1LTUzLjcgMTMuN0M1Mi41IDEwMS40IDQyLjkgOTYgMzIgOTZDMTQuMyA5NiAwIDExMC4zIDAgMTI4djgwVjQxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjIwOGMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4djQyLjVMODEuOSA0NjkuMmMtNS45IDE2LjYgMi43IDM1IDE5LjQgNDAuOXMzNS0yLjcgNDAuOS0xOS40bDIxLjQtNjBDMTY4LjkgNDQxIDE3OS42IDQ0OCAxOTIgNDQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjI2MS41bDM1LjctMTAwYzMuOS0xIDguMS0xLjYgMTIuMy0xLjZjMjYuNSAwIDQ4IDIxLjUgNDggNDhWNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMjA4YzAtNTguMi00NC4zLTEwNi0xMDEuMS0xMTEuNWwxOS4yLTUzLjh6XCJdXG59O1xudmFyIGZhQm93bFJpY2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm93bC1yaWNlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMmViXCIsIFwiTTE3NiA1NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGgxNmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEgyMDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0yNCA0OGgxNmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEgyMDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6TTU2IDE3Nkg3MmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEg1NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNMCAyODMuNEMwIDI2OC4zIDEyLjMgMjU2IDI3LjQgMjU2SDQ4NC42YzE1LjEgMCAyNy40IDEyLjMgMjcuNCAyNy40YzAgNzAuNS00NC40IDEzMC43LTEwNi43IDE1NC4xTDQwMy41IDQ1MmMtMiAxNi0xNS42IDI4LTMxLjggMjhIMTQwLjJjLTE2LjEgMC0yOS44LTEyLTMxLjgtMjhsLTEuOC0xNC40QzQ0LjQgNDE0LjEgMCAzNTMuOSAwIDI4My40ek0yMjQgMjAwYzAtMTMuMyAxMC43LTI0IDI0LTI0aDE2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDI0OGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bS05NiAwYzAtMTMuMyAxMC43LTI0IDI0LTI0aDE2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDE1MmMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bS0yNC05NmgxNmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEgxMDRjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTIxNiA5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGgxNmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEgzNDRjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0tMjQtOTZoMTZjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIMjk2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em0xMjAgOTZjMC0xMy4zIDEwLjctMjQgMjQtMjRoMTZjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRINDQwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHptLTI0LTk2aDE2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDM5MmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNMjk2IDMyaDE2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDI5NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpcIl1cbn07XG52YXIgZmFTa3VsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdza3VsbCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODEyOF0sIFwiZjU0Y1wiLCBcIk00MTYgMzk4LjljNTguNS00MS4xIDk2LTEwNC4xIDk2LTE3NC45QzUxMiAxMDAuMyAzOTcuNCAwIDI1NiAwUzAgMTAwLjMgMCAyMjRjMCA3MC43IDM3LjUgMTMzLjggOTYgMTc0LjljMCAuNCAwIC43IDAgMS4xdjY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDQ4VjQ2NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2djQ4aDY0VjQ2NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2djQ4aDQ4YzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjQwMGMwLS40IDAtLjcgMC0xLjF6TTk2IDI1NmE2NCA2NCAwIDEgMSAxMjggMEE2NCA2NCAwIDEgMSA5NiAyNTZ6bTI1Ni02NGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpcIl1cbn07XG52YXIgZmFUb3dlckJyb2FkY2FzdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0b3dlci1icm9hZGNhc3QnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImJyb2FkY2FzdC10b3dlclwiXSwgXCJmNTE5XCIsIFwiTTgwLjMgNDRDNjkuOCA2OS45IDY0IDk4LjIgNjQgMTI4czUuOCA1OC4xIDE2LjMgODRjNi42IDE2LjQtMS4zIDM1LTE3LjcgNDEuN3MtMzUtMS4zLTQxLjctMTcuN0M3LjQgMjAyLjYgMCAxNjYuMSAwIDEyOFM3LjQgNTMuNCAyMC45IDIwQzI3LjYgMy42IDQ2LjItNC4zIDYyLjYgMi4zUzg2LjkgMjcuNiA4MC4zIDQ0ek01NTUuMSAyMEM1NjguNiA1My40IDU3NiA4OS45IDU3NiAxMjhzLTcuNCA3NC42LTIwLjkgMTA4Yy02LjYgMTYuNC0yNS4zIDI0LjMtNDEuNyAxNy43UzQ4OS4xIDIyOC40IDQ5NS43IDIxMmMxMC41LTI1LjkgMTYuMy01NC4yIDE2LjMtODRzLTUuOC01OC4xLTE2LjMtODRDNDg5LjEgMjcuNiA0OTcgOSA1MTMuNCAyLjNzMzUgMS4zIDQxLjcgMTcuN3pNMzUyIDEyOGMwIDIzLjctMTIuOSA0NC40LTMyIDU1LjRWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjE4My40Yy0xOS4xLTExLjEtMzItMzEuNy0zMi01NS40YzAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjR6TTE3MC42IDc2LjhDMTYzLjggOTIuNCAxNjAgMTA5LjcgMTYwIDEyOHMzLjggMzUuNiAxMC42IDUxLjJjNy4xIDE2LjItLjMgMzUuMS0xNi41IDQyLjFzLTM1LjEtLjMtNDIuMS0xNi41Yy0xMC4zLTIzLjYtMTYtNDkuNi0xNi03Ni44czUuNy01My4yIDE2LTc2LjhjNy4xLTE2LjIgMjUuOS0yMy42IDQyLjEtMTYuNXMyMy42IDI1LjkgMTYuNSA0Mi4xek00NjQgNTEuMmMxMC4zIDIzLjYgMTYgNDkuNiAxNiA3Ni44cy01LjcgNTMuMi0xNiA3Ni44Yy03LjEgMTYuMi0yNS45IDIzLjYtNDIuMSAxNi41cy0yMy42LTI1LjktMTYuNS00Mi4xYzYuOC0xNS42IDEwLjYtMzIuOSAxMC42LTUxLjJzLTMuOC0zNS42LTEwLjYtNTEuMmMtNy4xLTE2LjIgLjMtMzUuMSAxNi41LTQyLjFzMzUuMSAuMyA0Mi4xIDE2LjV6XCJdXG59O1xudmFyIGZhQnJvYWRjYXN0VG93ZXIgPSBmYVRvd2VyQnJvYWRjYXN0O1xudmFyIGZhVHJ1Y2tQaWNrdXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJ1Y2stcGlja3VwJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NzYzXSwgXCJmNjNjXCIsIFwiTTM2OC42IDk2bDc2LjggOTZIMjg4Vjk2aDgwLjZ6TTIyNCA4MFYxOTJINjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDY1LjFjLS43IDUuMi0xLjEgMTAuNi0xLjEgMTZjMCA2MS45IDUwLjEgMTEyIDExMiAxMTJzMTEyLTUwLjEgMTEyLTExMmMwLTUuNC0uNC0xMC44LTEuMS0xNmg2Ni4zYy0uNyA1LjItMS4xIDEwLjYtMS4xIDE2YzAgNjEuOSA1MC4xIDExMiAxMTIgMTEyczExMi01MC4xIDExMi0xMTJjMC01LjQtLjQtMTAuOC0xLjEtMTZINjA4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyVjIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMkg1MjcuNEw0MTguNiA1NmMtMTIuMS0xNS4yLTMwLjUtMjQtNTAtMjRIMjcyYy0yNi41IDAtNDggMjEuNS00OCA0OHptMCAyODhhNDggNDggMCAxIDEgLTk2IDAgNDggNDggMCAxIDEgOTYgMHptMjg4IDBhNDggNDggMCAxIDEgLTk2IDAgNDggNDggMCAxIDEgOTYgMHpcIl1cbn07XG52YXIgZmFVcExvbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXAtbG9uZycsXG4gIGljb246IFszMjAsIDUxMiwgW1wibG9uZy1hcnJvdy1hbHQtdXBcIl0sIFwiZjMwY1wiLCBcIk0zMTggMTc3LjVjMy44LTguOCAyLTE5LTQuNi0yNmwtMTM2LTE0NEMxNzIuOSAyLjcgMTY2LjYgMCAxNjAgMHMtMTIuOSAyLjctMTcuNCA3LjVsLTEzNiAxNDRjLTYuNiA3LTguNCAxNy4yLTQuNiAyNlMxNC40IDE5MiAyNCAxOTJIOTZsMCAyODhjMCAxNy43IDE0LjMgMzIgMzIgMzJoNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0yODhoNzJjOS42IDAgMTguMi01LjcgMjItMTQuNXpcIl1cbn07XG52YXIgZmFMb25nQXJyb3dBbHRVcCA9IGZhVXBMb25nO1xudmFyIGZhU3RvcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdG9wJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbOTIwOV0sIFwiZjA0ZFwiLCBcIk0wIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NEgzMjBjMzUuMyAwIDY0IDI4LjcgNjQgNjRWMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFYxMjh6XCJdXG59O1xudmFyIGZhQ29kZU1lcmdlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvZGUtbWVyZ2UnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYzODdcIiwgXCJNODAgNTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0zMi40IDk3LjJjMjgtMTIuNCA0Ny42LTQwLjUgNDcuNi03My4yYzAtNDQuMi0zNS44LTgwLTgwLTgwUzAgMzUuOCAwIDgwYzAgMzIuOCAxOS43IDYxIDQ4IDczLjNWMzU4LjdDMTkuNyAzNzEgMCAzOTkuMiAwIDQzMmMwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtMzIuOC0xOS43LTYxLTQ4LTczLjNWMjcyYzI2LjcgMjAuMSA2MCAzMiA5NiAzMmg4Ni43YzEyLjMgMjguMyA0MC41IDQ4IDczLjMgNDhjNDQuMiAwIDgwLTM1LjggODAtODBzLTM1LjgtODAtODAtODBjLTMyLjggMC02MSAxOS43LTczLjMgNDhIMjA4Yy00OS45IDAtOTEtMzguMS05NS42LTg2Ljh6TTgwIDQwOGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6TTM0NCAyNzJhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpcIl1cbn07XG52YXIgZmFVcGxvYWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXBsb2FkJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMDkzXCIsIFwiTTI4OCAxMDkuM1YzNTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMTA5LjNsLTczLjQgNzMuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsMTI4LTEyOGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGwxMjggMTI4YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDI4OCAxMDkuM3pNNjQgMzUySDE5MmMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0SDQ0OGMzNS4zIDAgNjQgMjguNyA2NCA2NHYzMmMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWNDE2YzAtMzUuMyAyOC43LTY0IDY0LTY0ek00MzIgNDU2YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHpcIl1cbn07XG52YXIgZmFIdXJyaWNhbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaHVycmljYW5lJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNzUxXCIsIFwiTTAgMjA4QzAgMTA0LjQgNzUuNyAxOC41IDE3NC45IDIuNkMxODQgMS4yIDE5MiA4LjYgMTkyIDE3LjlWODEuMmMwIDguNCA2LjUgMTUuMyAxNC43IDE2LjVDMzA3IDExMi41IDM4NCAxOTkgMzg0IDMwMy40YzAgMTAzLjYtNzUuNyAxODkuNS0xNzQuOSAyMDUuNGMtOS4yIDEuNS0xNy4xLTUuOS0xNy4xLTE1LjJWNDMwLjJjMC04LjQtNi41LTE1LjMtMTQuNy0xNi41Qzc3IDM5OC45IDAgMzEyLjQgMCAyMDh6bTI4OCA0OEE5NiA5NiAwIDEgMCA5NiAyNTZhOTYgOTYgMCAxIDAgMTkyIDB6bS05Ni0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhTW91bmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW91bmQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1MmRcIiwgXCJNMTQ0LjEgMTc5LjJDMTczLjggMTI3LjcgMjI4LjYgOTYgMjg4IDk2czExNC4yIDMxLjcgMTQzLjkgODMuMkw1NDAuNCAzNjhjMTIuMyAyMS4zLTMuMSA0OC0yNy43IDQ4SDYzLjNjLTI0LjYgMC00MC0yNi42LTI3LjctNDhMMTQ0LjEgMTc5LjJ6XCJdXG59O1xudmFyIGZhVG9pbGV0UG9ydGFibGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndG9pbGV0LXBvcnRhYmxlJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJlNTgzXCIsIFwiTTAgMzJWNjRIMzIwVjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMySDMyQzE0LjMgMCAwIDE0LjMgMCAzMnpNMjQgOTZIMHYyNFY0ODhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNHYtOEgyNzJ2OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjEyMCA5NkgyOTYgMjR6TTI1NiAyNDB2NjRjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWMjQwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ6XCJdXG59O1xudmFyIGZhQ29tcGFjdERpc2MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tcGFjdC1kaXNjJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MTkxLCAxMjgxOTIsIDEyODQ0MF0sIFwiZjUxZlwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6bTI1NiAzMmEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6bS05Ni0zMmE5NiA5NiAwIDEgMCAxOTIgMCA5NiA5NiAwIDEgMCAtMTkyIDB6TTk2IDI0MGMwLTM1IDE3LjUtNzEuMSA0NS4yLTk4LjhTMjA1IDk2IDI0MCA5NmM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmMtNDUuNCAwLTg5LjIgMjIuMy0xMjEuNSA1NC41UzY0IDE5NC42IDY0IDI0MGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2elwiXVxufTtcbnZhciBmYUZpbGVBcnJvd0Rvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1hcnJvdy1kb3duJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXCJmaWxlLWRvd25sb2FkXCJdLCBcImY1NmRcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDMyMGMzNS4zIDAgNjQtMjguNyA2NC02NFYxNjBIMjU2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYwSDY0ek0yNTYgMFYxMjhIMzg0TDI1NiAwek0yMTYgMjMyVjMzNC4xbDMxLTMxYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNzIgNzJjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwbC03Mi03MmMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDMxIDMxVjIzMmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0elwiXVxufTtcbnZhciBmYUZpbGVEb3dubG9hZCA9IGZhRmlsZUFycm93RG93bjtcbnZhciBmYUNhcmF2YW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FyYXZhbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjhmZlwiLCBcIk0wIDExMkMwIDY3LjggMzUuOCAzMiA4MCAzMkg0MTZjODguNCAwIDE2MCA3MS42IDE2MCAxNjBWMzUyaDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwSDI4OGMwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05Nkg4MGMtNDQuMiAwLTgwLTM1LjgtODAtODBWMTEyek0zMjAgMzUySDQ0OFYyNTZINDE2Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2aDMyVjE2MGMwLTE3LjctMTQuMy0zMi0zMi0zMkgzNTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyVjM1MnpNOTYgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnY2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMkgyMjRjMTcuNyAwIDMyLTE0LjMgMzItMzJWMTYwYzAtMTcuNy0xNC4zLTMyLTMyLTMySDk2em05NiAzMzZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2elwiXVxufTtcbnZhciBmYVNoaWVsZENhdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaGllbGQtY2F0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTcyXCIsIFwiTTI2OS40IDIuOUMyNjUuMiAxIDI2MC43IDAgMjU2IDBzLTkuMiAxLTEzLjQgMi45TDU0LjMgODIuOGMtMjIgOS4zLTM4LjQgMzEtMzguMyA1Ny4yYy41IDk5LjIgNDEuMyAyODAuNyAyMTMuNiAzNjMuMmMxNi43IDggMzYuMSA4IDUyLjggMEM0NTQuNyA0MjAuNyA0OTUuNSAyMzkuMiA0OTYgMTQwYy4xLTI2LjItMTYuMy00Ny45LTM4LjMtNTcuMkwyNjkuNCAyLjl6TTE2MCAxNTQuNGMwLTUuOCA0LjctMTAuNCAxMC40LTEwLjRoLjJjMy40IDAgNi41IDEuNiA4LjUgNC4zbDQwIDUzLjNjMyA0IDcuOCA2LjQgMTIuOCA2LjRoNDhjNSAwIDkuOC0yLjQgMTIuOC02LjRsNDAtNTMuM2MyLTIuNyA1LjItNC4zIDguNS00LjNoLjJjNS44IDAgMTAuNCA0LjcgMTAuNCAxMC40VjI3MmMwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05NlYxNTQuNHpNMjE2IDI4OGExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6bTk2LTE2YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6XCJdXG59O1xudmFyIGZhQm9sdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib2x0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbOTg4OSwgXCJ6YXBcIl0sIFwiZjBlN1wiLCBcIk0zNDkuNCA0NC42YzUuOS0xMy43IDEuNS0yOS43LTEwLjYtMzguNXMtMjguNi04LTM5LjkgMS44bC0yNTYgMjI0Yy0xMCA4LjgtMTMuNiAyMi45LTguOSAzNS4zUzUwLjcgMjg4IDY0IDI4OEgxNzUuNUw5OC42IDQ2Ny40Yy01LjkgMTMuNy0xLjUgMjkuNyAxMC42IDM4LjVzMjguNiA4IDM5LjktMS44bDI1Ni0yMjRjMTAtOC44IDEzLjYtMjIuOSA4LjktMzUuM3MtMTYuNi0yMC43LTMwLTIwLjdIMjcyLjVMMzQ5LjQgNDQuNnpcIl1cbn07XG52YXIgZmFaYXAgPSBmYUJvbHQ7XG52YXIgZmFHbGFzc1dhdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dsYXNzLXdhdGVyJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlNGY0XCIsIFwiTTMyIDBDMjMuMSAwIDE0LjYgMy43IDguNiAxMC4yUy0uNiAyNS40IC4xIDM0LjNMMjguOSA0MzcuN2MzIDQxLjkgMzcuOCA3NC4zIDc5LjggNzQuM0gyNzUuM2M0MiAwIDc2LjgtMzIuNCA3OS44LTc0LjNMMzgzLjkgMzQuM2MuNi04LjktMi40LTE3LjYtOC41LTI0LjFTMzYwLjkgMCAzNTIgMEgzMnpNNzMgMTU2LjVMNjYuNCA2NEgzMTcuNkwzMTEgMTU2LjVsLTI0LjIgMTIuMWMtMTkuNCA5LjctNDIuMiA5LjctNjEuNiAwYy0yMC45LTEwLjQtNDUuNS0xMC40LTY2LjQgMGMtMTkuNCA5LjctNDIuMiA5LjctNjEuNiAwTDczIDE1Ni41elwiXVxufTtcbnZhciBmYU9pbFdlbGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnb2lsLXdlbGwnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1MzJcIiwgXCJNNTI4LjMgNjEuM2MtMTEuNC00Mi43LTU1LjMtNjgtOTgtNTYuNkw0MTQuOSA4LjhDMzk3LjggMTMuNCAzODcuNyAzMSAzOTIuMyA0OGwyNC41IDkxLjRMMzA4LjUgMTY3LjVsLTYuMy0xOC4xQzI5Ny43IDEzNi42IDI4NS42IDEyOCAyNzIgMTI4cy0yNS43IDguNi0zMC4yIDIxLjRsLTEzLjYgMzlMOTYgMjIyLjZWMTg0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0VjQ0OEgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg1NDRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINDA2LjdMMzQwIDI1Ny41bC02Mi4yIDE2LjFMMzA1LjMgMzUySDIzOC43TDI2NSAyNzdsLTc0LjYgMTkuM0wxMzcuMyA0NDhIOTZWMjg4LjhsMzM3LjQtODcuNSAyNS4yIDk0YzQuNiAxNy4xIDIyLjEgMjcuMiAzOS4yIDIyLjZsMTUuNS00LjFjNDIuNy0xMS40IDY4LTU1LjMgNTYuNi05OEw1MjguMyA2MS4zek0yMDUuMSA0NDhsMTEuMi0zMkgzMjcuN2wxMS4yIDMySDIwNS4xelwiXVxufTtcbnZhciBmYVZhdWx0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZhdWx0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlMmM1XCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEg4MGwxNiAzMmg2NGwxNi0zMkg0MDBsMTYgMzJoNjRsMTYtMzJoMTZjMzUuMyAwIDY0LTI4LjcgNjQtNjRWNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6TTIyNCAzMjBhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6bTAtMjQwYTE2MCAxNjAgMCAxIDEgMCAzMjAgMTYwIDE2MCAwIDEgMSAwLTMyMHpNNDgwIDIyMS4zVjMzNmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlYyMjEuM2MtMTguNi02LjYtMzItMjQuNC0zMi00NS4zYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhjMCAyMC45LTEzLjQgMzguNy0zMiA0NS4zelwiXVxufTtcbnZhciBmYU1hcnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFycycsXG4gIGljb246IFs0NDgsIDUxMiwgWzk3OTRdLCBcImYyMjJcIiwgXCJNMjg5LjggNDYuOGMzLjctOSAxMi41LTE0LjggMjIuMi0xNC44SDQyNGMxMy4zIDAgMjQgMTAuNyAyNCAyNFYxNjhjMCA5LjctNS44IDE4LjUtMTQuOCAyMi4ycy0xOS4zIDEuNy0yNi4yLTUuMmwtMzMuNC0zMy40TDMyMSAyMDQuMmMxOS41IDI4LjQgMzEgNjIuNyAzMSA5OS44YzAgOTcuMi03OC44IDE3Ni0xNzYgMTc2UzAgNDAxLjIgMCAzMDRzNzguOC0xNzYgMTc2LTE3NmMzNyAwIDcxLjQgMTEuNCA5OS44IDMxbDUyLjYtNTIuNkwyOTUgNzNjLTYuOS02LjktOC45LTE3LjItNS4yLTI2LjJ6TTQwMCA4MGwwIDBoMHYwek0xNzYgNDE2YTExMiAxMTIgMCAxIDAgMC0yMjQgMTEyIDExMiAwIDEgMCAwIDIyNHpcIl1cbn07XG52YXIgZmFUb2lsZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndG9pbGV0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI4NzAxXSwgXCJmN2Q4XCIsIFwiTTI0IDBDMTAuNyAwIDAgMTAuNyAwIDI0UzEwLjcgNDggMjQgNDhoOFYxOTYuOWMtMS45IDEuNC0zLjggMi45LTUuNiA0LjRDMTAuOSAyMTQuNSAwIDIzMi45IDAgMjU2YzAgNDYuOSAxNC4zIDg0LjEgMzcgMTEyLjVjMTQuMiAxNy43IDMxLjEgMzEuMyA0OC41IDQxLjhMNjUuNiA0NjkuOWMtMy4zIDkuOC0xLjYgMjAuNSA0LjQgMjguOHMxNS43IDEzLjMgMjYgMTMuM0gzNTJjMTAuMyAwIDE5LjktNC45IDI2LTEzLjNzNy43LTE5LjEgNC40LTI4LjhsLTE5LjgtNTkuNWMxNy40LTEwLjUgMzQuMy0yNC4xIDQ4LjUtNDEuOGMyMi43LTI4LjQgMzctNjUuNSAzNy0xMTIuNWMwLTIzLjEtMTAuOS00MS41LTI2LjQtNTQuNmMtMS44LTEuNS0zLjctMy01LjYtNC40VjQ4aDhjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRIMjR6TTM4NCAyNTYuM2MwIDEtLjMgMi42LTMuOCA1LjZjLTQuOCA0LjEtMTQgOS0yOS4zIDEzLjRDMzIwLjUgMjg0IDI3Ni4xIDI4OCAyMjQgMjg4cy05Ni41LTQtMTI2LjktMTIuOGMtMTUuMy00LjQtMjQuNS05LjMtMjkuMy0xMy40Yy0zLjUtMy0zLjgtNC42LTMuOC01LjZsMC0uMyAwLS4xYzAtMSAwLTIuNSAzLjgtNS44YzQuOC00LjEgMTQtOSAyOS4zLTEzLjRDMTI3LjUgMjI4IDE3MS45IDIyNCAyMjQgMjI0czk2LjUgNCAxMjYuOSAxMi44YzE1LjMgNC40IDI0LjUgOS4zIDI5LjMgMTMuNGMzLjggMy4yIDMuOCA0LjggMy44IDUuOGwwIC4xIDAgLjN6TTMyOC4yIDM4NGwtLjIgLjUgMC0uNWguMnpNMTEyIDY0aDMyYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDExMmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFQbGFuZUNpcmNsZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsYW5lLWNpcmNsZS14bWFyaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU1N1wiLCBcIk0yNTYgMGMtMzUgMC02NCA1OS41LTY0IDkzLjd2ODQuNkw4LjEgMjgzLjRjLTUgMi44LTguMSA4LjItOC4xIDEzLjl2NjUuNWMwIDEwLjYgMTAuMiAxOC4zIDIwLjQgMTUuNGwxNzEuNi00OSAwIDcwLjktNTcuNiA0My4yYy00IDMtNi40IDcuOC02LjQgMTIuOHY0MmMwIDcuOCA2LjMgMTQgMTQgMTRjMS4zIDAgMi42LS4yIDMuOS0uNUwyNTYgNDgwbDExMC4xIDMxLjVjMS4zIC40IDIuNiAuNSAzLjkgLjVjNiAwIDExLjEtMy43IDEzLjEtOUMzNDQuNSA0NzAuNyAzMjAgNDIyLjIgMzIwIDM2OGMwLTYwLjYgMzAuNi0xMTQgNzcuMS0xNDUuNkwzMjAgMTc4LjNWOTMuN0MzMjAgNTkuNSAyOTIgMCAyNTYgMHpNNDk2IDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTU5LjMtMTgwLjdMNTE4LjYgMzY4bDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwTDQ5NiAzOTAuNmwtMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42TDQ3My40IDM2OGwtMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDk2IDM0NS40bDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6XCJdXG59O1xudmFyIGZhWWVuU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd5ZW4tc2lnbicsXG4gIGljb246IFszMjAsIDUxMiwgWzE2NSwgXCJjbnlcIiwgXCJqcHlcIiwgXCJybWJcIiwgXCJ5ZW5cIl0sIFwiZjE1N1wiLCBcIk01OC42IDQ2LjJDNDguOCAzMS41IDI5IDI3LjYgMTQuMyAzNy40Uy00LjQgNjcgNS40IDgxLjdMMTAwLjIgMjI0SDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDgwdjMySDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDgwdjY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMzg0aDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDE5MlYyODhoODBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMjE5LjhMMzE0LjYgODEuN2M5LjgtMTQuNyA1LjgtMzQuNi04LjktNDQuNHMtMzQuNi01LjgtNDQuNCA4LjlMMTYwIDE5OC4zIDU4LjYgNDYuMnpcIl1cbn07XG52YXIgZmFDbnkgPSBmYVllblNpZ247XG52YXIgZmFKcHkgPSBmYVllblNpZ247XG52YXIgZmFSbWIgPSBmYVllblNpZ247XG52YXIgZmFZZW4gPSBmYVllblNpZ247XG52YXIgZmFSdWJsZVNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncnVibGUtc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgWzgzODEsIFwicm91YmxlXCIsIFwicnViXCIsIFwicnVibGVcIl0sIFwiZjE1OFwiLCBcIk05NiAzMkM3OC4zIDMyIDY0IDQ2LjMgNjQgNjRWMjU2SDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDY0djMySDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDY0djMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWNDE2SDI4OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgxMjhWMzIwSDI0MGM3OS41IDAgMTQ0LTY0LjUgMTQ0LTE0NHMtNjQuNS0xNDQtMTQ0LTE0NEg5NnpNMjQwIDI1NkgxMjhWOTZIMjQwYzQ0LjIgMCA4MCAzNS44IDgwIDgwcy0zNS44IDgwLTgwIDgwelwiXVxufTtcbnZhciBmYVJvdWJsZSA9IGZhUnVibGVTaWduO1xudmFyIGZhUnViID0gZmFSdWJsZVNpZ247XG52YXIgZmFSdWJsZSA9IGZhUnVibGVTaWduO1xudmFyIGZhU3VuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N1bicsXG4gIGljb246IFs1MTIsIDUxMiwgWzk3MjhdLCBcImYxODVcIiwgXCJNMzYxLjUgMS4yYzUgMi4xIDguNiA2LjYgOS42IDExLjlMMzkxIDEyMWwxMDcuOSAxOS44YzUuMyAxIDkuOCA0LjYgMTEuOSA5LjZzMS41IDEwLjctMS42IDE1LjJMNDQ2LjkgMjU2bDYyLjMgOTAuM2MzLjEgNC41IDMuNyAxMC4yIDEuNiAxNS4ycy02LjYgOC42LTExLjkgOS42TDM5MSAzOTEgMzcxLjEgNDk4LjljLTEgNS4zLTQuNiA5LjgtOS42IDExLjlzLTEwLjcgMS41LTE1LjItMS42TDI1NiA0NDYuOWwtOTAuMyA2Mi4zYy00LjUgMy4xLTEwLjIgMy43LTE1LjIgMS42cy04LjYtNi42LTkuNi0xMS45TDEyMSAzOTEgMTMuMSAzNzEuMWMtNS4zLTEtOS44LTQuNi0xMS45LTkuNnMtMS41LTEwLjcgMS42LTE1LjJMNjUuMSAyNTYgMi44IDE2NS43Yy0zLjEtNC41LTMuNy0xMC4yLTEuNi0xNS4yczYuNi04LjYgMTEuOS05LjZMMTIxIDEyMSAxNDAuOSAxMy4xYzEtNS4zIDQuNi05LjggOS42LTExLjlzMTAuNy0xLjUgMTUuMiAxLjZMMjU2IDY1LjEgMzQ2LjMgMi44YzQuNS0zLjEgMTAuMi0zLjcgMTUuMi0xLjZ6TTE2MCAyNTZhOTYgOTYgMCAxIDEgMTkyIDAgOTYgOTYgMCAxIDEgLTE5MiAwem0yMjQgMGExMjggMTI4IDAgMSAwIC0yNTYgMCAxMjggMTI4IDAgMSAwIDI1NiAwelwiXVxufTtcbnZhciBmYUd1aXRhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdndWl0YXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3YTZcIiwgXCJNNDY1IDdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwTDM4MyA1NWMtMi40IDIuNC00LjMgNS4zLTUuNSA4LjVsLTE1LjQgNDEtNzcuNSA3Ny42Yy00NS4xLTI5LjQtOTkuMy0zMC4yLTEzMSAxLjZjLTExIDExLTE4IDI0LjYtMjEuNCAzOS42Yy0zLjcgMTYuNi0xOS4xIDMwLjctMzYuMSAzMS42Yy0yNS42IDEuMy00OS4zIDEwLjctNjcuMyAyOC42Qy0xNiAzMjguNC03LjYgNDA5LjQgNDcuNSA0NjQuNXMxMzYuMSA2My41IDE4MC45IDE4LjdjMTcuOS0xNy45IDI3LjQtNDEuNyAyOC42LTY3LjNjLjktMTcgMTUtMzIuMyAzMS42LTM2LjFjMTUtMy40IDI4LjYtMTAuNSAzOS42LTIxLjRjMzEuOC0zMS44IDMxLTg1LjkgMS42LTEzMWw3Ny42LTc3LjYgNDEtMTUuNGMzLjItMS4yIDYuMS0zLjEgOC41LTUuNWw0OC00OGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOUw0NjUgN3pNMjA4IDI1NmE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6XCJdXG59O1xudmFyIGZhRmFjZUxhdWdoV2luayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWxhdWdoLXdpbmsnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImxhdWdoLXdpbmtcIl0sIFwiZjU5Y1wiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNOTYuOCAzMTQuMWMtMy44LTEzLjcgNy40LTI2LjEgMjEuNi0yNi4xSDM5My42YzE0LjIgMCAyNS41IDEyLjQgMjEuNiAyNi4xQzM5Ni4yIDM4MiAzMzIuMSA0MzIgMjU2IDQzMnMtMTQwLjItNTAtMTU5LjItMTE3Ljl6TTE0NC40IDE5MmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xNTYuNCAyNS42Yy01LjMgNy4xLTE1LjMgOC41LTIyLjQgMy4ycy04LjUtMTUuMy0zLjItMjIuNGMzMC40LTQwLjUgOTEuMi00MC41IDEyMS42IDBjNS4zIDcuMSAzLjkgMTcuMS0zLjIgMjIuNHMtMTcuMSAzLjktMjIuNC0zLjJjLTE3LjYtMjMuNS01Mi44LTIzLjUtNzAuNCAwelwiXVxufTtcbnZhciBmYUxhdWdoV2luayA9IGZhRmFjZUxhdWdoV2luaztcbnZhciBmYUhvcnNlSGVhZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3JzZS1oZWFkJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmN2FiXCIsIFwiTTY0IDQ2NFYzMTYuOWMwLTEwOC40IDY4LjMtMjA1LjEgMTcwLjUtMjQxLjNMNDA0LjIgMTUuNUM0MjUuNiA3LjkgNDQ4IDIzLjggNDQ4IDQ2LjRjMCAxMS01LjUgMjEuMi0xNC42IDI3LjNMNDAwIDk2YzQ4LjEgMCA5MS4yIDI5LjggMTA4LjEgNzQuOWw0OC42IDEyOS41YzExLjggMzEuNCA0LjEgNjYuOC0xOS42IDkwLjVjLTE2IDE2LTM3LjggMjUuMS02MC41IDI1LjFoLTMuNGMtMjYuMSAwLTUwLjktMTEuNi02Ny42LTMxLjdsLTMyLjMtMzguN2MtMTEuNyA0LjEtMjQuMiA2LjQtMzcuMyA2LjRsLS4xIDAgMCAwYy02LjMgMC0xMi41LS41LTE4LjYtMS41Yy0zLjYtLjYtNy4yLTEuNC0xMC43LTIuM2wwIDBjLTI4LjktNy44LTUzLjEtMjYuOC02Ny44LTUyLjJjLTQuNC03LjYtMTQuMi0xMC4zLTIxLjktNS44cy0xMC4zIDE0LjItNS44IDIxLjljMjQgNDEuNSA2OC4zIDcwIDExOS4zIDcxLjlsNDcuMiA3MC44YzQgNi4xIDYuMiAxMy4yIDYuMiAyMC40YzAgMjAuMy0xNi41IDM2LjgtMzYuOCAzNi44SDExMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDh6TTM5MiAyMjRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4elwiXVxufTtcbnZhciBmYUJvcmVIb2xlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JvcmUtaG9sZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTRjM1wiLCBcIk0yNTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJWMjk2LjZjLTE5LjEgMTEuMS0zMiAzMS43LTMyIDU1LjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NGMwLTIzLjctMTIuOS00NC40LTMyLTU1LjRWMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6TTQ4IDEyOGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhWNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDQ2NGMyNi41IDAgNDgtMjEuNSA0OC00OFYxNzZjMC0yNi41LTIxLjUtNDgtNDgtNDhIMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMlYzNTJjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZWMTYwYzAtMTcuNy0xNC4zLTMyLTMyLTMySDQ4elwiXVxufTtcbnZhciBmYUluZHVzdHJ5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2luZHVzdHJ5JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMjc1XCIsIFwiTTY0IDMyQzQ2LjMgMzIgMzIgNDYuMyAzMiA2NFYzMDR2NDggODBjMCAyNi41IDIxLjUgNDggNDggNDhINDk2YzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjMwNCAxNTIuMmMwLTE4LjItMTkuNC0yOS43LTM1LjQtMjEuMUwzNTIgMjE1LjRWMTUyLjJjMC0xOC4yLTE5LjQtMjkuNy0zNS40LTIxLjFMMTYwIDIxNS40VjY0YzAtMTcuNy0xNC4zLTMyLTMyLTMySDY0elwiXVxufTtcbnZhciBmYUNpcmNsZURvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLWRvd24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MTQ2NiwgXCJhcnJvdy1hbHQtY2lyY2xlLWRvd25cIl0sIFwiZjM1OFwiLCBcIk0yNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDB6TTM3Ni45IDI5NC42TDI2OS44IDM5NC41Yy0zLjggMy41LTguNyA1LjUtMTMuOCA1LjVzLTEwLjEtMi0xMy44LTUuNUwxMzUuMSAyOTQuNmMtNC41LTQuMi03LjEtMTAuMS03LjEtMTYuM2MwLTEyLjMgMTAtMjIuMyAyMi4zLTIyLjNsNTcuNyAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2IDU3LjcgMGMxMi4zIDAgMjIuMyAxMCAyMi4zIDIyLjNjMCA2LjItMi42IDEyLjEtNy4xIDE2LjN6XCJdXG59O1xudmFyIGZhQXJyb3dBbHRDaXJjbGVEb3duID0gZmFDaXJjbGVEb3duO1xudmFyIGZhQXJyb3dzVHVyblRvRG90cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3MtdHVybi10by1kb3RzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNGMxXCIsIFwiTTI0OS40IDI1LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM0wyNjkuMyA5NiA0MTYgOTZjNTMgMCA5NiA0MyA5NiA5NnYzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYxOTJjMC0xNy43LTE0LjMtMzItMzItMzJsLTE0Ni43IDAgMjUuNCAyNS40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwbC04MC04MGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNsODAtODB6bTEzLjMgMjU2bDgwIDgwYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC04MCA4MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMjQyLjcgNDE2IDk2IDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2MzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWNDQ4YzAtNTMgNDMtOTYgOTYtOTZsMTQ2LjcgMC0yNS40LTI1LjRjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDB6TTM4NCAzODRhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwek02NCAxOTJBNjQgNjQgMCAxIDEgNjQgNjRhNjQgNjQgMCAxIDEgMCAxMjh6XCJdXG59O1xudmFyIGZhRmxvcmluU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmbG9yaW4tc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTE4NFwiLCBcIk0zMTQuNyAzMmMtMzguOCAwLTczLjcgMjMuMy04OC42IDU5LjFMMTcwLjcgMjI0SDY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDgwTDk4LjkgMzk2LjNjLTUgMTEuOS0xNi42IDE5LjctMjkuNSAxOS43SDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDY5LjNjMzguOCAwIDczLjctMjMuMyA4OC42LTU5LjFMMjEzLjMgMjg4SDMyMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgyNDBsNDUuMS0xMDguM2M1LTExLjkgMTYuNi0xOS43IDI5LjUtMTkuN0gzNTJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzE0Ljd6XCJdXG59O1xudmFyIGZhQXJyb3dEb3duU2hvcnRXaWRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LWRvd24tc2hvcnQtd2lkZScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wic29ydC1hbW91bnQtZGVzY1wiLCBcInNvcnQtYW1vdW50LWRvd24tYWx0XCJdLCBcImY4ODRcIiwgXCJNMTUxLjYgNDY5LjZDMTQ1LjUgNDc2LjIgMTM3IDQ4MCAxMjggNDgwcy0xNy41LTMuOC0yMy42LTEwLjRsLTg4LTk2Yy0xMS45LTEzLTExLjEtMzMuMyAyLTQ1LjJzMzMuMy0xMS4xIDQ1LjIgMkw5NiAzNjUuN1Y2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyVjM2NS43bDMyLjQtMzUuNGMxMS45LTEzIDMyLjItMTMuOSA0NS4yLTJzMTMuOSAzMi4yIDIgNDUuMmwtODggOTZ6TTMyMCAzMmgzMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTAgMTI4aDk2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMCAxMjhINDgwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMCAxMjhINTQ0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpcIl1cbn07XG52YXIgZmFTb3J0QW1vdW50RGVzYyA9IGZhQXJyb3dEb3duU2hvcnRXaWRlO1xudmFyIGZhU29ydEFtb3VudERvd25BbHQgPSBmYUFycm93RG93blNob3J0V2lkZTtcbnZhciBmYUxlc3NUaGFuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xlc3MtdGhhbicsXG4gIGljb246IFszODQsIDUxMiwgWzYyNzc0XSwgXCIzY1wiLCBcIk0zODAuNiA4MS43YzcuOSAxNS44IDEuNSAzNS0xNC4zIDQyLjlMMTAzLjYgMjU2IDM2Ni4zIDM4Ny40YzE1LjggNy45IDIyLjIgMjcuMSAxNC4zIDQyLjlzLTI3LjEgMjIuMi00Mi45IDE0LjNsLTMyMC0xNjBDNi44IDI3OS4yIDAgMjY4LjEgMCAyNTZzNi44LTIzLjIgMTcuNy0yOC42bDMyMC0xNjBjMTUuOC03LjkgMzUtMS41IDQyLjkgMTQuM3pcIl1cbn07XG52YXIgZmFBbmdsZURvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5nbGUtZG93bicsXG4gIGljb246IFs0NDgsIDUxMiwgWzg5NjRdLCBcImYxMDdcIiwgXCJNMjAxLjQgMzc0LjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTYwLTE2MGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwyMjQgMzA2LjcgODYuNiAxNjkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTYwIDE2MHpcIl1cbn07XG52YXIgZmFDYXJUdW5uZWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FyLXR1bm5lbCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTRkZVwiLCBcIk0yNTYgMEMxMTQuNiAwIDAgMTE0LjYgMCAyNTZWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0aDQyLjhjLTYuNi01LjktMTAuOC0xNC40LTEwLjgtMjRWMzc2YzAtMjAuOCAxMS4zLTM4LjkgMjguMS00OC42bDIxLTY0LjdjNy41LTIzLjEgMjktMzguNyA1My4zLTM4LjdIMzEzLjZjMjQuMyAwIDQ1LjggMTUuNiA1My4zIDM4LjdsMjEgNjQuN2MxNi44IDkuNyAyOC4yIDI3LjggMjguMiA0OC42VjQ4OGMwIDkuNi00LjIgMTguMS0xMC44IDI0SDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NFYyNTZDNTEyIDExNC42IDM5Ny40IDAgMjU2IDB6TTM2Mi44IDUxMmMtNi42LTUuOS0xMC44LTE0LjQtMTAuOC0yNFY0NDhIMTYwdjQwYzAgOS42LTQuMiAxOC4xLTEwLjggMjRIMzYyLjh6TTE5MC44IDI3Ny41TDE3NyAzMjBIMzM1bC0xMy44LTQyLjVjLTEuMS0zLjMtNC4xLTUuNS03LjYtNS41SDE5OC40Yy0zLjUgMC02LjUgMi4yLTcuNiA1LjV6TTE2OCA0MDhhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0yMDAtMjRhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpcIl1cbn07XG52YXIgZmFIZWFkU2lkZUNvdWdoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlYWQtc2lkZS1jb3VnaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA2MVwiLCBcIk0wIDIyNC4yQzAgMTAwLjYgMTAwLjIgMCAyMjQgMGgyNGM5NS4yIDAgMTgxLjIgNjkuMyAxOTcuMyAxNjAuMmMyLjMgMTMgNi44IDI1LjcgMTUuMSAzNmw0MiA1Mi42YzYuMiA3LjggOS42IDE3LjQgOS42IDI3LjRjMCAyNC4yLTE5LjYgNDMuOC00My44IDQzLjhINDQ4djAgMzJMMzM5LjIgMzY1LjZjLTExIDEuNC0xOS4yIDEwLjctMTkuMiAyMS44YzAgMTEuNiA5IDIxLjIgMjAuNiAyMS45TDQ0OCA0MTZ2MTZjMCAyNi41LTIxLjUgNDgtNDggNDhIMzIwdjhjMCAxMy4zLTEwLjcgMjQtMjQgMjRIMjU2djBIOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjQwNy4zYzAtMTYuNy02LjktMzIuNS0xNy4xLTQ1LjhDMTYuNiAzMjIuNCAwIDI3NC4xIDAgMjI0LjJ6bTM1Mi0uMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTQ2NCAzODRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMTUyLTI0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNNTkyIDQ4MGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwek01NTIgMzEyYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptNDAtMjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpNNTUyIDQwOGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6XCJdXG59O1xudmFyIGZhR3JpcExpbmVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dyaXAtbGluZXMnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImY3YTRcIiwgXCJNMzIgMjg4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDM4NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDI4OHptMC0xMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMTYwelwiXVxufTtcbnZhciBmYVRodW1ic0Rvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGh1bWJzLWRvd24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgwNzgsIDYxNTc2XSwgXCJmMTY1XCIsIFwiTTMxMy40IDQ3OS4xYzI2LTUuMiA0Mi45LTMwLjUgMzcuNy01Ni41bC0yLjMtMTEuNGMtNS4zLTI2LjctMTUuMS01Mi4xLTI4LjgtNzUuMkg0NjRjMjYuNSAwIDQ4LTIxLjUgNDgtNDhjMC0xOC41LTEwLjUtMzQuNi0yNS45LTQyLjZDNDk3IDIzNi42IDUwNCAyMjMuMSA1MDQgMjA4YzAtMjMuNC0xNi44LTQyLjktMzguOS00Ny4xYzQuNC03LjMgNi45LTE1LjggNi45LTI0LjljMC0yMS4zLTEzLjktMzkuNC0zMy4xLTQ1LjZjLjctMy4zIDEuMS02LjggMS4xLTEwLjRjMC0yNi41LTIxLjUtNDgtNDgtNDhIMjk0LjVjLTE5IDAtMzcuNSA1LjYtNTMuMyAxNi4xTDIwMi43IDczLjhDMTc2IDkxLjYgMTYwIDEyMS42IDE2MCAxNTMuN1YxOTJ2NDggMjQuOWMwIDI5LjIgMTMuMyA1Ni43IDM2IDc1bDcuNCA1LjljMjYuNSAyMS4yIDQ0LjYgNTEgNTEuMiA4NC4ybDIuMyAxMS40YzUuMiAyNiAzMC41IDQyLjkgNTYuNSAzNy43ek0zMiAzODRIOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJWMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMySDMyQzE0LjMgOTYgMCAxMTAuMyAwIDEyOFYzNTJjMCAxNy43IDE0LjMgMzIgMzIgMzJ6XCJdXG59O1xudmFyIGZhVXNlckxvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1sb2NrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNTAyXCIsIFwiTTIyNCAyNTZBMTI4IDEyOCAwIDEgMCAyMjQgMGExMjggMTI4IDAgMSAwIDAgMjU2em0tNDUuNyA0OEM3OS44IDMwNCAwIDM4My44IDAgNDgyLjNDMCA0OTguNyAxMy4zIDUxMiAyOS43IDUxMkgzOTIuNmMtNS40LTkuNC04LjYtMjAuMy04LjYtMzJWMzUyYzAtMi4xIC4xLTQuMiAuMy02LjNjLTMxLTI2LTcxLTQxLjctMTE0LjYtNDEuN0gxNzguM3pNNTI4IDI0MGMxNy43IDAgMzIgMTQuMyAzMiAzMnY0OEg0OTZWMjcyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem0tODAgMzJ2NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyVjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMkg2MDhjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzUyYzAtMTcuNy0xNC4zLTMyLTMyLTMyVjI3MmMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MHpcIl1cbn07XG52YXIgZmFBcnJvd1JpZ2h0TG9uZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1yaWdodC1sb25nJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJsb25nLWFycm93LXJpZ2h0XCJdLCBcImYxNzhcIiwgXCJNNTAyLjYgMjc4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTEyOC0xMjhjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDQwMi43IDIyNCAzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzcwLjcgMC03My40IDczLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsMTI4LTEyOHpcIl1cbn07XG52YXIgZmFMb25nQXJyb3dSaWdodCA9IGZhQXJyb3dSaWdodExvbmc7XG52YXIgZmFBbmNob3JDaXJjbGVYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbmNob3ItY2lyY2xlLXhtYXJrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGFjXCIsIFwiTTMyMCA5NmEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwem0yMS4xIDgwQzM2NyAxNTguOCAzODQgMTI5LjQgMzg0IDk2YzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2YzAgMzMuNCAxNyA2Mi44IDQyLjkgODBIMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDMyVjQ0OEgyMDhjLTUzIDAtOTYtNDMtOTYtOTZ2LTYuMWw3IDdjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDk3IDI2M2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBMNyAzMTljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw3LTdWMzUyYzAgODguNCA3MS42IDE2MCAxNjAgMTYwaDgwIDgwYzguMiAwIDE2LjMtLjYgMjQuMi0xLjhjLTIyLjItMTYuMi00MC40LTM3LjUtNTMtNjIuMkgzMjBWMzY4IDI0MGgzMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzNDEuMXpNNDk2IDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTU5LjMtMTgwLjdMNTE4LjYgMzY4bDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwTDQ5NiAzOTAuNmwtMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42TDQ3My40IDM2OGwtMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDk2IDM0NS40bDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6XCJdXG59O1xudmFyIGZhRWxsaXBzaXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZWxsaXBzaXMnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImVsbGlwc2lzLWhcIl0sIFwiZjE0MVwiLCBcIk04IDI1NmE1NiA1NiAwIDEgMSAxMTIgMEE1NiA1NiAwIDEgMSA4IDI1NnptMTYwIDBhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwem0yMTYtNTZhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6XCJdXG59O1xudmFyIGZhRWxsaXBzaXNIID0gZmFFbGxpcHNpcztcbnZhciBmYUNoZXNzUGF3biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGVzcy1wYXduJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbOTgyM10sIFwiZjQ0M1wiLCBcIk0yMTUuNSAyMjRjMjkuMi0xOC40IDQ4LjUtNTAuOSA0OC41LTg4YzAtNTcuNC00Ni42LTEwNC0xMDQtMTA0UzU2IDc4LjYgNTYgMTM2YzAgMzcuMSAxOS40IDY5LjYgNDguNSA4OEg5NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJjMCAxNi41IDEyLjUgMzAgMjguNSAzMS44TDgwIDQwMEgyNDBMMjI3LjUgMjg3LjhjMTYtMS44IDI4LjUtMTUuMyAyOC41LTMxLjhjMC0xNy43LTE0LjMtMzItMzItMzJoLTguNXpNMjIuNiA0NzMuNGMtNC4yIDQuMi02LjYgMTAtNi42IDE2QzE2IDUwMS45IDI2LjEgNTEyIDM4LjYgNTEySDI4MS40YzEyLjUgMCAyMi42LTEwLjEgMjIuNi0yMi42YzAtNi0yLjQtMTEuOC02LjYtMTZMMjU2IDQzMkg2NEwyMi42IDQ3My40elwiXVxufTtcbnZhciBmYUtpdE1lZGljYWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAna2l0LW1lZGljYWwnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImZpcnN0LWFpZFwiXSwgXCJmNDc5XCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDk2VjMySDY0em02NCAwVjQ4MEg0NDhWMzJIMTI4ek01MTIgNDgwYzM1LjMgMCA2NC0yOC43IDY0LTY0Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDQ4MFY0ODBoMzJ6TTI1NiAxNzZjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnY0OGg0OGM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDMyMHY0OGMwIDguOC03LjIgMTYtMTYgMTZIMjcyYy04LjggMC0xNi03LjItMTYtMTZWMjg4SDIwOGMtOC44IDAtMTYtNy4yLTE2LTE2VjI0MGMwLTguOCA3LjItMTYgMTYtMTZoNDhWMTc2elwiXVxufTtcbnZhciBmYUZpcnN0QWlkID0gZmFLaXRNZWRpY2FsO1xudmFyIGZhUGVyc29uVGhyb3VnaFdpbmRvdyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tdGhyb3VnaC13aW5kb3cnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1YTlcIiwgXCJNNjQgNjRsMjI0IDAgMCA5LjhjMCAzOS0yMy43IDc0LTU5LjkgODguNEMxNjcuNiAxODYuNSAxMjggMjQ1IDEyOCAzMTAuMmwwIDczLjhzMCAwIDAgMEg2NFY2NHptMjg4IDBsMjI0IDBWMzg0SDUwOC4zbC0zLjctNC41LTc1LjItOTAuMmMtOS4xLTEwLjktMjIuNi0xNy4zLTM2LjktMTcuM2wtNzEuMSAwLTQxLTYzLjFjLS4zLS41LS42LTEtMS0xLjRjNDQuNy0yOSA3Mi41LTc5IDcyLjUtMTMzLjZsMC05Ljh6bTczIDMyMEgzNzkuMmw0Mi43IDY0SDU5MmMyNi41IDAgNDgtMjEuNSA0OC00OFY0OGMwLTI2LjUtMjEuNS00OC00OC00OEg0OEMyMS41IDAgMCAyMS41IDAgNDhWNDAwYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDMwOC4ybDMzLjIgNDkuOGM5LjggMTQuNyAyOS43IDE4LjcgNDQuNCA4LjlzMTguNy0yOS43IDguOS00NC40TDMxMC41IDMzNmw3NC42IDAgNDAgNDh6bS0xNTkuNSAwSDE5MnMwIDAgMCAwbDAtNzMuOGMwLTEwLjIgMS42LTIwLjEgNC43LTI5LjVMMjY1LjUgMzg0ek0xOTIgMTI4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6XCJdXG59O1xudmFyIGZhVG9vbGJveCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0b29sYm94JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5NTIwXSwgXCJmNTUyXCIsIFwiTTE3NiA4OGwwIDQwIDE2MCAwIDAtNDBjMC00LjQtMy42LTgtOC04TDE4NCA4MGMtNC40IDAtOCAzLjYtOCA4em0tNDggNDBsMC00MGMwLTMwLjkgMjUuMS01NiA1Ni01NmwxNDQgMGMzMC45IDAgNTYgMjUuMSA1NiA1NmwwIDQwIDI4LjEgMGMxMi43IDAgMjQuOSA1LjEgMzMuOSAxNC4xbDUxLjkgNTEuOWM5IDkgMTQuMSAyMS4yIDE0LjEgMzMuOWwwIDkyLjEtMTI4IDAgMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDMyLTEyOCAwIDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAzMkwwIDMyMGwwLTkyLjFjMC0xMi43IDUuMS0yNC45IDE0LjEtMzMuOWw1MS45LTUxLjljOS05IDIxLjItMTQuMSAzMy45LTE0LjFsMjguMSAwek0wIDQxNmwwLTY0IDEyOCAwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMTI4IDBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwxMjggMCAwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjR6XCJdXG59O1xudmFyIGZhSGFuZHNIb2xkaW5nQ2lyY2xlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzLWhvbGRpbmctY2lyY2xlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGZiXCIsIFwiTTMyMCAwYTEyOCAxMjggMCAxIDEgMCAyNTZBMTI4IDEyOCAwIDEgMSAzMjAgMHpNNDAgNjRjMjIuMSAwIDQwIDE3LjkgNDAgNDB2NDAgODAgNDAuMmMwIDE3IDYuNyAzMy4zIDE4LjcgNDUuM2w1MS4xIDUxLjFjOC4zIDguMyAyMS4zIDkuNiAzMSAzLjFjMTIuOS04LjYgMTQuNy0yNi45IDMuNy0zNy44bC0xNS4yLTE1LjItMzItMzJjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBsMzIgMzIgMTUuMiAxNS4yIDAgMCAyNS4zIDI1LjNjMjEgMjEgMzIuOCA0OS41IDMyLjggNzkuMlY0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhIMTczLjNjLTE3IDAtMzMuMy02LjctNDUuMy0xOC43TDI4LjEgMzkzLjRDMTAuMSAzNzUuNCAwIDM1MSAwIDMyNS41VjIyNCAxNjAgMTA0QzAgODEuOSAxNy45IDY0IDQwIDY0em01NjAgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MHY1NiA2NFYzMjUuNWMwIDI1LjUtMTAuMSA0OS45LTI4LjEgNjcuOUw1MTIgNDkzLjNjLTEyIDEyLTI4LjMgMTguNy00NS4zIDE4LjdINDAwYy0yNi41IDAtNDgtMjEuNS00OC00OFYzODUuMWMwLTI5LjcgMTEuOC01OC4yIDMyLjgtNzkuMmwyNS4zLTI1LjMgMCAwIDE1LjItMTUuMiAzMi0zMmMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zbC0zMiAzMi0xNS4yIDE1LjJjLTExIDExLTkuMiAyOS4yIDMuNyAzNy44YzkuNyA2LjUgMjIuNyA1LjIgMzEtMy4xbDUxLjEtNTEuMWMxMi0xMiAxOC43LTI4LjMgMTguNy00NS4zVjIyNCAxNDQgMTA0YzAtMjIuMSAxNy45LTQwIDQwLTQwelwiXVxufTtcbnZhciBmYUJ1ZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidWcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYxODhcIiwgXCJNMjU2IDBjNTMgMCA5NiA0MyA5NiA5NnYzLjZjMCAxNS43LTEyLjcgMjguNC0yOC40IDI4LjRIMTg4LjRjLTE1LjcgMC0yOC40LTEyLjctMjguNC0yOC40Vjk2YzAtNTMgNDMtOTYgOTYtOTZ6TTQxLjQgMTA1LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsNjQgNjRjLjcgLjcgMS4zIDEuNCAxLjkgMi4xYzE0LjItNy4zIDMwLjQtMTEuNCA0Ny41LTExLjRIMzEyYzE3LjEgMCAzMy4yIDQuMSA0Ny41IDExLjRjLjYtLjcgMS4yLTEuNCAxLjktMi4xbDY0LTY0YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNsLTY0IDY0Yy0uNyAuNy0xLjQgMS4zLTIuMSAxLjljNi4yIDEyIDEwLjEgMjUuMyAxMS4xIDM5LjVINDgwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDQxNmMwIDI0LjYtNS41IDQ3LjgtMTUuNCA2OC42YzIuMiAxLjMgNC4yIDIuOSA2IDQuOGw2NCA2NGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMGwtNjMuMS02My4xYy0yNC41IDIxLjgtNTUuOCAzNi4yLTkwLjMgMzkuNlYyNDBjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZWNDc5LjJjLTM0LjUtMy40LTY1LjgtMTcuOC05MC4zLTM5LjZMODYuNiA1MDIuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsNjQtNjRjMS45LTEuOSAzLjktMy40IDYtNC44QzEwMS41IDM2Ny44IDk2IDM0NC42IDk2IDMyMEgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkg5Ni4zYzEuMS0xNC4xIDUtMjcuNSAxMS4xLTM5LjVjLS43LS42LTEuNC0xLjItMi4xLTEuOWwtNjQtNjRjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zelwiXVxufTtcbnZhciBmYUNyZWRpdENhcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3JlZGl0LWNhcmQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjgxNzksIDYyMDgzLCBcImNyZWRpdC1jYXJkLWFsdFwiXSwgXCJmMDlkXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZ2MzJINTc2Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0ek01NzYgMjI0SDBWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDUxMmMzNS4zIDAgNjQtMjguNyA2NC02NFYyMjR6TTExMiAzNTJoNjRjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMTEyYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0xMTIgMTZjMC04LjggNy4yLTE2IDE2LTE2SDM2OGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgyNDBjLTguOCAwLTE2LTcuMi0xNi0xNnpcIl1cbn07XG52YXIgZmFDcmVkaXRDYXJkQWx0ID0gZmFDcmVkaXRDYXJkO1xudmFyIGZhQ2FyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODY2NCwgXCJhdXRvbW9iaWxlXCJdLCBcImYxYjlcIiwgXCJNMTM1LjIgMTE3LjRMMTA5LjEgMTkySDQwMi45bC0yNi4xLTc0LjZDMzcyLjMgMTA0LjYgMzYwLjIgOTYgMzQ2LjYgOTZIMTY1LjRjLTEzLjYgMC0yNS43IDguNi0zMC4yIDIxLjR6TTM5LjYgMTk2LjhMNzQuOCA5Ni4zQzg4LjMgNTcuOCAxMjQuNiAzMiAxNjUuNCAzMkgzNDYuNmM0MC44IDAgNzcuMSAyNS44IDkwLjYgNjQuM2wzNS4yIDEwMC41YzIzLjIgOS42IDM5LjYgMzIuNSAzOS42IDU5LjJWNDAwdjQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMySDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDAwSDk2djQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMySDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMlY0MDAgMjU2YzAtMjYuNyAxNi40LTQ5LjYgMzkuNi01OS4yek0xMjggMjg4YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTI4OCAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xudmFyIGZhQXV0b21vYmlsZSA9IGZhQ2FyO1xudmFyIGZhSGFuZEhvbGRpbmdIYW5kID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtaG9sZGluZy1oYW5kJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGY3XCIsIFwiTTcuOCAyMDcuN2MtMTMuMS0xNy44LTkuMy00Mi44IDguNS01NS45TDE0Mi45IDU4LjVDMTY2LjIgNDEuMyAxOTQuNSAzMiAyMjMuNSAzMkgzODQgNTQ0YzE3LjcgMCAzMiAxNC4zIDMyIDMydjY0YzAgMTcuNy0xNC4zIDMyLTMyIDMySDUwNy4ybC00NC45IDM2Yy0yMi43IDE4LjItNTAuOSAyOC04MCAyOEgzMDQgMjg4IDIyNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmg2NCAxNmM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgxODMuNEw2My43IDIxNi4yYy0xNy44IDEzLjEtNDIuOCA5LjMtNTUuOS04LjV6TTM4Mi40IDE2MGwwIDAgLjkgMGMtLjMgMC0uNiAwLS45IDB6TTU2OC4yIDMwNC4zYzEzLjEgMTcuOCA5LjMgNDIuOC04LjUgNTUuOUw0MzMuMSA0NTMuNWMtMjMuNCAxNy4yLTUxLjYgMjYuNS04MC43IDI2LjVIMTkyIDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMlYzODRjMC0xNy43IDE0LjMtMzIgMzItMzJINjguOGw0NC45LTM2YzIyLjctMTguMiA1MC45LTI4IDgwLTI4SDI3MmgxNiA2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgyODggMjcyYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2SDM5Mi42bDExOS43LTg4LjJjMTcuOC0xMy4xIDQyLjgtOS4zIDU1LjkgOC41ek0xOTMuNiAzNTJsMCAwLS45IDBjLjMgMCAuNiAwIC45IDB6XCJdXG59O1xudmFyIGZhQm9va09wZW5SZWFkZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9vay1vcGVuLXJlYWRlcicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYm9vay1yZWFkZXJcIl0sIFwiZjVkYVwiLCBcIk0xNjAgOTZhOTYgOTYgMCAxIDEgMTkyIDBBOTYgOTYgMCAxIDEgMTYwIDk2em04MCAxNTJWNTEybC00OC40LTI0LjJjLTIwLjktMTAuNC00My41LTE3LTY2LjgtMTkuM2wtOTYtOS42QzEyLjUgNDU3LjIgMCA0NDMuNSAwIDQyN1YyMjRjMC0xNy43IDE0LjMtMzIgMzItMzJINjIuM2M2My42IDAgMTI1LjYgMTkuNiAxNzcuNyA1NnptMzIgMjY0VjI0OGM1Mi4xLTM2LjQgMTE0LjEtNTYgMTc3LjctNTZINDgwYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjQyN2MwIDE2LjQtMTIuNSAzMC4yLTI4LjggMzEuOGwtOTYgOS42Yy0yMy4yIDIuMy00NS45IDguOS02Ni44IDE5LjNMMjcyIDUxMnpcIl1cbn07XG52YXIgZmFCb29rUmVhZGVyID0gZmFCb29rT3BlblJlYWRlcjtcbnZhciBmYU1vdW50YWluU3VuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vdW50YWluLXN1bicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUyZlwiLCBcIk01NjAgMTYwQTgwIDgwIDAgMSAwIDU2MCAwYTgwIDgwIDAgMSAwIDAgMTYwek01NS45IDUxMkgzODEuMWg3NUg1NzguOWMzMy44IDAgNjEuMS0yNy40IDYxLjEtNjEuMWMwLTExLjItMy4xLTIyLjItOC45LTMxLjhsLTEzMi0yMTYuM0M0OTUgMTk2LjEgNDg3LjggMTkyIDQ4MCAxOTJzLTE1IDQuMS0xOS4xIDEwLjdsLTQ4LjIgNzlMMjg2LjggODFjLTYuNi0xMC42LTE4LjMtMTctMzAuOC0xN3MtMjQuMSA2LjQtMzAuOCAxN0w4LjYgNDI2LjRDMyA0MzUuMyAwIDQ0NS42IDAgNDU2LjFDMCA0ODcgMjUgNTEyIDU1LjkgNTEyelwiXVxufTtcbnZhciBmYUFycm93c0xlZnRSaWdodFRvTGluZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3MtbGVmdC1yaWdodC10by1saW5lJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGJhXCIsIFwiTTMyIDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjk2QzAgNzguMyAxNC4zIDY0IDMyIDY0em0yMTQuNiA3My40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zTDIwNS4zIDIyNGwyMjkuNSAwLTQxLjQtNDEuNGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGw5NiA5NmMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtOTYgOTZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDQzNC43IDI4OGwtMjI5LjUgMCA0MS40IDQxLjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBsLTk2LTk2Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2w5Ni05NmMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHpNNjQwIDk2VjQxNmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyelwiXVxufTtcbnZhciBmYURpY2VEMjAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGljZS1kMjAnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY2Y2ZcIiwgXCJNNDguNyAxMjUuOGw1My4yIDMxLjljNy44IDQuNyAxNy44IDIgMjIuMi01LjlMMjAxLjYgMTIuMWMzLTUuNC0uOS0xMi4xLTcuMS0xMi4xYy0xLjYgMC0zLjIgLjUtNC42IDEuNEw0Ny45IDk4LjhjLTkuNiA2LjYtOS4yIDIwLjkgLjggMjYuOXpNMTYgMTcxLjdWMjk1LjNjMCA4IDEwLjQgMTEgMTQuNyA0LjRsNjAtOTJjNS03LjYgMi42LTE3LjgtNS4yLTIyLjVMNDAuMiAxNThDMjkuNiAxNTEuNiAxNiAxNTkuMyAxNiAxNzEuN3pNMzEwLjQgMTIuMWw3Ny42IDEzOS42YzQuNCA3LjkgMTQuNSAxMC42IDIyLjIgNS45bDUzLjItMzEuOWMxMC02IDEwLjQtMjAuMyAuOC0yNi45TDMyMi4xIDEuNGMtMS40LS45LTMtMS40LTQuNi0xLjRjLTYuMiAwLTEwLjEgNi43LTcuMSAxMi4xek00OTYgMTcxLjdjMC0xMi40LTEzLjYtMjAuMS0yNC4yLTEzLjdsLTQ1LjMgMjcuMmMtNy44IDQuNy0xMC4xIDE0LjktNS4yIDIyLjVsNjAgOTJjNC4zIDYuNyAxNC43IDMuNiAxNC43LTQuNFYxNzEuN3ptLTQ5LjMgMjQ2TDI4Ni4xIDQzNi42Yy04LjEgLjktMTQuMSA3LjgtMTQuMSAxNS45djUyLjhjMCAzLjcgMyA2LjggNi44IDYuOGMuOCAwIDEuNi0uMSAyLjQtLjRsMTcyLjctNjRjNi4xLTIuMiAxMC4xLTggMTAuMS0xNC41YzAtOS4zLTguMS0xNi41LTE3LjMtMTUuNHpNMjMzLjIgNTEyYzMuNyAwIDYuOC0zIDYuOC02LjhWNDUyLjZjMC04LjEtNi4xLTE0LjktMTQuMS0xNS45bC0xNjAuNi0xOWMtOS4yLTEuMS0xNy4zIDYuMS0xNy4zIDE1LjRjMCA2LjUgNCAxMi4zIDEwLjEgMTQuNWwxNzIuNyA2NGMuOCAuMyAxLjYgLjQgMi40IC40ek00MS43IDM4Mi45bDE3MC45IDIwLjJjNy44IC45IDEzLjQtNy41IDkuNS0xNC4zbC04NS43LTE1MGMtNS45LTEwLjQtMjAuNy0xMC44LTI3LjMtLjhMMzAuMiAzNTguMmMtNi41IDkuOS0uMyAyMy4zIDExLjUgMjQuN3ptNDM5LjYtMjQuOEw0MDIuOSAyMzguMWMtNi41LTEwLTIxLjQtOS42LTI3LjMgLjhMMjkwLjIgMzg4LjVjLTMuOSA2LjggMS42IDE1LjIgOS41IDE0LjNsMTcwLjEtMjBjMTEuOC0xLjQgMTgtMTQuNyAxMS41LTI0LjZ6bS0yMTYuOSAxMWw3OC40LTEzNy4yYzYuMS0xMC43LTEuNi0yMy45LTEzLjktMjMuOUgxODMuMWMtMTIuMyAwLTIwIDEzLjMtMTMuOSAyMy45bDc4LjQgMTM3LjJjMy43IDYuNCAxMyA2LjQgMTYuNyAwek0xNzQuNCAxNzZIMzM3LjZjMTIuMiAwIDE5LjktMTMuMSAxNC0yMy44bC04MC0xNDRjLTIuOC01LjEtOC4yLTguMi0xNC04LjJoLTMuMmMtNS44IDAtMTEuMiAzLjItMTQgOC4ybC04MCAxNDRjLTUuOSAxMC43IDEuOCAyMy44IDE0IDIzLjh6XCJdXG59O1xudmFyIGZhVHJ1Y2tEcm9wbGV0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RydWNrLWRyb3BsZXQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1OGNcIiwgXCJNMCA0OEMwIDIxLjUgMjEuNSAwIDQ4IDBIMzY4YzI2LjUgMCA0OCAyMS41IDQ4IDQ4Vjk2aDUwLjdjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMNTg5LjMgMTkyYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNWMjU2djMyIDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDU3NmMwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05NkgyNTZjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjQ4ek00MTYgMjU2SDU0NFYyMzcuM0w0NjYuNyAxNjBINDE2djk2ek0xNjAgNDY0YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptMzY4LTQ4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTIwOCAyNzJjMzkuOCAwIDcyLTI5LjYgNzItNjZjMC0yNy0zOS40LTgyLjktNTkuOS0xMTAuM2MtNi4xLTguMi0xOC4xLTguMi0yNC4yIDBDMTc1LjQgMTIzIDEzNiAxNzkgMTM2IDIwNmMwIDM2LjUgMzIuMiA2NiA3MiA2NnpcIl1cbn07XG52YXIgZmFGaWxlQ2lyY2xlWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1jaXJjbGUteG1hcmsnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1YTFcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBIMjI0VjEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMkgzODR2MzguNkMzMTAuMSAyMTkuNSAyNTYgMjg3LjQgMjU2IDM2OGMwIDU5LjEgMjkuMSAxMTEuMyA3My43IDE0My4zYy0zLjIgLjUtNi40IC43LTkuNyAuN0g2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWNjR6bTM4NCA2NEgyNTZWMEwzODQgMTI4em00OCA5NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTU5LjMgMTA3LjNjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZzLTE2LjQtNi4yLTIyLjYgMEw0MzIgMzQ1LjRsLTM2LjctMzYuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNkw0MDkuNCAzNjhsLTM2LjcgMzYuN2MtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwTDQzMiAzOTAuNmwzNi43IDM2LjdjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42TDQ1NC42IDM2OGwzNi43LTM2Ljd6XCJdXG59O1xudmFyIGZhVGVtcGVyYXR1cmVBcnJvd1VwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RlbXBlcmF0dXJlLWFycm93LXVwJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJ0ZW1wZXJhdHVyZS11cFwiXSwgXCJlMDQwXCIsIFwiTTEyOCAxMTJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OFYyNzYuNWMwIDE3LjMgNy4xIDMxLjkgMTUuMyA0Mi41QzI0OS44IDMzMi42IDI1NiAzNDkuNSAyNTYgMzY4YzAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwYzAtMTguNSA2LjItMzUuNCAxNi43LTQ4LjljOC4yLTEwLjYgMTUuMy0yNS4yIDE1LjMtNDIuNVYxMTJ6TTE3NiAwQzExNC4xIDAgNjQgNTAuMSA2NCAxMTJWMjc2LjRjMCAuMS0uMSAuMy0uMiAuNmMtLjIgLjYtLjggMS42LTEuNyAyLjhDNDMuMiAzMDQuMiAzMiAzMzQuOCAzMiAzNjhjMCA3OS41IDY0LjUgMTQ0IDE0NCAxNDRzMTQ0LTY0LjUgMTQ0LTE0NGMwLTMzLjItMTEuMi02My44LTMwLjEtODguMWMtLjktMS4yLTEuNS0yLjItMS43LTIuOGMtLjEtLjMtLjItLjUtLjItLjZWMTEyQzI4OCA1MC4xIDIzNy45IDAgMTc2IDB6bTAgNDE2YzI2LjUgMCA0OC0yMS41IDQ4LTQ4YzAtMjAuOS0xMy40LTM4LjctMzItNDUuM1YxMTJjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZWMzIyLjdjLTE4LjYgNi42LTMyIDI0LjQtMzIgNDUuM2MwIDI2LjUgMjEuNSA0OCA0OCA0OHpNNDgwIDE2MGgzMmMxMi45IDAgMjQuNi03LjggMjkuNi0xOS44czIuMi0yNS43LTYuOS0zNC45bC02NC02NGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTY0IDY0Yy05LjIgOS4yLTExLjkgMjIuOS02LjkgMzQuOXMxNi42IDE5LjggMjkuNiAxOS44aDMyVjQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjE2MHpcIl1cbn07XG52YXIgZmFUZW1wZXJhdHVyZVVwID0gZmFUZW1wZXJhdHVyZUFycm93VXA7XG52YXIgZmFNZWRhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtZWRhbCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzk0MV0sIFwiZjVhMlwiLCBcIk00LjEgMzguMkMxLjQgMzQuMiAwIDI5LjQgMCAyNC42QzAgMTEgMTEgMCAyNC42IDBIMTMzLjljMTEuMiAwIDIxLjcgNS45IDI3LjQgMTUuNWw2OC41IDExNC4xYy00OC4yIDYuMS05MS4zIDI4LjYtMTIzLjQgNjEuOUw0LjEgMzguMnptNTAzLjcgMEw0MDUuNiAxOTEuNWMtMzIuMS0zMy4zLTc1LjItNTUuOC0xMjMuNC02MS45TDM1MC43IDE1LjVDMzU2LjUgNS45IDM2Ni45IDAgMzc4LjEgMEg0ODcuNEM1MDEgMCA1MTIgMTEgNTEyIDI0LjZjMCA0LjgtMS40IDkuNi00LjEgMTMuNnpNODAgMzM2YTE3NiAxNzYgMCAxIDEgMzUyIDBBMTc2IDE3NiAwIDEgMSA4MCAzMzZ6bTE4NC40LTk0LjljLTMuNC03LTEzLjMtNy0xNi44IDBsLTIyLjQgNDUuNGMtMS40IDIuOC00IDQuNy03IDUuMUwxNjggMjk4LjljLTcuNyAxLjEtMTAuNyAxMC41LTUuMiAxNmwzNi4zIDM1LjRjMi4yIDIuMiAzLjIgNS4yIDIuNyA4LjNsLTguNiA0OS45Yy0xLjMgNy42IDYuNyAxMy41IDEzLjYgOS45bDQ0LjgtMjMuNmMyLjctMS40IDYtMS40IDguNyAwbDQ0LjggMjMuNmM2LjkgMy42IDE0LjktMi4yIDEzLjYtOS45bC04LjYtNDkuOWMtLjUtMyAuNS02LjEgMi43LTguM2wzNi4zLTM1LjRjNS42LTUuNCAyLjUtMTQuOC01LjItMTZsLTUwLjEtNy4zYy0zLS40LTUuNy0yLjQtNy01LjFsLTIyLjQtNDUuNHpcIl1cbn07XG52YXIgZmFCZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmVkJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NzE2XSwgXCJmMjM2XCIsIFwiTTMyIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjMyMEgyODhWMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMySDU0NGM1MyAwIDk2IDQzIDk2IDk2VjQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY0MTZIMzUyIDMyMCA2NHYzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMnptMTQ0IDk2YTgwIDgwIDAgMSAxIDAgMTYwIDgwIDgwIDAgMSAxIDAtMTYwelwiXVxufTtcbnZhciBmYVNxdWFyZUggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLWgnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImgtc3F1YXJlXCJdLCBcImYwZmRcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzg0YzM1LjMgMCA2NC0yOC43IDY0LTY0Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0ek0zMzYgMTUyVjI1NiAzNjBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWMjgwSDE2MGwwIDgwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMjA4YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR2ODBIMjg4VjE1MmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0elwiXVxufTtcbnZhciBmYUhTcXVhcmUgPSBmYVNxdWFyZUg7XG52YXIgZmFQb2RjYXN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BvZGNhc3QnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYyY2VcIiwgXCJNMzE5LjQgMzcyYzQ4LjUtMzEuMyA4MC42LTg1LjkgODAuNi0xNDhjMC05Ny4yLTc4LjgtMTc2LTE3Ni0xNzZTNDggMTI2LjggNDggMjI0YzAgNjIuMSAzMi4xIDExNi42IDgwLjYgMTQ4YzEuMiAxNy4zIDQgMzggNy4yIDU3LjFsLjIgMUM1NiAzOTUuOCAwIDMxNi41IDAgMjI0QzAgMTAwLjMgMTAwLjMgMCAyMjQgMFM0NDggMTAwLjMgNDQ4IDIyNGMwIDkyLjUtNTYgMTcxLjktMTM2IDIwNi4xbC4yLTEuMWMzLjEtMTkuMiA2LTM5LjggNy4yLTU3em0tMi4zLTM4LjFjLTEuNi01LjctMy45LTExLjEtNy0xNi4yYy01LjgtOS43LTEzLjUtMTctMjEuOS0yMi40YzE5LjUtMTcuNiAzMS44LTQzIDMxLjgtNzEuM2MwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmMwIDI4LjMgMTIuMyA1My44IDMxLjggNzEuM2MtOC40IDUuNC0xNi4xIDEyLjctMjEuOSAyMi40Yy0zLjEgNS4xLTUuNCAxMC41LTcgMTYuMkM5OS44IDMwNy41IDgwIDI2OCA4MCAyMjRjMC03OS41IDY0LjUtMTQ0IDE0NC0xNDRzMTQ0IDY0LjUgMTQ0IDE0NGMwIDQ0LTE5LjggODMuNS01MC45IDEwOS45ek0yMjQgMzEyYzMyLjkgMCA2NCA4LjYgNjQgNDMuOGMwIDMzLTEyLjkgMTA0LjEtMjAuNiAxMzIuOWMtNS4xIDE5LTI0LjUgMjMuNC00My40IDIzLjRzLTM4LjItNC40LTQzLjQtMjMuNGMtNy44LTI4LjUtMjAuNi05OS43LTIwLjYtMTMyLjhjMC0zNS4xIDMxLjEtNDMuOCA2NC00My44em0wLTE0NGE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnpcIl1cbn07XG52YXIgZmFUZW1wZXJhdHVyZUZ1bGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGVtcGVyYXR1cmUtZnVsbCcsXG4gIGljb246IFszMjAsIDUxMiwgW1widGVtcGVyYXR1cmUtNFwiLCBcInRoZXJtb21ldGVyLTRcIiwgXCJ0aGVybW9tZXRlci1mdWxsXCJdLCBcImYyYzdcIiwgXCJNMTYwIDY0Yy0yNi41IDAtNDggMjEuNS00OCA0OFYyNzYuNWMwIDE3LjMtNy4xIDMxLjktMTUuMyA0Mi41Qzg2LjIgMzMyLjYgODAgMzQ5LjUgODAgMzY4YzAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC0xOC41LTYuMi0zNS40LTE2LjctNDguOWMtOC4yLTEwLjYtMTUuMy0yNS4yLTE1LjMtNDIuNVYxMTJjMC0yNi41LTIxLjUtNDgtNDgtNDh6TTQ4IDExMkM0OCA1MC4yIDk4LjEgMCAxNjAgMHMxMTIgNTAuMSAxMTIgMTEyVjI3Ni41YzAgLjEgLjEgLjMgLjIgLjZjLjIgLjYgLjggMS42IDEuNyAyLjhjMTguOSAyNC40IDMwLjEgNTUgMzAuMSA4OC4xYzAgNzkuNS02NC41IDE0NC0xNDQgMTQ0UzE2IDQ0Ny41IDE2IDM2OGMwLTMzLjIgMTEuMi02My44IDMwLjEtODguMWMuOS0xLjIgMS41LTIuMiAxLjctMi44Yy4xLS4zIC4yLS41IC4yLS42VjExMnpNMjA4IDM2OGMwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNWMTEyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZWMzIyLjdjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zelwiXVxufTtcbnZhciBmYVRlbXBlcmF0dXJlNCA9IGZhVGVtcGVyYXR1cmVGdWxsO1xudmFyIGZhVGhlcm1vbWV0ZXI0ID0gZmFUZW1wZXJhdHVyZUZ1bGw7XG52YXIgZmFUaGVybW9tZXRlckZ1bGwgPSBmYVRlbXBlcmF0dXJlRnVsbDtcbnZhciBmYUJlbGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmVsbCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODI3NiwgNjE2MDJdLCBcImYwZjNcIiwgXCJNMjI0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyVjUxLjJDMTE5IDY2IDY0IDEzMC42IDY0IDIwOHYxOC44YzAgNDctMTcuMyA5Mi40LTQ4LjUgMTI3LjZsLTcuNCA4LjNjLTguNCA5LjQtMTAuNCAyMi45LTUuMyAzNC40UzE5LjQgNDE2IDMyIDQxNkg0MTZjMTIuNiAwIDI0LTcuNCAyOS4yLTE4LjlzMy4xLTI1LTUuMy0zNC40bC03LjQtOC4zQzQwMS4zIDMxOS4yIDM4NCAyNzMuOSAzODQgMjI2LjhWMjA4YzAtNzcuNC01NS0xNDItMTI4LTE1Ni44VjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyem00NS4zIDQ5My4zYzEyLTEyIDE4LjctMjguMyAxOC43LTQ1LjNIMjI0IDE2MGMwIDE3IDYuNyAzMy4zIDE4LjcgNDUuM3MyOC4zIDE4LjcgNDUuMyAxOC43czMzLjMtNi43IDQ1LjMtMTguN3pcIl1cbn07XG52YXIgZmFTdXBlcnNjcmlwdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdXBlcnNjcmlwdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjEyYlwiLCBcIk00ODAgMzJjMC0xMS4xLTUuNy0yMS40LTE1LjItMjcuMnMtMjEuMi02LjQtMzEuMS0xLjRsLTMyIDE2Yy0xNS44IDcuOS0yMi4yIDI3LjEtMTQuMyA0Mi45QzM5MyA3My41IDQwNC4zIDgwIDQxNiA4MHY4MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmgzMiAzMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMlYzMnpNMzIgNjRDMTQuMyA2NCAwIDc4LjMgMCA5NnMxNC4zIDMyIDMyIDMySDQ3LjNsODkuNiAxMjhMNDcuMyAzODRIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINjRjMTAuNCAwIDIwLjItNS4xIDI2LjItMTMuNkwxNzYgMzExLjhsODUuOCAxMjIuNmM2IDguNiAxNS44IDEzLjYgMjYuMiAxMy42aDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDMwNC43TDIxNS4xIDI1Nmw4OS42LTEyOEgzMjBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMjg4Yy0xMC40IDAtMjAuMiA1LjEtMjYuMiAxMy42TDE3NiAyMDAuMiA5MC4yIDc3LjZDODQuMiA2OS4xIDc0LjQgNjQgNjQgNjRIMzJ6XCJdXG59O1xudmFyIGZhUGx1Z0NpcmNsZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsdWctY2lyY2xlLXhtYXJrJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTYwXCIsIFwiTTk2IDBDNzguMyAwIDY0IDE0LjMgNjQgMzJ2OTZoNjRWMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6TTI4OCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnY5Nmg2NFYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMzIgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMydjMyYzAgNzcuNCA1NSAxNDIgMTI4IDE1Ni44VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjQxMi44YzEyLjMtMi41IDI0LjEtNi40IDM1LjEtMTEuNWMtMi4xLTEwLjgtMy4xLTIxLjktMy4xLTMzLjNjMC04MC4zIDUzLjgtMTQ4IDEyNy4zLTE2OS4yYy41LTIuMiAuNy00LjUgLjctNi44YzAtMTcuNy0xNC4zLTMyLTMyLTMySDMyek00MzIgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptNTkuMy0xODAuN0w0NTQuNiAzNjhsMzYuNyAzNi43YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBMNDMyIDM5MC42bC0zNi43IDM2LjdjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZMNDA5LjQgMzY4bC0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMEw0MzIgMzQ1LjRsMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnpcIl1cbn07XG52YXIgZmFTdGFyT2ZMaWZlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0YXItb2YtbGlmZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjYyMVwiLCBcIk0yMDggMzJjMC0xNy43IDE0LjMtMzIgMzItMzJoMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJWMTcyLjlsMTIyLTcwLjRjMTUuMy04LjggMzQuOS0zLjYgNDMuNyAxMS43bDE2IDI3LjdjOC44IDE1LjMgMy42IDM0LjktMTEuNyA0My43TDM1MiAyNTZsMTIyIDcwLjRjMTUuMyA4LjggMjAuNSAyOC40IDExLjcgNDMuN2wtMTYgMjcuN2MtOC44IDE1LjMtMjguNCAyMC42LTQzLjcgMTEuN0wzMDQgMzM5LjFWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMySDI0MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMzM5LjFMODYgNDA5LjZjLTE1LjMgOC44LTM0LjkgMy42LTQzLjctMTEuN2wtMTYtMjcuN2MtOC44LTE1LjMtMy42LTM0LjkgMTEuNy00My43TDE2MCAyNTYgMzggMTg1LjZjLTE1LjMtOC44LTIwLjUtMjguNC0xMS43LTQzLjdsMTYtMjcuN0M1MS4xIDk4LjggNzAuNyA5My42IDg2IDEwMi40bDEyMiA3MC40VjMyelwiXVxufTtcbnZhciBmYVBob25lU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGhvbmUtc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImYzZGRcIiwgXCJNNjAxLjIgNS4xYzEwLjQtOC4yIDI1LjUtNi4zIDMzLjcgNC4xczYuMyAyNS41LTQuMSAzMy43bC01OTIgNDY0Yy0xMC40IDguMi0yNS41IDYuMy0zMy43LTQuMXMtNi4zLTI1LjUgNC4xLTMzLjdsMTU1LjYtMTIyQzEwMS44IDI3MCA2NCAxNzEuNCA2NCA2NGMwLTE4IDEyLjEtMzMuOCAyOS41LTM4LjZsODgtMjRjMTkuNC01LjMgMzkuNyA0LjYgNDcuNCAyMy4ybDQwIDk2YzYuOCAxNi4zIDIuMSAzNS4yLTExLjYgNDYuM0wyMDggMjA3LjNjMTIgMjUuNSAyNy4yIDQ5LjIgNDUgNzAuN0w2MDEuMiA1LjF6TTIzNC4zIDQxNS42bDkxLjMtNzJjMTMuNyA5LjEgMjggMTcuMyA0MyAyNC4zTDQwOSAzMTguN2MxMS4yLTEzLjcgMzAtMTguNCA0Ni4zLTExLjZsOTYgNDBjMTguNiA3LjcgMjguNSAyOCAyMy4yIDQ3LjRsLTI0IDg4QzU0NS44IDQ5OS45IDUzMCA1MTIgNTEyIDUxMmMtMTA0LjkgMC0yMDEuMy0zNi0yNzcuNy05Ni40elwiXVxufTtcbnZhciBmYVBhaW50Um9sbGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BhaW50LXJvbGxlcicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjVhYVwiLCBcIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEgzNTJjMzUuMyAwIDY0IDI4LjcgNjQgNjR2NjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjY0ek0xNjAgMzUyYzAtMTcuNyAxNC4zLTMyIDMyLTMyVjMwNGMwLTQ0LjIgMzUuOC04MCA4MC04MEg0MTZjMTcuNyAwIDMyLTE0LjMgMzItMzJWMTYwIDY5LjVjMzcuMyAxMy4yIDY0IDQ4LjcgNjQgOTAuNXYzMmMwIDUzLTQzIDk2LTk2IDk2SDI3MmMtOC44IDAtMTYgNy4yLTE2IDE2djE2YzE3LjcgMCAzMiAxNC4zIDMyIDMyVjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMkgxOTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjM1MnpcIl1cbn07XG52YXIgZmFIYW5kc2hha2VBbmdsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kc2hha2UtYW5nbGUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImhhbmRzLWhlbHBpbmdcIl0sIFwiZjRjNFwiLCBcIk01NDQgMjQ4djMuM2w2OS43LTY5LjdjMjEuOS0yMS45IDIxLjktNTcuMyAwLTc5LjJMNTM1LjYgMjQuNGMtMjEuOS0yMS45LTU3LjMtMjEuOS03OS4yIDBMNDE2LjMgNjQuNWMtMi43LS4zLTUuNS0uNS04LjMtLjVIMjk2Yy0zNy4xIDAtNjcuNiAyOC03MS42IDY0SDIyNFYyNDhjMCAyMi4xIDE3LjkgNDAgNDAgNDBzNDAtMTcuOSA0MC00MFYxNzZjMCAwIDAtLjEgMC0uMVYxNjBsMTYgMCAxMzYgMGMwIDAgMCAwIC4xIDBINDY0YzQ0LjIgMCA4MCAzNS44IDgwIDgwdjh6TTMzNiAxOTJ2NTZjMCAzOS44LTMyLjIgNzItNzIgNzJzLTcyLTMyLjItNzItNzJWMTI5LjRjLTM1LjkgNi4yLTY1LjggMzIuMy03NiA2OC4yTDk5LjUgMjU1LjIgMjYuMyAzMjguNGMtMjEuOSAyMS45LTIxLjkgNTcuMyAwIDc5LjJsNzguMSA3OC4xYzIxLjkgMjEuOSA1Ny4zIDIxLjkgNzkuMiAwbDM3LjctMzcuN2MuOSAwIDEuOCAuMSAyLjcgLjFIMzg0YzI2LjUgMCA0OC0yMS41IDQ4LTQ4YzAtNS42LTEtMTEtMi43LTE2SDQzMmMyNi41IDAgNDgtMjEuNSA0OC00OGMwLTEyLjgtNS0yNC40LTEzLjItMzNjMjUuNy01IDQ1LjEtMjcuNiA0NS4yLTU0Ljh2LS40Yy0uMS0zMC44LTI1LjEtNTUuOC01Ni01NS44YzAgMCAwIDAgMCAwbC0xMjAgMHpcIl1cbn07XG52YXIgZmFIYW5kc0hlbHBpbmcgPSBmYUhhbmRzaGFrZUFuZ2xlO1xudmFyIGZhTG9jYXRpb25Eb3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbG9jYXRpb24tZG90JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXCJtYXAtbWFya2VyLWFsdFwiXSwgXCJmM2M1XCIsIFwiTTIxNS43IDQ5OS4yQzI2NyA0MzUgMzg0IDI3OS40IDM4NCAxOTJDMzg0IDg2IDI5OCAwIDE5MiAwUzAgODYgMCAxOTJjMCA4Ny40IDExNyAyNDMgMTY4LjMgMzA3LjJjMTIuMyAxNS4zIDM1LjEgMTUuMyA0Ny40IDB6TTE5MiAxMjhhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6XCJdXG59O1xudmFyIGZhTWFwTWFya2VyQWx0ID0gZmFMb2NhdGlvbkRvdDtcbnZhciBmYUZpbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZScsXG4gIGljb246IFszODQsIDUxMiwgWzEyODE5NiwgMTI4NDU5LCA2MTQ2Ml0sIFwiZjE1YlwiLCBcIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEgyMjRWMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMySDM4NFY0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjY0em0zODQgNjRIMjU2VjBMMzg0IDEyOHpcIl1cbn07XG52YXIgZmFHcmVhdGVyVGhhbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdncmVhdGVyLXRoYW4nLFxuICBpY29uOiBbMzg0LCA1MTIsIFs2Mjc2OV0sIFwiM2VcIiwgXCJNMy40IDgxLjdjLTcuOSAxNS44LTEuNSAzNSAxNC4zIDQyLjlMMjgwLjUgMjU2IDE3LjcgMzg3LjRDMS45IDM5NS4zLTQuNSA0MTQuNSAzLjQgNDMwLjNzMjcuMSAyMi4yIDQyLjkgMTQuM2wzMjAtMTYwYzEwLjgtNS40IDE3LjctMTYuNSAxNy43LTI4LjZzLTYuOC0yMy4yLTE3LjctMjguNmwtMzIwLTE2MGMtMTUuOC03LjktMzUtMS41LTQyLjkgMTQuM3pcIl1cbn07XG52YXIgZmFQZXJzb25Td2ltbWluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tc3dpbW1pbmcnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjc5NDYsIFwic3dpbW1lclwiXSwgXCJmNWM0XCIsIFwiTTMwOS41IDE3OC40TDQ0Ny45IDI5Ny4xYy0xLjYgLjktMy4yIDItNC44IDNjLTE4IDEyLjQtNDAuMSAyMC4zLTU5LjIgMjAuM2MtMTkuNiAwLTQwLjgtNy43LTU5LjItMjAuM2MtMjIuMS0xNS41LTUxLjYtMTUuNS03My43IDBjLTE3LjEgMTEuOC0zOCAyMC4zLTU5LjIgMjAuM2MtMTAuMSAwLTIxLjEtMi4yLTMxLjktNi4yQzE2My4xIDE5My4yIDI2Mi4yIDk2IDM4NCA5Nmg2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzODRjLTI2LjkgMC01Mi4zIDYuNi03NC41IDE4LjR6TTE2MCAxNjBBNjQgNjQgMCAxIDEgMzIgMTYwYTY0IDY0IDAgMSAxIDEyOCAwek0zMDYuNSAzMjUuOUMzMjkgMzQxLjQgMzU2LjUgMzUyIDM4NCAzNTJjMjYuOSAwIDU1LjQtMTAuOCA3Ny40LTI2LjFsMCAwYzExLjktOC41IDI4LjEtNy44IDM5LjIgMS43YzE0LjQgMTEuOSAzMi41IDIxIDUwLjYgMjUuMmMxNy4yIDQgMjcuOSAyMS4yIDIzLjkgMzguNHMtMjEuMiAyNy45LTM4LjQgMjMuOWMtMjQuNS01LjctNDQuOS0xNi41LTU4LjItMjVDNDQ5LjUgNDA1LjcgNDE3IDQxNiAzODQgNDE2Yy0zMS45IDAtNjAuNi05LjktODAuNC0xOC45Yy01LjgtMi43LTExLjEtNS4zLTE1LjYtNy43Yy00LjUgMi40LTkuNyA1LjEtMTUuNiA3LjdjLTE5LjggOS00OC41IDE4LjktODAuNCAxOC45Yy0zMyAwLTY1LjUtMTAuMy05NC41LTI1LjhjLTEzLjQgOC40LTMzLjcgMTkuMy01OC4yIDI1Yy0xNy4yIDQtMzQuNC02LjctMzguNC0yMy45czYuNy0zNC40IDIzLjktMzguNGMxOC4xLTQuMiAzNi4yLTEzLjMgNTAuNi0yNS4yYzExLjEtOS40IDI3LjMtMTAuMSAzOS4yLTEuN2wwIDBDMTM2LjcgMzQxLjIgMTY1LjEgMzUyIDE5MiAzNTJjMjcuNSAwIDU1LTEwLjYgNzcuNS0yNi4xYzExLjEtNy45IDI1LjktNy45IDM3IDB6XCJdXG59O1xudmFyIGZhU3dpbW1lciA9IGZhUGVyc29uU3dpbW1pbmc7XG52YXIgZmFBcnJvd0Rvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctZG93bicsXG4gIGljb246IFszODQsIDUxMiwgWzg1OTVdLCBcImYwNjNcIiwgXCJNMTY5LjQgNDcwLjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTYwLTE2MGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwyMjQgMzcwLjggMjI0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMzA2LjdMNTQuNiAyNjUuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTYwIDE2MHpcIl1cbn07XG52YXIgZmFEcm9wbGV0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Ryb3BsZXQnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjgxNjcsIFwidGludFwiXSwgXCJmMDQzXCIsIFwiTTE5MiA1MTJDODYgNTEyIDAgNDI2IDAgMzIwQzAgMjI4LjggMTMwLjIgNTcuNyAxNjYuNiAxMS43QzE3Mi42IDQuMiAxODEuNSAwIDE5MS4xIDBoMS44YzkuNiAwIDE4LjUgNC4yIDI0LjUgMTEuN0MyNTMuOCA1Ny43IDM4NCAyMjguOCAzODQgMzIwYzAgMTA2LTg2IDE5Mi0xOTIgMTkyek05NiAzMzZjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZjMCA2MS45IDUwLjEgMTEyIDExMiAxMTJjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZjLTQ0LjIgMC04MC0zNS44LTgwLTgwelwiXVxufTtcbnZhciBmYVRpbnQgPSBmYURyb3BsZXQ7XG52YXIgZmFFcmFzZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZXJhc2VyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMTJkXCIsIFwiTTI5MC43IDU3LjRMNTcuNCAyOTAuN2MtMjUgMjUtMjUgNjUuNSAwIDkwLjVsODAgODBjMTIgMTIgMjguMyAxOC43IDQ1LjMgMTguN0gyODhoOS40SDUxMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzODcuOUw1MTguNiAyODUuM2MyNS0yNSAyNS02NS41IDAtOTAuNUwzODEuMyA1Ny40Yy0yNS0yNS02NS41LTI1LTkwLjUgMHpNMjk3LjQgNDE2SDI4OGwtMTA1LjQgMC04MC04MEwyMjcuMyAyMTEuMyAzNjQuNyAzNDguNyAyOTcuNCA0MTZ6XCJdXG59O1xudmFyIGZhRWFydGhBbWVyaWNhcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdlYXJ0aC1hbWVyaWNhcycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzc1OCwgXCJlYXJ0aFwiLCBcImVhcnRoLWFtZXJpY2FcIiwgXCJnbG9iZS1hbWVyaWNhc1wiXSwgXCJmNTdkXCIsIFwiTTU3LjcgMTkzbDkuNCAxNi40YzguMyAxNC41IDIxLjkgMjUuMiAzOCAyOS44TDE2MyAyNTUuN2MxNy4yIDQuOSAyOSAyMC42IDI5IDM4LjV2MzkuOWMwIDExIDYuMiAyMSAxNiAyNS45czE2IDE0LjkgMTYgMjUuOXYzOWMwIDE1LjYgMTQuOSAyNi45IDI5LjkgMjIuNmMxNi4xLTQuNiAyOC42LTE3LjUgMzIuNy0zMy44bDIuOC0xMS4yYzQuMi0xNi45IDE1LjItMzEuNCAzMC4zLTQwbDguMS00LjZjMTUtOC41IDI0LjItMjQuNSAyNC4yLTQxLjd2LTguM2MwLTEyLjctNS4xLTI0LjktMTQuMS0zMy45bC0zLjktMy45Yy05LTktMjEuMi0xNC4xLTMzLjktMTQuMUgyNTdjLTExLjEgMC0yMi4xLTIuOS0zMS44LTguNGwtMzQuNS0xOS43Yy00LjMtMi41LTcuNi02LjUtOS4yLTExLjJjLTMuMi05LjYgMS4xLTIwIDEwLjItMjQuNWw1LjktM2M2LjYtMy4zIDE0LjMtMy45IDIxLjMtMS41bDIzLjIgNy43YzguMiAyLjcgMTcuMi0uNCAyMS45LTcuNWM0LjctNyA0LjItMTYuMy0xLjItMjIuOGwtMTMuNi0xNi4zYy0xMC0xMi05LjktMjkuNSAuMy00MS4zbDE1LjctMTguM2M4LjgtMTAuMyAxMC4yLTI1IDMuNS0zNi43bC0yLjQtNC4yYy0zLjUtLjItNi45LS4zLTEwLjQtLjNDMTYzLjEgNDggODQuNCAxMDguOSA1Ny43IDE5M3pNNDY0IDI1NmMwLTM2LjgtOS42LTcxLjQtMjYuNC0xMDEuNUw0MTIgMTY0LjhjLTE1LjcgNi4zLTIzLjggMjMuOC0xOC41IDM5LjhsMTYuOSA1MC43YzMuNSAxMC40IDEyIDE4LjMgMjIuNiAyMC45bDI5LjEgNy4zYzEuMi05IDEuOC0xOC4yIDEuOC0yNy41ek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6XCJdXG59O1xudmFyIGZhRWFydGggPSBmYUVhcnRoQW1lcmljYXM7XG52YXIgZmFFYXJ0aEFtZXJpY2EgPSBmYUVhcnRoQW1lcmljYXM7XG52YXIgZmFHbG9iZUFtZXJpY2FzID0gZmFFYXJ0aEFtZXJpY2FzO1xudmFyIGZhUGVyc29uQnVyc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWJ1cnN0JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTNiXCIsIFwiTTQ4MCA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bS04IDM4NFYzNTJoMTZWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMjU2LjlsMjguNiA0Ny41YzkuMSAxNS4xIDI4LjggMjAgNDMuOSAxMC45czIwLTI4LjggMTAuOS00My45bC01OC4zLTk3Yy0xNy40LTI4LjktNDguNi00Ni42LTgyLjMtNDYuNkg0NjUuMWMtMzMuNyAwLTY0LjkgMTcuNy04Mi4zIDQ2LjZsLTU4LjMgOTdjLTkuMSAxNS4xLTQuMiAzNC44IDEwLjkgNDMuOXMzNC44IDQuMiA0My45LTEwLjlMNDA4IDI1Ni45VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyek0xOTAuOSAxOC4xQzE4OC40IDEyIDE4Mi42IDggMTc2IDhzLTEyLjQgNC0xNC45IDEwLjFsLTI5LjQgNzRMNTUuNiA2OC45Yy02LjMtMS45LTEzLjEgLjItMTcuMiA1LjNzLTQuNiAxMi4yLTEuNCAxNy45bDM5LjUgNjkuMUwxMC45IDIwNi40Yy01LjQgMy43LTggMTAuMy02LjUgMTYuN3M2LjcgMTEuMiAxMy4xIDEyLjJsNzguNyAxMi4yTDkwLjYgMzI3Yy0uNSA2LjUgMy4xIDEyLjcgOSAxNS41czEyLjkgMS44IDE3LjgtMi42TDE3NiAyODYuMWw1OC42IDUzLjljNC44IDQuNCAxMS45IDUuNSAxNy44IDIuNnM5LjUtOSA5LTE1LjVsLTUuNi03OS40IDUwLjUtNy44IDI0LjMtNDAuNS01NS4yLTM4TDMxNSA5Mi4yYzMuMy01LjcgMi43LTEyLjgtMS40LTE3LjlzLTEwLjktNy4yLTE3LjItNS4zTDIyMC4zIDkyLjFsLTI5LjQtNzR6XCJdXG59O1xudmFyIGZhRG92ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkb3ZlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MzMwXSwgXCJmNGJhXCIsIFwiTTE2MC44IDk2LjVjMTQgMTcgMzEgMzAuOSA0OS41IDQyLjJjMjUuOSAxNS44IDUzLjcgMjUuOSA3Ny43IDMxLjZWMTM4LjhDMjY1LjggMTA4LjUgMjUwIDcxLjUgMjQ4LjYgMjhjLS40LTExLjMtNy41LTIxLjUtMTguNC0yNC40Yy03LjYtMi0xNS44LS4yLTIxIDUuOGMtMTMuMyAxNS40LTMyLjcgNDQuNi00OC40IDg3LjJ6TTMyMCAxNDR2MzAuNmwwIDB2MS4zbDAgMCAwIDMyLjFjLTYwLjgtNS4xLTE4NS00My44LTIxOS4zLTE1Ny4yQzk3LjQgNDAgODcuOSAzMiA3Ni42IDMyYy03LjkgMC0xNS4zIDMuOS0xOC44IDExQzQ2LjggNjUuOSAzMiAxMTIuMSAzMiAxNzZjMCAxMTYuOSA4MC4xIDE4MC41IDExOC40IDIwMi44TDExLjggNDE2LjZDNi43IDQxOCAyLjYgNDIxLjggLjkgNDI2LjhzLS44IDEwLjYgMi4zIDE0LjhDMjEuNyA0NjYuMiA3Ny4zIDUxMiAxNjAgNTEyYzMuNiAwIDcuMi0xLjIgMTAtMy41TDI0NS42IDQ0OEgzMjBjODguNCAwIDE2MC03MS42IDE2MC0xNjBWMTI4bDI5LjktNDQuOWMxLjMtMiAyLjEtNC40IDIuMS02LjhjMC02LjgtNS41LTEyLjMtMTIuMy0xMi4zSDQwMGMtNDQuMiAwLTgwIDM1LjgtODAgODB6bTgwLTE2YTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnpcIl1cbn07XG52YXIgZmFCYXR0ZXJ5RW1wdHkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmF0dGVyeS1lbXB0eScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiYmF0dGVyeS0wXCJdLCBcImYyNDRcIiwgXCJNODAgMTYwYy04LjggMC0xNiA3LjItMTYgMTZWMzM2YzAgOC44IDcuMiAxNiAxNiAxNkg0NjRjOC44IDAgMTYtNy4yIDE2LTE2VjE3NmMwLTguOC03LjItMTYtMTYtMTZIODB6TTAgMTc2YzAtNDQuMiAzNS44LTgwIDgwLTgwSDQ2NGM0NC4yIDAgODAgMzUuOCA4MCA4MHYxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnY2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnYxNmMwIDQ0LjItMzUuOCA4MC04MCA4MEg4MGMtNDQuMiAwLTgwLTM1LjgtODAtODBWMTc2elwiXVxufTtcbnZhciBmYUJhdHRlcnkwID0gZmFCYXR0ZXJ5RW1wdHk7XG52YXIgZmFTb2NrcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzb2NrcycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyOTUxMF0sIFwiZjY5NlwiLCBcIk0xNzUuMiA0NzYuNmMtOS43LTE4LTE1LjItMzguNy0xNS4yLTYwLjZjMC00MC4zIDE5LTc4LjIgNTEuMi0xMDIuNGw2NC00OGM4LjEtNiAxMi44LTE1LjUgMTIuOC0yNS42Vjk2SDEyOFYyNDBjMCAyMC4xLTkuNSAzOS4xLTI1LjYgNTEuMmwtNjQgNDhDMTQuMiAzNTcuMyAwIDM4NS44IDAgNDE2YzAgNTMgNDMgOTYgOTYgOTZjMjAuOCAwIDQxLTYuNyA1Ny42LTE5LjJsMjEuNi0xNi4yek0xMjggNjRIMjg4VjQ4YzAtMTQuNSAzLjktMjguMiAxMC43LTM5LjlDMjkxIDMgMjgxLjkgMCAyNzIgMEgxNzZjLTI2LjUgMC00OCAyMS41LTQ4IDQ4VjY0ek0zMjAgOTZWMjQwYzAgMjAuMS05LjUgMzkuMS0yNS42IDUxLjJsLTY0IDQ4QzIwNi4yIDM1Ny4zIDE5MiAzODUuOCAxOTIgNDE2YzAgNTMgNDMgOTYgOTYgOTZjMjAuOCAwIDQxLTYuNyA1Ny42LTE5LjJsMTE1LjItODYuNEM0OTMgMzgyLjIgNTEyIDM0NC4zIDUxMiAzMDRWOTZIMzIwek01MTIgNjRWNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhIMzY4Yy0yNi41IDAtNDggMjEuNS00OCA0OFY2NEg1MTJ6XCJdXG59O1xudmFyIGZhSW5ib3ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaW5ib3gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYwMWNcIiwgXCJNMTIxIDMyQzkxLjYgMzIgNjYgNTIgNTguOSA4MC41TDEuOSAzMDguNEMuNiAzMTMuNSAwIDMxOC43IDAgMzIzLjlWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NFYzMjMuOWMwLTUuMi0uNi0xMC40LTEuOS0xNS41bC01Ny0yMjcuOUM0NDYgNTIgNDIwLjQgMzIgMzkxIDMySDEyMXptMCA2NEgzOTFsNDggMTkySDM4Ny44Yy0xMi4xIDAtMjMuMiA2LjgtMjguNiAxNy43bC0xNC4zIDI4LjZjLTUuNCAxMC44LTE2LjUgMTcuNy0yOC42IDE3LjdIMTk1LjhjLTEyLjEgMC0yMy4yLTYuOC0yOC42LTE3LjdsLTE0LjMtMjguNmMtNS40LTEwLjgtMTYuNS0xNy43LTI4LjYtMTcuN0g3M0wxMjEgOTZ6XCJdXG59O1xudmFyIGZhU2VjdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzZWN0aW9uJyxcbiAgaWNvbjogWzI1NiwgNTEyLCBbXSwgXCJlNDQ3XCIsIFwiTTY0LjkgOTZDNjcuMSA4NC40IDczLjcgNzYuMiA4NiA3MC42YzEzLjgtNi4yIDM0LjgtOC45IDYxLjItNC41YzguOCAxLjQgMzYuMSA3LjEgNDQuMSA5LjNjMTcgNC44IDM0LjctNS4xIDM5LjUtMjIuMnMtNS4xLTM0LjctMjIuMi0zOS41Yy0xMS4xLTMuMS00MS05LjItNTAuOS0xMC44QzEyMy0yLjcgODguMy0uNiA1OS43IDEyLjNDMjkuOSAyNS44IDcuNSA1MC45IDEuNiA4Ni41Yy0uMSAuNS0uMiAxLjEtLjIgMS42Yy0yLjIgMTkuNyAuMyAzNy45IDguMSA1NC4xYzcuNyAxNi4xIDE5LjQgMjggMzIgMzYuOWMuNiAuNSAxLjMgLjkgMiAxLjRDMjIuMyAxOTQuMiA2LjUgMjE1LjEgMS43IDI0M2MtLjEgLjYtLjIgMS4xLS4yIDEuN2MtMi4zIDE5LjMgLjQgMzcuMSA4LjQgNTNjNy45IDE1LjYgMTkuOCAyNyAzMi4zIDM1LjVjMjIuNCAxNS4yIDUxLjkgMjQgNzUuNCAzMWwwIDAgMy43IDEuMWMyNy4yIDguMiA0Ni45IDE0LjYgNTkuNCAyMy44YzUuNSA0IDguMiA3LjYgOS41IDEwLjljMS4zIDMuMiAyLjYgOC42IC45IDE4LjFjLTEuNyAxMC4xLTcuNyAxOC0yMC43IDIzLjVjLTE0IDYtMzUuNCA4LjUtNjIgNC40Yy0xMi44LTIuMS0zNS4xLTkuNy01NC4xLTE2LjJsMCAwYy00LjMtMS41LTguNS0yLjktMTIuMy00LjJDMjUuMyA0MjAgNy4yIDQyOS4xIDEuNiA0NDUuOHMzLjUgMzQuOSAyMC4zIDQwLjVjMi42IC44IDUuNyAxLjkgOS4yIDMuMWMxOC42IDYuMyA0OC41IDE2LjYgNjcuMyAxOS42bDAgMCAuMiAwYzM0LjUgNS40IDY4LjggMy40IDk3LjItOC43YzI5LjQtMTIuNiA1Mi41LTM2LjUgNTguNS03MS41YzMuMy0xOS4zIDEuOS0zNy40LTUtNTMuOWMtNi4zLTE1LTE2LjQtMjYuNC0yNy42LTM1LjJjMTYuNS0xMy45IDI4LjUtMzMuMiAzMi42LTU4LjJjMy4yLTE5LjggMS45LTM4LjMtNC44LTU1LjFjLTYuNy0xNi44LTE3LjgtMjkuNC0zMC4yLTM5Yy0yMi44LTE3LjYtNTMuNi0yNy40LTc3LjctMzVsLTEuNC0uNWMtMjcuNC04LjctNDcuOC0xNS4zLTYxLjUtMjVjLTYuMS00LjQtOS41LTguNS0xMS40LTEyLjRjLTEuOC0zLjctMy4yLTkuMy0yLjMtMTguNXptNzYuNyAyMDguNWMtLjItLjEtLjQtLjEtLjYtLjJsLTEuNC0uNGMtMjcuNC04LjItNDcuOS0xNC41LTYxLjctMjMuOGMtNi4yLTQuMi05LjMtNy45LTExLTExLjNjLTEuNS0zLTIuOS03LjctMi4xLTE1LjdjMS45LTkuNyA3LjktMTcuMyAyMC41LTIyLjdjMTQtNiAzNS40LTguNSA2Mi4xLTQuM2wxNi40IDIuNmM2LjMgMi45IDExLjcgNiAxNi4yIDkuNWM1LjUgNC4yIDguNCA4LjIgMTAgMTIuMmMxLjYgNCAyLjggMTAuNCAxLjEgMjAuOWMtMi40IDE0LjctMTIuOCAyNi40LTM3LjEgMzFsLTEyLjQgMi4zelwiXVxufTtcbnZhciBmYUdhdWdlSGlnaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnYXVnZS1oaWdoJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjI0NjEsIFwidGFjaG9tZXRlci1hbHRcIiwgXCJ0YWNob21ldGVyLWFsdC1mYXN0XCJdLCBcImY2MjVcIiwgXCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2ek0yODggOTZhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMjU2IDQxNmMzNS4zIDAgNjQtMjguNyA2NC02NGMwLTE3LjQtNi45LTMzLjEtMTguMS00NC42TDM2NiAxNjEuN2M1LjMtMTIuMS0uMi0yNi4zLTEyLjMtMzEuNnMtMjYuMyAuMi0zMS42IDEyLjNMMjU3LjkgMjg4Yy0uNiAwLTEuMyAwLTEuOSAwYy0zNS4zIDAtNjQgMjguNy02NCA2NHMyOC43IDY0IDY0IDY0ek0xNzYgMTQ0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTk2IDI4OGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTM1Mi0zMmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwelwiXVxufTtcbnZhciBmYVRhY2hvbWV0ZXJBbHQgPSBmYUdhdWdlSGlnaDtcbnZhciBmYVRhY2hvbWV0ZXJBbHRGYXN0ID0gZmFHYXVnZUhpZ2g7XG52YXIgZmFFbnZlbG9wZU9wZW5UZXh0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2VudmVsb3BlLW9wZW4tdGV4dCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjY1OFwiLCBcIk0yMTUuNCA5NkgxNDQgMTA3LjggOTZ2OC44VjE0NHY0MC40IDg5TC4yIDIwMi41YzEuNi0xOC4xIDEwLjktMzQuOSAyNS43LTQ1LjhMNDggMTQwLjNWOTZjMC0yNi41IDIxLjUtNDggNDgtNDhoNzYuNmw0OS45LTM2LjlDMjMyLjIgMy45IDI0My45IDAgMjU2IDBzMjMuOCAzLjkgMzMuNSAxMUwzMzkuNCA0OEg0MTZjMjYuNSAwIDQ4IDIxLjUgNDggNDh2NDQuM2wyMi4xIDE2LjRjMTQuOCAxMC45IDI0LjEgMjcuNyAyNS43IDQ1LjhMNDE2IDI3My40di04OVYxNDQgMTA0LjggOTZINDA0LjIgMzY4IDI5Ni42IDIxNS40ek0wIDQ0OFYyNDIuMUwyMTcuNiA0MDMuM2MxMS4xIDguMiAyNC42IDEyLjcgMzguNCAxMi43czI3LjMtNC40IDM4LjQtMTIuN0w1MTIgMjQyLjFWNDQ4djBjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0djB6TTE3NiAxNjBIMzM2YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDE3NmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnptMCA2NEgzMzZjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMTc2Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2elwiXVxufTtcbnZhciBmYUhvc3BpdGFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvc3BpdGFsJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI3OTczLCA2MjU4OSwgXCJob3NwaXRhbC1hbHRcIiwgXCJob3NwaXRhbC13aWRlXCJdLCBcImYwZjhcIiwgXCJNMTkyIDQ4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4SDQwMGMyNi41IDAgNDggMjEuNSA0OCA0OFY1MTJIMzY4VjQzMmMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OHY4MEgxOTJWNDh6TTQ4IDk2SDE2MFY1MTJINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjMyMEg4MGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgwVjIyNEg4MGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkgwVjE0NGMwLTI2LjUgMjEuNS00OCA0OC00OHptNTQ0IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDh2NDhINTYwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2aDgwdjY0SDU2MGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmg4MFY0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhINDgwVjk2SDU5MnpNMzEyIDY0Yy04LjggMC0xNiA3LjItMTYgMTZ2MjRIMjcyYy04LjggMC0xNiA3LjItMTYgMTZ2MTZjMCA4LjggNy4yIDE2IDE2IDE2aDI0djI0YzAgOC44IDcuMiAxNiAxNiAxNmgxNmM4LjggMCAxNi03LjIgMTYtMTZWMTUyaDI0YzguOCAwIDE2LTcuMiAxNi0xNlYxMjBjMC04LjgtNy4yLTE2LTE2LTE2SDM0NFY4MGMwLTguOC03LjItMTYtMTYtMTZIMzEyelwiXVxufTtcbnZhciBmYUhvc3BpdGFsQWx0ID0gZmFIb3NwaXRhbDtcbnZhciBmYUhvc3BpdGFsV2lkZSA9IGZhSG9zcGl0YWw7XG52YXIgZmFXaW5lQm90dGxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dpbmUtYm90dGxlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNzJmXCIsIFwiTTM5My40IDkuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGw2NCA2NGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2MtMTEuOCAxMS44LTMwLjcgMTIuNS00My4yIDEuOWwtOS41IDkuNS00OC44IDQ4LjhjLTkuMiA5LjItMTEuNSAyMi45LTguNiAzNS42YzkuNCA0MC45LTEuOSA4NS42LTMzLjggMTE3LjVMMTk3LjMgNDkzLjNjLTI1IDI1LTY1LjUgMjUtOTAuNSAwbC04OC04OGMtMjUtMjUtMjUtNjUuNSAwLTkwLjVMMTgwLjIgMTUzLjNjMzEuOS0zMS45IDc2LjYtNDMuMSAxMTcuNS0zMy44YzEyLjYgMi45IDI2LjQgLjUgMzUuNS04LjZsNDguOC00OC44IDkuNS05LjVjLTEwLjYtMTIuNi0xMC0zMS40IDEuOS00My4yek05OS4zIDM0Ny4zbDY1LjQgNjUuNGM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGw5Ny40LTk3LjRjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZsLTY1LjQtNjUuNGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBMOTkuMyAzMjQuN2MtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZ6XCJdXG59O1xudmFyIGZhQ2hlc3NSb29rID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZXNzLXJvb2snLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5ODIwXSwgXCJmNDQ3XCIsIFwiTTMyIDE5MlY0OGMwLTguOCA3LjItMTYgMTYtMTZoNjRjOC44IDAgMTYgNy4yIDE2IDE2Vjg4YzAgNC40IDMuNiA4IDggOGgzMmM0LjQgMCA4LTMuNiA4LThWNDhjMC04LjggNy4yLTE2IDE2LTE2aDY0YzguOCAwIDE2IDcuMiAxNiAxNlY4OGMwIDQuNCAzLjYgOCA4IDhoMzJjNC40IDAgOC0zLjYgOC04VjQ4YzAtOC44IDcuMi0xNiAxNi0xNmg2NGM4LjggMCAxNiA3LjIgMTYgMTZWMTkyYzAgMTAuMS00LjcgMTkuNi0xMi44IDI1LjZMMzUyIDI1NmwxNiAxNDRIODBMOTYgMjU2IDQ0LjggMjE3LjZDMzYuNyAyMTEuNiAzMiAyMDIuMSAzMiAxOTJ6bTE3NiA5NmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMjI0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMydjQ4YzAgOC44IDcuMiAxNiAxNiAxNnpNMjIuNiA0NzMuNEw2NCA0MzJIMzg0bDQxLjQgNDEuNGM0LjIgNC4yIDYuNiAxMCA2LjYgMTZjMCAxMi41LTEwLjEgMjIuNi0yMi42IDIyLjZIMzguNkMyNi4xIDUxMiAxNiA1MDEuOSAxNiA0ODkuNGMwLTYgMi40LTExLjggNi42LTE2elwiXVxufTtcbnZhciBmYUJhcnNTdGFnZ2VyZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFycy1zdGFnZ2VyZWQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInJlb3JkZXJcIiwgXCJzdHJlYW1cIl0sIFwiZjU1MFwiLCBcIk0wIDk2QzAgNzguMyAxNC4zIDY0IDMyIDY0SDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMkMxNC4zIDEyOCAwIDExMy43IDAgOTZ6TTY0IDI1NmMwLTE3LjcgMTQuMy0zMiAzMi0zMkg0ODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek00NDggNDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnpcIl1cbn07XG52YXIgZmFSZW9yZGVyID0gZmFCYXJzU3RhZ2dlcmVkO1xudmFyIGZhU3RyZWFtID0gZmFCYXJzU3RhZ2dlcmVkO1xudmFyIGZhRGhhcm1hY2hha3JhID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RoYXJtYWNoYWtyYScsXG4gIGljb246IFs1MTIsIDUxMiwgWzk3ODRdLCBcImY2NTVcIiwgXCJNMzM3LjggMjA1LjdsNDguNi00Mi41YzEzLjggMTkuMyAyMy40IDQxLjkgMjcuNCA2Ni4ybC02NC40IDQuM2MtMi40LTEwLjEtNi40LTE5LjUtMTEuNi0yOHptMTQwLjEgMTkuNWMtNS4zLTM4LjgtMjAuNi03NC41LTQzLjItMTA0LjNsLjgtLjdDNDQ5IDEwOC40IDQ0OS43IDg3LjYgNDM3IDc1cy0zMy40LTEyLTQ1LjIgMS41bC0uNyAuOGMtMjkuOC0yMi42LTY1LjUtMzcuOS0xMDQuMy00My4ybC4xLTEuMWMxLjItMTcuOS0xMy0zMy0zMC45LTMzcy0zMi4xIDE1LjItMzAuOSAzM2wuMSAxLjFjLTM4LjggNS4zLTc0LjUgMjAuNi0xMDQuMyA0My4ybC0uNy0uOEMxMDguNCA2MyA4Ny42IDYyLjMgNzUgNzVzLTEyIDMzLjQgMS41IDQ1LjJsLjggLjdjLTIyLjYgMjkuOC0zNy45IDY1LjUtNDMuMiAxMDQuM2wtMS4xLS4xYy0xNy45LTEuMi0zMyAxMy0zMyAzMC45czE1LjIgMzIuMSAzMyAzMC45bDEuMS0uMWM1LjMgMzguOCAyMC42IDc0LjUgNDMuMiAxMDQuM2wtLjggLjdDNjMgNDAzLjYgNjIuMyA0MjQuNCA3NSA0MzdzMzMuNCAxMiA0NS4yLTEuNWwuNy0uOGMyOS44IDIyLjYgNjUuNSAzNy45IDEwNC4zIDQzLjJsLS4xIDEuMWMtMS4yIDE3LjkgMTMgMzMgMzAuOSAzM3MzMi4xLTE1LjIgMzAuOS0zM2wtLjEtMS4xYzM4LjgtNS4zIDc0LjUtMjAuNiAxMDQuMy00My4ybC43IC44YzExLjggMTMuNSAzMi41IDE0LjIgNDUuMiAxLjVzMTItMzMuNC0xLjUtNDUuMmwtLjgtLjdjMjIuNi0yOS44IDM3LjktNjUuNSA0My4yLTEwNC4zbDEuMSAuMWMxNy45IDEuMiAzMy0xMyAzMy0zMC45cy0xNS4yLTMyLjEtMzMtMzAuOWwtMS4xIC4xek0xNjMuMiAxMjUuNmMxOS4zLTEzLjggNDEuOS0yMy40IDY2LjItMjcuNWw0LjMgNjQuNGMtMTAgMi40LTE5LjUgNi40LTI4IDExLjZsLTQyLjUtNDguNnptLTY1IDEwMy44YzQuMS0yNC40IDEzLjctNDYuOSAyNy41LTY2LjJsNDguNiA0Mi41Yy01LjMgOC41LTkuMiAxOC0xMS42IDI4bC02NC40LTQuM3ptMjcuNSAxMTkuNGMtMTMuOC0xOS4zLTIzLjQtNDEuOS0yNy41LTY2LjJsNjQuNC00LjNjMi40IDEwIDYuNCAxOS41IDExLjYgMjhsLTQ4LjYgNDIuNXptMTAzLjggNjVjLTI0LjQtNC4xLTQ2LjktMTMuNy02Ni4yLTI3LjRsNDIuNS00OC42YzguNSA1LjMgMTggOS4yIDI4IDExLjZsLTQuMyA2NC40em0xMTkuNC0yNy40Yy0xOS4zIDEzLjgtNDEuOSAyMy40LTY2LjIgMjcuNGwtNC4zLTY0LjRjMTAtMi40IDE5LjUtNi40IDI4LTExLjZsNDIuNSA0OC42em02NS0xMDMuOGMtNC4xIDI0LjQtMTMuNyA0Ni45LTI3LjQgNjYuMmwtNDguNi00Mi41YzUuMy04LjUgOS4yLTE4IDExLjYtMjhsNjQuNCA0LjN6bS02NS0xNTYuOWwtNDIuNSA0OC42Yy04LjUtNS4zLTE4LTkuMi0yOC0xMS42bDQuMy02NC40YzI0LjQgNC4xIDQ2LjkgMTMuNyA2Ni4yIDI3LjV6TTI1NiAyMjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbnZhciBmYUhvdGRvZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3Rkb2cnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc3ODldLCBcImY4MGZcIiwgXCJNNDg4LjYgMjMuNGMzMS4yIDMxLjIgMzEuMiA4MS45IDAgMTEzLjFsLTM1MiAzNTJjLTMxLjIgMzEuMi04MS45IDMxLjItMTEzLjEgMHMtMzEuMi04MS45IDAtMTEzLjFsMzUyLTM1MmMzMS4yLTMxLjIgODEuOS0zMS4yIDExMy4xIDB6TTQ0My4zIDkyLjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwYy0xMi41IDEyLjUtMjMuOCAxNS4xLTM3LjUgMTcuNmwtMi41IC40Yy0xMy44IDIuNS0zMS42IDUuNi00OCAyMmMtMTYuNyAxNi43LTIwLjkgMzYtMjQuMSA1MC45bDAgMHYwbC0uMiAxYy0zLjQgMTUuNi02IDI2LjQtMTUuNyAzNi4xcy0yMC41IDEyLjMtMzYuMSAxNS43bC0xIC4yYy0xNC45IDMuMi0zNC4yIDcuNC01MC45IDI0LjFzLTIwLjkgMzYtMjQuMSA1MC45bC0uMiAxYy0zLjQgMTUuNi02IDI2LjQtMTUuNyAzNi4xYy05LjIgOS4yLTE4IDEwLjgtMzIuNyAxMy40bDAgMC0uOSAuMmMtMTUuNiAyLjgtMzQuOSA2LjktNTQuNCAyNi40Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBjMTIuNS0xMi41IDIzLjgtMTUuMSAzNy41LTE3LjZsMi41LS40YzEzLjgtMi41IDMxLjYtNS42IDQ4LTIyYzE2LjctMTYuNyAyMC45LTM2IDI0LjEtNTAuOWwuMi0xYzMuNC0xNS42IDYtMjYuNCAxNS43LTM2LjFzMjAuNS0xMi4zIDM2LjEtMTUuN2wxLS4yYzE0LjktMy4yIDM0LjItNy40IDUwLjktMjQuMXMyMC45LTM2IDI0LjEtNTAuOWwuMi0xYzMuNC0xNS42IDYtMjYuNCAxNS43LTM2LjFjOS4yLTkuMiAxOC0xMC44IDMyLjctMTMuNGwuOS0uMmMxNS42LTIuOCAzNC45LTYuOSA1NC40LTI2LjRjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZ6TTE5MS4yIDQ3OS4ybDI4OC0yODhMNDk1IDIwN2MxMC45IDEwLjkgMTcgMjUuNiAxNyA0MXMtNi4xIDMwLjEtMTcgNDFMMjg5IDQ5NWMtMTAuOSAxMC45LTI1LjYgMTctNDEgMTdzLTMwLjEtNi4xLTQxLTE3bC0xNS44LTE1Ljh6TTE3IDMwNUM2LjEgMjk0LjEgMCAyNzkuNCAwIDI2NHM2LjEtMzAuMSAxNy00MUwyMjMgMTdDMjMzLjkgNi4xIDI0OC42IDAgMjY0IDBzMzAuMSA2LjEgNDEgMTdsMTUuOCAxNS44LTI4OCAyODhMMTcgMzA1elwiXVxufTtcbnZhciBmYVBlcnNvbldhbGtpbmdXaXRoQ2FuZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24td2Fsa2luZy13aXRoLWNhbmUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImJsaW5kXCJdLCBcImYyOWRcIiwgXCJNMTc2IDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptLTguNCAzMmMtMzYuNCAwLTY5LjYgMjAuNS04NS45IDUzLjFMMzUuNCAyNzMuN2MtNy45IDE1LjgtMS41IDM1IDE0LjMgNDIuOXMzNSAxLjUgNDIuOS0xNC4zTDEyOCAyMzEuNnY0My4yYzAgMTcgNi43IDMzLjMgMTguNyA0NS4zTDIyNCAzOTcuM1Y0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzOTAuNmMwLTEyLjctNS4xLTI0LjktMTQuMS0zMy45TDIyNCAzMDYuN1YyMTMuM2w3MC40IDkzLjljMTAuNiAxNC4xIDMwLjcgMTcgNDQuOCA2LjRzMTctMzAuNyA2LjQtNDQuOEwyNjguOCAxNjYuNEMyNTAuNyAxNDIuMiAyMjIuMiAxMjggMTkyIDEyOEgxNjcuNnpNMTI4LjMgMzQ2LjhMOTcgNDcyLjJjLTQuMyAxNy4xIDYuMSAzNC41IDIzLjMgMzguOHMzNC41LTYuMSAzOC44LTIzLjNsMjItODguMi01Mi44LTUyLjh6TTQ1MC44IDUwNS4xYzUgNy4zIDE1IDkuMSAyMi4zIDRzOS4xLTE1IDQtMjIuM0wzNTguOSAzMTYuMWMtMi44IDMuOC02LjEgNy4zLTEwLjEgMTAuM2MtNSAzLjgtMTAuNSA2LjQtMTYuMiA3LjlMNDUwLjggNTA1LjF6XCJdXG59O1xudmFyIGZhQmxpbmQgPSBmYVBlcnNvbldhbGtpbmdXaXRoQ2FuZTtcbnZhciBmYURydW0gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZHJ1bScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyOTM0NV0sIFwiZjU2OVwiLCBcIk01MDEuMiA3Ni4xYzExLjEtNy4zIDE0LjItMjIuMSA2LjktMzMuMnMtMjIuMS0xNC4yLTMzLjItNi45TDM3MC4yIDEwNC41QzMzNS44IDk4LjcgMjk3IDk2IDI1NiA5NkMxMTQuNiA5NiAwIDEyOCAwIDIwOFYzNjhjMCAzMS4zIDI3LjQgNTguOCA3MiA3OC43VjM0NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0VjQ2My40YzMzIDguOSA3MS4xIDE0LjUgMTEyIDE2LjFWMzc2YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRWNDc5LjVjNDAuOS0xLjYgNzktNy4yIDExMi0xNi4xVjM0NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0VjQ0Ni43YzQ0LjYtMTkuOSA3Mi00Ny40IDcyLTc4LjdWMjA4YzAtNDEuMS0zMC4yLTY5LjUtNzguOC04Ny40bDY3LjktNDQuNXpNMzA3LjQgMTQ1LjZsLTY0LjYgNDIuM2MtMTEuMSA3LjMtMTQuMiAyMi4xLTYuOSAzMy4yczIyLjEgMTQuMiAzMy4yIDYuOWwxMTEuMS03Mi44YzE0LjcgMy4yIDI3LjkgNyAzOS40IDExLjVDNDU4LjQgMTgxLjggNDY0IDE5Ny40IDQ2NCAyMDhjMCAuOC0yLjcgMTcuMi00NiAzNS45QzM3OS4xIDI2MC43IDMyMiAyNzIgMjU2IDI3MnMtMTIzLjEtMTEuMy0xNjItMjguMUM1MC43IDIyNS4yIDQ4IDIwOC44IDQ4IDIwOGMwLTEwLjYgNS42LTI2LjIgNDQuNC00MS4zQzEzMC42IDE1MS45IDE4Ny44IDE0NCAyNTYgMTQ0YzE4IDAgMzUuMSAuNSA1MS40IDEuNnpcIl1cbn07XG52YXIgZmFJY2VDcmVhbSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdpY2UtY3JlYW0nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjc4NDhdLCBcImY4MTBcIiwgXCJNMzY3LjEgMTYwYy42LTUuMyAuOS0xMC42IC45LTE2QzM2OCA2NC41IDMwMy41IDAgMjI0IDBTODAgNjQuNSA4MCAxNDRjMCA1LjQgLjMgMTAuNyAuOSAxNkg4MGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhzMjEuNSA0OCA0OCA0OGg1My41IDE4MUgzNjhjMjYuNSAwIDQ4LTIxLjUgNDgtNDhzLTIxLjUtNDgtNDgtNDhoLS45ek05NiAyODhMMjAwLjggNDk3LjdjNC40IDguOCAxMy4zIDE0LjMgMjMuMiAxNC4zczE4LjgtNS41IDIzLjItMTQuM0wzNTIgMjg4SDk2elwiXVxufTtcbnZhciBmYUhlYXJ0Q2lyY2xlQm9sdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFydC1jaXJjbGUtYm9sdCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRmY1wiLCBcIk00Ny42IDMwMC40TDIyOC4zIDQ2OS4xYzcuNSA3IDE3LjQgMTAuOSAyNy43IDEwLjlzMjAuMi0zLjkgMjcuNy0xMC45bDIuNi0yLjRDMjY3LjIgNDM4LjYgMjU2IDQwNC42IDI1NiAzNjhjMC05Ny4yIDc4LjgtMTc2IDE3Ni0xNzZjMjguMyAwIDU1IDYuNyA3OC43IDE4LjVjLjktNi41IDEuMy0xMyAxLjMtMTkuNnYtNS44YzAtNjkuOS01MC41LTEyOS41LTExOS40LTE0MUMzNDcgMzYuNSAzMDAuNiA1MS40IDI2OCA4NEwyNTYgOTYgMjQ0IDg0Yy0zMi42LTMyLjYtNzktNDcuNS0xMjQuNi0zOS45QzUwLjUgNTUuNiAwIDExNS4yIDAgMTg1LjF2NS44YzAgNDEuNSAxNy4yIDgxLjIgNDcuNiAxMDkuNXpNNDMyIDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTQ3LjktMjI1YzQuMyAzLjcgNS40IDkuOSAyLjYgMTQuOUw0NTIuNCAzNTZINDg4YzUuMiAwIDkuOCAzLjMgMTEuNCA4LjJzLS4xIDEwLjMtNC4yIDEzLjRsLTk2IDcyYy00LjUgMy40LTEwLjggMy4yLTE1LjEtLjZzLTUuNC05LjktMi42LTE0LjlMNDExLjYgMzgwSDM3NmMtNS4yIDAtOS44LTMuMy0xMS40LTguMnMuMS0xMC4zIDQuMi0xMy40bDk2LTcyYzQuNS0zLjQgMTAuOC0zLjIgMTUuMSAuNnpcIl1cbn07XG52YXIgZmFGYXggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmF4JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MjI0LCAxMjg0MzldLCBcImYxYWNcIiwgXCJNMTI4IDY0djk2aDY0VjY0SDM4Ni43TDQxNiA5My4zVjE2MGg2NFY5My4zYzAtMTctNi43LTMzLjMtMTguNy00NS4zTDQzMiAxOC43QzQyMCA2LjcgNDAzLjcgMCAzODYuNyAwSDE5MmMtMzUuMyAwLTY0IDI4LjctNjQgNjR6TTAgMTYwVjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMkg2NGMxNy43IDAgMzItMTQuMyAzMi0zMlYxNjBjMC0xNy43LTE0LjMtMzItMzItMzJIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem00ODAgMzJIMTI4VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMkg0ODBjMTcuNyAwIDMyLTE0LjMgMzItMzJWMjI0YzAtMTcuNy0xNC4zLTMyLTMyLTMyek0yNTYgMjU2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptOTYgMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMzIgOTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek0yMjQgNDE2YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6XCJdXG59O1xudmFyIGZhUGFyYWdyYXBoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BhcmFncmFwaCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzE4Ml0sIFwiZjFkZFwiLCBcIk0xOTIgMzJoNjRINDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDM4NGwwIDM1MmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTM1MkgyODhWNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjM1MkgxOTJjLTg4LjQgMC0xNjAtNzEuNi0xNjAtMTYwczcxLjYtMTYwIDE2MC0xNjB6XCJdXG59O1xudmFyIGZhQ2hlY2tUb1Nsb3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hlY2stdG8tc2xvdCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1widm90ZS15ZWFcIl0sIFwiZjc3MlwiLCBcIk05NiA4MGMwLTI2LjUgMjEuNS00OCA0OC00OEg0MzJjMjYuNSAwIDQ4IDIxLjUgNDggNDhWMzg0SDk2Vjgwem0zMTMgNDdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC0xMTEgMTExLTQ3LTQ3Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDY0IDY0YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwTDQwOSAxNjFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjl6TTAgMzM2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4SDY0VjQxNkg1MTJWMjg4aDE2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4djk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFYzMzZ6XCJdXG59O1xudmFyIGZhVm90ZVllYSA9IGZhQ2hlY2tUb1Nsb3Q7XG52YXIgZmFTdGFySGFsZiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdGFyLWhhbGYnLFxuICBpY29uOiBbNTc2LCA1MTIsIFs2MTczMV0sIFwiZjA4OVwiLCBcIk0yODggMGMtMTIuMiAuMS0yMy4zIDctMjguNiAxOEwxOTUgMTUwLjMgNTEuNCAxNzEuNWMtMTIgMS44LTIyIDEwLjItMjUuNyAyMS43cy0uNyAyNC4yIDcuOSAzMi43TDEzNy44IDMyOSAxMTMuMiA0NzQuN2MtMiAxMiAzIDI0LjIgMTIuOSAzMS4zczIzIDggMzMuOCAyLjNMMjg4IDQzOS44VjB6TTQyOS45IDUxMmMxLjEgLjEgMi4xIC4xIDMuMiAwaC0zLjJ6XCJdXG59O1xudmFyIGZhQm94ZXNTdGFja2VkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JveGVzLXN0YWNrZWQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFs2MjYyNSwgXCJib3hlc1wiLCBcImJveGVzLWFsdFwiXSwgXCJmNDY4XCIsIFwiTTI0OCAwSDIwOGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhWMTYwYzAgMzUuMyAyOC43IDY0IDY0IDY0SDM1MmMzNS4zIDAgNjQtMjguNyA2NC02NFY0OGMwLTI2LjUtMjEuNS00OC00OC00OEgzMjhWODBjMCA4LjgtNy4yIDE2LTE2IDE2SDI2NGMtOC44IDAtMTYtNy4yLTE2LTE2VjB6TTY0IDI1NmMtMzUuMyAwLTY0IDI4LjctNjQgNjRWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDIyNGMzNS4zIDAgNjQtMjguNyA2NC02NFYzMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRIMTg0djgwYzAgOC44LTcuMiAxNi0xNiAxNkgxMjBjLTguOCAwLTE2LTcuMi0xNi0xNlYyNTZINjR6TTM1MiA1MTJINTEyYzM1LjMgMCA2NC0yOC43IDY0LTY0VjMyMGMwLTM1LjMtMjguNy02NC02NC02NEg0NzJ2ODBjMCA4LjgtNy4yIDE2LTE2IDE2SDQwOGMtOC44IDAtMTYtNy4yLTE2LTE2VjI1NkgzNTJjLTE1IDAtMjguOCA1LjEtMzkuNyAxMy44YzQuOSAxMC40IDcuNyAyMiA3LjcgMzQuMlY0NjRjMCAxMi4yLTIuOCAyMy44LTcuNyAzNC4yQzMyMy4yIDUwNi45IDMzNyA1MTIgMzUyIDUxMnpcIl1cbn07XG52YXIgZmFCb3hlcyA9IGZhQm94ZXNTdGFja2VkO1xudmFyIGZhQm94ZXNBbHQgPSBmYUJveGVzU3RhY2tlZDtcbnZhciBmYUxpbmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGluaycsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODI3OSwgXCJjaGFpblwiXSwgXCJmMGMxXCIsIFwiTTU3OS44IDI2Ny43YzU2LjUtNTYuNSA1Ni41LTE0OCAwLTIwNC41Yy01MC01MC0xMjguOC01Ni41LTE4Ni4zLTE1LjRsLTEuNiAxLjFjLTE0LjQgMTAuMy0xNy43IDMwLjMtNy40IDQ0LjZzMzAuMyAxNy43IDQ0LjYgNy40bDEuNi0xLjFjMzIuMS0yMi45IDc2LTE5LjMgMTAzLjggOC42YzMxLjUgMzEuNSAzMS41IDgyLjUgMCAxMTRMNDIyLjMgMzM0LjhjLTMxLjUgMzEuNS04Mi41IDMxLjUtMTE0IDBjLTI3LjktMjcuOS0zMS41LTcxLjgtOC42LTEwMy44bDEuMS0xLjZjMTAuMy0xNC40IDYuOS0zNC40LTcuNC00NC42cy0zNC40LTYuOS00NC42IDcuNGwtMS4xIDEuNkMyMDYuNSAyNTEuMiAyMTMgMzMwIDI2MyAzODBjNTYuNSA1Ni41IDE0OCA1Ni41IDIwNC41IDBMNTc5LjggMjY3Ljd6TTYwLjIgMjQ0LjNjLTU2LjUgNTYuNS01Ni41IDE0OCAwIDIwNC41YzUwIDUwIDEyOC44IDU2LjUgMTg2LjMgMTUuNGwxLjYtMS4xYzE0LjQtMTAuMyAxNy43LTMwLjMgNy40LTQ0LjZzLTMwLjMtMTcuNy00NC42LTcuNGwtMS42IDEuMWMtMzIuMSAyMi45LTc2IDE5LjMtMTAzLjgtOC42Qzc0IDM3MiA3NCAzMjEgMTA1LjUgMjg5LjVMMjE3LjcgMTc3LjJjMzEuNS0zMS41IDgyLjUtMzEuNSAxMTQgMGMyNy45IDI3LjkgMzEuNSA3MS44IDguNiAxMDMuOWwtMS4xIDEuNmMtMTAuMyAxNC40LTYuOSAzNC40IDcuNCA0NC42czM0LjQgNi45IDQ0LjYtNy40bDEuMS0xLjZDNDMzLjUgMjYwLjggNDI3IDE4MiAzNzcgMTMyYy01Ni41LTU2LjUtMTQ4LTU2LjUtMjA0LjUgMEw2MC4yIDI0NC4zelwiXVxufTtcbnZhciBmYUNoYWluID0gZmFMaW5rO1xudmFyIGZhRWFyTGlzdGVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Vhci1saXN0ZW4nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtc1wiXSwgXCJmMmEyXCIsIFwiTTM5OC4zIDMuNGMtMTUuOC03LjktMzUtMS41LTQyLjkgMTQuM2MtNy45IDE1LjgtMS41IDM0LjkgMTQuMiA0Mi45bC40IC4yYy40IC4yIDEuMSAuNiAyLjEgMS4yYzIgMS4yIDUgMyA4LjcgNS42YzcuNSA1LjIgMTcuNiAxMy4yIDI3LjcgMjQuMkM0MjguNSAxMTMuNCA0NDggMTQ2IDQ0OCAxOTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmMwLTY2LTI4LjUtMTEzLjQtNTYuNS0xNDMuN0M0NDEuNiAzMy4yIDQyNy43IDIyLjIgNDE3LjMgMTVjLTUuMy0zLjctOS43LTYuNC0xMy04LjNjLTEuNi0xLTMtMS43LTQtMi4yYy0uNS0uMy0uOS0uNS0xLjItLjdsLS40LS4yLS4yLS4xLS4xIDAgMCAwYzAgMCAwIDAtMTQuMyAyOC42TDM5OC4zIDMuNHpNMTI4LjcgMjI3LjVjNi4yLTU2IDUzLjctOTkuNSAxMTEuMy05OS41YzYxLjkgMCAxMTIgNTAuMSAxMTIgMTEyYzAgMjkuMy0xMS4yIDU1LjktMjkuNiA3NS45Yy0xNyAxOC40LTM0LjQgNDUuMS0zNC40IDc4VjQwMGMwIDI2LjUtMjEuNSA0OC00OCA0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmM2MS45IDAgMTEyLTUwLjEgMTEyLTExMnYtNi4xYzAtOS44IDUuNC0yMS43IDE3LjQtMzQuN0MzOTguMyAzMjcuOSA0MTYgMjg2IDQxNiAyNDBjMC05Ny4yLTc4LjgtMTc2LTE3Ni0xNzZDMTQ5LjQgNjQgNzQuOCAxMzIuNSA2NS4xIDIyMC41Yy0xLjkgMTcuNiAxMC43IDMzLjQgMjguMyAzNS4zczMzLjQtMTAuNyAzNS4zLTI4LjN6TTMyIDUxMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTE5MiAzNTJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNNDEuNCAzNjEuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtNjQtNjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwek0yMDggMjQwYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0elwiXVxufTtcbnZhciBmYUFzc2lzdGl2ZUxpc3RlbmluZ1N5c3RlbXMgPSBmYUVhckxpc3RlbjtcbnZhciBmYVRyZWVDaXR5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyZWUtY2l0eScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU4N1wiLCBcIk0yODggNDhjMC0yNi41IDIxLjUtNDggNDgtNDhoOTZjMjYuNSAwIDQ4IDIxLjUgNDggNDhWMTkyaDQwVjEyMGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0djcyaDI0YzI2LjUgMCA0OCAyMS41IDQ4IDQ4VjQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0MzIgMzM2Yy0yNi41IDAtNDgtMjEuNS00OC00OFY0OHptNjQgMzJ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlY4MGMwLTguOC03LjItMTYtMTYtMTZIMzY4Yy04LjggMC0xNiA3LjItMTYgMTZ6bTE2IDgwYy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYxNzZjMC04LjgtNy4yLTE2LTE2LTE2SDM2OHpNMzUyIDI3MnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjI3MmMwLTguOC03LjItMTYtMTYtMTZIMzY4Yy04LjggMC0xNiA3LjItMTYgMTZ6bTE3Ni0xNmMtOC44IDAtMTYgNy4yLTE2IDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMjcyYzAtOC44LTcuMi0xNi0xNi0xNkg1Mjh6TTUxMiAzNjh2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYzNjhjMC04LjgtNy4yLTE2LTE2LTE2SDUyOGMtOC44IDAtMTYgNy4yLTE2IDE2ek0yMjQgMTYwYzAgNi0xIDExLTIgMTZjMjAgMTQgMzQgMzggMzQgNjRjMCA0NS0zNiA4MC04MCA4MEgxNjBWNDgwYzAgMTgtMTUgMzItMzIgMzJjLTE4IDAtMzItMTQtMzItMzJWMzIwSDgwYy00NSAwLTgwLTM1LTgwLTgwYzAtMjYgMTMtNTAgMzMtNjRjLTEtNS0xLTEwLTEtMTZjMC01MyA0Mi05NiA5Ni05NmM1MyAwIDk2IDQzIDk2IDk2elwiXVxufTtcbnZhciBmYVBsYXkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGxheScsXG4gIGljb246IFszODQsIDUxMiwgWzk2NTRdLCBcImYwNGJcIiwgXCJNNzMgMzljLTE0LjgtOS4xLTMzLjQtOS40LTQ4LjUtLjlTMCA2Mi42IDAgODBWNDMyYzAgMTcuNCA5LjQgMzMuNCAyNC41IDQxLjlzMzMuNyA4LjEgNDguNS0uOUwzNjEgMjk3YzE0LjMtOC43IDIzLTI0LjIgMjMtNDFzLTguNy0zMi4yLTIzLTQxTDczIDM5elwiXVxufTtcbnZhciBmYUZvbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZm9udCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjAzMVwiLCBcIk0yNTQgNTIuOEMyNDkuMyA0MC4zIDIzNy4zIDMyIDIyNCAzMnMtMjUuMyA4LjMtMzAgMjAuOEw1Ny44IDQxNkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmg5NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmgtMS44bDE4LTQ4SDMwMy44bDE4IDQ4SDMyMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmg5NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzOTAuMkwyNTQgNTIuOHpNMjc5LjggMzA0SDE2OC4yTDIyNCAxNTUuMSAyNzkuOCAzMDR6XCJdXG59O1xudmFyIGZhVGFibGVDZWxsc1Jvd0xvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGFibGUtY2VsbHMtcm93LWxvY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU2N2FcIiwgXCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY1LjFjLTM3LjggNS40LTY5LjQgMjkuNi04NS4yIDYyLjlMMzYwIDIyNGwwIDY0IDU2IDAgMCA4LjZjLTE5LjEgMTEuMS0zMiAzMS43LTMyIDU1LjRsLTI0IDAgMCA2NCAyNCAwIDAgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2ek02NCAyMjRsMCA2NCA4OCAwIDAtNjQtODggMHptMjMyIDBsLTg4IDAgMCA2NCA4OCAwIDAtNjR6TTE1MiAzNTJsLTg4IDAgMCA2NCA4OCAwIDAtNjR6bTU2IDBsMCA2NCA4OCAwIDAtNjQtODggMHpNNTI4IDI0MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA0OCA2NCAwIDAtNDhjMC0xNy43LTE0LjMtMzItMzItMzJ6bS04MCAzMmMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwbDAgNDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE2MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwwLTQ4elwiXVxufTtcbnZhciBmYVJ1cGlhaFNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncnVwaWFoLXNpZ24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImUyM2RcIiwgXCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmg4MGM3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NGMwIDU4LjgtMzUuMiAxMDkuMy04NS43IDEzMS43bDUxLjQgMTI4LjRjNi42IDE2LjQtMS40IDM1LTE3LjggNDEuNnMtMzUtMS40LTQxLjYtMTcuOEwxMDYuMyAzMjBINjRWNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjI4OCA2NHpNNjQgMjU2aDQ4YzQ0LjIgMCA4MC0zNS44IDgwLTgwcy0zNS44LTgwLTgwLTgwSDY0VjI1NnptMjU2LTk2aDgwYzYxLjkgMCAxMTIgNTAuMSAxMTIgMTEycy01MC4xIDExMi0xMTIgMTEySDM1MnY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYzNTIgMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem04MCAxNjBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhzLTIxLjUtNDgtNDgtNDhIMzUydjk2aDQ4elwiXVxufTtcbnZhciBmYU1hZ25pZnlpbmdHbGFzcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYWduaWZ5aW5nLWdsYXNzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MjY5LCBcInNlYXJjaFwiXSwgXCJmMDAyXCIsIFwiTTQxNiAyMDhjMCA0NS45LTE0LjkgODguMy00MCAxMjIuN0w1MDIuNiA0NTcuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwzMzAuNyAzNzZjLTM0LjQgMjUuMi03Ni44IDQwLTEyMi43IDQwQzkzLjEgNDE2IDAgMzIyLjkgMCAyMDhTOTMuMSAwIDIwOCAwUzQxNiA5My4xIDQxNiAyMDh6TTIwOCAzNTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4elwiXVxufTtcbnZhciBmYVNlYXJjaCA9IGZhTWFnbmlmeWluZ0dsYXNzO1xudmFyIGZhVGFibGVUZW5uaXNQYWRkbGVCYWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhYmxlLXRlbm5pcy1wYWRkbGUtYmFsbCcsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyNzk1NSwgXCJwaW5nLXBvbmctcGFkZGxlLWJhbGxcIiwgXCJ0YWJsZS10ZW5uaXNcIl0sIFwiZjQ1ZFwiLCBcIk00ODAgMjg4Yy01MC4xIDAtOTMuNiAyOC44LTExNC42IDcwLjhMMTMyLjkgMTI2LjNsLjYtLjYgNjAuMS02MC4xYzg3LjUtODcuNSAyMjkuMy04Ny41IDMxNi44IDBjNjcuMSA2Ny4xIDgyLjcgMTY2LjMgNDYuOCAyNDguM0M1MzUuOCAyOTcuNiA1MDkgMjg4IDQ4MCAyODh6TTExMy4zIDE1MS45TDM1NC4xIDM5Mi43Yy0xLjQgNy41LTIuMSAxNS4zLTIuMSAyMy4zYzAgMjMuMiA2LjIgNDQuOSAxNi45IDYzLjdjLTMgLjItNi4xIC4zLTkuMiAuM0gzNTdjLTMzLjkgMC02Ni41LTEzLjUtOTAuNS0zNy41bC05LjgtOS44Yy0xMy4xLTEzLjEtMzQuNi0xMi40LTQ2LjggMS43TDE1Mi4yIDUwMWMtNS44IDYuNy0xNC4yIDEwLjctMjMgMTFzLTE3LjUtMy4xLTIzLjgtOS40bC0zMi0zMmMtNi4zLTYuMy05LjctMTQuOS05LjQtMjMuOHM0LjMtMTcuMiAxMS0yM2w2Ni42LTU3LjdjMTQtMTIuMiAxNC44LTMzLjcgMS43LTQ2LjhsLTkuOC05LjhjLTI0LTI0LTM3LjUtNTYuNi0zNy41LTkwLjV2LTIuN2MwLTIyLjggNi4xLTQ0LjkgMTcuMy02NC4zek00ODAgMzIwYTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyelwiXVxufTtcbnZhciBmYVBpbmdQb25nUGFkZGxlQmFsbCA9IGZhVGFibGVUZW5uaXNQYWRkbGVCYWxsO1xudmFyIGZhVGFibGVUZW5uaXMgPSBmYVRhYmxlVGVubmlzUGFkZGxlQmFsbDtcbnZhciBmYVBlcnNvbkRvdHNGcm9tTGluZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tZG90cy1mcm9tLWxpbmUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImRpYWdub3Nlc1wiXSwgXCJmNDcwXCIsIFwiTTI4OCAxNzZBODggODggMCAxIDAgMjg4IDBhODggODggMCAxIDAgMCAxNzZ6TTc4LjcgMzcyLjljMTUtMTIuNSA1MC0zNC40IDk3LjMtNTAuMVY0MzJINDAwVjMyMi43YzQ3LjMgMTUuOCA4Mi4zIDM3LjcgOTcuMyA1MC4xYzIwLjQgMTcgNTAuNiAxNC4yIDY3LjYtNi4xczE0LjItNTAuNi02LjEtNjcuNmMtMTItMTAtMzAuMS0yMi41LTUzLjItMzVDNDk3LjIgMjc4LjQgNDgxLjcgMjg4IDQ2NCAyODhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4YzAtNC4zIC42LTguNCAxLjYtMTIuNEMzNzkuMSAyMTUuOSAzMzUuMyAyMDggMjg4IDIwOGMtNjAuMiAwLTExNC45IDEyLjktMTYwIDI5LjljMCAuNyAwIDEuNCAwIDIuMWMwIDI2LjUtMjEuNSA0OC00OCA0OGMtMTEuOCAwLTIyLjctNC4zLTMxLTExLjRjLTEzLjEgOC4xLTIzLjcgMTUuOS0zMS43IDIyLjVjLTIwLjQgMTctMjMuMSA0Ny4yLTYuMSA2Ny42czQ3LjIgMjMuMSA2Ny42IDYuMXpNMjQgNDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0SDU1MmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEgyNHpNMjI0IDI4MGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem0xMDQgNTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4ek05NiAyNDBhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptMzY4IDE2YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnpcIl1cbn07XG52YXIgZmFEaWFnbm9zZXMgPSBmYVBlcnNvbkRvdHNGcm9tTGluZTtcbnZhciBmYVRyYXNoQ2FuQXJyb3dVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cmFzaC1jYW4tYXJyb3ctdXAnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcInRyYXNoLXJlc3RvcmUtYWx0XCJdLCBcImY4MmFcIiwgXCJNMTYzLjggMEgyODQuMmMxMi4xIDAgMjMuMiA2LjggMjguNiAxNy43TDMyMCAzMmg5NmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMkMxNC4zIDk2IDAgODEuNyAwIDY0UzE0LjMgMzIgMzIgMzJoOTZsNy4yLTE0LjNDMTQwLjYgNi44IDE1MS43IDAgMTYzLjggMHpNMzIgMTI4SDQxNlY0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRIOTZjLTM1LjMgMC02NC0yOC43LTY0LTY0VjEyOHptMTkyIDY0Yy02LjQgMC0xMi41IDIuNS0xNyA3bC04MCA4MGMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDM5LTM5VjQwOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjI3My45bDM5IDM5YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtODAtODBjLTQuNS00LjUtMTAuNi03LTE3LTd6XCJdXG59O1xudmFyIGZhVHJhc2hSZXN0b3JlQWx0ID0gZmFUcmFzaENhbkFycm93VXA7XG52YXIgZmFOYWlyYVNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbmFpcmEtc2lnbicsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTFmNlwiLCBcIk0xMjIuNiA0Ni4zYy03LjgtMTEuNy0yMi40LTE3LTM1LjktMTIuOVM2NCA0OS45IDY0IDY0VjI1NkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg2NFY0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzMjBIMjI4LjJsOTcuMiAxNDUuOGM3LjggMTEuNyAyMi40IDE3IDM1LjkgMTIuOXMyMi43LTE2LjUgMjIuNy0zMC42VjMyMGgzMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzODRWNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWMjU2SDI2Mi41TDEyMi42IDQ2LjN6TTMwNS4xIDMyMEgzMjB2MjIuM0wzMDUuMSAzMjB6TTE4NS41IDI1NkgxMjhWMTY5LjdMMTg1LjUgMjU2elwiXVxufTtcbnZhciBmYUNhcnRBcnJvd0Rvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FydC1hcnJvdy1kb3duJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMjE4XCIsIFwiTTI0IDBDMTAuNyAwIDAgMTAuNyAwIDI0UzEwLjcgNDggMjQgNDhINjkuNWMzLjggMCA3LjEgMi43IDcuOSA2LjVsNTEuNiAyNzFjNi41IDM0IDM2LjIgNTguNSA3MC43IDU4LjVINDg4YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDE5OS43Yy0xMS41IDAtMjEuNC04LjItMjMuNi0xOS41TDE3MC43IDI4OEg0NTkuMmMzMi42IDAgNjEuMS0yMS44IDY5LjUtNTMuM2w0MS0xNTIuM0M1NzYuNiA1NyA1NTcuNCAzMiA1MzEuMSAzMkgzNjBWMTM0LjFsMjMtMjNjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC02NCA2NGMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBsLTY0LTY0Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMjMgMjNWMzJIMTIwLjFDMTExIDEyLjggOTEuNiAwIDY5LjUgMEgyNHpNMTc2IDUxMmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bTMzNi00OGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwelwiXVxufTtcbnZhciBmYVdhbGtpZVRhbGtpZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3YWxraWUtdGFsa2llJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmOGVmXCIsIFwiTTExMiAyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNFM2NCAxMC43IDY0IDI0Vjk2SDQ4QzIxLjUgOTYgMCAxMTcuNSAwIDE0NFYzMDAuMWMwIDEyLjcgNS4xIDI0LjkgMTQuMSAzMy45bDMuOSAzLjljOSA5IDE0LjEgMjEuMiAxNC4xIDMzLjlWNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDMwNGMyNi41IDAgNDgtMjEuNSA0OC00OFYzNzEuOWMwLTEyLjcgNS4xLTI0LjkgMTQuMS0zMy45bDMuOS0zLjljOS05IDE0LjEtMjEuMiAxNC4xLTMzLjlWMTQ0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDMyMGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMkgyMjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJIMTEyVjI0em0wIDEzNkgyNzJjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMTEyYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0wIDY0SDI3MmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgxMTJjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTAgNjRIMjcyYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDExMmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFGaWxlUGVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtcGVuJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4MjIxLCBcImZpbGUtZWRpdFwiXSwgXCJmMzFjXCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwSDIyNFYxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJIMzg0VjI5OS42bC05NC43IDk0LjdjLTguMiA4LjItMTQgMTguNS0xNi44IDI5LjdsLTE1IDYwLjFjLTIuMyA5LjQtMS44IDE5IDEuNCAyNy44SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY2NHptMzg0IDY0SDI1NlYwTDM4NCAxMjh6TTU0OS44IDIzNS43bDE0LjQgMTQuNGMxNS42IDE1LjYgMTUuNiA0MC45IDAgNTYuNmwtMjkuNCAyOS40LTcxLTcxIDI5LjQtMjkuNGMxNS42LTE1LjYgNDAuOS0xNS42IDU2LjYgMHpNMzExLjkgNDE3TDQ0MS4xIDI4Ny44bDcxIDcxTDM4Mi45IDQ4Ny45Yy00LjEgNC4xLTkuMiA3LTE0LjkgOC40bC02MC4xIDE1Yy01LjUgMS40LTExLjItLjItMTUuMi00LjJzLTUuNi05LjctNC4yLTE1LjJsMTUtNjAuMWMxLjQtNS42IDQuMy0xMC44IDguNC0xNC45elwiXVxufTtcbnZhciBmYUZpbGVFZGl0ID0gZmFGaWxlUGVuO1xudmFyIGZhUmVjZWlwdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyZWNlaXB0JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI5NTM0XSwgXCJmNTQzXCIsIFwiTTE0IDIuMkMyMi41LTEuNyAzMi41LS4zIDM5LjYgNS44TDgwIDQwLjQgMTIwLjQgNS44YzktNy43IDIyLjMtNy43IDMxLjIgMEwxOTIgNDAuNCAyMzIuNCA1LjhjOS03LjcgMjIuMy03LjcgMzEuMiAwTDMwNCA0MC40IDM0NC40IDUuOGM3LjEtNi4xIDE3LjEtNy41IDI1LjYtMy42czE0IDEyLjQgMTQgMjEuOFY0ODhjMCA5LjQtNS41IDE3LjktMTQgMjEuOHMtMTguNSAyLjUtMjUuNi0zLjZMMzA0IDQ3MS42bC00MC40IDM0LjZjLTkgNy43LTIyLjMgNy43LTMxLjIgMEwxOTIgNDcxLjZsLTQwLjQgMzQuNmMtOSA3LjctMjIuMyA3LjctMzEuMiAwTDgwIDQ3MS42IDM5LjYgNTA2LjJjLTcuMSA2LjEtMTcuMSA3LjUtMjUuNiAzLjZTMCA0OTcuNCAwIDQ4OFYyNEMwIDE0LjYgNS41IDYuMSAxNCAyLjJ6TTk2IDE0NGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNkgyODhjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIOTZ6TTgwIDM1MmMwIDguOCA3LjIgMTYgMTYgMTZIMjg4YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDk2Yy04LjggMC0xNiA3LjItMTYgMTZ6TTk2IDI0MGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNkgyODhjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIOTZ6XCJdXG59O1xudmFyIGZhU3F1YXJlUGVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1wZW4nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcInBlbi1zcXVhcmVcIiwgXCJwZW5jaWwtc3F1YXJlXCJdLCBcImYxNGJcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzg0YzM1LjMgMCA2NC0yOC43IDY0LTY0Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0ek0zMjUuOCAxMzkuN2wxNC40IDE0LjRjMTUuNiAxNS42IDE1LjYgNDAuOSAwIDU2LjZsLTIxLjQgMjEuNC03MS03MSAyMS40LTIxLjRjMTUuNi0xNS42IDQwLjktMTUuNiA1Ni42IDB6TTExOS45IDI4OUwyMjUuMSAxODMuOGw3MSA3MUwxOTAuOSAzNTkuOWMtNC4xIDQuMS05LjIgNy0xNC45IDguNGwtNjAuMSAxNWMtNS41IDEuNC0xMS4yLS4yLTE1LjItNC4ycy01LjYtOS43LTQuMi0xNS4ybDE1LTYwLjFjMS40LTUuNiA0LjMtMTAuOCA4LjQtMTQuOXpcIl1cbn07XG52YXIgZmFQZW5TcXVhcmUgPSBmYVNxdWFyZVBlbjtcbnZhciBmYVBlbmNpbFNxdWFyZSA9IGZhU3F1YXJlUGVuO1xudmFyIGZhU3VpdGNhc2VSb2xsaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N1aXRjYXNlLXJvbGxpbmcnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImY1YzFcIiwgXCJNMTQ0IDU2YzAtNC40IDMuNi04IDgtOGg4MGM0LjQgMCA4IDMuNiA4IDh2NzJIMTQ0VjU2em0xNzYgNzJIMjg4VjU2YzAtMzAuOS0yNS4xLTU2LTU2LTU2SDE1MkMxMjEuMSAwIDk2IDI1LjEgOTYgNTZ2NzJINjRjLTM1LjMgMC02NCAyOC43LTY0IDY0VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMySDI1NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyYzM1LjMgMCA2NC0yOC43IDY0LTY0VjE5MmMwLTM1LjMtMjguNy02NC02NC02NHpNMTEyIDIyNEgyNzJjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMTEyYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0wIDEyOEgyNzJjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZIMTEyYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2elwiXVxufTtcbnZhciBmYVBlcnNvbkNpcmNsZUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1M2ZcIiwgXCJNMTEyIDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTQwIDMwNFY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMjU2LjlMNTkuNCAzMDQuNWMtOS4xIDE1LjEtMjguOCAyMC00My45IDEwLjlzLTIwLTI4LjgtMTAuOS00My45bDU4LjMtOTdjMTcuNC0yOC45IDQ4LjYtNDYuNiA4Mi4zLTQ2LjZoMjkuN2MzMy43IDAgNjQuOSAxNy43IDgyLjMgNDYuNmw0NC45IDc0LjdjLTE2LjEgMTcuNi0yOC42IDM4LjUtMzYuNiA2MS41Yy0xLjktMS44LTMuNS0zLjktNC45LTYuM0wyMzIgMjU2LjlWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjM1MkgxNTJ6TTQzMiAyMjRhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4em0wIDI0MGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTAtMTkyYy04LjggMC0xNiA3LjItMTYgMTZ2ODBjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlYyODhjMC04LjgtNy4yLTE2LTE2LTE2elwiXVxufTtcbnZhciBmYUNoZXZyb25Eb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZXZyb24tZG93bicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjA3OFwiLCBcIk0yMzMuNCA0MDYuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxOTItMTkyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDI1NiAzMzguNyA4Ni42IDE2OS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxOTIgMTkyelwiXVxufTtcbnZhciBmYUJhdHRlcnlGdWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhdHRlcnktZnVsbCcsXG4gIGljb246IFs1NzYsIDUxMiwgWzEyODI2NywgXCJiYXR0ZXJ5XCIsIFwiYmF0dGVyeS01XCJdLCBcImYyNDBcIiwgXCJNNDY0IDE2MGM4LjggMCAxNiA3LjIgMTYgMTZWMzM2YzAgOC44LTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2VjE3NmMwLTguOCA3LjItMTYgMTYtMTZINDY0ek04MCA5NkMzNS44IDk2IDAgMTMxLjggMCAxNzZWMzM2YzAgNDQuMiAzNS44IDgwIDgwIDgwSDQ2NGM0NC4yIDAgODAtMzUuOCA4MC04MFYzMjBjMTcuNyAwIDMyLTE0LjMgMzItMzJWMjI0YzAtMTcuNy0xNC4zLTMyLTMyLTMyVjE3NmMwLTQ0LjItMzUuOC04MC04MC04MEg4MHptMzY4IDk2SDk2VjMyMEg0NDhWMTkyelwiXVxufTtcbnZhciBmYUJhdHRlcnkgPSBmYUJhdHRlcnlGdWxsO1xudmFyIGZhQmF0dGVyeTUgPSBmYUJhdHRlcnlGdWxsO1xudmFyIGZhU2t1bGxDcm9zc2JvbmVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NrdWxsLWNyb3NzYm9uZXMnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjgzNjksIDk3NjBdLCBcImY3MTRcIiwgXCJNMzY4IDEyOGMwIDQ0LjQtMjUuNCA4My41LTY0IDEwNi40VjI1NmMwIDE3LjctMTQuMyAzMi0zMiAzMkgxNzZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjIzNC40Yy0zOC42LTIzLTY0LTYyLjEtNjQtMTA2LjRDODAgNTcuMyAxNDQuNSAwIDIyNCAwczE0NCA1Ny4zIDE0NCAxMjh6TTE2OCAxNzZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0xNDQtMzJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMy40IDI3My43YzcuOS0xNS44IDI3LjEtMjIuMiA0Mi45LTE0LjNMMjI0IDM0OC4ybDE3Ny43LTg4LjhjMTUuOC03LjkgMzUtMS41IDQyLjkgMTQuM3MxLjUgMzUtMTQuMyA0Mi45TDI5NS42IDM4NGwxMzQuOCA2Ny40YzE1LjggNy45IDIyLjIgMjcuMSAxNC4zIDQyLjlzLTI3LjEgMjIuMi00Mi45IDE0LjNMMjI0IDQxOS44IDQ2LjMgNTA4LjZjLTE1LjggNy45LTM1IDEuNS00Mi45LTE0LjNzLTEuNS0zNSAxNC4zLTQyLjlMMTUyLjQgMzg0IDE3LjcgMzE2LjZDMS45IDMwOC43LTQuNSAyODkuNSAzLjQgMjczLjd6XCJdXG59O1xudmFyIGZhQ29kZUNvbXBhcmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29kZS1jb21wYXJlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMTNhXCIsIFwiTTMyMCA0ODhjMCA5LjUtNS42IDE4LjEtMTQuMiAyMS45cy0xOC44IDIuMy0yNS44LTQuMWwtODAtNzJjLTUuMS00LjYtNy45LTExLTcuOS0xNy44czIuOS0xMy4zIDcuOS0xNy44bDgwLTcyYzctNi4zIDE3LjItNy45IDI1LjgtNC4xczE0LjIgMTIuNCAxNC4yIDIxLjl2NDBoMTZjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTUzLjNDMzcxLjcgMTQxIDM1MiAxMTIuOCAzNTIgODBjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGMwIDMyLjgtMTkuNyA2MS00OCA3My4zVjMyMGMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOEgzMjB2NDB6TTQ1NiA4MGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwek0xOTIgMjRjMC05LjUgNS42LTE4LjEgMTQuMi0yMS45czE4LjgtMi4zIDI1LjggNC4xbDgwIDcyYzUuMSA0LjYgNy45IDExIDcuOSAxNy44cy0yLjkgMTMuMy03LjkgMTcuOGwtODAgNzJjLTcgNi4zLTE3LjIgNy45LTI1LjggNC4xcy0xNC4yLTEyLjQtMTQuMi0yMS45VjEyOEgxNzZjLTM1LjMgMC02NCAyOC43LTY0IDY0VjM1OC43YzI4LjMgMTIuMyA0OCA0MC41IDQ4IDczLjNjMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBjMC0zMi44IDE5LjctNjEgNDgtNzMuM1YxOTJjMC03MC43IDU3LjMtMTI4IDEyOC0xMjhoMTZWMjR6TTU2IDQzMmEyNCAyNCAwIDEgMCA0OCAwIDI0IDI0IDAgMSAwIC00OCAwelwiXVxufTtcbnZhciBmYUxpc3RVbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsaXN0LXVsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJsaXN0LWRvdHNcIl0sIFwiZjBjYVwiLCBcIk02NCAxNDRhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek0xOTIgNjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDE5MnptMCAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDE5MnptMCAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDE5MnpNNjQgNDY0YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptNDgtMjA4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6XCJdXG59O1xudmFyIGZhTGlzdERvdHMgPSBmYUxpc3RVbDtcbnZhciBmYVNjaG9vbExvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2Nob29sLWxvY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NmZcIiwgXCJNMzAyLjIgNS40YzEwLjctNy4yIDI0LjgtNy4yIDM1LjUgMEw0NzMuNyA5Nkg1OTJjMjYuNSAwIDQ4IDIxLjUgNDggNDhWMjcyYzAtNjEuOS01MC4xLTExMi0xMTItMTEycy0xMTIgNTAuMS0xMTIgMTEydjI0LjZjLTE5LjEgMTEuMS0zMiAzMS43LTMyIDU1LjRIMzIwLjNsLS4zIDBjLTM1LjMgMC02NCAyOC43LTY0IDY0djk2aDY0djBINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjE0NGMwLTI2LjUgMjEuNS00OCA0OC00OEgxNjYuM0wzMDIuMiA1LjR6TTgwIDIwOHY2NGMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjIwOGMwLTguOC03LjItMTYtMTYtMTZIOTZjLTguOCAwLTE2IDcuMi0xNiAxNnptMCAxMjh2NjRjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYzMzZjMC04LjgtNy4yLTE2LTE2LTE2SDk2Yy04LjggMC0xNiA3LjItMTYgMTZ6bTI0MC03MmE4OCA4OCAwIDEgMCAwLTE3NiA4OCA4OCAwIDEgMCAwIDE3NnptMTYtMTIwdjE2aDE2YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDMyMGMtOC44IDAtMTYtNy4yLTE2LTE2VjE0NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2em0xOTIgOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjQ4aDY0VjI3MmMwLTE3LjctMTQuMy0zMi0zMi0zMnptLTgwIDMyYzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODB2NDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMySDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMzUyYzAtMTcuNyAxNC4zLTMyIDMyLTMyVjI3MnpcIl1cbn07XG52YXIgZmFUb3dlckNlbGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndG93ZXItY2VsbCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU4NVwiLCBcIk02Mi42IDIuM0M0Ni4yLTQuMyAyNy42IDMuNiAyMC45IDIwQzcuNCA1My40IDAgODkuOSAwIDEyOHM3LjQgNzQuNiAyMC45IDEwOGM2LjYgMTYuNCAyNS4zIDI0LjMgNDEuNyAxNy43Uzg2LjkgMjI4LjQgODAuMyAyMTJDNjkuOCAxODYuMSA2NCAxNTcuOCA2NCAxMjhzNS44LTU4LjEgMTYuMy04NEM4Ni45IDI3LjYgNzkgOSA2Mi42IDIuM3ptNDUwLjggMEM0OTcgOSA0ODkuMSAyNy42IDQ5NS43IDQ0QzUwNi4yIDY5LjkgNTEyIDk4LjIgNTEyIDEyOHMtNS44IDU4LjEtMTYuMyA4NGMtNi42IDE2LjQgMS4zIDM1IDE3LjcgNDEuN3MzNS0xLjMgNDEuNy0xNy43YzEzLjUtMzMuNCAyMC45LTY5LjkgMjAuOS0xMDhzLTcuNC03NC42LTIwLjktMTA4QzU0OC40IDMuNiA1MjkuOC00LjMgNTEzLjQgMi4zek0zNDAuMSAxNjUuMmM3LjUtMTAuNSAxMS45LTIzLjMgMTEuOS0zNy4yYzAtMzUuMy0yOC43LTY0LTY0LTY0cy02NCAyOC43LTY0IDY0YzAgMTMuOSA0LjQgMjYuNyAxMS45IDM3LjJMOTguOSA0NjYuOGMtNy4zIDE2LjEtLjIgMzUuMSAxNS45IDQyLjRzMzUuMSAuMiA0Mi40LTE1LjlMMTc3LjcgNDQ4SDM5OC4zbDIwLjYgNDUuMmM3LjMgMTYuMSAyNi4zIDIzLjIgNDIuNCAxNS45czIzLjItMjYuMyAxNS45LTQyLjRMMzQwLjEgMTY1LjJ6TTM2OS4yIDM4NEgyMDYuOGwxNC41LTMySDM1NC43bDE0LjUgMzJ6TTI4OCAyMDUuM0wzMjUuNiAyODhIMjUwLjRMMjg4IDIwNS4zek0xNjMuMyA3My42YzUuMy0xMi4xLS4yLTI2LjMtMTIuNC0zMS42cy0yNi4zIC4yLTMxLjYgMTIuNEMxMDkuNSA3NyAxMDQgMTAxLjkgMTA0IDEyOHM1LjUgNTEgMTUuMyA3My42YzUuMyAxMi4xIDE5LjUgMTcuNyAzMS42IDEyLjRzMTcuNy0xOS41IDEyLjQtMzEuNkMxNTYgMTY1LjggMTUyIDE0Ny40IDE1MiAxMjhzNC0zNy44IDExLjMtNTQuNHpNNDU2LjcgNTQuNGMtNS4zLTEyLjEtMTkuNS0xNy43LTMxLjYtMTIuNHMtMTcuNyAxOS41LTEyLjQgMzEuNkM0MjAgOTAuMiA0MjQgMTA4LjYgNDI0IDEyOHMtNCAzNy44LTExLjMgNTQuNGMtNS4zIDEyLjEgLjIgMjYuMyAxMi40IDMxLjZzMjYuMy0uMiAzMS42LTEyLjRDNDY2LjUgMTc5IDQ3MiAxNTQuMSA0NzIgMTI4cy01LjUtNTEtMTUuMy03My42elwiXVxufTtcbnZhciBmYURvd25Mb25nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Rvd24tbG9uZycsXG4gIGljb246IFszMjAsIDUxMiwgW1wibG9uZy1hcnJvdy1hbHQtZG93blwiXSwgXCJmMzA5XCIsIFwiTTIgMzM0LjVjLTMuOCA4LjgtMiAxOSA0LjYgMjZsMTM2IDE0NGM0LjUgNC44IDEwLjggNy41IDE3LjQgNy41czEyLjktMi43IDE3LjQtNy41bDEzNi0xNDRjNi42LTcgOC40LTE3LjIgNC42LTI2cy0xMi41LTE0LjUtMjItMTQuNWwtNzIgMCAwLTI4OGMwLTE3LjctMTQuMy0zMi0zMi0zMkwxMjggMEMxMTAuMyAwIDk2IDE0LjMgOTYgMzJsMCAyODgtNzIgMGMtOS42IDAtMTguMiA1LjctMjIgMTQuNXpcIl1cbn07XG52YXIgZmFMb25nQXJyb3dBbHREb3duID0gZmFEb3duTG9uZztcbnZhciBmYVJhbmtpbmdTdGFyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Jhbmtpbmctc3RhcicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU2MVwiLCBcIk0zNTMuOCA1NC4xTDMzMC4yIDYuM2MtMy45LTguMy0xNi4xLTguNi0yMC40IDBMMjg2LjIgNTQuMWwtNTIuMyA3LjVjLTkuMyAxLjQtMTMuMyAxMi45LTYuNCAxOS44bDM4IDM3LTkgNTIuMWMtMS40IDkuMyA4LjIgMTYuNSAxNi44IDEyLjJsNDYuOS0yNC44IDQ2LjYgMjQuNGM4LjYgNC4zIDE4LjMtMi45IDE2LjgtMTIuMmwtOS01Mi4xIDM4LTM2LjZjNi44LTYuOCAyLjktMTguMy02LjQtMTkuOGwtNTIuMy03LjV6TTI1NiAyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyVjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMkgzODRjMTcuNyAwIDMyLTE0LjMgMzItMzJWMjg4YzAtMTcuNy0xNC4zLTMyLTMyLTMySDI1NnpNMzIgMzIwYy0xNy43IDAtMzIgMTQuMy0zMiAzMlY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJIMTYwYzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM1MmMwLTE3LjctMTQuMy0zMi0zMi0zMkgzMnptNDE2IDk2djY0YzAgMTcuNyAxNC4zIDMyIDMyIDMySDYwOGMxNy43IDAgMzItMTQuMyAzMi0zMlY0MTZjMC0xNy43LTE0LjMtMzItMzItMzJINDgwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnpcIl1cbn07XG52YXIgZmFDaGVzc0tpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hlc3Mta2luZycsXG4gIGljb246IFs0NDgsIDUxMiwgWzk4MThdLCBcImY0M2ZcIiwgXCJNMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNDhoMTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMjU2djQ4SDQwOGMyMi4xIDAgNDAgMTcuOSA0MCA0MGMwIDUuMy0xIDEwLjUtMy4xIDE1LjRMMzY4IDQwMEg4MEwzLjEgMjE1LjRDMSAyMTAuNSAwIDIwNS4zIDAgMjAwYzAtMjIuMSAxNy45LTQwIDQwLTQwSDE5MlYxMTJIMTc2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyaDE2VjMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek0zOC42IDQ3My40TDgwIDQzMkgzNjhsNDEuNCA0MS40YzQuMiA0LjIgNi42IDEwIDYuNiAxNmMwIDEyLjUtMTAuMSAyMi42LTIyLjYgMjIuNkg1NC42QzQyLjEgNTEyIDMyIDUwMS45IDMyIDQ4OS40YzAtNiAyLjQtMTEuOCA2LjYtMTZ6XCJdXG59O1xudmFyIGZhUGVyc29uSGFyYXNzaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1oYXJhc3NpbmcnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1NDlcIiwgXCJNMTkyIDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNNTkuNCAzMDQuNUw4OCAyNTYuOVY0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzNTJoMTZWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMjM1LjNsNDcuNCA1Ny4xYzExLjMgMTMuNiAzMS41IDE1LjUgNDUuMSA0LjJzMTUuNS0zMS41IDQuMi00NS4xbC03My43LTg4LjljLTE4LjItMjItNDUuMy0zNC43LTczLjktMzQuN0gxNDUuMWMtMzMuNyAwLTY0LjkgMTcuNy04Mi4zIDQ2LjZsLTU4LjMgOTdjLTkuMSAxNS4xLTQuMiAzNC44IDEwLjkgNDMuOXMzNC44IDQuMiA0My45LTEwLjl6TTQ4MCAyNDBhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNNDY0IDM0NHY1OC43bC00MS40LTQxLjRjLTcuMy03LjMtMTcuNi0xMC42LTI3LjgtOXMtMTguOSA4LjEtMjMuNSAxNy4zbC00OCA5NmMtNy45IDE1LjgtMS41IDM1IDE0LjMgNDIuOXMzNSAxLjUgNDIuOS0xNC4zTDQwOC44IDQzOGw1NC43IDU0LjdjMTIuNCAxMi40IDI5LjEgMTkuMyA0Ni42IDE5LjNjMzYuNCAwIDY1LjktMjkuNSA2NS45LTY1LjlWMzQ0YzAtMzAuOS0yNS4xLTU2LTU2LTU2cy01NiAyNS4xLTU2IDU2ek0yODggNDhjMCA4LjggNy4yIDE2IDE2IDE2aDU2YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDMwNGMtOC44IDAtMTYgNy4yLTE2IDE2em0tLjggNDkuN2MtNy45LTQtMTcuNS0uNy0yMS41IDcuMnMtLjcgMTcuNSA3LjIgMjEuNWw0OCAyNGM3LjkgNCAxNy41IC43IDIxLjUtNy4ycy43LTE3LjUtNy4yLTIxLjVsLTQ4LTI0elwiXVxufTtcbnZhciBmYUJyYXppbGlhblJlYWxTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JyYXppbGlhbi1yZWFsLXNpZ24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0NmNcIiwgXCJNNDAwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNTAuMmMxMi41IDIuMyAyNC43IDYuNCAzNi4yIDEyLjFsMTAuMSA1LjFjMTUuOCA3LjkgMjIuMiAyNy4xIDE0LjMgNDIuOXMtMjcuMSAyMi4yLTQyLjkgMTQuM2wtMTAuMi01LjFjLTkuOS01LTIwLjktNy41LTMyLTcuNWgtMS43Yy0yOS44IDAtNTMuOSAyNC4xLTUzLjkgNTMuOWMwIDIyIDEzLjQgNDEuOCAzMy45IDUwbDUyIDIwLjhjNDQuNyAxNy45IDc0LjEgNjEuMiA3NC4xIDEwOS40djMuNGMwIDUxLjItMzMuNiA5NC42LTgwIDEwOS4yVjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY0NjAuNmMtMTUtMy41LTI5LjQtOS43LTQyLjMtMTguM2wtMjMuNC0xNS42Yy0xNC43LTkuOC0xOC43LTI5LjctOC45LTQ0LjRzMjkuNy0xOC43IDQ0LjQtOC45TDM2MS4yIDM4OWMxMC44IDcuMiAyMy40IDExIDM2LjMgMTFjMjcuOSAwIDUwLjUtMjIuNiA1MC41LTUwLjV2LTMuNGMwLTIyLTEzLjQtNDEuOC0zMy45LTUwbC01Mi0yMC44QzMxNy4zIDI1Ny40IDI4OCAyMTQuMSAyODggMTY1LjlDMjg4IDExNCAzMjEuNSA3MCAzNjggNTQuMlYzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmg4MGM3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NGMwIDU4LjgtMzUuMiAxMDkuMy04NS43IDEzMS43bDUxLjQgMTI4LjRjNi42IDE2LjQtMS40IDM1LTE3LjggNDEuNnMtMzUtMS40LTQxLjYtMTcuOEwxMDYuMyAzMjBINjRWNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjI4OCA2NHpNNjQgMjU2aDQ4YzQ0LjIgMCA4MC0zNS44IDgwLTgwcy0zNS44LTgwLTgwLTgwSDY0VjI1NnpcIl1cbn07XG52YXIgZmFMYW5kbWFya0RvbWUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGFuZG1hcmstZG9tZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibGFuZG1hcmstYWx0XCJdLCBcImY3NTJcIiwgXCJNMjQ4IDBoMTZjMTMuMyAwIDI0IDEwLjcgMjQgMjRWMzQuN0MzNjguNCA0OC4xIDQzMS45IDExMS42IDQ0NS4zIDE5Mkg0NDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJINjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJoMi43QzgwLjEgMTExLjYgMTQzLjYgNDguMSAyMjQgMzQuN1YyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNNjQgMjg4aDY0VjQxNmg0MFYyODhoNjRWNDE2aDQ4VjI4OGg2NFY0MTZoNDBWMjg4aDY0VjQyMC4zYy42IC4zIDEuMiAuNyAxLjcgMS4xbDQ4IDMyYzExLjcgNy44IDE3IDIyLjQgMTIuOSAzNS45UzQ5NC4xIDUxMiA0ODAgNTEySDMyYy0xNC4xIDAtMjYuNS05LjItMzAuNi0yMi43czEuMS0yOC4xIDEyLjktMzUuOWw0OC0zMmMuNi0uNCAxLjItLjcgMS44LTEuMVYyODh6XCJdXG59O1xudmFyIGZhTGFuZG1hcmtBbHQgPSBmYUxhbmRtYXJrRG9tZTtcbnZhciBmYUFycm93VXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdXAnLFxuICBpY29uOiBbMzg0LCA1MTIsIFs4NTkzXSwgXCJmMDYyXCIsIFwiTTIxNC42IDQxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xNjAgMTYwYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDE2MCAxNDEuMlY0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYxNDEuMkwzMjkuNCAyNDYuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC0xNjAtMTYwelwiXVxufTtcbnZhciBmYVR2ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3R2JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbNjM3MTcsIFwidGVsZXZpc2lvblwiLCBcInR2LWFsdFwiXSwgXCJmMjZjXCIsIFwiTTY0IDY0VjM1Mkg1NzZWNjRINjR6TTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwSDU3NmMzNS4zIDAgNjQgMjguNyA2NCA2NFYzNTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjY0ek0xMjggNDQ4SDUxMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgxMjhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6XCJdXG59O1xudmFyIGZhVGVsZXZpc2lvbiA9IGZhVHY7XG52YXIgZmFUdkFsdCA9IGZhVHY7XG52YXIgZmFTaHJpbXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2hyaW1wJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5NDI0XSwgXCJlNDQ4XCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZzMjguNyA2NCA2NCA2NGgxYzMuNyA4OC45IDc3IDE2MCAxNjcgMTYwaDU2VjEyOEgyNjQgODguOCA2NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkg0NjRjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZINjR6TTIyNCA0NTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRoNzJWNDA3LjhsLTY0LjEtMjIuNGMtMTIuNS00LjQtMjYuMiAyLjItMzAuNiAxNC43czIuMiAyNi4yIDE0LjcgMzAuNmw0LjUgMS42QzIzMyA0MzMuOSAyMjQgNDQzLjkgMjI0IDQ1NnptMTI4IDIzLjNjMzYuNC0zLjMgNjkuNS0xNy42IDk2LjEtMzkuNmwtODYuNS0zNC42Yy0zIDEuOC02LjIgMy4yLTkuNiA0LjN2NjkuOXpNNDcyLjYgNDE1YzI0LjYtMzAuMyAzOS40LTY4LjkgMzkuNC0xMTFjMC0xMi4zLTEuMy0yNC4zLTMuNy0zNS45TDM4Mi44IDM1NS4xYy44IDMuNCAxLjIgNyAxLjIgMTAuNmMwIDQuNi0uNyA5LTEuOSAxMy4xTDQ3Mi42IDQxNXpNMzM2IDEyOEgzMjBWMzIwaDE4LjNjOS45IDAgMTkuMSAzLjIgMjYuNiA4LjVsMTMzLjUtOTIuNEM0NzEuOCAxNzIuNiA0MDkuMSAxMjggMzM2IDEyOHpNMTY4IDE5MmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwelwiXVxufTtcbnZhciBmYUxpc3RDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsaXN0LWNoZWNrJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJ0YXNrc1wiXSwgXCJmMGFlXCIsIFwiTTE1Mi4xIDM4LjJjOS45IDguOSAxMC43IDI0IDEuOCAzMy45bC03MiA4MGMtNC40IDQuOS0xMC42IDcuOC0xNy4yIDcuOXMtMTIuOS0yLjQtMTcuNi03TDcgMTEzQy0yLjMgMTAzLjYtMi4zIDg4LjQgNyA3OXMyNC42LTkuNCAzMy45IDBsMjIuMSAyMi4xIDU1LjEtNjEuMmM4LjktOS45IDI0LTEwLjcgMzMuOS0xLjh6bTAgMTYwYzkuOSA4LjkgMTAuNyAyNCAxLjggMzMuOWwtNzIgODBjLTQuNCA0LjktMTAuNiA3LjgtMTcuMiA3LjlzLTEyLjktMi40LTE3LjYtN0w3IDI3M2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDIyLjEgMjIuMSA1NS4xLTYxLjJjOC45LTkuOSAyNC0xMC43IDMzLjktMS44ek0yMjQgOTZjMC0xNy43IDE0LjMtMzIgMzItMzJINDgwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDI1NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6bTAgMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMySDQ4MGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgyNTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek0xNjAgNDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMySDQ4MGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgxOTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek00OCAzNjhhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2elwiXVxufTtcbnZhciBmYVRhc2tzID0gZmFMaXN0Q2hlY2s7XG52YXIgZmFKdWdEZXRlcmdlbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnanVnLWRldGVyZ2VudCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTUxOVwiLCBcIk05NiAyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNGg4MGMxMy4zIDAgMjQgMTAuNyAyNCAyNFY0OGg4YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDg4Qzc0LjcgOTYgNjQgODUuMyA2NCA3MnMxMC43LTI0IDI0LTI0aDhWMjR6TTAgMjU2YzAtNzAuNyA1Ny4zLTEyOCAxMjgtMTI4SDI1NmM3MC43IDAgMTI4IDU3LjMgMTI4IDEyOFY0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjI1NnptMjU2IDB2OTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyNTZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ6XCJdXG59O1xudmFyIGZhQ2lyY2xlVXNlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtdXNlcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzYyMTQyLCBcInVzZXItY2lyY2xlXCJdLCBcImYyYmRcIiwgXCJNMzk5IDM4NC4yQzM3Ni45IDM0NS44IDMzNS40IDMyMCAyODggMzIwSDIyNGMtNDcuNCAwLTg4LjkgMjUuOC0xMTEgNjQuMmMzNS4yIDM5LjIgODYuMiA2My44IDE0MyA2My44czEwNy44LTI0LjcgMTQzLTYzLjh6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnptMjU2IDE2YTcyIDcyIDAgMSAwIDAtMTQ0IDcyIDcyIDAgMSAwIDAgMTQ0elwiXVxufTtcbnZhciBmYVVzZXJDaXJjbGUgPSBmYUNpcmNsZVVzZXI7XG52YXIgZmFVc2VyU2hpZWxkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItc2hpZWxkJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNTA1XCIsIFwiTTIyNCAyNTZBMTI4IDEyOCAwIDEgMCAyMjQgMGExMjggMTI4IDAgMSAwIDAgMjU2em0tNDUuNyA0OEM3OS44IDMwNCAwIDM4My44IDAgNDgyLjNDMCA0OTguNyAxMy4zIDUxMiAyOS43IDUxMkg0MTguM2MxLjggMCAzLjUtLjIgNS4zLS41Yy03Ni4zLTU1LjEtOTkuOC0xNDEtMTAzLjEtMjAwLjJjLTE2LjEtNC44LTMzLjEtNy4zLTUwLjctNy4zSDE3OC4zem0zMDguOC03OC4zbC0xMjAgNDhDMzU4IDI3Ny40IDM1MiAyODYuMiAzNTIgMjk2YzAgNjMuMyAyNS45IDE2OC44IDEzNC44IDIxNC4yYzUuOSAyLjUgMTIuNiAyLjUgMTguNSAwQzYxNC4xIDQ2NC44IDY0MCAzNTkuMyA2NDAgMjk2YzAtOS44LTYtMTguNi0xNS4xLTIyLjNsLTEyMC00OGMtNS43LTIuMy0xMi4xLTIuMy0xNy44IDB6TTU5MS40IDMxMmMtMy45IDUwLjctMjcuMiAxMTYuNy05NS40IDE0OS43VjI3My44TDU5MS40IDMxMnpcIl1cbn07XG52YXIgZmFXaW5kID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dpbmQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3MmVcIiwgXCJNMjg4IDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyaDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDM1MmM1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05NkgzMjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem02NCAzNTJjMCAxNy43IDE0LjMgMzIgMzIgMzJoMzJjNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDM4NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTEyOCA1MTJoMzJjNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJIMTYwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMnpcIl1cbn07XG52YXIgZmFDYXJCdXJzdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXItYnVyc3QnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImNhci1jcmFzaFwiXSwgXCJmNWUxXCIsIFwiTTE3NiA4Yy02LjYgMC0xMi40IDQtMTQuOSAxMC4xbC0yOS40IDc0TDU1LjYgNjguOWMtNi4zLTEuOS0xMy4xIC4yLTE3LjIgNS4zcy00LjYgMTIuMi0xLjQgMTcuOWwzOS41IDY5LjFMMTAuOSAyMDYuNGMtNS40IDMuNy04IDEwLjMtNi41IDE2LjdzNi43IDExLjIgMTMuMSAxMi4ybDc4LjcgMTIuMkw5MC42IDMyN2MtLjUgNi41IDMuMSAxMi43IDkgMTUuNXMxMi45IDEuOCAxNy44LTIuNmwzNS4zLTMyLjUgOS41LTM1LjQgMTAuNC0zOC42YzgtMjkuOSAzMC41LTUyLjEgNTcuOS02MC45bDQxLTU5LjJjMTEuMy0xNi4zIDI2LjQtMjguOSA0My41LTM3LjJjLS40LS42LS44LTEuMi0xLjMtMS44Yy00LjEtNS4xLTEwLjktNy4yLTE3LjItNS4zTDIyMC4zIDkyLjFsLTI5LjQtNzRDMTg4LjQgMTIgMTgyLjYgOCAxNzYgOHpNMzY3LjcgMTYxLjVsMTM1LjYgMzYuM2M2LjUgMS44IDExLjMgNy40IDExLjggMTQuMmw0LjYgNTYuNS0yMDEuNS01NCAzMi4yLTQ2LjZjMy44LTUuNiAxMC44LTguMSAxNy4zLTYuNHptLTY5LjktMzBsLTQ3LjkgNjkuM2MtMjEuNiAzLTQwLjMgMTguNi00Ni4zIDQxbC0xMC40IDM4LjYtMTYuNiA2MS44LTguMyAzMC45Yy00LjYgMTcuMSA1LjYgMzQuNiAyMi42IDM5LjJsMTUuNSA0LjFjMTcuMSA0LjYgMzQuNi01LjYgMzkuMi0yMi42bDguMy0zMC45IDI0Ny4zIDY2LjMtOC4zIDMwLjljLTQuNiAxNy4xIDUuNiAzNC42IDIyLjYgMzkuMmwxNS41IDQuMWMxNy4xIDQuNiAzNC42LTUuNiAzOS4yLTIyLjZsOC4zLTMwLjlMNTk1IDM4OGwxMC40LTM4LjZjNi0yMi40LTIuNS00NS4yLTE5LjYtNTguN2wtNi44LTg0Yy0yLjctMzMuNy0yNi40LTYyLTU5LTcwLjhMMzg0LjIgOTkuN2MtMzIuNy04LjgtNjcuMyA0LTg2LjUgMzEuOHptLTE3IDEzMWEyNCAyNCAwIDEgMSAtMTIuNCA0Ni40IDI0IDI0IDAgMSAxIDEyLjQtNDYuNHptMjE3LjkgODMuMkEyNCAyNCAwIDEgMSA1NDUgMzU4LjFhMjQgMjQgMCAxIDEgLTQ2LjQtMTIuNHpcIl1cbn07XG52YXIgZmFDYXJDcmFzaCA9IGZhQ2FyQnVyc3Q7XG52YXIgZmFZID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3knLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjFdLCBcIjU5XCIsIFwiTTU4IDQ1LjRDNDcuOCAzMSAyNy44IDI3LjcgMTMuNCAzOFMtNC4zIDY4LjIgNiA4Mi42TDE2MCAyOTguM1Y0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyOTguM0wzNzggODIuNmMxMC4zLTE0LjQgNi45LTM0LjQtNy40LTQ0LjZTMzM2LjIgMzEgMzI2IDQ1LjRMMTkyIDIzMi45IDU4IDQ1LjR6XCJdXG59O1xudmFyIGZhUGVyc29uU25vd2JvYXJkaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1zbm93Ym9hcmRpbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc5MzgsIFwic25vd2JvYXJkaW5nXCJdLCBcImY3Y2VcIiwgXCJNMjA5LjcgMy40YzE1LjgtNy45IDM1LTEuNSA0Mi45IDE0LjNsMjUgNTAgNDIuNCA4LjVjMTkuNSAzLjkgMzcuOCAxMi4zIDUzLjUgMjQuNWwxMjYuMSA5OC4xYzE0IDEwLjkgMTYuNSAzMSA1LjYgNDQuOXMtMzEgMTYuNS00NC45IDUuNmwtNzIuMS01Ni4xLTcxLjUgMzEuOCAzMy4xIDI3LjZjMjMuMiAxOS4zIDMzLjUgNTAgMjYuNyA3OS40bC0xNy40IDc1LjJjLTIuMiA5LjQtOC4yIDE2LjgtMTYuMSAyMWw4Ni41IDMzLjFjNC42IDEuOCA5LjQgMi42IDE0LjMgMi42SDQ3MmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEg0NDMuOGMtMTAuOCAwLTIxLjQtMi0zMS41LTUuOEw2MC4xIDM3MS4zYy0xMS41LTQuNC0yMi0xMS4yLTMwLjgtMjBMNyAzMjljLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwyMi40IDIyLjRjNCA0IDguNyA3LjEgMTQgOS4xbDIyLjQgOC42Yy0uOC0xLjYtMS41LTMuMi0yLjEtNC45Yy01LjYtMTYuOCAzLjUtMzQuOSAyMC4yLTQwLjVMMTkyIDI2NC45bDAtNTMuMmMwLTI0LjIgMTMuNy00Ni40IDM1LjQtNTcuMmw0NS4yLTIyLjYtNy41LTEuNWMtMTkuNC0zLjktMzUuOS0xNi41LTQ0LjctMzQuMWwtMjUtNTBjLTcuOS0xNS44LTEuNS0zNSAxNC4zLTQyLjl6TTEzOSAzNTAuMWwxNTkgNjAuOWMtMi4xLTUuNi0yLjYtMTEuOS0xLjEtMTguMmwxNy40LTc1LjJjMS40LTUuOS0uNy0xMi01LjMtMTUuOWwtNTIuOC00NCAwIDE4LjhjMCAyMC43LTEzLjIgMzktMzIuOCA0NS41TDEzOSAzNTAuMXpNNDMyIDBhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2elwiXVxufTtcbnZhciBmYVNub3dib2FyZGluZyA9IGZhUGVyc29uU25vd2JvYXJkaW5nO1xudmFyIGZhVHJ1Y2tGYXN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RydWNrLWZhc3QnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInNoaXBwaW5nLWZhc3RcIl0sIFwiZjQ4YlwiLCBcIk0xMTIgMEM4NS41IDAgNjQgMjEuNSA2NCA0OFY5NkgxNmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNkg2NCAyNzJjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZINjQgNDhjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZINjQgMjQwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDY0IDE2Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2SDY0IDIwOGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkg2NFY0MTZjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NkgzODRjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NmgzMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMlYyODggMjU2IDIzNy4zYzAtMTctNi43LTMzLjMtMTguNy00NS4zTDUxMiAxMTQuN2MtMTItMTItMjguMy0xOC43LTQ1LjMtMTguN0g0MTZWNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhIMTEyek01NDQgMjM3LjNWMjU2SDQxNlYxNjBoNTAuN0w1NDQgMjM3LjN6TTE2MCAzNjhhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2em0yNzIgNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpcIl1cbn07XG52YXIgZmFTaGlwcGluZ0Zhc3QgPSBmYVRydWNrRmFzdDtcbnZhciBmYUZpc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlzaCcsXG4gIGljb246IFs1NzYsIDUxMiwgWzEyODAzMV0sIFwiZjU3OFwiLCBcIk0xODAuNSAxNDEuNUMyMTkuNyAxMDguNSAyNzIuNiA4MCAzMzYgODBzMTE2LjMgMjguNSAxNTUuNSA2MS41YzM5LjEgMzMgNjYuOSA3Mi40IDgxIDk5LjhjNC43IDkuMiA0LjcgMjAuMSAwIDI5LjNjLTE0LjEgMjcuNC00MS45IDY2LjgtODEgOTkuOEM0NTIuMyA0MDMuNSAzOTkuNCA0MzIgMzM2IDQzMnMtMTE2LjMtMjguNS0xNTUuNS02MS41Yy0xNi4yLTEzLjctMzAuNS0yOC41LTQyLjctNDMuMUw0OC4xIDM3OS42Yy0xMi41IDcuMy0yOC40IDUuMy0zOC43LTQuOVMtMyAzNDguNyA0LjIgMzM2LjFMNTAgMjU2IDQuMiAxNzUuOWMtNy4yLTEyLjYtNS0yOC40IDUuMy0zOC42czI2LjEtMTIuMiAzOC43LTQuOWw4OS43IDUyLjNjMTIuMi0xNC42IDI2LjUtMjkuNCA0Mi43LTQzLjF6TTQ0OCAyNTZhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpcIl1cbn07XG52YXIgZmFVc2VyR3JhZHVhdGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1ncmFkdWF0ZScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjUwMVwiLCBcIk0yMTkuMyAuNWMzLjEtLjYgNi4zLS42IDkuNCAwbDIwMCA0MEM0MzkuOSA0Mi43IDQ0OCA1Mi42IDQ0OCA2NHMtOC4xIDIxLjMtMTkuMyAyMy41TDM1MiAxMDIuOVYxNjBjMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhzLTEyOC01Ny4zLTEyOC0xMjhWMTAyLjlMNDggOTMuM3Y2NS4xbDE1LjcgNzguNGMuOSA0LjctLjMgOS42LTMuMyAxMy4zcy03LjYgNS45LTEyLjQgNS45SDE2Yy00LjggMC05LjMtMi4xLTEyLjQtNS45cy00LjMtOC42LTMuMy0xMy4zTDE2IDE1OC40Vjg2LjZDNi41IDgzLjMgMCA3NC4zIDAgNjRDMCA1Mi42IDguMSA0Mi43IDE5LjMgNDAuNWwyMDAtNDB6TTExMS45IDMyNy43YzEwLjUtMy40IDIxLjggLjQgMjkuNCA4LjVsNzEgNzUuNWM2LjMgNi43IDE3IDYuNyAyMy4zIDBsNzEtNzUuNWM3LjYtOC4xIDE4LjktMTEuOSAyOS40LTguNUM0MDEgMzQ4LjYgNDQ4IDQwOS40IDQ0OCA0ODEuM2MwIDE3LTEzLjggMzAuNy0zMC43IDMwLjdIMzAuN0MxMy44IDUxMiAwIDQ5OC4yIDAgNDgxLjNjMC03MS45IDQ3LTEzMi43IDExMS45LTE1My42elwiXVxufTtcbnZhciBmYUNpcmNsZUhhbGZTdHJva2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLWhhbGYtc3Ryb2tlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTY4MCwgXCJhZGp1c3RcIl0sIFwiZjA0MlwiLCBcIk00NDggMjU2YzAtMTA2LTg2LTE5Mi0xOTItMTkyVjQ0OGMxMDYgMCAxOTItODYgMTkyLTE5MnpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2elwiXVxufTtcbnZhciBmYUFkanVzdCA9IGZhQ2lyY2xlSGFsZlN0cm9rZTtcbnZhciBmYUNsYXBwZXJib2FyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbGFwcGVyYm9hcmQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImUxMzFcIiwgXCJNNDQ4IDMySDM2MS45bC0xIDEtMTI3IDEyN2g5Mi4xbDEtMUw0NTMuOCAzMi4zYy0xLjktLjItMy44LS4zLTUuOC0uM3ptNjQgMTI4Vjk2YzAtMTUuMS01LjMtMjkuMS0xNC00MGwtMTA0IDEwNEg1MTJ6TTI5NC4xIDMySDIwMS45bC0xIDFMNzMuOSAxNjBoOTIuMWwxLTEgMTI3LTEyN3pNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NnY2NEg2LjFsMS0xIDEyNy0xMjdINjR6TTUxMiAxOTJIMFY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRINDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0VjE5MnpcIl1cbn07XG52YXIgZmFDaXJjbGVSYWRpYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLXJhZGlhdGlvbicsXG4gIGljb246IFs1MTIsIDUxMiwgWzk3NjIsIFwicmFkaWF0aW9uLWFsdFwiXSwgXCJmN2JhXCIsIFwiTTI1NiA2NGExOTIgMTkyIDAgMSAxIDAgMzg0IDE5MiAxOTIgMCAxIDEgMC0zODR6bTAgNDQ4QTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjAwIDI1NmMwLTIwLjcgMTEuMy0zOC44IDI4LTQ4LjVsLTM2LTYyLjNjLTguOC0xNS4zLTI4LjctMjAuOC00Mi05Yy0yNS42IDIyLjYtNDMuOSA1My4zLTUwLjkgODguMUM5NS43IDI0MS41IDExMC4zIDI1NiAxMjggMjU2bDcyIDB6bTI4IDQ4LjVsLTM2IDYyLjRjLTguOCAxNS4zLTMuNiAzNS4yIDEzLjEgNDAuOGMxNiA1LjQgMzMuMSA4LjMgNTAuOSA4LjNzMzQuOS0yLjkgNTAuOS04LjNjMTYuNy01LjYgMjEuOS0yNS41IDEzLjEtNDAuOGwtMzYtNjIuNGMtOC4yIDQuOC0xNy44IDcuNS0yOCA3LjVzLTE5LjgtMi43LTI4LTcuNXpNMzEyIDI1Nmw3MiAwYzE3LjcgMCAzMi4zLTE0LjUgMjguOC0zMS44Yy03LTM0LjgtMjUuMy02NS41LTUwLjktODguMWMtMTMuMi0xMS43LTMzLjEtNi4zLTQyIDlsLTM2IDYyLjNjMTYuNyA5LjcgMjggMjcuOCAyOCA0OC41em0tNTYgMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbnZhciBmYVJhZGlhdGlvbkFsdCA9IGZhQ2lyY2xlUmFkaWF0aW9uO1xudmFyIGZhQmFzZWJhbGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFzZWJhbGwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjkzNTgsIDk5MTgsIFwiYmFzZWJhbGwtYmFsbFwiXSwgXCJmNDMzXCIsIFwiTTYyLjcgMjIzLjRjLTQuOCAuNC05LjcgLjYtMTQuNyAuNmMtMTUuNiAwLTMwLjgtMi00NS4yLTUuOUMxOS4yIDEwNy4xIDEwNy4xIDE5LjIgMjE4LjEgMi44QzIyMiAxNy4yIDIyNCAzMi40IDIyNCA0OGMwIDQuOS0uMiA5LjgtLjYgMTQuN2MtLjcgOC44IDUuOCAxNi41IDE0LjYgMTcuM3MxNi41LTUuOCAxNy4zLTE0LjZjLjUtNS43IC43LTExLjUgLjctMTcuM2MwLTE2LjUtMS45LTMyLjYtNS42LTQ3LjljMS44IDAgMy43LS4xIDUuNi0uMUMzOTcuNCAwIDUxMiAxMTQuNiA1MTIgMjU2YzAgMS45IDAgMy43LS4xIDUuNmMtMTUuNC0zLjYtMzEuNC01LjYtNDcuOS01LjZjLTUuOCAwLTExLjYgLjItMTcuMyAuN2MtOC44IC43LTE1LjQgOC41LTE0LjYgMTcuM3M4LjUgMTUuNCAxNy4zIDE0LjZjNC44LS40IDkuNy0uNiAxNC43LS42YzE1LjYgMCAzMC44IDIgNDUuMiA1LjlDNDkyLjggNDA0LjkgNDA0LjkgNDkyLjggMjkzLjkgNTA5LjJDMjkwIDQ5NC44IDI4OCA0NzkuNiAyODggNDY0YzAtNC45IC4yLTkuOCAuNi0xNC43Yy43LTguOC01LjgtMTYuNS0xNC42LTE3LjNzLTE2LjUgNS44LTE3LjMgMTQuNmMtLjUgNS43LS43IDExLjUtLjcgMTcuM2MwIDE2LjUgMS45IDMyLjYgNS42IDQ3LjljLTEuOCAwLTMuNyAuMS01LjYgLjFDMTE0LjYgNTEyIDAgMzk3LjQgMCAyNTZjMC0xLjkgMC0zLjcgLjEtNS42QzE1LjQgMjU0LjEgMzEuNSAyNTYgNDggMjU2YzUuOCAwIDExLjYtLjIgMTcuMy0uN2M4LjgtLjcgMTUuNC04LjUgMTQuNi0xNy4zcy04LjUtMTUuNC0xNy4zLTE0LjZ6TTEyMS4zIDIwOGMtOCAzLjctMTEuNiAxMy4yLTcuOSAyMS4yczEzLjIgMTEuNiAyMS4yIDcuOWM0NS4yLTIwLjggODEuNy01Ny4yIDEwMi41LTEwMi41YzMuNy04IC4yLTE3LjUtNy45LTIxLjJzLTE3LjUtLjItMjEuMiA3LjljLTE3LjYgMzguMy00OC41IDY5LjItODYuNyA4Ni43em0yNzcuMiA3NC43Yy0zLjctOC0xMy4yLTExLjYtMjEuMi03LjljLTQ1LjIgMjAuOC04MS43IDU3LjItMTAyLjUgMTAyLjVjLTMuNyA4LS4yIDE3LjUgNy45IDIxLjJzMTcuNSAuMiAyMS4yLTcuOWMxNy42LTM4LjMgNDguNS02OS4yIDg2LjctODYuN2M4LTMuNyAxMS42LTEzLjIgNy45LTIxLjJ6XCJdXG59O1xudmFyIGZhQmFzZWJhbGxCYWxsID0gZmFCYXNlYmFsbDtcbnZhciBmYUpldEZpZ2h0ZXJVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdqZXQtZmlnaHRlci11cCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTUxOFwiLCBcIk0yNzAuNyA5LjdDMjY4LjIgMy44IDI2Mi40IDAgMjU2IDBzLTEyLjIgMy44LTE0LjcgOS43TDE5Ny4yIDExMi42Yy0zLjQgOC01LjIgMTYuNS01LjIgMjUuMnY3N2wtMTQ0IDg0VjI4MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHY1NiAzMiAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0di04SDE5MnYzMi43TDEzMy41IDQ2OGMtMy41IDMtNS41IDcuNC01LjUgMTJ2MTZjMCA4LjggNy4yIDE2IDE2IDE2aDk2VjQ0OGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2djY0aDk2YzguOCAwIDE2LTcuMiAxNi0xNlY0ODBjMC00LjYtMi05LTUuNS0xMkwzMjAgNDE2LjdWMzg0SDQ2NHY4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWMzY4IDMzNiAyODBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR2MTguOGwtMTQ0LTg0di03N2MwLTguNy0xLjgtMTcuMi01LjItMjUuMkwyNzAuNyA5Ljd6XCJdXG59O1xudmFyIGZhRGlhZ3JhbVByb2plY3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGlhZ3JhbS1wcm9qZWN0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJwcm9qZWN0LWRpYWdyYW1cIl0sIFwiZjU0MlwiLCBcIk0wIDgwQzAgNTMuNSAyMS41IDMyIDQ4IDMyaDk2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4Vjk2SDM4NFY4MGMwLTI2LjUgMjEuNS00OCA0OC00OGg5NmMyNi41IDAgNDggMjEuNSA0OCA0OHY5NmMwIDI2LjUtMjEuNSA0OC00OCA0OEg0MzJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjE2MEgxOTJ2MTZjMCAxLjctLjEgMy40LS4zIDVMMjcyIDI4OGg5NmMyNi41IDAgNDggMjEuNSA0OCA0OHY5NmMwIDI2LjUtMjEuNSA0OC00OCA0OEgyNzJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjMzNmMwLTEuNyAuMS0zLjQgLjMtNUwxNDQgMjI0SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFY4MHpcIl1cbn07XG52YXIgZmFQcm9qZWN0RGlhZ3JhbSA9IGZhRGlhZ3JhbVByb2plY3Q7XG52YXIgZmFDb3B5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvcHknLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYwYzVcIiwgXCJNMjA4IDBIMzMyLjFjMTIuNyAwIDI0LjkgNS4xIDMzLjkgMTQuMWw2Ny45IDY3LjljOSA5IDE0LjEgMjEuMiAxNC4xIDMzLjlWMzM2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDIwOGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWNDhjMC0yNi41IDIxLjUtNDggNDgtNDh6TTQ4IDEyOGg4MHY2NEg2NFY0NDhIMjU2VjQxNmg2NHY0OGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMTc2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4elwiXVxufTtcbnZhciBmYVZvbHVtZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZvbHVtZS14bWFyaycsXG4gIGljb246IFs1NzYsIDUxMiwgW1widm9sdW1lLW11dGVcIiwgXCJ2b2x1bWUtdGltZXNcIl0sIFwiZjZhOVwiLCBcIk0zMDEuMSAzNC44QzMxMi42IDQwIDMyMCA1MS40IDMyMCA2NFY0NDhjMCAxMi42LTcuNCAyNC0xOC45IDI5LjJzLTI1IDMuMS0zNC40LTUuM0wxMzEuOCAzNTJINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjIyNGMwLTM1LjMgMjguNy02NCA2NC02NGg2Ny44TDI2Ni43IDQwLjFjOS40LTguNCAyMi45LTEwLjQgMzQuNC01LjN6TTQyNSAxNjdsNTUgNTUgNTUtNTVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC01NSA1NSA1NSA1NWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC01NS01NS01NSA1NWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw1NS01NS01NS01NWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwelwiXVxufTtcbnZhciBmYVZvbHVtZU11dGUgPSBmYVZvbHVtZVhtYXJrO1xudmFyIGZhVm9sdW1lVGltZXMgPSBmYVZvbHVtZVhtYXJrO1xudmFyIGZhSGFuZFNwYXJrbGVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtc3BhcmtsZXMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImUwNWRcIiwgXCJNMzIwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWMjQwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMlYyNDBjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlYxMjhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMlYzMjMuMWMtMTEuOSA0LjgtMjEuMyAxNC45LTI1IDI3LjhsLTguOSAzMS4yTDQ3OC45IDM5MUM0NjAuNiAzOTYuMyA0NDggNDEzIDQ0OCA0MzJjMCAxOC45IDEyLjUgMzUuNiAzMC42IDQwLjlDNDQ4LjQgNDk3LjQgNDA5LjkgNTEyIDM2OCA1MTJIMzQ4LjhjLTU5LjYgMC0xMTYuOS0yMi45LTE2MC02NEw3Ni40IDM0MWMtMTYtMTUuMi0xNi42LTQwLjYtMS40LTU2LjZzNDAuNi0xNi42IDU2LjYtMS40bDYwLjUgNTcuNmMwLTEuNS0uMS0zLjEtLjEtNC42VjY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJWMjQwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bS03LjMgMzI2LjZjLTEuMS0zLjktNC43LTYuNi04LjctNi42cy03LjYgMi43LTguNyA2LjZMMjg4IDM1MmwtMjUuNCA3LjNjLTMuOSAxLjEtNi42IDQuNy02LjYgOC43czIuNyA3LjYgNi42IDguN0wyODggMzg0bDcuMyAyNS40YzEuMSAzLjkgNC43IDYuNiA4LjcgNi42czcuNi0yLjcgOC43LTYuNkwzMjAgMzg0bDI1LjQtNy4zYzMuOS0xLjEgNi42LTQuNyA2LjYtOC43cy0yLjctNy42LTYuNi04LjdMMzIwIDM1MmwtNy4zLTI1LjR6TTEwNCAxMjBsNDguMyAxMy44YzQuNiAxLjMgNy43IDUuNSA3LjcgMTAuMnMtMy4xIDguOS03LjcgMTAuMkwxMDQgMTY4IDkwLjIgMjE2LjNjLTEuMyA0LjYtNS41IDcuNy0xMC4yIDcuN3MtOC45LTMuMS0xMC4yLTcuN0w1NiAxNjggNy43IDE1NC4yQzMuMSAxNTIuOSAwIDE0OC43IDAgMTQ0czMuMS04LjkgNy43LTEwLjJMNTYgMTIwIDY5LjggNzEuN0M3MS4xIDY3LjEgNzUuMyA2NCA4MCA2NHM4LjkgMy4xIDEwLjIgNy43TDEwNCAxMjB6TTU4NCA0MDhsNDguMyAxMy44YzQuNiAxLjMgNy43IDUuNSA3LjcgMTAuMnMtMy4xIDguOS03LjcgMTAuMkw1ODQgNDU2bC0xMy44IDQ4LjNjLTEuMyA0LjYtNS41IDcuNy0xMC4yIDcuN3MtOC45LTMuMS0xMC4yLTcuN0w1MzYgNDU2bC00OC4zLTEzLjhjLTQuNi0xLjMtNy43LTUuNS03LjctMTAuMnMzLjEtOC45IDcuNy0xMC4yTDUzNiA0MDhsMTMuOC00OC4zYzEuMy00LjYgNS41LTcuNyAxMC4yLTcuN3M4LjkgMy4xIDEwLjIgNy43TDU4NCA0MDh6XCJdXG59O1xudmFyIGZhR3JpcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdncmlwJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJncmlwLWhvcml6b250YWxcIl0sIFwiZjU4ZFwiLCBcIk0xMjggMTM2YzAtMjIuMS0xNy45LTQwLTQwLTQwTDQwIDk2QzE3LjkgOTYgMCAxMTMuOSAwIDEzNmwwIDQ4YzAgMjIuMSAxNy45IDQwIDQwIDQwSDg4YzIyLjEgMCA0MC0xNy45IDQwLTQwbDAtNDh6bTAgMTkyYzAtMjIuMS0xNy45LTQwLTQwLTQwSDQwYy0yMi4xIDAtNDAgMTcuOS00MCA0MGwwIDQ4YzAgMjIuMSAxNy45IDQwIDQwIDQwSDg4YzIyLjEgMCA0MC0xNy45IDQwLTQwVjMyOHptMzItMTkydjQ4YzAgMjIuMSAxNy45IDQwIDQwIDQwaDQ4YzIyLjEgMCA0MC0xNy45IDQwLTQwVjEzNmMwLTIyLjEtMTcuOS00MC00MC00MGwtNDggMGMtMjIuMSAwLTQwIDE3LjktNDAgNDB6TTI4OCAzMjhjMC0yMi4xLTE3LjktNDAtNDAtNDBIMjAwYy0yMi4xIDAtNDAgMTcuOS00MCA0MGwwIDQ4YzAgMjIuMSAxNy45IDQwIDQwIDQwaDQ4YzIyLjEgMCA0MC0xNy45IDQwLTQwVjMyOHptMzItMTkydjQ4YzAgMjIuMSAxNy45IDQwIDQwIDQwaDQ4YzIyLjEgMCA0MC0xNy45IDQwLTQwVjEzNmMwLTIyLjEtMTcuOS00MC00MC00MGwtNDggMGMtMjIuMSAwLTQwIDE3LjktNDAgNDB6TTQ0OCAzMjhjMC0yMi4xLTE3LjktNDAtNDAtNDBIMzYwYy0yMi4xIDAtNDAgMTcuOS00MCA0MHY0OGMwIDIyLjEgMTcuOSA0MCA0MCA0MGg0OGMyMi4xIDAgNDAtMTcuOSA0MC00MFYzMjh6XCJdXG59O1xudmFyIGZhR3JpcEhvcml6b250YWwgPSBmYUdyaXA7XG52YXIgZmFTaGFyZUZyb21TcXVhcmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2hhcmUtZnJvbS1zcXVhcmUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFs2MTUwOSwgXCJzaGFyZS1zcXVhcmVcIl0sIFwiZjE0ZFwiLCBcIk0zNTIgMjI0SDMwNS41Yy00NSAwLTgxLjUgMzYuNS04MS41IDgxLjVjMCAyMi4zIDEwLjMgMzQuMyAxOS4yIDQwLjVjNi44IDQuNyAxMi44IDEyIDEyLjggMjAuM2MwIDkuOC04IDE3LjgtMTcuOCAxNy44aC0yLjVjLTIuNCAwLTQuOC0uNC03LjEtMS40QzIxMC44IDM3NC44IDEyOCAzMzMuNCAxMjggMjQwYzAtNzkuNSA2NC41LTE0NCAxNDQtMTQ0aDgwVjM0LjdDMzUyIDE1LjUgMzY3LjUgMCAzODYuNyAwYzguNiAwIDE2LjggMy4yIDIzLjIgOC45TDU0OC4xIDEzMy4zYzcuNiA2LjggMTEuOSAxNi41IDExLjkgMjYuN3MtNC4zIDE5LjktMTEuOSAyNi43bC0xMzkgMTI1LjFjLTUuOSA1LjMtMTMuNSA4LjItMjEuNCA4LjJIMzg0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYyMjR6TTgwIDk2Yy04LjggMC0xNiA3LjItMTYgMTZWNDMyYzAgOC44IDcuMiAxNiAxNiAxNkg0MDBjOC44IDAgMTYtNy4yIDE2LTE2VjM4NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMydjQ4YzAgNDQuMi0zNS44IDgwLTgwIDgwSDgwYy00NC4yIDAtODAtMzUuOC04MC04MFYxMTJDMCA2Ny44IDM1LjggMzIgODAgMzJoNDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIODB6XCJdXG59O1xudmFyIGZhU2hhcmVTcXVhcmUgPSBmYVNoYXJlRnJvbVNxdWFyZTtcbnZhciBmYUNoaWxkQ29tYmF0YW50ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoaWxkLWNvbWJhdGFudCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiY2hpbGQtcmlmbGVcIl0sIFwiZTRlMFwiLCBcIk0xNzYgMTI4QTY0IDY0IDAgMSAwIDE3NiAwYTY0IDY0IDAgMSAwIDAgMTI4em0tOCAzNTJWMzUyaDE2VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjMwMC41TDI2MC45IDMyMWM5LjQgMTUgMjkuMiAxOS40IDQ0LjEgMTBzMTkuNC0yOS4yIDEwLTQ0LjFsLTUxLjctODIuMWMtMTcuNi0yNy45LTQ4LjMtNDQuOS04MS4yLTQ0LjlIMTY5LjhjLTMzIDAtNjMuNyAxNi45LTgxLjIgNDQuOUwzNi45IDI4N2MtOS40IDE1LTQuOSAzNC43IDEwIDQ0LjFzMzQuNyA0LjkgNDQuMS0xMEwxMDQgMzAwLjVWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJ6TTQ0OCAwSDQzMiA0MTZjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZWMTMyLjNjLTkuNiA1LjUtMTYgMTUuOS0xNiAyNy43djMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMlYzNjhjMCAxNy43IDE0LjMgMzIgMzIgMzJoMTZ2OTZjMCA4LjggNy4yIDE2IDE2IDE2aDU5LjVjMTAuNCAwIDE4LTkuOCAxNS41LTE5LjlMNDg0IDQwMGg0NGM4LjggMCAxNi03LjIgMTYtMTZWMzY4YzAtOC44LTcuMi0xNi0xNi0xNkg0ODBWMzI1LjNsNTMuMS0xNy43YzYuNS0yLjIgMTAuOS04LjMgMTAuOS0xNS4yVjIwOGMwLTguOC03LjItMTYtMTYtMTZINTEyYy04LjggMC0xNiA3LjItMTYgMTZ2NTZsLTE2IDUuM1YxNjBjMC0xMS44LTYuNC0yMi4yLTE2LTI3LjdWMTZjMC04LjgtNy4yLTE2LTE2LTE2elwiXVxufTtcbnZhciBmYUNoaWxkUmlmbGUgPSBmYUNoaWxkQ29tYmF0YW50O1xudmFyIGZhR3VuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2d1bicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTE5YlwiLCBcIk01MjggNTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR2OEgzMkMxNC4zIDY0IDAgNzguMyAwIDk2VjIwOGMwIDE3LjcgMTQuMyAzMiAzMiAzMkg0MmMyMC44IDAgMzYuMSAxOS42IDMxIDM5LjhMMzMgNDQwLjJjLTIuNCA5LjYtLjIgMTkuNyA1LjggMjcuNVM1NC4xIDQ4MCA2NCA0ODBoOTZjMTQuNyAwIDI3LjUtMTAgMzEtMjQuMkwyMTcgMzUySDMyMS40YzIzLjcgMCA0NC44LTE0LjkgNTIuNy0zNy4yTDQwMC45IDI0MEg0MzJjOC41IDAgMTYuNi0zLjQgMjIuNi05LjRMNDc3LjMgMjA4SDU0NGMxNy43IDAgMzItMTQuMyAzMi0zMlY5NmMwLTE3LjctMTQuMy0zMi0zMi0zMkg1MjhWNTZ6TTMyMS40IDMwNEgyMjlsMTYtNjRoMTA1bC0yMSA1OC43Yy0xLjEgMy4yLTQuMiA1LjMtNy41IDUuM3pNODAgMTI4SDQ2NGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkg4MGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFTcXVhcmVQaG9uZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUtcGhvbmUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcInBob25lLXNxdWFyZVwiXSwgXCJmMDk4XCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZWNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDM4NGMzNS4zIDAgNjQtMjguNyA2NC02NFY5NmMwLTM1LjMtMjguNy02NC02NC02NEg2NHptOTAuNyA5Ni43YzkuNy0yLjYgMTkuOSAyLjMgMjMuNyAxMS42bDIwIDQ4YzMuNCA4LjIgMSAxNy42LTUuOCAyMy4yTDE2OCAyMzEuN2MxNi42IDM1LjIgNDUuMSA2My43IDgwLjMgODAuM2wyMC4yLTI0LjdjNS42LTYuOCAxNS05LjIgMjMuMi01LjhsNDggMjBjOS4zIDMuOSAxNC4yIDE0IDExLjYgMjMuN2wtMTIgNDRDMzM2LjkgMzc4IDMyOSAzODQgMzIwIDM4NEMxOTYuMyAzODQgOTYgMjgzLjcgOTYgMTYwYzAtOSA2LTE2LjkgMTQuNy0xOS4zbDQ0LTEyelwiXVxufTtcbnZhciBmYVBob25lU3F1YXJlID0gZmFTcXVhcmVQaG9uZTtcbnZhciBmYVBsdXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGx1cycsXG4gIGljb246IFs0NDgsIDUxMiwgWzEwMTMzLCA2MTU0MywgXCJhZGRcIl0sIFwiMmJcIiwgXCJNMjU2IDgwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjIyNEg0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkgxOTJWNDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMjg4SDQwMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgyNTZWODB6XCJdXG59O1xudmFyIGZhQWRkID0gZmFQbHVzO1xudmFyIGZhRXhwYW5kID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2V4cGFuZCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjA2NVwiLCBcIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0djk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWOTZoNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzJ6TTY0IDM1MmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnY5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmg5NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg2NFYzNTJ6TTMyMCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmg2NHY2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjY0YzAtMTcuNy0xNC4zLTMyLTMyLTMySDMyMHpNNDQ4IDM1MmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnY2NEgzMjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzUyelwiXVxufTtcbnZhciBmYUNvbXB1dGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvbXB1dGVyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGU1XCIsIFwiTTM4NCA5NlYzMjBINjRMNjQgOTZIMzg0ek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjMyMGMwIDM1LjMgMjguNyA2NCA2NCA2NEgxODEuM2wtMTAuNyAzMkg5NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkgzNTJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMjc3LjNsLTEwLjctMzJIMzg0YzM1LjMgMCA2NC0yOC43IDY0LTY0Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0em00NjQgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhWNDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDY0YzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDUyOHptMTYgNjRoMzJjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZINTQ0Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0tMTYgODBjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDU0NGMtOC44IDAtMTYtNy4yLTE2LTE2em0zMiAxNjBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbnZhciBmYVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3htYXJrJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI4NDczLCAxMDAwNSwgMTAwMDYsIDEwMDYwLCAyMTUsIFwiY2xvc2VcIiwgXCJtdWx0aXBseVwiLCBcInJlbW92ZVwiLCBcInRpbWVzXCJdLCBcImYwMGRcIiwgXCJNMzQyLjYgMTUwLjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMTkyIDIxMC43IDg2LjYgMTA1LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDE0Ni43IDI1NiA0MS40IDM2MS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDE5MiAzMDEuMyAyOTcuNCA0MDYuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDIzNy4zIDI1NiAzNDIuNiAxNTAuNnpcIl1cbn07XG52YXIgZmFDbG9zZSA9IGZhWG1hcms7XG52YXIgZmFNdWx0aXBseSA9IGZhWG1hcms7XG52YXIgZmFSZW1vdmUgPSBmYVhtYXJrO1xudmFyIGZhVGltZXMgPSBmYVhtYXJrO1xudmFyIGZhQXJyb3dzVXBEb3duTGVmdFJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93cy11cC1kb3duLWxlZnQtcmlnaHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImFycm93c1wiXSwgXCJmMDQ3XCIsIFwiTTI3OC42IDkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTY0IDY0Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDkuNC05LjRWMjI0SDEwOS4zbDkuNC05LjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTY0IDY0Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w2NCA2NGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC05LjQtOS40SDIyNFY0MDIuN2wtOS40LTkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsNjQtNjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTkuNCA5LjRWMjg4SDQwMi43bC05LjQgOS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC02NC02NGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsOS40IDkuNEgyODhWMTA5LjNsOS40IDkuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC02NC02NHpcIl1cbn07XG52YXIgZmFBcnJvd3MgPSBmYUFycm93c1VwRG93bkxlZnRSaWdodDtcbnZhciBmYUNoYWxrYm9hcmRVc2VyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoYWxrYm9hcmQtdXNlcicsXG4gIGljb246IFs2NDAsIDUxMiwgW1wiY2hhbGtib2FyZC10ZWFjaGVyXCJdLCBcImY1MWNcIiwgXCJNMTYwIDY0YzAtMzUuMyAyOC43LTY0IDY0LTY0SDU3NmMzNS4zIDAgNjQgMjguNyA2NCA2NFYzNTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRIMzM2LjhjLTExLjgtMjUuNS0yOS45LTQ3LjUtNTIuNC02NEgzODRWMzIwYzAtMTcuNyAxNC4zLTMyIDMyLTMyaDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMydjMyaDY0VjY0TDIyNCA2NHY0OS4xQzIwNS4yIDEwMi4yIDE4My4zIDk2IDE2MCA5NlY2NHptMCA2NGE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnpNMTMzLjMgMzUyaDUzLjNDMjYwLjMgMzUyIDMyMCA0MTEuNyAzMjAgNDg1LjNjMCAxNC43LTExLjkgMjYuNy0yNi43IDI2LjdIMjYuN0MxMS45IDUxMiAwIDUwMC4xIDAgNDg1LjNDMCA0MTEuNyA1OS43IDM1MiAxMzMuMyAzNTJ6XCJdXG59O1xudmFyIGZhQ2hhbGtib2FyZFRlYWNoZXIgPSBmYUNoYWxrYm9hcmRVc2VyO1xudmFyIGZhUGVzb1NpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVzby1zaWduJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlMjIyXCIsIFwiTTY0IDMyQzQ2LjMgMzIgMzIgNDYuMyAzMiA2NHY2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwwIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDAgNjR2OTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzODRoODBjNjguNCAwIDEyNy43LTM5IDE1Ni44LTk2SDM1MmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmgtLjdjLjUtNS4zIC43LTEwLjYgLjctMTZzLS4yLTEwLjctLjctMTZoLjdjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzMyLjhDMzAzLjcgNzEgMjQ0LjQgMzIgMTc2IDMySDY0em0xOTAuNCA5Nkg5NlY5Nmg4MGMzMC41IDAgNTguMiAxMi4yIDc4LjQgMzJ6TTk2IDE5MkgyODYuOWMuNyA1LjIgMS4xIDEwLjYgMS4xIDE2cy0uNCAxMC44LTEuMSAxNkg5NlYxOTJ6bTE1OC40IDk2Yy0yMC4yIDE5LjgtNDcuOSAzMi03OC40IDMySDk2VjI4OEgyNTQuNHpcIl1cbn07XG52YXIgZmFCdWlsZGluZ1NoaWVsZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidWlsZGluZy1zaGllbGQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0ZDhcIiwgXCJNMCA0OEMwIDIxLjUgMjEuNSAwIDQ4IDBIMzM2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4VjIwN2wtNDIuNCAxN0gzMDQgMjcyYy04LjggMC0xNiA3LjItMTYgMTZ2MzIgMjQuMlYzMDRjMCAuOSAuMSAxLjcgLjIgMi42YzIuMyA1OC4xIDI0LjEgMTQ0LjggOTguNyAyMDEuNWMtNS44IDIuNS0xMi4yIDMuOS0xOC45IDMuOUgyNDBWNDMyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4djgwSDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFY0OHpNODAgMjI0Yy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYyNDBjMC04LjgtNy4yLTE2LTE2LTE2SDgwem04MCAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjI0MGMwLTguOC03LjItMTYtMTYtMTZIMTc2Yy04LjggMC0xNiA3LjItMTYgMTZ6TTY0IDExMnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjExMmMwLTguOC03LjItMTYtMTYtMTZIODBjLTguOCAwLTE2IDcuMi0xNiAxNnpNMTc2IDk2Yy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYxMTJjMC04LjgtNy4yLTE2LTE2LTE2SDE3NnptODAgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYxMTJjMC04LjgtNy4yLTE2LTE2LTE2SDI3MmMtOC44IDAtMTYgNy4yLTE2IDE2ek00MjMuMSAyMjUuN2M1LjctMi4zIDEyLjEtMi4zIDE3LjggMGwxMjAgNDhDNTcwIDI3Ny40IDU3NiAyODYuMiA1NzYgMjk2YzAgNjMuMy0yNS45IDE2OC44LTEzNC44IDIxNC4yYy01LjkgMi41LTEyLjYgMi41LTE4LjUgMEMzMTMuOSA0NjQuOCAyODggMzU5LjMgMjg4IDI5NmMwLTkuOCA2LTE4LjYgMTUuMS0yMi4zbDEyMC00OHpNNTI3LjQgMzEyTDQzMiAyNzMuOFY0NjEuN2M2OC4yLTMzIDkxLjUtOTkgOTUuNC0xNDkuN3pcIl1cbn07XG52YXIgZmFCYWJ5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhYnknLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImY3N2NcIiwgXCJNMTUyIDg4YTcyIDcyIDAgMSAxIDE0NCAwQTcyIDcyIDAgMSAxIDE1MiA4OHpNMzkuNyAxNDQuNWMxMy0xNy45IDM4LTIxLjggNTUuOS04LjhMMTMxLjggMTYyYzI2LjggMTkuNSA1OS4xIDMwIDkyLjIgMzBzNjUuNC0xMC41IDkyLjItMzBsMzYuMi0yNi40YzE3LjktMTMgNDIuOS05IDU1LjkgOC44czkgNDIuOS04LjggNTUuOWwtMzYuMiAyNi40Yy0xMy42IDkuOS0yOC4xIDE4LjItNDMuMyAyNVYyODhIMTI4VjI1MS43Yy0xNS4yLTYuNy0yOS43LTE1LjEtNDMuMy0yNUw0OC41IDIwMC4zYy0xNy45LTEzLTIxLjgtMzgtOC44LTU1Ljl6bTg5LjggMTg0LjhsNjAuNiA1My0yNiAzNy4yIDI0LjMgMjQuM2MxNS42IDE1LjYgMTUuNiA0MC45IDAgNTYuNnMtNDAuOSAxNS42LTU2LjYgMGwtNDgtNDhDNzAgNDM4LjYgNjguMSA0MTcgNzkuMiA0MDEuMWw1MC4yLTcxLjh6bTEyOC41IDUzbDYwLjYtNTMgNTAuMiA3MS44YzExLjEgMTUuOSA5LjIgMzcuNS00LjUgNTEuMmwtNDggNDhjLTE1LjYgMTUuNi00MC45IDE1LjYtNTYuNiAwcy0xNS42LTQwLjkgMC01Ni42TDI4NCA0MTkuNGwtMjYtMzcuMnpcIl1cbn07XG52YXIgZmFVc2Vyc0xpbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlcnMtbGluZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU5MlwiLCBcIk0yMTEuMiA5NmE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6TTMyIDI1NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmg4NS42YzEwLjEtMzkuNCAzOC42LTcxLjUgNzUuOC04Ni42Yy05LjctNi0yMS4yLTkuNC0zMy40LTkuNEg5NmMtMzUuMyAwLTY0IDI4LjctNjQgNjR6bTQ2MS42IDMySDU3NmMxNy43IDAgMzItMTQuMyAzMi0zMmMwLTM1LjMtMjguNy02NC02NC02NEg0NDhjLTExLjcgMC0yMi43IDMuMS0zMi4xIDguNmMzOC4xIDE0LjggNjcuNCA0Ny4zIDc3LjcgODcuNHpNMzkxLjIgMjI2LjRjLTYuOS0xLjYtMTQuMi0yLjQtMjEuNi0yLjRoLTk2Yy04LjUgMC0xNi43IDEuMS0yNC41IDMuMWMtMzAuOCA4LjEtNTUuNiAzMS4xLTY2LjEgNjAuOWMtMy41IDEwLTUuNSAyMC44LTUuNSAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmgyMjRjMTcuNyAwIDMyLTE0LjMgMzItMzJjMC0xMS4yLTEuOS0yMi01LjUtMzJjLTEwLjgtMzAuNy0zNi44LTU0LjItNjguOS02MS42ek01NjMuMiA5NmE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6TTMyMS42IDE5MmE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHpNMzIgNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDYwOGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMnpcIl1cbn07XG52YXIgZmFRdW90ZUxlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncXVvdGUtbGVmdCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzgyMjAsIFwicXVvdGUtbGVmdC1hbHRcIl0sIFwiZjEwZFwiLCBcIk0wIDIxNkMwIDE0OS43IDUzLjcgOTYgMTIwIDk2aDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJoLThjLTMwLjkgMC01NiAyNS4xLTU2IDU2djhoNjRjMzUuMyAwIDY0IDI4LjcgNjQgNjR2NjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjMyMCAyODggMjE2em0yNTYgMGMwLTY2LjMgNTMuNy0xMjAgMTIwLTEyMGg4YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyaC04Yy0zMC45IDAtNTYgMjUuMS01NiA1NnY4aDY0YzM1LjMgMCA2NCAyOC43IDY0IDY0djY0YzAgMzUuMy0yOC43IDY0LTY0IDY0SDMyMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMzIwIDI4OCAyMTZ6XCJdXG59O1xudmFyIGZhUXVvdGVMZWZ0QWx0ID0gZmFRdW90ZUxlZnQ7XG52YXIgZmFUcmFjdG9yID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyYWN0b3InLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjg2NjhdLCBcImY3MjJcIiwgXCJNOTYgNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRIMjY2LjNjMjYuMiAwIDQ5LjcgMTUuOSA1OS40IDQwLjJMMzczLjcgMTYwSDQ4MFYxMjYuMmMwLTI0LjggNS44LTQ5LjMgMTYuOS03MS42bDIuNS01YzcuOS0xNS44IDI3LjEtMjIuMiA0Mi45LTE0LjNzMjIuMiAyNy4xIDE0LjMgNDIuOWwtMi41IDVjLTYuNyAxMy4zLTEwLjEgMjgtMTAuMSA0Mi45VjE2MGg1NmMyMi4xIDAgNDAgMTcuOSA0MCA0MHY0NS40YzAgMTYuNS04LjUgMzEuOS0yMi42IDQwLjdsLTQzLjMgMjcuMWMtMTQuMi01LjktMjkuOC05LjItNDYuMS05LjJjLTM5LjMgMC03NC4xIDE4LjktOTYgNDhIMzUyYzAgMTcuNy0xNC4zIDMyLTMyIDMyaC04LjJjLTEuNyA0LjgtMy43IDkuNS01LjggMTQuMWw1LjggNS44YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC0yMi42IDIyLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC01LjgtNS44Yy00LjYgMi4yLTkuMyA0LjEtMTQuMSA1LjhWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMySDE2MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ2LTguMmMtNC44LTEuNy05LjUtMy43LTE0LjEtNS44bC01LjggNS44Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMEw0MC4yIDQ0OS4xYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2w1LjgtNS44Yy0yLjItNC42LTQuMS05LjMtNS44LTE0LjFIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjMyMGMwLTE3LjcgMTQuMy0zMiAzMi0zMmg4LjJjMS43LTQuOCAzLjctOS41IDUuOC0xNC4xbC01LjgtNS44Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2wyMi42LTIyLjZjOS05IDIxLjktMTEuNSAzMy4xLTcuNlYxOTIgMTYwIDY0em0xNzAuMyAwSDE2MHY5NmgzMkgzMDQuN0wyNjYuMyA2NHpNMTc2IDI1NmE4MCA4MCAwIDEgMCAwIDE2MCA4MCA4MCAwIDEgMCAwLTE2MHpNNTI4IDQ0OGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTAgNjRjLTQ4LjYgMC04OC0zOS40LTg4LTg4YzAtMjkuOCAxNC44LTU2LjEgMzcuNC03MmMxNC4zLTEwLjEgMzEuOC0xNiA1MC42LTE2YzIuNyAwIDUuMyAuMSA3LjkgLjNjNDQuOSA0IDgwLjEgNDEuNyA4MC4xIDg3LjdjMCA0OC42LTM5LjQgODgtODggODh6XCJdXG59O1xudmFyIGZhVHJhc2hBcnJvd1VwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyYXNoLWFycm93LXVwJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJ0cmFzaC1yZXN0b3JlXCJdLCBcImY4MjlcIiwgXCJNMTYzLjggMEgyODQuMmMxMi4xIDAgMjMuMiA2LjggMjguNiAxNy43TDMyMCAzMmg5NmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMkMxNC4zIDk2IDAgODEuNyAwIDY0UzE0LjMgMzIgMzIgMzJoOTZsNy4yLTE0LjNDMTQwLjYgNi44IDE1MS43IDAgMTYzLjggMHpNMzIgMTI4SDQxNkwzOTQuOCA0NjdjLTEuNiAyNS4zLTIyLjYgNDUtNDcuOSA0NUgxMDEuMWMtMjUuMyAwLTQ2LjMtMTkuNy00Ny45LTQ1TDMyIDEyOHptMTkyIDY0Yy02LjQgMC0xMi41IDIuNS0xNyA3bC04MCA4MGMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDM5LTM5VjQwOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjI3My45bDM5IDM5YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtODAtODBjLTQuNS00LjUtMTAuNi03LTE3LTd6XCJdXG59O1xudmFyIGZhVHJhc2hSZXN0b3JlID0gZmFUcmFzaEFycm93VXA7XG52YXIgZmFBcnJvd0Rvd25VcExvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctZG93bi11cC1sb2NrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGIwXCIsIFwiTTE1MC42IDUwMi42bDk2LTk2YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDE2MCA0MDIuN1YyODhINDE2VjI3MmMwLTE3LjIgMy45LTMzLjUgMTAuOC00OEgzNTJWMTA5LjNsNDEuNCA0MS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTk2LTk2Yy02LTYtMTQuMS05LjQtMjIuNi05LjRzLTE2LjYgMy40LTIyLjYgOS40bC05NiA5NmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwyODggMTA5LjNWMjI0bC0xMjggMEg5NmwtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg5NlY0MDIuN0w1NC42IDM2MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w5NiA5NmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHpNMTYwIDE5MlY2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlYxOTJoNjR6TTI4OCAzMjBWNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMzIwSDI4OHptMjQwLTgwYzE3LjcgMCAzMiAxNC4zIDMyIDMydjQ4SDQ5NlYyNzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bS04MCAzMnY0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMySDYwOGMxNy43IDAgMzItMTQuMyAzMi0zMlYzNTJjMC0xNy43LTE0LjMtMzItMzItMzJWMjcyYzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwelwiXVxufTtcbnZhciBmYUxpbmVzTGVhbmluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsaW5lcy1sZWFuaW5nJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlNTFlXCIsIFwiTTE5MC40IDc0LjFjNS42LTE2LjgtMy41LTM0LjktMjAuMi00MC41cy0zNC45IDMuNS00MC41IDIwLjJsLTEyOCAzODRjLTUuNiAxNi44IDMuNSAzNC45IDIwLjIgNDAuNXMzNC45LTMuNSA0MC41LTIwLjJsMTI4LTM4NHptNzAuOS00MS43Yy0xNy40LTIuOS0zMy45IDguOS0zNi44IDI2LjNsLTY0IDM4NGMtMi45IDE3LjQgOC45IDMzLjkgMjYuMyAzNi44czMzLjktOC45IDM2LjgtMjYuM2w2NC0zODRjMi45LTE3LjQtOC45LTMzLjktMjYuMy0zNi44ek0zNTIgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyVjQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyelwiXVxufTtcbnZhciBmYVJ1bGVyQ29tYmluZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncnVsZXItY29tYmluZWQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1NDZcIiwgXCJNLjIgNDY4LjlDMi43IDQ5My4xIDIzLjEgNTEyIDQ4IDUxMmw5NiAwIDMyMCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtOTZjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQ4IDAgMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwLTY0IDAgMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwLTY0IDAgMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwLTgwIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsODAgMCAwLTY0LTgwIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsODAgMCAwLTY0LTgwIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsODAgMCAwLTQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4TDAgMzY4bDAgOTZjMCAxLjcgLjEgMy4zIC4yIDQuOXpcIl1cbn07XG52YXIgZmFDb3B5cmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29weXJpZ2h0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTY5XSwgXCJmMWY5XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xOTkuNCAzMTIuNmMzMS4yIDMxLjIgODEuOSAzMS4yIDExMy4xIDBjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45Yy01MCA1MC0xMzEgNTAtMTgxIDBzLTUwLTEzMSAwLTE4MXMxMzEtNTAgMTgxIDBjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGMtMzEuMi0zMS4yLTgxLjktMzEuMi0xMTMuMSAwcy0zMS4yIDgxLjkgMCAxMTMuMXpcIl1cbn07XG52YXIgZmFFcXVhbHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZXF1YWxzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbNjI3NjRdLCBcIjNkXCIsIFwiTTQ4IDEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg0MDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINDh6bTAgMTkyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDQwMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg0OHpcIl1cbn07XG52YXIgZmFCbGVuZGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JsZW5kZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1MTdcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBoNjQgMzJINDcwLjFjMjEuMSAwIDM2LjQgMjAuMSAzMC45IDQwLjRMNDk0LjUgNjRIMzM2Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2SDQ4NS44bC0xNy41IDY0SDMzNmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNkg0NTkuNmwtMTcuNSA2NEgzMzZjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZoOTcuNUw0MTYgMzUySDE2MGwtOC43LTk2SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY2NHpNMTQ1LjUgMTkyTDEzMy44IDY0SDY0VjE5Mmg4MS41ek0xNDQgMzg0SDQzMmMyNi41IDAgNDggMjEuNSA0OCA0OHYzMmMwIDI2LjUtMjEuNSA0OC00OCA0OEgxNDRjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjQzMmMwLTI2LjUgMjEuNS00OCA0OC00OHptMTQ0IDk2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG52YXIgZmFUZWV0aCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZWV0aCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjYyZVwiLCBcIk0wIDEyOEMwIDc1IDQzIDMyIDk2IDMySDQ4MGM1MyAwIDk2IDQzIDk2IDk2VjM4NGMwIDUzLTQzIDk2LTk2IDk2SDk2Yy01MyAwLTk2LTQzLTk2LTk2VjEyOHptMTc2IDQ4djU2YzAgMTMuMyAxMC43IDI0IDI0IDI0aDQ4YzEzLjMgMCAyNC0xMC43IDI0LTI0VjE3NmMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OHptMTc2LTQ4Yy0yNi41IDAtNDggMjEuNS00OCA0OHY1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNGg0OGMxMy4zIDAgMjQtMTAuNyAyNC0yNFYxNzZjMC0yNi41LTIxLjUtNDgtNDgtNDh6TTQ4IDIwOHYyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGg0OGMxMy4zIDAgMjQtMTAuNyAyNC0yNFYyMDhjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDh6TTk2IDM4NGMyNi41IDAgNDgtMjEuNSA0OC00OFYzMTJjMC0xMy4zLTEwLjctMjQtMjQtMjRINzJjLTEzLjMgMC0yNCAxMC43LTI0IDI0djI0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4em04MC00OGMwIDI2LjUgMjEuNSA0OCA0OCA0OHM0OC0yMS41IDQ4LTQ4VjMxMmMwLTEzLjMtMTAuNy0yNC0yNC0yNEgyMDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0djI0em0xNzYgNDhjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMzEyYzAtMTMuMy0xMC43LTI0LTI0LTI0SDMyOGMtMTMuMyAwLTI0IDEwLjctMjQgMjR2MjRjMCAyNi41IDIxLjUgNDggNDggNDh6bTgwLTE3NnYyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGg0OGMxMy4zIDAgMjQtMTAuNyAyNC0yNFYyMDhjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDh6bTQ4IDE3NmMyNi41IDAgNDgtMjEuNSA0OC00OFYzMTJjMC0xMy4zLTEwLjctMjQtMjQtMjRINDU2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHYyNGMwIDI2LjUgMjEuNSA0OCA0OCA0OHpcIl1cbn07XG52YXIgZmFTaGVrZWxTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoZWtlbC1zaWduJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbODM2MiwgXCJpbHNcIiwgXCJzaGVrZWxcIiwgXCJzaGVxZWxcIiwgXCJzaGVxZWwtc2lnblwiXSwgXCJmMjBiXCIsIFwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRWNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWOTZIMTkyYzM1LjMgMCA2NCAyOC43IDY0IDY0VjMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjE2MGMwLTcwLjctNTcuMy0xMjgtMTI4LTEyOEgzMnpNMzIwIDQ4MGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOFY2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlYzNTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRIMTkyVjE5MmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlY0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJIMzIwelwiXVxufTtcbnZhciBmYUlscyA9IGZhU2hla2VsU2lnbjtcbnZhciBmYVNoZWtlbCA9IGZhU2hla2VsU2lnbjtcbnZhciBmYVNoZXFlbCA9IGZhU2hla2VsU2lnbjtcbnZhciBmYVNoZXFlbFNpZ24gPSBmYVNoZWtlbFNpZ247XG52YXIgZmFNYXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFwJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4NTA2LCA2MjA3Ml0sIFwiZjI3OVwiLCBcIk0zODQgNDc2LjFMMTkyIDQyMS4yVjM1LjlMMzg0IDkwLjhWNDc2LjF6bTMyLTEuMlY4OC40TDU0My4xIDM3LjVjMTUuOC02LjMgMzIuOSA1LjMgMzIuOSAyMi4zVjM5NC42YzAgOS44LTYgMTguNi0xNS4xIDIyLjNMNDE2IDQ3NC44ek0xNS4xIDk1LjFMMTYwIDM3LjJWNDIzLjZMMzIuOSA0NzQuNUMxNy4xIDQ4MC44IDAgNDY5LjIgMCA0NTIuMlYxMTcuNGMwLTkuOCA2LTE4LjYgMTUuMS0yMi4zelwiXVxufTtcbnZhciBmYVJvY2tldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyb2NrZXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYxMzVcIiwgXCJNMTU2LjYgMzg0LjlMMTI1LjcgMzU0Yy04LjUtOC41LTExLjUtMjAuOC03LjctMzIuMmMzLTguOSA3LTIwLjUgMTEuOC0zMy44TDI0IDI4OGMtOC42IDAtMTYuNi00LjYtMjAuOS0xMi4xcy00LjItMTYuNyAuMi0yNC4xbDUyLjUtODguNWMxMy0yMS45IDM2LjUtMzUuMyA2MS45LTM1LjNsODIuMyAwYzIuNC00IDQuOC03LjcgNy4yLTExLjNDMjg5LjEtNC4xIDQxMS4xLTguMSA0ODMuOSA1LjNjMTEuNiAyLjEgMjAuNiAxMS4yIDIyLjggMjIuOGMxMy40IDcyLjkgOS4zIDE5NC44LTExMS40IDI3Ni43Yy0zLjUgMi40LTcuMyA0LjgtMTEuMyA3LjJ2ODIuM2MwIDI1LjQtMTMuNCA0OS0zNS4zIDYxLjlsLTg4LjUgNTIuNWMtNy40IDQuNC0xNi42IDQuNS0yNC4xIC4ycy0xMi4xLTEyLjItMTIuMS0yMC45VjM4MC44Yy0xNC4xIDQuOS0yNi40IDguOS0zNS43IDExLjljLTExLjIgMy42LTIzLjQgLjUtMzEuOC03Ljh6TTM4NCAxNjhhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwelwiXVxufTtcbnZhciBmYVBob3RvRmlsbSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwaG90by1maWxtJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJwaG90by12aWRlb1wiXSwgXCJmODdjXCIsIFwiTTI1NiAwSDU3NmMzNS4zIDAgNjQgMjguNyA2NCA2NFYyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRIMjU2Yy0zNS4zIDAtNjQtMjguNy02NC02NFY2NGMwLTM1LjMgMjguNy02NCA2NC02NHpNNDc2IDEwNi43QzQ3MS41IDEwMCA0NjQgOTYgNDU2IDk2cy0xNS41IDQtMjAgMTAuN2wtNTYgODRMMzYyLjcgMTY5Yy00LjYtNS43LTExLjUtOS0xOC43LTlzLTE0LjIgMy4zLTE4LjcgOWwtNjQgODBjLTUuOCA3LjItNi45IDE3LjEtMi45IDI1LjRzMTIuNCAxMy42IDIxLjYgMTMuNmg4MCA0OEg1NTJjOC45IDAgMTctNC45IDIxLjItMTIuN3MzLjctMTcuMy0xLjItMjQuNmwtOTYtMTQ0ek0zMzYgOTZhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNNjQgMTI4aDk2VjM4NHYzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMkgzMjBjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzg0SDUxMnY2NGMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMTkyYzAtMzUuMyAyOC43LTY0IDY0LTY0em04IDY0Yy04LjggMC0xNiA3LjItMTYgMTZ2MTZjMCA4LjggNy4yIDE2IDE2IDE2SDg4YzguOCAwIDE2LTcuMiAxNi0xNlYyMDhjMC04LjgtNy4yLTE2LTE2LTE2SDcyem0wIDEwNGMtOC44IDAtMTYgNy4yLTE2IDE2djE2YzAgOC44IDcuMiAxNiAxNiAxNkg4OGM4LjggMCAxNi03LjIgMTYtMTZWMzEyYzAtOC44LTcuMi0xNi0xNi0xNkg3MnptMCAxMDRjLTguOCAwLTE2IDcuMi0xNiAxNnYxNmMwIDguOCA3LjIgMTYgMTYgMTZIODhjOC44IDAgMTYtNy4yIDE2LTE2VjQxNmMwLTguOC03LjItMTYtMTYtMTZINzJ6bTMzNiAxNnYxNmMwIDguOCA3LjIgMTYgMTYgMTZoMTZjOC44IDAgMTYtNy4yIDE2LTE2VjQxNmMwLTguOC03LjItMTYtMTYtMTZINDI0Yy04LjggMC0xNiA3LjItMTYgMTZ6XCJdXG59O1xudmFyIGZhUGhvdG9WaWRlbyA9IGZhUGhvdG9GaWxtO1xudmFyIGZhRm9sZGVyTWludXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZm9sZGVyLW1pbnVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNjVkXCIsIFwiTTQ0OCA0ODBINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0Vjk2QzAgNjAuNyAyOC43IDMyIDY0IDMySDE5MmMyMC4xIDAgMzkuMSA5LjUgNTEuMiAyNS42bDE5LjIgMjUuNmM2IDguMSAxNS41IDEyLjggMjUuNiAxMi44SDQ0OGMzNS4zIDAgNjQgMjguNyA2NCA2NFY0MTZjMCAzNS4zLTI4LjcgNjQtNjQgNjR6TTE4NCAyNzJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRIMzI4YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDE4NHpcIl1cbn07XG52YXIgZmFTdG9yZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdG9yZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjU0ZVwiLCBcIk01NDcuNiAxMDMuOEw0OTAuMyAxMy4xQzQ4NS4yIDUgNDc2LjEgMCA0NjYuNCAwSDEwOS42Qzk5LjkgMCA5MC44IDUgODUuNyAxMy4xTDI4LjMgMTAzLjhjLTI5LjYgNDYuOC0zLjQgMTExLjkgNTEuOSAxMTkuNGM0IC41IDguMSAuOCAxMi4xIC44YzI2LjEgMCA0OS4zLTExLjQgNjUuMi0yOWMxNS45IDE3LjYgMzkuMSAyOSA2NS4yIDI5YzI2LjEgMCA0OS4zLTExLjQgNjUuMi0yOWMxNS45IDE3LjYgMzkuMSAyOSA2NS4yIDI5YzI2LjIgMCA0OS4zLTExLjQgNjUuMi0yOWMxNiAxNy42IDM5LjEgMjkgNjUuMiAyOWM0LjEgMCA4LjEtLjMgMTIuMS0uOGM1NS41LTcuNCA4MS44LTcyLjUgNTIuMS0xMTkuNHpNNDk5LjcgMjU0LjlsLS4xIDBjLTUuMyAuNy0xMC43IDEuMS0xNi4yIDEuMWMtMTIuNCAwLTI0LjMtMS45LTM1LjQtNS4zVjM4NEgxMjhWMjUwLjZjLTExLjIgMy41LTIzLjIgNS40LTM1LjYgNS40Yy01LjUgMC0xMS0uNC0xNi4zLTEuMWwtLjEgMGMtNC4xLS42LTguMS0xLjMtMTItMi4zVjM4NHY2NGMwIDM1LjMgMjguNyA2NCA2NCA2NEg0NDhjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMzg0IDI1Mi42Yy00IDEtOCAxLjgtMTIuMyAyLjN6XCJdXG59O1xudmFyIGZhQXJyb3dUcmVuZFVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXRyZW5kLXVwJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlMDk4XCIsIFwiTTM4NCAxNjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJINTQ0YzE3LjcgMCAzMiAxNC4zIDMyIDMyVjI4OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYyMDUuM0wzNDIuNiAzNzQuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBMMTkyIDI2OS4zIDU0LjYgNDA2LjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDE2MC0xNjBjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBMMzIwIDMwNi43IDQ2Ni43IDE2MEgzODR6XCJdXG59O1xudmFyIGZhUGx1Z0NpcmNsZU1pbnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsdWctY2lyY2xlLW1pbnVzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTVlXCIsIFwiTTk2IDBDNzguMyAwIDY0IDE0LjMgNjQgMzJ2OTZoNjRWMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6TTI4OCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnY5Nmg2NFYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMzIgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMydjMyYzAgNzcuNCA1NSAxNDIgMTI4IDE1Ni44VjQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjQxMi44YzEyLjMtMi41IDI0LjEtNi40IDM1LjEtMTEuNWMtMi4xLTEwLjgtMy4xLTIxLjktMy4xLTMzLjNjMC04MC4zIDUzLjgtMTQ4IDEyNy4zLTE2OS4yYy41LTIuMiAuNy00LjUgLjctNi44YzAtMTcuNy0xNC4zLTMyLTMyLTMySDMyek01NzYgMzY4YTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS02NCAwYzAgOC44LTcuMiAxNi0xNiAxNkgzNjhjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZINDk2YzguOCAwIDE2IDcuMiAxNiAxNnpcIl1cbn07XG52YXIgZmFTaWduSGFuZ2luZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaWduLWhhbmdpbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInNpZ25cIl0sIFwiZjRkOVwiLCBcIk05NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjY0bDM1MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zNTIgMFY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMTI4SDMyQzE0LjMgMTI4IDAgMTEzLjcgMCA5NlMxNC4zIDY0IDMyIDY0SDY0VjMyQzY0IDE0LjMgNzguMyAwIDk2IDB6bTk2IDE2MEg0NDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJWMzUyYzAgMTcuNy0xNC4zIDMyLTMyIDMySDE5MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMyelwiXVxufTtcbnZhciBmYVNpZ24gPSBmYVNpZ25IYW5naW5nO1xudmFyIGZhQmV6aWVyQ3VydmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmV6aWVyLWN1cnZlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNTViXCIsIFwiTTI5NiAxMzZWODhoNDh2NDhIMjk2ek0yODggMzJjLTI2LjUgMC00OCAyMS41LTQ4IDQ4djRIMTIxLjZDMTExLjIgNjIuNyA4OS4zIDQ4IDY0IDQ4QzI4LjcgNDggMCA3Ni43IDAgMTEyczI4LjcgNjQgNjQgNjRjMjUuMyAwIDQ3LjItMTQuNyA1Ny42LTM2aDY2LjljLTU4LjkgMzkuNi05OC45IDEwNS0xMDQgMTgwSDgwYy0yNi41IDAtNDggMjEuNS00OCA0OHY2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGg2NGMyNi41IDAgNDgtMjEuNSA0OC00OFYzNjhjMC0yNi41LTIxLjUtNDgtNDgtNDhoLTMuM2M1LjktNjcgNDguNS0xMjMuNCAxMDcuNS0xNDkuMWM4LjYgMTIuNyAyMy4yIDIxLjEgMzkuOCAyMS4xaDY0YzE2LjYgMCAzMS4xLTguNCAzOS44LTIxLjFjNTkgMjUuNyAxMDEuNiA4Mi4xIDEwNy41IDE0OS4xSDQ5NmMtMjYuNSAwLTQ4IDIxLjUtNDggNDh2NjRjMCAyNi41IDIxLjUgNDggNDggNDhoNjRjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMzY4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4aC00LjVjLTUtNzUtNDUuMS0xNDAuNC0xMDQtMTgwaDY2LjljMTAuNCAyMS4zIDMyLjMgMzYgNTcuNiAzNmMzNS4zIDAgNjQtMjguNyA2NC02NHMtMjguNy02NC02NC02NGMtMjUuMyAwLTQ3LjIgMTQuNy01Ny42IDM2SDQwMFY4MGMwLTI2LjUtMjEuNS00OC00OC00OEgyODh6TTg4IDM3Nmg0OHY0OEg4OFYzNzZ6bTQxNiA0OFYzNzZoNDh2NDhINTA0elwiXVxufTtcbnZhciBmYUJlbGxTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiZWxsLXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4Mjc3LCA2MTk0M10sIFwiZjFmNlwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43bC05MC4yLTcwLjdjLjItLjQgLjQtLjkgLjYtMS4zYzUuMi0xMS41IDMuMS0yNS01LjMtMzQuNGwtNy40LTguM0M0OTcuMyAzMTkuMiA0ODAgMjczLjkgNDgwIDIyNi44VjIwOGMwLTc3LjQtNTUtMTQyLTEyOC0xNTYuOFYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlY1MS4yYy00Mi42IDguNi03OSAzNC4yLTEwMiA2OS4zTDM4LjggNS4xek00MDYuMiA0MTZMMTYwIDIyMi4xdjQuOGMwIDQ3LTE3LjMgOTIuNC00OC41IDEyNy42bC03LjQgOC4zYy04LjQgOS40LTEwLjQgMjIuOS01LjMgMzQuNFMxMTUuNCA0MTYgMTI4IDQxNkg0MDYuMnptLTQwLjkgNzcuM2MxMi0xMiAxOC43LTI4LjMgMTguNy00NS4zSDMyMCAyNTZjMCAxNyA2LjcgMzMuMyAxOC43IDQ1LjNzMjguMyAxOC43IDQ1LjMgMTguN3MzMy4zLTYuNyA0NS4zLTE4Ljd6XCJdXG59O1xudmFyIGZhVGFibGV0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhYmxldCcsXG4gIGljb246IFs0NDgsIDUxMiwgW1widGFibGV0LWFuZHJvaWRcIl0sIFwiZjNmYlwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzg0YzM1LjMgMCA2NC0yOC43IDY0LTY0VjY0YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0ek0xNzYgNDMyaDk2YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDE3NmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFUYWJsZXRBbmRyb2lkID0gZmFUYWJsZXQ7XG52YXIgZmFTY2hvb2xGbGFnID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NjaG9vbC1mbGFnJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTZlXCIsIFwiTTI4OCAwSDQwMGM4LjggMCAxNiA3LjIgMTYgMTZWODBjMCA4LjgtNy4yIDE2LTE2IDE2SDMyMC43bDg5LjYgNjRINTEyYzM1LjMgMCA2NCAyOC43IDY0IDY0VjQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEgzMzZWNDAwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4VjUxMkg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMjI0YzAtMzUuMyAyOC43LTY0IDY0LTY0SDE2NS43TDI1NiA5NS41VjMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem00OCAyNDBhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNODAgMjI0Yy04LjggMC0xNiA3LjItMTYgMTZ2NjRjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYyNDBjMC04LjgtNy4yLTE2LTE2LTE2SDgwem0zNjggMTZ2NjRjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYyNDBjMC04LjgtNy4yLTE2LTE2LTE2SDQ2NGMtOC44IDAtMTYgNy4yLTE2IDE2ek04MCAzNTJjLTguOCAwLTE2IDcuMi0xNiAxNnY2NGMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjM2OGMwLTguOC03LjItMTYtMTYtMTZIODB6bTM4NCAwYy04LjggMC0xNiA3LjItMTYgMTZ2NjRjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYzNjhjMC04LjgtNy4yLTE2LTE2LTE2SDQ2NHpcIl1cbn07XG52YXIgZmFGaWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1NzVcIiwgXCJNODYuNiA5LjRDNzQuMS0zLjEgNTMuOS0zLjEgNDEuNCA5LjRzLTEyLjUgMzIuOCAwIDQ1LjNMMTIyLjcgMTM2IDMwLjYgMjI4LjFjLTM3LjUgMzcuNS0zNy41IDk4LjMgMCAxMzUuOEwxNDguMSA0ODEuNGMzNy41IDM3LjUgOTguMyAzNy41IDEzNS44IDBMNDc0LjMgMjkwLjljMjguMS0yOC4xIDI4LjEtNzMuNyAwLTEwMS44TDMyMi45IDM3LjdjLTI4LjEtMjguMS03My43LTI4LjEtMTAxLjggMEwxNjggOTAuNyA4Ni42IDkuNHpNMTY4IDE4MS4zbDQ5LjQgNDkuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDIxMy4zIDEzNmw1My4xLTUzLjFjMy4xLTMuMSA4LjItMy4xIDExLjMgMEw0MjkuMSAyMzQuM2MzLjEgMy4xIDMuMSA4LjIgMCAxMS4zTDM4Ni43IDI4OEg2Ny41YzEuNC01LjQgNC4yLTEwLjQgOC40LTE0LjZMMTY4IDE4MS4zelwiXVxufTtcbnZhciBmYUFuZ2xlVXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5nbGUtdXAnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs4OTYzXSwgXCJmMTA2XCIsIFwiTTIwMS40IDEzNy40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDE2MCAxNjBjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMjI0IDIwNS4zIDg2LjYgMzQyLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDE2MC0xNjB6XCJdXG59O1xudmFyIGZhRHJ1bXN0aWNrQml0ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkcnVtc3RpY2stYml0ZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjZkN1wiLCBcIk0xNjAgMjY1LjJjMCA4LjUtMy40IDE2LjYtOS40IDIyLjZsLTI2LjggMjYuOGMtMTIuMyAxMi4zLTMyLjUgMTEuNC00OS40IDcuMkM2OS44IDMyMC42IDY1IDMyMCA2MCAzMjBjLTMzLjEgMC02MCAyNi45LTYwIDYwczI2LjkgNjAgNjAgNjBjNi4zIDAgMTIgNS43IDEyIDEyYzAgMzMuMSAyNi45IDYwIDYwIDYwczYwLTI2LjkgNjAtNjBjMC01LS42LTkuOC0xLjgtMTQuNWMtNC4yLTE2LjktNS4yLTM3LjEgNy4yLTQ5LjRsMjYuOC0yNi44YzYtNiAxNC4xLTkuNCAyMi42LTkuNEgzMzZjNi4zIDAgMTIuNC0uMyAxOC41LTFjMTEuOS0xLjIgMTYuNC0xNS41IDEwLjgtMjZjLTguNS0xNS44LTEzLjMtMzMuOC0xMy4zLTUzYzAtNjEuOSA1MC4xLTExMiAxMTItMTEyYzggMCAxNS43IC44IDIzLjIgMi40YzExLjcgMi41IDI0LjEtNS45IDIyLTE3LjZDNDk0LjUgNjIuNSA0MjIuNSAwIDMzNiAwQzIzOC44IDAgMTYwIDc4LjggMTYwIDE3NnY4OS4yelwiXVxufTtcbnZhciBmYUhvbGx5QmVycnkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG9sbHktYmVycnknLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3YWFcIiwgXCJNMjU2IDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptLTgwIDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNMjc2LjggMzgzLjhjMSAuMSAyLjEgLjIgMy4yIC4yYzM5LjggMCA3MiAzMi4yIDcyIDcydjIyLjdjMCAxNi40IDE2IDI3LjkgMzEuNiAyMi44bDEyLjgtNC4zYzE4LTYgMzcuMy02LjUgNTUuNi0xLjVsMTkuNCA1LjNjMTcuOSA0LjkgMzQuNC0xMS42IDI5LjUtMjkuNUw0OTUuNiA0NTJjLTUtMTguMy00LjQtMzcuNiAxLjUtNTUuNmw0LjMtMTIuOGM1LjItMTUuNS02LjQtMzEuNi0yMi44LTMxLjZjLTM0LjYgMC02Mi43LTI4LjEtNjIuNy02Mi43di0zMmMwLTE2LjQtMTYtMjcuOS0zMS42LTIyLjhsLTEyLjggNC4zYy0xOCA2LTM3LjMgNi41LTU1LjYgMS41bC0yOS42LTguMWMtMi45LS44LTUuOS0xLTguNy0uN2M0LjIgOS43IDUuOCAyMC44IDMuNyAzMi4zTDI3NSAyOTguN2MtMS41IDguNC0xLjQgMTcgLjUgMjUuM2w1LjMgMjMuOWMyLjggMTIuNyAxLjEgMjUuMi00IDM1Ljl6TTEyNy42IDIzNC41Yy0xNS41LTUuMi0zMS42IDYuNC0zMS42IDIyLjh2MzJDOTYgMzIzLjkgNjcuOSAzNTIgMzMuMyAzNTJjLTE2LjQgMC0yNy45IDE2LTIyLjggMzEuNmw0LjMgMTIuOGM2IDE4IDYuNSAzNy4zIDEuNSA1NS42bC01LjMgMTkuNEM2LjIgNDg5LjQgMjIuNiA1MDUuOCA0MC41IDUwMUw2MCA0OTUuNmMxOC4zLTUgMzcuNi00LjUgNTUuNiAxLjVsMTIuOCA0LjNjMTUuNSA1LjIgMzEuNi02LjQgMzEuNi0yMi44di0zMmMwLTM0LjYgMjguMS02Mi43IDYyLjctNjIuN2MxNi40IDAgMjcuOS0xNiAyMi44LTMxLjZsLTQuMy0xMi44Yy02LTE4LTYuNS0zNy4zLTEuNS01NS42bDUuMy0xOS40YzQuOS0xNy45LTExLjYtMzQuNC0yOS41LTI5LjVMMTk2IDI0MC40Yy0xOC4zIDUtMzcuNiA0LjQtNTUuNi0xLjVsLTEyLjgtNC4zek0zODQgMTQ0YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6XCJdXG59O1xudmFyIGZhQ2hldnJvbkxlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hldnJvbi1sZWZ0JyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbOTAwMV0sIFwiZjA1M1wiLCBcIk05LjQgMjMzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDE5MiAxOTJjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0w3Ny4zIDI1NiAyNDYuNiA4Ni42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0xOTIgMTkyelwiXVxufTtcbnZhciBmYUJhY3RlcmlhID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhY3RlcmlhJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlMDU5XCIsIFwiTTMwNC45IC43Yy05LjYtMi43LTE5LjUgMi44LTIyLjMgMTIuNGwtNC4zIDE1LjJjLTguMy0uNi0xNi44IDAtMjUuMiAxLjljLTcuMyAxLjctMTQuMyAzLjUtMjEuMSA1LjVsLTUuNS0xMi43Yy0zLjktOS4xLTE0LjUtMTMuNC0yMy42LTkuNXMtMTMuNCAxNC41LTkuNSAyMy42bDQuNCAxMC40Yy0xNi42IDYuNy0zMS43IDE0LjQtNDUuNCAyMi44TDE0NyA2MmMtNS41LTguMy0xNi43LTEwLjUtMjUtNXMtMTAuNSAxNi43LTUgMjVsNiA5Yy0xMy43IDExLTI1LjUgMjIuOC0zNS44IDM0LjlsLTEwLThjLTcuOC02LjItMTkuMS01LTI1LjMgMi44cy01IDE5LjEgMi44IDI1LjNMNjUuOSAxNTVjLTEuOCAyLjgtMy41IDUuNy01LjEgOC41Yy02LjYgMTEuNC0xMS44IDIyLjYtMTYgMzNsLTgtMy4yYy05LjItMy43LTE5LjcgLjgtMjMuNCAxMHMuOCAxOS43IDEwIDIzLjRsMTAuNCA0LjJjLS4yIC44LS40IDEuNS0uNSAyLjNjLTIuMiA5LjMtMy40IDE3LjMtNC4xIDIzLjRjLS40IDMuMS0uNiA1LjctLjggNy44Yy0uMSAxLjEtLjEgMi0uMiAyLjhsLS4xIDEuMSAwIC41IDAgLjIgMCAuMWMwIDAgMCAuMSAyOS4xIDFsLS4xIDBMMjggMjY5LjNjLS4xIDMuMSAwIDYuMSAuMiA5LjFsLTE1LjIgNC4zQzMuNSAyODUuNC0yIDI5NS40IC43IDMwNC45czEyLjcgMTUuMSAyMi4zIDEyLjRsMTUuNi00LjVjNy42IDEzLjYgMTguOSAyNSAzMi42IDMyLjZMNjYuNyAzNjFjLTIuNyA5LjYgMi44IDE5LjUgMTIuNCAyMi4zczE5LjUtMi44IDIyLjMtMTIuNGw0LjMtMTUuMmMxLjIgLjEgMi40IC4yIDMuNiAuMmMxNS42IC41IDMwLjMtMy4zIDQzLTEwLjJsOSA5YzcgNyAxOC40IDcgMjUuNSAwczctMTguNCAwLTI1LjVsLTcuMi03LjJjOS4zLTEyLjYgMTUuMi0yNy44IDE2LjMtNDQuNWw3LjEgM2M5LjEgMy45IDE5LjctLjMgMjMuNi05LjVzLS4zLTE5LjctOS41LTIzLjZsLTguNi0zLjdjNi40LTkuOSAxNy4zLTIyLjQgMzYuOS0zMy4zbDEuMyA0LjRjMi43IDkuNiAxMi43IDE1LjEgMjIuMyAxMi40czE1LjEtMTIuNyAxMi40LTIyLjNsLTIuMy04LjFjMy44LTEuMSA3LjctMi4xIDExLjktMy4xYzExLjYtMi43IDIyLjEtNy43IDMxLjEtMTQuNGw3LjIgNy4yYzcgNyAxOC40IDcgMjUuNSAwczctMTguNCAwLTI1LjVsLTktOWM3LjYtMTMuOSAxMS4zLTMwLjEgMTAuMS00Ni42bDE1LjItNC4zYzkuNi0yLjcgMTUuMS0xMi43IDEyLjQtMjIuM1MzNzAuNiA2NCAzNjEgNjYuN2wtMTUuNiA0LjVjLTcuNy0xMy45LTE5LjEtMjUuMS0zMi42LTMyLjZsNC41LTE1LjZjMi43LTkuNi0yLjgtMTkuNS0xMi40LTIyLjN6TTExMiAyNzJsLTQ4LTEuNSAwIDBjMTEuNyAuNCAyNy4zIC45IDQ4IDEuNnptMTYtODBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em02NC00OGExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwek0zMjIuNyA0ODljLTIuNyA5LjYgMi44IDE5LjUgMTIuNCAyMi4zczE5LjUtMi44IDIyLjItMTIuNGw0LjMtMTUuMmM4LjMgLjYgMTYuOCAwIDI1LjItMS45YzcuMy0xLjcgMTQuMy0zLjUgMjEuMS01LjVsNS41IDEyLjdjMy45IDkuMSAxNC41IDEzLjQgMjMuNiA5LjVzMTMuNC0xNC41IDkuNS0yMy42bC00LjQtMTAuNGMxNi42LTYuNyAzMS43LTE0LjQgNDUuNC0yMi44TDQ5MyA0NTBjNS41IDguMyAxNi43IDEwLjUgMjUgNXMxMC41LTE2LjcgNS0yNWwtNi05YzEzLjctMTEgMjUuNS0yMi44IDM1LjgtMzQuOWwxMCA4YzcuOCA2LjIgMTkuMSA1IDI1LjMtMi44czUtMTkuMS0yLjgtMjUuM0w1NzQuMSAzNTdjMS44LTIuOCAzLjUtNS43IDUuMS04LjVjNi42LTExLjQgMTEuOC0yMi42IDE2LTMzbDggMy4yYzkuMiAzLjcgMTkuNy0uOCAyMy40LTEwcy0uOC0xOS43LTEwLTIzLjRsLTEwLjQtNC4yYy4yLS44IC40LTEuNSAuNS0yLjNjMi4yLTkuMyAzLjQtMTcuMyA0LjEtMjMuNGMuNC0zLjEgLjYtNS43IC44LTcuOGMuMS0xLjEgLjEtMiAuMi0yLjhsLjEtMS4xIDAtLjUgMC0uMiAwLS4xYzAgMCAwLS4xLTI5LjEtMWwuMSAwIDI5LjEgLjljLjEtMy4xIDAtNi4xLS4yLTkuMWwxNS4yLTQuM2M5LjYtMi43IDE1LjEtMTIuNyAxMi40LTIyLjNzLTEyLjctMTUuMS0yMi4zLTEyLjRsLTE1LjYgNC41Yy03LjYtMTMuNi0xOC45LTI1LTMyLjYtMzIuNmw0LjUtMTUuNmMyLjctOS42LTIuOC0xOS41LTEyLjQtMjIuM3MtMTkuNSAyLjgtMjIuMyAxMi40bC00LjMgMTUuMmMtMS4yLS4xLTIuNC0uMi0zLjYtLjJjLTE1LjYtLjUtMzAuMyAzLjMtNDMgMTAuMmwtOS05Yy03LTctMTguNC03LTI1LjUgMHMtNyAxOC40IDAgMjUuNWw3LjIgNy4yYy05LjMgMTIuNi0xNS4yIDI3LjgtMTYuMyA0NC41bC03LjEtM2MtOS4xLTMuOS0xOS43IC4zLTIzLjYgOS41cy4zIDE5LjcgOS41IDIzLjZsOC42IDMuN2MtNi40IDkuOS0xNy4zIDIyLjQtMzYuOSAzMy4zbC0xLjMtNC40Yy0yLjctOS42LTEyLjctMTUuMS0yMi4zLTEyLjRzLTE1LjEgMTIuNy0xMi40IDIyLjNsMi4zIDguMWMtMy44IDEuMS03LjcgMi4xLTExLjkgMy4xYy0xMS42IDIuNy0yMi4xIDcuNy0zMS4xIDE0LjRsLTcuMi03LjJjLTctNy0xOC40LTctMjUuNSAwcy03IDE4LjQgMCAyNS41bDkgOWMtNy42IDEzLjktMTEuMyAzMC4xLTEwLjEgNDYuNmwtMTUuMiA0LjNjLTkuNiAyLjctMTUuMSAxMi43LTEyLjQgMjIuMnMxMi43IDE1LjEgMjIuMyAxMi40bDE1LjYtNC41YzcuNyAxMy45IDE5LjEgMjUuMSAzMi42IDMyLjZMMzIyLjcgNDg5ek01NzYgMjQxLjVsMCAwYy0xMS43LS40LTI3LjMtLjktNDgtMS42bDQ4IDEuNXpNNDQ4IDM4NGEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwelwiXVxufTtcbnZhciBmYUhhbmRMaXphcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZC1saXphcmQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYyNThcIiwgXCJNMCAxMTJDMCA4NS41IDIxLjUgNjQgNDggNjRIMTYwaDgwIDQ2LjVjMzYuOCAwIDcxLjIgMTggOTIuMSA0OC4ybDExMy41IDE2NGMxMyAxOC43IDE5LjkgNDEgMTkuOSA2My44djEyIDE2IDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMySDM4NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWNDAyLjJMMjczLjkgMzUySDI0MCAxNjAgMTEyYy0yNi41IDAtNDgtMjEuNS00OC00OHMyMS41LTQ4IDQ4LTQ4aDQ4IDgwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4SDE2MCA0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDh6XCJdXG59O1xudmFyIGZhTm90ZGVmID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ25vdGRlZicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTFmZVwiLCBcIk02NCAzOTAuM0wxNTMuNSAyNTYgNjQgMTIxLjdWMzkwLjN6TTEwMi41IDQ0OEgyODEuNUwxOTIgMzEzLjcgMTAyLjUgNDQ4em0xMjgtMTkyTDMyMCAzOTAuM1YxMjEuN0wyMzAuNSAyNTZ6TTI4MS41IDY0SDEwMi41TDE5MiAxOTguMyAyODEuNSA2NHpNMCA0OEMwIDIxLjUgMjEuNSAwIDQ4IDBIMzM2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4VjQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWNDh6XCJdXG59O1xudmFyIGZhRGlzZWFzZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkaXNlYXNlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmN2ZhXCIsIFwiTTIzNi40IDYxLjRMMjI3IDc1LjVjLTIxLjMgMzItNTkuNCA0OC41LTk3LjMgNDIuMWwtNTkuNi05LjlDMzMuNCAxMDEuNiAwIDEyOS45IC4xIDE2Ny4xYzAgMTUuOSA2LjQgMzEuMiAxNy42IDQyLjVsMjkuMiAyOS4yYzExIDExIDE3LjIgMjUuOSAxNy4yIDQxLjVjMCAxNS44LTYuNCAzMC45LTE3LjcgNDJMMzMuMyAzMzUuMUMyMi4yIDM0NS45IDE2IDM2MC43IDE2IDM3Ni4yYzAgMzYuOCAzNC4xIDY0LjIgNzAuMSA1Ni4ybDYyLjMtMTMuOGM3LjctMS43IDE1LjctMi42IDIzLjYtMi42aDEwYzI3LjIgMCA1My43IDkuMyA3NSAyNi4zTDI4Ny44IDQ2N2MxMC41IDguNCAyMy42IDEzIDM3IDEzYzMyLjcgMCA1OS4zLTI2LjUgNTkuMy01OS4zbDAtMjUuMmMwLTM0LjkgMjEuNC02Ni4yIDUzLjktNzguOGwzNi45LTE0LjNjMjIuNC04LjcgMzcuMi0zMC4zIDM3LjItNTQuM2MwLTI4LjEtMjAuMS01Mi4zLTQ3LjgtNTcuM2wtMjgtNS4xYy0zNi41LTYuNy02NS40LTM0LjUtNzMuNi03MC43bC03LjEtMzEuNUMzNDguOSA1My40IDMyMi4xIDMyIDI5MS4zIDMyYy0yMiAwLTQyLjYgMTEtNTQuOSAyOS40ek0xNjAgMTkyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDE2YTE2IDE2IDAgMSAxIDMyIDAgMTYgMTYgMCAxIDEgLTMyIDB6bTAgODBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbnZhciBmYUJyaWVmY2FzZU1lZGljYWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnJpZWZjYXNlLW1lZGljYWwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY0NjlcIiwgXCJNMTg0IDQ4SDMyOGM0LjQgMCA4IDMuNiA4IDhWOTZIMTc2VjU2YzAtNC40IDMuNi04IDgtOHptLTU2IDhWOTZINjRDMjguNyA5NiAwIDEyNC43IDAgMTYwVjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEg0NDhjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTYwYzAtMzUuMy0yOC43LTY0LTY0LTY0SDM4NFY1NmMwLTMwLjktMjUuMS01Ni01Ni01NkgxODRjLTMwLjkgMC01NiAyNS4xLTU2IDU2em05NiAxNTJjMC04LjggNy4yLTE2IDE2LTE2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnY0OGg0OGM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDI4OHY0OGMwIDguOC03LjIgMTYtMTYgMTZIMjQwYy04LjggMC0xNi03LjItMTYtMTZWMzIwSDE3NmMtOC44IDAtMTYtNy4yLTE2LTE2VjI3MmMwLTguOCA3LjItMTYgMTYtMTZoNDhWMjA4elwiXVxufTtcbnZhciBmYUdlbmRlcmxlc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ2VuZGVybGVzcycsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjIyZFwiLCBcIk0xOTIgMTQ0YTExMiAxMTIgMCAxIDEgMCAyMjQgMTEyIDExMiAwIDEgMSAwLTIyNHptMCAyODhhMTc2IDE3NiAwIDEgMCAwLTM1MiAxNzYgMTc2IDAgMSAwIDAgMzUyelwiXVxufTtcbnZhciBmYUNoZXZyb25SaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGV2cm9uLXJpZ2h0JyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbOTAwMl0sIFwiZjA1NFwiLCBcIk0zMTAuNiAyMzMuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtMTkyIDE5MmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMjQyLjcgMjU2IDczLjQgODYuNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGwxOTIgMTkyelwiXVxufTtcbnZhciBmYVJldHdlZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmV0d2VldCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjA3OVwiLCBcIk0yNzIgNDE2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDE2MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMTkyaDMyYzEyLjkgMCAyNC42LTcuOCAyOS42LTE5LjhzMi4yLTI1LjctNi45LTM0LjlsLTY0LTY0Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTkuMiA5LjItMTEuOSAyMi45LTYuOSAzNC45czE2LjYgMTkuOCAyOS42IDE5LjhsMzIgMCAwIDEyOGMwIDUzIDQzIDk2IDk2IDk2SDI3MnpNMzA0IDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDExMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4SDQxNmMtMTIuOSAwLTI0LjYgNy44LTI5LjYgMTkuOHMtMi4yIDI1LjcgNi45IDM0LjlsNjQgNjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsNjQtNjRjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlzLTE2LjYtMTkuOC0yOS42LTE5LjhsLTMyIDBWMTkyYzAtNTMtNDMtOTYtOTYtOTZMMzA0IDk2elwiXVxufTtcbnZhciBmYUNhclJlYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FyLXJlYXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImNhci1hbHRcIl0sIFwiZjVkZVwiLCBcIk0xNjUuNCA5NkgzNDYuNmMxMy42IDAgMjUuNyA4LjYgMzAuMiAyMS40TDQwMi45IDE5MkgxMDkuMWwyNi4xLTc0LjZjNC41LTEyLjggMTYuNi0yMS40IDMwLjItMjEuNHptLTkwLjYgLjNMMzkuNiAxOTYuOEMxNi40IDIwNi40IDAgMjI5LjMgMCAyNTZ2ODBjMCAyMy43IDEyLjkgNDQuNCAzMiA1NS40VjQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMkg5NmMxNy43IDAgMzItMTQuMyAzMi0zMlY0MDBIMzg0djQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyaDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM5MS40YzE5LjEtMTEuMSAzMi0zMS43IDMyLTU1LjRWMjU2YzAtMjYuNy0xNi40LTQ5LjYtMzkuNi01OS4yTDQzNy4yIDk2LjNDNDIzLjcgNTcuOCAzODcuNCAzMiAzNDYuNiAzMkgxNjUuNGMtNDAuOCAwLTc3LjEgMjUuOC05MC42IDY0LjN6TTIwOCAyNzJoOTZjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgyMDhjLTguOCAwLTE2LTcuMi0xNi0xNlYyODhjMC04LjggNy4yLTE2IDE2LTE2ek00OCAyODBjMC0xMy4zIDEwLjctMjQgMjQtMjRoMzJjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRINzJjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0zNjAtMjRoMzJjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRINDA4Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0elwiXVxufTtcbnZhciBmYUNhckFsdCA9IGZhQ2FyUmVhcjtcbnZhciBmYVB1bXBTb2FwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3B1bXAtc29hcCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTA2YlwiLCBcIk0xMjggMzJ2OTZIMjU2Vjk2aDYwLjFjNC4yIDAgOC4zIDEuNyAxMS4zIDQuN2wzMy45IDMzLjljMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wzNzIuNyA1NS40Yy0xNS0xNS0zNS40LTIzLjQtNTYuNi0yMy40SDI1NmMwLTE3LjctMTQuMy0zMi0zMi0zMkgxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek0xMTcuNCAxNjBjLTMzLjMgMC02MSAyNS41LTYzLjggNTguN0wzNSA0NDIuN0MzMS45IDQ4MCA2MS4zIDUxMiA5OC44IDUxMkgyODUuMmMzNy40IDAgNjYuOS0zMiA2My44LTY5LjNsLTE4LjctMjI0Yy0yLjgtMzMuMi0zMC41LTU4LjctNjMuOC01OC43SDExNy40ek0yNTYgMzYwYzAgMzUuMy0yOC43IDU2LTY0IDU2cy02NC0yMC43LTY0LTU2YzAtMzIuNSAzNy04MC45IDUwLjktOTcuOWMzLjItMy45IDguMS02LjEgMTMuMS02LjFzOS45IDIuMiAxMy4xIDYuMUMyMTkgMjc5LjEgMjU2IDMyNy41IDI1NiAzNjB6XCJdXG59O1xudmFyIGZhVmlkZW9TbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2aWRlby1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjRlMlwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43bC04Ni40LTY3LjcgMTMuOCA5LjJjOS44IDYuNSAyMi40IDcuMiAzMi45IDEuNnMxNi45LTE2LjQgMTYuOS0yOC4yVjEyOGMwLTExLjgtNi41LTIyLjYtMTYuOS0yOC4ycy0yMy01LTMyLjkgMS42bC05NiA2NEw0NDggMTc0LjlWMTkyIDMyMHY1LjhsLTMyLTI1LjFWMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0SDExMy45TDM4LjggNS4xek00MDcgNDE2LjdMMzIuMyAxMjEuNWMtLjIgMi4xLS4zIDQuMy0uMyA2LjVWMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0SDM1MmMyMy40IDAgNDMuOS0xMi42IDU1LTMxLjN6XCJdXG59O1xudmFyIGZhQmF0dGVyeVF1YXJ0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmF0dGVyeS1xdWFydGVyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJiYXR0ZXJ5LTJcIl0sIFwiZjI0M1wiLCBcIk00NjQgMTYwYzguOCAwIDE2IDcuMiAxNiAxNlYzMzZjMCA4LjgtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZWMTc2YzAtOC44IDcuMi0xNiAxNi0xNkg0NjR6TTgwIDk2QzM1LjggOTYgMCAxMzEuOCAwIDE3NlYzMzZjMCA0NC4yIDM1LjggODAgODAgODBINDY0YzQ0LjIgMCA4MC0zNS44IDgwLTgwVjMyMGMxNy43IDAgMzItMTQuMyAzMi0zMlYyMjRjMC0xNy43LTE0LjMtMzItMzItMzJWMTc2YzAtNDQuMi0zNS44LTgwLTgwLTgwSDgwem0xMTIgOTZIOTZWMzIwaDk2VjE5MnpcIl1cbn07XG52YXIgZmFCYXR0ZXJ5MiA9IGZhQmF0dGVyeVF1YXJ0ZXI7XG52YXIgZmFSYWRpbyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyYWRpbycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODI1MV0sIFwiZjhkN1wiLCBcIk00OTQuOCA0N2MxMi43LTMuNyAyMC0xNy4xIDE2LjMtMjkuOFM0OTQtMi44IDQ4MS4yIDFMNTEuNyAxMjYuOWMtOS40IDIuNy0xNy45IDcuMy0yNS4xIDEzLjJDMTAuNSAxNTEuNyAwIDE3MC42IDAgMTkydjRWMzA0IDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEg0NDhjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTkyYzAtMzUuMy0yOC43LTY0LTY0LTY0SDIxOC41TDQ5NC44IDQ3ek0zNjggMjQwYTgwIDgwIDAgMSAxIDAgMTYwIDgwIDgwIDAgMSAxIDAtMTYwek04MCAyNTZjMC04LjggNy4yLTE2IDE2LTE2aDk2YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDk2Yy04LjggMC0xNi03LjItMTYtMTZ6TTY0IDMyMGMwLTguOCA3LjItMTYgMTYtMTZIMjA4YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZ6bTE2IDY0YzAtOC44IDcuMi0xNiAxNi0xNmg5NmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkg5NmMtOC44IDAtMTYtNy4yLTE2LTE2elwiXVxufTtcbnZhciBmYUJhYnlDYXJyaWFnZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYWJ5LWNhcnJpYWdlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJjYXJyaWFnZS1iYWJ5XCJdLCBcImY3N2RcIiwgXCJNMjU2IDE5MkguMUMyLjcgMTE3LjkgNDEuMyA1Mi45IDk5IDE0LjFjMTMuMy04LjkgMzAuOC00LjMgMzkuOSA4LjhMMjU2IDE5MnptMTI4LTMyYzAtMzUuMyAyOC43LTY0IDY0LTY0aDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwdjY0YzAgMjUuMi01LjggNTAuMi0xNyA3My41cy0yNy44IDQ0LjUtNDguNiA2Mi4zcy00NS41IDMyLTcyLjcgNDEuNlMyNTMuNCA0MTYgMjI0IDQxNnMtNTguNS01LTg1LjctMTQuNnMtNTEuOS0yMy44LTcyLjctNDEuNnMtMzcuMy0zOS00OC42LTYyLjNTMCAyNDkuMiAwIDIyNGwyMjQgMCAxNjAgMFYxNjB6TTgwIDQxNmE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6bTI0MCA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwelwiXVxufTtcbnZhciBmYUNhcnJpYWdlQmFieSA9IGZhQmFieUNhcnJpYWdlO1xudmFyIGZhVHJhZmZpY0xpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyYWZmaWMtbGlnaHQnLFxuICBpY29uOiBbMzIwLCA1MTIsIFsxMjg2NzhdLCBcImY2MzdcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRWMzUyYzAgODguNCA3MS42IDE2MCAxNjAgMTYwczE2MC03MS42IDE2MC0xNjBWNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6bTk2IDQxNmE0OCA0OCAwIDEgMSAwLTk2IDQ4IDQ4IDAgMSAxIDAgOTZ6bTQ4LTE3NmE0OCA0OCAwIDEgMSAtOTYgMCA0OCA0OCAwIDEgMSA5NiAwem0tNDgtODBhNDggNDggMCAxIDEgMC05NiA0OCA0OCAwIDEgMSAwIDk2elwiXVxufTtcbnZhciBmYVRoZXJtb21ldGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RoZXJtb21ldGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNDkxXCIsIFwiTTk2IDM4Mi4xVjI5My4zYzAtMTQuOSA1LjktMjkuMSAxNi40LTM5LjZsMjcuMy0yNy4zIDU3IDU3YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNTctNTcgNDEuNC00MS40IDU3IDU3YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNTctNTcgNDEuNC00MS40IDU3IDU3YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNTctNTcgNDUuNS00NS41QzM1NS4yIDEwLjkgMzgxLjQgMCA0MDguOCAwQzQ2NS44IDAgNTEyIDQ2LjIgNTEyIDEwMy4yYzAgMjcuNC0xMC45IDUzLjYtMzAuMiA3M0wyNTguMyAzOTkuNmMtMTAuNSAxMC41LTI0LjcgMTYuNC0zOS42IDE2LjRIMTI5LjlMNDEgNTA1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDg5LTg5elwiXVxufTtcbnZhciBmYVZyQ2FyZGJvYXJkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZyLWNhcmRib2FyZCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjcyOVwiLCBcIk01NzYgNjRINjRDMjguNyA2NCAwIDkyLjcgMCAxMjhWMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0SDE4NC40YzI0LjIgMCA0Ni40LTEzLjcgNTcuMi0zNS40bDMyLTY0YzguOC0xNy41IDI2LjctMjguNiA0Ni4zLTI4LjZzMzcuNSAxMS4xIDQ2LjMgMjguNmwzMiA2NGMxMC44IDIxLjcgMzMgMzUuNCA1Ny4yIDM1LjRINTc2YzM1LjMgMCA2NC0yOC43IDY0LTY0VjEyOGMwLTM1LjMtMjguNy02NC02NC02NHpNOTYgMjQwYTY0IDY0IDAgMSAxIDEyOCAwQTY0IDY0IDAgMSAxIDk2IDI0MHptMzg0LTY0YTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4elwiXVxufTtcbnZhciBmYUhhbmRNaWRkbGVGaW5nZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZC1taWRkbGUtZmluZ2VyJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI4NDA1XSwgXCJmODA2XCIsIFwiTTIzMiAwYy0yMi4xIDAtNDAgMTcuOS00MCA0MFYyMDQuMmMtOC41LTcuNi0xOS43LTEyLjItMzItMTIuMmMtMjYuNSAwLTQ4IDIxLjUtNDggNDh2NyA3M2MwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlYyNjQuM2MtMiAxLjQtMy45IDMtNS44IDQuNUw1NSAyODQuOEM0MC40IDI5NyAzMiAzMTUgMzIgMzM0VjM3MmMwIDM4IDE2LjkgNzQgNDYuMSA5OC4zbDUuNCA0LjVjMjguOCAyNCA2NSAzNy4xIDEwMi40IDM3LjFIMzA0YzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4VjMyMCAyODhjMC0yNi41LTIxLjUtNDgtNDgtNDhjLTEyLjQgMC0yMy42IDQuNy0zMi4xIDEyLjNDMzUwIDIyNy41IDMyOS4zIDIwOCAzMDQgMjA4Yy0xMi4zIDAtMjMuNSA0LjYtMzIgMTIuMlY0MGMwLTIyLjEtMTcuOS00MC00MC00MHpcIl1cbn07XG52YXIgZmFQZXJjZW50ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcmNlbnQnLFxuICBpY29uOiBbMzg0LCA1MTIsIFs2MjEwMSwgNjI3ODUsIFwicGVyY2VudGFnZVwiXSwgXCIyNVwiLCBcIk0zNzQuNiAxMTguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMzIwIDMyMGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwzMjAtMzIwek0xMjggMTI4QTY0IDY0IDAgMSAwIDAgMTI4YTY0IDY0IDAgMSAwIDEyOCAwek0zODQgMzg0YTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHpcIl1cbn07XG52YXIgZmFQZXJjZW50YWdlID0gZmFQZXJjZW50O1xudmFyIGZhVHJ1Y2tNb3ZpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJ1Y2stbW92aW5nJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNGRmXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZWMzA0djgwIDE2YzAgNDQuMiAzNS44IDgwIDgwIDgwYzI2LjIgMCA0OS40LTEyLjYgNjQtMzJjMTQuNiAxOS40IDM3LjggMzIgNjQgMzJjNDQuMiAwIDgwLTM1LjggODAtODBjMC01LjUtLjYtMTAuOC0xLjYtMTZINDE2aDMzLjZjLTEgNS4yLTEuNiAxMC41LTEuNiAxNmMwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtNS41LS42LTEwLjgtMS42LTE2SDYwOGMxNy43IDAgMzItMTQuMyAzMi0zMlYyODggMjcyIDI2MS43YzAtOS4yLTMuMi0xOC4yLTktMjUuM2wtNTguOC03MS44Yy0xMC42LTEzLTI2LjUtMjAuNS00My4zLTIwLjVINDgwVjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0ek01ODUgMjU2SDQ4MFYxOTJoNDguOGMyLjQgMCA0LjcgMS4xIDYuMiAyLjlMNTg1IDI1NnpNNTI4IDM2OGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTE3NiA0MDBhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNODAgMzY4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFHbGFzc1dhdGVyRHJvcGxldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnbGFzcy13YXRlci1kcm9wbGV0JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlNGY1XCIsIFwiTTMyIDBDMjMuMSAwIDE0LjYgMy43IDguNiAxMC4yUy0uNiAyNS40IC4xIDM0LjNMMjguOSA0MzcuN2MzIDQxLjkgMzcuOCA3NC4zIDc5LjggNzQuM0gyNzUuM2M0MiAwIDc2LjgtMzIuNCA3OS44LTc0LjNMMzgzLjkgMzQuM2MuNi04LjktMi40LTE3LjYtOC41LTI0LjFTMzYwLjkgMCAzNTIgMEgzMnpNODMgMjk3LjVMNjYuNCA2NEgzMTcuNkwzMDEgMjk3LjUgMjg4IDMwNGMtMjAuMSAxMC4xLTQzLjkgMTAuMS02NCAwcy00My45LTEwLjEtNjQgMHMtNDMuOSAxMC4xLTY0IDBsLTEzLTYuNXpNMjU2IDE5NmMwLTI0LTMzLjctNzAuMS01Mi4yLTkzLjVjLTYuMS03LjctMTcuNS03LjctMjMuNiAwQzE2MS43IDEyNS45IDEyOCAxNzIgMTI4IDE5NmMwIDMzLjEgMjguNyA2MCA2NCA2MHM2NC0yNi45IDY0LTYwelwiXVxufTtcbnZhciBmYURpc3BsYXkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGlzcGxheScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTE2M1wiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NFYzNTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMjQwbC0xMC43IDMySDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg0MTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzQ2LjdMMzM2IDQxNkg1MTJjMzUuMyAwIDY0LTI4LjcgNjQtNjRWNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6TTUxMiA2NFYzNTJINjRWNjRINTEyelwiXVxufTtcbnZhciBmYUZhY2VTbWlsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLXNtaWxlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTc4LCBcInNtaWxlXCJdLCBcImYxMThcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2NC4xIDMyNS41QzE4MiAzNDYuMiAyMTIuNiAzNjggMjU2IDM2OHM3NC0yMS44IDkxLjktNDIuNWM1LjgtNi43IDE1LjktNy40IDIyLjYtMS42czcuNCAxNS45IDEuNiAyMi42QzM0OS44IDM3Mi4xIDMxMS4xIDQwMCAyNTYgNDAwcy05My44LTI3LjktMTE2LjEtNTMuNWMtNS44LTYuNy01LjEtMTYuOCAxLjYtMjIuNnMxNi44LTUuMSAyMi42IDEuNnpNMTQ0LjQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhU21pbGUgPSBmYUZhY2VTbWlsZTtcbnZhciBmYVRodW1idGFjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0aHVtYnRhY2snLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjgyMDQsIDEyODM5MiwgXCJ0aHVtYi10YWNrXCJdLCBcImYwOGRcIiwgXCJNMzIgMzJDMzIgMTQuMyA0Ni4zIDAgNjQgMEgzMjBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMjkwLjVsMTEuNCAxNDguMmMzNi43IDE5LjkgNjUuNyA1My4yIDc5LjUgOTQuN2wxIDNjMy4zIDkuOCAxLjYgMjAuNS00LjQgMjguOHMtMTUuNyAxMy4zLTI2IDEzLjNIMzJjLTEwLjMgMC0xOS45LTQuOS0yNi0xMy4zcy03LjctMTkuMS00LjQtMjguOGwxLTNjMTMuOC00MS41IDQyLjgtNzQuOCA3OS41LTk0LjdMOTMuNSA2NEg2NEM0Ni4zIDY0IDMyIDQ5LjcgMzIgMzJ6TTE2MCAzODRoNjR2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzg0elwiXVxufTtcbnZhciBmYVRodW1iVGFjayA9IGZhVGh1bWJ0YWNrO1xudmFyIGZhVHJvcGh5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Ryb3BoeScsXG4gIGljb246IFs1NzYsIDUxMiwgWzEyNzk0Ml0sIFwiZjA5MVwiLCBcIk00MDAgMEgxNzZjLTI2LjUgMC00OC4xIDIxLjgtNDcuMSA0OC4yYy4yIDUuMyAuNCAxMC42IC43IDE1LjhIMjRDMTAuNyA2NCAwIDc0LjcgMCA4OGMwIDkyLjYgMzMuNSAxNTcgNzguNSAyMDAuN2M0NC4zIDQzLjEgOTguMyA2NC44IDEzOC4xIDc1LjhjMjMuNCA2LjUgMzkuNCAyNiAzOS40IDQ1LjZjMCAyMC45LTE3IDM3LjktMzcuOSAzNy45SDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkgzODRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzU3LjlDMzM3IDQ0OCAzMjAgNDMxIDMyMCA0MTAuMWMwLTE5LjYgMTUuOS0zOS4yIDM5LjQtNDUuNmMzOS45LTExIDkzLjktMzIuNyAxMzguMi03NS44QzU0Mi41IDI0NSA1NzYgMTgwLjYgNTc2IDg4YzAtMTMuMy0xMC43LTI0LTI0LTI0SDQ0Ni40Yy4zLTUuMiAuNS0xMC40IC43LTE1LjhDNDQ4LjEgMjEuOCA0MjYuNSAwIDQwMCAwek00OC45IDExMmg4NC40YzkuMSA5MC4xIDI5LjIgMTUwLjMgNTEuOSAxOTAuNmMtMjQuOS0xMS01MC44LTI2LjUtNzMuMi00OC4zYy0zMi0zMS4xLTU4LTc2LTYzLTE0Mi4zek00NjQuMSAyNTQuM2MtMjIuNCAyMS44LTQ4LjMgMzcuMy03My4yIDQ4LjNjMjIuNy00MC4zIDQyLjgtMTAwLjUgNTEuOS0xOTAuNmg4NC40Yy01LjEgNjYuMy0zMS4xIDExMS4yLTYzIDE0Mi4zelwiXVxufTtcbnZhciBmYVBlcnNvblByYXlpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLXByYXlpbmcnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjg3MjAsIFwicHJheVwiXSwgXCJmNjgzXCIsIFwiTTM1MiA2NEE2NCA2NCAwIDEgMCAyMjQgNjRhNjQgNjQgMCAxIDAgMTI4IDB6TTIzMi43IDI2NGwyMi45IDMxLjVjNi41IDguOSAxNi4zIDE0LjcgMjcuMiAxNi4xczIxLjktMS43IDMwLjQtOC43bDg4LTcyYzE3LjEtMTQgMTkuNi0zOS4yIDUuNi01Ni4zcy0zOS4yLTE5LjYtNTYuMy01LjZsLTU1LjIgNDUuMi0yNi4yLTM2QzI1My42IDE1Ni43IDIyOC42IDE0NCAyMDIgMTQ0Yy0zMC45IDAtNTkuMiAxNy4xLTczLjYgNDQuNEw3OS44IDI4MC45Yy0yMC4yIDM4LjUtOS40IDg1LjkgMjUuNiAxMTEuOEwxNTguNiA0MzJINzJjLTIyLjEgMC00MCAxNy45LTQwIDQwczE3LjkgNDAgNDAgNDBIMjgwYzE3LjMgMCAzMi42LTExLjEgMzgtMjcuNXMtLjMtMzQuNC0xNC4yLTQ0LjdMMTg3LjcgMzU0bDQ1LTkwelwiXVxufTtcbnZhciBmYVByYXkgPSBmYVBlcnNvblByYXlpbmc7XG52YXIgZmFIYW1tZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFtbWVyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4Mjk2XSwgXCJmNmUzXCIsIFwiTTQxMy41IDIzNy41Yy0yOC4yIDQuOC01OC4yLTMuNi04MC0yNS40bC0zOC4xLTM4LjFDMjgwLjQgMTU5IDI3MiAxMzguOCAyNzIgMTE3LjZWMTA1LjVMMTkyLjMgNjJjLTUuMy0yLjktOC42LTguNi04LjMtMTQuN3MzLjktMTEuNSA5LjUtMTRsNDcuMi0yMUMyNTkuMSA0LjIgMjc5IDAgMjk5LjIgMGgxOC4xYzM2LjcgMCA3MiAxNCA5OC43IDM5LjFsNDQuNiA0MmMyNC4yIDIyLjggMzMuMiA1NS43IDI2LjYgODZMNTAzIDE4M2w4LThjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsMjQgMjRjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTg4IDg4Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtMjQtMjRjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDgtOC0xNy41LTE3LjV6TTI3LjQgMzc3LjFMMjYwLjkgMTgyLjZjMy41IDQuOSA3LjUgOS42IDExLjggMTRsMzguMSAzOC4xYzYgNiAxMi40IDExLjIgMTkuMiAxNS43TDEzNC45IDQ4NC42Yy0xNC41IDE3LjQtMzYgMjcuNC01OC42IDI3LjRDMzQuMSA1MTIgMCA0NzcuOCAwIDQzNS43YzAtMjIuNiAxMC4xLTQ0LjEgMjcuNC01OC42elwiXVxufTtcbnZhciBmYUhhbmRQZWFjZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLXBlYWNlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTk5Nl0sIFwiZjI1YlwiLCBcIk0yMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMlYyNDBIMTkyVjMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem05NiAxNjBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem02NCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMydjY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjIyNHpNOTMuMyA1MS4yTDE3NS45IDI0MEgxMDYuMUwzNC43IDc2LjhDMjcuNiA2MC42IDM1IDQxLjggNTEuMiAzNC43czM1LjEgLjMgNDIuMSAxNi41em0yNyAyMjEuM2wtLjItLjVoNjkuOUgyMTZjMjIuMSAwIDQwIDE3LjkgNDAgNDBzLTE3LjkgNDAtNDAgNDBIMTYwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2aDU2YzM5LjggMCA3Mi0zMi4yIDcyLTcybDAtLjZjOS40IDUuNCAyMC4zIDguNiAzMiA4LjZjMTMuMiAwIDI1LjQtNCAzNS42LTEwLjhjOC43IDI0LjkgMzIuNSA0Mi44IDYwLjQgNDIuOGMxMS43IDAgMjIuNi0zLjEgMzItOC42VjM1MmMwIDg4LjQtNzEuNiAxNjAtMTYwIDE2MEgyMjYuM2MtNDIuNCAwLTgzLjEtMTYuOS0xMTMuMS00Ni45bC0xMS42LTExLjZDNzcuNSA0MjkuNSA2NCAzOTYuOSA2NCAzNjNWMzM2YzAtMzIuNyAyNC42LTU5LjcgNTYuMy02My41elwiXVxufTtcbnZhciBmYVJvdGF0ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyb3RhdGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyNjAsIFwic3luYy1hbHRcIl0sIFwiZjJmMVwiLCBcIk0xNDIuOSAxNDIuOWM2Mi4yLTYyLjIgMTYyLjctNjIuNSAyMjUuMy0xTDMyNyAxODNjLTYuOSA2LjktOC45IDE3LjItNS4yIDI2LjJzMTIuNSAxNC44IDIyLjIgMTQuOEg0NjMuNWMwIDAgMCAwIDAgMEg0NzJjMTMuMyAwIDI0LTEwLjcgMjQtMjRWNzJjMC05LjctNS44LTE4LjUtMTQuOC0yMi4ycy0xOS4zLTEuNy0yNi4yIDUuMkw0MTMuNCA5Ni42Yy04Ny42LTg2LjUtMjI4LjctODYuMi0zMTUuOCAxQzczLjIgMTIyIDU1LjYgMTUwLjcgNDQuOCAxODEuNGMtNS45IDE2LjcgMi45IDM0LjkgMTkuNSA0MC44czM0LjktMi45IDQwLjgtMTkuNWM3LjctMjEuOCAyMC4yLTQyLjMgMzcuOC01OS44ek0xNiAzMTJ2Ny42IC43VjQ0MGMwIDkuNyA1LjggMTguNSAxNC44IDIyLjJzMTkuMyAxLjcgMjYuMi01LjJsNDEuNi00MS42Yzg3LjYgODYuNSAyMjguNyA4Ni4yIDMxNS44LTFjMjQuNC0yNC40IDQyLjEtNTMuMSA1Mi45LTgzLjdjNS45LTE2LjctMi45LTM0LjktMTkuNS00MC44cy0zNC45IDIuOS00MC44IDE5LjVjLTcuNyAyMS44LTIwLjIgNDIuMy0zNy44IDU5LjhjLTYyLjIgNjIuMi0xNjIuNyA2Mi41LTIyNS4zIDFMMTg1IDMyOWM2LjktNi45IDguOS0xNy4yIDUuMi0yNi4ycy0xMi41LTE0LjgtMjIuMi0xNC44SDQ4LjRoLS43SDQwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHpcIl1cbn07XG52YXIgZmFTeW5jQWx0ID0gZmFSb3RhdGU7XG52YXIgZmFTcGlubmVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NwaW5uZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYxMTBcIiwgXCJNMzA0IDQ4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6bTAgNDE2YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTQ4IDMwNGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bTQ2NC00OGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek0xNDIuOSA0MzdBNDggNDggMCAxIDAgNzUgMzY5LjEgNDggNDggMCAxIDAgMTQyLjkgNDM3em0wLTI5NC4yQTQ4IDQ4IDAgMSAwIDc1IDc1YTQ4IDQ4IDAgMSAwIDY3LjkgNjcuOXpNMzY5LjEgNDM3QTQ4IDQ4IDAgMSAwIDQzNyAzNjkuMSA0OCA0OCAwIDEgMCAzNjkuMSA0Mzd6XCJdXG59O1xudmFyIGZhUm9ib3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncm9ib3QnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjkzMDJdLCBcImY1NDRcIiwgXCJNMzIwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWOTZINDcyYzM5LjggMCA3MiAzMi4yIDcyIDcyVjQ0MGMwIDM5LjgtMzIuMiA3Mi03MiA3MkgxNjhjLTM5LjggMC03Mi0zMi4yLTcyLTcyVjE2OGMwLTM5LjggMzIuMi03MiA3Mi03MkgyODhWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTIwOCAzODRjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZIMjA4em05NiAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2SDMwNHptOTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkg0MDB6TTI2NCAyNTZhNDAgNDAgMCAxIDAgLTgwIDAgNDAgNDAgMCAxIDAgODAgMHptMTUyIDQwYTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHpNNDggMjI0SDY0VjQxNkg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMjcyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4em01NDQgMGMyNi41IDAgNDggMjEuNSA0OCA0OHY5NmMwIDI2LjUtMjEuNSA0OC00OCA0OEg1NzZWMjI0aDE2elwiXVxufTtcbnZhciBmYVBlYWNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlYWNlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTc3NF0sIFwiZjY3Y1wiLCBcIk0yMjQgNDQ1LjNWMzIzLjVsLTk0LjMgNzcuMWMyNi4xIDIyLjggNTguNSAzOC43IDk0LjMgNDQuN3pNODkuMiAzNTEuMUwyMjQgMjQwLjhWNjYuN0MxMzMuMiA4MS45IDY0IDE2MC45IDY0IDI1NmMwIDM0LjYgOS4yIDY3LjEgMjUuMiA5NS4xem0yOTMuMSA0OS41TDI4OCAzMjMuNVY0NDUuM2MzNS43LTYgNjguMS0yMS45IDk0LjMtNDQuN3ptNDAuNi00OS41YzE2LTI4IDI1LjItNjAuNSAyNS4yLTk1LjFjMC05NS4xLTY5LjItMTc0LjEtMTYwLTE4OS4zVjI0MC44TDQyMi44IDM1MS4xek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6XCJdXG59O1xudmFyIGZhR2VhcnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ2VhcnMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImNvZ3NcIl0sIFwiZjA4NVwiLCBcIk0zMDguNSAxMzUuM2M3LjEtNi4zIDkuOS0xNi4yIDYuMi0yNWMtMi4zLTUuMy00LjgtMTAuNS03LjYtMTUuNUwzMDQgODkuNGMtMy01LTYuMy05LjktOS44LTE0LjZjLTUuNy03LjYtMTUuNy0xMC4xLTI0LjctNy4xbC0yOC4yIDkuM2MtMTAuNy04LjgtMjMtMTYtMzYuMi0yMC45TDE5OSAyNy4xYy0xLjktOS4zLTkuMS0xNi43LTE4LjUtMTcuOEMxNzMuOSA4LjQgMTY3LjIgOCAxNjAuNCA4aC0uN2MtNi44IDAtMTMuNSAuNC0yMC4xIDEuMmMtOS40IDEuMS0xNi42IDguNi0xOC41IDE3LjhMMTE1IDU2LjFjLTEzLjMgNS0yNS41IDEyLjEtMzYuMiAyMC45TDUwLjUgNjcuOGMtOS0zLTE5LS41LTI0LjcgNy4xYy0zLjUgNC43LTYuOCA5LjYtOS45IDE0LjZsLTMgNS4zYy0yLjggNS01LjMgMTAuMi03LjYgMTUuNmMtMy43IDguNy0uOSAxOC42IDYuMiAyNWwyMi4yIDE5LjhDMzIuNiAxNjEuOSAzMiAxNjguOSAzMiAxNzZzLjYgMTQuMSAxLjcgMjAuOUwxMS41IDIxNi43Yy03LjEgNi4zLTkuOSAxNi4yLTYuMiAyNWMyLjMgNS4zIDQuOCAxMC41IDcuNiAxNS42bDMgNS4yYzMgNS4xIDYuMyA5LjkgOS45IDE0LjZjNS43IDcuNiAxNS43IDEwLjEgMjQuNyA3LjFsMjguMi05LjNjMTAuNyA4LjggMjMgMTYgMzYuMiAyMC45bDYuMSAyOS4xYzEuOSA5LjMgOS4xIDE2LjcgMTguNSAxNy44YzYuNyAuOCAxMy41IDEuMiAyMC40IDEuMnMxMy43LS40IDIwLjQtMS4yYzkuNC0xLjEgMTYuNi04LjYgMTguNS0xNy44bDYuMS0yOS4xYzEzLjMtNSAyNS41LTEyLjEgMzYuMi0yMC45bDI4LjIgOS4zYzkgMyAxOSAuNSAyNC43LTcuMWMzLjUtNC43IDYuOC05LjUgOS44LTE0LjZsMy4xLTUuNGMyLjgtNSA1LjMtMTAuMiA3LjYtMTUuNWMzLjctOC43IC45LTE4LjYtNi4yLTI1bC0yMi4yLTE5LjhjMS4xLTYuOCAxLjctMTMuOCAxLjctMjAuOXMtLjYtMTQuMS0xLjctMjAuOWwyMi4yLTE5Ljh6TTExMiAxNzZhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNNTA0LjcgNTAwLjVjNi4zIDcuMSAxNi4yIDkuOSAyNSA2LjJjNS4zLTIuMyAxMC41LTQuOCAxNS41LTcuNmw1LjQtMy4xYzUtMyA5LjktNi4zIDE0LjYtOS44YzcuNi01LjcgMTAuMS0xNS43IDcuMS0yNC43bC05LjMtMjguMmM4LjgtMTAuNyAxNi0yMyAyMC45LTM2LjJsMjkuMS02LjFjOS4zLTEuOSAxNi43LTkuMSAxNy44LTE4LjVjLjgtNi43IDEuMi0xMy41IDEuMi0yMC40cy0uNC0xMy43LTEuMi0yMC40Yy0xLjEtOS40LTguNi0xNi42LTE3LjgtMTguNUw1ODMuOSAzMDdjLTUtMTMuMy0xMi4xLTI1LjUtMjAuOS0zNi4ybDkuMy0yOC4yYzMtOSAuNS0xOS03LjEtMjQuN2MtNC43LTMuNS05LjYtNi44LTE0LjYtOS45bC01LjMtM2MtNS0yLjgtMTAuMi01LjMtMTUuNi03LjZjLTguNy0zLjctMTguNi0uOS0yNSA2LjJsLTE5LjggMjIuMmMtNi44LTEuMS0xMy44LTEuNy0yMC45LTEuN3MtMTQuMSAuNi0yMC45IDEuN2wtMTkuOC0yMi4yYy02LjMtNy4xLTE2LjItOS45LTI1LTYuMmMtNS4zIDIuMy0xMC41IDQuOC0xNS42IDcuNmwtNS4yIDNjLTUuMSAzLTkuOSA2LjMtMTQuNiA5LjljLTcuNiA1LjctMTAuMSAxNS43LTcuMSAyNC43bDkuMyAyOC4yYy04LjggMTAuNy0xNiAyMy0yMC45IDM2LjJMMzE1LjEgMzEzYy05LjMgMS45LTE2LjcgOS4xLTE3LjggMTguNWMtLjggNi43LTEuMiAxMy41LTEuMiAyMC40cy40IDEzLjcgMS4yIDIwLjRjMS4xIDkuNCA4LjYgMTYuNiAxNy44IDE4LjVsMjkuMSA2LjFjNSAxMy4zIDEyLjEgMjUuNSAyMC45IDM2LjJsLTkuMyAyOC4yYy0zIDktLjUgMTkgNy4xIDI0LjdjNC43IDMuNSA5LjUgNi44IDE0LjYgOS44bDUuNCAzLjFjNSAyLjggMTAuMiA1LjMgMTUuNSA3LjZjOC43IDMuNyAxOC42IC45IDI1LTYuMmwxOS44LTIyLjJjNi44IDEuMSAxMy44IDEuNyAyMC45IDEuN3MxNC4xLS42IDIwLjktMS43bDE5LjggMjIuMnpNNDY0IDMwNGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6XCJdXG59O1xudmFyIGZhQ29ncyA9IGZhR2VhcnM7XG52YXIgZmFXYXJlaG91c2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2FyZWhvdXNlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNDk0XCIsIFwiTTAgNDg4VjE3MS4zYzAtMjYuMiAxNS45LTQ5LjcgNDAuMi01OS40TDMwOC4xIDQuOGM3LjYtMy4xIDE2LjEtMy4xIDIzLjggMEw1OTkuOCAxMTEuOWMyNC4zIDkuNyA0MC4yIDMzLjMgNDAuMiA1OS40VjQ4OGMwIDEzLjMtMTAuNyAyNC0yNCAyNEg1NjhjLTEzLjMgMC0yNC0xMC43LTI0LTI0VjIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMkgxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyVjQ4OGMwIDEzLjMtMTAuNyAyNC0yNCAyNEgyNGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTQ4OCAyNGwtMzM2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0VjQzMkg1MTJsMCA1NmMwIDEzLjMtMTAuNyAyNC0yNCAyNHpNMTI4IDQwMFYzMzZINTEydjY0SDEyOHptMC05NlYyMjRINTEybDAgODBIMTI4elwiXVxufTtcbnZhciBmYUFycm93VXBSaWdodERvdHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdXAtcmlnaHQtZG90cycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRiN1wiLCBcIk0xNjAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmg1MC43TDkuNCAyNjUuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwyNTYgMTA5LjNWMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMzJjMC0xNy43LTE0LjMtMzItMzItMzJIMTYwek01NzYgODBhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNNDQ4IDIwOGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek00MDAgMzg0YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptNDggODBhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHptMTI4IDBhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNMjcyIDM4NGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bTQ4IDgwYTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTE0NCA1MTJhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek01NzYgMzM2YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6bS00OC04MGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6XCJdXG59O1xudmFyIGZhU3Bsb3RjaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcGxvdGNoJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNWJjXCIsIFwiTTIwOC41IDYyLjNsMjguMS0zNi45QzI0OC44IDkuNCAyNjcuOCAwIDI4OCAwYzI4LjUgMCA1My42IDE4LjcgNjEuOCA0NmwxNy44IDU5LjRjMTAuMyAzNC40IDM2LjEgNjIgNjkuOCA3NC42bDM5LjggMTQuOWMyMC45IDcuOSAzNC44IDI3LjkgMzQuOCA1MC4yYzAgMTYuOS03LjkgMzIuOC0yMS41IDQyLjlsLTY3LjMgNTAuNWMtMjQuMyAxOC4yLTM3LjIgNDcuOS0zMy44IDc4LjFsMi41IDIyLjdjNC4zIDM4LjctMjYgNzIuNi02NSA3Mi42Yy0xNC44IDAtMjkuMy01LjEtNDAuOC0xNC4zbC01NS40LTQ0LjNjLTQuNS0zLjYtOS4zLTYuNy0xNC41LTkuMmMtMTUuOC03LjktMzMuNy0xMC40LTUxLTcuM0w4Mi40IDQ1MS45QzQ3LjggNDU4LjIgMTYgNDMxLjYgMTYgMzk2LjVjMC0xMy4yIDQuNy0yNiAxMy4xLTM2LjJsMTEuMi0xMy40YzE0LjYtMTcuNCAyMi42LTM5LjQgMjIuNi02Mi4xYzAtMTguOC01LjUtMzcuMi0xNS44LTUzTDguOCAxNzMuNUMzLjEgMTY0LjcgMCAxNTQuNCAwIDE0My45YzAtMzMuNCAzMC4xLTU4LjggNjMtNTMuMmw1MS4zIDguN2MzNS45IDYuMSA3Mi4yLTguMiA5NC4yLTM3LjF6XCJdXG59O1xudmFyIGZhRmFjZUdyaW5IZWFydHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1ncmluLWhlYXJ0cycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODUyNSwgXCJncmluLWhlYXJ0c1wiXSwgXCJmNTg0XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0zODguMSAzMTIuOGMxMi4zLTMuOCAyNC4zIDYuOSAxOS4zIDE4LjdDMzgyLjQgMzkwLjYgMzI0LjIgNDMyIDI1Ni4zIDQzMnMtMTI2LjItNDEuNC0xNTEuMS0xMDAuNWMtNS0xMS44IDctMjIuNSAxOS4zLTE4LjdjMzkuNyAxMi4yIDg0LjUgMTkgMTMxLjggMTlzOTIuMS02LjggMTMxLjgtMTl6TTE5OS4zIDEyOS4xYzE3LjggNC44IDI4LjQgMjMuMSAyMy42IDQwLjhsLTE3LjQgNjVjLTIuMyA4LjUtMTEuMSAxMy42LTE5LjYgMTEuM2wtNjUuMS0xNy40Yy0xNy44LTQuOC0yOC40LTIzLjEtMjMuNi00MC44czIzLjEtMjguNCA0MC44LTIzLjZsMTYuMSA0LjMgNC4zLTE2LjFjNC44LTE3LjggMjMuMS0yOC40IDQwLjgtMjMuNnptMTU0LjMgMjMuNmw0LjMgMTYuMSAxNi4xLTQuM2MxNy44LTQuOCAzNi4xIDUuOCA0MC44IDIzLjZzLTUuOCAzNi4xLTIzLjYgNDAuOGwtNjUuMSAxNy40Yy04LjUgMi4zLTE3LjMtMi44LTE5LjYtMTEuM2wtMTcuNC02NWMtNC44LTE3LjggNS44LTM2LjEgMjMuNi00MC44czM2LjEgNS44IDQwLjkgMjMuNnpcIl1cbn07XG52YXIgZmFHcmluSGVhcnRzID0gZmFGYWNlR3JpbkhlYXJ0cztcbnZhciBmYURpY2VGb3VyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpY2UtZm91cicsXG4gIGljb246IFs0NDgsIDUxMiwgWzk4NTldLCBcImY1MjRcIiwgXCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMkgzODRjMzUuMyAwIDY0IDI4LjcgNjQgNjRWNDE2YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY5NnptMTYwIDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTEyOCAzODRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek0zNTIgMTYwYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTMyMCAzODRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbnZhciBmYVNpbUNhcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2ltLWNhcmQnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImY3YzRcIiwgXCJNNjQgMEgyNDIuN2MxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyA5NmMxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zVjQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWNjRDMCAyOC43IDI4LjcgMCA2NCAwek05NiAxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjMyaDY0VjE5Mkg5NnpNNjQgMzUyaDgwIDk2IDgwVjI4OEgyNDAgMTQ0IDY0djY0ek0zMjAgMjI0YzAtMTcuNy0xNC4zLTMyLTMyLTMySDI1NnY2NGg2NFYyMjR6TTE2MCAxOTJ2NjRoNjRWMTkySDE2MHpNMjg4IDQ0OGMxNy43IDAgMzItMTQuMyAzMi0zMlYzODRIMjU2djY0aDMyek0xNjAgMzg0djY0aDY0VjM4NEgxNjB6TTY0IDQxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMmgzMlYzODRINjR2MzJ6XCJdXG59O1xudmFyIGZhVHJhbnNnZW5kZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJhbnNnZW5kZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5ODk1LCBcInRyYW5zZ2VuZGVyLWFsdFwiXSwgXCJmMjI1XCIsIFwiTTExMiAwYzYuNSAwIDEyLjMgMy45IDE0LjggOS45czEuMSAxMi45LTMuNSAxNy40bC0zMSAzMUwxMTIgNzguMWw3LTdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC03IDcgMTUuMiAxNS4yQzE4Ny43IDEwNy42IDIyMC41IDk2IDI1NiA5NnM2OC4zIDExLjYgOTQuOSAzMS4ybDY4LjgtNjguOC0zMS0zMWMtNC42LTQuNi01LjktMTEuNS0zLjUtMTcuNHM4LjMtOS45IDE0LjgtOS45aDk2YzguOCAwIDE2IDcuMiAxNiAxNnY5NmMwIDYuNS0zLjkgMTIuMy05LjkgMTQuOHMtMTIuOSAxLjEtMTcuNC0zLjVsLTMxLTMxLTY4LjggNjguOEM0MDQuNCAxODcuNyA0MTYgMjIwLjUgNDE2IDI1NmMwIDgwLjItNTkgMTQ2LjYtMTM2IDE1OC4yVjQzMmgxNmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEgyODB2OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNHYtOEgyMTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRoMTZWNDE0LjJDMTU1IDQwMi42IDk2IDMzNi4yIDk2IDI1NmMwLTM1LjUgMTEuNi02OC4zIDMxLjItOTQuOUwxMTIgMTQ1LjlsLTcgN2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw3LTdMNTguMyA5Mi4zbC0zMSAzMWMtNC42IDQuNi0xMS41IDUuOS0xNy40IDMuNVMwIDExOC41IDAgMTEyVjE2QzAgNy4yIDcuMiAwIDE2IDBoOTZ6TTM1MiAyNTZhOTYgOTYgMCAxIDAgLTE5MiAwIDk2IDk2IDAgMSAwIDE5MiAwelwiXVxufTtcbnZhciBmYVRyYW5zZ2VuZGVyQWx0ID0gZmFUcmFuc2dlbmRlcjtcbnZhciBmYU1lcmN1cnkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWVyY3VyeScsXG4gIGljb246IFszODQsIDUxMiwgWzk3OTFdLCBcImYyMjNcIiwgXCJNNzIuMSA3Qzg1LjgtNCAxMDYtMS44IDExNyAxMmMxNy42IDIyIDQ0LjcgMzYgNzUgMzZzNTcuMy0xNCA3NS0zNmMxMS4xLTEzLjggMzEuMi0xNiA0NS01czE2IDMxLjIgNSA0NWMtNy44IDkuNy0xNi42IDE4LjQtMjYuNCAyNi4xQzMzNy4zIDEwOS43IDM2OCAxNjMuMyAzNjggMjI0YzAgODkuMS02Ni4yIDE2Mi43LTE1MiAxNzQuNFY0MjRoMzJjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIMjE2djE2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0VjQ3MkgxMzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRoMzJWMzk4LjRDODIuMiAzODYuNyAxNiAzMTMuMSAxNiAyMjRjMC02MC43IDMwLjctMTE0LjMgNzcuNS0xNDUuOUM4My43IDcwLjUgNzQuOSA2MS43IDY3LjEgNTJjLTExLjEtMTMuOC04LjgtMzMuOSA1LTQ1ek04MCAyMjRhMTEyIDExMiAwIDEgMCAyMjQgMEExMTIgMTEyIDAgMSAwIDgwIDIyNHpcIl1cbn07XG52YXIgZmFBcnJvd1R1cm5Eb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXR1cm4tZG93bicsXG4gIGljb246IFszODQsIDUxMiwgW1wibGV2ZWwtZG93blwiXSwgXCJmMTQ5XCIsIFwiTTMyIDY0QzE0LjMgNjQgMCA0OS43IDAgMzJTMTQuMyAwIDMyIDBsOTYgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMzA2LjcgNzMuNC03My40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNsLTEyOCAxMjhjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC0xMjgtMTI4Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwTDE2MCA0MDIuNyAxNjAgOTZjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgNjR6XCJdXG59O1xudmFyIGZhTGV2ZWxEb3duID0gZmFBcnJvd1R1cm5Eb3duO1xudmFyIGZhUGVyc29uRmFsbGluZ0J1cnN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1mYWxsaW5nLWJ1cnN0JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTQ3XCIsIFwiTTI1NiAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDkuOGMwIDM5LTIzLjcgNzQtNTkuOSA4OC40QzcxLjYgMTU0LjUgMzIgMjEzIDMyIDI3OC4yVjM1MmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNzMuOGMwLTEwIDEuNi0xOS44IDQuNS0yOUwyNjEuMSA0OTcuNGM5LjYgMTQuOCAyOS40IDE5LjEgNDQuMyA5LjVzMTkuMS0yOS40IDkuNS00NC4zTDIyMi42IDMyMEgyMjRsODAgMCAzOC40IDUxLjJjMTAuNiAxNC4xIDMwLjcgMTcgNDQuOCA2LjRzMTctMzAuNyA2LjQtNDQuOGwtNDMuMi01Ny42QzM0MS4zIDI2My4xIDMyNy4xIDI1NiAzMTIgMjU2bC03MS41IDAtNTYuOC04MC4yLS4yLS4zYzQ0LjctMjkgNzIuNS03OSA3Mi41LTEzMy42bDAtOS44ek05NiA4MEE0OCA0OCAwIDEgMCAwIDgwYTQ4IDQ4IDAgMSAwIDk2IDB6TTQ2NCAyODYuMWw1OC42IDUzLjljNC44IDQuNCAxMS45IDUuNSAxNy44IDIuNnM5LjUtOSA5LTE1LjVsLTUuNi03OS40IDc4LjctMTIuMmM2LjUtMSAxMS43LTUuOSAxMy4xLTEyLjJzLTEuMS0xMy02LjUtMTYuN2wtNjUuNi00NS4xTDYwMyA5Mi4yYzMuMy01LjcgMi43LTEyLjgtMS40LTE3LjlzLTEwLjktNy4yLTE3LjItNS4zTDUwOC4zIDkyLjFsLTI5LjQtNzRDNDc2LjQgMTIgNDcwLjYgOCA0NjQgOHMtMTIuNCA0LTE0LjkgMTAuMWwtMjkuNCA3NEwzNDMuNiA2OC45Yy02LjMtMS45LTEzLjEgLjItMTcuMiA1LjNzLTQuNiAxMi4yLTEuNCAxNy45bDM5LjUgNjkuMS02NS42IDQ1LjFjLTUuNCAzLjctOCAxMC4zLTYuNSAxNi43Yy4xIC4zIC4xIC42IC4yIC44bDE5LjQgMGMyMC4xIDAgMzkuMiA3LjUgNTMuOCAyMC44bDE4LjQgMi45TDM4MyAyNjUuM2wzNi4yIDQ4LjNjMi4xIDIuOCAzLjkgNS43IDUuNSA4LjZMNDY0IDI4Ni4xelwiXVxufTtcbnZhciBmYUF3YXJkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2F3YXJkJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNTU5XCIsIFwiTTE3My44IDUuNWMxMS03LjMgMjUuNC03LjMgMzYuNCAwTDIyOCAxNy4yYzYgMy45IDEzIDUuOCAyMC4xIDUuNGwyMS4zLTEuM2MxMy4yLS44IDI1LjYgNi40IDMxLjUgMTguMmw5LjYgMTkuMWMzLjIgNi40IDguNCAxMS41IDE0LjcgMTQuN0wzNDQuNSA4M2MxMS44IDUuOSAxOSAxOC4zIDE4LjIgMzEuNWwtMS4zIDIxLjNjLS40IDcuMSAxLjUgMTQuMiA1LjQgMjAuMWwxMS44IDE3LjhjNy4zIDExIDcuMyAyNS40IDAgMzYuNEwzNjYuOCAyMjhjLTMuOSA2LTUuOCAxMy01LjQgMjAuMWwxLjMgMjEuM2MuOCAxMy4yLTYuNCAyNS42LTE4LjIgMzEuNWwtMTkuMSA5LjZjLTYuNCAzLjItMTEuNSA4LjQtMTQuNyAxNC43TDMwMSAzNDQuNWMtNS45IDExLjgtMTguMyAxOS0zMS41IDE4LjJsLTIxLjMtMS4zYy03LjEtLjQtMTQuMiAxLjUtMjAuMSA1LjRsLTE3LjggMTEuOGMtMTEgNy4zLTI1LjQgNy4zLTM2LjQgMEwxNTYgMzY2LjhjLTYtMy45LTEzLTUuOC0yMC4xLTUuNGwtMjEuMyAxLjNjLTEzLjIgLjgtMjUuNi02LjQtMzEuNS0xOC4ybC05LjYtMTkuMWMtMy4yLTYuNC04LjQtMTEuNS0xNC43LTE0LjdMMzkuNSAzMDFjLTExLjgtNS45LTE5LTE4LjMtMTguMi0zMS41bDEuMy0yMS4zYy40LTcuMS0xLjUtMTQuMi01LjQtMjAuMUw1LjUgMjEwLjJjLTcuMy0xMS03LjMtMjUuNCAwLTM2LjRMMTcuMiAxNTZjMy45LTYgNS44LTEzIDUuNC0yMC4xbC0xLjMtMjEuM2MtLjgtMTMuMiA2LjQtMjUuNiAxOC4yLTMxLjVsMTkuMS05LjZDNjUgNzAuMiA3MC4yIDY1IDczLjQgNTguNkw4MyAzOS41YzUuOS0xMS44IDE4LjMtMTkgMzEuNS0xOC4ybDIxLjMgMS4zYzcuMSAuNCAxNC4yLTEuNSAyMC4xLTUuNEwxNzMuOCA1LjV6TTI3MiAxOTJhODAgODAgMCAxIDAgLTE2MCAwIDgwIDgwIDAgMSAwIDE2MCAwek0xLjMgNDQxLjhMNDQuNCAzMzkuM2MuMiAuMSAuMyAuMiAuNCAuNGw5LjYgMTkuMWMxMS43IDIzLjIgMzYgMzcuMyA2MiAzNS44bDIxLjMtMS4zYy4yIDAgLjUgMCAuNyAuMmwxNy44IDExLjhjNS4xIDMuMyAxMC41IDUuOSAxNi4xIDcuN2wtMzcuNiA4OS4zYy0yLjMgNS41LTcuNCA5LjItMTMuMyA5LjdzLTExLjYtMi4yLTE0LjgtNy4yTDc0LjQgNDU1LjVsLTU2LjEgOC4zYy01LjcgLjgtMTEuNC0xLjUtMTUtNnMtNC4zLTEwLjctMi4xLTE2em0yNDggNjAuNEwyMTEuNyA0MTNjNS42LTEuOCAxMS00LjMgMTYuMS03LjdsMTcuOC0xMS44Yy4yLS4xIC40LS4yIC43LS4ybDIxLjMgMS4zYzI2IDEuNSA1MC4zLTEyLjYgNjItMzUuOGw5LjYtMTkuMWMuMS0uMiAuMi0uMyAuNC0uNGw0My4yIDEwMi41YzIuMiA1LjMgMS40IDExLjQtMi4xIDE2cy05LjMgNi45LTE1IDZsLTU2LjEtOC4zLTMyLjIgNDkuMmMtMy4yIDUtOC45IDcuNy0xNC44IDcuMnMtMTEtNC4zLTEzLjMtOS43elwiXVxufTtcbnZhciBmYVRpY2tldFNpbXBsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0aWNrZXQtc2ltcGxlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJ0aWNrZXQtYWx0XCJdLCBcImYzZmZcIiwgXCJNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRINTEyYzM1LjMgMCA2NCAyOC43IDY0IDY0djY0YzAgOC44LTcuNCAxNS43LTE1LjcgMTguNkM1NDEuNSAyMTcuMSA1MjggMjM1IDUyOCAyNTZzMTMuNSAzOC45IDMyLjMgNDUuNGM4LjMgMi45IDE1LjcgOS44IDE1LjcgMTguNnY2NGMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMzIwYzAtOC44IDcuNC0xNS43IDE1LjctMTguNkMzNC41IDI5NC45IDQ4IDI3NyA0OCAyNTZzLTEzLjUtMzguOS0zMi4zLTQ1LjRDNy40IDIwNy43IDAgMjAwLjggMCAxOTJWMTI4elwiXVxufTtcbnZhciBmYVRpY2tldEFsdCA9IGZhVGlja2V0U2ltcGxlO1xudmFyIGZhQnVpbGRpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVpbGRpbmcnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjc5NzAsIDYxNjg3XSwgXCJmMWFkXCIsIFwiTTQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4VjQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGg5NlY0MzJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OHY4MGg5NmMyNi41IDAgNDgtMjEuNSA0OC00OFY0OGMwLTI2LjUtMjEuNS00OC00OC00OEg0OHpNNjQgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZWMjQwem0xMTItMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYyNDBjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgyNzJjLTguOCAwLTE2LTcuMi0xNi0xNlYyNDB6TTgwIDk2aDMyYzguOCAwIDE2IDcuMiAxNiAxNnYzMmMwIDguOC03LjIgMTYtMTYgMTZIODBjLTguOCAwLTE2LTcuMi0xNi0xNlYxMTJjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZoMzJjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYxMTJ6TTI3MiA5NmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2MzJjMCA4LjgtNy4yIDE2LTE2IDE2SDI3MmMtOC44IDAtMTYtNy4yLTE2LTE2VjExMmMwLTguOCA3LjItMTYgMTYtMTZ6XCJdXG59O1xudmFyIGZhQW5nbGVzTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbmdsZXMtbGVmdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzE3MSwgXCJhbmdsZS1kb3VibGUtbGVmdFwiXSwgXCJmMTAwXCIsIFwiTTQxLjQgMjMzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wxMDkuMyAyNTYgMjQ2LjYgMTE4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjB6bTM1Mi0xNjBsLTE2MCAxNjBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wzMDEuMyAyNTYgNDM4LjYgMTE4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDB6XCJdXG59O1xudmFyIGZhQW5nbGVEb3VibGVMZWZ0ID0gZmFBbmdsZXNMZWZ0O1xudmFyIGZhUXJjb2RlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3FyY29kZScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjAyOVwiLCBcIk0wIDgwQzAgNTMuNSAyMS41IDMyIDQ4IDMyaDk2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4djk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFY4MHpNNjQgOTZ2NjRoNjRWOTZINjR6TTAgMzM2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4aDk2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4djk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFYzMzZ6bTY0IDE2djY0aDY0VjM1Mkg2NHpNMzA0IDMyaDk2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4djk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDMwNGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWODBjMC0yNi41IDIxLjUtNDggNDgtNDh6bTgwIDY0SDMyMHY2NGg2NFY5NnpNMjU2IDMwNGMwLTguOCA3LjItMTYgMTYtMTZoNjRjOC44IDAgMTYgNy4yIDE2IDE2czcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZzNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnY5NmMwIDguOC03LjIgMTYtMTYgMTZIMzY4Yy04LjggMC0xNi03LjItMTYtMTZzLTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2djY0YzAgOC44LTcuMiAxNi0xNiAxNkgyNzJjLTguOCAwLTE2LTcuMi0xNi0xNlYzMDR6TTM2OCA0ODBhMTYgMTYgMCAxIDEgMC0zMiAxNiAxNiAwIDEgMSAwIDMyem02NCAwYTE2IDE2IDAgMSAxIDAtMzIgMTYgMTYgMCAxIDEgMCAzMnpcIl1cbn07XG52YXIgZmFDbG9ja1JvdGF0ZUxlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvY2stcm90YXRlLWxlZnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImhpc3RvcnlcIl0sIFwiZjFkYVwiLCBcIk03NSA3NUw0MSA0MUMyNS45IDI1LjkgMCAzNi42IDAgNTcuOVYxNjhjMCAxMy4zIDEwLjcgMjQgMjQgMjRIMTM0LjFjMjEuNCAwIDMyLjEtMjUuOSAxNy00MWwtMzAuOC0zMC44QzE1NSA4NS41IDIwMyA2NCAyNTYgNjRjMTA2IDAgMTkyIDg2IDE5MiAxOTJzLTg2IDE5Mi0xOTIgMTkyYy00MC44IDAtNzguNi0xMi43LTEwOS43LTM0LjRjLTE0LjUtMTAuMS0zNC40LTYuNi00NC42IDcuOXMtNi42IDM0LjQgNy45IDQ0LjZDMTUxLjIgNDk1IDIwMS43IDUxMiAyNTYgNTEyYzE0MS40IDAgMjU2LTExNC42IDI1Ni0yNTZTMzk3LjQgMCAyNTYgMEMxODUuMyAwIDEyMS4zIDI4LjcgNzUgNzV6bTE4MSA1M2MtMTMuMyAwLTI0IDEwLjctMjQgMjRWMjU2YzAgNi40IDIuNSAxMi41IDcgMTdsNzIgNzJjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC02NS02NVYxNTJjMC0xMy4zLTEwLjctMjQtMjQtMjR6XCJdXG59O1xudmFyIGZhSGlzdG9yeSA9IGZhQ2xvY2tSb3RhdGVMZWZ0O1xudmFyIGZhRmFjZUdyaW5CZWFtU3dlYXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1ncmluLWJlYW0tc3dlYXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1MTcsIFwiZ3Jpbi1iZWFtLXN3ZWF0XCJdLCBcImY1ODNcIiwgXCJNNDc2LjggMTI2LjNjLTQuMSAxLjEtOC40IDEuNy0xMi44IDEuN2MtMjYuNSAwLTQ4LTIxLTQ4LTQ3YzAtNSAxLjgtMTEuMyA0LjYtMTguMWMuMy0uNyAuNi0xLjQgLjktMi4xYzktMjAuMiAyNi41LTQ0LjkgMzYtNTcuNWMzLjItNC40IDkuNi00LjQgMTIuOCAwQzQ4My40IDIwLjYgNTEyIDYxIDUxMiA4MWMwIDIxLjctMTQuOSAzOS44LTM1LjIgNDUuM3pNMjU2IDBjNTEuNCAwIDk5LjMgMTUuMiAxMzkuNCA0MS4yYy0xLjUgMy4xLTMgNi4yLTQuMyA5LjNjLTMuNCA4LTcuMSAxOS03LjEgMzAuNWMwIDQ0LjMgMzYuNiA3OSA4MCA3OWM5LjYgMCAxOC44LTEuNyAyNy40LTQuOGMxMy4zIDMwLjkgMjAuNiA2NSAyMC42IDEwMC44YzAgMTQxLjQtMTE0LjYgMjU2LTI1NiAyNTZTMCAzOTcuNCAwIDI1NlMxMTQuNiAwIDI1NiAwek0zODguMSAzMTIuOGMtMzkuNyAxMi4yLTg0LjUgMTktMTMxLjggMTlzLTkyLjEtNi44LTEzMS44LTE5Yy0xMi4zLTMuOC0yNC4zIDYuOS0xOS4zIDE4LjdjMjUgNTkuMSA4My4yIDEwMC41IDE1MS4xIDEwMC41czEyNi4yLTQxLjQgMTUxLjEtMTAwLjVjNS0xMS44LTctMjIuNS0xOS4zLTE4Ljd6bS0xNzAuNS04NGwwIDAgMCAwYzIuMSAyLjggNS43IDMuOSA4LjkgMi44czUuNS00LjEgNS41LTcuNmMwLTE3LjktNi43LTM1LjYtMTYuNi00OC44Yy05LjgtMTMtMjMuOS0yMy4yLTM5LjQtMjMuMnMtMjkuNiAxMC4yLTM5LjQgMjMuMkMxMjYuNyAxODguNCAxMjAgMjA2LjEgMTIwIDIyNGMwIDMuNCAyLjIgNi41IDUuNSA3LjZzNi45IDAgOC45LTIuOGwwIDAgMCAwIDAgMCAuMi0uMmMuMi0uMiAuNC0uNSAuNy0uOWMuNi0uOCAxLjYtMiAyLjgtMy40YzIuNS0yLjggNi02LjYgMTAuMi0xMC4zYzguOC03LjggMTguOC0xNCAyNy43LTE0czE4LjkgNi4yIDI3LjcgMTRjNC4yIDMuNyA3LjcgNy41IDEwLjIgMTAuM2MxLjIgMS40IDIuMiAyLjYgMi44IDMuNGMuMyAuNCAuNiAuNyAuNyAuOWwuMiAuMiAwIDAgMCAwem0xNjAgMGwwIDAgMCAwIDAgMGMyLjEgMi44IDUuNyAzLjkgOC45IDIuOHM1LjUtNC4xIDUuNS03LjZjMC0xNy45LTYuNy0zNS42LTE2LjYtNDguOGMtOS44LTEzLTIzLjktMjMuMi0zOS40LTIzLjJzLTI5LjYgMTAuMi0zOS40IDIzLjJDMjg2LjcgMTg4LjQgMjgwIDIwNi4xIDI4MCAyMjRjMCAzLjQgMi4yIDYuNSA1LjUgNy42czYuOSAwIDguOS0yLjhsMCAwIDAgMCAwIDAgLjItLjJjLjItLjIgLjQtLjUgLjctLjljLjYtLjggMS42LTIgMi44LTMuNGMyLjUtMi44IDYtNi42IDEwLjItMTAuM2M4LjgtNy44IDE4LjgtMTQgMjcuNy0xNHMxOC45IDYuMiAyNy43IDE0YzQuMiAzLjcgNy43IDcuNSAxMC4yIDEwLjNjMS4yIDEuNCAyLjIgMi42IDIuOCAzLjRjLjMgLjQgLjYgLjcgLjcgLjlsLjIgLjIgMCAwelwiXVxufTtcbnZhciBmYUdyaW5CZWFtU3dlYXQgPSBmYUZhY2VHcmluQmVhbVN3ZWF0O1xudmFyIGZhRmlsZUV4cG9ydCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLWV4cG9ydCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiYXJyb3ctcmlnaHQtZnJvbS1maWxlXCJdLCBcImY1NmVcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBIMjI0VjEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMkgzODRWMjg4SDIxNmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNEgzODRWNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY2NHpNMzg0IDMzNlYyODhINDk0LjFsLTM5LTM5Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsODAgODBjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTgwIDgwYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDM5LTM5SDM4NHptMC0yMDhIMjU2VjBMMzg0IDEyOHpcIl1cbn07XG52YXIgZmFBcnJvd1JpZ2h0RnJvbUZpbGUgPSBmYUZpbGVFeHBvcnQ7XG52YXIgZmFTaGllbGQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2hpZWxkJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NzM3LCBcInNoaWVsZC1ibGFua1wiXSwgXCJmMTMyXCIsIFwiTTI1NiAwYzQuNiAwIDkuMiAxIDEzLjQgMi45TDQ1Ny43IDgyLjhjMjIgOS4zIDM4LjQgMzEgMzguMyA1Ny4yYy0uNSA5OS4yLTQxLjMgMjgwLjctMjEzLjYgMzYzLjJjLTE2LjcgOC0zNi4xIDgtNTIuOCAwQzU3LjMgNDIwLjcgMTYuNSAyMzkuMiAxNiAxNDBjLS4xLTI2LjIgMTYuMy00Ny45IDM4LjMtNTcuMkwyNDIuNyAyLjlDMjQ2LjggMSAyNTEuNCAwIDI1NiAwelwiXVxufTtcbnZhciBmYVNoaWVsZEJsYW5rID0gZmFTaGllbGQ7XG52YXIgZmFBcnJvd1VwU2hvcnRXaWRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXVwLXNob3J0LXdpZGUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInNvcnQtYW1vdW50LXVwLWFsdFwiXSwgXCJmODg1XCIsIFwiTTE1MS42IDQyLjRDMTQ1LjUgMzUuOCAxMzcgMzIgMTI4IDMycy0xNy41IDMuOC0yMy42IDEwLjRsLTg4IDk2Yy0xMS45IDEzLTExLjEgMzMuMyAyIDQ1LjJzMzMuMyAxMS4xIDQ1LjItMkw5NiAxNDYuM1Y0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYxNDYuM2wzMi40IDM1LjRjMTEuOSAxMyAzMi4yIDEzLjkgNDUuMiAyczEzLjktMzIuMiAyLTQ1LjJsLTg4LTk2ek0zMjAgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMzIwem0wIDEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmg5NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMjB6bTAgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDQ4MGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMjB6bTAgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDU0NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMjB6XCJdXG59O1xudmFyIGZhU29ydEFtb3VudFVwQWx0ID0gZmFBcnJvd1VwU2hvcnRXaWRlO1xudmFyIGZhSG91c2VNZWRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLW1lZGljYWwnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImUzYjJcIiwgXCJNNTQzLjggMjg3LjZjMTcgMCAzMi0xNCAzMi0zMi4xYzEtOS0zLTE3LTExLTI0TDMwOS41IDdjLTYtNS0xNC03LTIxLTdzLTE1IDEtMjIgOEwxMCAyMzEuNWMtNyA3LTEwIDE1LTEwIDI0YzAgMTggMTQgMzIuMSAzMiAzMi4xaDMyVjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEg0NDguNWMzNS41IDAgNjQuMi0yOC44IDY0LTY0LjNsLS43LTE2MC4yaDMyek0yNTYgMjA4YzAtOC44IDcuMi0xNiAxNi0xNmgzMmM4LjggMCAxNiA3LjIgMTYgMTZ2NDhoNDhjOC44IDAgMTYgNy4yIDE2IDE2djMyYzAgOC44LTcuMiAxNi0xNiAxNkgzMjB2NDhjMCA4LjgtNy4yIDE2LTE2IDE2SDI3MmMtOC44IDAtMTYtNy4yLTE2LTE2VjMyMEgyMDhjLTguOCAwLTE2LTcuMi0xNi0xNlYyNzJjMC04LjggNy4yLTE2IDE2LTE2aDQ4VjIwOHpcIl1cbn07XG52YXIgZmFHb2xmQmFsbFRlZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnb2xmLWJhbGwtdGVlJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXCJnb2xmLWJhbGxcIl0sIFwiZjQ1MFwiLCBcIk0zODQgMTkyYzAgNjYuOC0zNC4xIDEyNS42LTg1LjggMTYwSDg1LjhDMzQuMSAzMTcuNiAwIDI1OC44IDAgMTkyQzAgODYgODYgMCAxOTIgMFMzODQgODYgMzg0IDE5MnpNMjQyLjEgMjU2LjZjMCAxOC41LTE1IDMzLjUtMzMuNSAzMy41Yy00LjkgMC05LjEgNS4xLTUuNCA4LjRjNS45IDUuMiAxMy43IDguNCAyMi4xIDguNGMxOC41IDAgMzMuNS0xNSAzMy41LTMzLjVjMC04LjUtMy4yLTE2LjItOC40LTIyLjFjLTMuMy0zLjctOC40IC41LTguNCA1LjR6bS01Mi4zLTQ5LjNjLTQuOSAwLTkuMSA1LjEtNS40IDguNGM1LjkgNS4yIDEzLjcgOC40IDIyLjEgOC40YzE4LjUgMCAzMy41LTE1IDMzLjUtMzMuNWMwLTguNS0zLjItMTYuMi04LjQtMjIuMWMtMy4zLTMuNy04LjQgLjUtOC40IDUuNGMwIDE4LjUtMTUgMzMuNS0zMy41IDMzLjV6bTExMy41LTE3LjVjMCAxOC41LTE1IDMzLjUtMzMuNSAzMy41Yy00LjkgMC05LjEgNS4xLTUuNCA4LjRjNS45IDUuMiAxMy43IDguNCAyMi4xIDguNGMxOC41IDAgMzMuNS0xNSAzMy41LTMzLjVjMC04LjUtMy4yLTE2LjItOC40LTIyLjFjLTMuMy0zLjctOC40IC41LTguNCA1LjR6TTk2IDQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMmg2NCA2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgyNDBjLTguOCAwLTE2IDcuMi0xNiAxNnYxNmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlY0NjRjMC04LjgtNy4yLTE2LTE2LTE2SDEyOGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6XCJdXG59O1xudmFyIGZhR29sZkJhbGwgPSBmYUdvbGZCYWxsVGVlO1xudmFyIGZhQ2lyY2xlQ2hldnJvbkxlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLWNoZXZyb24tbGVmdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiY2hldnJvbi1jaXJjbGUtbGVmdFwiXSwgXCJmMTM3XCIsIFwiTTUxMiAyNTZBMjU2IDI1NiAwIDEgMCAwIDI1NmEyNTYgMjU2IDAgMSAwIDUxMiAwek0yNzEgMTM1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtODcgODcgODcgODdjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEwxNjcgMjczYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOUwyNzEgMTM1elwiXVxufTtcbnZhciBmYUNoZXZyb25DaXJjbGVMZWZ0ID0gZmFDaXJjbGVDaGV2cm9uTGVmdDtcbnZhciBmYUhvdXNlQ2hpbW5leVdpbmRvdyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1jaGltbmV5LXdpbmRvdycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTAwZFwiLCBcIk01NzUuOCAyNTUuNWMwIDE4LTE1IDMyLjEtMzIgMzIuMWgtMzJsLjcgMTYwLjJjLjIgMzUuNS0yOC41IDY0LjMtNjQgNjQuM0gxMjguMWMtMzUuMyAwLTY0LTI4LjctNjQtNjRWMjg3LjZIMzJjLTE4IDAtMzItMTQtMzItMzIuMWMwLTkgMy0xNyAxMC0yNEwyNjYuNCA4YzctNyAxNS04IDIyLThzMTUgMiAyMSA3TDQxNiAxMDAuN1Y2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmgzMmMxNy43IDAgMzIgMTQuMyAzMiAzMlYxODVsNTIuOCA0Ni40YzggNyAxMiAxNSAxMSAyNHpNMjQ4IDE5MmMtMTMuMyAwLTI0IDEwLjctMjQgMjR2ODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRoODBjMTMuMyAwIDI0LTEwLjcgMjQtMjRWMjE2YzAtMTMuMy0xMC43LTI0LTI0LTI0SDI0OHpcIl1cbn07XG52YXIgZmFQZW5OaWIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVuLW5pYicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEwMDAxXSwgXCJmNWFkXCIsIFwiTTM2OC40IDE4LjNMMzEyLjcgNzQuMSA0MzcuOSAxOTkuM2w1NS43LTU1LjdjMjEuOS0yMS45IDIxLjktNTcuMyAwLTc5LjJMNDQ3LjYgMTguM2MtMjEuOS0yMS45LTU3LjMtMjEuOS03OS4yIDB6TTI4OCA5NC42bC05LjIgMi44TDEzNC43IDE0MC42Yy0xOS45IDYtMzUuNyAyMS4yLTQyLjMgNDFMMy44IDQ0NS44Yy0zLjggMTEuMy0xIDIzLjkgNy4zIDMyLjRMMTY0LjcgMzI0LjdjLTMtNi4zLTQuNy0xMy4zLTQuNy0yMC43YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhjLTcuNCAwLTE0LjQtMS43LTIwLjctNC43TDMzLjcgNTAwLjljOC42IDguMyAyMS4xIDExLjIgMzIuNCA3LjNsMjY0LjMtODguNmMxOS43LTYuNiAzNS0yMi40IDQxLTQyLjNsNDMuMi0xNDQuMSAyLjgtOS4yTDI4OCA5NC42elwiXVxufTtcbnZhciBmYVRlbnRBcnJvd1R1cm5MZWZ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RlbnQtYXJyb3ctdHVybi1sZWZ0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTgwXCIsIFwiTTEyMC4xIDQxLjhjOS45LTguOSAxMC43LTI0IDEuOC0zMy45Uzk3LjgtMi43IDg3LjkgNi4ybC04MCA3MkMyLjkgODIuNyAwIDg5LjIgMCA5NnMyLjkgMTMuMyA3LjkgMTcuOGw4MCA3MmM5LjkgOC45IDI1IDguMSAzMy45LTEuOHM4LjEtMjUtMS44LTMzLjlMODYuNSAxMjAgNDU2IDEyMGMzOS44IDAgNzIgMzIuMiA3MiA3MnY0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0VjE5MmMwLTY2LjMtNTMuNy0xMjAtMTIwLTEyMEw4Ni41IDcybDMzLjUtMzAuMnpNMzA3LjQgMTY2LjVjLTExLjUtOC43LTI3LjMtOC43LTM4LjggMGwtMTY4IDEyOGMtNi42IDUtMTEgMTIuNS0xMi4zIDIwLjdsLTI0IDE2MGMtMS40IDkuMiAxLjMgMTguNiA3LjQgMjUuNlM4Ni43IDUxMiA5NiA1MTJIMjQwaDE2YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjM2MS45YzAtNS41IDQuNC05LjkgOS45LTkuOWMzLjcgMCA3LjIgMi4xIDguOCA1LjVsNjguNCAxMzYuOGM1LjQgMTAuOCAxNi41IDE3LjcgMjguNiAxNy43SDQ2NGgxNmM5LjMgMCAxOC4yLTQuMSAyNC4yLTExLjFzOC44LTE2LjQgNy40LTI1LjZsLTI0LTE2MGMtMS4yLTguMi01LjYtMTUuNy0xMi4zLTIwLjdsLTE2OC0xMjh6XCJdXG59O1xudmFyIGZhVGVudHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGVudHMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1ODJcIiwgXCJNMzk2LjYgNi41TDIzNS44IDEyOS4xYzkuNiAxLjggMTguOSA1LjggMjcgMTJsMTY4IDEyOGMxMy4yIDEwLjEgMjIgMjQuOSAyNC41IDQxLjRsNi4yIDQxLjVINjA4YzkuMyAwIDE4LjItNC4xIDI0LjItMTEuMXM4LjgtMTYuNCA3LjQtMjUuNmwtMjQtMTYwYy0xLjItOC4yLTUuNi0xNS43LTEyLjMtMjAuN2wtMTY4LTEyOGMtMTEuNS04LjctMjcuMy04LjctMzguOCAwem0tMTUzLjIgMTYwYy0xMS41LTguNy0yNy4zLTguNy0zOC44IDBsLTE2OCAxMjhjLTYuNiA1LTExIDEyLjUtMTIuMyAyMC43bC0yNCAxNjBjLTEuNCA5LjIgMS4zIDE4LjYgNy40IDI1LjZTMjIuNyA1MTIgMzIgNTEySDE3NmgxNmMxNy43IDAgMzItMTQuMyAzMi0zMlYzNjEuOWMwLTUuNSA0LjQtOS45IDkuOS05LjljMy43IDAgNy4yIDIuMSA4LjggNS41bDY4LjQgMTM2LjhjNS40IDEwLjggMTYuNSAxNy43IDI4LjYgMTcuN0g0MDBoMTZjOS4zIDAgMTguMi00LjEgMjQuMi0xMS4xczguOC0xNi40IDcuNC0yNS42bC0yNC0xNjBjLTEuMi04LjItNS42LTE1LjctMTIuMy0yMC43bC0xNjgtMTI4elwiXVxufTtcbnZhciBmYVdhbmRNYWdpYyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3YW5kLW1hZ2ljJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJtYWdpY1wiXSwgXCJmMGQwXCIsIFwiTTE0LjEgNDYzLjNjLTE4LjctMTguNy0xOC43LTQ5LjEgMC02Ny45TDM5NS40IDE0LjFjMTguNy0xOC43IDQ5LjEtMTguNyA2Ny45IDBsMzQuNiAzNC42YzE4LjcgMTguNyAxOC43IDQ5LjEgMCA2Ny45TDExNi41IDQ5Ny45Yy0xOC43IDE4LjctNDkuMSAxOC43LTY3LjkgMEwxNC4xIDQ2My4zek0zNDcuNiAxODcuNmwxMDUtMTA1TDQyOS40IDU5LjNsLTEwNSAxMDUgMjMuMyAyMy4zelwiXVxufTtcbnZhciBmYU1hZ2ljID0gZmFXYW5kTWFnaWM7XG52YXIgZmFEb2cgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZG9nJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4MDIxXSwgXCJmNmQzXCIsIFwiTTMwOS42IDE1OC41TDMzMi43IDE5LjhDMzM0LjYgOC40IDM0NC41IDAgMzU2LjEgMGM3LjUgMCAxNC41IDMuNSAxOSA5LjVMMzkyIDMyaDUyLjFjMTIuNyAwIDI0LjkgNS4xIDMzLjkgMTQuMUw0OTYgNjRoNTZjMTMuMyAwIDI0IDEwLjcgMjQgMjR2MjRjMCA0NC4yLTM1LjggODAtODAgODBINDY0IDQ0OCA0MjYuN2wtNS4xIDMwLjUtMTEyLTY0ek00MTYgMjU2LjFMNDE2IDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMkgzNTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjM2NC44Yy0yNCAxMi4zLTUxLjIgMTkuMi04MCAxOS4ycy01Ni02LjktODAtMTkuMlY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJIOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjI0OS44Yy0yOC44LTEwLjktNTEuNC0zNS4zLTU5LjItNjYuNUwxIDE2Ny44Yy00LjMtMTcuMSA2LjEtMzQuNSAyMy4zLTM4LjhzMzQuNSA2LjEgMzguOCAyMy4zbDMuOSAxNS41QzcwLjUgMTgyIDgzLjMgMTkyIDk4IDE5MmgzMCAxNkgzMDMuOEw0MTYgMjU2LjF6TTQ2NCA4MGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwelwiXVxufTtcbnZhciBmYUNhcnJvdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXJyb3QnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjkzNjVdLCBcImY3ODdcIiwgXCJNMzQ2LjcgNkMzMzcuNiAxNyAzMjAgNDIuMyAzMjAgNzJjMCA0MCAxNS4zIDU1LjMgNDAgODBzNDAgNDAgODAgNDBjMjkuNyAwIDU1LTE3LjYgNjYtMjYuN2M0LTMuMyA2LTguMiA2LTEzLjNzLTItMTAtNi0xMy4yYy0xMS40LTkuMS0zOC4zLTI2LjgtNzQtMjYuOGMtMzIgMC00MCA4LTQwIDhzOC04IDgtNDBjMC0zNS43LTE3LjctNjIuNi0yNi44LTc0QzM3MCAyIDM2NS4xIDAgMzYwIDBzLTEwIDItMTMuMyA2ek0yNDQuNiAxMzZjLTQwIDAtNzcuMSAxOC4xLTEwMS43IDQ4LjJsNjAuNSA2MC41YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBsLTU1LjMtNTUuMyAwIC4xTDIuMiA0NzcuOUMtMiA0ODctLjEgNDk3LjggNyA1MDVzMTcuOSA5IDI3LjEgNC44bDEzNC43LTYyLjQtNTIuMS01Mi4xYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMMTk5LjcgNDMzbDEwMC4yLTQ2LjRjNDYuNC0yMS41IDc2LjItNjggNzYuMi0xMTkuMkMzNzYgMTk0LjggMzE3LjIgMTM2IDI0NC42IDEzNnpcIl1cbn07XG52YXIgZmFNb29uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vb24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjc3NjksIDkyMTRdLCBcImYxODZcIiwgXCJNMjIzLjUgMzJDMTAwIDMyIDAgMTMyLjMgMCAyNTZTMTAwIDQ4MCAyMjMuNSA0ODBjNjAuNiAwIDExNS41LTI0LjIgMTU1LjgtNjMuNGM1LTQuOSA2LjMtMTIuNSAzLjEtMTguN3MtMTAuMS05LjctMTctOC41Yy05LjggMS43LTE5LjggMi42LTMwLjEgMi42Yy05Ni45IDAtMTc1LjUtNzguOC0xNzUuNS0xNzZjMC02NS44IDM2LTEyMy4xIDg5LjMtMTUzLjNjNi4xLTMuNSA5LjItMTAuNSA3LjctMTcuM3MtNy4zLTExLjktMTQuMy0xMi41Yy02LjMtLjUtMTIuNi0uOC0xOS0uOHpcIl1cbn07XG52YXIgZmFXaW5lR2xhc3NFbXB0eSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3aW5lLWdsYXNzLWVtcHR5JyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJ3aW5lLWdsYXNzLWFsdFwiXSwgXCJmNWNlXCIsIFwiTTY0IDBDNDcuNCAwIDMzLjUgMTIuOCAzMi4xIDI5LjNsLTE0IDE2OC40Yy02IDcyIDQyLjUgMTM1LjIgMTA5LjkgMTUwLjZWNDQ4SDgwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDgwIDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDE5MlYzNDguNGM2Ny40LTE1LjQgMTE1LjktNzguNiAxMDkuOS0xNTAuNmwtMTQtMTY4LjRDMjg2LjUgMTIuOCAyNzIuNiAwIDI1NiAwSDY0ek04MS45IDIwMy4xTDkzLjQgNjRIMjI2LjZsMTEuNiAxMzkuMUMyNDIgMjQ4LjggMjA1LjkgMjg4IDE2MCAyODhzLTgyLTM5LjItNzguMS04NC45elwiXVxufTtcbnZhciBmYVdpbmVHbGFzc0FsdCA9IGZhV2luZUdsYXNzRW1wdHk7XG52YXIgZmFDaGVlc2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hlZXNlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmN2VmXCIsIFwiTTUxMiAyNDAuMlYyNTZIMGMwLTIwIDEwLTM4LjcgMjYuNi00OS44TDI3NC45IDQwLjdjOC42LTUuNyAxOC42LTguNyAyOC45LTguN0M0MTguOCAzMiA1MTIgMTI1LjIgNTEyIDI0MC4yem0wIDQ3LjhWNDE2YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFYyODhINTEyelwiXVxufTtcbnZhciBmYVlpbllhbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAneWluLXlhbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5Nzc1XSwgXCJmNmFkXCIsIFwiTTI1NiA2NGM1MyAwIDk2IDQzIDk2IDk2cy00MyA5Ni05NiA5NnMtOTYgNDMtOTYgOTZzNDMgOTYgOTYgOTZDMTUwIDQ0OCA2NCAzNjIgNjQgMjU2UzE1MCA2NCAyNTYgNjR6bTAgNDQ4QTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnptMzItMzUyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTIyNCAzNTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpcIl1cbn07XG52YXIgZmFNdXNpYyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtdXNpYycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzkyNV0sIFwiZjAwMVwiLCBcIk00OTkuMSA2LjNjOC4xIDYgMTIuOSAxNS42IDEyLjkgMjUuN3Y3MlYzNjhjMCA0NC4yLTQzIDgwLTk2IDgwcy05Ni0zNS44LTk2LTgwczQzLTgwIDk2LTgwYzExLjIgMCAyMiAxLjYgMzIgNC42VjE0N0wxOTIgMjIzLjhWNDMyYzAgNDQuMi00MyA4MC05NiA4MHMtOTYtMzUuOC05Ni04MHM0My04MCA5Ni04MGMxMS4yIDAgMjIgMS42IDMyIDQuNlYyMDAgMTI4YzAtMTQuMSA5LjMtMjYuNiAyMi44LTMwLjdsMzIwLTk2YzkuNy0yLjkgMjAuMi0xLjEgMjguMyA1elwiXVxufTtcbnZhciBmYUNvZGVDb21taXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29kZS1jb21taXQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImYzODZcIiwgXCJNMzIwIDMzNmE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHptMTU2LjgtNDhDNDYyIDM2MSAzOTcuNCA0MTYgMzIwIDQxNnMtMTQyLTU1LTE1Ni44LTEyOEgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkgxNjMuMkMxNzggMTUxIDI0Mi42IDk2IDMyMCA5NnMxNDIgNTUgMTU2LjggMTI4SDYwOGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg0NzYuOHpcIl1cbn07XG52YXIgZmFUZW1wZXJhdHVyZUxvdyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW1wZXJhdHVyZS1sb3cnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3NmJcIiwgXCJNNDQ4IDk2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTMyMCA5NmE5NiA5NiAwIDEgMSAxOTIgMEE5NiA5NiAwIDEgMSAzMjAgOTZ6TTE0NCA2NGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhWMjc2LjVjMCAxNy4zLTcuMSAzMS45LTE1LjMgNDIuNUM3MC4yIDMzMi42IDY0IDM0OS41IDY0IDM2OGMwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtMTguNS02LjItMzUuNC0xNi43LTQ4LjljLTguMi0xMC42LTE1LjMtMjUuMi0xNS4zLTQyLjVWMTEyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek0zMiAxMTJDMzIgNTAuMiA4Mi4xIDAgMTQ0IDBzMTEyIDUwLjEgMTEyIDExMlYyNzYuNWMwIC4xIC4xIC4zIC4yIC42Yy4yIC42IC44IDEuNiAxLjcgMi44YzE4LjkgMjQuNCAzMC4xIDU1IDMwLjEgODguMWMwIDc5LjUtNjQuNSAxNDQtMTQ0IDE0NFMwIDQ0Ny41IDAgMzY4YzAtMzMuMiAxMS4yLTYzLjggMzAuMS04OC4xYy45LTEuMiAxLjUtMi4yIDEuNy0yLjhjLjEtLjMgLjItLjUgLjItLjZWMTEyek0xOTIgMzY4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4YzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM1YyNzJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnY1MC43YzE4LjYgNi42IDMyIDI0LjQgMzIgNDUuM3pcIl1cbn07XG52YXIgZmFQZXJzb25CaWtpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWJpa2luZycsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODY5MiwgXCJiaWtpbmdcIl0sIFwiZjg0YVwiLCBcIk00MDAgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0yNy4yIDY0bC02MS44LTQ4LjhjLTE3LjMtMTMuNi00MS43LTEzLjgtNTkuMS0uM2wtODMuMSA2NC4yYy0zMC43IDIzLjgtMjguNSA3MC44IDQuMyA5MS42TDI4OCAzMDUuMVY0MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYyODhjMC0xMC43LTUuMy0yMC43LTE0LjItMjYuNkwyOTUgMjMyLjlsNjAuMy00OC41TDM5NiAyMTdjNS43IDQuNSAxMi43IDcgMjAgN2g2NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkg0MjcuMnpNNTYgMzg0YTcyIDcyIDAgMSAxIDE0NCAwQTcyIDcyIDAgMSAxIDU2IDM4NHptMjAwIDBBMTI4IDEyOCAwIDEgMCAwIDM4NGExMjggMTI4IDAgMSAwIDI1NiAwem0xODQgMGE3MiA3MiAwIDEgMSAxNDQgMCA3MiA3MiAwIDEgMSAtMTQ0IDB6bTIwMCAwYTEyOCAxMjggMCAxIDAgLTI1NiAwIDEyOCAxMjggMCAxIDAgMjU2IDB6XCJdXG59O1xudmFyIGZhQmlraW5nID0gZmFQZXJzb25CaWtpbmc7XG52YXIgZmFCcm9vbSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdicm9vbScsXG4gIGljb246IFs1NzYsIDUxMiwgWzEyOTUyOV0sIFwiZjUxYVwiLCBcIk01NjYuNiA1NC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0xOTIgMTkyLTM0LjctMzQuN2MtNC4yLTQuMi0xMC02LjYtMTYtNi42Yy0xMi41IDAtMjIuNiAxMC4xLTIyLjYgMjIuNnYyOS4xTDM2NC4zIDMyMGgyOS4xYzEyLjUgMCAyMi42LTEwLjEgMjIuNi0yMi42YzAtNi0yLjQtMTEuOC02LjYtMTZsLTM0LjctMzQuNyAxOTItMTkyek0zNDEuMSAzNTMuNEwyMjIuNiAyMzQuOWMtNDIuNy0zLjctODUuMiAxMS43LTExNS44IDQyLjNsLTggOEM3Ni41IDMwNy41IDY0IDMzNy43IDY0IDM2OS4yYzAgNi44IDcuMSAxMS4yIDEzLjIgOC4ybDUxLjEtMjUuNWM1LTIuNSA5LjUgNC4xIDUuNCA3LjlMNy4zIDQ3My40QzIuNyA0NzcuNiAwIDQ4My42IDAgNDg5LjlDMCA1MDIuMSA5LjkgNTEyIDIyLjEgNTEybDE3My4zIDBjMzguOCAwIDc1LjktMTUuNCAxMDMuNC00Mi44YzMwLjYtMzAuNiA0NS45LTczLjEgNDIuMy0xMTUuOHpcIl1cbn07XG52YXIgZmFTaGllbGRIZWFydCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaGllbGQtaGVhcnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1NzRcIiwgXCJNMjY5LjQgMi45QzI2NS4yIDEgMjYwLjcgMCAyNTYgMHMtOS4yIDEtMTMuNCAyLjlMNTQuMyA4Mi44Yy0yMiA5LjMtMzguNCAzMS0zOC4zIDU3LjJjLjUgOTkuMiA0MS4zIDI4MC43IDIxMy42IDM2My4yYzE2LjcgOCAzNi4xIDggNTIuOCAwQzQ1NC43IDQyMC43IDQ5NS41IDIzOS4yIDQ5NiAxNDBjLjEtMjYuMi0xNi4zLTQ3LjktMzguMy01Ny4yTDI2OS40IDIuOXpNMTQ0IDIyMS4zYzAtMzMuOCAyNy40LTYxLjMgNjEuMy02MS4zYzE2LjIgMCAzMS44IDYuNSA0My4zIDE3LjlsNy40IDcuNCA3LjQtNy40YzExLjUtMTEuNSAyNy4xLTE3LjkgNDMuMy0xNy45YzMzLjggMCA2MS4zIDI3LjQgNjEuMyA2MS4zYzAgMTYuMi02LjUgMzEuOC0xNy45IDQzLjNsLTgyLjcgODIuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBsLTgyLjctODIuN2MtMTEuNS0xMS41LTE3LjktMjcuMS0xNy45LTQzLjN6XCJdXG59O1xudmFyIGZhR29wdXJhbSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnb3B1cmFtJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNjY0XCIsIFwiTTEyMCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0djhoNDBWMjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHY4aDQ4VjI0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR2OGg0MFYyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0djhWNjR2NjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2NjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2OTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJINDE2VjM1MkgzODRWMjI0SDM1MlYxMjhIMzIwdjk2aDMyVjM1MmgzMlY1MTJIMzA0VjQ2NGMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OHY0OEgxMjhWMzUyaDMyVjIyNGgzMlYxMjhIMTYwdjk2SDEyOFYzNTJIOTZWNTEySDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMlYzODRjMC0xNy43IDE0LjMtMzIgMzItMzJWMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMyVjE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMlY2NCAzMiAyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNMjU2IDI3MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2NDhoNjRWMzA0YzAtMTcuNy0xNC4zLTMyLTMyLTMyem0tMzItODB2MzJoNjRWMTkyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyelwiXVxufTtcbnZhciBmYUVhcnRoT2NlYW5pYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdlYXJ0aC1vY2VhbmlhJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJnbG9iZS1vY2VhbmlhXCJdLCBcImU0N2JcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTIwOC42IDM1Ny4zbC0zOS0xMy41Yy02LjUtMi4yLTEzLjYtMi4zLTIwLjEtLjNsLTE1LjMgNC45Yy0xOC41IDUuOS0zOC41LTIuNC00Ny41LTE5LjVsLTMuMy02LjJjLTEwLjYtMjAuMS0yLjMtNDUgMTguMi01NC43bDM1LjMtMTYuOGMyLjMtMS4xIDQuNC0yLjggNS45LTQuOGw1LjMtN2M3LjItOS42IDE4LjYtMTUuMyAzMC42LTE1LjNzMjMuNCA1LjcgMzAuNiAxNS4zbDQuNiA2LjFjMiAyLjYgNC45IDQuNSA4LjEgNS4xYzcuOCAxLjYgMTUuNy0xLjUgMjAuNC03LjlsMTAuNC0xNC4yYzItMi44IDUuMy00LjQgOC43LTQuNGM0LjQgMCA4LjQgMi43IDEwIDYuOGwxMC4xIDI1LjljMi44IDcuMiA2LjcgMTQgMTEuNSAyMC4yTDMxMSAyOTkuOGM1LjggNy40IDkgMTYuNiA5IDI2cy0zLjIgMTguNi05IDI2TDI5OSAzNjcuMmMtOC4zIDEwLjYtMjEgMTYuOC0zNC40IDE2LjhjLTguNCAwLTE2LjYtMi40LTIzLjctN2wtMjUuNC0xNi40Yy0yLjItMS40LTQuNS0yLjUtNi45LTMuNHptNjUuMi0yMTQuOEwyOTYgMTY0LjdjMTAuMSAxMC4xIDIuOSAyNy4zLTExLjMgMjcuM0gyNTQuOGMtNS42IDAtMTEuMS0xLjItMTYuMi0zLjRsLTQyLjgtMTljLTE0LjMtNi4zLTExLjktMjcuMyAzLjQtMzAuM2wzOC41LTcuN2MxMy4xLTIuNiAyNi43IDEuNSAzNi4xIDEwLjl6TTI0OCA0MzJjMC04LjggNy4yLTE2IDE2LTE2aDE2YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDI2NGMtOC44IDAtMTYtNy4yLTE2LTE2ek00MzEuMiAyOTguOWw4IDI0YzIuOCA4LjQtMS43IDE3LjQtMTAuMSAyMC4ycy0xNy40LTEuNy0yMC4yLTEwLjFsLTgtMjRjLTIuOC04LjQgMS43LTE3LjQgMTAuMS0yMC4yczE3LjQgMS43IDIwLjIgMTAuMXptLTE5LjkgODAuNGwtMzIgMzJjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZsMzItMzJjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42elwiXVxufTtcbnZhciBmYUdsb2JlT2NlYW5pYSA9IGZhRWFydGhPY2VhbmlhO1xudmFyIGZhU3F1YXJlWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLXhtYXJrJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTAwNjIsIFwidGltZXMtc3F1YXJlXCIsIFwieG1hcmstc3F1YXJlXCJdLCBcImYyZDNcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzg0YzM1LjMgMCA2NC0yOC43IDY0LTY0Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0em03OSAxNDNjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsNDcgNDcgNDctNDdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC00NyA0NyA0NyA0N2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00Ny00Ny00NyA0N2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw0Ny00Ny00Ny00N2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6XCJdXG59O1xudmFyIGZhVGltZXNTcXVhcmUgPSBmYVNxdWFyZVhtYXJrO1xudmFyIGZhWG1hcmtTcXVhcmUgPSBmYVNxdWFyZVhtYXJrO1xudmFyIGZhSGFzaHRhZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYXNodGFnJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbNjIwOThdLCBcIjIzXCIsIFwiTTE4MS4zIDMyLjRjMTcuNCAyLjkgMjkuMiAxOS40IDI2LjMgMzYuOEwxOTcuOCAxMjhoOTUuMWwxMS41LTY5LjNjMi45LTE3LjQgMTkuNC0yOS4yIDM2LjgtMjYuM3MyOS4yIDE5LjQgMjYuMyAzNi44TDM1Ny44IDEyOEg0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIMzQ3LjFMMzI1LjggMzIwSDM4NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMTUuMWwtMTEuNSA2OS4zYy0yLjkgMTcuNC0xOS40IDI5LjItMzYuOCAyNi4zcy0yOS4yLTE5LjQtMjYuMy0zNi44bDkuOC01OC43SDE1NS4xbC0xMS41IDY5LjNjLTIuOSAxNy40LTE5LjQgMjkuMi0zNi44IDI2LjNzLTI5LjItMTkuNC0yNi4zLTM2LjhMOTAuMiAzODRIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJoNjguOWwyMS4zLTEyOEg2NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmg2OC45bDExLjUtNjkuM2MyLjktMTcuNCAxOS40LTI5LjIgMzYuOC0yNi4zek0xODcuMSAxOTJMMTY1LjggMzIwaDk1LjFsMjEuMy0xMjhIMTg3LjF6XCJdXG59O1xudmFyIGZhVXBSaWdodEFuZERvd25MZWZ0RnJvbUNlbnRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1cC1yaWdodC1hbmQtZG93bi1sZWZ0LWZyb20tY2VudGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJleHBhbmQtYWx0XCJdLCBcImY0MjRcIiwgXCJNMzQ0IDBINDg4YzEzLjMgMCAyNCAxMC43IDI0IDI0VjE2OGMwIDkuNy01LjggMTguNS0xNC44IDIyLjJzLTE5LjMgMS43LTI2LjItNS4ybC0zOS0zOS04NyA4N2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBsLTMyLTMyYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw4Ny04N0wzMjcgNDFjLTYuOS02LjktOC45LTE3LjItNS4yLTI2LjJTMzM0LjMgMCAzNDQgMHpNMTY4IDUxMkgyNGMtMTMuMyAwLTI0LTEwLjctMjQtMjRWMzQ0YzAtOS43IDUuOC0xOC41IDE0LjgtMjIuMnMxOS4zLTEuNyAyNi4yIDUuMmwzOSAzOSA4Ny04N2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMGwzMiAzMmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtODcgODcgMzkgMzljNi45IDYuOSA4LjkgMTcuMiA1LjIgMjYuMnMtMTIuNSAxNC44LTIyLjIgMTQuOHpcIl1cbn07XG52YXIgZmFFeHBhbmRBbHQgPSBmYVVwUmlnaHRBbmREb3duTGVmdEZyb21DZW50ZXI7XG52YXIgZmFPaWxDYW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnb2lsLWNhbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjYxM1wiLCBcIk0zMjAgMTI4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmgzMnYzMkgxNDQgOTYgNDhjLTI2LjUgMC00OCAyMS41LTQ4IDQ4djY0LjhjMCAxOSAxMS4yIDM2LjIgMjguNSA0My45bDY3LjUgMzBWMzY4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4SDQwMy4xYzE4LjQgMCAzNS44LTcuOSA0OC0yMS43TDYzMy41IDE4Ny43YzEyLjMtMTMuOS0uMy0zNS40LTE4LjQtMzEuNUw0NDggMTkybC01MC41LTI1LjJjLTguOS00LjQtMTguNy02LjgtMjguNi02LjhIMjg4VjEyOGgzMnpNOTYgMjA4djg2LjFMNDggMjcyLjhWMjA4SDk2elwiXVxufTtcbnZhciBmYVQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndCcsXG4gIGljb246IFszODQsIDUxMiwgWzExNl0sIFwiNTRcIiwgXCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2SDE2MFY0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlY5NkgzNTJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMTkyIDMyelwiXVxufTtcbnZhciBmYUhpcHBvID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hpcHBvJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI5NDM1XSwgXCJmNmVkXCIsIFwiTTQwNyA0N2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMGwxNy4yIDE3LjJjMS45LS4xIDMuOS0uMiA1LjgtLjJoMzJjMTEuMiAwIDIxLjkgMi4zIDMxLjYgNi41TDU0MyA1NWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlMNTY0IDEwMS45YzcuNiAxMi4yIDEyIDI2LjcgMTIgNDIuMWMwIDEwLjIgNy40IDE4LjggMTYuNyAyM2MyNy45IDEyLjUgNDcuMyA0MC41IDQ3LjMgNzNjMCAyNi4yLTEyLjYgNDkuNC0zMiA2NHYzMmMwIDguOC03LjIgMTYtMTYgMTZINTYwYy04LjggMC0xNi03LjItMTYtMTZWMzIwSDQ4MHYxNmMwIDguOC03LjIgMTYtMTYgMTZINDMyYy04LjggMC0xNi03LjItMTYtMTZWMzE4LjRjLTExLjgtMi40LTIyLjctNy40LTMyLTE0LjRjLTEuNS0xLjEtMi45LTIuMy00LjMtMy41Yy0xNy0xNC43LTI3LjctMzYuNC0yNy43LTYwLjVjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZjMCA0NC43IDI2LjIgODMuMiA2NCAxMDEuMlYzNTJjMCAxNy43IDE0LjMgMzIgMzIgMzJoMzJ2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJIMzUyYy0xNy43IDAtMzItMTQuMy0zMi0zMlYzNzJjLTE5LjggNy43LTQxLjQgMTItNjQgMTJzLTQ0LjItNC4zLTY0LTEydjc2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYzMjkuMUw0NS45IDM2OS43Yy01LjQgMTIuMS0xOS42IDE3LjYtMzEuNyAxMi4yUy0zLjMgMzYyLjQgMi4xIDM1MC4zTDI0IDMwMC45YzUuMy0xMS45IDgtMjQuNyA4LTM3LjdDMzIgMTU1LjcgMTE3LjIgNjggMjIzLjggNjQuMWwuMi0uMWg3LjJIMjU2aDMyYzQxLjcgMCA4My40IDEyLjEgMTE3LjIgMjUuN2MxLjctMS44IDMuNS0zLjYgNS4zLTUuMkw0MDcgODFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45em03MyAxODVhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHptODggMjRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4ek00ODAgMTQ0YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6bTQ4IDE2YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnpcIl1cbn07XG52YXIgZmFDaGFydENvbHVtbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGFydC1jb2x1bW4nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImUwZTNcIiwgXCJNMzIgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNDAwYzAgOC44IDcuMiAxNiAxNiAxNkg0ODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJIODBjLTQ0LjIgMC04MC0zNS44LTgwLTgwVjY0QzAgNDYuMyAxNC4zIDMyIDMyIDMyek0xNjAgMjI0YzE3LjcgMCAzMiAxNC4zIDMyIDMydjY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjI1NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMTI4LTY0VjMyMGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnptNjQgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2OTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMjI0YzAtMTcuNyAxNC4zLTMyIDMyLTMyek00ODAgOTZWMzIwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6XCJdXG59O1xudmFyIGZhSW5maW5pdHkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaW5maW5pdHknLFxuICBpY29uOiBbNjQwLCA1MTIsIFs4NzM0LCA5ODU0XSwgXCJmNTM0XCIsIFwiTTAgMjQxLjFDMCAxNjEgNjUgOTYgMTQ1LjEgOTZjMzguNSAwIDc1LjQgMTUuMyAxMDIuNiA0Mi41TDMyMCAyMTAuN2w3Mi4yLTcyLjJDNDE5LjUgMTExLjMgNDU2LjQgOTYgNDk0LjkgOTZDNTc1IDk2IDY0MCAxNjEgNjQwIDI0MS4xdjI5LjdDNjQwIDM1MSA1NzUgNDE2IDQ5NC45IDQxNmMtMzguNSAwLTc1LjQtMTUuMy0xMDIuNi00Mi41TDMyMCAzMDEuM2wtNzIuMiA3Mi4yQzIyMC41IDQwMC43IDE4My42IDQxNiAxNDUuMSA0MTZDNjUgNDE2IDAgMzUxIDAgMjcwLjlWMjQxLjF6TTI3NC43IDI1NmwtNzIuMi03Mi4yYy0xNS4yLTE1LjItMzUuOS0yMy44LTU3LjQtMjMuOEMxMDAuMyAxNjAgNjQgMTk2LjMgNjQgMjQxLjF2MjkuN2MwIDQ0LjggMzYuMyA4MS4xIDgxLjEgODEuMWMyMS41IDAgNDIuMi04LjUgNTcuNC0yMy44TDI3NC43IDI1NnptOTAuNSAwbDcyLjIgNzIuMmMxNS4yIDE1LjIgMzUuOSAyMy44IDU3LjQgMjMuOGM0NC44IDAgODEuMS0zNi4zIDgxLjEtODEuMVYyNDEuMWMwLTQ0LjgtMzYuMy04MS4xLTgxLjEtODEuMWMtMjEuNSAwLTQyLjIgOC41LTU3LjQgMjMuOEwzNjUuMyAyNTZ6XCJdXG59O1xudmFyIGZhVmlhbENpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZpYWwtY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTk2XCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJIOTZoNjQgNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJWMjY2LjhjLTIwLjIgMjguNi0zMiA2My41LTMyIDEwMS4yYzAgMjUuMiA1LjMgNDkuMSAxNC44IDcwLjhDMTg5LjUgNDYzLjcgMTYwLjYgNDgwIDEyOCA0ODBjLTUzIDAtOTYtNDMtOTYtOTZWOTZDMTQuMyA5NiAwIDgxLjcgMCA2NHpNOTYgOTZ2OTZoNjRWOTZIOTZ6TTIyNCAzNjhhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMjExLjMtNDMuM2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBMMzUyIDM4NS40bC0yOC43LTI4LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsNDAgNDBjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBsNzItNzJjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZ6XCJdXG59O1xudmFyIGZhUGVyc29uQXJyb3dEb3duVG9MaW5lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1hcnJvdy1kb3duLXRvLWxpbmUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MzhcIiwgXCJNMTkyIDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptLTggMzUyVjM1MmgxNnY5NkgxODR6bS02NCAwSDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDE1Mmg4MEg2MDhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMjY0VjI1Ni45bDI4LjYgNDcuNWM5LjEgMTUuMSAyOC44IDIwIDQzLjkgMTAuOXMyMC0yOC44IDEwLjktNDMuOWwtNTguMy05N2MtMTcuNC0yOC45LTQ4LjYtNDYuNi04Mi4zLTQ2LjZIMTc3LjFjLTMzLjcgMC02NC45IDE3LjctODIuMyA0Ni42bC01OC4zIDk3Yy05LjEgMTUuMS00LjIgMzQuOCAxMC45IDQzLjlzMzQuOCA0LjIgNDMuOS0xMC45TDEyMCAyNTYuOVY0NDh6TTQ2NCA2NFYzMDYuN2wtMjUuNC0yNS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w4MCA4MGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGw4MC04MGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEw1MjggMzA2LjdWNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ6XCJdXG59O1xudmFyIGZhVm9pY2VtYWlsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZvaWNlbWFpbCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjg5N1wiLCBcIk0xNDQgMzIwYTgwIDgwIDAgMSAxIDAtMTYwIDgwIDgwIDAgMSAxIDAgMTYwem0xMTkuOCAwYzE1LjMtMjIuOSAyNC4yLTUwLjQgMjQuMi04MGMwLTc5LjUtNjQuNS0xNDQtMTQ0LTE0NFMwIDE2MC41IDAgMjQwczY0LjUgMTQ0IDE0NCAxNDRINDk2Yzc5LjUgMCAxNDQtNjQuNSAxNDQtMTQ0cy02NC41LTE0NC0xNDQtMTQ0cy0xNDQgNjQuNS0xNDQgMTQ0YzAgMjkuNiA4LjkgNTcuMSAyNC4yIDgwSDI2My44ek00OTYgMTYwYTgwIDgwIDAgMSAxIDAgMTYwIDgwIDgwIDAgMSAxIDAtMTYwelwiXVxufTtcbnZhciBmYUZhbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYW4nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY4NjNcIiwgXCJNMjU4LjYgMGMtMS43IDAtMy40IC4xLTUuMSAuNUMxNjggMTcgMTE1LjYgMTAyLjMgMTMwLjUgMTg5LjNjMi45IDE3IDguNCAzMi45IDE1LjkgNDcuNEwzMiAyMjRIMjkuNEMxMy4yIDIyNCAwIDIzNy4yIDAgMjUzLjRjMCAxLjcgLjEgMy40IC41IDUuMUMxNyAzNDQgMTAyLjMgMzk2LjQgMTg5LjMgMzgxLjVjMTctMi45IDMyLjktOC40IDQ3LjQtMTUuOUwyMjQgNDgwdjIuNmMwIDE2LjIgMTMuMiAyOS40IDI5LjQgMjkuNGMxLjcgMCAzLjQtLjEgNS4xLS41QzM0NCA0OTUgMzk2LjQgNDA5LjcgMzgxLjUgMzIyLjdjLTIuOS0xNy04LjQtMzIuOS0xNS45LTQ3LjRMNDgwIDI4OGgyLjZjMTYuMiAwIDI5LjQtMTMuMiAyOS40LTI5LjRjMC0xLjctLjEtMy40LS41LTUuMUM0OTUgMTY4IDQwOS43IDExNS42IDMyMi43IDEzMC41Yy0xNyAyLjktMzIuOSA4LjQtNDcuNCAxNS45TDI4OCAzMlYyOS40QzI4OCAxMy4yIDI3NC44IDAgMjU4LjYgMHpNMjU2IDIyNGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhUGVyc29uV2Fsa2luZ0x1Z2dhZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLXdhbGtpbmctbHVnZ2FnZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU1NFwiLCBcIk00MzIgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek0zNDcuNyAyMDAuNWMxLS40IDEuOS0uOCAyLjktMS4ybC0xNi45IDYzLjVjLTUuNiAyMS4xLS4xIDQzLjYgMTQuNyA1OS43bDcwLjcgNzcuMSAyMiA4OC4xYzQuMyAxNy4xIDIxLjcgMjcuNiAzOC44IDIzLjNzMjcuNi0yMS43IDIzLjMtMzguOGwtMjMtOTIuMWMtMS45LTcuOC01LjgtMTQuOS0xMS4yLTIwLjhsLTQ5LjUtNTQgMTkuMy02NS41IDkuNiAyM2M0LjQgMTAuNiAxMi41IDE5LjMgMjIuOCAyNC41bDI2LjcgMTMuM2MxNS44IDcuOSAzNSAxLjUgNDIuOS0xNC4zczEuNS0zNS0xNC4zLTQyLjlMNTA1IDIzMi43bC0xNS4zLTM2LjhDNDcyLjUgMTU0LjggNDMyLjMgMTI4IDM4Ny43IDEyOGMtMjIuOCAwLTQ1LjMgNC44LTY2LjEgMTRsLTggMy41Yy0zMi45IDE0LjYtNTguMSA0Mi40LTY5LjQgNzYuNWwtMi42IDcuOGMtNS42IDE2LjggMy41IDM0LjkgMjAuMiA0MC41czM0LjktMy41IDQwLjUtMjAuMmwyLjYtNy44YzUuNy0xNy4xIDE4LjMtMzAuOSAzNC43LTM4LjJsOC0zLjV6bS0zMCAxMzUuMWwtMjUgNjIuNC01OS40IDU5LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMzQwLjMgNDQxYzQuNi00LjYgOC4yLTEwLjEgMTAuNi0xNi4xbDE0LjUtMzYuMi00MC43LTQ0LjRjLTIuNS0yLjctNC44LTUuNi03LTguNnpNMjU2IDI3NC4xYy03LjctNC40LTE3LjQtMS44LTIxLjkgNS45bC0zMiA1NS40TDE0Ny43IDMwNGMtMTUuMy04LjgtMzQuOS0zLjYtNDMuNyAxMS43TDQwIDQyNi42Yy04LjggMTUuMy0zLjYgMzQuOSAxMS43IDQzLjdsNTUuNCAzMmMxNS4zIDguOCAzNC45IDMuNiA0My43LTExLjdsNjQtMTEwLjljMS41LTIuNiAyLjYtNS4yIDMuMy04TDI2MS45IDI5NmM0LjQtNy43IDEuOC0xNy40LTUuOS0yMS45elwiXVxufTtcbnZhciBmYVVwRG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1cC1kb3duJyxcbiAgaWNvbjogWzI1NiwgNTEyLCBbODU5NywgMTEwMjEsIFwiYXJyb3dzLWFsdC12XCJdLCBcImYzMzhcIiwgXCJNMTQ1LjYgNy43QzE0MSAyLjggMTM0LjcgMCAxMjggMHMtMTMgMi44LTE3LjYgNy43bC0xMDQgMTEyYy02LjUgNy04LjIgMTcuMi00LjQgMjUuOVMxNC41IDE2MCAyNCAxNjBIODBWMzUySDI0Yy05LjUgMC0xOC4yIDUuNy0yMiAxNC40cy0yLjEgMTguOSA0LjQgMjUuOWwxMDQgMTEyYzQuNSA0LjkgMTAuOSA3LjcgMTcuNiA3LjdzMTMtMi44IDE3LjYtNy43bDEwNC0xMTJjNi41LTcgOC4yLTE3LjIgNC40LTI1LjlzLTEyLjUtMTQuNC0yMi0xNC40SDE3NlYxNjBoNTZjOS41IDAgMTguMi01LjcgMjItMTQuNHMyLjEtMTguOS00LjQtMjUuOWwtMTA0LTExMnpcIl1cbn07XG52YXIgZmFBcnJvd3NBbHRWID0gZmFVcERvd247XG52YXIgZmFDbG91ZE1vb25SYWluID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nsb3VkLW1vb24tcmFpbicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjczY1wiLCBcIk00ODEuMiAwQzQxNyAwIDM2My41IDQ2LjUgMzUzLjcgMTA3LjZjMzUuNCAxNy42IDYwLjIgNTMuMyA2Mi4xIDk1LjFjMjMuMiAxMSA0MiAyOS43IDUzLjEgNTIuN2M0IC40IDguMSAuNiAxMi4zIC42YzM0LjkgMCA2Ni43LTEzLjggODkuOS0zNi4xYzUuMS00LjkgNi40LTEyLjUgMy4yLTE4LjdzLTEwLjEtOS43LTE3LTguNmMtNC45IC44LTEwIDEuMy0xNS4yIDEuM2MtNDkgMC04OC40LTM5LjMtODguNC04Ny40YzAtMzIuNiAxOC02MS4xIDQ0LjktNzYuMWM2LjEtMy40IDkuMy0xMC41IDcuOC0xNy40cy03LjMtMTItMTQuMy0xMi42Yy0zLjYtLjMtNy4zLS41LTEwLjktLjV6TTM2Ny45IDM4My45YzQ0LjIgMCA4MC0zNS44IDgwLTgwYzAtMzkuMy0yOC40LTcyLjEtNjUuOC03OC43YzEuMi01LjYgMS45LTExLjMgMS45LTE3LjJjMC00NC4yLTM1LjgtODAtODAtODBjLTE3IDAtMzIuOCA1LjMtNDUuOCAxNC40QzI0MS4zIDExNC42IDIxMC44IDk2IDE3NiA5NmMtNTMgMC05NiA0My05NiA5NmwwIDEuM2MtNDUuNCA3LjYtODAgNDcuMS04MCA5NC42YzAgNTMgNDMgOTYgOTYgOTZIMzY3Ljl6TTg1LjQgNDIwLjFjLTExLTcuNC0yNS45LTQuNC0zMy4zIDYuN2wtMzIgNDhjLTcuNCAxMS00LjQgMjUuOSA2LjcgMzMuM3MyNS45IDQuNCAzMy4zLTYuN2wzMi00OGM3LjQtMTEgNC40LTI1LjktNi43LTMzLjN6bTk2IDBjLTExLTcuNC0yNS45LTQuNC0zMy4zIDYuN2wtMzIgNDhjLTcuNCAxMS00LjQgMjUuOSA2LjcgMzMuM3MyNS45IDQuNCAzMy4zLTYuN2wzMi00OGM3LjQtMTEgNC40LTI1LjktNi43LTMzLjN6bTk2IDBjLTExLTcuNC0yNS45LTQuNC0zMy4zIDYuN2wtMzIgNDhjLTcuNCAxMS00LjQgMjUuOSA2LjcgMzMuM3MyNS45IDQuNCAzMy4zLTYuN2wzMi00OGM3LjQtMTEgNC40LTI1LjktNi43LTMzLjN6bTk2IDBjLTExLTcuNC0yNS45LTQuNC0zMy4zIDYuN2wtMzIgNDhjLTcuNCAxMS00LjQgMjUuOSA2LjcgMzMuM3MyNS45IDQuNCAzMy4zLTYuN2wzMi00OGM3LjQtMTEgNC40LTI1LjktNi43LTMzLjN6XCJdXG59O1xudmFyIGZhQ2FsZW5kYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FsZW5kYXInLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjgxOTcsIDEyODE5OF0sIFwiZjEzM1wiLCBcIk05NiAzMlY2NEg0OEMyMS41IDY0IDAgODUuNSAwIDExMnY0OEg0NDhWMTEyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDM1MlYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlY2NEgxNjBWMzJjMC0xNy43LTE0LjMtMzItMzItMzJTOTYgMTQuMyA5NiAzMnpNNDQ4IDE5MkgwVjQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OEg0MDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMTkyelwiXVxufTtcbnZhciBmYVRyYWlsZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJhaWxlcicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA0MVwiLCBcIk00OCAzMkMyMS41IDMyIDAgNTMuNSAwIDgwVjMzNmMwIDI2LjUgMjEuNSA0OCA0OCA0OEg2NS4xYzcuOC01NC4zIDU0LjQtOTYgMTEwLjktOTZzMTAzLjEgNDEuNyAxMTAuOSA5Nkg0ODhoOEg2MDhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJINTQ0VjgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDQ4ek04MCA5NmM4LjggMCAxNiA3LjIgMTYgMTZsMCAxMzEuMmMtMTEuNCA1LjktMjIuMiAxMi45LTMyIDIxVjExMmMwLTguOCA3LjItMTYgMTYtMTZ6bTk2IDEyOGMtNS40IDAtMTAuNyAuMi0xNiAuN0wxNjAgMTEyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxMTIuN2MtNS4zLS41LTEwLjYtLjctMTYtLjd6bTgwIDE5LjJMMjU2IDExMmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTUyLjJjLTkuOC04LjEtMjAuNi0xNS4yLTMyLTIxek0zNjggOTZjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTkyYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMTkyYzAtOC44IDcuMi0xNiAxNi0xNnptMTEyIDE2bDAgMTkyYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMTkyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ6TTE3NiA0ODBhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6bTAtMTEyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFCYWhhaSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYWhhaScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiaGF5a2FsXCJdLCBcImY2NjZcIiwgXCJNMjg4IDBjMTQuNSAwIDI3LjIgOS43IDMwLjkgMjMuOGwyMy45IDg5LjYgNzUuOS01My4zYzExLjktOC4zIDI3LjgtNy42IDM5IDEuN3MxNC42IDI0LjkgOC40IDM4LjFsLTM5LjMgODQgOTIuNCA4YzE0LjQgMS4yIDI2LjIgMTIgMjguOCAyNi4zcy00LjkgMjguNS0xOCAzNC42bC04NC4xIDM5LjEgNjUuNyA2NS41YzEwLjMgMTAuMiAxMi40IDI2LjEgNS4xIDM4LjdzLTIyIDE4LjctMzYgMTQuOUwzOTEgMzg2LjhsOC4yIDkyLjRjMS4zIDE0LjQtNy4zIDI3LjktMjAuOSAzMi45cy0yOC45IC4xLTM3LjItMTEuN2wtNTMuMS03Ni01My4xIDc2Yy04LjMgMTEuOS0yMy42IDE2LjctMzcuMiAxMS43cy0yMi4yLTE4LjUtMjAuOS0zMi45bDguMi05Mi40TDk1LjQgNDEwLjljLTE0IDMuOC0yOC44LTIuMy0zNi0xNC45cy01LjItMjguNCA1LjEtMzguN2w2NS43LTY1LjVMNDYgMjUyLjdjLTEzLjEtNi4xLTIwLjUtMjAuMy0xOC0zNC42czE0LjMtMjUuMSAyOC44LTI2LjNsOTIuNC04LTM5LjMtODRjLTYuMS0xMy4xLTIuNy0yOC44IDguNC0zOC4xczI3LjEtMTAgMzktMS43bDc1LjkgNTMuMyAyMy45LTg5LjZDMjYwLjggOS43IDI3My41IDAgMjg4IDB6bTAgMTU2LjJsLTQuOCAxOGMtMi43IDEwLjEtMTAuMiAxOC4yLTIwIDIxLjhzLTIwLjggMi4xLTI5LjMtMy45bC0xNS4yLTEwLjcgNy45IDE2LjhjNC40IDkuNSA0IDIwLjUtMS4zIDI5LjZzLTE0LjUgMTUtMjUgMTUuOWwtMTguNSAxLjYgMTYuOCA3LjhjOS41IDQuNCAxNi4yIDEzLjIgMTggMjMuNXMtMS41IDIwLjgtOC45IDI4LjJsLTEzLjIgMTMuMSAxNy45LTQuOGMxMC4xLTIuNyAyMC45LS4zIDI4LjkgNi40czEyLjIgMTYuOSAxMS4zIDI3LjNsLTEuNiAxOC41IDEwLjYtMTUuMmM2LTguNiAxNS44LTEzLjcgMjYuMi0xMy43czIwLjIgNS4xIDI2LjIgMTMuN2wxMC42IDE1LjItMS42LTE4LjVjLS45LTEwLjQgMy4zLTIwLjYgMTEuMy0yNy4zczE4LjgtOS4xIDI4LjktNi40bDE3LjkgNC44LTEzLjItMTMuMWMtNy40LTcuNC0xMC43LTE3LjktOC45LTI4LjJzOC41LTE5LjEgMTgtMjMuNWwxNi44LTcuOC0xOC41LTEuNmMtMTAuNC0uOS0xOS43LTYuOC0yNS0xNS45cy01LjctMjAuMS0xLjMtMjkuNmw3LjktMTYuOC0xNS4yIDEwLjdjLTguNiA2LTE5LjUgNy41LTI5LjMgMy45cy0xNy4zLTExLjctMjAtMjEuOGwtNC44LTE4elwiXVxufTtcbnZhciBmYUhheWthbCA9IGZhQmFoYWk7XG52YXIgZmFTZENhcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2QtY2FyZCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjdjMlwiLCBcIk0zMjAgMEgxNDEuM0MxMjQuMyAwIDEwOCA2LjcgOTYgMTguN0wxOC43IDk2QzYuNyAxMDggMCAxMjQuMyAwIDE0MS4zVjQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NEgzMjBjMzUuMyAwIDY0LTI4LjcgNjQtNjRWNjRjMC0zNS4zLTI4LjctNjQtNjQtNjR6TTE2MCA4OHY0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFY4OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0em04MCAwdjQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0Vjg4YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6bTgwIDB2NDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRWODhjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHpcIl1cbn07XG52YXIgZmFEcmFnb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZHJhZ29uJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4MDA5XSwgXCJmNmQ1XCIsIFwiTTM1MiAxMjQuNWwtNTEuOS0xM2MtNi41LTEuNi0xMS4zLTcuMS0xMi0xMy44czIuOC0xMy4xIDguNy0xNi4xbDQwLjgtMjAuNEwyOTQuNCAyOC44Yy01LjUtNC4xLTcuOC0xMS4zLTUuNi0xNy45UzI5Ny4xIDAgMzA0IDBINDE2aDMyIDE2YzMwLjIgMCA1OC43IDE0LjIgNzYuOCAzOC40bDU3LjYgNzYuOGM2LjIgOC4zIDkuNiAxOC40IDkuNiAyOC44YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDUzOC41Yy0xNyAwLTMzLjMtNi43LTQ1LjMtMTguN0w0ODAgMTYwSDQ0OHYyMS41YzAgMjQuOCAxMi44IDQ3LjkgMzMuOCA2MS4xbDEwNi42IDY2LjZjMzIuMSAyMC4xIDUxLjYgNTUuMiA1MS42IDkzLjFDNjQwIDQ2Mi45IDU5MC45IDUxMiA1MzAuMiA1MTJINDk2IDQzMiAzMi4zYy0zLjMgMC02LjYtLjQtOS42LTEuNEMxMy41IDUwNy44IDYgNTAxIDIuNCA0OTIuMUMxIDQ4OC43IC4yIDQ4NS4yIDAgNDgxLjRjLS4yLTMuNyAuMy03LjMgMS4zLTEwLjdjMi44LTkuMiA5LjYtMTYuNyAxOC42LTIwLjRjMy0xLjIgNi4yLTIgOS41LTIuMkw0MzMuMyA0MTJjOC4zLS43IDE0LjctNy43IDE0LjctMTYuMWMwLTQuMy0xLjctOC40LTQuNy0xMS40bC00NC40LTQ0LjRjLTMwLTMwLTQ2LjktNzAuNy00Ni45LTExMy4xVjE4MS41di01N3pNNTEyIDcyLjNjMC0uMSAwLS4yIDAtLjNzMC0uMiAwLS4zdi42em0tMS4zIDcuNEw0NjQuMyA2OC4xYy0uMiAxLjMtLjMgMi42LS4zIDMuOWMwIDEzLjMgMTAuNyAyNCAyNCAyNGMxMC42IDAgMTkuNS02LjggMjIuNy0xNi4zek0xMzAuOSAxMTYuNWMxNi4zLTE0LjUgNDAuNC0xNi4yIDU4LjUtNC4xbDEzMC42IDg3VjIyN2MwIDMyLjggOC40IDY0LjggMjQgOTNIMTEyYy02LjcgMC0xMi43LTQuMi0xNS0xMC40cy0uNS0xMy4zIDQuNi0xNy43TDE3MSAyMzIuMyAxOC40IDI1NS44Yy03IDEuMS0xMy45LTIuNi0xNi45LTlzLTEuNS0xNC4xIDMuOC0xOC44TDEzMC45IDExNi41elwiXVxufTtcbnZhciBmYVNob2VQcmludHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2hvZS1wcmludHMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY1NGJcIiwgXCJNNDE2IDBDMzUyLjMgMCAyNTYgMzIgMjU2IDMyVjE2MGM0OCAwIDc2IDE2IDEwNCAzMnM1NiAzMiAxMDQgMzJjNTYuNCAwIDE3Ni0xNiAxNzYtOTZTNTEyIDAgNDE2IDB6TTEyOCA5NmMwIDM1LjMgMjguNyA2NCA2NCA2NGgzMlYzMkgxOTJjLTM1LjMgMC02NCAyOC43LTY0IDY0ek0yODggNTEyYzk2IDAgMjI0LTQ4IDIyNC0xMjhzLTExOS42LTk2LTE3Ni05NmMtNDggMC03NiAxNi0xMDQgMzJzLTU2IDMyLTEwNCAzMlY0ODBzOTYuMyAzMiAxNjAgMzJ6TTAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0SDk2VjM1Mkg2NGMtMzUuMyAwLTY0IDI4LjctNjQgNjR6XCJdXG59O1xudmFyIGZhQ2lyY2xlUGx1cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtcGx1cycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wicGx1cy1jaXJjbGVcIl0sIFwiZjA1NVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjMyIDM0NFYyODBIMTY4Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0aDY0VjE2OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0djY0aDY0YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDI4MHY2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNHpcIl1cbn07XG52YXIgZmFQbHVzQ2lyY2xlID0gZmFDaXJjbGVQbHVzO1xudmFyIGZhRmFjZUdyaW5Ub25ndWVXaW5rID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtZ3Jpbi10b25ndWUtd2luaycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU0MCwgXCJncmluLXRvbmd1ZS13aW5rXCJdLCBcImY1OGJcIiwgXCJNMTc0LjUgNDk4LjhDNzMuMSA0NjQuNyAwIDM2OC45IDAgMjU2QzAgMTE0LjYgMTE0LjYgMCAyNTYgMFM1MTIgMTE0LjYgNTEyIDI1NmMwIDExMi45LTczLjEgMjA4LjctMTc0LjUgMjQyLjhDMzQ2LjcgNDg0IDM1MiA0NjYuNiAzNTIgNDQ4VjQwMS4xYzI0LjMtMTcuNSA0My42LTQxLjYgNTUuNC02OS42YzUtMTEuOC03LTIyLjUtMTkuMy0xOC43Yy0zOS43IDEyLjItODQuNSAxOS0xMzEuOCAxOXMtOTIuMS02LjgtMTMxLjgtMTljLTEyLjMtMy44LTI0LjMgNi45LTE5LjMgMTguN2MxMS43IDI3LjggMzAuOCA1MS43IDU0LjggNjkuMlY0NDhjMCAxOC42IDUuMyAzNiAxNC41IDUwLjh6bTIwLjctMjY1LjJjNS4zIDcuMSAxNS4zIDguNSAyMi40IDMuMnM4LjUtMTUuMyAzLjItMjIuNGMtMzAuNC00MC41LTkxLjItNDAuNS0xMjEuNiAwYy01LjMgNy4xLTMuOSAxNy4xIDMuMiAyMi40czE3LjEgMy45IDIyLjQtMy4yYzE3LjYtMjMuNSA1Mi44LTIzLjUgNzAuNCAwek0zMzYgMjcyYTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4ek0zMjAgNDAyLjZWNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0cy02NC0yOC43LTY0LTY0VjQwMi42YzAtMTQuNyAxMS45LTI2LjYgMjYuNi0yNi42aDJjMTEuMyAwIDIxLjEgNy45IDIzLjYgMTguOWMyLjggMTIuNiAyMC44IDEyLjYgMjMuNiAwYzIuNS0xMS4xIDEyLjMtMTguOSAyMy42LTE4LjloMmMxNC43IDAgMjYuNiAxMS45IDI2LjYgMjYuNnpNMzM2IDE4NGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6XCJdXG59O1xudmFyIGZhR3JpblRvbmd1ZVdpbmsgPSBmYUZhY2VHcmluVG9uZ3VlV2luaztcbnZhciBmYUhhbmRIb2xkaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtaG9sZGluZycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjRiZFwiLCBcIk01NTkuNyAzOTIuMmMxNy44LTEzLjEgMjEuNi0zOC4xIDguNS01NS45cy0zOC4xLTIxLjYtNTUuOS04LjVMMzkyLjYgNDE2SDI3MmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmgxNiA2NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgyODggMjcyIDE5My43Yy0yOS4xIDAtNTcuMyA5LjktODAgMjhMNjguOCAzODRIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjY0YzAgMTcuNyAxNC4zIDMyIDMyIDMySDE5MiAzNTIuNWMyOSAwIDU3LjMtOS4zIDgwLjctMjYuNWwxMjYuNi05My4zem0tMzY2LjEtOC4zYS41IC41IDAgMSAxIC0uOSAuMiAuNSAuNSAwIDEgMSAuOS0uMnpcIl1cbn07XG52YXIgZmFQbHVnQ2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGx1Zy1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1NWRcIiwgXCJNOTYgMEM3OC4zIDAgNjQgMTQuMyA2NCAzMnY5Nmg2NFYzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMjg4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjk2aDY0VjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek0zMiAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ2MzJjMCA3Ny40IDU1IDE0MiAxMjggMTU2LjhWNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWNDEyLjhjMTIuMy0yLjUgMjQuMS02LjQgMzUuMS0xMS41Yy0yLjEtMTAuOC0zLjEtMjEuOS0zLjEtMzMuM2MwLTgwLjMgNTMuOC0xNDggMTI3LjMtMTY5LjJjLjUtMi4yIC43LTQuNSAuNy02LjhjMC0xNy43LTE0LjMtMzItMzItMzJIMzJ6TTQzMiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTk2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMC0xNDRjOC44IDAgMTYgNy4yIDE2IDE2djgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2VjI4OGMwLTguOCA3LjItMTYgMTYtMTZ6XCJdXG59O1xudmFyIGZhTGlua1NsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xpbmstc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImNoYWluLWJyb2tlblwiLCBcImNoYWluLXNsYXNoXCIsIFwidW5saW5rXCJdLCBcImYxMjdcIiwgXCJNMzguOCA1LjFDMjguNC0zLjEgMTMuMy0xLjIgNS4xIDkuMlMtMS4yIDM0LjcgOS4yIDQyLjlsNTkyIDQ2NGMxMC40IDguMiAyNS41IDYuMyAzMy43LTQuMXM2LjMtMjUuNS00LjEtMzMuN0w0ODkuMyAzNTguMmw5MC41LTkwLjVjNTYuNS01Ni41IDU2LjUtMTQ4IDAtMjA0LjVjLTUwLTUwLTEyOC44LTU2LjUtMTg2LjMtMTUuNGwtMS42IDEuMWMtMTQuNCAxMC4zLTE3LjcgMzAuMy03LjQgNDQuNnMzMC4zIDE3LjcgNDQuNiA3LjRsMS42LTEuMWMzMi4xLTIyLjkgNzYtMTkuMyAxMDMuOCA4LjZjMzEuNSAzMS41IDMxLjUgODIuNSAwIDExNGwtOTYgOTYtMzEuOS0yNUM0MzAuOSAyMzkuNiA0MjAuMSAxNzUuMSAzNzcgMTMyYy01Mi4yLTUyLjMtMTM0LjUtNTYuMi0xOTEuMy0xMS43TDM4LjggNS4xek0yMzkgMTYyYzMwLjEtMTQuOSA2Ny43LTkuOSA5Mi44IDE1LjNjMjAgMjAgMjcuNSA0OC4zIDIxLjcgNzQuNUwyMzkgMTYyek0xMTYuNiAxODcuOUw2MC4yIDI0NC4zYy01Ni41IDU2LjUtNTYuNSAxNDggMCAyMDQuNWM1MCA1MCAxMjguOCA1Ni41IDE4Ni4zIDE1LjRsMS42LTEuMWMxNC40LTEwLjMgMTcuNy0zMC4zIDcuNC00NC42cy0zMC4zLTE3LjctNDQuNi03LjRsLTEuNiAxLjFjLTMyLjEgMjIuOS03NiAxOS4zLTEwMy44LTguNkM3NCAzNzIgNzQgMzIxIDEwNS41IDI4OS41bDYxLjgtNjEuOC01MC42LTM5Ljl6TTIyMC45IDI3MGMtMi4xIDM5LjggMTIuMiA4MC4xIDQyLjIgMTEwYzM4LjkgMzguOSA5NC40IDUxIDE0My42IDM2LjNMMjIwLjkgMjcwelwiXVxufTtcbnZhciBmYUNoYWluQnJva2VuID0gZmFMaW5rU2xhc2g7XG52YXIgZmFDaGFpblNsYXNoID0gZmFMaW5rU2xhc2g7XG52YXIgZmFVbmxpbmsgPSBmYUxpbmtTbGFzaDtcbnZhciBmYUNsb25lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nsb25lJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMjRkXCIsIFwiTTI4OCA0NDhINjRWMjI0aDY0VjE2MEg2NGMtMzUuMyAwLTY0IDI4LjctNjQgNjRWNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDI4OGMzNS4zIDAgNjQtMjguNyA2NC02NFYzODRIMjg4djY0em0tNjQtOTZINDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0VjY0YzAtMzUuMy0yOC43LTY0LTY0LTY0SDIyNGMtMzUuMyAwLTY0IDI4LjctNjQgNjRWMjg4YzAgMzUuMyAyOC43IDY0IDY0IDY0elwiXVxufTtcbnZhciBmYVBlcnNvbldhbGtpbmdBcnJvd0xvb3BMZWZ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi13YWxraW5nLWFycm93LWxvb3AtbGVmdCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU1MVwiLCBcIk0yMDggOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek0xMjMuNyAyMDAuNWMxLS40IDEuOS0uOCAyLjktMS4ybC0xNi45IDYzLjVjLTUuNiAyMS4xLS4xIDQzLjYgMTQuNyA1OS43bDcwLjcgNzcuMSAyMiA4OC4xYzQuMyAxNy4xIDIxLjcgMjcuNiAzOC44IDIzLjNzMjcuNi0yMS43IDIzLjMtMzguOGwtMjMtOTIuMWMtMS45LTcuOC01LjgtMTQuOS0xMS4yLTIwLjhsLTQ5LjUtNTQgMTkuMy02NS41IDkuNiAyM2M0LjQgMTAuNiAxMi41IDE5LjMgMjIuOCAyNC41bDI2LjcgMTMuM2MxNS44IDcuOSAzNSAxLjUgNDIuOS0xNC4zczEuNS0zNS0xNC4zLTQyLjlMMjgxIDIzMi43bC0xNS4zLTM2LjhDMjQ4LjUgMTU0LjggMjA4LjMgMTI4IDE2My43IDEyOGMtMjIuOCAwLTQ1LjMgNC44LTY2LjEgMTRsLTggMy41Yy0zMi45IDE0LjYtNTguMSA0Mi40LTY5LjQgNzYuNWwtMi42IDcuOGMtNS42IDE2LjggMy41IDM0LjkgMjAuMiA0MC41czM0LjktMy41IDQwLjUtMjAuMmwyLjYtNy44YzUuNy0xNy4xIDE4LjMtMzAuOSAzNC43LTM4LjJsOC0zLjV6bS0zMCAxMzUuMUw2OC43IDM5OCA5LjQgNDU3LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTE2LjMgNDQxYzQuNi00LjYgOC4yLTEwLjEgMTAuNi0xNi4xbDE0LjUtMzYuMi00MC43LTQ0LjRjLTIuNS0yLjctNC44LTUuNi03LTguNnptMzQ3LjcgMTE5YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNDYxLjMgMzg0SDQ4MGM4OC40IDAgMTYwLTcxLjYgMTYwLTE2MHMtNzEuNi0xNjAtMTYwLTE2MEwzNTIgNjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTI4IDBjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZINDYxLjNsMjUuNC0yNS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC04MCA4MGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsODAgODB6XCJdXG59O1xudmFyIGZhQXJyb3dVcFpBID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXVwLXotYScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wic29ydC1hbHBoYS11cC1hbHRcIl0sIFwiZjg4MlwiLCBcIk0xODMuNiA0Mi40QzE3Ny41IDM1LjggMTY5IDMyIDE2MCAzMnMtMTcuNSAzLjgtMjMuNiAxMC40bC04OCA5NmMtMTEuOSAxMy0xMS4xIDMzLjMgMiA0NS4yczMzLjMgMTEuMSA0NS4yLTJMMTI4IDE0Ni4zVjQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyVjE0Ni4zbDMyLjQgMzUuNGMxMS45IDEzIDMyLjIgMTMuOSA0NS4yIDJzMTMuOS0zMi4yIDItNDUuMmwtODgtOTZ6TTMyMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmg1MC43bC03My40IDczLjRjLTkuMiA5LjItMTEuOSAyMi45LTYuOSAzNC45czE2LjYgMTkuOCAyOS42IDE5LjhINDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDQyOS4zbDczLjQtNzMuNGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOXMtMTYuNi0xOS44LTI5LjYtMTkuOEgzNTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem05NiAxOTJjLTEyLjEgMC0yMy4yIDYuOC0yOC42IDE3LjdsLTY0IDEyOC0xNiAzMmMtNy45IDE1LjgtMS41IDM1IDE0LjMgNDIuOXMzNSAxLjUgNDIuOS0xNC4zbDcuMi0xNC4zaDg4LjRsNy4yIDE0LjNjNy45IDE1LjggMjcuMSAyMi4yIDQyLjkgMTQuM3MyMi4yLTI3LjEgMTQuMy00Mi45bC0xNi0zMi02NC0xMjhDNDM5LjIgMjYyLjggNDI4LjEgMjU2IDQxNiAyNTZ6TTM5NS44IDQwMEw0MTYgMzU5LjYgNDM2LjIgNDAwSDM5NS44elwiXVxufTtcbnZhciBmYVNvcnRBbHBoYVVwQWx0ID0gZmFBcnJvd1VwWkE7XG52YXIgZmFGaXJlRmxhbWVDdXJ2ZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlyZS1mbGFtZS1jdXJ2ZWQnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImZpcmUtYWx0XCJdLCBcImY3ZTRcIiwgXCJNMTUzLjYgMjkuOWwxNi0yMS4zQzE3My42IDMuMiAxODAgMCAxODYuNyAwQzE5OC40IDAgMjA4IDkuNiAyMDggMjEuM1Y0My41YzAgMTMuMSA1LjQgMjUuNyAxNC45IDM0LjdMMzA3LjYgMTU5QzM1Ni40IDIwNS42IDM4NCAyNzAuMiAzODQgMzM3LjdDMzg0IDQzNCAzMDYgNTEyIDIwOS43IDUxMkgxOTJDODYgNTEyIDAgNDI2IDAgMzIwdi0zLjhjMC00OC44IDE5LjQtOTUuNiA1My45LTEzMC4xbDMuNS0zLjVjNC4yLTQuMiAxMC02LjYgMTYtNi42Qzg1LjkgMTc2IDk2IDE4Ni4xIDk2IDE5OC42VjI4OGMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0di0zLjljMC0xOC03LjItMzUuMy0xOS45LTQ4bC0zOC42LTM4LjZjLTI0LTI0LTM3LjUtNTYuNy0zNy41LTkwLjdjMC0yNy43IDktNTQuOCAyNS42LTc2Ljl6XCJdXG59O1xudmFyIGZhRmlyZUFsdCA9IGZhRmlyZUZsYW1lQ3VydmVkO1xudmFyIGZhVG9ybmFkbyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0b3JuYWRvJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI3Nzg2XSwgXCJmNzZmXCIsIFwiTTAgMzJWNDUuNkMwIDYyLjcgMS43IDc5LjYgNSA5NkgzNTcuOGMzLjItNi45IDcuNS0xMy4zIDEzLTE4LjhsMzguNi0zOC42YzQuMi00LjIgNi42LTEwIDYuNi0xNkM0MTYgMTAuMSA0MDUuOSAwIDM5My40IDBIMzJDMTQuMyAwIDAgMTQuMyAwIDMyem0zNTIuMiA5NkgxMy42YzEyLjIgMzUuOSAzMi4zIDY4LjcgNTguOCA5Nkg0MTJsLTQ3LjItNjIuOWMtNy4zLTkuNy0xMS42LTIxLjItMTIuNi0zMy4xem0tMjI2IDEzOC4ybDExNi40IDY4LjVjOC4yIDQuOCAxNS44IDEwLjcgMjIuNSAxNy4zSDQ0NWMyLTkuOCAzLTE5LjkgMy0zMC4xYzAtMjMtNS4zLTQ1LjUtMTUuMy02NS45SDExMC4yYzUuMiAzLjYgMTAuNSA3IDE2IDEwLjJ6TTI4OCAzODRjMTAuMyAyMS40IDEzLjggNDUuNSA5LjkgNjlsLTUuOSAzNS43Yy0yIDEyLjIgNy40IDIzLjQgMTkuOCAyMy40YzUuMyAwIDEwLjQtMi4xIDE0LjItNS45bDc4LjItNzguMmMxMi44LTEyLjggMjMuMS0yNy43IDMwLjQtNDMuOUgyODh6XCJdXG59O1xudmFyIGZhRmlsZUNpcmNsZVBsdXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1jaXJjbGUtcGx1cycsXG4gIGljb246IFs1NzYsIDUxMiwgWzU4NjA2XSwgXCJlNDk0XCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwSDIyNFYxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJIMzg0djM4LjZDMzEwLjEgMjE5LjUgMjU2IDI4Ny40IDI1NiAzNjhjMCA1OS4xIDI5LjEgMTExLjMgNzMuNyAxNDMuM2MtMy4yIC41LTYuNCAuNy05LjcgLjdINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjY0em0zODQgNjRIMjU2VjBMMzg0IDEyOHptNDggOTZhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4em0xNiA4MGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNnY0OEgzNjhjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZoNDh2NDhjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlYzODRoNDhjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZINDQ4VjMwNHpcIl1cbn07XG52YXIgZmFCb29rUXVyYW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9vay1xdXJhbicsXG4gIGljb246IFs0NDgsIDUxMiwgW1wicXVyYW5cIl0sIFwiZjY4N1wiLCBcIk0zNTIgMGM1MyAwIDk2IDQzIDk2IDk2VjQxNmMwIDUzLTQzIDk2LTk2IDk2SDY0IDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyVjM4NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMzJDMCAxNC4zIDE0LjMgMCAzMiAwSDY0IDM1MnptMCAzODRIOTZ2NjRIMzUyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyek0yNzQuMSAxNTAuMmwtOC45IDIxLjQtMjMuMSAxLjljLTUuNyAuNS04IDcuNS0zLjcgMTEuMkwyNTYgMTk5LjhsLTUuNCAyMi42Yy0xLjMgNS41IDQuNyA5LjkgOS42IDYuOUwyODAgMjE3LjJsMTkuOCAxMi4xYzQuOSAzIDEwLjktMS40IDkuNi02LjlMMzA0IDE5OS44bDE3LjYtMTUuMWM0LjMtMy43IDItMTAuOC0zLjctMTEuMmwtMjMuMS0xLjktOC45LTIxLjRjLTIuMi01LjMtOS42LTUuMy0xMS44IDB6TTk2IDE5MmMwIDcwLjcgNTcuMyAxMjggMTI4IDEyOGMyNS42IDAgNDkuNS03LjUgNjkuNS0yMC41YzMuMi0yLjEgNC41LTYuMiAzLjEtOS43cy01LjItNS42LTktNC44Yy02LjEgMS4yLTEyLjUgMS45LTE5IDEuOWMtNTIuNCAwLTk0LjktNDIuNS05NC45LTk0LjlzNDIuNS05NC45IDk0LjktOTQuOWM2LjUgMCAxMi44IC43IDE5IDEuOWMzLjggLjggNy41LTEuMyA5LTQuOHMuMi03LjYtMy4xLTkuN0MyNzMuNSA3MS41IDI0OS42IDY0IDIyNCA2NEMxNTMuMyA2NCA5NiAxMjEuMyA5NiAxOTJ6XCJdXG59O1xudmFyIGZhUXVyYW4gPSBmYUJvb2tRdXJhbjtcbnZhciBmYUFuY2hvciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbmNob3InLFxuICBpY29uOiBbNTc2LCA1MTIsIFs5ODc1XSwgXCJmMTNkXCIsIFwiTTMyMCA5NmEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwem0yMS4xIDgwQzM2NyAxNTguOCAzODQgMTI5LjQgMzg0IDk2YzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2YzAgMzMuNCAxNyA2Mi44IDQyLjkgODBIMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDMyVjQ0OEgyMDhjLTUzIDAtOTYtNDMtOTYtOTZ2LTYuMWw3IDdjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDk3IDI2M2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBMNyAzMTljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw3LTdWMzUyYzAgODguNCA3MS42IDE2MCAxNjAgMTYwaDgwIDgwYzg4LjQgMCAxNjAtNzEuNiAxNjAtMTYwdi02LjFsNyA3YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNTYtNTZjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC01NiA1NmMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDctN1YzNTJjMCA1My00MyA5Ni05NiA5NkgzMjBWMjQwaDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDM0MS4xelwiXVxufTtcbnZhciBmYUJvcmRlckFsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3JkZXItYWxsJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmODRjXCIsIFwiTTM4NCA5NlYyMjRIMjU2Vjk2SDM4NHptMCAxOTJWNDE2SDI1NlYyODhIMzg0ek0xOTIgMjI0SDY0Vjk2SDE5MlYyMjR6TTY0IDI4OEgxOTJWNDE2SDY0VjI4OHpNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzg0YzM1LjMgMCA2NC0yOC43IDY0LTY0Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0elwiXVxufTtcbnZhciBmYUZhY2VBbmdyeSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWFuZ3J5JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTQ0LCBcImFuZ3J5XCJdLCBcImY1NTZcIiwgXCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2ek0zMzguNyAzOTUuOWM2LjYtNS45IDcuMS0xNiAxLjItMjIuNkMzMjMuOCAzNTUuNCAyOTUuNyAzMzYgMjU2IDMzNnMtNjcuOCAxOS40LTgzLjkgMzcuM2MtNS45IDYuNi01LjQgMTYuNyAxLjIgMjIuNnMxNi43IDUuNCAyMi42LTEuMmMxMS43LTEzIDMxLjYtMjYuNyA2MC4xLTI2LjdzNDguNCAxMy43IDYwLjEgMjYuN2M1LjkgNi42IDE2IDcuMSAyMi42IDEuMnpNMTc2LjQgMjcyYzE3LjcgMCAzMi0xNC4zIDMyLTMyYzAtMS41LS4xLTMtLjMtNC40bDEwLjkgMy42YzguNCAyLjggMTcuNC0xLjcgMjAuMi0xMC4xcy0xLjctMTcuNC0xMC4xLTIwLjJsLTk2LTMyYy04LjQtMi44LTE3LjQgMS43LTIwLjIgMTAuMXMxLjcgMTcuNCAxMC4xIDIwLjJsMzAuNyAxMC4yYy01LjggNS44LTkuMyAxMy44LTkuMyAyMi42YzAgMTcuNyAxNC4zIDMyIDMyIDMyem0xOTItMzJjMC04LjktMy42LTE3LTkuNS0yMi44bDMwLjItMTAuMWM4LjQtMi44IDEyLjktMTEuOSAxMC4xLTIwLjJzLTExLjktMTIuOS0yMC4yLTEwLjFsLTk2IDMyYy04LjQgMi44LTEyLjkgMTEuOS0xMC4xIDIwLjJzMTEuOSAxMi45IDIwLjIgMTAuMWwxMS43LTMuOWMtLjIgMS41LS4zIDMuMS0uMyA0LjdjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnpcIl1cbn07XG52YXIgZmFBbmdyeSA9IGZhRmFjZUFuZ3J5O1xudmFyIGZhQ29va2llQml0ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb29raWUtYml0ZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjU2NFwiLCBcIk0yNTcuNSAyNy42Yy0uOC01LjQtNC45LTkuOC0xMC4zLTEwLjZ2MGMtMjIuMS0zLjEtNDQuNiAuOS02NC40IDExLjRsLTc0IDM5LjVDODkuMSA3OC40IDczLjIgOTQuOSA2My40IDExNUwyNi43IDE5MC42Yy05LjggMjAuMS0xMyA0Mi45LTkuMSA2NC45bDE0LjUgODIuOGMzLjkgMjIuMSAxNC42IDQyLjMgMzAuNyA1Ny45bDYwLjMgNTguNGMxNi4xIDE1LjYgMzYuNiAyNS42IDU4LjcgMjguN2w4MyAxMS43YzIyLjEgMy4xIDQ0LjYtLjkgNjQuNC0xMS40bDc0LTM5LjVjMTkuNy0xMC41IDM1LjYtMjcgNDUuNC00Ny4ybDM2LjctNzUuNWM5LjgtMjAuMSAxMy00Mi45IDkuMS02NC45djBjLS45LTUuMy01LjMtOS4zLTEwLjYtMTAuMWMtNTEuNS04LjItOTIuOC00Ny4xLTEwNC41LTk3LjRjLTEuOC03LjYtOC0xMy40LTE1LjctMTQuNmMtNTQuNi04LjctOTcuNy01Mi0xMDYuMi0xMDYuOHpNMjA4IDE0NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTE0NCAzMzZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMjI0LTY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFBcnJvd1RyZW5kRG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy10cmVuZC1kb3duJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlMDk3XCIsIFwiTTM4NCAzNTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJINTQ0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnY4Mi43TDM0Mi42IDEzNy40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMEwxOTIgMjQyLjcgNTQuNiAxMDUuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTYwIDE2MGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMEwzMjAgMjA1LjMgNDY2LjcgMzUySDM4NHpcIl1cbn07XG52YXIgZmFSc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncnNzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJmZWVkXCJdLCBcImYwOWVcIiwgXCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmMyMjkuOCAwIDQxNiAxODYuMiA0MTYgNDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyQzM4NCAyNTMuNiAyMjYuNCA5NiAzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0ek0wIDQxNmE2NCA2NCAwIDEgMSAxMjggMEE2NCA2NCAwIDEgMSAwIDQxNnpNMzIgMTYwYzE1OS4xIDAgMjg4IDEyOC45IDI4OCAyODhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJjMC0xMjMuNy0xMDAuMy0yMjQtMjI0LTIyNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpcIl1cbn07XG52YXIgZmFGZWVkID0gZmFSc3M7XG52YXIgZmFEcmF3UG9seWdvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkcmF3LXBvbHlnb24nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImY1ZWVcIiwgXCJNOTYgMTUxLjRWMzYwLjZjOS43IDUuNiAxNy44IDEzLjcgMjMuNCAyMy40SDMyOC42YzAtLjEgLjEtLjIgLjEtLjNsLTQuNS03LjktMzItNTYgMCAwYy0xLjQgLjEtMi44IC4xLTQuMiAuMWMtMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NGMxLjQgMCAyLjggMCA0LjIgLjFsMCAwIDMyLTU2IDQuNS03LjktLjEtLjNIMTE5LjRjLTUuNiA5LjctMTMuNyAxNy44LTIzLjQgMjMuNHpNMzg0LjMgMzUyYzM1LjIgLjIgNjMuNyAyOC43IDYzLjcgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRjLTIzLjcgMC00NC40LTEyLjktNTUuNC0zMkgxMTkuNGMtMTEuMSAxOS4xLTMxLjcgMzItNTUuNCAzMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRjMC0yMy43IDEyLjktNDQuNCAzMi01NS40VjE1MS40QzEyLjkgMTQwLjQgMCAxMTkuNyAwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMyYzIzLjcgMCA0NC40IDEyLjkgNTUuNCAzMkgzMjguNmMxMS4xLTE5LjEgMzEuNy0zMiA1NS40LTMyYzM1LjMgMCA2NCAyOC43IDY0IDY0YzAgMzUuMy0yOC41IDYzLjgtNjMuNyA2NGwtNC41IDcuOS0zMiA1Ni0yLjMgNGM0LjIgOC41IDYuNSAxOCA2LjUgMjguMXMtMi4zIDE5LjYtNi41IDI4LjFsMi4zIDQgMzIgNTYgNC41IDcuOXpcIl1cbn07XG52YXIgZmFTY2FsZUJhbGFuY2VkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NjYWxlLWJhbGFuY2VkJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbOTg3OCwgXCJiYWxhbmNlLXNjYWxlXCJdLCBcImYyNGVcIiwgXCJNMzg0IDMySDUxMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzOTguNGMtNS4yIDI1LjgtMjIuOSA0Ny4xLTQ2LjQgNTcuM1Y0NDhINTEyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyMCAxMjhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJIMjg4VjE1My4zYy0yMy41LTEwLjMtNDEuMi0zMS42LTQ2LjQtNTcuM0gxMjhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJIMjU2YzE0LjYtMTkuNCAzNy44LTMyIDY0LTMyczQ5LjQgMTIuNiA2NCAzMnptNTUuNiAyODhINTg0LjRMNTEyIDE5NS44IDQzOS42IDMyMHpNNTEyIDQxNmMtNjIuOSAwLTExNS4yLTM0LTEyNi03OC45Yy0yLjYtMTEgMS0yMi4zIDYuNy0zMi4xbDk1LjItMTYzLjJjNS04LjYgMTQuMi0xMy44IDI0LjEtMTMuOHMxOS4xIDUuMyAyNC4xIDEzLjhsOTUuMiAxNjMuMmM1LjcgOS44IDkuMyAyMS4xIDYuNyAzMi4xQzYyNy4yIDM4MiA1NzQuOSA0MTYgNTEyIDQxNnpNMTI2LjggMTk1LjhMNTQuNCAzMjBIMTk5LjNMMTI2LjggMTk1Ljh6TS45IDMzNy4xYy0yLjYtMTEgMS0yMi4zIDYuNy0zMi4xbDk1LjItMTYzLjJjNS04LjYgMTQuMi0xMy44IDI0LjEtMTMuOHMxOS4xIDUuMyAyNC4xIDEzLjhsOTUuMiAxNjMuMmM1LjcgOS44IDkuMyAyMS4xIDYuNyAzMi4xQzI0MiAzODIgMTg5LjcgNDE2IDEyNi44IDQxNlMxMS43IDM4MiAuOSAzMzcuMXpcIl1cbn07XG52YXIgZmFCYWxhbmNlU2NhbGUgPSBmYVNjYWxlQmFsYW5jZWQ7XG52YXIgZmFHYXVnZVNpbXBsZUhpZ2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ2F1Z2Utc2ltcGxlLWhpZ2gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MTY2OCwgXCJ0YWNob21ldGVyXCIsIFwidGFjaG9tZXRlci1mYXN0XCJdLCBcImY2MmFcIiwgXCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2em0zMjAgOTZjMC0xNS45LTUuOC0zMC40LTE1LjMtNDEuNmw3Ni42LTE0Ny40YzYuMS0xMS44IDEuNS0yNi4zLTEwLjItMzIuNHMtMjYuMi0xLjUtMzIuNCAxMC4yTDI2Mi4xIDI4OC4zYy0yLS4yLTQtLjMtNi4xLS4zYy0zNS4zIDAtNjQgMjguNy02NCA2NHMyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR6XCJdXG59O1xudmFyIGZhVGFjaG9tZXRlciA9IGZhR2F1Z2VTaW1wbGVIaWdoO1xudmFyIGZhVGFjaG9tZXRlckZhc3QgPSBmYUdhdWdlU2ltcGxlSGlnaDtcbnZhciBmYVNob3dlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaG93ZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg3MDNdLCBcImYyY2NcIiwgXCJNNjQgMTMxLjlDNjQgMTEyLjEgODAuMSA5NiA5OS45IDk2YzkuNSAwIDE4LjYgMy44IDI1LjQgMTAuNWwxNi4yIDE2LjJjLTIxIDM4LjktMTcuNCA4Ny41IDEwLjkgMTIzTDE1MSAyNDdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMEwzNDUgMTIxYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTEuMyAxLjNjLTM1LjUtMjguMy04NC4yLTMxLjktMTIzLTEwLjlMMTcwLjUgNjEuM0MxNTEuOCA0Mi41IDEyNi40IDMyIDk5LjkgMzJDNDQuNyAzMiAwIDc2LjcgMCAxMzEuOVY0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYxMzEuOXpNMjU2IDM1MmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTY0IDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTAtMTI4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptNjQgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMC0xMjhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em02NCA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0zMi0zMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xudmFyIGZhRGVza3RvcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkZXNrdG9wJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4NDIxLCA2MTcwNCwgXCJkZXNrdG9wLWFsdFwiXSwgXCJmMzkwXCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0VjM1MmMwIDM1LjMgMjguNyA2NCA2NCA2NEgyNDBsLTEwLjcgMzJIMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDQxNmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzNDYuN0wzMzYgNDE2SDUxMmMzNS4zIDAgNjQtMjguNyA2NC02NFY2NGMwLTM1LjMtMjguNy02NC02NC02NEg2NHpNNTEyIDY0VjI4OEg2NFY2NEg1MTJ6XCJdXG59O1xudmFyIGZhRGVza3RvcEFsdCA9IGZhRGVza3RvcDtcbnZhciBmYU0gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbScsXG4gIGljb246IFs0NDgsIDUxMiwgWzEwOV0sIFwiNGRcIiwgXCJNMjIuNyAzMy40YzEzLjUtNC4xIDI4LjEgMS4xIDM1LjkgMTIuOUwyMjQgMjk0LjMgMzg5LjQgNDYuMmM3LjgtMTEuNyAyMi40LTE3IDM1LjktMTIuOVM0NDggNDkuOSA0NDggNjRWNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjE2OS43TDI1MC42IDM2OS44Yy01LjkgOC45LTE1LjkgMTQuMi0yNi42IDE0LjJzLTIwLjctNS4zLTI2LjYtMTQuMkw2NCAxNjkuN1Y0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWNjRDMCA0OS45IDkuMiAzNy41IDIyLjcgMzMuNHpcIl1cbn07XG52YXIgZmFUYWJsZUxpc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGFibGUtbGlzdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1widGgtbGlzdFwiXSwgXCJmMDBiXCIsIFwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJINDQ4YzM1LjMgMCA2NCAyOC43IDY0IDY0VjQxNmMwIDM1LjMtMjguNyA2NC02NCA2NEg2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRWOTZ6bTY0IDB2NjRoNjRWOTZINjR6bTM4NCAwSDE5MnY2NEg0NDhWOTZ6TTY0IDIyNHY2NGg2NFYyMjRINjR6bTM4NCAwSDE5MnY2NEg0NDhWMjI0ek02NCAzNTJ2NjRoNjRWMzUySDY0em0zODQgMEgxOTJ2NjRINDQ4VjM1MnpcIl1cbn07XG52YXIgZmFUaExpc3QgPSBmYVRhYmxlTGlzdDtcbnZhciBmYUNvbW1lbnRTbXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tbWVudC1zbXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInNtc1wiXSwgXCJmN2NkXCIsIFwiTTI1NiA0NDhjMTQxLjQgMCAyNTYtOTMuMSAyNTYtMjA4UzM5Ny40IDMyIDI1NiAzMlMwIDEyNS4xIDAgMjQwYzAgNDUuMSAxNy43IDg2LjggNDcuNyAxMjAuOWMtMS45IDI0LjUtMTEuNCA0Ni4zLTIxLjQgNjIuOWMtNS41IDkuMi0xMS4xIDE2LjYtMTUuMiAyMS42Yy0yLjEgMi41LTMuNyA0LjQtNC45IDUuN2MtLjYgLjYtMSAxLjEtMS4zIDEuNGwtLjMgLjMgMCAwIDAgMCAwIDAgMCAwYy00LjYgNC42LTUuOSAxMS40LTMuNCAxNy40YzIuNSA2IDguMyA5LjkgMTQuOCA5LjljMjguNyAwIDU3LjYtOC45IDgxLjYtMTkuM2MyMi45LTEwIDQyLjQtMjEuOSA1NC4zLTMwLjZjMzEuOCAxMS41IDY3IDE3LjkgMTA0LjEgMTcuOXpNOTYgMjEyLjhjMC0yMC4zIDE2LjUtMzYuOCAzNi44LTM2LjhIMTUyYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDEzMi44Yy0yLjcgMC00LjggMi4yLTQuOCA0LjhjMCAxLjYgLjggMy4xIDIuMiA0bDI5LjQgMTkuNmMxMC4zIDYuOCAxNi40IDE4LjMgMTYuNCAzMC43YzAgMjAuMy0xNi41IDM2LjgtMzYuOCAzNi44SDExMmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmgyNy4yYzIuNyAwIDQuOC0yLjIgNC44LTQuOGMwLTEuNi0uOC0zLjEtMi4yLTRsLTI5LjQtMTkuNkMxMDIuMiAyMzYuNyA5NiAyMjUuMiA5NiAyMTIuOHpNMzcyLjggMTc2SDM5MmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgzNzIuOGMtMi43IDAtNC44IDIuMi00LjggNC44YzAgMS42IC44IDMuMSAyLjIgNGwyOS40IDE5LjZjMTAuMiA2LjggMTYuNCAxOC4zIDE2LjQgMzAuN2MwIDIwLjMtMTYuNSAzNi44LTM2LjggMzYuOEgzNTJjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZoMjcuMmMyLjcgMCA0LjgtMi4yIDQuOC00LjhjMC0xLjYtLjgtMy4xLTIuMi00bC0yOS40LTE5LjZjLTEwLjItNi44LTE2LjQtMTguMy0xNi40LTMwLjdjMC0yMC4zIDE2LjUtMzYuOCAzNi44LTM2Ljh6bS0xNTIgNi40TDI1NiAyMjkuM2wzNS4yLTQ2LjljNC4xLTUuNSAxMS4zLTcuOCAxNy45LTUuNnMxMC45IDguMyAxMC45IDE1LjJ2OTZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWMjQwbC0xOS4yIDI1LjZjLTMgNC03LjggNi40LTEyLjggNi40cy05LjgtMi40LTEyLjgtNi40TDIyNCAyNDB2NDhjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWMTkyYzAtNi45IDQuNC0xMyAxMC45LTE1LjJzMTMuNyAuMSAxNy45IDUuNnpcIl1cbn07XG52YXIgZmFTbXMgPSBmYUNvbW1lbnRTbXM7XG52YXIgZmFCb29rID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jvb2snLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjgyMTJdLCBcImYwMmRcIiwgXCJNOTYgMEM0MyAwIDAgNDMgMCA5NlY0MTZjMCA1MyA0MyA5NiA5NiA5NkgzODRoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJWMzg0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMySDM4NCA5NnptMCAzODRIMzUydjY0SDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem0zMi0yNDBjMC04LjggNy4yLTE2IDE2LTE2SDMzNmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgxNDRjLTguOCAwLTE2LTcuMi0xNi0xNnptMTYgNDhIMzM2YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDE0NGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFVc2VyUGx1cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLXBsdXMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImYyMzRcIiwgXCJNOTYgMTI4YTEyOCAxMjggMCAxIDEgMjU2IDBBMTI4IDEyOCAwIDEgMSA5NiAxMjh6TTAgNDgyLjNDMCAzODMuOCA3OS44IDMwNCAxNzguMyAzMDRoOTEuNEMzNjguMiAzMDQgNDQ4IDM4My44IDQ0OCA0ODIuM2MwIDE2LjQtMTMuMyAyOS43LTI5LjcgMjkuN0gyOS43QzEzLjMgNTEyIDAgNDk4LjcgMCA0ODIuM3pNNTA0IDMxMlYyNDhINDQwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0aDY0VjEzNmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0djY0aDY0YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDU1MnY2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNHpcIl1cbn07XG52YXIgZmFDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGVjaycsXG4gIGljb246IFs0NDgsIDUxMiwgWzEwMDAzLCAxMDAwNF0sIFwiZjAwY1wiLCBcIk00MzguNiAxMDUuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtMjU2IDI1NmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTEyOC0xMjhjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMMTYwIDMzOC43IDM5My40IDEwNS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwelwiXVxufTtcbnZhciBmYUJhdHRlcnlUaHJlZVF1YXJ0ZXJzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhdHRlcnktdGhyZWUtcXVhcnRlcnMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImJhdHRlcnktNFwiXSwgXCJmMjQxXCIsIFwiTTQ2NCAxNjBjOC44IDAgMTYgNy4yIDE2IDE2VjMzNmMwIDguOC03LjIgMTYtMTYgMTZIODBjLTguOCAwLTE2LTcuMi0xNi0xNlYxNzZjMC04LjggNy4yLTE2IDE2LTE2SDQ2NHpNODAgOTZDMzUuOCA5NiAwIDEzMS44IDAgMTc2VjMzNmMwIDQ0LjIgMzUuOCA4MCA4MCA4MEg0NjRjNDQuMiAwIDgwLTM1LjggODAtODBWMzIwYzE3LjcgMCAzMi0xNC4zIDMyLTMyVjIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMlYxNzZjMC00NC4yLTM1LjgtODAtODAtODBIODB6bTI3MiA5Nkg5NlYzMjBIMzUyVjE5MnpcIl1cbn07XG52YXIgZmFCYXR0ZXJ5NCA9IGZhQmF0dGVyeVRocmVlUXVhcnRlcnM7XG52YXIgZmFIb3VzZUNpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLWNpcmNsZS1jaGVjaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUwOVwiLCBcIk0zMjAuNyAzNTJjOC4xLTg5LjcgODMuNS0xNjAgMTc1LjMtMTYwYzguOSAwIDE3LjYgLjcgMjYuMSAxLjlMMzA5LjUgN2MtNi01LTE0LTctMjEtN3MtMTUgMS0yMiA4TDEwIDIzMS41Yy03IDctMTAgMTUtMTAgMjRjMCAxOCAxNCAzMi4xIDMyIDMyLjFoMzJ2NjkuN2MtLjEgLjktLjEgMS44LS4xIDIuOFY0NzJjMCAyMi4xIDE3LjkgNDAgNDAgNDBoMTZjMS4yIDAgMi40LS4xIDMuNi0uMmMxLjUgLjEgMyAuMiA0LjUgLjJIMTYwaDI0YzIyLjEgMCA0MC0xNy45IDQwLTQwVjQ0OCAzODRjMC0xNy43IDE0LjMtMzIgMzItMzJoNjRsLjcgMHpNNjQwIDM2OGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tNzYuNy00My4zYzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42bC03MiA3MmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDgwIDM4NS40bDYwLjctNjAuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHpcIl1cbn07XG52YXIgZmFBbmdsZUxlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5nbGUtbGVmdCcsXG4gIGljb246IFszMjAsIDUxMiwgWzgyNDldLCBcImYxMDRcIiwgXCJNNDEuNCAyMzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsMTYwIDE2MGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDEwOS4zIDI1NiAyNDYuNiAxMTguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMTYwIDE2MHpcIl1cbn07XG52YXIgZmFEaWFncmFtU3VjY2Vzc29yID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpYWdyYW0tc3VjY2Vzc29yJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNDdhXCIsIFwiTTUxMiA0MTZsMC02NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAyODhjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgNjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjR6TTY0IDE2MGwwLTY0IDE0NCAwIDE2IDAgMCA2NEw2NCAxNjB6bTIyNCAwbDAtNjQgODAgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNi0zOC4xIDBjLTIxLjQgMC0zMi4xIDI1LjktMTcgNDFMMzk5IDIzOWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMEw1MDMgMTY5YzE1LjEtMTUuMSA0LjQtNDEtMTctNDFMNDQ4IDEyOGwwLTE2YzAtNDQuMi0zNS44LTgwLTgwLTgwTDIyNCAzMmwtMTYgMEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2bDAgNjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTYwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjR6XCJdXG59O1xudmFyIGZhVHJ1Y2tBcnJvd1JpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RydWNrLWFycm93LXJpZ2h0JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNThiXCIsIFwiTTAgNDhDMCAyMS41IDIxLjUgMCA0OCAwSDM2OGMyNi41IDAgNDggMjEuNSA0OCA0OFY5Nmg1MC43YzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDU4OS4zIDE5MmMxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zVjI1NnYzMiA2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg1NzZjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZIMjU2YzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFY0OHpNNDE2IDI1Nkg1NDRWMjM3LjNMNDY2LjcgMTYwSDQxNnY5NnpNMTYwIDQ2NGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bTM2OC00OGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek0yNTcgOTVjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsMzkgMzlIOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRIMjYyLjFsLTM5IDM5Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsODAtODBjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlMMjU3IDk1elwiXVxufTtcbnZhciBmYUFycm93c1NwbGl0VXBBbmRMZWZ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93cy1zcGxpdC11cC1hbmQtbGVmdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTRiY1wiLCBcIk0yNDYuNiAxNTAuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsOTYtOTZjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsOTYgOTZjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMzUyIDEwOS4zVjM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGg2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg0MTZjLTcwLjcgMC0xMjgtNTcuMy0xMjgtMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0SDEwOS4zbDQxLjQgNDEuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMGwtOTYtOTZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zbDk2LTk2YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNMMTA5LjMgMjU2SDIyNGMyMy4zIDAgNDUuMiA2LjIgNjQgMTcuMVYxMDkuM2wtNDEuNCA0MS40elwiXVxufTtcbnZhciBmYUhhbmRGaXN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtZmlzdCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzk5OTQsIFwiZmlzdC1yYWlzZWRcIl0sIFwiZjZkZVwiLCBcIk0xOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMlYxNDRIMTYwVjMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek02NCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMydjgwSDY0VjY0em0xOTIgMGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMydjk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjY0em05NiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMydjY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjEyOHptLTk2IDg4bDAtLjZjOS40IDUuNCAyMC4zIDguNiAzMiA4LjZjMTMuMiAwIDI1LjQtNCAzNS42LTEwLjhjOC43IDI0LjkgMzIuNSA0Mi44IDYwLjQgNDIuOGMxMS43IDAgMjIuNi0zLjEgMzItOC42VjI1NmMwIDUyLjMtMjUuMSA5OC44LTY0IDEyOHY5NmMwIDE3LjctMTQuMyAzMi0zMiAzMkgxNjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjQwMS42Yy0xNy4zLTcuOS0zMy4yLTE4LjgtNDYuOS0zMi41TDY5LjUgMzU3LjVDNDUuNSAzMzMuNSAzMiAzMDAuOSAzMiAyNjdWMjQwYzAtMzUuMyAyOC43LTY0IDY0LTY0aDg4YzIyLjEgMCA0MCAxNy45IDQwIDQwcy0xNy45IDQwLTQwIDQwSDEyOGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmg1NmMzOS44IDAgNzItMzIuMiA3Mi03MnpcIl1cbn07XG52YXIgZmFGaXN0UmFpc2VkID0gZmFIYW5kRmlzdDtcbnZhciBmYUNsb3VkTW9vbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbG91ZC1tb29uJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNmMzXCIsIFwiTTQ5NS44IDBjNS41IDAgMTAuOSAuMiAxNi4zIC43YzcgLjYgMTIuOCA1LjcgMTQuMyAxMi41cy0xLjYgMTMuOS03LjcgMTcuM2MtNDQuNCAyNS4yLTc0LjQgNzMtNzQuNCAxMjcuOGMwIDgxIDY1LjUgMTQ2LjYgMTQ2LjIgMTQ2LjZjOC42IDAgMTctLjcgMjUuMS0yLjFjNi45LTEuMiAxMy44IDIuMiAxNyA4LjVzMS45IDEzLjgtMy4xIDE4LjdjLTM0LjUgMzMuNi04MS43IDU0LjQtMTMzLjYgNTQuNGMtOS4zIDAtMTguNC0uNy0yNy40LTEuOWMtMTEuMi0yMi42LTI5LjgtNDAuOS01Mi42LTUxLjdjLTIuNy01OC41LTUwLjMtMTA1LjMtMTA5LjItMTA2LjdjLTEuNy0xMC40LTIuNi0yMS0yLjYtMzEuOEMzMDQgODYuMSAzODkuOCAwIDQ5NS44IDB6TTQ0Ny45IDQzMS45YzAgNDQuMi0zNS44IDgwLTgwIDgwSDk2Yy01MyAwLTk2LTQzLTk2LTk2YzAtNDcuNiAzNC42LTg3IDgwLTk0LjZsMC0xLjNjMC01MyA0My05NiA5Ni05NmMzNC45IDAgNjUuNCAxOC42IDgyLjIgNDYuNGMxMy05LjEgMjguOC0xNC40IDQ1LjgtMTQuNGM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDUuOS0uNiAxMS43LTEuOSAxNy4yYzM3LjQgNi43IDY1LjggMzkuNCA2NS44IDc4Ljd6XCJdXG59O1xudmFyIGZhQnJpZWZjYXNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JyaWVmY2FzZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODE4OF0sIFwiZjBiMVwiLCBcIk0xODQgNDhIMzI4YzQuNCAwIDggMy42IDggOFY5NkgxNzZWNTZjMC00LjQgMy42LTggOC04em0tNTYgOFY5Nkg2NEMyOC43IDk2IDAgMTI0LjcgMCAxNjB2OTZIMTkyIDMyMCA1MTJWMTYwYzAtMzUuMy0yOC43LTY0LTY0LTY0SDM4NFY1NmMwLTMwLjktMjUuMS01Ni01Ni01NkgxODRjLTMwLjkgMC01NiAyNS4xLTU2IDU2ek01MTIgMjg4SDMyMHYzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkgyMjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjI4OEgwVjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEg0NDhjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMjg4elwiXVxufTtcbnZhciBmYVBlcnNvbkZhbGxpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWZhbGxpbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1NDZcIiwgXCJNMjg4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5LjhjMCA1NC42LTI3LjkgMTA0LjYtNzIuNSAxMzMuNmwuMiAuM0wzMDQuNSAyNTZsODcuNSAwYzE1LjEgMCAyOS4zIDcuMSAzOC40IDE5LjJsNDMuMiA1Ny42YzEwLjYgMTQuMSA3LjcgMzQuMi02LjQgNDQuOHMtMzQuMiA3LjctNDQuOC02LjRMMzg0IDMyMGwtOTYgMGgtMS40bDkyLjMgMTQyLjZjOS42IDE0LjggNS40IDM0LjYtOS41IDQ0LjNzLTM0LjYgNS40LTQ0LjMtOS41TDE2NC41IDI0OS4yYy0yLjkgOS4yLTQuNSAxOS00LjUgMjlsMCA3My44YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjI3OC4yYzAtNjUuMSAzOS42LTEyMy43IDEwMC4xLTE0Ny45QzIzMi4zIDExNS44IDI1NiA4MC44IDI1NiA0MS44bDAtOS44YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0xMTIgMzJhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2elwiXVxufTtcbnZhciBmYUltYWdlUG9ydHJhaXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaW1hZ2UtcG9ydHJhaXQnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcInBvcnRyYWl0XCJdLCBcImYzZTBcIiwgXCJNMzg0IDY0YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0QzI4LjcgMCAwIDI4LjcgMCA2NFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzIwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0ek0xMjggMTkyYTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNODAgMzU2LjZjMC0zNy45IDMwLjctNjguNiA2OC42LTY4LjZoODYuOWMzNy45IDAgNjguNiAzMC43IDY4LjYgNjguNmMwIDE1LjEtMTIuMyAyNy40LTI3LjQgMjcuNEgxMDcuNEM5Mi4zIDM4NCA4MCAzNzEuNyA4MCAzNTYuNnpcIl1cbn07XG52YXIgZmFQb3J0cmFpdCA9IGZhSW1hZ2VQb3J0cmFpdDtcbnZhciBmYVVzZXJUYWcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci10YWcnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY1MDdcIiwgXCJNMjI0IDI1NkExMjggMTI4IDAgMSAwIDIyNCAwYTEyOCAxMjggMCAxIDAgMCAyNTZ6bS00NS43IDQ4Qzc5LjggMzA0IDAgMzgzLjggMCA0ODIuM0MwIDQ5OC43IDEzLjMgNTEyIDI5LjcgNTEySDQxOC4zYzEwIDAgMTguOC00LjkgMjQuMi0xMi41bC05OS4yLTk5LjJjLTE0LjktMTQuOS0yMy4zLTM1LjEtMjMuMy01Ni4xdi0zM2MtMTUuOS00LjctMzIuOC03LjItNTAuMy03LjJIMTc4LjN6TTM4NCAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjgyLjdjMCAxNyA2LjcgMzMuMyAxOC43IDQ1LjNMNDc4LjEgNDkxLjNjMTguNyAxOC43IDQ5LjEgMTguNyA2Ny45IDBsNzMuNC03My40YzE4LjctMTguNyAxOC43LTQ5LjEgMC02Ny45TDUxMiAyNDIuN2MtMTItMTItMjguMy0xOC43LTQ1LjMtMTguN0gzODR6bTI0IDgwYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6XCJdXG59O1xudmFyIGZhUnVnID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3J1ZycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU2OVwiLCBcIk0yNCA2NEg1NiA4MFY4OHY4OCA4MCA4MCA4OCAyNEg1NiAyNGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGg4VjM2MEgyNGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGg4VjI4MEgyNGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGg4VjIwMEgyNGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGg4VjExMkgyNEMxMC43IDExMiAwIDEwMS4zIDAgODhTMTAuNyA2NCAyNCA2NHptODggMEg1MjhWNDQ4SDExMlY2NHpNNjQwIDg4YzAgMTMuMy0xMC43IDI0LTI0IDI0aC04djQwaDhjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRoLTh2MzJoOGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGgtOHYzMmg4YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0aC04djQwaDhjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRINTg0IDU2MFY0MjQgMzM2IDI1NiAxNzYgODggNjRoMjQgMzJjMTMuMyAwIDI0IDEwLjcgMjQgMjR6XCJdXG59O1xudmFyIGZhRWFydGhFdXJvcGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZWFydGgtZXVyb3BlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJnbG9iZS1ldXJvcGVcIl0sIFwiZjdhMlwiLCBcIk0yNjYuMyA0OC4zTDIzMi41IDczLjZjLTUuNCA0LTguNSAxMC40LTguNSAxNy4xdjkuMWMwIDYuOCA1LjUgMTIuMyAxMi4zIDEyLjNjMi40IDAgNC44LS43IDYuOC0yLjFsNDEuOC0yNy45YzItMS4zIDQuNC0yLjEgNi44LTIuMWgxYzYuMiAwIDExLjMgNS4xIDExLjMgMTEuM2MwIDMtMS4yIDUuOS0zLjMgOGwtMTkuOSAxOS45Yy01LjggNS44LTEyLjkgMTAuMi0yMC43IDEyLjhsLTI2LjUgOC44Yy01LjggMS45LTkuNiA3LjMtOS42IDEzLjRjMCAzLjctMS41IDcuMy00LjEgMTBsLTE3LjkgMTcuOWMtNi40IDYuNC05LjkgMTUtOS45IDI0djQuM2MwIDE2LjQgMTMuNiAyOS43IDI5LjkgMjkuN2MxMSAwIDIxLjItNi4yIDI2LjEtMTZsNC04LjFjMi40LTQuOCA3LjQtNy45IDEyLjgtNy45YzQuNSAwIDguNyAyLjEgMTEuNCA1LjdsMTYuMyAyMS43YzIuMSAyLjkgNS41IDQuNSA5LjEgNC41YzguNCAwIDEzLjktOC45IDEwLjEtMTYuNGwtMS4xLTIuM2MtMy41LTcgMC0xNS41IDcuNS0xOGwyMS4yLTcuMWM3LjYtMi41IDEyLjctOS42IDEyLjctMTcuNmMwLTEwLjMgOC4zLTE4LjYgMTguNi0xOC42SDQwMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgzNzkuM2MtNy4yIDAtMTQuMiAyLjktMTkuMyA4bC00LjcgNC43Yy0yLjEgMi4xLTMuMyA1LTMuMyA4YzAgNi4yIDUuMSAxMS4zIDExLjMgMTEuM2gxMS4zYzYgMCAxMS44IDIuNCAxNiA2LjZsNi41IDYuNWMxLjggMS44IDIuOCA0LjMgMi44IDYuOHMtMSA1LTIuOCA2LjhsLTcuNSA3LjVDMzg2IDI2MiAzODQgMjY2LjkgMzg0IDI3MnMyIDEwIDUuNyAxMy43TDQwOCAzMDRjMTAuMiAxMC4yIDI0LjEgMTYgMzguNiAxNkg0NTRjNi41LTIwLjIgMTAtNDEuNyAxMC02NGMwLTExMS40LTg3LjYtMjAyLjQtMTk3LjctMjA3Ljd6bTE3MiAzMDcuOWMtMy43LTIuNi04LjItNC4xLTEzLTQuMWMtNiAwLTExLjgtMi40LTE2LTYuNkwzOTYgMzMyYy03LjctNy43LTE4LTEyLTI4LjktMTJjLTkuNyAwLTE5LjItMy41LTI2LjYtOS44TDMxNCAyODcuNGMtMTEuNi05LjktMjYuNC0xNS40LTQxLjctMTUuNEgyNTEuNGMtMTIuNiAwLTI1IDMuNy0zNS41IDEwLjdMMTg4LjUgMzAxYy0xNy44IDExLjktMjguNSAzMS45LTI4LjUgNTMuM3YzLjJjMCAxNyA2LjcgMzMuMyAxOC43IDQ1LjNsMTYgMTZjOC41IDguNSAyMCAxMy4zIDMyIDEzLjNIMjQ4YzEzLjMgMCAyNCAxMC43IDI0IDI0YzAgMi41IC40IDUgMS4xIDcuM2M3MS4zLTUuOCAxMzIuNS00Ny42IDE2NS4yLTEwNy4yek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6TTE4Ny4zIDEwMC43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMGwtMzIgMzJjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGwzMi0zMmM2LjItNi4yIDYuMi0xNi40IDAtMjIuNnpcIl1cbn07XG52YXIgZmFHbG9iZUV1cm9wZSA9IGZhRWFydGhFdXJvcGU7XG52YXIgZmFDYXJ0RmxhdGJlZFN1aXRjYXNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhcnQtZmxhdGJlZC1zdWl0Y2FzZScsXG4gIGljb246IFs2NDAsIDUxMiwgW1wibHVnZ2FnZS1jYXJ0XCJdLCBcImY1OWRcIiwgXCJNMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBINDhjNDQuMiAwIDgwIDM1LjggODAgODBWMzY4YzAgOC44IDcuMiAxNiAxNiAxNkg2MDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJINTQxLjNjMS44IDUgMi43IDEwLjQgMi43IDE2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4YzAtNS42IDEtMTEgMi43LTE2SDI1My4zYzEuOCA1IDIuNyAxMC40IDIuNyAxNmMwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGMwLTUuNiAxLTExIDIuNy0xNkgxNDRjLTQ0LjIgMC04MC0zNS44LTgwLTgwVjgwYzAtOC44LTcuMi0xNi0xNi0xNkgzMkMxNC4zIDY0IDAgNDkuNyAwIDMyek00MzIgOTZWNTZjMC00LjQtMy42LTgtOC04SDM0NGMtNC40IDAtOCAzLjYtOCA4Vjk2aDk2ek0yODggOTZWNTZjMC0zMC45IDI1LjEtNTYgNTYtNTZoODBjMzAuOSAwIDU2IDI1LjEgNTYgNTZWOTYgMzIwSDI4OFY5NnpNNTEyIDMyMFY5NmgxNmMyNi41IDAgNDggMjEuNSA0OCA0OFYyNzJjMCAyNi41LTIxLjUgNDgtNDggNDhINTEyek0yNDAgOTZoMTZWMzIwSDI0MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMTQ0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4elwiXVxufTtcbnZhciBmYUx1Z2dhZ2VDYXJ0ID0gZmFDYXJ0RmxhdGJlZFN1aXRjYXNlO1xudmFyIGZhUmVjdGFuZ2xlWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmVjdGFuZ2xlLXhtYXJrJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjIxNjQsIFwicmVjdGFuZ2xlLXRpbWVzXCIsIFwidGltZXMtcmVjdGFuZ2xlXCIsIFwid2luZG93LWNsb3NlXCJdLCBcImY0MTBcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRINDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0ek0xNzUgMTc1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDQ3IDQ3IDQ3LTQ3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNDcgNDcgNDcgNDdjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDctNDctNDcgNDdjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNDctNDctNDctNDdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45elwiXVxufTtcbnZhciBmYVJlY3RhbmdsZVRpbWVzID0gZmFSZWN0YW5nbGVYbWFyaztcbnZhciBmYVRpbWVzUmVjdGFuZ2xlID0gZmFSZWN0YW5nbGVYbWFyaztcbnZhciBmYVdpbmRvd0Nsb3NlID0gZmFSZWN0YW5nbGVYbWFyaztcbnZhciBmYUJhaHRTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhaHQtc2lnbicsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiZTBhY1wiLCBcIk0xNDQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJWNjRIMzcuNkMxNi44IDY0IDAgODAuOCAwIDEwMS42VjIyNHY0MS43VjI4OCA0MDYuM2MwIDIzIDE4LjcgNDEuNyA0MS43IDQxLjdIMTEydjMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWNDQ4aDMyYzYxLjkgMCAxMTItNTAuMSAxMTItMTEyYzAtNDAuMS0yMS4xLTc1LjMtNTIuNy05NS4xQzI4MC4zIDIyMi42IDI4OCAyMDAuMiAyODggMTc2YzAtNjEuOS01MC4xLTExMi0xMTItMTEyVjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek0xMTIgMTI4djk2SDY0VjEyOGg0OHptNjQgOTZWMTI4YzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4em0tNjQgNjR2OTZINjRWMjg4aDQ4em02NCA5NlYyODhoMzJjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhIMTc2elwiXVxufTtcbnZhciBmYUJvb2tPcGVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jvb2stb3BlbicsXG4gIGljb246IFs1NzYsIDUxMiwgWzEyODIxNCwgMTI4MzY2XSwgXCJmNTE4XCIsIFwiTTI0OS42IDQ3MS41YzEwLjggMy44IDIyLjQtNC4xIDIyLjQtMTUuNVY3OC42YzAtNC4yLTEuNi04LjQtNS0xMUMyNDcuNCA1MiAyMDIuNCAzMiAxNDQgMzJDOTMuNSAzMiA0Ni4zIDQ1LjMgMTguMSA1Ni4xQzYuOCA2MC41IDAgNzEuNyAwIDgzLjhWNDU0LjFjMCAxMS45IDEyLjggMjAuMiAyNC4xIDE2LjVDNTUuNiA0NjAuMSAxMDUuNSA0NDggMTQ0IDQ0OGMzMy45IDAgNzkgMTQgMTA1LjYgMjMuNXptNzYuOCAwQzM1MyA0NjIgMzk4LjEgNDQ4IDQzMiA0NDhjMzguNSAwIDg4LjQgMTIuMSAxMTkuOSAyMi42YzExLjMgMy44IDI0LjEtNC42IDI0LjEtMTYuNVY4My44YzAtMTIuMS02LjgtMjMuMy0xOC4xLTI3LjZDNTI5LjcgNDUuMyA0ODIuNSAzMiA0MzIgMzJjLTU4LjQgMC0xMDMuNCAyMC0xMjMgMzUuNmMtMy4zIDIuNi01IDYuOC01IDExVjQ1NmMwIDExLjQgMTEuNyAxOS4zIDIyLjQgMTUuNXpcIl1cbn07XG52YXIgZmFCb29rSm91cm5hbFdoaWxscyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib29rLWpvdXJuYWwtd2hpbGxzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJqb3VybmFsLXdoaWxsc1wiXSwgXCJmNjZhXCIsIFwiTTAgOTZDMCA0MyA0MyAwIDk2IDBIMzg0aDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjM1MmMwIDE3LjctMTQuMyAzMi0zMiAzMnY2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzODQgOTZjLTUzIDAtOTYtNDMtOTYtOTZWOTZ6TTY0IDQxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMkgzNTJWMzg0SDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnptOTAuNC0yMzQuNGwtMjEuMi0yMS4yYy0zIDEwLjEtNS4xIDIwLjYtNS4xIDMxLjZjMCAuMiAwIC41IC4xIC44cy4xIC41IC4xIC44TDE2NS4yIDIyNmMyLjUgMi4xIDMuNCA1LjggMi4zIDguOWMtMS4zIDMtNC4xIDUuMS03LjUgNS4xYy0xLjktLjEtMy44LS44LTUuMi0ybC0yMy42LTIwLjZDMTQyLjggMjY3IDE4Ni45IDMwNCAyNDAgMzA0czk3LjMtMzcgMTA4LjktODYuNkwzMjUuMyAyMzhjLTEuNCAxLjItMy4zIDItNS4zIDJjLTIuMi0uMS00LjQtMS4xLTYtMi44Yy0xLjItMS41LTEuOS0zLjQtMi01LjJjLjEtMi4yIDEuMS00LjQgMi44LTZsMzcuMS0zMi41YzAtLjMgMC0uNSAuMS0uOHMuMS0uNSAuMS0uOGMwLTExLTIuMS0yMS41LTUuMS0zMS42bC0yMS4yIDIxLjJjLTMuMSAzLjEtOC4xIDMuMS0xMS4zIDBzLTMuMS04LjEgMC0xMS4ybDI2LjQtMjYuNWMtOC4yLTE3LTIwLjUtMzEuNy0zNS45LTQyLjZjLTIuNy0xLjktNi4yIDEuNC01IDQuNWM4LjUgMjIuNCAzLjYgNDgtMTMgNjUuNmMtMy4yIDMuNC0zLjYgOC45LS45IDEyLjdjOS44IDE0IDEyLjcgMzEuOSA3LjUgNDguNWMtNS45IDE5LjQtMjIgMzQuMS00MS45IDM4LjNsLTEuNC0zNC4zIDEyLjYgOC42Yy42IC40IDEuNSAuNiAyLjMgLjZjMS41IDAgMi43LS44IDMuNS0ycy42LTIuOC0uMS00TDI2MCAyMjUuNGwxOC0zLjZjMS44LS40IDMuMS0yLjEgMy4xLTRzLTEuNC0zLjUtMy4xLTMuOWwtMTgtMy43IDguNS0xNC4zYy44LTEuMiAuOS0yLjkgLjEtNC4xcy0yLTItMy41LTJsLS4xIDBjLS43IC4xLTEuNSAuMy0yLjEgLjdsLTE0LjEgOS42TDI0NCA4Ny45Yy0uMS0yLjItMS45LTMuOS00LTMuOXMtMy45IDEuNi00IDMuOWwtNC42IDExMC44LTEyLTguMWMtMS41LTEuMS0zLjYtLjktNSAuNHMtMS42IDMuNC0uOCA1bDguNiAxNC4zLTE4IDMuN2MtMS44IC40LTMuMSAyLTMuMSAzLjlzMS40IDMuNiAzLjEgNGwxOCAzLjgtOC42IDE0LjJjLS4yIC42LS41IDEuNC0uNSAyYzAgMS4xIC41IDIuMSAxLjIgM2MuOCAuNiAxLjggMSAyLjggMWMuNyAwIDEuNi0uMiAyLjItLjZsMTAuNC03LjEtMS40IDMyLjhjLTE5LjktNC4xLTM2LTE4LjktNDEuOS0zOC4zYy01LjEtMTYuNi0yLjItMzQuNCA3LjYtNDguNWMyLjctMy45IDIuMy05LjMtLjktMTIuN2MtMTYuNi0xNy41LTIxLjYtNDMuMS0xMy4xLTY1LjVjMS4yLTMuMS0yLjMtNi40LTUtNC41Yy0xNS4zIDEwLjktMjcuNiAyNS42LTM1LjggNDIuNmwyNi40IDI2LjVjMy4xIDMuMSAzLjEgOC4xIDAgMTEuMnMtOC4xIDMuMS0xMS4yIDB6XCJdXG59O1xudmFyIGZhSm91cm5hbFdoaWxscyA9IGZhQm9va0pvdXJuYWxXaGlsbHM7XG52YXIgZmFIYW5kY3VmZnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZGN1ZmZzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGY4XCIsIFwiTTI0MCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0xOTIgNDhhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0tMzIgODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJoOGMxMy4zIDAgMjQgMTAuNyAyNCAyNHYxNmMwIDEuNy0uMiAzLjQtLjUgNS4xQzI4MC4zIDIyOS42IDMyMCAyODYuMiAzMjAgMzUyYzAgODguNC03MS42IDE2MC0xNjAgMTYwUzAgNDQwLjQgMCAzNTJjMC02NS44IDM5LjctMTIyLjQgOTYuNS0xNDYuOWMtLjQtMS42LS41LTMuMy0uNS01LjFWMTg0YzAtMTMuMyAxMC43LTI0IDI0LTI0aDhjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTAgMzIwYTk2IDk2IDAgMSAwIDAtMTkyIDk2IDk2IDAgMSAwIDAgMTkyem0xOTItOTZjMC0yNS45LTUuMS01MC41LTE0LjQtNzMuMWMxNi45LTMyLjkgNDQuOC01OS4xIDc4LjktNzMuOWMtLjQtMS42LS41LTMuMy0uNS01LjFWMTg0YzAtMTMuMyAxMC43LTI0IDI0LTI0aDhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmg4YzEzLjMgMCAyNCAxMC43IDI0IDI0djE2YzAgMS43LS4yIDMuNC0uNSA1LjFDNjAwLjMgMjI5LjYgNjQwIDI4Ni4yIDY0MCAzNTJjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBjLTYyIDAtMTE1LjgtMzUuMy0xNDIuNC04Ni45YzkuMy0yMi41IDE0LjQtNDcuMiAxNC40LTczLjF6bTIyNCAwYTk2IDk2IDAgMSAwIC0xOTIgMCA5NiA5NiAwIDEgMCAxOTIgMHpNMzY4IDBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em04MCA0OGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhVHJpYW5nbGVFeGNsYW1hdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cmlhbmdsZS1leGNsYW1hdGlvbicsXG4gIGljb246IFs1MTIsIDUxMiwgWzk4ODgsIFwiZXhjbGFtYXRpb24tdHJpYW5nbGVcIiwgXCJ3YXJuaW5nXCJdLCBcImYwNzFcIiwgXCJNMjU2IDMyYzE0LjIgMCAyNy4zIDcuNSAzNC41IDE5LjhsMjE2IDM2OGM3LjMgMTIuNCA3LjMgMjcuNyAuMiA0MC4xUzQ4Ni4zIDQ4MCA0NzIgNDgwSDQwYy0xNC4zIDAtMjcuNi03LjctMzQuNy0yMC4xcy03LTI3LjggLjItNDAuMWwyMTYtMzY4QzIyOC43IDM5LjUgMjQxLjggMzIgMjU2IDMyem0wIDEyOGMtMTMuMyAwLTI0IDEwLjctMjQgMjRWMjk2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWMTg0YzAtMTMuMy0xMC43LTI0LTI0LTI0em0zMiAyMjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpcIl1cbn07XG52YXIgZmFFeGNsYW1hdGlvblRyaWFuZ2xlID0gZmFUcmlhbmdsZUV4Y2xhbWF0aW9uO1xudmFyIGZhV2FybmluZyA9IGZhVHJpYW5nbGVFeGNsYW1hdGlvbjtcbnZhciBmYURhdGFiYXNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RhdGFiYXNlJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMWMwXCIsIFwiTTQ0OCA4MHY0OGMwIDQ0LjItMTAwLjMgODAtMjI0IDgwUzAgMTcyLjIgMCAxMjhWODBDMCAzNS44IDEwMC4zIDAgMjI0IDBTNDQ4IDM1LjggNDQ4IDgwek0zOTMuMiAyMTQuN2MyMC44LTcuNCAzOS45LTE2LjkgNTQuOC0yOC42VjI4OGMwIDQ0LjItMTAwLjMgODAtMjI0IDgwUzAgMzMyLjIgMCAyODhWMTg2LjFjMTQuOSAxMS44IDM0IDIxLjIgNTQuOCAyOC42Qzk5LjcgMjMwLjcgMTU5LjUgMjQwIDIyNCAyNDBzMTI0LjMtOS4zIDE2OS4yLTI1LjN6TTAgMzQ2LjFjMTQuOSAxMS44IDM0IDIxLjIgNTQuOCAyOC42Qzk5LjcgMzkwLjcgMTU5LjUgNDAwIDIyNCA0MDBzMTI0LjMtOS4zIDE2OS4yLTI1LjNjMjAuOC03LjQgMzkuOS0xNi45IDU0LjgtMjguNlY0MzJjMCA0NC4yLTEwMC4zIDgwLTIyNCA4MFMwIDQ3Ni4yIDAgNDMyVjM0Ni4xelwiXVxufTtcbnZhciBmYVNoYXJlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoYXJlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJtYWlsLWZvcndhcmRcIl0sIFwiZjA2NFwiLCBcIk0zMDcgMzQuOGMtMTEuNSA1LjEtMTkgMTYuNi0xOSAyOS4ydjY0SDE3NkM3OC44IDEyOCAwIDIwNi44IDAgMzA0QzAgNDE3LjMgODEuNSA0NjcuOSAxMDAuMiA0NzguMWMyLjUgMS40IDUuMyAxLjkgOC4xIDEuOWMxMC45IDAgMTkuNy04LjkgMTkuNy0xOS43YzAtNy41LTQuMy0xNC40LTkuOC0xOS41QzEwOC44IDQzMS45IDk2IDQxNC40IDk2IDM4NGMwLTUzIDQzLTk2IDk2LTk2aDk2djY0YzAgMTIuNiA3LjQgMjQuMSAxOSAyOS4yczI1IDMgMzQuNC01LjRsMTYwLTE0NGM2LjctNi4xIDEwLjYtMTQuNyAxMC42LTIzLjhzLTMuOC0xNy43LTEwLjYtMjMuOGwtMTYwLTE0NGMtOS40LTguNS0yMi45LTEwLjYtMzQuNC01LjR6XCJdXG59O1xudmFyIGZhTWFpbEZvcndhcmQgPSBmYVNoYXJlO1xudmFyIGZhQm90dGxlRHJvcGxldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3R0bGUtZHJvcGxldCcsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiZTRjNFwiLCBcIk05NiAwQzgyLjcgMCA3MiAxMC43IDcyIDI0czEwLjcgMjQgMjQgMjRjNC40IDAgOCAzLjYgOCA4djY0LjljMCAxMi4yLTcuMiAyMy4xLTE3LjIgMzAuMUM1My43IDE3NC4xIDMyIDIxMi41IDMyIDI1NlY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMjI0YzM1LjMgMCA2NC0yOC43IDY0LTY0VjI1NmMwLTQzLjUtMjEuNy04MS45LTU0LjgtMTA1Yy0xMC03LTE3LjItMTcuOS0xNy4yLTMwLjFWNTZjMC00LjQgMy42LTggOC04YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04IDAgMCAwIDAgMEgxMDRsMCAwIDAgMEw5NiAwem02NCAzODJjLTI2LjUgMC00OC0yMC4xLTQ4LTQ1YzAtMTYuOCAyMi4xLTQ4LjEgMzYuMy02Ni40YzYtNy44IDE3LjUtNy44IDIzLjUgMEMxODUuOSAyODguOSAyMDggMzIwLjIgMjA4IDMzN2MwIDI0LjktMjEuNSA0NS00OCA0NXpcIl1cbn07XG52YXIgZmFNYXNrRmFjZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXNrLWZhY2UnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImUxZDdcIiwgXCJNMzIwIDY0Yy0yNy4yIDAtNTMuOCA4LTc2LjQgMjMuMWwtMzcuMSAyNC44Yy0xNS44IDEwLjUtMzQuMyAxNi4xLTUzLjMgMTYuMUgxNDQgMTI4IDU2Yy0zMC45IDAtNTYgMjUuMS01NiA1NnY4NWMwIDU1LjEgMzcuNSAxMDMuMSA5MC45IDExNi40bDEwOCAyN0MyMzMuOCA0MzUgMjc1LjQgNDQ4IDMyMCA0NDhzODYuMi0xMyAxMjEuMS0zNS41bDEwOC0yN0M2MDIuNSAzNzIuMSA2NDAgMzI0LjEgNjQwIDI2OVYxODRjMC0zMC45LTI1LjEtNTYtNTYtNTZINTEyIDQ5NmgtOS4yYy0xOSAwLTM3LjUtNS42LTUzLjMtMTYuMUwzOTYuNCA4Ny4xQzM3My44IDcyIDM0Ny4yIDY0IDMyMCA2NHpNMTMyLjMgMzQ2LjNsLTI5LjgtNy40QzcwLjUgMzMwLjkgNDggMzAyLjEgNDggMjY5VjE4NGMwLTQuNCAzLjYtOCA4LThIOTZ2NDhjMCA0NS4xIDEzLjQgODcuMiAzNi4zIDEyMi4zem00MDUuMS03LjRsLTI5LjggNy40YzIzLTM1LjIgMzYuMy03Ny4yIDM2LjMtMTIyLjNWMTc2aDQwYzQuNCAwIDggMy42IDggOHY4NWMwIDMzLTIyLjUgNjEuOC01NC41IDY5Ljl6TTE5MiAyMDhjMC04LjggNy4yLTE2IDE2LTE2SDQzMmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgyMDhjLTguOCAwLTE2LTcuMi0xNi0xNnptMTYgNDhINDMyYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDIwOGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnptMTYgODBjMC04LjggNy4yLTE2IDE2LTE2SDQwMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgyNDBjLTguOCAwLTE2LTcuMi0xNi0xNnpcIl1cbn07XG52YXIgZmFIaWxsUm9ja3NsaWRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hpbGwtcm9ja3NsaWRlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTA4XCIsIFwiTTI1Mi40IDEwMy44bDI3IDQ4YzIuOCA1IDguMiA4LjIgMTMuOSA4LjJsNTMuMyAwYzUuOCAwIDExLjEtMy4xIDEzLjktOC4ybDI3LTQ4YzIuNy00LjkgMi43LTEwLjggMC0xNS43bC0yNy00OGMtMi44LTUtOC4yLTguMi0xMy45LTguMkgyOTMuNGMtNS44IDAtMTEuMSAzLjEtMTMuOSA4LjJsLTI3IDQ4Yy0yLjcgNC45LTIuNyAxMC44IDAgMTUuN3pNNjguMyA4N0M0My4xIDYxLjggMCA3OS43IDAgMTE1LjNWNDMyYzAgNDQuMiAzNS44IDgwIDgwIDgwSDM5Ni43YzM1LjYgMCA1My41LTQzLjEgMjguMy02OC4zTDY4LjMgODd6TTUwNC4yIDQwMy42YzQuOSAyLjcgMTAuOCAyLjcgMTUuNyAwbDQ4LTI3YzUtMi44IDguMi04LjIgOC4yLTEzLjlWMzA5LjRjMC01LjgtMy4xLTExLjEtOC4yLTEzLjlsLTQ4LTI3Yy00LjktMi43LTEwLjgtMi43LTE1LjcgMGwtNDggMjdjLTUgMi44LTguMiA4LjItOC4yIDEzLjl2NTMuM2MwIDUuOCAzLjEgMTEuMSA4LjIgMTMuOWw0OCAyN3pNMTkyIDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTM4NCAyODhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbnZhciBmYVJpZ2h0TGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyaWdodC1sZWZ0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJleGNoYW5nZS1hbHRcIl0sIFwiZjM2MlwiLCBcIk0zMiA5NmwzMjAgMFYzMmMwLTEyLjkgNy44LTI0LjYgMTkuOC0yOS42czI1LjctMi4yIDM0LjkgNi45bDk2IDk2YzYgNiA5LjQgMTQuMSA5LjQgMjIuNnMtMy40IDE2LjYtOS40IDIyLjZsLTk2IDk2Yy05LjIgOS4yLTIyLjkgMTEuOS0zNC45IDYuOXMtMTkuOC0xNi42LTE5LjgtMjkuNlYxNjBMMzIgMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyek00ODAgMzUyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDE2MHY2NGMwIDEyLjktNy44IDI0LjYtMTkuOCAyOS42cy0yNS43IDIuMi0zNC45LTYuOWwtOTYtOTZjLTYtNi05LjQtMTQuMS05LjQtMjIuNnMzLjQtMTYuNiA5LjQtMjIuNmw5Ni05NmM5LjItOS4yIDIyLjktMTEuOSAzNC45LTYuOXMxOS44IDE2LjYgMTkuOCAyOS42bDAgNjRINDgwelwiXVxufTtcbnZhciBmYUV4Y2hhbmdlQWx0ID0gZmFSaWdodExlZnQ7XG52YXIgZmFQYXBlclBsYW5lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BhcGVyLXBsYW5lJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjE5MTNdLCBcImYxZDhcIiwgXCJNNDk4LjEgNS42YzEwLjEgNyAxNS40IDE5LjEgMTMuNSAzMS4ybC02NCA0MTZjLTEuNSA5LjctNy40IDE4LjItMTYgMjNzLTE4LjkgNS40LTI4IDEuNkwyODQgNDI3LjdsLTY4LjUgNzQuMWMtOC45IDkuNy0yMi45IDEyLjktMzUuMiA4LjFTMTYwIDQ5My4yIDE2MCA0ODBWMzk2LjRjMC00IDEuNS03LjggNC4yLTEwLjdMMzMxLjggMjAyLjhjNS44LTYuMyA1LjYtMTYtLjQtMjJzLTE1LjctNi40LTIyLS43TDEwNiAzNjAuOCAxNy43IDMxNi42QzcuMSAzMTEuMyAuMyAzMDAuNyAwIDI4OC45czUuOS0yMi44IDE2LjEtMjguN2w0NDgtMjU2YzEwLjctNi4xIDIzLjktNS41IDM0IDEuNHpcIl1cbn07XG52YXIgZmFSb2FkQ2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncm9hZC1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NjVcIiwgXCJNMjEzLjIgMzJIMjg4Vjk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMzJoNzQuOGMyNy4xIDAgNTEuMyAxNy4xIDYwLjMgNDIuNmw0Mi43IDEyMC42Yy0xMC45LTIuMS0yMi4yLTMuMi0zMy44LTMuMmMtNTkuNSAwLTExMi4xIDI5LjYtMTQ0IDc0LjhWMjI0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMydjY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyYzIuMyAwIDQuNi0uMyA2LjgtLjdjLTQuNSAxNS41LTYuOCAzMS44LTYuOCA0OC43YzAgNS40IC4yIDEwLjcgLjcgMTZsLS43IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjY0SDg2LjZDNTYuNSA0ODAgMzIgNDU1LjUgMzIgNDI1LjRjMC02LjIgMS4xLTEyLjQgMy4xLTE4LjJMMTUyLjkgNzQuNkMxNjIgNDkuMSAxODYuMSAzMiAyMTMuMiAzMnpNNDk2IDIyNGExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTAgMjQwYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMC0xOTJjLTguOCAwLTE2IDcuMi0xNiAxNnY4MGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjI4OGMwLTguOC03LjItMTYtMTYtMTZ6XCJdXG59O1xudmFyIGZhRHVuZ2VvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkdW5nZW9uJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNmQ5XCIsIFwiTTMzNi42IDE1Ni41YzEuMyAxLjEgMi43IDIuMiAzLjkgMy4zYzkuMyA4LjIgMjMgMTAuNSAzMy40IDMuNmw2Ny42LTQ1LjFjMTEuNC03LjYgMTQuMi0yMy4yIDUuMS0zMy40QzQzMCA2Ni42IDQxMC45IDUwLjYgMzg5LjcgMzcuNmMtMTEuOS03LjMtMjYuOS0xLjQtMzIuMSAxMS42bC0zMC41IDc2LjJjLTQuNSAxMS4xIC4yIDIzLjYgOS41IDMxLjJ6TTMyOCAzNi44YzUuMS0xMi44LTEuNi0yNy40LTE1LTMwLjVDMjk0LjcgMi4yIDI3NS42IDAgMjU2IDBzLTM4LjcgMi4yLTU3IDYuNEMxODUuNSA5LjQgMTc4LjggMjQgMTg0IDM2LjhsMzAuMyA3NS44YzQuNSAxMS4zIDE2LjggMTcuMiAyOSAxNmM0LjItLjQgOC40LS42IDEyLjctLjZzOC42IC4yIDEyLjcgLjZjMTIuMSAxLjIgMjQuNC00LjcgMjktMTZMMzI4IDM2Ljh6TTY1LjUgODVjLTkuMSAxMC4yLTYuMyAyNS44IDUuMSAzMy40bDY3LjYgNDUuMWMxMC4zIDYuOSAyNC4xIDQuNiAzMy40LTMuNmMxLjMtMS4xIDIuNi0yLjMgNC0zLjNjOS4zLTcuNSAxMy45LTIwLjEgOS41LTMxLjJMMTU0LjQgNDkuMmMtNS4yLTEyLjktMjAuMy0xOC44LTMyLjEtMTEuNkMxMDEuMSA1MC42IDgyIDY2LjYgNjUuNSA4NXptMzE0IDEzNy4xYy45IDMuMyAxLjcgNi42IDIuMyAxMGMyLjUgMTMgMTMgMjMuOSAyNi4yIDIzLjloODBjMTMuMyAwIDI0LjEtMTAuOCAyMi45LTI0Yy0yLjUtMjcuMi05LjMtNTMuMi0xOS43LTc3LjNjLTUuNS0xMi45LTIxLjQtMTYuNi0zMy4xLTguOWwtNjguNiA0NS43Yy05LjggNi41LTEzLjIgMTkuMi0xMCAzMC41ek01My45IDE0NS44Yy0xMS42LTcuOC0yNy42LTQtMzMuMSA4LjlDMTAuNCAxNzguOCAzLjYgMjA0LjggMS4xIDIzMmMtMS4yIDEzLjIgOS42IDI0IDIyLjkgMjRoODBjMTMuMyAwIDIzLjgtMTAuOCAyNi4yLTIzLjljLjYtMy40IDEuNC02LjcgMi4zLTEwYzMuMS0xMS40LS4yLTI0LTEwLTMwLjVMNTMuOSAxNDUuOHpNMTA0IDI4OEgyNGMtMTMuMyAwLTI0IDEwLjctMjQgMjR2NDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRoODBjMTMuMyAwIDI0LTEwLjcgMjQtMjRWMzEyYzAtMTMuMy0xMC43LTI0LTI0LTI0em0zMDQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR2NDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRoODBjMTMuMyAwIDI0LTEwLjcgMjQtMjRWMzEyYzAtMTMuMy0xMC43LTI0LTI0LTI0SDQwOHpNMjQgNDE2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHY0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGg4MGMxMy4zIDAgMjQtMTAuNyAyNC0yNFY0NDBjMC0xMy4zLTEwLjctMjQtMjQtMjRIMjR6bTM4NCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHY0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGg4MGMxMy4zIDAgMjQtMTAuNyAyNC0yNFY0NDBjMC0xMy4zLTEwLjctMjQtMjQtMjRINDA4ek0yNzIgMTkyYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2VjQ2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjE5MnptLTY0IDMyYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2VjQ2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjIyNHptMTI4IDBjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZWNDY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMjI0elwiXVxufTtcbnZhciBmYUFsaWduUmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYWxpZ24tcmlnaHQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYwMzhcIiwgXCJNNDQ4IDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMySDE5MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkg0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6bTAgMjU2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDE5MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkg0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6TTAgMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMySDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTQ0OCA0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJINDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMyelwiXVxufTtcbnZhciBmYU1vbmV5QmlsbDFXYXZlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vbmV5LWJpbGwtMS13YXZlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJtb25leS1iaWxsLXdhdmUtYWx0XCJdLCBcImY1M2JcIiwgXCJNMCAxMTIuNVY0MjIuM2MwIDE4IDEwLjEgMzUgMjcgNDEuM2M4NyAzMi41IDE3NCAxMC4zIDI2MS0xMS45Yzc5LjgtMjAuMyAxNTkuNi00MC43IDIzOS4zLTE4LjljMjMgNi4zIDQ4LjctOS41IDQ4LjctMzMuNFY4OS43YzAtMTgtMTAuMS0zNS0yNy00MS4zQzQ2MiAxNS45IDM3NSAzOC4xIDI4OCA2MC4zQzIwOC4yIDgwLjYgMTI4LjQgMTAwLjkgNDguNyA3OS4xQzI1LjYgNzIuOCAwIDg4LjYgMCAxMTIuNXpNMTI4IDQxNkg2NFYzNTJjMzUuMyAwIDY0IDI4LjcgNjQgNjR6TTY0IDIyNFYxNjBoNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjR6TTQ0OCAzNTJjMC0zNS4zIDI4LjctNjQgNjQtNjR2NjRINDQ4em02NC0xOTJjLTM1LjMgMC02NC0yOC43LTY0LTY0aDY0djY0ek0zODQgMjU2YzAgNjEuOS00MyAxMTItOTYgMTEycy05Ni01MC4xLTk2LTExMnM0My0xMTIgOTYtMTEyczk2IDUwLjEgOTYgMTEyek0yNTIgMjA4YzAgOS43IDYuOSAxNy43IDE2IDE5LjZWMjc2aC00Yy0xMSAwLTIwIDktMjAgMjBzOSAyMCAyMCAyMGgyNCAyNGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBoLTRWMjA4YzAtMTEtOS0yMC0yMC0yMEgyNzJjLTExIDAtMjAgOS0yMCAyMHpcIl1cbn07XG52YXIgZmFNb25leUJpbGxXYXZlQWx0ID0gZmFNb25leUJpbGwxV2F2ZTtcbnZhciBmYUxpZmVSaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xpZmUtcmluZycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjFjZFwiLCBcIk0zNjcuMiA0MTIuNUMzMzUuOSA0MzQuOSAyOTcuNSA0NDggMjU2IDQ0OHMtNzkuOS0xMy4xLTExMS4yLTM1LjVsNTgtNThjMTUuOCA4LjYgMzQgMTMuNSA1My4zIDEzLjVzMzcuNC00LjkgNTMuMy0xMy41bDU4IDU4em05MC43IC44YzMzLjgtNDMuNCA1NC05OCA1NC0xNTcuM3MtMjAuMi0xMTMuOS01NC0xNTcuM2M5LTEyLjUgNy45LTMwLjEtMy40LTQxLjNTNDI1LjggNDUgNDEzLjMgNTRDMzY5LjkgMjAuMiAzMTUuMyAwIDI1NiAwUzE0Mi4xIDIwLjIgOTguNyA1NGMtMTIuNS05LTMwLjEtNy45LTQxLjMgMy40UzQ1IDg2LjIgNTQgOTguN0MyMC4yIDE0Mi4xIDAgMTk2LjcgMCAyNTZzMjAuMiAxMTMuOSA1NCAxNTcuM2MtOSAxMi41LTcuOSAzMC4xIDMuNCA0MS4zUzg2LjIgNDY3IDk4LjcgNDU4YzQzLjQgMzMuOCA5OCA1NCAxNTcuMyA1NHMxMTMuOS0yMC4yIDE1Ny4zLTU0YzEyLjUgOSAzMC4xIDcuOSA0MS4zLTMuNHMxMi40LTI4LjggMy40LTQxLjN6bS00NS41LTQ2LjFsLTU4LTU4YzguNi0xNS44IDEzLjUtMzQgMTMuNS01My4zcy00LjktMzcuNC0xMy41LTUzLjNsNTgtNThDNDM0LjkgMTc2LjEgNDQ4IDIxNC41IDQ0OCAyNTZzLTEzLjEgNzkuOS0zNS41IDExMS4yek0zNjcuMiA5OS41bC01OCA1OGMtMTUuOC04LjYtMzQtMTMuNS01My4zLTEzLjVzLTM3LjQgNC45LTUzLjMgMTMuNWwtNTgtNThDMTc2LjEgNzcuMSAyMTQuNSA2NCAyNTYgNjRzNzkuOSAxMy4xIDExMS4yIDM1LjV6TTE1Ny41IDMwOS4zbC01OCA1OEM3Ny4xIDMzNS45IDY0IDI5Ny41IDY0IDI1NnMxMy4xLTc5LjkgMzUuNS0xMTEuMmw1OCA1OGMtOC42IDE1LjgtMTMuNSAzNC0xMy41IDUzLjNzNC45IDM3LjQgMTMuNSA1My4zek0yMDggMjU2YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6XCJdXG59O1xudmFyIGZhSGFuZHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZHMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInNpZ24tbGFuZ3VhZ2VcIiwgXCJzaWduaW5nXCJdLCBcImYyYTdcIiwgXCJNNTQ0IDE2MGwtLjEgNzIuNmMtLjEgNTIuMi0yNCAxMDEtNjQgMTMzLjFjLjEtMS45IC4xLTMuOCAuMS01Ljd2LThjMC03MS44LTM3LTEzOC42LTk3LjktMTc2LjdsLTYwLjItMzcuNmMtOC42LTUuNC0xNy45LTguNC0yNy4zLTkuNEwyNDguNyA0OC44Yy02LjYtMTEuNS0yLjctMjYuMiA4LjgtMzIuOHMyNi4yLTIuNyAzMi44IDguOGw3OCAxMzUuMWMzLjMgNS43IDEwLjcgNy43IDE2LjQgNC40czcuNy0xMC43IDQuNC0xNi40bC02Mi0xMDcuNGMtNi42LTExLjUtMi43LTI2LjIgOC44LTMyLjhTMzYyIDUgMzY4LjYgMTYuNWw2OCAxMTcuOCAwIDAgMCAwIDQzLjMgNzVMNDgwIDE2MGMwLTE3LjcgMTQuNC0zMiAzMi0zMnMzMiAxNC40IDMyIDMyek0yNDMuOSA4OC41TDI2OC41IDEzMWMtMTMuOSA0LjUtMjYuNCAxMy43LTM0LjcgMjdjLS45IDEuNC0xLjcgMi45LTIuNSA0LjRsLTI4LjktNTBjLTYuNi0xMS41LTIuNy0yNi4yIDguOC0zMi44czI2LjItMi43IDMyLjggOC44em0tNDYuNCA2My43bDI2LjggNDYuNGMuNiA2IDIuMSAxMS44IDQuMyAxNy40SDIyNCAyMTAuN2wwIDBIMTc5bC0yMy0zOS44Yy02LjYtMTEuNS0yLjctMjYuMiA4LjgtMzIuOHMyNi4yLTIuNyAzMi44IDguOHpNMjYwLjkgMTc1YzkuNC0xNSAyOS4xLTE5LjUgNDQuMS0xMC4ybDYwLjIgMzcuNkM0MTYuNyAyMzQuNyA0NDggMjkxLjIgNDQ4IDM1MnY4YzAgODMuOS02OC4xIDE1Mi0xNTIgMTUySDEyMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGg5MmM2LjYgMCAxMi01LjQgMTItMTJzLTUuNC0xMi0xMi0xMkg4OGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNEgyMTJjNi42IDAgMTItNS40IDEyLTEycy01LjQtMTItMTItMTJINTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRIMjEyYzYuNiAwIDEyLTUuNCAxMi0xMnMtNS40LTEyLTEyLTEySDg4Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0SDIyNGwwIDAgMCAwaDkzLjJMMjcxIDIxOS4xYy0xNS05LjQtMTkuNS0yOS4xLTEwLjItNDQuMXpcIl1cbn07XG52YXIgZmFTaWduTGFuZ3VhZ2UgPSBmYUhhbmRzO1xudmFyIGZhU2lnbmluZyA9IGZhSGFuZHM7XG52YXIgZmFDYWxlbmRhckRheSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYWxlbmRhci1kYXknLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImY3ODNcIiwgXCJNMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNjRIMjg4VjMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJWNjRoNDhjMjYuNSAwIDQ4IDIxLjUgNDggNDh2NDhIMFYxMTJDMCA4NS41IDIxLjUgNjQgNDggNjRIOTZWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTAgMTkySDQ0OFY0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjE5MnptODAgNjRjLTguOCAwLTE2IDcuMi0xNiAxNnY5NmMwIDguOCA3LjIgMTYgMTYgMTZoOTZjOC44IDAgMTYtNy4yIDE2LTE2VjI3MmMwLTguOC03LjItMTYtMTYtMTZIODB6XCJdXG59O1xudmFyIGZhV2F0ZXJMYWRkZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2F0ZXItbGFkZGVyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJsYWRkZXItd2F0ZXJcIiwgXCJzd2ltbWluZy1wb29sXCJdLCBcImY1YzVcIiwgXCJNMTI4IDEyNy43QzEyOCA3NC45IDE3MC45IDMyIDIyMy43IDMyYzQ4LjMgMCA4OSAzNiA5NSA4My45bDEgOC4yYzIuMiAxNy41LTEwLjIgMzMuNS0yNy44IDM1LjdzLTMzLjUtMTAuMi0zNS43LTI3LjhsLTEtOC4yYy0yLTE1LjktMTUuNS0yNy44LTMxLjUtMjcuOGMtMTcuNSAwLTMxLjcgMTQuMi0zMS43IDMxLjdWMjI0SDM4NFYxMjcuN0MzODQgNzQuOSA0MjYuOSAzMiA0NzkuNyAzMmM0OC4zIDAgODkgMzYgOTUgODMuOWwxIDguMmMyLjIgMTcuNS0xMC4yIDMzLjUtMjcuOCAzNS43cy0zMy41LTEwLjItMzUuNy0yNy44bC0xLTguMmMtMi0xNS45LTE1LjUtMjcuOC0zMS41LTI3LjhjLTE3LjUgMC0zMS43IDE0LjItMzEuNyAzMS43VjM2MWMtMS42IDEtMy4zIDItNC44IDMuMWMtMTggMTIuNC00MC4xIDIwLjMtNTkuMiAyMC4zaDBWMjg4SDE5MnY5Ni41Yy0xOSAwLTQxLjItNy45LTU5LjEtMjAuM2MtMS42LTEuMS0zLjItMi4yLTQuOS0zLjFWMTI3Ljd6TTMwNi41IDM4OS45QzMyOSA0MDUuNCAzNTYuNSA0MTYgMzg0IDQxNmMyNi45IDAgNTUuNC0xMC44IDc3LjQtMjYuMWwwIDBjMTEuOS04LjUgMjguMS03LjggMzkuMiAxLjdjMTQuNCAxMS45IDMyLjUgMjEgNTAuNiAyNS4yYzE3LjIgNCAyNy45IDIxLjIgMjMuOSAzOC40cy0yMS4yIDI3LjktMzguNCAyMy45Yy0yNC41LTUuNy00NC45LTE2LjUtNTguMi0yNUM0NDkuNSA0NjkuNyA0MTcgNDgwIDM4NCA0ODBjLTMxLjkgMC02MC42LTkuOS04MC40LTE4LjljLTUuOC0yLjctMTEuMS01LjMtMTUuNi03LjdjLTQuNSAyLjQtOS43IDUuMS0xNS42IDcuN2MtMTkuOCA5LTQ4LjUgMTguOS04MC40IDE4LjljLTMzIDAtNjUuNS0xMC4zLTk0LjUtMjUuOGMtMTMuNCA4LjQtMzMuNyAxOS4zLTU4LjIgMjVjLTE3LjIgNC0zNC40LTYuNy0zOC40LTIzLjlzNi43LTM0LjQgMjMuOS0zOC40YzE4LjEtNC4yIDM2LjItMTMuMyA1MC42LTI1LjJjMTEuMS05LjQgMjcuMy0xMC4xIDM5LjItMS43bDAgMEMxMzYuNyA0MDUuMiAxNjUuMSA0MTYgMTkyIDQxNmMyNy41IDAgNTUtMTAuNiA3Ny41LTI2LjFjMTEuMS03LjkgMjUuOS03LjkgMzcgMHpcIl1cbn07XG52YXIgZmFMYWRkZXJXYXRlciA9IGZhV2F0ZXJMYWRkZXI7XG52YXIgZmFTd2ltbWluZ1Bvb2wgPSBmYVdhdGVyTGFkZGVyO1xudmFyIGZhQXJyb3dzVXBEb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93cy11cC1kb3duJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJhcnJvd3MtdlwiXSwgXCJmMDdkXCIsIFwiTTE4Mi42IDkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDEyOCAxMDkuM1Y0MDIuN0w4Ni42IDM2MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w5NiA5NmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGw5Ni05NmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwxOTIgNDAyLjdWMTA5LjNsNDEuNCA0MS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTk2LTk2elwiXVxufTtcbnZhciBmYUFycm93c1YgPSBmYUFycm93c1VwRG93bjtcbnZhciBmYUZhY2VHcmltYWNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtZ3JpbWFjZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU1NiwgXCJncmltYWNlXCJdLCBcImY1N2ZcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6bTk2LTExMmgtOFYzNjBsNTUuMyAwYy0zLjggMjIuNy0yMy42IDQwLTQ3LjMgNDB6bTQ3LjMtNTZMMzQ0IDM0NFYzMDRoOGMyMy44IDAgNDMuNSAxNy4zIDQ3LjMgNDB6TTMyOCAzNDRIMjY0VjMwNGg2NHY0MHptMCA1NkgyNjRWMzYwaDY0djQwem0tODAtOTZ2NDBsLTY0IDBWMzA0aDY0em0wIDU2djQwSDE4NFYzNjBsNjQgMHptLTgwLTE2SDExMi43YzMuOC0yMi43IDIzLjYtNDAgNDcuMy00MGg4djQwem0wIDU2aC04Yy0yMy44IDAtNDMuNS0xNy4zLTQ3LjMtNDBIMTY4djQwek0xNDQuNCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFHcmltYWNlID0gZmFGYWNlR3JpbWFjZTtcbnZhciBmYVdoZWVsY2hhaXJNb3ZlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3doZWVsY2hhaXItbW92ZScsXG4gIGljb246IFs0NDgsIDUxMiwgW1wid2hlZWxjaGFpci1hbHRcIl0sIFwiZTJjZVwiLCBcIk0zMjAgNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNMjA0LjUgMTIxLjNjLTUuNC0yLjUtMTEuNy0xLjktMTYuNCAxLjdsLTQwLjkgMzAuN2MtMTQuMSAxMC42LTM0LjIgNy43LTQ0LjgtNi40cy03LjctMzQuMiA2LjQtNDQuOGw0MC45LTMwLjdjMjMuNy0xNy44IDU1LjMtMjEgODIuMS04LjRsOTAuNCA0Mi41YzI5LjEgMTMuNyAzNi44IDUxLjYgMTUuMiA3NS41TDI5OS4xIDIyNGg5Ny40YzMwLjMgMCA1MyAyNy43IDQ3LjEgNTcuNEw0MTUuNCA0MjIuM2MtMy41IDE3LjMtMjAuMyAyOC42LTM3LjcgMjUuMXMtMjguNi0yMC4zLTI1LjEtMzcuN0wzNzcgMjg4SDMwNi43YzguNiAxOS42IDEzLjMgNDEuMiAxMy4zIDY0YzAgODguNC03MS42IDE2MC0xNjAgMTYwUzAgNDQwLjQgMCAzNTJzNzEuNi0xNjAgMTYwLTE2MGMxMS4xIDAgMjIgMS4xIDMyLjQgMy4zbDU0LjItNTQuMi00Mi4xLTE5Ljh6TTE2MCA0NDhhOTYgOTYgMCAxIDAgMC0xOTIgOTYgOTYgMCAxIDAgMCAxOTJ6XCJdXG59O1xudmFyIGZhV2hlZWxjaGFpckFsdCA9IGZhV2hlZWxjaGFpck1vdmU7XG52YXIgZmFUdXJuRG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0dXJuLWRvd24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMDU0OSwgXCJsZXZlbC1kb3duLWFsdFwiXSwgXCJmM2JlXCIsIFwiTTM1MCAzMzQuNWMzLjggOC44IDIgMTktNC42IDI2bC0xMzYgMTQ0Yy00LjUgNC44LTEwLjggNy41LTE3LjQgNy41cy0xMi45LTIuNy0xNy40LTcuNWwtMTM2LTE0NGMtNi42LTctOC40LTE3LjItNC42LTI2czEyLjUtMTQuNSAyMi0xNC41aDg4bDAtMTkyYzAtMTcuNy0xNC4zLTMyLTMyLTMySDMyQzE0LjMgOTYgMCA4MS43IDAgNjRWMzJDMCAxNC4zIDE0LjMgMCAzMiAwbDgwIDBjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhsMCAxOTJoODhjOS42IDAgMTguMiA1LjcgMjIgMTQuNXpcIl1cbn07XG52YXIgZmFMZXZlbERvd25BbHQgPSBmYVR1cm5Eb3duO1xudmFyIGZhUGVyc29uV2Fsa2luZ0Fycm93UmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLXdhbGtpbmctYXJyb3ctcmlnaHQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NTJcIiwgXCJNMjA4IDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNMTIzLjcgMjAwLjVjMS0uNCAxLjktLjggMi45LTEuMmwtMTYuOSA2My41Yy01LjYgMjEuMS0uMSA0My42IDE0LjcgNTkuN2w3MC43IDc3LjEgMjIgODguMWM0LjMgMTcuMSAyMS43IDI3LjYgMzguOCAyMy4zczI3LjYtMjEuNyAyMy4zLTM4LjhsLTIzLTkyLjFjLTEuOS03LjgtNS44LTE0LjktMTEuMi0yMC44bC00OS41LTU0IDE5LjMtNjUuNSA5LjYgMjNjNC40IDEwLjYgMTIuNSAxOS4zIDIyLjggMjQuNWwyNi43IDEzLjNjMTUuOCA3LjkgMzUgMS41IDQyLjktMTQuM3MxLjUtMzUtMTQuMy00Mi45TDI4MSAyMzIuN2wtMTUuMy0zNi44QzI0OC41IDE1NC44IDIwOC4zIDEyOCAxNjMuNyAxMjhjLTIyLjggMC00NS4zIDQuOC02Ni4xIDE0bC04IDMuNWMtMzIuOSAxNC42LTU4LjEgNDIuNC02OS40IDc2LjVsLTIuNiA3LjhjLTUuNiAxNi44IDMuNSAzNC45IDIwLjIgNDAuNXMzNC45LTMuNSA0MC41LTIwLjJsMi42LTcuOGM1LjctMTcuMSAxOC4zLTMwLjkgMzQuNy0zOC4ybDgtMy41em0tMzAgMTM1LjFMNjguNyAzOTggOS40IDQ1Ny40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDExNi4zIDQ0MWM0LjYtNC42IDguMi0xMC4xIDEwLjYtMTYuMWwxNC41LTM2LjItNDAuNy00NC40Yy0yLjUtMi43LTQuOC01LjYtNy04LjZ6TTU1MC42IDE1My40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0w1MzAuNyAyMjRIMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDUzMC43bC0yNS40IDI1LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsODAtODBjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTgwLTgwelwiXVxufTtcbnZhciBmYVNxdWFyZUVudmVsb3BlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1lbnZlbG9wZScsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiZW52ZWxvcGUtc3F1YXJlXCJdLCBcImYxOTlcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzg0YzM1LjMgMCA2NC0yOC43IDY0LTY0Vjk2YzAtMzUuMy0yOC43LTY0LTY0LTY0SDY0ek0yMTggMjcxLjdMNjQuMiAxNzIuNEM2NiAxNTYuNCA3OS41IDE0NCA5NiAxNDRIMzUyYzE2LjUgMCAzMCAxMi40IDMxLjggMjguNEwyMzAgMjcxLjdjLTEuOCAxLjItMy45IDEuOC02IDEuOHMtNC4yLS42LTYtMS44em0yOS40IDI2LjlMMzg0IDIxMC40VjMzNmMwIDE3LjctMTQuMyAzMi0zMiAzMkg5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMjEwLjRsMTM2LjYgODguMmM3IDQuNSAxNS4xIDYuOSAyMy40IDYuOXMxNi40LTIuNCAyMy40LTYuOXpcIl1cbn07XG52YXIgZmFFbnZlbG9wZVNxdWFyZSA9IGZhU3F1YXJlRW52ZWxvcGU7XG52YXIgZmFEaWNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpY2UnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjc5MjJdLCBcImY1MjJcIiwgXCJNMjc0LjkgMzQuM2MtMjguMS0yOC4xLTczLjctMjguMS0xMDEuOCAwTDM0LjMgMTczLjFjLTI4LjEgMjguMS0yOC4xIDczLjcgMCAxMDEuOEwxNzMuMSA0MTMuN2MyOC4xIDI4LjEgNzMuNyAyOC4xIDEwMS44IDBMNDEzLjcgMjc0LjljMjguMS0yOC4xIDI4LjEtNzMuNyAwLTEwMS44TDI3NC45IDM0LjN6TTIwMCAyMjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpNOTYgMjAwYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNMjI0IDM3NmEyNCAyNCAwIDEgMSAwLTQ4IDI0IDI0IDAgMSAxIDAgNDh6TTM1MiAyMDBhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4ek0yMjQgMTIwYTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHptOTYgMzI4YzAgMzUuMyAyOC43IDY0IDY0IDY0SDU3NmMzNS4zIDAgNjQtMjguNyA2NC02NFYyNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINDYxLjdjMTEuNiAzNiAzLjEgNzctMjUuNCAxMDUuNUwzMjAgNDEzLjhWNDQ4ek00ODAgMzI4YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpcIl1cbn07XG52YXIgZmFCb3dsaW5nQmFsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3dsaW5nLWJhbGwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY0MzZcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTI0MCA4MGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTIwOCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptLTY0LTY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG52YXIgZmFCcmFpbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdicmFpbicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyOTUwNF0sIFwiZjVkY1wiLCBcIk0xODQgMGMzMC45IDAgNTYgMjUuMSA1NiA1NlY0NTZjMCAzMC45LTI1LjEgNTYtNTYgNTZjLTI4LjkgMC01Mi43LTIxLjktNTUuNy01MC4xYy01LjIgMS40LTEwLjcgMi4xLTE2LjMgMi4xYy0zNS4zIDAtNjQtMjguNy02NC02NGMwLTcuNCAxLjMtMTQuNiAzLjYtMjEuMkMyMS40IDM2Ny40IDAgMzM4LjIgMCAzMDRjMC0zMS45IDE4LjctNTkuNSA0NS44LTcyLjNDMzcuMSAyMjAuOCAzMiAyMDcgMzIgMTkyYzAtMzAuNyAyMS42LTU2LjMgNTAuNC02Mi42QzgwLjggMTIzLjkgODAgMTE4IDgwIDExMmMwLTI5LjkgMjAuNi01NS4xIDQ4LjMtNjIuMUMxMzEuMyAyMS45IDE1NS4xIDAgMTg0IDB6TTMyOCAwYzI4LjkgMCA1Mi42IDIxLjkgNTUuNyA0OS45YzI3LjggNyA0OC4zIDMyLjEgNDguMyA2Mi4xYzAgNi0uOCAxMS45LTIuNCAxNy40YzI4LjggNi4yIDUwLjQgMzEuOSA1MC40IDYyLjZjMCAxNS01LjEgMjguOC0xMy44IDM5LjdDNDkzLjMgMjQ0LjUgNTEyIDI3Mi4xIDUxMiAzMDRjMCAzNC4yLTIxLjQgNjMuNC01MS42IDc0LjhjMi4zIDYuNiAzLjYgMTMuOCAzLjYgMjEuMmMwIDM1LjMtMjguNyA2NC02NCA2NGMtNS42IDAtMTEuMS0uNy0xNi4zLTIuMWMtMyAyOC4yLTI2LjggNTAuMS01NS43IDUwLjFjLTMwLjkgMC01Ni0yNS4xLTU2LTU2VjU2YzAtMzAuOSAyNS4xLTU2IDU2LTU2elwiXVxufTtcbnZhciBmYUJhbmRhZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFuZGFnZScsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyOTY1NywgXCJiYW5kLWFpZFwiXSwgXCJmNDYyXCIsIFwiTTQ4MCA0MTZoOTZjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTYwYzAtMzUuMy0yOC43LTY0LTY0LTY0SDQ4MFY0MTZ6TTQ0OCA5NkgxOTJWNDE2SDQ0OFY5NnpNNjQgOTZDMjguNyA5NiAwIDEyNC43IDAgMTYwVjM1MmMwIDM1LjMgMjguNyA2NCA2NCA2NGg5NlY5Nkg2NHpNMjQ4IDIwOGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem0xMjAtMjRhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4ek0yNDggMzA0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTEyMC0yNGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6XCJdXG59O1xudmFyIGZhQmFuZEFpZCA9IGZhQmFuZGFnZTtcbnZhciBmYUNhbGVuZGFyTWludXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FsZW5kYXItbWludXMnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYyNzJcIiwgXCJNMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNjRIMjg4VjMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJWNjRoNDhjMjYuNSAwIDQ4IDIxLjUgNDggNDh2NDhIMFYxMTJDMCA4NS41IDIxLjUgNjQgNDggNjRIOTZWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTAgMTkySDQ0OFY0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjE5MnpNMzEyIDM3NmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEgxMzZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRIMzEyelwiXVxufTtcbnZhciBmYUNpcmNsZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS14bWFyaycsXG4gIGljb246IFs1MTIsIDUxMiwgWzYxNTMyLCBcInRpbWVzLWNpcmNsZVwiLCBcInhtYXJrLWNpcmNsZVwiXSwgXCJmMDU3XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xNzUgMTc1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDQ3IDQ3IDQ3LTQ3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNDcgNDcgNDcgNDdjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDctNDctNDcgNDdjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNDctNDctNDctNDdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45elwiXVxufTtcbnZhciBmYVRpbWVzQ2lyY2xlID0gZmFDaXJjbGVYbWFyaztcbnZhciBmYVhtYXJrQ2lyY2xlID0gZmFDaXJjbGVYbWFyaztcbnZhciBmYUdpZnRzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dpZnRzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNzljXCIsIFwiTTIwMC42IDMyQzIwNSAxOS41IDE5OC41IDUuOCAxODYgMS40UzE1OS44IDMuNSAxNTUuNCAxNkwxNDQuNyA0Ni4ybC05LjktMjkuOEMxMzAuNiAzLjggMTE3LTMgMTA0LjQgMS4yUzg1IDE5IDg5LjIgMzEuNmw4LjMgMjUtMjcuNC0yMGMtMTAuNy03LjgtMjUuNy01LjQtMzMuNSA1LjNzLTUuNCAyNS43IDUuMyAzMy41TDcwLjIgOTZINDhDMjEuNSA5NiAwIDExNy41IDAgMTQ0VjQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OEgyMDAuNmMtNS40LTkuNC04LjYtMjAuMy04LjYtMzJWMjU2YzAtMjkuOSAyMC41LTU1IDQ4LjItNjJjMS44LTMxIDE3LjEtNTguMiA0MC4xLTc2LjFDMjcxLjcgMTA0LjcgMjU2LjkgOTYgMjQwIDk2SDIxNy44bDI4LjMtMjAuNmMxMC43LTcuOCAxMy4xLTIyLjggNS4zLTMzLjVzLTIyLjgtMTMuMS0zMy41LTUuM0wxOTIuNSA1NS4xIDIwMC42IDMyek0zNjMuNSAxODUuNUwzOTMuMSAyMjRIMzQ0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNGMwLTEzLjEgMTAuOC0yNCAyNC4yLTI0YzcuNiAwIDE0LjcgMy41IDE5LjMgOS41ek0yNzIgMjAwYzAgOC40IDEuNCAxNi41IDQuMSAyNEgyNzJjLTI2LjUgMC00OCAyMS41LTQ4IDQ4djgwSDQxNlYyNTZoMzJ2OTZINjQwVjI3MmMwLTI2LjUtMjEuNS00OC00OC00OGgtNC4xYzIuNy03LjUgNC4xLTE1LjYgNC4xLTI0YzAtMzkuOS0zMi41LTcyLTcyLjItNzJjLTIyLjQgMC00My42IDEwLjQtNTcuMyAyOC4yTDQzMiAxOTUuOGwtMzAuNS0zOS42Yy0xMy43LTE3LjgtMzUtMjguMi01Ny4zLTI4LjJjLTM5LjcgMC03Mi4yIDMyLjEtNzIuMiA3MnpNMjI0IDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OEg0MTZWMzg0SDIyNHY4MHptMjI0IDQ4SDU5MmMyNi41IDAgNDgtMjEuNSA0OC00OFYzODRINDQ4VjUxMnptOTYtMzEyYzAgMTMuMy0xMC43IDI0LTI0IDI0SDQ3MC45bDI5LjYtMzguNWM0LjYtNS45IDExLjctOS41IDE5LjMtOS41YzEzLjQgMCAyNC4yIDEwLjkgMjQuMiAyNHpcIl1cbn07XG52YXIgZmFIb3RlbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3RlbCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzk3Nl0sIFwiZjU5NFwiLCBcIk0wIDMyQzAgMTQuMyAxNC4zIDAgMzIgMEg0ODBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJWNDQ4YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMwNFY0NjRjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDh2NDhIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJWNjRDMTQuMyA2NCAwIDQ5LjcgMCAzMnptOTYgODB2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYxMTJjMC04LjgtNy4yLTE2LTE2LTE2SDExMmMtOC44IDAtMTYgNy4yLTE2IDE2ek0yNDAgOTZjLTguOCAwLTE2IDcuMi0xNiAxNnYzMmMwIDguOCA3LjIgMTYgMTYgMTZoMzJjOC44IDAgMTYtNy4yIDE2LTE2VjExMmMwLTguOC03LjItMTYtMTYtMTZIMjQwem0xMTIgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYxMTJjMC04LjgtNy4yLTE2LTE2LTE2SDM2OGMtOC44IDAtMTYgNy4yLTE2IDE2ek0xMTIgMTkyYy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYyMDhjMC04LjgtNy4yLTE2LTE2LTE2SDExMnptMTEyIDE2djMyYzAgOC44IDcuMiAxNiAxNiAxNmgzMmM4LjggMCAxNi03LjIgMTYtMTZWMjA4YzAtOC44LTcuMi0xNi0xNi0xNkgyNDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTQ0LTE2Yy04LjggMC0xNiA3LjItMTYgMTZ2MzJjMCA4LjggNy4yIDE2IDE2IDE2aDMyYzguOCAwIDE2LTcuMiAxNi0xNlYyMDhjMC04LjgtNy4yLTE2LTE2LTE2SDM2OHpNMzI4IDM4NGMxMy4zIDAgMjQuMy0xMC45IDIxLTIzLjhjLTEwLjYtNDEuNS00OC4yLTcyLjItOTMtNzIuMnMtODIuNSAzMC43LTkzIDcyLjJjLTMuMyAxMi44IDcuOCAyMy44IDIxIDIzLjhIMzI4elwiXVxufTtcbnZhciBmYUVhcnRoQXNpYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdlYXJ0aC1hc2lhJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3NzU5LCBcImdsb2JlLWFzaWFcIl0sIFwiZjU3ZVwiLCBcIk01MS43IDI5NS4xbDMxLjcgNi4zYzcuOSAxLjYgMTYtLjkgMjEuNy02LjZsMTUuNC0xNS40YzExLjYtMTEuNiAzMS4xLTguNCAzOC40IDYuMmw5LjMgMTguNWM0LjggOS42IDE0LjYgMTUuNyAyNS40IDE1LjdjMTUuMiAwIDI2LjEtMTQuNiAyMS43LTI5LjJsLTYtMTkuOWMtNC42LTE1LjQgNi45LTMwLjkgMjMtMzAuOWgyLjNjMTMuNCAwIDI1LjktNi43IDMzLjMtMTcuOGwxMC43LTE2LjFjNS42LTguNSA1LjMtMTkuNi0uOC0yNy43bC0xNi4xLTIxLjVjLTEwLjMtMTMuNy0zLjMtMzMuNSAxMy40LTM3LjdsMTctNC4zYzcuNS0xLjkgMTMuNi03LjIgMTYuNS0xNC40bDE2LjQtNDAuOUMzMDMuNCA1Mi4xIDI4MC4yIDQ4IDI1NiA0OEMxNDEuMSA0OCA0OCAxNDEuMSA0OCAyNTZjMCAxMy40IDEuMyAyNi41IDMuNyAzOS4xem00MDcuNyA0LjZjLTMtLjMtNi0uMS05IC44bC0xNS44IDQuNGMtNi43IDEuOS0xMy44LS45LTE3LjUtNi43bC0yLTMuMWMtNi05LjQtMTYuNC0xNS4xLTI3LjYtMTUuMXMtMjEuNiA1LjctMjcuNiAxNS4xbC02LjEgOS41Yy0xLjQgMi4yLTMuNCA0LjEtNS43IDUuM0wzMTIgMzMwLjFjLTE4LjEgMTAuMS0yNS41IDMyLjQtMTcgNTEuM2w1LjUgMTIuNGM4LjYgMTkuMiAzMC43IDI4LjUgNTAuNSAyMS4xbDIuNi0xYzEwLTMuNyAyMS4zLTIuMiAyOS45IDQuMWwxLjUgMS4xYzM3LjItMjkuNSA2NC4xLTcxLjQgNzQuNC0xMTkuNXpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2em0xNDQuNSA5Mi4xYy0yLjEgOC42IDMuMSAxNy4zIDExLjYgMTkuNGwzMiA4YzguNiAyLjEgMTcuMy0zLjEgMTkuNC0xMS42cy0zLjEtMTcuMy0xMS42LTE5LjRsLTMyLThjLTguNi0yLjEtMTcuMyAzLjEtMTkuNCAxMS42em05Mi0yMGMtMi4xIDguNiAzLjEgMTcuMyAxMS42IDE5LjRzMTcuMy0zLjEgMTkuNC0xMS42bDgtMzJjMi4xLTguNi0zLjEtMTcuMy0xMS42LTE5LjRzLTE3LjMgMy4xLTE5LjQgMTEuNmwtOCAzMnpNMzQzLjIgMTEzLjdjLTcuOS00LTE3LjUtLjctMjEuNSA3LjJsLTE2IDMyYy00IDcuOS0uNyAxNy41IDcuMiAyMS41czE3LjUgLjcgMjEuNS03LjJsMTYtMzJjNC03LjkgLjctMTcuNS03LjItMjEuNXpcIl1cbn07XG52YXIgZmFHbG9iZUFzaWEgPSBmYUVhcnRoQXNpYTtcbnZhciBmYUlkQ2FyZENsaXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaWQtY2FyZC1jbGlwJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJpZC1jYXJkLWFsdFwiXSwgXCJmNDdmXCIsIFwiTTI1NiAwaDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMyVjk2YzAgMTcuNy0xNC4zIDMyLTMyIDMySDI1NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTY0IDY0SDE5MnY0OGMwIDI2LjUgMjEuNSA0OCA0OCA0OGg5NmMyNi41IDAgNDgtMjEuNSA0OC00OFY2NEg1MTJjMzUuMyAwIDY0IDI4LjcgNjQgNjRWNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFYxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjR6TTE3NiA0MzcuM2MwIDUuOSA0LjggMTAuNyAxMC43IDEwLjdIMzg5LjNjNS45IDAgMTAuNy00LjggMTAuNy0xMC43YzAtMjkuNS0yMy45LTUzLjMtNTMuMy01My4zSDIyOS4zYy0yOS41IDAtNTMuMyAyMy45LTUzLjMgNTMuM3pNMjg4IDM1MmE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHpcIl1cbn07XG52YXIgZmFJZENhcmRBbHQgPSBmYUlkQ2FyZENsaXA7XG52YXIgZmFNYWduaWZ5aW5nR2xhc3NQbHVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hZ25pZnlpbmctZ2xhc3MtcGx1cycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wic2VhcmNoLXBsdXNcIl0sIFwiZjAwZVwiLCBcIk00MTYgMjA4YzAgNDUuOS0xNC45IDg4LjMtNDAgMTIyLjdMNTAyLjYgNDU3LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMzMwLjcgMzc2Yy0zNC40IDI1LjItNzYuOCA0MC0xMjIuNyA0MEM5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMFM0MTYgOTMuMSA0MTYgMjA4ek0xODQgMjk2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRWMjMyaDY0YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0SDIzMlYxMjBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR2NjRIMTIwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0aDY0djY0elwiXVxufTtcbnZhciBmYVNlYXJjaFBsdXMgPSBmYU1hZ25pZnlpbmdHbGFzc1BsdXM7XG52YXIgZmFUaHVtYnNVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0aHVtYnMtdXAnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgwNzcsIDYxNTc1XSwgXCJmMTY0XCIsIFwiTTMxMy40IDMyLjljMjYgNS4yIDQyLjkgMzAuNSAzNy43IDU2LjVsLTIuMyAxMS40Yy01LjMgMjYuNy0xNS4xIDUyLjEtMjguOCA3NS4ySDQ2NGMyNi41IDAgNDggMjEuNSA0OCA0OGMwIDE4LjUtMTAuNSAzNC42LTI1LjkgNDIuNkM0OTcgMjc1LjQgNTA0IDI4OC45IDUwNCAzMDRjMCAyMy40LTE2LjggNDIuOS0zOC45IDQ3LjFjNC40IDcuMyA2LjkgMTUuOCA2LjkgMjQuOWMwIDIxLjMtMTMuOSAzOS40LTMzLjEgNDUuNmMuNyAzLjMgMS4xIDYuOCAxLjEgMTAuNGMwIDI2LjUtMjEuNSA0OC00OCA0OEgyOTQuNWMtMTkgMC0zNy41LTUuNi01My4zLTE2LjFsLTM4LjUtMjUuN0MxNzYgNDIwLjQgMTYwIDM5MC40IDE2MCAzNTguM1YzMjAgMjcyIDI0Ny4xYzAtMjkuMiAxMy4zLTU2LjcgMzYtNzVsNy40LTUuOWMyNi41LTIxLjIgNDQuNi01MSA1MS4yLTg0LjJsMi4zLTExLjRjNS4yLTI2IDMwLjUtNDIuOSA1Ni41LTM3Ljd6TTMyIDE5Mkg5NmMxNy43IDAgMzIgMTQuMyAzMiAzMlY0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjIyNGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpcIl1cbn07XG52YXIgZmFVc2VyQ2xvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1jbG9jaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjRmZFwiLCBcIk0yMjQgMGExMjggMTI4IDAgMSAxIDAgMjU2QTEyOCAxMjggMCAxIDEgMjI0IDB6TTE3OC4zIDMwNGg5MS40YzIwLjYgMCA0MC40IDMuNSA1OC44IDkuOUMzMjMgMzMxIDMyMCAzNDkuMSAzMjAgMzY4YzAgNTkuNSAyOS41IDExMi4xIDc0LjggMTQ0SDI5LjdDMTMuMyA1MTIgMCA0OTguNyAwIDQ4Mi4zQzAgMzgzLjggNzkuOCAzMDQgMTc4LjMgMzA0ek0zNTIgMzY4YTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTE0NC04MGMtOC44IDAtMTYgNy4yLTE2IDE2djY0YzAgOC44IDcuMiAxNiAxNiAxNmg0OGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkg1MTJWMzA0YzAtOC44LTcuMi0xNi0xNi0xNnpcIl1cbn07XG52YXIgZmFIYW5kRG90cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLWRvdHMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImFsbGVyZ2llc1wiXSwgXCJmNDYxXCIsIFwiTTI4OCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlYyNDBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJWMzM2YzAgMS41IDAgMy4xIC4xIDQuNkw2Ny42IDI4M2MtMTYtMTUuMi00MS4zLTE0LjYtNTYuNiAxLjRzLTE0LjYgNDEuMyAxLjQgNTYuNkwxMjQuOCA0NDhjNDMuMSA0MS4xIDEwMC40IDY0IDE2MCA2NEgzMDRjOTcuMiAwIDE3Ni03OC44IDE3Ni0xNzZWMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjI0MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNlY2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMlYyNDBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWMzJ6TTI0MCAzMzZhMTYgMTYgMCAxIDEgMzIgMCAxNiAxNiAwIDEgMSAtMzIgMHptODAgMTZhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyem00OC0xNmExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwem0tMTYgODBhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyek0yNDAgNDMyYTE2IDE2IDAgMSAxIDMyIDAgMTYgMTYgMCAxIDEgLTMyIDB6bS00OC00OGExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6XCJdXG59O1xudmFyIGZhQWxsZXJnaWVzID0gZmFIYW5kRG90cztcbnZhciBmYUZpbGVJbnZvaWNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtaW52b2ljZScsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjU3MFwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NFY0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMzIwYzM1LjMgMCA2NC0yOC43IDY0LTY0VjE2MEgyNTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjBINjR6TTI1NiAwVjEyOEgzODRMMjU2IDB6TTgwIDY0aDY0YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0wIDY0aDY0YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDgwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0xNiA5NkgyODhjMTcuNyAwIDMyIDE0LjMgMzIgMzJ2NjRjMCAxNy43LTE0LjMgMzItMzIgMzJIOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjI1NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMCAzMnY2NEgyODhWMjU2SDk2ek0yNDAgNDE2aDY0YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDI0MGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG52YXIgZmFXaW5kb3dNaW5pbWl6ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3aW5kb3ctbWluaW1pemUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg0NjldLCBcImYyZDFcIiwgXCJNMzIgNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMySDQ4MGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMnpcIl1cbn07XG52YXIgZmFNdWdTYXVjZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbXVnLXNhdWNlcicsXG4gIGljb246IFs2NDAsIDUxMiwgW1wiY29mZmVlXCJdLCBcImYwZjRcIiwgXCJNOTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJINDQ4aDY0YzcwLjcgMCAxMjggNTcuMyAxMjggMTI4cy01Ny4zIDEyOC0xMjggMTI4SDQ4MGMwIDUzLTQzIDk2LTk2IDk2SDE5MmMtNTMgMC05Ni00My05Ni05NlY2NHpNNDgwIDIyNGgzMmMzNS4zIDAgNjQtMjguNyA2NC02NHMtMjguNy02NC02NC02NEg0ODBWMjI0ek0zMiA0MTZINTQ0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMySDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyelwiXVxufTtcbnZhciBmYUNvZmZlZSA9IGZhTXVnU2F1Y2VyO1xudmFyIGZhQnJ1c2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnJ1c2gnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImY1NWRcIiwgXCJNMTYyLjQgNmMtMS41LTMuNi01LTYtOC45LTZoLTE5Yy0zLjkgMC03LjUgMi40LTguOSA2TDEwNC45IDU3LjdjLTMuMiA4LTE0LjYgOC0xNy44IDBMNjYuNCA2Yy0xLjUtMy42LTUtNi04LjktNkg0OEMyMS41IDAgMCAyMS41IDAgNDhWMjI0djIyLjRWMjU2SDkuNiAzNzQuNCAzODR2LTkuNlYyMjQgNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhIMjMwLjVjLTMuOSAwLTcuNSAyLjQtOC45IDZMMjAwLjkgNTcuN2MtMy4yIDgtMTQuNiA4LTE3LjggMEwxNjIuNCA2ek0wIDI4OHYzMmMwIDM1LjMgMjguNyA2NCA2NCA2NGg2NHY2NGMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0VjM4NGg2NGMzNS4zIDAgNjQtMjguNyA2NC02NFYyODhIMHpNMTkyIDQzMmExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6XCJdXG59O1xudmFyIGZhTWFzayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXNrJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNmZhXCIsIFwiTTI4OCA2NEM2NCA2NCAwIDE2MCAwIDI3MlM4MCA0NDggMTc2IDQ0OGg4LjRjMjQuMiAwIDQ2LjQtMTMuNyA1Ny4yLTM1LjRsMjMuMi00Ni4zYzQuNC04LjggMTMuMy0xNC4zIDIzLjItMTQuM3MxOC44IDUuNSAyMy4yIDE0LjNsMjMuMiA0Ni4zYzEwLjggMjEuNyAzMyAzNS40IDU3LjIgMzUuNEg0MDBjOTYgMCAxNzYtNjQgMTc2LTE3NnMtNjQtMjA4LTI4OC0yMDh6TTk2IDI1NmE2NCA2NCAwIDEgMSAxMjggMEE2NCA2NCAwIDEgMSA5NiAyNTZ6bTMyMC02NGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpcIl1cbn07XG52YXIgZmFNYWduaWZ5aW5nR2xhc3NNaW51cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYWduaWZ5aW5nLWdsYXNzLW1pbnVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJzZWFyY2gtbWludXNcIl0sIFwiZjAxMFwiLCBcIk00MTYgMjA4YzAgNDUuOS0xNC45IDg4LjMtNDAgMTIyLjdMNTAyLjYgNDU3LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMzMwLjcgMzc2Yy0zNC40IDI1LjItNzYuOCA0MC0xMjIuNyA0MEM5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMFM0MTYgOTMuMSA0MTYgMjA4ek0xMzYgMTg0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0SDI4MGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEgxMzZ6XCJdXG59O1xudmFyIGZhU2VhcmNoTWludXMgPSBmYU1hZ25pZnlpbmdHbGFzc01pbnVzO1xudmFyIGZhUnVsZXJWZXJ0aWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdydWxlci12ZXJ0aWNhbCcsXG4gIGljb246IFsyNTYsIDUxMiwgW10sIFwiZjU0OFwiLCBcIk0wIDQ4QzAgMjEuNSAyMS41IDAgNDggMEgyMDhjMjYuNSAwIDQ4IDIxLjUgNDggNDhWOTZIMTc2Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2aDgwdjY0SDE3NmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmg4MHY2NEgxNzZjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZoODB2NjRIMTc2Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2aDgwdjQ4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFY0OHpcIl1cbn07XG52YXIgZmFVc2VyTGFyZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1sYXJnZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1widXNlci1hbHRcIl0sIFwiZjQwNlwiLCBcIk0yNTYgMjg4QTE0NCAxNDQgMCAxIDAgMjU2IDBhMTQ0IDE0NCAwIDEgMCAwIDI4OHptLTk0LjcgMzJDNzIuMiAzMjAgMCAzOTIuMiAwIDQ4MS4zYzAgMTcgMTMuOCAzMC43IDMwLjcgMzAuN0g0ODEuM2MxNyAwIDMwLjctMTMuOCAzMC43LTMwLjdDNTEyIDM5Mi4yIDQzOS44IDMyMCAzNTAuNyAzMjBIMTYxLjN6XCJdXG59O1xudmFyIGZhVXNlckFsdCA9IGZhVXNlckxhcmdlO1xudmFyIGZhVHJhaW5UcmFtID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyYWluLXRyYW0nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjg2NTBdLCBcImU1YjRcIiwgXCJNODYuOCA0OGMtMTIuMiAwLTIzLjYgNS41LTMxLjIgMTVMNDIuNyA3OUMzNC41IDg5LjMgMTkuNCA5MSA5IDgyLjdTLTMgNTkuNCA1LjMgNDlMMTggMzNDMzQuNyAxMi4yIDYwIDAgODYuOCAwSDM2MS4yYzI2LjcgMCA1MiAxMi4yIDY4LjcgMzNsMTIuOCAxNmM4LjMgMTAuNCA2LjYgMjUuNS0zLjggMzMuN3MtMjUuNSA2LjYtMzMuNy0zLjdMMzkyLjUgNjNjLTcuNi05LjUtMTkuMS0xNS0zMS4yLTE1SDI0OFY5Nmg0MGM1MyAwIDk2IDQzIDk2IDk2VjM1MmMwIDMwLjYtMTQuMyA1Ny44LTM2LjYgNzUuNGw2NS41IDY1LjVjNy4xIDcuMSAyLjEgMTkuMS03LjkgMTkuMUgzNjUuM2MtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRMMjg4IDQ0OEgxNjBsLTU0LjYgNTQuNmMtNiA2LTE0LjEgOS40LTIyLjYgOS40SDQzYy0xMCAwLTE1LTEyLjEtNy45LTE5LjFsNjUuNS02NS41Qzc4LjMgNDA5LjggNjQgMzgyLjYgNjQgMzUyVjE5MmMwLTUzIDQzLTk2IDk2LTk2aDQwVjQ4SDg2Ljh6TTE2MCAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjMyYzAgMTcuNyAxNC4zIDMyIDMyIDMySDI4OGMxNy43IDAgMzItMTQuMyAzMi0zMlYxOTJjMC0xNy43LTE0LjMtMzItMzItMzJIMTYwem0zMiAxOTJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptOTYgMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbnZhciBmYVVzZXJOdXJzZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLW51cnNlJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmODJmXCIsIFwiTTk2IDEyOFY3MC4yYzAtMTMuMyA4LjMtMjUuMyAyMC44LTMwbDk2LTM2YzcuMi0yLjcgMTUuMi0yLjcgMjIuNSAwbDk2IDM2YzEyLjUgNC43IDIwLjggMTYuNiAyMC44IDMwVjEyOGgtLjNjLjIgMi42IC4zIDUuMyAuMyA4djQwYzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4cy0xMjgtNTcuMy0xMjgtMTI4VjEzNmMwLTIuNyAuMS01LjQgLjMtOEg5NnptNDggNDhjMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MFYxNjBIMTQ0djE2ek0xMTEuOSAzMjcuN2MxMC41LTMuNCAyMS44IC40IDI5LjQgOC41bDcxIDc1LjVjNi4zIDYuNyAxNyA2LjcgMjMuMyAwbDcxLTc1LjVjNy42LTguMSAxOC45LTExLjkgMjkuNC04LjVDNDAxIDM0OC42IDQ0OCA0MDkuNCA0NDggNDgxLjNjMCAxNy0xMy44IDMwLjctMzAuNyAzMC43SDMwLjdDMTMuOCA1MTIgMCA0OTguMiAwIDQ4MS4zYzAtNzEuOSA0Ny0xMzIuNyAxMTEuOS0xNTMuNnpNMjA4IDQ4VjY0SDE5MmMtNC40IDAtOCAzLjYtOCA4Vjg4YzAgNC40IDMuNiA4IDggOGgxNnYxNmMwIDQuNCAzLjYgOCA4IDhoMTZjNC40IDAgOC0zLjYgOC04Vjk2aDE2YzQuNCAwIDgtMy42IDgtOFY3MmMwLTQuNC0zLjYtOC04LThIMjQwVjQ4YzAtNC40LTMuNi04LTgtOEgyMTZjLTQuNCAwLTggMy42LTggOHpcIl1cbn07XG52YXIgZmFTeXJpbmdlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N5cmluZ2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgxMzddLCBcImY0OGVcIiwgXCJNNDQxIDdsMzIgMzIgMzIgMzJjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtMTUtMTVMNDE3LjkgMTI4bDU1IDU1YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTcyLTcyTDI5NSA3M2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDU1IDU1TDQyMi4xIDU2IDQwNyA0MWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwek0yMTAuMyAxNTUuN2w2MS4xLTYxLjFjLjMgLjMgLjYgLjcgMSAxbDE2IDE2IDU2IDU2IDU2IDU2IDE2IDE2Yy4zIC4zIC42IC42IDEgMWwtMTkxIDE5MWMtMTAuNSAxMC41LTI0LjcgMTYuNC0zOS42IDE2LjRIOTcuOUw0MSA1MDVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNTctNTdWMzI1LjNjMC0xNC45IDUuOS0yOS4xIDE2LjQtMzkuNmw0My4zLTQzLjMgNTcgNTdjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42bC01Ny01NyA0MS40LTQxLjQgNTcgNTdjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42bC01Ny01N3pcIl1cbn07XG52YXIgZmFDbG91ZFN1biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbG91ZC1zdW4nLFxuICBpY29uOiBbNjQwLCA1MTIsIFs5OTI1XSwgXCJmNmM0XCIsIFwiTTI5NC4yIDEuMmM1LjEgMi4xIDguNyA2LjcgOS42IDEyLjFsMTQuMSA4NC43IDg0LjcgMTQuMWM1LjQgLjkgMTAgNC41IDEyLjEgOS42czEuNSAxMC45LTEuNiAxNS40bC0zOC41IDU1Yy0yLjItLjEtNC40LS4yLTYuNy0uMmMtMjMuMyAwLTQ1LjEgNi4yLTY0IDE3LjFsMC0xLjFjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZzNDMgOTYgOTYgOTZjOC4xIDAgMTUuOS0xIDIzLjQtMi45Yy0zNi42IDE4LjEtNjMuMyA1My4xLTY5LjggOTQuOWwtMjQuNCAxN2MtNC41IDMuMS0xMC4zIDMuOC0xNS40IDEuNnMtOC43LTYuNy05LjYtMTIuMUw5OC4xIDMxNy45IDEzLjQgMzAzLjhjLTUuNC0uOS0xMC00LjUtMTIuMS05LjZzLTEuNS0xMC45IDEuNi0xNS40TDUyLjUgMjA4IDIuOSAxMzcuMmMtMy4yLTQuNS0zLjgtMTAuMy0xLjYtMTUuNHM2LjctOC43IDEyLjEtOS42TDk4LjEgOTguMWwxNC4xLTg0LjdjLjktNS40IDQuNS0xMCA5LjYtMTIuMXMxMC45LTEuNSAxNS40IDEuNkwyMDggNTIuNSAyNzguOCAyLjljNC41LTMuMiAxMC4zLTMuOCAxNS40LTEuNnpNMTQ0IDIwOGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6TTYzOS45IDQzMS45YzAgNDQuMi0zNS44IDgwLTgwIDgwSDI4OGMtNTMgMC05Ni00My05Ni05NmMwLTQ3LjYgMzQuNi04NyA4MC05NC42bDAtMS4zYzAtNTMgNDMtOTYgOTYtOTZjMzQuOSAwIDY1LjQgMTguNiA4Mi4yIDQ2LjRjMTMtOS4xIDI4LjgtMTQuNCA0NS44LTE0LjRjNDQuMiAwIDgwIDM1LjggODAgODBjMCA1LjktLjYgMTEuNy0xLjkgMTcuMmMzNy40IDYuNyA2NS44IDM5LjQgNjUuOCA3OC43elwiXVxufTtcbnZhciBmYVN0b3B3YXRjaDIwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0b3B3YXRjaC0yMCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTA2ZlwiLCBcIk0xNzYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmgxNlY5OC40QzkyLjMgMTEzLjggMTYgMjAwIDE2IDMwNGMwIDExNC45IDkzLjEgMjA4IDIwOCAyMDhzMjA4LTkzLjEgMjA4LTIwOGMwLTQxLjgtMTIuMy04MC43LTMzLjUtMTEzLjJsMjQuMS0yNC4xYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDM1NS43IDE0M2MtMjguMS0yMy02Mi4yLTM4LjgtOTkuNy00NC42VjY0aDE2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDE3NnpNMjg4IDIwNGMyOC43IDAgNTIgMjMuMyA1MiA1MnY5NmMwIDI4LjctMjMuMyA1Mi01MiA1MnMtNTItMjMuMy01Mi01MlYyNTZjMC0yOC43IDIzLjMtNTIgNTItNTJ6bS0xMiA1MnY5NmMwIDYuNiA1LjQgMTIgMTIgMTJzMTItNS40IDEyLTEyVjI1NmMwLTYuNi01LjQtMTItMTItMTJzLTEyIDUuNC0xMiAxMnpNMTU5LjUgMjQ0Yy01LjQgMC0xMC4yIDMuNS0xMS45IDguNmwtLjYgMS43Yy0zLjUgMTAuNS0xNC44IDE2LjEtMjUuMyAxMi42cy0xNi4xLTE0LjgtMTIuNi0yNS4zbC42LTEuN2M3LjItMjEuNSAyNy4yLTM1LjkgNDkuOC0zNS45YzI5IDAgNTIuNSAyMy41IDUyLjUgNTIuNXYyLjJjMCAxMy40LTQuOSAyNi40LTEzLjggMzYuNGwtMzkgNDMuOWMtNi4yIDctMTAgMTUuNy0xMC45IDI0LjlIMTkyYzExIDAgMjAgOSAyMCAyMHMtOSAyMC0yMCAyMEgxMjhjLTExIDAtMjAtOS0yMC0yMFYzNjguM2MwLTIwLjYgNy41LTQwLjQgMjEuMi01NS44bDM5LTQzLjljMi40LTIuNyAzLjctNi4yIDMuNy05Ljh2LTIuMmMwLTYuOS01LjYtMTIuNS0xMi41LTEyLjV6XCJdXG59O1xudmFyIGZhU3F1YXJlRnVsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUtZnVsbCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODk5NywgMTI4OTk4LCAxMjg5OTksIDEyOTAwMCwgMTI5MDAxLCAxMjkwMDIsIDEyOTAwMywgMTEwMzUsIDExMDM2XSwgXCJmNDVjXCIsIFwiTTAgMEg1MTJWNTEySDBWMHpcIl1cbn07XG52YXIgZmFNYWduZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFnbmV0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI5NTIyXSwgXCJmMDc2XCIsIFwiTTAgMTYwdjk2QzAgMzc5LjcgMTAwLjMgNDgwIDIyNCA0ODBzMjI0LTEwMC4zIDIyNC0yMjRWMTYwSDMyMHY5NmMwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05NlYxNjBIMHptMC0zMkgxMjhWNjRjMC0xNy43LTE0LjMtMzItMzItMzJIMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NHY2NHptMzIwIDBINDQ4VjY0YzAtMTcuNy0xNC4zLTMyLTMyLTMySDM1MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2NjR6XCJdXG59O1xudmFyIGZhSmFyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2phcicsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiZTUxNlwiLCBcIk0zMiAzMkMzMiAxNC4zIDQ2LjMgMCA2NCAwSDI1NmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkg2NEM0Ni4zIDY0IDMyIDQ5LjcgMzIgMzJ6TTAgMTYwYzAtMzUuMyAyOC43LTY0IDY0LTY0SDI1NmMzNS4zIDAgNjQgMjguNyA2NCA2NFY0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjE2MHptOTYgNjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjk2YzAgMTcuNyAxNC4zIDMyIDMyIDMySDIyNGMxNy43IDAgMzItMTQuMyAzMi0zMlYyNTZjMC0xNy43LTE0LjMtMzItMzItMzJIOTZ6XCJdXG59O1xudmFyIGZhTm90ZVN0aWNreSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdub3RlLXN0aWNreScsXG4gIGljb246IFs0NDgsIDUxMiwgWzYyMDI2LCBcInN0aWNreS1ub3RlXCJdLCBcImYyNDlcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NlY0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRIMjg4VjM2OGMwLTI2LjUgMjEuNS00OCA0OC00OEg0NDhWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6TTQ0OCAzNTJINDAyLjcgMzM2Yy04LjggMC0xNiA3LjItMTYgMTZ2NjYuN1Y0ODBsMzItMzIgNjQtNjQgMzItMzJ6XCJdXG59O1xudmFyIGZhU3RpY2t5Tm90ZSA9IGZhTm90ZVN0aWNreTtcbnZhciBmYUJ1Z1NsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1Zy1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTQ5MFwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDQ3Ny40IDM0OC45YzEuNy05LjQgMi42LTE5IDIuNi0yOC45aDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDQ3OS43Yy0xLjEtMTQuMS01LTI3LjUtMTEuMS0zOS41Yy43LS42IDEuNC0xLjIgMi4xLTEuOWw2NC02NGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLS43IC43LTEuMyAxLjQtMS45IDIuMUM0MDkuMiAxNjQuMSAzOTMuMSAxNjAgMzc2IDE2MEgyNjRjLTguMyAwLTE2LjMgMS0yNCAyLjhMMzguOCA1LjF6bTM5MiA0MzAuM0wzMzYgMzYwLjdWNDc5LjJjMzYuNi0zLjYgNjkuNy0xOS42IDk0LjgtNDMuOHpNMTY2LjcgMjI3LjNjLTMuNCA5LTUuNiAxOC43LTYuNCAyOC43SDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDY0YzAgMjQuNiA1LjUgNDcuOCAxNS40IDY4LjZjLTIuMiAxLjMtNC4yIDIuOS02IDQuOGwtNjQgNjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsNjMuMS02My4xYzI0LjUgMjEuOCA1NS44IDM2LjIgOTAuMyAzOS42VjMzNS41TDE2Ni43IDIyNy4zek0zMjAgMGMtNTMgMC05NiA0My05NiA5NnYzLjZjMCAxNS43IDEyLjcgMjguNCAyOC40IDI4LjRIMzg3LjZjMTUuNyAwIDI4LjQtMTIuNyAyOC40LTI4LjRWOTZjMC01My00My05Ni05Ni05NnpcIl1cbn07XG52YXIgZmFBcnJvd1VwRnJvbVdhdGVyUHVtcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy11cC1mcm9tLXdhdGVyLXB1bXAnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0YjZcIiwgXCJNMTEyIDBDODUuNSAwIDY0IDIxLjUgNjQgNDhWMjU2SDQ4Yy0yNi41IDAtNDggMjEuNS00OCA0OHY5NmMwIDggMiAxNS42IDUuNCAyMi4yYzMuOC0xLjcgNy44LTMuMSAxMi00LjFjMTMuMS0zLjEgMjYuNy05LjggMzcuMy0xOC42YzIyLjItMTguNyA1NC4zLTIwLjEgNzguMS0zLjRjMTggMTIuNCA0MC4xIDIwLjMgNTkuMiAyMC4zYzIxLjEgMCA0Mi04LjUgNTkuMi0yMC4zYzIyLjEtMTUuNSA1MS42LTE1LjUgNzMuNyAwYzE4LjQgMTIuNyAzOS42IDIwLjMgNTkuMiAyMC4zYzE5IDAgNDEuMi03LjkgNTkuMi0yMC4zYzIzLjgtMTYuNyA1NS44LTE1LjMgNzguMSAzLjRjMTAuNiA4LjggMjQuMiAxNS42IDM3LjMgMTguNmM0LjIgMSA4LjIgMi40IDEyIDQuMUM1NzQgNDE1LjYgNTc2IDQwOCA1NzYgNDAwVjMwNGMwLTI2LjUtMjEuNS00OC00OC00OEg0ODBsMC0xNDYuNyAyNS40IDI1LjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtODAtODBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC04MCA4MGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEw0MTYgMTA5LjMgNDE2IDI1NkgyODhWNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhIMTEyek0zMDYuNSA0MjEuOWMtMTEuMS03LjktMjUuOS03LjktMzcgMEMyNDcgNDM3LjQgMjE5LjUgNDQ4IDE5MiA0NDhjLTI2LjkgMC01NS4zLTEwLjgtNzcuNC0yNi4xbDAgMGMtMTEuOS04LjUtMjguMS03LjgtMzkuMiAxLjdjLTE0LjQgMTEuOS0zMi41IDIxLTUwLjYgMjUuMmMtMTcuMiA0LTI3LjkgMjEuMi0yMy45IDM4LjRzMjEuMiAyNy45IDM4LjQgMjMuOWMyNC41LTUuNyA0NC45LTE2LjUgNTguMi0yNUMxMjYuNSA1MDEuNyAxNTkgNTEyIDE5MiA1MTJjMzEuOSAwIDYwLjYtOS45IDgwLjQtMTguOWM1LjgtMi43IDExLjEtNS4zIDE1LjYtNy43YzQuNSAyLjQgOS43IDUuMSAxNS42IDcuN2MxOS44IDkgNDguNSAxOC45IDgwLjQgMTguOWMzMyAwIDY1LjUtMTAuMyA5NC41LTI1LjhjMTMuNCA4LjQgMzMuNyAxOS4zIDU4LjIgMjVjMTcuMiA0IDM0LjQtNi43IDM4LjQtMjMuOXMtNi43LTM0LjQtMjMuOS0zOC40Yy0xOC4xLTQuMi0zNi4yLTEzLjMtNTAuNi0yNS4yYy0xMS4xLTkuNC0yNy4zLTEwLjEtMzkuMi0xLjdsMCAwQzQzOS40IDQzNy4yIDQxMC45IDQ0OCAzODQgNDQ4Yy0yNy41IDAtNTUtMTAuNi03Ny41LTI2LjF6XCJdXG59O1xudmFyIGZhQm9uZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib25lJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI5NDYwXSwgXCJmNWQ3XCIsIFwiTTE1My43IDE0NC44YzYuOSAxNi4zIDIwLjYgMzEuMiAzOC4zIDMxLjJIMzg0YzE3LjcgMCAzMS40LTE0LjkgMzguMy0zMS4yQzQzNC40IDExNi4xIDQ2Mi45IDk2IDQ5NiA5NmM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDMwLjQtMTcgNTYuOS00MiA3MC40Yy0zLjYgMS45LTYgNS41LTYgOS42czIuNCA3LjcgNiA5LjZjMjUgMTMuNSA0MiA0MCA0MiA3MC40YzAgNDQuMi0zNS44IDgwLTgwIDgwYy0zMy4xIDAtNjEuNi0yMC4xLTczLjctNDguOEM0MTUuNCAzNTAuOSA0MDEuNyAzMzYgMzg0IDMzNkgxOTJjLTE3LjcgMC0zMS40IDE0LjktMzguMyAzMS4yQzE0MS42IDM5NS45IDExMy4xIDQxNiA4MCA0MTZjLTQ0LjIgMC04MC0zNS44LTgwLTgwYzAtMzAuNCAxNy01Ni45IDQyLTcwLjRjMy42LTEuOSA2LTUuNSA2LTkuNnMtMi40LTcuNy02LTkuNkMxNyAyMzIuOSAwIDIwNi40IDAgMTc2YzAtNDQuMiAzNS44LTgwIDgwLTgwYzMzLjEgMCA2MS42IDIwLjEgNzMuNyA0OC44elwiXVxufTtcbnZhciBmYVVzZXJJbmp1cmVkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItaW5qdXJlZCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjcyOFwiLCBcIk0yNDAgODBIMzQyLjdjLTcuOS0xOS41LTIwLjQtMzYuNS0zNi4yLTQ5LjlMMjQwIDgwem0zNy43LTY4LjJDMjYxLjMgNC4yIDI0My4yIDAgMjI0IDBjLTUzLjcgMC05OS43IDMzLjEtMTE4LjcgODBoODEuNGw5MS02OC4yek0yMjQgMjU2YzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4YzAtNS40LS4zLTEwLjgtMS0xNkg5N2MtLjcgNS4yLTEgMTAuNi0xIDE2YzAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4ek0xMjQgMzEyLjRjLTkuNyAzLjEtMTkuMSA3LTI4IDExLjdWNTEySDI0My43TDE4MS41IDQwOC4yIDEyNCAzMTIuNHptMzMtNy4yTDIwNC4zIDM4NEgyNzJjNDQuMiAwIDgwIDM1LjggODAgODBjMCAxOC02IDM0LjYtMTYgNDhoODIuM2MxNi40IDAgMjkuNy0xMy4zIDI5LjctMjkuN0M0NDggMzgzLjggMzY4LjIgMzA0IDI2OS43IDMwNEgxNzguM2MtNy4yIDAtMTQuMyAuNC0yMS4zIDEuM3pNMCA0ODIuM0MwIDQ5OC43IDEzLjMgNTEyIDI5LjcgNTEySDY0VjM0NS40QzI0LjkgMzc4LjEgMCA0MjcuMyAwIDQ4Mi4zek0zMjAgNDY0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDIyMy41bDU3LjEgOTUuMkMzMDMgNTA3LjIgMzIwIDQ4Ny42IDMyMCA0NjR6XCJdXG59O1xudmFyIGZhRmFjZVNhZFRlYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1zYWQtdGVhcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU0NiwgXCJzYWQtdGVhclwiXSwgXCJmNWI0XCIsIFwiTTAgMjU2YTI1NiAyNTYgMCAxIDAgNTEyIDBBMjU2IDI1NiAwIDEgMCAwIDI1NnptMjQwIDgwYzAtOC44IDcuMi0xNiAxNi0xNmM0NSAwIDg1LjYgMjAuNSAxMTUuNyA1My4xYzYgNi41IDUuNiAxNi42LS45IDIyLjZzLTE2LjYgNS42LTIyLjYtLjljLTI1LTI3LjEtNTcuNC00Mi45LTkyLjMtNDIuOWMtOC44IDAtMTYtNy4yLTE2LTE2em0tODAgODBjLTI2LjUgMC00OC0yMS00OC00N2MwLTIwIDI4LjYtNjAuNCA0MS42LTc3LjdjMy4yLTQuNCA5LjYtNC40IDEyLjggMEMxNzkuNiAzMDguNiAyMDggMzQ5IDIwOCAzNjljMCAyNi0yMS41IDQ3LTQ4IDQ3ek0zNjcuNiAyMDhhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHptLTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xudmFyIGZhU2FkVGVhciA9IGZhRmFjZVNhZFRlYXI7XG52YXIgZmFQbGFuZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwbGFuZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjA3MlwiLCBcIk00ODIuMyAxOTJjMzQuMiAwIDkzLjcgMjkgOTMuNyA2NGMwIDM2LTU5LjUgNjQtOTMuNyA2NGwtMTE2LjYgMEwyNjUuMiA0OTUuOWMtNS43IDEwLTE2LjMgMTYuMS0yNy44IDE2LjFsLTU2LjIgMGMtMTAuNiAwLTE4LjMtMTAuMi0xNS40LTIwLjRsNDktMTcxLjZMMTEyIDMyMCA2OC44IDM3Ny42Yy0zIDQtNy44IDYuNC0xMi44IDYuNGwtNDIgMGMtNy44IDAtMTQtNi4zLTE0LTE0YzAtMS4zIC4yLTIuNiAuNS0zLjlMMzIgMjU2IC41IDE0NS45Yy0uNC0xLjMtLjUtMi42LS41LTMuOWMwLTcuOCA2LjMtMTQgMTQtMTRsNDIgMGM1IDAgOS44IDIuNCAxMi44IDYuNEwxMTIgMTkybDEwMi45IDAtNDktMTcxLjZDMTYyLjkgMTAuMiAxNzAuNiAwIDE4MS4yIDBsNTYuMiAwYzExLjUgMCAyMi4xIDYuMiAyNy44IDE2LjFMMzY1LjcgMTkybDExNi42IDB6XCJdXG59O1xudmFyIGZhVGVudEFycm93c0Rvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGVudC1hcnJvd3MtZG93bicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU4MVwiLCBcIk0yMDkuOCAxMTEuOWMtOC45LTkuOS0yNC0xMC43LTMzLjktMS44bC0zOS45IDM2TDEzNiAyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNFM4OCAxMC43IDg4IDI0bDAgMTIyLjEtMzkuOS0zNmMtOS45LTguOS0yNS04LjEtMzMuOSAxLjhzLTguMSAyNSAxLjggMzMuOWw4MCA3MmM5LjEgOC4yIDIzIDguMiAzMi4xIDBsODAtNzJjOS45LTguOSAxMC43LTI0IDEuOC0zMy45em0zNTIgMGMtOC45LTkuOS0yNC0xMC43LTMzLjktMS44bC0zOS45IDM2VjI0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0VjE0Ni4xbC0zOS45LTM2Yy05LjktOC45LTI1LTguMS0zMy45IDEuOHMtOC4xIDI1IDEuOCAzMy45bDgwIDcyYzkuMSA4LjIgMjMgOC4yIDMyLjEgMGw4MC03MmM5LjktOC45IDEwLjctMjQgMS44LTMzLjl6TTMwNy40IDE2Ni41Yy0xMS41LTguNy0yNy4zLTguNy0zOC44IDBsLTE2OCAxMjhjLTYuNiA1LTExIDEyLjUtMTIuMyAyMC43bC0yNCAxNjBjLTEuNCA5LjIgMS4zIDE4LjYgNy40IDI1LjZTODYuNyA1MTIgOTYgNTEySDI0MGgxNmMxNy43IDAgMzItMTQuMyAzMi0zMlYzNjEuOWMwLTUuNSA0LjQtOS45IDkuOS05LjljMy43IDAgNy4yIDIuMSA4LjggNS41bDY4LjQgMTM2LjhjNS40IDEwLjggMTYuNSAxNy43IDI4LjYgMTcuN0g0NjRoMTZjOS4zIDAgMTguMi00LjEgMjQuMi0xMS4xczguOC0xNi40IDcuNC0yNS42bC0yNC0xNjBjLTEuMi04LjItNS42LTE1LjctMTIuMy0yMC43bC0xNjgtMTI4elwiXVxufTtcbnZhciBmYUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2V4Y2xhbWF0aW9uJyxcbiAgaWNvbjogWzY0LCA1MTIsIFsxMDA2OSwgMTAwNzEsIDYxNzM4XSwgXCIyMVwiLCBcIk02NCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMlMwIDQ2LjMgMCA2NFYzMjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlY2NHpNMzIgNDgwYTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHpcIl1cbn07XG52YXIgZmFBcnJvd3NTcGluID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93cy1zcGluJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNGJiXCIsIFwiTTI1NiA5NmMzOC40IDAgNzMuNyAxMy41IDEwMS4zIDM2LjFsLTMyLjYgMzIuNmMtNC42IDQuNi01LjkgMTEuNS0zLjUgMTcuNHM4LjMgOS45IDE0LjggOS45SDQ0OGM4LjggMCAxNi03LjIgMTYtMTZWNjRjMC02LjUtMy45LTEyLjMtOS45LTE0LjhzLTEyLjktMS4xLTE3LjQgMy41bC0zNCAzNEMzNjMuNCA1Mi42IDMxMi4xIDMyIDI1NiAzMmMtMTAuOSAwLTIxLjUgLjgtMzIgMi4zVjk5LjJjMTAuMy0yLjEgMjEtMy4yIDMyLTMuMnpNMTMyLjEgMTU0LjdsMzIuNiAzMi42YzQuNiA0LjYgMTEuNSA1LjkgMTcuNCAzLjVzOS45LTguMyA5LjktMTQuOFY2NGMwLTguOC03LjItMTYtMTYtMTZINjRjLTYuNSAwLTEyLjMgMy45LTE0LjggOS45cy0xLjEgMTIuOSAzLjUgMTcuNGwzNCAzNEM1Mi42IDE0OC42IDMyIDE5OS45IDMyIDI1NmMwIDEwLjkgLjggMjEuNSAyLjMgMzJIOTkuMmMtMi4xLTEwLjMtMy4yLTIxLTMuMi0zMmMwLTM4LjQgMTMuNS03My43IDM2LjEtMTAxLjN6TTQ3Ny43IDIyNEg0MTIuOGMyLjEgMTAuMyAzLjIgMjEgMy4yIDMyYzAgMzguNC0xMy41IDczLjctMzYuMSAxMDEuM2wtMzIuNi0zMi42Yy00LjYtNC42LTExLjUtNS45LTE3LjQtMy41cy05LjkgOC4zLTkuOSAxNC44VjQ0OGMwIDguOCA3LjIgMTYgMTYgMTZINDQ4YzYuNSAwIDEyLjMtMy45IDE0LjgtOS45czEuMS0xMi45LTMuNS0xNy40bC0zNC0zNEM0NTkuNCAzNjMuNCA0ODAgMzEyLjEgNDgwIDI1NmMwLTEwLjktLjgtMjEuNS0yLjMtMzJ6TTI1NiA0MTZjLTM4LjQgMC03My43LTEzLjUtMTAxLjMtMzYuMWwzMi42LTMyLjZjNC42LTQuNiA1LjktMTEuNSAzLjUtMTcuNHMtOC4zLTkuOS0xNC44LTkuOUg2NGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTEyYzAgNi41IDMuOSAxMi4zIDkuOSAxNC44czEyLjkgMS4xIDE3LjQtMy41bDM0LTM0QzE0OC42IDQ1OS40IDE5OS45IDQ4MCAyNTYgNDgwYzEwLjkgMCAyMS41LS44IDMyLTIuM1Y0MTIuOGMtMTAuMyAyLjEtMjEgMy4yLTMyIDMuMnpcIl1cbn07XG52YXIgZmFQcmludCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwcmludCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODQyNCwgMTI4NDM4LCA5MTEzXSwgXCJmMDJmXCIsIFwiTTEyOCAwQzkyLjcgMCA2NCAyOC43IDY0IDY0djk2aDY0VjY0SDM1NC43TDM4NCA5My4zVjE2MGg2NFY5My4zYzAtMTctNi43LTMzLjMtMTguNy00NS4zTDQwMCAxOC43QzM4OCA2LjcgMzcxLjcgMCAzNTQuNyAwSDEyOHpNMzg0IDM1MnYzMiA2NEgxMjhWMzg0IDM2OCAzNTJIMzg0em02NCAzMmgzMmMxNy43IDAgMzItMTQuMyAzMi0zMlYyNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjRjLTM1LjMgMC02NCAyOC43LTY0IDY0djk2YzAgMTcuNyAxNC4zIDMyIDMyIDMySDY0djY0YzAgMzUuMyAyOC43IDY0IDY0IDY0SDM4NGMzNS4zIDAgNjQtMjguNyA2NC02NFYzODR6TTQzMiAyNDhhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4elwiXVxufTtcbnZhciBmYVR1cmtpc2hMaXJhU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0dXJraXNoLWxpcmEtc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgW1widHJ5XCIsIFwidHVya2lzaC1saXJhXCJdLCBcImUyYmJcIiwgXCJNOTYgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJWOTkuM0wyNDcuMiA2NS4yYzE3LTQuOSAzNC43IDUgMzkuNiAyMnMtNSAzNC43LTIyIDM5LjZMMTI4IDE2NS45djI5LjRsMTE5LjItMzQuMWMxNy00LjkgMzQuNyA1IDM5LjYgMjJzLTUgMzQuNy0yMiAzOS42TDEyOCAyNjEuOVY0MTZoNjMuOGM2OC4yIDAgMTI0LjQtNTMuNSAxMjcuOC0xMjEuNmwuNC04Yy45LTE3LjcgMTUuOS0zMS4yIDMzLjYtMzAuNHMzMS4yIDE1LjkgMzAuNCAzMy42bC0uNCA4QzM3OC41IDM5OS44IDI5NC4xIDQ4MCAxOTEuOCA0ODBIOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjI4MC4xbC0yMy4yIDYuNmMtMTcgNC45LTM0LjctNS0zOS42LTIyczUtMzQuNyAyMi0zOS42TDY0IDIxMy42VjE4NC4xbC0yMy4yIDYuNmMtMTcgNC45LTM0LjctNS0zOS42LTIyczUtMzQuNyAyMi0zOS42TDY0IDExNy42VjY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyelwiXVxufTtcbnZhciBmYVRyeSA9IGZhVHVya2lzaExpcmFTaWduO1xudmFyIGZhVHVya2lzaExpcmEgPSBmYVR1cmtpc2hMaXJhU2lnbjtcbnZhciBmYURvbGxhclNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZG9sbGFyLXNpZ24nLFxuICBpY29uOiBbMzIwLCA1MTIsIFsxMjgxNzgsIDYxNzgxLCBcImRvbGxhclwiLCBcInVzZFwiXSwgXCIyNFwiLCBcIk0xNjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMlY2Ny43YzEuNiAuMiAzLjEgLjQgNC43IC43Yy40IC4xIC43IC4xIDEuMSAuMmw0OCA4LjhjMTcuNCAzLjIgMjguOSAxOS45IDI1LjcgMzcuMnMtMTkuOSAyOC45LTM3LjIgMjUuN2wtNDcuNS04LjdjLTMxLjMtNC42LTU4LjktMS41LTc4LjMgNi4ycy0yNy4yIDE4LjMtMjkgMjguMWMtMiAxMC43LS41IDE2LjcgMS4yIDIwLjRjMS44IDMuOSA1LjUgOC4zIDEyLjggMTMuMmMxNi4zIDEwLjcgNDEuMyAxNy43IDczLjcgMjYuM2wyLjkgLjhjMjguNiA3LjYgNjMuNiAxNi44IDg5LjYgMzMuOGMxNC4yIDkuMyAyNy42IDIxLjkgMzUuOSAzOS41YzguNSAxNy45IDEwLjMgMzcuOSA2LjQgNTkuMmMtNi45IDM4LTMzLjEgNjMuNC02NS42IDc2LjdjLTEzLjcgNS42LTI4LjYgOS4yLTQ0LjQgMTFWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjQ0NS4xYy0uNC0uMS0uOS0uMS0xLjMtLjJsLS4yIDAgMCAwYy0yNC40LTMuOC02NC41LTE0LjMtOTEuNS0yNi4zYy0xNi4xLTcuMi0yMy40LTI2LjEtMTYuMi00Mi4yczI2LjEtMjMuNCA0Mi4yLTE2LjJjMjAuOSA5LjMgNTUuMyAxOC41IDc1LjIgMjEuNmMzMS45IDQuNyA1OC4yIDIgNzYtNS4zYzE2LjktNi45IDI0LjYtMTYuOSAyNi44LTI4LjljMS45LTEwLjYgLjQtMTYuNy0xLjMtMjAuNGMtMS45LTQtNS42LTguNC0xMy0xMy4zYy0xNi40LTEwLjctNDEuNS0xNy43LTc0LTI2LjNsLTIuOC0uNyAwIDBDMTE5LjQgMjc5LjMgODQuNCAyNzAgNTguNCAyNTNjLTE0LjItOS4zLTI3LjUtMjItMzUuOC0zOS42Yy04LjQtMTcuOS0xMC4xLTM3LjktNi4xLTU5LjJDMjMuNyAxMTYgNTIuMyA5MS4yIDg0LjggNzguM2MxMy4zLTUuMyAyNy45LTguOSA0My4yLTExVjMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyelwiXVxufTtcbnZhciBmYURvbGxhciA9IGZhRG9sbGFyU2lnbjtcbnZhciBmYVVzZCA9IGZhRG9sbGFyU2lnbjtcbnZhciBmYVggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAneCcsXG4gIGljb246IFszODQsIDUxMiwgWzEyMF0sIFwiNThcIiwgXCJNMzc2LjYgODQuNWMxMS4zLTEzLjYgOS41LTMzLjgtNC4xLTQ1LjFzLTMzLjgtOS41LTQ1LjEgNC4xTDE5MiAyMDYgNTYuNiA0My41QzQ1LjMgMjkuOSAyNS4xIDI4LjEgMTEuNSAzOS40Uy0zLjkgNzAuOSA3LjQgODQuNUwxNTAuMyAyNTYgNy40IDQyNy41Yy0xMS4zIDEzLjYtOS41IDMzLjggNC4xIDQ1LjFzMzMuOCA5LjUgNDUuMS00LjFMMTkyIDMwNiAzMjcuNCA0NjguNWMxMS4zIDEzLjYgMzEuNSAxNS40IDQ1LjEgNC4xczE1LjQtMzEuNSA0LjEtNDUuMUwyMzMuNyAyNTYgMzc2LjYgODQuNXpcIl1cbn07XG52YXIgZmFNYWduaWZ5aW5nR2xhc3NEb2xsYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFnbmlmeWluZy1nbGFzcy1kb2xsYXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInNlYXJjaC1kb2xsYXJcIl0sIFwiZjY4OFwiLCBcIk00MTYgMjA4YzAgNDUuOS0xNC45IDg4LjMtNDAgMTIyLjdMNTAyLjYgNDU3LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMzMwLjcgMzc2Yy0zNC40IDI1LjItNzYuOCA0MC0xMjIuNyA0MEM5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMFM0MTYgOTMuMSA0MTYgMjA4ek0yMjggMTA0YzAtMTEtOS0yMC0yMC0yMHMtMjAgOS0yMCAyMHYxNGMtNy42IDEuNy0xNS4yIDQuNC0yMi4yIDguNWMtMTMuOSA4LjMtMjUuOSAyMi44LTI1LjggNDMuOWMuMSAyMC4zIDEyIDMzLjEgMjQuNyA0MC43YzExIDYuNiAyNC43IDEwLjggMzUuNiAxNGwxLjcgLjVjMTIuNiAzLjggMjEuOCA2LjggMjggMTAuN2M1LjEgMy4yIDUuOCA1LjQgNS45IDguMmMuMSA1LTEuOCA4LTUuOSAxMC41Yy01IDMuMS0xMi45IDUtMjEuNCA0LjdjLTExLjEtLjQtMjEuNS0zLjktMzUuMS04LjVjLTIuMy0uOC00LjctMS42LTcuMi0yLjRjLTEwLjUtMy41LTIxLjggMi4yLTI1LjMgMTIuNnMyLjIgMjEuOCAxMi42IDI1LjNjMS45IC42IDQgMS4zIDYuMSAyLjFsMCAwIDAgMGM4LjMgMi45IDE3LjkgNi4yIDI4LjIgOC40VjMxMmMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMFYyOTguMmM4LTEuNyAxNi00LjUgMjMuMi05YzE0LjMtOC45IDI1LjEtMjQuMSAyNC44LTQ1Yy0uMy0yMC4zLTExLjctMzMuNC0yNC42LTQxLjZjLTExLjUtNy4yLTI1LjktMTEuNi0zNy4xLTE1bC0uNy0uMmMtMTIuOC0zLjktMjEuOS02LjctMjguMy0xMC41Yy01LjItMy4xLTUuMy00LjktNS4zLTYuN2MwLTMuNyAxLjQtNi41IDYuMi05LjNjNS40LTMuMiAxMy42LTUuMSAyMS41LTVjOS42IC4xIDIwLjIgMi4yIDMxLjIgNS4yYzEwLjcgMi44IDIxLjYtMy41IDI0LjUtMTQuMnMtMy41LTIxLjYtMTQuMi0yNC41Yy02LjUtMS43LTEzLjctMy40LTIxLjEtNC43VjEwNHpcIl1cbn07XG52YXIgZmFTZWFyY2hEb2xsYXIgPSBmYU1hZ25pZnlpbmdHbGFzc0RvbGxhcjtcbnZhciBmYVVzZXJzR2VhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2Vycy1nZWFyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJ1c2Vycy1jb2dcIl0sIFwiZjUwOVwiLCBcIk0xNDQgMTYwQTgwIDgwIDAgMSAwIDE0NCAwYTgwIDgwIDAgMSAwIDAgMTYwem0zNjggMEE4MCA4MCAwIDEgMCA1MTIgMGE4MCA4MCAwIDEgMCAwIDE2MHpNMCAyOTguN0MwIDMxMC40IDkuNiAzMjAgMjEuMyAzMjBIMjM0LjdjLjIgMCAuNCAwIC43IDBjLTI2LjYtMjMuNS00My4zLTU3LjgtNDMuMy05NmMwLTcuNiAuNy0xNSAxLjktMjIuM2MtMTMuNi02LjMtMjguNy05LjctNDQuNi05LjdIMTA2LjdDNDcuOCAxOTIgMCAyMzkuOCAwIDI5OC43ek0zMjAgMzIwYzI0IDAgNDUuOS04LjggNjIuNy0yMy4zYzIuNS0zLjcgNS4yLTcuMyA4LTEwLjdjMi43LTMuMyA1LjctNi4xIDktOC4zQzQxMCAyNjIuMyA0MTYgMjQzLjkgNDE2IDIyNGMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NnM0MyA5NiA5NiA5NnptNjUuNCA2MC4yYy0xMC4zLTUuOS0xOC4xLTE2LjItMjAuOC0yOC4ySDI2MS4zQzE4Ny43IDM1MiAxMjggNDExLjcgMTI4IDQ4NS4zYzAgMTQuNyAxMS45IDI2LjcgMjYuNyAyNi43SDQ1NS4yYy0yLjEtNS4yLTMuMi0xMC45LTMuMi0xNi40di0zYy0xLjMtLjctMi43LTEuNS00LTIuM2wtMi42IDEuNWMtMTYuOCA5LjctNDAuNSA4LTU0LjctOS43Yy00LjUtNS42LTguNi0xMS41LTEyLjQtMTcuNmwtLjEtLjItLjEtLjItMi40LTQuMS0uMS0uMi0uMS0uMmMtMy40LTYuMi02LjQtMTIuNi05LTE5LjNjLTguMi0yMS4yIDIuMi00Mi42IDE5LTUyLjNsMi43LTEuNWMwLS44IDAtMS41IDAtMi4zczAtMS41IDAtMi4zbC0yLjctMS41ek01MzMuMyAxOTJINDkwLjdjLTE1LjkgMC0zMSAzLjUtNDQuNiA5LjdjMS4zIDcuMiAxLjkgMTQuNyAxLjkgMjIuM2MwIDE3LjQtMy41IDMzLjktOS43IDQ5YzIuNSAuOSA0LjkgMiA3LjEgMy4zbDIuNiAxLjVjMS4zLS44IDIuNi0xLjYgNC0yLjN2LTNjMC0xOS40IDEzLjMtMzkuMSAzNS44LTQyLjZjNy45LTEuMiAxNi0xLjkgMjQuMi0xLjlzMTYuMyAuNiAyNC4yIDEuOWMyMi41IDMuNSAzNS44IDIzLjIgMzUuOCA0Mi42djNjMS4zIC43IDIuNyAxLjUgNCAyLjNsMi42LTEuNWMxNi44LTkuNyA0MC41LTggNTQuNyA5LjdjMi4zIDIuOCA0LjUgNS44IDYuNiA4LjdjLTIuMS01Ny4xLTQ5LTEwMi43LTEwNi42LTEwMi43em05MS4zIDE2My45YzYuMy0zLjYgOS41LTExLjEgNi44LTE4Yy0yLjEtNS41LTQuNi0xMC44LTcuNC0xNS45bC0yLjMtNGMtMy4xLTUuMS02LjUtOS45LTEwLjItMTQuNWMtNC42LTUuNy0xMi43LTYuNy0xOS0zbC0yLjkgMS43Yy05LjIgNS4zLTIwLjQgNC0yOS42LTEuM3MtMTYuMS0xNC41LTE2LjEtMjUuMXYtMy40YzAtNy4zLTQuOS0xMy44LTEyLjEtMTQuOWMtNi41LTEtMTMuMS0xLjUtMTkuOS0xLjVzLTEzLjQgLjUtMTkuOSAxLjVjLTcuMiAxLjEtMTIuMSA3LjYtMTIuMSAxNC45djMuNGMwIDEwLjYtNi45IDE5LjgtMTYuMSAyNS4xcy0yMC40IDYuNi0yOS42IDEuM2wtMi45LTEuN2MtNi4zLTMuNi0xNC40LTIuNi0xOSAzYy0zLjcgNC42LTcuMSA5LjUtMTAuMiAxNC42bC0yLjMgMy45Yy0yLjggNS4xLTUuMyAxMC40LTcuNCAxNS45Yy0yLjYgNi44IC41IDE0LjMgNi44IDE3LjlsMi45IDEuN2M5LjIgNS4zIDEzLjcgMTUuOCAxMy43IDI2LjRzLTQuNSAyMS4xLTEzLjcgMjYuNGwtMyAxLjdjLTYuMyAzLjYtOS41IDExLjEtNi44IDE3LjljMi4xIDUuNSA0LjYgMTAuNyA3LjQgMTUuOGwyLjQgNC4xYzMgNS4xIDYuNCA5LjkgMTAuMSAxNC41YzQuNiA1LjcgMTIuNyA2LjcgMTkgM2wyLjktMS43YzkuMi01LjMgMjAuNC00IDI5LjYgMS4zczE2LjEgMTQuNSAxNi4xIDI1LjF2My40YzAgNy4zIDQuOSAxMy44IDEyLjEgMTQuOWM2LjUgMSAxMy4xIDEuNSAxOS45IDEuNXMxMy40LS41IDE5LjktMS41YzcuMi0xLjEgMTIuMS03LjYgMTIuMS0xNC45di0zLjRjMC0xMC42IDYuOS0xOS44IDE2LjEtMjUuMXMyMC40LTYuNiAyOS42LTEuM2wyLjkgMS43YzYuMyAzLjYgMTQuNCAyLjYgMTktM2MzLjctNC42IDcuMS05LjQgMTAuMS0xNC41bDIuNC00LjJjMi44LTUuMSA1LjMtMTAuMyA3LjQtMTUuOGMyLjYtNi44LS41LTE0LjMtNi44LTE3LjlsLTMtMS43Yy05LjItNS4zLTEzLjctMTUuOC0xMy43LTI2LjRzNC41LTIxLjEgMTMuNy0yNi40bDMtMS43ek00NzIgMzg0YTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6XCJdXG59O1xudmFyIGZhVXNlcnNDb2cgPSBmYVVzZXJzR2VhcjtcbnZhciBmYVBlcnNvbk1pbGl0YXJ5UG9pbnRpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLW1pbGl0YXJ5LXBvaW50aW5nJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTRhXCIsIFwiTTI0Ni45IDE0LjFDMjM0IDE1LjIgMjI0IDI2IDIyNCAzOWMwIDEzLjggMTEuMiAyNSAyNSAyNUg0MDBjOC44IDAgMTYtNy4yIDE2LTE2VjE3LjRDNDE2IDggNDA4IC43IDM5OC43IDEuNEwyNDYuOSAxNC4xek0yNDAgMTEyYzAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC01LjUtLjYtMTAuOC0xLjYtMTZIMjQxLjZjLTEgNS4yLTEuNiAxMC41LTEuNiAxNnpNNzIgMjI0Yy0yMi4xIDAtNDAgMTcuOS00MCA0MHMxNy45IDQwIDQwIDQwSDIyNHY4OS40TDM4Ni44IDIzMC41Yy0xMy4zLTQuMy0yNy4zLTYuNS00MS42LTYuNUgyNDAgNzJ6bTM0NS43IDIwLjlMMjQ2LjYgNDE2SDQxNlYzNjkuN2w1My42IDkwLjZjMTEuMiAxOSAzNS44IDI1LjMgNTQuOCAxNC4xczI1LjMtMzUuOCAxNC4xLTU0LjhMNDYyLjMgMjkwLjhjLTExLjItMTguOS0yNi42LTM0LjUtNDQuNi00NS45ek0yMjQgNDQ4djMyYzAgMTcuNyAxNC4zIDMyIDMyIDMySDM4NGMxNy43IDAgMzItMTQuMyAzMi0zMlY0NDhIMjI0elwiXVxufTtcbnZhciBmYUJ1aWxkaW5nQ29sdW1ucyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidWlsZGluZy1jb2x1bW5zJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJiYW5rXCIsIFwiaW5zdGl0dXRpb25cIiwgXCJtdXNldW1cIiwgXCJ1bml2ZXJzaXR5XCJdLCBcImYxOWNcIiwgXCJNMjQzLjQgMi42bC0yMjQgOTZjLTE0IDYtMjEuOCAyMS0xOC43IDM1LjhTMTYuOCAxNjAgMzIgMTYwdjhjMCAxMy4zIDEwLjcgMjQgMjQgMjRINDU2YzEzLjMgMCAyNC0xMC43IDI0LTI0di04YzE1LjIgMCAyOC4zLTEwLjcgMzEuMy0yNS42cy00LjgtMjkuOS0xOC43LTM1LjhsLTIyNC05NmMtOC0zLjQtMTcuMi0zLjQtMjUuMiAwek0xMjggMjI0SDY0VjQyMC4zYy0uNiAuMy0xLjIgLjctMS44IDEuMWwtNDggMzJjLTExLjcgNy44LTE3IDIyLjQtMTIuOSAzNS45UzE3LjkgNTEyIDMyIDUxMkg0ODBjMTQuMSAwIDI2LjUtOS4yIDMwLjYtMjIuN3MtMS4xLTI4LjEtMTIuOS0zNS45bC00OC0zMmMtLjYtLjQtMS4yLS43LTEuOC0xLjFWMjI0SDM4NFY0MTZIMzQ0VjIyNEgyODBWNDE2SDIzMlYyMjRIMTY4VjQxNkgxMjhWMjI0ek0yNTYgNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbnZhciBmYUJhbmsgPSBmYUJ1aWxkaW5nQ29sdW1ucztcbnZhciBmYUluc3RpdHV0aW9uID0gZmFCdWlsZGluZ0NvbHVtbnM7XG52YXIgZmFNdXNldW0gPSBmYUJ1aWxkaW5nQ29sdW1ucztcbnZhciBmYVVuaXZlcnNpdHkgPSBmYUJ1aWxkaW5nQ29sdW1ucztcbnZhciBmYVVtYnJlbGxhID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VtYnJlbGxhJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMGU5XCIsIFwiTTI4OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyVjQ5LjdDNDUxLjggNjMuNCA1NTcuNyAxNjEgNTczLjkgMjg1LjljMiAxNS42LTE3LjMgMjQuNC0yNy44IDEyLjdDNTMyLjEgMjgzIDUwNC44IDI3MiA0ODAgMjcyYy0zOC43IDAtNzEgMjcuNS03OC40IDY0LjFjLTEuNyA4LjctOC43IDE1LjktMTcuNiAxNS45cy0xNS44LTcuMi0xNy42LTE1LjlDMzU5IDI5OS41IDMyNi43IDI3MiAyODggMjcycy03MSAyNy41LTc4LjQgNjQuMWMtMS43IDguNy04LjcgMTUuOS0xNy42IDE1LjlzLTE1LjgtNy4yLTE3LjYtMTUuOUMxNjcgMjk5LjUgMTM0LjcgMjcyIDk2IDI3MmMtMjQuOCAwLTUyLjEgMTEtNjYuMSAyNi43QzE5LjQgMzEwLjQgLjEgMzAxLjUgMi4xIDI4NS45QzE4LjMgMTYxIDEyNC4yIDYzLjQgMjU2IDQ5LjdWMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTAgMzA0YzEyLjMgMCAyMy41IDQuNiAzMiAxMi4yVjQzMC42YzAgNDUtMzYuNSA4MS40LTgxLjQgODEuNGMtMzAuOCAwLTU5LTE3LjQtNzIuOC00NWwtMi4zLTQuN2MtNy45LTE1LjgtMS41LTM1IDE0LjMtNDIuOXMzNS0xLjUgNDIuOSAxNC4zbDIuMyA0LjdjMyA1LjkgOSA5LjYgMTUuNiA5LjZjOS42IDAgMTcuNC03LjggMTcuNC0xNy40VjMxNi4yYzguNS03LjYgMTkuNy0xMi4yIDMyLTEyLjJ6XCJdXG59O1xudmFyIGZhVHJvd2VsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Ryb3dlbCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTU4OVwiLCBcIk0zNDMuOSAyMTMuNEwyNDUuMyAzMTJsNjUuNCA2NS40YzcuOSA3LjkgMTEuMSAxOS40IDguNCAzMC4zcy0xMC44IDE5LjYtMjEuNSAyMi45bC0yNTYgODBjLTExLjQgMy41LTIzLjggLjUtMzIuMi03LjlTLTIuMSA0ODEuOCAxLjUgNDcwLjVsODAtMjU2YzMuMy0xMC43IDEyLTE4LjkgMjIuOS0yMS41czIyLjQgLjUgMzAuMyA4LjRMMjAwIDI2Ni43bDk4LjYtOTguNmMtMTQuMy0xNC42LTE0LjItMzggLjMtNTIuNWw5NS40LTk1LjRjMjYuOS0yNi45IDcwLjUtMjYuOSA5Ny41IDBzMjYuOSA3MC41IDAgOTcuNWwtOTUuNCA5NS40Yy0xNC41IDE0LjUtMzcuOSAxNC42LTUyLjUgLjN6XCJdXG59O1xudmFyIGZhRCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTAwXSwgXCI0NFwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMyaDk2YzEyMy43IDAgMjI0IDEwMC4zIDIyNCAyMjRzLTEwMC4zIDIyNC0yMjQgMjI0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFY5NnptMTYwIDBINjRWNDE2aDk2Yzg4LjQgMCAxNjAtNzEuNiAxNjAtMTYwcy03MS42LTE2MC0xNjAtMTYwelwiXVxufTtcbnZhciBmYVN0YXBsZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3RhcGxlcicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTVhZlwiLCBcIk02NDAgMjk5LjNWMzA0IDQzMmMwIDI2LjUtMjEuNSA0OC00OCA0OEg1MTIgNDQ4IDY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMySDQ0OFYzNjhIOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyVjIxOS40TDMzLjggMjE0QzE0LjIgMjEwLjUgMCAxOTMuNSAwIDE3My43YzAtOC45IDIuOS0xNy41IDguMi0yNC42bDM1LjYtNDcuNUM3Ni43IDU3LjggMTI4LjIgMzIgMTgyLjkgMzJjMjcgMCA1My42IDYuMyA3Ny44IDE4LjRMNTg2LjkgMjEzLjVDNjE5LjUgMjI5LjcgNjQwIDI2MyA2NDAgMjk5LjN6TTQ0OCAzMDRWMjg4TDEyOCAyMzAuOVYzMDRINDQ4elwiXVxufTtcbnZhciBmYU1hc2tzVGhlYXRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXNrcy10aGVhdGVyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI3OTE3LCBcInRoZWF0ZXItbWFza3NcIl0sIFwiZjYzMFwiLCBcIk03NC42IDM3My4yYzQxLjcgMzYuMSAxMDggODIuNSAxNjYuMSA3My43YzYuMS0uOSAxMi4xLTIuNSAxOC00LjVjLTkuMi0xMi4zLTE3LjMtMjQuNC0yNC4yLTM1LjRjLTIxLjktMzUtMjguOC03NS4yLTI1LjktMTEzLjZjLTIwLjYgNC4xLTM5LjIgMTMtNTQuNyAyNS40Yy02LjUgNS4yLTE2LjMgMS4zLTE0LjgtN2M2LjQtMzMuNSAzMy02MC45IDY4LjItNjYuM2MyLjYtLjQgNS4zLS43IDcuOS0uOGwxOS40LTEzMS4zYzItMTMuOCA4LTMyLjcgMjUtNDUuOUMyNzguMiA1My4yIDMxMC41IDM3IDM2My4yIDMyLjJjLS44LS43LTEuNi0xLjQtMi40LTIuMUMzNDAuNiAxNC41IDI4OC40LTExLjUgMTc1LjcgNS42UzIwLjUgNjMgNS43IDgzLjlDMCA5MS45LS44IDEwMiAuNiAxMTEuOEwyNC44IDI3Ni4xYzUuNSAzNy4zIDIxLjUgNzIuNiA0OS44IDk3LjJ6bTg3LjctMjE5LjZjNC40LTMuMSAxMC44LTIgMTEuOCAzLjNjLjEgLjUgLjIgMS4xIC4zIDEuNmMzLjIgMjEuOC0xMS42IDQyLTMzLjEgNDUuM3MtNDEuNS0xMS44LTQ0LjctMzMuNWMtLjEtLjUtLjEtMS4xLS4yLTEuNmMtLjYtNS40IDUuMi04LjQgMTAuMy02LjdjOSAzIDE4LjggMy45IDI4LjcgMi40czE5LjEtNS4zIDI2LjgtMTAuOHpNMjYxLjYgMzkwYzI5LjQgNDYuOSA3OS41IDExMC45IDEzNy42IDExOS43czEyNC41LTM3LjUgMTY2LjEtNzMuN2MyOC4zLTI0LjUgNDQuMy01OS44IDQ5LjgtOTcuMmwyNC4yLTE2NC4zYzEuNC05LjggLjYtMTkuOS01LjEtMjcuOWMtMTQuOC0yMC45LTU3LjMtNjEuMi0xNzAtNzguM1MyOTkuNCA3Ny4yIDI3OS4yIDkyLjhjLTcuOCA2LTExLjUgMTUuNC0xMi45IDI1LjJMMjQyLjEgMjgyLjNjLTUuNSAzNy4zLS40IDc1LjggMTkuNiAxMDcuN3pNNDA0LjUgMjM1LjNjLTcuNy01LjUtMTYuOC05LjMtMjYuOC0xMC44cy0xOS44LS42LTI4LjcgMi40Yy01LjEgMS43LTEwLjktMS4zLTEwLjMtNi43Yy4xLS41IC4xLTEuMSAuMi0xLjZjMy4yLTIxLjggMjMuMi0zNi44IDQ0LjctMzMuNXMzNi4zIDIzLjUgMzMuMSA0NS4zYy0uMSAuNS0uMiAxLjEtLjMgMS42Yy0xIDUuMy03LjQgNi40LTExLjggMy4zem0xMzYuMiAxNS41Yy0xIDUuMy03LjQgNi40LTExLjggMy4zYy03LjctNS41LTE2LjgtOS4zLTI2LjgtMTAuOHMtMTkuOC0uNi0yOC43IDIuNGMtNS4xIDEuNy0xMC45LTEuMy0xMC4zLTYuN2MuMS0uNSAuMS0xLjEgLjItMS42YzMuMi0yMS44IDIzLjItMzYuOCA0NC43LTMzLjVzMzYuMyAyMy41IDMzLjEgNDUuM2MtLjEgLjUtLjIgMS4xLS4zIDEuNnpNNTMwIDM1MC4yYy0xOS42IDQ0LjctNjYuOCA3Mi41LTExNi44IDY0LjlzLTg3LjEtNDguMi05My05Ni43Yy0xLTguMyA4LjktMTIuMSAxNS4yLTYuN2MyMy45IDIwLjggNTMuNiAzNS4zIDg3IDQwLjNzNjYuMSAuMSA5NC45LTEyLjhjNy42LTMuNCAxNiAzLjIgMTIuNiAxMC45elwiXVxufTtcbnZhciBmYVRoZWF0ZXJNYXNrcyA9IGZhTWFza3NUaGVhdGVyO1xudmFyIGZhS2lwU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdraXAtc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTFjNFwiLCBcIk0zNDAuOCA4OC4zYzEzLjQtMTEuNSAxNS0zMS43IDMuNS00NS4xcy0zMS43LTE1LTQ1LjEtMy41TDEyOCAxODYuNFY2NGMwLTE3LjctMTQuMy0zMi0zMi0zMlM2NCA0Ni4zIDY0IDY0VjIyNEgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkg2NFY0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMlYzMjUuNkwyOTkuMiA0NzIuM2MxMy40IDExLjUgMzMuNiA5LjkgNDUuMS0zLjVzOS45LTMzLjYtMy41LTQ1LjFMMTgyLjUgMjg4SDM1MmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgxODIuNUwzNDAuOCA4OC4zelwiXVxufTtcbnZhciBmYUhhbmRQb2ludExlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZC1wb2ludC1sZWZ0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMGE1XCIsIFwiTTMyIDk2QzE0LjMgOTYgMCAxMTAuMyAwIDEyOHMxNC4zIDMyIDMyIDMybDIwOCAwIDAtNjRMMzIgOTZ6TTE5MiAyODhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMHptLTY0LTY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTQ4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem05NiAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMHptODgtOTZsLS42IDBjNS40IDkuNCA4LjYgMjAuMyA4LjYgMzJjMCAxMy4yLTQgMjUuNC0xMC44IDM1LjZjMjQuOSA4LjcgNDIuOCAzMi41IDQyLjggNjAuNGMwIDExLjctMy4xIDIyLjYtOC42IDMybDguNiAwYzg4LjQgMCAxNjAtNzEuNiAxNjAtMTYwbDAtNjEuN2MwLTQyLjQtMTYuOS04My4xLTQ2LjktMTEzLjFsLTExLjYtMTEuNkM0MjkuNSA3Ny41IDM5Ni45IDY0IDM2MyA2NGwtMjcgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA4OGMwIDIyLjEgMTcuOSA0MCA0MCA0MHM0MC0xNy45IDQwLTQwbDAtNTZjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDU2YzAgMzkuOC0zMi4yIDcyLTcyIDcyelwiXVxufTtcbnZhciBmYUhhbmRzaGFrZVNpbXBsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kc2hha2Utc2ltcGxlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI5MzA5LCBcImhhbmRzaGFrZS1hbHRcIl0sIFwiZjRjNlwiLCBcIk0zMjMuNCA4NS4ybC05Ni44IDc4LjRjLTE2LjEgMTMtMTkuMiAzNi40LTcgNTMuMWMxMi45IDE3LjggMzggMjEuMyA1NS4zIDcuOGw5OS4zLTc3LjJjNy01LjQgMTctNC4yIDIyLjUgMi44czQuMiAxNy0yLjggMjIuNWwtMjAuOSAxNi4yTDU1MC4yIDM1Mkg1OTJjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMTc2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDUxNmgtNC0uN2wtMy45LTIuNUw0MzQuOCA3OWMtMTUuMy05LjgtMzMuMi0xNS01MS40LTE1Yy0yMS44IDAtNDMgNy41LTYwIDIxLjJ6bTIyLjggMTI0LjRsLTUxLjcgNDAuMkMyNjMgMjc0LjQgMjE3LjMgMjY4IDE5My43IDIzNS42Yy0yMi4yLTMwLjUtMTYuNi03My4xIDEyLjctOTYuOGw4My4yLTY3LjNjLTExLjYtNC45LTI0LjEtNy40LTM2LjgtNy40QzIzNCA2NCAyMTUuNyA2OS42IDIwMCA4MGwtNzIgNDhINDhjLTI2LjUgMC00OCAyMS41LTQ4IDQ4VjMwNGMwIDI2LjUgMjEuNSA0OCA0OCA0OEgxNTYuMmw5MS40IDgzLjRjMTkuNiAxNy45IDQ5LjkgMTYuNSA2Ny44LTMuMWM1LjUtNi4xIDkuMi0xMy4yIDExLjEtMjAuNmwxNyAxNS42YzE5LjUgMTcuOSA0OS45IDE2LjYgNjcuOC0yLjljNC41LTQuOSA3LjgtMTAuNiA5LjktMTYuNWMxOS40IDEzIDQ1LjggMTAuMyA2Mi4xLTcuNWMxNy45LTE5LjUgMTYuNi00OS45LTIuOS02Ny44bC0xMzQuMi0xMjN6XCJdXG59O1xudmFyIGZhSGFuZHNoYWtlQWx0ID0gZmFIYW5kc2hha2VTaW1wbGU7XG52YXIgZmFKZXRGaWdodGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2pldC1maWdodGVyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJmaWdodGVyLWpldFwiXSwgXCJmMGZiXCIsIFwiTTE2MCAyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNEgyOTZjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRIMjgwTDM4NCAxOTJINTAwLjRjNy43IDAgMTUuMyAxLjQgMjIuNSA0LjFMNjI1IDIzNC40YzkgMy40IDE1IDEyIDE1IDIxLjZzLTYgMTguMi0xNSAyMS42TDUyMi45IDMxNS45Yy03LjIgMi43LTE0LjggNC4xLTIyLjUgNC4xSDM4NEwyODAgNDY0aDE2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0SDE4NGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGg4VjMyMEgxNjBsLTU0LjYgNTQuNmMtNiA2LTE0LjEgOS40LTIyLjYgOS40SDY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlYyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJWMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMySDgyLjdjOC41IDAgMTYuNiAzLjQgMjIuNiA5LjRMMTYwIDE5MmgzMlY0OGgtOGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6TTgwIDI0MGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmg2NGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkg4MHpcIl1cbn07XG52YXIgZmFGaWdodGVySmV0ID0gZmFKZXRGaWdodGVyO1xudmFyIGZhU3F1YXJlU2hhcmVOb2RlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUtc2hhcmUtbm9kZXMnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcInNoYXJlLWFsdC1zcXVhcmVcIl0sIFwiZjFlMVwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEgzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRINjR6TTM4NCAxNjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRjLTE1LjQgMC0yOS41LTUuNC00MC42LTE0LjVMMTk0LjEgMjU2bDg1LjMgNDYuNWMxMS05LjEgMjUuMi0xNC41IDQwLjYtMTQuNWMzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NHMtNjQtMjguNy02NC02NGMwLTIuNSAuMS00LjkgLjQtNy4zTDE3NC41IDMwMGMtMTEuNyAxMi4zLTI4LjIgMjAtNDYuNSAyMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NGMxOC4zIDAgMzQuOCA3LjcgNDYuNSAyMGw4MS45LTQ0LjdjLS4zLTIuNC0uNC00LjktLjQtNy4zYzAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjR6XCJdXG59O1xudmFyIGZhU2hhcmVBbHRTcXVhcmUgPSBmYVNxdWFyZVNoYXJlTm9kZXM7XG52YXIgZmFCYXJjb2RlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhcmNvZGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYwMmFcIiwgXCJNMjQgMzJDMTAuNyAzMiAwIDQyLjcgMCA1NlY0NTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRINDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRWNTZjMC0xMy4zLTEwLjctMjQtMjQtMjRIMjR6bTg4IDBjLTguOCAwLTE2IDcuMi0xNiAxNlY0NjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlY0OGMwLTguOC03LjItMTYtMTYtMTZ6bTcyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0VjQ1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNGgxNmMxMy4zIDAgMjQtMTAuNyAyNC0yNFY1NmMwLTEzLjMtMTAuNy0yNC0yNC0yNEgxODR6bTk2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0VjQ1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNGgxNmMxMy4zIDAgMjQtMTAuNyAyNC0yNFY1NmMwLTEzLjMtMTAuNy0yNC0yNC0yNEgyODB6TTQ0OCA1NlY0NTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRoMTZjMTMuMyAwIDI0LTEwLjcgMjQtMjRWNTZjMC0xMy4zLTEwLjctMjQtMjQtMjRINDcyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptLTY0LThWNDY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWNDhjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZ6XCJdXG59O1xudmFyIGZhUGx1c01pbnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsdXMtbWludXMnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImU0M2NcIiwgXCJNMjI0IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyVjE0NEg0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMkgxNjBWMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJWMjA4SDMzNmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgyMjRWMzJ6TTAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMySDM1MmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6XCJdXG59O1xudmFyIGZhVmlkZW8gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmlkZW8nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInZpZGVvLWNhbWVyYVwiXSwgXCJmMDNkXCIsIFwiTTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0SDMyMGMzNS4zIDAgNjQgMjguNyA2NCA2NFYzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjEyOHpNNTU5LjEgOTkuOGMxMC40IDUuNiAxNi45IDE2LjQgMTYuOSAyOC4yVjM4NGMwIDExLjgtNi41IDIyLjYtMTYuOSAyOC4ycy0yMyA1LTMyLjktMS42bC05Ni02NEw0MTYgMzM3LjFWMzIwIDE5MiAxNzQuOWwxNC4yLTkuNSA5Ni02NGM5LjgtNi41IDIyLjQtNy4yIDMyLjktMS42elwiXVxufTtcbnZhciBmYVZpZGVvQ2FtZXJhID0gZmFWaWRlbztcbnZhciBmYUdyYWR1YXRpb25DYXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ3JhZHVhdGlvbi1jYXAnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjc4OTEsIFwibW9ydGFyLWJvYXJkXCJdLCBcImYxOWRcIiwgXCJNMzIwIDMyYy04LjEgMC0xNi4xIDEuNC0yMy43IDQuMUwxNS44IDEzNy40QzYuMyAxNDAuOSAwIDE0OS45IDAgMTYwczYuMyAxOS4xIDE1LjggMjIuNmw1Ny45IDIwLjlDNTcuMyAyMjkuMyA0OCAyNTkuOCA0OCAyOTEuOXYyOC4xYzAgMjguNC0xMC44IDU3LjctMjIuMyA4MC44Yy02LjUgMTMtMTMuOSAyNS44LTIyLjUgMzcuNkMwIDQ0Mi43LS45IDQ0OC4zIC45IDQ1My40czYgOC45IDExLjIgMTAuMmw2NCAxNmM0LjIgMS4xIDguNyAuMyAxMi40LTJzNi4zLTYuMSA3LjEtMTAuNGM4LjYtNDIuOCA0LjMtODEuMi0yLjEtMTA4LjdDOTAuMyAzNDQuMyA4NiAzMjkuOCA4MCAzMTYuNVYyOTEuOWMwLTMwLjIgMTAuMi01OC43IDI3LjktODEuNWMxMi45LTE1LjUgMjkuNi0yOCA0OS4yLTM1LjdsMTU3LTYxLjdjOC4yLTMuMiAxNy41IC44IDIwLjcgOXMtLjggMTcuNS05IDIwLjdsLTE1NyA2MS43Yy0xMi40IDQuOS0yMy4zIDEyLjQtMzIuMiAyMS42bDE1OS42IDU3LjZjNy42IDIuNyAxNS42IDQuMSAyMy43IDQuMXMxNi4xLTEuNCAyMy43LTQuMUw2MjQuMiAxODIuNmM5LjUtMy40IDE1LjgtMTIuNSAxNS44LTIyLjZzLTYuMy0xOS4xLTE1LjgtMjIuNkwzNDMuNyAzNi4xQzMzNi4xIDMzLjQgMzI4LjEgMzIgMzIwIDMyek0xMjggNDA4YzAgMzUuMyA4NiA3MiAxOTIgNzJzMTkyLTM2LjcgMTkyLTcyTDQ5Ni43IDI2Mi42IDM1NC41IDMxNGMtMTEuMSA0LTIyLjggNi0zNC41IDZzLTIzLjUtMi0zNC41LTZMMTQzLjMgMjYyLjYgMTI4IDQwOHpcIl1cbn07XG52YXIgZmFNb3J0YXJCb2FyZCA9IGZhR3JhZHVhdGlvbkNhcDtcbnZhciBmYUhhbmRIb2xkaW5nTWVkaWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLWhvbGRpbmctbWVkaWNhbCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTA1Y1wiLCBcIk0yMjQgMjRWODBIMTY4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHY0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGg1NnY1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNGg0OGMxMy4zIDAgMjQtMTAuNyAyNC0yNFYxNzZoNTZjMTMuMyAwIDI0LTEwLjcgMjQtMjRWMTA0YzAtMTMuMy0xMC43LTI0LTI0LTI0SDMyMFYyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNEgyNDhjLTEzLjMgMC0yNCAxMC43LTI0IDI0ek01NTkuNyAzOTIuMmMxNy44LTEzLjEgMjEuNi0zOC4xIDguNS01NS45cy0zOC4xLTIxLjYtNTUuOS04LjVMMzkyLjYgNDE2SDI3MmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmgxNiA2NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkgyODggMjcyIDE5My43Yy0yOS4xIDAtNTcuMyA5LjktODAgMjhMNjguOCAzODRIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjY0YzAgMTcuNyAxNC4zIDMyIDMyIDMySDE5MiAzNTIuNWMyOSAwIDU3LjMtOS4zIDgwLjctMjYuNWwxMjYuNi05My4zem0tMzY3LTguMmwuOSAwIDAgMGMtLjMgMC0uNiAwLS45IDB6XCJdXG59O1xudmFyIGZhUGVyc29uQ2lyY2xlQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWNpcmNsZS1jaGVjaycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTUzZVwiLCBcIk0xMTIgNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptNDAgMzA0VjQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMlYyNTYuOUw1OS40IDMwNC41Yy05LjEgMTUuMS0yOC44IDIwLTQzLjkgMTAuOXMtMjAtMjguOC0xMC45LTQzLjlsNTguMy05N2MxNy40LTI4LjkgNDguNi00Ni42IDgyLjMtNDYuNmgyOS43YzMzLjcgMCA2NC45IDE3LjcgODIuMyA0Ni42bDQ0LjkgNzQuN2MtMTYuMSAxNy42LTI4LjYgMzguNS0zNi42IDYxLjVjLTEuOS0xLjgtMy41LTMuOS00LjktNi4zTDIzMiAyNTYuOVY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMzUySDE1MnptMTM2IDE2YTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTIxMS4zLTQzLjNjLTYuMi02LjItMTYuNC02LjItMjIuNiAwTDQxNiAzODUuNGwtMjguNy0yOC43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDQwIDQwYzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwbDcyLTcyYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42elwiXVxufTtcbnZhciBmYVR1cm5VcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0dXJuLXVwJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTA1NDgsIFwibGV2ZWwtdXAtYWx0XCJdLCBcImYzYmZcIiwgXCJNMzUwIDE3Ny41YzMuOC04LjggMi0xOS00LjYtMjZsLTEzNi0xNDRDMjA0LjkgMi43IDE5OC42IDAgMTkyIDBzLTEyLjkgMi43LTE3LjQgNy41bC0xMzYgMTQ0Yy02LjYgNy04LjQgMTcuMi00LjYgMjZzMTIuNSAxNC41IDIyIDE0LjVoODhsMCAxOTJjMCAxNy43LTE0LjMgMzItMzIgMzJIMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDgwIDBjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhsMC0xOTJoODhjOS42IDAgMTguMi01LjcgMjItMTQuNXpcIl1cbn07XG52YXIgZmFMZXZlbFVwQWx0ID0gZmFUdXJuVXA7XG52YXIgaWNvbnMgPSB7XG4gIGZhMDogZmEwLFxuICBmYTE6IGZhMSxcbiAgZmEyOiBmYTIsXG4gIGZhMzogZmEzLFxuICBmYTQ6IGZhNCxcbiAgZmE1OiBmYTUsXG4gIGZhNjogZmE2LFxuICBmYTc6IGZhNyxcbiAgZmE4OiBmYTgsXG4gIGZhOTogZmE5LFxuICBmYUZpbGxEcmlwOiBmYUZpbGxEcmlwLFxuICBmYUFycm93c1RvQ2lyY2xlOiBmYUFycm93c1RvQ2lyY2xlLFxuICBmYUNpcmNsZUNoZXZyb25SaWdodDogZmFDaXJjbGVDaGV2cm9uUmlnaHQsXG4gIGZhQ2hldnJvbkNpcmNsZVJpZ2h0OiBmYUNoZXZyb25DaXJjbGVSaWdodCxcbiAgZmFBdDogZmFBdCxcbiAgZmFUcmFzaENhbjogZmFUcmFzaENhbixcbiAgZmFUcmFzaEFsdDogZmFUcmFzaEFsdCxcbiAgZmFUZXh0SGVpZ2h0OiBmYVRleHRIZWlnaHQsXG4gIGZhVXNlclhtYXJrOiBmYVVzZXJYbWFyayxcbiAgZmFVc2VyVGltZXM6IGZhVXNlclRpbWVzLFxuICBmYVN0ZXRob3Njb3BlOiBmYVN0ZXRob3Njb3BlLFxuICBmYU1lc3NhZ2U6IGZhTWVzc2FnZSxcbiAgZmFDb21tZW50QWx0OiBmYUNvbW1lbnRBbHQsXG4gIGZhSW5mbzogZmFJbmZvLFxuICBmYURvd25MZWZ0QW5kVXBSaWdodFRvQ2VudGVyOiBmYURvd25MZWZ0QW5kVXBSaWdodFRvQ2VudGVyLFxuICBmYUNvbXByZXNzQWx0OiBmYUNvbXByZXNzQWx0LFxuICBmYUV4cGxvc2lvbjogZmFFeHBsb3Npb24sXG4gIGZhRmlsZUxpbmVzOiBmYUZpbGVMaW5lcyxcbiAgZmFGaWxlQWx0OiBmYUZpbGVBbHQsXG4gIGZhRmlsZVRleHQ6IGZhRmlsZVRleHQsXG4gIGZhV2F2ZVNxdWFyZTogZmFXYXZlU3F1YXJlLFxuICBmYVJpbmc6IGZhUmluZyxcbiAgZmFCdWlsZGluZ1VuOiBmYUJ1aWxkaW5nVW4sXG4gIGZhRGljZVRocmVlOiBmYURpY2VUaHJlZSxcbiAgZmFDYWxlbmRhckRheXM6IGZhQ2FsZW5kYXJEYXlzLFxuICBmYUNhbGVuZGFyQWx0OiBmYUNhbGVuZGFyQWx0LFxuICBmYUFuY2hvckNpcmNsZUNoZWNrOiBmYUFuY2hvckNpcmNsZUNoZWNrLFxuICBmYUJ1aWxkaW5nQ2lyY2xlQXJyb3dSaWdodDogZmFCdWlsZGluZ0NpcmNsZUFycm93UmlnaHQsXG4gIGZhVm9sbGV5YmFsbDogZmFWb2xsZXliYWxsLFxuICBmYVZvbGxleWJhbGxCYWxsOiBmYVZvbGxleWJhbGxCYWxsLFxuICBmYUFycm93c1VwVG9MaW5lOiBmYUFycm93c1VwVG9MaW5lLFxuICBmYVNvcnREb3duOiBmYVNvcnREb3duLFxuICBmYVNvcnREZXNjOiBmYVNvcnREZXNjLFxuICBmYUNpcmNsZU1pbnVzOiBmYUNpcmNsZU1pbnVzLFxuICBmYU1pbnVzQ2lyY2xlOiBmYU1pbnVzQ2lyY2xlLFxuICBmYURvb3JPcGVuOiBmYURvb3JPcGVuLFxuICBmYVJpZ2h0RnJvbUJyYWNrZXQ6IGZhUmlnaHRGcm9tQnJhY2tldCxcbiAgZmFTaWduT3V0QWx0OiBmYVNpZ25PdXRBbHQsXG4gIGZhQXRvbTogZmFBdG9tLFxuICBmYVNvYXA6IGZhU29hcCxcbiAgZmFJY29uczogZmFJY29ucyxcbiAgZmFIZWFydE11c2ljQ2FtZXJhQm9sdDogZmFIZWFydE11c2ljQ2FtZXJhQm9sdCxcbiAgZmFNaWNyb3Bob25lTGluZXNTbGFzaDogZmFNaWNyb3Bob25lTGluZXNTbGFzaCxcbiAgZmFNaWNyb3Bob25lQWx0U2xhc2g6IGZhTWljcm9waG9uZUFsdFNsYXNoLFxuICBmYUJyaWRnZUNpcmNsZUNoZWNrOiBmYUJyaWRnZUNpcmNsZUNoZWNrLFxuICBmYVB1bXBNZWRpY2FsOiBmYVB1bXBNZWRpY2FsLFxuICBmYUZpbmdlcnByaW50OiBmYUZpbmdlcnByaW50LFxuICBmYUhhbmRQb2ludFJpZ2h0OiBmYUhhbmRQb2ludFJpZ2h0LFxuICBmYU1hZ25pZnlpbmdHbGFzc0xvY2F0aW9uOiBmYU1hZ25pZnlpbmdHbGFzc0xvY2F0aW9uLFxuICBmYVNlYXJjaExvY2F0aW9uOiBmYVNlYXJjaExvY2F0aW9uLFxuICBmYUZvcndhcmRTdGVwOiBmYUZvcndhcmRTdGVwLFxuICBmYVN0ZXBGb3J3YXJkOiBmYVN0ZXBGb3J3YXJkLFxuICBmYUZhY2VTbWlsZUJlYW06IGZhRmFjZVNtaWxlQmVhbSxcbiAgZmFTbWlsZUJlYW06IGZhU21pbGVCZWFtLFxuICBmYUZsYWdDaGVja2VyZWQ6IGZhRmxhZ0NoZWNrZXJlZCxcbiAgZmFGb290YmFsbDogZmFGb290YmFsbCxcbiAgZmFGb290YmFsbEJhbGw6IGZhRm9vdGJhbGxCYWxsLFxuICBmYVNjaG9vbENpcmNsZUV4Y2xhbWF0aW9uOiBmYVNjaG9vbENpcmNsZUV4Y2xhbWF0aW9uLFxuICBmYUNyb3A6IGZhQ3JvcCxcbiAgZmFBbmdsZXNEb3duOiBmYUFuZ2xlc0Rvd24sXG4gIGZhQW5nbGVEb3VibGVEb3duOiBmYUFuZ2xlRG91YmxlRG93bixcbiAgZmFVc2Vyc1JlY3RhbmdsZTogZmFVc2Vyc1JlY3RhbmdsZSxcbiAgZmFQZW9wbGVSb29mOiBmYVBlb3BsZVJvb2YsXG4gIGZhUGVvcGxlTGluZTogZmFQZW9wbGVMaW5lLFxuICBmYUJlZXJNdWdFbXB0eTogZmFCZWVyTXVnRW1wdHksXG4gIGZhQmVlcjogZmFCZWVyLFxuICBmYURpYWdyYW1QcmVkZWNlc3NvcjogZmFEaWFncmFtUHJlZGVjZXNzb3IsXG4gIGZhQXJyb3dVcExvbmc6IGZhQXJyb3dVcExvbmcsXG4gIGZhTG9uZ0Fycm93VXA6IGZhTG9uZ0Fycm93VXAsXG4gIGZhRmlyZUZsYW1lU2ltcGxlOiBmYUZpcmVGbGFtZVNpbXBsZSxcbiAgZmFCdXJuOiBmYUJ1cm4sXG4gIGZhUGVyc29uOiBmYVBlcnNvbixcbiAgZmFNYWxlOiBmYU1hbGUsXG4gIGZhTGFwdG9wOiBmYUxhcHRvcCxcbiAgZmFGaWxlQ3N2OiBmYUZpbGVDc3YsXG4gIGZhTWVub3JhaDogZmFNZW5vcmFoLFxuICBmYVRydWNrUGxhbmU6IGZhVHJ1Y2tQbGFuZSxcbiAgZmFSZWNvcmRWaW55bDogZmFSZWNvcmRWaW55bCxcbiAgZmFGYWNlR3JpblN0YXJzOiBmYUZhY2VHcmluU3RhcnMsXG4gIGZhR3JpblN0YXJzOiBmYUdyaW5TdGFycyxcbiAgZmFCb25nOiBmYUJvbmcsXG4gIGZhU3BhZ2hldHRpTW9uc3RlckZseWluZzogZmFTcGFnaGV0dGlNb25zdGVyRmx5aW5nLFxuICBmYVBhc3RhZmFyaWFuaXNtOiBmYVBhc3RhZmFyaWFuaXNtLFxuICBmYUFycm93RG93blVwQWNyb3NzTGluZTogZmFBcnJvd0Rvd25VcEFjcm9zc0xpbmUsXG4gIGZhU3Bvb246IGZhU3Bvb24sXG4gIGZhVXRlbnNpbFNwb29uOiBmYVV0ZW5zaWxTcG9vbixcbiAgZmFKYXJXaGVhdDogZmFKYXJXaGVhdCxcbiAgZmFFbnZlbG9wZXNCdWxrOiBmYUVudmVsb3Blc0J1bGssXG4gIGZhTWFpbEJ1bGs6IGZhTWFpbEJ1bGssXG4gIGZhRmlsZUNpcmNsZUV4Y2xhbWF0aW9uOiBmYUZpbGVDaXJjbGVFeGNsYW1hdGlvbixcbiAgZmFDaXJjbGVIOiBmYUNpcmNsZUgsXG4gIGZhSG9zcGl0YWxTeW1ib2w6IGZhSG9zcGl0YWxTeW1ib2wsXG4gIGZhUGFnZXI6IGZhUGFnZXIsXG4gIGZhQWRkcmVzc0Jvb2s6IGZhQWRkcmVzc0Jvb2ssXG4gIGZhQ29udGFjdEJvb2s6IGZhQ29udGFjdEJvb2ssXG4gIGZhU3RyaWtldGhyb3VnaDogZmFTdHJpa2V0aHJvdWdoLFxuICBmYUs6IGZhSyxcbiAgZmFMYW5kbWFya0ZsYWc6IGZhTGFuZG1hcmtGbGFnLFxuICBmYVBlbmNpbDogZmFQZW5jaWwsXG4gIGZhUGVuY2lsQWx0OiBmYVBlbmNpbEFsdCxcbiAgZmFCYWNrd2FyZDogZmFCYWNrd2FyZCxcbiAgZmFDYXJldFJpZ2h0OiBmYUNhcmV0UmlnaHQsXG4gIGZhQ29tbWVudHM6IGZhQ29tbWVudHMsXG4gIGZhUGFzdGU6IGZhUGFzdGUsXG4gIGZhRmlsZUNsaXBib2FyZDogZmFGaWxlQ2xpcGJvYXJkLFxuICBmYUNvZGVQdWxsUmVxdWVzdDogZmFDb2RlUHVsbFJlcXVlc3QsXG4gIGZhQ2xpcGJvYXJkTGlzdDogZmFDbGlwYm9hcmRMaXN0LFxuICBmYVRydWNrUmFtcEJveDogZmFUcnVja1JhbXBCb3gsXG4gIGZhVHJ1Y2tMb2FkaW5nOiBmYVRydWNrTG9hZGluZyxcbiAgZmFVc2VyQ2hlY2s6IGZhVXNlckNoZWNrLFxuICBmYVZpYWxWaXJ1czogZmFWaWFsVmlydXMsXG4gIGZhU2hlZXRQbGFzdGljOiBmYVNoZWV0UGxhc3RpYyxcbiAgZmFCbG9nOiBmYUJsb2csXG4gIGZhVXNlck5pbmphOiBmYVVzZXJOaW5qYSxcbiAgZmFQZXJzb25BcnJvd1VwRnJvbUxpbmU6IGZhUGVyc29uQXJyb3dVcEZyb21MaW5lLFxuICBmYVNjcm9sbFRvcmFoOiBmYVNjcm9sbFRvcmFoLFxuICBmYVRvcmFoOiBmYVRvcmFoLFxuICBmYUJyb29tQmFsbDogZmFCcm9vbUJhbGwsXG4gIGZhUXVpZGRpdGNoOiBmYVF1aWRkaXRjaCxcbiAgZmFRdWlkZGl0Y2hCcm9vbUJhbGw6IGZhUXVpZGRpdGNoQnJvb21CYWxsLFxuICBmYVRvZ2dsZU9mZjogZmFUb2dnbGVPZmYsXG4gIGZhQm94QXJjaGl2ZTogZmFCb3hBcmNoaXZlLFxuICBmYUFyY2hpdmU6IGZhQXJjaGl2ZSxcbiAgZmFQZXJzb25Ecm93bmluZzogZmFQZXJzb25Ecm93bmluZyxcbiAgZmFBcnJvd0Rvd245MTogZmFBcnJvd0Rvd245MSxcbiAgZmFTb3J0TnVtZXJpY0Rlc2M6IGZhU29ydE51bWVyaWNEZXNjLFxuICBmYVNvcnROdW1lcmljRG93bkFsdDogZmFTb3J0TnVtZXJpY0Rvd25BbHQsXG4gIGZhRmFjZUdyaW5Ub25ndWVTcXVpbnQ6IGZhRmFjZUdyaW5Ub25ndWVTcXVpbnQsXG4gIGZhR3JpblRvbmd1ZVNxdWludDogZmFHcmluVG9uZ3VlU3F1aW50LFxuICBmYVNwcmF5Q2FuOiBmYVNwcmF5Q2FuLFxuICBmYVRydWNrTW9uc3RlcjogZmFUcnVja01vbnN0ZXIsXG4gIGZhVzogZmFXLFxuICBmYUVhcnRoQWZyaWNhOiBmYUVhcnRoQWZyaWNhLFxuICBmYUdsb2JlQWZyaWNhOiBmYUdsb2JlQWZyaWNhLFxuICBmYVJhaW5ib3c6IGZhUmFpbmJvdyxcbiAgZmFDaXJjbGVOb3RjaDogZmFDaXJjbGVOb3RjaCxcbiAgZmFUYWJsZXRTY3JlZW5CdXR0b246IGZhVGFibGV0U2NyZWVuQnV0dG9uLFxuICBmYVRhYmxldEFsdDogZmFUYWJsZXRBbHQsXG4gIGZhUGF3OiBmYVBhdyxcbiAgZmFDbG91ZDogZmFDbG91ZCxcbiAgZmFUcm93ZWxCcmlja3M6IGZhVHJvd2VsQnJpY2tzLFxuICBmYUZhY2VGbHVzaGVkOiBmYUZhY2VGbHVzaGVkLFxuICBmYUZsdXNoZWQ6IGZhRmx1c2hlZCxcbiAgZmFIb3NwaXRhbFVzZXI6IGZhSG9zcGl0YWxVc2VyLFxuICBmYVRlbnRBcnJvd0xlZnRSaWdodDogZmFUZW50QXJyb3dMZWZ0UmlnaHQsXG4gIGZhR2F2ZWw6IGZhR2F2ZWwsXG4gIGZhTGVnYWw6IGZhTGVnYWwsXG4gIGZhQmlub2N1bGFyczogZmFCaW5vY3VsYXJzLFxuICBmYU1pY3JvcGhvbmVTbGFzaDogZmFNaWNyb3Bob25lU2xhc2gsXG4gIGZhQm94VGlzc3VlOiBmYUJveFRpc3N1ZSxcbiAgZmFNb3RvcmN5Y2xlOiBmYU1vdG9yY3ljbGUsXG4gIGZhQmVsbENvbmNpZXJnZTogZmFCZWxsQ29uY2llcmdlLFxuICBmYUNvbmNpZXJnZUJlbGw6IGZhQ29uY2llcmdlQmVsbCxcbiAgZmFQZW5SdWxlcjogZmFQZW5SdWxlcixcbiAgZmFQZW5jaWxSdWxlcjogZmFQZW5jaWxSdWxlcixcbiAgZmFQZW9wbGVBcnJvd3M6IGZhUGVvcGxlQXJyb3dzLFxuICBmYVBlb3BsZUFycm93c0xlZnRSaWdodDogZmFQZW9wbGVBcnJvd3NMZWZ0UmlnaHQsXG4gIGZhTWFyc0FuZFZlbnVzQnVyc3Q6IGZhTWFyc0FuZFZlbnVzQnVyc3QsXG4gIGZhU3F1YXJlQ2FyZXRSaWdodDogZmFTcXVhcmVDYXJldFJpZ2h0LFxuICBmYUNhcmV0U3F1YXJlUmlnaHQ6IGZhQ2FyZXRTcXVhcmVSaWdodCxcbiAgZmFTY2lzc29yczogZmFTY2lzc29ycyxcbiAgZmFDdXQ6IGZhQ3V0LFxuICBmYVN1blBsYW50V2lsdDogZmFTdW5QbGFudFdpbHQsXG4gIGZhVG9pbGV0c1BvcnRhYmxlOiBmYVRvaWxldHNQb3J0YWJsZSxcbiAgZmFIb2NrZXlQdWNrOiBmYUhvY2tleVB1Y2ssXG4gIGZhVGFibGU6IGZhVGFibGUsXG4gIGZhTWFnbmlmeWluZ0dsYXNzQXJyb3dSaWdodDogZmFNYWduaWZ5aW5nR2xhc3NBcnJvd1JpZ2h0LFxuICBmYVRhY2hvZ3JhcGhEaWdpdGFsOiBmYVRhY2hvZ3JhcGhEaWdpdGFsLFxuICBmYURpZ2l0YWxUYWNob2dyYXBoOiBmYURpZ2l0YWxUYWNob2dyYXBoLFxuICBmYVVzZXJzU2xhc2g6IGZhVXNlcnNTbGFzaCxcbiAgZmFDbG92ZXI6IGZhQ2xvdmVyLFxuICBmYVJlcGx5OiBmYVJlcGx5LFxuICBmYU1haWxSZXBseTogZmFNYWlsUmVwbHksXG4gIGZhU3RhckFuZENyZXNjZW50OiBmYVN0YXJBbmRDcmVzY2VudCxcbiAgZmFIb3VzZUZpcmU6IGZhSG91c2VGaXJlLFxuICBmYVNxdWFyZU1pbnVzOiBmYVNxdWFyZU1pbnVzLFxuICBmYU1pbnVzU3F1YXJlOiBmYU1pbnVzU3F1YXJlLFxuICBmYUhlbGljb3B0ZXI6IGZhSGVsaWNvcHRlcixcbiAgZmFDb21wYXNzOiBmYUNvbXBhc3MsXG4gIGZhU3F1YXJlQ2FyZXREb3duOiBmYVNxdWFyZUNhcmV0RG93bixcbiAgZmFDYXJldFNxdWFyZURvd246IGZhQ2FyZXRTcXVhcmVEb3duLFxuICBmYUZpbGVDaXJjbGVRdWVzdGlvbjogZmFGaWxlQ2lyY2xlUXVlc3Rpb24sXG4gIGZhTGFwdG9wQ29kZTogZmFMYXB0b3BDb2RlLFxuICBmYVN3YXRjaGJvb2s6IGZhU3dhdGNoYm9vayxcbiAgZmFQcmVzY3JpcHRpb25Cb3R0bGU6IGZhUHJlc2NyaXB0aW9uQm90dGxlLFxuICBmYUJhcnM6IGZhQmFycyxcbiAgZmFOYXZpY29uOiBmYU5hdmljb24sXG4gIGZhUGVvcGxlR3JvdXA6IGZhUGVvcGxlR3JvdXAsXG4gIGZhSG91cmdsYXNzRW5kOiBmYUhvdXJnbGFzc0VuZCxcbiAgZmFIb3VyZ2xhc3MzOiBmYUhvdXJnbGFzczMsXG4gIGZhSGVhcnRDcmFjazogZmFIZWFydENyYWNrLFxuICBmYUhlYXJ0QnJva2VuOiBmYUhlYXJ0QnJva2VuLFxuICBmYVNxdWFyZVVwUmlnaHQ6IGZhU3F1YXJlVXBSaWdodCxcbiAgZmFFeHRlcm5hbExpbmtTcXVhcmVBbHQ6IGZhRXh0ZXJuYWxMaW5rU3F1YXJlQWx0LFxuICBmYUZhY2VLaXNzQmVhbTogZmFGYWNlS2lzc0JlYW0sXG4gIGZhS2lzc0JlYW06IGZhS2lzc0JlYW0sXG4gIGZhRmlsbTogZmFGaWxtLFxuICBmYVJ1bGVySG9yaXpvbnRhbDogZmFSdWxlckhvcml6b250YWwsXG4gIGZhUGVvcGxlUm9iYmVyeTogZmFQZW9wbGVSb2JiZXJ5LFxuICBmYUxpZ2h0YnVsYjogZmFMaWdodGJ1bGIsXG4gIGZhQ2FyZXRMZWZ0OiBmYUNhcmV0TGVmdCxcbiAgZmFDaXJjbGVFeGNsYW1hdGlvbjogZmFDaXJjbGVFeGNsYW1hdGlvbixcbiAgZmFFeGNsYW1hdGlvbkNpcmNsZTogZmFFeGNsYW1hdGlvbkNpcmNsZSxcbiAgZmFTY2hvb2xDaXJjbGVYbWFyazogZmFTY2hvb2xDaXJjbGVYbWFyayxcbiAgZmFBcnJvd1JpZ2h0RnJvbUJyYWNrZXQ6IGZhQXJyb3dSaWdodEZyb21CcmFja2V0LFxuICBmYVNpZ25PdXQ6IGZhU2lnbk91dCxcbiAgZmFDaXJjbGVDaGV2cm9uRG93bjogZmFDaXJjbGVDaGV2cm9uRG93bixcbiAgZmFDaGV2cm9uQ2lyY2xlRG93bjogZmFDaGV2cm9uQ2lyY2xlRG93bixcbiAgZmFVbmxvY2tLZXlob2xlOiBmYVVubG9ja0tleWhvbGUsXG4gIGZhVW5sb2NrQWx0OiBmYVVubG9ja0FsdCxcbiAgZmFDbG91ZFNob3dlcnNIZWF2eTogZmFDbG91ZFNob3dlcnNIZWF2eSxcbiAgZmFIZWFkcGhvbmVzU2ltcGxlOiBmYUhlYWRwaG9uZXNTaW1wbGUsXG4gIGZhSGVhZHBob25lc0FsdDogZmFIZWFkcGhvbmVzQWx0LFxuICBmYVNpdGVtYXA6IGZhU2l0ZW1hcCxcbiAgZmFDaXJjbGVEb2xsYXJUb1Nsb3Q6IGZhQ2lyY2xlRG9sbGFyVG9TbG90LFxuICBmYURvbmF0ZTogZmFEb25hdGUsXG4gIGZhTWVtb3J5OiBmYU1lbW9yeSxcbiAgZmFSb2FkU3Bpa2VzOiBmYVJvYWRTcGlrZXMsXG4gIGZhRmlyZUJ1cm5lcjogZmFGaXJlQnVybmVyLFxuICBmYUZsYWc6IGZhRmxhZyxcbiAgZmFIYW51a2lhaDogZmFIYW51a2lhaCxcbiAgZmFGZWF0aGVyOiBmYUZlYXRoZXIsXG4gIGZhVm9sdW1lTG93OiBmYVZvbHVtZUxvdyxcbiAgZmFWb2x1bWVEb3duOiBmYVZvbHVtZURvd24sXG4gIGZhQ29tbWVudFNsYXNoOiBmYUNvbW1lbnRTbGFzaCxcbiAgZmFDbG91ZFN1blJhaW46IGZhQ2xvdWRTdW5SYWluLFxuICBmYUNvbXByZXNzOiBmYUNvbXByZXNzLFxuICBmYVdoZWF0QXduOiBmYVdoZWF0QXduLFxuICBmYVdoZWF0QWx0OiBmYVdoZWF0QWx0LFxuICBmYUFua2g6IGZhQW5raCxcbiAgZmFIYW5kc0hvbGRpbmdDaGlsZDogZmFIYW5kc0hvbGRpbmdDaGlsZCxcbiAgZmFBc3RlcmlzazogZmFBc3RlcmlzayxcbiAgZmFTcXVhcmVDaGVjazogZmFTcXVhcmVDaGVjayxcbiAgZmFDaGVja1NxdWFyZTogZmFDaGVja1NxdWFyZSxcbiAgZmFQZXNldGFTaWduOiBmYVBlc2V0YVNpZ24sXG4gIGZhSGVhZGluZzogZmFIZWFkaW5nLFxuICBmYUhlYWRlcjogZmFIZWFkZXIsXG4gIGZhR2hvc3Q6IGZhR2hvc3QsXG4gIGZhTGlzdDogZmFMaXN0LFxuICBmYUxpc3RTcXVhcmVzOiBmYUxpc3RTcXVhcmVzLFxuICBmYVNxdWFyZVBob25lRmxpcDogZmFTcXVhcmVQaG9uZUZsaXAsXG4gIGZhUGhvbmVTcXVhcmVBbHQ6IGZhUGhvbmVTcXVhcmVBbHQsXG4gIGZhQ2FydFBsdXM6IGZhQ2FydFBsdXMsXG4gIGZhR2FtZXBhZDogZmFHYW1lcGFkLFxuICBmYUNpcmNsZURvdDogZmFDaXJjbGVEb3QsXG4gIGZhRG90Q2lyY2xlOiBmYURvdENpcmNsZSxcbiAgZmFGYWNlRGl6enk6IGZhRmFjZURpenp5LFxuICBmYURpenp5OiBmYURpenp5LFxuICBmYUVnZzogZmFFZ2csXG4gIGZhSG91c2VNZWRpY2FsQ2lyY2xlWG1hcms6IGZhSG91c2VNZWRpY2FsQ2lyY2xlWG1hcmssXG4gIGZhQ2FtcGdyb3VuZDogZmFDYW1wZ3JvdW5kLFxuICBmYUZvbGRlclBsdXM6IGZhRm9sZGVyUGx1cyxcbiAgZmFGdXRib2w6IGZhRnV0Ym9sLFxuICBmYUZ1dGJvbEJhbGw6IGZhRnV0Ym9sQmFsbCxcbiAgZmFTb2NjZXJCYWxsOiBmYVNvY2NlckJhbGwsXG4gIGZhUGFpbnRicnVzaDogZmFQYWludGJydXNoLFxuICBmYVBhaW50QnJ1c2g6IGZhUGFpbnRCcnVzaCxcbiAgZmFMb2NrOiBmYUxvY2ssXG4gIGZhR2FzUHVtcDogZmFHYXNQdW1wLFxuICBmYUhvdFR1YlBlcnNvbjogZmFIb3RUdWJQZXJzb24sXG4gIGZhSG90VHViOiBmYUhvdFR1YixcbiAgZmFNYXBMb2NhdGlvbjogZmFNYXBMb2NhdGlvbixcbiAgZmFNYXBNYXJrZWQ6IGZhTWFwTWFya2VkLFxuICBmYUhvdXNlRmxvb2RXYXRlcjogZmFIb3VzZUZsb29kV2F0ZXIsXG4gIGZhVHJlZTogZmFUcmVlLFxuICBmYUJyaWRnZUxvY2s6IGZhQnJpZGdlTG9jayxcbiAgZmFTYWNrRG9sbGFyOiBmYVNhY2tEb2xsYXIsXG4gIGZhUGVuVG9TcXVhcmU6IGZhUGVuVG9TcXVhcmUsXG4gIGZhRWRpdDogZmFFZGl0LFxuICBmYUNhclNpZGU6IGZhQ2FyU2lkZSxcbiAgZmFTaGFyZU5vZGVzOiBmYVNoYXJlTm9kZXMsXG4gIGZhU2hhcmVBbHQ6IGZhU2hhcmVBbHQsXG4gIGZhSGVhcnRDaXJjbGVNaW51czogZmFIZWFydENpcmNsZU1pbnVzLFxuICBmYUhvdXJnbGFzc0hhbGY6IGZhSG91cmdsYXNzSGFsZixcbiAgZmFIb3VyZ2xhc3MyOiBmYUhvdXJnbGFzczIsXG4gIGZhTWljcm9zY29wZTogZmFNaWNyb3Njb3BlLFxuICBmYVNpbms6IGZhU2luayxcbiAgZmFCYWdTaG9wcGluZzogZmFCYWdTaG9wcGluZyxcbiAgZmFTaG9wcGluZ0JhZzogZmFTaG9wcGluZ0JhZyxcbiAgZmFBcnJvd0Rvd25aQTogZmFBcnJvd0Rvd25aQSxcbiAgZmFTb3J0QWxwaGFEZXNjOiBmYVNvcnRBbHBoYURlc2MsXG4gIGZhU29ydEFscGhhRG93bkFsdDogZmFTb3J0QWxwaGFEb3duQWx0LFxuICBmYU1pdHRlbjogZmFNaXR0ZW4sXG4gIGZhUGVyc29uUmF5czogZmFQZXJzb25SYXlzLFxuICBmYVVzZXJzOiBmYVVzZXJzLFxuICBmYUV5ZVNsYXNoOiBmYUV5ZVNsYXNoLFxuICBmYUZsYXNrVmlhbDogZmFGbGFza1ZpYWwsXG4gIGZhSGFuZDogZmFIYW5kLFxuICBmYUhhbmRQYXBlcjogZmFIYW5kUGFwZXIsXG4gIGZhT206IGZhT20sXG4gIGZhV29ybTogZmFXb3JtLFxuICBmYUhvdXNlQ2lyY2xlWG1hcms6IGZhSG91c2VDaXJjbGVYbWFyayxcbiAgZmFQbHVnOiBmYVBsdWcsXG4gIGZhQ2hldnJvblVwOiBmYUNoZXZyb25VcCxcbiAgZmFIYW5kU3BvY2s6IGZhSGFuZFNwb2NrLFxuICBmYVN0b3B3YXRjaDogZmFTdG9wd2F0Y2gsXG4gIGZhRmFjZUtpc3M6IGZhRmFjZUtpc3MsXG4gIGZhS2lzczogZmFLaXNzLFxuICBmYUJyaWRnZUNpcmNsZVhtYXJrOiBmYUJyaWRnZUNpcmNsZVhtYXJrLFxuICBmYUZhY2VHcmluVG9uZ3VlOiBmYUZhY2VHcmluVG9uZ3VlLFxuICBmYUdyaW5Ub25ndWU6IGZhR3JpblRvbmd1ZSxcbiAgZmFDaGVzc0Jpc2hvcDogZmFDaGVzc0Jpc2hvcCxcbiAgZmFGYWNlR3Jpbldpbms6IGZhRmFjZUdyaW5XaW5rLFxuICBmYUdyaW5XaW5rOiBmYUdyaW5XaW5rLFxuICBmYUVhckRlYWY6IGZhRWFyRGVhZixcbiAgZmFEZWFmOiBmYURlYWYsXG4gIGZhRGVhZm5lc3M6IGZhRGVhZm5lc3MsXG4gIGZhSGFyZE9mSGVhcmluZzogZmFIYXJkT2ZIZWFyaW5nLFxuICBmYVJvYWRDaXJjbGVDaGVjazogZmFSb2FkQ2lyY2xlQ2hlY2ssXG4gIGZhRGljZUZpdmU6IGZhRGljZUZpdmUsXG4gIGZhU3F1YXJlUnNzOiBmYVNxdWFyZVJzcyxcbiAgZmFSc3NTcXVhcmU6IGZhUnNzU3F1YXJlLFxuICBmYUxhbmRNaW5lT246IGZhTGFuZE1pbmVPbixcbiAgZmFJQ3Vyc29yOiBmYUlDdXJzb3IsXG4gIGZhU3RhbXA6IGZhU3RhbXAsXG4gIGZhU3RhaXJzOiBmYVN0YWlycyxcbiAgZmFJOiBmYUksXG4gIGZhSHJ5dm5pYVNpZ246IGZhSHJ5dm5pYVNpZ24sXG4gIGZhSHJ5dm5pYTogZmFIcnl2bmlhLFxuICBmYVBpbGxzOiBmYVBpbGxzLFxuICBmYUZhY2VHcmluV2lkZTogZmFGYWNlR3JpbldpZGUsXG4gIGZhR3JpbkFsdDogZmFHcmluQWx0LFxuICBmYVRvb3RoOiBmYVRvb3RoLFxuICBmYVY6IGZhVixcbiAgZmFCYW5nbGFkZXNoaVRha2FTaWduOiBmYUJhbmdsYWRlc2hpVGFrYVNpZ24sXG4gIGZhQmljeWNsZTogZmFCaWN5Y2xlLFxuICBmYVN0YWZmU25ha2U6IGZhU3RhZmZTbmFrZSxcbiAgZmFSb2RBc2NsZXBpdXM6IGZhUm9kQXNjbGVwaXVzLFxuICBmYVJvZFNuYWtlOiBmYVJvZFNuYWtlLFxuICBmYVN0YWZmQWVzY3VsYXBpdXM6IGZhU3RhZmZBZXNjdWxhcGl1cyxcbiAgZmFIZWFkU2lkZUNvdWdoU2xhc2g6IGZhSGVhZFNpZGVDb3VnaFNsYXNoLFxuICBmYVRydWNrTWVkaWNhbDogZmFUcnVja01lZGljYWwsXG4gIGZhQW1idWxhbmNlOiBmYUFtYnVsYW5jZSxcbiAgZmFXaGVhdEF3bkNpcmNsZUV4Y2xhbWF0aW9uOiBmYVdoZWF0QXduQ2lyY2xlRXhjbGFtYXRpb24sXG4gIGZhU25vd21hbjogZmFTbm93bWFuLFxuICBmYU1vcnRhclBlc3RsZTogZmFNb3J0YXJQZXN0bGUsXG4gIGZhUm9hZEJhcnJpZXI6IGZhUm9hZEJhcnJpZXIsXG4gIGZhU2Nob29sOiBmYVNjaG9vbCxcbiAgZmFJZ2xvbzogZmFJZ2xvbyxcbiAgZmFKb2ludDogZmFKb2ludCxcbiAgZmFBbmdsZVJpZ2h0OiBmYUFuZ2xlUmlnaHQsXG4gIGZhSG9yc2U6IGZhSG9yc2UsXG4gIGZhUTogZmFRLFxuICBmYUc6IGZhRyxcbiAgZmFOb3Rlc01lZGljYWw6IGZhTm90ZXNNZWRpY2FsLFxuICBmYVRlbXBlcmF0dXJlSGFsZjogZmFUZW1wZXJhdHVyZUhhbGYsXG4gIGZhVGVtcGVyYXR1cmUyOiBmYVRlbXBlcmF0dXJlMixcbiAgZmFUaGVybW9tZXRlcjI6IGZhVGhlcm1vbWV0ZXIyLFxuICBmYVRoZXJtb21ldGVySGFsZjogZmFUaGVybW9tZXRlckhhbGYsXG4gIGZhRG9uZ1NpZ246IGZhRG9uZ1NpZ24sXG4gIGZhQ2Fwc3VsZXM6IGZhQ2Fwc3VsZXMsXG4gIGZhUG9vU3Rvcm06IGZhUG9vU3Rvcm0sXG4gIGZhUG9vQm9sdDogZmFQb29Cb2x0LFxuICBmYUZhY2VGcm93bk9wZW46IGZhRmFjZUZyb3duT3BlbixcbiAgZmFGcm93bk9wZW46IGZhRnJvd25PcGVuLFxuICBmYUhhbmRQb2ludFVwOiBmYUhhbmRQb2ludFVwLFxuICBmYU1vbmV5QmlsbDogZmFNb25leUJpbGwsXG4gIGZhQm9va21hcms6IGZhQm9va21hcmssXG4gIGZhQWxpZ25KdXN0aWZ5OiBmYUFsaWduSnVzdGlmeSxcbiAgZmFVbWJyZWxsYUJlYWNoOiBmYVVtYnJlbGxhQmVhY2gsXG4gIGZhSGVsbWV0VW46IGZhSGVsbWV0VW4sXG4gIGZhQnVsbHNleWU6IGZhQnVsbHNleWUsXG4gIGZhQmFjb246IGZhQmFjb24sXG4gIGZhSGFuZFBvaW50RG93bjogZmFIYW5kUG9pbnREb3duLFxuICBmYUFycm93VXBGcm9tQnJhY2tldDogZmFBcnJvd1VwRnJvbUJyYWNrZXQsXG4gIGZhRm9sZGVyOiBmYUZvbGRlcixcbiAgZmFGb2xkZXJCbGFuazogZmFGb2xkZXJCbGFuayxcbiAgZmFGaWxlV2F2ZWZvcm06IGZhRmlsZVdhdmVmb3JtLFxuICBmYUZpbGVNZWRpY2FsQWx0OiBmYUZpbGVNZWRpY2FsQWx0LFxuICBmYVJhZGlhdGlvbjogZmFSYWRpYXRpb24sXG4gIGZhQ2hhcnRTaW1wbGU6IGZhQ2hhcnRTaW1wbGUsXG4gIGZhTWFyc1N0cm9rZTogZmFNYXJzU3Ryb2tlLFxuICBmYVZpYWw6IGZhVmlhbCxcbiAgZmFHYXVnZTogZmFHYXVnZSxcbiAgZmFEYXNoYm9hcmQ6IGZhRGFzaGJvYXJkLFxuICBmYUdhdWdlTWVkOiBmYUdhdWdlTWVkLFxuICBmYVRhY2hvbWV0ZXJBbHRBdmVyYWdlOiBmYVRhY2hvbWV0ZXJBbHRBdmVyYWdlLFxuICBmYVdhbmRNYWdpY1NwYXJrbGVzOiBmYVdhbmRNYWdpY1NwYXJrbGVzLFxuICBmYU1hZ2ljV2FuZFNwYXJrbGVzOiBmYU1hZ2ljV2FuZFNwYXJrbGVzLFxuICBmYUU6IGZhRSxcbiAgZmFQZW5DbGlwOiBmYVBlbkNsaXAsXG4gIGZhUGVuQWx0OiBmYVBlbkFsdCxcbiAgZmFCcmlkZ2VDaXJjbGVFeGNsYW1hdGlvbjogZmFCcmlkZ2VDaXJjbGVFeGNsYW1hdGlvbixcbiAgZmFVc2VyOiBmYVVzZXIsXG4gIGZhU2Nob29sQ2lyY2xlQ2hlY2s6IGZhU2Nob29sQ2lyY2xlQ2hlY2ssXG4gIGZhRHVtcHN0ZXI6IGZhRHVtcHN0ZXIsXG4gIGZhVmFuU2h1dHRsZTogZmFWYW5TaHV0dGxlLFxuICBmYVNodXR0bGVWYW46IGZhU2h1dHRsZVZhbixcbiAgZmFCdWlsZGluZ1VzZXI6IGZhQnVpbGRpbmdVc2VyLFxuICBmYVNxdWFyZUNhcmV0TGVmdDogZmFTcXVhcmVDYXJldExlZnQsXG4gIGZhQ2FyZXRTcXVhcmVMZWZ0OiBmYUNhcmV0U3F1YXJlTGVmdCxcbiAgZmFIaWdobGlnaHRlcjogZmFIaWdobGlnaHRlcixcbiAgZmFLZXk6IGZhS2V5LFxuICBmYUJ1bGxob3JuOiBmYUJ1bGxob3JuLFxuICBmYUdsb2JlOiBmYUdsb2JlLFxuICBmYVN5bmFnb2d1ZTogZmFTeW5hZ29ndWUsXG4gIGZhUGVyc29uSGFsZkRyZXNzOiBmYVBlcnNvbkhhbGZEcmVzcyxcbiAgZmFSb2FkQnJpZGdlOiBmYVJvYWRCcmlkZ2UsXG4gIGZhTG9jYXRpb25BcnJvdzogZmFMb2NhdGlvbkFycm93LFxuICBmYUM6IGZhQyxcbiAgZmFUYWJsZXRCdXR0b246IGZhVGFibGV0QnV0dG9uLFxuICBmYUJ1aWxkaW5nTG9jazogZmFCdWlsZGluZ0xvY2ssXG4gIGZhUGl6emFTbGljZTogZmFQaXp6YVNsaWNlLFxuICBmYU1vbmV5QmlsbFdhdmU6IGZhTW9uZXlCaWxsV2F2ZSxcbiAgZmFDaGFydEFyZWE6IGZhQ2hhcnRBcmVhLFxuICBmYUFyZWFDaGFydDogZmFBcmVhQ2hhcnQsXG4gIGZhSG91c2VGbGFnOiBmYUhvdXNlRmxhZyxcbiAgZmFQZXJzb25DaXJjbGVNaW51czogZmFQZXJzb25DaXJjbGVNaW51cyxcbiAgZmFCYW46IGZhQmFuLFxuICBmYUNhbmNlbDogZmFDYW5jZWwsXG4gIGZhQ2FtZXJhUm90YXRlOiBmYUNhbWVyYVJvdGF0ZSxcbiAgZmFTcHJheUNhblNwYXJrbGVzOiBmYVNwcmF5Q2FuU3BhcmtsZXMsXG4gIGZhQWlyRnJlc2hlbmVyOiBmYUFpckZyZXNoZW5lcixcbiAgZmFTdGFyOiBmYVN0YXIsXG4gIGZhUmVwZWF0OiBmYVJlcGVhdCxcbiAgZmFDcm9zczogZmFDcm9zcyxcbiAgZmFCb3g6IGZhQm94LFxuICBmYVZlbnVzTWFyczogZmFWZW51c01hcnMsXG4gIGZhQXJyb3dQb2ludGVyOiBmYUFycm93UG9pbnRlcixcbiAgZmFNb3VzZVBvaW50ZXI6IGZhTW91c2VQb2ludGVyLFxuICBmYU1heGltaXplOiBmYU1heGltaXplLFxuICBmYUV4cGFuZEFycm93c0FsdDogZmFFeHBhbmRBcnJvd3NBbHQsXG4gIGZhQ2hhcmdpbmdTdGF0aW9uOiBmYUNoYXJnaW5nU3RhdGlvbixcbiAgZmFTaGFwZXM6IGZhU2hhcGVzLFxuICBmYVRyaWFuZ2xlQ2lyY2xlU3F1YXJlOiBmYVRyaWFuZ2xlQ2lyY2xlU3F1YXJlLFxuICBmYVNodWZmbGU6IGZhU2h1ZmZsZSxcbiAgZmFSYW5kb206IGZhUmFuZG9tLFxuICBmYVBlcnNvblJ1bm5pbmc6IGZhUGVyc29uUnVubmluZyxcbiAgZmFSdW5uaW5nOiBmYVJ1bm5pbmcsXG4gIGZhTW9iaWxlUmV0cm86IGZhTW9iaWxlUmV0cm8sXG4gIGZhR3JpcExpbmVzVmVydGljYWw6IGZhR3JpcExpbmVzVmVydGljYWwsXG4gIGZhU3BpZGVyOiBmYVNwaWRlcixcbiAgZmFIYW5kc0JvdW5kOiBmYUhhbmRzQm91bmQsXG4gIGZhRmlsZUludm9pY2VEb2xsYXI6IGZhRmlsZUludm9pY2VEb2xsYXIsXG4gIGZhUGxhbmVDaXJjbGVFeGNsYW1hdGlvbjogZmFQbGFuZUNpcmNsZUV4Y2xhbWF0aW9uLFxuICBmYVhSYXk6IGZhWFJheSxcbiAgZmFTcGVsbENoZWNrOiBmYVNwZWxsQ2hlY2ssXG4gIGZhU2xhc2g6IGZhU2xhc2gsXG4gIGZhQ29tcHV0ZXJNb3VzZTogZmFDb21wdXRlck1vdXNlLFxuICBmYU1vdXNlOiBmYU1vdXNlLFxuICBmYUFycm93UmlnaHRUb0JyYWNrZXQ6IGZhQXJyb3dSaWdodFRvQnJhY2tldCxcbiAgZmFTaWduSW46IGZhU2lnbkluLFxuICBmYVNob3BTbGFzaDogZmFTaG9wU2xhc2gsXG4gIGZhU3RvcmVBbHRTbGFzaDogZmFTdG9yZUFsdFNsYXNoLFxuICBmYVNlcnZlcjogZmFTZXJ2ZXIsXG4gIGZhVmlydXNDb3ZpZFNsYXNoOiBmYVZpcnVzQ292aWRTbGFzaCxcbiAgZmFTaG9wTG9jazogZmFTaG9wTG9jayxcbiAgZmFIb3VyZ2xhc3NTdGFydDogZmFIb3VyZ2xhc3NTdGFydCxcbiAgZmFIb3VyZ2xhc3MxOiBmYUhvdXJnbGFzczEsXG4gIGZhQmxlbmRlclBob25lOiBmYUJsZW5kZXJQaG9uZSxcbiAgZmFCdWlsZGluZ1doZWF0OiBmYUJ1aWxkaW5nV2hlYXQsXG4gIGZhUGVyc29uQnJlYXN0ZmVlZGluZzogZmFQZXJzb25CcmVhc3RmZWVkaW5nLFxuICBmYVJpZ2h0VG9CcmFja2V0OiBmYVJpZ2h0VG9CcmFja2V0LFxuICBmYVNpZ25JbkFsdDogZmFTaWduSW5BbHQsXG4gIGZhVmVudXM6IGZhVmVudXMsXG4gIGZhUGFzc3BvcnQ6IGZhUGFzc3BvcnQsXG4gIGZhSGVhcnRQdWxzZTogZmFIZWFydFB1bHNlLFxuICBmYUhlYXJ0YmVhdDogZmFIZWFydGJlYXQsXG4gIGZhUGVvcGxlQ2FycnlCb3g6IGZhUGVvcGxlQ2FycnlCb3gsXG4gIGZhUGVvcGxlQ2Fycnk6IGZhUGVvcGxlQ2FycnksXG4gIGZhVGVtcGVyYXR1cmVIaWdoOiBmYVRlbXBlcmF0dXJlSGlnaCxcbiAgZmFNaWNyb2NoaXA6IGZhTWljcm9jaGlwLFxuICBmYUNyb3duOiBmYUNyb3duLFxuICBmYVdlaWdodEhhbmdpbmc6IGZhV2VpZ2h0SGFuZ2luZyxcbiAgZmFYbWFya3NMaW5lczogZmFYbWFya3NMaW5lcyxcbiAgZmFGaWxlUHJlc2NyaXB0aW9uOiBmYUZpbGVQcmVzY3JpcHRpb24sXG4gIGZhV2VpZ2h0U2NhbGU6IGZhV2VpZ2h0U2NhbGUsXG4gIGZhV2VpZ2h0OiBmYVdlaWdodCxcbiAgZmFVc2VyR3JvdXA6IGZhVXNlckdyb3VwLFxuICBmYVVzZXJGcmllbmRzOiBmYVVzZXJGcmllbmRzLFxuICBmYUFycm93VXBBWjogZmFBcnJvd1VwQVosXG4gIGZhU29ydEFscGhhVXA6IGZhU29ydEFscGhhVXAsXG4gIGZhQ2hlc3NLbmlnaHQ6IGZhQ2hlc3NLbmlnaHQsXG4gIGZhRmFjZUxhdWdoU3F1aW50OiBmYUZhY2VMYXVnaFNxdWludCxcbiAgZmFMYXVnaFNxdWludDogZmFMYXVnaFNxdWludCxcbiAgZmFXaGVlbGNoYWlyOiBmYVdoZWVsY2hhaXIsXG4gIGZhQ2lyY2xlQXJyb3dVcDogZmFDaXJjbGVBcnJvd1VwLFxuICBmYUFycm93Q2lyY2xlVXA6IGZhQXJyb3dDaXJjbGVVcCxcbiAgZmFUb2dnbGVPbjogZmFUb2dnbGVPbixcbiAgZmFQZXJzb25XYWxraW5nOiBmYVBlcnNvbldhbGtpbmcsXG4gIGZhV2Fsa2luZzogZmFXYWxraW5nLFxuICBmYUw6IGZhTCxcbiAgZmFGaXJlOiBmYUZpcmUsXG4gIGZhQmVkUHVsc2U6IGZhQmVkUHVsc2UsXG4gIGZhUHJvY2VkdXJlczogZmFQcm9jZWR1cmVzLFxuICBmYVNodXR0bGVTcGFjZTogZmFTaHV0dGxlU3BhY2UsXG4gIGZhU3BhY2VTaHV0dGxlOiBmYVNwYWNlU2h1dHRsZSxcbiAgZmFGYWNlTGF1Z2g6IGZhRmFjZUxhdWdoLFxuICBmYUxhdWdoOiBmYUxhdWdoLFxuICBmYUZvbGRlck9wZW46IGZhRm9sZGVyT3BlbixcbiAgZmFIZWFydENpcmNsZVBsdXM6IGZhSGVhcnRDaXJjbGVQbHVzLFxuICBmYUNvZGVGb3JrOiBmYUNvZGVGb3JrLFxuICBmYUNpdHk6IGZhQ2l0eSxcbiAgZmFNaWNyb3Bob25lTGluZXM6IGZhTWljcm9waG9uZUxpbmVzLFxuICBmYU1pY3JvcGhvbmVBbHQ6IGZhTWljcm9waG9uZUFsdCxcbiAgZmFQZXBwZXJIb3Q6IGZhUGVwcGVySG90LFxuICBmYVVubG9jazogZmFVbmxvY2ssXG4gIGZhQ29sb25TaWduOiBmYUNvbG9uU2lnbixcbiAgZmFIZWFkc2V0OiBmYUhlYWRzZXQsXG4gIGZhU3RvcmVTbGFzaDogZmFTdG9yZVNsYXNoLFxuICBmYVJvYWRDaXJjbGVYbWFyazogZmFSb2FkQ2lyY2xlWG1hcmssXG4gIGZhVXNlck1pbnVzOiBmYVVzZXJNaW51cyxcbiAgZmFNYXJzU3Ryb2tlVXA6IGZhTWFyc1N0cm9rZVVwLFxuICBmYU1hcnNTdHJva2VWOiBmYU1hcnNTdHJva2VWLFxuICBmYUNoYW1wYWduZUdsYXNzZXM6IGZhQ2hhbXBhZ25lR2xhc3NlcyxcbiAgZmFHbGFzc0NoZWVyczogZmFHbGFzc0NoZWVycyxcbiAgZmFDbGlwYm9hcmQ6IGZhQ2xpcGJvYXJkLFxuICBmYUhvdXNlQ2lyY2xlRXhjbGFtYXRpb246IGZhSG91c2VDaXJjbGVFeGNsYW1hdGlvbixcbiAgZmFGaWxlQXJyb3dVcDogZmFGaWxlQXJyb3dVcCxcbiAgZmFGaWxlVXBsb2FkOiBmYUZpbGVVcGxvYWQsXG4gIGZhV2lmaTogZmFXaWZpLFxuICBmYVdpZmkzOiBmYVdpZmkzLFxuICBmYVdpZmlTdHJvbmc6IGZhV2lmaVN0cm9uZyxcbiAgZmFCYXRoOiBmYUJhdGgsXG4gIGZhQmF0aHR1YjogZmFCYXRodHViLFxuICBmYVVuZGVybGluZTogZmFVbmRlcmxpbmUsXG4gIGZhVXNlclBlbjogZmFVc2VyUGVuLFxuICBmYVVzZXJFZGl0OiBmYVVzZXJFZGl0LFxuICBmYVNpZ25hdHVyZTogZmFTaWduYXR1cmUsXG4gIGZhU3Ryb29wd2FmZWw6IGZhU3Ryb29wd2FmZWwsXG4gIGZhQm9sZDogZmFCb2xkLFxuICBmYUFuY2hvckxvY2s6IGZhQW5jaG9yTG9jayxcbiAgZmFCdWlsZGluZ05nbzogZmFCdWlsZGluZ05nbyxcbiAgZmFNYW5hdFNpZ246IGZhTWFuYXRTaWduLFxuICBmYU5vdEVxdWFsOiBmYU5vdEVxdWFsLFxuICBmYUJvcmRlclRvcExlZnQ6IGZhQm9yZGVyVG9wTGVmdCxcbiAgZmFCb3JkZXJTdHlsZTogZmFCb3JkZXJTdHlsZSxcbiAgZmFNYXBMb2NhdGlvbkRvdDogZmFNYXBMb2NhdGlvbkRvdCxcbiAgZmFNYXBNYXJrZWRBbHQ6IGZhTWFwTWFya2VkQWx0LFxuICBmYUplZGk6IGZhSmVkaSxcbiAgZmFTcXVhcmVQb2xsVmVydGljYWw6IGZhU3F1YXJlUG9sbFZlcnRpY2FsLFxuICBmYVBvbGw6IGZhUG9sbCxcbiAgZmFNdWdIb3Q6IGZhTXVnSG90LFxuICBmYUNhckJhdHRlcnk6IGZhQ2FyQmF0dGVyeSxcbiAgZmFCYXR0ZXJ5Q2FyOiBmYUJhdHRlcnlDYXIsXG4gIGZhR2lmdDogZmFHaWZ0LFxuICBmYURpY2VUd286IGZhRGljZVR3byxcbiAgZmFDaGVzc1F1ZWVuOiBmYUNoZXNzUXVlZW4sXG4gIGZhR2xhc3NlczogZmFHbGFzc2VzLFxuICBmYUNoZXNzQm9hcmQ6IGZhQ2hlc3NCb2FyZCxcbiAgZmFCdWlsZGluZ0NpcmNsZUNoZWNrOiBmYUJ1aWxkaW5nQ2lyY2xlQ2hlY2ssXG4gIGZhUGVyc29uQ2hhbGtib2FyZDogZmFQZXJzb25DaGFsa2JvYXJkLFxuICBmYU1hcnNTdHJva2VSaWdodDogZmFNYXJzU3Ryb2tlUmlnaHQsXG4gIGZhTWFyc1N0cm9rZUg6IGZhTWFyc1N0cm9rZUgsXG4gIGZhSGFuZEJhY2tGaXN0OiBmYUhhbmRCYWNrRmlzdCxcbiAgZmFIYW5kUm9jazogZmFIYW5kUm9jayxcbiAgZmFTcXVhcmVDYXJldFVwOiBmYVNxdWFyZUNhcmV0VXAsXG4gIGZhQ2FyZXRTcXVhcmVVcDogZmFDYXJldFNxdWFyZVVwLFxuICBmYUNsb3VkU2hvd2Vyc1dhdGVyOiBmYUNsb3VkU2hvd2Vyc1dhdGVyLFxuICBmYUNoYXJ0QmFyOiBmYUNoYXJ0QmFyLFxuICBmYUJhckNoYXJ0OiBmYUJhckNoYXJ0LFxuICBmYUhhbmRzQnViYmxlczogZmFIYW5kc0J1YmJsZXMsXG4gIGZhSGFuZHNXYXNoOiBmYUhhbmRzV2FzaCxcbiAgZmFMZXNzVGhhbkVxdWFsOiBmYUxlc3NUaGFuRXF1YWwsXG4gIGZhVHJhaW46IGZhVHJhaW4sXG4gIGZhRXllTG93VmlzaW9uOiBmYUV5ZUxvd1Zpc2lvbixcbiAgZmFMb3dWaXNpb246IGZhTG93VmlzaW9uLFxuICBmYUNyb3c6IGZhQ3JvdyxcbiAgZmFTYWlsYm9hdDogZmFTYWlsYm9hdCxcbiAgZmFXaW5kb3dSZXN0b3JlOiBmYVdpbmRvd1Jlc3RvcmUsXG4gIGZhU3F1YXJlUGx1czogZmFTcXVhcmVQbHVzLFxuICBmYVBsdXNTcXVhcmU6IGZhUGx1c1NxdWFyZSxcbiAgZmFUb3JpaUdhdGU6IGZhVG9yaWlHYXRlLFxuICBmYUZyb2c6IGZhRnJvZyxcbiAgZmFCdWNrZXQ6IGZhQnVja2V0LFxuICBmYUltYWdlOiBmYUltYWdlLFxuICBmYU1pY3JvcGhvbmU6IGZhTWljcm9waG9uZSxcbiAgZmFDb3c6IGZhQ293LFxuICBmYUNhcmV0VXA6IGZhQ2FyZXRVcCxcbiAgZmFTY3Jld2RyaXZlcjogZmFTY3Jld2RyaXZlcixcbiAgZmFGb2xkZXJDbG9zZWQ6IGZhRm9sZGVyQ2xvc2VkLFxuICBmYUhvdXNlVHN1bmFtaTogZmFIb3VzZVRzdW5hbWksXG4gIGZhU3F1YXJlTmZpOiBmYVNxdWFyZU5maSxcbiAgZmFBcnJvd1VwRnJvbUdyb3VuZFdhdGVyOiBmYUFycm93VXBGcm9tR3JvdW5kV2F0ZXIsXG4gIGZhTWFydGluaUdsYXNzOiBmYU1hcnRpbmlHbGFzcyxcbiAgZmFHbGFzc01hcnRpbmlBbHQ6IGZhR2xhc3NNYXJ0aW5pQWx0LFxuICBmYVJvdGF0ZUxlZnQ6IGZhUm90YXRlTGVmdCxcbiAgZmFSb3RhdGVCYWNrOiBmYVJvdGF0ZUJhY2ssXG4gIGZhUm90YXRlQmFja3dhcmQ6IGZhUm90YXRlQmFja3dhcmQsXG4gIGZhVW5kb0FsdDogZmFVbmRvQWx0LFxuICBmYVRhYmxlQ29sdW1uczogZmFUYWJsZUNvbHVtbnMsXG4gIGZhQ29sdW1uczogZmFDb2x1bW5zLFxuICBmYUxlbW9uOiBmYUxlbW9uLFxuICBmYUhlYWRTaWRlTWFzazogZmFIZWFkU2lkZU1hc2ssXG4gIGZhSGFuZHNoYWtlOiBmYUhhbmRzaGFrZSxcbiAgZmFHZW06IGZhR2VtLFxuICBmYURvbGx5OiBmYURvbGx5LFxuICBmYURvbGx5Qm94OiBmYURvbGx5Qm94LFxuICBmYVNtb2tpbmc6IGZhU21va2luZyxcbiAgZmFNaW5pbWl6ZTogZmFNaW5pbWl6ZSxcbiAgZmFDb21wcmVzc0Fycm93c0FsdDogZmFDb21wcmVzc0Fycm93c0FsdCxcbiAgZmFNb251bWVudDogZmFNb251bWVudCxcbiAgZmFTbm93cGxvdzogZmFTbm93cGxvdyxcbiAgZmFBbmdsZXNSaWdodDogZmFBbmdsZXNSaWdodCxcbiAgZmFBbmdsZURvdWJsZVJpZ2h0OiBmYUFuZ2xlRG91YmxlUmlnaHQsXG4gIGZhQ2FubmFiaXM6IGZhQ2FubmFiaXMsXG4gIGZhQ2lyY2xlUGxheTogZmFDaXJjbGVQbGF5LFxuICBmYVBsYXlDaXJjbGU6IGZhUGxheUNpcmNsZSxcbiAgZmFUYWJsZXRzOiBmYVRhYmxldHMsXG4gIGZhRXRoZXJuZXQ6IGZhRXRoZXJuZXQsXG4gIGZhRXVyb1NpZ246IGZhRXVyb1NpZ24sXG4gIGZhRXVyOiBmYUV1cixcbiAgZmFFdXJvOiBmYUV1cm8sXG4gIGZhQ2hhaXI6IGZhQ2hhaXIsXG4gIGZhQ2lyY2xlQ2hlY2s6IGZhQ2lyY2xlQ2hlY2ssXG4gIGZhQ2hlY2tDaXJjbGU6IGZhQ2hlY2tDaXJjbGUsXG4gIGZhQ2lyY2xlU3RvcDogZmFDaXJjbGVTdG9wLFxuICBmYVN0b3BDaXJjbGU6IGZhU3RvcENpcmNsZSxcbiAgZmFDb21wYXNzRHJhZnRpbmc6IGZhQ29tcGFzc0RyYWZ0aW5nLFxuICBmYURyYWZ0aW5nQ29tcGFzczogZmFEcmFmdGluZ0NvbXBhc3MsXG4gIGZhUGxhdGVXaGVhdDogZmFQbGF0ZVdoZWF0LFxuICBmYUljaWNsZXM6IGZhSWNpY2xlcyxcbiAgZmFQZXJzb25TaGVsdGVyOiBmYVBlcnNvblNoZWx0ZXIsXG4gIGZhTmV1dGVyOiBmYU5ldXRlcixcbiAgZmFJZEJhZGdlOiBmYUlkQmFkZ2UsXG4gIGZhTWFya2VyOiBmYU1hcmtlcixcbiAgZmFGYWNlTGF1Z2hCZWFtOiBmYUZhY2VMYXVnaEJlYW0sXG4gIGZhTGF1Z2hCZWFtOiBmYUxhdWdoQmVhbSxcbiAgZmFIZWxpY29wdGVyU3ltYm9sOiBmYUhlbGljb3B0ZXJTeW1ib2wsXG4gIGZhVW5pdmVyc2FsQWNjZXNzOiBmYVVuaXZlcnNhbEFjY2VzcyxcbiAgZmFDaXJjbGVDaGV2cm9uVXA6IGZhQ2lyY2xlQ2hldnJvblVwLFxuICBmYUNoZXZyb25DaXJjbGVVcDogZmFDaGV2cm9uQ2lyY2xlVXAsXG4gIGZhTGFyaVNpZ246IGZhTGFyaVNpZ24sXG4gIGZhVm9sY2FubzogZmFWb2xjYW5vLFxuICBmYVBlcnNvbldhbGtpbmdEYXNoZWRMaW5lQXJyb3dSaWdodDogZmFQZXJzb25XYWxraW5nRGFzaGVkTGluZUFycm93UmlnaHQsXG4gIGZhU3RlcmxpbmdTaWduOiBmYVN0ZXJsaW5nU2lnbixcbiAgZmFHYnA6IGZhR2JwLFxuICBmYVBvdW5kU2lnbjogZmFQb3VuZFNpZ24sXG4gIGZhVmlydXNlczogZmFWaXJ1c2VzLFxuICBmYVNxdWFyZVBlcnNvbkNvbmZpbmVkOiBmYVNxdWFyZVBlcnNvbkNvbmZpbmVkLFxuICBmYVVzZXJUaWU6IGZhVXNlclRpZSxcbiAgZmFBcnJvd0Rvd25Mb25nOiBmYUFycm93RG93bkxvbmcsXG4gIGZhTG9uZ0Fycm93RG93bjogZmFMb25nQXJyb3dEb3duLFxuICBmYVRlbnRBcnJvd0Rvd25Ub0xpbmU6IGZhVGVudEFycm93RG93blRvTGluZSxcbiAgZmFDZXJ0aWZpY2F0ZTogZmFDZXJ0aWZpY2F0ZSxcbiAgZmFSZXBseUFsbDogZmFSZXBseUFsbCxcbiAgZmFNYWlsUmVwbHlBbGw6IGZhTWFpbFJlcGx5QWxsLFxuICBmYVN1aXRjYXNlOiBmYVN1aXRjYXNlLFxuICBmYVBlcnNvblNrYXRpbmc6IGZhUGVyc29uU2thdGluZyxcbiAgZmFTa2F0aW5nOiBmYVNrYXRpbmcsXG4gIGZhRmlsdGVyQ2lyY2xlRG9sbGFyOiBmYUZpbHRlckNpcmNsZURvbGxhcixcbiAgZmFGdW5uZWxEb2xsYXI6IGZhRnVubmVsRG9sbGFyLFxuICBmYUNhbWVyYVJldHJvOiBmYUNhbWVyYVJldHJvLFxuICBmYUNpcmNsZUFycm93RG93bjogZmFDaXJjbGVBcnJvd0Rvd24sXG4gIGZhQXJyb3dDaXJjbGVEb3duOiBmYUFycm93Q2lyY2xlRG93bixcbiAgZmFGaWxlSW1wb3J0OiBmYUZpbGVJbXBvcnQsXG4gIGZhQXJyb3dSaWdodFRvRmlsZTogZmFBcnJvd1JpZ2h0VG9GaWxlLFxuICBmYVNxdWFyZUFycm93VXBSaWdodDogZmFTcXVhcmVBcnJvd1VwUmlnaHQsXG4gIGZhRXh0ZXJuYWxMaW5rU3F1YXJlOiBmYUV4dGVybmFsTGlua1NxdWFyZSxcbiAgZmFCb3hPcGVuOiBmYUJveE9wZW4sXG4gIGZhU2Nyb2xsOiBmYVNjcm9sbCxcbiAgZmFTcGE6IGZhU3BhLFxuICBmYUxvY2F0aW9uUGluTG9jazogZmFMb2NhdGlvblBpbkxvY2ssXG4gIGZhUGF1c2U6IGZhUGF1c2UsXG4gIGZhSGlsbEF2YWxhbmNoZTogZmFIaWxsQXZhbGFuY2hlLFxuICBmYVRlbXBlcmF0dXJlRW1wdHk6IGZhVGVtcGVyYXR1cmVFbXB0eSxcbiAgZmFUZW1wZXJhdHVyZTA6IGZhVGVtcGVyYXR1cmUwLFxuICBmYVRoZXJtb21ldGVyMDogZmFUaGVybW9tZXRlcjAsXG4gIGZhVGhlcm1vbWV0ZXJFbXB0eTogZmFUaGVybW9tZXRlckVtcHR5LFxuICBmYUJvbWI6IGZhQm9tYixcbiAgZmFSZWdpc3RlcmVkOiBmYVJlZ2lzdGVyZWQsXG4gIGZhQWRkcmVzc0NhcmQ6IGZhQWRkcmVzc0NhcmQsXG4gIGZhQ29udGFjdENhcmQ6IGZhQ29udGFjdENhcmQsXG4gIGZhVmNhcmQ6IGZhVmNhcmQsXG4gIGZhU2NhbGVVbmJhbGFuY2VkRmxpcDogZmFTY2FsZVVuYmFsYW5jZWRGbGlwLFxuICBmYUJhbGFuY2VTY2FsZVJpZ2h0OiBmYUJhbGFuY2VTY2FsZVJpZ2h0LFxuICBmYVN1YnNjcmlwdDogZmFTdWJzY3JpcHQsXG4gIGZhRGlhbW9uZFR1cm5SaWdodDogZmFEaWFtb25kVHVyblJpZ2h0LFxuICBmYURpcmVjdGlvbnM6IGZhRGlyZWN0aW9ucyxcbiAgZmFCdXJzdDogZmFCdXJzdCxcbiAgZmFIb3VzZUxhcHRvcDogZmFIb3VzZUxhcHRvcCxcbiAgZmFMYXB0b3BIb3VzZTogZmFMYXB0b3BIb3VzZSxcbiAgZmFGYWNlVGlyZWQ6IGZhRmFjZVRpcmVkLFxuICBmYVRpcmVkOiBmYVRpcmVkLFxuICBmYU1vbmV5QmlsbHM6IGZhTW9uZXlCaWxscyxcbiAgZmFTbW9nOiBmYVNtb2csXG4gIGZhQ3J1dGNoOiBmYUNydXRjaCxcbiAgZmFGb250QXdlc29tZTogZmFGb250QXdlc29tZSxcbiAgZmFGb250QXdlc29tZUZsYWc6IGZhRm9udEF3ZXNvbWVGbGFnLFxuICBmYUZvbnRBd2Vzb21lTG9nb0Z1bGw6IGZhRm9udEF3ZXNvbWVMb2dvRnVsbCxcbiAgZmFDbG91ZEFycm93VXA6IGZhQ2xvdWRBcnJvd1VwLFxuICBmYUNsb3VkVXBsb2FkOiBmYUNsb3VkVXBsb2FkLFxuICBmYUNsb3VkVXBsb2FkQWx0OiBmYUNsb3VkVXBsb2FkQWx0LFxuICBmYVBhbGV0dGU6IGZhUGFsZXR0ZSxcbiAgZmFBcnJvd3NUdXJuUmlnaHQ6IGZhQXJyb3dzVHVyblJpZ2h0LFxuICBmYVZlc3Q6IGZhVmVzdCxcbiAgZmFGZXJyeTogZmFGZXJyeSxcbiAgZmFBcnJvd3NEb3duVG9QZW9wbGU6IGZhQXJyb3dzRG93blRvUGVvcGxlLFxuICBmYVNlZWRsaW5nOiBmYVNlZWRsaW5nLFxuICBmYVNwcm91dDogZmFTcHJvdXQsXG4gIGZhTGVmdFJpZ2h0OiBmYUxlZnRSaWdodCxcbiAgZmFBcnJvd3NBbHRIOiBmYUFycm93c0FsdEgsXG4gIGZhQm94ZXNQYWNraW5nOiBmYUJveGVzUGFja2luZyxcbiAgZmFDaXJjbGVBcnJvd0xlZnQ6IGZhQ2lyY2xlQXJyb3dMZWZ0LFxuICBmYUFycm93Q2lyY2xlTGVmdDogZmFBcnJvd0NpcmNsZUxlZnQsXG4gIGZhR3JvdXBBcnJvd3NSb3RhdGU6IGZhR3JvdXBBcnJvd3NSb3RhdGUsXG4gIGZhQm93bEZvb2Q6IGZhQm93bEZvb2QsXG4gIGZhQ2FuZHlDYW5lOiBmYUNhbmR5Q2FuZSxcbiAgZmFBcnJvd0Rvd25XaWRlU2hvcnQ6IGZhQXJyb3dEb3duV2lkZVNob3J0LFxuICBmYVNvcnRBbW91bnRBc2M6IGZhU29ydEFtb3VudEFzYyxcbiAgZmFTb3J0QW1vdW50RG93bjogZmFTb3J0QW1vdW50RG93bixcbiAgZmFDbG91ZEJvbHQ6IGZhQ2xvdWRCb2x0LFxuICBmYVRodW5kZXJzdG9ybTogZmFUaHVuZGVyc3Rvcm0sXG4gIGZhVGV4dFNsYXNoOiBmYVRleHRTbGFzaCxcbiAgZmFSZW1vdmVGb3JtYXQ6IGZhUmVtb3ZlRm9ybWF0LFxuICBmYUZhY2VTbWlsZVdpbms6IGZhRmFjZVNtaWxlV2luayxcbiAgZmFTbWlsZVdpbms6IGZhU21pbGVXaW5rLFxuICBmYUZpbGVXb3JkOiBmYUZpbGVXb3JkLFxuICBmYUZpbGVQb3dlcnBvaW50OiBmYUZpbGVQb3dlcnBvaW50LFxuICBmYUFycm93c0xlZnRSaWdodDogZmFBcnJvd3NMZWZ0UmlnaHQsXG4gIGZhQXJyb3dzSDogZmFBcnJvd3NILFxuICBmYUhvdXNlTG9jazogZmFIb3VzZUxvY2ssXG4gIGZhQ2xvdWRBcnJvd0Rvd246IGZhQ2xvdWRBcnJvd0Rvd24sXG4gIGZhQ2xvdWREb3dubG9hZDogZmFDbG91ZERvd25sb2FkLFxuICBmYUNsb3VkRG93bmxvYWRBbHQ6IGZhQ2xvdWREb3dubG9hZEFsdCxcbiAgZmFDaGlsZHJlbjogZmFDaGlsZHJlbixcbiAgZmFDaGFsa2JvYXJkOiBmYUNoYWxrYm9hcmQsXG4gIGZhQmxhY2tib2FyZDogZmFCbGFja2JvYXJkLFxuICBmYVVzZXJMYXJnZVNsYXNoOiBmYVVzZXJMYXJnZVNsYXNoLFxuICBmYVVzZXJBbHRTbGFzaDogZmFVc2VyQWx0U2xhc2gsXG4gIGZhRW52ZWxvcGVPcGVuOiBmYUVudmVsb3BlT3BlbixcbiAgZmFIYW5kc2hha2VTaW1wbGVTbGFzaDogZmFIYW5kc2hha2VTaW1wbGVTbGFzaCxcbiAgZmFIYW5kc2hha2VBbHRTbGFzaDogZmFIYW5kc2hha2VBbHRTbGFzaCxcbiAgZmFNYXR0cmVzc1BpbGxvdzogZmFNYXR0cmVzc1BpbGxvdyxcbiAgZmFHdWFyYW5pU2lnbjogZmFHdWFyYW5pU2lnbixcbiAgZmFBcnJvd3NSb3RhdGU6IGZhQXJyb3dzUm90YXRlLFxuICBmYVJlZnJlc2g6IGZhUmVmcmVzaCxcbiAgZmFTeW5jOiBmYVN5bmMsXG4gIGZhRmlyZUV4dGluZ3Vpc2hlcjogZmFGaXJlRXh0aW5ndWlzaGVyLFxuICBmYUNydXplaXJvU2lnbjogZmFDcnV6ZWlyb1NpZ24sXG4gIGZhR3JlYXRlclRoYW5FcXVhbDogZmFHcmVhdGVyVGhhbkVxdWFsLFxuICBmYVNoaWVsZEhhbHZlZDogZmFTaGllbGRIYWx2ZWQsXG4gIGZhU2hpZWxkQWx0OiBmYVNoaWVsZEFsdCxcbiAgZmFCb29rQXRsYXM6IGZhQm9va0F0bGFzLFxuICBmYUF0bGFzOiBmYUF0bGFzLFxuICBmYVZpcnVzOiBmYVZpcnVzLFxuICBmYUVudmVsb3BlQ2lyY2xlQ2hlY2s6IGZhRW52ZWxvcGVDaXJjbGVDaGVjayxcbiAgZmFMYXllckdyb3VwOiBmYUxheWVyR3JvdXAsXG4gIGZhQXJyb3dzVG9Eb3Q6IGZhQXJyb3dzVG9Eb3QsXG4gIGZhQXJjaHdheTogZmFBcmNod2F5LFxuICBmYUhlYXJ0Q2lyY2xlQ2hlY2s6IGZhSGVhcnRDaXJjbGVDaGVjayxcbiAgZmFIb3VzZUNoaW1uZXlDcmFjazogZmFIb3VzZUNoaW1uZXlDcmFjayxcbiAgZmFIb3VzZURhbWFnZTogZmFIb3VzZURhbWFnZSxcbiAgZmFGaWxlWmlwcGVyOiBmYUZpbGVaaXBwZXIsXG4gIGZhRmlsZUFyY2hpdmU6IGZhRmlsZUFyY2hpdmUsXG4gIGZhU3F1YXJlOiBmYVNxdWFyZSxcbiAgZmFNYXJ0aW5pR2xhc3NFbXB0eTogZmFNYXJ0aW5pR2xhc3NFbXB0eSxcbiAgZmFHbGFzc01hcnRpbmk6IGZhR2xhc3NNYXJ0aW5pLFxuICBmYUNvdWNoOiBmYUNvdWNoLFxuICBmYUNlZGlTaWduOiBmYUNlZGlTaWduLFxuICBmYUl0YWxpYzogZmFJdGFsaWMsXG4gIGZhVGFibGVDZWxsc0NvbHVtbkxvY2s6IGZhVGFibGVDZWxsc0NvbHVtbkxvY2ssXG4gIGZhQ2h1cmNoOiBmYUNodXJjaCxcbiAgZmFDb21tZW50c0RvbGxhcjogZmFDb21tZW50c0RvbGxhcixcbiAgZmFEZW1vY3JhdDogZmFEZW1vY3JhdCxcbiAgZmFaOiBmYVosXG4gIGZhUGVyc29uU2tpaW5nOiBmYVBlcnNvblNraWluZyxcbiAgZmFTa2lpbmc6IGZhU2tpaW5nLFxuICBmYVJvYWRMb2NrOiBmYVJvYWRMb2NrLFxuICBmYUE6IGZhQSxcbiAgZmFUZW1wZXJhdHVyZUFycm93RG93bjogZmFUZW1wZXJhdHVyZUFycm93RG93bixcbiAgZmFUZW1wZXJhdHVyZURvd246IGZhVGVtcGVyYXR1cmVEb3duLFxuICBmYUZlYXRoZXJQb2ludGVkOiBmYUZlYXRoZXJQb2ludGVkLFxuICBmYUZlYXRoZXJBbHQ6IGZhRmVhdGhlckFsdCxcbiAgZmFQOiBmYVAsXG4gIGZhU25vd2ZsYWtlOiBmYVNub3dmbGFrZSxcbiAgZmFOZXdzcGFwZXI6IGZhTmV3c3BhcGVyLFxuICBmYVJlY3RhbmdsZUFkOiBmYVJlY3RhbmdsZUFkLFxuICBmYUFkOiBmYUFkLFxuICBmYUNpcmNsZUFycm93UmlnaHQ6IGZhQ2lyY2xlQXJyb3dSaWdodCxcbiAgZmFBcnJvd0NpcmNsZVJpZ2h0OiBmYUFycm93Q2lyY2xlUmlnaHQsXG4gIGZhRmlsdGVyQ2lyY2xlWG1hcms6IGZhRmlsdGVyQ2lyY2xlWG1hcmssXG4gIGZhTG9jdXN0OiBmYUxvY3VzdCxcbiAgZmFTb3J0OiBmYVNvcnQsXG4gIGZhVW5zb3J0ZWQ6IGZhVW5zb3J0ZWQsXG4gIGZhTGlzdE9sOiBmYUxpc3RPbCxcbiAgZmFMaXN0MTI6IGZhTGlzdDEyLFxuICBmYUxpc3ROdW1lcmljOiBmYUxpc3ROdW1lcmljLFxuICBmYVBlcnNvbkRyZXNzQnVyc3Q6IGZhUGVyc29uRHJlc3NCdXJzdCxcbiAgZmFNb25leUNoZWNrRG9sbGFyOiBmYU1vbmV5Q2hlY2tEb2xsYXIsXG4gIGZhTW9uZXlDaGVja0FsdDogZmFNb25leUNoZWNrQWx0LFxuICBmYVZlY3RvclNxdWFyZTogZmFWZWN0b3JTcXVhcmUsXG4gIGZhQnJlYWRTbGljZTogZmFCcmVhZFNsaWNlLFxuICBmYUxhbmd1YWdlOiBmYUxhbmd1YWdlLFxuICBmYUZhY2VLaXNzV2lua0hlYXJ0OiBmYUZhY2VLaXNzV2lua0hlYXJ0LFxuICBmYUtpc3NXaW5rSGVhcnQ6IGZhS2lzc1dpbmtIZWFydCxcbiAgZmFGaWx0ZXI6IGZhRmlsdGVyLFxuICBmYVF1ZXN0aW9uOiBmYVF1ZXN0aW9uLFxuICBmYUZpbGVTaWduYXR1cmU6IGZhRmlsZVNpZ25hdHVyZSxcbiAgZmFVcERvd25MZWZ0UmlnaHQ6IGZhVXBEb3duTGVmdFJpZ2h0LFxuICBmYUFycm93c0FsdDogZmFBcnJvd3NBbHQsXG4gIGZhSG91c2VDaGltbmV5VXNlcjogZmFIb3VzZUNoaW1uZXlVc2VyLFxuICBmYUhhbmRIb2xkaW5nSGVhcnQ6IGZhSGFuZEhvbGRpbmdIZWFydCxcbiAgZmFQdXp6bGVQaWVjZTogZmFQdXp6bGVQaWVjZSxcbiAgZmFNb25leUNoZWNrOiBmYU1vbmV5Q2hlY2ssXG4gIGZhU3RhckhhbGZTdHJva2U6IGZhU3RhckhhbGZTdHJva2UsXG4gIGZhU3RhckhhbGZBbHQ6IGZhU3RhckhhbGZBbHQsXG4gIGZhQ29kZTogZmFDb2RlLFxuICBmYVdoaXNrZXlHbGFzczogZmFXaGlza2V5R2xhc3MsXG4gIGZhR2xhc3NXaGlza2V5OiBmYUdsYXNzV2hpc2tleSxcbiAgZmFCdWlsZGluZ0NpcmNsZUV4Y2xhbWF0aW9uOiBmYUJ1aWxkaW5nQ2lyY2xlRXhjbGFtYXRpb24sXG4gIGZhTWFnbmlmeWluZ0dsYXNzQ2hhcnQ6IGZhTWFnbmlmeWluZ0dsYXNzQ2hhcnQsXG4gIGZhQXJyb3dVcFJpZ2h0RnJvbVNxdWFyZTogZmFBcnJvd1VwUmlnaHRGcm9tU3F1YXJlLFxuICBmYUV4dGVybmFsTGluazogZmFFeHRlcm5hbExpbmssXG4gIGZhQ3ViZXNTdGFja2VkOiBmYUN1YmVzU3RhY2tlZCxcbiAgZmFXb25TaWduOiBmYVdvblNpZ24sXG4gIGZhS3J3OiBmYUtydyxcbiAgZmFXb246IGZhV29uLFxuICBmYVZpcnVzQ292aWQ6IGZhVmlydXNDb3ZpZCxcbiAgZmFBdXN0cmFsU2lnbjogZmFBdXN0cmFsU2lnbixcbiAgZmFGOiBmYUYsXG4gIGZhTGVhZjogZmFMZWFmLFxuICBmYVJvYWQ6IGZhUm9hZCxcbiAgZmFUYXhpOiBmYVRheGksXG4gIGZhQ2FiOiBmYUNhYixcbiAgZmFQZXJzb25DaXJjbGVQbHVzOiBmYVBlcnNvbkNpcmNsZVBsdXMsXG4gIGZhQ2hhcnRQaWU6IGZhQ2hhcnRQaWUsXG4gIGZhUGllQ2hhcnQ6IGZhUGllQ2hhcnQsXG4gIGZhQm9sdExpZ2h0bmluZzogZmFCb2x0TGlnaHRuaW5nLFxuICBmYVNhY2tYbWFyazogZmFTYWNrWG1hcmssXG4gIGZhRmlsZUV4Y2VsOiBmYUZpbGVFeGNlbCxcbiAgZmFGaWxlQ29udHJhY3Q6IGZhRmlsZUNvbnRyYWN0LFxuICBmYUZpc2hGaW5zOiBmYUZpc2hGaW5zLFxuICBmYUJ1aWxkaW5nRmxhZzogZmFCdWlsZGluZ0ZsYWcsXG4gIGZhRmFjZUdyaW5CZWFtOiBmYUZhY2VHcmluQmVhbSxcbiAgZmFHcmluQmVhbTogZmFHcmluQmVhbSxcbiAgZmFPYmplY3RVbmdyb3VwOiBmYU9iamVjdFVuZ3JvdXAsXG4gIGZhUG9vcDogZmFQb29wLFxuICBmYUxvY2F0aW9uUGluOiBmYUxvY2F0aW9uUGluLFxuICBmYU1hcE1hcmtlcjogZmFNYXBNYXJrZXIsXG4gIGZhS2FhYmE6IGZhS2FhYmEsXG4gIGZhVG9pbGV0UGFwZXI6IGZhVG9pbGV0UGFwZXIsXG4gIGZhSGVsbWV0U2FmZXR5OiBmYUhlbG1ldFNhZmV0eSxcbiAgZmFIYXJkSGF0OiBmYUhhcmRIYXQsXG4gIGZhSGF0SGFyZDogZmFIYXRIYXJkLFxuICBmYUVqZWN0OiBmYUVqZWN0LFxuICBmYUNpcmNsZVJpZ2h0OiBmYUNpcmNsZVJpZ2h0LFxuICBmYUFycm93QWx0Q2lyY2xlUmlnaHQ6IGZhQXJyb3dBbHRDaXJjbGVSaWdodCxcbiAgZmFQbGFuZUNpcmNsZUNoZWNrOiBmYVBsYW5lQ2lyY2xlQ2hlY2ssXG4gIGZhRmFjZVJvbGxpbmdFeWVzOiBmYUZhY2VSb2xsaW5nRXllcyxcbiAgZmFNZWhSb2xsaW5nRXllczogZmFNZWhSb2xsaW5nRXllcyxcbiAgZmFPYmplY3RHcm91cDogZmFPYmplY3RHcm91cCxcbiAgZmFDaGFydExpbmU6IGZhQ2hhcnRMaW5lLFxuICBmYUxpbmVDaGFydDogZmFMaW5lQ2hhcnQsXG4gIGZhTWFza1ZlbnRpbGF0b3I6IGZhTWFza1ZlbnRpbGF0b3IsXG4gIGZhQXJyb3dSaWdodDogZmFBcnJvd1JpZ2h0LFxuICBmYVNpZ25zUG9zdDogZmFTaWduc1Bvc3QsXG4gIGZhTWFwU2lnbnM6IGZhTWFwU2lnbnMsXG4gIGZhQ2FzaFJlZ2lzdGVyOiBmYUNhc2hSZWdpc3RlcixcbiAgZmFQZXJzb25DaXJjbGVRdWVzdGlvbjogZmFQZXJzb25DaXJjbGVRdWVzdGlvbixcbiAgZmFIOiBmYUgsXG4gIGZhVGFycDogZmFUYXJwLFxuICBmYVNjcmV3ZHJpdmVyV3JlbmNoOiBmYVNjcmV3ZHJpdmVyV3JlbmNoLFxuICBmYVRvb2xzOiBmYVRvb2xzLFxuICBmYUFycm93c1RvRXllOiBmYUFycm93c1RvRXllLFxuICBmYVBsdWdDaXJjbGVCb2x0OiBmYVBsdWdDaXJjbGVCb2x0LFxuICBmYUhlYXJ0OiBmYUhlYXJ0LFxuICBmYU1hcnNBbmRWZW51czogZmFNYXJzQW5kVmVudXMsXG4gIGZhSG91c2VVc2VyOiBmYUhvdXNlVXNlcixcbiAgZmFIb21lVXNlcjogZmFIb21lVXNlcixcbiAgZmFEdW1wc3RlckZpcmU6IGZhRHVtcHN0ZXJGaXJlLFxuICBmYUhvdXNlQ3JhY2s6IGZhSG91c2VDcmFjayxcbiAgZmFNYXJ0aW5pR2xhc3NDaXRydXM6IGZhTWFydGluaUdsYXNzQ2l0cnVzLFxuICBmYUNvY2t0YWlsOiBmYUNvY2t0YWlsLFxuICBmYUZhY2VTdXJwcmlzZTogZmFGYWNlU3VycHJpc2UsXG4gIGZhU3VycHJpc2U6IGZhU3VycHJpc2UsXG4gIGZhQm90dGxlV2F0ZXI6IGZhQm90dGxlV2F0ZXIsXG4gIGZhQ2lyY2xlUGF1c2U6IGZhQ2lyY2xlUGF1c2UsXG4gIGZhUGF1c2VDaXJjbGU6IGZhUGF1c2VDaXJjbGUsXG4gIGZhVG9pbGV0UGFwZXJTbGFzaDogZmFUb2lsZXRQYXBlclNsYXNoLFxuICBmYUFwcGxlV2hvbGU6IGZhQXBwbGVXaG9sZSxcbiAgZmFBcHBsZUFsdDogZmFBcHBsZUFsdCxcbiAgZmFLaXRjaGVuU2V0OiBmYUtpdGNoZW5TZXQsXG4gIGZhUjogZmFSLFxuICBmYVRlbXBlcmF0dXJlUXVhcnRlcjogZmFUZW1wZXJhdHVyZVF1YXJ0ZXIsXG4gIGZhVGVtcGVyYXR1cmUxOiBmYVRlbXBlcmF0dXJlMSxcbiAgZmFUaGVybW9tZXRlcjE6IGZhVGhlcm1vbWV0ZXIxLFxuICBmYVRoZXJtb21ldGVyUXVhcnRlcjogZmFUaGVybW9tZXRlclF1YXJ0ZXIsXG4gIGZhQ3ViZTogZmFDdWJlLFxuICBmYUJpdGNvaW5TaWduOiBmYUJpdGNvaW5TaWduLFxuICBmYVNoaWVsZERvZzogZmFTaGllbGREb2csXG4gIGZhU29sYXJQYW5lbDogZmFTb2xhclBhbmVsLFxuICBmYUxvY2tPcGVuOiBmYUxvY2tPcGVuLFxuICBmYUVsZXZhdG9yOiBmYUVsZXZhdG9yLFxuICBmYU1vbmV5QmlsbFRyYW5zZmVyOiBmYU1vbmV5QmlsbFRyYW5zZmVyLFxuICBmYU1vbmV5QmlsbFRyZW5kVXA6IGZhTW9uZXlCaWxsVHJlbmRVcCxcbiAgZmFIb3VzZUZsb29kV2F0ZXJDaXJjbGVBcnJvd1JpZ2h0OiBmYUhvdXNlRmxvb2RXYXRlckNpcmNsZUFycm93UmlnaHQsXG4gIGZhU3F1YXJlUG9sbEhvcml6b250YWw6IGZhU3F1YXJlUG9sbEhvcml6b250YWwsXG4gIGZhUG9sbEg6IGZhUG9sbEgsXG4gIGZhQ2lyY2xlOiBmYUNpcmNsZSxcbiAgZmFCYWNrd2FyZEZhc3Q6IGZhQmFja3dhcmRGYXN0LFxuICBmYUZhc3RCYWNrd2FyZDogZmFGYXN0QmFja3dhcmQsXG4gIGZhUmVjeWNsZTogZmFSZWN5Y2xlLFxuICBmYVVzZXJBc3Ryb25hdXQ6IGZhVXNlckFzdHJvbmF1dCxcbiAgZmFQbGFuZVNsYXNoOiBmYVBsYW5lU2xhc2gsXG4gIGZhVHJhZGVtYXJrOiBmYVRyYWRlbWFyayxcbiAgZmFCYXNrZXRiYWxsOiBmYUJhc2tldGJhbGwsXG4gIGZhQmFza2V0YmFsbEJhbGw6IGZhQmFza2V0YmFsbEJhbGwsXG4gIGZhU2F0ZWxsaXRlRGlzaDogZmFTYXRlbGxpdGVEaXNoLFxuICBmYUNpcmNsZVVwOiBmYUNpcmNsZVVwLFxuICBmYUFycm93QWx0Q2lyY2xlVXA6IGZhQXJyb3dBbHRDaXJjbGVVcCxcbiAgZmFNb2JpbGVTY3JlZW5CdXR0b246IGZhTW9iaWxlU2NyZWVuQnV0dG9uLFxuICBmYU1vYmlsZUFsdDogZmFNb2JpbGVBbHQsXG4gIGZhVm9sdW1lSGlnaDogZmFWb2x1bWVIaWdoLFxuICBmYVZvbHVtZVVwOiBmYVZvbHVtZVVwLFxuICBmYVVzZXJzUmF5czogZmFVc2Vyc1JheXMsXG4gIGZhV2FsbGV0OiBmYVdhbGxldCxcbiAgZmFDbGlwYm9hcmRDaGVjazogZmFDbGlwYm9hcmRDaGVjayxcbiAgZmFGaWxlQXVkaW86IGZhRmlsZUF1ZGlvLFxuICBmYUJ1cmdlcjogZmFCdXJnZXIsXG4gIGZhSGFtYnVyZ2VyOiBmYUhhbWJ1cmdlcixcbiAgZmFXcmVuY2g6IGZhV3JlbmNoLFxuICBmYUJ1Z3M6IGZhQnVncyxcbiAgZmFSdXBlZVNpZ246IGZhUnVwZWVTaWduLFxuICBmYVJ1cGVlOiBmYVJ1cGVlLFxuICBmYUZpbGVJbWFnZTogZmFGaWxlSW1hZ2UsXG4gIGZhQ2lyY2xlUXVlc3Rpb246IGZhQ2lyY2xlUXVlc3Rpb24sXG4gIGZhUXVlc3Rpb25DaXJjbGU6IGZhUXVlc3Rpb25DaXJjbGUsXG4gIGZhUGxhbmVEZXBhcnR1cmU6IGZhUGxhbmVEZXBhcnR1cmUsXG4gIGZhSGFuZHNoYWtlU2xhc2g6IGZhSGFuZHNoYWtlU2xhc2gsXG4gIGZhQm9va0Jvb2ttYXJrOiBmYUJvb2tCb29rbWFyayxcbiAgZmFDb2RlQnJhbmNoOiBmYUNvZGVCcmFuY2gsXG4gIGZhSGF0Q293Ym95OiBmYUhhdENvd2JveSxcbiAgZmFCcmlkZ2U6IGZhQnJpZGdlLFxuICBmYVBob25lRmxpcDogZmFQaG9uZUZsaXAsXG4gIGZhUGhvbmVBbHQ6IGZhUGhvbmVBbHQsXG4gIGZhVHJ1Y2tGcm9udDogZmFUcnVja0Zyb250LFxuICBmYUNhdDogZmFDYXQsXG4gIGZhQW5jaG9yQ2lyY2xlRXhjbGFtYXRpb246IGZhQW5jaG9yQ2lyY2xlRXhjbGFtYXRpb24sXG4gIGZhVHJ1Y2tGaWVsZDogZmFUcnVja0ZpZWxkLFxuICBmYVJvdXRlOiBmYVJvdXRlLFxuICBmYUNsaXBib2FyZFF1ZXN0aW9uOiBmYUNsaXBib2FyZFF1ZXN0aW9uLFxuICBmYVBhbm9yYW1hOiBmYVBhbm9yYW1hLFxuICBmYUNvbW1lbnRNZWRpY2FsOiBmYUNvbW1lbnRNZWRpY2FsLFxuICBmYVRlZXRoT3BlbjogZmFUZWV0aE9wZW4sXG4gIGZhRmlsZUNpcmNsZU1pbnVzOiBmYUZpbGVDaXJjbGVNaW51cyxcbiAgZmFUYWdzOiBmYVRhZ3MsXG4gIGZhV2luZUdsYXNzOiBmYVdpbmVHbGFzcyxcbiAgZmFGb3J3YXJkRmFzdDogZmFGb3J3YXJkRmFzdCxcbiAgZmFGYXN0Rm9yd2FyZDogZmFGYXN0Rm9yd2FyZCxcbiAgZmFGYWNlTWVoQmxhbms6IGZhRmFjZU1laEJsYW5rLFxuICBmYU1laEJsYW5rOiBmYU1laEJsYW5rLFxuICBmYVNxdWFyZVBhcmtpbmc6IGZhU3F1YXJlUGFya2luZyxcbiAgZmFQYXJraW5nOiBmYVBhcmtpbmcsXG4gIGZhSG91c2VTaWduYWw6IGZhSG91c2VTaWduYWwsXG4gIGZhQmFyc1Byb2dyZXNzOiBmYUJhcnNQcm9ncmVzcyxcbiAgZmFUYXNrc0FsdDogZmFUYXNrc0FsdCxcbiAgZmFGYXVjZXREcmlwOiBmYUZhdWNldERyaXAsXG4gIGZhQ2FydEZsYXRiZWQ6IGZhQ2FydEZsYXRiZWQsXG4gIGZhRG9sbHlGbGF0YmVkOiBmYURvbGx5RmxhdGJlZCxcbiAgZmFCYW5TbW9raW5nOiBmYUJhblNtb2tpbmcsXG4gIGZhU21va2luZ0JhbjogZmFTbW9raW5nQmFuLFxuICBmYVRlcm1pbmFsOiBmYVRlcm1pbmFsLFxuICBmYU1vYmlsZUJ1dHRvbjogZmFNb2JpbGVCdXR0b24sXG4gIGZhSG91c2VNZWRpY2FsRmxhZzogZmFIb3VzZU1lZGljYWxGbGFnLFxuICBmYUJhc2tldFNob3BwaW5nOiBmYUJhc2tldFNob3BwaW5nLFxuICBmYVNob3BwaW5nQmFza2V0OiBmYVNob3BwaW5nQmFza2V0LFxuICBmYVRhcGU6IGZhVGFwZSxcbiAgZmFCdXNTaW1wbGU6IGZhQnVzU2ltcGxlLFxuICBmYUJ1c0FsdDogZmFCdXNBbHQsXG4gIGZhRXllOiBmYUV5ZSxcbiAgZmFGYWNlU2FkQ3J5OiBmYUZhY2VTYWRDcnksXG4gIGZhU2FkQ3J5OiBmYVNhZENyeSxcbiAgZmFBdWRpb0Rlc2NyaXB0aW9uOiBmYUF1ZGlvRGVzY3JpcHRpb24sXG4gIGZhUGVyc29uTWlsaXRhcnlUb1BlcnNvbjogZmFQZXJzb25NaWxpdGFyeVRvUGVyc29uLFxuICBmYUZpbGVTaGllbGQ6IGZhRmlsZVNoaWVsZCxcbiAgZmFVc2VyU2xhc2g6IGZhVXNlclNsYXNoLFxuICBmYVBlbjogZmFQZW4sXG4gIGZhVG93ZXJPYnNlcnZhdGlvbjogZmFUb3dlck9ic2VydmF0aW9uLFxuICBmYUZpbGVDb2RlOiBmYUZpbGVDb2RlLFxuICBmYVNpZ25hbDogZmFTaWduYWwsXG4gIGZhU2lnbmFsNTogZmFTaWduYWw1LFxuICBmYVNpZ25hbFBlcmZlY3Q6IGZhU2lnbmFsUGVyZmVjdCxcbiAgZmFCdXM6IGZhQnVzLFxuICBmYUhlYXJ0Q2lyY2xlWG1hcms6IGZhSGVhcnRDaXJjbGVYbWFyayxcbiAgZmFIb3VzZUNoaW1uZXk6IGZhSG91c2VDaGltbmV5LFxuICBmYUhvbWVMZzogZmFIb21lTGcsXG4gIGZhV2luZG93TWF4aW1pemU6IGZhV2luZG93TWF4aW1pemUsXG4gIGZhRmFjZUZyb3duOiBmYUZhY2VGcm93bixcbiAgZmFGcm93bjogZmFGcm93bixcbiAgZmFQcmVzY3JpcHRpb246IGZhUHJlc2NyaXB0aW9uLFxuICBmYVNob3A6IGZhU2hvcCxcbiAgZmFTdG9yZUFsdDogZmFTdG9yZUFsdCxcbiAgZmFGbG9wcHlEaXNrOiBmYUZsb3BweURpc2ssXG4gIGZhU2F2ZTogZmFTYXZlLFxuICBmYVZpaGFyYTogZmFWaWhhcmEsXG4gIGZhU2NhbGVVbmJhbGFuY2VkOiBmYVNjYWxlVW5iYWxhbmNlZCxcbiAgZmFCYWxhbmNlU2NhbGVMZWZ0OiBmYUJhbGFuY2VTY2FsZUxlZnQsXG4gIGZhU29ydFVwOiBmYVNvcnRVcCxcbiAgZmFTb3J0QXNjOiBmYVNvcnRBc2MsXG4gIGZhQ29tbWVudERvdHM6IGZhQ29tbWVudERvdHMsXG4gIGZhQ29tbWVudGluZzogZmFDb21tZW50aW5nLFxuICBmYVBsYW50V2lsdDogZmFQbGFudFdpbHQsXG4gIGZhRGlhbW9uZDogZmFEaWFtb25kLFxuICBmYUZhY2VHcmluU3F1aW50OiBmYUZhY2VHcmluU3F1aW50LFxuICBmYUdyaW5TcXVpbnQ6IGZhR3JpblNxdWludCxcbiAgZmFIYW5kSG9sZGluZ0RvbGxhcjogZmFIYW5kSG9sZGluZ0RvbGxhcixcbiAgZmFIYW5kSG9sZGluZ1VzZDogZmFIYW5kSG9sZGluZ1VzZCxcbiAgZmFCYWN0ZXJpdW06IGZhQmFjdGVyaXVtLFxuICBmYUhhbmRQb2ludGVyOiBmYUhhbmRQb2ludGVyLFxuICBmYURydW1TdGVlbHBhbjogZmFEcnVtU3RlZWxwYW4sXG4gIGZhSGFuZFNjaXNzb3JzOiBmYUhhbmRTY2lzc29ycyxcbiAgZmFIYW5kc1ByYXlpbmc6IGZhSGFuZHNQcmF5aW5nLFxuICBmYVByYXlpbmdIYW5kczogZmFQcmF5aW5nSGFuZHMsXG4gIGZhQXJyb3dSb3RhdGVSaWdodDogZmFBcnJvd1JvdGF0ZVJpZ2h0LFxuICBmYUFycm93UmlnaHRSb3RhdGU6IGZhQXJyb3dSaWdodFJvdGF0ZSxcbiAgZmFBcnJvd1JvdGF0ZUZvcndhcmQ6IGZhQXJyb3dSb3RhdGVGb3J3YXJkLFxuICBmYVJlZG86IGZhUmVkbyxcbiAgZmFCaW9oYXphcmQ6IGZhQmlvaGF6YXJkLFxuICBmYUxvY2F0aW9uQ3Jvc3NoYWlyczogZmFMb2NhdGlvbkNyb3NzaGFpcnMsXG4gIGZhTG9jYXRpb246IGZhTG9jYXRpb24sXG4gIGZhTWFyc0RvdWJsZTogZmFNYXJzRG91YmxlLFxuICBmYUNoaWxkRHJlc3M6IGZhQ2hpbGREcmVzcyxcbiAgZmFVc2Vyc0JldHdlZW5MaW5lczogZmFVc2Vyc0JldHdlZW5MaW5lcyxcbiAgZmFMdW5nc1ZpcnVzOiBmYUx1bmdzVmlydXMsXG4gIGZhRmFjZUdyaW5UZWFyczogZmFGYWNlR3JpblRlYXJzLFxuICBmYUdyaW5UZWFyczogZmFHcmluVGVhcnMsXG4gIGZhUGhvbmU6IGZhUGhvbmUsXG4gIGZhQ2FsZW5kYXJYbWFyazogZmFDYWxlbmRhclhtYXJrLFxuICBmYUNhbGVuZGFyVGltZXM6IGZhQ2FsZW5kYXJUaW1lcyxcbiAgZmFDaGlsZFJlYWNoaW5nOiBmYUNoaWxkUmVhY2hpbmcsXG4gIGZhSGVhZFNpZGVWaXJ1czogZmFIZWFkU2lkZVZpcnVzLFxuICBmYVVzZXJHZWFyOiBmYVVzZXJHZWFyLFxuICBmYVVzZXJDb2c6IGZhVXNlckNvZyxcbiAgZmFBcnJvd1VwMTk6IGZhQXJyb3dVcDE5LFxuICBmYVNvcnROdW1lcmljVXA6IGZhU29ydE51bWVyaWNVcCxcbiAgZmFEb29yQ2xvc2VkOiBmYURvb3JDbG9zZWQsXG4gIGZhU2hpZWxkVmlydXM6IGZhU2hpZWxkVmlydXMsXG4gIGZhRGljZVNpeDogZmFEaWNlU2l4LFxuICBmYU1vc3F1aXRvTmV0OiBmYU1vc3F1aXRvTmV0LFxuICBmYUJyaWRnZVdhdGVyOiBmYUJyaWRnZVdhdGVyLFxuICBmYVBlcnNvbkJvb3RoOiBmYVBlcnNvbkJvb3RoLFxuICBmYVRleHRXaWR0aDogZmFUZXh0V2lkdGgsXG4gIGZhSGF0V2l6YXJkOiBmYUhhdFdpemFyZCxcbiAgZmFQZW5GYW5jeTogZmFQZW5GYW5jeSxcbiAgZmFQZXJzb25EaWdnaW5nOiBmYVBlcnNvbkRpZ2dpbmcsXG4gIGZhRGlnZ2luZzogZmFEaWdnaW5nLFxuICBmYVRyYXNoOiBmYVRyYXNoLFxuICBmYUdhdWdlU2ltcGxlOiBmYUdhdWdlU2ltcGxlLFxuICBmYUdhdWdlU2ltcGxlTWVkOiBmYUdhdWdlU2ltcGxlTWVkLFxuICBmYVRhY2hvbWV0ZXJBdmVyYWdlOiBmYVRhY2hvbWV0ZXJBdmVyYWdlLFxuICBmYUJvb2tNZWRpY2FsOiBmYUJvb2tNZWRpY2FsLFxuICBmYVBvbzogZmFQb28sXG4gIGZhUXVvdGVSaWdodDogZmFRdW90ZVJpZ2h0LFxuICBmYVF1b3RlUmlnaHRBbHQ6IGZhUXVvdGVSaWdodEFsdCxcbiAgZmFTaGlydDogZmFTaGlydCxcbiAgZmFUU2hpcnQ6IGZhVFNoaXJ0LFxuICBmYVRzaGlydDogZmFUc2hpcnQsXG4gIGZhQ3ViZXM6IGZhQ3ViZXMsXG4gIGZhRGl2aWRlOiBmYURpdmlkZSxcbiAgZmFUZW5nZVNpZ246IGZhVGVuZ2VTaWduLFxuICBmYVRlbmdlOiBmYVRlbmdlLFxuICBmYUhlYWRwaG9uZXM6IGZhSGVhZHBob25lcyxcbiAgZmFIYW5kc0hvbGRpbmc6IGZhSGFuZHNIb2xkaW5nLFxuICBmYUhhbmRzQ2xhcHBpbmc6IGZhSGFuZHNDbGFwcGluZyxcbiAgZmFSZXB1YmxpY2FuOiBmYVJlcHVibGljYW4sXG4gIGZhQXJyb3dMZWZ0OiBmYUFycm93TGVmdCxcbiAgZmFQZXJzb25DaXJjbGVYbWFyazogZmFQZXJzb25DaXJjbGVYbWFyayxcbiAgZmFSdWxlcjogZmFSdWxlcixcbiAgZmFBbGlnbkxlZnQ6IGZhQWxpZ25MZWZ0LFxuICBmYURpY2VENjogZmFEaWNlRDYsXG4gIGZhUmVzdHJvb206IGZhUmVzdHJvb20sXG4gIGZhSjogZmFKLFxuICBmYVVzZXJzVmlld2ZpbmRlcjogZmFVc2Vyc1ZpZXdmaW5kZXIsXG4gIGZhRmlsZVZpZGVvOiBmYUZpbGVWaWRlbyxcbiAgZmFVcFJpZ2h0RnJvbVNxdWFyZTogZmFVcFJpZ2h0RnJvbVNxdWFyZSxcbiAgZmFFeHRlcm5hbExpbmtBbHQ6IGZhRXh0ZXJuYWxMaW5rQWx0LFxuICBmYVRhYmxlQ2VsbHM6IGZhVGFibGVDZWxscyxcbiAgZmFUaDogZmFUaCxcbiAgZmFGaWxlUGRmOiBmYUZpbGVQZGYsXG4gIGZhQm9va0JpYmxlOiBmYUJvb2tCaWJsZSxcbiAgZmFCaWJsZTogZmFCaWJsZSxcbiAgZmFPOiBmYU8sXG4gIGZhU3VpdGNhc2VNZWRpY2FsOiBmYVN1aXRjYXNlTWVkaWNhbCxcbiAgZmFNZWRraXQ6IGZhTWVka2l0LFxuICBmYVVzZXJTZWNyZXQ6IGZhVXNlclNlY3JldCxcbiAgZmFPdHRlcjogZmFPdHRlcixcbiAgZmFQZXJzb25EcmVzczogZmFQZXJzb25EcmVzcyxcbiAgZmFGZW1hbGU6IGZhRmVtYWxlLFxuICBmYUNvbW1lbnREb2xsYXI6IGZhQ29tbWVudERvbGxhcixcbiAgZmFCdXNpbmVzc1RpbWU6IGZhQnVzaW5lc3NUaW1lLFxuICBmYUJyaWVmY2FzZUNsb2NrOiBmYUJyaWVmY2FzZUNsb2NrLFxuICBmYVRhYmxlQ2VsbHNMYXJnZTogZmFUYWJsZUNlbGxzTGFyZ2UsXG4gIGZhVGhMYXJnZTogZmFUaExhcmdlLFxuICBmYUJvb2tUYW5ha2g6IGZhQm9va1RhbmFraCxcbiAgZmFUYW5ha2g6IGZhVGFuYWtoLFxuICBmYVBob25lVm9sdW1lOiBmYVBob25lVm9sdW1lLFxuICBmYVZvbHVtZUNvbnRyb2xQaG9uZTogZmFWb2x1bWVDb250cm9sUGhvbmUsXG4gIGZhSGF0Q293Ym95U2lkZTogZmFIYXRDb3dib3lTaWRlLFxuICBmYUNsaXBib2FyZFVzZXI6IGZhQ2xpcGJvYXJkVXNlcixcbiAgZmFDaGlsZDogZmFDaGlsZCxcbiAgZmFMaXJhU2lnbjogZmFMaXJhU2lnbixcbiAgZmFTYXRlbGxpdGU6IGZhU2F0ZWxsaXRlLFxuICBmYVBsYW5lTG9jazogZmFQbGFuZUxvY2ssXG4gIGZhVGFnOiBmYVRhZyxcbiAgZmFDb21tZW50OiBmYUNvbW1lbnQsXG4gIGZhQ2FrZUNhbmRsZXM6IGZhQ2FrZUNhbmRsZXMsXG4gIGZhQmlydGhkYXlDYWtlOiBmYUJpcnRoZGF5Q2FrZSxcbiAgZmFDYWtlOiBmYUNha2UsXG4gIGZhRW52ZWxvcGU6IGZhRW52ZWxvcGUsXG4gIGZhQW5nbGVzVXA6IGZhQW5nbGVzVXAsXG4gIGZhQW5nbGVEb3VibGVVcDogZmFBbmdsZURvdWJsZVVwLFxuICBmYVBhcGVyY2xpcDogZmFQYXBlcmNsaXAsXG4gIGZhQXJyb3dSaWdodFRvQ2l0eTogZmFBcnJvd1JpZ2h0VG9DaXR5LFxuICBmYVJpYmJvbjogZmFSaWJib24sXG4gIGZhTHVuZ3M6IGZhTHVuZ3MsXG4gIGZhQXJyb3dVcDkxOiBmYUFycm93VXA5MSxcbiAgZmFTb3J0TnVtZXJpY1VwQWx0OiBmYVNvcnROdW1lcmljVXBBbHQsXG4gIGZhTGl0ZWNvaW5TaWduOiBmYUxpdGVjb2luU2lnbixcbiAgZmFCb3JkZXJOb25lOiBmYUJvcmRlck5vbmUsXG4gIGZhQ2lyY2xlTm9kZXM6IGZhQ2lyY2xlTm9kZXMsXG4gIGZhUGFyYWNodXRlQm94OiBmYVBhcmFjaHV0ZUJveCxcbiAgZmFJbmRlbnQ6IGZhSW5kZW50LFxuICBmYVRydWNrRmllbGRVbjogZmFUcnVja0ZpZWxkVW4sXG4gIGZhSG91cmdsYXNzOiBmYUhvdXJnbGFzcyxcbiAgZmFIb3VyZ2xhc3NFbXB0eTogZmFIb3VyZ2xhc3NFbXB0eSxcbiAgZmFNb3VudGFpbjogZmFNb3VudGFpbixcbiAgZmFVc2VyRG9jdG9yOiBmYVVzZXJEb2N0b3IsXG4gIGZhVXNlck1kOiBmYVVzZXJNZCxcbiAgZmFDaXJjbGVJbmZvOiBmYUNpcmNsZUluZm8sXG4gIGZhSW5mb0NpcmNsZTogZmFJbmZvQ2lyY2xlLFxuICBmYUNsb3VkTWVhdGJhbGw6IGZhQ2xvdWRNZWF0YmFsbCxcbiAgZmFDYW1lcmE6IGZhQ2FtZXJhLFxuICBmYUNhbWVyYUFsdDogZmFDYW1lcmFBbHQsXG4gIGZhU3F1YXJlVmlydXM6IGZhU3F1YXJlVmlydXMsXG4gIGZhTWV0ZW9yOiBmYU1ldGVvcixcbiAgZmFDYXJPbjogZmFDYXJPbixcbiAgZmFTbGVpZ2g6IGZhU2xlaWdoLFxuICBmYUFycm93RG93bjE5OiBmYUFycm93RG93bjE5LFxuICBmYVNvcnROdW1lcmljQXNjOiBmYVNvcnROdW1lcmljQXNjLFxuICBmYVNvcnROdW1lcmljRG93bjogZmFTb3J0TnVtZXJpY0Rvd24sXG4gIGZhSGFuZEhvbGRpbmdEcm9wbGV0OiBmYUhhbmRIb2xkaW5nRHJvcGxldCxcbiAgZmFIYW5kSG9sZGluZ1dhdGVyOiBmYUhhbmRIb2xkaW5nV2F0ZXIsXG4gIGZhV2F0ZXI6IGZhV2F0ZXIsXG4gIGZhQ2FsZW5kYXJDaGVjazogZmFDYWxlbmRhckNoZWNrLFxuICBmYUJyYWlsbGU6IGZhQnJhaWxsZSxcbiAgZmFQcmVzY3JpcHRpb25Cb3R0bGVNZWRpY2FsOiBmYVByZXNjcmlwdGlvbkJvdHRsZU1lZGljYWwsXG4gIGZhUHJlc2NyaXB0aW9uQm90dGxlQWx0OiBmYVByZXNjcmlwdGlvbkJvdHRsZUFsdCxcbiAgZmFMYW5kbWFyazogZmFMYW5kbWFyayxcbiAgZmFUcnVjazogZmFUcnVjayxcbiAgZmFDcm9zc2hhaXJzOiBmYUNyb3NzaGFpcnMsXG4gIGZhUGVyc29uQ2FuZTogZmFQZXJzb25DYW5lLFxuICBmYVRlbnQ6IGZhVGVudCxcbiAgZmFWZXN0UGF0Y2hlczogZmFWZXN0UGF0Y2hlcyxcbiAgZmFDaGVja0RvdWJsZTogZmFDaGVja0RvdWJsZSxcbiAgZmFBcnJvd0Rvd25BWjogZmFBcnJvd0Rvd25BWixcbiAgZmFTb3J0QWxwaGFBc2M6IGZhU29ydEFscGhhQXNjLFxuICBmYVNvcnRBbHBoYURvd246IGZhU29ydEFscGhhRG93bixcbiAgZmFNb25leUJpbGxXaGVhdDogZmFNb25leUJpbGxXaGVhdCxcbiAgZmFDb29raWU6IGZhQ29va2llLFxuICBmYUFycm93Um90YXRlTGVmdDogZmFBcnJvd1JvdGF0ZUxlZnQsXG4gIGZhQXJyb3dMZWZ0Um90YXRlOiBmYUFycm93TGVmdFJvdGF0ZSxcbiAgZmFBcnJvd1JvdGF0ZUJhY2s6IGZhQXJyb3dSb3RhdGVCYWNrLFxuICBmYUFycm93Um90YXRlQmFja3dhcmQ6IGZhQXJyb3dSb3RhdGVCYWNrd2FyZCxcbiAgZmFVbmRvOiBmYVVuZG8sXG4gIGZhSGFyZERyaXZlOiBmYUhhcmREcml2ZSxcbiAgZmFIZGQ6IGZhSGRkLFxuICBmYUZhY2VHcmluU3F1aW50VGVhcnM6IGZhRmFjZUdyaW5TcXVpbnRUZWFycyxcbiAgZmFHcmluU3F1aW50VGVhcnM6IGZhR3JpblNxdWludFRlYXJzLFxuICBmYUR1bWJiZWxsOiBmYUR1bWJiZWxsLFxuICBmYVJlY3RhbmdsZUxpc3Q6IGZhUmVjdGFuZ2xlTGlzdCxcbiAgZmFMaXN0QWx0OiBmYUxpc3RBbHQsXG4gIGZhVGFycERyb3BsZXQ6IGZhVGFycERyb3BsZXQsXG4gIGZhSG91c2VNZWRpY2FsQ2lyY2xlQ2hlY2s6IGZhSG91c2VNZWRpY2FsQ2lyY2xlQ2hlY2ssXG4gIGZhUGVyc29uU2tpaW5nTm9yZGljOiBmYVBlcnNvblNraWluZ05vcmRpYyxcbiAgZmFTa2lpbmdOb3JkaWM6IGZhU2tpaW5nTm9yZGljLFxuICBmYUNhbGVuZGFyUGx1czogZmFDYWxlbmRhclBsdXMsXG4gIGZhUGxhbmVBcnJpdmFsOiBmYVBsYW5lQXJyaXZhbCxcbiAgZmFDaXJjbGVMZWZ0OiBmYUNpcmNsZUxlZnQsXG4gIGZhQXJyb3dBbHRDaXJjbGVMZWZ0OiBmYUFycm93QWx0Q2lyY2xlTGVmdCxcbiAgZmFUcmFpblN1YndheTogZmFUcmFpblN1YndheSxcbiAgZmFTdWJ3YXk6IGZhU3Vid2F5LFxuICBmYUNoYXJ0R2FudHQ6IGZhQ2hhcnRHYW50dCxcbiAgZmFJbmRpYW5SdXBlZVNpZ246IGZhSW5kaWFuUnVwZWVTaWduLFxuICBmYUluZGlhblJ1cGVlOiBmYUluZGlhblJ1cGVlLFxuICBmYUlucjogZmFJbnIsXG4gIGZhQ3JvcFNpbXBsZTogZmFDcm9wU2ltcGxlLFxuICBmYUNyb3BBbHQ6IGZhQ3JvcEFsdCxcbiAgZmFNb25leUJpbGwxOiBmYU1vbmV5QmlsbDEsXG4gIGZhTW9uZXlCaWxsQWx0OiBmYU1vbmV5QmlsbEFsdCxcbiAgZmFMZWZ0TG9uZzogZmFMZWZ0TG9uZyxcbiAgZmFMb25nQXJyb3dBbHRMZWZ0OiBmYUxvbmdBcnJvd0FsdExlZnQsXG4gIGZhRG5hOiBmYURuYSxcbiAgZmFWaXJ1c1NsYXNoOiBmYVZpcnVzU2xhc2gsXG4gIGZhTWludXM6IGZhTWludXMsXG4gIGZhU3VidHJhY3Q6IGZhU3VidHJhY3QsXG4gIGZhQ2hlc3M6IGZhQ2hlc3MsXG4gIGZhQXJyb3dMZWZ0TG9uZzogZmFBcnJvd0xlZnRMb25nLFxuICBmYUxvbmdBcnJvd0xlZnQ6IGZhTG9uZ0Fycm93TGVmdCxcbiAgZmFQbHVnQ2lyY2xlQ2hlY2s6IGZhUGx1Z0NpcmNsZUNoZWNrLFxuICBmYVN0cmVldFZpZXc6IGZhU3RyZWV0VmlldyxcbiAgZmFGcmFuY1NpZ246IGZhRnJhbmNTaWduLFxuICBmYVZvbHVtZU9mZjogZmFWb2x1bWVPZmYsXG4gIGZhSGFuZHNBc2xJbnRlcnByZXRpbmc6IGZhSGFuZHNBc2xJbnRlcnByZXRpbmcsXG4gIGZhQW1lcmljYW5TaWduTGFuZ3VhZ2VJbnRlcnByZXRpbmc6IGZhQW1lcmljYW5TaWduTGFuZ3VhZ2VJbnRlcnByZXRpbmcsXG4gIGZhQXNsSW50ZXJwcmV0aW5nOiBmYUFzbEludGVycHJldGluZyxcbiAgZmFIYW5kc0FtZXJpY2FuU2lnbkxhbmd1YWdlSW50ZXJwcmV0aW5nOiBmYUhhbmRzQW1lcmljYW5TaWduTGFuZ3VhZ2VJbnRlcnByZXRpbmcsXG4gIGZhR2VhcjogZmFHZWFyLFxuICBmYUNvZzogZmFDb2csXG4gIGZhRHJvcGxldFNsYXNoOiBmYURyb3BsZXRTbGFzaCxcbiAgZmFUaW50U2xhc2g6IGZhVGludFNsYXNoLFxuICBmYU1vc3F1ZTogZmFNb3NxdWUsXG4gIGZhTW9zcXVpdG86IGZhTW9zcXVpdG8sXG4gIGZhU3Rhck9mRGF2aWQ6IGZhU3Rhck9mRGF2aWQsXG4gIGZhUGVyc29uTWlsaXRhcnlSaWZsZTogZmFQZXJzb25NaWxpdGFyeVJpZmxlLFxuICBmYUNhcnRTaG9wcGluZzogZmFDYXJ0U2hvcHBpbmcsXG4gIGZhU2hvcHBpbmdDYXJ0OiBmYVNob3BwaW5nQ2FydCxcbiAgZmFWaWFsczogZmFWaWFscyxcbiAgZmFQbHVnQ2lyY2xlUGx1czogZmFQbHVnQ2lyY2xlUGx1cyxcbiAgZmFQbGFjZU9mV29yc2hpcDogZmFQbGFjZU9mV29yc2hpcCxcbiAgZmFHcmlwVmVydGljYWw6IGZhR3JpcFZlcnRpY2FsLFxuICBmYUFycm93VHVyblVwOiBmYUFycm93VHVyblVwLFxuICBmYUxldmVsVXA6IGZhTGV2ZWxVcCxcbiAgZmFVOiBmYVUsXG4gIGZhU3F1YXJlUm9vdFZhcmlhYmxlOiBmYVNxdWFyZVJvb3RWYXJpYWJsZSxcbiAgZmFTcXVhcmVSb290QWx0OiBmYVNxdWFyZVJvb3RBbHQsXG4gIGZhQ2xvY2s6IGZhQ2xvY2ssXG4gIGZhQ2xvY2tGb3VyOiBmYUNsb2NrRm91cixcbiAgZmFCYWNrd2FyZFN0ZXA6IGZhQmFja3dhcmRTdGVwLFxuICBmYVN0ZXBCYWNrd2FyZDogZmFTdGVwQmFja3dhcmQsXG4gIGZhUGFsbGV0OiBmYVBhbGxldCxcbiAgZmFGYXVjZXQ6IGZhRmF1Y2V0LFxuICBmYUJhc2ViYWxsQmF0QmFsbDogZmFCYXNlYmFsbEJhdEJhbGwsXG4gIGZhUzogZmFTLFxuICBmYVRpbWVsaW5lOiBmYVRpbWVsaW5lLFxuICBmYUtleWJvYXJkOiBmYUtleWJvYXJkLFxuICBmYUNhcmV0RG93bjogZmFDYXJldERvd24sXG4gIGZhSG91c2VDaGltbmV5TWVkaWNhbDogZmFIb3VzZUNoaW1uZXlNZWRpY2FsLFxuICBmYUNsaW5pY01lZGljYWw6IGZhQ2xpbmljTWVkaWNhbCxcbiAgZmFUZW1wZXJhdHVyZVRocmVlUXVhcnRlcnM6IGZhVGVtcGVyYXR1cmVUaHJlZVF1YXJ0ZXJzLFxuICBmYVRlbXBlcmF0dXJlMzogZmFUZW1wZXJhdHVyZTMsXG4gIGZhVGhlcm1vbWV0ZXIzOiBmYVRoZXJtb21ldGVyMyxcbiAgZmFUaGVybW9tZXRlclRocmVlUXVhcnRlcnM6IGZhVGhlcm1vbWV0ZXJUaHJlZVF1YXJ0ZXJzLFxuICBmYU1vYmlsZVNjcmVlbjogZmFNb2JpbGVTY3JlZW4sXG4gIGZhTW9iaWxlQW5kcm9pZEFsdDogZmFNb2JpbGVBbmRyb2lkQWx0LFxuICBmYVBsYW5lVXA6IGZhUGxhbmVVcCxcbiAgZmFQaWdneUJhbms6IGZhUGlnZ3lCYW5rLFxuICBmYUJhdHRlcnlIYWxmOiBmYUJhdHRlcnlIYWxmLFxuICBmYUJhdHRlcnkzOiBmYUJhdHRlcnkzLFxuICBmYU1vdW50YWluQ2l0eTogZmFNb3VudGFpbkNpdHksXG4gIGZhQ29pbnM6IGZhQ29pbnMsXG4gIGZhS2hhbmRhOiBmYUtoYW5kYSxcbiAgZmFTbGlkZXJzOiBmYVNsaWRlcnMsXG4gIGZhU2xpZGVyc0g6IGZhU2xpZGVyc0gsXG4gIGZhRm9sZGVyVHJlZTogZmFGb2xkZXJUcmVlLFxuICBmYU5ldHdvcmtXaXJlZDogZmFOZXR3b3JrV2lyZWQsXG4gIGZhTWFwUGluOiBmYU1hcFBpbixcbiAgZmFIYW1zYTogZmFIYW1zYSxcbiAgZmFDZW50U2lnbjogZmFDZW50U2lnbixcbiAgZmFGbGFzazogZmFGbGFzayxcbiAgZmFQZXJzb25QcmVnbmFudDogZmFQZXJzb25QcmVnbmFudCxcbiAgZmFXYW5kU3BhcmtsZXM6IGZhV2FuZFNwYXJrbGVzLFxuICBmYUVsbGlwc2lzVmVydGljYWw6IGZhRWxsaXBzaXNWZXJ0aWNhbCxcbiAgZmFFbGxpcHNpc1Y6IGZhRWxsaXBzaXNWLFxuICBmYVRpY2tldDogZmFUaWNrZXQsXG4gIGZhUG93ZXJPZmY6IGZhUG93ZXJPZmYsXG4gIGZhUmlnaHRMb25nOiBmYVJpZ2h0TG9uZyxcbiAgZmFMb25nQXJyb3dBbHRSaWdodDogZmFMb25nQXJyb3dBbHRSaWdodCxcbiAgZmFGbGFnVXNhOiBmYUZsYWdVc2EsXG4gIGZhTGFwdG9wRmlsZTogZmFMYXB0b3BGaWxlLFxuICBmYVR0eTogZmFUdHksXG4gIGZhVGVsZXR5cGU6IGZhVGVsZXR5cGUsXG4gIGZhRGlhZ3JhbU5leHQ6IGZhRGlhZ3JhbU5leHQsXG4gIGZhUGVyc29uUmlmbGU6IGZhUGVyc29uUmlmbGUsXG4gIGZhSG91c2VNZWRpY2FsQ2lyY2xlRXhjbGFtYXRpb246IGZhSG91c2VNZWRpY2FsQ2lyY2xlRXhjbGFtYXRpb24sXG4gIGZhQ2xvc2VkQ2FwdGlvbmluZzogZmFDbG9zZWRDYXB0aW9uaW5nLFxuICBmYVBlcnNvbkhpa2luZzogZmFQZXJzb25IaWtpbmcsXG4gIGZhSGlraW5nOiBmYUhpa2luZyxcbiAgZmFWZW51c0RvdWJsZTogZmFWZW51c0RvdWJsZSxcbiAgZmFJbWFnZXM6IGZhSW1hZ2VzLFxuICBmYUNhbGN1bGF0b3I6IGZhQ2FsY3VsYXRvcixcbiAgZmFQZW9wbGVQdWxsaW5nOiBmYVBlb3BsZVB1bGxpbmcsXG4gIGZhTjogZmFOLFxuICBmYUNhYmxlQ2FyOiBmYUNhYmxlQ2FyLFxuICBmYVRyYW06IGZhVHJhbSxcbiAgZmFDbG91ZFJhaW46IGZhQ2xvdWRSYWluLFxuICBmYUJ1aWxkaW5nQ2lyY2xlWG1hcms6IGZhQnVpbGRpbmdDaXJjbGVYbWFyayxcbiAgZmFTaGlwOiBmYVNoaXAsXG4gIGZhQXJyb3dzRG93blRvTGluZTogZmFBcnJvd3NEb3duVG9MaW5lLFxuICBmYURvd25sb2FkOiBmYURvd25sb2FkLFxuICBmYUZhY2VHcmluOiBmYUZhY2VHcmluLFxuICBmYUdyaW46IGZhR3JpbixcbiAgZmFEZWxldGVMZWZ0OiBmYURlbGV0ZUxlZnQsXG4gIGZhQmFja3NwYWNlOiBmYUJhY2tzcGFjZSxcbiAgZmFFeWVEcm9wcGVyOiBmYUV5ZURyb3BwZXIsXG4gIGZhRXllRHJvcHBlckVtcHR5OiBmYUV5ZURyb3BwZXJFbXB0eSxcbiAgZmFFeWVkcm9wcGVyOiBmYUV5ZWRyb3BwZXIsXG4gIGZhRmlsZUNpcmNsZUNoZWNrOiBmYUZpbGVDaXJjbGVDaGVjayxcbiAgZmFGb3J3YXJkOiBmYUZvcndhcmQsXG4gIGZhTW9iaWxlOiBmYU1vYmlsZSxcbiAgZmFNb2JpbGVBbmRyb2lkOiBmYU1vYmlsZUFuZHJvaWQsXG4gIGZhTW9iaWxlUGhvbmU6IGZhTW9iaWxlUGhvbmUsXG4gIGZhRmFjZU1laDogZmFGYWNlTWVoLFxuICBmYU1laDogZmFNZWgsXG4gIGZhQWxpZ25DZW50ZXI6IGZhQWxpZ25DZW50ZXIsXG4gIGZhQm9va1NrdWxsOiBmYUJvb2tTa3VsbCxcbiAgZmFCb29rRGVhZDogZmFCb29rRGVhZCxcbiAgZmFJZENhcmQ6IGZhSWRDYXJkLFxuICBmYURyaXZlcnNMaWNlbnNlOiBmYURyaXZlcnNMaWNlbnNlLFxuICBmYU91dGRlbnQ6IGZhT3V0ZGVudCxcbiAgZmFEZWRlbnQ6IGZhRGVkZW50LFxuICBmYUhlYXJ0Q2lyY2xlRXhjbGFtYXRpb246IGZhSGVhcnRDaXJjbGVFeGNsYW1hdGlvbixcbiAgZmFIb3VzZTogZmFIb3VzZSxcbiAgZmFIb21lOiBmYUhvbWUsXG4gIGZhSG9tZUFsdDogZmFIb21lQWx0LFxuICBmYUhvbWVMZ0FsdDogZmFIb21lTGdBbHQsXG4gIGZhQ2FsZW5kYXJXZWVrOiBmYUNhbGVuZGFyV2VlayxcbiAgZmFMYXB0b3BNZWRpY2FsOiBmYUxhcHRvcE1lZGljYWwsXG4gIGZhQjogZmFCLFxuICBmYUZpbGVNZWRpY2FsOiBmYUZpbGVNZWRpY2FsLFxuICBmYURpY2VPbmU6IGZhRGljZU9uZSxcbiAgZmFLaXdpQmlyZDogZmFLaXdpQmlyZCxcbiAgZmFBcnJvd1JpZ2h0QXJyb3dMZWZ0OiBmYUFycm93UmlnaHRBcnJvd0xlZnQsXG4gIGZhRXhjaGFuZ2U6IGZhRXhjaGFuZ2UsXG4gIGZhUm90YXRlUmlnaHQ6IGZhUm90YXRlUmlnaHQsXG4gIGZhUmVkb0FsdDogZmFSZWRvQWx0LFxuICBmYVJvdGF0ZUZvcndhcmQ6IGZhUm90YXRlRm9yd2FyZCxcbiAgZmFVdGVuc2lsczogZmFVdGVuc2lscyxcbiAgZmFDdXRsZXJ5OiBmYUN1dGxlcnksXG4gIGZhQXJyb3dVcFdpZGVTaG9ydDogZmFBcnJvd1VwV2lkZVNob3J0LFxuICBmYVNvcnRBbW91bnRVcDogZmFTb3J0QW1vdW50VXAsXG4gIGZhTWlsbFNpZ246IGZhTWlsbFNpZ24sXG4gIGZhQm93bFJpY2U6IGZhQm93bFJpY2UsXG4gIGZhU2t1bGw6IGZhU2t1bGwsXG4gIGZhVG93ZXJCcm9hZGNhc3Q6IGZhVG93ZXJCcm9hZGNhc3QsXG4gIGZhQnJvYWRjYXN0VG93ZXI6IGZhQnJvYWRjYXN0VG93ZXIsXG4gIGZhVHJ1Y2tQaWNrdXA6IGZhVHJ1Y2tQaWNrdXAsXG4gIGZhVXBMb25nOiBmYVVwTG9uZyxcbiAgZmFMb25nQXJyb3dBbHRVcDogZmFMb25nQXJyb3dBbHRVcCxcbiAgZmFTdG9wOiBmYVN0b3AsXG4gIGZhQ29kZU1lcmdlOiBmYUNvZGVNZXJnZSxcbiAgZmFVcGxvYWQ6IGZhVXBsb2FkLFxuICBmYUh1cnJpY2FuZTogZmFIdXJyaWNhbmUsXG4gIGZhTW91bmQ6IGZhTW91bmQsXG4gIGZhVG9pbGV0UG9ydGFibGU6IGZhVG9pbGV0UG9ydGFibGUsXG4gIGZhQ29tcGFjdERpc2M6IGZhQ29tcGFjdERpc2MsXG4gIGZhRmlsZUFycm93RG93bjogZmFGaWxlQXJyb3dEb3duLFxuICBmYUZpbGVEb3dubG9hZDogZmFGaWxlRG93bmxvYWQsXG4gIGZhQ2FyYXZhbjogZmFDYXJhdmFuLFxuICBmYVNoaWVsZENhdDogZmFTaGllbGRDYXQsXG4gIGZhQm9sdDogZmFCb2x0LFxuICBmYVphcDogZmFaYXAsXG4gIGZhR2xhc3NXYXRlcjogZmFHbGFzc1dhdGVyLFxuICBmYU9pbFdlbGw6IGZhT2lsV2VsbCxcbiAgZmFWYXVsdDogZmFWYXVsdCxcbiAgZmFNYXJzOiBmYU1hcnMsXG4gIGZhVG9pbGV0OiBmYVRvaWxldCxcbiAgZmFQbGFuZUNpcmNsZVhtYXJrOiBmYVBsYW5lQ2lyY2xlWG1hcmssXG4gIGZhWWVuU2lnbjogZmFZZW5TaWduLFxuICBmYUNueTogZmFDbnksXG4gIGZhSnB5OiBmYUpweSxcbiAgZmFSbWI6IGZhUm1iLFxuICBmYVllbjogZmFZZW4sXG4gIGZhUnVibGVTaWduOiBmYVJ1YmxlU2lnbixcbiAgZmFSb3VibGU6IGZhUm91YmxlLFxuICBmYVJ1YjogZmFSdWIsXG4gIGZhUnVibGU6IGZhUnVibGUsXG4gIGZhU3VuOiBmYVN1bixcbiAgZmFHdWl0YXI6IGZhR3VpdGFyLFxuICBmYUZhY2VMYXVnaFdpbms6IGZhRmFjZUxhdWdoV2luayxcbiAgZmFMYXVnaFdpbms6IGZhTGF1Z2hXaW5rLFxuICBmYUhvcnNlSGVhZDogZmFIb3JzZUhlYWQsXG4gIGZhQm9yZUhvbGU6IGZhQm9yZUhvbGUsXG4gIGZhSW5kdXN0cnk6IGZhSW5kdXN0cnksXG4gIGZhQ2lyY2xlRG93bjogZmFDaXJjbGVEb3duLFxuICBmYUFycm93QWx0Q2lyY2xlRG93bjogZmFBcnJvd0FsdENpcmNsZURvd24sXG4gIGZhQXJyb3dzVHVyblRvRG90czogZmFBcnJvd3NUdXJuVG9Eb3RzLFxuICBmYUZsb3JpblNpZ246IGZhRmxvcmluU2lnbixcbiAgZmFBcnJvd0Rvd25TaG9ydFdpZGU6IGZhQXJyb3dEb3duU2hvcnRXaWRlLFxuICBmYVNvcnRBbW91bnREZXNjOiBmYVNvcnRBbW91bnREZXNjLFxuICBmYVNvcnRBbW91bnREb3duQWx0OiBmYVNvcnRBbW91bnREb3duQWx0LFxuICBmYUxlc3NUaGFuOiBmYUxlc3NUaGFuLFxuICBmYUFuZ2xlRG93bjogZmFBbmdsZURvd24sXG4gIGZhQ2FyVHVubmVsOiBmYUNhclR1bm5lbCxcbiAgZmFIZWFkU2lkZUNvdWdoOiBmYUhlYWRTaWRlQ291Z2gsXG4gIGZhR3JpcExpbmVzOiBmYUdyaXBMaW5lcyxcbiAgZmFUaHVtYnNEb3duOiBmYVRodW1ic0Rvd24sXG4gIGZhVXNlckxvY2s6IGZhVXNlckxvY2ssXG4gIGZhQXJyb3dSaWdodExvbmc6IGZhQXJyb3dSaWdodExvbmcsXG4gIGZhTG9uZ0Fycm93UmlnaHQ6IGZhTG9uZ0Fycm93UmlnaHQsXG4gIGZhQW5jaG9yQ2lyY2xlWG1hcms6IGZhQW5jaG9yQ2lyY2xlWG1hcmssXG4gIGZhRWxsaXBzaXM6IGZhRWxsaXBzaXMsXG4gIGZhRWxsaXBzaXNIOiBmYUVsbGlwc2lzSCxcbiAgZmFDaGVzc1Bhd246IGZhQ2hlc3NQYXduLFxuICBmYUtpdE1lZGljYWw6IGZhS2l0TWVkaWNhbCxcbiAgZmFGaXJzdEFpZDogZmFGaXJzdEFpZCxcbiAgZmFQZXJzb25UaHJvdWdoV2luZG93OiBmYVBlcnNvblRocm91Z2hXaW5kb3csXG4gIGZhVG9vbGJveDogZmFUb29sYm94LFxuICBmYUhhbmRzSG9sZGluZ0NpcmNsZTogZmFIYW5kc0hvbGRpbmdDaXJjbGUsXG4gIGZhQnVnOiBmYUJ1ZyxcbiAgZmFDcmVkaXRDYXJkOiBmYUNyZWRpdENhcmQsXG4gIGZhQ3JlZGl0Q2FyZEFsdDogZmFDcmVkaXRDYXJkQWx0LFxuICBmYUNhcjogZmFDYXIsXG4gIGZhQXV0b21vYmlsZTogZmFBdXRvbW9iaWxlLFxuICBmYUhhbmRIb2xkaW5nSGFuZDogZmFIYW5kSG9sZGluZ0hhbmQsXG4gIGZhQm9va09wZW5SZWFkZXI6IGZhQm9va09wZW5SZWFkZXIsXG4gIGZhQm9va1JlYWRlcjogZmFCb29rUmVhZGVyLFxuICBmYU1vdW50YWluU3VuOiBmYU1vdW50YWluU3VuLFxuICBmYUFycm93c0xlZnRSaWdodFRvTGluZTogZmFBcnJvd3NMZWZ0UmlnaHRUb0xpbmUsXG4gIGZhRGljZUQyMDogZmFEaWNlRDIwLFxuICBmYVRydWNrRHJvcGxldDogZmFUcnVja0Ryb3BsZXQsXG4gIGZhRmlsZUNpcmNsZVhtYXJrOiBmYUZpbGVDaXJjbGVYbWFyayxcbiAgZmFUZW1wZXJhdHVyZUFycm93VXA6IGZhVGVtcGVyYXR1cmVBcnJvd1VwLFxuICBmYVRlbXBlcmF0dXJlVXA6IGZhVGVtcGVyYXR1cmVVcCxcbiAgZmFNZWRhbDogZmFNZWRhbCxcbiAgZmFCZWQ6IGZhQmVkLFxuICBmYVNxdWFyZUg6IGZhU3F1YXJlSCxcbiAgZmFIU3F1YXJlOiBmYUhTcXVhcmUsXG4gIGZhUG9kY2FzdDogZmFQb2RjYXN0LFxuICBmYVRlbXBlcmF0dXJlRnVsbDogZmFUZW1wZXJhdHVyZUZ1bGwsXG4gIGZhVGVtcGVyYXR1cmU0OiBmYVRlbXBlcmF0dXJlNCxcbiAgZmFUaGVybW9tZXRlcjQ6IGZhVGhlcm1vbWV0ZXI0LFxuICBmYVRoZXJtb21ldGVyRnVsbDogZmFUaGVybW9tZXRlckZ1bGwsXG4gIGZhQmVsbDogZmFCZWxsLFxuICBmYVN1cGVyc2NyaXB0OiBmYVN1cGVyc2NyaXB0LFxuICBmYVBsdWdDaXJjbGVYbWFyazogZmFQbHVnQ2lyY2xlWG1hcmssXG4gIGZhU3Rhck9mTGlmZTogZmFTdGFyT2ZMaWZlLFxuICBmYVBob25lU2xhc2g6IGZhUGhvbmVTbGFzaCxcbiAgZmFQYWludFJvbGxlcjogZmFQYWludFJvbGxlcixcbiAgZmFIYW5kc2hha2VBbmdsZTogZmFIYW5kc2hha2VBbmdsZSxcbiAgZmFIYW5kc0hlbHBpbmc6IGZhSGFuZHNIZWxwaW5nLFxuICBmYUxvY2F0aW9uRG90OiBmYUxvY2F0aW9uRG90LFxuICBmYU1hcE1hcmtlckFsdDogZmFNYXBNYXJrZXJBbHQsXG4gIGZhRmlsZTogZmFGaWxlLFxuICBmYUdyZWF0ZXJUaGFuOiBmYUdyZWF0ZXJUaGFuLFxuICBmYVBlcnNvblN3aW1taW5nOiBmYVBlcnNvblN3aW1taW5nLFxuICBmYVN3aW1tZXI6IGZhU3dpbW1lcixcbiAgZmFBcnJvd0Rvd246IGZhQXJyb3dEb3duLFxuICBmYURyb3BsZXQ6IGZhRHJvcGxldCxcbiAgZmFUaW50OiBmYVRpbnQsXG4gIGZhRXJhc2VyOiBmYUVyYXNlcixcbiAgZmFFYXJ0aEFtZXJpY2FzOiBmYUVhcnRoQW1lcmljYXMsXG4gIGZhRWFydGg6IGZhRWFydGgsXG4gIGZhRWFydGhBbWVyaWNhOiBmYUVhcnRoQW1lcmljYSxcbiAgZmFHbG9iZUFtZXJpY2FzOiBmYUdsb2JlQW1lcmljYXMsXG4gIGZhUGVyc29uQnVyc3Q6IGZhUGVyc29uQnVyc3QsXG4gIGZhRG92ZTogZmFEb3ZlLFxuICBmYUJhdHRlcnlFbXB0eTogZmFCYXR0ZXJ5RW1wdHksXG4gIGZhQmF0dGVyeTA6IGZhQmF0dGVyeTAsXG4gIGZhU29ja3M6IGZhU29ja3MsXG4gIGZhSW5ib3g6IGZhSW5ib3gsXG4gIGZhU2VjdGlvbjogZmFTZWN0aW9uLFxuICBmYUdhdWdlSGlnaDogZmFHYXVnZUhpZ2gsXG4gIGZhVGFjaG9tZXRlckFsdDogZmFUYWNob21ldGVyQWx0LFxuICBmYVRhY2hvbWV0ZXJBbHRGYXN0OiBmYVRhY2hvbWV0ZXJBbHRGYXN0LFxuICBmYUVudmVsb3BlT3BlblRleHQ6IGZhRW52ZWxvcGVPcGVuVGV4dCxcbiAgZmFIb3NwaXRhbDogZmFIb3NwaXRhbCxcbiAgZmFIb3NwaXRhbEFsdDogZmFIb3NwaXRhbEFsdCxcbiAgZmFIb3NwaXRhbFdpZGU6IGZhSG9zcGl0YWxXaWRlLFxuICBmYVdpbmVCb3R0bGU6IGZhV2luZUJvdHRsZSxcbiAgZmFDaGVzc1Jvb2s6IGZhQ2hlc3NSb29rLFxuICBmYUJhcnNTdGFnZ2VyZWQ6IGZhQmFyc1N0YWdnZXJlZCxcbiAgZmFSZW9yZGVyOiBmYVJlb3JkZXIsXG4gIGZhU3RyZWFtOiBmYVN0cmVhbSxcbiAgZmFEaGFybWFjaGFrcmE6IGZhRGhhcm1hY2hha3JhLFxuICBmYUhvdGRvZzogZmFIb3Rkb2csXG4gIGZhUGVyc29uV2Fsa2luZ1dpdGhDYW5lOiBmYVBlcnNvbldhbGtpbmdXaXRoQ2FuZSxcbiAgZmFCbGluZDogZmFCbGluZCxcbiAgZmFEcnVtOiBmYURydW0sXG4gIGZhSWNlQ3JlYW06IGZhSWNlQ3JlYW0sXG4gIGZhSGVhcnRDaXJjbGVCb2x0OiBmYUhlYXJ0Q2lyY2xlQm9sdCxcbiAgZmFGYXg6IGZhRmF4LFxuICBmYVBhcmFncmFwaDogZmFQYXJhZ3JhcGgsXG4gIGZhQ2hlY2tUb1Nsb3Q6IGZhQ2hlY2tUb1Nsb3QsXG4gIGZhVm90ZVllYTogZmFWb3RlWWVhLFxuICBmYVN0YXJIYWxmOiBmYVN0YXJIYWxmLFxuICBmYUJveGVzU3RhY2tlZDogZmFCb3hlc1N0YWNrZWQsXG4gIGZhQm94ZXM6IGZhQm94ZXMsXG4gIGZhQm94ZXNBbHQ6IGZhQm94ZXNBbHQsXG4gIGZhTGluazogZmFMaW5rLFxuICBmYUNoYWluOiBmYUNoYWluLFxuICBmYUVhckxpc3RlbjogZmFFYXJMaXN0ZW4sXG4gIGZhQXNzaXN0aXZlTGlzdGVuaW5nU3lzdGVtczogZmFBc3Npc3RpdmVMaXN0ZW5pbmdTeXN0ZW1zLFxuICBmYVRyZWVDaXR5OiBmYVRyZWVDaXR5LFxuICBmYVBsYXk6IGZhUGxheSxcbiAgZmFGb250OiBmYUZvbnQsXG4gIGZhVGFibGVDZWxsc1Jvd0xvY2s6IGZhVGFibGVDZWxsc1Jvd0xvY2ssXG4gIGZhUnVwaWFoU2lnbjogZmFSdXBpYWhTaWduLFxuICBmYU1hZ25pZnlpbmdHbGFzczogZmFNYWduaWZ5aW5nR2xhc3MsXG4gIGZhU2VhcmNoOiBmYVNlYXJjaCxcbiAgZmFUYWJsZVRlbm5pc1BhZGRsZUJhbGw6IGZhVGFibGVUZW5uaXNQYWRkbGVCYWxsLFxuICBmYVBpbmdQb25nUGFkZGxlQmFsbDogZmFQaW5nUG9uZ1BhZGRsZUJhbGwsXG4gIGZhVGFibGVUZW5uaXM6IGZhVGFibGVUZW5uaXMsXG4gIGZhUGVyc29uRG90c0Zyb21MaW5lOiBmYVBlcnNvbkRvdHNGcm9tTGluZSxcbiAgZmFEaWFnbm9zZXM6IGZhRGlhZ25vc2VzLFxuICBmYVRyYXNoQ2FuQXJyb3dVcDogZmFUcmFzaENhbkFycm93VXAsXG4gIGZhVHJhc2hSZXN0b3JlQWx0OiBmYVRyYXNoUmVzdG9yZUFsdCxcbiAgZmFOYWlyYVNpZ246IGZhTmFpcmFTaWduLFxuICBmYUNhcnRBcnJvd0Rvd246IGZhQ2FydEFycm93RG93bixcbiAgZmFXYWxraWVUYWxraWU6IGZhV2Fsa2llVGFsa2llLFxuICBmYUZpbGVQZW46IGZhRmlsZVBlbixcbiAgZmFGaWxlRWRpdDogZmFGaWxlRWRpdCxcbiAgZmFSZWNlaXB0OiBmYVJlY2VpcHQsXG4gIGZhU3F1YXJlUGVuOiBmYVNxdWFyZVBlbixcbiAgZmFQZW5TcXVhcmU6IGZhUGVuU3F1YXJlLFxuICBmYVBlbmNpbFNxdWFyZTogZmFQZW5jaWxTcXVhcmUsXG4gIGZhU3VpdGNhc2VSb2xsaW5nOiBmYVN1aXRjYXNlUm9sbGluZyxcbiAgZmFQZXJzb25DaXJjbGVFeGNsYW1hdGlvbjogZmFQZXJzb25DaXJjbGVFeGNsYW1hdGlvbixcbiAgZmFDaGV2cm9uRG93bjogZmFDaGV2cm9uRG93bixcbiAgZmFCYXR0ZXJ5RnVsbDogZmFCYXR0ZXJ5RnVsbCxcbiAgZmFCYXR0ZXJ5OiBmYUJhdHRlcnksXG4gIGZhQmF0dGVyeTU6IGZhQmF0dGVyeTUsXG4gIGZhU2t1bGxDcm9zc2JvbmVzOiBmYVNrdWxsQ3Jvc3Nib25lcyxcbiAgZmFDb2RlQ29tcGFyZTogZmFDb2RlQ29tcGFyZSxcbiAgZmFMaXN0VWw6IGZhTGlzdFVsLFxuICBmYUxpc3REb3RzOiBmYUxpc3REb3RzLFxuICBmYVNjaG9vbExvY2s6IGZhU2Nob29sTG9jayxcbiAgZmFUb3dlckNlbGw6IGZhVG93ZXJDZWxsLFxuICBmYURvd25Mb25nOiBmYURvd25Mb25nLFxuICBmYUxvbmdBcnJvd0FsdERvd246IGZhTG9uZ0Fycm93QWx0RG93bixcbiAgZmFSYW5raW5nU3RhcjogZmFSYW5raW5nU3RhcixcbiAgZmFDaGVzc0tpbmc6IGZhQ2hlc3NLaW5nLFxuICBmYVBlcnNvbkhhcmFzc2luZzogZmFQZXJzb25IYXJhc3NpbmcsXG4gIGZhQnJhemlsaWFuUmVhbFNpZ246IGZhQnJhemlsaWFuUmVhbFNpZ24sXG4gIGZhTGFuZG1hcmtEb21lOiBmYUxhbmRtYXJrRG9tZSxcbiAgZmFMYW5kbWFya0FsdDogZmFMYW5kbWFya0FsdCxcbiAgZmFBcnJvd1VwOiBmYUFycm93VXAsXG4gIGZhVHY6IGZhVHYsXG4gIGZhVGVsZXZpc2lvbjogZmFUZWxldmlzaW9uLFxuICBmYVR2QWx0OiBmYVR2QWx0LFxuICBmYVNocmltcDogZmFTaHJpbXAsXG4gIGZhTGlzdENoZWNrOiBmYUxpc3RDaGVjayxcbiAgZmFUYXNrczogZmFUYXNrcyxcbiAgZmFKdWdEZXRlcmdlbnQ6IGZhSnVnRGV0ZXJnZW50LFxuICBmYUNpcmNsZVVzZXI6IGZhQ2lyY2xlVXNlcixcbiAgZmFVc2VyQ2lyY2xlOiBmYVVzZXJDaXJjbGUsXG4gIGZhVXNlclNoaWVsZDogZmFVc2VyU2hpZWxkLFxuICBmYVdpbmQ6IGZhV2luZCxcbiAgZmFDYXJCdXJzdDogZmFDYXJCdXJzdCxcbiAgZmFDYXJDcmFzaDogZmFDYXJDcmFzaCxcbiAgZmFZOiBmYVksXG4gIGZhUGVyc29uU25vd2JvYXJkaW5nOiBmYVBlcnNvblNub3dib2FyZGluZyxcbiAgZmFTbm93Ym9hcmRpbmc6IGZhU25vd2JvYXJkaW5nLFxuICBmYVRydWNrRmFzdDogZmFUcnVja0Zhc3QsXG4gIGZhU2hpcHBpbmdGYXN0OiBmYVNoaXBwaW5nRmFzdCxcbiAgZmFGaXNoOiBmYUZpc2gsXG4gIGZhVXNlckdyYWR1YXRlOiBmYVVzZXJHcmFkdWF0ZSxcbiAgZmFDaXJjbGVIYWxmU3Ryb2tlOiBmYUNpcmNsZUhhbGZTdHJva2UsXG4gIGZhQWRqdXN0OiBmYUFkanVzdCxcbiAgZmFDbGFwcGVyYm9hcmQ6IGZhQ2xhcHBlcmJvYXJkLFxuICBmYUNpcmNsZVJhZGlhdGlvbjogZmFDaXJjbGVSYWRpYXRpb24sXG4gIGZhUmFkaWF0aW9uQWx0OiBmYVJhZGlhdGlvbkFsdCxcbiAgZmFCYXNlYmFsbDogZmFCYXNlYmFsbCxcbiAgZmFCYXNlYmFsbEJhbGw6IGZhQmFzZWJhbGxCYWxsLFxuICBmYUpldEZpZ2h0ZXJVcDogZmFKZXRGaWdodGVyVXAsXG4gIGZhRGlhZ3JhbVByb2plY3Q6IGZhRGlhZ3JhbVByb2plY3QsXG4gIGZhUHJvamVjdERpYWdyYW06IGZhUHJvamVjdERpYWdyYW0sXG4gIGZhQ29weTogZmFDb3B5LFxuICBmYVZvbHVtZVhtYXJrOiBmYVZvbHVtZVhtYXJrLFxuICBmYVZvbHVtZU11dGU6IGZhVm9sdW1lTXV0ZSxcbiAgZmFWb2x1bWVUaW1lczogZmFWb2x1bWVUaW1lcyxcbiAgZmFIYW5kU3BhcmtsZXM6IGZhSGFuZFNwYXJrbGVzLFxuICBmYUdyaXA6IGZhR3JpcCxcbiAgZmFHcmlwSG9yaXpvbnRhbDogZmFHcmlwSG9yaXpvbnRhbCxcbiAgZmFTaGFyZUZyb21TcXVhcmU6IGZhU2hhcmVGcm9tU3F1YXJlLFxuICBmYVNoYXJlU3F1YXJlOiBmYVNoYXJlU3F1YXJlLFxuICBmYUNoaWxkQ29tYmF0YW50OiBmYUNoaWxkQ29tYmF0YW50LFxuICBmYUNoaWxkUmlmbGU6IGZhQ2hpbGRSaWZsZSxcbiAgZmFHdW46IGZhR3VuLFxuICBmYVNxdWFyZVBob25lOiBmYVNxdWFyZVBob25lLFxuICBmYVBob25lU3F1YXJlOiBmYVBob25lU3F1YXJlLFxuICBmYVBsdXM6IGZhUGx1cyxcbiAgZmFBZGQ6IGZhQWRkLFxuICBmYUV4cGFuZDogZmFFeHBhbmQsXG4gIGZhQ29tcHV0ZXI6IGZhQ29tcHV0ZXIsXG4gIGZhWG1hcms6IGZhWG1hcmssXG4gIGZhQ2xvc2U6IGZhQ2xvc2UsXG4gIGZhTXVsdGlwbHk6IGZhTXVsdGlwbHksXG4gIGZhUmVtb3ZlOiBmYVJlbW92ZSxcbiAgZmFUaW1lczogZmFUaW1lcyxcbiAgZmFBcnJvd3NVcERvd25MZWZ0UmlnaHQ6IGZhQXJyb3dzVXBEb3duTGVmdFJpZ2h0LFxuICBmYUFycm93czogZmFBcnJvd3MsXG4gIGZhQ2hhbGtib2FyZFVzZXI6IGZhQ2hhbGtib2FyZFVzZXIsXG4gIGZhQ2hhbGtib2FyZFRlYWNoZXI6IGZhQ2hhbGtib2FyZFRlYWNoZXIsXG4gIGZhUGVzb1NpZ246IGZhUGVzb1NpZ24sXG4gIGZhQnVpbGRpbmdTaGllbGQ6IGZhQnVpbGRpbmdTaGllbGQsXG4gIGZhQmFieTogZmFCYWJ5LFxuICBmYVVzZXJzTGluZTogZmFVc2Vyc0xpbmUsXG4gIGZhUXVvdGVMZWZ0OiBmYVF1b3RlTGVmdCxcbiAgZmFRdW90ZUxlZnRBbHQ6IGZhUXVvdGVMZWZ0QWx0LFxuICBmYVRyYWN0b3I6IGZhVHJhY3RvcixcbiAgZmFUcmFzaEFycm93VXA6IGZhVHJhc2hBcnJvd1VwLFxuICBmYVRyYXNoUmVzdG9yZTogZmFUcmFzaFJlc3RvcmUsXG4gIGZhQXJyb3dEb3duVXBMb2NrOiBmYUFycm93RG93blVwTG9jayxcbiAgZmFMaW5lc0xlYW5pbmc6IGZhTGluZXNMZWFuaW5nLFxuICBmYVJ1bGVyQ29tYmluZWQ6IGZhUnVsZXJDb21iaW5lZCxcbiAgZmFDb3B5cmlnaHQ6IGZhQ29weXJpZ2h0LFxuICBmYUVxdWFsczogZmFFcXVhbHMsXG4gIGZhQmxlbmRlcjogZmFCbGVuZGVyLFxuICBmYVRlZXRoOiBmYVRlZXRoLFxuICBmYVNoZWtlbFNpZ246IGZhU2hla2VsU2lnbixcbiAgZmFJbHM6IGZhSWxzLFxuICBmYVNoZWtlbDogZmFTaGVrZWwsXG4gIGZhU2hlcWVsOiBmYVNoZXFlbCxcbiAgZmFTaGVxZWxTaWduOiBmYVNoZXFlbFNpZ24sXG4gIGZhTWFwOiBmYU1hcCxcbiAgZmFSb2NrZXQ6IGZhUm9ja2V0LFxuICBmYVBob3RvRmlsbTogZmFQaG90b0ZpbG0sXG4gIGZhUGhvdG9WaWRlbzogZmFQaG90b1ZpZGVvLFxuICBmYUZvbGRlck1pbnVzOiBmYUZvbGRlck1pbnVzLFxuICBmYVN0b3JlOiBmYVN0b3JlLFxuICBmYUFycm93VHJlbmRVcDogZmFBcnJvd1RyZW5kVXAsXG4gIGZhUGx1Z0NpcmNsZU1pbnVzOiBmYVBsdWdDaXJjbGVNaW51cyxcbiAgZmFTaWduSGFuZ2luZzogZmFTaWduSGFuZ2luZyxcbiAgZmFTaWduOiBmYVNpZ24sXG4gIGZhQmV6aWVyQ3VydmU6IGZhQmV6aWVyQ3VydmUsXG4gIGZhQmVsbFNsYXNoOiBmYUJlbGxTbGFzaCxcbiAgZmFUYWJsZXQ6IGZhVGFibGV0LFxuICBmYVRhYmxldEFuZHJvaWQ6IGZhVGFibGV0QW5kcm9pZCxcbiAgZmFTY2hvb2xGbGFnOiBmYVNjaG9vbEZsYWcsXG4gIGZhRmlsbDogZmFGaWxsLFxuICBmYUFuZ2xlVXA6IGZhQW5nbGVVcCxcbiAgZmFEcnVtc3RpY2tCaXRlOiBmYURydW1zdGlja0JpdGUsXG4gIGZhSG9sbHlCZXJyeTogZmFIb2xseUJlcnJ5LFxuICBmYUNoZXZyb25MZWZ0OiBmYUNoZXZyb25MZWZ0LFxuICBmYUJhY3RlcmlhOiBmYUJhY3RlcmlhLFxuICBmYUhhbmRMaXphcmQ6IGZhSGFuZExpemFyZCxcbiAgZmFOb3RkZWY6IGZhTm90ZGVmLFxuICBmYURpc2Vhc2U6IGZhRGlzZWFzZSxcbiAgZmFCcmllZmNhc2VNZWRpY2FsOiBmYUJyaWVmY2FzZU1lZGljYWwsXG4gIGZhR2VuZGVybGVzczogZmFHZW5kZXJsZXNzLFxuICBmYUNoZXZyb25SaWdodDogZmFDaGV2cm9uUmlnaHQsXG4gIGZhUmV0d2VldDogZmFSZXR3ZWV0LFxuICBmYUNhclJlYXI6IGZhQ2FyUmVhcixcbiAgZmFDYXJBbHQ6IGZhQ2FyQWx0LFxuICBmYVB1bXBTb2FwOiBmYVB1bXBTb2FwLFxuICBmYVZpZGVvU2xhc2g6IGZhVmlkZW9TbGFzaCxcbiAgZmFCYXR0ZXJ5UXVhcnRlcjogZmFCYXR0ZXJ5UXVhcnRlcixcbiAgZmFCYXR0ZXJ5MjogZmFCYXR0ZXJ5MixcbiAgZmFSYWRpbzogZmFSYWRpbyxcbiAgZmFCYWJ5Q2FycmlhZ2U6IGZhQmFieUNhcnJpYWdlLFxuICBmYUNhcnJpYWdlQmFieTogZmFDYXJyaWFnZUJhYnksXG4gIGZhVHJhZmZpY0xpZ2h0OiBmYVRyYWZmaWNMaWdodCxcbiAgZmFUaGVybW9tZXRlcjogZmFUaGVybW9tZXRlcixcbiAgZmFWckNhcmRib2FyZDogZmFWckNhcmRib2FyZCxcbiAgZmFIYW5kTWlkZGxlRmluZ2VyOiBmYUhhbmRNaWRkbGVGaW5nZXIsXG4gIGZhUGVyY2VudDogZmFQZXJjZW50LFxuICBmYVBlcmNlbnRhZ2U6IGZhUGVyY2VudGFnZSxcbiAgZmFUcnVja01vdmluZzogZmFUcnVja01vdmluZyxcbiAgZmFHbGFzc1dhdGVyRHJvcGxldDogZmFHbGFzc1dhdGVyRHJvcGxldCxcbiAgZmFEaXNwbGF5OiBmYURpc3BsYXksXG4gIGZhRmFjZVNtaWxlOiBmYUZhY2VTbWlsZSxcbiAgZmFTbWlsZTogZmFTbWlsZSxcbiAgZmFUaHVtYnRhY2s6IGZhVGh1bWJ0YWNrLFxuICBmYVRodW1iVGFjazogZmFUaHVtYlRhY2ssXG4gIGZhVHJvcGh5OiBmYVRyb3BoeSxcbiAgZmFQZXJzb25QcmF5aW5nOiBmYVBlcnNvblByYXlpbmcsXG4gIGZhUHJheTogZmFQcmF5LFxuICBmYUhhbW1lcjogZmFIYW1tZXIsXG4gIGZhSGFuZFBlYWNlOiBmYUhhbmRQZWFjZSxcbiAgZmFSb3RhdGU6IGZhUm90YXRlLFxuICBmYVN5bmNBbHQ6IGZhU3luY0FsdCxcbiAgZmFTcGlubmVyOiBmYVNwaW5uZXIsXG4gIGZhUm9ib3Q6IGZhUm9ib3QsXG4gIGZhUGVhY2U6IGZhUGVhY2UsXG4gIGZhR2VhcnM6IGZhR2VhcnMsXG4gIGZhQ29nczogZmFDb2dzLFxuICBmYVdhcmVob3VzZTogZmFXYXJlaG91c2UsXG4gIGZhQXJyb3dVcFJpZ2h0RG90czogZmFBcnJvd1VwUmlnaHREb3RzLFxuICBmYVNwbG90Y2g6IGZhU3Bsb3RjaCxcbiAgZmFGYWNlR3JpbkhlYXJ0czogZmFGYWNlR3JpbkhlYXJ0cyxcbiAgZmFHcmluSGVhcnRzOiBmYUdyaW5IZWFydHMsXG4gIGZhRGljZUZvdXI6IGZhRGljZUZvdXIsXG4gIGZhU2ltQ2FyZDogZmFTaW1DYXJkLFxuICBmYVRyYW5zZ2VuZGVyOiBmYVRyYW5zZ2VuZGVyLFxuICBmYVRyYW5zZ2VuZGVyQWx0OiBmYVRyYW5zZ2VuZGVyQWx0LFxuICBmYU1lcmN1cnk6IGZhTWVyY3VyeSxcbiAgZmFBcnJvd1R1cm5Eb3duOiBmYUFycm93VHVybkRvd24sXG4gIGZhTGV2ZWxEb3duOiBmYUxldmVsRG93bixcbiAgZmFQZXJzb25GYWxsaW5nQnVyc3Q6IGZhUGVyc29uRmFsbGluZ0J1cnN0LFxuICBmYUF3YXJkOiBmYUF3YXJkLFxuICBmYVRpY2tldFNpbXBsZTogZmFUaWNrZXRTaW1wbGUsXG4gIGZhVGlja2V0QWx0OiBmYVRpY2tldEFsdCxcbiAgZmFCdWlsZGluZzogZmFCdWlsZGluZyxcbiAgZmFBbmdsZXNMZWZ0OiBmYUFuZ2xlc0xlZnQsXG4gIGZhQW5nbGVEb3VibGVMZWZ0OiBmYUFuZ2xlRG91YmxlTGVmdCxcbiAgZmFRcmNvZGU6IGZhUXJjb2RlLFxuICBmYUNsb2NrUm90YXRlTGVmdDogZmFDbG9ja1JvdGF0ZUxlZnQsXG4gIGZhSGlzdG9yeTogZmFIaXN0b3J5LFxuICBmYUZhY2VHcmluQmVhbVN3ZWF0OiBmYUZhY2VHcmluQmVhbVN3ZWF0LFxuICBmYUdyaW5CZWFtU3dlYXQ6IGZhR3JpbkJlYW1Td2VhdCxcbiAgZmFGaWxlRXhwb3J0OiBmYUZpbGVFeHBvcnQsXG4gIGZhQXJyb3dSaWdodEZyb21GaWxlOiBmYUFycm93UmlnaHRGcm9tRmlsZSxcbiAgZmFTaGllbGQ6IGZhU2hpZWxkLFxuICBmYVNoaWVsZEJsYW5rOiBmYVNoaWVsZEJsYW5rLFxuICBmYUFycm93VXBTaG9ydFdpZGU6IGZhQXJyb3dVcFNob3J0V2lkZSxcbiAgZmFTb3J0QW1vdW50VXBBbHQ6IGZhU29ydEFtb3VudFVwQWx0LFxuICBmYUhvdXNlTWVkaWNhbDogZmFIb3VzZU1lZGljYWwsXG4gIGZhR29sZkJhbGxUZWU6IGZhR29sZkJhbGxUZWUsXG4gIGZhR29sZkJhbGw6IGZhR29sZkJhbGwsXG4gIGZhQ2lyY2xlQ2hldnJvbkxlZnQ6IGZhQ2lyY2xlQ2hldnJvbkxlZnQsXG4gIGZhQ2hldnJvbkNpcmNsZUxlZnQ6IGZhQ2hldnJvbkNpcmNsZUxlZnQsXG4gIGZhSG91c2VDaGltbmV5V2luZG93OiBmYUhvdXNlQ2hpbW5leVdpbmRvdyxcbiAgZmFQZW5OaWI6IGZhUGVuTmliLFxuICBmYVRlbnRBcnJvd1R1cm5MZWZ0OiBmYVRlbnRBcnJvd1R1cm5MZWZ0LFxuICBmYVRlbnRzOiBmYVRlbnRzLFxuICBmYVdhbmRNYWdpYzogZmFXYW5kTWFnaWMsXG4gIGZhTWFnaWM6IGZhTWFnaWMsXG4gIGZhRG9nOiBmYURvZyxcbiAgZmFDYXJyb3Q6IGZhQ2Fycm90LFxuICBmYU1vb246IGZhTW9vbixcbiAgZmFXaW5lR2xhc3NFbXB0eTogZmFXaW5lR2xhc3NFbXB0eSxcbiAgZmFXaW5lR2xhc3NBbHQ6IGZhV2luZUdsYXNzQWx0LFxuICBmYUNoZWVzZTogZmFDaGVlc2UsXG4gIGZhWWluWWFuZzogZmFZaW5ZYW5nLFxuICBmYU11c2ljOiBmYU11c2ljLFxuICBmYUNvZGVDb21taXQ6IGZhQ29kZUNvbW1pdCxcbiAgZmFUZW1wZXJhdHVyZUxvdzogZmFUZW1wZXJhdHVyZUxvdyxcbiAgZmFQZXJzb25CaWtpbmc6IGZhUGVyc29uQmlraW5nLFxuICBmYUJpa2luZzogZmFCaWtpbmcsXG4gIGZhQnJvb206IGZhQnJvb20sXG4gIGZhU2hpZWxkSGVhcnQ6IGZhU2hpZWxkSGVhcnQsXG4gIGZhR29wdXJhbTogZmFHb3B1cmFtLFxuICBmYUVhcnRoT2NlYW5pYTogZmFFYXJ0aE9jZWFuaWEsXG4gIGZhR2xvYmVPY2VhbmlhOiBmYUdsb2JlT2NlYW5pYSxcbiAgZmFTcXVhcmVYbWFyazogZmFTcXVhcmVYbWFyayxcbiAgZmFUaW1lc1NxdWFyZTogZmFUaW1lc1NxdWFyZSxcbiAgZmFYbWFya1NxdWFyZTogZmFYbWFya1NxdWFyZSxcbiAgZmFIYXNodGFnOiBmYUhhc2h0YWcsXG4gIGZhVXBSaWdodEFuZERvd25MZWZ0RnJvbUNlbnRlcjogZmFVcFJpZ2h0QW5kRG93bkxlZnRGcm9tQ2VudGVyLFxuICBmYUV4cGFuZEFsdDogZmFFeHBhbmRBbHQsXG4gIGZhT2lsQ2FuOiBmYU9pbENhbixcbiAgZmFUOiBmYVQsXG4gIGZhSGlwcG86IGZhSGlwcG8sXG4gIGZhQ2hhcnRDb2x1bW46IGZhQ2hhcnRDb2x1bW4sXG4gIGZhSW5maW5pdHk6IGZhSW5maW5pdHksXG4gIGZhVmlhbENpcmNsZUNoZWNrOiBmYVZpYWxDaXJjbGVDaGVjayxcbiAgZmFQZXJzb25BcnJvd0Rvd25Ub0xpbmU6IGZhUGVyc29uQXJyb3dEb3duVG9MaW5lLFxuICBmYVZvaWNlbWFpbDogZmFWb2ljZW1haWwsXG4gIGZhRmFuOiBmYUZhbixcbiAgZmFQZXJzb25XYWxraW5nTHVnZ2FnZTogZmFQZXJzb25XYWxraW5nTHVnZ2FnZSxcbiAgZmFVcERvd246IGZhVXBEb3duLFxuICBmYUFycm93c0FsdFY6IGZhQXJyb3dzQWx0VixcbiAgZmFDbG91ZE1vb25SYWluOiBmYUNsb3VkTW9vblJhaW4sXG4gIGZhQ2FsZW5kYXI6IGZhQ2FsZW5kYXIsXG4gIGZhVHJhaWxlcjogZmFUcmFpbGVyLFxuICBmYUJhaGFpOiBmYUJhaGFpLFxuICBmYUhheWthbDogZmFIYXlrYWwsXG4gIGZhU2RDYXJkOiBmYVNkQ2FyZCxcbiAgZmFEcmFnb246IGZhRHJhZ29uLFxuICBmYVNob2VQcmludHM6IGZhU2hvZVByaW50cyxcbiAgZmFDaXJjbGVQbHVzOiBmYUNpcmNsZVBsdXMsXG4gIGZhUGx1c0NpcmNsZTogZmFQbHVzQ2lyY2xlLFxuICBmYUZhY2VHcmluVG9uZ3VlV2luazogZmFGYWNlR3JpblRvbmd1ZVdpbmssXG4gIGZhR3JpblRvbmd1ZVdpbms6IGZhR3JpblRvbmd1ZVdpbmssXG4gIGZhSGFuZEhvbGRpbmc6IGZhSGFuZEhvbGRpbmcsXG4gIGZhUGx1Z0NpcmNsZUV4Y2xhbWF0aW9uOiBmYVBsdWdDaXJjbGVFeGNsYW1hdGlvbixcbiAgZmFMaW5rU2xhc2g6IGZhTGlua1NsYXNoLFxuICBmYUNoYWluQnJva2VuOiBmYUNoYWluQnJva2VuLFxuICBmYUNoYWluU2xhc2g6IGZhQ2hhaW5TbGFzaCxcbiAgZmFVbmxpbms6IGZhVW5saW5rLFxuICBmYUNsb25lOiBmYUNsb25lLFxuICBmYVBlcnNvbldhbGtpbmdBcnJvd0xvb3BMZWZ0OiBmYVBlcnNvbldhbGtpbmdBcnJvd0xvb3BMZWZ0LFxuICBmYUFycm93VXBaQTogZmFBcnJvd1VwWkEsXG4gIGZhU29ydEFscGhhVXBBbHQ6IGZhU29ydEFscGhhVXBBbHQsXG4gIGZhRmlyZUZsYW1lQ3VydmVkOiBmYUZpcmVGbGFtZUN1cnZlZCxcbiAgZmFGaXJlQWx0OiBmYUZpcmVBbHQsXG4gIGZhVG9ybmFkbzogZmFUb3JuYWRvLFxuICBmYUZpbGVDaXJjbGVQbHVzOiBmYUZpbGVDaXJjbGVQbHVzLFxuICBmYUJvb2tRdXJhbjogZmFCb29rUXVyYW4sXG4gIGZhUXVyYW46IGZhUXVyYW4sXG4gIGZhQW5jaG9yOiBmYUFuY2hvcixcbiAgZmFCb3JkZXJBbGw6IGZhQm9yZGVyQWxsLFxuICBmYUZhY2VBbmdyeTogZmFGYWNlQW5ncnksXG4gIGZhQW5ncnk6IGZhQW5ncnksXG4gIGZhQ29va2llQml0ZTogZmFDb29raWVCaXRlLFxuICBmYUFycm93VHJlbmREb3duOiBmYUFycm93VHJlbmREb3duLFxuICBmYVJzczogZmFSc3MsXG4gIGZhRmVlZDogZmFGZWVkLFxuICBmYURyYXdQb2x5Z29uOiBmYURyYXdQb2x5Z29uLFxuICBmYVNjYWxlQmFsYW5jZWQ6IGZhU2NhbGVCYWxhbmNlZCxcbiAgZmFCYWxhbmNlU2NhbGU6IGZhQmFsYW5jZVNjYWxlLFxuICBmYUdhdWdlU2ltcGxlSGlnaDogZmFHYXVnZVNpbXBsZUhpZ2gsXG4gIGZhVGFjaG9tZXRlcjogZmFUYWNob21ldGVyLFxuICBmYVRhY2hvbWV0ZXJGYXN0OiBmYVRhY2hvbWV0ZXJGYXN0LFxuICBmYVNob3dlcjogZmFTaG93ZXIsXG4gIGZhRGVza3RvcDogZmFEZXNrdG9wLFxuICBmYURlc2t0b3BBbHQ6IGZhRGVza3RvcEFsdCxcbiAgZmFNOiBmYU0sXG4gIGZhVGFibGVMaXN0OiBmYVRhYmxlTGlzdCxcbiAgZmFUaExpc3Q6IGZhVGhMaXN0LFxuICBmYUNvbW1lbnRTbXM6IGZhQ29tbWVudFNtcyxcbiAgZmFTbXM6IGZhU21zLFxuICBmYUJvb2s6IGZhQm9vayxcbiAgZmFVc2VyUGx1czogZmFVc2VyUGx1cyxcbiAgZmFDaGVjazogZmFDaGVjayxcbiAgZmFCYXR0ZXJ5VGhyZWVRdWFydGVyczogZmFCYXR0ZXJ5VGhyZWVRdWFydGVycyxcbiAgZmFCYXR0ZXJ5NDogZmFCYXR0ZXJ5NCxcbiAgZmFIb3VzZUNpcmNsZUNoZWNrOiBmYUhvdXNlQ2lyY2xlQ2hlY2ssXG4gIGZhQW5nbGVMZWZ0OiBmYUFuZ2xlTGVmdCxcbiAgZmFEaWFncmFtU3VjY2Vzc29yOiBmYURpYWdyYW1TdWNjZXNzb3IsXG4gIGZhVHJ1Y2tBcnJvd1JpZ2h0OiBmYVRydWNrQXJyb3dSaWdodCxcbiAgZmFBcnJvd3NTcGxpdFVwQW5kTGVmdDogZmFBcnJvd3NTcGxpdFVwQW5kTGVmdCxcbiAgZmFIYW5kRmlzdDogZmFIYW5kRmlzdCxcbiAgZmFGaXN0UmFpc2VkOiBmYUZpc3RSYWlzZWQsXG4gIGZhQ2xvdWRNb29uOiBmYUNsb3VkTW9vbixcbiAgZmFCcmllZmNhc2U6IGZhQnJpZWZjYXNlLFxuICBmYVBlcnNvbkZhbGxpbmc6IGZhUGVyc29uRmFsbGluZyxcbiAgZmFJbWFnZVBvcnRyYWl0OiBmYUltYWdlUG9ydHJhaXQsXG4gIGZhUG9ydHJhaXQ6IGZhUG9ydHJhaXQsXG4gIGZhVXNlclRhZzogZmFVc2VyVGFnLFxuICBmYVJ1ZzogZmFSdWcsXG4gIGZhRWFydGhFdXJvcGU6IGZhRWFydGhFdXJvcGUsXG4gIGZhR2xvYmVFdXJvcGU6IGZhR2xvYmVFdXJvcGUsXG4gIGZhQ2FydEZsYXRiZWRTdWl0Y2FzZTogZmFDYXJ0RmxhdGJlZFN1aXRjYXNlLFxuICBmYUx1Z2dhZ2VDYXJ0OiBmYUx1Z2dhZ2VDYXJ0LFxuICBmYVJlY3RhbmdsZVhtYXJrOiBmYVJlY3RhbmdsZVhtYXJrLFxuICBmYVJlY3RhbmdsZVRpbWVzOiBmYVJlY3RhbmdsZVRpbWVzLFxuICBmYVRpbWVzUmVjdGFuZ2xlOiBmYVRpbWVzUmVjdGFuZ2xlLFxuICBmYVdpbmRvd0Nsb3NlOiBmYVdpbmRvd0Nsb3NlLFxuICBmYUJhaHRTaWduOiBmYUJhaHRTaWduLFxuICBmYUJvb2tPcGVuOiBmYUJvb2tPcGVuLFxuICBmYUJvb2tKb3VybmFsV2hpbGxzOiBmYUJvb2tKb3VybmFsV2hpbGxzLFxuICBmYUpvdXJuYWxXaGlsbHM6IGZhSm91cm5hbFdoaWxscyxcbiAgZmFIYW5kY3VmZnM6IGZhSGFuZGN1ZmZzLFxuICBmYVRyaWFuZ2xlRXhjbGFtYXRpb246IGZhVHJpYW5nbGVFeGNsYW1hdGlvbixcbiAgZmFFeGNsYW1hdGlvblRyaWFuZ2xlOiBmYUV4Y2xhbWF0aW9uVHJpYW5nbGUsXG4gIGZhV2FybmluZzogZmFXYXJuaW5nLFxuICBmYURhdGFiYXNlOiBmYURhdGFiYXNlLFxuICBmYVNoYXJlOiBmYVNoYXJlLFxuICBmYU1haWxGb3J3YXJkOiBmYU1haWxGb3J3YXJkLFxuICBmYUJvdHRsZURyb3BsZXQ6IGZhQm90dGxlRHJvcGxldCxcbiAgZmFNYXNrRmFjZTogZmFNYXNrRmFjZSxcbiAgZmFIaWxsUm9ja3NsaWRlOiBmYUhpbGxSb2Nrc2xpZGUsXG4gIGZhUmlnaHRMZWZ0OiBmYVJpZ2h0TGVmdCxcbiAgZmFFeGNoYW5nZUFsdDogZmFFeGNoYW5nZUFsdCxcbiAgZmFQYXBlclBsYW5lOiBmYVBhcGVyUGxhbmUsXG4gIGZhUm9hZENpcmNsZUV4Y2xhbWF0aW9uOiBmYVJvYWRDaXJjbGVFeGNsYW1hdGlvbixcbiAgZmFEdW5nZW9uOiBmYUR1bmdlb24sXG4gIGZhQWxpZ25SaWdodDogZmFBbGlnblJpZ2h0LFxuICBmYU1vbmV5QmlsbDFXYXZlOiBmYU1vbmV5QmlsbDFXYXZlLFxuICBmYU1vbmV5QmlsbFdhdmVBbHQ6IGZhTW9uZXlCaWxsV2F2ZUFsdCxcbiAgZmFMaWZlUmluZzogZmFMaWZlUmluZyxcbiAgZmFIYW5kczogZmFIYW5kcyxcbiAgZmFTaWduTGFuZ3VhZ2U6IGZhU2lnbkxhbmd1YWdlLFxuICBmYVNpZ25pbmc6IGZhU2lnbmluZyxcbiAgZmFDYWxlbmRhckRheTogZmFDYWxlbmRhckRheSxcbiAgZmFXYXRlckxhZGRlcjogZmFXYXRlckxhZGRlcixcbiAgZmFMYWRkZXJXYXRlcjogZmFMYWRkZXJXYXRlcixcbiAgZmFTd2ltbWluZ1Bvb2w6IGZhU3dpbW1pbmdQb29sLFxuICBmYUFycm93c1VwRG93bjogZmFBcnJvd3NVcERvd24sXG4gIGZhQXJyb3dzVjogZmFBcnJvd3NWLFxuICBmYUZhY2VHcmltYWNlOiBmYUZhY2VHcmltYWNlLFxuICBmYUdyaW1hY2U6IGZhR3JpbWFjZSxcbiAgZmFXaGVlbGNoYWlyTW92ZTogZmFXaGVlbGNoYWlyTW92ZSxcbiAgZmFXaGVlbGNoYWlyQWx0OiBmYVdoZWVsY2hhaXJBbHQsXG4gIGZhVHVybkRvd246IGZhVHVybkRvd24sXG4gIGZhTGV2ZWxEb3duQWx0OiBmYUxldmVsRG93bkFsdCxcbiAgZmFQZXJzb25XYWxraW5nQXJyb3dSaWdodDogZmFQZXJzb25XYWxraW5nQXJyb3dSaWdodCxcbiAgZmFTcXVhcmVFbnZlbG9wZTogZmFTcXVhcmVFbnZlbG9wZSxcbiAgZmFFbnZlbG9wZVNxdWFyZTogZmFFbnZlbG9wZVNxdWFyZSxcbiAgZmFEaWNlOiBmYURpY2UsXG4gIGZhQm93bGluZ0JhbGw6IGZhQm93bGluZ0JhbGwsXG4gIGZhQnJhaW46IGZhQnJhaW4sXG4gIGZhQmFuZGFnZTogZmFCYW5kYWdlLFxuICBmYUJhbmRBaWQ6IGZhQmFuZEFpZCxcbiAgZmFDYWxlbmRhck1pbnVzOiBmYUNhbGVuZGFyTWludXMsXG4gIGZhQ2lyY2xlWG1hcms6IGZhQ2lyY2xlWG1hcmssXG4gIGZhVGltZXNDaXJjbGU6IGZhVGltZXNDaXJjbGUsXG4gIGZhWG1hcmtDaXJjbGU6IGZhWG1hcmtDaXJjbGUsXG4gIGZhR2lmdHM6IGZhR2lmdHMsXG4gIGZhSG90ZWw6IGZhSG90ZWwsXG4gIGZhRWFydGhBc2lhOiBmYUVhcnRoQXNpYSxcbiAgZmFHbG9iZUFzaWE6IGZhR2xvYmVBc2lhLFxuICBmYUlkQ2FyZENsaXA6IGZhSWRDYXJkQ2xpcCxcbiAgZmFJZENhcmRBbHQ6IGZhSWRDYXJkQWx0LFxuICBmYU1hZ25pZnlpbmdHbGFzc1BsdXM6IGZhTWFnbmlmeWluZ0dsYXNzUGx1cyxcbiAgZmFTZWFyY2hQbHVzOiBmYVNlYXJjaFBsdXMsXG4gIGZhVGh1bWJzVXA6IGZhVGh1bWJzVXAsXG4gIGZhVXNlckNsb2NrOiBmYVVzZXJDbG9jayxcbiAgZmFIYW5kRG90czogZmFIYW5kRG90cyxcbiAgZmFBbGxlcmdpZXM6IGZhQWxsZXJnaWVzLFxuICBmYUZpbGVJbnZvaWNlOiBmYUZpbGVJbnZvaWNlLFxuICBmYVdpbmRvd01pbmltaXplOiBmYVdpbmRvd01pbmltaXplLFxuICBmYU11Z1NhdWNlcjogZmFNdWdTYXVjZXIsXG4gIGZhQ29mZmVlOiBmYUNvZmZlZSxcbiAgZmFCcnVzaDogZmFCcnVzaCxcbiAgZmFNYXNrOiBmYU1hc2ssXG4gIGZhTWFnbmlmeWluZ0dsYXNzTWludXM6IGZhTWFnbmlmeWluZ0dsYXNzTWludXMsXG4gIGZhU2VhcmNoTWludXM6IGZhU2VhcmNoTWludXMsXG4gIGZhUnVsZXJWZXJ0aWNhbDogZmFSdWxlclZlcnRpY2FsLFxuICBmYVVzZXJMYXJnZTogZmFVc2VyTGFyZ2UsXG4gIGZhVXNlckFsdDogZmFVc2VyQWx0LFxuICBmYVRyYWluVHJhbTogZmFUcmFpblRyYW0sXG4gIGZhVXNlck51cnNlOiBmYVVzZXJOdXJzZSxcbiAgZmFTeXJpbmdlOiBmYVN5cmluZ2UsXG4gIGZhQ2xvdWRTdW46IGZhQ2xvdWRTdW4sXG4gIGZhU3RvcHdhdGNoMjA6IGZhU3RvcHdhdGNoMjAsXG4gIGZhU3F1YXJlRnVsbDogZmFTcXVhcmVGdWxsLFxuICBmYU1hZ25ldDogZmFNYWduZXQsXG4gIGZhSmFyOiBmYUphcixcbiAgZmFOb3RlU3RpY2t5OiBmYU5vdGVTdGlja3ksXG4gIGZhU3RpY2t5Tm90ZTogZmFTdGlja3lOb3RlLFxuICBmYUJ1Z1NsYXNoOiBmYUJ1Z1NsYXNoLFxuICBmYUFycm93VXBGcm9tV2F0ZXJQdW1wOiBmYUFycm93VXBGcm9tV2F0ZXJQdW1wLFxuICBmYUJvbmU6IGZhQm9uZSxcbiAgZmFVc2VySW5qdXJlZDogZmFVc2VySW5qdXJlZCxcbiAgZmFGYWNlU2FkVGVhcjogZmFGYWNlU2FkVGVhcixcbiAgZmFTYWRUZWFyOiBmYVNhZFRlYXIsXG4gIGZhUGxhbmU6IGZhUGxhbmUsXG4gIGZhVGVudEFycm93c0Rvd246IGZhVGVudEFycm93c0Rvd24sXG4gIGZhRXhjbGFtYXRpb246IGZhRXhjbGFtYXRpb24sXG4gIGZhQXJyb3dzU3BpbjogZmFBcnJvd3NTcGluLFxuICBmYVByaW50OiBmYVByaW50LFxuICBmYVR1cmtpc2hMaXJhU2lnbjogZmFUdXJraXNoTGlyYVNpZ24sXG4gIGZhVHJ5OiBmYVRyeSxcbiAgZmFUdXJraXNoTGlyYTogZmFUdXJraXNoTGlyYSxcbiAgZmFEb2xsYXJTaWduOiBmYURvbGxhclNpZ24sXG4gIGZhRG9sbGFyOiBmYURvbGxhcixcbiAgZmFVc2Q6IGZhVXNkLFxuICBmYVg6IGZhWCxcbiAgZmFNYWduaWZ5aW5nR2xhc3NEb2xsYXI6IGZhTWFnbmlmeWluZ0dsYXNzRG9sbGFyLFxuICBmYVNlYXJjaERvbGxhcjogZmFTZWFyY2hEb2xsYXIsXG4gIGZhVXNlcnNHZWFyOiBmYVVzZXJzR2VhcixcbiAgZmFVc2Vyc0NvZzogZmFVc2Vyc0NvZyxcbiAgZmFQZXJzb25NaWxpdGFyeVBvaW50aW5nOiBmYVBlcnNvbk1pbGl0YXJ5UG9pbnRpbmcsXG4gIGZhQnVpbGRpbmdDb2x1bW5zOiBmYUJ1aWxkaW5nQ29sdW1ucyxcbiAgZmFCYW5rOiBmYUJhbmssXG4gIGZhSW5zdGl0dXRpb246IGZhSW5zdGl0dXRpb24sXG4gIGZhTXVzZXVtOiBmYU11c2V1bSxcbiAgZmFVbml2ZXJzaXR5OiBmYVVuaXZlcnNpdHksXG4gIGZhVW1icmVsbGE6IGZhVW1icmVsbGEsXG4gIGZhVHJvd2VsOiBmYVRyb3dlbCxcbiAgZmFEOiBmYUQsXG4gIGZhU3RhcGxlcjogZmFTdGFwbGVyLFxuICBmYU1hc2tzVGhlYXRlcjogZmFNYXNrc1RoZWF0ZXIsXG4gIGZhVGhlYXRlck1hc2tzOiBmYVRoZWF0ZXJNYXNrcyxcbiAgZmFLaXBTaWduOiBmYUtpcFNpZ24sXG4gIGZhSGFuZFBvaW50TGVmdDogZmFIYW5kUG9pbnRMZWZ0LFxuICBmYUhhbmRzaGFrZVNpbXBsZTogZmFIYW5kc2hha2VTaW1wbGUsXG4gIGZhSGFuZHNoYWtlQWx0OiBmYUhhbmRzaGFrZUFsdCxcbiAgZmFKZXRGaWdodGVyOiBmYUpldEZpZ2h0ZXIsXG4gIGZhRmlnaHRlckpldDogZmFGaWdodGVySmV0LFxuICBmYVNxdWFyZVNoYXJlTm9kZXM6IGZhU3F1YXJlU2hhcmVOb2RlcyxcbiAgZmFTaGFyZUFsdFNxdWFyZTogZmFTaGFyZUFsdFNxdWFyZSxcbiAgZmFCYXJjb2RlOiBmYUJhcmNvZGUsXG4gIGZhUGx1c01pbnVzOiBmYVBsdXNNaW51cyxcbiAgZmFWaWRlbzogZmFWaWRlbyxcbiAgZmFWaWRlb0NhbWVyYTogZmFWaWRlb0NhbWVyYSxcbiAgZmFHcmFkdWF0aW9uQ2FwOiBmYUdyYWR1YXRpb25DYXAsXG4gIGZhTW9ydGFyQm9hcmQ6IGZhTW9ydGFyQm9hcmQsXG4gIGZhSGFuZEhvbGRpbmdNZWRpY2FsOiBmYUhhbmRIb2xkaW5nTWVkaWNhbCxcbiAgZmFQZXJzb25DaXJjbGVDaGVjazogZmFQZXJzb25DaXJjbGVDaGVjayxcbiAgZmFUdXJuVXA6IGZhVHVyblVwLFxuICBmYUxldmVsVXBBbHQ6IGZhTGV2ZWxVcEFsdFxufTtcblxuZXhwb3J0IHsgaWNvbnMgYXMgZmFzLCBwcmVmaXgsIGZhMCwgZmExLCBmYTIsIGZhMywgZmE0LCBmYTUsIGZhNiwgZmE3LCBmYTgsIGZhOSwgZmFGaWxsRHJpcCwgZmFBcnJvd3NUb0NpcmNsZSwgZmFDaXJjbGVDaGV2cm9uUmlnaHQsIGZhQ2hldnJvbkNpcmNsZVJpZ2h0LCBmYUF0LCBmYVRyYXNoQ2FuLCBmYVRyYXNoQWx0LCBmYVRleHRIZWlnaHQsIGZhVXNlclhtYXJrLCBmYVVzZXJUaW1lcywgZmFTdGV0aG9zY29wZSwgZmFNZXNzYWdlLCBmYUNvbW1lbnRBbHQsIGZhSW5mbywgZmFEb3duTGVmdEFuZFVwUmlnaHRUb0NlbnRlciwgZmFDb21wcmVzc0FsdCwgZmFFeHBsb3Npb24sIGZhRmlsZUxpbmVzLCBmYUZpbGVBbHQsIGZhRmlsZVRleHQsIGZhV2F2ZVNxdWFyZSwgZmFSaW5nLCBmYUJ1aWxkaW5nVW4sIGZhRGljZVRocmVlLCBmYUNhbGVuZGFyRGF5cywgZmFDYWxlbmRhckFsdCwgZmFBbmNob3JDaXJjbGVDaGVjaywgZmFCdWlsZGluZ0NpcmNsZUFycm93UmlnaHQsIGZhVm9sbGV5YmFsbCwgZmFWb2xsZXliYWxsQmFsbCwgZmFBcnJvd3NVcFRvTGluZSwgZmFTb3J0RG93biwgZmFTb3J0RGVzYywgZmFDaXJjbGVNaW51cywgZmFNaW51c0NpcmNsZSwgZmFEb29yT3BlbiwgZmFSaWdodEZyb21CcmFja2V0LCBmYVNpZ25PdXRBbHQsIGZhQXRvbSwgZmFTb2FwLCBmYUljb25zLCBmYUhlYXJ0TXVzaWNDYW1lcmFCb2x0LCBmYU1pY3JvcGhvbmVMaW5lc1NsYXNoLCBmYU1pY3JvcGhvbmVBbHRTbGFzaCwgZmFCcmlkZ2VDaXJjbGVDaGVjaywgZmFQdW1wTWVkaWNhbCwgZmFGaW5nZXJwcmludCwgZmFIYW5kUG9pbnRSaWdodCwgZmFNYWduaWZ5aW5nR2xhc3NMb2NhdGlvbiwgZmFTZWFyY2hMb2NhdGlvbiwgZmFGb3J3YXJkU3RlcCwgZmFTdGVwRm9yd2FyZCwgZmFGYWNlU21pbGVCZWFtLCBmYVNtaWxlQmVhbSwgZmFGbGFnQ2hlY2tlcmVkLCBmYUZvb3RiYWxsLCBmYUZvb3RiYWxsQmFsbCwgZmFTY2hvb2xDaXJjbGVFeGNsYW1hdGlvbiwgZmFDcm9wLCBmYUFuZ2xlc0Rvd24sIGZhQW5nbGVEb3VibGVEb3duLCBmYVVzZXJzUmVjdGFuZ2xlLCBmYVBlb3BsZVJvb2YsIGZhUGVvcGxlTGluZSwgZmFCZWVyTXVnRW1wdHksIGZhQmVlciwgZmFEaWFncmFtUHJlZGVjZXNzb3IsIGZhQXJyb3dVcExvbmcsIGZhTG9uZ0Fycm93VXAsIGZhRmlyZUZsYW1lU2ltcGxlLCBmYUJ1cm4sIGZhUGVyc29uLCBmYU1hbGUsIGZhTGFwdG9wLCBmYUZpbGVDc3YsIGZhTWVub3JhaCwgZmFUcnVja1BsYW5lLCBmYVJlY29yZFZpbnlsLCBmYUZhY2VHcmluU3RhcnMsIGZhR3JpblN0YXJzLCBmYUJvbmcsIGZhU3BhZ2hldHRpTW9uc3RlckZseWluZywgZmFQYXN0YWZhcmlhbmlzbSwgZmFBcnJvd0Rvd25VcEFjcm9zc0xpbmUsIGZhU3Bvb24sIGZhVXRlbnNpbFNwb29uLCBmYUphcldoZWF0LCBmYUVudmVsb3Blc0J1bGssIGZhTWFpbEJ1bGssIGZhRmlsZUNpcmNsZUV4Y2xhbWF0aW9uLCBmYUNpcmNsZUgsIGZhSG9zcGl0YWxTeW1ib2wsIGZhUGFnZXIsIGZhQWRkcmVzc0Jvb2ssIGZhQ29udGFjdEJvb2ssIGZhU3RyaWtldGhyb3VnaCwgZmFLLCBmYUxhbmRtYXJrRmxhZywgZmFQZW5jaWwsIGZhUGVuY2lsQWx0LCBmYUJhY2t3YXJkLCBmYUNhcmV0UmlnaHQsIGZhQ29tbWVudHMsIGZhUGFzdGUsIGZhRmlsZUNsaXBib2FyZCwgZmFDb2RlUHVsbFJlcXVlc3QsIGZhQ2xpcGJvYXJkTGlzdCwgZmFUcnVja1JhbXBCb3gsIGZhVHJ1Y2tMb2FkaW5nLCBmYVVzZXJDaGVjaywgZmFWaWFsVmlydXMsIGZhU2hlZXRQbGFzdGljLCBmYUJsb2csIGZhVXNlck5pbmphLCBmYVBlcnNvbkFycm93VXBGcm9tTGluZSwgZmFTY3JvbGxUb3JhaCwgZmFUb3JhaCwgZmFCcm9vbUJhbGwsIGZhUXVpZGRpdGNoLCBmYVF1aWRkaXRjaEJyb29tQmFsbCwgZmFUb2dnbGVPZmYsIGZhQm94QXJjaGl2ZSwgZmFBcmNoaXZlLCBmYVBlcnNvbkRyb3duaW5nLCBmYUFycm93RG93bjkxLCBmYVNvcnROdW1lcmljRGVzYywgZmFTb3J0TnVtZXJpY0Rvd25BbHQsIGZhRmFjZUdyaW5Ub25ndWVTcXVpbnQsIGZhR3JpblRvbmd1ZVNxdWludCwgZmFTcHJheUNhbiwgZmFUcnVja01vbnN0ZXIsIGZhVywgZmFFYXJ0aEFmcmljYSwgZmFHbG9iZUFmcmljYSwgZmFSYWluYm93LCBmYUNpcmNsZU5vdGNoLCBmYVRhYmxldFNjcmVlbkJ1dHRvbiwgZmFUYWJsZXRBbHQsIGZhUGF3LCBmYUNsb3VkLCBmYVRyb3dlbEJyaWNrcywgZmFGYWNlRmx1c2hlZCwgZmFGbHVzaGVkLCBmYUhvc3BpdGFsVXNlciwgZmFUZW50QXJyb3dMZWZ0UmlnaHQsIGZhR2F2ZWwsIGZhTGVnYWwsIGZhQmlub2N1bGFycywgZmFNaWNyb3Bob25lU2xhc2gsIGZhQm94VGlzc3VlLCBmYU1vdG9yY3ljbGUsIGZhQmVsbENvbmNpZXJnZSwgZmFDb25jaWVyZ2VCZWxsLCBmYVBlblJ1bGVyLCBmYVBlbmNpbFJ1bGVyLCBmYVBlb3BsZUFycm93cywgZmFQZW9wbGVBcnJvd3NMZWZ0UmlnaHQsIGZhTWFyc0FuZFZlbnVzQnVyc3QsIGZhU3F1YXJlQ2FyZXRSaWdodCwgZmFDYXJldFNxdWFyZVJpZ2h0LCBmYVNjaXNzb3JzLCBmYUN1dCwgZmFTdW5QbGFudFdpbHQsIGZhVG9pbGV0c1BvcnRhYmxlLCBmYUhvY2tleVB1Y2ssIGZhVGFibGUsIGZhTWFnbmlmeWluZ0dsYXNzQXJyb3dSaWdodCwgZmFUYWNob2dyYXBoRGlnaXRhbCwgZmFEaWdpdGFsVGFjaG9ncmFwaCwgZmFVc2Vyc1NsYXNoLCBmYUNsb3ZlciwgZmFSZXBseSwgZmFNYWlsUmVwbHksIGZhU3RhckFuZENyZXNjZW50LCBmYUhvdXNlRmlyZSwgZmFTcXVhcmVNaW51cywgZmFNaW51c1NxdWFyZSwgZmFIZWxpY29wdGVyLCBmYUNvbXBhc3MsIGZhU3F1YXJlQ2FyZXREb3duLCBmYUNhcmV0U3F1YXJlRG93biwgZmFGaWxlQ2lyY2xlUXVlc3Rpb24sIGZhTGFwdG9wQ29kZSwgZmFTd2F0Y2hib29rLCBmYVByZXNjcmlwdGlvbkJvdHRsZSwgZmFCYXJzLCBmYU5hdmljb24sIGZhUGVvcGxlR3JvdXAsIGZhSG91cmdsYXNzRW5kLCBmYUhvdXJnbGFzczMsIGZhSGVhcnRDcmFjaywgZmFIZWFydEJyb2tlbiwgZmFTcXVhcmVVcFJpZ2h0LCBmYUV4dGVybmFsTGlua1NxdWFyZUFsdCwgZmFGYWNlS2lzc0JlYW0sIGZhS2lzc0JlYW0sIGZhRmlsbSwgZmFSdWxlckhvcml6b250YWwsIGZhUGVvcGxlUm9iYmVyeSwgZmFMaWdodGJ1bGIsIGZhQ2FyZXRMZWZ0LCBmYUNpcmNsZUV4Y2xhbWF0aW9uLCBmYUV4Y2xhbWF0aW9uQ2lyY2xlLCBmYVNjaG9vbENpcmNsZVhtYXJrLCBmYUFycm93UmlnaHRGcm9tQnJhY2tldCwgZmFTaWduT3V0LCBmYUNpcmNsZUNoZXZyb25Eb3duLCBmYUNoZXZyb25DaXJjbGVEb3duLCBmYVVubG9ja0tleWhvbGUsIGZhVW5sb2NrQWx0LCBmYUNsb3VkU2hvd2Vyc0hlYXZ5LCBmYUhlYWRwaG9uZXNTaW1wbGUsIGZhSGVhZHBob25lc0FsdCwgZmFTaXRlbWFwLCBmYUNpcmNsZURvbGxhclRvU2xvdCwgZmFEb25hdGUsIGZhTWVtb3J5LCBmYVJvYWRTcGlrZXMsIGZhRmlyZUJ1cm5lciwgZmFGbGFnLCBmYUhhbnVraWFoLCBmYUZlYXRoZXIsIGZhVm9sdW1lTG93LCBmYVZvbHVtZURvd24sIGZhQ29tbWVudFNsYXNoLCBmYUNsb3VkU3VuUmFpbiwgZmFDb21wcmVzcywgZmFXaGVhdEF3biwgZmFXaGVhdEFsdCwgZmFBbmtoLCBmYUhhbmRzSG9sZGluZ0NoaWxkLCBmYUFzdGVyaXNrLCBmYVNxdWFyZUNoZWNrLCBmYUNoZWNrU3F1YXJlLCBmYVBlc2V0YVNpZ24sIGZhSGVhZGluZywgZmFIZWFkZXIsIGZhR2hvc3QsIGZhTGlzdCwgZmFMaXN0U3F1YXJlcywgZmFTcXVhcmVQaG9uZUZsaXAsIGZhUGhvbmVTcXVhcmVBbHQsIGZhQ2FydFBsdXMsIGZhR2FtZXBhZCwgZmFDaXJjbGVEb3QsIGZhRG90Q2lyY2xlLCBmYUZhY2VEaXp6eSwgZmFEaXp6eSwgZmFFZ2csIGZhSG91c2VNZWRpY2FsQ2lyY2xlWG1hcmssIGZhQ2FtcGdyb3VuZCwgZmFGb2xkZXJQbHVzLCBmYUZ1dGJvbCwgZmFGdXRib2xCYWxsLCBmYVNvY2NlckJhbGwsIGZhUGFpbnRicnVzaCwgZmFQYWludEJydXNoLCBmYUxvY2ssIGZhR2FzUHVtcCwgZmFIb3RUdWJQZXJzb24sIGZhSG90VHViLCBmYU1hcExvY2F0aW9uLCBmYU1hcE1hcmtlZCwgZmFIb3VzZUZsb29kV2F0ZXIsIGZhVHJlZSwgZmFCcmlkZ2VMb2NrLCBmYVNhY2tEb2xsYXIsIGZhUGVuVG9TcXVhcmUsIGZhRWRpdCwgZmFDYXJTaWRlLCBmYVNoYXJlTm9kZXMsIGZhU2hhcmVBbHQsIGZhSGVhcnRDaXJjbGVNaW51cywgZmFIb3VyZ2xhc3NIYWxmLCBmYUhvdXJnbGFzczIsIGZhTWljcm9zY29wZSwgZmFTaW5rLCBmYUJhZ1Nob3BwaW5nLCBmYVNob3BwaW5nQmFnLCBmYUFycm93RG93blpBLCBmYVNvcnRBbHBoYURlc2MsIGZhU29ydEFscGhhRG93bkFsdCwgZmFNaXR0ZW4sIGZhUGVyc29uUmF5cywgZmFVc2VycywgZmFFeWVTbGFzaCwgZmFGbGFza1ZpYWwsIGZhSGFuZCwgZmFIYW5kUGFwZXIsIGZhT20sIGZhV29ybSwgZmFIb3VzZUNpcmNsZVhtYXJrLCBmYVBsdWcsIGZhQ2hldnJvblVwLCBmYUhhbmRTcG9jaywgZmFTdG9wd2F0Y2gsIGZhRmFjZUtpc3MsIGZhS2lzcywgZmFCcmlkZ2VDaXJjbGVYbWFyaywgZmFGYWNlR3JpblRvbmd1ZSwgZmFHcmluVG9uZ3VlLCBmYUNoZXNzQmlzaG9wLCBmYUZhY2VHcmluV2luaywgZmFHcmluV2luaywgZmFFYXJEZWFmLCBmYURlYWYsIGZhRGVhZm5lc3MsIGZhSGFyZE9mSGVhcmluZywgZmFSb2FkQ2lyY2xlQ2hlY2ssIGZhRGljZUZpdmUsIGZhU3F1YXJlUnNzLCBmYVJzc1NxdWFyZSwgZmFMYW5kTWluZU9uLCBmYUlDdXJzb3IsIGZhU3RhbXAsIGZhU3RhaXJzLCBmYUksIGZhSHJ5dm5pYVNpZ24sIGZhSHJ5dm5pYSwgZmFQaWxscywgZmFGYWNlR3JpbldpZGUsIGZhR3JpbkFsdCwgZmFUb290aCwgZmFWLCBmYUJhbmdsYWRlc2hpVGFrYVNpZ24sIGZhQmljeWNsZSwgZmFTdGFmZlNuYWtlLCBmYVJvZEFzY2xlcGl1cywgZmFSb2RTbmFrZSwgZmFTdGFmZkFlc2N1bGFwaXVzLCBmYUhlYWRTaWRlQ291Z2hTbGFzaCwgZmFUcnVja01lZGljYWwsIGZhQW1idWxhbmNlLCBmYVdoZWF0QXduQ2lyY2xlRXhjbGFtYXRpb24sIGZhU25vd21hbiwgZmFNb3J0YXJQZXN0bGUsIGZhUm9hZEJhcnJpZXIsIGZhU2Nob29sLCBmYUlnbG9vLCBmYUpvaW50LCBmYUFuZ2xlUmlnaHQsIGZhSG9yc2UsIGZhUSwgZmFHLCBmYU5vdGVzTWVkaWNhbCwgZmFUZW1wZXJhdHVyZUhhbGYsIGZhVGVtcGVyYXR1cmUyLCBmYVRoZXJtb21ldGVyMiwgZmFUaGVybW9tZXRlckhhbGYsIGZhRG9uZ1NpZ24sIGZhQ2Fwc3VsZXMsIGZhUG9vU3Rvcm0sIGZhUG9vQm9sdCwgZmFGYWNlRnJvd25PcGVuLCBmYUZyb3duT3BlbiwgZmFIYW5kUG9pbnRVcCwgZmFNb25leUJpbGwsIGZhQm9va21hcmssIGZhQWxpZ25KdXN0aWZ5LCBmYVVtYnJlbGxhQmVhY2gsIGZhSGVsbWV0VW4sIGZhQnVsbHNleWUsIGZhQmFjb24sIGZhSGFuZFBvaW50RG93biwgZmFBcnJvd1VwRnJvbUJyYWNrZXQsIGZhRm9sZGVyLCBmYUZvbGRlckJsYW5rLCBmYUZpbGVXYXZlZm9ybSwgZmFGaWxlTWVkaWNhbEFsdCwgZmFSYWRpYXRpb24sIGZhQ2hhcnRTaW1wbGUsIGZhTWFyc1N0cm9rZSwgZmFWaWFsLCBmYUdhdWdlLCBmYURhc2hib2FyZCwgZmFHYXVnZU1lZCwgZmFUYWNob21ldGVyQWx0QXZlcmFnZSwgZmFXYW5kTWFnaWNTcGFya2xlcywgZmFNYWdpY1dhbmRTcGFya2xlcywgZmFFLCBmYVBlbkNsaXAsIGZhUGVuQWx0LCBmYUJyaWRnZUNpcmNsZUV4Y2xhbWF0aW9uLCBmYVVzZXIsIGZhU2Nob29sQ2lyY2xlQ2hlY2ssIGZhRHVtcHN0ZXIsIGZhVmFuU2h1dHRsZSwgZmFTaHV0dGxlVmFuLCBmYUJ1aWxkaW5nVXNlciwgZmFTcXVhcmVDYXJldExlZnQsIGZhQ2FyZXRTcXVhcmVMZWZ0LCBmYUhpZ2hsaWdodGVyLCBmYUtleSwgZmFCdWxsaG9ybiwgZmFHbG9iZSwgZmFTeW5hZ29ndWUsIGZhUGVyc29uSGFsZkRyZXNzLCBmYVJvYWRCcmlkZ2UsIGZhTG9jYXRpb25BcnJvdywgZmFDLCBmYVRhYmxldEJ1dHRvbiwgZmFCdWlsZGluZ0xvY2ssIGZhUGl6emFTbGljZSwgZmFNb25leUJpbGxXYXZlLCBmYUNoYXJ0QXJlYSwgZmFBcmVhQ2hhcnQsIGZhSG91c2VGbGFnLCBmYVBlcnNvbkNpcmNsZU1pbnVzLCBmYUJhbiwgZmFDYW5jZWwsIGZhQ2FtZXJhUm90YXRlLCBmYVNwcmF5Q2FuU3BhcmtsZXMsIGZhQWlyRnJlc2hlbmVyLCBmYVN0YXIsIGZhUmVwZWF0LCBmYUNyb3NzLCBmYUJveCwgZmFWZW51c01hcnMsIGZhQXJyb3dQb2ludGVyLCBmYU1vdXNlUG9pbnRlciwgZmFNYXhpbWl6ZSwgZmFFeHBhbmRBcnJvd3NBbHQsIGZhQ2hhcmdpbmdTdGF0aW9uLCBmYVNoYXBlcywgZmFUcmlhbmdsZUNpcmNsZVNxdWFyZSwgZmFTaHVmZmxlLCBmYVJhbmRvbSwgZmFQZXJzb25SdW5uaW5nLCBmYVJ1bm5pbmcsIGZhTW9iaWxlUmV0cm8sIGZhR3JpcExpbmVzVmVydGljYWwsIGZhU3BpZGVyLCBmYUhhbmRzQm91bmQsIGZhRmlsZUludm9pY2VEb2xsYXIsIGZhUGxhbmVDaXJjbGVFeGNsYW1hdGlvbiwgZmFYUmF5LCBmYVNwZWxsQ2hlY2ssIGZhU2xhc2gsIGZhQ29tcHV0ZXJNb3VzZSwgZmFNb3VzZSwgZmFBcnJvd1JpZ2h0VG9CcmFja2V0LCBmYVNpZ25JbiwgZmFTaG9wU2xhc2gsIGZhU3RvcmVBbHRTbGFzaCwgZmFTZXJ2ZXIsIGZhVmlydXNDb3ZpZFNsYXNoLCBmYVNob3BMb2NrLCBmYUhvdXJnbGFzc1N0YXJ0LCBmYUhvdXJnbGFzczEsIGZhQmxlbmRlclBob25lLCBmYUJ1aWxkaW5nV2hlYXQsIGZhUGVyc29uQnJlYXN0ZmVlZGluZywgZmFSaWdodFRvQnJhY2tldCwgZmFTaWduSW5BbHQsIGZhVmVudXMsIGZhUGFzc3BvcnQsIGZhSGVhcnRQdWxzZSwgZmFIZWFydGJlYXQsIGZhUGVvcGxlQ2FycnlCb3gsIGZhUGVvcGxlQ2FycnksIGZhVGVtcGVyYXR1cmVIaWdoLCBmYU1pY3JvY2hpcCwgZmFDcm93biwgZmFXZWlnaHRIYW5naW5nLCBmYVhtYXJrc0xpbmVzLCBmYUZpbGVQcmVzY3JpcHRpb24sIGZhV2VpZ2h0U2NhbGUsIGZhV2VpZ2h0LCBmYVVzZXJHcm91cCwgZmFVc2VyRnJpZW5kcywgZmFBcnJvd1VwQVosIGZhU29ydEFscGhhVXAsIGZhQ2hlc3NLbmlnaHQsIGZhRmFjZUxhdWdoU3F1aW50LCBmYUxhdWdoU3F1aW50LCBmYVdoZWVsY2hhaXIsIGZhQ2lyY2xlQXJyb3dVcCwgZmFBcnJvd0NpcmNsZVVwLCBmYVRvZ2dsZU9uLCBmYVBlcnNvbldhbGtpbmcsIGZhV2Fsa2luZywgZmFMLCBmYUZpcmUsIGZhQmVkUHVsc2UsIGZhUHJvY2VkdXJlcywgZmFTaHV0dGxlU3BhY2UsIGZhU3BhY2VTaHV0dGxlLCBmYUZhY2VMYXVnaCwgZmFMYXVnaCwgZmFGb2xkZXJPcGVuLCBmYUhlYXJ0Q2lyY2xlUGx1cywgZmFDb2RlRm9yaywgZmFDaXR5LCBmYU1pY3JvcGhvbmVMaW5lcywgZmFNaWNyb3Bob25lQWx0LCBmYVBlcHBlckhvdCwgZmFVbmxvY2ssIGZhQ29sb25TaWduLCBmYUhlYWRzZXQsIGZhU3RvcmVTbGFzaCwgZmFSb2FkQ2lyY2xlWG1hcmssIGZhVXNlck1pbnVzLCBmYU1hcnNTdHJva2VVcCwgZmFNYXJzU3Ryb2tlViwgZmFDaGFtcGFnbmVHbGFzc2VzLCBmYUdsYXNzQ2hlZXJzLCBmYUNsaXBib2FyZCwgZmFIb3VzZUNpcmNsZUV4Y2xhbWF0aW9uLCBmYUZpbGVBcnJvd1VwLCBmYUZpbGVVcGxvYWQsIGZhV2lmaSwgZmFXaWZpMywgZmFXaWZpU3Ryb25nLCBmYUJhdGgsIGZhQmF0aHR1YiwgZmFVbmRlcmxpbmUsIGZhVXNlclBlbiwgZmFVc2VyRWRpdCwgZmFTaWduYXR1cmUsIGZhU3Ryb29wd2FmZWwsIGZhQm9sZCwgZmFBbmNob3JMb2NrLCBmYUJ1aWxkaW5nTmdvLCBmYU1hbmF0U2lnbiwgZmFOb3RFcXVhbCwgZmFCb3JkZXJUb3BMZWZ0LCBmYUJvcmRlclN0eWxlLCBmYU1hcExvY2F0aW9uRG90LCBmYU1hcE1hcmtlZEFsdCwgZmFKZWRpLCBmYVNxdWFyZVBvbGxWZXJ0aWNhbCwgZmFQb2xsLCBmYU11Z0hvdCwgZmFDYXJCYXR0ZXJ5LCBmYUJhdHRlcnlDYXIsIGZhR2lmdCwgZmFEaWNlVHdvLCBmYUNoZXNzUXVlZW4sIGZhR2xhc3NlcywgZmFDaGVzc0JvYXJkLCBmYUJ1aWxkaW5nQ2lyY2xlQ2hlY2ssIGZhUGVyc29uQ2hhbGtib2FyZCwgZmFNYXJzU3Ryb2tlUmlnaHQsIGZhTWFyc1N0cm9rZUgsIGZhSGFuZEJhY2tGaXN0LCBmYUhhbmRSb2NrLCBmYVNxdWFyZUNhcmV0VXAsIGZhQ2FyZXRTcXVhcmVVcCwgZmFDbG91ZFNob3dlcnNXYXRlciwgZmFDaGFydEJhciwgZmFCYXJDaGFydCwgZmFIYW5kc0J1YmJsZXMsIGZhSGFuZHNXYXNoLCBmYUxlc3NUaGFuRXF1YWwsIGZhVHJhaW4sIGZhRXllTG93VmlzaW9uLCBmYUxvd1Zpc2lvbiwgZmFDcm93LCBmYVNhaWxib2F0LCBmYVdpbmRvd1Jlc3RvcmUsIGZhU3F1YXJlUGx1cywgZmFQbHVzU3F1YXJlLCBmYVRvcmlpR2F0ZSwgZmFGcm9nLCBmYUJ1Y2tldCwgZmFJbWFnZSwgZmFNaWNyb3Bob25lLCBmYUNvdywgZmFDYXJldFVwLCBmYVNjcmV3ZHJpdmVyLCBmYUZvbGRlckNsb3NlZCwgZmFIb3VzZVRzdW5hbWksIGZhU3F1YXJlTmZpLCBmYUFycm93VXBGcm9tR3JvdW5kV2F0ZXIsIGZhTWFydGluaUdsYXNzLCBmYUdsYXNzTWFydGluaUFsdCwgZmFSb3RhdGVMZWZ0LCBmYVJvdGF0ZUJhY2ssIGZhUm90YXRlQmFja3dhcmQsIGZhVW5kb0FsdCwgZmFUYWJsZUNvbHVtbnMsIGZhQ29sdW1ucywgZmFMZW1vbiwgZmFIZWFkU2lkZU1hc2ssIGZhSGFuZHNoYWtlLCBmYUdlbSwgZmFEb2xseSwgZmFEb2xseUJveCwgZmFTbW9raW5nLCBmYU1pbmltaXplLCBmYUNvbXByZXNzQXJyb3dzQWx0LCBmYU1vbnVtZW50LCBmYVNub3dwbG93LCBmYUFuZ2xlc1JpZ2h0LCBmYUFuZ2xlRG91YmxlUmlnaHQsIGZhQ2FubmFiaXMsIGZhQ2lyY2xlUGxheSwgZmFQbGF5Q2lyY2xlLCBmYVRhYmxldHMsIGZhRXRoZXJuZXQsIGZhRXVyb1NpZ24sIGZhRXVyLCBmYUV1cm8sIGZhQ2hhaXIsIGZhQ2lyY2xlQ2hlY2ssIGZhQ2hlY2tDaXJjbGUsIGZhQ2lyY2xlU3RvcCwgZmFTdG9wQ2lyY2xlLCBmYUNvbXBhc3NEcmFmdGluZywgZmFEcmFmdGluZ0NvbXBhc3MsIGZhUGxhdGVXaGVhdCwgZmFJY2ljbGVzLCBmYVBlcnNvblNoZWx0ZXIsIGZhTmV1dGVyLCBmYUlkQmFkZ2UsIGZhTWFya2VyLCBmYUZhY2VMYXVnaEJlYW0sIGZhTGF1Z2hCZWFtLCBmYUhlbGljb3B0ZXJTeW1ib2wsIGZhVW5pdmVyc2FsQWNjZXNzLCBmYUNpcmNsZUNoZXZyb25VcCwgZmFDaGV2cm9uQ2lyY2xlVXAsIGZhTGFyaVNpZ24sIGZhVm9sY2FubywgZmFQZXJzb25XYWxraW5nRGFzaGVkTGluZUFycm93UmlnaHQsIGZhU3RlcmxpbmdTaWduLCBmYUdicCwgZmFQb3VuZFNpZ24sIGZhVmlydXNlcywgZmFTcXVhcmVQZXJzb25Db25maW5lZCwgZmFVc2VyVGllLCBmYUFycm93RG93bkxvbmcsIGZhTG9uZ0Fycm93RG93biwgZmFUZW50QXJyb3dEb3duVG9MaW5lLCBmYUNlcnRpZmljYXRlLCBmYVJlcGx5QWxsLCBmYU1haWxSZXBseUFsbCwgZmFTdWl0Y2FzZSwgZmFQZXJzb25Ta2F0aW5nLCBmYVNrYXRpbmcsIGZhRmlsdGVyQ2lyY2xlRG9sbGFyLCBmYUZ1bm5lbERvbGxhciwgZmFDYW1lcmFSZXRybywgZmFDaXJjbGVBcnJvd0Rvd24sIGZhQXJyb3dDaXJjbGVEb3duLCBmYUZpbGVJbXBvcnQsIGZhQXJyb3dSaWdodFRvRmlsZSwgZmFTcXVhcmVBcnJvd1VwUmlnaHQsIGZhRXh0ZXJuYWxMaW5rU3F1YXJlLCBmYUJveE9wZW4sIGZhU2Nyb2xsLCBmYVNwYSwgZmFMb2NhdGlvblBpbkxvY2ssIGZhUGF1c2UsIGZhSGlsbEF2YWxhbmNoZSwgZmFUZW1wZXJhdHVyZUVtcHR5LCBmYVRlbXBlcmF0dXJlMCwgZmFUaGVybW9tZXRlcjAsIGZhVGhlcm1vbWV0ZXJFbXB0eSwgZmFCb21iLCBmYVJlZ2lzdGVyZWQsIGZhQWRkcmVzc0NhcmQsIGZhQ29udGFjdENhcmQsIGZhVmNhcmQsIGZhU2NhbGVVbmJhbGFuY2VkRmxpcCwgZmFCYWxhbmNlU2NhbGVSaWdodCwgZmFTdWJzY3JpcHQsIGZhRGlhbW9uZFR1cm5SaWdodCwgZmFEaXJlY3Rpb25zLCBmYUJ1cnN0LCBmYUhvdXNlTGFwdG9wLCBmYUxhcHRvcEhvdXNlLCBmYUZhY2VUaXJlZCwgZmFUaXJlZCwgZmFNb25leUJpbGxzLCBmYVNtb2csIGZhQ3J1dGNoLCBmYUZvbnRBd2Vzb21lLCBmYUZvbnRBd2Vzb21lRmxhZywgZmFGb250QXdlc29tZUxvZ29GdWxsLCBmYUNsb3VkQXJyb3dVcCwgZmFDbG91ZFVwbG9hZCwgZmFDbG91ZFVwbG9hZEFsdCwgZmFQYWxldHRlLCBmYUFycm93c1R1cm5SaWdodCwgZmFWZXN0LCBmYUZlcnJ5LCBmYUFycm93c0Rvd25Ub1Blb3BsZSwgZmFTZWVkbGluZywgZmFTcHJvdXQsIGZhTGVmdFJpZ2h0LCBmYUFycm93c0FsdEgsIGZhQm94ZXNQYWNraW5nLCBmYUNpcmNsZUFycm93TGVmdCwgZmFBcnJvd0NpcmNsZUxlZnQsIGZhR3JvdXBBcnJvd3NSb3RhdGUsIGZhQm93bEZvb2QsIGZhQ2FuZHlDYW5lLCBmYUFycm93RG93bldpZGVTaG9ydCwgZmFTb3J0QW1vdW50QXNjLCBmYVNvcnRBbW91bnREb3duLCBmYUNsb3VkQm9sdCwgZmFUaHVuZGVyc3Rvcm0sIGZhVGV4dFNsYXNoLCBmYVJlbW92ZUZvcm1hdCwgZmFGYWNlU21pbGVXaW5rLCBmYVNtaWxlV2luaywgZmFGaWxlV29yZCwgZmFGaWxlUG93ZXJwb2ludCwgZmFBcnJvd3NMZWZ0UmlnaHQsIGZhQXJyb3dzSCwgZmFIb3VzZUxvY2ssIGZhQ2xvdWRBcnJvd0Rvd24sIGZhQ2xvdWREb3dubG9hZCwgZmFDbG91ZERvd25sb2FkQWx0LCBmYUNoaWxkcmVuLCBmYUNoYWxrYm9hcmQsIGZhQmxhY2tib2FyZCwgZmFVc2VyTGFyZ2VTbGFzaCwgZmFVc2VyQWx0U2xhc2gsIGZhRW52ZWxvcGVPcGVuLCBmYUhhbmRzaGFrZVNpbXBsZVNsYXNoLCBmYUhhbmRzaGFrZUFsdFNsYXNoLCBmYU1hdHRyZXNzUGlsbG93LCBmYUd1YXJhbmlTaWduLCBmYUFycm93c1JvdGF0ZSwgZmFSZWZyZXNoLCBmYVN5bmMsIGZhRmlyZUV4dGluZ3Vpc2hlciwgZmFDcnV6ZWlyb1NpZ24sIGZhR3JlYXRlclRoYW5FcXVhbCwgZmFTaGllbGRIYWx2ZWQsIGZhU2hpZWxkQWx0LCBmYUJvb2tBdGxhcywgZmFBdGxhcywgZmFWaXJ1cywgZmFFbnZlbG9wZUNpcmNsZUNoZWNrLCBmYUxheWVyR3JvdXAsIGZhQXJyb3dzVG9Eb3QsIGZhQXJjaHdheSwgZmFIZWFydENpcmNsZUNoZWNrLCBmYUhvdXNlQ2hpbW5leUNyYWNrLCBmYUhvdXNlRGFtYWdlLCBmYUZpbGVaaXBwZXIsIGZhRmlsZUFyY2hpdmUsIGZhU3F1YXJlLCBmYU1hcnRpbmlHbGFzc0VtcHR5LCBmYUdsYXNzTWFydGluaSwgZmFDb3VjaCwgZmFDZWRpU2lnbiwgZmFJdGFsaWMsIGZhVGFibGVDZWxsc0NvbHVtbkxvY2ssIGZhQ2h1cmNoLCBmYUNvbW1lbnRzRG9sbGFyLCBmYURlbW9jcmF0LCBmYVosIGZhUGVyc29uU2tpaW5nLCBmYVNraWluZywgZmFSb2FkTG9jaywgZmFBLCBmYVRlbXBlcmF0dXJlQXJyb3dEb3duLCBmYVRlbXBlcmF0dXJlRG93biwgZmFGZWF0aGVyUG9pbnRlZCwgZmFGZWF0aGVyQWx0LCBmYVAsIGZhU25vd2ZsYWtlLCBmYU5ld3NwYXBlciwgZmFSZWN0YW5nbGVBZCwgZmFBZCwgZmFDaXJjbGVBcnJvd1JpZ2h0LCBmYUFycm93Q2lyY2xlUmlnaHQsIGZhRmlsdGVyQ2lyY2xlWG1hcmssIGZhTG9jdXN0LCBmYVNvcnQsIGZhVW5zb3J0ZWQsIGZhTGlzdE9sLCBmYUxpc3QxMiwgZmFMaXN0TnVtZXJpYywgZmFQZXJzb25EcmVzc0J1cnN0LCBmYU1vbmV5Q2hlY2tEb2xsYXIsIGZhTW9uZXlDaGVja0FsdCwgZmFWZWN0b3JTcXVhcmUsIGZhQnJlYWRTbGljZSwgZmFMYW5ndWFnZSwgZmFGYWNlS2lzc1dpbmtIZWFydCwgZmFLaXNzV2lua0hlYXJ0LCBmYUZpbHRlciwgZmFRdWVzdGlvbiwgZmFGaWxlU2lnbmF0dXJlLCBmYVVwRG93bkxlZnRSaWdodCwgZmFBcnJvd3NBbHQsIGZhSG91c2VDaGltbmV5VXNlciwgZmFIYW5kSG9sZGluZ0hlYXJ0LCBmYVB1enpsZVBpZWNlLCBmYU1vbmV5Q2hlY2ssIGZhU3RhckhhbGZTdHJva2UsIGZhU3RhckhhbGZBbHQsIGZhQ29kZSwgZmFXaGlza2V5R2xhc3MsIGZhR2xhc3NXaGlza2V5LCBmYUJ1aWxkaW5nQ2lyY2xlRXhjbGFtYXRpb24sIGZhTWFnbmlmeWluZ0dsYXNzQ2hhcnQsIGZhQXJyb3dVcFJpZ2h0RnJvbVNxdWFyZSwgZmFFeHRlcm5hbExpbmssIGZhQ3ViZXNTdGFja2VkLCBmYVdvblNpZ24sIGZhS3J3LCBmYVdvbiwgZmFWaXJ1c0NvdmlkLCBmYUF1c3RyYWxTaWduLCBmYUYsIGZhTGVhZiwgZmFSb2FkLCBmYVRheGksIGZhQ2FiLCBmYVBlcnNvbkNpcmNsZVBsdXMsIGZhQ2hhcnRQaWUsIGZhUGllQ2hhcnQsIGZhQm9sdExpZ2h0bmluZywgZmFTYWNrWG1hcmssIGZhRmlsZUV4Y2VsLCBmYUZpbGVDb250cmFjdCwgZmFGaXNoRmlucywgZmFCdWlsZGluZ0ZsYWcsIGZhRmFjZUdyaW5CZWFtLCBmYUdyaW5CZWFtLCBmYU9iamVjdFVuZ3JvdXAsIGZhUG9vcCwgZmFMb2NhdGlvblBpbiwgZmFNYXBNYXJrZXIsIGZhS2FhYmEsIGZhVG9pbGV0UGFwZXIsIGZhSGVsbWV0U2FmZXR5LCBmYUhhcmRIYXQsIGZhSGF0SGFyZCwgZmFFamVjdCwgZmFDaXJjbGVSaWdodCwgZmFBcnJvd0FsdENpcmNsZVJpZ2h0LCBmYVBsYW5lQ2lyY2xlQ2hlY2ssIGZhRmFjZVJvbGxpbmdFeWVzLCBmYU1laFJvbGxpbmdFeWVzLCBmYU9iamVjdEdyb3VwLCBmYUNoYXJ0TGluZSwgZmFMaW5lQ2hhcnQsIGZhTWFza1ZlbnRpbGF0b3IsIGZhQXJyb3dSaWdodCwgZmFTaWduc1Bvc3QsIGZhTWFwU2lnbnMsIGZhQ2FzaFJlZ2lzdGVyLCBmYVBlcnNvbkNpcmNsZVF1ZXN0aW9uLCBmYUgsIGZhVGFycCwgZmFTY3Jld2RyaXZlcldyZW5jaCwgZmFUb29scywgZmFBcnJvd3NUb0V5ZSwgZmFQbHVnQ2lyY2xlQm9sdCwgZmFIZWFydCwgZmFNYXJzQW5kVmVudXMsIGZhSG91c2VVc2VyLCBmYUhvbWVVc2VyLCBmYUR1bXBzdGVyRmlyZSwgZmFIb3VzZUNyYWNrLCBmYU1hcnRpbmlHbGFzc0NpdHJ1cywgZmFDb2NrdGFpbCwgZmFGYWNlU3VycHJpc2UsIGZhU3VycHJpc2UsIGZhQm90dGxlV2F0ZXIsIGZhQ2lyY2xlUGF1c2UsIGZhUGF1c2VDaXJjbGUsIGZhVG9pbGV0UGFwZXJTbGFzaCwgZmFBcHBsZVdob2xlLCBmYUFwcGxlQWx0LCBmYUtpdGNoZW5TZXQsIGZhUiwgZmFUZW1wZXJhdHVyZVF1YXJ0ZXIsIGZhVGVtcGVyYXR1cmUxLCBmYVRoZXJtb21ldGVyMSwgZmFUaGVybW9tZXRlclF1YXJ0ZXIsIGZhQ3ViZSwgZmFCaXRjb2luU2lnbiwgZmFTaGllbGREb2csIGZhU29sYXJQYW5lbCwgZmFMb2NrT3BlbiwgZmFFbGV2YXRvciwgZmFNb25leUJpbGxUcmFuc2ZlciwgZmFNb25leUJpbGxUcmVuZFVwLCBmYUhvdXNlRmxvb2RXYXRlckNpcmNsZUFycm93UmlnaHQsIGZhU3F1YXJlUG9sbEhvcml6b250YWwsIGZhUG9sbEgsIGZhQ2lyY2xlLCBmYUJhY2t3YXJkRmFzdCwgZmFGYXN0QmFja3dhcmQsIGZhUmVjeWNsZSwgZmFVc2VyQXN0cm9uYXV0LCBmYVBsYW5lU2xhc2gsIGZhVHJhZGVtYXJrLCBmYUJhc2tldGJhbGwsIGZhQmFza2V0YmFsbEJhbGwsIGZhU2F0ZWxsaXRlRGlzaCwgZmFDaXJjbGVVcCwgZmFBcnJvd0FsdENpcmNsZVVwLCBmYU1vYmlsZVNjcmVlbkJ1dHRvbiwgZmFNb2JpbGVBbHQsIGZhVm9sdW1lSGlnaCwgZmFWb2x1bWVVcCwgZmFVc2Vyc1JheXMsIGZhV2FsbGV0LCBmYUNsaXBib2FyZENoZWNrLCBmYUZpbGVBdWRpbywgZmFCdXJnZXIsIGZhSGFtYnVyZ2VyLCBmYVdyZW5jaCwgZmFCdWdzLCBmYVJ1cGVlU2lnbiwgZmFSdXBlZSwgZmFGaWxlSW1hZ2UsIGZhQ2lyY2xlUXVlc3Rpb24sIGZhUXVlc3Rpb25DaXJjbGUsIGZhUGxhbmVEZXBhcnR1cmUsIGZhSGFuZHNoYWtlU2xhc2gsIGZhQm9va0Jvb2ttYXJrLCBmYUNvZGVCcmFuY2gsIGZhSGF0Q293Ym95LCBmYUJyaWRnZSwgZmFQaG9uZUZsaXAsIGZhUGhvbmVBbHQsIGZhVHJ1Y2tGcm9udCwgZmFDYXQsIGZhQW5jaG9yQ2lyY2xlRXhjbGFtYXRpb24sIGZhVHJ1Y2tGaWVsZCwgZmFSb3V0ZSwgZmFDbGlwYm9hcmRRdWVzdGlvbiwgZmFQYW5vcmFtYSwgZmFDb21tZW50TWVkaWNhbCwgZmFUZWV0aE9wZW4sIGZhRmlsZUNpcmNsZU1pbnVzLCBmYVRhZ3MsIGZhV2luZUdsYXNzLCBmYUZvcndhcmRGYXN0LCBmYUZhc3RGb3J3YXJkLCBmYUZhY2VNZWhCbGFuaywgZmFNZWhCbGFuaywgZmFTcXVhcmVQYXJraW5nLCBmYVBhcmtpbmcsIGZhSG91c2VTaWduYWwsIGZhQmFyc1Byb2dyZXNzLCBmYVRhc2tzQWx0LCBmYUZhdWNldERyaXAsIGZhQ2FydEZsYXRiZWQsIGZhRG9sbHlGbGF0YmVkLCBmYUJhblNtb2tpbmcsIGZhU21va2luZ0JhbiwgZmFUZXJtaW5hbCwgZmFNb2JpbGVCdXR0b24sIGZhSG91c2VNZWRpY2FsRmxhZywgZmFCYXNrZXRTaG9wcGluZywgZmFTaG9wcGluZ0Jhc2tldCwgZmFUYXBlLCBmYUJ1c1NpbXBsZSwgZmFCdXNBbHQsIGZhRXllLCBmYUZhY2VTYWRDcnksIGZhU2FkQ3J5LCBmYUF1ZGlvRGVzY3JpcHRpb24sIGZhUGVyc29uTWlsaXRhcnlUb1BlcnNvbiwgZmFGaWxlU2hpZWxkLCBmYVVzZXJTbGFzaCwgZmFQZW4sIGZhVG93ZXJPYnNlcnZhdGlvbiwgZmFGaWxlQ29kZSwgZmFTaWduYWwsIGZhU2lnbmFsNSwgZmFTaWduYWxQZXJmZWN0LCBmYUJ1cywgZmFIZWFydENpcmNsZVhtYXJrLCBmYUhvdXNlQ2hpbW5leSwgZmFIb21lTGcsIGZhV2luZG93TWF4aW1pemUsIGZhRmFjZUZyb3duLCBmYUZyb3duLCBmYVByZXNjcmlwdGlvbiwgZmFTaG9wLCBmYVN0b3JlQWx0LCBmYUZsb3BweURpc2ssIGZhU2F2ZSwgZmFWaWhhcmEsIGZhU2NhbGVVbmJhbGFuY2VkLCBmYUJhbGFuY2VTY2FsZUxlZnQsIGZhU29ydFVwLCBmYVNvcnRBc2MsIGZhQ29tbWVudERvdHMsIGZhQ29tbWVudGluZywgZmFQbGFudFdpbHQsIGZhRGlhbW9uZCwgZmFGYWNlR3JpblNxdWludCwgZmFHcmluU3F1aW50LCBmYUhhbmRIb2xkaW5nRG9sbGFyLCBmYUhhbmRIb2xkaW5nVXNkLCBmYUJhY3Rlcml1bSwgZmFIYW5kUG9pbnRlciwgZmFEcnVtU3RlZWxwYW4sIGZhSGFuZFNjaXNzb3JzLCBmYUhhbmRzUHJheWluZywgZmFQcmF5aW5nSGFuZHMsIGZhQXJyb3dSb3RhdGVSaWdodCwgZmFBcnJvd1JpZ2h0Um90YXRlLCBmYUFycm93Um90YXRlRm9yd2FyZCwgZmFSZWRvLCBmYUJpb2hhemFyZCwgZmFMb2NhdGlvbkNyb3NzaGFpcnMsIGZhTG9jYXRpb24sIGZhTWFyc0RvdWJsZSwgZmFDaGlsZERyZXNzLCBmYVVzZXJzQmV0d2VlbkxpbmVzLCBmYUx1bmdzVmlydXMsIGZhRmFjZUdyaW5UZWFycywgZmFHcmluVGVhcnMsIGZhUGhvbmUsIGZhQ2FsZW5kYXJYbWFyaywgZmFDYWxlbmRhclRpbWVzLCBmYUNoaWxkUmVhY2hpbmcsIGZhSGVhZFNpZGVWaXJ1cywgZmFVc2VyR2VhciwgZmFVc2VyQ29nLCBmYUFycm93VXAxOSwgZmFTb3J0TnVtZXJpY1VwLCBmYURvb3JDbG9zZWQsIGZhU2hpZWxkVmlydXMsIGZhRGljZVNpeCwgZmFNb3NxdWl0b05ldCwgZmFCcmlkZ2VXYXRlciwgZmFQZXJzb25Cb290aCwgZmFUZXh0V2lkdGgsIGZhSGF0V2l6YXJkLCBmYVBlbkZhbmN5LCBmYVBlcnNvbkRpZ2dpbmcsIGZhRGlnZ2luZywgZmFUcmFzaCwgZmFHYXVnZVNpbXBsZSwgZmFHYXVnZVNpbXBsZU1lZCwgZmFUYWNob21ldGVyQXZlcmFnZSwgZmFCb29rTWVkaWNhbCwgZmFQb28sIGZhUXVvdGVSaWdodCwgZmFRdW90ZVJpZ2h0QWx0LCBmYVNoaXJ0LCBmYVRTaGlydCwgZmFUc2hpcnQsIGZhQ3ViZXMsIGZhRGl2aWRlLCBmYVRlbmdlU2lnbiwgZmFUZW5nZSwgZmFIZWFkcGhvbmVzLCBmYUhhbmRzSG9sZGluZywgZmFIYW5kc0NsYXBwaW5nLCBmYVJlcHVibGljYW4sIGZhQXJyb3dMZWZ0LCBmYVBlcnNvbkNpcmNsZVhtYXJrLCBmYVJ1bGVyLCBmYUFsaWduTGVmdCwgZmFEaWNlRDYsIGZhUmVzdHJvb20sIGZhSiwgZmFVc2Vyc1ZpZXdmaW5kZXIsIGZhRmlsZVZpZGVvLCBmYVVwUmlnaHRGcm9tU3F1YXJlLCBmYUV4dGVybmFsTGlua0FsdCwgZmFUYWJsZUNlbGxzLCBmYVRoLCBmYUZpbGVQZGYsIGZhQm9va0JpYmxlLCBmYUJpYmxlLCBmYU8sIGZhU3VpdGNhc2VNZWRpY2FsLCBmYU1lZGtpdCwgZmFVc2VyU2VjcmV0LCBmYU90dGVyLCBmYVBlcnNvbkRyZXNzLCBmYUZlbWFsZSwgZmFDb21tZW50RG9sbGFyLCBmYUJ1c2luZXNzVGltZSwgZmFCcmllZmNhc2VDbG9jaywgZmFUYWJsZUNlbGxzTGFyZ2UsIGZhVGhMYXJnZSwgZmFCb29rVGFuYWtoLCBmYVRhbmFraCwgZmFQaG9uZVZvbHVtZSwgZmFWb2x1bWVDb250cm9sUGhvbmUsIGZhSGF0Q293Ym95U2lkZSwgZmFDbGlwYm9hcmRVc2VyLCBmYUNoaWxkLCBmYUxpcmFTaWduLCBmYVNhdGVsbGl0ZSwgZmFQbGFuZUxvY2ssIGZhVGFnLCBmYUNvbW1lbnQsIGZhQ2FrZUNhbmRsZXMsIGZhQmlydGhkYXlDYWtlLCBmYUNha2UsIGZhRW52ZWxvcGUsIGZhQW5nbGVzVXAsIGZhQW5nbGVEb3VibGVVcCwgZmFQYXBlcmNsaXAsIGZhQXJyb3dSaWdodFRvQ2l0eSwgZmFSaWJib24sIGZhTHVuZ3MsIGZhQXJyb3dVcDkxLCBmYVNvcnROdW1lcmljVXBBbHQsIGZhTGl0ZWNvaW5TaWduLCBmYUJvcmRlck5vbmUsIGZhQ2lyY2xlTm9kZXMsIGZhUGFyYWNodXRlQm94LCBmYUluZGVudCwgZmFUcnVja0ZpZWxkVW4sIGZhSG91cmdsYXNzLCBmYUhvdXJnbGFzc0VtcHR5LCBmYU1vdW50YWluLCBmYVVzZXJEb2N0b3IsIGZhVXNlck1kLCBmYUNpcmNsZUluZm8sIGZhSW5mb0NpcmNsZSwgZmFDbG91ZE1lYXRiYWxsLCBmYUNhbWVyYSwgZmFDYW1lcmFBbHQsIGZhU3F1YXJlVmlydXMsIGZhTWV0ZW9yLCBmYUNhck9uLCBmYVNsZWlnaCwgZmFBcnJvd0Rvd24xOSwgZmFTb3J0TnVtZXJpY0FzYywgZmFTb3J0TnVtZXJpY0Rvd24sIGZhSGFuZEhvbGRpbmdEcm9wbGV0LCBmYUhhbmRIb2xkaW5nV2F0ZXIsIGZhV2F0ZXIsIGZhQ2FsZW5kYXJDaGVjaywgZmFCcmFpbGxlLCBmYVByZXNjcmlwdGlvbkJvdHRsZU1lZGljYWwsIGZhUHJlc2NyaXB0aW9uQm90dGxlQWx0LCBmYUxhbmRtYXJrLCBmYVRydWNrLCBmYUNyb3NzaGFpcnMsIGZhUGVyc29uQ2FuZSwgZmFUZW50LCBmYVZlc3RQYXRjaGVzLCBmYUNoZWNrRG91YmxlLCBmYUFycm93RG93bkFaLCBmYVNvcnRBbHBoYUFzYywgZmFTb3J0QWxwaGFEb3duLCBmYU1vbmV5QmlsbFdoZWF0LCBmYUNvb2tpZSwgZmFBcnJvd1JvdGF0ZUxlZnQsIGZhQXJyb3dMZWZ0Um90YXRlLCBmYUFycm93Um90YXRlQmFjaywgZmFBcnJvd1JvdGF0ZUJhY2t3YXJkLCBmYVVuZG8sIGZhSGFyZERyaXZlLCBmYUhkZCwgZmFGYWNlR3JpblNxdWludFRlYXJzLCBmYUdyaW5TcXVpbnRUZWFycywgZmFEdW1iYmVsbCwgZmFSZWN0YW5nbGVMaXN0LCBmYUxpc3RBbHQsIGZhVGFycERyb3BsZXQsIGZhSG91c2VNZWRpY2FsQ2lyY2xlQ2hlY2ssIGZhUGVyc29uU2tpaW5nTm9yZGljLCBmYVNraWluZ05vcmRpYywgZmFDYWxlbmRhclBsdXMsIGZhUGxhbmVBcnJpdmFsLCBmYUNpcmNsZUxlZnQsIGZhQXJyb3dBbHRDaXJjbGVMZWZ0LCBmYVRyYWluU3Vid2F5LCBmYVN1YndheSwgZmFDaGFydEdhbnR0LCBmYUluZGlhblJ1cGVlU2lnbiwgZmFJbmRpYW5SdXBlZSwgZmFJbnIsIGZhQ3JvcFNpbXBsZSwgZmFDcm9wQWx0LCBmYU1vbmV5QmlsbDEsIGZhTW9uZXlCaWxsQWx0LCBmYUxlZnRMb25nLCBmYUxvbmdBcnJvd0FsdExlZnQsIGZhRG5hLCBmYVZpcnVzU2xhc2gsIGZhTWludXMsIGZhU3VidHJhY3QsIGZhQ2hlc3MsIGZhQXJyb3dMZWZ0TG9uZywgZmFMb25nQXJyb3dMZWZ0LCBmYVBsdWdDaXJjbGVDaGVjaywgZmFTdHJlZXRWaWV3LCBmYUZyYW5jU2lnbiwgZmFWb2x1bWVPZmYsIGZhSGFuZHNBc2xJbnRlcnByZXRpbmcsIGZhQW1lcmljYW5TaWduTGFuZ3VhZ2VJbnRlcnByZXRpbmcsIGZhQXNsSW50ZXJwcmV0aW5nLCBmYUhhbmRzQW1lcmljYW5TaWduTGFuZ3VhZ2VJbnRlcnByZXRpbmcsIGZhR2VhciwgZmFDb2csIGZhRHJvcGxldFNsYXNoLCBmYVRpbnRTbGFzaCwgZmFNb3NxdWUsIGZhTW9zcXVpdG8sIGZhU3Rhck9mRGF2aWQsIGZhUGVyc29uTWlsaXRhcnlSaWZsZSwgZmFDYXJ0U2hvcHBpbmcsIGZhU2hvcHBpbmdDYXJ0LCBmYVZpYWxzLCBmYVBsdWdDaXJjbGVQbHVzLCBmYVBsYWNlT2ZXb3JzaGlwLCBmYUdyaXBWZXJ0aWNhbCwgZmFBcnJvd1R1cm5VcCwgZmFMZXZlbFVwLCBmYVUsIGZhU3F1YXJlUm9vdFZhcmlhYmxlLCBmYVNxdWFyZVJvb3RBbHQsIGZhQ2xvY2ssIGZhQ2xvY2tGb3VyLCBmYUJhY2t3YXJkU3RlcCwgZmFTdGVwQmFja3dhcmQsIGZhUGFsbGV0LCBmYUZhdWNldCwgZmFCYXNlYmFsbEJhdEJhbGwsIGZhUywgZmFUaW1lbGluZSwgZmFLZXlib2FyZCwgZmFDYXJldERvd24sIGZhSG91c2VDaGltbmV5TWVkaWNhbCwgZmFDbGluaWNNZWRpY2FsLCBmYVRlbXBlcmF0dXJlVGhyZWVRdWFydGVycywgZmFUZW1wZXJhdHVyZTMsIGZhVGhlcm1vbWV0ZXIzLCBmYVRoZXJtb21ldGVyVGhyZWVRdWFydGVycywgZmFNb2JpbGVTY3JlZW4sIGZhTW9iaWxlQW5kcm9pZEFsdCwgZmFQbGFuZVVwLCBmYVBpZ2d5QmFuaywgZmFCYXR0ZXJ5SGFsZiwgZmFCYXR0ZXJ5MywgZmFNb3VudGFpbkNpdHksIGZhQ29pbnMsIGZhS2hhbmRhLCBmYVNsaWRlcnMsIGZhU2xpZGVyc0gsIGZhRm9sZGVyVHJlZSwgZmFOZXR3b3JrV2lyZWQsIGZhTWFwUGluLCBmYUhhbXNhLCBmYUNlbnRTaWduLCBmYUZsYXNrLCBmYVBlcnNvblByZWduYW50LCBmYVdhbmRTcGFya2xlcywgZmFFbGxpcHNpc1ZlcnRpY2FsLCBmYUVsbGlwc2lzViwgZmFUaWNrZXQsIGZhUG93ZXJPZmYsIGZhUmlnaHRMb25nLCBmYUxvbmdBcnJvd0FsdFJpZ2h0LCBmYUZsYWdVc2EsIGZhTGFwdG9wRmlsZSwgZmFUdHksIGZhVGVsZXR5cGUsIGZhRGlhZ3JhbU5leHQsIGZhUGVyc29uUmlmbGUsIGZhSG91c2VNZWRpY2FsQ2lyY2xlRXhjbGFtYXRpb24sIGZhQ2xvc2VkQ2FwdGlvbmluZywgZmFQZXJzb25IaWtpbmcsIGZhSGlraW5nLCBmYVZlbnVzRG91YmxlLCBmYUltYWdlcywgZmFDYWxjdWxhdG9yLCBmYVBlb3BsZVB1bGxpbmcsIGZhTiwgZmFDYWJsZUNhciwgZmFUcmFtLCBmYUNsb3VkUmFpbiwgZmFCdWlsZGluZ0NpcmNsZVhtYXJrLCBmYVNoaXAsIGZhQXJyb3dzRG93blRvTGluZSwgZmFEb3dubG9hZCwgZmFGYWNlR3JpbiwgZmFHcmluLCBmYURlbGV0ZUxlZnQsIGZhQmFja3NwYWNlLCBmYUV5ZURyb3BwZXIsIGZhRXllRHJvcHBlckVtcHR5LCBmYUV5ZWRyb3BwZXIsIGZhRmlsZUNpcmNsZUNoZWNrLCBmYUZvcndhcmQsIGZhTW9iaWxlLCBmYU1vYmlsZUFuZHJvaWQsIGZhTW9iaWxlUGhvbmUsIGZhRmFjZU1laCwgZmFNZWgsIGZhQWxpZ25DZW50ZXIsIGZhQm9va1NrdWxsLCBmYUJvb2tEZWFkLCBmYUlkQ2FyZCwgZmFEcml2ZXJzTGljZW5zZSwgZmFPdXRkZW50LCBmYURlZGVudCwgZmFIZWFydENpcmNsZUV4Y2xhbWF0aW9uLCBmYUhvdXNlLCBmYUhvbWUsIGZhSG9tZUFsdCwgZmFIb21lTGdBbHQsIGZhQ2FsZW5kYXJXZWVrLCBmYUxhcHRvcE1lZGljYWwsIGZhQiwgZmFGaWxlTWVkaWNhbCwgZmFEaWNlT25lLCBmYUtpd2lCaXJkLCBmYUFycm93UmlnaHRBcnJvd0xlZnQsIGZhRXhjaGFuZ2UsIGZhUm90YXRlUmlnaHQsIGZhUmVkb0FsdCwgZmFSb3RhdGVGb3J3YXJkLCBmYVV0ZW5zaWxzLCBmYUN1dGxlcnksIGZhQXJyb3dVcFdpZGVTaG9ydCwgZmFTb3J0QW1vdW50VXAsIGZhTWlsbFNpZ24sIGZhQm93bFJpY2UsIGZhU2t1bGwsIGZhVG93ZXJCcm9hZGNhc3QsIGZhQnJvYWRjYXN0VG93ZXIsIGZhVHJ1Y2tQaWNrdXAsIGZhVXBMb25nLCBmYUxvbmdBcnJvd0FsdFVwLCBmYVN0b3AsIGZhQ29kZU1lcmdlLCBmYVVwbG9hZCwgZmFIdXJyaWNhbmUsIGZhTW91bmQsIGZhVG9pbGV0UG9ydGFibGUsIGZhQ29tcGFjdERpc2MsIGZhRmlsZUFycm93RG93biwgZmFGaWxlRG93bmxvYWQsIGZhQ2FyYXZhbiwgZmFTaGllbGRDYXQsIGZhQm9sdCwgZmFaYXAsIGZhR2xhc3NXYXRlciwgZmFPaWxXZWxsLCBmYVZhdWx0LCBmYU1hcnMsIGZhVG9pbGV0LCBmYVBsYW5lQ2lyY2xlWG1hcmssIGZhWWVuU2lnbiwgZmFDbnksIGZhSnB5LCBmYVJtYiwgZmFZZW4sIGZhUnVibGVTaWduLCBmYVJvdWJsZSwgZmFSdWIsIGZhUnVibGUsIGZhU3VuLCBmYUd1aXRhciwgZmFGYWNlTGF1Z2hXaW5rLCBmYUxhdWdoV2luaywgZmFIb3JzZUhlYWQsIGZhQm9yZUhvbGUsIGZhSW5kdXN0cnksIGZhQ2lyY2xlRG93biwgZmFBcnJvd0FsdENpcmNsZURvd24sIGZhQXJyb3dzVHVyblRvRG90cywgZmFGbG9yaW5TaWduLCBmYUFycm93RG93blNob3J0V2lkZSwgZmFTb3J0QW1vdW50RGVzYywgZmFTb3J0QW1vdW50RG93bkFsdCwgZmFMZXNzVGhhbiwgZmFBbmdsZURvd24sIGZhQ2FyVHVubmVsLCBmYUhlYWRTaWRlQ291Z2gsIGZhR3JpcExpbmVzLCBmYVRodW1ic0Rvd24sIGZhVXNlckxvY2ssIGZhQXJyb3dSaWdodExvbmcsIGZhTG9uZ0Fycm93UmlnaHQsIGZhQW5jaG9yQ2lyY2xlWG1hcmssIGZhRWxsaXBzaXMsIGZhRWxsaXBzaXNILCBmYUNoZXNzUGF3biwgZmFLaXRNZWRpY2FsLCBmYUZpcnN0QWlkLCBmYVBlcnNvblRocm91Z2hXaW5kb3csIGZhVG9vbGJveCwgZmFIYW5kc0hvbGRpbmdDaXJjbGUsIGZhQnVnLCBmYUNyZWRpdENhcmQsIGZhQ3JlZGl0Q2FyZEFsdCwgZmFDYXIsIGZhQXV0b21vYmlsZSwgZmFIYW5kSG9sZGluZ0hhbmQsIGZhQm9va09wZW5SZWFkZXIsIGZhQm9va1JlYWRlciwgZmFNb3VudGFpblN1biwgZmFBcnJvd3NMZWZ0UmlnaHRUb0xpbmUsIGZhRGljZUQyMCwgZmFUcnVja0Ryb3BsZXQsIGZhRmlsZUNpcmNsZVhtYXJrLCBmYVRlbXBlcmF0dXJlQXJyb3dVcCwgZmFUZW1wZXJhdHVyZVVwLCBmYU1lZGFsLCBmYUJlZCwgZmFTcXVhcmVILCBmYUhTcXVhcmUsIGZhUG9kY2FzdCwgZmFUZW1wZXJhdHVyZUZ1bGwsIGZhVGVtcGVyYXR1cmU0LCBmYVRoZXJtb21ldGVyNCwgZmFUaGVybW9tZXRlckZ1bGwsIGZhQmVsbCwgZmFTdXBlcnNjcmlwdCwgZmFQbHVnQ2lyY2xlWG1hcmssIGZhU3Rhck9mTGlmZSwgZmFQaG9uZVNsYXNoLCBmYVBhaW50Um9sbGVyLCBmYUhhbmRzaGFrZUFuZ2xlLCBmYUhhbmRzSGVscGluZywgZmFMb2NhdGlvbkRvdCwgZmFNYXBNYXJrZXJBbHQsIGZhRmlsZSwgZmFHcmVhdGVyVGhhbiwgZmFQZXJzb25Td2ltbWluZywgZmFTd2ltbWVyLCBmYUFycm93RG93biwgZmFEcm9wbGV0LCBmYVRpbnQsIGZhRXJhc2VyLCBmYUVhcnRoQW1lcmljYXMsIGZhRWFydGgsIGZhRWFydGhBbWVyaWNhLCBmYUdsb2JlQW1lcmljYXMsIGZhUGVyc29uQnVyc3QsIGZhRG92ZSwgZmFCYXR0ZXJ5RW1wdHksIGZhQmF0dGVyeTAsIGZhU29ja3MsIGZhSW5ib3gsIGZhU2VjdGlvbiwgZmFHYXVnZUhpZ2gsIGZhVGFjaG9tZXRlckFsdCwgZmFUYWNob21ldGVyQWx0RmFzdCwgZmFFbnZlbG9wZU9wZW5UZXh0LCBmYUhvc3BpdGFsLCBmYUhvc3BpdGFsQWx0LCBmYUhvc3BpdGFsV2lkZSwgZmFXaW5lQm90dGxlLCBmYUNoZXNzUm9vaywgZmFCYXJzU3RhZ2dlcmVkLCBmYVJlb3JkZXIsIGZhU3RyZWFtLCBmYURoYXJtYWNoYWtyYSwgZmFIb3Rkb2csIGZhUGVyc29uV2Fsa2luZ1dpdGhDYW5lLCBmYUJsaW5kLCBmYURydW0sIGZhSWNlQ3JlYW0sIGZhSGVhcnRDaXJjbGVCb2x0LCBmYUZheCwgZmFQYXJhZ3JhcGgsIGZhQ2hlY2tUb1Nsb3QsIGZhVm90ZVllYSwgZmFTdGFySGFsZiwgZmFCb3hlc1N0YWNrZWQsIGZhQm94ZXMsIGZhQm94ZXNBbHQsIGZhTGluaywgZmFDaGFpbiwgZmFFYXJMaXN0ZW4sIGZhQXNzaXN0aXZlTGlzdGVuaW5nU3lzdGVtcywgZmFUcmVlQ2l0eSwgZmFQbGF5LCBmYUZvbnQsIGZhVGFibGVDZWxsc1Jvd0xvY2ssIGZhUnVwaWFoU2lnbiwgZmFNYWduaWZ5aW5nR2xhc3MsIGZhU2VhcmNoLCBmYVRhYmxlVGVubmlzUGFkZGxlQmFsbCwgZmFQaW5nUG9uZ1BhZGRsZUJhbGwsIGZhVGFibGVUZW5uaXMsIGZhUGVyc29uRG90c0Zyb21MaW5lLCBmYURpYWdub3NlcywgZmFUcmFzaENhbkFycm93VXAsIGZhVHJhc2hSZXN0b3JlQWx0LCBmYU5haXJhU2lnbiwgZmFDYXJ0QXJyb3dEb3duLCBmYVdhbGtpZVRhbGtpZSwgZmFGaWxlUGVuLCBmYUZpbGVFZGl0LCBmYVJlY2VpcHQsIGZhU3F1YXJlUGVuLCBmYVBlblNxdWFyZSwgZmFQZW5jaWxTcXVhcmUsIGZhU3VpdGNhc2VSb2xsaW5nLCBmYVBlcnNvbkNpcmNsZUV4Y2xhbWF0aW9uLCBmYUNoZXZyb25Eb3duLCBmYUJhdHRlcnlGdWxsLCBmYUJhdHRlcnksIGZhQmF0dGVyeTUsIGZhU2t1bGxDcm9zc2JvbmVzLCBmYUNvZGVDb21wYXJlLCBmYUxpc3RVbCwgZmFMaXN0RG90cywgZmFTY2hvb2xMb2NrLCBmYVRvd2VyQ2VsbCwgZmFEb3duTG9uZywgZmFMb25nQXJyb3dBbHREb3duLCBmYVJhbmtpbmdTdGFyLCBmYUNoZXNzS2luZywgZmFQZXJzb25IYXJhc3NpbmcsIGZhQnJhemlsaWFuUmVhbFNpZ24sIGZhTGFuZG1hcmtEb21lLCBmYUxhbmRtYXJrQWx0LCBmYUFycm93VXAsIGZhVHYsIGZhVGVsZXZpc2lvbiwgZmFUdkFsdCwgZmFTaHJpbXAsIGZhTGlzdENoZWNrLCBmYVRhc2tzLCBmYUp1Z0RldGVyZ2VudCwgZmFDaXJjbGVVc2VyLCBmYVVzZXJDaXJjbGUsIGZhVXNlclNoaWVsZCwgZmFXaW5kLCBmYUNhckJ1cnN0LCBmYUNhckNyYXNoLCBmYVksIGZhUGVyc29uU25vd2JvYXJkaW5nLCBmYVNub3dib2FyZGluZywgZmFUcnVja0Zhc3QsIGZhU2hpcHBpbmdGYXN0LCBmYUZpc2gsIGZhVXNlckdyYWR1YXRlLCBmYUNpcmNsZUhhbGZTdHJva2UsIGZhQWRqdXN0LCBmYUNsYXBwZXJib2FyZCwgZmFDaXJjbGVSYWRpYXRpb24sIGZhUmFkaWF0aW9uQWx0LCBmYUJhc2ViYWxsLCBmYUJhc2ViYWxsQmFsbCwgZmFKZXRGaWdodGVyVXAsIGZhRGlhZ3JhbVByb2plY3QsIGZhUHJvamVjdERpYWdyYW0sIGZhQ29weSwgZmFWb2x1bWVYbWFyaywgZmFWb2x1bWVNdXRlLCBmYVZvbHVtZVRpbWVzLCBmYUhhbmRTcGFya2xlcywgZmFHcmlwLCBmYUdyaXBIb3Jpem9udGFsLCBmYVNoYXJlRnJvbVNxdWFyZSwgZmFTaGFyZVNxdWFyZSwgZmFDaGlsZENvbWJhdGFudCwgZmFDaGlsZFJpZmxlLCBmYUd1biwgZmFTcXVhcmVQaG9uZSwgZmFQaG9uZVNxdWFyZSwgZmFQbHVzLCBmYUFkZCwgZmFFeHBhbmQsIGZhQ29tcHV0ZXIsIGZhWG1hcmssIGZhQ2xvc2UsIGZhTXVsdGlwbHksIGZhUmVtb3ZlLCBmYVRpbWVzLCBmYUFycm93c1VwRG93bkxlZnRSaWdodCwgZmFBcnJvd3MsIGZhQ2hhbGtib2FyZFVzZXIsIGZhQ2hhbGtib2FyZFRlYWNoZXIsIGZhUGVzb1NpZ24sIGZhQnVpbGRpbmdTaGllbGQsIGZhQmFieSwgZmFVc2Vyc0xpbmUsIGZhUXVvdGVMZWZ0LCBmYVF1b3RlTGVmdEFsdCwgZmFUcmFjdG9yLCBmYVRyYXNoQXJyb3dVcCwgZmFUcmFzaFJlc3RvcmUsIGZhQXJyb3dEb3duVXBMb2NrLCBmYUxpbmVzTGVhbmluZywgZmFSdWxlckNvbWJpbmVkLCBmYUNvcHlyaWdodCwgZmFFcXVhbHMsIGZhQmxlbmRlciwgZmFUZWV0aCwgZmFTaGVrZWxTaWduLCBmYUlscywgZmFTaGVrZWwsIGZhU2hlcWVsLCBmYVNoZXFlbFNpZ24sIGZhTWFwLCBmYVJvY2tldCwgZmFQaG90b0ZpbG0sIGZhUGhvdG9WaWRlbywgZmFGb2xkZXJNaW51cywgZmFTdG9yZSwgZmFBcnJvd1RyZW5kVXAsIGZhUGx1Z0NpcmNsZU1pbnVzLCBmYVNpZ25IYW5naW5nLCBmYVNpZ24sIGZhQmV6aWVyQ3VydmUsIGZhQmVsbFNsYXNoLCBmYVRhYmxldCwgZmFUYWJsZXRBbmRyb2lkLCBmYVNjaG9vbEZsYWcsIGZhRmlsbCwgZmFBbmdsZVVwLCBmYURydW1zdGlja0JpdGUsIGZhSG9sbHlCZXJyeSwgZmFDaGV2cm9uTGVmdCwgZmFCYWN0ZXJpYSwgZmFIYW5kTGl6YXJkLCBmYU5vdGRlZiwgZmFEaXNlYXNlLCBmYUJyaWVmY2FzZU1lZGljYWwsIGZhR2VuZGVybGVzcywgZmFDaGV2cm9uUmlnaHQsIGZhUmV0d2VldCwgZmFDYXJSZWFyLCBmYUNhckFsdCwgZmFQdW1wU29hcCwgZmFWaWRlb1NsYXNoLCBmYUJhdHRlcnlRdWFydGVyLCBmYUJhdHRlcnkyLCBmYVJhZGlvLCBmYUJhYnlDYXJyaWFnZSwgZmFDYXJyaWFnZUJhYnksIGZhVHJhZmZpY0xpZ2h0LCBmYVRoZXJtb21ldGVyLCBmYVZyQ2FyZGJvYXJkLCBmYUhhbmRNaWRkbGVGaW5nZXIsIGZhUGVyY2VudCwgZmFQZXJjZW50YWdlLCBmYVRydWNrTW92aW5nLCBmYUdsYXNzV2F0ZXJEcm9wbGV0LCBmYURpc3BsYXksIGZhRmFjZVNtaWxlLCBmYVNtaWxlLCBmYVRodW1idGFjaywgZmFUaHVtYlRhY2ssIGZhVHJvcGh5LCBmYVBlcnNvblByYXlpbmcsIGZhUHJheSwgZmFIYW1tZXIsIGZhSGFuZFBlYWNlLCBmYVJvdGF0ZSwgZmFTeW5jQWx0LCBmYVNwaW5uZXIsIGZhUm9ib3QsIGZhUGVhY2UsIGZhR2VhcnMsIGZhQ29ncywgZmFXYXJlaG91c2UsIGZhQXJyb3dVcFJpZ2h0RG90cywgZmFTcGxvdGNoLCBmYUZhY2VHcmluSGVhcnRzLCBmYUdyaW5IZWFydHMsIGZhRGljZUZvdXIsIGZhU2ltQ2FyZCwgZmFUcmFuc2dlbmRlciwgZmFUcmFuc2dlbmRlckFsdCwgZmFNZXJjdXJ5LCBmYUFycm93VHVybkRvd24sIGZhTGV2ZWxEb3duLCBmYVBlcnNvbkZhbGxpbmdCdXJzdCwgZmFBd2FyZCwgZmFUaWNrZXRTaW1wbGUsIGZhVGlja2V0QWx0LCBmYUJ1aWxkaW5nLCBmYUFuZ2xlc0xlZnQsIGZhQW5nbGVEb3VibGVMZWZ0LCBmYVFyY29kZSwgZmFDbG9ja1JvdGF0ZUxlZnQsIGZhSGlzdG9yeSwgZmFGYWNlR3JpbkJlYW1Td2VhdCwgZmFHcmluQmVhbVN3ZWF0LCBmYUZpbGVFeHBvcnQsIGZhQXJyb3dSaWdodEZyb21GaWxlLCBmYVNoaWVsZCwgZmFTaGllbGRCbGFuaywgZmFBcnJvd1VwU2hvcnRXaWRlLCBmYVNvcnRBbW91bnRVcEFsdCwgZmFIb3VzZU1lZGljYWwsIGZhR29sZkJhbGxUZWUsIGZhR29sZkJhbGwsIGZhQ2lyY2xlQ2hldnJvbkxlZnQsIGZhQ2hldnJvbkNpcmNsZUxlZnQsIGZhSG91c2VDaGltbmV5V2luZG93LCBmYVBlbk5pYiwgZmFUZW50QXJyb3dUdXJuTGVmdCwgZmFUZW50cywgZmFXYW5kTWFnaWMsIGZhTWFnaWMsIGZhRG9nLCBmYUNhcnJvdCwgZmFNb29uLCBmYVdpbmVHbGFzc0VtcHR5LCBmYVdpbmVHbGFzc0FsdCwgZmFDaGVlc2UsIGZhWWluWWFuZywgZmFNdXNpYywgZmFDb2RlQ29tbWl0LCBmYVRlbXBlcmF0dXJlTG93LCBmYVBlcnNvbkJpa2luZywgZmFCaWtpbmcsIGZhQnJvb20sIGZhU2hpZWxkSGVhcnQsIGZhR29wdXJhbSwgZmFFYXJ0aE9jZWFuaWEsIGZhR2xvYmVPY2VhbmlhLCBmYVNxdWFyZVhtYXJrLCBmYVRpbWVzU3F1YXJlLCBmYVhtYXJrU3F1YXJlLCBmYUhhc2h0YWcsIGZhVXBSaWdodEFuZERvd25MZWZ0RnJvbUNlbnRlciwgZmFFeHBhbmRBbHQsIGZhT2lsQ2FuLCBmYVQsIGZhSGlwcG8sIGZhQ2hhcnRDb2x1bW4sIGZhSW5maW5pdHksIGZhVmlhbENpcmNsZUNoZWNrLCBmYVBlcnNvbkFycm93RG93blRvTGluZSwgZmFWb2ljZW1haWwsIGZhRmFuLCBmYVBlcnNvbldhbGtpbmdMdWdnYWdlLCBmYVVwRG93biwgZmFBcnJvd3NBbHRWLCBmYUNsb3VkTW9vblJhaW4sIGZhQ2FsZW5kYXIsIGZhVHJhaWxlciwgZmFCYWhhaSwgZmFIYXlrYWwsIGZhU2RDYXJkLCBmYURyYWdvbiwgZmFTaG9lUHJpbnRzLCBmYUNpcmNsZVBsdXMsIGZhUGx1c0NpcmNsZSwgZmFGYWNlR3JpblRvbmd1ZVdpbmssIGZhR3JpblRvbmd1ZVdpbmssIGZhSGFuZEhvbGRpbmcsIGZhUGx1Z0NpcmNsZUV4Y2xhbWF0aW9uLCBmYUxpbmtTbGFzaCwgZmFDaGFpbkJyb2tlbiwgZmFDaGFpblNsYXNoLCBmYVVubGluaywgZmFDbG9uZSwgZmFQZXJzb25XYWxraW5nQXJyb3dMb29wTGVmdCwgZmFBcnJvd1VwWkEsIGZhU29ydEFscGhhVXBBbHQsIGZhRmlyZUZsYW1lQ3VydmVkLCBmYUZpcmVBbHQsIGZhVG9ybmFkbywgZmFGaWxlQ2lyY2xlUGx1cywgZmFCb29rUXVyYW4sIGZhUXVyYW4sIGZhQW5jaG9yLCBmYUJvcmRlckFsbCwgZmFGYWNlQW5ncnksIGZhQW5ncnksIGZhQ29va2llQml0ZSwgZmFBcnJvd1RyZW5kRG93biwgZmFSc3MsIGZhRmVlZCwgZmFEcmF3UG9seWdvbiwgZmFTY2FsZUJhbGFuY2VkLCBmYUJhbGFuY2VTY2FsZSwgZmFHYXVnZVNpbXBsZUhpZ2gsIGZhVGFjaG9tZXRlciwgZmFUYWNob21ldGVyRmFzdCwgZmFTaG93ZXIsIGZhRGVza3RvcCwgZmFEZXNrdG9wQWx0LCBmYU0sIGZhVGFibGVMaXN0LCBmYVRoTGlzdCwgZmFDb21tZW50U21zLCBmYVNtcywgZmFCb29rLCBmYVVzZXJQbHVzLCBmYUNoZWNrLCBmYUJhdHRlcnlUaHJlZVF1YXJ0ZXJzLCBmYUJhdHRlcnk0LCBmYUhvdXNlQ2lyY2xlQ2hlY2ssIGZhQW5nbGVMZWZ0LCBmYURpYWdyYW1TdWNjZXNzb3IsIGZhVHJ1Y2tBcnJvd1JpZ2h0LCBmYUFycm93c1NwbGl0VXBBbmRMZWZ0LCBmYUhhbmRGaXN0LCBmYUZpc3RSYWlzZWQsIGZhQ2xvdWRNb29uLCBmYUJyaWVmY2FzZSwgZmFQZXJzb25GYWxsaW5nLCBmYUltYWdlUG9ydHJhaXQsIGZhUG9ydHJhaXQsIGZhVXNlclRhZywgZmFSdWcsIGZhRWFydGhFdXJvcGUsIGZhR2xvYmVFdXJvcGUsIGZhQ2FydEZsYXRiZWRTdWl0Y2FzZSwgZmFMdWdnYWdlQ2FydCwgZmFSZWN0YW5nbGVYbWFyaywgZmFSZWN0YW5nbGVUaW1lcywgZmFUaW1lc1JlY3RhbmdsZSwgZmFXaW5kb3dDbG9zZSwgZmFCYWh0U2lnbiwgZmFCb29rT3BlbiwgZmFCb29rSm91cm5hbFdoaWxscywgZmFKb3VybmFsV2hpbGxzLCBmYUhhbmRjdWZmcywgZmFUcmlhbmdsZUV4Y2xhbWF0aW9uLCBmYUV4Y2xhbWF0aW9uVHJpYW5nbGUsIGZhV2FybmluZywgZmFEYXRhYmFzZSwgZmFTaGFyZSwgZmFNYWlsRm9yd2FyZCwgZmFCb3R0bGVEcm9wbGV0LCBmYU1hc2tGYWNlLCBmYUhpbGxSb2Nrc2xpZGUsIGZhUmlnaHRMZWZ0LCBmYUV4Y2hhbmdlQWx0LCBmYVBhcGVyUGxhbmUsIGZhUm9hZENpcmNsZUV4Y2xhbWF0aW9uLCBmYUR1bmdlb24sIGZhQWxpZ25SaWdodCwgZmFNb25leUJpbGwxV2F2ZSwgZmFNb25leUJpbGxXYXZlQWx0LCBmYUxpZmVSaW5nLCBmYUhhbmRzLCBmYVNpZ25MYW5ndWFnZSwgZmFTaWduaW5nLCBmYUNhbGVuZGFyRGF5LCBmYVdhdGVyTGFkZGVyLCBmYUxhZGRlcldhdGVyLCBmYVN3aW1taW5nUG9vbCwgZmFBcnJvd3NVcERvd24sIGZhQXJyb3dzViwgZmFGYWNlR3JpbWFjZSwgZmFHcmltYWNlLCBmYVdoZWVsY2hhaXJNb3ZlLCBmYVdoZWVsY2hhaXJBbHQsIGZhVHVybkRvd24sIGZhTGV2ZWxEb3duQWx0LCBmYVBlcnNvbldhbGtpbmdBcnJvd1JpZ2h0LCBmYVNxdWFyZUVudmVsb3BlLCBmYUVudmVsb3BlU3F1YXJlLCBmYURpY2UsIGZhQm93bGluZ0JhbGwsIGZhQnJhaW4sIGZhQmFuZGFnZSwgZmFCYW5kQWlkLCBmYUNhbGVuZGFyTWludXMsIGZhQ2lyY2xlWG1hcmssIGZhVGltZXNDaXJjbGUsIGZhWG1hcmtDaXJjbGUsIGZhR2lmdHMsIGZhSG90ZWwsIGZhRWFydGhBc2lhLCBmYUdsb2JlQXNpYSwgZmFJZENhcmRDbGlwLCBmYUlkQ2FyZEFsdCwgZmFNYWduaWZ5aW5nR2xhc3NQbHVzLCBmYVNlYXJjaFBsdXMsIGZhVGh1bWJzVXAsIGZhVXNlckNsb2NrLCBmYUhhbmREb3RzLCBmYUFsbGVyZ2llcywgZmFGaWxlSW52b2ljZSwgZmFXaW5kb3dNaW5pbWl6ZSwgZmFNdWdTYXVjZXIsIGZhQ29mZmVlLCBmYUJydXNoLCBmYU1hc2ssIGZhTWFnbmlmeWluZ0dsYXNzTWludXMsIGZhU2VhcmNoTWludXMsIGZhUnVsZXJWZXJ0aWNhbCwgZmFVc2VyTGFyZ2UsIGZhVXNlckFsdCwgZmFUcmFpblRyYW0sIGZhVXNlck51cnNlLCBmYVN5cmluZ2UsIGZhQ2xvdWRTdW4sIGZhU3RvcHdhdGNoMjAsIGZhU3F1YXJlRnVsbCwgZmFNYWduZXQsIGZhSmFyLCBmYU5vdGVTdGlja3ksIGZhU3RpY2t5Tm90ZSwgZmFCdWdTbGFzaCwgZmFBcnJvd1VwRnJvbVdhdGVyUHVtcCwgZmFCb25lLCBmYVVzZXJJbmp1cmVkLCBmYUZhY2VTYWRUZWFyLCBmYVNhZFRlYXIsIGZhUGxhbmUsIGZhVGVudEFycm93c0Rvd24sIGZhRXhjbGFtYXRpb24sIGZhQXJyb3dzU3BpbiwgZmFQcmludCwgZmFUdXJraXNoTGlyYVNpZ24sIGZhVHJ5LCBmYVR1cmtpc2hMaXJhLCBmYURvbGxhclNpZ24sIGZhRG9sbGFyLCBmYVVzZCwgZmFYLCBmYU1hZ25pZnlpbmdHbGFzc0RvbGxhciwgZmFTZWFyY2hEb2xsYXIsIGZhVXNlcnNHZWFyLCBmYVVzZXJzQ29nLCBmYVBlcnNvbk1pbGl0YXJ5UG9pbnRpbmcsIGZhQnVpbGRpbmdDb2x1bW5zLCBmYUJhbmssIGZhSW5zdGl0dXRpb24sIGZhTXVzZXVtLCBmYVVuaXZlcnNpdHksIGZhVW1icmVsbGEsIGZhVHJvd2VsLCBmYUQsIGZhU3RhcGxlciwgZmFNYXNrc1RoZWF0ZXIsIGZhVGhlYXRlck1hc2tzLCBmYUtpcFNpZ24sIGZhSGFuZFBvaW50TGVmdCwgZmFIYW5kc2hha2VTaW1wbGUsIGZhSGFuZHNoYWtlQWx0LCBmYUpldEZpZ2h0ZXIsIGZhRmlnaHRlckpldCwgZmFTcXVhcmVTaGFyZU5vZGVzLCBmYVNoYXJlQWx0U3F1YXJlLCBmYUJhcmNvZGUsIGZhUGx1c01pbnVzLCBmYVZpZGVvLCBmYVZpZGVvQ2FtZXJhLCBmYUdyYWR1YXRpb25DYXAsIGZhTW9ydGFyQm9hcmQsIGZhSGFuZEhvbGRpbmdNZWRpY2FsLCBmYVBlcnNvbkNpcmNsZUNoZWNrLCBmYVR1cm5VcCwgZmFMZXZlbFVwQWx0IH07XG4iLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuIiwiLy8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbl9fd2VicGFja19yZXF1aXJlX18ubiA9IChtb2R1bGUpID0+IHtcblx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG5cdFx0KCkgPT4gKG1vZHVsZVsnZGVmYXVsdCddKSA6XG5cdFx0KCkgPT4gKG1vZHVsZSk7XG5cdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsIHsgYTogZ2V0dGVyIH0pO1xuXHRyZXR1cm4gZ2V0dGVyO1xufTsiLCIvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9ucyBmb3IgaGFybW9ueSBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSAoZXhwb3J0cywgZGVmaW5pdGlvbikgPT4ge1xuXHRmb3IodmFyIGtleSBpbiBkZWZpbml0aW9uKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKGRlZmluaXRpb24sIGtleSkgJiYgIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBrZXkpKSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZGVmaW5pdGlvbltrZXldIH0pO1xuXHRcdH1cblx0fVxufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLmcgPSAoZnVuY3Rpb24oKSB7XG5cdGlmICh0eXBlb2YgZ2xvYmFsVGhpcyA9PT0gJ29iamVjdCcpIHJldHVybiBnbG9iYWxUaGlzO1xuXHR0cnkge1xuXHRcdHJldHVybiB0aGlzIHx8IG5ldyBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0aWYgKHR5cGVvZiB3aW5kb3cgPT09ICdvYmplY3QnKSByZXR1cm4gd2luZG93O1xuXHR9XG59KSgpOyIsIl9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSkiLCIvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSAoZXhwb3J0cykgPT4ge1xuXHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcblx0fVxuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xufTsiLCIiLCIvLyBzdGFydHVwXG4vLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbi8vIFRoaXMgZW50cnkgbW9kdWxlIGlzIHJlZmVyZW5jZWQgYnkgb3RoZXIgbW9kdWxlcyBzbyBpdCBjYW4ndCBiZSBpbmxpbmVkXG52YXIgX193ZWJwYWNrX2V4cG9ydHNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oXCIuL2NsaWVudC9zcmMvanMvaW5kZXguanNcIik7XG4iLCIiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0= \ No newline at end of file diff --git a/client/public/webssh2.css b/client/public/webssh2.css index 76394ec..bfbdcac 100644 --- a/client/public/webssh2.css +++ b/client/public/webssh2.css @@ -1,4 +1,4 @@ -/*! Version 0.2.25 - 2024-08-23T00:49:53.068Z - 9e6d282 */ +/*! Version 0.2.25 - 2024-11-30T02:52:43.517Z - adeadfa */ /*!***************************************************************************************!*\ !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/purecss/build/pure.css ***! \***************************************************************************************/ diff --git a/client/src/js/dom.js b/client/src/js/dom.js index 24af368..c5ef3d5 100644 --- a/client/src/js/dom.js +++ b/client/src/js/dom.js @@ -187,6 +187,7 @@ export function initializeElements() { /** * Sets up event listeners for various elements in the application. + * @param {Object} config - The configuration object containing application settings */ export function setupEventListeners(config) { debug('setupEventListeners') @@ -221,7 +222,10 @@ export function setupEventListeners(config) { // Global event listeners window.addEventListener('resize', resize) document.addEventListener('keydown', keydown) - + // Add beforeunload event listener to prevent accidental tab closure + window.addEventListener('beforeunload', (event) => { + event.preventDefault() + }) passwordInput.addEventListener('keyup', detectCapsLock) passwordInput.addEventListener('keydown', detectCapsLock) }