@madie/madie-design-system 1.2.81 → 1.2.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/browser.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var QPPStyle;(()=>{var __webpack_modules__={24:function(module,exports,__webpack_require__){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(694), __webpack_require__(258), __webpack_require__(88)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _error, _footer, _whatInput) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports["default"] = void 0;\n _error = _interopRequireDefault(_error);\n _footer = _interopRequireDefault(_footer);\n function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }\n var QppStyleComponents = {\n errorPage: function errorPage(options) {\n return new _error["default"](options);\n },\n footer: function footer(options) {\n return new _footer["default"](options);\n }\n };\n var _default = _exports["default"] = QppStyleComponents;\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFLQSxJQUFNQSxrQkFBa0IsR0FBRztJQUN2QkMsU0FBUyxXQUFUQSxTQUFTQSxDQUFDQyxPQUFPLEVBQUU7TUFDZixPQUFPLElBQUlDLGlCQUFTLENBQUNELE9BQU8sQ0FBQztJQUNqQyxDQUFDO0lBRURFLE1BQU0sV0FBTkEsTUFBTUEsQ0FBQ0YsT0FBTyxFQUFFO01BQ1osT0FBTyxJQUFJRyxrQkFBTSxDQUFDSCxPQUFPLENBQUM7SUFDOUI7RUFDSixDQUFDO0VBQUMsSUFBQUksUUFBQSxHQUFBQyxRQUFBLGNBRWFQLGtCQUFrQjtBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9pbmRleC5qcz80MWY1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFcnJvclBhZ2UgZnJvbSBcIi4vY29tcG9uZW50cy9FcnJvci9lcnJvclwiO1xuaW1wb3J0IEZvb3RlciBmcm9tIFwiLi9jb21wb25lbnRzL0Zvb3Rlci9mb290ZXJcIjtcblxuaW1wb3J0IFwid2hhdC1pbnB1dFwiO1xuXG5jb25zdCBRcHBTdHlsZUNvbXBvbmVudHMgPSB7XG4gICAgZXJyb3JQYWdlKG9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBFcnJvclBhZ2Uob3B0aW9ucyk7XG4gICAgfSxcblxuICAgIGZvb3RlcihvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBuZXcgRm9vdGVyKG9wdGlvbnMpO1xuICAgIH0sXG59O1xuXG5leHBvcnQgZGVmYXVsdCBRcHBTdHlsZUNvbXBvbmVudHM7XG4iXSwibmFtZXMiOlsiUXBwU3R5bGVDb21wb25lbnRzIiwiZXJyb3JQYWdlIiwib3B0aW9ucyIsIkVycm9yUGFnZSIsImZvb3RlciIsIkZvb3RlciIsIl9kZWZhdWx0IiwiX2V4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///24\n')},88:function(module){eval("/**\n * what-input - A global utility for tracking the current input method (mouse, keyboard or touch).\n * @version v5.2.12\n * @link https://github.com/ten1seven/what-input\n * @license MIT\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse {}\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __nested_webpack_require_738__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_738__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__nested_webpack_require_738__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__nested_webpack_require_738__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__nested_webpack_require_738__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __nested_webpack_require_738__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\tmodule.exports = function () {\n\t /*\n\t * bail out if there is no document or window\n\t * (i.e. in a node/non-DOM environment)\n\t *\n\t * Return a stubbed API instead\n\t */\n\t if (typeof document === 'undefined' || typeof window === 'undefined') {\n\t return {\n\t // always return \"initial\" because no interaction will ever be detected\n\t ask: function ask() {\n\t return 'initial';\n\t },\n\n\t // always return null\n\t element: function element() {\n\t return null;\n\t },\n\n\t // no-op\n\t ignoreKeys: function ignoreKeys() {},\n\n\t // no-op\n\t specificKeys: function specificKeys() {},\n\n\t // no-op\n\t registerOnChange: function registerOnChange() {},\n\n\t // no-op\n\t unRegisterOnChange: function unRegisterOnChange() {}\n\t };\n\t }\n\n\t /*\n\t * variables\n\t */\n\n\t // cache document.documentElement\n\t var docElem = document.documentElement;\n\n\t // currently focused dom element\n\t var currentElement = null;\n\n\t // last used input type\n\t var currentInput = 'initial';\n\n\t // last used input intent\n\t var currentIntent = currentInput;\n\n\t // UNIX timestamp of current event\n\t var currentTimestamp = Date.now();\n\n\t // check for a `data-whatpersist` attribute on either the `html` or `body` elements, defaults to `true`\n\t var shouldPersist = false;\n\n\t // form input types\n\t var formInputs = ['button', 'input', 'select', 'textarea'];\n\n\t // empty array for holding callback functions\n\t var functionList = [];\n\n\t // list of modifier keys commonly used with the mouse and\n\t // can be safely ignored to prevent false keyboard detection\n\t var ignoreMap = [16, // shift\n\t 17, // control\n\t 18, // alt\n\t 91, // Windows key / left Apple cmd\n\t 93 // Windows menu / right Apple cmd\n\t ];\n\n\t var specificMap = [];\n\n\t // mapping of events to input types\n\t var inputMap = {\n\t keydown: 'keyboard',\n\t keyup: 'keyboard',\n\t mousedown: 'mouse',\n\t mousemove: 'mouse',\n\t MSPointerDown: 'pointer',\n\t MSPointerMove: 'pointer',\n\t pointerdown: 'pointer',\n\t pointermove: 'pointer',\n\t touchstart: 'touch',\n\t touchend: 'touch'\n\n\t // boolean: true if the page is being scrolled\n\t };var isScrolling = false;\n\n\t // store current mouse position\n\t var mousePos = {\n\t x: null,\n\t y: null\n\n\t // map of IE 10 pointer events\n\t };var pointerMap = {\n\t 2: 'touch',\n\t 3: 'touch', // treat pen like touch\n\t 4: 'mouse'\n\n\t // check support for passive event listeners\n\t };var supportsPassive = false;\n\n\t try {\n\t var opts = Object.defineProperty({}, 'passive', {\n\t get: function get() {\n\t supportsPassive = true;\n\t }\n\t });\n\n\t window.addEventListener('test', null, opts);\n\t } catch (e) {}\n\t // fail silently\n\n\n\t /*\n\t * set up\n\t */\n\n\t var setUp = function setUp() {\n\t // add correct mouse wheel event mapping to `inputMap`\n\t inputMap[detectWheel()] = 'mouse';\n\n\t addListeners();\n\t };\n\n\t /*\n\t * events\n\t */\n\n\t var addListeners = function addListeners() {\n\t // `pointermove`, `MSPointerMove`, `mousemove` and mouse wheel event binding\n\t // can only demonstrate potential, but not actual, interaction\n\t // and are treated separately\n\t var options = supportsPassive ? { passive: true, capture: true } : true;\n\n\t document.addEventListener('DOMContentLoaded', setPersist, true);\n\n\t // pointer events (mouse, pen, touch)\n\t if (window.PointerEvent) {\n\t window.addEventListener('pointerdown', setInput, true);\n\t window.addEventListener('pointermove', setIntent, true);\n\t } else if (window.MSPointerEvent) {\n\t window.addEventListener('MSPointerDown', setInput, true);\n\t window.addEventListener('MSPointerMove', setIntent, true);\n\t } else {\n\t // mouse events\n\t window.addEventListener('mousedown', setInput, true);\n\t window.addEventListener('mousemove', setIntent, true);\n\n\t // touch events\n\t if ('ontouchstart' in window) {\n\t window.addEventListener('touchstart', setInput, options);\n\t window.addEventListener('touchend', setInput, true);\n\t }\n\t }\n\n\t // mouse wheel\n\t window.addEventListener(detectWheel(), setIntent, options);\n\n\t // keyboard events\n\t window.addEventListener('keydown', setInput, true);\n\t window.addEventListener('keyup', setInput, true);\n\n\t // focus events\n\t window.addEventListener('focusin', setElement, true);\n\t window.addEventListener('focusout', clearElement, true);\n\t };\n\n\t // checks if input persistence should happen and\n\t // get saved state from session storage if true (defaults to `false`)\n\t var setPersist = function setPersist() {\n\t shouldPersist = !(docElem.getAttribute('data-whatpersist') === 'false' || document.body.getAttribute('data-whatpersist') === 'false');\n\n\t if (shouldPersist) {\n\t // check for session variables and use if available\n\t try {\n\t if (window.sessionStorage.getItem('what-input')) {\n\t currentInput = window.sessionStorage.getItem('what-input');\n\t }\n\n\t if (window.sessionStorage.getItem('what-intent')) {\n\t currentIntent = window.sessionStorage.getItem('what-intent');\n\t }\n\t } catch (e) {\n\t // fail silently\n\t }\n\t }\n\n\t // always run these so at least `initial` state is set\n\t doUpdate('input');\n\t doUpdate('intent');\n\t };\n\n\t // checks conditions before updating new input\n\t var setInput = function setInput(event) {\n\t var eventKey = event.which;\n\t var value = inputMap[event.type];\n\n\t if (value === 'pointer') {\n\t value = pointerType(event);\n\t }\n\n\t var ignoreMatch = !specificMap.length && ignoreMap.indexOf(eventKey) === -1;\n\n\t var specificMatch = specificMap.length && specificMap.indexOf(eventKey) !== -1;\n\n\t var shouldUpdate = value === 'keyboard' && eventKey && (ignoreMatch || specificMatch) || value === 'mouse' || value === 'touch';\n\n\t // prevent touch detection from being overridden by event execution order\n\t if (validateTouch(value)) {\n\t shouldUpdate = false;\n\t }\n\n\t if (shouldUpdate && currentInput !== value) {\n\t currentInput = value;\n\n\t persistInput('input', currentInput);\n\t doUpdate('input');\n\t }\n\n\t if (shouldUpdate && currentIntent !== value) {\n\t // preserve intent for keyboard interaction with form fields\n\t var activeElem = document.activeElement;\n\t var notFormInput = activeElem && activeElem.nodeName && (formInputs.indexOf(activeElem.nodeName.toLowerCase()) === -1 || activeElem.nodeName.toLowerCase() === 'button' && !checkClosest(activeElem, 'form'));\n\n\t if (notFormInput) {\n\t currentIntent = value;\n\n\t persistInput('intent', currentIntent);\n\t doUpdate('intent');\n\t }\n\t }\n\t };\n\n\t // updates the doc and `inputTypes` array with new input\n\t var doUpdate = function doUpdate(which) {\n\t docElem.setAttribute('data-what' + which, which === 'input' ? currentInput : currentIntent);\n\n\t fireFunctions(which);\n\t };\n\n\t // updates input intent for `mousemove` and `pointermove`\n\t var setIntent = function setIntent(event) {\n\t var value = inputMap[event.type];\n\n\t if (value === 'pointer') {\n\t value = pointerType(event);\n\t }\n\n\t // test to see if `mousemove` happened relative to the screen to detect scrolling versus mousemove\n\t detectScrolling(event);\n\n\t // only execute if scrolling isn't happening\n\t if ((!isScrolling && !validateTouch(value) || isScrolling && event.type === 'wheel' || event.type === 'mousewheel' || event.type === 'DOMMouseScroll') && currentIntent !== value) {\n\t currentIntent = value;\n\n\t persistInput('intent', currentIntent);\n\t doUpdate('intent');\n\t }\n\t };\n\n\t var setElement = function setElement(event) {\n\t if (!event.target.nodeName) {\n\t // If nodeName is undefined, clear the element\n\t // This can happen if click inside an <svg> element.\n\t clearElement();\n\t return;\n\t }\n\n\t currentElement = event.target.nodeName.toLowerCase();\n\t docElem.setAttribute('data-whatelement', currentElement);\n\n\t if (event.target.classList && event.target.classList.length) {\n\t docElem.setAttribute('data-whatclasses', event.target.classList.toString().replace(' ', ','));\n\t }\n\t };\n\n\t var clearElement = function clearElement() {\n\t currentElement = null;\n\n\t docElem.removeAttribute('data-whatelement');\n\t docElem.removeAttribute('data-whatclasses');\n\t };\n\n\t var persistInput = function persistInput(which, value) {\n\t if (shouldPersist) {\n\t try {\n\t window.sessionStorage.setItem('what-' + which, value);\n\t } catch (e) {\n\t // fail silently\n\t }\n\t }\n\t };\n\n\t /*\n\t * utilities\n\t */\n\n\t var pointerType = function pointerType(event) {\n\t if (typeof event.pointerType === 'number') {\n\t return pointerMap[event.pointerType];\n\t } else {\n\t // treat pen like touch\n\t return event.pointerType === 'pen' ? 'touch' : event.pointerType;\n\t }\n\t };\n\n\t // prevent touch detection from being overridden by event execution order\n\t var validateTouch = function validateTouch(value) {\n\t var timestamp = Date.now();\n\n\t var touchIsValid = value === 'mouse' && currentInput === 'touch' && timestamp - currentTimestamp < 200;\n\n\t currentTimestamp = timestamp;\n\n\t return touchIsValid;\n\t };\n\n\t // detect version of mouse wheel event to use\n\t // via https://developer.mozilla.org/en-US/docs/Web/API/Element/wheel_event\n\t var detectWheel = function detectWheel() {\n\t var wheelType = null;\n\n\t // Modern browsers support \"wheel\"\n\t if ('onwheel' in document.createElement('div')) {\n\t wheelType = 'wheel';\n\t } else {\n\t // Webkit and IE support at least \"mousewheel\"\n\t // or assume that remaining browsers are older Firefox\n\t wheelType = document.onmousewheel !== undefined ? 'mousewheel' : 'DOMMouseScroll';\n\t }\n\n\t return wheelType;\n\t };\n\n\t // runs callback functions\n\t var fireFunctions = function fireFunctions(type) {\n\t for (var i = 0, len = functionList.length; i < len; i++) {\n\t if (functionList[i].type === type) {\n\t functionList[i].fn.call(undefined, type === 'input' ? currentInput : currentIntent);\n\t }\n\t }\n\t };\n\n\t // finds matching element in an object\n\t var objPos = function objPos(match) {\n\t for (var i = 0, len = functionList.length; i < len; i++) {\n\t if (functionList[i].fn === match) {\n\t return i;\n\t }\n\t }\n\t };\n\n\t var detectScrolling = function detectScrolling(event) {\n\t if (mousePos.x !== event.screenX || mousePos.y !== event.screenY) {\n\t isScrolling = false;\n\n\t mousePos.x = event.screenX;\n\t mousePos.y = event.screenY;\n\t } else {\n\t isScrolling = true;\n\t }\n\t };\n\n\t // manual version of `closest()`\n\t var checkClosest = function checkClosest(elem, tag) {\n\t var ElementPrototype = window.Element.prototype;\n\n\t if (!ElementPrototype.matches) {\n\t ElementPrototype.matches = ElementPrototype.msMatchesSelector || ElementPrototype.webkitMatchesSelector;\n\t }\n\n\t if (!ElementPrototype.closest) {\n\t do {\n\t if (elem.matches(tag)) {\n\t return elem;\n\t }\n\n\t elem = elem.parentElement || elem.parentNode;\n\t } while (elem !== null && elem.nodeType === 1);\n\n\t return null;\n\t } else {\n\t return elem.closest(tag);\n\t }\n\t };\n\n\t /*\n\t * init\n\t */\n\n\t // don't start script unless browser cuts the mustard\n\t // (also passes if polyfills are used)\n\t if ('addEventListener' in window && Array.prototype.indexOf) {\n\t setUp();\n\t }\n\n\t /*\n\t * api\n\t */\n\n\t return {\n\t // returns string: the current input type\n\t // opt: 'intent'|'input'\n\t // 'input' (default): returns the same value as the `data-whatinput` attribute\n\t // 'intent': includes `data-whatintent` value if it's different than `data-whatinput`\n\t ask: function ask(opt) {\n\t return opt === 'intent' ? currentIntent : currentInput;\n\t },\n\n\t // returns string: the currently focused element or null\n\t element: function element() {\n\t return currentElement;\n\t },\n\n\t // overwrites ignored keys with provided array\n\t ignoreKeys: function ignoreKeys(arr) {\n\t ignoreMap = arr;\n\t },\n\n\t // overwrites specific char keys to update on\n\t specificKeys: function specificKeys(arr) {\n\t specificMap = arr;\n\t },\n\n\t // attach functions to input and intent \"events\"\n\t // funct: function to fire on change\n\t // eventType: 'input'|'intent'\n\t registerOnChange: function registerOnChange(fn, eventType) {\n\t functionList.push({\n\t fn: fn,\n\t type: eventType || 'input'\n\t });\n\t },\n\n\t unRegisterOnChange: function unRegisterOnChange(fn) {\n\t var position = objPos(fn);\n\n\t if (position || position === 0) {\n\t functionList.splice(position, 1);\n\t }\n\t },\n\n\t clearStorage: function clearStorage() {\n\t window.sessionStorage.clear();\n\t }\n\t };\n\t}();\n\n/***/ })\n/******/ ])\n});\n;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiODguanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQXlEO0FBQzdEO0FBQ0EsTUFBTSxFQUswQjtBQUNoQyxDQUFDO0FBQ0QscUNBQXFDO0FBQ3JDO0FBQ0E7O0FBRUE7QUFDQSxtQkFBbUIsOEJBQW1COztBQUV0QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwwRUFBMEUsOEJBQW1COztBQUU3RjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQSxVQUFVLDhCQUFtQjs7QUFFN0I7QUFDQSxVQUFVLDhCQUFtQjs7QUFFN0I7QUFDQSxVQUFVLDhCQUFtQjs7QUFFN0I7QUFDQSxpQkFBaUIsOEJBQW1CO0FBQ3BDLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFROztBQUVSO0FBQ0E7QUFDQTtBQUNBLFFBQVE7O0FBRVI7QUFDQSwyQ0FBMkM7O0FBRTNDO0FBQ0EsK0NBQStDOztBQUUvQztBQUNBLHVEQUF1RDs7QUFFdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBLHdDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQSxNQUFNOztBQUVOO0FBQ0EsS0FBSztBQUNMOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLCtCQUErQjs7QUFFdEU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxTQUFTO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxTQUFTO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07O0FBRU47QUFDQTtBQUNBO0FBQ0EsTUFBTTs7QUFFTjtBQUNBO0FBQ0E7QUFDQSxNQUFNOztBQUVOO0FBQ0E7QUFDQTtBQUNBLE1BQU07O0FBRU47QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1IsTUFBTTs7QUFFTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07O0FBRU47QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGLE9BQU87QUFDUDtBQUNBLENBQUM7QUFDRCIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL3doYXQtaW5wdXQvZGlzdC93aGF0LWlucHV0LmpzPzhlM2IiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiB3aGF0LWlucHV0IC0gQSBnbG9iYWwgdXRpbGl0eSBmb3IgdHJhY2tpbmcgdGhlIGN1cnJlbnQgaW5wdXQgbWV0aG9kIChtb3VzZSwga2V5Ym9hcmQgb3IgdG91Y2gpLlxuICogQHZlcnNpb24gdjUuMi4xMlxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3RlbjFzZXZlbi93aGF0LWlucHV0XG4gKiBAbGljZW5zZSBNSVRcbiAqL1xuKGZ1bmN0aW9uIHdlYnBhY2tVbml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uKHJvb3QsIGZhY3RvcnkpIHtcblx0aWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKVxuXHRcdG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpO1xuXHRlbHNlIGlmKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZClcblx0XHRkZWZpbmUoXCJ3aGF0SW5wdXRcIiwgW10sIGZhY3RvcnkpO1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wid2hhdElucHV0XCJdID0gZmFjdG9yeSgpO1xuXHRlbHNlXG5cdFx0cm9vdFtcIndoYXRJbnB1dFwiXSA9IGZhY3RvcnkoKTtcbn0pKHRoaXMsIGZ1bmN0aW9uKCkge1xucmV0dXJuIC8qKioqKiovIChmdW5jdGlvbihtb2R1bGVzKSB7IC8vIHdlYnBhY2tCb290c3RyYXBcbi8qKioqKiovIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuLyoqKioqKi8gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4vKioqKioqLyBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4vKioqKioqLyBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuLyoqKioqKi8gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuLyoqKioqKi8gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKVxuLyoqKioqKi8gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG5cbi8qKioqKiovIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuLyoqKioqKi8gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbi8qKioqKiovIFx0XHRcdGV4cG9ydHM6IHt9LFxuLyoqKioqKi8gXHRcdFx0aWQ6IG1vZHVsZUlkLFxuLyoqKioqKi8gXHRcdFx0bG9hZGVkOiBmYWxzZVxuLyoqKioqKi8gXHRcdH07XG5cbi8qKioqKiovIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbi8qKioqKiovIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuLyoqKioqKi8gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbi8qKioqKiovIFx0XHRtb2R1bGUubG9hZGVkID0gdHJ1ZTtcblxuLyoqKioqKi8gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4vKioqKioqLyBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuLyoqKioqKi8gXHR9XG5cblxuLyoqKioqKi8gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4vKioqKioqLyBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbi8qKioqKiovIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuLyoqKioqKi8gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbi8qKioqKiovIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKioqKioqLyB9KVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKiovIChbXG4vKiAwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cblx0J3VzZSBzdHJpY3QnO1xuXG5cdG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKCkge1xuXHQgIC8qXG5cdCAgICogYmFpbCBvdXQgaWYgdGhlcmUgaXMgbm8gZG9jdW1lbnQgb3Igd2luZG93XG5cdCAgICogKGkuZS4gaW4gYSBub2RlL25vbi1ET00gZW52aXJvbm1lbnQpXG5cdCAgICpcblx0ICAgKiBSZXR1cm4gYSBzdHViYmVkIEFQSSBpbnN0ZWFkXG5cdCAgICovXG5cdCAgaWYgKHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcblx0ICAgIHJldHVybiB7XG5cdCAgICAgIC8vIGFsd2F5cyByZXR1cm4gXCJpbml0aWFsXCIgYmVjYXVzZSBubyBpbnRlcmFjdGlvbiB3aWxsIGV2ZXIgYmUgZGV0ZWN0ZWRcblx0ICAgICAgYXNrOiBmdW5jdGlvbiBhc2soKSB7XG5cdCAgICAgICAgcmV0dXJuICdpbml0aWFsJztcblx0ICAgICAgfSxcblxuXHQgICAgICAvLyBhbHdheXMgcmV0dXJuIG51bGxcblx0ICAgICAgZWxlbWVudDogZnVuY3Rpb24gZWxlbWVudCgpIHtcblx0ICAgICAgICByZXR1cm4gbnVsbDtcblx0ICAgICAgfSxcblxuXHQgICAgICAvLyBuby1vcFxuXHQgICAgICBpZ25vcmVLZXlzOiBmdW5jdGlvbiBpZ25vcmVLZXlzKCkge30sXG5cblx0ICAgICAgLy8gbm8tb3Bcblx0ICAgICAgc3BlY2lmaWNLZXlzOiBmdW5jdGlvbiBzcGVjaWZpY0tleXMoKSB7fSxcblxuXHQgICAgICAvLyBuby1vcFxuXHQgICAgICByZWdpc3Rlck9uQ2hhbmdlOiBmdW5jdGlvbiByZWdpc3Rlck9uQ2hhbmdlKCkge30sXG5cblx0ICAgICAgLy8gbm8tb3Bcblx0ICAgICAgdW5SZWdpc3Rlck9uQ2hhbmdlOiBmdW5jdGlvbiB1blJlZ2lzdGVyT25DaGFuZ2UoKSB7fVxuXHQgICAgfTtcblx0ICB9XG5cblx0ICAvKlxuXHQgICAqIHZhcmlhYmxlc1xuXHQgICAqL1xuXG5cdCAgLy8gY2FjaGUgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XG5cdCAgdmFyIGRvY0VsZW0gPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG5cblx0ICAvLyBjdXJyZW50bHkgZm9jdXNlZCBkb20gZWxlbWVudFxuXHQgIHZhciBjdXJyZW50RWxlbWVudCA9IG51bGw7XG5cblx0ICAvLyBsYXN0IHVzZWQgaW5wdXQgdHlwZVxuXHQgIHZhciBjdXJyZW50SW5wdXQgPSAnaW5pdGlhbCc7XG5cblx0ICAvLyBsYXN0IHVzZWQgaW5wdXQgaW50ZW50XG5cdCAgdmFyIGN1cnJlbnRJbnRlbnQgPSBjdXJyZW50SW5wdXQ7XG5cblx0ICAvLyBVTklYIHRpbWVzdGFtcCBvZiBjdXJyZW50IGV2ZW50XG5cdCAgdmFyIGN1cnJlbnRUaW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuXG5cdCAgLy8gY2hlY2sgZm9yIGEgYGRhdGEtd2hhdHBlcnNpc3RgIGF0dHJpYnV0ZSBvbiBlaXRoZXIgdGhlIGBodG1sYCBvciBgYm9keWAgZWxlbWVudHMsIGRlZmF1bHRzIHRvIGB0cnVlYFxuXHQgIHZhciBzaG91bGRQZXJzaXN0ID0gZmFsc2U7XG5cblx0ICAvLyBmb3JtIGlucHV0IHR5cGVzXG5cdCAgdmFyIGZvcm1JbnB1dHMgPSBbJ2J1dHRvbicsICdpbnB1dCcsICdzZWxlY3QnLCAndGV4dGFyZWEnXTtcblxuXHQgIC8vIGVtcHR5IGFycmF5IGZvciBob2xkaW5nIGNhbGxiYWNrIGZ1bmN0aW9uc1xuXHQgIHZhciBmdW5jdGlvbkxpc3QgPSBbXTtcblxuXHQgIC8vIGxpc3Qgb2YgbW9kaWZpZXIga2V5cyBjb21tb25seSB1c2VkIHdpdGggdGhlIG1vdXNlIGFuZFxuXHQgIC8vIGNhbiBiZSBzYWZlbHkgaWdub3JlZCB0byBwcmV2ZW50IGZhbHNlIGtleWJvYXJkIGRldGVjdGlvblxuXHQgIHZhciBpZ25vcmVNYXAgPSBbMTYsIC8vIHNoaWZ0XG5cdCAgMTcsIC8vIGNvbnRyb2xcblx0ICAxOCwgLy8gYWx0XG5cdCAgOTEsIC8vIFdpbmRvd3Mga2V5IC8gbGVmdCBBcHBsZSBjbWRcblx0ICA5MyAvLyBXaW5kb3dzIG1lbnUgLyByaWdodCBBcHBsZSBjbWRcblx0ICBdO1xuXG5cdCAgdmFyIHNwZWNpZmljTWFwID0gW107XG5cblx0ICAvLyBtYXBwaW5nIG9mIGV2ZW50cyB0byBpbnB1dCB0eXBlc1xuXHQgIHZhciBpbnB1dE1hcCA9IHtcblx0ICAgIGtleWRvd246ICdrZXlib2FyZCcsXG5cdCAgICBrZXl1cDogJ2tleWJvYXJkJyxcblx0ICAgIG1vdXNlZG93bjogJ21vdXNlJyxcblx0ICAgIG1vdXNlbW92ZTogJ21vdXNlJyxcblx0ICAgIE1TUG9pbnRlckRvd246ICdwb2ludGVyJyxcblx0ICAgIE1TUG9pbnRlck1vdmU6ICdwb2ludGVyJyxcblx0ICAgIHBvaW50ZXJkb3duOiAncG9pbnRlcicsXG5cdCAgICBwb2ludGVybW92ZTogJ3BvaW50ZXInLFxuXHQgICAgdG91Y2hzdGFydDogJ3RvdWNoJyxcblx0ICAgIHRvdWNoZW5kOiAndG91Y2gnXG5cblx0ICAgIC8vIGJvb2xlYW46IHRydWUgaWYgdGhlIHBhZ2UgaXMgYmVpbmcgc2Nyb2xsZWRcblx0ICB9O3ZhciBpc1Njcm9sbGluZyA9IGZhbHNlO1xuXG5cdCAgLy8gc3RvcmUgY3VycmVudCBtb3VzZSBwb3NpdGlvblxuXHQgIHZhciBtb3VzZVBvcyA9IHtcblx0ICAgIHg6IG51bGwsXG5cdCAgICB5OiBudWxsXG5cblx0ICAgIC8vIG1hcCBvZiBJRSAxMCBwb2ludGVyIGV2ZW50c1xuXHQgIH07dmFyIHBvaW50ZXJNYXAgPSB7XG5cdCAgICAyOiAndG91Y2gnLFxuXHQgICAgMzogJ3RvdWNoJywgLy8gdHJlYXQgcGVuIGxpa2UgdG91Y2hcblx0ICAgIDQ6ICdtb3VzZSdcblxuXHQgICAgLy8gY2hlY2sgc3VwcG9ydCBmb3IgcGFzc2l2ZSBldmVudCBsaXN0ZW5lcnNcblx0ICB9O3ZhciBzdXBwb3J0c1Bhc3NpdmUgPSBmYWxzZTtcblxuXHQgIHRyeSB7XG5cdCAgICB2YXIgb3B0cyA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgJ3Bhc3NpdmUnLCB7XG5cdCAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuXHQgICAgICAgIHN1cHBvcnRzUGFzc2l2ZSA9IHRydWU7XG5cdCAgICAgIH1cblx0ICAgIH0pO1xuXG5cdCAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigndGVzdCcsIG51bGwsIG9wdHMpO1xuXHQgIH0gY2F0Y2ggKGUpIHt9XG5cdCAgLy8gZmFpbCBzaWxlbnRseVxuXG5cblx0ICAvKlxuXHQgICAqIHNldCB1cFxuXHQgICAqL1xuXG5cdCAgdmFyIHNldFVwID0gZnVuY3Rpb24gc2V0VXAoKSB7XG5cdCAgICAvLyBhZGQgY29ycmVjdCBtb3VzZSB3aGVlbCBldmVudCBtYXBwaW5nIHRvIGBpbnB1dE1hcGBcblx0ICAgIGlucHV0TWFwW2RldGVjdFdoZWVsKCldID0gJ21vdXNlJztcblxuXHQgICAgYWRkTGlzdGVuZXJzKCk7XG5cdCAgfTtcblxuXHQgIC8qXG5cdCAgICogZXZlbnRzXG5cdCAgICovXG5cblx0ICB2YXIgYWRkTGlzdGVuZXJzID0gZnVuY3Rpb24gYWRkTGlzdGVuZXJzKCkge1xuXHQgICAgLy8gYHBvaW50ZXJtb3ZlYCwgYE1TUG9pbnRlck1vdmVgLCBgbW91c2Vtb3ZlYCBhbmQgbW91c2Ugd2hlZWwgZXZlbnQgYmluZGluZ1xuXHQgICAgLy8gY2FuIG9ubHkgZGVtb25zdHJhdGUgcG90ZW50aWFsLCBidXQgbm90IGFjdHVhbCwgaW50ZXJhY3Rpb25cblx0ICAgIC8vIGFuZCBhcmUgdHJlYXRlZCBzZXBhcmF0ZWx5XG5cdCAgICB2YXIgb3B0aW9ucyA9IHN1cHBvcnRzUGFzc2l2ZSA/IHsgcGFzc2l2ZTogdHJ1ZSwgY2FwdHVyZTogdHJ1ZSB9IDogdHJ1ZTtcblxuXHQgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIHNldFBlcnNpc3QsIHRydWUpO1xuXG5cdCAgICAvLyBwb2ludGVyIGV2ZW50cyAobW91c2UsIHBlbiwgdG91Y2gpXG5cdCAgICBpZiAod2luZG93LlBvaW50ZXJFdmVudCkge1xuXHQgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcmRvd24nLCBzZXRJbnB1dCwgdHJ1ZSk7XG5cdCAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVybW92ZScsIHNldEludGVudCwgdHJ1ZSk7XG5cdCAgICB9IGVsc2UgaWYgKHdpbmRvdy5NU1BvaW50ZXJFdmVudCkge1xuXHQgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignTVNQb2ludGVyRG93bicsIHNldElucHV0LCB0cnVlKTtcblx0ICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ01TUG9pbnRlck1vdmUnLCBzZXRJbnRlbnQsIHRydWUpO1xuXHQgICAgfSBlbHNlIHtcblx0ICAgICAgLy8gbW91c2UgZXZlbnRzXG5cdCAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBzZXRJbnB1dCwgdHJ1ZSk7XG5cdCAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBzZXRJbnRlbnQsIHRydWUpO1xuXG5cdCAgICAgIC8vIHRvdWNoIGV2ZW50c1xuXHQgICAgICBpZiAoJ29udG91Y2hzdGFydCcgaW4gd2luZG93KSB7XG5cdCAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBzZXRJbnB1dCwgb3B0aW9ucyk7XG5cdCAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgc2V0SW5wdXQsIHRydWUpO1xuXHQgICAgICB9XG5cdCAgICB9XG5cblx0ICAgIC8vIG1vdXNlIHdoZWVsXG5cdCAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihkZXRlY3RXaGVlbCgpLCBzZXRJbnRlbnQsIG9wdGlvbnMpO1xuXG5cdCAgICAvLyBrZXlib2FyZCBldmVudHNcblx0ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgc2V0SW5wdXQsIHRydWUpO1xuXHQgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXVwJywgc2V0SW5wdXQsIHRydWUpO1xuXG5cdCAgICAvLyBmb2N1cyBldmVudHNcblx0ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdmb2N1c2luJywgc2V0RWxlbWVudCwgdHJ1ZSk7XG5cdCAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXNvdXQnLCBjbGVhckVsZW1lbnQsIHRydWUpO1xuXHQgIH07XG5cblx0ICAvLyBjaGVja3MgaWYgaW5wdXQgcGVyc2lzdGVuY2Ugc2hvdWxkIGhhcHBlbiBhbmRcblx0ICAvLyBnZXQgc2F2ZWQgc3RhdGUgZnJvbSBzZXNzaW9uIHN0b3JhZ2UgaWYgdHJ1ZSAoZGVmYXVsdHMgdG8gYGZhbHNlYClcblx0ICB2YXIgc2V0UGVyc2lzdCA9IGZ1bmN0aW9uIHNldFBlcnNpc3QoKSB7XG5cdCAgICBzaG91bGRQZXJzaXN0ID0gIShkb2NFbGVtLmdldEF0dHJpYnV0ZSgnZGF0YS13aGF0cGVyc2lzdCcpID09PSAnZmFsc2UnIHx8IGRvY3VtZW50LmJvZHkuZ2V0QXR0cmlidXRlKCdkYXRhLXdoYXRwZXJzaXN0JykgPT09ICdmYWxzZScpO1xuXG5cdCAgICBpZiAoc2hvdWxkUGVyc2lzdCkge1xuXHQgICAgICAvLyBjaGVjayBmb3Igc2Vzc2lvbiB2YXJpYWJsZXMgYW5kIHVzZSBpZiBhdmFpbGFibGVcblx0ICAgICAgdHJ5IHtcblx0ICAgICAgICBpZiAod2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3doYXQtaW5wdXQnKSkge1xuXHQgICAgICAgICAgY3VycmVudElucHV0ID0gd2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3doYXQtaW5wdXQnKTtcblx0ICAgICAgICB9XG5cblx0ICAgICAgICBpZiAod2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3doYXQtaW50ZW50JykpIHtcblx0ICAgICAgICAgIGN1cnJlbnRJbnRlbnQgPSB3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnd2hhdC1pbnRlbnQnKTtcblx0ICAgICAgICB9XG5cdCAgICAgIH0gY2F0Y2ggKGUpIHtcblx0ICAgICAgICAvLyBmYWlsIHNpbGVudGx5XG5cdCAgICAgIH1cblx0ICAgIH1cblxuXHQgICAgLy8gYWx3YXlzIHJ1biB0aGVzZSBzbyBhdCBsZWFzdCBgaW5pdGlhbGAgc3RhdGUgaXMgc2V0XG5cdCAgICBkb1VwZGF0ZSgnaW5wdXQnKTtcblx0ICAgIGRvVXBkYXRlKCdpbnRlbnQnKTtcblx0ICB9O1xuXG5cdCAgLy8gY2hlY2tzIGNvbmRpdGlvbnMgYmVmb3JlIHVwZGF0aW5nIG5ldyBpbnB1dFxuXHQgIHZhciBzZXRJbnB1dCA9IGZ1bmN0aW9uIHNldElucHV0KGV2ZW50KSB7XG5cdCAgICB2YXIgZXZlbnRLZXkgPSBldmVudC53aGljaDtcblx0ICAgIHZhciB2YWx1ZSA9IGlucHV0TWFwW2V2ZW50LnR5cGVdO1xuXG5cdCAgICBpZiAodmFsdWUgPT09ICdwb2ludGVyJykge1xuXHQgICAgICB2YWx1ZSA9IHBvaW50ZXJUeXBlKGV2ZW50KTtcblx0ICAgIH1cblxuXHQgICAgdmFyIGlnbm9yZU1hdGNoID0gIXNwZWNpZmljTWFwLmxlbmd0aCAmJiBpZ25vcmVNYXAuaW5kZXhPZihldmVudEtleSkgPT09IC0xO1xuXG5cdCAgICB2YXIgc3BlY2lmaWNNYXRjaCA9IHNwZWNpZmljTWFwLmxlbmd0aCAmJiBzcGVjaWZpY01hcC5pbmRleE9mKGV2ZW50S2V5KSAhPT0gLTE7XG5cblx0ICAgIHZhciBzaG91bGRVcGRhdGUgPSB2YWx1ZSA9PT0gJ2tleWJvYXJkJyAmJiBldmVudEtleSAmJiAoaWdub3JlTWF0Y2ggfHwgc3BlY2lmaWNNYXRjaCkgfHwgdmFsdWUgPT09ICdtb3VzZScgfHwgdmFsdWUgPT09ICd0b3VjaCc7XG5cblx0ICAgIC8vIHByZXZlbnQgdG91Y2ggZGV0ZWN0aW9uIGZyb20gYmVpbmcgb3ZlcnJpZGRlbiBieSBldmVudCBleGVjdXRpb24gb3JkZXJcblx0ICAgIGlmICh2YWxpZGF0ZVRvdWNoKHZhbHVlKSkge1xuXHQgICAgICBzaG91bGRVcGRhdGUgPSBmYWxzZTtcblx0ICAgIH1cblxuXHQgICAgaWYgKHNob3VsZFVwZGF0ZSAmJiBjdXJyZW50SW5wdXQgIT09IHZhbHVlKSB7XG5cdCAgICAgIGN1cnJlbnRJbnB1dCA9IHZhbHVlO1xuXG5cdCAgICAgIHBlcnNpc3RJbnB1dCgnaW5wdXQnLCBjdXJyZW50SW5wdXQpO1xuXHQgICAgICBkb1VwZGF0ZSgnaW5wdXQnKTtcblx0ICAgIH1cblxuXHQgICAgaWYgKHNob3VsZFVwZGF0ZSAmJiBjdXJyZW50SW50ZW50ICE9PSB2YWx1ZSkge1xuXHQgICAgICAvLyBwcmVzZXJ2ZSBpbnRlbnQgZm9yIGtleWJvYXJkIGludGVyYWN0aW9uIHdpdGggZm9ybSBmaWVsZHNcblx0ICAgICAgdmFyIGFjdGl2ZUVsZW0gPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuXHQgICAgICB2YXIgbm90Rm9ybUlucHV0ID0gYWN0aXZlRWxlbSAmJiBhY3RpdmVFbGVtLm5vZGVOYW1lICYmIChmb3JtSW5wdXRzLmluZGV4T2YoYWN0aXZlRWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKSA9PT0gLTEgfHwgYWN0aXZlRWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnYnV0dG9uJyAmJiAhY2hlY2tDbG9zZXN0KGFjdGl2ZUVsZW0sICdmb3JtJykpO1xuXG5cdCAgICAgIGlmIChub3RGb3JtSW5wdXQpIHtcblx0ICAgICAgICBjdXJyZW50SW50ZW50ID0gdmFsdWU7XG5cblx0ICAgICAgICBwZXJzaXN0SW5wdXQoJ2ludGVudCcsIGN1cnJlbnRJbnRlbnQpO1xuXHQgICAgICAgIGRvVXBkYXRlKCdpbnRlbnQnKTtcblx0ICAgICAgfVxuXHQgICAgfVxuXHQgIH07XG5cblx0ICAvLyB1cGRhdGVzIHRoZSBkb2MgYW5kIGBpbnB1dFR5cGVzYCBhcnJheSB3aXRoIG5ldyBpbnB1dFxuXHQgIHZhciBkb1VwZGF0ZSA9IGZ1bmN0aW9uIGRvVXBkYXRlKHdoaWNoKSB7XG5cdCAgICBkb2NFbGVtLnNldEF0dHJpYnV0ZSgnZGF0YS13aGF0JyArIHdoaWNoLCB3aGljaCA9PT0gJ2lucHV0JyA/IGN1cnJlbnRJbnB1dCA6IGN1cnJlbnRJbnRlbnQpO1xuXG5cdCAgICBmaXJlRnVuY3Rpb25zKHdoaWNoKTtcblx0ICB9O1xuXG5cdCAgLy8gdXBkYXRlcyBpbnB1dCBpbnRlbnQgZm9yIGBtb3VzZW1vdmVgIGFuZCBgcG9pbnRlcm1vdmVgXG5cdCAgdmFyIHNldEludGVudCA9IGZ1bmN0aW9uIHNldEludGVudChldmVudCkge1xuXHQgICAgdmFyIHZhbHVlID0gaW5wdXRNYXBbZXZlbnQudHlwZV07XG5cblx0ICAgIGlmICh2YWx1ZSA9PT0gJ3BvaW50ZXInKSB7XG5cdCAgICAgIHZhbHVlID0gcG9pbnRlclR5cGUoZXZlbnQpO1xuXHQgICAgfVxuXG5cdCAgICAvLyB0ZXN0IHRvIHNlZSBpZiBgbW91c2Vtb3ZlYCBoYXBwZW5lZCByZWxhdGl2ZSB0byB0aGUgc2NyZWVuIHRvIGRldGVjdCBzY3JvbGxpbmcgdmVyc3VzIG1vdXNlbW92ZVxuXHQgICAgZGV0ZWN0U2Nyb2xsaW5nKGV2ZW50KTtcblxuXHQgICAgLy8gb25seSBleGVjdXRlIGlmIHNjcm9sbGluZyBpc24ndCBoYXBwZW5pbmdcblx0ICAgIGlmICgoIWlzU2Nyb2xsaW5nICYmICF2YWxpZGF0ZVRvdWNoKHZhbHVlKSB8fCBpc1Njcm9sbGluZyAmJiBldmVudC50eXBlID09PSAnd2hlZWwnIHx8IGV2ZW50LnR5cGUgPT09ICdtb3VzZXdoZWVsJyB8fCBldmVudC50eXBlID09PSAnRE9NTW91c2VTY3JvbGwnKSAmJiBjdXJyZW50SW50ZW50ICE9PSB2YWx1ZSkge1xuXHQgICAgICBjdXJyZW50SW50ZW50ID0gdmFsdWU7XG5cblx0ICAgICAgcGVyc2lzdElucHV0KCdpbnRlbnQnLCBjdXJyZW50SW50ZW50KTtcblx0ICAgICAgZG9VcGRhdGUoJ2ludGVudCcpO1xuXHQgICAgfVxuXHQgIH07XG5cblx0ICB2YXIgc2V0RWxlbWVudCA9IGZ1bmN0aW9uIHNldEVsZW1lbnQoZXZlbnQpIHtcblx0ICAgIGlmICghZXZlbnQudGFyZ2V0Lm5vZGVOYW1lKSB7XG5cdCAgICAgIC8vIElmIG5vZGVOYW1lIGlzIHVuZGVmaW5lZCwgY2xlYXIgdGhlIGVsZW1lbnRcblx0ICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGlmIGNsaWNrIGluc2lkZSBhbiA8c3ZnPiBlbGVtZW50LlxuXHQgICAgICBjbGVhckVsZW1lbnQoKTtcblx0ICAgICAgcmV0dXJuO1xuXHQgICAgfVxuXG5cdCAgICBjdXJyZW50RWxlbWVudCA9IGV2ZW50LnRhcmdldC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuXHQgICAgZG9jRWxlbS5zZXRBdHRyaWJ1dGUoJ2RhdGEtd2hhdGVsZW1lbnQnLCBjdXJyZW50RWxlbWVudCk7XG5cblx0ICAgIGlmIChldmVudC50YXJnZXQuY2xhc3NMaXN0ICYmIGV2ZW50LnRhcmdldC5jbGFzc0xpc3QubGVuZ3RoKSB7XG5cdCAgICAgIGRvY0VsZW0uc2V0QXR0cmlidXRlKCdkYXRhLXdoYXRjbGFzc2VzJywgZXZlbnQudGFyZ2V0LmNsYXNzTGlzdC50b1N0cmluZygpLnJlcGxhY2UoJyAnLCAnLCcpKTtcblx0ICAgIH1cblx0ICB9O1xuXG5cdCAgdmFyIGNsZWFyRWxlbWVudCA9IGZ1bmN0aW9uIGNsZWFyRWxlbWVudCgpIHtcblx0ICAgIGN1cnJlbnRFbGVtZW50ID0gbnVsbDtcblxuXHQgICAgZG9jRWxlbS5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtd2hhdGVsZW1lbnQnKTtcblx0ICAgIGRvY0VsZW0ucmVtb3ZlQXR0cmlidXRlKCdkYXRhLXdoYXRjbGFzc2VzJyk7XG5cdCAgfTtcblxuXHQgIHZhciBwZXJzaXN0SW5wdXQgPSBmdW5jdGlvbiBwZXJzaXN0SW5wdXQod2hpY2gsIHZhbHVlKSB7XG5cdCAgICBpZiAoc2hvdWxkUGVyc2lzdCkge1xuXHQgICAgICB0cnkge1xuXHQgICAgICAgIHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCd3aGF0LScgKyB3aGljaCwgdmFsdWUpO1xuXHQgICAgICB9IGNhdGNoIChlKSB7XG5cdCAgICAgICAgLy8gZmFpbCBzaWxlbnRseVxuXHQgICAgICB9XG5cdCAgICB9XG5cdCAgfTtcblxuXHQgIC8qXG5cdCAgICogdXRpbGl0aWVzXG5cdCAgICovXG5cblx0ICB2YXIgcG9pbnRlclR5cGUgPSBmdW5jdGlvbiBwb2ludGVyVHlwZShldmVudCkge1xuXHQgICAgaWYgKHR5cGVvZiBldmVudC5wb2ludGVyVHlwZSA9PT0gJ251bWJlcicpIHtcblx0ICAgICAgcmV0dXJuIHBvaW50ZXJNYXBbZXZlbnQucG9pbnRlclR5cGVdO1xuXHQgICAgfSBlbHNlIHtcblx0ICAgICAgLy8gdHJlYXQgcGVuIGxpa2UgdG91Y2hcblx0ICAgICAgcmV0dXJuIGV2ZW50LnBvaW50ZXJUeXBlID09PSAncGVuJyA/ICd0b3VjaCcgOiBldmVudC5wb2ludGVyVHlwZTtcblx0ICAgIH1cblx0ICB9O1xuXG5cdCAgLy8gcHJldmVudCB0b3VjaCBkZXRlY3Rpb24gZnJvbSBiZWluZyBvdmVycmlkZGVuIGJ5IGV2ZW50IGV4ZWN1dGlvbiBvcmRlclxuXHQgIHZhciB2YWxpZGF0ZVRvdWNoID0gZnVuY3Rpb24gdmFsaWRhdGVUb3VjaCh2YWx1ZSkge1xuXHQgICAgdmFyIHRpbWVzdGFtcCA9IERhdGUubm93KCk7XG5cblx0ICAgIHZhciB0b3VjaElzVmFsaWQgPSB2YWx1ZSA9PT0gJ21vdXNlJyAmJiBjdXJyZW50SW5wdXQgPT09ICd0b3VjaCcgJiYgdGltZXN0YW1wIC0gY3VycmVudFRpbWVzdGFtcCA8IDIwMDtcblxuXHQgICAgY3VycmVudFRpbWVzdGFtcCA9IHRpbWVzdGFtcDtcblxuXHQgICAgcmV0dXJuIHRvdWNoSXNWYWxpZDtcblx0ICB9O1xuXG5cdCAgLy8gZGV0ZWN0IHZlcnNpb24gb2YgbW91c2Ugd2hlZWwgZXZlbnQgdG8gdXNlXG5cdCAgLy8gdmlhIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9FbGVtZW50L3doZWVsX2V2ZW50XG5cdCAgdmFyIGRldGVjdFdoZWVsID0gZnVuY3Rpb24gZGV0ZWN0V2hlZWwoKSB7XG5cdCAgICB2YXIgd2hlZWxUeXBlID0gbnVsbDtcblxuXHQgICAgLy8gTW9kZXJuIGJyb3dzZXJzIHN1cHBvcnQgXCJ3aGVlbFwiXG5cdCAgICBpZiAoJ29ud2hlZWwnIGluIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKSB7XG5cdCAgICAgIHdoZWVsVHlwZSA9ICd3aGVlbCc7XG5cdCAgICB9IGVsc2Uge1xuXHQgICAgICAvLyBXZWJraXQgYW5kIElFIHN1cHBvcnQgYXQgbGVhc3QgXCJtb3VzZXdoZWVsXCJcblx0ICAgICAgLy8gb3IgYXNzdW1lIHRoYXQgcmVtYWluaW5nIGJyb3dzZXJzIGFyZSBvbGRlciBGaXJlZm94XG5cdCAgICAgIHdoZWVsVHlwZSA9IGRvY3VtZW50Lm9ubW91c2V3aGVlbCAhPT0gdW5kZWZpbmVkID8gJ21vdXNld2hlZWwnIDogJ0RPTU1vdXNlU2Nyb2xsJztcblx0ICAgIH1cblxuXHQgICAgcmV0dXJuIHdoZWVsVHlwZTtcblx0ICB9O1xuXG5cdCAgLy8gcnVucyBjYWxsYmFjayBmdW5jdGlvbnNcblx0ICB2YXIgZmlyZUZ1bmN0aW9ucyA9IGZ1bmN0aW9uIGZpcmVGdW5jdGlvbnModHlwZSkge1xuXHQgICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGZ1bmN0aW9uTGlzdC5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuXHQgICAgICBpZiAoZnVuY3Rpb25MaXN0W2ldLnR5cGUgPT09IHR5cGUpIHtcblx0ICAgICAgICBmdW5jdGlvbkxpc3RbaV0uZm4uY2FsbCh1bmRlZmluZWQsIHR5cGUgPT09ICdpbnB1dCcgPyBjdXJyZW50SW5wdXQgOiBjdXJyZW50SW50ZW50KTtcblx0ICAgICAgfVxuXHQgICAgfVxuXHQgIH07XG5cblx0ICAvLyBmaW5kcyBtYXRjaGluZyBlbGVtZW50IGluIGFuIG9iamVjdFxuXHQgIHZhciBvYmpQb3MgPSBmdW5jdGlvbiBvYmpQb3MobWF0Y2gpIHtcblx0ICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBmdW5jdGlvbkxpc3QubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcblx0ICAgICAgaWYgKGZ1bmN0aW9uTGlzdFtpXS5mbiA9PT0gbWF0Y2gpIHtcblx0ICAgICAgICByZXR1cm4gaTtcblx0ICAgICAgfVxuXHQgICAgfVxuXHQgIH07XG5cblx0ICB2YXIgZGV0ZWN0U2Nyb2xsaW5nID0gZnVuY3Rpb24gZGV0ZWN0U2Nyb2xsaW5nKGV2ZW50KSB7XG5cdCAgICBpZiAobW91c2VQb3MueCAhPT0gZXZlbnQuc2NyZWVuWCB8fCBtb3VzZVBvcy55ICE9PSBldmVudC5zY3JlZW5ZKSB7XG5cdCAgICAgIGlzU2Nyb2xsaW5nID0gZmFsc2U7XG5cblx0ICAgICAgbW91c2VQb3MueCA9IGV2ZW50LnNjcmVlblg7XG5cdCAgICAgIG1vdXNlUG9zLnkgPSBldmVudC5zY3JlZW5ZO1xuXHQgICAgfSBlbHNlIHtcblx0ICAgICAgaXNTY3JvbGxpbmcgPSB0cnVlO1xuXHQgICAgfVxuXHQgIH07XG5cblx0ICAvLyBtYW51YWwgdmVyc2lvbiBvZiBgY2xvc2VzdCgpYFxuXHQgIHZhciBjaGVja0Nsb3Nlc3QgPSBmdW5jdGlvbiBjaGVja0Nsb3Nlc3QoZWxlbSwgdGFnKSB7XG5cdCAgICB2YXIgRWxlbWVudFByb3RvdHlwZSA9IHdpbmRvdy5FbGVtZW50LnByb3RvdHlwZTtcblxuXHQgICAgaWYgKCFFbGVtZW50UHJvdG90eXBlLm1hdGNoZXMpIHtcblx0ICAgICAgRWxlbWVudFByb3RvdHlwZS5tYXRjaGVzID0gRWxlbWVudFByb3RvdHlwZS5tc01hdGNoZXNTZWxlY3RvciB8fCBFbGVtZW50UHJvdG90eXBlLndlYmtpdE1hdGNoZXNTZWxlY3Rvcjtcblx0ICAgIH1cblxuXHQgICAgaWYgKCFFbGVtZW50UHJvdG90eXBlLmNsb3Nlc3QpIHtcblx0ICAgICAgZG8ge1xuXHQgICAgICAgIGlmIChlbGVtLm1hdGNoZXModGFnKSkge1xuXHQgICAgICAgICAgcmV0dXJuIGVsZW07XG5cdCAgICAgICAgfVxuXG5cdCAgICAgICAgZWxlbSA9IGVsZW0ucGFyZW50RWxlbWVudCB8fCBlbGVtLnBhcmVudE5vZGU7XG5cdCAgICAgIH0gd2hpbGUgKGVsZW0gIT09IG51bGwgJiYgZWxlbS5ub2RlVHlwZSA9PT0gMSk7XG5cblx0ICAgICAgcmV0dXJuIG51bGw7XG5cdCAgICB9IGVsc2Uge1xuXHQgICAgICByZXR1cm4gZWxlbS5jbG9zZXN0KHRhZyk7XG5cdCAgICB9XG5cdCAgfTtcblxuXHQgIC8qXG5cdCAgICogaW5pdFxuXHQgICAqL1xuXG5cdCAgLy8gZG9uJ3Qgc3RhcnQgc2NyaXB0IHVubGVzcyBicm93c2VyIGN1dHMgdGhlIG11c3RhcmRcblx0ICAvLyAoYWxzbyBwYXNzZXMgaWYgcG9seWZpbGxzIGFyZSB1c2VkKVxuXHQgIGlmICgnYWRkRXZlbnRMaXN0ZW5lcicgaW4gd2luZG93ICYmIEFycmF5LnByb3RvdHlwZS5pbmRleE9mKSB7XG5cdCAgICBzZXRVcCgpO1xuXHQgIH1cblxuXHQgIC8qXG5cdCAgICogYXBpXG5cdCAgICovXG5cblx0ICByZXR1cm4ge1xuXHQgICAgLy8gcmV0dXJucyBzdHJpbmc6IHRoZSBjdXJyZW50IGlucHV0IHR5cGVcblx0ICAgIC8vIG9wdDogJ2ludGVudCd8J2lucHV0J1xuXHQgICAgLy8gJ2lucHV0JyAoZGVmYXVsdCk6IHJldHVybnMgdGhlIHNhbWUgdmFsdWUgYXMgdGhlIGBkYXRhLXdoYXRpbnB1dGAgYXR0cmlidXRlXG5cdCAgICAvLyAnaW50ZW50JzogaW5jbHVkZXMgYGRhdGEtd2hhdGludGVudGAgdmFsdWUgaWYgaXQncyBkaWZmZXJlbnQgdGhhbiBgZGF0YS13aGF0aW5wdXRgXG5cdCAgICBhc2s6IGZ1bmN0aW9uIGFzayhvcHQpIHtcblx0ICAgICAgcmV0dXJuIG9wdCA9PT0gJ2ludGVudCcgPyBjdXJyZW50SW50ZW50IDogY3VycmVudElucHV0O1xuXHQgICAgfSxcblxuXHQgICAgLy8gcmV0dXJucyBzdHJpbmc6IHRoZSBjdXJyZW50bHkgZm9jdXNlZCBlbGVtZW50IG9yIG51bGxcblx0ICAgIGVsZW1lbnQ6IGZ1bmN0aW9uIGVsZW1lbnQoKSB7XG5cdCAgICAgIHJldHVybiBjdXJyZW50RWxlbWVudDtcblx0ICAgIH0sXG5cblx0ICAgIC8vIG92ZXJ3cml0ZXMgaWdub3JlZCBrZXlzIHdpdGggcHJvdmlkZWQgYXJyYXlcblx0ICAgIGlnbm9yZUtleXM6IGZ1bmN0aW9uIGlnbm9yZUtleXMoYXJyKSB7XG5cdCAgICAgIGlnbm9yZU1hcCA9IGFycjtcblx0ICAgIH0sXG5cblx0ICAgIC8vIG92ZXJ3cml0ZXMgc3BlY2lmaWMgY2hhciBrZXlzIHRvIHVwZGF0ZSBvblxuXHQgICAgc3BlY2lmaWNLZXlzOiBmdW5jdGlvbiBzcGVjaWZpY0tleXMoYXJyKSB7XG5cdCAgICAgIHNwZWNpZmljTWFwID0gYXJyO1xuXHQgICAgfSxcblxuXHQgICAgLy8gYXR0YWNoIGZ1bmN0aW9ucyB0byBpbnB1dCBhbmQgaW50ZW50IFwiZXZlbnRzXCJcblx0ICAgIC8vIGZ1bmN0OiBmdW5jdGlvbiB0byBmaXJlIG9uIGNoYW5nZVxuXHQgICAgLy8gZXZlbnRUeXBlOiAnaW5wdXQnfCdpbnRlbnQnXG5cdCAgICByZWdpc3Rlck9uQ2hhbmdlOiBmdW5jdGlvbiByZWdpc3Rlck9uQ2hhbmdlKGZuLCBldmVudFR5cGUpIHtcblx0ICAgICAgZnVuY3Rpb25MaXN0LnB1c2goe1xuXHQgICAgICAgIGZuOiBmbixcblx0ICAgICAgICB0eXBlOiBldmVudFR5cGUgfHwgJ2lucHV0J1xuXHQgICAgICB9KTtcblx0ICAgIH0sXG5cblx0ICAgIHVuUmVnaXN0ZXJPbkNoYW5nZTogZnVuY3Rpb24gdW5SZWdpc3Rlck9uQ2hhbmdlKGZuKSB7XG5cdCAgICAgIHZhciBwb3NpdGlvbiA9IG9ialBvcyhmbik7XG5cblx0ICAgICAgaWYgKHBvc2l0aW9uIHx8IHBvc2l0aW9uID09PSAwKSB7XG5cdCAgICAgICAgZnVuY3Rpb25MaXN0LnNwbGljZShwb3NpdGlvbiwgMSk7XG5cdCAgICAgIH1cblx0ICAgIH0sXG5cblx0ICAgIGNsZWFyU3RvcmFnZTogZnVuY3Rpb24gY2xlYXJTdG9yYWdlKCkge1xuXHQgICAgICB3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTtcblx0ICAgIH1cblx0ICB9O1xuXHR9KCk7XG5cbi8qKiovIH0pXG4vKioqKioqLyBdKVxufSk7XG47Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///88\n")},103:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ E: () => (/* binding */ useIsomorphicLayoutEffect)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(763);\n/* harmony import */ var _can_use_dom_dist_reach_utils_can_use_dom_esm_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(937);\n\n\n\n/**\n * React currently throws a warning when using useLayoutEffect on the server. To\n * get around it, we can conditionally useEffect on the server (no-op) and\n * useLayoutEffect in the browser. We occasionally need useLayoutEffect to\n * ensure we don't get a render flash for certain operations, but we may also\n * need affected components to render on the server. One example is when setting\n * a component's descendants to retrieve their index values.\n *\n * Important to note that using this hook as an escape hatch will break the\n * eslint dependency warnings unless you rename the import to `useLayoutEffect`.\n * Use sparingly only when the effect won't effect the rendered HTML to avoid\n * any server/client mismatch.\n *\n * If a useLayoutEffect is needed and the result would create a mismatch, it's\n * likely that the component in question shouldn't be rendered on the server at\n * all, so a better approach would be to lazily render those in a parent\n * component after client-side hydration.\n *\n * https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * https://github.com/reduxjs/react-redux/blob/master/src/utils/useIsomorphicLayoutEffect.js\n *\n * @param effect\n * @param deps\n */\n\nvar useIsomorphicLayoutEffect = /*#__PURE__*/(0,_can_use_dom_dist_reach_utils_can_use_dom_esm_js__WEBPACK_IMPORTED_MODULE_1__/* .canUseDOM */ .S)() ? react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect : react__WEBPACK_IMPORTED_MODULE_0__.useEffect;\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTAzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQW1EO0FBQytCOztBQUVsRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsNkNBQTZDLG9HQUFTLEtBQUssa0RBQWUsR0FBRyw0Q0FBUzs7QUFFakQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdXRpbHMvdXNlLWlzb21vcnBoaWMtbGF5b3V0LWVmZmVjdC9kaXN0L3JlYWNoLXV0aWxzLXVzZS1pc29tb3JwaGljLWxheW91dC1lZmZlY3QuZXNtLmpzPzE0MmQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlTGF5b3V0RWZmZWN0LCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjYW5Vc2VET00gfSBmcm9tICcuLi8uLi9jYW4tdXNlLWRvbS9kaXN0L3JlYWNoLXV0aWxzLWNhbi11c2UtZG9tLmVzbS5qcyc7XG5cbi8qKlxuICogUmVhY3QgY3VycmVudGx5IHRocm93cyBhIHdhcm5pbmcgd2hlbiB1c2luZyB1c2VMYXlvdXRFZmZlY3Qgb24gdGhlIHNlcnZlci4gVG9cbiAqIGdldCBhcm91bmQgaXQsIHdlIGNhbiBjb25kaXRpb25hbGx5IHVzZUVmZmVjdCBvbiB0aGUgc2VydmVyIChuby1vcCkgYW5kXG4gKiB1c2VMYXlvdXRFZmZlY3QgaW4gdGhlIGJyb3dzZXIuIFdlIG9jY2FzaW9uYWxseSBuZWVkIHVzZUxheW91dEVmZmVjdCB0b1xuICogZW5zdXJlIHdlIGRvbid0IGdldCBhIHJlbmRlciBmbGFzaCBmb3IgY2VydGFpbiBvcGVyYXRpb25zLCBidXQgd2UgbWF5IGFsc29cbiAqIG5lZWQgYWZmZWN0ZWQgY29tcG9uZW50cyB0byByZW5kZXIgb24gdGhlIHNlcnZlci4gT25lIGV4YW1wbGUgaXMgd2hlbiBzZXR0aW5nXG4gKiBhIGNvbXBvbmVudCdzIGRlc2NlbmRhbnRzIHRvIHJldHJpZXZlIHRoZWlyIGluZGV4IHZhbHVlcy5cbiAqXG4gKiBJbXBvcnRhbnQgdG8gbm90ZSB0aGF0IHVzaW5nIHRoaXMgaG9vayBhcyBhbiBlc2NhcGUgaGF0Y2ggd2lsbCBicmVhayB0aGVcbiAqIGVzbGludCBkZXBlbmRlbmN5IHdhcm5pbmdzIHVubGVzcyB5b3UgcmVuYW1lIHRoZSBpbXBvcnQgdG8gYHVzZUxheW91dEVmZmVjdGAuXG4gKiBVc2Ugc3BhcmluZ2x5IG9ubHkgd2hlbiB0aGUgZWZmZWN0IHdvbid0IGVmZmVjdCB0aGUgcmVuZGVyZWQgSFRNTCB0byBhdm9pZFxuICogYW55IHNlcnZlci9jbGllbnQgbWlzbWF0Y2guXG4gKlxuICogSWYgYSB1c2VMYXlvdXRFZmZlY3QgaXMgbmVlZGVkIGFuZCB0aGUgcmVzdWx0IHdvdWxkIGNyZWF0ZSBhIG1pc21hdGNoLCBpdCdzXG4gKiBsaWtlbHkgdGhhdCB0aGUgY29tcG9uZW50IGluIHF1ZXN0aW9uIHNob3VsZG4ndCBiZSByZW5kZXJlZCBvbiB0aGUgc2VydmVyIGF0XG4gKiBhbGwsIHNvIGEgYmV0dGVyIGFwcHJvYWNoIHdvdWxkIGJlIHRvIGxhemlseSByZW5kZXIgdGhvc2UgaW4gYSBwYXJlbnRcbiAqIGNvbXBvbmVudCBhZnRlciBjbGllbnQtc2lkZSBoeWRyYXRpb24uXG4gKlxuICogaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vZ2FlYXJvbi9lN2Q5N2NkZjM4YTI5MDc5MjRlYTEyZTRlYmRmM2M4NVxuICogaHR0cHM6Ly9naXRodWIuY29tL3JlZHV4anMvcmVhY3QtcmVkdXgvYmxvYi9tYXN0ZXIvc3JjL3V0aWxzL3VzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QuanNcbiAqXG4gKiBAcGFyYW0gZWZmZWN0XG4gKiBAcGFyYW0gZGVwc1xuICovXG5cbnZhciB1c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0ID0gLyojX19QVVJFX18qL2NhblVzZURPTSgpID8gdXNlTGF5b3V0RWZmZWN0IDogdXNlRWZmZWN0O1xuXG5leHBvcnQgeyB1c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0IH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///103\n")},172:function(module,exports,__webpack_require__){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }\n(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(763), __webpack_require__(556)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _react, _propTypes) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports["default"] = void 0;\n _react = _interopRequireWildcard(_react);\n _propTypes = _interopRequireDefault(_propTypes);\n function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }\n function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }\n function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }\n function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }\n function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\n function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }\n function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }\n function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }\n function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\n function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }\n function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); return e; }\n function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\n function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\n function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }\n function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\n var Collapsible = /*#__PURE__*/function (_Component) {\n function Collapsible(props) {\n var _this;\n _classCallCheck(this, Collapsible);\n _this = _callSuper(this, Collapsible, [props]);\n _this.state = {\n isExpanded: false\n };\n _this._toggleExpanded = _this.toggleExpanded.bind(_this);\n _this._renderShowButton = _this.renderShowButton.bind(_this);\n _this._renderHideButton = _this.renderHideButton.bind(_this);\n return _this;\n }\n _inherits(Collapsible, _Component);\n return _createClass(Collapsible, [{\n key: "toggleExpanded",\n value: function toggleExpanded() {\n this.setState({\n isExpanded: !this.state.isExpanded\n });\n }\n }, {\n key: "renderShowButton",\n value: function renderShowButton() {\n return /*#__PURE__*/_react["default"].createElement("span", {\n className: "collapsible-show-label"\n }, this.props.showLabel);\n }\n }, {\n key: "renderHideButton",\n value: function renderHideButton() {\n if (this.props.hideLabel) {\n return /*#__PURE__*/_react["default"].createElement("span", {\n className: "collapsible-hide-label"\n }, this.props.hideLabel);\n } else {\n return "";\n }\n }\n }, {\n key: "render",\n value: function render() {\n var isArray = Array.isArray(this.props.content);\n var isHidden = this.state.isExpanded ? undefined : true;\n return /*#__PURE__*/_react["default"].createElement("div", {\n className: "collapsible-container"\n }, /*#__PURE__*/_react["default"].createElement("button", {\n onClick: this._toggleExpanded,\n className: "collapsible-summary",\n type: "button",\n "aria-expanded": this.state.isExpanded ? true : false\n }, this._renderShowButton(), this._renderHideButton()), /*#__PURE__*/_react["default"].createElement("div", {\n className: "collapsible-details",\n hidden: isHidden\n }, isArray ? /*#__PURE__*/_react["default"].createElement("ul", {\n className: "items"\n }, this.props.content.map(function (c) {\n return /*#__PURE__*/_react["default"].createElement("li", {\n key: c.contentTitle\n }, /*#__PURE__*/_react["default"].createElement("p", null, /*#__PURE__*/_react["default"].createElement("b", null, c.contentTitle)), /*#__PURE__*/_react["default"].createElement("p", null, c.content));\n })) : /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("p", null, /*#__PURE__*/_react["default"].createElement("b", null, this.props.contentTitle)), /*#__PURE__*/_react["default"].createElement("p", null, this.props.content))));\n }\n }]);\n }(_react.Component);\n Collapsible.propTypes = {\n showLabel: _propTypes["default"].string.isRequired,\n hideLabel: _propTypes["default"].string.isRequired,\n content: _propTypes["default"].oneOfType([_propTypes["default"].array, _propTypes["default"].string]).isRequired,\n contentTitle: _propTypes["default"].string\n };\n var _default = _exports["default"] = Collapsible;\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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RyxFQUFFa0IsQ0FBQyxDQUFDQztVQUFhLGdCQUNwQmhCLE1BQUEsWUFBQUMsYUFBQSx5QkFDSUQsTUFBQSxZQUFBQyxhQUFBLFlBQUljLENBQUMsQ0FBQ0MsWUFBZ0IsQ0FDdkIsQ0FBQyxlQUNKaEIsTUFBQSxZQUFBQyxhQUFBLFlBQUljLENBQUMsQ0FBQ1AsT0FBVyxDQUNqQixDQUFDO1FBQUEsQ0FDUixDQUNELENBQUMsZ0JBRUxSLE1BQUEsWUFBQUMsYUFBQSwyQkFDSUQsTUFBQSxZQUFBQyxhQUFBLHlCQUNJRCxNQUFBLFlBQUFDLGFBQUEsWUFBSSxJQUFJLENBQUNuQixLQUFLLENBQUNrQyxZQUFnQixDQUNoQyxDQUFDLGVBQ0poQixNQUFBLFlBQUFDLGFBQUEsWUFBSSxJQUFJLENBQUNuQixLQUFLLENBQUMwQixPQUFXLENBQ3pCLENBRVIsQ0FDSixDQUFDO01BRWQ7SUFBQztFQUFBLEVBOUVxQlMsZ0JBQVM7RUFpRm5DckMsV0FBVyxDQUFDc0MsU0FBUyxHQUFHO0lBQ3BCZixTQUFTLEVBQUVnQixxQkFBUyxDQUFDQyxNQUFNLENBQUNDLFVBQVU7SUFDdENqQixTQUFTLEVBQUVlLHFCQUFTLENBQUNDLE1BQU0sQ0FBQ0MsVUFBVTtJQUN0Q2IsT0FBTyxFQUFFVyxxQkFBUyxDQUFDRyxTQUFTLENBQUMsQ0FBQ0gscUJBQVMsQ0FBQ0ksS0FBSyxFQUFFSixxQkFBUyxDQUFDQyxNQUFNLENBQUMsQ0FBQyxDQUM1REMsVUFBVTtJQUNmTCxZQUFZLEVBQUVHLHFCQUFTLENBQUNDO0VBQzVCLENBQUM7RUFBQyxJQUFBSSxRQUFBLEdBQUFDLFFBQUEsY0FFYTdDLFdBQVc7QUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vY29tcG9uZW50cy9FcnJvci9Db2xsYXBzaWJsZS5qc3g/NTU5YSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5cbmNsYXNzIENvbGxhcHNpYmxlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgICBzdXBlcihwcm9wcyk7XG5cbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIGlzRXhwYW5kZWQ6IGZhbHNlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuX3RvZ2dsZUV4cGFuZGVkID0gdGhpcy50b2dnbGVFeHBhbmRlZC5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLl9yZW5kZXJTaG93QnV0dG9uID0gdGhpcy5yZW5kZXJTaG93QnV0dG9uLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuX3JlbmRlckhpZGVCdXR0b24gPSB0aGlzLnJlbmRlckhpZGVCdXR0b24uYmluZCh0aGlzKTtcbiAgICB9XG5cbiAgICB0b2dnbGVFeHBhbmRlZCgpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICBpc0V4cGFuZGVkOiAhdGhpcy5zdGF0ZS5pc0V4cGFuZGVkLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZW5kZXJTaG93QnV0dG9uKCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiY29sbGFwc2libGUtc2hvdy1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIHt0aGlzLnByb3BzLnNob3dMYWJlbH1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZW5kZXJIaWRlQnV0dG9uKCkge1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5oaWRlTGFiZWwpIHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiY29sbGFwc2libGUtaGlkZS1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICB7dGhpcy5wcm9wcy5oaWRlTGFiZWx9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICBjb25zdCBpc0FycmF5ID0gQXJyYXkuaXNBcnJheSh0aGlzLnByb3BzLmNvbnRlbnQpO1xuICAgICAgICBjb25zdCBpc0hpZGRlbiA9IHRoaXMuc3RhdGUuaXNFeHBhbmRlZCA/IHVuZGVmaW5lZCA6IHRydWU7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sbGFwc2libGUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLl90b2dnbGVFeHBhbmRlZH1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY29sbGFwc2libGUtc3VtbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWV4cGFuZGVkPXt0aGlzLnN0YXRlLmlzRXhwYW5kZWQgPyB0cnVlIDogZmFsc2V9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7dGhpcy5fcmVuZGVyU2hvd0J1dHRvbigpfVxuICAgICAgICAgICAgICAgICAgICB7dGhpcy5fcmVuZGVySGlkZUJ1dHRvbigpfVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xsYXBzaWJsZS1kZXRhaWxzXCIgaGlkZGVuPXtpc0hpZGRlbn0+XG4gICAgICAgICAgICAgICAgICAgIHtpc0FycmF5ID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzTmFtZT1cIml0ZW1zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3RoaXMucHJvcHMuY29udGVudC5tYXAoKGMpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17Yy5jb250ZW50VGl0bGV9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+e2MuY29udGVudFRpdGxlfTwvYj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPntjLmNvbnRlbnR9PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPnt0aGlzLnByb3BzLmNvbnRlbnRUaXRsZX08L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt0aGlzLnByb3BzLmNvbnRlbnR9PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKTtcbiAgICB9XG59XG5cbkNvbGxhcHNpYmxlLnByb3BUeXBlcyA9IHtcbiAgICBzaG93TGFiZWw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBoaWRlTGFiZWw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBjb250ZW50OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYXJyYXksIFByb3BUeXBlcy5zdHJpbmddKVxuICAgICAgICAuaXNSZXF1aXJlZCxcbiAgICBjb250ZW50VGl0bGU6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBDb2xsYXBzaWJsZTtcbiJdLCJuYW1lcyI6WyJDb2xsYXBzaWJsZSIsIl9Db21wb25lbnQiLCJwcm9wcyIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrIiwiX2NhbGxTdXBlciIsInN0YXRlIiwiaXNFeHBhbmRlZCIsIl90b2dnbGVFeHBhbmRlZCIsInRvZ2dsZUV4cGFuZGVkIiwiYmluZCIsIl9yZW5kZXJTaG93QnV0dG9uIiwicmVuZGVyU2hvd0J1dHRvbiIsIl9yZW5kZXJIaWRlQnV0dG9uIiwicmVuZGVySGlkZUJ1dHRvbiIsIl9pbmhlcml0cyIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwic2V0U3RhdGUiLCJfcmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwic2hvd0xhYmVsIiwiaGlkZUxhYmVsIiwicmVuZGVyIiwiaXNBcnJheSIsIkFycmF5IiwiY29udGVudCIsImlzSGlkZGVuIiwidW5kZWZpbmVkIiwib25DbGljayIsInR5cGUiLCJoaWRkZW4iLCJtYXAiLCJjIiwiY29udGVudFRpdGxlIiwiQ29tcG9uZW50IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwiaXNSZXF1aXJlZCIsIm9uZU9mVHlwZSIsImFycmF5IiwiX2RlZmF1bHQiLCJfZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///172\n')},193:function(module,exports,__webpack_require__){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(763), __webpack_require__(556), __webpack_require__(877)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _react, _propTypes, _Infotip) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports["default"] = void 0;\n _react = _interopRequireDefault(_react);\n _propTypes = _interopRequireDefault(_propTypes);\n _Infotip = _interopRequireDefault(_Infotip);\n function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }\n var infoTipLabel = "When dialing 711, you will automatically be connected to a TRS Communications Assistant who will relay your conversation to the help desk agent with strict confidentiality.";\n var LegacyFooterUI = function LegacyFooterUI(_ref) {\n var buildVersion = _ref.buildVersion,\n isFullWidth = _ref.isFullWidth,\n signUpNowLink = _ref.signUpNowLink;\n return /*#__PURE__*/_react["default"].createElement("footer", {\n className: "legacy-footer"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: "build-version",\n id: "build-version"\n }, buildVersion), /*#__PURE__*/_react["default"].createElement("div", {\n className: "banner"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: isFullWidth ? "container-full-width" : "responsive-container"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: "row"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: "col-sm-12 col-md-12 col-lg-12"\n }, /*#__PURE__*/_react["default"].createElement("span", null, "Help shape the future of MADiE"), " by participating in user feedback sessions.", " ", /*#__PURE__*/_react["default"].createElement("a", {\n className: "email-note-link",\n href: signUpNowLink\n }, "Send us an email to sign up"))))), /*#__PURE__*/_react["default"].createElement("div", {\n className: isFullWidth ? "container-full-width" : "responsive-container"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: "row"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: isFullWidth ? "col-sm-12 col-md-8 col-lg-8" : "col-sm-8 col-md-9 col-lg-9"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: "logo-container"\n }, /*#__PURE__*/_react["default"].createElement("img", {\n src: "/images/qpp_logo_reversed.png",\n alt: "Quality Payment Program",\n className: "qpp-logo"\n }), /*#__PURE__*/_react["default"].createElement("div", {\n className: "social-container"\n }, /*#__PURE__*/_react["default"].createElement("a", {\n rel: "noopener noreferrer",\n target: "_blank",\n className: "social-link",\n href: "https://twitter.com/CMSGov",\n "aria-label": "Follow us on Twitter. This link opens in a new window."\n }, /*#__PURE__*/_react["default"].createElement("span", {\n className: "glyphicon glyphicon-twitter"\n })), /*#__PURE__*/_react["default"].createElement("a", {\n rel: "noopener noreferrer",\n target: "_blank",\n className: "social-link",\n href: "https://www.youtube.com/playlist?list=PLaV7m2-zFKpj_6fBsqav6GvFzzq9oOpkk",\n "aria-label": "Follow us on YouTube. This link opens in a new window."\n }, /*#__PURE__*/_react["default"].createElement("span", {\n className: "glyphicon glyphicon-youtube"\n })))), /*#__PURE__*/_react["default"].createElement("div", {\n className: "links"\n }, /*#__PURE__*/_react["default"].createElement("ul", null, /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {\n href: "/developers",\n "data-track-category": "FooterNav",\n "data-track-action": "OpenDeveloperTools",\n "data-track-label": "Quality Payment Program"\n }, "Developer Tools")), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {\n href: "/about/resource-library",\n "data-track-category": "FooterNav",\n "data-track-action": "OpenEducationAndTools",\n "data-track-label": "Education and Tools"\n }, "Resource Library")), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {\n href: "/glossary",\n "data-track-category": "FooterNav",\n "data-track-action": "OpenGlossary",\n "data-track-label": "Glossary"\n }, "Glossary")), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {\n href: "/resources/help-and-support",\n "data-track-category": "FooterNav",\n "data-track-action": "OpenHelpAndSupport",\n "data-track-label": "Help and Support"\n }, "Help and Support"))), /*#__PURE__*/_react["default"].createElement("ul", {\n className: "small"\n }, /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {\n href: "https://www.cms.gov/privacy",\n "data-track-category": "FooterNav",\n "data-track-action": "OpenPrivacyDisclaimer",\n "data-track-label": "Notice of Privacy and Disclaimer"\n }, "CMS Privacy Notice")), /*#__PURE__*/_react["default"].createElement("span", {\n className: "divider"\n }), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {\n href: "https://www.cms.gov/About-CMS/Agency-Information/Aboutwebsite/Policiesforaccessibility",\n "data-track-category": "FooterNav",\n "data-track-action": "OpenAccessibility",\n "data-track-label": "Accessibility"\n }, "Accessibility")), /*#__PURE__*/_react["default"].createElement("span", {\n className: "divider"\n }), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {\n className: "adobe-link",\n rel: "noopener noreferrer",\n target: "_blank",\n href: "https://get.adobe.com/reader",\n "data-track-category": "FooterNav",\n "data-track-action": "DownloadAdobeReader",\n "data-track-label": "AdobeReader"\n }, /*#__PURE__*/_react["default"].createElement("svg", {\n className: "icon"\n }, /*#__PURE__*/_react["default"].createElement("use", {\n xlinkHref: "#icon-download"\n })), "Download Adobe Reader")), /*#__PURE__*/_react["default"].createElement("span", {\n className: "divider"\n }), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {\n href: "mailto:sb-mat-help@semanticbits.com",\n className: "email-link"\n }, "sb-mat-help@semanticbits.com")), /*#__PURE__*/_react["default"].createElement("li", null, "1-866-288-8292 (TRS: 711)", /*#__PURE__*/_react["default"].createElement("div", {\n className: "footer-trs-infotip"\n }, /*#__PURE__*/_react["default"].createElement(_Infotip["default"], {\n lightIcon: true,\n label: infoTipLabel\n })))))), /*#__PURE__*/_react["default"].createElement("div", {\n className: isFullWidth ? "col-sm-12 col-md-4 col-lg-4" : "col-sm-4 col-md-3 col-lg-3"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: "hhs-logo-container"\n }, /*#__PURE__*/_react["default"].createElement("img", {\n alt: "Department of Health & Human Services USA",\n src: "/images/hhs-logo-white.svg"\n }))))));\n };\n LegacyFooterUI.propTypes = {\n buildVersion: _propTypes["default"].string,\n isFullWidth: _propTypes["default"].bool,\n signUpNowLink: _propTypes["default"].string\n };\n var _default = _exports["default"] = LegacyFooterUI;\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFJO0lBQzNCakIsYUFBYSxFQUFFZSxxQkFBUyxDQUFDQztFQUM3QixDQUFDO0VBQUMsSUFBQUUsUUFBQSxHQUFBQyxRQUFBLGNBRWF2QixjQUFjO0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL2NvbXBvbmVudHMvRm9vdGVyL0xlZ2FjeUZvb3RlclVJLmpzeD84ZWM5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIjtcbmltcG9ydCBJbmZvVGlwIGZyb20gXCIuLi9JbmZvdGlwL0luZm90aXBcIjtcblxuY29uc3QgaW5mb1RpcExhYmVsID1cbiAgICBcIldoZW4gZGlhbGluZyA3MTEsIHlvdSB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgY29ubmVjdGVkIHRvIGEgVFJTIENvbW11bmljYXRpb25zIEFzc2lzdGFudCB3aG8gd2lsbCByZWxheSB5b3VyIGNvbnZlcnNhdGlvbiB0byB0aGUgaGVscCBkZXNrIGFnZW50IHdpdGggc3RyaWN0IGNvbmZpZGVudGlhbGl0eS5cIjtcblxuY29uc3QgTGVnYWN5Rm9vdGVyVUkgPSAoeyBidWlsZFZlcnNpb24sIGlzRnVsbFdpZHRoLCBzaWduVXBOb3dMaW5rIH0pID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgICA8Zm9vdGVyIGNsYXNzTmFtZT1cImxlZ2FjeS1mb290ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYnVpbGQtdmVyc2lvblwiIGlkPVwiYnVpbGQtdmVyc2lvblwiPlxuICAgICAgICAgICAgICAgIHtidWlsZFZlcnNpb259XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmFubmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNGdWxsV2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IFwiY29udGFpbmVyLWZ1bGwtd2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJyZXNwb25zaXZlLWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC1zbS0xMiBjb2wtbWQtMTIgY29sLWxnLTEyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+SGVscCBzaGFwZSB0aGUgZnV0dXJlIG9mIE1BRGlFPC9zcGFuPiBieVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRpY2lwYXRpbmcgaW4gdXNlciBmZWVkYmFjayBzZXNzaW9ucy57XCIgXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwiZW1haWwtbm90ZS1saW5rXCIgaHJlZj17c2lnblVwTm93TGlua30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlbmQgdXMgYW4gZW1haWwgdG8gc2lnbiB1cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17XG4gICAgICAgICAgICAgICAgICAgIGlzRnVsbFdpZHRoXG4gICAgICAgICAgICAgICAgICAgICAgICA/IFwiY29udGFpbmVyLWZ1bGwtd2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgOiBcInJlc3BvbnNpdmUtY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0Z1bGxXaWR0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IFwiY29sLXNtLTEyIGNvbC1tZC04IGNvbC1sZy04XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcImNvbC1zbS04IGNvbC1tZC05IGNvbC1sZy05XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsb2dvLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiL2ltYWdlcy9xcHBfbG9nb19yZXZlcnNlZC5wbmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJRdWFsaXR5IFBheW1lbnQgUHJvZ3JhbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInFwcC1sb2dvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic29jaWFsLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwic29jaWFsLWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vdHdpdHRlci5jb20vQ01TR292XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJGb2xsb3cgdXMgb24gVHdpdHRlci4gVGhpcyBsaW5rIG9wZW5zIGluIGEgbmV3IHdpbmRvdy5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJnbHlwaGljb24gZ2x5cGhpY29uLXR3aXR0ZXJcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInNvY2lhbC1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9wbGF5bGlzdD9saXN0PVBMYVY3bTItekZLcGpfNmZCc3FhdjZHdkZ6enE5b09wa2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkZvbGxvdyB1cyBvbiBZb3VUdWJlLiBUaGlzIGxpbmsgb3BlbnMgaW4gYSBuZXcgd2luZG93LlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImdseXBoaWNvbiBnbHlwaGljb24teW91dHViZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxpbmtzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvZGV2ZWxvcGVyc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1jYXRlZ29yeT1cIkZvb3Rlck5hdlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1hY3Rpb249XCJPcGVuRGV2ZWxvcGVyVG9vbHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stbGFiZWw9XCJRdWFsaXR5IFBheW1lbnQgUHJvZ3JhbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV2ZWxvcGVyIFRvb2xzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIi9hYm91dC9yZXNvdXJjZS1saWJyYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWNhdGVnb3J5PVwiRm9vdGVyTmF2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWFjdGlvbj1cIk9wZW5FZHVjYXRpb25BbmRUb29sc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1sYWJlbD1cIkVkdWNhdGlvbiBhbmQgVG9vbHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlIExpYnJhcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL2dsb3NzYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWNhdGVnb3J5PVwiRm9vdGVyTmF2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWFjdGlvbj1cIk9wZW5HbG9zc2FyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1sYWJlbD1cIkdsb3NzYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHbG9zc2FyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvcmVzb3VyY2VzL2hlbHAtYW5kLXN1cHBvcnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stY2F0ZWdvcnk9XCJGb290ZXJOYXZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stYWN0aW9uPVwiT3BlbkhlbHBBbmRTdXBwb3J0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWxhYmVsPVwiSGVscCBhbmQgU3VwcG9ydFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCBhbmQgU3VwcG9ydFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzTmFtZT1cInNtYWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vd3d3LmNtcy5nb3YvcHJpdmFjeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1jYXRlZ29yeT1cIkZvb3Rlck5hdlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1hY3Rpb249XCJPcGVuUHJpdmFjeURpc2NsYWltZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stbGFiZWw9XCJOb3RpY2Ugb2YgUHJpdmFjeSBhbmQgRGlzY2xhaW1lclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ01TIFByaXZhY3kgTm90aWNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImRpdmlkZXJcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vd3d3LmNtcy5nb3YvQWJvdXQtQ01TL0FnZW5jeS1JbmZvcm1hdGlvbi9BYm91dHdlYnNpdGUvUG9saWNpZXNmb3JhY2Nlc3NpYmlsaXR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWNhdGVnb3J5PVwiRm9vdGVyTmF2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWFjdGlvbj1cIk9wZW5BY2Nlc3NpYmlsaXR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWxhYmVsPVwiQWNjZXNzaWJpbGl0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWNjZXNzaWJpbGl0eVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJkaXZpZGVyXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImFkb2JlLWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vZ2V0LmFkb2JlLmNvbS9yZWFkZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stY2F0ZWdvcnk9XCJGb290ZXJOYXZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stYWN0aW9uPVwiRG93bmxvYWRBZG9iZVJlYWRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1sYWJlbD1cIkFkb2JlUmVhZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzTmFtZT1cImljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSB4bGlua0hyZWY9XCIjaWNvbi1kb3dubG9hZFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWQgQWRvYmUgUmVhZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImRpdmlkZXJcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIm1haWx0bzpzYi1tYXQtaGVscEBzZW1hbnRpY2JpdHMuY29tXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJlbWFpbC1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYi1tYXQtaGVscEBzZW1hbnRpY2JpdHMuY29tXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEtODY2LTI4OC04MjkyIChUUlM6IDcxMSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9vdGVyLXRycy1pbmZvdGlwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEluZm9UaXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPXtpbmZvVGlwTGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNGdWxsV2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBcImNvbC1zbS0xMiBjb2wtbWQtNCBjb2wtbGctNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJjb2wtc20tNCBjb2wtbWQtMyBjb2wtbGctM1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGhzLWxvZ28tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJEZXBhcnRtZW50IG9mIEhlYWx0aCAmYW1wOyBIdW1hbiBTZXJ2aWNlcyBVU0FcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCIvaW1hZ2VzL2hocy1sb2dvLXdoaXRlLnN2Z1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Zvb3Rlcj5cbiAgICApO1xufTtcblxuTGVnYWN5Rm9vdGVyVUkucHJvcFR5cGVzID0ge1xuICAgIGJ1aWxkVmVyc2lvbjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBpc0Z1bGxXaWR0aDogUHJvcFR5cGVzLmJvb2wsXG4gICAgc2lnblVwTm93TGluazogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IExlZ2FjeUZvb3RlclVJO1xuIl0sIm5hbWVzIjpbImluZm9UaXBMYWJlbCIsIkxlZ2FjeUZvb3RlclVJIiwiX3JlZiIsImJ1aWxkVmVyc2lvbiIsImlzRnVsbFdpZHRoIiwic2lnblVwTm93TGluayIsIl9yZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJpZCIsImhyZWYiLCJzcmMiLCJhbHQiLCJyZWwiLCJ0YXJnZXQiLCJ4bGlua0hyZWYiLCJfSW5mb3RpcCIsImxpZ2h0SWNvbiIsImxhYmVsIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwiYm9vbCIsIl9kZWZhdWx0IiwiX2V4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///193\n')},197:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n LEAVE_TIMEOUT: () => (/* binding */ LEAVE_TIMEOUT),\n MOUSE_REST_TIMEOUT: () => (/* binding */ MOUSE_REST_TIMEOUT),\n Tooltip: () => (/* binding */ Tooltip),\n TooltipPopup: () => (/* binding */ TooltipPopup),\n "default": () => (/* binding */ reach_tooltip_esm),\n positionTooltip: () => (/* binding */ positionTooltip),\n useTooltip: () => (/* binding */ useTooltip)\n});\n\n// EXTERNAL MODULE: ./node_modules/preact/compat/dist/compat.module.js + 2 modules\nvar compat_module = __webpack_require__(763);\n// EXTERNAL MODULE: ./node_modules/@reach/utils/use-isomorphic-layout-effect/dist/reach-utils-use-isomorphic-layout-effect.esm.js\nvar reach_utils_use_isomorphic_layout_effect_esm = __webpack_require__(103);\n;// ./node_modules/@reach/auto-id/dist/reach-auto-id.esm.js\n\n\n\n/*\n * Welcome to @reach/auto-id!\n\n * Let\'s see if we can make sense of why this hook exists and its\n * implementation.\n *\n * Some background:\n * 1. Accessibility APIs rely heavily on element IDs\n * 2. Requiring developers to put IDs on every element in Reach UI is both\n * cumbersome and error-prone\n * 3. With a component model, we can generate IDs for them!\n *\n * Solution 1: Generate random IDs.\n *\n * This works great as long as you don\'t server render your app. When React (in\n * the client) tries to reuse the markup from the server, the IDs won\'t match\n * and React will then recreate the entire DOM tree.\n *\n * Solution 2: Increment an integer\n *\n * This sounds great. Since we\'re rendering the exact same tree on the server\n * and client, we can increment a counter and get a deterministic result between\n * client and server. Also, JS integers can go up to nine-quadrillion. I\'m\n * pretty sure the tab will be closed before an app never needs\n * 10 quadrillion IDs!\n *\n * Problem solved, right?\n *\n * Ah, but there\'s a catch! React\'s concurrent rendering makes this approach\n * non-deterministic. While the client and server will end up with the same\n * elements in the end, depending on suspense boundaries (and possibly some user\n * input during the initial render) the incrementing integers won\'t always match\n * up.\n *\n * Solution 3: Don\'t use IDs at all on the server; patch after first render.\n *\n * What we\'ve done here is solution 2 with some tricks. With this approach, the\n * ID returned is an empty string on the first render. This way the server and\n * client have the same markup no matter how wild the concurrent rendering may\n * have gotten.\n *\n * After the render, we patch up the components with an incremented ID. This\n * causes a double render on any components with `useId`. Shouldn\'t be a problem\n * since the components using this hook should be small, and we\'re only updating\n * the ID attribute on the DOM, nothing big is happening.\n *\n * It doesn\'t have to be an incremented number, though--we could do generate\n * random strings instead, but incrementing a number is probably the cheapest\n * thing we can do.\n *\n * Additionally, we only do this patchup on the very first client render ever.\n * Any calls to `useId` that happen dynamically in the client will be\n * populated immediately with a value. So, we only get the double render after\n * server hydration and never again, SO BACK OFF ALRIGHT?\n */\nvar serverHandoffComplete = false;\nvar id = 0;\n\nvar genId = function genId() {\n return ++id;\n};\n/**\n * useId\n *\n * Autogenerate IDs to facilitate WAI-ARIA and server rendering.\n *\n * Note: The returned ID will initially be `null` and will update after a\n * component mounts. Users may need to supply their own ID if they need\n * consistent values for SSR.\n *\n * @see Docs https://reach.tech/auto-id\n */\n\n\nfunction useId(idFromProps) {\n /*\n * If this instance isn\'t part of the initial render, we don\'t have to do the\n * double render/patch-up dance. We can just generate the ID and return it.\n */\n var initialId = idFromProps || (serverHandoffComplete ? genId() : null);\n\n var _React$useState = (0,compat_module.useState)(initialId),\n id = _React$useState[0],\n setId = _React$useState[1];\n\n (0,reach_utils_use_isomorphic_layout_effect_esm/* useIsomorphicLayoutEffect */.E)(function () {\n if (id === null) {\n /*\n * Patch the ID after render. We do this in `useLayoutEffect` to avoid any\n * rendering flicker, though it\'ll make the first render slower (unlikely\n * to matter, but you\'re welcome to measure your app and let us know if\n * it\'s a problem).\n */\n setId(genId());\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, []);\n (0,compat_module.useEffect)(function () {\n if (serverHandoffComplete === false) {\n /*\n * Flag all future uses of `useId` to skip the update dance. This is in\n * `useEffect` because it goes after `useLayoutEffect`, ensuring we don\'t\n * accidentally bail out of the patch-up dance prematurely.\n */\n serverHandoffComplete = true;\n }\n }, []);\n return id != null ? String(id) : undefined;\n}\n\n\n\n// EXTERNAL MODULE: ./node_modules/@reach/utils/can-use-dom/dist/reach-utils-can-use-dom.esm.js\nvar reach_utils_can_use_dom_esm = __webpack_require__(937);\n;// ./node_modules/@reach/utils/owner-document/dist/reach-utils-owner-document.esm.js\n\n\n/**\n * Get an element\'s owner document. Useful when components are used in iframes\n * or other environments like dev tools.\n *\n * @param element\n */\n\nfunction getOwnerDocument(element) {\n return (0,reach_utils_can_use_dom_esm/* canUseDOM */.S)() ? element ? element.ownerDocument : document : null;\n}\n/**\n * TODO: Remove in 1.0\n */\n\nfunction getOwnerWindow(element) {\n var ownerDocument = getOwnerDocument(element);\n return ownerDocument ? ownerDocument.defaultView || window : null;\n}\n\n\n\n;// ./node_modules/@reach/utils/get-document-dimensions/dist/reach-utils-get-document-dimensions.esm.js\n\n\n\n/**\n * Get the size of the working document minus the scrollbar offset.\n *\n * @param element\n */\n\nfunction getDocumentDimensions(element) {\n var _ownerDocument$docume, _ownerDocument$docume2;\n\n var ownerDocument = getOwnerDocument(element);\n var ownerWindow = ownerDocument.defaultView || window;\n\n if (!ownerDocument) {\n return {\n width: 0,\n height: 0\n };\n }\n\n return {\n width: (_ownerDocument$docume = ownerDocument.documentElement.clientWidth) != null ? _ownerDocument$docume : ownerWindow.innerWidth,\n height: (_ownerDocument$docume2 = ownerDocument.documentElement.clientHeight) != null ? _ownerDocument$docume2 : ownerWindow.innerHeight\n };\n}\n\n\n\n;// ./node_modules/@reach/utils/make-id/dist/reach-utils-make-id.esm.js\n/**\n * Joins strings to format IDs for compound components.\n *\n * @param args\n */\nfunction makeId() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return args.filter(function (val) {\n return val != null;\n }).join("--");\n}\n\n\n\n;// ./node_modules/@reach/utils/dev-utils/dist/reach-utils-dev-utils.esm.js\n\n\n/* eslint-disable react-hooks/rules-of-hooks */\nvar checkedPkgs = {};\n/**\n * Just a lil state logger\n *\n * @param state\n * @param DEBUG\n */\n\nfunction useStateLogger(state, DEBUG) {\n if (DEBUG === void 0) {\n DEBUG = false;\n }\n\n if (false) { var debugRef; }\n}\n/**\n * When in dev mode, checks that styles for a given `@reach` package are loaded.\n *\n * @param packageName Name of the package to check.\n * @example checkStyles("dialog") will check for styles for @reach/dialog\n */\n\nfunction checkStyles(packageName) {\n if (false) { var _ref, environment; }\n}\n/**\n * When in dev mode, checks that styles for a given `@reach` package are loaded.\n *\n * @param packageName Name of the package to check.\n * @example useCheckStyles("dialog") will check for styles for @reach/dialog\n */\n\nfunction useCheckStyles(packageName) {\n if (false) { var name; }\n}\n/**\n * Logs a warning in dev mode when a component switches from controlled to\n * uncontrolled, or vice versa\n *\n * A single prop should typically be used to determine whether or not a\n * component is controlled or not.\n *\n * @param controlledValue\n * @param controlledPropName\n * @param componentName\n */\n\nfunction useControlledSwitchWarning(controlledValue, controlledPropName, componentName) {\n if (false) { var nameCache, controlledRef; }\n}\n\n\n\n;// ./node_modules/@reach/utils/type-check/dist/reach-utils-type-check.esm.js\n/**\n * Checks whether or not a value is a boolean.\n *\n * @param value\n */\nfunction isBoolean(value) {\n return typeof value === "boolean";\n}\n/**\n * Checks whether or not a value is a function.\n *\n * @param value\n */\n\nfunction isFunction(value) {\n // eslint-disable-next-line eqeqeq\n return !!(value && {}.toString.call(value) == "[object Function]");\n}\n/**\n * Checks whether or not a value is a number.\n *\n * @param value\n */\n\nfunction isNumber(value) {\n return typeof value === "number" && !isNaN(value);\n}\n/**\n * Checks whether or not a value is a string.\n *\n * @param value\n */\n\nfunction isString(value) {\n return typeof value === "string";\n}\n\n\n\n;// ./node_modules/@reach/utils/compose-refs/dist/reach-utils-compose-refs.esm.js\n\n\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === "string") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === "Object" && o.constructor) n = o.constructor.name;\n if (n === "Map" || n === "Set") return Array.from(o);\n if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");\n }\n\n it = o[Symbol.iterator]();\n return it.next.bind(it);\n}\n\n/**\n * Passes or assigns an arbitrary value to a ref function or object.\n *\n * @param ref\n * @param value\n */\nfunction assignRef(ref, value) {\n if (ref == null) return;\n\n if (isFunction(ref)) {\n ref(value);\n } else {\n try {\n ref.current = value;\n } catch (error) {\n throw new Error("Cannot assign value \\"" + value + "\\" to ref \\"" + ref + "\\"");\n }\n }\n}\n/**\n * Passes or assigns a value to multiple refs (typically a DOM node). Useful for\n * dealing with components that need an explicit ref for DOM calculations but\n * also forwards refs assigned by an app.\n *\n * @param refs Refs to fork\n */\n\nfunction useComposedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return (0,compat_module.useCallback)(function (node) {\n for (var _iterator = _createForOfIteratorHelperLoose(refs), _step; !(_step = _iterator()).done;) {\n var ref = _step.value;\n assignRef(ref, node);\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, refs);\n}\n\n\n\n;// ./node_modules/@reach/utils/compose-event-handlers/dist/reach-utils-compose-event-handlers.esm.js\n/**\n * Wraps a lib-defined event handler and a user-defined event handler, returning\n * a single handler that allows a user to prevent lib-defined handlers from\n * firing.\n *\n * @param theirHandler User-supplied event handler\n * @param ourHandler Library-supplied event handler\n */\nfunction composeEventHandlers(theirHandler, ourHandler) {\n return function (event) {\n theirHandler && theirHandler(event);\n\n if (!event.defaultPrevented) {\n return ourHandler(event);\n }\n };\n}\n\n\n\n// EXTERNAL MODULE: ./node_modules/@reach/portal/dist/reach-portal.esm.js + 1 modules\nvar reach_portal_esm = __webpack_require__(741);\n;// ./node_modules/@reach/visually-hidden/dist/reach-visually-hidden.esm.js\n\n\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar _excluded = ["as", "style"];\n\n/**\n * VisuallyHidden\n *\n * Provides text for screen readers that is visually hidden.\n * It is the logical opposite of the `aria-hidden` attribute.\n */\nvar VisuallyHidden = /*#__PURE__*/(0,compat_module.forwardRef)(function VisuallyHidden(_ref, ref) {\n var _ref$as = _ref.as,\n Comp = _ref$as === void 0 ? "span" : _ref$as,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n return /*#__PURE__*/(0,compat_module.createElement)(Comp, _extends({\n ref: ref,\n style: _extends({\n border: 0,\n clip: "rect(0 0 0 0)",\n height: "1px",\n margin: "-1px",\n overflow: "hidden",\n padding: 0,\n position: "absolute",\n width: "1px",\n // https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe\n whiteSpace: "nowrap",\n wordWrap: "normal"\n }, style)\n }, props));\n});\n/**\n * @see Docs https://reach.tech/visually-hidden#visuallyhidden-props\n */\n\nif (false) {} ////////////////////////////////////////////////////////////////////////////////\n\n/* harmony default export */ const reach_visually_hidden_esm = ((/* unused pure expression or super */ null && (VisuallyHidden)));\n\n\n;// ./node_modules/@reach/observe-rect/dist/observe-rect.esm.js\nvar props = ["bottom", "height", "left", "right", "top", "width"];\n\nvar rectChanged = function rectChanged(a, b) {\n if (a === void 0) {\n a = {};\n }\n\n if (b === void 0) {\n b = {};\n }\n\n return props.some(function (prop) {\n return a[prop] !== b[prop];\n });\n};\n\nvar observedNodes = /*#__PURE__*/new Map();\nvar rafId;\n\nvar run = function run() {\n var changedStates = [];\n observedNodes.forEach(function (state, node) {\n var newRect = node.getBoundingClientRect();\n\n if (rectChanged(newRect, state.rect)) {\n state.rect = newRect;\n changedStates.push(state);\n }\n });\n changedStates.forEach(function (state) {\n state.callbacks.forEach(function (cb) {\n return cb(state.rect);\n });\n });\n rafId = window.requestAnimationFrame(run);\n};\n\nfunction observeRect(node, cb) {\n return {\n observe: function observe() {\n var wasEmpty = observedNodes.size === 0;\n\n if (observedNodes.has(node)) {\n observedNodes.get(node).callbacks.push(cb);\n } else {\n observedNodes.set(node, {\n rect: undefined,\n hasRectChanged: false,\n callbacks: [cb]\n });\n }\n\n if (wasEmpty) run();\n },\n unobserve: function unobserve() {\n var state = observedNodes.get(node);\n\n if (state) {\n // Remove the callback\n var index = state.callbacks.indexOf(cb);\n if (index >= 0) state.callbacks.splice(index, 1); // Remove the node reference\n\n if (!state.callbacks.length) observedNodes["delete"](node); // Stop the loop\n\n if (!observedNodes.size) cancelAnimationFrame(rafId);\n }\n }\n };\n}\n\n/* harmony default export */ const observe_rect_esm = (observeRect);\n//# sourceMappingURL=observe-rect.esm.js.map\n\n;// ./node_modules/@reach/rect/dist/reach-rect.esm.js\n\n\n\n\n\n\n\n/**\n * Welcome to @reach/rect!\n *\n * Measures DOM elements (aka. bounding client rect).\n *\n * @see getBoundingClientRect https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect\n * @see Docs https://reach.tech/rect\n * @see Source https://github.com/reach/reach-ui/tree/main/packages/rect\n */\n\n/**\n * Rect\n *\n * @param props\n */\n\nvar Rect = function Rect(_ref) {\n var onChange = _ref.onChange,\n _ref$observe = _ref.observe,\n observe = _ref$observe === void 0 ? true : _ref$observe,\n children = _ref.children;\n var ref = useRef(null);\n var rect = useRect(ref, {\n observe: observe,\n onChange: onChange\n });\n return children({\n ref: ref,\n rect: rect\n });\n};\n/**\n * @see Docs https://reach.tech/rect#rect-props\n */\n\n\nif (false) {} ////////////////////////////////////////////////////////////////////////////////\n\n\n/**\n * useRect\n *\n * @param nodeRef\n * @param observe\n * @param onChange\n */\nfunction useRect(nodeRef, observeOrOptions, deprecated_onChange) {\n var observe;\n var onChange;\n\n if (isBoolean(observeOrOptions)) {\n observe = observeOrOptions;\n } else {\n var _observeOrOptions$obs;\n\n observe = (_observeOrOptions$obs = observeOrOptions == null ? void 0 : observeOrOptions.observe) != null ? _observeOrOptions$obs : true;\n onChange = observeOrOptions == null ? void 0 : observeOrOptions.onChange;\n }\n\n if (isFunction(deprecated_onChange)) {\n onChange = deprecated_onChange;\n }\n\n if (false) {}\n\n var _React$useState = (0,compat_module.useState)(nodeRef.current),\n element = _React$useState[0],\n setElement = _React$useState[1];\n\n var initialRectIsSet = (0,compat_module.useRef)(false);\n var initialRefIsSet = (0,compat_module.useRef)(false);\n\n var _React$useState2 = (0,compat_module.useState)(null),\n rect = _React$useState2[0],\n setRect = _React$useState2[1];\n\n var onChangeRef = (0,compat_module.useRef)(onChange); // eslint-disable-next-line react-hooks/exhaustive-deps\n\n (0,reach_utils_use_isomorphic_layout_effect_esm/* useIsomorphicLayoutEffect */.E)(function () {\n onChangeRef.current = onChange;\n\n if (nodeRef.current !== element) {\n setElement(nodeRef.current);\n }\n });\n (0,reach_utils_use_isomorphic_layout_effect_esm/* useIsomorphicLayoutEffect */.E)(function () {\n if (element && !initialRectIsSet.current) {\n initialRectIsSet.current = true;\n setRect(element.getBoundingClientRect());\n }\n }, [element]);\n (0,reach_utils_use_isomorphic_layout_effect_esm/* useIsomorphicLayoutEffect */.E)(function () {\n if (!observe) {\n return;\n }\n\n var elem = element; // State initializes before refs are placed, meaning the element state will\n // be undefined on the first render. We still want the rect on the first\n // render, so initially we\'ll use the nodeRef that was passed instead of\n // state for our measurements.\n\n if (!initialRefIsSet.current) {\n initialRefIsSet.current = true;\n elem = nodeRef.current;\n }\n\n if (!elem) {\n if (false) {}\n\n return;\n }\n\n var observer = observe_rect_esm(elem, function (rect) {\n onChangeRef.current == null ? void 0 : onChangeRef.current(rect);\n setRect(rect);\n });\n observer.observe();\n return function () {\n observer.unobserve();\n };\n }, [observe, element, nodeRef]);\n return rect;\n}\n\n/* harmony default export */ const reach_rect_esm = ((/* unused pure expression or super */ null && (Rect)));\n\n\n;// ./node_modules/@reach/tooltip/dist/reach-tooltip.esm.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction reach_tooltip_esm_extends() {\n reach_tooltip_esm_extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return reach_tooltip_esm_extends.apply(this, arguments);\n}\n\nfunction reach_tooltip_esm_objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar reach_tooltip_esm_excluded = ["children", "label", "ariaLabel", "id", "DEBUG_STYLE"],\n _excluded2 = ["label", "ariaLabel", "isVisible", "id"],\n _excluded3 = ["ariaLabel", "aria-label", "as", "id", "isVisible", "label", "position", "style", "triggerRect"],\n _excluded4 = ["type"];\n\nvar _on, _on2, _on3, _on4, _on5, _states;\nvar MOUSE_REST_TIMEOUT = 100;\nvar LEAVE_TIMEOUT = 500; ////////////////////////////////////////////////////////////////////////////////\n// States\n\nvar TooltipStates; ////////////////////////////////////////////////////////////////////////////////\n// Events\n\n(function (TooltipStates) {\n TooltipStates["Idle"] = "IDLE";\n TooltipStates["Focused"] = "FOCUSED";\n TooltipStates["Visible"] = "VISIBLE";\n TooltipStates["LeavingVisible"] = "LEAVING_VISIBLE";\n TooltipStates["Dismissed"] = "DISMISSED";\n})(TooltipStates || (TooltipStates = {}));\n\nvar TooltipEvents;\n\n(function (TooltipEvents) {\n TooltipEvents["Blur"] = "BLUR";\n TooltipEvents["Focus"] = "FOCUS";\n TooltipEvents["GlobalMouseMove"] = "GLOBAL_MOUSE_MOVE";\n TooltipEvents["MouseDown"] = "MOUSE_DOWN";\n TooltipEvents["MouseEnter"] = "MOUSE_ENTER";\n TooltipEvents["MouseLeave"] = "MOUSE_LEAVE";\n TooltipEvents["MouseMove"] = "MOUSE_MOVE";\n TooltipEvents["Rest"] = "REST";\n TooltipEvents["SelectWithKeyboard"] = "SELECT_WITH_KEYBOARD";\n TooltipEvents["TimeComplete"] = "TIME_COMPLETE";\n})(TooltipEvents || (TooltipEvents = {}));\n\nvar chart = {\n initial: TooltipStates.Idle,\n states: (_states = {}, _states[TooltipStates.Idle] = {\n enter: clearContextId,\n on: (_on = {}, _on[TooltipEvents.MouseEnter] = TooltipStates.Focused, _on[TooltipEvents.Focus] = TooltipStates.Visible, _on)\n }, _states[TooltipStates.Focused] = {\n enter: startRestTimer,\n leave: clearRestTimer,\n on: (_on2 = {}, _on2[TooltipEvents.MouseMove] = TooltipStates.Focused, _on2[TooltipEvents.MouseLeave] = TooltipStates.Idle, _on2[TooltipEvents.MouseDown] = TooltipStates.Dismissed, _on2[TooltipEvents.Blur] = TooltipStates.Idle, _on2[TooltipEvents.Rest] = TooltipStates.Visible, _on2)\n }, _states[TooltipStates.Visible] = {\n on: (_on3 = {}, _on3[TooltipEvents.Focus] = TooltipStates.Focused, _on3[TooltipEvents.MouseEnter] = TooltipStates.Focused, _on3[TooltipEvents.MouseLeave] = TooltipStates.LeavingVisible, _on3[TooltipEvents.Blur] = TooltipStates.LeavingVisible, _on3[TooltipEvents.MouseDown] = TooltipStates.Dismissed, _on3[TooltipEvents.SelectWithKeyboard] = TooltipStates.Dismissed, _on3[TooltipEvents.GlobalMouseMove] = TooltipStates.LeavingVisible, _on3)\n }, _states[TooltipStates.LeavingVisible] = {\n enter: startLeavingVisibleTimer,\n leave: function leave() {\n clearLeavingVisibleTimer();\n clearContextId();\n },\n on: (_on4 = {}, _on4[TooltipEvents.MouseEnter] = TooltipStates.Visible, _on4[TooltipEvents.Focus] = TooltipStates.Visible, _on4[TooltipEvents.TimeComplete] = TooltipStates.Idle, _on4)\n }, _states[TooltipStates.Dismissed] = {\n leave: function leave() {\n clearContextId();\n },\n on: (_on5 = {}, _on5[TooltipEvents.MouseLeave] = TooltipStates.Idle, _on5[TooltipEvents.Blur] = TooltipStates.Idle, _on5)\n }, _states)\n};\n/*\n * Chart context allows us to persist some data around, in Tooltip all we use\n * is the id of the current tooltip being interacted with.\n */\n\nvar state = {\n value: chart.initial,\n context: {\n id: null\n }\n}; ////////////////////////////////////////////////////////////////////////////////\n// Subscriptions:\n//\n// We could require apps to render a <TooltipProvider> around the app and use\n// React context to notify Tooltips of changes to our state machine, instead\n// we manage subscriptions ourselves and simplify the Tooltip API.\n//\n// Maybe if default context could take a hook (instead of just a static value)\n// that was rendered at the root for us, that\'d be cool! But it doesn\'t.\n\nvar subscriptions = [];\n\nfunction subscribe(fn) {\n subscriptions.push(fn);\n return function () {\n subscriptions.splice(subscriptions.indexOf(fn), 1);\n };\n}\n\nfunction notify() {\n subscriptions.forEach(function (fn) {\n return fn(state);\n });\n} ////////////////////////////////////////////////////////////////////////////////\n// Timeouts:\n// Manages when the user "rests" on an element. Keeps the interface from being\n// flashing tooltips all the time as the user moves the mouse around the screen.\n\n\nvar restTimeout;\n\nfunction startRestTimer() {\n window.clearTimeout(restTimeout);\n restTimeout = window.setTimeout(function () {\n send({\n type: TooltipEvents.Rest\n });\n }, MOUSE_REST_TIMEOUT);\n}\n\nfunction clearRestTimer() {\n window.clearTimeout(restTimeout);\n} // Manages the delay to hide the tooltip after rest leaves.\n\n\nvar leavingVisibleTimer;\n\nfunction startLeavingVisibleTimer() {\n window.clearTimeout(leavingVisibleTimer);\n leavingVisibleTimer = window.setTimeout(function () {\n return send({\n type: TooltipEvents.TimeComplete\n });\n }, LEAVE_TIMEOUT);\n}\n\nfunction clearLeavingVisibleTimer() {\n window.clearTimeout(leavingVisibleTimer);\n} // allows us to come on back later w/o entering something else first after the\n// user leaves or dismisses\n\n\nfunction clearContextId() {\n state.context.id = null;\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * useTooltip\n *\n * @param params\n */\n\n\nfunction useTooltip(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n idProp = _ref.id,\n onPointerEnter = _ref.onPointerEnter,\n onPointerMove = _ref.onPointerMove,\n onPointerLeave = _ref.onPointerLeave,\n onPointerDown = _ref.onPointerDown,\n onMouseEnter = _ref.onMouseEnter,\n onMouseMove = _ref.onMouseMove,\n onMouseLeave = _ref.onMouseLeave,\n onMouseDown = _ref.onMouseDown,\n onFocus = _ref.onFocus,\n onBlur = _ref.onBlur,\n onKeyDown = _ref.onKeyDown,\n disabled = _ref.disabled,\n forwardedRef = _ref.ref,\n DEBUG_STYLE = _ref.DEBUG_STYLE;\n\n var id = String(useId(idProp));\n\n var _React$useState = (0,compat_module.useState)(DEBUG_STYLE ? true : isTooltipVisible(id, true)),\n isVisible = _React$useState[0],\n setIsVisible = _React$useState[1]; // hopefully they always pass a ref if they ever pass one\n\n\n var ownRef = (0,compat_module.useRef)(null);\n var ref = useComposedRefs(forwardedRef, ownRef);\n var triggerRect = useRect(ownRef, {\n observe: isVisible\n });\n (0,compat_module.useEffect)(function () {\n return subscribe(function () {\n setIsVisible(isTooltipVisible(id));\n });\n }, [id]);\n useCheckStyles("tooltip");\n (0,compat_module.useEffect)(function () {\n var ownerDocument = getOwnerDocument(ownRef.current);\n\n function listener(event) {\n if ((event.key === "Escape" || event.key === "Esc") && state.value === TooltipStates.Visible) {\n send({\n type: TooltipEvents.SelectWithKeyboard\n });\n }\n }\n\n ownerDocument.addEventListener("keydown", listener);\n return function () {\n return ownerDocument.removeEventListener("keydown", listener);\n };\n }, []);\n useDisabledTriggerOnSafari({\n disabled: disabled,\n isVisible: isVisible,\n ref: ownRef\n });\n\n function wrapMouseEvent(theirHandler, ourHandler) {\n // Use internal MouseEvent handler only if PointerEvent is not supported\n if (typeof window !== "undefined" && "PointerEvent" in window) {\n return theirHandler;\n }\n\n return composeEventHandlers(theirHandler, ourHandler);\n }\n\n function wrapPointerEventHandler(handler) {\n return function onPointerEvent(event) {\n // Handle pointer events only from mouse device\n if (event.pointerType !== "mouse") {\n return;\n }\n\n handler(event);\n };\n }\n\n function handleMouseEnter() {\n send({\n type: TooltipEvents.MouseEnter,\n id: id\n });\n }\n\n function handleMouseMove() {\n send({\n type: TooltipEvents.MouseMove,\n id: id\n });\n }\n\n function handleMouseLeave() {\n send({\n type: TooltipEvents.MouseLeave\n });\n }\n\n function handleMouseDown() {\n // Allow quick click from one tool to another\n if (state.context.id === id) {\n send({\n type: TooltipEvents.MouseDown\n });\n }\n }\n\n function handleFocus() {\n // @ts-ignore\n if (window.__REACH_DISABLE_TOOLTIPS) {\n return;\n }\n\n send({\n type: TooltipEvents.Focus,\n id: id\n });\n }\n\n function handleBlur() {\n // Allow quick click from one tool to another\n if (state.context.id === id) {\n send({\n type: TooltipEvents.Blur\n });\n }\n }\n\n function handleKeyDown(event) {\n if (event.key === "Enter" || event.key === " ") {\n send({\n type: TooltipEvents.SelectWithKeyboard\n });\n }\n }\n\n var trigger = {\n // The element that triggers the tooltip references the tooltip element with\n // `aria-describedby`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#tooltip\n "aria-describedby": isVisible ? makeId("tooltip", id) : undefined,\n "data-state": isVisible ? "tooltip-visible" : "tooltip-hidden",\n "data-reach-tooltip-trigger": "",\n ref: ref,\n onPointerEnter: composeEventHandlers(onPointerEnter, wrapPointerEventHandler(handleMouseEnter)),\n onPointerMove: composeEventHandlers(onPointerMove, wrapPointerEventHandler(handleMouseMove)),\n onPointerLeave: composeEventHandlers(onPointerLeave, wrapPointerEventHandler(handleMouseLeave)),\n onPointerDown: composeEventHandlers(onPointerDown, wrapPointerEventHandler(handleMouseDown)),\n onMouseEnter: wrapMouseEvent(onMouseEnter, handleMouseEnter),\n onMouseMove: wrapMouseEvent(onMouseMove, handleMouseMove),\n onMouseLeave: wrapMouseEvent(onMouseLeave, handleMouseLeave),\n onMouseDown: wrapMouseEvent(onMouseDown, handleMouseDown),\n onFocus: composeEventHandlers(onFocus, handleFocus),\n onBlur: composeEventHandlers(onBlur, handleBlur),\n onKeyDown: composeEventHandlers(onKeyDown, handleKeyDown)\n };\n var tooltip = {\n id: id,\n triggerRect: triggerRect,\n isVisible: isVisible\n };\n return [trigger, tooltip, isVisible];\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Tooltip\n *\n * @see Docs https://reach.tech/tooltip#tooltip\n */\n\n\nvar Tooltip = /*#__PURE__*/(0,compat_module.forwardRef)(function (_ref2, forwardedRef) {\n var children = _ref2.children,\n label = _ref2.label,\n DEPRECATED_ariaLabel = _ref2.ariaLabel,\n id = _ref2.id,\n DEBUG_STYLE = _ref2.DEBUG_STYLE,\n props = reach_tooltip_esm_objectWithoutPropertiesLoose(_ref2, reach_tooltip_esm_excluded);\n\n var child = compat_module.Children.only(children);\n false ? 0 : void 0; // We need to pass some properties from the child into useTooltip\n // to make sure users can maintain control over the trigger\'s ref and events\n\n var _useTooltip = useTooltip({\n id: id,\n onPointerEnter: child.props.onPointerEnter,\n onPointerMove: child.props.onPointerMove,\n onPointerLeave: child.props.onPointerLeave,\n onPointerDown: child.props.onPointerDown,\n onMouseEnter: child.props.onMouseEnter,\n onMouseMove: child.props.onMouseMove,\n onMouseLeave: child.props.onMouseLeave,\n onMouseDown: child.props.onMouseDown,\n onFocus: child.props.onFocus,\n onBlur: child.props.onBlur,\n onKeyDown: child.props.onKeyDown,\n disabled: child.props.disabled,\n ref: child.ref,\n DEBUG_STYLE: DEBUG_STYLE\n }),\n trigger = _useTooltip[0],\n tooltip = _useTooltip[1];\n\n return /*#__PURE__*/(0,compat_module.createElement)(compat_module.Fragment, null, /*#__PURE__*/(0,compat_module.cloneElement)(child, trigger), /*#__PURE__*/(0,compat_module.createElement)(TooltipPopup, reach_tooltip_esm_extends({\n ref: forwardedRef,\n label: label,\n "aria-label": DEPRECATED_ariaLabel\n }, tooltip, props)));\n});\n\nif (false) {} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * TooltipPopup\n *\n * @see Docs https://reach.tech/tooltip#tooltippopup\n */\n\n\nvar TooltipPopup = /*#__PURE__*/(0,compat_module.forwardRef)(function TooltipPopup(_ref3, forwardRef) {\n var label = _ref3.label,\n DEPRECATED_ariaLabel = _ref3.ariaLabel,\n isVisible = _ref3.isVisible,\n id = _ref3.id,\n props = reach_tooltip_esm_objectWithoutPropertiesLoose(_ref3, _excluded2);\n\n return isVisible ? /*#__PURE__*/(0,compat_module.createElement)(reach_portal_esm.Portal, null, /*#__PURE__*/(0,compat_module.createElement)(TooltipContent, reach_tooltip_esm_extends({\n ref: forwardRef,\n label: label,\n "aria-label": DEPRECATED_ariaLabel,\n isVisible: isVisible\n }, props, {\n id: makeId("tooltip", String(id))\n }))) : null;\n});\n\nif (false) {}\n/**\n * TooltipContent\n *\n * We need a separate component so that useRect works inside the portal.\n *\n * @see Docs https://reach.tech/tooltip#tooltipcontent\n */\n\n\nvar TooltipContent = /*#__PURE__*/(0,compat_module.forwardRef)(function TooltipContent(_ref4, forwardedRef) {\n var ariaLabel = _ref4.ariaLabel,\n realAriaLabel = _ref4["aria-label"],\n _ref4$as = _ref4.as,\n Comp = _ref4$as === void 0 ? "div" : _ref4$as,\n id = _ref4.id,\n isVisible = _ref4.isVisible,\n label = _ref4.label,\n _ref4$position = _ref4.position,\n position = _ref4$position === void 0 ? positionTooltip : _ref4$position,\n style = _ref4.style,\n triggerRect = _ref4.triggerRect,\n props = reach_tooltip_esm_objectWithoutPropertiesLoose(_ref4, _excluded3);\n\n // The element that serves as the tooltip container has role tooltip.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#tooltip When an app passes\n // an `aria-label`, we actually want to implement `role="tooltip"` on a\n // visually hidden element inside of the trigger. In these cases we want the\n // screen reader user to know both the content in the tooltip, but also the\n // content in the badge. For screen reader users, the only content announced\n // to them is whatever is in the tooltip.\n var hasAriaLabel = (realAriaLabel || ariaLabel) != null;\n var ownRef = (0,compat_module.useRef)(null);\n var ref = useComposedRefs(forwardedRef, ownRef);\n var tooltipRect = useRect(ownRef, {\n observe: isVisible\n });\n return /*#__PURE__*/(0,compat_module.createElement)(compat_module.Fragment, null, /*#__PURE__*/(0,compat_module.createElement)(Comp, reach_tooltip_esm_extends({\n role: hasAriaLabel ? undefined : "tooltip"\n }, props, {\n ref: ref,\n "data-reach-tooltip": "",\n id: hasAriaLabel ? undefined : id,\n style: reach_tooltip_esm_extends({}, style, getStyles(position, triggerRect, tooltipRect))\n }), label), hasAriaLabel && /*#__PURE__*/(0,compat_module.createElement)(VisuallyHidden, {\n role: "tooltip",\n id: id\n }, realAriaLabel || ariaLabel));\n});\n\nif (false) {} ////////////////////////////////////////////////////////////////////////////////\n\n\nfunction getStyles(position, triggerRect, tooltipRect) {\n var haventMeasuredTooltipYet = !tooltipRect;\n\n if (haventMeasuredTooltipYet) {\n return {\n visibility: "hidden"\n };\n }\n\n return position(triggerRect, tooltipRect);\n} // Default offset from the trigger (e.g., if the tooltip is positioned above,\n// there will be 8px between the bottom of the tooltip and the top of the trigger).\n// It feels awkward when it\'s perfectly aligned w/ the trigger\n\n\nvar OFFSET_DEFAULT = 8;\nvar positionTooltip = function positionTooltip(triggerRect, tooltipRect, offset) {\n if (offset === void 0) {\n offset = OFFSET_DEFAULT;\n }\n\n var _getDocumentDimension = getDocumentDimensions(),\n windowWidth = _getDocumentDimension.width,\n windowHeight = _getDocumentDimension.height;\n\n if (!triggerRect || !tooltipRect) {\n return {};\n }\n\n var collisions = {\n top: triggerRect.top - tooltipRect.height < 0,\n right: windowWidth < triggerRect.left + tooltipRect.width,\n bottom: windowHeight < triggerRect.bottom + tooltipRect.height + offset,\n left: triggerRect.left - tooltipRect.width < 0\n };\n var directionRight = collisions.right && !collisions.left;\n var directionUp = collisions.bottom && !collisions.top;\n return {\n left: directionRight ? triggerRect.right - tooltipRect.width + window.pageXOffset + "px" : triggerRect.left + window.pageXOffset + "px",\n top: directionUp ? triggerRect.top - offset - tooltipRect.height + window.pageYOffset + "px" : triggerRect.top + offset + triggerRect.height + window.pageYOffset + "px"\n };\n};\n/**\n * This is a workaround for using tooltips with disabled controls in Safari.\n * Safari fires `pointerenter` but does not fire `pointerleave`, and\n * `onPointerEventLeave` added to the trigger element will not work.\n *\n * TODO: We may remove or modiify this behavior in a future version. Direction\n * from WAI-ARIA needed for guidance on handling disabled triggers. Tooltips\n * must be accessible by keyboard, and disabled form controls are generally\n * excluded from the tab sequence.\n *\n * @see https://github.com/reach/reach-ui/issues/564\n * @see https://github.com/w3c/aria-practices/issues/128#issuecomment-588625727\n */\n\nfunction useDisabledTriggerOnSafari(_ref5) {\n var disabled = _ref5.disabled,\n isVisible = _ref5.isVisible,\n ref = _ref5.ref;\n (0,compat_module.useEffect)(function () {\n if (!(typeof window !== "undefined" && "PointerEvent" in window) || !disabled || !isVisible) {\n return;\n }\n\n var ownerDocument = getOwnerDocument(ref.current);\n\n function handleMouseMove(event) {\n if (!isVisible) {\n return;\n }\n\n if (event.target instanceof Element && event.target.closest("[data-reach-tooltip-trigger][data-state=\'tooltip-visible\']")) {\n return;\n }\n\n send({\n type: TooltipEvents.GlobalMouseMove\n });\n }\n\n ownerDocument.addEventListener("mousemove", handleMouseMove);\n return function () {\n ownerDocument.removeEventListener("mousemove", handleMouseMove);\n };\n }, [disabled, isVisible, ref]);\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Send an event to our state machine to find the next state from the current\n * state + action.\n *\n * It also manages lifecycles of the machine, (enter/leave hooks on the state\n * chart)\n *\n * @param event\n * @param payload\n */\n\n\nfunction send(event) {\n var _transition = transition(state, event),\n value = _transition.value,\n context = _transition.context,\n changed = _transition.changed;\n\n if (changed) {\n state = {\n value: value,\n context: context\n };\n notify();\n }\n}\n\nfunction transition(currentState, event) {\n var stateDef = chart.states[currentState.value];\n var nextState = stateDef && stateDef.on && stateDef.on[event.type]; // Really useful for debugging\n // console.log({ event, state, nextState, contextId: context.id });\n // !nextState && console.log("no transition taken");\n\n if (!nextState) {\n return reach_tooltip_esm_extends({}, currentState, {\n changed: false\n });\n }\n\n if (stateDef && stateDef.leave) {\n stateDef.leave(currentState.context, event);\n }\n\n event.type;\n var payload = reach_tooltip_esm_objectWithoutPropertiesLoose(event, _excluded4); // TODO: Use actions instead of directly setting context\n\n\n var context = reach_tooltip_esm_extends({}, state.context, payload);\n\n var nextStateValue = typeof nextState === "string" ? nextState : nextState.target;\n var nextDef = chart.states[nextStateValue];\n\n if (nextDef && nextDef.enter) {\n nextDef.enter(currentState.context, event);\n }\n\n return {\n value: nextStateValue,\n context: context,\n changed: true\n };\n}\n\nfunction isTooltipVisible(id, initial) {\n return state.context.id === id && (initial ? state.value === TooltipStates.Visible : state.value === TooltipStates.Visible || state.value === TooltipStates.LeavingVisible);\n} ////////////////////////////////////////////////////////////////////////////////\n\n/* harmony default export */ const reach_tooltip_esm = (Tooltip);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDJCQUFTO0FBQ1g7QUFDQTtBQUNBOztBQUVBLHdCQUF3QixnQkFBZ0I7O0FBRXhDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esc0VBQXNFO0FBQ3RFLG1CQUFtQixnREFBZ0Q7QUFDbkU7O0FBRUE7QUFDQSxXQUFXLHlCQUFRLEdBQUc7QUFDdEI7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0JBQW9CLDhDQUE2QixxQkFBcUI7OztBQUd0RSxnQkFBZ0IseUJBQVEsR0FBRzs7QUFFM0I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFOztBQUVGLHdEQUFlLE9BQU8sRUFBQztBQUMwRSIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL0ByZWFjaC9hdXRvLWlkL2Rpc3QvcmVhY2gtYXV0by1pZC5lc20uanM/Mjg3YSIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdXRpbHMvb3duZXItZG9jdW1lbnQvZGlzdC9yZWFjaC11dGlscy1vd25lci1kb2N1bWVudC5lc20uanM/YTc2YyIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdXRpbHMvZ2V0LWRvY3VtZW50LWRpbWVuc2lvbnMvZGlzdC9yZWFjaC11dGlscy1nZXQtZG9jdW1lbnQtZGltZW5zaW9ucy5lc20uanM/NzlkOCIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdXRpbHMvbWFrZS1pZC9kaXN0L3JlYWNoLXV0aWxzLW1ha2UtaWQuZXNtLmpzP2Q4ODYiLCJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9ub2RlX21vZHVsZXMvQHJlYWNoL3V0aWxzL2Rldi11dGlscy9kaXN0L3JlYWNoLXV0aWxzLWRldi11dGlscy5lc20uanM/NjViNSIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdXRpbHMvdHlwZS1jaGVjay9kaXN0L3JlYWNoLXV0aWxzLXR5cGUtY2hlY2suZXNtLmpzP2I4ZWEiLCJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9ub2RlX21vZHVsZXMvQHJlYWNoL3V0aWxzL2NvbXBvc2UtcmVmcy9kaXN0L3JlYWNoLXV0aWxzLWNvbXBvc2UtcmVmcy5lc20uanM/YTYzMCIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdXRpbHMvY29tcG9zZS1ldmVudC1oYW5kbGVycy9kaXN0L3JlYWNoLXV0aWxzLWNvbXBvc2UtZXZlbnQtaGFuZGxlcnMuZXNtLmpzP2YxOWMiLCJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9ub2RlX21vZHVsZXMvQHJlYWNoL3Zpc3VhbGx5LWhpZGRlbi9kaXN0L3JlYWNoLXZpc3VhbGx5LWhpZGRlbi5lc20uanM/ZTk3NCIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvb2JzZXJ2ZS1yZWN0L2Rpc3Qvb2JzZXJ2ZS1yZWN0LmVzbS5qcz80NGJhIiwid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL0ByZWFjaC9yZWN0L2Rpc3QvcmVhY2gtcmVjdC5lc20uanM/Y2JmNyIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdG9vbHRpcC9kaXN0L3JlYWNoLXRvb2x0aXAuZXNtLmpzP2UyNjgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QgfSBmcm9tICdAcmVhY2gvdXRpbHMvdXNlLWlzb21vcnBoaWMtbGF5b3V0LWVmZmVjdCc7XG5cbi8qXG4gKiBXZWxjb21lIHRvIEByZWFjaC9hdXRvLWlkIVxuXG4gKiBMZXQncyBzZWUgaWYgd2UgY2FuIG1ha2Ugc2Vuc2Ugb2Ygd2h5IHRoaXMgaG9vayBleGlzdHMgYW5kIGl0c1xuICogaW1wbGVtZW50YXRpb24uXG4gKlxuICogU29tZSBiYWNrZ3JvdW5kOlxuICogICAxLiBBY2Nlc3NpYmlsaXR5IEFQSXMgcmVseSBoZWF2aWx5IG9uIGVsZW1lbnQgSURzXG4gKiAgIDIuIFJlcXVpcmluZyBkZXZlbG9wZXJzIHRvIHB1dCBJRHMgb24gZXZlcnkgZWxlbWVudCBpbiBSZWFjaCBVSSBpcyBib3RoXG4gKiAgICAgIGN1bWJlcnNvbWUgYW5kIGVycm9yLXByb25lXG4gKiAgIDMuIFdpdGggYSBjb21wb25lbnQgbW9kZWwsIHdlIGNhbiBnZW5lcmF0ZSBJRHMgZm9yIHRoZW0hXG4gKlxuICogU29sdXRpb24gMTogR2VuZXJhdGUgcmFuZG9tIElEcy5cbiAqXG4gKiBUaGlzIHdvcmtzIGdyZWF0IGFzIGxvbmcgYXMgeW91IGRvbid0IHNlcnZlciByZW5kZXIgeW91ciBhcHAuIFdoZW4gUmVhY3QgKGluXG4gKiB0aGUgY2xpZW50KSB0cmllcyB0byByZXVzZSB0aGUgbWFya3VwIGZyb20gdGhlIHNlcnZlciwgdGhlIElEcyB3b24ndCBtYXRjaFxuICogYW5kIFJlYWN0IHdpbGwgdGhlbiByZWNyZWF0ZSB0aGUgZW50aXJlIERPTSB0cmVlLlxuICpcbiAqIFNvbHV0aW9uIDI6IEluY3JlbWVudCBhbiBpbnRlZ2VyXG4gKlxuICogVGhpcyBzb3VuZHMgZ3JlYXQuIFNpbmNlIHdlJ3JlIHJlbmRlcmluZyB0aGUgZXhhY3Qgc2FtZSB0cmVlIG9uIHRoZSBzZXJ2ZXJcbiAqIGFuZCBjbGllbnQsIHdlIGNhbiBpbmNyZW1lbnQgYSBjb3VudGVyIGFuZCBnZXQgYSBkZXRlcm1pbmlzdGljIHJlc3VsdCBiZXR3ZWVuXG4gKiBjbGllbnQgYW5kIHNlcnZlci4gQWxzbywgSlMgaW50ZWdlcnMgY2FuIGdvIHVwIHRvIG5pbmUtcXVhZHJpbGxpb24uIEknbVxuICogcHJldHR5IHN1cmUgdGhlIHRhYiB3aWxsIGJlIGNsb3NlZCBiZWZvcmUgYW4gYXBwIG5ldmVyIG5lZWRzXG4gKiAxMCBxdWFkcmlsbGlvbiBJRHMhXG4gKlxuICogUHJvYmxlbSBzb2x2ZWQsIHJpZ2h0P1xuICpcbiAqIEFoLCBidXQgdGhlcmUncyBhIGNhdGNoISBSZWFjdCdzIGNvbmN1cnJlbnQgcmVuZGVyaW5nIG1ha2VzIHRoaXMgYXBwcm9hY2hcbiAqIG5vbi1kZXRlcm1pbmlzdGljLiBXaGlsZSB0aGUgY2xpZW50IGFuZCBzZXJ2ZXIgd2lsbCBlbmQgdXAgd2l0aCB0aGUgc2FtZVxuICogZWxlbWVudHMgaW4gdGhlIGVuZCwgZGVwZW5kaW5nIG9uIHN1c3BlbnNlIGJvdW5kYXJpZXMgKGFuZCBwb3NzaWJseSBzb21lIHVzZXJcbiAqIGlucHV0IGR1cmluZyB0aGUgaW5pdGlhbCByZW5kZXIpIHRoZSBpbmNyZW1lbnRpbmcgaW50ZWdlcnMgd29uJ3QgYWx3YXlzIG1hdGNoXG4gKiB1cC5cbiAqXG4gKiBTb2x1dGlvbiAzOiBEb24ndCB1c2UgSURzIGF0IGFsbCBvbiB0aGUgc2VydmVyOyBwYXRjaCBhZnRlciBmaXJzdCByZW5kZXIuXG4gKlxuICogV2hhdCB3ZSd2ZSBkb25lIGhlcmUgaXMgc29sdXRpb24gMiB3aXRoIHNvbWUgdHJpY2tzLiBXaXRoIHRoaXMgYXBwcm9hY2gsIHRoZVxuICogSUQgcmV0dXJuZWQgaXMgYW4gZW1wdHkgc3RyaW5nIG9uIHRoZSBmaXJzdCByZW5kZXIuIFRoaXMgd2F5IHRoZSBzZXJ2ZXIgYW5kXG4gKiBjbGllbnQgaGF2ZSB0aGUgc2FtZSBtYXJrdXAgbm8gbWF0dGVyIGhvdyB3aWxkIHRoZSBjb25jdXJyZW50IHJlbmRlcmluZyBtYXlcbiAqIGhhdmUgZ290dGVuLlxuICpcbiAqIEFmdGVyIHRoZSByZW5kZXIsIHdlIHBhdGNoIHVwIHRoZSBjb21wb25lbnRzIHdpdGggYW4gaW5jcmVtZW50ZWQgSUQuIFRoaXNcbiAqIGNhdXNlcyBhIGRvdWJsZSByZW5kZXIgb24gYW55IGNvbXBvbmVudHMgd2l0aCBgdXNlSWRgLiBTaG91bGRuJ3QgYmUgYSBwcm9ibGVtXG4gKiBzaW5jZSB0aGUgY29tcG9uZW50cyB1c2luZyB0aGlzIGhvb2sgc2hvdWxkIGJlIHNtYWxsLCBhbmQgd2UncmUgb25seSB1cGRhdGluZ1xuICogdGhlIElEIGF0dHJpYnV0ZSBvbiB0aGUgRE9NLCBub3RoaW5nIGJpZyBpcyBoYXBwZW5pbmcuXG4gKlxuICogSXQgZG9lc24ndCBoYXZlIHRvIGJlIGFuIGluY3JlbWVudGVkIG51bWJlciwgdGhvdWdoLS13ZSBjb3VsZCBkbyBnZW5lcmF0ZVxuICogcmFuZG9tIHN0cmluZ3MgaW5zdGVhZCwgYnV0IGluY3JlbWVudGluZyBhIG51bWJlciBpcyBwcm9iYWJseSB0aGUgY2hlYXBlc3RcbiAqIHRoaW5nIHdlIGNhbiBkby5cbiAqXG4gKiBBZGRpdGlvbmFsbHksIHdlIG9ubHkgZG8gdGhpcyBwYXRjaHVwIG9uIHRoZSB2ZXJ5IGZpcnN0IGNsaWVudCByZW5kZXIgZXZlci5cbiAqIEFueSBjYWxscyB0byBgdXNlSWRgIHRoYXQgaGFwcGVuIGR5bmFtaWNhbGx5IGluIHRoZSBjbGllbnQgd2lsbCBiZVxuICogcG9wdWxhdGVkIGltbWVkaWF0ZWx5IHdpdGggYSB2YWx1ZS4gU28sIHdlIG9ubHkgZ2V0IHRoZSBkb3VibGUgcmVuZGVyIGFmdGVyXG4gKiBzZXJ2ZXIgaHlkcmF0aW9uIGFuZCBuZXZlciBhZ2FpbiwgU08gQkFDSyBPRkYgQUxSSUdIVD9cbiAqL1xudmFyIHNlcnZlckhhbmRvZmZDb21wbGV0ZSA9IGZhbHNlO1xudmFyIGlkID0gMDtcblxudmFyIGdlbklkID0gZnVuY3Rpb24gZ2VuSWQoKSB7XG4gIHJldHVybiArK2lkO1xufTtcbi8qKlxuICogdXNlSWRcbiAqXG4gKiBBdXRvZ2VuZXJhdGUgSURzIHRvIGZhY2lsaXRhdGUgV0FJLUFSSUEgYW5kIHNlcnZlciByZW5kZXJpbmcuXG4gKlxuICogTm90ZTogVGhlIHJldHVybmVkIElEIHdpbGwgaW5pdGlhbGx5IGJlIGBudWxsYCBhbmQgd2lsbCB1cGRhdGUgYWZ0ZXIgYVxuICogY29tcG9uZW50IG1vdW50cy4gVXNlcnMgbWF5IG5lZWQgdG8gc3VwcGx5IHRoZWlyIG93biBJRCBpZiB0aGV5IG5lZWRcbiAqIGNvbnNpc3RlbnQgdmFsdWVzIGZvciBTU1IuXG4gKlxuICogQHNlZSBEb2NzIGh0dHBzOi8vcmVhY2gudGVjaC9hdXRvLWlkXG4gKi9cblxuXG5mdW5jdGlvbiB1c2VJZChpZEZyb21Qcm9wcykge1xuICAvKlxuICAgKiBJZiB0aGlzIGluc3RhbmNlIGlzbid0IHBhcnQgb2YgdGhlIGluaXRpYWwgcmVuZGVyLCB3ZSBkb24ndCBoYXZlIHRvIGRvIHRoZVxuICAgKiBkb3VibGUgcmVuZGVyL3BhdGNoLXVwIGRhbmNlLiBXZSBjYW4ganVzdCBnZW5lcmF0ZSB0aGUgSUQgYW5kIHJldHVybiBpdC5cbiAgICovXG4gIHZhciBpbml0aWFsSWQgPSBpZEZyb21Qcm9wcyB8fCAoc2VydmVySGFuZG9mZkNvbXBsZXRlID8gZ2VuSWQoKSA6IG51bGwpO1xuXG4gIHZhciBfUmVhY3QkdXNlU3RhdGUgPSB1c2VTdGF0ZShpbml0aWFsSWQpLFxuICAgICAgaWQgPSBfUmVhY3QkdXNlU3RhdGVbMF0sXG4gICAgICBzZXRJZCA9IF9SZWFjdCR1c2VTdGF0ZVsxXTtcblxuICB1c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoaWQgPT09IG51bGwpIHtcbiAgICAgIC8qXG4gICAgICAgKiBQYXRjaCB0aGUgSUQgYWZ0ZXIgcmVuZGVyLiBXZSBkbyB0aGlzIGluIGB1c2VMYXlvdXRFZmZlY3RgIHRvIGF2b2lkIGFueVxuICAgICAgICogcmVuZGVyaW5nIGZsaWNrZXIsIHRob3VnaCBpdCdsbCBtYWtlIHRoZSBmaXJzdCByZW5kZXIgc2xvd2VyICh1bmxpa2VseVxuICAgICAgICogdG8gbWF0dGVyLCBidXQgeW91J3JlIHdlbGNvbWUgdG8gbWVhc3VyZSB5b3VyIGFwcCBhbmQgbGV0IHVzIGtub3cgaWZcbiAgICAgICAqIGl0J3MgYSBwcm9ibGVtKS5cbiAgICAgICAqL1xuICAgICAgc2V0SWQoZ2VuSWQoKSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG5cbiAgfSwgW10pO1xuICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIGlmIChzZXJ2ZXJIYW5kb2ZmQ29tcGxldGUgPT09IGZhbHNlKSB7XG4gICAgICAvKlxuICAgICAgICogRmxhZyBhbGwgZnV0dXJlIHVzZXMgb2YgYHVzZUlkYCB0byBza2lwIHRoZSB1cGRhdGUgZGFuY2UuIFRoaXMgaXMgaW5cbiAgICAgICAqIGB1c2VFZmZlY3RgIGJlY2F1c2UgaXQgZ29lcyBhZnRlciBgdXNlTGF5b3V0RWZmZWN0YCwgZW5zdXJpbmcgd2UgZG9uJ3RcbiAgICAgICAqIGFjY2lkZW50YWxseSBiYWlsIG91dCBvZiB0aGUgcGF0Y2gtdXAgZGFuY2UgcHJlbWF0dXJlbHkuXG4gICAgICAgKi9cbiAgICAgIHNlcnZlckhhbmRvZmZDb21wbGV0ZSA9IHRydWU7XG4gICAgfVxuICB9LCBbXSk7XG4gIHJldHVybiBpZCAhPSBudWxsID8gU3RyaW5nKGlkKSA6IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IHsgdXNlSWQgfTtcbiIsImltcG9ydCB7IGNhblVzZURPTSB9IGZyb20gJy4uLy4uL2Nhbi11c2UtZG9tL2Rpc3QvcmVhY2gtdXRpbHMtY2FuLXVzZS1kb20uZXNtLmpzJztcblxuLyoqXG4gKiBHZXQgYW4gZWxlbWVudCdzIG93bmVyIGRvY3VtZW50LiBVc2VmdWwgd2hlbiBjb21wb25lbnRzIGFyZSB1c2VkIGluIGlmcmFtZXNcbiAqIG9yIG90aGVyIGVudmlyb25tZW50cyBsaWtlIGRldiB0b29scy5cbiAqXG4gKiBAcGFyYW0gZWxlbWVudFxuICovXG5cbmZ1bmN0aW9uIGdldE93bmVyRG9jdW1lbnQoZWxlbWVudCkge1xuICByZXR1cm4gY2FuVXNlRE9NKCkgPyBlbGVtZW50ID8gZWxlbWVudC5vd25lckRvY3VtZW50IDogZG9jdW1lbnQgOiBudWxsO1xufVxuLyoqXG4gKiBUT0RPOiBSZW1vdmUgaW4gMS4wXG4gKi9cblxuZnVuY3Rpb24gZ2V0T3duZXJXaW5kb3coZWxlbWVudCkge1xuICB2YXIgb3duZXJEb2N1bWVudCA9IGdldE93bmVyRG9jdW1lbnQoZWxlbWVudCk7XG4gIHJldHVybiBvd25lckRvY3VtZW50ID8gb3duZXJEb2N1bWVudC5kZWZhdWx0VmlldyB8fCB3aW5kb3cgOiBudWxsO1xufVxuXG5leHBvcnQgeyBnZXRPd25lckRvY3VtZW50LCBnZXRPd25lcldpbmRvdyB9O1xuIiwiaW1wb3J0IHsgZ2V0T3duZXJEb2N1bWVudCB9IGZyb20gJy4uLy4uL293bmVyLWRvY3VtZW50L2Rpc3QvcmVhY2gtdXRpbHMtb3duZXItZG9jdW1lbnQuZXNtLmpzJztcbmltcG9ydCAnLi4vLi4vY2FuLXVzZS1kb20vZGlzdC9yZWFjaC11dGlscy1jYW4tdXNlLWRvbS5lc20uanMnO1xuXG4vKipcbiAqIEdldCB0aGUgc2l6ZSBvZiB0aGUgd29ya2luZyBkb2N1bWVudCBtaW51cyB0aGUgc2Nyb2xsYmFyIG9mZnNldC5cbiAqXG4gKiBAcGFyYW0gZWxlbWVudFxuICovXG5cbmZ1bmN0aW9uIGdldERvY3VtZW50RGltZW5zaW9ucyhlbGVtZW50KSB7XG4gIHZhciBfb3duZXJEb2N1bWVudCRkb2N1bWUsIF9vd25lckRvY3VtZW50JGRvY3VtZTI7XG5cbiAgdmFyIG93bmVyRG9jdW1lbnQgPSBnZXRPd25lckRvY3VtZW50KGVsZW1lbnQpO1xuICB2YXIgb3duZXJXaW5kb3cgPSBvd25lckRvY3VtZW50LmRlZmF1bHRWaWV3IHx8IHdpbmRvdztcblxuICBpZiAoIW93bmVyRG9jdW1lbnQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGg6IDAsXG4gICAgICBoZWlnaHQ6IDBcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB3aWR0aDogKF9vd25lckRvY3VtZW50JGRvY3VtZSA9IG93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKSAhPSBudWxsID8gX293bmVyRG9jdW1lbnQkZG9jdW1lIDogb3duZXJXaW5kb3cuaW5uZXJXaWR0aCxcbiAgICBoZWlnaHQ6IChfb3duZXJEb2N1bWVudCRkb2N1bWUyID0gb3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KSAhPSBudWxsID8gX293bmVyRG9jdW1lbnQkZG9jdW1lMiA6IG93bmVyV2luZG93LmlubmVySGVpZ2h0XG4gIH07XG59XG5cbmV4cG9ydCB7IGdldERvY3VtZW50RGltZW5zaW9ucyB9O1xuIiwiLyoqXG4gKiBKb2lucyBzdHJpbmdzIHRvIGZvcm1hdCBJRHMgZm9yIGNvbXBvdW5kIGNvbXBvbmVudHMuXG4gKlxuICogQHBhcmFtIGFyZ3NcbiAqL1xuZnVuY3Rpb24gbWFrZUlkKCkge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICB9XG5cbiAgcmV0dXJuIGFyZ3MuZmlsdGVyKGZ1bmN0aW9uICh2YWwpIHtcbiAgICByZXR1cm4gdmFsICE9IG51bGw7XG4gIH0pLmpvaW4oXCItLVwiKTtcbn1cblxuZXhwb3J0IHsgbWFrZUlkIH07XG4iLCJpbXBvcnQgeyB1c2VSZWYsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcblxuLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3MgKi9cbnZhciBjaGVja2VkUGtncyA9IHt9O1xuLyoqXG4gKiBKdXN0IGEgbGlsIHN0YXRlIGxvZ2dlclxuICpcbiAqIEBwYXJhbSBzdGF0ZVxuICogQHBhcmFtIERFQlVHXG4gKi9cblxuZnVuY3Rpb24gdXNlU3RhdGVMb2dnZXIoc3RhdGUsIERFQlVHKSB7XG4gIGlmIChERUJVRyA9PT0gdm9pZCAwKSB7XG4gICAgREVCVUcgPSBmYWxzZTtcbiAgfVxuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICB2YXIgZGVidWdSZWYgPSB1c2VSZWYoREVCVUcpO1xuICAgIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgICBkZWJ1Z1JlZi5jdXJyZW50ID0gREVCVUc7XG4gICAgfSwgW0RFQlVHXSk7XG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmIChkZWJ1Z1JlZi5jdXJyZW50KSB7XG4gICAgICAgIGNvbnNvbGUuZ3JvdXAoXCJTdGF0ZSBVcGRhdGVkXCIpO1xuICAgICAgICBjb25zb2xlLmxvZyhcIiVjXCIgKyBzdGF0ZSwgXCJmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDEyMCU7IGZvbnQtc3R5bGU6IGl0YWxpYztcIik7XG4gICAgICAgIGNvbnNvbGUuZ3JvdXBFbmQoKTtcbiAgICAgIH1cbiAgICB9LCBbc3RhdGVdKTtcbiAgfVxufVxuLyoqXG4gKiBXaGVuIGluIGRldiBtb2RlLCBjaGVja3MgdGhhdCBzdHlsZXMgZm9yIGEgZ2l2ZW4gYEByZWFjaGAgcGFja2FnZSBhcmUgbG9hZGVkLlxuICpcbiAqIEBwYXJhbSBwYWNrYWdlTmFtZSBOYW1lIG9mIHRoZSBwYWNrYWdlIHRvIGNoZWNrLlxuICogQGV4YW1wbGUgY2hlY2tTdHlsZXMoXCJkaWFsb2dcIikgd2lsbCBjaGVjayBmb3Igc3R5bGVzIGZvciBAcmVhY2gvZGlhbG9nXG4gKi9cblxuZnVuY3Rpb24gY2hlY2tTdHlsZXMocGFja2FnZU5hbWUpIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgIC8vIEluIENKUyBmaWxlcywgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgaXMgc3RyaXBwZWQgZnJvbSBvdXIgYnVpbGQsIGJ1dCB3ZVxuICAgIC8vIG5lZWQgaXQgdG8gcHJldmVudCBzdHlsZSBjaGVja3MgZnJvbSBjbG9nZ2luZyB1cCB1c2VyIGxvZ3Mgd2hpbGUgdGVzdGluZy5cbiAgICAvLyBUaGlzIGlzIGEgd29ya2Fyb3VuZCB1bnRpbCB3ZSBjYW4gdHdlYWsgdGhlIGJ1aWxkIGEgYml0IHRvIGFjY29tbW9kYXRlLlxuICAgIHZhciBfcmVmID0gdHlwZW9mIHByb2Nlc3MgIT09IFwidW5kZWZpbmVkXCIgPyBwcm9jZXNzLmVudiA6IHtcbiAgICAgIE5PREVfRU5WOiBcImRldmVsb3BtZW50XCJcbiAgICB9LFxuICAgICAgICBlbnZpcm9ubWVudCA9IF9yZWYuTk9ERV9FTlY7IC8vIG9ubHkgY2hlY2sgb25jZSBwZXIgcGFja2FnZVxuXG5cbiAgICBpZiAoY2hlY2tlZFBrZ3NbcGFja2FnZU5hbWVdKSByZXR1cm47XG4gICAgY2hlY2tlZFBrZ3NbcGFja2FnZU5hbWVdID0gdHJ1ZTtcblxuICAgIGlmIChlbnZpcm9ubWVudCA9PT0gXCJkZXZlbG9wbWVudFwiICYmIHBhcnNlSW50KHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLmdldFByb3BlcnR5VmFsdWUoXCItLXJlYWNoLVwiICsgcGFja2FnZU5hbWUpLCAxMCkgIT09IDEpIHtcbiAgICAgIGNvbnNvbGUud2FybihcIkByZWFjaC9cIiArIHBhY2thZ2VOYW1lICsgXCIgc3R5bGVzIG5vdCBmb3VuZC4gSWYgeW91IGFyZSB1c2luZyBhIGJ1bmRsZXIgbGlrZSB3ZWJwYWNrIG9yIHBhcmNlbCBpbmNsdWRlIHRoaXMgaW4gdGhlIGVudHJ5IGZpbGUgb2YgeW91ciBhcHAgYmVmb3JlIGFueSBvZiB5b3VyIG93biBzdHlsZXM6XFxuICBcXG4gICAgICBpbXBvcnQgXFxcIkByZWFjaC9cIiArIHBhY2thZ2VOYW1lICsgXCIvc3R5bGVzLmNzc1xcXCI7XFxuICBcXG4gICAgT3RoZXJ3aXNlIHlvdSdsbCBuZWVkIHRvIGluY2x1ZGUgdGhlbSBzb21lIG90aGVyIHdheTpcXG4gIFxcbiAgICAgIDxsaW5rIHJlbD1cXFwic3R5bGVzaGVldFxcXCIgdHlwZT1cXFwidGV4dC9jc3NcXFwiIGhyZWY9XFxcIm5vZGVfbW9kdWxlcy9AcmVhY2gvXCIgKyBwYWNrYWdlTmFtZSArIFwiL3N0eWxlcy5jc3NcXFwiIC8+XFxuICBcXG4gICAgRm9yIG1vcmUgaW5mb3JtYXRpb24gdmlzaXQgaHR0cHM6Ly91aS5yZWFjaC50ZWNoL3N0eWxpbmcuXFxuICAgIFwiKTtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogV2hlbiBpbiBkZXYgbW9kZSwgY2hlY2tzIHRoYXQgc3R5bGVzIGZvciBhIGdpdmVuIGBAcmVhY2hgIHBhY2thZ2UgYXJlIGxvYWRlZC5cbiAqXG4gKiBAcGFyYW0gcGFja2FnZU5hbWUgTmFtZSBvZiB0aGUgcGFja2FnZSB0byBjaGVjay5cbiAqIEBleGFtcGxlIHVzZUNoZWNrU3R5bGVzKFwiZGlhbG9nXCIpIHdpbGwgY2hlY2sgZm9yIHN0eWxlcyBmb3IgQHJlYWNoL2RpYWxvZ1xuICovXG5cbmZ1bmN0aW9uIHVzZUNoZWNrU3R5bGVzKHBhY2thZ2VOYW1lKSB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICB2YXIgbmFtZSA9IHVzZVJlZihwYWNrYWdlTmFtZSk7XG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiB2b2lkIChuYW1lLmN1cnJlbnQgPSBwYWNrYWdlTmFtZSk7XG4gICAgfSwgW3BhY2thZ2VOYW1lXSk7XG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBjaGVja1N0eWxlcyhuYW1lLmN1cnJlbnQpO1xuICAgIH0sIFtdKTtcbiAgfVxufVxuLyoqXG4gKiBMb2dzIGEgd2FybmluZyBpbiBkZXYgbW9kZSB3aGVuIGEgY29tcG9uZW50IHN3aXRjaGVzIGZyb20gY29udHJvbGxlZCB0b1xuICogdW5jb250cm9sbGVkLCBvciB2aWNlIHZlcnNhXG4gKlxuICogQSBzaW5nbGUgcHJvcCBzaG91bGQgdHlwaWNhbGx5IGJlIHVzZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90IGFcbiAqIGNvbXBvbmVudCBpcyBjb250cm9sbGVkIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0gY29udHJvbGxlZFZhbHVlXG4gKiBAcGFyYW0gY29udHJvbGxlZFByb3BOYW1lXG4gKiBAcGFyYW0gY29tcG9uZW50TmFtZVxuICovXG5cbmZ1bmN0aW9uIHVzZUNvbnRyb2xsZWRTd2l0Y2hXYXJuaW5nKGNvbnRyb2xsZWRWYWx1ZSwgY29udHJvbGxlZFByb3BOYW1lLCBjb21wb25lbnROYW1lKSB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICB2YXIgY29udHJvbGxlZFJlZiA9IHVzZVJlZihjb250cm9sbGVkVmFsdWUgIT0gbnVsbCk7XG4gICAgdmFyIG5hbWVDYWNoZSA9IHVzZVJlZih7XG4gICAgICBjb21wb25lbnROYW1lOiBjb21wb25lbnROYW1lLFxuICAgICAgY29udHJvbGxlZFByb3BOYW1lOiBjb250cm9sbGVkUHJvcE5hbWVcbiAgICB9KTtcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgbmFtZUNhY2hlLmN1cnJlbnQgPSB7XG4gICAgICAgIGNvbXBvbmVudE5hbWU6IGNvbXBvbmVudE5hbWUsXG4gICAgICAgIGNvbnRyb2xsZWRQcm9wTmFtZTogY29udHJvbGxlZFByb3BOYW1lXG4gICAgICB9O1xuICAgIH0sIFtjb21wb25lbnROYW1lLCBjb250cm9sbGVkUHJvcE5hbWVdKTtcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIHdhc0NvbnRyb2xsZWQgPSBjb250cm9sbGVkUmVmLmN1cnJlbnQ7XG4gICAgICB2YXIgX25hbWVDYWNoZSRjdXJyZW50ID0gbmFtZUNhY2hlLmN1cnJlbnQsXG4gICAgICAgICAgY29tcG9uZW50TmFtZSA9IF9uYW1lQ2FjaGUkY3VycmVudC5jb21wb25lbnROYW1lLFxuICAgICAgICAgIGNvbnRyb2xsZWRQcm9wTmFtZSA9IF9uYW1lQ2FjaGUkY3VycmVudC5jb250cm9sbGVkUHJvcE5hbWU7XG4gICAgICB2YXIgaXNDb250cm9sbGVkID0gY29udHJvbGxlZFZhbHVlICE9IG51bGw7XG5cbiAgICAgIGlmICh3YXNDb250cm9sbGVkICE9PSBpc0NvbnRyb2xsZWQpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkEgY29tcG9uZW50IGlzIGNoYW5naW5nIGFuIFwiICsgKHdhc0NvbnRyb2xsZWQgPyBcIlwiIDogXCJ1blwiKSArIFwiY29udHJvbGxlZCBgXCIgKyBjb250cm9sbGVkUHJvcE5hbWUgKyBcImAgc3RhdGUgb2YgXCIgKyBjb21wb25lbnROYW1lICsgXCIgdG8gYmUgXCIgKyAod2FzQ29udHJvbGxlZCA/IFwidW5cIiA6IFwiXCIpICsgXCJjb250cm9sbGVkLiBUaGlzIGlzIGxpa2VseSBjYXVzZWQgYnkgdGhlIHZhbHVlIGNoYW5naW5nIGZyb20gdW5kZWZpbmVkIHRvIGEgZGVmaW5lZCB2YWx1ZSwgd2hpY2ggc2hvdWxkIG5vdCBoYXBwZW4uIERlY2lkZSBiZXR3ZWVuIHVzaW5nIGEgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgXCIgKyBjb21wb25lbnROYW1lICsgXCIgZWxlbWVudCBmb3IgdGhlIGxpZmV0aW1lIG9mIHRoZSBjb21wb25lbnQuXFxuICAgICAgTW9yZSBpbmZvOiBodHRwczovL2ZiLm1lL3JlYWN0LWNvbnRyb2xsZWQtY29tcG9uZW50c1wiKTtcbiAgICAgIH1cbiAgICB9LCBbY29udHJvbGxlZFZhbHVlXSk7XG4gIH1cbn1cblxuZXhwb3J0IHsgY2hlY2tTdHlsZXMsIHVzZUNoZWNrU3R5bGVzLCB1c2VDb250cm9sbGVkU3dpdGNoV2FybmluZywgdXNlU3RhdGVMb2dnZXIgfTtcbiIsIi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgb3Igbm90IGEgdmFsdWUgaXMgYSBib29sZWFuLlxuICpcbiAqIEBwYXJhbSB2YWx1ZVxuICovXG5mdW5jdGlvbiBpc0Jvb2xlYW4odmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJib29sZWFuXCI7XG59XG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIG9yIG5vdCBhIHZhbHVlIGlzIGEgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIHZhbHVlXG4gKi9cblxuZnVuY3Rpb24gaXNGdW5jdGlvbih2YWx1ZSkge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZXFlcWVxXG4gIHJldHVybiAhISh2YWx1ZSAmJiB7fS50b1N0cmluZy5jYWxsKHZhbHVlKSA9PSBcIltvYmplY3QgRnVuY3Rpb25dXCIpO1xufVxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBvciBub3QgYSB2YWx1ZSBpcyBhIG51bWJlci5cbiAqXG4gKiBAcGFyYW0gdmFsdWVcbiAqL1xuXG5mdW5jdGlvbiBpc051bWJlcih2YWx1ZSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiICYmICFpc05hTih2YWx1ZSk7XG59XG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIG9yIG5vdCBhIHZhbHVlIGlzIGEgc3RyaW5nLlxuICpcbiAqIEBwYXJhbSB2YWx1ZVxuICovXG5cbmZ1bmN0aW9uIGlzU3RyaW5nKHZhbHVlKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCI7XG59XG5cbmV4cG9ydCB7IGlzQm9vbGVhbiwgaXNGdW5jdGlvbiwgaXNOdW1iZXIsIGlzU3RyaW5nIH07XG4iLCJpbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICcuLi8uLi90eXBlLWNoZWNrL2Rpc3QvcmVhY2gtdXRpbHMtdHlwZS1jaGVjay5lc20uanMnO1xuXG5mdW5jdGlvbiBfYXJyYXlMaWtlVG9BcnJheShhcnIsIGxlbikge1xuICBpZiAobGVuID09IG51bGwgfHwgbGVuID4gYXJyLmxlbmd0aCkgbGVuID0gYXJyLmxlbmd0aDtcblxuICBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShsZW4pOyBpIDwgbGVuOyBpKyspIGFycjJbaV0gPSBhcnJbaV07XG5cbiAgcmV0dXJuIGFycjI7XG59XG5cbmZ1bmN0aW9uIF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShvLCBtaW5MZW4pIHtcbiAgaWYgKCFvKSByZXR1cm47XG4gIGlmICh0eXBlb2YgbyA9PT0gXCJzdHJpbmdcIikgcmV0dXJuIF9hcnJheUxpa2VUb0FycmF5KG8sIG1pbkxlbik7XG4gIHZhciBuID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pLnNsaWNlKDgsIC0xKTtcbiAgaWYgKG4gPT09IFwiT2JqZWN0XCIgJiYgby5jb25zdHJ1Y3RvcikgbiA9IG8uY29uc3RydWN0b3IubmFtZTtcbiAgaWYgKG4gPT09IFwiTWFwXCIgfHwgbiA9PT0gXCJTZXRcIikgcmV0dXJuIEFycmF5LmZyb20obyk7XG4gIGlmIChuID09PSBcIkFyZ3VtZW50c1wiIHx8IC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTtcbn1cblxuZnVuY3Rpb24gX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXJMb29zZShvLCBhbGxvd0FycmF5TGlrZSkge1xuICB2YXIgaXQ7XG5cbiAgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwidW5kZWZpbmVkXCIgfHwgb1tTeW1ib2wuaXRlcmF0b3JdID09IG51bGwpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShvKSB8fCAoaXQgPSBfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkobykpIHx8IGFsbG93QXJyYXlMaWtlICYmIG8gJiYgdHlwZW9mIG8ubGVuZ3RoID09PSBcIm51bWJlclwiKSB7XG4gICAgICBpZiAoaXQpIG8gPSBpdDtcbiAgICAgIHZhciBpID0gMDtcbiAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmIChpID49IG8ubGVuZ3RoKSByZXR1cm4ge1xuICAgICAgICAgIGRvbmU6IHRydWVcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBkb25lOiBmYWxzZSxcbiAgICAgICAgICB2YWx1ZTogb1tpKytdXG4gICAgICAgIH07XG4gICAgICB9O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKTtcbiAgfVxuXG4gIGl0ID0gb1tTeW1ib2wuaXRlcmF0b3JdKCk7XG4gIHJldHVybiBpdC5uZXh0LmJpbmQoaXQpO1xufVxuXG4vKipcbiAqIFBhc3NlcyBvciBhc3NpZ25zIGFuIGFyYml0cmFyeSB2YWx1ZSB0byBhIHJlZiBmdW5jdGlvbiBvciBvYmplY3QuXG4gKlxuICogQHBhcmFtIHJlZlxuICogQHBhcmFtIHZhbHVlXG4gKi9cbmZ1bmN0aW9uIGFzc2lnblJlZihyZWYsIHZhbHVlKSB7XG4gIGlmIChyZWYgPT0gbnVsbCkgcmV0dXJuO1xuXG4gIGlmIChpc0Z1bmN0aW9uKHJlZikpIHtcbiAgICByZWYodmFsdWUpO1xuICB9IGVsc2Uge1xuICAgIHRyeSB7XG4gICAgICByZWYuY3VycmVudCA9IHZhbHVlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgYXNzaWduIHZhbHVlIFxcXCJcIiArIHZhbHVlICsgXCJcXFwiIHRvIHJlZiBcXFwiXCIgKyByZWYgKyBcIlxcXCJcIik7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIFBhc3NlcyBvciBhc3NpZ25zIGEgdmFsdWUgdG8gbXVsdGlwbGUgcmVmcyAodHlwaWNhbGx5IGEgRE9NIG5vZGUpLiBVc2VmdWwgZm9yXG4gKiBkZWFsaW5nIHdpdGggY29tcG9uZW50cyB0aGF0IG5lZWQgYW4gZXhwbGljaXQgcmVmIGZvciBET00gY2FsY3VsYXRpb25zIGJ1dFxuICogYWxzbyBmb3J3YXJkcyByZWZzIGFzc2lnbmVkIGJ5IGFuIGFwcC5cbiAqXG4gKiBAcGFyYW0gcmVmcyBSZWZzIHRvIGZvcmtcbiAqL1xuXG5mdW5jdGlvbiB1c2VDb21wb3NlZFJlZnMoKSB7XG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCByZWZzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIHJlZnNbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICByZXR1cm4gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKG5vZGUpIHtcbiAgICBmb3IgKHZhciBfaXRlcmF0b3IgPSBfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlckxvb3NlKHJlZnMpLCBfc3RlcDsgIShfc3RlcCA9IF9pdGVyYXRvcigpKS5kb25lOykge1xuICAgICAgdmFyIHJlZiA9IF9zdGVwLnZhbHVlO1xuICAgICAgYXNzaWduUmVmKHJlZiwgbm9kZSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG5cbiAgfSwgcmVmcyk7XG59XG5cbmV4cG9ydCB7IGFzc2lnblJlZiwgdXNlQ29tcG9zZWRSZWZzIH07XG4iLCIvKipcbiAqIFdyYXBzIGEgbGliLWRlZmluZWQgZXZlbnQgaGFuZGxlciBhbmQgYSB1c2VyLWRlZmluZWQgZXZlbnQgaGFuZGxlciwgcmV0dXJuaW5nXG4gKiBhIHNpbmdsZSBoYW5kbGVyIHRoYXQgYWxsb3dzIGEgdXNlciB0byBwcmV2ZW50IGxpYi1kZWZpbmVkIGhhbmRsZXJzIGZyb21cbiAqIGZpcmluZy5cbiAqXG4gKiBAcGFyYW0gdGhlaXJIYW5kbGVyIFVzZXItc3VwcGxpZWQgZXZlbnQgaGFuZGxlclxuICogQHBhcmFtIG91ckhhbmRsZXIgTGlicmFyeS1zdXBwbGllZCBldmVudCBoYW5kbGVyXG4gKi9cbmZ1bmN0aW9uIGNvbXBvc2VFdmVudEhhbmRsZXJzKHRoZWlySGFuZGxlciwgb3VySGFuZGxlcikge1xuICByZXR1cm4gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgdGhlaXJIYW5kbGVyICYmIHRoZWlySGFuZGxlcihldmVudCk7XG5cbiAgICBpZiAoIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIHJldHVybiBvdXJIYW5kbGVyKGV2ZW50KTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCB7IGNvbXBvc2VFdmVudEhhbmRsZXJzIH07XG4iLCJpbXBvcnQgeyBmb3J3YXJkUmVmLCBjcmVhdGVFbGVtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuZnVuY3Rpb24gX2V4dGVuZHMoKSB7XG4gIF9leHRlbmRzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7XG4gICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07XG5cbiAgICAgIGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHtcbiAgICAgICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfTtcblxuICByZXR1cm4gX2V4dGVuZHMuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn1cblxuZnVuY3Rpb24gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2Uoc291cmNlLCBleGNsdWRlZCkge1xuICBpZiAoc291cmNlID09IG51bGwpIHJldHVybiB7fTtcbiAgdmFyIHRhcmdldCA9IHt9O1xuICB2YXIgc291cmNlS2V5cyA9IE9iamVjdC5rZXlzKHNvdXJjZSk7XG4gIHZhciBrZXksIGk7XG5cbiAgZm9yIChpID0gMDsgaSA8IHNvdXJjZUtleXMubGVuZ3RoOyBpKyspIHtcbiAgICBrZXkgPSBzb3VyY2VLZXlzW2ldO1xuICAgIGlmIChleGNsdWRlZC5pbmRleE9mKGtleSkgPj0gMCkgY29udGludWU7XG4gICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59XG5cbnZhciBfZXhjbHVkZWQgPSBbXCJhc1wiLCBcInN0eWxlXCJdO1xuXG4vKipcbiAqIFZpc3VhbGx5SGlkZGVuXG4gKlxuICogUHJvdmlkZXMgdGV4dCBmb3Igc2NyZWVuIHJlYWRlcnMgdGhhdCBpcyB2aXN1YWxseSBoaWRkZW4uXG4gKiBJdCBpcyB0aGUgbG9naWNhbCBvcHBvc2l0ZSBvZiB0aGUgYGFyaWEtaGlkZGVuYCBhdHRyaWJ1dGUuXG4gKi9cbnZhciBWaXN1YWxseUhpZGRlbiA9IC8qI19fUFVSRV9fKi9mb3J3YXJkUmVmKGZ1bmN0aW9uIFZpc3VhbGx5SGlkZGVuKF9yZWYsIHJlZikge1xuICB2YXIgX3JlZiRhcyA9IF9yZWYuYXMsXG4gICAgICBDb21wID0gX3JlZiRhcyA9PT0gdm9pZCAwID8gXCJzcGFuXCIgOiBfcmVmJGFzLFxuICAgICAgX3JlZiRzdHlsZSA9IF9yZWYuc3R5bGUsXG4gICAgICBzdHlsZSA9IF9yZWYkc3R5bGUgPT09IHZvaWQgMCA/IHt9IDogX3JlZiRzdHlsZSxcbiAgICAgIHByb3BzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UoX3JlZiwgX2V4Y2x1ZGVkKTtcblxuICByZXR1cm4gLyojX19QVVJFX18qL2NyZWF0ZUVsZW1lbnQoQ29tcCwgX2V4dGVuZHMoe1xuICAgIHJlZjogcmVmLFxuICAgIHN0eWxlOiBfZXh0ZW5kcyh7XG4gICAgICBib3JkZXI6IDAsXG4gICAgICBjbGlwOiBcInJlY3QoMCAwIDAgMClcIixcbiAgICAgIGhlaWdodDogXCIxcHhcIixcbiAgICAgIG1hcmdpbjogXCItMXB4XCIsXG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICAgIHBhZGRpbmc6IDAsXG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgd2lkdGg6IFwiMXB4XCIsXG4gICAgICAvLyBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gICAgICB3aGl0ZVNwYWNlOiBcIm5vd3JhcFwiLFxuICAgICAgd29yZFdyYXA6IFwibm9ybWFsXCJcbiAgICB9LCBzdHlsZSlcbiAgfSwgcHJvcHMpKTtcbn0pO1xuLyoqXG4gKiBAc2VlIERvY3MgaHR0cHM6Ly9yZWFjaC50ZWNoL3Zpc3VhbGx5LWhpZGRlbiN2aXN1YWxseWhpZGRlbi1wcm9wc1xuICovXG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgVmlzdWFsbHlIaWRkZW4uZGlzcGxheU5hbWUgPSBcIlZpc3VhbGx5SGlkZGVuXCI7XG4gIFZpc3VhbGx5SGlkZGVuLnByb3BUeXBlcyA9IHtcbiAgICBhczogUHJvcFR5cGVzLmFueSxcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGVcbiAgfTtcbn0gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuZXhwb3J0IGRlZmF1bHQgVmlzdWFsbHlIaWRkZW47XG5leHBvcnQgeyBWaXN1YWxseUhpZGRlbiB9O1xuIiwidmFyIHByb3BzID0gW1wiYm90dG9tXCIsIFwiaGVpZ2h0XCIsIFwibGVmdFwiLCBcInJpZ2h0XCIsIFwidG9wXCIsIFwid2lkdGhcIl07XG5cbnZhciByZWN0Q2hhbmdlZCA9IGZ1bmN0aW9uIHJlY3RDaGFuZ2VkKGEsIGIpIHtcbiAgaWYgKGEgPT09IHZvaWQgMCkge1xuICAgIGEgPSB7fTtcbiAgfVxuXG4gIGlmIChiID09PSB2b2lkIDApIHtcbiAgICBiID0ge307XG4gIH1cblxuICByZXR1cm4gcHJvcHMuc29tZShmdW5jdGlvbiAocHJvcCkge1xuICAgIHJldHVybiBhW3Byb3BdICE9PSBiW3Byb3BdO1xuICB9KTtcbn07XG5cbnZhciBvYnNlcnZlZE5vZGVzID0gLyojX19QVVJFX18qL25ldyBNYXAoKTtcbnZhciByYWZJZDtcblxudmFyIHJ1biA9IGZ1bmN0aW9uIHJ1bigpIHtcbiAgdmFyIGNoYW5nZWRTdGF0ZXMgPSBbXTtcbiAgb2JzZXJ2ZWROb2Rlcy5mb3JFYWNoKGZ1bmN0aW9uIChzdGF0ZSwgbm9kZSkge1xuICAgIHZhciBuZXdSZWN0ID0gbm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGlmIChyZWN0Q2hhbmdlZChuZXdSZWN0LCBzdGF0ZS5yZWN0KSkge1xuICAgICAgc3RhdGUucmVjdCA9IG5ld1JlY3Q7XG4gICAgICBjaGFuZ2VkU3RhdGVzLnB1c2goc3RhdGUpO1xuICAgIH1cbiAgfSk7XG4gIGNoYW5nZWRTdGF0ZXMuZm9yRWFjaChmdW5jdGlvbiAoc3RhdGUpIHtcbiAgICBzdGF0ZS5jYWxsYmFja3MuZm9yRWFjaChmdW5jdGlvbiAoY2IpIHtcbiAgICAgIHJldHVybiBjYihzdGF0ZS5yZWN0KTtcbiAgICB9KTtcbiAgfSk7XG4gIHJhZklkID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShydW4pO1xufTtcblxuZnVuY3Rpb24gb2JzZXJ2ZVJlY3Qobm9kZSwgY2IpIHtcbiAgcmV0dXJuIHtcbiAgICBvYnNlcnZlOiBmdW5jdGlvbiBvYnNlcnZlKCkge1xuICAgICAgdmFyIHdhc0VtcHR5ID0gb2JzZXJ2ZWROb2Rlcy5zaXplID09PSAwO1xuXG4gICAgICBpZiAob2JzZXJ2ZWROb2Rlcy5oYXMobm9kZSkpIHtcbiAgICAgICAgb2JzZXJ2ZWROb2Rlcy5nZXQobm9kZSkuY2FsbGJhY2tzLnB1c2goY2IpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb2JzZXJ2ZWROb2Rlcy5zZXQobm9kZSwge1xuICAgICAgICAgIHJlY3Q6IHVuZGVmaW5lZCxcbiAgICAgICAgICBoYXNSZWN0Q2hhbmdlZDogZmFsc2UsXG4gICAgICAgICAgY2FsbGJhY2tzOiBbY2JdXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAod2FzRW1wdHkpIHJ1bigpO1xuICAgIH0sXG4gICAgdW5vYnNlcnZlOiBmdW5jdGlvbiB1bm9ic2VydmUoKSB7XG4gICAgICB2YXIgc3RhdGUgPSBvYnNlcnZlZE5vZGVzLmdldChub2RlKTtcblxuICAgICAgaWYgKHN0YXRlKSB7XG4gICAgICAgIC8vIFJlbW92ZSB0aGUgY2FsbGJhY2tcbiAgICAgICAgdmFyIGluZGV4ID0gc3RhdGUuY2FsbGJhY2tzLmluZGV4T2YoY2IpO1xuICAgICAgICBpZiAoaW5kZXggPj0gMCkgc3RhdGUuY2FsbGJhY2tzLnNwbGljZShpbmRleCwgMSk7IC8vIFJlbW92ZSB0aGUgbm9kZSByZWZlcmVuY2VcblxuICAgICAgICBpZiAoIXN0YXRlLmNhbGxiYWNrcy5sZW5ndGgpIG9ic2VydmVkTm9kZXNbXCJkZWxldGVcIl0obm9kZSk7IC8vIFN0b3AgdGhlIGxvb3BcblxuICAgICAgICBpZiAoIW9ic2VydmVkTm9kZXMuc2l6ZSkgY2FuY2VsQW5pbWF0aW9uRnJhbWUocmFmSWQpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgb2JzZXJ2ZVJlY3Q7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1vYnNlcnZlLXJlY3QuZXNtLmpzLm1hcFxuIiwiaW1wb3J0IHsgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBvYnNlcnZlUmVjdCBmcm9tICdAcmVhY2gvb2JzZXJ2ZS1yZWN0JztcbmltcG9ydCB7IHVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QgfSBmcm9tICdAcmVhY2gvdXRpbHMvdXNlLWlzb21vcnBoaWMtbGF5b3V0LWVmZmVjdCc7XG5pbXBvcnQgeyBpc0Jvb2xlYW4sIGlzRnVuY3Rpb24gfSBmcm9tICdAcmVhY2gvdXRpbHMvdHlwZS1jaGVjayc7XG5pbXBvcnQgd2FybmluZyBmcm9tICd0aW55LXdhcm5pbmcnO1xuXG4vKipcbiAqIFdlbGNvbWUgdG8gQHJlYWNoL3JlY3QhXG4gKlxuICogTWVhc3VyZXMgRE9NIGVsZW1lbnRzIChha2EuIGJvdW5kaW5nIGNsaWVudCByZWN0KS5cbiAqXG4gKiBAc2VlIGdldEJvdW5kaW5nQ2xpZW50UmVjdCBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRWxlbWVudC9nZXRCb3VuZGluZ0NsaWVudFJlY3RcbiAqIEBzZWUgRG9jcyAgICAgICAgICAgICAgICAgIGh0dHBzOi8vcmVhY2gudGVjaC9yZWN0XG4gKiBAc2VlIFNvdXJjZSAgICAgICAgICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vcmVhY2gvcmVhY2gtdWkvdHJlZS9tYWluL3BhY2thZ2VzL3JlY3RcbiAqL1xuXG4vKipcbiAqIFJlY3RcbiAqXG4gKiBAcGFyYW0gcHJvcHNcbiAqL1xuXG52YXIgUmVjdCA9IGZ1bmN0aW9uIFJlY3QoX3JlZikge1xuICB2YXIgb25DaGFuZ2UgPSBfcmVmLm9uQ2hhbmdlLFxuICAgICAgX3JlZiRvYnNlcnZlID0gX3JlZi5vYnNlcnZlLFxuICAgICAgb2JzZXJ2ZSA9IF9yZWYkb2JzZXJ2ZSA9PT0gdm9pZCAwID8gdHJ1ZSA6IF9yZWYkb2JzZXJ2ZSxcbiAgICAgIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbjtcbiAgdmFyIHJlZiA9IHVzZVJlZihudWxsKTtcbiAgdmFyIHJlY3QgPSB1c2VSZWN0KHJlZiwge1xuICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgb25DaGFuZ2U6IG9uQ2hhbmdlXG4gIH0pO1xuICByZXR1cm4gY2hpbGRyZW4oe1xuICAgIHJlZjogcmVmLFxuICAgIHJlY3Q6IHJlY3RcbiAgfSk7XG59O1xuLyoqXG4gKiBAc2VlIERvY3MgaHR0cHM6Ly9yZWFjaC50ZWNoL3JlY3QjcmVjdC1wcm9wc1xuICovXG5cblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICBSZWN0LmRpc3BsYXlOYW1lID0gXCJSZWN0XCI7XG4gIFJlY3QucHJvcFR5cGVzID0ge1xuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9ic2VydmU6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuY1xuICB9O1xufSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cbi8qKlxuICogdXNlUmVjdFxuICpcbiAqIEBwYXJhbSBub2RlUmVmXG4gKiBAcGFyYW0gb2JzZXJ2ZVxuICogQHBhcmFtIG9uQ2hhbmdlXG4gKi9cbmZ1bmN0aW9uIHVzZVJlY3Qobm9kZVJlZiwgb2JzZXJ2ZU9yT3B0aW9ucywgZGVwcmVjYXRlZF9vbkNoYW5nZSkge1xuICB2YXIgb2JzZXJ2ZTtcbiAgdmFyIG9uQ2hhbmdlO1xuXG4gIGlmIChpc0Jvb2xlYW4ob2JzZXJ2ZU9yT3B0aW9ucykpIHtcbiAgICBvYnNlcnZlID0gb2JzZXJ2ZU9yT3B0aW9ucztcbiAgfSBlbHNlIHtcbiAgICB2YXIgX29ic2VydmVPck9wdGlvbnMkb2JzO1xuXG4gICAgb2JzZXJ2ZSA9IChfb2JzZXJ2ZU9yT3B0aW9ucyRvYnMgPSBvYnNlcnZlT3JPcHRpb25zID09IG51bGwgPyB2b2lkIDAgOiBvYnNlcnZlT3JPcHRpb25zLm9ic2VydmUpICE9IG51bGwgPyBfb2JzZXJ2ZU9yT3B0aW9ucyRvYnMgOiB0cnVlO1xuICAgIG9uQ2hhbmdlID0gb2JzZXJ2ZU9yT3B0aW9ucyA9PSBudWxsID8gdm9pZCAwIDogb2JzZXJ2ZU9yT3B0aW9ucy5vbkNoYW5nZTtcbiAgfVxuXG4gIGlmIChpc0Z1bmN0aW9uKGRlcHJlY2F0ZWRfb25DaGFuZ2UpKSB7XG4gICAgb25DaGFuZ2UgPSBkZXByZWNhdGVkX29uQ2hhbmdlO1xuICB9XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuICAgIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyB3YXJuaW5nKCFpc0Jvb2xlYW4ob2JzZXJ2ZU9yT3B0aW9ucyksIFwiUGFzc2luZyBgb2JzZXJ2ZWAgYXMgdGhlIHNlY29uZCBhcmd1bWVudCB0byBgdXNlUmVjdGAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24gb2YgUmVhY2ggVUkuIEluc3RlYWQsIHlvdSBjYW4gcGFzcyBhbiBvYmplY3Qgb2Ygb3B0aW9ucyB3aXRoIGFuIGBvYnNlcnZlYCBwcm9wZXJ0eSBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IChgdXNlUmVjdChyZWYsIHsgb2JzZXJ2ZSB9KWApLlxcblwiICsgXCJTZWUgaHR0cHM6Ly9yZWFjaC50ZWNoL3JlY3QjdXNlcmVjdC1vYnNlcnZlXCIpIDogdm9pZCAwO1xuICAgIH0sIFtvYnNlcnZlT3JPcHRpb25zXSk7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuXG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IHdhcm5pbmcoIWlzRnVuY3Rpb24oZGVwcmVjYXRlZF9vbkNoYW5nZSksIFwiUGFzc2luZyBgb25DaGFuZ2VgIGFzIHRoZSB0aGlyZCBhcmd1bWVudCB0byBgdXNlUmVjdGAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24gb2YgUmVhY2ggVUkuIEluc3RlYWQsIHlvdSBjYW4gcGFzcyBhbiBvYmplY3Qgb2Ygb3B0aW9ucyB3aXRoIGFuIGBvbkNoYW5nZWAgcHJvcGVydHkgYXMgdGhlIHNlY29uZCBhcmd1bWVudCAoYHVzZVJlY3QocmVmLCB7IG9uQ2hhbmdlIH0pYCkuXFxuXCIgKyBcIlNlZSBodHRwczovL3JlYWNoLnRlY2gvcmVjdCN1c2VyZWN0LW9uY2hhbmdlXCIpIDogdm9pZCAwO1xuICAgIH0sIFtkZXByZWNhdGVkX29uQ2hhbmdlXSk7XG4gIH1cblxuICB2YXIgX1JlYWN0JHVzZVN0YXRlID0gdXNlU3RhdGUobm9kZVJlZi5jdXJyZW50KSxcbiAgICAgIGVsZW1lbnQgPSBfUmVhY3QkdXNlU3RhdGVbMF0sXG4gICAgICBzZXRFbGVtZW50ID0gX1JlYWN0JHVzZVN0YXRlWzFdO1xuXG4gIHZhciBpbml0aWFsUmVjdElzU2V0ID0gdXNlUmVmKGZhbHNlKTtcbiAgdmFyIGluaXRpYWxSZWZJc1NldCA9IHVzZVJlZihmYWxzZSk7XG5cbiAgdmFyIF9SZWFjdCR1c2VTdGF0ZTIgPSB1c2VTdGF0ZShudWxsKSxcbiAgICAgIHJlY3QgPSBfUmVhY3QkdXNlU3RhdGUyWzBdLFxuICAgICAgc2V0UmVjdCA9IF9SZWFjdCR1c2VTdGF0ZTJbMV07XG5cbiAgdmFyIG9uQ2hhbmdlUmVmID0gdXNlUmVmKG9uQ2hhbmdlKTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuXG4gIHVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIG9uQ2hhbmdlUmVmLmN1cnJlbnQgPSBvbkNoYW5nZTtcblxuICAgIGlmIChub2RlUmVmLmN1cnJlbnQgIT09IGVsZW1lbnQpIHtcbiAgICAgIHNldEVsZW1lbnQobm9kZVJlZi5jdXJyZW50KTtcbiAgICB9XG4gIH0pO1xuICB1c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoZWxlbWVudCAmJiAhaW5pdGlhbFJlY3RJc1NldC5jdXJyZW50KSB7XG4gICAgICBpbml0aWFsUmVjdElzU2V0LmN1cnJlbnQgPSB0cnVlO1xuICAgICAgc2V0UmVjdChlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTtcbiAgICB9XG4gIH0sIFtlbGVtZW50XSk7XG4gIHVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIGlmICghb2JzZXJ2ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBlbGVtID0gZWxlbWVudDsgLy8gU3RhdGUgaW5pdGlhbGl6ZXMgYmVmb3JlIHJlZnMgYXJlIHBsYWNlZCwgbWVhbmluZyB0aGUgZWxlbWVudCBzdGF0ZSB3aWxsXG4gICAgLy8gYmUgdW5kZWZpbmVkIG9uIHRoZSBmaXJzdCByZW5kZXIuIFdlIHN0aWxsIHdhbnQgdGhlIHJlY3Qgb24gdGhlIGZpcnN0XG4gICAgLy8gcmVuZGVyLCBzbyBpbml0aWFsbHkgd2UnbGwgdXNlIHRoZSBub2RlUmVmIHRoYXQgd2FzIHBhc3NlZCBpbnN0ZWFkIG9mXG4gICAgLy8gc3RhdGUgZm9yIG91ciBtZWFzdXJlbWVudHMuXG5cbiAgICBpZiAoIWluaXRpYWxSZWZJc1NldC5jdXJyZW50KSB7XG4gICAgICBpbml0aWFsUmVmSXNTZXQuY3VycmVudCA9IHRydWU7XG4gICAgICBlbGVtID0gbm9kZVJlZi5jdXJyZW50O1xuICAgIH1cblxuICAgIGlmICghZWxlbSkge1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICBjb25zb2xlLndhcm4oXCJZb3UgbmVlZCB0byBwbGFjZSB0aGUgcmVmXCIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIG9ic2VydmVyID0gb2JzZXJ2ZVJlY3QoZWxlbSwgZnVuY3Rpb24gKHJlY3QpIHtcbiAgICAgIG9uQ2hhbmdlUmVmLmN1cnJlbnQgPT0gbnVsbCA/IHZvaWQgMCA6IG9uQ2hhbmdlUmVmLmN1cnJlbnQocmVjdCk7XG4gICAgICBzZXRSZWN0KHJlY3QpO1xuICAgIH0pO1xuICAgIG9ic2VydmVyLm9ic2VydmUoKTtcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgb2JzZXJ2ZXIudW5vYnNlcnZlKCk7XG4gICAgfTtcbiAgfSwgW29ic2VydmUsIGVsZW1lbnQsIG5vZGVSZWZdKTtcbiAgcmV0dXJuIHJlY3Q7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFJlY3Q7XG5leHBvcnQgeyBSZWN0LCB1c2VSZWN0IH07XG4iLCJpbXBvcnQgeyB1c2VTdGF0ZSwgdXNlUmVmLCB1c2VFZmZlY3QsIGZvcndhcmRSZWYsIENoaWxkcmVuLCBjcmVhdGVFbGVtZW50LCBGcmFnbWVudCwgY2xvbmVFbGVtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlSWQgfSBmcm9tICdAcmVhY2gvYXV0by1pZCc7XG5pbXBvcnQgeyBnZXREb2N1bWVudERpbWVuc2lvbnMgfSBmcm9tICdAcmVhY2gvdXRpbHMvZ2V0LWRvY3VtZW50LWRpbWVuc2lvbnMnO1xuaW1wb3J0IHsgZ2V0T3duZXJEb2N1bWVudCB9IGZyb20gJ0ByZWFjaC91dGlscy9vd25lci1kb2N1bWVudCc7XG5pbXBvcnQgeyBtYWtlSWQgfSBmcm9tICdAcmVhY2gvdXRpbHMvbWFrZS1pZCc7XG5pbXBvcnQgeyB1c2VDaGVja1N0eWxlcyB9IGZyb20gJ0ByZWFjaC91dGlscy9kZXYtdXRpbHMnO1xuaW1wb3J0IHsgdXNlQ29tcG9zZWRSZWZzIH0gZnJvbSAnQHJlYWNoL3V0aWxzL2NvbXBvc2UtcmVmcyc7XG5pbXBvcnQgeyBjb21wb3NlRXZlbnRIYW5kbGVycyB9IGZyb20gJ0ByZWFjaC91dGlscy9jb21wb3NlLWV2ZW50LWhhbmRsZXJzJztcbmltcG9ydCB7IFBvcnRhbCB9IGZyb20gJ0ByZWFjaC9wb3J0YWwnO1xuaW1wb3J0IHsgVmlzdWFsbHlIaWRkZW4gfSBmcm9tICdAcmVhY2gvdmlzdWFsbHktaGlkZGVuJztcbmltcG9ydCB7IHVzZVJlY3QgfSBmcm9tICdAcmVhY2gvcmVjdCc7XG5pbXBvcnQgd2FybmluZyBmcm9tICd0aW55LXdhcm5pbmcnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuZnVuY3Rpb24gX2V4dGVuZHMoKSB7XG4gIF9leHRlbmRzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7XG4gICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07XG5cbiAgICAgIGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHtcbiAgICAgICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfTtcblxuICByZXR1cm4gX2V4dGVuZHMuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn1cblxuZnVuY3Rpb24gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2Uoc291cmNlLCBleGNsdWRlZCkge1xuICBpZiAoc291cmNlID09IG51bGwpIHJldHVybiB7fTtcbiAgdmFyIHRhcmdldCA9IHt9O1xuICB2YXIgc291cmNlS2V5cyA9IE9iamVjdC5rZXlzKHNvdXJjZSk7XG4gIHZhciBrZXksIGk7XG5cbiAgZm9yIChpID0gMDsgaSA8IHNvdXJjZUtleXMubGVuZ3RoOyBpKyspIHtcbiAgICBrZXkgPSBzb3VyY2VLZXlzW2ldO1xuICAgIGlmIChleGNsdWRlZC5pbmRleE9mKGtleSkgPj0gMCkgY29udGludWU7XG4gICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59XG5cbnZhciBfZXhjbHVkZWQgPSBbXCJjaGlsZHJlblwiLCBcImxhYmVsXCIsIFwiYXJpYUxhYmVsXCIsIFwiaWRcIiwgXCJERUJVR19TVFlMRVwiXSxcbiAgICBfZXhjbHVkZWQyID0gW1wibGFiZWxcIiwgXCJhcmlhTGFiZWxcIiwgXCJpc1Zpc2libGVcIiwgXCJpZFwiXSxcbiAgICBfZXhjbHVkZWQzID0gW1wiYXJpYUxhYmVsXCIsIFwiYXJpYS1sYWJlbFwiLCBcImFzXCIsIFwiaWRcIiwgXCJpc1Zpc2libGVcIiwgXCJsYWJlbFwiLCBcInBvc2l0aW9uXCIsIFwic3R5bGVcIiwgXCJ0cmlnZ2VyUmVjdFwiXSxcbiAgICBfZXhjbHVkZWQ0ID0gW1widHlwZVwiXTtcblxudmFyIF9vbiwgX29uMiwgX29uMywgX29uNCwgX29uNSwgX3N0YXRlcztcbnZhciBNT1VTRV9SRVNUX1RJTUVPVVQgPSAxMDA7XG52YXIgTEVBVkVfVElNRU9VVCA9IDUwMDsgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFN0YXRlc1xuXG52YXIgVG9vbHRpcFN0YXRlczsgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEV2ZW50c1xuXG4oZnVuY3Rpb24gKFRvb2x0aXBTdGF0ZXMpIHtcbiAgVG9vbHRpcFN0YXRlc1tcIklkbGVcIl0gPSBcIklETEVcIjtcbiAgVG9vbHRpcFN0YXRlc1tcIkZvY3VzZWRcIl0gPSBcIkZPQ1VTRURcIjtcbiAgVG9vbHRpcFN0YXRlc1tcIlZpc2libGVcIl0gPSBcIlZJU0lCTEVcIjtcbiAgVG9vbHRpcFN0YXRlc1tcIkxlYXZpbmdWaXNpYmxlXCJdID0gXCJMRUFWSU5HX1ZJU0lCTEVcIjtcbiAgVG9vbHRpcFN0YXRlc1tcIkRpc21pc3NlZFwiXSA9IFwiRElTTUlTU0VEXCI7XG59KShUb29sdGlwU3RhdGVzIHx8IChUb29sdGlwU3RhdGVzID0ge30pKTtcblxudmFyIFRvb2x0aXBFdmVudHM7XG5cbihmdW5jdGlvbiAoVG9vbHRpcEV2ZW50cykge1xuICBUb29sdGlwRXZlbnRzW1wiQmx1clwiXSA9IFwiQkxVUlwiO1xuICBUb29sdGlwRXZlbnRzW1wiRm9jdXNcIl0gPSBcIkZPQ1VTXCI7XG4gIFRvb2x0aXBFdmVudHNbXCJHbG9iYWxNb3VzZU1vdmVcIl0gPSBcIkdMT0JBTF9NT1VTRV9NT1ZFXCI7XG4gIFRvb2x0aXBFdmVudHNbXCJNb3VzZURvd25cIl0gPSBcIk1PVVNFX0RPV05cIjtcbiAgVG9vbHRpcEV2ZW50c1tcIk1vdXNlRW50ZXJcIl0gPSBcIk1PVVNFX0VOVEVSXCI7XG4gIFRvb2x0aXBFdmVudHNbXCJNb3VzZUxlYXZlXCJdID0gXCJNT1VTRV9MRUFWRVwiO1xuICBUb29sdGlwRXZlbnRzW1wiTW91c2VNb3ZlXCJdID0gXCJNT1VTRV9NT1ZFXCI7XG4gIFRvb2x0aXBFdmVudHNbXCJSZXN0XCJdID0gXCJSRVNUXCI7XG4gIFRvb2x0aXBFdmVudHNbXCJTZWxlY3RXaXRoS2V5Ym9hcmRcIl0gPSBcIlNFTEVDVF9XSVRIX0tFWUJPQVJEXCI7XG4gIFRvb2x0aXBFdmVudHNbXCJUaW1lQ29tcGxldGVcIl0gPSBcIlRJTUVfQ09NUExFVEVcIjtcbn0pKFRvb2x0aXBFdmVudHMgfHwgKFRvb2x0aXBFdmVudHMgPSB7fSkpO1xuXG52YXIgY2hhcnQgPSB7XG4gIGluaXRpYWw6IFRvb2x0aXBTdGF0ZXMuSWRsZSxcbiAgc3RhdGVzOiAoX3N0YXRlcyA9IHt9LCBfc3RhdGVzW1Rvb2x0aXBTdGF0ZXMuSWRsZV0gPSB7XG4gICAgZW50ZXI6IGNsZWFyQ29udGV4dElkLFxuICAgIG9uOiAoX29uID0ge30sIF9vbltUb29sdGlwRXZlbnRzLk1vdXNlRW50ZXJdID0gVG9vbHRpcFN0YXRlcy5Gb2N1c2VkLCBfb25bVG9vbHRpcEV2ZW50cy5Gb2N1c10gPSBUb29sdGlwU3RhdGVzLlZpc2libGUsIF9vbilcbiAgfSwgX3N0YXRlc1tUb29sdGlwU3RhdGVzLkZvY3VzZWRdID0ge1xuICAgIGVudGVyOiBzdGFydFJlc3RUaW1lcixcbiAgICBsZWF2ZTogY2xlYXJSZXN0VGltZXIsXG4gICAgb246IChfb24yID0ge30sIF9vbjJbVG9vbHRpcEV2ZW50cy5Nb3VzZU1vdmVdID0gVG9vbHRpcFN0YXRlcy5Gb2N1c2VkLCBfb24yW1Rvb2x0aXBFdmVudHMuTW91c2VMZWF2ZV0gPSBUb29sdGlwU3RhdGVzLklkbGUsIF9vbjJbVG9vbHRpcEV2ZW50cy5Nb3VzZURvd25dID0gVG9vbHRpcFN0YXRlcy5EaXNtaXNzZWQsIF9vbjJbVG9vbHRpcEV2ZW50cy5CbHVyXSA9IFRvb2x0aXBTdGF0ZXMuSWRsZSwgX29uMltUb29sdGlwRXZlbnRzLlJlc3RdID0gVG9vbHRpcFN0YXRlcy5WaXNpYmxlLCBfb24yKVxuICB9LCBfc3RhdGVzW1Rvb2x0aXBTdGF0ZXMuVmlzaWJsZV0gPSB7XG4gICAgb246IChfb24zID0ge30sIF9vbjNbVG9vbHRpcEV2ZW50cy5Gb2N1c10gPSBUb29sdGlwU3RhdGVzLkZvY3VzZWQsIF9vbjNbVG9vbHRpcEV2ZW50cy5Nb3VzZUVudGVyXSA9IFRvb2x0aXBTdGF0ZXMuRm9jdXNlZCwgX29uM1tUb29sdGlwRXZlbnRzLk1vdXNlTGVhdmVdID0gVG9vbHRpcFN0YXRlcy5MZWF2aW5nVmlzaWJsZSwgX29uM1tUb29sdGlwRXZlbnRzLkJsdXJdID0gVG9vbHRpcFN0YXRlcy5MZWF2aW5nVmlzaWJsZSwgX29uM1tUb29sdGlwRXZlbnRzLk1vdXNlRG93bl0gPSBUb29sdGlwU3RhdGVzLkRpc21pc3NlZCwgX29uM1tUb29sdGlwRXZlbnRzLlNlbGVjdFdpdGhLZXlib2FyZF0gPSBUb29sdGlwU3RhdGVzLkRpc21pc3NlZCwgX29uM1tUb29sdGlwRXZlbnRzLkdsb2JhbE1vdXNlTW92ZV0gPSBUb29sdGlwU3RhdGVzLkxlYXZpbmdWaXNpYmxlLCBfb24zKVxuICB9LCBfc3RhdGVzW1Rvb2x0aXBTdGF0ZXMuTGVhdmluZ1Zpc2libGVdID0ge1xuICAgIGVudGVyOiBzdGFydExlYXZpbmdWaXNpYmxlVGltZXIsXG4gICAgbGVhdmU6IGZ1bmN0aW9uIGxlYXZlKCkge1xuICAgICAgY2xlYXJMZWF2aW5nVmlzaWJsZVRpbWVyKCk7XG4gICAgICBjbGVhckNvbnRleHRJZCgpO1xuICAgIH0sXG4gICAgb246IChfb240ID0ge30sIF9vbjRbVG9vbHRpcEV2ZW50cy5Nb3VzZUVudGVyXSA9IFRvb2x0aXBTdGF0ZXMuVmlzaWJsZSwgX29uNFtUb29sdGlwRXZlbnRzLkZvY3VzXSA9IFRvb2x0aXBTdGF0ZXMuVmlzaWJsZSwgX29uNFtUb29sdGlwRXZlbnRzLlRpbWVDb21wbGV0ZV0gPSBUb29sdGlwU3RhdGVzLklkbGUsIF9vbjQpXG4gIH0sIF9zdGF0ZXNbVG9vbHRpcFN0YXRlcy5EaXNtaXNzZWRdID0ge1xuICAgIGxlYXZlOiBmdW5jdGlvbiBsZWF2ZSgpIHtcbiAgICAgIGNsZWFyQ29udGV4dElkKCk7XG4gICAgfSxcbiAgICBvbjogKF9vbjUgPSB7fSwgX29uNVtUb29sdGlwRXZlbnRzLk1vdXNlTGVhdmVdID0gVG9vbHRpcFN0YXRlcy5JZGxlLCBfb241W1Rvb2x0aXBFdmVudHMuQmx1cl0gPSBUb29sdGlwU3RhdGVzLklkbGUsIF9vbjUpXG4gIH0sIF9zdGF0ZXMpXG59O1xuLypcbiAqIENoYXJ0IGNvbnRleHQgYWxsb3dzIHVzIHRvIHBlcnNpc3Qgc29tZSBkYXRhIGFyb3VuZCwgaW4gVG9vbHRpcCBhbGwgd2UgdXNlXG4gKiBpcyB0aGUgaWQgb2YgdGhlIGN1cnJlbnQgdG9vbHRpcCBiZWluZyBpbnRlcmFjdGVkIHdpdGguXG4gKi9cblxudmFyIHN0YXRlID0ge1xuICB2YWx1ZTogY2hhcnQuaW5pdGlhbCxcbiAgY29udGV4dDoge1xuICAgIGlkOiBudWxsXG4gIH1cbn07IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBTdWJzY3JpcHRpb25zOlxuLy9cbi8vIFdlIGNvdWxkIHJlcXVpcmUgYXBwcyB0byByZW5kZXIgYSA8VG9vbHRpcFByb3ZpZGVyPiBhcm91bmQgdGhlIGFwcCBhbmQgdXNlXG4vLyBSZWFjdCBjb250ZXh0IHRvIG5vdGlmeSBUb29sdGlwcyBvZiBjaGFuZ2VzIHRvIG91ciBzdGF0ZSBtYWNoaW5lLCBpbnN0ZWFkXG4vLyB3ZSBtYW5hZ2Ugc3Vic2NyaXB0aW9ucyBvdXJzZWx2ZXMgYW5kIHNpbXBsaWZ5IHRoZSBUb29sdGlwIEFQSS5cbi8vXG4vLyBNYXliZSBpZiBkZWZhdWx0IGNvbnRleHQgY291bGQgdGFrZSBhIGhvb2sgKGluc3RlYWQgb2YganVzdCBhIHN0YXRpYyB2YWx1ZSlcbi8vIHRoYXQgd2FzIHJlbmRlcmVkIGF0IHRoZSByb290IGZvciB1cywgdGhhdCdkIGJlIGNvb2whIEJ1dCBpdCBkb2Vzbid0LlxuXG52YXIgc3Vic2NyaXB0aW9ucyA9IFtdO1xuXG5mdW5jdGlvbiBzdWJzY3JpYmUoZm4pIHtcbiAgc3Vic2NyaXB0aW9ucy5wdXNoKGZuKTtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICBzdWJzY3JpcHRpb25zLnNwbGljZShzdWJzY3JpcHRpb25zLmluZGV4T2YoZm4pLCAxKTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gbm90aWZ5KCkge1xuICBzdWJzY3JpcHRpb25zLmZvckVhY2goZnVuY3Rpb24gKGZuKSB7XG4gICAgcmV0dXJuIGZuKHN0YXRlKTtcbiAgfSk7XG59IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBUaW1lb3V0czpcbi8vIE1hbmFnZXMgd2hlbiB0aGUgdXNlciBcInJlc3RzXCIgb24gYW4gZWxlbWVudC4gS2VlcHMgdGhlIGludGVyZmFjZSBmcm9tIGJlaW5nXG4vLyBmbGFzaGluZyB0b29sdGlwcyBhbGwgdGhlIHRpbWUgYXMgdGhlIHVzZXIgbW92ZXMgdGhlIG1vdXNlIGFyb3VuZCB0aGUgc2NyZWVuLlxuXG5cbnZhciByZXN0VGltZW91dDtcblxuZnVuY3Rpb24gc3RhcnRSZXN0VGltZXIoKSB7XG4gIHdpbmRvdy5jbGVhclRpbWVvdXQocmVzdFRpbWVvdXQpO1xuICByZXN0VGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICBzZW5kKHtcbiAgICAgIHR5cGU6IFRvb2x0aXBFdmVudHMuUmVzdFxuICAgIH0pO1xuICB9LCBNT1VTRV9SRVNUX1RJTUVPVVQpO1xufVxuXG5mdW5jdGlvbiBjbGVhclJlc3RUaW1lcigpIHtcbiAgd2luZG93LmNsZWFyVGltZW91dChyZXN0VGltZW91dCk7XG59IC8vIE1hbmFnZXMgdGhlIGRlbGF5IHRvIGhpZGUgdGhlIHRvb2x0aXAgYWZ0ZXIgcmVzdCBsZWF2ZXMuXG5cblxudmFyIGxlYXZpbmdWaXNpYmxlVGltZXI7XG5cbmZ1bmN0aW9uIHN0YXJ0TGVhdmluZ1Zpc2libGVUaW1lcigpIHtcbiAgd2luZG93LmNsZWFyVGltZW91dChsZWF2aW5nVmlzaWJsZVRpbWVyKTtcbiAgbGVhdmluZ1Zpc2libGVUaW1lciA9IHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gc2VuZCh7XG4gICAgICB0eXBlOiBUb29sdGlwRXZlbnRzLlRpbWVDb21wbGV0ZVxuICAgIH0pO1xuICB9LCBMRUFWRV9USU1FT1VUKTtcbn1cblxuZnVuY3Rpb24gY2xlYXJMZWF2aW5nVmlzaWJsZVRpbWVyKCkge1xuICB3aW5kb3cuY2xlYXJUaW1lb3V0KGxlYXZpbmdWaXNpYmxlVGltZXIpO1xufSAvLyBhbGxvd3MgdXMgdG8gY29tZSBvbiBiYWNrIGxhdGVyIHcvbyBlbnRlcmluZyBzb21ldGhpbmcgZWxzZSBmaXJzdCBhZnRlciB0aGVcbi8vIHVzZXIgbGVhdmVzIG9yIGRpc21pc3Nlc1xuXG5cbmZ1bmN0aW9uIGNsZWFyQ29udGV4dElkKCkge1xuICBzdGF0ZS5jb250ZXh0LmlkID0gbnVsbDtcbn0gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiB1c2VUb29sdGlwXG4gKlxuICogQHBhcmFtIHBhcmFtc1xuICovXG5cblxuZnVuY3Rpb24gdXNlVG9vbHRpcChfdGVtcCkge1xuICB2YXIgX3JlZiA9IF90ZW1wID09PSB2b2lkIDAgPyB7fSA6IF90ZW1wLFxuICAgICAgaWRQcm9wID0gX3JlZi5pZCxcbiAgICAgIG9uUG9pbnRlckVudGVyID0gX3JlZi5vblBvaW50ZXJFbnRlcixcbiAgICAgIG9uUG9pbnRlck1vdmUgPSBfcmVmLm9uUG9pbnRlck1vdmUsXG4gICAgICBvblBvaW50ZXJMZWF2ZSA9IF9yZWYub25Qb2ludGVyTGVhdmUsXG4gICAgICBvblBvaW50ZXJEb3duID0gX3JlZi5vblBvaW50ZXJEb3duLFxuICAgICAgb25Nb3VzZUVudGVyID0gX3JlZi5vbk1vdXNlRW50ZXIsXG4gICAgICBvbk1vdXNlTW92ZSA9IF9yZWYub25Nb3VzZU1vdmUsXG4gICAgICBvbk1vdXNlTGVhdmUgPSBfcmVmLm9uTW91c2VMZWF2ZSxcbiAgICAgIG9uTW91c2VEb3duID0gX3JlZi5vbk1vdXNlRG93bixcbiAgICAgIG9uRm9jdXMgPSBfcmVmLm9uRm9jdXMsXG4gICAgICBvbkJsdXIgPSBfcmVmLm9uQmx1cixcbiAgICAgIG9uS2V5RG93biA9IF9yZWYub25LZXlEb3duLFxuICAgICAgZGlzYWJsZWQgPSBfcmVmLmRpc2FibGVkLFxuICAgICAgZm9yd2FyZGVkUmVmID0gX3JlZi5yZWYsXG4gICAgICBERUJVR19TVFlMRSA9IF9yZWYuREVCVUdfU1RZTEU7XG5cbiAgdmFyIGlkID0gU3RyaW5nKHVzZUlkKGlkUHJvcCkpO1xuXG4gIHZhciBfUmVhY3QkdXNlU3RhdGUgPSB1c2VTdGF0ZShERUJVR19TVFlMRSA/IHRydWUgOiBpc1Rvb2x0aXBWaXNpYmxlKGlkLCB0cnVlKSksXG4gICAgICBpc1Zpc2libGUgPSBfUmVhY3QkdXNlU3RhdGVbMF0sXG4gICAgICBzZXRJc1Zpc2libGUgPSBfUmVhY3QkdXNlU3RhdGVbMV07IC8vIGhvcGVmdWxseSB0aGV5IGFsd2F5cyBwYXNzIGEgcmVmIGlmIHRoZXkgZXZlciBwYXNzIG9uZVxuXG5cbiAgdmFyIG93blJlZiA9IHVzZVJlZihudWxsKTtcbiAgdmFyIHJlZiA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIG93blJlZik7XG4gIHZhciB0cmlnZ2VyUmVjdCA9IHVzZVJlY3Qob3duUmVmLCB7XG4gICAgb2JzZXJ2ZTogaXNWaXNpYmxlXG4gIH0pO1xuICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBzdWJzY3JpYmUoZnVuY3Rpb24gKCkge1xuICAgICAgc2V0SXNWaXNpYmxlKGlzVG9vbHRpcFZpc2libGUoaWQpKTtcbiAgICB9KTtcbiAgfSwgW2lkXSk7XG4gIHVzZUNoZWNrU3R5bGVzKFwidG9vbHRpcFwiKTtcbiAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgb3duZXJEb2N1bWVudCA9IGdldE93bmVyRG9jdW1lbnQob3duUmVmLmN1cnJlbnQpO1xuXG4gICAgZnVuY3Rpb24gbGlzdGVuZXIoZXZlbnQpIHtcbiAgICAgIGlmICgoZXZlbnQua2V5ID09PSBcIkVzY2FwZVwiIHx8IGV2ZW50LmtleSA9PT0gXCJFc2NcIikgJiYgc3RhdGUudmFsdWUgPT09IFRvb2x0aXBTdGF0ZXMuVmlzaWJsZSkge1xuICAgICAgICBzZW5kKHtcbiAgICAgICAgICB0eXBlOiBUb29sdGlwRXZlbnRzLlNlbGVjdFdpdGhLZXlib2FyZFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBvd25lckRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIGxpc3RlbmVyKTtcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIG93bmVyRG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgbGlzdGVuZXIpO1xuICAgIH07XG4gIH0sIFtdKTtcbiAgdXNlRGlzYWJsZWRUcmlnZ2VyT25TYWZhcmkoe1xuICAgIGRpc2FibGVkOiBkaXNhYmxlZCxcbiAgICBpc1Zpc2libGU6IGlzVmlzaWJsZSxcbiAgICByZWY6IG93blJlZlxuICB9KTtcblxuICBmdW5jdGlvbiB3cmFwTW91c2VFdmVudCh0aGVpckhhbmRsZXIsIG91ckhhbmRsZXIpIHtcbiAgICAvLyBVc2UgaW50ZXJuYWwgTW91c2VFdmVudCBoYW5kbGVyIG9ubHkgaWYgUG9pbnRlckV2ZW50IGlzIG5vdCBzdXBwb3J0ZWRcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiAmJiBcIlBvaW50ZXJFdmVudFwiIGluIHdpbmRvdykge1xuICAgICAgcmV0dXJuIHRoZWlySGFuZGxlcjtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tcG9zZUV2ZW50SGFuZGxlcnModGhlaXJIYW5kbGVyLCBvdXJIYW5kbGVyKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHdyYXBQb2ludGVyRXZlbnRIYW5kbGVyKGhhbmRsZXIpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gb25Qb2ludGVyRXZlbnQoZXZlbnQpIHtcbiAgICAgIC8vIEhhbmRsZSBwb2ludGVyIGV2ZW50cyBvbmx5IGZyb20gbW91c2UgZGV2aWNlXG4gICAgICBpZiAoZXZlbnQucG9pbnRlclR5cGUgIT09IFwibW91c2VcIikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGhhbmRsZXIoZXZlbnQpO1xuICAgIH07XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVNb3VzZUVudGVyKCkge1xuICAgIHNlbmQoe1xuICAgICAgdHlwZTogVG9vbHRpcEV2ZW50cy5Nb3VzZUVudGVyLFxuICAgICAgaWQ6IGlkXG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVNb3VzZU1vdmUoKSB7XG4gICAgc2VuZCh7XG4gICAgICB0eXBlOiBUb29sdGlwRXZlbnRzLk1vdXNlTW92ZSxcbiAgICAgIGlkOiBpZFxuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlTW91c2VMZWF2ZSgpIHtcbiAgICBzZW5kKHtcbiAgICAgIHR5cGU6IFRvb2x0aXBFdmVudHMuTW91c2VMZWF2ZVxuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlTW91c2VEb3duKCkge1xuICAgIC8vIEFsbG93IHF1aWNrIGNsaWNrIGZyb20gb25lIHRvb2wgdG8gYW5vdGhlclxuICAgIGlmIChzdGF0ZS5jb250ZXh0LmlkID09PSBpZCkge1xuICAgICAgc2VuZCh7XG4gICAgICAgIHR5cGU6IFRvb2x0aXBFdmVudHMuTW91c2VEb3duXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVGb2N1cygpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgaWYgKHdpbmRvdy5fX1JFQUNIX0RJU0FCTEVfVE9PTFRJUFMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZW5kKHtcbiAgICAgIHR5cGU6IFRvb2x0aXBFdmVudHMuRm9jdXMsXG4gICAgICBpZDogaWRcbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZUJsdXIoKSB7XG4gICAgLy8gQWxsb3cgcXVpY2sgY2xpY2sgZnJvbSBvbmUgdG9vbCB0byBhbm90aGVyXG4gICAgaWYgKHN0YXRlLmNvbnRleHQuaWQgPT09IGlkKSB7XG4gICAgICBzZW5kKHtcbiAgICAgICAgdHlwZTogVG9vbHRpcEV2ZW50cy5CbHVyXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVLZXlEb3duKGV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gXCJFbnRlclwiIHx8IGV2ZW50LmtleSA9PT0gXCIgXCIpIHtcbiAgICAgIHNlbmQoe1xuICAgICAgICB0eXBlOiBUb29sdGlwRXZlbnRzLlNlbGVjdFdpdGhLZXlib2FyZFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgdmFyIHRyaWdnZXIgPSB7XG4gICAgLy8gVGhlIGVsZW1lbnQgdGhhdCB0cmlnZ2VycyB0aGUgdG9vbHRpcCByZWZlcmVuY2VzIHRoZSB0b29sdGlwIGVsZW1lbnQgd2l0aFxuICAgIC8vIGBhcmlhLWRlc2NyaWJlZGJ5YC5cbiAgICAvLyBodHRwczovL3d3dy53My5vcmcvVFIvd2FpLWFyaWEtcHJhY3RpY2VzLTEuMi8jdG9vbHRpcFxuICAgIFwiYXJpYS1kZXNjcmliZWRieVwiOiBpc1Zpc2libGUgPyBtYWtlSWQoXCJ0b29sdGlwXCIsIGlkKSA6IHVuZGVmaW5lZCxcbiAgICBcImRhdGEtc3RhdGVcIjogaXNWaXNpYmxlID8gXCJ0b29sdGlwLXZpc2libGVcIiA6IFwidG9vbHRpcC1oaWRkZW5cIixcbiAgICBcImRhdGEtcmVhY2gtdG9vbHRpcC10cmlnZ2VyXCI6IFwiXCIsXG4gICAgcmVmOiByZWYsXG4gICAgb25Qb2ludGVyRW50ZXI6IGNvbXBvc2VFdmVudEhhbmRsZXJzKG9uUG9pbnRlckVudGVyLCB3cmFwUG9pbnRlckV2ZW50SGFuZGxlcihoYW5kbGVNb3VzZUVudGVyKSksXG4gICAgb25Qb2ludGVyTW92ZTogY29tcG9zZUV2ZW50SGFuZGxlcnMob25Qb2ludGVyTW92ZSwgd3JhcFBvaW50ZXJFdmVudEhhbmRsZXIoaGFuZGxlTW91c2VNb3ZlKSksXG4gICAgb25Qb2ludGVyTGVhdmU6IGNvbXBvc2VFdmVudEhhbmRsZXJzKG9uUG9pbnRlckxlYXZlLCB3cmFwUG9pbnRlckV2ZW50SGFuZGxlcihoYW5kbGVNb3VzZUxlYXZlKSksXG4gICAgb25Qb2ludGVyRG93bjogY29tcG9zZUV2ZW50SGFuZGxlcnMob25Qb2ludGVyRG93biwgd3JhcFBvaW50ZXJFdmVudEhhbmRsZXIoaGFuZGxlTW91c2VEb3duKSksXG4gICAgb25Nb3VzZUVudGVyOiB3cmFwTW91c2VFdmVudChvbk1vdXNlRW50ZXIsIGhhbmRsZU1vdXNlRW50ZXIpLFxuICAgIG9uTW91c2VNb3ZlOiB3cmFwTW91c2VFdmVudChvbk1vdXNlTW92ZSwgaGFuZGxlTW91c2VNb3ZlKSxcbiAgICBvbk1vdXNlTGVhdmU6IHdyYXBNb3VzZUV2ZW50KG9uTW91c2VMZWF2ZSwgaGFuZGxlTW91c2VMZWF2ZSksXG4gICAgb25Nb3VzZURvd246IHdyYXBNb3VzZUV2ZW50KG9uTW91c2VEb3duLCBoYW5kbGVNb3VzZURvd24pLFxuICAgIG9uRm9jdXM6IGNvbXBvc2VFdmVudEhhbmRsZXJzKG9uRm9jdXMsIGhhbmRsZUZvY3VzKSxcbiAgICBvbkJsdXI6IGNvbXBvc2VFdmVudEhhbmRsZXJzKG9uQmx1ciwgaGFuZGxlQmx1ciksXG4gICAgb25LZXlEb3duOiBjb21wb3NlRXZlbnRIYW5kbGVycyhvbktleURvd24sIGhhbmRsZUtleURvd24pXG4gIH07XG4gIHZhciB0b29sdGlwID0ge1xuICAgIGlkOiBpZCxcbiAgICB0cmlnZ2VyUmVjdDogdHJpZ2dlclJlY3QsXG4gICAgaXNWaXNpYmxlOiBpc1Zpc2libGVcbiAgfTtcbiAgcmV0dXJuIFt0cmlnZ2VyLCB0b29sdGlwLCBpc1Zpc2libGVdO1xufSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIFRvb2x0aXBcbiAqXG4gKiBAc2VlIERvY3MgaHR0cHM6Ly9yZWFjaC50ZWNoL3Rvb2x0aXAjdG9vbHRpcFxuICovXG5cblxudmFyIFRvb2x0aXAgPSAvKiNfX1BVUkVfXyovZm9yd2FyZFJlZihmdW5jdGlvbiAoX3JlZjIsIGZvcndhcmRlZFJlZikge1xuICB2YXIgY2hpbGRyZW4gPSBfcmVmMi5jaGlsZHJlbixcbiAgICAgIGxhYmVsID0gX3JlZjIubGFiZWwsXG4gICAgICBERVBSRUNBVEVEX2FyaWFMYWJlbCA9IF9yZWYyLmFyaWFMYWJlbCxcbiAgICAgIGlkID0gX3JlZjIuaWQsXG4gICAgICBERUJVR19TVFlMRSA9IF9yZWYyLkRFQlVHX1NUWUxFLFxuICAgICAgcHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShfcmVmMiwgX2V4Y2x1ZGVkKTtcblxuICB2YXIgY2hpbGQgPSBDaGlsZHJlbi5vbmx5KGNoaWxkcmVuKTtcbiAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gd2FybmluZyghREVQUkVDQVRFRF9hcmlhTGFiZWwsIFwiVGhlIGBhcmlhTGFiZWwgcHJvcCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgZnJvbSBAcmVhY2gvdG9vbHRpcCBpbiBhIGZ1dHVyZSB2ZXJzaW9uIG9mIFJlYWNoIFVJLiBQbGVhc2UgdXNlIGBhcmlhLWxhYmVsYCBpbnN0ZWFkLlwiKSA6IHZvaWQgMDsgLy8gV2UgbmVlZCB0byBwYXNzIHNvbWUgcHJvcGVydGllcyBmcm9tIHRoZSBjaGlsZCBpbnRvIHVzZVRvb2x0aXBcbiAgLy8gdG8gbWFrZSBzdXJlIHVzZXJzIGNhbiBtYWludGFpbiBjb250cm9sIG92ZXIgdGhlIHRyaWdnZXIncyByZWYgYW5kIGV2ZW50c1xuXG4gIHZhciBfdXNlVG9vbHRpcCA9IHVzZVRvb2x0aXAoe1xuICAgIGlkOiBpZCxcbiAgICBvblBvaW50ZXJFbnRlcjogY2hpbGQucHJvcHMub25Qb2ludGVyRW50ZXIsXG4gICAgb25Qb2ludGVyTW92ZTogY2hpbGQucHJvcHMub25Qb2ludGVyTW92ZSxcbiAgICBvblBvaW50ZXJMZWF2ZTogY2hpbGQucHJvcHMub25Qb2ludGVyTGVhdmUsXG4gICAgb25Qb2ludGVyRG93bjogY2hpbGQucHJvcHMub25Qb2ludGVyRG93bixcbiAgICBvbk1vdXNlRW50ZXI6IGNoaWxkLnByb3BzLm9uTW91c2VFbnRlcixcbiAgICBvbk1vdXNlTW92ZTogY2hpbGQucHJvcHMub25Nb3VzZU1vdmUsXG4gICAgb25Nb3VzZUxlYXZlOiBjaGlsZC5wcm9wcy5vbk1vdXNlTGVhdmUsXG4gICAgb25Nb3VzZURvd246IGNoaWxkLnByb3BzLm9uTW91c2VEb3duLFxuICAgIG9uRm9jdXM6IGNoaWxkLnByb3BzLm9uRm9jdXMsXG4gICAgb25CbHVyOiBjaGlsZC5wcm9wcy5vbkJsdXIsXG4gICAgb25LZXlEb3duOiBjaGlsZC5wcm9wcy5vbktleURvd24sXG4gICAgZGlzYWJsZWQ6IGNoaWxkLnByb3BzLmRpc2FibGVkLFxuICAgIHJlZjogY2hpbGQucmVmLFxuICAgIERFQlVHX1NUWUxFOiBERUJVR19TVFlMRVxuICB9KSxcbiAgICAgIHRyaWdnZXIgPSBfdXNlVG9vbHRpcFswXSxcbiAgICAgIHRvb2x0aXAgPSBfdXNlVG9vbHRpcFsxXTtcblxuICByZXR1cm4gLyojX19QVVJFX18qL2NyZWF0ZUVsZW1lbnQoRnJhZ21lbnQsIG51bGwsIC8qI19fUFVSRV9fKi9jbG9uZUVsZW1lbnQoY2hpbGQsIHRyaWdnZXIpLCAvKiNfX1BVUkVfXyovY3JlYXRlRWxlbWVudChUb29sdGlwUG9wdXAsIF9leHRlbmRzKHtcbiAgICByZWY6IGZvcndhcmRlZFJlZixcbiAgICBsYWJlbDogbGFiZWwsXG4gICAgXCJhcmlhLWxhYmVsXCI6IERFUFJFQ0FURURfYXJpYUxhYmVsXG4gIH0sIHRvb2x0aXAsIHByb3BzKSkpO1xufSk7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgVG9vbHRpcC5kaXNwbGF5TmFtZSA9IFwiVG9vbHRpcFwiO1xuICBUb29sdGlwLnByb3BUeXBlcyA9IHtcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUuaXNSZXF1aXJlZCxcbiAgICBsYWJlbDogUHJvcFR5cGVzLm5vZGUuaXNSZXF1aXJlZCxcbiAgICBhcmlhTGFiZWw6IFByb3BUeXBlcy5zdHJpbmdcbiAgfTtcbn0gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiBUb29sdGlwUG9wdXBcbiAqXG4gKiBAc2VlIERvY3MgaHR0cHM6Ly9yZWFjaC50ZWNoL3Rvb2x0aXAjdG9vbHRpcHBvcHVwXG4gKi9cblxuXG52YXIgVG9vbHRpcFBvcHVwID0gLyojX19QVVJFX18qL2ZvcndhcmRSZWYoZnVuY3Rpb24gVG9vbHRpcFBvcHVwKF9yZWYzLCBmb3J3YXJkUmVmKSB7XG4gIHZhciBsYWJlbCA9IF9yZWYzLmxhYmVsLFxuICAgICAgREVQUkVDQVRFRF9hcmlhTGFiZWwgPSBfcmVmMy5hcmlhTGFiZWwsXG4gICAgICBpc1Zpc2libGUgPSBfcmVmMy5pc1Zpc2libGUsXG4gICAgICBpZCA9IF9yZWYzLmlkLFxuICAgICAgcHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShfcmVmMywgX2V4Y2x1ZGVkMik7XG5cbiAgcmV0dXJuIGlzVmlzaWJsZSA/IC8qI19fUFVSRV9fKi9jcmVhdGVFbGVtZW50KFBvcnRhbCwgbnVsbCwgLyojX19QVVJFX18qL2NyZWF0ZUVsZW1lbnQoVG9vbHRpcENvbnRlbnQsIF9leHRlbmRzKHtcbiAgICByZWY6IGZvcndhcmRSZWYsXG4gICAgbGFiZWw6IGxhYmVsLFxuICAgIFwiYXJpYS1sYWJlbFwiOiBERVBSRUNBVEVEX2FyaWFMYWJlbCxcbiAgICBpc1Zpc2libGU6IGlzVmlzaWJsZVxuICB9LCBwcm9wcywge1xuICAgIGlkOiBtYWtlSWQoXCJ0b29sdGlwXCIsIFN0cmluZyhpZCkpXG4gIH0pKSkgOiBudWxsO1xufSk7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgVG9vbHRpcFBvcHVwLmRpc3BsYXlOYW1lID0gXCJUb29sdGlwUG9wdXBcIjtcbiAgVG9vbHRpcFBvcHVwLnByb3BUeXBlcyA9IHtcbiAgICBsYWJlbDogUHJvcFR5cGVzLm5vZGUuaXNSZXF1aXJlZCxcbiAgICBhcmlhTGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgcG9zaXRpb246IFByb3BUeXBlcy5mdW5jXG4gIH07XG59XG4vKipcbiAqIFRvb2x0aXBDb250ZW50XG4gKlxuICogV2UgbmVlZCBhIHNlcGFyYXRlIGNvbXBvbmVudCBzbyB0aGF0IHVzZVJlY3Qgd29ya3MgaW5zaWRlIHRoZSBwb3J0YWwuXG4gKlxuICogQHNlZSBEb2NzIGh0dHBzOi8vcmVhY2gudGVjaC90b29sdGlwI3Rvb2x0aXBjb250ZW50XG4gKi9cblxuXG52YXIgVG9vbHRpcENvbnRlbnQgPSAvKiNfX1BVUkVfXyovZm9yd2FyZFJlZihmdW5jdGlvbiBUb29sdGlwQ29udGVudChfcmVmNCwgZm9yd2FyZGVkUmVmKSB7XG4gIHZhciBhcmlhTGFiZWwgPSBfcmVmNC5hcmlhTGFiZWwsXG4gICAgICByZWFsQXJpYUxhYmVsID0gX3JlZjRbXCJhcmlhLWxhYmVsXCJdLFxuICAgICAgX3JlZjQkYXMgPSBfcmVmNC5hcyxcbiAgICAgIENvbXAgPSBfcmVmNCRhcyA9PT0gdm9pZCAwID8gXCJkaXZcIiA6IF9yZWY0JGFzLFxuICAgICAgaWQgPSBfcmVmNC5pZCxcbiAgICAgIGlzVmlzaWJsZSA9IF9yZWY0LmlzVmlzaWJsZSxcbiAgICAgIGxhYmVsID0gX3JlZjQubGFiZWwsXG4gICAgICBfcmVmNCRwb3NpdGlvbiA9IF9yZWY0LnBvc2l0aW9uLFxuICAgICAgcG9zaXRpb24gPSBfcmVmNCRwb3NpdGlvbiA9PT0gdm9pZCAwID8gcG9zaXRpb25Ub29sdGlwIDogX3JlZjQkcG9zaXRpb24sXG4gICAgICBzdHlsZSA9IF9yZWY0LnN0eWxlLFxuICAgICAgdHJpZ2dlclJlY3QgPSBfcmVmNC50cmlnZ2VyUmVjdCxcbiAgICAgIHByb3BzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UoX3JlZjQsIF9leGNsdWRlZDMpO1xuXG4gIC8vIFRoZSBlbGVtZW50IHRoYXQgc2VydmVzIGFzIHRoZSB0b29sdGlwIGNvbnRhaW5lciBoYXMgcm9sZSB0b29sdGlwLlxuICAvLyBodHRwczovL3d3dy53My5vcmcvVFIvd2FpLWFyaWEtcHJhY3RpY2VzLTEuMi8jdG9vbHRpcCBXaGVuIGFuIGFwcCBwYXNzZXNcbiAgLy8gYW4gYGFyaWEtbGFiZWxgLCB3ZSBhY3R1YWxseSB3YW50IHRvIGltcGxlbWVudCBgcm9sZT1cInRvb2x0aXBcImAgb24gYVxuICAvLyB2aXN1YWxseSBoaWRkZW4gZWxlbWVudCBpbnNpZGUgb2YgdGhlIHRyaWdnZXIuIEluIHRoZXNlIGNhc2VzIHdlIHdhbnQgdGhlXG4gIC8vIHNjcmVlbiByZWFkZXIgdXNlciB0byBrbm93IGJvdGggdGhlIGNvbnRlbnQgaW4gdGhlIHRvb2x0aXAsIGJ1dCBhbHNvIHRoZVxuICAvLyBjb250ZW50IGluIHRoZSBiYWRnZS4gRm9yIHNjcmVlbiByZWFkZXIgdXNlcnMsIHRoZSBvbmx5IGNvbnRlbnQgYW5ub3VuY2VkXG4gIC8vIHRvIHRoZW0gaXMgd2hhdGV2ZXIgaXMgaW4gdGhlIHRvb2x0aXAuXG4gIHZhciBoYXNBcmlhTGFiZWwgPSAocmVhbEFyaWFMYWJlbCB8fCBhcmlhTGFiZWwpICE9IG51bGw7XG4gIHZhciBvd25SZWYgPSB1c2VSZWYobnVsbCk7XG4gIHZhciByZWYgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCBvd25SZWYpO1xuICB2YXIgdG9vbHRpcFJlY3QgPSB1c2VSZWN0KG93blJlZiwge1xuICAgIG9ic2VydmU6IGlzVmlzaWJsZVxuICB9KTtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9jcmVhdGVFbGVtZW50KEZyYWdtZW50LCBudWxsLCAvKiNfX1BVUkVfXyovY3JlYXRlRWxlbWVudChDb21wLCBfZXh0ZW5kcyh7XG4gICAgcm9sZTogaGFzQXJpYUxhYmVsID8gdW5kZWZpbmVkIDogXCJ0b29sdGlwXCJcbiAgfSwgcHJvcHMsIHtcbiAgICByZWY6IHJlZixcbiAgICBcImRhdGEtcmVhY2gtdG9vbHRpcFwiOiBcIlwiLFxuICAgIGlkOiBoYXNBcmlhTGFiZWwgPyB1bmRlZmluZWQgOiBpZCxcbiAgICBzdHlsZTogX2V4dGVuZHMoe30sIHN0eWxlLCBnZXRTdHlsZXMocG9zaXRpb24sIHRyaWdnZXJSZWN0LCB0b29sdGlwUmVjdCkpXG4gIH0pLCBsYWJlbCksIGhhc0FyaWFMYWJlbCAmJiAvKiNfX1BVUkVfXyovY3JlYXRlRWxlbWVudChWaXN1YWxseUhpZGRlbiwge1xuICAgIHJvbGU6IFwidG9vbHRpcFwiLFxuICAgIGlkOiBpZFxuICB9LCByZWFsQXJpYUxhYmVsIHx8IGFyaWFMYWJlbCkpO1xufSk7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgVG9vbHRpcENvbnRlbnQuZGlzcGxheU5hbWUgPSBcIlRvb2x0aXBDb250ZW50XCI7XG4gIFRvb2x0aXBDb250ZW50LnByb3BUeXBlcyA9IHt9O1xufSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cbmZ1bmN0aW9uIGdldFN0eWxlcyhwb3NpdGlvbiwgdHJpZ2dlclJlY3QsIHRvb2x0aXBSZWN0KSB7XG4gIHZhciBoYXZlbnRNZWFzdXJlZFRvb2x0aXBZZXQgPSAhdG9vbHRpcFJlY3Q7XG5cbiAgaWYgKGhhdmVudE1lYXN1cmVkVG9vbHRpcFlldCkge1xuICAgIHJldHVybiB7XG4gICAgICB2aXNpYmlsaXR5OiBcImhpZGRlblwiXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBwb3NpdGlvbih0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QpO1xufSAvLyBEZWZhdWx0IG9mZnNldCBmcm9tIHRoZSB0cmlnZ2VyIChlLmcuLCBpZiB0aGUgdG9vbHRpcCBpcyBwb3NpdGlvbmVkIGFib3ZlLFxuLy8gdGhlcmUgd2lsbCBiZSA4cHggYmV0d2VlbiB0aGUgYm90dG9tIG9mIHRoZSB0b29sdGlwIGFuZCB0aGUgdG9wIG9mIHRoZSB0cmlnZ2VyKS5cbi8vIEl0IGZlZWxzIGF3a3dhcmQgd2hlbiBpdCdzIHBlcmZlY3RseSBhbGlnbmVkIHcvIHRoZSB0cmlnZ2VyXG5cblxudmFyIE9GRlNFVF9ERUZBVUxUID0gODtcbnZhciBwb3NpdGlvblRvb2x0aXAgPSBmdW5jdGlvbiBwb3NpdGlvblRvb2x0aXAodHJpZ2dlclJlY3QsIHRvb2x0aXBSZWN0LCBvZmZzZXQpIHtcbiAgaWYgKG9mZnNldCA9PT0gdm9pZCAwKSB7XG4gICAgb2Zmc2V0ID0gT0ZGU0VUX0RFRkFVTFQ7XG4gIH1cblxuICB2YXIgX2dldERvY3VtZW50RGltZW5zaW9uID0gZ2V0RG9jdW1lbnREaW1lbnNpb25zKCksXG4gICAgICB3aW5kb3dXaWR0aCA9IF9nZXREb2N1bWVudERpbWVuc2lvbi53aWR0aCxcbiAgICAgIHdpbmRvd0hlaWdodCA9IF9nZXREb2N1bWVudERpbWVuc2lvbi5oZWlnaHQ7XG5cbiAgaWYgKCF0cmlnZ2VyUmVjdCB8fCAhdG9vbHRpcFJlY3QpIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICB2YXIgY29sbGlzaW9ucyA9IHtcbiAgICB0b3A6IHRyaWdnZXJSZWN0LnRvcCAtIHRvb2x0aXBSZWN0LmhlaWdodCA8IDAsXG4gICAgcmlnaHQ6IHdpbmRvd1dpZHRoIDwgdHJpZ2dlclJlY3QubGVmdCArIHRvb2x0aXBSZWN0LndpZHRoLFxuICAgIGJvdHRvbTogd2luZG93SGVpZ2h0IDwgdHJpZ2dlclJlY3QuYm90dG9tICsgdG9vbHRpcFJlY3QuaGVpZ2h0ICsgb2Zmc2V0LFxuICAgIGxlZnQ6IHRyaWdnZXJSZWN0LmxlZnQgLSB0b29sdGlwUmVjdC53aWR0aCA8IDBcbiAgfTtcbiAgdmFyIGRpcmVjdGlvblJpZ2h0ID0gY29sbGlzaW9ucy5yaWdodCAmJiAhY29sbGlzaW9ucy5sZWZ0O1xuICB2YXIgZGlyZWN0aW9uVXAgPSBjb2xsaXNpb25zLmJvdHRvbSAmJiAhY29sbGlzaW9ucy50b3A7XG4gIHJldHVybiB7XG4gICAgbGVmdDogZGlyZWN0aW9uUmlnaHQgPyB0cmlnZ2VyUmVjdC5yaWdodCAtIHRvb2x0aXBSZWN0LndpZHRoICsgd2luZG93LnBhZ2VYT2Zmc2V0ICsgXCJweFwiIDogdHJpZ2dlclJlY3QubGVmdCArIHdpbmRvdy5wYWdlWE9mZnNldCArIFwicHhcIixcbiAgICB0b3A6IGRpcmVjdGlvblVwID8gdHJpZ2dlclJlY3QudG9wIC0gb2Zmc2V0IC0gdG9vbHRpcFJlY3QuaGVpZ2h0ICsgd2luZG93LnBhZ2VZT2Zmc2V0ICsgXCJweFwiIDogdHJpZ2dlclJlY3QudG9wICsgb2Zmc2V0ICsgdHJpZ2dlclJlY3QuaGVpZ2h0ICsgd2luZG93LnBhZ2VZT2Zmc2V0ICsgXCJweFwiXG4gIH07XG59O1xuLyoqXG4gKiBUaGlzIGlzIGEgd29ya2Fyb3VuZCBmb3IgdXNpbmcgdG9vbHRpcHMgd2l0aCBkaXNhYmxlZCBjb250cm9scyBpbiBTYWZhcmkuXG4gKiBTYWZhcmkgZmlyZXMgYHBvaW50ZXJlbnRlcmAgYnV0IGRvZXMgbm90IGZpcmUgYHBvaW50ZXJsZWF2ZWAsIGFuZFxuICogYG9uUG9pbnRlckV2ZW50TGVhdmVgIGFkZGVkIHRvIHRoZSB0cmlnZ2VyIGVsZW1lbnQgd2lsbCBub3Qgd29yay5cbiAqXG4gKiBUT0RPOiBXZSBtYXkgcmVtb3ZlIG9yIG1vZGlpZnkgdGhpcyBiZWhhdmlvciBpbiBhIGZ1dHVyZSB2ZXJzaW9uLiBEaXJlY3Rpb25cbiAqIGZyb20gV0FJLUFSSUEgbmVlZGVkIGZvciBndWlkYW5jZSBvbiBoYW5kbGluZyBkaXNhYmxlZCB0cmlnZ2Vycy4gVG9vbHRpcHNcbiAqIG11c3QgYmUgYWNjZXNzaWJsZSBieSBrZXlib2FyZCwgYW5kIGRpc2FibGVkIGZvcm0gY29udHJvbHMgYXJlIGdlbmVyYWxseVxuICogZXhjbHVkZWQgZnJvbSB0aGUgdGFiIHNlcXVlbmNlLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3JlYWNoL3JlYWNoLXVpL2lzc3Vlcy81NjRcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3czYy9hcmlhLXByYWN0aWNlcy9pc3N1ZXMvMTI4I2lzc3VlY29tbWVudC01ODg2MjU3MjdcbiAqL1xuXG5mdW5jdGlvbiB1c2VEaXNhYmxlZFRyaWdnZXJPblNhZmFyaShfcmVmNSkge1xuICB2YXIgZGlzYWJsZWQgPSBfcmVmNS5kaXNhYmxlZCxcbiAgICAgIGlzVmlzaWJsZSA9IF9yZWY1LmlzVmlzaWJsZSxcbiAgICAgIHJlZiA9IF9yZWY1LnJlZjtcbiAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoISh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIFwiUG9pbnRlckV2ZW50XCIgaW4gd2luZG93KSB8fCAhZGlzYWJsZWQgfHwgIWlzVmlzaWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBvd25lckRvY3VtZW50ID0gZ2V0T3duZXJEb2N1bWVudChyZWYuY3VycmVudCk7XG5cbiAgICBmdW5jdGlvbiBoYW5kbGVNb3VzZU1vdmUoZXZlbnQpIHtcbiAgICAgIGlmICghaXNWaXNpYmxlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQgJiYgZXZlbnQudGFyZ2V0LmNsb3Nlc3QoXCJbZGF0YS1yZWFjaC10b29sdGlwLXRyaWdnZXJdW2RhdGEtc3RhdGU9J3Rvb2x0aXAtdmlzaWJsZSddXCIpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgc2VuZCh7XG4gICAgICAgIHR5cGU6IFRvb2x0aXBFdmVudHMuR2xvYmFsTW91c2VNb3ZlXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBvd25lckRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIiwgaGFuZGxlTW91c2VNb3ZlKTtcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgb3duZXJEb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2Vtb3ZlXCIsIGhhbmRsZU1vdXNlTW92ZSk7XG4gICAgfTtcbiAgfSwgW2Rpc2FibGVkLCBpc1Zpc2libGUsIHJlZl0pO1xufSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIFNlbmQgYW4gZXZlbnQgdG8gb3VyIHN0YXRlIG1hY2hpbmUgdG8gZmluZCB0aGUgbmV4dCBzdGF0ZSBmcm9tIHRoZSBjdXJyZW50XG4gKiBzdGF0ZSArIGFjdGlvbi5cbiAqXG4gKiBJdCBhbHNvIG1hbmFnZXMgbGlmZWN5Y2xlcyBvZiB0aGUgbWFjaGluZSwgKGVudGVyL2xlYXZlIGhvb2tzIG9uIHRoZSBzdGF0ZVxuICogY2hhcnQpXG4gKlxuICogQHBhcmFtIGV2ZW50XG4gKiBAcGFyYW0gcGF5bG9hZFxuICovXG5cblxuZnVuY3Rpb24gc2VuZChldmVudCkge1xuICB2YXIgX3RyYW5zaXRpb24gPSB0cmFuc2l0aW9uKHN0YXRlLCBldmVudCksXG4gICAgICB2YWx1ZSA9IF90cmFuc2l0aW9uLnZhbHVlLFxuICAgICAgY29udGV4dCA9IF90cmFuc2l0aW9uLmNvbnRleHQsXG4gICAgICBjaGFuZ2VkID0gX3RyYW5zaXRpb24uY2hhbmdlZDtcblxuICBpZiAoY2hhbmdlZCkge1xuICAgIHN0YXRlID0ge1xuICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgY29udGV4dDogY29udGV4dFxuICAgIH07XG4gICAgbm90aWZ5KCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNpdGlvbihjdXJyZW50U3RhdGUsIGV2ZW50KSB7XG4gIHZhciBzdGF0ZURlZiA9IGNoYXJ0LnN0YXRlc1tjdXJyZW50U3RhdGUudmFsdWVdO1xuICB2YXIgbmV4dFN0YXRlID0gc3RhdGVEZWYgJiYgc3RhdGVEZWYub24gJiYgc3RhdGVEZWYub25bZXZlbnQudHlwZV07IC8vIFJlYWxseSB1c2VmdWwgZm9yIGRlYnVnZ2luZ1xuICAvLyBjb25zb2xlLmxvZyh7IGV2ZW50LCBzdGF0ZSwgbmV4dFN0YXRlLCBjb250ZXh0SWQ6IGNvbnRleHQuaWQgfSk7XG4gIC8vICFuZXh0U3RhdGUgJiYgY29uc29sZS5sb2coXCJubyB0cmFuc2l0aW9uIHRha2VuXCIpO1xuXG4gIGlmICghbmV4dFN0YXRlKSB7XG4gICAgcmV0dXJuIF9leHRlbmRzKHt9LCBjdXJyZW50U3RhdGUsIHtcbiAgICAgIGNoYW5nZWQ6IGZhbHNlXG4gICAgfSk7XG4gIH1cblxuICBpZiAoc3RhdGVEZWYgJiYgc3RhdGVEZWYubGVhdmUpIHtcbiAgICBzdGF0ZURlZi5sZWF2ZShjdXJyZW50U3RhdGUuY29udGV4dCwgZXZlbnQpO1xuICB9XG5cbiAgZXZlbnQudHlwZTtcbiAgICAgIHZhciBwYXlsb2FkID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UoZXZlbnQsIF9leGNsdWRlZDQpOyAvLyBUT0RPOiBVc2UgYWN0aW9ucyBpbnN0ZWFkIG9mIGRpcmVjdGx5IHNldHRpbmcgY29udGV4dFxuXG5cbiAgdmFyIGNvbnRleHQgPSBfZXh0ZW5kcyh7fSwgc3RhdGUuY29udGV4dCwgcGF5bG9hZCk7XG5cbiAgdmFyIG5leHRTdGF0ZVZhbHVlID0gdHlwZW9mIG5leHRTdGF0ZSA9PT0gXCJzdHJpbmdcIiA/IG5leHRTdGF0ZSA6IG5leHRTdGF0ZS50YXJnZXQ7XG4gIHZhciBuZXh0RGVmID0gY2hhcnQuc3RhdGVzW25leHRTdGF0ZVZhbHVlXTtcblxuICBpZiAobmV4dERlZiAmJiBuZXh0RGVmLmVudGVyKSB7XG4gICAgbmV4dERlZi5lbnRlcihjdXJyZW50U3RhdGUuY29udGV4dCwgZXZlbnQpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB2YWx1ZTogbmV4dFN0YXRlVmFsdWUsXG4gICAgY29udGV4dDogY29udGV4dCxcbiAgICBjaGFuZ2VkOiB0cnVlXG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzVG9vbHRpcFZpc2libGUoaWQsIGluaXRpYWwpIHtcbiAgcmV0dXJuIHN0YXRlLmNvbnRleHQuaWQgPT09IGlkICYmIChpbml0aWFsID8gc3RhdGUudmFsdWUgPT09IFRvb2x0aXBTdGF0ZXMuVmlzaWJsZSA6IHN0YXRlLnZhbHVlID09PSBUb29sdGlwU3RhdGVzLlZpc2libGUgfHwgc3RhdGUudmFsdWUgPT09IFRvb2x0aXBTdGF0ZXMuTGVhdmluZ1Zpc2libGUpO1xufSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5leHBvcnQgZGVmYXVsdCBUb29sdGlwO1xuZXhwb3J0IHsgTEVBVkVfVElNRU9VVCwgTU9VU0VfUkVTVF9USU1FT1VULCBUb29sdGlwLCBUb29sdGlwUG9wdXAsIHBvc2l0aW9uVG9vbHRpcCwgdXNlVG9vbHRpcCB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///197\n')},225:function(module,exports,__webpack_require__){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(582)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _Tooltip) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports["default"] = void 0;\n _Tooltip = _interopRequireDefault(_Tooltip);\n function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }\n var _default = _exports["default"] = _Tooltip["default"];\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjI1LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7dUNBRWVBLG1CQUFPO0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL2NvbXBvbmVudHMvVG9vbHRpcC9pbmRleC5qcz8wNTRhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBUb29sdGlwIGZyb20gXCIuL1Rvb2x0aXBcIjtcblxuZXhwb3J0IGRlZmF1bHQgVG9vbHRpcDtcbiJdLCJuYW1lcyI6WyJUb29sdGlwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///225\n')},258:function(module,exports,__webpack_require__){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }\n(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(763), __webpack_require__(763), __webpack_require__(756)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _react, _reactDom, _FooterUI) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports["default"] = void 0;\n _react = _interopRequireDefault(_react);\n _FooterUI = _interopRequireDefault(_FooterUI);\n function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }\n function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\n function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }\n function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }\n function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }\n function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } /* global buildVersion */ // buildVersion above is defined in webpack.config.js\n /**\n * Renders the QPP Footer content.\n */\n var Footer = _exports["default"] = /*#__PURE__*/_createClass(\n /**\n * @param {Object} options - An object containing content and config data\n * @param {HTMLElement} options.rootElement - Elem inside which to render\n */\n function Footer(options) {\n _classCallCheck(this, Footer);\n if (options.hasOwnProperty("rootElement")) {\n (0, _reactDom.render)(/*#__PURE__*/_react["default"].createElement(_FooterUI["default"], {\n buildVersion: "1.2.81",\n isFullWidth: options.isFullWidth,\n isNewFooter: options.isNewFooter,\n showHcdResearch: options.showHcdResearch\n }), options.rootElement);\n } else {\n (0, _reactDom.render)(/*#__PURE__*/_react["default"].createElement(_FooterUI["default"], {\n buildVersion: "1.2.81"\n }), options);\n }\n });\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjU4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7c0hBQUEsMEJBQ0E7RUFLQTtBQUNBO0FBQ0E7RUFGQSxJQUdxQkEsTUFBTSxHQUFBQyxRQUFBLDJCQUFBQyxZQUFBO0VBQ3ZCO0FBQ0o7QUFDQTtBQUNBO0VBQ0ksU0FBQUYsT0FBWUcsT0FBTyxFQUFFO0lBQUFDLGVBQUEsT0FBQUosTUFBQTtJQUNqQixJQUFJRyxPQUFPLENBQUNFLGNBQWMsQ0FBQyxhQUFhLENBQUMsRUFBRTtNQUN2QyxJQUFBQyxnQkFBTSxlQUNGQyxNQUFBLFlBQUFDLGFBQUEsQ0FBQ0MsU0FBQSxXQUFRO1FBQ0xDLFlBQVksRUFBRUEsUUFBYTtRQUMzQkMsV0FBVyxFQUFFUixPQUFPLENBQUNRLFdBQVk7UUFDakNDLFdBQVcsRUFBRVQsT0FBTyxDQUFDUyxXQUFZO1FBQ2pDQyxlQUFlLEVBQUVWLE9BQU8sQ0FBQ1U7TUFBZ0IsQ0FDNUMsQ0FBQyxFQUNGVixPQUFPLENBQUNXLFdBQ1osQ0FBQztJQUNMLENBQUMsTUFBTTtNQUNILElBQUFSLGdCQUFNLGVBQUNDLE1BQUEsWUFBQUMsYUFBQSxDQUFDQyxTQUFBLFdBQVE7UUFBQ0MsWUFBWSxFQUFFQSxRQUFZQTtNQUFDLENBQUUsQ0FBQyxFQUFFUCxPQUFPLENBQUM7SUFDN0Q7RUFDSixDQUFDO0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL2NvbXBvbmVudHMvRm9vdGVyL2Zvb3Rlci5qcz80OWFlIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGdsb2JhbCBidWlsZFZlcnNpb24gKi9cbi8vIGJ1aWxkVmVyc2lvbiBhYm92ZSBpcyBkZWZpbmVkIGluIHdlYnBhY2suY29uZmlnLmpzXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyByZW5kZXIgfSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgRm9vdGVyVUkgZnJvbSBcIi4vRm9vdGVyVUlcIjtcblxuLyoqXG4gKiBSZW5kZXJzIHRoZSBRUFAgRm9vdGVyIGNvbnRlbnQuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZvb3RlciB7XG4gICAgLyoqXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBBbiBvYmplY3QgY29udGFpbmluZyBjb250ZW50IGFuZCBjb25maWcgZGF0YVxuICAgICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IG9wdGlvbnMucm9vdEVsZW1lbnQgLSBFbGVtIGluc2lkZSB3aGljaCB0byByZW5kZXJcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgICAgIGlmIChvcHRpb25zLmhhc093blByb3BlcnR5KFwicm9vdEVsZW1lbnRcIikpIHtcbiAgICAgICAgICAgIHJlbmRlcihcbiAgICAgICAgICAgICAgICA8Rm9vdGVyVUlcbiAgICAgICAgICAgICAgICAgICAgYnVpbGRWZXJzaW9uPXtidWlsZFZlcnNpb259XG4gICAgICAgICAgICAgICAgICAgIGlzRnVsbFdpZHRoPXtvcHRpb25zLmlzRnVsbFdpZHRofVxuICAgICAgICAgICAgICAgICAgICBpc05ld0Zvb3Rlcj17b3B0aW9ucy5pc05ld0Zvb3Rlcn1cbiAgICAgICAgICAgICAgICAgICAgc2hvd0hjZFJlc2VhcmNoPXtvcHRpb25zLnNob3dIY2RSZXNlYXJjaH1cbiAgICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICAgICBvcHRpb25zLnJvb3RFbGVtZW50XG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVuZGVyKDxGb290ZXJVSSBidWlsZFZlcnNpb249e2J1aWxkVmVyc2lvbn0gLz4sIG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbIkZvb3RlciIsIl9leHBvcnRzIiwiX2NyZWF0ZUNsYXNzIiwib3B0aW9ucyIsIl9jbGFzc0NhbGxDaGVjayIsImhhc093blByb3BlcnR5IiwicmVuZGVyIiwiX3JlYWN0IiwiY3JlYXRlRWxlbWVudCIsIl9Gb290ZXJVSSIsImJ1aWxkVmVyc2lvbiIsImlzRnVsbFdpZHRoIiwiaXNOZXdGb290ZXIiLCJzaG93SGNkUmVzZWFyY2giLCJyb290RWxlbWVudCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///258\n')},310:function(module,exports){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports.positionTriangle = _exports["default"] = void 0;\n var OFFSET = 12; // modified from reach-ui/tooltip OFFSET value\n var TRIANGLE_SCALE_X = 6;\n var TRIANGLE_SCALE_Y = 8;\n var isDirectionUp = function isDirectionUp(triggerRect, tooltipRect) {\n var collisions = {\n top: triggerRect.top - tooltipRect.height < 0,\n bottom: window.innerHeight < triggerRect.bottom + tooltipRect.height + OFFSET\n };\n return !collisions.top || collisions.bottom;\n };\n\n // modified from @reach/tooltip default positioning function\n // positions Tooltip relative to trigger\n // https://github.com/reach/reach-ui/blob/master/packages/tooltip/src/index.tsx#L532\n var positionTip = function positionTip(triggerRect, tooltipRect) {\n if (!triggerRect || !tooltipRect) {\n return {};\n }\n var triggerCenter = triggerRect.left + triggerRect.width / 2;\n var left = triggerCenter - tooltipRect.width / 2;\n var maxLeft = window.innerWidth - tooltipRect.width - 2;\n var centerLeft = Math.min(Math.max(2, left), maxLeft) + window.pageXOffset;\n var directionUp = isDirectionUp(triggerRect, tooltipRect);\n return {\n left: "".concat(centerLeft, "px"),\n top: directionUp ? "".concat(triggerRect.top - OFFSET - tooltipRect.height + window.pageYOffset, "px") : "".concat(triggerRect.top + OFFSET + triggerRect.height + window.pageYOffset, "px")\n };\n };\n var _default = _exports["default"] = positionTip; // position triangle relative to tooltip position\n // TODO: figure out a better way to render these updates from within react\n // rendering. This method causes an additional repaint after the Tooltip\n // has been rendered. may require changes to @reach/tooltip.\n var positionTriangle = _exports.positionTriangle = function positionTriangle(triggerRect, tooltipRect) {\n var directionUp = isDirectionUp(triggerRect, tooltipRect);\n var triangleTop = directionUp ? triggerRect.top + window.pageYOffset - OFFSET : triggerRect.bottom + window.pageYOffset + OFFSET - TRIANGLE_SCALE_Y;\n var triangleLeft = triggerRect.left - TRIANGLE_SCALE_X + triggerRect.width / 2;\n var triangleBorder = directionUp ? "border-top: ".concat(TRIANGLE_SCALE_Y, "px solid;") : "border-bottom: ".concat(TRIANGLE_SCALE_Y, "px solid;");\n return "\\n border-left: ".concat(TRIANGLE_SCALE_X, "px solid transparent;\\n border-right: ").concat(TRIANGLE_SCALE_X, "px solid transparent;\\n left: ").concat(triangleLeft, "px;\\n top: ").concat(triangleTop, "px;\\n ").concat(triangleBorder, "\\n ");\n };\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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bkQsaUNBQUFzQixNQUFBLENBQ21CdkIsZ0JBQWdCLG1EQUFBdUIsTUFBQSxDQUNmdkIsZ0JBQWdCLDJDQUFBdUIsTUFBQSxDQUN4Qk0sWUFBWSx3QkFBQU4sTUFBQSxDQUNiSyxXQUFXLG1CQUFBTCxNQUFBLENBQ2hCTyxjQUFjO0VBRXhCLENBQUM7QUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vY29tcG9uZW50cy9Ub29sdGlwL3Bvc2l0aW9uLmpzPzYxYjEiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgT0ZGU0VUID0gMTI7IC8vIG1vZGlmaWVkIGZyb20gcmVhY2gtdWkvdG9vbHRpcCBPRkZTRVQgdmFsdWVcbmNvbnN0IFRSSUFOR0xFX1NDQUxFX1ggPSA2O1xuY29uc3QgVFJJQU5HTEVfU0NBTEVfWSA9IDg7XG5cbmNvbnN0IGlzRGlyZWN0aW9uVXAgPSAodHJpZ2dlclJlY3QsIHRvb2x0aXBSZWN0KSA9PiB7XG4gICAgY29uc3QgY29sbGlzaW9ucyA9IHtcbiAgICAgICAgdG9wOiB0cmlnZ2VyUmVjdC50b3AgLSB0b29sdGlwUmVjdC5oZWlnaHQgPCAwLFxuICAgICAgICBib3R0b206XG4gICAgICAgICAgICB3aW5kb3cuaW5uZXJIZWlnaHQgPFxuICAgICAgICAgICAgdHJpZ2dlclJlY3QuYm90dG9tICsgdG9vbHRpcFJlY3QuaGVpZ2h0ICsgT0ZGU0VULFxuICAgIH07XG5cbiAgICByZXR1cm4gIWNvbGxpc2lvbnMudG9wIHx8IGNvbGxpc2lvbnMuYm90dG9tO1xufTtcblxuLy8gbW9kaWZpZWQgZnJvbSBAcmVhY2gvdG9vbHRpcCBkZWZhdWx0IHBvc2l0aW9uaW5nIGZ1bmN0aW9uXG4vLyBwb3NpdGlvbnMgVG9vbHRpcCByZWxhdGl2ZSB0byB0cmlnZ2VyXG4vLyBodHRwczovL2dpdGh1Yi5jb20vcmVhY2gvcmVhY2gtdWkvYmxvYi9tYXN0ZXIvcGFja2FnZXMvdG9vbHRpcC9zcmMvaW5kZXgudHN4I0w1MzJcbmNvbnN0IHBvc2l0aW9uVGlwID0gKHRyaWdnZXJSZWN0LCB0b29sdGlwUmVjdCkgPT4ge1xuICAgIGlmICghdHJpZ2dlclJlY3QgfHwgIXRvb2x0aXBSZWN0KSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICBjb25zdCB0cmlnZ2VyQ2VudGVyID0gdHJpZ2dlclJlY3QubGVmdCArIHRyaWdnZXJSZWN0LndpZHRoIC8gMjtcbiAgICBjb25zdCBsZWZ0ID0gdHJpZ2dlckNlbnRlciAtIHRvb2x0aXBSZWN0LndpZHRoIC8gMjtcbiAgICBjb25zdCBtYXhMZWZ0ID0gd2luZG93LmlubmVyV2lkdGggLSB0b29sdGlwUmVjdC53aWR0aCAtIDI7XG4gICAgY29uc3QgY2VudGVyTGVmdCA9XG4gICAgICAgIE1hdGgubWluKE1hdGgubWF4KDIsIGxlZnQpLCBtYXhMZWZ0KSArIHdpbmRvdy5wYWdlWE9mZnNldDtcblxuICAgIGNvbnN0IGRpcmVjdGlvblVwID0gaXNEaXJlY3Rpb25VcCh0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgbGVmdDogYCR7Y2VudGVyTGVmdH1weGAsXG4gICAgICAgIHRvcDogZGlyZWN0aW9uVXBcbiAgICAgICAgICAgID8gYCR7XG4gICAgICAgICAgICAgICAgICB0cmlnZ2VyUmVjdC50b3AgLVxuICAgICAgICAgICAgICAgICAgT0ZGU0VUIC1cbiAgICAgICAgICAgICAgICAgIHRvb2x0aXBSZWN0LmhlaWdodCArXG4gICAgICAgICAgICAgICAgICB3aW5kb3cucGFnZVlPZmZzZXRcbiAgICAgICAgICAgICAgfXB4YFxuICAgICAgICAgICAgOiBgJHtcbiAgICAgICAgICAgICAgICAgIHRyaWdnZXJSZWN0LnRvcCArXG4gICAgICAgICAgICAgICAgICBPRkZTRVQgK1xuICAgICAgICAgICAgICAgICAgdHJpZ2dlclJlY3QuaGVpZ2h0ICtcbiAgICAgICAgICAgICAgICAgIHdpbmRvdy5wYWdlWU9mZnNldFxuICAgICAgICAgICAgICB9cHhgLFxuICAgIH07XG59O1xuXG5leHBvcnQgZGVmYXVsdCBwb3NpdGlvblRpcDtcblxuLy8gcG9zaXRpb24gdHJpYW5nbGUgcmVsYXRpdmUgdG8gdG9vbHRpcCBwb3NpdGlvblxuLy8gVE9ETzogZmlndXJlIG91dCBhIGJldHRlciB3YXkgdG8gcmVuZGVyIHRoZXNlIHVwZGF0ZXMgZnJvbSB3aXRoaW4gcmVhY3Rcbi8vIHJlbmRlcmluZy4gVGhpcyBtZXRob2QgY2F1c2VzIGFuIGFkZGl0aW9uYWwgcmVwYWludCBhZnRlciB0aGUgVG9vbHRpcFxuLy8gaGFzIGJlZW4gcmVuZGVyZWQuIG1heSByZXF1aXJlIGNoYW5nZXMgdG8gQHJlYWNoL3Rvb2x0aXAuXG5leHBvcnQgY29uc3QgcG9zaXRpb25UcmlhbmdsZSA9ICh0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QpID0+IHtcbiAgICBjb25zdCBkaXJlY3Rpb25VcCA9IGlzRGlyZWN0aW9uVXAodHJpZ2dlclJlY3QsIHRvb2x0aXBSZWN0KTtcbiAgICBjb25zdCB0cmlhbmdsZVRvcCA9IGRpcmVjdGlvblVwXG4gICAgICAgID8gdHJpZ2dlclJlY3QudG9wICsgd2luZG93LnBhZ2VZT2Zmc2V0IC0gT0ZGU0VUXG4gICAgICAgIDogdHJpZ2dlclJlY3QuYm90dG9tICsgd2luZG93LnBhZ2VZT2Zmc2V0ICsgT0ZGU0VUIC0gVFJJQU5HTEVfU0NBTEVfWTtcblxuICAgIGNvbnN0IHRyaWFuZ2xlTGVmdCA9XG4gICAgICAgIHRyaWdnZXJSZWN0LmxlZnQgLSBUUklBTkdMRV9TQ0FMRV9YICsgdHJpZ2dlclJlY3Qud2lkdGggLyAyO1xuXG4gICAgY29uc3QgdHJpYW5nbGVCb3JkZXIgPSBkaXJlY3Rpb25VcFxuICAgICAgICA/IGBib3JkZXItdG9wOiAke1RSSUFOR0xFX1NDQUxFX1l9cHggc29saWQ7YFxuICAgICAgICA6IGBib3JkZXItYm90dG9tOiAke1RSSUFOR0xFX1NDQUxFX1l9cHggc29saWQ7YDtcblxuICAgIHJldHVybiBgXG4gICAgICAgIGJvcmRlci1sZWZ0OiAke1RSSUFOR0xFX1NDQUxFX1h9cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogJHtUUklBTkdMRV9TQ0FMRV9YfXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBsZWZ0OiAke3RyaWFuZ2xlTGVmdH1weDtcbiAgICAgICAgdG9wOiAke3RyaWFuZ2xlVG9wfXB4O1xuICAgICAgICAke3RyaWFuZ2xlQm9yZGVyfVxuICAgIGA7XG59O1xuIl0sIm5hbWVzIjpbIk9GRlNFVCIsIlRSSUFOR0xFX1NDQUxFX1giLCJUUklBTkdMRV9TQ0FMRV9ZIiwiaXNEaXJlY3Rpb25VcCIsInRyaWdnZXJSZWN0IiwidG9vbHRpcFJlY3QiLCJjb2xsaXNpb25zIiwidG9wIiwiaGVpZ2h0IiwiYm90dG9tIiwid2luZG93IiwiaW5uZXJIZWlnaHQiLCJwb3NpdGlvblRpcCIsInRyaWdnZXJDZW50ZXIiLCJsZWZ0Iiwid2lkdGgiLCJtYXhMZWZ0IiwiaW5uZXJXaWR0aCIsImNlbnRlckxlZnQiLCJNYXRoIiwibWluIiwibWF4IiwicGFnZVhPZmZzZXQiLCJkaXJlY3Rpb25VcCIsImNvbmNhdCIsInBhZ2VZT2Zmc2V0IiwiX2RlZmF1bHQiLCJfZXhwb3J0cyIsInBvc2l0aW9uVHJpYW5nbGUiLCJ0cmlhbmdsZVRvcCIsInRyaWFuZ2xlTGVmdCIsInRyaWFuZ2xlQm9yZGVyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///310\n')},313:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = __webpack_require__(925);\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzEzLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYiwyQkFBMkIsbUJBQU8sQ0FBQyxHQUE0Qjs7QUFFL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvZmFjdG9yeVdpdGhUaHJvd2luZ1NoaW1zLmpzP2Q3YTAiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBSZWFjdFByb3BUeXBlc1NlY3JldCA9IHJlcXVpcmUoJy4vbGliL1JlYWN0UHJvcFR5cGVzU2VjcmV0Jyk7XG5cbmZ1bmN0aW9uIGVtcHR5RnVuY3Rpb24oKSB7fVxuZnVuY3Rpb24gZW1wdHlGdW5jdGlvbldpdGhSZXNldCgpIHt9XG5lbXB0eUZ1bmN0aW9uV2l0aFJlc2V0LnJlc2V0V2FybmluZ0NhY2hlID0gZW1wdHlGdW5jdGlvbjtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbigpIHtcbiAgZnVuY3Rpb24gc2hpbShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUsIHNlY3JldCkge1xuICAgIGlmIChzZWNyZXQgPT09IFJlYWN0UHJvcFR5cGVzU2VjcmV0KSB7XG4gICAgICAvLyBJdCBpcyBzdGlsbCBzYWZlIHdoZW4gY2FsbGVkIGZyb20gUmVhY3QuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciBlcnIgPSBuZXcgRXJyb3IoXG4gICAgICAnQ2FsbGluZyBQcm9wVHlwZXMgdmFsaWRhdG9ycyBkaXJlY3RseSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBgcHJvcC10eXBlc2AgcGFja2FnZS4gJyArXG4gICAgICAnVXNlIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcygpIHRvIGNhbGwgdGhlbS4gJyArXG4gICAgICAnUmVhZCBtb3JlIGF0IGh0dHA6Ly9mYi5tZS91c2UtY2hlY2stcHJvcC10eXBlcydcbiAgICApO1xuICAgIGVyci5uYW1lID0gJ0ludmFyaWFudCBWaW9sYXRpb24nO1xuICAgIHRocm93IGVycjtcbiAgfTtcbiAgc2hpbS5pc1JlcXVpcmVkID0gc2hpbTtcbiAgZnVuY3Rpb24gZ2V0U2hpbSgpIHtcbiAgICByZXR1cm4gc2hpbTtcbiAgfTtcbiAgLy8gSW1wb3J0YW50IVxuICAvLyBLZWVwIHRoaXMgbGlzdCBpbiBzeW5jIHdpdGggcHJvZHVjdGlvbiB2ZXJzaW9uIGluIGAuL2ZhY3RvcnlXaXRoVHlwZUNoZWNrZXJzLmpzYC5cbiAgdmFyIFJlYWN0UHJvcFR5cGVzID0ge1xuICAgIGFycmF5OiBzaGltLFxuICAgIGJpZ2ludDogc2hpbSxcbiAgICBib29sOiBzaGltLFxuICAgIGZ1bmM6IHNoaW0sXG4gICAgbnVtYmVyOiBzaGltLFxuICAgIG9iamVjdDogc2hpbSxcbiAgICBzdHJpbmc6IHNoaW0sXG4gICAgc3ltYm9sOiBzaGltLFxuXG4gICAgYW55OiBzaGltLFxuICAgIGFycmF5T2Y6IGdldFNoaW0sXG4gICAgZWxlbWVudDogc2hpbSxcbiAgICBlbGVtZW50VHlwZTogc2hpbSxcbiAgICBpbnN0YW5jZU9mOiBnZXRTaGltLFxuICAgIG5vZGU6IHNoaW0sXG4gICAgb2JqZWN0T2Y6IGdldFNoaW0sXG4gICAgb25lT2Y6IGdldFNoaW0sXG4gICAgb25lT2ZUeXBlOiBnZXRTaGltLFxuICAgIHNoYXBlOiBnZXRTaGltLFxuICAgIGV4YWN0OiBnZXRTaGltLFxuXG4gICAgY2hlY2tQcm9wVHlwZXM6IGVtcHR5RnVuY3Rpb25XaXRoUmVzZXQsXG4gICAgcmVzZXRXYXJuaW5nQ2FjaGU6IGVtcHR5RnVuY3Rpb25cbiAgfTtcblxuICBSZWFjdFByb3BUeXBlcy5Qcm9wVHlwZXMgPSBSZWFjdFByb3BUeXBlcztcblxuICByZXR1cm4gUmVhY3RQcm9wVHlwZXM7XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///313\n")},517:function(module,exports,__webpack_require__){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(763), __webpack_require__(556)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _react, _propTypes) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports["default"] = void 0;\n _react = _interopRequireDefault(_react);\n _propTypes = _interopRequireDefault(_propTypes);\n var _excluded = ["lightIcon"];\n function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }\n function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\n function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n var InfotipIcon = function InfotipIcon(_ref) {\n var lightIcon = _ref.lightIcon,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/_react["default"].createElement("svg", _extends({\n width: "20px",\n height: "20px",\n viewBox: "0 0 20 20",\n xmlns: "http://www.w3.org/2000/svg"\n }, props), /*#__PURE__*/_react["default"].createElement("g", {\n fill: "none",\n fillRule: "evenodd"\n }, /*#__PURE__*/_react["default"].createElement("path", {\n d: "M9.721 19.158c-4.947 0-8.973-4.126-8.973-9.196C.748 4.892 4.774.766 9.72.766c4.948 0 8.974 4.126 8.974 9.196 0 5.07-4.026 9.196-8.974 9.196z",\n fill: "#2EB1ED",\n fillRule: "nonzero"\n }), /*#__PURE__*/_react["default"].createElement("path", {\n d: "M9.721 0C4.361 0 0 4.469 0 9.962c0 5.493 4.36 9.962 9.721 9.962 5.36 0 9.722-4.469 9.722-9.962C19.443 4.469 15.082 0 9.72 0z",\n fill: lightIcon ? "#FFF" : "#04838A"\n }), /*#__PURE__*/_react["default"].createElement("path", {\n d: "M9.721 14.765c-.206 0-.374.112-.374.25v.5c0 .138.168.25.374.25.207 0 .374-.112.374-.25v-.5c0-.138-.167-.25-.374-.25zM9.764 4.706H9.72c-.792 0-1.536.29-2.1.821a2.767 2.767 0 0 0-.89 2.03c0 .197.166.356.373.356s.374-.159.374-.356c0-.577.237-1.118.668-1.523a2.268 2.268 0 0 1 1.607-.615c1.182.016 2.195.98 2.211 2.107.011.743-.373 1.427-1.028 1.83-.995.61-1.589 1.691-1.589 2.89v1.013c0 .197.168.357.374.357.207 0 .374-.16.374-.357v-1.013c0-.941.477-1.82 1.246-2.292.873-.537 1.386-1.448 1.371-2.438-.022-1.527-1.345-2.788-2.948-2.81z",\n stroke: lightIcon ? "#04838A" : "#FFF",\n strokeWidth: ".5",\n fill: lightIcon ? "#04838A" : "#FFF",\n fillRule: "nonzero"\n })));\n };\n var _default = _exports["default"] = InfotipIcon;\n InfotipIcon.propTypes = {\n lightIcon: _propTypes["default"].bool\n };\n InfotipIcon.defaultProps = {\n lightIcon: false\n };\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTE3LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUdBLElBQU1BLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFBQyxJQUFBO0lBQUEsSUFBTUMsU0FBUyxHQUFBRCxJQUFBLENBQVRDLFNBQVM7TUFBS0MsS0FBSyxHQUFBQyx3QkFBQSxDQUFBSCxJQUFBLEVBQUFJLFNBQUE7SUFBQSxvQkFDdENDLE1BQUEsWUFBQUMsYUFBQSxRQUFBQyxRQUFBO01BQ0lDLEtBQUssRUFBQyxNQUFNO01BQ1pDLE1BQU0sRUFBQyxNQUFNO01BQ2JDLE9BQU8sRUFBQyxXQUFXO01BQ25CQyxLQUFLLEVBQUM7SUFBNEIsR0FDOUJULEtBQUssZ0JBRVRHLE1BQUEsWUFBQUMsYUFBQTtNQUFHTSxJQUFJLEVBQUMsTUFBTTtNQUFDQyxRQUFRLEVBQUM7SUFBUyxnQkFDN0JSLE1BQUEsWUFBQUMsYUFBQTtNQUNJUSxDQUFDLEVBQUMsOElBQThJO01BQ2hKRixJQUFJLEVBQUMsU0FBUztNQUNkQyxRQUFRLEVBQUM7SUFBUyxDQUNyQixDQUFDLGVBQ0ZSLE1BQUEsWUFBQUMsYUFBQTtNQUNJUSxDQUFDLEVBQUMsOEhBQThIO01BQ2hJRixJQUFJLEVBQUVYLFNBQVMsR0FBRyxNQUFNLEdBQUc7SUFBVSxDQUN4QyxDQUFDLGVBQ0ZJLE1BQUEsWUFBQUMsYUFBQTtNQUNJUSxDQUFDLEVBQUMscWhCQUFxaEI7TUFDdmhCQyxNQUFNLEVBQUVkLFNBQVMsR0FBRyxTQUFTLEdBQUcsTUFBTztNQUN2Q2UsV0FBVyxFQUFDLElBQUk7TUFDaEJKLElBQUksRUFBRVgsU0FBUyxHQUFHLFNBQVMsR0FBRyxNQUFPO01BQ3JDWSxRQUFRLEVBQUM7SUFBUyxDQUNyQixDQUNGLENBQ0YsQ0FBQztFQUFBLENBQ1Q7RUFBQyxJQUFBSSxRQUFBLEdBQUFDLFFBQUEsY0FFYW5CLFdBQVc7RUFFMUJBLFdBQVcsQ0FBQ29CLFNBQVMsR0FBRztJQUNwQmxCLFNBQVMsRUFBRW1CLHFCQUFTLENBQUNDO0VBQ3pCLENBQUM7RUFFRHRCLFdBQVcsQ0FBQ3VCLFlBQVksR0FBRztJQUN2QnJCLFNBQVMsRUFBRTtFQUNmLENBQUM7QUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vY29tcG9uZW50cy9JbmZvdGlwL0luZm90aXBJY29uLmpzeD82MGMyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIjtcblxuY29uc3QgSW5mb3RpcEljb24gPSAoeyBsaWdodEljb24sIC4uLnByb3BzIH0pID0+IChcbiAgICA8c3ZnXG4gICAgICAgIHdpZHRoPVwiMjBweFwiXG4gICAgICAgIGhlaWdodD1cIjIwcHhcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHsuLi5wcm9wc31cbiAgICA+XG4gICAgICAgIDxnIGZpbGw9XCJub25lXCIgZmlsbFJ1bGU9XCJldmVub2RkXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgIGQ9XCJNOS43MjEgMTkuMTU4Yy00Ljk0NyAwLTguOTczLTQuMTI2LTguOTczLTkuMTk2Qy43NDggNC44OTIgNC43NzQuNzY2IDkuNzIuNzY2YzQuOTQ4IDAgOC45NzQgNC4xMjYgOC45NzQgOS4xOTYgMCA1LjA3LTQuMDI2IDkuMTk2LTguOTc0IDkuMTk2elwiXG4gICAgICAgICAgICAgICAgZmlsbD1cIiMyRUIxRURcIlxuICAgICAgICAgICAgICAgIGZpbGxSdWxlPVwibm9uemVyb1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICBkPVwiTTkuNzIxIDBDNC4zNjEgMCAwIDQuNDY5IDAgOS45NjJjMCA1LjQ5MyA0LjM2IDkuOTYyIDkuNzIxIDkuOTYyIDUuMzYgMCA5LjcyMi00LjQ2OSA5LjcyMi05Ljk2MkMxOS40NDMgNC40NjkgMTUuMDgyIDAgOS43MiAwelwiXG4gICAgICAgICAgICAgICAgZmlsbD17bGlnaHRJY29uID8gXCIjRkZGXCIgOiBcIiMwNDgzOEFcIn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgIGQ9XCJNOS43MjEgMTQuNzY1Yy0uMjA2IDAtLjM3NC4xMTItLjM3NC4yNXYuNWMwIC4xMzguMTY4LjI1LjM3NC4yNS4yMDcgMCAuMzc0LS4xMTIuMzc0LS4yNXYtLjVjMC0uMTM4LS4xNjctLjI1LS4zNzQtLjI1ek05Ljc2NCA0LjcwNkg5LjcyYy0uNzkyIDAtMS41MzYuMjktMi4xLjgyMWEyLjc2NyAyLjc2NyAwIDAgMC0uODkgMi4wM2MwIC4xOTcuMTY2LjM1Ni4zNzMuMzU2cy4zNzQtLjE1OS4zNzQtLjM1NmMwLS41NzcuMjM3LTEuMTE4LjY2OC0xLjUyM2EyLjI2OCAyLjI2OCAwIDAgMSAxLjYwNy0uNjE1YzEuMTgyLjAxNiAyLjE5NS45OCAyLjIxMSAyLjEwNy4wMTEuNzQzLS4zNzMgMS40MjctMS4wMjggMS44My0uOTk1LjYxLTEuNTg5IDEuNjkxLTEuNTg5IDIuODl2MS4wMTNjMCAuMTk3LjE2OC4zNTcuMzc0LjM1Ny4yMDcgMCAuMzc0LS4xNi4zNzQtLjM1N3YtMS4wMTNjMC0uOTQxLjQ3Ny0xLjgyIDEuMjQ2LTIuMjkyLjg3My0uNTM3IDEuMzg2LTEuNDQ4IDEuMzcxLTIuNDM4LS4wMjItMS41MjctMS4zNDUtMi43ODgtMi45NDgtMi44MXpcIlxuICAgICAgICAgICAgICAgIHN0cm9rZT17bGlnaHRJY29uID8gXCIjMDQ4MzhBXCIgOiBcIiNGRkZcIn1cbiAgICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIi41XCJcbiAgICAgICAgICAgICAgICBmaWxsPXtsaWdodEljb24gPyBcIiMwNDgzOEFcIiA6IFwiI0ZGRlwifVxuICAgICAgICAgICAgICAgIGZpbGxSdWxlPVwibm9uemVyb1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgPC9zdmc+XG4pO1xuXG5leHBvcnQgZGVmYXVsdCBJbmZvdGlwSWNvbjtcblxuSW5mb3RpcEljb24ucHJvcFR5cGVzID0ge1xuICAgIGxpZ2h0SWNvbjogUHJvcFR5cGVzLmJvb2wsXG59O1xuXG5JbmZvdGlwSWNvbi5kZWZhdWx0UHJvcHMgPSB7XG4gICAgbGlnaHRJY29uOiBmYWxzZSxcbn07XG4iXSwibmFtZXMiOlsiSW5mb3RpcEljb24iLCJfcmVmIiwibGlnaHRJY29uIiwicHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJfcmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMiLCJ3aWR0aCIsImhlaWdodCIsInZpZXdCb3giLCJ4bWxucyIsImZpbGwiLCJmaWxsUnVsZSIsImQiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsIl9kZWZhdWx0IiwiX2V4cG9ydHMiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJib29sIiwiZGVmYXVsdFByb3BzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///517\n')},556:(module,__unused_webpack_exports,__webpack_require__)=>{eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (false) { var throwOnDirectAccess, ReactIs; } else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(313)();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTU2LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxJQUFJLEtBQXFDLEVBQUUscUNBTzFDLENBQUM7QUFDRjtBQUNBO0FBQ0EsbUJBQW1CLG1CQUFPLENBQUMsR0FBNEI7QUFDdkQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9wcm9wLXR5cGVzL2luZGV4LmpzP2Q3YmMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICB2YXIgUmVhY3RJcyA9IHJlcXVpcmUoJ3JlYWN0LWlzJyk7XG5cbiAgLy8gQnkgZXhwbGljaXRseSB1c2luZyBgcHJvcC10eXBlc2AgeW91IGFyZSBvcHRpbmcgaW50byBuZXcgZGV2ZWxvcG1lbnQgYmVoYXZpb3IuXG4gIC8vIGh0dHA6Ly9mYi5tZS9wcm9wLXR5cGVzLWluLXByb2RcbiAgdmFyIHRocm93T25EaXJlY3RBY2Nlc3MgPSB0cnVlO1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vZmFjdG9yeVdpdGhUeXBlQ2hlY2tlcnMnKShSZWFjdElzLmlzRWxlbWVudCwgdGhyb3dPbkRpcmVjdEFjY2Vzcyk7XG59IGVsc2Uge1xuICAvLyBCeSBleHBsaWNpdGx5IHVzaW5nIGBwcm9wLXR5cGVzYCB5b3UgYXJlIG9wdGluZyBpbnRvIG5ldyBwcm9kdWN0aW9uIGJlaGF2aW9yLlxuICAvLyBodHRwOi8vZmIubWUvcHJvcC10eXBlcy1pbi1wcm9kXG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9mYWN0b3J5V2l0aFRocm93aW5nU2hpbXMnKSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///556\n")},582:function(module,exports,__webpack_require__){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }\n(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(763), __webpack_require__(556), __webpack_require__(310), __webpack_require__(197), __webpack_require__(741)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _react, _propTypes, _position, _tooltip, _portal) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports["default"] = void 0;\n _react = _interopRequireWildcard(_react);\n _propTypes = _interopRequireDefault(_propTypes);\n _position = _interopRequireWildcard(_position);\n _portal = _interopRequireDefault(_portal);\n function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }\n function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }\n function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }\n function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\n function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }\n function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\n function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\n function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\n function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n // TODO: investigate ways to allow more styling via css? the triangle\n // positioning effect issue may need to be resolved to allow for this.\n var TEXT_COLOR = "#FFF";\n var BACKGROUND_COLOR = "#333";\n\n /**\n * Generic styled tooltip component.\n * Corresponding styles: /styles/components/_tooltip.scss\n *\n * Extends implementation from @reach/tooltip:\n * https://reacttraining.com/reach-ui/tooltip\n */\n var Tooltip = function Tooltip(_ref) {\n var children = _ref.children,\n label = _ref.label,\n ariaLabel = _ref.ariaLabel,\n DEBUG_STYLE = _ref.DEBUG_STYLE;\n var _useTooltip = (0, _tooltip.useTooltip)({\n DEBUG_STYLE: DEBUG_STYLE\n }),\n _useTooltip2 = _slicedToArray(_useTooltip, 2),\n trigger = _useTooltip2[0],\n tooltip = _useTooltip2[1];\n var isVisible = tooltip.isVisible,\n triggerRect = tooltip.triggerRect;\n var tooltipPopupRef = (0, _react.useRef)();\n var triangleRef = (0, _react.useRef)();\n (0, _react.useLayoutEffect)(function () {\n // For some reason, the forwardRef for the tooltipPopup points to an undefined\n // dom element when we first render the portal containing the triangle. Using\n // an effect here will ensure that the ref is available when applying styles.\n // TODO: investigate and make issue for @reach-ui/tooltip?\n if (isVisible && tooltipPopupRef.current && triggerRect) {\n var tooltipRect = tooltipPopupRef.current.getBoundingClientRect();\n var positionCssText = (0, _position.positionTriangle)(triggerRect, tooltipRect);\n var cssText = "\\n position: absolute;\\n width: 0;\\n height: 0;\\n ".concat(positionCssText, "\\n border-top-color: ").concat(BACKGROUND_COLOR, ";\\n border-bottom-color: ").concat(BACKGROUND_COLOR, ";\\n z-index: 1;\\n ");\n triangleRef.current.style.cssText = cssText;\n }\n });\n return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/(0, _react.cloneElement)(children, trigger), /*#__PURE__*/_react["default"].createElement(_tooltip.TooltipPopup, _extends({}, tooltip, {\n label: label,\n ariaLabel: ariaLabel,\n style: {\n background: BACKGROUND_COLOR,\n color: TEXT_COLOR\n },\n ref: tooltipPopupRef,\n position: _position["default"]\n })), isVisible && /*#__PURE__*/_react["default"].createElement(_portal["default"], null, /*#__PURE__*/_react["default"].createElement("div", {\n ref: triangleRef,\n style: {\n position: "absolute",\n width: 0,\n height: 0\n }\n })));\n };\n Tooltip.propTypes = {\n children: _propTypes["default"].node.isRequired,\n label: _propTypes["default"].node.isRequired,\n ariaLabel: _propTypes["default"].string,\n DEBUG_STYLE: _propTypes["default"].bool\n };\n Tooltip.defaultProps = {\n ariaLabel: undefined,\n DEBUG_STYLE: undefined\n };\n var _default = _exports["default"] = Tooltip;\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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V0FBVyxFQUFFcUMscUJBQVMsQ0FBQ0k7RUFDM0IsQ0FBQztFQUVEOUMsT0FBTyxDQUFDK0MsWUFBWSxHQUFHO0lBQ25CM0MsU0FBUyxFQUFFNEMsU0FBUztJQUNwQjNDLFdBQVcsRUFBRTJDO0VBQ2pCLENBQUM7RUFBQyxJQUFBQyxRQUFBLEdBQUFDLFFBQUEsY0FFYWxELE9BQU87QUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vY29tcG9uZW50cy9Ub29sdGlwL1Rvb2x0aXAuanN4PzY5OWIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IGNsb25lRWxlbWVudCwgdXNlTGF5b3V0RWZmZWN0LCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIjtcbmltcG9ydCBwb3NpdGlvblRpcCwgeyBwb3NpdGlvblRyaWFuZ2xlIH0gZnJvbSBcIi4vcG9zaXRpb25cIjtcbmltcG9ydCB7IHVzZVRvb2x0aXAsIFRvb2x0aXBQb3B1cCB9IGZyb20gXCJAcmVhY2gvdG9vbHRpcFwiO1xuaW1wb3J0IFBvcnRhbCBmcm9tIFwiQHJlYWNoL3BvcnRhbFwiO1xuXG4vLyBUT0RPOiBpbnZlc3RpZ2F0ZSB3YXlzIHRvIGFsbG93IG1vcmUgc3R5bGluZyB2aWEgY3NzPyB0aGUgdHJpYW5nbGVcbi8vIHBvc2l0aW9uaW5nIGVmZmVjdCBpc3N1ZSBtYXkgbmVlZCB0byBiZSByZXNvbHZlZCB0byBhbGxvdyBmb3IgdGhpcy5cbmNvbnN0IFRFWFRfQ09MT1IgPSBcIiNGRkZcIjtcbmNvbnN0IEJBQ0tHUk9VTkRfQ09MT1IgPSBcIiMzMzNcIjtcblxuLyoqXG4gKiBHZW5lcmljIHN0eWxlZCB0b29sdGlwIGNvbXBvbmVudC5cbiAqIENvcnJlc3BvbmRpbmcgc3R5bGVzOiAvc3R5bGVzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2Nzc1xuICpcbiAqIEV4dGVuZHMgaW1wbGVtZW50YXRpb24gZnJvbSBAcmVhY2gvdG9vbHRpcDpcbiAqIGh0dHBzOi8vcmVhY3R0cmFpbmluZy5jb20vcmVhY2gtdWkvdG9vbHRpcFxuICovXG5jb25zdCBUb29sdGlwID0gKHsgY2hpbGRyZW4sIGxhYmVsLCBhcmlhTGFiZWwsIERFQlVHX1NUWUxFIH0pID0+IHtcbiAgICBjb25zdCBbdHJpZ2dlciwgdG9vbHRpcF0gPSB1c2VUb29sdGlwKHsgREVCVUdfU1RZTEUgfSk7XG4gICAgY29uc3QgeyBpc1Zpc2libGUsIHRyaWdnZXJSZWN0IH0gPSB0b29sdGlwO1xuICAgIGNvbnN0IHRvb2x0aXBQb3B1cFJlZiA9IHVzZVJlZigpO1xuICAgIGNvbnN0IHRyaWFuZ2xlUmVmID0gdXNlUmVmKCk7XG5cbiAgICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgICAgICAvLyBGb3Igc29tZSByZWFzb24sIHRoZSBmb3J3YXJkUmVmIGZvciB0aGUgdG9vbHRpcFBvcHVwIHBvaW50cyB0byBhbiB1bmRlZmluZWRcbiAgICAgICAgLy8gZG9tIGVsZW1lbnQgd2hlbiB3ZSBmaXJzdCByZW5kZXIgdGhlIHBvcnRhbCBjb250YWluaW5nIHRoZSB0cmlhbmdsZS4gVXNpbmdcbiAgICAgICAgLy8gYW4gZWZmZWN0IGhlcmUgd2lsbCBlbnN1cmUgdGhhdCB0aGUgcmVmIGlzIGF2YWlsYWJsZSB3aGVuIGFwcGx5aW5nIHN0eWxlcy5cbiAgICAgICAgLy8gVE9ETzogaW52ZXN0aWdhdGUgYW5kIG1ha2UgaXNzdWUgZm9yIEByZWFjaC11aS90b29sdGlwP1xuICAgICAgICBpZiAoaXNWaXNpYmxlICYmIHRvb2x0aXBQb3B1cFJlZi5jdXJyZW50ICYmIHRyaWdnZXJSZWN0KSB7XG4gICAgICAgICAgICBjb25zdCB0b29sdGlwUmVjdCA9IHRvb2x0aXBQb3B1cFJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgY29uc3QgcG9zaXRpb25Dc3NUZXh0ID0gcG9zaXRpb25UcmlhbmdsZSh0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QpO1xuICAgICAgICAgICAgY29uc3QgY3NzVGV4dCA9IGBcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgJHtwb3NpdGlvbkNzc1RleHR9XG4gICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke0JBQ0tHUk9VTkRfQ09MT1J9O1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHtCQUNLR1JPVU5EX0NPTE9SfTtcbiAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgYDtcbiAgICAgICAgICAgIHRyaWFuZ2xlUmVmLmN1cnJlbnQuc3R5bGUuY3NzVGV4dCA9IGNzc1RleHQ7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICB7Y2xvbmVFbGVtZW50KGNoaWxkcmVuLCB0cmlnZ2VyKX1cbiAgICAgICAgICAgIDxUb29sdGlwUG9wdXBcbiAgICAgICAgICAgICAgICB7Li4udG9vbHRpcH1cbiAgICAgICAgICAgICAgICBsYWJlbD17bGFiZWx9XG4gICAgICAgICAgICAgICAgYXJpYUxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQkFDS0dST1VORF9DT0xPUixcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IFRFWFRfQ09MT1IsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICByZWY9e3Rvb2x0aXBQb3B1cFJlZn1cbiAgICAgICAgICAgICAgICBwb3NpdGlvbj17cG9zaXRpb25UaXB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAge2lzVmlzaWJsZSAmJiAoXG4gICAgICAgICAgICAgICAgPFBvcnRhbD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXt0cmlhbmdsZVJlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvUG9ydGFsPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgPC8+XG4gICAgKTtcbn07XG5cblRvb2x0aXAucHJvcFR5cGVzID0ge1xuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLFxuICAgIGxhYmVsOiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLFxuICAgIGFyaWFMYWJlbDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBERUJVR19TVFlMRTogUHJvcFR5cGVzLmJvb2wsXG59O1xuXG5Ub29sdGlwLmRlZmF1bHRQcm9wcyA9IHtcbiAgICBhcmlhTGFiZWw6IHVuZGVmaW5lZCxcbiAgICBERUJVR19TVFlMRTogdW5kZWZpbmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgVG9vbHRpcDtcbiJdLCJuYW1lcyI6WyJURVhUX0NPTE9SIiwiQkFDS0dST1VORF9DT0xPUiIsIlRvb2x0aXAiLCJfcmVmIiwiY2hpbGRyZW4iLCJsYWJlbCIsImFyaWFMYWJlbCIsIkRFQlVHX1NUWUxFIiwiX3VzZVRvb2x0aXAiLCJ1c2VUb29sdGlwIiwiX3VzZVRvb2x0aXAyIiwiX3NsaWNlZFRvQXJyYXkiLCJ0cmlnZ2VyIiwidG9vbHRpcCIsImlzVmlzaWJsZSIsInRyaWdnZXJSZWN0IiwidG9vbHRpcFBvcHVwUmVmIiwidXNlUmVmIiwidHJpYW5nbGVSZWYiLCJ1c2VMYXlvdXRFZmZlY3QiLCJjdXJyZW50IiwidG9vbHRpcFJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJwb3NpdGlvbkNzc1RleHQiLCJwb3NpdGlvblRyaWFuZ2xlIiwiY3NzVGV4dCIsImNvbmNhdCIsInN0eWxlIiwiX3JlYWN0IiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiY2xvbmVFbGVtZW50IiwiX3Rvb2x0aXAiLCJUb29sdGlwUG9wdXAiLCJfZXh0ZW5kcyIsImJhY2tncm91bmQiLCJjb2xvciIsInJlZiIsInBvc2l0aW9uIiwicG9zaXRpb25UaXAiLCJfcG9ydGFsIiwid2lkdGgiLCJoZWlnaHQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJub2RlIiwiaXNSZXF1aXJlZCIsInN0cmluZyIsImJvb2wiLCJkZWZhdWx0UHJvcHMiLCJ1bmRlZmluZWQiLCJfZGVmYXVsdCIsIl9leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///582\n')},694:function(module,exports,__webpack_require__){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }\n(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(763), __webpack_require__(763), __webpack_require__(888)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _react, _reactDom, _ErrorUI) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports["default"] = void 0;\n _react = _interopRequireDefault(_react);\n _ErrorUI = _interopRequireDefault(_ErrorUI);\n function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }\n function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\n function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }\n function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }\n function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }\n function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }\n /**\n * Renders the QPP Error Page content.\n */\n var ErrorPage = _exports["default"] = /*#__PURE__*/_createClass(\n /**\n * @param {Object} options - An object containing content and config data\n * @param {String} options.type - The error type\n * @param {String} options.code - The error code\n * @param {String} options.message - The error message\n * @param {HTMLElement} options.rootElement - Elem inside which to render\n */\n function ErrorPage(options) {\n _classCallCheck(this, ErrorPage);\n (0, _reactDom.render)(/*#__PURE__*/_react["default"].createElement(_ErrorUI["default"], {\n type: options.type,\n code: options.code,\n message: options.message\n }), options.rootElement);\n });\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNjk0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBSUE7QUFDQTtBQUNBO0VBRkEsSUFHcUJBLFNBQVMsR0FBQUMsUUFBQSwyQkFBQUMsWUFBQTtFQUMxQjtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNJLFNBQUFGLFVBQVlHLE9BQU8sRUFBRTtJQUFBQyxlQUFBLE9BQUFKLFNBQUE7SUFDakIsSUFBQUssZ0JBQU0sZUFDRkMsTUFBQSxZQUFBQyxhQUFBLENBQUNDLFFBQUEsV0FBTztNQUNKQyxJQUFJLEVBQUVOLE9BQU8sQ0FBQ00sSUFBSztNQUNuQkMsSUFBSSxFQUFFUCxPQUFPLENBQUNPLElBQUs7TUFDbkJDLE9BQU8sRUFBRVIsT0FBTyxDQUFDUTtJQUFRLENBQzVCLENBQUMsRUFDRlIsT0FBTyxDQUFDUyxXQUNaLENBQUM7RUFDTCxDQUFDO0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL2NvbXBvbmVudHMvRXJyb3IvZXJyb3IuanM/ZjBjMCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyByZW5kZXIgfSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgRXJyb3JVSSBmcm9tIFwiLi9FcnJvclVJXCI7XG5cbi8qKlxuICogUmVuZGVycyB0aGUgUVBQIEVycm9yIFBhZ2UgY29udGVudC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXJyb3JQYWdlIHtcbiAgICAvKipcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIEFuIG9iamVjdCBjb250YWluaW5nIGNvbnRlbnQgYW5kIGNvbmZpZyBkYXRhXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IG9wdGlvbnMudHlwZSAtIFRoZSBlcnJvciB0eXBlXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IG9wdGlvbnMuY29kZSAtIFRoZSBlcnJvciBjb2RlXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IG9wdGlvbnMubWVzc2FnZSAtIFRoZSBlcnJvciBtZXNzYWdlXG4gICAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gb3B0aW9ucy5yb290RWxlbWVudCAtIEVsZW0gaW5zaWRlIHdoaWNoIHRvIHJlbmRlclxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICAgICAgcmVuZGVyKFxuICAgICAgICAgICAgPEVycm9yVUlcbiAgICAgICAgICAgICAgICB0eXBlPXtvcHRpb25zLnR5cGV9XG4gICAgICAgICAgICAgICAgY29kZT17b3B0aW9ucy5jb2RlfVxuICAgICAgICAgICAgICAgIG1lc3NhZ2U9e29wdGlvbnMubWVzc2FnZX1cbiAgICAgICAgICAgIC8+LFxuICAgICAgICAgICAgb3B0aW9ucy5yb290RWxlbWVudFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJFcnJvclBhZ2UiLCJfZXhwb3J0cyIsIl9jcmVhdGVDbGFzcyIsIm9wdGlvbnMiLCJfY2xhc3NDYWxsQ2hlY2siLCJyZW5kZXIiLCJfcmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiX0Vycm9yVUkiLCJ0eXBlIiwiY29kZSIsIm1lc3NhZ2UiLCJyb290RWxlbWVudCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///694\n')},741:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n Portal: () => (/* binding */ Portal),\n "default": () => (/* binding */ reach_portal_esm)\n});\n\n// EXTERNAL MODULE: ./node_modules/preact/compat/dist/compat.module.js + 2 modules\nvar compat_module = __webpack_require__(763);\n// EXTERNAL MODULE: ./node_modules/@reach/utils/use-isomorphic-layout-effect/dist/reach-utils-use-isomorphic-layout-effect.esm.js\nvar reach_utils_use_isomorphic_layout_effect_esm = __webpack_require__(103);\n;// ./node_modules/@reach/utils/use-force-update/dist/reach-utils-use-force-update.esm.js\n\n\n/**\n * Forces a re-render, similar to `forceUpdate` in class components.\n */\n\nfunction useForceUpdate() {\n var _useState = (0,compat_module.useState)(Object.create(null)),\n dispatch = _useState[1];\n\n return (0,compat_module.useCallback)(function () {\n dispatch(Object.create(null));\n }, []);\n}\n\n\n\n;// ./node_modules/@reach/portal/dist/reach-portal.esm.js\n\n\n\n\n\n\n/**\n * Welcome to @reach/portal!\n *\n * Creates and appends a DOM node to the end of `document.body` and renders a\n * React tree into it. Useful for rendering a natural React element hierarchy\n * with a different DOM hierarchy to prevent parent styles from clipping or\n * hiding content (for popovers, dropdowns, and modals).\n *\n * @see Docs https://reach.tech/portal\n * @see Source https://github.com/reach/reach-ui/tree/main/packages/portal\n * @see React https://reactjs.org/docs/portals.html\n */\n/**\n * Portal\n *\n * @see Docs https://reach.tech/portal#portal\n */\n\nvar Portal = function Portal(_ref) {\n var children = _ref.children,\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? "reach-portal" : _ref$type,\n containerRef = _ref.containerRef;\n var mountNode = (0,compat_module.useRef)(null);\n var portalNode = (0,compat_module.useRef)(null);\n var forceUpdate = useForceUpdate();\n\n if (false) {}\n\n (0,reach_utils_use_isomorphic_layout_effect_esm/* useIsomorphicLayoutEffect */.E)(function () {\n // This ref may be null when a hot-loader replaces components on the page\n if (!mountNode.current) return; // It\'s possible that the content of the portal has, itself, been portaled.\n // In that case, it\'s important to append to the correct document element.\n\n var ownerDocument = mountNode.current.ownerDocument;\n var body = (containerRef == null ? void 0 : containerRef.current) || ownerDocument.body;\n portalNode.current = ownerDocument == null ? void 0 : ownerDocument.createElement(type);\n body.appendChild(portalNode.current);\n forceUpdate();\n return function () {\n if (portalNode.current && body) {\n body.removeChild(portalNode.current);\n }\n };\n }, [type, forceUpdate, containerRef]);\n return portalNode.current ? /*#__PURE__*/(0,compat_module.createPortal)(children, portalNode.current) : /*#__PURE__*/(0,compat_module.createElement)("span", {\n ref: mountNode\n });\n};\n/**\n * @see Docs https://reach.tech/portal#portal-props\n */\n\n\nif (false) {} ////////////////////////////////////////////////////////////////////////////////\n\n/* harmony default export */ const reach_portal_esm = (Portal);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNzQxLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQThDOztBQUU5QztBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrQkFBa0IsMEJBQVE7QUFDMUI7O0FBRUEsU0FBUyw2QkFBVztBQUNwQjtBQUNBLEdBQUc7QUFDSDs7QUFFMEI7OztBQ2YrQjtBQUM2QjtBQUN2QjtBQUN0QjtBQUNOOztBQUVuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0Isd0JBQU07QUFDeEIsbUJBQW1CLHdCQUFNO0FBQ3pCLG9CQUFvQixjQUFjOztBQUVsQyxNQUFNLEtBQXFDLEVBQUUsRUFRMUM7O0FBRUgsRUFBRSxpRkFBeUI7QUFDM0I7QUFDQSxvQ0FBb0M7QUFDcEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsMkNBQTJDLDhCQUFZLDhDQUE4QywrQkFBYTtBQUNsSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0EsSUFBSSxLQUFxQyxFQUFFLEVBRTFDLENBQUM7O0FBRUYsdURBQWUsTUFBTSxFQUFDO0FBQ0oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdXRpbHMvdXNlLWZvcmNlLXVwZGF0ZS9kaXN0L3JlYWNoLXV0aWxzLXVzZS1mb3JjZS11cGRhdGUuZXNtLmpzPzY5MWIiLCJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9ub2RlX21vZHVsZXMvQHJlYWNoL3BvcnRhbC9kaXN0L3JlYWNoLXBvcnRhbC5lc20uanM/ZGRjOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5cbi8qKlxuICogRm9yY2VzIGEgcmUtcmVuZGVyLCBzaW1pbGFyIHRvIGBmb3JjZVVwZGF0ZWAgaW4gY2xhc3MgY29tcG9uZW50cy5cbiAqL1xuXG5mdW5jdGlvbiB1c2VGb3JjZVVwZGF0ZSgpIHtcbiAgdmFyIF91c2VTdGF0ZSA9IHVzZVN0YXRlKE9iamVjdC5jcmVhdGUobnVsbCkpLFxuICAgICAgZGlzcGF0Y2ggPSBfdXNlU3RhdGVbMV07XG5cbiAgcmV0dXJuIHVzZUNhbGxiYWNrKGZ1bmN0aW9uICgpIHtcbiAgICBkaXNwYXRjaChPYmplY3QuY3JlYXRlKG51bGwpKTtcbiAgfSwgW10pO1xufVxuXG5leHBvcnQgeyB1c2VGb3JjZVVwZGF0ZSB9O1xuIiwiaW1wb3J0IHsgdXNlUmVmLCB1c2VFZmZlY3QsIGNyZWF0ZUVsZW1lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0IH0gZnJvbSAnQHJlYWNoL3V0aWxzL3VzZS1pc29tb3JwaGljLWxheW91dC1lZmZlY3QnO1xuaW1wb3J0IHsgdXNlRm9yY2VVcGRhdGUgfSBmcm9tICdAcmVhY2gvdXRpbHMvdXNlLWZvcmNlLXVwZGF0ZSc7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IHdhcm5pbmcgZnJvbSAndGlueS13YXJuaW5nJztcblxuLyoqXG4gKiBXZWxjb21lIHRvIEByZWFjaC9wb3J0YWwhXG4gKlxuICogQ3JlYXRlcyBhbmQgYXBwZW5kcyBhIERPTSBub2RlIHRvIHRoZSBlbmQgb2YgYGRvY3VtZW50LmJvZHlgIGFuZCByZW5kZXJzIGFcbiAqIFJlYWN0IHRyZWUgaW50byBpdC4gVXNlZnVsIGZvciByZW5kZXJpbmcgYSBuYXR1cmFsIFJlYWN0IGVsZW1lbnQgaGllcmFyY2h5XG4gKiB3aXRoIGEgZGlmZmVyZW50IERPTSBoaWVyYXJjaHkgdG8gcHJldmVudCBwYXJlbnQgc3R5bGVzIGZyb20gY2xpcHBpbmcgb3JcbiAqIGhpZGluZyBjb250ZW50IChmb3IgcG9wb3ZlcnMsIGRyb3Bkb3ducywgYW5kIG1vZGFscykuXG4gKlxuICogQHNlZSBEb2NzICAgaHR0cHM6Ly9yZWFjaC50ZWNoL3BvcnRhbFxuICogQHNlZSBTb3VyY2UgaHR0cHM6Ly9naXRodWIuY29tL3JlYWNoL3JlYWNoLXVpL3RyZWUvbWFpbi9wYWNrYWdlcy9wb3J0YWxcbiAqIEBzZWUgUmVhY3QgIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9wb3J0YWxzLmh0bWxcbiAqL1xuLyoqXG4gKiBQb3J0YWxcbiAqXG4gKiBAc2VlIERvY3MgaHR0cHM6Ly9yZWFjaC50ZWNoL3BvcnRhbCNwb3J0YWxcbiAqL1xuXG52YXIgUG9ydGFsID0gZnVuY3Rpb24gUG9ydGFsKF9yZWYpIHtcbiAgdmFyIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbixcbiAgICAgIF9yZWYkdHlwZSA9IF9yZWYudHlwZSxcbiAgICAgIHR5cGUgPSBfcmVmJHR5cGUgPT09IHZvaWQgMCA/IFwicmVhY2gtcG9ydGFsXCIgOiBfcmVmJHR5cGUsXG4gICAgICBjb250YWluZXJSZWYgPSBfcmVmLmNvbnRhaW5lclJlZjtcbiAgdmFyIG1vdW50Tm9kZSA9IHVzZVJlZihudWxsKTtcbiAgdmFyIHBvcnRhbE5vZGUgPSB1c2VSZWYobnVsbCk7XG4gIHZhciBmb3JjZVVwZGF0ZSA9IHVzZUZvcmNlVXBkYXRlKCk7XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuICAgIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAoY29udGFpbmVyUmVmICE9IG51bGwpIHtcbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gd2FybmluZyh0eXBlb2YgY29udGFpbmVyUmVmID09PSBcIm9iamVjdFwiICYmIFwiY3VycmVudFwiIGluIGNvbnRhaW5lclJlZiwgXCJAcmVhY2gvcG9ydGFsOiBJbnZhbGlkIHZhbHVlIHBhc3NlZCB0byB0aGUgYGNvbnRhaW5lclJlZmAgb2YgYSBcIiArIFwiYFBvcnRhbGAuIFRoZSBwb3J0YWwgd2lsbCBiZSBhcHBlbmRlZCB0byB0aGUgZG9jdW1lbnQgYm9keSwgYnV0IGlmIFwiICsgXCJ5b3Ugd2FudCB0byBhdHRhY2ggaXQgdG8gYW5vdGhlciBET00gbm9kZSB5b3UgbXVzdCBwYXNzIGEgdmFsaWQgXCIgKyBcIlJlYWN0IHJlZiBvYmplY3QgdG8gYGNvbnRhaW5lclJlZmAuXCIpIDogdm9pZCAwO1xuICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyB3YXJuaW5nKGNvbnRhaW5lclJlZiA/IGNvbnRhaW5lclJlZi5jdXJyZW50ICE9IG51bGwgOiB0cnVlLCBcIkByZWFjaC9wb3J0YWw6IEEgcmVmIHdhcyBwYXNzZWQgdG8gdGhlIGBjb250YWluZXJSZWZgIHByb3Agb2YgYSBcIiArIFwiYFBvcnRhbGAsIGJ1dCBubyBET00gbm9kZSB3YXMgYXR0YWNoZWQgdG8gaXQuIEJlIHN1cmUgdG8gcGFzcyB0aGUgXCIgKyBcInJlZiB0byBhIERPTSBjb21wb25lbnQuXFxuXFxuSWYgeW91IGFyZSBmb3J3YXJkaW5nIHRoZSByZWYgZnJvbSBcIiArIFwiYW5vdGhlciBjb21wb25lbnQsIGJlIHN1cmUgdG8gdXNlIHRoZSBSZWFjdC5mb3J3YXJkUmVmIEFQSS4gXCIgKyBcIlNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvZm9yd2FyZGluZy1yZWZzLmh0bWwuXCIpIDogdm9pZCAwO1xuICAgICAgfVxuICAgIH0sIFtjb250YWluZXJSZWZdKTtcbiAgfVxuXG4gIHVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIC8vIFRoaXMgcmVmIG1heSBiZSBudWxsIHdoZW4gYSBob3QtbG9hZGVyIHJlcGxhY2VzIGNvbXBvbmVudHMgb24gdGhlIHBhZ2VcbiAgICBpZiAoIW1vdW50Tm9kZS5jdXJyZW50KSByZXR1cm47IC8vIEl0J3MgcG9zc2libGUgdGhhdCB0aGUgY29udGVudCBvZiB0aGUgcG9ydGFsIGhhcywgaXRzZWxmLCBiZWVuIHBvcnRhbGVkLlxuICAgIC8vIEluIHRoYXQgY2FzZSwgaXQncyBpbXBvcnRhbnQgdG8gYXBwZW5kIHRvIHRoZSBjb3JyZWN0IGRvY3VtZW50IGVsZW1lbnQuXG5cbiAgICB2YXIgb3duZXJEb2N1bWVudCA9IG1vdW50Tm9kZS5jdXJyZW50Lm93bmVyRG9jdW1lbnQ7XG4gICAgdmFyIGJvZHkgPSAoY29udGFpbmVyUmVmID09IG51bGwgPyB2b2lkIDAgOiBjb250YWluZXJSZWYuY3VycmVudCkgfHwgb3duZXJEb2N1bWVudC5ib2R5O1xuICAgIHBvcnRhbE5vZGUuY3VycmVudCA9IG93bmVyRG9jdW1lbnQgPT0gbnVsbCA/IHZvaWQgMCA6IG93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0eXBlKTtcbiAgICBib2R5LmFwcGVuZENoaWxkKHBvcnRhbE5vZGUuY3VycmVudCk7XG4gICAgZm9yY2VVcGRhdGUoKTtcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKHBvcnRhbE5vZGUuY3VycmVudCAmJiBib2R5KSB7XG4gICAgICAgIGJvZHkucmVtb3ZlQ2hpbGQocG9ydGFsTm9kZS5jdXJyZW50KTtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbdHlwZSwgZm9yY2VVcGRhdGUsIGNvbnRhaW5lclJlZl0pO1xuICByZXR1cm4gcG9ydGFsTm9kZS5jdXJyZW50ID8gLyojX19QVVJFX18qL2NyZWF0ZVBvcnRhbChjaGlsZHJlbiwgcG9ydGFsTm9kZS5jdXJyZW50KSA6IC8qI19fUFVSRV9fKi9jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7XG4gICAgcmVmOiBtb3VudE5vZGVcbiAgfSk7XG59O1xuLyoqXG4gKiBAc2VlIERvY3MgaHR0cHM6Ly9yZWFjaC50ZWNoL3BvcnRhbCNwb3J0YWwtcHJvcHNcbiAqL1xuXG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgUG9ydGFsLmRpc3BsYXlOYW1lID0gXCJQb3J0YWxcIjtcbn0gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuZXhwb3J0IGRlZmF1bHQgUG9ydGFsO1xuZXhwb3J0IHsgUG9ydGFsIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///741\n')},756:function(module,exports,__webpack_require__){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(763), __webpack_require__(556), __webpack_require__(193)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _react, _propTypes, _LegacyFooterUI) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports["default"] = void 0;\n _react = _interopRequireDefault(_react);\n _propTypes = _interopRequireDefault(_propTypes);\n _LegacyFooterUI = _interopRequireDefault(_LegacyFooterUI);\n function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }\n function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }\n function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\n function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\n function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\n function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }\n function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }\n var FooterUI = function FooterUI(props) {\n var isNewFooter = props.isNewFooter;\n var isIESupportPage = props.isIESupportPage;\n var signUpNowLink = props.showHcdResearch ? "/about/hcd-research" : "mailto:madie@cms.hhs.gov?subject=Sign up for feedback sessions";\n\n // Default footer assets\n var assets = _objectSpread(_objectSpread({}, {\n hhsLogo: /*#__PURE__*/_react["default"].createElement("img", {\n className: "hhs-logo",\n alt: "Department of Health & Human Services USA",\n src: "/images/hhs-logo-black.svg"\n }),\n madieLogo: /*#__PURE__*/_react["default"].createElement("img", {\n className: "qpp-logo",\n src: "/images/qpp_logo_rgb_color.png",\n alt: "MADiE Measure Authoring Development Integrated Environment logo"\n })\n }), props.assets);\n var setLink = function setLink(link) {\n return isIESupportPage ? "/" : link;\n };\n if (isNewFooter) {\n return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, !isIESupportPage && /*#__PURE__*/_react["default"].createElement("div", {\n className: "feedback-session-sign-up"\n }), /*#__PURE__*/_react["default"].createElement("footer", {\n "aria-label": "Site footer",\n className: "global-footer"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: "build-version",\n id: "build-version"\n }, props.buildVersion), /*#__PURE__*/_react["default"].createElement("div", {\n className: "responsive-container"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: "other-links"\n }, /*#__PURE__*/_react["default"].createElement("hr", {\n className: "divider-top"\n }), /*#__PURE__*/_react["default"].createElement("ul", {\n className: "small"\n }, /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {\n href: setLink("https://harp.cms.gov/login/terms-of-use"),\n "aria-label": "Terms of Use",\n "data-track-category": "FooterNav",\n "data-track-action": "OpenTermsOfService",\n "data-track-label": "Terms of Use"\n }, "Terms of Use")), /*#__PURE__*/_react["default"].createElement("li", {\n className: "divider"\n }), " ", /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {\n href: setLink("https://www.cms.gov/privacy"),\n "aria-label": "Privacy Policy",\n "data-track-category": "FooterNav",\n "data-track-action": "OpenPrivacyPolicy",\n "data-track-label": "Privacy Policy"\n }, "Privacy Policy")), /*#__PURE__*/_react["default"].createElement("li", {\n className: "divider"\n }), " ", /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {\n href: setLink("https://www.hhs.gov/web/governance/digital-strategy/it-policy-archive/hhs-rules-of-behavior-for-the-use-of-hhs-information-and-it-resources-policy.html"),\n "aria-label": "Rules of Behavior",\n "data-track-category": "FooterNav",\n "data-track-action": "OpenRulesofBehavior",\n "data-track-label": "Rules of Behavior"\n }, "Rules of Behavior"))), /*#__PURE__*/_react["default"].createElement("hr", {\n className: "divider-bottom"\n })), /*#__PURE__*/_react["default"].createElement("div", {\n className: "qpp-hhs-logo-container"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: "qpp-logo-container"\n }, assets.qppLogo), /*#__PURE__*/_react["default"].createElement("div", {\n className: "hhs-logo-container"\n }, assets.hhsLogo, /*#__PURE__*/_react["default"].createElement("p", null, "A federal government website managed and paid for by the U.S Centers for Medicare & Medicaid Services. 7500 Security Boulevard, Baltimore MD 21244"))))));\n }\n return /*#__PURE__*/_react["default"].createElement(_LegacyFooterUI["default"], {\n buildVersion: props.buildVersion,\n isFullWidth: props.isFullWidth,\n signUpNowLink: signUpNowLink\n });\n };\n FooterUI.propTypes = {\n buildVersion: _propTypes["default"].string,\n isFullWidth: _propTypes["default"].bool,\n isNewFooter: _propTypes["default"].bool,\n isIESupportPage: _propTypes["default"].bool,\n showHcdResearch: _propTypes["default"].bool,\n assets: _propTypes["default"].shape({\n cmsLogo: _propTypes["default"].element,\n madieLogo: _propTypes["default"].element\n })\n };\n var _default = _exports["default"] = FooterUI;\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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ZS8uL2NvbXBvbmVudHMvRm9vdGVyL0Zvb3RlclVJLmpzeD9jZDhiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIjtcblxuaW1wb3J0IExlZ2FjeUZvb3RlclVJIGZyb20gXCIuL0xlZ2FjeUZvb3RlclVJXCI7XG5cbmNvbnN0IEZvb3RlclVJID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3QgaXNOZXdGb290ZXIgPSBwcm9wcy5pc05ld0Zvb3RlcjtcbiAgICBjb25zdCBpc0lFU3VwcG9ydFBhZ2UgPSBwcm9wcy5pc0lFU3VwcG9ydFBhZ2U7XG4gICAgY29uc3Qgc2lnblVwTm93TGluayA9IHByb3BzLnNob3dIY2RSZXNlYXJjaFxuICAgICAgICA/IFwiL2Fib3V0L2hjZC1yZXNlYXJjaFwiXG4gICAgICAgIDogXCJtYWlsdG86bWFkaWVAY21zLmhocy5nb3Y/c3ViamVjdD1TaWduIHVwIGZvciBmZWVkYmFjayBzZXNzaW9uc1wiO1xuXG4gICAgLy8gRGVmYXVsdCBmb290ZXIgYXNzZXRzXG4gICAgY29uc3QgYXNzZXRzID0ge1xuICAgICAgICAuLi57XG4gICAgICAgICAgICBoaHNMb2dvOiAoXG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJoaHMtbG9nb1wiXG4gICAgICAgICAgICAgICAgICAgIGFsdD1cIkRlcGFydG1lbnQgb2YgSGVhbHRoICZhbXA7IEh1bWFuIFNlcnZpY2VzIFVTQVwiXG4gICAgICAgICAgICAgICAgICAgIHNyYz1cIi9pbWFnZXMvaGhzLWxvZ28tYmxhY2suc3ZnXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIG1hZGllTG9nbzogKFxuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicXBwLWxvZ29cIlxuICAgICAgICAgICAgICAgICAgICBzcmM9XCIvaW1hZ2VzL3FwcF9sb2dvX3JnYl9jb2xvci5wbmdcIlxuICAgICAgICAgICAgICAgICAgICBhbHQ9XCJNQURpRSBNZWFzdXJlIEF1dGhvcmluZyBEZXZlbG9wbWVudCBJbnRlZ3JhdGVkIEVudmlyb25tZW50IGxvZ29cIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgICAuLi5wcm9wcy5hc3NldHMsXG4gICAgfTtcblxuICAgIGNvbnN0IHNldExpbmsgPSAobGluaykgPT4ge1xuICAgICAgICByZXR1cm4gaXNJRVN1cHBvcnRQYWdlID8gXCIvXCIgOiBsaW5rO1xuICAgIH07XG5cbiAgICBpZiAoaXNOZXdGb290ZXIpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgeyFpc0lFU3VwcG9ydFBhZ2UgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZlZWRiYWNrLXNlc3Npb24tc2lnbi11cFwiIC8+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8Zm9vdGVyIGFyaWEtbGFiZWw9XCJTaXRlIGZvb3RlclwiIGNsYXNzTmFtZT1cImdsb2JhbC1mb290ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJidWlsZC12ZXJzaW9uXCIgaWQ9XCJidWlsZC12ZXJzaW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7cHJvcHMuYnVpbGRWZXJzaW9ufVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlc3BvbnNpdmUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm90aGVyLWxpbmtzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzTmFtZT1cImRpdmlkZXItdG9wXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwic21hbGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPXtzZXRMaW5rKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImh0dHBzOi8vaGFycC5jbXMuZ292L2xvZ2luL3Rlcm1zLW9mLXVzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiVGVybXMgb2YgVXNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWNhdGVnb3J5PVwiRm9vdGVyTmF2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWFjdGlvbj1cIk9wZW5UZXJtc09mU2VydmljZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1sYWJlbD1cIlRlcm1zIG9mIFVzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgVXNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJkaXZpZGVyXCI+PC9saT57XCIgXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj17c2V0TGluayhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJodHRwczovL3d3dy5jbXMuZ292L3ByaXZhY3lcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlByaXZhY3kgUG9saWN5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWNhdGVnb3J5PVwiRm9vdGVyTmF2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWFjdGlvbj1cIk9wZW5Qcml2YWN5UG9saWN5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWxhYmVsPVwiUHJpdmFjeSBQb2xpY3lcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByaXZhY3kgUG9saWN5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJkaXZpZGVyXCI+PC9saT57XCIgXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj17c2V0TGluayhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJodHRwczovL3d3dy5oaHMuZ292L3dlYi9nb3Zlcm5hbmNlL2RpZ2l0YWwtc3RyYXRlZ3kvaXQtcG9saWN5LWFyY2hpdmUvaGhzLXJ1bGVzLW9mLWJlaGF2aW9yLWZvci10aGUtdXNlLW9mLWhocy1pbmZvcm1hdGlvbi1hbmQtaXQtcmVzb3VyY2VzLXBvbGljeS5odG1sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJSdWxlcyBvZiBCZWhhdmlvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1jYXRlZ29yeT1cIkZvb3Rlck5hdlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1hY3Rpb249XCJPcGVuUnVsZXNvZkJlaGF2aW9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWxhYmVsPVwiUnVsZXMgb2YgQmVoYXZpb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJ1bGVzIG9mIEJlaGF2aW9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aHIgY2xhc3NOYW1lPVwiZGl2aWRlci1ib3R0b21cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInFwcC1oaHMtbG9nby1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInFwcC1sb2dvLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7YXNzZXRzLnFwcExvZ299XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJoaHMtbG9nby1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Fzc2V0cy5oaHNMb2dvfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEgZmVkZXJhbCBnb3Zlcm5tZW50IHdlYnNpdGUgbWFuYWdlZCBhbmRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhaWQgZm9yIGJ5IHRoZSBVLlMgQ2VudGVycyBmb3IgTWVkaWNhcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZhbXA7IE1lZGljYWlkIFNlcnZpY2VzLiA3NTAwIFNlY3VyaXR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCb3VsZXZhcmQsIEJhbHRpbW9yZSBNRCAyMTI0NFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9mb290ZXI+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIChcbiAgICAgICAgPExlZ2FjeUZvb3RlclVJXG4gICAgICAgICAgICBidWlsZFZlcnNpb249e3Byb3BzLmJ1aWxkVmVyc2lvbn1cbiAgICAgICAgICAgIGlzRnVsbFdpZHRoPXtwcm9wcy5pc0Z1bGxXaWR0aH1cbiAgICAgICAgICAgIHNpZ25VcE5vd0xpbms9e3NpZ25VcE5vd0xpbmt9XG4gICAgICAgIC8+XG4gICAgKTtcbn07XG5cbkZvb3RlclVJLnByb3BUeXBlcyA9IHtcbiAgICBidWlsZFZlcnNpb246IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaXNGdWxsV2lkdGg6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzTmV3Rm9vdGVyOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc0lFU3VwcG9ydFBhZ2U6IFByb3BUeXBlcy5ib29sLFxuICAgIHNob3dIY2RSZXNlYXJjaDogUHJvcFR5cGVzLmJvb2wsXG4gICAgYXNzZXRzOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICBjbXNMb2dvOiBQcm9wVHlwZXMuZWxlbWVudCxcbiAgICAgICAgbWFkaWVMb2dvOiBQcm9wVHlwZXMuZWxlbWVudCxcbiAgICB9KSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZvb3RlclVJO1xuIl0sIm5hbWVzIjpbIkZvb3RlclVJIiwicHJvcHMiLCJpc05ld0Zvb3RlciIsImlzSUVTdXBwb3J0UGFnZSIsInNpZ25VcE5vd0xpbmsiLCJzaG93SGNkUmVzZWFyY2giLCJhc3NldHMiLCJfb2JqZWN0U3ByZWFkIiwiaGhzTG9nbyIsIl9yZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJhbHQiLCJzcmMiLCJtYWRpZUxvZ28iLCJzZXRMaW5rIiwibGluayIsIkZyYWdtZW50IiwiaWQiLCJidWlsZFZlcnNpb24iLCJocmVmIiwicXBwTG9nbyIsIl9MZWdhY3lGb290ZXJVSSIsImlzRnVsbFdpZHRoIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwiYm9vbCIsInNoYXBlIiwiY21zTG9nbyIsImVsZW1lbnQiLCJfZGVmYXVsdCIsIl9leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///756\n')},763:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n Children: () => (/* binding */ compat_module_O),\n Component: () => (/* reexport */ x),\n Fragment: () => (/* reexport */ k),\n PureComponent: () => (/* binding */ compat_module_N),\n StrictMode: () => (/* binding */ Cn),\n Suspense: () => (/* binding */ compat_module_P),\n SuspenseList: () => (/* binding */ compat_module_B),\n __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: () => (/* binding */ hn),\n cloneElement: () => (/* binding */ _n),\n createContext: () => (/* reexport */ K),\n createElement: () => (/* reexport */ _),\n createFactory: () => (/* binding */ dn),\n createPortal: () => (/* binding */ compat_module_$),\n createRef: () => (/* reexport */ b),\n "default": () => (/* binding */ Rn),\n findDOMNode: () => (/* binding */ Sn),\n flushSync: () => (/* binding */ En),\n forwardRef: () => (/* binding */ compat_module_D),\n hydrate: () => (/* binding */ tn),\n isElement: () => (/* binding */ xn),\n isFragment: () => (/* binding */ mn),\n isMemo: () => (/* binding */ yn),\n isValidElement: () => (/* binding */ pn),\n lazy: () => (/* binding */ compat_module_z),\n memo: () => (/* binding */ compat_module_M),\n render: () => (/* binding */ nn),\n startTransition: () => (/* binding */ R),\n unmountComponentAtNode: () => (/* binding */ bn),\n unstable_batchedUpdates: () => (/* binding */ gn),\n useCallback: () => (/* reexport */ hooks_module_q),\n useContext: () => (/* reexport */ hooks_module_x),\n useDebugValue: () => (/* reexport */ hooks_module_P),\n useDeferredValue: () => (/* binding */ compat_module_w),\n useEffect: () => (/* reexport */ hooks_module_y),\n useErrorBoundary: () => (/* reexport */ hooks_module_b),\n useId: () => (/* reexport */ hooks_module_g),\n useImperativeHandle: () => (/* reexport */ hooks_module_F),\n useInsertionEffect: () => (/* binding */ compat_module_I),\n useLayoutEffect: () => (/* reexport */ hooks_module_),\n useMemo: () => (/* reexport */ hooks_module_T),\n useReducer: () => (/* reexport */ hooks_module_h),\n useRef: () => (/* reexport */ hooks_module_A),\n useState: () => (/* reexport */ hooks_module_d),\n useSyncExternalStore: () => (/* binding */ compat_module_C),\n useTransition: () => (/* binding */ compat_module_k),\n version: () => (/* binding */ vn)\n});\n\n;// ./node_modules/preact/dist/preact.module.js\nvar n,l,t,u,i,r,o,e,f,c,s,a,h,p={},v=[],y=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,d=Array.isArray;function w(n,l){for(var t in l)n[t]=l[t];return n}function g(n){n&&n.parentNode&&n.parentNode.removeChild(n)}function _(l,t,u){var i,r,o,e={};for(o in t)"key"==o?i=t[o]:"ref"==o?r=t[o]:e[o]=t[o];if(arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):u),"function"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps)void 0===e[o]&&(e[o]=l.defaultProps[o]);return m(l,e,i,r,null)}function m(n,u,i,r,o){var e={type:n,props:u,key:i,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==o?++t:o,__i:-1,__u:0};return null==o&&null!=l.vnode&&l.vnode(e),e}function b(){return{current:null}}function k(n){return n.children}function x(n,l){this.props=n,this.context=l}function S(n,l){if(null==l)return n.__?S(n.__,n.__i+1):null;for(var t;l<n.__k.length;l++)if(null!=(t=n.__k[l])&&null!=t.__e)return t.__e;return"function"==typeof n.type?S(n):null}function C(n){var l,t;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(t=n.__k[l])&&null!=t.__e){n.__e=n.__c.base=t.__e;break}return C(n)}}function M(n){(!n.__d&&(n.__d=!0)&&i.push(n)&&!$.__r++||r!==l.debounceRendering)&&((r=l.debounceRendering)||o)($)}function $(){for(var n,t,u,r,o,f,c,s=1;i.length;)i.length>s&&i.sort(e),n=i.shift(),s=i.length,n.__d&&(u=void 0,o=(r=(t=n).__v).__e,f=[],c=[],t.__P&&((u=w({},r)).__v=r.__v+1,l.vnode&&l.vnode(u),O(t.__P,u,r,t.__n,t.__P.namespaceURI,32&r.__u?[o]:null,f,null==o?S(r):o,!!(32&r.__u),c),u.__v=r.__v,u.__.__k[u.__i]=u,z(f,u,c),u.__e!=o&&C(u)));$.__r=0}function I(n,l,t,u,i,r,o,e,f,c,s){var a,h,y,d,w,g,_=u&&u.__k||v,m=l.length;for(f=P(t,l,_,f,m),a=0;a<m;a++)null!=(y=t.__k[a])&&(h=-1===y.__i?p:_[y.__i]||p,y.__i=a,g=O(n,y,h,i,r,o,e,f,c,s),d=y.__e,y.ref&&h.ref!=y.ref&&(h.ref&&q(h.ref,null,y),s.push(y.ref,y.__c||d,y)),null==w&&null!=d&&(w=d),4&y.__u||h.__k===y.__k?f=A(y,f,n):"function"==typeof y.type&&void 0!==g?f=g:d&&(f=d.nextSibling),y.__u&=-7);return t.__e=w,f}function P(n,l,t,u,i){var r,o,e,f,c,s=t.length,a=s,h=0;for(n.__k=new Array(i),r=0;r<i;r++)null!=(o=l[r])&&"boolean"!=typeof o&&"function"!=typeof o?(f=r+h,(o=n.__k[r]="string"==typeof o||"number"==typeof o||"bigint"==typeof o||o.constructor==String?m(null,o,null,null,null):d(o)?m(k,{children:o},null,null,null):void 0===o.constructor&&o.__b>0?m(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):o).__=n,o.__b=n.__b+1,e=null,-1!==(c=o.__i=L(o,t,f,a))&&(a--,(e=t[c])&&(e.__u|=2)),null==e||null===e.__v?(-1==c&&(i>s?h--:i<s&&h++),"function"!=typeof o.type&&(o.__u|=4)):c!=f&&(c==f-1?h--:c==f+1?h++:(c>f?h--:h++,o.__u|=4))):n.__k[r]=null;if(a)for(r=0;r<s;r++)null!=(e=t[r])&&0==(2&e.__u)&&(e.__e==u&&(u=S(e)),B(e,e));return u}function A(n,l,t){var u,i;if("function"==typeof n.type){for(u=n.__k,i=0;u&&i<u.length;i++)u[i]&&(u[i].__=n,l=A(u[i],l,t));return l}n.__e!=l&&(l&&n.type&&!t.contains(l)&&(l=S(n)),t.insertBefore(n.__e,l||null),l=n.__e);do{l=l&&l.nextSibling}while(null!=l&&8==l.nodeType);return l}function H(n,l){return l=l||[],null==n||"boolean"==typeof n||(d(n)?n.some(function(n){H(n,l)}):l.push(n)),l}function L(n,l,t,u){var i,r,o=n.key,e=n.type,f=l[t];if(null===f&&null==n.key||f&&o==f.key&&e===f.type&&0==(2&f.__u))return t;if(u>(null!=f&&0==(2&f.__u)?1:0))for(i=t-1,r=t+1;i>=0||r<l.length;){if(i>=0){if((f=l[i])&&0==(2&f.__u)&&o==f.key&&e===f.type)return i;i--}if(r<l.length){if((f=l[r])&&0==(2&f.__u)&&o==f.key&&e===f.type)return r;r++}}return-1}function T(n,l,t){"-"==l[0]?n.setProperty(l,null==t?"":t):n[l]=null==t?"":"number"!=typeof t||y.test(l)?t:t+"px"}function j(n,l,t,u,i){var r;n:if("style"==l)if("string"==typeof t)n.style.cssText=t;else{if("string"==typeof u&&(n.style.cssText=u=""),u)for(l in u)t&&l in t||T(n.style,l,"");if(t)for(l in t)u&&t[l]===u[l]||T(n.style,l,t[l])}else if("o"==l[0]&&"n"==l[1])r=l!=(l=l.replace(f,"$1")),l=l.toLowerCase()in n||"onFocusOut"==l||"onFocusIn"==l?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+r]=t,t?u?t.t=u.t:(t.t=c,n.addEventListener(l,r?a:s,r)):n.removeEventListener(l,r?a:s,r);else{if("http://www.w3.org/2000/svg"==i)l=l.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!=l&&"height"!=l&&"href"!=l&&"list"!=l&&"form"!=l&&"tabIndex"!=l&&"download"!=l&&"rowSpan"!=l&&"colSpan"!=l&&"role"!=l&&"popover"!=l&&l in n)try{n[l]=null==t?"":t;break n}catch(n){}"function"==typeof t||(null==t||!1===t&&"-"!=l[4]?n.removeAttribute(l):n.setAttribute(l,"popover"==l&&1==t?"":t))}}function F(n){return function(t){if(this.l){var u=this.l[t.type+n];if(null==t.u)t.u=c++;else if(t.u<u.t)return;return u(l.event?l.event(t):t)}}}function O(n,t,u,i,r,o,e,f,c,s){var a,h,p,v,y,_,m,b,S,C,M,$,P,A,H,L,T,j=t.type;if(void 0!==t.constructor)return null;128&u.__u&&(c=!!(32&u.__u),o=[f=t.__e=u.__e]),(a=l.__b)&&a(t);n:if("function"==typeof j)try{if(b=t.props,S="prototype"in j&&j.prototype.render,C=(a=j.contextType)&&i[a.__c],M=a?C?C.props.value:a.__:i,u.__c?m=(h=t.__c=u.__c).__=h.__E:(S?t.__c=h=new j(b,M):(t.__c=h=new x(b,M),h.constructor=j,h.render=D),C&&C.sub(h),h.props=b,h.state||(h.state={}),h.context=M,h.__n=i,p=h.__d=!0,h.__h=[],h._sb=[]),S&&null==h.__s&&(h.__s=h.state),S&&null!=j.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=w({},h.__s)),w(h.__s,j.getDerivedStateFromProps(b,h.__s))),v=h.props,y=h.state,h.__v=t,p)S&&null==j.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),S&&null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(S&&null==j.getDerivedStateFromProps&&b!==v&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(b,M),!h.__e&&(null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(b,h.__s,M)||t.__v==u.__v)){for(t.__v!=u.__v&&(h.props=b,h.state=h.__s,h.__d=!1),t.__e=u.__e,t.__k=u.__k,t.__k.some(function(n){n&&(n.__=t)}),$=0;$<h._sb.length;$++)h.__h.push(h._sb[$]);h._sb=[],h.__h.length&&e.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(b,h.__s,M),S&&null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(v,y,_)})}if(h.context=M,h.props=b,h.__P=n,h.__e=!1,P=l.__r,A=0,S){for(h.state=h.__s,h.__d=!1,P&&P(t),a=h.render(h.props,h.state,h.context),H=0;H<h._sb.length;H++)h.__h.push(h._sb[H]);h._sb=[]}else do{h.__d=!1,P&&P(t),a=h.render(h.props,h.state,h.context),h.state=h.__s}while(h.__d&&++A<25);h.state=h.__s,null!=h.getChildContext&&(i=w(w({},i),h.getChildContext())),S&&!p&&null!=h.getSnapshotBeforeUpdate&&(_=h.getSnapshotBeforeUpdate(v,y)),L=a,null!=a&&a.type===k&&null==a.key&&(L=N(a.props.children)),f=I(n,d(L)?L:[L],t,u,i,r,o,e,f,c,s),h.base=t.__e,t.__u&=-161,h.__h.length&&e.push(h),m&&(h.__E=h.__=null)}catch(n){if(t.__v=null,c||null!=o)if(n.then){for(t.__u|=c?160:128;f&&8==f.nodeType&&f.nextSibling;)f=f.nextSibling;o[o.indexOf(f)]=null,t.__e=f}else for(T=o.length;T--;)g(o[T]);else t.__e=u.__e,t.__k=u.__k;l.__e(n,t,u)}else null==o&&t.__v==u.__v?(t.__k=u.__k,t.__e=u.__e):f=t.__e=V(u.__e,t,u,i,r,o,e,c,s);return(a=l.diffed)&&a(t),128&t.__u?void 0:f}function z(n,t,u){for(var i=0;i<u.length;i++)q(u[i],u[++i],u[++i]);l.__c&&l.__c(t,n),n.some(function(t){try{n=t.__h,t.__h=[],n.some(function(n){n.call(t)})}catch(n){l.__e(n,t.__v)}})}function N(n){return"object"!=typeof n||null==n?n:d(n)?n.map(N):w({},n)}function V(t,u,i,r,o,e,f,c,s){var a,h,v,y,w,_,m,b=i.props,k=u.props,x=u.type;if("svg"==x?o="http://www.w3.org/2000/svg":"math"==x?o="http://www.w3.org/1998/Math/MathML":o||(o="http://www.w3.org/1999/xhtml"),null!=e)for(a=0;a<e.length;a++)if((w=e[a])&&"setAttribute"in w==!!x&&(x?w.localName==x:3==w.nodeType)){t=w,e[a]=null;break}if(null==t){if(null==x)return document.createTextNode(k);t=document.createElementNS(o,x,k.is&&k),c&&(l.__m&&l.__m(u,e),c=!1),e=null}if(null===x)b===k||c&&t.data===k||(t.data=k);else{if(e=e&&n.call(t.childNodes),b=i.props||p,!c&&null!=e)for(b={},a=0;a<t.attributes.length;a++)b[(w=t.attributes[a]).name]=w.value;for(a in b)if(w=b[a],"children"==a);else if("dangerouslySetInnerHTML"==a)v=w;else if(!(a in k)){if("value"==a&&"defaultValue"in k||"checked"==a&&"defaultChecked"in k)continue;j(t,a,null,w,o)}for(a in k)w=k[a],"children"==a?y=w:"dangerouslySetInnerHTML"==a?h=w:"value"==a?_=w:"checked"==a?m=w:c&&"function"!=typeof w||b[a]===w||j(t,a,w,b[a],o);if(h)c||v&&(h.__html===v.__html||h.__html===t.innerHTML)||(t.innerHTML=h.__html),u.__k=[];else if(v&&(t.innerHTML=""),I("template"===u.type?t.content:t,d(y)?y:[y],u,i,r,"foreignObject"==x?"http://www.w3.org/1999/xhtml":o,e,f,e?e[0]:i.__k&&S(i,0),c,s),null!=e)for(a=e.length;a--;)g(e[a]);c||(a="value","progress"==x&&null==_?t.removeAttribute("value"):void 0!==_&&(_!==t[a]||"progress"==x&&!_||"option"==x&&_!==b[a])&&j(t,a,_,b[a],o),a="checked",void 0!==m&&m!==t[a]&&j(t,a,m,b[a],o))}return t}function q(n,t,u){try{if("function"==typeof n){var i="function"==typeof n.__u;i&&n.__u(),i&&null==t||(n.__u=n(t))}else n.current=t}catch(n){l.__e(n,u)}}function B(n,t,u){var i,r;if(l.unmount&&l.unmount(n),(i=n.ref)&&(i.current&&i.current!==n.__e||q(i,null,t)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(n){l.__e(n,t)}i.base=i.__P=null}if(i=n.__k)for(r=0;r<i.length;r++)i[r]&&B(i[r],t,u||"function"!=typeof n.type);u||g(n.__e),n.__c=n.__=n.__e=void 0}function D(n,l,t){return this.constructor(n,t)}function E(t,u,i){var r,o,e,f;u==document&&(u=document.documentElement),l.__&&l.__(t,u),o=(r="function"==typeof i)?null:i&&i.__k||u.__k,e=[],f=[],O(u,t=(!r&&i||u).__k=_(k,null,[t]),o||p,p,u.namespaceURI,!r&&i?[i]:o?null:u.firstChild?n.call(u.childNodes):null,e,!r&&i?i:o?o.__e:u.firstChild,r,f),z(e,t,f)}function G(n,l){E(n,l,G)}function J(l,t,u){var i,r,o,e,f=w({},l.props);for(o in l.type&&l.type.defaultProps&&(e=l.type.defaultProps),t)"key"==o?i=t[o]:"ref"==o?r=t[o]:f[o]=void 0===t[o]&&void 0!==e?e[o]:t[o];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):u),m(l.type,f,i||l.key,r||l.ref,null)}function K(n){function l(n){var t,u;return this.getChildContext||(t=new Set,(u={})[l.__c]=this,this.getChildContext=function(){return u},this.componentWillUnmount=function(){t=null},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&t.forEach(function(n){n.__e=!0,M(n)})},this.sub=function(n){t.add(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){t&&t.delete(n),l&&l.call(n)}}),n.children}return l.__c="__cC"+h++,l.__=n,l.Provider=l.__l=(l.Consumer=function(n,l){return n.children(l)}).contextType=l,l}n=v.slice,l={__e:function(n,l,t,u){for(var i,r,o;l=l.__;)if((i=l.__c)&&!i.__)try{if((r=i.constructor)&&null!=r.getDerivedStateFromError&&(i.setState(r.getDerivedStateFromError(n)),o=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,u||{}),o=i.__d),o)return i.__E=i}catch(l){n=l}throw n}},t=0,u=function(n){return null!=n&&null==n.constructor},x.prototype.setState=function(n,l){var t;t=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=w({},this.state),"function"==typeof n&&(n=n(w({},t),this.props)),n&&w(t,n),null!=n&&this.__v&&(l&&this._sb.push(l),M(this))},x.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),M(this))},x.prototype.render=k,i=[],o="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,e=function(n,l){return n.__v.__b-l.__v.__b},$.__r=0,f=/(PointerCapture)$|Capture$/i,c=0,s=F(!1),a=F(!0),h=0;\n//# sourceMappingURL=preact.module.js.map\n\n;// ./node_modules/preact/hooks/dist/hooks.module.js\nvar hooks_module_t,hooks_module_r,hooks_module_u,hooks_module_i,hooks_module_o=0,hooks_module_f=[],hooks_module_c=l,hooks_module_e=hooks_module_c.__b,hooks_module_a=hooks_module_c.__r,hooks_module_v=hooks_module_c.diffed,hooks_module_l=hooks_module_c.__c,hooks_module_m=hooks_module_c.unmount,hooks_module_s=hooks_module_c.__;function hooks_module_p(n,t){hooks_module_c.__h&&hooks_module_c.__h(hooks_module_r,n,hooks_module_o||t),hooks_module_o=0;var u=hooks_module_r.__H||(hooks_module_r.__H={__:[],__h:[]});return n>=u.__.length&&u.__.push({}),u.__[n]}function hooks_module_d(n){return hooks_module_o=1,hooks_module_h(hooks_module_D,n)}function hooks_module_h(n,u,i){var o=hooks_module_p(hooks_module_t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):hooks_module_D(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}))}],o.__c=hooks_module_r,!hooks_module_r.__f)){var f=function(n,t,r){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(n){return!!n.__c});if(u.every(function(n){return!n.__N}))return!c||c.call(this,n,t,r);var i=o.__c.props!==n;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0)}}),c&&c.call(this,n,t,r)||i};hooks_module_r.__f=!0;var c=hooks_module_r.shouldComponentUpdate,e=hooks_module_r.componentWillUpdate;hooks_module_r.componentWillUpdate=function(n,t,r){if(this.__e){var u=c;c=void 0,f(n,t,r),c=u}e&&e.call(this,n,t,r)},hooks_module_r.shouldComponentUpdate=f}return o.__N||o.__}function hooks_module_y(n,u){var i=hooks_module_p(hooks_module_t++,3);!hooks_module_c.__s&&hooks_module_C(i.__H,u)&&(i.__=n,i.u=u,hooks_module_r.__H.__h.push(i))}function hooks_module_(n,u){var i=hooks_module_p(hooks_module_t++,4);!hooks_module_c.__s&&hooks_module_C(i.__H,u)&&(i.__=n,i.u=u,hooks_module_r.__h.push(i))}function hooks_module_A(n){return hooks_module_o=5,hooks_module_T(function(){return{current:n}},[])}function hooks_module_F(n,t,r){hooks_module_o=6,hooks_module_(function(){if("function"==typeof n){var r=n(t());return function(){n(null),r&&"function"==typeof r&&r()}}if(n)return n.current=t(),function(){return n.current=null}},null==r?r:r.concat(n))}function hooks_module_T(n,r){var u=hooks_module_p(hooks_module_t++,7);return hooks_module_C(u.__H,r)&&(u.__=n(),u.__H=r,u.__h=n),u.__}function hooks_module_q(n,t){return hooks_module_o=8,hooks_module_T(function(){return n},t)}function hooks_module_x(n){var u=hooks_module_r.context[n.__c],i=hooks_module_p(hooks_module_t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(hooks_module_r)),u.props.value):n.__}function hooks_module_P(n,t){hooks_module_c.useDebugValue&&hooks_module_c.useDebugValue(t?t(n):n)}function hooks_module_b(n){var u=hooks_module_p(hooks_module_t++,10),i=hooks_module_d();return u.__=n,hooks_module_r.componentDidCatch||(hooks_module_r.componentDidCatch=function(n,t){u.__&&u.__(n,t),i[1](n)}),[i[0],function(){i[1](void 0)}]}function hooks_module_g(){var n=hooks_module_p(hooks_module_t++,11);if(!n.__){for(var u=hooks_module_r.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;var i=u.__m||(u.__m=[0,0]);n.__="P"+i[0]+"-"+i[1]++}return n.__}function hooks_module_j(){for(var n;n=hooks_module_f.shift();)if(n.__P&&n.__H)try{n.__H.__h.forEach(hooks_module_z),n.__H.__h.forEach(hooks_module_B),n.__H.__h=[]}catch(t){n.__H.__h=[],hooks_module_c.__e(t,n.__v)}}hooks_module_c.__b=function(n){hooks_module_r=null,hooks_module_e&&hooks_module_e(n)},hooks_module_c.__=function(n,t){n&&t.__k&&t.__k.__m&&(n.__m=t.__k.__m),hooks_module_s&&hooks_module_s(n,t)},hooks_module_c.__r=function(n){hooks_module_a&&hooks_module_a(n),hooks_module_t=0;var i=(hooks_module_r=n.__c).__H;i&&(hooks_module_u===hooks_module_r?(i.__h=[],hooks_module_r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(i.__h.forEach(hooks_module_z),i.__h.forEach(hooks_module_B),i.__h=[],hooks_module_t=0)),hooks_module_u=hooks_module_r},hooks_module_c.diffed=function(n){hooks_module_v&&hooks_module_v(n);var t=n.__c;t&&t.__H&&(t.__H.__h.length&&(1!==hooks_module_f.push(t)&&hooks_module_i===hooks_module_c.requestAnimationFrame||((hooks_module_i=hooks_module_c.requestAnimationFrame)||hooks_module_w)(hooks_module_j)),t.__H.__.forEach(function(n){n.u&&(n.__H=n.u),n.u=void 0})),hooks_module_u=hooks_module_r=null},hooks_module_c.__c=function(n,t){t.some(function(n){try{n.__h.forEach(hooks_module_z),n.__h=n.__h.filter(function(n){return!n.__||hooks_module_B(n)})}catch(r){t.some(function(n){n.__h&&(n.__h=[])}),t=[],hooks_module_c.__e(r,n.__v)}}),hooks_module_l&&hooks_module_l(n,t)},hooks_module_c.unmount=function(n){hooks_module_m&&hooks_module_m(n);var t,r=n.__c;r&&r.__H&&(r.__H.__.forEach(function(n){try{hooks_module_z(n)}catch(n){t=n}}),r.__H=void 0,t&&hooks_module_c.__e(t,r.__v))};var hooks_module_k="function"==typeof requestAnimationFrame;function hooks_module_w(n){var t,r=function(){clearTimeout(u),hooks_module_k&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,100);hooks_module_k&&(t=requestAnimationFrame(r))}function hooks_module_z(n){var t=hooks_module_r,u=n.__c;"function"==typeof u&&(n.__c=void 0,u()),hooks_module_r=t}function hooks_module_B(n){var t=hooks_module_r;n.__c=n.__(),hooks_module_r=t}function hooks_module_C(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function hooks_module_D(n,t){return"function"==typeof t?t(n):t}\n//# sourceMappingURL=hooks.module.js.map\n\n;// ./node_modules/preact/compat/dist/compat.module.js\nfunction compat_module_g(n,t){for(var e in t)n[e]=t[e];return n}function compat_module_E(n,t){for(var e in n)if("__source"!==e&&!(e in t))return!0;for(var r in t)if("__source"!==r&&n[r]!==t[r])return!0;return!1}function compat_module_C(n,t){var e=t(),r=hooks_module_d({t:{__:e,u:t}}),u=r[0].t,o=r[1];return hooks_module_(function(){u.__=e,u.u=t,compat_module_x(u)&&o({t:u})},[n,e,t]),hooks_module_y(function(){return compat_module_x(u)&&o({t:u}),n(function(){compat_module_x(u)&&o({t:u})})},[n]),e}function compat_module_x(n){var t,e,r=n.u,u=n.__;try{var o=r();return!((t=u)===(e=o)&&(0!==t||1/t==1/e)||t!=t&&e!=e)}catch(n){return!0}}function R(n){n()}function compat_module_w(n){return n}function compat_module_k(){return[!1,R]}var compat_module_I=hooks_module_;function compat_module_N(n,t){this.props=n,this.context=t}function compat_module_M(n,e){function r(n){var t=this.props.ref,r=t==n.ref;return!r&&t&&(t.call?t(null):t.current=null),e?!e(this.props,n)||!r:compat_module_E(this.props,n)}function u(e){return this.shouldComponentUpdate=r,_(n,e)}return u.displayName="Memo("+(n.displayName||n.name)+")",u.prototype.isReactComponent=!0,u.__f=!0,u}(compat_module_N.prototype=new x).isPureReactComponent=!0,compat_module_N.prototype.shouldComponentUpdate=function(n,t){return compat_module_E(this.props,n)||compat_module_E(this.state,t)};var compat_module_T=l.__b;l.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),compat_module_T&&compat_module_T(n)};var compat_module_A="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function compat_module_D(n){function t(t){var e=compat_module_g({},t);return delete e.ref,n(e,t.ref||null)}return t.$$typeof=compat_module_A,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(n.displayName||n.name)+")",t}var compat_module_L=function(n,t){return null==n?null:H(H(n).map(t))},compat_module_O={map:compat_module_L,forEach:compat_module_L,count:function(n){return n?H(n).length:0},only:function(n){var t=H(n);if(1!==t.length)throw"Children.only";return t[0]},toArray:H},compat_module_F=l.__e;l.__e=function(n,t,e,r){if(n.then)for(var u,o=t;o=o.__;)if((u=o.__c)&&u.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),u.__c(n,t);compat_module_F(n,t,e,r)};var U=l.unmount;function compat_module_V(n,t,e){return n&&(n.__c&&n.__c.__H&&(n.__c.__H.__.forEach(function(n){"function"==typeof n.__c&&n.__c()}),n.__c.__H=null),null!=(n=compat_module_g({},n)).__c&&(n.__c.__P===e&&(n.__c.__P=t),n.__c=null),n.__k=n.__k&&n.__k.map(function(n){return compat_module_V(n,t,e)})),n}function W(n,t,e){return n&&e&&(n.__v=null,n.__k=n.__k&&n.__k.map(function(n){return W(n,t,e)}),n.__c&&n.__c.__P===t&&(n.__e&&e.appendChild(n.__e),n.__c.__e=!0,n.__c.__P=e)),n}function compat_module_P(){this.__u=0,this.o=null,this.__b=null}function compat_module_j(n){var t=n.__.__c;return t&&t.__a&&t.__a(n)}function compat_module_z(n){var e,r,u;function o(o){if(e||(e=n()).then(function(n){r=n.default||n},function(n){u=n}),u)throw u;if(!r)throw e;return _(r,o)}return o.displayName="Lazy",o.__f=!0,o}function compat_module_B(){this.i=null,this.l=null}l.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&32&n.__u&&(n.type=null),U&&U(n)},(compat_module_P.prototype=new x).__c=function(n,t){var e=t.__c,r=this;null==r.o&&(r.o=[]),r.o.push(e);var u=compat_module_j(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(c):c())};e.__R=i;var c=function(){if(!--r.__u){if(r.state.__a){var n=r.state.__a;r.__v.__k[0]=W(n,n.__c.__P,n.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.o.pop();)t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),n.then(i,i)},compat_module_P.prototype.componentWillUnmount=function(){this.o=[]},compat_module_P.prototype.render=function(n,e){if(this.__b){if(this.__v.__k){var r=document.createElement("div"),o=this.__v.__k[0].__c;this.__v.__k[0]=compat_module_V(this.__b,r,o.__O=o.__P)}this.__b=null}var i=e.__a&&_(k,null,n.fallback);return i&&(i.__u&=-33),[_(k,null,e.__a?null:n.children),i]};var compat_module_H=function(n,t,e){if(++e[1]===e[0]&&n.l.delete(t),n.props.revealOrder&&("t"!==n.props.revealOrder[0]||!n.l.size))for(e=n.i;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.i=e=e[2]}};function Z(n){return this.getChildContext=function(){return n.context},n.children}function Y(n){var e=this,r=n.h;e.componentWillUnmount=function(){E(null,e.v),e.v=null,e.h=null},e.h&&e.h!==r&&e.componentWillUnmount(),e.v||(e.h=r,e.v={nodeType:1,parentNode:r,childNodes:[],contains:function(){return!0},appendChild:function(n){this.childNodes.push(n),e.h.appendChild(n)},insertBefore:function(n,t){this.childNodes.push(n),e.h.insertBefore(n,t)},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),e.h.removeChild(n)}}),E(_(Z,{context:e.context},n.__v),e.v)}function compat_module_$(n,e){var r=_(Y,{__v:n,h:e});return r.containerInfo=e,r}(compat_module_B.prototype=new x).__a=function(n){var t=this,e=compat_module_j(t.__v),r=t.l.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),compat_module_H(t,n,r)):u()};e?e(o):o()}},compat_module_B.prototype.render=function(n){this.i=null,this.l=new Map;var t=H(n.children);n.revealOrder&&"b"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.l.set(t[e],this.i=[1,0,this.i]);return n.children},compat_module_B.prototype.componentDidUpdate=compat_module_B.prototype.componentDidMount=function(){var n=this;this.l.forEach(function(t,e){compat_module_H(n,e,t)})};var compat_module_q="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,compat_module_G=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,compat_module_J=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,compat_module_K=/[A-Z0-9]/g,Q="undefined"!=typeof document,X=function(n){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(n)};function nn(n,t,e){return null==t.__k&&(t.textContent=""),E(n,t),"function"==typeof e&&e(),n?n.__c:null}function tn(n,t,e){return G(n,t),"function"==typeof e&&e(),n?n.__c:null}x.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(x.prototype,t,{configurable:!0,get:function(){return this["UNSAFE_"+t]},set:function(n){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:n})}})});var en=l.event;function rn(){}function un(){return this.cancelBubble}function on(){return this.defaultPrevented}l.event=function(n){return en&&(n=en(n)),n.persist=rn,n.isPropagationStopped=un,n.isDefaultPrevented=on,n.nativeEvent=n};var cn,ln={enumerable:!1,configurable:!0,get:function(){return this.class}},fn=l.vnode;l.vnode=function(n){"string"==typeof n.type&&function(n){var t=n.props,e=n.type,u={},o=-1===e.indexOf("-");for(var i in t){var c=t[i];if(!("value"===i&&"defaultValue"in t&&null==c||Q&&"children"===i&&"noscript"===e||"class"===i||"className"===i)){var l=i.toLowerCase();"defaultValue"===i&&"value"in t&&null==t.value?i="value":"download"===i&&!0===c?c="":"translate"===l&&"no"===c?c=!1:"o"===l[0]&&"n"===l[1]?"ondoubleclick"===l?i="ondblclick":"onchange"!==l||"input"!==e&&"textarea"!==e||X(t.type)?"onfocus"===l?i="onfocusin":"onblur"===l?i="onfocusout":compat_module_J.test(i)&&(i=l):l=i="oninput":o&&compat_module_G.test(i)?i=i.replace(compat_module_K,"-$&").toLowerCase():null===c&&(c=void 0),"oninput"===l&&u[i=l]&&(i="oninputCapture"),u[i]=c}}"select"==e&&u.multiple&&Array.isArray(u.value)&&(u.value=H(t.children).forEach(function(n){n.props.selected=-1!=u.value.indexOf(n.props.value)})),"select"==e&&null!=u.defaultValue&&(u.value=H(t.children).forEach(function(n){n.props.selected=u.multiple?-1!=u.defaultValue.indexOf(n.props.value):u.defaultValue==n.props.value})),t.class&&!t.className?(u.class=t.class,Object.defineProperty(u,"className",ln)):(t.className&&!t.class||t.class&&t.className)&&(u.class=u.className=t.className),n.props=u}(n),n.$$typeof=compat_module_q,fn&&fn(n)};var an=l.__r;l.__r=function(n){an&&an(n),cn=n.__c};var sn=l.diffed;l.diffed=function(n){sn&&sn(n);var t=n.props,e=n.__e;null!=e&&"textarea"===n.type&&"value"in t&&t.value!==e.value&&(e.value=null==t.value?"":t.value),cn=null};var hn={ReactCurrentDispatcher:{current:{readContext:function(n){return cn.__n[n.__c].props.value},useCallback:hooks_module_q,useContext:hooks_module_x,useDebugValue:hooks_module_P,useDeferredValue:compat_module_w,useEffect:hooks_module_y,useId:hooks_module_g,useImperativeHandle:hooks_module_F,useInsertionEffect:compat_module_I,useLayoutEffect:hooks_module_,useMemo:hooks_module_T,useReducer:hooks_module_h,useRef:hooks_module_A,useState:hooks_module_d,useSyncExternalStore:compat_module_C,useTransition:compat_module_k}}},vn="18.3.1";function dn(n){return _.bind(null,n)}function pn(n){return!!n&&n.$$typeof===compat_module_q}function mn(n){return pn(n)&&n.type===k}function yn(n){return!!n&&!!n.displayName&&("string"==typeof n.displayName||n.displayName instanceof String)&&n.displayName.startsWith("Memo(")}function _n(n){return pn(n)?J.apply(null,arguments):n}function bn(n){return!!n.__k&&(E(null,n),!0)}function Sn(n){return n&&(n.base||1===n.nodeType&&n)||null}var gn=function(n,t){return n(t)},En=function(n,t){return n(t)},Cn=k,xn=pn,Rn={useState:hooks_module_d,useId:hooks_module_g,useReducer:hooks_module_h,useEffect:hooks_module_y,useLayoutEffect:hooks_module_,useInsertionEffect:compat_module_I,useTransition:compat_module_k,useDeferredValue:compat_module_w,useSyncExternalStore:compat_module_C,startTransition:R,useRef:hooks_module_A,useImperativeHandle:hooks_module_F,useMemo:hooks_module_T,useCallback:hooks_module_q,useContext:hooks_module_x,useDebugValue:hooks_module_P,version:"18.3.1",Children:compat_module_O,render:nn,hydrate:tn,unmountComponentAtNode:bn,createPortal:compat_module_$,createElement:_,createContext:K,createFactory:dn,cloneElement:_n,createRef:b,Fragment:k,isValidElement:pn,isElement:xn,isFragment:mn,isMemo:yn,findDOMNode:Sn,Component:x,PureComponent:compat_module_N,memo:compat_module_M,forwardRef:compat_module_D,flushSync:En,unstable_batchedUpdates:gn,StrictMode:Cn,Suspense:compat_module_P,SuspenseList:compat_module_B,lazy:compat_module_z,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:hn};\n//# sourceMappingURL=compat.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFDLGVBQWUsQ0FBQyw0Q0FBNEMsQ0FBQyxVQUFVLENBQUMsaUZBQWlGLENBQUMsZUFBZSxlQUFDLE1BQU0sZUFBQyxZQUFZLGVBQUMsZ0VBQWdFLGVBQUMsY0FBYyxlQUFDLE1BQU0sZUFBQyx3REFBK21CO0FBQ2g1VCIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL3ByZWFjdC9kaXN0L3ByZWFjdC5tb2R1bGUuanM/ZGE2NSIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9wcmVhY3QvaG9va3MvZGlzdC9ob29rcy5tb2R1bGUuanM/MzBlYyIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9wcmVhY3QvY29tcGF0L2Rpc3QvY29tcGF0Lm1vZHVsZS5qcz8xNWQxIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBuLGwsdCx1LGkscixvLGUsZixjLHMsYSxoLHA9e30sdj1bXSx5PS9hY2l0fGV4KD86c3xnfG58cHwkKXxycGh8Z3JpZHxvd3N8bW5jfG50d3xpbmVbY2hdfHpvb3xeb3JkfGl0ZXJhL2ksZD1BcnJheS5pc0FycmF5O2Z1bmN0aW9uIHcobixsKXtmb3IodmFyIHQgaW4gbCluW3RdPWxbdF07cmV0dXJuIG59ZnVuY3Rpb24gZyhuKXtuJiZuLnBhcmVudE5vZGUmJm4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKX1mdW5jdGlvbiBfKGwsdCx1KXt2YXIgaSxyLG8sZT17fTtmb3IobyBpbiB0KVwia2V5XCI9PW8/aT10W29dOlwicmVmXCI9PW8/cj10W29dOmVbb109dFtvXTtpZihhcmd1bWVudHMubGVuZ3RoPjImJihlLmNoaWxkcmVuPWFyZ3VtZW50cy5sZW5ndGg+Mz9uLmNhbGwoYXJndW1lbnRzLDIpOnUpLFwiZnVuY3Rpb25cIj09dHlwZW9mIGwmJm51bGwhPWwuZGVmYXVsdFByb3BzKWZvcihvIGluIGwuZGVmYXVsdFByb3BzKXZvaWQgMD09PWVbb10mJihlW29dPWwuZGVmYXVsdFByb3BzW29dKTtyZXR1cm4gbShsLGUsaSxyLG51bGwpfWZ1bmN0aW9uIG0obix1LGkscixvKXt2YXIgZT17dHlwZTpuLHByb3BzOnUsa2V5OmkscmVmOnIsX19rOm51bGwsX186bnVsbCxfX2I6MCxfX2U6bnVsbCxfX2M6bnVsbCxjb25zdHJ1Y3Rvcjp2b2lkIDAsX192Om51bGw9PW8/Kyt0Om8sX19pOi0xLF9fdTowfTtyZXR1cm4gbnVsbD09byYmbnVsbCE9bC52bm9kZSYmbC52bm9kZShlKSxlfWZ1bmN0aW9uIGIoKXtyZXR1cm57Y3VycmVudDpudWxsfX1mdW5jdGlvbiBrKG4pe3JldHVybiBuLmNoaWxkcmVufWZ1bmN0aW9uIHgobixsKXt0aGlzLnByb3BzPW4sdGhpcy5jb250ZXh0PWx9ZnVuY3Rpb24gUyhuLGwpe2lmKG51bGw9PWwpcmV0dXJuIG4uX18/UyhuLl9fLG4uX19pKzEpOm51bGw7Zm9yKHZhciB0O2w8bi5fX2subGVuZ3RoO2wrKylpZihudWxsIT0odD1uLl9fa1tsXSkmJm51bGwhPXQuX19lKXJldHVybiB0Ll9fZTtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiBuLnR5cGU/UyhuKTpudWxsfWZ1bmN0aW9uIEMobil7dmFyIGwsdDtpZihudWxsIT0obj1uLl9fKSYmbnVsbCE9bi5fX2Mpe2ZvcihuLl9fZT1uLl9fYy5iYXNlPW51bGwsbD0wO2w8bi5fX2subGVuZ3RoO2wrKylpZihudWxsIT0odD1uLl9fa1tsXSkmJm51bGwhPXQuX19lKXtuLl9fZT1uLl9fYy5iYXNlPXQuX19lO2JyZWFrfXJldHVybiBDKG4pfX1mdW5jdGlvbiBNKG4peyghbi5fX2QmJihuLl9fZD0hMCkmJmkucHVzaChuKSYmISQuX19yKyt8fHIhPT1sLmRlYm91bmNlUmVuZGVyaW5nKSYmKChyPWwuZGVib3VuY2VSZW5kZXJpbmcpfHxvKSgkKX1mdW5jdGlvbiAkKCl7Zm9yKHZhciBuLHQsdSxyLG8sZixjLHM9MTtpLmxlbmd0aDspaS5sZW5ndGg+cyYmaS5zb3J0KGUpLG49aS5zaGlmdCgpLHM9aS5sZW5ndGgsbi5fX2QmJih1PXZvaWQgMCxvPShyPSh0PW4pLl9fdikuX19lLGY9W10sYz1bXSx0Ll9fUCYmKCh1PXcoe30scikpLl9fdj1yLl9fdisxLGwudm5vZGUmJmwudm5vZGUodSksTyh0Ll9fUCx1LHIsdC5fX24sdC5fX1AubmFtZXNwYWNlVVJJLDMyJnIuX191P1tvXTpudWxsLGYsbnVsbD09bz9TKHIpOm8sISEoMzImci5fX3UpLGMpLHUuX192PXIuX192LHUuX18uX19rW3UuX19pXT11LHooZix1LGMpLHUuX19lIT1vJiZDKHUpKSk7JC5fX3I9MH1mdW5jdGlvbiBJKG4sbCx0LHUsaSxyLG8sZSxmLGMscyl7dmFyIGEsaCx5LGQsdyxnLF89dSYmdS5fX2t8fHYsbT1sLmxlbmd0aDtmb3IoZj1QKHQsbCxfLGYsbSksYT0wO2E8bTthKyspbnVsbCE9KHk9dC5fX2tbYV0pJiYoaD0tMT09PXkuX19pP3A6X1t5Ll9faV18fHAseS5fX2k9YSxnPU8obix5LGgsaSxyLG8sZSxmLGMscyksZD15Ll9fZSx5LnJlZiYmaC5yZWYhPXkucmVmJiYoaC5yZWYmJnEoaC5yZWYsbnVsbCx5KSxzLnB1c2goeS5yZWYseS5fX2N8fGQseSkpLG51bGw9PXcmJm51bGwhPWQmJih3PWQpLDQmeS5fX3V8fGguX19rPT09eS5fX2s/Zj1BKHksZixuKTpcImZ1bmN0aW9uXCI9PXR5cGVvZiB5LnR5cGUmJnZvaWQgMCE9PWc/Zj1nOmQmJihmPWQubmV4dFNpYmxpbmcpLHkuX191Jj0tNyk7cmV0dXJuIHQuX19lPXcsZn1mdW5jdGlvbiBQKG4sbCx0LHUsaSl7dmFyIHIsbyxlLGYsYyxzPXQubGVuZ3RoLGE9cyxoPTA7Zm9yKG4uX19rPW5ldyBBcnJheShpKSxyPTA7cjxpO3IrKyludWxsIT0obz1sW3JdKSYmXCJib29sZWFuXCIhPXR5cGVvZiBvJiZcImZ1bmN0aW9uXCIhPXR5cGVvZiBvPyhmPXIraCwobz1uLl9fa1tyXT1cInN0cmluZ1wiPT10eXBlb2Ygb3x8XCJudW1iZXJcIj09dHlwZW9mIG98fFwiYmlnaW50XCI9PXR5cGVvZiBvfHxvLmNvbnN0cnVjdG9yPT1TdHJpbmc/bShudWxsLG8sbnVsbCxudWxsLG51bGwpOmQobyk/bShrLHtjaGlsZHJlbjpvfSxudWxsLG51bGwsbnVsbCk6dm9pZCAwPT09by5jb25zdHJ1Y3RvciYmby5fX2I+MD9tKG8udHlwZSxvLnByb3BzLG8ua2V5LG8ucmVmP28ucmVmOm51bGwsby5fX3YpOm8pLl9fPW4sby5fX2I9bi5fX2IrMSxlPW51bGwsLTEhPT0oYz1vLl9faT1MKG8sdCxmLGEpKSYmKGEtLSwoZT10W2NdKSYmKGUuX191fD0yKSksbnVsbD09ZXx8bnVsbD09PWUuX192PygtMT09YyYmKGk+cz9oLS06aTxzJiZoKyspLFwiZnVuY3Rpb25cIiE9dHlwZW9mIG8udHlwZSYmKG8uX191fD00KSk6YyE9ZiYmKGM9PWYtMT9oLS06Yz09ZisxP2grKzooYz5mP2gtLTpoKyssby5fX3V8PTQpKSk6bi5fX2tbcl09bnVsbDtpZihhKWZvcihyPTA7cjxzO3IrKyludWxsIT0oZT10W3JdKSYmMD09KDImZS5fX3UpJiYoZS5fX2U9PXUmJih1PVMoZSkpLEIoZSxlKSk7cmV0dXJuIHV9ZnVuY3Rpb24gQShuLGwsdCl7dmFyIHUsaTtpZihcImZ1bmN0aW9uXCI9PXR5cGVvZiBuLnR5cGUpe2Zvcih1PW4uX19rLGk9MDt1JiZpPHUubGVuZ3RoO2krKyl1W2ldJiYodVtpXS5fXz1uLGw9QSh1W2ldLGwsdCkpO3JldHVybiBsfW4uX19lIT1sJiYobCYmbi50eXBlJiYhdC5jb250YWlucyhsKSYmKGw9UyhuKSksdC5pbnNlcnRCZWZvcmUobi5fX2UsbHx8bnVsbCksbD1uLl9fZSk7ZG97bD1sJiZsLm5leHRTaWJsaW5nfXdoaWxlKG51bGwhPWwmJjg9PWwubm9kZVR5cGUpO3JldHVybiBsfWZ1bmN0aW9uIEgobixsKXtyZXR1cm4gbD1sfHxbXSxudWxsPT1ufHxcImJvb2xlYW5cIj09dHlwZW9mIG58fChkKG4pP24uc29tZShmdW5jdGlvbihuKXtIKG4sbCl9KTpsLnB1c2gobikpLGx9ZnVuY3Rpb24gTChuLGwsdCx1KXt2YXIgaSxyLG89bi5rZXksZT1uLnR5cGUsZj1sW3RdO2lmKG51bGw9PT1mJiZudWxsPT1uLmtleXx8ZiYmbz09Zi5rZXkmJmU9PT1mLnR5cGUmJjA9PSgyJmYuX191KSlyZXR1cm4gdDtpZih1PihudWxsIT1mJiYwPT0oMiZmLl9fdSk/MTowKSlmb3IoaT10LTEscj10KzE7aT49MHx8cjxsLmxlbmd0aDspe2lmKGk+PTApe2lmKChmPWxbaV0pJiYwPT0oMiZmLl9fdSkmJm89PWYua2V5JiZlPT09Zi50eXBlKXJldHVybiBpO2ktLX1pZihyPGwubGVuZ3RoKXtpZigoZj1sW3JdKSYmMD09KDImZi5fX3UpJiZvPT1mLmtleSYmZT09PWYudHlwZSlyZXR1cm4gcjtyKyt9fXJldHVybi0xfWZ1bmN0aW9uIFQobixsLHQpe1wiLVwiPT1sWzBdP24uc2V0UHJvcGVydHkobCxudWxsPT10P1wiXCI6dCk6bltsXT1udWxsPT10P1wiXCI6XCJudW1iZXJcIiE9dHlwZW9mIHR8fHkudGVzdChsKT90OnQrXCJweFwifWZ1bmN0aW9uIGoobixsLHQsdSxpKXt2YXIgcjtuOmlmKFwic3R5bGVcIj09bClpZihcInN0cmluZ1wiPT10eXBlb2YgdCluLnN0eWxlLmNzc1RleHQ9dDtlbHNle2lmKFwic3RyaW5nXCI9PXR5cGVvZiB1JiYobi5zdHlsZS5jc3NUZXh0PXU9XCJcIiksdSlmb3IobCBpbiB1KXQmJmwgaW4gdHx8VChuLnN0eWxlLGwsXCJcIik7aWYodClmb3IobCBpbiB0KXUmJnRbbF09PT11W2xdfHxUKG4uc3R5bGUsbCx0W2xdKX1lbHNlIGlmKFwib1wiPT1sWzBdJiZcIm5cIj09bFsxXSlyPWwhPShsPWwucmVwbGFjZShmLFwiJDFcIikpLGw9bC50b0xvd2VyQ2FzZSgpaW4gbnx8XCJvbkZvY3VzT3V0XCI9PWx8fFwib25Gb2N1c0luXCI9PWw/bC50b0xvd2VyQ2FzZSgpLnNsaWNlKDIpOmwuc2xpY2UoMiksbi5sfHwobi5sPXt9KSxuLmxbbCtyXT10LHQ/dT90LnQ9dS50Oih0LnQ9YyxuLmFkZEV2ZW50TGlzdGVuZXIobCxyP2E6cyxyKSk6bi5yZW1vdmVFdmVudExpc3RlbmVyKGwscj9hOnMscik7ZWxzZXtpZihcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI9PWkpbD1sLnJlcGxhY2UoL3hsaW5rKEh8OmgpLyxcImhcIikucmVwbGFjZSgvc05hbWUkLyxcInNcIik7ZWxzZSBpZihcIndpZHRoXCIhPWwmJlwiaGVpZ2h0XCIhPWwmJlwiaHJlZlwiIT1sJiZcImxpc3RcIiE9bCYmXCJmb3JtXCIhPWwmJlwidGFiSW5kZXhcIiE9bCYmXCJkb3dubG9hZFwiIT1sJiZcInJvd1NwYW5cIiE9bCYmXCJjb2xTcGFuXCIhPWwmJlwicm9sZVwiIT1sJiZcInBvcG92ZXJcIiE9bCYmbCBpbiBuKXRyeXtuW2xdPW51bGw9PXQ/XCJcIjp0O2JyZWFrIG59Y2F0Y2gobil7fVwiZnVuY3Rpb25cIj09dHlwZW9mIHR8fChudWxsPT10fHwhMT09PXQmJlwiLVwiIT1sWzRdP24ucmVtb3ZlQXR0cmlidXRlKGwpOm4uc2V0QXR0cmlidXRlKGwsXCJwb3BvdmVyXCI9PWwmJjE9PXQ/XCJcIjp0KSl9fWZ1bmN0aW9uIEYobil7cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKHRoaXMubCl7dmFyIHU9dGhpcy5sW3QudHlwZStuXTtpZihudWxsPT10LnUpdC51PWMrKztlbHNlIGlmKHQudTx1LnQpcmV0dXJuO3JldHVybiB1KGwuZXZlbnQ/bC5ldmVudCh0KTp0KX19fWZ1bmN0aW9uIE8obix0LHUsaSxyLG8sZSxmLGMscyl7dmFyIGEsaCxwLHYseSxfLG0sYixTLEMsTSwkLFAsQSxILEwsVCxqPXQudHlwZTtpZih2b2lkIDAhPT10LmNvbnN0cnVjdG9yKXJldHVybiBudWxsOzEyOCZ1Ll9fdSYmKGM9ISEoMzImdS5fX3UpLG89W2Y9dC5fX2U9dS5fX2VdKSwoYT1sLl9fYikmJmEodCk7bjppZihcImZ1bmN0aW9uXCI9PXR5cGVvZiBqKXRyeXtpZihiPXQucHJvcHMsUz1cInByb3RvdHlwZVwiaW4gaiYmai5wcm90b3R5cGUucmVuZGVyLEM9KGE9ai5jb250ZXh0VHlwZSkmJmlbYS5fX2NdLE09YT9DP0MucHJvcHMudmFsdWU6YS5fXzppLHUuX19jP209KGg9dC5fX2M9dS5fX2MpLl9fPWguX19FOihTP3QuX19jPWg9bmV3IGooYixNKToodC5fX2M9aD1uZXcgeChiLE0pLGguY29uc3RydWN0b3I9aixoLnJlbmRlcj1EKSxDJiZDLnN1YihoKSxoLnByb3BzPWIsaC5zdGF0ZXx8KGguc3RhdGU9e30pLGguY29udGV4dD1NLGguX19uPWkscD1oLl9fZD0hMCxoLl9faD1bXSxoLl9zYj1bXSksUyYmbnVsbD09aC5fX3MmJihoLl9fcz1oLnN0YXRlKSxTJiZudWxsIT1qLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyYmKGguX19zPT1oLnN0YXRlJiYoaC5fX3M9dyh7fSxoLl9fcykpLHcoaC5fX3Msai5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMoYixoLl9fcykpKSx2PWgucHJvcHMseT1oLnN0YXRlLGguX192PXQscClTJiZudWxsPT1qLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyYmbnVsbCE9aC5jb21wb25lbnRXaWxsTW91bnQmJmguY29tcG9uZW50V2lsbE1vdW50KCksUyYmbnVsbCE9aC5jb21wb25lbnREaWRNb3VudCYmaC5fX2gucHVzaChoLmNvbXBvbmVudERpZE1vdW50KTtlbHNle2lmKFMmJm51bGw9PWouZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzJiZiIT09diYmbnVsbCE9aC5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZoLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoYixNKSwhaC5fX2UmJihudWxsIT1oLnNob3VsZENvbXBvbmVudFVwZGF0ZSYmITE9PT1oLnNob3VsZENvbXBvbmVudFVwZGF0ZShiLGguX19zLE0pfHx0Ll9fdj09dS5fX3YpKXtmb3IodC5fX3YhPXUuX192JiYoaC5wcm9wcz1iLGguc3RhdGU9aC5fX3MsaC5fX2Q9ITEpLHQuX19lPXUuX19lLHQuX19rPXUuX19rLHQuX19rLnNvbWUoZnVuY3Rpb24obil7biYmKG4uX189dCl9KSwkPTA7JDxoLl9zYi5sZW5ndGg7JCsrKWguX19oLnB1c2goaC5fc2JbJF0pO2guX3NiPVtdLGguX19oLmxlbmd0aCYmZS5wdXNoKGgpO2JyZWFrIG59bnVsbCE9aC5jb21wb25lbnRXaWxsVXBkYXRlJiZoLmNvbXBvbmVudFdpbGxVcGRhdGUoYixoLl9fcyxNKSxTJiZudWxsIT1oLmNvbXBvbmVudERpZFVwZGF0ZSYmaC5fX2gucHVzaChmdW5jdGlvbigpe2guY29tcG9uZW50RGlkVXBkYXRlKHYseSxfKX0pfWlmKGguY29udGV4dD1NLGgucHJvcHM9YixoLl9fUD1uLGguX19lPSExLFA9bC5fX3IsQT0wLFMpe2ZvcihoLnN0YXRlPWguX19zLGguX19kPSExLFAmJlAodCksYT1oLnJlbmRlcihoLnByb3BzLGguc3RhdGUsaC5jb250ZXh0KSxIPTA7SDxoLl9zYi5sZW5ndGg7SCsrKWguX19oLnB1c2goaC5fc2JbSF0pO2guX3NiPVtdfWVsc2UgZG97aC5fX2Q9ITEsUCYmUCh0KSxhPWgucmVuZGVyKGgucHJvcHMsaC5zdGF0ZSxoLmNvbnRleHQpLGguc3RhdGU9aC5fX3N9d2hpbGUoaC5fX2QmJisrQTwyNSk7aC5zdGF0ZT1oLl9fcyxudWxsIT1oLmdldENoaWxkQ29udGV4dCYmKGk9dyh3KHt9LGkpLGguZ2V0Q2hpbGRDb250ZXh0KCkpKSxTJiYhcCYmbnVsbCE9aC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSYmKF89aC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSh2LHkpKSxMPWEsbnVsbCE9YSYmYS50eXBlPT09ayYmbnVsbD09YS5rZXkmJihMPU4oYS5wcm9wcy5jaGlsZHJlbikpLGY9SShuLGQoTCk/TDpbTF0sdCx1LGkscixvLGUsZixjLHMpLGguYmFzZT10Ll9fZSx0Ll9fdSY9LTE2MSxoLl9faC5sZW5ndGgmJmUucHVzaChoKSxtJiYoaC5fX0U9aC5fXz1udWxsKX1jYXRjaChuKXtpZih0Ll9fdj1udWxsLGN8fG51bGwhPW8paWYobi50aGVuKXtmb3IodC5fX3V8PWM/MTYwOjEyODtmJiY4PT1mLm5vZGVUeXBlJiZmLm5leHRTaWJsaW5nOylmPWYubmV4dFNpYmxpbmc7b1tvLmluZGV4T2YoZildPW51bGwsdC5fX2U9Zn1lbHNlIGZvcihUPW8ubGVuZ3RoO1QtLTspZyhvW1RdKTtlbHNlIHQuX19lPXUuX19lLHQuX19rPXUuX19rO2wuX19lKG4sdCx1KX1lbHNlIG51bGw9PW8mJnQuX192PT11Ll9fdj8odC5fX2s9dS5fX2ssdC5fX2U9dS5fX2UpOmY9dC5fX2U9Vih1Ll9fZSx0LHUsaSxyLG8sZSxjLHMpO3JldHVybihhPWwuZGlmZmVkKSYmYSh0KSwxMjgmdC5fX3U/dm9pZCAwOmZ9ZnVuY3Rpb24geihuLHQsdSl7Zm9yKHZhciBpPTA7aTx1Lmxlbmd0aDtpKyspcSh1W2ldLHVbKytpXSx1WysraV0pO2wuX19jJiZsLl9fYyh0LG4pLG4uc29tZShmdW5jdGlvbih0KXt0cnl7bj10Ll9faCx0Ll9faD1bXSxuLnNvbWUoZnVuY3Rpb24obil7bi5jYWxsKHQpfSl9Y2F0Y2gobil7bC5fX2Uobix0Ll9fdil9fSl9ZnVuY3Rpb24gTihuKXtyZXR1cm5cIm9iamVjdFwiIT10eXBlb2Ygbnx8bnVsbD09bj9uOmQobik/bi5tYXAoTik6dyh7fSxuKX1mdW5jdGlvbiBWKHQsdSxpLHIsbyxlLGYsYyxzKXt2YXIgYSxoLHYseSx3LF8sbSxiPWkucHJvcHMsaz11LnByb3BzLHg9dS50eXBlO2lmKFwic3ZnXCI9PXg/bz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI6XCJtYXRoXCI9PXg/bz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUxcIjpvfHwobz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWxcIiksbnVsbCE9ZSlmb3IoYT0wO2E8ZS5sZW5ndGg7YSsrKWlmKCh3PWVbYV0pJiZcInNldEF0dHJpYnV0ZVwiaW4gdz09ISF4JiYoeD93LmxvY2FsTmFtZT09eDozPT13Lm5vZGVUeXBlKSl7dD13LGVbYV09bnVsbDticmVha31pZihudWxsPT10KXtpZihudWxsPT14KXJldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShrKTt0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhvLHgsay5pcyYmayksYyYmKGwuX19tJiZsLl9fbSh1LGUpLGM9ITEpLGU9bnVsbH1pZihudWxsPT09eCliPT09a3x8YyYmdC5kYXRhPT09a3x8KHQuZGF0YT1rKTtlbHNle2lmKGU9ZSYmbi5jYWxsKHQuY2hpbGROb2RlcyksYj1pLnByb3BzfHxwLCFjJiZudWxsIT1lKWZvcihiPXt9LGE9MDthPHQuYXR0cmlidXRlcy5sZW5ndGg7YSsrKWJbKHc9dC5hdHRyaWJ1dGVzW2FdKS5uYW1lXT13LnZhbHVlO2ZvcihhIGluIGIpaWYodz1iW2FdLFwiY2hpbGRyZW5cIj09YSk7ZWxzZSBpZihcImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MXCI9PWEpdj13O2Vsc2UgaWYoIShhIGluIGspKXtpZihcInZhbHVlXCI9PWEmJlwiZGVmYXVsdFZhbHVlXCJpbiBrfHxcImNoZWNrZWRcIj09YSYmXCJkZWZhdWx0Q2hlY2tlZFwiaW4gayljb250aW51ZTtqKHQsYSxudWxsLHcsbyl9Zm9yKGEgaW4gayl3PWtbYV0sXCJjaGlsZHJlblwiPT1hP3k9dzpcImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MXCI9PWE/aD13OlwidmFsdWVcIj09YT9fPXc6XCJjaGVja2VkXCI9PWE/bT13OmMmJlwiZnVuY3Rpb25cIiE9dHlwZW9mIHd8fGJbYV09PT13fHxqKHQsYSx3LGJbYV0sbyk7aWYoaCljfHx2JiYoaC5fX2h0bWw9PT12Ll9faHRtbHx8aC5fX2h0bWw9PT10LmlubmVySFRNTCl8fCh0LmlubmVySFRNTD1oLl9faHRtbCksdS5fX2s9W107ZWxzZSBpZih2JiYodC5pbm5lckhUTUw9XCJcIiksSShcInRlbXBsYXRlXCI9PT11LnR5cGU/dC5jb250ZW50OnQsZCh5KT95Olt5XSx1LGkscixcImZvcmVpZ25PYmplY3RcIj09eD9cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWxcIjpvLGUsZixlP2VbMF06aS5fX2smJlMoaSwwKSxjLHMpLG51bGwhPWUpZm9yKGE9ZS5sZW5ndGg7YS0tOylnKGVbYV0pO2N8fChhPVwidmFsdWVcIixcInByb2dyZXNzXCI9PXgmJm51bGw9PV8/dC5yZW1vdmVBdHRyaWJ1dGUoXCJ2YWx1ZVwiKTp2b2lkIDAhPT1fJiYoXyE9PXRbYV18fFwicHJvZ3Jlc3NcIj09eCYmIV98fFwib3B0aW9uXCI9PXgmJl8hPT1iW2FdKSYmaih0LGEsXyxiW2FdLG8pLGE9XCJjaGVja2VkXCIsdm9pZCAwIT09bSYmbSE9PXRbYV0mJmoodCxhLG0sYlthXSxvKSl9cmV0dXJuIHR9ZnVuY3Rpb24gcShuLHQsdSl7dHJ5e2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIG4pe3ZhciBpPVwiZnVuY3Rpb25cIj09dHlwZW9mIG4uX191O2kmJm4uX191KCksaSYmbnVsbD09dHx8KG4uX191PW4odCkpfWVsc2Ugbi5jdXJyZW50PXR9Y2F0Y2gobil7bC5fX2Uobix1KX19ZnVuY3Rpb24gQihuLHQsdSl7dmFyIGkscjtpZihsLnVubW91bnQmJmwudW5tb3VudChuKSwoaT1uLnJlZikmJihpLmN1cnJlbnQmJmkuY3VycmVudCE9PW4uX19lfHxxKGksbnVsbCx0KSksbnVsbCE9KGk9bi5fX2MpKXtpZihpLmNvbXBvbmVudFdpbGxVbm1vdW50KXRyeXtpLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2gobil7bC5fX2Uobix0KX1pLmJhc2U9aS5fX1A9bnVsbH1pZihpPW4uX19rKWZvcihyPTA7cjxpLmxlbmd0aDtyKyspaVtyXSYmQihpW3JdLHQsdXx8XCJmdW5jdGlvblwiIT10eXBlb2Ygbi50eXBlKTt1fHxnKG4uX19lKSxuLl9fYz1uLl9fPW4uX19lPXZvaWQgMH1mdW5jdGlvbiBEKG4sbCx0KXtyZXR1cm4gdGhpcy5jb25zdHJ1Y3RvcihuLHQpfWZ1bmN0aW9uIEUodCx1LGkpe3ZhciByLG8sZSxmO3U9PWRvY3VtZW50JiYodT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLGwuX18mJmwuX18odCx1KSxvPShyPVwiZnVuY3Rpb25cIj09dHlwZW9mIGkpP251bGw6aSYmaS5fX2t8fHUuX19rLGU9W10sZj1bXSxPKHUsdD0oIXImJml8fHUpLl9faz1fKGssbnVsbCxbdF0pLG98fHAscCx1Lm5hbWVzcGFjZVVSSSwhciYmaT9baV06bz9udWxsOnUuZmlyc3RDaGlsZD9uLmNhbGwodS5jaGlsZE5vZGVzKTpudWxsLGUsIXImJmk/aTpvP28uX19lOnUuZmlyc3RDaGlsZCxyLGYpLHooZSx0LGYpfWZ1bmN0aW9uIEcobixsKXtFKG4sbCxHKX1mdW5jdGlvbiBKKGwsdCx1KXt2YXIgaSxyLG8sZSxmPXcoe30sbC5wcm9wcyk7Zm9yKG8gaW4gbC50eXBlJiZsLnR5cGUuZGVmYXVsdFByb3BzJiYoZT1sLnR5cGUuZGVmYXVsdFByb3BzKSx0KVwia2V5XCI9PW8/aT10W29dOlwicmVmXCI9PW8/cj10W29dOmZbb109dm9pZCAwPT09dFtvXSYmdm9pZCAwIT09ZT9lW29dOnRbb107cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MiYmKGYuY2hpbGRyZW49YXJndW1lbnRzLmxlbmd0aD4zP24uY2FsbChhcmd1bWVudHMsMik6dSksbShsLnR5cGUsZixpfHxsLmtleSxyfHxsLnJlZixudWxsKX1mdW5jdGlvbiBLKG4pe2Z1bmN0aW9uIGwobil7dmFyIHQsdTtyZXR1cm4gdGhpcy5nZXRDaGlsZENvbnRleHR8fCh0PW5ldyBTZXQsKHU9e30pW2wuX19jXT10aGlzLHRoaXMuZ2V0Q2hpbGRDb250ZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIHV9LHRoaXMuY29tcG9uZW50V2lsbFVubW91bnQ9ZnVuY3Rpb24oKXt0PW51bGx9LHRoaXMuc2hvdWxkQ29tcG9uZW50VXBkYXRlPWZ1bmN0aW9uKG4pe3RoaXMucHJvcHMudmFsdWUhPT1uLnZhbHVlJiZ0LmZvckVhY2goZnVuY3Rpb24obil7bi5fX2U9ITAsTShuKX0pfSx0aGlzLnN1Yj1mdW5jdGlvbihuKXt0LmFkZChuKTt2YXIgbD1uLmNvbXBvbmVudFdpbGxVbm1vdW50O24uY29tcG9uZW50V2lsbFVubW91bnQ9ZnVuY3Rpb24oKXt0JiZ0LmRlbGV0ZShuKSxsJiZsLmNhbGwobil9fSksbi5jaGlsZHJlbn1yZXR1cm4gbC5fX2M9XCJfX2NDXCIraCsrLGwuX189bixsLlByb3ZpZGVyPWwuX19sPShsLkNvbnN1bWVyPWZ1bmN0aW9uKG4sbCl7cmV0dXJuIG4uY2hpbGRyZW4obCl9KS5jb250ZXh0VHlwZT1sLGx9bj12LnNsaWNlLGw9e19fZTpmdW5jdGlvbihuLGwsdCx1KXtmb3IodmFyIGkscixvO2w9bC5fXzspaWYoKGk9bC5fX2MpJiYhaS5fXyl0cnl7aWYoKHI9aS5jb25zdHJ1Y3RvcikmJm51bGwhPXIuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yJiYoaS5zZXRTdGF0ZShyLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcihuKSksbz1pLl9fZCksbnVsbCE9aS5jb21wb25lbnREaWRDYXRjaCYmKGkuY29tcG9uZW50RGlkQ2F0Y2gobix1fHx7fSksbz1pLl9fZCksbylyZXR1cm4gaS5fX0U9aX1jYXRjaChsKXtuPWx9dGhyb3cgbn19LHQ9MCx1PWZ1bmN0aW9uKG4pe3JldHVybiBudWxsIT1uJiZudWxsPT1uLmNvbnN0cnVjdG9yfSx4LnByb3RvdHlwZS5zZXRTdGF0ZT1mdW5jdGlvbihuLGwpe3ZhciB0O3Q9bnVsbCE9dGhpcy5fX3MmJnRoaXMuX19zIT09dGhpcy5zdGF0ZT90aGlzLl9fczp0aGlzLl9fcz13KHt9LHRoaXMuc3RhdGUpLFwiZnVuY3Rpb25cIj09dHlwZW9mIG4mJihuPW4odyh7fSx0KSx0aGlzLnByb3BzKSksbiYmdyh0LG4pLG51bGwhPW4mJnRoaXMuX192JiYobCYmdGhpcy5fc2IucHVzaChsKSxNKHRoaXMpKX0seC5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24obil7dGhpcy5fX3YmJih0aGlzLl9fZT0hMCxuJiZ0aGlzLl9faC5wdXNoKG4pLE0odGhpcykpfSx4LnByb3RvdHlwZS5yZW5kZXI9ayxpPVtdLG89XCJmdW5jdGlvblwiPT10eXBlb2YgUHJvbWlzZT9Qcm9taXNlLnByb3RvdHlwZS50aGVuLmJpbmQoUHJvbWlzZS5yZXNvbHZlKCkpOnNldFRpbWVvdXQsZT1mdW5jdGlvbihuLGwpe3JldHVybiBuLl9fdi5fX2ItbC5fX3YuX19ifSwkLl9fcj0wLGY9LyhQb2ludGVyQ2FwdHVyZSkkfENhcHR1cmUkL2ksYz0wLHM9RighMSksYT1GKCEwKSxoPTA7ZXhwb3J0e3ggYXMgQ29tcG9uZW50LGsgYXMgRnJhZ21lbnQsSiBhcyBjbG9uZUVsZW1lbnQsSyBhcyBjcmVhdGVDb250ZXh0LF8gYXMgY3JlYXRlRWxlbWVudCxiIGFzIGNyZWF0ZVJlZixfIGFzIGgsRyBhcyBoeWRyYXRlLHUgYXMgaXNWYWxpZEVsZW1lbnQsbCBhcyBvcHRpb25zLEUgYXMgcmVuZGVyLEggYXMgdG9DaGlsZEFycmF5fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXByZWFjdC5tb2R1bGUuanMubWFwXG4iLCJpbXBvcnR7b3B0aW9ucyBhcyBufWZyb21cInByZWFjdFwiO3ZhciB0LHIsdSxpLG89MCxmPVtdLGM9bixlPWMuX19iLGE9Yy5fX3Isdj1jLmRpZmZlZCxsPWMuX19jLG09Yy51bm1vdW50LHM9Yy5fXztmdW5jdGlvbiBwKG4sdCl7Yy5fX2gmJmMuX19oKHIsbixvfHx0KSxvPTA7dmFyIHU9ci5fX0h8fChyLl9fSD17X186W10sX19oOltdfSk7cmV0dXJuIG4+PXUuX18ubGVuZ3RoJiZ1Ll9fLnB1c2goe30pLHUuX19bbl19ZnVuY3Rpb24gZChuKXtyZXR1cm4gbz0xLGgoRCxuKX1mdW5jdGlvbiBoKG4sdSxpKXt2YXIgbz1wKHQrKywyKTtpZihvLnQ9biwhby5fX2MmJihvLl9fPVtpP2kodSk6RCh2b2lkIDAsdSksZnVuY3Rpb24obil7dmFyIHQ9by5fX04/by5fX05bMF06by5fX1swXSxyPW8udCh0LG4pO3QhPT1yJiYoby5fX049W3Isby5fX1sxXV0sby5fX2Muc2V0U3RhdGUoe30pKX1dLG8uX19jPXIsIXIuX19mKSl7dmFyIGY9ZnVuY3Rpb24obix0LHIpe2lmKCFvLl9fYy5fX0gpcmV0dXJuITA7dmFyIHU9by5fX2MuX19ILl9fLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4hIW4uX19jfSk7aWYodS5ldmVyeShmdW5jdGlvbihuKXtyZXR1cm4hbi5fX059KSlyZXR1cm4hY3x8Yy5jYWxsKHRoaXMsbix0LHIpO3ZhciBpPW8uX19jLnByb3BzIT09bjtyZXR1cm4gdS5mb3JFYWNoKGZ1bmN0aW9uKG4pe2lmKG4uX19OKXt2YXIgdD1uLl9fWzBdO24uX189bi5fX04sbi5fX049dm9pZCAwLHQhPT1uLl9fWzBdJiYoaT0hMCl9fSksYyYmYy5jYWxsKHRoaXMsbix0LHIpfHxpfTtyLl9fZj0hMDt2YXIgYz1yLnNob3VsZENvbXBvbmVudFVwZGF0ZSxlPXIuY29tcG9uZW50V2lsbFVwZGF0ZTtyLmNvbXBvbmVudFdpbGxVcGRhdGU9ZnVuY3Rpb24obix0LHIpe2lmKHRoaXMuX19lKXt2YXIgdT1jO2M9dm9pZCAwLGYobix0LHIpLGM9dX1lJiZlLmNhbGwodGhpcyxuLHQscil9LHIuc2hvdWxkQ29tcG9uZW50VXBkYXRlPWZ9cmV0dXJuIG8uX19OfHxvLl9ffWZ1bmN0aW9uIHkobix1KXt2YXIgaT1wKHQrKywzKTshYy5fX3MmJkMoaS5fX0gsdSkmJihpLl9fPW4saS51PXUsci5fX0guX19oLnB1c2goaSkpfWZ1bmN0aW9uIF8obix1KXt2YXIgaT1wKHQrKyw0KTshYy5fX3MmJkMoaS5fX0gsdSkmJihpLl9fPW4saS51PXUsci5fX2gucHVzaChpKSl9ZnVuY3Rpb24gQShuKXtyZXR1cm4gbz01LFQoZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpufX0sW10pfWZ1bmN0aW9uIEYobix0LHIpe289NixfKGZ1bmN0aW9uKCl7aWYoXCJmdW5jdGlvblwiPT10eXBlb2Ygbil7dmFyIHI9bih0KCkpO3JldHVybiBmdW5jdGlvbigpe24obnVsbCksciYmXCJmdW5jdGlvblwiPT10eXBlb2YgciYmcigpfX1pZihuKXJldHVybiBuLmN1cnJlbnQ9dCgpLGZ1bmN0aW9uKCl7cmV0dXJuIG4uY3VycmVudD1udWxsfX0sbnVsbD09cj9yOnIuY29uY2F0KG4pKX1mdW5jdGlvbiBUKG4scil7dmFyIHU9cCh0KyssNyk7cmV0dXJuIEModS5fX0gscikmJih1Ll9fPW4oKSx1Ll9fSD1yLHUuX19oPW4pLHUuX199ZnVuY3Rpb24gcShuLHQpe3JldHVybiBvPTgsVChmdW5jdGlvbigpe3JldHVybiBufSx0KX1mdW5jdGlvbiB4KG4pe3ZhciB1PXIuY29udGV4dFtuLl9fY10saT1wKHQrKyw5KTtyZXR1cm4gaS5jPW4sdT8obnVsbD09aS5fXyYmKGkuX189ITAsdS5zdWIocikpLHUucHJvcHMudmFsdWUpOm4uX199ZnVuY3Rpb24gUChuLHQpe2MudXNlRGVidWdWYWx1ZSYmYy51c2VEZWJ1Z1ZhbHVlKHQ/dChuKTpuKX1mdW5jdGlvbiBiKG4pe3ZhciB1PXAodCsrLDEwKSxpPWQoKTtyZXR1cm4gdS5fXz1uLHIuY29tcG9uZW50RGlkQ2F0Y2h8fChyLmNvbXBvbmVudERpZENhdGNoPWZ1bmN0aW9uKG4sdCl7dS5fXyYmdS5fXyhuLHQpLGlbMV0obil9KSxbaVswXSxmdW5jdGlvbigpe2lbMV0odm9pZCAwKX1dfWZ1bmN0aW9uIGcoKXt2YXIgbj1wKHQrKywxMSk7aWYoIW4uX18pe2Zvcih2YXIgdT1yLl9fdjtudWxsIT09dSYmIXUuX19tJiZudWxsIT09dS5fXzspdT11Ll9fO3ZhciBpPXUuX19tfHwodS5fX209WzAsMF0pO24uX189XCJQXCIraVswXStcIi1cIitpWzFdKyt9cmV0dXJuIG4uX199ZnVuY3Rpb24gaigpe2Zvcih2YXIgbjtuPWYuc2hpZnQoKTspaWYobi5fX1AmJm4uX19IKXRyeXtuLl9fSC5fX2guZm9yRWFjaCh6KSxuLl9fSC5fX2guZm9yRWFjaChCKSxuLl9fSC5fX2g9W119Y2F0Y2godCl7bi5fX0guX19oPVtdLGMuX19lKHQsbi5fX3YpfX1jLl9fYj1mdW5jdGlvbihuKXtyPW51bGwsZSYmZShuKX0sYy5fXz1mdW5jdGlvbihuLHQpe24mJnQuX19rJiZ0Ll9fay5fX20mJihuLl9fbT10Ll9fay5fX20pLHMmJnMobix0KX0sYy5fX3I9ZnVuY3Rpb24obil7YSYmYShuKSx0PTA7dmFyIGk9KHI9bi5fX2MpLl9fSDtpJiYodT09PXI/KGkuX19oPVtdLHIuX19oPVtdLGkuX18uZm9yRWFjaChmdW5jdGlvbihuKXtuLl9fTiYmKG4uX189bi5fX04pLG4udT1uLl9fTj12b2lkIDB9KSk6KGkuX19oLmZvckVhY2goeiksaS5fX2guZm9yRWFjaChCKSxpLl9faD1bXSx0PTApKSx1PXJ9LGMuZGlmZmVkPWZ1bmN0aW9uKG4pe3YmJnYobik7dmFyIHQ9bi5fX2M7dCYmdC5fX0gmJih0Ll9fSC5fX2gubGVuZ3RoJiYoMSE9PWYucHVzaCh0KSYmaT09PWMucmVxdWVzdEFuaW1hdGlvbkZyYW1lfHwoKGk9Yy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpfHx3KShqKSksdC5fX0guX18uZm9yRWFjaChmdW5jdGlvbihuKXtuLnUmJihuLl9fSD1uLnUpLG4udT12b2lkIDB9KSksdT1yPW51bGx9LGMuX19jPWZ1bmN0aW9uKG4sdCl7dC5zb21lKGZ1bmN0aW9uKG4pe3RyeXtuLl9faC5mb3JFYWNoKHopLG4uX19oPW4uX19oLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4hbi5fX3x8QihuKX0pfWNhdGNoKHIpe3Quc29tZShmdW5jdGlvbihuKXtuLl9faCYmKG4uX19oPVtdKX0pLHQ9W10sYy5fX2UocixuLl9fdil9fSksbCYmbChuLHQpfSxjLnVubW91bnQ9ZnVuY3Rpb24obil7bSYmbShuKTt2YXIgdCxyPW4uX19jO3ImJnIuX19IJiYoci5fX0guX18uZm9yRWFjaChmdW5jdGlvbihuKXt0cnl7eihuKX1jYXRjaChuKXt0PW59fSksci5fX0g9dm9pZCAwLHQmJmMuX19lKHQsci5fX3YpKX07dmFyIGs9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lO2Z1bmN0aW9uIHcobil7dmFyIHQscj1mdW5jdGlvbigpe2NsZWFyVGltZW91dCh1KSxrJiZjYW5jZWxBbmltYXRpb25GcmFtZSh0KSxzZXRUaW1lb3V0KG4pfSx1PXNldFRpbWVvdXQociwxMDApO2smJih0PXJlcXVlc3RBbmltYXRpb25GcmFtZShyKSl9ZnVuY3Rpb24geihuKXt2YXIgdD1yLHU9bi5fX2M7XCJmdW5jdGlvblwiPT10eXBlb2YgdSYmKG4uX19jPXZvaWQgMCx1KCkpLHI9dH1mdW5jdGlvbiBCKG4pe3ZhciB0PXI7bi5fX2M9bi5fXygpLHI9dH1mdW5jdGlvbiBDKG4sdCl7cmV0dXJuIW58fG4ubGVuZ3RoIT09dC5sZW5ndGh8fHQuc29tZShmdW5jdGlvbih0LHIpe3JldHVybiB0IT09bltyXX0pfWZ1bmN0aW9uIEQobix0KXtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiB0P3Qobik6dH1leHBvcnR7cSBhcyB1c2VDYWxsYmFjayx4IGFzIHVzZUNvbnRleHQsUCBhcyB1c2VEZWJ1Z1ZhbHVlLHkgYXMgdXNlRWZmZWN0LGIgYXMgdXNlRXJyb3JCb3VuZGFyeSxnIGFzIHVzZUlkLEYgYXMgdXNlSW1wZXJhdGl2ZUhhbmRsZSxfIGFzIHVzZUxheW91dEVmZmVjdCxUIGFzIHVzZU1lbW8saCBhcyB1c2VSZWR1Y2VyLEEgYXMgdXNlUmVmLGQgYXMgdXNlU3RhdGV9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aG9va3MubW9kdWxlLmpzLm1hcFxuIiwiaW1wb3J0e0NvbXBvbmVudCBhcyBuLGNyZWF0ZUVsZW1lbnQgYXMgdCxvcHRpb25zIGFzIGUsdG9DaGlsZEFycmF5IGFzIHIsRnJhZ21lbnQgYXMgdSxyZW5kZXIgYXMgbyxoeWRyYXRlIGFzIGksY3JlYXRlQ29udGV4dCBhcyBjLGNyZWF0ZVJlZiBhcyBsLGNsb25lRWxlbWVudCBhcyBmfWZyb21cInByZWFjdFwiO2V4cG9ydHtDb21wb25lbnQsRnJhZ21lbnQsY3JlYXRlQ29udGV4dCxjcmVhdGVFbGVtZW50LGNyZWF0ZVJlZn1mcm9tXCJwcmVhY3RcIjtpbXBvcnR7dXNlU3RhdGUgYXMgYSx1c2VMYXlvdXRFZmZlY3QgYXMgcyx1c2VFZmZlY3QgYXMgaCx1c2VDYWxsYmFjayBhcyB2LHVzZUNvbnRleHQgYXMgZCx1c2VEZWJ1Z1ZhbHVlIGFzIHAsdXNlSWQgYXMgbSx1c2VJbXBlcmF0aXZlSGFuZGxlIGFzIHksdXNlTWVtbyBhcyBfLHVzZVJlZHVjZXIgYXMgYix1c2VSZWYgYXMgU31mcm9tXCJwcmVhY3QvaG9va3NcIjtleHBvcnQqZnJvbVwicHJlYWN0L2hvb2tzXCI7ZnVuY3Rpb24gZyhuLHQpe2Zvcih2YXIgZSBpbiB0KW5bZV09dFtlXTtyZXR1cm4gbn1mdW5jdGlvbiBFKG4sdCl7Zm9yKHZhciBlIGluIG4paWYoXCJfX3NvdXJjZVwiIT09ZSYmIShlIGluIHQpKXJldHVybiEwO2Zvcih2YXIgciBpbiB0KWlmKFwiX19zb3VyY2VcIiE9PXImJm5bcl0hPT10W3JdKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIEMobix0KXt2YXIgZT10KCkscj1hKHt0OntfXzplLHU6dH19KSx1PXJbMF0udCxvPXJbMV07cmV0dXJuIHMoZnVuY3Rpb24oKXt1Ll9fPWUsdS51PXQseCh1KSYmbyh7dDp1fSl9LFtuLGUsdF0pLGgoZnVuY3Rpb24oKXtyZXR1cm4geCh1KSYmbyh7dDp1fSksbihmdW5jdGlvbigpe3godSkmJm8oe3Q6dX0pfSl9LFtuXSksZX1mdW5jdGlvbiB4KG4pe3ZhciB0LGUscj1uLnUsdT1uLl9fO3RyeXt2YXIgbz1yKCk7cmV0dXJuISgodD11KT09PShlPW8pJiYoMCE9PXR8fDEvdD09MS9lKXx8dCE9dCYmZSE9ZSl9Y2F0Y2gobil7cmV0dXJuITB9fWZ1bmN0aW9uIFIobil7bigpfWZ1bmN0aW9uIHcobil7cmV0dXJuIG59ZnVuY3Rpb24gaygpe3JldHVyblshMSxSXX12YXIgST1zO2Z1bmN0aW9uIE4obix0KXt0aGlzLnByb3BzPW4sdGhpcy5jb250ZXh0PXR9ZnVuY3Rpb24gTShuLGUpe2Z1bmN0aW9uIHIobil7dmFyIHQ9dGhpcy5wcm9wcy5yZWYscj10PT1uLnJlZjtyZXR1cm4hciYmdCYmKHQuY2FsbD90KG51bGwpOnQuY3VycmVudD1udWxsKSxlPyFlKHRoaXMucHJvcHMsbil8fCFyOkUodGhpcy5wcm9wcyxuKX1mdW5jdGlvbiB1KGUpe3JldHVybiB0aGlzLnNob3VsZENvbXBvbmVudFVwZGF0ZT1yLHQobixlKX1yZXR1cm4gdS5kaXNwbGF5TmFtZT1cIk1lbW8oXCIrKG4uZGlzcGxheU5hbWV8fG4ubmFtZSkrXCIpXCIsdS5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD0hMCx1Ll9fZj0hMCx1fShOLnByb3RvdHlwZT1uZXcgbikuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITAsTi5wcm90b3R5cGUuc2hvdWxkQ29tcG9uZW50VXBkYXRlPWZ1bmN0aW9uKG4sdCl7cmV0dXJuIEUodGhpcy5wcm9wcyxuKXx8RSh0aGlzLnN0YXRlLHQpfTt2YXIgVD1lLl9fYjtlLl9fYj1mdW5jdGlvbihuKXtuLnR5cGUmJm4udHlwZS5fX2YmJm4ucmVmJiYobi5wcm9wcy5yZWY9bi5yZWYsbi5yZWY9bnVsbCksVCYmVChuKX07dmFyIEE9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLmZvciYmU3ltYm9sLmZvcihcInJlYWN0LmZvcndhcmRfcmVmXCIpfHwzOTExO2Z1bmN0aW9uIEQobil7ZnVuY3Rpb24gdCh0KXt2YXIgZT1nKHt9LHQpO3JldHVybiBkZWxldGUgZS5yZWYsbihlLHQucmVmfHxudWxsKX1yZXR1cm4gdC4kJHR5cGVvZj1BLHQucmVuZGVyPXQsdC5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD10Ll9fZj0hMCx0LmRpc3BsYXlOYW1lPVwiRm9yd2FyZFJlZihcIisobi5kaXNwbGF5TmFtZXx8bi5uYW1lKStcIilcIix0fXZhciBMPWZ1bmN0aW9uKG4sdCl7cmV0dXJuIG51bGw9PW4/bnVsbDpyKHIobikubWFwKHQpKX0sTz17bWFwOkwsZm9yRWFjaDpMLGNvdW50OmZ1bmN0aW9uKG4pe3JldHVybiBuP3IobikubGVuZ3RoOjB9LG9ubHk6ZnVuY3Rpb24obil7dmFyIHQ9cihuKTtpZigxIT09dC5sZW5ndGgpdGhyb3dcIkNoaWxkcmVuLm9ubHlcIjtyZXR1cm4gdFswXX0sdG9BcnJheTpyfSxGPWUuX19lO2UuX19lPWZ1bmN0aW9uKG4sdCxlLHIpe2lmKG4udGhlbilmb3IodmFyIHUsbz10O289by5fXzspaWYoKHU9by5fX2MpJiZ1Ll9fYylyZXR1cm4gbnVsbD09dC5fX2UmJih0Ll9fZT1lLl9fZSx0Ll9faz1lLl9fayksdS5fX2Mobix0KTtGKG4sdCxlLHIpfTt2YXIgVT1lLnVubW91bnQ7ZnVuY3Rpb24gVihuLHQsZSl7cmV0dXJuIG4mJihuLl9fYyYmbi5fX2MuX19IJiYobi5fX2MuX19ILl9fLmZvckVhY2goZnVuY3Rpb24obil7XCJmdW5jdGlvblwiPT10eXBlb2Ygbi5fX2MmJm4uX19jKCl9KSxuLl9fYy5fX0g9bnVsbCksbnVsbCE9KG49Zyh7fSxuKSkuX19jJiYobi5fX2MuX19QPT09ZSYmKG4uX19jLl9fUD10KSxuLl9fYz1udWxsKSxuLl9faz1uLl9fayYmbi5fX2subWFwKGZ1bmN0aW9uKG4pe3JldHVybiBWKG4sdCxlKX0pKSxufWZ1bmN0aW9uIFcobix0LGUpe3JldHVybiBuJiZlJiYobi5fX3Y9bnVsbCxuLl9faz1uLl9fayYmbi5fX2subWFwKGZ1bmN0aW9uKG4pe3JldHVybiBXKG4sdCxlKX0pLG4uX19jJiZuLl9fYy5fX1A9PT10JiYobi5fX2UmJmUuYXBwZW5kQ2hpbGQobi5fX2UpLG4uX19jLl9fZT0hMCxuLl9fYy5fX1A9ZSkpLG59ZnVuY3Rpb24gUCgpe3RoaXMuX191PTAsdGhpcy5vPW51bGwsdGhpcy5fX2I9bnVsbH1mdW5jdGlvbiBqKG4pe3ZhciB0PW4uX18uX19jO3JldHVybiB0JiZ0Ll9fYSYmdC5fX2Eobil9ZnVuY3Rpb24geihuKXt2YXIgZSxyLHU7ZnVuY3Rpb24gbyhvKXtpZihlfHwoZT1uKCkpLnRoZW4oZnVuY3Rpb24obil7cj1uLmRlZmF1bHR8fG59LGZ1bmN0aW9uKG4pe3U9bn0pLHUpdGhyb3cgdTtpZighcil0aHJvdyBlO3JldHVybiB0KHIsbyl9cmV0dXJuIG8uZGlzcGxheU5hbWU9XCJMYXp5XCIsby5fX2Y9ITAsb31mdW5jdGlvbiBCKCl7dGhpcy5pPW51bGwsdGhpcy5sPW51bGx9ZS51bm1vdW50PWZ1bmN0aW9uKG4pe3ZhciB0PW4uX19jO3QmJnQuX19SJiZ0Ll9fUigpLHQmJjMyJm4uX191JiYobi50eXBlPW51bGwpLFUmJlUobil9LChQLnByb3RvdHlwZT1uZXcgbikuX19jPWZ1bmN0aW9uKG4sdCl7dmFyIGU9dC5fX2Mscj10aGlzO251bGw9PXIubyYmKHIubz1bXSksci5vLnB1c2goZSk7dmFyIHU9aihyLl9fdiksbz0hMSxpPWZ1bmN0aW9uKCl7b3x8KG89ITAsZS5fX1I9bnVsbCx1P3UoYyk6YygpKX07ZS5fX1I9aTt2YXIgYz1mdW5jdGlvbigpe2lmKCEtLXIuX191KXtpZihyLnN0YXRlLl9fYSl7dmFyIG49ci5zdGF0ZS5fX2E7ci5fX3YuX19rWzBdPVcobixuLl9fYy5fX1Asbi5fX2MuX19PKX12YXIgdDtmb3Ioci5zZXRTdGF0ZSh7X19hOnIuX19iPW51bGx9KTt0PXIuby5wb3AoKTspdC5mb3JjZVVwZGF0ZSgpfX07ci5fX3UrK3x8MzImdC5fX3V8fHIuc2V0U3RhdGUoe19fYTpyLl9fYj1yLl9fdi5fX2tbMF19KSxuLnRoZW4oaSxpKX0sUC5wcm90b3R5cGUuY29tcG9uZW50V2lsbFVubW91bnQ9ZnVuY3Rpb24oKXt0aGlzLm89W119LFAucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihuLGUpe2lmKHRoaXMuX19iKXtpZih0aGlzLl9fdi5fX2spe3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksbz10aGlzLl9fdi5fX2tbMF0uX19jO3RoaXMuX192Ll9fa1swXT1WKHRoaXMuX19iLHIsby5fX089by5fX1ApfXRoaXMuX19iPW51bGx9dmFyIGk9ZS5fX2EmJnQodSxudWxsLG4uZmFsbGJhY2spO3JldHVybiBpJiYoaS5fX3UmPS0zMyksW3QodSxudWxsLGUuX19hP251bGw6bi5jaGlsZHJlbiksaV19O3ZhciBIPWZ1bmN0aW9uKG4sdCxlKXtpZigrK2VbMV09PT1lWzBdJiZuLmwuZGVsZXRlKHQpLG4ucHJvcHMucmV2ZWFsT3JkZXImJihcInRcIiE9PW4ucHJvcHMucmV2ZWFsT3JkZXJbMF18fCFuLmwuc2l6ZSkpZm9yKGU9bi5pO2U7KXtmb3IoO2UubGVuZ3RoPjM7KWUucG9wKCkoKTtpZihlWzFdPGVbMF0pYnJlYWs7bi5pPWU9ZVsyXX19O2Z1bmN0aW9uIFoobil7cmV0dXJuIHRoaXMuZ2V0Q2hpbGRDb250ZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIG4uY29udGV4dH0sbi5jaGlsZHJlbn1mdW5jdGlvbiBZKG4pe3ZhciBlPXRoaXMscj1uLmg7ZS5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe28obnVsbCxlLnYpLGUudj1udWxsLGUuaD1udWxsfSxlLmgmJmUuaCE9PXImJmUuY29tcG9uZW50V2lsbFVubW91bnQoKSxlLnZ8fChlLmg9cixlLnY9e25vZGVUeXBlOjEscGFyZW50Tm9kZTpyLGNoaWxkTm9kZXM6W10sY29udGFpbnM6ZnVuY3Rpb24oKXtyZXR1cm4hMH0sYXBwZW5kQ2hpbGQ6ZnVuY3Rpb24obil7dGhpcy5jaGlsZE5vZGVzLnB1c2gobiksZS5oLmFwcGVuZENoaWxkKG4pfSxpbnNlcnRCZWZvcmU6ZnVuY3Rpb24obix0KXt0aGlzLmNoaWxkTm9kZXMucHVzaChuKSxlLmguaW5zZXJ0QmVmb3JlKG4sdCl9LHJlbW92ZUNoaWxkOmZ1bmN0aW9uKG4pe3RoaXMuY2hpbGROb2Rlcy5zcGxpY2UodGhpcy5jaGlsZE5vZGVzLmluZGV4T2Yobik+Pj4xLDEpLGUuaC5yZW1vdmVDaGlsZChuKX19KSxvKHQoWix7Y29udGV4dDplLmNvbnRleHR9LG4uX192KSxlLnYpfWZ1bmN0aW9uICQobixlKXt2YXIgcj10KFkse19fdjpuLGg6ZX0pO3JldHVybiByLmNvbnRhaW5lckluZm89ZSxyfShCLnByb3RvdHlwZT1uZXcgbikuX19hPWZ1bmN0aW9uKG4pe3ZhciB0PXRoaXMsZT1qKHQuX192KSxyPXQubC5nZXQobik7cmV0dXJuIHJbMF0rKyxmdW5jdGlvbih1KXt2YXIgbz1mdW5jdGlvbigpe3QucHJvcHMucmV2ZWFsT3JkZXI/KHIucHVzaCh1KSxIKHQsbixyKSk6dSgpfTtlP2Uobyk6bygpfX0sQi5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKG4pe3RoaXMuaT1udWxsLHRoaXMubD1uZXcgTWFwO3ZhciB0PXIobi5jaGlsZHJlbik7bi5yZXZlYWxPcmRlciYmXCJiXCI9PT1uLnJldmVhbE9yZGVyWzBdJiZ0LnJldmVyc2UoKTtmb3IodmFyIGU9dC5sZW5ndGg7ZS0tOyl0aGlzLmwuc2V0KHRbZV0sdGhpcy5pPVsxLDAsdGhpcy5pXSk7cmV0dXJuIG4uY2hpbGRyZW59LEIucHJvdG90eXBlLmNvbXBvbmVudERpZFVwZGF0ZT1CLnByb3RvdHlwZS5jb21wb25lbnREaWRNb3VudD1mdW5jdGlvbigpe3ZhciBuPXRoaXM7dGhpcy5sLmZvckVhY2goZnVuY3Rpb24odCxlKXtIKG4sZSx0KX0pfTt2YXIgcT1cInVuZGVmaW5lZFwiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuZm9yJiZTeW1ib2wuZm9yKFwicmVhY3QuZWxlbWVudFwiKXx8NjAxMDMsRz0vXig/OmFjY2VudHxhbGlnbm1lbnR8YXJhYmljfGJhc2VsaW5lfGNhcHxjbGlwKD8hUGF0aFUpfGNvbG9yfGRvbWluYW50fGZpbGx8Zmxvb2R8Zm9udHxnbHlwaCg/IVIpfGhvcml6fGltYWdlKCFTKXxsZXR0ZXJ8bGlnaHRpbmd8bWFya2VyKD8hSHxXfFUpfG92ZXJsaW5lfHBhaW50fHBvaW50ZXJ8c2hhcGV8c3RvcHxzdHJpa2V0aHJvdWdofHN0cm9rZXx0ZXh0KD8hTCl8dHJhbnNmb3JtfHVuZGVybGluZXx1bmljb2RlfHVuaXRzfHZ8dmVjdG9yfHZlcnR8d29yZHx3cml0aW5nfHgoPyFDKSlbQS1aXS8sSj0vXm9uKEFuaXxUcmF8VG91fEJlZm9yZUlucHxDb21wbykvLEs9L1tBLVowLTldL2csUT1cInVuZGVmaW5lZFwiIT10eXBlb2YgZG9jdW1lbnQsWD1mdW5jdGlvbihuKXtyZXR1cm4oXCJ1bmRlZmluZWRcIiE9dHlwZW9mIFN5bWJvbCYmXCJzeW1ib2xcIj09dHlwZW9mIFN5bWJvbCgpPy9maWx8Y2hlfHJhZC86L2ZpbHxjaGV8cmEvKS50ZXN0KG4pfTtmdW5jdGlvbiBubihuLHQsZSl7cmV0dXJuIG51bGw9PXQuX19rJiYodC50ZXh0Q29udGVudD1cIlwiKSxvKG4sdCksXCJmdW5jdGlvblwiPT10eXBlb2YgZSYmZSgpLG4/bi5fX2M6bnVsbH1mdW5jdGlvbiB0bihuLHQsZSl7cmV0dXJuIGkobix0KSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBlJiZlKCksbj9uLl9fYzpudWxsfW4ucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sW1wiY29tcG9uZW50V2lsbE1vdW50XCIsXCJjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzXCIsXCJjb21wb25lbnRXaWxsVXBkYXRlXCJdLmZvckVhY2goZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4ucHJvdG90eXBlLHQse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1tcIlVOU0FGRV9cIit0XX0sc2V0OmZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLHQse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpufSl9fSl9KTt2YXIgZW49ZS5ldmVudDtmdW5jdGlvbiBybigpe31mdW5jdGlvbiB1bigpe3JldHVybiB0aGlzLmNhbmNlbEJ1YmJsZX1mdW5jdGlvbiBvbigpe3JldHVybiB0aGlzLmRlZmF1bHRQcmV2ZW50ZWR9ZS5ldmVudD1mdW5jdGlvbihuKXtyZXR1cm4gZW4mJihuPWVuKG4pKSxuLnBlcnNpc3Q9cm4sbi5pc1Byb3BhZ2F0aW9uU3RvcHBlZD11bixuLmlzRGVmYXVsdFByZXZlbnRlZD1vbixuLm5hdGl2ZUV2ZW50PW59O3ZhciBjbixsbj17ZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xhc3N9fSxmbj1lLnZub2RlO2Uudm5vZGU9ZnVuY3Rpb24obil7XCJzdHJpbmdcIj09dHlwZW9mIG4udHlwZSYmZnVuY3Rpb24obil7dmFyIHQ9bi5wcm9wcyxlPW4udHlwZSx1PXt9LG89LTE9PT1lLmluZGV4T2YoXCItXCIpO2Zvcih2YXIgaSBpbiB0KXt2YXIgYz10W2ldO2lmKCEoXCJ2YWx1ZVwiPT09aSYmXCJkZWZhdWx0VmFsdWVcImluIHQmJm51bGw9PWN8fFEmJlwiY2hpbGRyZW5cIj09PWkmJlwibm9zY3JpcHRcIj09PWV8fFwiY2xhc3NcIj09PWl8fFwiY2xhc3NOYW1lXCI9PT1pKSl7dmFyIGw9aS50b0xvd2VyQ2FzZSgpO1wiZGVmYXVsdFZhbHVlXCI9PT1pJiZcInZhbHVlXCJpbiB0JiZudWxsPT10LnZhbHVlP2k9XCJ2YWx1ZVwiOlwiZG93bmxvYWRcIj09PWkmJiEwPT09Yz9jPVwiXCI6XCJ0cmFuc2xhdGVcIj09PWwmJlwibm9cIj09PWM/Yz0hMTpcIm9cIj09PWxbMF0mJlwiblwiPT09bFsxXT9cIm9uZG91YmxlY2xpY2tcIj09PWw/aT1cIm9uZGJsY2xpY2tcIjpcIm9uY2hhbmdlXCIhPT1sfHxcImlucHV0XCIhPT1lJiZcInRleHRhcmVhXCIhPT1lfHxYKHQudHlwZSk/XCJvbmZvY3VzXCI9PT1sP2k9XCJvbmZvY3VzaW5cIjpcIm9uYmx1clwiPT09bD9pPVwib25mb2N1c291dFwiOkoudGVzdChpKSYmKGk9bCk6bD1pPVwib25pbnB1dFwiOm8mJkcudGVzdChpKT9pPWkucmVwbGFjZShLLFwiLSQmXCIpLnRvTG93ZXJDYXNlKCk6bnVsbD09PWMmJihjPXZvaWQgMCksXCJvbmlucHV0XCI9PT1sJiZ1W2k9bF0mJihpPVwib25pbnB1dENhcHR1cmVcIiksdVtpXT1jfX1cInNlbGVjdFwiPT1lJiZ1Lm11bHRpcGxlJiZBcnJheS5pc0FycmF5KHUudmFsdWUpJiYodS52YWx1ZT1yKHQuY2hpbGRyZW4pLmZvckVhY2goZnVuY3Rpb24obil7bi5wcm9wcy5zZWxlY3RlZD0tMSE9dS52YWx1ZS5pbmRleE9mKG4ucHJvcHMudmFsdWUpfSkpLFwic2VsZWN0XCI9PWUmJm51bGwhPXUuZGVmYXVsdFZhbHVlJiYodS52YWx1ZT1yKHQuY2hpbGRyZW4pLmZvckVhY2goZnVuY3Rpb24obil7bi5wcm9wcy5zZWxlY3RlZD11Lm11bHRpcGxlPy0xIT11LmRlZmF1bHRWYWx1ZS5pbmRleE9mKG4ucHJvcHMudmFsdWUpOnUuZGVmYXVsdFZhbHVlPT1uLnByb3BzLnZhbHVlfSkpLHQuY2xhc3MmJiF0LmNsYXNzTmFtZT8odS5jbGFzcz10LmNsYXNzLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LFwiY2xhc3NOYW1lXCIsbG4pKToodC5jbGFzc05hbWUmJiF0LmNsYXNzfHx0LmNsYXNzJiZ0LmNsYXNzTmFtZSkmJih1LmNsYXNzPXUuY2xhc3NOYW1lPXQuY2xhc3NOYW1lKSxuLnByb3BzPXV9KG4pLG4uJCR0eXBlb2Y9cSxmbiYmZm4obil9O3ZhciBhbj1lLl9fcjtlLl9fcj1mdW5jdGlvbihuKXthbiYmYW4obiksY249bi5fX2N9O3ZhciBzbj1lLmRpZmZlZDtlLmRpZmZlZD1mdW5jdGlvbihuKXtzbiYmc24obik7dmFyIHQ9bi5wcm9wcyxlPW4uX19lO251bGwhPWUmJlwidGV4dGFyZWFcIj09PW4udHlwZSYmXCJ2YWx1ZVwiaW4gdCYmdC52YWx1ZSE9PWUudmFsdWUmJihlLnZhbHVlPW51bGw9PXQudmFsdWU/XCJcIjp0LnZhbHVlKSxjbj1udWxsfTt2YXIgaG49e1JlYWN0Q3VycmVudERpc3BhdGNoZXI6e2N1cnJlbnQ6e3JlYWRDb250ZXh0OmZ1bmN0aW9uKG4pe3JldHVybiBjbi5fX25bbi5fX2NdLnByb3BzLnZhbHVlfSx1c2VDYWxsYmFjazp2LHVzZUNvbnRleHQ6ZCx1c2VEZWJ1Z1ZhbHVlOnAsdXNlRGVmZXJyZWRWYWx1ZTp3LHVzZUVmZmVjdDpoLHVzZUlkOm0sdXNlSW1wZXJhdGl2ZUhhbmRsZTp5LHVzZUluc2VydGlvbkVmZmVjdDpJLHVzZUxheW91dEVmZmVjdDpzLHVzZU1lbW86Xyx1c2VSZWR1Y2VyOmIsdXNlUmVmOlMsdXNlU3RhdGU6YSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpDLHVzZVRyYW5zaXRpb246a319fSx2bj1cIjE4LjMuMVwiO2Z1bmN0aW9uIGRuKG4pe3JldHVybiB0LmJpbmQobnVsbCxuKX1mdW5jdGlvbiBwbihuKXtyZXR1cm4hIW4mJm4uJCR0eXBlb2Y9PT1xfWZ1bmN0aW9uIG1uKG4pe3JldHVybiBwbihuKSYmbi50eXBlPT09dX1mdW5jdGlvbiB5bihuKXtyZXR1cm4hIW4mJiEhbi5kaXNwbGF5TmFtZSYmKFwic3RyaW5nXCI9PXR5cGVvZiBuLmRpc3BsYXlOYW1lfHxuLmRpc3BsYXlOYW1lIGluc3RhbmNlb2YgU3RyaW5nKSYmbi5kaXNwbGF5TmFtZS5zdGFydHNXaXRoKFwiTWVtbyhcIil9ZnVuY3Rpb24gX24obil7cmV0dXJuIHBuKG4pP2YuYXBwbHkobnVsbCxhcmd1bWVudHMpOm59ZnVuY3Rpb24gYm4obil7cmV0dXJuISFuLl9fayYmKG8obnVsbCxuKSwhMCl9ZnVuY3Rpb24gU24obil7cmV0dXJuIG4mJihuLmJhc2V8fDE9PT1uLm5vZGVUeXBlJiZuKXx8bnVsbH12YXIgZ249ZnVuY3Rpb24obix0KXtyZXR1cm4gbih0KX0sRW49ZnVuY3Rpb24obix0KXtyZXR1cm4gbih0KX0sQ249dSx4bj1wbixSbj17dXNlU3RhdGU6YSx1c2VJZDptLHVzZVJlZHVjZXI6Yix1c2VFZmZlY3Q6aCx1c2VMYXlvdXRFZmZlY3Q6cyx1c2VJbnNlcnRpb25FZmZlY3Q6SSx1c2VUcmFuc2l0aW9uOmssdXNlRGVmZXJyZWRWYWx1ZTp3LHVzZVN5bmNFeHRlcm5hbFN0b3JlOkMsc3RhcnRUcmFuc2l0aW9uOlIsdXNlUmVmOlMsdXNlSW1wZXJhdGl2ZUhhbmRsZTp5LHVzZU1lbW86Xyx1c2VDYWxsYmFjazp2LHVzZUNvbnRleHQ6ZCx1c2VEZWJ1Z1ZhbHVlOnAsdmVyc2lvbjpcIjE4LjMuMVwiLENoaWxkcmVuOk8scmVuZGVyOm5uLGh5ZHJhdGU6dG4sdW5tb3VudENvbXBvbmVudEF0Tm9kZTpibixjcmVhdGVQb3J0YWw6JCxjcmVhdGVFbGVtZW50OnQsY3JlYXRlQ29udGV4dDpjLGNyZWF0ZUZhY3Rvcnk6ZG4sY2xvbmVFbGVtZW50Ol9uLGNyZWF0ZVJlZjpsLEZyYWdtZW50OnUsaXNWYWxpZEVsZW1lbnQ6cG4saXNFbGVtZW50OnhuLGlzRnJhZ21lbnQ6bW4saXNNZW1vOnluLGZpbmRET01Ob2RlOlNuLENvbXBvbmVudDpuLFB1cmVDb21wb25lbnQ6TixtZW1vOk0sZm9yd2FyZFJlZjpELGZsdXNoU3luYzpFbix1bnN0YWJsZV9iYXRjaGVkVXBkYXRlczpnbixTdHJpY3RNb2RlOkNuLFN1c3BlbnNlOlAsU3VzcGVuc2VMaXN0OkIsbGF6eTp6LF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEOmhufTtleHBvcnR7TyBhcyBDaGlsZHJlbixOIGFzIFB1cmVDb21wb25lbnQsQ24gYXMgU3RyaWN0TW9kZSxQIGFzIFN1c3BlbnNlLEIgYXMgU3VzcGVuc2VMaXN0LGhuIGFzIF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVELF9uIGFzIGNsb25lRWxlbWVudCxkbiBhcyBjcmVhdGVGYWN0b3J5LCQgYXMgY3JlYXRlUG9ydGFsLFJuIGFzIGRlZmF1bHQsU24gYXMgZmluZERPTU5vZGUsRW4gYXMgZmx1c2hTeW5jLEQgYXMgZm9yd2FyZFJlZix0biBhcyBoeWRyYXRlLHhuIGFzIGlzRWxlbWVudCxtbiBhcyBpc0ZyYWdtZW50LHluIGFzIGlzTWVtbyxwbiBhcyBpc1ZhbGlkRWxlbWVudCx6IGFzIGxhenksTSBhcyBtZW1vLG5uIGFzIHJlbmRlcixSIGFzIHN0YXJ0VHJhbnNpdGlvbixibiBhcyB1bm1vdW50Q29tcG9uZW50QXROb2RlLGduIGFzIHVuc3RhYmxlX2JhdGNoZWRVcGRhdGVzLHcgYXMgdXNlRGVmZXJyZWRWYWx1ZSxJIGFzIHVzZUluc2VydGlvbkVmZmVjdCxDIGFzIHVzZVN5bmNFeHRlcm5hbFN0b3JlLGsgYXMgdXNlVHJhbnNpdGlvbix2biBhcyB2ZXJzaW9ufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbXBhdC5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///763\n')},877:function(module,exports,__webpack_require__){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(763), __webpack_require__(556), __webpack_require__(225), __webpack_require__(517)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _react, _propTypes, _Tooltip, _InfotipIcon) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports["default"] = void 0;\n _react = _interopRequireDefault(_react);\n _propTypes = _interopRequireDefault(_propTypes);\n _Tooltip = _interopRequireDefault(_Tooltip);\n _InfotipIcon = _interopRequireDefault(_InfotipIcon);\n var _excluded = ["label", "lightIcon"];\n function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }\n function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\n function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n var BUTTON_SIZE = "16px";\n var buttonStyle = {\n background: "transparent",\n border: 0,\n padding: 0,\n width: BUTTON_SIZE,\n height: BUTTON_SIZE,\n WebkitTouchCallout: "none",\n WebkitUserSelect: "none",\n userSelect: "none"\n };\n\n // Use basic touch handlers for mobile "tap-to-open" ui. Mobile touch\n // is currently not supported by @reach/tooltip; this may change in future.\n // Leverages @reach/tooltip "focus" behavior to open tooltip on tap,\n // and close tooltip on second tap or loss of focus.\n // TODO: We may want to improve this by tracking touch positions to ensure\n // that a \'touchend\' event must be reasonably close to the tooltip target.\n var touchHandlers = {\n onTouchStart: function onTouchStart(e) {\n e.stopPropagation();\n },\n onTouchEnd: function onTouchEnd(e) {\n if (document.activeElement !== e.currentTarget) {\n e.preventDefault();\n e.currentTarget.focus();\n } else {\n e.preventDefault();\n e.currentTarget.blur();\n }\n }\n };\n\n /**\n * Tooltip with styled information icon\n */\n var Infotip = function Infotip(_ref) {\n var label = _ref.label,\n lightIcon = _ref.lightIcon,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], _extends({\n label: label\n }, props), /*#__PURE__*/_react["default"].createElement("button", _extends({\n type: "button",\n "aria-label": "Information",\n style: buttonStyle\n }, touchHandlers), /*#__PURE__*/_react["default"].createElement(_InfotipIcon["default"], {\n lightIcon: lightIcon,\n width: BUTTON_SIZE,\n height: BUTTON_SIZE,\n "aria-hidden": true,\n style: {\n "float": "left"\n }\n })));\n };\n Infotip.propTypes = {\n label: _propTypes["default"].string.isRequired,\n ariaLabel: _propTypes["default"].string,\n lightIcon: _propTypes["default"].bool,\n DEBUG_STYLE: _propTypes["default"].bool\n };\n Infotip.defaultProps = {\n ariaLabel: undefined,\n lightIcon: false,\n DEBUG_STYLE: undefined\n };\n var _default = _exports["default"] = Infotip;\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiODc3LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBS0EsSUFBTUEsV0FBVyxHQUFHLE1BQU07RUFFMUIsSUFBTUMsV0FBVyxHQUFHO0lBQ2hCQyxVQUFVLEVBQUUsYUFBYTtJQUN6QkMsTUFBTSxFQUFFLENBQUM7SUFDVEMsT0FBTyxFQUFFLENBQUM7SUFDVkMsS0FBSyxFQUFFTCxXQUFXO0lBQ2xCTSxNQUFNLEVBQUVOLFdBQVc7SUFDbkJPLGtCQUFrQixFQUFFLE1BQU07SUFDMUJDLGdCQUFnQixFQUFFLE1BQU07SUFDeEJDLFVBQVUsRUFBRTtFQUNoQixDQUFDOztFQUVEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLElBQU1DLGFBQWEsR0FBRztJQUNsQkMsWUFBWSxFQUFFLFNBQWRBLFlBQVlBLENBQUdDLENBQUMsRUFBSztNQUNqQkEsQ0FBQyxDQUFDQyxlQUFlLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBQ0RDLFVBQVUsRUFBRSxTQUFaQSxVQUFVQSxDQUFHRixDQUFDLEVBQUs7TUFDZixJQUFJRyxRQUFRLENBQUNDLGFBQWEsS0FBS0osQ0FBQyxDQUFDSyxhQUFhLEVBQUU7UUFDNUNMLENBQUMsQ0FBQ00sY0FBYyxDQUFDLENBQUM7UUFDbEJOLENBQUMsQ0FBQ0ssYUFBYSxDQUFDRSxLQUFLLENBQUMsQ0FBQztNQUMzQixDQUFDLE1BQU07UUFDSFAsQ0FBQyxDQUFDTSxjQUFjLENBQUMsQ0FBQztRQUNsQk4sQ0FBQyxDQUFDSyxhQUFhLENBQUNHLElBQUksQ0FBQyxDQUFDO01BQzFCO0lBQ0o7RUFDSixDQUFDOztFQUVEO0FBQ0E7QUFDQTtFQUNBLElBQU1DLE9BQU8sR0FBRyxTQUFWQSxPQUFPQSxDQUFBQyxJQUFBO0lBQUEsSUFBTUMsS0FBSyxHQUFBRCxJQUFBLENBQUxDLEtBQUs7TUFBRUMsU0FBUyxHQUFBRixJQUFBLENBQVRFLFNBQVM7TUFBS0MsS0FBSyxHQUFBQyx3QkFBQSxDQUFBSixJQUFBLEVBQUFLLFNBQUE7SUFBQSxvQkFDekNDLE1BQUEsWUFBQUMsYUFBQSxDQUFDQyxRQUFBLFdBQU8sRUFBQUMsUUFBQTtNQUFDUixLQUFLLEVBQUVBO0lBQU0sR0FBS0UsS0FBSyxnQkFDNUJHLE1BQUEsWUFBQUMsYUFBQSxXQUFBRSxRQUFBO01BQ0lDLElBQUksRUFBQyxRQUFRO01BQ2IsY0FBVyxhQUFhO01BQ3hCQyxLQUFLLEVBQUVoQztJQUFZLEdBQ2ZTLGFBQWEsZ0JBRWpCa0IsTUFBQSxZQUFBQyxhQUFBLENBQUNLLFlBQUEsV0FBVztNQUNSVixTQUFTLEVBQUVBLFNBQVU7TUFDckJuQixLQUFLLEVBQUVMLFdBQVk7TUFDbkJNLE1BQU0sRUFBRU4sV0FBWTtNQUNwQixtQkFBVztNQUNYaUMsS0FBSyxFQUFFO1FBQUUsU0FBTztNQUFPO0lBQUUsQ0FDNUIsQ0FDRyxDQUNILENBQUM7RUFBQSxDQUNiO0VBRURaLE9BQU8sQ0FBQ2MsU0FBUyxHQUFHO0lBQ2hCWixLQUFLLEVBQUVhLHFCQUFTLENBQUNDLE1BQU0sQ0FBQ0MsVUFBVTtJQUNsQ0MsU0FBUyxFQUFFSCxxQkFBUyxDQUFDQyxNQUFNO0lBQzNCYixTQUFTLEVBQUVZLHFCQUFTLENBQUNJLElBQUk7SUFDekJDLFdBQVcsRUFBRUwscUJBQVMsQ0FBQ0k7RUFDM0IsQ0FBQztFQUVEbkIsT0FBTyxDQUFDcUIsWUFBWSxHQUFHO0lBQ25CSCxTQUFTLEVBQUVJLFNBQVM7SUFDcEJuQixTQUFTLEVBQUUsS0FBSztJQUNoQmlCLFdBQVcsRUFBRUU7RUFDakIsQ0FBQztFQUFDLElBQUFDLFFBQUEsR0FBQUMsUUFBQSxjQUVheEIsT0FBTztBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9jb21wb25lbnRzL0luZm90aXAvSW5mb3RpcC5qc3g/Y2M4OCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5pbXBvcnQgVG9vbHRpcCBmcm9tIFwiLi4vVG9vbHRpcFwiO1xuaW1wb3J0IEluZm90aXBJY29uIGZyb20gXCIuL0luZm90aXBJY29uXCI7XG5cbmNvbnN0IEJVVFRPTl9TSVpFID0gXCIxNnB4XCI7XG5cbmNvbnN0IGJ1dHRvblN0eWxlID0ge1xuICAgIGJhY2tncm91bmQ6IFwidHJhbnNwYXJlbnRcIixcbiAgICBib3JkZXI6IDAsXG4gICAgcGFkZGluZzogMCxcbiAgICB3aWR0aDogQlVUVE9OX1NJWkUsXG4gICAgaGVpZ2h0OiBCVVRUT05fU0laRSxcbiAgICBXZWJraXRUb3VjaENhbGxvdXQ6IFwibm9uZVwiLFxuICAgIFdlYmtpdFVzZXJTZWxlY3Q6IFwibm9uZVwiLFxuICAgIHVzZXJTZWxlY3Q6IFwibm9uZVwiLFxufTtcblxuLy8gVXNlIGJhc2ljIHRvdWNoIGhhbmRsZXJzIGZvciBtb2JpbGUgXCJ0YXAtdG8tb3BlblwiIHVpLiAgTW9iaWxlIHRvdWNoXG4vLyBpcyBjdXJyZW50bHkgbm90IHN1cHBvcnRlZCBieSBAcmVhY2gvdG9vbHRpcDsgdGhpcyBtYXkgY2hhbmdlIGluIGZ1dHVyZS5cbi8vIExldmVyYWdlcyBAcmVhY2gvdG9vbHRpcCBcImZvY3VzXCIgYmVoYXZpb3IgdG8gb3BlbiB0b29sdGlwIG9uIHRhcCxcbi8vIGFuZCBjbG9zZSB0b29sdGlwIG9uIHNlY29uZCB0YXAgb3IgbG9zcyBvZiBmb2N1cy5cbi8vIFRPRE86IFdlIG1heSB3YW50IHRvIGltcHJvdmUgdGhpcyBieSB0cmFja2luZyB0b3VjaCBwb3NpdGlvbnMgdG8gZW5zdXJlXG4vLyB0aGF0IGEgJ3RvdWNoZW5kJyBldmVudCBtdXN0IGJlIHJlYXNvbmFibHkgY2xvc2UgdG8gdGhlIHRvb2x0aXAgdGFyZ2V0LlxuY29uc3QgdG91Y2hIYW5kbGVycyA9IHtcbiAgICBvblRvdWNoU3RhcnQ6IChlKSA9PiB7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfSxcbiAgICBvblRvdWNoRW5kOiAoZSkgPT4ge1xuICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAhPT0gZS5jdXJyZW50VGFyZ2V0KSB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBlLmN1cnJlbnRUYXJnZXQuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGUuY3VycmVudFRhcmdldC5ibHVyKCk7XG4gICAgICAgIH1cbiAgICB9LFxufTtcblxuLyoqXG4gKiBUb29sdGlwIHdpdGggc3R5bGVkIGluZm9ybWF0aW9uIGljb25cbiAqL1xuY29uc3QgSW5mb3RpcCA9ICh7IGxhYmVsLCBsaWdodEljb24sIC4uLnByb3BzIH0pID0+IChcbiAgICA8VG9vbHRpcCBsYWJlbD17bGFiZWx9IHsuLi5wcm9wc30+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkluZm9ybWF0aW9uXCJcbiAgICAgICAgICAgIHN0eWxlPXtidXR0b25TdHlsZX1cbiAgICAgICAgICAgIHsuLi50b3VjaEhhbmRsZXJzfVxuICAgICAgICA+XG4gICAgICAgICAgICA8SW5mb3RpcEljb25cbiAgICAgICAgICAgICAgICBsaWdodEljb249e2xpZ2h0SWNvbn1cbiAgICAgICAgICAgICAgICB3aWR0aD17QlVUVE9OX1NJWkV9XG4gICAgICAgICAgICAgICAgaGVpZ2h0PXtCVVRUT05fU0laRX1cbiAgICAgICAgICAgICAgICBhcmlhLWhpZGRlblxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IGZsb2F0OiBcImxlZnRcIiB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9Ub29sdGlwPlxuKTtcblxuSW5mb3RpcC5wcm9wVHlwZXMgPSB7XG4gICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBhcmlhTGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbGlnaHRJY29uOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBERUJVR19TVFlMRTogUHJvcFR5cGVzLmJvb2wsXG59O1xuXG5JbmZvdGlwLmRlZmF1bHRQcm9wcyA9IHtcbiAgICBhcmlhTGFiZWw6IHVuZGVmaW5lZCxcbiAgICBsaWdodEljb246IGZhbHNlLFxuICAgIERFQlVHX1NUWUxFOiB1bmRlZmluZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBJbmZvdGlwO1xuIl0sIm5hbWVzIjpbIkJVVFRPTl9TSVpFIiwiYnV0dG9uU3R5bGUiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyIiwicGFkZGluZyIsIndpZHRoIiwiaGVpZ2h0IiwiV2Via2l0VG91Y2hDYWxsb3V0IiwiV2Via2l0VXNlclNlbGVjdCIsInVzZXJTZWxlY3QiLCJ0b3VjaEhhbmRsZXJzIiwib25Ub3VjaFN0YXJ0IiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsIm9uVG91Y2hFbmQiLCJkb2N1bWVudCIsImFjdGl2ZUVsZW1lbnQiLCJjdXJyZW50VGFyZ2V0IiwicHJldmVudERlZmF1bHQiLCJmb2N1cyIsImJsdXIiLCJJbmZvdGlwIiwiX3JlZiIsImxhYmVsIiwibGlnaHRJY29uIiwicHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJfcmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiX1Rvb2x0aXAiLCJfZXh0ZW5kcyIsInR5cGUiLCJzdHlsZSIsIl9JbmZvdGlwSWNvbiIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImlzUmVxdWlyZWQiLCJhcmlhTGFiZWwiLCJib29sIiwiREVCVUdfU1RZTEUiLCJkZWZhdWx0UHJvcHMiLCJ1bmRlZmluZWQiLCJfZGVmYXVsdCIsIl9leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///877\n')},888:function(module,exports,__webpack_require__){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(763), __webpack_require__(172), __webpack_require__(556)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _react, _Collapsible, _propTypes) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports["default"] = void 0;\n _react = _interopRequireDefault(_react);\n _Collapsible = _interopRequireDefault(_Collapsible);\n _propTypes = _interopRequireDefault(_propTypes);\n function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }\n var ErrorUI = function ErrorUI(props) {\n var errorTitle = "".concat(props.type || "Error", " ").concat(props.code || "");\n var errorDetails = props.message;\n return /*#__PURE__*/_react["default"].createElement("section", {\n className: "page-error"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: "responsive-container"\n }, /*#__PURE__*/_react["default"].createElement("h1", null, "We\\u2019re sorry."), /*#__PURE__*/_react["default"].createElement("p", {\n className: "h2"\n }, "We cannot access this page."), /*#__PURE__*/_react["default"].createElement(_Collapsible["default"], {\n showLabel: "Open technical details about the error",\n hideLabel: "Close technical details about the error",\n contentTitle: errorTitle,\n content: errorDetails\n })));\n };\n ErrorUI.propTypes = {\n code: _propTypes["default"].string,\n message: _propTypes["default"].oneOfType([_propTypes["default"].array, _propTypes["default"].string]),\n type: _propTypes["default"].string\n };\n var _default = _exports["default"] = ErrorUI;\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiODg4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUlBLElBQU1BLE9BQU8sR0FBRyxTQUFWQSxPQUFPQSxDQUFJQyxLQUFLLEVBQUs7SUFDdkIsSUFBSUMsVUFBVSxNQUFBQyxNQUFBLENBQU1GLEtBQUssQ0FBQ0csSUFBSSxJQUFJLE9BQU8sT0FBQUQsTUFBQSxDQUFJRixLQUFLLENBQUNJLElBQUksSUFBSSxFQUFFLENBQUU7SUFDL0QsSUFBSUMsWUFBWSxHQUFHTCxLQUFLLENBQUNNLE9BQU87SUFFaEMsb0JBQ0lDLE1BQUEsWUFBQUMsYUFBQTtNQUFTQyxTQUFTLEVBQUM7SUFBWSxnQkFDM0JGLE1BQUEsWUFBQUMsYUFBQTtNQUFLQyxTQUFTLEVBQUM7SUFBc0IsZ0JBQ2pDRixNQUFBLFlBQUFDLGFBQUEsYUFBSSxtQkFBZ0IsQ0FBQyxlQUNyQkQsTUFBQSxZQUFBQyxhQUFBO01BQUdDLFNBQVMsRUFBQztJQUFJLEdBQUMsNkJBQThCLENBQUMsZUFDakRGLE1BQUEsWUFBQUMsYUFBQSxDQUFDRSxZQUFBLFdBQVc7TUFDUkMsU0FBUyxFQUFDLHdDQUF3QztNQUNsREMsU0FBUyxFQUFDLHlDQUF5QztNQUNuREMsWUFBWSxFQUFFWixVQUFXO01BQ3pCYSxPQUFPLEVBQUVUO0lBQWEsQ0FDekIsQ0FDQSxDQUNBLENBQUM7RUFFbEIsQ0FBQztFQUVETixPQUFPLENBQUNnQixTQUFTLEdBQUc7SUFDaEJYLElBQUksRUFBRVkscUJBQVMsQ0FBQ0MsTUFBTTtJQUN0QlgsT0FBTyxFQUFFVSxxQkFBUyxDQUFDRSxTQUFTLENBQUMsQ0FBQ0YscUJBQVMsQ0FBQ0csS0FBSyxFQUFFSCxxQkFBUyxDQUFDQyxNQUFNLENBQUMsQ0FBQztJQUNqRWQsSUFBSSxFQUFFYSxxQkFBUyxDQUFDQztFQUNwQixDQUFDO0VBQUMsSUFBQUcsUUFBQSxHQUFBQyxRQUFBLGNBRWF0QixPQUFPO0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL2NvbXBvbmVudHMvRXJyb3IvRXJyb3JVSS5qc3g/ZjRjZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgQ29sbGFwc2libGUgZnJvbSBcIi4vQ29sbGFwc2libGVcIjtcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIjtcblxuY29uc3QgRXJyb3JVSSA9IChwcm9wcykgPT4ge1xuICAgIGxldCBlcnJvclRpdGxlID0gYCR7cHJvcHMudHlwZSB8fCBcIkVycm9yXCJ9ICR7cHJvcHMuY29kZSB8fCBcIlwifWA7XG4gICAgbGV0IGVycm9yRGV0YWlscyA9IHByb3BzLm1lc3NhZ2U7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJwYWdlLWVycm9yXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlc3BvbnNpdmUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGgxPldl4oCZcmUgc29ycnkuPC9oMT5cbiAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJoMlwiPldlIGNhbm5vdCBhY2Nlc3MgdGhpcyBwYWdlLjwvcD5cbiAgICAgICAgICAgICAgICA8Q29sbGFwc2libGVcbiAgICAgICAgICAgICAgICAgICAgc2hvd0xhYmVsPVwiT3BlbiB0ZWNobmljYWwgZGV0YWlscyBhYm91dCB0aGUgZXJyb3JcIlxuICAgICAgICAgICAgICAgICAgICBoaWRlTGFiZWw9XCJDbG9zZSB0ZWNobmljYWwgZGV0YWlscyBhYm91dCB0aGUgZXJyb3JcIlxuICAgICAgICAgICAgICAgICAgICBjb250ZW50VGl0bGU9e2Vycm9yVGl0bGV9XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ9e2Vycm9yRGV0YWlsc31cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICApO1xufTtcblxuRXJyb3JVSS5wcm9wVHlwZXMgPSB7XG4gICAgY29kZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBtZXNzYWdlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYXJyYXksIFByb3BUeXBlcy5zdHJpbmddKSxcbiAgICB0eXBlOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgRXJyb3JVSTtcbiJdLCJuYW1lcyI6WyJFcnJvclVJIiwicHJvcHMiLCJlcnJvclRpdGxlIiwiY29uY2F0IiwidHlwZSIsImNvZGUiLCJlcnJvckRldGFpbHMiLCJtZXNzYWdlIiwiX3JlYWN0IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsIl9Db2xsYXBzaWJsZSIsInNob3dMYWJlbCIsImhpZGVMYWJlbCIsImNvbnRlbnRUaXRsZSIsImNvbnRlbnQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJvbmVPZlR5cGUiLCJhcnJheSIsIl9kZWZhdWx0IiwiX2V4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///888\n')},925:module=>{"use strict";eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOTI1LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYjs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvbGliL1JlYWN0UHJvcFR5cGVzU2VjcmV0LmpzPzU5YjAiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBSZWFjdFByb3BUeXBlc1NlY3JldCA9ICdTRUNSRVRfRE9fTk9UX1BBU1NfVEhJU19PUl9ZT1VfV0lMTF9CRV9GSVJFRCc7XG5cbm1vZHVsZS5leHBvcnRzID0gUmVhY3RQcm9wVHlwZXNTZWNyZXQ7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///925\n")},937:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ S: () => (/* binding */ canUseDOM)\n/* harmony export */ });\nfunction canUseDOM() {\n return !!(typeof window !== "undefined" && window.document && window.document.createElement);\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOTM3LmpzIiwibWFwcGluZ3MiOiI7OztBQUFBO0FBQ0E7QUFDQTs7QUFFcUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdXRpbHMvY2FuLXVzZS1kb20vZGlzdC9yZWFjaC11dGlscy1jYW4tdXNlLWRvbS5lc20uanM/ZjM3ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBjYW5Vc2VET00oKSB7XG4gIHJldHVybiAhISh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5kb2N1bWVudCAmJiB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCk7XG59XG5cbmV4cG9ydCB7IGNhblVzZURPTSB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///937\n')}},__webpack_module_cache__={};function __webpack_require__(e){var n=__webpack_module_cache__[e];if(void 0!==n)return n.exports;var t=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(t.exports,t,t.exports,__webpack_require__),t.exports}__webpack_require__.d=(e,n)=>{for(var t in n)__webpack_require__.o(n,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},__webpack_require__.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__=__webpack_require__(24);QPPStyle=__webpack_exports__})();
|
|
1
|
+
var QPPStyle;(()=>{var __webpack_modules__={24:function(module,exports,__webpack_require__){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(694), __webpack_require__(258), __webpack_require__(88)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _error, _footer, _whatInput) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports["default"] = void 0;\n _error = _interopRequireDefault(_error);\n _footer = _interopRequireDefault(_footer);\n function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }\n var QppStyleComponents = {\n errorPage: function errorPage(options) {\n return new _error["default"](options);\n },\n footer: function footer(options) {\n return new _footer["default"](options);\n }\n };\n var _default = _exports["default"] = QppStyleComponents;\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFLQSxJQUFNQSxrQkFBa0IsR0FBRztJQUN2QkMsU0FBUyxXQUFUQSxTQUFTQSxDQUFDQyxPQUFPLEVBQUU7TUFDZixPQUFPLElBQUlDLGlCQUFTLENBQUNELE9BQU8sQ0FBQztJQUNqQyxDQUFDO0lBRURFLE1BQU0sV0FBTkEsTUFBTUEsQ0FBQ0YsT0FBTyxFQUFFO01BQ1osT0FBTyxJQUFJRyxrQkFBTSxDQUFDSCxPQUFPLENBQUM7SUFDOUI7RUFDSixDQUFDO0VBQUMsSUFBQUksUUFBQSxHQUFBQyxRQUFBLGNBRWFQLGtCQUFrQjtBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9pbmRleC5qcz80MWY1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFcnJvclBhZ2UgZnJvbSBcIi4vY29tcG9uZW50cy9FcnJvci9lcnJvclwiO1xuaW1wb3J0IEZvb3RlciBmcm9tIFwiLi9jb21wb25lbnRzL0Zvb3Rlci9mb290ZXJcIjtcblxuaW1wb3J0IFwid2hhdC1pbnB1dFwiO1xuXG5jb25zdCBRcHBTdHlsZUNvbXBvbmVudHMgPSB7XG4gICAgZXJyb3JQYWdlKG9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBFcnJvclBhZ2Uob3B0aW9ucyk7XG4gICAgfSxcblxuICAgIGZvb3RlcihvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBuZXcgRm9vdGVyKG9wdGlvbnMpO1xuICAgIH0sXG59O1xuXG5leHBvcnQgZGVmYXVsdCBRcHBTdHlsZUNvbXBvbmVudHM7XG4iXSwibmFtZXMiOlsiUXBwU3R5bGVDb21wb25lbnRzIiwiZXJyb3JQYWdlIiwib3B0aW9ucyIsIkVycm9yUGFnZSIsImZvb3RlciIsIkZvb3RlciIsIl9kZWZhdWx0IiwiX2V4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///24\n')},88:function(module){eval("/**\n * what-input - A global utility for tracking the current input method (mouse, keyboard or touch).\n * @version v5.2.12\n * @link https://github.com/ten1seven/what-input\n * @license MIT\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse {}\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __nested_webpack_require_738__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_738__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__nested_webpack_require_738__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__nested_webpack_require_738__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__nested_webpack_require_738__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __nested_webpack_require_738__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\tmodule.exports = function () {\n\t /*\n\t * bail out if there is no document or window\n\t * (i.e. in a node/non-DOM environment)\n\t *\n\t * Return a stubbed API instead\n\t */\n\t if (typeof document === 'undefined' || typeof window === 'undefined') {\n\t return {\n\t // always return \"initial\" because no interaction will ever be detected\n\t ask: function ask() {\n\t return 'initial';\n\t },\n\n\t // always return null\n\t element: function element() {\n\t return null;\n\t },\n\n\t // no-op\n\t ignoreKeys: function ignoreKeys() {},\n\n\t // no-op\n\t specificKeys: function specificKeys() {},\n\n\t // no-op\n\t registerOnChange: function registerOnChange() {},\n\n\t // no-op\n\t unRegisterOnChange: function unRegisterOnChange() {}\n\t };\n\t }\n\n\t /*\n\t * variables\n\t */\n\n\t // cache document.documentElement\n\t var docElem = document.documentElement;\n\n\t // currently focused dom element\n\t var currentElement = null;\n\n\t // last used input type\n\t var currentInput = 'initial';\n\n\t // last used input intent\n\t var currentIntent = currentInput;\n\n\t // UNIX timestamp of current event\n\t var currentTimestamp = Date.now();\n\n\t // check for a `data-whatpersist` attribute on either the `html` or `body` elements, defaults to `true`\n\t var shouldPersist = false;\n\n\t // form input types\n\t var formInputs = ['button', 'input', 'select', 'textarea'];\n\n\t // empty array for holding callback functions\n\t var functionList = [];\n\n\t // list of modifier keys commonly used with the mouse and\n\t // can be safely ignored to prevent false keyboard detection\n\t var ignoreMap = [16, // shift\n\t 17, // control\n\t 18, // alt\n\t 91, // Windows key / left Apple cmd\n\t 93 // Windows menu / right Apple cmd\n\t ];\n\n\t var specificMap = [];\n\n\t // mapping of events to input types\n\t var inputMap = {\n\t keydown: 'keyboard',\n\t keyup: 'keyboard',\n\t mousedown: 'mouse',\n\t mousemove: 'mouse',\n\t MSPointerDown: 'pointer',\n\t MSPointerMove: 'pointer',\n\t pointerdown: 'pointer',\n\t pointermove: 'pointer',\n\t touchstart: 'touch',\n\t touchend: 'touch'\n\n\t // boolean: true if the page is being scrolled\n\t };var isScrolling = false;\n\n\t // store current mouse position\n\t var mousePos = {\n\t x: null,\n\t y: null\n\n\t // map of IE 10 pointer events\n\t };var pointerMap = {\n\t 2: 'touch',\n\t 3: 'touch', // treat pen like touch\n\t 4: 'mouse'\n\n\t // check support for passive event listeners\n\t };var supportsPassive = false;\n\n\t try {\n\t var opts = Object.defineProperty({}, 'passive', {\n\t get: function get() {\n\t supportsPassive = true;\n\t }\n\t });\n\n\t window.addEventListener('test', null, opts);\n\t } catch (e) {}\n\t // fail silently\n\n\n\t /*\n\t * set up\n\t */\n\n\t var setUp = function setUp() {\n\t // add correct mouse wheel event mapping to `inputMap`\n\t inputMap[detectWheel()] = 'mouse';\n\n\t addListeners();\n\t };\n\n\t /*\n\t * events\n\t */\n\n\t var addListeners = function addListeners() {\n\t // `pointermove`, `MSPointerMove`, `mousemove` and mouse wheel event binding\n\t // can only demonstrate potential, but not actual, interaction\n\t // and are treated separately\n\t var options = supportsPassive ? { passive: true, capture: true } : true;\n\n\t document.addEventListener('DOMContentLoaded', setPersist, true);\n\n\t // pointer events (mouse, pen, touch)\n\t if (window.PointerEvent) {\n\t window.addEventListener('pointerdown', setInput, true);\n\t window.addEventListener('pointermove', setIntent, true);\n\t } else if (window.MSPointerEvent) {\n\t window.addEventListener('MSPointerDown', setInput, true);\n\t window.addEventListener('MSPointerMove', setIntent, true);\n\t } else {\n\t // mouse events\n\t window.addEventListener('mousedown', setInput, true);\n\t window.addEventListener('mousemove', setIntent, true);\n\n\t // touch events\n\t if ('ontouchstart' in window) {\n\t window.addEventListener('touchstart', setInput, options);\n\t window.addEventListener('touchend', setInput, true);\n\t }\n\t }\n\n\t // mouse wheel\n\t window.addEventListener(detectWheel(), setIntent, options);\n\n\t // keyboard events\n\t window.addEventListener('keydown', setInput, true);\n\t window.addEventListener('keyup', setInput, true);\n\n\t // focus events\n\t window.addEventListener('focusin', setElement, true);\n\t window.addEventListener('focusout', clearElement, true);\n\t };\n\n\t // checks if input persistence should happen and\n\t // get saved state from session storage if true (defaults to `false`)\n\t var setPersist = function setPersist() {\n\t shouldPersist = !(docElem.getAttribute('data-whatpersist') === 'false' || document.body.getAttribute('data-whatpersist') === 'false');\n\n\t if (shouldPersist) {\n\t // check for session variables and use if available\n\t try {\n\t if (window.sessionStorage.getItem('what-input')) {\n\t currentInput = window.sessionStorage.getItem('what-input');\n\t }\n\n\t if (window.sessionStorage.getItem('what-intent')) {\n\t currentIntent = window.sessionStorage.getItem('what-intent');\n\t }\n\t } catch (e) {\n\t // fail silently\n\t }\n\t }\n\n\t // always run these so at least `initial` state is set\n\t doUpdate('input');\n\t doUpdate('intent');\n\t };\n\n\t // checks conditions before updating new input\n\t var setInput = function setInput(event) {\n\t var eventKey = event.which;\n\t var value = inputMap[event.type];\n\n\t if (value === 'pointer') {\n\t value = pointerType(event);\n\t }\n\n\t var ignoreMatch = !specificMap.length && ignoreMap.indexOf(eventKey) === -1;\n\n\t var specificMatch = specificMap.length && specificMap.indexOf(eventKey) !== -1;\n\n\t var shouldUpdate = value === 'keyboard' && eventKey && (ignoreMatch || specificMatch) || value === 'mouse' || value === 'touch';\n\n\t // prevent touch detection from being overridden by event execution order\n\t if (validateTouch(value)) {\n\t shouldUpdate = false;\n\t }\n\n\t if (shouldUpdate && currentInput !== value) {\n\t currentInput = value;\n\n\t persistInput('input', currentInput);\n\t doUpdate('input');\n\t }\n\n\t if (shouldUpdate && currentIntent !== value) {\n\t // preserve intent for keyboard interaction with form fields\n\t var activeElem = document.activeElement;\n\t var notFormInput = activeElem && activeElem.nodeName && (formInputs.indexOf(activeElem.nodeName.toLowerCase()) === -1 || activeElem.nodeName.toLowerCase() === 'button' && !checkClosest(activeElem, 'form'));\n\n\t if (notFormInput) {\n\t currentIntent = value;\n\n\t persistInput('intent', currentIntent);\n\t doUpdate('intent');\n\t }\n\t }\n\t };\n\n\t // updates the doc and `inputTypes` array with new input\n\t var doUpdate = function doUpdate(which) {\n\t docElem.setAttribute('data-what' + which, which === 'input' ? currentInput : currentIntent);\n\n\t fireFunctions(which);\n\t };\n\n\t // updates input intent for `mousemove` and `pointermove`\n\t var setIntent = function setIntent(event) {\n\t var value = inputMap[event.type];\n\n\t if (value === 'pointer') {\n\t value = pointerType(event);\n\t }\n\n\t // test to see if `mousemove` happened relative to the screen to detect scrolling versus mousemove\n\t detectScrolling(event);\n\n\t // only execute if scrolling isn't happening\n\t if ((!isScrolling && !validateTouch(value) || isScrolling && event.type === 'wheel' || event.type === 'mousewheel' || event.type === 'DOMMouseScroll') && currentIntent !== value) {\n\t currentIntent = value;\n\n\t persistInput('intent', currentIntent);\n\t doUpdate('intent');\n\t }\n\t };\n\n\t var setElement = function setElement(event) {\n\t if (!event.target.nodeName) {\n\t // If nodeName is undefined, clear the element\n\t // This can happen if click inside an <svg> element.\n\t clearElement();\n\t return;\n\t }\n\n\t currentElement = event.target.nodeName.toLowerCase();\n\t docElem.setAttribute('data-whatelement', currentElement);\n\n\t if (event.target.classList && event.target.classList.length) {\n\t docElem.setAttribute('data-whatclasses', event.target.classList.toString().replace(' ', ','));\n\t }\n\t };\n\n\t var clearElement = function clearElement() {\n\t currentElement = null;\n\n\t docElem.removeAttribute('data-whatelement');\n\t docElem.removeAttribute('data-whatclasses');\n\t };\n\n\t var persistInput = function persistInput(which, value) {\n\t if (shouldPersist) {\n\t try {\n\t window.sessionStorage.setItem('what-' + which, value);\n\t } catch (e) {\n\t // fail silently\n\t }\n\t }\n\t };\n\n\t /*\n\t * utilities\n\t */\n\n\t var pointerType = function pointerType(event) {\n\t if (typeof event.pointerType === 'number') {\n\t return pointerMap[event.pointerType];\n\t } else {\n\t // treat pen like touch\n\t return event.pointerType === 'pen' ? 'touch' : event.pointerType;\n\t }\n\t };\n\n\t // prevent touch detection from being overridden by event execution order\n\t var validateTouch = function validateTouch(value) {\n\t var timestamp = Date.now();\n\n\t var touchIsValid = value === 'mouse' && currentInput === 'touch' && timestamp - currentTimestamp < 200;\n\n\t currentTimestamp = timestamp;\n\n\t return touchIsValid;\n\t };\n\n\t // detect version of mouse wheel event to use\n\t // via https://developer.mozilla.org/en-US/docs/Web/API/Element/wheel_event\n\t var detectWheel = function detectWheel() {\n\t var wheelType = null;\n\n\t // Modern browsers support \"wheel\"\n\t if ('onwheel' in document.createElement('div')) {\n\t wheelType = 'wheel';\n\t } else {\n\t // Webkit and IE support at least \"mousewheel\"\n\t // or assume that remaining browsers are older Firefox\n\t wheelType = document.onmousewheel !== undefined ? 'mousewheel' : 'DOMMouseScroll';\n\t }\n\n\t return wheelType;\n\t };\n\n\t // runs callback functions\n\t var fireFunctions = function fireFunctions(type) {\n\t for (var i = 0, len = functionList.length; i < len; i++) {\n\t if (functionList[i].type === type) {\n\t functionList[i].fn.call(undefined, type === 'input' ? currentInput : currentIntent);\n\t }\n\t }\n\t };\n\n\t // finds matching element in an object\n\t var objPos = function objPos(match) {\n\t for (var i = 0, len = functionList.length; i < len; i++) {\n\t if (functionList[i].fn === match) {\n\t return i;\n\t }\n\t }\n\t };\n\n\t var detectScrolling = function detectScrolling(event) {\n\t if (mousePos.x !== event.screenX || mousePos.y !== event.screenY) {\n\t isScrolling = false;\n\n\t mousePos.x = event.screenX;\n\t mousePos.y = event.screenY;\n\t } else {\n\t isScrolling = true;\n\t }\n\t };\n\n\t // manual version of `closest()`\n\t var checkClosest = function checkClosest(elem, tag) {\n\t var ElementPrototype = window.Element.prototype;\n\n\t if (!ElementPrototype.matches) {\n\t ElementPrototype.matches = ElementPrototype.msMatchesSelector || ElementPrototype.webkitMatchesSelector;\n\t }\n\n\t if (!ElementPrototype.closest) {\n\t do {\n\t if (elem.matches(tag)) {\n\t return elem;\n\t }\n\n\t elem = elem.parentElement || elem.parentNode;\n\t } while (elem !== null && elem.nodeType === 1);\n\n\t return null;\n\t } else {\n\t return elem.closest(tag);\n\t }\n\t };\n\n\t /*\n\t * init\n\t */\n\n\t // don't start script unless browser cuts the mustard\n\t // (also passes if polyfills are used)\n\t if ('addEventListener' in window && Array.prototype.indexOf) {\n\t setUp();\n\t }\n\n\t /*\n\t * api\n\t */\n\n\t return {\n\t // returns string: the current input type\n\t // opt: 'intent'|'input'\n\t // 'input' (default): returns the same value as the `data-whatinput` attribute\n\t // 'intent': includes `data-whatintent` value if it's different than `data-whatinput`\n\t ask: function ask(opt) {\n\t return opt === 'intent' ? currentIntent : currentInput;\n\t },\n\n\t // returns string: the currently focused element or null\n\t element: function element() {\n\t return currentElement;\n\t },\n\n\t // overwrites ignored keys with provided array\n\t ignoreKeys: function ignoreKeys(arr) {\n\t ignoreMap = arr;\n\t },\n\n\t // overwrites specific char keys to update on\n\t specificKeys: function specificKeys(arr) {\n\t specificMap = arr;\n\t },\n\n\t // attach functions to input and intent \"events\"\n\t // funct: function to fire on change\n\t // eventType: 'input'|'intent'\n\t registerOnChange: function registerOnChange(fn, eventType) {\n\t functionList.push({\n\t fn: fn,\n\t type: eventType || 'input'\n\t });\n\t },\n\n\t unRegisterOnChange: function unRegisterOnChange(fn) {\n\t var position = objPos(fn);\n\n\t if (position || position === 0) {\n\t functionList.splice(position, 1);\n\t }\n\t },\n\n\t clearStorage: function clearStorage() {\n\t window.sessionStorage.clear();\n\t }\n\t };\n\t}();\n\n/***/ })\n/******/ ])\n});\n;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiODguanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQXlEO0FBQzdEO0FBQ0EsTUFBTSxFQUswQjtBQUNoQyxDQUFDO0FBQ0QscUNBQXFDO0FBQ3JDO0FBQ0E7O0FBRUE7QUFDQSxtQkFBbUIsOEJBQW1COztBQUV0QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwwRUFBMEUsOEJBQW1COztBQUU3RjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQSxVQUFVLDhCQUFtQjs7QUFFN0I7QUFDQSxVQUFVLDhCQUFtQjs7QUFFN0I7QUFDQSxVQUFVLDhCQUFtQjs7QUFFN0I7QUFDQSxpQkFBaUIsOEJBQW1CO0FBQ3BDLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFROztBQUVSO0FBQ0E7QUFDQTtBQUNBLFFBQVE7O0FBRVI7QUFDQSwyQ0FBMkM7O0FBRTNDO0FBQ0EsK0NBQStDOztBQUUvQztBQUNBLHVEQUF1RDs7QUFFdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBLHdDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQSxNQUFNOztBQUVOO0FBQ0EsS0FBSztBQUNMOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLCtCQUErQjs7QUFFdEU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxTQUFTO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxTQUFTO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07O0FBRU47QUFDQTtBQUNBO0FBQ0EsTUFBTTs7QUFFTjtBQUNBO0FBQ0E7QUFDQSxNQUFNOztBQUVOO0FBQ0E7QUFDQTtBQUNBLE1BQU07O0FBRU47QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1IsTUFBTTs7QUFFTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07O0FBRU47QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGLE9BQU87QUFDUDtBQUNBLENBQUM7QUFDRCIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL3doYXQtaW5wdXQvZGlzdC93aGF0LWlucHV0LmpzPzhlM2IiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiB3aGF0LWlucHV0IC0gQSBnbG9iYWwgdXRpbGl0eSBmb3IgdHJhY2tpbmcgdGhlIGN1cnJlbnQgaW5wdXQgbWV0aG9kIChtb3VzZSwga2V5Ym9hcmQgb3IgdG91Y2gpLlxuICogQHZlcnNpb24gdjUuMi4xMlxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3RlbjFzZXZlbi93aGF0LWlucHV0XG4gKiBAbGljZW5zZSBNSVRcbiAqL1xuKGZ1bmN0aW9uIHdlYnBhY2tVbml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uKHJvb3QsIGZhY3RvcnkpIHtcblx0aWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKVxuXHRcdG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpO1xuXHRlbHNlIGlmKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZClcblx0XHRkZWZpbmUoXCJ3aGF0SW5wdXRcIiwgW10sIGZhY3RvcnkpO1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wid2hhdElucHV0XCJdID0gZmFjdG9yeSgpO1xuXHRlbHNlXG5cdFx0cm9vdFtcIndoYXRJbnB1dFwiXSA9IGZhY3RvcnkoKTtcbn0pKHRoaXMsIGZ1bmN0aW9uKCkge1xucmV0dXJuIC8qKioqKiovIChmdW5jdGlvbihtb2R1bGVzKSB7IC8vIHdlYnBhY2tCb290c3RyYXBcbi8qKioqKiovIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuLyoqKioqKi8gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4vKioqKioqLyBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4vKioqKioqLyBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuLyoqKioqKi8gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuLyoqKioqKi8gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKVxuLyoqKioqKi8gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG5cbi8qKioqKiovIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuLyoqKioqKi8gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbi8qKioqKiovIFx0XHRcdGV4cG9ydHM6IHt9LFxuLyoqKioqKi8gXHRcdFx0aWQ6IG1vZHVsZUlkLFxuLyoqKioqKi8gXHRcdFx0bG9hZGVkOiBmYWxzZVxuLyoqKioqKi8gXHRcdH07XG5cbi8qKioqKiovIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbi8qKioqKiovIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuLyoqKioqKi8gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbi8qKioqKiovIFx0XHRtb2R1bGUubG9hZGVkID0gdHJ1ZTtcblxuLyoqKioqKi8gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4vKioqKioqLyBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuLyoqKioqKi8gXHR9XG5cblxuLyoqKioqKi8gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4vKioqKioqLyBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbi8qKioqKiovIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuLyoqKioqKi8gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbi8qKioqKiovIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oMCk7XG4vKioqKioqLyB9KVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKiovIChbXG4vKiAwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cblx0J3VzZSBzdHJpY3QnO1xuXG5cdG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKCkge1xuXHQgIC8qXG5cdCAgICogYmFpbCBvdXQgaWYgdGhlcmUgaXMgbm8gZG9jdW1lbnQgb3Igd2luZG93XG5cdCAgICogKGkuZS4gaW4gYSBub2RlL25vbi1ET00gZW52aXJvbm1lbnQpXG5cdCAgICpcblx0ICAgKiBSZXR1cm4gYSBzdHViYmVkIEFQSSBpbnN0ZWFkXG5cdCAgICovXG5cdCAgaWYgKHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcblx0ICAgIHJldHVybiB7XG5cdCAgICAgIC8vIGFsd2F5cyByZXR1cm4gXCJpbml0aWFsXCIgYmVjYXVzZSBubyBpbnRlcmFjdGlvbiB3aWxsIGV2ZXIgYmUgZGV0ZWN0ZWRcblx0ICAgICAgYXNrOiBmdW5jdGlvbiBhc2soKSB7XG5cdCAgICAgICAgcmV0dXJuICdpbml0aWFsJztcblx0ICAgICAgfSxcblxuXHQgICAgICAvLyBhbHdheXMgcmV0dXJuIG51bGxcblx0ICAgICAgZWxlbWVudDogZnVuY3Rpb24gZWxlbWVudCgpIHtcblx0ICAgICAgICByZXR1cm4gbnVsbDtcblx0ICAgICAgfSxcblxuXHQgICAgICAvLyBuby1vcFxuXHQgICAgICBpZ25vcmVLZXlzOiBmdW5jdGlvbiBpZ25vcmVLZXlzKCkge30sXG5cblx0ICAgICAgLy8gbm8tb3Bcblx0ICAgICAgc3BlY2lmaWNLZXlzOiBmdW5jdGlvbiBzcGVjaWZpY0tleXMoKSB7fSxcblxuXHQgICAgICAvLyBuby1vcFxuXHQgICAgICByZWdpc3Rlck9uQ2hhbmdlOiBmdW5jdGlvbiByZWdpc3Rlck9uQ2hhbmdlKCkge30sXG5cblx0ICAgICAgLy8gbm8tb3Bcblx0ICAgICAgdW5SZWdpc3Rlck9uQ2hhbmdlOiBmdW5jdGlvbiB1blJlZ2lzdGVyT25DaGFuZ2UoKSB7fVxuXHQgICAgfTtcblx0ICB9XG5cblx0ICAvKlxuXHQgICAqIHZhcmlhYmxlc1xuXHQgICAqL1xuXG5cdCAgLy8gY2FjaGUgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XG5cdCAgdmFyIGRvY0VsZW0gPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG5cblx0ICAvLyBjdXJyZW50bHkgZm9jdXNlZCBkb20gZWxlbWVudFxuXHQgIHZhciBjdXJyZW50RWxlbWVudCA9IG51bGw7XG5cblx0ICAvLyBsYXN0IHVzZWQgaW5wdXQgdHlwZVxuXHQgIHZhciBjdXJyZW50SW5wdXQgPSAnaW5pdGlhbCc7XG5cblx0ICAvLyBsYXN0IHVzZWQgaW5wdXQgaW50ZW50XG5cdCAgdmFyIGN1cnJlbnRJbnRlbnQgPSBjdXJyZW50SW5wdXQ7XG5cblx0ICAvLyBVTklYIHRpbWVzdGFtcCBvZiBjdXJyZW50IGV2ZW50XG5cdCAgdmFyIGN1cnJlbnRUaW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuXG5cdCAgLy8gY2hlY2sgZm9yIGEgYGRhdGEtd2hhdHBlcnNpc3RgIGF0dHJpYnV0ZSBvbiBlaXRoZXIgdGhlIGBodG1sYCBvciBgYm9keWAgZWxlbWVudHMsIGRlZmF1bHRzIHRvIGB0cnVlYFxuXHQgIHZhciBzaG91bGRQZXJzaXN0ID0gZmFsc2U7XG5cblx0ICAvLyBmb3JtIGlucHV0IHR5cGVzXG5cdCAgdmFyIGZvcm1JbnB1dHMgPSBbJ2J1dHRvbicsICdpbnB1dCcsICdzZWxlY3QnLCAndGV4dGFyZWEnXTtcblxuXHQgIC8vIGVtcHR5IGFycmF5IGZvciBob2xkaW5nIGNhbGxiYWNrIGZ1bmN0aW9uc1xuXHQgIHZhciBmdW5jdGlvbkxpc3QgPSBbXTtcblxuXHQgIC8vIGxpc3Qgb2YgbW9kaWZpZXIga2V5cyBjb21tb25seSB1c2VkIHdpdGggdGhlIG1vdXNlIGFuZFxuXHQgIC8vIGNhbiBiZSBzYWZlbHkgaWdub3JlZCB0byBwcmV2ZW50IGZhbHNlIGtleWJvYXJkIGRldGVjdGlvblxuXHQgIHZhciBpZ25vcmVNYXAgPSBbMTYsIC8vIHNoaWZ0XG5cdCAgMTcsIC8vIGNvbnRyb2xcblx0ICAxOCwgLy8gYWx0XG5cdCAgOTEsIC8vIFdpbmRvd3Mga2V5IC8gbGVmdCBBcHBsZSBjbWRcblx0ICA5MyAvLyBXaW5kb3dzIG1lbnUgLyByaWdodCBBcHBsZSBjbWRcblx0ICBdO1xuXG5cdCAgdmFyIHNwZWNpZmljTWFwID0gW107XG5cblx0ICAvLyBtYXBwaW5nIG9mIGV2ZW50cyB0byBpbnB1dCB0eXBlc1xuXHQgIHZhciBpbnB1dE1hcCA9IHtcblx0ICAgIGtleWRvd246ICdrZXlib2FyZCcsXG5cdCAgICBrZXl1cDogJ2tleWJvYXJkJyxcblx0ICAgIG1vdXNlZG93bjogJ21vdXNlJyxcblx0ICAgIG1vdXNlbW92ZTogJ21vdXNlJyxcblx0ICAgIE1TUG9pbnRlckRvd246ICdwb2ludGVyJyxcblx0ICAgIE1TUG9pbnRlck1vdmU6ICdwb2ludGVyJyxcblx0ICAgIHBvaW50ZXJkb3duOiAncG9pbnRlcicsXG5cdCAgICBwb2ludGVybW92ZTogJ3BvaW50ZXInLFxuXHQgICAgdG91Y2hzdGFydDogJ3RvdWNoJyxcblx0ICAgIHRvdWNoZW5kOiAndG91Y2gnXG5cblx0ICAgIC8vIGJvb2xlYW46IHRydWUgaWYgdGhlIHBhZ2UgaXMgYmVpbmcgc2Nyb2xsZWRcblx0ICB9O3ZhciBpc1Njcm9sbGluZyA9IGZhbHNlO1xuXG5cdCAgLy8gc3RvcmUgY3VycmVudCBtb3VzZSBwb3NpdGlvblxuXHQgIHZhciBtb3VzZVBvcyA9IHtcblx0ICAgIHg6IG51bGwsXG5cdCAgICB5OiBudWxsXG5cblx0ICAgIC8vIG1hcCBvZiBJRSAxMCBwb2ludGVyIGV2ZW50c1xuXHQgIH07dmFyIHBvaW50ZXJNYXAgPSB7XG5cdCAgICAyOiAndG91Y2gnLFxuXHQgICAgMzogJ3RvdWNoJywgLy8gdHJlYXQgcGVuIGxpa2UgdG91Y2hcblx0ICAgIDQ6ICdtb3VzZSdcblxuXHQgICAgLy8gY2hlY2sgc3VwcG9ydCBmb3IgcGFzc2l2ZSBldmVudCBsaXN0ZW5lcnNcblx0ICB9O3ZhciBzdXBwb3J0c1Bhc3NpdmUgPSBmYWxzZTtcblxuXHQgIHRyeSB7XG5cdCAgICB2YXIgb3B0cyA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgJ3Bhc3NpdmUnLCB7XG5cdCAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuXHQgICAgICAgIHN1cHBvcnRzUGFzc2l2ZSA9IHRydWU7XG5cdCAgICAgIH1cblx0ICAgIH0pO1xuXG5cdCAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigndGVzdCcsIG51bGwsIG9wdHMpO1xuXHQgIH0gY2F0Y2ggKGUpIHt9XG5cdCAgLy8gZmFpbCBzaWxlbnRseVxuXG5cblx0ICAvKlxuXHQgICAqIHNldCB1cFxuXHQgICAqL1xuXG5cdCAgdmFyIHNldFVwID0gZnVuY3Rpb24gc2V0VXAoKSB7XG5cdCAgICAvLyBhZGQgY29ycmVjdCBtb3VzZSB3aGVlbCBldmVudCBtYXBwaW5nIHRvIGBpbnB1dE1hcGBcblx0ICAgIGlucHV0TWFwW2RldGVjdFdoZWVsKCldID0gJ21vdXNlJztcblxuXHQgICAgYWRkTGlzdGVuZXJzKCk7XG5cdCAgfTtcblxuXHQgIC8qXG5cdCAgICogZXZlbnRzXG5cdCAgICovXG5cblx0ICB2YXIgYWRkTGlzdGVuZXJzID0gZnVuY3Rpb24gYWRkTGlzdGVuZXJzKCkge1xuXHQgICAgLy8gYHBvaW50ZXJtb3ZlYCwgYE1TUG9pbnRlck1vdmVgLCBgbW91c2Vtb3ZlYCBhbmQgbW91c2Ugd2hlZWwgZXZlbnQgYmluZGluZ1xuXHQgICAgLy8gY2FuIG9ubHkgZGVtb25zdHJhdGUgcG90ZW50aWFsLCBidXQgbm90IGFjdHVhbCwgaW50ZXJhY3Rpb25cblx0ICAgIC8vIGFuZCBhcmUgdHJlYXRlZCBzZXBhcmF0ZWx5XG5cdCAgICB2YXIgb3B0aW9ucyA9IHN1cHBvcnRzUGFzc2l2ZSA/IHsgcGFzc2l2ZTogdHJ1ZSwgY2FwdHVyZTogdHJ1ZSB9IDogdHJ1ZTtcblxuXHQgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIHNldFBlcnNpc3QsIHRydWUpO1xuXG5cdCAgICAvLyBwb2ludGVyIGV2ZW50cyAobW91c2UsIHBlbiwgdG91Y2gpXG5cdCAgICBpZiAod2luZG93LlBvaW50ZXJFdmVudCkge1xuXHQgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcmRvd24nLCBzZXRJbnB1dCwgdHJ1ZSk7XG5cdCAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVybW92ZScsIHNldEludGVudCwgdHJ1ZSk7XG5cdCAgICB9IGVsc2UgaWYgKHdpbmRvdy5NU1BvaW50ZXJFdmVudCkge1xuXHQgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignTVNQb2ludGVyRG93bicsIHNldElucHV0LCB0cnVlKTtcblx0ICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ01TUG9pbnRlck1vdmUnLCBzZXRJbnRlbnQsIHRydWUpO1xuXHQgICAgfSBlbHNlIHtcblx0ICAgICAgLy8gbW91c2UgZXZlbnRzXG5cdCAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBzZXRJbnB1dCwgdHJ1ZSk7XG5cdCAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBzZXRJbnRlbnQsIHRydWUpO1xuXG5cdCAgICAgIC8vIHRvdWNoIGV2ZW50c1xuXHQgICAgICBpZiAoJ29udG91Y2hzdGFydCcgaW4gd2luZG93KSB7XG5cdCAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBzZXRJbnB1dCwgb3B0aW9ucyk7XG5cdCAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgc2V0SW5wdXQsIHRydWUpO1xuXHQgICAgICB9XG5cdCAgICB9XG5cblx0ICAgIC8vIG1vdXNlIHdoZWVsXG5cdCAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihkZXRlY3RXaGVlbCgpLCBzZXRJbnRlbnQsIG9wdGlvbnMpO1xuXG5cdCAgICAvLyBrZXlib2FyZCBldmVudHNcblx0ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgc2V0SW5wdXQsIHRydWUpO1xuXHQgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXVwJywgc2V0SW5wdXQsIHRydWUpO1xuXG5cdCAgICAvLyBmb2N1cyBldmVudHNcblx0ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdmb2N1c2luJywgc2V0RWxlbWVudCwgdHJ1ZSk7XG5cdCAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXNvdXQnLCBjbGVhckVsZW1lbnQsIHRydWUpO1xuXHQgIH07XG5cblx0ICAvLyBjaGVja3MgaWYgaW5wdXQgcGVyc2lzdGVuY2Ugc2hvdWxkIGhhcHBlbiBhbmRcblx0ICAvLyBnZXQgc2F2ZWQgc3RhdGUgZnJvbSBzZXNzaW9uIHN0b3JhZ2UgaWYgdHJ1ZSAoZGVmYXVsdHMgdG8gYGZhbHNlYClcblx0ICB2YXIgc2V0UGVyc2lzdCA9IGZ1bmN0aW9uIHNldFBlcnNpc3QoKSB7XG5cdCAgICBzaG91bGRQZXJzaXN0ID0gIShkb2NFbGVtLmdldEF0dHJpYnV0ZSgnZGF0YS13aGF0cGVyc2lzdCcpID09PSAnZmFsc2UnIHx8IGRvY3VtZW50LmJvZHkuZ2V0QXR0cmlidXRlKCdkYXRhLXdoYXRwZXJzaXN0JykgPT09ICdmYWxzZScpO1xuXG5cdCAgICBpZiAoc2hvdWxkUGVyc2lzdCkge1xuXHQgICAgICAvLyBjaGVjayBmb3Igc2Vzc2lvbiB2YXJpYWJsZXMgYW5kIHVzZSBpZiBhdmFpbGFibGVcblx0ICAgICAgdHJ5IHtcblx0ICAgICAgICBpZiAod2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3doYXQtaW5wdXQnKSkge1xuXHQgICAgICAgICAgY3VycmVudElucHV0ID0gd2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3doYXQtaW5wdXQnKTtcblx0ICAgICAgICB9XG5cblx0ICAgICAgICBpZiAod2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3doYXQtaW50ZW50JykpIHtcblx0ICAgICAgICAgIGN1cnJlbnRJbnRlbnQgPSB3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnd2hhdC1pbnRlbnQnKTtcblx0ICAgICAgICB9XG5cdCAgICAgIH0gY2F0Y2ggKGUpIHtcblx0ICAgICAgICAvLyBmYWlsIHNpbGVudGx5XG5cdCAgICAgIH1cblx0ICAgIH1cblxuXHQgICAgLy8gYWx3YXlzIHJ1biB0aGVzZSBzbyBhdCBsZWFzdCBgaW5pdGlhbGAgc3RhdGUgaXMgc2V0XG5cdCAgICBkb1VwZGF0ZSgnaW5wdXQnKTtcblx0ICAgIGRvVXBkYXRlKCdpbnRlbnQnKTtcblx0ICB9O1xuXG5cdCAgLy8gY2hlY2tzIGNvbmRpdGlvbnMgYmVmb3JlIHVwZGF0aW5nIG5ldyBpbnB1dFxuXHQgIHZhciBzZXRJbnB1dCA9IGZ1bmN0aW9uIHNldElucHV0KGV2ZW50KSB7XG5cdCAgICB2YXIgZXZlbnRLZXkgPSBldmVudC53aGljaDtcblx0ICAgIHZhciB2YWx1ZSA9IGlucHV0TWFwW2V2ZW50LnR5cGVdO1xuXG5cdCAgICBpZiAodmFsdWUgPT09ICdwb2ludGVyJykge1xuXHQgICAgICB2YWx1ZSA9IHBvaW50ZXJUeXBlKGV2ZW50KTtcblx0ICAgIH1cblxuXHQgICAgdmFyIGlnbm9yZU1hdGNoID0gIXNwZWNpZmljTWFwLmxlbmd0aCAmJiBpZ25vcmVNYXAuaW5kZXhPZihldmVudEtleSkgPT09IC0xO1xuXG5cdCAgICB2YXIgc3BlY2lmaWNNYXRjaCA9IHNwZWNpZmljTWFwLmxlbmd0aCAmJiBzcGVjaWZpY01hcC5pbmRleE9mKGV2ZW50S2V5KSAhPT0gLTE7XG5cblx0ICAgIHZhciBzaG91bGRVcGRhdGUgPSB2YWx1ZSA9PT0gJ2tleWJvYXJkJyAmJiBldmVudEtleSAmJiAoaWdub3JlTWF0Y2ggfHwgc3BlY2lmaWNNYXRjaCkgfHwgdmFsdWUgPT09ICdtb3VzZScgfHwgdmFsdWUgPT09ICd0b3VjaCc7XG5cblx0ICAgIC8vIHByZXZlbnQgdG91Y2ggZGV0ZWN0aW9uIGZyb20gYmVpbmcgb3ZlcnJpZGRlbiBieSBldmVudCBleGVjdXRpb24gb3JkZXJcblx0ICAgIGlmICh2YWxpZGF0ZVRvdWNoKHZhbHVlKSkge1xuXHQgICAgICBzaG91bGRVcGRhdGUgPSBmYWxzZTtcblx0ICAgIH1cblxuXHQgICAgaWYgKHNob3VsZFVwZGF0ZSAmJiBjdXJyZW50SW5wdXQgIT09IHZhbHVlKSB7XG5cdCAgICAgIGN1cnJlbnRJbnB1dCA9IHZhbHVlO1xuXG5cdCAgICAgIHBlcnNpc3RJbnB1dCgnaW5wdXQnLCBjdXJyZW50SW5wdXQpO1xuXHQgICAgICBkb1VwZGF0ZSgnaW5wdXQnKTtcblx0ICAgIH1cblxuXHQgICAgaWYgKHNob3VsZFVwZGF0ZSAmJiBjdXJyZW50SW50ZW50ICE9PSB2YWx1ZSkge1xuXHQgICAgICAvLyBwcmVzZXJ2ZSBpbnRlbnQgZm9yIGtleWJvYXJkIGludGVyYWN0aW9uIHdpdGggZm9ybSBmaWVsZHNcblx0ICAgICAgdmFyIGFjdGl2ZUVsZW0gPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuXHQgICAgICB2YXIgbm90Rm9ybUlucHV0ID0gYWN0aXZlRWxlbSAmJiBhY3RpdmVFbGVtLm5vZGVOYW1lICYmIChmb3JtSW5wdXRzLmluZGV4T2YoYWN0aXZlRWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKSA9PT0gLTEgfHwgYWN0aXZlRWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnYnV0dG9uJyAmJiAhY2hlY2tDbG9zZXN0KGFjdGl2ZUVsZW0sICdmb3JtJykpO1xuXG5cdCAgICAgIGlmIChub3RGb3JtSW5wdXQpIHtcblx0ICAgICAgICBjdXJyZW50SW50ZW50ID0gdmFsdWU7XG5cblx0ICAgICAgICBwZXJzaXN0SW5wdXQoJ2ludGVudCcsIGN1cnJlbnRJbnRlbnQpO1xuXHQgICAgICAgIGRvVXBkYXRlKCdpbnRlbnQnKTtcblx0ICAgICAgfVxuXHQgICAgfVxuXHQgIH07XG5cblx0ICAvLyB1cGRhdGVzIHRoZSBkb2MgYW5kIGBpbnB1dFR5cGVzYCBhcnJheSB3aXRoIG5ldyBpbnB1dFxuXHQgIHZhciBkb1VwZGF0ZSA9IGZ1bmN0aW9uIGRvVXBkYXRlKHdoaWNoKSB7XG5cdCAgICBkb2NFbGVtLnNldEF0dHJpYnV0ZSgnZGF0YS13aGF0JyArIHdoaWNoLCB3aGljaCA9PT0gJ2lucHV0JyA/IGN1cnJlbnRJbnB1dCA6IGN1cnJlbnRJbnRlbnQpO1xuXG5cdCAgICBmaXJlRnVuY3Rpb25zKHdoaWNoKTtcblx0ICB9O1xuXG5cdCAgLy8gdXBkYXRlcyBpbnB1dCBpbnRlbnQgZm9yIGBtb3VzZW1vdmVgIGFuZCBgcG9pbnRlcm1vdmVgXG5cdCAgdmFyIHNldEludGVudCA9IGZ1bmN0aW9uIHNldEludGVudChldmVudCkge1xuXHQgICAgdmFyIHZhbHVlID0gaW5wdXRNYXBbZXZlbnQudHlwZV07XG5cblx0ICAgIGlmICh2YWx1ZSA9PT0gJ3BvaW50ZXInKSB7XG5cdCAgICAgIHZhbHVlID0gcG9pbnRlclR5cGUoZXZlbnQpO1xuXHQgICAgfVxuXG5cdCAgICAvLyB0ZXN0IHRvIHNlZSBpZiBgbW91c2Vtb3ZlYCBoYXBwZW5lZCByZWxhdGl2ZSB0byB0aGUgc2NyZWVuIHRvIGRldGVjdCBzY3JvbGxpbmcgdmVyc3VzIG1vdXNlbW92ZVxuXHQgICAgZGV0ZWN0U2Nyb2xsaW5nKGV2ZW50KTtcblxuXHQgICAgLy8gb25seSBleGVjdXRlIGlmIHNjcm9sbGluZyBpc24ndCBoYXBwZW5pbmdcblx0ICAgIGlmICgoIWlzU2Nyb2xsaW5nICYmICF2YWxpZGF0ZVRvdWNoKHZhbHVlKSB8fCBpc1Njcm9sbGluZyAmJiBldmVudC50eXBlID09PSAnd2hlZWwnIHx8IGV2ZW50LnR5cGUgPT09ICdtb3VzZXdoZWVsJyB8fCBldmVudC50eXBlID09PSAnRE9NTW91c2VTY3JvbGwnKSAmJiBjdXJyZW50SW50ZW50ICE9PSB2YWx1ZSkge1xuXHQgICAgICBjdXJyZW50SW50ZW50ID0gdmFsdWU7XG5cblx0ICAgICAgcGVyc2lzdElucHV0KCdpbnRlbnQnLCBjdXJyZW50SW50ZW50KTtcblx0ICAgICAgZG9VcGRhdGUoJ2ludGVudCcpO1xuXHQgICAgfVxuXHQgIH07XG5cblx0ICB2YXIgc2V0RWxlbWVudCA9IGZ1bmN0aW9uIHNldEVsZW1lbnQoZXZlbnQpIHtcblx0ICAgIGlmICghZXZlbnQudGFyZ2V0Lm5vZGVOYW1lKSB7XG5cdCAgICAgIC8vIElmIG5vZGVOYW1lIGlzIHVuZGVmaW5lZCwgY2xlYXIgdGhlIGVsZW1lbnRcblx0ICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGlmIGNsaWNrIGluc2lkZSBhbiA8c3ZnPiBlbGVtZW50LlxuXHQgICAgICBjbGVhckVsZW1lbnQoKTtcblx0ICAgICAgcmV0dXJuO1xuXHQgICAgfVxuXG5cdCAgICBjdXJyZW50RWxlbWVudCA9IGV2ZW50LnRhcmdldC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuXHQgICAgZG9jRWxlbS5zZXRBdHRyaWJ1dGUoJ2RhdGEtd2hhdGVsZW1lbnQnLCBjdXJyZW50RWxlbWVudCk7XG5cblx0ICAgIGlmIChldmVudC50YXJnZXQuY2xhc3NMaXN0ICYmIGV2ZW50LnRhcmdldC5jbGFzc0xpc3QubGVuZ3RoKSB7XG5cdCAgICAgIGRvY0VsZW0uc2V0QXR0cmlidXRlKCdkYXRhLXdoYXRjbGFzc2VzJywgZXZlbnQudGFyZ2V0LmNsYXNzTGlzdC50b1N0cmluZygpLnJlcGxhY2UoJyAnLCAnLCcpKTtcblx0ICAgIH1cblx0ICB9O1xuXG5cdCAgdmFyIGNsZWFyRWxlbWVudCA9IGZ1bmN0aW9uIGNsZWFyRWxlbWVudCgpIHtcblx0ICAgIGN1cnJlbnRFbGVtZW50ID0gbnVsbDtcblxuXHQgICAgZG9jRWxlbS5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtd2hhdGVsZW1lbnQnKTtcblx0ICAgIGRvY0VsZW0ucmVtb3ZlQXR0cmlidXRlKCdkYXRhLXdoYXRjbGFzc2VzJyk7XG5cdCAgfTtcblxuXHQgIHZhciBwZXJzaXN0SW5wdXQgPSBmdW5jdGlvbiBwZXJzaXN0SW5wdXQod2hpY2gsIHZhbHVlKSB7XG5cdCAgICBpZiAoc2hvdWxkUGVyc2lzdCkge1xuXHQgICAgICB0cnkge1xuXHQgICAgICAgIHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCd3aGF0LScgKyB3aGljaCwgdmFsdWUpO1xuXHQgICAgICB9IGNhdGNoIChlKSB7XG5cdCAgICAgICAgLy8gZmFpbCBzaWxlbnRseVxuXHQgICAgICB9XG5cdCAgICB9XG5cdCAgfTtcblxuXHQgIC8qXG5cdCAgICogdXRpbGl0aWVzXG5cdCAgICovXG5cblx0ICB2YXIgcG9pbnRlclR5cGUgPSBmdW5jdGlvbiBwb2ludGVyVHlwZShldmVudCkge1xuXHQgICAgaWYgKHR5cGVvZiBldmVudC5wb2ludGVyVHlwZSA9PT0gJ251bWJlcicpIHtcblx0ICAgICAgcmV0dXJuIHBvaW50ZXJNYXBbZXZlbnQucG9pbnRlclR5cGVdO1xuXHQgICAgfSBlbHNlIHtcblx0ICAgICAgLy8gdHJlYXQgcGVuIGxpa2UgdG91Y2hcblx0ICAgICAgcmV0dXJuIGV2ZW50LnBvaW50ZXJUeXBlID09PSAncGVuJyA/ICd0b3VjaCcgOiBldmVudC5wb2ludGVyVHlwZTtcblx0ICAgIH1cblx0ICB9O1xuXG5cdCAgLy8gcHJldmVudCB0b3VjaCBkZXRlY3Rpb24gZnJvbSBiZWluZyBvdmVycmlkZGVuIGJ5IGV2ZW50IGV4ZWN1dGlvbiBvcmRlclxuXHQgIHZhciB2YWxpZGF0ZVRvdWNoID0gZnVuY3Rpb24gdmFsaWRhdGVUb3VjaCh2YWx1ZSkge1xuXHQgICAgdmFyIHRpbWVzdGFtcCA9IERhdGUubm93KCk7XG5cblx0ICAgIHZhciB0b3VjaElzVmFsaWQgPSB2YWx1ZSA9PT0gJ21vdXNlJyAmJiBjdXJyZW50SW5wdXQgPT09ICd0b3VjaCcgJiYgdGltZXN0YW1wIC0gY3VycmVudFRpbWVzdGFtcCA8IDIwMDtcblxuXHQgICAgY3VycmVudFRpbWVzdGFtcCA9IHRpbWVzdGFtcDtcblxuXHQgICAgcmV0dXJuIHRvdWNoSXNWYWxpZDtcblx0ICB9O1xuXG5cdCAgLy8gZGV0ZWN0IHZlcnNpb24gb2YgbW91c2Ugd2hlZWwgZXZlbnQgdG8gdXNlXG5cdCAgLy8gdmlhIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9FbGVtZW50L3doZWVsX2V2ZW50XG5cdCAgdmFyIGRldGVjdFdoZWVsID0gZnVuY3Rpb24gZGV0ZWN0V2hlZWwoKSB7XG5cdCAgICB2YXIgd2hlZWxUeXBlID0gbnVsbDtcblxuXHQgICAgLy8gTW9kZXJuIGJyb3dzZXJzIHN1cHBvcnQgXCJ3aGVlbFwiXG5cdCAgICBpZiAoJ29ud2hlZWwnIGluIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKSB7XG5cdCAgICAgIHdoZWVsVHlwZSA9ICd3aGVlbCc7XG5cdCAgICB9IGVsc2Uge1xuXHQgICAgICAvLyBXZWJraXQgYW5kIElFIHN1cHBvcnQgYXQgbGVhc3QgXCJtb3VzZXdoZWVsXCJcblx0ICAgICAgLy8gb3IgYXNzdW1lIHRoYXQgcmVtYWluaW5nIGJyb3dzZXJzIGFyZSBvbGRlciBGaXJlZm94XG5cdCAgICAgIHdoZWVsVHlwZSA9IGRvY3VtZW50Lm9ubW91c2V3aGVlbCAhPT0gdW5kZWZpbmVkID8gJ21vdXNld2hlZWwnIDogJ0RPTU1vdXNlU2Nyb2xsJztcblx0ICAgIH1cblxuXHQgICAgcmV0dXJuIHdoZWVsVHlwZTtcblx0ICB9O1xuXG5cdCAgLy8gcnVucyBjYWxsYmFjayBmdW5jdGlvbnNcblx0ICB2YXIgZmlyZUZ1bmN0aW9ucyA9IGZ1bmN0aW9uIGZpcmVGdW5jdGlvbnModHlwZSkge1xuXHQgICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGZ1bmN0aW9uTGlzdC5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuXHQgICAgICBpZiAoZnVuY3Rpb25MaXN0W2ldLnR5cGUgPT09IHR5cGUpIHtcblx0ICAgICAgICBmdW5jdGlvbkxpc3RbaV0uZm4uY2FsbCh1bmRlZmluZWQsIHR5cGUgPT09ICdpbnB1dCcgPyBjdXJyZW50SW5wdXQgOiBjdXJyZW50SW50ZW50KTtcblx0ICAgICAgfVxuXHQgICAgfVxuXHQgIH07XG5cblx0ICAvLyBmaW5kcyBtYXRjaGluZyBlbGVtZW50IGluIGFuIG9iamVjdFxuXHQgIHZhciBvYmpQb3MgPSBmdW5jdGlvbiBvYmpQb3MobWF0Y2gpIHtcblx0ICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBmdW5jdGlvbkxpc3QubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcblx0ICAgICAgaWYgKGZ1bmN0aW9uTGlzdFtpXS5mbiA9PT0gbWF0Y2gpIHtcblx0ICAgICAgICByZXR1cm4gaTtcblx0ICAgICAgfVxuXHQgICAgfVxuXHQgIH07XG5cblx0ICB2YXIgZGV0ZWN0U2Nyb2xsaW5nID0gZnVuY3Rpb24gZGV0ZWN0U2Nyb2xsaW5nKGV2ZW50KSB7XG5cdCAgICBpZiAobW91c2VQb3MueCAhPT0gZXZlbnQuc2NyZWVuWCB8fCBtb3VzZVBvcy55ICE9PSBldmVudC5zY3JlZW5ZKSB7XG5cdCAgICAgIGlzU2Nyb2xsaW5nID0gZmFsc2U7XG5cblx0ICAgICAgbW91c2VQb3MueCA9IGV2ZW50LnNjcmVlblg7XG5cdCAgICAgIG1vdXNlUG9zLnkgPSBldmVudC5zY3JlZW5ZO1xuXHQgICAgfSBlbHNlIHtcblx0ICAgICAgaXNTY3JvbGxpbmcgPSB0cnVlO1xuXHQgICAgfVxuXHQgIH07XG5cblx0ICAvLyBtYW51YWwgdmVyc2lvbiBvZiBgY2xvc2VzdCgpYFxuXHQgIHZhciBjaGVja0Nsb3Nlc3QgPSBmdW5jdGlvbiBjaGVja0Nsb3Nlc3QoZWxlbSwgdGFnKSB7XG5cdCAgICB2YXIgRWxlbWVudFByb3RvdHlwZSA9IHdpbmRvdy5FbGVtZW50LnByb3RvdHlwZTtcblxuXHQgICAgaWYgKCFFbGVtZW50UHJvdG90eXBlLm1hdGNoZXMpIHtcblx0ICAgICAgRWxlbWVudFByb3RvdHlwZS5tYXRjaGVzID0gRWxlbWVudFByb3RvdHlwZS5tc01hdGNoZXNTZWxlY3RvciB8fCBFbGVtZW50UHJvdG90eXBlLndlYmtpdE1hdGNoZXNTZWxlY3Rvcjtcblx0ICAgIH1cblxuXHQgICAgaWYgKCFFbGVtZW50UHJvdG90eXBlLmNsb3Nlc3QpIHtcblx0ICAgICAgZG8ge1xuXHQgICAgICAgIGlmIChlbGVtLm1hdGNoZXModGFnKSkge1xuXHQgICAgICAgICAgcmV0dXJuIGVsZW07XG5cdCAgICAgICAgfVxuXG5cdCAgICAgICAgZWxlbSA9IGVsZW0ucGFyZW50RWxlbWVudCB8fCBlbGVtLnBhcmVudE5vZGU7XG5cdCAgICAgIH0gd2hpbGUgKGVsZW0gIT09IG51bGwgJiYgZWxlbS5ub2RlVHlwZSA9PT0gMSk7XG5cblx0ICAgICAgcmV0dXJuIG51bGw7XG5cdCAgICB9IGVsc2Uge1xuXHQgICAgICByZXR1cm4gZWxlbS5jbG9zZXN0KHRhZyk7XG5cdCAgICB9XG5cdCAgfTtcblxuXHQgIC8qXG5cdCAgICogaW5pdFxuXHQgICAqL1xuXG5cdCAgLy8gZG9uJ3Qgc3RhcnQgc2NyaXB0IHVubGVzcyBicm93c2VyIGN1dHMgdGhlIG11c3RhcmRcblx0ICAvLyAoYWxzbyBwYXNzZXMgaWYgcG9seWZpbGxzIGFyZSB1c2VkKVxuXHQgIGlmICgnYWRkRXZlbnRMaXN0ZW5lcicgaW4gd2luZG93ICYmIEFycmF5LnByb3RvdHlwZS5pbmRleE9mKSB7XG5cdCAgICBzZXRVcCgpO1xuXHQgIH1cblxuXHQgIC8qXG5cdCAgICogYXBpXG5cdCAgICovXG5cblx0ICByZXR1cm4ge1xuXHQgICAgLy8gcmV0dXJucyBzdHJpbmc6IHRoZSBjdXJyZW50IGlucHV0IHR5cGVcblx0ICAgIC8vIG9wdDogJ2ludGVudCd8J2lucHV0J1xuXHQgICAgLy8gJ2lucHV0JyAoZGVmYXVsdCk6IHJldHVybnMgdGhlIHNhbWUgdmFsdWUgYXMgdGhlIGBkYXRhLXdoYXRpbnB1dGAgYXR0cmlidXRlXG5cdCAgICAvLyAnaW50ZW50JzogaW5jbHVkZXMgYGRhdGEtd2hhdGludGVudGAgdmFsdWUgaWYgaXQncyBkaWZmZXJlbnQgdGhhbiBgZGF0YS13aGF0aW5wdXRgXG5cdCAgICBhc2s6IGZ1bmN0aW9uIGFzayhvcHQpIHtcblx0ICAgICAgcmV0dXJuIG9wdCA9PT0gJ2ludGVudCcgPyBjdXJyZW50SW50ZW50IDogY3VycmVudElucHV0O1xuXHQgICAgfSxcblxuXHQgICAgLy8gcmV0dXJucyBzdHJpbmc6IHRoZSBjdXJyZW50bHkgZm9jdXNlZCBlbGVtZW50IG9yIG51bGxcblx0ICAgIGVsZW1lbnQ6IGZ1bmN0aW9uIGVsZW1lbnQoKSB7XG5cdCAgICAgIHJldHVybiBjdXJyZW50RWxlbWVudDtcblx0ICAgIH0sXG5cblx0ICAgIC8vIG92ZXJ3cml0ZXMgaWdub3JlZCBrZXlzIHdpdGggcHJvdmlkZWQgYXJyYXlcblx0ICAgIGlnbm9yZUtleXM6IGZ1bmN0aW9uIGlnbm9yZUtleXMoYXJyKSB7XG5cdCAgICAgIGlnbm9yZU1hcCA9IGFycjtcblx0ICAgIH0sXG5cblx0ICAgIC8vIG92ZXJ3cml0ZXMgc3BlY2lmaWMgY2hhciBrZXlzIHRvIHVwZGF0ZSBvblxuXHQgICAgc3BlY2lmaWNLZXlzOiBmdW5jdGlvbiBzcGVjaWZpY0tleXMoYXJyKSB7XG5cdCAgICAgIHNwZWNpZmljTWFwID0gYXJyO1xuXHQgICAgfSxcblxuXHQgICAgLy8gYXR0YWNoIGZ1bmN0aW9ucyB0byBpbnB1dCBhbmQgaW50ZW50IFwiZXZlbnRzXCJcblx0ICAgIC8vIGZ1bmN0OiBmdW5jdGlvbiB0byBmaXJlIG9uIGNoYW5nZVxuXHQgICAgLy8gZXZlbnRUeXBlOiAnaW5wdXQnfCdpbnRlbnQnXG5cdCAgICByZWdpc3Rlck9uQ2hhbmdlOiBmdW5jdGlvbiByZWdpc3Rlck9uQ2hhbmdlKGZuLCBldmVudFR5cGUpIHtcblx0ICAgICAgZnVuY3Rpb25MaXN0LnB1c2goe1xuXHQgICAgICAgIGZuOiBmbixcblx0ICAgICAgICB0eXBlOiBldmVudFR5cGUgfHwgJ2lucHV0J1xuXHQgICAgICB9KTtcblx0ICAgIH0sXG5cblx0ICAgIHVuUmVnaXN0ZXJPbkNoYW5nZTogZnVuY3Rpb24gdW5SZWdpc3Rlck9uQ2hhbmdlKGZuKSB7XG5cdCAgICAgIHZhciBwb3NpdGlvbiA9IG9ialBvcyhmbik7XG5cblx0ICAgICAgaWYgKHBvc2l0aW9uIHx8IHBvc2l0aW9uID09PSAwKSB7XG5cdCAgICAgICAgZnVuY3Rpb25MaXN0LnNwbGljZShwb3NpdGlvbiwgMSk7XG5cdCAgICAgIH1cblx0ICAgIH0sXG5cblx0ICAgIGNsZWFyU3RvcmFnZTogZnVuY3Rpb24gY2xlYXJTdG9yYWdlKCkge1xuXHQgICAgICB3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTtcblx0ICAgIH1cblx0ICB9O1xuXHR9KCk7XG5cbi8qKiovIH0pXG4vKioqKioqLyBdKVxufSk7XG47Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///88\n")},103:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ E: () => (/* binding */ useIsomorphicLayoutEffect)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(763);\n/* harmony import */ var _can_use_dom_dist_reach_utils_can_use_dom_esm_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(937);\n\n\n\n/**\n * React currently throws a warning when using useLayoutEffect on the server. To\n * get around it, we can conditionally useEffect on the server (no-op) and\n * useLayoutEffect in the browser. We occasionally need useLayoutEffect to\n * ensure we don't get a render flash for certain operations, but we may also\n * need affected components to render on the server. One example is when setting\n * a component's descendants to retrieve their index values.\n *\n * Important to note that using this hook as an escape hatch will break the\n * eslint dependency warnings unless you rename the import to `useLayoutEffect`.\n * Use sparingly only when the effect won't effect the rendered HTML to avoid\n * any server/client mismatch.\n *\n * If a useLayoutEffect is needed and the result would create a mismatch, it's\n * likely that the component in question shouldn't be rendered on the server at\n * all, so a better approach would be to lazily render those in a parent\n * component after client-side hydration.\n *\n * https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * https://github.com/reduxjs/react-redux/blob/master/src/utils/useIsomorphicLayoutEffect.js\n *\n * @param effect\n * @param deps\n */\n\nvar useIsomorphicLayoutEffect = /*#__PURE__*/(0,_can_use_dom_dist_reach_utils_can_use_dom_esm_js__WEBPACK_IMPORTED_MODULE_1__/* .canUseDOM */ .S)() ? react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect : react__WEBPACK_IMPORTED_MODULE_0__.useEffect;\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTAzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQW1EO0FBQytCOztBQUVsRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsNkNBQTZDLG9HQUFTLEtBQUssa0RBQWUsR0FBRyw0Q0FBUzs7QUFFakQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdXRpbHMvdXNlLWlzb21vcnBoaWMtbGF5b3V0LWVmZmVjdC9kaXN0L3JlYWNoLXV0aWxzLXVzZS1pc29tb3JwaGljLWxheW91dC1lZmZlY3QuZXNtLmpzPzE0MmQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlTGF5b3V0RWZmZWN0LCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjYW5Vc2VET00gfSBmcm9tICcuLi8uLi9jYW4tdXNlLWRvbS9kaXN0L3JlYWNoLXV0aWxzLWNhbi11c2UtZG9tLmVzbS5qcyc7XG5cbi8qKlxuICogUmVhY3QgY3VycmVudGx5IHRocm93cyBhIHdhcm5pbmcgd2hlbiB1c2luZyB1c2VMYXlvdXRFZmZlY3Qgb24gdGhlIHNlcnZlci4gVG9cbiAqIGdldCBhcm91bmQgaXQsIHdlIGNhbiBjb25kaXRpb25hbGx5IHVzZUVmZmVjdCBvbiB0aGUgc2VydmVyIChuby1vcCkgYW5kXG4gKiB1c2VMYXlvdXRFZmZlY3QgaW4gdGhlIGJyb3dzZXIuIFdlIG9jY2FzaW9uYWxseSBuZWVkIHVzZUxheW91dEVmZmVjdCB0b1xuICogZW5zdXJlIHdlIGRvbid0IGdldCBhIHJlbmRlciBmbGFzaCBmb3IgY2VydGFpbiBvcGVyYXRpb25zLCBidXQgd2UgbWF5IGFsc29cbiAqIG5lZWQgYWZmZWN0ZWQgY29tcG9uZW50cyB0byByZW5kZXIgb24gdGhlIHNlcnZlci4gT25lIGV4YW1wbGUgaXMgd2hlbiBzZXR0aW5nXG4gKiBhIGNvbXBvbmVudCdzIGRlc2NlbmRhbnRzIHRvIHJldHJpZXZlIHRoZWlyIGluZGV4IHZhbHVlcy5cbiAqXG4gKiBJbXBvcnRhbnQgdG8gbm90ZSB0aGF0IHVzaW5nIHRoaXMgaG9vayBhcyBhbiBlc2NhcGUgaGF0Y2ggd2lsbCBicmVhayB0aGVcbiAqIGVzbGludCBkZXBlbmRlbmN5IHdhcm5pbmdzIHVubGVzcyB5b3UgcmVuYW1lIHRoZSBpbXBvcnQgdG8gYHVzZUxheW91dEVmZmVjdGAuXG4gKiBVc2Ugc3BhcmluZ2x5IG9ubHkgd2hlbiB0aGUgZWZmZWN0IHdvbid0IGVmZmVjdCB0aGUgcmVuZGVyZWQgSFRNTCB0byBhdm9pZFxuICogYW55IHNlcnZlci9jbGllbnQgbWlzbWF0Y2guXG4gKlxuICogSWYgYSB1c2VMYXlvdXRFZmZlY3QgaXMgbmVlZGVkIGFuZCB0aGUgcmVzdWx0IHdvdWxkIGNyZWF0ZSBhIG1pc21hdGNoLCBpdCdzXG4gKiBsaWtlbHkgdGhhdCB0aGUgY29tcG9uZW50IGluIHF1ZXN0aW9uIHNob3VsZG4ndCBiZSByZW5kZXJlZCBvbiB0aGUgc2VydmVyIGF0XG4gKiBhbGwsIHNvIGEgYmV0dGVyIGFwcHJvYWNoIHdvdWxkIGJlIHRvIGxhemlseSByZW5kZXIgdGhvc2UgaW4gYSBwYXJlbnRcbiAqIGNvbXBvbmVudCBhZnRlciBjbGllbnQtc2lkZSBoeWRyYXRpb24uXG4gKlxuICogaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vZ2FlYXJvbi9lN2Q5N2NkZjM4YTI5MDc5MjRlYTEyZTRlYmRmM2M4NVxuICogaHR0cHM6Ly9naXRodWIuY29tL3JlZHV4anMvcmVhY3QtcmVkdXgvYmxvYi9tYXN0ZXIvc3JjL3V0aWxzL3VzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QuanNcbiAqXG4gKiBAcGFyYW0gZWZmZWN0XG4gKiBAcGFyYW0gZGVwc1xuICovXG5cbnZhciB1c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0ID0gLyojX19QVVJFX18qL2NhblVzZURPTSgpID8gdXNlTGF5b3V0RWZmZWN0IDogdXNlRWZmZWN0O1xuXG5leHBvcnQgeyB1c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0IH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///103\n")},172:function(module,exports,__webpack_require__){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }\n(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(763), __webpack_require__(556)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _react, _propTypes) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports["default"] = void 0;\n _react = _interopRequireWildcard(_react);\n _propTypes = _interopRequireDefault(_propTypes);\n function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }\n function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }\n function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }\n function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }\n function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\n function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }\n function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }\n function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }\n function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\n function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }\n function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); return e; }\n function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\n function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\n function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }\n function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\n var Collapsible = /*#__PURE__*/function (_Component) {\n function Collapsible(props) {\n var _this;\n _classCallCheck(this, Collapsible);\n _this = _callSuper(this, Collapsible, [props]);\n _this.state = {\n isExpanded: false\n };\n _this._toggleExpanded = _this.toggleExpanded.bind(_this);\n _this._renderShowButton = _this.renderShowButton.bind(_this);\n _this._renderHideButton = _this.renderHideButton.bind(_this);\n return _this;\n }\n _inherits(Collapsible, _Component);\n return _createClass(Collapsible, [{\n key: "toggleExpanded",\n value: function toggleExpanded() {\n this.setState({\n isExpanded: !this.state.isExpanded\n });\n }\n }, {\n key: "renderShowButton",\n value: function renderShowButton() {\n return /*#__PURE__*/_react["default"].createElement("span", {\n className: "collapsible-show-label"\n }, this.props.showLabel);\n }\n }, {\n key: "renderHideButton",\n value: function renderHideButton() {\n if (this.props.hideLabel) {\n return /*#__PURE__*/_react["default"].createElement("span", {\n className: "collapsible-hide-label"\n }, this.props.hideLabel);\n } else {\n return "";\n }\n }\n }, {\n key: "render",\n value: function render() {\n var isArray = Array.isArray(this.props.content);\n var isHidden = this.state.isExpanded ? undefined : true;\n return /*#__PURE__*/_react["default"].createElement("div", {\n className: "collapsible-container"\n }, /*#__PURE__*/_react["default"].createElement("button", {\n onClick: this._toggleExpanded,\n className: "collapsible-summary",\n type: "button",\n "aria-expanded": this.state.isExpanded ? true : false\n }, this._renderShowButton(), this._renderHideButton()), /*#__PURE__*/_react["default"].createElement("div", {\n className: "collapsible-details",\n hidden: isHidden\n }, isArray ? /*#__PURE__*/_react["default"].createElement("ul", {\n className: "items"\n }, this.props.content.map(function (c) {\n return /*#__PURE__*/_react["default"].createElement("li", {\n key: c.contentTitle\n }, /*#__PURE__*/_react["default"].createElement("p", null, /*#__PURE__*/_react["default"].createElement("b", null, c.contentTitle)), /*#__PURE__*/_react["default"].createElement("p", null, c.content));\n })) : /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("p", null, /*#__PURE__*/_react["default"].createElement("b", null, this.props.contentTitle)), /*#__PURE__*/_react["default"].createElement("p", null, this.props.content))));\n }\n }]);\n }(_react.Component);\n Collapsible.propTypes = {\n showLabel: _propTypes["default"].string.isRequired,\n hideLabel: _propTypes["default"].string.isRequired,\n content: _propTypes["default"].oneOfType([_propTypes["default"].array, _propTypes["default"].string]).isRequired,\n contentTitle: _propTypes["default"].string\n };\n var _default = _exports["default"] = Collapsible;\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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RyxFQUFFa0IsQ0FBQyxDQUFDQztVQUFhLGdCQUNwQmhCLE1BQUEsWUFBQUMsYUFBQSx5QkFDSUQsTUFBQSxZQUFBQyxhQUFBLFlBQUljLENBQUMsQ0FBQ0MsWUFBZ0IsQ0FDdkIsQ0FBQyxlQUNKaEIsTUFBQSxZQUFBQyxhQUFBLFlBQUljLENBQUMsQ0FBQ1AsT0FBVyxDQUNqQixDQUFDO1FBQUEsQ0FDUixDQUNELENBQUMsZ0JBRUxSLE1BQUEsWUFBQUMsYUFBQSwyQkFDSUQsTUFBQSxZQUFBQyxhQUFBLHlCQUNJRCxNQUFBLFlBQUFDLGFBQUEsWUFBSSxJQUFJLENBQUNuQixLQUFLLENBQUNrQyxZQUFnQixDQUNoQyxDQUFDLGVBQ0poQixNQUFBLFlBQUFDLGFBQUEsWUFBSSxJQUFJLENBQUNuQixLQUFLLENBQUMwQixPQUFXLENBQ3pCLENBRVIsQ0FDSixDQUFDO01BRWQ7SUFBQztFQUFBLEVBOUVxQlMsZ0JBQVM7RUFpRm5DckMsV0FBVyxDQUFDc0MsU0FBUyxHQUFHO0lBQ3BCZixTQUFTLEVBQUVnQixxQkFBUyxDQUFDQyxNQUFNLENBQUNDLFVBQVU7SUFDdENqQixTQUFTLEVBQUVlLHFCQUFTLENBQUNDLE1BQU0sQ0FBQ0MsVUFBVTtJQUN0Q2IsT0FBTyxFQUFFVyxxQkFBUyxDQUFDRyxTQUFTLENBQUMsQ0FBQ0gscUJBQVMsQ0FBQ0ksS0FBSyxFQUFFSixxQkFBUyxDQUFDQyxNQUFNLENBQUMsQ0FBQyxDQUM1REMsVUFBVTtJQUNmTCxZQUFZLEVBQUVHLHFCQUFTLENBQUNDO0VBQzVCLENBQUM7RUFBQyxJQUFBSSxRQUFBLEdBQUFDLFFBQUEsY0FFYTdDLFdBQVc7QUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vY29tcG9uZW50cy9FcnJvci9Db2xsYXBzaWJsZS5qc3g/NTU5YSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5cbmNsYXNzIENvbGxhcHNpYmxlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgICBzdXBlcihwcm9wcyk7XG5cbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIGlzRXhwYW5kZWQ6IGZhbHNlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuX3RvZ2dsZUV4cGFuZGVkID0gdGhpcy50b2dnbGVFeHBhbmRlZC5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLl9yZW5kZXJTaG93QnV0dG9uID0gdGhpcy5yZW5kZXJTaG93QnV0dG9uLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuX3JlbmRlckhpZGVCdXR0b24gPSB0aGlzLnJlbmRlckhpZGVCdXR0b24uYmluZCh0aGlzKTtcbiAgICB9XG5cbiAgICB0b2dnbGVFeHBhbmRlZCgpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICBpc0V4cGFuZGVkOiAhdGhpcy5zdGF0ZS5pc0V4cGFuZGVkLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZW5kZXJTaG93QnV0dG9uKCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiY29sbGFwc2libGUtc2hvdy1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIHt0aGlzLnByb3BzLnNob3dMYWJlbH1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZW5kZXJIaWRlQnV0dG9uKCkge1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5oaWRlTGFiZWwpIHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiY29sbGFwc2libGUtaGlkZS1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICB7dGhpcy5wcm9wcy5oaWRlTGFiZWx9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICBjb25zdCBpc0FycmF5ID0gQXJyYXkuaXNBcnJheSh0aGlzLnByb3BzLmNvbnRlbnQpO1xuICAgICAgICBjb25zdCBpc0hpZGRlbiA9IHRoaXMuc3RhdGUuaXNFeHBhbmRlZCA/IHVuZGVmaW5lZCA6IHRydWU7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sbGFwc2libGUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLl90b2dnbGVFeHBhbmRlZH1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY29sbGFwc2libGUtc3VtbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWV4cGFuZGVkPXt0aGlzLnN0YXRlLmlzRXhwYW5kZWQgPyB0cnVlIDogZmFsc2V9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7dGhpcy5fcmVuZGVyU2hvd0J1dHRvbigpfVxuICAgICAgICAgICAgICAgICAgICB7dGhpcy5fcmVuZGVySGlkZUJ1dHRvbigpfVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xsYXBzaWJsZS1kZXRhaWxzXCIgaGlkZGVuPXtpc0hpZGRlbn0+XG4gICAgICAgICAgICAgICAgICAgIHtpc0FycmF5ID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzTmFtZT1cIml0ZW1zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3RoaXMucHJvcHMuY29udGVudC5tYXAoKGMpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17Yy5jb250ZW50VGl0bGV9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+e2MuY29udGVudFRpdGxlfTwvYj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPntjLmNvbnRlbnR9PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPnt0aGlzLnByb3BzLmNvbnRlbnRUaXRsZX08L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt0aGlzLnByb3BzLmNvbnRlbnR9PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKTtcbiAgICB9XG59XG5cbkNvbGxhcHNpYmxlLnByb3BUeXBlcyA9IHtcbiAgICBzaG93TGFiZWw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBoaWRlTGFiZWw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBjb250ZW50OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYXJyYXksIFByb3BUeXBlcy5zdHJpbmddKVxuICAgICAgICAuaXNSZXF1aXJlZCxcbiAgICBjb250ZW50VGl0bGU6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBDb2xsYXBzaWJsZTtcbiJdLCJuYW1lcyI6WyJDb2xsYXBzaWJsZSIsIl9Db21wb25lbnQiLCJwcm9wcyIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrIiwiX2NhbGxTdXBlciIsInN0YXRlIiwiaXNFeHBhbmRlZCIsIl90b2dnbGVFeHBhbmRlZCIsInRvZ2dsZUV4cGFuZGVkIiwiYmluZCIsIl9yZW5kZXJTaG93QnV0dG9uIiwicmVuZGVyU2hvd0J1dHRvbiIsIl9yZW5kZXJIaWRlQnV0dG9uIiwicmVuZGVySGlkZUJ1dHRvbiIsIl9pbmhlcml0cyIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwic2V0U3RhdGUiLCJfcmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwic2hvd0xhYmVsIiwiaGlkZUxhYmVsIiwicmVuZGVyIiwiaXNBcnJheSIsIkFycmF5IiwiY29udGVudCIsImlzSGlkZGVuIiwidW5kZWZpbmVkIiwib25DbGljayIsInR5cGUiLCJoaWRkZW4iLCJtYXAiLCJjIiwiY29udGVudFRpdGxlIiwiQ29tcG9uZW50IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwiaXNSZXF1aXJlZCIsIm9uZU9mVHlwZSIsImFycmF5IiwiX2RlZmF1bHQiLCJfZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///172\n')},193:function(module,exports,__webpack_require__){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(763), __webpack_require__(556), __webpack_require__(877)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _react, _propTypes, _Infotip) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports["default"] = void 0;\n _react = _interopRequireDefault(_react);\n _propTypes = _interopRequireDefault(_propTypes);\n _Infotip = _interopRequireDefault(_Infotip);\n function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }\n var infoTipLabel = "When dialing 711, you will automatically be connected to a TRS Communications Assistant who will relay your conversation to the help desk agent with strict confidentiality.";\n var LegacyFooterUI = function LegacyFooterUI(_ref) {\n var buildVersion = _ref.buildVersion,\n isFullWidth = _ref.isFullWidth,\n signUpNowLink = _ref.signUpNowLink;\n return /*#__PURE__*/_react["default"].createElement("footer", {\n className: "legacy-footer"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: "build-version",\n id: "build-version"\n }, buildVersion), /*#__PURE__*/_react["default"].createElement("div", {\n className: "banner"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: isFullWidth ? "container-full-width" : "responsive-container"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: "row"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: "col-sm-12 col-md-12 col-lg-12"\n }, /*#__PURE__*/_react["default"].createElement("span", null, "Help shape the future of MADiE"), " by participating in user feedback sessions.", " ", /*#__PURE__*/_react["default"].createElement("a", {\n className: "email-note-link",\n href: signUpNowLink\n }, "Send us an email to sign up"))))), /*#__PURE__*/_react["default"].createElement("div", {\n className: isFullWidth ? "container-full-width" : "responsive-container"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: "row"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: isFullWidth ? "col-sm-12 col-md-8 col-lg-8" : "col-sm-8 col-md-9 col-lg-9"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: "logo-container"\n }, /*#__PURE__*/_react["default"].createElement("img", {\n src: "/images/qpp_logo_reversed.png",\n alt: "Quality Payment Program",\n className: "qpp-logo"\n }), /*#__PURE__*/_react["default"].createElement("div", {\n className: "social-container"\n }, /*#__PURE__*/_react["default"].createElement("a", {\n rel: "noopener noreferrer",\n target: "_blank",\n className: "social-link",\n href: "https://twitter.com/CMSGov",\n "aria-label": "Follow us on Twitter. This link opens in a new window."\n }, /*#__PURE__*/_react["default"].createElement("span", {\n className: "glyphicon glyphicon-twitter"\n })), /*#__PURE__*/_react["default"].createElement("a", {\n rel: "noopener noreferrer",\n target: "_blank",\n className: "social-link",\n href: "https://www.youtube.com/playlist?list=PLaV7m2-zFKpj_6fBsqav6GvFzzq9oOpkk",\n "aria-label": "Follow us on YouTube. This link opens in a new window."\n }, /*#__PURE__*/_react["default"].createElement("span", {\n className: "glyphicon glyphicon-youtube"\n })))), /*#__PURE__*/_react["default"].createElement("div", {\n className: "links"\n }, /*#__PURE__*/_react["default"].createElement("ul", null, /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {\n href: "/developers",\n "data-track-category": "FooterNav",\n "data-track-action": "OpenDeveloperTools",\n "data-track-label": "Quality Payment Program"\n }, "Developer Tools")), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {\n href: "/about/resource-library",\n "data-track-category": "FooterNav",\n "data-track-action": "OpenEducationAndTools",\n "data-track-label": "Education and Tools"\n }, "Resource Library")), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {\n href: "/glossary",\n "data-track-category": "FooterNav",\n "data-track-action": "OpenGlossary",\n "data-track-label": "Glossary"\n }, "Glossary")), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {\n href: "/resources/help-and-support",\n "data-track-category": "FooterNav",\n "data-track-action": "OpenHelpAndSupport",\n "data-track-label": "Help and Support"\n }, "Help and Support"))), /*#__PURE__*/_react["default"].createElement("ul", {\n className: "small"\n }, /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {\n href: "https://www.cms.gov/privacy",\n "data-track-category": "FooterNav",\n "data-track-action": "OpenPrivacyDisclaimer",\n "data-track-label": "Notice of Privacy and Disclaimer"\n }, "CMS Privacy Notice")), /*#__PURE__*/_react["default"].createElement("span", {\n className: "divider"\n }), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {\n href: "https://www.cms.gov/About-CMS/Agency-Information/Aboutwebsite/Policiesforaccessibility",\n "data-track-category": "FooterNav",\n "data-track-action": "OpenAccessibility",\n "data-track-label": "Accessibility"\n }, "Accessibility")), /*#__PURE__*/_react["default"].createElement("span", {\n className: "divider"\n }), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {\n className: "adobe-link",\n rel: "noopener noreferrer",\n target: "_blank",\n href: "https://get.adobe.com/reader",\n "data-track-category": "FooterNav",\n "data-track-action": "DownloadAdobeReader",\n "data-track-label": "AdobeReader"\n }, /*#__PURE__*/_react["default"].createElement("svg", {\n className: "icon"\n }, /*#__PURE__*/_react["default"].createElement("use", {\n xlinkHref: "#icon-download"\n })), "Download Adobe Reader")), /*#__PURE__*/_react["default"].createElement("span", {\n className: "divider"\n }), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {\n href: "mailto:sb-mat-help@semanticbits.com",\n className: "email-link"\n }, "sb-mat-help@semanticbits.com")), /*#__PURE__*/_react["default"].createElement("li", null, "1-866-288-8292 (TRS: 711)", /*#__PURE__*/_react["default"].createElement("div", {\n className: "footer-trs-infotip"\n }, /*#__PURE__*/_react["default"].createElement(_Infotip["default"], {\n lightIcon: true,\n label: infoTipLabel\n })))))), /*#__PURE__*/_react["default"].createElement("div", {\n className: isFullWidth ? "col-sm-12 col-md-4 col-lg-4" : "col-sm-4 col-md-3 col-lg-3"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: "hhs-logo-container"\n }, /*#__PURE__*/_react["default"].createElement("img", {\n alt: "Department of Health & Human Services USA",\n src: "/images/hhs-logo-white.svg"\n }))))));\n };\n LegacyFooterUI.propTypes = {\n buildVersion: _propTypes["default"].string,\n isFullWidth: _propTypes["default"].bool,\n signUpNowLink: _propTypes["default"].string\n };\n var _default = _exports["default"] = LegacyFooterUI;\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTkzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUlBLElBQU1BLFlBQVksR0FDZCw4S0FBOEs7RUFFbEwsSUFBTUMsY0FBYyxHQUFHLFNBQWpCQSxjQUFjQSxDQUFBQyxJQUFBLEVBQXFEO0lBQUEsSUFBL0NDLFlBQVksR0FBQUQsSUFBQSxDQUFaQyxZQUFZO01BQUVDLFdBQVcsR0FBQUYsSUFBQSxDQUFYRSxXQUFXO01BQUVDLGFBQWEsR0FBQUgsSUFBQSxDQUFiRyxhQUFhO0lBQzlELG9CQUNJQyxNQUFBLFlBQUFDLGFBQUE7TUFBUUMsU0FBUyxFQUFDO0lBQWUsZ0JBQzdCRixNQUFBLFlBQUFDLGFBQUE7TUFBS0MsU0FBUyxFQUFDLGVBQWU7TUFBQ0MsRUFBRSxFQUFDO0lBQWUsR0FDNUNOLFlBQ0EsQ0FBQyxlQUNORyxNQUFBLFlBQUFDLGFBQUE7TUFBS0MsU0FBUyxFQUFDO0lBQVEsZ0JBQ25CRixNQUFBLFlBQUFDLGFBQUE7TUFDSUMsU0FBUyxFQUNMSixXQUFXLEdBQ0wsc0JBQXNCLEdBQ3RCO0lBQ1QsZ0JBRURFLE1BQUEsWUFBQUMsYUFBQTtNQUFLQyxTQUFTLEVBQUM7SUFBSyxnQkFDaEJGLE1BQUEsWUFBQUMsYUFBQTtNQUFLQyxTQUFTLEVBQUM7SUFBK0IsZ0JBQzFDRixNQUFBLFlBQUFDLGFBQUEsZUFBTSxnQ0FBb0MsQ0FBQyxnREFDSCxFQUFDLEdBQUcsZUFDNUNELE1BQUEsWUFBQUMsYUFBQTtNQUFHQyxTQUFTLEVBQUMsaUJBQWlCO01BQUNFLElBQUksRUFBRUw7SUFBYyxHQUFDLDZCQUVqRCxDQUNGLENBQ0osQ0FDSixDQUNKLENBQUMsZUFDTkMsTUFBQSxZQUFBQyxhQUFBO01BQ0lDLFNBQVMsRUFDTEosV0FBVyxHQUNMLHNCQUFzQixHQUN0QjtJQUNULGdCQUVERSxNQUFBLFlBQUFDLGFBQUE7TUFBS0MsU0FBUyxFQUFDO0lBQUssZ0JBQ2hCRixNQUFBLFlBQUFDLGFBQUE7TUFDSUMsU0FBUyxFQUNMSixXQUFXLEdBQ0wsNkJBQTZCLEdBQzdCO0lBQ1QsZ0JBRURFLE1BQUEsWUFBQUMsYUFBQTtNQUFLQyxTQUFTLEVBQUM7SUFBZ0IsZ0JBQzNCRixNQUFBLFlBQUFDLGFBQUE7TUFDSUksR0FBRyxFQUFDLCtCQUErQjtNQUNuQ0MsR0FBRyxFQUFDLHlCQUF5QjtNQUM3QkosU0FBUyxFQUFDO0lBQVUsQ0FDdkIsQ0FBQyxlQUNGRixNQUFBLFlBQUFDLGFBQUE7TUFBS0MsU0FBUyxFQUFDO0lBQWtCLGdCQUM3QkYsTUFBQSxZQUFBQyxhQUFBO01BQ0lNLEdBQUcsRUFBQyxxQkFBcUI7TUFDekJDLE1BQU0sRUFBQyxRQUFRO01BQ2ZOLFNBQVMsRUFBQyxhQUFhO01BQ3ZCRSxJQUFJLEVBQUMsNEJBQTRCO01BQ2pDLGNBQVc7SUFBd0QsZ0JBRW5FSixNQUFBLFlBQUFDLGFBQUE7TUFBTUMsU0FBUyxFQUFDO0lBQTZCLENBQU8sQ0FDckQsQ0FBQyxlQUNKRixNQUFBLFlBQUFDLGFBQUE7TUFDSU0sR0FBRyxFQUFDLHFCQUFxQjtNQUN6QkMsTUFBTSxFQUFDLFFBQVE7TUFDZk4sU0FBUyxFQUFDLGFBQWE7TUFDdkJFLElBQUksRUFBQywwRUFBMEU7TUFDL0UsY0FBVztJQUF3RCxnQkFFbkVKLE1BQUEsWUFBQUMsYUFBQTtNQUFNQyxTQUFTLEVBQUM7SUFBNkIsQ0FBTyxDQUNyRCxDQUNGLENBQ0osQ0FBQyxlQUNORixNQUFBLFlBQUFDLGFBQUE7TUFBS0MsU0FBUyxFQUFDO0lBQU8sZ0JBQ2xCRixNQUFBLFlBQUFDLGFBQUEsMEJBQ0lELE1BQUEsWUFBQUMsYUFBQSwwQkFDSUQsTUFBQSxZQUFBQyxhQUFBO01BQ0lHLElBQUksRUFBQyxhQUFhO01BQ2xCLHVCQUFvQixXQUFXO01BQy9CLHFCQUFrQixvQkFBb0I7TUFDdEMsb0JBQWlCO0lBQXlCLEdBQzdDLGlCQUVFLENBQ0gsQ0FBQyxlQUNMSixNQUFBLFlBQUFDLGFBQUEsMEJBQ0lELE1BQUEsWUFBQUMsYUFBQTtNQUNJRyxJQUFJLEVBQUMseUJBQXlCO01BQzlCLHVCQUFvQixXQUFXO01BQy9CLHFCQUFrQix1QkFBdUI7TUFDekMsb0JBQWlCO0lBQXFCLEdBQ3pDLGtCQUVFLENBQ0gsQ0FBQyxlQUNMSixNQUFBLFlBQUFDLGFBQUEsMEJBQ0lELE1BQUEsWUFBQUMsYUFBQTtNQUNJRyxJQUFJLEVBQUMsV0FBVztNQUNoQix1QkFBb0IsV0FBVztNQUMvQixxQkFBa0IsY0FBYztNQUNoQyxvQkFBaUI7SUFBVSxHQUM5QixVQUVFLENBQ0gsQ0FBQyxlQUNMSixNQUFBLFlBQUFDLGFBQUEsMEJBQ0lELE1BQUEsWUFBQUMsYUFBQTtNQUNJRyxJQUFJLEVBQUMsNkJBQTZCO01BQ2xDLHVCQUFvQixXQUFXO01BQy9CLHFCQUFrQixvQkFBb0I7TUFDdEMsb0JBQWlCO0lBQWtCLEdBQ3RDLGtCQUVFLENBQ0gsQ0FDSixDQUFDLGVBQ0xKLE1BQUEsWUFBQUMsYUFBQTtNQUFJQyxTQUFTLEVBQUM7SUFBTyxnQkFDakJGLE1BQUEsWUFBQUMsYUFBQSwwQkFDSUQsTUFBQSxZQUFBQyxhQUFBO01BQ0lHLElBQUksRUFBQyw2QkFBNkI7TUFDbEMsdUJBQW9CLFdBQVc7TUFDL0IscUJBQWtCLHVCQUF1QjtNQUN6QyxvQkFBaUI7SUFBa0MsR0FDdEQsb0JBRUUsQ0FDSCxDQUFDLGVBQ0xKLE1BQUEsWUFBQUMsYUFBQTtNQUFNQyxTQUFTLEVBQUM7SUFBUyxDQUFPLENBQUMsZUFDakNGLE1BQUEsWUFBQUMsYUFBQSwwQkFDSUQsTUFBQSxZQUFBQyxhQUFBO01BQ0lHLElBQUksRUFBQyx3RkFBd0Y7TUFDN0YsdUJBQW9CLFdBQVc7TUFDL0IscUJBQWtCLG1CQUFtQjtNQUNyQyxvQkFBaUI7SUFBZSxHQUNuQyxlQUVFLENBQ0gsQ0FBQyxlQUNMSixNQUFBLFlBQUFDLGFBQUE7TUFBTUMsU0FBUyxFQUFDO0lBQVMsQ0FBTyxDQUFDLGVBQ2pDRixNQUFBLFlBQUFDLGFBQUEsMEJBQ0lELE1BQUEsWUFBQUMsYUFBQTtNQUNJQyxTQUFTLEVBQUMsWUFBWTtNQUN0QkssR0FBRyxFQUFDLHFCQUFxQjtNQUN6QkMsTUFBTSxFQUFDLFFBQVE7TUFDZkosSUFBSSxFQUFDLDhCQUE4QjtNQUNuQyx1QkFBb0IsV0FBVztNQUMvQixxQkFBa0IscUJBQXFCO01BQ3ZDLG9CQUFpQjtJQUFhLGdCQUU5QkosTUFBQSxZQUFBQyxhQUFBO01BQUtDLFNBQVMsRUFBQztJQUFNLGdCQUNqQkYsTUFBQSxZQUFBQyxhQUFBO01BQUtRLFNBQVMsRUFBQztJQUFnQixDQUFFLENBQ2hDLENBQUMseUJBRVAsQ0FDSCxDQUFDLGVBQ0xULE1BQUEsWUFBQUMsYUFBQTtNQUFNQyxTQUFTLEVBQUM7SUFBUyxDQUFPLENBQUMsZUFDakNGLE1BQUEsWUFBQUMsYUFBQSwwQkFDSUQsTUFBQSxZQUFBQyxhQUFBO01BQ0lHLElBQUksRUFBQyxxQ0FBcUM7TUFDMUNGLFNBQVMsRUFBQztJQUFZLEdBQ3pCLDhCQUVFLENBQ0gsQ0FBQyxlQUNMRixNQUFBLFlBQUFDLGFBQUEsYUFBSSwyQkFFQSxlQUFBRCxNQUFBLFlBQUFDLGFBQUE7TUFBS0MsU0FBUyxFQUFDO0lBQW9CLGdCQUMvQkYsTUFBQSxZQUFBQyxhQUFBLENBQUNTLFFBQUEsV0FBTztNQUNKQyxTQUFTO01BQ1RDLEtBQUssRUFBRWxCO0lBQWEsQ0FDdkIsQ0FDQSxDQUNMLENBQ0osQ0FDSCxDQUNKLENBQUMsZUFDTk0sTUFBQSxZQUFBQyxhQUFBO01BQ0lDLFNBQVMsRUFDTEosV0FBVyxHQUNMLDZCQUE2QixHQUM3QjtJQUNULGdCQUVERSxNQUFBLFlBQUFDLGFBQUE7TUFBS0MsU0FBUyxFQUFDO0lBQW9CLGdCQUMvQkYsTUFBQSxZQUFBQyxhQUFBO01BQ0lLLEdBQUcsRUFBQywyQ0FBK0M7TUFDbkRELEdBQUcsRUFBQztJQUE0QixDQUNuQyxDQUNBLENBQ0osQ0FDSixDQUNKLENBQ0QsQ0FBQztFQUVqQixDQUFDO0VBRURWLGNBQWMsQ0FBQ2tCLFNBQVMsR0FBRztJQUN2QmhCLFlBQVksRUFBRWlCLHFCQUFTLENBQUNDLE1BQU07SUFDOUJqQixXQUFXLEVBQUVnQixxQkFBUyxDQUFDRSxJQUFJO0lBQzNCakIsYUFBYSxFQUFFZSxxQkFBUyxDQUFDQztFQUM3QixDQUFDO0VBQUMsSUFBQUUsUUFBQSxHQUFBQyxRQUFBLGNBRWF2QixjQUFjO0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL2NvbXBvbmVudHMvRm9vdGVyL0xlZ2FjeUZvb3RlclVJLmpzeD84ZWM5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIjtcbmltcG9ydCBJbmZvVGlwIGZyb20gXCIuLi9JbmZvdGlwL0luZm90aXBcIjtcblxuY29uc3QgaW5mb1RpcExhYmVsID1cbiAgICBcIldoZW4gZGlhbGluZyA3MTEsIHlvdSB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgY29ubmVjdGVkIHRvIGEgVFJTIENvbW11bmljYXRpb25zIEFzc2lzdGFudCB3aG8gd2lsbCByZWxheSB5b3VyIGNvbnZlcnNhdGlvbiB0byB0aGUgaGVscCBkZXNrIGFnZW50IHdpdGggc3RyaWN0IGNvbmZpZGVudGlhbGl0eS5cIjtcblxuY29uc3QgTGVnYWN5Rm9vdGVyVUkgPSAoeyBidWlsZFZlcnNpb24sIGlzRnVsbFdpZHRoLCBzaWduVXBOb3dMaW5rIH0pID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgICA8Zm9vdGVyIGNsYXNzTmFtZT1cImxlZ2FjeS1mb290ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYnVpbGQtdmVyc2lvblwiIGlkPVwiYnVpbGQtdmVyc2lvblwiPlxuICAgICAgICAgICAgICAgIHtidWlsZFZlcnNpb259XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmFubmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNGdWxsV2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IFwiY29udGFpbmVyLWZ1bGwtd2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJyZXNwb25zaXZlLWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC1zbS0xMiBjb2wtbWQtMTIgY29sLWxnLTEyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+SGVscCBzaGFwZSB0aGUgZnV0dXJlIG9mIE1BRGlFPC9zcGFuPiBieVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRpY2lwYXRpbmcgaW4gdXNlciBmZWVkYmFjayBzZXNzaW9ucy57XCIgXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwiZW1haWwtbm90ZS1saW5rXCIgaHJlZj17c2lnblVwTm93TGlua30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlbmQgdXMgYW4gZW1haWwgdG8gc2lnbiB1cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17XG4gICAgICAgICAgICAgICAgICAgIGlzRnVsbFdpZHRoXG4gICAgICAgICAgICAgICAgICAgICAgICA/IFwiY29udGFpbmVyLWZ1bGwtd2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgOiBcInJlc3BvbnNpdmUtY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0Z1bGxXaWR0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IFwiY29sLXNtLTEyIGNvbC1tZC04IGNvbC1sZy04XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcImNvbC1zbS04IGNvbC1tZC05IGNvbC1sZy05XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsb2dvLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiL2ltYWdlcy9xcHBfbG9nb19yZXZlcnNlZC5wbmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJRdWFsaXR5IFBheW1lbnQgUHJvZ3JhbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInFwcC1sb2dvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic29jaWFsLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwic29jaWFsLWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vdHdpdHRlci5jb20vQ01TR292XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJGb2xsb3cgdXMgb24gVHdpdHRlci4gVGhpcyBsaW5rIG9wZW5zIGluIGEgbmV3IHdpbmRvdy5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJnbHlwaGljb24gZ2x5cGhpY29uLXR3aXR0ZXJcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInNvY2lhbC1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9wbGF5bGlzdD9saXN0PVBMYVY3bTItekZLcGpfNmZCc3FhdjZHdkZ6enE5b09wa2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkZvbGxvdyB1cyBvbiBZb3VUdWJlLiBUaGlzIGxpbmsgb3BlbnMgaW4gYSBuZXcgd2luZG93LlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImdseXBoaWNvbiBnbHlwaGljb24teW91dHViZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxpbmtzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvZGV2ZWxvcGVyc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1jYXRlZ29yeT1cIkZvb3Rlck5hdlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1hY3Rpb249XCJPcGVuRGV2ZWxvcGVyVG9vbHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stbGFiZWw9XCJRdWFsaXR5IFBheW1lbnQgUHJvZ3JhbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV2ZWxvcGVyIFRvb2xzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIi9hYm91dC9yZXNvdXJjZS1saWJyYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWNhdGVnb3J5PVwiRm9vdGVyTmF2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWFjdGlvbj1cIk9wZW5FZHVjYXRpb25BbmRUb29sc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1sYWJlbD1cIkVkdWNhdGlvbiBhbmQgVG9vbHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlIExpYnJhcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL2dsb3NzYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWNhdGVnb3J5PVwiRm9vdGVyTmF2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWFjdGlvbj1cIk9wZW5HbG9zc2FyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1sYWJlbD1cIkdsb3NzYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHbG9zc2FyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvcmVzb3VyY2VzL2hlbHAtYW5kLXN1cHBvcnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stY2F0ZWdvcnk9XCJGb290ZXJOYXZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stYWN0aW9uPVwiT3BlbkhlbHBBbmRTdXBwb3J0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWxhYmVsPVwiSGVscCBhbmQgU3VwcG9ydFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCBhbmQgU3VwcG9ydFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzTmFtZT1cInNtYWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vd3d3LmNtcy5nb3YvcHJpdmFjeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1jYXRlZ29yeT1cIkZvb3Rlck5hdlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1hY3Rpb249XCJPcGVuUHJpdmFjeURpc2NsYWltZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stbGFiZWw9XCJOb3RpY2Ugb2YgUHJpdmFjeSBhbmQgRGlzY2xhaW1lclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ01TIFByaXZhY3kgTm90aWNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImRpdmlkZXJcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vd3d3LmNtcy5nb3YvQWJvdXQtQ01TL0FnZW5jeS1JbmZvcm1hdGlvbi9BYm91dHdlYnNpdGUvUG9saWNpZXNmb3JhY2Nlc3NpYmlsaXR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWNhdGVnb3J5PVwiRm9vdGVyTmF2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWFjdGlvbj1cIk9wZW5BY2Nlc3NpYmlsaXR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWxhYmVsPVwiQWNjZXNzaWJpbGl0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWNjZXNzaWJpbGl0eVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJkaXZpZGVyXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImFkb2JlLWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vZ2V0LmFkb2JlLmNvbS9yZWFkZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stY2F0ZWdvcnk9XCJGb290ZXJOYXZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stYWN0aW9uPVwiRG93bmxvYWRBZG9iZVJlYWRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1sYWJlbD1cIkFkb2JlUmVhZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzTmFtZT1cImljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSB4bGlua0hyZWY9XCIjaWNvbi1kb3dubG9hZFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWQgQWRvYmUgUmVhZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImRpdmlkZXJcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIm1haWx0bzpzYi1tYXQtaGVscEBzZW1hbnRpY2JpdHMuY29tXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJlbWFpbC1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYi1tYXQtaGVscEBzZW1hbnRpY2JpdHMuY29tXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEtODY2LTI4OC04MjkyIChUUlM6IDcxMSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9vdGVyLXRycy1pbmZvdGlwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEluZm9UaXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPXtpbmZvVGlwTGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNGdWxsV2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBcImNvbC1zbS0xMiBjb2wtbWQtNCBjb2wtbGctNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJjb2wtc20tNCBjb2wtbWQtMyBjb2wtbGctM1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGhzLWxvZ28tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJEZXBhcnRtZW50IG9mIEhlYWx0aCAmYW1wOyBIdW1hbiBTZXJ2aWNlcyBVU0FcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCIvaW1hZ2VzL2hocy1sb2dvLXdoaXRlLnN2Z1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Zvb3Rlcj5cbiAgICApO1xufTtcblxuTGVnYWN5Rm9vdGVyVUkucHJvcFR5cGVzID0ge1xuICAgIGJ1aWxkVmVyc2lvbjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBpc0Z1bGxXaWR0aDogUHJvcFR5cGVzLmJvb2wsXG4gICAgc2lnblVwTm93TGluazogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IExlZ2FjeUZvb3RlclVJO1xuIl0sIm5hbWVzIjpbImluZm9UaXBMYWJlbCIsIkxlZ2FjeUZvb3RlclVJIiwiX3JlZiIsImJ1aWxkVmVyc2lvbiIsImlzRnVsbFdpZHRoIiwic2lnblVwTm93TGluayIsIl9yZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJpZCIsImhyZWYiLCJzcmMiLCJhbHQiLCJyZWwiLCJ0YXJnZXQiLCJ4bGlua0hyZWYiLCJfSW5mb3RpcCIsImxpZ2h0SWNvbiIsImxhYmVsIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwiYm9vbCIsIl9kZWZhdWx0IiwiX2V4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///193\n')},197:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n LEAVE_TIMEOUT: () => (/* binding */ LEAVE_TIMEOUT),\n MOUSE_REST_TIMEOUT: () => (/* binding */ MOUSE_REST_TIMEOUT),\n Tooltip: () => (/* binding */ Tooltip),\n TooltipPopup: () => (/* binding */ TooltipPopup),\n "default": () => (/* binding */ reach_tooltip_esm),\n positionTooltip: () => (/* binding */ positionTooltip),\n useTooltip: () => (/* binding */ useTooltip)\n});\n\n// EXTERNAL MODULE: ./node_modules/preact/compat/dist/compat.module.js + 2 modules\nvar compat_module = __webpack_require__(763);\n// EXTERNAL MODULE: ./node_modules/@reach/utils/use-isomorphic-layout-effect/dist/reach-utils-use-isomorphic-layout-effect.esm.js\nvar reach_utils_use_isomorphic_layout_effect_esm = __webpack_require__(103);\n;// ./node_modules/@reach/auto-id/dist/reach-auto-id.esm.js\n\n\n\n/*\n * Welcome to @reach/auto-id!\n\n * Let\'s see if we can make sense of why this hook exists and its\n * implementation.\n *\n * Some background:\n * 1. Accessibility APIs rely heavily on element IDs\n * 2. Requiring developers to put IDs on every element in Reach UI is both\n * cumbersome and error-prone\n * 3. With a component model, we can generate IDs for them!\n *\n * Solution 1: Generate random IDs.\n *\n * This works great as long as you don\'t server render your app. When React (in\n * the client) tries to reuse the markup from the server, the IDs won\'t match\n * and React will then recreate the entire DOM tree.\n *\n * Solution 2: Increment an integer\n *\n * This sounds great. Since we\'re rendering the exact same tree on the server\n * and client, we can increment a counter and get a deterministic result between\n * client and server. Also, JS integers can go up to nine-quadrillion. I\'m\n * pretty sure the tab will be closed before an app never needs\n * 10 quadrillion IDs!\n *\n * Problem solved, right?\n *\n * Ah, but there\'s a catch! React\'s concurrent rendering makes this approach\n * non-deterministic. While the client and server will end up with the same\n * elements in the end, depending on suspense boundaries (and possibly some user\n * input during the initial render) the incrementing integers won\'t always match\n * up.\n *\n * Solution 3: Don\'t use IDs at all on the server; patch after first render.\n *\n * What we\'ve done here is solution 2 with some tricks. With this approach, the\n * ID returned is an empty string on the first render. This way the server and\n * client have the same markup no matter how wild the concurrent rendering may\n * have gotten.\n *\n * After the render, we patch up the components with an incremented ID. This\n * causes a double render on any components with `useId`. Shouldn\'t be a problem\n * since the components using this hook should be small, and we\'re only updating\n * the ID attribute on the DOM, nothing big is happening.\n *\n * It doesn\'t have to be an incremented number, though--we could do generate\n * random strings instead, but incrementing a number is probably the cheapest\n * thing we can do.\n *\n * Additionally, we only do this patchup on the very first client render ever.\n * Any calls to `useId` that happen dynamically in the client will be\n * populated immediately with a value. So, we only get the double render after\n * server hydration and never again, SO BACK OFF ALRIGHT?\n */\nvar serverHandoffComplete = false;\nvar id = 0;\n\nvar genId = function genId() {\n return ++id;\n};\n/**\n * useId\n *\n * Autogenerate IDs to facilitate WAI-ARIA and server rendering.\n *\n * Note: The returned ID will initially be `null` and will update after a\n * component mounts. Users may need to supply their own ID if they need\n * consistent values for SSR.\n *\n * @see Docs https://reach.tech/auto-id\n */\n\n\nfunction useId(idFromProps) {\n /*\n * If this instance isn\'t part of the initial render, we don\'t have to do the\n * double render/patch-up dance. We can just generate the ID and return it.\n */\n var initialId = idFromProps || (serverHandoffComplete ? genId() : null);\n\n var _React$useState = (0,compat_module.useState)(initialId),\n id = _React$useState[0],\n setId = _React$useState[1];\n\n (0,reach_utils_use_isomorphic_layout_effect_esm/* useIsomorphicLayoutEffect */.E)(function () {\n if (id === null) {\n /*\n * Patch the ID after render. We do this in `useLayoutEffect` to avoid any\n * rendering flicker, though it\'ll make the first render slower (unlikely\n * to matter, but you\'re welcome to measure your app and let us know if\n * it\'s a problem).\n */\n setId(genId());\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, []);\n (0,compat_module.useEffect)(function () {\n if (serverHandoffComplete === false) {\n /*\n * Flag all future uses of `useId` to skip the update dance. This is in\n * `useEffect` because it goes after `useLayoutEffect`, ensuring we don\'t\n * accidentally bail out of the patch-up dance prematurely.\n */\n serverHandoffComplete = true;\n }\n }, []);\n return id != null ? String(id) : undefined;\n}\n\n\n\n// EXTERNAL MODULE: ./node_modules/@reach/utils/can-use-dom/dist/reach-utils-can-use-dom.esm.js\nvar reach_utils_can_use_dom_esm = __webpack_require__(937);\n;// ./node_modules/@reach/utils/owner-document/dist/reach-utils-owner-document.esm.js\n\n\n/**\n * Get an element\'s owner document. Useful when components are used in iframes\n * or other environments like dev tools.\n *\n * @param element\n */\n\nfunction getOwnerDocument(element) {\n return (0,reach_utils_can_use_dom_esm/* canUseDOM */.S)() ? element ? element.ownerDocument : document : null;\n}\n/**\n * TODO: Remove in 1.0\n */\n\nfunction getOwnerWindow(element) {\n var ownerDocument = getOwnerDocument(element);\n return ownerDocument ? ownerDocument.defaultView || window : null;\n}\n\n\n\n;// ./node_modules/@reach/utils/get-document-dimensions/dist/reach-utils-get-document-dimensions.esm.js\n\n\n\n/**\n * Get the size of the working document minus the scrollbar offset.\n *\n * @param element\n */\n\nfunction getDocumentDimensions(element) {\n var _ownerDocument$docume, _ownerDocument$docume2;\n\n var ownerDocument = getOwnerDocument(element);\n var ownerWindow = ownerDocument.defaultView || window;\n\n if (!ownerDocument) {\n return {\n width: 0,\n height: 0\n };\n }\n\n return {\n width: (_ownerDocument$docume = ownerDocument.documentElement.clientWidth) != null ? _ownerDocument$docume : ownerWindow.innerWidth,\n height: (_ownerDocument$docume2 = ownerDocument.documentElement.clientHeight) != null ? _ownerDocument$docume2 : ownerWindow.innerHeight\n };\n}\n\n\n\n;// ./node_modules/@reach/utils/make-id/dist/reach-utils-make-id.esm.js\n/**\n * Joins strings to format IDs for compound components.\n *\n * @param args\n */\nfunction makeId() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return args.filter(function (val) {\n return val != null;\n }).join("--");\n}\n\n\n\n;// ./node_modules/@reach/utils/dev-utils/dist/reach-utils-dev-utils.esm.js\n\n\n/* eslint-disable react-hooks/rules-of-hooks */\nvar checkedPkgs = {};\n/**\n * Just a lil state logger\n *\n * @param state\n * @param DEBUG\n */\n\nfunction useStateLogger(state, DEBUG) {\n if (DEBUG === void 0) {\n DEBUG = false;\n }\n\n if (false) { var debugRef; }\n}\n/**\n * When in dev mode, checks that styles for a given `@reach` package are loaded.\n *\n * @param packageName Name of the package to check.\n * @example checkStyles("dialog") will check for styles for @reach/dialog\n */\n\nfunction checkStyles(packageName) {\n if (false) { var _ref, environment; }\n}\n/**\n * When in dev mode, checks that styles for a given `@reach` package are loaded.\n *\n * @param packageName Name of the package to check.\n * @example useCheckStyles("dialog") will check for styles for @reach/dialog\n */\n\nfunction useCheckStyles(packageName) {\n if (false) { var name; }\n}\n/**\n * Logs a warning in dev mode when a component switches from controlled to\n * uncontrolled, or vice versa\n *\n * A single prop should typically be used to determine whether or not a\n * component is controlled or not.\n *\n * @param controlledValue\n * @param controlledPropName\n * @param componentName\n */\n\nfunction useControlledSwitchWarning(controlledValue, controlledPropName, componentName) {\n if (false) { var nameCache, controlledRef; }\n}\n\n\n\n;// ./node_modules/@reach/utils/type-check/dist/reach-utils-type-check.esm.js\n/**\n * Checks whether or not a value is a boolean.\n *\n * @param value\n */\nfunction isBoolean(value) {\n return typeof value === "boolean";\n}\n/**\n * Checks whether or not a value is a function.\n *\n * @param value\n */\n\nfunction isFunction(value) {\n // eslint-disable-next-line eqeqeq\n return !!(value && {}.toString.call(value) == "[object Function]");\n}\n/**\n * Checks whether or not a value is a number.\n *\n * @param value\n */\n\nfunction isNumber(value) {\n return typeof value === "number" && !isNaN(value);\n}\n/**\n * Checks whether or not a value is a string.\n *\n * @param value\n */\n\nfunction isString(value) {\n return typeof value === "string";\n}\n\n\n\n;// ./node_modules/@reach/utils/compose-refs/dist/reach-utils-compose-refs.esm.js\n\n\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === "string") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === "Object" && o.constructor) n = o.constructor.name;\n if (n === "Map" || n === "Set") return Array.from(o);\n if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");\n }\n\n it = o[Symbol.iterator]();\n return it.next.bind(it);\n}\n\n/**\n * Passes or assigns an arbitrary value to a ref function or object.\n *\n * @param ref\n * @param value\n */\nfunction assignRef(ref, value) {\n if (ref == null) return;\n\n if (isFunction(ref)) {\n ref(value);\n } else {\n try {\n ref.current = value;\n } catch (error) {\n throw new Error("Cannot assign value \\"" + value + "\\" to ref \\"" + ref + "\\"");\n }\n }\n}\n/**\n * Passes or assigns a value to multiple refs (typically a DOM node). Useful for\n * dealing with components that need an explicit ref for DOM calculations but\n * also forwards refs assigned by an app.\n *\n * @param refs Refs to fork\n */\n\nfunction useComposedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return (0,compat_module.useCallback)(function (node) {\n for (var _iterator = _createForOfIteratorHelperLoose(refs), _step; !(_step = _iterator()).done;) {\n var ref = _step.value;\n assignRef(ref, node);\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, refs);\n}\n\n\n\n;// ./node_modules/@reach/utils/compose-event-handlers/dist/reach-utils-compose-event-handlers.esm.js\n/**\n * Wraps a lib-defined event handler and a user-defined event handler, returning\n * a single handler that allows a user to prevent lib-defined handlers from\n * firing.\n *\n * @param theirHandler User-supplied event handler\n * @param ourHandler Library-supplied event handler\n */\nfunction composeEventHandlers(theirHandler, ourHandler) {\n return function (event) {\n theirHandler && theirHandler(event);\n\n if (!event.defaultPrevented) {\n return ourHandler(event);\n }\n };\n}\n\n\n\n// EXTERNAL MODULE: ./node_modules/@reach/portal/dist/reach-portal.esm.js + 1 modules\nvar reach_portal_esm = __webpack_require__(741);\n;// ./node_modules/@reach/visually-hidden/dist/reach-visually-hidden.esm.js\n\n\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar _excluded = ["as", "style"];\n\n/**\n * VisuallyHidden\n *\n * Provides text for screen readers that is visually hidden.\n * It is the logical opposite of the `aria-hidden` attribute.\n */\nvar VisuallyHidden = /*#__PURE__*/(0,compat_module.forwardRef)(function VisuallyHidden(_ref, ref) {\n var _ref$as = _ref.as,\n Comp = _ref$as === void 0 ? "span" : _ref$as,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n return /*#__PURE__*/(0,compat_module.createElement)(Comp, _extends({\n ref: ref,\n style: _extends({\n border: 0,\n clip: "rect(0 0 0 0)",\n height: "1px",\n margin: "-1px",\n overflow: "hidden",\n padding: 0,\n position: "absolute",\n width: "1px",\n // https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe\n whiteSpace: "nowrap",\n wordWrap: "normal"\n }, style)\n }, props));\n});\n/**\n * @see Docs https://reach.tech/visually-hidden#visuallyhidden-props\n */\n\nif (false) {} ////////////////////////////////////////////////////////////////////////////////\n\n/* harmony default export */ const reach_visually_hidden_esm = ((/* unused pure expression or super */ null && (VisuallyHidden)));\n\n\n;// ./node_modules/@reach/observe-rect/dist/observe-rect.esm.js\nvar props = ["bottom", "height", "left", "right", "top", "width"];\n\nvar rectChanged = function rectChanged(a, b) {\n if (a === void 0) {\n a = {};\n }\n\n if (b === void 0) {\n b = {};\n }\n\n return props.some(function (prop) {\n return a[prop] !== b[prop];\n });\n};\n\nvar observedNodes = /*#__PURE__*/new Map();\nvar rafId;\n\nvar run = function run() {\n var changedStates = [];\n observedNodes.forEach(function (state, node) {\n var newRect = node.getBoundingClientRect();\n\n if (rectChanged(newRect, state.rect)) {\n state.rect = newRect;\n changedStates.push(state);\n }\n });\n changedStates.forEach(function (state) {\n state.callbacks.forEach(function (cb) {\n return cb(state.rect);\n });\n });\n rafId = window.requestAnimationFrame(run);\n};\n\nfunction observeRect(node, cb) {\n return {\n observe: function observe() {\n var wasEmpty = observedNodes.size === 0;\n\n if (observedNodes.has(node)) {\n observedNodes.get(node).callbacks.push(cb);\n } else {\n observedNodes.set(node, {\n rect: undefined,\n hasRectChanged: false,\n callbacks: [cb]\n });\n }\n\n if (wasEmpty) run();\n },\n unobserve: function unobserve() {\n var state = observedNodes.get(node);\n\n if (state) {\n // Remove the callback\n var index = state.callbacks.indexOf(cb);\n if (index >= 0) state.callbacks.splice(index, 1); // Remove the node reference\n\n if (!state.callbacks.length) observedNodes["delete"](node); // Stop the loop\n\n if (!observedNodes.size) cancelAnimationFrame(rafId);\n }\n }\n };\n}\n\n/* harmony default export */ const observe_rect_esm = (observeRect);\n//# sourceMappingURL=observe-rect.esm.js.map\n\n;// ./node_modules/@reach/rect/dist/reach-rect.esm.js\n\n\n\n\n\n\n\n/**\n * Welcome to @reach/rect!\n *\n * Measures DOM elements (aka. bounding client rect).\n *\n * @see getBoundingClientRect https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect\n * @see Docs https://reach.tech/rect\n * @see Source https://github.com/reach/reach-ui/tree/main/packages/rect\n */\n\n/**\n * Rect\n *\n * @param props\n */\n\nvar Rect = function Rect(_ref) {\n var onChange = _ref.onChange,\n _ref$observe = _ref.observe,\n observe = _ref$observe === void 0 ? true : _ref$observe,\n children = _ref.children;\n var ref = useRef(null);\n var rect = useRect(ref, {\n observe: observe,\n onChange: onChange\n });\n return children({\n ref: ref,\n rect: rect\n });\n};\n/**\n * @see Docs https://reach.tech/rect#rect-props\n */\n\n\nif (false) {} ////////////////////////////////////////////////////////////////////////////////\n\n\n/**\n * useRect\n *\n * @param nodeRef\n * @param observe\n * @param onChange\n */\nfunction useRect(nodeRef, observeOrOptions, deprecated_onChange) {\n var observe;\n var onChange;\n\n if (isBoolean(observeOrOptions)) {\n observe = observeOrOptions;\n } else {\n var _observeOrOptions$obs;\n\n observe = (_observeOrOptions$obs = observeOrOptions == null ? void 0 : observeOrOptions.observe) != null ? _observeOrOptions$obs : true;\n onChange = observeOrOptions == null ? void 0 : observeOrOptions.onChange;\n }\n\n if (isFunction(deprecated_onChange)) {\n onChange = deprecated_onChange;\n }\n\n if (false) {}\n\n var _React$useState = (0,compat_module.useState)(nodeRef.current),\n element = _React$useState[0],\n setElement = _React$useState[1];\n\n var initialRectIsSet = (0,compat_module.useRef)(false);\n var initialRefIsSet = (0,compat_module.useRef)(false);\n\n var _React$useState2 = (0,compat_module.useState)(null),\n rect = _React$useState2[0],\n setRect = _React$useState2[1];\n\n var onChangeRef = (0,compat_module.useRef)(onChange); // eslint-disable-next-line react-hooks/exhaustive-deps\n\n (0,reach_utils_use_isomorphic_layout_effect_esm/* useIsomorphicLayoutEffect */.E)(function () {\n onChangeRef.current = onChange;\n\n if (nodeRef.current !== element) {\n setElement(nodeRef.current);\n }\n });\n (0,reach_utils_use_isomorphic_layout_effect_esm/* useIsomorphicLayoutEffect */.E)(function () {\n if (element && !initialRectIsSet.current) {\n initialRectIsSet.current = true;\n setRect(element.getBoundingClientRect());\n }\n }, [element]);\n (0,reach_utils_use_isomorphic_layout_effect_esm/* useIsomorphicLayoutEffect */.E)(function () {\n if (!observe) {\n return;\n }\n\n var elem = element; // State initializes before refs are placed, meaning the element state will\n // be undefined on the first render. We still want the rect on the first\n // render, so initially we\'ll use the nodeRef that was passed instead of\n // state for our measurements.\n\n if (!initialRefIsSet.current) {\n initialRefIsSet.current = true;\n elem = nodeRef.current;\n }\n\n if (!elem) {\n if (false) {}\n\n return;\n }\n\n var observer = observe_rect_esm(elem, function (rect) {\n onChangeRef.current == null ? void 0 : onChangeRef.current(rect);\n setRect(rect);\n });\n observer.observe();\n return function () {\n observer.unobserve();\n };\n }, [observe, element, nodeRef]);\n return rect;\n}\n\n/* harmony default export */ const reach_rect_esm = ((/* unused pure expression or super */ null && (Rect)));\n\n\n;// ./node_modules/@reach/tooltip/dist/reach-tooltip.esm.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction reach_tooltip_esm_extends() {\n reach_tooltip_esm_extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return reach_tooltip_esm_extends.apply(this, arguments);\n}\n\nfunction reach_tooltip_esm_objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar reach_tooltip_esm_excluded = ["children", "label", "ariaLabel", "id", "DEBUG_STYLE"],\n _excluded2 = ["label", "ariaLabel", "isVisible", "id"],\n _excluded3 = ["ariaLabel", "aria-label", "as", "id", "isVisible", "label", "position", "style", "triggerRect"],\n _excluded4 = ["type"];\n\nvar _on, _on2, _on3, _on4, _on5, _states;\nvar MOUSE_REST_TIMEOUT = 100;\nvar LEAVE_TIMEOUT = 500; ////////////////////////////////////////////////////////////////////////////////\n// States\n\nvar TooltipStates; ////////////////////////////////////////////////////////////////////////////////\n// Events\n\n(function (TooltipStates) {\n TooltipStates["Idle"] = "IDLE";\n TooltipStates["Focused"] = "FOCUSED";\n TooltipStates["Visible"] = "VISIBLE";\n TooltipStates["LeavingVisible"] = "LEAVING_VISIBLE";\n TooltipStates["Dismissed"] = "DISMISSED";\n})(TooltipStates || (TooltipStates = {}));\n\nvar TooltipEvents;\n\n(function (TooltipEvents) {\n TooltipEvents["Blur"] = "BLUR";\n TooltipEvents["Focus"] = "FOCUS";\n TooltipEvents["GlobalMouseMove"] = "GLOBAL_MOUSE_MOVE";\n TooltipEvents["MouseDown"] = "MOUSE_DOWN";\n TooltipEvents["MouseEnter"] = "MOUSE_ENTER";\n TooltipEvents["MouseLeave"] = "MOUSE_LEAVE";\n TooltipEvents["MouseMove"] = "MOUSE_MOVE";\n TooltipEvents["Rest"] = "REST";\n TooltipEvents["SelectWithKeyboard"] = "SELECT_WITH_KEYBOARD";\n TooltipEvents["TimeComplete"] = "TIME_COMPLETE";\n})(TooltipEvents || (TooltipEvents = {}));\n\nvar chart = {\n initial: TooltipStates.Idle,\n states: (_states = {}, _states[TooltipStates.Idle] = {\n enter: clearContextId,\n on: (_on = {}, _on[TooltipEvents.MouseEnter] = TooltipStates.Focused, _on[TooltipEvents.Focus] = TooltipStates.Visible, _on)\n }, _states[TooltipStates.Focused] = {\n enter: startRestTimer,\n leave: clearRestTimer,\n on: (_on2 = {}, _on2[TooltipEvents.MouseMove] = TooltipStates.Focused, _on2[TooltipEvents.MouseLeave] = TooltipStates.Idle, _on2[TooltipEvents.MouseDown] = TooltipStates.Dismissed, _on2[TooltipEvents.Blur] = TooltipStates.Idle, _on2[TooltipEvents.Rest] = TooltipStates.Visible, _on2)\n }, _states[TooltipStates.Visible] = {\n on: (_on3 = {}, _on3[TooltipEvents.Focus] = TooltipStates.Focused, _on3[TooltipEvents.MouseEnter] = TooltipStates.Focused, _on3[TooltipEvents.MouseLeave] = TooltipStates.LeavingVisible, _on3[TooltipEvents.Blur] = TooltipStates.LeavingVisible, _on3[TooltipEvents.MouseDown] = TooltipStates.Dismissed, _on3[TooltipEvents.SelectWithKeyboard] = TooltipStates.Dismissed, _on3[TooltipEvents.GlobalMouseMove] = TooltipStates.LeavingVisible, _on3)\n }, _states[TooltipStates.LeavingVisible] = {\n enter: startLeavingVisibleTimer,\n leave: function leave() {\n clearLeavingVisibleTimer();\n clearContextId();\n },\n on: (_on4 = {}, _on4[TooltipEvents.MouseEnter] = TooltipStates.Visible, _on4[TooltipEvents.Focus] = TooltipStates.Visible, _on4[TooltipEvents.TimeComplete] = TooltipStates.Idle, _on4)\n }, _states[TooltipStates.Dismissed] = {\n leave: function leave() {\n clearContextId();\n },\n on: (_on5 = {}, _on5[TooltipEvents.MouseLeave] = TooltipStates.Idle, _on5[TooltipEvents.Blur] = TooltipStates.Idle, _on5)\n }, _states)\n};\n/*\n * Chart context allows us to persist some data around, in Tooltip all we use\n * is the id of the current tooltip being interacted with.\n */\n\nvar state = {\n value: chart.initial,\n context: {\n id: null\n }\n}; ////////////////////////////////////////////////////////////////////////////////\n// Subscriptions:\n//\n// We could require apps to render a <TooltipProvider> around the app and use\n// React context to notify Tooltips of changes to our state machine, instead\n// we manage subscriptions ourselves and simplify the Tooltip API.\n//\n// Maybe if default context could take a hook (instead of just a static value)\n// that was rendered at the root for us, that\'d be cool! But it doesn\'t.\n\nvar subscriptions = [];\n\nfunction subscribe(fn) {\n subscriptions.push(fn);\n return function () {\n subscriptions.splice(subscriptions.indexOf(fn), 1);\n };\n}\n\nfunction notify() {\n subscriptions.forEach(function (fn) {\n return fn(state);\n });\n} ////////////////////////////////////////////////////////////////////////////////\n// Timeouts:\n// Manages when the user "rests" on an element. Keeps the interface from being\n// flashing tooltips all the time as the user moves the mouse around the screen.\n\n\nvar restTimeout;\n\nfunction startRestTimer() {\n window.clearTimeout(restTimeout);\n restTimeout = window.setTimeout(function () {\n send({\n type: TooltipEvents.Rest\n });\n }, MOUSE_REST_TIMEOUT);\n}\n\nfunction clearRestTimer() {\n window.clearTimeout(restTimeout);\n} // Manages the delay to hide the tooltip after rest leaves.\n\n\nvar leavingVisibleTimer;\n\nfunction startLeavingVisibleTimer() {\n window.clearTimeout(leavingVisibleTimer);\n leavingVisibleTimer = window.setTimeout(function () {\n return send({\n type: TooltipEvents.TimeComplete\n });\n }, LEAVE_TIMEOUT);\n}\n\nfunction clearLeavingVisibleTimer() {\n window.clearTimeout(leavingVisibleTimer);\n} // allows us to come on back later w/o entering something else first after the\n// user leaves or dismisses\n\n\nfunction clearContextId() {\n state.context.id = null;\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * useTooltip\n *\n * @param params\n */\n\n\nfunction useTooltip(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n idProp = _ref.id,\n onPointerEnter = _ref.onPointerEnter,\n onPointerMove = _ref.onPointerMove,\n onPointerLeave = _ref.onPointerLeave,\n onPointerDown = _ref.onPointerDown,\n onMouseEnter = _ref.onMouseEnter,\n onMouseMove = _ref.onMouseMove,\n onMouseLeave = _ref.onMouseLeave,\n onMouseDown = _ref.onMouseDown,\n onFocus = _ref.onFocus,\n onBlur = _ref.onBlur,\n onKeyDown = _ref.onKeyDown,\n disabled = _ref.disabled,\n forwardedRef = _ref.ref,\n DEBUG_STYLE = _ref.DEBUG_STYLE;\n\n var id = String(useId(idProp));\n\n var _React$useState = (0,compat_module.useState)(DEBUG_STYLE ? true : isTooltipVisible(id, true)),\n isVisible = _React$useState[0],\n setIsVisible = _React$useState[1]; // hopefully they always pass a ref if they ever pass one\n\n\n var ownRef = (0,compat_module.useRef)(null);\n var ref = useComposedRefs(forwardedRef, ownRef);\n var triggerRect = useRect(ownRef, {\n observe: isVisible\n });\n (0,compat_module.useEffect)(function () {\n return subscribe(function () {\n setIsVisible(isTooltipVisible(id));\n });\n }, [id]);\n useCheckStyles("tooltip");\n (0,compat_module.useEffect)(function () {\n var ownerDocument = getOwnerDocument(ownRef.current);\n\n function listener(event) {\n if ((event.key === "Escape" || event.key === "Esc") && state.value === TooltipStates.Visible) {\n send({\n type: TooltipEvents.SelectWithKeyboard\n });\n }\n }\n\n ownerDocument.addEventListener("keydown", listener);\n return function () {\n return ownerDocument.removeEventListener("keydown", listener);\n };\n }, []);\n useDisabledTriggerOnSafari({\n disabled: disabled,\n isVisible: isVisible,\n ref: ownRef\n });\n\n function wrapMouseEvent(theirHandler, ourHandler) {\n // Use internal MouseEvent handler only if PointerEvent is not supported\n if (typeof window !== "undefined" && "PointerEvent" in window) {\n return theirHandler;\n }\n\n return composeEventHandlers(theirHandler, ourHandler);\n }\n\n function wrapPointerEventHandler(handler) {\n return function onPointerEvent(event) {\n // Handle pointer events only from mouse device\n if (event.pointerType !== "mouse") {\n return;\n }\n\n handler(event);\n };\n }\n\n function handleMouseEnter() {\n send({\n type: TooltipEvents.MouseEnter,\n id: id\n });\n }\n\n function handleMouseMove() {\n send({\n type: TooltipEvents.MouseMove,\n id: id\n });\n }\n\n function handleMouseLeave() {\n send({\n type: TooltipEvents.MouseLeave\n });\n }\n\n function handleMouseDown() {\n // Allow quick click from one tool to another\n if (state.context.id === id) {\n send({\n type: TooltipEvents.MouseDown\n });\n }\n }\n\n function handleFocus() {\n // @ts-ignore\n if (window.__REACH_DISABLE_TOOLTIPS) {\n return;\n }\n\n send({\n type: TooltipEvents.Focus,\n id: id\n });\n }\n\n function handleBlur() {\n // Allow quick click from one tool to another\n if (state.context.id === id) {\n send({\n type: TooltipEvents.Blur\n });\n }\n }\n\n function handleKeyDown(event) {\n if (event.key === "Enter" || event.key === " ") {\n send({\n type: TooltipEvents.SelectWithKeyboard\n });\n }\n }\n\n var trigger = {\n // The element that triggers the tooltip references the tooltip element with\n // `aria-describedby`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#tooltip\n "aria-describedby": isVisible ? makeId("tooltip", id) : undefined,\n "data-state": isVisible ? "tooltip-visible" : "tooltip-hidden",\n "data-reach-tooltip-trigger": "",\n ref: ref,\n onPointerEnter: composeEventHandlers(onPointerEnter, wrapPointerEventHandler(handleMouseEnter)),\n onPointerMove: composeEventHandlers(onPointerMove, wrapPointerEventHandler(handleMouseMove)),\n onPointerLeave: composeEventHandlers(onPointerLeave, wrapPointerEventHandler(handleMouseLeave)),\n onPointerDown: composeEventHandlers(onPointerDown, wrapPointerEventHandler(handleMouseDown)),\n onMouseEnter: wrapMouseEvent(onMouseEnter, handleMouseEnter),\n onMouseMove: wrapMouseEvent(onMouseMove, handleMouseMove),\n onMouseLeave: wrapMouseEvent(onMouseLeave, handleMouseLeave),\n onMouseDown: wrapMouseEvent(onMouseDown, handleMouseDown),\n onFocus: composeEventHandlers(onFocus, handleFocus),\n onBlur: composeEventHandlers(onBlur, handleBlur),\n onKeyDown: composeEventHandlers(onKeyDown, handleKeyDown)\n };\n var tooltip = {\n id: id,\n triggerRect: triggerRect,\n isVisible: isVisible\n };\n return [trigger, tooltip, isVisible];\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Tooltip\n *\n * @see Docs https://reach.tech/tooltip#tooltip\n */\n\n\nvar Tooltip = /*#__PURE__*/(0,compat_module.forwardRef)(function (_ref2, forwardedRef) {\n var children = _ref2.children,\n label = _ref2.label,\n DEPRECATED_ariaLabel = _ref2.ariaLabel,\n id = _ref2.id,\n DEBUG_STYLE = _ref2.DEBUG_STYLE,\n props = reach_tooltip_esm_objectWithoutPropertiesLoose(_ref2, reach_tooltip_esm_excluded);\n\n var child = compat_module.Children.only(children);\n false ? 0 : void 0; // We need to pass some properties from the child into useTooltip\n // to make sure users can maintain control over the trigger\'s ref and events\n\n var _useTooltip = useTooltip({\n id: id,\n onPointerEnter: child.props.onPointerEnter,\n onPointerMove: child.props.onPointerMove,\n onPointerLeave: child.props.onPointerLeave,\n onPointerDown: child.props.onPointerDown,\n onMouseEnter: child.props.onMouseEnter,\n onMouseMove: child.props.onMouseMove,\n onMouseLeave: child.props.onMouseLeave,\n onMouseDown: child.props.onMouseDown,\n onFocus: child.props.onFocus,\n onBlur: child.props.onBlur,\n onKeyDown: child.props.onKeyDown,\n disabled: child.props.disabled,\n ref: child.ref,\n DEBUG_STYLE: DEBUG_STYLE\n }),\n trigger = _useTooltip[0],\n tooltip = _useTooltip[1];\n\n return /*#__PURE__*/(0,compat_module.createElement)(compat_module.Fragment, null, /*#__PURE__*/(0,compat_module.cloneElement)(child, trigger), /*#__PURE__*/(0,compat_module.createElement)(TooltipPopup, reach_tooltip_esm_extends({\n ref: forwardedRef,\n label: label,\n "aria-label": DEPRECATED_ariaLabel\n }, tooltip, props)));\n});\n\nif (false) {} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * TooltipPopup\n *\n * @see Docs https://reach.tech/tooltip#tooltippopup\n */\n\n\nvar TooltipPopup = /*#__PURE__*/(0,compat_module.forwardRef)(function TooltipPopup(_ref3, forwardRef) {\n var label = _ref3.label,\n DEPRECATED_ariaLabel = _ref3.ariaLabel,\n isVisible = _ref3.isVisible,\n id = _ref3.id,\n props = reach_tooltip_esm_objectWithoutPropertiesLoose(_ref3, _excluded2);\n\n return isVisible ? /*#__PURE__*/(0,compat_module.createElement)(reach_portal_esm.Portal, null, /*#__PURE__*/(0,compat_module.createElement)(TooltipContent, reach_tooltip_esm_extends({\n ref: forwardRef,\n label: label,\n "aria-label": DEPRECATED_ariaLabel,\n isVisible: isVisible\n }, props, {\n id: makeId("tooltip", String(id))\n }))) : null;\n});\n\nif (false) {}\n/**\n * TooltipContent\n *\n * We need a separate component so that useRect works inside the portal.\n *\n * @see Docs https://reach.tech/tooltip#tooltipcontent\n */\n\n\nvar TooltipContent = /*#__PURE__*/(0,compat_module.forwardRef)(function TooltipContent(_ref4, forwardedRef) {\n var ariaLabel = _ref4.ariaLabel,\n realAriaLabel = _ref4["aria-label"],\n _ref4$as = _ref4.as,\n Comp = _ref4$as === void 0 ? "div" : _ref4$as,\n id = _ref4.id,\n isVisible = _ref4.isVisible,\n label = _ref4.label,\n _ref4$position = _ref4.position,\n position = _ref4$position === void 0 ? positionTooltip : _ref4$position,\n style = _ref4.style,\n triggerRect = _ref4.triggerRect,\n props = reach_tooltip_esm_objectWithoutPropertiesLoose(_ref4, _excluded3);\n\n // The element that serves as the tooltip container has role tooltip.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#tooltip When an app passes\n // an `aria-label`, we actually want to implement `role="tooltip"` on a\n // visually hidden element inside of the trigger. In these cases we want the\n // screen reader user to know both the content in the tooltip, but also the\n // content in the badge. For screen reader users, the only content announced\n // to them is whatever is in the tooltip.\n var hasAriaLabel = (realAriaLabel || ariaLabel) != null;\n var ownRef = (0,compat_module.useRef)(null);\n var ref = useComposedRefs(forwardedRef, ownRef);\n var tooltipRect = useRect(ownRef, {\n observe: isVisible\n });\n return /*#__PURE__*/(0,compat_module.createElement)(compat_module.Fragment, null, /*#__PURE__*/(0,compat_module.createElement)(Comp, reach_tooltip_esm_extends({\n role: hasAriaLabel ? undefined : "tooltip"\n }, props, {\n ref: ref,\n "data-reach-tooltip": "",\n id: hasAriaLabel ? undefined : id,\n style: reach_tooltip_esm_extends({}, style, getStyles(position, triggerRect, tooltipRect))\n }), label), hasAriaLabel && /*#__PURE__*/(0,compat_module.createElement)(VisuallyHidden, {\n role: "tooltip",\n id: id\n }, realAriaLabel || ariaLabel));\n});\n\nif (false) {} ////////////////////////////////////////////////////////////////////////////////\n\n\nfunction getStyles(position, triggerRect, tooltipRect) {\n var haventMeasuredTooltipYet = !tooltipRect;\n\n if (haventMeasuredTooltipYet) {\n return {\n visibility: "hidden"\n };\n }\n\n return position(triggerRect, tooltipRect);\n} // Default offset from the trigger (e.g., if the tooltip is positioned above,\n// there will be 8px between the bottom of the tooltip and the top of the trigger).\n// It feels awkward when it\'s perfectly aligned w/ the trigger\n\n\nvar OFFSET_DEFAULT = 8;\nvar positionTooltip = function positionTooltip(triggerRect, tooltipRect, offset) {\n if (offset === void 0) {\n offset = OFFSET_DEFAULT;\n }\n\n var _getDocumentDimension = getDocumentDimensions(),\n windowWidth = _getDocumentDimension.width,\n windowHeight = _getDocumentDimension.height;\n\n if (!triggerRect || !tooltipRect) {\n return {};\n }\n\n var collisions = {\n top: triggerRect.top - tooltipRect.height < 0,\n right: windowWidth < triggerRect.left + tooltipRect.width,\n bottom: windowHeight < triggerRect.bottom + tooltipRect.height + offset,\n left: triggerRect.left - tooltipRect.width < 0\n };\n var directionRight = collisions.right && !collisions.left;\n var directionUp = collisions.bottom && !collisions.top;\n return {\n left: directionRight ? triggerRect.right - tooltipRect.width + window.pageXOffset + "px" : triggerRect.left + window.pageXOffset + "px",\n top: directionUp ? triggerRect.top - offset - tooltipRect.height + window.pageYOffset + "px" : triggerRect.top + offset + triggerRect.height + window.pageYOffset + "px"\n };\n};\n/**\n * This is a workaround for using tooltips with disabled controls in Safari.\n * Safari fires `pointerenter` but does not fire `pointerleave`, and\n * `onPointerEventLeave` added to the trigger element will not work.\n *\n * TODO: We may remove or modiify this behavior in a future version. Direction\n * from WAI-ARIA needed for guidance on handling disabled triggers. Tooltips\n * must be accessible by keyboard, and disabled form controls are generally\n * excluded from the tab sequence.\n *\n * @see https://github.com/reach/reach-ui/issues/564\n * @see https://github.com/w3c/aria-practices/issues/128#issuecomment-588625727\n */\n\nfunction useDisabledTriggerOnSafari(_ref5) {\n var disabled = _ref5.disabled,\n isVisible = _ref5.isVisible,\n ref = _ref5.ref;\n (0,compat_module.useEffect)(function () {\n if (!(typeof window !== "undefined" && "PointerEvent" in window) || !disabled || !isVisible) {\n return;\n }\n\n var ownerDocument = getOwnerDocument(ref.current);\n\n function handleMouseMove(event) {\n if (!isVisible) {\n return;\n }\n\n if (event.target instanceof Element && event.target.closest("[data-reach-tooltip-trigger][data-state=\'tooltip-visible\']")) {\n return;\n }\n\n send({\n type: TooltipEvents.GlobalMouseMove\n });\n }\n\n ownerDocument.addEventListener("mousemove", handleMouseMove);\n return function () {\n ownerDocument.removeEventListener("mousemove", handleMouseMove);\n };\n }, [disabled, isVisible, ref]);\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Send an event to our state machine to find the next state from the current\n * state + action.\n *\n * It also manages lifecycles of the machine, (enter/leave hooks on the state\n * chart)\n *\n * @param event\n * @param payload\n */\n\n\nfunction send(event) {\n var _transition = transition(state, event),\n value = _transition.value,\n context = _transition.context,\n changed = _transition.changed;\n\n if (changed) {\n state = {\n value: value,\n context: context\n };\n notify();\n }\n}\n\nfunction transition(currentState, event) {\n var stateDef = chart.states[currentState.value];\n var nextState = stateDef && stateDef.on && stateDef.on[event.type]; // Really useful for debugging\n // console.log({ event, state, nextState, contextId: context.id });\n // !nextState && console.log("no transition taken");\n\n if (!nextState) {\n return reach_tooltip_esm_extends({}, currentState, {\n changed: false\n });\n }\n\n if (stateDef && stateDef.leave) {\n stateDef.leave(currentState.context, event);\n }\n\n event.type;\n var payload = reach_tooltip_esm_objectWithoutPropertiesLoose(event, _excluded4); // TODO: Use actions instead of directly setting context\n\n\n var context = reach_tooltip_esm_extends({}, state.context, payload);\n\n var nextStateValue = typeof nextState === "string" ? nextState : nextState.target;\n var nextDef = chart.states[nextStateValue];\n\n if (nextDef && nextDef.enter) {\n nextDef.enter(currentState.context, event);\n }\n\n return {\n value: nextStateValue,\n context: context,\n changed: true\n };\n}\n\nfunction isTooltipVisible(id, initial) {\n return state.context.id === id && (initial ? state.value === TooltipStates.Visible : state.value === TooltipStates.Visible || state.value === TooltipStates.LeavingVisible);\n} ////////////////////////////////////////////////////////////////////////////////\n\n/* harmony default export */ const reach_tooltip_esm = (Tooltip);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDJCQUFTO0FBQ1g7QUFDQTtBQUNBOztBQUVBLHdCQUF3QixnQkFBZ0I7O0FBRXhDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esc0VBQXNFO0FBQ3RFLG1CQUFtQixnREFBZ0Q7QUFDbkU7O0FBRUE7QUFDQSxXQUFXLHlCQUFRLEdBQUc7QUFDdEI7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0JBQW9CLDhDQUE2QixxQkFBcUI7OztBQUd0RSxnQkFBZ0IseUJBQVEsR0FBRzs7QUFFM0I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFOztBQUVGLHdEQUFlLE9BQU8sRUFBQztBQUMwRSIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL0ByZWFjaC9hdXRvLWlkL2Rpc3QvcmVhY2gtYXV0by1pZC5lc20uanM/Mjg3YSIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdXRpbHMvb3duZXItZG9jdW1lbnQvZGlzdC9yZWFjaC11dGlscy1vd25lci1kb2N1bWVudC5lc20uanM/YTc2YyIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdXRpbHMvZ2V0LWRvY3VtZW50LWRpbWVuc2lvbnMvZGlzdC9yZWFjaC11dGlscy1nZXQtZG9jdW1lbnQtZGltZW5zaW9ucy5lc20uanM/NzlkOCIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdXRpbHMvbWFrZS1pZC9kaXN0L3JlYWNoLXV0aWxzLW1ha2UtaWQuZXNtLmpzP2Q4ODYiLCJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9ub2RlX21vZHVsZXMvQHJlYWNoL3V0aWxzL2Rldi11dGlscy9kaXN0L3JlYWNoLXV0aWxzLWRldi11dGlscy5lc20uanM/NjViNSIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdXRpbHMvdHlwZS1jaGVjay9kaXN0L3JlYWNoLXV0aWxzLXR5cGUtY2hlY2suZXNtLmpzP2I4ZWEiLCJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9ub2RlX21vZHVsZXMvQHJlYWNoL3V0aWxzL2NvbXBvc2UtcmVmcy9kaXN0L3JlYWNoLXV0aWxzLWNvbXBvc2UtcmVmcy5lc20uanM/YTYzMCIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdXRpbHMvY29tcG9zZS1ldmVudC1oYW5kbGVycy9kaXN0L3JlYWNoLXV0aWxzLWNvbXBvc2UtZXZlbnQtaGFuZGxlcnMuZXNtLmpzP2YxOWMiLCJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9ub2RlX21vZHVsZXMvQHJlYWNoL3Zpc3VhbGx5LWhpZGRlbi9kaXN0L3JlYWNoLXZpc3VhbGx5LWhpZGRlbi5lc20uanM/ZTk3NCIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvb2JzZXJ2ZS1yZWN0L2Rpc3Qvb2JzZXJ2ZS1yZWN0LmVzbS5qcz80NGJhIiwid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL0ByZWFjaC9yZWN0L2Rpc3QvcmVhY2gtcmVjdC5lc20uanM/Y2JmNyIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdG9vbHRpcC9kaXN0L3JlYWNoLXRvb2x0aXAuZXNtLmpzP2UyNjgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QgfSBmcm9tICdAcmVhY2gvdXRpbHMvdXNlLWlzb21vcnBoaWMtbGF5b3V0LWVmZmVjdCc7XG5cbi8qXG4gKiBXZWxjb21lIHRvIEByZWFjaC9hdXRvLWlkIVxuXG4gKiBMZXQncyBzZWUgaWYgd2UgY2FuIG1ha2Ugc2Vuc2Ugb2Ygd2h5IHRoaXMgaG9vayBleGlzdHMgYW5kIGl0c1xuICogaW1wbGVtZW50YXRpb24uXG4gKlxuICogU29tZSBiYWNrZ3JvdW5kOlxuICogICAxLiBBY2Nlc3NpYmlsaXR5IEFQSXMgcmVseSBoZWF2aWx5IG9uIGVsZW1lbnQgSURzXG4gKiAgIDIuIFJlcXVpcmluZyBkZXZlbG9wZXJzIHRvIHB1dCBJRHMgb24gZXZlcnkgZWxlbWVudCBpbiBSZWFjaCBVSSBpcyBib3RoXG4gKiAgICAgIGN1bWJlcnNvbWUgYW5kIGVycm9yLXByb25lXG4gKiAgIDMuIFdpdGggYSBjb21wb25lbnQgbW9kZWwsIHdlIGNhbiBnZW5lcmF0ZSBJRHMgZm9yIHRoZW0hXG4gKlxuICogU29sdXRpb24gMTogR2VuZXJhdGUgcmFuZG9tIElEcy5cbiAqXG4gKiBUaGlzIHdvcmtzIGdyZWF0IGFzIGxvbmcgYXMgeW91IGRvbid0IHNlcnZlciByZW5kZXIgeW91ciBhcHAuIFdoZW4gUmVhY3QgKGluXG4gKiB0aGUgY2xpZW50KSB0cmllcyB0byByZXVzZSB0aGUgbWFya3VwIGZyb20gdGhlIHNlcnZlciwgdGhlIElEcyB3b24ndCBtYXRjaFxuICogYW5kIFJlYWN0IHdpbGwgdGhlbiByZWNyZWF0ZSB0aGUgZW50aXJlIERPTSB0cmVlLlxuICpcbiAqIFNvbHV0aW9uIDI6IEluY3JlbWVudCBhbiBpbnRlZ2VyXG4gKlxuICogVGhpcyBzb3VuZHMgZ3JlYXQuIFNpbmNlIHdlJ3JlIHJlbmRlcmluZyB0aGUgZXhhY3Qgc2FtZSB0cmVlIG9uIHRoZSBzZXJ2ZXJcbiAqIGFuZCBjbGllbnQsIHdlIGNhbiBpbmNyZW1lbnQgYSBjb3VudGVyIGFuZCBnZXQgYSBkZXRlcm1pbmlzdGljIHJlc3VsdCBiZXR3ZWVuXG4gKiBjbGllbnQgYW5kIHNlcnZlci4gQWxzbywgSlMgaW50ZWdlcnMgY2FuIGdvIHVwIHRvIG5pbmUtcXVhZHJpbGxpb24uIEknbVxuICogcHJldHR5IHN1cmUgdGhlIHRhYiB3aWxsIGJlIGNsb3NlZCBiZWZvcmUgYW4gYXBwIG5ldmVyIG5lZWRzXG4gKiAxMCBxdWFkcmlsbGlvbiBJRHMhXG4gKlxuICogUHJvYmxlbSBzb2x2ZWQsIHJpZ2h0P1xuICpcbiAqIEFoLCBidXQgdGhlcmUncyBhIGNhdGNoISBSZWFjdCdzIGNvbmN1cnJlbnQgcmVuZGVyaW5nIG1ha2VzIHRoaXMgYXBwcm9hY2hcbiAqIG5vbi1kZXRlcm1pbmlzdGljLiBXaGlsZSB0aGUgY2xpZW50IGFuZCBzZXJ2ZXIgd2lsbCBlbmQgdXAgd2l0aCB0aGUgc2FtZVxuICogZWxlbWVudHMgaW4gdGhlIGVuZCwgZGVwZW5kaW5nIG9uIHN1c3BlbnNlIGJvdW5kYXJpZXMgKGFuZCBwb3NzaWJseSBzb21lIHVzZXJcbiAqIGlucHV0IGR1cmluZyB0aGUgaW5pdGlhbCByZW5kZXIpIHRoZSBpbmNyZW1lbnRpbmcgaW50ZWdlcnMgd29uJ3QgYWx3YXlzIG1hdGNoXG4gKiB1cC5cbiAqXG4gKiBTb2x1dGlvbiAzOiBEb24ndCB1c2UgSURzIGF0IGFsbCBvbiB0aGUgc2VydmVyOyBwYXRjaCBhZnRlciBmaXJzdCByZW5kZXIuXG4gKlxuICogV2hhdCB3ZSd2ZSBkb25lIGhlcmUgaXMgc29sdXRpb24gMiB3aXRoIHNvbWUgdHJpY2tzLiBXaXRoIHRoaXMgYXBwcm9hY2gsIHRoZVxuICogSUQgcmV0dXJuZWQgaXMgYW4gZW1wdHkgc3RyaW5nIG9uIHRoZSBmaXJzdCByZW5kZXIuIFRoaXMgd2F5IHRoZSBzZXJ2ZXIgYW5kXG4gKiBjbGllbnQgaGF2ZSB0aGUgc2FtZSBtYXJrdXAgbm8gbWF0dGVyIGhvdyB3aWxkIHRoZSBjb25jdXJyZW50IHJlbmRlcmluZyBtYXlcbiAqIGhhdmUgZ290dGVuLlxuICpcbiAqIEFmdGVyIHRoZSByZW5kZXIsIHdlIHBhdGNoIHVwIHRoZSBjb21wb25lbnRzIHdpdGggYW4gaW5jcmVtZW50ZWQgSUQuIFRoaXNcbiAqIGNhdXNlcyBhIGRvdWJsZSByZW5kZXIgb24gYW55IGNvbXBvbmVudHMgd2l0aCBgdXNlSWRgLiBTaG91bGRuJ3QgYmUgYSBwcm9ibGVtXG4gKiBzaW5jZSB0aGUgY29tcG9uZW50cyB1c2luZyB0aGlzIGhvb2sgc2hvdWxkIGJlIHNtYWxsLCBhbmQgd2UncmUgb25seSB1cGRhdGluZ1xuICogdGhlIElEIGF0dHJpYnV0ZSBvbiB0aGUgRE9NLCBub3RoaW5nIGJpZyBpcyBoYXBwZW5pbmcuXG4gKlxuICogSXQgZG9lc24ndCBoYXZlIHRvIGJlIGFuIGluY3JlbWVudGVkIG51bWJlciwgdGhvdWdoLS13ZSBjb3VsZCBkbyBnZW5lcmF0ZVxuICogcmFuZG9tIHN0cmluZ3MgaW5zdGVhZCwgYnV0IGluY3JlbWVudGluZyBhIG51bWJlciBpcyBwcm9iYWJseSB0aGUgY2hlYXBlc3RcbiAqIHRoaW5nIHdlIGNhbiBkby5cbiAqXG4gKiBBZGRpdGlvbmFsbHksIHdlIG9ubHkgZG8gdGhpcyBwYXRjaHVwIG9uIHRoZSB2ZXJ5IGZpcnN0IGNsaWVudCByZW5kZXIgZXZlci5cbiAqIEFueSBjYWxscyB0byBgdXNlSWRgIHRoYXQgaGFwcGVuIGR5bmFtaWNhbGx5IGluIHRoZSBjbGllbnQgd2lsbCBiZVxuICogcG9wdWxhdGVkIGltbWVkaWF0ZWx5IHdpdGggYSB2YWx1ZS4gU28sIHdlIG9ubHkgZ2V0IHRoZSBkb3VibGUgcmVuZGVyIGFmdGVyXG4gKiBzZXJ2ZXIgaHlkcmF0aW9uIGFuZCBuZXZlciBhZ2FpbiwgU08gQkFDSyBPRkYgQUxSSUdIVD9cbiAqL1xudmFyIHNlcnZlckhhbmRvZmZDb21wbGV0ZSA9IGZhbHNlO1xudmFyIGlkID0gMDtcblxudmFyIGdlbklkID0gZnVuY3Rpb24gZ2VuSWQoKSB7XG4gIHJldHVybiArK2lkO1xufTtcbi8qKlxuICogdXNlSWRcbiAqXG4gKiBBdXRvZ2VuZXJhdGUgSURzIHRvIGZhY2lsaXRhdGUgV0FJLUFSSUEgYW5kIHNlcnZlciByZW5kZXJpbmcuXG4gKlxuICogTm90ZTogVGhlIHJldHVybmVkIElEIHdpbGwgaW5pdGlhbGx5IGJlIGBudWxsYCBhbmQgd2lsbCB1cGRhdGUgYWZ0ZXIgYVxuICogY29tcG9uZW50IG1vdW50cy4gVXNlcnMgbWF5IG5lZWQgdG8gc3VwcGx5IHRoZWlyIG93biBJRCBpZiB0aGV5IG5lZWRcbiAqIGNvbnNpc3RlbnQgdmFsdWVzIGZvciBTU1IuXG4gKlxuICogQHNlZSBEb2NzIGh0dHBzOi8vcmVhY2gudGVjaC9hdXRvLWlkXG4gKi9cblxuXG5mdW5jdGlvbiB1c2VJZChpZEZyb21Qcm9wcykge1xuICAvKlxuICAgKiBJZiB0aGlzIGluc3RhbmNlIGlzbid0IHBhcnQgb2YgdGhlIGluaXRpYWwgcmVuZGVyLCB3ZSBkb24ndCBoYXZlIHRvIGRvIHRoZVxuICAgKiBkb3VibGUgcmVuZGVyL3BhdGNoLXVwIGRhbmNlLiBXZSBjYW4ganVzdCBnZW5lcmF0ZSB0aGUgSUQgYW5kIHJldHVybiBpdC5cbiAgICovXG4gIHZhciBpbml0aWFsSWQgPSBpZEZyb21Qcm9wcyB8fCAoc2VydmVySGFuZG9mZkNvbXBsZXRlID8gZ2VuSWQoKSA6IG51bGwpO1xuXG4gIHZhciBfUmVhY3QkdXNlU3RhdGUgPSB1c2VTdGF0ZShpbml0aWFsSWQpLFxuICAgICAgaWQgPSBfUmVhY3QkdXNlU3RhdGVbMF0sXG4gICAgICBzZXRJZCA9IF9SZWFjdCR1c2VTdGF0ZVsxXTtcblxuICB1c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoaWQgPT09IG51bGwpIHtcbiAgICAgIC8qXG4gICAgICAgKiBQYXRjaCB0aGUgSUQgYWZ0ZXIgcmVuZGVyLiBXZSBkbyB0aGlzIGluIGB1c2VMYXlvdXRFZmZlY3RgIHRvIGF2b2lkIGFueVxuICAgICAgICogcmVuZGVyaW5nIGZsaWNrZXIsIHRob3VnaCBpdCdsbCBtYWtlIHRoZSBmaXJzdCByZW5kZXIgc2xvd2VyICh1bmxpa2VseVxuICAgICAgICogdG8gbWF0dGVyLCBidXQgeW91J3JlIHdlbGNvbWUgdG8gbWVhc3VyZSB5b3VyIGFwcCBhbmQgbGV0IHVzIGtub3cgaWZcbiAgICAgICAqIGl0J3MgYSBwcm9ibGVtKS5cbiAgICAgICAqL1xuICAgICAgc2V0SWQoZ2VuSWQoKSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG5cbiAgfSwgW10pO1xuICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIGlmIChzZXJ2ZXJIYW5kb2ZmQ29tcGxldGUgPT09IGZhbHNlKSB7XG4gICAgICAvKlxuICAgICAgICogRmxhZyBhbGwgZnV0dXJlIHVzZXMgb2YgYHVzZUlkYCB0byBza2lwIHRoZSB1cGRhdGUgZGFuY2UuIFRoaXMgaXMgaW5cbiAgICAgICAqIGB1c2VFZmZlY3RgIGJlY2F1c2UgaXQgZ29lcyBhZnRlciBgdXNlTGF5b3V0RWZmZWN0YCwgZW5zdXJpbmcgd2UgZG9uJ3RcbiAgICAgICAqIGFjY2lkZW50YWxseSBiYWlsIG91dCBvZiB0aGUgcGF0Y2gtdXAgZGFuY2UgcHJlbWF0dXJlbHkuXG4gICAgICAgKi9cbiAgICAgIHNlcnZlckhhbmRvZmZDb21wbGV0ZSA9IHRydWU7XG4gICAgfVxuICB9LCBbXSk7XG4gIHJldHVybiBpZCAhPSBudWxsID8gU3RyaW5nKGlkKSA6IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IHsgdXNlSWQgfTtcbiIsImltcG9ydCB7IGNhblVzZURPTSB9IGZyb20gJy4uLy4uL2Nhbi11c2UtZG9tL2Rpc3QvcmVhY2gtdXRpbHMtY2FuLXVzZS1kb20uZXNtLmpzJztcblxuLyoqXG4gKiBHZXQgYW4gZWxlbWVudCdzIG93bmVyIGRvY3VtZW50LiBVc2VmdWwgd2hlbiBjb21wb25lbnRzIGFyZSB1c2VkIGluIGlmcmFtZXNcbiAqIG9yIG90aGVyIGVudmlyb25tZW50cyBsaWtlIGRldiB0b29scy5cbiAqXG4gKiBAcGFyYW0gZWxlbWVudFxuICovXG5cbmZ1bmN0aW9uIGdldE93bmVyRG9jdW1lbnQoZWxlbWVudCkge1xuICByZXR1cm4gY2FuVXNlRE9NKCkgPyBlbGVtZW50ID8gZWxlbWVudC5vd25lckRvY3VtZW50IDogZG9jdW1lbnQgOiBudWxsO1xufVxuLyoqXG4gKiBUT0RPOiBSZW1vdmUgaW4gMS4wXG4gKi9cblxuZnVuY3Rpb24gZ2V0T3duZXJXaW5kb3coZWxlbWVudCkge1xuICB2YXIgb3duZXJEb2N1bWVudCA9IGdldE93bmVyRG9jdW1lbnQoZWxlbWVudCk7XG4gIHJldHVybiBvd25lckRvY3VtZW50ID8gb3duZXJEb2N1bWVudC5kZWZhdWx0VmlldyB8fCB3aW5kb3cgOiBudWxsO1xufVxuXG5leHBvcnQgeyBnZXRPd25lckRvY3VtZW50LCBnZXRPd25lcldpbmRvdyB9O1xuIiwiaW1wb3J0IHsgZ2V0T3duZXJEb2N1bWVudCB9IGZyb20gJy4uLy4uL293bmVyLWRvY3VtZW50L2Rpc3QvcmVhY2gtdXRpbHMtb3duZXItZG9jdW1lbnQuZXNtLmpzJztcbmltcG9ydCAnLi4vLi4vY2FuLXVzZS1kb20vZGlzdC9yZWFjaC11dGlscy1jYW4tdXNlLWRvbS5lc20uanMnO1xuXG4vKipcbiAqIEdldCB0aGUgc2l6ZSBvZiB0aGUgd29ya2luZyBkb2N1bWVudCBtaW51cyB0aGUgc2Nyb2xsYmFyIG9mZnNldC5cbiAqXG4gKiBAcGFyYW0gZWxlbWVudFxuICovXG5cbmZ1bmN0aW9uIGdldERvY3VtZW50RGltZW5zaW9ucyhlbGVtZW50KSB7XG4gIHZhciBfb3duZXJEb2N1bWVudCRkb2N1bWUsIF9vd25lckRvY3VtZW50JGRvY3VtZTI7XG5cbiAgdmFyIG93bmVyRG9jdW1lbnQgPSBnZXRPd25lckRvY3VtZW50KGVsZW1lbnQpO1xuICB2YXIgb3duZXJXaW5kb3cgPSBvd25lckRvY3VtZW50LmRlZmF1bHRWaWV3IHx8IHdpbmRvdztcblxuICBpZiAoIW93bmVyRG9jdW1lbnQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGg6IDAsXG4gICAgICBoZWlnaHQ6IDBcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB3aWR0aDogKF9vd25lckRvY3VtZW50JGRvY3VtZSA9IG93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKSAhPSBudWxsID8gX293bmVyRG9jdW1lbnQkZG9jdW1lIDogb3duZXJXaW5kb3cuaW5uZXJXaWR0aCxcbiAgICBoZWlnaHQ6IChfb3duZXJEb2N1bWVudCRkb2N1bWUyID0gb3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KSAhPSBudWxsID8gX293bmVyRG9jdW1lbnQkZG9jdW1lMiA6IG93bmVyV2luZG93LmlubmVySGVpZ2h0XG4gIH07XG59XG5cbmV4cG9ydCB7IGdldERvY3VtZW50RGltZW5zaW9ucyB9O1xuIiwiLyoqXG4gKiBKb2lucyBzdHJpbmdzIHRvIGZvcm1hdCBJRHMgZm9yIGNvbXBvdW5kIGNvbXBvbmVudHMuXG4gKlxuICogQHBhcmFtIGFyZ3NcbiAqL1xuZnVuY3Rpb24gbWFrZUlkKCkge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICB9XG5cbiAgcmV0dXJuIGFyZ3MuZmlsdGVyKGZ1bmN0aW9uICh2YWwpIHtcbiAgICByZXR1cm4gdmFsICE9IG51bGw7XG4gIH0pLmpvaW4oXCItLVwiKTtcbn1cblxuZXhwb3J0IHsgbWFrZUlkIH07XG4iLCJpbXBvcnQgeyB1c2VSZWYsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcblxuLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3MgKi9cbnZhciBjaGVja2VkUGtncyA9IHt9O1xuLyoqXG4gKiBKdXN0IGEgbGlsIHN0YXRlIGxvZ2dlclxuICpcbiAqIEBwYXJhbSBzdGF0ZVxuICogQHBhcmFtIERFQlVHXG4gKi9cblxuZnVuY3Rpb24gdXNlU3RhdGVMb2dnZXIoc3RhdGUsIERFQlVHKSB7XG4gIGlmIChERUJVRyA9PT0gdm9pZCAwKSB7XG4gICAgREVCVUcgPSBmYWxzZTtcbiAgfVxuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICB2YXIgZGVidWdSZWYgPSB1c2VSZWYoREVCVUcpO1xuICAgIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgICBkZWJ1Z1JlZi5jdXJyZW50ID0gREVCVUc7XG4gICAgfSwgW0RFQlVHXSk7XG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmIChkZWJ1Z1JlZi5jdXJyZW50KSB7XG4gICAgICAgIGNvbnNvbGUuZ3JvdXAoXCJTdGF0ZSBVcGRhdGVkXCIpO1xuICAgICAgICBjb25zb2xlLmxvZyhcIiVjXCIgKyBzdGF0ZSwgXCJmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDEyMCU7IGZvbnQtc3R5bGU6IGl0YWxpYztcIik7XG4gICAgICAgIGNvbnNvbGUuZ3JvdXBFbmQoKTtcbiAgICAgIH1cbiAgICB9LCBbc3RhdGVdKTtcbiAgfVxufVxuLyoqXG4gKiBXaGVuIGluIGRldiBtb2RlLCBjaGVja3MgdGhhdCBzdHlsZXMgZm9yIGEgZ2l2ZW4gYEByZWFjaGAgcGFja2FnZSBhcmUgbG9hZGVkLlxuICpcbiAqIEBwYXJhbSBwYWNrYWdlTmFtZSBOYW1lIG9mIHRoZSBwYWNrYWdlIHRvIGNoZWNrLlxuICogQGV4YW1wbGUgY2hlY2tTdHlsZXMoXCJkaWFsb2dcIikgd2lsbCBjaGVjayBmb3Igc3R5bGVzIGZvciBAcmVhY2gvZGlhbG9nXG4gKi9cblxuZnVuY3Rpb24gY2hlY2tTdHlsZXMocGFja2FnZU5hbWUpIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgIC8vIEluIENKUyBmaWxlcywgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgaXMgc3RyaXBwZWQgZnJvbSBvdXIgYnVpbGQsIGJ1dCB3ZVxuICAgIC8vIG5lZWQgaXQgdG8gcHJldmVudCBzdHlsZSBjaGVja3MgZnJvbSBjbG9nZ2luZyB1cCB1c2VyIGxvZ3Mgd2hpbGUgdGVzdGluZy5cbiAgICAvLyBUaGlzIGlzIGEgd29ya2Fyb3VuZCB1bnRpbCB3ZSBjYW4gdHdlYWsgdGhlIGJ1aWxkIGEgYml0IHRvIGFjY29tbW9kYXRlLlxuICAgIHZhciBfcmVmID0gdHlwZW9mIHByb2Nlc3MgIT09IFwidW5kZWZpbmVkXCIgPyBwcm9jZXNzLmVudiA6IHtcbiAgICAgIE5PREVfRU5WOiBcImRldmVsb3BtZW50XCJcbiAgICB9LFxuICAgICAgICBlbnZpcm9ubWVudCA9IF9yZWYuTk9ERV9FTlY7IC8vIG9ubHkgY2hlY2sgb25jZSBwZXIgcGFja2FnZVxuXG5cbiAgICBpZiAoY2hlY2tlZFBrZ3NbcGFja2FnZU5hbWVdKSByZXR1cm47XG4gICAgY2hlY2tlZFBrZ3NbcGFja2FnZU5hbWVdID0gdHJ1ZTtcblxuICAgIGlmIChlbnZpcm9ubWVudCA9PT0gXCJkZXZlbG9wbWVudFwiICYmIHBhcnNlSW50KHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLmdldFByb3BlcnR5VmFsdWUoXCItLXJlYWNoLVwiICsgcGFja2FnZU5hbWUpLCAxMCkgIT09IDEpIHtcbiAgICAgIGNvbnNvbGUud2FybihcIkByZWFjaC9cIiArIHBhY2thZ2VOYW1lICsgXCIgc3R5bGVzIG5vdCBmb3VuZC4gSWYgeW91IGFyZSB1c2luZyBhIGJ1bmRsZXIgbGlrZSB3ZWJwYWNrIG9yIHBhcmNlbCBpbmNsdWRlIHRoaXMgaW4gdGhlIGVudHJ5IGZpbGUgb2YgeW91ciBhcHAgYmVmb3JlIGFueSBvZiB5b3VyIG93biBzdHlsZXM6XFxuICBcXG4gICAgICBpbXBvcnQgXFxcIkByZWFjaC9cIiArIHBhY2thZ2VOYW1lICsgXCIvc3R5bGVzLmNzc1xcXCI7XFxuICBcXG4gICAgT3RoZXJ3aXNlIHlvdSdsbCBuZWVkIHRvIGluY2x1ZGUgdGhlbSBzb21lIG90aGVyIHdheTpcXG4gIFxcbiAgICAgIDxsaW5rIHJlbD1cXFwic3R5bGVzaGVldFxcXCIgdHlwZT1cXFwidGV4dC9jc3NcXFwiIGhyZWY9XFxcIm5vZGVfbW9kdWxlcy9AcmVhY2gvXCIgKyBwYWNrYWdlTmFtZSArIFwiL3N0eWxlcy5jc3NcXFwiIC8+XFxuICBcXG4gICAgRm9yIG1vcmUgaW5mb3JtYXRpb24gdmlzaXQgaHR0cHM6Ly91aS5yZWFjaC50ZWNoL3N0eWxpbmcuXFxuICAgIFwiKTtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogV2hlbiBpbiBkZXYgbW9kZSwgY2hlY2tzIHRoYXQgc3R5bGVzIGZvciBhIGdpdmVuIGBAcmVhY2hgIHBhY2thZ2UgYXJlIGxvYWRlZC5cbiAqXG4gKiBAcGFyYW0gcGFja2FnZU5hbWUgTmFtZSBvZiB0aGUgcGFja2FnZSB0byBjaGVjay5cbiAqIEBleGFtcGxlIHVzZUNoZWNrU3R5bGVzKFwiZGlhbG9nXCIpIHdpbGwgY2hlY2sgZm9yIHN0eWxlcyBmb3IgQHJlYWNoL2RpYWxvZ1xuICovXG5cbmZ1bmN0aW9uIHVzZUNoZWNrU3R5bGVzKHBhY2thZ2VOYW1lKSB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICB2YXIgbmFtZSA9IHVzZVJlZihwYWNrYWdlTmFtZSk7XG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiB2b2lkIChuYW1lLmN1cnJlbnQgPSBwYWNrYWdlTmFtZSk7XG4gICAgfSwgW3BhY2thZ2VOYW1lXSk7XG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBjaGVja1N0eWxlcyhuYW1lLmN1cnJlbnQpO1xuICAgIH0sIFtdKTtcbiAgfVxufVxuLyoqXG4gKiBMb2dzIGEgd2FybmluZyBpbiBkZXYgbW9kZSB3aGVuIGEgY29tcG9uZW50IHN3aXRjaGVzIGZyb20gY29udHJvbGxlZCB0b1xuICogdW5jb250cm9sbGVkLCBvciB2aWNlIHZlcnNhXG4gKlxuICogQSBzaW5nbGUgcHJvcCBzaG91bGQgdHlwaWNhbGx5IGJlIHVzZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90IGFcbiAqIGNvbXBvbmVudCBpcyBjb250cm9sbGVkIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0gY29udHJvbGxlZFZhbHVlXG4gKiBAcGFyYW0gY29udHJvbGxlZFByb3BOYW1lXG4gKiBAcGFyYW0gY29tcG9uZW50TmFtZVxuICovXG5cbmZ1bmN0aW9uIHVzZUNvbnRyb2xsZWRTd2l0Y2hXYXJuaW5nKGNvbnRyb2xsZWRWYWx1ZSwgY29udHJvbGxlZFByb3BOYW1lLCBjb21wb25lbnROYW1lKSB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICB2YXIgY29udHJvbGxlZFJlZiA9IHVzZVJlZihjb250cm9sbGVkVmFsdWUgIT0gbnVsbCk7XG4gICAgdmFyIG5hbWVDYWNoZSA9IHVzZVJlZih7XG4gICAgICBjb21wb25lbnROYW1lOiBjb21wb25lbnROYW1lLFxuICAgICAgY29udHJvbGxlZFByb3BOYW1lOiBjb250cm9sbGVkUHJvcE5hbWVcbiAgICB9KTtcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgbmFtZUNhY2hlLmN1cnJlbnQgPSB7XG4gICAgICAgIGNvbXBvbmVudE5hbWU6IGNvbXBvbmVudE5hbWUsXG4gICAgICAgIGNvbnRyb2xsZWRQcm9wTmFtZTogY29udHJvbGxlZFByb3BOYW1lXG4gICAgICB9O1xuICAgIH0sIFtjb21wb25lbnROYW1lLCBjb250cm9sbGVkUHJvcE5hbWVdKTtcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIHdhc0NvbnRyb2xsZWQgPSBjb250cm9sbGVkUmVmLmN1cnJlbnQ7XG4gICAgICB2YXIgX25hbWVDYWNoZSRjdXJyZW50ID0gbmFtZUNhY2hlLmN1cnJlbnQsXG4gICAgICAgICAgY29tcG9uZW50TmFtZSA9IF9uYW1lQ2FjaGUkY3VycmVudC5jb21wb25lbnROYW1lLFxuICAgICAgICAgIGNvbnRyb2xsZWRQcm9wTmFtZSA9IF9uYW1lQ2FjaGUkY3VycmVudC5jb250cm9sbGVkUHJvcE5hbWU7XG4gICAgICB2YXIgaXNDb250cm9sbGVkID0gY29udHJvbGxlZFZhbHVlICE9IG51bGw7XG5cbiAgICAgIGlmICh3YXNDb250cm9sbGVkICE9PSBpc0NvbnRyb2xsZWQpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkEgY29tcG9uZW50IGlzIGNoYW5naW5nIGFuIFwiICsgKHdhc0NvbnRyb2xsZWQgPyBcIlwiIDogXCJ1blwiKSArIFwiY29udHJvbGxlZCBgXCIgKyBjb250cm9sbGVkUHJvcE5hbWUgKyBcImAgc3RhdGUgb2YgXCIgKyBjb21wb25lbnROYW1lICsgXCIgdG8gYmUgXCIgKyAod2FzQ29udHJvbGxlZCA/IFwidW5cIiA6IFwiXCIpICsgXCJjb250cm9sbGVkLiBUaGlzIGlzIGxpa2VseSBjYXVzZWQgYnkgdGhlIHZhbHVlIGNoYW5naW5nIGZyb20gdW5kZWZpbmVkIHRvIGEgZGVmaW5lZCB2YWx1ZSwgd2hpY2ggc2hvdWxkIG5vdCBoYXBwZW4uIERlY2lkZSBiZXR3ZWVuIHVzaW5nIGEgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgXCIgKyBjb21wb25lbnROYW1lICsgXCIgZWxlbWVudCBmb3IgdGhlIGxpZmV0aW1lIG9mIHRoZSBjb21wb25lbnQuXFxuICAgICAgTW9yZSBpbmZvOiBodHRwczovL2ZiLm1lL3JlYWN0LWNvbnRyb2xsZWQtY29tcG9uZW50c1wiKTtcbiAgICAgIH1cbiAgICB9LCBbY29udHJvbGxlZFZhbHVlXSk7XG4gIH1cbn1cblxuZXhwb3J0IHsgY2hlY2tTdHlsZXMsIHVzZUNoZWNrU3R5bGVzLCB1c2VDb250cm9sbGVkU3dpdGNoV2FybmluZywgdXNlU3RhdGVMb2dnZXIgfTtcbiIsIi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgb3Igbm90IGEgdmFsdWUgaXMgYSBib29sZWFuLlxuICpcbiAqIEBwYXJhbSB2YWx1ZVxuICovXG5mdW5jdGlvbiBpc0Jvb2xlYW4odmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJib29sZWFuXCI7XG59XG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIG9yIG5vdCBhIHZhbHVlIGlzIGEgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIHZhbHVlXG4gKi9cblxuZnVuY3Rpb24gaXNGdW5jdGlvbih2YWx1ZSkge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZXFlcWVxXG4gIHJldHVybiAhISh2YWx1ZSAmJiB7fS50b1N0cmluZy5jYWxsKHZhbHVlKSA9PSBcIltvYmplY3QgRnVuY3Rpb25dXCIpO1xufVxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBvciBub3QgYSB2YWx1ZSBpcyBhIG51bWJlci5cbiAqXG4gKiBAcGFyYW0gdmFsdWVcbiAqL1xuXG5mdW5jdGlvbiBpc051bWJlcih2YWx1ZSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiICYmICFpc05hTih2YWx1ZSk7XG59XG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIG9yIG5vdCBhIHZhbHVlIGlzIGEgc3RyaW5nLlxuICpcbiAqIEBwYXJhbSB2YWx1ZVxuICovXG5cbmZ1bmN0aW9uIGlzU3RyaW5nKHZhbHVlKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCI7XG59XG5cbmV4cG9ydCB7IGlzQm9vbGVhbiwgaXNGdW5jdGlvbiwgaXNOdW1iZXIsIGlzU3RyaW5nIH07XG4iLCJpbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICcuLi8uLi90eXBlLWNoZWNrL2Rpc3QvcmVhY2gtdXRpbHMtdHlwZS1jaGVjay5lc20uanMnO1xuXG5mdW5jdGlvbiBfYXJyYXlMaWtlVG9BcnJheShhcnIsIGxlbikge1xuICBpZiAobGVuID09IG51bGwgfHwgbGVuID4gYXJyLmxlbmd0aCkgbGVuID0gYXJyLmxlbmd0aDtcblxuICBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShsZW4pOyBpIDwgbGVuOyBpKyspIGFycjJbaV0gPSBhcnJbaV07XG5cbiAgcmV0dXJuIGFycjI7XG59XG5cbmZ1bmN0aW9uIF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShvLCBtaW5MZW4pIHtcbiAgaWYgKCFvKSByZXR1cm47XG4gIGlmICh0eXBlb2YgbyA9PT0gXCJzdHJpbmdcIikgcmV0dXJuIF9hcnJheUxpa2VUb0FycmF5KG8sIG1pbkxlbik7XG4gIHZhciBuID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pLnNsaWNlKDgsIC0xKTtcbiAgaWYgKG4gPT09IFwiT2JqZWN0XCIgJiYgby5jb25zdHJ1Y3RvcikgbiA9IG8uY29uc3RydWN0b3IubmFtZTtcbiAgaWYgKG4gPT09IFwiTWFwXCIgfHwgbiA9PT0gXCJTZXRcIikgcmV0dXJuIEFycmF5LmZyb20obyk7XG4gIGlmIChuID09PSBcIkFyZ3VtZW50c1wiIHx8IC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTtcbn1cblxuZnVuY3Rpb24gX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXJMb29zZShvLCBhbGxvd0FycmF5TGlrZSkge1xuICB2YXIgaXQ7XG5cbiAgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwidW5kZWZpbmVkXCIgfHwgb1tTeW1ib2wuaXRlcmF0b3JdID09IG51bGwpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShvKSB8fCAoaXQgPSBfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkobykpIHx8IGFsbG93QXJyYXlMaWtlICYmIG8gJiYgdHlwZW9mIG8ubGVuZ3RoID09PSBcIm51bWJlclwiKSB7XG4gICAgICBpZiAoaXQpIG8gPSBpdDtcbiAgICAgIHZhciBpID0gMDtcbiAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmIChpID49IG8ubGVuZ3RoKSByZXR1cm4ge1xuICAgICAgICAgIGRvbmU6IHRydWVcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBkb25lOiBmYWxzZSxcbiAgICAgICAgICB2YWx1ZTogb1tpKytdXG4gICAgICAgIH07XG4gICAgICB9O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKTtcbiAgfVxuXG4gIGl0ID0gb1tTeW1ib2wuaXRlcmF0b3JdKCk7XG4gIHJldHVybiBpdC5uZXh0LmJpbmQoaXQpO1xufVxuXG4vKipcbiAqIFBhc3NlcyBvciBhc3NpZ25zIGFuIGFyYml0cmFyeSB2YWx1ZSB0byBhIHJlZiBmdW5jdGlvbiBvciBvYmplY3QuXG4gKlxuICogQHBhcmFtIHJlZlxuICogQHBhcmFtIHZhbHVlXG4gKi9cbmZ1bmN0aW9uIGFzc2lnblJlZihyZWYsIHZhbHVlKSB7XG4gIGlmIChyZWYgPT0gbnVsbCkgcmV0dXJuO1xuXG4gIGlmIChpc0Z1bmN0aW9uKHJlZikpIHtcbiAgICByZWYodmFsdWUpO1xuICB9IGVsc2Uge1xuICAgIHRyeSB7XG4gICAgICByZWYuY3VycmVudCA9IHZhbHVlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgYXNzaWduIHZhbHVlIFxcXCJcIiArIHZhbHVlICsgXCJcXFwiIHRvIHJlZiBcXFwiXCIgKyByZWYgKyBcIlxcXCJcIik7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIFBhc3NlcyBvciBhc3NpZ25zIGEgdmFsdWUgdG8gbXVsdGlwbGUgcmVmcyAodHlwaWNhbGx5IGEgRE9NIG5vZGUpLiBVc2VmdWwgZm9yXG4gKiBkZWFsaW5nIHdpdGggY29tcG9uZW50cyB0aGF0IG5lZWQgYW4gZXhwbGljaXQgcmVmIGZvciBET00gY2FsY3VsYXRpb25zIGJ1dFxuICogYWxzbyBmb3J3YXJkcyByZWZzIGFzc2lnbmVkIGJ5IGFuIGFwcC5cbiAqXG4gKiBAcGFyYW0gcmVmcyBSZWZzIHRvIGZvcmtcbiAqL1xuXG5mdW5jdGlvbiB1c2VDb21wb3NlZFJlZnMoKSB7XG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCByZWZzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIHJlZnNbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICByZXR1cm4gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKG5vZGUpIHtcbiAgICBmb3IgKHZhciBfaXRlcmF0b3IgPSBfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlckxvb3NlKHJlZnMpLCBfc3RlcDsgIShfc3RlcCA9IF9pdGVyYXRvcigpKS5kb25lOykge1xuICAgICAgdmFyIHJlZiA9IF9zdGVwLnZhbHVlO1xuICAgICAgYXNzaWduUmVmKHJlZiwgbm9kZSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG5cbiAgfSwgcmVmcyk7XG59XG5cbmV4cG9ydCB7IGFzc2lnblJlZiwgdXNlQ29tcG9zZWRSZWZzIH07XG4iLCIvKipcbiAqIFdyYXBzIGEgbGliLWRlZmluZWQgZXZlbnQgaGFuZGxlciBhbmQgYSB1c2VyLWRlZmluZWQgZXZlbnQgaGFuZGxlciwgcmV0dXJuaW5nXG4gKiBhIHNpbmdsZSBoYW5kbGVyIHRoYXQgYWxsb3dzIGEgdXNlciB0byBwcmV2ZW50IGxpYi1kZWZpbmVkIGhhbmRsZXJzIGZyb21cbiAqIGZpcmluZy5cbiAqXG4gKiBAcGFyYW0gdGhlaXJIYW5kbGVyIFVzZXItc3VwcGxpZWQgZXZlbnQgaGFuZGxlclxuICogQHBhcmFtIG91ckhhbmRsZXIgTGlicmFyeS1zdXBwbGllZCBldmVudCBoYW5kbGVyXG4gKi9cbmZ1bmN0aW9uIGNvbXBvc2VFdmVudEhhbmRsZXJzKHRoZWlySGFuZGxlciwgb3VySGFuZGxlcikge1xuICByZXR1cm4gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgdGhlaXJIYW5kbGVyICYmIHRoZWlySGFuZGxlcihldmVudCk7XG5cbiAgICBpZiAoIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIHJldHVybiBvdXJIYW5kbGVyKGV2ZW50KTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCB7IGNvbXBvc2VFdmVudEhhbmRsZXJzIH07XG4iLCJpbXBvcnQgeyBmb3J3YXJkUmVmLCBjcmVhdGVFbGVtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuZnVuY3Rpb24gX2V4dGVuZHMoKSB7XG4gIF9leHRlbmRzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7XG4gICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07XG5cbiAgICAgIGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHtcbiAgICAgICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfTtcblxuICByZXR1cm4gX2V4dGVuZHMuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn1cblxuZnVuY3Rpb24gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2Uoc291cmNlLCBleGNsdWRlZCkge1xuICBpZiAoc291cmNlID09IG51bGwpIHJldHVybiB7fTtcbiAgdmFyIHRhcmdldCA9IHt9O1xuICB2YXIgc291cmNlS2V5cyA9IE9iamVjdC5rZXlzKHNvdXJjZSk7XG4gIHZhciBrZXksIGk7XG5cbiAgZm9yIChpID0gMDsgaSA8IHNvdXJjZUtleXMubGVuZ3RoOyBpKyspIHtcbiAgICBrZXkgPSBzb3VyY2VLZXlzW2ldO1xuICAgIGlmIChleGNsdWRlZC5pbmRleE9mKGtleSkgPj0gMCkgY29udGludWU7XG4gICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59XG5cbnZhciBfZXhjbHVkZWQgPSBbXCJhc1wiLCBcInN0eWxlXCJdO1xuXG4vKipcbiAqIFZpc3VhbGx5SGlkZGVuXG4gKlxuICogUHJvdmlkZXMgdGV4dCBmb3Igc2NyZWVuIHJlYWRlcnMgdGhhdCBpcyB2aXN1YWxseSBoaWRkZW4uXG4gKiBJdCBpcyB0aGUgbG9naWNhbCBvcHBvc2l0ZSBvZiB0aGUgYGFyaWEtaGlkZGVuYCBhdHRyaWJ1dGUuXG4gKi9cbnZhciBWaXN1YWxseUhpZGRlbiA9IC8qI19fUFVSRV9fKi9mb3J3YXJkUmVmKGZ1bmN0aW9uIFZpc3VhbGx5SGlkZGVuKF9yZWYsIHJlZikge1xuICB2YXIgX3JlZiRhcyA9IF9yZWYuYXMsXG4gICAgICBDb21wID0gX3JlZiRhcyA9PT0gdm9pZCAwID8gXCJzcGFuXCIgOiBfcmVmJGFzLFxuICAgICAgX3JlZiRzdHlsZSA9IF9yZWYuc3R5bGUsXG4gICAgICBzdHlsZSA9IF9yZWYkc3R5bGUgPT09IHZvaWQgMCA/IHt9IDogX3JlZiRzdHlsZSxcbiAgICAgIHByb3BzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UoX3JlZiwgX2V4Y2x1ZGVkKTtcblxuICByZXR1cm4gLyojX19QVVJFX18qL2NyZWF0ZUVsZW1lbnQoQ29tcCwgX2V4dGVuZHMoe1xuICAgIHJlZjogcmVmLFxuICAgIHN0eWxlOiBfZXh0ZW5kcyh7XG4gICAgICBib3JkZXI6IDAsXG4gICAgICBjbGlwOiBcInJlY3QoMCAwIDAgMClcIixcbiAgICAgIGhlaWdodDogXCIxcHhcIixcbiAgICAgIG1hcmdpbjogXCItMXB4XCIsXG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICAgIHBhZGRpbmc6IDAsXG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgd2lkdGg6IFwiMXB4XCIsXG4gICAgICAvLyBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gICAgICB3aGl0ZVNwYWNlOiBcIm5vd3JhcFwiLFxuICAgICAgd29yZFdyYXA6IFwibm9ybWFsXCJcbiAgICB9LCBzdHlsZSlcbiAgfSwgcHJvcHMpKTtcbn0pO1xuLyoqXG4gKiBAc2VlIERvY3MgaHR0cHM6Ly9yZWFjaC50ZWNoL3Zpc3VhbGx5LWhpZGRlbiN2aXN1YWxseWhpZGRlbi1wcm9wc1xuICovXG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgVmlzdWFsbHlIaWRkZW4uZGlzcGxheU5hbWUgPSBcIlZpc3VhbGx5SGlkZGVuXCI7XG4gIFZpc3VhbGx5SGlkZGVuLnByb3BUeXBlcyA9IHtcbiAgICBhczogUHJvcFR5cGVzLmFueSxcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGVcbiAgfTtcbn0gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuZXhwb3J0IGRlZmF1bHQgVmlzdWFsbHlIaWRkZW47XG5leHBvcnQgeyBWaXN1YWxseUhpZGRlbiB9O1xuIiwidmFyIHByb3BzID0gW1wiYm90dG9tXCIsIFwiaGVpZ2h0XCIsIFwibGVmdFwiLCBcInJpZ2h0XCIsIFwidG9wXCIsIFwid2lkdGhcIl07XG5cbnZhciByZWN0Q2hhbmdlZCA9IGZ1bmN0aW9uIHJlY3RDaGFuZ2VkKGEsIGIpIHtcbiAgaWYgKGEgPT09IHZvaWQgMCkge1xuICAgIGEgPSB7fTtcbiAgfVxuXG4gIGlmIChiID09PSB2b2lkIDApIHtcbiAgICBiID0ge307XG4gIH1cblxuICByZXR1cm4gcHJvcHMuc29tZShmdW5jdGlvbiAocHJvcCkge1xuICAgIHJldHVybiBhW3Byb3BdICE9PSBiW3Byb3BdO1xuICB9KTtcbn07XG5cbnZhciBvYnNlcnZlZE5vZGVzID0gLyojX19QVVJFX18qL25ldyBNYXAoKTtcbnZhciByYWZJZDtcblxudmFyIHJ1biA9IGZ1bmN0aW9uIHJ1bigpIHtcbiAgdmFyIGNoYW5nZWRTdGF0ZXMgPSBbXTtcbiAgb2JzZXJ2ZWROb2Rlcy5mb3JFYWNoKGZ1bmN0aW9uIChzdGF0ZSwgbm9kZSkge1xuICAgIHZhciBuZXdSZWN0ID0gbm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGlmIChyZWN0Q2hhbmdlZChuZXdSZWN0LCBzdGF0ZS5yZWN0KSkge1xuICAgICAgc3RhdGUucmVjdCA9IG5ld1JlY3Q7XG4gICAgICBjaGFuZ2VkU3RhdGVzLnB1c2goc3RhdGUpO1xuICAgIH1cbiAgfSk7XG4gIGNoYW5nZWRTdGF0ZXMuZm9yRWFjaChmdW5jdGlvbiAoc3RhdGUpIHtcbiAgICBzdGF0ZS5jYWxsYmFja3MuZm9yRWFjaChmdW5jdGlvbiAoY2IpIHtcbiAgICAgIHJldHVybiBjYihzdGF0ZS5yZWN0KTtcbiAgICB9KTtcbiAgfSk7XG4gIHJhZklkID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShydW4pO1xufTtcblxuZnVuY3Rpb24gb2JzZXJ2ZVJlY3Qobm9kZSwgY2IpIHtcbiAgcmV0dXJuIHtcbiAgICBvYnNlcnZlOiBmdW5jdGlvbiBvYnNlcnZlKCkge1xuICAgICAgdmFyIHdhc0VtcHR5ID0gb2JzZXJ2ZWROb2Rlcy5zaXplID09PSAwO1xuXG4gICAgICBpZiAob2JzZXJ2ZWROb2Rlcy5oYXMobm9kZSkpIHtcbiAgICAgICAgb2JzZXJ2ZWROb2Rlcy5nZXQobm9kZSkuY2FsbGJhY2tzLnB1c2goY2IpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb2JzZXJ2ZWROb2Rlcy5zZXQobm9kZSwge1xuICAgICAgICAgIHJlY3Q6IHVuZGVmaW5lZCxcbiAgICAgICAgICBoYXNSZWN0Q2hhbmdlZDogZmFsc2UsXG4gICAgICAgICAgY2FsbGJhY2tzOiBbY2JdXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAod2FzRW1wdHkpIHJ1bigpO1xuICAgIH0sXG4gICAgdW5vYnNlcnZlOiBmdW5jdGlvbiB1bm9ic2VydmUoKSB7XG4gICAgICB2YXIgc3RhdGUgPSBvYnNlcnZlZE5vZGVzLmdldChub2RlKTtcblxuICAgICAgaWYgKHN0YXRlKSB7XG4gICAgICAgIC8vIFJlbW92ZSB0aGUgY2FsbGJhY2tcbiAgICAgICAgdmFyIGluZGV4ID0gc3RhdGUuY2FsbGJhY2tzLmluZGV4T2YoY2IpO1xuICAgICAgICBpZiAoaW5kZXggPj0gMCkgc3RhdGUuY2FsbGJhY2tzLnNwbGljZShpbmRleCwgMSk7IC8vIFJlbW92ZSB0aGUgbm9kZSByZWZlcmVuY2VcblxuICAgICAgICBpZiAoIXN0YXRlLmNhbGxiYWNrcy5sZW5ndGgpIG9ic2VydmVkTm9kZXNbXCJkZWxldGVcIl0obm9kZSk7IC8vIFN0b3AgdGhlIGxvb3BcblxuICAgICAgICBpZiAoIW9ic2VydmVkTm9kZXMuc2l6ZSkgY2FuY2VsQW5pbWF0aW9uRnJhbWUocmFmSWQpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgb2JzZXJ2ZVJlY3Q7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1vYnNlcnZlLXJlY3QuZXNtLmpzLm1hcFxuIiwiaW1wb3J0IHsgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBvYnNlcnZlUmVjdCBmcm9tICdAcmVhY2gvb2JzZXJ2ZS1yZWN0JztcbmltcG9ydCB7IHVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QgfSBmcm9tICdAcmVhY2gvdXRpbHMvdXNlLWlzb21vcnBoaWMtbGF5b3V0LWVmZmVjdCc7XG5pbXBvcnQgeyBpc0Jvb2xlYW4sIGlzRnVuY3Rpb24gfSBmcm9tICdAcmVhY2gvdXRpbHMvdHlwZS1jaGVjayc7XG5pbXBvcnQgd2FybmluZyBmcm9tICd0aW55LXdhcm5pbmcnO1xuXG4vKipcbiAqIFdlbGNvbWUgdG8gQHJlYWNoL3JlY3QhXG4gKlxuICogTWVhc3VyZXMgRE9NIGVsZW1lbnRzIChha2EuIGJvdW5kaW5nIGNsaWVudCByZWN0KS5cbiAqXG4gKiBAc2VlIGdldEJvdW5kaW5nQ2xpZW50UmVjdCBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRWxlbWVudC9nZXRCb3VuZGluZ0NsaWVudFJlY3RcbiAqIEBzZWUgRG9jcyAgICAgICAgICAgICAgICAgIGh0dHBzOi8vcmVhY2gudGVjaC9yZWN0XG4gKiBAc2VlIFNvdXJjZSAgICAgICAgICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vcmVhY2gvcmVhY2gtdWkvdHJlZS9tYWluL3BhY2thZ2VzL3JlY3RcbiAqL1xuXG4vKipcbiAqIFJlY3RcbiAqXG4gKiBAcGFyYW0gcHJvcHNcbiAqL1xuXG52YXIgUmVjdCA9IGZ1bmN0aW9uIFJlY3QoX3JlZikge1xuICB2YXIgb25DaGFuZ2UgPSBfcmVmLm9uQ2hhbmdlLFxuICAgICAgX3JlZiRvYnNlcnZlID0gX3JlZi5vYnNlcnZlLFxuICAgICAgb2JzZXJ2ZSA9IF9yZWYkb2JzZXJ2ZSA9PT0gdm9pZCAwID8gdHJ1ZSA6IF9yZWYkb2JzZXJ2ZSxcbiAgICAgIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbjtcbiAgdmFyIHJlZiA9IHVzZVJlZihudWxsKTtcbiAgdmFyIHJlY3QgPSB1c2VSZWN0KHJlZiwge1xuICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgb25DaGFuZ2U6IG9uQ2hhbmdlXG4gIH0pO1xuICByZXR1cm4gY2hpbGRyZW4oe1xuICAgIHJlZjogcmVmLFxuICAgIHJlY3Q6IHJlY3RcbiAgfSk7XG59O1xuLyoqXG4gKiBAc2VlIERvY3MgaHR0cHM6Ly9yZWFjaC50ZWNoL3JlY3QjcmVjdC1wcm9wc1xuICovXG5cblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICBSZWN0LmRpc3BsYXlOYW1lID0gXCJSZWN0XCI7XG4gIFJlY3QucHJvcFR5cGVzID0ge1xuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9ic2VydmU6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuY1xuICB9O1xufSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cbi8qKlxuICogdXNlUmVjdFxuICpcbiAqIEBwYXJhbSBub2RlUmVmXG4gKiBAcGFyYW0gb2JzZXJ2ZVxuICogQHBhcmFtIG9uQ2hhbmdlXG4gKi9cbmZ1bmN0aW9uIHVzZVJlY3Qobm9kZVJlZiwgb2JzZXJ2ZU9yT3B0aW9ucywgZGVwcmVjYXRlZF9vbkNoYW5nZSkge1xuICB2YXIgb2JzZXJ2ZTtcbiAgdmFyIG9uQ2hhbmdlO1xuXG4gIGlmIChpc0Jvb2xlYW4ob2JzZXJ2ZU9yT3B0aW9ucykpIHtcbiAgICBvYnNlcnZlID0gb2JzZXJ2ZU9yT3B0aW9ucztcbiAgfSBlbHNlIHtcbiAgICB2YXIgX29ic2VydmVPck9wdGlvbnMkb2JzO1xuXG4gICAgb2JzZXJ2ZSA9IChfb2JzZXJ2ZU9yT3B0aW9ucyRvYnMgPSBvYnNlcnZlT3JPcHRpb25zID09IG51bGwgPyB2b2lkIDAgOiBvYnNlcnZlT3JPcHRpb25zLm9ic2VydmUpICE9IG51bGwgPyBfb2JzZXJ2ZU9yT3B0aW9ucyRvYnMgOiB0cnVlO1xuICAgIG9uQ2hhbmdlID0gb2JzZXJ2ZU9yT3B0aW9ucyA9PSBudWxsID8gdm9pZCAwIDogb2JzZXJ2ZU9yT3B0aW9ucy5vbkNoYW5nZTtcbiAgfVxuXG4gIGlmIChpc0Z1bmN0aW9uKGRlcHJlY2F0ZWRfb25DaGFuZ2UpKSB7XG4gICAgb25DaGFuZ2UgPSBkZXByZWNhdGVkX29uQ2hhbmdlO1xuICB9XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuICAgIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyB3YXJuaW5nKCFpc0Jvb2xlYW4ob2JzZXJ2ZU9yT3B0aW9ucyksIFwiUGFzc2luZyBgb2JzZXJ2ZWAgYXMgdGhlIHNlY29uZCBhcmd1bWVudCB0byBgdXNlUmVjdGAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24gb2YgUmVhY2ggVUkuIEluc3RlYWQsIHlvdSBjYW4gcGFzcyBhbiBvYmplY3Qgb2Ygb3B0aW9ucyB3aXRoIGFuIGBvYnNlcnZlYCBwcm9wZXJ0eSBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IChgdXNlUmVjdChyZWYsIHsgb2JzZXJ2ZSB9KWApLlxcblwiICsgXCJTZWUgaHR0cHM6Ly9yZWFjaC50ZWNoL3JlY3QjdXNlcmVjdC1vYnNlcnZlXCIpIDogdm9pZCAwO1xuICAgIH0sIFtvYnNlcnZlT3JPcHRpb25zXSk7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuXG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IHdhcm5pbmcoIWlzRnVuY3Rpb24oZGVwcmVjYXRlZF9vbkNoYW5nZSksIFwiUGFzc2luZyBgb25DaGFuZ2VgIGFzIHRoZSB0aGlyZCBhcmd1bWVudCB0byBgdXNlUmVjdGAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24gb2YgUmVhY2ggVUkuIEluc3RlYWQsIHlvdSBjYW4gcGFzcyBhbiBvYmplY3Qgb2Ygb3B0aW9ucyB3aXRoIGFuIGBvbkNoYW5nZWAgcHJvcGVydHkgYXMgdGhlIHNlY29uZCBhcmd1bWVudCAoYHVzZVJlY3QocmVmLCB7IG9uQ2hhbmdlIH0pYCkuXFxuXCIgKyBcIlNlZSBodHRwczovL3JlYWNoLnRlY2gvcmVjdCN1c2VyZWN0LW9uY2hhbmdlXCIpIDogdm9pZCAwO1xuICAgIH0sIFtkZXByZWNhdGVkX29uQ2hhbmdlXSk7XG4gIH1cblxuICB2YXIgX1JlYWN0JHVzZVN0YXRlID0gdXNlU3RhdGUobm9kZVJlZi5jdXJyZW50KSxcbiAgICAgIGVsZW1lbnQgPSBfUmVhY3QkdXNlU3RhdGVbMF0sXG4gICAgICBzZXRFbGVtZW50ID0gX1JlYWN0JHVzZVN0YXRlWzFdO1xuXG4gIHZhciBpbml0aWFsUmVjdElzU2V0ID0gdXNlUmVmKGZhbHNlKTtcbiAgdmFyIGluaXRpYWxSZWZJc1NldCA9IHVzZVJlZihmYWxzZSk7XG5cbiAgdmFyIF9SZWFjdCR1c2VTdGF0ZTIgPSB1c2VTdGF0ZShudWxsKSxcbiAgICAgIHJlY3QgPSBfUmVhY3QkdXNlU3RhdGUyWzBdLFxuICAgICAgc2V0UmVjdCA9IF9SZWFjdCR1c2VTdGF0ZTJbMV07XG5cbiAgdmFyIG9uQ2hhbmdlUmVmID0gdXNlUmVmKG9uQ2hhbmdlKTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuXG4gIHVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIG9uQ2hhbmdlUmVmLmN1cnJlbnQgPSBvbkNoYW5nZTtcblxuICAgIGlmIChub2RlUmVmLmN1cnJlbnQgIT09IGVsZW1lbnQpIHtcbiAgICAgIHNldEVsZW1lbnQobm9kZVJlZi5jdXJyZW50KTtcbiAgICB9XG4gIH0pO1xuICB1c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoZWxlbWVudCAmJiAhaW5pdGlhbFJlY3RJc1NldC5jdXJyZW50KSB7XG4gICAgICBpbml0aWFsUmVjdElzU2V0LmN1cnJlbnQgPSB0cnVlO1xuICAgICAgc2V0UmVjdChlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTtcbiAgICB9XG4gIH0sIFtlbGVtZW50XSk7XG4gIHVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIGlmICghb2JzZXJ2ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBlbGVtID0gZWxlbWVudDsgLy8gU3RhdGUgaW5pdGlhbGl6ZXMgYmVmb3JlIHJlZnMgYXJlIHBsYWNlZCwgbWVhbmluZyB0aGUgZWxlbWVudCBzdGF0ZSB3aWxsXG4gICAgLy8gYmUgdW5kZWZpbmVkIG9uIHRoZSBmaXJzdCByZW5kZXIuIFdlIHN0aWxsIHdhbnQgdGhlIHJlY3Qgb24gdGhlIGZpcnN0XG4gICAgLy8gcmVuZGVyLCBzbyBpbml0aWFsbHkgd2UnbGwgdXNlIHRoZSBub2RlUmVmIHRoYXQgd2FzIHBhc3NlZCBpbnN0ZWFkIG9mXG4gICAgLy8gc3RhdGUgZm9yIG91ciBtZWFzdXJlbWVudHMuXG5cbiAgICBpZiAoIWluaXRpYWxSZWZJc1NldC5jdXJyZW50KSB7XG4gICAgICBpbml0aWFsUmVmSXNTZXQuY3VycmVudCA9IHRydWU7XG4gICAgICBlbGVtID0gbm9kZVJlZi5jdXJyZW50O1xuICAgIH1cblxuICAgIGlmICghZWxlbSkge1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICBjb25zb2xlLndhcm4oXCJZb3UgbmVlZCB0byBwbGFjZSB0aGUgcmVmXCIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIG9ic2VydmVyID0gb2JzZXJ2ZVJlY3QoZWxlbSwgZnVuY3Rpb24gKHJlY3QpIHtcbiAgICAgIG9uQ2hhbmdlUmVmLmN1cnJlbnQgPT0gbnVsbCA/IHZvaWQgMCA6IG9uQ2hhbmdlUmVmLmN1cnJlbnQocmVjdCk7XG4gICAgICBzZXRSZWN0KHJlY3QpO1xuICAgIH0pO1xuICAgIG9ic2VydmVyLm9ic2VydmUoKTtcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgb2JzZXJ2ZXIudW5vYnNlcnZlKCk7XG4gICAgfTtcbiAgfSwgW29ic2VydmUsIGVsZW1lbnQsIG5vZGVSZWZdKTtcbiAgcmV0dXJuIHJlY3Q7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFJlY3Q7XG5leHBvcnQgeyBSZWN0LCB1c2VSZWN0IH07XG4iLCJpbXBvcnQgeyB1c2VTdGF0ZSwgdXNlUmVmLCB1c2VFZmZlY3QsIGZvcndhcmRSZWYsIENoaWxkcmVuLCBjcmVhdGVFbGVtZW50LCBGcmFnbWVudCwgY2xvbmVFbGVtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlSWQgfSBmcm9tICdAcmVhY2gvYXV0by1pZCc7XG5pbXBvcnQgeyBnZXREb2N1bWVudERpbWVuc2lvbnMgfSBmcm9tICdAcmVhY2gvdXRpbHMvZ2V0LWRvY3VtZW50LWRpbWVuc2lvbnMnO1xuaW1wb3J0IHsgZ2V0T3duZXJEb2N1bWVudCB9IGZyb20gJ0ByZWFjaC91dGlscy9vd25lci1kb2N1bWVudCc7XG5pbXBvcnQgeyBtYWtlSWQgfSBmcm9tICdAcmVhY2gvdXRpbHMvbWFrZS1pZCc7XG5pbXBvcnQgeyB1c2VDaGVja1N0eWxlcyB9IGZyb20gJ0ByZWFjaC91dGlscy9kZXYtdXRpbHMnO1xuaW1wb3J0IHsgdXNlQ29tcG9zZWRSZWZzIH0gZnJvbSAnQHJlYWNoL3V0aWxzL2NvbXBvc2UtcmVmcyc7XG5pbXBvcnQgeyBjb21wb3NlRXZlbnRIYW5kbGVycyB9IGZyb20gJ0ByZWFjaC91dGlscy9jb21wb3NlLWV2ZW50LWhhbmRsZXJzJztcbmltcG9ydCB7IFBvcnRhbCB9IGZyb20gJ0ByZWFjaC9wb3J0YWwnO1xuaW1wb3J0IHsgVmlzdWFsbHlIaWRkZW4gfSBmcm9tICdAcmVhY2gvdmlzdWFsbHktaGlkZGVuJztcbmltcG9ydCB7IHVzZVJlY3QgfSBmcm9tICdAcmVhY2gvcmVjdCc7XG5pbXBvcnQgd2FybmluZyBmcm9tICd0aW55LXdhcm5pbmcnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuZnVuY3Rpb24gX2V4dGVuZHMoKSB7XG4gIF9leHRlbmRzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7XG4gICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07XG5cbiAgICAgIGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHtcbiAgICAgICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfTtcblxuICByZXR1cm4gX2V4dGVuZHMuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn1cblxuZnVuY3Rpb24gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2Uoc291cmNlLCBleGNsdWRlZCkge1xuICBpZiAoc291cmNlID09IG51bGwpIHJldHVybiB7fTtcbiAgdmFyIHRhcmdldCA9IHt9O1xuICB2YXIgc291cmNlS2V5cyA9IE9iamVjdC5rZXlzKHNvdXJjZSk7XG4gIHZhciBrZXksIGk7XG5cbiAgZm9yIChpID0gMDsgaSA8IHNvdXJjZUtleXMubGVuZ3RoOyBpKyspIHtcbiAgICBrZXkgPSBzb3VyY2VLZXlzW2ldO1xuICAgIGlmIChleGNsdWRlZC5pbmRleE9mKGtleSkgPj0gMCkgY29udGludWU7XG4gICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59XG5cbnZhciBfZXhjbHVkZWQgPSBbXCJjaGlsZHJlblwiLCBcImxhYmVsXCIsIFwiYXJpYUxhYmVsXCIsIFwiaWRcIiwgXCJERUJVR19TVFlMRVwiXSxcbiAgICBfZXhjbHVkZWQyID0gW1wibGFiZWxcIiwgXCJhcmlhTGFiZWxcIiwgXCJpc1Zpc2libGVcIiwgXCJpZFwiXSxcbiAgICBfZXhjbHVkZWQzID0gW1wiYXJpYUxhYmVsXCIsIFwiYXJpYS1sYWJlbFwiLCBcImFzXCIsIFwiaWRcIiwgXCJpc1Zpc2libGVcIiwgXCJsYWJlbFwiLCBcInBvc2l0aW9uXCIsIFwic3R5bGVcIiwgXCJ0cmlnZ2VyUmVjdFwiXSxcbiAgICBfZXhjbHVkZWQ0ID0gW1widHlwZVwiXTtcblxudmFyIF9vbiwgX29uMiwgX29uMywgX29uNCwgX29uNSwgX3N0YXRlcztcbnZhciBNT1VTRV9SRVNUX1RJTUVPVVQgPSAxMDA7XG52YXIgTEVBVkVfVElNRU9VVCA9IDUwMDsgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFN0YXRlc1xuXG52YXIgVG9vbHRpcFN0YXRlczsgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEV2ZW50c1xuXG4oZnVuY3Rpb24gKFRvb2x0aXBTdGF0ZXMpIHtcbiAgVG9vbHRpcFN0YXRlc1tcIklkbGVcIl0gPSBcIklETEVcIjtcbiAgVG9vbHRpcFN0YXRlc1tcIkZvY3VzZWRcIl0gPSBcIkZPQ1VTRURcIjtcbiAgVG9vbHRpcFN0YXRlc1tcIlZpc2libGVcIl0gPSBcIlZJU0lCTEVcIjtcbiAgVG9vbHRpcFN0YXRlc1tcIkxlYXZpbmdWaXNpYmxlXCJdID0gXCJMRUFWSU5HX1ZJU0lCTEVcIjtcbiAgVG9vbHRpcFN0YXRlc1tcIkRpc21pc3NlZFwiXSA9IFwiRElTTUlTU0VEXCI7XG59KShUb29sdGlwU3RhdGVzIHx8IChUb29sdGlwU3RhdGVzID0ge30pKTtcblxudmFyIFRvb2x0aXBFdmVudHM7XG5cbihmdW5jdGlvbiAoVG9vbHRpcEV2ZW50cykge1xuICBUb29sdGlwRXZlbnRzW1wiQmx1clwiXSA9IFwiQkxVUlwiO1xuICBUb29sdGlwRXZlbnRzW1wiRm9jdXNcIl0gPSBcIkZPQ1VTXCI7XG4gIFRvb2x0aXBFdmVudHNbXCJHbG9iYWxNb3VzZU1vdmVcIl0gPSBcIkdMT0JBTF9NT1VTRV9NT1ZFXCI7XG4gIFRvb2x0aXBFdmVudHNbXCJNb3VzZURvd25cIl0gPSBcIk1PVVNFX0RPV05cIjtcbiAgVG9vbHRpcEV2ZW50c1tcIk1vdXNlRW50ZXJcIl0gPSBcIk1PVVNFX0VOVEVSXCI7XG4gIFRvb2x0aXBFdmVudHNbXCJNb3VzZUxlYXZlXCJdID0gXCJNT1VTRV9MRUFWRVwiO1xuICBUb29sdGlwRXZlbnRzW1wiTW91c2VNb3ZlXCJdID0gXCJNT1VTRV9NT1ZFXCI7XG4gIFRvb2x0aXBFdmVudHNbXCJSZXN0XCJdID0gXCJSRVNUXCI7XG4gIFRvb2x0aXBFdmVudHNbXCJTZWxlY3RXaXRoS2V5Ym9hcmRcIl0gPSBcIlNFTEVDVF9XSVRIX0tFWUJPQVJEXCI7XG4gIFRvb2x0aXBFdmVudHNbXCJUaW1lQ29tcGxldGVcIl0gPSBcIlRJTUVfQ09NUExFVEVcIjtcbn0pKFRvb2x0aXBFdmVudHMgfHwgKFRvb2x0aXBFdmVudHMgPSB7fSkpO1xuXG52YXIgY2hhcnQgPSB7XG4gIGluaXRpYWw6IFRvb2x0aXBTdGF0ZXMuSWRsZSxcbiAgc3RhdGVzOiAoX3N0YXRlcyA9IHt9LCBfc3RhdGVzW1Rvb2x0aXBTdGF0ZXMuSWRsZV0gPSB7XG4gICAgZW50ZXI6IGNsZWFyQ29udGV4dElkLFxuICAgIG9uOiAoX29uID0ge30sIF9vbltUb29sdGlwRXZlbnRzLk1vdXNlRW50ZXJdID0gVG9vbHRpcFN0YXRlcy5Gb2N1c2VkLCBfb25bVG9vbHRpcEV2ZW50cy5Gb2N1c10gPSBUb29sdGlwU3RhdGVzLlZpc2libGUsIF9vbilcbiAgfSwgX3N0YXRlc1tUb29sdGlwU3RhdGVzLkZvY3VzZWRdID0ge1xuICAgIGVudGVyOiBzdGFydFJlc3RUaW1lcixcbiAgICBsZWF2ZTogY2xlYXJSZXN0VGltZXIsXG4gICAgb246IChfb24yID0ge30sIF9vbjJbVG9vbHRpcEV2ZW50cy5Nb3VzZU1vdmVdID0gVG9vbHRpcFN0YXRlcy5Gb2N1c2VkLCBfb24yW1Rvb2x0aXBFdmVudHMuTW91c2VMZWF2ZV0gPSBUb29sdGlwU3RhdGVzLklkbGUsIF9vbjJbVG9vbHRpcEV2ZW50cy5Nb3VzZURvd25dID0gVG9vbHRpcFN0YXRlcy5EaXNtaXNzZWQsIF9vbjJbVG9vbHRpcEV2ZW50cy5CbHVyXSA9IFRvb2x0aXBTdGF0ZXMuSWRsZSwgX29uMltUb29sdGlwRXZlbnRzLlJlc3RdID0gVG9vbHRpcFN0YXRlcy5WaXNpYmxlLCBfb24yKVxuICB9LCBfc3RhdGVzW1Rvb2x0aXBTdGF0ZXMuVmlzaWJsZV0gPSB7XG4gICAgb246IChfb24zID0ge30sIF9vbjNbVG9vbHRpcEV2ZW50cy5Gb2N1c10gPSBUb29sdGlwU3RhdGVzLkZvY3VzZWQsIF9vbjNbVG9vbHRpcEV2ZW50cy5Nb3VzZUVudGVyXSA9IFRvb2x0aXBTdGF0ZXMuRm9jdXNlZCwgX29uM1tUb29sdGlwRXZlbnRzLk1vdXNlTGVhdmVdID0gVG9vbHRpcFN0YXRlcy5MZWF2aW5nVmlzaWJsZSwgX29uM1tUb29sdGlwRXZlbnRzLkJsdXJdID0gVG9vbHRpcFN0YXRlcy5MZWF2aW5nVmlzaWJsZSwgX29uM1tUb29sdGlwRXZlbnRzLk1vdXNlRG93bl0gPSBUb29sdGlwU3RhdGVzLkRpc21pc3NlZCwgX29uM1tUb29sdGlwRXZlbnRzLlNlbGVjdFdpdGhLZXlib2FyZF0gPSBUb29sdGlwU3RhdGVzLkRpc21pc3NlZCwgX29uM1tUb29sdGlwRXZlbnRzLkdsb2JhbE1vdXNlTW92ZV0gPSBUb29sdGlwU3RhdGVzLkxlYXZpbmdWaXNpYmxlLCBfb24zKVxuICB9LCBfc3RhdGVzW1Rvb2x0aXBTdGF0ZXMuTGVhdmluZ1Zpc2libGVdID0ge1xuICAgIGVudGVyOiBzdGFydExlYXZpbmdWaXNpYmxlVGltZXIsXG4gICAgbGVhdmU6IGZ1bmN0aW9uIGxlYXZlKCkge1xuICAgICAgY2xlYXJMZWF2aW5nVmlzaWJsZVRpbWVyKCk7XG4gICAgICBjbGVhckNvbnRleHRJZCgpO1xuICAgIH0sXG4gICAgb246IChfb240ID0ge30sIF9vbjRbVG9vbHRpcEV2ZW50cy5Nb3VzZUVudGVyXSA9IFRvb2x0aXBTdGF0ZXMuVmlzaWJsZSwgX29uNFtUb29sdGlwRXZlbnRzLkZvY3VzXSA9IFRvb2x0aXBTdGF0ZXMuVmlzaWJsZSwgX29uNFtUb29sdGlwRXZlbnRzLlRpbWVDb21wbGV0ZV0gPSBUb29sdGlwU3RhdGVzLklkbGUsIF9vbjQpXG4gIH0sIF9zdGF0ZXNbVG9vbHRpcFN0YXRlcy5EaXNtaXNzZWRdID0ge1xuICAgIGxlYXZlOiBmdW5jdGlvbiBsZWF2ZSgpIHtcbiAgICAgIGNsZWFyQ29udGV4dElkKCk7XG4gICAgfSxcbiAgICBvbjogKF9vbjUgPSB7fSwgX29uNVtUb29sdGlwRXZlbnRzLk1vdXNlTGVhdmVdID0gVG9vbHRpcFN0YXRlcy5JZGxlLCBfb241W1Rvb2x0aXBFdmVudHMuQmx1cl0gPSBUb29sdGlwU3RhdGVzLklkbGUsIF9vbjUpXG4gIH0sIF9zdGF0ZXMpXG59O1xuLypcbiAqIENoYXJ0IGNvbnRleHQgYWxsb3dzIHVzIHRvIHBlcnNpc3Qgc29tZSBkYXRhIGFyb3VuZCwgaW4gVG9vbHRpcCBhbGwgd2UgdXNlXG4gKiBpcyB0aGUgaWQgb2YgdGhlIGN1cnJlbnQgdG9vbHRpcCBiZWluZyBpbnRlcmFjdGVkIHdpdGguXG4gKi9cblxudmFyIHN0YXRlID0ge1xuICB2YWx1ZTogY2hhcnQuaW5pdGlhbCxcbiAgY29udGV4dDoge1xuICAgIGlkOiBudWxsXG4gIH1cbn07IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBTdWJzY3JpcHRpb25zOlxuLy9cbi8vIFdlIGNvdWxkIHJlcXVpcmUgYXBwcyB0byByZW5kZXIgYSA8VG9vbHRpcFByb3ZpZGVyPiBhcm91bmQgdGhlIGFwcCBhbmQgdXNlXG4vLyBSZWFjdCBjb250ZXh0IHRvIG5vdGlmeSBUb29sdGlwcyBvZiBjaGFuZ2VzIHRvIG91ciBzdGF0ZSBtYWNoaW5lLCBpbnN0ZWFkXG4vLyB3ZSBtYW5hZ2Ugc3Vic2NyaXB0aW9ucyBvdXJzZWx2ZXMgYW5kIHNpbXBsaWZ5IHRoZSBUb29sdGlwIEFQSS5cbi8vXG4vLyBNYXliZSBpZiBkZWZhdWx0IGNvbnRleHQgY291bGQgdGFrZSBhIGhvb2sgKGluc3RlYWQgb2YganVzdCBhIHN0YXRpYyB2YWx1ZSlcbi8vIHRoYXQgd2FzIHJlbmRlcmVkIGF0IHRoZSByb290IGZvciB1cywgdGhhdCdkIGJlIGNvb2whIEJ1dCBpdCBkb2Vzbid0LlxuXG52YXIgc3Vic2NyaXB0aW9ucyA9IFtdO1xuXG5mdW5jdGlvbiBzdWJzY3JpYmUoZm4pIHtcbiAgc3Vic2NyaXB0aW9ucy5wdXNoKGZuKTtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICBzdWJzY3JpcHRpb25zLnNwbGljZShzdWJzY3JpcHRpb25zLmluZGV4T2YoZm4pLCAxKTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gbm90aWZ5KCkge1xuICBzdWJzY3JpcHRpb25zLmZvckVhY2goZnVuY3Rpb24gKGZuKSB7XG4gICAgcmV0dXJuIGZuKHN0YXRlKTtcbiAgfSk7XG59IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBUaW1lb3V0czpcbi8vIE1hbmFnZXMgd2hlbiB0aGUgdXNlciBcInJlc3RzXCIgb24gYW4gZWxlbWVudC4gS2VlcHMgdGhlIGludGVyZmFjZSBmcm9tIGJlaW5nXG4vLyBmbGFzaGluZyB0b29sdGlwcyBhbGwgdGhlIHRpbWUgYXMgdGhlIHVzZXIgbW92ZXMgdGhlIG1vdXNlIGFyb3VuZCB0aGUgc2NyZWVuLlxuXG5cbnZhciByZXN0VGltZW91dDtcblxuZnVuY3Rpb24gc3RhcnRSZXN0VGltZXIoKSB7XG4gIHdpbmRvdy5jbGVhclRpbWVvdXQocmVzdFRpbWVvdXQpO1xuICByZXN0VGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICBzZW5kKHtcbiAgICAgIHR5cGU6IFRvb2x0aXBFdmVudHMuUmVzdFxuICAgIH0pO1xuICB9LCBNT1VTRV9SRVNUX1RJTUVPVVQpO1xufVxuXG5mdW5jdGlvbiBjbGVhclJlc3RUaW1lcigpIHtcbiAgd2luZG93LmNsZWFyVGltZW91dChyZXN0VGltZW91dCk7XG59IC8vIE1hbmFnZXMgdGhlIGRlbGF5IHRvIGhpZGUgdGhlIHRvb2x0aXAgYWZ0ZXIgcmVzdCBsZWF2ZXMuXG5cblxudmFyIGxlYXZpbmdWaXNpYmxlVGltZXI7XG5cbmZ1bmN0aW9uIHN0YXJ0TGVhdmluZ1Zpc2libGVUaW1lcigpIHtcbiAgd2luZG93LmNsZWFyVGltZW91dChsZWF2aW5nVmlzaWJsZVRpbWVyKTtcbiAgbGVhdmluZ1Zpc2libGVUaW1lciA9IHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gc2VuZCh7XG4gICAgICB0eXBlOiBUb29sdGlwRXZlbnRzLlRpbWVDb21wbGV0ZVxuICAgIH0pO1xuICB9LCBMRUFWRV9USU1FT1VUKTtcbn1cblxuZnVuY3Rpb24gY2xlYXJMZWF2aW5nVmlzaWJsZVRpbWVyKCkge1xuICB3aW5kb3cuY2xlYXJUaW1lb3V0KGxlYXZpbmdWaXNpYmxlVGltZXIpO1xufSAvLyBhbGxvd3MgdXMgdG8gY29tZSBvbiBiYWNrIGxhdGVyIHcvbyBlbnRlcmluZyBzb21ldGhpbmcgZWxzZSBmaXJzdCBhZnRlciB0aGVcbi8vIHVzZXIgbGVhdmVzIG9yIGRpc21pc3Nlc1xuXG5cbmZ1bmN0aW9uIGNsZWFyQ29udGV4dElkKCkge1xuICBzdGF0ZS5jb250ZXh0LmlkID0gbnVsbDtcbn0gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiB1c2VUb29sdGlwXG4gKlxuICogQHBhcmFtIHBhcmFtc1xuICovXG5cblxuZnVuY3Rpb24gdXNlVG9vbHRpcChfdGVtcCkge1xuICB2YXIgX3JlZiA9IF90ZW1wID09PSB2b2lkIDAgPyB7fSA6IF90ZW1wLFxuICAgICAgaWRQcm9wID0gX3JlZi5pZCxcbiAgICAgIG9uUG9pbnRlckVudGVyID0gX3JlZi5vblBvaW50ZXJFbnRlcixcbiAgICAgIG9uUG9pbnRlck1vdmUgPSBfcmVmLm9uUG9pbnRlck1vdmUsXG4gICAgICBvblBvaW50ZXJMZWF2ZSA9IF9yZWYub25Qb2ludGVyTGVhdmUsXG4gICAgICBvblBvaW50ZXJEb3duID0gX3JlZi5vblBvaW50ZXJEb3duLFxuICAgICAgb25Nb3VzZUVudGVyID0gX3JlZi5vbk1vdXNlRW50ZXIsXG4gICAgICBvbk1vdXNlTW92ZSA9IF9yZWYub25Nb3VzZU1vdmUsXG4gICAgICBvbk1vdXNlTGVhdmUgPSBfcmVmLm9uTW91c2VMZWF2ZSxcbiAgICAgIG9uTW91c2VEb3duID0gX3JlZi5vbk1vdXNlRG93bixcbiAgICAgIG9uRm9jdXMgPSBfcmVmLm9uRm9jdXMsXG4gICAgICBvbkJsdXIgPSBfcmVmLm9uQmx1cixcbiAgICAgIG9uS2V5RG93biA9IF9yZWYub25LZXlEb3duLFxuICAgICAgZGlzYWJsZWQgPSBfcmVmLmRpc2FibGVkLFxuICAgICAgZm9yd2FyZGVkUmVmID0gX3JlZi5yZWYsXG4gICAgICBERUJVR19TVFlMRSA9IF9yZWYuREVCVUdfU1RZTEU7XG5cbiAgdmFyIGlkID0gU3RyaW5nKHVzZUlkKGlkUHJvcCkpO1xuXG4gIHZhciBfUmVhY3QkdXNlU3RhdGUgPSB1c2VTdGF0ZShERUJVR19TVFlMRSA/IHRydWUgOiBpc1Rvb2x0aXBWaXNpYmxlKGlkLCB0cnVlKSksXG4gICAgICBpc1Zpc2libGUgPSBfUmVhY3QkdXNlU3RhdGVbMF0sXG4gICAgICBzZXRJc1Zpc2libGUgPSBfUmVhY3QkdXNlU3RhdGVbMV07IC8vIGhvcGVmdWxseSB0aGV5IGFsd2F5cyBwYXNzIGEgcmVmIGlmIHRoZXkgZXZlciBwYXNzIG9uZVxuXG5cbiAgdmFyIG93blJlZiA9IHVzZVJlZihudWxsKTtcbiAgdmFyIHJlZiA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIG93blJlZik7XG4gIHZhciB0cmlnZ2VyUmVjdCA9IHVzZVJlY3Qob3duUmVmLCB7XG4gICAgb2JzZXJ2ZTogaXNWaXNpYmxlXG4gIH0pO1xuICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBzdWJzY3JpYmUoZnVuY3Rpb24gKCkge1xuICAgICAgc2V0SXNWaXNpYmxlKGlzVG9vbHRpcFZpc2libGUoaWQpKTtcbiAgICB9KTtcbiAgfSwgW2lkXSk7XG4gIHVzZUNoZWNrU3R5bGVzKFwidG9vbHRpcFwiKTtcbiAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgb3duZXJEb2N1bWVudCA9IGdldE93bmVyRG9jdW1lbnQob3duUmVmLmN1cnJlbnQpO1xuXG4gICAgZnVuY3Rpb24gbGlzdGVuZXIoZXZlbnQpIHtcbiAgICAgIGlmICgoZXZlbnQua2V5ID09PSBcIkVzY2FwZVwiIHx8IGV2ZW50LmtleSA9PT0gXCJFc2NcIikgJiYgc3RhdGUudmFsdWUgPT09IFRvb2x0aXBTdGF0ZXMuVmlzaWJsZSkge1xuICAgICAgICBzZW5kKHtcbiAgICAgICAgICB0eXBlOiBUb29sdGlwRXZlbnRzLlNlbGVjdFdpdGhLZXlib2FyZFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBvd25lckRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIGxpc3RlbmVyKTtcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIG93bmVyRG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgbGlzdGVuZXIpO1xuICAgIH07XG4gIH0sIFtdKTtcbiAgdXNlRGlzYWJsZWRUcmlnZ2VyT25TYWZhcmkoe1xuICAgIGRpc2FibGVkOiBkaXNhYmxlZCxcbiAgICBpc1Zpc2libGU6IGlzVmlzaWJsZSxcbiAgICByZWY6IG93blJlZlxuICB9KTtcblxuICBmdW5jdGlvbiB3cmFwTW91c2VFdmVudCh0aGVpckhhbmRsZXIsIG91ckhhbmRsZXIpIHtcbiAgICAvLyBVc2UgaW50ZXJuYWwgTW91c2VFdmVudCBoYW5kbGVyIG9ubHkgaWYgUG9pbnRlckV2ZW50IGlzIG5vdCBzdXBwb3J0ZWRcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiAmJiBcIlBvaW50ZXJFdmVudFwiIGluIHdpbmRvdykge1xuICAgICAgcmV0dXJuIHRoZWlySGFuZGxlcjtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tcG9zZUV2ZW50SGFuZGxlcnModGhlaXJIYW5kbGVyLCBvdXJIYW5kbGVyKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHdyYXBQb2ludGVyRXZlbnRIYW5kbGVyKGhhbmRsZXIpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gb25Qb2ludGVyRXZlbnQoZXZlbnQpIHtcbiAgICAgIC8vIEhhbmRsZSBwb2ludGVyIGV2ZW50cyBvbmx5IGZyb20gbW91c2UgZGV2aWNlXG4gICAgICBpZiAoZXZlbnQucG9pbnRlclR5cGUgIT09IFwibW91c2VcIikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGhhbmRsZXIoZXZlbnQpO1xuICAgIH07XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVNb3VzZUVudGVyKCkge1xuICAgIHNlbmQoe1xuICAgICAgdHlwZTogVG9vbHRpcEV2ZW50cy5Nb3VzZUVudGVyLFxuICAgICAgaWQ6IGlkXG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVNb3VzZU1vdmUoKSB7XG4gICAgc2VuZCh7XG4gICAgICB0eXBlOiBUb29sdGlwRXZlbnRzLk1vdXNlTW92ZSxcbiAgICAgIGlkOiBpZFxuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlTW91c2VMZWF2ZSgpIHtcbiAgICBzZW5kKHtcbiAgICAgIHR5cGU6IFRvb2x0aXBFdmVudHMuTW91c2VMZWF2ZVxuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlTW91c2VEb3duKCkge1xuICAgIC8vIEFsbG93IHF1aWNrIGNsaWNrIGZyb20gb25lIHRvb2wgdG8gYW5vdGhlclxuICAgIGlmIChzdGF0ZS5jb250ZXh0LmlkID09PSBpZCkge1xuICAgICAgc2VuZCh7XG4gICAgICAgIHR5cGU6IFRvb2x0aXBFdmVudHMuTW91c2VEb3duXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVGb2N1cygpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgaWYgKHdpbmRvdy5fX1JFQUNIX0RJU0FCTEVfVE9PTFRJUFMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZW5kKHtcbiAgICAgIHR5cGU6IFRvb2x0aXBFdmVudHMuRm9jdXMsXG4gICAgICBpZDogaWRcbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZUJsdXIoKSB7XG4gICAgLy8gQWxsb3cgcXVpY2sgY2xpY2sgZnJvbSBvbmUgdG9vbCB0byBhbm90aGVyXG4gICAgaWYgKHN0YXRlLmNvbnRleHQuaWQgPT09IGlkKSB7XG4gICAgICBzZW5kKHtcbiAgICAgICAgdHlwZTogVG9vbHRpcEV2ZW50cy5CbHVyXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVLZXlEb3duKGV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gXCJFbnRlclwiIHx8IGV2ZW50LmtleSA9PT0gXCIgXCIpIHtcbiAgICAgIHNlbmQoe1xuICAgICAgICB0eXBlOiBUb29sdGlwRXZlbnRzLlNlbGVjdFdpdGhLZXlib2FyZFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgdmFyIHRyaWdnZXIgPSB7XG4gICAgLy8gVGhlIGVsZW1lbnQgdGhhdCB0cmlnZ2VycyB0aGUgdG9vbHRpcCByZWZlcmVuY2VzIHRoZSB0b29sdGlwIGVsZW1lbnQgd2l0aFxuICAgIC8vIGBhcmlhLWRlc2NyaWJlZGJ5YC5cbiAgICAvLyBodHRwczovL3d3dy53My5vcmcvVFIvd2FpLWFyaWEtcHJhY3RpY2VzLTEuMi8jdG9vbHRpcFxuICAgIFwiYXJpYS1kZXNjcmliZWRieVwiOiBpc1Zpc2libGUgPyBtYWtlSWQoXCJ0b29sdGlwXCIsIGlkKSA6IHVuZGVmaW5lZCxcbiAgICBcImRhdGEtc3RhdGVcIjogaXNWaXNpYmxlID8gXCJ0b29sdGlwLXZpc2libGVcIiA6IFwidG9vbHRpcC1oaWRkZW5cIixcbiAgICBcImRhdGEtcmVhY2gtdG9vbHRpcC10cmlnZ2VyXCI6IFwiXCIsXG4gICAgcmVmOiByZWYsXG4gICAgb25Qb2ludGVyRW50ZXI6IGNvbXBvc2VFdmVudEhhbmRsZXJzKG9uUG9pbnRlckVudGVyLCB3cmFwUG9pbnRlckV2ZW50SGFuZGxlcihoYW5kbGVNb3VzZUVudGVyKSksXG4gICAgb25Qb2ludGVyTW92ZTogY29tcG9zZUV2ZW50SGFuZGxlcnMob25Qb2ludGVyTW92ZSwgd3JhcFBvaW50ZXJFdmVudEhhbmRsZXIoaGFuZGxlTW91c2VNb3ZlKSksXG4gICAgb25Qb2ludGVyTGVhdmU6IGNvbXBvc2VFdmVudEhhbmRsZXJzKG9uUG9pbnRlckxlYXZlLCB3cmFwUG9pbnRlckV2ZW50SGFuZGxlcihoYW5kbGVNb3VzZUxlYXZlKSksXG4gICAgb25Qb2ludGVyRG93bjogY29tcG9zZUV2ZW50SGFuZGxlcnMob25Qb2ludGVyRG93biwgd3JhcFBvaW50ZXJFdmVudEhhbmRsZXIoaGFuZGxlTW91c2VEb3duKSksXG4gICAgb25Nb3VzZUVudGVyOiB3cmFwTW91c2VFdmVudChvbk1vdXNlRW50ZXIsIGhhbmRsZU1vdXNlRW50ZXIpLFxuICAgIG9uTW91c2VNb3ZlOiB3cmFwTW91c2VFdmVudChvbk1vdXNlTW92ZSwgaGFuZGxlTW91c2VNb3ZlKSxcbiAgICBvbk1vdXNlTGVhdmU6IHdyYXBNb3VzZUV2ZW50KG9uTW91c2VMZWF2ZSwgaGFuZGxlTW91c2VMZWF2ZSksXG4gICAgb25Nb3VzZURvd246IHdyYXBNb3VzZUV2ZW50KG9uTW91c2VEb3duLCBoYW5kbGVNb3VzZURvd24pLFxuICAgIG9uRm9jdXM6IGNvbXBvc2VFdmVudEhhbmRsZXJzKG9uRm9jdXMsIGhhbmRsZUZvY3VzKSxcbiAgICBvbkJsdXI6IGNvbXBvc2VFdmVudEhhbmRsZXJzKG9uQmx1ciwgaGFuZGxlQmx1ciksXG4gICAgb25LZXlEb3duOiBjb21wb3NlRXZlbnRIYW5kbGVycyhvbktleURvd24sIGhhbmRsZUtleURvd24pXG4gIH07XG4gIHZhciB0b29sdGlwID0ge1xuICAgIGlkOiBpZCxcbiAgICB0cmlnZ2VyUmVjdDogdHJpZ2dlclJlY3QsXG4gICAgaXNWaXNpYmxlOiBpc1Zpc2libGVcbiAgfTtcbiAgcmV0dXJuIFt0cmlnZ2VyLCB0b29sdGlwLCBpc1Zpc2libGVdO1xufSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIFRvb2x0aXBcbiAqXG4gKiBAc2VlIERvY3MgaHR0cHM6Ly9yZWFjaC50ZWNoL3Rvb2x0aXAjdG9vbHRpcFxuICovXG5cblxudmFyIFRvb2x0aXAgPSAvKiNfX1BVUkVfXyovZm9yd2FyZFJlZihmdW5jdGlvbiAoX3JlZjIsIGZvcndhcmRlZFJlZikge1xuICB2YXIgY2hpbGRyZW4gPSBfcmVmMi5jaGlsZHJlbixcbiAgICAgIGxhYmVsID0gX3JlZjIubGFiZWwsXG4gICAgICBERVBSRUNBVEVEX2FyaWFMYWJlbCA9IF9yZWYyLmFyaWFMYWJlbCxcbiAgICAgIGlkID0gX3JlZjIuaWQsXG4gICAgICBERUJVR19TVFlMRSA9IF9yZWYyLkRFQlVHX1NUWUxFLFxuICAgICAgcHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShfcmVmMiwgX2V4Y2x1ZGVkKTtcblxuICB2YXIgY2hpbGQgPSBDaGlsZHJlbi5vbmx5KGNoaWxkcmVuKTtcbiAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gd2FybmluZyghREVQUkVDQVRFRF9hcmlhTGFiZWwsIFwiVGhlIGBhcmlhTGFiZWwgcHJvcCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgZnJvbSBAcmVhY2gvdG9vbHRpcCBpbiBhIGZ1dHVyZSB2ZXJzaW9uIG9mIFJlYWNoIFVJLiBQbGVhc2UgdXNlIGBhcmlhLWxhYmVsYCBpbnN0ZWFkLlwiKSA6IHZvaWQgMDsgLy8gV2UgbmVlZCB0byBwYXNzIHNvbWUgcHJvcGVydGllcyBmcm9tIHRoZSBjaGlsZCBpbnRvIHVzZVRvb2x0aXBcbiAgLy8gdG8gbWFrZSBzdXJlIHVzZXJzIGNhbiBtYWludGFpbiBjb250cm9sIG92ZXIgdGhlIHRyaWdnZXIncyByZWYgYW5kIGV2ZW50c1xuXG4gIHZhciBfdXNlVG9vbHRpcCA9IHVzZVRvb2x0aXAoe1xuICAgIGlkOiBpZCxcbiAgICBvblBvaW50ZXJFbnRlcjogY2hpbGQucHJvcHMub25Qb2ludGVyRW50ZXIsXG4gICAgb25Qb2ludGVyTW92ZTogY2hpbGQucHJvcHMub25Qb2ludGVyTW92ZSxcbiAgICBvblBvaW50ZXJMZWF2ZTogY2hpbGQucHJvcHMub25Qb2ludGVyTGVhdmUsXG4gICAgb25Qb2ludGVyRG93bjogY2hpbGQucHJvcHMub25Qb2ludGVyRG93bixcbiAgICBvbk1vdXNlRW50ZXI6IGNoaWxkLnByb3BzLm9uTW91c2VFbnRlcixcbiAgICBvbk1vdXNlTW92ZTogY2hpbGQucHJvcHMub25Nb3VzZU1vdmUsXG4gICAgb25Nb3VzZUxlYXZlOiBjaGlsZC5wcm9wcy5vbk1vdXNlTGVhdmUsXG4gICAgb25Nb3VzZURvd246IGNoaWxkLnByb3BzLm9uTW91c2VEb3duLFxuICAgIG9uRm9jdXM6IGNoaWxkLnByb3BzLm9uRm9jdXMsXG4gICAgb25CbHVyOiBjaGlsZC5wcm9wcy5vbkJsdXIsXG4gICAgb25LZXlEb3duOiBjaGlsZC5wcm9wcy5vbktleURvd24sXG4gICAgZGlzYWJsZWQ6IGNoaWxkLnByb3BzLmRpc2FibGVkLFxuICAgIHJlZjogY2hpbGQucmVmLFxuICAgIERFQlVHX1NUWUxFOiBERUJVR19TVFlMRVxuICB9KSxcbiAgICAgIHRyaWdnZXIgPSBfdXNlVG9vbHRpcFswXSxcbiAgICAgIHRvb2x0aXAgPSBfdXNlVG9vbHRpcFsxXTtcblxuICByZXR1cm4gLyojX19QVVJFX18qL2NyZWF0ZUVsZW1lbnQoRnJhZ21lbnQsIG51bGwsIC8qI19fUFVSRV9fKi9jbG9uZUVsZW1lbnQoY2hpbGQsIHRyaWdnZXIpLCAvKiNfX1BVUkVfXyovY3JlYXRlRWxlbWVudChUb29sdGlwUG9wdXAsIF9leHRlbmRzKHtcbiAgICByZWY6IGZvcndhcmRlZFJlZixcbiAgICBsYWJlbDogbGFiZWwsXG4gICAgXCJhcmlhLWxhYmVsXCI6IERFUFJFQ0FURURfYXJpYUxhYmVsXG4gIH0sIHRvb2x0aXAsIHByb3BzKSkpO1xufSk7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgVG9vbHRpcC5kaXNwbGF5TmFtZSA9IFwiVG9vbHRpcFwiO1xuICBUb29sdGlwLnByb3BUeXBlcyA9IHtcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUuaXNSZXF1aXJlZCxcbiAgICBsYWJlbDogUHJvcFR5cGVzLm5vZGUuaXNSZXF1aXJlZCxcbiAgICBhcmlhTGFiZWw6IFByb3BUeXBlcy5zdHJpbmdcbiAgfTtcbn0gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiBUb29sdGlwUG9wdXBcbiAqXG4gKiBAc2VlIERvY3MgaHR0cHM6Ly9yZWFjaC50ZWNoL3Rvb2x0aXAjdG9vbHRpcHBvcHVwXG4gKi9cblxuXG52YXIgVG9vbHRpcFBvcHVwID0gLyojX19QVVJFX18qL2ZvcndhcmRSZWYoZnVuY3Rpb24gVG9vbHRpcFBvcHVwKF9yZWYzLCBmb3J3YXJkUmVmKSB7XG4gIHZhciBsYWJlbCA9IF9yZWYzLmxhYmVsLFxuICAgICAgREVQUkVDQVRFRF9hcmlhTGFiZWwgPSBfcmVmMy5hcmlhTGFiZWwsXG4gICAgICBpc1Zpc2libGUgPSBfcmVmMy5pc1Zpc2libGUsXG4gICAgICBpZCA9IF9yZWYzLmlkLFxuICAgICAgcHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShfcmVmMywgX2V4Y2x1ZGVkMik7XG5cbiAgcmV0dXJuIGlzVmlzaWJsZSA/IC8qI19fUFVSRV9fKi9jcmVhdGVFbGVtZW50KFBvcnRhbCwgbnVsbCwgLyojX19QVVJFX18qL2NyZWF0ZUVsZW1lbnQoVG9vbHRpcENvbnRlbnQsIF9leHRlbmRzKHtcbiAgICByZWY6IGZvcndhcmRSZWYsXG4gICAgbGFiZWw6IGxhYmVsLFxuICAgIFwiYXJpYS1sYWJlbFwiOiBERVBSRUNBVEVEX2FyaWFMYWJlbCxcbiAgICBpc1Zpc2libGU6IGlzVmlzaWJsZVxuICB9LCBwcm9wcywge1xuICAgIGlkOiBtYWtlSWQoXCJ0b29sdGlwXCIsIFN0cmluZyhpZCkpXG4gIH0pKSkgOiBudWxsO1xufSk7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgVG9vbHRpcFBvcHVwLmRpc3BsYXlOYW1lID0gXCJUb29sdGlwUG9wdXBcIjtcbiAgVG9vbHRpcFBvcHVwLnByb3BUeXBlcyA9IHtcbiAgICBsYWJlbDogUHJvcFR5cGVzLm5vZGUuaXNSZXF1aXJlZCxcbiAgICBhcmlhTGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgcG9zaXRpb246IFByb3BUeXBlcy5mdW5jXG4gIH07XG59XG4vKipcbiAqIFRvb2x0aXBDb250ZW50XG4gKlxuICogV2UgbmVlZCBhIHNlcGFyYXRlIGNvbXBvbmVudCBzbyB0aGF0IHVzZVJlY3Qgd29ya3MgaW5zaWRlIHRoZSBwb3J0YWwuXG4gKlxuICogQHNlZSBEb2NzIGh0dHBzOi8vcmVhY2gudGVjaC90b29sdGlwI3Rvb2x0aXBjb250ZW50XG4gKi9cblxuXG52YXIgVG9vbHRpcENvbnRlbnQgPSAvKiNfX1BVUkVfXyovZm9yd2FyZFJlZihmdW5jdGlvbiBUb29sdGlwQ29udGVudChfcmVmNCwgZm9yd2FyZGVkUmVmKSB7XG4gIHZhciBhcmlhTGFiZWwgPSBfcmVmNC5hcmlhTGFiZWwsXG4gICAgICByZWFsQXJpYUxhYmVsID0gX3JlZjRbXCJhcmlhLWxhYmVsXCJdLFxuICAgICAgX3JlZjQkYXMgPSBfcmVmNC5hcyxcbiAgICAgIENvbXAgPSBfcmVmNCRhcyA9PT0gdm9pZCAwID8gXCJkaXZcIiA6IF9yZWY0JGFzLFxuICAgICAgaWQgPSBfcmVmNC5pZCxcbiAgICAgIGlzVmlzaWJsZSA9IF9yZWY0LmlzVmlzaWJsZSxcbiAgICAgIGxhYmVsID0gX3JlZjQubGFiZWwsXG4gICAgICBfcmVmNCRwb3NpdGlvbiA9IF9yZWY0LnBvc2l0aW9uLFxuICAgICAgcG9zaXRpb24gPSBfcmVmNCRwb3NpdGlvbiA9PT0gdm9pZCAwID8gcG9zaXRpb25Ub29sdGlwIDogX3JlZjQkcG9zaXRpb24sXG4gICAgICBzdHlsZSA9IF9yZWY0LnN0eWxlLFxuICAgICAgdHJpZ2dlclJlY3QgPSBfcmVmNC50cmlnZ2VyUmVjdCxcbiAgICAgIHByb3BzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UoX3JlZjQsIF9leGNsdWRlZDMpO1xuXG4gIC8vIFRoZSBlbGVtZW50IHRoYXQgc2VydmVzIGFzIHRoZSB0b29sdGlwIGNvbnRhaW5lciBoYXMgcm9sZSB0b29sdGlwLlxuICAvLyBodHRwczovL3d3dy53My5vcmcvVFIvd2FpLWFyaWEtcHJhY3RpY2VzLTEuMi8jdG9vbHRpcCBXaGVuIGFuIGFwcCBwYXNzZXNcbiAgLy8gYW4gYGFyaWEtbGFiZWxgLCB3ZSBhY3R1YWxseSB3YW50IHRvIGltcGxlbWVudCBgcm9sZT1cInRvb2x0aXBcImAgb24gYVxuICAvLyB2aXN1YWxseSBoaWRkZW4gZWxlbWVudCBpbnNpZGUgb2YgdGhlIHRyaWdnZXIuIEluIHRoZXNlIGNhc2VzIHdlIHdhbnQgdGhlXG4gIC8vIHNjcmVlbiByZWFkZXIgdXNlciB0byBrbm93IGJvdGggdGhlIGNvbnRlbnQgaW4gdGhlIHRvb2x0aXAsIGJ1dCBhbHNvIHRoZVxuICAvLyBjb250ZW50IGluIHRoZSBiYWRnZS4gRm9yIHNjcmVlbiByZWFkZXIgdXNlcnMsIHRoZSBvbmx5IGNvbnRlbnQgYW5ub3VuY2VkXG4gIC8vIHRvIHRoZW0gaXMgd2hhdGV2ZXIgaXMgaW4gdGhlIHRvb2x0aXAuXG4gIHZhciBoYXNBcmlhTGFiZWwgPSAocmVhbEFyaWFMYWJlbCB8fCBhcmlhTGFiZWwpICE9IG51bGw7XG4gIHZhciBvd25SZWYgPSB1c2VSZWYobnVsbCk7XG4gIHZhciByZWYgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCBvd25SZWYpO1xuICB2YXIgdG9vbHRpcFJlY3QgPSB1c2VSZWN0KG93blJlZiwge1xuICAgIG9ic2VydmU6IGlzVmlzaWJsZVxuICB9KTtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9jcmVhdGVFbGVtZW50KEZyYWdtZW50LCBudWxsLCAvKiNfX1BVUkVfXyovY3JlYXRlRWxlbWVudChDb21wLCBfZXh0ZW5kcyh7XG4gICAgcm9sZTogaGFzQXJpYUxhYmVsID8gdW5kZWZpbmVkIDogXCJ0b29sdGlwXCJcbiAgfSwgcHJvcHMsIHtcbiAgICByZWY6IHJlZixcbiAgICBcImRhdGEtcmVhY2gtdG9vbHRpcFwiOiBcIlwiLFxuICAgIGlkOiBoYXNBcmlhTGFiZWwgPyB1bmRlZmluZWQgOiBpZCxcbiAgICBzdHlsZTogX2V4dGVuZHMoe30sIHN0eWxlLCBnZXRTdHlsZXMocG9zaXRpb24sIHRyaWdnZXJSZWN0LCB0b29sdGlwUmVjdCkpXG4gIH0pLCBsYWJlbCksIGhhc0FyaWFMYWJlbCAmJiAvKiNfX1BVUkVfXyovY3JlYXRlRWxlbWVudChWaXN1YWxseUhpZGRlbiwge1xuICAgIHJvbGU6IFwidG9vbHRpcFwiLFxuICAgIGlkOiBpZFxuICB9LCByZWFsQXJpYUxhYmVsIHx8IGFyaWFMYWJlbCkpO1xufSk7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgVG9vbHRpcENvbnRlbnQuZGlzcGxheU5hbWUgPSBcIlRvb2x0aXBDb250ZW50XCI7XG4gIFRvb2x0aXBDb250ZW50LnByb3BUeXBlcyA9IHt9O1xufSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cbmZ1bmN0aW9uIGdldFN0eWxlcyhwb3NpdGlvbiwgdHJpZ2dlclJlY3QsIHRvb2x0aXBSZWN0KSB7XG4gIHZhciBoYXZlbnRNZWFzdXJlZFRvb2x0aXBZZXQgPSAhdG9vbHRpcFJlY3Q7XG5cbiAgaWYgKGhhdmVudE1lYXN1cmVkVG9vbHRpcFlldCkge1xuICAgIHJldHVybiB7XG4gICAgICB2aXNpYmlsaXR5OiBcImhpZGRlblwiXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBwb3NpdGlvbih0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QpO1xufSAvLyBEZWZhdWx0IG9mZnNldCBmcm9tIHRoZSB0cmlnZ2VyIChlLmcuLCBpZiB0aGUgdG9vbHRpcCBpcyBwb3NpdGlvbmVkIGFib3ZlLFxuLy8gdGhlcmUgd2lsbCBiZSA4cHggYmV0d2VlbiB0aGUgYm90dG9tIG9mIHRoZSB0b29sdGlwIGFuZCB0aGUgdG9wIG9mIHRoZSB0cmlnZ2VyKS5cbi8vIEl0IGZlZWxzIGF3a3dhcmQgd2hlbiBpdCdzIHBlcmZlY3RseSBhbGlnbmVkIHcvIHRoZSB0cmlnZ2VyXG5cblxudmFyIE9GRlNFVF9ERUZBVUxUID0gODtcbnZhciBwb3NpdGlvblRvb2x0aXAgPSBmdW5jdGlvbiBwb3NpdGlvblRvb2x0aXAodHJpZ2dlclJlY3QsIHRvb2x0aXBSZWN0LCBvZmZzZXQpIHtcbiAgaWYgKG9mZnNldCA9PT0gdm9pZCAwKSB7XG4gICAgb2Zmc2V0ID0gT0ZGU0VUX0RFRkFVTFQ7XG4gIH1cblxuICB2YXIgX2dldERvY3VtZW50RGltZW5zaW9uID0gZ2V0RG9jdW1lbnREaW1lbnNpb25zKCksXG4gICAgICB3aW5kb3dXaWR0aCA9IF9nZXREb2N1bWVudERpbWVuc2lvbi53aWR0aCxcbiAgICAgIHdpbmRvd0hlaWdodCA9IF9nZXREb2N1bWVudERpbWVuc2lvbi5oZWlnaHQ7XG5cbiAgaWYgKCF0cmlnZ2VyUmVjdCB8fCAhdG9vbHRpcFJlY3QpIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICB2YXIgY29sbGlzaW9ucyA9IHtcbiAgICB0b3A6IHRyaWdnZXJSZWN0LnRvcCAtIHRvb2x0aXBSZWN0LmhlaWdodCA8IDAsXG4gICAgcmlnaHQ6IHdpbmRvd1dpZHRoIDwgdHJpZ2dlclJlY3QubGVmdCArIHRvb2x0aXBSZWN0LndpZHRoLFxuICAgIGJvdHRvbTogd2luZG93SGVpZ2h0IDwgdHJpZ2dlclJlY3QuYm90dG9tICsgdG9vbHRpcFJlY3QuaGVpZ2h0ICsgb2Zmc2V0LFxuICAgIGxlZnQ6IHRyaWdnZXJSZWN0LmxlZnQgLSB0b29sdGlwUmVjdC53aWR0aCA8IDBcbiAgfTtcbiAgdmFyIGRpcmVjdGlvblJpZ2h0ID0gY29sbGlzaW9ucy5yaWdodCAmJiAhY29sbGlzaW9ucy5sZWZ0O1xuICB2YXIgZGlyZWN0aW9uVXAgPSBjb2xsaXNpb25zLmJvdHRvbSAmJiAhY29sbGlzaW9ucy50b3A7XG4gIHJldHVybiB7XG4gICAgbGVmdDogZGlyZWN0aW9uUmlnaHQgPyB0cmlnZ2VyUmVjdC5yaWdodCAtIHRvb2x0aXBSZWN0LndpZHRoICsgd2luZG93LnBhZ2VYT2Zmc2V0ICsgXCJweFwiIDogdHJpZ2dlclJlY3QubGVmdCArIHdpbmRvdy5wYWdlWE9mZnNldCArIFwicHhcIixcbiAgICB0b3A6IGRpcmVjdGlvblVwID8gdHJpZ2dlclJlY3QudG9wIC0gb2Zmc2V0IC0gdG9vbHRpcFJlY3QuaGVpZ2h0ICsgd2luZG93LnBhZ2VZT2Zmc2V0ICsgXCJweFwiIDogdHJpZ2dlclJlY3QudG9wICsgb2Zmc2V0ICsgdHJpZ2dlclJlY3QuaGVpZ2h0ICsgd2luZG93LnBhZ2VZT2Zmc2V0ICsgXCJweFwiXG4gIH07XG59O1xuLyoqXG4gKiBUaGlzIGlzIGEgd29ya2Fyb3VuZCBmb3IgdXNpbmcgdG9vbHRpcHMgd2l0aCBkaXNhYmxlZCBjb250cm9scyBpbiBTYWZhcmkuXG4gKiBTYWZhcmkgZmlyZXMgYHBvaW50ZXJlbnRlcmAgYnV0IGRvZXMgbm90IGZpcmUgYHBvaW50ZXJsZWF2ZWAsIGFuZFxuICogYG9uUG9pbnRlckV2ZW50TGVhdmVgIGFkZGVkIHRvIHRoZSB0cmlnZ2VyIGVsZW1lbnQgd2lsbCBub3Qgd29yay5cbiAqXG4gKiBUT0RPOiBXZSBtYXkgcmVtb3ZlIG9yIG1vZGlpZnkgdGhpcyBiZWhhdmlvciBpbiBhIGZ1dHVyZSB2ZXJzaW9uLiBEaXJlY3Rpb25cbiAqIGZyb20gV0FJLUFSSUEgbmVlZGVkIGZvciBndWlkYW5jZSBvbiBoYW5kbGluZyBkaXNhYmxlZCB0cmlnZ2Vycy4gVG9vbHRpcHNcbiAqIG11c3QgYmUgYWNjZXNzaWJsZSBieSBrZXlib2FyZCwgYW5kIGRpc2FibGVkIGZvcm0gY29udHJvbHMgYXJlIGdlbmVyYWxseVxuICogZXhjbHVkZWQgZnJvbSB0aGUgdGFiIHNlcXVlbmNlLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3JlYWNoL3JlYWNoLXVpL2lzc3Vlcy81NjRcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3czYy9hcmlhLXByYWN0aWNlcy9pc3N1ZXMvMTI4I2lzc3VlY29tbWVudC01ODg2MjU3MjdcbiAqL1xuXG5mdW5jdGlvbiB1c2VEaXNhYmxlZFRyaWdnZXJPblNhZmFyaShfcmVmNSkge1xuICB2YXIgZGlzYWJsZWQgPSBfcmVmNS5kaXNhYmxlZCxcbiAgICAgIGlzVmlzaWJsZSA9IF9yZWY1LmlzVmlzaWJsZSxcbiAgICAgIHJlZiA9IF9yZWY1LnJlZjtcbiAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoISh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIFwiUG9pbnRlckV2ZW50XCIgaW4gd2luZG93KSB8fCAhZGlzYWJsZWQgfHwgIWlzVmlzaWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBvd25lckRvY3VtZW50ID0gZ2V0T3duZXJEb2N1bWVudChyZWYuY3VycmVudCk7XG5cbiAgICBmdW5jdGlvbiBoYW5kbGVNb3VzZU1vdmUoZXZlbnQpIHtcbiAgICAgIGlmICghaXNWaXNpYmxlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQgJiYgZXZlbnQudGFyZ2V0LmNsb3Nlc3QoXCJbZGF0YS1yZWFjaC10b29sdGlwLXRyaWdnZXJdW2RhdGEtc3RhdGU9J3Rvb2x0aXAtdmlzaWJsZSddXCIpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgc2VuZCh7XG4gICAgICAgIHR5cGU6IFRvb2x0aXBFdmVudHMuR2xvYmFsTW91c2VNb3ZlXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBvd25lckRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIiwgaGFuZGxlTW91c2VNb3ZlKTtcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgb3duZXJEb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2Vtb3ZlXCIsIGhhbmRsZU1vdXNlTW92ZSk7XG4gICAgfTtcbiAgfSwgW2Rpc2FibGVkLCBpc1Zpc2libGUsIHJlZl0pO1xufSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIFNlbmQgYW4gZXZlbnQgdG8gb3VyIHN0YXRlIG1hY2hpbmUgdG8gZmluZCB0aGUgbmV4dCBzdGF0ZSBmcm9tIHRoZSBjdXJyZW50XG4gKiBzdGF0ZSArIGFjdGlvbi5cbiAqXG4gKiBJdCBhbHNvIG1hbmFnZXMgbGlmZWN5Y2xlcyBvZiB0aGUgbWFjaGluZSwgKGVudGVyL2xlYXZlIGhvb2tzIG9uIHRoZSBzdGF0ZVxuICogY2hhcnQpXG4gKlxuICogQHBhcmFtIGV2ZW50XG4gKiBAcGFyYW0gcGF5bG9hZFxuICovXG5cblxuZnVuY3Rpb24gc2VuZChldmVudCkge1xuICB2YXIgX3RyYW5zaXRpb24gPSB0cmFuc2l0aW9uKHN0YXRlLCBldmVudCksXG4gICAgICB2YWx1ZSA9IF90cmFuc2l0aW9uLnZhbHVlLFxuICAgICAgY29udGV4dCA9IF90cmFuc2l0aW9uLmNvbnRleHQsXG4gICAgICBjaGFuZ2VkID0gX3RyYW5zaXRpb24uY2hhbmdlZDtcblxuICBpZiAoY2hhbmdlZCkge1xuICAgIHN0YXRlID0ge1xuICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgY29udGV4dDogY29udGV4dFxuICAgIH07XG4gICAgbm90aWZ5KCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNpdGlvbihjdXJyZW50U3RhdGUsIGV2ZW50KSB7XG4gIHZhciBzdGF0ZURlZiA9IGNoYXJ0LnN0YXRlc1tjdXJyZW50U3RhdGUudmFsdWVdO1xuICB2YXIgbmV4dFN0YXRlID0gc3RhdGVEZWYgJiYgc3RhdGVEZWYub24gJiYgc3RhdGVEZWYub25bZXZlbnQudHlwZV07IC8vIFJlYWxseSB1c2VmdWwgZm9yIGRlYnVnZ2luZ1xuICAvLyBjb25zb2xlLmxvZyh7IGV2ZW50LCBzdGF0ZSwgbmV4dFN0YXRlLCBjb250ZXh0SWQ6IGNvbnRleHQuaWQgfSk7XG4gIC8vICFuZXh0U3RhdGUgJiYgY29uc29sZS5sb2coXCJubyB0cmFuc2l0aW9uIHRha2VuXCIpO1xuXG4gIGlmICghbmV4dFN0YXRlKSB7XG4gICAgcmV0dXJuIF9leHRlbmRzKHt9LCBjdXJyZW50U3RhdGUsIHtcbiAgICAgIGNoYW5nZWQ6IGZhbHNlXG4gICAgfSk7XG4gIH1cblxuICBpZiAoc3RhdGVEZWYgJiYgc3RhdGVEZWYubGVhdmUpIHtcbiAgICBzdGF0ZURlZi5sZWF2ZShjdXJyZW50U3RhdGUuY29udGV4dCwgZXZlbnQpO1xuICB9XG5cbiAgZXZlbnQudHlwZTtcbiAgICAgIHZhciBwYXlsb2FkID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UoZXZlbnQsIF9leGNsdWRlZDQpOyAvLyBUT0RPOiBVc2UgYWN0aW9ucyBpbnN0ZWFkIG9mIGRpcmVjdGx5IHNldHRpbmcgY29udGV4dFxuXG5cbiAgdmFyIGNvbnRleHQgPSBfZXh0ZW5kcyh7fSwgc3RhdGUuY29udGV4dCwgcGF5bG9hZCk7XG5cbiAgdmFyIG5leHRTdGF0ZVZhbHVlID0gdHlwZW9mIG5leHRTdGF0ZSA9PT0gXCJzdHJpbmdcIiA/IG5leHRTdGF0ZSA6IG5leHRTdGF0ZS50YXJnZXQ7XG4gIHZhciBuZXh0RGVmID0gY2hhcnQuc3RhdGVzW25leHRTdGF0ZVZhbHVlXTtcblxuICBpZiAobmV4dERlZiAmJiBuZXh0RGVmLmVudGVyKSB7XG4gICAgbmV4dERlZi5lbnRlcihjdXJyZW50U3RhdGUuY29udGV4dCwgZXZlbnQpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB2YWx1ZTogbmV4dFN0YXRlVmFsdWUsXG4gICAgY29udGV4dDogY29udGV4dCxcbiAgICBjaGFuZ2VkOiB0cnVlXG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzVG9vbHRpcFZpc2libGUoaWQsIGluaXRpYWwpIHtcbiAgcmV0dXJuIHN0YXRlLmNvbnRleHQuaWQgPT09IGlkICYmIChpbml0aWFsID8gc3RhdGUudmFsdWUgPT09IFRvb2x0aXBTdGF0ZXMuVmlzaWJsZSA6IHN0YXRlLnZhbHVlID09PSBUb29sdGlwU3RhdGVzLlZpc2libGUgfHwgc3RhdGUudmFsdWUgPT09IFRvb2x0aXBTdGF0ZXMuTGVhdmluZ1Zpc2libGUpO1xufSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5leHBvcnQgZGVmYXVsdCBUb29sdGlwO1xuZXhwb3J0IHsgTEVBVkVfVElNRU9VVCwgTU9VU0VfUkVTVF9USU1FT1VULCBUb29sdGlwLCBUb29sdGlwUG9wdXAsIHBvc2l0aW9uVG9vbHRpcCwgdXNlVG9vbHRpcCB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///197\n')},225:function(module,exports,__webpack_require__){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(582)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _Tooltip) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports["default"] = void 0;\n _Tooltip = _interopRequireDefault(_Tooltip);\n function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }\n var _default = _exports["default"] = _Tooltip["default"];\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjI1LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7dUNBRWVBLG1CQUFPO0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL2NvbXBvbmVudHMvVG9vbHRpcC9pbmRleC5qcz8wNTRhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBUb29sdGlwIGZyb20gXCIuL1Rvb2x0aXBcIjtcblxuZXhwb3J0IGRlZmF1bHQgVG9vbHRpcDtcbiJdLCJuYW1lcyI6WyJUb29sdGlwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///225\n')},258:function(module,exports,__webpack_require__){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }\n(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(763), __webpack_require__(763), __webpack_require__(756)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _react, _reactDom, _FooterUI) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports["default"] = void 0;\n _react = _interopRequireDefault(_react);\n _FooterUI = _interopRequireDefault(_FooterUI);\n function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }\n function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\n function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }\n function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }\n function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }\n function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } /* global buildVersion */ // buildVersion above is defined in webpack.config.js\n /**\n * Renders the QPP Footer content.\n */\n var Footer = _exports["default"] = /*#__PURE__*/_createClass(\n /**\n * @param {Object} options - An object containing content and config data\n * @param {HTMLElement} options.rootElement - Elem inside which to render\n */\n function Footer(options) {\n _classCallCheck(this, Footer);\n if (options.hasOwnProperty("rootElement")) {\n (0, _reactDom.render)(/*#__PURE__*/_react["default"].createElement(_FooterUI["default"], {\n buildVersion: "1.2.82",\n isFullWidth: options.isFullWidth,\n isNewFooter: options.isNewFooter,\n showHcdResearch: options.showHcdResearch\n }), options.rootElement);\n } else {\n (0, _reactDom.render)(/*#__PURE__*/_react["default"].createElement(_FooterUI["default"], {\n buildVersion: "1.2.82"\n }), options);\n }\n });\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjU4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7c0hBQUEsMEJBQ0E7RUFLQTtBQUNBO0FBQ0E7RUFGQSxJQUdxQkEsTUFBTSxHQUFBQyxRQUFBLDJCQUFBQyxZQUFBO0VBQ3ZCO0FBQ0o7QUFDQTtBQUNBO0VBQ0ksU0FBQUYsT0FBWUcsT0FBTyxFQUFFO0lBQUFDLGVBQUEsT0FBQUosTUFBQTtJQUNqQixJQUFJRyxPQUFPLENBQUNFLGNBQWMsQ0FBQyxhQUFhLENBQUMsRUFBRTtNQUN2QyxJQUFBQyxnQkFBTSxlQUNGQyxNQUFBLFlBQUFDLGFBQUEsQ0FBQ0MsU0FBQSxXQUFRO1FBQ0xDLFlBQVksRUFBRUEsUUFBYTtRQUMzQkMsV0FBVyxFQUFFUixPQUFPLENBQUNRLFdBQVk7UUFDakNDLFdBQVcsRUFBRVQsT0FBTyxDQUFDUyxXQUFZO1FBQ2pDQyxlQUFlLEVBQUVWLE9BQU8sQ0FBQ1U7TUFBZ0IsQ0FDNUMsQ0FBQyxFQUNGVixPQUFPLENBQUNXLFdBQ1osQ0FBQztJQUNMLENBQUMsTUFBTTtNQUNILElBQUFSLGdCQUFNLGVBQUNDLE1BQUEsWUFBQUMsYUFBQSxDQUFDQyxTQUFBLFdBQVE7UUFBQ0MsWUFBWSxFQUFFQSxRQUFZQTtNQUFDLENBQUUsQ0FBQyxFQUFFUCxPQUFPLENBQUM7SUFDN0Q7RUFDSixDQUFDO0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL2NvbXBvbmVudHMvRm9vdGVyL2Zvb3Rlci5qcz80OWFlIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGdsb2JhbCBidWlsZFZlcnNpb24gKi9cbi8vIGJ1aWxkVmVyc2lvbiBhYm92ZSBpcyBkZWZpbmVkIGluIHdlYnBhY2suY29uZmlnLmpzXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyByZW5kZXIgfSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgRm9vdGVyVUkgZnJvbSBcIi4vRm9vdGVyVUlcIjtcblxuLyoqXG4gKiBSZW5kZXJzIHRoZSBRUFAgRm9vdGVyIGNvbnRlbnQuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZvb3RlciB7XG4gICAgLyoqXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBBbiBvYmplY3QgY29udGFpbmluZyBjb250ZW50IGFuZCBjb25maWcgZGF0YVxuICAgICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IG9wdGlvbnMucm9vdEVsZW1lbnQgLSBFbGVtIGluc2lkZSB3aGljaCB0byByZW5kZXJcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgICAgIGlmIChvcHRpb25zLmhhc093blByb3BlcnR5KFwicm9vdEVsZW1lbnRcIikpIHtcbiAgICAgICAgICAgIHJlbmRlcihcbiAgICAgICAgICAgICAgICA8Rm9vdGVyVUlcbiAgICAgICAgICAgICAgICAgICAgYnVpbGRWZXJzaW9uPXtidWlsZFZlcnNpb259XG4gICAgICAgICAgICAgICAgICAgIGlzRnVsbFdpZHRoPXtvcHRpb25zLmlzRnVsbFdpZHRofVxuICAgICAgICAgICAgICAgICAgICBpc05ld0Zvb3Rlcj17b3B0aW9ucy5pc05ld0Zvb3Rlcn1cbiAgICAgICAgICAgICAgICAgICAgc2hvd0hjZFJlc2VhcmNoPXtvcHRpb25zLnNob3dIY2RSZXNlYXJjaH1cbiAgICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICAgICBvcHRpb25zLnJvb3RFbGVtZW50XG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVuZGVyKDxGb290ZXJVSSBidWlsZFZlcnNpb249e2J1aWxkVmVyc2lvbn0gLz4sIG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbIkZvb3RlciIsIl9leHBvcnRzIiwiX2NyZWF0ZUNsYXNzIiwib3B0aW9ucyIsIl9jbGFzc0NhbGxDaGVjayIsImhhc093blByb3BlcnR5IiwicmVuZGVyIiwiX3JlYWN0IiwiY3JlYXRlRWxlbWVudCIsIl9Gb290ZXJVSSIsImJ1aWxkVmVyc2lvbiIsImlzRnVsbFdpZHRoIiwiaXNOZXdGb290ZXIiLCJzaG93SGNkUmVzZWFyY2giLCJyb290RWxlbWVudCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///258\n')},310:function(module,exports){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports.positionTriangle = _exports["default"] = void 0;\n var OFFSET = 12; // modified from reach-ui/tooltip OFFSET value\n var TRIANGLE_SCALE_X = 6;\n var TRIANGLE_SCALE_Y = 8;\n var isDirectionUp = function isDirectionUp(triggerRect, tooltipRect) {\n var collisions = {\n top: triggerRect.top - tooltipRect.height < 0,\n bottom: window.innerHeight < triggerRect.bottom + tooltipRect.height + OFFSET\n };\n return !collisions.top || collisions.bottom;\n };\n\n // modified from @reach/tooltip default positioning function\n // positions Tooltip relative to trigger\n // https://github.com/reach/reach-ui/blob/master/packages/tooltip/src/index.tsx#L532\n var positionTip = function positionTip(triggerRect, tooltipRect) {\n if (!triggerRect || !tooltipRect) {\n return {};\n }\n var triggerCenter = triggerRect.left + triggerRect.width / 2;\n var left = triggerCenter - tooltipRect.width / 2;\n var maxLeft = window.innerWidth - tooltipRect.width - 2;\n var centerLeft = Math.min(Math.max(2, left), maxLeft) + window.pageXOffset;\n var directionUp = isDirectionUp(triggerRect, tooltipRect);\n return {\n left: "".concat(centerLeft, "px"),\n top: directionUp ? "".concat(triggerRect.top - OFFSET - tooltipRect.height + window.pageYOffset, "px") : "".concat(triggerRect.top + OFFSET + triggerRect.height + window.pageYOffset, "px")\n };\n };\n var _default = _exports["default"] = positionTip; // position triangle relative to tooltip position\n // TODO: figure out a better way to render these updates from within react\n // rendering. This method causes an additional repaint after the Tooltip\n // has been rendered. may require changes to @reach/tooltip.\n var positionTriangle = _exports.positionTriangle = function positionTriangle(triggerRect, tooltipRect) {\n var directionUp = isDirectionUp(triggerRect, tooltipRect);\n var triangleTop = directionUp ? triggerRect.top + window.pageYOffset - OFFSET : triggerRect.bottom + window.pageYOffset + OFFSET - TRIANGLE_SCALE_Y;\n var triangleLeft = triggerRect.left - TRIANGLE_SCALE_X + triggerRect.width / 2;\n var triangleBorder = directionUp ? "border-top: ".concat(TRIANGLE_SCALE_Y, "px solid;") : "border-bottom: ".concat(TRIANGLE_SCALE_Y, "px solid;");\n return "\\n border-left: ".concat(TRIANGLE_SCALE_X, "px solid transparent;\\n border-right: ").concat(TRIANGLE_SCALE_X, "px solid transparent;\\n left: ").concat(triangleLeft, "px;\\n top: ").concat(triangleTop, "px;\\n ").concat(triangleBorder, "\\n ");\n };\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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bkQsaUNBQUFzQixNQUFBLENBQ21CdkIsZ0JBQWdCLG1EQUFBdUIsTUFBQSxDQUNmdkIsZ0JBQWdCLDJDQUFBdUIsTUFBQSxDQUN4Qk0sWUFBWSx3QkFBQU4sTUFBQSxDQUNiSyxXQUFXLG1CQUFBTCxNQUFBLENBQ2hCTyxjQUFjO0VBRXhCLENBQUM7QUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vY29tcG9uZW50cy9Ub29sdGlwL3Bvc2l0aW9uLmpzPzYxYjEiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgT0ZGU0VUID0gMTI7IC8vIG1vZGlmaWVkIGZyb20gcmVhY2gtdWkvdG9vbHRpcCBPRkZTRVQgdmFsdWVcbmNvbnN0IFRSSUFOR0xFX1NDQUxFX1ggPSA2O1xuY29uc3QgVFJJQU5HTEVfU0NBTEVfWSA9IDg7XG5cbmNvbnN0IGlzRGlyZWN0aW9uVXAgPSAodHJpZ2dlclJlY3QsIHRvb2x0aXBSZWN0KSA9PiB7XG4gICAgY29uc3QgY29sbGlzaW9ucyA9IHtcbiAgICAgICAgdG9wOiB0cmlnZ2VyUmVjdC50b3AgLSB0b29sdGlwUmVjdC5oZWlnaHQgPCAwLFxuICAgICAgICBib3R0b206XG4gICAgICAgICAgICB3aW5kb3cuaW5uZXJIZWlnaHQgPFxuICAgICAgICAgICAgdHJpZ2dlclJlY3QuYm90dG9tICsgdG9vbHRpcFJlY3QuaGVpZ2h0ICsgT0ZGU0VULFxuICAgIH07XG5cbiAgICByZXR1cm4gIWNvbGxpc2lvbnMudG9wIHx8IGNvbGxpc2lvbnMuYm90dG9tO1xufTtcblxuLy8gbW9kaWZpZWQgZnJvbSBAcmVhY2gvdG9vbHRpcCBkZWZhdWx0IHBvc2l0aW9uaW5nIGZ1bmN0aW9uXG4vLyBwb3NpdGlvbnMgVG9vbHRpcCByZWxhdGl2ZSB0byB0cmlnZ2VyXG4vLyBodHRwczovL2dpdGh1Yi5jb20vcmVhY2gvcmVhY2gtdWkvYmxvYi9tYXN0ZXIvcGFja2FnZXMvdG9vbHRpcC9zcmMvaW5kZXgudHN4I0w1MzJcbmNvbnN0IHBvc2l0aW9uVGlwID0gKHRyaWdnZXJSZWN0LCB0b29sdGlwUmVjdCkgPT4ge1xuICAgIGlmICghdHJpZ2dlclJlY3QgfHwgIXRvb2x0aXBSZWN0KSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICBjb25zdCB0cmlnZ2VyQ2VudGVyID0gdHJpZ2dlclJlY3QubGVmdCArIHRyaWdnZXJSZWN0LndpZHRoIC8gMjtcbiAgICBjb25zdCBsZWZ0ID0gdHJpZ2dlckNlbnRlciAtIHRvb2x0aXBSZWN0LndpZHRoIC8gMjtcbiAgICBjb25zdCBtYXhMZWZ0ID0gd2luZG93LmlubmVyV2lkdGggLSB0b29sdGlwUmVjdC53aWR0aCAtIDI7XG4gICAgY29uc3QgY2VudGVyTGVmdCA9XG4gICAgICAgIE1hdGgubWluKE1hdGgubWF4KDIsIGxlZnQpLCBtYXhMZWZ0KSArIHdpbmRvdy5wYWdlWE9mZnNldDtcblxuICAgIGNvbnN0IGRpcmVjdGlvblVwID0gaXNEaXJlY3Rpb25VcCh0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgbGVmdDogYCR7Y2VudGVyTGVmdH1weGAsXG4gICAgICAgIHRvcDogZGlyZWN0aW9uVXBcbiAgICAgICAgICAgID8gYCR7XG4gICAgICAgICAgICAgICAgICB0cmlnZ2VyUmVjdC50b3AgLVxuICAgICAgICAgICAgICAgICAgT0ZGU0VUIC1cbiAgICAgICAgICAgICAgICAgIHRvb2x0aXBSZWN0LmhlaWdodCArXG4gICAgICAgICAgICAgICAgICB3aW5kb3cucGFnZVlPZmZzZXRcbiAgICAgICAgICAgICAgfXB4YFxuICAgICAgICAgICAgOiBgJHtcbiAgICAgICAgICAgICAgICAgIHRyaWdnZXJSZWN0LnRvcCArXG4gICAgICAgICAgICAgICAgICBPRkZTRVQgK1xuICAgICAgICAgICAgICAgICAgdHJpZ2dlclJlY3QuaGVpZ2h0ICtcbiAgICAgICAgICAgICAgICAgIHdpbmRvdy5wYWdlWU9mZnNldFxuICAgICAgICAgICAgICB9cHhgLFxuICAgIH07XG59O1xuXG5leHBvcnQgZGVmYXVsdCBwb3NpdGlvblRpcDtcblxuLy8gcG9zaXRpb24gdHJpYW5nbGUgcmVsYXRpdmUgdG8gdG9vbHRpcCBwb3NpdGlvblxuLy8gVE9ETzogZmlndXJlIG91dCBhIGJldHRlciB3YXkgdG8gcmVuZGVyIHRoZXNlIHVwZGF0ZXMgZnJvbSB3aXRoaW4gcmVhY3Rcbi8vIHJlbmRlcmluZy4gVGhpcyBtZXRob2QgY2F1c2VzIGFuIGFkZGl0aW9uYWwgcmVwYWludCBhZnRlciB0aGUgVG9vbHRpcFxuLy8gaGFzIGJlZW4gcmVuZGVyZWQuIG1heSByZXF1aXJlIGNoYW5nZXMgdG8gQHJlYWNoL3Rvb2x0aXAuXG5leHBvcnQgY29uc3QgcG9zaXRpb25UcmlhbmdsZSA9ICh0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QpID0+IHtcbiAgICBjb25zdCBkaXJlY3Rpb25VcCA9IGlzRGlyZWN0aW9uVXAodHJpZ2dlclJlY3QsIHRvb2x0aXBSZWN0KTtcbiAgICBjb25zdCB0cmlhbmdsZVRvcCA9IGRpcmVjdGlvblVwXG4gICAgICAgID8gdHJpZ2dlclJlY3QudG9wICsgd2luZG93LnBhZ2VZT2Zmc2V0IC0gT0ZGU0VUXG4gICAgICAgIDogdHJpZ2dlclJlY3QuYm90dG9tICsgd2luZG93LnBhZ2VZT2Zmc2V0ICsgT0ZGU0VUIC0gVFJJQU5HTEVfU0NBTEVfWTtcblxuICAgIGNvbnN0IHRyaWFuZ2xlTGVmdCA9XG4gICAgICAgIHRyaWdnZXJSZWN0LmxlZnQgLSBUUklBTkdMRV9TQ0FMRV9YICsgdHJpZ2dlclJlY3Qud2lkdGggLyAyO1xuXG4gICAgY29uc3QgdHJpYW5nbGVCb3JkZXIgPSBkaXJlY3Rpb25VcFxuICAgICAgICA/IGBib3JkZXItdG9wOiAke1RSSUFOR0xFX1NDQUxFX1l9cHggc29saWQ7YFxuICAgICAgICA6IGBib3JkZXItYm90dG9tOiAke1RSSUFOR0xFX1NDQUxFX1l9cHggc29saWQ7YDtcblxuICAgIHJldHVybiBgXG4gICAgICAgIGJvcmRlci1sZWZ0OiAke1RSSUFOR0xFX1NDQUxFX1h9cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogJHtUUklBTkdMRV9TQ0FMRV9YfXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBsZWZ0OiAke3RyaWFuZ2xlTGVmdH1weDtcbiAgICAgICAgdG9wOiAke3RyaWFuZ2xlVG9wfXB4O1xuICAgICAgICAke3RyaWFuZ2xlQm9yZGVyfVxuICAgIGA7XG59O1xuIl0sIm5hbWVzIjpbIk9GRlNFVCIsIlRSSUFOR0xFX1NDQUxFX1giLCJUUklBTkdMRV9TQ0FMRV9ZIiwiaXNEaXJlY3Rpb25VcCIsInRyaWdnZXJSZWN0IiwidG9vbHRpcFJlY3QiLCJjb2xsaXNpb25zIiwidG9wIiwiaGVpZ2h0IiwiYm90dG9tIiwid2luZG93IiwiaW5uZXJIZWlnaHQiLCJwb3NpdGlvblRpcCIsInRyaWdnZXJDZW50ZXIiLCJsZWZ0Iiwid2lkdGgiLCJtYXhMZWZ0IiwiaW5uZXJXaWR0aCIsImNlbnRlckxlZnQiLCJNYXRoIiwibWluIiwibWF4IiwicGFnZVhPZmZzZXQiLCJkaXJlY3Rpb25VcCIsImNvbmNhdCIsInBhZ2VZT2Zmc2V0IiwiX2RlZmF1bHQiLCJfZXhwb3J0cyIsInBvc2l0aW9uVHJpYW5nbGUiLCJ0cmlhbmdsZVRvcCIsInRyaWFuZ2xlTGVmdCIsInRyaWFuZ2xlQm9yZGVyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///310\n')},313:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = __webpack_require__(925);\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzEzLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYiwyQkFBMkIsbUJBQU8sQ0FBQyxHQUE0Qjs7QUFFL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvZmFjdG9yeVdpdGhUaHJvd2luZ1NoaW1zLmpzP2Q3YTAiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBSZWFjdFByb3BUeXBlc1NlY3JldCA9IHJlcXVpcmUoJy4vbGliL1JlYWN0UHJvcFR5cGVzU2VjcmV0Jyk7XG5cbmZ1bmN0aW9uIGVtcHR5RnVuY3Rpb24oKSB7fVxuZnVuY3Rpb24gZW1wdHlGdW5jdGlvbldpdGhSZXNldCgpIHt9XG5lbXB0eUZ1bmN0aW9uV2l0aFJlc2V0LnJlc2V0V2FybmluZ0NhY2hlID0gZW1wdHlGdW5jdGlvbjtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbigpIHtcbiAgZnVuY3Rpb24gc2hpbShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUsIHNlY3JldCkge1xuICAgIGlmIChzZWNyZXQgPT09IFJlYWN0UHJvcFR5cGVzU2VjcmV0KSB7XG4gICAgICAvLyBJdCBpcyBzdGlsbCBzYWZlIHdoZW4gY2FsbGVkIGZyb20gUmVhY3QuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciBlcnIgPSBuZXcgRXJyb3IoXG4gICAgICAnQ2FsbGluZyBQcm9wVHlwZXMgdmFsaWRhdG9ycyBkaXJlY3RseSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBgcHJvcC10eXBlc2AgcGFja2FnZS4gJyArXG4gICAgICAnVXNlIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcygpIHRvIGNhbGwgdGhlbS4gJyArXG4gICAgICAnUmVhZCBtb3JlIGF0IGh0dHA6Ly9mYi5tZS91c2UtY2hlY2stcHJvcC10eXBlcydcbiAgICApO1xuICAgIGVyci5uYW1lID0gJ0ludmFyaWFudCBWaW9sYXRpb24nO1xuICAgIHRocm93IGVycjtcbiAgfTtcbiAgc2hpbS5pc1JlcXVpcmVkID0gc2hpbTtcbiAgZnVuY3Rpb24gZ2V0U2hpbSgpIHtcbiAgICByZXR1cm4gc2hpbTtcbiAgfTtcbiAgLy8gSW1wb3J0YW50IVxuICAvLyBLZWVwIHRoaXMgbGlzdCBpbiBzeW5jIHdpdGggcHJvZHVjdGlvbiB2ZXJzaW9uIGluIGAuL2ZhY3RvcnlXaXRoVHlwZUNoZWNrZXJzLmpzYC5cbiAgdmFyIFJlYWN0UHJvcFR5cGVzID0ge1xuICAgIGFycmF5OiBzaGltLFxuICAgIGJpZ2ludDogc2hpbSxcbiAgICBib29sOiBzaGltLFxuICAgIGZ1bmM6IHNoaW0sXG4gICAgbnVtYmVyOiBzaGltLFxuICAgIG9iamVjdDogc2hpbSxcbiAgICBzdHJpbmc6IHNoaW0sXG4gICAgc3ltYm9sOiBzaGltLFxuXG4gICAgYW55OiBzaGltLFxuICAgIGFycmF5T2Y6IGdldFNoaW0sXG4gICAgZWxlbWVudDogc2hpbSxcbiAgICBlbGVtZW50VHlwZTogc2hpbSxcbiAgICBpbnN0YW5jZU9mOiBnZXRTaGltLFxuICAgIG5vZGU6IHNoaW0sXG4gICAgb2JqZWN0T2Y6IGdldFNoaW0sXG4gICAgb25lT2Y6IGdldFNoaW0sXG4gICAgb25lT2ZUeXBlOiBnZXRTaGltLFxuICAgIHNoYXBlOiBnZXRTaGltLFxuICAgIGV4YWN0OiBnZXRTaGltLFxuXG4gICAgY2hlY2tQcm9wVHlwZXM6IGVtcHR5RnVuY3Rpb25XaXRoUmVzZXQsXG4gICAgcmVzZXRXYXJuaW5nQ2FjaGU6IGVtcHR5RnVuY3Rpb25cbiAgfTtcblxuICBSZWFjdFByb3BUeXBlcy5Qcm9wVHlwZXMgPSBSZWFjdFByb3BUeXBlcztcblxuICByZXR1cm4gUmVhY3RQcm9wVHlwZXM7XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///313\n")},517:function(module,exports,__webpack_require__){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(763), __webpack_require__(556)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _react, _propTypes) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports["default"] = void 0;\n _react = _interopRequireDefault(_react);\n _propTypes = _interopRequireDefault(_propTypes);\n var _excluded = ["lightIcon"];\n function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }\n function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\n function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n var InfotipIcon = function InfotipIcon(_ref) {\n var lightIcon = _ref.lightIcon,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/_react["default"].createElement("svg", _extends({\n width: "20px",\n height: "20px",\n viewBox: "0 0 20 20",\n xmlns: "http://www.w3.org/2000/svg"\n }, props), /*#__PURE__*/_react["default"].createElement("g", {\n fill: "none",\n fillRule: "evenodd"\n }, /*#__PURE__*/_react["default"].createElement("path", {\n d: "M9.721 19.158c-4.947 0-8.973-4.126-8.973-9.196C.748 4.892 4.774.766 9.72.766c4.948 0 8.974 4.126 8.974 9.196 0 5.07-4.026 9.196-8.974 9.196z",\n fill: "#2EB1ED",\n fillRule: "nonzero"\n }), /*#__PURE__*/_react["default"].createElement("path", {\n d: "M9.721 0C4.361 0 0 4.469 0 9.962c0 5.493 4.36 9.962 9.721 9.962 5.36 0 9.722-4.469 9.722-9.962C19.443 4.469 15.082 0 9.72 0z",\n fill: lightIcon ? "#FFF" : "#04838A"\n }), /*#__PURE__*/_react["default"].createElement("path", {\n d: "M9.721 14.765c-.206 0-.374.112-.374.25v.5c0 .138.168.25.374.25.207 0 .374-.112.374-.25v-.5c0-.138-.167-.25-.374-.25zM9.764 4.706H9.72c-.792 0-1.536.29-2.1.821a2.767 2.767 0 0 0-.89 2.03c0 .197.166.356.373.356s.374-.159.374-.356c0-.577.237-1.118.668-1.523a2.268 2.268 0 0 1 1.607-.615c1.182.016 2.195.98 2.211 2.107.011.743-.373 1.427-1.028 1.83-.995.61-1.589 1.691-1.589 2.89v1.013c0 .197.168.357.374.357.207 0 .374-.16.374-.357v-1.013c0-.941.477-1.82 1.246-2.292.873-.537 1.386-1.448 1.371-2.438-.022-1.527-1.345-2.788-2.948-2.81z",\n stroke: lightIcon ? "#04838A" : "#FFF",\n strokeWidth: ".5",\n fill: lightIcon ? "#04838A" : "#FFF",\n fillRule: "nonzero"\n })));\n };\n var _default = _exports["default"] = InfotipIcon;\n InfotipIcon.propTypes = {\n lightIcon: _propTypes["default"].bool\n };\n InfotipIcon.defaultProps = {\n lightIcon: false\n };\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTE3LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUdBLElBQU1BLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFBQyxJQUFBO0lBQUEsSUFBTUMsU0FBUyxHQUFBRCxJQUFBLENBQVRDLFNBQVM7TUFBS0MsS0FBSyxHQUFBQyx3QkFBQSxDQUFBSCxJQUFBLEVBQUFJLFNBQUE7SUFBQSxvQkFDdENDLE1BQUEsWUFBQUMsYUFBQSxRQUFBQyxRQUFBO01BQ0lDLEtBQUssRUFBQyxNQUFNO01BQ1pDLE1BQU0sRUFBQyxNQUFNO01BQ2JDLE9BQU8sRUFBQyxXQUFXO01BQ25CQyxLQUFLLEVBQUM7SUFBNEIsR0FDOUJULEtBQUssZ0JBRVRHLE1BQUEsWUFBQUMsYUFBQTtNQUFHTSxJQUFJLEVBQUMsTUFBTTtNQUFDQyxRQUFRLEVBQUM7SUFBUyxnQkFDN0JSLE1BQUEsWUFBQUMsYUFBQTtNQUNJUSxDQUFDLEVBQUMsOElBQThJO01BQ2hKRixJQUFJLEVBQUMsU0FBUztNQUNkQyxRQUFRLEVBQUM7SUFBUyxDQUNyQixDQUFDLGVBQ0ZSLE1BQUEsWUFBQUMsYUFBQTtNQUNJUSxDQUFDLEVBQUMsOEhBQThIO01BQ2hJRixJQUFJLEVBQUVYLFNBQVMsR0FBRyxNQUFNLEdBQUc7SUFBVSxDQUN4QyxDQUFDLGVBQ0ZJLE1BQUEsWUFBQUMsYUFBQTtNQUNJUSxDQUFDLEVBQUMscWhCQUFxaEI7TUFDdmhCQyxNQUFNLEVBQUVkLFNBQVMsR0FBRyxTQUFTLEdBQUcsTUFBTztNQUN2Q2UsV0FBVyxFQUFDLElBQUk7TUFDaEJKLElBQUksRUFBRVgsU0FBUyxHQUFHLFNBQVMsR0FBRyxNQUFPO01BQ3JDWSxRQUFRLEVBQUM7SUFBUyxDQUNyQixDQUNGLENBQ0YsQ0FBQztFQUFBLENBQ1Q7RUFBQyxJQUFBSSxRQUFBLEdBQUFDLFFBQUEsY0FFYW5CLFdBQVc7RUFFMUJBLFdBQVcsQ0FBQ29CLFNBQVMsR0FBRztJQUNwQmxCLFNBQVMsRUFBRW1CLHFCQUFTLENBQUNDO0VBQ3pCLENBQUM7RUFFRHRCLFdBQVcsQ0FBQ3VCLFlBQVksR0FBRztJQUN2QnJCLFNBQVMsRUFBRTtFQUNmLENBQUM7QUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vY29tcG9uZW50cy9JbmZvdGlwL0luZm90aXBJY29uLmpzeD82MGMyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIjtcblxuY29uc3QgSW5mb3RpcEljb24gPSAoeyBsaWdodEljb24sIC4uLnByb3BzIH0pID0+IChcbiAgICA8c3ZnXG4gICAgICAgIHdpZHRoPVwiMjBweFwiXG4gICAgICAgIGhlaWdodD1cIjIwcHhcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHsuLi5wcm9wc31cbiAgICA+XG4gICAgICAgIDxnIGZpbGw9XCJub25lXCIgZmlsbFJ1bGU9XCJldmVub2RkXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgIGQ9XCJNOS43MjEgMTkuMTU4Yy00Ljk0NyAwLTguOTczLTQuMTI2LTguOTczLTkuMTk2Qy43NDggNC44OTIgNC43NzQuNzY2IDkuNzIuNzY2YzQuOTQ4IDAgOC45NzQgNC4xMjYgOC45NzQgOS4xOTYgMCA1LjA3LTQuMDI2IDkuMTk2LTguOTc0IDkuMTk2elwiXG4gICAgICAgICAgICAgICAgZmlsbD1cIiMyRUIxRURcIlxuICAgICAgICAgICAgICAgIGZpbGxSdWxlPVwibm9uemVyb1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICBkPVwiTTkuNzIxIDBDNC4zNjEgMCAwIDQuNDY5IDAgOS45NjJjMCA1LjQ5MyA0LjM2IDkuOTYyIDkuNzIxIDkuOTYyIDUuMzYgMCA5LjcyMi00LjQ2OSA5LjcyMi05Ljk2MkMxOS40NDMgNC40NjkgMTUuMDgyIDAgOS43MiAwelwiXG4gICAgICAgICAgICAgICAgZmlsbD17bGlnaHRJY29uID8gXCIjRkZGXCIgOiBcIiMwNDgzOEFcIn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgIGQ9XCJNOS43MjEgMTQuNzY1Yy0uMjA2IDAtLjM3NC4xMTItLjM3NC4yNXYuNWMwIC4xMzguMTY4LjI1LjM3NC4yNS4yMDcgMCAuMzc0LS4xMTIuMzc0LS4yNXYtLjVjMC0uMTM4LS4xNjctLjI1LS4zNzQtLjI1ek05Ljc2NCA0LjcwNkg5LjcyYy0uNzkyIDAtMS41MzYuMjktMi4xLjgyMWEyLjc2NyAyLjc2NyAwIDAgMC0uODkgMi4wM2MwIC4xOTcuMTY2LjM1Ni4zNzMuMzU2cy4zNzQtLjE1OS4zNzQtLjM1NmMwLS41NzcuMjM3LTEuMTE4LjY2OC0xLjUyM2EyLjI2OCAyLjI2OCAwIDAgMSAxLjYwNy0uNjE1YzEuMTgyLjAxNiAyLjE5NS45OCAyLjIxMSAyLjEwNy4wMTEuNzQzLS4zNzMgMS40MjctMS4wMjggMS44My0uOTk1LjYxLTEuNTg5IDEuNjkxLTEuNTg5IDIuODl2MS4wMTNjMCAuMTk3LjE2OC4zNTcuMzc0LjM1Ny4yMDcgMCAuMzc0LS4xNi4zNzQtLjM1N3YtMS4wMTNjMC0uOTQxLjQ3Ny0xLjgyIDEuMjQ2LTIuMjkyLjg3My0uNTM3IDEuMzg2LTEuNDQ4IDEuMzcxLTIuNDM4LS4wMjItMS41MjctMS4zNDUtMi43ODgtMi45NDgtMi44MXpcIlxuICAgICAgICAgICAgICAgIHN0cm9rZT17bGlnaHRJY29uID8gXCIjMDQ4MzhBXCIgOiBcIiNGRkZcIn1cbiAgICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIi41XCJcbiAgICAgICAgICAgICAgICBmaWxsPXtsaWdodEljb24gPyBcIiMwNDgzOEFcIiA6IFwiI0ZGRlwifVxuICAgICAgICAgICAgICAgIGZpbGxSdWxlPVwibm9uemVyb1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgPC9zdmc+XG4pO1xuXG5leHBvcnQgZGVmYXVsdCBJbmZvdGlwSWNvbjtcblxuSW5mb3RpcEljb24ucHJvcFR5cGVzID0ge1xuICAgIGxpZ2h0SWNvbjogUHJvcFR5cGVzLmJvb2wsXG59O1xuXG5JbmZvdGlwSWNvbi5kZWZhdWx0UHJvcHMgPSB7XG4gICAgbGlnaHRJY29uOiBmYWxzZSxcbn07XG4iXSwibmFtZXMiOlsiSW5mb3RpcEljb24iLCJfcmVmIiwibGlnaHRJY29uIiwicHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJfcmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMiLCJ3aWR0aCIsImhlaWdodCIsInZpZXdCb3giLCJ4bWxucyIsImZpbGwiLCJmaWxsUnVsZSIsImQiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsIl9kZWZhdWx0IiwiX2V4cG9ydHMiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJib29sIiwiZGVmYXVsdFByb3BzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///517\n')},556:(module,__unused_webpack_exports,__webpack_require__)=>{eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (false) { var throwOnDirectAccess, ReactIs; } else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(313)();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTU2LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxJQUFJLEtBQXFDLEVBQUUscUNBTzFDLENBQUM7QUFDRjtBQUNBO0FBQ0EsbUJBQW1CLG1CQUFPLENBQUMsR0FBNEI7QUFDdkQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9wcm9wLXR5cGVzL2luZGV4LmpzP2Q3YmMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICB2YXIgUmVhY3RJcyA9IHJlcXVpcmUoJ3JlYWN0LWlzJyk7XG5cbiAgLy8gQnkgZXhwbGljaXRseSB1c2luZyBgcHJvcC10eXBlc2AgeW91IGFyZSBvcHRpbmcgaW50byBuZXcgZGV2ZWxvcG1lbnQgYmVoYXZpb3IuXG4gIC8vIGh0dHA6Ly9mYi5tZS9wcm9wLXR5cGVzLWluLXByb2RcbiAgdmFyIHRocm93T25EaXJlY3RBY2Nlc3MgPSB0cnVlO1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vZmFjdG9yeVdpdGhUeXBlQ2hlY2tlcnMnKShSZWFjdElzLmlzRWxlbWVudCwgdGhyb3dPbkRpcmVjdEFjY2Vzcyk7XG59IGVsc2Uge1xuICAvLyBCeSBleHBsaWNpdGx5IHVzaW5nIGBwcm9wLXR5cGVzYCB5b3UgYXJlIG9wdGluZyBpbnRvIG5ldyBwcm9kdWN0aW9uIGJlaGF2aW9yLlxuICAvLyBodHRwOi8vZmIubWUvcHJvcC10eXBlcy1pbi1wcm9kXG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9mYWN0b3J5V2l0aFRocm93aW5nU2hpbXMnKSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///556\n")},582:function(module,exports,__webpack_require__){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }\n(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(763), __webpack_require__(556), __webpack_require__(310), __webpack_require__(197), __webpack_require__(741)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _react, _propTypes, _position, _tooltip, _portal) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports["default"] = void 0;\n _react = _interopRequireWildcard(_react);\n _propTypes = _interopRequireDefault(_propTypes);\n _position = _interopRequireWildcard(_position);\n _portal = _interopRequireDefault(_portal);\n function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }\n function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }\n function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }\n function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\n function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }\n function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\n function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\n function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\n function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n // TODO: investigate ways to allow more styling via css? the triangle\n // positioning effect issue may need to be resolved to allow for this.\n var TEXT_COLOR = "#FFF";\n var BACKGROUND_COLOR = "#333";\n\n /**\n * Generic styled tooltip component.\n * Corresponding styles: /styles/components/_tooltip.scss\n *\n * Extends implementation from @reach/tooltip:\n * https://reacttraining.com/reach-ui/tooltip\n */\n var Tooltip = function Tooltip(_ref) {\n var children = _ref.children,\n label = _ref.label,\n ariaLabel = _ref.ariaLabel,\n DEBUG_STYLE = _ref.DEBUG_STYLE;\n var _useTooltip = (0, _tooltip.useTooltip)({\n DEBUG_STYLE: DEBUG_STYLE\n }),\n _useTooltip2 = _slicedToArray(_useTooltip, 2),\n trigger = _useTooltip2[0],\n tooltip = _useTooltip2[1];\n var isVisible = tooltip.isVisible,\n triggerRect = tooltip.triggerRect;\n var tooltipPopupRef = (0, _react.useRef)();\n var triangleRef = (0, _react.useRef)();\n (0, _react.useLayoutEffect)(function () {\n // For some reason, the forwardRef for the tooltipPopup points to an undefined\n // dom element when we first render the portal containing the triangle. Using\n // an effect here will ensure that the ref is available when applying styles.\n // TODO: investigate and make issue for @reach-ui/tooltip?\n if (isVisible && tooltipPopupRef.current && triggerRect) {\n var tooltipRect = tooltipPopupRef.current.getBoundingClientRect();\n var positionCssText = (0, _position.positionTriangle)(triggerRect, tooltipRect);\n var cssText = "\\n position: absolute;\\n width: 0;\\n height: 0;\\n ".concat(positionCssText, "\\n border-top-color: ").concat(BACKGROUND_COLOR, ";\\n border-bottom-color: ").concat(BACKGROUND_COLOR, ";\\n z-index: 1;\\n ");\n triangleRef.current.style.cssText = cssText;\n }\n });\n return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/(0, _react.cloneElement)(children, trigger), /*#__PURE__*/_react["default"].createElement(_tooltip.TooltipPopup, _extends({}, tooltip, {\n label: label,\n ariaLabel: ariaLabel,\n style: {\n background: BACKGROUND_COLOR,\n color: TEXT_COLOR\n },\n ref: tooltipPopupRef,\n position: _position["default"]\n })), isVisible && /*#__PURE__*/_react["default"].createElement(_portal["default"], null, /*#__PURE__*/_react["default"].createElement("div", {\n ref: triangleRef,\n style: {\n position: "absolute",\n width: 0,\n height: 0\n }\n })));\n };\n Tooltip.propTypes = {\n children: _propTypes["default"].node.isRequired,\n label: _propTypes["default"].node.isRequired,\n ariaLabel: _propTypes["default"].string,\n DEBUG_STYLE: _propTypes["default"].bool\n };\n Tooltip.defaultProps = {\n ariaLabel: undefined,\n DEBUG_STYLE: undefined\n };\n var _default = _exports["default"] = Tooltip;\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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V0FBVyxFQUFFcUMscUJBQVMsQ0FBQ0k7RUFDM0IsQ0FBQztFQUVEOUMsT0FBTyxDQUFDK0MsWUFBWSxHQUFHO0lBQ25CM0MsU0FBUyxFQUFFNEMsU0FBUztJQUNwQjNDLFdBQVcsRUFBRTJDO0VBQ2pCLENBQUM7RUFBQyxJQUFBQyxRQUFBLEdBQUFDLFFBQUEsY0FFYWxELE9BQU87QUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vY29tcG9uZW50cy9Ub29sdGlwL1Rvb2x0aXAuanN4PzY5OWIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IGNsb25lRWxlbWVudCwgdXNlTGF5b3V0RWZmZWN0LCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIjtcbmltcG9ydCBwb3NpdGlvblRpcCwgeyBwb3NpdGlvblRyaWFuZ2xlIH0gZnJvbSBcIi4vcG9zaXRpb25cIjtcbmltcG9ydCB7IHVzZVRvb2x0aXAsIFRvb2x0aXBQb3B1cCB9IGZyb20gXCJAcmVhY2gvdG9vbHRpcFwiO1xuaW1wb3J0IFBvcnRhbCBmcm9tIFwiQHJlYWNoL3BvcnRhbFwiO1xuXG4vLyBUT0RPOiBpbnZlc3RpZ2F0ZSB3YXlzIHRvIGFsbG93IG1vcmUgc3R5bGluZyB2aWEgY3NzPyB0aGUgdHJpYW5nbGVcbi8vIHBvc2l0aW9uaW5nIGVmZmVjdCBpc3N1ZSBtYXkgbmVlZCB0byBiZSByZXNvbHZlZCB0byBhbGxvdyBmb3IgdGhpcy5cbmNvbnN0IFRFWFRfQ09MT1IgPSBcIiNGRkZcIjtcbmNvbnN0IEJBQ0tHUk9VTkRfQ09MT1IgPSBcIiMzMzNcIjtcblxuLyoqXG4gKiBHZW5lcmljIHN0eWxlZCB0b29sdGlwIGNvbXBvbmVudC5cbiAqIENvcnJlc3BvbmRpbmcgc3R5bGVzOiAvc3R5bGVzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2Nzc1xuICpcbiAqIEV4dGVuZHMgaW1wbGVtZW50YXRpb24gZnJvbSBAcmVhY2gvdG9vbHRpcDpcbiAqIGh0dHBzOi8vcmVhY3R0cmFpbmluZy5jb20vcmVhY2gtdWkvdG9vbHRpcFxuICovXG5jb25zdCBUb29sdGlwID0gKHsgY2hpbGRyZW4sIGxhYmVsLCBhcmlhTGFiZWwsIERFQlVHX1NUWUxFIH0pID0+IHtcbiAgICBjb25zdCBbdHJpZ2dlciwgdG9vbHRpcF0gPSB1c2VUb29sdGlwKHsgREVCVUdfU1RZTEUgfSk7XG4gICAgY29uc3QgeyBpc1Zpc2libGUsIHRyaWdnZXJSZWN0IH0gPSB0b29sdGlwO1xuICAgIGNvbnN0IHRvb2x0aXBQb3B1cFJlZiA9IHVzZVJlZigpO1xuICAgIGNvbnN0IHRyaWFuZ2xlUmVmID0gdXNlUmVmKCk7XG5cbiAgICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgICAgICAvLyBGb3Igc29tZSByZWFzb24sIHRoZSBmb3J3YXJkUmVmIGZvciB0aGUgdG9vbHRpcFBvcHVwIHBvaW50cyB0byBhbiB1bmRlZmluZWRcbiAgICAgICAgLy8gZG9tIGVsZW1lbnQgd2hlbiB3ZSBmaXJzdCByZW5kZXIgdGhlIHBvcnRhbCBjb250YWluaW5nIHRoZSB0cmlhbmdsZS4gVXNpbmdcbiAgICAgICAgLy8gYW4gZWZmZWN0IGhlcmUgd2lsbCBlbnN1cmUgdGhhdCB0aGUgcmVmIGlzIGF2YWlsYWJsZSB3aGVuIGFwcGx5aW5nIHN0eWxlcy5cbiAgICAgICAgLy8gVE9ETzogaW52ZXN0aWdhdGUgYW5kIG1ha2UgaXNzdWUgZm9yIEByZWFjaC11aS90b29sdGlwP1xuICAgICAgICBpZiAoaXNWaXNpYmxlICYmIHRvb2x0aXBQb3B1cFJlZi5jdXJyZW50ICYmIHRyaWdnZXJSZWN0KSB7XG4gICAgICAgICAgICBjb25zdCB0b29sdGlwUmVjdCA9IHRvb2x0aXBQb3B1cFJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgY29uc3QgcG9zaXRpb25Dc3NUZXh0ID0gcG9zaXRpb25UcmlhbmdsZSh0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QpO1xuICAgICAgICAgICAgY29uc3QgY3NzVGV4dCA9IGBcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgJHtwb3NpdGlvbkNzc1RleHR9XG4gICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke0JBQ0tHUk9VTkRfQ09MT1J9O1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHtCQUNLR1JPVU5EX0NPTE9SfTtcbiAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgYDtcbiAgICAgICAgICAgIHRyaWFuZ2xlUmVmLmN1cnJlbnQuc3R5bGUuY3NzVGV4dCA9IGNzc1RleHQ7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICB7Y2xvbmVFbGVtZW50KGNoaWxkcmVuLCB0cmlnZ2VyKX1cbiAgICAgICAgICAgIDxUb29sdGlwUG9wdXBcbiAgICAgICAgICAgICAgICB7Li4udG9vbHRpcH1cbiAgICAgICAgICAgICAgICBsYWJlbD17bGFiZWx9XG4gICAgICAgICAgICAgICAgYXJpYUxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQkFDS0dST1VORF9DT0xPUixcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IFRFWFRfQ09MT1IsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICByZWY9e3Rvb2x0aXBQb3B1cFJlZn1cbiAgICAgICAgICAgICAgICBwb3NpdGlvbj17cG9zaXRpb25UaXB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAge2lzVmlzaWJsZSAmJiAoXG4gICAgICAgICAgICAgICAgPFBvcnRhbD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXt0cmlhbmdsZVJlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvUG9ydGFsPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgPC8+XG4gICAgKTtcbn07XG5cblRvb2x0aXAucHJvcFR5cGVzID0ge1xuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLFxuICAgIGxhYmVsOiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLFxuICAgIGFyaWFMYWJlbDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBERUJVR19TVFlMRTogUHJvcFR5cGVzLmJvb2wsXG59O1xuXG5Ub29sdGlwLmRlZmF1bHRQcm9wcyA9IHtcbiAgICBhcmlhTGFiZWw6IHVuZGVmaW5lZCxcbiAgICBERUJVR19TVFlMRTogdW5kZWZpbmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgVG9vbHRpcDtcbiJdLCJuYW1lcyI6WyJURVhUX0NPTE9SIiwiQkFDS0dST1VORF9DT0xPUiIsIlRvb2x0aXAiLCJfcmVmIiwiY2hpbGRyZW4iLCJsYWJlbCIsImFyaWFMYWJlbCIsIkRFQlVHX1NUWUxFIiwiX3VzZVRvb2x0aXAiLCJ1c2VUb29sdGlwIiwiX3VzZVRvb2x0aXAyIiwiX3NsaWNlZFRvQXJyYXkiLCJ0cmlnZ2VyIiwidG9vbHRpcCIsImlzVmlzaWJsZSIsInRyaWdnZXJSZWN0IiwidG9vbHRpcFBvcHVwUmVmIiwidXNlUmVmIiwidHJpYW5nbGVSZWYiLCJ1c2VMYXlvdXRFZmZlY3QiLCJjdXJyZW50IiwidG9vbHRpcFJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJwb3NpdGlvbkNzc1RleHQiLCJwb3NpdGlvblRyaWFuZ2xlIiwiY3NzVGV4dCIsImNvbmNhdCIsInN0eWxlIiwiX3JlYWN0IiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiY2xvbmVFbGVtZW50IiwiX3Rvb2x0aXAiLCJUb29sdGlwUG9wdXAiLCJfZXh0ZW5kcyIsImJhY2tncm91bmQiLCJjb2xvciIsInJlZiIsInBvc2l0aW9uIiwicG9zaXRpb25UaXAiLCJfcG9ydGFsIiwid2lkdGgiLCJoZWlnaHQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJub2RlIiwiaXNSZXF1aXJlZCIsInN0cmluZyIsImJvb2wiLCJkZWZhdWx0UHJvcHMiLCJ1bmRlZmluZWQiLCJfZGVmYXVsdCIsIl9leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///582\n')},694:function(module,exports,__webpack_require__){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }\n(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(763), __webpack_require__(763), __webpack_require__(888)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _react, _reactDom, _ErrorUI) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports["default"] = void 0;\n _react = _interopRequireDefault(_react);\n _ErrorUI = _interopRequireDefault(_ErrorUI);\n function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }\n function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\n function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }\n function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }\n function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }\n function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }\n /**\n * Renders the QPP Error Page content.\n */\n var ErrorPage = _exports["default"] = /*#__PURE__*/_createClass(\n /**\n * @param {Object} options - An object containing content and config data\n * @param {String} options.type - The error type\n * @param {String} options.code - The error code\n * @param {String} options.message - The error message\n * @param {HTMLElement} options.rootElement - Elem inside which to render\n */\n function ErrorPage(options) {\n _classCallCheck(this, ErrorPage);\n (0, _reactDom.render)(/*#__PURE__*/_react["default"].createElement(_ErrorUI["default"], {\n type: options.type,\n code: options.code,\n message: options.message\n }), options.rootElement);\n });\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNjk0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBSUE7QUFDQTtBQUNBO0VBRkEsSUFHcUJBLFNBQVMsR0FBQUMsUUFBQSwyQkFBQUMsWUFBQTtFQUMxQjtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNJLFNBQUFGLFVBQVlHLE9BQU8sRUFBRTtJQUFBQyxlQUFBLE9BQUFKLFNBQUE7SUFDakIsSUFBQUssZ0JBQU0sZUFDRkMsTUFBQSxZQUFBQyxhQUFBLENBQUNDLFFBQUEsV0FBTztNQUNKQyxJQUFJLEVBQUVOLE9BQU8sQ0FBQ00sSUFBSztNQUNuQkMsSUFBSSxFQUFFUCxPQUFPLENBQUNPLElBQUs7TUFDbkJDLE9BQU8sRUFBRVIsT0FBTyxDQUFDUTtJQUFRLENBQzVCLENBQUMsRUFDRlIsT0FBTyxDQUFDUyxXQUNaLENBQUM7RUFDTCxDQUFDO0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL2NvbXBvbmVudHMvRXJyb3IvZXJyb3IuanM/ZjBjMCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyByZW5kZXIgfSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgRXJyb3JVSSBmcm9tIFwiLi9FcnJvclVJXCI7XG5cbi8qKlxuICogUmVuZGVycyB0aGUgUVBQIEVycm9yIFBhZ2UgY29udGVudC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXJyb3JQYWdlIHtcbiAgICAvKipcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIEFuIG9iamVjdCBjb250YWluaW5nIGNvbnRlbnQgYW5kIGNvbmZpZyBkYXRhXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IG9wdGlvbnMudHlwZSAtIFRoZSBlcnJvciB0eXBlXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IG9wdGlvbnMuY29kZSAtIFRoZSBlcnJvciBjb2RlXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IG9wdGlvbnMubWVzc2FnZSAtIFRoZSBlcnJvciBtZXNzYWdlXG4gICAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gb3B0aW9ucy5yb290RWxlbWVudCAtIEVsZW0gaW5zaWRlIHdoaWNoIHRvIHJlbmRlclxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICAgICAgcmVuZGVyKFxuICAgICAgICAgICAgPEVycm9yVUlcbiAgICAgICAgICAgICAgICB0eXBlPXtvcHRpb25zLnR5cGV9XG4gICAgICAgICAgICAgICAgY29kZT17b3B0aW9ucy5jb2RlfVxuICAgICAgICAgICAgICAgIG1lc3NhZ2U9e29wdGlvbnMubWVzc2FnZX1cbiAgICAgICAgICAgIC8+LFxuICAgICAgICAgICAgb3B0aW9ucy5yb290RWxlbWVudFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJFcnJvclBhZ2UiLCJfZXhwb3J0cyIsIl9jcmVhdGVDbGFzcyIsIm9wdGlvbnMiLCJfY2xhc3NDYWxsQ2hlY2siLCJyZW5kZXIiLCJfcmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiX0Vycm9yVUkiLCJ0eXBlIiwiY29kZSIsIm1lc3NhZ2UiLCJyb290RWxlbWVudCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///694\n')},741:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n Portal: () => (/* binding */ Portal),\n "default": () => (/* binding */ reach_portal_esm)\n});\n\n// EXTERNAL MODULE: ./node_modules/preact/compat/dist/compat.module.js + 2 modules\nvar compat_module = __webpack_require__(763);\n// EXTERNAL MODULE: ./node_modules/@reach/utils/use-isomorphic-layout-effect/dist/reach-utils-use-isomorphic-layout-effect.esm.js\nvar reach_utils_use_isomorphic_layout_effect_esm = __webpack_require__(103);\n;// ./node_modules/@reach/utils/use-force-update/dist/reach-utils-use-force-update.esm.js\n\n\n/**\n * Forces a re-render, similar to `forceUpdate` in class components.\n */\n\nfunction useForceUpdate() {\n var _useState = (0,compat_module.useState)(Object.create(null)),\n dispatch = _useState[1];\n\n return (0,compat_module.useCallback)(function () {\n dispatch(Object.create(null));\n }, []);\n}\n\n\n\n;// ./node_modules/@reach/portal/dist/reach-portal.esm.js\n\n\n\n\n\n\n/**\n * Welcome to @reach/portal!\n *\n * Creates and appends a DOM node to the end of `document.body` and renders a\n * React tree into it. Useful for rendering a natural React element hierarchy\n * with a different DOM hierarchy to prevent parent styles from clipping or\n * hiding content (for popovers, dropdowns, and modals).\n *\n * @see Docs https://reach.tech/portal\n * @see Source https://github.com/reach/reach-ui/tree/main/packages/portal\n * @see React https://reactjs.org/docs/portals.html\n */\n/**\n * Portal\n *\n * @see Docs https://reach.tech/portal#portal\n */\n\nvar Portal = function Portal(_ref) {\n var children = _ref.children,\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? "reach-portal" : _ref$type,\n containerRef = _ref.containerRef;\n var mountNode = (0,compat_module.useRef)(null);\n var portalNode = (0,compat_module.useRef)(null);\n var forceUpdate = useForceUpdate();\n\n if (false) {}\n\n (0,reach_utils_use_isomorphic_layout_effect_esm/* useIsomorphicLayoutEffect */.E)(function () {\n // This ref may be null when a hot-loader replaces components on the page\n if (!mountNode.current) return; // It\'s possible that the content of the portal has, itself, been portaled.\n // In that case, it\'s important to append to the correct document element.\n\n var ownerDocument = mountNode.current.ownerDocument;\n var body = (containerRef == null ? void 0 : containerRef.current) || ownerDocument.body;\n portalNode.current = ownerDocument == null ? void 0 : ownerDocument.createElement(type);\n body.appendChild(portalNode.current);\n forceUpdate();\n return function () {\n if (portalNode.current && body) {\n body.removeChild(portalNode.current);\n }\n };\n }, [type, forceUpdate, containerRef]);\n return portalNode.current ? /*#__PURE__*/(0,compat_module.createPortal)(children, portalNode.current) : /*#__PURE__*/(0,compat_module.createElement)("span", {\n ref: mountNode\n });\n};\n/**\n * @see Docs https://reach.tech/portal#portal-props\n */\n\n\nif (false) {} ////////////////////////////////////////////////////////////////////////////////\n\n/* harmony default export */ const reach_portal_esm = (Portal);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNzQxLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQThDOztBQUU5QztBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrQkFBa0IsMEJBQVE7QUFDMUI7O0FBRUEsU0FBUyw2QkFBVztBQUNwQjtBQUNBLEdBQUc7QUFDSDs7QUFFMEI7OztBQ2YrQjtBQUM2QjtBQUN2QjtBQUN0QjtBQUNOOztBQUVuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0Isd0JBQU07QUFDeEIsbUJBQW1CLHdCQUFNO0FBQ3pCLG9CQUFvQixjQUFjOztBQUVsQyxNQUFNLEtBQXFDLEVBQUUsRUFRMUM7O0FBRUgsRUFBRSxpRkFBeUI7QUFDM0I7QUFDQSxvQ0FBb0M7QUFDcEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsMkNBQTJDLDhCQUFZLDhDQUE4QywrQkFBYTtBQUNsSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0EsSUFBSSxLQUFxQyxFQUFFLEVBRTFDLENBQUM7O0FBRUYsdURBQWUsTUFBTSxFQUFDO0FBQ0oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdXRpbHMvdXNlLWZvcmNlLXVwZGF0ZS9kaXN0L3JlYWNoLXV0aWxzLXVzZS1mb3JjZS11cGRhdGUuZXNtLmpzPzY5MWIiLCJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9ub2RlX21vZHVsZXMvQHJlYWNoL3BvcnRhbC9kaXN0L3JlYWNoLXBvcnRhbC5lc20uanM/ZGRjOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5cbi8qKlxuICogRm9yY2VzIGEgcmUtcmVuZGVyLCBzaW1pbGFyIHRvIGBmb3JjZVVwZGF0ZWAgaW4gY2xhc3MgY29tcG9uZW50cy5cbiAqL1xuXG5mdW5jdGlvbiB1c2VGb3JjZVVwZGF0ZSgpIHtcbiAgdmFyIF91c2VTdGF0ZSA9IHVzZVN0YXRlKE9iamVjdC5jcmVhdGUobnVsbCkpLFxuICAgICAgZGlzcGF0Y2ggPSBfdXNlU3RhdGVbMV07XG5cbiAgcmV0dXJuIHVzZUNhbGxiYWNrKGZ1bmN0aW9uICgpIHtcbiAgICBkaXNwYXRjaChPYmplY3QuY3JlYXRlKG51bGwpKTtcbiAgfSwgW10pO1xufVxuXG5leHBvcnQgeyB1c2VGb3JjZVVwZGF0ZSB9O1xuIiwiaW1wb3J0IHsgdXNlUmVmLCB1c2VFZmZlY3QsIGNyZWF0ZUVsZW1lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0IH0gZnJvbSAnQHJlYWNoL3V0aWxzL3VzZS1pc29tb3JwaGljLWxheW91dC1lZmZlY3QnO1xuaW1wb3J0IHsgdXNlRm9yY2VVcGRhdGUgfSBmcm9tICdAcmVhY2gvdXRpbHMvdXNlLWZvcmNlLXVwZGF0ZSc7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IHdhcm5pbmcgZnJvbSAndGlueS13YXJuaW5nJztcblxuLyoqXG4gKiBXZWxjb21lIHRvIEByZWFjaC9wb3J0YWwhXG4gKlxuICogQ3JlYXRlcyBhbmQgYXBwZW5kcyBhIERPTSBub2RlIHRvIHRoZSBlbmQgb2YgYGRvY3VtZW50LmJvZHlgIGFuZCByZW5kZXJzIGFcbiAqIFJlYWN0IHRyZWUgaW50byBpdC4gVXNlZnVsIGZvciByZW5kZXJpbmcgYSBuYXR1cmFsIFJlYWN0IGVsZW1lbnQgaGllcmFyY2h5XG4gKiB3aXRoIGEgZGlmZmVyZW50IERPTSBoaWVyYXJjaHkgdG8gcHJldmVudCBwYXJlbnQgc3R5bGVzIGZyb20gY2xpcHBpbmcgb3JcbiAqIGhpZGluZyBjb250ZW50IChmb3IgcG9wb3ZlcnMsIGRyb3Bkb3ducywgYW5kIG1vZGFscykuXG4gKlxuICogQHNlZSBEb2NzICAgaHR0cHM6Ly9yZWFjaC50ZWNoL3BvcnRhbFxuICogQHNlZSBTb3VyY2UgaHR0cHM6Ly9naXRodWIuY29tL3JlYWNoL3JlYWNoLXVpL3RyZWUvbWFpbi9wYWNrYWdlcy9wb3J0YWxcbiAqIEBzZWUgUmVhY3QgIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9wb3J0YWxzLmh0bWxcbiAqL1xuLyoqXG4gKiBQb3J0YWxcbiAqXG4gKiBAc2VlIERvY3MgaHR0cHM6Ly9yZWFjaC50ZWNoL3BvcnRhbCNwb3J0YWxcbiAqL1xuXG52YXIgUG9ydGFsID0gZnVuY3Rpb24gUG9ydGFsKF9yZWYpIHtcbiAgdmFyIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbixcbiAgICAgIF9yZWYkdHlwZSA9IF9yZWYudHlwZSxcbiAgICAgIHR5cGUgPSBfcmVmJHR5cGUgPT09IHZvaWQgMCA/IFwicmVhY2gtcG9ydGFsXCIgOiBfcmVmJHR5cGUsXG4gICAgICBjb250YWluZXJSZWYgPSBfcmVmLmNvbnRhaW5lclJlZjtcbiAgdmFyIG1vdW50Tm9kZSA9IHVzZVJlZihudWxsKTtcbiAgdmFyIHBvcnRhbE5vZGUgPSB1c2VSZWYobnVsbCk7XG4gIHZhciBmb3JjZVVwZGF0ZSA9IHVzZUZvcmNlVXBkYXRlKCk7XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuICAgIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAoY29udGFpbmVyUmVmICE9IG51bGwpIHtcbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gd2FybmluZyh0eXBlb2YgY29udGFpbmVyUmVmID09PSBcIm9iamVjdFwiICYmIFwiY3VycmVudFwiIGluIGNvbnRhaW5lclJlZiwgXCJAcmVhY2gvcG9ydGFsOiBJbnZhbGlkIHZhbHVlIHBhc3NlZCB0byB0aGUgYGNvbnRhaW5lclJlZmAgb2YgYSBcIiArIFwiYFBvcnRhbGAuIFRoZSBwb3J0YWwgd2lsbCBiZSBhcHBlbmRlZCB0byB0aGUgZG9jdW1lbnQgYm9keSwgYnV0IGlmIFwiICsgXCJ5b3Ugd2FudCB0byBhdHRhY2ggaXQgdG8gYW5vdGhlciBET00gbm9kZSB5b3UgbXVzdCBwYXNzIGEgdmFsaWQgXCIgKyBcIlJlYWN0IHJlZiBvYmplY3QgdG8gYGNvbnRhaW5lclJlZmAuXCIpIDogdm9pZCAwO1xuICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyB3YXJuaW5nKGNvbnRhaW5lclJlZiA/IGNvbnRhaW5lclJlZi5jdXJyZW50ICE9IG51bGwgOiB0cnVlLCBcIkByZWFjaC9wb3J0YWw6IEEgcmVmIHdhcyBwYXNzZWQgdG8gdGhlIGBjb250YWluZXJSZWZgIHByb3Agb2YgYSBcIiArIFwiYFBvcnRhbGAsIGJ1dCBubyBET00gbm9kZSB3YXMgYXR0YWNoZWQgdG8gaXQuIEJlIHN1cmUgdG8gcGFzcyB0aGUgXCIgKyBcInJlZiB0byBhIERPTSBjb21wb25lbnQuXFxuXFxuSWYgeW91IGFyZSBmb3J3YXJkaW5nIHRoZSByZWYgZnJvbSBcIiArIFwiYW5vdGhlciBjb21wb25lbnQsIGJlIHN1cmUgdG8gdXNlIHRoZSBSZWFjdC5mb3J3YXJkUmVmIEFQSS4gXCIgKyBcIlNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvZm9yd2FyZGluZy1yZWZzLmh0bWwuXCIpIDogdm9pZCAwO1xuICAgICAgfVxuICAgIH0sIFtjb250YWluZXJSZWZdKTtcbiAgfVxuXG4gIHVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIC8vIFRoaXMgcmVmIG1heSBiZSBudWxsIHdoZW4gYSBob3QtbG9hZGVyIHJlcGxhY2VzIGNvbXBvbmVudHMgb24gdGhlIHBhZ2VcbiAgICBpZiAoIW1vdW50Tm9kZS5jdXJyZW50KSByZXR1cm47IC8vIEl0J3MgcG9zc2libGUgdGhhdCB0aGUgY29udGVudCBvZiB0aGUgcG9ydGFsIGhhcywgaXRzZWxmLCBiZWVuIHBvcnRhbGVkLlxuICAgIC8vIEluIHRoYXQgY2FzZSwgaXQncyBpbXBvcnRhbnQgdG8gYXBwZW5kIHRvIHRoZSBjb3JyZWN0IGRvY3VtZW50IGVsZW1lbnQuXG5cbiAgICB2YXIgb3duZXJEb2N1bWVudCA9IG1vdW50Tm9kZS5jdXJyZW50Lm93bmVyRG9jdW1lbnQ7XG4gICAgdmFyIGJvZHkgPSAoY29udGFpbmVyUmVmID09IG51bGwgPyB2b2lkIDAgOiBjb250YWluZXJSZWYuY3VycmVudCkgfHwgb3duZXJEb2N1bWVudC5ib2R5O1xuICAgIHBvcnRhbE5vZGUuY3VycmVudCA9IG93bmVyRG9jdW1lbnQgPT0gbnVsbCA/IHZvaWQgMCA6IG93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0eXBlKTtcbiAgICBib2R5LmFwcGVuZENoaWxkKHBvcnRhbE5vZGUuY3VycmVudCk7XG4gICAgZm9yY2VVcGRhdGUoKTtcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKHBvcnRhbE5vZGUuY3VycmVudCAmJiBib2R5KSB7XG4gICAgICAgIGJvZHkucmVtb3ZlQ2hpbGQocG9ydGFsTm9kZS5jdXJyZW50KTtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbdHlwZSwgZm9yY2VVcGRhdGUsIGNvbnRhaW5lclJlZl0pO1xuICByZXR1cm4gcG9ydGFsTm9kZS5jdXJyZW50ID8gLyojX19QVVJFX18qL2NyZWF0ZVBvcnRhbChjaGlsZHJlbiwgcG9ydGFsTm9kZS5jdXJyZW50KSA6IC8qI19fUFVSRV9fKi9jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7XG4gICAgcmVmOiBtb3VudE5vZGVcbiAgfSk7XG59O1xuLyoqXG4gKiBAc2VlIERvY3MgaHR0cHM6Ly9yZWFjaC50ZWNoL3BvcnRhbCNwb3J0YWwtcHJvcHNcbiAqL1xuXG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgUG9ydGFsLmRpc3BsYXlOYW1lID0gXCJQb3J0YWxcIjtcbn0gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuZXhwb3J0IGRlZmF1bHQgUG9ydGFsO1xuZXhwb3J0IHsgUG9ydGFsIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///741\n')},756:function(module,exports,__webpack_require__){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(763), __webpack_require__(556), __webpack_require__(193)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _react, _propTypes, _LegacyFooterUI) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports["default"] = void 0;\n _react = _interopRequireDefault(_react);\n _propTypes = _interopRequireDefault(_propTypes);\n _LegacyFooterUI = _interopRequireDefault(_LegacyFooterUI);\n function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }\n function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }\n function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\n function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\n function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\n function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }\n function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }\n var FooterUI = function FooterUI(props) {\n var isNewFooter = props.isNewFooter;\n var isIESupportPage = props.isIESupportPage;\n var signUpNowLink = props.showHcdResearch ? "/about/hcd-research" : "mailto:madie@cms.hhs.gov?subject=Sign up for feedback sessions";\n\n // Default footer assets\n var assets = _objectSpread(_objectSpread({}, {\n hhsLogo: /*#__PURE__*/_react["default"].createElement("img", {\n className: "hhs-logo",\n alt: "Department of Health & Human Services USA",\n src: "/images/hhs-logo-black.svg"\n }),\n madieLogo: /*#__PURE__*/_react["default"].createElement("img", {\n className: "qpp-logo",\n src: "/images/qpp_logo_rgb_color.png",\n alt: "MADiE Measure Authoring Development Integrated Environment logo"\n })\n }), props.assets);\n var setLink = function setLink(link) {\n return isIESupportPage ? "/" : link;\n };\n if (isNewFooter) {\n return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, !isIESupportPage && /*#__PURE__*/_react["default"].createElement("div", {\n className: "feedback-session-sign-up"\n }), /*#__PURE__*/_react["default"].createElement("footer", {\n "aria-label": "Site footer",\n className: "global-footer"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: "build-version",\n id: "build-version"\n }, props.buildVersion), /*#__PURE__*/_react["default"].createElement("div", {\n className: "responsive-container"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: "other-links"\n }, /*#__PURE__*/_react["default"].createElement("hr", {\n className: "divider-top"\n }), /*#__PURE__*/_react["default"].createElement("ul", {\n className: "small"\n }, /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {\n href: setLink("https://harp.cms.gov/login/terms-of-use"),\n "aria-label": "Terms of Use",\n "data-track-category": "FooterNav",\n "data-track-action": "OpenTermsOfService",\n "data-track-label": "Terms of Use"\n }, "Terms of Use")), /*#__PURE__*/_react["default"].createElement("li", {\n className: "divider"\n }), " ", /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {\n href: setLink("https://www.cms.gov/privacy"),\n "aria-label": "Privacy Policy",\n "data-track-category": "FooterNav",\n "data-track-action": "OpenPrivacyPolicy",\n "data-track-label": "Privacy Policy"\n }, "Privacy Policy")), /*#__PURE__*/_react["default"].createElement("li", {\n className: "divider"\n }), " ", /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("a", {\n href: setLink("https://www.hhs.gov/web/governance/digital-strategy/it-policy-archive/hhs-rules-of-behavior-for-the-use-of-hhs-information-and-it-resources-policy.html"),\n "aria-label": "Rules of Behavior",\n "data-track-category": "FooterNav",\n "data-track-action": "OpenRulesofBehavior",\n "data-track-label": "Rules of Behavior"\n }, "Rules of Behavior"))), /*#__PURE__*/_react["default"].createElement("hr", {\n className: "divider-bottom"\n })), /*#__PURE__*/_react["default"].createElement("div", {\n className: "qpp-hhs-logo-container"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: "qpp-logo-container"\n }, assets.qppLogo), /*#__PURE__*/_react["default"].createElement("div", {\n className: "hhs-logo-container"\n }, assets.hhsLogo, /*#__PURE__*/_react["default"].createElement("p", null, "A federal government website managed and paid for by the U.S Centers for Medicare & Medicaid Services. 7500 Security Boulevard, Baltimore MD 21244"))))));\n }\n return /*#__PURE__*/_react["default"].createElement(_LegacyFooterUI["default"], {\n buildVersion: props.buildVersion,\n isFullWidth: props.isFullWidth,\n signUpNowLink: signUpNowLink\n });\n };\n FooterUI.propTypes = {\n buildVersion: _propTypes["default"].string,\n isFullWidth: _propTypes["default"].bool,\n isNewFooter: _propTypes["default"].bool,\n isIESupportPage: _propTypes["default"].bool,\n showHcdResearch: _propTypes["default"].bool,\n assets: _propTypes["default"].shape({\n cmsLogo: _propTypes["default"].element,\n madieLogo: _propTypes["default"].element\n })\n };\n var _default = _exports["default"] = FooterUI;\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNzU2LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUtBLElBQU1BLFFBQVEsR0FBRyxTQUFYQSxRQUFRQSxDQUFJQyxLQUFLLEVBQUs7SUFDeEIsSUFBTUMsV0FBVyxHQUFHRCxLQUFLLENBQUNDLFdBQVc7SUFDckMsSUFBTUMsZUFBZSxHQUFHRixLQUFLLENBQUNFLGVBQWU7SUFDN0MsSUFBTUMsYUFBYSxHQUFHSCxLQUFLLENBQUNJLGVBQWUsR0FDckMscUJBQXFCLEdBQ3JCLGdFQUFnRTs7SUFFdEU7SUFDQSxJQUFNQyxNQUFNLEdBQUFDLGFBQUEsQ0FBQUEsYUFBQSxLQUNMO01BQ0NDLE9BQU8sZUFDSEMsTUFBQSxZQUFBQyxhQUFBO1FBQ0lDLFNBQVMsRUFBQyxVQUFVO1FBQ3BCQyxHQUFHLEVBQUMsMkNBQStDO1FBQ25EQyxHQUFHLEVBQUM7TUFBNEIsQ0FDbkMsQ0FDSjtNQUNEQyxTQUFTLGVBQ0xMLE1BQUEsWUFBQUMsYUFBQTtRQUNJQyxTQUFTLEVBQUMsVUFBVTtRQUNwQkUsR0FBRyxFQUFDLGdDQUFnQztRQUNwQ0QsR0FBRyxFQUFDO01BQWlFLENBQ3hFO0lBRVQsQ0FBQyxHQUNFWCxLQUFLLENBQUNLLE1BQU0sQ0FDbEI7SUFFRCxJQUFNUyxPQUFPLEdBQUcsU0FBVkEsT0FBT0EsQ0FBSUMsSUFBSSxFQUFLO01BQ3RCLE9BQU9iLGVBQWUsR0FBRyxHQUFHLEdBQUdhLElBQUk7SUFDdkMsQ0FBQztJQUVELElBQUlkLFdBQVcsRUFBRTtNQUNiLG9CQUNJTyxNQUFBLFlBQUFDLGFBQUEsQ0FBQUQsTUFBQSxZQUFBUSxRQUFBLFFBQ0ssQ0FBQ2QsZUFBZSxpQkFDYk0sTUFBQSxZQUFBQyxhQUFBO1FBQUtDLFNBQVMsRUFBQztNQUEwQixDQUFFLENBQzlDLGVBQ0RGLE1BQUEsWUFBQUMsYUFBQTtRQUFRLGNBQVcsYUFBYTtRQUFDQyxTQUFTLEVBQUM7TUFBZSxnQkFDdERGLE1BQUEsWUFBQUMsYUFBQTtRQUFLQyxTQUFTLEVBQUMsZUFBZTtRQUFDTyxFQUFFLEVBQUM7TUFBZSxHQUM1Q2pCLEtBQUssQ0FBQ2tCLFlBQ04sQ0FBQyxlQUVOVixNQUFBLFlBQUFDLGFBQUE7UUFBS0MsU0FBUyxFQUFDO01BQXNCLGdCQUNqQ0YsTUFBQSxZQUFBQyxhQUFBO1FBQUtDLFNBQVMsRUFBQztNQUFhLGdCQUN4QkYsTUFBQSxZQUFBQyxhQUFBO1FBQUlDLFNBQVMsRUFBQztNQUFhLENBQUUsQ0FBQyxlQUM5QkYsTUFBQSxZQUFBQyxhQUFBO1FBQUlDLFNBQVMsRUFBQztNQUFPLGdCQUNqQkYsTUFBQSxZQUFBQyxhQUFBLDBCQUNJRCxNQUFBLFlBQUFDLGFBQUE7UUFDSVUsSUFBSSxFQUFFTCxPQUFPLENBQ1QseUNBQ0osQ0FBRTtRQUNGLGNBQVcsY0FBYztRQUN6Qix1QkFBb0IsV0FBVztRQUMvQixxQkFBa0Isb0JBQW9CO1FBQ3RDLG9CQUFpQjtNQUFjLEdBQ2xDLGNBRUUsQ0FDSCxDQUFDLGVBQ0xOLE1BQUEsWUFBQUMsYUFBQTtRQUFJQyxTQUFTLEVBQUM7TUFBUyxDQUFLLENBQUMsRUFBQyxHQUFHLGVBQ2pDRixNQUFBLFlBQUFDLGFBQUEsMEJBQ0lELE1BQUEsWUFBQUMsYUFBQTtRQUNJVSxJQUFJLEVBQUVMLE9BQU8sQ0FDVCw2QkFDSixDQUFFO1FBQ0YsY0FBVyxnQkFBZ0I7UUFDM0IsdUJBQW9CLFdBQVc7UUFDL0IscUJBQWtCLG1CQUFtQjtRQUNyQyxvQkFBaUI7TUFBZ0IsR0FDcEMsZ0JBRUUsQ0FDSCxDQUFDLGVBQ0xOLE1BQUEsWUFBQUMsYUFBQTtRQUFJQyxTQUFTLEVBQUM7TUFBUyxDQUFLLENBQUMsRUFBQyxHQUFHLGVBQ2pDRixNQUFBLFlBQUFDLGFBQUEsMEJBQ0lELE1BQUEsWUFBQUMsYUFBQTtRQUNJVSxJQUFJLEVBQUVMLE9BQU8sQ0FDVCx5SkFDSixDQUFFO1FBQ0YsY0FBVyxtQkFBbUI7UUFDOUIsdUJBQW9CLFdBQVc7UUFDL0IscUJBQWtCLHFCQUFxQjtRQUN2QyxvQkFBaUI7TUFBbUIsR0FDdkMsbUJBRUUsQ0FDSCxDQUNKLENBQUMsZUFDTE4sTUFBQSxZQUFBQyxhQUFBO1FBQUlDLFNBQVMsRUFBQztNQUFnQixDQUFFLENBQy9CLENBQUMsZUFDTkYsTUFBQSxZQUFBQyxhQUFBO1FBQUtDLFNBQVMsRUFBQztNQUF3QixnQkFDbkNGLE1BQUEsWUFBQUMsYUFBQTtRQUFLQyxTQUFTLEVBQUM7TUFBb0IsR0FDOUJMLE1BQU0sQ0FBQ2UsT0FDUCxDQUFDLGVBQ05aLE1BQUEsWUFBQUMsYUFBQTtRQUFLQyxTQUFTLEVBQUM7TUFBb0IsR0FDOUJMLE1BQU0sQ0FBQ0UsT0FBTyxlQUNmQyxNQUFBLFlBQUFDLGFBQUEsWUFBRyxvSkFLQSxDQUNGLENBQ0osQ0FDSixDQUNELENBQ1YsQ0FBQztJQUVYO0lBQ0Esb0JBQ0lELE1BQUEsWUFBQUMsYUFBQSxDQUFDWSxlQUFBLFdBQWM7TUFDWEgsWUFBWSxFQUFFbEIsS0FBSyxDQUFDa0IsWUFBYTtNQUNqQ0ksV0FBVyxFQUFFdEIsS0FBSyxDQUFDc0IsV0FBWTtNQUMvQm5CLGFBQWEsRUFBRUE7SUFBYyxDQUNoQyxDQUFDO0VBRVYsQ0FBQztFQUVESixRQUFRLENBQUN3QixTQUFTLEdBQUc7SUFDakJMLFlBQVksRUFBRU0scUJBQVMsQ0FBQ0MsTUFBTTtJQUM5QkgsV0FBVyxFQUFFRSxxQkFBUyxDQUFDRSxJQUFJO0lBQzNCekIsV0FBVyxFQUFFdUIscUJBQVMsQ0FBQ0UsSUFBSTtJQUMzQnhCLGVBQWUsRUFBRXNCLHFCQUFTLENBQUNFLElBQUk7SUFDL0J0QixlQUFlLEVBQUVvQixxQkFBUyxDQUFDRSxJQUFJO0lBQy9CckIsTUFBTSxFQUFFbUIscUJBQVMsQ0FBQ0csS0FBSyxDQUFDO01BQ3BCQyxPQUFPLEVBQUVKLHFCQUFTLENBQUNLLE9BQU87TUFDMUJoQixTQUFTLEVBQUVXLHFCQUFTLENBQUNLO0lBQ3pCLENBQUM7RUFDTCxDQUFDO0VBQUMsSUFBQUMsUUFBQSxHQUFBQyxRQUFBLGNBRWFoQyxRQUFRO0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL2NvbXBvbmVudHMvRm9vdGVyL0Zvb3RlclVJLmpzeD9jZDhiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIjtcblxuaW1wb3J0IExlZ2FjeUZvb3RlclVJIGZyb20gXCIuL0xlZ2FjeUZvb3RlclVJXCI7XG5cbmNvbnN0IEZvb3RlclVJID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3QgaXNOZXdGb290ZXIgPSBwcm9wcy5pc05ld0Zvb3RlcjtcbiAgICBjb25zdCBpc0lFU3VwcG9ydFBhZ2UgPSBwcm9wcy5pc0lFU3VwcG9ydFBhZ2U7XG4gICAgY29uc3Qgc2lnblVwTm93TGluayA9IHByb3BzLnNob3dIY2RSZXNlYXJjaFxuICAgICAgICA/IFwiL2Fib3V0L2hjZC1yZXNlYXJjaFwiXG4gICAgICAgIDogXCJtYWlsdG86bWFkaWVAY21zLmhocy5nb3Y/c3ViamVjdD1TaWduIHVwIGZvciBmZWVkYmFjayBzZXNzaW9uc1wiO1xuXG4gICAgLy8gRGVmYXVsdCBmb290ZXIgYXNzZXRzXG4gICAgY29uc3QgYXNzZXRzID0ge1xuICAgICAgICAuLi57XG4gICAgICAgICAgICBoaHNMb2dvOiAoXG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJoaHMtbG9nb1wiXG4gICAgICAgICAgICAgICAgICAgIGFsdD1cIkRlcGFydG1lbnQgb2YgSGVhbHRoICZhbXA7IEh1bWFuIFNlcnZpY2VzIFVTQVwiXG4gICAgICAgICAgICAgICAgICAgIHNyYz1cIi9pbWFnZXMvaGhzLWxvZ28tYmxhY2suc3ZnXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIG1hZGllTG9nbzogKFxuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicXBwLWxvZ29cIlxuICAgICAgICAgICAgICAgICAgICBzcmM9XCIvaW1hZ2VzL3FwcF9sb2dvX3JnYl9jb2xvci5wbmdcIlxuICAgICAgICAgICAgICAgICAgICBhbHQ9XCJNQURpRSBNZWFzdXJlIEF1dGhvcmluZyBEZXZlbG9wbWVudCBJbnRlZ3JhdGVkIEVudmlyb25tZW50IGxvZ29cIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgICAuLi5wcm9wcy5hc3NldHMsXG4gICAgfTtcblxuICAgIGNvbnN0IHNldExpbmsgPSAobGluaykgPT4ge1xuICAgICAgICByZXR1cm4gaXNJRVN1cHBvcnRQYWdlID8gXCIvXCIgOiBsaW5rO1xuICAgIH07XG5cbiAgICBpZiAoaXNOZXdGb290ZXIpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgeyFpc0lFU3VwcG9ydFBhZ2UgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZlZWRiYWNrLXNlc3Npb24tc2lnbi11cFwiIC8+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8Zm9vdGVyIGFyaWEtbGFiZWw9XCJTaXRlIGZvb3RlclwiIGNsYXNzTmFtZT1cImdsb2JhbC1mb290ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJidWlsZC12ZXJzaW9uXCIgaWQ9XCJidWlsZC12ZXJzaW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7cHJvcHMuYnVpbGRWZXJzaW9ufVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlc3BvbnNpdmUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm90aGVyLWxpbmtzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzTmFtZT1cImRpdmlkZXItdG9wXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwic21hbGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPXtzZXRMaW5rKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImh0dHBzOi8vaGFycC5jbXMuZ292L2xvZ2luL3Rlcm1zLW9mLXVzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiVGVybXMgb2YgVXNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWNhdGVnb3J5PVwiRm9vdGVyTmF2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWFjdGlvbj1cIk9wZW5UZXJtc09mU2VydmljZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1sYWJlbD1cIlRlcm1zIG9mIFVzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgVXNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJkaXZpZGVyXCI+PC9saT57XCIgXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj17c2V0TGluayhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJodHRwczovL3d3dy5jbXMuZ292L3ByaXZhY3lcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlByaXZhY3kgUG9saWN5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWNhdGVnb3J5PVwiRm9vdGVyTmF2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWFjdGlvbj1cIk9wZW5Qcml2YWN5UG9saWN5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWxhYmVsPVwiUHJpdmFjeSBQb2xpY3lcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByaXZhY3kgUG9saWN5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJkaXZpZGVyXCI+PC9saT57XCIgXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj17c2V0TGluayhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJodHRwczovL3d3dy5oaHMuZ292L3dlYi9nb3Zlcm5hbmNlL2RpZ2l0YWwtc3RyYXRlZ3kvaXQtcG9saWN5LWFyY2hpdmUvaGhzLXJ1bGVzLW9mLWJlaGF2aW9yLWZvci10aGUtdXNlLW9mLWhocy1pbmZvcm1hdGlvbi1hbmQtaXQtcmVzb3VyY2VzLXBvbGljeS5odG1sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJSdWxlcyBvZiBCZWhhdmlvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1jYXRlZ29yeT1cIkZvb3Rlck5hdlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1hY3Rpb249XCJPcGVuUnVsZXNvZkJlaGF2aW9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWxhYmVsPVwiUnVsZXMgb2YgQmVoYXZpb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJ1bGVzIG9mIEJlaGF2aW9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aHIgY2xhc3NOYW1lPVwiZGl2aWRlci1ib3R0b21cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInFwcC1oaHMtbG9nby1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInFwcC1sb2dvLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7YXNzZXRzLnFwcExvZ299XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJoaHMtbG9nby1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Fzc2V0cy5oaHNMb2dvfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEgZmVkZXJhbCBnb3Zlcm5tZW50IHdlYnNpdGUgbWFuYWdlZCBhbmRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhaWQgZm9yIGJ5IHRoZSBVLlMgQ2VudGVycyBmb3IgTWVkaWNhcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZhbXA7IE1lZGljYWlkIFNlcnZpY2VzLiA3NTAwIFNlY3VyaXR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCb3VsZXZhcmQsIEJhbHRpbW9yZSBNRCAyMTI0NFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9mb290ZXI+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIChcbiAgICAgICAgPExlZ2FjeUZvb3RlclVJXG4gICAgICAgICAgICBidWlsZFZlcnNpb249e3Byb3BzLmJ1aWxkVmVyc2lvbn1cbiAgICAgICAgICAgIGlzRnVsbFdpZHRoPXtwcm9wcy5pc0Z1bGxXaWR0aH1cbiAgICAgICAgICAgIHNpZ25VcE5vd0xpbms9e3NpZ25VcE5vd0xpbmt9XG4gICAgICAgIC8+XG4gICAgKTtcbn07XG5cbkZvb3RlclVJLnByb3BUeXBlcyA9IHtcbiAgICBidWlsZFZlcnNpb246IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaXNGdWxsV2lkdGg6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzTmV3Rm9vdGVyOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc0lFU3VwcG9ydFBhZ2U6IFByb3BUeXBlcy5ib29sLFxuICAgIHNob3dIY2RSZXNlYXJjaDogUHJvcFR5cGVzLmJvb2wsXG4gICAgYXNzZXRzOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICBjbXNMb2dvOiBQcm9wVHlwZXMuZWxlbWVudCxcbiAgICAgICAgbWFkaWVMb2dvOiBQcm9wVHlwZXMuZWxlbWVudCxcbiAgICB9KSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZvb3RlclVJO1xuIl0sIm5hbWVzIjpbIkZvb3RlclVJIiwicHJvcHMiLCJpc05ld0Zvb3RlciIsImlzSUVTdXBwb3J0UGFnZSIsInNpZ25VcE5vd0xpbmsiLCJzaG93SGNkUmVzZWFyY2giLCJhc3NldHMiLCJfb2JqZWN0U3ByZWFkIiwiaGhzTG9nbyIsIl9yZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJhbHQiLCJzcmMiLCJtYWRpZUxvZ28iLCJzZXRMaW5rIiwibGluayIsIkZyYWdtZW50IiwiaWQiLCJidWlsZFZlcnNpb24iLCJocmVmIiwicXBwTG9nbyIsIl9MZWdhY3lGb290ZXJVSSIsImlzRnVsbFdpZHRoIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwiYm9vbCIsInNoYXBlIiwiY21zTG9nbyIsImVsZW1lbnQiLCJfZGVmYXVsdCIsIl9leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///756\n')},763:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n Children: () => (/* binding */ compat_module_O),\n Component: () => (/* reexport */ x),\n Fragment: () => (/* reexport */ k),\n PureComponent: () => (/* binding */ compat_module_N),\n StrictMode: () => (/* binding */ Cn),\n Suspense: () => (/* binding */ compat_module_P),\n SuspenseList: () => (/* binding */ compat_module_B),\n __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: () => (/* binding */ hn),\n cloneElement: () => (/* binding */ _n),\n createContext: () => (/* reexport */ K),\n createElement: () => (/* reexport */ _),\n createFactory: () => (/* binding */ dn),\n createPortal: () => (/* binding */ compat_module_$),\n createRef: () => (/* reexport */ b),\n "default": () => (/* binding */ Rn),\n findDOMNode: () => (/* binding */ Sn),\n flushSync: () => (/* binding */ En),\n forwardRef: () => (/* binding */ compat_module_D),\n hydrate: () => (/* binding */ tn),\n isElement: () => (/* binding */ xn),\n isFragment: () => (/* binding */ mn),\n isMemo: () => (/* binding */ yn),\n isValidElement: () => (/* binding */ pn),\n lazy: () => (/* binding */ compat_module_z),\n memo: () => (/* binding */ compat_module_M),\n render: () => (/* binding */ nn),\n startTransition: () => (/* binding */ R),\n unmountComponentAtNode: () => (/* binding */ bn),\n unstable_batchedUpdates: () => (/* binding */ gn),\n useCallback: () => (/* reexport */ hooks_module_q),\n useContext: () => (/* reexport */ hooks_module_x),\n useDebugValue: () => (/* reexport */ hooks_module_P),\n useDeferredValue: () => (/* binding */ compat_module_w),\n useEffect: () => (/* reexport */ hooks_module_y),\n useErrorBoundary: () => (/* reexport */ hooks_module_b),\n useId: () => (/* reexport */ hooks_module_g),\n useImperativeHandle: () => (/* reexport */ hooks_module_F),\n useInsertionEffect: () => (/* binding */ compat_module_I),\n useLayoutEffect: () => (/* reexport */ hooks_module_),\n useMemo: () => (/* reexport */ hooks_module_T),\n useReducer: () => (/* reexport */ hooks_module_h),\n useRef: () => (/* reexport */ hooks_module_A),\n useState: () => (/* reexport */ hooks_module_d),\n useSyncExternalStore: () => (/* binding */ compat_module_C),\n useTransition: () => (/* binding */ compat_module_k),\n version: () => (/* binding */ vn)\n});\n\n;// ./node_modules/preact/dist/preact.module.js\nvar n,l,t,u,i,r,o,e,f,c,s,a,h,p={},v=[],y=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,d=Array.isArray;function w(n,l){for(var t in l)n[t]=l[t];return n}function g(n){n&&n.parentNode&&n.parentNode.removeChild(n)}function _(l,t,u){var i,r,o,e={};for(o in t)"key"==o?i=t[o]:"ref"==o?r=t[o]:e[o]=t[o];if(arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):u),"function"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps)void 0===e[o]&&(e[o]=l.defaultProps[o]);return m(l,e,i,r,null)}function m(n,u,i,r,o){var e={type:n,props:u,key:i,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==o?++t:o,__i:-1,__u:0};return null==o&&null!=l.vnode&&l.vnode(e),e}function b(){return{current:null}}function k(n){return n.children}function x(n,l){this.props=n,this.context=l}function S(n,l){if(null==l)return n.__?S(n.__,n.__i+1):null;for(var t;l<n.__k.length;l++)if(null!=(t=n.__k[l])&&null!=t.__e)return t.__e;return"function"==typeof n.type?S(n):null}function C(n){var l,t;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(t=n.__k[l])&&null!=t.__e){n.__e=n.__c.base=t.__e;break}return C(n)}}function M(n){(!n.__d&&(n.__d=!0)&&i.push(n)&&!$.__r++||r!==l.debounceRendering)&&((r=l.debounceRendering)||o)($)}function $(){for(var n,t,u,r,o,f,c,s=1;i.length;)i.length>s&&i.sort(e),n=i.shift(),s=i.length,n.__d&&(u=void 0,o=(r=(t=n).__v).__e,f=[],c=[],t.__P&&((u=w({},r)).__v=r.__v+1,l.vnode&&l.vnode(u),O(t.__P,u,r,t.__n,t.__P.namespaceURI,32&r.__u?[o]:null,f,null==o?S(r):o,!!(32&r.__u),c),u.__v=r.__v,u.__.__k[u.__i]=u,z(f,u,c),u.__e!=o&&C(u)));$.__r=0}function I(n,l,t,u,i,r,o,e,f,c,s){var a,h,y,d,w,g,_=u&&u.__k||v,m=l.length;for(f=P(t,l,_,f,m),a=0;a<m;a++)null!=(y=t.__k[a])&&(h=-1===y.__i?p:_[y.__i]||p,y.__i=a,g=O(n,y,h,i,r,o,e,f,c,s),d=y.__e,y.ref&&h.ref!=y.ref&&(h.ref&&q(h.ref,null,y),s.push(y.ref,y.__c||d,y)),null==w&&null!=d&&(w=d),4&y.__u||h.__k===y.__k?f=A(y,f,n):"function"==typeof y.type&&void 0!==g?f=g:d&&(f=d.nextSibling),y.__u&=-7);return t.__e=w,f}function P(n,l,t,u,i){var r,o,e,f,c,s=t.length,a=s,h=0;for(n.__k=new Array(i),r=0;r<i;r++)null!=(o=l[r])&&"boolean"!=typeof o&&"function"!=typeof o?(f=r+h,(o=n.__k[r]="string"==typeof o||"number"==typeof o||"bigint"==typeof o||o.constructor==String?m(null,o,null,null,null):d(o)?m(k,{children:o},null,null,null):void 0===o.constructor&&o.__b>0?m(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):o).__=n,o.__b=n.__b+1,e=null,-1!==(c=o.__i=L(o,t,f,a))&&(a--,(e=t[c])&&(e.__u|=2)),null==e||null===e.__v?(-1==c&&(i>s?h--:i<s&&h++),"function"!=typeof o.type&&(o.__u|=4)):c!=f&&(c==f-1?h--:c==f+1?h++:(c>f?h--:h++,o.__u|=4))):n.__k[r]=null;if(a)for(r=0;r<s;r++)null!=(e=t[r])&&0==(2&e.__u)&&(e.__e==u&&(u=S(e)),B(e,e));return u}function A(n,l,t){var u,i;if("function"==typeof n.type){for(u=n.__k,i=0;u&&i<u.length;i++)u[i]&&(u[i].__=n,l=A(u[i],l,t));return l}n.__e!=l&&(l&&n.type&&!t.contains(l)&&(l=S(n)),t.insertBefore(n.__e,l||null),l=n.__e);do{l=l&&l.nextSibling}while(null!=l&&8==l.nodeType);return l}function H(n,l){return l=l||[],null==n||"boolean"==typeof n||(d(n)?n.some(function(n){H(n,l)}):l.push(n)),l}function L(n,l,t,u){var i,r,o=n.key,e=n.type,f=l[t];if(null===f&&null==n.key||f&&o==f.key&&e===f.type&&0==(2&f.__u))return t;if(u>(null!=f&&0==(2&f.__u)?1:0))for(i=t-1,r=t+1;i>=0||r<l.length;){if(i>=0){if((f=l[i])&&0==(2&f.__u)&&o==f.key&&e===f.type)return i;i--}if(r<l.length){if((f=l[r])&&0==(2&f.__u)&&o==f.key&&e===f.type)return r;r++}}return-1}function T(n,l,t){"-"==l[0]?n.setProperty(l,null==t?"":t):n[l]=null==t?"":"number"!=typeof t||y.test(l)?t:t+"px"}function j(n,l,t,u,i){var r;n:if("style"==l)if("string"==typeof t)n.style.cssText=t;else{if("string"==typeof u&&(n.style.cssText=u=""),u)for(l in u)t&&l in t||T(n.style,l,"");if(t)for(l in t)u&&t[l]===u[l]||T(n.style,l,t[l])}else if("o"==l[0]&&"n"==l[1])r=l!=(l=l.replace(f,"$1")),l=l.toLowerCase()in n||"onFocusOut"==l||"onFocusIn"==l?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+r]=t,t?u?t.t=u.t:(t.t=c,n.addEventListener(l,r?a:s,r)):n.removeEventListener(l,r?a:s,r);else{if("http://www.w3.org/2000/svg"==i)l=l.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!=l&&"height"!=l&&"href"!=l&&"list"!=l&&"form"!=l&&"tabIndex"!=l&&"download"!=l&&"rowSpan"!=l&&"colSpan"!=l&&"role"!=l&&"popover"!=l&&l in n)try{n[l]=null==t?"":t;break n}catch(n){}"function"==typeof t||(null==t||!1===t&&"-"!=l[4]?n.removeAttribute(l):n.setAttribute(l,"popover"==l&&1==t?"":t))}}function F(n){return function(t){if(this.l){var u=this.l[t.type+n];if(null==t.u)t.u=c++;else if(t.u<u.t)return;return u(l.event?l.event(t):t)}}}function O(n,t,u,i,r,o,e,f,c,s){var a,h,p,v,y,_,m,b,S,C,M,$,P,A,H,L,T,j=t.type;if(void 0!==t.constructor)return null;128&u.__u&&(c=!!(32&u.__u),o=[f=t.__e=u.__e]),(a=l.__b)&&a(t);n:if("function"==typeof j)try{if(b=t.props,S="prototype"in j&&j.prototype.render,C=(a=j.contextType)&&i[a.__c],M=a?C?C.props.value:a.__:i,u.__c?m=(h=t.__c=u.__c).__=h.__E:(S?t.__c=h=new j(b,M):(t.__c=h=new x(b,M),h.constructor=j,h.render=D),C&&C.sub(h),h.props=b,h.state||(h.state={}),h.context=M,h.__n=i,p=h.__d=!0,h.__h=[],h._sb=[]),S&&null==h.__s&&(h.__s=h.state),S&&null!=j.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=w({},h.__s)),w(h.__s,j.getDerivedStateFromProps(b,h.__s))),v=h.props,y=h.state,h.__v=t,p)S&&null==j.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),S&&null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(S&&null==j.getDerivedStateFromProps&&b!==v&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(b,M),!h.__e&&(null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(b,h.__s,M)||t.__v==u.__v)){for(t.__v!=u.__v&&(h.props=b,h.state=h.__s,h.__d=!1),t.__e=u.__e,t.__k=u.__k,t.__k.some(function(n){n&&(n.__=t)}),$=0;$<h._sb.length;$++)h.__h.push(h._sb[$]);h._sb=[],h.__h.length&&e.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(b,h.__s,M),S&&null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(v,y,_)})}if(h.context=M,h.props=b,h.__P=n,h.__e=!1,P=l.__r,A=0,S){for(h.state=h.__s,h.__d=!1,P&&P(t),a=h.render(h.props,h.state,h.context),H=0;H<h._sb.length;H++)h.__h.push(h._sb[H]);h._sb=[]}else do{h.__d=!1,P&&P(t),a=h.render(h.props,h.state,h.context),h.state=h.__s}while(h.__d&&++A<25);h.state=h.__s,null!=h.getChildContext&&(i=w(w({},i),h.getChildContext())),S&&!p&&null!=h.getSnapshotBeforeUpdate&&(_=h.getSnapshotBeforeUpdate(v,y)),L=a,null!=a&&a.type===k&&null==a.key&&(L=N(a.props.children)),f=I(n,d(L)?L:[L],t,u,i,r,o,e,f,c,s),h.base=t.__e,t.__u&=-161,h.__h.length&&e.push(h),m&&(h.__E=h.__=null)}catch(n){if(t.__v=null,c||null!=o)if(n.then){for(t.__u|=c?160:128;f&&8==f.nodeType&&f.nextSibling;)f=f.nextSibling;o[o.indexOf(f)]=null,t.__e=f}else for(T=o.length;T--;)g(o[T]);else t.__e=u.__e,t.__k=u.__k;l.__e(n,t,u)}else null==o&&t.__v==u.__v?(t.__k=u.__k,t.__e=u.__e):f=t.__e=V(u.__e,t,u,i,r,o,e,c,s);return(a=l.diffed)&&a(t),128&t.__u?void 0:f}function z(n,t,u){for(var i=0;i<u.length;i++)q(u[i],u[++i],u[++i]);l.__c&&l.__c(t,n),n.some(function(t){try{n=t.__h,t.__h=[],n.some(function(n){n.call(t)})}catch(n){l.__e(n,t.__v)}})}function N(n){return"object"!=typeof n||null==n?n:d(n)?n.map(N):w({},n)}function V(t,u,i,r,o,e,f,c,s){var a,h,v,y,w,_,m,b=i.props,k=u.props,x=u.type;if("svg"==x?o="http://www.w3.org/2000/svg":"math"==x?o="http://www.w3.org/1998/Math/MathML":o||(o="http://www.w3.org/1999/xhtml"),null!=e)for(a=0;a<e.length;a++)if((w=e[a])&&"setAttribute"in w==!!x&&(x?w.localName==x:3==w.nodeType)){t=w,e[a]=null;break}if(null==t){if(null==x)return document.createTextNode(k);t=document.createElementNS(o,x,k.is&&k),c&&(l.__m&&l.__m(u,e),c=!1),e=null}if(null===x)b===k||c&&t.data===k||(t.data=k);else{if(e=e&&n.call(t.childNodes),b=i.props||p,!c&&null!=e)for(b={},a=0;a<t.attributes.length;a++)b[(w=t.attributes[a]).name]=w.value;for(a in b)if(w=b[a],"children"==a);else if("dangerouslySetInnerHTML"==a)v=w;else if(!(a in k)){if("value"==a&&"defaultValue"in k||"checked"==a&&"defaultChecked"in k)continue;j(t,a,null,w,o)}for(a in k)w=k[a],"children"==a?y=w:"dangerouslySetInnerHTML"==a?h=w:"value"==a?_=w:"checked"==a?m=w:c&&"function"!=typeof w||b[a]===w||j(t,a,w,b[a],o);if(h)c||v&&(h.__html===v.__html||h.__html===t.innerHTML)||(t.innerHTML=h.__html),u.__k=[];else if(v&&(t.innerHTML=""),I("template"===u.type?t.content:t,d(y)?y:[y],u,i,r,"foreignObject"==x?"http://www.w3.org/1999/xhtml":o,e,f,e?e[0]:i.__k&&S(i,0),c,s),null!=e)for(a=e.length;a--;)g(e[a]);c||(a="value","progress"==x&&null==_?t.removeAttribute("value"):void 0!==_&&(_!==t[a]||"progress"==x&&!_||"option"==x&&_!==b[a])&&j(t,a,_,b[a],o),a="checked",void 0!==m&&m!==t[a]&&j(t,a,m,b[a],o))}return t}function q(n,t,u){try{if("function"==typeof n){var i="function"==typeof n.__u;i&&n.__u(),i&&null==t||(n.__u=n(t))}else n.current=t}catch(n){l.__e(n,u)}}function B(n,t,u){var i,r;if(l.unmount&&l.unmount(n),(i=n.ref)&&(i.current&&i.current!==n.__e||q(i,null,t)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(n){l.__e(n,t)}i.base=i.__P=null}if(i=n.__k)for(r=0;r<i.length;r++)i[r]&&B(i[r],t,u||"function"!=typeof n.type);u||g(n.__e),n.__c=n.__=n.__e=void 0}function D(n,l,t){return this.constructor(n,t)}function E(t,u,i){var r,o,e,f;u==document&&(u=document.documentElement),l.__&&l.__(t,u),o=(r="function"==typeof i)?null:i&&i.__k||u.__k,e=[],f=[],O(u,t=(!r&&i||u).__k=_(k,null,[t]),o||p,p,u.namespaceURI,!r&&i?[i]:o?null:u.firstChild?n.call(u.childNodes):null,e,!r&&i?i:o?o.__e:u.firstChild,r,f),z(e,t,f)}function G(n,l){E(n,l,G)}function J(l,t,u){var i,r,o,e,f=w({},l.props);for(o in l.type&&l.type.defaultProps&&(e=l.type.defaultProps),t)"key"==o?i=t[o]:"ref"==o?r=t[o]:f[o]=void 0===t[o]&&void 0!==e?e[o]:t[o];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):u),m(l.type,f,i||l.key,r||l.ref,null)}function K(n){function l(n){var t,u;return this.getChildContext||(t=new Set,(u={})[l.__c]=this,this.getChildContext=function(){return u},this.componentWillUnmount=function(){t=null},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&t.forEach(function(n){n.__e=!0,M(n)})},this.sub=function(n){t.add(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){t&&t.delete(n),l&&l.call(n)}}),n.children}return l.__c="__cC"+h++,l.__=n,l.Provider=l.__l=(l.Consumer=function(n,l){return n.children(l)}).contextType=l,l}n=v.slice,l={__e:function(n,l,t,u){for(var i,r,o;l=l.__;)if((i=l.__c)&&!i.__)try{if((r=i.constructor)&&null!=r.getDerivedStateFromError&&(i.setState(r.getDerivedStateFromError(n)),o=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,u||{}),o=i.__d),o)return i.__E=i}catch(l){n=l}throw n}},t=0,u=function(n){return null!=n&&null==n.constructor},x.prototype.setState=function(n,l){var t;t=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=w({},this.state),"function"==typeof n&&(n=n(w({},t),this.props)),n&&w(t,n),null!=n&&this.__v&&(l&&this._sb.push(l),M(this))},x.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),M(this))},x.prototype.render=k,i=[],o="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,e=function(n,l){return n.__v.__b-l.__v.__b},$.__r=0,f=/(PointerCapture)$|Capture$/i,c=0,s=F(!1),a=F(!0),h=0;\n//# sourceMappingURL=preact.module.js.map\n\n;// ./node_modules/preact/hooks/dist/hooks.module.js\nvar hooks_module_t,hooks_module_r,hooks_module_u,hooks_module_i,hooks_module_o=0,hooks_module_f=[],hooks_module_c=l,hooks_module_e=hooks_module_c.__b,hooks_module_a=hooks_module_c.__r,hooks_module_v=hooks_module_c.diffed,hooks_module_l=hooks_module_c.__c,hooks_module_m=hooks_module_c.unmount,hooks_module_s=hooks_module_c.__;function hooks_module_p(n,t){hooks_module_c.__h&&hooks_module_c.__h(hooks_module_r,n,hooks_module_o||t),hooks_module_o=0;var u=hooks_module_r.__H||(hooks_module_r.__H={__:[],__h:[]});return n>=u.__.length&&u.__.push({}),u.__[n]}function hooks_module_d(n){return hooks_module_o=1,hooks_module_h(hooks_module_D,n)}function hooks_module_h(n,u,i){var o=hooks_module_p(hooks_module_t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):hooks_module_D(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}))}],o.__c=hooks_module_r,!hooks_module_r.__f)){var f=function(n,t,r){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(n){return!!n.__c});if(u.every(function(n){return!n.__N}))return!c||c.call(this,n,t,r);var i=o.__c.props!==n;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0)}}),c&&c.call(this,n,t,r)||i};hooks_module_r.__f=!0;var c=hooks_module_r.shouldComponentUpdate,e=hooks_module_r.componentWillUpdate;hooks_module_r.componentWillUpdate=function(n,t,r){if(this.__e){var u=c;c=void 0,f(n,t,r),c=u}e&&e.call(this,n,t,r)},hooks_module_r.shouldComponentUpdate=f}return o.__N||o.__}function hooks_module_y(n,u){var i=hooks_module_p(hooks_module_t++,3);!hooks_module_c.__s&&hooks_module_C(i.__H,u)&&(i.__=n,i.u=u,hooks_module_r.__H.__h.push(i))}function hooks_module_(n,u){var i=hooks_module_p(hooks_module_t++,4);!hooks_module_c.__s&&hooks_module_C(i.__H,u)&&(i.__=n,i.u=u,hooks_module_r.__h.push(i))}function hooks_module_A(n){return hooks_module_o=5,hooks_module_T(function(){return{current:n}},[])}function hooks_module_F(n,t,r){hooks_module_o=6,hooks_module_(function(){if("function"==typeof n){var r=n(t());return function(){n(null),r&&"function"==typeof r&&r()}}if(n)return n.current=t(),function(){return n.current=null}},null==r?r:r.concat(n))}function hooks_module_T(n,r){var u=hooks_module_p(hooks_module_t++,7);return hooks_module_C(u.__H,r)&&(u.__=n(),u.__H=r,u.__h=n),u.__}function hooks_module_q(n,t){return hooks_module_o=8,hooks_module_T(function(){return n},t)}function hooks_module_x(n){var u=hooks_module_r.context[n.__c],i=hooks_module_p(hooks_module_t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(hooks_module_r)),u.props.value):n.__}function hooks_module_P(n,t){hooks_module_c.useDebugValue&&hooks_module_c.useDebugValue(t?t(n):n)}function hooks_module_b(n){var u=hooks_module_p(hooks_module_t++,10),i=hooks_module_d();return u.__=n,hooks_module_r.componentDidCatch||(hooks_module_r.componentDidCatch=function(n,t){u.__&&u.__(n,t),i[1](n)}),[i[0],function(){i[1](void 0)}]}function hooks_module_g(){var n=hooks_module_p(hooks_module_t++,11);if(!n.__){for(var u=hooks_module_r.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;var i=u.__m||(u.__m=[0,0]);n.__="P"+i[0]+"-"+i[1]++}return n.__}function hooks_module_j(){for(var n;n=hooks_module_f.shift();)if(n.__P&&n.__H)try{n.__H.__h.forEach(hooks_module_z),n.__H.__h.forEach(hooks_module_B),n.__H.__h=[]}catch(t){n.__H.__h=[],hooks_module_c.__e(t,n.__v)}}hooks_module_c.__b=function(n){hooks_module_r=null,hooks_module_e&&hooks_module_e(n)},hooks_module_c.__=function(n,t){n&&t.__k&&t.__k.__m&&(n.__m=t.__k.__m),hooks_module_s&&hooks_module_s(n,t)},hooks_module_c.__r=function(n){hooks_module_a&&hooks_module_a(n),hooks_module_t=0;var i=(hooks_module_r=n.__c).__H;i&&(hooks_module_u===hooks_module_r?(i.__h=[],hooks_module_r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(i.__h.forEach(hooks_module_z),i.__h.forEach(hooks_module_B),i.__h=[],hooks_module_t=0)),hooks_module_u=hooks_module_r},hooks_module_c.diffed=function(n){hooks_module_v&&hooks_module_v(n);var t=n.__c;t&&t.__H&&(t.__H.__h.length&&(1!==hooks_module_f.push(t)&&hooks_module_i===hooks_module_c.requestAnimationFrame||((hooks_module_i=hooks_module_c.requestAnimationFrame)||hooks_module_w)(hooks_module_j)),t.__H.__.forEach(function(n){n.u&&(n.__H=n.u),n.u=void 0})),hooks_module_u=hooks_module_r=null},hooks_module_c.__c=function(n,t){t.some(function(n){try{n.__h.forEach(hooks_module_z),n.__h=n.__h.filter(function(n){return!n.__||hooks_module_B(n)})}catch(r){t.some(function(n){n.__h&&(n.__h=[])}),t=[],hooks_module_c.__e(r,n.__v)}}),hooks_module_l&&hooks_module_l(n,t)},hooks_module_c.unmount=function(n){hooks_module_m&&hooks_module_m(n);var t,r=n.__c;r&&r.__H&&(r.__H.__.forEach(function(n){try{hooks_module_z(n)}catch(n){t=n}}),r.__H=void 0,t&&hooks_module_c.__e(t,r.__v))};var hooks_module_k="function"==typeof requestAnimationFrame;function hooks_module_w(n){var t,r=function(){clearTimeout(u),hooks_module_k&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,100);hooks_module_k&&(t=requestAnimationFrame(r))}function hooks_module_z(n){var t=hooks_module_r,u=n.__c;"function"==typeof u&&(n.__c=void 0,u()),hooks_module_r=t}function hooks_module_B(n){var t=hooks_module_r;n.__c=n.__(),hooks_module_r=t}function hooks_module_C(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function hooks_module_D(n,t){return"function"==typeof t?t(n):t}\n//# sourceMappingURL=hooks.module.js.map\n\n;// ./node_modules/preact/compat/dist/compat.module.js\nfunction compat_module_g(n,t){for(var e in t)n[e]=t[e];return n}function compat_module_E(n,t){for(var e in n)if("__source"!==e&&!(e in t))return!0;for(var r in t)if("__source"!==r&&n[r]!==t[r])return!0;return!1}function compat_module_C(n,t){var e=t(),r=hooks_module_d({t:{__:e,u:t}}),u=r[0].t,o=r[1];return hooks_module_(function(){u.__=e,u.u=t,compat_module_x(u)&&o({t:u})},[n,e,t]),hooks_module_y(function(){return compat_module_x(u)&&o({t:u}),n(function(){compat_module_x(u)&&o({t:u})})},[n]),e}function compat_module_x(n){var t,e,r=n.u,u=n.__;try{var o=r();return!((t=u)===(e=o)&&(0!==t||1/t==1/e)||t!=t&&e!=e)}catch(n){return!0}}function R(n){n()}function compat_module_w(n){return n}function compat_module_k(){return[!1,R]}var compat_module_I=hooks_module_;function compat_module_N(n,t){this.props=n,this.context=t}function compat_module_M(n,e){function r(n){var t=this.props.ref,r=t==n.ref;return!r&&t&&(t.call?t(null):t.current=null),e?!e(this.props,n)||!r:compat_module_E(this.props,n)}function u(e){return this.shouldComponentUpdate=r,_(n,e)}return u.displayName="Memo("+(n.displayName||n.name)+")",u.prototype.isReactComponent=!0,u.__f=!0,u}(compat_module_N.prototype=new x).isPureReactComponent=!0,compat_module_N.prototype.shouldComponentUpdate=function(n,t){return compat_module_E(this.props,n)||compat_module_E(this.state,t)};var compat_module_T=l.__b;l.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),compat_module_T&&compat_module_T(n)};var compat_module_A="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function compat_module_D(n){function t(t){var e=compat_module_g({},t);return delete e.ref,n(e,t.ref||null)}return t.$$typeof=compat_module_A,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(n.displayName||n.name)+")",t}var compat_module_L=function(n,t){return null==n?null:H(H(n).map(t))},compat_module_O={map:compat_module_L,forEach:compat_module_L,count:function(n){return n?H(n).length:0},only:function(n){var t=H(n);if(1!==t.length)throw"Children.only";return t[0]},toArray:H},compat_module_F=l.__e;l.__e=function(n,t,e,r){if(n.then)for(var u,o=t;o=o.__;)if((u=o.__c)&&u.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),u.__c(n,t);compat_module_F(n,t,e,r)};var U=l.unmount;function compat_module_V(n,t,e){return n&&(n.__c&&n.__c.__H&&(n.__c.__H.__.forEach(function(n){"function"==typeof n.__c&&n.__c()}),n.__c.__H=null),null!=(n=compat_module_g({},n)).__c&&(n.__c.__P===e&&(n.__c.__P=t),n.__c=null),n.__k=n.__k&&n.__k.map(function(n){return compat_module_V(n,t,e)})),n}function W(n,t,e){return n&&e&&(n.__v=null,n.__k=n.__k&&n.__k.map(function(n){return W(n,t,e)}),n.__c&&n.__c.__P===t&&(n.__e&&e.appendChild(n.__e),n.__c.__e=!0,n.__c.__P=e)),n}function compat_module_P(){this.__u=0,this.o=null,this.__b=null}function compat_module_j(n){var t=n.__.__c;return t&&t.__a&&t.__a(n)}function compat_module_z(n){var e,r,u;function o(o){if(e||(e=n()).then(function(n){r=n.default||n},function(n){u=n}),u)throw u;if(!r)throw e;return _(r,o)}return o.displayName="Lazy",o.__f=!0,o}function compat_module_B(){this.i=null,this.l=null}l.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&32&n.__u&&(n.type=null),U&&U(n)},(compat_module_P.prototype=new x).__c=function(n,t){var e=t.__c,r=this;null==r.o&&(r.o=[]),r.o.push(e);var u=compat_module_j(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(c):c())};e.__R=i;var c=function(){if(!--r.__u){if(r.state.__a){var n=r.state.__a;r.__v.__k[0]=W(n,n.__c.__P,n.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.o.pop();)t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),n.then(i,i)},compat_module_P.prototype.componentWillUnmount=function(){this.o=[]},compat_module_P.prototype.render=function(n,e){if(this.__b){if(this.__v.__k){var r=document.createElement("div"),o=this.__v.__k[0].__c;this.__v.__k[0]=compat_module_V(this.__b,r,o.__O=o.__P)}this.__b=null}var i=e.__a&&_(k,null,n.fallback);return i&&(i.__u&=-33),[_(k,null,e.__a?null:n.children),i]};var compat_module_H=function(n,t,e){if(++e[1]===e[0]&&n.l.delete(t),n.props.revealOrder&&("t"!==n.props.revealOrder[0]||!n.l.size))for(e=n.i;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.i=e=e[2]}};function Z(n){return this.getChildContext=function(){return n.context},n.children}function Y(n){var e=this,r=n.h;e.componentWillUnmount=function(){E(null,e.v),e.v=null,e.h=null},e.h&&e.h!==r&&e.componentWillUnmount(),e.v||(e.h=r,e.v={nodeType:1,parentNode:r,childNodes:[],contains:function(){return!0},appendChild:function(n){this.childNodes.push(n),e.h.appendChild(n)},insertBefore:function(n,t){this.childNodes.push(n),e.h.insertBefore(n,t)},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),e.h.removeChild(n)}}),E(_(Z,{context:e.context},n.__v),e.v)}function compat_module_$(n,e){var r=_(Y,{__v:n,h:e});return r.containerInfo=e,r}(compat_module_B.prototype=new x).__a=function(n){var t=this,e=compat_module_j(t.__v),r=t.l.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),compat_module_H(t,n,r)):u()};e?e(o):o()}},compat_module_B.prototype.render=function(n){this.i=null,this.l=new Map;var t=H(n.children);n.revealOrder&&"b"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.l.set(t[e],this.i=[1,0,this.i]);return n.children},compat_module_B.prototype.componentDidUpdate=compat_module_B.prototype.componentDidMount=function(){var n=this;this.l.forEach(function(t,e){compat_module_H(n,e,t)})};var compat_module_q="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,compat_module_G=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,compat_module_J=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,compat_module_K=/[A-Z0-9]/g,Q="undefined"!=typeof document,X=function(n){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(n)};function nn(n,t,e){return null==t.__k&&(t.textContent=""),E(n,t),"function"==typeof e&&e(),n?n.__c:null}function tn(n,t,e){return G(n,t),"function"==typeof e&&e(),n?n.__c:null}x.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(x.prototype,t,{configurable:!0,get:function(){return this["UNSAFE_"+t]},set:function(n){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:n})}})});var en=l.event;function rn(){}function un(){return this.cancelBubble}function on(){return this.defaultPrevented}l.event=function(n){return en&&(n=en(n)),n.persist=rn,n.isPropagationStopped=un,n.isDefaultPrevented=on,n.nativeEvent=n};var cn,ln={enumerable:!1,configurable:!0,get:function(){return this.class}},fn=l.vnode;l.vnode=function(n){"string"==typeof n.type&&function(n){var t=n.props,e=n.type,u={},o=-1===e.indexOf("-");for(var i in t){var c=t[i];if(!("value"===i&&"defaultValue"in t&&null==c||Q&&"children"===i&&"noscript"===e||"class"===i||"className"===i)){var l=i.toLowerCase();"defaultValue"===i&&"value"in t&&null==t.value?i="value":"download"===i&&!0===c?c="":"translate"===l&&"no"===c?c=!1:"o"===l[0]&&"n"===l[1]?"ondoubleclick"===l?i="ondblclick":"onchange"!==l||"input"!==e&&"textarea"!==e||X(t.type)?"onfocus"===l?i="onfocusin":"onblur"===l?i="onfocusout":compat_module_J.test(i)&&(i=l):l=i="oninput":o&&compat_module_G.test(i)?i=i.replace(compat_module_K,"-$&").toLowerCase():null===c&&(c=void 0),"oninput"===l&&u[i=l]&&(i="oninputCapture"),u[i]=c}}"select"==e&&u.multiple&&Array.isArray(u.value)&&(u.value=H(t.children).forEach(function(n){n.props.selected=-1!=u.value.indexOf(n.props.value)})),"select"==e&&null!=u.defaultValue&&(u.value=H(t.children).forEach(function(n){n.props.selected=u.multiple?-1!=u.defaultValue.indexOf(n.props.value):u.defaultValue==n.props.value})),t.class&&!t.className?(u.class=t.class,Object.defineProperty(u,"className",ln)):(t.className&&!t.class||t.class&&t.className)&&(u.class=u.className=t.className),n.props=u}(n),n.$$typeof=compat_module_q,fn&&fn(n)};var an=l.__r;l.__r=function(n){an&&an(n),cn=n.__c};var sn=l.diffed;l.diffed=function(n){sn&&sn(n);var t=n.props,e=n.__e;null!=e&&"textarea"===n.type&&"value"in t&&t.value!==e.value&&(e.value=null==t.value?"":t.value),cn=null};var hn={ReactCurrentDispatcher:{current:{readContext:function(n){return cn.__n[n.__c].props.value},useCallback:hooks_module_q,useContext:hooks_module_x,useDebugValue:hooks_module_P,useDeferredValue:compat_module_w,useEffect:hooks_module_y,useId:hooks_module_g,useImperativeHandle:hooks_module_F,useInsertionEffect:compat_module_I,useLayoutEffect:hooks_module_,useMemo:hooks_module_T,useReducer:hooks_module_h,useRef:hooks_module_A,useState:hooks_module_d,useSyncExternalStore:compat_module_C,useTransition:compat_module_k}}},vn="18.3.1";function dn(n){return _.bind(null,n)}function pn(n){return!!n&&n.$$typeof===compat_module_q}function mn(n){return pn(n)&&n.type===k}function yn(n){return!!n&&!!n.displayName&&("string"==typeof n.displayName||n.displayName instanceof String)&&n.displayName.startsWith("Memo(")}function _n(n){return pn(n)?J.apply(null,arguments):n}function bn(n){return!!n.__k&&(E(null,n),!0)}function Sn(n){return n&&(n.base||1===n.nodeType&&n)||null}var gn=function(n,t){return n(t)},En=function(n,t){return n(t)},Cn=k,xn=pn,Rn={useState:hooks_module_d,useId:hooks_module_g,useReducer:hooks_module_h,useEffect:hooks_module_y,useLayoutEffect:hooks_module_,useInsertionEffect:compat_module_I,useTransition:compat_module_k,useDeferredValue:compat_module_w,useSyncExternalStore:compat_module_C,startTransition:R,useRef:hooks_module_A,useImperativeHandle:hooks_module_F,useMemo:hooks_module_T,useCallback:hooks_module_q,useContext:hooks_module_x,useDebugValue:hooks_module_P,version:"18.3.1",Children:compat_module_O,render:nn,hydrate:tn,unmountComponentAtNode:bn,createPortal:compat_module_$,createElement:_,createContext:K,createFactory:dn,cloneElement:_n,createRef:b,Fragment:k,isValidElement:pn,isElement:xn,isFragment:mn,isMemo:yn,findDOMNode:Sn,Component:x,PureComponent:compat_module_N,memo:compat_module_M,forwardRef:compat_module_D,flushSync:En,unstable_batchedUpdates:gn,StrictMode:Cn,Suspense:compat_module_P,SuspenseList:compat_module_B,lazy:compat_module_z,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:hn};\n//# sourceMappingURL=compat.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFDLGVBQWUsQ0FBQyw0Q0FBNEMsQ0FBQyxVQUFVLENBQUMsaUZBQWlGLENBQUMsZUFBZSxlQUFDLE1BQU0sZUFBQyxZQUFZLGVBQUMsZ0VBQWdFLGVBQUMsY0FBYyxlQUFDLE1BQU0sZUFBQyx3REFBK21CO0FBQ2g1VCIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL3ByZWFjdC9kaXN0L3ByZWFjdC5tb2R1bGUuanM/ZGE2NSIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9wcmVhY3QvaG9va3MvZGlzdC9ob29rcy5tb2R1bGUuanM/MzBlYyIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9wcmVhY3QvY29tcGF0L2Rpc3QvY29tcGF0Lm1vZHVsZS5qcz8xNWQxIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBuLGwsdCx1LGkscixvLGUsZixjLHMsYSxoLHA9e30sdj1bXSx5PS9hY2l0fGV4KD86c3xnfG58cHwkKXxycGh8Z3JpZHxvd3N8bW5jfG50d3xpbmVbY2hdfHpvb3xeb3JkfGl0ZXJhL2ksZD1BcnJheS5pc0FycmF5O2Z1bmN0aW9uIHcobixsKXtmb3IodmFyIHQgaW4gbCluW3RdPWxbdF07cmV0dXJuIG59ZnVuY3Rpb24gZyhuKXtuJiZuLnBhcmVudE5vZGUmJm4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKX1mdW5jdGlvbiBfKGwsdCx1KXt2YXIgaSxyLG8sZT17fTtmb3IobyBpbiB0KVwia2V5XCI9PW8/aT10W29dOlwicmVmXCI9PW8/cj10W29dOmVbb109dFtvXTtpZihhcmd1bWVudHMubGVuZ3RoPjImJihlLmNoaWxkcmVuPWFyZ3VtZW50cy5sZW5ndGg+Mz9uLmNhbGwoYXJndW1lbnRzLDIpOnUpLFwiZnVuY3Rpb25cIj09dHlwZW9mIGwmJm51bGwhPWwuZGVmYXVsdFByb3BzKWZvcihvIGluIGwuZGVmYXVsdFByb3BzKXZvaWQgMD09PWVbb10mJihlW29dPWwuZGVmYXVsdFByb3BzW29dKTtyZXR1cm4gbShsLGUsaSxyLG51bGwpfWZ1bmN0aW9uIG0obix1LGkscixvKXt2YXIgZT17dHlwZTpuLHByb3BzOnUsa2V5OmkscmVmOnIsX19rOm51bGwsX186bnVsbCxfX2I6MCxfX2U6bnVsbCxfX2M6bnVsbCxjb25zdHJ1Y3Rvcjp2b2lkIDAsX192Om51bGw9PW8/Kyt0Om8sX19pOi0xLF9fdTowfTtyZXR1cm4gbnVsbD09byYmbnVsbCE9bC52bm9kZSYmbC52bm9kZShlKSxlfWZ1bmN0aW9uIGIoKXtyZXR1cm57Y3VycmVudDpudWxsfX1mdW5jdGlvbiBrKG4pe3JldHVybiBuLmNoaWxkcmVufWZ1bmN0aW9uIHgobixsKXt0aGlzLnByb3BzPW4sdGhpcy5jb250ZXh0PWx9ZnVuY3Rpb24gUyhuLGwpe2lmKG51bGw9PWwpcmV0dXJuIG4uX18/UyhuLl9fLG4uX19pKzEpOm51bGw7Zm9yKHZhciB0O2w8bi5fX2subGVuZ3RoO2wrKylpZihudWxsIT0odD1uLl9fa1tsXSkmJm51bGwhPXQuX19lKXJldHVybiB0Ll9fZTtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiBuLnR5cGU/UyhuKTpudWxsfWZ1bmN0aW9uIEMobil7dmFyIGwsdDtpZihudWxsIT0obj1uLl9fKSYmbnVsbCE9bi5fX2Mpe2ZvcihuLl9fZT1uLl9fYy5iYXNlPW51bGwsbD0wO2w8bi5fX2subGVuZ3RoO2wrKylpZihudWxsIT0odD1uLl9fa1tsXSkmJm51bGwhPXQuX19lKXtuLl9fZT1uLl9fYy5iYXNlPXQuX19lO2JyZWFrfXJldHVybiBDKG4pfX1mdW5jdGlvbiBNKG4peyghbi5fX2QmJihuLl9fZD0hMCkmJmkucHVzaChuKSYmISQuX19yKyt8fHIhPT1sLmRlYm91bmNlUmVuZGVyaW5nKSYmKChyPWwuZGVib3VuY2VSZW5kZXJpbmcpfHxvKSgkKX1mdW5jdGlvbiAkKCl7Zm9yKHZhciBuLHQsdSxyLG8sZixjLHM9MTtpLmxlbmd0aDspaS5sZW5ndGg+cyYmaS5zb3J0KGUpLG49aS5zaGlmdCgpLHM9aS5sZW5ndGgsbi5fX2QmJih1PXZvaWQgMCxvPShyPSh0PW4pLl9fdikuX19lLGY9W10sYz1bXSx0Ll9fUCYmKCh1PXcoe30scikpLl9fdj1yLl9fdisxLGwudm5vZGUmJmwudm5vZGUodSksTyh0Ll9fUCx1LHIsdC5fX24sdC5fX1AubmFtZXNwYWNlVVJJLDMyJnIuX191P1tvXTpudWxsLGYsbnVsbD09bz9TKHIpOm8sISEoMzImci5fX3UpLGMpLHUuX192PXIuX192LHUuX18uX19rW3UuX19pXT11LHooZix1LGMpLHUuX19lIT1vJiZDKHUpKSk7JC5fX3I9MH1mdW5jdGlvbiBJKG4sbCx0LHUsaSxyLG8sZSxmLGMscyl7dmFyIGEsaCx5LGQsdyxnLF89dSYmdS5fX2t8fHYsbT1sLmxlbmd0aDtmb3IoZj1QKHQsbCxfLGYsbSksYT0wO2E8bTthKyspbnVsbCE9KHk9dC5fX2tbYV0pJiYoaD0tMT09PXkuX19pP3A6X1t5Ll9faV18fHAseS5fX2k9YSxnPU8obix5LGgsaSxyLG8sZSxmLGMscyksZD15Ll9fZSx5LnJlZiYmaC5yZWYhPXkucmVmJiYoaC5yZWYmJnEoaC5yZWYsbnVsbCx5KSxzLnB1c2goeS5yZWYseS5fX2N8fGQseSkpLG51bGw9PXcmJm51bGwhPWQmJih3PWQpLDQmeS5fX3V8fGguX19rPT09eS5fX2s/Zj1BKHksZixuKTpcImZ1bmN0aW9uXCI9PXR5cGVvZiB5LnR5cGUmJnZvaWQgMCE9PWc/Zj1nOmQmJihmPWQubmV4dFNpYmxpbmcpLHkuX191Jj0tNyk7cmV0dXJuIHQuX19lPXcsZn1mdW5jdGlvbiBQKG4sbCx0LHUsaSl7dmFyIHIsbyxlLGYsYyxzPXQubGVuZ3RoLGE9cyxoPTA7Zm9yKG4uX19rPW5ldyBBcnJheShpKSxyPTA7cjxpO3IrKyludWxsIT0obz1sW3JdKSYmXCJib29sZWFuXCIhPXR5cGVvZiBvJiZcImZ1bmN0aW9uXCIhPXR5cGVvZiBvPyhmPXIraCwobz1uLl9fa1tyXT1cInN0cmluZ1wiPT10eXBlb2Ygb3x8XCJudW1iZXJcIj09dHlwZW9mIG98fFwiYmlnaW50XCI9PXR5cGVvZiBvfHxvLmNvbnN0cnVjdG9yPT1TdHJpbmc/bShudWxsLG8sbnVsbCxudWxsLG51bGwpOmQobyk/bShrLHtjaGlsZHJlbjpvfSxudWxsLG51bGwsbnVsbCk6dm9pZCAwPT09by5jb25zdHJ1Y3RvciYmby5fX2I+MD9tKG8udHlwZSxvLnByb3BzLG8ua2V5LG8ucmVmP28ucmVmOm51bGwsby5fX3YpOm8pLl9fPW4sby5fX2I9bi5fX2IrMSxlPW51bGwsLTEhPT0oYz1vLl9faT1MKG8sdCxmLGEpKSYmKGEtLSwoZT10W2NdKSYmKGUuX191fD0yKSksbnVsbD09ZXx8bnVsbD09PWUuX192PygtMT09YyYmKGk+cz9oLS06aTxzJiZoKyspLFwiZnVuY3Rpb25cIiE9dHlwZW9mIG8udHlwZSYmKG8uX191fD00KSk6YyE9ZiYmKGM9PWYtMT9oLS06Yz09ZisxP2grKzooYz5mP2gtLTpoKyssby5fX3V8PTQpKSk6bi5fX2tbcl09bnVsbDtpZihhKWZvcihyPTA7cjxzO3IrKyludWxsIT0oZT10W3JdKSYmMD09KDImZS5fX3UpJiYoZS5fX2U9PXUmJih1PVMoZSkpLEIoZSxlKSk7cmV0dXJuIHV9ZnVuY3Rpb24gQShuLGwsdCl7dmFyIHUsaTtpZihcImZ1bmN0aW9uXCI9PXR5cGVvZiBuLnR5cGUpe2Zvcih1PW4uX19rLGk9MDt1JiZpPHUubGVuZ3RoO2krKyl1W2ldJiYodVtpXS5fXz1uLGw9QSh1W2ldLGwsdCkpO3JldHVybiBsfW4uX19lIT1sJiYobCYmbi50eXBlJiYhdC5jb250YWlucyhsKSYmKGw9UyhuKSksdC5pbnNlcnRCZWZvcmUobi5fX2UsbHx8bnVsbCksbD1uLl9fZSk7ZG97bD1sJiZsLm5leHRTaWJsaW5nfXdoaWxlKG51bGwhPWwmJjg9PWwubm9kZVR5cGUpO3JldHVybiBsfWZ1bmN0aW9uIEgobixsKXtyZXR1cm4gbD1sfHxbXSxudWxsPT1ufHxcImJvb2xlYW5cIj09dHlwZW9mIG58fChkKG4pP24uc29tZShmdW5jdGlvbihuKXtIKG4sbCl9KTpsLnB1c2gobikpLGx9ZnVuY3Rpb24gTChuLGwsdCx1KXt2YXIgaSxyLG89bi5rZXksZT1uLnR5cGUsZj1sW3RdO2lmKG51bGw9PT1mJiZudWxsPT1uLmtleXx8ZiYmbz09Zi5rZXkmJmU9PT1mLnR5cGUmJjA9PSgyJmYuX191KSlyZXR1cm4gdDtpZih1PihudWxsIT1mJiYwPT0oMiZmLl9fdSk/MTowKSlmb3IoaT10LTEscj10KzE7aT49MHx8cjxsLmxlbmd0aDspe2lmKGk+PTApe2lmKChmPWxbaV0pJiYwPT0oMiZmLl9fdSkmJm89PWYua2V5JiZlPT09Zi50eXBlKXJldHVybiBpO2ktLX1pZihyPGwubGVuZ3RoKXtpZigoZj1sW3JdKSYmMD09KDImZi5fX3UpJiZvPT1mLmtleSYmZT09PWYudHlwZSlyZXR1cm4gcjtyKyt9fXJldHVybi0xfWZ1bmN0aW9uIFQobixsLHQpe1wiLVwiPT1sWzBdP24uc2V0UHJvcGVydHkobCxudWxsPT10P1wiXCI6dCk6bltsXT1udWxsPT10P1wiXCI6XCJudW1iZXJcIiE9dHlwZW9mIHR8fHkudGVzdChsKT90OnQrXCJweFwifWZ1bmN0aW9uIGoobixsLHQsdSxpKXt2YXIgcjtuOmlmKFwic3R5bGVcIj09bClpZihcInN0cmluZ1wiPT10eXBlb2YgdCluLnN0eWxlLmNzc1RleHQ9dDtlbHNle2lmKFwic3RyaW5nXCI9PXR5cGVvZiB1JiYobi5zdHlsZS5jc3NUZXh0PXU9XCJcIiksdSlmb3IobCBpbiB1KXQmJmwgaW4gdHx8VChuLnN0eWxlLGwsXCJcIik7aWYodClmb3IobCBpbiB0KXUmJnRbbF09PT11W2xdfHxUKG4uc3R5bGUsbCx0W2xdKX1lbHNlIGlmKFwib1wiPT1sWzBdJiZcIm5cIj09bFsxXSlyPWwhPShsPWwucmVwbGFjZShmLFwiJDFcIikpLGw9bC50b0xvd2VyQ2FzZSgpaW4gbnx8XCJvbkZvY3VzT3V0XCI9PWx8fFwib25Gb2N1c0luXCI9PWw/bC50b0xvd2VyQ2FzZSgpLnNsaWNlKDIpOmwuc2xpY2UoMiksbi5sfHwobi5sPXt9KSxuLmxbbCtyXT10LHQ/dT90LnQ9dS50Oih0LnQ9YyxuLmFkZEV2ZW50TGlzdGVuZXIobCxyP2E6cyxyKSk6bi5yZW1vdmVFdmVudExpc3RlbmVyKGwscj9hOnMscik7ZWxzZXtpZihcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI9PWkpbD1sLnJlcGxhY2UoL3hsaW5rKEh8OmgpLyxcImhcIikucmVwbGFjZSgvc05hbWUkLyxcInNcIik7ZWxzZSBpZihcIndpZHRoXCIhPWwmJlwiaGVpZ2h0XCIhPWwmJlwiaHJlZlwiIT1sJiZcImxpc3RcIiE9bCYmXCJmb3JtXCIhPWwmJlwidGFiSW5kZXhcIiE9bCYmXCJkb3dubG9hZFwiIT1sJiZcInJvd1NwYW5cIiE9bCYmXCJjb2xTcGFuXCIhPWwmJlwicm9sZVwiIT1sJiZcInBvcG92ZXJcIiE9bCYmbCBpbiBuKXRyeXtuW2xdPW51bGw9PXQ/XCJcIjp0O2JyZWFrIG59Y2F0Y2gobil7fVwiZnVuY3Rpb25cIj09dHlwZW9mIHR8fChudWxsPT10fHwhMT09PXQmJlwiLVwiIT1sWzRdP24ucmVtb3ZlQXR0cmlidXRlKGwpOm4uc2V0QXR0cmlidXRlKGwsXCJwb3BvdmVyXCI9PWwmJjE9PXQ/XCJcIjp0KSl9fWZ1bmN0aW9uIEYobil7cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKHRoaXMubCl7dmFyIHU9dGhpcy5sW3QudHlwZStuXTtpZihudWxsPT10LnUpdC51PWMrKztlbHNlIGlmKHQudTx1LnQpcmV0dXJuO3JldHVybiB1KGwuZXZlbnQ/bC5ldmVudCh0KTp0KX19fWZ1bmN0aW9uIE8obix0LHUsaSxyLG8sZSxmLGMscyl7dmFyIGEsaCxwLHYseSxfLG0sYixTLEMsTSwkLFAsQSxILEwsVCxqPXQudHlwZTtpZih2b2lkIDAhPT10LmNvbnN0cnVjdG9yKXJldHVybiBudWxsOzEyOCZ1Ll9fdSYmKGM9ISEoMzImdS5fX3UpLG89W2Y9dC5fX2U9dS5fX2VdKSwoYT1sLl9fYikmJmEodCk7bjppZihcImZ1bmN0aW9uXCI9PXR5cGVvZiBqKXRyeXtpZihiPXQucHJvcHMsUz1cInByb3RvdHlwZVwiaW4gaiYmai5wcm90b3R5cGUucmVuZGVyLEM9KGE9ai5jb250ZXh0VHlwZSkmJmlbYS5fX2NdLE09YT9DP0MucHJvcHMudmFsdWU6YS5fXzppLHUuX19jP209KGg9dC5fX2M9dS5fX2MpLl9fPWguX19FOihTP3QuX19jPWg9bmV3IGooYixNKToodC5fX2M9aD1uZXcgeChiLE0pLGguY29uc3RydWN0b3I9aixoLnJlbmRlcj1EKSxDJiZDLnN1YihoKSxoLnByb3BzPWIsaC5zdGF0ZXx8KGguc3RhdGU9e30pLGguY29udGV4dD1NLGguX19uPWkscD1oLl9fZD0hMCxoLl9faD1bXSxoLl9zYj1bXSksUyYmbnVsbD09aC5fX3MmJihoLl9fcz1oLnN0YXRlKSxTJiZudWxsIT1qLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyYmKGguX19zPT1oLnN0YXRlJiYoaC5fX3M9dyh7fSxoLl9fcykpLHcoaC5fX3Msai5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMoYixoLl9fcykpKSx2PWgucHJvcHMseT1oLnN0YXRlLGguX192PXQscClTJiZudWxsPT1qLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyYmbnVsbCE9aC5jb21wb25lbnRXaWxsTW91bnQmJmguY29tcG9uZW50V2lsbE1vdW50KCksUyYmbnVsbCE9aC5jb21wb25lbnREaWRNb3VudCYmaC5fX2gucHVzaChoLmNvbXBvbmVudERpZE1vdW50KTtlbHNle2lmKFMmJm51bGw9PWouZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzJiZiIT09diYmbnVsbCE9aC5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZoLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoYixNKSwhaC5fX2UmJihudWxsIT1oLnNob3VsZENvbXBvbmVudFVwZGF0ZSYmITE9PT1oLnNob3VsZENvbXBvbmVudFVwZGF0ZShiLGguX19zLE0pfHx0Ll9fdj09dS5fX3YpKXtmb3IodC5fX3YhPXUuX192JiYoaC5wcm9wcz1iLGguc3RhdGU9aC5fX3MsaC5fX2Q9ITEpLHQuX19lPXUuX19lLHQuX19rPXUuX19rLHQuX19rLnNvbWUoZnVuY3Rpb24obil7biYmKG4uX189dCl9KSwkPTA7JDxoLl9zYi5sZW5ndGg7JCsrKWguX19oLnB1c2goaC5fc2JbJF0pO2guX3NiPVtdLGguX19oLmxlbmd0aCYmZS5wdXNoKGgpO2JyZWFrIG59bnVsbCE9aC5jb21wb25lbnRXaWxsVXBkYXRlJiZoLmNvbXBvbmVudFdpbGxVcGRhdGUoYixoLl9fcyxNKSxTJiZudWxsIT1oLmNvbXBvbmVudERpZFVwZGF0ZSYmaC5fX2gucHVzaChmdW5jdGlvbigpe2guY29tcG9uZW50RGlkVXBkYXRlKHYseSxfKX0pfWlmKGguY29udGV4dD1NLGgucHJvcHM9YixoLl9fUD1uLGguX19lPSExLFA9bC5fX3IsQT0wLFMpe2ZvcihoLnN0YXRlPWguX19zLGguX19kPSExLFAmJlAodCksYT1oLnJlbmRlcihoLnByb3BzLGguc3RhdGUsaC5jb250ZXh0KSxIPTA7SDxoLl9zYi5sZW5ndGg7SCsrKWguX19oLnB1c2goaC5fc2JbSF0pO2guX3NiPVtdfWVsc2UgZG97aC5fX2Q9ITEsUCYmUCh0KSxhPWgucmVuZGVyKGgucHJvcHMsaC5zdGF0ZSxoLmNvbnRleHQpLGguc3RhdGU9aC5fX3N9d2hpbGUoaC5fX2QmJisrQTwyNSk7aC5zdGF0ZT1oLl9fcyxudWxsIT1oLmdldENoaWxkQ29udGV4dCYmKGk9dyh3KHt9LGkpLGguZ2V0Q2hpbGRDb250ZXh0KCkpKSxTJiYhcCYmbnVsbCE9aC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSYmKF89aC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSh2LHkpKSxMPWEsbnVsbCE9YSYmYS50eXBlPT09ayYmbnVsbD09YS5rZXkmJihMPU4oYS5wcm9wcy5jaGlsZHJlbikpLGY9SShuLGQoTCk/TDpbTF0sdCx1LGkscixvLGUsZixjLHMpLGguYmFzZT10Ll9fZSx0Ll9fdSY9LTE2MSxoLl9faC5sZW5ndGgmJmUucHVzaChoKSxtJiYoaC5fX0U9aC5fXz1udWxsKX1jYXRjaChuKXtpZih0Ll9fdj1udWxsLGN8fG51bGwhPW8paWYobi50aGVuKXtmb3IodC5fX3V8PWM/MTYwOjEyODtmJiY4PT1mLm5vZGVUeXBlJiZmLm5leHRTaWJsaW5nOylmPWYubmV4dFNpYmxpbmc7b1tvLmluZGV4T2YoZildPW51bGwsdC5fX2U9Zn1lbHNlIGZvcihUPW8ubGVuZ3RoO1QtLTspZyhvW1RdKTtlbHNlIHQuX19lPXUuX19lLHQuX19rPXUuX19rO2wuX19lKG4sdCx1KX1lbHNlIG51bGw9PW8mJnQuX192PT11Ll9fdj8odC5fX2s9dS5fX2ssdC5fX2U9dS5fX2UpOmY9dC5fX2U9Vih1Ll9fZSx0LHUsaSxyLG8sZSxjLHMpO3JldHVybihhPWwuZGlmZmVkKSYmYSh0KSwxMjgmdC5fX3U/dm9pZCAwOmZ9ZnVuY3Rpb24geihuLHQsdSl7Zm9yKHZhciBpPTA7aTx1Lmxlbmd0aDtpKyspcSh1W2ldLHVbKytpXSx1WysraV0pO2wuX19jJiZsLl9fYyh0LG4pLG4uc29tZShmdW5jdGlvbih0KXt0cnl7bj10Ll9faCx0Ll9faD1bXSxuLnNvbWUoZnVuY3Rpb24obil7bi5jYWxsKHQpfSl9Y2F0Y2gobil7bC5fX2Uobix0Ll9fdil9fSl9ZnVuY3Rpb24gTihuKXtyZXR1cm5cIm9iamVjdFwiIT10eXBlb2Ygbnx8bnVsbD09bj9uOmQobik/bi5tYXAoTik6dyh7fSxuKX1mdW5jdGlvbiBWKHQsdSxpLHIsbyxlLGYsYyxzKXt2YXIgYSxoLHYseSx3LF8sbSxiPWkucHJvcHMsaz11LnByb3BzLHg9dS50eXBlO2lmKFwic3ZnXCI9PXg/bz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI6XCJtYXRoXCI9PXg/bz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUxcIjpvfHwobz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWxcIiksbnVsbCE9ZSlmb3IoYT0wO2E8ZS5sZW5ndGg7YSsrKWlmKCh3PWVbYV0pJiZcInNldEF0dHJpYnV0ZVwiaW4gdz09ISF4JiYoeD93LmxvY2FsTmFtZT09eDozPT13Lm5vZGVUeXBlKSl7dD13LGVbYV09bnVsbDticmVha31pZihudWxsPT10KXtpZihudWxsPT14KXJldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShrKTt0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhvLHgsay5pcyYmayksYyYmKGwuX19tJiZsLl9fbSh1LGUpLGM9ITEpLGU9bnVsbH1pZihudWxsPT09eCliPT09a3x8YyYmdC5kYXRhPT09a3x8KHQuZGF0YT1rKTtlbHNle2lmKGU9ZSYmbi5jYWxsKHQuY2hpbGROb2RlcyksYj1pLnByb3BzfHxwLCFjJiZudWxsIT1lKWZvcihiPXt9LGE9MDthPHQuYXR0cmlidXRlcy5sZW5ndGg7YSsrKWJbKHc9dC5hdHRyaWJ1dGVzW2FdKS5uYW1lXT13LnZhbHVlO2ZvcihhIGluIGIpaWYodz1iW2FdLFwiY2hpbGRyZW5cIj09YSk7ZWxzZSBpZihcImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MXCI9PWEpdj13O2Vsc2UgaWYoIShhIGluIGspKXtpZihcInZhbHVlXCI9PWEmJlwiZGVmYXVsdFZhbHVlXCJpbiBrfHxcImNoZWNrZWRcIj09YSYmXCJkZWZhdWx0Q2hlY2tlZFwiaW4gayljb250aW51ZTtqKHQsYSxudWxsLHcsbyl9Zm9yKGEgaW4gayl3PWtbYV0sXCJjaGlsZHJlblwiPT1hP3k9dzpcImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MXCI9PWE/aD13OlwidmFsdWVcIj09YT9fPXc6XCJjaGVja2VkXCI9PWE/bT13OmMmJlwiZnVuY3Rpb25cIiE9dHlwZW9mIHd8fGJbYV09PT13fHxqKHQsYSx3LGJbYV0sbyk7aWYoaCljfHx2JiYoaC5fX2h0bWw9PT12Ll9faHRtbHx8aC5fX2h0bWw9PT10LmlubmVySFRNTCl8fCh0LmlubmVySFRNTD1oLl9faHRtbCksdS5fX2s9W107ZWxzZSBpZih2JiYodC5pbm5lckhUTUw9XCJcIiksSShcInRlbXBsYXRlXCI9PT11LnR5cGU/dC5jb250ZW50OnQsZCh5KT95Olt5XSx1LGkscixcImZvcmVpZ25PYmplY3RcIj09eD9cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWxcIjpvLGUsZixlP2VbMF06aS5fX2smJlMoaSwwKSxjLHMpLG51bGwhPWUpZm9yKGE9ZS5sZW5ndGg7YS0tOylnKGVbYV0pO2N8fChhPVwidmFsdWVcIixcInByb2dyZXNzXCI9PXgmJm51bGw9PV8/dC5yZW1vdmVBdHRyaWJ1dGUoXCJ2YWx1ZVwiKTp2b2lkIDAhPT1fJiYoXyE9PXRbYV18fFwicHJvZ3Jlc3NcIj09eCYmIV98fFwib3B0aW9uXCI9PXgmJl8hPT1iW2FdKSYmaih0LGEsXyxiW2FdLG8pLGE9XCJjaGVja2VkXCIsdm9pZCAwIT09bSYmbSE9PXRbYV0mJmoodCxhLG0sYlthXSxvKSl9cmV0dXJuIHR9ZnVuY3Rpb24gcShuLHQsdSl7dHJ5e2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIG4pe3ZhciBpPVwiZnVuY3Rpb25cIj09dHlwZW9mIG4uX191O2kmJm4uX191KCksaSYmbnVsbD09dHx8KG4uX191PW4odCkpfWVsc2Ugbi5jdXJyZW50PXR9Y2F0Y2gobil7bC5fX2Uobix1KX19ZnVuY3Rpb24gQihuLHQsdSl7dmFyIGkscjtpZihsLnVubW91bnQmJmwudW5tb3VudChuKSwoaT1uLnJlZikmJihpLmN1cnJlbnQmJmkuY3VycmVudCE9PW4uX19lfHxxKGksbnVsbCx0KSksbnVsbCE9KGk9bi5fX2MpKXtpZihpLmNvbXBvbmVudFdpbGxVbm1vdW50KXRyeXtpLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2gobil7bC5fX2Uobix0KX1pLmJhc2U9aS5fX1A9bnVsbH1pZihpPW4uX19rKWZvcihyPTA7cjxpLmxlbmd0aDtyKyspaVtyXSYmQihpW3JdLHQsdXx8XCJmdW5jdGlvblwiIT10eXBlb2Ygbi50eXBlKTt1fHxnKG4uX19lKSxuLl9fYz1uLl9fPW4uX19lPXZvaWQgMH1mdW5jdGlvbiBEKG4sbCx0KXtyZXR1cm4gdGhpcy5jb25zdHJ1Y3RvcihuLHQpfWZ1bmN0aW9uIEUodCx1LGkpe3ZhciByLG8sZSxmO3U9PWRvY3VtZW50JiYodT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLGwuX18mJmwuX18odCx1KSxvPShyPVwiZnVuY3Rpb25cIj09dHlwZW9mIGkpP251bGw6aSYmaS5fX2t8fHUuX19rLGU9W10sZj1bXSxPKHUsdD0oIXImJml8fHUpLl9faz1fKGssbnVsbCxbdF0pLG98fHAscCx1Lm5hbWVzcGFjZVVSSSwhciYmaT9baV06bz9udWxsOnUuZmlyc3RDaGlsZD9uLmNhbGwodS5jaGlsZE5vZGVzKTpudWxsLGUsIXImJmk/aTpvP28uX19lOnUuZmlyc3RDaGlsZCxyLGYpLHooZSx0LGYpfWZ1bmN0aW9uIEcobixsKXtFKG4sbCxHKX1mdW5jdGlvbiBKKGwsdCx1KXt2YXIgaSxyLG8sZSxmPXcoe30sbC5wcm9wcyk7Zm9yKG8gaW4gbC50eXBlJiZsLnR5cGUuZGVmYXVsdFByb3BzJiYoZT1sLnR5cGUuZGVmYXVsdFByb3BzKSx0KVwia2V5XCI9PW8/aT10W29dOlwicmVmXCI9PW8/cj10W29dOmZbb109dm9pZCAwPT09dFtvXSYmdm9pZCAwIT09ZT9lW29dOnRbb107cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MiYmKGYuY2hpbGRyZW49YXJndW1lbnRzLmxlbmd0aD4zP24uY2FsbChhcmd1bWVudHMsMik6dSksbShsLnR5cGUsZixpfHxsLmtleSxyfHxsLnJlZixudWxsKX1mdW5jdGlvbiBLKG4pe2Z1bmN0aW9uIGwobil7dmFyIHQsdTtyZXR1cm4gdGhpcy5nZXRDaGlsZENvbnRleHR8fCh0PW5ldyBTZXQsKHU9e30pW2wuX19jXT10aGlzLHRoaXMuZ2V0Q2hpbGRDb250ZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIHV9LHRoaXMuY29tcG9uZW50V2lsbFVubW91bnQ9ZnVuY3Rpb24oKXt0PW51bGx9LHRoaXMuc2hvdWxkQ29tcG9uZW50VXBkYXRlPWZ1bmN0aW9uKG4pe3RoaXMucHJvcHMudmFsdWUhPT1uLnZhbHVlJiZ0LmZvckVhY2goZnVuY3Rpb24obil7bi5fX2U9ITAsTShuKX0pfSx0aGlzLnN1Yj1mdW5jdGlvbihuKXt0LmFkZChuKTt2YXIgbD1uLmNvbXBvbmVudFdpbGxVbm1vdW50O24uY29tcG9uZW50V2lsbFVubW91bnQ9ZnVuY3Rpb24oKXt0JiZ0LmRlbGV0ZShuKSxsJiZsLmNhbGwobil9fSksbi5jaGlsZHJlbn1yZXR1cm4gbC5fX2M9XCJfX2NDXCIraCsrLGwuX189bixsLlByb3ZpZGVyPWwuX19sPShsLkNvbnN1bWVyPWZ1bmN0aW9uKG4sbCl7cmV0dXJuIG4uY2hpbGRyZW4obCl9KS5jb250ZXh0VHlwZT1sLGx9bj12LnNsaWNlLGw9e19fZTpmdW5jdGlvbihuLGwsdCx1KXtmb3IodmFyIGkscixvO2w9bC5fXzspaWYoKGk9bC5fX2MpJiYhaS5fXyl0cnl7aWYoKHI9aS5jb25zdHJ1Y3RvcikmJm51bGwhPXIuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yJiYoaS5zZXRTdGF0ZShyLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcihuKSksbz1pLl9fZCksbnVsbCE9aS5jb21wb25lbnREaWRDYXRjaCYmKGkuY29tcG9uZW50RGlkQ2F0Y2gobix1fHx7fSksbz1pLl9fZCksbylyZXR1cm4gaS5fX0U9aX1jYXRjaChsKXtuPWx9dGhyb3cgbn19LHQ9MCx1PWZ1bmN0aW9uKG4pe3JldHVybiBudWxsIT1uJiZudWxsPT1uLmNvbnN0cnVjdG9yfSx4LnByb3RvdHlwZS5zZXRTdGF0ZT1mdW5jdGlvbihuLGwpe3ZhciB0O3Q9bnVsbCE9dGhpcy5fX3MmJnRoaXMuX19zIT09dGhpcy5zdGF0ZT90aGlzLl9fczp0aGlzLl9fcz13KHt9LHRoaXMuc3RhdGUpLFwiZnVuY3Rpb25cIj09dHlwZW9mIG4mJihuPW4odyh7fSx0KSx0aGlzLnByb3BzKSksbiYmdyh0LG4pLG51bGwhPW4mJnRoaXMuX192JiYobCYmdGhpcy5fc2IucHVzaChsKSxNKHRoaXMpKX0seC5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24obil7dGhpcy5fX3YmJih0aGlzLl9fZT0hMCxuJiZ0aGlzLl9faC5wdXNoKG4pLE0odGhpcykpfSx4LnByb3RvdHlwZS5yZW5kZXI9ayxpPVtdLG89XCJmdW5jdGlvblwiPT10eXBlb2YgUHJvbWlzZT9Qcm9taXNlLnByb3RvdHlwZS50aGVuLmJpbmQoUHJvbWlzZS5yZXNvbHZlKCkpOnNldFRpbWVvdXQsZT1mdW5jdGlvbihuLGwpe3JldHVybiBuLl9fdi5fX2ItbC5fX3YuX19ifSwkLl9fcj0wLGY9LyhQb2ludGVyQ2FwdHVyZSkkfENhcHR1cmUkL2ksYz0wLHM9RighMSksYT1GKCEwKSxoPTA7ZXhwb3J0e3ggYXMgQ29tcG9uZW50LGsgYXMgRnJhZ21lbnQsSiBhcyBjbG9uZUVsZW1lbnQsSyBhcyBjcmVhdGVDb250ZXh0LF8gYXMgY3JlYXRlRWxlbWVudCxiIGFzIGNyZWF0ZVJlZixfIGFzIGgsRyBhcyBoeWRyYXRlLHUgYXMgaXNWYWxpZEVsZW1lbnQsbCBhcyBvcHRpb25zLEUgYXMgcmVuZGVyLEggYXMgdG9DaGlsZEFycmF5fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXByZWFjdC5tb2R1bGUuanMubWFwXG4iLCJpbXBvcnR7b3B0aW9ucyBhcyBufWZyb21cInByZWFjdFwiO3ZhciB0LHIsdSxpLG89MCxmPVtdLGM9bixlPWMuX19iLGE9Yy5fX3Isdj1jLmRpZmZlZCxsPWMuX19jLG09Yy51bm1vdW50LHM9Yy5fXztmdW5jdGlvbiBwKG4sdCl7Yy5fX2gmJmMuX19oKHIsbixvfHx0KSxvPTA7dmFyIHU9ci5fX0h8fChyLl9fSD17X186W10sX19oOltdfSk7cmV0dXJuIG4+PXUuX18ubGVuZ3RoJiZ1Ll9fLnB1c2goe30pLHUuX19bbl19ZnVuY3Rpb24gZChuKXtyZXR1cm4gbz0xLGgoRCxuKX1mdW5jdGlvbiBoKG4sdSxpKXt2YXIgbz1wKHQrKywyKTtpZihvLnQ9biwhby5fX2MmJihvLl9fPVtpP2kodSk6RCh2b2lkIDAsdSksZnVuY3Rpb24obil7dmFyIHQ9by5fX04/by5fX05bMF06by5fX1swXSxyPW8udCh0LG4pO3QhPT1yJiYoby5fX049W3Isby5fX1sxXV0sby5fX2Muc2V0U3RhdGUoe30pKX1dLG8uX19jPXIsIXIuX19mKSl7dmFyIGY9ZnVuY3Rpb24obix0LHIpe2lmKCFvLl9fYy5fX0gpcmV0dXJuITA7dmFyIHU9by5fX2MuX19ILl9fLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4hIW4uX19jfSk7aWYodS5ldmVyeShmdW5jdGlvbihuKXtyZXR1cm4hbi5fX059KSlyZXR1cm4hY3x8Yy5jYWxsKHRoaXMsbix0LHIpO3ZhciBpPW8uX19jLnByb3BzIT09bjtyZXR1cm4gdS5mb3JFYWNoKGZ1bmN0aW9uKG4pe2lmKG4uX19OKXt2YXIgdD1uLl9fWzBdO24uX189bi5fX04sbi5fX049dm9pZCAwLHQhPT1uLl9fWzBdJiYoaT0hMCl9fSksYyYmYy5jYWxsKHRoaXMsbix0LHIpfHxpfTtyLl9fZj0hMDt2YXIgYz1yLnNob3VsZENvbXBvbmVudFVwZGF0ZSxlPXIuY29tcG9uZW50V2lsbFVwZGF0ZTtyLmNvbXBvbmVudFdpbGxVcGRhdGU9ZnVuY3Rpb24obix0LHIpe2lmKHRoaXMuX19lKXt2YXIgdT1jO2M9dm9pZCAwLGYobix0LHIpLGM9dX1lJiZlLmNhbGwodGhpcyxuLHQscil9LHIuc2hvdWxkQ29tcG9uZW50VXBkYXRlPWZ9cmV0dXJuIG8uX19OfHxvLl9ffWZ1bmN0aW9uIHkobix1KXt2YXIgaT1wKHQrKywzKTshYy5fX3MmJkMoaS5fX0gsdSkmJihpLl9fPW4saS51PXUsci5fX0guX19oLnB1c2goaSkpfWZ1bmN0aW9uIF8obix1KXt2YXIgaT1wKHQrKyw0KTshYy5fX3MmJkMoaS5fX0gsdSkmJihpLl9fPW4saS51PXUsci5fX2gucHVzaChpKSl9ZnVuY3Rpb24gQShuKXtyZXR1cm4gbz01LFQoZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpufX0sW10pfWZ1bmN0aW9uIEYobix0LHIpe289NixfKGZ1bmN0aW9uKCl7aWYoXCJmdW5jdGlvblwiPT10eXBlb2Ygbil7dmFyIHI9bih0KCkpO3JldHVybiBmdW5jdGlvbigpe24obnVsbCksciYmXCJmdW5jdGlvblwiPT10eXBlb2YgciYmcigpfX1pZihuKXJldHVybiBuLmN1cnJlbnQ9dCgpLGZ1bmN0aW9uKCl7cmV0dXJuIG4uY3VycmVudD1udWxsfX0sbnVsbD09cj9yOnIuY29uY2F0KG4pKX1mdW5jdGlvbiBUKG4scil7dmFyIHU9cCh0KyssNyk7cmV0dXJuIEModS5fX0gscikmJih1Ll9fPW4oKSx1Ll9fSD1yLHUuX19oPW4pLHUuX199ZnVuY3Rpb24gcShuLHQpe3JldHVybiBvPTgsVChmdW5jdGlvbigpe3JldHVybiBufSx0KX1mdW5jdGlvbiB4KG4pe3ZhciB1PXIuY29udGV4dFtuLl9fY10saT1wKHQrKyw5KTtyZXR1cm4gaS5jPW4sdT8obnVsbD09aS5fXyYmKGkuX189ITAsdS5zdWIocikpLHUucHJvcHMudmFsdWUpOm4uX199ZnVuY3Rpb24gUChuLHQpe2MudXNlRGVidWdWYWx1ZSYmYy51c2VEZWJ1Z1ZhbHVlKHQ/dChuKTpuKX1mdW5jdGlvbiBiKG4pe3ZhciB1PXAodCsrLDEwKSxpPWQoKTtyZXR1cm4gdS5fXz1uLHIuY29tcG9uZW50RGlkQ2F0Y2h8fChyLmNvbXBvbmVudERpZENhdGNoPWZ1bmN0aW9uKG4sdCl7dS5fXyYmdS5fXyhuLHQpLGlbMV0obil9KSxbaVswXSxmdW5jdGlvbigpe2lbMV0odm9pZCAwKX1dfWZ1bmN0aW9uIGcoKXt2YXIgbj1wKHQrKywxMSk7aWYoIW4uX18pe2Zvcih2YXIgdT1yLl9fdjtudWxsIT09dSYmIXUuX19tJiZudWxsIT09dS5fXzspdT11Ll9fO3ZhciBpPXUuX19tfHwodS5fX209WzAsMF0pO24uX189XCJQXCIraVswXStcIi1cIitpWzFdKyt9cmV0dXJuIG4uX199ZnVuY3Rpb24gaigpe2Zvcih2YXIgbjtuPWYuc2hpZnQoKTspaWYobi5fX1AmJm4uX19IKXRyeXtuLl9fSC5fX2guZm9yRWFjaCh6KSxuLl9fSC5fX2guZm9yRWFjaChCKSxuLl9fSC5fX2g9W119Y2F0Y2godCl7bi5fX0guX19oPVtdLGMuX19lKHQsbi5fX3YpfX1jLl9fYj1mdW5jdGlvbihuKXtyPW51bGwsZSYmZShuKX0sYy5fXz1mdW5jdGlvbihuLHQpe24mJnQuX19rJiZ0Ll9fay5fX20mJihuLl9fbT10Ll9fay5fX20pLHMmJnMobix0KX0sYy5fX3I9ZnVuY3Rpb24obil7YSYmYShuKSx0PTA7dmFyIGk9KHI9bi5fX2MpLl9fSDtpJiYodT09PXI/KGkuX19oPVtdLHIuX19oPVtdLGkuX18uZm9yRWFjaChmdW5jdGlvbihuKXtuLl9fTiYmKG4uX189bi5fX04pLG4udT1uLl9fTj12b2lkIDB9KSk6KGkuX19oLmZvckVhY2goeiksaS5fX2guZm9yRWFjaChCKSxpLl9faD1bXSx0PTApKSx1PXJ9LGMuZGlmZmVkPWZ1bmN0aW9uKG4pe3YmJnYobik7dmFyIHQ9bi5fX2M7dCYmdC5fX0gmJih0Ll9fSC5fX2gubGVuZ3RoJiYoMSE9PWYucHVzaCh0KSYmaT09PWMucmVxdWVzdEFuaW1hdGlvbkZyYW1lfHwoKGk9Yy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpfHx3KShqKSksdC5fX0guX18uZm9yRWFjaChmdW5jdGlvbihuKXtuLnUmJihuLl9fSD1uLnUpLG4udT12b2lkIDB9KSksdT1yPW51bGx9LGMuX19jPWZ1bmN0aW9uKG4sdCl7dC5zb21lKGZ1bmN0aW9uKG4pe3RyeXtuLl9faC5mb3JFYWNoKHopLG4uX19oPW4uX19oLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4hbi5fX3x8QihuKX0pfWNhdGNoKHIpe3Quc29tZShmdW5jdGlvbihuKXtuLl9faCYmKG4uX19oPVtdKX0pLHQ9W10sYy5fX2UocixuLl9fdil9fSksbCYmbChuLHQpfSxjLnVubW91bnQ9ZnVuY3Rpb24obil7bSYmbShuKTt2YXIgdCxyPW4uX19jO3ImJnIuX19IJiYoci5fX0guX18uZm9yRWFjaChmdW5jdGlvbihuKXt0cnl7eihuKX1jYXRjaChuKXt0PW59fSksci5fX0g9dm9pZCAwLHQmJmMuX19lKHQsci5fX3YpKX07dmFyIGs9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lO2Z1bmN0aW9uIHcobil7dmFyIHQscj1mdW5jdGlvbigpe2NsZWFyVGltZW91dCh1KSxrJiZjYW5jZWxBbmltYXRpb25GcmFtZSh0KSxzZXRUaW1lb3V0KG4pfSx1PXNldFRpbWVvdXQociwxMDApO2smJih0PXJlcXVlc3RBbmltYXRpb25GcmFtZShyKSl9ZnVuY3Rpb24geihuKXt2YXIgdD1yLHU9bi5fX2M7XCJmdW5jdGlvblwiPT10eXBlb2YgdSYmKG4uX19jPXZvaWQgMCx1KCkpLHI9dH1mdW5jdGlvbiBCKG4pe3ZhciB0PXI7bi5fX2M9bi5fXygpLHI9dH1mdW5jdGlvbiBDKG4sdCl7cmV0dXJuIW58fG4ubGVuZ3RoIT09dC5sZW5ndGh8fHQuc29tZShmdW5jdGlvbih0LHIpe3JldHVybiB0IT09bltyXX0pfWZ1bmN0aW9uIEQobix0KXtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiB0P3Qobik6dH1leHBvcnR7cSBhcyB1c2VDYWxsYmFjayx4IGFzIHVzZUNvbnRleHQsUCBhcyB1c2VEZWJ1Z1ZhbHVlLHkgYXMgdXNlRWZmZWN0LGIgYXMgdXNlRXJyb3JCb3VuZGFyeSxnIGFzIHVzZUlkLEYgYXMgdXNlSW1wZXJhdGl2ZUhhbmRsZSxfIGFzIHVzZUxheW91dEVmZmVjdCxUIGFzIHVzZU1lbW8saCBhcyB1c2VSZWR1Y2VyLEEgYXMgdXNlUmVmLGQgYXMgdXNlU3RhdGV9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aG9va3MubW9kdWxlLmpzLm1hcFxuIiwiaW1wb3J0e0NvbXBvbmVudCBhcyBuLGNyZWF0ZUVsZW1lbnQgYXMgdCxvcHRpb25zIGFzIGUsdG9DaGlsZEFycmF5IGFzIHIsRnJhZ21lbnQgYXMgdSxyZW5kZXIgYXMgbyxoeWRyYXRlIGFzIGksY3JlYXRlQ29udGV4dCBhcyBjLGNyZWF0ZVJlZiBhcyBsLGNsb25lRWxlbWVudCBhcyBmfWZyb21cInByZWFjdFwiO2V4cG9ydHtDb21wb25lbnQsRnJhZ21lbnQsY3JlYXRlQ29udGV4dCxjcmVhdGVFbGVtZW50LGNyZWF0ZVJlZn1mcm9tXCJwcmVhY3RcIjtpbXBvcnR7dXNlU3RhdGUgYXMgYSx1c2VMYXlvdXRFZmZlY3QgYXMgcyx1c2VFZmZlY3QgYXMgaCx1c2VDYWxsYmFjayBhcyB2LHVzZUNvbnRleHQgYXMgZCx1c2VEZWJ1Z1ZhbHVlIGFzIHAsdXNlSWQgYXMgbSx1c2VJbXBlcmF0aXZlSGFuZGxlIGFzIHksdXNlTWVtbyBhcyBfLHVzZVJlZHVjZXIgYXMgYix1c2VSZWYgYXMgU31mcm9tXCJwcmVhY3QvaG9va3NcIjtleHBvcnQqZnJvbVwicHJlYWN0L2hvb2tzXCI7ZnVuY3Rpb24gZyhuLHQpe2Zvcih2YXIgZSBpbiB0KW5bZV09dFtlXTtyZXR1cm4gbn1mdW5jdGlvbiBFKG4sdCl7Zm9yKHZhciBlIGluIG4paWYoXCJfX3NvdXJjZVwiIT09ZSYmIShlIGluIHQpKXJldHVybiEwO2Zvcih2YXIgciBpbiB0KWlmKFwiX19zb3VyY2VcIiE9PXImJm5bcl0hPT10W3JdKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIEMobix0KXt2YXIgZT10KCkscj1hKHt0OntfXzplLHU6dH19KSx1PXJbMF0udCxvPXJbMV07cmV0dXJuIHMoZnVuY3Rpb24oKXt1Ll9fPWUsdS51PXQseCh1KSYmbyh7dDp1fSl9LFtuLGUsdF0pLGgoZnVuY3Rpb24oKXtyZXR1cm4geCh1KSYmbyh7dDp1fSksbihmdW5jdGlvbigpe3godSkmJm8oe3Q6dX0pfSl9LFtuXSksZX1mdW5jdGlvbiB4KG4pe3ZhciB0LGUscj1uLnUsdT1uLl9fO3RyeXt2YXIgbz1yKCk7cmV0dXJuISgodD11KT09PShlPW8pJiYoMCE9PXR8fDEvdD09MS9lKXx8dCE9dCYmZSE9ZSl9Y2F0Y2gobil7cmV0dXJuITB9fWZ1bmN0aW9uIFIobil7bigpfWZ1bmN0aW9uIHcobil7cmV0dXJuIG59ZnVuY3Rpb24gaygpe3JldHVyblshMSxSXX12YXIgST1zO2Z1bmN0aW9uIE4obix0KXt0aGlzLnByb3BzPW4sdGhpcy5jb250ZXh0PXR9ZnVuY3Rpb24gTShuLGUpe2Z1bmN0aW9uIHIobil7dmFyIHQ9dGhpcy5wcm9wcy5yZWYscj10PT1uLnJlZjtyZXR1cm4hciYmdCYmKHQuY2FsbD90KG51bGwpOnQuY3VycmVudD1udWxsKSxlPyFlKHRoaXMucHJvcHMsbil8fCFyOkUodGhpcy5wcm9wcyxuKX1mdW5jdGlvbiB1KGUpe3JldHVybiB0aGlzLnNob3VsZENvbXBvbmVudFVwZGF0ZT1yLHQobixlKX1yZXR1cm4gdS5kaXNwbGF5TmFtZT1cIk1lbW8oXCIrKG4uZGlzcGxheU5hbWV8fG4ubmFtZSkrXCIpXCIsdS5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD0hMCx1Ll9fZj0hMCx1fShOLnByb3RvdHlwZT1uZXcgbikuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITAsTi5wcm90b3R5cGUuc2hvdWxkQ29tcG9uZW50VXBkYXRlPWZ1bmN0aW9uKG4sdCl7cmV0dXJuIEUodGhpcy5wcm9wcyxuKXx8RSh0aGlzLnN0YXRlLHQpfTt2YXIgVD1lLl9fYjtlLl9fYj1mdW5jdGlvbihuKXtuLnR5cGUmJm4udHlwZS5fX2YmJm4ucmVmJiYobi5wcm9wcy5yZWY9bi5yZWYsbi5yZWY9bnVsbCksVCYmVChuKX07dmFyIEE9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLmZvciYmU3ltYm9sLmZvcihcInJlYWN0LmZvcndhcmRfcmVmXCIpfHwzOTExO2Z1bmN0aW9uIEQobil7ZnVuY3Rpb24gdCh0KXt2YXIgZT1nKHt9LHQpO3JldHVybiBkZWxldGUgZS5yZWYsbihlLHQucmVmfHxudWxsKX1yZXR1cm4gdC4kJHR5cGVvZj1BLHQucmVuZGVyPXQsdC5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD10Ll9fZj0hMCx0LmRpc3BsYXlOYW1lPVwiRm9yd2FyZFJlZihcIisobi5kaXNwbGF5TmFtZXx8bi5uYW1lKStcIilcIix0fXZhciBMPWZ1bmN0aW9uKG4sdCl7cmV0dXJuIG51bGw9PW4/bnVsbDpyKHIobikubWFwKHQpKX0sTz17bWFwOkwsZm9yRWFjaDpMLGNvdW50OmZ1bmN0aW9uKG4pe3JldHVybiBuP3IobikubGVuZ3RoOjB9LG9ubHk6ZnVuY3Rpb24obil7dmFyIHQ9cihuKTtpZigxIT09dC5sZW5ndGgpdGhyb3dcIkNoaWxkcmVuLm9ubHlcIjtyZXR1cm4gdFswXX0sdG9BcnJheTpyfSxGPWUuX19lO2UuX19lPWZ1bmN0aW9uKG4sdCxlLHIpe2lmKG4udGhlbilmb3IodmFyIHUsbz10O289by5fXzspaWYoKHU9by5fX2MpJiZ1Ll9fYylyZXR1cm4gbnVsbD09dC5fX2UmJih0Ll9fZT1lLl9fZSx0Ll9faz1lLl9fayksdS5fX2Mobix0KTtGKG4sdCxlLHIpfTt2YXIgVT1lLnVubW91bnQ7ZnVuY3Rpb24gVihuLHQsZSl7cmV0dXJuIG4mJihuLl9fYyYmbi5fX2MuX19IJiYobi5fX2MuX19ILl9fLmZvckVhY2goZnVuY3Rpb24obil7XCJmdW5jdGlvblwiPT10eXBlb2Ygbi5fX2MmJm4uX19jKCl9KSxuLl9fYy5fX0g9bnVsbCksbnVsbCE9KG49Zyh7fSxuKSkuX19jJiYobi5fX2MuX19QPT09ZSYmKG4uX19jLl9fUD10KSxuLl9fYz1udWxsKSxuLl9faz1uLl9fayYmbi5fX2subWFwKGZ1bmN0aW9uKG4pe3JldHVybiBWKG4sdCxlKX0pKSxufWZ1bmN0aW9uIFcobix0LGUpe3JldHVybiBuJiZlJiYobi5fX3Y9bnVsbCxuLl9faz1uLl9fayYmbi5fX2subWFwKGZ1bmN0aW9uKG4pe3JldHVybiBXKG4sdCxlKX0pLG4uX19jJiZuLl9fYy5fX1A9PT10JiYobi5fX2UmJmUuYXBwZW5kQ2hpbGQobi5fX2UpLG4uX19jLl9fZT0hMCxuLl9fYy5fX1A9ZSkpLG59ZnVuY3Rpb24gUCgpe3RoaXMuX191PTAsdGhpcy5vPW51bGwsdGhpcy5fX2I9bnVsbH1mdW5jdGlvbiBqKG4pe3ZhciB0PW4uX18uX19jO3JldHVybiB0JiZ0Ll9fYSYmdC5fX2Eobil9ZnVuY3Rpb24geihuKXt2YXIgZSxyLHU7ZnVuY3Rpb24gbyhvKXtpZihlfHwoZT1uKCkpLnRoZW4oZnVuY3Rpb24obil7cj1uLmRlZmF1bHR8fG59LGZ1bmN0aW9uKG4pe3U9bn0pLHUpdGhyb3cgdTtpZighcil0aHJvdyBlO3JldHVybiB0KHIsbyl9cmV0dXJuIG8uZGlzcGxheU5hbWU9XCJMYXp5XCIsby5fX2Y9ITAsb31mdW5jdGlvbiBCKCl7dGhpcy5pPW51bGwsdGhpcy5sPW51bGx9ZS51bm1vdW50PWZ1bmN0aW9uKG4pe3ZhciB0PW4uX19jO3QmJnQuX19SJiZ0Ll9fUigpLHQmJjMyJm4uX191JiYobi50eXBlPW51bGwpLFUmJlUobil9LChQLnByb3RvdHlwZT1uZXcgbikuX19jPWZ1bmN0aW9uKG4sdCl7dmFyIGU9dC5fX2Mscj10aGlzO251bGw9PXIubyYmKHIubz1bXSksci5vLnB1c2goZSk7dmFyIHU9aihyLl9fdiksbz0hMSxpPWZ1bmN0aW9uKCl7b3x8KG89ITAsZS5fX1I9bnVsbCx1P3UoYyk6YygpKX07ZS5fX1I9aTt2YXIgYz1mdW5jdGlvbigpe2lmKCEtLXIuX191KXtpZihyLnN0YXRlLl9fYSl7dmFyIG49ci5zdGF0ZS5fX2E7ci5fX3YuX19rWzBdPVcobixuLl9fYy5fX1Asbi5fX2MuX19PKX12YXIgdDtmb3Ioci5zZXRTdGF0ZSh7X19hOnIuX19iPW51bGx9KTt0PXIuby5wb3AoKTspdC5mb3JjZVVwZGF0ZSgpfX07ci5fX3UrK3x8MzImdC5fX3V8fHIuc2V0U3RhdGUoe19fYTpyLl9fYj1yLl9fdi5fX2tbMF19KSxuLnRoZW4oaSxpKX0sUC5wcm90b3R5cGUuY29tcG9uZW50V2lsbFVubW91bnQ9ZnVuY3Rpb24oKXt0aGlzLm89W119LFAucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihuLGUpe2lmKHRoaXMuX19iKXtpZih0aGlzLl9fdi5fX2spe3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksbz10aGlzLl9fdi5fX2tbMF0uX19jO3RoaXMuX192Ll9fa1swXT1WKHRoaXMuX19iLHIsby5fX089by5fX1ApfXRoaXMuX19iPW51bGx9dmFyIGk9ZS5fX2EmJnQodSxudWxsLG4uZmFsbGJhY2spO3JldHVybiBpJiYoaS5fX3UmPS0zMyksW3QodSxudWxsLGUuX19hP251bGw6bi5jaGlsZHJlbiksaV19O3ZhciBIPWZ1bmN0aW9uKG4sdCxlKXtpZigrK2VbMV09PT1lWzBdJiZuLmwuZGVsZXRlKHQpLG4ucHJvcHMucmV2ZWFsT3JkZXImJihcInRcIiE9PW4ucHJvcHMucmV2ZWFsT3JkZXJbMF18fCFuLmwuc2l6ZSkpZm9yKGU9bi5pO2U7KXtmb3IoO2UubGVuZ3RoPjM7KWUucG9wKCkoKTtpZihlWzFdPGVbMF0pYnJlYWs7bi5pPWU9ZVsyXX19O2Z1bmN0aW9uIFoobil7cmV0dXJuIHRoaXMuZ2V0Q2hpbGRDb250ZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIG4uY29udGV4dH0sbi5jaGlsZHJlbn1mdW5jdGlvbiBZKG4pe3ZhciBlPXRoaXMscj1uLmg7ZS5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe28obnVsbCxlLnYpLGUudj1udWxsLGUuaD1udWxsfSxlLmgmJmUuaCE9PXImJmUuY29tcG9uZW50V2lsbFVubW91bnQoKSxlLnZ8fChlLmg9cixlLnY9e25vZGVUeXBlOjEscGFyZW50Tm9kZTpyLGNoaWxkTm9kZXM6W10sY29udGFpbnM6ZnVuY3Rpb24oKXtyZXR1cm4hMH0sYXBwZW5kQ2hpbGQ6ZnVuY3Rpb24obil7dGhpcy5jaGlsZE5vZGVzLnB1c2gobiksZS5oLmFwcGVuZENoaWxkKG4pfSxpbnNlcnRCZWZvcmU6ZnVuY3Rpb24obix0KXt0aGlzLmNoaWxkTm9kZXMucHVzaChuKSxlLmguaW5zZXJ0QmVmb3JlKG4sdCl9LHJlbW92ZUNoaWxkOmZ1bmN0aW9uKG4pe3RoaXMuY2hpbGROb2Rlcy5zcGxpY2UodGhpcy5jaGlsZE5vZGVzLmluZGV4T2Yobik+Pj4xLDEpLGUuaC5yZW1vdmVDaGlsZChuKX19KSxvKHQoWix7Y29udGV4dDplLmNvbnRleHR9LG4uX192KSxlLnYpfWZ1bmN0aW9uICQobixlKXt2YXIgcj10KFkse19fdjpuLGg6ZX0pO3JldHVybiByLmNvbnRhaW5lckluZm89ZSxyfShCLnByb3RvdHlwZT1uZXcgbikuX19hPWZ1bmN0aW9uKG4pe3ZhciB0PXRoaXMsZT1qKHQuX192KSxyPXQubC5nZXQobik7cmV0dXJuIHJbMF0rKyxmdW5jdGlvbih1KXt2YXIgbz1mdW5jdGlvbigpe3QucHJvcHMucmV2ZWFsT3JkZXI/KHIucHVzaCh1KSxIKHQsbixyKSk6dSgpfTtlP2Uobyk6bygpfX0sQi5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKG4pe3RoaXMuaT1udWxsLHRoaXMubD1uZXcgTWFwO3ZhciB0PXIobi5jaGlsZHJlbik7bi5yZXZlYWxPcmRlciYmXCJiXCI9PT1uLnJldmVhbE9yZGVyWzBdJiZ0LnJldmVyc2UoKTtmb3IodmFyIGU9dC5sZW5ndGg7ZS0tOyl0aGlzLmwuc2V0KHRbZV0sdGhpcy5pPVsxLDAsdGhpcy5pXSk7cmV0dXJuIG4uY2hpbGRyZW59LEIucHJvdG90eXBlLmNvbXBvbmVudERpZFVwZGF0ZT1CLnByb3RvdHlwZS5jb21wb25lbnREaWRNb3VudD1mdW5jdGlvbigpe3ZhciBuPXRoaXM7dGhpcy5sLmZvckVhY2goZnVuY3Rpb24odCxlKXtIKG4sZSx0KX0pfTt2YXIgcT1cInVuZGVmaW5lZFwiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuZm9yJiZTeW1ib2wuZm9yKFwicmVhY3QuZWxlbWVudFwiKXx8NjAxMDMsRz0vXig/OmFjY2VudHxhbGlnbm1lbnR8YXJhYmljfGJhc2VsaW5lfGNhcHxjbGlwKD8hUGF0aFUpfGNvbG9yfGRvbWluYW50fGZpbGx8Zmxvb2R8Zm9udHxnbHlwaCg/IVIpfGhvcml6fGltYWdlKCFTKXxsZXR0ZXJ8bGlnaHRpbmd8bWFya2VyKD8hSHxXfFUpfG92ZXJsaW5lfHBhaW50fHBvaW50ZXJ8c2hhcGV8c3RvcHxzdHJpa2V0aHJvdWdofHN0cm9rZXx0ZXh0KD8hTCl8dHJhbnNmb3JtfHVuZGVybGluZXx1bmljb2RlfHVuaXRzfHZ8dmVjdG9yfHZlcnR8d29yZHx3cml0aW5nfHgoPyFDKSlbQS1aXS8sSj0vXm9uKEFuaXxUcmF8VG91fEJlZm9yZUlucHxDb21wbykvLEs9L1tBLVowLTldL2csUT1cInVuZGVmaW5lZFwiIT10eXBlb2YgZG9jdW1lbnQsWD1mdW5jdGlvbihuKXtyZXR1cm4oXCJ1bmRlZmluZWRcIiE9dHlwZW9mIFN5bWJvbCYmXCJzeW1ib2xcIj09dHlwZW9mIFN5bWJvbCgpPy9maWx8Y2hlfHJhZC86L2ZpbHxjaGV8cmEvKS50ZXN0KG4pfTtmdW5jdGlvbiBubihuLHQsZSl7cmV0dXJuIG51bGw9PXQuX19rJiYodC50ZXh0Q29udGVudD1cIlwiKSxvKG4sdCksXCJmdW5jdGlvblwiPT10eXBlb2YgZSYmZSgpLG4/bi5fX2M6bnVsbH1mdW5jdGlvbiB0bihuLHQsZSl7cmV0dXJuIGkobix0KSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBlJiZlKCksbj9uLl9fYzpudWxsfW4ucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sW1wiY29tcG9uZW50V2lsbE1vdW50XCIsXCJjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzXCIsXCJjb21wb25lbnRXaWxsVXBkYXRlXCJdLmZvckVhY2goZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4ucHJvdG90eXBlLHQse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1tcIlVOU0FGRV9cIit0XX0sc2V0OmZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLHQse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpufSl9fSl9KTt2YXIgZW49ZS5ldmVudDtmdW5jdGlvbiBybigpe31mdW5jdGlvbiB1bigpe3JldHVybiB0aGlzLmNhbmNlbEJ1YmJsZX1mdW5jdGlvbiBvbigpe3JldHVybiB0aGlzLmRlZmF1bHRQcmV2ZW50ZWR9ZS5ldmVudD1mdW5jdGlvbihuKXtyZXR1cm4gZW4mJihuPWVuKG4pKSxuLnBlcnNpc3Q9cm4sbi5pc1Byb3BhZ2F0aW9uU3RvcHBlZD11bixuLmlzRGVmYXVsdFByZXZlbnRlZD1vbixuLm5hdGl2ZUV2ZW50PW59O3ZhciBjbixsbj17ZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xhc3N9fSxmbj1lLnZub2RlO2Uudm5vZGU9ZnVuY3Rpb24obil7XCJzdHJpbmdcIj09dHlwZW9mIG4udHlwZSYmZnVuY3Rpb24obil7dmFyIHQ9bi5wcm9wcyxlPW4udHlwZSx1PXt9LG89LTE9PT1lLmluZGV4T2YoXCItXCIpO2Zvcih2YXIgaSBpbiB0KXt2YXIgYz10W2ldO2lmKCEoXCJ2YWx1ZVwiPT09aSYmXCJkZWZhdWx0VmFsdWVcImluIHQmJm51bGw9PWN8fFEmJlwiY2hpbGRyZW5cIj09PWkmJlwibm9zY3JpcHRcIj09PWV8fFwiY2xhc3NcIj09PWl8fFwiY2xhc3NOYW1lXCI9PT1pKSl7dmFyIGw9aS50b0xvd2VyQ2FzZSgpO1wiZGVmYXVsdFZhbHVlXCI9PT1pJiZcInZhbHVlXCJpbiB0JiZudWxsPT10LnZhbHVlP2k9XCJ2YWx1ZVwiOlwiZG93bmxvYWRcIj09PWkmJiEwPT09Yz9jPVwiXCI6XCJ0cmFuc2xhdGVcIj09PWwmJlwibm9cIj09PWM/Yz0hMTpcIm9cIj09PWxbMF0mJlwiblwiPT09bFsxXT9cIm9uZG91YmxlY2xpY2tcIj09PWw/aT1cIm9uZGJsY2xpY2tcIjpcIm9uY2hhbmdlXCIhPT1sfHxcImlucHV0XCIhPT1lJiZcInRleHRhcmVhXCIhPT1lfHxYKHQudHlwZSk/XCJvbmZvY3VzXCI9PT1sP2k9XCJvbmZvY3VzaW5cIjpcIm9uYmx1clwiPT09bD9pPVwib25mb2N1c291dFwiOkoudGVzdChpKSYmKGk9bCk6bD1pPVwib25pbnB1dFwiOm8mJkcudGVzdChpKT9pPWkucmVwbGFjZShLLFwiLSQmXCIpLnRvTG93ZXJDYXNlKCk6bnVsbD09PWMmJihjPXZvaWQgMCksXCJvbmlucHV0XCI9PT1sJiZ1W2k9bF0mJihpPVwib25pbnB1dENhcHR1cmVcIiksdVtpXT1jfX1cInNlbGVjdFwiPT1lJiZ1Lm11bHRpcGxlJiZBcnJheS5pc0FycmF5KHUudmFsdWUpJiYodS52YWx1ZT1yKHQuY2hpbGRyZW4pLmZvckVhY2goZnVuY3Rpb24obil7bi5wcm9wcy5zZWxlY3RlZD0tMSE9dS52YWx1ZS5pbmRleE9mKG4ucHJvcHMudmFsdWUpfSkpLFwic2VsZWN0XCI9PWUmJm51bGwhPXUuZGVmYXVsdFZhbHVlJiYodS52YWx1ZT1yKHQuY2hpbGRyZW4pLmZvckVhY2goZnVuY3Rpb24obil7bi5wcm9wcy5zZWxlY3RlZD11Lm11bHRpcGxlPy0xIT11LmRlZmF1bHRWYWx1ZS5pbmRleE9mKG4ucHJvcHMudmFsdWUpOnUuZGVmYXVsdFZhbHVlPT1uLnByb3BzLnZhbHVlfSkpLHQuY2xhc3MmJiF0LmNsYXNzTmFtZT8odS5jbGFzcz10LmNsYXNzLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LFwiY2xhc3NOYW1lXCIsbG4pKToodC5jbGFzc05hbWUmJiF0LmNsYXNzfHx0LmNsYXNzJiZ0LmNsYXNzTmFtZSkmJih1LmNsYXNzPXUuY2xhc3NOYW1lPXQuY2xhc3NOYW1lKSxuLnByb3BzPXV9KG4pLG4uJCR0eXBlb2Y9cSxmbiYmZm4obil9O3ZhciBhbj1lLl9fcjtlLl9fcj1mdW5jdGlvbihuKXthbiYmYW4obiksY249bi5fX2N9O3ZhciBzbj1lLmRpZmZlZDtlLmRpZmZlZD1mdW5jdGlvbihuKXtzbiYmc24obik7dmFyIHQ9bi5wcm9wcyxlPW4uX19lO251bGwhPWUmJlwidGV4dGFyZWFcIj09PW4udHlwZSYmXCJ2YWx1ZVwiaW4gdCYmdC52YWx1ZSE9PWUudmFsdWUmJihlLnZhbHVlPW51bGw9PXQudmFsdWU/XCJcIjp0LnZhbHVlKSxjbj1udWxsfTt2YXIgaG49e1JlYWN0Q3VycmVudERpc3BhdGNoZXI6e2N1cnJlbnQ6e3JlYWRDb250ZXh0OmZ1bmN0aW9uKG4pe3JldHVybiBjbi5fX25bbi5fX2NdLnByb3BzLnZhbHVlfSx1c2VDYWxsYmFjazp2LHVzZUNvbnRleHQ6ZCx1c2VEZWJ1Z1ZhbHVlOnAsdXNlRGVmZXJyZWRWYWx1ZTp3LHVzZUVmZmVjdDpoLHVzZUlkOm0sdXNlSW1wZXJhdGl2ZUhhbmRsZTp5LHVzZUluc2VydGlvbkVmZmVjdDpJLHVzZUxheW91dEVmZmVjdDpzLHVzZU1lbW86Xyx1c2VSZWR1Y2VyOmIsdXNlUmVmOlMsdXNlU3RhdGU6YSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpDLHVzZVRyYW5zaXRpb246a319fSx2bj1cIjE4LjMuMVwiO2Z1bmN0aW9uIGRuKG4pe3JldHVybiB0LmJpbmQobnVsbCxuKX1mdW5jdGlvbiBwbihuKXtyZXR1cm4hIW4mJm4uJCR0eXBlb2Y9PT1xfWZ1bmN0aW9uIG1uKG4pe3JldHVybiBwbihuKSYmbi50eXBlPT09dX1mdW5jdGlvbiB5bihuKXtyZXR1cm4hIW4mJiEhbi5kaXNwbGF5TmFtZSYmKFwic3RyaW5nXCI9PXR5cGVvZiBuLmRpc3BsYXlOYW1lfHxuLmRpc3BsYXlOYW1lIGluc3RhbmNlb2YgU3RyaW5nKSYmbi5kaXNwbGF5TmFtZS5zdGFydHNXaXRoKFwiTWVtbyhcIil9ZnVuY3Rpb24gX24obil7cmV0dXJuIHBuKG4pP2YuYXBwbHkobnVsbCxhcmd1bWVudHMpOm59ZnVuY3Rpb24gYm4obil7cmV0dXJuISFuLl9fayYmKG8obnVsbCxuKSwhMCl9ZnVuY3Rpb24gU24obil7cmV0dXJuIG4mJihuLmJhc2V8fDE9PT1uLm5vZGVUeXBlJiZuKXx8bnVsbH12YXIgZ249ZnVuY3Rpb24obix0KXtyZXR1cm4gbih0KX0sRW49ZnVuY3Rpb24obix0KXtyZXR1cm4gbih0KX0sQ249dSx4bj1wbixSbj17dXNlU3RhdGU6YSx1c2VJZDptLHVzZVJlZHVjZXI6Yix1c2VFZmZlY3Q6aCx1c2VMYXlvdXRFZmZlY3Q6cyx1c2VJbnNlcnRpb25FZmZlY3Q6SSx1c2VUcmFuc2l0aW9uOmssdXNlRGVmZXJyZWRWYWx1ZTp3LHVzZVN5bmNFeHRlcm5hbFN0b3JlOkMsc3RhcnRUcmFuc2l0aW9uOlIsdXNlUmVmOlMsdXNlSW1wZXJhdGl2ZUhhbmRsZTp5LHVzZU1lbW86Xyx1c2VDYWxsYmFjazp2LHVzZUNvbnRleHQ6ZCx1c2VEZWJ1Z1ZhbHVlOnAsdmVyc2lvbjpcIjE4LjMuMVwiLENoaWxkcmVuOk8scmVuZGVyOm5uLGh5ZHJhdGU6dG4sdW5tb3VudENvbXBvbmVudEF0Tm9kZTpibixjcmVhdGVQb3J0YWw6JCxjcmVhdGVFbGVtZW50OnQsY3JlYXRlQ29udGV4dDpjLGNyZWF0ZUZhY3Rvcnk6ZG4sY2xvbmVFbGVtZW50Ol9uLGNyZWF0ZVJlZjpsLEZyYWdtZW50OnUsaXNWYWxpZEVsZW1lbnQ6cG4saXNFbGVtZW50OnhuLGlzRnJhZ21lbnQ6bW4saXNNZW1vOnluLGZpbmRET01Ob2RlOlNuLENvbXBvbmVudDpuLFB1cmVDb21wb25lbnQ6TixtZW1vOk0sZm9yd2FyZFJlZjpELGZsdXNoU3luYzpFbix1bnN0YWJsZV9iYXRjaGVkVXBkYXRlczpnbixTdHJpY3RNb2RlOkNuLFN1c3BlbnNlOlAsU3VzcGVuc2VMaXN0OkIsbGF6eTp6LF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEOmhufTtleHBvcnR7TyBhcyBDaGlsZHJlbixOIGFzIFB1cmVDb21wb25lbnQsQ24gYXMgU3RyaWN0TW9kZSxQIGFzIFN1c3BlbnNlLEIgYXMgU3VzcGVuc2VMaXN0LGhuIGFzIF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVELF9uIGFzIGNsb25lRWxlbWVudCxkbiBhcyBjcmVhdGVGYWN0b3J5LCQgYXMgY3JlYXRlUG9ydGFsLFJuIGFzIGRlZmF1bHQsU24gYXMgZmluZERPTU5vZGUsRW4gYXMgZmx1c2hTeW5jLEQgYXMgZm9yd2FyZFJlZix0biBhcyBoeWRyYXRlLHhuIGFzIGlzRWxlbWVudCxtbiBhcyBpc0ZyYWdtZW50LHluIGFzIGlzTWVtbyxwbiBhcyBpc1ZhbGlkRWxlbWVudCx6IGFzIGxhenksTSBhcyBtZW1vLG5uIGFzIHJlbmRlcixSIGFzIHN0YXJ0VHJhbnNpdGlvbixibiBhcyB1bm1vdW50Q29tcG9uZW50QXROb2RlLGduIGFzIHVuc3RhYmxlX2JhdGNoZWRVcGRhdGVzLHcgYXMgdXNlRGVmZXJyZWRWYWx1ZSxJIGFzIHVzZUluc2VydGlvbkVmZmVjdCxDIGFzIHVzZVN5bmNFeHRlcm5hbFN0b3JlLGsgYXMgdXNlVHJhbnNpdGlvbix2biBhcyB2ZXJzaW9ufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbXBhdC5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///763\n')},877:function(module,exports,__webpack_require__){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(763), __webpack_require__(556), __webpack_require__(225), __webpack_require__(517)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _react, _propTypes, _Tooltip, _InfotipIcon) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports["default"] = void 0;\n _react = _interopRequireDefault(_react);\n _propTypes = _interopRequireDefault(_propTypes);\n _Tooltip = _interopRequireDefault(_Tooltip);\n _InfotipIcon = _interopRequireDefault(_InfotipIcon);\n var _excluded = ["label", "lightIcon"];\n function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }\n function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\n function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n var BUTTON_SIZE = "16px";\n var buttonStyle = {\n background: "transparent",\n border: 0,\n padding: 0,\n width: BUTTON_SIZE,\n height: BUTTON_SIZE,\n WebkitTouchCallout: "none",\n WebkitUserSelect: "none",\n userSelect: "none"\n };\n\n // Use basic touch handlers for mobile "tap-to-open" ui. Mobile touch\n // is currently not supported by @reach/tooltip; this may change in future.\n // Leverages @reach/tooltip "focus" behavior to open tooltip on tap,\n // and close tooltip on second tap or loss of focus.\n // TODO: We may want to improve this by tracking touch positions to ensure\n // that a \'touchend\' event must be reasonably close to the tooltip target.\n var touchHandlers = {\n onTouchStart: function onTouchStart(e) {\n e.stopPropagation();\n },\n onTouchEnd: function onTouchEnd(e) {\n if (document.activeElement !== e.currentTarget) {\n e.preventDefault();\n e.currentTarget.focus();\n } else {\n e.preventDefault();\n e.currentTarget.blur();\n }\n }\n };\n\n /**\n * Tooltip with styled information icon\n */\n var Infotip = function Infotip(_ref) {\n var label = _ref.label,\n lightIcon = _ref.lightIcon,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], _extends({\n label: label\n }, props), /*#__PURE__*/_react["default"].createElement("button", _extends({\n type: "button",\n "aria-label": "Information",\n style: buttonStyle\n }, touchHandlers), /*#__PURE__*/_react["default"].createElement(_InfotipIcon["default"], {\n lightIcon: lightIcon,\n width: BUTTON_SIZE,\n height: BUTTON_SIZE,\n "aria-hidden": true,\n style: {\n "float": "left"\n }\n })));\n };\n Infotip.propTypes = {\n label: _propTypes["default"].string.isRequired,\n ariaLabel: _propTypes["default"].string,\n lightIcon: _propTypes["default"].bool,\n DEBUG_STYLE: _propTypes["default"].bool\n };\n Infotip.defaultProps = {\n ariaLabel: undefined,\n lightIcon: false,\n DEBUG_STYLE: undefined\n };\n var _default = _exports["default"] = Infotip;\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiODc3LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBS0EsSUFBTUEsV0FBVyxHQUFHLE1BQU07RUFFMUIsSUFBTUMsV0FBVyxHQUFHO0lBQ2hCQyxVQUFVLEVBQUUsYUFBYTtJQUN6QkMsTUFBTSxFQUFFLENBQUM7SUFDVEMsT0FBTyxFQUFFLENBQUM7SUFDVkMsS0FBSyxFQUFFTCxXQUFXO0lBQ2xCTSxNQUFNLEVBQUVOLFdBQVc7SUFDbkJPLGtCQUFrQixFQUFFLE1BQU07SUFDMUJDLGdCQUFnQixFQUFFLE1BQU07SUFDeEJDLFVBQVUsRUFBRTtFQUNoQixDQUFDOztFQUVEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLElBQU1DLGFBQWEsR0FBRztJQUNsQkMsWUFBWSxFQUFFLFNBQWRBLFlBQVlBLENBQUdDLENBQUMsRUFBSztNQUNqQkEsQ0FBQyxDQUFDQyxlQUFlLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBQ0RDLFVBQVUsRUFBRSxTQUFaQSxVQUFVQSxDQUFHRixDQUFDLEVBQUs7TUFDZixJQUFJRyxRQUFRLENBQUNDLGFBQWEsS0FBS0osQ0FBQyxDQUFDSyxhQUFhLEVBQUU7UUFDNUNMLENBQUMsQ0FBQ00sY0FBYyxDQUFDLENBQUM7UUFDbEJOLENBQUMsQ0FBQ0ssYUFBYSxDQUFDRSxLQUFLLENBQUMsQ0FBQztNQUMzQixDQUFDLE1BQU07UUFDSFAsQ0FBQyxDQUFDTSxjQUFjLENBQUMsQ0FBQztRQUNsQk4sQ0FBQyxDQUFDSyxhQUFhLENBQUNHLElBQUksQ0FBQyxDQUFDO01BQzFCO0lBQ0o7RUFDSixDQUFDOztFQUVEO0FBQ0E7QUFDQTtFQUNBLElBQU1DLE9BQU8sR0FBRyxTQUFWQSxPQUFPQSxDQUFBQyxJQUFBO0lBQUEsSUFBTUMsS0FBSyxHQUFBRCxJQUFBLENBQUxDLEtBQUs7TUFBRUMsU0FBUyxHQUFBRixJQUFBLENBQVRFLFNBQVM7TUFBS0MsS0FBSyxHQUFBQyx3QkFBQSxDQUFBSixJQUFBLEVBQUFLLFNBQUE7SUFBQSxvQkFDekNDLE1BQUEsWUFBQUMsYUFBQSxDQUFDQyxRQUFBLFdBQU8sRUFBQUMsUUFBQTtNQUFDUixLQUFLLEVBQUVBO0lBQU0sR0FBS0UsS0FBSyxnQkFDNUJHLE1BQUEsWUFBQUMsYUFBQSxXQUFBRSxRQUFBO01BQ0lDLElBQUksRUFBQyxRQUFRO01BQ2IsY0FBVyxhQUFhO01BQ3hCQyxLQUFLLEVBQUVoQztJQUFZLEdBQ2ZTLGFBQWEsZ0JBRWpCa0IsTUFBQSxZQUFBQyxhQUFBLENBQUNLLFlBQUEsV0FBVztNQUNSVixTQUFTLEVBQUVBLFNBQVU7TUFDckJuQixLQUFLLEVBQUVMLFdBQVk7TUFDbkJNLE1BQU0sRUFBRU4sV0FBWTtNQUNwQixtQkFBVztNQUNYaUMsS0FBSyxFQUFFO1FBQUUsU0FBTztNQUFPO0lBQUUsQ0FDNUIsQ0FDRyxDQUNILENBQUM7RUFBQSxDQUNiO0VBRURaLE9BQU8sQ0FBQ2MsU0FBUyxHQUFHO0lBQ2hCWixLQUFLLEVBQUVhLHFCQUFTLENBQUNDLE1BQU0sQ0FBQ0MsVUFBVTtJQUNsQ0MsU0FBUyxFQUFFSCxxQkFBUyxDQUFDQyxNQUFNO0lBQzNCYixTQUFTLEVBQUVZLHFCQUFTLENBQUNJLElBQUk7SUFDekJDLFdBQVcsRUFBRUwscUJBQVMsQ0FBQ0k7RUFDM0IsQ0FBQztFQUVEbkIsT0FBTyxDQUFDcUIsWUFBWSxHQUFHO0lBQ25CSCxTQUFTLEVBQUVJLFNBQVM7SUFDcEJuQixTQUFTLEVBQUUsS0FBSztJQUNoQmlCLFdBQVcsRUFBRUU7RUFDakIsQ0FBQztFQUFDLElBQUFDLFFBQUEsR0FBQUMsUUFBQSxjQUVheEIsT0FBTztBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9jb21wb25lbnRzL0luZm90aXAvSW5mb3RpcC5qc3g/Y2M4OCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5pbXBvcnQgVG9vbHRpcCBmcm9tIFwiLi4vVG9vbHRpcFwiO1xuaW1wb3J0IEluZm90aXBJY29uIGZyb20gXCIuL0luZm90aXBJY29uXCI7XG5cbmNvbnN0IEJVVFRPTl9TSVpFID0gXCIxNnB4XCI7XG5cbmNvbnN0IGJ1dHRvblN0eWxlID0ge1xuICAgIGJhY2tncm91bmQ6IFwidHJhbnNwYXJlbnRcIixcbiAgICBib3JkZXI6IDAsXG4gICAgcGFkZGluZzogMCxcbiAgICB3aWR0aDogQlVUVE9OX1NJWkUsXG4gICAgaGVpZ2h0OiBCVVRUT05fU0laRSxcbiAgICBXZWJraXRUb3VjaENhbGxvdXQ6IFwibm9uZVwiLFxuICAgIFdlYmtpdFVzZXJTZWxlY3Q6IFwibm9uZVwiLFxuICAgIHVzZXJTZWxlY3Q6IFwibm9uZVwiLFxufTtcblxuLy8gVXNlIGJhc2ljIHRvdWNoIGhhbmRsZXJzIGZvciBtb2JpbGUgXCJ0YXAtdG8tb3BlblwiIHVpLiAgTW9iaWxlIHRvdWNoXG4vLyBpcyBjdXJyZW50bHkgbm90IHN1cHBvcnRlZCBieSBAcmVhY2gvdG9vbHRpcDsgdGhpcyBtYXkgY2hhbmdlIGluIGZ1dHVyZS5cbi8vIExldmVyYWdlcyBAcmVhY2gvdG9vbHRpcCBcImZvY3VzXCIgYmVoYXZpb3IgdG8gb3BlbiB0b29sdGlwIG9uIHRhcCxcbi8vIGFuZCBjbG9zZSB0b29sdGlwIG9uIHNlY29uZCB0YXAgb3IgbG9zcyBvZiBmb2N1cy5cbi8vIFRPRE86IFdlIG1heSB3YW50IHRvIGltcHJvdmUgdGhpcyBieSB0cmFja2luZyB0b3VjaCBwb3NpdGlvbnMgdG8gZW5zdXJlXG4vLyB0aGF0IGEgJ3RvdWNoZW5kJyBldmVudCBtdXN0IGJlIHJlYXNvbmFibHkgY2xvc2UgdG8gdGhlIHRvb2x0aXAgdGFyZ2V0LlxuY29uc3QgdG91Y2hIYW5kbGVycyA9IHtcbiAgICBvblRvdWNoU3RhcnQ6IChlKSA9PiB7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfSxcbiAgICBvblRvdWNoRW5kOiAoZSkgPT4ge1xuICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAhPT0gZS5jdXJyZW50VGFyZ2V0KSB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBlLmN1cnJlbnRUYXJnZXQuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGUuY3VycmVudFRhcmdldC5ibHVyKCk7XG4gICAgICAgIH1cbiAgICB9LFxufTtcblxuLyoqXG4gKiBUb29sdGlwIHdpdGggc3R5bGVkIGluZm9ybWF0aW9uIGljb25cbiAqL1xuY29uc3QgSW5mb3RpcCA9ICh7IGxhYmVsLCBsaWdodEljb24sIC4uLnByb3BzIH0pID0+IChcbiAgICA8VG9vbHRpcCBsYWJlbD17bGFiZWx9IHsuLi5wcm9wc30+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkluZm9ybWF0aW9uXCJcbiAgICAgICAgICAgIHN0eWxlPXtidXR0b25TdHlsZX1cbiAgICAgICAgICAgIHsuLi50b3VjaEhhbmRsZXJzfVxuICAgICAgICA+XG4gICAgICAgICAgICA8SW5mb3RpcEljb25cbiAgICAgICAgICAgICAgICBsaWdodEljb249e2xpZ2h0SWNvbn1cbiAgICAgICAgICAgICAgICB3aWR0aD17QlVUVE9OX1NJWkV9XG4gICAgICAgICAgICAgICAgaGVpZ2h0PXtCVVRUT05fU0laRX1cbiAgICAgICAgICAgICAgICBhcmlhLWhpZGRlblxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IGZsb2F0OiBcImxlZnRcIiB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9Ub29sdGlwPlxuKTtcblxuSW5mb3RpcC5wcm9wVHlwZXMgPSB7XG4gICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBhcmlhTGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbGlnaHRJY29uOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBERUJVR19TVFlMRTogUHJvcFR5cGVzLmJvb2wsXG59O1xuXG5JbmZvdGlwLmRlZmF1bHRQcm9wcyA9IHtcbiAgICBhcmlhTGFiZWw6IHVuZGVmaW5lZCxcbiAgICBsaWdodEljb246IGZhbHNlLFxuICAgIERFQlVHX1NUWUxFOiB1bmRlZmluZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBJbmZvdGlwO1xuIl0sIm5hbWVzIjpbIkJVVFRPTl9TSVpFIiwiYnV0dG9uU3R5bGUiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyIiwicGFkZGluZyIsIndpZHRoIiwiaGVpZ2h0IiwiV2Via2l0VG91Y2hDYWxsb3V0IiwiV2Via2l0VXNlclNlbGVjdCIsInVzZXJTZWxlY3QiLCJ0b3VjaEhhbmRsZXJzIiwib25Ub3VjaFN0YXJ0IiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsIm9uVG91Y2hFbmQiLCJkb2N1bWVudCIsImFjdGl2ZUVsZW1lbnQiLCJjdXJyZW50VGFyZ2V0IiwicHJldmVudERlZmF1bHQiLCJmb2N1cyIsImJsdXIiLCJJbmZvdGlwIiwiX3JlZiIsImxhYmVsIiwibGlnaHRJY29uIiwicHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJfcmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiX1Rvb2x0aXAiLCJfZXh0ZW5kcyIsInR5cGUiLCJzdHlsZSIsIl9JbmZvdGlwSWNvbiIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImlzUmVxdWlyZWQiLCJhcmlhTGFiZWwiLCJib29sIiwiREVCVUdfU1RZTEUiLCJkZWZhdWx0UHJvcHMiLCJ1bmRlZmluZWQiLCJfZGVmYXVsdCIsIl9leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///877\n')},888:function(module,exports,__webpack_require__){eval('var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(763), __webpack_require__(172), __webpack_require__(556)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === \'function\' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else { var mod; }\n})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _react, _Collapsible, _propTypes) {\n "use strict";\n\n Object.defineProperty(_exports, "__esModule", {\n value: true\n });\n _exports["default"] = void 0;\n _react = _interopRequireDefault(_react);\n _Collapsible = _interopRequireDefault(_Collapsible);\n _propTypes = _interopRequireDefault(_propTypes);\n function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }\n var ErrorUI = function ErrorUI(props) {\n var errorTitle = "".concat(props.type || "Error", " ").concat(props.code || "");\n var errorDetails = props.message;\n return /*#__PURE__*/_react["default"].createElement("section", {\n className: "page-error"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n className: "responsive-container"\n }, /*#__PURE__*/_react["default"].createElement("h1", null, "We\\u2019re sorry."), /*#__PURE__*/_react["default"].createElement("p", {\n className: "h2"\n }, "We cannot access this page."), /*#__PURE__*/_react["default"].createElement(_Collapsible["default"], {\n showLabel: "Open technical details about the error",\n hideLabel: "Close technical details about the error",\n contentTitle: errorTitle,\n content: errorDetails\n })));\n };\n ErrorUI.propTypes = {\n code: _propTypes["default"].string,\n message: _propTypes["default"].oneOfType([_propTypes["default"].array, _propTypes["default"].string]),\n type: _propTypes["default"].string\n };\n var _default = _exports["default"] = ErrorUI;\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiODg4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUlBLElBQU1BLE9BQU8sR0FBRyxTQUFWQSxPQUFPQSxDQUFJQyxLQUFLLEVBQUs7SUFDdkIsSUFBSUMsVUFBVSxNQUFBQyxNQUFBLENBQU1GLEtBQUssQ0FBQ0csSUFBSSxJQUFJLE9BQU8sT0FBQUQsTUFBQSxDQUFJRixLQUFLLENBQUNJLElBQUksSUFBSSxFQUFFLENBQUU7SUFDL0QsSUFBSUMsWUFBWSxHQUFHTCxLQUFLLENBQUNNLE9BQU87SUFFaEMsb0JBQ0lDLE1BQUEsWUFBQUMsYUFBQTtNQUFTQyxTQUFTLEVBQUM7SUFBWSxnQkFDM0JGLE1BQUEsWUFBQUMsYUFBQTtNQUFLQyxTQUFTLEVBQUM7SUFBc0IsZ0JBQ2pDRixNQUFBLFlBQUFDLGFBQUEsYUFBSSxtQkFBZ0IsQ0FBQyxlQUNyQkQsTUFBQSxZQUFBQyxhQUFBO01BQUdDLFNBQVMsRUFBQztJQUFJLEdBQUMsNkJBQThCLENBQUMsZUFDakRGLE1BQUEsWUFBQUMsYUFBQSxDQUFDRSxZQUFBLFdBQVc7TUFDUkMsU0FBUyxFQUFDLHdDQUF3QztNQUNsREMsU0FBUyxFQUFDLHlDQUF5QztNQUNuREMsWUFBWSxFQUFFWixVQUFXO01BQ3pCYSxPQUFPLEVBQUVUO0lBQWEsQ0FDekIsQ0FDQSxDQUNBLENBQUM7RUFFbEIsQ0FBQztFQUVETixPQUFPLENBQUNnQixTQUFTLEdBQUc7SUFDaEJYLElBQUksRUFBRVkscUJBQVMsQ0FBQ0MsTUFBTTtJQUN0QlgsT0FBTyxFQUFFVSxxQkFBUyxDQUFDRSxTQUFTLENBQUMsQ0FBQ0YscUJBQVMsQ0FBQ0csS0FBSyxFQUFFSCxxQkFBUyxDQUFDQyxNQUFNLENBQUMsQ0FBQztJQUNqRWQsSUFBSSxFQUFFYSxxQkFBUyxDQUFDQztFQUNwQixDQUFDO0VBQUMsSUFBQUcsUUFBQSxHQUFBQyxRQUFBLGNBRWF0QixPQUFPO0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL2NvbXBvbmVudHMvRXJyb3IvRXJyb3JVSS5qc3g/ZjRjZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgQ29sbGFwc2libGUgZnJvbSBcIi4vQ29sbGFwc2libGVcIjtcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIjtcblxuY29uc3QgRXJyb3JVSSA9IChwcm9wcykgPT4ge1xuICAgIGxldCBlcnJvclRpdGxlID0gYCR7cHJvcHMudHlwZSB8fCBcIkVycm9yXCJ9ICR7cHJvcHMuY29kZSB8fCBcIlwifWA7XG4gICAgbGV0IGVycm9yRGV0YWlscyA9IHByb3BzLm1lc3NhZ2U7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJwYWdlLWVycm9yXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlc3BvbnNpdmUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGgxPldl4oCZcmUgc29ycnkuPC9oMT5cbiAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJoMlwiPldlIGNhbm5vdCBhY2Nlc3MgdGhpcyBwYWdlLjwvcD5cbiAgICAgICAgICAgICAgICA8Q29sbGFwc2libGVcbiAgICAgICAgICAgICAgICAgICAgc2hvd0xhYmVsPVwiT3BlbiB0ZWNobmljYWwgZGV0YWlscyBhYm91dCB0aGUgZXJyb3JcIlxuICAgICAgICAgICAgICAgICAgICBoaWRlTGFiZWw9XCJDbG9zZSB0ZWNobmljYWwgZGV0YWlscyBhYm91dCB0aGUgZXJyb3JcIlxuICAgICAgICAgICAgICAgICAgICBjb250ZW50VGl0bGU9e2Vycm9yVGl0bGV9XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ9e2Vycm9yRGV0YWlsc31cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICApO1xufTtcblxuRXJyb3JVSS5wcm9wVHlwZXMgPSB7XG4gICAgY29kZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBtZXNzYWdlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYXJyYXksIFByb3BUeXBlcy5zdHJpbmddKSxcbiAgICB0eXBlOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgRXJyb3JVSTtcbiJdLCJuYW1lcyI6WyJFcnJvclVJIiwicHJvcHMiLCJlcnJvclRpdGxlIiwiY29uY2F0IiwidHlwZSIsImNvZGUiLCJlcnJvckRldGFpbHMiLCJtZXNzYWdlIiwiX3JlYWN0IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsIl9Db2xsYXBzaWJsZSIsInNob3dMYWJlbCIsImhpZGVMYWJlbCIsImNvbnRlbnRUaXRsZSIsImNvbnRlbnQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJvbmVPZlR5cGUiLCJhcnJheSIsIl9kZWZhdWx0IiwiX2V4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///888\n')},925:module=>{"use strict";eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOTI1LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYjs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvbGliL1JlYWN0UHJvcFR5cGVzU2VjcmV0LmpzPzU5YjAiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBSZWFjdFByb3BUeXBlc1NlY3JldCA9ICdTRUNSRVRfRE9fTk9UX1BBU1NfVEhJU19PUl9ZT1VfV0lMTF9CRV9GSVJFRCc7XG5cbm1vZHVsZS5leHBvcnRzID0gUmVhY3RQcm9wVHlwZXNTZWNyZXQ7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///925\n")},937:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ S: () => (/* binding */ canUseDOM)\n/* harmony export */ });\nfunction canUseDOM() {\n return !!(typeof window !== "undefined" && window.document && window.document.createElement);\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOTM3LmpzIiwibWFwcGluZ3MiOiI7OztBQUFBO0FBQ0E7QUFDQTs7QUFFcUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdXRpbHMvY2FuLXVzZS1kb20vZGlzdC9yZWFjaC11dGlscy1jYW4tdXNlLWRvbS5lc20uanM/ZjM3ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBjYW5Vc2VET00oKSB7XG4gIHJldHVybiAhISh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5kb2N1bWVudCAmJiB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCk7XG59XG5cbmV4cG9ydCB7IGNhblVzZURPTSB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///937\n')}},__webpack_module_cache__={};function __webpack_require__(e){var n=__webpack_module_cache__[e];if(void 0!==n)return n.exports;var t=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(t.exports,t,t.exports,__webpack_require__),t.exports}__webpack_require__.d=(e,n)=>{for(var t in n)__webpack_require__.o(n,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},__webpack_require__.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__=__webpack_require__(24);QPPStyle=__webpack_exports__})();
|