@madie/madie-design-system 1.2.88 → 1.2.89
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/dist/react/index.js +5 -5
- package/dist/react/index.js.LICENSE.txt +2 -2
- package/dist/react/index.js.map +1 -1
- package/package.json +1 -1
package/dist/browser.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var QPPStyle;(()=>{var __webpack_modules__={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) // removed by dead control flow\n{}\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) // removed by dead control flow\n{} ////////////////////////////////////////////////////////////////////////////////\n\n/* harmony default export */ const reach_portal_esm = (Portal);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNzQxLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQThDOztBQUU5QztBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrQkFBa0IsMEJBQVE7QUFDMUI7O0FBRUEsU0FBUyw2QkFBVztBQUNwQjtBQUNBLEdBQUc7QUFDSDs7QUFFMEI7OztBQ2YrQjtBQUM2QjtBQUN2QjtBQUN0QjtBQUNOOztBQUVuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0Isd0JBQU07QUFDeEIsbUJBQW1CLHdCQUFNO0FBQ3pCLG9CQUFvQixjQUFjOztBQUVsQyxNQUFNLEtBQXFDLEVBQUU7QUFBQSxFQVExQzs7QUFFSCxFQUFFLGlGQUF5QjtBQUMzQjtBQUNBLG9DQUFvQztBQUNwQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCwyQ0FBMkMsOEJBQVksOENBQThDLCtCQUFhO0FBQ2xIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQSxJQUFJLEtBQXFDLEVBQUU7QUFBQSxFQUUxQyxDQUFDOztBQUVGLHVEQUFlLE1BQU0sRUFBQztBQUNKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9ub2RlX21vZHVsZXMvQHJlYWNoL3V0aWxzL3VzZS1mb3JjZS11cGRhdGUvZGlzdC9yZWFjaC11dGlscy11c2UtZm9yY2UtdXBkYXRlLmVzbS5qcz82OTFiIiwid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL0ByZWFjaC9wb3J0YWwvZGlzdC9yZWFjaC1wb3J0YWwuZXNtLmpzP2RkYzgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuXG4vKipcbiAqIEZvcmNlcyBhIHJlLXJlbmRlciwgc2ltaWxhciB0byBgZm9yY2VVcGRhdGVgIGluIGNsYXNzIGNvbXBvbmVudHMuXG4gKi9cblxuZnVuY3Rpb24gdXNlRm9yY2VVcGRhdGUoKSB7XG4gIHZhciBfdXNlU3RhdGUgPSB1c2VTdGF0ZShPYmplY3QuY3JlYXRlKG51bGwpKSxcbiAgICAgIGRpc3BhdGNoID0gX3VzZVN0YXRlWzFdO1xuXG4gIHJldHVybiB1c2VDYWxsYmFjayhmdW5jdGlvbiAoKSB7XG4gICAgZGlzcGF0Y2goT2JqZWN0LmNyZWF0ZShudWxsKSk7XG4gIH0sIFtdKTtcbn1cblxuZXhwb3J0IHsgdXNlRm9yY2VVcGRhdGUgfTtcbiIsImltcG9ydCB7IHVzZVJlZiwgdXNlRWZmZWN0LCBjcmVhdGVFbGVtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCB9IGZyb20gJ0ByZWFjaC91dGlscy91c2UtaXNvbW9ycGhpYy1sYXlvdXQtZWZmZWN0JztcbmltcG9ydCB7IHVzZUZvcmNlVXBkYXRlIH0gZnJvbSAnQHJlYWNoL3V0aWxzL3VzZS1mb3JjZS11cGRhdGUnO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB3YXJuaW5nIGZyb20gJ3Rpbnktd2FybmluZyc7XG5cbi8qKlxuICogV2VsY29tZSB0byBAcmVhY2gvcG9ydGFsIVxuICpcbiAqIENyZWF0ZXMgYW5kIGFwcGVuZHMgYSBET00gbm9kZSB0byB0aGUgZW5kIG9mIGBkb2N1bWVudC5ib2R5YCBhbmQgcmVuZGVycyBhXG4gKiBSZWFjdCB0cmVlIGludG8gaXQuIFVzZWZ1bCBmb3IgcmVuZGVyaW5nIGEgbmF0dXJhbCBSZWFjdCBlbGVtZW50IGhpZXJhcmNoeVxuICogd2l0aCBhIGRpZmZlcmVudCBET00gaGllcmFyY2h5IHRvIHByZXZlbnQgcGFyZW50IHN0eWxlcyBmcm9tIGNsaXBwaW5nIG9yXG4gKiBoaWRpbmcgY29udGVudCAoZm9yIHBvcG92ZXJzLCBkcm9wZG93bnMsIGFuZCBtb2RhbHMpLlxuICpcbiAqIEBzZWUgRG9jcyAgIGh0dHBzOi8vcmVhY2gudGVjaC9wb3J0YWxcbiAqIEBzZWUgU291cmNlIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjaC9yZWFjaC11aS90cmVlL21haW4vcGFja2FnZXMvcG9ydGFsXG4gKiBAc2VlIFJlYWN0ICBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcG9ydGFscy5odG1sXG4gKi9cbi8qKlxuICogUG9ydGFsXG4gKlxuICogQHNlZSBEb2NzIGh0dHBzOi8vcmVhY2gudGVjaC9wb3J0YWwjcG9ydGFsXG4gKi9cblxudmFyIFBvcnRhbCA9IGZ1bmN0aW9uIFBvcnRhbChfcmVmKSB7XG4gIHZhciBjaGlsZHJlbiA9IF9yZWYuY2hpbGRyZW4sXG4gICAgICBfcmVmJHR5cGUgPSBfcmVmLnR5cGUsXG4gICAgICB0eXBlID0gX3JlZiR0eXBlID09PSB2b2lkIDAgPyBcInJlYWNoLXBvcnRhbFwiIDogX3JlZiR0eXBlLFxuICAgICAgY29udGFpbmVyUmVmID0gX3JlZi5jb250YWluZXJSZWY7XG4gIHZhciBtb3VudE5vZGUgPSB1c2VSZWYobnVsbCk7XG4gIHZhciBwb3J0YWxOb2RlID0gdXNlUmVmKG51bGwpO1xuICB2YXIgZm9yY2VVcGRhdGUgPSB1c2VGb3JjZVVwZGF0ZSgpO1xuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3NcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKGNvbnRhaW5lclJlZiAhPSBudWxsKSB7XG4gICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IHdhcm5pbmcodHlwZW9mIGNvbnRhaW5lclJlZiA9PT0gXCJvYmplY3RcIiAmJiBcImN1cnJlbnRcIiBpbiBjb250YWluZXJSZWYsIFwiQHJlYWNoL3BvcnRhbDogSW52YWxpZCB2YWx1ZSBwYXNzZWQgdG8gdGhlIGBjb250YWluZXJSZWZgIG9mIGEgXCIgKyBcImBQb3J0YWxgLiBUaGUgcG9ydGFsIHdpbGwgYmUgYXBwZW5kZWQgdG8gdGhlIGRvY3VtZW50IGJvZHksIGJ1dCBpZiBcIiArIFwieW91IHdhbnQgdG8gYXR0YWNoIGl0IHRvIGFub3RoZXIgRE9NIG5vZGUgeW91IG11c3QgcGFzcyBhIHZhbGlkIFwiICsgXCJSZWFjdCByZWYgb2JqZWN0IHRvIGBjb250YWluZXJSZWZgLlwiKSA6IHZvaWQgMDtcbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gd2FybmluZyhjb250YWluZXJSZWYgPyBjb250YWluZXJSZWYuY3VycmVudCAhPSBudWxsIDogdHJ1ZSwgXCJAcmVhY2gvcG9ydGFsOiBBIHJlZiB3YXMgcGFzc2VkIHRvIHRoZSBgY29udGFpbmVyUmVmYCBwcm9wIG9mIGEgXCIgKyBcImBQb3J0YWxgLCBidXQgbm8gRE9NIG5vZGUgd2FzIGF0dGFjaGVkIHRvIGl0LiBCZSBzdXJlIHRvIHBhc3MgdGhlIFwiICsgXCJyZWYgdG8gYSBET00gY29tcG9uZW50LlxcblxcbklmIHlvdSBhcmUgZm9yd2FyZGluZyB0aGUgcmVmIGZyb20gXCIgKyBcImFub3RoZXIgY29tcG9uZW50LCBiZSBzdXJlIHRvIHVzZSB0aGUgUmVhY3QuZm9yd2FyZFJlZiBBUEkuIFwiICsgXCJTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL2ZvcndhcmRpbmctcmVmcy5odG1sLlwiKSA6IHZvaWQgMDtcbiAgICAgIH1cbiAgICB9LCBbY29udGFpbmVyUmVmXSk7XG4gIH1cblxuICB1c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAvLyBUaGlzIHJlZiBtYXkgYmUgbnVsbCB3aGVuIGEgaG90LWxvYWRlciByZXBsYWNlcyBjb21wb25lbnRzIG9uIHRoZSBwYWdlXG4gICAgaWYgKCFtb3VudE5vZGUuY3VycmVudCkgcmV0dXJuOyAvLyBJdCdzIHBvc3NpYmxlIHRoYXQgdGhlIGNvbnRlbnQgb2YgdGhlIHBvcnRhbCBoYXMsIGl0c2VsZiwgYmVlbiBwb3J0YWxlZC5cbiAgICAvLyBJbiB0aGF0IGNhc2UsIGl0J3MgaW1wb3J0YW50IHRvIGFwcGVuZCB0byB0aGUgY29ycmVjdCBkb2N1bWVudCBlbGVtZW50LlxuXG4gICAgdmFyIG93bmVyRG9jdW1lbnQgPSBtb3VudE5vZGUuY3VycmVudC5vd25lckRvY3VtZW50O1xuICAgIHZhciBib2R5ID0gKGNvbnRhaW5lclJlZiA9PSBudWxsID8gdm9pZCAwIDogY29udGFpbmVyUmVmLmN1cnJlbnQpIHx8IG93bmVyRG9jdW1lbnQuYm9keTtcbiAgICBwb3J0YWxOb2RlLmN1cnJlbnQgPSBvd25lckRvY3VtZW50ID09IG51bGwgPyB2b2lkIDAgOiBvd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodHlwZSk7XG4gICAgYm9keS5hcHBlbmRDaGlsZChwb3J0YWxOb2RlLmN1cnJlbnQpO1xuICAgIGZvcmNlVXBkYXRlKCk7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmIChwb3J0YWxOb2RlLmN1cnJlbnQgJiYgYm9keSkge1xuICAgICAgICBib2R5LnJlbW92ZUNoaWxkKHBvcnRhbE5vZGUuY3VycmVudCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW3R5cGUsIGZvcmNlVXBkYXRlLCBjb250YWluZXJSZWZdKTtcbiAgcmV0dXJuIHBvcnRhbE5vZGUuY3VycmVudCA/IC8qI19fUFVSRV9fKi9jcmVhdGVQb3J0YWwoY2hpbGRyZW4sIHBvcnRhbE5vZGUuY3VycmVudCkgOiAvKiNfX1BVUkVfXyovY3JlYXRlRWxlbWVudChcInNwYW5cIiwge1xuICAgIHJlZjogbW91bnROb2RlXG4gIH0pO1xufTtcbi8qKlxuICogQHNlZSBEb2NzIGh0dHBzOi8vcmVhY2gudGVjaC9wb3J0YWwjcG9ydGFsLXByb3BzXG4gKi9cblxuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gIFBvcnRhbC5kaXNwbGF5TmFtZSA9IFwiUG9ydGFsXCI7XG59IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbmV4cG9ydCBkZWZhdWx0IFBvcnRhbDtcbmV4cG9ydCB7IFBvcnRhbCB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///741\n\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) // removed by dead control flow\n{ 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) // removed by dead control flow\n{ 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) // removed by dead control flow\n{ 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) // removed by dead control flow\n{ 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) // removed by dead control flow\n{} ////////////////////////////////////////////////////////////////////////////////\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/* unused harmony import specifier */ var useRef;\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) // removed by dead control flow\n{} ////////////////////////////////////////////////////////////////////////////////\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) // removed by dead control flow\n{}\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) // removed by dead control flow\n{}\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) // removed by dead control flow\n{} ////////////////////////////////////////////////////////////////////////////////\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) // removed by dead control flow\n{}\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) // removed by dead control flow\n{} ////////////////////////////////////////////////////////////////////////////////\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTk3LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBNEM7QUFDMEM7O0FBRXRGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtREFBbUQ7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdCQUF3QiwwQkFBUTtBQUNoQztBQUNBOztBQUVBLEVBQUUsaUZBQXlCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOztBQUVOLEdBQUc7QUFDSCxFQUFFLDJCQUFTO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVpQjs7Ozs7QUNqSGlFOztBQUVsRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxTQUFTLGdEQUFTO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUU0Qzs7O0FDckJtRDtBQUNoQzs7QUFFL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLHNCQUFzQixnQkFBZ0I7QUFDdEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWlDOzs7QUM1QmpDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNFQUFzRSxhQUFhO0FBQ25GO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFa0I7OztBQ2Z3Qjs7QUFFMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxNQUFNLEtBQXFDLEVBQUU7QUFBQSxpQkFZMUM7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU0sS0FBcUMsRUFBRTtBQUFBLDBCQWdCMUM7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU0sS0FBcUMsRUFBRTtBQUFBLGFBUTFDO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTSxLQUFxQyxFQUFFO0FBQUEsaUNBdUIxQztBQUNIOztBQUVtRjs7O0FDakhuRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFcUQ7OztBQ3JDakI7QUFDNkM7O0FBRWpGO0FBQ0E7O0FBRUEseUNBQXlDLFNBQVM7O0FBRWxEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxNQUFNLFVBQVU7QUFDaEI7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esc0VBQXNFLGFBQWE7QUFDbkY7QUFDQTs7QUFFQSxTQUFTLDZCQUFXO0FBQ3BCLHVFQUF1RSw0QkFBNEI7QUFDbkc7QUFDQTtBQUNBLE1BQU07O0FBRU4sR0FBRztBQUNIOztBQUVzQzs7O0FDdEZ0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWdDOzs7OztBQ2xCa0I7QUFDZjs7QUFFbkM7QUFDQTtBQUNBLG9CQUFvQixzQkFBc0I7QUFDMUM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGNBQWMsdUJBQXVCO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLDRCQUFVO0FBQzVDO0FBQ0E7QUFDQTtBQUNBLHlDQUF5QztBQUN6Qzs7QUFFQSxzQkFBc0IsK0JBQWE7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNILENBQUM7QUFDRDtBQUNBO0FBQ0E7O0FBRUEsSUFBSSxLQUFxQyxFQUFFO0FBQUEsRUFNMUMsQ0FBQzs7QUFFRixnRUFBZSw4REFBYyxJQUFDO0FBQ0o7OztBQ2pGMUI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDBEQUEwRDs7QUFFMUQsb0VBQW9FOztBQUVwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHVEQUFlLFdBQVcsRUFBQztBQUMzQjs7OztBQ3ZFb0Q7QUFDakI7QUFDVztBQUN3QztBQUN0QjtBQUM3Qjs7QUFFbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0EsSUFBSSxLQUFxQyxFQUFFO0FBQUEsRUFPMUMsQ0FBQzs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsTUFBTSxTQUFTO0FBQ2Y7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBLE1BQU0sVUFBVTtBQUNoQjtBQUNBOztBQUVBLE1BQU0sS0FBcUMsRUFBRTtBQUFBLEVBUzFDOztBQUVILHdCQUF3QiwwQkFBUTtBQUNoQztBQUNBOztBQUVBLHlCQUF5Qix3QkFBTTtBQUMvQix3QkFBd0Isd0JBQU07O0FBRTlCLHlCQUF5QiwwQkFBUTtBQUNqQztBQUNBOztBQUVBLG9CQUFvQix3QkFBTSxZQUFZOztBQUV0QyxFQUFFLGlGQUF5QjtBQUMzQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsRUFBRSxpRkFBeUI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsRUFBRSxpRkFBeUI7QUFDM0I7QUFDQTtBQUNBOztBQUVBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxVQUFVLEtBQXFDLEVBQUU7QUFBQSxFQUUxQzs7QUFFUDtBQUNBOztBQUVBLG1CQUFtQixnQkFBVztBQUM5QjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUEscURBQWUsb0RBQUksSUFBQztBQUNLOzs7QUN0SndGO0FBQzFFO0FBQ3NDO0FBQ2Q7QUFDakI7QUFDVTtBQUNJO0FBQ2U7QUFDcEM7QUFDaUI7QUFDbEI7QUFDSDtBQUNBOztBQUVuQyxTQUFTLHlCQUFRO0FBQ2pCLEVBQUUseUJBQVE7QUFDVixvQkFBb0Isc0JBQXNCO0FBQzFDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLFNBQVMseUJBQVE7QUFDakI7O0FBRUEsU0FBUyw4Q0FBNkI7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsY0FBYyx1QkFBdUI7QUFDckM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxJQUFJLDBCQUFTO0FBQ2I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7O0FBRUEsbUJBQW1CO0FBQ25COztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsc0NBQXNDOztBQUV2Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxzQ0FBc0M7O0FBRXZDO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQSxpQkFBaUI7QUFDakIsR0FBRztBQUNIO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEIsR0FBRztBQUNILGtCQUFrQjtBQUNsQixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsa0JBQWtCO0FBQ2xCLEdBQUc7QUFDSDtBQUNBO0FBQ0EsS0FBSztBQUNMLGtCQUFrQjtBQUNsQixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxFQUFFO0FBQ0Y7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEVBQUU7QUFDRjs7O0FBR0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQSxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQixLQUFLOztBQUV2Qix3QkFBd0IsMEJBQVE7QUFDaEM7QUFDQSx5Q0FBeUM7OztBQUd6QyxlQUFlLHdCQUFNO0FBQ3JCLFlBQVksZUFBZTtBQUMzQixvQkFBb0IsT0FBTztBQUMzQjtBQUNBLEdBQUc7QUFDSCxFQUFFLDJCQUFTO0FBQ1g7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0gsRUFBRSxjQUFjO0FBQ2hCLEVBQUUsMkJBQVM7QUFDWCx3QkFBd0IsZ0JBQWdCOztBQUV4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFdBQVcsb0JBQW9CO0FBQy9COztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyxNQUFNO0FBQzFDO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixvQkFBb0I7QUFDeEMsbUJBQW1CLG9CQUFvQjtBQUN2QyxvQkFBb0Isb0JBQW9CO0FBQ3hDLG1CQUFtQixvQkFBb0I7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLG9CQUFvQjtBQUNqQyxZQUFZLG9CQUFvQjtBQUNoQyxlQUFlLG9CQUFvQjtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0EsMkJBQTJCLDRCQUFVO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLDhDQUE2QixRQUFRLDBCQUFTOztBQUU1RCxjQUFjLHNCQUFRO0FBQ3RCLEVBQUUsTUFBcUMsR0FBRyxDQUE2SyxXQUFXO0FBQ2xPOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUEsc0JBQXNCLCtCQUFhLENBQUMsc0JBQVEscUJBQXFCLDhCQUFZLCtCQUErQiwrQkFBYSxlQUFlLHlCQUFRO0FBQ2hKO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVELElBQUksS0FBcUMsRUFBRTtBQUFBLEVBTzFDLENBQUM7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0EsZ0NBQWdDLDRCQUFVO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyw4Q0FBNkI7O0FBRTNDLGtDQUFrQywrQkFBYSxDQUFDLHVCQUFNLHFCQUFxQiwrQkFBYSxpQkFBaUIseUJBQVE7QUFDakg7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsUUFBUSxNQUFNO0FBQ2QsR0FBRztBQUNILENBQUM7O0FBRUQsSUFBSSxLQUFxQyxFQUFFO0FBQUEsRUFPMUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0Esa0NBQWtDLDRCQUFVO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLDhDQUE2Qjs7QUFFM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsd0JBQU07QUFDckIsWUFBWSxlQUFlO0FBQzNCLG9CQUFvQixPQUFPO0FBQzNCO0FBQ0EsR0FBRztBQUNILHNCQUFzQiwrQkFBYSxDQUFDLHNCQUFRLHFCQUFxQiwrQkFBYSxPQUFPLHlCQUFRO0FBQzdGO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLFdBQVcseUJBQVEsR0FBRztBQUN0QixHQUFHLHdDQUF3QywrQkFBYSxDQUFDLGNBQWM7QUFDdkU7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDOztBQUVELElBQUksS0FBcUMsRUFBRTtBQUFBLEVBRzFDLENBQUM7OztBQUdGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7QUFDRjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDhCQUE4QixxQkFBcUI7QUFDbkQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMkJBQVM7QUFDWDtBQUNBO0FBQ0E7O0FBRUEsd0JBQXdCLGdCQUFnQjs7QUFFeEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxzRUFBc0U7QUFDdEUsbUJBQW1CLGdEQUFnRDtBQUNuRTs7QUFFQTtBQUNBLFdBQVcseUJBQVEsR0FBRztBQUN0QjtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvQkFBb0IsOENBQTZCLHFCQUFxQjs7O0FBR3RFLGdCQUFnQix5QkFBUSxHQUFHOztBQUUzQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7O0FBRUYsd0RBQWUsT0FBTyxFQUFDO0FBQzBFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9ub2RlX21vZHVsZXMvQHJlYWNoL2F1dG8taWQvZGlzdC9yZWFjaC1hdXRvLWlkLmVzbS5qcz8yODdhIiwid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL0ByZWFjaC91dGlscy9vd25lci1kb2N1bWVudC9kaXN0L3JlYWNoLXV0aWxzLW93bmVyLWRvY3VtZW50LmVzbS5qcz9hNzZjIiwid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL0ByZWFjaC91dGlscy9nZXQtZG9jdW1lbnQtZGltZW5zaW9ucy9kaXN0L3JlYWNoLXV0aWxzLWdldC1kb2N1bWVudC1kaW1lbnNpb25zLmVzbS5qcz83OWQ4Iiwid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL0ByZWFjaC91dGlscy9tYWtlLWlkL2Rpc3QvcmVhY2gtdXRpbHMtbWFrZS1pZC5lc20uanM/ZDg4NiIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdXRpbHMvZGV2LXV0aWxzL2Rpc3QvcmVhY2gtdXRpbHMtZGV2LXV0aWxzLmVzbS5qcz82NWI1Iiwid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL0ByZWFjaC91dGlscy90eXBlLWNoZWNrL2Rpc3QvcmVhY2gtdXRpbHMtdHlwZS1jaGVjay5lc20uanM/YjhlYSIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdXRpbHMvY29tcG9zZS1yZWZzL2Rpc3QvcmVhY2gtdXRpbHMtY29tcG9zZS1yZWZzLmVzbS5qcz9hNjMwIiwid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL0ByZWFjaC91dGlscy9jb21wb3NlLWV2ZW50LWhhbmRsZXJzL2Rpc3QvcmVhY2gtdXRpbHMtY29tcG9zZS1ldmVudC1oYW5kbGVycy5lc20uanM/ZjE5YyIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdmlzdWFsbHktaGlkZGVuL2Rpc3QvcmVhY2gtdmlzdWFsbHktaGlkZGVuLmVzbS5qcz9lOTc0Iiwid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL0ByZWFjaC9vYnNlcnZlLXJlY3QvZGlzdC9vYnNlcnZlLXJlY3QuZXNtLmpzPzQ0YmEiLCJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9ub2RlX21vZHVsZXMvQHJlYWNoL3JlY3QvZGlzdC9yZWFjaC1yZWN0LmVzbS5qcz9jYmY3Iiwid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL0ByZWFjaC90b29sdGlwL2Rpc3QvcmVhY2gtdG9vbHRpcC5lc20uanM/ZTI2OCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCB9IGZyb20gJ0ByZWFjaC91dGlscy91c2UtaXNvbW9ycGhpYy1sYXlvdXQtZWZmZWN0JztcblxuLypcbiAqIFdlbGNvbWUgdG8gQHJlYWNoL2F1dG8taWQhXG5cbiAqIExldCdzIHNlZSBpZiB3ZSBjYW4gbWFrZSBzZW5zZSBvZiB3aHkgdGhpcyBob29rIGV4aXN0cyBhbmQgaXRzXG4gKiBpbXBsZW1lbnRhdGlvbi5cbiAqXG4gKiBTb21lIGJhY2tncm91bmQ6XG4gKiAgIDEuIEFjY2Vzc2liaWxpdHkgQVBJcyByZWx5IGhlYXZpbHkgb24gZWxlbWVudCBJRHNcbiAqICAgMi4gUmVxdWlyaW5nIGRldmVsb3BlcnMgdG8gcHV0IElEcyBvbiBldmVyeSBlbGVtZW50IGluIFJlYWNoIFVJIGlzIGJvdGhcbiAqICAgICAgY3VtYmVyc29tZSBhbmQgZXJyb3ItcHJvbmVcbiAqICAgMy4gV2l0aCBhIGNvbXBvbmVudCBtb2RlbCwgd2UgY2FuIGdlbmVyYXRlIElEcyBmb3IgdGhlbSFcbiAqXG4gKiBTb2x1dGlvbiAxOiBHZW5lcmF0ZSByYW5kb20gSURzLlxuICpcbiAqIFRoaXMgd29ya3MgZ3JlYXQgYXMgbG9uZyBhcyB5b3UgZG9uJ3Qgc2VydmVyIHJlbmRlciB5b3VyIGFwcC4gV2hlbiBSZWFjdCAoaW5cbiAqIHRoZSBjbGllbnQpIHRyaWVzIHRvIHJldXNlIHRoZSBtYXJrdXAgZnJvbSB0aGUgc2VydmVyLCB0aGUgSURzIHdvbid0IG1hdGNoXG4gKiBhbmQgUmVhY3Qgd2lsbCB0aGVuIHJlY3JlYXRlIHRoZSBlbnRpcmUgRE9NIHRyZWUuXG4gKlxuICogU29sdXRpb24gMjogSW5jcmVtZW50IGFuIGludGVnZXJcbiAqXG4gKiBUaGlzIHNvdW5kcyBncmVhdC4gU2luY2Ugd2UncmUgcmVuZGVyaW5nIHRoZSBleGFjdCBzYW1lIHRyZWUgb24gdGhlIHNlcnZlclxuICogYW5kIGNsaWVudCwgd2UgY2FuIGluY3JlbWVudCBhIGNvdW50ZXIgYW5kIGdldCBhIGRldGVybWluaXN0aWMgcmVzdWx0IGJldHdlZW5cbiAqIGNsaWVudCBhbmQgc2VydmVyLiBBbHNvLCBKUyBpbnRlZ2VycyBjYW4gZ28gdXAgdG8gbmluZS1xdWFkcmlsbGlvbi4gSSdtXG4gKiBwcmV0dHkgc3VyZSB0aGUgdGFiIHdpbGwgYmUgY2xvc2VkIGJlZm9yZSBhbiBhcHAgbmV2ZXIgbmVlZHNcbiAqIDEwIHF1YWRyaWxsaW9uIElEcyFcbiAqXG4gKiBQcm9ibGVtIHNvbHZlZCwgcmlnaHQ/XG4gKlxuICogQWgsIGJ1dCB0aGVyZSdzIGEgY2F0Y2ghIFJlYWN0J3MgY29uY3VycmVudCByZW5kZXJpbmcgbWFrZXMgdGhpcyBhcHByb2FjaFxuICogbm9uLWRldGVybWluaXN0aWMuIFdoaWxlIHRoZSBjbGllbnQgYW5kIHNlcnZlciB3aWxsIGVuZCB1cCB3aXRoIHRoZSBzYW1lXG4gKiBlbGVtZW50cyBpbiB0aGUgZW5kLCBkZXBlbmRpbmcgb24gc3VzcGVuc2UgYm91bmRhcmllcyAoYW5kIHBvc3NpYmx5IHNvbWUgdXNlclxuICogaW5wdXQgZHVyaW5nIHRoZSBpbml0aWFsIHJlbmRlcikgdGhlIGluY3JlbWVudGluZyBpbnRlZ2VycyB3b24ndCBhbHdheXMgbWF0Y2hcbiAqIHVwLlxuICpcbiAqIFNvbHV0aW9uIDM6IERvbid0IHVzZSBJRHMgYXQgYWxsIG9uIHRoZSBzZXJ2ZXI7IHBhdGNoIGFmdGVyIGZpcnN0IHJlbmRlci5cbiAqXG4gKiBXaGF0IHdlJ3ZlIGRvbmUgaGVyZSBpcyBzb2x1dGlvbiAyIHdpdGggc29tZSB0cmlja3MuIFdpdGggdGhpcyBhcHByb2FjaCwgdGhlXG4gKiBJRCByZXR1cm5lZCBpcyBhbiBlbXB0eSBzdHJpbmcgb24gdGhlIGZpcnN0IHJlbmRlci4gVGhpcyB3YXkgdGhlIHNlcnZlciBhbmRcbiAqIGNsaWVudCBoYXZlIHRoZSBzYW1lIG1hcmt1cCBubyBtYXR0ZXIgaG93IHdpbGQgdGhlIGNvbmN1cnJlbnQgcmVuZGVyaW5nIG1heVxuICogaGF2ZSBnb3R0ZW4uXG4gKlxuICogQWZ0ZXIgdGhlIHJlbmRlciwgd2UgcGF0Y2ggdXAgdGhlIGNvbXBvbmVudHMgd2l0aCBhbiBpbmNyZW1lbnRlZCBJRC4gVGhpc1xuICogY2F1c2VzIGEgZG91YmxlIHJlbmRlciBvbiBhbnkgY29tcG9uZW50cyB3aXRoIGB1c2VJZGAuIFNob3VsZG4ndCBiZSBhIHByb2JsZW1cbiAqIHNpbmNlIHRoZSBjb21wb25lbnRzIHVzaW5nIHRoaXMgaG9vayBzaG91bGQgYmUgc21hbGwsIGFuZCB3ZSdyZSBvbmx5IHVwZGF0aW5nXG4gKiB0aGUgSUQgYXR0cmlidXRlIG9uIHRoZSBET00sIG5vdGhpbmcgYmlnIGlzIGhhcHBlbmluZy5cbiAqXG4gKiBJdCBkb2Vzbid0IGhhdmUgdG8gYmUgYW4gaW5jcmVtZW50ZWQgbnVtYmVyLCB0aG91Z2gtLXdlIGNvdWxkIGRvIGdlbmVyYXRlXG4gKiByYW5kb20gc3RyaW5ncyBpbnN0ZWFkLCBidXQgaW5jcmVtZW50aW5nIGEgbnVtYmVyIGlzIHByb2JhYmx5IHRoZSBjaGVhcGVzdFxuICogdGhpbmcgd2UgY2FuIGRvLlxuICpcbiAqIEFkZGl0aW9uYWxseSwgd2Ugb25seSBkbyB0aGlzIHBhdGNodXAgb24gdGhlIHZlcnkgZmlyc3QgY2xpZW50IHJlbmRlciBldmVyLlxuICogQW55IGNhbGxzIHRvIGB1c2VJZGAgdGhhdCBoYXBwZW4gZHluYW1pY2FsbHkgaW4gdGhlIGNsaWVudCB3aWxsIGJlXG4gKiBwb3B1bGF0ZWQgaW1tZWRpYXRlbHkgd2l0aCBhIHZhbHVlLiBTbywgd2Ugb25seSBnZXQgdGhlIGRvdWJsZSByZW5kZXIgYWZ0ZXJcbiAqIHNlcnZlciBoeWRyYXRpb24gYW5kIG5ldmVyIGFnYWluLCBTTyBCQUNLIE9GRiBBTFJJR0hUP1xuICovXG52YXIgc2VydmVySGFuZG9mZkNvbXBsZXRlID0gZmFsc2U7XG52YXIgaWQgPSAwO1xuXG52YXIgZ2VuSWQgPSBmdW5jdGlvbiBnZW5JZCgpIHtcbiAgcmV0dXJuICsraWQ7XG59O1xuLyoqXG4gKiB1c2VJZFxuICpcbiAqIEF1dG9nZW5lcmF0ZSBJRHMgdG8gZmFjaWxpdGF0ZSBXQUktQVJJQSBhbmQgc2VydmVyIHJlbmRlcmluZy5cbiAqXG4gKiBOb3RlOiBUaGUgcmV0dXJuZWQgSUQgd2lsbCBpbml0aWFsbHkgYmUgYG51bGxgIGFuZCB3aWxsIHVwZGF0ZSBhZnRlciBhXG4gKiBjb21wb25lbnQgbW91bnRzLiBVc2VycyBtYXkgbmVlZCB0byBzdXBwbHkgdGhlaXIgb3duIElEIGlmIHRoZXkgbmVlZFxuICogY29uc2lzdGVudCB2YWx1ZXMgZm9yIFNTUi5cbiAqXG4gKiBAc2VlIERvY3MgaHR0cHM6Ly9yZWFjaC50ZWNoL2F1dG8taWRcbiAqL1xuXG5cbmZ1bmN0aW9uIHVzZUlkKGlkRnJvbVByb3BzKSB7XG4gIC8qXG4gICAqIElmIHRoaXMgaW5zdGFuY2UgaXNuJ3QgcGFydCBvZiB0aGUgaW5pdGlhbCByZW5kZXIsIHdlIGRvbid0IGhhdmUgdG8gZG8gdGhlXG4gICAqIGRvdWJsZSByZW5kZXIvcGF0Y2gtdXAgZGFuY2UuIFdlIGNhbiBqdXN0IGdlbmVyYXRlIHRoZSBJRCBhbmQgcmV0dXJuIGl0LlxuICAgKi9cbiAgdmFyIGluaXRpYWxJZCA9IGlkRnJvbVByb3BzIHx8IChzZXJ2ZXJIYW5kb2ZmQ29tcGxldGUgPyBnZW5JZCgpIDogbnVsbCk7XG5cbiAgdmFyIF9SZWFjdCR1c2VTdGF0ZSA9IHVzZVN0YXRlKGluaXRpYWxJZCksXG4gICAgICBpZCA9IF9SZWFjdCR1c2VTdGF0ZVswXSxcbiAgICAgIHNldElkID0gX1JlYWN0JHVzZVN0YXRlWzFdO1xuXG4gIHVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIGlmIChpZCA9PT0gbnVsbCkge1xuICAgICAgLypcbiAgICAgICAqIFBhdGNoIHRoZSBJRCBhZnRlciByZW5kZXIuIFdlIGRvIHRoaXMgaW4gYHVzZUxheW91dEVmZmVjdGAgdG8gYXZvaWQgYW55XG4gICAgICAgKiByZW5kZXJpbmcgZmxpY2tlciwgdGhvdWdoIGl0J2xsIG1ha2UgdGhlIGZpcnN0IHJlbmRlciBzbG93ZXIgKHVubGlrZWx5XG4gICAgICAgKiB0byBtYXR0ZXIsIGJ1dCB5b3UncmUgd2VsY29tZSB0byBtZWFzdXJlIHlvdXIgYXBwIGFuZCBsZXQgdXMga25vdyBpZlxuICAgICAgICogaXQncyBhIHByb2JsZW0pLlxuICAgICAgICovXG4gICAgICBzZXRJZChnZW5JZCgpKTtcbiAgICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcblxuICB9LCBbXSk7XG4gIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHNlcnZlckhhbmRvZmZDb21wbGV0ZSA9PT0gZmFsc2UpIHtcbiAgICAgIC8qXG4gICAgICAgKiBGbGFnIGFsbCBmdXR1cmUgdXNlcyBvZiBgdXNlSWRgIHRvIHNraXAgdGhlIHVwZGF0ZSBkYW5jZS4gVGhpcyBpcyBpblxuICAgICAgICogYHVzZUVmZmVjdGAgYmVjYXVzZSBpdCBnb2VzIGFmdGVyIGB1c2VMYXlvdXRFZmZlY3RgLCBlbnN1cmluZyB3ZSBkb24ndFxuICAgICAgICogYWNjaWRlbnRhbGx5IGJhaWwgb3V0IG9mIHRoZSBwYXRjaC11cCBkYW5jZSBwcmVtYXR1cmVseS5cbiAgICAgICAqL1xuICAgICAgc2VydmVySGFuZG9mZkNvbXBsZXRlID0gdHJ1ZTtcbiAgICB9XG4gIH0sIFtdKTtcbiAgcmV0dXJuIGlkICE9IG51bGwgPyBTdHJpbmcoaWQpIDogdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgeyB1c2VJZCB9O1xuIiwiaW1wb3J0IHsgY2FuVXNlRE9NIH0gZnJvbSAnLi4vLi4vY2FuLXVzZS1kb20vZGlzdC9yZWFjaC11dGlscy1jYW4tdXNlLWRvbS5lc20uanMnO1xuXG4vKipcbiAqIEdldCBhbiBlbGVtZW50J3Mgb3duZXIgZG9jdW1lbnQuIFVzZWZ1bCB3aGVuIGNvbXBvbmVudHMgYXJlIHVzZWQgaW4gaWZyYW1lc1xuICogb3Igb3RoZXIgZW52aXJvbm1lbnRzIGxpa2UgZGV2IHRvb2xzLlxuICpcbiAqIEBwYXJhbSBlbGVtZW50XG4gKi9cblxuZnVuY3Rpb24gZ2V0T3duZXJEb2N1bWVudChlbGVtZW50KSB7XG4gIHJldHVybiBjYW5Vc2VET00oKSA/IGVsZW1lbnQgPyBlbGVtZW50Lm93bmVyRG9jdW1lbnQgOiBkb2N1bWVudCA6IG51bGw7XG59XG4vKipcbiAqIFRPRE86IFJlbW92ZSBpbiAxLjBcbiAqL1xuXG5mdW5jdGlvbiBnZXRPd25lcldpbmRvdyhlbGVtZW50KSB7XG4gIHZhciBvd25lckRvY3VtZW50ID0gZ2V0T3duZXJEb2N1bWVudChlbGVtZW50KTtcbiAgcmV0dXJuIG93bmVyRG9jdW1lbnQgPyBvd25lckRvY3VtZW50LmRlZmF1bHRWaWV3IHx8IHdpbmRvdyA6IG51bGw7XG59XG5cbmV4cG9ydCB7IGdldE93bmVyRG9jdW1lbnQsIGdldE93bmVyV2luZG93IH07XG4iLCJpbXBvcnQgeyBnZXRPd25lckRvY3VtZW50IH0gZnJvbSAnLi4vLi4vb3duZXItZG9jdW1lbnQvZGlzdC9yZWFjaC11dGlscy1vd25lci1kb2N1bWVudC5lc20uanMnO1xuaW1wb3J0ICcuLi8uLi9jYW4tdXNlLWRvbS9kaXN0L3JlYWNoLXV0aWxzLWNhbi11c2UtZG9tLmVzbS5qcyc7XG5cbi8qKlxuICogR2V0IHRoZSBzaXplIG9mIHRoZSB3b3JraW5nIGRvY3VtZW50IG1pbnVzIHRoZSBzY3JvbGxiYXIgb2Zmc2V0LlxuICpcbiAqIEBwYXJhbSBlbGVtZW50XG4gKi9cblxuZnVuY3Rpb24gZ2V0RG9jdW1lbnREaW1lbnNpb25zKGVsZW1lbnQpIHtcbiAgdmFyIF9vd25lckRvY3VtZW50JGRvY3VtZSwgX293bmVyRG9jdW1lbnQkZG9jdW1lMjtcblxuICB2YXIgb3duZXJEb2N1bWVudCA9IGdldE93bmVyRG9jdW1lbnQoZWxlbWVudCk7XG4gIHZhciBvd25lcldpbmRvdyA9IG93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcgfHwgd2luZG93O1xuXG4gIGlmICghb3duZXJEb2N1bWVudCkge1xuICAgIHJldHVybiB7XG4gICAgICB3aWR0aDogMCxcbiAgICAgIGhlaWdodDogMFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHdpZHRoOiAoX293bmVyRG9jdW1lbnQkZG9jdW1lID0gb3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgpICE9IG51bGwgPyBfb3duZXJEb2N1bWVudCRkb2N1bWUgOiBvd25lcldpbmRvdy5pbm5lcldpZHRoLFxuICAgIGhlaWdodDogKF9vd25lckRvY3VtZW50JGRvY3VtZTIgPSBvd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpICE9IG51bGwgPyBfb3duZXJEb2N1bWVudCRkb2N1bWUyIDogb3duZXJXaW5kb3cuaW5uZXJIZWlnaHRcbiAgfTtcbn1cblxuZXhwb3J0IHsgZ2V0RG9jdW1lbnREaW1lbnNpb25zIH07XG4iLCIvKipcbiAqIEpvaW5zIHN0cmluZ3MgdG8gZm9ybWF0IElEcyBmb3IgY29tcG91bmQgY29tcG9uZW50cy5cbiAqXG4gKiBAcGFyYW0gYXJnc1xuICovXG5mdW5jdGlvbiBtYWtlSWQoKSB7XG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICByZXR1cm4gYXJncy5maWx0ZXIoZnVuY3Rpb24gKHZhbCkge1xuICAgIHJldHVybiB2YWwgIT0gbnVsbDtcbiAgfSkuam9pbihcIi0tXCIpO1xufVxuXG5leHBvcnQgeyBtYWtlSWQgfTtcbiIsImltcG9ydCB7IHVzZVJlZiwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rcyAqL1xudmFyIGNoZWNrZWRQa2dzID0ge307XG4vKipcbiAqIEp1c3QgYSBsaWwgc3RhdGUgbG9nZ2VyXG4gKlxuICogQHBhcmFtIHN0YXRlXG4gKiBAcGFyYW0gREVCVUdcbiAqL1xuXG5mdW5jdGlvbiB1c2VTdGF0ZUxvZ2dlcihzdGF0ZSwgREVCVUcpIHtcbiAgaWYgKERFQlVHID09PSB2b2lkIDApIHtcbiAgICBERUJVRyA9IGZhbHNlO1xuICB9XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgIHZhciBkZWJ1Z1JlZiA9IHVzZVJlZihERUJVRyk7XG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgIGRlYnVnUmVmLmN1cnJlbnQgPSBERUJVRztcbiAgICB9LCBbREVCVUddKTtcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKGRlYnVnUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgY29uc29sZS5ncm91cChcIlN0YXRlIFVwZGF0ZWRcIik7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiJWNcIiArIHN0YXRlLCBcImZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTIwJTsgZm9udC1zdHlsZTogaXRhbGljO1wiKTtcbiAgICAgICAgY29uc29sZS5ncm91cEVuZCgpO1xuICAgICAgfVxuICAgIH0sIFtzdGF0ZV0pO1xuICB9XG59XG4vKipcbiAqIFdoZW4gaW4gZGV2IG1vZGUsIGNoZWNrcyB0aGF0IHN0eWxlcyBmb3IgYSBnaXZlbiBgQHJlYWNoYCBwYWNrYWdlIGFyZSBsb2FkZWQuXG4gKlxuICogQHBhcmFtIHBhY2thZ2VOYW1lIE5hbWUgb2YgdGhlIHBhY2thZ2UgdG8gY2hlY2suXG4gKiBAZXhhbXBsZSBjaGVja1N0eWxlcyhcImRpYWxvZ1wiKSB3aWxsIGNoZWNrIGZvciBzdHlsZXMgZm9yIEByZWFjaC9kaWFsb2dcbiAqL1xuXG5mdW5jdGlvbiBjaGVja1N0eWxlcyhwYWNrYWdlTmFtZSkge1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgLy8gSW4gQ0pTIGZpbGVzLCBwcm9jZXNzLmVudi5OT0RFX0VOViBpcyBzdHJpcHBlZCBmcm9tIG91ciBidWlsZCwgYnV0IHdlXG4gICAgLy8gbmVlZCBpdCB0byBwcmV2ZW50IHN0eWxlIGNoZWNrcyBmcm9tIGNsb2dnaW5nIHVwIHVzZXIgbG9ncyB3aGlsZSB0ZXN0aW5nLlxuICAgIC8vIFRoaXMgaXMgYSB3b3JrYXJvdW5kIHVudGlsIHdlIGNhbiB0d2VhayB0aGUgYnVpbGQgYSBiaXQgdG8gYWNjb21tb2RhdGUuXG4gICAgdmFyIF9yZWYgPSB0eXBlb2YgcHJvY2VzcyAhPT0gXCJ1bmRlZmluZWRcIiA/IHByb2Nlc3MuZW52IDoge1xuICAgICAgTk9ERV9FTlY6IFwiZGV2ZWxvcG1lbnRcIlxuICAgIH0sXG4gICAgICAgIGVudmlyb25tZW50ID0gX3JlZi5OT0RFX0VOVjsgLy8gb25seSBjaGVjayBvbmNlIHBlciBwYWNrYWdlXG5cblxuICAgIGlmIChjaGVja2VkUGtnc1twYWNrYWdlTmFtZV0pIHJldHVybjtcbiAgICBjaGVja2VkUGtnc1twYWNrYWdlTmFtZV0gPSB0cnVlO1xuXG4gICAgaWYgKGVudmlyb25tZW50ID09PSBcImRldmVsb3BtZW50XCIgJiYgcGFyc2VJbnQod2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuZ2V0UHJvcGVydHlWYWx1ZShcIi0tcmVhY2gtXCIgKyBwYWNrYWdlTmFtZSksIDEwKSAhPT0gMSkge1xuICAgICAgY29uc29sZS53YXJuKFwiQHJlYWNoL1wiICsgcGFja2FnZU5hbWUgKyBcIiBzdHlsZXMgbm90IGZvdW5kLiBJZiB5b3UgYXJlIHVzaW5nIGEgYnVuZGxlciBsaWtlIHdlYnBhY2sgb3IgcGFyY2VsIGluY2x1ZGUgdGhpcyBpbiB0aGUgZW50cnkgZmlsZSBvZiB5b3VyIGFwcCBiZWZvcmUgYW55IG9mIHlvdXIgb3duIHN0eWxlczpcXG4gIFxcbiAgICAgIGltcG9ydCBcXFwiQHJlYWNoL1wiICsgcGFja2FnZU5hbWUgKyBcIi9zdHlsZXMuY3NzXFxcIjtcXG4gIFxcbiAgICBPdGhlcndpc2UgeW91J2xsIG5lZWQgdG8gaW5jbHVkZSB0aGVtIHNvbWUgb3RoZXIgd2F5OlxcbiAgXFxuICAgICAgPGxpbmsgcmVsPVxcXCJzdHlsZXNoZWV0XFxcIiB0eXBlPVxcXCJ0ZXh0L2Nzc1xcXCIgaHJlZj1cXFwibm9kZV9tb2R1bGVzL0ByZWFjaC9cIiArIHBhY2thZ2VOYW1lICsgXCIvc3R5bGVzLmNzc1xcXCIgLz5cXG4gIFxcbiAgICBGb3IgbW9yZSBpbmZvcm1hdGlvbiB2aXNpdCBodHRwczovL3VpLnJlYWNoLnRlY2gvc3R5bGluZy5cXG4gICAgXCIpO1xuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBXaGVuIGluIGRldiBtb2RlLCBjaGVja3MgdGhhdCBzdHlsZXMgZm9yIGEgZ2l2ZW4gYEByZWFjaGAgcGFja2FnZSBhcmUgbG9hZGVkLlxuICpcbiAqIEBwYXJhbSBwYWNrYWdlTmFtZSBOYW1lIG9mIHRoZSBwYWNrYWdlIHRvIGNoZWNrLlxuICogQGV4YW1wbGUgdXNlQ2hlY2tTdHlsZXMoXCJkaWFsb2dcIikgd2lsbCBjaGVjayBmb3Igc3R5bGVzIGZvciBAcmVhY2gvZGlhbG9nXG4gKi9cblxuZnVuY3Rpb24gdXNlQ2hlY2tTdHlsZXMocGFja2FnZU5hbWUpIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgIHZhciBuYW1lID0gdXNlUmVmKHBhY2thZ2VOYW1lKTtcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIHZvaWQgKG5hbWUuY3VycmVudCA9IHBhY2thZ2VOYW1lKTtcbiAgICB9LCBbcGFja2FnZU5hbWVdKTtcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGNoZWNrU3R5bGVzKG5hbWUuY3VycmVudCk7XG4gICAgfSwgW10pO1xuICB9XG59XG4vKipcbiAqIExvZ3MgYSB3YXJuaW5nIGluIGRldiBtb2RlIHdoZW4gYSBjb21wb25lbnQgc3dpdGNoZXMgZnJvbSBjb250cm9sbGVkIHRvXG4gKiB1bmNvbnRyb2xsZWQsIG9yIHZpY2UgdmVyc2FcbiAqXG4gKiBBIHNpbmdsZSBwcm9wIHNob3VsZCB0eXBpY2FsbHkgYmUgdXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciBvciBub3QgYVxuICogY29tcG9uZW50IGlzIGNvbnRyb2xsZWQgb3Igbm90LlxuICpcbiAqIEBwYXJhbSBjb250cm9sbGVkVmFsdWVcbiAqIEBwYXJhbSBjb250cm9sbGVkUHJvcE5hbWVcbiAqIEBwYXJhbSBjb21wb25lbnROYW1lXG4gKi9cblxuZnVuY3Rpb24gdXNlQ29udHJvbGxlZFN3aXRjaFdhcm5pbmcoY29udHJvbGxlZFZhbHVlLCBjb250cm9sbGVkUHJvcE5hbWUsIGNvbXBvbmVudE5hbWUpIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgIHZhciBjb250cm9sbGVkUmVmID0gdXNlUmVmKGNvbnRyb2xsZWRWYWx1ZSAhPSBudWxsKTtcbiAgICB2YXIgbmFtZUNhY2hlID0gdXNlUmVmKHtcbiAgICAgIGNvbXBvbmVudE5hbWU6IGNvbXBvbmVudE5hbWUsXG4gICAgICBjb250cm9sbGVkUHJvcE5hbWU6IGNvbnRyb2xsZWRQcm9wTmFtZVxuICAgIH0pO1xuICAgIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgICBuYW1lQ2FjaGUuY3VycmVudCA9IHtcbiAgICAgICAgY29tcG9uZW50TmFtZTogY29tcG9uZW50TmFtZSxcbiAgICAgICAgY29udHJvbGxlZFByb3BOYW1lOiBjb250cm9sbGVkUHJvcE5hbWVcbiAgICAgIH07XG4gICAgfSwgW2NvbXBvbmVudE5hbWUsIGNvbnRyb2xsZWRQcm9wTmFtZV0pO1xuICAgIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgd2FzQ29udHJvbGxlZCA9IGNvbnRyb2xsZWRSZWYuY3VycmVudDtcbiAgICAgIHZhciBfbmFtZUNhY2hlJGN1cnJlbnQgPSBuYW1lQ2FjaGUuY3VycmVudCxcbiAgICAgICAgICBjb21wb25lbnROYW1lID0gX25hbWVDYWNoZSRjdXJyZW50LmNvbXBvbmVudE5hbWUsXG4gICAgICAgICAgY29udHJvbGxlZFByb3BOYW1lID0gX25hbWVDYWNoZSRjdXJyZW50LmNvbnRyb2xsZWRQcm9wTmFtZTtcbiAgICAgIHZhciBpc0NvbnRyb2xsZWQgPSBjb250cm9sbGVkVmFsdWUgIT0gbnVsbDtcblxuICAgICAgaWYgKHdhc0NvbnRyb2xsZWQgIT09IGlzQ29udHJvbGxlZCkge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiQSBjb21wb25lbnQgaXMgY2hhbmdpbmcgYW4gXCIgKyAod2FzQ29udHJvbGxlZCA/IFwiXCIgOiBcInVuXCIpICsgXCJjb250cm9sbGVkIGBcIiArIGNvbnRyb2xsZWRQcm9wTmFtZSArIFwiYCBzdGF0ZSBvZiBcIiArIGNvbXBvbmVudE5hbWUgKyBcIiB0byBiZSBcIiArICh3YXNDb250cm9sbGVkID8gXCJ1blwiIDogXCJcIikgKyBcImNvbnRyb2xsZWQuIFRoaXMgaXMgbGlrZWx5IGNhdXNlZCBieSB0aGUgdmFsdWUgY2hhbmdpbmcgZnJvbSB1bmRlZmluZWQgdG8gYSBkZWZpbmVkIHZhbHVlLCB3aGljaCBzaG91bGQgbm90IGhhcHBlbi4gRGVjaWRlIGJldHdlZW4gdXNpbmcgYSBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCBcIiArIGNvbXBvbmVudE5hbWUgKyBcIiBlbGVtZW50IGZvciB0aGUgbGlmZXRpbWUgb2YgdGhlIGNvbXBvbmVudC5cXG4gICAgICBNb3JlIGluZm86IGh0dHBzOi8vZmIubWUvcmVhY3QtY29udHJvbGxlZC1jb21wb25lbnRzXCIpO1xuICAgICAgfVxuICAgIH0sIFtjb250cm9sbGVkVmFsdWVdKTtcbiAgfVxufVxuXG5leHBvcnQgeyBjaGVja1N0eWxlcywgdXNlQ2hlY2tTdHlsZXMsIHVzZUNvbnRyb2xsZWRTd2l0Y2hXYXJuaW5nLCB1c2VTdGF0ZUxvZ2dlciB9O1xuIiwiLyoqXG4gKiBDaGVja3Mgd2hldGhlciBvciBub3QgYSB2YWx1ZSBpcyBhIGJvb2xlYW4uXG4gKlxuICogQHBhcmFtIHZhbHVlXG4gKi9cbmZ1bmN0aW9uIGlzQm9vbGVhbih2YWx1ZSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcImJvb2xlYW5cIjtcbn1cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgb3Igbm90IGEgdmFsdWUgaXMgYSBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gdmFsdWVcbiAqL1xuXG5mdW5jdGlvbiBpc0Z1bmN0aW9uKHZhbHVlKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBlcWVxZXFcbiAgcmV0dXJuICEhKHZhbHVlICYmIHt9LnRvU3RyaW5nLmNhbGwodmFsdWUpID09IFwiW29iamVjdCBGdW5jdGlvbl1cIik7XG59XG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIG9yIG5vdCBhIHZhbHVlIGlzIGEgbnVtYmVyLlxuICpcbiAqIEBwYXJhbSB2YWx1ZVxuICovXG5cbmZ1bmN0aW9uIGlzTnVtYmVyKHZhbHVlKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIgJiYgIWlzTmFOKHZhbHVlKTtcbn1cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgb3Igbm90IGEgdmFsdWUgaXMgYSBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHZhbHVlXG4gKi9cblxuZnVuY3Rpb24gaXNTdHJpbmcodmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIjtcbn1cblxuZXhwb3J0IHsgaXNCb29sZWFuLCBpc0Z1bmN0aW9uLCBpc051bWJlciwgaXNTdHJpbmcgfTtcbiIsImltcG9ydCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJy4uLy4uL3R5cGUtY2hlY2svZGlzdC9yZWFjaC11dGlscy10eXBlLWNoZWNrLmVzbS5qcyc7XG5cbmZ1bmN0aW9uIF9hcnJheUxpa2VUb0FycmF5KGFyciwgbGVuKSB7XG4gIGlmIChsZW4gPT0gbnVsbCB8fCBsZW4gPiBhcnIubGVuZ3RoKSBsZW4gPSBhcnIubGVuZ3RoO1xuXG4gIGZvciAodmFyIGkgPSAwLCBhcnIyID0gbmV3IEFycmF5KGxlbik7IGkgPCBsZW47IGkrKykgYXJyMltpXSA9IGFycltpXTtcblxuICByZXR1cm4gYXJyMjtcbn1cblxuZnVuY3Rpb24gX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KG8sIG1pbkxlbikge1xuICBpZiAoIW8pIHJldHVybjtcbiAgaWYgKHR5cGVvZiBvID09PSBcInN0cmluZ1wiKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTtcbiAgdmFyIG4gPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykuc2xpY2UoOCwgLTEpO1xuICBpZiAobiA9PT0gXCJPYmplY3RcIiAmJiBvLmNvbnN0cnVjdG9yKSBuID0gby5jb25zdHJ1Y3Rvci5uYW1lO1xuICBpZiAobiA9PT0gXCJNYXBcIiB8fCBuID09PSBcIlNldFwiKSByZXR1cm4gQXJyYXkuZnJvbShvKTtcbiAgaWYgKG4gPT09IFwiQXJndW1lbnRzXCIgfHwgL14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QobikpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pO1xufVxuXG5mdW5jdGlvbiBfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlckxvb3NlKG8sIGFsbG93QXJyYXlMaWtlKSB7XG4gIHZhciBpdDtcblxuICBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJ1bmRlZmluZWRcIiB8fCBvW1N5bWJvbC5pdGVyYXRvcl0gPT0gbnVsbCkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KG8pIHx8IChpdCA9IF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShvKSkgfHwgYWxsb3dBcnJheUxpa2UgJiYgbyAmJiB0eXBlb2Ygby5sZW5ndGggPT09IFwibnVtYmVyXCIpIHtcbiAgICAgIGlmIChpdCkgbyA9IGl0O1xuICAgICAgdmFyIGkgPSAwO1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKGkgPj0gby5sZW5ndGgpIHJldHVybiB7XG4gICAgICAgICAgZG9uZTogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGRvbmU6IGZhbHNlLFxuICAgICAgICAgIHZhbHVlOiBvW2krK11cbiAgICAgICAgfTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBpdGVyYXRlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuXCIpO1xuICB9XG5cbiAgaXQgPSBvW1N5bWJvbC5pdGVyYXRvcl0oKTtcbiAgcmV0dXJuIGl0Lm5leHQuYmluZChpdCk7XG59XG5cbi8qKlxuICogUGFzc2VzIG9yIGFzc2lnbnMgYW4gYXJiaXRyYXJ5IHZhbHVlIHRvIGEgcmVmIGZ1bmN0aW9uIG9yIG9iamVjdC5cbiAqXG4gKiBAcGFyYW0gcmVmXG4gKiBAcGFyYW0gdmFsdWVcbiAqL1xuZnVuY3Rpb24gYXNzaWduUmVmKHJlZiwgdmFsdWUpIHtcbiAgaWYgKHJlZiA9PSBudWxsKSByZXR1cm47XG5cbiAgaWYgKGlzRnVuY3Rpb24ocmVmKSkge1xuICAgIHJlZih2YWx1ZSk7XG4gIH0gZWxzZSB7XG4gICAgdHJ5IHtcbiAgICAgIHJlZi5jdXJyZW50ID0gdmFsdWU7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBhc3NpZ24gdmFsdWUgXFxcIlwiICsgdmFsdWUgKyBcIlxcXCIgdG8gcmVmIFxcXCJcIiArIHJlZiArIFwiXFxcIlwiKTtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogUGFzc2VzIG9yIGFzc2lnbnMgYSB2YWx1ZSB0byBtdWx0aXBsZSByZWZzICh0eXBpY2FsbHkgYSBET00gbm9kZSkuIFVzZWZ1bCBmb3JcbiAqIGRlYWxpbmcgd2l0aCBjb21wb25lbnRzIHRoYXQgbmVlZCBhbiBleHBsaWNpdCByZWYgZm9yIERPTSBjYWxjdWxhdGlvbnMgYnV0XG4gKiBhbHNvIGZvcndhcmRzIHJlZnMgYXNzaWduZWQgYnkgYW4gYXBwLlxuICpcbiAqIEBwYXJhbSByZWZzIFJlZnMgdG8gZm9ya1xuICovXG5cbmZ1bmN0aW9uIHVzZUNvbXBvc2VkUmVmcygpIHtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIHJlZnMgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgcmVmc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgfVxuXG4gIHJldHVybiB1c2VDYWxsYmFjayhmdW5jdGlvbiAobm9kZSkge1xuICAgIGZvciAodmFyIF9pdGVyYXRvciA9IF9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyTG9vc2UocmVmcyksIF9zdGVwOyAhKF9zdGVwID0gX2l0ZXJhdG9yKCkpLmRvbmU7KSB7XG4gICAgICB2YXIgcmVmID0gX3N0ZXAudmFsdWU7XG4gICAgICBhc3NpZ25SZWYocmVmLCBub2RlKTtcbiAgICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcblxuICB9LCByZWZzKTtcbn1cblxuZXhwb3J0IHsgYXNzaWduUmVmLCB1c2VDb21wb3NlZFJlZnMgfTtcbiIsIi8qKlxuICogV3JhcHMgYSBsaWItZGVmaW5lZCBldmVudCBoYW5kbGVyIGFuZCBhIHVzZXItZGVmaW5lZCBldmVudCBoYW5kbGVyLCByZXR1cm5pbmdcbiAqIGEgc2luZ2xlIGhhbmRsZXIgdGhhdCBhbGxvd3MgYSB1c2VyIHRvIHByZXZlbnQgbGliLWRlZmluZWQgaGFuZGxlcnMgZnJvbVxuICogZmlyaW5nLlxuICpcbiAqIEBwYXJhbSB0aGVpckhhbmRsZXIgVXNlci1zdXBwbGllZCBldmVudCBoYW5kbGVyXG4gKiBAcGFyYW0gb3VySGFuZGxlciBMaWJyYXJ5LXN1cHBsaWVkIGV2ZW50IGhhbmRsZXJcbiAqL1xuZnVuY3Rpb24gY29tcG9zZUV2ZW50SGFuZGxlcnModGhlaXJIYW5kbGVyLCBvdXJIYW5kbGVyKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICB0aGVpckhhbmRsZXIgJiYgdGhlaXJIYW5kbGVyKGV2ZW50KTtcblxuICAgIGlmICghZXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgcmV0dXJuIG91ckhhbmRsZXIoZXZlbnQpO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IHsgY29tcG9zZUV2ZW50SGFuZGxlcnMgfTtcbiIsImltcG9ydCB7IGZvcndhcmRSZWYsIGNyZWF0ZUVsZW1lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5mdW5jdGlvbiBfZXh0ZW5kcygpIHtcbiAgX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHtcbiAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTtcblxuICAgICAgZm9yICh2YXIga2V5IGluIHNvdXJjZSkge1xuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkge1xuICAgICAgICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9O1xuXG4gIHJldHVybiBfZXh0ZW5kcy5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xufVxuXG5mdW5jdGlvbiBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShzb3VyY2UsIGV4Y2x1ZGVkKSB7XG4gIGlmIChzb3VyY2UgPT0gbnVsbCkgcmV0dXJuIHt9O1xuICB2YXIgdGFyZ2V0ID0ge307XG4gIHZhciBzb3VyY2VLZXlzID0gT2JqZWN0LmtleXMoc291cmNlKTtcbiAgdmFyIGtleSwgaTtcblxuICBmb3IgKGkgPSAwOyBpIDwgc291cmNlS2V5cy5sZW5ndGg7IGkrKykge1xuICAgIGtleSA9IHNvdXJjZUtleXNbaV07XG4gICAgaWYgKGV4Y2x1ZGVkLmluZGV4T2Yoa2V5KSA+PSAwKSBjb250aW51ZTtcbiAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxudmFyIF9leGNsdWRlZCA9IFtcImFzXCIsIFwic3R5bGVcIl07XG5cbi8qKlxuICogVmlzdWFsbHlIaWRkZW5cbiAqXG4gKiBQcm92aWRlcyB0ZXh0IGZvciBzY3JlZW4gcmVhZGVycyB0aGF0IGlzIHZpc3VhbGx5IGhpZGRlbi5cbiAqIEl0IGlzIHRoZSBsb2dpY2FsIG9wcG9zaXRlIG9mIHRoZSBgYXJpYS1oaWRkZW5gIGF0dHJpYnV0ZS5cbiAqL1xudmFyIFZpc3VhbGx5SGlkZGVuID0gLyojX19QVVJFX18qL2ZvcndhcmRSZWYoZnVuY3Rpb24gVmlzdWFsbHlIaWRkZW4oX3JlZiwgcmVmKSB7XG4gIHZhciBfcmVmJGFzID0gX3JlZi5hcyxcbiAgICAgIENvbXAgPSBfcmVmJGFzID09PSB2b2lkIDAgPyBcInNwYW5cIiA6IF9yZWYkYXMsXG4gICAgICBfcmVmJHN0eWxlID0gX3JlZi5zdHlsZSxcbiAgICAgIHN0eWxlID0gX3JlZiRzdHlsZSA9PT0gdm9pZCAwID8ge30gOiBfcmVmJHN0eWxlLFxuICAgICAgcHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShfcmVmLCBfZXhjbHVkZWQpO1xuXG4gIHJldHVybiAvKiNfX1BVUkVfXyovY3JlYXRlRWxlbWVudChDb21wLCBfZXh0ZW5kcyh7XG4gICAgcmVmOiByZWYsXG4gICAgc3R5bGU6IF9leHRlbmRzKHtcbiAgICAgIGJvcmRlcjogMCxcbiAgICAgIGNsaXA6IFwicmVjdCgwIDAgMCAwKVwiLFxuICAgICAgaGVpZ2h0OiBcIjFweFwiLFxuICAgICAgbWFyZ2luOiBcIi0xcHhcIixcbiAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgICAgcGFkZGluZzogMCxcbiAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICB3aWR0aDogXCIxcHhcIixcbiAgICAgIC8vIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAgICAgIHdoaXRlU3BhY2U6IFwibm93cmFwXCIsXG4gICAgICB3b3JkV3JhcDogXCJub3JtYWxcIlxuICAgIH0sIHN0eWxlKVxuICB9LCBwcm9wcykpO1xufSk7XG4vKipcbiAqIEBzZWUgRG9jcyBodHRwczovL3JlYWNoLnRlY2gvdmlzdWFsbHktaGlkZGVuI3Zpc3VhbGx5aGlkZGVuLXByb3BzXG4gKi9cblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICBWaXN1YWxseUhpZGRlbi5kaXNwbGF5TmFtZSA9IFwiVmlzdWFsbHlIaWRkZW5cIjtcbiAgVmlzdWFsbHlIaWRkZW4ucHJvcFR5cGVzID0ge1xuICAgIGFzOiBQcm9wVHlwZXMuYW55LFxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZVxuICB9O1xufSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5leHBvcnQgZGVmYXVsdCBWaXN1YWxseUhpZGRlbjtcbmV4cG9ydCB7IFZpc3VhbGx5SGlkZGVuIH07XG4iLCJ2YXIgcHJvcHMgPSBbXCJib3R0b21cIiwgXCJoZWlnaHRcIiwgXCJsZWZ0XCIsIFwicmlnaHRcIiwgXCJ0b3BcIiwgXCJ3aWR0aFwiXTtcblxudmFyIHJlY3RDaGFuZ2VkID0gZnVuY3Rpb24gcmVjdENoYW5nZWQoYSwgYikge1xuICBpZiAoYSA9PT0gdm9pZCAwKSB7XG4gICAgYSA9IHt9O1xuICB9XG5cbiAgaWYgKGIgPT09IHZvaWQgMCkge1xuICAgIGIgPSB7fTtcbiAgfVxuXG4gIHJldHVybiBwcm9wcy5zb21lKGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgcmV0dXJuIGFbcHJvcF0gIT09IGJbcHJvcF07XG4gIH0pO1xufTtcblxudmFyIG9ic2VydmVkTm9kZXMgPSAvKiNfX1BVUkVfXyovbmV3IE1hcCgpO1xudmFyIHJhZklkO1xuXG52YXIgcnVuID0gZnVuY3Rpb24gcnVuKCkge1xuICB2YXIgY2hhbmdlZFN0YXRlcyA9IFtdO1xuICBvYnNlcnZlZE5vZGVzLmZvckVhY2goZnVuY3Rpb24gKHN0YXRlLCBub2RlKSB7XG4gICAgdmFyIG5ld1JlY3QgPSBub2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgaWYgKHJlY3RDaGFuZ2VkKG5ld1JlY3QsIHN0YXRlLnJlY3QpKSB7XG4gICAgICBzdGF0ZS5yZWN0ID0gbmV3UmVjdDtcbiAgICAgIGNoYW5nZWRTdGF0ZXMucHVzaChzdGF0ZSk7XG4gICAgfVxuICB9KTtcbiAgY2hhbmdlZFN0YXRlcy5mb3JFYWNoKGZ1bmN0aW9uIChzdGF0ZSkge1xuICAgIHN0YXRlLmNhbGxiYWNrcy5mb3JFYWNoKGZ1bmN0aW9uIChjYikge1xuICAgICAgcmV0dXJuIGNiKHN0YXRlLnJlY3QpO1xuICAgIH0pO1xuICB9KTtcbiAgcmFmSWQgPSB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJ1bik7XG59O1xuXG5mdW5jdGlvbiBvYnNlcnZlUmVjdChub2RlLCBjYikge1xuICByZXR1cm4ge1xuICAgIG9ic2VydmU6IGZ1bmN0aW9uIG9ic2VydmUoKSB7XG4gICAgICB2YXIgd2FzRW1wdHkgPSBvYnNlcnZlZE5vZGVzLnNpemUgPT09IDA7XG5cbiAgICAgIGlmIChvYnNlcnZlZE5vZGVzLmhhcyhub2RlKSkge1xuICAgICAgICBvYnNlcnZlZE5vZGVzLmdldChub2RlKS5jYWxsYmFja3MucHVzaChjYik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvYnNlcnZlZE5vZGVzLnNldChub2RlLCB7XG4gICAgICAgICAgcmVjdDogdW5kZWZpbmVkLFxuICAgICAgICAgIGhhc1JlY3RDaGFuZ2VkOiBmYWxzZSxcbiAgICAgICAgICBjYWxsYmFja3M6IFtjYl1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh3YXNFbXB0eSkgcnVuKCk7XG4gICAgfSxcbiAgICB1bm9ic2VydmU6IGZ1bmN0aW9uIHVub2JzZXJ2ZSgpIHtcbiAgICAgIHZhciBzdGF0ZSA9IG9ic2VydmVkTm9kZXMuZ2V0KG5vZGUpO1xuXG4gICAgICBpZiAoc3RhdGUpIHtcbiAgICAgICAgLy8gUmVtb3ZlIHRoZSBjYWxsYmFja1xuICAgICAgICB2YXIgaW5kZXggPSBzdGF0ZS5jYWxsYmFja3MuaW5kZXhPZihjYik7XG4gICAgICAgIGlmIChpbmRleCA+PSAwKSBzdGF0ZS5jYWxsYmFja3Muc3BsaWNlKGluZGV4LCAxKTsgLy8gUmVtb3ZlIHRoZSBub2RlIHJlZmVyZW5jZVxuXG4gICAgICAgIGlmICghc3RhdGUuY2FsbGJhY2tzLmxlbmd0aCkgb2JzZXJ2ZWROb2Rlc1tcImRlbGV0ZVwiXShub2RlKTsgLy8gU3RvcCB0aGUgbG9vcFxuXG4gICAgICAgIGlmICghb2JzZXJ2ZWROb2Rlcy5zaXplKSBjYW5jZWxBbmltYXRpb25GcmFtZShyYWZJZCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBvYnNlcnZlUmVjdDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW9ic2VydmUtcmVjdC5lc20uanMubWFwXG4iLCJpbXBvcnQgeyB1c2VSZWYsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IG9ic2VydmVSZWN0IGZyb20gJ0ByZWFjaC9vYnNlcnZlLXJlY3QnO1xuaW1wb3J0IHsgdXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCB9IGZyb20gJ0ByZWFjaC91dGlscy91c2UtaXNvbW9ycGhpYy1sYXlvdXQtZWZmZWN0JztcbmltcG9ydCB7IGlzQm9vbGVhbiwgaXNGdW5jdGlvbiB9IGZyb20gJ0ByZWFjaC91dGlscy90eXBlLWNoZWNrJztcbmltcG9ydCB3YXJuaW5nIGZyb20gJ3Rpbnktd2FybmluZyc7XG5cbi8qKlxuICogV2VsY29tZSB0byBAcmVhY2gvcmVjdCFcbiAqXG4gKiBNZWFzdXJlcyBET00gZWxlbWVudHMgKGFrYS4gYm91bmRpbmcgY2xpZW50IHJlY3QpLlxuICpcbiAqIEBzZWUgZ2V0Qm91bmRpbmdDbGllbnRSZWN0IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9FbGVtZW50L2dldEJvdW5kaW5nQ2xpZW50UmVjdFxuICogQHNlZSBEb2NzICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9yZWFjaC50ZWNoL3JlY3RcbiAqIEBzZWUgU291cmNlICAgICAgICAgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjaC9yZWFjaC11aS90cmVlL21haW4vcGFja2FnZXMvcmVjdFxuICovXG5cbi8qKlxuICogUmVjdFxuICpcbiAqIEBwYXJhbSBwcm9wc1xuICovXG5cbnZhciBSZWN0ID0gZnVuY3Rpb24gUmVjdChfcmVmKSB7XG4gIHZhciBvbkNoYW5nZSA9IF9yZWYub25DaGFuZ2UsXG4gICAgICBfcmVmJG9ic2VydmUgPSBfcmVmLm9ic2VydmUsXG4gICAgICBvYnNlcnZlID0gX3JlZiRvYnNlcnZlID09PSB2b2lkIDAgPyB0cnVlIDogX3JlZiRvYnNlcnZlLFxuICAgICAgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuO1xuICB2YXIgcmVmID0gdXNlUmVmKG51bGwpO1xuICB2YXIgcmVjdCA9IHVzZVJlY3QocmVmLCB7XG4gICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICBvbkNoYW5nZTogb25DaGFuZ2VcbiAgfSk7XG4gIHJldHVybiBjaGlsZHJlbih7XG4gICAgcmVmOiByZWYsXG4gICAgcmVjdDogcmVjdFxuICB9KTtcbn07XG4vKipcbiAqIEBzZWUgRG9jcyBodHRwczovL3JlYWNoLnRlY2gvcmVjdCNyZWN0LXByb3BzXG4gKi9cblxuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gIFJlY3QuZGlzcGxheU5hbWUgPSBcIlJlY3RcIjtcbiAgUmVjdC5wcm9wVHlwZXMgPSB7XG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb2JzZXJ2ZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jXG4gIH07XG59IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLyoqXG4gKiB1c2VSZWN0XG4gKlxuICogQHBhcmFtIG5vZGVSZWZcbiAqIEBwYXJhbSBvYnNlcnZlXG4gKiBAcGFyYW0gb25DaGFuZ2VcbiAqL1xuZnVuY3Rpb24gdXNlUmVjdChub2RlUmVmLCBvYnNlcnZlT3JPcHRpb25zLCBkZXByZWNhdGVkX29uQ2hhbmdlKSB7XG4gIHZhciBvYnNlcnZlO1xuICB2YXIgb25DaGFuZ2U7XG5cbiAgaWYgKGlzQm9vbGVhbihvYnNlcnZlT3JPcHRpb25zKSkge1xuICAgIG9ic2VydmUgPSBvYnNlcnZlT3JPcHRpb25zO1xuICB9IGVsc2Uge1xuICAgIHZhciBfb2JzZXJ2ZU9yT3B0aW9ucyRvYnM7XG5cbiAgICBvYnNlcnZlID0gKF9vYnNlcnZlT3JPcHRpb25zJG9icyA9IG9ic2VydmVPck9wdGlvbnMgPT0gbnVsbCA/IHZvaWQgMCA6IG9ic2VydmVPck9wdGlvbnMub2JzZXJ2ZSkgIT0gbnVsbCA/IF9vYnNlcnZlT3JPcHRpb25zJG9icyA6IHRydWU7XG4gICAgb25DaGFuZ2UgPSBvYnNlcnZlT3JPcHRpb25zID09IG51bGwgPyB2b2lkIDAgOiBvYnNlcnZlT3JPcHRpb25zLm9uQ2hhbmdlO1xuICB9XG5cbiAgaWYgKGlzRnVuY3Rpb24oZGVwcmVjYXRlZF9vbkNoYW5nZSkpIHtcbiAgICBvbkNoYW5nZSA9IGRlcHJlY2F0ZWRfb25DaGFuZ2U7XG4gIH1cblxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IHdhcm5pbmcoIWlzQm9vbGVhbihvYnNlcnZlT3JPcHRpb25zKSwgXCJQYXNzaW5nIGBvYnNlcnZlYCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvIGB1c2VSZWN0YCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbiBvZiBSZWFjaCBVSS4gSW5zdGVhZCwgeW91IGNhbiBwYXNzIGFuIG9iamVjdCBvZiBvcHRpb25zIHdpdGggYW4gYG9ic2VydmVgIHByb3BlcnR5IGFzIHRoZSBzZWNvbmQgYXJndW1lbnQgKGB1c2VSZWN0KHJlZiwgeyBvYnNlcnZlIH0pYCkuXFxuXCIgKyBcIlNlZSBodHRwczovL3JlYWNoLnRlY2gvcmVjdCN1c2VyZWN0LW9ic2VydmVcIikgOiB2b2lkIDA7XG4gICAgfSwgW29ic2VydmVPck9wdGlvbnNdKTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXG5cbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gd2FybmluZyghaXNGdW5jdGlvbihkZXByZWNhdGVkX29uQ2hhbmdlKSwgXCJQYXNzaW5nIGBvbkNoYW5nZWAgYXMgdGhlIHRoaXJkIGFyZ3VtZW50IHRvIGB1c2VSZWN0YCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbiBvZiBSZWFjaCBVSS4gSW5zdGVhZCwgeW91IGNhbiBwYXNzIGFuIG9iamVjdCBvZiBvcHRpb25zIHdpdGggYW4gYG9uQ2hhbmdlYCBwcm9wZXJ0eSBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IChgdXNlUmVjdChyZWYsIHsgb25DaGFuZ2UgfSlgKS5cXG5cIiArIFwiU2VlIGh0dHBzOi8vcmVhY2gudGVjaC9yZWN0I3VzZXJlY3Qtb25jaGFuZ2VcIikgOiB2b2lkIDA7XG4gICAgfSwgW2RlcHJlY2F0ZWRfb25DaGFuZ2VdKTtcbiAgfVxuXG4gIHZhciBfUmVhY3QkdXNlU3RhdGUgPSB1c2VTdGF0ZShub2RlUmVmLmN1cnJlbnQpLFxuICAgICAgZWxlbWVudCA9IF9SZWFjdCR1c2VTdGF0ZVswXSxcbiAgICAgIHNldEVsZW1lbnQgPSBfUmVhY3QkdXNlU3RhdGVbMV07XG5cbiAgdmFyIGluaXRpYWxSZWN0SXNTZXQgPSB1c2VSZWYoZmFsc2UpO1xuICB2YXIgaW5pdGlhbFJlZklzU2V0ID0gdXNlUmVmKGZhbHNlKTtcblxuICB2YXIgX1JlYWN0JHVzZVN0YXRlMiA9IHVzZVN0YXRlKG51bGwpLFxuICAgICAgcmVjdCA9IF9SZWFjdCR1c2VTdGF0ZTJbMF0sXG4gICAgICBzZXRSZWN0ID0gX1JlYWN0JHVzZVN0YXRlMlsxXTtcblxuICB2YXIgb25DaGFuZ2VSZWYgPSB1c2VSZWYob25DaGFuZ2UpOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG5cbiAgdXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgb25DaGFuZ2VSZWYuY3VycmVudCA9IG9uQ2hhbmdlO1xuXG4gICAgaWYgKG5vZGVSZWYuY3VycmVudCAhPT0gZWxlbWVudCkge1xuICAgICAgc2V0RWxlbWVudChub2RlUmVmLmN1cnJlbnQpO1xuICAgIH1cbiAgfSk7XG4gIHVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIGlmIChlbGVtZW50ICYmICFpbml0aWFsUmVjdElzU2V0LmN1cnJlbnQpIHtcbiAgICAgIGluaXRpYWxSZWN0SXNTZXQuY3VycmVudCA9IHRydWU7XG4gICAgICBzZXRSZWN0KGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpO1xuICAgIH1cbiAgfSwgW2VsZW1lbnRdKTtcbiAgdXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgaWYgKCFvYnNlcnZlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGVsZW0gPSBlbGVtZW50OyAvLyBTdGF0ZSBpbml0aWFsaXplcyBiZWZvcmUgcmVmcyBhcmUgcGxhY2VkLCBtZWFuaW5nIHRoZSBlbGVtZW50IHN0YXRlIHdpbGxcbiAgICAvLyBiZSB1bmRlZmluZWQgb24gdGhlIGZpcnN0IHJlbmRlci4gV2Ugc3RpbGwgd2FudCB0aGUgcmVjdCBvbiB0aGUgZmlyc3RcbiAgICAvLyByZW5kZXIsIHNvIGluaXRpYWxseSB3ZSdsbCB1c2UgdGhlIG5vZGVSZWYgdGhhdCB3YXMgcGFzc2VkIGluc3RlYWQgb2ZcbiAgICAvLyBzdGF0ZSBmb3Igb3VyIG1lYXN1cmVtZW50cy5cblxuICAgIGlmICghaW5pdGlhbFJlZklzU2V0LmN1cnJlbnQpIHtcbiAgICAgIGluaXRpYWxSZWZJc1NldC5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIGVsZW0gPSBub2RlUmVmLmN1cnJlbnQ7XG4gICAgfVxuXG4gICAgaWYgKCFlbGVtKSB7XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcIllvdSBuZWVkIHRvIHBsYWNlIHRoZSByZWZcIik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgb2JzZXJ2ZXIgPSBvYnNlcnZlUmVjdChlbGVtLCBmdW5jdGlvbiAocmVjdCkge1xuICAgICAgb25DaGFuZ2VSZWYuY3VycmVudCA9PSBudWxsID8gdm9pZCAwIDogb25DaGFuZ2VSZWYuY3VycmVudChyZWN0KTtcbiAgICAgIHNldFJlY3QocmVjdCk7XG4gICAgfSk7XG4gICAgb2JzZXJ2ZXIub2JzZXJ2ZSgpO1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICBvYnNlcnZlci51bm9ic2VydmUoKTtcbiAgICB9O1xuICB9LCBbb2JzZXJ2ZSwgZWxlbWVudCwgbm9kZVJlZl0pO1xuICByZXR1cm4gcmVjdDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgUmVjdDtcbmV4cG9ydCB7IFJlY3QsIHVzZVJlY3QgfTtcbiIsImltcG9ydCB7IHVzZVN0YXRlLCB1c2VSZWYsIHVzZUVmZmVjdCwgZm9yd2FyZFJlZiwgQ2hpbGRyZW4sIGNyZWF0ZUVsZW1lbnQsIEZyYWdtZW50LCBjbG9uZUVsZW1lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VJZCB9IGZyb20gJ0ByZWFjaC9hdXRvLWlkJztcbmltcG9ydCB7IGdldERvY3VtZW50RGltZW5zaW9ucyB9IGZyb20gJ0ByZWFjaC91dGlscy9nZXQtZG9jdW1lbnQtZGltZW5zaW9ucyc7XG5pbXBvcnQgeyBnZXRPd25lckRvY3VtZW50IH0gZnJvbSAnQHJlYWNoL3V0aWxzL293bmVyLWRvY3VtZW50JztcbmltcG9ydCB7IG1ha2VJZCB9IGZyb20gJ0ByZWFjaC91dGlscy9tYWtlLWlkJztcbmltcG9ydCB7IHVzZUNoZWNrU3R5bGVzIH0gZnJvbSAnQHJlYWNoL3V0aWxzL2Rldi11dGlscyc7XG5pbXBvcnQgeyB1c2VDb21wb3NlZFJlZnMgfSBmcm9tICdAcmVhY2gvdXRpbHMvY29tcG9zZS1yZWZzJztcbmltcG9ydCB7IGNvbXBvc2VFdmVudEhhbmRsZXJzIH0gZnJvbSAnQHJlYWNoL3V0aWxzL2NvbXBvc2UtZXZlbnQtaGFuZGxlcnMnO1xuaW1wb3J0IHsgUG9ydGFsIH0gZnJvbSAnQHJlYWNoL3BvcnRhbCc7XG5pbXBvcnQgeyBWaXN1YWxseUhpZGRlbiB9IGZyb20gJ0ByZWFjaC92aXN1YWxseS1oaWRkZW4nO1xuaW1wb3J0IHsgdXNlUmVjdCB9IGZyb20gJ0ByZWFjaC9yZWN0JztcbmltcG9ydCB3YXJuaW5nIGZyb20gJ3Rpbnktd2FybmluZyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5mdW5jdGlvbiBfZXh0ZW5kcygpIHtcbiAgX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHtcbiAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTtcblxuICAgICAgZm9yICh2YXIga2V5IGluIHNvdXJjZSkge1xuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkge1xuICAgICAgICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9O1xuXG4gIHJldHVybiBfZXh0ZW5kcy5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xufVxuXG5mdW5jdGlvbiBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShzb3VyY2UsIGV4Y2x1ZGVkKSB7XG4gIGlmIChzb3VyY2UgPT0gbnVsbCkgcmV0dXJuIHt9O1xuICB2YXIgdGFyZ2V0ID0ge307XG4gIHZhciBzb3VyY2VLZXlzID0gT2JqZWN0LmtleXMoc291cmNlKTtcbiAgdmFyIGtleSwgaTtcblxuICBmb3IgKGkgPSAwOyBpIDwgc291cmNlS2V5cy5sZW5ndGg7IGkrKykge1xuICAgIGtleSA9IHNvdXJjZUtleXNbaV07XG4gICAgaWYgKGV4Y2x1ZGVkLmluZGV4T2Yoa2V5KSA+PSAwKSBjb250aW51ZTtcbiAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxudmFyIF9leGNsdWRlZCA9IFtcImNoaWxkcmVuXCIsIFwibGFiZWxcIiwgXCJhcmlhTGFiZWxcIiwgXCJpZFwiLCBcIkRFQlVHX1NUWUxFXCJdLFxuICAgIF9leGNsdWRlZDIgPSBbXCJsYWJlbFwiLCBcImFyaWFMYWJlbFwiLCBcImlzVmlzaWJsZVwiLCBcImlkXCJdLFxuICAgIF9leGNsdWRlZDMgPSBbXCJhcmlhTGFiZWxcIiwgXCJhcmlhLWxhYmVsXCIsIFwiYXNcIiwgXCJpZFwiLCBcImlzVmlzaWJsZVwiLCBcImxhYmVsXCIsIFwicG9zaXRpb25cIiwgXCJzdHlsZVwiLCBcInRyaWdnZXJSZWN0XCJdLFxuICAgIF9leGNsdWRlZDQgPSBbXCJ0eXBlXCJdO1xuXG52YXIgX29uLCBfb24yLCBfb24zLCBfb240LCBfb241LCBfc3RhdGVzO1xudmFyIE1PVVNFX1JFU1RfVElNRU9VVCA9IDEwMDtcbnZhciBMRUFWRV9USU1FT1VUID0gNTAwOyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gU3RhdGVzXG5cbnZhciBUb29sdGlwU3RhdGVzOyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRXZlbnRzXG5cbihmdW5jdGlvbiAoVG9vbHRpcFN0YXRlcykge1xuICBUb29sdGlwU3RhdGVzW1wiSWRsZVwiXSA9IFwiSURMRVwiO1xuICBUb29sdGlwU3RhdGVzW1wiRm9jdXNlZFwiXSA9IFwiRk9DVVNFRFwiO1xuICBUb29sdGlwU3RhdGVzW1wiVmlzaWJsZVwiXSA9IFwiVklTSUJMRVwiO1xuICBUb29sdGlwU3RhdGVzW1wiTGVhdmluZ1Zpc2libGVcIl0gPSBcIkxFQVZJTkdfVklTSUJMRVwiO1xuICBUb29sdGlwU3RhdGVzW1wiRGlzbWlzc2VkXCJdID0gXCJESVNNSVNTRURcIjtcbn0pKFRvb2x0aXBTdGF0ZXMgfHwgKFRvb2x0aXBTdGF0ZXMgPSB7fSkpO1xuXG52YXIgVG9vbHRpcEV2ZW50cztcblxuKGZ1bmN0aW9uIChUb29sdGlwRXZlbnRzKSB7XG4gIFRvb2x0aXBFdmVudHNbXCJCbHVyXCJdID0gXCJCTFVSXCI7XG4gIFRvb2x0aXBFdmVudHNbXCJGb2N1c1wiXSA9IFwiRk9DVVNcIjtcbiAgVG9vbHRpcEV2ZW50c1tcIkdsb2JhbE1vdXNlTW92ZVwiXSA9IFwiR0xPQkFMX01PVVNFX01PVkVcIjtcbiAgVG9vbHRpcEV2ZW50c1tcIk1vdXNlRG93blwiXSA9IFwiTU9VU0VfRE9XTlwiO1xuICBUb29sdGlwRXZlbnRzW1wiTW91c2VFbnRlclwiXSA9IFwiTU9VU0VfRU5URVJcIjtcbiAgVG9vbHRpcEV2ZW50c1tcIk1vdXNlTGVhdmVcIl0gPSBcIk1PVVNFX0xFQVZFXCI7XG4gIFRvb2x0aXBFdmVudHNbXCJNb3VzZU1vdmVcIl0gPSBcIk1PVVNFX01PVkVcIjtcbiAgVG9vbHRpcEV2ZW50c1tcIlJlc3RcIl0gPSBcIlJFU1RcIjtcbiAgVG9vbHRpcEV2ZW50c1tcIlNlbGVjdFdpdGhLZXlib2FyZFwiXSA9IFwiU0VMRUNUX1dJVEhfS0VZQk9BUkRcIjtcbiAgVG9vbHRpcEV2ZW50c1tcIlRpbWVDb21wbGV0ZVwiXSA9IFwiVElNRV9DT01QTEVURVwiO1xufSkoVG9vbHRpcEV2ZW50cyB8fCAoVG9vbHRpcEV2ZW50cyA9IHt9KSk7XG5cbnZhciBjaGFydCA9IHtcbiAgaW5pdGlhbDogVG9vbHRpcFN0YXRlcy5JZGxlLFxuICBzdGF0ZXM6IChfc3RhdGVzID0ge30sIF9zdGF0ZXNbVG9vbHRpcFN0YXRlcy5JZGxlXSA9IHtcbiAgICBlbnRlcjogY2xlYXJDb250ZXh0SWQsXG4gICAgb246IChfb24gPSB7fSwgX29uW1Rvb2x0aXBFdmVudHMuTW91c2VFbnRlcl0gPSBUb29sdGlwU3RhdGVzLkZvY3VzZWQsIF9vbltUb29sdGlwRXZlbnRzLkZvY3VzXSA9IFRvb2x0aXBTdGF0ZXMuVmlzaWJsZSwgX29uKVxuICB9LCBfc3RhdGVzW1Rvb2x0aXBTdGF0ZXMuRm9jdXNlZF0gPSB7XG4gICAgZW50ZXI6IHN0YXJ0UmVzdFRpbWVyLFxuICAgIGxlYXZlOiBjbGVhclJlc3RUaW1lcixcbiAgICBvbjogKF9vbjIgPSB7fSwgX29uMltUb29sdGlwRXZlbnRzLk1vdXNlTW92ZV0gPSBUb29sdGlwU3RhdGVzLkZvY3VzZWQsIF9vbjJbVG9vbHRpcEV2ZW50cy5Nb3VzZUxlYXZlXSA9IFRvb2x0aXBTdGF0ZXMuSWRsZSwgX29uMltUb29sdGlwRXZlbnRzLk1vdXNlRG93bl0gPSBUb29sdGlwU3RhdGVzLkRpc21pc3NlZCwgX29uMltUb29sdGlwRXZlbnRzLkJsdXJdID0gVG9vbHRpcFN0YXRlcy5JZGxlLCBfb24yW1Rvb2x0aXBFdmVudHMuUmVzdF0gPSBUb29sdGlwU3RhdGVzLlZpc2libGUsIF9vbjIpXG4gIH0sIF9zdGF0ZXNbVG9vbHRpcFN0YXRlcy5WaXNpYmxlXSA9IHtcbiAgICBvbjogKF9vbjMgPSB7fSwgX29uM1tUb29sdGlwRXZlbnRzLkZvY3VzXSA9IFRvb2x0aXBTdGF0ZXMuRm9jdXNlZCwgX29uM1tUb29sdGlwRXZlbnRzLk1vdXNlRW50ZXJdID0gVG9vbHRpcFN0YXRlcy5Gb2N1c2VkLCBfb24zW1Rvb2x0aXBFdmVudHMuTW91c2VMZWF2ZV0gPSBUb29sdGlwU3RhdGVzLkxlYXZpbmdWaXNpYmxlLCBfb24zW1Rvb2x0aXBFdmVudHMuQmx1cl0gPSBUb29sdGlwU3RhdGVzLkxlYXZpbmdWaXNpYmxlLCBfb24zW1Rvb2x0aXBFdmVudHMuTW91c2VEb3duXSA9IFRvb2x0aXBTdGF0ZXMuRGlzbWlzc2VkLCBfb24zW1Rvb2x0aXBFdmVudHMuU2VsZWN0V2l0aEtleWJvYXJkXSA9IFRvb2x0aXBTdGF0ZXMuRGlzbWlzc2VkLCBfb24zW1Rvb2x0aXBFdmVudHMuR2xvYmFsTW91c2VNb3ZlXSA9IFRvb2x0aXBTdGF0ZXMuTGVhdmluZ1Zpc2libGUsIF9vbjMpXG4gIH0sIF9zdGF0ZXNbVG9vbHRpcFN0YXRlcy5MZWF2aW5nVmlzaWJsZV0gPSB7XG4gICAgZW50ZXI6IHN0YXJ0TGVhdmluZ1Zpc2libGVUaW1lcixcbiAgICBsZWF2ZTogZnVuY3Rpb24gbGVhdmUoKSB7XG4gICAgICBjbGVhckxlYXZpbmdWaXNpYmxlVGltZXIoKTtcbiAgICAgIGNsZWFyQ29udGV4dElkKCk7XG4gICAgfSxcbiAgICBvbjogKF9vbjQgPSB7fSwgX29uNFtUb29sdGlwRXZlbnRzLk1vdXNlRW50ZXJdID0gVG9vbHRpcFN0YXRlcy5WaXNpYmxlLCBfb240W1Rvb2x0aXBFdmVudHMuRm9jdXNdID0gVG9vbHRpcFN0YXRlcy5WaXNpYmxlLCBfb240W1Rvb2x0aXBFdmVudHMuVGltZUNvbXBsZXRlXSA9IFRvb2x0aXBTdGF0ZXMuSWRsZSwgX29uNClcbiAgfSwgX3N0YXRlc1tUb29sdGlwU3RhdGVzLkRpc21pc3NlZF0gPSB7XG4gICAgbGVhdmU6IGZ1bmN0aW9uIGxlYXZlKCkge1xuICAgICAgY2xlYXJDb250ZXh0SWQoKTtcbiAgICB9LFxuICAgIG9uOiAoX29uNSA9IHt9LCBfb241W1Rvb2x0aXBFdmVudHMuTW91c2VMZWF2ZV0gPSBUb29sdGlwU3RhdGVzLklkbGUsIF9vbjVbVG9vbHRpcEV2ZW50cy5CbHVyXSA9IFRvb2x0aXBTdGF0ZXMuSWRsZSwgX29uNSlcbiAgfSwgX3N0YXRlcylcbn07XG4vKlxuICogQ2hhcnQgY29udGV4dCBhbGxvd3MgdXMgdG8gcGVyc2lzdCBzb21lIGRhdGEgYXJvdW5kLCBpbiBUb29sdGlwIGFsbCB3ZSB1c2VcbiAqIGlzIHRoZSBpZCBvZiB0aGUgY3VycmVudCB0b29sdGlwIGJlaW5nIGludGVyYWN0ZWQgd2l0aC5cbiAqL1xuXG52YXIgc3RhdGUgPSB7XG4gIHZhbHVlOiBjaGFydC5pbml0aWFsLFxuICBjb250ZXh0OiB7XG4gICAgaWQ6IG51bGxcbiAgfVxufTsgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFN1YnNjcmlwdGlvbnM6XG4vL1xuLy8gV2UgY291bGQgcmVxdWlyZSBhcHBzIHRvIHJlbmRlciBhIDxUb29sdGlwUHJvdmlkZXI+IGFyb3VuZCB0aGUgYXBwIGFuZCB1c2Vcbi8vIFJlYWN0IGNvbnRleHQgdG8gbm90aWZ5IFRvb2x0aXBzIG9mIGNoYW5nZXMgdG8gb3VyIHN0YXRlIG1hY2hpbmUsIGluc3RlYWRcbi8vIHdlIG1hbmFnZSBzdWJzY3JpcHRpb25zIG91cnNlbHZlcyBhbmQgc2ltcGxpZnkgdGhlIFRvb2x0aXAgQVBJLlxuLy9cbi8vIE1heWJlIGlmIGRlZmF1bHQgY29udGV4dCBjb3VsZCB0YWtlIGEgaG9vayAoaW5zdGVhZCBvZiBqdXN0IGEgc3RhdGljIHZhbHVlKVxuLy8gdGhhdCB3YXMgcmVuZGVyZWQgYXQgdGhlIHJvb3QgZm9yIHVzLCB0aGF0J2QgYmUgY29vbCEgQnV0IGl0IGRvZXNuJ3QuXG5cbnZhciBzdWJzY3JpcHRpb25zID0gW107XG5cbmZ1bmN0aW9uIHN1YnNjcmliZShmbikge1xuICBzdWJzY3JpcHRpb25zLnB1c2goZm4pO1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIHN1YnNjcmlwdGlvbnMuc3BsaWNlKHN1YnNjcmlwdGlvbnMuaW5kZXhPZihmbiksIDEpO1xuICB9O1xufVxuXG5mdW5jdGlvbiBub3RpZnkoKSB7XG4gIHN1YnNjcmlwdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAoZm4pIHtcbiAgICByZXR1cm4gZm4oc3RhdGUpO1xuICB9KTtcbn0gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFRpbWVvdXRzOlxuLy8gTWFuYWdlcyB3aGVuIHRoZSB1c2VyIFwicmVzdHNcIiBvbiBhbiBlbGVtZW50LiBLZWVwcyB0aGUgaW50ZXJmYWNlIGZyb20gYmVpbmdcbi8vIGZsYXNoaW5nIHRvb2x0aXBzIGFsbCB0aGUgdGltZSBhcyB0aGUgdXNlciBtb3ZlcyB0aGUgbW91c2UgYXJvdW5kIHRoZSBzY3JlZW4uXG5cblxudmFyIHJlc3RUaW1lb3V0O1xuXG5mdW5jdGlvbiBzdGFydFJlc3RUaW1lcigpIHtcbiAgd2luZG93LmNsZWFyVGltZW91dChyZXN0VGltZW91dCk7XG4gIHJlc3RUaW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgIHNlbmQoe1xuICAgICAgdHlwZTogVG9vbHRpcEV2ZW50cy5SZXN0XG4gICAgfSk7XG4gIH0sIE1PVVNFX1JFU1RfVElNRU9VVCk7XG59XG5cbmZ1bmN0aW9uIGNsZWFyUmVzdFRpbWVyKCkge1xuICB3aW5kb3cuY2xlYXJUaW1lb3V0KHJlc3RUaW1lb3V0KTtcbn0gLy8gTWFuYWdlcyB0aGUgZGVsYXkgdG8gaGlkZSB0aGUgdG9vbHRpcCBhZnRlciByZXN0IGxlYXZlcy5cblxuXG52YXIgbGVhdmluZ1Zpc2libGVUaW1lcjtcblxuZnVuY3Rpb24gc3RhcnRMZWF2aW5nVmlzaWJsZVRpbWVyKCkge1xuICB3aW5kb3cuY2xlYXJUaW1lb3V0KGxlYXZpbmdWaXNpYmxlVGltZXIpO1xuICBsZWF2aW5nVmlzaWJsZVRpbWVyID0gd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBzZW5kKHtcbiAgICAgIHR5cGU6IFRvb2x0aXBFdmVudHMuVGltZUNvbXBsZXRlXG4gICAgfSk7XG4gIH0sIExFQVZFX1RJTUVPVVQpO1xufVxuXG5mdW5jdGlvbiBjbGVhckxlYXZpbmdWaXNpYmxlVGltZXIoKSB7XG4gIHdpbmRvdy5jbGVhclRpbWVvdXQobGVhdmluZ1Zpc2libGVUaW1lcik7XG59IC8vIGFsbG93cyB1cyB0byBjb21lIG9uIGJhY2sgbGF0ZXIgdy9vIGVudGVyaW5nIHNvbWV0aGluZyBlbHNlIGZpcnN0IGFmdGVyIHRoZVxuLy8gdXNlciBsZWF2ZXMgb3IgZGlzbWlzc2VzXG5cblxuZnVuY3Rpb24gY2xlYXJDb250ZXh0SWQoKSB7XG4gIHN0YXRlLmNvbnRleHQuaWQgPSBudWxsO1xufSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIHVzZVRvb2x0aXBcbiAqXG4gKiBAcGFyYW0gcGFyYW1zXG4gKi9cblxuXG5mdW5jdGlvbiB1c2VUb29sdGlwKF90ZW1wKSB7XG4gIHZhciBfcmVmID0gX3RlbXAgPT09IHZvaWQgMCA/IHt9IDogX3RlbXAsXG4gICAgICBpZFByb3AgPSBfcmVmLmlkLFxuICAgICAgb25Qb2ludGVyRW50ZXIgPSBfcmVmLm9uUG9pbnRlckVudGVyLFxuICAgICAgb25Qb2ludGVyTW92ZSA9IF9yZWYub25Qb2ludGVyTW92ZSxcbiAgICAgIG9uUG9pbnRlckxlYXZlID0gX3JlZi5vblBvaW50ZXJMZWF2ZSxcbiAgICAgIG9uUG9pbnRlckRvd24gPSBfcmVmLm9uUG9pbnRlckRvd24sXG4gICAgICBvbk1vdXNlRW50ZXIgPSBfcmVmLm9uTW91c2VFbnRlcixcbiAgICAgIG9uTW91c2VNb3ZlID0gX3JlZi5vbk1vdXNlTW92ZSxcbiAgICAgIG9uTW91c2VMZWF2ZSA9IF9yZWYub25Nb3VzZUxlYXZlLFxuICAgICAgb25Nb3VzZURvd24gPSBfcmVmLm9uTW91c2VEb3duLFxuICAgICAgb25Gb2N1cyA9IF9yZWYub25Gb2N1cyxcbiAgICAgIG9uQmx1ciA9IF9yZWYub25CbHVyLFxuICAgICAgb25LZXlEb3duID0gX3JlZi5vbktleURvd24sXG4gICAgICBkaXNhYmxlZCA9IF9yZWYuZGlzYWJsZWQsXG4gICAgICBmb3J3YXJkZWRSZWYgPSBfcmVmLnJlZixcbiAgICAgIERFQlVHX1NUWUxFID0gX3JlZi5ERUJVR19TVFlMRTtcblxuICB2YXIgaWQgPSBTdHJpbmcodXNlSWQoaWRQcm9wKSk7XG5cbiAgdmFyIF9SZWFjdCR1c2VTdGF0ZSA9IHVzZVN0YXRlKERFQlVHX1NUWUxFID8gdHJ1ZSA6IGlzVG9vbHRpcFZpc2libGUoaWQsIHRydWUpKSxcbiAgICAgIGlzVmlzaWJsZSA9IF9SZWFjdCR1c2VTdGF0ZVswXSxcbiAgICAgIHNldElzVmlzaWJsZSA9IF9SZWFjdCR1c2VTdGF0ZVsxXTsgLy8gaG9wZWZ1bGx5IHRoZXkgYWx3YXlzIHBhc3MgYSByZWYgaWYgdGhleSBldmVyIHBhc3Mgb25lXG5cblxuICB2YXIgb3duUmVmID0gdXNlUmVmKG51bGwpO1xuICB2YXIgcmVmID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgb3duUmVmKTtcbiAgdmFyIHRyaWdnZXJSZWN0ID0gdXNlUmVjdChvd25SZWYsIHtcbiAgICBvYnNlcnZlOiBpc1Zpc2libGVcbiAgfSk7XG4gIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIHN1YnNjcmliZShmdW5jdGlvbiAoKSB7XG4gICAgICBzZXRJc1Zpc2libGUoaXNUb29sdGlwVmlzaWJsZShpZCkpO1xuICAgIH0pO1xuICB9LCBbaWRdKTtcbiAgdXNlQ2hlY2tTdHlsZXMoXCJ0b29sdGlwXCIpO1xuICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIHZhciBvd25lckRvY3VtZW50ID0gZ2V0T3duZXJEb2N1bWVudChvd25SZWYuY3VycmVudCk7XG5cbiAgICBmdW5jdGlvbiBsaXN0ZW5lcihldmVudCkge1xuICAgICAgaWYgKChldmVudC5rZXkgPT09IFwiRXNjYXBlXCIgfHwgZXZlbnQua2V5ID09PSBcIkVzY1wiKSAmJiBzdGF0ZS52YWx1ZSA9PT0gVG9vbHRpcFN0YXRlcy5WaXNpYmxlKSB7XG4gICAgICAgIHNlbmQoe1xuICAgICAgICAgIHR5cGU6IFRvb2x0aXBFdmVudHMuU2VsZWN0V2l0aEtleWJvYXJkXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIG93bmVyRG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgbGlzdGVuZXIpO1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gb3duZXJEb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCBsaXN0ZW5lcik7XG4gICAgfTtcbiAgfSwgW10pO1xuICB1c2VEaXNhYmxlZFRyaWdnZXJPblNhZmFyaSh7XG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkLFxuICAgIGlzVmlzaWJsZTogaXNWaXNpYmxlLFxuICAgIHJlZjogb3duUmVmXG4gIH0pO1xuXG4gIGZ1bmN0aW9uIHdyYXBNb3VzZUV2ZW50KHRoZWlySGFuZGxlciwgb3VySGFuZGxlcikge1xuICAgIC8vIFVzZSBpbnRlcm5hbCBNb3VzZUV2ZW50IGhhbmRsZXIgb25seSBpZiBQb2ludGVyRXZlbnQgaXMgbm90IHN1cHBvcnRlZFxuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIFwiUG9pbnRlckV2ZW50XCIgaW4gd2luZG93KSB7XG4gICAgICByZXR1cm4gdGhlaXJIYW5kbGVyO1xuICAgIH1cblxuICAgIHJldHVybiBjb21wb3NlRXZlbnRIYW5kbGVycyh0aGVpckhhbmRsZXIsIG91ckhhbmRsZXIpO1xuICB9XG5cbiAgZnVuY3Rpb24gd3JhcFBvaW50ZXJFdmVudEhhbmRsZXIoaGFuZGxlcikge1xuICAgIHJldHVybiBmdW5jdGlvbiBvblBvaW50ZXJFdmVudChldmVudCkge1xuICAgICAgLy8gSGFuZGxlIHBvaW50ZXIgZXZlbnRzIG9ubHkgZnJvbSBtb3VzZSBkZXZpY2VcbiAgICAgIGlmIChldmVudC5wb2ludGVyVHlwZSAhPT0gXCJtb3VzZVwiKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaGFuZGxlcihldmVudCk7XG4gICAgfTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZU1vdXNlRW50ZXIoKSB7XG4gICAgc2VuZCh7XG4gICAgICB0eXBlOiBUb29sdGlwRXZlbnRzLk1vdXNlRW50ZXIsXG4gICAgICBpZDogaWRcbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZU1vdXNlTW92ZSgpIHtcbiAgICBzZW5kKHtcbiAgICAgIHR5cGU6IFRvb2x0aXBFdmVudHMuTW91c2VNb3ZlLFxuICAgICAgaWQ6IGlkXG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVNb3VzZUxlYXZlKCkge1xuICAgIHNlbmQoe1xuICAgICAgdHlwZTogVG9vbHRpcEV2ZW50cy5Nb3VzZUxlYXZlXG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVNb3VzZURvd24oKSB7XG4gICAgLy8gQWxsb3cgcXVpY2sgY2xpY2sgZnJvbSBvbmUgdG9vbCB0byBhbm90aGVyXG4gICAgaWYgKHN0YXRlLmNvbnRleHQuaWQgPT09IGlkKSB7XG4gICAgICBzZW5kKHtcbiAgICAgICAgdHlwZTogVG9vbHRpcEV2ZW50cy5Nb3VzZURvd25cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZUZvY3VzKCkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAod2luZG93Ll9fUkVBQ0hfRElTQUJMRV9UT09MVElQUykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNlbmQoe1xuICAgICAgdHlwZTogVG9vbHRpcEV2ZW50cy5Gb2N1cyxcbiAgICAgIGlkOiBpZFxuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlQmx1cigpIHtcbiAgICAvLyBBbGxvdyBxdWljayBjbGljayBmcm9tIG9uZSB0b29sIHRvIGFub3RoZXJcbiAgICBpZiAoc3RhdGUuY29udGV4dC5pZCA9PT0gaWQpIHtcbiAgICAgIHNlbmQoe1xuICAgICAgICB0eXBlOiBUb29sdGlwRXZlbnRzLkJsdXJcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZUtleURvd24oZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSBcIkVudGVyXCIgfHwgZXZlbnQua2V5ID09PSBcIiBcIikge1xuICAgICAgc2VuZCh7XG4gICAgICAgIHR5cGU6IFRvb2x0aXBFdmVudHMuU2VsZWN0V2l0aEtleWJvYXJkXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICB2YXIgdHJpZ2dlciA9IHtcbiAgICAvLyBUaGUgZWxlbWVudCB0aGF0IHRyaWdnZXJzIHRoZSB0b29sdGlwIHJlZmVyZW5jZXMgdGhlIHRvb2x0aXAgZWxlbWVudCB3aXRoXG4gICAgLy8gYGFyaWEtZGVzY3JpYmVkYnlgLlxuICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS1wcmFjdGljZXMtMS4yLyN0b29sdGlwXG4gICAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IGlzVmlzaWJsZSA/IG1ha2VJZChcInRvb2x0aXBcIiwgaWQpIDogdW5kZWZpbmVkLFxuICAgIFwiZGF0YS1zdGF0ZVwiOiBpc1Zpc2libGUgPyBcInRvb2x0aXAtdmlzaWJsZVwiIDogXCJ0b29sdGlwLWhpZGRlblwiLFxuICAgIFwiZGF0YS1yZWFjaC10b29sdGlwLXRyaWdnZXJcIjogXCJcIixcbiAgICByZWY6IHJlZixcbiAgICBvblBvaW50ZXJFbnRlcjogY29tcG9zZUV2ZW50SGFuZGxlcnMob25Qb2ludGVyRW50ZXIsIHdyYXBQb2ludGVyRXZlbnRIYW5kbGVyKGhhbmRsZU1vdXNlRW50ZXIpKSxcbiAgICBvblBvaW50ZXJNb3ZlOiBjb21wb3NlRXZlbnRIYW5kbGVycyhvblBvaW50ZXJNb3ZlLCB3cmFwUG9pbnRlckV2ZW50SGFuZGxlcihoYW5kbGVNb3VzZU1vdmUpKSxcbiAgICBvblBvaW50ZXJMZWF2ZTogY29tcG9zZUV2ZW50SGFuZGxlcnMob25Qb2ludGVyTGVhdmUsIHdyYXBQb2ludGVyRXZlbnRIYW5kbGVyKGhhbmRsZU1vdXNlTGVhdmUpKSxcbiAgICBvblBvaW50ZXJEb3duOiBjb21wb3NlRXZlbnRIYW5kbGVycyhvblBvaW50ZXJEb3duLCB3cmFwUG9pbnRlckV2ZW50SGFuZGxlcihoYW5kbGVNb3VzZURvd24pKSxcbiAgICBvbk1vdXNlRW50ZXI6IHdyYXBNb3VzZUV2ZW50KG9uTW91c2VFbnRlciwgaGFuZGxlTW91c2VFbnRlciksXG4gICAgb25Nb3VzZU1vdmU6IHdyYXBNb3VzZUV2ZW50KG9uTW91c2VNb3ZlLCBoYW5kbGVNb3VzZU1vdmUpLFxuICAgIG9uTW91c2VMZWF2ZTogd3JhcE1vdXNlRXZlbnQob25Nb3VzZUxlYXZlLCBoYW5kbGVNb3VzZUxlYXZlKSxcbiAgICBvbk1vdXNlRG93bjogd3JhcE1vdXNlRXZlbnQob25Nb3VzZURvd24sIGhhbmRsZU1vdXNlRG93biksXG4gICAgb25Gb2N1czogY29tcG9zZUV2ZW50SGFuZGxlcnMob25Gb2N1cywgaGFuZGxlRm9jdXMpLFxuICAgIG9uQmx1cjogY29tcG9zZUV2ZW50SGFuZGxlcnMob25CbHVyLCBoYW5kbGVCbHVyKSxcbiAgICBvbktleURvd246IGNvbXBvc2VFdmVudEhhbmRsZXJzKG9uS2V5RG93biwgaGFuZGxlS2V5RG93bilcbiAgfTtcbiAgdmFyIHRvb2x0aXAgPSB7XG4gICAgaWQ6IGlkLFxuICAgIHRyaWdnZXJSZWN0OiB0cmlnZ2VyUmVjdCxcbiAgICBpc1Zpc2libGU6IGlzVmlzaWJsZVxuICB9O1xuICByZXR1cm4gW3RyaWdnZXIsIHRvb2x0aXAsIGlzVmlzaWJsZV07XG59IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qKlxuICogVG9vbHRpcFxuICpcbiAqIEBzZWUgRG9jcyBodHRwczovL3JlYWNoLnRlY2gvdG9vbHRpcCN0b29sdGlwXG4gKi9cblxuXG52YXIgVG9vbHRpcCA9IC8qI19fUFVSRV9fKi9mb3J3YXJkUmVmKGZ1bmN0aW9uIChfcmVmMiwgZm9yd2FyZGVkUmVmKSB7XG4gIHZhciBjaGlsZHJlbiA9IF9yZWYyLmNoaWxkcmVuLFxuICAgICAgbGFiZWwgPSBfcmVmMi5sYWJlbCxcbiAgICAgIERFUFJFQ0FURURfYXJpYUxhYmVsID0gX3JlZjIuYXJpYUxhYmVsLFxuICAgICAgaWQgPSBfcmVmMi5pZCxcbiAgICAgIERFQlVHX1NUWUxFID0gX3JlZjIuREVCVUdfU1RZTEUsXG4gICAgICBwcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlKF9yZWYyLCBfZXhjbHVkZWQpO1xuXG4gIHZhciBjaGlsZCA9IENoaWxkcmVuLm9ubHkoY2hpbGRyZW4pO1xuICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyB3YXJuaW5nKCFERVBSRUNBVEVEX2FyaWFMYWJlbCwgXCJUaGUgYGFyaWFMYWJlbCBwcm9wIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIEByZWFjaC90b29sdGlwIGluIGEgZnV0dXJlIHZlcnNpb24gb2YgUmVhY2ggVUkuIFBsZWFzZSB1c2UgYGFyaWEtbGFiZWxgIGluc3RlYWQuXCIpIDogdm9pZCAwOyAvLyBXZSBuZWVkIHRvIHBhc3Mgc29tZSBwcm9wZXJ0aWVzIGZyb20gdGhlIGNoaWxkIGludG8gdXNlVG9vbHRpcFxuICAvLyB0byBtYWtlIHN1cmUgdXNlcnMgY2FuIG1haW50YWluIGNvbnRyb2wgb3ZlciB0aGUgdHJpZ2dlcidzIHJlZiBhbmQgZXZlbnRzXG5cbiAgdmFyIF91c2VUb29sdGlwID0gdXNlVG9vbHRpcCh7XG4gICAgaWQ6IGlkLFxuICAgIG9uUG9pbnRlckVudGVyOiBjaGlsZC5wcm9wcy5vblBvaW50ZXJFbnRlcixcbiAgICBvblBvaW50ZXJNb3ZlOiBjaGlsZC5wcm9wcy5vblBvaW50ZXJNb3ZlLFxuICAgIG9uUG9pbnRlckxlYXZlOiBjaGlsZC5wcm9wcy5vblBvaW50ZXJMZWF2ZSxcbiAgICBvblBvaW50ZXJEb3duOiBjaGlsZC5wcm9wcy5vblBvaW50ZXJEb3duLFxuICAgIG9uTW91c2VFbnRlcjogY2hpbGQucHJvcHMub25Nb3VzZUVudGVyLFxuICAgIG9uTW91c2VNb3ZlOiBjaGlsZC5wcm9wcy5vbk1vdXNlTW92ZSxcbiAgICBvbk1vdXNlTGVhdmU6IGNoaWxkLnByb3BzLm9uTW91c2VMZWF2ZSxcbiAgICBvbk1vdXNlRG93bjogY2hpbGQucHJvcHMub25Nb3VzZURvd24sXG4gICAgb25Gb2N1czogY2hpbGQucHJvcHMub25Gb2N1cyxcbiAgICBvbkJsdXI6IGNoaWxkLnByb3BzLm9uQmx1cixcbiAgICBvbktleURvd246IGNoaWxkLnByb3BzLm9uS2V5RG93bixcbiAgICBkaXNhYmxlZDogY2hpbGQucHJvcHMuZGlzYWJsZWQsXG4gICAgcmVmOiBjaGlsZC5yZWYsXG4gICAgREVCVUdfU1RZTEU6IERFQlVHX1NUWUxFXG4gIH0pLFxuICAgICAgdHJpZ2dlciA9IF91c2VUb29sdGlwWzBdLFxuICAgICAgdG9vbHRpcCA9IF91c2VUb29sdGlwWzFdO1xuXG4gIHJldHVybiAvKiNfX1BVUkVfXyovY3JlYXRlRWxlbWVudChGcmFnbWVudCwgbnVsbCwgLyojX19QVVJFX18qL2Nsb25lRWxlbWVudChjaGlsZCwgdHJpZ2dlciksIC8qI19fUFVSRV9fKi9jcmVhdGVFbGVtZW50KFRvb2x0aXBQb3B1cCwgX2V4dGVuZHMoe1xuICAgIHJlZjogZm9yd2FyZGVkUmVmLFxuICAgIGxhYmVsOiBsYWJlbCxcbiAgICBcImFyaWEtbGFiZWxcIjogREVQUkVDQVRFRF9hcmlhTGFiZWxcbiAgfSwgdG9vbHRpcCwgcHJvcHMpKSk7XG59KTtcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICBUb29sdGlwLmRpc3BsYXlOYW1lID0gXCJUb29sdGlwXCI7XG4gIFRvb2x0aXAucHJvcFR5cGVzID0ge1xuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLFxuICAgIGxhYmVsOiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLFxuICAgIGFyaWFMYWJlbDogUHJvcFR5cGVzLnN0cmluZ1xuICB9O1xufSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIFRvb2x0aXBQb3B1cFxuICpcbiAqIEBzZWUgRG9jcyBodHRwczovL3JlYWNoLnRlY2gvdG9vbHRpcCN0b29sdGlwcG9wdXBcbiAqL1xuXG5cbnZhciBUb29sdGlwUG9wdXAgPSAvKiNfX1BVUkVfXyovZm9yd2FyZFJlZihmdW5jdGlvbiBUb29sdGlwUG9wdXAoX3JlZjMsIGZvcndhcmRSZWYpIHtcbiAgdmFyIGxhYmVsID0gX3JlZjMubGFiZWwsXG4gICAgICBERVBSRUNBVEVEX2FyaWFMYWJlbCA9IF9yZWYzLmFyaWFMYWJlbCxcbiAgICAgIGlzVmlzaWJsZSA9IF9yZWYzLmlzVmlzaWJsZSxcbiAgICAgIGlkID0gX3JlZjMuaWQsXG4gICAgICBwcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlKF9yZWYzLCBfZXhjbHVkZWQyKTtcblxuICByZXR1cm4gaXNWaXNpYmxlID8gLyojX19QVVJFX18qL2NyZWF0ZUVsZW1lbnQoUG9ydGFsLCBudWxsLCAvKiNfX1BVUkVfXyovY3JlYXRlRWxlbWVudChUb29sdGlwQ29udGVudCwgX2V4dGVuZHMoe1xuICAgIHJlZjogZm9yd2FyZFJlZixcbiAgICBsYWJlbDogbGFiZWwsXG4gICAgXCJhcmlhLWxhYmVsXCI6IERFUFJFQ0FURURfYXJpYUxhYmVsLFxuICAgIGlzVmlzaWJsZTogaXNWaXNpYmxlXG4gIH0sIHByb3BzLCB7XG4gICAgaWQ6IG1ha2VJZChcInRvb2x0aXBcIiwgU3RyaW5nKGlkKSlcbiAgfSkpKSA6IG51bGw7XG59KTtcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICBUb29sdGlwUG9wdXAuZGlzcGxheU5hbWUgPSBcIlRvb2x0aXBQb3B1cFwiO1xuICBUb29sdGlwUG9wdXAucHJvcFR5cGVzID0ge1xuICAgIGxhYmVsOiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLFxuICAgIGFyaWFMYWJlbDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBwb3NpdGlvbjogUHJvcFR5cGVzLmZ1bmNcbiAgfTtcbn1cbi8qKlxuICogVG9vbHRpcENvbnRlbnRcbiAqXG4gKiBXZSBuZWVkIGEgc2VwYXJhdGUgY29tcG9uZW50IHNvIHRoYXQgdXNlUmVjdCB3b3JrcyBpbnNpZGUgdGhlIHBvcnRhbC5cbiAqXG4gKiBAc2VlIERvY3MgaHR0cHM6Ly9yZWFjaC50ZWNoL3Rvb2x0aXAjdG9vbHRpcGNvbnRlbnRcbiAqL1xuXG5cbnZhciBUb29sdGlwQ29udGVudCA9IC8qI19fUFVSRV9fKi9mb3J3YXJkUmVmKGZ1bmN0aW9uIFRvb2x0aXBDb250ZW50KF9yZWY0LCBmb3J3YXJkZWRSZWYpIHtcbiAgdmFyIGFyaWFMYWJlbCA9IF9yZWY0LmFyaWFMYWJlbCxcbiAgICAgIHJlYWxBcmlhTGFiZWwgPSBfcmVmNFtcImFyaWEtbGFiZWxcIl0sXG4gICAgICBfcmVmNCRhcyA9IF9yZWY0LmFzLFxuICAgICAgQ29tcCA9IF9yZWY0JGFzID09PSB2b2lkIDAgPyBcImRpdlwiIDogX3JlZjQkYXMsXG4gICAgICBpZCA9IF9yZWY0LmlkLFxuICAgICAgaXNWaXNpYmxlID0gX3JlZjQuaXNWaXNpYmxlLFxuICAgICAgbGFiZWwgPSBfcmVmNC5sYWJlbCxcbiAgICAgIF9yZWY0JHBvc2l0aW9uID0gX3JlZjQucG9zaXRpb24sXG4gICAgICBwb3NpdGlvbiA9IF9yZWY0JHBvc2l0aW9uID09PSB2b2lkIDAgPyBwb3NpdGlvblRvb2x0aXAgOiBfcmVmNCRwb3NpdGlvbixcbiAgICAgIHN0eWxlID0gX3JlZjQuc3R5bGUsXG4gICAgICB0cmlnZ2VyUmVjdCA9IF9yZWY0LnRyaWdnZXJSZWN0LFxuICAgICAgcHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShfcmVmNCwgX2V4Y2x1ZGVkMyk7XG5cbiAgLy8gVGhlIGVsZW1lbnQgdGhhdCBzZXJ2ZXMgYXMgdGhlIHRvb2x0aXAgY29udGFpbmVyIGhhcyByb2xlIHRvb2x0aXAuXG4gIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS1wcmFjdGljZXMtMS4yLyN0b29sdGlwIFdoZW4gYW4gYXBwIHBhc3Nlc1xuICAvLyBhbiBgYXJpYS1sYWJlbGAsIHdlIGFjdHVhbGx5IHdhbnQgdG8gaW1wbGVtZW50IGByb2xlPVwidG9vbHRpcFwiYCBvbiBhXG4gIC8vIHZpc3VhbGx5IGhpZGRlbiBlbGVtZW50IGluc2lkZSBvZiB0aGUgdHJpZ2dlci4gSW4gdGhlc2UgY2FzZXMgd2Ugd2FudCB0aGVcbiAgLy8gc2NyZWVuIHJlYWRlciB1c2VyIHRvIGtub3cgYm90aCB0aGUgY29udGVudCBpbiB0aGUgdG9vbHRpcCwgYnV0IGFsc28gdGhlXG4gIC8vIGNvbnRlbnQgaW4gdGhlIGJhZGdlLiBGb3Igc2NyZWVuIHJlYWRlciB1c2VycywgdGhlIG9ubHkgY29udGVudCBhbm5vdW5jZWRcbiAgLy8gdG8gdGhlbSBpcyB3aGF0ZXZlciBpcyBpbiB0aGUgdG9vbHRpcC5cbiAgdmFyIGhhc0FyaWFMYWJlbCA9IChyZWFsQXJpYUxhYmVsIHx8IGFyaWFMYWJlbCkgIT0gbnVsbDtcbiAgdmFyIG93blJlZiA9IHVzZVJlZihudWxsKTtcbiAgdmFyIHJlZiA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIG93blJlZik7XG4gIHZhciB0b29sdGlwUmVjdCA9IHVzZVJlY3Qob3duUmVmLCB7XG4gICAgb2JzZXJ2ZTogaXNWaXNpYmxlXG4gIH0pO1xuICByZXR1cm4gLyojX19QVVJFX18qL2NyZWF0ZUVsZW1lbnQoRnJhZ21lbnQsIG51bGwsIC8qI19fUFVSRV9fKi9jcmVhdGVFbGVtZW50KENvbXAsIF9leHRlbmRzKHtcbiAgICByb2xlOiBoYXNBcmlhTGFiZWwgPyB1bmRlZmluZWQgOiBcInRvb2x0aXBcIlxuICB9LCBwcm9wcywge1xuICAgIHJlZjogcmVmLFxuICAgIFwiZGF0YS1yZWFjaC10b29sdGlwXCI6IFwiXCIsXG4gICAgaWQ6IGhhc0FyaWFMYWJlbCA/IHVuZGVmaW5lZCA6IGlkLFxuICAgIHN0eWxlOiBfZXh0ZW5kcyh7fSwgc3R5bGUsIGdldFN0eWxlcyhwb3NpdGlvbiwgdHJpZ2dlclJlY3QsIHRvb2x0aXBSZWN0KSlcbiAgfSksIGxhYmVsKSwgaGFzQXJpYUxhYmVsICYmIC8qI19fUFVSRV9fKi9jcmVhdGVFbGVtZW50KFZpc3VhbGx5SGlkZGVuLCB7XG4gICAgcm9sZTogXCJ0b29sdGlwXCIsXG4gICAgaWQ6IGlkXG4gIH0sIHJlYWxBcmlhTGFiZWwgfHwgYXJpYUxhYmVsKSk7XG59KTtcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICBUb29sdGlwQ29udGVudC5kaXNwbGF5TmFtZSA9IFwiVG9vbHRpcENvbnRlbnRcIjtcbiAgVG9vbHRpcENvbnRlbnQucHJvcFR5cGVzID0ge307XG59IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuZnVuY3Rpb24gZ2V0U3R5bGVzKHBvc2l0aW9uLCB0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QpIHtcbiAgdmFyIGhhdmVudE1lYXN1cmVkVG9vbHRpcFlldCA9ICF0b29sdGlwUmVjdDtcblxuICBpZiAoaGF2ZW50TWVhc3VyZWRUb29sdGlwWWV0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZpc2liaWxpdHk6IFwiaGlkZGVuXCJcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHBvc2l0aW9uKHRyaWdnZXJSZWN0LCB0b29sdGlwUmVjdCk7XG59IC8vIERlZmF1bHQgb2Zmc2V0IGZyb20gdGhlIHRyaWdnZXIgKGUuZy4sIGlmIHRoZSB0b29sdGlwIGlzIHBvc2l0aW9uZWQgYWJvdmUsXG4vLyB0aGVyZSB3aWxsIGJlIDhweCBiZXR3ZWVuIHRoZSBib3R0b20gb2YgdGhlIHRvb2x0aXAgYW5kIHRoZSB0b3Agb2YgdGhlIHRyaWdnZXIpLlxuLy8gSXQgZmVlbHMgYXdrd2FyZCB3aGVuIGl0J3MgcGVyZmVjdGx5IGFsaWduZWQgdy8gdGhlIHRyaWdnZXJcblxuXG52YXIgT0ZGU0VUX0RFRkFVTFQgPSA4O1xudmFyIHBvc2l0aW9uVG9vbHRpcCA9IGZ1bmN0aW9uIHBvc2l0aW9uVG9vbHRpcCh0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QsIG9mZnNldCkge1xuICBpZiAob2Zmc2V0ID09PSB2b2lkIDApIHtcbiAgICBvZmZzZXQgPSBPRkZTRVRfREVGQVVMVDtcbiAgfVxuXG4gIHZhciBfZ2V0RG9jdW1lbnREaW1lbnNpb24gPSBnZXREb2N1bWVudERpbWVuc2lvbnMoKSxcbiAgICAgIHdpbmRvd1dpZHRoID0gX2dldERvY3VtZW50RGltZW5zaW9uLndpZHRoLFxuICAgICAgd2luZG93SGVpZ2h0ID0gX2dldERvY3VtZW50RGltZW5zaW9uLmhlaWdodDtcblxuICBpZiAoIXRyaWdnZXJSZWN0IHx8ICF0b29sdGlwUmVjdCkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHZhciBjb2xsaXNpb25zID0ge1xuICAgIHRvcDogdHJpZ2dlclJlY3QudG9wIC0gdG9vbHRpcFJlY3QuaGVpZ2h0IDwgMCxcbiAgICByaWdodDogd2luZG93V2lkdGggPCB0cmlnZ2VyUmVjdC5sZWZ0ICsgdG9vbHRpcFJlY3Qud2lkdGgsXG4gICAgYm90dG9tOiB3aW5kb3dIZWlnaHQgPCB0cmlnZ2VyUmVjdC5ib3R0b20gKyB0b29sdGlwUmVjdC5oZWlnaHQgKyBvZmZzZXQsXG4gICAgbGVmdDogdHJpZ2dlclJlY3QubGVmdCAtIHRvb2x0aXBSZWN0LndpZHRoIDwgMFxuICB9O1xuICB2YXIgZGlyZWN0aW9uUmlnaHQgPSBjb2xsaXNpb25zLnJpZ2h0ICYmICFjb2xsaXNpb25zLmxlZnQ7XG4gIHZhciBkaXJlY3Rpb25VcCA9IGNvbGxpc2lvbnMuYm90dG9tICYmICFjb2xsaXNpb25zLnRvcDtcbiAgcmV0dXJuIHtcbiAgICBsZWZ0OiBkaXJlY3Rpb25SaWdodCA/IHRyaWdnZXJSZWN0LnJpZ2h0IC0gdG9vbHRpcFJlY3Qud2lkdGggKyB3aW5kb3cucGFnZVhPZmZzZXQgKyBcInB4XCIgOiB0cmlnZ2VyUmVjdC5sZWZ0ICsgd2luZG93LnBhZ2VYT2Zmc2V0ICsgXCJweFwiLFxuICAgIHRvcDogZGlyZWN0aW9uVXAgPyB0cmlnZ2VyUmVjdC50b3AgLSBvZmZzZXQgLSB0b29sdGlwUmVjdC5oZWlnaHQgKyB3aW5kb3cucGFnZVlPZmZzZXQgKyBcInB4XCIgOiB0cmlnZ2VyUmVjdC50b3AgKyBvZmZzZXQgKyB0cmlnZ2VyUmVjdC5oZWlnaHQgKyB3aW5kb3cucGFnZVlPZmZzZXQgKyBcInB4XCJcbiAgfTtcbn07XG4vKipcbiAqIFRoaXMgaXMgYSB3b3JrYXJvdW5kIGZvciB1c2luZyB0b29sdGlwcyB3aXRoIGRpc2FibGVkIGNvbnRyb2xzIGluIFNhZmFyaS5cbiAqIFNhZmFyaSBmaXJlcyBgcG9pbnRlcmVudGVyYCBidXQgZG9lcyBub3QgZmlyZSBgcG9pbnRlcmxlYXZlYCwgYW5kXG4gKiBgb25Qb2ludGVyRXZlbnRMZWF2ZWAgYWRkZWQgdG8gdGhlIHRyaWdnZXIgZWxlbWVudCB3aWxsIG5vdCB3b3JrLlxuICpcbiAqIFRPRE86IFdlIG1heSByZW1vdmUgb3IgbW9kaWlmeSB0aGlzIGJlaGF2aW9yIGluIGEgZnV0dXJlIHZlcnNpb24uIERpcmVjdGlvblxuICogZnJvbSBXQUktQVJJQSBuZWVkZWQgZm9yIGd1aWRhbmNlIG9uIGhhbmRsaW5nIGRpc2FibGVkIHRyaWdnZXJzLiBUb29sdGlwc1xuICogbXVzdCBiZSBhY2Nlc3NpYmxlIGJ5IGtleWJvYXJkLCBhbmQgZGlzYWJsZWQgZm9ybSBjb250cm9scyBhcmUgZ2VuZXJhbGx5XG4gKiBleGNsdWRlZCBmcm9tIHRoZSB0YWIgc2VxdWVuY2UuXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vcmVhY2gvcmVhY2gtdWkvaXNzdWVzLzU2NFxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vdzNjL2FyaWEtcHJhY3RpY2VzL2lzc3Vlcy8xMjgjaXNzdWVjb21tZW50LTU4ODYyNTcyN1xuICovXG5cbmZ1bmN0aW9uIHVzZURpc2FibGVkVHJpZ2dlck9uU2FmYXJpKF9yZWY1KSB7XG4gIHZhciBkaXNhYmxlZCA9IF9yZWY1LmRpc2FibGVkLFxuICAgICAgaXNWaXNpYmxlID0gX3JlZjUuaXNWaXNpYmxlLFxuICAgICAgcmVmID0gX3JlZjUucmVmO1xuICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIGlmICghKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgXCJQb2ludGVyRXZlbnRcIiBpbiB3aW5kb3cpIHx8ICFkaXNhYmxlZCB8fCAhaXNWaXNpYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIG93bmVyRG9jdW1lbnQgPSBnZXRPd25lckRvY3VtZW50KHJlZi5jdXJyZW50KTtcblxuICAgIGZ1bmN0aW9uIGhhbmRsZU1vdXNlTW92ZShldmVudCkge1xuICAgICAgaWYgKCFpc1Zpc2libGUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCAmJiBldmVudC50YXJnZXQuY2xvc2VzdChcIltkYXRhLXJlYWNoLXRvb2x0aXAtdHJpZ2dlcl1bZGF0YS1zdGF0ZT0ndG9vbHRpcC12aXNpYmxlJ11cIikpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBzZW5kKHtcbiAgICAgICAgdHlwZTogVG9vbHRpcEV2ZW50cy5HbG9iYWxNb3VzZU1vdmVcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIG93bmVyRG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLCBoYW5kbGVNb3VzZU1vdmUpO1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICBvd25lckRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIiwgaGFuZGxlTW91c2VNb3ZlKTtcbiAgICB9O1xuICB9LCBbZGlzYWJsZWQsIGlzVmlzaWJsZSwgcmVmXSk7XG59IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qKlxuICogU2VuZCBhbiBldmVudCB0byBvdXIgc3RhdGUgbWFjaGluZSB0byBmaW5kIHRoZSBuZXh0IHN0YXRlIGZyb20gdGhlIGN1cnJlbnRcbiAqIHN0YXRlICsgYWN0aW9uLlxuICpcbiAqIEl0IGFsc28gbWFuYWdlcyBsaWZlY3ljbGVzIG9mIHRoZSBtYWNoaW5lLCAoZW50ZXIvbGVhdmUgaG9va3Mgb24gdGhlIHN0YXRlXG4gKiBjaGFydClcbiAqXG4gKiBAcGFyYW0gZXZlbnRcbiAqIEBwYXJhbSBwYXlsb2FkXG4gKi9cblxuXG5mdW5jdGlvbiBzZW5kKGV2ZW50KSB7XG4gIHZhciBfdHJhbnNpdGlvbiA9IHRyYW5zaXRpb24oc3RhdGUsIGV2ZW50KSxcbiAgICAgIHZhbHVlID0gX3RyYW5zaXRpb24udmFsdWUsXG4gICAgICBjb250ZXh0ID0gX3RyYW5zaXRpb24uY29udGV4dCxcbiAgICAgIGNoYW5nZWQgPSBfdHJhbnNpdGlvbi5jaGFuZ2VkO1xuXG4gIGlmIChjaGFuZ2VkKSB7XG4gICAgc3RhdGUgPSB7XG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICBjb250ZXh0OiBjb250ZXh0XG4gICAgfTtcbiAgICBub3RpZnkoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2l0aW9uKGN1cnJlbnRTdGF0ZSwgZXZlbnQpIHtcbiAgdmFyIHN0YXRlRGVmID0gY2hhcnQuc3RhdGVzW2N1cnJlbnRTdGF0ZS52YWx1ZV07XG4gIHZhciBuZXh0U3RhdGUgPSBzdGF0ZURlZiAmJiBzdGF0ZURlZi5vbiAmJiBzdGF0ZURlZi5vbltldmVudC50eXBlXTsgLy8gUmVhbGx5IHVzZWZ1bCBmb3IgZGVidWdnaW5nXG4gIC8vIGNvbnNvbGUubG9nKHsgZXZlbnQsIHN0YXRlLCBuZXh0U3RhdGUsIGNvbnRleHRJZDogY29udGV4dC5pZCB9KTtcbiAgLy8gIW5leHRTdGF0ZSAmJiBjb25zb2xlLmxvZyhcIm5vIHRyYW5zaXRpb24gdGFrZW5cIik7XG5cbiAgaWYgKCFuZXh0U3RhdGUpIHtcbiAgICByZXR1cm4gX2V4dGVuZHMoe30sIGN1cnJlbnRTdGF0ZSwge1xuICAgICAgY2hhbmdlZDogZmFsc2VcbiAgICB9KTtcbiAgfVxuXG4gIGlmIChzdGF0ZURlZiAmJiBzdGF0ZURlZi5sZWF2ZSkge1xuICAgIHN0YXRlRGVmLmxlYXZlKGN1cnJlbnRTdGF0ZS5jb250ZXh0LCBldmVudCk7XG4gIH1cblxuICBldmVudC50eXBlO1xuICAgICAgdmFyIHBheWxvYWQgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShldmVudCwgX2V4Y2x1ZGVkNCk7IC8vIFRPRE86IFVzZSBhY3Rpb25zIGluc3RlYWQgb2YgZGlyZWN0bHkgc2V0dGluZyBjb250ZXh0XG5cblxuICB2YXIgY29udGV4dCA9IF9leHRlbmRzKHt9LCBzdGF0ZS5jb250ZXh0LCBwYXlsb2FkKTtcblxuICB2YXIgbmV4dFN0YXRlVmFsdWUgPSB0eXBlb2YgbmV4dFN0YXRlID09PSBcInN0cmluZ1wiID8gbmV4dFN0YXRlIDogbmV4dFN0YXRlLnRhcmdldDtcbiAgdmFyIG5leHREZWYgPSBjaGFydC5zdGF0ZXNbbmV4dFN0YXRlVmFsdWVdO1xuXG4gIGlmIChuZXh0RGVmICYmIG5leHREZWYuZW50ZXIpIHtcbiAgICBuZXh0RGVmLmVudGVyKGN1cnJlbnRTdGF0ZS5jb250ZXh0LCBldmVudCk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHZhbHVlOiBuZXh0U3RhdGVWYWx1ZSxcbiAgICBjb250ZXh0OiBjb250ZXh0LFxuICAgIGNoYW5nZWQ6IHRydWVcbiAgfTtcbn1cblxuZnVuY3Rpb24gaXNUb29sdGlwVmlzaWJsZShpZCwgaW5pdGlhbCkge1xuICByZXR1cm4gc3RhdGUuY29udGV4dC5pZCA9PT0gaWQgJiYgKGluaXRpYWwgPyBzdGF0ZS52YWx1ZSA9PT0gVG9vbHRpcFN0YXRlcy5WaXNpYmxlIDogc3RhdGUudmFsdWUgPT09IFRvb2x0aXBTdGF0ZXMuVmlzaWJsZSB8fCBzdGF0ZS52YWx1ZSA9PT0gVG9vbHRpcFN0YXRlcy5MZWF2aW5nVmlzaWJsZSk7XG59IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbmV4cG9ydCBkZWZhdWx0IFRvb2x0aXA7XG5leHBvcnQgeyBMRUFWRV9USU1FT1VULCBNT1VTRV9SRVNUX1RJTUVPVVQsIFRvb2x0aXAsIFRvb2x0aXBQb3B1cCwgcG9zaXRpb25Ub29sdGlwLCB1c2VUb29sdGlwIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///197\n\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\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\n}")},172(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 // removed by dead control flow\n{ 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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QUcsRUFBRWtCLENBQUMsQ0FBQ0M7VUFBYSxnQkFDcEJoQixNQUFBLFlBQUFDLGFBQUEseUJBQ0lELE1BQUEsWUFBQUMsYUFBQSxZQUFJYyxDQUFDLENBQUNDLFlBQWdCLENBQ3ZCLENBQUMsZUFDSmhCLE1BQUEsWUFBQUMsYUFBQSxZQUFJYyxDQUFDLENBQUNQLE9BQVcsQ0FDakIsQ0FBQztRQUFBLENBQ1IsQ0FDRCxDQUFDLGdCQUVMUixNQUFBLFlBQUFDLGFBQUEsMkJBQ0lELE1BQUEsWUFBQUMsYUFBQSx5QkFDSUQsTUFBQSxZQUFBQyxhQUFBLFlBQUksSUFBSSxDQUFDbkIsS0FBSyxDQUFDa0MsWUFBZ0IsQ0FDaEMsQ0FBQyxlQUNKaEIsTUFBQSxZQUFBQyxhQUFBLFlBQUksSUFBSSxDQUFDbkIsS0FBSyxDQUFDMEIsT0FBVyxDQUN6QixDQUVSLENBQ0osQ0FBQztNQUVkO0lBQUM7RUFBQSxFQTlFcUJTLGdCQUFTO0VBaUZuQ3JDLFdBQVcsQ0FBQ3NDLFNBQVMsR0FBRztJQUNwQmYsU0FBUyxFQUFFZ0IscUJBQVMsQ0FBQ0MsTUFBTSxDQUFDQyxVQUFVO0lBQ3RDakIsU0FBUyxFQUFFZSxxQkFBUyxDQUFDQyxNQUFNLENBQUNDLFVBQVU7SUFDdENiLE9BQU8sRUFBRVcscUJBQVMsQ0FBQ0csU0FBUyxDQUFDLENBQUNILHFCQUFTLENBQUNJLEtBQUssRUFBRUoscUJBQVMsQ0FBQ0MsTUFBTSxDQUFDLENBQUMsQ0FDNURDLFVBQVU7SUFDZkwsWUFBWSxFQUFFRyxxQkFBUyxDQUFDQztFQUM1QixDQUFDO0VBQUMsSUFBQUksUUFBQSxHQUFBQyxRQUFBLGNBRWE3QyxXQUFXO0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL2NvbXBvbmVudHMvRXJyb3IvQ29sbGFwc2libGUuanN4PzU1OWEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiO1xuXG5jbGFzcyBDb2xsYXBzaWJsZSBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgICAgc3VwZXIocHJvcHMpO1xuXG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgICAgICBpc0V4cGFuZGVkOiBmYWxzZSxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLl90b2dnbGVFeHBhbmRlZCA9IHRoaXMudG9nZ2xlRXhwYW5kZWQuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5fcmVuZGVyU2hvd0J1dHRvbiA9IHRoaXMucmVuZGVyU2hvd0J1dHRvbi5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLl9yZW5kZXJIaWRlQnV0dG9uID0gdGhpcy5yZW5kZXJIaWRlQnV0dG9uLmJpbmQodGhpcyk7XG4gICAgfVxuXG4gICAgdG9nZ2xlRXhwYW5kZWQoKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgaXNFeHBhbmRlZDogIXRoaXMuc3RhdGUuaXNFeHBhbmRlZCxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmVuZGVyU2hvd0J1dHRvbigpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImNvbGxhcHNpYmxlLXNob3ctbGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7dGhpcy5wcm9wcy5zaG93TGFiZWx9XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmVuZGVySGlkZUJ1dHRvbigpIHtcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuaGlkZUxhYmVsKSB7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImNvbGxhcHNpYmxlLWhpZGUtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAge3RoaXMucHJvcHMuaGlkZUxhYmVsfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgaXNBcnJheSA9IEFycmF5LmlzQXJyYXkodGhpcy5wcm9wcy5jb250ZW50KTtcbiAgICAgICAgY29uc3QgaXNIaWRkZW4gPSB0aGlzLnN0YXRlLmlzRXhwYW5kZWQgPyB1bmRlZmluZWQgOiB0cnVlO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbGxhcHNpYmxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5fdG9nZ2xlRXhwYW5kZWR9XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNvbGxhcHNpYmxlLXN1bW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1leHBhbmRlZD17dGhpcy5zdGF0ZS5pc0V4cGFuZGVkID8gdHJ1ZSA6IGZhbHNlfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3RoaXMuX3JlbmRlclNob3dCdXR0b24oKX1cbiAgICAgICAgICAgICAgICAgICAge3RoaXMuX3JlbmRlckhpZGVCdXR0b24oKX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sbGFwc2libGUtZGV0YWlsc1wiIGhpZGRlbj17aXNIaWRkZW59PlxuICAgICAgICAgICAgICAgICAgICB7aXNBcnJheSA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJpdGVtc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0aGlzLnByb3BzLmNvbnRlbnQubWFwKChjKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBrZXk9e2MuY29udGVudFRpdGxlfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPntjLmNvbnRlbnRUaXRsZX08L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57Yy5jb250ZW50fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj57dGhpcy5wcm9wcy5jb250ZW50VGl0bGV9PC9iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57dGhpcy5wcm9wcy5jb250ZW50fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICk7XG4gICAgfVxufVxuXG5Db2xsYXBzaWJsZS5wcm9wVHlwZXMgPSB7XG4gICAgc2hvd0xhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgaGlkZUxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgY29udGVudDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmFycmF5LCBQcm9wVHlwZXMuc3RyaW5nXSlcbiAgICAgICAgLmlzUmVxdWlyZWQsXG4gICAgY29udGVudFRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgQ29sbGFwc2libGU7XG4iXSwibmFtZXMiOlsiQ29sbGFwc2libGUiLCJfQ29tcG9uZW50IiwicHJvcHMiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjayIsIl9jYWxsU3VwZXIiLCJzdGF0ZSIsImlzRXhwYW5kZWQiLCJfdG9nZ2xlRXhwYW5kZWQiLCJ0b2dnbGVFeHBhbmRlZCIsImJpbmQiLCJfcmVuZGVyU2hvd0J1dHRvbiIsInJlbmRlclNob3dCdXR0b24iLCJfcmVuZGVySGlkZUJ1dHRvbiIsInJlbmRlckhpZGVCdXR0b24iLCJfaW5oZXJpdHMiLCJfY3JlYXRlQ2xhc3MiLCJrZXkiLCJ2YWx1ZSIsInNldFN0YXRlIiwiX3JlYWN0IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInNob3dMYWJlbCIsImhpZGVMYWJlbCIsInJlbmRlciIsImlzQXJyYXkiLCJBcnJheSIsImNvbnRlbnQiLCJpc0hpZGRlbiIsInVuZGVmaW5lZCIsIm9uQ2xpY2siLCJ0eXBlIiwiaGlkZGVuIiwibWFwIiwiYyIsImNvbnRlbnRUaXRsZSIsIkNvbXBvbmVudCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImlzUmVxdWlyZWQiLCJvbmVPZlR5cGUiLCJhcnJheSIsIl9kZWZhdWx0IiwiX2V4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///172\n\n}')},888(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 // removed by dead control flow\n{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiODg4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFJQSxJQUFNQSxPQUFPLEdBQUcsU0FBVkEsT0FBT0EsQ0FBSUMsS0FBSyxFQUFLO0lBQ3ZCLElBQUlDLFVBQVUsTUFBQUMsTUFBQSxDQUFNRixLQUFLLENBQUNHLElBQUksSUFBSSxPQUFPLE9BQUFELE1BQUEsQ0FBSUYsS0FBSyxDQUFDSSxJQUFJLElBQUksRUFBRSxDQUFFO0lBQy9ELElBQUlDLFlBQVksR0FBR0wsS0FBSyxDQUFDTSxPQUFPO0lBRWhDLG9CQUNJQyxNQUFBLFlBQUFDLGFBQUE7TUFBU0MsU0FBUyxFQUFDO0lBQVksZ0JBQzNCRixNQUFBLFlBQUFDLGFBQUE7TUFBS0MsU0FBUyxFQUFDO0lBQXNCLGdCQUNqQ0YsTUFBQSxZQUFBQyxhQUFBLGFBQUksbUJBQWdCLENBQUMsZUFDckJELE1BQUEsWUFBQUMsYUFBQTtNQUFHQyxTQUFTLEVBQUM7SUFBSSxHQUFDLDZCQUE4QixDQUFDLGVBQ2pERixNQUFBLFlBQUFDLGFBQUEsQ0FBQ0UsWUFBQSxXQUFXO01BQ1JDLFNBQVMsRUFBQyx3Q0FBd0M7TUFDbERDLFNBQVMsRUFBQyx5Q0FBeUM7TUFDbkRDLFlBQVksRUFBRVosVUFBVztNQUN6QmEsT0FBTyxFQUFFVDtJQUFhLENBQ3pCLENBQ0EsQ0FDQSxDQUFDO0VBRWxCLENBQUM7RUFFRE4sT0FBTyxDQUFDZ0IsU0FBUyxHQUFHO0lBQ2hCWCxJQUFJLEVBQUVZLHFCQUFTLENBQUNDLE1BQU07SUFDdEJYLE9BQU8sRUFBRVUscUJBQVMsQ0FBQ0UsU0FBUyxDQUFDLENBQUNGLHFCQUFTLENBQUNHLEtBQUssRUFBRUgscUJBQVMsQ0FBQ0MsTUFBTSxDQUFDLENBQUM7SUFDakVkLElBQUksRUFBRWEscUJBQVMsQ0FBQ0M7RUFDcEIsQ0FBQztFQUFDLElBQUFHLFFBQUEsR0FBQUMsUUFBQSxjQUVhdEIsT0FBTztBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9jb21wb25lbnRzL0Vycm9yL0Vycm9yVUkuanN4P2Y0Y2UiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IENvbGxhcHNpYmxlIGZyb20gXCIuL0NvbGxhcHNpYmxlXCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5cbmNvbnN0IEVycm9yVUkgPSAocHJvcHMpID0+IHtcbiAgICBsZXQgZXJyb3JUaXRsZSA9IGAke3Byb3BzLnR5cGUgfHwgXCJFcnJvclwifSAke3Byb3BzLmNvZGUgfHwgXCJcIn1gO1xuICAgIGxldCBlcnJvckRldGFpbHMgPSBwcm9wcy5tZXNzYWdlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwicGFnZS1lcnJvclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZXNwb25zaXZlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxoMT5XZeKAmXJlIHNvcnJ5LjwvaDE+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiaDJcIj5XZSBjYW5ub3QgYWNjZXNzIHRoaXMgcGFnZS48L3A+XG4gICAgICAgICAgICAgICAgPENvbGxhcHNpYmxlXG4gICAgICAgICAgICAgICAgICAgIHNob3dMYWJlbD1cIk9wZW4gdGVjaG5pY2FsIGRldGFpbHMgYWJvdXQgdGhlIGVycm9yXCJcbiAgICAgICAgICAgICAgICAgICAgaGlkZUxhYmVsPVwiQ2xvc2UgdGVjaG5pY2FsIGRldGFpbHMgYWJvdXQgdGhlIGVycm9yXCJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudFRpdGxlPXtlcnJvclRpdGxlfVxuICAgICAgICAgICAgICAgICAgICBjb250ZW50PXtlcnJvckRldGFpbHN9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgKTtcbn07XG5cbkVycm9yVUkucHJvcFR5cGVzID0ge1xuICAgIGNvZGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbWVzc2FnZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmFycmF5LCBQcm9wVHlwZXMuc3RyaW5nXSksXG4gICAgdHlwZTogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEVycm9yVUk7XG4iXSwibmFtZXMiOlsiRXJyb3JVSSIsInByb3BzIiwiZXJyb3JUaXRsZSIsImNvbmNhdCIsInR5cGUiLCJjb2RlIiwiZXJyb3JEZXRhaWxzIiwibWVzc2FnZSIsIl9yZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJfQ29sbGFwc2libGUiLCJzaG93TGFiZWwiLCJoaWRlTGFiZWwiLCJjb250ZW50VGl0bGUiLCJjb250ZW50IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwib25lT2ZUeXBlIiwiYXJyYXkiLCJfZGVmYXVsdCIsIl9leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///888\n\n}')},694(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 // removed by dead control flow\n{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNjk0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUlBO0FBQ0E7QUFDQTtFQUZBLElBR3FCQSxTQUFTLEdBQUFDLFFBQUEsMkJBQUFDLFlBQUE7RUFDMUI7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDSSxTQUFBRixVQUFZRyxPQUFPLEVBQUU7SUFBQUMsZUFBQSxPQUFBSixTQUFBO0lBQ2pCLElBQUFLLGdCQUFNLGVBQ0ZDLE1BQUEsWUFBQUMsYUFBQSxDQUFDQyxRQUFBLFdBQU87TUFDSkMsSUFBSSxFQUFFTixPQUFPLENBQUNNLElBQUs7TUFDbkJDLElBQUksRUFBRVAsT0FBTyxDQUFDTyxJQUFLO01BQ25CQyxPQUFPLEVBQUVSLE9BQU8sQ0FBQ1E7SUFBUSxDQUM1QixDQUFDLEVBQ0ZSLE9BQU8sQ0FBQ1MsV0FDWixDQUFDO0VBQ0wsQ0FBQztBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9jb21wb25lbnRzL0Vycm9yL2Vycm9yLmpzP2YwYzAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgcmVuZGVyIH0gZnJvbSBcInJlYWN0LWRvbVwiO1xuaW1wb3J0IEVycm9yVUkgZnJvbSBcIi4vRXJyb3JVSVwiO1xuXG4vKipcbiAqIFJlbmRlcnMgdGhlIFFQUCBFcnJvciBQYWdlIGNvbnRlbnQuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEVycm9yUGFnZSB7XG4gICAgLyoqXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBBbiBvYmplY3QgY29udGFpbmluZyBjb250ZW50IGFuZCBjb25maWcgZGF0YVxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBvcHRpb25zLnR5cGUgLSBUaGUgZXJyb3IgdHlwZVxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBvcHRpb25zLmNvZGUgLSBUaGUgZXJyb3IgY29kZVxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBvcHRpb25zLm1lc3NhZ2UgLSBUaGUgZXJyb3IgbWVzc2FnZVxuICAgICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IG9wdGlvbnMucm9vdEVsZW1lbnQgLSBFbGVtIGluc2lkZSB3aGljaCB0byByZW5kZXJcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgICAgIHJlbmRlcihcbiAgICAgICAgICAgIDxFcnJvclVJXG4gICAgICAgICAgICAgICAgdHlwZT17b3B0aW9ucy50eXBlfVxuICAgICAgICAgICAgICAgIGNvZGU9e29wdGlvbnMuY29kZX1cbiAgICAgICAgICAgICAgICBtZXNzYWdlPXtvcHRpb25zLm1lc3NhZ2V9XG4gICAgICAgICAgICAvPixcbiAgICAgICAgICAgIG9wdGlvbnMucm9vdEVsZW1lbnRcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXSwibmFtZXMiOlsiRXJyb3JQYWdlIiwiX2V4cG9ydHMiLCJfY3JlYXRlQ2xhc3MiLCJvcHRpb25zIiwiX2NsYXNzQ2FsbENoZWNrIiwicmVuZGVyIiwiX3JlYWN0IiwiY3JlYXRlRWxlbWVudCIsIl9FcnJvclVJIiwidHlwZSIsImNvZGUiLCJtZXNzYWdlIiwicm9vdEVsZW1lbnQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///694\n\n}')},756(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 // removed by dead control flow\n{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNzU2LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFLQSxJQUFNQSxRQUFRLEdBQUcsU0FBWEEsUUFBUUEsQ0FBSUMsS0FBSyxFQUFLO0lBQ3hCLElBQU1DLFdBQVcsR0FBR0QsS0FBSyxDQUFDQyxXQUFXO0lBQ3JDLElBQU1DLGVBQWUsR0FBR0YsS0FBSyxDQUFDRSxlQUFlO0lBQzdDLElBQU1DLGFBQWEsR0FBR0gsS0FBSyxDQUFDSSxlQUFlLEdBQ3JDLHFCQUFxQixHQUNyQixnRUFBZ0U7O0lBRXRFO0lBQ0EsSUFBTUMsTUFBTSxHQUFBQyxhQUFBLENBQUFBLGFBQUEsS0FDTDtNQUNDQyxPQUFPLGVBQ0hDLE1BQUEsWUFBQUMsYUFBQTtRQUNJQyxTQUFTLEVBQUMsVUFBVTtRQUNwQkMsR0FBRyxFQUFDLDJDQUErQztRQUNuREMsR0FBRyxFQUFDO01BQTRCLENBQ25DLENBQ0o7TUFDREMsU0FBUyxlQUNMTCxNQUFBLFlBQUFDLGFBQUE7UUFDSUMsU0FBUyxFQUFDLFVBQVU7UUFDcEJFLEdBQUcsRUFBQyxnQ0FBZ0M7UUFDcENELEdBQUcsRUFBQztNQUFpRSxDQUN4RTtJQUVULENBQUMsR0FDRVgsS0FBSyxDQUFDSyxNQUFNLENBQ2xCO0lBRUQsSUFBTVMsT0FBTyxHQUFHLFNBQVZBLE9BQU9BLENBQUlDLElBQUksRUFBSztNQUN0QixPQUFPYixlQUFlLEdBQUcsR0FBRyxHQUFHYSxJQUFJO0lBQ3ZDLENBQUM7SUFFRCxJQUFJZCxXQUFXLEVBQUU7TUFDYixvQkFDSU8sTUFBQSxZQUFBQyxhQUFBLENBQUFELE1BQUEsWUFBQVEsUUFBQSxRQUNLLENBQUNkLGVBQWUsaUJBQ2JNLE1BQUEsWUFBQUMsYUFBQTtRQUFLQyxTQUFTLEVBQUM7TUFBMEIsQ0FBRSxDQUM5QyxlQUNERixNQUFBLFlBQUFDLGFBQUE7UUFBUSxjQUFXLGFBQWE7UUFBQ0MsU0FBUyxFQUFDO01BQWUsZ0JBQ3RERixNQUFBLFlBQUFDLGFBQUE7UUFBS0MsU0FBUyxFQUFDLGVBQWU7UUFBQ08sRUFBRSxFQUFDO01BQWUsR0FDNUNqQixLQUFLLENBQUNrQixZQUNOLENBQUMsZUFFTlYsTUFBQSxZQUFBQyxhQUFBO1FBQUtDLFNBQVMsRUFBQztNQUFzQixnQkFDakNGLE1BQUEsWUFBQUMsYUFBQTtRQUFLQyxTQUFTLEVBQUM7TUFBYSxnQkFDeEJGLE1BQUEsWUFBQUMsYUFBQTtRQUFJQyxTQUFTLEVBQUM7TUFBYSxDQUFFLENBQUMsZUFDOUJGLE1BQUEsWUFBQUMsYUFBQTtRQUFJQyxTQUFTLEVBQUM7TUFBTyxnQkFDakJGLE1BQUEsWUFBQUMsYUFBQSwwQkFDSUQsTUFBQSxZQUFBQyxhQUFBO1FBQ0lVLElBQUksRUFBRUwsT0FBTyxDQUNULHlDQUNKLENBQUU7UUFDRixjQUFXLGNBQWM7UUFDekIsdUJBQW9CLFdBQVc7UUFDL0IscUJBQWtCLG9CQUFvQjtRQUN0QyxvQkFBaUI7TUFBYyxHQUNsQyxjQUVFLENBQ0gsQ0FBQyxlQUNMTixNQUFBLFlBQUFDLGFBQUE7UUFBSUMsU0FBUyxFQUFDO01BQVMsQ0FBSyxDQUFDLEVBQUMsR0FBRyxlQUNqQ0YsTUFBQSxZQUFBQyxhQUFBLDBCQUNJRCxNQUFBLFlBQUFDLGFBQUE7UUFDSVUsSUFBSSxFQUFFTCxPQUFPLENBQ1QsNkJBQ0osQ0FBRTtRQUNGLGNBQVcsZ0JBQWdCO1FBQzNCLHVCQUFvQixXQUFXO1FBQy9CLHFCQUFrQixtQkFBbUI7UUFDckMsb0JBQWlCO01BQWdCLEdBQ3BDLGdCQUVFLENBQ0gsQ0FBQyxlQUNMTixNQUFBLFlBQUFDLGFBQUE7UUFBSUMsU0FBUyxFQUFDO01BQVMsQ0FBSyxDQUFDLEVBQUMsR0FBRyxlQUNqQ0YsTUFBQSxZQUFBQyxhQUFBLDBCQUNJRCxNQUFBLFlBQUFDLGFBQUE7UUFDSVUsSUFBSSxFQUFFTCxPQUFPLENBQ1QseUpBQ0osQ0FBRTtRQUNGLGNBQVcsbUJBQW1CO1FBQzlCLHVCQUFvQixXQUFXO1FBQy9CLHFCQUFrQixxQkFBcUI7UUFDdkMsb0JBQWlCO01BQW1CLEdBQ3ZDLG1CQUVFLENBQ0gsQ0FDSixDQUFDLGVBQ0xOLE1BQUEsWUFBQUMsYUFBQTtRQUFJQyxTQUFTLEVBQUM7TUFBZ0IsQ0FBRSxDQUMvQixDQUFDLGVBQ05GLE1BQUEsWUFBQUMsYUFBQTtRQUFLQyxTQUFTLEVBQUM7TUFBd0IsZ0JBQ25DRixNQUFBLFlBQUFDLGFBQUE7UUFBS0MsU0FBUyxFQUFDO01BQW9CLEdBQzlCTCxNQUFNLENBQUNlLE9BQ1AsQ0FBQyxlQUNOWixNQUFBLFlBQUFDLGFBQUE7UUFBS0MsU0FBUyxFQUFDO01BQW9CLEdBQzlCTCxNQUFNLENBQUNFLE9BQU8sZUFDZkMsTUFBQSxZQUFBQyxhQUFBLFlBQUcsb0pBS0EsQ0FDRixDQUNKLENBQ0osQ0FDRCxDQUNWLENBQUM7SUFFWDtJQUNBLG9CQUNJRCxNQUFBLFlBQUFDLGFBQUEsQ0FBQ1ksZUFBQSxXQUFjO01BQ1hILFlBQVksRUFBRWxCLEtBQUssQ0FBQ2tCLFlBQWE7TUFDakNJLFdBQVcsRUFBRXRCLEtBQUssQ0FBQ3NCLFdBQVk7TUFDL0JuQixhQUFhLEVBQUVBO0lBQWMsQ0FDaEMsQ0FBQztFQUVWLENBQUM7RUFFREosUUFBUSxDQUFDd0IsU0FBUyxHQUFHO0lBQ2pCTCxZQUFZLEVBQUVNLHFCQUFTLENBQUNDLE1BQU07SUFDOUJILFdBQVcsRUFBRUUscUJBQVMsQ0FBQ0UsSUFBSTtJQUMzQnpCLFdBQVcsRUFBRXVCLHFCQUFTLENBQUNFLElBQUk7SUFDM0J4QixlQUFlLEVBQUVzQixxQkFBUyxDQUFDRSxJQUFJO0lBQy9CdEIsZUFBZSxFQUFFb0IscUJBQVMsQ0FBQ0UsSUFBSTtJQUMvQnJCLE1BQU0sRUFBRW1CLHFCQUFTLENBQUNHLEtBQUssQ0FBQztNQUNwQkMsT0FBTyxFQUFFSixxQkFBUyxDQUFDSyxPQUFPO01BQzFCaEIsU0FBUyxFQUFFVyxxQkFBUyxDQUFDSztJQUN6QixDQUFDO0VBQ0wsQ0FBQztFQUFDLElBQUFDLFFBQUEsR0FBQUMsUUFBQSxjQUVhaEMsUUFBUTtBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9jb21wb25lbnRzL0Zvb3Rlci9Gb290ZXJVSS5qc3g/Y2Q4YiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5cbmltcG9ydCBMZWdhY3lGb290ZXJVSSBmcm9tIFwiLi9MZWdhY3lGb290ZXJVSVwiO1xuXG5jb25zdCBGb290ZXJVSSA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IGlzTmV3Rm9vdGVyID0gcHJvcHMuaXNOZXdGb290ZXI7XG4gICAgY29uc3QgaXNJRVN1cHBvcnRQYWdlID0gcHJvcHMuaXNJRVN1cHBvcnRQYWdlO1xuICAgIGNvbnN0IHNpZ25VcE5vd0xpbmsgPSBwcm9wcy5zaG93SGNkUmVzZWFyY2hcbiAgICAgICAgPyBcIi9hYm91dC9oY2QtcmVzZWFyY2hcIlxuICAgICAgICA6IFwibWFpbHRvOm1hZGllQGNtcy5oaHMuZ292P3N1YmplY3Q9U2lnbiB1cCBmb3IgZmVlZGJhY2sgc2Vzc2lvbnNcIjtcblxuICAgIC8vIERlZmF1bHQgZm9vdGVyIGFzc2V0c1xuICAgIGNvbnN0IGFzc2V0cyA9IHtcbiAgICAgICAgLi4ue1xuICAgICAgICAgICAgaGhzTG9nbzogKFxuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaGhzLWxvZ29cIlxuICAgICAgICAgICAgICAgICAgICBhbHQ9XCJEZXBhcnRtZW50IG9mIEhlYWx0aCAmYW1wOyBIdW1hbiBTZXJ2aWNlcyBVU0FcIlxuICAgICAgICAgICAgICAgICAgICBzcmM9XCIvaW1hZ2VzL2hocy1sb2dvLWJsYWNrLnN2Z1wiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBtYWRpZUxvZ286IChcbiAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInFwcC1sb2dvXCJcbiAgICAgICAgICAgICAgICAgICAgc3JjPVwiL2ltYWdlcy9xcHBfbG9nb19yZ2JfY29sb3IucG5nXCJcbiAgICAgICAgICAgICAgICAgICAgYWx0PVwiTUFEaUUgTWVhc3VyZSBBdXRob3JpbmcgRGV2ZWxvcG1lbnQgSW50ZWdyYXRlZCBFbnZpcm9ubWVudCBsb2dvXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgICAgLi4ucHJvcHMuYXNzZXRzLFxuICAgIH07XG5cbiAgICBjb25zdCBzZXRMaW5rID0gKGxpbmspID0+IHtcbiAgICAgICAgcmV0dXJuIGlzSUVTdXBwb3J0UGFnZSA/IFwiL1wiIDogbGluaztcbiAgICB9O1xuXG4gICAgaWYgKGlzTmV3Rm9vdGVyKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHshaXNJRVN1cHBvcnRQYWdlICYmIChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmZWVkYmFjay1zZXNzaW9uLXNpZ24tdXBcIiAvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPGZvb3RlciBhcmlhLWxhYmVsPVwiU2l0ZSBmb290ZXJcIiBjbGFzc05hbWU9XCJnbG9iYWwtZm9vdGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYnVpbGQtdmVyc2lvblwiIGlkPVwiYnVpbGQtdmVyc2lvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3Byb3BzLmJ1aWxkVmVyc2lvbn1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZXNwb25zaXZlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJvdGhlci1saW5rc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxociBjbGFzc05hbWU9XCJkaXZpZGVyLXRvcFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzTmFtZT1cInNtYWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj17c2V0TGluayhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJodHRwczovL2hhcnAuY21zLmdvdi9sb2dpbi90ZXJtcy1vZi11c2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlRlcm1zIG9mIFVzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1jYXRlZ29yeT1cIkZvb3Rlck5hdlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1hY3Rpb249XCJPcGVuVGVybXNPZlNlcnZpY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stbGFiZWw9XCJUZXJtcyBvZiBVc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRlcm1zIG9mIFVzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwiZGl2aWRlclwiPjwvbGk+e1wiIFwifVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9e3NldExpbmsoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaHR0cHM6Ly93d3cuY21zLmdvdi9wcml2YWN5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJQcml2YWN5IFBvbGljeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1jYXRlZ29yeT1cIkZvb3Rlck5hdlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1hY3Rpb249XCJPcGVuUHJpdmFjeVBvbGljeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1sYWJlbD1cIlByaXZhY3kgUG9saWN5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5IFBvbGljeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwiZGl2aWRlclwiPjwvbGk+e1wiIFwifVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9e3NldExpbmsoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaHR0cHM6Ly93d3cuaGhzLmdvdi93ZWIvZ292ZXJuYW5jZS9kaWdpdGFsLXN0cmF0ZWd5L2l0LXBvbGljeS1hcmNoaXZlL2hocy1ydWxlcy1vZi1iZWhhdmlvci1mb3ItdGhlLXVzZS1vZi1oaHMtaW5mb3JtYXRpb24tYW5kLWl0LXJlc291cmNlcy1wb2xpY3kuaHRtbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiUnVsZXMgb2YgQmVoYXZpb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stY2F0ZWdvcnk9XCJGb290ZXJOYXZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stYWN0aW9uPVwiT3BlblJ1bGVzb2ZCZWhhdmlvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1sYWJlbD1cIlJ1bGVzIG9mIEJlaGF2aW9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSdWxlcyBvZiBCZWhhdmlvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzTmFtZT1cImRpdmlkZXItYm90dG9tXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJxcHAtaGhzLWxvZ28tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJxcHAtbG9nby1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Fzc2V0cy5xcHBMb2dvfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGhzLWxvZ28tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHthc3NldHMuaGhzTG9nb31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBIGZlZGVyYWwgZ292ZXJubWVudCB3ZWJzaXRlIG1hbmFnZWQgYW5kXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWlkIGZvciBieSB0aGUgVS5TIENlbnRlcnMgZm9yIE1lZGljYXJlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYW1wOyBNZWRpY2FpZCBTZXJ2aWNlcy4gNzUwMCBTZWN1cml0eVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQm91bGV2YXJkLCBCYWx0aW1vcmUgTUQgMjEyNDRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZm9vdGVyPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICAgIDxMZWdhY3lGb290ZXJVSVxuICAgICAgICAgICAgYnVpbGRWZXJzaW9uPXtwcm9wcy5idWlsZFZlcnNpb259XG4gICAgICAgICAgICBpc0Z1bGxXaWR0aD17cHJvcHMuaXNGdWxsV2lkdGh9XG4gICAgICAgICAgICBzaWduVXBOb3dMaW5rPXtzaWduVXBOb3dMaW5rfVxuICAgICAgICAvPlxuICAgICk7XG59O1xuXG5Gb290ZXJVSS5wcm9wVHlwZXMgPSB7XG4gICAgYnVpbGRWZXJzaW9uOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGlzRnVsbFdpZHRoOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0Zvb3RlcjogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNJRVN1cHBvcnRQYWdlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBzaG93SGNkUmVzZWFyY2g6IFByb3BUeXBlcy5ib29sLFxuICAgIGFzc2V0czogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgICAgY21zTG9nbzogUHJvcFR5cGVzLmVsZW1lbnQsXG4gICAgICAgIG1hZGllTG9nbzogUHJvcFR5cGVzLmVsZW1lbnQsXG4gICAgfSksXG59O1xuXG5leHBvcnQgZGVmYXVsdCBGb290ZXJVSTtcbiJdLCJuYW1lcyI6WyJGb290ZXJVSSIsInByb3BzIiwiaXNOZXdGb290ZXIiLCJpc0lFU3VwcG9ydFBhZ2UiLCJzaWduVXBOb3dMaW5rIiwic2hvd0hjZFJlc2VhcmNoIiwiYXNzZXRzIiwiX29iamVjdFNwcmVhZCIsImhoc0xvZ28iLCJfcmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiYWx0Iiwic3JjIiwibWFkaWVMb2dvIiwic2V0TGluayIsImxpbmsiLCJGcmFnbWVudCIsImlkIiwiYnVpbGRWZXJzaW9uIiwiaHJlZiIsInFwcExvZ28iLCJfTGVnYWN5Rm9vdGVyVUkiLCJpc0Z1bGxXaWR0aCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImJvb2wiLCJzaGFwZSIsImNtc0xvZ28iLCJlbGVtZW50IiwiX2RlZmF1bHQiLCJfZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///756\n\n}')},193(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 // removed by dead control flow\n{ 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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SUFBSTtJQUMzQmpCLGFBQWEsRUFBRWUscUJBQVMsQ0FBQ0M7RUFDN0IsQ0FBQztFQUFDLElBQUFFLFFBQUEsR0FBQUMsUUFBQSxjQUVhdkIsY0FBYztBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9jb21wb25lbnRzL0Zvb3Rlci9MZWdhY3lGb290ZXJVSS5qc3g/OGVjOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5pbXBvcnQgSW5mb1RpcCBmcm9tIFwiLi4vSW5mb3RpcC9JbmZvdGlwXCI7XG5cbmNvbnN0IGluZm9UaXBMYWJlbCA9XG4gICAgXCJXaGVuIGRpYWxpbmcgNzExLCB5b3Ugd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGNvbm5lY3RlZCB0byBhIFRSUyBDb21tdW5pY2F0aW9ucyBBc3Npc3RhbnQgd2hvIHdpbGwgcmVsYXkgeW91ciBjb252ZXJzYXRpb24gdG8gdGhlIGhlbHAgZGVzayBhZ2VudCB3aXRoIHN0cmljdCBjb25maWRlbnRpYWxpdHkuXCI7XG5cbmNvbnN0IExlZ2FjeUZvb3RlclVJID0gKHsgYnVpbGRWZXJzaW9uLCBpc0Z1bGxXaWR0aCwgc2lnblVwTm93TGluayB9KSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGZvb3RlciBjbGFzc05hbWU9XCJsZWdhY3ktZm9vdGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJ1aWxkLXZlcnNpb25cIiBpZD1cImJ1aWxkLXZlcnNpb25cIj5cbiAgICAgICAgICAgICAgICB7YnVpbGRWZXJzaW9ufVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJhbm5lclwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRnVsbFdpZHRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBcImNvbnRhaW5lci1mdWxsLXdpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwicmVzcG9uc2l2ZS1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtc20tMTIgY29sLW1kLTEyIGNvbC1sZy0xMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkhlbHAgc2hhcGUgdGhlIGZ1dHVyZSBvZiBNQURpRTwvc3Bhbj4gYnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJ0aWNpcGF0aW5nIGluIHVzZXIgZmVlZGJhY2sgc2Vzc2lvbnMue1wiIFwifVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImVtYWlsLW5vdGUtbGlua1wiIGhyZWY9e3NpZ25VcE5vd0xpbmt9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZW5kIHVzIGFuIGVtYWlsIHRvIHNpZ24gdXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1xuICAgICAgICAgICAgICAgICAgICBpc0Z1bGxXaWR0aFxuICAgICAgICAgICAgICAgICAgICAgICAgPyBcImNvbnRhaW5lci1mdWxsLXdpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJyZXNwb25zaXZlLWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNGdWxsV2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBcImNvbC1zbS0xMiBjb2wtbWQtOCBjb2wtbGctOFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJjb2wtc20tOCBjb2wtbWQtOSBjb2wtbGctOVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibG9nby1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cIi9pbWFnZXMvcXBwX2xvZ29fcmV2ZXJzZWQucG5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwiUXVhbGl0eSBQYXltZW50IFByb2dyYW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJxcHAtbG9nb1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNvY2lhbC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInNvY2lhbC1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3R3aXR0ZXIuY29tL0NNU0dvdlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiRm9sbG93IHVzIG9uIFR3aXR0ZXIuIFRoaXMgbGluayBvcGVucyBpbiBhIG5ldyB3aW5kb3cuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZ2x5cGhpY29uIGdseXBoaWNvbi10d2l0dGVyXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJzb2NpYWwtbGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vcGxheWxpc3Q/bGlzdD1QTGFWN20yLXpGS3BqXzZmQnNxYXY2R3ZGenpxOW9PcGtrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJGb2xsb3cgdXMgb24gWW91VHViZS4gVGhpcyBsaW5rIG9wZW5zIGluIGEgbmV3IHdpbmRvdy5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJnbHlwaGljb24gZ2x5cGhpY29uLXlvdXR1YmVcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsaW5rc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL2RldmVsb3BlcnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stY2F0ZWdvcnk9XCJGb290ZXJOYXZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stYWN0aW9uPVwiT3BlbkRldmVsb3BlclRvb2xzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWxhYmVsPVwiUXVhbGl0eSBQYXltZW50IFByb2dyYW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERldmVsb3BlciBUb29sc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvYWJvdXQvcmVzb3VyY2UtbGlicmFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1jYXRlZ29yeT1cIkZvb3Rlck5hdlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1hY3Rpb249XCJPcGVuRWR1Y2F0aW9uQW5kVG9vbHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stbGFiZWw9XCJFZHVjYXRpb24gYW5kIFRvb2xzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNvdXJjZSBMaWJyYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIi9nbG9zc2FyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1jYXRlZ29yeT1cIkZvb3Rlck5hdlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1hY3Rpb249XCJPcGVuR2xvc3NhcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stbGFiZWw9XCJHbG9zc2FyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2xvc3NhcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL3Jlc291cmNlcy9oZWxwLWFuZC1zdXBwb3J0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWNhdGVnb3J5PVwiRm9vdGVyTmF2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWFjdGlvbj1cIk9wZW5IZWxwQW5kU3VwcG9ydFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1sYWJlbD1cIkhlbHAgYW5kIFN1cHBvcnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgYW5kIFN1cHBvcnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJzbWFsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3d3dy5jbXMuZ292L3ByaXZhY3lcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stY2F0ZWdvcnk9XCJGb290ZXJOYXZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stYWN0aW9uPVwiT3BlblByaXZhY3lEaXNjbGFpbWVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWxhYmVsPVwiTm90aWNlIG9mIFByaXZhY3kgYW5kIERpc2NsYWltZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENNUyBQcml2YWN5IE5vdGljZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJkaXZpZGVyXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3d3dy5jbXMuZ292L0Fib3V0LUNNUy9BZ2VuY3ktSW5mb3JtYXRpb24vQWJvdXR3ZWJzaXRlL1BvbGljaWVzZm9yYWNjZXNzaWJpbGl0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1jYXRlZ29yeT1cIkZvb3Rlck5hdlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1hY3Rpb249XCJPcGVuQWNjZXNzaWJpbGl0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1sYWJlbD1cIkFjY2Vzc2liaWxpdHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFjY2Vzc2liaWxpdHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZGl2aWRlclwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJhZG9iZS1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL2dldC5hZG9iZS5jb20vcmVhZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWNhdGVnb3J5PVwiRm9vdGVyTmF2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWFjdGlvbj1cIkRvd25sb2FkQWRvYmVSZWFkZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stbGFiZWw9XCJBZG9iZVJlYWRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzc05hbWU9XCJpY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgeGxpbmtIcmVmPVwiI2ljb24tZG93bmxvYWRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkIEFkb2JlIFJlYWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJkaXZpZGVyXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJtYWlsdG86c2ItbWF0LWhlbHBAc2VtYW50aWNiaXRzLmNvbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZW1haWwtbGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2ItbWF0LWhlbHBAc2VtYW50aWNiaXRzLmNvbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLTg2Ni0yODgtODI5MiAoVFJTOiA3MTEpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvb3Rlci10cnMtaW5mb3RpcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbmZvVGlwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0SWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17aW5mb1RpcExhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzRnVsbFdpZHRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gXCJjb2wtc20tMTIgY29sLW1kLTQgY29sLWxnLTRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiY29sLXNtLTQgY29sLW1kLTMgY29sLWxnLTNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImhocy1sb2dvLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwiRGVwYXJ0bWVudCBvZiBIZWFsdGggJmFtcDsgSHVtYW4gU2VydmljZXMgVVNBXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiL2ltYWdlcy9oaHMtbG9nby13aGl0ZS5zdmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9mb290ZXI+XG4gICAgKTtcbn07XG5cbkxlZ2FjeUZvb3RlclVJLnByb3BUeXBlcyA9IHtcbiAgICBidWlsZFZlcnNpb246IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaXNGdWxsV2lkdGg6IFByb3BUeXBlcy5ib29sLFxuICAgIHNpZ25VcE5vd0xpbms6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBMZWdhY3lGb290ZXJVSTtcbiJdLCJuYW1lcyI6WyJpbmZvVGlwTGFiZWwiLCJMZWdhY3lGb290ZXJVSSIsIl9yZWYiLCJidWlsZFZlcnNpb24iLCJpc0Z1bGxXaWR0aCIsInNpZ25VcE5vd0xpbmsiLCJfcmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiaWQiLCJocmVmIiwic3JjIiwiYWx0IiwicmVsIiwidGFyZ2V0IiwieGxpbmtIcmVmIiwiX0luZm90aXAiLCJsaWdodEljb24iLCJsYWJlbCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImJvb2wiLCJfZGVmYXVsdCIsIl9leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///193\n\n}')},258(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 // removed by dead control flow\n{ 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.88",\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.88"\n }), options);\n }\n });\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjU4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NIQUFBLDBCQUNBO0VBS0E7QUFDQTtBQUNBO0VBRkEsSUFHcUJBLE1BQU0sR0FBQUMsUUFBQSwyQkFBQUMsWUFBQTtFQUN2QjtBQUNKO0FBQ0E7QUFDQTtFQUNJLFNBQUFGLE9BQVlHLE9BQU8sRUFBRTtJQUFBQyxlQUFBLE9BQUFKLE1BQUE7SUFDakIsSUFBSUcsT0FBTyxDQUFDRSxjQUFjLENBQUMsYUFBYSxDQUFDLEVBQUU7TUFDdkMsSUFBQUMsZ0JBQU0sZUFDRkMsTUFBQSxZQUFBQyxhQUFBLENBQUNDLFNBQUEsV0FBUTtRQUNMQyxZQUFZLEVBQUVBLFFBQWE7UUFDM0JDLFdBQVcsRUFBRVIsT0FBTyxDQUFDUSxXQUFZO1FBQ2pDQyxXQUFXLEVBQUVULE9BQU8sQ0FBQ1MsV0FBWTtRQUNqQ0MsZUFBZSxFQUFFVixPQUFPLENBQUNVO01BQWdCLENBQzVDLENBQUMsRUFDRlYsT0FBTyxDQUFDVyxXQUNaLENBQUM7SUFDTCxDQUFDLE1BQU07TUFDSCxJQUFBUixnQkFBTSxlQUFDQyxNQUFBLFlBQUFDLGFBQUEsQ0FBQ0MsU0FBQSxXQUFRO1FBQUNDLFlBQVksRUFBRUEsUUFBWUE7TUFBQyxDQUFFLENBQUMsRUFBRVAsT0FBTyxDQUFDO0lBQzdEO0VBQ0osQ0FBQztBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9jb21wb25lbnRzL0Zvb3Rlci9mb290ZXIuanM/NDlhZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBnbG9iYWwgYnVpbGRWZXJzaW9uICovXG4vLyBidWlsZFZlcnNpb24gYWJvdmUgaXMgZGVmaW5lZCBpbiB3ZWJwYWNrLmNvbmZpZy5qc1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgcmVuZGVyIH0gZnJvbSBcInJlYWN0LWRvbVwiO1xuaW1wb3J0IEZvb3RlclVJIGZyb20gXCIuL0Zvb3RlclVJXCI7XG5cbi8qKlxuICogUmVuZGVycyB0aGUgUVBQIEZvb3RlciBjb250ZW50LlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGb290ZXIge1xuICAgIC8qKlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgY29udGVudCBhbmQgY29uZmlnIGRhdGFcbiAgICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBvcHRpb25zLnJvb3RFbGVtZW50IC0gRWxlbSBpbnNpZGUgd2hpY2ggdG8gcmVuZGVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICBpZiAob3B0aW9ucy5oYXNPd25Qcm9wZXJ0eShcInJvb3RFbGVtZW50XCIpKSB7XG4gICAgICAgICAgICByZW5kZXIoXG4gICAgICAgICAgICAgICAgPEZvb3RlclVJXG4gICAgICAgICAgICAgICAgICAgIGJ1aWxkVmVyc2lvbj17YnVpbGRWZXJzaW9ufVxuICAgICAgICAgICAgICAgICAgICBpc0Z1bGxXaWR0aD17b3B0aW9ucy5pc0Z1bGxXaWR0aH1cbiAgICAgICAgICAgICAgICAgICAgaXNOZXdGb290ZXI9e29wdGlvbnMuaXNOZXdGb290ZXJ9XG4gICAgICAgICAgICAgICAgICAgIHNob3dIY2RSZXNlYXJjaD17b3B0aW9ucy5zaG93SGNkUmVzZWFyY2h9XG4gICAgICAgICAgICAgICAgLz4sXG4gICAgICAgICAgICAgICAgb3B0aW9ucy5yb290RWxlbWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlbmRlcig8Rm9vdGVyVUkgYnVpbGRWZXJzaW9uPXtidWlsZFZlcnNpb259IC8+LCBvcHRpb25zKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJGb290ZXIiLCJfZXhwb3J0cyIsIl9jcmVhdGVDbGFzcyIsIm9wdGlvbnMiLCJfY2xhc3NDYWxsQ2hlY2siLCJoYXNPd25Qcm9wZXJ0eSIsInJlbmRlciIsIl9yZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJfRm9vdGVyVUkiLCJidWlsZFZlcnNpb24iLCJpc0Z1bGxXaWR0aCIsImlzTmV3Rm9vdGVyIiwic2hvd0hjZFJlc2VhcmNoIiwicm9vdEVsZW1lbnQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///258\n\n}')},877(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 // removed by dead control flow\n{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiODc3LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUtBLElBQU1BLFdBQVcsR0FBRyxNQUFNO0VBRTFCLElBQU1DLFdBQVcsR0FBRztJQUNoQkMsVUFBVSxFQUFFLGFBQWE7SUFDekJDLE1BQU0sRUFBRSxDQUFDO0lBQ1RDLE9BQU8sRUFBRSxDQUFDO0lBQ1ZDLEtBQUssRUFBRUwsV0FBVztJQUNsQk0sTUFBTSxFQUFFTixXQUFXO0lBQ25CTyxrQkFBa0IsRUFBRSxNQUFNO0lBQzFCQyxnQkFBZ0IsRUFBRSxNQUFNO0lBQ3hCQyxVQUFVLEVBQUU7RUFDaEIsQ0FBQzs7RUFFRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxJQUFNQyxhQUFhLEdBQUc7SUFDbEJDLFlBQVksRUFBRSxTQUFkQSxZQUFZQSxDQUFHQyxDQUFDLEVBQUs7TUFDakJBLENBQUMsQ0FBQ0MsZUFBZSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUNEQyxVQUFVLEVBQUUsU0FBWkEsVUFBVUEsQ0FBR0YsQ0FBQyxFQUFLO01BQ2YsSUFBSUcsUUFBUSxDQUFDQyxhQUFhLEtBQUtKLENBQUMsQ0FBQ0ssYUFBYSxFQUFFO1FBQzVDTCxDQUFDLENBQUNNLGNBQWMsQ0FBQyxDQUFDO1FBQ2xCTixDQUFDLENBQUNLLGFBQWEsQ0FBQ0UsS0FBSyxDQUFDLENBQUM7TUFDM0IsQ0FBQyxNQUFNO1FBQ0hQLENBQUMsQ0FBQ00sY0FBYyxDQUFDLENBQUM7UUFDbEJOLENBQUMsQ0FBQ0ssYUFBYSxDQUFDRyxJQUFJLENBQUMsQ0FBQztNQUMxQjtJQUNKO0VBQ0osQ0FBQzs7RUFFRDtBQUNBO0FBQ0E7RUFDQSxJQUFNQyxPQUFPLEdBQUcsU0FBVkEsT0FBT0EsQ0FBQUMsSUFBQTtJQUFBLElBQU1DLEtBQUssR0FBQUQsSUFBQSxDQUFMQyxLQUFLO01BQUVDLFNBQVMsR0FBQUYsSUFBQSxDQUFURSxTQUFTO01BQUtDLEtBQUssR0FBQUMsd0JBQUEsQ0FBQUosSUFBQSxFQUFBSyxTQUFBO0lBQUEsb0JBQ3pDQyxNQUFBLFlBQUFDLGFBQUEsQ0FBQ0MsUUFBQSxXQUFPLEVBQUFDLFFBQUE7TUFBQ1IsS0FBSyxFQUFFQTtJQUFNLEdBQUtFLEtBQUssZ0JBQzVCRyxNQUFBLFlBQUFDLGFBQUEsV0FBQUUsUUFBQTtNQUNJQyxJQUFJLEVBQUMsUUFBUTtNQUNiLGNBQVcsYUFBYTtNQUN4QkMsS0FBSyxFQUFFaEM7SUFBWSxHQUNmUyxhQUFhLGdCQUVqQmtCLE1BQUEsWUFBQUMsYUFBQSxDQUFDSyxZQUFBLFdBQVc7TUFDUlYsU0FBUyxFQUFFQSxTQUFVO01BQ3JCbkIsS0FBSyxFQUFFTCxXQUFZO01BQ25CTSxNQUFNLEVBQUVOLFdBQVk7TUFDcEIsbUJBQVc7TUFDWGlDLEtBQUssRUFBRTtRQUFFLFNBQU87TUFBTztJQUFFLENBQzVCLENBQ0csQ0FDSCxDQUFDO0VBQUEsQ0FDYjtFQUVEWixPQUFPLENBQUNjLFNBQVMsR0FBRztJQUNoQlosS0FBSyxFQUFFYSxxQkFBUyxDQUFDQyxNQUFNLENBQUNDLFVBQVU7SUFDbENDLFNBQVMsRUFBRUgscUJBQVMsQ0FBQ0MsTUFBTTtJQUMzQmIsU0FBUyxFQUFFWSxxQkFBUyxDQUFDSSxJQUFJO0lBQ3pCQyxXQUFXLEVBQUVMLHFCQUFTLENBQUNJO0VBQzNCLENBQUM7RUFFRG5CLE9BQU8sQ0FBQ3FCLFlBQVksR0FBRztJQUNuQkgsU0FBUyxFQUFFSSxTQUFTO0lBQ3BCbkIsU0FBUyxFQUFFLEtBQUs7SUFDaEJpQixXQUFXLEVBQUVFO0VBQ2pCLENBQUM7RUFBQyxJQUFBQyxRQUFBLEdBQUFDLFFBQUEsY0FFYXhCLE9BQU87QUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vY29tcG9uZW50cy9JbmZvdGlwL0luZm90aXAuanN4P2NjODgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiO1xuaW1wb3J0IFRvb2x0aXAgZnJvbSBcIi4uL1Rvb2x0aXBcIjtcbmltcG9ydCBJbmZvdGlwSWNvbiBmcm9tIFwiLi9JbmZvdGlwSWNvblwiO1xuXG5jb25zdCBCVVRUT05fU0laRSA9IFwiMTZweFwiO1xuXG5jb25zdCBidXR0b25TdHlsZSA9IHtcbiAgICBiYWNrZ3JvdW5kOiBcInRyYW5zcGFyZW50XCIsXG4gICAgYm9yZGVyOiAwLFxuICAgIHBhZGRpbmc6IDAsXG4gICAgd2lkdGg6IEJVVFRPTl9TSVpFLFxuICAgIGhlaWdodDogQlVUVE9OX1NJWkUsXG4gICAgV2Via2l0VG91Y2hDYWxsb3V0OiBcIm5vbmVcIixcbiAgICBXZWJraXRVc2VyU2VsZWN0OiBcIm5vbmVcIixcbiAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcbn07XG5cbi8vIFVzZSBiYXNpYyB0b3VjaCBoYW5kbGVycyBmb3IgbW9iaWxlIFwidGFwLXRvLW9wZW5cIiB1aS4gIE1vYmlsZSB0b3VjaFxuLy8gaXMgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWQgYnkgQHJlYWNoL3Rvb2x0aXA7IHRoaXMgbWF5IGNoYW5nZSBpbiBmdXR1cmUuXG4vLyBMZXZlcmFnZXMgQHJlYWNoL3Rvb2x0aXAgXCJmb2N1c1wiIGJlaGF2aW9yIHRvIG9wZW4gdG9vbHRpcCBvbiB0YXAsXG4vLyBhbmQgY2xvc2UgdG9vbHRpcCBvbiBzZWNvbmQgdGFwIG9yIGxvc3Mgb2YgZm9jdXMuXG4vLyBUT0RPOiBXZSBtYXkgd2FudCB0byBpbXByb3ZlIHRoaXMgYnkgdHJhY2tpbmcgdG91Y2ggcG9zaXRpb25zIHRvIGVuc3VyZVxuLy8gdGhhdCBhICd0b3VjaGVuZCcgZXZlbnQgbXVzdCBiZSByZWFzb25hYmx5IGNsb3NlIHRvIHRoZSB0b29sdGlwIHRhcmdldC5cbmNvbnN0IHRvdWNoSGFuZGxlcnMgPSB7XG4gICAgb25Ub3VjaFN0YXJ0OiAoZSkgPT4ge1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH0sXG4gICAgb25Ub3VjaEVuZDogKGUpID0+IHtcbiAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgIT09IGUuY3VycmVudFRhcmdldCkge1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZS5jdXJyZW50VGFyZ2V0LmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBlLmN1cnJlbnRUYXJnZXQuYmx1cigpO1xuICAgICAgICB9XG4gICAgfSxcbn07XG5cbi8qKlxuICogVG9vbHRpcCB3aXRoIHN0eWxlZCBpbmZvcm1hdGlvbiBpY29uXG4gKi9cbmNvbnN0IEluZm90aXAgPSAoeyBsYWJlbCwgbGlnaHRJY29uLCAuLi5wcm9wcyB9KSA9PiAoXG4gICAgPFRvb2x0aXAgbGFiZWw9e2xhYmVsfSB7Li4ucHJvcHN9PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJJbmZvcm1hdGlvblwiXG4gICAgICAgICAgICBzdHlsZT17YnV0dG9uU3R5bGV9XG4gICAgICAgICAgICB7Li4udG91Y2hIYW5kbGVyc31cbiAgICAgICAgPlxuICAgICAgICAgICAgPEluZm90aXBJY29uXG4gICAgICAgICAgICAgICAgbGlnaHRJY29uPXtsaWdodEljb259XG4gICAgICAgICAgICAgICAgd2lkdGg9e0JVVFRPTl9TSVpFfVxuICAgICAgICAgICAgICAgIGhlaWdodD17QlVUVE9OX1NJWkV9XG4gICAgICAgICAgICAgICAgYXJpYS1oaWRkZW5cbiAgICAgICAgICAgICAgICBzdHlsZT17eyBmbG9hdDogXCJsZWZ0XCIgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvVG9vbHRpcD5cbik7XG5cbkluZm90aXAucHJvcFR5cGVzID0ge1xuICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgYXJpYUxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGxpZ2h0SWNvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgREVCVUdfU1RZTEU6IFByb3BUeXBlcy5ib29sLFxufTtcblxuSW5mb3RpcC5kZWZhdWx0UHJvcHMgPSB7XG4gICAgYXJpYUxhYmVsOiB1bmRlZmluZWQsXG4gICAgbGlnaHRJY29uOiBmYWxzZSxcbiAgICBERUJVR19TVFlMRTogdW5kZWZpbmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgSW5mb3RpcDtcbiJdLCJuYW1lcyI6WyJCVVRUT05fU0laRSIsImJ1dHRvblN0eWxlIiwiYmFja2dyb3VuZCIsImJvcmRlciIsInBhZGRpbmciLCJ3aWR0aCIsImhlaWdodCIsIldlYmtpdFRvdWNoQ2FsbG91dCIsIldlYmtpdFVzZXJTZWxlY3QiLCJ1c2VyU2VsZWN0IiwidG91Y2hIYW5kbGVycyIsIm9uVG91Y2hTdGFydCIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJvblRvdWNoRW5kIiwiZG9jdW1lbnQiLCJhY3RpdmVFbGVtZW50IiwiY3VycmVudFRhcmdldCIsInByZXZlbnREZWZhdWx0IiwiZm9jdXMiLCJibHVyIiwiSW5mb3RpcCIsIl9yZWYiLCJsYWJlbCIsImxpZ2h0SWNvbiIsInByb3BzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwiX3JlYWN0IiwiY3JlYXRlRWxlbWVudCIsIl9Ub29sdGlwIiwiX2V4dGVuZHMiLCJ0eXBlIiwic3R5bGUiLCJfSW5mb3RpcEljb24iLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJpc1JlcXVpcmVkIiwiYXJpYUxhYmVsIiwiYm9vbCIsIkRFQlVHX1NUWUxFIiwiZGVmYXVsdFByb3BzIiwidW5kZWZpbmVkIiwiX2RlZmF1bHQiLCJfZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///877\n\n}')},517(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 // removed by dead control flow\n{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTE3LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFHQSxJQUFNQSxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBQUMsSUFBQTtJQUFBLElBQU1DLFNBQVMsR0FBQUQsSUFBQSxDQUFUQyxTQUFTO01BQUtDLEtBQUssR0FBQUMsd0JBQUEsQ0FBQUgsSUFBQSxFQUFBSSxTQUFBO0lBQUEsb0JBQ3RDQyxNQUFBLFlBQUFDLGFBQUEsUUFBQUMsUUFBQTtNQUNJQyxLQUFLLEVBQUMsTUFBTTtNQUNaQyxNQUFNLEVBQUMsTUFBTTtNQUNiQyxPQUFPLEVBQUMsV0FBVztNQUNuQkMsS0FBSyxFQUFDO0lBQTRCLEdBQzlCVCxLQUFLLGdCQUVURyxNQUFBLFlBQUFDLGFBQUE7TUFBR00sSUFBSSxFQUFDLE1BQU07TUFBQ0MsUUFBUSxFQUFDO0lBQVMsZ0JBQzdCUixNQUFBLFlBQUFDLGFBQUE7TUFDSVEsQ0FBQyxFQUFDLDhJQUE4STtNQUNoSkYsSUFBSSxFQUFDLFNBQVM7TUFDZEMsUUFBUSxFQUFDO0lBQVMsQ0FDckIsQ0FBQyxlQUNGUixNQUFBLFlBQUFDLGFBQUE7TUFDSVEsQ0FBQyxFQUFDLDhIQUE4SDtNQUNoSUYsSUFBSSxFQUFFWCxTQUFTLEdBQUcsTUFBTSxHQUFHO0lBQVUsQ0FDeEMsQ0FBQyxlQUNGSSxNQUFBLFlBQUFDLGFBQUE7TUFDSVEsQ0FBQyxFQUFDLHFoQkFBcWhCO01BQ3ZoQkMsTUFBTSxFQUFFZCxTQUFTLEdBQUcsU0FBUyxHQUFHLE1BQU87TUFDdkNlLFdBQVcsRUFBQyxJQUFJO01BQ2hCSixJQUFJLEVBQUVYLFNBQVMsR0FBRyxTQUFTLEdBQUcsTUFBTztNQUNyQ1ksUUFBUSxFQUFDO0lBQVMsQ0FDckIsQ0FDRixDQUNGLENBQUM7RUFBQSxDQUNUO0VBQUMsSUFBQUksUUFBQSxHQUFBQyxRQUFBLGNBRWFuQixXQUFXO0VBRTFCQSxXQUFXLENBQUNvQixTQUFTLEdBQUc7SUFDcEJsQixTQUFTLEVBQUVtQixxQkFBUyxDQUFDQztFQUN6QixDQUFDO0VBRUR0QixXQUFXLENBQUN1QixZQUFZLEdBQUc7SUFDdkJyQixTQUFTLEVBQUU7RUFDZixDQUFDO0FBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL2NvbXBvbmVudHMvSW5mb3RpcC9JbmZvdGlwSWNvbi5qc3g/NjBjMiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5cbmNvbnN0IEluZm90aXBJY29uID0gKHsgbGlnaHRJY29uLCAuLi5wcm9wcyB9KSA9PiAoXG4gICAgPHN2Z1xuICAgICAgICB3aWR0aD1cIjIwcHhcIlxuICAgICAgICBoZWlnaHQ9XCIyMHB4XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgPlxuICAgICAgICA8ZyBmaWxsPVwibm9uZVwiIGZpbGxSdWxlPVwiZXZlbm9kZFwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICBkPVwiTTkuNzIxIDE5LjE1OGMtNC45NDcgMC04Ljk3My00LjEyNi04Ljk3My05LjE5NkMuNzQ4IDQuODkyIDQuNzc0Ljc2NiA5LjcyLjc2NmM0Ljk0OCAwIDguOTc0IDQuMTI2IDguOTc0IDkuMTk2IDAgNS4wNy00LjAyNiA5LjE5Ni04Ljk3NCA5LjE5NnpcIlxuICAgICAgICAgICAgICAgIGZpbGw9XCIjMkVCMUVEXCJcbiAgICAgICAgICAgICAgICBmaWxsUnVsZT1cIm5vbnplcm9cIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgZD1cIk05LjcyMSAwQzQuMzYxIDAgMCA0LjQ2OSAwIDkuOTYyYzAgNS40OTMgNC4zNiA5Ljk2MiA5LjcyMSA5Ljk2MiA1LjM2IDAgOS43MjItNC40NjkgOS43MjItOS45NjJDMTkuNDQzIDQuNDY5IDE1LjA4MiAwIDkuNzIgMHpcIlxuICAgICAgICAgICAgICAgIGZpbGw9e2xpZ2h0SWNvbiA/IFwiI0ZGRlwiIDogXCIjMDQ4MzhBXCJ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICBkPVwiTTkuNzIxIDE0Ljc2NWMtLjIwNiAwLS4zNzQuMTEyLS4zNzQuMjV2LjVjMCAuMTM4LjE2OC4yNS4zNzQuMjUuMjA3IDAgLjM3NC0uMTEyLjM3NC0uMjV2LS41YzAtLjEzOC0uMTY3LS4yNS0uMzc0LS4yNXpNOS43NjQgNC43MDZIOS43MmMtLjc5MiAwLTEuNTM2LjI5LTIuMS44MjFhMi43NjcgMi43NjcgMCAwIDAtLjg5IDIuMDNjMCAuMTk3LjE2Ni4zNTYuMzczLjM1NnMuMzc0LS4xNTkuMzc0LS4zNTZjMC0uNTc3LjIzNy0xLjExOC42NjgtMS41MjNhMi4yNjggMi4yNjggMCAwIDEgMS42MDctLjYxNWMxLjE4Mi4wMTYgMi4xOTUuOTggMi4yMTEgMi4xMDcuMDExLjc0My0uMzczIDEuNDI3LTEuMDI4IDEuODMtLjk5NS42MS0xLjU4OSAxLjY5MS0xLjU4OSAyLjg5djEuMDEzYzAgLjE5Ny4xNjguMzU3LjM3NC4zNTcuMjA3IDAgLjM3NC0uMTYuMzc0LS4zNTd2LTEuMDEzYzAtLjk0MS40NzctMS44MiAxLjI0Ni0yLjI5Mi44NzMtLjUzNyAxLjM4Ni0xLjQ0OCAxLjM3MS0yLjQzOC0uMDIyLTEuNTI3LTEuMzQ1LTIuNzg4LTIuOTQ4LTIuODF6XCJcbiAgICAgICAgICAgICAgICBzdHJva2U9e2xpZ2h0SWNvbiA/IFwiIzA0ODM4QVwiIDogXCIjRkZGXCJ9XG4gICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCIuNVwiXG4gICAgICAgICAgICAgICAgZmlsbD17bGlnaHRJY29uID8gXCIjMDQ4MzhBXCIgOiBcIiNGRkZcIn1cbiAgICAgICAgICAgICAgICBmaWxsUnVsZT1cIm5vbnplcm9cIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgIDwvc3ZnPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgSW5mb3RpcEljb247XG5cbkluZm90aXBJY29uLnByb3BUeXBlcyA9IHtcbiAgICBsaWdodEljb246IFByb3BUeXBlcy5ib29sLFxufTtcblxuSW5mb3RpcEljb24uZGVmYXVsdFByb3BzID0ge1xuICAgIGxpZ2h0SWNvbjogZmFsc2UsXG59O1xuIl0sIm5hbWVzIjpbIkluZm90aXBJY29uIiwiX3JlZiIsImxpZ2h0SWNvbiIsInByb3BzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwiX3JlYWN0IiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIiwid2lkdGgiLCJoZWlnaHQiLCJ2aWV3Qm94IiwieG1sbnMiLCJmaWxsIiwiZmlsbFJ1bGUiLCJkIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJfZGVmYXVsdCIsIl9leHBvcnRzIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwiYm9vbCIsImRlZmF1bHRQcm9wcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///517\n\n}')},582(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 // removed by dead control flow\n{ 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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LFdBQVcsRUFBRXFDLHFCQUFTLENBQUNJO0VBQzNCLENBQUM7RUFFRDlDLE9BQU8sQ0FBQytDLFlBQVksR0FBRztJQUNuQjNDLFNBQVMsRUFBRTRDLFNBQVM7SUFDcEIzQyxXQUFXLEVBQUUyQztFQUNqQixDQUFDO0VBQUMsSUFBQUMsUUFBQSxHQUFBQyxRQUFBLGNBRWFsRCxPQUFPO0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL2NvbXBvbmVudHMvVG9vbHRpcC9Ub29sdGlwLmpzeD82OTliIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBjbG9uZUVsZW1lbnQsIHVzZUxheW91dEVmZmVjdCwgdXNlUmVmIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5pbXBvcnQgcG9zaXRpb25UaXAsIHsgcG9zaXRpb25UcmlhbmdsZSB9IGZyb20gXCIuL3Bvc2l0aW9uXCI7XG5pbXBvcnQgeyB1c2VUb29sdGlwLCBUb29sdGlwUG9wdXAgfSBmcm9tIFwiQHJlYWNoL3Rvb2x0aXBcIjtcbmltcG9ydCBQb3J0YWwgZnJvbSBcIkByZWFjaC9wb3J0YWxcIjtcblxuLy8gVE9ETzogaW52ZXN0aWdhdGUgd2F5cyB0byBhbGxvdyBtb3JlIHN0eWxpbmcgdmlhIGNzcz8gdGhlIHRyaWFuZ2xlXG4vLyBwb3NpdGlvbmluZyBlZmZlY3QgaXNzdWUgbWF5IG5lZWQgdG8gYmUgcmVzb2x2ZWQgdG8gYWxsb3cgZm9yIHRoaXMuXG5jb25zdCBURVhUX0NPTE9SID0gXCIjRkZGXCI7XG5jb25zdCBCQUNLR1JPVU5EX0NPTE9SID0gXCIjMzMzXCI7XG5cbi8qKlxuICogR2VuZXJpYyBzdHlsZWQgdG9vbHRpcCBjb21wb25lbnQuXG4gKiBDb3JyZXNwb25kaW5nIHN0eWxlczogL3N0eWxlcy9jb21wb25lbnRzL190b29sdGlwLnNjc3NcbiAqXG4gKiBFeHRlbmRzIGltcGxlbWVudGF0aW9uIGZyb20gQHJlYWNoL3Rvb2x0aXA6XG4gKiBodHRwczovL3JlYWN0dHJhaW5pbmcuY29tL3JlYWNoLXVpL3Rvb2x0aXBcbiAqL1xuY29uc3QgVG9vbHRpcCA9ICh7IGNoaWxkcmVuLCBsYWJlbCwgYXJpYUxhYmVsLCBERUJVR19TVFlMRSB9KSA9PiB7XG4gICAgY29uc3QgW3RyaWdnZXIsIHRvb2x0aXBdID0gdXNlVG9vbHRpcCh7IERFQlVHX1NUWUxFIH0pO1xuICAgIGNvbnN0IHsgaXNWaXNpYmxlLCB0cmlnZ2VyUmVjdCB9ID0gdG9vbHRpcDtcbiAgICBjb25zdCB0b29sdGlwUG9wdXBSZWYgPSB1c2VSZWYoKTtcbiAgICBjb25zdCB0cmlhbmdsZVJlZiA9IHVzZVJlZigpO1xuXG4gICAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICAgICAgLy8gRm9yIHNvbWUgcmVhc29uLCB0aGUgZm9yd2FyZFJlZiBmb3IgdGhlIHRvb2x0aXBQb3B1cCBwb2ludHMgdG8gYW4gdW5kZWZpbmVkXG4gICAgICAgIC8vIGRvbSBlbGVtZW50IHdoZW4gd2UgZmlyc3QgcmVuZGVyIHRoZSBwb3J0YWwgY29udGFpbmluZyB0aGUgdHJpYW5nbGUuIFVzaW5nXG4gICAgICAgIC8vIGFuIGVmZmVjdCBoZXJlIHdpbGwgZW5zdXJlIHRoYXQgdGhlIHJlZiBpcyBhdmFpbGFibGUgd2hlbiBhcHBseWluZyBzdHlsZXMuXG4gICAgICAgIC8vIFRPRE86IGludmVzdGlnYXRlIGFuZCBtYWtlIGlzc3VlIGZvciBAcmVhY2gtdWkvdG9vbHRpcD9cbiAgICAgICAgaWYgKGlzVmlzaWJsZSAmJiB0b29sdGlwUG9wdXBSZWYuY3VycmVudCAmJiB0cmlnZ2VyUmVjdCkge1xuICAgICAgICAgICAgY29uc3QgdG9vbHRpcFJlY3QgPSB0b29sdGlwUG9wdXBSZWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uQ3NzVGV4dCA9IHBvc2l0aW9uVHJpYW5nbGUodHJpZ2dlclJlY3QsIHRvb2x0aXBSZWN0KTtcbiAgICAgICAgICAgIGNvbnN0IGNzc1RleHQgPSBgXG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICR7cG9zaXRpb25Dc3NUZXh0fVxuICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHtCQUNLR1JPVU5EX0NPTE9SfTtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR7QkFDS0dST1VORF9DT0xPUn07XG4gICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgIGA7XG4gICAgICAgICAgICB0cmlhbmdsZVJlZi5jdXJyZW50LnN0eWxlLmNzc1RleHQgPSBjc3NUZXh0O1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgICAge2Nsb25lRWxlbWVudChjaGlsZHJlbiwgdHJpZ2dlcil9XG4gICAgICAgICAgICA8VG9vbHRpcFBvcHVwXG4gICAgICAgICAgICAgICAgey4uLnRvb2x0aXB9XG4gICAgICAgICAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICAgICAgICAgIGFyaWFMYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEJBQ0tHUk9VTkRfQ09MT1IsXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBURVhUX0NPTE9SLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgcmVmPXt0b29sdGlwUG9wdXBSZWZ9XG4gICAgICAgICAgICAgICAgcG9zaXRpb249e3Bvc2l0aW9uVGlwfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIHtpc1Zpc2libGUgJiYgKFxuICAgICAgICAgICAgICAgIDxQb3J0YWw+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17dHJpYW5nbGVSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L1BvcnRhbD5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvPlxuICAgICk7XG59O1xuXG5Ub29sdGlwLnByb3BUeXBlcyA9IHtcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUuaXNSZXF1aXJlZCxcbiAgICBsYWJlbDogUHJvcFR5cGVzLm5vZGUuaXNSZXF1aXJlZCxcbiAgICBhcmlhTGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgREVCVUdfU1RZTEU6IFByb3BUeXBlcy5ib29sLFxufTtcblxuVG9vbHRpcC5kZWZhdWx0UHJvcHMgPSB7XG4gICAgYXJpYUxhYmVsOiB1bmRlZmluZWQsXG4gICAgREVCVUdfU1RZTEU6IHVuZGVmaW5lZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFRvb2x0aXA7XG4iXSwibmFtZXMiOlsiVEVYVF9DT0xPUiIsIkJBQ0tHUk9VTkRfQ09MT1IiLCJUb29sdGlwIiwiX3JlZiIsImNoaWxkcmVuIiwibGFiZWwiLCJhcmlhTGFiZWwiLCJERUJVR19TVFlMRSIsIl91c2VUb29sdGlwIiwidXNlVG9vbHRpcCIsIl91c2VUb29sdGlwMiIsIl9zbGljZWRUb0FycmF5IiwidHJpZ2dlciIsInRvb2x0aXAiLCJpc1Zpc2libGUiLCJ0cmlnZ2VyUmVjdCIsInRvb2x0aXBQb3B1cFJlZiIsInVzZVJlZiIsInRyaWFuZ2xlUmVmIiwidXNlTGF5b3V0RWZmZWN0IiwiY3VycmVudCIsInRvb2x0aXBSZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwicG9zaXRpb25Dc3NUZXh0IiwicG9zaXRpb25UcmlhbmdsZSIsImNzc1RleHQiLCJjb25jYXQiLCJzdHlsZSIsIl9yZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsImNsb25lRWxlbWVudCIsIl90b29sdGlwIiwiVG9vbHRpcFBvcHVwIiwiX2V4dGVuZHMiLCJiYWNrZ3JvdW5kIiwiY29sb3IiLCJyZWYiLCJwb3NpdGlvbiIsInBvc2l0aW9uVGlwIiwiX3BvcnRhbCIsIndpZHRoIiwiaGVpZ2h0IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwibm9kZSIsImlzUmVxdWlyZWQiLCJzdHJpbmciLCJib29sIiwiZGVmYXVsdFByb3BzIiwidW5kZWZpbmVkIiwiX2RlZmF1bHQiLCJfZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///582\n\n}')},225(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 // removed by dead control flow\n{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjI1LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O3VDQUVlQSxtQkFBTztBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9jb21wb25lbnRzL1Rvb2x0aXAvaW5kZXguanM/MDU0YSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVG9vbHRpcCBmcm9tIFwiLi9Ub29sdGlwXCI7XG5cbmV4cG9ydCBkZWZhdWx0IFRvb2x0aXA7XG4iXSwibmFtZXMiOlsiVG9vbHRpcCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///225\n\n}')},310(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 // removed by dead control flow\n{ 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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RW5ELGlDQUFBc0IsTUFBQSxDQUNtQnZCLGdCQUFnQixtREFBQXVCLE1BQUEsQ0FDZnZCLGdCQUFnQiwyQ0FBQXVCLE1BQUEsQ0FDeEJNLFlBQVksd0JBQUFOLE1BQUEsQ0FDYkssV0FBVyxtQkFBQUwsTUFBQSxDQUNoQk8sY0FBYztFQUV4QixDQUFDO0FBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL2NvbXBvbmVudHMvVG9vbHRpcC9wb3NpdGlvbi5qcz82MWIxIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IE9GRlNFVCA9IDEyOyAvLyBtb2RpZmllZCBmcm9tIHJlYWNoLXVpL3Rvb2x0aXAgT0ZGU0VUIHZhbHVlXG5jb25zdCBUUklBTkdMRV9TQ0FMRV9YID0gNjtcbmNvbnN0IFRSSUFOR0xFX1NDQUxFX1kgPSA4O1xuXG5jb25zdCBpc0RpcmVjdGlvblVwID0gKHRyaWdnZXJSZWN0LCB0b29sdGlwUmVjdCkgPT4ge1xuICAgIGNvbnN0IGNvbGxpc2lvbnMgPSB7XG4gICAgICAgIHRvcDogdHJpZ2dlclJlY3QudG9wIC0gdG9vbHRpcFJlY3QuaGVpZ2h0IDwgMCxcbiAgICAgICAgYm90dG9tOlxuICAgICAgICAgICAgd2luZG93LmlubmVySGVpZ2h0IDxcbiAgICAgICAgICAgIHRyaWdnZXJSZWN0LmJvdHRvbSArIHRvb2x0aXBSZWN0LmhlaWdodCArIE9GRlNFVCxcbiAgICB9O1xuXG4gICAgcmV0dXJuICFjb2xsaXNpb25zLnRvcCB8fCBjb2xsaXNpb25zLmJvdHRvbTtcbn07XG5cbi8vIG1vZGlmaWVkIGZyb20gQHJlYWNoL3Rvb2x0aXAgZGVmYXVsdCBwb3NpdGlvbmluZyBmdW5jdGlvblxuLy8gcG9zaXRpb25zIFRvb2x0aXAgcmVsYXRpdmUgdG8gdHJpZ2dlclxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3JlYWNoL3JlYWNoLXVpL2Jsb2IvbWFzdGVyL3BhY2thZ2VzL3Rvb2x0aXAvc3JjL2luZGV4LnRzeCNMNTMyXG5jb25zdCBwb3NpdGlvblRpcCA9ICh0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QpID0+IHtcbiAgICBpZiAoIXRyaWdnZXJSZWN0IHx8ICF0b29sdGlwUmVjdCkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgY29uc3QgdHJpZ2dlckNlbnRlciA9IHRyaWdnZXJSZWN0LmxlZnQgKyB0cmlnZ2VyUmVjdC53aWR0aCAvIDI7XG4gICAgY29uc3QgbGVmdCA9IHRyaWdnZXJDZW50ZXIgLSB0b29sdGlwUmVjdC53aWR0aCAvIDI7XG4gICAgY29uc3QgbWF4TGVmdCA9IHdpbmRvdy5pbm5lcldpZHRoIC0gdG9vbHRpcFJlY3Qud2lkdGggLSAyO1xuICAgIGNvbnN0IGNlbnRlckxlZnQgPVxuICAgICAgICBNYXRoLm1pbihNYXRoLm1heCgyLCBsZWZ0KSwgbWF4TGVmdCkgKyB3aW5kb3cucGFnZVhPZmZzZXQ7XG5cbiAgICBjb25zdCBkaXJlY3Rpb25VcCA9IGlzRGlyZWN0aW9uVXAodHJpZ2dlclJlY3QsIHRvb2x0aXBSZWN0KTtcblxuICAgIHJldHVybiB7XG4gICAgICAgIGxlZnQ6IGAke2NlbnRlckxlZnR9cHhgLFxuICAgICAgICB0b3A6IGRpcmVjdGlvblVwXG4gICAgICAgICAgICA/IGAke1xuICAgICAgICAgICAgICAgICAgdHJpZ2dlclJlY3QudG9wIC1cbiAgICAgICAgICAgICAgICAgIE9GRlNFVCAtXG4gICAgICAgICAgICAgICAgICB0b29sdGlwUmVjdC5oZWlnaHQgK1xuICAgICAgICAgICAgICAgICAgd2luZG93LnBhZ2VZT2Zmc2V0XG4gICAgICAgICAgICAgIH1weGBcbiAgICAgICAgICAgIDogYCR7XG4gICAgICAgICAgICAgICAgICB0cmlnZ2VyUmVjdC50b3AgK1xuICAgICAgICAgICAgICAgICAgT0ZGU0VUICtcbiAgICAgICAgICAgICAgICAgIHRyaWdnZXJSZWN0LmhlaWdodCArXG4gICAgICAgICAgICAgICAgICB3aW5kb3cucGFnZVlPZmZzZXRcbiAgICAgICAgICAgICAgfXB4YCxcbiAgICB9O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgcG9zaXRpb25UaXA7XG5cbi8vIHBvc2l0aW9uIHRyaWFuZ2xlIHJlbGF0aXZlIHRvIHRvb2x0aXAgcG9zaXRpb25cbi8vIFRPRE86IGZpZ3VyZSBvdXQgYSBiZXR0ZXIgd2F5IHRvIHJlbmRlciB0aGVzZSB1cGRhdGVzIGZyb20gd2l0aGluIHJlYWN0XG4vLyByZW5kZXJpbmcuIFRoaXMgbWV0aG9kIGNhdXNlcyBhbiBhZGRpdGlvbmFsIHJlcGFpbnQgYWZ0ZXIgdGhlIFRvb2x0aXBcbi8vIGhhcyBiZWVuIHJlbmRlcmVkLiBtYXkgcmVxdWlyZSBjaGFuZ2VzIHRvIEByZWFjaC90b29sdGlwLlxuZXhwb3J0IGNvbnN0IHBvc2l0aW9uVHJpYW5nbGUgPSAodHJpZ2dlclJlY3QsIHRvb2x0aXBSZWN0KSA9PiB7XG4gICAgY29uc3QgZGlyZWN0aW9uVXAgPSBpc0RpcmVjdGlvblVwKHRyaWdnZXJSZWN0LCB0b29sdGlwUmVjdCk7XG4gICAgY29uc3QgdHJpYW5nbGVUb3AgPSBkaXJlY3Rpb25VcFxuICAgICAgICA/IHRyaWdnZXJSZWN0LnRvcCArIHdpbmRvdy5wYWdlWU9mZnNldCAtIE9GRlNFVFxuICAgICAgICA6IHRyaWdnZXJSZWN0LmJvdHRvbSArIHdpbmRvdy5wYWdlWU9mZnNldCArIE9GRlNFVCAtIFRSSUFOR0xFX1NDQUxFX1k7XG5cbiAgICBjb25zdCB0cmlhbmdsZUxlZnQgPVxuICAgICAgICB0cmlnZ2VyUmVjdC5sZWZ0IC0gVFJJQU5HTEVfU0NBTEVfWCArIHRyaWdnZXJSZWN0LndpZHRoIC8gMjtcblxuICAgIGNvbnN0IHRyaWFuZ2xlQm9yZGVyID0gZGlyZWN0aW9uVXBcbiAgICAgICAgPyBgYm9yZGVyLXRvcDogJHtUUklBTkdMRV9TQ0FMRV9ZfXB4IHNvbGlkO2BcbiAgICAgICAgOiBgYm9yZGVyLWJvdHRvbTogJHtUUklBTkdMRV9TQ0FMRV9ZfXB4IHNvbGlkO2A7XG5cbiAgICByZXR1cm4gYFxuICAgICAgICBib3JkZXItbGVmdDogJHtUUklBTkdMRV9TQ0FMRV9YfXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6ICR7VFJJQU5HTEVfU0NBTEVfWH1weCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgbGVmdDogJHt0cmlhbmdsZUxlZnR9cHg7XG4gICAgICAgIHRvcDogJHt0cmlhbmdsZVRvcH1weDtcbiAgICAgICAgJHt0cmlhbmdsZUJvcmRlcn1cbiAgICBgO1xufTtcbiJdLCJuYW1lcyI6WyJPRkZTRVQiLCJUUklBTkdMRV9TQ0FMRV9YIiwiVFJJQU5HTEVfU0NBTEVfWSIsImlzRGlyZWN0aW9uVXAiLCJ0cmlnZ2VyUmVjdCIsInRvb2x0aXBSZWN0IiwiY29sbGlzaW9ucyIsInRvcCIsImhlaWdodCIsImJvdHRvbSIsIndpbmRvdyIsImlubmVySGVpZ2h0IiwicG9zaXRpb25UaXAiLCJ0cmlnZ2VyQ2VudGVyIiwibGVmdCIsIndpZHRoIiwibWF4TGVmdCIsImlubmVyV2lkdGgiLCJjZW50ZXJMZWZ0IiwiTWF0aCIsIm1pbiIsIm1heCIsInBhZ2VYT2Zmc2V0IiwiZGlyZWN0aW9uVXAiLCJjb25jYXQiLCJwYWdlWU9mZnNldCIsIl9kZWZhdWx0IiwiX2V4cG9ydHMiLCJwb3NpdGlvblRyaWFuZ2xlIiwidHJpYW5nbGVUb3AiLCJ0cmlhbmdsZUxlZnQiLCJ0cmlhbmdsZUJvcmRlciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///310\n\n}')},24(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 // removed by dead control flow\n{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBS0EsSUFBTUEsa0JBQWtCLEdBQUc7SUFDdkJDLFNBQVMsV0FBVEEsU0FBU0EsQ0FBQ0MsT0FBTyxFQUFFO01BQ2YsT0FBTyxJQUFJQyxpQkFBUyxDQUFDRCxPQUFPLENBQUM7SUFDakMsQ0FBQztJQUVERSxNQUFNLFdBQU5BLE1BQU1BLENBQUNGLE9BQU8sRUFBRTtNQUNaLE9BQU8sSUFBSUcsa0JBQU0sQ0FBQ0gsT0FBTyxDQUFDO0lBQzlCO0VBQ0osQ0FBQztFQUFDLElBQUFJLFFBQUEsR0FBQUMsUUFBQSxjQUVhUCxrQkFBa0I7QUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vaW5kZXguanM/NDFmNSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRXJyb3JQYWdlIGZyb20gXCIuL2NvbXBvbmVudHMvRXJyb3IvZXJyb3JcIjtcbmltcG9ydCBGb290ZXIgZnJvbSBcIi4vY29tcG9uZW50cy9Gb290ZXIvZm9vdGVyXCI7XG5cbmltcG9ydCBcIndoYXQtaW5wdXRcIjtcblxuY29uc3QgUXBwU3R5bGVDb21wb25lbnRzID0ge1xuICAgIGVycm9yUGFnZShvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBuZXcgRXJyb3JQYWdlKG9wdGlvbnMpO1xuICAgIH0sXG5cbiAgICBmb290ZXIob3B0aW9ucykge1xuICAgICAgICByZXR1cm4gbmV3IEZvb3RlcihvcHRpb25zKTtcbiAgICB9LFxufTtcblxuZXhwb3J0IGRlZmF1bHQgUXBwU3R5bGVDb21wb25lbnRzO1xuIl0sIm5hbWVzIjpbIlFwcFN0eWxlQ29tcG9uZW50cyIsImVycm9yUGFnZSIsIm9wdGlvbnMiLCJFcnJvclBhZ2UiLCJmb290ZXIiLCJGb290ZXIiLCJfZGVmYXVsdCIsIl9leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///24\n\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\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\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) // removed by dead control flow\n{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTU2LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxJQUFJLEtBQXFDLEVBQUU7QUFBQSxxQ0FPMUMsQ0FBQztBQUNGO0FBQ0E7QUFDQSxtQkFBbUIsbUJBQU8sQ0FBQyxHQUE0QjtBQUN2RCIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvaW5kZXguanM/ZDdiYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIHZhciBSZWFjdElzID0gcmVxdWlyZSgncmVhY3QtaXMnKTtcblxuICAvLyBCeSBleHBsaWNpdGx5IHVzaW5nIGBwcm9wLXR5cGVzYCB5b3UgYXJlIG9wdGluZyBpbnRvIG5ldyBkZXZlbG9wbWVudCBiZWhhdmlvci5cbiAgLy8gaHR0cDovL2ZiLm1lL3Byb3AtdHlwZXMtaW4tcHJvZFxuICB2YXIgdGhyb3dPbkRpcmVjdEFjY2VzcyA9IHRydWU7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9mYWN0b3J5V2l0aFR5cGVDaGVja2VycycpKFJlYWN0SXMuaXNFbGVtZW50LCB0aHJvd09uRGlyZWN0QWNjZXNzKTtcbn0gZWxzZSB7XG4gIC8vIEJ5IGV4cGxpY2l0bHkgdXNpbmcgYHByb3AtdHlwZXNgIHlvdSBhcmUgb3B0aW5nIGludG8gbmV3IHByb2R1Y3Rpb24gYmVoYXZpb3IuXG4gIC8vIGh0dHA6Ly9mYi5tZS9wcm9wLXR5cGVzLWluLXByb2RcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2ZhY3RvcnlXaXRoVGhyb3dpbmdTaGltcycpKCk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///556\n\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\n}")},88(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 // removed by dead control flow\n{}\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiODguanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQXlEO0FBQzdEO0FBQ0EsTUFBTTtBQUFBLEVBSzBCO0FBQ2hDLENBQUM7QUFDRCxxQ0FBcUM7QUFDckM7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQiw4QkFBbUI7O0FBRXRDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDBFQUEwRSw4QkFBbUI7O0FBRTdGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBLFVBQVUsOEJBQW1COztBQUU3QjtBQUNBLFVBQVUsOEJBQW1COztBQUU3QjtBQUNBLFVBQVUsOEJBQW1COztBQUU3QjtBQUNBLGlCQUFpQiw4QkFBbUI7QUFDcEMsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7O0FBRVI7QUFDQTtBQUNBO0FBQ0EsUUFBUTs7QUFFUjtBQUNBLDJDQUEyQzs7QUFFM0M7QUFDQSwrQ0FBK0M7O0FBRS9DO0FBQ0EsdURBQXVEOztBQUV2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLOztBQUVMO0FBQ0Esd0NBQXdDO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBLE1BQU07O0FBRU47QUFDQSxLQUFLO0FBQ0w7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUMsK0JBQStCOztBQUV0RTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELFNBQVM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELFNBQVM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7QUFFTjtBQUNBO0FBQ0E7QUFDQSxNQUFNOztBQUVOO0FBQ0E7QUFDQTtBQUNBLE1BQU07O0FBRU47QUFDQTtBQUNBO0FBQ0EsTUFBTTs7QUFFTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUixNQUFNOztBQUVOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7QUFFTjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUYsT0FBTztBQUNQO0FBQ0EsQ0FBQztBQUNEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9ub2RlX21vZHVsZXMvd2hhdC1pbnB1dC9kaXN0L3doYXQtaW5wdXQuanM/OGUzYiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIHdoYXQtaW5wdXQgLSBBIGdsb2JhbCB1dGlsaXR5IGZvciB0cmFja2luZyB0aGUgY3VycmVudCBpbnB1dCBtZXRob2QgKG1vdXNlLCBrZXlib2FyZCBvciB0b3VjaCkuXG4gKiBAdmVyc2lvbiB2NS4yLjEyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vdGVuMXNldmVuL3doYXQtaW5wdXRcbiAqIEBsaWNlbnNlIE1JVFxuICovXG4oZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7XG5cdGVsc2UgaWYodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKVxuXHRcdGRlZmluZShcIndoYXRJbnB1dFwiLCBbXSwgZmFjdG9yeSk7XG5cdGVsc2UgaWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKVxuXHRcdGV4cG9ydHNbXCJ3aGF0SW5wdXRcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wid2hhdElucHV0XCJdID0gZmFjdG9yeSgpO1xufSkodGhpcywgZnVuY3Rpb24oKSB7XG5yZXR1cm4gLyoqKioqKi8gKGZ1bmN0aW9uKG1vZHVsZXMpIHsgLy8gd2VicGFja0Jvb3RzdHJhcFxuLyoqKioqKi8gXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbi8qKioqKiovIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbi8qKioqKiovIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4vKioqKioqLyBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4vKioqKioqLyBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pXG4vKioqKioqLyBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcblxuLyoqKioqKi8gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4vKioqKioqLyBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuLyoqKioqKi8gXHRcdFx0ZXhwb3J0czoge30sXG4vKioqKioqLyBcdFx0XHRpZDogbW9kdWxlSWQsXG4vKioqKioqLyBcdFx0XHRsb2FkZWQ6IGZhbHNlXG4vKioqKioqLyBcdFx0fTtcblxuLyoqKioqKi8gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuLyoqKioqKi8gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4vKioqKioqLyBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuLyoqKioqKi8gXHRcdG1vZHVsZS5sb2FkZWQgPSB0cnVlO1xuXG4vKioqKioqLyBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbi8qKioqKiovIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4vKioqKioqLyBcdH1cblxuXG4vKioqKioqLyBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuLyoqKioqKi8gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuXG4vKioqKioqLyBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuLyoqKioqKi8gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qKioqKiovIH0pXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKi8gKFtcbi8qIDAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuXHQndXNlIHN0cmljdCc7XG5cblx0bW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoKSB7XG5cdCAgLypcblx0ICAgKiBiYWlsIG91dCBpZiB0aGVyZSBpcyBubyBkb2N1bWVudCBvciB3aW5kb3dcblx0ICAgKiAoaS5lLiBpbiBhIG5vZGUvbm9uLURPTSBlbnZpcm9ubWVudClcblx0ICAgKlxuXHQgICAqIFJldHVybiBhIHN0dWJiZWQgQVBJIGluc3RlYWRcblx0ICAgKi9cblx0ICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJyB8fCB0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuXHQgICAgcmV0dXJuIHtcblx0ICAgICAgLy8gYWx3YXlzIHJldHVybiBcImluaXRpYWxcIiBiZWNhdXNlIG5vIGludGVyYWN0aW9uIHdpbGwgZXZlciBiZSBkZXRlY3RlZFxuXHQgICAgICBhc2s6IGZ1bmN0aW9uIGFzaygpIHtcblx0ICAgICAgICByZXR1cm4gJ2luaXRpYWwnO1xuXHQgICAgICB9LFxuXG5cdCAgICAgIC8vIGFsd2F5cyByZXR1cm4gbnVsbFxuXHQgICAgICBlbGVtZW50OiBmdW5jdGlvbiBlbGVtZW50KCkge1xuXHQgICAgICAgIHJldHVybiBudWxsO1xuXHQgICAgICB9LFxuXG5cdCAgICAgIC8vIG5vLW9wXG5cdCAgICAgIGlnbm9yZUtleXM6IGZ1bmN0aW9uIGlnbm9yZUtleXMoKSB7fSxcblxuXHQgICAgICAvLyBuby1vcFxuXHQgICAgICBzcGVjaWZpY0tleXM6IGZ1bmN0aW9uIHNwZWNpZmljS2V5cygpIHt9LFxuXG5cdCAgICAgIC8vIG5vLW9wXG5cdCAgICAgIHJlZ2lzdGVyT25DaGFuZ2U6IGZ1bmN0aW9uIHJlZ2lzdGVyT25DaGFuZ2UoKSB7fSxcblxuXHQgICAgICAvLyBuby1vcFxuXHQgICAgICB1blJlZ2lzdGVyT25DaGFuZ2U6IGZ1bmN0aW9uIHVuUmVnaXN0ZXJPbkNoYW5nZSgpIHt9XG5cdCAgICB9O1xuXHQgIH1cblxuXHQgIC8qXG5cdCAgICogdmFyaWFibGVzXG5cdCAgICovXG5cblx0ICAvLyBjYWNoZSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRcblx0ICB2YXIgZG9jRWxlbSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcblxuXHQgIC8vIGN1cnJlbnRseSBmb2N1c2VkIGRvbSBlbGVtZW50XG5cdCAgdmFyIGN1cnJlbnRFbGVtZW50ID0gbnVsbDtcblxuXHQgIC8vIGxhc3QgdXNlZCBpbnB1dCB0eXBlXG5cdCAgdmFyIGN1cnJlbnRJbnB1dCA9ICdpbml0aWFsJztcblxuXHQgIC8vIGxhc3QgdXNlZCBpbnB1dCBpbnRlbnRcblx0ICB2YXIgY3VycmVudEludGVudCA9IGN1cnJlbnRJbnB1dDtcblxuXHQgIC8vIFVOSVggdGltZXN0YW1wIG9mIGN1cnJlbnQgZXZlbnRcblx0ICB2YXIgY3VycmVudFRpbWVzdGFtcCA9IERhdGUubm93KCk7XG5cblx0ICAvLyBjaGVjayBmb3IgYSBgZGF0YS13aGF0cGVyc2lzdGAgYXR0cmlidXRlIG9uIGVpdGhlciB0aGUgYGh0bWxgIG9yIGBib2R5YCBlbGVtZW50cywgZGVmYXVsdHMgdG8gYHRydWVgXG5cdCAgdmFyIHNob3VsZFBlcnNpc3QgPSBmYWxzZTtcblxuXHQgIC8vIGZvcm0gaW5wdXQgdHlwZXNcblx0ICB2YXIgZm9ybUlucHV0cyA9IFsnYnV0dG9uJywgJ2lucHV0JywgJ3NlbGVjdCcsICd0ZXh0YXJlYSddO1xuXG5cdCAgLy8gZW1wdHkgYXJyYXkgZm9yIGhvbGRpbmcgY2FsbGJhY2sgZnVuY3Rpb25zXG5cdCAgdmFyIGZ1bmN0aW9uTGlzdCA9IFtdO1xuXG5cdCAgLy8gbGlzdCBvZiBtb2RpZmllciBrZXlzIGNvbW1vbmx5IHVzZWQgd2l0aCB0aGUgbW91c2UgYW5kXG5cdCAgLy8gY2FuIGJlIHNhZmVseSBpZ25vcmVkIHRvIHByZXZlbnQgZmFsc2Uga2V5Ym9hcmQgZGV0ZWN0aW9uXG5cdCAgdmFyIGlnbm9yZU1hcCA9IFsxNiwgLy8gc2hpZnRcblx0ICAxNywgLy8gY29udHJvbFxuXHQgIDE4LCAvLyBhbHRcblx0ICA5MSwgLy8gV2luZG93cyBrZXkgLyBsZWZ0IEFwcGxlIGNtZFxuXHQgIDkzIC8vIFdpbmRvd3MgbWVudSAvIHJpZ2h0IEFwcGxlIGNtZFxuXHQgIF07XG5cblx0ICB2YXIgc3BlY2lmaWNNYXAgPSBbXTtcblxuXHQgIC8vIG1hcHBpbmcgb2YgZXZlbnRzIHRvIGlucHV0IHR5cGVzXG5cdCAgdmFyIGlucHV0TWFwID0ge1xuXHQgICAga2V5ZG93bjogJ2tleWJvYXJkJyxcblx0ICAgIGtleXVwOiAna2V5Ym9hcmQnLFxuXHQgICAgbW91c2Vkb3duOiAnbW91c2UnLFxuXHQgICAgbW91c2Vtb3ZlOiAnbW91c2UnLFxuXHQgICAgTVNQb2ludGVyRG93bjogJ3BvaW50ZXInLFxuXHQgICAgTVNQb2ludGVyTW92ZTogJ3BvaW50ZXInLFxuXHQgICAgcG9pbnRlcmRvd246ICdwb2ludGVyJyxcblx0ICAgIHBvaW50ZXJtb3ZlOiAncG9pbnRlcicsXG5cdCAgICB0b3VjaHN0YXJ0OiAndG91Y2gnLFxuXHQgICAgdG91Y2hlbmQ6ICd0b3VjaCdcblxuXHQgICAgLy8gYm9vbGVhbjogdHJ1ZSBpZiB0aGUgcGFnZSBpcyBiZWluZyBzY3JvbGxlZFxuXHQgIH07dmFyIGlzU2Nyb2xsaW5nID0gZmFsc2U7XG5cblx0ICAvLyBzdG9yZSBjdXJyZW50IG1vdXNlIHBvc2l0aW9uXG5cdCAgdmFyIG1vdXNlUG9zID0ge1xuXHQgICAgeDogbnVsbCxcblx0ICAgIHk6IG51bGxcblxuXHQgICAgLy8gbWFwIG9mIElFIDEwIHBvaW50ZXIgZXZlbnRzXG5cdCAgfTt2YXIgcG9pbnRlck1hcCA9IHtcblx0ICAgIDI6ICd0b3VjaCcsXG5cdCAgICAzOiAndG91Y2gnLCAvLyB0cmVhdCBwZW4gbGlrZSB0b3VjaFxuXHQgICAgNDogJ21vdXNlJ1xuXG5cdCAgICAvLyBjaGVjayBzdXBwb3J0IGZvciBwYXNzaXZlIGV2ZW50IGxpc3RlbmVyc1xuXHQgIH07dmFyIHN1cHBvcnRzUGFzc2l2ZSA9IGZhbHNlO1xuXG5cdCAgdHJ5IHtcblx0ICAgIHZhciBvcHRzID0gT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAncGFzc2l2ZScsIHtcblx0ICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG5cdCAgICAgICAgc3VwcG9ydHNQYXNzaXZlID0gdHJ1ZTtcblx0ICAgICAgfVxuXHQgICAgfSk7XG5cblx0ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd0ZXN0JywgbnVsbCwgb3B0cyk7XG5cdCAgfSBjYXRjaCAoZSkge31cblx0ICAvLyBmYWlsIHNpbGVudGx5XG5cblxuXHQgIC8qXG5cdCAgICogc2V0IHVwXG5cdCAgICovXG5cblx0ICB2YXIgc2V0VXAgPSBmdW5jdGlvbiBzZXRVcCgpIHtcblx0ICAgIC8vIGFkZCBjb3JyZWN0IG1vdXNlIHdoZWVsIGV2ZW50IG1hcHBpbmcgdG8gYGlucHV0TWFwYFxuXHQgICAgaW5wdXRNYXBbZGV0ZWN0V2hlZWwoKV0gPSAnbW91c2UnO1xuXG5cdCAgICBhZGRMaXN0ZW5lcnMoKTtcblx0ICB9O1xuXG5cdCAgLypcblx0ICAgKiBldmVudHNcblx0ICAgKi9cblxuXHQgIHZhciBhZGRMaXN0ZW5lcnMgPSBmdW5jdGlvbiBhZGRMaXN0ZW5lcnMoKSB7XG5cdCAgICAvLyBgcG9pbnRlcm1vdmVgLCBgTVNQb2ludGVyTW92ZWAsIGBtb3VzZW1vdmVgIGFuZCBtb3VzZSB3aGVlbCBldmVudCBiaW5kaW5nXG5cdCAgICAvLyBjYW4gb25seSBkZW1vbnN0cmF0ZSBwb3RlbnRpYWwsIGJ1dCBub3QgYWN0dWFsLCBpbnRlcmFjdGlvblxuXHQgICAgLy8gYW5kIGFyZSB0cmVhdGVkIHNlcGFyYXRlbHlcblx0ICAgIHZhciBvcHRpb25zID0gc3VwcG9ydHNQYXNzaXZlID8geyBwYXNzaXZlOiB0cnVlLCBjYXB0dXJlOiB0cnVlIH0gOiB0cnVlO1xuXG5cdCAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgc2V0UGVyc2lzdCwgdHJ1ZSk7XG5cblx0ICAgIC8vIHBvaW50ZXIgZXZlbnRzIChtb3VzZSwgcGVuLCB0b3VjaClcblx0ICAgIGlmICh3aW5kb3cuUG9pbnRlckV2ZW50KSB7XG5cdCAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyZG93bicsIHNldElucHV0LCB0cnVlKTtcblx0ICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJtb3ZlJywgc2V0SW50ZW50LCB0cnVlKTtcblx0ICAgIH0gZWxzZSBpZiAod2luZG93Lk1TUG9pbnRlckV2ZW50KSB7XG5cdCAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdNU1BvaW50ZXJEb3duJywgc2V0SW5wdXQsIHRydWUpO1xuXHQgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignTVNQb2ludGVyTW92ZScsIHNldEludGVudCwgdHJ1ZSk7XG5cdCAgICB9IGVsc2Uge1xuXHQgICAgICAvLyBtb3VzZSBldmVudHNcblx0ICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHNldElucHV0LCB0cnVlKTtcblx0ICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHNldEludGVudCwgdHJ1ZSk7XG5cblx0ICAgICAgLy8gdG91Y2ggZXZlbnRzXG5cdCAgICAgIGlmICgnb250b3VjaHN0YXJ0JyBpbiB3aW5kb3cpIHtcblx0ICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIHNldElucHV0LCBvcHRpb25zKTtcblx0ICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hlbmQnLCBzZXRJbnB1dCwgdHJ1ZSk7XG5cdCAgICAgIH1cblx0ICAgIH1cblxuXHQgICAgLy8gbW91c2Ugd2hlZWxcblx0ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKGRldGVjdFdoZWVsKCksIHNldEludGVudCwgb3B0aW9ucyk7XG5cblx0ICAgIC8vIGtleWJvYXJkIGV2ZW50c1xuXHQgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBzZXRJbnB1dCwgdHJ1ZSk7XG5cdCAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCBzZXRJbnB1dCwgdHJ1ZSk7XG5cblx0ICAgIC8vIGZvY3VzIGV2ZW50c1xuXHQgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCBzZXRFbGVtZW50LCB0cnVlKTtcblx0ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIGNsZWFyRWxlbWVudCwgdHJ1ZSk7XG5cdCAgfTtcblxuXHQgIC8vIGNoZWNrcyBpZiBpbnB1dCBwZXJzaXN0ZW5jZSBzaG91bGQgaGFwcGVuIGFuZFxuXHQgIC8vIGdldCBzYXZlZCBzdGF0ZSBmcm9tIHNlc3Npb24gc3RvcmFnZSBpZiB0cnVlIChkZWZhdWx0cyB0byBgZmFsc2VgKVxuXHQgIHZhciBzZXRQZXJzaXN0ID0gZnVuY3Rpb24gc2V0UGVyc2lzdCgpIHtcblx0ICAgIHNob3VsZFBlcnNpc3QgPSAhKGRvY0VsZW0uZ2V0QXR0cmlidXRlKCdkYXRhLXdoYXRwZXJzaXN0JykgPT09ICdmYWxzZScgfHwgZG9jdW1lbnQuYm9keS5nZXRBdHRyaWJ1dGUoJ2RhdGEtd2hhdHBlcnNpc3QnKSA9PT0gJ2ZhbHNlJyk7XG5cblx0ICAgIGlmIChzaG91bGRQZXJzaXN0KSB7XG5cdCAgICAgIC8vIGNoZWNrIGZvciBzZXNzaW9uIHZhcmlhYmxlcyBhbmQgdXNlIGlmIGF2YWlsYWJsZVxuXHQgICAgICB0cnkge1xuXHQgICAgICAgIGlmICh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnd2hhdC1pbnB1dCcpKSB7XG5cdCAgICAgICAgICBjdXJyZW50SW5wdXQgPSB3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnd2hhdC1pbnB1dCcpO1xuXHQgICAgICAgIH1cblxuXHQgICAgICAgIGlmICh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnd2hhdC1pbnRlbnQnKSkge1xuXHQgICAgICAgICAgY3VycmVudEludGVudCA9IHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd3aGF0LWludGVudCcpO1xuXHQgICAgICAgIH1cblx0ICAgICAgfSBjYXRjaCAoZSkge1xuXHQgICAgICAgIC8vIGZhaWwgc2lsZW50bHlcblx0ICAgICAgfVxuXHQgICAgfVxuXG5cdCAgICAvLyBhbHdheXMgcnVuIHRoZXNlIHNvIGF0IGxlYXN0IGBpbml0aWFsYCBzdGF0ZSBpcyBzZXRcblx0ICAgIGRvVXBkYXRlKCdpbnB1dCcpO1xuXHQgICAgZG9VcGRhdGUoJ2ludGVudCcpO1xuXHQgIH07XG5cblx0ICAvLyBjaGVja3MgY29uZGl0aW9ucyBiZWZvcmUgdXBkYXRpbmcgbmV3IGlucHV0XG5cdCAgdmFyIHNldElucHV0ID0gZnVuY3Rpb24gc2V0SW5wdXQoZXZlbnQpIHtcblx0ICAgIHZhciBldmVudEtleSA9IGV2ZW50LndoaWNoO1xuXHQgICAgdmFyIHZhbHVlID0gaW5wdXRNYXBbZXZlbnQudHlwZV07XG5cblx0ICAgIGlmICh2YWx1ZSA9PT0gJ3BvaW50ZXInKSB7XG5cdCAgICAgIHZhbHVlID0gcG9pbnRlclR5cGUoZXZlbnQpO1xuXHQgICAgfVxuXG5cdCAgICB2YXIgaWdub3JlTWF0Y2ggPSAhc3BlY2lmaWNNYXAubGVuZ3RoICYmIGlnbm9yZU1hcC5pbmRleE9mKGV2ZW50S2V5KSA9PT0gLTE7XG5cblx0ICAgIHZhciBzcGVjaWZpY01hdGNoID0gc3BlY2lmaWNNYXAubGVuZ3RoICYmIHNwZWNpZmljTWFwLmluZGV4T2YoZXZlbnRLZXkpICE9PSAtMTtcblxuXHQgICAgdmFyIHNob3VsZFVwZGF0ZSA9IHZhbHVlID09PSAna2V5Ym9hcmQnICYmIGV2ZW50S2V5ICYmIChpZ25vcmVNYXRjaCB8fCBzcGVjaWZpY01hdGNoKSB8fCB2YWx1ZSA9PT0gJ21vdXNlJyB8fCB2YWx1ZSA9PT0gJ3RvdWNoJztcblxuXHQgICAgLy8gcHJldmVudCB0b3VjaCBkZXRlY3Rpb24gZnJvbSBiZWluZyBvdmVycmlkZGVuIGJ5IGV2ZW50IGV4ZWN1dGlvbiBvcmRlclxuXHQgICAgaWYgKHZhbGlkYXRlVG91Y2godmFsdWUpKSB7XG5cdCAgICAgIHNob3VsZFVwZGF0ZSA9IGZhbHNlO1xuXHQgICAgfVxuXG5cdCAgICBpZiAoc2hvdWxkVXBkYXRlICYmIGN1cnJlbnRJbnB1dCAhPT0gdmFsdWUpIHtcblx0ICAgICAgY3VycmVudElucHV0ID0gdmFsdWU7XG5cblx0ICAgICAgcGVyc2lzdElucHV0KCdpbnB1dCcsIGN1cnJlbnRJbnB1dCk7XG5cdCAgICAgIGRvVXBkYXRlKCdpbnB1dCcpO1xuXHQgICAgfVxuXG5cdCAgICBpZiAoc2hvdWxkVXBkYXRlICYmIGN1cnJlbnRJbnRlbnQgIT09IHZhbHVlKSB7XG5cdCAgICAgIC8vIHByZXNlcnZlIGludGVudCBmb3Iga2V5Ym9hcmQgaW50ZXJhY3Rpb24gd2l0aCBmb3JtIGZpZWxkc1xuXHQgICAgICB2YXIgYWN0aXZlRWxlbSA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG5cdCAgICAgIHZhciBub3RGb3JtSW5wdXQgPSBhY3RpdmVFbGVtICYmIGFjdGl2ZUVsZW0ubm9kZU5hbWUgJiYgKGZvcm1JbnB1dHMuaW5kZXhPZihhY3RpdmVFbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpID09PSAtMSB8fCBhY3RpdmVFbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdidXR0b24nICYmICFjaGVja0Nsb3Nlc3QoYWN0aXZlRWxlbSwgJ2Zvcm0nKSk7XG5cblx0ICAgICAgaWYgKG5vdEZvcm1JbnB1dCkge1xuXHQgICAgICAgIGN1cnJlbnRJbnRlbnQgPSB2YWx1ZTtcblxuXHQgICAgICAgIHBlcnNpc3RJbnB1dCgnaW50ZW50JywgY3VycmVudEludGVudCk7XG5cdCAgICAgICAgZG9VcGRhdGUoJ2ludGVudCcpO1xuXHQgICAgICB9XG5cdCAgICB9XG5cdCAgfTtcblxuXHQgIC8vIHVwZGF0ZXMgdGhlIGRvYyBhbmQgYGlucHV0VHlwZXNgIGFycmF5IHdpdGggbmV3IGlucHV0XG5cdCAgdmFyIGRvVXBkYXRlID0gZnVuY3Rpb24gZG9VcGRhdGUod2hpY2gpIHtcblx0ICAgIGRvY0VsZW0uc2V0QXR0cmlidXRlKCdkYXRhLXdoYXQnICsgd2hpY2gsIHdoaWNoID09PSAnaW5wdXQnID8gY3VycmVudElucHV0IDogY3VycmVudEludGVudCk7XG5cblx0ICAgIGZpcmVGdW5jdGlvbnMod2hpY2gpO1xuXHQgIH07XG5cblx0ICAvLyB1cGRhdGVzIGlucHV0IGludGVudCBmb3IgYG1vdXNlbW92ZWAgYW5kIGBwb2ludGVybW92ZWBcblx0ICB2YXIgc2V0SW50ZW50ID0gZnVuY3Rpb24gc2V0SW50ZW50KGV2ZW50KSB7XG5cdCAgICB2YXIgdmFsdWUgPSBpbnB1dE1hcFtldmVudC50eXBlXTtcblxuXHQgICAgaWYgKHZhbHVlID09PSAncG9pbnRlcicpIHtcblx0ICAgICAgdmFsdWUgPSBwb2ludGVyVHlwZShldmVudCk7XG5cdCAgICB9XG5cblx0ICAgIC8vIHRlc3QgdG8gc2VlIGlmIGBtb3VzZW1vdmVgIGhhcHBlbmVkIHJlbGF0aXZlIHRvIHRoZSBzY3JlZW4gdG8gZGV0ZWN0IHNjcm9sbGluZyB2ZXJzdXMgbW91c2Vtb3ZlXG5cdCAgICBkZXRlY3RTY3JvbGxpbmcoZXZlbnQpO1xuXG5cdCAgICAvLyBvbmx5IGV4ZWN1dGUgaWYgc2Nyb2xsaW5nIGlzbid0IGhhcHBlbmluZ1xuXHQgICAgaWYgKCghaXNTY3JvbGxpbmcgJiYgIXZhbGlkYXRlVG91Y2godmFsdWUpIHx8IGlzU2Nyb2xsaW5nICYmIGV2ZW50LnR5cGUgPT09ICd3aGVlbCcgfHwgZXZlbnQudHlwZSA9PT0gJ21vdXNld2hlZWwnIHx8IGV2ZW50LnR5cGUgPT09ICdET01Nb3VzZVNjcm9sbCcpICYmIGN1cnJlbnRJbnRlbnQgIT09IHZhbHVlKSB7XG5cdCAgICAgIGN1cnJlbnRJbnRlbnQgPSB2YWx1ZTtcblxuXHQgICAgICBwZXJzaXN0SW5wdXQoJ2ludGVudCcsIGN1cnJlbnRJbnRlbnQpO1xuXHQgICAgICBkb1VwZGF0ZSgnaW50ZW50Jyk7XG5cdCAgICB9XG5cdCAgfTtcblxuXHQgIHZhciBzZXRFbGVtZW50ID0gZnVuY3Rpb24gc2V0RWxlbWVudChldmVudCkge1xuXHQgICAgaWYgKCFldmVudC50YXJnZXQubm9kZU5hbWUpIHtcblx0ICAgICAgLy8gSWYgbm9kZU5hbWUgaXMgdW5kZWZpbmVkLCBjbGVhciB0aGUgZWxlbWVudFxuXHQgICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgY2xpY2sgaW5zaWRlIGFuIDxzdmc+IGVsZW1lbnQuXG5cdCAgICAgIGNsZWFyRWxlbWVudCgpO1xuXHQgICAgICByZXR1cm47XG5cdCAgICB9XG5cblx0ICAgIGN1cnJlbnRFbGVtZW50ID0gZXZlbnQudGFyZ2V0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG5cdCAgICBkb2NFbGVtLnNldEF0dHJpYnV0ZSgnZGF0YS13aGF0ZWxlbWVudCcsIGN1cnJlbnRFbGVtZW50KTtcblxuXHQgICAgaWYgKGV2ZW50LnRhcmdldC5jbGFzc0xpc3QgJiYgZXZlbnQudGFyZ2V0LmNsYXNzTGlzdC5sZW5ndGgpIHtcblx0ICAgICAgZG9jRWxlbS5zZXRBdHRyaWJ1dGUoJ2RhdGEtd2hhdGNsYXNzZXMnLCBldmVudC50YXJnZXQuY2xhc3NMaXN0LnRvU3RyaW5nKCkucmVwbGFjZSgnICcsICcsJykpO1xuXHQgICAgfVxuXHQgIH07XG5cblx0ICB2YXIgY2xlYXJFbGVtZW50ID0gZnVuY3Rpb24gY2xlYXJFbGVtZW50KCkge1xuXHQgICAgY3VycmVudEVsZW1lbnQgPSBudWxsO1xuXG5cdCAgICBkb2NFbGVtLnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS13aGF0ZWxlbWVudCcpO1xuXHQgICAgZG9jRWxlbS5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtd2hhdGNsYXNzZXMnKTtcblx0ICB9O1xuXG5cdCAgdmFyIHBlcnNpc3RJbnB1dCA9IGZ1bmN0aW9uIHBlcnNpc3RJbnB1dCh3aGljaCwgdmFsdWUpIHtcblx0ICAgIGlmIChzaG91bGRQZXJzaXN0KSB7XG5cdCAgICAgIHRyeSB7XG5cdCAgICAgICAgd2luZG93LnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3doYXQtJyArIHdoaWNoLCB2YWx1ZSk7XG5cdCAgICAgIH0gY2F0Y2ggKGUpIHtcblx0ICAgICAgICAvLyBmYWlsIHNpbGVudGx5XG5cdCAgICAgIH1cblx0ICAgIH1cblx0ICB9O1xuXG5cdCAgLypcblx0ICAgKiB1dGlsaXRpZXNcblx0ICAgKi9cblxuXHQgIHZhciBwb2ludGVyVHlwZSA9IGZ1bmN0aW9uIHBvaW50ZXJUeXBlKGV2ZW50KSB7XG5cdCAgICBpZiAodHlwZW9mIGV2ZW50LnBvaW50ZXJUeXBlID09PSAnbnVtYmVyJykge1xuXHQgICAgICByZXR1cm4gcG9pbnRlck1hcFtldmVudC5wb2ludGVyVHlwZV07XG5cdCAgICB9IGVsc2Uge1xuXHQgICAgICAvLyB0cmVhdCBwZW4gbGlrZSB0b3VjaFxuXHQgICAgICByZXR1cm4gZXZlbnQucG9pbnRlclR5cGUgPT09ICdwZW4nID8gJ3RvdWNoJyA6IGV2ZW50LnBvaW50ZXJUeXBlO1xuXHQgICAgfVxuXHQgIH07XG5cblx0ICAvLyBwcmV2ZW50IHRvdWNoIGRldGVjdGlvbiBmcm9tIGJlaW5nIG92ZXJyaWRkZW4gYnkgZXZlbnQgZXhlY3V0aW9uIG9yZGVyXG5cdCAgdmFyIHZhbGlkYXRlVG91Y2ggPSBmdW5jdGlvbiB2YWxpZGF0ZVRvdWNoKHZhbHVlKSB7XG5cdCAgICB2YXIgdGltZXN0YW1wID0gRGF0ZS5ub3coKTtcblxuXHQgICAgdmFyIHRvdWNoSXNWYWxpZCA9IHZhbHVlID09PSAnbW91c2UnICYmIGN1cnJlbnRJbnB1dCA9PT0gJ3RvdWNoJyAmJiB0aW1lc3RhbXAgLSBjdXJyZW50VGltZXN0YW1wIDwgMjAwO1xuXG5cdCAgICBjdXJyZW50VGltZXN0YW1wID0gdGltZXN0YW1wO1xuXG5cdCAgICByZXR1cm4gdG91Y2hJc1ZhbGlkO1xuXHQgIH07XG5cblx0ICAvLyBkZXRlY3QgdmVyc2lvbiBvZiBtb3VzZSB3aGVlbCBldmVudCB0byB1c2Vcblx0ICAvLyB2aWEgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0VsZW1lbnQvd2hlZWxfZXZlbnRcblx0ICB2YXIgZGV0ZWN0V2hlZWwgPSBmdW5jdGlvbiBkZXRlY3RXaGVlbCgpIHtcblx0ICAgIHZhciB3aGVlbFR5cGUgPSBudWxsO1xuXG5cdCAgICAvLyBNb2Rlcm4gYnJvd3NlcnMgc3VwcG9ydCBcIndoZWVsXCJcblx0ICAgIGlmICgnb253aGVlbCcgaW4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JykpIHtcblx0ICAgICAgd2hlZWxUeXBlID0gJ3doZWVsJztcblx0ICAgIH0gZWxzZSB7XG5cdCAgICAgIC8vIFdlYmtpdCBhbmQgSUUgc3VwcG9ydCBhdCBsZWFzdCBcIm1vdXNld2hlZWxcIlxuXHQgICAgICAvLyBvciBhc3N1bWUgdGhhdCByZW1haW5pbmcgYnJvd3NlcnMgYXJlIG9sZGVyIEZpcmVmb3hcblx0ICAgICAgd2hlZWxUeXBlID0gZG9jdW1lbnQub25tb3VzZXdoZWVsICE9PSB1bmRlZmluZWQgPyAnbW91c2V3aGVlbCcgOiAnRE9NTW91c2VTY3JvbGwnO1xuXHQgICAgfVxuXG5cdCAgICByZXR1cm4gd2hlZWxUeXBlO1xuXHQgIH07XG5cblx0ICAvLyBydW5zIGNhbGxiYWNrIGZ1bmN0aW9uc1xuXHQgIHZhciBmaXJlRnVuY3Rpb25zID0gZnVuY3Rpb24gZmlyZUZ1bmN0aW9ucyh0eXBlKSB7XG5cdCAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gZnVuY3Rpb25MaXN0Lmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG5cdCAgICAgIGlmIChmdW5jdGlvbkxpc3RbaV0udHlwZSA9PT0gdHlwZSkge1xuXHQgICAgICAgIGZ1bmN0aW9uTGlzdFtpXS5mbi5jYWxsKHVuZGVmaW5lZCwgdHlwZSA9PT0gJ2lucHV0JyA/IGN1cnJlbnRJbnB1dCA6IGN1cnJlbnRJbnRlbnQpO1xuXHQgICAgICB9XG5cdCAgICB9XG5cdCAgfTtcblxuXHQgIC8vIGZpbmRzIG1hdGNoaW5nIGVsZW1lbnQgaW4gYW4gb2JqZWN0XG5cdCAgdmFyIG9ialBvcyA9IGZ1bmN0aW9uIG9ialBvcyhtYXRjaCkge1xuXHQgICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGZ1bmN0aW9uTGlzdC5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuXHQgICAgICBpZiAoZnVuY3Rpb25MaXN0W2ldLmZuID09PSBtYXRjaCkge1xuXHQgICAgICAgIHJldHVybiBpO1xuXHQgICAgICB9XG5cdCAgICB9XG5cdCAgfTtcblxuXHQgIHZhciBkZXRlY3RTY3JvbGxpbmcgPSBmdW5jdGlvbiBkZXRlY3RTY3JvbGxpbmcoZXZlbnQpIHtcblx0ICAgIGlmIChtb3VzZVBvcy54ICE9PSBldmVudC5zY3JlZW5YIHx8IG1vdXNlUG9zLnkgIT09IGV2ZW50LnNjcmVlblkpIHtcblx0ICAgICAgaXNTY3JvbGxpbmcgPSBmYWxzZTtcblxuXHQgICAgICBtb3VzZVBvcy54ID0gZXZlbnQuc2NyZWVuWDtcblx0ICAgICAgbW91c2VQb3MueSA9IGV2ZW50LnNjcmVlblk7XG5cdCAgICB9IGVsc2Uge1xuXHQgICAgICBpc1Njcm9sbGluZyA9IHRydWU7XG5cdCAgICB9XG5cdCAgfTtcblxuXHQgIC8vIG1hbnVhbCB2ZXJzaW9uIG9mIGBjbG9zZXN0KClgXG5cdCAgdmFyIGNoZWNrQ2xvc2VzdCA9IGZ1bmN0aW9uIGNoZWNrQ2xvc2VzdChlbGVtLCB0YWcpIHtcblx0ICAgIHZhciBFbGVtZW50UHJvdG90eXBlID0gd2luZG93LkVsZW1lbnQucHJvdG90eXBlO1xuXG5cdCAgICBpZiAoIUVsZW1lbnRQcm90b3R5cGUubWF0Y2hlcykge1xuXHQgICAgICBFbGVtZW50UHJvdG90eXBlLm1hdGNoZXMgPSBFbGVtZW50UHJvdG90eXBlLm1zTWF0Y2hlc1NlbGVjdG9yIHx8IEVsZW1lbnRQcm90b3R5cGUud2Via2l0TWF0Y2hlc1NlbGVjdG9yO1xuXHQgICAgfVxuXG5cdCAgICBpZiAoIUVsZW1lbnRQcm90b3R5cGUuY2xvc2VzdCkge1xuXHQgICAgICBkbyB7XG5cdCAgICAgICAgaWYgKGVsZW0ubWF0Y2hlcyh0YWcpKSB7XG5cdCAgICAgICAgICByZXR1cm4gZWxlbTtcblx0ICAgICAgICB9XG5cblx0ICAgICAgICBlbGVtID0gZWxlbS5wYXJlbnRFbGVtZW50IHx8IGVsZW0ucGFyZW50Tm9kZTtcblx0ICAgICAgfSB3aGlsZSAoZWxlbSAhPT0gbnVsbCAmJiBlbGVtLm5vZGVUeXBlID09PSAxKTtcblxuXHQgICAgICByZXR1cm4gbnVsbDtcblx0ICAgIH0gZWxzZSB7XG5cdCAgICAgIHJldHVybiBlbGVtLmNsb3Nlc3QodGFnKTtcblx0ICAgIH1cblx0ICB9O1xuXG5cdCAgLypcblx0ICAgKiBpbml0XG5cdCAgICovXG5cblx0ICAvLyBkb24ndCBzdGFydCBzY3JpcHQgdW5sZXNzIGJyb3dzZXIgY3V0cyB0aGUgbXVzdGFyZFxuXHQgIC8vIChhbHNvIHBhc3NlcyBpZiBwb2x5ZmlsbHMgYXJlIHVzZWQpXG5cdCAgaWYgKCdhZGRFdmVudExpc3RlbmVyJyBpbiB3aW5kb3cgJiYgQXJyYXkucHJvdG90eXBlLmluZGV4T2YpIHtcblx0ICAgIHNldFVwKCk7XG5cdCAgfVxuXG5cdCAgLypcblx0ICAgKiBhcGlcblx0ICAgKi9cblxuXHQgIHJldHVybiB7XG5cdCAgICAvLyByZXR1cm5zIHN0cmluZzogdGhlIGN1cnJlbnQgaW5wdXQgdHlwZVxuXHQgICAgLy8gb3B0OiAnaW50ZW50J3wnaW5wdXQnXG5cdCAgICAvLyAnaW5wdXQnIChkZWZhdWx0KTogcmV0dXJucyB0aGUgc2FtZSB2YWx1ZSBhcyB0aGUgYGRhdGEtd2hhdGlucHV0YCBhdHRyaWJ1dGVcblx0ICAgIC8vICdpbnRlbnQnOiBpbmNsdWRlcyBgZGF0YS13aGF0aW50ZW50YCB2YWx1ZSBpZiBpdCdzIGRpZmZlcmVudCB0aGFuIGBkYXRhLXdoYXRpbnB1dGBcblx0ICAgIGFzazogZnVuY3Rpb24gYXNrKG9wdCkge1xuXHQgICAgICByZXR1cm4gb3B0ID09PSAnaW50ZW50JyA/IGN1cnJlbnRJbnRlbnQgOiBjdXJyZW50SW5wdXQ7XG5cdCAgICB9LFxuXG5cdCAgICAvLyByZXR1cm5zIHN0cmluZzogdGhlIGN1cnJlbnRseSBmb2N1c2VkIGVsZW1lbnQgb3IgbnVsbFxuXHQgICAgZWxlbWVudDogZnVuY3Rpb24gZWxlbWVudCgpIHtcblx0ICAgICAgcmV0dXJuIGN1cnJlbnRFbGVtZW50O1xuXHQgICAgfSxcblxuXHQgICAgLy8gb3ZlcndyaXRlcyBpZ25vcmVkIGtleXMgd2l0aCBwcm92aWRlZCBhcnJheVxuXHQgICAgaWdub3JlS2V5czogZnVuY3Rpb24gaWdub3JlS2V5cyhhcnIpIHtcblx0ICAgICAgaWdub3JlTWFwID0gYXJyO1xuXHQgICAgfSxcblxuXHQgICAgLy8gb3ZlcndyaXRlcyBzcGVjaWZpYyBjaGFyIGtleXMgdG8gdXBkYXRlIG9uXG5cdCAgICBzcGVjaWZpY0tleXM6IGZ1bmN0aW9uIHNwZWNpZmljS2V5cyhhcnIpIHtcblx0ICAgICAgc3BlY2lmaWNNYXAgPSBhcnI7XG5cdCAgICB9LFxuXG5cdCAgICAvLyBhdHRhY2ggZnVuY3Rpb25zIHRvIGlucHV0IGFuZCBpbnRlbnQgXCJldmVudHNcIlxuXHQgICAgLy8gZnVuY3Q6IGZ1bmN0aW9uIHRvIGZpcmUgb24gY2hhbmdlXG5cdCAgICAvLyBldmVudFR5cGU6ICdpbnB1dCd8J2ludGVudCdcblx0ICAgIHJlZ2lzdGVyT25DaGFuZ2U6IGZ1bmN0aW9uIHJlZ2lzdGVyT25DaGFuZ2UoZm4sIGV2ZW50VHlwZSkge1xuXHQgICAgICBmdW5jdGlvbkxpc3QucHVzaCh7XG5cdCAgICAgICAgZm46IGZuLFxuXHQgICAgICAgIHR5cGU6IGV2ZW50VHlwZSB8fCAnaW5wdXQnXG5cdCAgICAgIH0pO1xuXHQgICAgfSxcblxuXHQgICAgdW5SZWdpc3Rlck9uQ2hhbmdlOiBmdW5jdGlvbiB1blJlZ2lzdGVyT25DaGFuZ2UoZm4pIHtcblx0ICAgICAgdmFyIHBvc2l0aW9uID0gb2JqUG9zKGZuKTtcblxuXHQgICAgICBpZiAocG9zaXRpb24gfHwgcG9zaXRpb24gPT09IDApIHtcblx0ICAgICAgICBmdW5jdGlvbkxpc3Quc3BsaWNlKHBvc2l0aW9uLCAxKTtcblx0ICAgICAgfVxuXHQgICAgfSxcblxuXHQgICAgY2xlYXJTdG9yYWdlOiBmdW5jdGlvbiBjbGVhclN0b3JhZ2UoKSB7XG5cdCAgICAgIHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5jbGVhcigpO1xuXHQgICAgfVxuXHQgIH07XG5cdH0oKTtcblxuLyoqKi8gfSlcbi8qKioqKiovIF0pXG59KTtcbjsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///88\n\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__={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) // removed by dead control flow\n{}\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) // removed by dead control flow\n{} ////////////////////////////////////////////////////////////////////////////////\n\n/* harmony default export */ const reach_portal_esm = (Portal);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNzQxLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQThDOztBQUU5QztBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrQkFBa0IsMEJBQVE7QUFDMUI7O0FBRUEsU0FBUyw2QkFBVztBQUNwQjtBQUNBLEdBQUc7QUFDSDs7QUFFMEI7OztBQ2YrQjtBQUM2QjtBQUN2QjtBQUN0QjtBQUNOOztBQUVuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0Isd0JBQU07QUFDeEIsbUJBQW1CLHdCQUFNO0FBQ3pCLG9CQUFvQixjQUFjOztBQUVsQyxNQUFNLEtBQXFDLEVBQUU7QUFBQSxFQVExQzs7QUFFSCxFQUFFLGlGQUF5QjtBQUMzQjtBQUNBLG9DQUFvQztBQUNwQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCwyQ0FBMkMsOEJBQVksOENBQThDLCtCQUFhO0FBQ2xIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQSxJQUFJLEtBQXFDLEVBQUU7QUFBQSxFQUUxQyxDQUFDOztBQUVGLHVEQUFlLE1BQU0sRUFBQztBQUNKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9ub2RlX21vZHVsZXMvQHJlYWNoL3V0aWxzL3VzZS1mb3JjZS11cGRhdGUvZGlzdC9yZWFjaC11dGlscy11c2UtZm9yY2UtdXBkYXRlLmVzbS5qcz82OTFiIiwid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL0ByZWFjaC9wb3J0YWwvZGlzdC9yZWFjaC1wb3J0YWwuZXNtLmpzP2RkYzgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuXG4vKipcbiAqIEZvcmNlcyBhIHJlLXJlbmRlciwgc2ltaWxhciB0byBgZm9yY2VVcGRhdGVgIGluIGNsYXNzIGNvbXBvbmVudHMuXG4gKi9cblxuZnVuY3Rpb24gdXNlRm9yY2VVcGRhdGUoKSB7XG4gIHZhciBfdXNlU3RhdGUgPSB1c2VTdGF0ZShPYmplY3QuY3JlYXRlKG51bGwpKSxcbiAgICAgIGRpc3BhdGNoID0gX3VzZVN0YXRlWzFdO1xuXG4gIHJldHVybiB1c2VDYWxsYmFjayhmdW5jdGlvbiAoKSB7XG4gICAgZGlzcGF0Y2goT2JqZWN0LmNyZWF0ZShudWxsKSk7XG4gIH0sIFtdKTtcbn1cblxuZXhwb3J0IHsgdXNlRm9yY2VVcGRhdGUgfTtcbiIsImltcG9ydCB7IHVzZVJlZiwgdXNlRWZmZWN0LCBjcmVhdGVFbGVtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCB9IGZyb20gJ0ByZWFjaC91dGlscy91c2UtaXNvbW9ycGhpYy1sYXlvdXQtZWZmZWN0JztcbmltcG9ydCB7IHVzZUZvcmNlVXBkYXRlIH0gZnJvbSAnQHJlYWNoL3V0aWxzL3VzZS1mb3JjZS11cGRhdGUnO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB3YXJuaW5nIGZyb20gJ3Rpbnktd2FybmluZyc7XG5cbi8qKlxuICogV2VsY29tZSB0byBAcmVhY2gvcG9ydGFsIVxuICpcbiAqIENyZWF0ZXMgYW5kIGFwcGVuZHMgYSBET00gbm9kZSB0byB0aGUgZW5kIG9mIGBkb2N1bWVudC5ib2R5YCBhbmQgcmVuZGVycyBhXG4gKiBSZWFjdCB0cmVlIGludG8gaXQuIFVzZWZ1bCBmb3IgcmVuZGVyaW5nIGEgbmF0dXJhbCBSZWFjdCBlbGVtZW50IGhpZXJhcmNoeVxuICogd2l0aCBhIGRpZmZlcmVudCBET00gaGllcmFyY2h5IHRvIHByZXZlbnQgcGFyZW50IHN0eWxlcyBmcm9tIGNsaXBwaW5nIG9yXG4gKiBoaWRpbmcgY29udGVudCAoZm9yIHBvcG92ZXJzLCBkcm9wZG93bnMsIGFuZCBtb2RhbHMpLlxuICpcbiAqIEBzZWUgRG9jcyAgIGh0dHBzOi8vcmVhY2gudGVjaC9wb3J0YWxcbiAqIEBzZWUgU291cmNlIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjaC9yZWFjaC11aS90cmVlL21haW4vcGFja2FnZXMvcG9ydGFsXG4gKiBAc2VlIFJlYWN0ICBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcG9ydGFscy5odG1sXG4gKi9cbi8qKlxuICogUG9ydGFsXG4gKlxuICogQHNlZSBEb2NzIGh0dHBzOi8vcmVhY2gudGVjaC9wb3J0YWwjcG9ydGFsXG4gKi9cblxudmFyIFBvcnRhbCA9IGZ1bmN0aW9uIFBvcnRhbChfcmVmKSB7XG4gIHZhciBjaGlsZHJlbiA9IF9yZWYuY2hpbGRyZW4sXG4gICAgICBfcmVmJHR5cGUgPSBfcmVmLnR5cGUsXG4gICAgICB0eXBlID0gX3JlZiR0eXBlID09PSB2b2lkIDAgPyBcInJlYWNoLXBvcnRhbFwiIDogX3JlZiR0eXBlLFxuICAgICAgY29udGFpbmVyUmVmID0gX3JlZi5jb250YWluZXJSZWY7XG4gIHZhciBtb3VudE5vZGUgPSB1c2VSZWYobnVsbCk7XG4gIHZhciBwb3J0YWxOb2RlID0gdXNlUmVmKG51bGwpO1xuICB2YXIgZm9yY2VVcGRhdGUgPSB1c2VGb3JjZVVwZGF0ZSgpO1xuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3NcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKGNvbnRhaW5lclJlZiAhPSBudWxsKSB7XG4gICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IHdhcm5pbmcodHlwZW9mIGNvbnRhaW5lclJlZiA9PT0gXCJvYmplY3RcIiAmJiBcImN1cnJlbnRcIiBpbiBjb250YWluZXJSZWYsIFwiQHJlYWNoL3BvcnRhbDogSW52YWxpZCB2YWx1ZSBwYXNzZWQgdG8gdGhlIGBjb250YWluZXJSZWZgIG9mIGEgXCIgKyBcImBQb3J0YWxgLiBUaGUgcG9ydGFsIHdpbGwgYmUgYXBwZW5kZWQgdG8gdGhlIGRvY3VtZW50IGJvZHksIGJ1dCBpZiBcIiArIFwieW91IHdhbnQgdG8gYXR0YWNoIGl0IHRvIGFub3RoZXIgRE9NIG5vZGUgeW91IG11c3QgcGFzcyBhIHZhbGlkIFwiICsgXCJSZWFjdCByZWYgb2JqZWN0IHRvIGBjb250YWluZXJSZWZgLlwiKSA6IHZvaWQgMDtcbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gd2FybmluZyhjb250YWluZXJSZWYgPyBjb250YWluZXJSZWYuY3VycmVudCAhPSBudWxsIDogdHJ1ZSwgXCJAcmVhY2gvcG9ydGFsOiBBIHJlZiB3YXMgcGFzc2VkIHRvIHRoZSBgY29udGFpbmVyUmVmYCBwcm9wIG9mIGEgXCIgKyBcImBQb3J0YWxgLCBidXQgbm8gRE9NIG5vZGUgd2FzIGF0dGFjaGVkIHRvIGl0LiBCZSBzdXJlIHRvIHBhc3MgdGhlIFwiICsgXCJyZWYgdG8gYSBET00gY29tcG9uZW50LlxcblxcbklmIHlvdSBhcmUgZm9yd2FyZGluZyB0aGUgcmVmIGZyb20gXCIgKyBcImFub3RoZXIgY29tcG9uZW50LCBiZSBzdXJlIHRvIHVzZSB0aGUgUmVhY3QuZm9yd2FyZFJlZiBBUEkuIFwiICsgXCJTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL2ZvcndhcmRpbmctcmVmcy5odG1sLlwiKSA6IHZvaWQgMDtcbiAgICAgIH1cbiAgICB9LCBbY29udGFpbmVyUmVmXSk7XG4gIH1cblxuICB1c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAvLyBUaGlzIHJlZiBtYXkgYmUgbnVsbCB3aGVuIGEgaG90LWxvYWRlciByZXBsYWNlcyBjb21wb25lbnRzIG9uIHRoZSBwYWdlXG4gICAgaWYgKCFtb3VudE5vZGUuY3VycmVudCkgcmV0dXJuOyAvLyBJdCdzIHBvc3NpYmxlIHRoYXQgdGhlIGNvbnRlbnQgb2YgdGhlIHBvcnRhbCBoYXMsIGl0c2VsZiwgYmVlbiBwb3J0YWxlZC5cbiAgICAvLyBJbiB0aGF0IGNhc2UsIGl0J3MgaW1wb3J0YW50IHRvIGFwcGVuZCB0byB0aGUgY29ycmVjdCBkb2N1bWVudCBlbGVtZW50LlxuXG4gICAgdmFyIG93bmVyRG9jdW1lbnQgPSBtb3VudE5vZGUuY3VycmVudC5vd25lckRvY3VtZW50O1xuICAgIHZhciBib2R5ID0gKGNvbnRhaW5lclJlZiA9PSBudWxsID8gdm9pZCAwIDogY29udGFpbmVyUmVmLmN1cnJlbnQpIHx8IG93bmVyRG9jdW1lbnQuYm9keTtcbiAgICBwb3J0YWxOb2RlLmN1cnJlbnQgPSBvd25lckRvY3VtZW50ID09IG51bGwgPyB2b2lkIDAgOiBvd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodHlwZSk7XG4gICAgYm9keS5hcHBlbmRDaGlsZChwb3J0YWxOb2RlLmN1cnJlbnQpO1xuICAgIGZvcmNlVXBkYXRlKCk7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmIChwb3J0YWxOb2RlLmN1cnJlbnQgJiYgYm9keSkge1xuICAgICAgICBib2R5LnJlbW92ZUNoaWxkKHBvcnRhbE5vZGUuY3VycmVudCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW3R5cGUsIGZvcmNlVXBkYXRlLCBjb250YWluZXJSZWZdKTtcbiAgcmV0dXJuIHBvcnRhbE5vZGUuY3VycmVudCA/IC8qI19fUFVSRV9fKi9jcmVhdGVQb3J0YWwoY2hpbGRyZW4sIHBvcnRhbE5vZGUuY3VycmVudCkgOiAvKiNfX1BVUkVfXyovY3JlYXRlRWxlbWVudChcInNwYW5cIiwge1xuICAgIHJlZjogbW91bnROb2RlXG4gIH0pO1xufTtcbi8qKlxuICogQHNlZSBEb2NzIGh0dHBzOi8vcmVhY2gudGVjaC9wb3J0YWwjcG9ydGFsLXByb3BzXG4gKi9cblxuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gIFBvcnRhbC5kaXNwbGF5TmFtZSA9IFwiUG9ydGFsXCI7XG59IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbmV4cG9ydCBkZWZhdWx0IFBvcnRhbDtcbmV4cG9ydCB7IFBvcnRhbCB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///741\n\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) // removed by dead control flow\n{ 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) // removed by dead control flow\n{ 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) // removed by dead control flow\n{ 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) // removed by dead control flow\n{ 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) // removed by dead control flow\n{} ////////////////////////////////////////////////////////////////////////////////\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/* unused harmony import specifier */ var useRef;\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) // removed by dead control flow\n{} ////////////////////////////////////////////////////////////////////////////////\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) // removed by dead control flow\n{}\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) // removed by dead control flow\n{}\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) // removed by dead control flow\n{} ////////////////////////////////////////////////////////////////////////////////\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) // removed by dead control flow\n{}\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) // removed by dead control flow\n{} ////////////////////////////////////////////////////////////////////////////////\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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QixxQkFBcUI7QUFDbkQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMkJBQVM7QUFDWDtBQUNBO0FBQ0E7O0FBRUEsd0JBQXdCLGdCQUFnQjs7QUFFeEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxzRUFBc0U7QUFDdEUsbUJBQW1CLGdEQUFnRDtBQUNuRTs7QUFFQTtBQUNBLFdBQVcseUJBQVEsR0FBRztBQUN0QjtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvQkFBb0IsOENBQTZCLHFCQUFxQjs7O0FBR3RFLGdCQUFnQix5QkFBUSxHQUFHOztBQUUzQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7O0FBRUYsd0RBQWUsT0FBTyxFQUFDO0FBQzBFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9ub2RlX21vZHVsZXMvQHJlYWNoL2F1dG8taWQvZGlzdC9yZWFjaC1hdXRvLWlkLmVzbS5qcz8yODdhIiwid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL0ByZWFjaC91dGlscy9vd25lci1kb2N1bWVudC9kaXN0L3JlYWNoLXV0aWxzLW93bmVyLWRvY3VtZW50LmVzbS5qcz9hNzZjIiwid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL0ByZWFjaC91dGlscy9nZXQtZG9jdW1lbnQtZGltZW5zaW9ucy9kaXN0L3JlYWNoLXV0aWxzLWdldC1kb2N1bWVudC1kaW1lbnNpb25zLmVzbS5qcz83OWQ4Iiwid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL0ByZWFjaC91dGlscy9tYWtlLWlkL2Rpc3QvcmVhY2gtdXRpbHMtbWFrZS1pZC5lc20uanM/ZDg4NiIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdXRpbHMvZGV2LXV0aWxzL2Rpc3QvcmVhY2gtdXRpbHMtZGV2LXV0aWxzLmVzbS5qcz82NWI1Iiwid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL0ByZWFjaC91dGlscy90eXBlLWNoZWNrL2Rpc3QvcmVhY2gtdXRpbHMtdHlwZS1jaGVjay5lc20uanM/YjhlYSIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdXRpbHMvY29tcG9zZS1yZWZzL2Rpc3QvcmVhY2gtdXRpbHMtY29tcG9zZS1yZWZzLmVzbS5qcz9hNjMwIiwid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL0ByZWFjaC91dGlscy9jb21wb3NlLWV2ZW50LWhhbmRsZXJzL2Rpc3QvcmVhY2gtdXRpbHMtY29tcG9zZS1ldmVudC1oYW5kbGVycy5lc20uanM/ZjE5YyIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9AcmVhY2gvdmlzdWFsbHktaGlkZGVuL2Rpc3QvcmVhY2gtdmlzdWFsbHktaGlkZGVuLmVzbS5qcz9lOTc0Iiwid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL0ByZWFjaC9vYnNlcnZlLXJlY3QvZGlzdC9vYnNlcnZlLXJlY3QuZXNtLmpzPzQ0YmEiLCJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9ub2RlX21vZHVsZXMvQHJlYWNoL3JlY3QvZGlzdC9yZWFjaC1yZWN0LmVzbS5qcz9jYmY3Iiwid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL0ByZWFjaC90b29sdGlwL2Rpc3QvcmVhY2gtdG9vbHRpcC5lc20uanM/ZTI2OCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCB9IGZyb20gJ0ByZWFjaC91dGlscy91c2UtaXNvbW9ycGhpYy1sYXlvdXQtZWZmZWN0JztcblxuLypcbiAqIFdlbGNvbWUgdG8gQHJlYWNoL2F1dG8taWQhXG5cbiAqIExldCdzIHNlZSBpZiB3ZSBjYW4gbWFrZSBzZW5zZSBvZiB3aHkgdGhpcyBob29rIGV4aXN0cyBhbmQgaXRzXG4gKiBpbXBsZW1lbnRhdGlvbi5cbiAqXG4gKiBTb21lIGJhY2tncm91bmQ6XG4gKiAgIDEuIEFjY2Vzc2liaWxpdHkgQVBJcyByZWx5IGhlYXZpbHkgb24gZWxlbWVudCBJRHNcbiAqICAgMi4gUmVxdWlyaW5nIGRldmVsb3BlcnMgdG8gcHV0IElEcyBvbiBldmVyeSBlbGVtZW50IGluIFJlYWNoIFVJIGlzIGJvdGhcbiAqICAgICAgY3VtYmVyc29tZSBhbmQgZXJyb3ItcHJvbmVcbiAqICAgMy4gV2l0aCBhIGNvbXBvbmVudCBtb2RlbCwgd2UgY2FuIGdlbmVyYXRlIElEcyBmb3IgdGhlbSFcbiAqXG4gKiBTb2x1dGlvbiAxOiBHZW5lcmF0ZSByYW5kb20gSURzLlxuICpcbiAqIFRoaXMgd29ya3MgZ3JlYXQgYXMgbG9uZyBhcyB5b3UgZG9uJ3Qgc2VydmVyIHJlbmRlciB5b3VyIGFwcC4gV2hlbiBSZWFjdCAoaW5cbiAqIHRoZSBjbGllbnQpIHRyaWVzIHRvIHJldXNlIHRoZSBtYXJrdXAgZnJvbSB0aGUgc2VydmVyLCB0aGUgSURzIHdvbid0IG1hdGNoXG4gKiBhbmQgUmVhY3Qgd2lsbCB0aGVuIHJlY3JlYXRlIHRoZSBlbnRpcmUgRE9NIHRyZWUuXG4gKlxuICogU29sdXRpb24gMjogSW5jcmVtZW50IGFuIGludGVnZXJcbiAqXG4gKiBUaGlzIHNvdW5kcyBncmVhdC4gU2luY2Ugd2UncmUgcmVuZGVyaW5nIHRoZSBleGFjdCBzYW1lIHRyZWUgb24gdGhlIHNlcnZlclxuICogYW5kIGNsaWVudCwgd2UgY2FuIGluY3JlbWVudCBhIGNvdW50ZXIgYW5kIGdldCBhIGRldGVybWluaXN0aWMgcmVzdWx0IGJldHdlZW5cbiAqIGNsaWVudCBhbmQgc2VydmVyLiBBbHNvLCBKUyBpbnRlZ2VycyBjYW4gZ28gdXAgdG8gbmluZS1xdWFkcmlsbGlvbi4gSSdtXG4gKiBwcmV0dHkgc3VyZSB0aGUgdGFiIHdpbGwgYmUgY2xvc2VkIGJlZm9yZSBhbiBhcHAgbmV2ZXIgbmVlZHNcbiAqIDEwIHF1YWRyaWxsaW9uIElEcyFcbiAqXG4gKiBQcm9ibGVtIHNvbHZlZCwgcmlnaHQ/XG4gKlxuICogQWgsIGJ1dCB0aGVyZSdzIGEgY2F0Y2ghIFJlYWN0J3MgY29uY3VycmVudCByZW5kZXJpbmcgbWFrZXMgdGhpcyBhcHByb2FjaFxuICogbm9uLWRldGVybWluaXN0aWMuIFdoaWxlIHRoZSBjbGllbnQgYW5kIHNlcnZlciB3aWxsIGVuZCB1cCB3aXRoIHRoZSBzYW1lXG4gKiBlbGVtZW50cyBpbiB0aGUgZW5kLCBkZXBlbmRpbmcgb24gc3VzcGVuc2UgYm91bmRhcmllcyAoYW5kIHBvc3NpYmx5IHNvbWUgdXNlclxuICogaW5wdXQgZHVyaW5nIHRoZSBpbml0aWFsIHJlbmRlcikgdGhlIGluY3JlbWVudGluZyBpbnRlZ2VycyB3b24ndCBhbHdheXMgbWF0Y2hcbiAqIHVwLlxuICpcbiAqIFNvbHV0aW9uIDM6IERvbid0IHVzZSBJRHMgYXQgYWxsIG9uIHRoZSBzZXJ2ZXI7IHBhdGNoIGFmdGVyIGZpcnN0IHJlbmRlci5cbiAqXG4gKiBXaGF0IHdlJ3ZlIGRvbmUgaGVyZSBpcyBzb2x1dGlvbiAyIHdpdGggc29tZSB0cmlja3MuIFdpdGggdGhpcyBhcHByb2FjaCwgdGhlXG4gKiBJRCByZXR1cm5lZCBpcyBhbiBlbXB0eSBzdHJpbmcgb24gdGhlIGZpcnN0IHJlbmRlci4gVGhpcyB3YXkgdGhlIHNlcnZlciBhbmRcbiAqIGNsaWVudCBoYXZlIHRoZSBzYW1lIG1hcmt1cCBubyBtYXR0ZXIgaG93IHdpbGQgdGhlIGNvbmN1cnJlbnQgcmVuZGVyaW5nIG1heVxuICogaGF2ZSBnb3R0ZW4uXG4gKlxuICogQWZ0ZXIgdGhlIHJlbmRlciwgd2UgcGF0Y2ggdXAgdGhlIGNvbXBvbmVudHMgd2l0aCBhbiBpbmNyZW1lbnRlZCBJRC4gVGhpc1xuICogY2F1c2VzIGEgZG91YmxlIHJlbmRlciBvbiBhbnkgY29tcG9uZW50cyB3aXRoIGB1c2VJZGAuIFNob3VsZG4ndCBiZSBhIHByb2JsZW1cbiAqIHNpbmNlIHRoZSBjb21wb25lbnRzIHVzaW5nIHRoaXMgaG9vayBzaG91bGQgYmUgc21hbGwsIGFuZCB3ZSdyZSBvbmx5IHVwZGF0aW5nXG4gKiB0aGUgSUQgYXR0cmlidXRlIG9uIHRoZSBET00sIG5vdGhpbmcgYmlnIGlzIGhhcHBlbmluZy5cbiAqXG4gKiBJdCBkb2Vzbid0IGhhdmUgdG8gYmUgYW4gaW5jcmVtZW50ZWQgbnVtYmVyLCB0aG91Z2gtLXdlIGNvdWxkIGRvIGdlbmVyYXRlXG4gKiByYW5kb20gc3RyaW5ncyBpbnN0ZWFkLCBidXQgaW5jcmVtZW50aW5nIGEgbnVtYmVyIGlzIHByb2JhYmx5IHRoZSBjaGVhcGVzdFxuICogdGhpbmcgd2UgY2FuIGRvLlxuICpcbiAqIEFkZGl0aW9uYWxseSwgd2Ugb25seSBkbyB0aGlzIHBhdGNodXAgb24gdGhlIHZlcnkgZmlyc3QgY2xpZW50IHJlbmRlciBldmVyLlxuICogQW55IGNhbGxzIHRvIGB1c2VJZGAgdGhhdCBoYXBwZW4gZHluYW1pY2FsbHkgaW4gdGhlIGNsaWVudCB3aWxsIGJlXG4gKiBwb3B1bGF0ZWQgaW1tZWRpYXRlbHkgd2l0aCBhIHZhbHVlLiBTbywgd2Ugb25seSBnZXQgdGhlIGRvdWJsZSByZW5kZXIgYWZ0ZXJcbiAqIHNlcnZlciBoeWRyYXRpb24gYW5kIG5ldmVyIGFnYWluLCBTTyBCQUNLIE9GRiBBTFJJR0hUP1xuICovXG52YXIgc2VydmVySGFuZG9mZkNvbXBsZXRlID0gZmFsc2U7XG52YXIgaWQgPSAwO1xuXG52YXIgZ2VuSWQgPSBmdW5jdGlvbiBnZW5JZCgpIHtcbiAgcmV0dXJuICsraWQ7XG59O1xuLyoqXG4gKiB1c2VJZFxuICpcbiAqIEF1dG9nZW5lcmF0ZSBJRHMgdG8gZmFjaWxpdGF0ZSBXQUktQVJJQSBhbmQgc2VydmVyIHJlbmRlcmluZy5cbiAqXG4gKiBOb3RlOiBUaGUgcmV0dXJuZWQgSUQgd2lsbCBpbml0aWFsbHkgYmUgYG51bGxgIGFuZCB3aWxsIHVwZGF0ZSBhZnRlciBhXG4gKiBjb21wb25lbnQgbW91bnRzLiBVc2VycyBtYXkgbmVlZCB0byBzdXBwbHkgdGhlaXIgb3duIElEIGlmIHRoZXkgbmVlZFxuICogY29uc2lzdGVudCB2YWx1ZXMgZm9yIFNTUi5cbiAqXG4gKiBAc2VlIERvY3MgaHR0cHM6Ly9yZWFjaC50ZWNoL2F1dG8taWRcbiAqL1xuXG5cbmZ1bmN0aW9uIHVzZUlkKGlkRnJvbVByb3BzKSB7XG4gIC8qXG4gICAqIElmIHRoaXMgaW5zdGFuY2UgaXNuJ3QgcGFydCBvZiB0aGUgaW5pdGlhbCByZW5kZXIsIHdlIGRvbid0IGhhdmUgdG8gZG8gdGhlXG4gICAqIGRvdWJsZSByZW5kZXIvcGF0Y2gtdXAgZGFuY2UuIFdlIGNhbiBqdXN0IGdlbmVyYXRlIHRoZSBJRCBhbmQgcmV0dXJuIGl0LlxuICAgKi9cbiAgdmFyIGluaXRpYWxJZCA9IGlkRnJvbVByb3BzIHx8IChzZXJ2ZXJIYW5kb2ZmQ29tcGxldGUgPyBnZW5JZCgpIDogbnVsbCk7XG5cbiAgdmFyIF9SZWFjdCR1c2VTdGF0ZSA9IHVzZVN0YXRlKGluaXRpYWxJZCksXG4gICAgICBpZCA9IF9SZWFjdCR1c2VTdGF0ZVswXSxcbiAgICAgIHNldElkID0gX1JlYWN0JHVzZVN0YXRlWzFdO1xuXG4gIHVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIGlmIChpZCA9PT0gbnVsbCkge1xuICAgICAgLypcbiAgICAgICAqIFBhdGNoIHRoZSBJRCBhZnRlciByZW5kZXIuIFdlIGRvIHRoaXMgaW4gYHVzZUxheW91dEVmZmVjdGAgdG8gYXZvaWQgYW55XG4gICAgICAgKiByZW5kZXJpbmcgZmxpY2tlciwgdGhvdWdoIGl0J2xsIG1ha2UgdGhlIGZpcnN0IHJlbmRlciBzbG93ZXIgKHVubGlrZWx5XG4gICAgICAgKiB0byBtYXR0ZXIsIGJ1dCB5b3UncmUgd2VsY29tZSB0byBtZWFzdXJlIHlvdXIgYXBwIGFuZCBsZXQgdXMga25vdyBpZlxuICAgICAgICogaXQncyBhIHByb2JsZW0pLlxuICAgICAgICovXG4gICAgICBzZXRJZChnZW5JZCgpKTtcbiAgICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcblxuICB9LCBbXSk7XG4gIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHNlcnZlckhhbmRvZmZDb21wbGV0ZSA9PT0gZmFsc2UpIHtcbiAgICAgIC8qXG4gICAgICAgKiBGbGFnIGFsbCBmdXR1cmUgdXNlcyBvZiBgdXNlSWRgIHRvIHNraXAgdGhlIHVwZGF0ZSBkYW5jZS4gVGhpcyBpcyBpblxuICAgICAgICogYHVzZUVmZmVjdGAgYmVjYXVzZSBpdCBnb2VzIGFmdGVyIGB1c2VMYXlvdXRFZmZlY3RgLCBlbnN1cmluZyB3ZSBkb24ndFxuICAgICAgICogYWNjaWRlbnRhbGx5IGJhaWwgb3V0IG9mIHRoZSBwYXRjaC11cCBkYW5jZSBwcmVtYXR1cmVseS5cbiAgICAgICAqL1xuICAgICAgc2VydmVySGFuZG9mZkNvbXBsZXRlID0gdHJ1ZTtcbiAgICB9XG4gIH0sIFtdKTtcbiAgcmV0dXJuIGlkICE9IG51bGwgPyBTdHJpbmcoaWQpIDogdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgeyB1c2VJZCB9O1xuIiwiaW1wb3J0IHsgY2FuVXNlRE9NIH0gZnJvbSAnLi4vLi4vY2FuLXVzZS1kb20vZGlzdC9yZWFjaC11dGlscy1jYW4tdXNlLWRvbS5lc20uanMnO1xuXG4vKipcbiAqIEdldCBhbiBlbGVtZW50J3Mgb3duZXIgZG9jdW1lbnQuIFVzZWZ1bCB3aGVuIGNvbXBvbmVudHMgYXJlIHVzZWQgaW4gaWZyYW1lc1xuICogb3Igb3RoZXIgZW52aXJvbm1lbnRzIGxpa2UgZGV2IHRvb2xzLlxuICpcbiAqIEBwYXJhbSBlbGVtZW50XG4gKi9cblxuZnVuY3Rpb24gZ2V0T3duZXJEb2N1bWVudChlbGVtZW50KSB7XG4gIHJldHVybiBjYW5Vc2VET00oKSA/IGVsZW1lbnQgPyBlbGVtZW50Lm93bmVyRG9jdW1lbnQgOiBkb2N1bWVudCA6IG51bGw7XG59XG4vKipcbiAqIFRPRE86IFJlbW92ZSBpbiAxLjBcbiAqL1xuXG5mdW5jdGlvbiBnZXRPd25lcldpbmRvdyhlbGVtZW50KSB7XG4gIHZhciBvd25lckRvY3VtZW50ID0gZ2V0T3duZXJEb2N1bWVudChlbGVtZW50KTtcbiAgcmV0dXJuIG93bmVyRG9jdW1lbnQgPyBvd25lckRvY3VtZW50LmRlZmF1bHRWaWV3IHx8IHdpbmRvdyA6IG51bGw7XG59XG5cbmV4cG9ydCB7IGdldE93bmVyRG9jdW1lbnQsIGdldE93bmVyV2luZG93IH07XG4iLCJpbXBvcnQgeyBnZXRPd25lckRvY3VtZW50IH0gZnJvbSAnLi4vLi4vb3duZXItZG9jdW1lbnQvZGlzdC9yZWFjaC11dGlscy1vd25lci1kb2N1bWVudC5lc20uanMnO1xuaW1wb3J0ICcuLi8uLi9jYW4tdXNlLWRvbS9kaXN0L3JlYWNoLXV0aWxzLWNhbi11c2UtZG9tLmVzbS5qcyc7XG5cbi8qKlxuICogR2V0IHRoZSBzaXplIG9mIHRoZSB3b3JraW5nIGRvY3VtZW50IG1pbnVzIHRoZSBzY3JvbGxiYXIgb2Zmc2V0LlxuICpcbiAqIEBwYXJhbSBlbGVtZW50XG4gKi9cblxuZnVuY3Rpb24gZ2V0RG9jdW1lbnREaW1lbnNpb25zKGVsZW1lbnQpIHtcbiAgdmFyIF9vd25lckRvY3VtZW50JGRvY3VtZSwgX293bmVyRG9jdW1lbnQkZG9jdW1lMjtcblxuICB2YXIgb3duZXJEb2N1bWVudCA9IGdldE93bmVyRG9jdW1lbnQoZWxlbWVudCk7XG4gIHZhciBvd25lcldpbmRvdyA9IG93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcgfHwgd2luZG93O1xuXG4gIGlmICghb3duZXJEb2N1bWVudCkge1xuICAgIHJldHVybiB7XG4gICAgICB3aWR0aDogMCxcbiAgICAgIGhlaWdodDogMFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHdpZHRoOiAoX293bmVyRG9jdW1lbnQkZG9jdW1lID0gb3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgpICE9IG51bGwgPyBfb3duZXJEb2N1bWVudCRkb2N1bWUgOiBvd25lcldpbmRvdy5pbm5lcldpZHRoLFxuICAgIGhlaWdodDogKF9vd25lckRvY3VtZW50JGRvY3VtZTIgPSBvd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpICE9IG51bGwgPyBfb3duZXJEb2N1bWVudCRkb2N1bWUyIDogb3duZXJXaW5kb3cuaW5uZXJIZWlnaHRcbiAgfTtcbn1cblxuZXhwb3J0IHsgZ2V0RG9jdW1lbnREaW1lbnNpb25zIH07XG4iLCIvKipcbiAqIEpvaW5zIHN0cmluZ3MgdG8gZm9ybWF0IElEcyBmb3IgY29tcG91bmQgY29tcG9uZW50cy5cbiAqXG4gKiBAcGFyYW0gYXJnc1xuICovXG5mdW5jdGlvbiBtYWtlSWQoKSB7XG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICByZXR1cm4gYXJncy5maWx0ZXIoZnVuY3Rpb24gKHZhbCkge1xuICAgIHJldHVybiB2YWwgIT0gbnVsbDtcbiAgfSkuam9pbihcIi0tXCIpO1xufVxuXG5leHBvcnQgeyBtYWtlSWQgfTtcbiIsImltcG9ydCB7IHVzZVJlZiwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rcyAqL1xudmFyIGNoZWNrZWRQa2dzID0ge307XG4vKipcbiAqIEp1c3QgYSBsaWwgc3RhdGUgbG9nZ2VyXG4gKlxuICogQHBhcmFtIHN0YXRlXG4gKiBAcGFyYW0gREVCVUdcbiAqL1xuXG5mdW5jdGlvbiB1c2VTdGF0ZUxvZ2dlcihzdGF0ZSwgREVCVUcpIHtcbiAgaWYgKERFQlVHID09PSB2b2lkIDApIHtcbiAgICBERUJVRyA9IGZhbHNlO1xuICB9XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgIHZhciBkZWJ1Z1JlZiA9IHVzZVJlZihERUJVRyk7XG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgIGRlYnVnUmVmLmN1cnJlbnQgPSBERUJVRztcbiAgICB9LCBbREVCVUddKTtcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKGRlYnVnUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgY29uc29sZS5ncm91cChcIlN0YXRlIFVwZGF0ZWRcIik7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiJWNcIiArIHN0YXRlLCBcImZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTIwJTsgZm9udC1zdHlsZTogaXRhbGljO1wiKTtcbiAgICAgICAgY29uc29sZS5ncm91cEVuZCgpO1xuICAgICAgfVxuICAgIH0sIFtzdGF0ZV0pO1xuICB9XG59XG4vKipcbiAqIFdoZW4gaW4gZGV2IG1vZGUsIGNoZWNrcyB0aGF0IHN0eWxlcyBmb3IgYSBnaXZlbiBgQHJlYWNoYCBwYWNrYWdlIGFyZSBsb2FkZWQuXG4gKlxuICogQHBhcmFtIHBhY2thZ2VOYW1lIE5hbWUgb2YgdGhlIHBhY2thZ2UgdG8gY2hlY2suXG4gKiBAZXhhbXBsZSBjaGVja1N0eWxlcyhcImRpYWxvZ1wiKSB3aWxsIGNoZWNrIGZvciBzdHlsZXMgZm9yIEByZWFjaC9kaWFsb2dcbiAqL1xuXG5mdW5jdGlvbiBjaGVja1N0eWxlcyhwYWNrYWdlTmFtZSkge1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgLy8gSW4gQ0pTIGZpbGVzLCBwcm9jZXNzLmVudi5OT0RFX0VOViBpcyBzdHJpcHBlZCBmcm9tIG91ciBidWlsZCwgYnV0IHdlXG4gICAgLy8gbmVlZCBpdCB0byBwcmV2ZW50IHN0eWxlIGNoZWNrcyBmcm9tIGNsb2dnaW5nIHVwIHVzZXIgbG9ncyB3aGlsZSB0ZXN0aW5nLlxuICAgIC8vIFRoaXMgaXMgYSB3b3JrYXJvdW5kIHVudGlsIHdlIGNhbiB0d2VhayB0aGUgYnVpbGQgYSBiaXQgdG8gYWNjb21tb2RhdGUuXG4gICAgdmFyIF9yZWYgPSB0eXBlb2YgcHJvY2VzcyAhPT0gXCJ1bmRlZmluZWRcIiA/IHByb2Nlc3MuZW52IDoge1xuICAgICAgTk9ERV9FTlY6IFwiZGV2ZWxvcG1lbnRcIlxuICAgIH0sXG4gICAgICAgIGVudmlyb25tZW50ID0gX3JlZi5OT0RFX0VOVjsgLy8gb25seSBjaGVjayBvbmNlIHBlciBwYWNrYWdlXG5cblxuICAgIGlmIChjaGVja2VkUGtnc1twYWNrYWdlTmFtZV0pIHJldHVybjtcbiAgICBjaGVja2VkUGtnc1twYWNrYWdlTmFtZV0gPSB0cnVlO1xuXG4gICAgaWYgKGVudmlyb25tZW50ID09PSBcImRldmVsb3BtZW50XCIgJiYgcGFyc2VJbnQod2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuZ2V0UHJvcGVydHlWYWx1ZShcIi0tcmVhY2gtXCIgKyBwYWNrYWdlTmFtZSksIDEwKSAhPT0gMSkge1xuICAgICAgY29uc29sZS53YXJuKFwiQHJlYWNoL1wiICsgcGFja2FnZU5hbWUgKyBcIiBzdHlsZXMgbm90IGZvdW5kLiBJZiB5b3UgYXJlIHVzaW5nIGEgYnVuZGxlciBsaWtlIHdlYnBhY2sgb3IgcGFyY2VsIGluY2x1ZGUgdGhpcyBpbiB0aGUgZW50cnkgZmlsZSBvZiB5b3VyIGFwcCBiZWZvcmUgYW55IG9mIHlvdXIgb3duIHN0eWxlczpcXG4gIFxcbiAgICAgIGltcG9ydCBcXFwiQHJlYWNoL1wiICsgcGFja2FnZU5hbWUgKyBcIi9zdHlsZXMuY3NzXFxcIjtcXG4gIFxcbiAgICBPdGhlcndpc2UgeW91J2xsIG5lZWQgdG8gaW5jbHVkZSB0aGVtIHNvbWUgb3RoZXIgd2F5OlxcbiAgXFxuICAgICAgPGxpbmsgcmVsPVxcXCJzdHlsZXNoZWV0XFxcIiB0eXBlPVxcXCJ0ZXh0L2Nzc1xcXCIgaHJlZj1cXFwibm9kZV9tb2R1bGVzL0ByZWFjaC9cIiArIHBhY2thZ2VOYW1lICsgXCIvc3R5bGVzLmNzc1xcXCIgLz5cXG4gIFxcbiAgICBGb3IgbW9yZSBpbmZvcm1hdGlvbiB2aXNpdCBodHRwczovL3VpLnJlYWNoLnRlY2gvc3R5bGluZy5cXG4gICAgXCIpO1xuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBXaGVuIGluIGRldiBtb2RlLCBjaGVja3MgdGhhdCBzdHlsZXMgZm9yIGEgZ2l2ZW4gYEByZWFjaGAgcGFja2FnZSBhcmUgbG9hZGVkLlxuICpcbiAqIEBwYXJhbSBwYWNrYWdlTmFtZSBOYW1lIG9mIHRoZSBwYWNrYWdlIHRvIGNoZWNrLlxuICogQGV4YW1wbGUgdXNlQ2hlY2tTdHlsZXMoXCJkaWFsb2dcIikgd2lsbCBjaGVjayBmb3Igc3R5bGVzIGZvciBAcmVhY2gvZGlhbG9nXG4gKi9cblxuZnVuY3Rpb24gdXNlQ2hlY2tTdHlsZXMocGFja2FnZU5hbWUpIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgIHZhciBuYW1lID0gdXNlUmVmKHBhY2thZ2VOYW1lKTtcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIHZvaWQgKG5hbWUuY3VycmVudCA9IHBhY2thZ2VOYW1lKTtcbiAgICB9LCBbcGFja2FnZU5hbWVdKTtcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGNoZWNrU3R5bGVzKG5hbWUuY3VycmVudCk7XG4gICAgfSwgW10pO1xuICB9XG59XG4vKipcbiAqIExvZ3MgYSB3YXJuaW5nIGluIGRldiBtb2RlIHdoZW4gYSBjb21wb25lbnQgc3dpdGNoZXMgZnJvbSBjb250cm9sbGVkIHRvXG4gKiB1bmNvbnRyb2xsZWQsIG9yIHZpY2UgdmVyc2FcbiAqXG4gKiBBIHNpbmdsZSBwcm9wIHNob3VsZCB0eXBpY2FsbHkgYmUgdXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciBvciBub3QgYVxuICogY29tcG9uZW50IGlzIGNvbnRyb2xsZWQgb3Igbm90LlxuICpcbiAqIEBwYXJhbSBjb250cm9sbGVkVmFsdWVcbiAqIEBwYXJhbSBjb250cm9sbGVkUHJvcE5hbWVcbiAqIEBwYXJhbSBjb21wb25lbnROYW1lXG4gKi9cblxuZnVuY3Rpb24gdXNlQ29udHJvbGxlZFN3aXRjaFdhcm5pbmcoY29udHJvbGxlZFZhbHVlLCBjb250cm9sbGVkUHJvcE5hbWUsIGNvbXBvbmVudE5hbWUpIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgIHZhciBjb250cm9sbGVkUmVmID0gdXNlUmVmKGNvbnRyb2xsZWRWYWx1ZSAhPSBudWxsKTtcbiAgICB2YXIgbmFtZUNhY2hlID0gdXNlUmVmKHtcbiAgICAgIGNvbXBvbmVudE5hbWU6IGNvbXBvbmVudE5hbWUsXG4gICAgICBjb250cm9sbGVkUHJvcE5hbWU6IGNvbnRyb2xsZWRQcm9wTmFtZVxuICAgIH0pO1xuICAgIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgICBuYW1lQ2FjaGUuY3VycmVudCA9IHtcbiAgICAgICAgY29tcG9uZW50TmFtZTogY29tcG9uZW50TmFtZSxcbiAgICAgICAgY29udHJvbGxlZFByb3BOYW1lOiBjb250cm9sbGVkUHJvcE5hbWVcbiAgICAgIH07XG4gICAgfSwgW2NvbXBvbmVudE5hbWUsIGNvbnRyb2xsZWRQcm9wTmFtZV0pO1xuICAgIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgd2FzQ29udHJvbGxlZCA9IGNvbnRyb2xsZWRSZWYuY3VycmVudDtcbiAgICAgIHZhciBfbmFtZUNhY2hlJGN1cnJlbnQgPSBuYW1lQ2FjaGUuY3VycmVudCxcbiAgICAgICAgICBjb21wb25lbnROYW1lID0gX25hbWVDYWNoZSRjdXJyZW50LmNvbXBvbmVudE5hbWUsXG4gICAgICAgICAgY29udHJvbGxlZFByb3BOYW1lID0gX25hbWVDYWNoZSRjdXJyZW50LmNvbnRyb2xsZWRQcm9wTmFtZTtcbiAgICAgIHZhciBpc0NvbnRyb2xsZWQgPSBjb250cm9sbGVkVmFsdWUgIT0gbnVsbDtcblxuICAgICAgaWYgKHdhc0NvbnRyb2xsZWQgIT09IGlzQ29udHJvbGxlZCkge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiQSBjb21wb25lbnQgaXMgY2hhbmdpbmcgYW4gXCIgKyAod2FzQ29udHJvbGxlZCA/IFwiXCIgOiBcInVuXCIpICsgXCJjb250cm9sbGVkIGBcIiArIGNvbnRyb2xsZWRQcm9wTmFtZSArIFwiYCBzdGF0ZSBvZiBcIiArIGNvbXBvbmVudE5hbWUgKyBcIiB0byBiZSBcIiArICh3YXNDb250cm9sbGVkID8gXCJ1blwiIDogXCJcIikgKyBcImNvbnRyb2xsZWQuIFRoaXMgaXMgbGlrZWx5IGNhdXNlZCBieSB0aGUgdmFsdWUgY2hhbmdpbmcgZnJvbSB1bmRlZmluZWQgdG8gYSBkZWZpbmVkIHZhbHVlLCB3aGljaCBzaG91bGQgbm90IGhhcHBlbi4gRGVjaWRlIGJldHdlZW4gdXNpbmcgYSBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCBcIiArIGNvbXBvbmVudE5hbWUgKyBcIiBlbGVtZW50IGZvciB0aGUgbGlmZXRpbWUgb2YgdGhlIGNvbXBvbmVudC5cXG4gICAgICBNb3JlIGluZm86IGh0dHBzOi8vZmIubWUvcmVhY3QtY29udHJvbGxlZC1jb21wb25lbnRzXCIpO1xuICAgICAgfVxuICAgIH0sIFtjb250cm9sbGVkVmFsdWVdKTtcbiAgfVxufVxuXG5leHBvcnQgeyBjaGVja1N0eWxlcywgdXNlQ2hlY2tTdHlsZXMsIHVzZUNvbnRyb2xsZWRTd2l0Y2hXYXJuaW5nLCB1c2VTdGF0ZUxvZ2dlciB9O1xuIiwiLyoqXG4gKiBDaGVja3Mgd2hldGhlciBvciBub3QgYSB2YWx1ZSBpcyBhIGJvb2xlYW4uXG4gKlxuICogQHBhcmFtIHZhbHVlXG4gKi9cbmZ1bmN0aW9uIGlzQm9vbGVhbih2YWx1ZSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcImJvb2xlYW5cIjtcbn1cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgb3Igbm90IGEgdmFsdWUgaXMgYSBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gdmFsdWVcbiAqL1xuXG5mdW5jdGlvbiBpc0Z1bmN0aW9uKHZhbHVlKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBlcWVxZXFcbiAgcmV0dXJuICEhKHZhbHVlICYmIHt9LnRvU3RyaW5nLmNhbGwodmFsdWUpID09IFwiW29iamVjdCBGdW5jdGlvbl1cIik7XG59XG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIG9yIG5vdCBhIHZhbHVlIGlzIGEgbnVtYmVyLlxuICpcbiAqIEBwYXJhbSB2YWx1ZVxuICovXG5cbmZ1bmN0aW9uIGlzTnVtYmVyKHZhbHVlKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIgJiYgIWlzTmFOKHZhbHVlKTtcbn1cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgb3Igbm90IGEgdmFsdWUgaXMgYSBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHZhbHVlXG4gKi9cblxuZnVuY3Rpb24gaXNTdHJpbmcodmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIjtcbn1cblxuZXhwb3J0IHsgaXNCb29sZWFuLCBpc0Z1bmN0aW9uLCBpc051bWJlciwgaXNTdHJpbmcgfTtcbiIsImltcG9ydCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJy4uLy4uL3R5cGUtY2hlY2svZGlzdC9yZWFjaC11dGlscy10eXBlLWNoZWNrLmVzbS5qcyc7XG5cbmZ1bmN0aW9uIF9hcnJheUxpa2VUb0FycmF5KGFyciwgbGVuKSB7XG4gIGlmIChsZW4gPT0gbnVsbCB8fCBsZW4gPiBhcnIubGVuZ3RoKSBsZW4gPSBhcnIubGVuZ3RoO1xuXG4gIGZvciAodmFyIGkgPSAwLCBhcnIyID0gbmV3IEFycmF5KGxlbik7IGkgPCBsZW47IGkrKykgYXJyMltpXSA9IGFycltpXTtcblxuICByZXR1cm4gYXJyMjtcbn1cblxuZnVuY3Rpb24gX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KG8sIG1pbkxlbikge1xuICBpZiAoIW8pIHJldHVybjtcbiAgaWYgKHR5cGVvZiBvID09PSBcInN0cmluZ1wiKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTtcbiAgdmFyIG4gPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykuc2xpY2UoOCwgLTEpO1xuICBpZiAobiA9PT0gXCJPYmplY3RcIiAmJiBvLmNvbnN0cnVjdG9yKSBuID0gby5jb25zdHJ1Y3Rvci5uYW1lO1xuICBpZiAobiA9PT0gXCJNYXBcIiB8fCBuID09PSBcIlNldFwiKSByZXR1cm4gQXJyYXkuZnJvbShvKTtcbiAgaWYgKG4gPT09IFwiQXJndW1lbnRzXCIgfHwgL14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QobikpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pO1xufVxuXG5mdW5jdGlvbiBfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlckxvb3NlKG8sIGFsbG93QXJyYXlMaWtlKSB7XG4gIHZhciBpdDtcblxuICBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJ1bmRlZmluZWRcIiB8fCBvW1N5bWJvbC5pdGVyYXRvcl0gPT0gbnVsbCkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KG8pIHx8IChpdCA9IF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShvKSkgfHwgYWxsb3dBcnJheUxpa2UgJiYgbyAmJiB0eXBlb2Ygby5sZW5ndGggPT09IFwibnVtYmVyXCIpIHtcbiAgICAgIGlmIChpdCkgbyA9IGl0O1xuICAgICAgdmFyIGkgPSAwO1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKGkgPj0gby5sZW5ndGgpIHJldHVybiB7XG4gICAgICAgICAgZG9uZTogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGRvbmU6IGZhbHNlLFxuICAgICAgICAgIHZhbHVlOiBvW2krK11cbiAgICAgICAgfTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBpdGVyYXRlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuXCIpO1xuICB9XG5cbiAgaXQgPSBvW1N5bWJvbC5pdGVyYXRvcl0oKTtcbiAgcmV0dXJuIGl0Lm5leHQuYmluZChpdCk7XG59XG5cbi8qKlxuICogUGFzc2VzIG9yIGFzc2lnbnMgYW4gYXJiaXRyYXJ5IHZhbHVlIHRvIGEgcmVmIGZ1bmN0aW9uIG9yIG9iamVjdC5cbiAqXG4gKiBAcGFyYW0gcmVmXG4gKiBAcGFyYW0gdmFsdWVcbiAqL1xuZnVuY3Rpb24gYXNzaWduUmVmKHJlZiwgdmFsdWUpIHtcbiAgaWYgKHJlZiA9PSBudWxsKSByZXR1cm47XG5cbiAgaWYgKGlzRnVuY3Rpb24ocmVmKSkge1xuICAgIHJlZih2YWx1ZSk7XG4gIH0gZWxzZSB7XG4gICAgdHJ5IHtcbiAgICAgIHJlZi5jdXJyZW50ID0gdmFsdWU7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBhc3NpZ24gdmFsdWUgXFxcIlwiICsgdmFsdWUgKyBcIlxcXCIgdG8gcmVmIFxcXCJcIiArIHJlZiArIFwiXFxcIlwiKTtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogUGFzc2VzIG9yIGFzc2lnbnMgYSB2YWx1ZSB0byBtdWx0aXBsZSByZWZzICh0eXBpY2FsbHkgYSBET00gbm9kZSkuIFVzZWZ1bCBmb3JcbiAqIGRlYWxpbmcgd2l0aCBjb21wb25lbnRzIHRoYXQgbmVlZCBhbiBleHBsaWNpdCByZWYgZm9yIERPTSBjYWxjdWxhdGlvbnMgYnV0XG4gKiBhbHNvIGZvcndhcmRzIHJlZnMgYXNzaWduZWQgYnkgYW4gYXBwLlxuICpcbiAqIEBwYXJhbSByZWZzIFJlZnMgdG8gZm9ya1xuICovXG5cbmZ1bmN0aW9uIHVzZUNvbXBvc2VkUmVmcygpIHtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIHJlZnMgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgcmVmc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgfVxuXG4gIHJldHVybiB1c2VDYWxsYmFjayhmdW5jdGlvbiAobm9kZSkge1xuICAgIGZvciAodmFyIF9pdGVyYXRvciA9IF9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyTG9vc2UocmVmcyksIF9zdGVwOyAhKF9zdGVwID0gX2l0ZXJhdG9yKCkpLmRvbmU7KSB7XG4gICAgICB2YXIgcmVmID0gX3N0ZXAudmFsdWU7XG4gICAgICBhc3NpZ25SZWYocmVmLCBub2RlKTtcbiAgICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcblxuICB9LCByZWZzKTtcbn1cblxuZXhwb3J0IHsgYXNzaWduUmVmLCB1c2VDb21wb3NlZFJlZnMgfTtcbiIsIi8qKlxuICogV3JhcHMgYSBsaWItZGVmaW5lZCBldmVudCBoYW5kbGVyIGFuZCBhIHVzZXItZGVmaW5lZCBldmVudCBoYW5kbGVyLCByZXR1cm5pbmdcbiAqIGEgc2luZ2xlIGhhbmRsZXIgdGhhdCBhbGxvd3MgYSB1c2VyIHRvIHByZXZlbnQgbGliLWRlZmluZWQgaGFuZGxlcnMgZnJvbVxuICogZmlyaW5nLlxuICpcbiAqIEBwYXJhbSB0aGVpckhhbmRsZXIgVXNlci1zdXBwbGllZCBldmVudCBoYW5kbGVyXG4gKiBAcGFyYW0gb3VySGFuZGxlciBMaWJyYXJ5LXN1cHBsaWVkIGV2ZW50IGhhbmRsZXJcbiAqL1xuZnVuY3Rpb24gY29tcG9zZUV2ZW50SGFuZGxlcnModGhlaXJIYW5kbGVyLCBvdXJIYW5kbGVyKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICB0aGVpckhhbmRsZXIgJiYgdGhlaXJIYW5kbGVyKGV2ZW50KTtcblxuICAgIGlmICghZXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgcmV0dXJuIG91ckhhbmRsZXIoZXZlbnQpO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IHsgY29tcG9zZUV2ZW50SGFuZGxlcnMgfTtcbiIsImltcG9ydCB7IGZvcndhcmRSZWYsIGNyZWF0ZUVsZW1lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5mdW5jdGlvbiBfZXh0ZW5kcygpIHtcbiAgX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHtcbiAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTtcblxuICAgICAgZm9yICh2YXIga2V5IGluIHNvdXJjZSkge1xuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkge1xuICAgICAgICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9O1xuXG4gIHJldHVybiBfZXh0ZW5kcy5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xufVxuXG5mdW5jdGlvbiBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShzb3VyY2UsIGV4Y2x1ZGVkKSB7XG4gIGlmIChzb3VyY2UgPT0gbnVsbCkgcmV0dXJuIHt9O1xuICB2YXIgdGFyZ2V0ID0ge307XG4gIHZhciBzb3VyY2VLZXlzID0gT2JqZWN0LmtleXMoc291cmNlKTtcbiAgdmFyIGtleSwgaTtcblxuICBmb3IgKGkgPSAwOyBpIDwgc291cmNlS2V5cy5sZW5ndGg7IGkrKykge1xuICAgIGtleSA9IHNvdXJjZUtleXNbaV07XG4gICAgaWYgKGV4Y2x1ZGVkLmluZGV4T2Yoa2V5KSA+PSAwKSBjb250aW51ZTtcbiAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxudmFyIF9leGNsdWRlZCA9IFtcImFzXCIsIFwic3R5bGVcIl07XG5cbi8qKlxuICogVmlzdWFsbHlIaWRkZW5cbiAqXG4gKiBQcm92aWRlcyB0ZXh0IGZvciBzY3JlZW4gcmVhZGVycyB0aGF0IGlzIHZpc3VhbGx5IGhpZGRlbi5cbiAqIEl0IGlzIHRoZSBsb2dpY2FsIG9wcG9zaXRlIG9mIHRoZSBgYXJpYS1oaWRkZW5gIGF0dHJpYnV0ZS5cbiAqL1xudmFyIFZpc3VhbGx5SGlkZGVuID0gLyojX19QVVJFX18qL2ZvcndhcmRSZWYoZnVuY3Rpb24gVmlzdWFsbHlIaWRkZW4oX3JlZiwgcmVmKSB7XG4gIHZhciBfcmVmJGFzID0gX3JlZi5hcyxcbiAgICAgIENvbXAgPSBfcmVmJGFzID09PSB2b2lkIDAgPyBcInNwYW5cIiA6IF9yZWYkYXMsXG4gICAgICBfcmVmJHN0eWxlID0gX3JlZi5zdHlsZSxcbiAgICAgIHN0eWxlID0gX3JlZiRzdHlsZSA9PT0gdm9pZCAwID8ge30gOiBfcmVmJHN0eWxlLFxuICAgICAgcHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShfcmVmLCBfZXhjbHVkZWQpO1xuXG4gIHJldHVybiAvKiNfX1BVUkVfXyovY3JlYXRlRWxlbWVudChDb21wLCBfZXh0ZW5kcyh7XG4gICAgcmVmOiByZWYsXG4gICAgc3R5bGU6IF9leHRlbmRzKHtcbiAgICAgIGJvcmRlcjogMCxcbiAgICAgIGNsaXA6IFwicmVjdCgwIDAgMCAwKVwiLFxuICAgICAgaGVpZ2h0OiBcIjFweFwiLFxuICAgICAgbWFyZ2luOiBcIi0xcHhcIixcbiAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgICAgcGFkZGluZzogMCxcbiAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICB3aWR0aDogXCIxcHhcIixcbiAgICAgIC8vIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAgICAgIHdoaXRlU3BhY2U6IFwibm93cmFwXCIsXG4gICAgICB3b3JkV3JhcDogXCJub3JtYWxcIlxuICAgIH0sIHN0eWxlKVxuICB9LCBwcm9wcykpO1xufSk7XG4vKipcbiAqIEBzZWUgRG9jcyBodHRwczovL3JlYWNoLnRlY2gvdmlzdWFsbHktaGlkZGVuI3Zpc3VhbGx5aGlkZGVuLXByb3BzXG4gKi9cblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICBWaXN1YWxseUhpZGRlbi5kaXNwbGF5TmFtZSA9IFwiVmlzdWFsbHlIaWRkZW5cIjtcbiAgVmlzdWFsbHlIaWRkZW4ucHJvcFR5cGVzID0ge1xuICAgIGFzOiBQcm9wVHlwZXMuYW55LFxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZVxuICB9O1xufSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5leHBvcnQgZGVmYXVsdCBWaXN1YWxseUhpZGRlbjtcbmV4cG9ydCB7IFZpc3VhbGx5SGlkZGVuIH07XG4iLCJ2YXIgcHJvcHMgPSBbXCJib3R0b21cIiwgXCJoZWlnaHRcIiwgXCJsZWZ0XCIsIFwicmlnaHRcIiwgXCJ0b3BcIiwgXCJ3aWR0aFwiXTtcblxudmFyIHJlY3RDaGFuZ2VkID0gZnVuY3Rpb24gcmVjdENoYW5nZWQoYSwgYikge1xuICBpZiAoYSA9PT0gdm9pZCAwKSB7XG4gICAgYSA9IHt9O1xuICB9XG5cbiAgaWYgKGIgPT09IHZvaWQgMCkge1xuICAgIGIgPSB7fTtcbiAgfVxuXG4gIHJldHVybiBwcm9wcy5zb21lKGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgcmV0dXJuIGFbcHJvcF0gIT09IGJbcHJvcF07XG4gIH0pO1xufTtcblxudmFyIG9ic2VydmVkTm9kZXMgPSAvKiNfX1BVUkVfXyovbmV3IE1hcCgpO1xudmFyIHJhZklkO1xuXG52YXIgcnVuID0gZnVuY3Rpb24gcnVuKCkge1xuICB2YXIgY2hhbmdlZFN0YXRlcyA9IFtdO1xuICBvYnNlcnZlZE5vZGVzLmZvckVhY2goZnVuY3Rpb24gKHN0YXRlLCBub2RlKSB7XG4gICAgdmFyIG5ld1JlY3QgPSBub2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgaWYgKHJlY3RDaGFuZ2VkKG5ld1JlY3QsIHN0YXRlLnJlY3QpKSB7XG4gICAgICBzdGF0ZS5yZWN0ID0gbmV3UmVjdDtcbiAgICAgIGNoYW5nZWRTdGF0ZXMucHVzaChzdGF0ZSk7XG4gICAgfVxuICB9KTtcbiAgY2hhbmdlZFN0YXRlcy5mb3JFYWNoKGZ1bmN0aW9uIChzdGF0ZSkge1xuICAgIHN0YXRlLmNhbGxiYWNrcy5mb3JFYWNoKGZ1bmN0aW9uIChjYikge1xuICAgICAgcmV0dXJuIGNiKHN0YXRlLnJlY3QpO1xuICAgIH0pO1xuICB9KTtcbiAgcmFmSWQgPSB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJ1bik7XG59O1xuXG5mdW5jdGlvbiBvYnNlcnZlUmVjdChub2RlLCBjYikge1xuICByZXR1cm4ge1xuICAgIG9ic2VydmU6IGZ1bmN0aW9uIG9ic2VydmUoKSB7XG4gICAgICB2YXIgd2FzRW1wdHkgPSBvYnNlcnZlZE5vZGVzLnNpemUgPT09IDA7XG5cbiAgICAgIGlmIChvYnNlcnZlZE5vZGVzLmhhcyhub2RlKSkge1xuICAgICAgICBvYnNlcnZlZE5vZGVzLmdldChub2RlKS5jYWxsYmFja3MucHVzaChjYik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvYnNlcnZlZE5vZGVzLnNldChub2RlLCB7XG4gICAgICAgICAgcmVjdDogdW5kZWZpbmVkLFxuICAgICAgICAgIGhhc1JlY3RDaGFuZ2VkOiBmYWxzZSxcbiAgICAgICAgICBjYWxsYmFja3M6IFtjYl1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh3YXNFbXB0eSkgcnVuKCk7XG4gICAgfSxcbiAgICB1bm9ic2VydmU6IGZ1bmN0aW9uIHVub2JzZXJ2ZSgpIHtcbiAgICAgIHZhciBzdGF0ZSA9IG9ic2VydmVkTm9kZXMuZ2V0KG5vZGUpO1xuXG4gICAgICBpZiAoc3RhdGUpIHtcbiAgICAgICAgLy8gUmVtb3ZlIHRoZSBjYWxsYmFja1xuICAgICAgICB2YXIgaW5kZXggPSBzdGF0ZS5jYWxsYmFja3MuaW5kZXhPZihjYik7XG4gICAgICAgIGlmIChpbmRleCA+PSAwKSBzdGF0ZS5jYWxsYmFja3Muc3BsaWNlKGluZGV4LCAxKTsgLy8gUmVtb3ZlIHRoZSBub2RlIHJlZmVyZW5jZVxuXG4gICAgICAgIGlmICghc3RhdGUuY2FsbGJhY2tzLmxlbmd0aCkgb2JzZXJ2ZWROb2Rlc1tcImRlbGV0ZVwiXShub2RlKTsgLy8gU3RvcCB0aGUgbG9vcFxuXG4gICAgICAgIGlmICghb2JzZXJ2ZWROb2Rlcy5zaXplKSBjYW5jZWxBbmltYXRpb25GcmFtZShyYWZJZCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBvYnNlcnZlUmVjdDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW9ic2VydmUtcmVjdC5lc20uanMubWFwXG4iLCJpbXBvcnQgeyB1c2VSZWYsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IG9ic2VydmVSZWN0IGZyb20gJ0ByZWFjaC9vYnNlcnZlLXJlY3QnO1xuaW1wb3J0IHsgdXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCB9IGZyb20gJ0ByZWFjaC91dGlscy91c2UtaXNvbW9ycGhpYy1sYXlvdXQtZWZmZWN0JztcbmltcG9ydCB7IGlzQm9vbGVhbiwgaXNGdW5jdGlvbiB9IGZyb20gJ0ByZWFjaC91dGlscy90eXBlLWNoZWNrJztcbmltcG9ydCB3YXJuaW5nIGZyb20gJ3Rpbnktd2FybmluZyc7XG5cbi8qKlxuICogV2VsY29tZSB0byBAcmVhY2gvcmVjdCFcbiAqXG4gKiBNZWFzdXJlcyBET00gZWxlbWVudHMgKGFrYS4gYm91bmRpbmcgY2xpZW50IHJlY3QpLlxuICpcbiAqIEBzZWUgZ2V0Qm91bmRpbmdDbGllbnRSZWN0IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9FbGVtZW50L2dldEJvdW5kaW5nQ2xpZW50UmVjdFxuICogQHNlZSBEb2NzICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9yZWFjaC50ZWNoL3JlY3RcbiAqIEBzZWUgU291cmNlICAgICAgICAgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjaC9yZWFjaC11aS90cmVlL21haW4vcGFja2FnZXMvcmVjdFxuICovXG5cbi8qKlxuICogUmVjdFxuICpcbiAqIEBwYXJhbSBwcm9wc1xuICovXG5cbnZhciBSZWN0ID0gZnVuY3Rpb24gUmVjdChfcmVmKSB7XG4gIHZhciBvbkNoYW5nZSA9IF9yZWYub25DaGFuZ2UsXG4gICAgICBfcmVmJG9ic2VydmUgPSBfcmVmLm9ic2VydmUsXG4gICAgICBvYnNlcnZlID0gX3JlZiRvYnNlcnZlID09PSB2b2lkIDAgPyB0cnVlIDogX3JlZiRvYnNlcnZlLFxuICAgICAgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuO1xuICB2YXIgcmVmID0gdXNlUmVmKG51bGwpO1xuICB2YXIgcmVjdCA9IHVzZVJlY3QocmVmLCB7XG4gICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICBvbkNoYW5nZTogb25DaGFuZ2VcbiAgfSk7XG4gIHJldHVybiBjaGlsZHJlbih7XG4gICAgcmVmOiByZWYsXG4gICAgcmVjdDogcmVjdFxuICB9KTtcbn07XG4vKipcbiAqIEBzZWUgRG9jcyBodHRwczovL3JlYWNoLnRlY2gvcmVjdCNyZWN0LXByb3BzXG4gKi9cblxuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gIFJlY3QuZGlzcGxheU5hbWUgPSBcIlJlY3RcIjtcbiAgUmVjdC5wcm9wVHlwZXMgPSB7XG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb2JzZXJ2ZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jXG4gIH07XG59IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLyoqXG4gKiB1c2VSZWN0XG4gKlxuICogQHBhcmFtIG5vZGVSZWZcbiAqIEBwYXJhbSBvYnNlcnZlXG4gKiBAcGFyYW0gb25DaGFuZ2VcbiAqL1xuZnVuY3Rpb24gdXNlUmVjdChub2RlUmVmLCBvYnNlcnZlT3JPcHRpb25zLCBkZXByZWNhdGVkX29uQ2hhbmdlKSB7XG4gIHZhciBvYnNlcnZlO1xuICB2YXIgb25DaGFuZ2U7XG5cbiAgaWYgKGlzQm9vbGVhbihvYnNlcnZlT3JPcHRpb25zKSkge1xuICAgIG9ic2VydmUgPSBvYnNlcnZlT3JPcHRpb25zO1xuICB9IGVsc2Uge1xuICAgIHZhciBfb2JzZXJ2ZU9yT3B0aW9ucyRvYnM7XG5cbiAgICBvYnNlcnZlID0gKF9vYnNlcnZlT3JPcHRpb25zJG9icyA9IG9ic2VydmVPck9wdGlvbnMgPT0gbnVsbCA/IHZvaWQgMCA6IG9ic2VydmVPck9wdGlvbnMub2JzZXJ2ZSkgIT0gbnVsbCA/IF9vYnNlcnZlT3JPcHRpb25zJG9icyA6IHRydWU7XG4gICAgb25DaGFuZ2UgPSBvYnNlcnZlT3JPcHRpb25zID09IG51bGwgPyB2b2lkIDAgOiBvYnNlcnZlT3JPcHRpb25zLm9uQ2hhbmdlO1xuICB9XG5cbiAgaWYgKGlzRnVuY3Rpb24oZGVwcmVjYXRlZF9vbkNoYW5nZSkpIHtcbiAgICBvbkNoYW5nZSA9IGRlcHJlY2F0ZWRfb25DaGFuZ2U7XG4gIH1cblxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IHdhcm5pbmcoIWlzQm9vbGVhbihvYnNlcnZlT3JPcHRpb25zKSwgXCJQYXNzaW5nIGBvYnNlcnZlYCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvIGB1c2VSZWN0YCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbiBvZiBSZWFjaCBVSS4gSW5zdGVhZCwgeW91IGNhbiBwYXNzIGFuIG9iamVjdCBvZiBvcHRpb25zIHdpdGggYW4gYG9ic2VydmVgIHByb3BlcnR5IGFzIHRoZSBzZWNvbmQgYXJndW1lbnQgKGB1c2VSZWN0KHJlZiwgeyBvYnNlcnZlIH0pYCkuXFxuXCIgKyBcIlNlZSBodHRwczovL3JlYWNoLnRlY2gvcmVjdCN1c2VyZWN0LW9ic2VydmVcIikgOiB2b2lkIDA7XG4gICAgfSwgW29ic2VydmVPck9wdGlvbnNdKTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXG5cbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gd2FybmluZyghaXNGdW5jdGlvbihkZXByZWNhdGVkX29uQ2hhbmdlKSwgXCJQYXNzaW5nIGBvbkNoYW5nZWAgYXMgdGhlIHRoaXJkIGFyZ3VtZW50IHRvIGB1c2VSZWN0YCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbiBvZiBSZWFjaCBVSS4gSW5zdGVhZCwgeW91IGNhbiBwYXNzIGFuIG9iamVjdCBvZiBvcHRpb25zIHdpdGggYW4gYG9uQ2hhbmdlYCBwcm9wZXJ0eSBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IChgdXNlUmVjdChyZWYsIHsgb25DaGFuZ2UgfSlgKS5cXG5cIiArIFwiU2VlIGh0dHBzOi8vcmVhY2gudGVjaC9yZWN0I3VzZXJlY3Qtb25jaGFuZ2VcIikgOiB2b2lkIDA7XG4gICAgfSwgW2RlcHJlY2F0ZWRfb25DaGFuZ2VdKTtcbiAgfVxuXG4gIHZhciBfUmVhY3QkdXNlU3RhdGUgPSB1c2VTdGF0ZShub2RlUmVmLmN1cnJlbnQpLFxuICAgICAgZWxlbWVudCA9IF9SZWFjdCR1c2VTdGF0ZVswXSxcbiAgICAgIHNldEVsZW1lbnQgPSBfUmVhY3QkdXNlU3RhdGVbMV07XG5cbiAgdmFyIGluaXRpYWxSZWN0SXNTZXQgPSB1c2VSZWYoZmFsc2UpO1xuICB2YXIgaW5pdGlhbFJlZklzU2V0ID0gdXNlUmVmKGZhbHNlKTtcblxuICB2YXIgX1JlYWN0JHVzZVN0YXRlMiA9IHVzZVN0YXRlKG51bGwpLFxuICAgICAgcmVjdCA9IF9SZWFjdCR1c2VTdGF0ZTJbMF0sXG4gICAgICBzZXRSZWN0ID0gX1JlYWN0JHVzZVN0YXRlMlsxXTtcblxuICB2YXIgb25DaGFuZ2VSZWYgPSB1c2VSZWYob25DaGFuZ2UpOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG5cbiAgdXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgb25DaGFuZ2VSZWYuY3VycmVudCA9IG9uQ2hhbmdlO1xuXG4gICAgaWYgKG5vZGVSZWYuY3VycmVudCAhPT0gZWxlbWVudCkge1xuICAgICAgc2V0RWxlbWVudChub2RlUmVmLmN1cnJlbnQpO1xuICAgIH1cbiAgfSk7XG4gIHVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIGlmIChlbGVtZW50ICYmICFpbml0aWFsUmVjdElzU2V0LmN1cnJlbnQpIHtcbiAgICAgIGluaXRpYWxSZWN0SXNTZXQuY3VycmVudCA9IHRydWU7XG4gICAgICBzZXRSZWN0KGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpO1xuICAgIH1cbiAgfSwgW2VsZW1lbnRdKTtcbiAgdXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgaWYgKCFvYnNlcnZlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGVsZW0gPSBlbGVtZW50OyAvLyBTdGF0ZSBpbml0aWFsaXplcyBiZWZvcmUgcmVmcyBhcmUgcGxhY2VkLCBtZWFuaW5nIHRoZSBlbGVtZW50IHN0YXRlIHdpbGxcbiAgICAvLyBiZSB1bmRlZmluZWQgb24gdGhlIGZpcnN0IHJlbmRlci4gV2Ugc3RpbGwgd2FudCB0aGUgcmVjdCBvbiB0aGUgZmlyc3RcbiAgICAvLyByZW5kZXIsIHNvIGluaXRpYWxseSB3ZSdsbCB1c2UgdGhlIG5vZGVSZWYgdGhhdCB3YXMgcGFzc2VkIGluc3RlYWQgb2ZcbiAgICAvLyBzdGF0ZSBmb3Igb3VyIG1lYXN1cmVtZW50cy5cblxuICAgIGlmICghaW5pdGlhbFJlZklzU2V0LmN1cnJlbnQpIHtcbiAgICAgIGluaXRpYWxSZWZJc1NldC5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIGVsZW0gPSBub2RlUmVmLmN1cnJlbnQ7XG4gICAgfVxuXG4gICAgaWYgKCFlbGVtKSB7XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcIllvdSBuZWVkIHRvIHBsYWNlIHRoZSByZWZcIik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgb2JzZXJ2ZXIgPSBvYnNlcnZlUmVjdChlbGVtLCBmdW5jdGlvbiAocmVjdCkge1xuICAgICAgb25DaGFuZ2VSZWYuY3VycmVudCA9PSBudWxsID8gdm9pZCAwIDogb25DaGFuZ2VSZWYuY3VycmVudChyZWN0KTtcbiAgICAgIHNldFJlY3QocmVjdCk7XG4gICAgfSk7XG4gICAgb2JzZXJ2ZXIub2JzZXJ2ZSgpO1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICBvYnNlcnZlci51bm9ic2VydmUoKTtcbiAgICB9O1xuICB9LCBbb2JzZXJ2ZSwgZWxlbWVudCwgbm9kZVJlZl0pO1xuICByZXR1cm4gcmVjdDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgUmVjdDtcbmV4cG9ydCB7IFJlY3QsIHVzZVJlY3QgfTtcbiIsImltcG9ydCB7IHVzZVN0YXRlLCB1c2VSZWYsIHVzZUVmZmVjdCwgZm9yd2FyZFJlZiwgQ2hpbGRyZW4sIGNyZWF0ZUVsZW1lbnQsIEZyYWdtZW50LCBjbG9uZUVsZW1lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VJZCB9IGZyb20gJ0ByZWFjaC9hdXRvLWlkJztcbmltcG9ydCB7IGdldERvY3VtZW50RGltZW5zaW9ucyB9IGZyb20gJ0ByZWFjaC91dGlscy9nZXQtZG9jdW1lbnQtZGltZW5zaW9ucyc7XG5pbXBvcnQgeyBnZXRPd25lckRvY3VtZW50IH0gZnJvbSAnQHJlYWNoL3V0aWxzL293bmVyLWRvY3VtZW50JztcbmltcG9ydCB7IG1ha2VJZCB9IGZyb20gJ0ByZWFjaC91dGlscy9tYWtlLWlkJztcbmltcG9ydCB7IHVzZUNoZWNrU3R5bGVzIH0gZnJvbSAnQHJlYWNoL3V0aWxzL2Rldi11dGlscyc7XG5pbXBvcnQgeyB1c2VDb21wb3NlZFJlZnMgfSBmcm9tICdAcmVhY2gvdXRpbHMvY29tcG9zZS1yZWZzJztcbmltcG9ydCB7IGNvbXBvc2VFdmVudEhhbmRsZXJzIH0gZnJvbSAnQHJlYWNoL3V0aWxzL2NvbXBvc2UtZXZlbnQtaGFuZGxlcnMnO1xuaW1wb3J0IHsgUG9ydGFsIH0gZnJvbSAnQHJlYWNoL3BvcnRhbCc7XG5pbXBvcnQgeyBWaXN1YWxseUhpZGRlbiB9IGZyb20gJ0ByZWFjaC92aXN1YWxseS1oaWRkZW4nO1xuaW1wb3J0IHsgdXNlUmVjdCB9IGZyb20gJ0ByZWFjaC9yZWN0JztcbmltcG9ydCB3YXJuaW5nIGZyb20gJ3Rpbnktd2FybmluZyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5mdW5jdGlvbiBfZXh0ZW5kcygpIHtcbiAgX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHtcbiAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTtcblxuICAgICAgZm9yICh2YXIga2V5IGluIHNvdXJjZSkge1xuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkge1xuICAgICAgICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9O1xuXG4gIHJldHVybiBfZXh0ZW5kcy5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xufVxuXG5mdW5jdGlvbiBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShzb3VyY2UsIGV4Y2x1ZGVkKSB7XG4gIGlmIChzb3VyY2UgPT0gbnVsbCkgcmV0dXJuIHt9O1xuICB2YXIgdGFyZ2V0ID0ge307XG4gIHZhciBzb3VyY2VLZXlzID0gT2JqZWN0LmtleXMoc291cmNlKTtcbiAgdmFyIGtleSwgaTtcblxuICBmb3IgKGkgPSAwOyBpIDwgc291cmNlS2V5cy5sZW5ndGg7IGkrKykge1xuICAgIGtleSA9IHNvdXJjZUtleXNbaV07XG4gICAgaWYgKGV4Y2x1ZGVkLmluZGV4T2Yoa2V5KSA+PSAwKSBjb250aW51ZTtcbiAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxudmFyIF9leGNsdWRlZCA9IFtcImNoaWxkcmVuXCIsIFwibGFiZWxcIiwgXCJhcmlhTGFiZWxcIiwgXCJpZFwiLCBcIkRFQlVHX1NUWUxFXCJdLFxuICAgIF9leGNsdWRlZDIgPSBbXCJsYWJlbFwiLCBcImFyaWFMYWJlbFwiLCBcImlzVmlzaWJsZVwiLCBcImlkXCJdLFxuICAgIF9leGNsdWRlZDMgPSBbXCJhcmlhTGFiZWxcIiwgXCJhcmlhLWxhYmVsXCIsIFwiYXNcIiwgXCJpZFwiLCBcImlzVmlzaWJsZVwiLCBcImxhYmVsXCIsIFwicG9zaXRpb25cIiwgXCJzdHlsZVwiLCBcInRyaWdnZXJSZWN0XCJdLFxuICAgIF9leGNsdWRlZDQgPSBbXCJ0eXBlXCJdO1xuXG52YXIgX29uLCBfb24yLCBfb24zLCBfb240LCBfb241LCBfc3RhdGVzO1xudmFyIE1PVVNFX1JFU1RfVElNRU9VVCA9IDEwMDtcbnZhciBMRUFWRV9USU1FT1VUID0gNTAwOyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gU3RhdGVzXG5cbnZhciBUb29sdGlwU3RhdGVzOyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRXZlbnRzXG5cbihmdW5jdGlvbiAoVG9vbHRpcFN0YXRlcykge1xuICBUb29sdGlwU3RhdGVzW1wiSWRsZVwiXSA9IFwiSURMRVwiO1xuICBUb29sdGlwU3RhdGVzW1wiRm9jdXNlZFwiXSA9IFwiRk9DVVNFRFwiO1xuICBUb29sdGlwU3RhdGVzW1wiVmlzaWJsZVwiXSA9IFwiVklTSUJMRVwiO1xuICBUb29sdGlwU3RhdGVzW1wiTGVhdmluZ1Zpc2libGVcIl0gPSBcIkxFQVZJTkdfVklTSUJMRVwiO1xuICBUb29sdGlwU3RhdGVzW1wiRGlzbWlzc2VkXCJdID0gXCJESVNNSVNTRURcIjtcbn0pKFRvb2x0aXBTdGF0ZXMgfHwgKFRvb2x0aXBTdGF0ZXMgPSB7fSkpO1xuXG52YXIgVG9vbHRpcEV2ZW50cztcblxuKGZ1bmN0aW9uIChUb29sdGlwRXZlbnRzKSB7XG4gIFRvb2x0aXBFdmVudHNbXCJCbHVyXCJdID0gXCJCTFVSXCI7XG4gIFRvb2x0aXBFdmVudHNbXCJGb2N1c1wiXSA9IFwiRk9DVVNcIjtcbiAgVG9vbHRpcEV2ZW50c1tcIkdsb2JhbE1vdXNlTW92ZVwiXSA9IFwiR0xPQkFMX01PVVNFX01PVkVcIjtcbiAgVG9vbHRpcEV2ZW50c1tcIk1vdXNlRG93blwiXSA9IFwiTU9VU0VfRE9XTlwiO1xuICBUb29sdGlwRXZlbnRzW1wiTW91c2VFbnRlclwiXSA9IFwiTU9VU0VfRU5URVJcIjtcbiAgVG9vbHRpcEV2ZW50c1tcIk1vdXNlTGVhdmVcIl0gPSBcIk1PVVNFX0xFQVZFXCI7XG4gIFRvb2x0aXBFdmVudHNbXCJNb3VzZU1vdmVcIl0gPSBcIk1PVVNFX01PVkVcIjtcbiAgVG9vbHRpcEV2ZW50c1tcIlJlc3RcIl0gPSBcIlJFU1RcIjtcbiAgVG9vbHRpcEV2ZW50c1tcIlNlbGVjdFdpdGhLZXlib2FyZFwiXSA9IFwiU0VMRUNUX1dJVEhfS0VZQk9BUkRcIjtcbiAgVG9vbHRpcEV2ZW50c1tcIlRpbWVDb21wbGV0ZVwiXSA9IFwiVElNRV9DT01QTEVURVwiO1xufSkoVG9vbHRpcEV2ZW50cyB8fCAoVG9vbHRpcEV2ZW50cyA9IHt9KSk7XG5cbnZhciBjaGFydCA9IHtcbiAgaW5pdGlhbDogVG9vbHRpcFN0YXRlcy5JZGxlLFxuICBzdGF0ZXM6IChfc3RhdGVzID0ge30sIF9zdGF0ZXNbVG9vbHRpcFN0YXRlcy5JZGxlXSA9IHtcbiAgICBlbnRlcjogY2xlYXJDb250ZXh0SWQsXG4gICAgb246IChfb24gPSB7fSwgX29uW1Rvb2x0aXBFdmVudHMuTW91c2VFbnRlcl0gPSBUb29sdGlwU3RhdGVzLkZvY3VzZWQsIF9vbltUb29sdGlwRXZlbnRzLkZvY3VzXSA9IFRvb2x0aXBTdGF0ZXMuVmlzaWJsZSwgX29uKVxuICB9LCBfc3RhdGVzW1Rvb2x0aXBTdGF0ZXMuRm9jdXNlZF0gPSB7XG4gICAgZW50ZXI6IHN0YXJ0UmVzdFRpbWVyLFxuICAgIGxlYXZlOiBjbGVhclJlc3RUaW1lcixcbiAgICBvbjogKF9vbjIgPSB7fSwgX29uMltUb29sdGlwRXZlbnRzLk1vdXNlTW92ZV0gPSBUb29sdGlwU3RhdGVzLkZvY3VzZWQsIF9vbjJbVG9vbHRpcEV2ZW50cy5Nb3VzZUxlYXZlXSA9IFRvb2x0aXBTdGF0ZXMuSWRsZSwgX29uMltUb29sdGlwRXZlbnRzLk1vdXNlRG93bl0gPSBUb29sdGlwU3RhdGVzLkRpc21pc3NlZCwgX29uMltUb29sdGlwRXZlbnRzLkJsdXJdID0gVG9vbHRpcFN0YXRlcy5JZGxlLCBfb24yW1Rvb2x0aXBFdmVudHMuUmVzdF0gPSBUb29sdGlwU3RhdGVzLlZpc2libGUsIF9vbjIpXG4gIH0sIF9zdGF0ZXNbVG9vbHRpcFN0YXRlcy5WaXNpYmxlXSA9IHtcbiAgICBvbjogKF9vbjMgPSB7fSwgX29uM1tUb29sdGlwRXZlbnRzLkZvY3VzXSA9IFRvb2x0aXBTdGF0ZXMuRm9jdXNlZCwgX29uM1tUb29sdGlwRXZlbnRzLk1vdXNlRW50ZXJdID0gVG9vbHRpcFN0YXRlcy5Gb2N1c2VkLCBfb24zW1Rvb2x0aXBFdmVudHMuTW91c2VMZWF2ZV0gPSBUb29sdGlwU3RhdGVzLkxlYXZpbmdWaXNpYmxlLCBfb24zW1Rvb2x0aXBFdmVudHMuQmx1cl0gPSBUb29sdGlwU3RhdGVzLkxlYXZpbmdWaXNpYmxlLCBfb24zW1Rvb2x0aXBFdmVudHMuTW91c2VEb3duXSA9IFRvb2x0aXBTdGF0ZXMuRGlzbWlzc2VkLCBfb24zW1Rvb2x0aXBFdmVudHMuU2VsZWN0V2l0aEtleWJvYXJkXSA9IFRvb2x0aXBTdGF0ZXMuRGlzbWlzc2VkLCBfb24zW1Rvb2x0aXBFdmVudHMuR2xvYmFsTW91c2VNb3ZlXSA9IFRvb2x0aXBTdGF0ZXMuTGVhdmluZ1Zpc2libGUsIF9vbjMpXG4gIH0sIF9zdGF0ZXNbVG9vbHRpcFN0YXRlcy5MZWF2aW5nVmlzaWJsZV0gPSB7XG4gICAgZW50ZXI6IHN0YXJ0TGVhdmluZ1Zpc2libGVUaW1lcixcbiAgICBsZWF2ZTogZnVuY3Rpb24gbGVhdmUoKSB7XG4gICAgICBjbGVhckxlYXZpbmdWaXNpYmxlVGltZXIoKTtcbiAgICAgIGNsZWFyQ29udGV4dElkKCk7XG4gICAgfSxcbiAgICBvbjogKF9vbjQgPSB7fSwgX29uNFtUb29sdGlwRXZlbnRzLk1vdXNlRW50ZXJdID0gVG9vbHRpcFN0YXRlcy5WaXNpYmxlLCBfb240W1Rvb2x0aXBFdmVudHMuRm9jdXNdID0gVG9vbHRpcFN0YXRlcy5WaXNpYmxlLCBfb240W1Rvb2x0aXBFdmVudHMuVGltZUNvbXBsZXRlXSA9IFRvb2x0aXBTdGF0ZXMuSWRsZSwgX29uNClcbiAgfSwgX3N0YXRlc1tUb29sdGlwU3RhdGVzLkRpc21pc3NlZF0gPSB7XG4gICAgbGVhdmU6IGZ1bmN0aW9uIGxlYXZlKCkge1xuICAgICAgY2xlYXJDb250ZXh0SWQoKTtcbiAgICB9LFxuICAgIG9uOiAoX29uNSA9IHt9LCBfb241W1Rvb2x0aXBFdmVudHMuTW91c2VMZWF2ZV0gPSBUb29sdGlwU3RhdGVzLklkbGUsIF9vbjVbVG9vbHRpcEV2ZW50cy5CbHVyXSA9IFRvb2x0aXBTdGF0ZXMuSWRsZSwgX29uNSlcbiAgfSwgX3N0YXRlcylcbn07XG4vKlxuICogQ2hhcnQgY29udGV4dCBhbGxvd3MgdXMgdG8gcGVyc2lzdCBzb21lIGRhdGEgYXJvdW5kLCBpbiBUb29sdGlwIGFsbCB3ZSB1c2VcbiAqIGlzIHRoZSBpZCBvZiB0aGUgY3VycmVudCB0b29sdGlwIGJlaW5nIGludGVyYWN0ZWQgd2l0aC5cbiAqL1xuXG52YXIgc3RhdGUgPSB7XG4gIHZhbHVlOiBjaGFydC5pbml0aWFsLFxuICBjb250ZXh0OiB7XG4gICAgaWQ6IG51bGxcbiAgfVxufTsgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFN1YnNjcmlwdGlvbnM6XG4vL1xuLy8gV2UgY291bGQgcmVxdWlyZSBhcHBzIHRvIHJlbmRlciBhIDxUb29sdGlwUHJvdmlkZXI+IGFyb3VuZCB0aGUgYXBwIGFuZCB1c2Vcbi8vIFJlYWN0IGNvbnRleHQgdG8gbm90aWZ5IFRvb2x0aXBzIG9mIGNoYW5nZXMgdG8gb3VyIHN0YXRlIG1hY2hpbmUsIGluc3RlYWRcbi8vIHdlIG1hbmFnZSBzdWJzY3JpcHRpb25zIG91cnNlbHZlcyBhbmQgc2ltcGxpZnkgdGhlIFRvb2x0aXAgQVBJLlxuLy9cbi8vIE1heWJlIGlmIGRlZmF1bHQgY29udGV4dCBjb3VsZCB0YWtlIGEgaG9vayAoaW5zdGVhZCBvZiBqdXN0IGEgc3RhdGljIHZhbHVlKVxuLy8gdGhhdCB3YXMgcmVuZGVyZWQgYXQgdGhlIHJvb3QgZm9yIHVzLCB0aGF0J2QgYmUgY29vbCEgQnV0IGl0IGRvZXNuJ3QuXG5cbnZhciBzdWJzY3JpcHRpb25zID0gW107XG5cbmZ1bmN0aW9uIHN1YnNjcmliZShmbikge1xuICBzdWJzY3JpcHRpb25zLnB1c2goZm4pO1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIHN1YnNjcmlwdGlvbnMuc3BsaWNlKHN1YnNjcmlwdGlvbnMuaW5kZXhPZihmbiksIDEpO1xuICB9O1xufVxuXG5mdW5jdGlvbiBub3RpZnkoKSB7XG4gIHN1YnNjcmlwdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAoZm4pIHtcbiAgICByZXR1cm4gZm4oc3RhdGUpO1xuICB9KTtcbn0gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFRpbWVvdXRzOlxuLy8gTWFuYWdlcyB3aGVuIHRoZSB1c2VyIFwicmVzdHNcIiBvbiBhbiBlbGVtZW50LiBLZWVwcyB0aGUgaW50ZXJmYWNlIGZyb20gYmVpbmdcbi8vIGZsYXNoaW5nIHRvb2x0aXBzIGFsbCB0aGUgdGltZSBhcyB0aGUgdXNlciBtb3ZlcyB0aGUgbW91c2UgYXJvdW5kIHRoZSBzY3JlZW4uXG5cblxudmFyIHJlc3RUaW1lb3V0O1xuXG5mdW5jdGlvbiBzdGFydFJlc3RUaW1lcigpIHtcbiAgd2luZG93LmNsZWFyVGltZW91dChyZXN0VGltZW91dCk7XG4gIHJlc3RUaW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgIHNlbmQoe1xuICAgICAgdHlwZTogVG9vbHRpcEV2ZW50cy5SZXN0XG4gICAgfSk7XG4gIH0sIE1PVVNFX1JFU1RfVElNRU9VVCk7XG59XG5cbmZ1bmN0aW9uIGNsZWFyUmVzdFRpbWVyKCkge1xuICB3aW5kb3cuY2xlYXJUaW1lb3V0KHJlc3RUaW1lb3V0KTtcbn0gLy8gTWFuYWdlcyB0aGUgZGVsYXkgdG8gaGlkZSB0aGUgdG9vbHRpcCBhZnRlciByZXN0IGxlYXZlcy5cblxuXG52YXIgbGVhdmluZ1Zpc2libGVUaW1lcjtcblxuZnVuY3Rpb24gc3RhcnRMZWF2aW5nVmlzaWJsZVRpbWVyKCkge1xuICB3aW5kb3cuY2xlYXJUaW1lb3V0KGxlYXZpbmdWaXNpYmxlVGltZXIpO1xuICBsZWF2aW5nVmlzaWJsZVRpbWVyID0gd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBzZW5kKHtcbiAgICAgIHR5cGU6IFRvb2x0aXBFdmVudHMuVGltZUNvbXBsZXRlXG4gICAgfSk7XG4gIH0sIExFQVZFX1RJTUVPVVQpO1xufVxuXG5mdW5jdGlvbiBjbGVhckxlYXZpbmdWaXNpYmxlVGltZXIoKSB7XG4gIHdpbmRvdy5jbGVhclRpbWVvdXQobGVhdmluZ1Zpc2libGVUaW1lcik7XG59IC8vIGFsbG93cyB1cyB0byBjb21lIG9uIGJhY2sgbGF0ZXIgdy9vIGVudGVyaW5nIHNvbWV0aGluZyBlbHNlIGZpcnN0IGFmdGVyIHRoZVxuLy8gdXNlciBsZWF2ZXMgb3IgZGlzbWlzc2VzXG5cblxuZnVuY3Rpb24gY2xlYXJDb250ZXh0SWQoKSB7XG4gIHN0YXRlLmNvbnRleHQuaWQgPSBudWxsO1xufSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIHVzZVRvb2x0aXBcbiAqXG4gKiBAcGFyYW0gcGFyYW1zXG4gKi9cblxuXG5mdW5jdGlvbiB1c2VUb29sdGlwKF90ZW1wKSB7XG4gIHZhciBfcmVmID0gX3RlbXAgPT09IHZvaWQgMCA/IHt9IDogX3RlbXAsXG4gICAgICBpZFByb3AgPSBfcmVmLmlkLFxuICAgICAgb25Qb2ludGVyRW50ZXIgPSBfcmVmLm9uUG9pbnRlckVudGVyLFxuICAgICAgb25Qb2ludGVyTW92ZSA9IF9yZWYub25Qb2ludGVyTW92ZSxcbiAgICAgIG9uUG9pbnRlckxlYXZlID0gX3JlZi5vblBvaW50ZXJMZWF2ZSxcbiAgICAgIG9uUG9pbnRlckRvd24gPSBfcmVmLm9uUG9pbnRlckRvd24sXG4gICAgICBvbk1vdXNlRW50ZXIgPSBfcmVmLm9uTW91c2VFbnRlcixcbiAgICAgIG9uTW91c2VNb3ZlID0gX3JlZi5vbk1vdXNlTW92ZSxcbiAgICAgIG9uTW91c2VMZWF2ZSA9IF9yZWYub25Nb3VzZUxlYXZlLFxuICAgICAgb25Nb3VzZURvd24gPSBfcmVmLm9uTW91c2VEb3duLFxuICAgICAgb25Gb2N1cyA9IF9yZWYub25Gb2N1cyxcbiAgICAgIG9uQmx1ciA9IF9yZWYub25CbHVyLFxuICAgICAgb25LZXlEb3duID0gX3JlZi5vbktleURvd24sXG4gICAgICBkaXNhYmxlZCA9IF9yZWYuZGlzYWJsZWQsXG4gICAgICBmb3J3YXJkZWRSZWYgPSBfcmVmLnJlZixcbiAgICAgIERFQlVHX1NUWUxFID0gX3JlZi5ERUJVR19TVFlMRTtcblxuICB2YXIgaWQgPSBTdHJpbmcodXNlSWQoaWRQcm9wKSk7XG5cbiAgdmFyIF9SZWFjdCR1c2VTdGF0ZSA9IHVzZVN0YXRlKERFQlVHX1NUWUxFID8gdHJ1ZSA6IGlzVG9vbHRpcFZpc2libGUoaWQsIHRydWUpKSxcbiAgICAgIGlzVmlzaWJsZSA9IF9SZWFjdCR1c2VTdGF0ZVswXSxcbiAgICAgIHNldElzVmlzaWJsZSA9IF9SZWFjdCR1c2VTdGF0ZVsxXTsgLy8gaG9wZWZ1bGx5IHRoZXkgYWx3YXlzIHBhc3MgYSByZWYgaWYgdGhleSBldmVyIHBhc3Mgb25lXG5cblxuICB2YXIgb3duUmVmID0gdXNlUmVmKG51bGwpO1xuICB2YXIgcmVmID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgb3duUmVmKTtcbiAgdmFyIHRyaWdnZXJSZWN0ID0gdXNlUmVjdChvd25SZWYsIHtcbiAgICBvYnNlcnZlOiBpc1Zpc2libGVcbiAgfSk7XG4gIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIHN1YnNjcmliZShmdW5jdGlvbiAoKSB7XG4gICAgICBzZXRJc1Zpc2libGUoaXNUb29sdGlwVmlzaWJsZShpZCkpO1xuICAgIH0pO1xuICB9LCBbaWRdKTtcbiAgdXNlQ2hlY2tTdHlsZXMoXCJ0b29sdGlwXCIpO1xuICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIHZhciBvd25lckRvY3VtZW50ID0gZ2V0T3duZXJEb2N1bWVudChvd25SZWYuY3VycmVudCk7XG5cbiAgICBmdW5jdGlvbiBsaXN0ZW5lcihldmVudCkge1xuICAgICAgaWYgKChldmVudC5rZXkgPT09IFwiRXNjYXBlXCIgfHwgZXZlbnQua2V5ID09PSBcIkVzY1wiKSAmJiBzdGF0ZS52YWx1ZSA9PT0gVG9vbHRpcFN0YXRlcy5WaXNpYmxlKSB7XG4gICAgICAgIHNlbmQoe1xuICAgICAgICAgIHR5cGU6IFRvb2x0aXBFdmVudHMuU2VsZWN0V2l0aEtleWJvYXJkXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIG93bmVyRG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgbGlzdGVuZXIpO1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gb3duZXJEb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCBsaXN0ZW5lcik7XG4gICAgfTtcbiAgfSwgW10pO1xuICB1c2VEaXNhYmxlZFRyaWdnZXJPblNhZmFyaSh7XG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkLFxuICAgIGlzVmlzaWJsZTogaXNWaXNpYmxlLFxuICAgIHJlZjogb3duUmVmXG4gIH0pO1xuXG4gIGZ1bmN0aW9uIHdyYXBNb3VzZUV2ZW50KHRoZWlySGFuZGxlciwgb3VySGFuZGxlcikge1xuICAgIC8vIFVzZSBpbnRlcm5hbCBNb3VzZUV2ZW50IGhhbmRsZXIgb25seSBpZiBQb2ludGVyRXZlbnQgaXMgbm90IHN1cHBvcnRlZFxuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIFwiUG9pbnRlckV2ZW50XCIgaW4gd2luZG93KSB7XG4gICAgICByZXR1cm4gdGhlaXJIYW5kbGVyO1xuICAgIH1cblxuICAgIHJldHVybiBjb21wb3NlRXZlbnRIYW5kbGVycyh0aGVpckhhbmRsZXIsIG91ckhhbmRsZXIpO1xuICB9XG5cbiAgZnVuY3Rpb24gd3JhcFBvaW50ZXJFdmVudEhhbmRsZXIoaGFuZGxlcikge1xuICAgIHJldHVybiBmdW5jdGlvbiBvblBvaW50ZXJFdmVudChldmVudCkge1xuICAgICAgLy8gSGFuZGxlIHBvaW50ZXIgZXZlbnRzIG9ubHkgZnJvbSBtb3VzZSBkZXZpY2VcbiAgICAgIGlmIChldmVudC5wb2ludGVyVHlwZSAhPT0gXCJtb3VzZVwiKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaGFuZGxlcihldmVudCk7XG4gICAgfTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZU1vdXNlRW50ZXIoKSB7XG4gICAgc2VuZCh7XG4gICAgICB0eXBlOiBUb29sdGlwRXZlbnRzLk1vdXNlRW50ZXIsXG4gICAgICBpZDogaWRcbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZU1vdXNlTW92ZSgpIHtcbiAgICBzZW5kKHtcbiAgICAgIHR5cGU6IFRvb2x0aXBFdmVudHMuTW91c2VNb3ZlLFxuICAgICAgaWQ6IGlkXG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVNb3VzZUxlYXZlKCkge1xuICAgIHNlbmQoe1xuICAgICAgdHlwZTogVG9vbHRpcEV2ZW50cy5Nb3VzZUxlYXZlXG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVNb3VzZURvd24oKSB7XG4gICAgLy8gQWxsb3cgcXVpY2sgY2xpY2sgZnJvbSBvbmUgdG9vbCB0byBhbm90aGVyXG4gICAgaWYgKHN0YXRlLmNvbnRleHQuaWQgPT09IGlkKSB7XG4gICAgICBzZW5kKHtcbiAgICAgICAgdHlwZTogVG9vbHRpcEV2ZW50cy5Nb3VzZURvd25cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZUZvY3VzKCkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAod2luZG93Ll9fUkVBQ0hfRElTQUJMRV9UT09MVElQUykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNlbmQoe1xuICAgICAgdHlwZTogVG9vbHRpcEV2ZW50cy5Gb2N1cyxcbiAgICAgIGlkOiBpZFxuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlQmx1cigpIHtcbiAgICAvLyBBbGxvdyBxdWljayBjbGljayBmcm9tIG9uZSB0b29sIHRvIGFub3RoZXJcbiAgICBpZiAoc3RhdGUuY29udGV4dC5pZCA9PT0gaWQpIHtcbiAgICAgIHNlbmQoe1xuICAgICAgICB0eXBlOiBUb29sdGlwRXZlbnRzLkJsdXJcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZUtleURvd24oZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSBcIkVudGVyXCIgfHwgZXZlbnQua2V5ID09PSBcIiBcIikge1xuICAgICAgc2VuZCh7XG4gICAgICAgIHR5cGU6IFRvb2x0aXBFdmVudHMuU2VsZWN0V2l0aEtleWJvYXJkXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICB2YXIgdHJpZ2dlciA9IHtcbiAgICAvLyBUaGUgZWxlbWVudCB0aGF0IHRyaWdnZXJzIHRoZSB0b29sdGlwIHJlZmVyZW5jZXMgdGhlIHRvb2x0aXAgZWxlbWVudCB3aXRoXG4gICAgLy8gYGFyaWEtZGVzY3JpYmVkYnlgLlxuICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS1wcmFjdGljZXMtMS4yLyN0b29sdGlwXG4gICAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IGlzVmlzaWJsZSA/IG1ha2VJZChcInRvb2x0aXBcIiwgaWQpIDogdW5kZWZpbmVkLFxuICAgIFwiZGF0YS1zdGF0ZVwiOiBpc1Zpc2libGUgPyBcInRvb2x0aXAtdmlzaWJsZVwiIDogXCJ0b29sdGlwLWhpZGRlblwiLFxuICAgIFwiZGF0YS1yZWFjaC10b29sdGlwLXRyaWdnZXJcIjogXCJcIixcbiAgICByZWY6IHJlZixcbiAgICBvblBvaW50ZXJFbnRlcjogY29tcG9zZUV2ZW50SGFuZGxlcnMob25Qb2ludGVyRW50ZXIsIHdyYXBQb2ludGVyRXZlbnRIYW5kbGVyKGhhbmRsZU1vdXNlRW50ZXIpKSxcbiAgICBvblBvaW50ZXJNb3ZlOiBjb21wb3NlRXZlbnRIYW5kbGVycyhvblBvaW50ZXJNb3ZlLCB3cmFwUG9pbnRlckV2ZW50SGFuZGxlcihoYW5kbGVNb3VzZU1vdmUpKSxcbiAgICBvblBvaW50ZXJMZWF2ZTogY29tcG9zZUV2ZW50SGFuZGxlcnMob25Qb2ludGVyTGVhdmUsIHdyYXBQb2ludGVyRXZlbnRIYW5kbGVyKGhhbmRsZU1vdXNlTGVhdmUpKSxcbiAgICBvblBvaW50ZXJEb3duOiBjb21wb3NlRXZlbnRIYW5kbGVycyhvblBvaW50ZXJEb3duLCB3cmFwUG9pbnRlckV2ZW50SGFuZGxlcihoYW5kbGVNb3VzZURvd24pKSxcbiAgICBvbk1vdXNlRW50ZXI6IHdyYXBNb3VzZUV2ZW50KG9uTW91c2VFbnRlciwgaGFuZGxlTW91c2VFbnRlciksXG4gICAgb25Nb3VzZU1vdmU6IHdyYXBNb3VzZUV2ZW50KG9uTW91c2VNb3ZlLCBoYW5kbGVNb3VzZU1vdmUpLFxuICAgIG9uTW91c2VMZWF2ZTogd3JhcE1vdXNlRXZlbnQob25Nb3VzZUxlYXZlLCBoYW5kbGVNb3VzZUxlYXZlKSxcbiAgICBvbk1vdXNlRG93bjogd3JhcE1vdXNlRXZlbnQob25Nb3VzZURvd24sIGhhbmRsZU1vdXNlRG93biksXG4gICAgb25Gb2N1czogY29tcG9zZUV2ZW50SGFuZGxlcnMob25Gb2N1cywgaGFuZGxlRm9jdXMpLFxuICAgIG9uQmx1cjogY29tcG9zZUV2ZW50SGFuZGxlcnMob25CbHVyLCBoYW5kbGVCbHVyKSxcbiAgICBvbktleURvd246IGNvbXBvc2VFdmVudEhhbmRsZXJzKG9uS2V5RG93biwgaGFuZGxlS2V5RG93bilcbiAgfTtcbiAgdmFyIHRvb2x0aXAgPSB7XG4gICAgaWQ6IGlkLFxuICAgIHRyaWdnZXJSZWN0OiB0cmlnZ2VyUmVjdCxcbiAgICBpc1Zpc2libGU6IGlzVmlzaWJsZVxuICB9O1xuICByZXR1cm4gW3RyaWdnZXIsIHRvb2x0aXAsIGlzVmlzaWJsZV07XG59IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qKlxuICogVG9vbHRpcFxuICpcbiAqIEBzZWUgRG9jcyBodHRwczovL3JlYWNoLnRlY2gvdG9vbHRpcCN0b29sdGlwXG4gKi9cblxuXG52YXIgVG9vbHRpcCA9IC8qI19fUFVSRV9fKi9mb3J3YXJkUmVmKGZ1bmN0aW9uIChfcmVmMiwgZm9yd2FyZGVkUmVmKSB7XG4gIHZhciBjaGlsZHJlbiA9IF9yZWYyLmNoaWxkcmVuLFxuICAgICAgbGFiZWwgPSBfcmVmMi5sYWJlbCxcbiAgICAgIERFUFJFQ0FURURfYXJpYUxhYmVsID0gX3JlZjIuYXJpYUxhYmVsLFxuICAgICAgaWQgPSBfcmVmMi5pZCxcbiAgICAgIERFQlVHX1NUWUxFID0gX3JlZjIuREVCVUdfU1RZTEUsXG4gICAgICBwcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlKF9yZWYyLCBfZXhjbHVkZWQpO1xuXG4gIHZhciBjaGlsZCA9IENoaWxkcmVuLm9ubHkoY2hpbGRyZW4pO1xuICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyB3YXJuaW5nKCFERVBSRUNBVEVEX2FyaWFMYWJlbCwgXCJUaGUgYGFyaWFMYWJlbCBwcm9wIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIEByZWFjaC90b29sdGlwIGluIGEgZnV0dXJlIHZlcnNpb24gb2YgUmVhY2ggVUkuIFBsZWFzZSB1c2UgYGFyaWEtbGFiZWxgIGluc3RlYWQuXCIpIDogdm9pZCAwOyAvLyBXZSBuZWVkIHRvIHBhc3Mgc29tZSBwcm9wZXJ0aWVzIGZyb20gdGhlIGNoaWxkIGludG8gdXNlVG9vbHRpcFxuICAvLyB0byBtYWtlIHN1cmUgdXNlcnMgY2FuIG1haW50YWluIGNvbnRyb2wgb3ZlciB0aGUgdHJpZ2dlcidzIHJlZiBhbmQgZXZlbnRzXG5cbiAgdmFyIF91c2VUb29sdGlwID0gdXNlVG9vbHRpcCh7XG4gICAgaWQ6IGlkLFxuICAgIG9uUG9pbnRlckVudGVyOiBjaGlsZC5wcm9wcy5vblBvaW50ZXJFbnRlcixcbiAgICBvblBvaW50ZXJNb3ZlOiBjaGlsZC5wcm9wcy5vblBvaW50ZXJNb3ZlLFxuICAgIG9uUG9pbnRlckxlYXZlOiBjaGlsZC5wcm9wcy5vblBvaW50ZXJMZWF2ZSxcbiAgICBvblBvaW50ZXJEb3duOiBjaGlsZC5wcm9wcy5vblBvaW50ZXJEb3duLFxuICAgIG9uTW91c2VFbnRlcjogY2hpbGQucHJvcHMub25Nb3VzZUVudGVyLFxuICAgIG9uTW91c2VNb3ZlOiBjaGlsZC5wcm9wcy5vbk1vdXNlTW92ZSxcbiAgICBvbk1vdXNlTGVhdmU6IGNoaWxkLnByb3BzLm9uTW91c2VMZWF2ZSxcbiAgICBvbk1vdXNlRG93bjogY2hpbGQucHJvcHMub25Nb3VzZURvd24sXG4gICAgb25Gb2N1czogY2hpbGQucHJvcHMub25Gb2N1cyxcbiAgICBvbkJsdXI6IGNoaWxkLnByb3BzLm9uQmx1cixcbiAgICBvbktleURvd246IGNoaWxkLnByb3BzLm9uS2V5RG93bixcbiAgICBkaXNhYmxlZDogY2hpbGQucHJvcHMuZGlzYWJsZWQsXG4gICAgcmVmOiBjaGlsZC5yZWYsXG4gICAgREVCVUdfU1RZTEU6IERFQlVHX1NUWUxFXG4gIH0pLFxuICAgICAgdHJpZ2dlciA9IF91c2VUb29sdGlwWzBdLFxuICAgICAgdG9vbHRpcCA9IF91c2VUb29sdGlwWzFdO1xuXG4gIHJldHVybiAvKiNfX1BVUkVfXyovY3JlYXRlRWxlbWVudChGcmFnbWVudCwgbnVsbCwgLyojX19QVVJFX18qL2Nsb25lRWxlbWVudChjaGlsZCwgdHJpZ2dlciksIC8qI19fUFVSRV9fKi9jcmVhdGVFbGVtZW50KFRvb2x0aXBQb3B1cCwgX2V4dGVuZHMoe1xuICAgIHJlZjogZm9yd2FyZGVkUmVmLFxuICAgIGxhYmVsOiBsYWJlbCxcbiAgICBcImFyaWEtbGFiZWxcIjogREVQUkVDQVRFRF9hcmlhTGFiZWxcbiAgfSwgdG9vbHRpcCwgcHJvcHMpKSk7XG59KTtcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICBUb29sdGlwLmRpc3BsYXlOYW1lID0gXCJUb29sdGlwXCI7XG4gIFRvb2x0aXAucHJvcFR5cGVzID0ge1xuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLFxuICAgIGxhYmVsOiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLFxuICAgIGFyaWFMYWJlbDogUHJvcFR5cGVzLnN0cmluZ1xuICB9O1xufSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIFRvb2x0aXBQb3B1cFxuICpcbiAqIEBzZWUgRG9jcyBodHRwczovL3JlYWNoLnRlY2gvdG9vbHRpcCN0b29sdGlwcG9wdXBcbiAqL1xuXG5cbnZhciBUb29sdGlwUG9wdXAgPSAvKiNfX1BVUkVfXyovZm9yd2FyZFJlZihmdW5jdGlvbiBUb29sdGlwUG9wdXAoX3JlZjMsIGZvcndhcmRSZWYpIHtcbiAgdmFyIGxhYmVsID0gX3JlZjMubGFiZWwsXG4gICAgICBERVBSRUNBVEVEX2FyaWFMYWJlbCA9IF9yZWYzLmFyaWFMYWJlbCxcbiAgICAgIGlzVmlzaWJsZSA9IF9yZWYzLmlzVmlzaWJsZSxcbiAgICAgIGlkID0gX3JlZjMuaWQsXG4gICAgICBwcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlKF9yZWYzLCBfZXhjbHVkZWQyKTtcblxuICByZXR1cm4gaXNWaXNpYmxlID8gLyojX19QVVJFX18qL2NyZWF0ZUVsZW1lbnQoUG9ydGFsLCBudWxsLCAvKiNfX1BVUkVfXyovY3JlYXRlRWxlbWVudChUb29sdGlwQ29udGVudCwgX2V4dGVuZHMoe1xuICAgIHJlZjogZm9yd2FyZFJlZixcbiAgICBsYWJlbDogbGFiZWwsXG4gICAgXCJhcmlhLWxhYmVsXCI6IERFUFJFQ0FURURfYXJpYUxhYmVsLFxuICAgIGlzVmlzaWJsZTogaXNWaXNpYmxlXG4gIH0sIHByb3BzLCB7XG4gICAgaWQ6IG1ha2VJZChcInRvb2x0aXBcIiwgU3RyaW5nKGlkKSlcbiAgfSkpKSA6IG51bGw7XG59KTtcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICBUb29sdGlwUG9wdXAuZGlzcGxheU5hbWUgPSBcIlRvb2x0aXBQb3B1cFwiO1xuICBUb29sdGlwUG9wdXAucHJvcFR5cGVzID0ge1xuICAgIGxhYmVsOiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLFxuICAgIGFyaWFMYWJlbDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBwb3NpdGlvbjogUHJvcFR5cGVzLmZ1bmNcbiAgfTtcbn1cbi8qKlxuICogVG9vbHRpcENvbnRlbnRcbiAqXG4gKiBXZSBuZWVkIGEgc2VwYXJhdGUgY29tcG9uZW50IHNvIHRoYXQgdXNlUmVjdCB3b3JrcyBpbnNpZGUgdGhlIHBvcnRhbC5cbiAqXG4gKiBAc2VlIERvY3MgaHR0cHM6Ly9yZWFjaC50ZWNoL3Rvb2x0aXAjdG9vbHRpcGNvbnRlbnRcbiAqL1xuXG5cbnZhciBUb29sdGlwQ29udGVudCA9IC8qI19fUFVSRV9fKi9mb3J3YXJkUmVmKGZ1bmN0aW9uIFRvb2x0aXBDb250ZW50KF9yZWY0LCBmb3J3YXJkZWRSZWYpIHtcbiAgdmFyIGFyaWFMYWJlbCA9IF9yZWY0LmFyaWFMYWJlbCxcbiAgICAgIHJlYWxBcmlhTGFiZWwgPSBfcmVmNFtcImFyaWEtbGFiZWxcIl0sXG4gICAgICBfcmVmNCRhcyA9IF9yZWY0LmFzLFxuICAgICAgQ29tcCA9IF9yZWY0JGFzID09PSB2b2lkIDAgPyBcImRpdlwiIDogX3JlZjQkYXMsXG4gICAgICBpZCA9IF9yZWY0LmlkLFxuICAgICAgaXNWaXNpYmxlID0gX3JlZjQuaXNWaXNpYmxlLFxuICAgICAgbGFiZWwgPSBfcmVmNC5sYWJlbCxcbiAgICAgIF9yZWY0JHBvc2l0aW9uID0gX3JlZjQucG9zaXRpb24sXG4gICAgICBwb3NpdGlvbiA9IF9yZWY0JHBvc2l0aW9uID09PSB2b2lkIDAgPyBwb3NpdGlvblRvb2x0aXAgOiBfcmVmNCRwb3NpdGlvbixcbiAgICAgIHN0eWxlID0gX3JlZjQuc3R5bGUsXG4gICAgICB0cmlnZ2VyUmVjdCA9IF9yZWY0LnRyaWdnZXJSZWN0LFxuICAgICAgcHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShfcmVmNCwgX2V4Y2x1ZGVkMyk7XG5cbiAgLy8gVGhlIGVsZW1lbnQgdGhhdCBzZXJ2ZXMgYXMgdGhlIHRvb2x0aXAgY29udGFpbmVyIGhhcyByb2xlIHRvb2x0aXAuXG4gIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS1wcmFjdGljZXMtMS4yLyN0b29sdGlwIFdoZW4gYW4gYXBwIHBhc3Nlc1xuICAvLyBhbiBgYXJpYS1sYWJlbGAsIHdlIGFjdHVhbGx5IHdhbnQgdG8gaW1wbGVtZW50IGByb2xlPVwidG9vbHRpcFwiYCBvbiBhXG4gIC8vIHZpc3VhbGx5IGhpZGRlbiBlbGVtZW50IGluc2lkZSBvZiB0aGUgdHJpZ2dlci4gSW4gdGhlc2UgY2FzZXMgd2Ugd2FudCB0aGVcbiAgLy8gc2NyZWVuIHJlYWRlciB1c2VyIHRvIGtub3cgYm90aCB0aGUgY29udGVudCBpbiB0aGUgdG9vbHRpcCwgYnV0IGFsc28gdGhlXG4gIC8vIGNvbnRlbnQgaW4gdGhlIGJhZGdlLiBGb3Igc2NyZWVuIHJlYWRlciB1c2VycywgdGhlIG9ubHkgY29udGVudCBhbm5vdW5jZWRcbiAgLy8gdG8gdGhlbSBpcyB3aGF0ZXZlciBpcyBpbiB0aGUgdG9vbHRpcC5cbiAgdmFyIGhhc0FyaWFMYWJlbCA9IChyZWFsQXJpYUxhYmVsIHx8IGFyaWFMYWJlbCkgIT0gbnVsbDtcbiAgdmFyIG93blJlZiA9IHVzZVJlZihudWxsKTtcbiAgdmFyIHJlZiA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIG93blJlZik7XG4gIHZhciB0b29sdGlwUmVjdCA9IHVzZVJlY3Qob3duUmVmLCB7XG4gICAgb2JzZXJ2ZTogaXNWaXNpYmxlXG4gIH0pO1xuICByZXR1cm4gLyojX19QVVJFX18qL2NyZWF0ZUVsZW1lbnQoRnJhZ21lbnQsIG51bGwsIC8qI19fUFVSRV9fKi9jcmVhdGVFbGVtZW50KENvbXAsIF9leHRlbmRzKHtcbiAgICByb2xlOiBoYXNBcmlhTGFiZWwgPyB1bmRlZmluZWQgOiBcInRvb2x0aXBcIlxuICB9LCBwcm9wcywge1xuICAgIHJlZjogcmVmLFxuICAgIFwiZGF0YS1yZWFjaC10b29sdGlwXCI6IFwiXCIsXG4gICAgaWQ6IGhhc0FyaWFMYWJlbCA/IHVuZGVmaW5lZCA6IGlkLFxuICAgIHN0eWxlOiBfZXh0ZW5kcyh7fSwgc3R5bGUsIGdldFN0eWxlcyhwb3NpdGlvbiwgdHJpZ2dlclJlY3QsIHRvb2x0aXBSZWN0KSlcbiAgfSksIGxhYmVsKSwgaGFzQXJpYUxhYmVsICYmIC8qI19fUFVSRV9fKi9jcmVhdGVFbGVtZW50KFZpc3VhbGx5SGlkZGVuLCB7XG4gICAgcm9sZTogXCJ0b29sdGlwXCIsXG4gICAgaWQ6IGlkXG4gIH0sIHJlYWxBcmlhTGFiZWwgfHwgYXJpYUxhYmVsKSk7XG59KTtcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICBUb29sdGlwQ29udGVudC5kaXNwbGF5TmFtZSA9IFwiVG9vbHRpcENvbnRlbnRcIjtcbiAgVG9vbHRpcENvbnRlbnQucHJvcFR5cGVzID0ge307XG59IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuZnVuY3Rpb24gZ2V0U3R5bGVzKHBvc2l0aW9uLCB0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QpIHtcbiAgdmFyIGhhdmVudE1lYXN1cmVkVG9vbHRpcFlldCA9ICF0b29sdGlwUmVjdDtcblxuICBpZiAoaGF2ZW50TWVhc3VyZWRUb29sdGlwWWV0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZpc2liaWxpdHk6IFwiaGlkZGVuXCJcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHBvc2l0aW9uKHRyaWdnZXJSZWN0LCB0b29sdGlwUmVjdCk7XG59IC8vIERlZmF1bHQgb2Zmc2V0IGZyb20gdGhlIHRyaWdnZXIgKGUuZy4sIGlmIHRoZSB0b29sdGlwIGlzIHBvc2l0aW9uZWQgYWJvdmUsXG4vLyB0aGVyZSB3aWxsIGJlIDhweCBiZXR3ZWVuIHRoZSBib3R0b20gb2YgdGhlIHRvb2x0aXAgYW5kIHRoZSB0b3Agb2YgdGhlIHRyaWdnZXIpLlxuLy8gSXQgZmVlbHMgYXdrd2FyZCB3aGVuIGl0J3MgcGVyZmVjdGx5IGFsaWduZWQgdy8gdGhlIHRyaWdnZXJcblxuXG52YXIgT0ZGU0VUX0RFRkFVTFQgPSA4O1xudmFyIHBvc2l0aW9uVG9vbHRpcCA9IGZ1bmN0aW9uIHBvc2l0aW9uVG9vbHRpcCh0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QsIG9mZnNldCkge1xuICBpZiAob2Zmc2V0ID09PSB2b2lkIDApIHtcbiAgICBvZmZzZXQgPSBPRkZTRVRfREVGQVVMVDtcbiAgfVxuXG4gIHZhciBfZ2V0RG9jdW1lbnREaW1lbnNpb24gPSBnZXREb2N1bWVudERpbWVuc2lvbnMoKSxcbiAgICAgIHdpbmRvd1dpZHRoID0gX2dldERvY3VtZW50RGltZW5zaW9uLndpZHRoLFxuICAgICAgd2luZG93SGVpZ2h0ID0gX2dldERvY3VtZW50RGltZW5zaW9uLmhlaWdodDtcblxuICBpZiAoIXRyaWdnZXJSZWN0IHx8ICF0b29sdGlwUmVjdCkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHZhciBjb2xsaXNpb25zID0ge1xuICAgIHRvcDogdHJpZ2dlclJlY3QudG9wIC0gdG9vbHRpcFJlY3QuaGVpZ2h0IDwgMCxcbiAgICByaWdodDogd2luZG93V2lkdGggPCB0cmlnZ2VyUmVjdC5sZWZ0ICsgdG9vbHRpcFJlY3Qud2lkdGgsXG4gICAgYm90dG9tOiB3aW5kb3dIZWlnaHQgPCB0cmlnZ2VyUmVjdC5ib3R0b20gKyB0b29sdGlwUmVjdC5oZWlnaHQgKyBvZmZzZXQsXG4gICAgbGVmdDogdHJpZ2dlclJlY3QubGVmdCAtIHRvb2x0aXBSZWN0LndpZHRoIDwgMFxuICB9O1xuICB2YXIgZGlyZWN0aW9uUmlnaHQgPSBjb2xsaXNpb25zLnJpZ2h0ICYmICFjb2xsaXNpb25zLmxlZnQ7XG4gIHZhciBkaXJlY3Rpb25VcCA9IGNvbGxpc2lvbnMuYm90dG9tICYmICFjb2xsaXNpb25zLnRvcDtcbiAgcmV0dXJuIHtcbiAgICBsZWZ0OiBkaXJlY3Rpb25SaWdodCA/IHRyaWdnZXJSZWN0LnJpZ2h0IC0gdG9vbHRpcFJlY3Qud2lkdGggKyB3aW5kb3cucGFnZVhPZmZzZXQgKyBcInB4XCIgOiB0cmlnZ2VyUmVjdC5sZWZ0ICsgd2luZG93LnBhZ2VYT2Zmc2V0ICsgXCJweFwiLFxuICAgIHRvcDogZGlyZWN0aW9uVXAgPyB0cmlnZ2VyUmVjdC50b3AgLSBvZmZzZXQgLSB0b29sdGlwUmVjdC5oZWlnaHQgKyB3aW5kb3cucGFnZVlPZmZzZXQgKyBcInB4XCIgOiB0cmlnZ2VyUmVjdC50b3AgKyBvZmZzZXQgKyB0cmlnZ2VyUmVjdC5oZWlnaHQgKyB3aW5kb3cucGFnZVlPZmZzZXQgKyBcInB4XCJcbiAgfTtcbn07XG4vKipcbiAqIFRoaXMgaXMgYSB3b3JrYXJvdW5kIGZvciB1c2luZyB0b29sdGlwcyB3aXRoIGRpc2FibGVkIGNvbnRyb2xzIGluIFNhZmFyaS5cbiAqIFNhZmFyaSBmaXJlcyBgcG9pbnRlcmVudGVyYCBidXQgZG9lcyBub3QgZmlyZSBgcG9pbnRlcmxlYXZlYCwgYW5kXG4gKiBgb25Qb2ludGVyRXZlbnRMZWF2ZWAgYWRkZWQgdG8gdGhlIHRyaWdnZXIgZWxlbWVudCB3aWxsIG5vdCB3b3JrLlxuICpcbiAqIFRPRE86IFdlIG1heSByZW1vdmUgb3IgbW9kaWlmeSB0aGlzIGJlaGF2aW9yIGluIGEgZnV0dXJlIHZlcnNpb24uIERpcmVjdGlvblxuICogZnJvbSBXQUktQVJJQSBuZWVkZWQgZm9yIGd1aWRhbmNlIG9uIGhhbmRsaW5nIGRpc2FibGVkIHRyaWdnZXJzLiBUb29sdGlwc1xuICogbXVzdCBiZSBhY2Nlc3NpYmxlIGJ5IGtleWJvYXJkLCBhbmQgZGlzYWJsZWQgZm9ybSBjb250cm9scyBhcmUgZ2VuZXJhbGx5XG4gKiBleGNsdWRlZCBmcm9tIHRoZSB0YWIgc2VxdWVuY2UuXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vcmVhY2gvcmVhY2gtdWkvaXNzdWVzLzU2NFxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vdzNjL2FyaWEtcHJhY3RpY2VzL2lzc3Vlcy8xMjgjaXNzdWVjb21tZW50LTU4ODYyNTcyN1xuICovXG5cbmZ1bmN0aW9uIHVzZURpc2FibGVkVHJpZ2dlck9uU2FmYXJpKF9yZWY1KSB7XG4gIHZhciBkaXNhYmxlZCA9IF9yZWY1LmRpc2FibGVkLFxuICAgICAgaXNWaXNpYmxlID0gX3JlZjUuaXNWaXNpYmxlLFxuICAgICAgcmVmID0gX3JlZjUucmVmO1xuICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIGlmICghKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgXCJQb2ludGVyRXZlbnRcIiBpbiB3aW5kb3cpIHx8ICFkaXNhYmxlZCB8fCAhaXNWaXNpYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIG93bmVyRG9jdW1lbnQgPSBnZXRPd25lckRvY3VtZW50KHJlZi5jdXJyZW50KTtcblxuICAgIGZ1bmN0aW9uIGhhbmRsZU1vdXNlTW92ZShldmVudCkge1xuICAgICAgaWYgKCFpc1Zpc2libGUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCAmJiBldmVudC50YXJnZXQuY2xvc2VzdChcIltkYXRhLXJlYWNoLXRvb2x0aXAtdHJpZ2dlcl1bZGF0YS1zdGF0ZT0ndG9vbHRpcC12aXNpYmxlJ11cIikpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBzZW5kKHtcbiAgICAgICAgdHlwZTogVG9vbHRpcEV2ZW50cy5HbG9iYWxNb3VzZU1vdmVcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIG93bmVyRG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLCBoYW5kbGVNb3VzZU1vdmUpO1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICBvd25lckRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIiwgaGFuZGxlTW91c2VNb3ZlKTtcbiAgICB9O1xuICB9LCBbZGlzYWJsZWQsIGlzVmlzaWJsZSwgcmVmXSk7XG59IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qKlxuICogU2VuZCBhbiBldmVudCB0byBvdXIgc3RhdGUgbWFjaGluZSB0byBmaW5kIHRoZSBuZXh0IHN0YXRlIGZyb20gdGhlIGN1cnJlbnRcbiAqIHN0YXRlICsgYWN0aW9uLlxuICpcbiAqIEl0IGFsc28gbWFuYWdlcyBsaWZlY3ljbGVzIG9mIHRoZSBtYWNoaW5lLCAoZW50ZXIvbGVhdmUgaG9va3Mgb24gdGhlIHN0YXRlXG4gKiBjaGFydClcbiAqXG4gKiBAcGFyYW0gZXZlbnRcbiAqIEBwYXJhbSBwYXlsb2FkXG4gKi9cblxuXG5mdW5jdGlvbiBzZW5kKGV2ZW50KSB7XG4gIHZhciBfdHJhbnNpdGlvbiA9IHRyYW5zaXRpb24oc3RhdGUsIGV2ZW50KSxcbiAgICAgIHZhbHVlID0gX3RyYW5zaXRpb24udmFsdWUsXG4gICAgICBjb250ZXh0ID0gX3RyYW5zaXRpb24uY29udGV4dCxcbiAgICAgIGNoYW5nZWQgPSBfdHJhbnNpdGlvbi5jaGFuZ2VkO1xuXG4gIGlmIChjaGFuZ2VkKSB7XG4gICAgc3RhdGUgPSB7XG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICBjb250ZXh0OiBjb250ZXh0XG4gICAgfTtcbiAgICBub3RpZnkoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2l0aW9uKGN1cnJlbnRTdGF0ZSwgZXZlbnQpIHtcbiAgdmFyIHN0YXRlRGVmID0gY2hhcnQuc3RhdGVzW2N1cnJlbnRTdGF0ZS52YWx1ZV07XG4gIHZhciBuZXh0U3RhdGUgPSBzdGF0ZURlZiAmJiBzdGF0ZURlZi5vbiAmJiBzdGF0ZURlZi5vbltldmVudC50eXBlXTsgLy8gUmVhbGx5IHVzZWZ1bCBmb3IgZGVidWdnaW5nXG4gIC8vIGNvbnNvbGUubG9nKHsgZXZlbnQsIHN0YXRlLCBuZXh0U3RhdGUsIGNvbnRleHRJZDogY29udGV4dC5pZCB9KTtcbiAgLy8gIW5leHRTdGF0ZSAmJiBjb25zb2xlLmxvZyhcIm5vIHRyYW5zaXRpb24gdGFrZW5cIik7XG5cbiAgaWYgKCFuZXh0U3RhdGUpIHtcbiAgICByZXR1cm4gX2V4dGVuZHMoe30sIGN1cnJlbnRTdGF0ZSwge1xuICAgICAgY2hhbmdlZDogZmFsc2VcbiAgICB9KTtcbiAgfVxuXG4gIGlmIChzdGF0ZURlZiAmJiBzdGF0ZURlZi5sZWF2ZSkge1xuICAgIHN0YXRlRGVmLmxlYXZlKGN1cnJlbnRTdGF0ZS5jb250ZXh0LCBldmVudCk7XG4gIH1cblxuICBldmVudC50eXBlO1xuICAgICAgdmFyIHBheWxvYWQgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShldmVudCwgX2V4Y2x1ZGVkNCk7IC8vIFRPRE86IFVzZSBhY3Rpb25zIGluc3RlYWQgb2YgZGlyZWN0bHkgc2V0dGluZyBjb250ZXh0XG5cblxuICB2YXIgY29udGV4dCA9IF9leHRlbmRzKHt9LCBzdGF0ZS5jb250ZXh0LCBwYXlsb2FkKTtcblxuICB2YXIgbmV4dFN0YXRlVmFsdWUgPSB0eXBlb2YgbmV4dFN0YXRlID09PSBcInN0cmluZ1wiID8gbmV4dFN0YXRlIDogbmV4dFN0YXRlLnRhcmdldDtcbiAgdmFyIG5leHREZWYgPSBjaGFydC5zdGF0ZXNbbmV4dFN0YXRlVmFsdWVdO1xuXG4gIGlmIChuZXh0RGVmICYmIG5leHREZWYuZW50ZXIpIHtcbiAgICBuZXh0RGVmLmVudGVyKGN1cnJlbnRTdGF0ZS5jb250ZXh0LCBldmVudCk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHZhbHVlOiBuZXh0U3RhdGVWYWx1ZSxcbiAgICBjb250ZXh0OiBjb250ZXh0LFxuICAgIGNoYW5nZWQ6IHRydWVcbiAgfTtcbn1cblxuZnVuY3Rpb24gaXNUb29sdGlwVmlzaWJsZShpZCwgaW5pdGlhbCkge1xuICByZXR1cm4gc3RhdGUuY29udGV4dC5pZCA9PT0gaWQgJiYgKGluaXRpYWwgPyBzdGF0ZS52YWx1ZSA9PT0gVG9vbHRpcFN0YXRlcy5WaXNpYmxlIDogc3RhdGUudmFsdWUgPT09IFRvb2x0aXBTdGF0ZXMuVmlzaWJsZSB8fCBzdGF0ZS52YWx1ZSA9PT0gVG9vbHRpcFN0YXRlcy5MZWF2aW5nVmlzaWJsZSk7XG59IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbmV4cG9ydCBkZWZhdWx0IFRvb2x0aXA7XG5leHBvcnQgeyBMRUFWRV9USU1FT1VULCBNT1VTRV9SRVNUX1RJTUVPVVQsIFRvb2x0aXAsIFRvb2x0aXBQb3B1cCwgcG9zaXRpb25Ub29sdGlwLCB1c2VUb29sdGlwIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///197\n\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\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\n}")},172(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 // removed by dead control flow\n{ 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 _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }\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\n}')},888(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 // removed by dead control flow\n{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiODg4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFJQSxJQUFNQSxPQUFPLEdBQUcsU0FBVkEsT0FBT0EsQ0FBSUMsS0FBSyxFQUFLO0lBQ3ZCLElBQUlDLFVBQVUsTUFBQUMsTUFBQSxDQUFNRixLQUFLLENBQUNHLElBQUksSUFBSSxPQUFPLE9BQUFELE1BQUEsQ0FBSUYsS0FBSyxDQUFDSSxJQUFJLElBQUksRUFBRSxDQUFFO0lBQy9ELElBQUlDLFlBQVksR0FBR0wsS0FBSyxDQUFDTSxPQUFPO0lBRWhDLG9CQUNJQyxNQUFBLFlBQUFDLGFBQUE7TUFBU0MsU0FBUyxFQUFDO0lBQVksZ0JBQzNCRixNQUFBLFlBQUFDLGFBQUE7TUFBS0MsU0FBUyxFQUFDO0lBQXNCLGdCQUNqQ0YsTUFBQSxZQUFBQyxhQUFBLGFBQUksbUJBQWdCLENBQUMsZUFDckJELE1BQUEsWUFBQUMsYUFBQTtNQUFHQyxTQUFTLEVBQUM7SUFBSSxHQUFDLDZCQUE4QixDQUFDLGVBQ2pERixNQUFBLFlBQUFDLGFBQUEsQ0FBQ0UsWUFBQSxXQUFXO01BQ1JDLFNBQVMsRUFBQyx3Q0FBd0M7TUFDbERDLFNBQVMsRUFBQyx5Q0FBeUM7TUFDbkRDLFlBQVksRUFBRVosVUFBVztNQUN6QmEsT0FBTyxFQUFFVDtJQUFhLENBQ3pCLENBQ0EsQ0FDQSxDQUFDO0VBRWxCLENBQUM7RUFFRE4sT0FBTyxDQUFDZ0IsU0FBUyxHQUFHO0lBQ2hCWCxJQUFJLEVBQUVZLHFCQUFTLENBQUNDLE1BQU07SUFDdEJYLE9BQU8sRUFBRVUscUJBQVMsQ0FBQ0UsU0FBUyxDQUFDLENBQUNGLHFCQUFTLENBQUNHLEtBQUssRUFBRUgscUJBQVMsQ0FBQ0MsTUFBTSxDQUFDLENBQUM7SUFDakVkLElBQUksRUFBRWEscUJBQVMsQ0FBQ0M7RUFDcEIsQ0FBQztFQUFDLElBQUFHLFFBQUEsR0FBQUMsUUFBQSxjQUVhdEIsT0FBTztBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9jb21wb25lbnRzL0Vycm9yL0Vycm9yVUkuanN4P2Y0Y2UiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IENvbGxhcHNpYmxlIGZyb20gXCIuL0NvbGxhcHNpYmxlXCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5cbmNvbnN0IEVycm9yVUkgPSAocHJvcHMpID0+IHtcbiAgICBsZXQgZXJyb3JUaXRsZSA9IGAke3Byb3BzLnR5cGUgfHwgXCJFcnJvclwifSAke3Byb3BzLmNvZGUgfHwgXCJcIn1gO1xuICAgIGxldCBlcnJvckRldGFpbHMgPSBwcm9wcy5tZXNzYWdlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwicGFnZS1lcnJvclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZXNwb25zaXZlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxoMT5XZeKAmXJlIHNvcnJ5LjwvaDE+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiaDJcIj5XZSBjYW5ub3QgYWNjZXNzIHRoaXMgcGFnZS48L3A+XG4gICAgICAgICAgICAgICAgPENvbGxhcHNpYmxlXG4gICAgICAgICAgICAgICAgICAgIHNob3dMYWJlbD1cIk9wZW4gdGVjaG5pY2FsIGRldGFpbHMgYWJvdXQgdGhlIGVycm9yXCJcbiAgICAgICAgICAgICAgICAgICAgaGlkZUxhYmVsPVwiQ2xvc2UgdGVjaG5pY2FsIGRldGFpbHMgYWJvdXQgdGhlIGVycm9yXCJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudFRpdGxlPXtlcnJvclRpdGxlfVxuICAgICAgICAgICAgICAgICAgICBjb250ZW50PXtlcnJvckRldGFpbHN9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgKTtcbn07XG5cbkVycm9yVUkucHJvcFR5cGVzID0ge1xuICAgIGNvZGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbWVzc2FnZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmFycmF5LCBQcm9wVHlwZXMuc3RyaW5nXSksXG4gICAgdHlwZTogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEVycm9yVUk7XG4iXSwibmFtZXMiOlsiRXJyb3JVSSIsInByb3BzIiwiZXJyb3JUaXRsZSIsImNvbmNhdCIsInR5cGUiLCJjb2RlIiwiZXJyb3JEZXRhaWxzIiwibWVzc2FnZSIsIl9yZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJfQ29sbGFwc2libGUiLCJzaG93TGFiZWwiLCJoaWRlTGFiZWwiLCJjb250ZW50VGl0bGUiLCJjb250ZW50IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwib25lT2ZUeXBlIiwiYXJyYXkiLCJfZGVmYXVsdCIsIl9leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///888\n\n}')},694(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 // removed by dead control flow\n{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNjk0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUlBO0FBQ0E7QUFDQTtFQUZBLElBR3FCQSxTQUFTLEdBQUFDLFFBQUEsMkJBQUFDLFlBQUE7RUFDMUI7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDSSxTQUFBRixVQUFZRyxPQUFPLEVBQUU7SUFBQUMsZUFBQSxPQUFBSixTQUFBO0lBQ2pCLElBQUFLLGdCQUFNLGVBQ0ZDLE1BQUEsWUFBQUMsYUFBQSxDQUFDQyxRQUFBLFdBQU87TUFDSkMsSUFBSSxFQUFFTixPQUFPLENBQUNNLElBQUs7TUFDbkJDLElBQUksRUFBRVAsT0FBTyxDQUFDTyxJQUFLO01BQ25CQyxPQUFPLEVBQUVSLE9BQU8sQ0FBQ1E7SUFBUSxDQUM1QixDQUFDLEVBQ0ZSLE9BQU8sQ0FBQ1MsV0FDWixDQUFDO0VBQ0wsQ0FBQztBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9jb21wb25lbnRzL0Vycm9yL2Vycm9yLmpzP2YwYzAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgcmVuZGVyIH0gZnJvbSBcInJlYWN0LWRvbVwiO1xuaW1wb3J0IEVycm9yVUkgZnJvbSBcIi4vRXJyb3JVSVwiO1xuXG4vKipcbiAqIFJlbmRlcnMgdGhlIFFQUCBFcnJvciBQYWdlIGNvbnRlbnQuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEVycm9yUGFnZSB7XG4gICAgLyoqXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBBbiBvYmplY3QgY29udGFpbmluZyBjb250ZW50IGFuZCBjb25maWcgZGF0YVxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBvcHRpb25zLnR5cGUgLSBUaGUgZXJyb3IgdHlwZVxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBvcHRpb25zLmNvZGUgLSBUaGUgZXJyb3IgY29kZVxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBvcHRpb25zLm1lc3NhZ2UgLSBUaGUgZXJyb3IgbWVzc2FnZVxuICAgICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IG9wdGlvbnMucm9vdEVsZW1lbnQgLSBFbGVtIGluc2lkZSB3aGljaCB0byByZW5kZXJcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgICAgIHJlbmRlcihcbiAgICAgICAgICAgIDxFcnJvclVJXG4gICAgICAgICAgICAgICAgdHlwZT17b3B0aW9ucy50eXBlfVxuICAgICAgICAgICAgICAgIGNvZGU9e29wdGlvbnMuY29kZX1cbiAgICAgICAgICAgICAgICBtZXNzYWdlPXtvcHRpb25zLm1lc3NhZ2V9XG4gICAgICAgICAgICAvPixcbiAgICAgICAgICAgIG9wdGlvbnMucm9vdEVsZW1lbnRcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXSwibmFtZXMiOlsiRXJyb3JQYWdlIiwiX2V4cG9ydHMiLCJfY3JlYXRlQ2xhc3MiLCJvcHRpb25zIiwiX2NsYXNzQ2FsbENoZWNrIiwicmVuZGVyIiwiX3JlYWN0IiwiY3JlYXRlRWxlbWVudCIsIl9FcnJvclVJIiwidHlwZSIsImNvZGUiLCJtZXNzYWdlIiwicm9vdEVsZW1lbnQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///694\n\n}')},756(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 // removed by dead control flow\n{ 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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bGUvLi9jb21wb25lbnRzL0Zvb3Rlci9Gb290ZXJVSS5qc3g/Y2Q4YiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5cbmltcG9ydCBMZWdhY3lGb290ZXJVSSBmcm9tIFwiLi9MZWdhY3lGb290ZXJVSVwiO1xuXG5jb25zdCBGb290ZXJVSSA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IGlzTmV3Rm9vdGVyID0gcHJvcHMuaXNOZXdGb290ZXI7XG4gICAgY29uc3QgaXNJRVN1cHBvcnRQYWdlID0gcHJvcHMuaXNJRVN1cHBvcnRQYWdlO1xuICAgIGNvbnN0IHNpZ25VcE5vd0xpbmsgPSBwcm9wcy5zaG93SGNkUmVzZWFyY2hcbiAgICAgICAgPyBcIi9hYm91dC9oY2QtcmVzZWFyY2hcIlxuICAgICAgICA6IFwibWFpbHRvOm1hZGllQGNtcy5oaHMuZ292P3N1YmplY3Q9U2lnbiB1cCBmb3IgZmVlZGJhY2sgc2Vzc2lvbnNcIjtcblxuICAgIC8vIERlZmF1bHQgZm9vdGVyIGFzc2V0c1xuICAgIGNvbnN0IGFzc2V0cyA9IHtcbiAgICAgICAgLi4ue1xuICAgICAgICAgICAgaGhzTG9nbzogKFxuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaGhzLWxvZ29cIlxuICAgICAgICAgICAgICAgICAgICBhbHQ9XCJEZXBhcnRtZW50IG9mIEhlYWx0aCAmYW1wOyBIdW1hbiBTZXJ2aWNlcyBVU0FcIlxuICAgICAgICAgICAgICAgICAgICBzcmM9XCIvaW1hZ2VzL2hocy1sb2dvLWJsYWNrLnN2Z1wiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBtYWRpZUxvZ286IChcbiAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInFwcC1sb2dvXCJcbiAgICAgICAgICAgICAgICAgICAgc3JjPVwiL2ltYWdlcy9xcHBfbG9nb19yZ2JfY29sb3IucG5nXCJcbiAgICAgICAgICAgICAgICAgICAgYWx0PVwiTUFEaUUgTWVhc3VyZSBBdXRob3JpbmcgRGV2ZWxvcG1lbnQgSW50ZWdyYXRlZCBFbnZpcm9ubWVudCBsb2dvXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgICAgLi4ucHJvcHMuYXNzZXRzLFxuICAgIH07XG5cbiAgICBjb25zdCBzZXRMaW5rID0gKGxpbmspID0+IHtcbiAgICAgICAgcmV0dXJuIGlzSUVTdXBwb3J0UGFnZSA/IFwiL1wiIDogbGluaztcbiAgICB9O1xuXG4gICAgaWYgKGlzTmV3Rm9vdGVyKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHshaXNJRVN1cHBvcnRQYWdlICYmIChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmZWVkYmFjay1zZXNzaW9uLXNpZ24tdXBcIiAvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPGZvb3RlciBhcmlhLWxhYmVsPVwiU2l0ZSBmb290ZXJcIiBjbGFzc05hbWU9XCJnbG9iYWwtZm9vdGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYnVpbGQtdmVyc2lvblwiIGlkPVwiYnVpbGQtdmVyc2lvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3Byb3BzLmJ1aWxkVmVyc2lvbn1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZXNwb25zaXZlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJvdGhlci1saW5rc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxociBjbGFzc05hbWU9XCJkaXZpZGVyLXRvcFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzTmFtZT1cInNtYWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj17c2V0TGluayhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJodHRwczovL2hhcnAuY21zLmdvdi9sb2dpbi90ZXJtcy1vZi11c2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlRlcm1zIG9mIFVzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1jYXRlZ29yeT1cIkZvb3Rlck5hdlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1hY3Rpb249XCJPcGVuVGVybXNPZlNlcnZpY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stbGFiZWw9XCJUZXJtcyBvZiBVc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRlcm1zIG9mIFVzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwiZGl2aWRlclwiPjwvbGk+e1wiIFwifVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9e3NldExpbmsoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaHR0cHM6Ly93d3cuY21zLmdvdi9wcml2YWN5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJQcml2YWN5IFBvbGljeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1jYXRlZ29yeT1cIkZvb3Rlck5hdlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1hY3Rpb249XCJPcGVuUHJpdmFjeVBvbGljeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1sYWJlbD1cIlByaXZhY3kgUG9saWN5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5IFBvbGljeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwiZGl2aWRlclwiPjwvbGk+e1wiIFwifVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9e3NldExpbmsoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaHR0cHM6Ly93d3cuaGhzLmdvdi93ZWIvZ292ZXJuYW5jZS9kaWdpdGFsLXN0cmF0ZWd5L2l0LXBvbGljeS1hcmNoaXZlL2hocy1ydWxlcy1vZi1iZWhhdmlvci1mb3ItdGhlLXVzZS1vZi1oaHMtaW5mb3JtYXRpb24tYW5kLWl0LXJlc291cmNlcy1wb2xpY3kuaHRtbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiUnVsZXMgb2YgQmVoYXZpb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stY2F0ZWdvcnk9XCJGb290ZXJOYXZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stYWN0aW9uPVwiT3BlblJ1bGVzb2ZCZWhhdmlvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1sYWJlbD1cIlJ1bGVzIG9mIEJlaGF2aW9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSdWxlcyBvZiBCZWhhdmlvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzTmFtZT1cImRpdmlkZXItYm90dG9tXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJxcHAtaGhzLWxvZ28tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJxcHAtbG9nby1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Fzc2V0cy5xcHBMb2dvfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGhzLWxvZ28tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHthc3NldHMuaGhzTG9nb31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBIGZlZGVyYWwgZ292ZXJubWVudCB3ZWJzaXRlIG1hbmFnZWQgYW5kXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWlkIGZvciBieSB0aGUgVS5TIENlbnRlcnMgZm9yIE1lZGljYXJlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYW1wOyBNZWRpY2FpZCBTZXJ2aWNlcy4gNzUwMCBTZWN1cml0eVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQm91bGV2YXJkLCBCYWx0aW1vcmUgTUQgMjEyNDRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZm9vdGVyPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICAgIDxMZWdhY3lGb290ZXJVSVxuICAgICAgICAgICAgYnVpbGRWZXJzaW9uPXtwcm9wcy5idWlsZFZlcnNpb259XG4gICAgICAgICAgICBpc0Z1bGxXaWR0aD17cHJvcHMuaXNGdWxsV2lkdGh9XG4gICAgICAgICAgICBzaWduVXBOb3dMaW5rPXtzaWduVXBOb3dMaW5rfVxuICAgICAgICAvPlxuICAgICk7XG59O1xuXG5Gb290ZXJVSS5wcm9wVHlwZXMgPSB7XG4gICAgYnVpbGRWZXJzaW9uOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGlzRnVsbFdpZHRoOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0Zvb3RlcjogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNJRVN1cHBvcnRQYWdlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBzaG93SGNkUmVzZWFyY2g6IFByb3BUeXBlcy5ib29sLFxuICAgIGFzc2V0czogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgICAgY21zTG9nbzogUHJvcFR5cGVzLmVsZW1lbnQsXG4gICAgICAgIG1hZGllTG9nbzogUHJvcFR5cGVzLmVsZW1lbnQsXG4gICAgfSksXG59O1xuXG5leHBvcnQgZGVmYXVsdCBGb290ZXJVSTtcbiJdLCJuYW1lcyI6WyJGb290ZXJVSSIsInByb3BzIiwiaXNOZXdGb290ZXIiLCJpc0lFU3VwcG9ydFBhZ2UiLCJzaWduVXBOb3dMaW5rIiwic2hvd0hjZFJlc2VhcmNoIiwiYXNzZXRzIiwiX29iamVjdFNwcmVhZCIsImhoc0xvZ28iLCJfcmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiYWx0Iiwic3JjIiwibWFkaWVMb2dvIiwic2V0TGluayIsImxpbmsiLCJGcmFnbWVudCIsImlkIiwiYnVpbGRWZXJzaW9uIiwiaHJlZiIsInFwcExvZ28iLCJfTGVnYWN5Rm9vdGVyVUkiLCJpc0Z1bGxXaWR0aCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImJvb2wiLCJzaGFwZSIsImNtc0xvZ28iLCJlbGVtZW50IiwiX2RlZmF1bHQiLCJfZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///756\n\n}')},193(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 // removed by dead control flow\n{ 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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SUFBSTtJQUMzQmpCLGFBQWEsRUFBRWUscUJBQVMsQ0FBQ0M7RUFDN0IsQ0FBQztFQUFDLElBQUFFLFFBQUEsR0FBQUMsUUFBQSxjQUVhdkIsY0FBYztBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9jb21wb25lbnRzL0Zvb3Rlci9MZWdhY3lGb290ZXJVSS5qc3g/OGVjOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5pbXBvcnQgSW5mb1RpcCBmcm9tIFwiLi4vSW5mb3RpcC9JbmZvdGlwXCI7XG5cbmNvbnN0IGluZm9UaXBMYWJlbCA9XG4gICAgXCJXaGVuIGRpYWxpbmcgNzExLCB5b3Ugd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGNvbm5lY3RlZCB0byBhIFRSUyBDb21tdW5pY2F0aW9ucyBBc3Npc3RhbnQgd2hvIHdpbGwgcmVsYXkgeW91ciBjb252ZXJzYXRpb24gdG8gdGhlIGhlbHAgZGVzayBhZ2VudCB3aXRoIHN0cmljdCBjb25maWRlbnRpYWxpdHkuXCI7XG5cbmNvbnN0IExlZ2FjeUZvb3RlclVJID0gKHsgYnVpbGRWZXJzaW9uLCBpc0Z1bGxXaWR0aCwgc2lnblVwTm93TGluayB9KSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGZvb3RlciBjbGFzc05hbWU9XCJsZWdhY3ktZm9vdGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJ1aWxkLXZlcnNpb25cIiBpZD1cImJ1aWxkLXZlcnNpb25cIj5cbiAgICAgICAgICAgICAgICB7YnVpbGRWZXJzaW9ufVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJhbm5lclwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRnVsbFdpZHRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBcImNvbnRhaW5lci1mdWxsLXdpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwicmVzcG9uc2l2ZS1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtc20tMTIgY29sLW1kLTEyIGNvbC1sZy0xMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkhlbHAgc2hhcGUgdGhlIGZ1dHVyZSBvZiBNQURpRTwvc3Bhbj4gYnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJ0aWNpcGF0aW5nIGluIHVzZXIgZmVlZGJhY2sgc2Vzc2lvbnMue1wiIFwifVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImVtYWlsLW5vdGUtbGlua1wiIGhyZWY9e3NpZ25VcE5vd0xpbmt9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZW5kIHVzIGFuIGVtYWlsIHRvIHNpZ24gdXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1xuICAgICAgICAgICAgICAgICAgICBpc0Z1bGxXaWR0aFxuICAgICAgICAgICAgICAgICAgICAgICAgPyBcImNvbnRhaW5lci1mdWxsLXdpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJyZXNwb25zaXZlLWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNGdWxsV2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBcImNvbC1zbS0xMiBjb2wtbWQtOCBjb2wtbGctOFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJjb2wtc20tOCBjb2wtbWQtOSBjb2wtbGctOVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibG9nby1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cIi9pbWFnZXMvcXBwX2xvZ29fcmV2ZXJzZWQucG5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwiUXVhbGl0eSBQYXltZW50IFByb2dyYW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJxcHAtbG9nb1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNvY2lhbC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInNvY2lhbC1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3R3aXR0ZXIuY29tL0NNU0dvdlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiRm9sbG93IHVzIG9uIFR3aXR0ZXIuIFRoaXMgbGluayBvcGVucyBpbiBhIG5ldyB3aW5kb3cuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZ2x5cGhpY29uIGdseXBoaWNvbi10d2l0dGVyXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJzb2NpYWwtbGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vcGxheWxpc3Q/bGlzdD1QTGFWN20yLXpGS3BqXzZmQnNxYXY2R3ZGenpxOW9PcGtrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJGb2xsb3cgdXMgb24gWW91VHViZS4gVGhpcyBsaW5rIG9wZW5zIGluIGEgbmV3IHdpbmRvdy5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJnbHlwaGljb24gZ2x5cGhpY29uLXlvdXR1YmVcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsaW5rc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL2RldmVsb3BlcnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stY2F0ZWdvcnk9XCJGb290ZXJOYXZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stYWN0aW9uPVwiT3BlbkRldmVsb3BlclRvb2xzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWxhYmVsPVwiUXVhbGl0eSBQYXltZW50IFByb2dyYW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERldmVsb3BlciBUb29sc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvYWJvdXQvcmVzb3VyY2UtbGlicmFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1jYXRlZ29yeT1cIkZvb3Rlck5hdlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1hY3Rpb249XCJPcGVuRWR1Y2F0aW9uQW5kVG9vbHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stbGFiZWw9XCJFZHVjYXRpb24gYW5kIFRvb2xzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNvdXJjZSBMaWJyYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIi9nbG9zc2FyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1jYXRlZ29yeT1cIkZvb3Rlck5hdlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1hY3Rpb249XCJPcGVuR2xvc3NhcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stbGFiZWw9XCJHbG9zc2FyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2xvc3NhcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL3Jlc291cmNlcy9oZWxwLWFuZC1zdXBwb3J0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWNhdGVnb3J5PVwiRm9vdGVyTmF2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWFjdGlvbj1cIk9wZW5IZWxwQW5kU3VwcG9ydFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1sYWJlbD1cIkhlbHAgYW5kIFN1cHBvcnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgYW5kIFN1cHBvcnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJzbWFsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3d3dy5jbXMuZ292L3ByaXZhY3lcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stY2F0ZWdvcnk9XCJGb290ZXJOYXZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stYWN0aW9uPVwiT3BlblByaXZhY3lEaXNjbGFpbWVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWxhYmVsPVwiTm90aWNlIG9mIFByaXZhY3kgYW5kIERpc2NsYWltZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENNUyBQcml2YWN5IE5vdGljZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJkaXZpZGVyXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3d3dy5jbXMuZ292L0Fib3V0LUNNUy9BZ2VuY3ktSW5mb3JtYXRpb24vQWJvdXR3ZWJzaXRlL1BvbGljaWVzZm9yYWNjZXNzaWJpbGl0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1jYXRlZ29yeT1cIkZvb3Rlck5hdlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1hY3Rpb249XCJPcGVuQWNjZXNzaWJpbGl0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10cmFjay1sYWJlbD1cIkFjY2Vzc2liaWxpdHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFjY2Vzc2liaWxpdHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZGl2aWRlclwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJhZG9iZS1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL2dldC5hZG9iZS5jb20vcmVhZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWNhdGVnb3J5PVwiRm9vdGVyTmF2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRyYWNrLWFjdGlvbj1cIkRvd25sb2FkQWRvYmVSZWFkZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHJhY2stbGFiZWw9XCJBZG9iZVJlYWRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzc05hbWU9XCJpY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgeGxpbmtIcmVmPVwiI2ljb24tZG93bmxvYWRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkIEFkb2JlIFJlYWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJkaXZpZGVyXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJtYWlsdG86c2ItbWF0LWhlbHBAc2VtYW50aWNiaXRzLmNvbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZW1haWwtbGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2ItbWF0LWhlbHBAc2VtYW50aWNiaXRzLmNvbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLTg2Ni0yODgtODI5MiAoVFJTOiA3MTEpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvb3Rlci10cnMtaW5mb3RpcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbmZvVGlwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0SWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17aW5mb1RpcExhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzRnVsbFdpZHRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gXCJjb2wtc20tMTIgY29sLW1kLTQgY29sLWxnLTRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiY29sLXNtLTQgY29sLW1kLTMgY29sLWxnLTNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImhocy1sb2dvLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwiRGVwYXJ0bWVudCBvZiBIZWFsdGggJmFtcDsgSHVtYW4gU2VydmljZXMgVVNBXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiL2ltYWdlcy9oaHMtbG9nby13aGl0ZS5zdmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9mb290ZXI+XG4gICAgKTtcbn07XG5cbkxlZ2FjeUZvb3RlclVJLnByb3BUeXBlcyA9IHtcbiAgICBidWlsZFZlcnNpb246IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaXNGdWxsV2lkdGg6IFByb3BUeXBlcy5ib29sLFxuICAgIHNpZ25VcE5vd0xpbms6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBMZWdhY3lGb290ZXJVSTtcbiJdLCJuYW1lcyI6WyJpbmZvVGlwTGFiZWwiLCJMZWdhY3lGb290ZXJVSSIsIl9yZWYiLCJidWlsZFZlcnNpb24iLCJpc0Z1bGxXaWR0aCIsInNpZ25VcE5vd0xpbmsiLCJfcmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiaWQiLCJocmVmIiwic3JjIiwiYWx0IiwicmVsIiwidGFyZ2V0IiwieGxpbmtIcmVmIiwiX0luZm90aXAiLCJsaWdodEljb24iLCJsYWJlbCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImJvb2wiLCJfZGVmYXVsdCIsIl9leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///193\n\n}')},258(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 // removed by dead control flow\n{ 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.89",\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.89"\n }), options);\n }\n });\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjU4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NIQUFBLDBCQUNBO0VBS0E7QUFDQTtBQUNBO0VBRkEsSUFHcUJBLE1BQU0sR0FBQUMsUUFBQSwyQkFBQUMsWUFBQTtFQUN2QjtBQUNKO0FBQ0E7QUFDQTtFQUNJLFNBQUFGLE9BQVlHLE9BQU8sRUFBRTtJQUFBQyxlQUFBLE9BQUFKLE1BQUE7SUFDakIsSUFBSUcsT0FBTyxDQUFDRSxjQUFjLENBQUMsYUFBYSxDQUFDLEVBQUU7TUFDdkMsSUFBQUMsZ0JBQU0sZUFDRkMsTUFBQSxZQUFBQyxhQUFBLENBQUNDLFNBQUEsV0FBUTtRQUNMQyxZQUFZLEVBQUVBLFFBQWE7UUFDM0JDLFdBQVcsRUFBRVIsT0FBTyxDQUFDUSxXQUFZO1FBQ2pDQyxXQUFXLEVBQUVULE9BQU8sQ0FBQ1MsV0FBWTtRQUNqQ0MsZUFBZSxFQUFFVixPQUFPLENBQUNVO01BQWdCLENBQzVDLENBQUMsRUFDRlYsT0FBTyxDQUFDVyxXQUNaLENBQUM7SUFDTCxDQUFDLE1BQU07TUFDSCxJQUFBUixnQkFBTSxlQUFDQyxNQUFBLFlBQUFDLGFBQUEsQ0FBQ0MsU0FBQSxXQUFRO1FBQUNDLFlBQVksRUFBRUEsUUFBWUE7TUFBQyxDQUFFLENBQUMsRUFBRVAsT0FBTyxDQUFDO0lBQzdEO0VBQ0osQ0FBQztBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9jb21wb25lbnRzL0Zvb3Rlci9mb290ZXIuanM/NDlhZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBnbG9iYWwgYnVpbGRWZXJzaW9uICovXG4vLyBidWlsZFZlcnNpb24gYWJvdmUgaXMgZGVmaW5lZCBpbiB3ZWJwYWNrLmNvbmZpZy5qc1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgcmVuZGVyIH0gZnJvbSBcInJlYWN0LWRvbVwiO1xuaW1wb3J0IEZvb3RlclVJIGZyb20gXCIuL0Zvb3RlclVJXCI7XG5cbi8qKlxuICogUmVuZGVycyB0aGUgUVBQIEZvb3RlciBjb250ZW50LlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGb290ZXIge1xuICAgIC8qKlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgY29udGVudCBhbmQgY29uZmlnIGRhdGFcbiAgICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBvcHRpb25zLnJvb3RFbGVtZW50IC0gRWxlbSBpbnNpZGUgd2hpY2ggdG8gcmVuZGVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICBpZiAob3B0aW9ucy5oYXNPd25Qcm9wZXJ0eShcInJvb3RFbGVtZW50XCIpKSB7XG4gICAgICAgICAgICByZW5kZXIoXG4gICAgICAgICAgICAgICAgPEZvb3RlclVJXG4gICAgICAgICAgICAgICAgICAgIGJ1aWxkVmVyc2lvbj17YnVpbGRWZXJzaW9ufVxuICAgICAgICAgICAgICAgICAgICBpc0Z1bGxXaWR0aD17b3B0aW9ucy5pc0Z1bGxXaWR0aH1cbiAgICAgICAgICAgICAgICAgICAgaXNOZXdGb290ZXI9e29wdGlvbnMuaXNOZXdGb290ZXJ9XG4gICAgICAgICAgICAgICAgICAgIHNob3dIY2RSZXNlYXJjaD17b3B0aW9ucy5zaG93SGNkUmVzZWFyY2h9XG4gICAgICAgICAgICAgICAgLz4sXG4gICAgICAgICAgICAgICAgb3B0aW9ucy5yb290RWxlbWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlbmRlcig8Rm9vdGVyVUkgYnVpbGRWZXJzaW9uPXtidWlsZFZlcnNpb259IC8+LCBvcHRpb25zKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJGb290ZXIiLCJfZXhwb3J0cyIsIl9jcmVhdGVDbGFzcyIsIm9wdGlvbnMiLCJfY2xhc3NDYWxsQ2hlY2siLCJoYXNPd25Qcm9wZXJ0eSIsInJlbmRlciIsIl9yZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJfRm9vdGVyVUkiLCJidWlsZFZlcnNpb24iLCJpc0Z1bGxXaWR0aCIsImlzTmV3Rm9vdGVyIiwic2hvd0hjZFJlc2VhcmNoIiwicm9vdEVsZW1lbnQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///258\n\n}')},877(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 // removed by dead control flow\n{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiODc3LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUtBLElBQU1BLFdBQVcsR0FBRyxNQUFNO0VBRTFCLElBQU1DLFdBQVcsR0FBRztJQUNoQkMsVUFBVSxFQUFFLGFBQWE7SUFDekJDLE1BQU0sRUFBRSxDQUFDO0lBQ1RDLE9BQU8sRUFBRSxDQUFDO0lBQ1ZDLEtBQUssRUFBRUwsV0FBVztJQUNsQk0sTUFBTSxFQUFFTixXQUFXO0lBQ25CTyxrQkFBa0IsRUFBRSxNQUFNO0lBQzFCQyxnQkFBZ0IsRUFBRSxNQUFNO0lBQ3hCQyxVQUFVLEVBQUU7RUFDaEIsQ0FBQzs7RUFFRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxJQUFNQyxhQUFhLEdBQUc7SUFDbEJDLFlBQVksRUFBRSxTQUFkQSxZQUFZQSxDQUFHQyxDQUFDLEVBQUs7TUFDakJBLENBQUMsQ0FBQ0MsZUFBZSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUNEQyxVQUFVLEVBQUUsU0FBWkEsVUFBVUEsQ0FBR0YsQ0FBQyxFQUFLO01BQ2YsSUFBSUcsUUFBUSxDQUFDQyxhQUFhLEtBQUtKLENBQUMsQ0FBQ0ssYUFBYSxFQUFFO1FBQzVDTCxDQUFDLENBQUNNLGNBQWMsQ0FBQyxDQUFDO1FBQ2xCTixDQUFDLENBQUNLLGFBQWEsQ0FBQ0UsS0FBSyxDQUFDLENBQUM7TUFDM0IsQ0FBQyxNQUFNO1FBQ0hQLENBQUMsQ0FBQ00sY0FBYyxDQUFDLENBQUM7UUFDbEJOLENBQUMsQ0FBQ0ssYUFBYSxDQUFDRyxJQUFJLENBQUMsQ0FBQztNQUMxQjtJQUNKO0VBQ0osQ0FBQzs7RUFFRDtBQUNBO0FBQ0E7RUFDQSxJQUFNQyxPQUFPLEdBQUcsU0FBVkEsT0FBT0EsQ0FBQUMsSUFBQTtJQUFBLElBQU1DLEtBQUssR0FBQUQsSUFBQSxDQUFMQyxLQUFLO01BQUVDLFNBQVMsR0FBQUYsSUFBQSxDQUFURSxTQUFTO01BQUtDLEtBQUssR0FBQUMsd0JBQUEsQ0FBQUosSUFBQSxFQUFBSyxTQUFBO0lBQUEsb0JBQ3pDQyxNQUFBLFlBQUFDLGFBQUEsQ0FBQ0MsUUFBQSxXQUFPLEVBQUFDLFFBQUE7TUFBQ1IsS0FBSyxFQUFFQTtJQUFNLEdBQUtFLEtBQUssZ0JBQzVCRyxNQUFBLFlBQUFDLGFBQUEsV0FBQUUsUUFBQTtNQUNJQyxJQUFJLEVBQUMsUUFBUTtNQUNiLGNBQVcsYUFBYTtNQUN4QkMsS0FBSyxFQUFFaEM7SUFBWSxHQUNmUyxhQUFhLGdCQUVqQmtCLE1BQUEsWUFBQUMsYUFBQSxDQUFDSyxZQUFBLFdBQVc7TUFDUlYsU0FBUyxFQUFFQSxTQUFVO01BQ3JCbkIsS0FBSyxFQUFFTCxXQUFZO01BQ25CTSxNQUFNLEVBQUVOLFdBQVk7TUFDcEIsbUJBQVc7TUFDWGlDLEtBQUssRUFBRTtRQUFFLFNBQU87TUFBTztJQUFFLENBQzVCLENBQ0csQ0FDSCxDQUFDO0VBQUEsQ0FDYjtFQUVEWixPQUFPLENBQUNjLFNBQVMsR0FBRztJQUNoQlosS0FBSyxFQUFFYSxxQkFBUyxDQUFDQyxNQUFNLENBQUNDLFVBQVU7SUFDbENDLFNBQVMsRUFBRUgscUJBQVMsQ0FBQ0MsTUFBTTtJQUMzQmIsU0FBUyxFQUFFWSxxQkFBUyxDQUFDSSxJQUFJO0lBQ3pCQyxXQUFXLEVBQUVMLHFCQUFTLENBQUNJO0VBQzNCLENBQUM7RUFFRG5CLE9BQU8sQ0FBQ3FCLFlBQVksR0FBRztJQUNuQkgsU0FBUyxFQUFFSSxTQUFTO0lBQ3BCbkIsU0FBUyxFQUFFLEtBQUs7SUFDaEJpQixXQUFXLEVBQUVFO0VBQ2pCLENBQUM7RUFBQyxJQUFBQyxRQUFBLEdBQUFDLFFBQUEsY0FFYXhCLE9BQU87QUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vY29tcG9uZW50cy9JbmZvdGlwL0luZm90aXAuanN4P2NjODgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiO1xuaW1wb3J0IFRvb2x0aXAgZnJvbSBcIi4uL1Rvb2x0aXBcIjtcbmltcG9ydCBJbmZvdGlwSWNvbiBmcm9tIFwiLi9JbmZvdGlwSWNvblwiO1xuXG5jb25zdCBCVVRUT05fU0laRSA9IFwiMTZweFwiO1xuXG5jb25zdCBidXR0b25TdHlsZSA9IHtcbiAgICBiYWNrZ3JvdW5kOiBcInRyYW5zcGFyZW50XCIsXG4gICAgYm9yZGVyOiAwLFxuICAgIHBhZGRpbmc6IDAsXG4gICAgd2lkdGg6IEJVVFRPTl9TSVpFLFxuICAgIGhlaWdodDogQlVUVE9OX1NJWkUsXG4gICAgV2Via2l0VG91Y2hDYWxsb3V0OiBcIm5vbmVcIixcbiAgICBXZWJraXRVc2VyU2VsZWN0OiBcIm5vbmVcIixcbiAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcbn07XG5cbi8vIFVzZSBiYXNpYyB0b3VjaCBoYW5kbGVycyBmb3IgbW9iaWxlIFwidGFwLXRvLW9wZW5cIiB1aS4gIE1vYmlsZSB0b3VjaFxuLy8gaXMgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWQgYnkgQHJlYWNoL3Rvb2x0aXA7IHRoaXMgbWF5IGNoYW5nZSBpbiBmdXR1cmUuXG4vLyBMZXZlcmFnZXMgQHJlYWNoL3Rvb2x0aXAgXCJmb2N1c1wiIGJlaGF2aW9yIHRvIG9wZW4gdG9vbHRpcCBvbiB0YXAsXG4vLyBhbmQgY2xvc2UgdG9vbHRpcCBvbiBzZWNvbmQgdGFwIG9yIGxvc3Mgb2YgZm9jdXMuXG4vLyBUT0RPOiBXZSBtYXkgd2FudCB0byBpbXByb3ZlIHRoaXMgYnkgdHJhY2tpbmcgdG91Y2ggcG9zaXRpb25zIHRvIGVuc3VyZVxuLy8gdGhhdCBhICd0b3VjaGVuZCcgZXZlbnQgbXVzdCBiZSByZWFzb25hYmx5IGNsb3NlIHRvIHRoZSB0b29sdGlwIHRhcmdldC5cbmNvbnN0IHRvdWNoSGFuZGxlcnMgPSB7XG4gICAgb25Ub3VjaFN0YXJ0OiAoZSkgPT4ge1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH0sXG4gICAgb25Ub3VjaEVuZDogKGUpID0+IHtcbiAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgIT09IGUuY3VycmVudFRhcmdldCkge1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZS5jdXJyZW50VGFyZ2V0LmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBlLmN1cnJlbnRUYXJnZXQuYmx1cigpO1xuICAgICAgICB9XG4gICAgfSxcbn07XG5cbi8qKlxuICogVG9vbHRpcCB3aXRoIHN0eWxlZCBpbmZvcm1hdGlvbiBpY29uXG4gKi9cbmNvbnN0IEluZm90aXAgPSAoeyBsYWJlbCwgbGlnaHRJY29uLCAuLi5wcm9wcyB9KSA9PiAoXG4gICAgPFRvb2x0aXAgbGFiZWw9e2xhYmVsfSB7Li4ucHJvcHN9PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJJbmZvcm1hdGlvblwiXG4gICAgICAgICAgICBzdHlsZT17YnV0dG9uU3R5bGV9XG4gICAgICAgICAgICB7Li4udG91Y2hIYW5kbGVyc31cbiAgICAgICAgPlxuICAgICAgICAgICAgPEluZm90aXBJY29uXG4gICAgICAgICAgICAgICAgbGlnaHRJY29uPXtsaWdodEljb259XG4gICAgICAgICAgICAgICAgd2lkdGg9e0JVVFRPTl9TSVpFfVxuICAgICAgICAgICAgICAgIGhlaWdodD17QlVUVE9OX1NJWkV9XG4gICAgICAgICAgICAgICAgYXJpYS1oaWRkZW5cbiAgICAgICAgICAgICAgICBzdHlsZT17eyBmbG9hdDogXCJsZWZ0XCIgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvVG9vbHRpcD5cbik7XG5cbkluZm90aXAucHJvcFR5cGVzID0ge1xuICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgYXJpYUxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGxpZ2h0SWNvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgREVCVUdfU1RZTEU6IFByb3BUeXBlcy5ib29sLFxufTtcblxuSW5mb3RpcC5kZWZhdWx0UHJvcHMgPSB7XG4gICAgYXJpYUxhYmVsOiB1bmRlZmluZWQsXG4gICAgbGlnaHRJY29uOiBmYWxzZSxcbiAgICBERUJVR19TVFlMRTogdW5kZWZpbmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgSW5mb3RpcDtcbiJdLCJuYW1lcyI6WyJCVVRUT05fU0laRSIsImJ1dHRvblN0eWxlIiwiYmFja2dyb3VuZCIsImJvcmRlciIsInBhZGRpbmciLCJ3aWR0aCIsImhlaWdodCIsIldlYmtpdFRvdWNoQ2FsbG91dCIsIldlYmtpdFVzZXJTZWxlY3QiLCJ1c2VyU2VsZWN0IiwidG91Y2hIYW5kbGVycyIsIm9uVG91Y2hTdGFydCIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJvblRvdWNoRW5kIiwiZG9jdW1lbnQiLCJhY3RpdmVFbGVtZW50IiwiY3VycmVudFRhcmdldCIsInByZXZlbnREZWZhdWx0IiwiZm9jdXMiLCJibHVyIiwiSW5mb3RpcCIsIl9yZWYiLCJsYWJlbCIsImxpZ2h0SWNvbiIsInByb3BzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwiX3JlYWN0IiwiY3JlYXRlRWxlbWVudCIsIl9Ub29sdGlwIiwiX2V4dGVuZHMiLCJ0eXBlIiwic3R5bGUiLCJfSW5mb3RpcEljb24iLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJpc1JlcXVpcmVkIiwiYXJpYUxhYmVsIiwiYm9vbCIsIkRFQlVHX1NUWUxFIiwiZGVmYXVsdFByb3BzIiwidW5kZWZpbmVkIiwiX2RlZmF1bHQiLCJfZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///877\n\n}')},517(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 // removed by dead control flow\n{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTE3LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFHQSxJQUFNQSxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBQUMsSUFBQTtJQUFBLElBQU1DLFNBQVMsR0FBQUQsSUFBQSxDQUFUQyxTQUFTO01BQUtDLEtBQUssR0FBQUMsd0JBQUEsQ0FBQUgsSUFBQSxFQUFBSSxTQUFBO0lBQUEsb0JBQ3RDQyxNQUFBLFlBQUFDLGFBQUEsUUFBQUMsUUFBQTtNQUNJQyxLQUFLLEVBQUMsTUFBTTtNQUNaQyxNQUFNLEVBQUMsTUFBTTtNQUNiQyxPQUFPLEVBQUMsV0FBVztNQUNuQkMsS0FBSyxFQUFDO0lBQTRCLEdBQzlCVCxLQUFLLGdCQUVURyxNQUFBLFlBQUFDLGFBQUE7TUFBR00sSUFBSSxFQUFDLE1BQU07TUFBQ0MsUUFBUSxFQUFDO0lBQVMsZ0JBQzdCUixNQUFBLFlBQUFDLGFBQUE7TUFDSVEsQ0FBQyxFQUFDLDhJQUE4STtNQUNoSkYsSUFBSSxFQUFDLFNBQVM7TUFDZEMsUUFBUSxFQUFDO0lBQVMsQ0FDckIsQ0FBQyxlQUNGUixNQUFBLFlBQUFDLGFBQUE7TUFDSVEsQ0FBQyxFQUFDLDhIQUE4SDtNQUNoSUYsSUFBSSxFQUFFWCxTQUFTLEdBQUcsTUFBTSxHQUFHO0lBQVUsQ0FDeEMsQ0FBQyxlQUNGSSxNQUFBLFlBQUFDLGFBQUE7TUFDSVEsQ0FBQyxFQUFDLHFoQkFBcWhCO01BQ3ZoQkMsTUFBTSxFQUFFZCxTQUFTLEdBQUcsU0FBUyxHQUFHLE1BQU87TUFDdkNlLFdBQVcsRUFBQyxJQUFJO01BQ2hCSixJQUFJLEVBQUVYLFNBQVMsR0FBRyxTQUFTLEdBQUcsTUFBTztNQUNyQ1ksUUFBUSxFQUFDO0lBQVMsQ0FDckIsQ0FDRixDQUNGLENBQUM7RUFBQSxDQUNUO0VBQUMsSUFBQUksUUFBQSxHQUFBQyxRQUFBLGNBRWFuQixXQUFXO0VBRTFCQSxXQUFXLENBQUNvQixTQUFTLEdBQUc7SUFDcEJsQixTQUFTLEVBQUVtQixxQkFBUyxDQUFDQztFQUN6QixDQUFDO0VBRUR0QixXQUFXLENBQUN1QixZQUFZLEdBQUc7SUFDdkJyQixTQUFTLEVBQUU7RUFDZixDQUFDO0FBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL2NvbXBvbmVudHMvSW5mb3RpcC9JbmZvdGlwSWNvbi5qc3g/NjBjMiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5cbmNvbnN0IEluZm90aXBJY29uID0gKHsgbGlnaHRJY29uLCAuLi5wcm9wcyB9KSA9PiAoXG4gICAgPHN2Z1xuICAgICAgICB3aWR0aD1cIjIwcHhcIlxuICAgICAgICBoZWlnaHQ9XCIyMHB4XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgPlxuICAgICAgICA8ZyBmaWxsPVwibm9uZVwiIGZpbGxSdWxlPVwiZXZlbm9kZFwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICBkPVwiTTkuNzIxIDE5LjE1OGMtNC45NDcgMC04Ljk3My00LjEyNi04Ljk3My05LjE5NkMuNzQ4IDQuODkyIDQuNzc0Ljc2NiA5LjcyLjc2NmM0Ljk0OCAwIDguOTc0IDQuMTI2IDguOTc0IDkuMTk2IDAgNS4wNy00LjAyNiA5LjE5Ni04Ljk3NCA5LjE5NnpcIlxuICAgICAgICAgICAgICAgIGZpbGw9XCIjMkVCMUVEXCJcbiAgICAgICAgICAgICAgICBmaWxsUnVsZT1cIm5vbnplcm9cIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgZD1cIk05LjcyMSAwQzQuMzYxIDAgMCA0LjQ2OSAwIDkuOTYyYzAgNS40OTMgNC4zNiA5Ljk2MiA5LjcyMSA5Ljk2MiA1LjM2IDAgOS43MjItNC40NjkgOS43MjItOS45NjJDMTkuNDQzIDQuNDY5IDE1LjA4MiAwIDkuNzIgMHpcIlxuICAgICAgICAgICAgICAgIGZpbGw9e2xpZ2h0SWNvbiA/IFwiI0ZGRlwiIDogXCIjMDQ4MzhBXCJ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICBkPVwiTTkuNzIxIDE0Ljc2NWMtLjIwNiAwLS4zNzQuMTEyLS4zNzQuMjV2LjVjMCAuMTM4LjE2OC4yNS4zNzQuMjUuMjA3IDAgLjM3NC0uMTEyLjM3NC0uMjV2LS41YzAtLjEzOC0uMTY3LS4yNS0uMzc0LS4yNXpNOS43NjQgNC43MDZIOS43MmMtLjc5MiAwLTEuNTM2LjI5LTIuMS44MjFhMi43NjcgMi43NjcgMCAwIDAtLjg5IDIuMDNjMCAuMTk3LjE2Ni4zNTYuMzczLjM1NnMuMzc0LS4xNTkuMzc0LS4zNTZjMC0uNTc3LjIzNy0xLjExOC42NjgtMS41MjNhMi4yNjggMi4yNjggMCAwIDEgMS42MDctLjYxNWMxLjE4Mi4wMTYgMi4xOTUuOTggMi4yMTEgMi4xMDcuMDExLjc0My0uMzczIDEuNDI3LTEuMDI4IDEuODMtLjk5NS42MS0xLjU4OSAxLjY5MS0xLjU4OSAyLjg5djEuMDEzYzAgLjE5Ny4xNjguMzU3LjM3NC4zNTcuMjA3IDAgLjM3NC0uMTYuMzc0LS4zNTd2LTEuMDEzYzAtLjk0MS40NzctMS44MiAxLjI0Ni0yLjI5Mi44NzMtLjUzNyAxLjM4Ni0xLjQ0OCAxLjM3MS0yLjQzOC0uMDIyLTEuNTI3LTEuMzQ1LTIuNzg4LTIuOTQ4LTIuODF6XCJcbiAgICAgICAgICAgICAgICBzdHJva2U9e2xpZ2h0SWNvbiA/IFwiIzA0ODM4QVwiIDogXCIjRkZGXCJ9XG4gICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCIuNVwiXG4gICAgICAgICAgICAgICAgZmlsbD17bGlnaHRJY29uID8gXCIjMDQ4MzhBXCIgOiBcIiNGRkZcIn1cbiAgICAgICAgICAgICAgICBmaWxsUnVsZT1cIm5vbnplcm9cIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgIDwvc3ZnPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgSW5mb3RpcEljb247XG5cbkluZm90aXBJY29uLnByb3BUeXBlcyA9IHtcbiAgICBsaWdodEljb246IFByb3BUeXBlcy5ib29sLFxufTtcblxuSW5mb3RpcEljb24uZGVmYXVsdFByb3BzID0ge1xuICAgIGxpZ2h0SWNvbjogZmFsc2UsXG59O1xuIl0sIm5hbWVzIjpbIkluZm90aXBJY29uIiwiX3JlZiIsImxpZ2h0SWNvbiIsInByb3BzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwiX3JlYWN0IiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIiwid2lkdGgiLCJoZWlnaHQiLCJ2aWV3Qm94IiwieG1sbnMiLCJmaWxsIiwiZmlsbFJ1bGUiLCJkIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJfZGVmYXVsdCIsIl9leHBvcnRzIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwiYm9vbCIsImRlZmF1bHRQcm9wcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///517\n\n}')},582(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 // removed by dead control flow\n{ 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 _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }\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\n}')},225(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 // removed by dead control flow\n{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjI1LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O3VDQUVlQSxtQkFBTztBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9jb21wb25lbnRzL1Rvb2x0aXAvaW5kZXguanM/MDU0YSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVG9vbHRpcCBmcm9tIFwiLi9Ub29sdGlwXCI7XG5cbmV4cG9ydCBkZWZhdWx0IFRvb2x0aXA7XG4iXSwibmFtZXMiOlsiVG9vbHRpcCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///225\n\n}')},310(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 // removed by dead control flow\n{ 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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RW5ELGlDQUFBc0IsTUFBQSxDQUNtQnZCLGdCQUFnQixtREFBQXVCLE1BQUEsQ0FDZnZCLGdCQUFnQiwyQ0FBQXVCLE1BQUEsQ0FDeEJNLFlBQVksd0JBQUFOLE1BQUEsQ0FDYkssV0FBVyxtQkFBQUwsTUFBQSxDQUNoQk8sY0FBYztFQUV4QixDQUFDO0FBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RUFBTdHlsZS8uL2NvbXBvbmVudHMvVG9vbHRpcC9wb3NpdGlvbi5qcz82MWIxIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IE9GRlNFVCA9IDEyOyAvLyBtb2RpZmllZCBmcm9tIHJlYWNoLXVpL3Rvb2x0aXAgT0ZGU0VUIHZhbHVlXG5jb25zdCBUUklBTkdMRV9TQ0FMRV9YID0gNjtcbmNvbnN0IFRSSUFOR0xFX1NDQUxFX1kgPSA4O1xuXG5jb25zdCBpc0RpcmVjdGlvblVwID0gKHRyaWdnZXJSZWN0LCB0b29sdGlwUmVjdCkgPT4ge1xuICAgIGNvbnN0IGNvbGxpc2lvbnMgPSB7XG4gICAgICAgIHRvcDogdHJpZ2dlclJlY3QudG9wIC0gdG9vbHRpcFJlY3QuaGVpZ2h0IDwgMCxcbiAgICAgICAgYm90dG9tOlxuICAgICAgICAgICAgd2luZG93LmlubmVySGVpZ2h0IDxcbiAgICAgICAgICAgIHRyaWdnZXJSZWN0LmJvdHRvbSArIHRvb2x0aXBSZWN0LmhlaWdodCArIE9GRlNFVCxcbiAgICB9O1xuXG4gICAgcmV0dXJuICFjb2xsaXNpb25zLnRvcCB8fCBjb2xsaXNpb25zLmJvdHRvbTtcbn07XG5cbi8vIG1vZGlmaWVkIGZyb20gQHJlYWNoL3Rvb2x0aXAgZGVmYXVsdCBwb3NpdGlvbmluZyBmdW5jdGlvblxuLy8gcG9zaXRpb25zIFRvb2x0aXAgcmVsYXRpdmUgdG8gdHJpZ2dlclxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3JlYWNoL3JlYWNoLXVpL2Jsb2IvbWFzdGVyL3BhY2thZ2VzL3Rvb2x0aXAvc3JjL2luZGV4LnRzeCNMNTMyXG5jb25zdCBwb3NpdGlvblRpcCA9ICh0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QpID0+IHtcbiAgICBpZiAoIXRyaWdnZXJSZWN0IHx8ICF0b29sdGlwUmVjdCkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgY29uc3QgdHJpZ2dlckNlbnRlciA9IHRyaWdnZXJSZWN0LmxlZnQgKyB0cmlnZ2VyUmVjdC53aWR0aCAvIDI7XG4gICAgY29uc3QgbGVmdCA9IHRyaWdnZXJDZW50ZXIgLSB0b29sdGlwUmVjdC53aWR0aCAvIDI7XG4gICAgY29uc3QgbWF4TGVmdCA9IHdpbmRvdy5pbm5lcldpZHRoIC0gdG9vbHRpcFJlY3Qud2lkdGggLSAyO1xuICAgIGNvbnN0IGNlbnRlckxlZnQgPVxuICAgICAgICBNYXRoLm1pbihNYXRoLm1heCgyLCBsZWZ0KSwgbWF4TGVmdCkgKyB3aW5kb3cucGFnZVhPZmZzZXQ7XG5cbiAgICBjb25zdCBkaXJlY3Rpb25VcCA9IGlzRGlyZWN0aW9uVXAodHJpZ2dlclJlY3QsIHRvb2x0aXBSZWN0KTtcblxuICAgIHJldHVybiB7XG4gICAgICAgIGxlZnQ6IGAke2NlbnRlckxlZnR9cHhgLFxuICAgICAgICB0b3A6IGRpcmVjdGlvblVwXG4gICAgICAgICAgICA/IGAke1xuICAgICAgICAgICAgICAgICAgdHJpZ2dlclJlY3QudG9wIC1cbiAgICAgICAgICAgICAgICAgIE9GRlNFVCAtXG4gICAgICAgICAgICAgICAgICB0b29sdGlwUmVjdC5oZWlnaHQgK1xuICAgICAgICAgICAgICAgICAgd2luZG93LnBhZ2VZT2Zmc2V0XG4gICAgICAgICAgICAgIH1weGBcbiAgICAgICAgICAgIDogYCR7XG4gICAgICAgICAgICAgICAgICB0cmlnZ2VyUmVjdC50b3AgK1xuICAgICAgICAgICAgICAgICAgT0ZGU0VUICtcbiAgICAgICAgICAgICAgICAgIHRyaWdnZXJSZWN0LmhlaWdodCArXG4gICAgICAgICAgICAgICAgICB3aW5kb3cucGFnZVlPZmZzZXRcbiAgICAgICAgICAgICAgfXB4YCxcbiAgICB9O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgcG9zaXRpb25UaXA7XG5cbi8vIHBvc2l0aW9uIHRyaWFuZ2xlIHJlbGF0aXZlIHRvIHRvb2x0aXAgcG9zaXRpb25cbi8vIFRPRE86IGZpZ3VyZSBvdXQgYSBiZXR0ZXIgd2F5IHRvIHJlbmRlciB0aGVzZSB1cGRhdGVzIGZyb20gd2l0aGluIHJlYWN0XG4vLyByZW5kZXJpbmcuIFRoaXMgbWV0aG9kIGNhdXNlcyBhbiBhZGRpdGlvbmFsIHJlcGFpbnQgYWZ0ZXIgdGhlIFRvb2x0aXBcbi8vIGhhcyBiZWVuIHJlbmRlcmVkLiBtYXkgcmVxdWlyZSBjaGFuZ2VzIHRvIEByZWFjaC90b29sdGlwLlxuZXhwb3J0IGNvbnN0IHBvc2l0aW9uVHJpYW5nbGUgPSAodHJpZ2dlclJlY3QsIHRvb2x0aXBSZWN0KSA9PiB7XG4gICAgY29uc3QgZGlyZWN0aW9uVXAgPSBpc0RpcmVjdGlvblVwKHRyaWdnZXJSZWN0LCB0b29sdGlwUmVjdCk7XG4gICAgY29uc3QgdHJpYW5nbGVUb3AgPSBkaXJlY3Rpb25VcFxuICAgICAgICA/IHRyaWdnZXJSZWN0LnRvcCArIHdpbmRvdy5wYWdlWU9mZnNldCAtIE9GRlNFVFxuICAgICAgICA6IHRyaWdnZXJSZWN0LmJvdHRvbSArIHdpbmRvdy5wYWdlWU9mZnNldCArIE9GRlNFVCAtIFRSSUFOR0xFX1NDQUxFX1k7XG5cbiAgICBjb25zdCB0cmlhbmdsZUxlZnQgPVxuICAgICAgICB0cmlnZ2VyUmVjdC5sZWZ0IC0gVFJJQU5HTEVfU0NBTEVfWCArIHRyaWdnZXJSZWN0LndpZHRoIC8gMjtcblxuICAgIGNvbnN0IHRyaWFuZ2xlQm9yZGVyID0gZGlyZWN0aW9uVXBcbiAgICAgICAgPyBgYm9yZGVyLXRvcDogJHtUUklBTkdMRV9TQ0FMRV9ZfXB4IHNvbGlkO2BcbiAgICAgICAgOiBgYm9yZGVyLWJvdHRvbTogJHtUUklBTkdMRV9TQ0FMRV9ZfXB4IHNvbGlkO2A7XG5cbiAgICByZXR1cm4gYFxuICAgICAgICBib3JkZXItbGVmdDogJHtUUklBTkdMRV9TQ0FMRV9YfXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6ICR7VFJJQU5HTEVfU0NBTEVfWH1weCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgbGVmdDogJHt0cmlhbmdsZUxlZnR9cHg7XG4gICAgICAgIHRvcDogJHt0cmlhbmdsZVRvcH1weDtcbiAgICAgICAgJHt0cmlhbmdsZUJvcmRlcn1cbiAgICBgO1xufTtcbiJdLCJuYW1lcyI6WyJPRkZTRVQiLCJUUklBTkdMRV9TQ0FMRV9YIiwiVFJJQU5HTEVfU0NBTEVfWSIsImlzRGlyZWN0aW9uVXAiLCJ0cmlnZ2VyUmVjdCIsInRvb2x0aXBSZWN0IiwiY29sbGlzaW9ucyIsInRvcCIsImhlaWdodCIsImJvdHRvbSIsIndpbmRvdyIsImlubmVySGVpZ2h0IiwicG9zaXRpb25UaXAiLCJ0cmlnZ2VyQ2VudGVyIiwibGVmdCIsIndpZHRoIiwibWF4TGVmdCIsImlubmVyV2lkdGgiLCJjZW50ZXJMZWZ0IiwiTWF0aCIsIm1pbiIsIm1heCIsInBhZ2VYT2Zmc2V0IiwiZGlyZWN0aW9uVXAiLCJjb25jYXQiLCJwYWdlWU9mZnNldCIsIl9kZWZhdWx0IiwiX2V4cG9ydHMiLCJwb3NpdGlvblRyaWFuZ2xlIiwidHJpYW5nbGVUb3AiLCJ0cmlhbmdsZUxlZnQiLCJ0cmlhbmdsZUJvcmRlciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///310\n\n}')},24(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 // removed by dead control flow\n{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBS0EsSUFBTUEsa0JBQWtCLEdBQUc7SUFDdkJDLFNBQVMsV0FBVEEsU0FBU0EsQ0FBQ0MsT0FBTyxFQUFFO01BQ2YsT0FBTyxJQUFJQyxpQkFBUyxDQUFDRCxPQUFPLENBQUM7SUFDakMsQ0FBQztJQUVERSxNQUFNLFdBQU5BLE1BQU1BLENBQUNGLE9BQU8sRUFBRTtNQUNaLE9BQU8sSUFBSUcsa0JBQU0sQ0FBQ0gsT0FBTyxDQUFDO0lBQzlCO0VBQ0osQ0FBQztFQUFDLElBQUFJLFFBQUEsR0FBQUMsUUFBQSxjQUVhUCxrQkFBa0I7QUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vaW5kZXguanM/NDFmNSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRXJyb3JQYWdlIGZyb20gXCIuL2NvbXBvbmVudHMvRXJyb3IvZXJyb3JcIjtcbmltcG9ydCBGb290ZXIgZnJvbSBcIi4vY29tcG9uZW50cy9Gb290ZXIvZm9vdGVyXCI7XG5cbmltcG9ydCBcIndoYXQtaW5wdXRcIjtcblxuY29uc3QgUXBwU3R5bGVDb21wb25lbnRzID0ge1xuICAgIGVycm9yUGFnZShvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBuZXcgRXJyb3JQYWdlKG9wdGlvbnMpO1xuICAgIH0sXG5cbiAgICBmb290ZXIob3B0aW9ucykge1xuICAgICAgICByZXR1cm4gbmV3IEZvb3RlcihvcHRpb25zKTtcbiAgICB9LFxufTtcblxuZXhwb3J0IGRlZmF1bHQgUXBwU3R5bGVDb21wb25lbnRzO1xuIl0sIm5hbWVzIjpbIlFwcFN0eWxlQ29tcG9uZW50cyIsImVycm9yUGFnZSIsIm9wdGlvbnMiLCJFcnJvclBhZ2UiLCJmb290ZXIiLCJGb290ZXIiLCJfZGVmYXVsdCIsIl9leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///24\n\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_L),\n Component: () => (/* reexport */ C),\n Fragment: () => (/* reexport */ S),\n PureComponent: () => (/* binding */ compat_module_M),\n StrictMode: () => (/* reexport */ S),\n Suspense: () => (/* binding */ compat_module_P),\n SuspenseList: () => (/* binding */ compat_module_B),\n __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: () => (/* binding */ fn),\n cloneElement: () => (/* binding */ mn),\n createContext: () => (/* reexport */ X),\n createElement: () => (/* reexport */ k),\n createFactory: () => (/* binding */ sn),\n createPortal: () => (/* binding */ compat_module_$),\n createRef: () => (/* reexport */ M),\n "default": () => (/* binding */ gn),\n findDOMNode: () => (/* binding */ yn),\n flushSync: () => (/* binding */ bn),\n forwardRef: () => (/* binding */ compat_module_D),\n hydrate: () => (/* binding */ tn),\n isElement: () => (/* binding */ Sn),\n isFragment: () => (/* binding */ vn),\n isMemo: () => (/* binding */ dn),\n isValidElement: () => (/* binding */ hn),\n lazy: () => (/* binding */ compat_module_z),\n memo: () => (/* binding */ compat_module_N),\n render: () => (/* binding */ nn),\n startTransition: () => (/* binding */ compat_module_x),\n unmountComponentAtNode: () => (/* binding */ pn),\n unstable_batchedUpdates: () => (/* binding */ _n),\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 */ an)\n});\n\n;// ./node_modules/preact/dist/preact.module.js\nvar n,l,u,t,i,r,o,e,f,c,s,a,h,p,v,y,d={},w=[],_=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,g=Array.isArray;function m(n,l){for(var u in l)n[u]=l[u];return n}function b(n){n&&n.parentNode&&n.parentNode.removeChild(n)}function k(l,u,t){var i,r,o,e={};for(o in u)"key"==o?i=u[o]:"ref"==o?r=u[o]:e[o]=u[o];if(arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):t),"function"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps)void 0===e[o]&&(e[o]=l.defaultProps[o]);return x(l,e,i,r,null)}function x(n,t,i,r,o){var e={type:n,props:t,key:i,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==o?++u:o,__i:-1,__u:0};return null==o&&null!=l.vnode&&l.vnode(e),e}function M(){return{current:null}}function S(n){return n.children}function C(n,l){this.props=n,this.context=l}function $(n,l){if(null==l)return n.__?$(n.__,n.__i+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return"function"==typeof n.type?$(n):null}function I(n){if(n.__P&&n.__d){var u=n.__v,t=u.__e,i=[],r=[],o=m({},u);o.__v=u.__v+1,l.vnode&&l.vnode(o),q(n.__P,o,u,n.__n,n.__P.namespaceURI,32&u.__u?[t]:null,i,null==t?$(u):t,!!(32&u.__u),r),o.__v=u.__v,o.__.__k[o.__i]=o,D(i,o,r),u.__e=u.__=null,o.__e!=t&&P(o)}}function P(n){if(null!=(n=n.__)&&null!=n.__c)return n.__e=n.__c.base=null,n.__k.some(function(l){if(null!=l&&null!=l.__e)return n.__e=n.__c.base=l.__e}),P(n)}function A(n){(!n.__d&&(n.__d=!0)&&i.push(n)&&!H.__r++||r!=l.debounceRendering)&&((r=l.debounceRendering)||o)(H)}function H(){try{for(var n,l=1;i.length;)i.length>l&&i.sort(e),n=i.shift(),l=i.length,I(n)}finally{i.length=H.__r=0}}function L(n,l,u,t,i,r,o,e,f,c,s){var a,h,p,v,y,_,g,m=t&&t.__k||w,b=l.length;for(f=T(u,l,m,f,b),a=0;a<b;a++)null!=(p=u.__k[a])&&(h=-1!=p.__i&&m[p.__i]||d,p.__i=a,_=q(n,p,h,i,r,o,e,f,c,s),v=p.__e,p.ref&&h.ref!=p.ref&&(h.ref&&J(h.ref,null,p),s.push(p.ref,p.__c||v,p)),null==y&&null!=v&&(y=v),(g=!!(4&p.__u))||h.__k===p.__k?(f=j(p,f,n,g),g&&h.__e&&(h.__e=null)):"function"==typeof p.type&&void 0!==_?f=_:v&&(f=v.nextSibling),p.__u&=-7);return u.__e=y,f}function T(n,l,u,t,i){var r,o,e,f,c,s=u.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?("string"==typeof o||"number"==typeof o||"bigint"==typeof o||o.constructor==String?o=n.__k[r]=x(null,o,null,null,null):g(o)?o=n.__k[r]=x(S,{children:o},null,null,null):void 0===o.constructor&&o.__b>0?o=n.__k[r]=x(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):n.__k[r]=o,f=r+h,o.__=n,o.__b=n.__b+1,e=null,-1!=(c=o.__i=O(o,u,f,a))&&(a--,(e=u[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=u[r])&&0==(2&e.__u)&&(e.__e==t&&(t=$(e)),K(e,e));return t}function j(n,l,u,t){var i,r;if("function"==typeof n.type){for(i=n.__k,r=0;i&&r<i.length;r++)i[r]&&(i[r].__=n,l=j(i[r],l,u,t));return l}n.__e!=l&&(t&&(l&&n.type&&!l.parentNode&&(l=$(n)),u.insertBefore(n.__e,l||null)),l=n.__e);do{l=l&&l.nextSibling}while(null!=l&&8==l.nodeType);return l}function F(n,l){return l=l||[],null==n||"boolean"==typeof n||(g(n)?n.some(function(n){F(n,l)}):l.push(n)),l}function O(n,l,u,t){var i,r,o,e=n.key,f=n.type,c=l[u],s=null!=c&&0==(2&c.__u);if(null===c&&null==e||s&&e==c.key&&f==c.type)return u;if(t>(s?1:0))for(i=u-1,r=u+1;i>=0||r<l.length;)if(null!=(c=l[o=i>=0?i--:r++])&&0==(2&c.__u)&&e==c.key&&f==c.type)return o;return-1}function z(n,l,u){"-"==l[0]?n.setProperty(l,null==u?"":u):n[l]=null==u?"":"number"!=typeof u||_.test(l)?u:u+"px"}function N(n,l,u,t,i){var r,o;n:if("style"==l)if("string"==typeof u)n.style.cssText=u;else{if("string"==typeof t&&(n.style.cssText=t=""),t)for(l in t)u&&l in u||z(n.style,l,"");if(u)for(l in u)t&&u[l]==t[l]||z(n.style,l,u[l])}else if("o"==l[0]&&"n"==l[1])r=l!=(l=l.replace(a,"$1")),o=l.toLowerCase(),l=o in n||"onFocusOut"==l||"onFocusIn"==l?o.slice(2):l.slice(2),n.l||(n.l={}),n.l[l+r]=u,u?t?u[s]=t[s]:(u[s]=h,n.addEventListener(l,r?v:p,r)):n.removeEventListener(l,r?v:p,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==u?"":u;break n}catch(n){}"function"==typeof u||(null==u||!1===u&&"-"!=l[4]?n.removeAttribute(l):n.setAttribute(l,"popover"==l&&1==u?"":u))}}function V(n){return function(u){if(this.l){var t=this.l[u.type+n];if(null==u[c])u[c]=h++;else if(u[c]<t[s])return;return t(l.event?l.event(u):u)}}}function q(n,u,t,i,r,o,e,f,c,s){var a,h,p,v,y,d,_,k,x,M,$,I,P,A,H,T=u.type;if(void 0!==u.constructor)return null;128&t.__u&&(c=!!(32&t.__u),o=[f=u.__e=t.__e]),(a=l.__b)&&a(u);n:if("function"==typeof T)try{if(k=u.props,x=T.prototype&&T.prototype.render,M=(a=T.contextType)&&i[a.__c],$=a?M?M.props.value:a.__:i,t.__c?_=(h=u.__c=t.__c).__=h.__E:(x?u.__c=h=new T(k,$):(u.__c=h=new C(k,$),h.constructor=T,h.render=Q),M&&M.sub(h),h.state||(h.state={}),h.__n=i,p=h.__d=!0,h.__h=[],h._sb=[]),x&&null==h.__s&&(h.__s=h.state),x&&null!=T.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=m({},h.__s)),m(h.__s,T.getDerivedStateFromProps(k,h.__s))),v=h.props,y=h.state,h.__v=u,p)x&&null==T.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),x&&null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(x&&null==T.getDerivedStateFromProps&&k!==v&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(k,$),u.__v==t.__v||!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(k,h.__s,$)){u.__v!=t.__v&&(h.props=k,h.state=h.__s,h.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.some(function(n){n&&(n.__=u)}),w.push.apply(h.__h,h._sb),h._sb=[],h.__h.length&&e.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(k,h.__s,$),x&&null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(v,y,d)})}if(h.context=$,h.props=k,h.__P=n,h.__e=!1,I=l.__r,P=0,x)h.state=h.__s,h.__d=!1,I&&I(u),a=h.render(h.props,h.state,h.context),w.push.apply(h.__h,h._sb),h._sb=[];else do{h.__d=!1,I&&I(u),a=h.render(h.props,h.state,h.context),h.state=h.__s}while(h.__d&&++P<25);h.state=h.__s,null!=h.getChildContext&&(i=m(m({},i),h.getChildContext())),x&&!p&&null!=h.getSnapshotBeforeUpdate&&(d=h.getSnapshotBeforeUpdate(v,y)),A=null!=a&&a.type===S&&null==a.key?E(a.props.children):a,f=L(n,g(A)?A:[A],u,t,i,r,o,e,f,c,s),h.base=u.__e,u.__u&=-161,h.__h.length&&e.push(h),_&&(h.__E=h.__=null)}catch(n){if(u.__v=null,c||null!=o)if(n.then){for(u.__u|=c?160:128;f&&8==f.nodeType&&f.nextSibling;)f=f.nextSibling;o[o.indexOf(f)]=null,u.__e=f}else{for(H=o.length;H--;)b(o[H]);B(u)}else u.__e=t.__e,u.__k=t.__k,n.then||B(u);l.__e(n,u,t)}else null==o&&u.__v==t.__v?(u.__k=t.__k,u.__e=t.__e):f=u.__e=G(t.__e,u,t,i,r,o,e,c,s);return(a=l.diffed)&&a(u),128&u.__u?void 0:f}function B(n){n&&(n.__c&&(n.__c.__e=!0),n.__k&&n.__k.some(B))}function D(n,u,t){for(var i=0;i<t.length;i++)J(t[i],t[++i],t[++i]);l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function E(n){return"object"!=typeof n||null==n||n.__b>0?n:g(n)?n.map(E):m({},n)}function G(u,t,i,r,o,e,f,c,s){var a,h,p,v,y,w,_,m=i.props||d,k=t.props,x=t.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((y=e[a])&&"setAttribute"in y==!!x&&(x?y.localName==x:3==y.nodeType)){u=y,e[a]=null;break}if(null==u){if(null==x)return document.createTextNode(k);u=document.createElementNS(o,x,k.is&&k),c&&(l.__m&&l.__m(t,e),c=!1),e=null}if(null==x)m===k||c&&u.data==k||(u.data=k);else{if(e=e&&n.call(u.childNodes),!c&&null!=e)for(m={},a=0;a<u.attributes.length;a++)m[(y=u.attributes[a]).name]=y.value;for(a in m)y=m[a],"dangerouslySetInnerHTML"==a?p=y:"children"==a||a in k||"value"==a&&"defaultValue"in k||"checked"==a&&"defaultChecked"in k||N(u,a,null,y,o);for(a in k)y=k[a],"children"==a?v=y:"dangerouslySetInnerHTML"==a?h=y:"value"==a?w=y:"checked"==a?_=y:c&&"function"!=typeof y||m[a]===y||N(u,a,y,m[a],o);if(h)c||p&&(h.__html==p.__html||h.__html==u.innerHTML)||(u.innerHTML=h.__html),t.__k=[];else if(p&&(u.innerHTML=""),L("template"==t.type?u.content:u,g(v)?v:[v],t,i,r,"foreignObject"==x?"http://www.w3.org/1999/xhtml":o,e,f,e?e[0]:i.__k&&$(i,0),c,s),null!=e)for(a=e.length;a--;)b(e[a]);c||(a="value","progress"==x&&null==w?u.removeAttribute("value"):null!=w&&(w!==u[a]||"progress"==x&&!w||"option"==x&&w!=m[a])&&N(u,a,w,m[a],o),a="checked",null!=_&&_!=u[a]&&N(u,a,_,m[a],o))}return u}function J(n,u,t){try{if("function"==typeof n){var i="function"==typeof n.__u;i&&n.__u(),i&&null==u||(n.__u=n(u))}else n.current=u}catch(n){l.__e(n,t)}}function K(n,u,t){var i,r;if(l.unmount&&l.unmount(n),(i=n.ref)&&(i.current&&i.current!=n.__e||J(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(n){l.__e(n,u)}i.base=i.__P=null}if(i=n.__k)for(r=0;r<i.length;r++)i[r]&&K(i[r],u,t||"function"!=typeof n.type);t||b(n.__e),n.__c=n.__=n.__e=void 0}function Q(n,l,u){return this.constructor(n,u)}function R(u,t,i){var r,o,e,f;t==document&&(t=document.documentElement),l.__&&l.__(u,t),o=(r="function"==typeof i)?null:i&&i.__k||t.__k,e=[],f=[],q(t,u=(!r&&i||t).__k=k(S,null,[u]),o||d,d,t.namespaceURI,!r&&i?[i]:o?null:t.firstChild?n.call(t.childNodes):null,e,!r&&i?i:o?o.__e:t.firstChild,r,f),D(e,u,f)}function U(n,l){R(n,l,U)}function W(l,u,t){var i,r,o,e,f=m({},l.props);for(o in l.type&&l.type.defaultProps&&(e=l.type.defaultProps),u)"key"==o?i=u[o]:"ref"==o?r=u[o]:f[o]=void 0===u[o]&&null!=e?e[o]:u[o];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),x(l.type,f,i||l.key,r||l.ref,null)}function X(n){function l(n){var u,t;return this.getChildContext||(u=new Set,(t={})[l.__c]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null},this.shouldComponentUpdate=function(n){this.props.value!=n.value&&u.forEach(function(n){n.__e=!0,A(n)})},this.sub=function(n){u.add(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.delete(n),l&&l.call(n)}}),n.children}return l.__c="__cC"+y++,l.__=n,l.Provider=l.__l=(l.Consumer=function(n,l){return n.children(l)}).contextType=l,l}n=w.slice,l={__e:function(n,l,u,t){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,t||{}),o=i.__d),o)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&void 0===n.constructor},C.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!=this.state?this.__s:this.__s=m({},this.state),"function"==typeof n&&(n=n(m({},u),this.props)),n&&m(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),A(this))},C.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),A(this))},C.prototype.render=S,i=[],o="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,e=function(n,l){return n.__v.__b-l.__v.__b},H.__r=0,f=Math.random().toString(8),c="__d"+f,s="__a"+f,a=/(PointerCapture)$|Capture$/i,h=0,p=V(!1),v=V(!0),y=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.some(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();){var t=n.__H;if(n.__P&&t)try{t.__h.some(hooks_module_z),t.__h.some(hooks_module_B),t.__h=[]}catch(r){t.__h=[],hooks_module_c.__e(r,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.__.some(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(i.__h.some(hooks_module_z),i.__h.some(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.__.some(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.some(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.__.some(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,35);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_R(u)&&o({t:u})},[n,e,t]),hooks_module_y(function(){return compat_module_R(u)&&o({t:u}),n(function(){compat_module_R(u)&&o({t:u})})},[n]),e}function compat_module_R(n){try{return!((t=n.__)===(e=n.u())&&(0!==t||1/t==1/e)||t!=t&&e!=e)}catch(n){return!0}// removed by dead control flow\n var t, e; }function compat_module_x(n){n()}function compat_module_w(n){return n}function compat_module_k(){return[!1,compat_module_x]}var compat_module_I=hooks_module_;function compat_module_M(n,t){this.props=n,this.context=t}function compat_module_N(n,e){function r(n){var t=this.props.ref;return t!=n.ref&&t&&("function"==typeof t?t(null):t.current=null),e?!e(this.props,n)||t!=n.ref:compat_module_E(this.props,n)}function u(e){return this.shouldComponentUpdate=r,k(n,e)}return u.displayName="Memo("+(n.displayName||n.name)+")",u.__f=u.prototype.isReactComponent=!0,u.type=n,u}(compat_module_M.prototype=new C).isPureReactComponent=!0,compat_module_M.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=n,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(n.displayName||n.name)+")",t}var compat_module_F=function(n,t){return null==n?null:F(F(n).map(t))},compat_module_L={map:compat_module_F,forEach:compat_module_F,count:function(n){return n?F(n).length:0},only:function(n){var t=F(n);if(1!==t.length)throw"Children.only";return t[0]},toArray:F},compat_module_O=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_O(n,t,e,r)};var compat_module_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.__e=!0,n.__c=null),n.__k=n.__k&&n.__k.map(function(n){return compat_module_V(n,t,e)})),n}function compat_module_W(n,t,e){return n&&e&&(n.__v=null,n.__k=n.__k&&n.__k.map(function(n){return compat_module_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.__&&n.__.__c;return t&&t.__a&&t.__a(n)}function compat_module_z(n){var e,r,u,o=null;function i(i){if(e||(e=n()).then(function(n){n&&(o=n.default||n),u=!0},function(n){r=n,u=!0}),r)throw r;if(!u)throw e;return o?k(o,i):null}return i.displayName="Lazy",i.__f=!0,i}function compat_module_B(){this.i=null,this.l=null}l.unmount=function(n){var t=n.__c;t&&(t.__z=!0),t&&t.__R&&t.__R(),t&&32&n.__u&&(n.type=null),compat_module_U&&compat_module_U(n)},(compat_module_P.prototype=new C).__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||r.__z||(o=!0,e.__R=null,u?u(c):c())};e.__R=i;var l=e.__P;e.__P=null;var c=function(){if(!--r.__u){if(r.state.__a){var n=r.state.__a;r.__v.__k[0]=compat_module_W(n,n.__c.__P,n.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.o.pop();)t.__P=l,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(S,null,n.fallback);return i&&(i.__u&=-33),[k(S,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;if(e.componentWillUnmount=function(){R(null,e.v),e.v=null,e.h=null},e.h&&e.h!==r&&e.componentWillUnmount(),!e.v){for(var u=e.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;e.h=r,e.v={nodeType:1,parentNode:r,childNodes:[],__k:{__m:u.__m},contains:function(){return!0},namespaceURI:r.namespaceURI,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)}}}R(k(Z,{context:e.context},n.__v),e.v)}function compat_module_$(n,e){var r=k(Y,{__v:n,h:e});return r.containerInfo=e,r}(compat_module_B.prototype=new C).__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=F(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,compat_module_Q="undefined"!=typeof document,compat_module_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=""),R(n,t),"function"==typeof e&&e(),n?n.__c:null}function tn(n,t,e){return U(n,t),"function"==typeof e&&e(),n?n.__c:null}C.prototype.isReactComponent=!0,["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(C.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;l.event=function(n){return en&&(n=en(n)),n.persist=function(){},n.isPropagationStopped=function(){return this.cancelBubble},n.isDefaultPrevented=function(){return this.defaultPrevented},n.nativeEvent=n};var rn,un={configurable:!0,get:function(){return this.class}},on=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 l=t[i];if(!("value"===i&&"defaultValue"in t&&null==l||compat_module_Q&&"children"===i&&"noscript"===e||"class"===i||"className"===i)){var c=i.toLowerCase();"defaultValue"===i&&"value"in t&&null==t.value?i="value":"download"===i&&!0===l?l="":"translate"===c&&"no"===l?l=!1:"o"===c[0]&&"n"===c[1]?"ondoubleclick"===c?i="ondblclick":"onchange"!==c||"input"!==e&&"textarea"!==e||compat_module_X(t.type)?"onfocus"===c?i="onfocusin":"onblur"===c?i="onfocusout":compat_module_J.test(i)&&(i=c):c=i="oninput":o&&compat_module_G.test(i)?i=i.replace(compat_module_K,"-$&").toLowerCase():null===l&&(l=void 0),"oninput"===c&&u[i=c]&&(i="oninputCapture"),u[i]=l}}"select"==e&&(u.multiple&&Array.isArray(u.value)&&(u.value=F(t.children).forEach(function(n){n.props.selected=-1!=u.value.indexOf(n.props.value)})),null!=u.defaultValue&&(u.value=F(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",un)):t.className&&(u.class=u.className=t.className),n.props=u}(n),n.$$typeof=compat_module_q,on&&on(n)};var ln=l.__r;l.__r=function(n){ln&&ln(n),rn=n.__c};var cn=l.diffed;l.diffed=function(n){cn&&cn(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),rn=null};var fn={ReactCurrentDispatcher:{current:{readContext:function(n){return rn.__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}}},an="18.3.1";function sn(n){return k.bind(null,n)}function hn(n){return!!n&&n.$$typeof===compat_module_q}function vn(n){return hn(n)&&n.type===S}function dn(n){return!!n&&"string"==typeof n.displayName&&0==n.displayName.indexOf("Memo(")}function mn(n){return hn(n)?W.apply(null,arguments):n}function pn(n){return!!n.__k&&(R(null,n),!0)}function yn(n){return n&&(n.base||1===n.nodeType&&n)||null}var _n=function(n,t){return n(t)},bn=function(n,t){var r=l.debounceRendering;l.debounceRendering=function(n){return n()};var u=n(t);return l.debounceRendering=r,u},Sn=hn,gn={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:compat_module_x,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_L,render:nn,hydrate:tn,unmountComponentAtNode:pn,createPortal:compat_module_$,createElement:k,createContext:X,createFactory:sn,cloneElement:mn,createRef:M,Fragment:S,isValidElement:hn,isElement:Sn,isFragment:vn,isMemo:dn,findDOMNode:yn,Component:C,PureComponent:compat_module_M,memo:compat_module_N,forwardRef:compat_module_D,flushSync:bn,unstable_batchedUpdates:_n,StrictMode:S,Suspense:compat_module_P,SuspenseList:compat_module_B,lazy:compat_module_z,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:fn};\n//# sourceMappingURL=compat.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LGVBQUMsa0JBQWtCLGVBQUMsc0JBQXNCLGVBQUMsaUJBQWlCLGVBQUMsUUFBUSxjQUFDLHFCQUFxQixjQUFDLFNBQVMsY0FBQyxhQUFhLGNBQUMsWUFBWSxjQUFDLGVBQWUsY0FBQywyQkFBMkIsZUFBQyw2REFBNkQsZUFBQyxlQUFlLENBQUMsZUFBZSxDQUFDLDRDQUE0QyxDQUFDLFVBQVUsQ0FBQyxpRkFBaUYsQ0FBQyxlQUFlLGVBQUMsTUFBTSxlQUFDLFlBQVksZUFBQyxvREFBb0QsQ0FBQyxVQUFVLGVBQUMsY0FBYyxlQUFDLE1BQU0sZUFBQyx3REFBOGxCO0FBQzkvVCIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL3ByZWFjdC9kaXN0L3ByZWFjdC5tb2R1bGUuanM/ZGE2NSIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9wcmVhY3QvaG9va3MvZGlzdC9ob29rcy5tb2R1bGUuanM/MzBlYyIsIndlYnBhY2s6Ly9RUFBTdHlsZS8uL25vZGVfbW9kdWxlcy9wcmVhY3QvY29tcGF0L2Rpc3QvY29tcGF0Lm1vZHVsZS5qcz8xNWQxIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBuLGwsdSx0LGkscixvLGUsZixjLHMsYSxoLHAsdix5LGQ9e30sdz1bXSxfPS9hY2l0fGV4KD86c3xnfG58cHwkKXxycGh8Z3JpZHxvd3N8bW5jfG50d3xpbmVbY2hdfHpvb3xeb3JkfGl0ZXJhL2ksZz1BcnJheS5pc0FycmF5O2Z1bmN0aW9uIG0obixsKXtmb3IodmFyIHUgaW4gbCluW3VdPWxbdV07cmV0dXJuIG59ZnVuY3Rpb24gYihuKXtuJiZuLnBhcmVudE5vZGUmJm4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKX1mdW5jdGlvbiBrKGwsdSx0KXt2YXIgaSxyLG8sZT17fTtmb3IobyBpbiB1KVwia2V5XCI9PW8/aT11W29dOlwicmVmXCI9PW8/cj11W29dOmVbb109dVtvXTtpZihhcmd1bWVudHMubGVuZ3RoPjImJihlLmNoaWxkcmVuPWFyZ3VtZW50cy5sZW5ndGg+Mz9uLmNhbGwoYXJndW1lbnRzLDIpOnQpLFwiZnVuY3Rpb25cIj09dHlwZW9mIGwmJm51bGwhPWwuZGVmYXVsdFByb3BzKWZvcihvIGluIGwuZGVmYXVsdFByb3BzKXZvaWQgMD09PWVbb10mJihlW29dPWwuZGVmYXVsdFByb3BzW29dKTtyZXR1cm4geChsLGUsaSxyLG51bGwpfWZ1bmN0aW9uIHgobix0LGkscixvKXt2YXIgZT17dHlwZTpuLHByb3BzOnQsa2V5OmkscmVmOnIsX19rOm51bGwsX186bnVsbCxfX2I6MCxfX2U6bnVsbCxfX2M6bnVsbCxjb25zdHJ1Y3Rvcjp2b2lkIDAsX192Om51bGw9PW8/Kyt1Om8sX19pOi0xLF9fdTowfTtyZXR1cm4gbnVsbD09byYmbnVsbCE9bC52bm9kZSYmbC52bm9kZShlKSxlfWZ1bmN0aW9uIE0oKXtyZXR1cm57Y3VycmVudDpudWxsfX1mdW5jdGlvbiBTKG4pe3JldHVybiBuLmNoaWxkcmVufWZ1bmN0aW9uIEMobixsKXt0aGlzLnByb3BzPW4sdGhpcy5jb250ZXh0PWx9ZnVuY3Rpb24gJChuLGwpe2lmKG51bGw9PWwpcmV0dXJuIG4uX18/JChuLl9fLG4uX19pKzEpOm51bGw7Zm9yKHZhciB1O2w8bi5fX2subGVuZ3RoO2wrKylpZihudWxsIT0odT1uLl9fa1tsXSkmJm51bGwhPXUuX19lKXJldHVybiB1Ll9fZTtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiBuLnR5cGU/JChuKTpudWxsfWZ1bmN0aW9uIEkobil7aWYobi5fX1AmJm4uX19kKXt2YXIgdT1uLl9fdix0PXUuX19lLGk9W10scj1bXSxvPW0oe30sdSk7by5fX3Y9dS5fX3YrMSxsLnZub2RlJiZsLnZub2RlKG8pLHEobi5fX1Asbyx1LG4uX19uLG4uX19QLm5hbWVzcGFjZVVSSSwzMiZ1Ll9fdT9bdF06bnVsbCxpLG51bGw9PXQ/JCh1KTp0LCEhKDMyJnUuX191KSxyKSxvLl9fdj11Ll9fdixvLl9fLl9fa1tvLl9faV09byxEKGksbyxyKSx1Ll9fZT11Ll9fPW51bGwsby5fX2UhPXQmJlAobyl9fWZ1bmN0aW9uIFAobil7aWYobnVsbCE9KG49bi5fXykmJm51bGwhPW4uX19jKXJldHVybiBuLl9fZT1uLl9fYy5iYXNlPW51bGwsbi5fX2suc29tZShmdW5jdGlvbihsKXtpZihudWxsIT1sJiZudWxsIT1sLl9fZSlyZXR1cm4gbi5fX2U9bi5fX2MuYmFzZT1sLl9fZX0pLFAobil9ZnVuY3Rpb24gQShuKXsoIW4uX19kJiYobi5fX2Q9ITApJiZpLnB1c2gobikmJiFILl9fcisrfHxyIT1sLmRlYm91bmNlUmVuZGVyaW5nKSYmKChyPWwuZGVib3VuY2VSZW5kZXJpbmcpfHxvKShIKX1mdW5jdGlvbiBIKCl7dHJ5e2Zvcih2YXIgbixsPTE7aS5sZW5ndGg7KWkubGVuZ3RoPmwmJmkuc29ydChlKSxuPWkuc2hpZnQoKSxsPWkubGVuZ3RoLEkobil9ZmluYWxseXtpLmxlbmd0aD1ILl9fcj0wfX1mdW5jdGlvbiBMKG4sbCx1LHQsaSxyLG8sZSxmLGMscyl7dmFyIGEsaCxwLHYseSxfLGcsbT10JiZ0Ll9fa3x8dyxiPWwubGVuZ3RoO2ZvcihmPVQodSxsLG0sZixiKSxhPTA7YTxiO2ErKyludWxsIT0ocD11Ll9fa1thXSkmJihoPS0xIT1wLl9faSYmbVtwLl9faV18fGQscC5fX2k9YSxfPXEobixwLGgsaSxyLG8sZSxmLGMscyksdj1wLl9fZSxwLnJlZiYmaC5yZWYhPXAucmVmJiYoaC5yZWYmJkooaC5yZWYsbnVsbCxwKSxzLnB1c2gocC5yZWYscC5fX2N8fHYscCkpLG51bGw9PXkmJm51bGwhPXYmJih5PXYpLChnPSEhKDQmcC5fX3UpKXx8aC5fX2s9PT1wLl9faz8oZj1qKHAsZixuLGcpLGcmJmguX19lJiYoaC5fX2U9bnVsbCkpOlwiZnVuY3Rpb25cIj09dHlwZW9mIHAudHlwZSYmdm9pZCAwIT09Xz9mPV86diYmKGY9di5uZXh0U2libGluZykscC5fX3UmPS03KTtyZXR1cm4gdS5fX2U9eSxmfWZ1bmN0aW9uIFQobixsLHUsdCxpKXt2YXIgcixvLGUsZixjLHM9dS5sZW5ndGgsYT1zLGg9MDtmb3Iobi5fX2s9bmV3IEFycmF5KGkpLHI9MDtyPGk7cisrKW51bGwhPShvPWxbcl0pJiZcImJvb2xlYW5cIiE9dHlwZW9mIG8mJlwiZnVuY3Rpb25cIiE9dHlwZW9mIG8/KFwic3RyaW5nXCI9PXR5cGVvZiBvfHxcIm51bWJlclwiPT10eXBlb2Ygb3x8XCJiaWdpbnRcIj09dHlwZW9mIG98fG8uY29uc3RydWN0b3I9PVN0cmluZz9vPW4uX19rW3JdPXgobnVsbCxvLG51bGwsbnVsbCxudWxsKTpnKG8pP289bi5fX2tbcl09eChTLHtjaGlsZHJlbjpvfSxudWxsLG51bGwsbnVsbCk6dm9pZCAwPT09by5jb25zdHJ1Y3RvciYmby5fX2I+MD9vPW4uX19rW3JdPXgoby50eXBlLG8ucHJvcHMsby5rZXksby5yZWY/by5yZWY6bnVsbCxvLl9fdik6bi5fX2tbcl09byxmPXIraCxvLl9fPW4sby5fX2I9bi5fX2IrMSxlPW51bGwsLTEhPShjPW8uX19pPU8obyx1LGYsYSkpJiYoYS0tLChlPXVbY10pJiYoZS5fX3V8PTIpKSxudWxsPT1lfHxudWxsPT1lLl9fdj8oLTE9PWMmJihpPnM/aC0tOmk8cyYmaCsrKSxcImZ1bmN0aW9uXCIhPXR5cGVvZiBvLnR5cGUmJihvLl9fdXw9NCkpOmMhPWYmJihjPT1mLTE/aC0tOmM9PWYrMT9oKys6KGM+Zj9oLS06aCsrLG8uX191fD00KSkpOm4uX19rW3JdPW51bGw7aWYoYSlmb3Iocj0wO3I8cztyKyspbnVsbCE9KGU9dVtyXSkmJjA9PSgyJmUuX191KSYmKGUuX19lPT10JiYodD0kKGUpKSxLKGUsZSkpO3JldHVybiB0fWZ1bmN0aW9uIGoobixsLHUsdCl7dmFyIGkscjtpZihcImZ1bmN0aW9uXCI9PXR5cGVvZiBuLnR5cGUpe2ZvcihpPW4uX19rLHI9MDtpJiZyPGkubGVuZ3RoO3IrKylpW3JdJiYoaVtyXS5fXz1uLGw9aihpW3JdLGwsdSx0KSk7cmV0dXJuIGx9bi5fX2UhPWwmJih0JiYobCYmbi50eXBlJiYhbC5wYXJlbnROb2RlJiYobD0kKG4pKSx1Lmluc2VydEJlZm9yZShuLl9fZSxsfHxudWxsKSksbD1uLl9fZSk7ZG97bD1sJiZsLm5leHRTaWJsaW5nfXdoaWxlKG51bGwhPWwmJjg9PWwubm9kZVR5cGUpO3JldHVybiBsfWZ1bmN0aW9uIEYobixsKXtyZXR1cm4gbD1sfHxbXSxudWxsPT1ufHxcImJvb2xlYW5cIj09dHlwZW9mIG58fChnKG4pP24uc29tZShmdW5jdGlvbihuKXtGKG4sbCl9KTpsLnB1c2gobikpLGx9ZnVuY3Rpb24gTyhuLGwsdSx0KXt2YXIgaSxyLG8sZT1uLmtleSxmPW4udHlwZSxjPWxbdV0scz1udWxsIT1jJiYwPT0oMiZjLl9fdSk7aWYobnVsbD09PWMmJm51bGw9PWV8fHMmJmU9PWMua2V5JiZmPT1jLnR5cGUpcmV0dXJuIHU7aWYodD4ocz8xOjApKWZvcihpPXUtMSxyPXUrMTtpPj0wfHxyPGwubGVuZ3RoOylpZihudWxsIT0oYz1sW289aT49MD9pLS06cisrXSkmJjA9PSgyJmMuX191KSYmZT09Yy5rZXkmJmY9PWMudHlwZSlyZXR1cm4gbztyZXR1cm4tMX1mdW5jdGlvbiB6KG4sbCx1KXtcIi1cIj09bFswXT9uLnNldFByb3BlcnR5KGwsbnVsbD09dT9cIlwiOnUpOm5bbF09bnVsbD09dT9cIlwiOlwibnVtYmVyXCIhPXR5cGVvZiB1fHxfLnRlc3QobCk/dTp1K1wicHhcIn1mdW5jdGlvbiBOKG4sbCx1LHQsaSl7dmFyIHIsbztuOmlmKFwic3R5bGVcIj09bClpZihcInN0cmluZ1wiPT10eXBlb2YgdSluLnN0eWxlLmNzc1RleHQ9dTtlbHNle2lmKFwic3RyaW5nXCI9PXR5cGVvZiB0JiYobi5zdHlsZS5jc3NUZXh0PXQ9XCJcIiksdClmb3IobCBpbiB0KXUmJmwgaW4gdXx8eihuLnN0eWxlLGwsXCJcIik7aWYodSlmb3IobCBpbiB1KXQmJnVbbF09PXRbbF18fHoobi5zdHlsZSxsLHVbbF0pfWVsc2UgaWYoXCJvXCI9PWxbMF0mJlwiblwiPT1sWzFdKXI9bCE9KGw9bC5yZXBsYWNlKGEsXCIkMVwiKSksbz1sLnRvTG93ZXJDYXNlKCksbD1vIGluIG58fFwib25Gb2N1c091dFwiPT1sfHxcIm9uRm9jdXNJblwiPT1sP28uc2xpY2UoMik6bC5zbGljZSgyKSxuLmx8fChuLmw9e30pLG4ubFtsK3JdPXUsdT90P3Vbc109dFtzXToodVtzXT1oLG4uYWRkRXZlbnRMaXN0ZW5lcihsLHI/djpwLHIpKTpuLnJlbW92ZUV2ZW50TGlzdGVuZXIobCxyP3Y6cCxyKTtlbHNle2lmKFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj09aSlsPWwucmVwbGFjZSgveGxpbmsoSHw6aCkvLFwiaFwiKS5yZXBsYWNlKC9zTmFtZSQvLFwic1wiKTtlbHNlIGlmKFwid2lkdGhcIiE9bCYmXCJoZWlnaHRcIiE9bCYmXCJocmVmXCIhPWwmJlwibGlzdFwiIT1sJiZcImZvcm1cIiE9bCYmXCJ0YWJJbmRleFwiIT1sJiZcImRvd25sb2FkXCIhPWwmJlwicm93U3BhblwiIT1sJiZcImNvbFNwYW5cIiE9bCYmXCJyb2xlXCIhPWwmJlwicG9wb3ZlclwiIT1sJiZsIGluIG4pdHJ5e25bbF09bnVsbD09dT9cIlwiOnU7YnJlYWsgbn1jYXRjaChuKXt9XCJmdW5jdGlvblwiPT10eXBlb2YgdXx8KG51bGw9PXV8fCExPT09dSYmXCItXCIhPWxbNF0/bi5yZW1vdmVBdHRyaWJ1dGUobCk6bi5zZXRBdHRyaWJ1dGUobCxcInBvcG92ZXJcIj09bCYmMT09dT9cIlwiOnUpKX19ZnVuY3Rpb24gVihuKXtyZXR1cm4gZnVuY3Rpb24odSl7aWYodGhpcy5sKXt2YXIgdD10aGlzLmxbdS50eXBlK25dO2lmKG51bGw9PXVbY10pdVtjXT1oKys7ZWxzZSBpZih1W2NdPHRbc10pcmV0dXJuO3JldHVybiB0KGwuZXZlbnQ/bC5ldmVudCh1KTp1KX19fWZ1bmN0aW9uIHEobix1LHQsaSxyLG8sZSxmLGMscyl7dmFyIGEsaCxwLHYseSxkLF8sayx4LE0sJCxJLFAsQSxILFQ9dS50eXBlO2lmKHZvaWQgMCE9PXUuY29uc3RydWN0b3IpcmV0dXJuIG51bGw7MTI4JnQuX191JiYoYz0hISgzMiZ0Ll9fdSksbz1bZj11Ll9fZT10Ll9fZV0pLChhPWwuX19iKSYmYSh1KTtuOmlmKFwiZnVuY3Rpb25cIj09dHlwZW9mIFQpdHJ5e2lmKGs9dS5wcm9wcyx4PVQucHJvdG90eXBlJiZULnByb3RvdHlwZS5yZW5kZXIsTT0oYT1ULmNvbnRleHRUeXBlKSYmaVthLl9fY10sJD1hP00/TS5wcm9wcy52YWx1ZTphLl9fOmksdC5fX2M/Xz0oaD11Ll9fYz10Ll9fYykuX189aC5fX0U6KHg/dS5fX2M9aD1uZXcgVChrLCQpOih1Ll9fYz1oPW5ldyBDKGssJCksaC5jb25zdHJ1Y3Rvcj1ULGgucmVuZGVyPVEpLE0mJk0uc3ViKGgpLGguc3RhdGV8fChoLnN0YXRlPXt9KSxoLl9fbj1pLHA9aC5fX2Q9ITAsaC5fX2g9W10saC5fc2I9W10pLHgmJm51bGw9PWguX19zJiYoaC5fX3M9aC5zdGF0ZSkseCYmbnVsbCE9VC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMmJihoLl9fcz09aC5zdGF0ZSYmKGguX19zPW0oe30saC5fX3MpKSxtKGguX19zLFQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKGssaC5fX3MpKSksdj1oLnByb3BzLHk9aC5zdGF0ZSxoLl9fdj11LHApeCYmbnVsbD09VC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMmJm51bGwhPWguY29tcG9uZW50V2lsbE1vdW50JiZoLmNvbXBvbmVudFdpbGxNb3VudCgpLHgmJm51bGwhPWguY29tcG9uZW50RGlkTW91bnQmJmguX19oLnB1c2goaC5jb21wb25lbnREaWRNb3VudCk7ZWxzZXtpZih4JiZudWxsPT1ULmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyYmayE9PXYmJm51bGwhPWguY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmaC5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKGssJCksdS5fX3Y9PXQuX192fHwhaC5fX2UmJm51bGwhPWguc2hvdWxkQ29tcG9uZW50VXBkYXRlJiYhMT09PWguc2hvdWxkQ29tcG9uZW50VXBkYXRlKGssaC5fX3MsJCkpe3UuX192IT10Ll9fdiYmKGgucHJvcHM9ayxoLnN0YXRlPWguX19zLGguX19kPSExKSx1Ll9fZT10Ll9fZSx1Ll9faz10Ll9fayx1Ll9fay5zb21lKGZ1bmN0aW9uKG4pe24mJihuLl9fPXUpfSksdy5wdXNoLmFwcGx5KGguX19oLGguX3NiKSxoLl9zYj1bXSxoLl9faC5sZW5ndGgmJmUucHVzaChoKTticmVhayBufW51bGwhPWguY29tcG9uZW50V2lsbFVwZGF0ZSYmaC5jb21wb25lbnRXaWxsVXBkYXRlKGssaC5fX3MsJCkseCYmbnVsbCE9aC5jb21wb25lbnREaWRVcGRhdGUmJmguX19oLnB1c2goZnVuY3Rpb24oKXtoLmNvbXBvbmVudERpZFVwZGF0ZSh2LHksZCl9KX1pZihoLmNvbnRleHQ9JCxoLnByb3BzPWssaC5fX1A9bixoLl9fZT0hMSxJPWwuX19yLFA9MCx4KWguc3RhdGU9aC5fX3MsaC5fX2Q9ITEsSSYmSSh1KSxhPWgucmVuZGVyKGgucHJvcHMsaC5zdGF0ZSxoLmNvbnRleHQpLHcucHVzaC5hcHBseShoLl9faCxoLl9zYiksaC5fc2I9W107ZWxzZSBkb3toLl9fZD0hMSxJJiZJKHUpLGE9aC5yZW5kZXIoaC5wcm9wcyxoLnN0YXRlLGguY29udGV4dCksaC5zdGF0ZT1oLl9fc313aGlsZShoLl9fZCYmKytQPDI1KTtoLnN0YXRlPWguX19zLG51bGwhPWguZ2V0Q2hpbGRDb250ZXh0JiYoaT1tKG0oe30saSksaC5nZXRDaGlsZENvbnRleHQoKSkpLHgmJiFwJiZudWxsIT1oLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlJiYoZD1oLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKHYseSkpLEE9bnVsbCE9YSYmYS50eXBlPT09UyYmbnVsbD09YS5rZXk/RShhLnByb3BzLmNoaWxkcmVuKTphLGY9TChuLGcoQSk/QTpbQV0sdSx0LGkscixvLGUsZixjLHMpLGguYmFzZT11Ll9fZSx1Ll9fdSY9LTE2MSxoLl9faC5sZW5ndGgmJmUucHVzaChoKSxfJiYoaC5fX0U9aC5fXz1udWxsKX1jYXRjaChuKXtpZih1Ll9fdj1udWxsLGN8fG51bGwhPW8paWYobi50aGVuKXtmb3IodS5fX3V8PWM/MTYwOjEyODtmJiY4PT1mLm5vZGVUeXBlJiZmLm5leHRTaWJsaW5nOylmPWYubmV4dFNpYmxpbmc7b1tvLmluZGV4T2YoZildPW51bGwsdS5fX2U9Zn1lbHNle2ZvcihIPW8ubGVuZ3RoO0gtLTspYihvW0hdKTtCKHUpfWVsc2UgdS5fX2U9dC5fX2UsdS5fX2s9dC5fX2ssbi50aGVufHxCKHUpO2wuX19lKG4sdSx0KX1lbHNlIG51bGw9PW8mJnUuX192PT10Ll9fdj8odS5fX2s9dC5fX2ssdS5fX2U9dC5fX2UpOmY9dS5fX2U9Ryh0Ll9fZSx1LHQsaSxyLG8sZSxjLHMpO3JldHVybihhPWwuZGlmZmVkKSYmYSh1KSwxMjgmdS5fX3U/dm9pZCAwOmZ9ZnVuY3Rpb24gQihuKXtuJiYobi5fX2MmJihuLl9fYy5fX2U9ITApLG4uX19rJiZuLl9fay5zb21lKEIpKX1mdW5jdGlvbiBEKG4sdSx0KXtmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krKylKKHRbaV0sdFsrK2ldLHRbKytpXSk7bC5fX2MmJmwuX19jKHUsbiksbi5zb21lKGZ1bmN0aW9uKHUpe3RyeXtuPXUuX19oLHUuX19oPVtdLG4uc29tZShmdW5jdGlvbihuKXtuLmNhbGwodSl9KX1jYXRjaChuKXtsLl9fZShuLHUuX192KX19KX1mdW5jdGlvbiBFKG4pe3JldHVyblwib2JqZWN0XCIhPXR5cGVvZiBufHxudWxsPT1ufHxuLl9fYj4wP246ZyhuKT9uLm1hcChFKTptKHt9LG4pfWZ1bmN0aW9uIEcodSx0LGkscixvLGUsZixjLHMpe3ZhciBhLGgscCx2LHksdyxfLG09aS5wcm9wc3x8ZCxrPXQucHJvcHMseD10LnR5cGU7aWYoXCJzdmdcIj09eD9vPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIjpcIm1hdGhcIj09eD9vPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTFwiOm98fChvPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbFwiKSxudWxsIT1lKWZvcihhPTA7YTxlLmxlbmd0aDthKyspaWYoKHk9ZVthXSkmJlwic2V0QXR0cmlidXRlXCJpbiB5PT0hIXgmJih4P3kubG9jYWxOYW1lPT14OjM9PXkubm9kZVR5cGUpKXt1PXksZVthXT1udWxsO2JyZWFrfWlmKG51bGw9PXUpe2lmKG51bGw9PXgpcmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGspO3U9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKG8seCxrLmlzJiZrKSxjJiYobC5fX20mJmwuX19tKHQsZSksYz0hMSksZT1udWxsfWlmKG51bGw9PXgpbT09PWt8fGMmJnUuZGF0YT09a3x8KHUuZGF0YT1rKTtlbHNle2lmKGU9ZSYmbi5jYWxsKHUuY2hpbGROb2RlcyksIWMmJm51bGwhPWUpZm9yKG09e30sYT0wO2E8dS5hdHRyaWJ1dGVzLmxlbmd0aDthKyspbVsoeT11LmF0dHJpYnV0ZXNbYV0pLm5hbWVdPXkudmFsdWU7Zm9yKGEgaW4gbSl5PW1bYV0sXCJkYW5nZXJvdXNseVNldElubmVySFRNTFwiPT1hP3A9eTpcImNoaWxkcmVuXCI9PWF8fGEgaW4ga3x8XCJ2YWx1ZVwiPT1hJiZcImRlZmF1bHRWYWx1ZVwiaW4ga3x8XCJjaGVja2VkXCI9PWEmJlwiZGVmYXVsdENoZWNrZWRcImluIGt8fE4odSxhLG51bGwseSxvKTtmb3IoYSBpbiBrKXk9a1thXSxcImNoaWxkcmVuXCI9PWE/dj15OlwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxcIj09YT9oPXk6XCJ2YWx1ZVwiPT1hP3c9eTpcImNoZWNrZWRcIj09YT9fPXk6YyYmXCJmdW5jdGlvblwiIT10eXBlb2YgeXx8bVthXT09PXl8fE4odSxhLHksbVthXSxvKTtpZihoKWN8fHAmJihoLl9faHRtbD09cC5fX2h0bWx8fGguX19odG1sPT11LmlubmVySFRNTCl8fCh1LmlubmVySFRNTD1oLl9faHRtbCksdC5fX2s9W107ZWxzZSBpZihwJiYodS5pbm5lckhUTUw9XCJcIiksTChcInRlbXBsYXRlXCI9PXQudHlwZT91LmNvbnRlbnQ6dSxnKHYpP3Y6W3ZdLHQsaSxyLFwiZm9yZWlnbk9iamVjdFwiPT14P1wiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbFwiOm8sZSxmLGU/ZVswXTppLl9fayYmJChpLDApLGMscyksbnVsbCE9ZSlmb3IoYT1lLmxlbmd0aDthLS07KWIoZVthXSk7Y3x8KGE9XCJ2YWx1ZVwiLFwicHJvZ3Jlc3NcIj09eCYmbnVsbD09dz91LnJlbW92ZUF0dHJpYnV0ZShcInZhbHVlXCIpOm51bGwhPXcmJih3IT09dVthXXx8XCJwcm9ncmVzc1wiPT14JiYhd3x8XCJvcHRpb25cIj09eCYmdyE9bVthXSkmJk4odSxhLHcsbVthXSxvKSxhPVwiY2hlY2tlZFwiLG51bGwhPV8mJl8hPXVbYV0mJk4odSxhLF8sbVthXSxvKSl9cmV0dXJuIHV9ZnVuY3Rpb24gSihuLHUsdCl7dHJ5e2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIG4pe3ZhciBpPVwiZnVuY3Rpb25cIj09dHlwZW9mIG4uX191O2kmJm4uX191KCksaSYmbnVsbD09dXx8KG4uX191PW4odSkpfWVsc2Ugbi5jdXJyZW50PXV9Y2F0Y2gobil7bC5fX2Uobix0KX19ZnVuY3Rpb24gSyhuLHUsdCl7dmFyIGkscjtpZihsLnVubW91bnQmJmwudW5tb3VudChuKSwoaT1uLnJlZikmJihpLmN1cnJlbnQmJmkuY3VycmVudCE9bi5fX2V8fEooaSxudWxsLHUpKSxudWxsIT0oaT1uLl9fYykpe2lmKGkuY29tcG9uZW50V2lsbFVubW91bnQpdHJ5e2kuY29tcG9uZW50V2lsbFVubW91bnQoKX1jYXRjaChuKXtsLl9fZShuLHUpfWkuYmFzZT1pLl9fUD1udWxsfWlmKGk9bi5fX2spZm9yKHI9MDtyPGkubGVuZ3RoO3IrKylpW3JdJiZLKGlbcl0sdSx0fHxcImZ1bmN0aW9uXCIhPXR5cGVvZiBuLnR5cGUpO3R8fGIobi5fX2UpLG4uX19jPW4uX189bi5fX2U9dm9pZCAwfWZ1bmN0aW9uIFEobixsLHUpe3JldHVybiB0aGlzLmNvbnN0cnVjdG9yKG4sdSl9ZnVuY3Rpb24gUih1LHQsaSl7dmFyIHIsbyxlLGY7dD09ZG9jdW1lbnQmJih0PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCksbC5fXyYmbC5fXyh1LHQpLG89KHI9XCJmdW5jdGlvblwiPT10eXBlb2YgaSk/bnVsbDppJiZpLl9fa3x8dC5fX2ssZT1bXSxmPVtdLHEodCx1PSghciYmaXx8dCkuX19rPWsoUyxudWxsLFt1XSksb3x8ZCxkLHQubmFtZXNwYWNlVVJJLCFyJiZpP1tpXTpvP251bGw6dC5maXJzdENoaWxkP24uY2FsbCh0LmNoaWxkTm9kZXMpOm51bGwsZSwhciYmaT9pOm8/by5fX2U6dC5maXJzdENoaWxkLHIsZiksRChlLHUsZil9ZnVuY3Rpb24gVShuLGwpe1IobixsLFUpfWZ1bmN0aW9uIFcobCx1LHQpe3ZhciBpLHIsbyxlLGY9bSh7fSxsLnByb3BzKTtmb3IobyBpbiBsLnR5cGUmJmwudHlwZS5kZWZhdWx0UHJvcHMmJihlPWwudHlwZS5kZWZhdWx0UHJvcHMpLHUpXCJrZXlcIj09bz9pPXVbb106XCJyZWZcIj09bz9yPXVbb106ZltvXT12b2lkIDA9PT11W29dJiZudWxsIT1lP2Vbb106dVtvXTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4yJiYoZi5jaGlsZHJlbj1hcmd1bWVudHMubGVuZ3RoPjM/bi5jYWxsKGFyZ3VtZW50cywyKTp0KSx4KGwudHlwZSxmLGl8fGwua2V5LHJ8fGwucmVmLG51bGwpfWZ1bmN0aW9uIFgobil7ZnVuY3Rpb24gbChuKXt2YXIgdSx0O3JldHVybiB0aGlzLmdldENoaWxkQ29udGV4dHx8KHU9bmV3IFNldCwodD17fSlbbC5fX2NdPXRoaXMsdGhpcy5nZXRDaGlsZENvbnRleHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sdGhpcy5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe3U9bnVsbH0sdGhpcy5zaG91bGRDb21wb25lbnRVcGRhdGU9ZnVuY3Rpb24obil7dGhpcy5wcm9wcy52YWx1ZSE9bi52YWx1ZSYmdS5mb3JFYWNoKGZ1bmN0aW9uKG4pe24uX19lPSEwLEEobil9KX0sdGhpcy5zdWI9ZnVuY3Rpb24obil7dS5hZGQobik7dmFyIGw9bi5jb21wb25lbnRXaWxsVW5tb3VudDtuLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7dSYmdS5kZWxldGUobiksbCYmbC5jYWxsKG4pfX0pLG4uY2hpbGRyZW59cmV0dXJuIGwuX19jPVwiX19jQ1wiK3krKyxsLl9fPW4sbC5Qcm92aWRlcj1sLl9fbD0obC5Db25zdW1lcj1mdW5jdGlvbihuLGwpe3JldHVybiBuLmNoaWxkcmVuKGwpfSkuY29udGV4dFR5cGU9bCxsfW49dy5zbGljZSxsPXtfX2U6ZnVuY3Rpb24obixsLHUsdCl7Zm9yKHZhciBpLHIsbztsPWwuX187KWlmKChpPWwuX19jKSYmIWkuX18pdHJ5e2lmKChyPWkuY29uc3RydWN0b3IpJiZudWxsIT1yLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciYmKGkuc2V0U3RhdGUoci5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IobikpLG89aS5fX2QpLG51bGwhPWkuY29tcG9uZW50RGlkQ2F0Y2gmJihpLmNvbXBvbmVudERpZENhdGNoKG4sdHx8e30pLG89aS5fX2QpLG8pcmV0dXJuIGkuX19FPWl9Y2F0Y2gobCl7bj1sfXRocm93IG59fSx1PTAsdD1mdW5jdGlvbihuKXtyZXR1cm4gbnVsbCE9biYmdm9pZCAwPT09bi5jb25zdHJ1Y3Rvcn0sQy5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24obixsKXt2YXIgdTt1PW51bGwhPXRoaXMuX19zJiZ0aGlzLl9fcyE9dGhpcy5zdGF0ZT90aGlzLl9fczp0aGlzLl9fcz1tKHt9LHRoaXMuc3RhdGUpLFwiZnVuY3Rpb25cIj09dHlwZW9mIG4mJihuPW4obSh7fSx1KSx0aGlzLnByb3BzKSksbiYmbSh1LG4pLG51bGwhPW4mJnRoaXMuX192JiYobCYmdGhpcy5fc2IucHVzaChsKSxBKHRoaXMpKX0sQy5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24obil7dGhpcy5fX3YmJih0aGlzLl9fZT0hMCxuJiZ0aGlzLl9faC5wdXNoKG4pLEEodGhpcykpfSxDLnByb3RvdHlwZS5yZW5kZXI9UyxpPVtdLG89XCJmdW5jdGlvblwiPT10eXBlb2YgUHJvbWlzZT9Qcm9taXNlLnByb3RvdHlwZS50aGVuLmJpbmQoUHJvbWlzZS5yZXNvbHZlKCkpOnNldFRpbWVvdXQsZT1mdW5jdGlvbihuLGwpe3JldHVybiBuLl9fdi5fX2ItbC5fX3YuX19ifSxILl9fcj0wLGY9TWF0aC5yYW5kb20oKS50b1N0cmluZyg4KSxjPVwiX19kXCIrZixzPVwiX19hXCIrZixhPS8oUG9pbnRlckNhcHR1cmUpJHxDYXB0dXJlJC9pLGg9MCxwPVYoITEpLHY9VighMCkseT0wO2V4cG9ydHtDIGFzIENvbXBvbmVudCxTIGFzIEZyYWdtZW50LFcgYXMgY2xvbmVFbGVtZW50LFggYXMgY3JlYXRlQ29udGV4dCxrIGFzIGNyZWF0ZUVsZW1lbnQsTSBhcyBjcmVhdGVSZWYsayBhcyBoLFUgYXMgaHlkcmF0ZSx0IGFzIGlzVmFsaWRFbGVtZW50LGwgYXMgb3B0aW9ucyxSIGFzIHJlbmRlcixGIGFzIHRvQ2hpbGRBcnJheX07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wcmVhY3QubW9kdWxlLmpzLm1hcFxuIiwiaW1wb3J0e29wdGlvbnMgYXMgbn1mcm9tXCJwcmVhY3RcIjt2YXIgdCxyLHUsaSxvPTAsZj1bXSxjPW4sZT1jLl9fYixhPWMuX19yLHY9Yy5kaWZmZWQsbD1jLl9fYyxtPWMudW5tb3VudCxzPWMuX187ZnVuY3Rpb24gcChuLHQpe2MuX19oJiZjLl9faChyLG4sb3x8dCksbz0wO3ZhciB1PXIuX19IfHwoci5fX0g9e19fOltdLF9faDpbXX0pO3JldHVybiBuPj11Ll9fLmxlbmd0aCYmdS5fXy5wdXNoKHt9KSx1Ll9fW25dfWZ1bmN0aW9uIGQobil7cmV0dXJuIG89MSxoKEQsbil9ZnVuY3Rpb24gaChuLHUsaSl7dmFyIG89cCh0KyssMik7aWYoby50PW4sIW8uX19jJiYoby5fXz1baT9pKHUpOkQodm9pZCAwLHUpLGZ1bmN0aW9uKG4pe3ZhciB0PW8uX19OP28uX19OWzBdOm8uX19bMF0scj1vLnQodCxuKTt0IT09ciYmKG8uX19OPVtyLG8uX19bMV1dLG8uX19jLnNldFN0YXRlKHt9KSl9XSxvLl9fYz1yLCFyLl9fZikpe3ZhciBmPWZ1bmN0aW9uKG4sdCxyKXtpZighby5fX2MuX19IKXJldHVybiEwO3ZhciB1PW8uX19jLl9fSC5fXy5maWx0ZXIoZnVuY3Rpb24obil7cmV0dXJuIG4uX19jfSk7aWYodS5ldmVyeShmdW5jdGlvbihuKXtyZXR1cm4hbi5fX059KSlyZXR1cm4hY3x8Yy5jYWxsKHRoaXMsbix0LHIpO3ZhciBpPW8uX19jLnByb3BzIT09bjtyZXR1cm4gdS5zb21lKGZ1bmN0aW9uKG4pe2lmKG4uX19OKXt2YXIgdD1uLl9fWzBdO24uX189bi5fX04sbi5fX049dm9pZCAwLHQhPT1uLl9fWzBdJiYoaT0hMCl9fSksYyYmYy5jYWxsKHRoaXMsbix0LHIpfHxpfTtyLl9fZj0hMDt2YXIgYz1yLnNob3VsZENvbXBvbmVudFVwZGF0ZSxlPXIuY29tcG9uZW50V2lsbFVwZGF0ZTtyLmNvbXBvbmVudFdpbGxVcGRhdGU9ZnVuY3Rpb24obix0LHIpe2lmKHRoaXMuX19lKXt2YXIgdT1jO2M9dm9pZCAwLGYobix0LHIpLGM9dX1lJiZlLmNhbGwodGhpcyxuLHQscil9LHIuc2hvdWxkQ29tcG9uZW50VXBkYXRlPWZ9cmV0dXJuIG8uX19OfHxvLl9ffWZ1bmN0aW9uIHkobix1KXt2YXIgaT1wKHQrKywzKTshYy5fX3MmJkMoaS5fX0gsdSkmJihpLl9fPW4saS51PXUsci5fX0guX19oLnB1c2goaSkpfWZ1bmN0aW9uIF8obix1KXt2YXIgaT1wKHQrKyw0KTshYy5fX3MmJkMoaS5fX0gsdSkmJihpLl9fPW4saS51PXUsci5fX2gucHVzaChpKSl9ZnVuY3Rpb24gQShuKXtyZXR1cm4gbz01LFQoZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpufX0sW10pfWZ1bmN0aW9uIEYobix0LHIpe289NixfKGZ1bmN0aW9uKCl7aWYoXCJmdW5jdGlvblwiPT10eXBlb2Ygbil7dmFyIHI9bih0KCkpO3JldHVybiBmdW5jdGlvbigpe24obnVsbCksciYmXCJmdW5jdGlvblwiPT10eXBlb2YgciYmcigpfX1pZihuKXJldHVybiBuLmN1cnJlbnQ9dCgpLGZ1bmN0aW9uKCl7cmV0dXJuIG4uY3VycmVudD1udWxsfX0sbnVsbD09cj9yOnIuY29uY2F0KG4pKX1mdW5jdGlvbiBUKG4scil7dmFyIHU9cCh0KyssNyk7cmV0dXJuIEModS5fX0gscikmJih1Ll9fPW4oKSx1Ll9fSD1yLHUuX19oPW4pLHUuX199ZnVuY3Rpb24gcShuLHQpe3JldHVybiBvPTgsVChmdW5jdGlvbigpe3JldHVybiBufSx0KX1mdW5jdGlvbiB4KG4pe3ZhciB1PXIuY29udGV4dFtuLl9fY10saT1wKHQrKyw5KTtyZXR1cm4gaS5jPW4sdT8obnVsbD09aS5fXyYmKGkuX189ITAsdS5zdWIocikpLHUucHJvcHMudmFsdWUpOm4uX199ZnVuY3Rpb24gUChuLHQpe2MudXNlRGVidWdWYWx1ZSYmYy51c2VEZWJ1Z1ZhbHVlKHQ/dChuKTpuKX1mdW5jdGlvbiBiKG4pe3ZhciB1PXAodCsrLDEwKSxpPWQoKTtyZXR1cm4gdS5fXz1uLHIuY29tcG9uZW50RGlkQ2F0Y2h8fChyLmNvbXBvbmVudERpZENhdGNoPWZ1bmN0aW9uKG4sdCl7dS5fXyYmdS5fXyhuLHQpLGlbMV0obil9KSxbaVswXSxmdW5jdGlvbigpe2lbMV0odm9pZCAwKX1dfWZ1bmN0aW9uIGcoKXt2YXIgbj1wKHQrKywxMSk7aWYoIW4uX18pe2Zvcih2YXIgdT1yLl9fdjtudWxsIT09dSYmIXUuX19tJiZudWxsIT09dS5fXzspdT11Ll9fO3ZhciBpPXUuX19tfHwodS5fX209WzAsMF0pO24uX189XCJQXCIraVswXStcIi1cIitpWzFdKyt9cmV0dXJuIG4uX199ZnVuY3Rpb24gaigpe2Zvcih2YXIgbjtuPWYuc2hpZnQoKTspe3ZhciB0PW4uX19IO2lmKG4uX19QJiZ0KXRyeXt0Ll9faC5zb21lKHopLHQuX19oLnNvbWUoQiksdC5fX2g9W119Y2F0Y2gocil7dC5fX2g9W10sYy5fX2UocixuLl9fdil9fX1jLl9fYj1mdW5jdGlvbihuKXtyPW51bGwsZSYmZShuKX0sYy5fXz1mdW5jdGlvbihuLHQpe24mJnQuX19rJiZ0Ll9fay5fX20mJihuLl9fbT10Ll9fay5fX20pLHMmJnMobix0KX0sYy5fX3I9ZnVuY3Rpb24obil7YSYmYShuKSx0PTA7dmFyIGk9KHI9bi5fX2MpLl9fSDtpJiYodT09PXI/KGkuX19oPVtdLHIuX19oPVtdLGkuX18uc29tZShmdW5jdGlvbihuKXtuLl9fTiYmKG4uX189bi5fX04pLG4udT1uLl9fTj12b2lkIDB9KSk6KGkuX19oLnNvbWUoeiksaS5fX2guc29tZShCKSxpLl9faD1bXSx0PTApKSx1PXJ9LGMuZGlmZmVkPWZ1bmN0aW9uKG4pe3YmJnYobik7dmFyIHQ9bi5fX2M7dCYmdC5fX0gmJih0Ll9fSC5fX2gubGVuZ3RoJiYoMSE9PWYucHVzaCh0KSYmaT09PWMucmVxdWVzdEFuaW1hdGlvbkZyYW1lfHwoKGk9Yy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpfHx3KShqKSksdC5fX0guX18uc29tZShmdW5jdGlvbihuKXtuLnUmJihuLl9fSD1uLnUpLG4udT12b2lkIDB9KSksdT1yPW51bGx9LGMuX19jPWZ1bmN0aW9uKG4sdCl7dC5zb21lKGZ1bmN0aW9uKG4pe3RyeXtuLl9faC5zb21lKHopLG4uX19oPW4uX19oLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4hbi5fX3x8QihuKX0pfWNhdGNoKHIpe3Quc29tZShmdW5jdGlvbihuKXtuLl9faCYmKG4uX19oPVtdKX0pLHQ9W10sYy5fX2UocixuLl9fdil9fSksbCYmbChuLHQpfSxjLnVubW91bnQ9ZnVuY3Rpb24obil7bSYmbShuKTt2YXIgdCxyPW4uX19jO3ImJnIuX19IJiYoci5fX0guX18uc29tZShmdW5jdGlvbihuKXt0cnl7eihuKX1jYXRjaChuKXt0PW59fSksci5fX0g9dm9pZCAwLHQmJmMuX19lKHQsci5fX3YpKX07dmFyIGs9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lO2Z1bmN0aW9uIHcobil7dmFyIHQscj1mdW5jdGlvbigpe2NsZWFyVGltZW91dCh1KSxrJiZjYW5jZWxBbmltYXRpb25GcmFtZSh0KSxzZXRUaW1lb3V0KG4pfSx1PXNldFRpbWVvdXQociwzNSk7ayYmKHQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHIpKX1mdW5jdGlvbiB6KG4pe3ZhciB0PXIsdT1uLl9fYztcImZ1bmN0aW9uXCI9PXR5cGVvZiB1JiYobi5fX2M9dm9pZCAwLHUoKSkscj10fWZ1bmN0aW9uIEIobil7dmFyIHQ9cjtuLl9fYz1uLl9fKCkscj10fWZ1bmN0aW9uIEMobix0KXtyZXR1cm4hbnx8bi5sZW5ndGghPT10Lmxlbmd0aHx8dC5zb21lKGZ1bmN0aW9uKHQscil7cmV0dXJuIHQhPT1uW3JdfSl9ZnVuY3Rpb24gRChuLHQpe3JldHVyblwiZnVuY3Rpb25cIj09dHlwZW9mIHQ/dChuKTp0fWV4cG9ydHtxIGFzIHVzZUNhbGxiYWNrLHggYXMgdXNlQ29udGV4dCxQIGFzIHVzZURlYnVnVmFsdWUseSBhcyB1c2VFZmZlY3QsYiBhcyB1c2VFcnJvckJvdW5kYXJ5LGcgYXMgdXNlSWQsRiBhcyB1c2VJbXBlcmF0aXZlSGFuZGxlLF8gYXMgdXNlTGF5b3V0RWZmZWN0LFQgYXMgdXNlTWVtbyxoIGFzIHVzZVJlZHVjZXIsQSBhcyB1c2VSZWYsZCBhcyB1c2VTdGF0ZX07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1ob29rcy5tb2R1bGUuanMubWFwXG4iLCJpbXBvcnR7Q29tcG9uZW50IGFzIG4sY3JlYXRlRWxlbWVudCBhcyB0LG9wdGlvbnMgYXMgZSx0b0NoaWxkQXJyYXkgYXMgcixGcmFnbWVudCBhcyB1LHJlbmRlciBhcyBvLGh5ZHJhdGUgYXMgaSxjcmVhdGVDb250ZXh0IGFzIGwsY3JlYXRlUmVmIGFzIGMsY2xvbmVFbGVtZW50IGFzIGZ9ZnJvbVwicHJlYWN0XCI7ZXhwb3J0e0NvbXBvbmVudCxGcmFnbWVudCxGcmFnbWVudCBhcyBTdHJpY3RNb2RlLGNyZWF0ZUNvbnRleHQsY3JlYXRlRWxlbWVudCxjcmVhdGVSZWZ9ZnJvbVwicHJlYWN0XCI7aW1wb3J0e3VzZVN0YXRlIGFzIGEsdXNlTGF5b3V0RWZmZWN0IGFzIHMsdXNlRWZmZWN0IGFzIGgsdXNlQ2FsbGJhY2sgYXMgdix1c2VDb250ZXh0IGFzIGQsdXNlRGVidWdWYWx1ZSBhcyBtLHVzZUlkIGFzIHAsdXNlSW1wZXJhdGl2ZUhhbmRsZSBhcyB5LHVzZU1lbW8gYXMgXyx1c2VSZWR1Y2VyIGFzIGIsdXNlUmVmIGFzIFN9ZnJvbVwicHJlYWN0L2hvb2tzXCI7ZXhwb3J0KmZyb21cInByZWFjdC9ob29rc1wiO2Z1bmN0aW9uIGcobix0KXtmb3IodmFyIGUgaW4gdCluW2VdPXRbZV07cmV0dXJuIG59ZnVuY3Rpb24gRShuLHQpe2Zvcih2YXIgZSBpbiBuKWlmKFwiX19zb3VyY2VcIiE9PWUmJiEoZSBpbiB0KSlyZXR1cm4hMDtmb3IodmFyIHIgaW4gdClpZihcIl9fc291cmNlXCIhPT1yJiZuW3JdIT09dFtyXSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBDKG4sdCl7dmFyIGU9dCgpLHI9YSh7dDp7X186ZSx1OnR9fSksdT1yWzBdLnQsbz1yWzFdO3JldHVybiBzKGZ1bmN0aW9uKCl7dS5fXz1lLHUudT10LFIodSkmJm8oe3Q6dX0pfSxbbixlLHRdKSxoKGZ1bmN0aW9uKCl7cmV0dXJuIFIodSkmJm8oe3Q6dX0pLG4oZnVuY3Rpb24oKXtSKHUpJiZvKHt0OnV9KX0pfSxbbl0pLGV9ZnVuY3Rpb24gUihuKXt0cnl7cmV0dXJuISgodD1uLl9fKT09PShlPW4udSgpKSYmKDAhPT10fHwxL3Q9PTEvZSl8fHQhPXQmJmUhPWUpfWNhdGNoKG4pe3JldHVybiEwfXZhciB0LGV9ZnVuY3Rpb24geChuKXtuKCl9ZnVuY3Rpb24gdyhuKXtyZXR1cm4gbn1mdW5jdGlvbiBrKCl7cmV0dXJuWyExLHhdfXZhciBJPXM7ZnVuY3Rpb24gTShuLHQpe3RoaXMucHJvcHM9bix0aGlzLmNvbnRleHQ9dH1mdW5jdGlvbiBOKG4sZSl7ZnVuY3Rpb24gcihuKXt2YXIgdD10aGlzLnByb3BzLnJlZjtyZXR1cm4gdCE9bi5yZWYmJnQmJihcImZ1bmN0aW9uXCI9PXR5cGVvZiB0P3QobnVsbCk6dC5jdXJyZW50PW51bGwpLGU/IWUodGhpcy5wcm9wcyxuKXx8dCE9bi5yZWY6RSh0aGlzLnByb3BzLG4pfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIHRoaXMuc2hvdWxkQ29tcG9uZW50VXBkYXRlPXIsdChuLGUpfXJldHVybiB1LmRpc3BsYXlOYW1lPVwiTWVtbyhcIisobi5kaXNwbGF5TmFtZXx8bi5uYW1lKStcIilcIix1Ll9fZj11LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PSEwLHUudHlwZT1uLHV9KE0ucHJvdG90eXBlPW5ldyBuKS5pc1B1cmVSZWFjdENvbXBvbmVudD0hMCxNLnByb3RvdHlwZS5zaG91bGRDb21wb25lbnRVcGRhdGU9ZnVuY3Rpb24obix0KXtyZXR1cm4gRSh0aGlzLnByb3BzLG4pfHxFKHRoaXMuc3RhdGUsdCl9O3ZhciBUPWUuX19iO2UuX19iPWZ1bmN0aW9uKG4pe24udHlwZSYmbi50eXBlLl9fZiYmbi5yZWYmJihuLnByb3BzLnJlZj1uLnJlZixuLnJlZj1udWxsKSxUJiZUKG4pfTt2YXIgQT1cInVuZGVmaW5lZFwiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuZm9yJiZTeW1ib2wuZm9yKFwicmVhY3QuZm9yd2FyZF9yZWZcIil8fDM5MTE7ZnVuY3Rpb24gRChuKXtmdW5jdGlvbiB0KHQpe3ZhciBlPWcoe30sdCk7cmV0dXJuIGRlbGV0ZSBlLnJlZixuKGUsdC5yZWZ8fG51bGwpfXJldHVybiB0LiQkdHlwZW9mPUEsdC5yZW5kZXI9bix0LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXQuX19mPSEwLHQuZGlzcGxheU5hbWU9XCJGb3J3YXJkUmVmKFwiKyhuLmRpc3BsYXlOYW1lfHxuLm5hbWUpK1wiKVwiLHR9dmFyIEY9ZnVuY3Rpb24obix0KXtyZXR1cm4gbnVsbD09bj9udWxsOnIocihuKS5tYXAodCkpfSxMPXttYXA6Rixmb3JFYWNoOkYsY291bnQ6ZnVuY3Rpb24obil7cmV0dXJuIG4/cihuKS5sZW5ndGg6MH0sb25seTpmdW5jdGlvbihuKXt2YXIgdD1yKG4pO2lmKDEhPT10Lmxlbmd0aCl0aHJvd1wiQ2hpbGRyZW4ub25seVwiO3JldHVybiB0WzBdfSx0b0FycmF5OnJ9LE89ZS5fX2U7ZS5fX2U9ZnVuY3Rpb24obix0LGUscil7aWYobi50aGVuKWZvcih2YXIgdSxvPXQ7bz1vLl9fOylpZigodT1vLl9fYykmJnUuX19jKXJldHVybiBudWxsPT10Ll9fZSYmKHQuX19lPWUuX19lLHQuX19rPWUuX19rKSx1Ll9fYyhuLHQpO08obix0LGUscil9O3ZhciBVPWUudW5tb3VudDtmdW5jdGlvbiBWKG4sdCxlKXtyZXR1cm4gbiYmKG4uX19jJiZuLl9fYy5fX0gmJihuLl9fYy5fX0guX18uZm9yRWFjaChmdW5jdGlvbihuKXtcImZ1bmN0aW9uXCI9PXR5cGVvZiBuLl9fYyYmbi5fX2MoKX0pLG4uX19jLl9fSD1udWxsKSxudWxsIT0obj1nKHt9LG4pKS5fX2MmJihuLl9fYy5fX1A9PT1lJiYobi5fX2MuX19QPXQpLG4uX19jLl9fZT0hMCxuLl9fYz1udWxsKSxuLl9faz1uLl9fayYmbi5fX2subWFwKGZ1bmN0aW9uKG4pe3JldHVybiBWKG4sdCxlKX0pKSxufWZ1bmN0aW9uIFcobix0LGUpe3JldHVybiBuJiZlJiYobi5fX3Y9bnVsbCxuLl9faz1uLl9fayYmbi5fX2subWFwKGZ1bmN0aW9uKG4pe3JldHVybiBXKG4sdCxlKX0pLG4uX19jJiZuLl9fYy5fX1A9PT10JiYobi5fX2UmJmUuYXBwZW5kQ2hpbGQobi5fX2UpLG4uX19jLl9fZT0hMCxuLl9fYy5fX1A9ZSkpLG59ZnVuY3Rpb24gUCgpe3RoaXMuX191PTAsdGhpcy5vPW51bGwsdGhpcy5fX2I9bnVsbH1mdW5jdGlvbiBqKG4pe3ZhciB0PW4uX18mJm4uX18uX19jO3JldHVybiB0JiZ0Ll9fYSYmdC5fX2Eobil9ZnVuY3Rpb24geihuKXt2YXIgZSxyLHUsbz1udWxsO2Z1bmN0aW9uIGkoaSl7aWYoZXx8KGU9bigpKS50aGVuKGZ1bmN0aW9uKG4pe24mJihvPW4uZGVmYXVsdHx8biksdT0hMH0sZnVuY3Rpb24obil7cj1uLHU9ITB9KSxyKXRocm93IHI7aWYoIXUpdGhyb3cgZTtyZXR1cm4gbz90KG8saSk6bnVsbH1yZXR1cm4gaS5kaXNwbGF5TmFtZT1cIkxhenlcIixpLl9fZj0hMCxpfWZ1bmN0aW9uIEIoKXt0aGlzLmk9bnVsbCx0aGlzLmw9bnVsbH1lLnVubW91bnQ9ZnVuY3Rpb24obil7dmFyIHQ9bi5fX2M7dCYmKHQuX196PSEwKSx0JiZ0Ll9fUiYmdC5fX1IoKSx0JiYzMiZuLl9fdSYmKG4udHlwZT1udWxsKSxVJiZVKG4pfSwoUC5wcm90b3R5cGU9bmV3IG4pLl9fYz1mdW5jdGlvbihuLHQpe3ZhciBlPXQuX19jLHI9dGhpcztudWxsPT1yLm8mJihyLm89W10pLHIuby5wdXNoKGUpO3ZhciB1PWooci5fX3YpLG89ITEsaT1mdW5jdGlvbigpe298fHIuX196fHwobz0hMCxlLl9fUj1udWxsLHU/dShjKTpjKCkpfTtlLl9fUj1pO3ZhciBsPWUuX19QO2UuX19QPW51bGw7dmFyIGM9ZnVuY3Rpb24oKXtpZighLS1yLl9fdSl7aWYoci5zdGF0ZS5fX2Epe3ZhciBuPXIuc3RhdGUuX19hO3IuX192Ll9fa1swXT1XKG4sbi5fX2MuX19QLG4uX19jLl9fTyl9dmFyIHQ7Zm9yKHIuc2V0U3RhdGUoe19fYTpyLl9fYj1udWxsfSk7dD1yLm8ucG9wKCk7KXQuX19QPWwsdC5mb3JjZVVwZGF0ZSgpfX07ci5fX3UrK3x8MzImdC5fX3V8fHIuc2V0U3RhdGUoe19fYTpyLl9fYj1yLl9fdi5fX2tbMF19KSxuLnRoZW4oaSxpKX0sUC5wcm90b3R5cGUuY29tcG9uZW50V2lsbFVubW91bnQ9ZnVuY3Rpb24oKXt0aGlzLm89W119LFAucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihuLGUpe2lmKHRoaXMuX19iKXtpZih0aGlzLl9fdi5fX2spe3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksbz10aGlzLl9fdi5fX2tbMF0uX19jO3RoaXMuX192Ll9fa1swXT1WKHRoaXMuX19iLHIsby5fX089by5fX1ApfXRoaXMuX19iPW51bGx9dmFyIGk9ZS5fX2EmJnQodSxudWxsLG4uZmFsbGJhY2spO3JldHVybiBpJiYoaS5fX3UmPS0zMyksW3QodSxudWxsLGUuX19hP251bGw6bi5jaGlsZHJlbiksaV19O3ZhciBIPWZ1bmN0aW9uKG4sdCxlKXtpZigrK2VbMV09PT1lWzBdJiZuLmwuZGVsZXRlKHQpLG4ucHJvcHMucmV2ZWFsT3JkZXImJihcInRcIiE9PW4ucHJvcHMucmV2ZWFsT3JkZXJbMF18fCFuLmwuc2l6ZSkpZm9yKGU9bi5pO2U7KXtmb3IoO2UubGVuZ3RoPjM7KWUucG9wKCkoKTtpZihlWzFdPGVbMF0pYnJlYWs7bi5pPWU9ZVsyXX19O2Z1bmN0aW9uIFoobil7cmV0dXJuIHRoaXMuZ2V0Q2hpbGRDb250ZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIG4uY29udGV4dH0sbi5jaGlsZHJlbn1mdW5jdGlvbiBZKG4pe3ZhciBlPXRoaXMscj1uLmg7aWYoZS5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe28obnVsbCxlLnYpLGUudj1udWxsLGUuaD1udWxsfSxlLmgmJmUuaCE9PXImJmUuY29tcG9uZW50V2lsbFVubW91bnQoKSwhZS52KXtmb3IodmFyIHU9ZS5fX3Y7bnVsbCE9PXUmJiF1Ll9fbSYmbnVsbCE9PXUuX187KXU9dS5fXztlLmg9cixlLnY9e25vZGVUeXBlOjEscGFyZW50Tm9kZTpyLGNoaWxkTm9kZXM6W10sX19rOntfX206dS5fX219LGNvbnRhaW5zOmZ1bmN0aW9uKCl7cmV0dXJuITB9LG5hbWVzcGFjZVVSSTpyLm5hbWVzcGFjZVVSSSxpbnNlcnRCZWZvcmU6ZnVuY3Rpb24obix0KXt0aGlzLmNoaWxkTm9kZXMucHVzaChuKSxlLmguaW5zZXJ0QmVmb3JlKG4sdCl9LHJlbW92ZUNoaWxkOmZ1bmN0aW9uKG4pe3RoaXMuY2hpbGROb2Rlcy5zcGxpY2UodGhpcy5jaGlsZE5vZGVzLmluZGV4T2Yobik+Pj4xLDEpLGUuaC5yZW1vdmVDaGlsZChuKX19fW8odChaLHtjb250ZXh0OmUuY29udGV4dH0sbi5fX3YpLGUudil9ZnVuY3Rpb24gJChuLGUpe3ZhciByPXQoWSx7X192Om4saDplfSk7cmV0dXJuIHIuY29udGFpbmVySW5mbz1lLHJ9KEIucHJvdG90eXBlPW5ldyBuKS5fX2E9ZnVuY3Rpb24obil7dmFyIHQ9dGhpcyxlPWoodC5fX3YpLHI9dC5sLmdldChuKTtyZXR1cm4gclswXSsrLGZ1bmN0aW9uKHUpe3ZhciBvPWZ1bmN0aW9uKCl7dC5wcm9wcy5yZXZlYWxPcmRlcj8oci5wdXNoKHUpLEgodCxuLHIpKTp1KCl9O2U/ZShvKTpvKCl9fSxCLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24obil7dGhpcy5pPW51bGwsdGhpcy5sPW5ldyBNYXA7dmFyIHQ9cihuLmNoaWxkcmVuKTtuLnJldmVhbE9yZGVyJiZcImJcIj09PW4ucmV2ZWFsT3JkZXJbMF0mJnQucmV2ZXJzZSgpO2Zvcih2YXIgZT10Lmxlbmd0aDtlLS07KXRoaXMubC5zZXQodFtlXSx0aGlzLmk9WzEsMCx0aGlzLmldKTtyZXR1cm4gbi5jaGlsZHJlbn0sQi5wcm90b3R5cGUuY29tcG9uZW50RGlkVXBkYXRlPUIucHJvdG90eXBlLmNvbXBvbmVudERpZE1vdW50PWZ1bmN0aW9uKCl7dmFyIG49dGhpczt0aGlzLmwuZm9yRWFjaChmdW5jdGlvbih0LGUpe0gobixlLHQpfSl9O3ZhciBxPVwidW5kZWZpbmVkXCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5mb3ImJlN5bWJvbC5mb3IoXCJyZWFjdC5lbGVtZW50XCIpfHw2MDEwMyxHPS9eKD86YWNjZW50fGFsaWdubWVudHxhcmFiaWN8YmFzZWxpbmV8Y2FwfGNsaXAoPyFQYXRoVSl8Y29sb3J8ZG9taW5hbnR8ZmlsbHxmbG9vZHxmb250fGdseXBoKD8hUil8aG9yaXp8aW1hZ2UoIVMpfGxldHRlcnxsaWdodGluZ3xtYXJrZXIoPyFIfFd8VSl8b3ZlcmxpbmV8cGFpbnR8cG9pbnRlcnxzaGFwZXxzdG9wfHN0cmlrZXRocm91Z2h8c3Ryb2tlfHRleHQoPyFMKXx0cmFuc2Zvcm18dW5kZXJsaW5lfHVuaWNvZGV8dW5pdHN8dnx2ZWN0b3J8dmVydHx3b3JkfHdyaXRpbmd8eCg/IUMpKVtBLVpdLyxKPS9eb24oQW5pfFRyYXxUb3V8QmVmb3JlSW5wfENvbXBvKS8sSz0vW0EtWjAtOV0vZyxRPVwidW5kZWZpbmVkXCIhPXR5cGVvZiBkb2N1bWVudCxYPWZ1bmN0aW9uKG4pe3JldHVybihcInVuZGVmaW5lZFwiIT10eXBlb2YgU3ltYm9sJiZcInN5bWJvbFwiPT10eXBlb2YgU3ltYm9sKCk/L2ZpbHxjaGV8cmFkLzovZmlsfGNoZXxyYS8pLnRlc3Qobil9O2Z1bmN0aW9uIG5uKG4sdCxlKXtyZXR1cm4gbnVsbD09dC5fX2smJih0LnRleHRDb250ZW50PVwiXCIpLG8obix0KSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBlJiZlKCksbj9uLl9fYzpudWxsfWZ1bmN0aW9uIHRuKG4sdCxlKXtyZXR1cm4gaShuLHQpLFwiZnVuY3Rpb25cIj09dHlwZW9mIGUmJmUoKSxuP24uX19jOm51bGx9bi5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD0hMCxbXCJjb21wb25lbnRXaWxsTW91bnRcIixcImNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNcIixcImNvbXBvbmVudFdpbGxVcGRhdGVcIl0uZm9yRWFjaChmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkobi5wcm90b3R5cGUsdCx7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzW1wiVU5TQUZFX1wiK3RdfSxzZXQ6ZnVuY3Rpb24obil7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsdCx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm59KX19KX0pO3ZhciBlbj1lLmV2ZW50O2UuZXZlbnQ9ZnVuY3Rpb24obil7cmV0dXJuIGVuJiYobj1lbihuKSksbi5wZXJzaXN0PWZ1bmN0aW9uKCl7fSxuLmlzUHJvcGFnYXRpb25TdG9wcGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2FuY2VsQnViYmxlfSxuLmlzRGVmYXVsdFByZXZlbnRlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRlZmF1bHRQcmV2ZW50ZWR9LG4ubmF0aXZlRXZlbnQ9bn07dmFyIHJuLHVuPXtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xhc3N9fSxvbj1lLnZub2RlO2Uudm5vZGU9ZnVuY3Rpb24obil7XCJzdHJpbmdcIj09dHlwZW9mIG4udHlwZSYmZnVuY3Rpb24obil7dmFyIHQ9bi5wcm9wcyxlPW4udHlwZSx1PXt9LG89LTE9PWUuaW5kZXhPZihcIi1cIik7Zm9yKHZhciBpIGluIHQpe3ZhciBsPXRbaV07aWYoIShcInZhbHVlXCI9PT1pJiZcImRlZmF1bHRWYWx1ZVwiaW4gdCYmbnVsbD09bHx8USYmXCJjaGlsZHJlblwiPT09aSYmXCJub3NjcmlwdFwiPT09ZXx8XCJjbGFzc1wiPT09aXx8XCJjbGFzc05hbWVcIj09PWkpKXt2YXIgYz1pLnRvTG93ZXJDYXNlKCk7XCJkZWZhdWx0VmFsdWVcIj09PWkmJlwidmFsdWVcImluIHQmJm51bGw9PXQudmFsdWU/aT1cInZhbHVlXCI6XCJkb3dubG9hZFwiPT09aSYmITA9PT1sP2w9XCJcIjpcInRyYW5zbGF0ZVwiPT09YyYmXCJub1wiPT09bD9sPSExOlwib1wiPT09Y1swXSYmXCJuXCI9PT1jWzFdP1wib25kb3VibGVjbGlja1wiPT09Yz9pPVwib25kYmxjbGlja1wiOlwib25jaGFuZ2VcIiE9PWN8fFwiaW5wdXRcIiE9PWUmJlwidGV4dGFyZWFcIiE9PWV8fFgodC50eXBlKT9cIm9uZm9jdXNcIj09PWM/aT1cIm9uZm9jdXNpblwiOlwib25ibHVyXCI9PT1jP2k9XCJvbmZvY3Vzb3V0XCI6Si50ZXN0KGkpJiYoaT1jKTpjPWk9XCJvbmlucHV0XCI6byYmRy50ZXN0KGkpP2k9aS5yZXBsYWNlKEssXCItJCZcIikudG9Mb3dlckNhc2UoKTpudWxsPT09bCYmKGw9dm9pZCAwKSxcIm9uaW5wdXRcIj09PWMmJnVbaT1jXSYmKGk9XCJvbmlucHV0Q2FwdHVyZVwiKSx1W2ldPWx9fVwic2VsZWN0XCI9PWUmJih1Lm11bHRpcGxlJiZBcnJheS5pc0FycmF5KHUudmFsdWUpJiYodS52YWx1ZT1yKHQuY2hpbGRyZW4pLmZvckVhY2goZnVuY3Rpb24obil7bi5wcm9wcy5zZWxlY3RlZD0tMSE9dS52YWx1ZS5pbmRleE9mKG4ucHJvcHMudmFsdWUpfSkpLG51bGwhPXUuZGVmYXVsdFZhbHVlJiYodS52YWx1ZT1yKHQuY2hpbGRyZW4pLmZvckVhY2goZnVuY3Rpb24obil7bi5wcm9wcy5zZWxlY3RlZD11Lm11bHRpcGxlPy0xIT11LmRlZmF1bHRWYWx1ZS5pbmRleE9mKG4ucHJvcHMudmFsdWUpOnUuZGVmYXVsdFZhbHVlPT1uLnByb3BzLnZhbHVlfSkpKSx0LmNsYXNzJiYhdC5jbGFzc05hbWU/KHUuY2xhc3M9dC5jbGFzcyxPYmplY3QuZGVmaW5lUHJvcGVydHkodSxcImNsYXNzTmFtZVwiLHVuKSk6dC5jbGFzc05hbWUmJih1LmNsYXNzPXUuY2xhc3NOYW1lPXQuY2xhc3NOYW1lKSxuLnByb3BzPXV9KG4pLG4uJCR0eXBlb2Y9cSxvbiYmb24obil9O3ZhciBsbj1lLl9fcjtlLl9fcj1mdW5jdGlvbihuKXtsbiYmbG4obikscm49bi5fX2N9O3ZhciBjbj1lLmRpZmZlZDtlLmRpZmZlZD1mdW5jdGlvbihuKXtjbiYmY24obik7dmFyIHQ9bi5wcm9wcyxlPW4uX19lO251bGwhPWUmJlwidGV4dGFyZWFcIj09PW4udHlwZSYmXCJ2YWx1ZVwiaW4gdCYmdC52YWx1ZSE9PWUudmFsdWUmJihlLnZhbHVlPW51bGw9PXQudmFsdWU/XCJcIjp0LnZhbHVlKSxybj1udWxsfTt2YXIgZm49e1JlYWN0Q3VycmVudERpc3BhdGNoZXI6e2N1cnJlbnQ6e3JlYWRDb250ZXh0OmZ1bmN0aW9uKG4pe3JldHVybiBybi5fX25bbi5fX2NdLnByb3BzLnZhbHVlfSx1c2VDYWxsYmFjazp2LHVzZUNvbnRleHQ6ZCx1c2VEZWJ1Z1ZhbHVlOm0sdXNlRGVmZXJyZWRWYWx1ZTp3LHVzZUVmZmVjdDpoLHVzZUlkOnAsdXNlSW1wZXJhdGl2ZUhhbmRsZTp5LHVzZUluc2VydGlvbkVmZmVjdDpJLHVzZUxheW91dEVmZmVjdDpzLHVzZU1lbW86Xyx1c2VSZWR1Y2VyOmIsdXNlUmVmOlMsdXNlU3RhdGU6YSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpDLHVzZVRyYW5zaXRpb246a319fSxhbj1cIjE4LjMuMVwiO2Z1bmN0aW9uIHNuKG4pe3JldHVybiB0LmJpbmQobnVsbCxuKX1mdW5jdGlvbiBobihuKXtyZXR1cm4hIW4mJm4uJCR0eXBlb2Y9PT1xfWZ1bmN0aW9uIHZuKG4pe3JldHVybiBobihuKSYmbi50eXBlPT09dX1mdW5jdGlvbiBkbihuKXtyZXR1cm4hIW4mJlwic3RyaW5nXCI9PXR5cGVvZiBuLmRpc3BsYXlOYW1lJiYwPT1uLmRpc3BsYXlOYW1lLmluZGV4T2YoXCJNZW1vKFwiKX1mdW5jdGlvbiBtbihuKXtyZXR1cm4gaG4obik/Zi5hcHBseShudWxsLGFyZ3VtZW50cyk6bn1mdW5jdGlvbiBwbihuKXtyZXR1cm4hIW4uX19rJiYobyhudWxsLG4pLCEwKX1mdW5jdGlvbiB5bihuKXtyZXR1cm4gbiYmKG4uYmFzZXx8MT09PW4ubm9kZVR5cGUmJm4pfHxudWxsfXZhciBfbj1mdW5jdGlvbihuLHQpe3JldHVybiBuKHQpfSxibj1mdW5jdGlvbihuLHQpe3ZhciByPWUuZGVib3VuY2VSZW5kZXJpbmc7ZS5kZWJvdW5jZVJlbmRlcmluZz1mdW5jdGlvbihuKXtyZXR1cm4gbigpfTt2YXIgdT1uKHQpO3JldHVybiBlLmRlYm91bmNlUmVuZGVyaW5nPXIsdX0sU249aG4sZ249e3VzZVN0YXRlOmEsdXNlSWQ6cCx1c2VSZWR1Y2VyOmIsdXNlRWZmZWN0OmgsdXNlTGF5b3V0RWZmZWN0OnMsdXNlSW5zZXJ0aW9uRWZmZWN0OkksdXNlVHJhbnNpdGlvbjprLHVzZURlZmVycmVkVmFsdWU6dyx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpDLHN0YXJ0VHJhbnNpdGlvbjp4LHVzZVJlZjpTLHVzZUltcGVyYXRpdmVIYW5kbGU6eSx1c2VNZW1vOl8sdXNlQ2FsbGJhY2s6dix1c2VDb250ZXh0OmQsdXNlRGVidWdWYWx1ZTptLHZlcnNpb246XCIxOC4zLjFcIixDaGlsZHJlbjpMLHJlbmRlcjpubixoeWRyYXRlOnRuLHVubW91bnRDb21wb25lbnRBdE5vZGU6cG4sY3JlYXRlUG9ydGFsOiQsY3JlYXRlRWxlbWVudDp0LGNyZWF0ZUNvbnRleHQ6bCxjcmVhdGVGYWN0b3J5OnNuLGNsb25lRWxlbWVudDptbixjcmVhdGVSZWY6YyxGcmFnbWVudDp1LGlzVmFsaWRFbGVtZW50OmhuLGlzRWxlbWVudDpTbixpc0ZyYWdtZW50OnZuLGlzTWVtbzpkbixmaW5kRE9NTm9kZTp5bixDb21wb25lbnQ6bixQdXJlQ29tcG9uZW50Ok0sbWVtbzpOLGZvcndhcmRSZWY6RCxmbHVzaFN5bmM6Ym4sdW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXM6X24sU3RyaWN0TW9kZTp1LFN1c3BlbnNlOlAsU3VzcGVuc2VMaXN0OkIsbGF6eTp6LF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEOmZufTtleHBvcnR7TCBhcyBDaGlsZHJlbixNIGFzIFB1cmVDb21wb25lbnQsUCBhcyBTdXNwZW5zZSxCIGFzIFN1c3BlbnNlTGlzdCxmbiBhcyBfX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCxtbiBhcyBjbG9uZUVsZW1lbnQsc24gYXMgY3JlYXRlRmFjdG9yeSwkIGFzIGNyZWF0ZVBvcnRhbCxnbiBhcyBkZWZhdWx0LHluIGFzIGZpbmRET01Ob2RlLGJuIGFzIGZsdXNoU3luYyxEIGFzIGZvcndhcmRSZWYsdG4gYXMgaHlkcmF0ZSxTbiBhcyBpc0VsZW1lbnQsdm4gYXMgaXNGcmFnbWVudCxkbiBhcyBpc01lbW8saG4gYXMgaXNWYWxpZEVsZW1lbnQseiBhcyBsYXp5LE4gYXMgbWVtbyxubiBhcyByZW5kZXIseCBhcyBzdGFydFRyYW5zaXRpb24scG4gYXMgdW5tb3VudENvbXBvbmVudEF0Tm9kZSxfbiBhcyB1bnN0YWJsZV9iYXRjaGVkVXBkYXRlcyx3IGFzIHVzZURlZmVycmVkVmFsdWUsSSBhcyB1c2VJbnNlcnRpb25FZmZlY3QsQyBhcyB1c2VTeW5jRXh0ZXJuYWxTdG9yZSxrIGFzIHVzZVRyYW5zaXRpb24sYW4gYXMgdmVyc2lvbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb21wYXQubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///763\n\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\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) // removed by dead control flow\n{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTU2LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxJQUFJLEtBQXFDLEVBQUU7QUFBQSxxQ0FPMUMsQ0FBQztBQUNGO0FBQ0E7QUFDQSxtQkFBbUIsbUJBQU8sQ0FBQyxHQUE0QjtBQUN2RCIsInNvdXJjZXMiOlsid2VicGFjazovL1FQUFN0eWxlLy4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvaW5kZXguanM/ZDdiYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIHZhciBSZWFjdElzID0gcmVxdWlyZSgncmVhY3QtaXMnKTtcblxuICAvLyBCeSBleHBsaWNpdGx5IHVzaW5nIGBwcm9wLXR5cGVzYCB5b3UgYXJlIG9wdGluZyBpbnRvIG5ldyBkZXZlbG9wbWVudCBiZWhhdmlvci5cbiAgLy8gaHR0cDovL2ZiLm1lL3Byb3AtdHlwZXMtaW4tcHJvZFxuICB2YXIgdGhyb3dPbkRpcmVjdEFjY2VzcyA9IHRydWU7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9mYWN0b3J5V2l0aFR5cGVDaGVja2VycycpKFJlYWN0SXMuaXNFbGVtZW50LCB0aHJvd09uRGlyZWN0QWNjZXNzKTtcbn0gZWxzZSB7XG4gIC8vIEJ5IGV4cGxpY2l0bHkgdXNpbmcgYHByb3AtdHlwZXNgIHlvdSBhcmUgb3B0aW5nIGludG8gbmV3IHByb2R1Y3Rpb24gYmVoYXZpb3IuXG4gIC8vIGh0dHA6Ly9mYi5tZS9wcm9wLXR5cGVzLWluLXByb2RcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2ZhY3RvcnlXaXRoVGhyb3dpbmdTaGltcycpKCk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///556\n\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\n}")},88(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 // removed by dead control flow\n{}\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiODguanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQXlEO0FBQzdEO0FBQ0EsTUFBTTtBQUFBLEVBSzBCO0FBQ2hDLENBQUM7QUFDRCxxQ0FBcUM7QUFDckM7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQiw4QkFBbUI7O0FBRXRDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDBFQUEwRSw4QkFBbUI7O0FBRTdGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBLFVBQVUsOEJBQW1COztBQUU3QjtBQUNBLFVBQVUsOEJBQW1COztBQUU3QjtBQUNBLFVBQVUsOEJBQW1COztBQUU3QjtBQUNBLGlCQUFpQiw4QkFBbUI7QUFDcEMsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7O0FBRVI7QUFDQTtBQUNBO0FBQ0EsUUFBUTs7QUFFUjtBQUNBLDJDQUEyQzs7QUFFM0M7QUFDQSwrQ0FBK0M7O0FBRS9DO0FBQ0EsdURBQXVEOztBQUV2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLOztBQUVMO0FBQ0Esd0NBQXdDO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBLE1BQU07O0FBRU47QUFDQSxLQUFLO0FBQ0w7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUMsK0JBQStCOztBQUV0RTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELFNBQVM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELFNBQVM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7QUFFTjtBQUNBO0FBQ0E7QUFDQSxNQUFNOztBQUVOO0FBQ0E7QUFDQTtBQUNBLE1BQU07O0FBRU47QUFDQTtBQUNBO0FBQ0EsTUFBTTs7QUFFTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUixNQUFNOztBQUVOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7QUFFTjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUYsT0FBTztBQUNQO0FBQ0EsQ0FBQztBQUNEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vUVBQU3R5bGUvLi9ub2RlX21vZHVsZXMvd2hhdC1pbnB1dC9kaXN0L3doYXQtaW5wdXQuanM/OGUzYiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIHdoYXQtaW5wdXQgLSBBIGdsb2JhbCB1dGlsaXR5IGZvciB0cmFja2luZyB0aGUgY3VycmVudCBpbnB1dCBtZXRob2QgKG1vdXNlLCBrZXlib2FyZCBvciB0b3VjaCkuXG4gKiBAdmVyc2lvbiB2NS4yLjEyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vdGVuMXNldmVuL3doYXQtaW5wdXRcbiAqIEBsaWNlbnNlIE1JVFxuICovXG4oZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7XG5cdGVsc2UgaWYodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKVxuXHRcdGRlZmluZShcIndoYXRJbnB1dFwiLCBbXSwgZmFjdG9yeSk7XG5cdGVsc2UgaWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKVxuXHRcdGV4cG9ydHNbXCJ3aGF0SW5wdXRcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wid2hhdElucHV0XCJdID0gZmFjdG9yeSgpO1xufSkodGhpcywgZnVuY3Rpb24oKSB7XG5yZXR1cm4gLyoqKioqKi8gKGZ1bmN0aW9uKG1vZHVsZXMpIHsgLy8gd2VicGFja0Jvb3RzdHJhcFxuLyoqKioqKi8gXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbi8qKioqKiovIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbi8qKioqKiovIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4vKioqKioqLyBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4vKioqKioqLyBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pXG4vKioqKioqLyBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcblxuLyoqKioqKi8gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4vKioqKioqLyBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuLyoqKioqKi8gXHRcdFx0ZXhwb3J0czoge30sXG4vKioqKioqLyBcdFx0XHRpZDogbW9kdWxlSWQsXG4vKioqKioqLyBcdFx0XHRsb2FkZWQ6IGZhbHNlXG4vKioqKioqLyBcdFx0fTtcblxuLyoqKioqKi8gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuLyoqKioqKi8gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4vKioqKioqLyBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuLyoqKioqKi8gXHRcdG1vZHVsZS5sb2FkZWQgPSB0cnVlO1xuXG4vKioqKioqLyBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbi8qKioqKiovIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4vKioqKioqLyBcdH1cblxuXG4vKioqKioqLyBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuLyoqKioqKi8gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuXG4vKioqKioqLyBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuLyoqKioqKi8gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qKioqKiovIH0pXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKi8gKFtcbi8qIDAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuXHQndXNlIHN0cmljdCc7XG5cblx0bW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoKSB7XG5cdCAgLypcblx0ICAgKiBiYWlsIG91dCBpZiB0aGVyZSBpcyBubyBkb2N1bWVudCBvciB3aW5kb3dcblx0ICAgKiAoaS5lLiBpbiBhIG5vZGUvbm9uLURPTSBlbnZpcm9ubWVudClcblx0ICAgKlxuXHQgICAqIFJldHVybiBhIHN0dWJiZWQgQVBJIGluc3RlYWRcblx0ICAgKi9cblx0ICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJyB8fCB0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuXHQgICAgcmV0dXJuIHtcblx0ICAgICAgLy8gYWx3YXlzIHJldHVybiBcImluaXRpYWxcIiBiZWNhdXNlIG5vIGludGVyYWN0aW9uIHdpbGwgZXZlciBiZSBkZXRlY3RlZFxuXHQgICAgICBhc2s6IGZ1bmN0aW9uIGFzaygpIHtcblx0ICAgICAgICByZXR1cm4gJ2luaXRpYWwnO1xuXHQgICAgICB9LFxuXG5cdCAgICAgIC8vIGFsd2F5cyByZXR1cm4gbnVsbFxuXHQgICAgICBlbGVtZW50OiBmdW5jdGlvbiBlbGVtZW50KCkge1xuXHQgICAgICAgIHJldHVybiBudWxsO1xuXHQgICAgICB9LFxuXG5cdCAgICAgIC8vIG5vLW9wXG5cdCAgICAgIGlnbm9yZUtleXM6IGZ1bmN0aW9uIGlnbm9yZUtleXMoKSB7fSxcblxuXHQgICAgICAvLyBuby1vcFxuXHQgICAgICBzcGVjaWZpY0tleXM6IGZ1bmN0aW9uIHNwZWNpZmljS2V5cygpIHt9LFxuXG5cdCAgICAgIC8vIG5vLW9wXG5cdCAgICAgIHJlZ2lzdGVyT25DaGFuZ2U6IGZ1bmN0aW9uIHJlZ2lzdGVyT25DaGFuZ2UoKSB7fSxcblxuXHQgICAgICAvLyBuby1vcFxuXHQgICAgICB1blJlZ2lzdGVyT25DaGFuZ2U6IGZ1bmN0aW9uIHVuUmVnaXN0ZXJPbkNoYW5nZSgpIHt9XG5cdCAgICB9O1xuXHQgIH1cblxuXHQgIC8qXG5cdCAgICogdmFyaWFibGVzXG5cdCAgICovXG5cblx0ICAvLyBjYWNoZSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRcblx0ICB2YXIgZG9jRWxlbSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcblxuXHQgIC8vIGN1cnJlbnRseSBmb2N1c2VkIGRvbSBlbGVtZW50XG5cdCAgdmFyIGN1cnJlbnRFbGVtZW50ID0gbnVsbDtcblxuXHQgIC8vIGxhc3QgdXNlZCBpbnB1dCB0eXBlXG5cdCAgdmFyIGN1cnJlbnRJbnB1dCA9ICdpbml0aWFsJztcblxuXHQgIC8vIGxhc3QgdXNlZCBpbnB1dCBpbnRlbnRcblx0ICB2YXIgY3VycmVudEludGVudCA9IGN1cnJlbnRJbnB1dDtcblxuXHQgIC8vIFVOSVggdGltZXN0YW1wIG9mIGN1cnJlbnQgZXZlbnRcblx0ICB2YXIgY3VycmVudFRpbWVzdGFtcCA9IERhdGUubm93KCk7XG5cblx0ICAvLyBjaGVjayBmb3IgYSBgZGF0YS13aGF0cGVyc2lzdGAgYXR0cmlidXRlIG9uIGVpdGhlciB0aGUgYGh0bWxgIG9yIGBib2R5YCBlbGVtZW50cywgZGVmYXVsdHMgdG8gYHRydWVgXG5cdCAgdmFyIHNob3VsZFBlcnNpc3QgPSBmYWxzZTtcblxuXHQgIC8vIGZvcm0gaW5wdXQgdHlwZXNcblx0ICB2YXIgZm9ybUlucHV0cyA9IFsnYnV0dG9uJywgJ2lucHV0JywgJ3NlbGVjdCcsICd0ZXh0YXJlYSddO1xuXG5cdCAgLy8gZW1wdHkgYXJyYXkgZm9yIGhvbGRpbmcgY2FsbGJhY2sgZnVuY3Rpb25zXG5cdCAgdmFyIGZ1bmN0aW9uTGlzdCA9IFtdO1xuXG5cdCAgLy8gbGlzdCBvZiBtb2RpZmllciBrZXlzIGNvbW1vbmx5IHVzZWQgd2l0aCB0aGUgbW91c2UgYW5kXG5cdCAgLy8gY2FuIGJlIHNhZmVseSBpZ25vcmVkIHRvIHByZXZlbnQgZmFsc2Uga2V5Ym9hcmQgZGV0ZWN0aW9uXG5cdCAgdmFyIGlnbm9yZU1hcCA9IFsxNiwgLy8gc2hpZnRcblx0ICAxNywgLy8gY29udHJvbFxuXHQgIDE4LCAvLyBhbHRcblx0ICA5MSwgLy8gV2luZG93cyBrZXkgLyBsZWZ0IEFwcGxlIGNtZFxuXHQgIDkzIC8vIFdpbmRvd3MgbWVudSAvIHJpZ2h0IEFwcGxlIGNtZFxuXHQgIF07XG5cblx0ICB2YXIgc3BlY2lmaWNNYXAgPSBbXTtcblxuXHQgIC8vIG1hcHBpbmcgb2YgZXZlbnRzIHRvIGlucHV0IHR5cGVzXG5cdCAgdmFyIGlucHV0TWFwID0ge1xuXHQgICAga2V5ZG93bjogJ2tleWJvYXJkJyxcblx0ICAgIGtleXVwOiAna2V5Ym9hcmQnLFxuXHQgICAgbW91c2Vkb3duOiAnbW91c2UnLFxuXHQgICAgbW91c2Vtb3ZlOiAnbW91c2UnLFxuXHQgICAgTVNQb2ludGVyRG93bjogJ3BvaW50ZXInLFxuXHQgICAgTVNQb2ludGVyTW92ZTogJ3BvaW50ZXInLFxuXHQgICAgcG9pbnRlcmRvd246ICdwb2ludGVyJyxcblx0ICAgIHBvaW50ZXJtb3ZlOiAncG9pbnRlcicsXG5cdCAgICB0b3VjaHN0YXJ0OiAndG91Y2gnLFxuXHQgICAgdG91Y2hlbmQ6ICd0b3VjaCdcblxuXHQgICAgLy8gYm9vbGVhbjogdHJ1ZSBpZiB0aGUgcGFnZSBpcyBiZWluZyBzY3JvbGxlZFxuXHQgIH07dmFyIGlzU2Nyb2xsaW5nID0gZmFsc2U7XG5cblx0ICAvLyBzdG9yZSBjdXJyZW50IG1vdXNlIHBvc2l0aW9uXG5cdCAgdmFyIG1vdXNlUG9zID0ge1xuXHQgICAgeDogbnVsbCxcblx0ICAgIHk6IG51bGxcblxuXHQgICAgLy8gbWFwIG9mIElFIDEwIHBvaW50ZXIgZXZlbnRzXG5cdCAgfTt2YXIgcG9pbnRlck1hcCA9IHtcblx0ICAgIDI6ICd0b3VjaCcsXG5cdCAgICAzOiAndG91Y2gnLCAvLyB0cmVhdCBwZW4gbGlrZSB0b3VjaFxuXHQgICAgNDogJ21vdXNlJ1xuXG5cdCAgICAvLyBjaGVjayBzdXBwb3J0IGZvciBwYXNzaXZlIGV2ZW50IGxpc3RlbmVyc1xuXHQgIH07dmFyIHN1cHBvcnRzUGFzc2l2ZSA9IGZhbHNlO1xuXG5cdCAgdHJ5IHtcblx0ICAgIHZhciBvcHRzID0gT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAncGFzc2l2ZScsIHtcblx0ICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG5cdCAgICAgICAgc3VwcG9ydHNQYXNzaXZlID0gdHJ1ZTtcblx0ICAgICAgfVxuXHQgICAgfSk7XG5cblx0ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd0ZXN0JywgbnVsbCwgb3B0cyk7XG5cdCAgfSBjYXRjaCAoZSkge31cblx0ICAvLyBmYWlsIHNpbGVudGx5XG5cblxuXHQgIC8qXG5cdCAgICogc2V0IHVwXG5cdCAgICovXG5cblx0ICB2YXIgc2V0VXAgPSBmdW5jdGlvbiBzZXRVcCgpIHtcblx0ICAgIC8vIGFkZCBjb3JyZWN0IG1vdXNlIHdoZWVsIGV2ZW50IG1hcHBpbmcgdG8gYGlucHV0TWFwYFxuXHQgICAgaW5wdXRNYXBbZGV0ZWN0V2hlZWwoKV0gPSAnbW91c2UnO1xuXG5cdCAgICBhZGRMaXN0ZW5lcnMoKTtcblx0ICB9O1xuXG5cdCAgLypcblx0ICAgKiBldmVudHNcblx0ICAgKi9cblxuXHQgIHZhciBhZGRMaXN0ZW5lcnMgPSBmdW5jdGlvbiBhZGRMaXN0ZW5lcnMoKSB7XG5cdCAgICAvLyBgcG9pbnRlcm1vdmVgLCBgTVNQb2ludGVyTW92ZWAsIGBtb3VzZW1vdmVgIGFuZCBtb3VzZSB3aGVlbCBldmVudCBiaW5kaW5nXG5cdCAgICAvLyBjYW4gb25seSBkZW1vbnN0cmF0ZSBwb3RlbnRpYWwsIGJ1dCBub3QgYWN0dWFsLCBpbnRlcmFjdGlvblxuXHQgICAgLy8gYW5kIGFyZSB0cmVhdGVkIHNlcGFyYXRlbHlcblx0ICAgIHZhciBvcHRpb25zID0gc3VwcG9ydHNQYXNzaXZlID8geyBwYXNzaXZlOiB0cnVlLCBjYXB0dXJlOiB0cnVlIH0gOiB0cnVlO1xuXG5cdCAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgc2V0UGVyc2lzdCwgdHJ1ZSk7XG5cblx0ICAgIC8vIHBvaW50ZXIgZXZlbnRzIChtb3VzZSwgcGVuLCB0b3VjaClcblx0ICAgIGlmICh3aW5kb3cuUG9pbnRlckV2ZW50KSB7XG5cdCAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyZG93bicsIHNldElucHV0LCB0cnVlKTtcblx0ICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJtb3ZlJywgc2V0SW50ZW50LCB0cnVlKTtcblx0ICAgIH0gZWxzZSBpZiAod2luZG93Lk1TUG9pbnRlckV2ZW50KSB7XG5cdCAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdNU1BvaW50ZXJEb3duJywgc2V0SW5wdXQsIHRydWUpO1xuXHQgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignTVNQb2ludGVyTW92ZScsIHNldEludGVudCwgdHJ1ZSk7XG5cdCAgICB9IGVsc2Uge1xuXHQgICAgICAvLyBtb3VzZSBldmVudHNcblx0ICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHNldElucHV0LCB0cnVlKTtcblx0ICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHNldEludGVudCwgdHJ1ZSk7XG5cblx0ICAgICAgLy8gdG91Y2ggZXZlbnRzXG5cdCAgICAgIGlmICgnb250b3VjaHN0YXJ0JyBpbiB3aW5kb3cpIHtcblx0ICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIHNldElucHV0LCBvcHRpb25zKTtcblx0ICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hlbmQnLCBzZXRJbnB1dCwgdHJ1ZSk7XG5cdCAgICAgIH1cblx0ICAgIH1cblxuXHQgICAgLy8gbW91c2Ugd2hlZWxcblx0ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKGRldGVjdFdoZWVsKCksIHNldEludGVudCwgb3B0aW9ucyk7XG5cblx0ICAgIC8vIGtleWJvYXJkIGV2ZW50c1xuXHQgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBzZXRJbnB1dCwgdHJ1ZSk7XG5cdCAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCBzZXRJbnB1dCwgdHJ1ZSk7XG5cblx0ICAgIC8vIGZvY3VzIGV2ZW50c1xuXHQgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCBzZXRFbGVtZW50LCB0cnVlKTtcblx0ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIGNsZWFyRWxlbWVudCwgdHJ1ZSk7XG5cdCAgfTtcblxuXHQgIC8vIGNoZWNrcyBpZiBpbnB1dCBwZXJzaXN0ZW5jZSBzaG91bGQgaGFwcGVuIGFuZFxuXHQgIC8vIGdldCBzYXZlZCBzdGF0ZSBmcm9tIHNlc3Npb24gc3RvcmFnZSBpZiB0cnVlIChkZWZhdWx0cyB0byBgZmFsc2VgKVxuXHQgIHZhciBzZXRQZXJzaXN0ID0gZnVuY3Rpb24gc2V0UGVyc2lzdCgpIHtcblx0ICAgIHNob3VsZFBlcnNpc3QgPSAhKGRvY0VsZW0uZ2V0QXR0cmlidXRlKCdkYXRhLXdoYXRwZXJzaXN0JykgPT09ICdmYWxzZScgfHwgZG9jdW1lbnQuYm9keS5nZXRBdHRyaWJ1dGUoJ2RhdGEtd2hhdHBlcnNpc3QnKSA9PT0gJ2ZhbHNlJyk7XG5cblx0ICAgIGlmIChzaG91bGRQZXJzaXN0KSB7XG5cdCAgICAgIC8vIGNoZWNrIGZvciBzZXNzaW9uIHZhcmlhYmxlcyBhbmQgdXNlIGlmIGF2YWlsYWJsZVxuXHQgICAgICB0cnkge1xuXHQgICAgICAgIGlmICh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnd2hhdC1pbnB1dCcpKSB7XG5cdCAgICAgICAgICBjdXJyZW50SW5wdXQgPSB3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnd2hhdC1pbnB1dCcpO1xuXHQgICAgICAgIH1cblxuXHQgICAgICAgIGlmICh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnd2hhdC1pbnRlbnQnKSkge1xuXHQgICAgICAgICAgY3VycmVudEludGVudCA9IHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd3aGF0LWludGVudCcpO1xuXHQgICAgICAgIH1cblx0ICAgICAgfSBjYXRjaCAoZSkge1xuXHQgICAgICAgIC8vIGZhaWwgc2lsZW50bHlcblx0ICAgICAgfVxuXHQgICAgfVxuXG5cdCAgICAvLyBhbHdheXMgcnVuIHRoZXNlIHNvIGF0IGxlYXN0IGBpbml0aWFsYCBzdGF0ZSBpcyBzZXRcblx0ICAgIGRvVXBkYXRlKCdpbnB1dCcpO1xuXHQgICAgZG9VcGRhdGUoJ2ludGVudCcpO1xuXHQgIH07XG5cblx0ICAvLyBjaGVja3MgY29uZGl0aW9ucyBiZWZvcmUgdXBkYXRpbmcgbmV3IGlucHV0XG5cdCAgdmFyIHNldElucHV0ID0gZnVuY3Rpb24gc2V0SW5wdXQoZXZlbnQpIHtcblx0ICAgIHZhciBldmVudEtleSA9IGV2ZW50LndoaWNoO1xuXHQgICAgdmFyIHZhbHVlID0gaW5wdXRNYXBbZXZlbnQudHlwZV07XG5cblx0ICAgIGlmICh2YWx1ZSA9PT0gJ3BvaW50ZXInKSB7XG5cdCAgICAgIHZhbHVlID0gcG9pbnRlclR5cGUoZXZlbnQpO1xuXHQgICAgfVxuXG5cdCAgICB2YXIgaWdub3JlTWF0Y2ggPSAhc3BlY2lmaWNNYXAubGVuZ3RoICYmIGlnbm9yZU1hcC5pbmRleE9mKGV2ZW50S2V5KSA9PT0gLTE7XG5cblx0ICAgIHZhciBzcGVjaWZpY01hdGNoID0gc3BlY2lmaWNNYXAubGVuZ3RoICYmIHNwZWNpZmljTWFwLmluZGV4T2YoZXZlbnRLZXkpICE9PSAtMTtcblxuXHQgICAgdmFyIHNob3VsZFVwZGF0ZSA9IHZhbHVlID09PSAna2V5Ym9hcmQnICYmIGV2ZW50S2V5ICYmIChpZ25vcmVNYXRjaCB8fCBzcGVjaWZpY01hdGNoKSB8fCB2YWx1ZSA9PT0gJ21vdXNlJyB8fCB2YWx1ZSA9PT0gJ3RvdWNoJztcblxuXHQgICAgLy8gcHJldmVudCB0b3VjaCBkZXRlY3Rpb24gZnJvbSBiZWluZyBvdmVycmlkZGVuIGJ5IGV2ZW50IGV4ZWN1dGlvbiBvcmRlclxuXHQgICAgaWYgKHZhbGlkYXRlVG91Y2godmFsdWUpKSB7XG5cdCAgICAgIHNob3VsZFVwZGF0ZSA9IGZhbHNlO1xuXHQgICAgfVxuXG5cdCAgICBpZiAoc2hvdWxkVXBkYXRlICYmIGN1cnJlbnRJbnB1dCAhPT0gdmFsdWUpIHtcblx0ICAgICAgY3VycmVudElucHV0ID0gdmFsdWU7XG5cblx0ICAgICAgcGVyc2lzdElucHV0KCdpbnB1dCcsIGN1cnJlbnRJbnB1dCk7XG5cdCAgICAgIGRvVXBkYXRlKCdpbnB1dCcpO1xuXHQgICAgfVxuXG5cdCAgICBpZiAoc2hvdWxkVXBkYXRlICYmIGN1cnJlbnRJbnRlbnQgIT09IHZhbHVlKSB7XG5cdCAgICAgIC8vIHByZXNlcnZlIGludGVudCBmb3Iga2V5Ym9hcmQgaW50ZXJhY3Rpb24gd2l0aCBmb3JtIGZpZWxkc1xuXHQgICAgICB2YXIgYWN0aXZlRWxlbSA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG5cdCAgICAgIHZhciBub3RGb3JtSW5wdXQgPSBhY3RpdmVFbGVtICYmIGFjdGl2ZUVsZW0ubm9kZU5hbWUgJiYgKGZvcm1JbnB1dHMuaW5kZXhPZihhY3RpdmVFbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpID09PSAtMSB8fCBhY3RpdmVFbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdidXR0b24nICYmICFjaGVja0Nsb3Nlc3QoYWN0aXZlRWxlbSwgJ2Zvcm0nKSk7XG5cblx0ICAgICAgaWYgKG5vdEZvcm1JbnB1dCkge1xuXHQgICAgICAgIGN1cnJlbnRJbnRlbnQgPSB2YWx1ZTtcblxuXHQgICAgICAgIHBlcnNpc3RJbnB1dCgnaW50ZW50JywgY3VycmVudEludGVudCk7XG5cdCAgICAgICAgZG9VcGRhdGUoJ2ludGVudCcpO1xuXHQgICAgICB9XG5cdCAgICB9XG5cdCAgfTtcblxuXHQgIC8vIHVwZGF0ZXMgdGhlIGRvYyBhbmQgYGlucHV0VHlwZXNgIGFycmF5IHdpdGggbmV3IGlucHV0XG5cdCAgdmFyIGRvVXBkYXRlID0gZnVuY3Rpb24gZG9VcGRhdGUod2hpY2gpIHtcblx0ICAgIGRvY0VsZW0uc2V0QXR0cmlidXRlKCdkYXRhLXdoYXQnICsgd2hpY2gsIHdoaWNoID09PSAnaW5wdXQnID8gY3VycmVudElucHV0IDogY3VycmVudEludGVudCk7XG5cblx0ICAgIGZpcmVGdW5jdGlvbnMod2hpY2gpO1xuXHQgIH07XG5cblx0ICAvLyB1cGRhdGVzIGlucHV0IGludGVudCBmb3IgYG1vdXNlbW92ZWAgYW5kIGBwb2ludGVybW92ZWBcblx0ICB2YXIgc2V0SW50ZW50ID0gZnVuY3Rpb24gc2V0SW50ZW50KGV2ZW50KSB7XG5cdCAgICB2YXIgdmFsdWUgPSBpbnB1dE1hcFtldmVudC50eXBlXTtcblxuXHQgICAgaWYgKHZhbHVlID09PSAncG9pbnRlcicpIHtcblx0ICAgICAgdmFsdWUgPSBwb2ludGVyVHlwZShldmVudCk7XG5cdCAgICB9XG5cblx0ICAgIC8vIHRlc3QgdG8gc2VlIGlmIGBtb3VzZW1vdmVgIGhhcHBlbmVkIHJlbGF0aXZlIHRvIHRoZSBzY3JlZW4gdG8gZGV0ZWN0IHNjcm9sbGluZyB2ZXJzdXMgbW91c2Vtb3ZlXG5cdCAgICBkZXRlY3RTY3JvbGxpbmcoZXZlbnQpO1xuXG5cdCAgICAvLyBvbmx5IGV4ZWN1dGUgaWYgc2Nyb2xsaW5nIGlzbid0IGhhcHBlbmluZ1xuXHQgICAgaWYgKCghaXNTY3JvbGxpbmcgJiYgIXZhbGlkYXRlVG91Y2godmFsdWUpIHx8IGlzU2Nyb2xsaW5nICYmIGV2ZW50LnR5cGUgPT09ICd3aGVlbCcgfHwgZXZlbnQudHlwZSA9PT0gJ21vdXNld2hlZWwnIHx8IGV2ZW50LnR5cGUgPT09ICdET01Nb3VzZVNjcm9sbCcpICYmIGN1cnJlbnRJbnRlbnQgIT09IHZhbHVlKSB7XG5cdCAgICAgIGN1cnJlbnRJbnRlbnQgPSB2YWx1ZTtcblxuXHQgICAgICBwZXJzaXN0SW5wdXQoJ2ludGVudCcsIGN1cnJlbnRJbnRlbnQpO1xuXHQgICAgICBkb1VwZGF0ZSgnaW50ZW50Jyk7XG5cdCAgICB9XG5cdCAgfTtcblxuXHQgIHZhciBzZXRFbGVtZW50ID0gZnVuY3Rpb24gc2V0RWxlbWVudChldmVudCkge1xuXHQgICAgaWYgKCFldmVudC50YXJnZXQubm9kZU5hbWUpIHtcblx0ICAgICAgLy8gSWYgbm9kZU5hbWUgaXMgdW5kZWZpbmVkLCBjbGVhciB0aGUgZWxlbWVudFxuXHQgICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgY2xpY2sgaW5zaWRlIGFuIDxzdmc+IGVsZW1lbnQuXG5cdCAgICAgIGNsZWFyRWxlbWVudCgpO1xuXHQgICAgICByZXR1cm47XG5cdCAgICB9XG5cblx0ICAgIGN1cnJlbnRFbGVtZW50ID0gZXZlbnQudGFyZ2V0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG5cdCAgICBkb2NFbGVtLnNldEF0dHJpYnV0ZSgnZGF0YS13aGF0ZWxlbWVudCcsIGN1cnJlbnRFbGVtZW50KTtcblxuXHQgICAgaWYgKGV2ZW50LnRhcmdldC5jbGFzc0xpc3QgJiYgZXZlbnQudGFyZ2V0LmNsYXNzTGlzdC5sZW5ndGgpIHtcblx0ICAgICAgZG9jRWxlbS5zZXRBdHRyaWJ1dGUoJ2RhdGEtd2hhdGNsYXNzZXMnLCBldmVudC50YXJnZXQuY2xhc3NMaXN0LnRvU3RyaW5nKCkucmVwbGFjZSgnICcsICcsJykpO1xuXHQgICAgfVxuXHQgIH07XG5cblx0ICB2YXIgY2xlYXJFbGVtZW50ID0gZnVuY3Rpb24gY2xlYXJFbGVtZW50KCkge1xuXHQgICAgY3VycmVudEVsZW1lbnQgPSBudWxsO1xuXG5cdCAgICBkb2NFbGVtLnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS13aGF0ZWxlbWVudCcpO1xuXHQgICAgZG9jRWxlbS5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtd2hhdGNsYXNzZXMnKTtcblx0ICB9O1xuXG5cdCAgdmFyIHBlcnNpc3RJbnB1dCA9IGZ1bmN0aW9uIHBlcnNpc3RJbnB1dCh3aGljaCwgdmFsdWUpIHtcblx0ICAgIGlmIChzaG91bGRQZXJzaXN0KSB7XG5cdCAgICAgIHRyeSB7XG5cdCAgICAgICAgd2luZG93LnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3doYXQtJyArIHdoaWNoLCB2YWx1ZSk7XG5cdCAgICAgIH0gY2F0Y2ggKGUpIHtcblx0ICAgICAgICAvLyBmYWlsIHNpbGVudGx5XG5cdCAgICAgIH1cblx0ICAgIH1cblx0ICB9O1xuXG5cdCAgLypcblx0ICAgKiB1dGlsaXRpZXNcblx0ICAgKi9cblxuXHQgIHZhciBwb2ludGVyVHlwZSA9IGZ1bmN0aW9uIHBvaW50ZXJUeXBlKGV2ZW50KSB7XG5cdCAgICBpZiAodHlwZW9mIGV2ZW50LnBvaW50ZXJUeXBlID09PSAnbnVtYmVyJykge1xuXHQgICAgICByZXR1cm4gcG9pbnRlck1hcFtldmVudC5wb2ludGVyVHlwZV07XG5cdCAgICB9IGVsc2Uge1xuXHQgICAgICAvLyB0cmVhdCBwZW4gbGlrZSB0b3VjaFxuXHQgICAgICByZXR1cm4gZXZlbnQucG9pbnRlclR5cGUgPT09ICdwZW4nID8gJ3RvdWNoJyA6IGV2ZW50LnBvaW50ZXJUeXBlO1xuXHQgICAgfVxuXHQgIH07XG5cblx0ICAvLyBwcmV2ZW50IHRvdWNoIGRldGVjdGlvbiBmcm9tIGJlaW5nIG92ZXJyaWRkZW4gYnkgZXZlbnQgZXhlY3V0aW9uIG9yZGVyXG5cdCAgdmFyIHZhbGlkYXRlVG91Y2ggPSBmdW5jdGlvbiB2YWxpZGF0ZVRvdWNoKHZhbHVlKSB7XG5cdCAgICB2YXIgdGltZXN0YW1wID0gRGF0ZS5ub3coKTtcblxuXHQgICAgdmFyIHRvdWNoSXNWYWxpZCA9IHZhbHVlID09PSAnbW91c2UnICYmIGN1cnJlbnRJbnB1dCA9PT0gJ3RvdWNoJyAmJiB0aW1lc3RhbXAgLSBjdXJyZW50VGltZXN0YW1wIDwgMjAwO1xuXG5cdCAgICBjdXJyZW50VGltZXN0YW1wID0gdGltZXN0YW1wO1xuXG5cdCAgICByZXR1cm4gdG91Y2hJc1ZhbGlkO1xuXHQgIH07XG5cblx0ICAvLyBkZXRlY3QgdmVyc2lvbiBvZiBtb3VzZSB3aGVlbCBldmVudCB0byB1c2Vcblx0ICAvLyB2aWEgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0VsZW1lbnQvd2hlZWxfZXZlbnRcblx0ICB2YXIgZGV0ZWN0V2hlZWwgPSBmdW5jdGlvbiBkZXRlY3RXaGVlbCgpIHtcblx0ICAgIHZhciB3aGVlbFR5cGUgPSBudWxsO1xuXG5cdCAgICAvLyBNb2Rlcm4gYnJvd3NlcnMgc3VwcG9ydCBcIndoZWVsXCJcblx0ICAgIGlmICgnb253aGVlbCcgaW4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JykpIHtcblx0ICAgICAgd2hlZWxUeXBlID0gJ3doZWVsJztcblx0ICAgIH0gZWxzZSB7XG5cdCAgICAgIC8vIFdlYmtpdCBhbmQgSUUgc3VwcG9ydCBhdCBsZWFzdCBcIm1vdXNld2hlZWxcIlxuXHQgICAgICAvLyBvciBhc3N1bWUgdGhhdCByZW1haW5pbmcgYnJvd3NlcnMgYXJlIG9sZGVyIEZpcmVmb3hcblx0ICAgICAgd2hlZWxUeXBlID0gZG9jdW1lbnQub25tb3VzZXdoZWVsICE9PSB1bmRlZmluZWQgPyAnbW91c2V3aGVlbCcgOiAnRE9NTW91c2VTY3JvbGwnO1xuXHQgICAgfVxuXG5cdCAgICByZXR1cm4gd2hlZWxUeXBlO1xuXHQgIH07XG5cblx0ICAvLyBydW5zIGNhbGxiYWNrIGZ1bmN0aW9uc1xuXHQgIHZhciBmaXJlRnVuY3Rpb25zID0gZnVuY3Rpb24gZmlyZUZ1bmN0aW9ucyh0eXBlKSB7XG5cdCAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gZnVuY3Rpb25MaXN0Lmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG5cdCAgICAgIGlmIChmdW5jdGlvbkxpc3RbaV0udHlwZSA9PT0gdHlwZSkge1xuXHQgICAgICAgIGZ1bmN0aW9uTGlzdFtpXS5mbi5jYWxsKHVuZGVmaW5lZCwgdHlwZSA9PT0gJ2lucHV0JyA/IGN1cnJlbnRJbnB1dCA6IGN1cnJlbnRJbnRlbnQpO1xuXHQgICAgICB9XG5cdCAgICB9XG5cdCAgfTtcblxuXHQgIC8vIGZpbmRzIG1hdGNoaW5nIGVsZW1lbnQgaW4gYW4gb2JqZWN0XG5cdCAgdmFyIG9ialBvcyA9IGZ1bmN0aW9uIG9ialBvcyhtYXRjaCkge1xuXHQgICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGZ1bmN0aW9uTGlzdC5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuXHQgICAgICBpZiAoZnVuY3Rpb25MaXN0W2ldLmZuID09PSBtYXRjaCkge1xuXHQgICAgICAgIHJldHVybiBpO1xuXHQgICAgICB9XG5cdCAgICB9XG5cdCAgfTtcblxuXHQgIHZhciBkZXRlY3RTY3JvbGxpbmcgPSBmdW5jdGlvbiBkZXRlY3RTY3JvbGxpbmcoZXZlbnQpIHtcblx0ICAgIGlmIChtb3VzZVBvcy54ICE9PSBldmVudC5zY3JlZW5YIHx8IG1vdXNlUG9zLnkgIT09IGV2ZW50LnNjcmVlblkpIHtcblx0ICAgICAgaXNTY3JvbGxpbmcgPSBmYWxzZTtcblxuXHQgICAgICBtb3VzZVBvcy54ID0gZXZlbnQuc2NyZWVuWDtcblx0ICAgICAgbW91c2VQb3MueSA9IGV2ZW50LnNjcmVlblk7XG5cdCAgICB9IGVsc2Uge1xuXHQgICAgICBpc1Njcm9sbGluZyA9IHRydWU7XG5cdCAgICB9XG5cdCAgfTtcblxuXHQgIC8vIG1hbnVhbCB2ZXJzaW9uIG9mIGBjbG9zZXN0KClgXG5cdCAgdmFyIGNoZWNrQ2xvc2VzdCA9IGZ1bmN0aW9uIGNoZWNrQ2xvc2VzdChlbGVtLCB0YWcpIHtcblx0ICAgIHZhciBFbGVtZW50UHJvdG90eXBlID0gd2luZG93LkVsZW1lbnQucHJvdG90eXBlO1xuXG5cdCAgICBpZiAoIUVsZW1lbnRQcm90b3R5cGUubWF0Y2hlcykge1xuXHQgICAgICBFbGVtZW50UHJvdG90eXBlLm1hdGNoZXMgPSBFbGVtZW50UHJvdG90eXBlLm1zTWF0Y2hlc1NlbGVjdG9yIHx8IEVsZW1lbnRQcm90b3R5cGUud2Via2l0TWF0Y2hlc1NlbGVjdG9yO1xuXHQgICAgfVxuXG5cdCAgICBpZiAoIUVsZW1lbnRQcm90b3R5cGUuY2xvc2VzdCkge1xuXHQgICAgICBkbyB7XG5cdCAgICAgICAgaWYgKGVsZW0ubWF0Y2hlcyh0YWcpKSB7XG5cdCAgICAgICAgICByZXR1cm4gZWxlbTtcblx0ICAgICAgICB9XG5cblx0ICAgICAgICBlbGVtID0gZWxlbS5wYXJlbnRFbGVtZW50IHx8IGVsZW0ucGFyZW50Tm9kZTtcblx0ICAgICAgfSB3aGlsZSAoZWxlbSAhPT0gbnVsbCAmJiBlbGVtLm5vZGVUeXBlID09PSAxKTtcblxuXHQgICAgICByZXR1cm4gbnVsbDtcblx0ICAgIH0gZWxzZSB7XG5cdCAgICAgIHJldHVybiBlbGVtLmNsb3Nlc3QodGFnKTtcblx0ICAgIH1cblx0ICB9O1xuXG5cdCAgLypcblx0ICAgKiBpbml0XG5cdCAgICovXG5cblx0ICAvLyBkb24ndCBzdGFydCBzY3JpcHQgdW5sZXNzIGJyb3dzZXIgY3V0cyB0aGUgbXVzdGFyZFxuXHQgIC8vIChhbHNvIHBhc3NlcyBpZiBwb2x5ZmlsbHMgYXJlIHVzZWQpXG5cdCAgaWYgKCdhZGRFdmVudExpc3RlbmVyJyBpbiB3aW5kb3cgJiYgQXJyYXkucHJvdG90eXBlLmluZGV4T2YpIHtcblx0ICAgIHNldFVwKCk7XG5cdCAgfVxuXG5cdCAgLypcblx0ICAgKiBhcGlcblx0ICAgKi9cblxuXHQgIHJldHVybiB7XG5cdCAgICAvLyByZXR1cm5zIHN0cmluZzogdGhlIGN1cnJlbnQgaW5wdXQgdHlwZVxuXHQgICAgLy8gb3B0OiAnaW50ZW50J3wnaW5wdXQnXG5cdCAgICAvLyAnaW5wdXQnIChkZWZhdWx0KTogcmV0dXJucyB0aGUgc2FtZSB2YWx1ZSBhcyB0aGUgYGRhdGEtd2hhdGlucHV0YCBhdHRyaWJ1dGVcblx0ICAgIC8vICdpbnRlbnQnOiBpbmNsdWRlcyBgZGF0YS13aGF0aW50ZW50YCB2YWx1ZSBpZiBpdCdzIGRpZmZlcmVudCB0aGFuIGBkYXRhLXdoYXRpbnB1dGBcblx0ICAgIGFzazogZnVuY3Rpb24gYXNrKG9wdCkge1xuXHQgICAgICByZXR1cm4gb3B0ID09PSAnaW50ZW50JyA/IGN1cnJlbnRJbnRlbnQgOiBjdXJyZW50SW5wdXQ7XG5cdCAgICB9LFxuXG5cdCAgICAvLyByZXR1cm5zIHN0cmluZzogdGhlIGN1cnJlbnRseSBmb2N1c2VkIGVsZW1lbnQgb3IgbnVsbFxuXHQgICAgZWxlbWVudDogZnVuY3Rpb24gZWxlbWVudCgpIHtcblx0ICAgICAgcmV0dXJuIGN1cnJlbnRFbGVtZW50O1xuXHQgICAgfSxcblxuXHQgICAgLy8gb3ZlcndyaXRlcyBpZ25vcmVkIGtleXMgd2l0aCBwcm92aWRlZCBhcnJheVxuXHQgICAgaWdub3JlS2V5czogZnVuY3Rpb24gaWdub3JlS2V5cyhhcnIpIHtcblx0ICAgICAgaWdub3JlTWFwID0gYXJyO1xuXHQgICAgfSxcblxuXHQgICAgLy8gb3ZlcndyaXRlcyBzcGVjaWZpYyBjaGFyIGtleXMgdG8gdXBkYXRlIG9uXG5cdCAgICBzcGVjaWZpY0tleXM6IGZ1bmN0aW9uIHNwZWNpZmljS2V5cyhhcnIpIHtcblx0ICAgICAgc3BlY2lmaWNNYXAgPSBhcnI7XG5cdCAgICB9LFxuXG5cdCAgICAvLyBhdHRhY2ggZnVuY3Rpb25zIHRvIGlucHV0IGFuZCBpbnRlbnQgXCJldmVudHNcIlxuXHQgICAgLy8gZnVuY3Q6IGZ1bmN0aW9uIHRvIGZpcmUgb24gY2hhbmdlXG5cdCAgICAvLyBldmVudFR5cGU6ICdpbnB1dCd8J2ludGVudCdcblx0ICAgIHJlZ2lzdGVyT25DaGFuZ2U6IGZ1bmN0aW9uIHJlZ2lzdGVyT25DaGFuZ2UoZm4sIGV2ZW50VHlwZSkge1xuXHQgICAgICBmdW5jdGlvbkxpc3QucHVzaCh7XG5cdCAgICAgICAgZm46IGZuLFxuXHQgICAgICAgIHR5cGU6IGV2ZW50VHlwZSB8fCAnaW5wdXQnXG5cdCAgICAgIH0pO1xuXHQgICAgfSxcblxuXHQgICAgdW5SZWdpc3Rlck9uQ2hhbmdlOiBmdW5jdGlvbiB1blJlZ2lzdGVyT25DaGFuZ2UoZm4pIHtcblx0ICAgICAgdmFyIHBvc2l0aW9uID0gb2JqUG9zKGZuKTtcblxuXHQgICAgICBpZiAocG9zaXRpb24gfHwgcG9zaXRpb24gPT09IDApIHtcblx0ICAgICAgICBmdW5jdGlvbkxpc3Quc3BsaWNlKHBvc2l0aW9uLCAxKTtcblx0ICAgICAgfVxuXHQgICAgfSxcblxuXHQgICAgY2xlYXJTdG9yYWdlOiBmdW5jdGlvbiBjbGVhclN0b3JhZ2UoKSB7XG5cdCAgICAgIHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5jbGVhcigpO1xuXHQgICAgfVxuXHQgIH07XG5cdH0oKTtcblxuLyoqKi8gfSlcbi8qKioqKiovIF0pXG59KTtcbjsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///88\n\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__})();
|